2

browserquestのような websocket ゲームを見ると、プレーヤーのデータはどこに保存されているのでしょうか? それはwebsocketサーバーの.jsファイルにありますか?

たとえば、新しいプレーヤーがゲームに参加した場合、ゲームはすべてのプレーヤー、アイテムなどを含む現在の状態でレンダリングする必要があるためです。このデータはどこに保存されますか?

4

2 に答える 2

3

オンライン ゲームには通常、世界の状態を管理する中央サーバー コンポーネントがあります。各クライアントはサーバーと直接通信します。サーバーは各クライアントに周囲のデータを送信し (マップはこのように表示され、モブ A があり、アイテム B があります)、クライアントはサーバーが何をしているかに関する情報を送信します (私は x:y に移動します; 私は暴徒Aを攻撃し、アイテムBを拾います)。

Mozilla Browserquest では、このサーバー コンポーネントはNodeJSでプログラムされています。

現在ログアウトしているプレイヤーのゲーム状態の永続化について: これは、このデータをある種のデータベースに保存することにより、サーバーでも実行する必要があります。プレイヤーの進行状況をクライアントのローカル Web ストレージに保存することも可能ですが、より悪い方法です (別の新しい HTML5 機能)。これにより、サーバーの責任は軽減されますが、プレイヤーはゲームの状態を編集できるため、カンニングを簡単に行うことができます。

于 2012-09-23T11:51:39.863 に答える
2

サーバー側のどこに保存するかはあなた次第です。昨日、node.js、mongoDB を使用する meteor に関する素晴らしいスクリーンキャストを見ていました。これは、あなたが話していることを正確に実行できるフレームワークです。

于 2012-09-23T11:51:58.867 に答える