オンラインゲームのインフラと構成
Infrastructure and configuration of the online game
(株式会社Aiming)
(Aiming Inc.)
■概要
■Overview
ここでは、オンラインゲームのインフラの特徴と、基礎的な構成の説明をさせて頂きます。
セッションでは構成とその課題についての話をいたしますが、構成がなされている前提などを把握頂ければ幸いです。
オンラインゲームのインフラの特徴について
ここでは、以下について説明いたします。
・インフラ(サーバ)の役割
・利用者数の特徴
・サーバの稼働状況
under construction...
■インフラ(サーバ)の役割
■The role of infrastructure
ゲームには、ゲーム機だけで完結するものと、ネットワークにも接続できるもの、ネットワークに接続しなければプレイができないものと様々な形態があります。オンラインゲームは基本的に「ネットワークに接続しなければ」プレイできないものですが、ネットワークに接続した時に、サーバで何を行なっているか簡単に説明いたします。
ゲーム機単体で完結するものは、その中に、ゲームプログラムやデータ、演算装置や描画システムやセーブデータの管理など、全てがあります。しかし、オンラインゲームでは、演算処理(ゲームシステム)やセーブデータの管理に相当する部分をサーバで制御しています。
これは、複数人のプレイヤーが同期を取ってゲームをプレイしたり、ネットワークに繋ぐことでいつでも継続的に遊べるようにするためです。
これを実現するために、同時にやらなければいけないことの一つが、チート(不正)行為の対策になります。ごく一部のユーザがチートをした場合にゲームシステムそのものが破綻してしまうからです。
ゲームシステムがサーバ上にあることは、そこのセキュリティを高めることで、チート行為を行いにくくする役割も担っています。
under construction...
■利用者数の特徴
■Features of the user count
スマホアプリの場合、基本無料でゲームを開始できるものが多く、例えば製品の出荷予定数から、利用者数を想定するようなことはできません。
よく、「事前登録」を行なっているゲームがありますが、その数値も事前登録を行った方の何割が実際にプレイしてくれるかはわからず、ざっくりとした指針の域を超えることはありません。
そういった、数を想定しにくいサービスゆえに、サーバを多く準備しすぎるとコストが想定以上にかかってしまい、逆に、小さく見積もってしまうと想定以上に利用が多かった場合に接続障害が起きたりする場合があります。
(他の問題で障害が起こることもしばしばありますが。。)
また、基本無料の特徴として、継続率の問題などもあり同時接続数(同じ時間にプレイする人数)が時期により、大きく変わる点もあります。
例えば、思いの外、評判が良い場合に、想定以上にユーザが来てしまうことで大きな問題が発生したりすると、急にユーザが減ってしまうことがあります。こういったケースに対応するため、多くのシステムでは、クラウドサービスを利用し、迅速にサーバを追加したり停止したりできるようにしています。
クラウドサービスのメリットとして、通常のサーバを買って増設する場合と比べ、納期やセットアップなどの時間が不要な点と、利用しないサーバが手元に残る問題を回避することに役立っています。
under construction...
■サーバの稼働状況
■Operation status of servers
オンラインゲームのサーバは24時間365日動いています(メンテナンス時間を除く)。このため、十分な監視体制の構築が必要です。また、問題が起こった際には即対応が必要なため、各社色々な対応方法を持って臨んでいます。
インフラの構成としては、基本的に数台のサーバにトラブルが発生した場合でもサービスが滞りなく動く冗長性を持って設計構築されております。稀にゲームシステムの都合で冗長構成が取れないポイント等もあり、そういった場合には、障害回復手順や、ゲームルール側で問題を最小限に抑える工夫を入れています。
しかし、障害というのは想定できるものだけではないため、安定したサービスでも稀に障害停止などが発生します。クラウドサービス会社側のトラブルであったり、ゲーム内部のアップデートによるバグなど、インフラの構成だけでは対処不能なものも、一定の割合で存在します。
それらを総合的にみて安定性を向上させるために連携を行う役割もインフラにはあります。
under construction...
■オンラインゲームのサーバ設計について
■Server design for online games
ゲームサーバを設計する際に、特徴的なこととして、「今までにないサービス」をつくるために「今までに経験したことがない設計」を要求されることが多い点が挙げられます。
インフラの安定性を高めていく上で、知見が多くあり、バグ修正がしっかりされて、安定したサービスを見込めるOSやミドルウェアを選択したいところですが、「この技術を使うとこんなことができるのではないか?」という、ゲームにとっては重要であるこの考え方が、他の業種とは大きく違うのではないかと感じます。この考え方が、「事例は少ないがやってみるか」「次にこの技術が来そうなので、早めに触れておくか」というような判断を後押ししています。
技術者としては、興味が尽きない状態ではありますが、運用をしなければいけないインフラとしては、塩梅に悩まされることが多いです。
under construction...
※会合までに資料の内容を更新する可能性があります。
※There is a possibility to update the contents of materials by the meeting.