FutureInsight.info

AI、ビッグデータ、ライフサイエンス、テクノロジービッグプレイヤーの動向、これからの働き方などの「未来」に注目して考察するブログです。

Winnyの技術とP2P型MMORPGについて

Winnyの技術 金子 勇 (著), アスキー書籍編集部 (編集)

ちまたでうわさのソースコードのない解説書。概念的なWinnyの実装がよく説明されており、超巨大P2Pシステム特有のパラメータの設定の話がおもしろい。

とくに、Winnyはキャッシュ分散化システムとクラスタリングという、匿名性よりも運用効率を高める実装を試験的に取り入れており、50万人以上のユーザーが利用するシステムになることができたのだが、その前の実験段階でシミュレーションを行い、どの程度の運用効率が求められるかを実験していたのが、おもしろい。

これは、P2Pに関わらない人も気軽に読む価値のある本だと思う。

で、なんで、この本を読んだかというと、P2P型のMMORPGっていうものが可能かどうかを考えるため。サーバ管理型のシステムは、チート対策、同期性という意味ではいいのだが、いかんせん運用コストが高い。PS3っはそうでなくとも開発費が高騰するのが予測されるので、思い切ってP2P型MMORPGのフレームワークを提供したらいいのではないかと思った。

というわけで、本を読んでみたが、少なくとも500人以上の単位で同時に一つのネットワークに接続するのは難しい印象を受ける。そのあたりが、同期通信を不可能にする分岐点のような印象だ。まず、FTTHなどの光ファイバーを利用しているユーザーをクラスターの上流に位置させ、ADSLなどの従属する下位ユーザを10人程度、その下にぶら下げる。で、MMO世界の通信は上位のユーザが通信を行い、各上位ユーザーはそのメッセージを下位のユーザーに配信する。それとは、別に、チームを組んだグループは同期通信を可能にする。きっと、そんな感じで一つのワールドを構成すると思うのだが、あまりキャラクターのレベルとか強さに関係なく楽しめるゲームデザインが必須になると思う。

ざっと、考えた限りこんなイメージが浮かんだが、問題は自発的に敵や問題が発生するフラグなどをどのように管理したり、イベントをどのように共有するかという点だと思う。

ホームランド」チュンドフトではそのへんを一人、世界をマネージメントする神様という概念をつくり、神様プレイを提唱していたが、もうすこし自発的なシステムのほうがいいと思う。もちろん、あるイベント配信サーバは用意して、そこから、各クラスターにイベントを配信できるほうが楽しいとは思うが。

一つのアイディアとしては、何かしら創発的な概念をゲームシステムにとりいれてしまうアプローチが考えられる。プレイすること自体が、イベントフラグにつながり、それが連鎖して方向性を形作るという考えだ。

Winnyで用いらた、クラスター化という概念と、キャッシュの有効利用はP2Pのかたちとして、非常に効率のいいシステムなことは確かだと思う。そのへんをどうデザインすればいいかはきっとベータテストなどを通してみないとわからないことだらけだと思うが、Winnyと違い、ゲームでは通信の動態を制作者がある程度コントロールできるという点もある。一度、どの程度の同期通信が現実的に可能か、シミュレーションしてみるのもおもしろい。

[追記1]

MMORPGを設計しようとすると、Winnyにふんだんに用いられている確率論的事象をとりいれた、系の最適化がなかなか利用できない。そのへんはゲームデザインの問題で、クラスターには含まれるが即座に通信できなくてもいいユーザーを容認するか、しないかの問題でもある。個人的には、それはゲームでは許されないので、500人規模のネットワークが最大かと思った。

[追記2]

このような概念のずっと、ずっと先に下のような記事が存在する。

コミュニティエンジン中嶋謙互氏が語る 究極の環境シミュレータの展望