竹林ソフト 2024/05/13 20:00

ねこ巫女籠城ゲーム開発(どういうゲームにするかの検討)

開発が少し進んだので、最終的にどういうゲームにしたいかを書いて確認します。

やりたいこと

ゲームプレイの「築城」「防衛」については実装していて、どういうプレイにするかはイメージできてきました。ただ、防衛が始まるきっかけとか、敵はどう配置されるのかとか、プレイヤーはどうプレイしてどういう体験をするのか、などを決めていません。今回は、これら決めていきます。

ゲーム開始前

ゲームのモードである「チュートリアル」「フリープレイ」「サンドボックス」を選択し、各種パラメータを変更し、ランダム生成されたフィールドを選んでからゲーム開始します。

設定できるパラメータ
- フィールドの広さ: 256x256, 512x512, 1024x1024, 2048x2048
- 地形タイプ: 山, 川, 平地
- 敵の増え方: ゆっくり <-> はやい(5段階)
- 資源の入手量: 多い <-> 少ない(5段階)

序盤

ゲーム開始後は

  • 拠点の位置を指定してもらう。
  • ヘルプパネルの表示

の後に、自由にプレイできるようになります。
序盤にできることは

  • 城郭の縄張りの建築指示
  • 拠点で資源を補給して、移動してビルダーユニットに建築させる
  • 夜ごとに攻めてくる少数の敵に対処する。

を想定しています。
序盤に限りませんが、建築資源がなくなった際にできることは

  • 敵の出現位置を探してまわる。
  • 拠点で修行したということにして経験値を得る。
  • 拠点の資材置き場を整理したということにして追加の資源を得る。
    • フィールドにランダムに資源が落ちてて入手できてもいいかも。

を考えています。

中盤

電力網(霊力網)

Factorio の電力網に相当する仕組みを検討していて、大型電柱に相当する地蔵、変電所に相当する祠のようなものを考えてます。タレットや物見櫓や狼煙台といった稼働する建物には拠点との電力接続が必要なようにします。

電力網があることでタレット数の上限を規定できるほか、「電力網が断たれたので出城が機能しなくなった」的な演出ができればと思っています。

また、電力網での給電は、電力網の上を何かが移動していくような感じにして即座の給電にはならないようにしたいです。

索敵

基本的にフィールドはフォグに覆われていて、操作キャラや物見櫓の周囲だけリアルタイムに描画が更新されるようにします。

また、狼煙台というものを用意します。これは周囲のリアルタイム描画をしない代わりに、敵と活性化した巣を数秒おきに検出してフィールドにマーカー表示するレーダーのような動作をさせようと思います。

フィールドにマーカー表示せずに狼煙を上げるだけの動作をしてもいいのですが、さすがに狼煙だけだと意味がわからなそうです。

敵について

夜ごとに複数ある敵の巣(出現位置)からの少数の敵を撃退するほか、まとまった範囲の敵の巣が活性化して、定期的に大軍が攻めてくるようにします。

敵の行動は、

  • 敵が巣から出てくる
  • まとまった数になったら進軍してくる
  • 攻撃対象が近くなったら走って突撃してくる
  • 数が減ったら撤退し始める

という風にします。
敵がまとまるまで行軍を開始しないようにすることで、狼煙台があれば敵の位置を検出して対処できるようにしたいと思っています。

終盤

敵を倒すことで「知識ポイント」が入手できるようにして、それで敵についての何かの研究が進んだらゲームをクリアできるようにします。

ゲームクリア後もだらだらプレイできるようにしたいのですが、城郭の防衛能力を知るためにも負けるくらい大量の敵が押し寄せてほしさもあります。このあたりは考え中です。

やったこと

ゲームの新規開始まわりの実装

ここまでの仕様を書き出す過程でゲームの新規開始からゲームの終了条件なんかを監視する「管理スクリプト」まわりをどうするかも決めたので実装に着手します。

とりあえずゲームの新規開始で想定しているのは「チュートリアル」「フリープレイ」「サンドボックス」です。このうち、チュートリアルは複数のステージで構成します。

これらのプレイのために決めたファイル構成としては

  • 1つのフォルダに必要なファイルを格納する。
    • ステージ構成を記述したファイル
    • 地形やパラメータを含んだステージデータ x ステージ数
    • ゲーム進行を管理する Lua スクリプト x ステージ数
    • 多言語対応用のファイル(あれば)

です。
とりあえず着手した内容としては、ステージ構成を記述したファイルを読み込めるようにしました。

↓ チュートリアル用の stages.yaml ファイル

あとは、とりあえずボタンを作成して配置しました。

よいです。
ボタンが押されたときのステージ選択や実際に新規ゲームを開始するあたりの実装は、また後で行います。

まとめと今後の予定

考えてなかった敵の出現について仕様を考えました。ゲームが具体化したので大変よいです。

次回は、ビルダー実装の続きか雑多なタスクに着手していこうと思います。がんばります。

月別アーカイブ

限定特典から探す

記事を検索