投稿記事

籠城ゲームの記事 (99)

竹林ソフト 2023/07/25 20:00

ねこ巫女籠城ゲーム開発(どういうゲームにしたいか)

どういうゲームの方向性がありえるかを列挙して検討して、どういうゲームにするかを決めていきます。

このゲームで表現したいこと

今の呼称は「ねこ巫女籠城ゲーム」です。その名の通り、ねこ耳の巫女キャラがでてきて、日本の戦国時代な雰囲気で籠城するゲームを目指しています。
とりあえず「どういう城郭にするかを決められる築城要素」と「その城郭で闘う防衛要素」は必須です。

巫女なのは、ひげ面のおっさんキャラを作るくらいなら女性キャラにしたかったのと、不思議パワーが使えそうという理由からです。ねこ耳なのは「憑依させる動物によって能力や特性を変えよう!」という初期コンセプトがあったためですが、今はあまり気にしていません。でも、けも耳は残そうと思います。けも耳の巫女、いい響きだと思います。

そして、どういうゲームにしたいかを簡単に列挙すると

  • 自分で縄張りして築城した戦国時代風の城郭で防衛する。
  • 操作キャラが部隊を率いて防衛の援護、および門を開いて突撃できる。
  • 操作キャラで無双ゲーほどではない強さの戦闘ができる。
  • 資源とワーカーの作業時間が有限な状態で、どこから建築するかを決めていく。
  • 建物の並びの見栄えがそれなりによい。

となります。

自分の性癖全開で説明すると「射線を意識しまくった城郭を作って防衛したい!」「強固に作った城郭が壊れるさまを眺められる」「けも耳巫女、いいよね」です。

ゲームの方向性の書き出し

ここまでのゲーム要素について、やりたい理由とやらない方がよい理由を書き出してみます。

築城要素

👍 射線を意識する必要のあるゲームにして、どう射線を作るかを考えて築城できるゲームにしたい。
👎 必須、やる。

街づくり要素

👍 ワーカーが資材をはこんで時間をかけて建築するゲームが好きなので実現したい。
👎 上記の実装は複雑かつ処理が重くなりがちなので注意した方がいい。あと思った通りにワーカーが動かないと遊んでていらつきやすい。

建築時の操作キャラ要素

👍 ワーカーのもどかしさを自分がキャラを操作することで補えてよさそう。
👎 操作する必要があるとめんどうなのではないか? 操作が上手くないと楽しめないゲームになるとよくない。

防衛時に部隊を率いる要素

👍 固定砲台的な防衛ユニットは配置できるとして、操作キャラが防衛ユニットを率いて遊軍として防衛や突撃を行えると戦略の幅が広がるし、盤面を支配してる感を出せてよさそう。
👎 ちゃんと防衛ユニットがついてくるかとか、移動先で適切に戦闘するかとか、実装が複雑になりそう。途中に門があるときにどうする? 敵が門の前にいても自分達だけ開いた門から移動できてもいい?

無双ゲー要素

👍 操作キャラがかっこいいモーションで攻撃できたらいいよね。敵の部隊長との一騎打ちとか。
👎 かっこいいモーションを作る必要があって時間かかる。カメラワークとかカメラ制御とか大変そう。強い敵を倒せるだけのアクションゲームの上手さをプレイヤーに強要したくない。操作キャラだけで敵に勝てるのはよくなさそうで、バランス調整が難しそう。

ここまで書き出して考えたことは、

  • ワーカーがちまちま働く街づくりゲーはすっごい大変だけど、私が好きなので仕方がないからやってみる。とりあえず遊べるようになってから複雑な実装を取り込んでいくのがよさそう。
  • 部隊を率いる要素はほしいけど、無双ゲー要素は後からの追加でいい。

です。

まとめと今後の予定

今後も折を見て、こんな風にイメージを書き出して脳内で動作させながら仕様をはっきりさせていこうと思います。
資材の運搬に伴う経路探索の処理とか大変そうですが、順番にやっていこうと思います。あと、VRoid Studio のモデルより頭身の低いボクセルもでるの方が好きな気がしてきたので、そういうモデルも作っていこうと思います。がんばります。

