CEDECのセッションでは下記の内容について順を追って深く議論したいと考えている.
1. 概要
従来,ネットワークゲームの殆どは,クライアントサーバモデルを元にゲーム会社が準備したインフラを利用して,ゲームを提供する事が当たり前とされていた.このモデルはシンプルゆえに,サーバに接続してくるユーザ数に比例して,負荷が増えるといった管理コストの面で問題がある.よって,多くの開発・運用リソースを持たない企業,フリー開発者にとって,ネットワークゲームを構築することは困難である.
本セッションでは,既存のインフラ(Skype P2Pネットワーク等)を用いてゲーム開発を行う事で,これらの問題が解決可能か議論する.説明にあたって,公演者(私)が実際にSkype P2Pネットワークを利用して構築した,アプリ,ウェブサービスを事例に,その手法と技術について説明する.
2. P2Pネットワーク上にゲームを作ることの難しさ
サーバとクライアント(ユーザ)を切り離し,ユーザ間のみ通信を行えば,ユーザ側だけで通信が完結するため,サーバの運用コストを削減できる.しかし,P2Pネットワークを用いてゲーム開発するためには,NAT以下に存在するユーザ(ノード)間の接続を確立することの難しさや,P2Pゆえのゲームデータの管理,改ざんといったセキュリティーに関する問題点がある.また,サーバを介さないため,課金といったビジネス的な観点でも問題がある.
3. Skype P2P ネットワーク(既存インフラ)を利用するによるメリットとデメリットその解決策
そこで,Skype P2Pネットワークを利用することで,P2Pネットワークを構築する過程をパスすることがきる.また Skype には,そのネットワークを利用して独自のパケットをTCP,UDPライクなレイヤで配信できるため,その上に容易にネットワークゲームを構築することができる.これにより,Skypeを利用するユーザをゲームユーザとして取り込むことや,元が音声チャットとしての機能等も利用できるだろう.実際に公演者(私)以下のアプリケーションとサービスを提供することができた.
アプリケーション: http://www.festimusic.org サービス: http://www.festimusic.jp
しかし,前述のようにSkypeを利用しても,まだまだ多くの問題はある.実際に問題となったのは,多人数へのデータ配信,Skypeユーザ本人の認証,ユーザ情報管理が挙げられる.実際ネットワークゲームとして運用する場合も,ゲームデータの改ざん防止といった仕組みが必要になるだろう.私の事例では,ユーザ管理用にサーバを配置し,認証はそこで行い,実際の通信にはSkypeを利用するといったモデルによりデメリットを回避した.これらについて,より深く掘り下げて議論し,加えてSkypeP2Pネットワークの具体的な性能も紹介したいと考えている.
講演者プロフィール
井上 隆広
2007年 筑波大学情報科学類入学
2010年 筑波大学情報科学類在籍(4年次)