本田翼さんが製作総指揮し、2021 年 6 月 8 日にリリースされたスマホゲーム「にょろっこ」。その開発を担当したのが、ゲームやスマホアプリの開発を手がけるナウプロダクションです。同社は限られた予算と時間のなかで効率的にゲームを開発するために、マイクロソフトが提供するゲーム開発のためのバックエンドサービス「Azure PlayFab」を活用しました。その際は Microsoft Teams やリモートデスクトップを活用したリモート開発体制を構築。運用フェーズに入ってからも、ユーザーの動向を把握して運用の最適化を進める「LiveOps」を推進しています。

ゲームタイトル「にょろっこ」の開発から運用までをAzure が支援

1986 年に創業し、家庭用をはじめとするゲームやスマホアプリの開発、パチンコ・パチスロの液晶ユニットの開発などを手がける株式会社ナウプロダクション(以下、ナウプロ)。これまでに開発したゲームソフトは 350 タイトル以上におよび、Xbox One、プレイステーション4、Nintendo Switch などあらゆるゲーム機に対応したマルチプラットフォーム開発を得意としています。

2003 年からはコンテンツプロバイダーとして、KDDI、NTTドコモ、ソフトバンクモバイルの公式サイトの企画・開発・運営を開始。コンテンツデベロッパーとして 140 タイトル以上の携帯アプリを他のコンテンツプロバイダーへ提供しています。 現在は、スマートフォンや PC をはじめとするさまざまなプラットフォーム上でエンターテイメントコンテンツを提供するほか、エデュテインメント制作やサウンド制作の事業も展開しています。

そんなナウプロは、本田翼 さん製作総指揮のゲームタイトル「にょろっこ」の開発を手がけました。ナウプロの執行役員で、今回のゲーム開発プロジェクトを統括した粟村 剛敏 氏はこう話します。

株式会社ナウプロダクション ECDstudio執行役員 粟村剛敏氏

株式会社ナウプロダクション ECDstudio執行役員 粟村剛敏氏

「『にょろっこ』は iOS と Android で遊ぶことができる天使と人間のサバイバルアクションゲームです。コンセプトやキャラクター原案、ストーリーなどは本田 さんのアイデアがもとになっており、実際の開発でも、本田 さんと密接に連携して、動作や内容を確認しながら進めました。基本プレイ無料(アイテム課金型)ですが、ゲームをあまり遊んだことのない人もカジュアルに遊べ、ゲーム好きがやり込める要素もあるゲームに仕上がっています」(粟村 氏)。

「にょろっこ」の開発で採用されたのがマイクロソフトから提供されている「Azure PlayFab」です。Azure PlayFab は、ライブ ゲームを構築し運用するための完全な LiveOps バックエンドプラットフォームです。

「スマートフォンなどで利用するモバイルシステムにバックエンド機能を提供するサービスを Mobile Backend as a Service(mBaaS)と呼び、ゲーム開発者向けのバックエンド機能をゲーム用 BaaS と呼びますが、Azure PlayFab は、まさに mBaaS とゲーム用 BaaS を包含したクラウドサービスです。さまざまなゲームプラットフォームに対応しており、ゲーム開発から運用までを一貫してサポートでき、モバイルの通知などにも対応しています。今回のような本格的なゲームの場合、開発期間だけで 2 年以上にわたるのが一般的です。しかし今回、Azure PlayFab を採用したことで、開発着手から 1 年数カ月でリリースすることができ、非常に短期間で開発することができました」(粟村 氏)。

ゲーム開発に「Azure PlayFab」をはじめて採用、Azure の基本性能の高さを実感

Azure PlayFab を利用したゲーム開発は、ナウプロにとって今回がはじめてのケースとなります。もともと同社では他のクラウドサービスを利用していましたが、ゲーム用に特化したサービスではなかったため、マッチメイキングやマルチプレイなどの機能を実装するにはかなりの作り込みが必要でした。今回のプロジェクトでサーバサイドエンジニアとして参加したECDstudio技術開発部 課長 伊藤 明男 氏は、こう話します。

株式会社ナウプロダクション ECDstudio技術開発部課長 伊藤明男氏

株式会社ナウプロダクション ECDstudio技術開発部課長 伊藤明男氏

「本田 さんから原案をいただき、今回のゲームが天使と人間による非対象マルチプレイになることがわかりました。その後、企画を詰めるためのプロトタイプ開発として、クライアントサイドを Unity、バックエンドを Azure PlayFab で開発することになりました。通常、マルチプレイを実装していくには大きなコストがかかり、初期のプロトタイプでは完璧なものができません。しかし Azure PlayFab を用いると、プロトタイプ開発の初期段階で、最終系のマルチプレイのゲームスタイルを作ることができます。はじめはこれが大きな衝撃でした。さらに開発が進み、Azure PlayFab や Microsoft Azure に触れてみると、他のクラウドサービスにはない、さまざまな魅力があることもわかりました」(伊藤 氏)。

