2017年5月11日

Snake Pass 制作者が語るマルチプラットフォーム展開の秘訣

作成 Pete Harrap

みなさん、こんにちは! イギリスのシェフィールドにある Sumo Digital のTechnical Directors、Pete Harrap です。おかげさまで Snake Passを無事ローンチすることができました。我々はニョロニョロ感がたまらないプラットフォーム ゲーム Snake Pass を アンリアル エンジン 4 を使ってマルチプラットフォーム展開しました。今日はその方法についてお話したいと思います。

blogAssets%2F2017%2FMAY+2017%2FSnake+Pass+Tech+Blog%2FSnakePassTechBlog_Pic1-770x417-f91965758cced2d6bbabd91d7305fb7a5ec51b2b

Snake Pass は主人公のヘビ Noodle が縦横無尽にニョロニョロ動き回るゲーム

 

デベロッパーのみなさんの多くは、全く新しいゲームスタイルを一体どうやって複数のプラットフォームに展開すればいいのかという 大きな疑問 を抱くと思います。まずはここから説明しましょう。我々は最初に、リリース対象とする複数のプラットフォームへのシップに必要なすべてのことをサポートしている優秀なゲームエンジンを選びました。そして次に、効率よく作業できる、適切なツールを準備しました。当然ながら「仮想のヘビの作り方」なんていうチュートリアルがあるわけないので、エンジンは包括的かつデザイナーが見やすいインターフェースであることが絶対条件でした。

blogAssets%2F2017%2FMAY+2017%2FSnake+Pass+Tech+Blog%2FSnakePassTechBlog_Pic2-770x433-3d601bf57c0e55c9e79734775abef064960274d7

社内ゲームジャムで初登場した時の Snake Pass

 

Sumo の社内ゲームジャムで作り始めた時、Snake Pass の全体的なデザインコンセプトはとても速くまとまりました。Snake の制御ロジックの所定の構成要素に対してデザイナーがオッケーを出したら、コードチームがそれをネイティブ クロスプラットフォーム コードを使って最適化バージョンにどんどん変換しました。

blogAssets%2F2017%2FMAY+2017%2FSnake+Pass+Tech+Blog%2FSnakePassTechBlog_Pic3-770x252-445bdbc74c1f4247b9ba7c9927cbe885149dcfd1

ヘビのスパイクへの反応を調節するための当時のブループリント

 

Snake Pass は複数のプラットフォームへ展開する予定だったので、残された問題は、アンリアル エンジンでのクロス プラットフォーム開発が、例えば対象プラットフォーム名の右のボックスにチェックを入れてビルド完成!というほど簡単かどうかでした。簡単だったと言えます。ほとんどの処理が組み込まれているので、すべてのターゲット プラットフォームで必ず動くとデザイナーとアーティストが自信をもってゲームを作成し続けることができます。もちろん、ゲーム開発はボックスにチェックを入れて済むほど簡単ではないはずなので、ターゲット コンソールでプロジェクトが初めて動いた時は衝撃的です。

デザイナーおよびアーティストは最先端のグラフィックカード装備のハイスペック PC で作業しようとします。でもこれは、陥りやすい罠です。ハイスペックのハードウェアは与えれば与えるだけ消費する上、さらに要求があがります。一方、コンソールのリソース には限度があるので、注意する必要があります。アンリアル エンジンでマイナーチェンジや調節はできるのですが、ゲームにとって重要な決定ができるのは結局デベロッパーだけなのです。どこまで制限すべきなのか、そのゲームに最適な設定は何か - このような判断はじっくり行う必要があります。デザイナーが追加したいものに対して、アーティストは別の見せ方をしたかったり、でも結局コンソールの処理能力がそもそも足りなかったり。そのような問題の繰り返しです。

blogAssets%2F2017%2FMAY+2017%2FSnake+Pass+Tech+Blog%2FSnakePassTechBlog_Pic4-770x417-20c09b68336e68666c1819519dedf46e32b682ad

