飲食店のお皿洗いを、ドラッグ&ドロップのパズルとして再構成した Unity ゲームプロジェクト。
ARAIBA は、食器を食洗機へ効率よく並べる感覚を、グリッド型パズルに落とし込んだ作品です。
プレイヤーはさまざまな形の食器ピースをトレイに配置し、確定後に洗浄を進めます。
単なるブロック配置ではなく、以下の要素で「皿洗いらしさ」をゲーム化しています。
- 食器ごとに異なる形状ピース
- スロットごとに時間経過で補充される在庫
- トレイの占有率を使った提出フロー
- 食洗機の作動アニメーションと SE
- ピースをドラッグしてトレイグリッドへ配置
- 失敗時は元の位置へ戻る直感的な操作
- 半透明ゴーストで配置先をプレビュー
- トレイ確定時に占有率を集計し、盤面をリセット
- ピースはスロット単位でスタック管理
- 各形状に補充間隔を持たせ、時間経過で 1 枚ずつ補充
- 一番上のピースだけを操作可能にすることで、在庫感を演出
- クリック、配置、キャンセルの SE を分離
- 食洗機の起動音、稼働音、完了音を個別制御
AudioManagerによるキー管理型の音声再生
Unity Input Systemベース- マウスとタッチ入力の両方に対応
RawImage+RenderTextureを経由した入力座標変換
- スロットから一番上の食器ピースをつかむ
- グリッド上へドラッグして配置する
- 必要なだけ並べたら UI の確定ボタンを押す
- 食洗機を操作して洗浄演出を再生する
- 新しい在庫で次のトレイを作る
| Category | Details |
|---|---|
| Engine | Unity 6000.3.8f1 |
| Rendering | Universal Render Pipeline 17.3.0 |
| Input | com.unity.inputsystem |
| Async | Cysharp/UniTask |
| UI | UGUI |
| Tween / Utility | DOTween |
Assets/
└─ Projects/
├─ Data/ # パズル形状の ScriptableObject
├─ Fonts/ # UI/演出用フォント
├─ Prefab/ # PuzzlePiece などのプレハブ
├─ Resource/AudioClip/ # SE / 洗浄音
├─ Scenes/ # シーン
├─ Scripts/
│ ├─ Audio/ # AudioManager
│ ├─ BackGround/ # 食洗機の背景演出
│ ├─ Control/ # 入力制御
│ ├─ InteractiveObjects/ # DishWasher, PuzzleZone
│ ├─ Puzzle/ # グリッド、ピース、生成器
│ └─ UI/ # 確定ボタンなどの UI
└─ Sprites/ # 食器・フレーム・背景素材
| Script | Role |
|---|---|
PuzzleGrid |
グリッド占有状態の管理、配置判定、ライン消去、占有率計算 |
PuzzlePiece |
ドラッグ操作、ゴースト表示、スナップ配置 |
PuzzlePieceGenerator |
スロット生成、スタック管理、時間補充、提出後の再生成 |
PuzzleGridView |
グリッドの見た目生成と座標変換 |
InputManager |
タッチ / マウス入力を IInputHandler に中継 |
DishWasher |
洗浄タイマー、音声再生、演出開始・終了 |
AudioManager |
AudioClip の登録、再生、停止を一元管理 |
現在、以下の形状データが Assets/Projects/Data に含まれています。
1x11x52x23x34x45x5withHole
- Unity Hub
- Unity Editor
6000.3.8f1
- このリポジトリをクローン
- Unity Hub でプロジェクトを開く
- Unity Editor は
6000.3.8f1を使用 - 必要に応じて
Assets/Projects/Scenes/Test.unityを開く
- パッケージには
UniTask、URP、Input System が含まれています - 音声制御の詳細は
Assets/Projects/Scripts/Audio/doc.mdに記載されています ProjectSettings/EditorBuildSettings.assetではAssets/Scenes/SampleScene.unityが参照されているため、実行時はシーン設定の確認が必要です
ARAIBA は、単に食器を洗うのではなく、
「限られたスペースにどう積むか」という現場の判断を遊びに変換することを狙ったプロジェクトです。
パズルとしての気持ちよさと、作業ゲームとしての手触りの両立を目指しています。