伊藤 氏は、クラウドサービスとしての Microsoft Azure の魅力は、基本機能の性能の高さや可用性の高さにあるといいます。

「クラウドサービスの後発ということもあるせいか、基本的な機能はひととおり揃っていました。それぞれ UI がしっかりしているのでとても使いやすく、しかも性能が高いという印象です。たとえば Azure Blob Storage は高速なアクセスが可能で、CDN を活用することで画像のキャッシュを中心にゲームに関連するデータを高速に配信することが可能です。また、突発的な障害が発生することもなく、安定して動作し、信頼性が高いと感じています」(伊藤 氏)。

株式会社ナウプロダクション ECDstudio 技術開発部主任 蓮田翔太氏

株式会社ナウプロダクション ECDstudio 技術開発部主任 蓮田翔太氏

また、インフラエンジニアの蓮田 翔太 氏は、Microsoft Azure の管理ポータルや Azure Playfab のダッシュボードが見やすく、ゲームが運用フェーズに入ってからも管理がしやすいことにメリットを感じたと述べます。

「Azure PlayFab も、Azure とともに、メニューやボタンの配置などもユーザーの使い勝手を考慮してうまく設計されています。公式ドキュメントが充実していて、利用がはじめてでもとまどうことなく操作できましたね。ポータルと同じく、直感的にわかりやすい操作感でした。助かったのは、サポートの回答が速く、こちらの事情を理解したうえで回答してもらえることで、心強かったです。リリース直前のサポートとのやりとりでの逸話ですが、ある回答をもらう日がちょうどサービスのリリース日に重なっていたのですが、メッセージのなかに『リリース、おめでとうございます』という言葉を添えていただいたのです。製品だけではなく、顧客のビジネスの成功を考えてくれているのだと、とても感動しました」(蓮田 氏)。

一気通貫したサーバ側の環境が、今後のゲーム開発生産性を大きく向上させる

「にょろっこ」は Azure PlayFab のマルチプレイ機能である「マルチプレイヤーサーバー」と、「マッチメイキング」を初期から活用しています。この2つの機能のおかげで開発効率が向上したと、伊藤 氏はいいます。

「一般的にマルチプレイを実現する場合のインフラ構成は、大きくリレーサーバモデルと専用サーバモデルに分けられます。いずれの場合もサーバ構築から設定までをインフラエンジニアがはじめから作り込む必要がありますが、Azure PlayFab のマルチプレイヤーサーバは専用サーバモデルを採用していますね。特徴的だったのはサーバビルドを作成すると、Docker コンテナのプロセスが起動して自動的にインフラを構成してくれることです。これを利用すると『どのくらいのサーバをどこまで増やすか』といった設定をクライアントエンジニアにまかせることができます。サーバエンジニアは技術検証や構築・設定だけで済むようになるので、大幅にインフラ構築作業を効率化できるのです」(伊藤 氏)。

「Azure PlayFab は マッチメイキングの機能もいいですね。Queue ベースを採用していますが、この方式のメリットは、シンプルで高速なことです。ただ、マッチング後の入退出が困難、規定人数未満ではマッチングが成立しないといった制約もあります。通常はこのあたりを細かく設計する必要があるのです。その点、Azure PlayFab の場合は、ダッシュボード上で人数などを設定値として入力するだけで、必要なルール設計や、スピードのバランスなどをノーコードで作り込むことができます。Azure PlayFabの マッチメイキング機能により、我々の開発工数は大きく削減できたと思います」(蓮田 氏)。

さらに伊藤 氏は、「にょろっこ」の開発における重要なポイントとして、これら 2 つの機能をゲームのプロトタイプ作成の段階から、サービス正式リリースまで一貫して利用できたことにあるといいます。

「一般的にゲーム開発では、最初に小さなプロトタイプを作り、開発がかなり進んでからサーバを構築します。これはゲームそのものの設計が変わるからですが、マルチプレイゲームの場合はこのやり方に少し問題があります。あとからサーバの設計や構築をするため、実際にサーバを立ててみると技術的やコスト的に企画の変更が余儀なくされることがあるのです。『にょろっこ』もマルチプレイゲームですが、開発の初期段階から Azure PlayFab の『マルチプレイサーバー』と『マッチメイキング』を利用して、しっかりとマルチプレイ用の通信処理を用意することができたので、そのようなマルチプレイ開発の難しさを解消できたのです」(伊藤 氏)。

開発の早い段階でマルチプレイゲームを実現し、ゲームの仕様を早めに固められたため、Azure PlayFab にとても満足したといいます。

