ねこ巫女籠城ゲーム開発(即座に建築させる)
ゲームを通してプレイできることを目標に実装していきます。
やること
大きめの目標を挙げると
- 建築できるようにする。
- 敵が攻めてくるようにする。
- 敵を攻撃できるようにする。
でしょうか。
とりあえず、これらが動作することだけを目標にして、その後で追加実装していきます。
建築できるようにする
まず建築できるようにします。
最終的には住民であるワーカーや、操作キャラが召喚できるワーカーが資材を運搬して時間をかけて建築を完了するようにしますが、とりあえずは即座に建築が完了する仕組みにします。
すでに「建築指示を行う建築モード用のフィールド表示」と「建築済みのフィールド表示」は実装済みなので、建築モードで建築指示された建物を即座に建築済みにする処理を追加します。
↓建築予定の建物を即座に建築するコード
これで、建築モードで建築指示をしてから建築モードを抜けると、Workers.UpdateState() の処理によって、建築指示の建物が即座に建築されるようになりました。大変よいです。
↓ 建築予定の建物が建築された様子
今回の実装で行っているのは建物の処理のみです。そして、地形の変更も即座に行われるように実装を変更したものがこれです。
↓地形の編集も反映させるようにした後の様子
大変よいです。
敵が攻めてくるようにする
数日ごとに敵が定期的に攻めてくるようにします。この定期的に攻めてくる以外で、小規模の敵がうろつく仕組みにするかは後で考えます。
- 敵が攻めてくる日時を決めて、敵の巣から敵が出現して攻め寄せてくるようにする。
- とりあえず、巣から1体だけ敵が出てくるのでいい。
- 敵は Cube でいい。
- 敵は攻撃しなくてもいい。
まずは敵が拠点に移動してくることだけを目標にします。
ここまでの内容について、配置された移動する仕組みは実装済みなので、巣の概念と、敵が攻めてくる日時を管理するあたりを考えて次回以降に実装します。
ここまでの仕様で考えたこと
今回の実装をしていて仕様について考えたことを列挙します。
敵が攻撃してきて負けたときに、ゲームオーバにするかどうか。
- ゲームオーバーになるモードは、あってもいい。
- 敵は、拠点にある何かを奪うのが目的ということにして負けてもいいことにする?
- 「勝てなかったけど次がんばるか」と割り切れるデメリットはあった方がよさそう。
- 敵の強さは防衛での勝敗、および街の開発具合(人口?)で変わるようにしたい。拠点で「寝る」ことで、プレイ時間をスキップできるようにする?
- 遊べるようになってから再考する。
こんなふうに、ある仕様を決めたときに「本当にその仕様で大丈夫?」とか「その仕様にするなら、これはこうするべきだよね」みたいな検討は今後も定期的にやっていきます。
まとめと今後の予定
とりあえず何かしら実装が進んだのでよいです。次回は、敵が攻めてくる処理や味方の防衛ユニットについての何かしらの実装をしたいです。がんばります。