卒論進捗発表(1) 10/21 31031 山崎孝裕
今日の内容 テーマとモチベーション MMOG on P2Pの技術的課題 実装方針 次回の予定
テーマ P2P上のMMOGの開発 MMOG = Massively Multiplayer Online Game Networked Virtual Environmentのアプリケーションの1つ
モチベーション 演習3最終発表「MMOGにおけるP2Pの可能性」をきちんとやりたい ACM SIGCOMM 2004にも“NetGames-04”というワークショップがあったように、分野としての認知も上がってきている?
そしてなにより・・・ ネットワークゲームにかけた7000時間はネットワークゲームで取り返す・・・
MMOG 一つに世界に全てのプレイヤーが存在し、互いに影響しあう プレイヤー数は数百~数千 プレイヤーのマッチングを行うロビーサーバ ゲームの状態を計算するゲームサーバ
技術的課題(1) Consistency Performance Security Persistency Scalability Reliability
技術的課題(2) Consistency Performance 各ユーザからの仮想空間の同一性 ユーザ・仮想世界間の作用の同期 ゲームは一種のシミュレーション ある一定の現実に即した振る舞い レイテンシの小ささが重要
技術的課題(3) Security Persistency 接続するのは多数の信用できないノード 一般的なアタックの防止 ゲーム世界内でのチートの防止 Persistency データの永続性
Scalabilityの確保(1) ノードの増加によりシステムへの負担が増える 従来のClient-Serverモデルではサーバに不可が集中しScalableでない P2Pの上にシステムを乗せることで負荷分散し、Scalabilityを確保
Scalabilityの確保(2) 2つのゲームモデル エリア(リージョン)型 ノンエリア型
Scalabilityの確保(3) エリア(リージョン)型 ゲーム世界を「エリア」という単位に分割 各エリアはゲーム空間として独立 エリア間の移動には特殊なエリア間移動処理 エリアをネットワーク上の1単位とも考えることができ、ネットワークモデルが作りやすい 現在あるMMOGはほぼすべてエリア型
Scalabilityの確保(4) ノンエリア型 ゲームデザインとしては、より自由度が高い ネットワークへのマッピングが難しい DHTを使ったゲーム空間のノードへのマッピング Interest Management ネットワークモデル自体はエリアのような単位に分け、シームレスにゲーム世界をみせることでノンエリア型を実現する方法もある
Reliability Consistencyの実現を 従来のC-Sモデルでは、運営側のサーバ →ある程度信用できる P2Pの上でのモデルでは、参加ノードのどれか →信用できない・いつ落ちるかわからない
実装の方針(1) アプリケーションデザイン ネットワークモデル エリア型の簡単なMMOG SimMud[2]を参考 ネットワークモデル P2P的な分散処理により、Scalabilityを確保 Persistencyのために中央サーバを置くかも? Consistencyのためノードを動的なサーバにする
実装の方針(2) オーバレイネットワーク Phoenixを使う予定 ScalabilityとReliabilityを実現した上で、できる限りのPerformanceを目指す 今回はSecurityは考えない
次回の予定 次の一週間でPhoenixを実際にいじってみる 来週の発表予定 Phoenixについて PhoenixでのMMOGの実装方針 特に故障検知APIなどの使い方 PhoenixでのMMOGの実装方針
参考文献 [1] S. Y. Hu, G. M. Liao. Scalable Peer-to-Peer Networked Virtual Environment [2] B. Knutsson, H. Lu, W. Xu, B. Hopkins. Peer-to-Peer Support for Massively Multiplayer Games. [3] T. Iimura, H. Hazeyama, Y. Kadobayashi. Zoned Federation of Game Servers: a Peer-to-Peer Approach to Scalable Multi-player Online games