ほげたつブログ

プログラムとアニメーションをかじって生きてる

パンデミック系ゲーム制作進捗(1)

UE4ぷちコンも終わり、ゲーム制作勢の次はデジゲー博ですかね。
自分はデジゲー博には参加していないので、冬コミに向けてゲームを作ってます。(そもそも抽選に通るかわかりませんが。。)
なので不定期に進捗あげていきます。

作っているゲームについて

コンセプトは決まっていますが、レベルデザインの詳細はまだまだ詰め切れていない段階です。
表題にもありますが、人間がゾンビ化していくパンデミック系のゲームです。
ちょっと頭を使うゲームにする予定です。

進捗動画

youtu.be

まだまだ機能実装段階なのでゲーム性も無く、こまけぇこたぁいいんだよ状態ですね。

解説

まだ目立った事はやってないので、特にこれといったものは無いです。

ゾンビの攻撃対象検索処理を物理でやると重い

大量のゾンビを扱うので、単純に物理でやるとフレームレートが落ちてしまいました。
そこで今回は人間(ゾンビ化したものも含む)がゲーム中に増減する事は無い仕様にしたので、レベル開始時にキャッシュした全ての人間リファレンスをゾンビが保持しています。
ゾンビは保持しているリファレンスから距離と方向を見て攻撃対象を検索します。
細かいし基本だけど、なるべく VectorLength じゃなくて VectorLengthSquared を使うとかそういうのもやってますね。

人間とゾンビがそれとなく他人を迂回しながら移動する

CharacterMovementの「Use RVOAvoidance」にチェックを入れて、目標地点までの移動時に他人がいれば迂回するようにしています。
ただ今回はあまりに人が多かったため、キャラクター同士の当たりは取らず、迂回半径も小さくして被り過ぎないようにするくらいにしています。

Unreal Engine AI Tutorial - 2 - Avoidance - Epic Wiki

バージョン管理は大事

稀によくあるのが渾身のBPを不注意で削除してしまい、Undoもできないといった事態です。
コードベースで作っていた時はエディタ機能で自動バックアップをしていたのですが、UE4だとそういうわけにもいかないので泣きを見ます。
これをやってしまうと「またあれ作るのか。。」みたいになってやる気が一瞬で蒸発するので、個人プロジェクトでもバージョン管理はやりましょう。

まだ beta ですが、ソースコントロールには Git を使用しています。
Git は使い慣れている事もあり、特に問題はない感じです。
ただ、UE4はサイズが大きいバイナリを扱うので、ライセンスがあれば Perforce を使ったほうがいいと思います。

気付いてしまったこと


終わりに

せっかくなんで最近の飯画像を載せておきますね。

f:id:hogetatu:20151007133259j:plain

f:id:hogetatu:20151004122208j:plain

f:id:hogetatu:20151006202847j:plain