【関西】 UE4 GameJam 『がっこうもやし!』

alweiさん主催、【関西】UE4GameJamに参加してきました!

atnd.org

自分のチームは『がっこうもやし!』というゲームを作りました!

youtu.be

2日間とても充実していて、楽しかったです!

DL:がっこうもやし!

 

参加初日 

 会場バンタン大阪校さんに着き、どんな感じなんだろうと少し緊張気味だったのですが、バンタンさんの生徒さんが多かったり、参加者同士で知り合いが多かったり、alweiさんの人の好さもあり、和気あいあいとしていてとても雰囲気が良く緊張がほぐれました。

もちろん参加者で一番遠く(仙台)から来た自分はボッチだったですが...!

ですが皆さんすぐに打ち解けてくれて、すぐ輪に入ることができました!皆さんほんとに人が好いのです。

 

さぁゲーム作ろう! 

 チーム分けも終わり、自分はDチームになりました。

お互い技量も何ができるかもわからないので、自己紹介。

結局みんな謙遜してわからない!w

 

リーダー

koya:ディレクター、デザイナー、サウンドクリエイター

Tatsumi:プログラマ

暇厨:プログラマ

こなべ:プログラマ、VR、3D

ANCK:プログラマ、プランナー

自分:プログラマ

 

プログラマーが多い気がしますが、なかなかバランスの取れたチームだったんじゃないかなと思います。

 

どんなゲーム作ろうか 

今回はテーマがなかったので、各々作りたいゲームを作ろうということになり、みんなの意見を合わせて、

「炎で学校を燃やしながら、脱出を目指すゲーム」 

を作ることになりました。

リーダーのkoyaさんがうまくまとめてくれてスムーズに決めることができました。

ゲームタイトルもこなべさんが「がっこうもやし!で」とすぐに決まりました!

ネーミングセンスある人すごい...!

 

仕事の振り分け 

 ゲームジャムに何回か参加してきましたが、やはり部分部分で作ってお互いの依存度を少なくしてすんなりマージできるようにするのが大事!

自分はゾンビ担当になりました。

が、いきなり問題発生。

有料アセットのゾンビさんを買ったのですが、なかなか同期されなくダウンロードができない...

回線のせいかなと思い色々試しましたが、結局同期が取れず仕方なく4.7.6バージョンのものを無理やり4.9.2で使ってました。

今回その作業に一番時間を取られた気がする...

結局同期が取れたのはゲームジャムが終わってから。アセット等はやはり事前にダウンロードしておくべきですね。身をもって勉強になりました(゜-゜)

f:id:shuntaendo:20151016000738p:plain

ずっと見てたらカワイく見えてきた...

 

ゾンビのAI 

 ゾンビのAIを作るのに結構苦戦しました。

最終的に「ゾンビに近づいたら追ってくる」というのを作るのが目的でした。

 

1.近づいたらプレイヤーを認識する

プレイヤーとの距離を計算し、その距離が一定値以下になったら追ってくるようにしたかったのですが、今回は別の階にいったら追ってこないようにするため、高さの制限をつける必要もありました。

しかし、プレイヤーとの距離を計算するのが思うようにうまくいかずコリジョンで判定するという頭の悪いやり方になってしまいました(._.)クヤシイ...

f:id:shuntaendo:20151016002217p:plain

タグで判定してアタックモードに移行してます。コリジョンの大きさをそのままにしておくとコリジョン範囲に入ってすぐ離れると範囲から抜けてしまうのでコリジョン範囲を入ったら大きくしています。

結構ごり押しですね...

 

2.プレイヤーを追う

今回はAI MoveToを使ってプレイヤーを追う処理をしています。とても便利!

「福島ゲームジャム事前勉強会」の時にロブさんに教わりました!

f:id:shuntaendo:20151016002923p:plain

実際に実行してみると、最短距離で追ってきて階段も自分で上がってきます!

頭イイ!

しかし、おかしな点が...

「あれ、このゾンビ...止まらない!」

そうなんです、AI MoveToは一度呼ばれるとずっと追ってきます!

他のチームもこの問題で詰まっていた方がいました。

ビヘイビアツリーを触ってみたり色々試行錯誤していました。

そしてたどり着いたのがこのノード!

Stop Active Movement

f:id:shuntaendo:20151016003753p:plain

このノードを呼ぶと止まってくれます。

 

 3.アニメーション

ゾンビのアセットにはたくさんのアニメーションシーケンスが入っており、使いこなすのが大変でした。

アクターをアニメーションさせるというのも初の試みでとても勉強になりました。

アニメーションBPを触ってみたのですがPlay Animationノードを使い、アニメーションをかけてました。次はアニメーションBPでやりたい。

f:id:shuntaendo:20151016004320p:plain

これも頭の悪いやり方だったかもしれません。

アニメーションはすべて変数の配列に格納して、それを毎回呼び出して使ってました。

最終的にBPがわかりにくくなってしまいました。

 

4.SEつける

ANCKさん が探してきてくれたゾンビの声や租借音をゾンビに持たせました。

f:id:shuntaendo:20151016012230p:plain

Sound Attenuationを使って減衰。

 

5.最後に学校を徘徊してるゾンビを作る

まずはAddActorLocalOffSetで歩かせる。基本中の基本ですね。

これだけではもちろん壁に触れた時にすり抜けてしまうので、LineTraceForObjectsというノードを使って前方に壁があるかどうかの処理をしました。

これも初めて使いましたが便利!

f:id:shuntaendo:20151016005253p:plain

Trace Complexにチェックを入れれば実際に処理する範囲を描画してくれます。

 

UI

 次にUIの制作に取り掛かりました。

タイトル・プレイ画面・ゲームオーバー・クリアの4つのUIを作成しました。

UIの作成はぷちコンの方でさんざんやりましたし、ロゴやボタンのデザインはkoyaさんが作成していただいて簡単な処理しか作ってないので特に苦戦はしませんでした。

 

f:id:shuntaendo:20151016010212p:plain

f:id:shuntaendo:20151016010220p:plain

f:id:shuntaendo:20151016010226p:plain

f:id:shuntaendo:20151016010232p:plain

スバラシイデザイン!!

処理はボタンのクリックした時の処理、HPバーを減らす、ゲームオーバー時の簡単なアニメーションくらいです!

 

いよいよマージ! 

 発表まで残り2時間くらいになって各々作ったものをマージする作業に取り掛かりました。プレイヤーの処理を作っていた暇厨さんのところでマージすることになったのですが、やはり!問題発生!

プレイヤーがなかちゃん(中野シスターズ・姉)に変わらない!

プレイヤーと他のものとの処理が暇厨さんのところに依存度が高く、ゾンビが燃えない!可燃物が燃えない!

ゾンビも食べるのに夢中でプレイヤーを追ってきません!

ゲームジャムしてるなーという感じでした!w

ですが、最終的に完成までいけたので良かったです!

 

最後に 

 今回会場が大阪で仙台から結構遠かったですが、わざわざ行ったかいがありました!

本当に参加してよかったです。

たくさん新しい繋がりもできましたし、学ぶことも多く、2日間常に楽しく開発することができました!

また開催されることがあれば参加したいと思います!(できればもう少し近くで...)