再建を繰り返す街作りゲーム開発(資材置き場を実装していく)
このプロジェクトは2週間に1回、もしくは Factorio を遊びたくなったときに遊ぶ代わりに開発を進めていきたいです。
今回は資材置き場の実装を少しでも進めます。
やったこと
セーブデータを読み込めるようにする
資材置き場と資材が配置されたセーブデータを読み込めるようにします。
セーブとロードは基本的には動作しているのですが、フィールド上に資材である「瓦礫」を配置するあたりを追加実装しました。
↓ フィールド上に「拠点」と「資材置き場」と「瓦礫」(右下寄り)がある様子
よいです。
資材置き場の機能を実装していく
これから実装していく資材置き場に必要な機能を確認します。
- 範囲内にある瓦礫を探索して管理する。
- 資材置き場のワーカーが集めに行って戻ってくる。
- 資材置き場でクラフトするための資材が集まったらワーカーがクラフトする。
- 資材置き場の場合は「瓦礫(木材)」を「木材」に変換するなどする。
です。
移動が絡む経路探索の実装は大変なので、とりあえずクラフトでアイテムを変換するあたりから実装していきます。
まずは資材置き場で瓦礫を資材にクラフトするデータ定義を追加しました。
よいです。
そして、この定義データを読み込むあたりが未実装だったので実装して読み込めるのを確認しました。よいです。
次は、この定義したデータに基づいてクラフトするあたりの実装なのですが、それは次回に回します。あと、資材置き場のように影響範囲の半径のパラメータ定義がないのに気付いたのでそれも後でやります。
まとめと今後の予定
今回は、フィールド上に資材を描画するまでを実装して、ワーカーが建物でクラフトするための準備も行いました。よいです。
次回は、実際に建物が資材を管理できるようにするあたりと、クラフトするあたりの実装に着手します。がんばります。