(57)【特許請求の範囲】
【請求項１】
仮想空間内でプレーヤキャラクタを移動させるゲームの画像を生成するためのプログラムであって、
入力情報に基づき仮想空間内におけるプレーヤキャラクタの移動情報を演算する移動情報演算部と、
プレーヤキャラクタの移動情報に基づき特別状態発動条件を満たしているか否か判断し、満たしている場合にはプレーヤキャラクタを仮想空間内に設定された特別ポイントに移動させ、特別状態を発動させる特別状態発動部と、
入力情報及びプレーヤキャラクタの移動情報の少なくとも１つに基づき仮想カメラの配置制御を行う仮想カメラ制御部と、
仮想空間を仮想カメラから見た画像を生成する画像生成部と、してコンピュータを機能させ、
前記移動情報演算部は、
入力情報に基づき、プレーヤキャラクタの位置を演算し、
前記特別状態発動部は、
プレーヤキャラクタの位置と仮想空間内の特別ポイントに対応づけて設定されている位置判定条件とに基づきプレーヤキャラクタの位置判定を行い、判定結果に基づきプレーヤキャラクタが特別状態発動条件を満たしているか否か判断し、
前記特別状態発動部は、
特別状態発動中は、物陰に隠れることが可能な場所である特別ポイントにいるプレーヤキャラクタの状態を、入力情報に基づき、物陰に隠れているので攻撃できない状態である隠れ状態と、物陰から体の一部を出して敵に攻撃を行う状態である攻撃状態に切り替え、
仮想カメラ制御部は、
各状態に応じて、プレーヤキャラクタと仮想カメラの距離、プレーヤキャラクタと仮想カメラの位置関係、プレーヤキャラクタに対する仮想カメラの向きの少なくとも1つについて異なる制御を行うことを特徴とするプログラム。
【請求項２】
仮想空間内でプレーヤキャラクタを移動させるゲームの画像を生成するためのプログラムであって、
入力情報に基づき仮想空間内におけるプレーヤキャラクタの移動情報を演算する移動情報演算部と、
プレーヤキャラクタの移動情報に基づき特別状態発動条件を満たしているか否か判断し、満たしている場合にはプレーヤキャラクタを仮想空間内に設定された特別ポイントに移動させ、特別状態を発動させる特別状態発動部と、
入力情報及びプレーヤキャラクタの移動情報の少なくとも１つに基づき仮想カメラの配置制御を行う仮想カメラ制御部と、
仮想空間を仮想カメラから見た画像を生成する画像生成部と、してコンピュータを機能させ、
前記移動情報演算部は、
入力情報に基づき、プレーヤキャラクタの位置及び向きを演算し、
前記特別状態発動部は、
プレーヤキャラクタの位置及び向きと仮想空間内の特別ポイントに対応づけて設定されている位置判定条件及び向き条件とに基づきプレーヤキャラクタの位置判定及び向き判定を行い、判定結果に基づきプレーヤキャラクタが特別状態発動条件を満たしているか否か判断するよう構成され、
入力情報に基づきプレーヤキャラクタの向きが変化して、プレーヤキャラクタの向きが特別状態解除条件を満たした場合にはプレーヤキャラクタの特別状態を解除する特別状態解除制御をおこない、
前記仮想カメラ制御部は、
特別状態発動中にプレーヤの向きを操作する操作入力が行われた場合には、特別状態発動中でない状態に比べ、プレーヤキャラクタに連動する仮想カメラの回転速度を遅くする制御をおこなうプログラム。
【請求項３】
ネットワークで接続された他のゲーム装置又はサーバと接続されたゲーム装置で実行され、仮想空間内でプレーヤキャラクタを移動させるゲームの画像を生成するためのプログラムであって、
入力情報に基づき仮想空間内におけるプレーヤキャラクタの移動情報を演算する移動情報演算部と、
プレーヤキャラクタの移動情報に基づき特別状態発動条件を満たしているか否か判断し、満たしている場合にはプレーヤキャラクタを仮想空間内に設定された特別ポイントに移動させ、特別状態を発動させる特別状態発動部と、
入力情報及びプレーヤキャラクタの移動情報の少なくとも１つに基づき仮想カメラの配置制御を行う仮想カメラ制御部と、
仮想空間を仮想カメラから見た画像を生成する画像生成部と、
前記他のゲーム装置又は前記サーバとゲームデータのやりとりを行うゲームデータ通信処理部と、してコンピュータを機能させ、
前記移動情報演算部は、
入力情報に基づき、プレーヤキャラクタの位置を演算し、
前記特別状態発動部は、
プレーヤキャラクタの位置と仮想空間内の特別ポイントに対応づけて設定されている位置判定条件とに基づきプレーヤキャラクタの位置判定を行い、判定結果に基づきプレーヤキャラクタが特別状態発動条件を満たしているか否か判断し、
前記ゲームデータ通信処理部は、
他のゲーム装置のプレーヤキャラクタの特別状態発動に関する情報を含むゲームデータを受信し、自己のゲーム装置のプレーヤキャラクタの特別状態発動に関する情報を含むゲームデータを送信し、
前記特別状態発動部は、
自己のゲーム装置のプレーヤキャラクタが所与の特別ポイントに対応する特別状態発動条件を満たした時点で、自己のゲーム装置のプレーヤキャラクタを所与の特別ポイントに
移動させ、
自己のゲーム装置のプレーヤキャラクタが特別ポイントに移動した後に、他のゲーム装置のプレーヤキャラクタのゲームデータ特別状態発動に関する情報と、自己のゲーム装置のプレーヤキャラクタのゲームデータ特別状態発動に関する情報とが排他的な関係にあり、自己のプレーヤキャラクタの特別状態発動時期が他機のプレーヤキャラクタよりも後であると判断した場合には、特別ポイントにいる自己のプレーヤキャラクタを、特別ポイント以外の場所に移動させる排他制御を行うプログラム。
【請求項４】
ネットワークで接続された他のゲーム装置又はサーバと接続されたゲーム装置で実行され、仮想空間内でプレーヤキャラクタを移動させるゲームの画像を生成するための画像生成装置であって、
入力情報に基づき仮想空間内におけるプレーヤキャラクタの移動情報を演算する移動情報演算部と、
プレーヤキャラクタの移動情報に基づき特別状態発動条件を満たしているか否か判断し、満たしている場合にはプレーヤキャラクタを仮想空間内に設定された特別ポイントに移動させ、特別状態を発動させる特別状態発動部と、
入力情報及びプレーヤキャラクタの移動情報の少なくとも１つに基づき仮想カメラの配置制御を行う仮想カメラ制御部と、
仮想空間を仮想カメラから見た画像を生成する画像生成部と、
前記他のゲーム装置又は前記サーバとゲームデータのやりとりを行うゲームデータ通信処理部と、を含み、
前記移動情報演算部は、
入力情報に基づき、プレーヤキャラクタの位置を演算し、
前記特別状態発動部は、
プレーヤキャラクタの位置と仮想空間内の特別ポイントに対応づけて設定されている位置判定条件とに基づきプレーヤキャラクタの位置判定を行い、判定結果に基づきプレーヤキャラクタが特別状態発動条件を満たしているか否か判断し、
前記ゲームデータ通信処理部は、
他のゲーム装置のプレーヤキャラクタの特別状態発動に関する情報を含むゲームデータを受信し、自己のゲーム装置のプレーヤキャラクタの特別状態発動に関する情報を含むゲームデータを送信し、
前記特別状態発動部は、
自己のゲーム装置のプレーヤキャラクタが所与の特別ポイントに対応する特別状態発動条件を満たした時点で、自己のゲーム装置のプレーヤキャラクタを所与の特別ポイントに移動させ、
自己のゲーム装置のプレーヤキャラクタが特別ポイントに移動した後に、他のゲーム装置のプレーヤキャラクタのゲームデータ特別状態発動に関する情報と、自己のゲーム装置のプレーヤキャラクタのゲームデータ特別状態発動に関する情報とが排他的な関係にあり、自己のプレーヤキャラクタの特別状態発動時期が他機のプレーヤキャラクタよりも後であると判断した場合には、特別ポイントにいる自己のプレーヤキャラクタを、特別ポイント以外の場所に移動させる排他制御を行う画像生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、及び、画像生成装置に関する。
【背景技術】
【０００２】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成装置（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
例えば、プレーヤが入力部を用いて、オブジェクト空間（３次元空間）において、弾を発射させて敵キャラクタを射撃するシューティングゲームの画像を生成する画像生成装置が存在する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許３５３８２８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このようなシューティングゲームにおいては、プレーヤキャラクタが壁等の物陰に隠れて物陰から攻撃を行うことができるものがあり人気が高い。
【０００６】
またプレーヤの入力操作に基づいてプレーヤキャラクタをゲーム空間内で自由に移動させることができるタイプのゲームシステムも人気が高い。しかしかかるゲームシステムでは、プレーヤキャラクタが入力に従って仮想空間内を自由移動できるので、壁等の物陰に隠れる状況を設定することは難しいという問題があった。
【０００７】
本発明は、以上のような課題を解決するためになされたものである。本発明のいくつかの態様によれば、入力情報により仮想空間でプレーヤキャラクタの自由移動が可能なゲームの画像を生成する画像生成装置において、プレーヤキャラクタがゲーム上有利な特別ポイントに移動し特別ポイントでゲーム行為を楽しめるゲーム状況を設定することができる。
【課題を解決するための手段】
【０００８】
（１）本発明は、
仮想空間内でプレーヤキャラクタを移動させるゲームの画像を生成するためのプログラムであって、
入力情報に基づき仮想空間内におけるプレーヤキャラクタの移動情報を演算する移動情報演算部と、
プレーヤキャラクタの移動情報に基づき特別状態発動条件を満たしているか否か判断し、満たしている場合にはプレーヤキャラクタを仮想空間内に設定された特別ポイントに移動させ、特別状態を発動させる特別状態発動部と、
入力情報及びプレーヤキャラクタの移動情報の少なくとも１つに基づき仮想カメラの配置制御を行う仮想カメラ制御部と、
仮想空間を仮想カメラから見た画像を生成する画像生成部と、してコンピュータを機能させ、
前記移動情報演算部は、
入力情報に基づき、プレーヤキャラクタの位置を演算し、
前記特別状態発動部は、
プレーヤキャラクタの位置と仮想空間内の特別ポイントに対応づけて設定されている位置判定条件とに基づきプレーヤキャラクタの位置判定を行い、判定結果に基づきプレーヤキャラクタが特別状態発動条件を満たしているか否か判断することを特徴とするプログラムに関する。
【０００９】
本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部として、コンピュータを機能させるプログラムを記憶した情報記憶媒体、上記各部を含む画像生成装置に関係する。
【００１０】
特別ポイントは、仮想空間内で戦闘を行う際に有利な位置（例えば敵からの攻撃を受けにくい位置、敵からの攻撃を防御するオブジェクトに囲まれた位置等）でもよい。
【００１１】
特別状態にある（特別ポイントにいる）プレーヤキャラクタは、ゲームの進行において有利な条件を与えられてもよい。
【００１２】
本発明は人称視点の画像が生成される場合（ＦＰＳの場合）と３人称視点の画像が生成される場合（ＴＰＳの場合）のいずれの場合にも適用可能である。またプレーヤキャラクタは、入力情報によって仮想空間内を自由に移動する制御が行われ構成でもよい。仮想カメラはプレーヤキャラクタに追従して移動する構成でもよく、この場合プレーヤキャラクタを移動させるための入力情報に基づき仮想カメラの移動や配置制御が行われてもよい。
【００１３】
入力情報としては、プレーヤキャラクタ（仮想カメラ）の移動方向（例えば前後左右）、移動速度、プレーヤキャラクタ（仮想カメラ）の向き（回転）等を受け付けてもよい。
【００１４】
なおプレーヤからの特別状態発動を指示する操作入力があった場合に、特別状態発動条件を満たすか否か判断するようにしてもよい。すなわちプレーヤからの特別状態発動を指示する操作入力がない場合には、特別状態発動条件を満たしても特別状態に移行させない場合も、本発明の範囲内である。特別状態が発動されると、解除されるまで特別状態発動中の状態となる。
【００１５】
なおプレーヤキャラクタの位置や向きの代わりに仮想カメラの位置や向きを制御する構成である場合や、プレーヤキャラクタの位置や向きと仮想カメラの位置や向きが連動する構成である場合には、仮想空間内の特別ポイントと仮想カメラの位置に基づき位置判定を行い、判定結果に基づきプレーヤキャラクタが特別状態発動条件を満たしているか否か判断してもよい。
【００１６】
本発明によれば、入力情報により仮想空間でプレーヤキャラクタの自由移動が可能なゲームの画像を生成する画像生成装置において、移動体オブジェクトがゲーム上有利な特別ポイントに移動し特別ポイントでゲーム行為を楽しめるゲーム状況を設定することができる。
【００１７】
（２）このプログラム、情報記憶媒体、画像生成装置は、
前記移動情報演算部は、
入力情報に基づき、プレーヤキャラクタの向きを演算し、
前記特別状態発動部は、
プレーヤキャラクタの向きと、仮想空間内の特別ポイントに対応して設定された向き条件に基づきプレーヤキャラクタの向き判定を行い、判定結果に基づきプレーヤキャラクタが特別状態発動条件を満たしているか否か判断してもよい。
【００１８】
（３）このプログラム、情報記憶媒体、画像生成装置は、
前記移動情報演算部は、
入力情報に基づき、プレーヤキャラクタの移動方向を演算し、
前記特別状態発動部は、
プレーヤキャラクタの移動方向と、仮想空間内の特別ポイントに対応して設定された移動方向条件に基づきプレーヤキャラクタの移動方向判定を行い、判定結果に基づきプレーヤキャラクタが特別状態発動条件を満たしているか否か判断してもよい。
【００１９】
（４）このプログラム、情報記憶媒体、画像生成装置は、
前記特別状態発動部は、
特別状態発動中は、ゲーム演算に用いられるパラメータを特別状態発動中でない場合に比べてプレーヤキャラクタに有利な値又は不利な値に設定してもよい。
【００２０】
例えば、特別ポイントにいるプレーヤキャラクタについては、攻撃、防御、ダメージ量、回復、ライフ、命中率等に関するパラメータを通常状態よりもゲーム上有利な値に設定してもよいし、ゲーム上有利な値に設定してもよい。
【００２１】
例えば特別状態発動中にゲーム演算に用いられるパラメータを特別状態発動中でない場合に比べてプレーヤキャラクタに有利な値にすることにより、プレーヤに特別ポイントに移動することに対するモチベーションを与えることができる。
【００２２】
（５）このプログラム、情報記憶媒体、画像生成装置は、
前記特別状態発動部は、
特別状態発動中は、特別ポイントにいるプレーヤキャラクタの状態を、入力情報に基づき隠れ状態と攻撃状態に切り替え、各状態に応じて異なる制御を行ってもよい。
【００２３】
（６）このプログラム、情報記憶媒体、画像生成装置は、
前記移動情報演算部は、
入力情報及び姿勢情報の少なくとも一方に基づき、プレーヤキャラクタの接地の有無又は姿勢を演算し、
前記特別状態発動部は、
プレーヤキャラクタの接地の有無又は姿勢に基づき、特別状態発動条件を満たしているか否か判断してもよい。
【００２４】
入力情報に基づきプレーヤキャラクタの位置座表（Ｘ、Ｙ、Ｚ）を求め、求めた位置座標が地形情報（マップ）に基づき地表面である（空中でない）か否かによって接地の有無を判断してもよい。また入力情報に基づきプレーヤがジャンプ状態等の所定の状態（接地していない状態）である否か判断して接地の有無を判断してもよい。
【００２５】
（７）このプログラム、情報記憶媒体、画像生成装置は、
前記特別状態発動部は、
特別状態発動中に、キャラクタの視界を遮るオブジェクトを半透明で描画するための描画制御情報を生成し、
前記画像生成部は、
前記描画制御情報に基づきプレーヤキャラクタの視界を遮るオブジェクトが半透明表示された仮想空間の画像を生成してもよい。
【００２６】
（８）このプログラム、情報記憶媒体、画像生成装置は、
前記特別状態発動部は、
所定のオブジェクトの存在を示す告知画像が、仮想空間の画像の当該オブジェクトに対応する位置に配置された画像を生成するための画像生成制御情報を生成し、
前記画像生成部は、
前記画像生成制御情報に基づき、仮想空間の画像と告知画像を合成し、告知画像を含む仮想空間の画像を生成してもよい。
【００２７】
仮想空間の画像の当該オブジェクトに対応する位置とは、当該オブジェクトのスクリーン平面上の投影位置に対応して決定された位置でもよい。
【００２８】
（９）このプログラム、情報記憶媒体、画像生成装置は、
前記特別状態発動部は、
仮想空間内の複数の異なる特別ポイントに対してプレーヤキャラクタが特別状態発動条件を満たしている場合には、プレーヤキャラクタと複数の特別ポイントとの距離に基づきプレーヤキャラクタを移動させる特別ポイントを決定してもよい。
【００２９】
例えばプレーヤキャラクタの位置判定を、特別ポイントに対応して設定されたコリジョン（ヒットエリア）とのヒットチェックによって行う場合、複数の特別ポイントに対応して設定されたコリジョン（ヒットエリア）に重複部分が存在し、この重複部分とプレーヤキャラクタの位置がヒットすることがある。この様な場合に、仮想空間内の複数の異なる特別ポイントに対してプレーヤキャラクタが特別状態発動条件を満たしていることになる。
【００３０】
（１０）このプログラム、情報記憶媒体、画像生成装置は、
前記特別状態発動部は、
プレーヤキャラクタの位置が所定時間継続して前記位置条件を満足しているか、及びプレーヤキャラクタの向きが所定時間継続して前記向き条件を満たしているか、及びプレーヤキャラクタの移動方向が所定時間継続して前記移動方向条件を満たしているかの少なくとも１つの判定結果に基づき、プレーヤキャラクタが特別状態発動条件を満たしているか否か判断してもよい。
【００３１】
例えばプレーヤキャラクタの位置判定を、特別ポイントに対応して設定されたヒットエリアとのヒットチェックによって行う場合、ヒット領域に対するヒットの継続時間に基づきプレーヤキャラクタが特別状態発動条件を満たしているか否か判断してもよい。プレーヤキャラクタが特別ポイントに対応して設定されたヒット領域に所定時間の間滞留している場合に特別状態発動条件を満たしていると判断してもよい。
【００３２】
（１１）このプログラム、情報記憶媒体、画像生成装置は、
前記特別状態発動部は、
入力情報に基づきプレーヤキャラクタの位置及び向きの少なくとも１つが変化して、プレーヤキャラクタの位置及び向きの少なくとも１つが特別状態解除条件を満たした場合にはプレーヤキャラクタを特別状態を解除する特別状態解除制御を行ってもよい。
【００３３】
プレーヤキャラクタの位置や向きの代わりに仮想カメラの位置や向きを制御する構成である場合や、プレーヤキャラクタの位置や向きの代わりと仮想カメラの位置や向きが連動する構成である場合には、仮想カメラの位置及び向きの少なくとも１つが特別状態解除条件を満たした場合には、プレーヤキャラクタを特別状態から通常状態に移行させてもよい。
【００３４】
（１２）このプログラム、情報記憶媒体、画像生成装置は、
前記特別状態発動部は、
特別状態が発動されてからの時間及びプレーヤキャラクタの所定のパラメータの少なくとも１つが特別状態解除条件を満たすか否か判断し、満たしていると判断した場合には、プレーヤキャラクタを特別状態を解除する特別状態解除制御をおこなってもよい。
【００３５】
（１３）このプログラム、情報記憶媒体、画像生成装置は、
前記仮想カメラ制御部は、
特別状態発動中にプレーヤの向きを操作する操作入力が行われた場合には、特別状態発動中でない状態に比べ、プレーヤキャラクタに連動する仮想カメラの回転速度を遅くする制御を行ってもよい。
【００３６】
（１４）このプログラムは、
ネットワークで接続された他のゲーム装置又はサーバと接続されたゲーム装置で実行されるプログラムであって、
前記他のゲーム装置又は前記サーバとゲームデータのやりとりを行うゲームデータ通信処理部としてさらにコンピュータを機能させ、
前記ゲームデータ通信処理部は、
他のゲーム装置のプレーヤキャラクタの特別状態発動に関する情報を含むゲームデータを受信し、自己のゲーム装置のプレーヤキャラクタの特別状態発動に関する情報を含むゲームデータを送信し、
前記特別状態発動部は、
自己のゲーム装置のプレーヤキャラクタが所与の特別ポイントに対応する特別状態発動条件を満たした時点で、自己のゲーム装置のプレーヤキャラクタを所与の特別ポイントに移動させ、
自己のゲーム装置のプレーヤキャラクタが特別ポイントに移動した後に、他のゲーム装置のプレーヤキャラクタのゲームデータ特別状態発動に関する情報と、自己のゲーム装置のプレーヤキャラクタのゲームデータ特別状態発動に関する情報とが排他的な関係にあり、自己のプレーヤキャラクタの特別状態発動時期が他機のプレーヤキャラクタよりも後であると判断した場合には、特別ポイントにいる自己のプレーヤキャラクタを、特別ポイント以外の場所に移動させる排他制御を行うプログラムに関する。
【００３７】
またコンピュータ読み取り可能な情報記憶媒体であって、上記各部として、コンピュータを機能させるプログラムを記憶した情報記憶媒体、上記各部を含む画像生成装置に関係する。
【００３８】
特別状態発動に関する情報とは、例えば発動時刻や移動した特別ポイントに関する情報でもよい。
【００３９】
例えば１つの特別ポイントに１体のプレーヤキャラクタしか移動できない設定になっている場合には、同じ特別ポイントに対して複数のゲーム装置で特別状態発動条件を満たしたことを示すゲームデータ同時期に存在する場合には排他的な関係になる。
【００４０】
排他的な関係にあるか否かの判断は、各ゲーム装置で行ってもよいし、ホスト機又はサーバで行い、各ゲーム機は、ホスト機又はサーバから判断結果をうけとってもよい。また排他制御処理自体もホスト機又はサーバで行い、各ゲーム機は処理結果にしたがった出力を行う場合でもよい。
【００４１】
（１５）このプログラム、情報記憶媒体、画像生成装置は、
前記特別状態発動部は、
他のゲーム装置のプレーヤキャラクタと自己のゲーム装置のプレーヤキャラクタが同じ特別ポイントに対する特別状態発動条件を満たした場合又は同じグループに属する特別ポイントに対する特別状態発動条件を満たした場合、又は排他関係の設定されている特別ポイントに対する特別状態発動条件を満たした場合に排他的な関係にあるとして、前記排他制御を行ってもよい。
【００４２】
（１６）このプログラム、情報記憶媒体、画像生成装置は、
前記特別状態発動部は、
他のゲーム装置のプレーヤキャラクタと自己のゲーム装置のプレーヤキャラクタが排他的な関係にあり自己のプレーヤキャラクタの特別状態移行時期が他機のプレーヤキャラクタよりも後である場合には、自己のプレーヤのいる特別ポイント対して設定されている代替えの特別ポイントに、自己のプレーヤキャラクタを移動させ、通常状態から特別状態に移行させてもよい。
【図面の簡単な説明】
【００４３】
【図１】本実施形態の画像生成装置の機能ブロック図。
【図２】特別状態発動条件及び特別状態制御情報について説明するための図。
【図３】特別ポイントに対応づけて記憶されている特別ポイント設定情報について説明するための図。
【図４】本実施の形態の攻撃パターン例を示す図。
【図５】特別攻撃パターンの動作制御について説明するための図。
【図６】仮想空間内に近接して複数の異なる特別ポイントが存在する例を示した図。
【図７】図７（Ａ）（Ｂ）は特別状態のプレーヤキャラクタの動作制御及び仮想カメラの配置制御について説明するための図。
【図８】隠れ状態と攻撃状態の切り替え制御について説明するための図。
【図９】特別状態から通常状態に移行させる場合のプレーヤキャラクタの移動制御について説明するための図。
【図１０】図１０（Ａ）（Ｂ）は、特別状態から通常状態に移行させる場合のプレーヤキャラクタの移動制御について説明するための図。
【図１１】特別状態におけるカメラ旋回範囲の制限について説明するための図。
【図１２】図１２（Ａ）（Ｂ）は、プレーヤキャラクタが攻撃により受けたダメージを軽減する（又は０にする）範囲について説明するための図。
【図１３】図１３（Ａ）（Ｂ）はダメージを０にする攻撃の種類について説明するための図。
【図１４】特別状態において視野範囲外の敵から攻撃を受ける場合について説明するための図。
【図１５】図１５（Ａ）（Ｂ）（Ｃ）は、特別状態（特に隠れ状態）にあるプレーヤキャラクタと壁と敵キャラクタの位置関係を示した図。
【図１６】プレーヤキャラクタや敵キャラクタが存在する仮想空間の一部を表した図。
【図１７】図１７（Ａ）（Ｂ）は、隠れ状態及び攻撃状態にあるプレーヤキャラクタＰＣの様子を示す図。
【図１８】攻撃パターン設定情報を示す図。
【図１９】図１９（Ａ）（Ｂ）は特別状態（特に隠れ状態）における表示制御について説明するための図。
【図２０】図２０（Ａ）（Ｂ）は、オンラインゲームシステムの構成について説明するための図。
【図２１】複数のプレーヤのプレーヤキャラクタが仮想空間に存在している様子を示す図。
【図２２】マルチプレーヤモードの場合のゲームデータの発生と受信タイミングを示すタイムチャート。
【図２３】ゲーム装置間で送受信される通信データについて説明するための図。
【図２４】仮想空間に複数の特別ポイントＴＰ１〜ＴＰ７が設定されている様子を示す図。
【図２５】図２５（Ａ）〜（Ｄ）は、特別状態と通常状態の攻撃開始位置について説明するための図。
【図２６】図２６は、本実施の形態の特別状態移行制御の処理の流れを示すフローチャート。
【発明を実施するための形態】
【００４４】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００４５】
１．構成
図１に本実施形態の画像生成装置（コンピュータ、端末、ゲーム装置）の機能ブロック図の例を示す。なお本実施形態の画像生成装置は図１の構成要素（各部）の一部を省略した構成としてもよい。  入力部１６０は、プレーヤからの入力情報を入力するための機器であり、プレーヤの入力情報を処理部に出力する。本実施形態の入力部１６０は、プレーヤの入力情報（入力信号）を検出する検出部１６２を備える。入力部１６０は、例えば、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイなどがある。
【００４６】
また、入力部１６０は、３軸の加速度を検出する加速度センサや、角速度を検出するジャイロセンサ、撮像部を備えた入力機器でもよい。例えば、入力機器は、プレーヤが把持して動かすものであってもよいし、プレーヤが身につけて動かすものであってもよい。また、入力機器には、プレーヤが把持する刀型コントローラや銃型コントローラ、あるいはプレーヤが身につける（プレーヤが手に装着する）グローブ型コントローラなど実際の道具を模して作られたコントローラも含まれる。また入力機器には、入力機器と一体化されている画像生成装置、携帯型画像生成装置、携帯電話なども含まれる。
【００４７】
検出部１６２は、入力部１６０からの入力情報を検出する処理を行う。例えば、検出部１６２は、入力部１６０の引き金（トリガ）が引かれることによって発生する入力信号を、入力情報（攻撃入力情報）として検出する。例えば、検出部１６２は、入力部１６０から照準（ガンサイト）の位置を指示する入力情報（指示入力情報）を検出する。
【００４８】
例えば、入力部１６０が、液晶ディスプレイと、プレーヤの接触位置を検出するためのタッチパネルとが積層されたタッチパネル型ディスプレイで有る場合には、タッチペンなどの指示入力機器や指先の接触位置情報を入力情報として検出する。
【００４９】
また、入力部１６０が撮像部を備える入力機器である場合には、撮像画像におおける指示位置情報を入力情報として検出する。より具体的に説明すると、撮像部は、赤外線フィルタ、レンズ、撮像素子（イメージセンサ）、画像処理回路を含む。ここで、赤外線フィルタは、入力機器の前方に配置され、表示部１９０に関連付けられて配置されている光源（２つの光源）から入射する光から赤外線のみを通過させる。また、レンズは、赤外線フィルタを透過した赤外線を集光して撮像素子へ出射する。また、撮像素子は、例えば、ＣＭＯＳセンサやＣＣＤのような固体撮像素子であり、レンズが集光した赤外線を撮像して撮像画像を生成する。そして、撮像素子で生成された撮像画像は、画像処理回路で処理される。例えば、撮像部を備える入力機器は、撮像素子から得られた撮像画像を処理して高輝度部分を検知し、撮像画像における光源の位置情報（指示位置情報）を入力情報として検出する。
【００５０】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ、ＶＲＡＭなどにより実現できる。
【００５１】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）を記憶することができる。
【００５２】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００５３】
通信部１９６は外部（例えば他の画像生成装置）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００５４】
なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体１８０や記憶部１７０に記憶してもよい。このようにプログラムやデータを受信して画像生成装置を機能させる場合も本発明の範囲内に含む。
【００５５】
処理部１００（プロセッサ）は、入力部１６０からの入力情報やプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。
【００５６】
この処理部１００は記憶部１７０内の主記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＧＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００５７】
処理部１００は、オブジェクト空間設定部１１０、仮想カメラ制御部１１１、特別状態発動部１１２、演算処理部１１３（攻撃演算部１１３−１、ダメージ演算部１１３−２を含む）、移動・動作処理部１１４、ゲーム演算部１１５、画像生成部（描画部）１２０、音処理部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００５８】
オブジェクト空間設定部１１０は、キャラクタ（敵オブジェクト）の他に、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を、オブジェクト空間に配置設定する処理を行う。
【００５９】
ここでオブジェクト空間とは、仮想的なゲーム空間であり、２次元空間、３次元空間の両方を含む。２次元空間とは、例えば２次元座標（Ｘ，Ｙ）においてオブジェクトが配置される空間であり、３次元空間とは、例えば３次元座標（Ｘ，Ｙ，Ｚ）においてオブジェクトが配置される空間である。
【００６０】
例えば、オブジェクト空間設定部１１０は、オブジェクト空間を３次元空間とした場合には、ワールド座標系にオブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）を配置する。また、例えば、ワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００６１】
特別状態発動部１１２は、プレーヤキャラクタの移動情報に基づき特別状態発動条件を満たしているか否か判断し、満たしている場合にはプレーヤキャラクタを仮想空間内に設定された特別ポイントに移動させ、特別状態を発動させる。
【００６２】
仮想カメラ制御部１１１は、入力情報及びプレーヤキャラクタの移動情報の少なくとも１つに基づき仮想カメラの配置制御を行う。
【００６３】
移動情報演算部（移動・動作処理部１１４）は、入力情報に基づき、プレーヤキャラクタの位置を演算し、特別状態発動部１１２は、プレーヤキャラクタの位置と仮想空間内の特別ポイントに対応づけて設定されている位置判定条件とに基づきプレーヤキャラクタの位置判定を行い、判定結果に基づきプレーヤキャラクタが特別状態発動条件を満たしているか否か判断する。
【００６４】
移動情報演算部（移動・動作処理部１１４）は、入力情報に基づき、プレーヤキャラクタの向きを演算し、特別状態発動部１１２は、プレーヤキャラクタの向きと、仮想空間内の特別ポイントに対応して設定された向き条件に基づきプレーヤキャラクタの向き判定を行い、判定結果に基づきプレーヤキャラクタが特別状態発動条件を満たしているか否か判断してもよい。
【００６５】
移動情報演算部（移動・動作処理部１１４）は、入力情報に基づき、プレーヤキャラクタの移動方向を演算し、特別状態発動部１１２は、プレーヤキャラクタの移動方向と、仮想空間内の特別ポイントに対応して設定された移動方向条件に基づきプレーヤキャラクタの移動方向判定を行い、判定結果に基づきプレーヤキャラクタが特別状態発動条件を満たしているか否か判断してもよい。
【００６６】
特別状態発動部１１２は、特別状態発動中は、ゲーム演算に用いられるパラメータを特別状態発動中でない場合に比べてプレーヤキャラクタに有利な値に設定してもよいし、不利な値に設定してもよい。
【００６７】
特別状態発動部１１２は、特別状態発動中は、特別ポイントにいるプレーヤキャラクタの状態を、入力情報に基づき隠れ状態と攻撃状態に切り替え、各状態に応じて異なる制御を行ってもよい。
【００６８】
攻撃演算部１１３−１は、攻撃開始位置を決定し、攻撃開始位置から攻撃用飛来物の軌道を演算し、通常状態では、プレーヤキャラクタの位置に基づき攻撃開始位置を決定し、特別状態の攻撃可能状態では、仮想カメラの位置に基づき攻撃開始位置を決定してもよい。
【００６９】
またダメージ演算部１１３−２は、攻撃情報に基づきプレーヤキャラクタのダメージを演算し、特別状態発動中もプレーヤキャラクタのヒットチェックは仮想カメラ位置ではなくプレーヤキャラクタの位置で行うようにしてもよい。
【００７０】
移動情報演算部（移動・動作処理部１１４）は、入力情報及び姿勢情報の少なくとも一方に基づき、プレーヤキャラクタの接地の有無又は姿勢を演算し、特別状態発動部１１２は、プレーヤキャラクタの接地の有無又は姿勢に基づき、特別状態発動条件を満たしているか否か判断してもよい。
【００７１】
特別状態発動部１１２は、特別状態発動中に、キャラクタの視界を遮るオブジェクトを半透明で描画するための描画制御情報を生成し、画像生成部１２０は、前記描画制御情報に基づきプレーヤキャラクタの視界を遮るオブジェクトが半透明表示された仮想空間の画像を生成してもよい。
【００７２】
特別状態発動部１１２は、所定のオブジェクトの存在を示す告知画像が、仮想空間の画像の当該オブジェクトに対応する位置に配置された画像を生成するための画像生成制御情報を生成し、画像生成部１２０は、前記画像生成制御情報に基づき、仮想空間の画像と告知画像を合成し、告知画像を含む仮想空間の画像を生成してもよい。
【００７３】
特別状態発動部１１２は、仮想空間内の複数の異なる特別ポイントに対してプレーヤキャラクタが特別状態発動条件を満たしている場合には、プレーヤキャラクタと複数の特別ポイントとの距離に基づきプレーヤキャラクタを移動させる特別ポイントを決定してもよい。
【００７４】
特別状態発動部１１２は、プレーヤキャラクタの位置が所定時間継続して前記位置条件を満足しているか、及びプレーヤキャラクタの向きが所定時間継続して前記向き条件を満たしているか、及びプレーヤキャラクタの移動方向が所定時間継続して前記移動方向条件を満たしているかの少なくとも１つの判定結果に基づき、プレーヤキャラクタが特別状態発動条件を満たしているか否か判断してもよい。
【００７５】
特別状態発動部１１２は、入力情報に基づきプレーヤキャラクタの位置及び向きの少なくとも１つが変化して、プレーヤキャラクタの位置及び向きの少なくとも１つが特別状態解除条件を満たした場合にはプレーヤキャラクタを特別状態を解除する特別状態解除制御を行ってもよい。
【００７６】
特別状態発動部１１２は、特別状態が発動されてからの時間及びプレーヤキャラクタの所定のパラメータの少なくとも１つが特別状態解除条件を満たすか否か判断し、満たしていると判断した場合には、プレーヤキャラクタを特別状態を解除する特別状態解除制御を行ってもよい。
【００７７】
仮想カメラ制御部１１１は、特別状態発動中にプレーヤの向きを操作する操作入力が行われた場合には、特別状態発動中でない状態に比べ、プレーヤキャラクタに連動する仮想カメラの回転速度を遅くする制御を行ってもよい。
【００７８】
通信部１９６は、他のゲーム装置又は前記サーバとゲームデータのやりとりを行うゲームデータ通信処理部として機能し、他のゲーム装置のプレーヤキャラクタの特別状態発動に関する情報を含むゲームデータを受信し、自己のゲーム装置のプレーヤキャラクタの特別状態発動に関する情報を含むゲームデータを送信してもよい。
【００７９】
特別状態発動部１１２は、自己のゲーム装置のプレーヤキャラクタが所与の特別ポイントに対応する特別状態発動条件を満たした時点で、自己のゲーム装置のプレーヤキャラクタを所与の特別ポイントに移動させ、自己のゲーム装置のプレーヤキャラクタが特別ポイントに移動した後に、他のゲーム装置のプレーヤキャラクタのゲームデータ特別状態発動に関する情報と、自己のゲーム装置のプレーヤキャラクタのゲームデータ特別状態発動に関する情報とが排他的な関係にあり、自己のプレーヤキャラクタの特別状態発動時期が他機のプレーヤキャラクタよりも後であると判断した場合には、特別ポイントにいる自己のプレーヤキャラクタを、特別ポイント以外の場所に移動させてもよい。
【００８０】
特別状態発動部１１２は、他のゲーム装置のプレーヤキャラクタと自己のゲーム装置のプレーヤキャラクタが同じ特別ポイントに対する特別状態発動条件を満たした場合又は同じグループに属する特別ポイントに対する特別状態発動条件を満たした場合、又は排他関係の設定されている特別ポイントに対する特別状態発動条件を満たした場合に排他的な関係にあるとして、前記排他制御を行ってもよい。
【００８１】
特別状態発動部１１２は、他のゲーム装置のプレーヤキャラクタと自己のゲーム装置のプレーヤキャラクタが排他的な関係にあり自己のプレーヤキャラクタの特別状態移行時期が他機のプレーヤキャラクタよりも後である場合には、自己のプレーヤのいる特別ポイント対して設定されている代替えの特別ポイントに、自己のプレーヤキャラクタを移動させ、通常状態から特別状態に移行させてもよい。
【００８２】
移動・動作処理部１１４は、オブジェクト空間において、オブジェクトを移動・動作させる処理を行う。すなわち入力部１６０から入力された入力情報や、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、移動速度、加速度、移動量、移動方向などの移動パラメータ）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（例えば、１／６０秒）毎に順次求める処理を行う。なおフレームは、オブジェクトの移動・動作処理や画像生成処理を行う時間の単位である。
【００８３】
移動・動作処理部１１４は、入力情報に基づき仮想空間内におけるプレーヤキャラクタの移動情報を演算する移動情報演算部として機能する。
【００８４】
ゲーム演算部１１５は、種々のゲーム処理を行う。例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム終了条件が満たされた場合にゲームを終了する処理、最終ステージをクリアした場合にはエンディングを進行させる処理などがある。
【００８５】
また、ゲーム演算部１１５は、プレーヤキャラクタの所与のパラメータ（体力値）が所定値（０）に達したか否かを判断する処理を行い、プレーヤキャラクタの所与のパラメータ（体力値）が所定値（０）に達した場合に、ゲーム終了と判定する処理を行う。
【００８６】
画像生成部１２０は、処理部１００で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。画像生成部１２０が生成する画像は、いわゆる２次元画像であってもよいし、いわゆる３次元画像であってもよい。
【００８７】
２次元画像を生成する場合には、例えば、オブジェクト（スプライト）毎に優先度を設定し、設定された優先度が低いオブジェクトから順に描画する。オブジェクト同士が重なる場合には、優先度が低いオブジェクトの上に、優先度の高いオブジェクトを描画する。
【００８８】
いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂
等を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００８９】
頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換（カメラ座標変換）、クリッピング処理、透視変換（投影変換）、ビューポート変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。
【００９０】
そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、ピクセルデータ、ボクセルデータなどの画素データ（色（ＲＧＢ）、α値、Ｚ値、輝度等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を生成することができる。
【００９１】
また仮想カメラ制御部１１０は、特別状態発動中は、プレーヤキャラクタと仮想カメラの距離、プレーヤキャラクタと仮想カメラの位置関係、プレーヤキャラクタに対する仮想カメラの向き、仮想カメラの画角の少なくとも１つを特別状態発動中でないときと異なる設定にしてもよい。
【００９２】
また仮想カメラ制御部１１０は、前記攻撃状態では、プレーヤキャラクタと仮想カメラの距離、プレーヤキャラクタと仮想カメラの位置関係、プレーヤキャラクタに対する仮想カメラの向き、仮想カメラの画角の少なくとも１つを隠れ状態のときと異なる設定にしてもよい。
【００９３】
また仮想カメラ制御部１１０は、特別状態又は特別状態における攻撃状態においては、プレーヤキャラクタの属性、姿勢、動作制御に使用するモーションの種類、アイテムの種類の少なくとも１つに基づき、プレーヤキャラクタと仮想カメラの距離、プレーヤキャラクタと仮想カメラの位置関係、プレーヤキャラクタに対する仮想カメラの向き、仮想カメラの画角の少なくとも１つを変更してもよい。
【００９４】
仮想カメラ制御部１１０は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、３次元の画像を生成する場合には、ワールド座標系における仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（例えば、Ｘ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を制御する処理を行う。要するに、視点位置、視線方向、画角を制御する処理を行う。また、仮想カメラ制御部１１０は、仮想カメラを、予め決められた回転角度で回転させてもよい。この場合には、仮想カメラの位置又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００９５】
本実施形態では、プレーヤキャラクタの視点（一人称視点）に基づいて画像を生成するＦＰＳ（First Person Shooting）でもよいし、画面に主人公が登場して、これをユーザが操作するタイプのＴＰＳ（Third Person Shooting）でもよい。また、本実施形態では、仮想カメラの移動、向き、画角はプログラム又は入力部１６０の入力情報に基づいて仮想カメラの移動、向き、画角を制御される。
【００９６】
例えば仮想カメラによりオブジェクト（例えば、プレーヤキャラクタ）を後方から撮影する場合には、オブジェクトの位置、向きの変化に仮想カメラが追従するように、仮想カメラの位置、仮想カメラの向きを制御する。この場合には、移動・動作処理部１１４で得られたオブジェクトの位置、向き又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた向きに設定したり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は向きを特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００９７】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００９８】
そして画像生成部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００９９】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、記憶部１７０に保存される。
【０１００】
テクスチャマッピングは、記憶部１７０に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【０１０１】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照する。そして参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【０１０２】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。  なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【０１０３】
音処理部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【０１０４】
なお、本実施形態の画像生成装置は、１人のプレーヤのみがプレイできるシングルプレーヤモード用の装置にしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードを備える装置にしてもよい。
【０１０５】
例えば、図２２に示すように、マルチプレーヤモードの場合には、プレーヤそれぞれの入力部１６０−１、１６０−２を用意し、各入力部１６０−１、１６０−２が指示する照準位置に基づいて敵キャラクタ等のヒット処理を行う。また、本実施形態では、マルチプレーヤモードの場合には、複数のプレーヤに提供するデータ、表示出力用画像、演算処理用画像、ゲーム音を、１つの画像生成装置を用いて生成している。なお、画像生成装置が他の画像生成装置とネットワークを介して入力情報などのデータを送受信し、受信したデータと入力部１６０からの入力情報とに基づいて、画像生成処理を行うようにしてもよい。
【０１０６】
２．本実施の形態の手法 
（１）特別ポイント
図１６は、プレーヤキャラクタや敵キャラクタが存在する仮想空間の一部を表した図である。仮想空間２９０は都会の地形を模して設定されており、プレーヤキャラクタＣＰが通行可能な道路２９２が設定され道路２９２以外の部分には建物等の静止オブジェクト２９４（斜線部分）が配置されプレーヤキャラクタは通行できないように構成されている。プレーヤは、操作部に設けられた方向指示入力画可能なレバーやボタン等を操作することにより、仮想空間内に設けられた道路２９０上でプレーヤキャラクタＰＣを自由に移動させることができる。
【０１０７】
仮想空間２９０のマップ上には、あらかじめ指定された少なくとも１つの特別ポイントＴＰ１、ＴＰ２、ＴＰ３、・・・が存在する。特別ポイントＴＰ１、ＴＰ２、ＴＰ３、・・・は、仮想空間内でゲーム上有利な場所であり、例えば壁や建物や木や車や岩等の防御壁オブジェクト２６６−１、２９６−２、２９６−３の陰に当たる位置に設定され、敵からの攻撃を受けにくい場所となっていてもよい。
【０１０８】
本実施の形態では、プレーヤキャラクタＰＣの移動情報に基づき、プレーヤキャラクタＰＣが特別状態発動条件を満たしているか否か判断し、満たしている場合にはプレーヤキャラクタＰＣを通常状態から特別状態に移行させ、仮想空間内に設定された特別ポイントに移動させる。
【０１０９】
例えば仮想空間２９０のマップ上にあらかじめ指定された特別ポイント付近のエリア２９８−１、２９８−２、２９８−３にプレーヤキャラクタＰＣがいる場合に、プレーヤが特定の操作入力を行う（特別状態発動入力を行う）と、プレーヤキャラクタＰＣは特別状態に移行するようにしてもよい。特別状態になると、プレーヤキャラクタＰＣは特別ポイントＴＰ１、ＴＰ２、ＴＰ３、・・・に自動的に（移動用の入力によらずに）移動し、簡単な操作で、「物陰等から出て攻撃」⇔「物陰等に隠れる」が行え、防御力や攻撃力が高まった状態になる。
【０１１０】
（２）特別ポイント設定情報
本実施の形態では、特別ポイントに対応づけて特別状態発動条件及び特別状態における制御情報を特別ポイント設定情報として記憶している。図２は、特別状態発動条件及び特別状態制御情報について説明するための図であり、図３は、特別ポイントに対応づけて記憶されている特別ポイント設定情報について説明するための図である。
【０１１１】
特別ポイント設定情報３１０として、仮想空間に設定された特別ポイントを特定するための情報である特別ポイント識別ＩＤ３１１に対応づけて、特別状態発動条件（コリジョン情報３１２、向き条件３１３、優先順位３１７）や特別状態制御情報（特別状態位置情報３１４、特別状態向き情報３１５、攻撃パターン情報３１６）等のパラメータが設定されている。例えば特別ポイントに関連づけて上記パラメータを記憶するパラメータテーブルを用意しておいてもよい。
【０１１２】
コリジョン情報３１２は、特別状態発動条件を満たしているか否かの判断を行うために特別ポイント２１４に対応づけられたプレーヤキャラクタの位置判定用のコリジョン（２次元の判定領域でもよいし、3次元の判定ボックスでもよい）２１０を特定するための情報である。例えば２次元の判定領域や3次元の判定ボックスの頂点やポリゴン情報でもよいし、これらが記憶されている領域へのアクセス情報（アドレスやコリジョン識別情報でもよい）でもよい。このコリジョン２１０にプレーヤキャラクタが接触していないと特別状態に移行することはできない。例えば図１６の特別ポイント付近のエリア２９８−１、２９８−２、２９８−３の２をコリジョンとして設定してもよい。
【０１１３】
向き条件３１３は、特別状態発動条件を満たしているか否かの判断を行うために特別ポイントＴＰに対応づけられたプレーヤキャラクタの向きを判定するための条件（向きの許容範囲２２０）を示す情報である。例えばプレーヤキャラクタのＸＺ平面上の向きの許容範囲２２０を設定してもよい。許容範囲２２０の両端のｖａベクトル、ｖｂベクトルを定義してもよい。特別状態発動入力が行なわれたときにプレーヤキャラクタの向き（ＸＺ方向の向き）がこの許容範囲２２０内にない場合には特別状態発動条件を満たさず特別状態に移行することはできない。また本実施の形態では特別状態においてもプレーヤの入力によってプレーヤキャラクタの向き（仮想カメラの向き）を変更できるが、プレーヤキャラクタの向き（仮想カメラの向き）がこの許容範囲を超えたら特別状態を解除するようにしてもよい。プレーヤキャラクタの向きと仮想カメラの向きどちらか片方を入力して他方は連動する構成でもよいし、個別に入力により制御可能な構成でもよい。
【０１１４】
特別ポイント位置情報３１４は、特別状態に移行したプレーヤキャラクタを移動させる位置特別ポイントの位置座標である。
【０１１５】
特別状態向き情報３１５は、特別状態に移動してすぐの状態のプレーヤキャラクタ（仮想カメラ）の向き（上下方向もある3次元のベクトルの向きや方向）である。プレーヤキャラクタの向きを３軸方向の回転で表したものでもよい。
【０１１６】
例えば図１６の特別ポイントＴＰ３は、防御壁オブジェクト２９６−３の陰に設定されており、プレーヤキャラクタＣＰが防御壁オブジェクト２９６−３の陰に隠れて、防御壁オブジェクト２９６−３の向こう側にいる敵キャラクタＥＣを攻撃する戦闘が予定されている。特別ポイントＴＰ３では、敵のいることが予測される方向（壁の方向）２６２を特別状態におけるプレーヤキャラクタＰＣの特別状態向き情報３５０として設定してもよい。
【０１１７】
攻撃パターン識別情報３１６は、特別ポイントにおけるプレーヤキャラクタの攻撃パターンを特定する情報である。本実施の形態では特別ポイントによって異なる攻撃パターンが用意されている。図４は、本実施の形態の攻撃パターン例を示す図である。本実施の形態ではバライティに富んだ攻撃パターンを楽しめるように、複数の異なる攻撃パターンａｐ１〜ａｐ５を用意し、特別ポイントに対応づけられている攻撃パターンを使用している。
【０１１８】
特別ポイントにいるプレーヤキャラクタは、入力情報に基づき、隠れ状態（物陰に隠れているので攻撃できない状態）と攻撃状態（物陰から体の一部をだして敵に攻撃を行う状態）に切り替えられる。例えば攻撃入力が行われている時は攻撃状態となり、攻撃入力がない時は隠れ状態にしてもよい。
【０１１９】
特別ポイントにいるプレーヤキャラクタは、プレーヤからの攻撃入力（ガンシューティングにおける弾の発射入力等）がなされてない間は隠れ状態で、攻撃入力が行われると、プレーヤキャラクタが体の一部を物陰から出して攻撃を行う攻撃状態に切り替わるようにしてもよい。この様にすることにより、物陰に隠れて敵を攻撃するという、ドラマのようなシューティングの醍醐味をあじわうことができる。
【０１２０】
図１７（Ａ）の４２０−１は、プレーヤキャラクタＰＣの身長よりも高い壁４３０の陰である特別ポイントＴＰ１において隠れ状態にあるプレーヤキャラクタＰＣの様子を示し、図１７（Ａ）の４２０−２は特別ポイントＴＰ１において攻撃状態にあるプレーヤキャラクタＰＣの様子を示している。
【０１２１】
当該特別ポイントＴＰ１には攻撃パターンａｐ１が対応づけられており、攻撃パターンａｐ１に従って、隠れ状態４２０−１では、プレーヤキャラクタＰＣが立った状態で壁４３０の後ろに隠れている動作（「立ち隠れ」）を行わせ、攻撃状態４２０−２では、プレーヤキャラクタＰＣが立った状態で右半身を壁４３０から出して攻撃を行う動作（「立ち右攻撃」）を行わせる。すなわち特別ポイントＴＰ１では、プレーヤキャラクタＰＣに対し、攻撃入力がない状態（隠れ状態）では立った状態で壁４３０の後ろに隠れている「立ち隠れ」モーションを実行し、弾の発射入力が行われると立った状態でプレーヤキャラクタの右半身を壁４３０から出して攻撃を行う「立ち右攻撃」のモーションを実行することにより実現することができる。
【０１２２】
図１７（Ｂ）の４４０−１は、プレーヤキャラクタＰＣの身長よりも低い壁４５０の陰である特別ポイントＴＰ３において隠れ状態にあるプレーヤキャラクタＰＣの様子を示し、図１７（Ｂ）の４４０−２は、特別ポイントＴＰ３において攻撃状態にあるプレーヤキャラクタＰＣの様子を示している。
【０１２３】
当該特別ポイントＴＰ３には攻撃パターンａｐ３が対応づけられており、攻撃パターンａｐ３に従って、隠れ状態４４０−１では、プレーヤキャラクタＰＣがしゃがんだ状態で壁４５０の後ろに隠れている動作（「しゃがみ隠れ」）を行わせ、攻撃状態４４０−２では、プレーヤキャラクタＰＣが立った状態で右半身を壁４３０から出して攻撃を行う動作（「立ち攻撃」）を行わせる。すなわち特別ポイントＴＰ３では、プレーヤキャラクタＰＣに対し、攻撃入力がない状態（隠れ状態）ではしゃがんだ状態で壁４５０の後ろに隠れている「しゃがみ隠れ」モーションを実行し、弾の発射入力が行われると立った状態でプレーヤキャラクタの上半身を壁４５０から出して攻撃を行う「立ち攻撃」のモーションを実行することにより実現することができる。
【０１２４】
優先順位３１７は、複数の特別ポイントのコリジョンが重複しており、プレーヤキャラクタが複数の特別ポイントに対して同時に特別状態発動条件を満たした場合の優先度設定に関する情報である。優先度を示す数値等を格納し、数値の大小に応じて、いずれかの特別ポイントを優先的に選択するようにしてもよい。
【０１２５】
（３）攻撃パターンの設定値
図１８は攻撃パターン設定情報を示す図である。図１８に示すように攻撃パターンの制御を行うための各種設定値であるモーションパターン３２２、仮想カメラの位置情報（隠れ状態）３３４、仮想カメラの位置情報（攻撃状態）３３６、仮想カメラの向き情報（隠れ状態）３３８、仮想カメラの向き情報（攻撃状態）３４０を攻撃パターン設定情報として、攻撃パターン識別情報３１６に対応づけて記憶させてもよい。
【０１２６】
モーションパターン３２２は、攻撃パターンと１対１に対応するもので、図４の攻撃パターンａｐ１〜ａｐ５に対応するモーションパターンのモーションデータを特定する情報である。特別ポイントにいるプレーヤキャラクタの動作は、特別ポイントの座標を基準としてモーションパターンが示すモーションデータを再生することで実現することができる。特別状態ではプレーヤキャラクタのワールド座標系における位置は特別ポイントの位置で固定され、モーションによってプレーヤキャラクタのローカル座標系における位置が変化することで仮想空間内の移動が行われる。
【０１２７】
攻撃パターンａｐ１は「立ち隠れ」（隠れ状態）と「立ち右攻撃」（攻撃状態）の動作を切り替えて行う攻撃パターンであり、攻撃パターンａｐ１の動作を実現するために「立ち隠れ」動作を実現するための「立ち隠れ」モーションと「立ち右攻撃」動作を実現するための「立ち右攻撃」のモーションが用意されている。他の攻撃パターンａｐ２〜ａｐ５についても同様に、それぞれの隠れ状態の動作を実現するためのモーションとそれぞれの攻撃状態の動作を実現するためのモーションが用意されている。
【０１２８】
図５は特別攻撃パターンの動作制御について説明するための図である。
【０１２９】
特別ポイントにおけるプレーヤキャラクタＰＣの状態は、攻撃入力によって隠れ状態４６０と攻撃状態４６２に切り替えられる。それぞれの状態におけるプレーヤキャラクタＰＣの動作は、当該特別ポイントに対応して設定されている攻撃パターン設定情報のモーションパターンに対応するモーションデータによって実現される。
【０１３０】
特別状態においてプレーヤキャラクタＣＰをモーションさせる場合は、特別ポイントＴＰでプレーヤキャラクタＣＰのみモーションする形になる。
【０１３１】
図５に示すように隠れ状態４６０の仮想カメラ４９０の位置ＫＰ−ｈは、敵を見えやすくするために、特別状態のプレーヤキャラクタの位置（特別ポイント）ＴＰとは別に持つ。なお通常状態では仮想カメラ４９０の位置ＫＰ−ｈはプレーヤキャラクタの位置と同じでもよいし、一定間隔話して追従させてもよい。
【０１３２】
特別状態の攻撃状態と隠れ状態では、プレーヤキャラクタと仮想カメラの距離、プレーヤキャラクタと仮想カメラの位置関係、プレーヤキャラクタに対する仮想カメラの向き、仮想カメラの画角の少なくとも１つが異なるので、隠れ状態のカメラ位置情報３３４と、攻撃状態のカメラ位置情報３３６を持たせてもよい。
【０１３３】
隠れ状態４６０の仮想カメラ４８０の位置ＫＰ−ｈは、隠れ状態４６０の仮想カメラ基準位置となるものであり、プレーヤキャラクタの位置（特別ポイント）ＴＰからの差分であたえてもよい。例えばプレーヤキャラクタＣＰの位置（特別ポイント）を原点とするローカル座標系における座標値であたえてもよい。
【０１３４】
攻撃状態４６２の仮想カメラ４８０の位置ＫＰ−ａは、攻撃状態４６２の仮想カメラ基準位置となるものであり、プレーヤキャラクタの位置（特別ポイント）からの差分であたえてもよい。例えばプレーヤキャラクタＣＰの位置（特別ポイント）ＴＰを原点とするローカル座標系における座標値であたえてもよい。
【０１３５】
仮想カメラの速度情報（隠れ状態）３３８は、隠れ状態から攻撃状態へ切り替え時の仮想カメラ変化時の速度のパターンである。
【０１３６】
仮想カメラの速度情報（攻撃状態）３４０は、攻撃状態から隠れ状態への切り替え時の仮想カメラ変化時の速度のパターンである。
【０１３７】
（４）特別状態移行制御
本実施の形態ではプレーヤキャラクタの特別状態発動条件として、プレーヤキャラクタの位置がいずれかの特別ポイントのコリジョンに接触していること、プレーヤの向きがコリジョンが接触している特別ポイントに設定されている向き条件を満たしていること、プレーヤが接地していることを要求している。接地の有無はプレーヤキャラクタの位置や姿勢に基づき判断してもよい。例えばプレーヤキャラクタの位置座標（ｘｐ、ｙｐ、ｚｐ）と同じＸＺ値を有するマップのＹ座標値ｙｍとを比較してｙｐ＞ｙｍであれば接地していないと判断してもよい。またプレーヤキャラクタの姿勢データの判定によって、ジャンプ状態やしゃがみ状態や歩き状態や静止状態等を判断し、ジャンプ状態でない場合には接地していると判断してもよい。
【０１３８】
なおプレーヤキャラクタの移動方向を用いて、仮想空間内の特別ポイントに対応して設定された移動方向条件を満たしていることを特別状態発動条件にしてもよい。この場合には、特別方向設定条件として、特別ポイントに関連づけて、方向条件を設定しておいてもよい。
【０１３９】
図６は仮想空間内に近接して複数の異なる特別ポイントが存在する例を示した図である。特別ポイントＴＰ−ａ、ＴＰ−ｂにはそれぞれコリジョンｃ−ａ、ｃ−ｂと、向きの許容範囲（向き条件）ｄ−ａ、ｄ−ｂが設定されている。同図に示すようにコリジョンｃ−ａ、ｃ−ｂは一部重複した領域２５０を有している。この様な場合にプレーヤキャラクタＰＣの位置２６０が、前記の重複した領域にあり、 プレーヤキャラクタＰＣの向き２５２が、特別ポイントＴＰ−ａ、ＴＰ−ｂの向きの許容範囲（向き条件）ｄ−ａ、ｄ−ｂに含まれる場合には、プレーヤキャラクタＰＣは２つの特別ポイントＴＰ−ａ、ＴＰ−ｂに対して特別状態発動条件を満たした状態となる。
【０１４０】
このような場合には、プレーヤキャラクタＰＣの位置２５０と特別ポイントＴＰ−ａ、ＴＰ−ｂとの距離ｌ−ａ、ｌ−ｂに基づき移動させる特別ポイントを決定してもよい。例えばｌ−ａ＞ｌ−ｂであるので、プレーヤキャラクタＰＣの位置２５０からの距離が短い特別ポイントＴＢ−ｂに移動させて特別状態に移行してもよい。
【０１４１】
また各特別ポイントには優先順位情報（図３の３１７参照）が対応づけられているので、対応づけられている優先順位が高いほうの特別ポイントに移動させてもよい。
【０１４２】
（５）特別状態における仮想カメラの制御
図７（Ａ）（Ｂ）は特別状態のプレーヤキャラクタの動作制御及び仮想カメラの配置制御について説明するための図である。図７（Ａ）は、通常状態（特別ポイントに移動する前）におけるプレーヤキャラクタＰＣの位置３５０と仮想カメラ４８０の位置関係を示しており、図７（Ｂ）は、特別ポイントＴＰにおいて隠れ状態（プレーヤキャラクタが攻撃を行っていない状態）にあるプレーヤキャラクタＰＣと仮想カメラ４８０の位置関係を示している。
【０１４３】
プレーヤキャラクタが特別状態発動条件を満たした場合には、仮想カメラ４８０をプログラムで特別ポイントＴＰに方向転換する。そして仮想カメラ４８０を特別状態カメラ位置（当該特別ポイントの攻撃パターンに対応して設定されている仮想カメラの位置情報（隠れ状態）（図１７の３３４参照）に設定されている位置）ＫＰ−ｈに、所定の時間（特別ポイント移動時間として設定しておいてもよい）で移動させ、所定の向き（例えば図２で説明したプレーヤキャラクタの向き、図３の特別状態向き情報３１５として設定されている向きでもよい）に向ける。
【０１４４】
同様にプレーヤキャラクタＰＣも、プログラムで特別ポイントに方向転換する。そしてプレーヤキャラクタＰＣを特別ポイントＴＰに、所定の時間（特別ポイント移動時間として設定しておいてもよい）で移動させ、所定の向き（例えば図２で説明したプレーヤキャラクタの向き、図３の特別状態向き情報３１５として設定されている向きでもよい）に向ける。このときのプレーヤキャラクタのモーションは、そのときのモーションから隠れ状態になるモーション（当該特別ポイントの攻撃パターンの隠れ状態のモーションへのつなぎモーション）を再生する。
【０１４５】
図８は、隠れ状態と攻撃状態の切り替え制御について説明するための図である。
【０１４６】
プレーヤキャラクタＰＣが特別状態の隠れ状態４６０にあるときには、仮想カメラ４８０は隠れ状態における仮想カメラ位置ＫＰ−ｈ（図１８の３３４に基づき決定される仮想カメラ位置）に位置づけられる。特別状態の防御状態の時のプレーヤキャラクタに対する仮想カメラ４８０の相対位置は、通常状態のときとおなじでもよいし、異なってもよい。
【０１４７】
プレーヤキャラクタＰＣが特別状態の隠れ状態４６０にあるときに、「攻撃状態」への移行を指示する操作入力（例えばガンシューティングにおける発射入力でもよい）が行われると、プレーヤキャラクタＰＣが攻撃状態になるとともに、仮想カメラ４８０も攻撃状態における仮想カメラ位置ＫＰ−ａ（図１８の３３６に基づき決定される仮想カメラ位置）に移動する。
【０１４８】
図８に示すように、攻撃状態においては、隠れ状態や通常状態に比べてプレーヤキャラクタと仮想カメラの距離、プレーヤキャラクタと仮想カメラの位置関係、プレーヤキャラクタに対する仮想カメラの向き等が異なっている。
【０１４９】
さらに攻撃可能状態においては、プレーヤキャラクタのアイテムの種類、属性、姿勢、動作制御に使用するモーションの種類の少なくとも１つに基づき、プレーヤキャラクタと仮想カメラの距離、プレーヤキャラクタと仮想カメラの位置関係、プレーヤキャラクタに対する仮想カメラの向き、仮想カメラの画角の少なくとも１つを変更するようにしてもよい。このようにすることにより、特別状態において、武器の種類、プレーヤの姿勢、属性（大きさ）、モーションに応じて最適な攻撃画像を提供することができる。
【０１５０】
隠れ状態から攻撃状態に切り替わっても、ワールド座標系におけるプレーヤキャラクタＰＣの位置座標は、特別ポイントに固定されている。攻撃状態に移行するモーションが再生されるのみであり、プレーヤキャラクタの実際の位置はモーション移動量の範囲で動くのみである。
【０１５１】
このように隠れ状態と攻撃状態の切り替えが行われるときに、プレーヤキャラクタＰＣはモーションによって動かされ（モーションで移動を伴う動きが規定されていればその分移動する）、仮想カメラ４８０はプレーヤキャラクタＰＣのモーションとは別個に動かされる。隠れ状態と攻撃状態の切り替えが行われるときに、仮想カメラの移動量とプレーヤキャラクタの移動量は異なるが、動き（移動）のスピードは同じにする。
【０１５２】
プレーヤキャラクタＰＣが特別状態の攻撃状態４６２にあるときに、隠れ入力（例えば隠れることを指示する入力でもよいし、ガンシューティングにおける発射入力が続けてなされない場合に行われる攻撃終了判定でもよい）が行われると、プレーヤキャラクタＰＣが隠れ状態になるとともに、仮想カメラ４８０やプレーヤキャラクタＰＣのモーションも、隠れ状態から攻撃状態への切り替え時と逆になる。切り替え中の状態は隠れ状態として扱う。
【０１５３】
なおプレーヤキャラクタＰＣの向きを特別状態向き情報（図３の３１５参照）で指定された向きにあわせるのは、特別状態発動動作のとき（特別ポイント移行時）のみで、特別状態における状態切り替えでは、向きあわせは行なわない。
【０１５４】
しかしプレーヤキャラクタＰＣをモーション再生で動かす場合、移動量の誤差で少しづつずれることが予想されるので、隠れ状態になった場合に、ワールド座標系におけるプレーヤキャラクタＰＣの位置座標を特別ポイントになるようにリセットしてもよい。
【０１５５】
図２５（Ａ）〜（Ｄ）は、特別状態と通常状態の攻撃開始位置について説明するための図である。
【０１５６】
一人称視点のゲームでは、仮想カメラ４８０の位置はプレーヤキャラクタの顔付近に設定される。本実施の形態でもプレーヤキャラクタが通常状態の時は、図２５（Ａ）に示すように、プレーヤキャラクタの顔付近の位置ＫＰ−ｕに仮想カメラ４８０が設定される。      
【０１５７】
ところが特別状態（特に攻撃状態）の時は、仮想カメラ４８０は、プレーヤキャラクタの顔付近ではなく、プレーヤキャラクタからやや離れた位置（攻撃状態における仮想カメラ位置ＫＰ−ａ（図１８の３３６に基づき決定される仮想カメラ位置））に設定される。特別状態でも攻撃状態にある時は、プレーヤキャラクタは敵を攻撃するためのガンシューティングを行うが、特別状態ではプレーヤキャラクタの前に壁４３０の視界を遮るオブジェクトが存在するため、通常状態と同じようにプレーヤキャラクタの顔付近に仮想カメラを配置したのでは、視界が遮られて敵が見えにくいためである。
【０１５８】
ここでプレーヤキャラクタが銃から弾を発射して敵キャラクタを攻撃する場合について考えると、一般には攻撃開始位置をプレーヤキャラクタの位置を基準に設定し弾等の攻撃用飛来物（例えば弾や弓や爆弾）の軌道を演算する。すなわち図２５（Ｃ）に示すようにプレーヤキャラクタＰＣの位置に基づき設定された攻撃開始位置４５２（ＸＺは同じで高さは適宜設定）からレイ４５０を飛ばして攻撃演算（ヒットチェック等）を行う。
【０１５９】
ところが、本実施の形態の特別状態の攻撃状態においてそれを行うと、図２５（Ｄ）に示すように、レイ４５０が壁に遮られて弾が敵に届かない事態が生じる可能性がある。先に述べたように本実施の形態では特別状態の攻撃状態では仮想カメラ４８０はプレーヤキャラクタＰＣから離れた仮想カメラ配置位置ＫＰ−ａに配置されているため、画面上では敵が見えて壁４３０には遮られていない状態となっている。しかしプレーヤが画面上の見え方の感覚に従って弾を発射したにもかかわらず、弾が壁４３０に遮られてしまうという、プレーヤの感覚を反映しない結果になり、違和感を与えてしまうことになる。
【０１６０】
そこで本実施の形態では、特別状態の攻撃状態では、図２５（Ｄ）に示すように仮想カメラ４８０の位置ＫＰ−ａに基づき設定された攻撃開始位置４５２’（ＸＺは同じで高さは適宜設定）からレイ４５０’を飛ばして攻撃演算（ヒットチェック等）を行う。
【０１６１】
この様にすることにより、特別状態の攻撃可能状態において、仮想カメラの位置に基づき攻撃開始位置を決定することで、攻撃開始位置（銃口等）も仮想カメラと同様、射線が通る位置までずらすことができる。従って特別状態の攻撃可能状態のように仮想カメラがプレーヤキャラクタから離れた位置に設定される場合にも、発射した弾が自分が隠れている壁等に当たってしまい、敵に当たらない（画面で見える感覚床となる）という状態を発生させずにプレーヤに違和感を感じさせない攻撃を実現することができる。
【０１６２】
なお、攻撃情報に基づきプレーヤキャラクタのダメージを演算する場合には、（1人称視点の攻撃可能状態においても）、プレーヤキャラクタのヒットチェックはカメラ位置ではなくプレーヤキャラクタの位置で行う。攻撃状態においてはカメラ位置と、プレーヤキャラクタの位置が離れているが、そのような場合でもプレーヤキャラクタの位置でヒットチェックを行うことにより、プレーヤキャラクタを攻撃を受けにくい位置におくことができる。
【０１６３】
（６）特別状態のパラメータ制御
プレーヤキャラクタが特別ポイントにいる場合、ゲーム演算に用いられるパラメータを通常状態よりもプレーヤキャラクタに有利な値に設定してもよい。ゲーム演算に用いられるパラメータとは、プレーヤキャラクタに対応して設定されているパラメータ（攻撃、防御、ダメージ量、回復、ライフ、命中率等に関するパラメータ）でもよいし、敵キャラクタに対応して設定されているパラメータ（攻撃、防御、ダメージ量、回復、ライフ、命中率等に関するパラメータ）でもよい。
【０１６４】
例えばプレーヤキャラクタに対応して設定されているダメージ量パラメータが、プレーヤキャラクタがヒット時に受けるダメージに応じて設定されるものであるとすれば、通常状態ではヒットによりダメージ１００が設定されるところ、特別状態ではダメージ０を設定すると、通常状態より有利な値に設定されたこととなる。
【０１６５】
また例えば敵キャラクタに対応して設定されている命中率パラメータが敵の攻撃の命中率を規定するものであれば、プレーヤキャラクタが特別ポイントにいる時に敵キャラクタの命中率パラメータを通常状態より命中率が低くなるように設定すると、プレーヤキャラクタにとって、通常状態より有利な値に設定されたことになる。
【０１６６】
この様にゲーム演算に用いられるパラメータがプレーヤキャラクタにとって通常状態よりもゲーム上有利な値に設定されている場合には、プレーヤキャラクタは、通常状態であればヒットする攻撃をうけてもヒットしなかったり、ヒットしてもダメージが与えられなかったり、通常状態よりも受けるダメージ量が軽減されたりする。
【０１６７】
図１２（Ａ）（Ｂ）は、プレーヤキャラクタが攻撃により受けたダメージを軽減する（又は０にする）範囲について説明するための図である。
【０１６８】
特別状態の隠れ状態ではプレーヤキャラクタは、前方からの攻撃に対してダメージを受けないものとする。敵からの攻撃は行われるが、プレーヤキャラクタにヒットしてもダメージを０とする制御を行う。特別状態の攻撃状態では、通常状態と同じダメージ処理（攻撃がヒットしたら規定量のダメージを与える）を行う。
【０１６９】
本実施の形態では、特別状態発動時の特別ポイントにおける方向５２０（図２の２４２、図３の特別状態向き情報３１５で設定された方向）を基準とする所定の範囲５２２からの攻撃についてダメージ０とする。特別状態発動時の特別ポイントにおける方向はプレーヤキャラクタが向いている方向とおなじではない。特別状態発動時はプレーヤキャラクタの向きは特別ポイントの発動時の方向に設定されるが、その後プレーヤの操作によりプレーヤキャラクタの向きが変化する可能性があるからである。この所定の範囲５２２は、特別ポイント毎に異なる範囲でもよいし、すべての特別ポイントで共通の値（基準方向に対する許容角度θｒ、θｌを共通の値）にしてもよい。
【０１７０】
攻撃の方向が所定の範囲５２２に入るか否かは、図１２（Ｂ）に示すように攻撃時の弾道５３−１、５３０−２、５３０−３、５３０−４が所定の範囲５２２に会っているか否かで判断してもよい。弾道５３０−１、５３０−２、５３０−３は所定の範囲５２２に入っているので、これらの弾道についてはヒットしてもダメージを０とする。弾道５３９−４については、所定の範囲５２２に入っていないので、ヒットによるダメージを０とせず、規定されているダメージをプレーヤキャラクタに与える。
【０１７１】
図１３（Ａ）（Ｂ）はダメージを０にする攻撃の種類について説明するための図である。
【０１７２】
図１３（Ａ）の５３２はピストルの弾等の即着系の弾道（レイ）を示しており、５３４はミサイル等の実弾系のレイを示している。ダメージを０にするのは、レイを用いた着弾判定（レイチェック）を行っている即着系と実弾系に限る。レイとは、弾道や視線等の軌道を示す線（直線や曲線）であり、レイチェックとはレイとのヒットを演算するヒットチェックのことである。
【０１７３】
図１３（Ｂ）は、地雷のように予めいずれかの場所（爆発位置）５４０にセットされている爆弾等の爆発系で与えるダメージについて説明するための図である。爆発系では爆発位置５４０から半径ｒの所定範囲（爆発影響範囲５４２）内に爆発の影響を及ぼす（ダメージを与える）。この様な爆発系では爆発時にプレーヤキャラクタ（仮想カメラ４８０）が爆発影響範囲５４２内にあれば、ダメージを受ける。また格闘のように近接して行う近接攻撃系はヒット判定でプレーヤに攻撃がヒットすれば、通常どおりのダメージを受けるようにする。
【０１７４】
尚、ミサイルのような実弾系でもヒット後、爆発５４４が発生することがあるが、この爆発については爆発系と同じように爆発影響範囲５３６を設定して、爆発影響範囲５３６に含まれればダメージを与えるようにする。
【０１７５】
図１４は、特別状態において視野範囲外の敵から攻撃を受ける場合について説明するための図である。図１４に示すようにプレーヤキャラクタ（仮想カメラ４８０）の視野範囲５５０外にいる敵キャラクタ５６０、５６２が、実弾系の弾５３４、即着系の弾５３２を発射した場合、その弾の「攻撃（弾１発）がユニットに与える基本ダメージ値」のパラメータを０とすることで実現することもできる。
【０１７６】
尚、実弾系のヒットによるダメージは０とするが、それによって爆発５３４が発生する場合は、従来通り爆発ダメージは受けるものとする。
【０１７７】
（７）特別状態における表示制御
図１５（Ａ）（Ｂ）（Ｃ）は、特別状態（特に隠れ状態）にあるプレーヤキャラクタと壁と敵キャラクタのＸＺ平面上に置ける位置関係、ＹＺ平面上に置ける位置関係を示している。図１５（Ａ）（Ｂ）に示すように、プレーヤキャラクタＰＣと敵キャラクタＥＣの間には壁６１０が存在する場合、一人称視点の画像では、図１５（Ｃ）に示すように、敵キャラクタＥＣは壁６１０に隠れて見えなくなってしまう。
【０１７８】
図１９（Ａ）（Ｂ）は特別状態（特に隠れ状態）における表示制御について説明するための図である。
【０１７９】
図１９（Ａ）に示すように、特別状態（特に隠れ状態）では、プレーヤキャラクタの視界を遮るオブジェクト（ここでは壁オブジェクト６１０）を半透明で表示してもよい。この様にすると壁の向こうの敵オブジェクトＥＣを見ることができるので、特別状態における攻撃がしやすくなる。
【０１８０】
特別状態において半透明にするオブジェクト６１０は、予め指定しておいてもよい。たとえば地形モデルを作成する際に、特別ポイントの周りにある静止オブジェクトでプレーヤの視界を遮る可能性の高いオブジェクトをピックアップして、特別ポイントに対応して登録しておいてもよい。そしてプレーヤキャラクタが特別状態になると、特別ポイントに対応して登録されている静止オブジェクトを半透明表示にする表示制御をおこなってもよい。またプレーヤの視線方向や視野範囲と周囲のオブジェクトとの位置関係から特別ポイントにいるプレーヤキャラクタの視界を遮るオブジェクトをリアルタイムに演算して判断してもよい。この様にすると特別状態でも敵が確認できるので、プレーヤは特別状態における攻撃を楽しむことができる。なおこの半透明表示は、特別状態の隠れ状態の時のみ行い、おこなうようにしてもよい。
【０１８１】
また図１９（Ｂ）に示すように、仮想空間の画像６２０に敵キャラクタＥＣオブジェクトの存在を示す告知画像６３０を合成して表示してもよい。当該告知画像６３０の仮想空間の画像に対する配置位置は、敵オブジェクトＥＣのスクリーン平面上の投影位置に基づき決定してもよい。
【０１８２】
敵キャラクタＥＣを示す告知画像は、例えば当該オブジェクトの輪郭画像でもよいし、当該オブジェクトに対応するマーク画像でもよいし、当該オブジェクトのライフゲージ画像でもよい。  
【０１８３】
（８）特別状態の解除
プレーヤの操作によって特別状態は解除される。例えば、入力情報に基づきプレーヤキャラクタ（仮想カメラ）の位置及び向きの少なくとも１つが変化して、プレーヤキャラクタ（仮想カメラ）の位置及び向きの少なくとも１つが特別状態解除条件を満たした場合には、プレーヤキャラクタを特別状態から通常状態に移行させてもよい。
【０１８４】
プレーヤキャラクタの位置や向きの代わりに仮想カメラの位置や向きを制御する構成である場合や、プレーヤキャラクタの位置や向きの代わりと仮想カメラの位置や向きが連動する構成である場合には、仮想カメラの位置及び向きの少なくとも１つが特別状態継続条件を満たさなくなった場合には、プレーヤキャラクタを特別状態から通常状態に移行させてもよい。
【０１８５】
またプレーヤキャラクタが特別状態に移行してからの時間及びプレーヤキャラクタの所定のパラメータの少なくとも１つに基づき特別状態解除条件を満たすか否か判断し、満たしている判断した場合には、プレーヤキャラクタを特別状態から通常状態に移行させてもよい。
【０１８６】
図９は、特別状態から通常状態に移行させる場合のプレーヤキャラクタの移動制御について説明するための図である。
【０１８７】
特別状態５００においては、プレーヤキャラクタＣＰのワールド座標系の位置は特別ポイントＴＰであるが、モーションによって特別ポイントＴＰからすこし離れているとし、仮想カメラ４８０は特別状態カメラ位置（当該特別ポイントの攻撃パターンに対応して設定されている仮想カメラの位置情報（隠れ状態））ＫＰに設定されている。
【０１８８】
このとき特別状態が解除されると５１０に示すように、プレーヤキャラクタＣＰは仮想カメラの位置ＫＰの真下の位置ＫＰ’まで移動する。すなわち特別状態が解除されるとプレーヤキャラクタの位置は、特別ポイントＴＰではなく、仮想カメラの位置ＫＰに合わせて移動する。
【０１８９】
このようにすることにより、特別状態から通常状態へ戻るときの仮想カメラの切り替え制御をスムーズに行うことができる。
【０１９０】
図１０（Ａ）（Ｂ）は、特別状態から通常状態に移行させる場合のプレーヤキャラクタの移動制御について説明するための図である。
【０１９１】
図１０Ａ）に示すように、特別状態５００でプレーヤキャラクタＰＣが「立ち隠れ」状態である場合には、通常状態５１０でもそのまま「立ち状態」に移行する。
【０１９２】
図１０（Ｂ）に示すように、特別状態５００でプレーヤキャラクタＰＣが「しゃがみ隠れ」の場合は、通常状態５１０では「しゃがみ状態」から「立ち状態」に移行させる。
【０１９３】
図１１は、特別状態におけるカメラ旋回範囲の制限について説明するための図である。
【０１９４】
本実施の形態ではプレーヤキャラクタが特別ポイントにいるときも、プレーヤは操作部からの入力により、プレーヤキャラクタ（仮想カメラ）の向きを操作することができる。
【０１９５】
プレーヤキャラクタ（仮想カメラ４８０）の向きが、向き条件（特別状態移行を判断する際の向き条件３１３）で設定されている許容範囲５１０（図２の２２０と同じでもよい）を超えた場合、特別状態を解除するが、通常状態と同じようにプレーヤキャラクタ（仮想カメラ４８０）の向きを制御していたのでは、許容範囲５１０の限界に達しているのがわからない。そこで特別状態においてプレーヤキャラクタ（仮想カメラ）の向きを変更する操作入力が行われた場合には、通常状態において操作入力が行われた場合に比べ、カメラの回転速度を遅くする制御をおこなうようにしてもよい。
【０１９６】
また仮想カメラ４８０の向きが予め設定された所定の範囲を超えた場合又は、超えそうな場合には仮想カメラ４８０の回転速度を遅くして、仮想カメラ４８０の向きを動かしにくくしてもよい。
【０１９７】
この様にすることによりプレーヤに特別状態解除条件にあたるほど仮想カメラ４８０の向きを変化させようとしていることを知らせることができる。そして仮想カメラ４８０の向きが急激に変化するのを防ぐことができる
【０１９８】
（９）オンラインゲームの制御
本実施の形態は、ネットワークで接続された他のゲーム装置又は他のゲーム装置が接続されたサーバとゲームデータのやりとりを行うオンラインゲームを行うこともできる。
【０１９９】
図２０（Ａ）（Ｂ）は、オンラインゲームシステムの構成について説明するための図である。例えば図２０（Ａ）に示すように、複数のゲーム装置ＧＭ１〜ＧＭ６をピアツーピア方式で接続して、他のゲーム装置とゲームデータの送受信をおこない、各ゲーム装置ＧＭ１〜ＧＭ６が自機のゲームデータと受信した他のゲーム装置のゲームデータに基づきゲーム演算を行う構成でもよい。
【０２００】
ゲーム装置ＧＭ１〜ＧＭ６は、他のゲーム装置との間でブルートゥース（Bluetooth）等を用いた電波によるワイヤレス通信を行ってもよい。
【０２０１】
ネットワークを構成する各ゲーム装置ＧＭ１〜ＧＭ６無線ＬＡＮ機能を備え、IEE E 802.11規格（例えば、IEEE 802.11b）に準拠している場合には、ブロードキャスト方式、ユニキャスト方式、あるいはマルチキャスト方式によるパケット通信（データ通信）によって、グループの他のゲーム装置へゲームデータの送受信を行ってもよい。対戦相手が特定できる場合にはユニキャスト方式で送信するようにしてもよい。
【０２０２】
ユニキャスト（Unicast）方式とは、自機の通信可能範囲内で、単一のネットワークアドレスを指定して特定の相手（ノード）にデータ（データを含むパケット）を送信する通信方式であって、マルチキャスト（Multicast）方式とは、自機の通信可能範囲内で、複数の相手（ノード）のネットワークアドレスを指定して同じデータ（データを含むパケット）を送信する通信方式である。
【０２０３】
また例えば図２０（Ｂ）に示すように、複数のゲーム装置ＧＭ１〜ＧＭ６とサーバ６５０がネットワーク６６０を介して接続され、サーバ６５０を介してゲームデータのやりとり行う構成でもよい。
【０２０４】
各ゲーム装置ＧＭ１のゲームデータ通信処理部は、ネットワーク６６０で接続された他のゲーム装置又は他のゲーム装置が接続されたサーバ６５０とゲームデータのやりとりを行う。
【０２０５】
オンラインゲームでは複数のプレーヤのプレーヤキャラクタが仮想空間に存在しているので、例えば図２１に示すように、第１のプレーヤのプレーヤキャラクタＰＣ１と第２のプレーヤのプレーヤキャラクタＰＣ２が、特別ポイントＴＰ１の近くにいる場合に、いずれもが特別ポイントＴＰに対する特別状態発動条件を満たすことがある（例えばいずれも特別ポイントに対応するコリジョン２１０に接している場合等）。しかし特別ポイントＴＰ１に位置できるプレーヤキャラクタは１体であるので、この様な場合には、先に特別状態発動条件を満たしたほうが特別ポイントＴＰ１に移動できる。
【０２０６】
例えば第１のプレーヤのプレーヤキャラクタＰＣ２が、先に特別状態発動条件を満たした場合には、第１のプレーヤのプレーヤキャラクタＰＣ１が特別ポイントＴＰ１に移動でき、第２のプレーヤキャラクタは特別ポイントＴＰ１に移動できない。
【０２０７】
このように特別ポイントに位置できるプレーヤキャラクタを１体にする排他制御を行うためには、他機のゲームデータ（例えば他機のプレーヤキャラクタが特別ポイントＴＰ１に対して特別状態発動条件を満たしたというゲームデータ）が必要になる。
【０２０８】
ところがオンラインでゲームを行う場合には、自機のゲームデータ（例えば自機のプレーヤキャラクタが特別ポイントＴＰ１に対して特別状態発動条件を満たしたというゲームデータ）は遅延なしに受け取れるが、他機の自機のゲームデータ（例えば他機のプレーヤキャラクタが特別ポイントＴＰ１に対して特別状態発動条件を満たしたというゲームデータ）は、ネットワーク経由で受信するため、通信遅延が生じる。例えば通信遅延がα秒であるとすると他機のゲームデータを取得できるのがα秒後となる。
【０２０９】
従って他のゲーム装置のゲームデータを反映した排他制御を行うと、第１のプレーヤキャラクタＰＣ１はα秒後まで特別ポイントへ移動することができないことになり、プレーヤの操作感覚とずれが生じてしまう。
【０２１０】
そこで本実施の形態では、自機のゲームデータが自機のプレーヤキャラクタの特別ポイントＴＰ１に対する特別状態発動条件を満たしている場合には、その時点で一旦特別ポイントに移動させる。他のゲーム装置でも同じ処理を行うので、先に説明したように第１のプレーヤのプレーヤキャラクタＰＣ１と第２のプレーヤのプレーヤキャラクタＰＣ２が、ほぼ時を同じくして特別状態発動条件を満たした場合には、両方のゲーム装置でそれそれ自機のプレーヤキャラクタを特別ポイントＴＰ１に移動させる処理が行われる。
【０２１１】
従って図２１のような場合には、第１のプレーヤキャラクタと第２のプレーヤキャラクタが一旦両方とも特別ポイントに移動することになる。そして、排他制御のための判断ができるようになった時点で（オンラインゲームに参加している複数のプレーヤの所与の時点におけるデータがそろった時点）で排他制御のための調停処理が行われる。
【０２１２】
調停処理は、各端末において「プレーヤキャラクタが特別ポイントＴＰ１に対する特別以降条件を満たしたというイベント」の発生時刻を比較して、発生時刻の遅い方のプレーヤキャラクタを当該特別ポイント以外の場所に移動させる処理を行う。
【０２１３】
図２３は、ゲーム装置間で送受信される通信データについて説明するための図である。通信データ７００は、ゲームデータ７３０と、当該ゲームデータを生成したゲーム装置ＩＤ７１０、当該ゲームデータの発生時刻７２０を含む。ゲームデータ７３０は、ゲーム結果としての画像生成や音生成や成績データ生成に必要な情報であり、各ゲーム装置がゲーム演算を行うために必要な情報（例えば入力情報やイベント情報）でもよいし、いずれかのゲーム装置やサーバで行われたゲーム演算の結果発生した情報（位置情報やヒット情報や成績情報やパラメータ情報）でもよい。
【０２１４】
図２２は、オンラインゲームにおけるゲームデータの発生と送受信について説明するための図である。第１のゲーム装置ＧＭ１（第１のプレーヤキャラクタＰＣ１）と第２のゲーム装置ＧＭ２（第２のプレーヤキャラクタＰＣ２）がオンラインゲームを行っている場合に、時刻ｔ１において、第１のゲーム装置ＧＭ１（第１のプレーヤキャラクタＰＣ１）で、ゲームデータａ１（第１のプレーヤキャラクタＰＣ１が、特別ポイントＴＰ１に対して特別状態発動条件を満たしたことを示すゲームデータ）が発生し、時刻ｔ２（ｔ１＜ｔ２）において、第２のゲーム装置ＧＭ２（第２のプレーヤキャラクタＰＣ２）で、ゲームデータｂ１（第２のプレーヤキャラクタＰＣ２が、特別ポイントＴＰに対して特別状態発動条件を満たしたことを示すゲームデータ）が発生したとする。
【０２１５】
ここで通信遅延がαである場合、時刻ｔ１に第１のゲーム装置ＧＭ１でゲームデータａ１が発生し、対応するゲームデータａ１’が他の端末に送信されると、第２のゲーム装置ＧＭ２がゲームデータａ１’をうけとるのが時刻ｔ３となる。同様に時刻ｔ２に第２のゲーム装置ＧＭ２でゲームデータｂ１が発生し、対応するゲームデータｂ１’が他の端末に送信されると、第１のゲーム装置ＧＭ２がゲームデータｂ１’をうけとるのが時刻ｔ４となる。
【０２１６】
各ゲーム装置がそれそれ自機のゲームデータ及び他機から受信したゲームデータに基づき、同じアルゴリズムで別個にゲーム演算を行っている場合、時刻ｔ１において第１のゲーム装置ＧＭ１では、自機で発生したゲームデータａ１に基づいて、第１のプレーヤキャラクタＰＣ１を特別ポイントＴＰに移動させる制御が行なわれる。そして時刻ｔ２において第２のゲーム装置ＧＭ２では、自機で発生したゲームデータｂ１に基づいて、第２のプレーヤキャラクタＰＣ２を特別ポイントＴＰに移動させる制御を行う。
【０２１７】
そして時刻ｔ３において第２のゲーム装置ＧＭ２ではゲームデータａ１’を受け取る。ゲームデータａ１’はゲーム装置ＧＭ１で時刻ｔ１に第１のプレーヤキャラクタＰＣ１が特別ポイントＴＰに対して特別状態発動条件を満たしたというイベント（ｅｖ１）が発生したこと示している。一方、自機で発生したゲームデータｂ１は、ゲーム装置ＧＭ１で時刻ｔ２に第２のプレーヤキャラクタＰＣ２が特別ポイントＴＰに対して特別状態発動条件を満たしたというイベント（ｅｖ２）が発生したこと示している。イベントｅｖ１とイベントｅｖ２は、同時に成立できない排他的なイベントであるため調整制御が必要となる。この場合イベントｅｖ１の発生時刻がイベントｅｖ２の発生時刻より早いので、イベントｅｖ１を優先する調整制御（例えば後のイベントをキャンセルする制御等）が行われる。調整制御として、ゲーム装置ＧＭ２では、時刻ｔ３において、自機のプレーヤキャラクタである第２のプレーヤキャラクタを特別ポイントから他の場所へ移動させる制御が行われる。この様に第１のプレーヤキャラクタＰＣ１と第２のプレーヤキャラクタＰＣ２は、それぞれが特別状態発動条件を満たした時点で、一旦特別ポイントＴＰに移動するが、後に入った第２のプレーヤＰＣ２は、その後特別ポイントから追い出され、先に入った第１のプレーヤキャラクタが特別ポイントＴＰにのこる画像が生成される。
【０２１８】
この様にすると、通信によるデータ遅延に関わらず特別ポイントへのスムーズな移動が実現でき、プレーヤの操作感覚にマッチしたゲームを提供することができる。
【０２１９】
なお排他関係にあるか否かの判断は他のゲーム装置のプレーヤキャラクタの特別状態移行情報と、自己のゲーム装置のプレーヤキャラクタの特別状態移行情報とに基づき各ゲーム機で個別に行ってもよいし、排他関係にあるか否かの判断はホスト機又はサーバで行い、各ゲーム機は、ホスト機又はサーバから排他チェック結果をうけとってもよい。
【０２２０】
上記実施の形態はオンラインゲームにおいて、各特別ポイント単位で排他制御を行う場合について説明したが、複数の特別ポイントをグループ化して、グループ単位に排他制御を行うようにしてもよい。
【０２２１】
図２４は仮想空間に複数の特別ポイントＴＰ１〜ＴＰ７が設定されている様子を示している。
【０２２２】
ここで特別ポイントＴＰ１〜ＴＰ３は排他制御の対象となる特別ポイントを規定する第１のグループに属している。第１のグループに属する特別ポイントは排他制御の対象となるため、所与の時点で、第１のグループ内の特別ポイントはいずれか１つのみしかプレーヤキャラクタを移動させることができない。例えば第１のプレーヤキャラクタＰＣ１が第１のグループに属する特別ポイントＴＰ１に対して特別状態発動条件を満たした場合、第１のグループに属する特別ポイントＴＰ１〜ＴＰ３のいずれにも他のプレーヤキャラクタがいない場合に、特別ポイントＴＰ１に移動することができる。例えば第１のグループに属する特別ポイントＴＰ２に既に他のプレーヤキャラクタがいる場合には、第１のプレーヤキャラクタＰＣ１は特別ポイントＴＰ１に移動することができない。
【０２２３】
例えば近接して存在する複数の特別ポイントを排他制御の対象としてグループ化しておいてもよい。特別ポイントにいるプレーヤは攻撃状態と隠れ状態を切り替えて攻撃動作を行う。具体的には壁等の隙間から体の一部を出したり隠れたりして攻撃防御動作を行うため、近接する特別ポイントに複数のプレーヤキャラクタが存在すると、いずれかのプレーヤキャラクタの攻撃防御動作が他のレーヤキャラクタの攻撃防御動作のじゃまになる可能性がある。従ってそのような可能性のある特別ポイント（例えば一定距離以内に存在する特別ポイント）を排他制御の対象としてグループ化しておいてもよい。
【０２２４】
また特別ポイントＴＰ４〜ＴＰ７は代替え制御の対象となる特別ポイントを規定する第２のグループに属している。第２のグループに属する特別ポイントは代替え制御の対象となる。すなわちプレーヤキャラクタＰＣ１が、所与の時点で、第２のグループ内の特別ポイントＴＰ４に対して特別状態発動条件を満たしたが、その特別ポイントＴＰ４には既に他のプレーヤキャラクタがいる場合には、第２のグループに属する他の特別ポイント（プレーヤキャラクタのいない特別ポイント）にプレーヤキャラクタＰＣ１を移動させることができる。
【０２２５】
例えば近接して存在する複数の特別ポイントを代替え制御の対象としてグループ化しておいてもよい。この様にすると、グループ内の所与の特別ポイントに対して複数のプレーヤキャラクタが特別状態発動条件を満たした場合に、移行時期の早いプレーヤキャラクタを当該所与の特別ポイントに移動させ、移行時期の遅いプレーヤキャラクタをグループ内の他の特別ポイントに移動させてもよい。
【０２２６】
３．本実施の形態の処理
図２６は、本実施の形態の特別状態移行制御の処理の流れを示すフローチャートである。特別状態発動入力あった場合には以下の処理を行う（ステップＳ１０）。プレーヤキャラクタの位置と接触するコリションを有する特別ポイントがあるか否か判定し（ステップＳ２０）、ある場合には、プレーヤキャラクタの向きが対象特別ポイントに設定されている向き条件を満たすか判定する（ステップＳ３０）。向き条件を満たす場合には、プレーヤキャラクタは接地しているか否か判定する（ステップＳ４０）。接地している場合には、プレーヤキャラクタを特別状態に移行させるとともに、対象の特別ポイントに移動させ、対象の特別ポイントに設定されている向き情報の向きに配置する（ステップＳ５０）。
【０２２７】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０２２８】
上記実施の形態では、ゲーム装置が撮影装置である場合を例にとり説明したがこれに限られない。例えばゲーム装置は、業務用ゲームシステム、家庭用ゲームシステム、携帯型ゲームシステム等のいずれのタイプでも構成可能であり、ゲームの種類もシューティングゲームやレースゲームやロールプレイングゲームやパズルゲーム等の種々のゲームシステムに適用できる。
【符号の説明】
【０２２９】
１００  処理部、１１０  オブジェクト空間設定部、１１１  仮想カメラ制御部、１１２  特別状態発動部、１１３  演算処理部、
１１３−１  攻撃演算部、１１３−２  ダメージ演算部、
１１４  移動・動作処理部、１１５  ゲーム演算部、
１２０  画像生成部、１３０  音処理部、
１６０  入力部、１６２  検出部、１８０  情報記憶媒体、１９０  表示部、
１７０  記憶部、１７２  主記憶部、
１９２  音出力部、１９６  通信部
【図１】
0005597869.tif 000002
【図２】
0005597869.tif 000003
【図３】
0005597869.tif 000004
【図４】
0005597869.tif 000005
【図５】
0005597869.tif 000006
【図６】
0005597869.tif 000007
【図７】
0005597869.tif 000008
【図８】
0005597869.tif 000009
【図９】
0005597869.tif 000010
【図１０】
0005597869.tif 000011
【図１１】
0005597869.tif 000012
【図１２】
0005597869.tif 000013
【図１３】
0005597869.tif 000014
【図１４】
0005597869.tif 000015
【図１７】
0005597869.tif 000016
【図１８】
0005597869.tif 000017
【図２２】
0005597869.tif 000018
【図２３】
0005597869.tif 000019
【図２４】
0005597869.tif 000020
【図２５】
0005597869.tif 000021
【図２６】
0005597869.tif 000022
【図１５】
0005597869.tif 000023
【図１６】
0005597869.tif 000024
【図１９】
0005597869.tif 000025
【図２０】
0005597869.tif 000026
【図２１】
0005597869.tif 000027