クラウドコンピューティングといえば、ドキュメントをクラウドで編集したり、CRMシステムをアップデートしたりするための大規模なサーバーファームを連想する人が多いだろう。でも嬉しいことにクラウドには、遊びの側面もある。マルチプレーヤーゲームも、すべてどこかのクラウドで動いている。ゲーム企業は、これらのサーバーを動かすためのシステムを自分で作ることが多いが、しかしGoogleとUbisoftは今日(米国時間3/13)、マルチプレーヤーゲームのサーバーを管理しホスティングするためのオープンソースのシステムを提供する新しいプロジェクトを発表した。
そのプロジェクトの名前Agonesは、ギリシア語で“コンテスト”という意味だ。それはGoogleが育てたコンテナプロジェクトKubernetesを、マルチプレーヤーゲームサーバーの艦隊をオーケストレーションしスケーリングするための中核的なツールとして使用する。ユーザーが自分が好きなマルチプレーヤーゲームをプレイするときには、そんな大軍のゲームサーバーがあるおかげで、島にいる自分以外の99名のマニア的プレーヤーと互いに相手を見つけたり対戦したりできる。サーバーはゲームだけでなく、いかさまを見抜くためのソフトウェアを動かすこともある。コンテナがこの種のシナリオにとって理想的なのは、ゲームの個々のセッションは短時間で終わるものが多く、ひとつのコンテナでひとつのセッションを表せば、デプロイもシャットダウンも迅速にできるからだ。
Ubisoftの開発部長Carl Dionneは、こう書いている: “プレーヤーがゲームに集中できるためには、クォリティの高い、最高にシームレスなサービスを提供しなければならないし、そのための方法をたえず改良していく必要がある。Agonesが備えている柔軟性により、専用のゲームサーバー群を最適なデータセンターで動かすことができ、われわれのチームに、彼らが必要とするリソースのより強力かつ詳細なコントロールを与える。両社のコラボレーションによって、Kubernetesの大規模デプロイに関するGoogleの専門的能力と、われわれのゲーム開発パイプラインと技術に関する深い知識を、結びつけることができる”。
Agonesは要するに、ゲームサーバーを動かすために必要なツールでKubernetesを拡張したものだ。そのツールには、ゲームサーバーのためにカスタム化されたKubernetes Controllerと、同じくカスタムのリソース定義が含まれる。Agonesのチームによると、デベロッパーは、ペアのゲーマーを互いに引き合わせるデベロッパー独自のマッチメイキングサービスと標準のKubernetes APIsを容易に統合して、ゲームサーバーを始動できる。
Googleとしてはデベロッパーが自分のゲームをGoogle Kubernetes Engineでホストしてくれると嬉しいところだが、しかしAgones自身はクラウドを特定せず、どんなクラウドでも、あるいはオンプレミスでも、使用できる。
今日のリリースは、あくまでも初期的な形だ。しかしv2に向けてのロードマップはすでに作成中であり、チームによると、そこではゲームサーバーの集合体(Fleets)のような新しい機能や、ゲームサーバーのパフォーマンス分析、ノードの自動スケーリングなどが導入される予定だ。