竹林ソフト 2023/07/18 20:00

ねこ巫女籠城ゲーム開発(マップ表示モードの作成)

どういうゲームで、どういう操作をするかを決めていくために M キーを押したときのマップ表示を実装していきます。

やりたいこと

例を出して説明すると、Factorio のマップ表示のようにしたいです。

↓ Factorio でのマップ表示の例

なので、フィールドのタイルを 1 pixel で表現する画像を作成してマップ表示として使うようにします。
もう少し具体的に書き出すと

  • セーブデータを読み込むときに、マップ用の画像を作る。
  • 建築モードでの建築予定の指示したときや、建築されたときにこの画像を更新する。
  • M キーが押されたらこのマップ画像の表示に切り替える。

です。
ここで作ったマップは、いずれミニマップとして画面隅に表示できるとよさそうです。

マップ用の画像を用意する

フィールドの広さは固定なので、その大きさだけの Texture 画像を作ってしまいます。

↓フィールド描画

↓作成した画像

地面の色を反映させただけですが、大変よいと思います。
水、建築予定の建物、建築済みの建物の反映はまた後でやります。

M キーでマップ表示に切り替える

この処理は、M キーが押されたときにマップ表示専用のカメラに切り替えることで実現します。
そのカメラの処理まで実装しようと思ったのですが、カメラを追加して、そのカメラ用の WASD 移動の処理を調整して、という実装の重さが私のお気持ちを超えたのでまた今度やります。(多分、実際に着手するとたいしたことないです)

あと、マップ表示専用のカメラは北が上に固定で、フィールド用のカメラは自由に操作できるのがマップを切り替えたときの違和感になりそうで不安ですが、それは動作してから考えます。

ゲームの方向性の検討

ゲームをどうしたいのか少し考えました。
ざっくり書くと

  • VRoid Studio のモデルから Voxel モデルに変更しようと思った。
  • 建物も、もう少し荒い Voxel モデルにしようと思った。
  • 街の人がちまちまと働いてくれる内政要素を増やすかどうかを悩み中。

です。

私が Voxel モデルの方が好きなのと、Voxel モデルだと VRoid Studio のモデルに比べてモーション作成が雑でいいとか、そのあたりです。ただ、顔を大きくしすぎると建物がリアルなときに違和感が増えるので悩ましいです。

内政要素については、私が細かく内政するゲームがめんどうで好きじゃないのと、内政まわりは実装の量と難しさが爆発的に増えうるのでゆっくり考えたいと思っています。
メインコンセプトは部隊を操作できる籠城ゲームなので。

まとめと今後の予定

最近は開発ペースが落ちていますが、今回はマップまわりの実装したので大変よいです。
暑くて引きこもった結果、運動量が減ってるのがやる気減少の原因な気もしますがわかりません。今後も無理しない程度のペースで開発していこうと思います。がんばります。

竹林ソフト 2023/07/11 20:00

ねこ巫女籠城ゲーム開発(操作キャラ管理まわりの実装)

操作キャラを移動させて、操作キャラが召喚したユニットが地面の高さを変えていくあたりを実装したかったのですが、先に3人いるキャラの誰を操作するかを切り替えるあたりを実装していきます。

実現したいこと

今は1人のキャラしか操作できないので、キーボードの数字キーの 1, 2, 3 の押下で操作キャラが切り替わるようにします。
それから、キャラの位置と向きとをセーブの対象にするあたりも実装します。

実装すること

建築と防衛というフェーズの概念がなくなったので、キャラの位置とその時点の指示内容を保存できるようにする必要があります。保存するデータには「目的地を指定されて移動中か」とか「移動するように指示された点列情報」も含めます。ただ、とりあえずはキャラの位置と向きだけ保存されるようにします。

実装したこと

キャラ位置のセーブとロードを実装しました。

↓1キャラ目が移動した状況がセーブされて、ロード時に適切に反映されている様子

