Appearance
AIドパガキ ゲーム仕様書
- 対象 issue: #15(土曜デモ本命)
- ステータス: v1(実装着手用。プレイフィール調整は随時本書に反映)
- 前企画 Donack Adventure の仕様は
game-design.md(凍結・第2弾用)
1. コンセプト
| 項目 | 内容 |
|---|---|
| タイトル | AIドパガキ |
| ジャンル | コール&レスポンス型リズムゲーム(リズム天国方式) |
| 画面 | 固定1画面(スクロールなし) |
| ターゲット | ファミコン実機(mapper 2 / PRG 128KB / CHR-RAM)・Mesen2 |
| デモ期限 | 2026-08-01(土) |
2. ストーリー
女子高生の主人公 AI(アイ)がいつものように SNS を見続けてると不思議な広告を発見。 タップすると突然スマホが光り出して 8Bit の世界に吸い込まれてしまった! 元の世界に戻るにはダンスをして視聴率を上げて、現実世界の SNS でバズらなければいけない。 いつもは見るだけで満足してたドパガキのアイは、見様見真似でダンスをしてこの電子世界から脱出しなければ!
- タイトル画面 → ストーリー画面(テキスト1〜3枚・Startでスキップ可)→ プレイ
- 表記は「SNS」で統一(実在サービス名は使わない。2026-07-28 ユーザー決定)
3. 画面レイアウト(プレイ中)
┌──────────────────────────────┐
│ 視聴率: 001234 ♥観客: 08 │ ← 上部UI(BGタイル)
│ │
│ [お手本ガール] [アイ] │ ← ステージ(中央)16x32スプライト×2
│ ステージ床・スポットライト │
│ 🧍🧍🧍🧍🧍🧍🧍🧍 │ ← 観客列(BGタイル、0〜16人)
└──────────────────────────────┘- お手本ガールはアイのスプライトをパレット差し替え+水平フリップで共用(CHR節約)
- 判定結果(PERFECT/GOOD/MISS)はアイの頭上にスプライト文字で表示
4. コアループ(コール&レスポンス)
1 フレーズ = 8 拍(コール 4 拍 + レスポンス 4 拍)
- コール 4 拍: お手本ガールが振りを実演(最大 4 アクション、拍に同期)。画面上部に振りアイコンも順次表示
- レスポンス 4 拍: プレイヤーが同じタイミング・同じ順で再現。アイが入力に応じて踊る
- コール中の入力は無効(アイは待機モーション)
振り(6種)
| 入力 | 振り | モーション |
|---|---|---|
| ← / → | サイドステップ | 左右ポーズ |
| ↑ | ハンズアップ | 両手上げ |
| ↓ | しゃがみ | しゃがみポーズ |
| A | ジャンプ | ジャンプ |
| B | スピン | クルッと一回転(2フレームアニメ) |
5. 判定仕様
- 目標拍に対して: ±4フレーム = PERFECT(+100点) / ±8フレーム = GOOD(+50点) / それ以外・誤入力・無入力 = MISS
- 判定窓を広めに取るのは現代テレビの表示遅延対策(コール&レスポンス方式自体も遅延耐性がある)
- フレーズ集計 → 観客増減:
- 全アクション PERFECT: 観客 +2(「フィーバー」歓声)
- MISS 0〜1(PERFECT/GOOD混在): 観客 +1
- MISS 2 以上: 観客 −2
- 観客: 初期 8 人・上限 16 人・0 人でゲームオーバー
- 視聴率 = スコア累積表示(6桁)。クリア時に観客数×1000のボーナス
6. 楽曲・譜面
- 自作最小シーケンサを実装(famitone2 は使わない):
- テンポ 112.5 BPM = 32 フレーム/拍・8 フレーム/16分(整数フレームで割り切れる値を選定)
- チャンネル: パルス2(メロディ+ベース)、三角波(キック代用/ベース)、ノイズ(ハイハット/スネア)
- 音楽の行カウンタを判定システムと共有 → 音と譜面が構造的にズレない
- デモ楽曲: 1 曲 90 秒前後(8 フレーズ × 2 ループ、2 ループ目は振り数増で難化)
- 効果音: 判定音(PERFECT/GOOD/MISS)、歓声、決定音。SE はノイズ/パルス1を一時借用
7. ゲームフロー
タイトル → ストーリー → プレイ → [完走] リザルト(バズ演出) → タイトル
└─ [観客0] ゲームオーバー → タイトル- リザルト: 視聴率(スコア)・最大コンボ・観客数 →「バズった!」演出(画面に♥とフォロワー数がカウントアップ)
8. 必要アセット一覧
| アセット | サイズ | 内容 | issue |
|---|---|---|---|
| アイ(主人公) | 16×32 メタスプライト | idle / ←ステップ / →ステップ / ↑ハンズアップ / ↓しゃがみ / ジャンプ / スピン×2 / ミス の9パターン | 起票要 |
| お手本ガール | (アイと共用) | パレット差し替え(制服色違い)+フリップ | 同上 |
| ステージ背景 | BGタイル | ステージ床・スポットライト・電脳空間の背景(グリッド/ノイズ演出) | 起票要 |
| 観客 | 8×16 BGタイル×2種 | シルエット2種を並べて群衆表現。Donack(#9)を1体カメオ配置 | 同上 |
| UI | 8×8 | 数字フォント(#2と共用)・振りアイコン6種・♥ | 同上 |
| 判定文字 | スプライト | PERFECT / GOOD / MISS | 同上 |
9. 技術メモ
- 固定画面のためスクロールレジスタは固定。ミラーリングは現状の垂直のままで問題なし
- スプライト同時使用: アイ8枚+お手本8枚+判定文字最大7枚+アイコン≒28枚 → 横並び制限(8枚/ライン)に注意し、判定文字はアイ頭上のみ・アイコンはBG化を検討
- RAM:
cfg/nes.cfgの BSS を $0300 起点に修正(PR #13 レビュー申し送り事項) - 乱数不要・セーブ不要
10. MVP 完了条件(土曜)
- [ ] 通しループ(タイトル→プレイ→リザルト/ゲームオーバー→タイトル)
- [ ] 6振り判定・観客増減・視聴率表示
- [ ] 楽曲1曲フル + 譜面同期
- [ ] 実機動作(魔界島カート)
時間が余ったら: ストーリー画面の絵、キャリブレーション、2ループ目の難化パターン追加、Donackカメオ