「最初から最後まで同じサーバの構成で開発しました。この一気通貫したサーバ側の環境を持つことは、今後のゲーム開発の生産性を大きく向上させるものだと思います」(伊藤 氏)。

設計や開発環境などを包括的にバックアップするマイクロソフトのサポート体制をフル活用

Azure PlayFab を触ってみて、マルチプレイの機能にとどまらず、認証機能、ゲームのマスターデータ管理、プレイヤーのステータス管理、ソーシャル機能、ストア、仮想通貨、モバイルのプッシュ通知など、さまざまな機能があることがわかったと粟村 氏。どれも非常に便利で、分析も容易に活用できるといいます。なによりも、インフラエンジニアだけでなく、クライアントエンジニア、企画、デザイナーが理解しやすいように、こうした機能の管理画面や用語などが整理されていることは大きな強みと言えるでしょう。

実際、ゲーム開発自体は初心者だった本田 さんとのやり取りにおいても、マルチプレイやマッチメイキングの機能を説明すると、本田 さんが足りない機能や必要な機能を提案し、その要望を盛り込むかたちで、ゲームを作り込んでいったといいます。 「エンジニアでない方に開発手法やコードの話をしても、意思疎通に時間がかかってしまいます。Azure PlayFab の場合は、一般的なゲームで必要になる機能がわかりやすいかたちで揃っているので、特定の要望に対して『この機能を使えば実現できます』とシンプルに説明しやすい。本田 さんも『それならこうしたい』と具体的に提案を行なってくれたことで、本田 さんの希望に沿ったかたちで開発することができました」(粟村 氏)。

もっとも、Azure PlayFab の標準機能やクラウドスクリプトによる拡張だけでは実現できない要望もあったといいます。そのひとつが、友達と一緒に遊びたいときに利用するマッチング機能「フレンドマッチ」で、Azure PlayFab の標準機能では実装が難しい機能でした。 「『フレンドマッチはどうしても実現したい』という本田 さんの要望を実現するために、マイクロソフトのサポートサービスである『FastTrack for Azure』のなかで相談しました。毎週のように Microsoft Azure のスペシャリストと設計について相談し、ベストプラクティスやワークアラウンド、今後のロードマップなどの情報を得ることができました。このやり取りの中で、『フレンドマッチ』にはリアルタイム Web を実現するサービスである Azure SignalR Service が有効であるという情報も教えてもらいました。今回、ここまでスムーズにゲームを開発できたのは、Azure PlayFab の機能はもちろん、マイクロソフトの充実したサポート体制があったからこそです」(伊藤 氏)。

ユーザーの動向を把握しながら運用体制を進化させる LiveOps を実現

Azure PlayFab のコンセプトのひとつである LiveOps は、ユーザーニーズの変化を把握しながら、運用体制を進化させていくという手法です。ナウプロは今回のプロジェクトでマイクロソフト製品を活用しながら、まさに LiveOps を実現したといえるでしょう。実際、伊藤 氏はマイクロソフトによるゲーム業界に対する支援策に大きな期待を寄せています。

「Azure PlayFab を利用すると今回のような本格的なゲームも実現できます。またインフラエンジニアがいないチームが、よりカジュアルなゲームを素早く開発することができるので、さまざまなシーンで Azure PlayFab を活用できると期待しています。開発だけでなく、運用フェーズ、分析フェーズでも Azure PlayFab の便利さがわかったことは収穫でした。ユーザーの利用動向の分析や A/B テストツールが標準搭載されているので、コスト管理を行いながら体制をスケールアウト、スケールインさせていくことも柔軟にできます。Azure PlayFab のコミュニティも活発化しており、英語ですが参考にしています。今後、ますます利用が広がってほしいですね」(伊藤 氏)。

また、粟村 氏は今回のプロジェクトの成果について、次のように話し、今後を展望します。 「今回のプロジェクトの成果のひとつは、Azure PlayFab を活用することで、限られたコストと時間のなかで、クオリティの高い本格的なゲームを開発できたことです。近年は、長い期間をかけて開発したゲームだから長く遊ばれるとは限らなくなりました。2 〜 3 年かけて開発したのに、2 〜 3 カ月で閉じることになったゲームもあります。いかに短い期間でコストを最適化しながらゲームを開発するかは、これからのゲーム開発の未来をつくっていくうえで重要になってきています。また、ゲーム開発で得た知見やノウハウをさまざな分野に応用していくこともポイントです。今後も僕らはマルチプレイやマッチメイキングの機能を活用したエンターテインメントコンテンツを開発していきたいと考えていますし、Microsoft Azure PlayFab を起点にゲーム業界が活発化していくことを期待しています」 (粟村 氏)。

[PR]提供:日本マイクロソフト