海外でリリース・運営されるゲームが増えるにつれ、どのようによりよいサービスを全世界のプレイヤーに提供するのかが重要な問題となってきた。実際に全世界に向けてリリースされているゲームのなかで、よく見られるアーキテクチャは下記の通りである。
1,サーバをサービス提供リージョンの近くに配置するアーキテクチャ。リージョンごとにサーバを分ける手法だ。
読んで字の如く、リージョンごとにサーバを分けるとは、リージョンの一つ一つにバトルサーバを配置し、プレイヤーが距離の近いバトルサーバに接続するという手法だ。各リージョンのプレイヤーを物理的に分けている形になる。
プレイヤーの近くにバトルサーバを配置することのメリットは、同じリージョンのプレイヤーを同じバトルサーバに集めることができ、遅延が少なくなるため、ゲーム体験が向上されることだ。この手法は競技性の高いFPSのようなゲームに適している。
一方、デメリットも明らかだ。まず、バックエンドでのマッチング、ディスパッチのロジックが複雑になり、プレイヤーがどのサーバに接続するのかを確定させるために、通信速度の測定やディスパッチのためのアルゴリズムが必要となる可能性がある。また、異なるリージョンのプレイヤーと一緒にプレイできないため、楽しみが大きく失われてしまう。
2,グローバル同一サーバ
10年前に行われたアンケートによると、今後20年間でプレイヤーがオンラインゲームに最も期待しているのが、グローバル同一サーバである。クラウド技術とインターネット技術の進歩により、このアーキテクチャを採用するゲームが増えてきている。
構造自体は非常にシンプルだ。バトルサーバを特定の地点に集中させ、全世界のユーザーがそこに接続してプレイする。
この手法のメリットは明らかである。アーキテクチャがよりシンプルになり、運営と管理のコストを抑えることができる。また、バックエンドでのマッチング、ディスパッチ、通信速度の測定などのロジックやモジュールが不要となるため、システム全体の信頼性が大きく高まる。そして、全世界のプレイヤーと一緒に遊べるということは、考えただけでワクワクしてくるような大きな魅力だ。
デメリットは、遅延が長くなり、さらにネット環境が不十分なリージョンもあるため、ゲーム体験が悪くなってしまうことだ。そのため、現時点では、グローバル同一サーバのゲームの多くが、SLG、RPGなど少々の遅延があっても気にならないゲームである。
次回はグローバル同一サーバのアーキテクチャにかかる具体的な技術とポリシーを説明する。