コイン見つけた!Noodle はコインを集めながら進みます

 

我々はワールドに草をたくさん使おうと思っていました。Snake Pass に躍動感を出すために、単に草を植えるだけはなく、Noodle が通りすぎると草も揺れるようにしたいなと考えました。全体の負荷だけでなく、コンソールごとの負荷も考える必要がありました。 アンリアル エンジンが提供するシンプルなグローバル設定を使えば草のレベルの負荷は削減されますが、エフェクトを壊さずに草のレベルを作成する必要があります。

blogAssets%2F2017%2FMAY+2017%2FSnake+Pass+Tech+Blog%2FSnakePassTechBlog_Pic5-770x410-c17eee1b0902ce46ab78702577dfb74778275483

当初考えていた草の量

 

次に、すべてのプラットフォームを調整してうまく機能したなと思うと、新しいプラットフォームには別の変数が必要になったりします。

アンリアル エンジンでは効率よくクロス プラットフォーム開発が行えますが、プロジェクトをプラットフォームごとに最適な状態にするには、それなりの作業が個別に発生します。新しいプラットフォームでは、パフォーマンス関連以外にも様々な課題が浮上します。他のプラットフォームでは利用できない機能があったりします (この場合では Nintendo Switch のドッキング機能)。アンリアル エンジンの素晴らしい機能の 1 つは、プロジェクトを 90%の完成度 にまで仕上げるところです。残りの仕上げは コードチームに 託す場合が多いです。ここでは、小さなことに時間がかったりするので、開発時間に幅を持たせた方が良いでしょう。

blogAssets%2F2017%2FMAY+2017%2FSnake+Pass+Tech+Blog%2FSnakePassTechBlog_Pic6-770x433-019c2743db85861e54038e7e281d49f36ed39af8

2 日で仕上げた Switch 向け初期バージョン

 

2016 年 12 月、アンリアル エンジンで行ったクロス プラットフォーム開発は忘れられない経験です。Snake Pass を Nintendo Switch のローンチ タイトルにすることになったのです。「え?Nintendo Switch はサポートされてないのに?」誰もが一瞬そう思いました。それは本当です。そして、エピックが Nintendo Switch 向けサポートを開発中ということをすぐに思い出して、それなら大丈夫だと確信しました。ローンチまで恐ろしいほど迫っていましたが、アンリアル エンジンの Nintendo Switch 向けサポートはほぼ完了していたので、我々は絶対に間に合わせる自信がありました。

blogAssets%2F2017%2FMAY+2017%2FSnake+Pass+Tech+Blog%2FSnakePassTechBlog_Pic7-770x437-cfb31c93e37f756da7bf0837dc2467c0effbee99

Switch 向け最終バージョン

 

ローンチ タイトルに間に合うように、NVIDIA GPU スペシャリストを始めとするエピックの主要メンバーとがっちりタッグを組みました。このような支援があって、我々は 2 日でビルドを仕上げて Nintendo Switch で動かしました。そしてローンチまでの 2 ヶ月間で、Switch 特有のドック / ドック解除モードに対応するできるように、必要な最適化をすべて行いました。

blogAssets%2F2017%2FMAY+2017%2FSnake+Pass+Tech+Blog%2FSnakePassTechBlog_Pic8-770x433-e168da51268cb5fd82721bd2cd3c51dbade5c4f6

ローンチ タイトルに見事登場!

 

このようにして Snake Pass は、我々 Sumo の誰もが大満足のゲームとなり、また、アンリアルが大小問わず世界の主要プラットフォームのデベロッパーとプロジェクトの強力な味方となってくれることを実証するクロス プラットフォーム タイトルとなりました。嬉しいことに、アンリアル エンジンはデベロッパーに新機能と最適化を提供し、どんどん進化しています。UE デベロッパーにとって今後のプロジェク開発はますます快適になっていくことでしょう。

最後までお読み頂いてありがとうございます!Sumo Digita の詳細は  公式サイト をご覧ください。