私は、Urban Deadが使用するものと同様の 3 x 3 ビューポートを持つ JavaScript Web ゲームを作成しています。「世界地図」は 100 x 100 の 2D 配列サーバー側 (nodejs) として格納され、座標の各ペアが「部屋」を定義します。したがって、3 x 3 ビューポートには 9 つの部屋の名前と内容が表示されます。
ユーザーの位置は座標としてサーバー側に保存されます。例Bob = { x : 2, y : 3 }
。したがって、ボブの x 座標はBob.x
です。クライアント (ブラウザ) はこれを取得して、他の 8 つの部屋の座標を計算し、それらの部屋の内容をサーバーに問い合わせます。これらはビューポートに表示されます。これは、 Urban Dead (左上隅)のビューポートのように見えると思われます。
質問
ビューポートを「リフレッシュ」または更新するにはどうすればよいですか? この方法でやろうと思って...
1)プレイヤーが座標 (2,3) から (1,3) に移動したとき。クライアントはサーバーに 9 つの部屋の内容を再度問い合わせ、すべてを再描画/表示します。
2)ルームの 1 つのコンテンツが変更されると、サーバー (nodejs) は、9 つのルームのコンテンツをサーバーに要求し、すべてを再描画/表示するように指示するクライアント側関数を実行します。
プログラミングに慣れていないので、この実装は単純すぎるか、非効率的ではないでしょうか?