WEB ブラウザーを用いたコンカレント対戦型ゲームの実装と評価 1

WEB ブラウザーを用いたコンカレント対戦型ゲームの実装と評価
環境情報学部 3 年: 高橋俊成 (seibe) 所属: Arch 親: sora
1 はじめに
ル。スマホ、タブレット。NUI (五感と親和性の高
2014 年 10 月、ついに W3C によって HTML5 が
い UI)の普及で、操作体験に劇的な変化。WEB 標
勧告された。WEB 標準は大きく変貌を遂げ、WEB
準技術も例外でなく、HTML5 の策定で、WEB ア
アプリケーションを構築するフォーマットとなり、
プリを構築するための多様な入力や通信方式を備
多様な入力や通信方式を備えた。既にあらゆる
えるフォーマットへと変貌した。
WEB サービスは HTML5 に対応し、またモバイル
アプリケーションも HTML5 によって構築された
ものが数多く存在している。しかしながら、未だに
殆どのオンラインゲーム(特にアクションやスポ
4 既存研究
コンカレント対戦型ゲームの構築においては、
しばしば次の 3 つが問題とされる。
ーツ等、コンカレント対戦型のゲーム)は WEB ブ
* 応答性
ラウザーではなく、専用クライアントソフトウェ
* 整合性
アを利用している。これは、応答性や整合性、公平
* 公平性
性など、オンラインゲーム特有の厳しい実装要件
応答性とは、プレイヤーの操作がゲーム進行に反
が理由と考えられる。筆者は、HTML5 やその周辺
映される早さをさす。応答性が高いほど、プレイヤ
技術によって、専用クライアントやプラグインに
ーの操作がゲームに即座に反映される。人間は、自
頼らずとも高度なオンラインゲームが構築可能な
分で意図した動作であれば 10~20 ミリ秒弱のレ
環境が整ったと考える。そこで本研究では、現在の
ベルで、その他の動作でも 100 ミリ秒のレベルで
WEB 標準技術のみで、コンカレント対戦に耐えう
動きを見分けることができるとされる [1]。このた
る応答性、整合性、公平性が実現可能であるかどう
め、コンカレント対戦のような高い応答性が求め
かを確認すべく、実際にゲームを実装する。
られるゲームでは、プレイヤー自身の操作に対し
ては 60fps(16 ミリ秒以下)の応答性が、その他の要
2 定義
素については 10fps(100 ミリ秒以下)の応答性が求
コンカレント対戦を、
「各プレイヤーが同時並行
められる。応答性を下げる原因として、描画遅延や
的(コンカレント)に操作する」対戦方式と定義す
入力遅延、クライアント間の通信遅延が挙げられ
る。一般的にリアルタイム制と呼ばれる対戦方式
る。
と同義だが、リアルタイム=実時間だと語弊が生
応答性を上げる工夫として、Ajax 通信や P2P 通
じるので、この言い回しとした。ターン制のような
信、事前ダウンロード、キャッシュ、座標情報の相
「各プレイヤーに一定の順序でターンが回り、タ
補予測、対戦相手の地理的マッチングなどが存在
ーンプレイヤーが操作する」対戦方式と対になる。
する。
整合性とは、各ゲームクライアントにおいて、そ
3 研究背景
HTML5 の策定。マウス、物理キー、タッチパネ
のデータが間違いなく同期されていることをさす。
整合性が低いと、ゲームクライアントによってゲ
ーム進行や表示に差異が生じ、ゲームの公平性を
期する。
崩し、最悪の場合ゲームの進行そのものが不可能
ゲームの進行管理はクライアント側で行う。
になる。整合性を下げる原因として、クライアント
サーバーは通信の仲介だけで、通信内容のチェッ
間の通信遅延が挙げられる。整合性を上げる工夫
クは行わない。
として、座標情報の相補予測などが存在する。
公平性とは、各プレイヤー間での認知、判断、操
作の平等さをさす。応答性や整合性が低いと、一方
6 実装と評価
実装した Web アプリケーションでの対戦と、リ
のプレイヤーの認知、判断材料が不利になったり、
アルなトランプカードを用いて対戦した場合とで
操作が思い通りに反映されなかったり等の現象を
プレイ内容を比較し、コンカレントな対戦が成立
発生させる。
しているかどうかを検証する。評価に用いる測定
また、プレイヤー同士で異なる操作がほぼ同時に
項目として、以下を検討している。
発生した場合、データの不整合を防ぐためにどち
* 通信遅延
らかの操作結果を破棄せざるを得なくなるが、審
* 描画遅延
判処理によっては公平性が損なわれる。
* 一定時間当たりのアクション数
公平性を下げる原因として、描画遅延や入力遅延、
* プレイ時間全体に占めるコンカレントな操作
クライアント間の通信遅延、ゲームサーバーの審
の割合
判処理のチューニング不足が挙げられる。
など。
公平性を上げる工夫として、調停役の設置、方式選
択の原則(プレイヤーの満足感が多くなる方向で
選択をする)などが存在する。
これらは全て重要な指標ではあるが、そもそも
共有する情報の取り扱い(表示や操作)によってプ
7 今後の計画
クライアントのバグ修正、ゲームサーバーの実
装、RPC の改善に取り組む。コンカレント対戦を
実現する共有情報の抽出と反映に全力を注ぐ。
レイヤーの体験は大きく変化する。実際にコンカ
レント対戦型ゲームを実装し、検証を繰り返すこ
8 参考文献
とで、成立条件をリストアップする。
[1]
中嶋謙互, “オンラインゲームを支える技術:
壮大なプレイ空間の舞台裏,” 技術評論社, 2011.
5 設計
[2]
河野義広, 宮田昌廣, 塙大, 米倉達広, “Dead
スピードは、場のカードと隣り合ったカード
Reckoning を用いたリアルタイム Web ゲームの
次々と出していき、相手よりも早く自分の手札を
設 計 と 評 価 ,” 電 子 情 報 通 信 学 会 論 文 誌 D,
なくすことを目的とする 2 人対戦ゲーム。瞬間的
vol.J91-D, no.12, pp.2833-2843, 2008.
な判断力と体力を必要とするコンカレントな対戦
[3]
笹本綾子, 米倉達広, “遅延を予測したリアル
ルールでありながら、トランプカードというシン
タイムネットワーク対戦ゲームの試作,” 2001
プルな仕組みで遊べる(≒実装が比較的容易)とい
年電子情報通信学会総合大会講演論文集 基礎・
う点を評価した。性能と実装難度のバランスから、
境界, 電子情報通信学会, 2001.
C/S 型(リフレクト型)を採用する。Web アプリケ
ーションとして実装。共有情報を WebSocket で同