『ミリシタ』開発スペシャルチームが執り行ったプロジェクト“AKANE大作戦”とは……?“Unite Tokyo 2018”開発秘話編

2018-05-09 21:39 投稿

ゲーム開発の裏側に注目!

2018年5月7~9日に、Unityの開発者向けカンファレンス“Unite Tokyo 2018”が都内で開催された。“Unite Tokyo”では、開発者同士が開発の過程で知り得た知見やテクニックの共有を目的とした講演が数多く行われるとあり、会場にはメーカーに所属する開発者はもちろん、個人開発者も多く足を運んでおり、盛り上がりを見せるカンファレンスとなった。

ここではそんな講演の中から、スマホ向けアプリを開発する上で行われた試行錯誤、開発秘話などが語られた“なんとっ!ユナイト!ミリシタをささえる『AKANE』大作戦とは?”、“60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計”の2本をまとめて紹介していこう。

開発者でなくてもわかるように、可能な限り噛み砕いてお届けしていくので、それぞれが現在のグラフィックを獲得するまでに、どのような挑戦をしたのか、その努力の過程を感じてみてほしい。

『ミリシタ』を影で支えた精鋭たち

“なんとっ!ユナイト!ミリシタをささえる『AKANE』大作戦とは?”の題目で講演をしてくれたのは、バンダイナムコスタジオでリードプログラマを務める池田早人氏と、プログラマーを務める加藤政樹氏。

IMG_0290

『アイドルマスター』という人気IPを使ったスマホゲーム『アイドルマスター ミリオンライブ! シアターデイズ』(以下、『ミリシタ』)の開発において発生した問題点を、どのようにして解決していったのかが語られた。

ずばり、『ミリシタ』開発時に浮上した問題点とは、動作の重さ。開発当初は、テストを快適に行えるiPhoneでしか行っていなかったため、Androidやモデルの古いiPhoneではカクつきがひどくプレイが出来ないほどだったという。

そこで急遽、開発チームは開発ラインとは別動のスペシャルチームを発足。スペシャルチームによってプログラムの最適化を図るプロジェクトが立ち上げられたという。そのプロジェクトこそが、講演の題目にも入っている“AKANE大作戦”である。

IMG_0305

ちなみに、“AKANE大作戦”の由来は、“アンドロイド高速化 and ネイティブ化(Android Kousoku-ka And NativE-ka)大作戦”の略称であり、「何かコードネームを付けたほうが、楽しく作業できそう」という考えから採用されたものだという。

このスペシャルチームは「キャラクターモデルのクオリティは絶対に落としたくない!」という信念のもと、『ミリシタ』の最適化に挑み、PDCAサイクルをくり返して最適化に成功したという。その最適化によって得られた最大の成果というのが、スマホのスペックでは驚きの“13人ライブの実現”である。

IMG_0311
IMG_0314

ここまでの最適化を成し遂げるには、大小さまざまな施策が取られたが、池田氏は「チリも積もれば山となる。些細なことでもしっかりと積み上げていくことが大事です」と、最適化をする際の心構えを示してくれた。

IMG_0315

『アカとブルー』は最適化で60fpsを実現

講演“60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計”では、株式会社タノシマスのプログラマー、藤岡裕吾氏が登壇。

スマホ向けシューティングゲームとして誕生し、現在アーケードシーンへと回帰するべく開発が進められる『アカとブルー』。弾幕ゲーでもある本作が、どのようにして多量のオブジェクトをスマホで高速処理したのかが語られた。

IMG_0424

藤岡氏は講演でまずこう語った。

「Unity製だとスマホ上での動作が重くなるという時代は、もう終わっています。Unityは非常にフレキシブルなツールなので、使いかた次第なのです。場合によってはツールを自作する必要もありますが、Unityはモバイルシーンでも活躍できるツールです」

IMG_0431

本講演で藤岡氏が口酸っぱく語ったのは、昔の技術はいまでも活かせるという内容。これはエンジン時代となったいまでも、C言語、C++言語で培った技術は、ゲームを設計、そして最適化する点で有用であるということのようだ。

また藤岡氏は「スパイクは絶対に起こさないようにという考えが大前提です。スパイクがあるだけで、どんなにいいゲームでも一瞬でクソゲーになります」と語る。

IMG_0478

スパイクとは、瞬間的に生じる高負荷によってゲーム画面が一瞬~1秒ほど止まってしまう現象。中にはOS側が持つ原因でスパイクが起きてしまう、どうしようもない事態もあるが、それ以外が原因となっている場合は絶対に回避する必要があるという。

また、加えてスパイク対策を始めとする最適化は、開発最初期と開発末期に動くことが重要で、とくに開発最初期の最適化に行うものがカギになってくるという。

開発初期での最適化とは、設計段階から問題が起きそうな箇所の対策を含めた設計をするということだ。スタートアップメンバーを信頼できる中堅~ベテランのプログラマーで固めることで、少ないやり取りで集中して設計が進められるよ環境を整えるのが重要なのだそう。

IMG_0437

もちろんこれには、開発途中で大きな変更が行われ、それが原因で不具合が発生するのを防ぐ目的もあるとのこと。

その後、藤岡氏は具体的にソースコードを並べながら「こういった問題はこういった手法で回避できる」、「こっちのコマンドを使うよりも、こっちを使ったほうが処理は圧倒的に早くなる」と語り、会場からは関心の声と、来場者が絶対に覚えようという気概のこもったタイピング音が響いていた。

このように、藤岡氏はさまざまなテクニック、施策を駆使することによって、超本格弾幕STG『アカとブルー』を60fpsで描画させることに成功したようだ。具体的な話が気になる人は、公開されている講演資料を見てみるといいだろう。

Amazon人気商品ランキング 一覧を見る

最新記事

この記事と同じカテゴリの最新記事一覧