(57)【要約】【課題】ゲーム画像を描画する処理の負荷を軽減する。【解決手段】記憶部２１１は複数のプレイヤーキャラクターと１つ以上の敵キャラクターが配置されるそれぞれの領域及び位置を記憶する。抽出部２１２はプレイヤーキャラクターのうち自キャラクターが配置される領域内の他のプレイヤーキャラクターと敵キャラクターの位置を抽出する。表示部２１３は抽出された位置に基づいて画像を生成して表示する。送信部２１４と受信部２１５はプレイヤーキャラクターと敵キャラクターが配置されている領域と位置をゲーム装置間で送受信する。更新部２１６はプレイヤーからの指示入力に基づいて自キャラクターが配置される領域と位置を更新し、自キャラクター以外のプレイヤーキャラクターが配置される領域と位置を他のゲーム装置から受信して更新し、敵キャラクターが配置される領域と位置を他のゲーム装置と共通するように更新する。【選択図】図２
2010269047.tif 000002
【特許請求の範囲】
【請求項１】
複数のプレイヤーがそれぞれのゲーム装置を操作して、前記プレイヤーの指示対象のプレイヤーキャラクター（以下「自キャラクター」という。）を、複数の領域に分割される仮想空間内で移動させ、当該仮想空間内に配置される敵キャラクターと対戦させるゲームを実現するゲームシステムのいずれかのゲーム装置であって、
各々のプレイヤーキャラクターが配置される領域及び当該領域内での位置と、前記敵キャラクターが配置される領域及び当該領域内での位置と、を記憶する記憶部と、
前記記憶部を参照して、前記自キャラクターが存在する領域に配置されている他のプレイヤーキャラクター及び／又は敵キャラクターの位置を抽出する抽出部と、
前記抽出された他のプレイヤーキャラクター及び／又は敵キャラクターの位置に基づいて、前記自キャラクターが配置される領域を表す画像を生成して表示する表示部と、
前記自キャラクターの領域及び位置を他のゲーム装置に送信する送信部と、
前記自キャラクター以外の他のプレイヤーキャラクターの領域及び位置を前記他のゲーム装置から受信する受信部と、
前記記憶される領域及び当該領域内での位置を更新する更新部であって、
（ａ）前記ゲーム装置のプレイヤーからの指示入力に基づいて、前記自キャラクターの領域及び位置を更新し、
（ｂ）前記受信されたプレイヤーキャラクターの領域及び位置に基づいて、前記自キャラクター以外のプレイヤーキャラクターの領域及び位置を更新し、
（ｃ）前記敵キャラクターの領域及び位置を、前記他のゲーム装置と共通するように更新する、
更新部と、
を備えることを特徴とするゲーム装置。
【請求項２】
請求項１に記載のゲーム装置であって、
（ｐ）当該ゲーム装置が前記複数のゲーム装置のうちの一のゲーム装置（以下「親機」という。）である場合、前記敵キャラクターの移動先の領域及び位置を計算する計算部を更に備え、前記送信部は、前記計算された敵キャラクターの領域及び位置を前記親機以外のゲーム装置（以下「子機」という。）に更に送信し、前記更新部は、前記計算された敵キャラクターの領域及び位置に基づいて前記記憶部を更新し、
（ｑ）当該ゲーム装置が前記子機である場合、前記受信部は、前記親機から送信された敵キャラクターの領域及び位置を更に受信し、前記更新部は、前記受信された敵キャラクターの領域及び位置に基づいて前記記憶部を更新する、
ことを特徴とするゲーム装置。
【請求項３】
請求項２に記載のゲーム装置であって、
前記計算部は、前記敵キャラクターの移動先の領域に配置されるプレイヤーキャラクター及び敵キャラクターの数が所定の閾値を超えないように、前記敵キャラクターの移動先の領域を計算し、もしくは、前記敵キャラクターを消滅させる、
ことを特徴とするゲーム装置。
【請求項４】
複数のプレイヤーがそれぞれのゲーム装置を操作して、前記プレイヤーの指示対象のプレイヤーキャラクター（以下「自キャラクター」という。）を、複数の領域に分割される仮想空間内で移動させ、当該仮想空間内に配置される敵キャラクターと対戦させるゲームを実現するゲームシステムのいずれかのゲーム装置にて実行されるゲーム処理方法であって、
前記ゲーム装置は、各々のプレイヤーキャラクターが配置される領域及び当該領域内での位置と、前記敵キャラクターが配置される領域及び当該領域内での位置と、を記憶する記憶部と、抽出部と、表示部と、送信部と、受信部と、更新部と、を備え、
前記抽出部が、前記記憶部を参照して、前記自キャラクターが存在する領域に配置されている他のプレイヤーキャラクター及び／又は敵キャラクターの位置を抽出する抽出ステップと、
前記表示部が、前記抽出された他のプレイヤーキャラクター及び／又は敵キャラクターの位置に基づいて、前記自キャラクターが配置される領域を表す画像を生成して表示する表示ステップと、
前記送信部が、前記自キャラクターの領域及び位置を他のゲーム装置に送信する送信ステップと、
前記受信部が、前記自キャラクター以外の他のプレイヤーキャラクターの領域及び位置を前記他のゲーム装置から受信する受信ステップと、
前記更新部が前記記憶される領域及び当該領域内での位置を更新する更新ステップであって、前記更新部が、
（ａ）前記ゲーム装置のプレイヤーからの指示入力に基づいて、前記自キャラクターの領域及び位置を更新し、
（ｂ）前記受信されたプレイヤーキャラクターの領域及び位置に基づいて、前記自キャラクター以外のプレイヤーキャラクターの領域及び位置を更新し、
（ｃ）前記敵キャラクターの領域及び位置を、前記他のゲーム装置と共通するように更新する、
更新ステップと、
を備えることを特徴とするゲーム処理方法。
【請求項５】
複数のプレイヤーがそれぞれのコンピュータを操作して、前記プレイヤーの指示対象のプレイヤーキャラクター（以下「自キャラクター」という。）を、複数の領域に分割される仮想空間内で移動させ、当該仮想空間内に配置される敵キャラクターと対戦させるゲームを実現するゲームシステムのいずれかのコンピュータを、
各々のプレイヤーキャラクターが配置される領域及び当該領域内での位置と、前記敵キャラクターが配置される領域及び当該領域内での位置と、を記憶する記憶部、
前記記憶部を参照して、前記自キャラクターが存在する領域に配置されている他のプレイヤーキャラクター及び／又は敵キャラクターの位置を抽出する抽出部、
前記抽出された他のプレイヤーキャラクター及び／又は敵キャラクターの位置に基づいて、前記自キャラクターが配置される領域を表す画像を生成して表示する表示部、
前記自キャラクターの領域及び位置を他のゲーム装置に送信する送信部、
前記自キャラクター以外の他のプレイヤーキャラクターの領域及び位置を前記他のゲーム装置から受信する受信部、
前記記憶される領域及び当該領域内での位置を更新する更新部であって、
（ａ）前記ゲーム装置のプレイヤーからの指示入力に基づいて、前記自キャラクターの領域及び位置を更新し、
（ｂ）前記受信されたプレイヤーキャラクターの領域及び位置に基づいて、前記自キャラクター以外のプレイヤーキャラクターの領域及び位置を更新し、
（ｃ）前記敵キャラクターの領域及び位置を、前記他のゲーム装置と共通するように更新する、
更新部、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲーム画像を描画する処理の負荷を軽減するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムに関する。
【背景技術】
【０００２】
近年、ゲームや映画などに登場するキャラクター等をコンピュータグラフィックスを用いてリアルに表現する技術が発達している。３次元グラフィックスでは、ポリゴンの各頂点の座標などを表す様々なパラメータを計算してキャラクターの形を求めるモデリングと呼ばれる処理が行われる。モデリングの技法については、表示される画像がより自然に見えるようにするための様々な工夫がなされている。例えば特許文献１には、連結される２つのボーンの連結点付近のスキンの形状をできるだけ自然に変化させることができる装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１４８８５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、モデリングの対象となるキャラクターの数が多くなるほど、モデリングに要する処理の負荷が大きくなる。例えば、ゲームに登場しているキャラクターのすべてを描画の対象とすれば、より細かい描写が可能となるものの、描画の負荷が大きくなりすぎると、描画に遅延が生じてしまったり、いわゆるコマ落ちやフレーム落ちのような不具合が生じてしまったりする恐れがある。特に、家庭用に広く普及されているゲーム装置のように高性能のハードウェアを搭載することが容易ではない場合には、描画の負荷を軽減する必要がある。
【０００５】
本発明はこのような課題を解決するものであり、ゲーム画像を描画する処理の負荷を軽減するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【０００７】
本発明の第１の観点に係るゲーム装置は、複数のプレイヤーがそれぞれのゲーム装置を操作して、前記プレイヤーの指示対象のプレイヤーキャラクター（以下「自キャラクター」という。）を、複数の領域に分割される仮想空間内で移動させ、当該仮想空間内に配置される敵キャラクターと対戦させるゲームを実現するゲームシステムのいずれかのゲーム装置であって、記憶部、抽出部、表示部、送信部、受信部、更新部を備える。
記憶部は、各々のプレイヤーキャラクターが配置される領域及び当該領域内での位置と、敵キャラクターが配置される領域及び当該領域内での位置と、を記憶する。
抽出部は、記憶部を参照して、自キャラクターが存在する領域に配置されている他のプレイヤーキャラクター及び／又は敵キャラクターの位置を抽出する。
表示部は、抽出された他のプレイヤーキャラクター及び／又は敵キャラクターの位置に基づいて、自キャラクターが配置される領域を表す画像を生成して表示する。
送信部は、自キャラクターの領域及び位置を他のゲーム装置に送信する。
受信部は、自キャラクター以外の他のプレイヤーキャラクターの領域及び位置を他のゲーム装置から受信する。
更新部は、記憶される領域及び当該領域内での位置を更新する。
すなわち、更新部は、（ａ）ゲーム装置のプレイヤーからの指示入力に基づいて、自キャラクターの領域及び位置を更新する。
また、更新部は、（ｂ）受信されたプレイヤーキャラクターの領域及び位置に基づいて、自キャラクター以外のプレイヤーキャラクターの領域及び位置を更新する。
また、更新部は、（ｃ）敵キャラクターの領域及び位置を、他のゲーム装置と共通するように更新する。
【０００８】
本発明のゲーム装置が実行するゲームが扱う仮想空間は、複数の領域から構成される。仮想空間は２次元空間でもよいし３次元空間でもよい。仮想空間内には、プレイヤーが操作する対象となるプレイヤーキャラクターと、１つ以上の敵キャラクターと、が配置される。
【０００９】
ゲームには複数のプレイヤーが参加することができ、典型的には各プレイヤーはそれぞれ別のゲーム装置を使ってゲームをプレイする。１人のプレイヤーには少なくとも１つのプレイヤーキャラクターが割り当てられる。あるプレイヤーが指示を与える対象となるプレイヤーキャラクターのことを“自キャラクター”という。仮想空間には少なくともプレイヤーの人数分のプレイヤーキャラクターが配置される。各プレイヤーキャラクターが配置される領域と位置は、所定のタイミングで同期が取られる。また、敵キャラクターが配置される領域と位置は、所定のタイミングで同期が取られる。
【００１０】
ゲーム装置で行われるゲームは、例えば、複数のプレイヤーキャラクターが協力して共通の敵キャラクターと戦う戦闘シミュレーションゲームである。ただし、ゲーム内容は本発明によって限定されることはない。ゲーム装置は、仮想空間に配置されるプレイヤーキャラクター、敵キャラクター、その他キャラクター、背景などを含むゲーム画像を生成して表示する。各キャラクターはポリゴンを用いたモデリング技法で表現される。
【００１１】
本発明では、ゲーム装置は、ゲーム画面を生成する際、仮想空間内に配置されているすべてのプレイヤーキャラクターとすべての敵キャラクターをモデリングの対象とするのではなく、仮想空間全体のうち自キャラクターが存在する領域内に配置されているプレイヤーキャラクターと敵キャラクターをモデリングの対象とする。
【００１２】
すなわち、ゲーム装置は、各々のプレイヤーキャラクターが配置される領域及び当該領域内での位置と、敵キャラクターが配置される領域及び当該領域内での位置と、を記憶しており、描画の際には、自キャラクターが存在する領域内に配置されているプレイヤーキャラクターと敵キャラクターの位置を抽出する。そして、ゲーム装置は、自キャラクターが存在する領域内に配置されているプレイヤーキャラクターと敵キャラクターをモデリングにより描画する。描画された画像はモニターに表示される。
【００１３】
本発明によれば、自キャラクターが配置される領域に応じてモデリングの対象のキャラクターを絞ればよいので、ゲーム画像を描画する処理の負荷を軽減することができる。複数のプレイヤーがそれぞれ別のゲーム装置を用いてゲームをプレイするとき、ゲーム装置は同じゲームを実行しつつ、それぞれ異なるゲーム画面を生成して表示することができる。
【００１４】
ゲーム装置は、（ｐ）当該ゲーム装置が複数のゲーム装置のうちの一のゲーム装置（以下「親機」という。）である場合、敵キャラクターの移動先の領域及び位置を計算する計算部を更に備えていてもよい。そして、送信部は、計算された敵キャラクターの領域及び位置を親機以外のゲーム装置（以下「子機」という。）に更に送信し、更新部は、計算された敵キャラクターの領域及び位置に基づいて記憶部を更新してもよい。
また、（ｑ）当該ゲーム装置が子機である場合、受信部は、親機から送信された敵キャラクターの領域及び位置を更に受信し、更新部は、受信された敵キャラクターの領域及び位置に基づいて前記記憶部を更新してもよい。
【００１５】
すなわち、ゲーム装置には親機と子機とがあってもよい。典型的には、親機と子機はハードウェア構成が同じであるものの、機能的な違いがある。プレイヤーキャラクターが配置される領域と位置は、親機・子機の違いに関わらず、各々のゲーム装置がプレイヤーからの指示入力を受け付けて移動する。プレイヤーキャラクターの移動先の領域と位置は、所定のタイミングで他のゲーム装置に送信され、同期が取られる。一方、敵キャラクターが配置される領域と位置は、親機のゲーム装置によって制御されて移動する。敵キャラクターの移動先の領域と位置は、所定のタイミングで親機から子機に送信され、同期が取られる。
【００１６】
本発明によれば、敵キャラクターの制御は親機のみが行えばよいので、子機の処理負担が軽減される。
【００１７】
計算部は、敵キャラクターの移動先の領域に配置されるプレイヤーキャラクター及び敵キャラクターの数が所定の閾値を超えないように、敵キャラクターの移動先の領域を計算し、もしくは、敵キャラクターを消滅させてもよい。
【００１８】
つまり、自キャラクターが配置されている領域内のプレイヤーキャラクターと敵キャラクターのみをモデリングの対象としても、モデリングの対象となる全キャラクター数が多すぎてしまうと、それぞれのゲーム装置がモデリングする処理の負荷が、ゲームの進行に支障を来す恐れが出てくると考えられる。そこで、本発明では、１つの領域に配置される全キャラクターの総数に制限を設ける。
【００１９】
例えば、もしプレイヤーキャラクターもしくは敵キャラクターを移動させると、自キャラクターが存在する領域内の全キャラクター数が所定の閾値を超えてしまう場合、ゲーム装置は、その領域内の全キャラクター数が閾値を超えないように、敵キャラクターを他の領域に移動させる。もしくは、ゲーム装置は、敵キャラクターをその領域から消滅させる。
【００２０】
本発明によれば、モデリングの対象となる全キャラクター数が多すぎることがないように制御されるので、ゲーム画像を描画する処理の負荷を軽減することができる。なお、モデリング処理の負荷の目安を予め測っておき、ゲーム進行に支障が出ない程度のキャラクター数を閾値に設定しておくことが望ましい。
【００２１】
本発明のその他の観点に係るゲーム処理方法は、複数のプレイヤーがそれぞれのゲーム装置を操作して、プレイヤーの指示対象のプレイヤーキャラクター（以下「自キャラクター」という。）を、複数の領域に分割される仮想空間内で移動させ、当該仮想空間内に配置される敵キャラクターと対戦させるゲームを実現するゲームシステムのいずれかのゲーム装置にて実行されるゲーム処理方法であって、抽出ステップ、表示ステップ、送信ステップ、受信ステップ、更新ステップを備える。
ゲーム装置は、各々のプレイヤーキャラクターが配置される領域及び当該領域内での位置と、敵キャラクターが配置される領域及び当該領域内での位置と、を記憶する記憶部を備える。
抽出ステップでは、抽出部が、記憶部を参照して、自キャラクターが存在する領域に配置されている他のプレイヤーキャラクター及び／又は敵キャラクターの位置を抽出する。
表示ステップでは、表示部が、抽出された他のプレイヤーキャラクター及び／又は敵キャラクターの位置に基づいて、自キャラクターが配置される領域を表す画像を生成して表示する。
送信ステップでは、送信部が、自キャラクターの領域及び位置を他のゲーム装置に送信する。
受信ステップでは、受信部が、自キャラクター以外の他のプレイヤーキャラクターの領域及び位置を他のゲーム装置から受信する。
更新ステップでは、更新部が記憶される領域及び当該領域内での位置を更新する。
また、更新ステップでは、更新部が、（ａ）ゲーム装置のプレイヤーからの指示入力に基づいて、自キャラクターの領域及び位置を更新する。
また、更新ステップでは、更新部が、（ｂ）受信されたプレイヤーキャラクターの領域及び位置に基づいて、自キャラクター以外のプレイヤーキャラクターの領域及び位置を更新する。
また、更新ステップでは、更新部が、（ｃ）敵キャラクターの領域及び位置を、他のゲーム装置と共通するように更新する。
【００２２】
本発明によれば、自キャラクターが配置される領域に応じてモデリングの対象のキャラクターを絞ればよいので、ゲーム画像を描画する処理の負荷を軽減することができる。複数のプレイヤーがそれぞれ別のゲーム装置を用いてゲームをプレイするとき、ゲーム装置は同じゲームを実行しつつ、それぞれ異なるゲーム画面を生成して表示することができる。
【００２３】
本発明のその他の観点に係るプログラムは、複数のプレイヤーがそれぞれのコンピュータを操作して、プレイヤーの指示対象のプレイヤーキャラクター（以下「自キャラクター」という。）を、複数の領域に分割される仮想空間内で移動させ、当該仮想空間内に配置される敵キャラクターと対戦させるゲームを実現するゲームシステムのいずれかのコンピュータを、記憶部、抽出部、表示部、送信部、受信部、更新部として機能させる。
記憶部は、各々のプレイヤーキャラクターが配置される領域及び当該領域内での位置と、敵キャラクターが配置される領域及び当該領域内での位置と、を記憶する。
抽出部は、記憶部を参照して、自キャラクターが存在する領域に配置されている他のプレイヤーキャラクター及び／又は敵キャラクターの位置を抽出する。
表示部は、抽出された他のプレイヤーキャラクター及び／又は敵キャラクターの位置に基づいて、自キャラクターが配置される領域を表す画像を生成して表示する。
送信部は、自キャラクターの領域及び位置を他のゲーム装置に送信する。
受信部は、自キャラクター以外の他のプレイヤーキャラクターの領域及び位置を他のゲーム装置から受信する。
更新部は、記憶される領域及び当該領域内での位置を更新する。
更新部は、（ａ）ゲーム装置のプレイヤーからの指示入力に基づいて、自キャラクターの領域及び位置を更新する。
また、更新部は、（ｂ）受信されたプレイヤーキャラクターの領域及び位置に基づいて、自キャラクター以外のプレイヤーキャラクターの領域及び位置を更新する。
また、更新部は、（ｃ）敵キャラクターの領域及び位置を、他のゲーム装置と共通するように更新する。
【００２４】
本発明によれば、コンピュータを上述のように動作するゲーム装置として機能させることができる。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００２５】
本発明によれば、ゲーム画像を描画する処理の負荷を軽減するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明のゲーム装置が実現される典型的な情報処理装置の概要構成を示す図である。
【図２】ゲームシステムの機能的な構成を説明するための図である。
【図３】仮想空間を表すマップの構成例を示す図である。
【図４】キャラクター情報の構成例を示す図である。
【図５】プレイヤーキャラクターの更新処理を説明するためのフローチャートである。
【図６】敵キャラクターの更新処理を説明するためのフローチャートである。
【図７】ゲーム処理を説明するためのフローチャートである。
【図８】実施形態２のゲームシステムの機能的な構成を説明するための図である。
【図９】敵キャラクターの更新処理を説明するためのフローチャートである。
【図１０】仮想空間を表すマップの構成例を示す図である。
【発明を実施するための形態】
【００２７】
（実施形態１）
本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下の実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００２８】
図１は、プログラムを実行することにより本発明のゲーム装置の機能を果たす典型的な情報処理装置１００の概要構成を示す模式図である。
【００２９】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェース１０４と、コントローラ１０５と、外部メモリ１０６と、ＤＶＤ−ＲＯＭ（Digital Versatile Disk - Read Only Memory）ドライブ１０７と、画像処理部１０８と、音声処理部１０９と、ＮＩＣ（Network Interface Card）１１０と、を備える。
【００３０】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０７に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態のゲーム装置が実現される。
【００３１】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  １０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００３２】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００３３】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００３４】
インターフェース１０４を介して接続されたコントローラ１０５は、プレイヤーがダンスゲームやサッカーゲームなどのゲームの実行の際に行う操作入力を受け付ける。インターフェース１０４には、複数のコントローラ１０５が接続されていてもよい。
【００３５】
インターフェース１０４を介して着脱自在に接続された外部メモリ１０６には、ゲームのプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワークを用いたゲームのチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。プレイヤーは、コントローラ１０５を介して操作入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００３６】
ＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０７は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００３７】
画像処理部１０８は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０８が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０８が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０８に接続されるモニター（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００３８】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００３９】
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００４０】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【００４１】
また、ゲームの画像などの情報をＤＶＤ−ＲＯＭに用意しておき、これをフレームメモリに展開することによって、ゲームの様子などを画面に表示することができるようになる。
【００４２】
音声処理部１０９は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカー（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカーから出力させる。
【００４３】
音声処理部１０９では、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータはそのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換され、スピーカーから音声が出力される。
【００４４】
ＮＩＣ  １１０は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）や他の情報処理装置１００に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００４５】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００４６】
次に、本実施形態のゲームシステム２００の機能的な構成について説明する。
図２は、ゲームシステム２００の機能的な構成を説明するための図である。ゲームシステム２００は、複数のゲーム装置２１０（図２では２１０Ａ，２１０Ｂの２つ）から構成される。ゲーム装置２１０Ａ，２１０Ｂは、上述の情報処理装置１００と同等のハードウェア構成を有している。
【００４７】
ゲーム装置２１０Ａは、記憶部２１１Ａ、抽出部２１２Ａ、表示部２１３Ａ、送信部２１４Ａ、受信部２１５Ａ、更新部２１６Ａを備える。同様に、ゲーム装置２１０Ｂは、記憶部２１１Ｂ、抽出部２１２Ｂ、表示部２１３Ｂ、送信部２１４Ｂ、受信部２１５Ｂ、更新部２１６Ｂを備える。
【００４８】
ゲームシステム２００を構成するゲーム装置２１０のそれぞれは、相互に通信が可能である。通信モードには、アクセスポイントを介さずに無線ＬＡＮ等で直接通信する“アドホックモード”と、アクセスポイントを介して通信する“インフラストラクチャモード”とがある。本実施形態では、アドホックモードにおいては、最大で４台のゲーム装置同士でアドホック通信が可能である。
【００４９】
以下の説明では、本発明を理解しやすくするため、ゲームシステム２００が２台のゲーム装置２１０Ａ，２１０Ｂから構成されるものとする。ただし、ゲームシステム２００を構成するゲーム装置の数は２台に限定されるわけではなく、３台以上のゲーム装置２１０から構成されてもよい。
【００５０】
ゲーム装置２１０Ａを操作する第１のプレイヤーと、ゲーム装置２１０Ｂを操作する第２のプレイヤーは、ゲームシステム２００で行われるゲームを一緒にプレイすることができる。例えば、第１のプレイヤーが第１のプレイヤーキャラクターに指示を与え、第２のプレイヤーが第２のプレイヤーキャラクターに指示を与える。例えば、第１のプレイヤーと第２のプレイヤーが協力して共通の敵キャラクターと戦うゲームが行われる。
【００５１】
プレイヤーが操作する対象となるキャラクターのことを“自キャラクター”という。第１のプレイヤーにとっての自キャラクターは第１のプレイヤーキャラクターであり、第２のプレイヤーにとっての自キャラクターは第２のプレイヤーキャラクターである。
【００５２】
また、複数のプレイヤーが協力し合って同じゲームをプレイすることを“コーププレイ”という。協力し合うプレイヤーが操作するそれぞれのプレイヤーキャラクターのことを“コープキャラクター”という。
【００５３】
コーププレイでゲームが行われる仮想空間には、各々のプレイヤーキャラクターと、１つ以上の敵キャラクターと、が配置される。例えば、Ｎ人（Ｎは２以上の整数）のプレイヤーがゲームに参加するとき、Ｎ個のプレイヤーキャラクターが仮想空間内に配置される。仮想空間全体のことを“ステージ”ともいう。
【００５４】
ここで、ゲームシステム２００で行われるゲームが扱う仮想空間について説明する。仮想空間（ステージ）は、複数の領域（リージョン）から構成される。それぞれの領域は、仮想空間を分割する論理的に分けられた空間である。例えば、プレイヤーキャラクターが様々な“街”を移動しながら所定のミッションを達成することを目的とするゲームにおいて、“街”の一つ一つが“領域”に相当する。
【００５５】
図３は、３次元の仮想空間３００の全体の概略を平面的に表した“マップ”の構成例を示す。仮想空間３００は、第１領域３１０Ａ、第２領域３１０Ｂ、第３領域３１０Ｃ、第４領域３１０Ｄ、第５領域３１０Ｅの５つに分割される。
【００５６】
第１のプレイヤーキャラクター３２０Ａは、第１のプレイヤーの指示に応じて、仮想空間３００内を移動する。第１のプレイヤーキャラクター３２０Ａは、第１領域３１０Ａ〜第５領域３１０Ｅの５つの領域の間を自由に行き来することができる。同様に、第２のプレイヤーキャラクター３２０Ｂは、第２のプレイヤーの指示に応じて、仮想空間３００内を移動する。第２のプレイヤーキャラクター３２０Ｂも、第１領域３１０Ａ〜第５領域３１０Ｅの５つの領域の間を自由に行き来することができる。第１のプレイヤーキャラクター３２０Ａと第２のプレイヤーキャラクター３２０Ｂは、同じ領域に存在することもできるし、異なる領域に存在することもできる。
【００５７】
敵キャラクター３３０（図３では３３０Ａ〜３３０Ｄの４つ）は、ＣＰＵ  １０１の制御により、仮想空間３００内を移動する。敵キャラクター３３０は、第１領域３１０Ａ〜第５領域３１０Ｅの５つの領域の間を自由に行き来することができる。
【００５８】
プレイヤーキャラクター３２０Ａ（プレイヤーキャラクター３２０Ｂでもよい）の位置が、敵キャラクター３３０の位置から所定距離範囲内に入ると、プレイヤーキャラクター３２０Ａは敵キャラクター３３０との戦闘状態になる。戦闘状態では、ＣＰＵ  １０１は、第１のプレイヤーによる攻撃コマンドや防御コマンド等の入力を受け付ける。また、ＣＰＵ  １０１は、所定のアルゴリズムにより敵キャラクター３３０による攻撃や防御の制御を行う。ＣＰＵ  １０１は、攻撃コマンドや防御コマンド等に基づいて、プレイヤーキャラクター３２０Ａの属性パラメータ（一般に“ライフ”と呼ばれる）と敵キャラクター３３０の属性パラメータを増減させる。例えば、プレイヤーキャラクター３２０Ａのライフがゼロになる前に敵キャラクター３３０のライフがゼロになると、プレイヤーキャラクター３２０Ａの勝ちである。逆に、敵キャラクター３３０のライフがゼロになる前にプレイヤーキャラクター３２０Ａのライフがゼロになると、プレイヤーキャラクター３２０Ａの負けである。
【００５９】
各プレイヤーキャラクター３２０の仮想空間内における位置は、各プレイヤーの指示に基づいて移動する。敵キャラクター３３０の仮想空間内における位置は、ゲーム装置２１０の各ＣＰＵ  １０１によって制御され、仮想空間内を移動する。プレイヤーキャラクター３２０の仮想空間内における位置と、敵キャラクター３３０の仮想空間内における位置は、ゲームシステム２００を構成する各ゲーム装置２１０間において、所定のタイミングで同期が取られる。
【００６０】
なお、仮想空間３００を構成する領域の数や領域の分け方は本発明によって限定されない。
【００６１】
次に、記憶部２１１Ａ，２１１Ｂと、抽出部２１２Ａ，２１２Ｂと、表示部２１３Ａ，２１３Ｂと、送信部２１４Ａ，２１４Ｂと、受信部２１５Ａ，２１５Ｂと、更新部２１６Ａ，２１６Ｂとについて詳しく説明する。以下の説明において、記憶部２１１Ａと記憶部２１１Ｂは同等の構成を有するので、記憶部２１１Ａと記憶部２１１Ｂをまとめて記憶部２１１と呼ぶ。抽出部２１２、表示部２１３、送信部２１４、受信部２１５、更新部２１６についても同様である。
【００６２】
記憶部２１１は、各々のプレイヤーキャラクター３２０が配置される領域と、その領域内でのプレイヤーキャラクター３２０の各々の位置と、を記憶する。また、記憶部２１１は、敵キャラクター３３０が配置される領域と、その領域内での敵キャラクター３３０の位置と、を記憶する。敵キャラクター３３０が複数の場合には、記憶部２１１は、それぞれの敵キャラクター３３０について、敵キャラクター３３０が配置される領域と、その領域内での位置と、を記憶する。ＣＰＵ  １０１とＲＡＭ  １０３が協働して記憶部２１１として機能する。
【００６３】
図４は、ＲＡＭ  １０３に記憶されるキャラクター情報４００の構成例を示す図である。ＣＰＵ  １０１は、キャラクターの区分と、キャラクターが配置されている領域の区分と、配置されている領域内における位置と、を対応付けてＲＡＭ  １０３に記憶する。１組のキャラクターと領域と位置とを対応付ける情報を“レコード”という。キャラクターが戦闘で負けてライフがゼロになった場合、ＣＰＵ  １０１は、そのキャラクターに対応付けて、キャラクターが死んだことを示すフラグ値を更に記憶させてもよいし、そのキャラクターに対応するレコードをＲＡＭ  １０３から削除してもよい。
【００６４】
抽出部２１２は、自キャラクターが存在する領域に配置されている他のプレイヤーキャラクター３２０と敵キャラクター３３０の位置を記憶部２１１から抽出する。ＣＰＵ  １０１とＲＡＭ  １０３が協働して抽出部２１２として機能する。
【００６５】
すなわち、ゲーム装置２１０ＡのＣＰＵ  １０１は、ゲーム装置２１０Ａのプレイヤー（第１のプレイヤー）が操作する第１のプレイヤーキャラクター３２０Ａが存在する領域を特定する。図３では、第１のプレイヤーキャラクター３２０Ａが存在する領域は第１領域３１０Ａである。
【００６６】
また、ゲーム装置２１０ＡのＣＰＵ  １０１は、特定した領域に他のプレイヤーキャラクター３２０が配置されていれば、そのプレイヤーキャラクター３２０の位置をＲＡＭ  １０３から抽出する。図３では、第２のプレイヤーキャラクター３２０Ｂは第１領域３１０Ａに存在しないので、ゲーム装置２１０ＡのＣＰＵ  １０１は、第２のプレイヤーキャラクター３２０Ｂに対応するレコードを読み出さなくてもよい。
【００６７】
更に、ゲーム装置２１０ＡのＣＰＵ  １０１は、特定した領域に敵キャラクター３３０が配置されていれば、その敵キャラクター３３０の位置をＲＡＭ  １０３から抽出する。図３では、第１領域３１０Ａに敵キャラクター３３０Ａが存在するので、ゲーム装置２１０ＡのＣＰＵ  １０１は、敵キャラクター３３０Ａの位置をＲＡＭ  １０３から抽出する。
【００６８】
同様に、ゲーム装置２１０ＢのＣＰＵ  １０１は、ゲーム装置２１０Ｂのプレイヤー（第２のプレイヤー）が操作する第２のプレイヤーキャラクター３２０Ｂが存在する領域を特定する。図３では、第２のプレイヤーキャラクター３２０Ｂが存在する領域は第５領域３１０Ｅである。
【００６９】
また、ゲーム装置２１０ＢのＣＰＵ  １０１は、特定した領域に他のプレイヤーキャラクター３２０が配置されていれば、そのプレイヤーキャラクター３２０の位置をＲＡＭ  １０３から抽出する。図３では、第１のプレイヤーキャラクター３２０Ａは第５領域３１０Ｅに存在しないので、ゲーム装置２１０ＢのＣＰＵ  １０１は、第１のプレイヤーキャラクター３２０Ａに対応するレコードを読み出さなくてもよい。
【００７０】
更に、ゲーム装置２１０ＢのＣＰＵ  １０１は、特定した領域に敵キャラクター３３０が配置されていれば、その敵キャラクター３３０の位置をＲＡＭ  １０３から抽出する。図３では、第５領域３１０Ｅに敵キャラクター３３０Ｂが存在するので、ゲーム装置２１０ＢのＣＰＵ  １０１は、敵キャラクター３３０Ｂの位置をＲＡＭ  １０３から抽出する。
【００７１】
表示部２１３は、抽出部２１２によって抽出されたプレイヤーキャラクター３２０の位置と敵キャラクター３３０の位置とに基づいて、自キャラクターが配置される領域を表す画像を生成してモニターに表示する。ＣＰＵ  １０１と画像処理部１０８が協働して表示部２１３として機能する。
【００７２】
より詳細には、各キャラクターの画像や背景の画像は、複数のボーン（キャラクターの骨格となる線分状オブジェクト）と、スキン（各ボーンに対応付けられる制御点を頂点としたポリゴンの集合によって表される面）と、を用いて表される。ＣＰＵ  １０１は、各画像処理部１０８を制御して、キャラクターの制御点の位置に基づいてキャラクターを覆うスキンの形状を求め、仮想空間３００内に配置されるスキンの形状を表す画像、すなわちキャラクターの画像を生成する。この画像を生成する処理は、一般にモデリングと呼ばれる。
【００７３】
例えば、ゲーム装置２１０ＡのＣＰＵ  １０１は、画像処理部１０８を制御して、第１のプレイヤーキャラクター３２０Ａが配置される第１領域３１０Ａを表すポリゴン画像を生成してモニターに表示する。ゲーム装置２１０Ａによって表示される画像には、敵キャラクター３３０Ａの画像が含まれる。
【００７４】
また、ゲーム装置２１０ＢのＣＰＵ  １０１は、画像処理部１０８を制御して、第２のプレイヤーキャラクター３２０Ｂが配置される第５領域３１０Ｅを表すポリゴン画像を生成してモニターに表示する。ゲーム装置２１０Ｂによって表示される画像には、敵キャラクター３３０Ｂの画像が含まれる。
【００７５】
なお、ＣＰＵ  １０１は、自キャラクターを俯瞰する三人称視点のゲームにおいては、自キャラクターを含む画像を生成する。ＣＰＵ  １０１は、いわゆる一人称視点のゲームにおいては、自キャラクターを含まない画像を生成する。
【００７６】
送信部２１４は、自キャラクターが存在する領域とその領域内における位置とを示す情報を、ゲームシステム２００に含まれる他のゲーム装置２１０に送信する。ＣＰＵ  １０１とＮＩＣ  １０９が協働して送信部２１４として機能する。
【００７７】
すなわち、ゲーム装置２１０ＡのＣＰＵ  １０１は、第１のプレイヤーキャラクター３２０Ａが存在する領域（図３では第１領域３１０Ａ）と、その領域内における第１プレイヤーキャラクター３２０Ａの位置座標とを、ゲーム装置２１０Ｂに送信する。同様に、ゲーム装置２１０ＢのＣＰＵ  １０１は、第２のプレイヤーキャラクター３２０Ｂが存在する領域（図３では第５領域３１０Ｅ）と、その領域内における第２プレイヤーキャラクター３２０Ｂの位置座標とを、ゲーム装置２１０Ａに送信する。
【００７８】
受信部２１５は、自キャラクター以外のプレイヤーキャラクター３２０が存在する領域とその領域内における位置とを示す情報を、ゲームシステム２００に含まれる他のゲーム装置２１０から受信する。ＣＰＵ  １０１とＮＩＣ  １０９が協働して受信部２１５として機能する。
【００７９】
すなわち、ゲーム装置２１０ＡのＣＰＵ  １０１は、第２のプレイヤーキャラクター３２０Ｂが存在する領域（図３では第５領域３１０Ｅ）と、その領域内における第２プレイヤーキャラクター３２０Ｂの位置座標とを、ゲーム装置２１０Ｂから受信する。同様に、ゲーム装置２１０ＢのＣＰＵ  １０１は、第１のプレイヤーキャラクター３２０Ａが存在する領域（図３では第１領域３１０Ａ）と、その領域内における第１プレイヤーキャラクター３２０Ａの位置座標とを、ゲーム装置２１０Ａから受信する。
【００８０】
更新部２１６は、ゲーム装置２１０のプレイヤーからの指示入力に基づいて、記憶部２１１に記憶されるキャラクター情報４００のうち、自キャラクターが存在する領域と位置を示すレコードを更新する。
【００８１】
つまり、ゲーム装置２１０Ａの更新部２１６Ａは、ゲーム装置２１０Ａのプレイヤーからの指示入力に基づいて、ゲーム装置２１０Ａの記憶部２１１Ａに記憶されている、第１のプレイヤーキャラクター３２０Ａが存在する領域と、その領域内における位置と、を更新する。同様に、ゲーム装置２１０Ｂの更新部２１６Ｂは、ゲーム装置２１０Ｂのプレイヤーからの指示入力に基づいて、ゲーム装置２１０Ｂの記憶部２１１Ｂに記憶されている、第２のプレイヤーキャラクター３２０Ｂが存在する領域と、その領域内における位置と、を更新する。したがって、ゲーム装置２１０Ａの記憶部２１１Ａに記憶される第１のプレイヤーキャラクター３２０Ａに対応するレコードと、ゲーム装置２１０Ｂの記憶部２１１Ｂに記憶される第１のプレイヤーキャラクター３２０Ａに対応するレコードと、の同期が取られる。
【００８２】
また、更新部２１６は、受信部２１５によって受信されたプレイヤーキャラクター３２０の領域と位置を示す情報に基づいて、記憶部２１１に記憶されるキャラクター情報４００のうち、自キャラクター以外の他のプレイヤーキャラクター３２０が存在する領域とその領域内における位置を示すレコードを更新する。
【００８３】
つまり、ゲーム装置２１０Ａの更新部２１６Ａは、ゲーム装置２１０Ｂから受信した第２のプレイヤーキャラクター３２０Ｂが存在する領域とその領域内における位置とを用いて、記憶部２１１Ａを更新する。同様に、ゲーム装置２１０Ｂの更新部２１６Ｂは、ゲーム装置２１０Ａから受信した第１のプレイヤーキャラクター３２０Ａが存在する領域とその領域内における位置とで記憶部２１１Ｂを更新する。したがって、ゲーム装置２１０Ａの記憶部２１１Ａに記憶される第２のプレイヤーキャラクター３２０Ｂに対応するレコードと、ゲーム装置２１０Ｂの記憶部２１１Ｂに記憶される第２のプレイヤーキャラクター３２０Ｂに対応するレコードと、の同期が取られる。
【００８４】
また、更新部２１６は、記憶部２１１に記憶されるキャラクター情報４００のうち、敵キャラクター３３０が存在する領域とその領域内における位置とを示す情報を、他のゲーム装置２１０と共通するように更新する。
【００８５】
つまり、ゲーム装置２１０Ａの更新部２１６Ａは、ゲーム装置２１０Ａの記憶部２１１Ａに記憶されている敵キャラクター３３０が存在する領域及びその領域内における位置を、ゲーム装置２１０Ｂの記憶部２１１Ｂに記憶されている敵キャラクター３３０が存在する領域及びその領域内における位置と同じになるように、更新する。
【００８６】
あるいは、ゲーム装置２１０Ｂの更新部２１６Ｂは、ゲーム装置２１０Ｂの記憶部２１１Ｂに記憶されている敵キャラクター３３０が存在する領域及びその領域内における位置を、ゲーム装置２１０Ａの記憶部２１１Ａに記憶されている敵キャラクター３３０が存在する領域及びその領域内における位置と同じになるように、更新する。
【００８７】
例えば、ゲーム装置２１０Ａとゲーム装置２１０Ｂのうちどちらか一方のゲーム装置の送信部２１４が、他方のゲーム装置へ、敵キャラクター３３０が存在する領域とその領域内における位置とを示す情報を送信する。敵キャラクター３３０が存在する領域とその領域内における位置とを示す情報を受信部２１５が受信すると、更新部２１６は、受信した領域と位置を示す情報で記憶部２１１を更新する。したがって、ゲーム装置２１０Ａの記憶部２１１Ａに記憶される敵キャラクター３３０に対応するレコードと、ゲーム装置２１０Ｂの記憶部２１１Ｂに記憶される敵キャラクター３３０に対応するレコードと、の同期が取られる。
【００８８】
次に、本実施形態のゲームシステム２００における、記憶部２１１に記憶されるキャラクター情報４００の更新処理について説明する。
【００８９】
図５は、記憶部２１１に記憶されるキャラクター情報４００のうち、プレイヤーキャラクター３２０Ａ，３２０Ｂが存在する領域と位置に対応するレコードを更新する処理を説明するためのフローチャートである。この更新処理は、例えば垂直同期などの定期的なタイミングで繰り返し実行される。
【００９０】
まず、ゲーム装置２１０ＡのＣＰＵ  １０１は、ゲーム装置２１０Ａを操作するプレイヤーから、プレイヤーキャラクター３２０Ａを移動させる指示入力を受け付ける（ステップＳ５０１）。ユーザは、コントローラ１０５が備える十字キーなどを押圧することにより、プレイヤーキャラクター３２０Ａを移動させる指示を入力する。
【００９１】
ゲーム装置２１０ＡのＣＰＵ  １０１は、受け付けた指示入力に基づいて、ＲＡＭ  １０３に記憶されるキャラクター情報４００のうち、自キャラクター（ゲーム装置２１０Ａ側のプレイヤーキャラクター３２０Ａ）が存在する領域と位置を示すレコードを更新する（ステップＳ５０２）。
【００９２】
ゲーム装置２１０ＡのＣＰＵ  １０１は、ＮＩＣ  １１０を制御して、自キャラクターが存在する領域と位置をゲーム装置２１０Ｂ側に送信する（ステップＳ５０３）。
【００９３】
ゲーム装置２１０ＢのＣＰＵ  １０１は、ＮＩＣ  １１０を制御して、ゲーム装置２１０Ａ側のプレイヤーキャラクター３２０Ａが存在する領域と位置をゲーム装置２１０Ａから受信する（ステップＳ５０４）。
【００９４】
そして、ゲーム装置２１０ＢのＣＰＵ  １０１は、ゲーム装置２１０ＢのＲＡＭ  １０３に記憶されているキャラクター情報４００のうち、ゲーム装置２１０Ａ側のプレイヤーキャラクター３２０Ａが存在する領域と位置を更新する（ステップＳ５０５）。
【００９５】
以上の更新処理により、プレイヤーキャラクター３２０Ａが存在する領域と位置を示すレコードの同期が取られる。この更新処理は、ゲーム装置２１０Ａ，２１０Ｂの双方で行われる。つまり、図５において“ゲーム装置２１０Ａ”と“ゲーム装置２１０Ｂ”を置き換えた同様の処理が、並列的に行われる。従って、プレイヤーキャラクター３２０Ｂが存在する領域と位置を示すレコードの同期も取られる。
【００９６】
次に、敵キャラクター３３０が存在する領域と位置の更新処理について説明する。
図６は、記憶部２１１に記憶されるキャラクター情報４００のうち、敵キャラクター３３０が存在する領域と位置に対応するレコードを更新する処理を説明するためのフローチャートである。この更新処理は、例えば垂直同期などの定期的なタイミングで繰り返し実行される。
【００９７】
まず、ゲーム装置２１０ＡのＣＰＵ  １０１は、所定のアルゴリズムに従って、敵キャラクター３３０が存在する領域と位置を計算して更新する（ステップＳ６０１）。図３に示すように敵キャラクター３３０が複数存在する場合には、敵キャラクター３３０のそれぞれについて、領域と位置を計算して更新する。
【００９８】
ゲーム装置２１０ＡのＣＰＵ  １０１は、ＮＩＣ  １１０を制御して、敵キャラクター３３０が存在する領域と位置をゲーム装置２１０Ｂ側に送信する（ステップＳ６０２）。
【００９９】
ゲーム装置２１０ＢのＣＰＵ  １０１は、ＮＩＣ  １１０を制御して、敵キャラクター３３０が存在する領域と位置をゲーム装置２１０Ａから受信する（ステップＳ６０３）。
【０１００】
そして、ゲーム装置２１０ＢのＣＰＵ  １０１は、ゲーム装置２１０ＢのＲＡＭ  １０３に記憶されているキャラクター情報４００のうち、敵キャラクター３３０が存在する領域と位置を更新する（ステップＳ６０４）。
【０１０１】
以上の更新処理により、敵キャラクター３３０が存在する領域と位置を示すレコードの同期が取られる。ゲーム装置２１０Ｂ側に記憶されるキャラクター情報４００のうち敵キャラクター３３０に関するレコードは、ゲーム装置２１０Ａ側に記憶されるレコードと一致するように同期が取られる。
【０１０２】
なお、ステップＳ６０１乃至Ｓ６０４において“ゲーム装置２１０Ａ”と“ゲーム装置２１０Ｂ”を置き換えた同様の処理を行うようにしてもよい。言い換えれば、ゲーム装置２１０Ａ側に記憶されるキャラクター情報４００のうち敵キャラクター３３０に関するレコードが、ゲーム装置２１０Ｂ側に記憶されるレコードと一致するように同期が取られるようにしてもよい。
【０１０３】
次に、ゲーム装置２１０Ａとゲーム装置２１０Ｂの双方で行われるゲーム処理について、図７のフローチャートを用いて説明する。
【０１０４】
まず、ＣＰＵ  １０１は、キャラクター情報４００から、自キャラクターが存在する領域内に配置されている他のプレイヤーキャラクター３２０と敵キャラクター３３０の位置を抽出する（ステップＳ７０１）。
【０１０５】
例えば、ゲーム装置２１０Ａ側のＣＰＵ  １０１は、図３に示される仮想空間３００において、自キャラクターすなわちプレイヤーキャラクター３２０Ａが存在する第１領域３１０Ａに、コーププレイの相手が操作するプレイヤーキャラクター３２０Ｂが配置されているか否かを判別する。
【０１０６】
第１領域３１０Ａにプレイヤーキャラクター３２０Ｂが配置されている場合、ゲーム装置２１０ＡのＣＰＵ  １０１は、キャラクター情報４００から、プレイヤーキャラクター３２０Ｂに関するレコードを抽出し、プレイヤーキャラクター３２０Ｂの位置を取得する。一方、第１領域３１０Ａにプレイヤーキャラクター３２０Ｂが配置されていない場合、ＣＰＵ  １０１は、プレイヤーキャラクター３２０Ｂに関するレコードを抽出しなくてもよい。
【０１０７】
また、第１領域３１０Ａに敵キャラクター３３０Ａ〜３３０Ｄのいずれかが配置されている場合、ゲーム装置２１０ＡのＣＰＵ  １０１は、キャラクター情報４００から、該当する敵キャラクター３３０に関するレコードを抽出し、敵キャラクター３３０の位置を取得する。図３の例では、ゲーム装置２１０ＡのＣＰＵ  １０１は、敵キャラクター３３０Ａの位置を取得する。一方、第１領域３１０Ａにプレイヤーキャラクター３２０Ｂが配置されていない場合、ＣＰＵ  １０１は、プレイヤーキャラクター３２０Ｂに関するレコードを抽出しなくてもよい。
【０１０８】
また例えば、ゲーム装置２１０Ｂ側のＣＰＵ  １０１は、図３に示される仮想空間３００において、自キャラクターすなわちプレイヤーキャラクター３２０Ｂが存在する第５領域３１０Ｅに、コーププレイの相手が操作するプレイヤーキャラクター３２０Ａが配置されているか否かを判別する。
【０１０９】
第５領域３１０Ｅにプレイヤーキャラクター３２０Ａが配置されている場合、ゲーム装置２１０ＢのＣＰＵ  １０１は、キャラクター情報４００から、プレイヤーキャラクター３２０Ａに関するレコードを抽出し、プレイヤーキャラクター３２０Ａの位置を取得する。一方、第５領域３１０Ｅにプレイヤーキャラクター３２０Ａが配置されていない場合、ＣＰＵ  １０１は、プレイヤーキャラクター３２０Ａに関するレコードを抽出しなくてもよい。
【０１１０】
また、第５領域３１０Ｅに敵キャラクター３３０Ａ〜３３０Ｄのいずれかが配置されている場合、ゲーム装置２１０ＢのＣＰＵ  １０１は、キャラクター情報４００から、該当する敵キャラクター３３０に関するレコードを抽出し、敵キャラクター３３０の位置を取得する。図３の例では、ゲーム装置２１０ＢのＣＰＵ  １０１は、敵キャラクター３３０Ｂの位置を取得する。一方、第５領域３１０Ｅにプレイヤーキャラクター３２０Ａが配置されていない場合、ＣＰＵ  １０１は、プレイヤーキャラクター３２０Ａに関するレコードを抽出しなくてもよい。
【０１１１】
次に、ＣＰＵ  １０１は、ステップＳ７０１で抽出した他のプレイヤーキャラクター３２０の位置及び／又は敵キャラクター３３０の位置に基づいて、自キャラクターが存在する領域を表す画像を生成する（ステップＳ７０２）。
【０１１２】
例えば、ゲーム装置２１０ＡのＣＰＵ  １０１は、図３に示される仮想空間３００において、プレイヤーキャラクター３２０Ａが配置される第１領域３１０Ａを表すポリゴン画像を、モデリングの手法を用いて生成する。この画像には、敵キャラクター３３０Ａの画像が含まれる。
【０１１３】
ここで、ゲーム装置２１０ＡのＣＰＵ  １０１は、第１領域３１０Ａ内に存在しないプレイヤーキャラクター３２０Ｂと敵キャラクター３３０Ｂ〜３３０Ｄの位置を取得する必要がなく、また、プレイヤーキャラクター３２０Ｂと敵キャラクター３３０Ｂ〜３３０Ｄについてモデリングを行う必要がない。
【０１１４】
また例えば、ゲーム装置２１０ＢのＣＰＵ  １０１は、図３に示される仮想空間３００において、プレイヤーキャラクター３２０Ｂが配置される第５領域３１０Ｅを表すポリゴン画像を、モデリングの手法を用いて生成する。この画像には、敵キャラクター３３０Ｂの画像が含まれる。
【０１１５】
ここで、ゲーム装置２１０ＢのＣＰＵ  １０１は、第５領域３１０Ｅ内に存在しないプレイヤーキャラクター３２０Ａと敵キャラクター３３０Ａ，３３０Ｃ，３３０Ｄの位置を取得する必要がなく、また、プレイヤーキャラクター３２０Ａと敵キャラクター３３０Ａ，３３０Ｃ，３３０Ｄについてモデリングを行う必要がない。
【０１１６】
そして、ＣＰＵ  １０１は、画像処理部１０８を制御して、ステップＳ７０２で生成された画像をモニターに表示する（ステップＳ７０３）。ゲーム装置２１０Ａに接続されるモニターには、敵キャラクター３３０Ａが配置されている第１領域３１０Ａを表す画像が表示される。ゲーム装置２１０Ｂに接続されるモニターには、敵キャラクター３３０Ｂが配置されている第５領域３１０Ｅを表す画像が表示される。コーププレイの各プレイヤーは、同じゲームで異なる画像を見ながらゲームをプレイすることができる。
【０１１７】
本実施形態によれば、ゲーム装置２１０Ａ，２１０Ｂは、モデリングを行う際の処理負担を軽減することができる。ゲーム装置２１０Ａ，２１０Ｂのプレイヤーは、それぞれ異なるゲーム画像を見ながら同じゲームをプレイすることができる。プレイヤーキャラクター３２０の位置や敵キャラクター３３０の位置は、所定のタイミングで同期が取られるので、ゲーム装置２１０Ａ側で表示される画像とゲーム装置２１０Ｂ側で表示される画像とに矛盾が生じるようなことはない。
【０１１８】
（実施形態２）
次に、本発明のその他の実施形態について説明する。上記実施形態では、ゲームシステム２００を構成するゲーム装置２１０のそれぞれの機能的な構成は等価なものであるが、本実施形態では、“親機”と“子機”の２種類がある。以下、詳述する。
【０１１９】
図８は、ゲームシステム８００の機能的な構成を説明するための図である。ゲームシステム８００は、複数のゲーム装置８１０（図８では８１０Ａ，８１０Ｂの２つ）から構成される。ゲーム装置８１０Ａ，８１０Ｂは、上述の情報処理装置１００と同等のハードウェア構成を有している。図８において、ゲーム装置８１０Ａが親機であり、ゲーム装置８１０Ｂが子機である。
【０１２０】
図９は、本実施形態における敵キャラクター３３０の更新処理を説明するためのフローチャートである。
【０１２１】
本実施形態のようにゲームシステム８００を構成するゲーム装置８１０が２台の場合、一方が親機として動作し、他方が子機として動作する。
【０１２２】
ゲームシステム８００を構成するゲーム装置８１０が３台以上の場合、少なくとも１台のゲーム装置８１０が親機になり、その他のゲーム装置８１０が子機になればよい。
【０１２３】
例えば、複数のゲーム装置８１０のうち、ゲームシステム８００で行われるゲームへ参加する旨の指示をプレイヤーから最も早く受け取ったゲーム装置８１０が親機になり、その他のゲーム装置８１０が子機になる。
【０１２４】
親機のゲーム装置８１０Ａは、上述の記憶部２１１Ａ、抽出部２１２Ａ、表示部２１３Ａ、送信部２１４Ａ、受信部２１５Ａ、更新部２１６Ａに加えて、計算部２１７を更に備える。子機のゲーム装置８１０Ｂは、記憶部２１１Ｂ、抽出部２１２Ｂ、表示部２１３Ｂ、送信部２１４Ｂ、受信部２１５Ｂ、更新部２１６Ｂを備える。
【０１２５】
計算部２１７は、敵キャラクター３３０の移動先の領域と、敵キャラクター３３０の移動先の領域内における位置を計算する。ＣＰＵ  １０１が計算部２１７として機能する。
【０１２６】
具体的には、ＣＰＵ  １０１は、敵キャラクター３３０の移動先の領域に配置される全キャラクター（プレイヤーキャラクター３２０及び敵キャラクター３３０のすべて）の総数が所定の閾値を超えないように、敵キャラクター３３０の移動先の領域を計算する。
【０１２７】
一般に、描画対象となるキャラクターの数が多いほど、モデリングにより画像を生成する処理は重くなる。そこで、ＣＰＵ  １０１は、描画対象となるキャラクターの数が多すぎることがないように、１つの領域内の全キャラクター数を閾値以下に保つのである。
【０１２８】
図１０（ａ），（ｂ）は、仮想空間３００の一部を表すマップの例を示す。Ｘ番目の領域には、コーププレイのプレイヤーキャラクター３２０Ａ，３２０Ｂと、敵キャラクター３３０Ａ，３３０Ｂ，３３０Ｃと、が配置されている。また、Ｘ−１番目の領域には、敵キャラクター３３０Ｄが配置されている。
【０１２９】
まず、ＣＰＵ  １０１は、それぞれの敵キャラクター３３０について、敵キャラクター３３０の移動先の領域と位置を計算する（ステップＳ９０１）。
【０１３０】
ＣＰＵ  １０１は、移動先の領域内に既に配置されているすべてのキャラクターの数が上述の所定の閾値に達しているか否かを判別する（ステップＳ９０２）。
【０１３１】
移動先に既に配置されているすべてのキャラクターの数が閾値に達している場合（ステップＳ９０２；ＹＥＳ）、ＣＰＵ  １０１は、移動先の領域内に既に配置されている敵キャラクター３３０のいずれかを他の領域に移動させる（ステップＳ９０３）。
【０１３２】
一方、移動先に既に配置されているすべてのキャラクターの数が閾値に達していない場合（ステップＳ９０２；ＮＯ）、ＣＰＵ  １０１はステップＳ９０４に進む。
【０１３３】
例えば、図１０（ａ）において、上述の所定の閾値を「５」に設定するとき、もしＸ−１番目の領域に配置されている敵キャラクター３３０ＤをＸ番目の領域に移動させると、Ｘ番目の領域には閾値以上の個数のキャラクターが存在することになる。そこで、ＣＰＵ  １０１は、敵キャラクター３３０ＤをＸ番目の領域に移動させる場合には、図１０（ｂ）に示すように、敵キャラクター３３０Ａ，３３０Ｂ，３３０Ｃのうちいずれか１つ以上を、Ｘ−１番目の領域又はＸ＋１番目の領域に移動させることにより、領域内の全キャラクター数が閾値を超えないように制御する。
【０１３４】
なお、複数の敵キャラクター３３０が配置されている場合、ＣＰＵ  １０１は、いずれの敵キャラクター３３０を他の領域に移動させてもよいが、敵キャラクター３３０の現在位置から移動先となる領域までの距離（移動距離）が最も短くなるように、移動対象の敵キャラクター３３０を選択し且つ移動先の領域を選択するとよい。
【０１３５】
また、ＣＰＵ  １０１は、敵キャラクター３３０ＤをＸ番目の領域に移動させる場合には、敵キャラクター３３０Ａ，３３０Ｂ，３３０Ｃのうちいずれか１つ以上を仮想空間８００から消滅させてもよい。
【０１３６】
また、ＣＰＵ  １０１は、１つの領域内に存在している全キャラクター数が既に閾値に達している場合には、その領域内への他のキャラクターの移動を禁止する（その領域内へ他のキャラクターを移動させない）ようにしてもよい。
【０１３７】
閾値の決め方は任意である。例えば、モデリングにより描画する処理の負荷の目安をゲーム制作者が予め測っておき、処理落ちやコマ落ち等が起こらない限界のキャラクター数を閾値に設定すればよい。
【０１３８】
なお、ＣＰＵ  １０１は、敵キャラクター３３０がいずれかのプレイヤーキャラクター３２０との戦闘状態にない場合、その敵キャラクター３３０の位置を仮想空間（ステージ）３００内でランダムに移動させてもよい。
【０１３９】
次に、ＣＰＵ  １０１は、キャラクター情報４００において敵キャラクター３３０が配置される領域と位置を示すレコードを更新する（ステップＳ９０４）。
【０１４０】
親機のＣＰＵ  １０１は、ＮＩＣ  １１０を制御して、ステップＳ９０４で更新された敵キャラクター３３０の移動先の領域と位置を子機に送信する（ステップＳ９０５）。
【０１４１】
一方、子機のＣＰＵ  １０１は、ＮＩＣ  １１０を制御して、親機から送信された敵キャラクター３３０の移動先の領域と位置を受信する（ステップＳ９０６）。
【０１４２】
また、子機のＣＰＵ  １０１は、ステップＳ９０６で受信された敵キャラクター３３０の移動先の領域と位置を用いて、子機のＲＡＭ  １０３に記憶されているキャラクター情報４００を更新する（ステップＳ９０７）。
【０１４３】
本実施形態では、敵キャラクター３３０の位置は、ゲームシステム８００の親機によって決定され、子機は親機から敵キャラクター３３０の位置を受信して同期を取る。
【０１４４】
本実施形態によれば、ゲーム装置８１０Ａ，８１０Ｂは、描画対象となるキャラクター数が多くなりすぎないように制御することにより、モデリングを行う際の処理負担を軽減することができる。
【０１４５】
本発明は、上述した実施形態に限定されず、種々の変形及び応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
【０１４６】
ゲーム装置２１０Ａ，２１０Ｂ，８１０Ａ，８１０Ｂの全部又は一部としてコンピュータを動作させるためのプログラムを、メモリカード、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ（Magneto Optical disk）などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【０１４７】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【０１４８】
以上説明したように、本発明によれば、ゲーム画像を描画する処理の負荷を軽減するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
【符号の説明】
【０１４９】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  コントローラ
１０６  外部メモリ
１０７  ＤＶＤ−ＲＯＭドライブ
１０８  画像処理部
１０９  音声処理部
１１０  ＮＩＣ
２００，８００  ゲームシステム
２１０，２１０Ａ，２１０Ｂ，８１０，８１０Ａ，８１０Ｂ  ゲーム装置
２１１  記憶部
２１２  抽出部
２１３  表示部
２１４  送信部
２１５  受信部
２１６  更新部
２１７  計算部
３００  仮想空間（ステージ）
３１０，３１０Ａ〜３１０Ｅ  領域（リージョン）
３２０，３２０Ａ，３２０Ｂ  プレイヤーキャラクター
３３０，３３０Ａ〜３３０Ｄ  敵キャラクター
４００  キャラクター情報
【図１】
2010269047.tif 000003
【図２】
2010269047.tif 000004
【図３】
2010269047.tif 000005
【図４】
2010269047.tif 000006
【図５】
2010269047.tif 000007
【図６】
2010269047.tif 000008
【図７】
2010269047.tif 000009
【図８】
2010269047.tif 000010
【図９】
2010269047.tif 000011
【図１０】
2010269047.tif 000012