よいです。

↓キーボードの 1, 2, 3 で切り替えたキャラを操作している様子

移動先を指定する操作、TPS 操作のそれぞれで、どのキャラを操作するか切り替えられるようになりました。よいです。
操作キャラを切り替えたときに、そのキャラにカメラ視点を移すとかはまた後で実装します。

まとめと今後の予定

今回、操作キャラの操作を切り替えられるあたりを実装しました。大変よいです。
ただ、操作キャラが3人 ≒ 部隊数が3つ、にするかは悩んでいます。Factorio の列車の行動を指定できるみたいに「敵がこのエリアに移動したら、この部隊は撤退してここまで移動する」みたいなのを実現できるようにしたいと思っているのですが、そのときに部隊数が3つだと少ないのを懸念しています。引き続き検討します。
次回は、操作キャラから召喚されたワーカーが、建築予定の建物を実際に建築するあたりに着手しようと思います。がんばります。

竹林ソフト 2023/07/04 20:00

ねこ巫女籠城ゲーム開発(ゲームプレイの検討)

兵士を率いて突撃もできる籠城ゲームを作ろうとしています。
必須機能が動作し始めて、全体的なゲームプレイをどうするかイメージできてないのに気付いたので、いろいろ書き出して検討します。

実現したいことと実装したこと

どういうゲームを作って遊びたいかを簡単に書くと、

  • フィールドに城郭を建築してそこで籠城するゲーム。
    • 城郭には堀や盛土の作成は必須なので、フィールドの高低差は編集できる。
  • 操作キャラが3人いて、それぞれが部隊を率いて防衛できるようにする。
    • 部隊の兵士とは別に、移動できないタレットも設置できる。
  • 経路が複雑なだけの城郭が強くならないように、防衛の終わり際に操作キャラが城郭から部隊を率いて突撃できるようにする。
    • 経路が複雑だと、突撃がもたつくようにする。
    • 突撃する兵士を召喚する広さが城郭内に必要になるようにする。

です。
今までに、城郭を編集する仕組みや、操作キャラの TPS 表示については実装しました。

↓地形と城郭の編集

↓操作キャラの TPS 操作

決めてない仕様としては、ゲームクリアの方法、敵の増え方、敵の増え方を制御する方法です。敵の増え方を制御することで、戦略的な楽しみ方ができることを狙っています。

どうするか検討中のこと

まだ決めてないことを、矛盾を気にせずに書き出してみます。

ゲームクリア目標と敵について

  • 住民の数に応じて得られる信仰値を貯めて、なんやかんやで敵の総攻撃に耐えてゲームクリアにする。
  • 敵が定期的(7日ごとくらい)に攻めてくる。
  • 敵が出てくる場所(巣と呼ぶ)がフィールドに作られる。
    • 巣の敵の数は Factorio の公害に似た何かの影響でだんだん増える。
    • 巣の敵の数が、定期的な侵攻日にしきい値を超えていたら攻めてくる。
  • 巣の敵の数は、侵攻日でないときに戦闘して倒せば減らせる。
  • 敵がいなくなった巣に、なんやかんやすると巣を消滅させられる。
  • 敵の巣の近くには建築できない。

昼夜の概念と日数の概念があるけど、操作キャラは寝なくてもいい世界観です。

具体的なゲームプレイ

  • 最初にフィールドから拠点の位置を決め、城下町と農村エリアも定義する。
  • 建築モードで城郭の建築指示をする。
    • 建築したい場所まで移動しなくていい。
  • 操作キャラを TPS 操作で動かして建築したい場所まで移動させる。マップを開いて移動先をクリックすることで、自動で目的地まで移動させることもできる。
    • 操作キャラの一定範囲に建築指示された建物があると、ワーカーが召喚されて自動で資材の運び込みと建築を行う。
  • 資材がどう増えるかと、資材をどこからどこまで誰が運ぶかはまだ決めてない。
  • 7日ごとに敵が攻めてくるときに、マップでどの巣から敵が攻めてくるかを確認してどう防衛するかを決める。
    • 城郭に配置しておいたタレットによる防衛力 + 操作キャラが率いる部隊による防衛力、をどうするか決めて対応する。
  • 負けてもすぐにやり直せるようにする。どう守るかの模索を楽しんでほしいので。
  • 定期的な侵攻日でないときに、操作キャラの TPS 操作で戦闘して敵の巣を取り除ける。

