ここ数回のブログでちょっとずつ見せてはいたが漸くゲームが完成した。実質初めて自力で完成させたゲーム。
TwinstickShooterテンプレートを改造してゲーム作りました#UE4 #UE4Study #EpicFriday pic.twitter.com/GESqw9gRiy
— ai (@ai_9684_dct) 2017年12月29日
見て分かる通り全く面白くないゲームだが一本通して作ることで、今まで良く分かっていなかったUE4の機能を色々勉強することができた。面白さはさておき、「遊べるゲーム」を一本作ってみるのは本当に勉強になると感じた。やらなければ始まらない。
遊び方
<基本ルール>
操作はTwinStickShooterテンプレートそのまま。敵を全滅させると勝利。
攻撃するにはエネルギーを消費し、ゼロになると回復するまで攻撃できなくなる。
敵は数%の確率でHP回復アイテムもしくは3Way攻撃アイテムをドロップする。
3Way攻撃アイテムを拾うと暫くのあいだ弾を同時に3個平行に飛ばせるようになる。
<敵キャラの行動パターン>
決まりきったポイントを巡回を巡回、プレイヤーを視界に入れるとその場で停止し視界から消えるまで攻撃し続ける
ある範囲(BoxTrigger)をランダムに動き回る。プレイヤーを視界に入れるとプレイヤーのいる方向にいつまでもついていき攻撃し続ける
ゲーム開始時から攻撃しながらプレイヤーの方向に進み続ける
2と3のAIはビヘイビアツリーのSingle parallelノードを使って実装した。そのうちこれの記事書くかも。
反省
3種類の敵エネミーを作るのにそれぞれCharacterを継承させて作ってしまったので、同じタスク(例えばプレイヤーの方向に向かって攻撃する)を実装するのにわざわざコピーして別のタスクを作り、Castノードを置き換えて…みたいな面倒なことをしてしまった。インターフェースやら親クラスを作っておけば多分こんなことをしなくても良かったと思う。しかしどうやればいいのかよく分かっていない(今必死に調べている…)。
ControllerとCharacterと発射する弾と機能の切り分けが下手くそで開発終盤どこに実装したか混乱してしまった。
企画段階で練り込みが甘くあまりに面白くないゲームができてしまった。
まとめ
何はともあれゲームを完成させることができてよかった。