投稿記事

籠城ゲームの記事 (97)

竹林ソフト 2024/04/25 20:00

ねこ巫女籠城ゲーム開発(石垣をプレイヤー操作で配置できるようにする)

クリック操作で石垣を配置できるようにします。

やったこと

本来は石垣を直線を引く操作で建築指示させたいのですが、左クリックで配置、右クリック長押しで削除、既存の石垣の上で左クリックで高さ+1、といったあたりまで実装します。

石垣が配置されるようにする

ここしばらくの修正で石垣の建築指示ができなくなっていたのと、プレビュー表示が半透明でなくなっていたのを修正しました。

とりあえず石垣を選んで配置できるようになりました。
よいです。

石垣の高さが増えるようにする

これについては、すでに石垣があるグリッドで左クリックされたときに描画済みの石垣の高さを変えて再描画することで表現します。

↓ タイルごとに石垣の高さを変えてみた様子

アウトラインの描画がおかしいですが、高さを変更できるようになったのはよいです。

石垣についての残りタスク

ここまでで石垣についての最低限の実装ができたことにします。
確認のため未実装の機能を列挙しておくと

  • 石垣の高さを下げる、撤去ができない。
  • 石垣を連続直線の操作で描くモードが未実装。
  • この配置した石垣を適切にセーブ、ロードできるかが未確認。

とかです。
これらはまた後で必要になったら着手します。

建築パネルの見直し

操作しづらいと思ったので、建物の分類を6から4に減らして、F1 から F4 キーに割り当てました。

↓ 変更前

↓ 変更後

よいです。
カテゴリータブのショートカットを F1 から F4 のファンクションキーに割り当てましたが、基本的にはマウスでタブを切り替えてほしいと思っていて、カテゴリータブの上にショートカットキーを表示するかは検討中です。

まとめと今後の予定

結局、石垣についての小難しい実装は後回しにして必須な機能だけを実装しました。結果的に修正前と同じ動作しかしないのですが、仕様を決め直してそれに沿って実装し直しているので大変よいです。

次回は、築城の縄張りを行う操作まわりの改善や、敵キャラのモーション調整、建築ワーカーが建築するあたりのどれかに着手します。がんばります。

竹林ソフト 2024/04/22 20:00

ねこ巫女籠城ゲーム開発(建築ワーカーの仕様決め)

ワーカーが建築をするあたりを実装していきます。

やったこと

前回は建築進捗が増えていって、最大になったら建築されるあたりを実装しました。
今回はワーカーが生成されて資材を運んだり建築するあたりを進めていきます。

まず、建築進捗と運び込んだ資材量がセーブ、ロードされるようにしました。よいです。
引き続いてやることは

  • 操作キャラの範囲内にある建築対象をリストアップする。
  • 定期的に建築ワーカーが生成されるようにする。
  • 建築ワーカーが移動したり作業したりする。

などです。

操作キャラの範囲内にある建築対象をリストアップする

小難しく実装するなら「移動して新しく範囲内に入ったタイルに建築予定の対象があるかだけチェックして、範囲外になった対象を除外する」的な実装にするべきなのですが、とりあえず一定距離内を全探索して対象の建築進捗をインクリメントします。

↓ 実装して動作した様子

今は操作キャラが立ち止まったときだけ建築の処理を行うようにしています。動作して大変よいです。

定期的にワーカーが生成されるようにする

次は「操作キャラの近くの建物に建築処理を行う」から、そういう建物に対して「ワーカーが操作キャラの足元から出現して建物まで移動して建築処理を行う」に変更していきます。

小難しい話題としては

  • 木材があと1必要な建物に、ワーカー2体以上で余分に運び込まないようにする。
  • どの建物をワーカーの対象にするか決める。
    • 最も近い建物に集中して作業させるのか、複数の建物に分散させるのか。

などがあります。
これについては、

  • ワーカーによる資源の搬入は最寄りの対象1つに集中させる。
    • 運び終えたら次に近い対象に搬入する。
  • 建築は近い順に1体ずつワーカーを担当させて分散作業になるようにする。
    • ワーカーの数に余りがあれば順に2体目を配置していく。

という処理にします。
それから、操作キャラは3人いるわけで、そのあたりも考慮するともう少しだけ実装が小難しくなりそうです。

そして、ここまで考えて「建築完了までにすごく時間がかかる建物が2つあって、ワーカーが2体が作業を始めてしまったら、完了するまで働き続けちゃう?」というのに気付いたので、

  • ワーカーは操作キャラからある距離だけ離れたら作業を中断して操作キャラまで戻ってくる。

という仕様にします。
なんというか、必要なことなんですけど実装前に実装の小難しさを把握してしまうと割と心にきます。

今回の記事はここまでにして、次回はワーカーの実装まわりから再開します。

まとめと今後の予定

操作キャラによる建築まわりの実装を進めて、実際に建築を行うワーカーの仕様を書き出して確認しました。よいです。

次回は、ワーカーまわりの実装に着手します。がんばります。

竹林ソフト 2024/04/18 20:00

ねこ巫女籠城ゲーム開発(ワーカーが建築するあたりに着手する)

ワーカーが建築予定地に資源を運び込んで時間経過で建築するあたりに着手します。

やりたいこと

操作キャラの範囲内に建築予定の建物があった場合に、操作キャラの足元から資材を持ったワーカーが召喚されて、ワーカーが建築予定ちに資材を運び込んで時間をかけて建築してから建物が完成するようにします。なんというか、Factorio の建築ロボット相当です。

そして最初に実装する機能としては

  • 操作キャラの一定距離内にある建築中の建物について、
    • なにかの資材が1増える、資材がいっぱいなら建築の進捗が1増える

