同人・ゲーム
【懐古】そば食いゲームを作りたい【趣味】その6
ぜんかいまでのあらすじ
そばを食べるゲームを作っている。
今回の内容
プロトタイプを遊んでみて、ゲームシステムを大幅に見直すことにした。
現状の「そば5杯食べればクリア」だと単調すぎるので、もっと戦略性のあるシステムに変更する。
新ゲームシステム
2ゲージ制
ゲージを2つに分ける。
| ゲージ | 増加条件 | 説明 |
|---|---|---|
| 満腹ゲージ | すべての食べ物 | 何を食べても増える。MAXになるとゲーム終了 |
| そば満足ゲージ | そばのみ | そばを食べたときだけ増える。クリア判定に使用 |
終了条件
| 条件 | 結果 |
|---|---|
| 時間切れ + そば満足MAX未達 | 失敗 |
| 時間内にそば満足MAX | クリア(即終了) |
| 満腹MAX | ゲーム終了(その時点のそば満足度でクリア判定) |
つまり、満腹になる前に、または時間内に、そば満足ゲージをMAXにすればクリア。
戦略性
- そば以外を食べると満腹だけ増えて不利
- そばが出るまで待つか、リスクを取って食べるかの判断
- 大盛・特盛は効率が良いが食べる時間が長い(敵に邪魔されやすい)
座席システム(新規)
現状はカウンターで食べているけど、普通そば屋ってテーブルで食べるよね?
ということで、座席システムを導入する。
基本ルール
- カウンターで食べ物を受け取る
- 指定されたテーブル(座席)まで運ぶ
- テーブルで食べる
ステージごとの座席ルール
| ステージ | 座席ルール | 難易度 |
|---|---|---|
| 序盤(1-3) | どのテーブルでも食べられる | 易 |
| 中盤(4-7) | 複数のテーブルから1つが指定される | 中 |
| 終盤(8-10) | 1つのテーブルのみ指定される | 難 |
後半になるほど「このテーブルで食べて!」と指定されるので、移動経路が限定されて難しくなる。
運搬中の挙動
- 食べ物を持っている間も通常速度で移動
- 敵に当たると食べ物を落とす
- 落とした食べ物は店主が回収(悲しい顔で回収に来る)
- 食べ物を落としたら、次の食べ物が出るまで待つ
せっかく取った食べ物を落とすのは痛い。敵を避けるルート取りが重要になる。
ステージ制
全10ステージ、アンロック制にする。
基本情報
- 全10ステージ
- アンロック制: ステージ1クリア → ステージ2解放…
- クリア後: 好きなステージを選択可能
- セーブ: localStorageで進行状況を保存
ステージごとの変化要素
敵の変化:
- 出現頻度が上がる
- 移動速度が速くなる
- 最大同時出現数が増える
食べ物の変化:
- そば以外の出現確率が上がる
- 消失時間が短くなる(早く引っ込む)
座席の変化:
- 食べられるテーブルが限定されていく
ゲージの変化:
- 満腹ゲージのMAX値(ステージごと調整)
- そば満足ゲージのMAX値(ステージごと調整)
ステージパラメータ例(仮)
| Stage | 時間 | 敵速度 | 敵数 | そば率 | 消失 | 座席 | 満腹MAX | そば満足MAX |
|---|---|---|---|---|---|---|---|---|
| 1 | 60秒 | 1.0-2.0 | 4 | 70% | 3s | 全部 | 15 | 5 |
| 2 | 60秒 | 1.0-2.0 | 4 | 65% | 3s | 全部 | 15 | 6 |
| 3 | 55秒 | 1.2-2.2 | 4 | 60% | 3s | 全部 | 14 | 6 |
| 4 | 55秒 | 1.2-2.3 | 5 | 55% | 2.5s | 2択 | 14 | 7 |
| 5 | 55秒 | 1.3-2.4 | 5 | 50% | 2.5s | 2択 | 13 | 7 |
| 6 | 50秒 | 1.3-2.5 | 5 | 50% | 2.5s | 2択 | 13 | 8 |
| 7 | 50秒 | 1.4-2.6 | 6 | 45% | 2s | 2択 | 12 | 8 |
| 8 | 50秒 | 1.5-2.7 | 6 | 45% | 2s | 1択 | 12 | 9 |
| 9 | 45秒 | 1.5-2.8 | 6 | 40% | 2s | 1択 | 11 | 9 |
| 10 | 45秒 | 1.6-3.0 | 7 | 35% | 1.5s | 1択 | 10 | 10 |
数値は実際に遊んでみて調整する予定。
UI変更点
新規追加UI
- 満腹ゲージ: お腹の形のインジケーター。徐々に膨らんでいく演出
- そば満足ゲージ: クリアに必要な目標値を表示
- NEXT表示: 次に出てくる食べ物の予告(テトリス・ぷよぷよ風)
- 時計演出: 制限時間を「13時まで」のような時計で表示(12:00スタート → 13:00でタイムアップ)
- 座席指定表示: 指定されたテーブルをハイライト
- ステージ選択画面: アンロック状況を表示
食べ物のパラメータ
| ID | 名前 | そば判定 | 食べる時間 | 満腹増加 | そば満足増加 |
|---|---|---|---|---|---|
| soba_nami | そば並 | ○ | 1000ms | 1 | 1 |
| soba_omori | そば大盛 | ○ | 2000ms | 2 | 2 |
| soba_tokumori | そば特盛 | ○ | 3000ms | 3 | 3 |
| udon | うどん | × | 2000ms | 2 | 0 |
| ramen | ラーメン | × | 2500ms | 3 | 0 |
| napolitan | ナポリタン | × | 2500ms | 3 | 0 |
プレイヤーの状態
| 状態 | 説明 |
|---|---|
| normal | 通常(手ぶら) |
| carrying | 食べ物を運んでいる(新規) |
| eating | 食べ中 |
| stunned | 気絶(敵衝突) |
| success | 食べ完了 |
| throwing | 投げ捨て中 |
店主の状態
| 状態 | 説明 |
|---|---|
| idle | 待機 |
| moving | 移動中 |
| serving | 提供中 |
| collecting | 落とした食べ物を回収中(新規) |
追加で必要な画像
プレイヤー運搬中(6枚):
- player_carrying_front_stand.png
- player_carrying_front_walk1.png
- player_carrying_front_walk2.png
- player_carrying_back_stand.png
- player_carrying_back_walk1.png
- player_carrying_back_walk2.png
実装予定機能まとめ
必須(新ゲームシステム)
- 満腹ゲージの実装
- そば満足ゲージの実装
- ゲーム終了条件の変更
- お腹インジケーターUI
- NEXT表示UI
- 時計演出UI
必須(座席システム)
- 食べ物の運搬機能
- 指定テーブルの表示
- 運搬中の敵衝突 → 食べ物落下
- 店主の食べ物回収動作
- プレイヤーの運搬画像
必須(ステージ制)
- ステージ選択画面
- アンロック機能
- ステージごとのパラメータ変化
- ステージクリア演出
- localStorageセーブ/ロード
後で検討
- サウンド・BGM
- ハイスコア機能
次回
この仕様をもとに実装を進める予定。
まずは座席システムとゲージシステムを入れて、1ステージ分動くようにしたい。