本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、通信処理負荷を抑えて、モデルデータを送受信する処理を行うことができるプログラム、情報記憶媒体、及び、ゲーム機及びゲームシステムを提供することにある。
(1)本発明は、
他のプレーヤが使用する第2のゲーム機とネットワークを介してデータを送受信することができる第1のゲーム機として機能するゲーム機であって、
他のプレーヤの操作対象のモデルの移動情報又は他のプレーヤの操作情報を、前記第2のゲーム機からネットワークを介して受信する処理を行う通信制御部と、
前記移動情報又は前記操作情報に基づいて、オブジェクト空間における前記モデルの位置を演算する位置演算部と、
オブジェクト空間における第1のゲーム機用の仮想カメラの位置を制御する仮想カメラ制御部と、
オブジェクト空間における前記仮想カメラの位置と前記モデルの位置とに基づいて、前記モデルの詳細度レベルを判定する処理を行う詳細度レベル判定部と、
前記仮想カメラから見える前記モデルを描画する描画部と、
を含み、
前記通信制御部が、
前記モデルの詳細度レベルの判定結果に応じたモデルデータを、ネットワークを介して前記第2のゲーム機に要求する処理と、前記要求に対応するモデルデータを、ネットワークを介して前記第2のゲーム機から受信する処理とを行うことを特徴とするゲーム機に関する。
また本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶するコンピュータに読み取り可能な情報記憶媒体に関するものである。
本発明によれば、第2のゲーム機を使用する他のプレーヤの操作対象のモデルに対する全ての詳細度レベルに応じた複数のモデルデータを受信しなくても、モデルの詳細度レベルに応じた適切なモデルデータを取得することができるので、通信処理負荷を軽減させることができる。例えば、通信帯域が狭い回線においても、描画処理に必要となるモデルに適したモデルデータを取得することができる。
(2)本発明は、
他のプレーヤが使用する第2のゲーム機とネットワークを介してデータを送受信することができる第1のゲーム機として機能するゲーム機であって、
オブジェクト空間における他のプレーヤの操作対象のモデルの位置を、前記第2のゲーム機からネットワークを介して受信する処理を行う通信制御部と、
オブジェクト空間における第1のゲーム機用の仮想カメラの位置を制御する仮想カメラ制御部と、
オブジェクト空間における前記仮想カメラの位置と前記モデルの位置とに基づいて、前記モデルの詳細度レベルを判定する処理を行う詳細度レベル判定部と、
前記仮想カメラから見える前記モデルを描画する描画部と、
を含み、
前記通信制御部が、
前記モデルの詳細度レベルの判定結果に応じたモデルデータを、ネットワークを介して前記第2のゲーム機に要求する処理と、前記要求に対応するモデルデータを、ネットワークを介して前記第2のゲーム機から受信する処理とを行うことを特徴とするゲーム機に関する。
また本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶するコンピュータに読み取り可能な情報記憶媒体に関するものである。
本発明によれば、第2のゲーム機を使用する他のプレーヤの操作対象のモデルに対する全ての詳細度レベルに応じた複数のモデルデータを受信しなくても、モデルの詳細度レベルに応じた適切なモデルデータを取得することができるので、通信処理負荷を軽減させることができる。例えば、通信帯域が狭い回線においても、描画処理に必要となるモデルに適したモデルデータを取得することができる。
また、本発明によれば、第2のゲーム機を使用する他のプレーヤの操作対象のモデルの位置を独立して取得することができるので、仮想カメラの位置と他のプレーヤの操作対象のモデルの位置とに基づいて、簡易に詳細度レベルを判定することができ、第1のゲーム機の処理負荷を軽減することができる。
(3)また、本発明のゲームシステム、プログラム及び情報記憶媒体では、
前記通信制御部が、
前記第2のゲーム機との接続が確立された際に、前記他のプレーヤの操作対象のモデルの詳細度レベルの判定結果に関わらず、最も低い詳細度レベルのモデルデータを、ネットワークを介して前記第2のゲーム機に要求する処理を行うようにしてもよい。
本発明によれば、第2のゲーム機との接続が確立された際に、詳細度レベルの判定結果に関わらず、詳細度レベルが最も低いモデルデータを取得し、取得したモデルデータに基づいて描画する処理を行うので、モデルデータが表示されないという問題を回避し、確実にモデルを表示させることができる。
例えば、複数のゲーム機から同時にモデルデータを取得しなければならない場合には、複数のゲーム機からモデルデータを取得しなければならないので、ゲーム機の接続数に応じて取得するモデルデータ量が増大する。しかし、詳細度レベルの判定結果に関わらず、最も低いモデルデータを取得するようにすれば、接続されるゲーム機あたりに取得するモデルデータの容量を少なくすることができる。そして、結果的に、ネットワークの通信量を抑えることができ、通信処理負荷を軽減させることができる。
(4)また、本発明のゲームシステム、プログラム及び情報記憶媒体では、
仮想カメラの位置とモデルの位置とが近い程、モデルの詳細度レベルが高くなるように設定されており、
前記通信制御部が、
前記第2のゲーム機との接続が確立された際に、前記他のプレーヤの操作対象のモデルの詳細度レベルの判定結果に基づいて、詳細度レベルの高いモデルデータを詳細度レベルの低いモデルデータに優先してネットワークを介して前記第2のゲーム機に要求する処理を行うようにしてもよい。
本発明によれば、通信処理負荷を抑えて詳細度レベルの高いモデルデータを詳細度レベルの低いモデルデータに優先して、仮想カメラから近いモデルを確実に描画することができる。したがって、本発明によれば、仮想カメラの近くに存在するモデルが表示されないという問題を回避することができる。
また、例えば、複数のゲーム機から同時にモデルデータを取得しなければならない場合には、複数のゲーム機からモデルデータを取得しなければならないので、ゲーム機の接続数に応じて取得するモデルデータ量が増大する。しかし、本発明によれば、詳細度レベルの低いモデルデータに優先して、詳細度レベルの高いモデルデータを取得することができる。その結果、通信処理負荷を抑えて、仮想カメラに近いモデルのモデルデータを確実に取得することができる。
(5)また、本発明のゲームシステム、プログラム及び情報記憶媒体では、
前記詳細度レベル判定部が、
オブジェクト空間における前記仮想カメラと前記他のプレーヤの操作対象のモデルとの距離に応じて複数の詳細度レベルに対応づけて距離範囲を設定し、設定された複数の距離範囲のいずれに前記モデルが属するかに基づいて前記詳細度レベルを判定し、
前記通信制御部が、
2つの距離範囲の境界付近に位置する前記他のプレーヤの操作対象のモデルについて、当該2つの距離範囲に対応付けられた詳細度レベルに応じたモデルデータを、ネットワークを介して前記第2のゲーム機に要求する処理を行うようにしてもよい。
本発明によれば、第2のゲーム機を使用する他のプレーヤの操作対象のモデルが境界付近に位置する場合には、判定結果による詳細度レベルのモデルデータだけでなく、仮想カメラとモデルとの相対的な位置関係が変動することを予想して他の距離範囲に対応する詳細度レベルを取得することができる。
その結果、本発明によれば、2つの詳細度レベルに応じたモデルデータを取得することによって、仮にモデルが現在位置する距離範囲を越えて他の距離範囲に位置することになった場合であっても、第1のゲーム機が第2のゲーム機からモデルデータを新たに取得することなく、迅速に詳細度レベルに応じたモデルデータに基づいてモデルを描画することができる。
(6)また、本発明は、
他のプレーヤが使用する第2のゲーム機とネットワークを介してデータを送受信することができる第1のゲーム機として機能するゲーム機であって、
他のプレーヤの操作対象の第2のモデルの移動情報又は他のプレーヤの操作情報を、前記第2のゲーム機からネットワークを介して受信する処理を行う通信制御部と、
第1のゲーム機を使用するプレーヤからの操作情報に基づいて、オブジェクト空間における当該プレーヤの操作対象の第1のモデルの位置を演算し、前記第2のモデルの移動情報又は前記他のプレーヤの操作情報に基づいて、オブジェクト空間における前記第2のモデルの位置を演算する位置演算部と、
前記第1のモデルの位置の変化に追従させるように、オブジェクト空間における第1のゲーム機用の仮想カメラの位置を制御する仮想カメラ制御部と、
オブジェクト空間における前記第1のモデルの位置と前記第2のモデルの位置とに基づいて、前記第2のモデルの詳細度レベルを判定する処理を行う詳細度レベル判定部と、
前記仮想カメラから見える前記第2のモデルを描画する描画部と、
を含み、
前記通信制御部が、
前記第2のモデルの詳細度レベルの判定結果に応じたモデルデータを、ネットワークを介して前記第2のゲーム機に要求する処理と、前記要求に対応するモデルデータを、ネットワークを介して前記第2のゲーム機から受信する処理とを行うことを特徴とするゲーム機に関する。
また本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶するコンピュータに読み取り可能な情報記憶媒体に関するものである。
本発明によれば、第2のゲーム機を使用する他のプレーヤの操作対象の第2のモデルに対する全ての詳細度レベルに応じた複数のモデルデータを受信しなくても、第2のモデルの詳細度レベルに応じた適切なモデルデータを取得することができるので、通信処理負荷を軽減させることができる。例えば、通信帯域が狭い回線においても、描画処理に必要となるモデルに適したモデルデータを取得することができる。
また本発明は、第1のゲーム機を使用するプレーヤの操作対象の第1のモデルの位置の変化に追従させるように、第1のゲーム機用の仮想カメラの位置を制御し、第1のモデルの位置と第2のモデルの位置とに基づいて、第2のモデルの詳細度レベルを判定する。したがって、本発明によれば、第1のモデルの位置と第2のモデルの位置とに基づいて詳細度レベル判定が適切に行われ、判定結果に応じた第2のモデルのモデルデータを取得することができる。
(7)本発明は、
他のプレーヤが使用する第2のゲーム機とネットワークを介してデータを送受信することができる第1のゲーム機として機能するゲーム機であって、
オブジェクト空間における他のプレーヤの操作対象の第2のモデルの位置を、前記第2のゲーム機からネットワークを介して受信する処理を行う通信制御部と、
第1のゲーム機を使用するプレーヤからの操作情報に基づいて、オブジェクト空間における当該プレーヤの操作対象の第1のモデルの位置を演算する位置演算部と、
前記第1のモデルの位置の変化に追従させるように、オブジェクト空間における第1のゲーム機用の仮想カメラの位置を制御する仮想カメラ制御部と、
オブジェクト空間における前記第1のモデルの位置と前記第2のモデルの位置とに基づいて、前記第2のモデルの詳細度レベルを判定する処理を行う詳細度レベル判定部と、
前記仮想カメラから見える前記第2のモデルを描画する描画部と、
を含み、
前記通信制御部が、
前記第2のモデルの詳細度レベルの判定結果に応じたモデルデータを、ネットワークを介して前記第2のゲーム機に要求する処理と、前記要求に対応するモデルデータを、ネットワークを介して前記第2のゲーム機から受信する処理とを行うことを特徴とするゲーム機に関する。
また本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶するコンピュータに読み取り可能な情報記憶媒体に関するものである。
本発明によれば、第2のゲーム機を使用する他のプレーヤの操作対象の第2のモデルに対する全ての詳細度レベルに応じた複数のモデルデータを受信しなくても、第2のモデルの詳細度レベルに応じた適切なモデルデータを取得することができるので、通信処理負荷を軽減させることができる。例えば、通信帯域が狭い回線においても、描画処理に必要となる第2のモデルに適したモデルデータを取得することができる。
また、本発明によれば、第2のモデルの位置を独立して取得することができるので、プレーヤの操作対象の第1のモデルの位置と、他のプレーヤの操作対象の第2のモデルの位置とに基づいて、簡易に詳細度レベルを判定することができ、第1のゲーム機の処理負荷を軽減することができる。
また本発明は、第1のゲーム機を使用するプレーヤの操作対象の第1のモデルの位置の変化に追従させるように、第1のゲーム機用の仮想カメラの位置を制御し、第1のモデルの位置と第2のモデルの位置とに基づいて、第2のモデルの詳細度レベルを判定する。したがって、本発明によれば、第1のモデルの位置と第2のモデルの位置とに基づいて詳細度レベル判定が適切に行われ、判定結果に応じた第2のモデルのモデルデータを取得することができる。
(8)また、本発明のゲームシステム、プログラム及び情報記憶媒体では、
前記通信制御部が、
前記第2のゲーム機との接続が確立された際に、前記第2のモデルの詳細度レベルの判定結果に関わらず、最も低い詳細度レベルのモデルデータを、ネットワークを介して前記第2のゲーム機に要求する処理を行うようにしてもよい。
本発明によれば、第2のゲーム機との接続が確立された際に、詳細度レベルの判定結果に関わらず、詳細度レベルが最も低い第2のモデルのモデルデータを取得し、取得したモデルデータに基づいて第2のモデルを描画する処理を行うので、モデルデータが表示されないという問題を回避し、確実にモデルを表示させることができる。
例えば、複数のゲーム機から同時にモデルデータを取得しなければならない場合には、ゲーム機の接続数に応じて取得するモデルデータ量が増大する。しかし、詳細度レベルの判定結果に関わらず、最も低いモデルデータを取得するようにすれば、接続されるゲーム機あたりに取得するモデルデータの容量を少なくすることができる。そして、結果的に、ネットワークの通信量を抑えることができ、通信処理負荷を軽減させることができる。
(9)また、本発明のゲームシステム、プログラム及び情報記憶媒体では、
前記第1のモデルと前記第2のモデルとの位置が近い程、前記第2のモデルの詳細度レベルが高くなるように設定されており、
前記通信制御部が、
前記第2のゲーム機との接続が確立された際に、前記第2のモデルの詳細度レベルの判定結果に基づいて、詳細度レベルの高いモデルデータを詳細度レベルの低いモデルデータに優先してネットワークを介して前記第2のゲーム機に要求する処理を行うようにしてもよい。
本発明によれば、通信処理負荷を抑えて詳細度レベルの高いモデルデータを詳細度レベルの低いモデルデータに優先して、第1のモデルと第2のモデルとの位置が近いモデルを確実に描画することができる。したがって、本発明によれば、プレーヤの操作対象の第1のモデルの近くに存在するモデルが表示されないという問題を回避することができる。
また、例えば、複数のゲーム機から同時にモデルデータを取得しなければならない場合には、ゲーム機の接続数に応じて取得するモデルデータ量が増大する。しかし、本発明によれば、詳細度レベルの低いモデルデータに優先して、詳細度レベルの高いモデルデータを取得することができる。その結果、通信処理負荷を抑えて、第1のモデルに近い第2のモデルのモデルデータを確実に取得することができる。
(10)また、本発明のゲームシステム、プログラム及び情報記憶媒体では、
前記詳細度レベル判定部が、
オブジェクト空間における前記第1のモデルと前記第2のモデルとの距離に応じて複数の詳細度レベルに対応づけて距離範囲を設定し、設定された複数の距離範囲のいずれに前記第2のモデルが属するかに基づいて前記詳細度レベルを判定し、
前記通信制御部が、
2つの距離範囲の境界付近に位置する前記第2のモデルについて、当該2つの距離範囲に対応付けられた詳細度レベルに応じたモデルデータを、ネットワークを介して前記第2のゲーム機に要求する処理を行うようにしてもよい。
本発明によれば、第2のゲーム機を使用する他のプレーヤの操作対象の第2のモデルが境界付近に位置する場合には、判定結果による詳細度レベルのモデルデータだけでなく、第1のモデルと第2のモデルとの相対的な位置関係が変動することを予想して他の距離範囲に対応する詳細度レベルを取得することができる。
その結果、本発明によれば、2つの詳細度レベルに応じたモデルデータを取得することによって、仮に第2のモデルが現在位置する距離範囲を越えて他の距離範囲に位置することになった場合であっても、第1のゲーム機が第2のゲーム機からモデルデータを新たに取得することなく、迅速に詳細度レベルに応じたモデルデータに基づいてモデルを描画することができる。
(11)また、本発明は、
他のプレーヤが使用する第1のゲーム機とネットワークを介してデータを送受信することができる第2のゲーム機として機能するゲーム機であって、
第1のゲーム機用の仮想カメラの移動情報又は第1のゲーム機における他のプレーヤの操作情報を、ネットワークを介して前記第1のゲーム機から受信する処理を行う通信制御部と、
前記仮想カメラの移動情報又は前記操作情報に基づいて、オブジェクト空間における前記仮想カメラの位置を演算する仮想カメラ位置演算部と、
前記仮想カメラの位置と、オブジェクト空間における前記第2のゲーム機を使用するプレーヤの操作対象のモデルの位置とに基づいて、前記モデルの詳細度レベルを判定する処理を行う詳細度レベル判定部と、
を含み、
前記通信制御部が、
前記モデルの詳細度レベルの判定結果に応じたモデルデータを、ネットワークを介して前記第1のゲーム機に送信する処理を行うことを特徴とするゲーム機に関する。
また本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶するコンピュータに読み取り可能な情報記憶媒体に関するものである。
本発明によれば、第2のゲーム機が、第2のゲーム機を使用するプレーヤの操作対象のモデルの詳細度レベルに応じた適切なモデルデータを第1のゲーム機に送信することができるので、第2のゲーム機を使用するプレーヤの操作対象のモデルに対する全ての詳細度レベルに応じた複数のモデルデータを第1のゲーム機に対して送信する場合に比較して、通信処理負荷を軽減させることができる。例えば、通信帯域が狭い回線においても、第1のゲーム機における描画処理の際に必要となる第2のゲーム機を使用するプレーヤの操作対象のモデルに適したモデルデータを、第1のゲーム機に送信することができる。
(12)また、本発明は、
他のプレーヤが使用する第1のゲーム機とネットワークを介してデータを送受信することができる第2のゲーム機として機能するゲーム機であって、
オブジェクト空間における第1のゲーム機用の仮想カメラの位置を、ネットワークを介して前記第1のゲーム機から受信する処理を行う通信制御部と、
前記仮想カメラの位置とオブジェクト空間における前記第2のゲーム機を使用するプレーヤの操作対象のモデルの位置とに基づいて、前記モデルの詳細度レベルを判定する処理を行う詳細度レベル判定部と、
を含み、
前記通信制御部が、
前記モデルの詳細度レベルの判定結果に応じたモデルデータを、ネットワークを介して前記第1のゲーム機に送信する処理を行うことを特徴とするゲーム機に関する。
また本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶するコンピュータに読み取り可能な情報記憶媒体に関するものである。
本発明によれば、第2のゲーム機が、第2のゲーム機を使用するプレーヤの操作対象のモデルの詳細度レベルに応じた適切なモデルデータを送信することができるので、第2のゲーム機を使用するプレーヤの操作対象のモデルに対する全ての詳細度レベルに応じた複数のモデルデータを第1のゲーム機に対して送信する場合に比較して、通信処理負荷を軽減させることができる。例えば、通信帯域が狭い回線においても、第1のゲーム機における描画処理の際に必要となる第2のゲーム機を使用するプレーヤの操作対象のモデルに適したモデルデータを、第1のゲーム機に送信することができる。
また、本発明によれば、第1のゲーム機から、第1のゲーム機におけるオブジェクト空間の仮想カメラの位置を、独立して取得することができる。したがって、仮想カメラの位置とオブジェクト空間における第2のゲーム機を使用するプレーヤの操作対象のモデルの位置とに基づいて、第2のゲーム機を使用するプレーヤの操作対象のモデルの詳細度レベルを簡易に判定することができ、第2のゲーム機の処理負荷を軽減することができる。
(13)また、本発明のゲームシステム、プログラム及び情報記憶媒体では、
モデルデータの送信履歴を、ゲーム機に対応づけて記憶部に登録する処理を行う送信登録部と、
を含み、
前記通信制御部が、
前記送信履歴が登録されていないゲーム機に対しては、前記第2のゲーム機を使用するプレーヤの操作対象のモデルの最も低い詳細度レベルのモデルデータを、ネットワークを介して送信し、前記送信履歴が登録されているゲーム機に対しては、前記第2のゲーム機を使用するプレーヤの操作対象のモデルの詳細度レベルの判定結果に応じたモデルデータを、ネットワークを介して送信する処理を行うようにしてもよい。
本発明によれば、送信履歴が登録されていないゲーム機に対しては、最も低い詳細度レベルのモデルデータを送信するので、通信処理負荷を抑えて送信先のゲーム機に対してモデルデータを送信することができる。
つまり、第2のゲーム機は、モデルデータが取得される第1のゲーム機の状況を把握することができない。例えば、第1のゲーム機が、第2のゲーム機の全ての詳細度レベルのモデルデータを保持していないために第2のゲーム機に対してモデルデータを要求する状況であっても、第2のゲーム機はその状況を把握することができない。また、このような状況では、通常、第1のゲーム機は、第2のゲーム機のみならず他の複数のゲーム機との接続が確立されたことによってモデルデータを要求している状況、つまり通信処理負荷が高い状況であることが予想される。
従って、本発明によれば、送信履歴を参照することによって第1のゲーム機の状況を把握し、例えば、送信履歴が登録されていないゲーム機に対しては、通信処理負荷が高い状況であると判断して、詳細度レベルの判定結果に関わらず、第2のゲーム機を使用するプレーヤの操作対象のモデルの最も低いモデルデータを送信する。その結果、本発明によれば、ネットワークの通信量を抑えることができ、通信処理負荷を軽減させることができる。
(14)また、本発明のゲームシステム、プログラム及び情報記憶媒体では、
前記詳細度レベル判定部が、
オブジェクト空間における前記仮想カメラと前記第2のゲーム機を使用するプレーヤの操作対象のモデルとの距離に応じて複数の詳細度レベルに対応づけて距離範囲を設定し、設定された複数の距離範囲のいずれに前記モデルが属するかに基づいて前記詳細度レベルを判定し、
前記通信制御部が、
2つの距離範囲の境界付近に位置する前記第2のゲーム機を使用するプレーヤの操作対象のモデルについて、当該2つの距離範囲に対応付けられた詳細度レベルに応じたモデルデータを、ネットワークを介して前記第1のゲーム機に送信する処理を行うようにしてもよい。
本発明によれば、モデルが境界付近に位置する場合には、判定結果による詳細度レベルのモデルデータだけでなく、仮想カメラと第2のゲーム機を使用するプレーヤの操作対象のモデルとの相対的な位置関係が変動することを予想して他の距離範囲に対応する詳細度レベルを送信することができる。
その結果、本発明によれば、2つの詳細度レベルに応じたモデルデータを送信することによって、仮に第2のゲーム機を使用するプレーヤの操作対象のモデルが現在位置する距離範囲を越えて他の距離範囲に位置することになった場合であっても第1のゲーム機が詳細度レベルに応じた適切なモデルデータに基づいてモデルを迅速に描画できるようにするために、他の距離範囲に対応する詳細度レベルに応じたモデルデータを第1のゲーム機に送信することができる。
(15)また、本発明は、
他のプレーヤが使用する第1のゲーム機において、当該他のプレーヤの操作対象の第1のモデルの位置の変化に追従させるように、オブジェクト空間における仮想カメラの位置が制御されており、当該第1のゲーム機とネットワークを介してデータを送受信することができる第2のゲーム機として機能するゲーム機であって、
前記第1のモデルの移動情報又は前記他のプレーヤの操作情報を、ネットワークを介して前記第1のゲーム機から受信する処理を行う通信制御部と、
前記第1のモデルの移動情報又は前記他のプレーヤの操作情報に基づいて、オブジェクト空間における前記第1のモデルの位置を演算し、第2のゲーム機を使用するプレーヤからの操作情報に基づいて、オブジェクト空間における当該プレーヤの操作対象の第2のモデルの位置を演算する位置演算部と、
オブジェクト空間における前記第1のモデルの位置と前記第2のモデルの位置とに基づいて、前記第2のモデルの詳細度レベルを判定する処理を行う詳細度レベル判定部と、
を含み、
前記通信制御部が、
前記第2のモデルの詳細度レベルの判定結果に応じたモデルデータを、ネットワークを介して前記第1のゲーム機に送信する処理を行うことを特徴とするゲーム機に関する。
また本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶するコンピュータに読み取り可能な情報記憶媒体に関するものである。
本発明によれば、第2のゲーム機が、第2のゲーム機を使用するプレーヤの操作対象の第2のモデルの詳細度レベルに応じた適切なモデルデータを第1のゲーム機に送信することができるので、第2のモデルに対する全ての詳細度レベルに応じた複数のモデルデータを第1のゲーム機に対して送信する場合に比較して、通信処理負荷を軽減させることができる。例えば、通信帯域が狭い回線においても、第1のゲーム機における描画処理の際に必要となる第2のモデルに適したモデルデータを、第1のゲーム機に送信することができる。
また本発明は、他のプレーヤが使用する第1のゲーム機において、第1のゲーム機を使用する他のプレーヤの操作対象の第1のモデルの位置の変化に追従させるように、オブジェクト空間における仮想カメラの位置が制御されており、第2のゲーム機では、第1のモデルの位置と第2のモデルの位置とに基づいて、第2のモデルの詳細度レベルを判定する。したがって、本発明によれば、第1のモデルの位置と第2のモデルの位置とに基づいて詳細度レベル判定が適切に行われ、判定結果に応じた第2のモデルのモデルデータを送信することができる。
(16)また、本発明は、
他のプレーヤが使用する第1のゲーム機において、当該他のプレーヤの操作対象の第1のモデルの位置の変化に追従させるように、オブジェクト空間における仮想カメラの位置が制御されており、当該第1のゲーム機とネットワークを介してデータを送受信することができる第2のゲーム機として機能するゲーム機であって、
オブジェクト空間における前記第1のモデルの位置を、ネットワークを介して前記第1のゲーム機から受信する処理を行う通信制御部と、
第2のゲーム機を使用するプレーヤからの操作情報に基づいて、オブジェクト空間における当該プレーヤの操作対象の第2のモデルの位置を演算する位置演算部と、
オブジェクト空間における前記第1のモデルの位置と前記第2のモデルの位置とに基づいて、前記第2のモデルの詳細度レベルを判定する処理を行う詳細度レベル判定部と、
を含み、
前記通信制御部が、
前記第2のモデルの詳細度レベルの判定結果に応じたモデルデータを、ネットワークを介して前記第1のゲーム機に送信する処理を行うことを特徴とするゲーム機に関する。
また本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶するコンピュータに読み取り可能な情報記憶媒体に関するものである。
本発明は、第2のゲーム機が、第2のゲーム機を使用するプレーヤの操作対象の第2のモデルの詳細度レベルに応じた適切なモデルデータを送信する。したがって、本発明によれば、第2のモデルに対する全ての詳細度レベルに応じた複数のモデルデータを第1のゲーム機に対して送信する場合に比較して、通信処理負荷を軽減させることができる。例えば、通信帯域が狭い回線においても、第1のゲーム機における描画処理の際に必要となる第2のモデルに適したモデルデータを、第1のゲーム機に送信することができる。
また、本発明によれば、第1のゲーム機から、第1のゲーム機におけるオブジェクト空間に存在する第1のゲーム機を使用する他のプレーヤの操作対象の第1のモデルの位置を、独立して取得することができる。したがって、オブジェクト空間における第1のモデルの位置と第2のモデルの位置とに基づいて、第2のモデルの詳細度レベルを簡易に判定することができ、第2のゲーム機の処理負荷を軽減することができる。
また本発明は、他のプレーヤが使用する第1のゲーム機において、第1のゲーム機を使用する他のプレーヤの操作対象の第1のモデルの位置の変化に追従させるように、オブジェクト空間における仮想カメラの位置が制御されており、第2のゲーム機では、第1のモデルの位置と第2のモデルの位置とに基づいて、第2のモデルの詳細度レベルを判定する。したがって、本発明によれば、第1のモデルの位置と第2のモデルの位置とに基づいて詳細度レベル判定が適切に行われ、判定結果に応じた第2のモデルのモデルデータを送信することができる。
(17)また、本発明のゲームシステム、プログラム及び情報記憶媒体では、
モデルデータの送信履歴を、ゲーム機に対応づけて記憶部に登録する処理を行う送信登録部と、
を含み、
前記通信制御部が、
前記送信履歴が登録されていないゲーム機に対しては、前記第2のモデルの最も低い詳細度レベルのモデルデータを、ネットワークを介して送信し、前記送信履歴が登録されているゲーム機に対しては、前記第2のモデルの詳細度レベルの判定結果に応じたモデルデータを、ネットワークを介して送信する処理を行うようにしてもよい。
本発明によれば、送信履歴が登録されていないゲーム機に対しては、最も低い詳細度レベルのモデルデータを送信するので、通信処理負荷を抑えて送信先の第1のゲーム機に対してモデルデータを送信することができる。
つまり、第2のゲーム機は、モデルデータが取得される第1のゲーム機の状況を把握することができない。例えば、第1のゲーム機が、第2のゲーム機の全ての詳細度レベルのモデルデータを保持していないために第2のゲーム機に対してモデルデータを要求する状況であっても、第2のゲーム機はその状況を把握することができない。また、このような状況では、通常、第1のゲーム機は、第2のゲーム機のみならず他の複数のゲーム機との接続が確立されたことによってモデルデータを要求している状況、つまり通信処理負荷が高い状況であることが予想される。
従って、本発明によれば、送信履歴を参照することによって第1のゲーム機の状況を把握し、例えば、送信履歴が登録されていないゲーム機に対しては、通信処理負荷が高い状況であると判断して、詳細度レベルの判定結果に関わらず、第2のゲーム機を使用するプレーヤの操作対象の第2のモデルの最も低いモデルデータを送信する。その結果、本発明によれば、ネットワークの通信量を抑えることができ、通信処理負荷を軽減させることができる。
(18)また、本発明のゲームシステム、プログラム及び情報記憶媒体では、
前記詳細度レベル判定部が、
オブジェクト空間における前記第1のモデルと前記第2のモデルとの距離に応じて複数の詳細度レベルに対応づけて距離範囲を設定し、設定された複数の距離範囲のいずれに前記第2のモデルが属するかに基づいて前記詳細度レベルを判定し、
前記通信制御部が、
2つの距離範囲の境界付近に位置する前記第2のモデルについて、当該2つの距離範囲に対応付けられた詳細度レベルに応じたモデルデータを、ネットワークを介して前記第1のゲーム機に送信する処理を行うようにしてもよい。
本発明によれば、第2のモデルが境界付近に位置する場合には、判定結果による詳細度レベルのモデルデータだけでなく、第1のモデルと第2のモデルとの相対的な位置関係が変動することを予想して他の距離範囲に対応する詳細度レベルを送信することができる。
その結果、本発明によれば、2つの詳細度レベルに応じたモデルデータを送信することによって、仮に第2のモデルが現在位置する距離範囲を越えて他の距離範囲に位置することになった場合であっても第1のゲーム機が詳細度レベルに応じた適切なモデルデータに基づいて第2のモデルを迅速に描画できるようにするために、第2のゲーム機が、他の距離範囲に対応する詳細度レベルに応じた第2のモデルのモデルデータを第1のゲーム機に送信することができる。
(19)また、本発明は、
第1のゲーム機と第2のゲーム機とがネットワークを介してデータを送受信することができるゲームシステムであって、
前記第1のゲーム機が、
前記第2のゲーム機を使用するプレーヤの操作対象のモデルの移動情報又は前記第2のゲーム機を使用するプレーヤの操作情報を、前記第2のゲーム機からネットワークを介して受信する処理を行う通信制御部と、
前記移動情報又は前記操作情報に基づいて、オブジェクト空間における前記モデルの位置を演算する位置演算部と、
オブジェクト空間における第1のゲーム機用の仮想カメラの位置を制御する仮想カメラ制御部と、
オブジェクト空間における前記仮想カメラの位置と前記モデルの位置とに基づいて、前記モデルの詳細度レベルを判定する処理を行う詳細度レベル判定部と、
前記仮想カメラから見える前記モデルを描画する描画部と、
を含むとともに、
前記通信制御部が、
前記モデルの詳細度レベルの判定結果に応じたモデルデータを、ネットワークを介して前記第2のゲーム機に要求する処理と、前記要求に対応するモデルデータを、ネットワークを介して前記第2のゲーム機から受信する処理とを行い、
前記第2のゲーム機が、
前記移動情報又は前記操作情報を、前記第1のゲーム機にネットワークを介して送信する処理と、前記第1のゲーム機から要求された前記モデルデータを、ネットワークを介して前記第1のゲーム機に送信する処理とを行う通信制御部を含むことを特徴とするゲームシステムに関する。
本発明によれば、第1のゲーム機が、第2のゲーム機を使用するプレーヤの操作対象のモデルに対する全ての詳細度レベルに応じた複数のモデルデータを第2のゲーム機に対して要求して取得しなくても、第2のゲーム機を使用するプレーヤの操作対象のモデルの詳細度レベルに応じた適切なモデルデータを要求して取得することができるので、通信処理負荷を軽減させることができる。例えば、通信帯域が狭い回線においても、描画処理に必要となるモデルに適したモデルデータを取得することができる。
つまり、第1のゲーム機と、第2のゲーム機間において、第2のゲーム機を使用するプレーヤの操作対象のモデルの詳細度レベルに応じた適切なモデルデータを送受信するので、従来のように当該モデルに対する全ての詳細度レベルに応じたモデルデータを送受信する場合に比較して、通信処理負荷を抑えて高速にデータの送受信を行うことができる。
(20)また、本発明は、
第1のゲーム機と第2のゲーム機とがネットワークを介してデータを送受信することができるゲームシステムであって、
前記第1のゲーム機が、
オブジェクト空間における前記2のゲーム機を使用するプレーヤの操作対象のモデルの位置を、前記第2のゲーム機からネットワークを介して受信する処理を行う通信制御部と、
オブジェクト空間における第1のゲーム機用の仮想カメラの位置を制御する仮想カメラ制御部と、
オブジェクト空間における前記仮想カメラの位置と前記モデルの位置とに基づいて、前記モデルの詳細度レベルを判定する処理を行う詳細度レベル判定部と、
前記仮想カメラから見える前記モデルを描画する描画部と、
を含むとともに、
前記通信制御部が、
前記モデルの詳細度レベルの判定結果に応じたモデルデータを、ネットワークを介して前記第2のゲーム機に要求する処理と、前記要求に対応するモデルデータを、ネットワークを介して前記第2のゲーム機から受信する処理とを行い、
前記第2のゲーム機が、
オブジェクト空間における前記モデルの位置を、前記第1のゲーム機にネットワークを介して送信する処理と、前記第1のゲーム機から要求された前記モデルデータを、ネットワークを介して前記第1のゲーム機に送信する処理とを行う通信制御部を含むことを特徴とするゲームシステムに関する。
本発明によれば、第1のゲーム機が、第2のゲーム機を使用するプレーヤの操作対象のモデルに対する全ての詳細度レベルに応じた複数のモデルデータを第2のゲーム機に対して要求して取得しなくても、モデルの詳細度レベルに応じた適切なモデルデータを要求して取得することができるので、通信処理負荷を軽減させることができる。例えば、通信帯域が狭い回線においても、描画処理に必要となるモデルに適したモデルデータを取得することができる。
つまり、第1のゲーム機と、第2のゲーム機間において、第2のゲーム機を使用するプレーヤの操作対象のモデルの詳細度レベルに応じた適切なモデルデータを送受信するので、従来のように当該モデルに対する全ての詳細度レベルに応じたモデルデータを送受信する場合に比較して、通信処理負荷を抑えて高速にデータの送受信を行うことができる。
(21)また、本発明は、
第1のゲーム機と第2のゲーム機とがネットワークを介してデータを送受信することができるゲームシステムであって、
前記第1のゲーム機が、
前記第2のゲーム機を使用するプレーヤの操作対象の第2のモデルの移動情報又は前記第2のゲーム機を使用するプレーヤの操作情報を、前記第2のゲーム機からネットワークを介して受信する処理を行う通信制御部と、
第1のゲーム機を使用するプレーヤからの操作情報に基づいて、オブジェクト空間における前記第1のゲーム機を使用するプレーヤの操作対象の第1のモデルの位置を演算し、前記第2のモデルの移動情報又は前記第2のゲーム機を使用するプレーヤの操作情報に基づいて、オブジェクト空間における前記第2のモデルの位置を演算する位置演算部と、
前記第1のモデルの位置の変化に追従させるように、オブジェクト空間における第1のゲーム機用の仮想カメラの位置を制御する仮想カメラ制御部と、
オブジェクト空間における前記第1のモデルの位置と前記第2のモデルの位置とに基づいて、前記第2のモデルの詳細度レベルを判定する処理を行う詳細度レベル判定部と、
前記仮想カメラから見える前記第2のモデルを描画する描画部と、
を含むとともに、
前記通信制御部が、
前記第2のモデルの詳細度レベルの判定結果に応じたモデルデータを、ネットワークを介して前記第2のゲーム機に要求する処理と、前記要求に対応するモデルデータを、ネットワークを介して前記第2のゲーム機から受信する処理とを行い、
前記第2のゲーム機が、
前記第2のモデルの移動情報又は前記第2のゲーム機を使用するプレーヤの操作情報を、前記第1のゲーム機にネットワークを介して送信する処理と、前記第1のゲーム機から要求された前記モデルデータを、ネットワークを介して前記第1のゲーム機に送信する処理とを行う通信制御部を含むことを特徴とするゲームシステムに関する。
本発明によれば、第1のゲーム機が、第2のゲーム機を使用するプレーヤの操作対象の第2のモデルに対する全ての詳細度レベルに応じた複数のモデルデータを第2のゲーム機に対して要求して取得しなくても、第2のモデルの詳細度レベルに応じた適切なモデルデータを要求して取得することができ、通信処理負荷を軽減させることができる。例えば、通信帯域が狭い回線においても、描画処理に必要となる第2のモデルに適したモデルデータを取得することができる。
つまり、第1のゲーム機と、第2のゲーム機間において、第2のモデルの詳細度レベルに応じた適切なモデルデータを送受信するので、従来のように第2のモデルに対する全ての詳細度レベルに応じたモデルデータを送受信する場合に比較して、通信処理負荷を抑えて高速にデータの送受信を行うことができる。
また本発明は、第1のゲーム機が、第1のゲーム機を使用するプレーヤの操作対象の第1のモデルの位置の変化に追従させるように、第1のゲーム機用の仮想カメラの位置を制御し、第1のモデルの位置と第2のモデルの位置とに基づいて、第2のモデルの詳細度レベルを判定する。したがって、本発明によれば、第1のゲーム機において、第1のモデルの位置と第2のモデルの位置とに基づいて詳細度レベル判定が適切に行われ、判定結果に応じた第2のモデルのモデルデータを第2のゲーム機から取得することができる。
(22)また、本発明は、
第1のゲーム機と第2のゲーム機とがネットワークを介してデータを送受信することができるゲームシステムであって、
前記第1のゲーム機が、
オブジェクト空間における前記第2のゲーム機を使用するプレーヤの操作対象の第2のモデルの位置を、前記第2のゲーム機からネットワークを介して受信する処理を行う通信制御部と、
前記第1のゲーム機を使用するプレーヤからの操作情報に基づいて、オブジェクト空間における前記第1のゲーム機を使用するプレーヤの操作対象の第1のモデルの位置を演算する位置演算部と、
前記第1のモデルの位置の変化に追従させるように、オブジェクト空間における第1のゲーム機用の仮想カメラの位置を制御する仮想カメラ制御部と、
オブジェクト空間における前記第1のモデルの位置と前記第2のモデルの位置とに基づいて、前記第2のモデルの詳細度レベルを判定する処理を行う詳細度レベル判定部と、
前記仮想カメラから見える前記第2のモデルを描画する描画部と、
を含むとともに、
前記通信制御部が、
前記第2のモデルの詳細度レベルの判定結果に応じたモデルデータを、ネットワークを介して前記第2のゲーム機に要求する処理と、前記要求に対応するモデルデータを、ネットワークを介して前記第2のゲーム機から受信する処理とを行い、
前記第2のゲーム機が、
オブジェクト空間における前記第2のモデルの位置を、前記第1のゲーム機にネットワークを介して送信する処理と、前記第1のゲーム機から要求された前記モデルデータを、ネットワークを介して前記第1のゲーム機に送信する処理とを行う通信制御部を含むことを特徴とするゲームシステムに関する。
本発明によれば、第1のゲーム機が、第2のゲーム機を使用するプレーヤの操作対象の第2のモデルに対する全ての詳細度レベルに応じた複数のモデルデータを第2のゲーム機に対して要求して取得しなくても、第2のモデルの詳細度レベルに応じた適切なモデルデータを要求して取得することができるので、通信処理負荷を軽減させることができる。例えば、通信帯域が狭い回線においても、描画処理に必要となる第2のモデルに適したモデルデータを取得することができる。
つまり、第1のゲーム機と、第2のゲーム機間において、第2のモデルの詳細度レベルに応じた適切なモデルデータを送受信するので、従来のように第2のモデルに対する全ての詳細度レベルに応じたモデルデータを送受信する場合に比較して、通信処理負荷を抑えて高速にデータの送受信を行うことができる。
また本発明は、第1のゲーム機が、第1のゲーム機を使用するプレーヤの操作対象の第1のモデルの位置の変化に追従させるように、第1のゲーム機用の仮想カメラの位置を制御し、第1のモデルの位置と第2のモデルの位置とに基づいて、第2のモデルの詳細度レベルを判定する。したがって、本発明によれば、第1のゲーム機において、第1のモデルの位置と第2のモデルの位置とに基づいて詳細度レベル判定が適切に行われ、判定結果に応じた第2のモデルのモデルデータを第2のゲーム機から取得することができる。
(23)また、本発明は、
第1のゲーム機と第2のゲーム機とがネットワークを介してデータを送受信することができるゲームシステムであって、
前記第2のゲーム機が、
第1のゲーム機用の仮想カメラの移動情報又は第1のゲーム機を使用するプレーヤの操作情報を、ネットワークを介して前記第1のゲーム機から受信する処理を行う通信制御部と、
前記仮想カメラの移動情報又は前記操作情報に基づいて、オブジェクト空間における前記仮想カメラの位置を演算する仮想カメラ位置演算部と、
前記仮想カメラの位置と、オブジェクト空間における前記第2のゲーム機を使用するプレーヤの操作対象のモデルの位置とに基づいて、前記モデルの詳細度レベルを判定する処理を行う詳細度レベル判定部と、
を含むとともに、
前記通信制御部が、
前記モデルの詳細度レベルの判定結果に応じたモデルデータを、ネットワークを介して前記第1のゲーム機に送信する処理を行い、
前記第1のゲーム機が、
オブジェクト空間における前記仮想カメラの位置を、前記第2のゲーム機にネットワークを介して送信する処理と、前記第2のゲーム機から送信された前記モデルデータを、ネットワークを介して受信する処理とを行う通信制御部を含むことを特徴とするゲームシステムに関する。
本発明によれば、第2のゲーム機が、第2のゲーム機を使用するプレーヤの操作対象のモデルの詳細度レベルに応じた適切なモデルデータを第1のゲーム機に対して送信することができるので、第2のゲーム機を使用するプレーヤの操作対象のモデルに対する全ての詳細度レベルに応じた複数のモデルデータを第1のゲーム機に対して送信する場合に比較して、通信処理負荷を軽減させることができる。例えば、通信帯域が狭い回線においても、第1のゲーム機において描画処理に必要となる第2のゲーム機を使用するプレーヤの操作対象のモデルに適したモデルデータを送信することができる。
つまり、第1のゲーム機と、第2のゲーム機間において、第2のゲーム機を使用するプレーヤの操作対象のモデルの詳細度レベルに応じた適切なモデルデータを送受信するので、従来のようにモデルに対する全ての詳細度レベルに応じたモデルデータを送受信する場合に比較して、通信処理負荷を抑えて高速にデータの送受信を行うことができる。
(24)また、本発明は、
第1のゲーム機と第2のゲーム機とがネットワークを介してデータを送受信することができるゲームシステムであって、
前記第2のゲーム機が、
オブジェクト空間における第1のゲーム機用の仮想カメラの位置を、ネットワークを介して前記第1のゲーム機から受信する処理を行う通信制御部と、
前記仮想カメラの位置とオブジェクト空間における前記第2のゲーム機を使用するプレーヤの操作対象のモデルの位置とに基づいて、前記モデルの詳細度レベルを判定する処理を行う詳細度レベル判定部と、
を含むとともに、
前記通信制御部が、
前記モデルの詳細度レベルの判定結果に応じたモデルデータを、ネットワークを介して前記第1のゲーム機に送信する処理を行い、
前記第1のゲーム機が、
オブジェクト空間における前記仮想カメラの位置を、前記第2のゲーム機にネットワークを介して送信する処理と、前記第2のゲーム機から送信された前記モデルデータを、ネットワークを介して受信する処理とを行う通信制御部を含むことを特徴とするゲームシステムに関する。
本発明によれば、第2のゲーム機が、第2のゲーム機を使用するプレーヤの操作対象のモデルの詳細度レベルに応じた適切なモデルデータを第1のゲーム機に対して送信することができるので、当該モデルに対する全ての詳細度レベルに応じた複数のモデルデータを第1のゲーム機に対して送信する場合に比較して、通信処理負荷を軽減させることができる。例えば、通信帯域が狭い回線においても、描画処理に必要となるプレーヤの操作対象のモデルに適したモデルデータを送信することができる。
つまり、第1のゲーム機と、第2のゲーム機間において、第2のゲーム機を使用するプレーヤの操作対象のモデルの詳細度レベルに応じた適切なモデルデータを送受信するので、従来のように当該モデルに対する全ての詳細度レベルに応じたモデルデータを送受信する場合に比較して、通信処理負荷を抑えて高速にデータの送受信を行うことができる。
(25)また、本発明は、
第1のゲーム機と第2のゲーム機とがネットワークを介してデータを送受信することができるゲームシステムであって、
前記第2のゲーム機が、
前記第1のゲーム機を使用するプレーヤの操作対象の第1のモデルの移動情報又は前記第1のゲーム機を使用するプレーヤの操作情報を、ネットワークを介して前記第1のゲーム機から受信する処理を行う通信制御部と、
前記第1のモデルの移動情報又は前記第1のゲーム機を使用するプレーヤの操作情報に基づいて、オブジェクト空間における前記第1のモデルの位置を演算し、前記第2のゲーム機を使用するプレーヤからの操作情報に基づいて、オブジェクト空間における前記第2のゲーム機を使用するプレーヤの操作対象の第2のモデルの位置を演算する位置演算部と、
オブジェクト空間における前記第1のモデルの位置と前記第2のモデルの位置とに基づいて、前記第2のモデルの詳細度レベルを判定する処理を行う詳細度レベル判定部と、
を含むとともに、
前記通信制御部が、
前記第2のモデルの詳細度レベルの判定結果に応じたモデルデータを、ネットワークを介して前記第1のゲーム機に送信する処理を行い、
前記第1のゲーム機が、
前記第1のモデルの位置の変化に追従させるように、オブジェクト空間における第1のゲーム機用の仮想カメラの位置を制御する仮想カメラ制御部と、
前記第1のモデルの移動情報又は前記第1のゲーム機を使用するプレーヤの操作情報を、前記第2のゲーム機にネットワークを介して送信する処理と、前記第2のゲーム機から送信された前記モデルデータを、ネットワークを介して受信する処理とを行う通信制御部と、
を含むことを特徴とするゲームシステムに関する。
本発明によれば、第2のゲーム機が、第2のゲーム機を使用するプレーヤの操作対象の第2のモデルの詳細度レベルに応じた適切なモデルデータを第1のゲーム機に対して送信することができるので、第2のモデルに対する全ての詳細度レベルに応じた複数のモデルデータを第1のゲーム機に対して送信する場合に比較して、通信処理負荷を軽減させることができる。例えば、通信帯域が狭い回線においても、第1のゲーム機において描画処理に必要となる第2のモデルに適したモデルデータを送信することができる。
つまり、第1のゲーム機と、第2のゲーム機間において、第2のモデルの詳細度レベルに応じた適切なモデルデータを送受信するので、従来のように第2のモデルに対する全ての詳細度レベルに応じたモデルデータを送受信する場合に比較して、通信処理負荷を抑えて高速にデータの送受信を行うことができる。
また本発明は、第1のゲーム機において、第1のゲーム機を使用するプレーヤの操作対象の第1のモデルの位置の変化に追従させるように、オブジェクト空間における仮想カメラの位置が制御され、第2のゲーム機では、第1のモデルの位置と第2のモデルの位置とに基づいて、第2のモデルの詳細度レベルを判定する。したがって、本発明によれば、第2のゲーム機は、第1のモデルの位置と第2のモデルの位置とに基づいて詳細度レベル判定が適切に行われ、判定結果に応じた第2のモデルのモデルデータを送信することができる。
(26)また、本発明は、
第1のゲーム機と第2のゲーム機とがネットワークを介してデータを送受信することができるゲームシステムであって、
前記第2のゲーム機が、
オブジェクト空間における前記第1のゲーム機を使用するプレーヤの操作対象の第1のモデルの位置を、ネットワークを介して前記第1のゲーム機から受信する処理を行う通信制御部と、
前記第2のゲーム機を使用するプレーヤからの操作情報に基づいて、オブジェクト空間における前記第2のゲーム機を使用するプレーヤの操作対象の第2のモデルの位置を演算する位置演算部と、
オブジェクト空間における前記第1のモデルの位置と前記第2のモデルの位置とに基づいて、前記第2のモデルの詳細度レベルを判定する処理を行う詳細度レベル判定部と、
を含むとともに、
前記通信制御部が、
前記第2のモデルの詳細度レベルの判定結果に応じたモデルデータを、ネットワークを介して前記第1のゲーム機に送信する処理を行い、
前記第1のゲーム機が、
前記第1のモデルの位置の変化に追従させるように、オブジェクト空間における第1のゲーム機用の仮想カメラの位置を制御する仮想カメラ制御部と、
前記第1のモデルの位置を、前記第2のゲーム機にネットワークを介して送信する処理と、前記第2のゲーム機から送信された前記モデルデータを、ネットワークを介して受信する処理とを行う通信制御部を含むことを特徴とするゲームシステムに関する。
本発明によれば、第2のゲーム機が、第2のゲーム機を使用するプレーヤの操作対象の第2のモデルの詳細度レベルに応じた適切なモデルデータを第1のゲーム機に対して送信することができるので、第2のモデルに対する全ての詳細度レベルに応じた複数のモデルデータを第1のゲーム機に対して送信する場合に比較して、通信処理負荷を軽減させることができる。例えば、通信帯域が狭い回線においても、第1のゲーム機において描画処理に必要となる第2のモデルに適したモデルデータを、第2のゲーム機から第1のゲーム機へ送信することができる。
つまり、第1のゲーム機と、第2のゲーム機間において、第2のモデルの詳細度レベルに応じた適切なモデルデータを送受信するので、従来のように第2のモデルに対する全ての詳細度レベルに応じたモデルデータを送受信する場合に比較して、通信処理負荷を抑えて高速にデータの送受信を行うことができる。
また本発明は、第1のゲーム機において、第1のゲーム機を使用するプレーヤの操作対象の第1のモデルの位置の変化に追従させるように、オブジェクト空間における仮想カメラの位置が制御され、第2のゲーム機では、第1のモデルの位置と第2のモデルの位置とに基づいて、第2のモデルの詳細度レベルを判定する。したがって、本発明によれば、第2のゲーム機は、第1のモデルの位置と第2のモデルの位置とに基づいて詳細度レベル判定が適切に行われ、判定結果に応じた第2のモデルのモデルデータを送信することができる。
1.構成
1.1 第1の構成例
まず、本実施形態の第1の構成例について説明する。
図1に本実施形態のゲーム機(第1のゲーム機)の機能ブロック図を示す。なお本実施形態のゲーム機は図1の構成要素(各部)の一部を省略した構成としてもよい。
操作部160は、プレーヤが移動体(プレーヤが操作するプレーヤ車両、プレーヤオブジェクト、プレーヤキャラクタ、ゲームキャラクタを含む)の操作情報を入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)、メモリカードなどにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
通信部196は外部(例えばホスト装置や他のゲームシステム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバが有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなサーバの情報記憶媒体の使用も本発明の範囲内に含めることができる。
処理部100(プロセッサ)は、操作部160からの操作情報(操作データ)やプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170内の主記憶部172をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
処理部100は、通信制御部110、仮想カメラ制御部112、移動・動作処理部113、位置演算部114、詳細度レベル判定部115、オブジェクト空間設定部117、ネットワーク設定部118、描画部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。
通信制御部110は、他のゲーム機(第2のゲーム機)に送信するパケットを生成する処理、パケット送信先のゲーム機のネットワークアドレスを指定する処理、受信したパケットを記憶部170に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する通信部196の制御処理等を行う。
パケットとは、ネットワークにおいて、小さなデータの固まりを、送信元IPアドレス、送信先IPアドレスを含むネットワークに必要なヘッダーとともに、実際に送りたいデータをペイロードに含ませたデータのことをいう。
また、アプリケーションレベルの通信を実現するためには、アプリケーションの種類を特定する「ポート番号」を用いて、TCPパケットやUDPパケットを生成する。TCPパケットや、UDPパケットを生成する場合には、送信元のIPアドレス及び送信元のポート番号、送信先のIPアドレス及び送信先のポート番号を含むネットワークに必要なヘッダーとともに、実際に送りたいデータをペイロードに含ませるようにして生成する。
本実施形態の通信制御部110は、要求パケットを生成し、要求パケットを送信する処理、あるいは、送信された要求パケットを受信する処理を行うことができる。また、要求パケットに対応する応答パケットを生成し、応答パケットを送信する処理、あるいは、送信された応答パケットを受信する処理を行うことができる。
具体的に説明すると、本実施形態の通信制御部110は、要求パケットのヘッダーの送信先IPアドレスと送信先ポート番号に、送信先のゲーム機のIPアドレスとポート番号指定し、ヘッダーの送信元のIPアドレスと送信元ポート番号に、自機のIPアドレスとポート番号を指定する。そして、要求パケットのペイロードには、後述する詳細度レベル判定部115における他のプレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)の詳細度レベルの判定結果に応じたモデルデータを要求する内容(データ)を含ませて要求パケットを生成し、生成された要求パケットを他のプレーヤが操作する送信先の他のゲーム機(第2のゲーム機)に送信する処理を行う。
また、本実施形態の通信制御部110は、要求パケットに対応する応答パケットを受信する。そして、受信した応答パケットを解析し、応答パケットのペイロードに含まれる要求パケットに対応する他のプレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)のモデルデータを取得する。
また本実施形態の通信制御部110は、他のゲーム機(第2のゲーム機)との接続が確立された際に、後述する詳細度レベル判定部115による他のプレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)の詳細度レベルの判定結果に関わらず、最も低い詳細度レベルの他のプレーヤの操作対象のモデル(第2のモデル)のモデルデータを要求する内容を示す要求パケットを生成し、要求パケットをネットワークを介して他のゲーム機に要求する処理を行うようにしてもよい。
また本実施形態の通信制御部110は、自機(第1のゲーム機)のオブジェクト空間における仮想カメラの位置とオブジェクト空間における他のプレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)の位置とが近い程、モデル(第2のモデル)の詳細度レベルが高くなるように設定されている場合において、他のゲーム機(第2のゲーム機)との接続が確立された際に、詳細度レベルの判定結果に基づいて、詳細度レベルの高いモデルデータを詳細度レベルの低いモデルデータに優先してネットワークを介して他のゲーム機に要求する処理を行うことができる。
例えば、自機(第1のゲーム機)が、複数のゲーム機(第2のゲーム機)との接続が確立された際に、後述する詳細度レベル判定部115において、接続が確立された複数のゲーム機各々を操作するプレーヤの操作対象のモデル(第2のモデル)の詳細度レベルが判定される。そして、詳細度レベル判定部115における判定結果に基づいて、詳細度レベルの高いモデルデータを要求する第2のゲーム機に対して、詳細度レベルの低いモデルデータを要求する他の第2のゲーム機よりも優先して、要求パケットを送信する処理を行うことができる。
また本実施形態の通信制御部110は、自機(第1のゲーム機)において、第1のモデル(自機を使用するプレーヤの操作対象のモデル)の位置の変化に追従させるように、オブジェクト空間における自機用の仮想カメラの位置が制御されている場合には、自機(第1のゲーム機)のオブジェクト空間における第1のモデルと、第2のモデル(第2のゲーム機を使用するプレーヤの操作対象のモデル)との位置が近い程、第2のモデルの詳細度レベルが高くなるように設定してもよい。そして、かかる場合において、自機と他のゲーム機(第2のゲーム機)との接続が確立された際に、詳細度レベルの判定結果に基づいて、詳細度レベルの高いモデルデータを詳細度レベルの低いモデルデータに優先してネットワークを介して他のゲーム機に要求する処理を行うようにしてもよい。
また本実施形態の通信制御部110は、オブジェクト空間における仮想カメラ(第1のゲーム機用の仮想カメラ)と他のプレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)との距離に応じて複数の詳細度レベルに対応づけて複数の距離範囲が設定される場合に、2つの距離範囲の境界付近に位置する他のプレーヤの操作対象のモデル(第2のモデル)について、その2つの距離範囲に対応付けられた詳細度レベルに応じたモデルデータを、ネットワークを介して他のゲーム機(第2のゲーム機)に要求する処理を行うようにしてもよい。つまり、他のプレーヤの操作対象のモデル(第2のモデル)に対する2つの詳細度レベルのモデルデータを要求する内容を示す要求パケットを生成し、当該要求パケットをネットワークを介して他のゲーム機に要求する処理を行うようにしてもよい。
また、本実施形態の他のゲーム機(第2のゲーム機)は、移動・動作情報パケットを生成し、移動・動作情報パケットを送信する処理を行い、本実施形態のゲーム機(第1のゲーム機)は、他のゲーム機(第2のゲーム機)から送信された移動・動作情報パケットを受信する処理を行うことができる。
具体的に説明すると、本実施形態のゲーム機(第1のゲーム機)とネットワークを介して接続される他のゲーム機(第2のゲーム機)の通信制御部110は、移動・動作情報パケットのヘッダーの送信先IPアドレスと送信先ポート番号に、送信先のゲーム機(第1のゲーム機)のIPアドレスとポート番号指定し、ヘッダーの送信元のIPアドレスと送信元ポート番号に、第2のゲーム機のIPアドレスとポート番号を指定する。そして、移動・動作情報パケットのペイロードに第2のゲーム機のプレーヤの操作対象のモデル(第2のモデル)の移動・動作情報を含ませるように移動・動作情報パケットを生成し、生成した移動・動作情報パケットを送信先のゲーム機に送信する処理を行う。
また、本実施形態のゲーム機(第1のゲーム機)の通信制御部110は、他のプレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)の移動・動作情報を含む移動・動作情報パケットを他のゲーム機(第2のゲーム機)から受信する処理を行う。
また、本実施形態の他のゲーム機(第2のゲーム機)の通信制御部110は、第2のゲーム機を使用するプレーヤのモデル(第2のモデル)の位置を、本実施形態のゲーム機(第1のゲーム機)にネットワークを介して送信する処理を行い、本実施形態のゲーム機(第1のゲーム機)の通信制御部110は、オブジェクト空間における他のゲーム機(第2のゲーム機)を使用する他のプレーヤの操作対象のモデル(第2のモデル)の位置を、他のゲーム機からネットワークを介して受信する処理を行うようにしてもよい。
なお、本実施形態の他のゲーム機(第2のゲーム機)の通信制御部110は、操作情報パケットを生成し、操作情報パケットを送信する処理を行なうことがき、本実施形態のゲーム機(第1のゲーム機)の通信制御部110は、他のゲーム機(第2のゲーム機)から送信された操作情報パケットを受信する処理を行うようにしてもよい。例えば、他のゲーム機(第2のゲーム機)がプレーヤからの操作情報を含む操作情報パケットを生成し、当該操作情報パケットを本実施形態のゲーム機(第1のゲーム機)に送信する処理を行う。また例えば、本実施形態のゲーム機(第1のゲーム機)が他のゲーム機(第2のゲーム機)から、他のプレーヤ(第2のゲーム機を使用するプレーヤ)の操作情報を含む操作情報パケットを受信する処理を行う。
仮想カメラ制御部112は、オブジェクト空間内の所与(任意)の仮想カメラ(視点)から見える画像を生成するための仮想カメラの制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。また、画角を制御するようにしてもよい。
例えば仮想カメラによりオブジェクト(例えばキャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
より具体的には、本実施形態の仮想カメラ制御部112は、本実施形態のゲーム機(第1のゲーム機)を使用するプレーヤの操作対象のモデル(第1のモデル)の位置の変化に追従させるように、オブジェクト空間における仮想カメラ(第1のゲーム機用の仮想カメラ)の位置を制御するようにしてもよい。
移動・動作処理部113は、モデル(キャラクタ、車、電車又は飛行機等)の移動・動作演算(移動・動作シミュレーション)を行う。すなわち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、モデルをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させたりする処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
特に、本実施形態の移動・動作処理部113は、プレーヤからの操作情報に基づいて、プレーヤの操作対象のモデル(第1のモデル)を移動・動作させる処理を行うことができる。また、前述した通信制御部110において、取得した移動・動作情報パケットに含まれる他のプレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)に対する移動・動作情報に基づいて、他のプレーヤの操作対象のモデル(第2のモデル)を、本実施形態のゲーム機(第1のゲーム機)を使用するプレーヤの操作対象となるモデル(第1のモデル)と同一のオブジェクト空間において移動・動作させる処理を行うことができる。
なお、本実施形態の位置演算部114は、他のゲーム機(第2のゲーム機)から受信した移動・動作情報パケットに含まれる他のプレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)の移動情報に基づいて、オブジェクト空間における他のプレーヤの操作対象のモデル(第2のモデル)の位置を演算することができる。
なお、本実施形態の位置演算部114は、他のゲーム機(第2のゲーム機)から受信した操作情報パケットに含まれる他のプレーヤ(第2のゲーム機を使用するプレーヤ)の操作情報に基づいて、他のプレーヤの操作対象のモデル(第2のモデル)の移動情報を演算し、演算した移動情報に基づいてオブジェクト空間における他のプレーヤの操作対象のモデル(第2のモデル)の位置を求めることができる。
また、本実施形態の位置演算部114は、本実施形態のゲーム機(第1のゲーム機)を使用するプレーヤからの操作情報に基づいて、オブジェクト空間における第1のモデルの位置を演算するようにしてもよい。
本実施形態の詳細度レベル判定部115は、自機(第1のゲーム機)において、オブジェクト空間における仮想カメラ(第1のゲーム機用の仮想カメラ)の位置と、他のプレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)の位置との相対的な位置関係に基づいて、他のプレーヤの操作対象のモデル(第2のモデル)の詳細度レベルを判定する処理を行う。
なお、本実施形態の詳細度レベル判定部115は、プレーヤ(第1のゲーム機を使用するプレーヤ)の操作対象のモデル(第1のモデル)の位置の変化に追従させるように、オブジェクト空間における第1のゲーム機用の仮想カメラが制御されている場合には、第1のモデルの位置と第2のモデルの位置との相対的な位置関係に基づいて、第2のモデルの詳細度レベルを判定する処理を行うようにしてもよい。
本実施形態の詳細度レベル判定部115は、自機(第1のゲーム機)におけるオブジェクト空間における仮想カメラ(第1のゲーム機用の仮想カメラ)の位置と、他のプレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)の位置との相対的な距離に応じて、複数の詳細度レベルに対応づけて距離範囲を設定し、設定された複数の距離範囲のいずれに他のプレーヤの操作対象のモデル(第2のモデル)が属するかに基づいて、詳細度レベルを判定することができる。つまり、他のプレーヤの操作対象のモデル(第2のモデル)が属する距離範囲に対応する詳細度レベルを判定することができる。
なお、必ずしも詳細度レベル判定部115が、オブジェクト空間における仮想カメラ(第1のゲーム機用の仮想カメラ)と他のプレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)との距離に応じて複数の詳細度レベルに対応づけて距離範囲を設定する処理を行わなくてもよい。つまり、処理部100において、詳細度レベル判定部115とは別の処理として、オブジェクト空間における仮想カメラ(第1のゲーム機用の仮想カメラ)と他のプレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)との距離に応じて複数の詳細度レベルに対応づけて距離範囲を設定する処理を行ってもよい。
オブジェクト空間設定部117は、移動体、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
ネットワーク設定部118は、ゲームシステムで必要となる情報を取得し、管理する処理等を行う。特に、本実施形態のネットワーク設定部は、所与の条件下で、各ゲーム機に個別に付与される識別情報と、識別情報に対応付けられたパケットの送信先を指定する宛先情報とを取得する。ここで、識別情報とは、オンラインゲームに参加できるゲーム機を識別するために個別に付与されたデータである。例えば、ゲーム機を識別するためのゲーム機毎に異なる固有のIDとすることができる。
また、宛先情報とは、ゲームシステムを構成する各ゲーム機のIPアドレス、ポート番号とすることができる。IPアドレスは、インターネット上もしくはWANで特定のゲーム機を特定するためのグローバルIPアドレスとしてもよいし、LANで特定のゲーム機を特定するためのプライベートIPアドレスとしてもよい。
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずモデル(オブジェクト)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むモデルデータ(オブジェクトデータ)が入力され、入力されたモデルデータ(オブジェクトデータ)に含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
そして描画部120は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、オブジェクトデータ記憶部176に保存される。
テクスチャマッピングは、記憶部170のテクスチャ記憶部に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170のテクスチャ記憶部からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
なお、本実施形態の描画部120は、仮想カメラから見えるモデルを描画する処理を行う。つまり、仮想カメラから見えるモデルを記憶部170のモデルデータ記憶部176に記憶されているモデルデータに基づいて、描画する処理を行う。例えば、自機(第1のゲーム機)を使用するプレーヤの操作対象のモデル(第1のモデル)を描画する処理を行うことができる。また、前記通信制御部110において取得した他のプレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)のモデルデータをモデルデータ記憶部176に記憶させ、記憶された他のプレーヤの操作対象のモデル(第2のモデル)のモデルデータに基づいて、他のプレーヤの操作対象のモデル(第2のモデル)を描画する処理を行うことができる。
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
1.2 第2の構成例
次に、本実施形態の第2の構成例について、図1を用いて説明する。なお、第2の構成例は、第1の構成例との共通する点については説明を省略し、第1の構成例と相違する点について説明する。なお、第2の構成例は、送信登録部116、仮想カメラ位置演算部119とを含む。
本実施形態の他のゲーム機(第1のゲーム機)の通信制御部110は、要求パケットを生成し、要求パケットを送信する処理を行い、本実施形態のゲーム機(第2のゲーム機)の通信制御部110は、送信された要求パケットを受信する処理を行うことができる。また本実施形態のゲーム機(第2のゲーム機)の通信制御部110は、要求パケットに対応する応答パケットを生成し、応答パケットを送信する処理を行い、本実施形態の他のゲーム機(第1のゲーム機)の通信制御部110は、送信された応答パケットを受信する処理を行うことができる。
具体的に説明すると、本実施形態の他のゲーム機(第1のゲーム機)の通信制御部110は、要求パケットのヘッダーの送信先IPアドレスと送信先ポート番号に、送信先のゲーム機(第2のゲーム機)のIPアドレスとポート番号指定し、ヘッダーの送信元のIPアドレスと送信元ポート番号に、自機(第1のゲーム機)のIPアドレスとポート番号を指定する。そして、要求パケットのペイロードには、自機の仮想カメラ(第1のゲーム機用の仮想カメラ)の移動情報を含むようにして要求パケットを生成し、当該要求パケットを送信先のゲーム機(第2のゲーム機)に送信する処理を行う。なお、本実施形態の他のゲーム機(第1のゲーム機)の通信制御部110は、要求パケットのペイロードには、自機の仮想カメラ(第1のゲーム機用の仮想カメラ)の位置を含むようにして要求パケットを生成し、当該要求パケットを送信先のゲーム機(第2のゲーム機)に送信する処理を行うようにしてもよい。
また、本実施形態のゲーム機(第2のゲーム機)の通信制御部110は、他のゲーム機(第1のゲーム機)から送信された要求パケットを受信する処理を行う。そして、受信した要求パケットを解析し、要求パケットのペイロードに含まれる他のゲーム機の仮想カメラ(第1のゲーム機用の仮想カメラ)の移動情報を取得する。なお、受信した要求パケットを解析し、要求パケットのペイロードに含まれる他のゲーム機の仮想カメラ(第1のゲーム機用の仮想カメラ)の位置を取得する処理を行うようにしてもよい。
なお、本実施形態のゲーム機(第2のゲーム機)の通信制御部110は、他のゲーム機(第1のゲーム機)から他のプレーヤの操作対象のモデル(第1のモデル)の位置を受信してもよい。
また本実施形態のゲーム機(第2のゲーム機)の通信制御部110は、要求パケットに対応する応答パケットを生成することができる。応答パケットは、自機(第2のゲーム機)における詳細度レベルの判定結果に応じたプレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)のモデルデータを含む。なお、本実施形態のゲーム機(第2のゲーム機)の通信制御部110は、生成された応答パケットをネットワークを介して他のゲーム機(第1のゲーム機)に送信する処理を行う。
また本実施形態のゲーム機(第2のゲーム機)の通信制御部110は、送信履歴が登録されていないゲーム機(第1のゲーム機)に対して、自機(第2のゲーム機)においてプレーヤの操作対象のモデル(第2のモデル)の最も低い詳細度レベルのモデルデータを、ネットワークを介して送信する処理を行い、送信履歴が登録されているゲーム機(第1のゲーム機)に対しては、詳細度レベルの判定結果に応じた自機(第2のゲーム機)のプレーヤの操作対象のモデル(第2のモデル)のモデルデータを含む応答パケットを生成し、応答パケットをネットワークを介して送信するようにしてもよい。
また本実施形態のゲーム機(第2のゲーム機)の通信制御部110は、他のゲーム機(第1のゲーム機)におけるオブジェクト空間における仮想カメラ(第1のゲーム機用の仮想カメラ)と、プレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)との距離に応じて複数の詳細度レベルに対応づけて複数の距離範囲が設定される場合に、2つの距離範囲の境界付近に位置する自機(第2のゲーム機)のプレーヤの操作対象のモデル(第2のモデル)について、当該2つの距離範囲に対応付けられた詳細度レベルに応じたモデルデータを含む応答パケットを生成し、生成された応答パケットを、他のゲーム機(他のプレーヤが操作する第1のゲーム機)に送信する処理を行うようにしてもよい。つまり、モデル(第2のモデル)に対する2つの詳細度レベルのモデルデータを含む応答パケットを送信する処理を行ってもよい。
また本実施形態のゲーム機(第2のゲーム機)の通信制御部110は、他のゲーム機(第1のゲーム機)を使用するプレーヤの操作対象のモデル(第1のモデル)と、ゲーム機(第2のゲーム機)を使用するプレーヤの操作対象のモデル(第2のモデル)との距離に応じて複数の詳細度レベルに対応づけて複数の距離範囲が設定される場合に、2つの距離範囲の境界付近に位置する第2のモデルについて、当該2つの距離範囲に対応付けられた詳細度レベルに応じたモデルデータを含む応答パケットを生成し、生成された応答パケットを、他のゲーム機(第1のゲーム機)に送信する処理を行うようにしてもよい。つまり、第2のモデルに対する2つの詳細度レベルのモデルデータを含む応答パケットを送信する処理を行ってもよい。
また、本実施形態の他のゲーム機(第1のゲーム機)の通信制御部110が、操作情報パケットを生成し、操作情報パケットを送信する処理を行い、本実施形態のゲーム機(第2のゲーム機)の通信制御部110が、他のゲーム機(第1のゲーム機)から送信された操作情報パケットを受信する処理を行うようにしてもよい。例えば、本実施形態の他のゲーム機(第1のゲーム機)がプレーヤからの操作情報を含む操作情報パケットを生成し、当該操作情報パケットを本実施形態のゲーム機(第2のゲーム機)に送信する処理を行う。また、本実施形態のゲーム機(第2のゲーム機)が本実施形態の他のゲーム機(第1のゲーム機)から、他のプレーヤ(第1のゲーム機を使用するプレーヤ)の操作情報を含む操作情報パケットを受信する処理を行う。
本実施形態の位置演算部114は、他のゲーム機(第1のゲーム機)を使用するプレーヤの操作対象の第1のモデルの移動情報又は他のプレーヤの操作情報に基づいて、オブジェクト空間における第1のモデルの位置を演算することができる。
また、本実施形態の位置演算部114は、ゲーム機(第2のゲーム機)を使用するプレーヤからの操作情報に基づいて、オブジェクト空間における当該プレーヤの操作対象の第2のモデルの位置を演算することができる。
本実施形態の詳細度レベル判定部115は、オブジェクト空間における他のゲーム機の仮想カメラ(第1のゲーム機用の仮想カメラ)の位置とプレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)の位置とに基づいて、他のゲーム機(第1のゲーム機)において描画される本実施形態のゲーム機(第2のゲーム機)のプレーヤの操作対象のモデル(第2のモデル)の詳細度レベルを判定する処理を行う。
なお、本実施形態の詳細度レベル判定部115は、第1のゲーム機において、他のプレーヤ(第1のゲーム機を使用するプレーヤ)の操作対象のモデル(第1のモデル)の位置の変化に追従させるように、オブジェクト空間における第1のゲーム機用の仮想カメラが制御されている場合には、第1のモデルの位置と第2のモデルの位置との相対的な位置関係に基づいて、第2のモデルの詳細度レベルを判定する処理を行うようにしてもよい。
また本実施形態の詳細度レベル判定部115は、他のゲーム機(第1のゲーム機)から取得したオブジェクト空間における他のゲーム機の仮想カメラ(第1のゲーム機用の仮想カメラ)の位置と、プレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)の位置との相対的な距離に応じて、複数の詳細度レベルに対応づけて距離範囲を設定し、設定された複数の距離範囲のいずれにプレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)が属するかに基づいて、詳細度レベルを判定することができる。つまり、プレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)が属する距離範囲に対応する詳細度レベルを判定することができる。
なお、必ずしも詳細度レベル判定部115が、オブジェクト空間における他のゲーム機(第1のゲーム機)の仮想カメラとプレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)との距離に応じて複数の詳細度レベルに対応づけて距離範囲を設定する処理を行わなくてもよい。つまり、処理部100において、詳細度レベル判定部115に関係なく別の処理として、オブジェクト空間における他のゲーム機(第1のゲーム機)の仮想カメラとプレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)との距離に応じて複数の詳細度レベルに対応づけて距離範囲を設定する処理を行ってもよい。
本実施形態の送信登録部118は、モデルデータの送信履歴を、ゲーム機に対応づけて記憶部に登録する処理を行う。
つまり、自機(第2のゲーム機)において自機(第2のゲーム機)を使用するプレーヤの操作対象のモデル(第2のモデル)のモデルデータを他のゲーム機(第1のゲーム機)へ送信した履歴を、送信先のゲーム機(ゲーム機の識別情報)に対応づけて記憶部に登録する処理を行う。なお、送信登録部118は、詳細度レベルにかかわらず、プレーヤ(第2のゲーム機を使用するプレーヤ)の操作対象のモデル(第2のモデル)のモデルデータを送信した時点で、送信履歴に送信先のゲーム機に対応づけて履歴を登録してもよい。なお、詳細度レベル毎に応じて送信した履歴を登録してもよい。
本実施形態の仮想カメラ位置演算部119は、他のゲーム機(第1のゲーム機)の仮想カメラの移動情報又は他のゲーム機(第1のゲーム機)における他のプレーヤの操作情報に基づいて、オブジェクト空間における他のゲーム機(第1のゲーム機)の仮想カメラの位置を演算する。
例えば、通信制御部110において、受信した要求パケットに含まれる他のゲーム機(第1のゲーム機)における仮想カメラの移動情報に基づいて、他のゲーム機における仮想カメラ(第1のゲーム機用の仮想カメラ)の位置を演算することができる。あるいは、通信制御部110において、受信した操作情報パケットに含まれる他のゲーム機(第1のゲーム機)における他のプレーヤの操作情報に基づいて、他のゲーム機(第1のゲーム機)における仮想カメラの移動情報を演算し、演算された仮想カメラの移動情報に基づいて、オブジェクト空間における他のゲーム機の仮想カメラ(第1のゲーム機用の仮想カメラ)の位置を求めることができる。
2.本実施形態の手法
図2は、本実施形態のゲームシステムの一例を示す。本実施形態のゲームシステムでは、オンラインゲームに参加する各ゲーム機が、インターネットを介して相互に直接通信して、データを共有することができるピア・ツー・ピア方式のゲームシステムを採用する。つまり、本実施形態は、オンラインゲームに参加するプレーヤの操作対象のモデルが同一のゲーム空間(オブジェクト空間)に存在してゲームが進行されるゲームシステムである。
そして、本実施形態のゲームシステムでは、ゲーム機GA、GB、GC、GD、GE、GF、GG、GPの相互間において、プレーヤの操作対象のモデルの移動・動作情報を送受信する処理を行う。そして、各ゲーム機は、プレーヤからの操作情報に基づいてプレーヤが操作する対象のモデルを移動・動作させる処理を行い、他のゲーム機から受信した移動・動作情報に基づいて他のプレーヤが操作するモデルを移動・動作させる処理を行う。
また、本実施形態では、プレーヤが操作する対象のモデルについては、予め記憶部に記憶されている複数の詳細度レベルそれぞれに対応するモデルデータに基づいて、詳細度レベルによってモデルの詳細度を制御して描画処理を行う。また、他のプレーヤが操作するモデルについては、他のゲーム機から詳細度レベルに応じたモデルデータを取得し、モデルの詳細度を制御して描画処理を行う。
すなわち、本実施形態のゲームシステムを構成するゲーム機は、他のゲーム機から移動・動作情報を取得することによって、他のプレーヤが操作する対象のモデルの移動・動作を制御することができ、他のゲーム機からモデルデータを取得することによって、他のプレーヤが操作する対象のモデルを描画する処理を行うことができる。
そして、本実施形態では、他のゲーム機から詳細度レベルに応じたモデルデータを取得する手法を採用する。つまり、従来のように、ゲーム機が他のゲーム機に対してゲーム空間に存在する他のプレーヤの操作対象のモデルに対する全ての詳細度のモデルデータを取得するのではなく、描画処理において必要なモデルデータを取得することによって、取得するデータ量を抑えて通信負荷の軽減を図っている。
ここで、モデルデータとは、モデルを定義する情報であり、モデルを描画するために必要な情報となるデータである。特に、本実施形態では、詳細度レベル(LOD)を適用するので、1つのモデルに対して、詳細度に応じた複数種類のモデルデータが存在する。
本実施形態のゲームシステムを構成するゲーム機は、モデルを描画する際に、詳細度レベル(LOD)に応じてモデルの詳細度を制御して描画処理を行う。例えば、図3(A)は、詳細度レベル1(LOD1)のモデルデータに基づいて表示されるモデルの例を示し、図3(B)は、詳細度レベル2(LOD2)のモデルデータに基づいて表示されるモデルの例を示す。つまり詳細度レベル1よりも、モデルの構成要素を簡略化し、ポリゴン数や頂点数を削減されたモデルが表示される。図3(C)は、詳細度レベル3(LOD3)のモデルデータに基づいて表示されるモデルの例を示す。例えば、板ポリゴンPに、モデルの模様が描かれたテクスチャTEXをマッピングして詳細度レベル2よりも、さらに簡略化したモデルが表示される。
本実施形態では、オブジェクト空間における仮想カメラとモデルとの距離に基づいて詳細度レベルを設定する。例えば、モデルが仮想カメラの近くに位置する場合には、当該モデルに対しては、図3(A)に示すように、詳細度レベル1による高精細なモデルを描画する処理を行う。
また、モデルが仮想カメラからある程度離れている場合には、当該モデルについては、図3(B)に示すように、詳細度レベル1よりも簡単化しポリゴン数の削減等を行われた詳細度レベル2に基づいてモデルを描画する処理を行う。
さらに、モデルが仮想カメラから離れて遠くに位置する場合には、モデルの詳細度を低くしても見た目上の影響は少ないので、図3(C)に示すように、詳細度レベル3に基づいて、モデルの描画処理を行い、描画処理負荷の削減を図っている。
また、詳細度レベルは、例えば図3(A)〜(C)の例に限らず、例えば、詳細度レベル1のモデルデータは5000ポリゴン、詳細度レベル2のモデルデータは、3000ポリゴン詳細度レベル3のモデルデータは、300ポリゴンのように同一のモデルに対してポリゴン数を制御するものであってもよい。
なお、本実施形態のゲーム機は、プレーヤが操作する対象のモデルについて、モデルデータを自由に設定してカスタマイズすることができる。例えば、GUI(グラフィカル・ユーザ・インタフェース)において、モデルの色、模様、形状の少なくとも1つをプレーヤの操作入力に基づいて、プレーヤの好みで設定できる。
2.1 第1の実施例
第1の実施例では、ゲーム機が、ゲーム機における仮想カメラの位置と他のゲーム機を操作する他のプレーヤの操作対象のモデルの位置との位置関係に応じて、当該モデルの詳細度レベル(LOD)を判定し、判定された詳細度レベルのモデルデータを当該他のゲーム機に対して要求する処理を行い、要求したモデルデータを当該他のゲーム機から取得する手法を採用する。
このようにすれば、他のプレーヤの操作対象のモデルに対する全ての詳細度レベルのモデルデータを取得する必要はなく、必要な詳細度レベルのモデルデータを取得することができるので、通信処理の負荷を軽減させて処理を行うことができる。
ゲーム機GPが、他のゲーム機GAを操作する他のプレーヤの操作対象のモデルAに対する詳細度レベルを判定する場合を、図4、図5を用いて説明する。
例えば、図4に示すように、まずゲーム機の仮想カメラCPの位置を基準に、モデルAの位置を求め、仮想カメラとモデルAとの距離dを求める。例えば、オブジェクト空間におけるプレーヤが操作するゲーム機GPにおいて仮想カメラCPと、相手プレーヤのモデルAとの直線距離を求める。そして、図5の詳細度レベルテーブルを参照して、求めた距離dに対応する詳細度レベルを決定する。例えば、モデルAがP1に位置していた場合には、詳細度レベルがLOD1として決定される。なお、モデルAの位置は、ゲーム機GAから送信される移動・動作情報パケットに含まれるモデルAの移動情報に基づいて、オブジェクト空間におけるモデルAの位置を演算する。
つまり、ゲーム機GPの仮想カメラCPとモデルAとの距離dに応じて、複数の詳細度レベルに対応づけて距離範囲を設定する。そして、設定された複数の距離範囲のいずれにモデルAが属するかに基づいて詳細度レベルを判定する。
例えば、複数の詳細度レベルは、例えば、LOD1(詳細度レベルが1)、LOD2(詳細度レベルが2)、LOD3(詳細度レベルが3)のように設定することができる。また、複数の詳細度レベルに対応付けて設定される距離範囲は、例えば、図5の詳細度レベルテーブルに示すように、LOD1に対応づけて距離範囲0=<d<20を設定し、LOD2に対応づけて距離範囲20=<d<50を設定し、LOD3に対応づけて距離範囲50=<d<100を設定する。
そして、詳細度レベルを判定した後に、判定された詳細度レベルのモデルデータの要求内容を示す要求パケットを他のゲーム機に対して送信する処理を行い、他のゲーム機からモデルデータを含む応答パケットを取得する。
例えば、図4に示すように、モデルAがP1に位置している場合には、詳細度レベルがLOD1(詳細度レベルが1)であるので、図6(A)に示すように、ゲーム機GPは、モデルAを操作対象とする他のゲーム機GAに対してLOD1のモデルAのモデルデータを要求する内容を示す要求パケットを送信する。そして、ゲーム機GAから、モデルAに対するLOD1のモデルデータを含む応答パケットを受信し、LOD1のモデルデータを取得する処理を行う。
また、図4に示すように、モデルAがP2に位置している場合には、詳細度レベルがLOD2(詳細度レベルが2)であるので、図6(B)に示すように、ゲーム機GPは、LOD2のモデルAのモデルデータを要求する内容を示す要求パケットをゲーム機GAに送信し、モデルAに対するLOD2のモデルデータを取得する処理を行う。
さらに、図4に示すように、モデルAがP3に位置する場合には、LOD3(詳細度レベルが3)であるので、図6(C)に示すように、ゲーム機GPは、LOD3のモデルAのモデルデータを要求する内容を示す要求パケットをゲーム機GAに送信し、モデルAに対するLOD3のモデルデータを取得する処理を行う。
このように、ゲーム機GPは、他のゲーム機GAを操作する他のプレーヤの操作対象のモデルAに対する詳細度レベルを判定して、判定された詳細度レベルに応じたモデルデータを要求して取得する処理を行い、必要な詳細度レベルのモデルデータを取得することによって通信処理負荷を軽減させている。
次に、図7を用いて、例えば複数のゲーム機との接続が確立した際における、他のゲーム機からモデルデータを取得する手法について説明する。
まず、本実施形態のゲーム機は、オブジェクト空間における仮想カメラCPの位置と、同一のオブジェクト空間に存在する他のプレーヤのモデルA〜Gの位置との距離を求め、モデルA〜Gに対する詳細度レベルを決定する。つまり、接続した複数のゲーム機各々を操作する他のプレーヤの操作対象のモデルA〜Gに対する詳細度レベルを決定する。
例えば、図7の例では、モデルAに対して詳細度レベルをLOD1として決定し、モデルB、Cに対しては、詳細度レベルをLOD2として決定し、モデルD〜Gに対しては、詳細度レベルをLOD3として決定する。
そして、本実施形態のゲーム機は、取得すべき他のプレーヤのモデルの詳細度レベルを決定した後に、決定された詳細度レベルに応じたモデルデータを要求する内容を示す要求パケットを生成して、各モデルを操作するプレーヤのゲーム機に送信する処理を行う。
このように、複数のモデルが存在する場合には、仮想カメラの位置と各モデルの位置とに基づいて各モデルに対して要求すべき詳細度レベルを判定し、各モデルを操作するプレーヤのゲーム機から判定された詳細度レベルのモデルデータのみを取得する処理を行う。例えば、詳細度レベルがLOD1のモデルデータは、データ量が膨大であるので、例えば、図7のモデルD〜Gのように仮想カメラの位置が遠くに存在するモデルに対して詳細度レベルがLOD1のモデルデータを取得しようとすると通信量が膨大になり通信負荷が高くなってしまう。しかし、例えば、図7のモデルD〜Gに対しては、LOD3のモデルデータのみを取得するように、仮想カメラの位置とモデルの位置とを考慮して、適切な詳細度レベルのモデルデータのみを取得するようにすれば通信負荷を抑えることができる。
なお、本実施形態のゲーム機は、取得したモデルデータを記憶部に記憶させる処理を行う。したがって、記憶されたモデルデータを重複して取得することを避けるために、図8に示すように、既に取得した詳細度レベルのモデルデータを取得したか否かを示すフラグをモデルに対応づけて受信履歴テーブルに登録してもよい。
このようにすれば、受信履歴テーブルを参照して、判定された詳細度レベルのモデルデータが既に存在する場合には、重複してモデルデータを要求しないようにし、判定された詳細度レベルのモデルデータが存在しない場合に限って、モデルデータを要求することができる。その結果、通信処理の高負荷を回避することができる。
(1)他のゲーム機との接続が確立された際に詳細度レベルが最も低いモデルデータを取得する手法についての説明
なお、本実施形態のゲーム機は、他のゲーム機との接続が確立された際に、ゲーム空間に存在する他のプレーヤのモデルに対する詳細度レベルが最も低いモデルデータを取得するようにしてもよい。このようにすれば、多数のモデルが存在する場合であって、多数の他のプレーヤのモデルを表示しなければならない状況にある場合には、他のプレーヤのモデルを確実に表示させることができるからである。
例えば、プレーヤが操作するゲーム機GPが、ネットワークに接続し、他のモデルを操作する複数のゲーム機AG〜GGとの接続が確立した段階で、まず、各ゲーム機から、LOD3(詳細度レベル3)のモデルデータを要求する内容を示す要求パケットを送信する。そして、各ゲーム機からLOD3のモデルデータを取得し、当該モデルデータに基づいて他のプレーヤのモデルA〜Gを描画する処理を行う。
そして、各モデルA〜Gに対してLOD3のモデルデータによって描画処理を行った後に、仮想カメラとモデルA〜Gとの距離に応じて、適切な詳細度レベルのモデルデータを取得して描画するようにしてもよい。つまり、レベルの高い高精細なモデルデータである程、データ量が多くなるために通信処理負荷がかかる。したがって、例えば、ゲーム空間にエントリーして多数のゲーム機からのモデルデータを一度に取得しなければならい状況においては、詳細度レベルの低いモデルデータを取得するようにし、画像が多少粗くても、ゲーム進行に支障がない範囲で表示させるようにして通信処理負荷を抑えるようにする。そして、全てのモデルを表示させることができる状況になった後に、仮想カメラの位置とモデルの位置との距離に応じて適切な詳細度レベルのモデルデータを要求して取得するようにすればよい。このようにすれば、データの遅延によって、表示されるべきモデルが表示されない、といった致命的な問題は回避することができるからである。
(2)他のゲーム機との接続が確立された際に、仮想カメラに近いモデルのモデルデータから取得する手法についての説明
なお、本実施形態のゲーム機は、複数のゲーム機との接続が確立された際に、詳細度レベルが高いモデルからモデルデータを取得するようにしてもよい。このようにすれば、仮想カメラに近いモデルを必ず表示させなければならないゲームにおいて確実に仮想カメラに近いモデルを表示させることができるからである。
例えば、図7に示すように、ゲーム機が、複数の他のゲーム機と接続し、複数のゲーム機GA〜GGに各々のプレーヤの操作対象の複数のモデルA〜Gを表示させる場合には、詳細度レベルが高いLOD1のモデルAをまず描画する。つまり、ゲーム機は、モデルAのLOD1のモデルデータを要求する内容を含む要求パケットを、LOD2、LOD3に対応する距離範囲に位置するモデルB〜Gを操作対象とする他のゲーム機GB〜GGに優先して、ゲーム機GAに送信する。
そして、ゲーム機GAからモデルAのモデルデータを取得した後に、モデルB、Cを描画するために、モデルBのLOD2のモデルデータを要求する内容を含む要求パケットを、ゲーム機GBに送信すると共に、モデルCのLOD2のモデルデータを要求する内容を含む要求パケットを、ゲーム機GCに送信する。つまり、LOD3に対応する距離範囲に位置するモデルD〜Gを操作対象とする他のゲーム機GD〜GGに優先して、ゲーム機GB、ゲーム機GCに要求パケットを送信する。
そして、ゲーム機GB、GCからモデルデータを取得した後に、モデルD、E、F、Gを描画するために、モデルD、E、F、Gに対するLOD3のモデルデータを要求する内容を含む要求パケットを、ゲーム機GD、GE、GF、GGに送信する。
このように、仮想カメラCPに近いモデルから優先的に表示するようにすることでデータ量を抑えることができ、通信処理負荷を軽減させることが可能になる。
なお、複数のゲーム機との接続が確立された際に、同一の詳細度レベルに対応する距離範囲に位置するモデルが複数存在する場合には、複数のゲーム機に対して一度に要求パケットを送信してもよいし、仮想カメラから近いモデルから順に、ゲーム機に対してモデルデータを取得するようにしてもよい。つまり、複数のゲーム機に対して、仮想カメラから近い順にシーケンシャルに要求パケットを送信してもよい。
(3)複数の詳細度レベルのモデルデータを取得する場合についての説明
詳細度レベルに対応づけられる複数の距離範囲の境界付近に他のプレーヤのモデルが位置する場合には、仮想カメラとモデルとの相対的な位置関係が変動することを予想して、仮想カメラの位置とモデルの位置との位置関係に応じて判定される詳細度レベルのモデルデータだけでなく、他の詳細度レベルのモデルデータも取得してもよい。
仮にモデルが現在位置する距離範囲を越えて他の距離範囲に位置することになった場合であっても、他のゲーム機からモデルデータを新たに取得することなく、迅速に詳細度レベルに応じたモデルデータに基づいてモデルを描画することができるからである。
したがって、本実施形態では、2つの距離範囲の境界付近を詳細度レベル変動範囲として設定し、詳細度レベル変動範囲に属するモデルに対しては、仮想カメラの位置とモデルの位置とに基づいて、モデルが位置する距離範囲に対応付けられる詳細度レベルのモデルデータだけでなく、詳細度レベル変動範囲にある他の距離範囲に対応付けられる詳細度レベルのモデルデータを要求する内容を示す要求パケットを生成し、モデルを操作するプレーヤのゲーム機に送信し、当該2つのモデルデータを取得するようにしてもよい。
図9の例では、他のプレーヤのモデルAが、LOD1とLOD2の2つの距離範囲の境界付近の詳細度レベル変動範囲d1(15<d<25)に位置している。かかる場合には、モデルAの位置に応じたLOD1のモデルデータだけでなく、LOD2のモデルデータを要求する内容を示す要求パケットを生成し、モデルAを操作するプレーヤのゲーム機GAに送信する。そして、ゲーム機GAからモデルAに対するLOD1及びLOD2のモデルデータを取得する。
なお、LOD2とLOD3の2つの距離範囲の境界付近の詳細度レベル変動範囲d2(45<d<55)にモデルが存在する場合には、モデルに対するLOD2とLOD3のモデルデータを要求する内容を示す要求パケットを生成して、モデルを操作するプレーヤのゲーム機に送信する処理を行ってもよい。
また、図10(A)に示すように、複数のモデルデータを取得する場合には、モデルデータを要求して取得するという処理を、順番に行ってもよいし、図10(B)に示すように、複数のモデルデータを一度に要求して取得するようにしてもよい。通信帯域が限られている場合や、他のゲーム機との接続が多い場合には、図10(A)に示すように、一度に取得するデータ量を少なくするためにシーケンシャルに要求した方が望ましい。しかし、他のゲーム機との接続数が少ない場合や通信帯域に余裕がある場合には、図10(B)に示すように、一度に取得してもよい。
なお、図8に示す受信履歴テーブルに、既にモデルデータを受信したことを示す値(例えば、受信履歴フラグが真を示す値)が登録されている場合には、既に取得されているモデルデータに対しては、要求パケットを生成して送信する処理をしなくてもよい。
2.2 第2の実施例
第1の実施例では、ゲーム機が他のゲーム機を操作する他のプレーヤのモデルの位置とゲーム機における仮想カメラの位置との位置関係に基づいて、取得すべきモデルデータの詳細度のレベルを判断する手法について説明した。
第2の実施例では、本実施形態のゲーム機が、他のゲーム機から送信された仮想カメラの移動情報を含む要求パケットを受信した場合に、ゲーム機が操作するプレーヤの操作対象のモデルの位置と、他のゲーム機から受信した仮想カメラの移動情報に基づいて求められる位置との位置関係に基づいて、適切な詳細度レベルを判定し、プレーヤのモデルの詳細度レベルの判定結果に応じたモデルデータを含む応答パケットを他のゲーム機に送信する処理を行う場合について説明する。
すなわち、本実施形態では、他のゲーム機からの要求に応じて、プレーヤの操作対象のモデルに対する適切なモデルデータを含む応答パケットを送信する処理を行う。つまり、プレーヤの操作対象のモデルの位置と他のゲーム機から送信された仮想カメラの移動情報に基づき求められる仮想カメラの位置とに基づいて、適切なモデルデータを含む応答パケットを生成し、応答パケットを送信する処理を行う。その結果、ゲーム機間において適切なモデルデータを送受信するので通信処理負荷の軽減させることができる。
ゲーム機GAが、他のゲーム機GPから、他のゲーム機GPにおける仮想カメラの移動情報を含む要求パケットを受信した場合に、ゲーム機GAを操作するプレーヤの操作対象のモデルAに対する詳細度レベルを判定する場合を、図4、図5を用いて説明する。
例えば、図4に示すように、まずゲーム機GPから送信された仮想カメラCPの移動情報に基づき求められる仮想カメラCPの位置を基準に、モデルAの位置を求め、仮想カメラCPとモデルAとの距離dを求める。例えば、オブジェクト空間における仮想カメラCPと、プレーヤの操作対象のモデルAとの直線距離を求める。そして、図5の詳細度レベルテーブルを参照して、求めた距離dに対応する詳細度レベルを決定する。例えば、モデルAがP1に位置していた場合には、詳細度レベルがLOD1として決定される。なお、ゲーム機GAにおいてプレーヤの操作情報に基づいてモデルAの移動情報を演算し、演算した移動情報に基づいて、オブジェクト空間におけるモデルAの位置を求める。
つまり、ゲーム機GPの仮想カメラCPとプレーヤの操作対象のモデルAとの距離dに応じて、複数の詳細度レベルに対応づけて距離範囲を設定する。設定された複数の距離範囲のいずれにモデルAが属するかに基づいて詳細度レベルを判定する。
そして、詳細度レベルを判定した後に、ゲーム機GAは判定された詳細度レベルのモデルAのモデルデータを含む応答パケットをゲーム機GPに対して送信する処理を行う。
図11を用いて説明すると、例えば、図11(A)に示すように、本実施形態のゲーム機GAは、他のゲーム機GPから、オブジェクト空間における仮想カメラCPの移動情報と、要求内容とを含む要求パケットを受信する。
そして、受信した側のゲーム機GAが、プレーヤの操作対象のモデルAの位置と、受信した仮想カメラCPの移動情報に基づき求められるゲーム機GPにおける仮想カメラCPの位置とに基づいて、距離を求め、詳細度レベルを決定する。
例えば、図4に示すように、モデルAがP1に位置している場合には、詳細度レベルがLOD1であるので、図11(A)に示すように、ゲーム機GAは、モデルAを操作対象とする他のゲーム機GPに対してLOD1(詳細度レベルが1)のモデルAのモデルデータを含む応答パケットを生成し、生成した応答パケットを送信する。なお、ゲーム機GPは、ゲーム機GAからモデルAに対するLOD1のモデルデータを含む応答パケットを受信し、モデルAのLOD1のモデルデータを取得する処理を行う。
また、図4に示すように、モデルAが位置P2に位置する場合には、詳細度レベルがLOD2であるので、図11(B)に示すように、ゲーム機GAは、LOD2(詳細度レベル2)のモデルAのモデルデータをゲーム機GPに送信し、ゲーム機GPは、モデルAに対するLOD2のモデルデータを取得する処理を行う。
さらに、図4に示すように、モデルAが位置P3に位置する場合には、詳細度レベルがLOD3であるので、図11(C)に示すように、ゲーム機GAは、LOD3(詳細度レベル3)のモデルAのモデルデータを送信し、ゲーム機GPは、モデルAに対するLOD3のモデルデータを取得する処理を行う。
このように、ゲーム機GAは、ゲーム機GPにおける仮想カメラCPの位置を基準として、ゲーム機GAを操作するプレーヤの操作対象のモデルAに対する詳細度レベルを判定して、判定された詳細度レベルに応じたモデルデータをゲーム機GPに送信する処理を行う。その結果、通信処理負荷を軽減させることができ、ゲーム機GP、ゲーム機GA間において高速にデータを送受信することができる。
(1)他のゲーム機との接続が確立された際に詳細度レベルが最も低いモデルデータを送信する手法についての説明
なお、本実施形態のゲーム機は、一度要求を受けた他のゲーム機に対して、モデルデータを送信した場合には送信履歴を残すようにしてもよい。このようにすれば、接続が確立された際に他のゲーム機に送信した履歴がない場合に限って、詳細度レベルが最も低いモデルデータを送信する処理を行うことができる。
つまり、本実施形態によれば、送信履歴がない他のゲーム機は、他の複数のゲーム機に対してモデルデータを要求しているものと予想される。つまり、他のゲーム機は、複数のゲーム機からモデルデータを要求しているために、ネットワークの通信負荷が高まっている状況と判断できる。
したがって、送信履歴がないゲーム機に対しては、データ量の少ない最も低いモデルデータを送信する。このようにすれば、送信先の他のゲーム機に対して、通信負荷を抑えて高速にデータを送信することができるからである。
なお、送信先の他のゲーム機においては、手前側に見えるモデルも含め表示されるモデルは、粗い画像が表示されることになるが、モデルデータを受信できないがためにモデルを表示することができないといった致命的な問題は回避することができる。
(2)複数の詳細度レベルのモデルデータを送信する場合についての説明
詳細度レベルに対応づけられる複数の距離範囲の境界付近に、プレーヤのモデルが位置する場合には、仮想カメラとモデルとの相対的な位置関係が変動することを予想して、仮想カメラの位置とモデルの位置との相対的な位置関係によって判定される詳細度レベルのモデルデータだけでなく、他の詳細度レベルのモデルデータも送信してもよい。仮にモデルが現在位置する距離範囲を越えて他の距離範囲に位置することになった場合であっても、他のゲーム機において迅速に詳細度レベルに応じたモデルデータに基づいてモデルを描画することができるからである。
したがって、本実施形態では、2つの距離範囲の境界付近を詳細度レベル変動範囲として設定し、詳細度レベル変動範囲に属するモデルに対しては、仮想カメラの位置とモデルの位置とに基づいて、モデルが位置する距離範囲に対応付けられる詳細度レベルのモデルデータだけでなく、詳細度レベル変動範囲にある他の距離範囲に対応付けられる詳細度レベルのモデルデータを含む応答パケットを生成し、他のゲーム機に生成した応答パケットを送信する処理を行う。
図9の例では、ゲーム機GAが、ゲーム機GPから仮想カメラCPの位置を取得した場合において、プレーヤのモデルAが、LOD1とLOD2の2つの距離範囲の境界付近の詳細度レベル変動範囲d1(15<d<25)に位置している例を示す。かかる場合には、プレーヤの操作対象のモデルAのLOD1のモデルデータだけでなく、LOD2のモデルデータを含む応答パケットを生成し、ゲーム機GPに送信する。
なお、LOD2とLOD3の2つの距離範囲の境界付近の詳細度レベル変動範囲d2(45<d<55)にモデルが存在する場合には、LOD2とLOD3のモデルデータを含む応答パケットを生成して、ゲーム機GPに送信する処理を行ってもよい。
また、複数のモデルデータを送信する場合には、モデルデータ毎に送信する処理を、順番に行ってもよいし、複数のモデルデータを一度に送信してもよい。通信帯域が限られている場合や、他のゲーム機との接続が多い場合には、一度に送信するデータ量を少なくするためにシーケンシャルに送信した方が望ましい。しかし、他のゲーム機との接続数が少ない場合や通信帯域に余裕がある場合には、一度に送信してもよい。
なお、シーケンシャルに送信する場合には、始めにモデルデータを送信した際に、続けて次のモデルデータを送信する符号を示すデータを送信し、送信先のゲーム機が、2つ目のモデルデータを受信することができるように処理を行ってもよい。
2.3. モデルデータを管理する手法
次に、本実施形態のゲーム機が、他のゲーム機から取得した他のプレーヤの操作対象のモデルのモデルデータを管理する手法について説明する。モデルデータの管理は、上述した実施例1、実施例2のいずれにも適用できる。
(1)モデルデータを削除する手法
本実施形態では、他のゲーム機から取得したモデルデータを、モデルデータ記憶部に記憶させる処理を行う。
しかし、モデルデータを次々と取得して記憶すると、ゲーム機の記憶領域が足りなくなる恐れがある。したがって、本実施形態では、必要なモデルデータのみを保存して、不必要なモデルデータを削除する処理を行う。記憶領域を節約することができるからである。
具体的に説明すると、所定時間内に接続のない他のゲーム機のモデルデータを削除してもよい。また、ゲーム機の仮想カメラの位置と他のゲーム機との距離が、詳細度レベルに対応する距離範囲のいずれにも位置しないモデルについては、当該モデルに対する全ての詳細度レベルのモデルデータを削除するようにしてもよい。
また、モデルに対して、既に取得したモデルデータと詳細度が異なる新たなモデルデータを要求することを契機に、既に取得しているモデルデータを削除してもよい。例えば、モデルAがLOD1に対応する距離範囲から、LOD2に対応する距離範囲に位置することになり、モデルAに対するLOD2のモデルデータを要求し、LOD2のモデルデータを取得した場合には、既に記憶部に記憶されているLOD1のモデルデータを削除し、新たにLOD2のモデルデータを記憶部に記憶するようにしてもよい。
なお、モデルデータを削除した場合には、図8に示す受信履歴テーブルを初期値(例えば0)に設定する処理を行うようにした方が望ましい。
(2)モデルデータを記憶部に記憶(登録)する手法
なお、モデルデータを記憶部に記憶する処理を行う際には、モデル毎に記憶領域を確保して、取得した詳細度レベルのモデルデータを当該モデルに対応づけて記憶させるようにしてもよい。このようにすれば、メモリ上の管理が容易になるからである。
例えばモデルの識別情報に応じて、詳細度レベル毎のモデルデータを関連付けて登録するようにしてもよい。このようにすれば、モデルの情報をメモリ上で効率よく管理することができる。
3. 本実施形態の処理の流れ
(1)第1の実施例による処理の流れを、図13を用いて説明する。
まず、ゲーム機GAにおいてプレーヤからの操作情報に基づいて演算されるモデルAの移動情報を含む移動・動作情報パケットを送信する処理を行う(ステップS100)。
次に、ゲーム機GPにおいて、ゲーム機GPから送信されたモデルAの移動情報を含む移動・動作情報パケットを受信する(ステップS110)。そして、受信した移動情報に基づいて、モデルAの位置を演算する(ステップS120)。
次に、ゲーム機GPにおいて、仮想カメラCPの位置と、演算したモデルAの位置とに基づいて、モデルAの詳細度レベルを判定する処理を行う(ステップS130)。
そして、モデルAの詳細度レベルの判定結果に応じたモデルデータを、ゲーム機GAに対して要求する処理を行う(ステップS140)。具体的には、判定結果に応じたモデルデータを要求する内容を含む要求パケットを送信する処理を行う。
そして、ゲーム機GAにおいて、ゲーム機GAからの要求パケットを受信し(ステップS150)、要求パケットの要求に応じて、モデルAの詳細度レベルのモデルデータを含む応答パケットを送信する処理を行う(ステップS160)。
そして、ゲーム機GPにおいて、ゲーム機GAから送信されたモデルAのモデルデータを受信する処理を行う(ステップS170)。つまり、要求パケットに対する応答パケットを受信する処理を行う。なお、応答パケットには、要求した詳細度レベルのモデルデータが含まれている。そして、モデルAのモデルデータに基づいて、モデルAを描画する処理を行う(ステップS180)。なお、ステップS170において、受信したモデルAのモデルデータをモデルデータ記憶部に記憶させた後に、ステップS180において、モデルAを描画する処理を行うようにしてもよい。以上で処理が終了する。
(2)第2の実施例による処理の流れを、図14を用いて説明する。
まず、ゲーム機GPにおいて、オブジェクト空間における仮想カメラCPの移動情報を含む要求パケットを、ゲーム機GAに送信する(ステップS200)。
そして、ゲーム機GAにおいて、ゲーム機GPから送信された仮想カメラCPの移動情報を含む要求パケットを受信する処理を行う(ステップS210)。次に、受信した仮想カメラCPの移動情報に基づいて、オブジェクト空間における仮想カメラCPの位置を演算する(ステップS220)。そして、演算した仮想カメラCPの位置と、オブジェクト空間におけるゲーム機GAにおいてプレーヤの操作対象のモデルAの位置と、に基づいてモデルAの詳細度レベルを判定する処理を行う(ステップS230)。次に、モデルAの詳細度レベルの判定結果に応じたモデルデータを含む応答パケットを生成し、生成した応答パケットを送信する処理を行う(ステップS240)。
そして、ゲーム機GPにおいて、ゲーム機GAから送信されたモデルAのモデルデータを含む応答パケットを受信する処理を行い(ステップS250)、受信したモデルAのモデルデータに基づいて、モデルAを描画する処理を行う(ステップS260)。
なお、ステップS250において、受信したモデルAのモデルデータをモデルデータ記憶部に記憶させた後に、ステップS260においてモデルAを描画する処理を行うようにしてもよい。以上で処理が終了する。
4.変形例
(1)第1の実施例における変形例
第1の実施例によるゲーム機は、他のゲーム機から受信する操作情報パケットに含まれる操作情報に基づいて、他のプレーヤの操作対象のモデルの移動情報を演算し、演算した移動情報に基づいてオブジェクト空間における他のプレーヤの操作対象のモデルの位置を演算してもよい。そして、オブジェクト空間における仮想カメラの位置と演算した他のプレーヤの操作対象のモデルの位置とに基づいて、詳細度レベルを判定してもよい。
また、ゲーム機は、他のゲーム機から、他のプレーヤの操作対象のモデルのオブジェクト空間における位置を含むパケットを独立して取得するようにしてもよい。そして、仮想カメラの位置と取得した他のプレーヤの操作対象のモデルの位置とに基づいて、詳細度レベルを判定してもよい。
また、第1の実施例によるゲーム機は、ゲーム機(第1のゲーム機)を使用するプレーヤの操作対象のモデル(第1のモデル)の位置と、他のゲーム機を使用するプレーヤの操作対象のモデル(第2のモデル)の位置とに基づいて詳細度レベルを判定してもよい。
例えば、ゲーム機GPにおいて、ゲーム機GPを操作するプレーヤの操作対象のモデルPの位置の変化に追従するように、仮想カメラCPの位置を制御する。例えば、オブジェクト空間における仮想カメラCPの位置を、モデルPの位置の後方(モデルPの進行方向とは逆方向)に所定の距離を保持しながら制御する。より具体的に説明すると、オブジェクト空間において、モデルPが移動する移動方向と同じ方向に、モデルPが移動する移動量と同じ移動量で、仮想カメラCPを移動させるようにし、仮想カメラCPの位置を制御する。
かかる場合には、オブジェクト空間におけるモデルPの位置と、ゲーム機GAを操作するプレーヤの操作対象のモデルAの位置との相対的な位置関係に基づいて、モデルAの詳細度レベルを判定する。つまり、モデルPとモデルAの距離dを求め、求めた距離dに対応する詳細度レベルを決定する。なお、詳細度レベルは、モデルPとモデルAとの距離範囲に対応づけて設定される。例えば、モデルPとモデルAとの距離範囲0<=d<20をLOD1として設定し、モデルPとモデルAとの距離範囲20<=d<50をLOD2として設定し、モデルPとモデルAとの距離範囲50<=d<100をLOD3として設定する。
このように、仮想カメラCPの位置が、モデルAの位置の変化に追従するように制御されているので、ゲーム機GPは、モデルPの位置とモデルAの位置との相対的な位置関係に基づいて、モデルAに対する適切な詳細度レベルを判定することができる。そして、判定結果に応じたモデルAのモデルデータをゲーム機GAに要求し、ゲーム機GAから要求に応じたモデルAのモデルデータを取得して、モデルAを描画することができる。そして、その結果、ゲーム機GPは、詳細度レベルの判定結果に基づく適切なモデルデータを取得するので、通信処理負荷を抑えることができる。
(2)第2の実施例における変形例
第2の実施例によるゲーム機は、他のゲーム機から受信する操作情報パケットに含まれる操作情報に基づいて、他のゲーム機の仮想カメラの移動情報を演算し、演算した仮想カメラの移動情報に基づいて、オブジェクト空間における他のゲーム機の仮想カメラの位置を求めてもよい。そして、他のゲーム機の仮想カメラの位置と、プレーヤの操作対象のモデルの位置とに基づいて、詳細度レベルを判定してもよい。
また、ゲーム機は、他のゲーム機から、要求パケットに含まれる他のゲーム機の仮想カメラの位置を取得し、取得した他のゲーム機の仮想カメラの位置と、プレーヤの操作対象のモデルの位置とに基づいて、詳細度レベルを判定してもよい。
また、第2の実施例によるゲーム機は、他のゲーム機(第1のゲーム機)を使用するプレーヤの操作対象のモデル(第1のモデル)の位置と、ゲーム機を使用するプレーヤの操作対象のモデル(第2のモデル)の位置とに基づいて詳細度レベルを判定してもよい。
例えば、ゲーム機GPにおいて、ゲーム機GPを操作するプレーヤの操作対象のモデルPの位置の変化に追従するように、ゲーム機GPにおける仮想カメラCPの位置を制御する。より具体的に説明すると、ゲーム機GPにおいて、オブジェクト空間における仮想カメラCPの位置を、モデルPの位置の後方(モデルPの進行方向とは逆方向)に所定の距離を保持しながら制御する。例えば、オブジェクト空間において、モデルPが移動する移動方向と同じ方向に、モデルPが移動する移動量と同じ移動量で、仮想カメラCPを移動させるようにし、仮想カメラCPの位置を制御する。
かかる場合において、ゲーム機GAがゲーム機GPから要求パケットを受信した場合には、モデルPとゲーム機GAを使用するプレーヤの操作対象のモデルAとに基づいて詳細度レベルを判定する処理する。つまり、ゲーム機GAは、モデルPとモデルAとの距離dを求め、求めた距離dに対応する詳細度レベルを決定する。なお、詳細度レベルは、モデルPとモデルAとの距離範囲に対応づけて設定される。例えば、モデルPとモデルAとの距離範囲0<=d<20をLOD1として設定し、モデルPとモデルAとの距離範囲20<=d<50をLOD2として設定し、モデルPとモデルAとの距離範囲50<=d<100をLOD3として設定する。
このように、ゲーム機GPにおける仮想カメラCPの位置がモデルPの位置の変化に追従するように制御されているので、ゲーム機GAは、モデルPの位置とモデルAの位置との相対的な位置関係に基づいて、モデルAに対する適切な詳細度レベルを判定することができる。そして、ゲーム機GPは、詳細度レベルの判定結果に基づく適切なモデルデータを取得することができるので、結果的に通信処理負荷を抑えて高速にデータ通信を行うことができる。