ニュース

「Unite Japan」で人気を集めた高性能ミドルウェアに注目

「Photon Cloud」採用で常時マルチプレイ!を実現した「ダンジョンズ&ゴルフ」

「Photon Cloud」採用で常時マルチプレイ!を実現した「ダンジョンズ&ゴルフ」

AppBank Games代表取締役、宮川義之氏

 近年になり、モバイルゲームシーンでじわじわとリアルタイムマルチプレイ機能の主流化が始まっている。3G回線を前提とする場合には、回線の品質や接続性の問題から実装が非常に難しいと思われている分野だ。

 その分野に挑戦して成功を収めた例のひとつが、AppBank Gamesの「ダンジョンズ&ゴルフ」。通信が利用できる環境でゲームを始めれば自動的に4人マルチプレイになるというユニークな仕様だが、これをオンラインゲームの開発経験が全くない開発者たちが手がけ、たったの10ヶ月でサービス開始を実現できてしまったというから驚きだ。

【「ダンジョンズ&ゴルフ」トレーラームービー】
「ダンジョンズ&ゴルフ」のプレイ画面。他のプレーヤーの姿も見える
リアルタイムマルチプレイを自前で作るには沢山のハードルがある
「Photon」の概要

 Unityにもマルチプレイを実装すうるためのネットワーク機能がついているが、それを使ってモバイル向けのマルチプレイゲームを作るのは「泣きが入るほど難しい」と語るのはAppBankGamesの代表取締役、宮川義之氏。そこで、「ダンジョンズ&ゴルフ」の開発にあたっては新しいミドルウェアの選定から始めたという。

 「ダンジョンズ&ゴルフ」の開発にあたったのは、昨年になって編成されたAppBank Gamesの開発者たち。ベテランが皆無で、ネットワークゲームの開発経験を持つ人間が宮川氏だけという中で大いな力となったのが、米exit gamesのマルチプラットフォームミドルウェア「Photon Network Engine」だ。

 「Photon」にはUnityでマルチプレイゲームを作るためのカギとなる技術が詰まっている。ひとつは、基本的なAPI構成がUnity標準のネットワーククラス同一であること。このためUnityで作られたネットワークゲームを即座に「Photon」のネットワークエンジンに置き換えることができる。

 もうひとつは、こちらがより重要なのだが、Unityのネットワーク機能とは違って、専用サーバーを用いた運用を前提としていることだ。マルチプレイ時にモバイル端末のどれかがホストになる必要がないため、通信の安定や、通信の切断が行なわれてもスムーズにゲームを続行することができる。「ダンジョンズ&ゴルフ」ではこれが採用の決め手になったという。

