こんにちは。レバテック営業の町野です。
2015年春、最新バージョンの5が発売されたゲームエンジンUnity。ハイクオリティで効率的な制作を実現する新機能を搭載し、ますます注目を集めています。
今回はそんなUnityを活用し、人気スマートフォン向けゲーム「ウチの姫さまがいちばんカワイイ」の制作を手がけたサイバーエージェント社のエンジニア、渡邉俊光(わたなべ としみつ)さんにインタビュー。
Unity活用のポイントやメリット、Cocos2d-xとの違い、そしてヒット作の舞台裏まで、くわしく伺いました。
渡邉 俊光氏 PROFILE
株式会社サイバーエージェント アメーバ事業本部
ゲームセクション Amebaゲームスタジオ Unityエンジニア
高校時代からFlashを使い、2Dのゲームを作り始める。
中央大学進学後は、有志でJavaやC♯、C++などの言語を用いて、3Dゲームを作成。
2012年4月、サイバーエージェントに入社。
研修を経て「ウチの姫さまがいちばんカワイイ(※以後、〔ウチ姫〕で統一)」開発チームに配属。
2013年8月、同タイトルをリリース後、二人麻雀ゲーム「雀王」の開発などを経て、新規Unityプロジェクトでのクライアントリーダーを担当している。
- 1. 入社3ヶ月で配属されたのは、社長命令の「ウチ姫」プロジェクト
- 2. ウチの姫さまをいちばんカワイイ!と思ってもらうための強いこだわり
- 3. Cocos2d-xと比べて分かる、Unityならではの強みとは
- 4. アプリ配信にテストまで。アセットを有効活用し、Unity開発をパワーアップ
- 5. 玉転がしゲームから始まったUnityエンジニアとしてのキャリア
- 6. Unityでのゲーム開発を検討するとき、おさえておくべき情報とは?
- 7. 最新版のUnity5で強化されたポイント、改善が望まれるポイント
- 8. Unityが変えるゲーム開発の今後
- 9. 「たまたまUnityがあった」くらいの姿勢で。広い視野のエンジニアと働きたい
1. 入社3ヶ月で配属されたのは、社長命令の「ウチ姫」プロジェクト
-まず、「ウチ姫」とはどういったゲームなのかを簡単に伺えますか。
渡邉氏:プレイヤーが、呪いをかけられて蛙になった王子に扮して、世界各地で囚われているお姫様を救い出していくアクションファンタジーゲームです。お姫様たちは特別な力を持ち、王子は彼女たちと協力して、お茶目なモンスターたちをやっつけていきます。
プレイヤーが王子をはじめキャラクターなどを引っ張り、ピンボールのように敵を倒していく、いわゆる「引っ張りゲー」のひとつですね。
-渡邉さんは、「ウチ姫」チームに途中から参加されたと伺いました。具体的にはどのあたりからでしょうか。
渡邉氏:プロジェクトが企画として具体的に動き出したのは、2012年4月頃。全社を挙げて6本のゲーム制作に取り組むことになり、「ウチ姫」はそのうちの1本でした。僕が「ウチ姫」に入ったのは、それから3ヶ月後くらい。実際開発がスタートしてから一月くらいのタイミングで、ほとんどまだ何もできあがっていない状態でした。
2. ウチの姫さまをいちばんカワイイ!と思ってもらうための強いこだわり
-そんななか、「ウチ姫」の制作をされるうえでこだわった部分とはどこでしょうか。
渡邉氏:とにかくいかにお姫様を可愛く見せるか、ということです。特に王子が助け出したお姫様の画像部分は、他の一般的なスマートフォンゲームよりも、解像度を4倍程度高くしています。ズームをして見ていただいても、ほとんど画像が荒れることがないように、高精細なデータに仕上げています。
-なぜ助け出したお姫様の画像だけを、高解像度にされたのでしょう。
渡邉氏:ユーザーによろこんでもらうためです。ユーザーは、自分が助けたお姫様だけを美しく見れることによってお姫様に愛着を感じますし、同じようには見ることができない他のユーザーへ、優越感も覚えてくれるはずです。タイトルにもある通り、ユーザーに「ウチの姫さまがいちばんカワイイ」と感じてもらえるようなギミックを考えました。
-それにしても解像度が通常の4倍とは、突出してますね。
ええ。個人的に解像度の低いゲームを許せなくて(笑)。よく、せっかく元画像はきれいなはずなのに、スマホの画面に表示される画像が荒い状態だったり、ぼやけていたりするゲームを目にします。そうなるとユーザーとしてがっかりするんですよね。だから「ウチ姫」ではそうならないように、助け出した姫の画像を元データに近い高精細な状態で使いたいとお願いしました。
あとは絵師にお願いして、姫の画像に拡大しないと気がつかないような細かい描写をいくつも加えてもらっています。ユーザーの皆さんが、そうした演出に気づいてくれたらうれしいですね。
-社内には、アイディアや意見を言いやすい環境があるのでしょうか。
渡邉氏:はい。たとえ僕みたいな若手の発言であろうが、サイバーエージェントには良い物を生み出すためのアイディアや意見を歓迎する風土があります。「ウチ姫」プロジェクトでも、イラストを管理していたスタッフがとても柔軟で、僕のリクエストもしっかり吸収して、形にしてくれました。
-きっとご苦労もあったと思うのですが。
渡邉氏:実は、途中で企画が定まらなくなったり、リソースが足りなくなったりと、さまざまな問題が起きました。それで、2012年12月にいったん数名のコアメンバーだけを残して、「ウチ姫」のプロジェクトが解散しているんです。当時を振り返ると、仕方がない部分もあったかと思いますが、とにかく悔しくて。
その後、他のゲーム開発の仕事に携わりながら、諦め切れずに「ウチ姫」のプロジェクトが再始動するタイミングを待っていました。残ったコアメンバーは、僕たちがチームを離れた後も素材を揃え続けてくれたり、社内環境を調整してくれたりして、いつでもリスタートが切れるように準備をしてくれていました。
そして2ヶ月たった頃、ようやく待ちに待った再開のときが訪れたんです。あのまま「ウチ姫」プロジェクトが無くなってしまっていたとしても、おかしくはありませんでした。今、「ウチ姫」をたくさんのユーザーにご利用いただけているのも、あの時にがんばってくれたメンバーがいるからです。
3. Cocos2d-xと比べて分かる、Unityならではの強みとは
-そんななか「ウチ姫」プロジェクトで、Unityを導入されたきっかけとは何だったのでしょう。
渡邉氏:サイバーエージェントでは、比較的昔からUnityを活用していたんですよね。例えば、2011年8月にリリースされた「くるくるベジタブル」というスマホゲームも、Unity制でした。僕が内定をもらった時期によくプレーをしていたので、記憶に残っています。その頃からUnityを使っていたメンバーが「ウチ姫」のチームにも数人いて、扱いやすかったという背景もあり、取り入れました。
-サイバーエージェントさんでは、他のゲームでCocos2d-xを採用されているケースもあるとか。UnityとCocos2d-xとを比較したときに、Unityならではの強みとは何だと思いますか。
渡邉氏:そうですね。Unity活用の最も大きなメリットは、簡単にエディターの拡張ができるということだと思います。例えば「ウチ姫」では、モンスターの配置ツールなど、Unity以外のエンジンで作ると面倒なことになってしまうケースも多いんです。
でも、Unityで作っていれば、後から誰でもデータを調整できるようになります。プランナーやディレクターがパソコンにUnityをインストールして、ゲームのテストをするなどということも簡単です。それが、Unityの一番の強みでしょう。
-なるほど。他にはどんなUnity独自のメリットがありますか。
渡邉氏:やはりエフェクトですね。Unityだと、アセットストアで無料の素材をダウンロードして、手軽に試すことができます。そのメリットは大きい。あとは速さです。実際、他の会社ではCocos2d-xでさまざまなエフェクトを制作していますし、やろうと思えばCocos2d-xでできることも多いでしょう。しかし、Unityだと実効速度が段違いに早いんですね。
また、今回「ウチ姫」の3Dを、Unity以外のエンジンを使って制作することは、なかなか厳しかったと思います。Unityだと、3Dの当たり判定をそのまま利用できたり、シェーダーを手軽に調整できるようになっています。
例えば、描画の表現にアウトラインをつけたりする作業も楽にできるんです。「ウチ姫」では、そうしたシェーダーと最適化にまつわる作業をすべて自分で実装しましたが、いろいろ簡単に楽しめるのが魅力的でしたね。
-つまり、Unityは利便性が高いんですね。
はい。シェーダーもプログラミング言語であるため、コンパイルが必要です。そんななか簡単に見た目を変えることができて、データを保存した瞬間に実行しなくても見た目をすぐに確認できるので、とても便利ですね。
-渡邉さんご自身は、どちらのエンジンがお好きですか。
渡邉氏:個人的には、それはもうUnityですね。「雀王」という麻雀ゲームを制作するときに、モックの段階でCocos2d-xに初めて触れたのですが、想像より多くできないことがあり驚きました。
Unityだったら難なくできることも、Cocos2d-xではさまざまな制限がかかり、予想外のストッパーに。コアな部分まで書き換えればできたのだと思いますが、やはり機能に物足りなさを覚えずにはいられませんでした。Cocos2d-xにも、デザイナーの配置ツールなどエディターが必要です。だったらUnityを最初から入れたほうが、話が早いですよね。
4. アプリ配信にテストまで。アセットを有効活用し、Unity開発をパワーアップ
-「ウチ姫」プロジェクトでは、どんなアセットを使っていましたか。
渡邉氏:一番よく使っているのは、NGUIですね。使いはじめたきっかけは、Unityの標準機能で上手いUIが作れなかったこと。ほかにもEZGUIなど目ぼしいアセットが数種類あったのですが、なかでもNGUIは完成度が高かったため、選びました。
あとは、JenkinsとHockeyAppです。特にHockeyAppは、アプリの配信ができるので便利です。AndroidやiOSのアプリをJenkinsで自動ビルドしたら、勝手に上がります。そして、誰でも最新の状態をチェックできるようになるんです。しかも、定期的にビルドされるので、変更があれば適宜反映されます。
-アプリ配信の労力を減らすことができますね。
渡邉氏:そうですね。かつて「ウチ姫」ではテストチェックを手作業で行っていましたが、JenkinsとHockeyAppを導入したことで、自動化が可能になりました。人為的なミスも防止できるようになりましたし、テストにかける時間と手間を減らすことができました。
さらに、HockeyAppにはエラー情報を送る機能があるんです。それを「ウチ姫」でも導入していて、ユーザーがアプリをクラッシュさせたりすると、その情報がHockeyAppに上がります。すると、例えばバージョンごとに何万件の情報が来ている、などとエラーの状態を簡単にチェックできます。
だから、エラーが出たときにHockeyAppで調べれば、「あ、これが原因かな?」とすぐに分かりますし、全体の状態を把握しやすいんです。結果、エラーを想定しやすくなり、改修もしやすくなりました。
5. 玉転がしゲームから始まったUnityエンジニアとしてのキャリア
-渡邉さんご自身は入社前からUnityを使用されていたんですか。
渡邉氏:いいえ。サイバーエージェントで内定者アルバイトをしたときに、初めてUnityに触りました。それまではOpenGLや、Windowsで開発していました。
-どのようにしてUnityを習得されたのでしょう。
渡邉氏:アルバイトのとき、すでにUnityを触っていた先輩社員の方から、「玉転がし」ゲームを作ることをすすめていただきました。当時はあまりUnityに関する資料がなくて、その「玉転がし」ゲームがUnityを使ったゲーム開発の基本を学ぶ教科書代わりでした。玉をコロコロ転がして穴に落とす単純なゲームですが、当たり判定やイベントなど、Unityを用いたゲーム作りのいろはを、ひと通り身につけることができます。
あとは、Unityは比較的分かりやすいですから、特別なことを何もしていないんですよ。実際に業務で使う段階になると、リファレンス本を読んだりはしましたね。また、恒例イベントの「Unite Tokyo」には顔を出すようにしています。
高橋啓次郎さんなどエバンジェリストの方々の講演を聴いていると、「あ、そうすればいいんだ!」などとヒントを得ることも多いです。Unity関連のブログも見たりして、日ごろから新しい技術をチェックするようにしています。
6. Unityでのゲーム開発を検討するとき、おさえておくべき情報とは?
-Unityで開発をするときに、あらかじめ把握しておくといい情報はありますか。
渡邉氏:先ほどお伝えしたリファレンス本など、今は便利なツールが沢山ありますので、そうした情報に目を通して、Unityでできることは事前に知っておいたほうがいいと思います。でないと、自分で実装しようとしてしまうので、いらない手間がかかってしまいますよね。特にリファランス本にはサンプル付で丁寧に解説されていて、分かりやすい内容のものが多いです。
また、アセットストアもチェックするようにしましょう。他の方が作った素材やプラグインなどが、無料または有料で配布されているので、それを活用しないのはもったいないですよね。探してみると、結構な割合で目当てのものが提供されていますよ。
7. 最新版のUnity5で強化されたポイント、改善が望まれるポイント
-先日、最新バージョンのUnity5がリリースされましたね。
渡邉氏:そうですね。Unity5になって一番重宝しているのは、モバイル向けの部分だと思います。iOS とAndroid、それぞれ個別で設定が行えるようになったのはありがたいところです。
今までは、機種依存のファイルを特定のフォルダに入れないと認識しなかったため、時折使いづらさを感じることがありました。でもUnity5なら、ファイルを自分の好きな場所において設定すれば、しっかりと読み込んでくれます。
アセットバンドルについても、昔は非常にたくさんの処理を書く必要がありましたが、Unity5ならそうした手間はかかりません。
-使っていると、さまざまな進化を感じられるわけですね。
渡邉氏:はい。他にもアセットバンドルの差分データの抽出作業が、ずいぶんと楽になりました。これまでは差分データを取り出すのが大変で、ずいぶん工数を取られてしまっていました。Unity5では、ソースコードを一行入れるくらいで済みます。作業が大幅に簡略化されました。
-今後Unity5に期待することはありますか。
渡邉氏:Unity5ではアセットバンドルの仕組みが新しくなり、簡単にはなりました。ですが、標準ではまだまだ運用に耐えられるような設定ができません。その部分をぜひ今後、改良していただきたいと思います。
8. Unityが変えるゲーム開発の今後
-最前線で活躍される立場から、今後のゲーム開発はどのように進化していくとお考えですか。また、Unityはそのなかでどんな役割を果たしていくでしょうか。
渡邉氏:将来、プランナーやデザイナーなど、誰でもゲーム開発をできるようになると考えています。そしてプログラマーは、プログラムの最適化や効率化ぐらいしかすることが無くなってしまうのではないでしょうか。
10年、20年というスパンで見ると、使われる技術が別物になってくるので、どうなるか分かりませんが、直近では、最適化や効率化では必ずプログラマーの手が必要になります。でもUnityを用いれば、プログラマー以外の人間が作業できる領域が格段に広がります。
-エンジニア以外の方も、積極的にUnityを触れるようになると?
渡邉氏:はい。Unity自体、もともとそうした方針で開発されています。ほとんどプログラミングを知らない人でも、扱えることを念頭において作られています。少しだけコードを書くことができれば、ゲーム開発をできる手軽さがあります。
-プログラマーさんの立ち位置が変わってくるイメージでしょうか。
渡邉氏:ええ。Unityではレベルデザインなども全部できるんですよね。将来はきっと、プランナーやデザイナーがもっとUnityを触るようになるでしょうね。そして、一度プログラマーが作りさえすれば、あとはそれ以外の人間が、Unityを使って作業を完結できるようになるはずです。おそらくUnity側でも、そうした青写真を描いているでしょう。
-Unity導入を検討中の企業へ、ひと言お願いします。
渡邉氏:やはり、使用料を除けばUnity以外の選択肢はあまり無いと思います。実は「ウチ姫」ではもともと、Cocos2d-xとUnity、どちらも使う予定でした。しかし、前者だと設定などにすごく時間がかかってしまったので、導入を見送りました。
また、UnityはFlashを触っていた人にも操作しやすいので、すぐ制作に取り掛かることができたのも好都合でした。「ウチ姫」のゲームプランを作っているスタッフが、もともとフラッシュで制作をしていて、「ウチ姫」プロジェクトからUnityを使うようになったんです。やはりUnityを「使いやすい」と評価していますし、試してすぐに動かせことが何より便利なようです。
他にもC++などと比べるとバグも少なく、Unityのそうした強みは、「ウチ姫」の開発に確かなプラスの影響をもたらしました。社内は結構、Unity寄りになってきているという印象を受けます。
-「これからUnityを覚えていこう」というエンジニアさんへも、ひと言いただけますか。
渡邉氏:まずは、自由に作りたいものを作ってみることだと思います。単純に勉強だけをしていても、Unityではあまり意味がありません。誰かから言われた通りに何かを作っても、わりと簡単にできてしまうものなんですよね。
いっぽう、自分で作りたいものを作っていくと、見事にいろいろな障害物にぶつかります。個人でUnityを学ぼうという人には、それが大切なプロセスになるはずです。だから、どんどん自由に挑戦してみてください。
9. 「たまたまUnityがあった」くらいの姿勢で。広い視野のエンジニアと働きたい
-これからますますUnityを扱うエンジニアさんの数は増えてくることでしょう。
渡邉さんはどういう方と一緒に働きたいですか。
渡邉氏:そうですね。やる気があることは大前提で、ゲームが本当に好きな人がいいですね。やはりゲームが好きではないのに、作っていてもどうしようもないです。あと「絶対にUnityを使ってゲーム開発をやりたい!」ということではなく、「たまたまUnityがあったから」くらいのスタンスでUnityを利用するほうがいいでしょう。
Unityは基本的に、何でも実現しやすいんです。ほかのエンジンのほうがいいと思うのなら、それでもいいでしょう。Unityに限らず広い視野を持って、ゲームを作っていく情熱を持っている人が望ましいですね。
-Unityを扱うエンジニアさんとして、渡邉さんご自身の抱負について伺えますか。
Unityに限ったことではないのですが、まずは新規プロジェクトを円滑に進めることですね。「ウチ姫」もそうでしたが、今回もかなりのスピードが求められています。きちんとスケジュールを切って工数を出し、担当を決めて。本当はごく当たり前のことなのかも知れませんが、制作の現場ではなかなか当たり前のことを実行することが難しいんです。
そんななか、Unityのスピードと便利な機能にはいつも助けられていますし、とても頼りにしていますね。
-ありがとうございました。
人気のゲームタイトルを、次々と世に送り出すサイバーエージェント社。
その若手エンジニア 渡邉さんが語るUnity活用のお話は、Unityをすでに使っているというエンジニアの方にも、これからUnityを学ぼうというエンジニアの方にも、今後の開発の参考にしていただける内容がたくさん含まれていたのではないでしょうか。
サイバーエージェント社では、今回取材させていただいたゲーム事業を始め、下記のような職種で人材を募集中です。ご興味のある方は、こちらよりお問い合わせください。
レバテックキャリア
株式会社サイバーエージェント 取り扱い求人
【 スマートフォンアプリエンジニア(Unity/Cocos2d)アメーバ事業本部 】