Unity を検索

『Subway Surfers』の舞台裏:SYBO 社を招いての質疑応答

2022年6月16日 カテゴリ: ゲーム | 11 分 で読めます
Subway Surfer characters superimposed on famous landmarks
Subway Surfer characters superimposed on famous landmarks
取り上げているトピック
シェア

2 人の学生の夢は、いったいどのようにして 30 億ダウンロードされるアプリとして結実したのでしょうか。10 年前、SYBO 社は後にエンドレスランナーというジャンルの形を定義までになった『Subway Surfers』というゲームをリリースしました。最初の 3 日間で 100 万ダウンロード、その後 8 か月で 1 億ダウンロードと、SYBO 社は弾丸列車のような勢いで、史上最も人気のあるモバイルゲームの 1 つを作り上げたのです。

CEO の Mathias Gredal Nørvig 氏とテクニカルディレクターの Murari Vasudevan 氏に、SYBO Games と『Subway Surfers』の舞台裏を聞いてきました。この短い質疑応答では、ゲームの起源とテーマについて掘り下げ、ゲームの規模拡大、セルフパブリッシング、再構築に関する洞察を聞くことができました。 

 

Subway Surfers』のコンセプトの背景には、どのようなストーリーがあるのでしょうか。

Mathias Gredal Nørvig 氏:創業者の Sylvester と Bodie は、グラフィティ、ブレイクダンス、ストリートアートといったサブカルチャーの出身です。2 人はアニメーションスクールで出会いました。当時、Bodie はストリートウェアを扱う洋服屋をやっていて、Sylvester は書店売りの雑誌向けの絵を描いていました。15 年前、それが小さなサブカルチャーだったことから、彼らはつながったのです。彼らは卒業制作も共に取り組み、『Trainbombing』という、電車の車両に落書きをして警備員から逃げる若者が登場する作品を一緒に作ることになりました。この作品は YouTube で今も見ることができます。つまり、『Subway Surfers』の出発点と、この短編アニメ作品の出発点は同じなのです。 

彼らが目指したのは、私たちがよく知っているランゲームというジャンルを完成させることでした。つまり、常に傾いた水平線が遠くに見え、急カーブはなく、スワイプで操作できるゲームです。彼らは明るく鮮やかな色で、ポジティブで高揚感のある空間を演出しようとしました。また、多様性と包摂性を前面に出すことも重要でした。そうして生まれたのが「ワールドツアー」というコンセプトで、クルーはどの都市に行っても、地下鉄があり、そこがホームグラウンドだと感じられるようになっているのです。

Three Subway Surfer characters standing in a yellow background

このコンセプトは、これまで数年にわたってどのように実践されてきたのでしょうか。

Mathias:これまでに、『Subway Surfers』クルーとして数百に及ぶキャラクターが登場し、100 か所ほどを旅してきました。誰もがサブウェイサーファーになれるということを大切にし、多様性を前面に押し出しています。私たちはプライドを祝い、レディーガガのボーンディスウェイ財団と協力して、#BeKind21 キャンペーンを実施しました。また、私たちの目的は、私たちのプラットフォームでできる限り良いことをすることであり、それがグリーンプロジェクトやインパクトプロジェクトにインスピレーションを与えています。

Subway Surfer character with a backpack in a forest

これだけのスピードで拡大する中で、最も大きな課題は何だったのでしょうか。

Mathias 小さなスタジオにとって、1 億人のプレイヤーを持つゲームをサポートするのは、ほとんど不可能に近い仕事です。こんな大規模なゲームを若いチームが運用していたなんて、とても理解が及びません。業界の成長とともに、私たちも Unity も成長してきましたので、パラメーターを含め、すべてが急速に変化していきました。 

Subway Surfers』をプレイする際に可能な限り最高の気分を味わっていただくことを当初からの目標としており、すべてのステップと意思決定においてこれを念頭に置いています。

2020 年半ばには、モバイルプラットフォーム向けのパブリッシングを引き継ぎました。この 1 年半、私たちはセルフパブリッシングの方法をスピード学習してきました。 

私たちはこれまでゲームの改良を重ねてきましたが、なお成長と最適化の余地があります。セルフパブリッシングを引き継いだ初期に、私たちのプレイヤーベースの 10% だけを使って広告プラットフォームの運用を開始したのですが、それですでに 1,000 万人もプレイヤーがいたためにハッカーだと思われて、広告プラットフォーム上で停止されたことがありました。

 

技術的な課題はいかがでしょうか。

Murari Vasudevan 氏:技術面では、iOS や Android の場合、端末数の規模が非常に大きいです。Android の場合、2 万台以上のユニークなデバイスがあります。パブリッシングを引き継いだ際、すべてのターゲットデバイスでゲームがスムーズに動作するようにする必要がありました。 

パフォーマンスの例外やクラッシュ、アプリケーションが応答しないなどの問題が発生しました。本番環境で起きているそれぞれの問題のスケールの大きさ、そしてそれをリアルタイムで診断する必要性があることに、私たちは対処したのです。プレイヤーベースを遠ざけることのないよう、Unity プロファイラーを見て、最適化し、読み込み時間を工夫する必要がありました。読み込み時間は、オリジナルと同等かそれ以上のものを確保する必要がありました。 