3G回線でマルチプレイを実現する。そのためにはネットワークエンジンに専用サーバー機能が必須だった
「Photon」のサーバーには月額のクラウドタイプ、買い切りタイプの2系統がある
サーバーテンプレートのうち、ロードバランシングサーバーを利用してシステムを構築
入室処理に、独自の部屋選択用サーバーを介して実装している
フラグを設定するだけでオフラインモードが実現

 「Photon」のサーバーソリューションには2系統が存在する。ひとつは「Photon Cloud」。サーバー機能を月額でレンタルするスキームだ。SDKは無料で提供され、最小9ドル/月からゲームの開発とテストをスタートできる。もうひとつは「Photon Server」。サーバー機能をソース付きで買い切り、自由にカスタマイズして独自サーバーを立ち上げることができる。価格は3,500ドル。

 それぞれのサーバーソリューションには、ロードバランサー、MMO向け、ロビーサーバー、チャットサーバー等の機能テンプレートが用意されており、そのままゲームを作りこんでしまうこともできるそうだ。「ダンジョンズ&ゴルフ」の開発にあたっては、ロードバランサーのテンプレートを使用。多少カスタマイズを加えるため「Photon Server」のほうを選択したという。

 「Photon」ではUnityのネットワーククラスと同じく、State Synclonization(状態同期)とRPC(リモート関数呼び出し)の2系統の同期システムが有る。このうち、「ダンジョンズ&ゴルフ」はRPCのみを使用して実装されている。

 ゲームを開始すると自動的にバックグランドでサーバー上の部屋検索が行なわれ、同コースをプレイしているセッションに自動的に参加。RPCを通じて各プレーヤーのプレイ模様が共有され、プレーヤーの眼前にマルチプレイの風景がいつでも楽しめるという仕組みだ。

 コースの開始・終了や、打順管理といった厳密な同期処理は行なわれておらず、ゲームサーバー側にもこれといったゲームロジックは搭載されていない。同じコースを複数人でほぼ非同期にプレイするというマルチプレイ仕様になっているが、これでも充分に、大勢の仲間と一緒にゴルフをプレイしているという雰囲気は味わえる。

 圏外に移動するなどで回線が切断されたら、シームレスにオフラインモードに移行する機能も備わっている。これは「Photon」エンジンにフラグをひとつ指定するだけで実現。通信環境の有り無しによる違いをネットワークエンジン側で吸収してくれ、ゲーム側はオンラインモードと全く同じゲームロジックのまま動作するというわけだ。まさにモバイル向けの設計である。

 サービス開始以降、マルチプレイがらみのトラブルは一度も起きていないということも特筆しておきたい。そのためどのあたりに限界があるかははっきりしないが、現在用意しているサーバー1台で同時プレイ5,000人くらいはいけそうだ、とのこと。オンラインゲームでは大抵サーバー周りにトラブルが起きるものだが、それがないという、すごい話だ。

 「Photon」は従来のゲーム向けネットワークエンジンに比べてUnityとの親和性が高いだけでなく、モバイルゲームに適したサーバー/クライアント方式を基本としているため活用できる範囲が非常に広い。しかも、サーバーをレンタルする方式なら初期費用なしに開発開始することもできるため、モバイル端末でマルチプレイゲームを実現したいと考えるインディーズ開発者にとってこれ以上ない武器になる。

  国内ではGMOインターネットが「Photon Cloud」のサービス提供を開始している(関連記事)。

ローカルマシンでのテスト用に、各RPCを手動で実行するデバッグUIを用意。1マシンで多数実行するなどの方法でデバッグを行なった

Unityを中心に動き始める各種ミドルウェア

 「Unite Japan」では、上掲のものを含め様々なミドルウェアが出展されていた。Unityという裾野の広いゲームエンジンが登場したことによってミドルウェアも多様性を増し、新たなビジネスが始まっている様子をつぶさに感じ取れる。

 以下、画像とキャプションで注目製品の概要をお伝えして本稿の終わりとしよう。

【OPTPiX Sprite Studio】
2Dゲーム制作の強い味方となる「OPTPix Sprite Studio」もUnity対応。オーサリングツール上でパーツを組み合わせて作成した2Dアニメーションを、Unity側で簡単に表示させることができる。CJインターネットジャパンとナウプロダクションによるカードバトルゲーム「サムライソウル」の豪華な演出は、このミドルウェアによって非常に効率的に実現したとのことだ

【簡易モーションデータ制作支援ソフト MiniCon】
業務用モーションキャプチャーシステムを手がけてきたゼロシーセブンおよび放送業界向け技術開発を手がけてきたテレビ朝日クリエイトは、Unityで手軽にモーションキャプチャーを利用できるインディーズ向けソリューション「MiniCon」をリリース。KinectからHuman IKベースのデータをつくれるというもので、わずか数万円の投資で自宅にモーションキャプチャースタジオが出現するというスグレモノだ

【TapJoy】
「TapJoy」はフリーミアムゲームに広告収入をもたらすソリューションだ。ユーザーは有料アイテムのお金を払う代わりに、広告主から提供された広告にゲーム内からアクセス。すると規定のポイントを獲得でき、これを有料アイテムの購入に使うことができる。ゲーム開発者側には広告接触に応じた報酬が支払われる。うまく活用すれば開発者・ユーザーともに幸せになれるというものだ

(佐藤カフジ)