【関西】UE4GameJam参加しての感想

先週の話になりますが、alweiさん主催の関西UE4ゲームジャムに参加してきました。

イベントの詳細はこちらになります。

https://atnd.org/events/70157

作ったゲームの動画はこちらです。

無双風アクションゲーム

大体の流れを簡単に何してたかを思い出せる限り書いていきます。

最初は自己紹介と何を作るか。まぁ当然ですが、初対面なので自分の名前とどんなゲームが好きかをお互いに話しました。モンハンやMMO、アクションシューティング、サバイバルホラー辺りがメンバーからでた好きなゲームでした。僕は対戦アクション(最近はとある作品のみ)で特に今回関係はなかったですね。

で、ここに出た要素でとりあえず全員3Dのアクションゲームが作りたいというのは速攻で決まりました。そこからハクスラっぽいゲームを作ろうと決まり、ホラー要素があるといいね?となり派手にしたいなどがごちゃまぜ(思い出せない)になり大体今回作成したゲームのイメージが固まりました(少なくとも僕の中ではあんな感じだろうなって思ってました)。

その後は昼飯を挟んでから実装を開始しました。

僕は今回ステージと敵の生成まわりを担当しました。

当初ステージの切り替えとか生成はOpenLevelか何かでやるのかなーと思ってたら寺口さんからLoadStreamLevelというのがあるというのを教えてもらい、それを使うことになりました。

無双風のアクションゲームで一度行ったフィールドにも立ち寄るのでいちいちロードし直すのもどうなのってことで今回これを使いました。

レベル

こんな感じで親レベルに小レベルとして作ったレベルを貼り付けておいて、ストリーミング方法をブループリントにしてやることで任意のタイミングでブループリントから呼び出せるようになるようです。

LoadStreamlevelノード

ノードはこれです。LevelNameに読み込みたいレベルの名前を指定し、MakeVisibleAfterLoadでロードしてから表示するかどうかを選択します。

今回は別になんか隠しておきたいわけでもないのでそのまま表示。

最後のShouldBlockonLoadは使ってないのでよくわかってませんが、入力をロードが終了するまで受け付けないようにするとかそんな感じだったはずです。

ロードに関しては特定のBoxCollisionにオーバーラップしたときに中ボスを倒している(鍵を手に入れる)と指定していた隣接マップをロードして、道を塞いでた壁の当たり判定をPawnを無視するようにしてました。

そして橋自体に与えてたコリジョンから抜けたら鍵を持ってない状態にして壁を復活、橋を消してまた中ボスを倒して次のマップへ進むようにという感じにしてました。

ちなみにはじめはレベルブループリントに書いて、これは非常に使いづらいとなり、橋と壁とトリガーすべてを統括したやつを作りました。これはそこそこ良かったのですが、行き来するときにどうするってなり没となって今の使いづらいけど橋と壁とトリガーをすべてバラバラにするようになりました。よくよく考えたらこれらをメンバに持ったブループリントを作ったほうが良かったのではと終わった後気付きました。アホです。

各メンバーの作業は一日目は特に問題もなくすみました。問題は終わって僕が帰ってから1日目の作業の結合をやっていたとき、ナビゲーションメッシュが動かない不具合が起きました。原因は今も不明です。ちなみに最終結合時にも起こり、しかもそれが発表5分前とかいうどうしようもない時に起こったため、発表があんなグダグダになったという現実が有ります。

この経験からやっぱりチーム制作で結合作業が一番闇を見るんだなと実感し、結合作業はもっと早めにやってその時に必ず起こるであろうバグへの対処に時間を取るべきだと学びました。

それで今回こんなことが起きてしまった一番の要因は二日目からの作業で各自の作業で別の人が作ったブループリントを勝手にいじってしまったことっぽいです。

僕もUIがきちんと動くかの確認のためにプレイヤーと敵を少しいじってました。一応そのブループリントは渡してないはずですがどっかでなにかやらかした可能性も否めません。

そのため、いじったファイルを何処かに記録しておいて何をどういじったかも軽くメモっておくこと。そして結合時には自分の担当の分だけを渡す。その辺徹底すべきかなと思います。

基本的には各自の要素が出来る限り依存しないようにするべきですが(こなべさんの今回の記事でも言ってた気がする)。

全体的にはとても楽しくゲームを作れて良かったと思っています。

それでも心残りとしてはやはりイベント中にきちんと完成しきれなかったことです。今回感じたことはこれからの制作に活かしていきたいです。

直近のイベントとしては来月にあるOcuJam大阪会場に参加しますので、それに向けていろいろ頑張って準備をしていきたいです。

あと個人制作も頑張ります。進捗はこっちやらTwitterであげるのでよろしくです。

今回作ったゲーム