お茶漬けびより

学んだことを整理する場所です。主に、C++, Unreal Engine 4 (UE4) を扱います。たまに趣味や雑記も。現在(2017/7/1より)無職です。

第2回 関西UE4 GameJam に参加しました

初めてゲームジャムに参加してきましたので、その反省をしたいと思います。

参加したイベントは以下のURLです。

connpass.com

あまりゲームジャムのことは書いていませんが、参加しようと迷っている方は最後の方だけでも読んでいくと良いかもしれません。

 

自分は主にプログラム(ブループリント(以下、BP))担当でした。

他にプログラムを作る人は二人いて、一人はUE4で仕事をしているようなプロの方でした(とてもお世話になり、助かりました)。もう一人は学生でした(同じくお世話になりました)。

自分のチームが作ったゲームは、競争型の4人対戦ゲームです。

簡単に言うとアイスクライマーのようなゲームなのですが、足場が小さくジャンプで足場から足場に飛び移って上を目指すゲームです。

このゲーム開発の中で自分は、床の制作を担当しました。床といってもただの床ではなく、下からジャンプでぶつかると壊れたり、床の角度が変わったり、通常は下から床を抜けることは出来ませんが、それが可能な床であったりといくつかギミックを作りました。そのうちいくつかは時間が足らず実装に間に合わないものもありました。

それ以外にも拾って使うことで有利になるアイテムを作成しました。といってもアイテムの型は他の方が作成し、機能の部分のみを作るという感じでしたが(自分にもっと力があれば……!)。

作成したモノの紹介はまた別の機会にするとして、今回は反省でこうすればよかった。ここが自分には足りていないなとか、こうしてよかったこと(あれば)などを書いていこうと思います。

 メモを取る

時間は限られており、自分がする作業を忘れたり情報に齟齬が生まれるということは避けたいです。メモは取っていましたが、メモしきれておらず何度か作業を確認したり、勘違いしていることがあったりと時間を無駄にしてしまいました。

メモは紙に書いていたので、PCを使っていればメモしきれていないという状況は避けられたかもしれません。

また、自分はあまり聞き取り上手ではないので、話が早いとついていけないことがあります(ここら辺ってどうやったらついていけるようになるんだろう……)。途中で何の話をしているのか分からなくなったり、話の結果どうなったのか分からなかった場合は、すぐにその場でリーダーに聞くというのが最善かなと思いました。

ゲームのことで甘く見ていたのか、思っているよりも自分の知らない単語が出てきたので、プログラム周りだけでなくゲーム全体の作業を知っておくともう少しついていけたのかも……?

まとめると上記は、主にコミュニケーション能力になるでしょうか。

・メモは一番情報を得ることが出来る方法で取る。

・会話に参加できるように分からなくなったらその場で聞く。

こう書くととても当たり前のことですね。

これを少しでも克服するためには、人と話す機会を増やしたり要点をまとめる癖(勉強したことをまとめたり、ブログを書いたり)をつけるといいのかもしれません。

基本的な手段や基礎は、調べなくても出来るようになる

これは主にBPのことです。

BPの簡単なことはできるようになったと自負していたのですが、思っていたより上手くいかず、そのたびに調べたり人に聞いたりしていました。今回の件でBPでよく使う機能や手順は調べなくても手癖で出来るようになろうと思いました。

BPの簡単なことというのは、オブジェクトの移動や回転のノードの機能(相対的な移動や絶対的な移動)を把握しておくことや、フロー制御の機能、一定間隔で動いたり何かイベントを起こすといった方法などです。

また、ノードだけに詳しくなるのではなく、BPの機能的な部分も詳しくなりたいので、BPの継承であったり、インタフェース、ディスパッチャーや関数、上記に書いたフロー制御といったBPの基礎?を勉強したほうが良いと感じました。ここら辺を知っておくと速く良いものが作れそうです。

改めて考えてみると、ノードのことはよく調べるのですがBPの基礎?はあまり調べたことがありませんでした。プログラム言語だと基礎となる関数の作り方や制御フロー、インタフェースといったことを調べて開発を進めていくのですが、BPはそれを知らなくてもノードの機能を利用することで作れてしまうことが多い気がします(まだ経験が浅いですが)。調べてみてもUE4の入門は、BPを使ってゲームの開発を出来るようにすることに焦点を当てているので、機能部分はあまり見ません(というか必要ない)。これは良いことではあるのですが。

プログラマーとしてBPの基礎は知っておくべきだと感じたので、これを機に調べてみようと思います。

まとめると上記は、BPの基礎能力でしょうか。

  • BPの基礎(フロー制御、継承、インタフェース、関数、ディスパッチャー)を理解する。
  • BPの基本的なノードの機能(回転、移動、拡縮、Timelineや様々なイベント)を把握しておく。

 

以上が今回のゲームジャムで得た自分の課題です。

初めはゲームジャムのことを書こうと思ったのですが、特に説明することがないなと思いやめました(本当にURL先のスケジュールのような感じでした)。

ゲームジャムがどんなところか知りたいという人は、とりあえずゲームを作りたいという気持ちを持ってゲームジャムに参加するのが一番だと思います。特にUnityやUE4のようなゲームエンジンを使うゲームジャムはかなり参加しやすいです。

自分は3Dのゲーム開発はしたことがなく、UE4で簡単な機能を作れる程度の能力ですが、それでも参加をしていくつか機能を作ることが出来ましたから。

ゲームを作る能力がない、でもゲームを作りたいという気持ちがある(これが一番重要です)人は、Unity、UE4などのゲームエンジンを使うゲームジャムに参加するときっと良い経験になると思います。もちろんゲームエンジンを限定していないゲームジャムでも良いです。

特に学生の方は今すぐにでもゲームジャムに参加するべきです。社会人だと今よりも参加しづらくなります。基本土日に開催されると思うので、社会人になるとゲームジャムで丸二日作業して次の日仕事……ってなるので。自分はそれでも人とゲーム開発をしてみたかったので参加しましたが。

学生なら月曜の授業や土日月?のバイトをサボっても良いんです。授業より、数時間のバイトで得た金額よりも必ず得られるものがあります。というのも授業や数千のバイト代はあとで取り返せます。ゲームジャムはその時しかありません。

と、最後に学生の方に向けて書いてみましたが、これは学生のときに何で自分は参加しなかったのだろうと後悔しているからです。一人でゲーム開発をしている方はぜひ参加してみてください。きっと良い日になります。