敵の巣を消滅させたいときに、防衛陣地を作ってから敵との戦闘を開始するのか、部隊だけで戦闘するのかは悩んでいます。

ここまで書いて追加で考えた仕様

  • タレットに維持コストと稼働コストとを定義して、ある意味で無駄なタレット配置が行えるようにする。
    • タレットにバッテリーがあるものとして、操作キャラによる霊力補充がなければ一定時間稼働したら停止する、というのもありかも。外部バッテリー相当の祠があってもいい。
  • 建築資材はじわじわ増えるようにして、築城に時間がかかるあたりを表現したい。
    • 住民の数に応じて建築資材の増えやすくなる。
  • 建築資材を住民が自動で運ぶのか、操作キャラにインベントリの概念を持たせて運搬できるようにするのかは決めかねている。
    • 資材置き場を作ると住民が運んでくれて、それを操作キャラが召喚したワーカーが建築に使うようにしようと思ったが、資材置き場の場所を指示するのがめんどうそう。もう少し考える。
    • 資材の概念が必要かどうか、というあたりから考え直したい。

私が Factorio 大好きなので、仕様が似てくるのは仕方がないです。

まとめと今後の予定

どういうゲームプレイにしたいかを確定させてなかったので改めて検討を始めました。絶対に使うであろう要素については実装を進めつつ、どういうゲームプレイにするかは引き続き仕様を検討していきます。
仕様決めは、どうしたいか考えて脳内シミュレートしてみて、を違和感や不明な点がなくなるまで繰り返すので時間がかかります。ただ、今回の検討で、昨日までより理解が深まったので大変よいです。がんばります。

竹林ソフト 2023/06/27 20:00

ねこ巫女籠城ゲーム開発(長押し削除の実装)

右クリックの長押しで、建物を削除するあたりを実装していきます。

削除対象がわかるようにする

まず、カーソルがホバーしている建物にアウトラインが描画されるようにします。
アウトラインの描画には Easy Performant Outline 2D | 3D を利用しました。

↓右側の多門櫓がアウトラインが描画されているもの

よいです。アウトラインの色や太さは、また後で調整します。
カーソルがホバーしている建物の地面の範囲もわかるように協調表示してもいいかもしれません。これも後で検討します。

右クリック長押しで削除する

基本的な処理としては、建築モードのときに

  • 建物や壁にカーソルがホバーしていたときに
    • 右クリックが長押しされていたら、長押し中を示す丸くなったスライダーを表示する。
      • 規定の時間だけ長押しされたらその対象を撤去する。
        • 長押しで対象を撤去中は WASD で移動しないようにする。
        • 建物が建築予約の段階のときは即座に撤去するように、規定の時間をゼロにする。
        • 建築済み、建築途中、修理中の建物の場合は規定の時間経過で撤去指示フラグを付与する。
          • 撤去は召喚したワーカーが行う。撤去の処理は後で考える。

とりあえず、建築指示の段階の建物が即座に撤去されるようにします。
で、なんやかんやで実装しました。

↓右クリックで建築指示を取り消した様子

UI の実装はまだですし、建築指示の建物が半透明でないのでわかりにくいですが、動作したので大変よいです。
建築済みの建物に撤去指示を行ったときには「撤去フラグ」を付与して資材に分解しようと思うのですが、それもまた後で実装します。

まとめと今後の予定

とりあえずですが、撤去についての実装が進んだので大変よいです。
次回は、ゲーム内で城郭を作ろうとして不足している機能を見つけて着手するか、物流(住民による資材の運搬)の仕様検討に着手しようと思います。がんばります。

月別アーカイブ

限定特典から探す

記事を検索