例えば、ステージのジオメトリをバッチングすることでドローコールを減らし、コインの回転は GPU 上のシェーダーではなく CPU 上の C# スクリプトで行うことでドローコールをさらに減らし、ステージ生成時には UI の再描画を最小限に抑え最適なタイミングで生成し、ユーザーが見ることができないほどのコンテンツを生成しないなどの工夫をして、ローエンドのスマートフォンでも快適にゲームができるようにしました。Unity プロファイラーとフレームデバッガーを使えば、これらの工夫がどのように機能しているのか、より簡単にモニターすることができます。また、Unity のさまざまな品質設定を使って、ローエンドのデバイスでの fps とリフレッシュレートを最適化しています。

私たちは、ブートストラップファネルを調整し、コードを最適化することに多くの時間を費やし、私たちのプロセスが本当に効率的であることを確認しました。プレイヤーが何をしているのか、様々なステージをどのように進んでいるのか、どこで脱落しているのか、多くの分析を行う必要がありました。これは、多くのデバイスとプレイヤーを引き継いだからこその流れであり、当初から継続して立ち向かわなければならない課題でした。

Subway Surfer character riding a dragon on train tracks

ゲームを再構築し、特別なゲーム感覚を維持するための作業はどのようなものでしたか。

Mathias:なかなか興味深いプロセスでした。コードベースを固め、最適化すべきだということは分かっていました。プログラマーがスパゲッティコードと呼ぶような場所でも、最適化されたコードは実際にパフォーマンスが低下していました。なぜなら、よくない方法で書かれた、しかし長いコードの複雑さが問題をもたらしていたからです。ロジックが完璧だから 2 行で書けると思っていたのに、そうすることで見落としていた部分があったということもある。またそうした問題を取り除くために、コード行を追加しなければなりませんでした。 

ゲームの秘伝のタレにあたる手触り感に関しても、アニメーターが同様の問題を認識していたようです。ベテランのアニメーターは、より良い実行方法を提案していましたが、結果は旧バージョンと同じように良いとは思えませんでした。現在でも、ランゲームとしての最大の財産は、完璧な手触り感、そしてアニメーションの滑らかさです。課題を解決するためには、創業者、SYBO 社のチームの最古参メンバー、そして熱狂的なファンの方々にプレイしていただき、その都度フィードバックを得ることが必要でした。創業者の従兄弟が延々とプレイして帰ってきて、「ある高次のステージまで進むと、ロジックが壊れる」と言ってくることもありました。フィードバックは非常に参考になりました。

Murari:調整を重ね、最終的には以前の状態に戻しましたが、コードベースはより強固なものになりました。書き直したコードは、よりすっきりしたものになりました。以前のコードベースにはほとんど存在しなかった、データ駆動型パターンと Scriptable Object、そしてシステム間でメッセージを受け渡すためのイベントを使用しました。それはある状態から別の状態に移行することを、視覚的に設定できるステートマシンでした。 

そして最後には、私たちがそこから学び、リライトには入っておらず、また私たちがレポートしなければならない無数の物事に匹敵する「if 文」が 100 種類ほどありました。例えば、電車に乗っているときにスワイプしても、キャラクターが電車から降りてくるのに十分な速度で動かないのです。社内テストでは、電車からすぐに降りられずに何度もやられてしまうということがわかりました。この問題は 1 ミリ秒の範囲の誤差というだけだったのですが、実際に体感できるものでした。

Mathias:チャンク生成の部分もそうでしたし、欠陥だらけ、魔法のコードだらけの古いロジックに従ったステージ生成部分もまた、同じでした。しかし最適化したらしたで、オリジナルにない要素があると文句を言われるようになりました。加速度も問題になりました。プレイヤーは 2 つの異なる方法で生成されるため、スタート時の速度と加速度について問題があることがわかりました。新しいバージョンでは、プレイヤーが少し早くスタートし、同じビートになることで、最も熱心で頻繁にプレイするプレイヤーに違和感を与えていることに気づきました。2012 年バージョンのルックアンドフィールを維持するために、あらゆる面で見直しと再設計が必要でした。

 

学ぶべき大きな教訓は、古典に逆らわないということです。そして、10 年間で 30 億ダウンロードを記録した『Subway Surfers』は、間違いなくその資格を有します。 

もっと知りたい方へ。新しいケーススタディでは、SYBO 社と Unity のパートナーシップが、『Subway Surfers』を史上最高のモバイルゲームの 1 つに成長させるうえでどのように役立ったかを紹介しています。

SYBO 社の持続可能性および社会貢献活動の詳細については、新しいインタビュー動画をご覧ください。

このコンテンツはサードパーティのプロバイダーによってホストされており、Targeting Cookiesを使用することに同意しない限り動画の視聴が許可されません。これらのプロバイダーの動画の視聴を希望する場合は、Targeting Cookiesのクッキーの設定をオンにしてください。

2022年6月16日 カテゴリ: ゲーム | 11 分 で読めます
取り上げているトピック