ニュース
「Unite Japan」で人気を集めた高性能ミドルウェアに注目
「Photon Cloud」採用で常時マルチプレイ!を実現した「ダンジョンズ&ゴルフ」
(2013/4/17 00:00)
「Photon Cloud」採用で常時マルチプレイ!を実現した「ダンジョンズ&ゴルフ」
近年になり、モバイルゲームシーンでじわじわとリアルタイムマルチプレイ機能の主流化が始まっている。3G回線を前提とする場合には、回線の品質や接続性の問題から実装が非常に難しいと思われている分野だ。
その分野に挑戦して成功を収めた例のひとつが、AppBank Gamesの「ダンジョンズ&ゴルフ」。通信が利用できる環境でゲームを始めれば自動的に4人マルチプレイになるというユニークな仕様だが、これをオンラインゲームの開発経験が全くない開発者たちが手がけ、たったの10ヶ月でサービス開始を実現できてしまったというから驚きだ。
Unityにもマルチプレイを実装すうるためのネットワーク機能がついているが、それを使ってモバイル向けのマルチプレイゲームを作るのは「泣きが入るほど難しい」と語るのはAppBankGamesの代表取締役、宮川義之氏。そこで、「ダンジョンズ&ゴルフ」の開発にあたっては新しいミドルウェアの選定から始めたという。
「ダンジョンズ&ゴルフ」の開発にあたったのは、昨年になって編成されたAppBank Gamesの開発者たち。ベテランが皆無で、ネットワークゲームの開発経験を持つ人間が宮川氏だけという中で大いな力となったのが、米exit gamesのマルチプラットフォームミドルウェア「Photon Network Engine」だ。
「Photon」にはUnityでマルチプレイゲームを作るためのカギとなる技術が詰まっている。ひとつは、基本的なAPI構成がUnity標準のネットワーククラス同一であること。このためUnityで作られたネットワークゲームを即座に「Photon」のネットワークエンジンに置き換えることができる。
もうひとつは、こちらがより重要なのだが、Unityのネットワーク機能とは違って、専用サーバーを用いた運用を前提としていることだ。マルチプレイ時にモバイル端末のどれかがホストになる必要がないため、通信の安定や、通信の切断が行なわれてもスムーズにゲームを続行することができる。「ダンジョンズ&ゴルフ」ではこれが採用の決め手になったという。
「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」のサービス提供を開始している(関連記事)。