雑多なルール決め(巫女&築城&防衛ゲーム)
ゲームをプレイする上でのルールや仕様の仮決めを行います。
ルールや仕様
ゲームの終了条件
- 拠点の耐久力がゼロになったとき。
- 規定のラウンド数だけ防衛して、建築フェーズの「勝利」ボタンを押したとき。
- 勝利ボタンを押さなければ引き続きプレイできる。
労力
- 労力という資源があり、それを消費して建物の建築と地形の高さの変更が行える。
- 労力は建築フェーズに遷移したときに上限値まで回復する。
- 労力を使い切ったかどうかは、回復に影響しない。
- 労力の上限値は住民の数か幸福度かなにかで増える。(後でまた考える)
霊力
- 霊力という資源があり、これを消費して味方部隊を雇用する。
- 味方部隊はカラクリで霊力で動かしてる、という設定にする。
- 味方部隊の兵種には槍、弓、火縄銃、侍があり、霊力消費が異なる。
- 部隊の雇用をやめると霊力は戻ってくる。
- 霊力上限は住民の数か幸福度かなにかで増える。(後でまた考える)
味方の部隊
- 部隊上限は6で、1部隊の構成ユニット数は8にする。
- 部隊を櫓や壁の内側に配置して攻撃させ、建物が壊れそうになったら後退して別の建物でまた防衛させる、という運用にする。
- 部隊の移動はプレイヤーが指示してもいいし、条件を指定して自動で動かしてもいい。
- オート、マニュアルの切り替え。
- オートのときには「配置された建物の耐久値が A % 以下になったら次の場所に移動する」的な指定ができるようにする。(後でまた考える)
- 次の場所というのを、自動で決めるかプレイヤーが指示するかとかは未定。(後でまた考える)
オートで撤退するのは小難しい仕様なので割り切って簡単な仕様にした方がよい。
敵の巣
- フィールド中に敵の巣が点在していて、そこから敵が出てくる。
- 巣はゲーム開始直後は無効になっていて敵が出てこない。
- ラウンドが進むにつれて有効になる巣の数が増える。
- 防衛フェーズ中に、複数体の群れとして出現して押し寄せてくる。
- 1つの巣から、一定の時間間隔で何回か敵の群れが出てくる。
- 巣の一定の範囲には建築や地形の編集はできない。
- 建築フェーズ中に指定した巣を撤去できる。
- 撤去した巣のぶんの敵は、周囲の巣に移る。
敵の巣の撤去に資源が必要かどうかなどは後で考える。
1ラウンド経過ごとに撤去アイテムを入手できる、とかでもよさそう。
敵の弱体化
- 東西南北の4つの方向に対して「拠点からこっち方向の敵が弱くなる」的な設定を建築フェーズ中に行えるようにする。
- 敵を倒すたびにゲームクリアかゲームオーバー後に行える永続強化を購入するためのポイントが得られるようにする。
- 敵を弱体化すると敵から得られるポイントが減る。
- 弱体化は永続ポイントの取得量のみに影響して、自キャラのレベルアップなどの他の要素には影響がないようにする。
- 弱体化は敵の体力や攻撃力に影響する、とかにすればいい。
一応、弱体化を使わなかったご褒美としてポイントの入手量を増やすけれども、各プレイヤーが自分の好みの難易度で遊べばいいと思っていて、これはそのための仕様。
敵を弱くしてラウンドを増やし続けてポイントを得るのを防ぐために、勝利できるラウンドまでしかポイントを得られなくする、とか。
後でまた考える。
自キャラの随伴兵
- 最大で 16 体までの随伴兵を霊力を消費して雇用できる。
- 味方部隊のユニットより強くていい。
- 随伴兵の構成は1体ごとに変更できる。(槍、弓、火縄銃、侍)
城下町について
敵の巣を撤去してできた空き地に勝手に城下町が作られて、その広さによって労力や霊力が得られればよさそうだが、自動で城下町を作るのは実装がめんどうそう。
手動で城下町を作りたいかもしれないし、手動で城下町を作るのがだるいかもしれない。また、城下町が城郭を広げるのに邪魔になるかもしれない。
1プレイを1時間以内くらいにしたいなら、このあたりの仕様は割り切るのがよさそうだとは思う。後でまた考える。
自キャラのレベルアップによる強化について
- パラメータが上昇する。
- スキルを3択から選ぶ。
- スキルには系統があって、最大で3系統しか取得できない、とか。
これは後で考える。
随伴兵へのバフと敵へのデバフなスキルで支援するプレイスタイルや、自キャラを強化して無双するスタイル、城郭の建築が楽になるスキルがあってもいいと思う。
建築時に爆発トラップが設置できるようになったりスキルがあってもよさそう。
自キャラで無双する場合も、近接、範囲攻撃、狙撃、みたいな複数のスタイルがあってもいい。
テックツリーについて
できれば導入したくない。ほぼ決まったアンロック順になりそうなのと、レベルアップ時のスキル選択だけにしたい。
ラウンド経過で「火縄銃が解禁されました」とかの要素がアンロックされる仕組みになっていればいいと思う。
何ラウンドでアンロックされるかが記述されたツリーが表示できればよさそう。
後でまた考える。
拠点について
ゲーム開始時は神社が拠点で、それを壊されたらゲームオーバーでいいと思う。
神社がいわゆる御殿に相当する。
ただ、天守が「最後の砦」的な扱いが期待されているのは間違いないので、壊されたらゲームオーバーになる建物を天守に変更できるようにした方がいいと思う。
ただ、巫女さんが守るべきものは神社と天守どっちなのか? と考えると悩ましい。
あと拠点を変更できなくていいなら実装すべき項目が減るので楽になる。
今のところは「拠点は神社から変更できない」「神社を新しく建築する操作で拠点の位置を変更できる」でいいと思っている。後でまた考える。
やったこと
フィールドの描画はまだですが、セーブとロードまわりの実装に着手しました。
まぁ、ゲーム開発するたびに実装している機能なので「めんどいけど実装手順は知ってる」系の開発になります。
セーブとロードの実装
一気に全部実装するとしんどいので、建物をセーブとロードの対象にするあたりまで実装しました。いつもどおり、YAML に建物の情報を保存しています。YAML フォーマットは編集しやすいので好きです。
↓ 保存された建物情報
このデータをロードしたときに建物を配置するあたりは未実装ですが、このデータの読み込み自体は動作しました。そして、ここまでの実装で建物があるときの敵の移動と攻撃の評価の準備ができました。大変よいです。
まとめと今後の予定
もやっとしていた仕様を書き出して整理しました。よいです。
次回からは、建物があるフィールドを敵が群れで移動しながら攻撃してくるあたりに着手しようと思います。がんばります。