2001/02/05
次世代ネットゲームの話+
マルチバースが実際には問題がありすぎて不可能に近いことは自分で暴露してしまいました。あそこまで膨らませておいて、というお怒りもごもっとも。そういうわけで、もうちょっとだけリアルなマルチバースの可能性を探ってみます。
結局行き着くところはサーバの負荷を何らかの方法で分散するということです。そのために複数の管理者を用意するという真似をしましたが、サーバの負荷にはもっと別の方法はないでしょうか。そして、ついに思い至りました。SETI方式もどきを使うのです。つまり、プレイヤがサーバの負荷の一部を担当してもらうのです。方法としてはいろいろと考えられますが、プレイヤの絡む演算処理は全てプレイヤのマシンで行うというだけではサーバの負荷軽減にはなりません。プレイヤにサーバの処理そのものを担当してもらいます。例えば別のプレイヤと出会って会話をする場合、一般にはサーバにメッセージを送り、サーバから相手にメッセージが送られますが、直接プレイヤ同士にソケットを繋いで通信してもらえば、サーバは遊んでいられます。この、プレイヤ同士が直接繋いで、というのをもっと突きつめましょう。シナリオ入れ替え型のゲームを作り、プレイヤはサーバに繋いでシナリオを(場合によっては差分データなども)ダウンロード、サーバはその場にいるプレイヤの位置情報などの個人データだけを管理します。同じ場所に他のプレイヤがいればその部分は切り離してプレイヤのマシン同士勝手にやってもらい、位置を移動した場合だけデータを更新すればいいのです。これだとサーバが処理しなければならないデータは極端に低下します。戦闘も何にも管理しないんですから。プレイヤがゲームを終了するときだけはその情報をサーバに送ってもらえばいいですが、パラメータを極端に多くしない限り、それほど大きなデータにはならないでしょう。これは非常に現実的なシステムじゃないですか。
問題があるとすれば、サーバというかスタンダードでも遊べるようなシステムをプレイヤのマシンにやらせるんですから、最初にゲームをダウンロードする際に1Gくらいになることかな。・・・・駄目?


 

Topへ