だけにします。
操作キャラからワーカー相当のからくりロボットが出てきて運ぶとか、そういうのはまた後で実装します。

やったこと

建物の建築に必要な資材の量を定義する

建物ごとのパラメータに「建築を始めるときに必要な資材総量」である BuildMaterials と「建築にかかる手間」である MaxBuildProgress とを追加しました。

変更してエラーなくパラメータを読め込めました。よいです。

次は、操作キャラが移動したときに「範囲内にある建築予定の建物」情報を更新して、それらについて「資材量の加算」および加算後の「建築進捗の加算」を行います。

まずは操作キャラの位置に関係なく建築進捗が増えるようにします。資材量は後でまた考慮します。

↓ とりあえず建物の MaxBuildProgress 関係なく建築されるようにしたコード

この変更を適用した後は、建築モードを抜けた後、少し時間経過してから建物が配置されるようになりました。大変よいです。

まとめと今後の予定

今回は、建物を建築する際に「建築開始に必要な資源量」と「建築にかかる手間」とを定義して、その「建築にかかる手間」を利用して建築が行わるようにしました。

次回は、建物ごとの Max Build Progress の値をちゃんと使うようにするあたりや、地面の盛り土と掘削も今回の枠組みで行われるようにするあたりに着手できればと思います。がんばります。

竹林ソフト 2024/04/15 20:00

ねこ巫女籠城ゲーム開発(ゲーム全体の仕様を確認する)

最近は石垣まわりを実装していましたが、石垣がない城郭なら築城操作を確認できるはずだし、そろそろゲーム全体の流れというか仕様を考えて着手したいので考えていきます。

やりたいこと

このゲームは

  • 城郭の縄張りをして、築城される様子を眺める。
  • 敵が攻めてくるので、巫女さんとオートタレットで防衛する。
  • 敵が撤退を始めたら開門して巫女さんと浮遊ビットで追撃する。

というプレイングをするために開発しています。
なので、ストレスなく縄張りができて、適度な緊張感で籠城できて、ガチャを回すがごとき気分で追撃できるゲームにしたいと思っています。

そして、縄張りと築城については実装が進んでいるのですが、それ以降の要素である、攻めてくる敵の初期配置、敵軍の密度、容姿など、もろもろが仕様の決定できていません。

なので、そのあたりを確認していきます。

城郭の縄張りと築城

縄張りについては石垣以外は実装ずみで、操作しやすさはこれから改良します。
築城については、

  • 住民がマップ境界から「資材置き場」に各種資材を運び込む。
    • 住民が多いほど効率がよくなる。
  • 操作キャラである巫女が資材置き場から自分の謎ストレージに資材を移す。
  • 資材を持った巫女が建築予定に近づくと、作業ロボット(からくり)が出てきて資材の運搬と建築を行う。

といった仕組みを考えています。
資材の運搬を複雑にすると実装するときに大変になるので、これくらいの仕様にします。

籠城して防衛する

城郭に対して、各所に弓や火縄銃のタレット(からくり)を配置します。これは建築フェーズに指示を行っておきます。
籠城の際、敵が多い場所に巫女キャラを移動させて TPS 操作して遠距離攻撃することも想定しています。
また、巫女キャラの周囲に雑兵相当の浮遊ビット(からくり)が飛び回って敵を攻撃させたいと思います。

あとは、巫女キャラ付近のタレットが謎パワーで強化されてもいいですし、敵が近づいたら反応する地雷相当の浮遊ビット(からくり)があってもいいかもしれません。

ただ、巫女キャラが敵の集団に突っ込んで無双できないくらいのバランスにしたいと思っていて、細かいことはまた後で考えます。

敵が撤退し始めたら開門して追撃する

撤退する敵を追撃することについては、そういうプレイングをしたいというのと「本拠への道が細くで門だらけの城郭にしたら追撃しにくいよね」的な側面を演出する目的もあります。

あとは、巫女キャラが雑兵相当の浮遊ビットを召喚するには、1体あたり1タイルの広さを必要にする仕様にしたくて、この仕様である程度の広さをもった城郭を作る必要性を持たせたいと思っています。

撤退中の敵は、攻撃されたら振り返って反撃してくるくらいの仕様にして「攻撃してくる敵に突撃するのは無謀だけど、撤退中の敵は攻撃すればするほど損害を与えられる」的な仕組みにします。

敵の被害は、防衛中に 30%、撤退中に 50% くらいを最大で与えられるようにしたいです。

まとめと今後の予定

今回はゲーム全体の仕様を考えて書き出しました。
次回からは、これらの各要素ごとに実装したり、縄張りまわりの見直しを行っていこうと思います。がんばります。

竹林ソフト 2024/04/11 20:00

ねこ巫女籠城ゲーム開発(石垣の描画まわりを調整する)

引き続き石垣の描画まわりをやっていきます。

やったこと

↓ 着手前の描画

石垣とその上にある建物の間に何もなかったりと、とりあえずおかしいです。ここから石垣と石垣ブロックの描画を調整していきます。

そして、なんやかんやで調整した結果がこれ↓です。

実装が小難しすぎて説明を省略するので私しか見てわからないとは思うのですが、(裾のある)石垣と、石垣ブロックと、その上の建物や壁が適切に描画されていて大変よいです。

ここからプレイヤーの操作で石垣を配置したり描画する実装の方が大変なのですが、今回、いろいろ理解を深めながら描画まわりを作り直せたのは大変よいです。

まとめと今後の予定

作り直しであることと、漠然としか理解しきれてなかったので実装していて苦痛だったのですが、区切りの良いところまで実装できて動作したので大変よいです。

次回は、これをプレイヤー操作で配置するあたりの作り直しに着手します。がんばります。

1 2 3 4 5 6 7

月別アーカイブ

限定特典から探す

記事を検索