仕様書
1. 概要
本プロジェクトは、展示用のシステムです。
ユーザは描画や操作を通じてゲームに参加し、ペンプロッタが結果を描画します。
- 展示環境向けのローカル操作
- ユーザ操作とハード制御を連動
2. 機器構成
- サーバ: Raspberry Pi(UI 表示・バックエンド制御)
- プロッタ制御: Arduino Uno + Grbl
- ロール紙送り制御: Arduino
- 入力: Web カメラ(ユーザの描画を撮影)
3. ハード設計
- ロールペーパーを自動送りし、紙をスライド
- Grbl 対応ペンプロッタで文字やイラストを描画
- Web カメラによる撮影でゲーム履歴を取得
4. 実行環境
- 展示時はローカルホストでサーバを起動
- Raspberry Pi にディスプレイ、マウス、カメラを接続
5. 技術スタック
5.1 フロントエンド
- React(UI 構築・ボタン表示)
- Vite(ビルドツール)
5.2 バックエンド
- Node.js + Express(API サーバ)
6. UI 構成
6.1 初期画面
初期画面
├── ゲームスタート
│ ├── 先手
│ └── 後手
└── 過去の履歴
└── サムネイル表示(選択するとそのゲームの履歴を確認可能)
6.2 ゲーム画面
- 中央: キャラクター
- 下部: 操作用ボタン(描画・送信等)
- 上部: 過去のしりとり履歴
- 写真+キャプションで単語表示
- 直前の単語はネタバレ防止のため
??
表示(フロントエンド制御)
7. 操作フロー(簡易)
- ユーザが先手/後手を選択
- ゲーム開始
- 描画
- 「送信」ボタン押下 → 撮影 & 履歴更新
- AIの描画 → プロッタで描画
- 履歴表示・次ターン開始
- 直前単語は
??
表示、ゲーム終了まで繰り返し
8. 補足
- UIは直感的操作を重視
- ハードウェア制御とフロントUIの同期が重要