-シノアリス-におけるUnity活用術」の内容をお伝えしていく。こちらの講演にはポケラボのUnityエンジニアである加茂雄吾氏が登壇し、Unityでのゲーム開発におけるアドバイスが披露された。▲Unityエンジニアの加茂雄吾氏。-シノアリス-』の開発に立ち上げから参画し、Unityを用いたクライアント設計と実装を担当している。自らを“Unity大好きおじさん”と形容する加茂氏は、ポケラボ内では社内のUnityエンジニア育成チームのコーチを務めた、自他ともに認めるUnityのスペシャリストだ。そんな加茂氏が本公演でテーマとしたのは「大規模開発におけるUnityの弱み」そして「弱みの克服法」である。加茂氏は「Unityの弱み」について、仕様上「同時に複数人で同じシーンを編集できないこと」を取り上げた。大規模なチームによる開発において、コアとなるシーンに触れられるのが1人だけとなると、開発スピードのボトルネックとなってしまう。ExecuteEvents」「FSM(ステートマシン)」の3つ。ここでは、それらの詳細を個々に紹介していこう。5.3で追加された複数のシーンを同時の編集する機能だ。これを活用すれば、ひとつの画面を個別のシーンに分割して編集することが可能となる。-シノアリス-』のマイページ画面だ。Sceneと足し合わせる形で構成されているという。別の例としてクエストシーンについても解説された。Sceneの3つに分割管理されているとのこと。これら3つのシーンを別々のエンジニアが開発することで、これまで1人で開発せざるを得なかったボリュームあるシーンの製作を、複数人で分担可能となる。Sceneを除く各シーンの開発ボリュームの差(コード量、およびオブジェクト数)にも大きな差はなく、均等なタスク調整も実現できているようだ。した開発スピード向上にとどまらず、マルチシーンエンディングを用いた開発には、バグを低減する効果もあるという。加茂氏は、バグが発生しやすい環境を「シーン内のモジュールが非常に密結合な状態にある状態」と定義。マルチシーンエンディングを用いて各シーンを明確に分割すれば、階層構造が強制的に保たれた疎結合なコードを実現できると語った。ExecuteEventsExecuteEventsは、特定のインターフェースを持つコンポーネントを一括で操作する機能を持ったメッセージシステムだ。これを用いることで、一部のタスクを軽減することができる。-シノアリス-』においては、クライアントエンジニアとUIエンジニアがペアを組む形で画面を作るケースが多いようだ。こちらの開発は、その分担構造を前提とした内容となる。加茂氏は実装例として、画面上に“報酬A”が表示され、アイコンタップで詳細画面に移行する構造を取り上げた。これを、報酬Aのアイコンにイベントリスナ(onClickなど)を登録したとしても、単に一度実装して完成するだけであれば問題ない。実装後の仕様追加が発生した場合、クライアントエンジニアとUIエンジニアの双方に追加タスクが生じてしまう。した仕様変更は「ゲームの仕様を洗練していく過程で発生する事を前提」として、UI変更はView側のみで完結させるのが最善だ。ExecuteEventsを用いる事で、それが実現可能になるとのこと。Handler)を定義し、Viewがイベントを送信し、Controllerが受信する形式を取っている。以上の構造上、それぞれのコードは疎結合な形が保たれるため、先の例のような仕様追加が発生した場合でも、View側にのみ追加実装が発生する形を実現できるというわけだ。▲実際に用いられているコードも公開された。■FSM(ステートマシン)の活用ここまでで解説された内容は、いずれも「疎結合なコード作成」を企図したものだ。最後となるFSMもまた、それを実現するための手法として紹介された。-シノアリス-』において、15対15のオンラインバトルが展開される「コロシアム」の画面だ。コロシアムは内には「フィールドモード」「蘇生モード」「ギルドシップモード」といった複数の状態が存在し、それぞれを管理する必要がある。開発の当初は、各モードが密結合でバグ発生率の高い状態になっていたが、FSMを導入することでモード別に疎結合な実装を実現したという。-シノアリス-』のFSMが公開された。各モードが明確に分割されており、モードの移り変わりが視覚的に理解できるのがFSMの大きな特徴だ。FSM上で「蘇生モード」から「ギルドシップモード」へはラインが接続されておらず、直接的な遷移が発生しないことを示している。それらが互いを参照する事はなく、疎結合な構造を保つ助けとなっている。排除しする事が容易となる。大規模開発に向かないとされるUnityだが、こうした機能の活用によって分解・分担が可能となる部分も存在する。加茂氏はそうしたUnityの有用性を紹介し、本セッションを締めくくった。毎日つぶやき!スマートフォンゲーム最前線!はてブ毎日配信!スマートフォンゲーム最前線!RSSRSSを登録する毎日更新中。Cygames3DCGアーティスト歴史に残るコンテンツを。最高のコンテンツを作るチームを最高の状態で成功へ導こう。毎日つぶやき!スマートフォンゲーム最前線!はてなブックマーク毎日配信!スマートフォンゲーム最前線!RSSRSSを登録する毎日更新中。Info」の内容は、すべて無断転載を禁止します。商用利用を除き、リンクについてはその限りではありません。サイト上に掲載されているゲームやサービスの著作権やその他知的財産権はそれぞれ運営・配信しているゲーム会社・運営会社に帰属します。