仮想化通信

日本仮想化技術株式会社の公式エンジニアブログ

Ingress始めました&ゲームを支える仕掛けを想像する

遅ればせながら、Ingressを始めました。理由は運動不足解消と、昨年夏ぐらいから最近右脚の調子が悪くてあまり歩いていないのも良くないと思い、ウロウロと歩き回ろうと思ったわけです。実際、先週末から始めて、土曜日日曜日と出不精だった私が、ちとその辺歩いてくるかと1時間ほど歩いて来ちゃうわけですから、ゲーミフィケーションとは大したものです。でも、きっとそのうち飽きるのかも。

さて、それはともかくとして、システム屋の性か、沢山の人たちが遊ぶ、しかもかなり即応性の高い仕組みなので、どのようなシステムでやっているのかなと想像します。

インフラは当然、Googleクラウドでしょう。いわゆる位置ゲーなので、位置情報系のNoSQLをDBに使っているのかなと想像。実際、サーバーが応答しなかったり、タイミングが悪いとおかしな動きをしますが、極力プレイヤーに有利な方でリカバリーしている様子。手前にはメッセージキューも入っているのでしょうね。

地図は複数のセルに分割されているようなので、そのセルの中にいるアクティブユーザーの数と負荷に応じて、バックエンドのサーバーは増減させているのでしょうね。ガチンコで同じポータルに対して攻撃、守備が発生すると遅延によって動きがおかしな状態になることがあったので、この辺はネットワーク遅延+サーバ側の処理遅延ということでしょう。まあ、ゲーム的にはXM干渉のせい、ということでOKでしょうか。

それにしても、地域セル内の総エージェント数は見えるけど、アクティブな数は分からないので、どれぐらいの負荷なのかが分かる手がかりがあると面白いのだけど。いずれにしろ、大がかりな仕組みを想像すると楽しいですね。