再建を繰り返す街づくりゲーム開発(フィールド生成の実装と仕様決め)
いくつかの要素を実装したり、仕様を決めたりしていきます。
やったこと
建物の建築プレビュー時に色を変える
建物をプレイヤーの操作で配置するときに、建築できるなら緑色、建築できないときには赤色にするあたりを実装します。この実現方法は前回の記事で動作確認したのを取り込むだけでした。
↓ 建築プレビューの建物画像を緑色にした様子
↓ 赤色にした様子
よいです。
緑色の画像が背景画像に溶け込んでいる気がしますが、色はそのうち再調整します。
決めた仕様でフィールドを生成する
InteliMap Pro アセットを使ったマップ生成を、少し広めのエリアに対して行ってみました。
↓ 生成したもの
これは 32x32 のタイルのまとまりを1エリアと呼んだときに、それを 5x5 並べて表示しています。そして、この 25 エリアの生成に 4691 msec かかりました。
1エリアが約 200 msec とすると、生成速度は遅すぎず無視できるほど速くもなくて悩ましいです。
また後でいろいろ考えます。
仕様を決めていく
書き出してみました。
# 建築の流れ
- プレイヤーが建築指示を行う。
- その場所に半透明の建築予約の描画がなされる。
- そこにある樹木や瓦礫に撤去マークがつく。
- 撤去が終わったら次のフェーズに遷移する。
- この状態の建物のストレージに必要資材が運び込まれる。
- 建物の搬入が完了したら、ワーカーが寄ってきて建築の進捗を増やす。
- 建築し終わったら、その建物として動作し始める。
# 建物への運搬
- 建物に配属されたワーカーが運搬を行う。
- 工場の場合は、搬入資材の数だけ搬入元を指定する。
- 搬入すべき資材を、どこから運ぶかを指定する。
- 倉庫の場合は、建物ごとの最大数までの資材を搬入先に指定できる。
- どこからどの資材を搬入するかを指定する。
# 建物の情報表示
- 作られるアイテムの画像を建物画像に重ねて表示する。
- 生産の進捗状況を丸いプログレスバー表示する。
- アイコン表示
- 搬出ストレージに空きがないときのアイコン表示
- 搬入待ち資材のアイコン表示
- フォーカス時
- ブーストゲージ
- 所属しているワーカーが建物外にいるときに、そのワーカーの場所
- ワーカーは自宅に帰り出した時点で所属でなくなる。
- 総生産数などの各種情報
- ワーカーの最大数と所属数
# 住居
- 充実度がある。
- 薪や食べた食事によって住民の充実度が変わる。
- 空き家の充実度は市場に所属する住居の充実度の平均値で計算する。
- 住民がいない場合は、市場の資材を管理する住宅の数で割った平均値から計算する。
- 仕事帰りと最初に自宅に移住したときに市場で食事をして、薪を持って帰宅する。
- 帰宅して疲労がなくなったら仕事に出かける。
- 薪があるときは普通に疲労が回復して、なければ少しの回復にする。
# 市場
- 住民が立ち寄って資材を持っていく特殊な倉庫として扱う。
# 生産施設
農場や牧場など。
- ワーカーの数に応じて資材が生産される工場として扱う。
- 肥料や飼料でのブーストは考えない。
# 日数の経過とワーカーの休息について
- 昼夜の概念はない。
- ワーカーが疲れると帰宅する。
- 帰宅して休憩して出かける際に新しい仕事を選択する。
- 日数の経過で定期的に敵が襲撃してくる。
よいです。
まとめと今後の予定
いくつかの実装をして仕様を考えたりもしました。
次回は敵がわらわらと押し寄せてくるあたりを試作したり、ワーカーが働くあたりに着手しようと思います。がんばります。