同人・ゲーム

【懐古】そば食いゲームを作りたい【趣味】その6

ぜんかいまでのあらすじ

そばを食べるゲームを作っている。

  • その1: 企画発足。仕様を考えた
  • その2: 矩形だけで動くWebプロトタイプを作成
  • その3: 画像を実装してゲームらしくなった
  • その4: キャラ設定を考えた
  • その5: スマホ対応を実装

そば食いゲーム プロトタイプ03

今回の内容

プロトタイプを遊んでみて、ゲームシステムを大幅に見直すことにした。

現状の「そば5杯食べればクリア」だと単調すぎるので、もっと戦略性のあるシステムに変更する。


新ゲームシステム

2ゲージ制

ゲージを2つに分ける。

ゲージ増加条件説明
満腹ゲージすべての食べ物何を食べても増える。MAXになるとゲーム終了
そば満足ゲージそばのみそばを食べたときだけ増える。クリア判定に使用

終了条件

条件結果
時間切れ + そば満足MAX未達失敗
時間内にそば満足MAXクリア(即終了)
満腹MAXゲーム終了(その時点のそば満足度でクリア判定)

つまり、満腹になる前に、または時間内に、そば満足ゲージをMAXにすればクリア。

戦略性

  • そば以外を食べると満腹だけ増えて不利
  • そばが出るまで待つか、リスクを取って食べるかの判断
  • 大盛・特盛は効率が良いが食べる時間が長い(敵に邪魔されやすい)

座席システム(新規)

現状はカウンターで食べているけど、普通そば屋ってテーブルで食べるよね?

ということで、座席システムを導入する。

基本ルール

  1. カウンターで食べ物を受け取る
  2. 指定されたテーブル(座席)まで運ぶ
  3. テーブルで食べる

ステージごとの座席ルール

ステージ座席ルール難易度
序盤(1-3)どのテーブルでも食べられる
中盤(4-7)複数のテーブルから1つが指定される
終盤(8-10)1つのテーブルのみ指定される

後半になるほど「このテーブルで食べて!」と指定されるので、移動経路が限定されて難しくなる。

運搬中の挙動

  • 食べ物を持っている間も通常速度で移動
  • 敵に当たると食べ物を落とす
  • 落とした食べ物は店主が回収(悲しい顔で回収に来る)
  • 食べ物を落としたら、次の食べ物が出るまで待つ

せっかく取った食べ物を落とすのは痛い。敵を避けるルート取りが重要になる。


ステージ制

全10ステージ、アンロック制にする。

基本情報

  • 全10ステージ
  • アンロック制: ステージ1クリア → ステージ2解放…
  • クリア後: 好きなステージを選択可能
  • セーブ: localStorageで進行状況を保存

ステージごとの変化要素

敵の変化:

  • 出現頻度が上がる
  • 移動速度が速くなる
  • 最大同時出現数が増える

食べ物の変化:

  • そば以外の出現確率が上がる
  • 消失時間が短くなる(早く引っ込む)

座席の変化:

  • 食べられるテーブルが限定されていく

ゲージの変化:

  • 満腹ゲージのMAX値(ステージごと調整)
  • そば満足ゲージのMAX値(ステージごと調整)

ステージパラメータ例(仮)

Stage時間敵速度敵数そば率消失座席満腹MAXそば満足MAX
160秒1.0-2.0470%3s全部155
260秒1.0-2.0465%3s全部156
355秒1.2-2.2460%3s全部146
455秒1.2-2.3555%2.5s2択147
555秒1.3-2.4550%2.5s2択137
650秒1.3-2.5550%2.5s2択138
750秒1.4-2.6645%2s2択128
850秒1.5-2.7645%2s1択129
945秒1.5-2.8640%2s1択119
1045秒1.6-3.0735%1.5s1択1010

数値は実際に遊んでみて調整する予定。


UI変更点

新規追加UI

  1. 満腹ゲージ: お腹の形のインジケーター。徐々に膨らんでいく演出
  2. そば満足ゲージ: クリアに必要な目標値を表示
  3. NEXT表示: 次に出てくる食べ物の予告(テトリス・ぷよぷよ風)
  4. 時計演出: 制限時間を「13時まで」のような時計で表示(12:00スタート → 13:00でタイムアップ)
  5. 座席指定表示: 指定されたテーブルをハイライト
  6. ステージ選択画面: アンロック状況を表示

食べ物のパラメータ

ID名前そば判定食べる時間満腹増加そば満足増加
soba_namiそば並1000ms11
soba_omoriそば大盛2000ms22
soba_tokumoriそば特盛3000ms33
udonうどん×2000ms20
ramenラーメン×2500ms30
napolitanナポリタン×2500ms30

プレイヤーの状態

状態説明
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ステージ分動くようにしたい。