(57)【要約】      （修正有）【課題】マルチプレーヤ対戦ゲームにおいて、他のプレーヤ同士が対戦しやすい状況を設定可能な所定のコマンドを提供するプログラム、情報記憶媒体、ゲーム機を提供する。【解決手段】複数のゲーム機に対する入力情報を含むゲーム情報に基づき、仮想３次元空間に存在する複数のキャラクタオブジェクトの対戦演算を行う対戦演算部と、仮想３次元空間を仮想カメラから見たゲーム画像を生成する画像生成部と、対戦演算部は、所与のキャラクタオブジェクト及び所与のキャラクタオブジェクトのアクション対象のキャラクタオブジェクト以外のキャラクタオブジェクトを所与のキャラクタオブジェクトの二次的アクション対象として、二次的アクション対象のキャラクタオブジェクトの位置に基づき目標位置を決定し、アクション対象のキャラクタオブジェクトを目標位置まで移動させる処理を行うコマンド処理部を含む。【選択図】図１８
2012120755.tif 000002
【特許請求の範囲】
【請求項１】
複数のゲーム機がネットワークを介して対戦ゲームを行うためのプログラムであって、
複数のゲーム機に対する入力情報を含むゲーム情報に基づき、仮想３次元空間に存在する複数のキャラクタオブジェクトの対戦演算を行う対戦演算部と、
前記仮想３次元空間を仮想カメラから見たゲーム画像を生成する画像生成部と、してコンピュータを機能させ、
前記対戦演算部は、
所与のキャラクタオブジェクトに対して入力された所定のコマンドを実行する場合に、所与のキャラクタオブジェクト及び所与のキャラクタオブジェクトのアクション対象のキャラクタオブジェクト以外のキャラクタオブジェクトを所与のキャラクタオブジェクトの二次的アクション対象として、当該二次的アクション対象のキャラクタオブジェクトの位置に基づき目標位置を決定し、前記アクション対象のキャラクタオブジェクトを前記目標位置まで移動させる処理を行うコマンド処理部を含むプログラム。
【請求項２】
請求項１において、
前記コマンド処理部は、
前記所与のキャラクタオブジェクトがプレーヤキャラクタとして設定されたゲーム機からの入力情報に基づき、前記所与のキャラクタオブジェクトの前記アクション対象となるキャラクタオブジェクト及び前記所与のキャラクタオブジェクトの前記二次的アクション対象となるキャラクタオブジェクトを決定する処理を行うプログラム。
【請求項３】
請求項１又は２において、
前記対戦演算部は、
所与のキャラクタオブジェクトがプレーヤキャラクタとして設定されたゲーム機に入力されるアクション対象入力情報に基づき、前記所与のキャラクタオブジェクトのアクション対象となるキャラクタオブジェクトを設定するアクション対象設定部を含み、
前記コマンド処理部は、
前記所与のキャラクタオブジェクトがプレーヤキャラクタとして設定されたゲーム機から前記所定のコマンド又は他のコマンドが入力された場合、前記所与のキャラクタオブジェクトの前記アクション対象として設定されているキャラクタオブジェクトをターゲットとして前記所定のコマンド又は他のコマンド実行し、
前記アクション対象設定部は、
前記所定のコマンドが実行された場合には、前記所与のキャラクタオブジェクトの前記アクション対象となっているキャラクタオブジェクトのアクション対象を、前記所与のキャラクタオブジェクトの前記二次的アクション対象となっているキャラクタオブジェクトに変更する処理を行うプログラム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記コマンド処理部は、
前記所定のコマンドを実行する場合、前記アクション対象のキャラクタオブジェクトの位置と前記目標位置に基づき前記アクション対象のキャラクタオブジェクトの移動経路を演算し、移動経路上に障害物となるオブジェクトがあるか否か判定する処理を行うプログラム。
【請求項５】
請求項４において、
前記コマンド処理部は、
障害物となるオブジェクトがあると判断した場合には、前記移動経路を変更する移動経路変更処理を行うプログラム。
【請求項６】
請求項４又は５において、
前記コマンド処理部は、
前記移動経路上に障害物となるオブジェクトがあると判断した場合であって、前記障害物となるオブジェクトが破壊又は消滅可能な属性を有している場合には、前記アクション対象のキャラクタオブジェクトを前記移動経路に従って移動させるとともに、前記障害物となるオブジェクトを破壊又は消滅させる処理を行うプログラム。
【請求項７】
請求項１乃至６のいずれかにおいて、
所与のキャラクタオブジェクトが他のキャラクタオブジェクトのアクション対象となっている場合には、当該所与のキャラクタオブジェクトをアクション対象としている他のキャラクタオブジェクトを告知する敵告知画像の表示制御を行う敵告知画像表示制御部と、してコンピュータを機能させることを特徴とするプログラム。
【請求項８】
請求項７において、
前記敵告知画像表示制御部は、
前記敵告知画像として、キャラクタオブジェクトとそのアクション対象のキャラクタオブジェクトとをつなぐ線を含むライン画像の表示制御を行うプログラム。
【請求項９】
請求項１乃至８のいずれかにおいて、
所与のキャラクタオブジェクトがアクション対象のキャラクタオブジェクトに対して、所定のコマンドで規定された動作を実行する場合、前記目標位置に基づき、所与のキャラクタオブジェクトのモーション補正を行うモーション補正処理部としてコンピュータを機能させるプログラム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記画像生成部は、
所与のキャラクタオブジェクトが前記アクション対象のキャラクタオブジェクトに対して所定のコマンドを実行する場合、所与のキャラクタオブジェクトとそのアクション対象のキャラクタオブジェクトとその二次的アクション対象のキャラクタオブジェクトの位置に基づき、仮想カメラの配置を制御するプログラム。
【請求項１１】
請求項１乃至１０のいずれかに記載のプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体。
【請求項１２】
他のゲーム機とネットワークを介して対戦ゲームを行うゲーム機であって、
自機及び他のゲーム機に対する入力情報を含むゲーム情報に基づき、仮想３次元空間に存在する複数のキャラクタオブジェクトの対戦演算を行う対戦演算部と、
前記仮想３次元空間を仮想カメラから見たゲーム画像を生成する画像生成部と、を含み、
前記対戦演算部は、
所与のキャラクタオブジェクトに対して入力された所定のコマンドを実行する場合に、所与のキャラクタオブジェクト及び所与のキャラクタオブジェクトのアクション対象のキャラクタオブジェクト以外のキャラクタオブジェクトを所与のキャラクタオブジェクトの二次的アクション対象として、当該二次的アクション対象のキャラクタオブジェクトの位置に基づき目標位置を決定し、前記アクション対象のキャラクタオブジェクトを前記目標位置まで移動させる処理を行うコマンド処理部を含むゲーム機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、及びゲーム機に関する。
【背景技術】
【０００２】
従来から、ネットワークを介して複数のプレーヤが参加してゲームを行うオンラインゲームが知られている。最近では、複数のキャラクタオブジェクトが対戦を行い、上位にはいれば勝ち残り、続けて次のプレイが可能なバトルロイヤル形式のオンライン対戦ゲームの人気が高い。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−６２３４５公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
バトルロイヤル形式のゲームにおいては、逃げ回って敵との対戦を避け、敵同士の戦いによるつぶし合いにより漁夫の利をえて勝ち逃げを図るという戦法をとることが可能である。しかし、かかる勝ち逃げが横行すると、対戦ゲーム本来のおもしろさを満喫できず、プレーヤは興ざめするが、他のプレーヤ同士を対戦に追い込む状況設定を行うことは困難であるという問題点があった。
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、マルチプレーヤ対戦ゲームにおいて、他のプレーヤ同士が対戦しやすい状況を設定可能な所定のコマンドを提供するプログラム、情報記憶媒体、ゲーム機を提供することにある。
【課題を解決するための手段】
【０００６】
（１）本発明は、
複数のゲーム機がネットワークを介して対戦ゲームを行うためのプログラムであって、
複数のゲーム機に対する入力情報を含むゲーム情報に基づき、仮想３次元空間に存在する複数のキャラクタオブジェクトの対戦演算を行う対戦演算部と、
前記仮想３次元空間を仮想カメラから見たゲーム画像を生成する画像生成部と、してコンピュータを機能させ、
前記対戦演算部は、
所与のキャラクタオブジェクトに対して入力された所定のコマンドを実行する場合に、所与のキャラクタオブジェクト及び所与のキャラクタオブジェクトのアクション対象のキャラクタオブジェクト以外のキャラクタオブジェクトを所与のキャラクタオブジェクトの二次的アクション対象として、当該二次的アクション対象のキャラクタオブジェクトの位置に基づき目標位置を決定し、前記アクション対象のキャラクタオブジェクトを前記目標位置まで移動させる処理を行うコマンド処理部を含むプログラムに関する。
【０００７】
本発明は、上記プログラムを記憶した情報記憶媒体に関する。
【０００８】
また本発明は、
他のゲーム機とネットワークを介して対戦ゲームを行うゲーム機であって、
自機及び他のゲーム機に対する入力情報を含むゲーム情報に基づき、仮想３次元空間に存在する複数のキャラクタオブジェクトの対戦演算を行う対戦演算部と、
前記仮想３次元空間を仮想カメラから見たゲーム画像を生成する画像生成部と、を含み、
前記対戦演算部は、
所与のキャラクタオブジェクトに対して入力された所定のコマンドを実行する場合に、所与のキャラクタオブジェクト及び所与のキャラクタオブジェクトのアクション対象のキャラクタオブジェクト以外のキャラクタオブジェクトを所与のキャラクタオブジェクトの二次的アクション対象として、当該二次的アクション対象のキャラクタオブジェクトの位置に基づき目標位置を決定し、前記アクション対象のキャラクタオブジェクトを前記目標位置まで移動させる処理を行うコマンド処理部を含むゲーム機に関する。
【０００９】
本発明の対戦ゲームは、ネットワークを介してオンライン対戦を行うマルチプレーヤオンライン対戦ゲームでもよい。複数のゲーム機それぞれが、プレーヤの入力情報を含むゲームデータを、ネットワーク（インターネット等）を介して相互に送受信する処理を行い、データを共有することができるピア・ツー・ピア方式のゲームシステムを採用してもよい。また複数のゲーム機のゲームデータをサーバや、マスターゲーム機が受信して、サーバやマスターゲーム機が演算したデータを各ゲーム機に送信するするサーバ・クライアント方式を採用してもよい。
【００１０】
また本発明の対戦ゲームは、３体以上のキャラクタオブジェクトが対戦して、上位のキャラクタオブジェクトが、勝ち残るバトルロイヤル形式の対戦ゲームでもよい。
【００１１】
本発明の対戦ゲームは、複数のゲーム機同士でとオンライン対戦を行うマルチプレーヤゲームであるが、キャラクタオブジェクトにＮＰＣ（コンピュータが操作するキャラクタ）が含まれていてもよい。
【００１２】
画像生成部は、各ゲーム機の操作対象キャラクタ（プレーヤキャラクタ）として設定されているキャラクタオブジェクトの位置に基づき仮想カメラを配置して、当該仮想カメラから見た仮想３次元空間のゲーム画像を生成してもよい。
【００１３】
所定のコマンドとは、例えば所与のキャラクタオブジェクトが、アクション対象のキャラクタオブジェクトを、第３者である他のキャラクタオブジェクトに向かって投げる攻撃入力のコマンド（第３者への投げつけコマンド）でもよい。
【００１４】
所与のキャラクタオブジェクトのアクション対象とは、所与のキャラクタオブジェクトのターゲットや攻撃相手を意味しており、例えば所与のキャラクタオブジェクトを操作するプレーヤから攻撃コマンドが入力された場合に所与のキャラクタオブジェクトの攻撃対象となるキャラクタオブジェクトである。所与のキャラクタオブジェクトのアクション対象は、所与のキャラクタオブジェクトを操作するプレーヤから入力により指定できるようにしてもよい。
【００１５】
所与のキャラクタオブジェクトの二次的アクション対象とは、所定のコマンドを実行する場合に第３者（アクション対象の移動先）となるキャラクタオブジェクトである。二次的アクション対象は、所与のキャラクタオブジェクトを操作するプレーヤから入力により指定できるようにしてもよい。
【００１６】
本発明によれば、対戦ゲームにおいて、他のプレーヤ同士が対戦しやすい状況を設定するための所定のコマンド処理を行うプログラム、情報記憶媒体、ゲーム機を提供することができる。
【００１７】
（２）また、本発明のプログラム、情報記憶媒体、及び、ゲーム機では、
前記コマンド処理部は、
前記所与のキャラクタオブジェクトがプレーヤキャラクタとして設定されたゲーム機からの入力情報に基づき、前記所与のキャラクタオブジェクトの前記アクション対象となるキャラクタオブジェクト及び前記所与のキャラクタオブジェクトの前記二次的アクション対象となるキャラクタオブジェクトを決定する処理を行ってもよい。
【００１８】
例えば前記所与のキャラクタオブジェクトの前記アクション対象となるキャラクタオブジェクト及び前記所与のキャラクタオブジェクトの前記二次的アクション対象となるキャラクタオブジェクトがデフォルトで設定されていて、前記所与のキャラクタオブジェクトがプレーヤキャラクタとして設定されたゲーム機からの入力情報に基づき、前記アクション対象となるキャラクタオブジェクト及び前記所与のキャラクタオブジェクトの前記二次的アクション対象となるキャラクタオブジェクトを変更する構成も本発明の範囲内である。
【００１９】
また前記二次的アクション対象となるキャラクタオブジェクトが前記アクション対象となるキャラクタオブジェクトとの関係で一義的に決定される場合に、前記アクション対象となるキャラクタオブジェクトを前記所与のキャラクタオブジェクトがプレーヤキャラクタとして設定されたゲーム機からの入力情報に基づき決定する構成も本発明の範囲内である。
【００２０】
（３）また、本発明のプログラム、情報記憶媒体、及び、ゲーム機では、
前記対戦演算部は、
所与のキャラクタオブジェクトがプレーヤキャラクタとして設定されたゲーム機に入力されるアクション対象入力情報に基づき、前記所与のキャラクタオブジェクトのアクション対象となるキャラクタオブジェクトを設定するアクション対象設定部を含み、
前記コマンド処理部は、
前記所与のキャラクタオブジェクトがプレーヤキャラクタとして設定されたゲーム機から前記所定のコマンド又は他のコマンドが入力された場合、前記所与のキャラクタオブジェクトの前記アクション対象として設定されているキャラクタオブジェクトをターゲットとして前記所定のコマンド又は他のコマンド実行し、
前記アクション対象設定部は、
前記所定のコマンドが実行された場合には、前記所与のキャラクタオブジェクトの前記アクション対象となっているキャラクタオブジェクトのアクション対象を、前記所与のキャラクタオブジェクトの前記二次的アクション対象となっているキャラクタオブジェクトに変更する処理を行ってもよい。
【００２１】
本発明によれば、通常時（所定のコマンド実行時以外）の各キャラクタオブジェクトのアクション対象は、各キャラクタオブジェクトがプレーヤキャラクタとして設定されたゲーム機からの入力により設定されるが、所定のコマンドが実行されて各キャラクタオブジェクトがそのアクション対象となっている場合には、各キャラクタオブジェクトは操作不能状態になり、各キャラクタオブジェクトの前記アクション対象が、他のキャラクタオブジェクトを操作するプレーヤの入力によって強制的に変更されることになる。従って各プレーヤは、所定のコマンドを使用することで、自機のプレーヤキャラクタ以外のキャラクタオブジェクト同士が対戦を行いやすい環境を作ることができ、対戦を回避する他のプレーヤを対戦状態に引きずり込むことができる。
【００２２】
（４）また、本発明のプログラム、情報記憶媒体、及び、ゲーム機では、
前記コマンド処理部は
前記所定のコマンドを実行する場合、前記アクション対象のキャラクタオブジェクトの位置と前記目標位置に基づき前記アクション対象のキャラクタオブジェクトの移動経路を演算し、移動経路上に障害物となるオブジェクトがあるか否か判定する処理を行ってもよい。
【００２３】
移動経路は直線でもよいし、曲線（例えば放物線や所定の軌跡関数で得られる線）でもよい。移動経路上に障害物がない場合に、前記アクション対象のキャラクタオブジェクトを前記目標位置まで移動させる処理を行ってもよい。
【００２４】
（５）また、本発明のプログラム、情報記憶媒体、及び、ゲーム機では、
前記コマンド処理部は、
障害物となるオブジェクトがあると判断した場合には、前記移動経路を変更する移動経路変更処理を行ってもよい。
【００２５】
（６）また、本発明のプログラム、情報記憶媒体、及び、ゲーム機では、
前記コマンド処理部は、
前記移動経路上に障害物となるオブジェクトがあると判断した場合であって、前記障害物となるオブジェクトが破壊又は消滅可能な属性を有している場合には、前記アクション対象のキャラクタオブジェクトを前記移動経路に従って移動させるとともに、前記障害物となるオブジェクトを破壊又は消滅させる処理を行ってもよい。
【００２６】
（７）また、本発明のプログラム、情報記憶媒体、及び、ゲーム機では、
所与のキャラクタオブジェクトが他のキャラクタオブジェクトのアクション対象となっている場合には、当該所与のキャラクタオブジェクトをアクション対象としている他のキャラクタオブジェクトを告知する敵告知画像の表示制御を行う敵告知画像表示制御部と、してコンピュータを機能させてもよい。
【００２７】
（８）また、本発明のプログラム、情報記憶媒体、及び、ゲーム機では、
前記敵告知画像表示制御部は、
前記敵告知画像として、キャラクタオブジェクトとそのアクション対象のキャラクタオブジェクトとをつなぐ線を含むライン画像の表示制御を行ってもよい。
【００２８】
前記敵告知画像表示制御部は、
前記敵告知画像として、各ゲーム機のプレーヤキャラクタ以外のキャラクタオブジェクトと、そのアクション対象となっているキャラクタオブジェクトとをつなぐ線を含むライン画像の表示制御を行うようにしてもよい。
【００２９】
ライン画像を構成する線の画像は、３次元空間内に設定された直線又は曲線を透視変換して生成した線の画像でもよいし、スクリーン座標系に投影されたゲーム画像にひかれた線の画像でもよい。線は直線でもよいし、曲線でもよい。
【００３０】
ライン画像には、各ゲーム機のプレーヤキャラクタ以外のキャラクタオブジェクトと、アクション対象となっているキャラクタオブジェクトとをつなぐ線以外の付加要素（例えば攻撃対象を指す矢印等）を含んでもよい。
【００３１】
（９）また、本発明のプログラム、情報記憶媒体、及び、ゲーム機では、
所与のキャラクタオブジェクトがアクション対象のキャラクタオブジェクトに対して、所定のコマンドで規定された動作を実行する場合、前記目標位置に基づき、所与のキャラクタオブジェクトのモーション補正を行うモーション補正処理部としてコンピュータを機能させてもよい。
【００３２】
所定のコマンド実行中に二次的アクション対象は変更可能なので、二次的アクション対象の位置に応じて所与のキャラクタオブジェクトの動作の向き等が異なってくる。このような場合に、二次的アクション対象の位置に応じて、基本となるモーションデータを補正して使用することで、モーションデータのデータ量の増加を防止することができる。
【００３３】
（１０）また、本発明のプログラム、情報記憶媒体、及び、ゲーム機では、
前記画像生成部は、
所与のキャラクタオブジェクトが前記アクション対象のキャラクタオブジェクトに対して所定のコマンドを実行する場合、所与のキャラクタオブジェクトとそのアクション対象のキャラクタオブジェクトとその二次的アクション対象のキャラクタオブジェクトの位置に基づき、仮想カメラの配置を制御してもよい。
【００３４】
仮想カメラの配置とは仮想カメラの位置及び向きの少なくとも１つを含む。所与のキャラクタオブジェクト、前記アクション対象のキャラクタオブジェクト、二次的アクション対象のキャラクタオブジェクトが表示されるように（ビューボリュームに収まるように）仮想カメラの配置条件を演算してもよい。
【００３５】
（１１）また、本発明のプログラム、情報記憶媒体、及び、ゲーム機では、
上記のいずれかに記載のプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体である。
【図面の簡単な説明】
【００３６】
【図１】本実施形態のゲーム機の機能ブロック図。
【図２】本実施形態のネットワーク図。
【図３】本実施の形態のゲーム画像の一例。
【図４】所定のコマンド実行時のゲーム画像例。
【図５】所定のコマンド実行時のゲーム画像例。
【図６】所定のコマンド実行時のゲーム画像例。
【図７】所定のコマンド実行時に障害物となるオブジェクトを破壊する場合のゲーム画像例。
【図８】所定のコマンド実行時に障害物となるオブジェクトを破壊する場合のゲーム画像例。
【図９】ライン画像が表示されているゲーム画像の一例である。
【図１０】複数のキャラクタオブジェクトが、仮想３次元空間に存在する様子を模式的に示した図。
【図１１】図１１（Ａ）（Ｂ）は、移動経路上に障害物が存在する場合の処理ついて説明するための図。
【図１２】図１２（Ａ）（Ｂ）は、移動経路上に障害物が存在する場合の処理ついて説明するための図。
【図１３】各ゲーム機の操作部の一例。
【図１４】アクション対象の設定について説明するための図。
【図１５】所定のコマンドの入力から実行終了までの流れを示すタイムチャート。
【図１６】図１６（Ａ）〜（Ｃ）は、所与のオブジェクトのモーション補正について説明するための図。
【図１７】図１７（Ａ）〜（Ｃ）は、所与のキャラクタオブジェクトの向き補正について説明するための図。
【図１８】本実施形態のフローチャート。
【図１９】本実施形態のフローチャート。
【図２０】図２０（Ａ）（Ｂ）は、所定のコマンド実行時の移動経路の補正処理について説明するための図。
【図２１】敵告知画像が表示されているゲーム画像の一例。
【図２２】所定のコマンド実行時の仮想カメラの配置制御について説明するための図。
【発明を実施するための形態】
【００３７】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３８】
１．構成
図１に本実施形態のゲーム機の機能ブロック図を示す。なお本実施形態のゲーム機は図１の構成要素（各部）の一部を省略した構成としてもよい。
【００３９】
操作部１６０は、プレーヤがプレーヤキャラクタ（プレーヤが操作するプレーヤキャラクタ、移動体、プレーヤオブジェクト、ゲームキャラクタを含む）の操作情報を入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【００４０】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。特に、本実施形態の記憶部１７０は、主記憶部１７２、画像バッファ１７４を有している。
【００４１】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを入力するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）、メモリカードなどにより実現できる。処理部１００は、情報記憶媒体１８０に入力されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００４２】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００４３】
通信部１９６は外部（例えば、他機、サーバや他のゲームシステム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００４４】
なお、ゲーム機が、本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）を、ネットワークを介してサーバからダウンロードし、情報記憶媒体１８０に記憶するようにしてもよい。このようなサーバに入力されているプログラムの出力も本発明の範囲内に含めることができる。
【００４５】
処理部１００（プロセッサ）は、操作部１６０からの操作情報（入力情報の一例）やプログラムなどに基づいて、ゲーム演算処理、画像生成処理、或いは音生成処理などの処理を行う。この処理部１００は記憶部１７０内の主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００４６】
処理部１００は、ゲーム演算部１１０、オブジェクト空間設定部１１１、仮想カメラ制御部１１２、移動・動作処理部１１３、ネットワーク設定部１１４、通信制御部１１５、コマンド処理部１２２、アクション対象設定部１２４、敵告知画像表示制御部１２６，描画部１３０、音生成部１４０を含む。なおこれらの一部を省略する構成としてもよい。
【００４７】
ゲーム演算部１１０は、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【００４８】
本実施の形態では、複数（例えば４名）のプレーヤのプレーヤキャラクタがバトルロイヤル形式の対戦ゲームを行い、上位（例えば２名）のプレーヤキャラクタが勝ち残り、勝ち残ったプレーヤキャラクタは、次の対戦に進むことができる。
【００４９】
ゲーム開始時に各プレーヤキャラクタの体力値を初期値（例えば１００）に設定し、ゲームを開始してからゲームが終了するまでのゲーム期間（例えば、９０秒の間）に、フレーム毎に、各プレーヤからの入力情報に基づいてヒット判定処理を行い、ヒット判定結果に基づいていて、各プレーヤキャラクタの体力値を減算させる。各プレーヤキャラクタの体力値が０になった場合には、当該プレーヤキャラクタの敗退を確定させてもよい。またゲーム期間経過時点で、体力値が０より大きい値であるプレーヤキャラクタの数が勝ち残り人数より多い場合には、体力値がより大きなプレーヤキャラクタの方が上位の順位として勝ち残るよう判定する。
【００５０】
ゲーム演算部１１０は、複数のゲーム機に対する入力情報を含むゲーム情報に基づき、仮想３次元空間に存在する複数のキャラクタオブジェクトの対戦演算を行う対戦演算部として機能する。
【００５１】
オブジェクト空間設定部１１１は、キャラクタオブジェクト、移動体、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００５２】
仮想カメラ制御部１１２は、オブジェクト空間内の所与（任意）の仮想カメラ（視点）から見える画像を生成するための仮想カメラの制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。また、画角を制御するようにしてもよい。
【００５３】
例えば、仮想カメラによりオブジェクト（例えば、プレーヤキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００５４】
また仮想カメラ制御部１１２は、所与のキャラクタオブジェクトが前記アクション対象のキャラクタオブジェクトに対して所定のコマンドを実行する場合、所与のキャラクタオブジェクトとそのアクション対象のキャラクタオブジェクトとその二次的アクション対象のキャラクタオブジェクトの位置に基づき、仮想カメラの配置を制御してもよい。
【００５５】
移動・動作処理部１１３は、モデル（キャラクタ、車、電車又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、モデルをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００５６】
特に、本実施形態の移動・動作処理部１１３は、プレーヤからの入力情報に基づいて、プレーヤの操作対象のプレーヤキャラクタを移動・動作させる処理を行うことができる。また、後述する通信制御部１１５によって送信されたパケットに含まれる他機のゲームデータに基づいて、他機を使用するプレーヤの操作対象の第２のキャラクタオブジェクトを、自機を使用するプレーヤの操作対象となる第１のキャラクタオブジェクトと同一のオブジェクト空間において移動・動作させる処理を行うことができる。
【００５７】
本実施形態の移動・動作処理部１１３は、自機の操作部から入力されたゲームデータに基づいて、自機を使用するプレーヤの操作対象の第１のキャラクタオブジェクトを動作させる演算と、ネットワークを介して受信した他機のゲームデータに基づいて、他機を使用するプレーヤの操作対象のプレーヤキャラクタ（第２のプレーヤキャラクタや第３のプレーヤキャラクタ）を動作させる演算を行うことができる。
【００５８】
なお移動・動作処理部１１３は、所定のコマンドによるキャラクタオブジェクトの移動動作演算を行うコマンド処理部としても機能する。
【００５９】
また移動・動作処理部１１３は、所与のキャラクタオブジェクトがアクション対象のキャラクタオブジェクトに対して、所定のコマンドで規定された動作を実行する場合、前記目標位置に基づき、所与のキャラクタオブジェクトのモーション補正を行うモーション補正処理部として機能する。
【００６０】
ネットワーク設定部１１４は、ゲームシステムで必要となるネットワーク情報を取得し、管理する処理等を行う。特に、本実施形態のネットワーク設定部は、各ゲーム機に個別に付与されるゲーム機の識別情報（オンラインゲームに参加できるゲーム機を識別するために個別に付与されたデータ）と、ゲーム機の識別情報に対応付けられたパケットの送信先を指定する宛先情報とを取得し、管理する処理を行う。
【００６１】
また、宛先情報とは、ゲームシステムを構成する各ゲーム機のＩＰアドレス、ポート番号とすることができる。ＩＰアドレスは、インターネット上もしくはＷＡＮで特定のゲーム機を特定するためのグローバルＩＰアドレスとしてもよいし、ＬＡＮで特定のゲーム機を特定するためのプライベートＩＰアドレスとしてもよい。
【００６２】
通信制御部１１５は、他機（第２のゲーム機〜第４のゲーム機）に送信するパケットを生成する処理、パケット送信先のゲーム機のＩＰアドレスやポート番号を指定する処理、受信したパケットに含まれるデータを記憶部１７０に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する制御処理等を行う。
【００６３】
パケットとは、ネットワークを介して通信する固まりであり、送信元ＩＰアドレス、送信先ＩＰアドレスを含むネットワークに必要なヘッダーと、送信元において書き込まれたデータがペイロードとからなるデータのことをいう。
【００６４】
また、アプリケーションレベルの通信を実現するためには、使用するＴＣＰやＵＤＰプロトコルに応じたアプリケーションの種類を特定するポート番号を指定してパケットを生成する。例えば、ＴＣＰプロトコルは、データの送受信の信頼性が高く、例えば、確認応答や再送を利用している。また、ＴＣＰプロトコルは、紛失したデータの再送処理を行うことができ、さらにデータの送信順序を確保して送信先のゲーム機にパケットを送信することができる。一方、ＵＤＰプロトコルでは、送信の途中でデータを紛失しても再送されず、順番が入れ替わって伝送されることがある。しかし、ＵＤＰプロトコルは、ＴＣＰプロトコルに比べてオーバーヘッドがないので、リアルタイムにデータを送信するオンラインゲームでは適している場合がある。ＵＤＰプロトコルを利用する場合には、バッファに入力するゲームデータが識別番号順（昇順）に入力するようにし、入力対象の識別番号のゲームデータが届いていない場合には、他機に要求するようにしてもよい。本実施形態では、いずれのプロトコルにも対応することができる。なお、ＵＤＰプロトコルを利用する場合には、バッファへのゲームデータの入力順序を識別情報（識別番号）の昇順に入力するように制御するようにしてもよい。
【００６５】
本実施形態の通信制御部１１５は、画像を描画するフレームレートに応じてパケットを生成し、接続先の他の複数のゲーム機に生成したパケットを送信する処理を行う。具体的に説明すると、例えば、フレームレートが６０ｆｐｓである場合には、１／６０秒毎に、パケットのヘッダーの送信先ＩＰアドレスと送信先ポート番号に、第２のゲーム機のＩＰアドレスと使用するポート番号指定し、ヘッダーの送信元のＩＰアドレスと送信元ポート番号に、他の複数のゲーム機のＩＰアドレスと使用するポート番号を指定して、ゲームデータを含むデータをパケットのペイロードに入力し、生成したパケットを他の複数のゲーム機に送信する処理を行う。
【００６６】
ここで、ゲームデータとは、フレーム毎にゲーム機を操作するプレーヤからの入力情報（操作情報も含む）を含むデータである。例えば、ゲームデータは、入力情報の有無や、入力情報が有る場合には入力情報の内容を示したデータとすることができる。例えば、ゲームデータを数値で示す場合には、入力情報が無い場合はゲームデータを「０」とし、入力情報があってその内容がＡボタンの入力である場合にはゲームデータを「１」、入力情報があってその内容がＢボタンの入力である場合にはゲームデータを「２」とする。また、入力情報があってその内容がＡ及びＢボタンの入力である場合にはゲームデータを「３」とする。
【００６７】
また、ここで、識別情報とは、フレーム毎に付与される複数のゲーム機（第１、第２のゲーム機）において共通のデータである。本実施形態では、第１のゲーム機と第２のゲーム機との接続が確立されたときを基準に、経過時間に応じてフレーム毎に付与される情報とすることができる。例えば、ゲーム機において、フレームレートに応じて取得したゲームデータに対応付けるシーケンシャルな識別番号（１から始まる正の整数）とすることができる。
【００６８】
例えば、フレームレートが６０ｆｐｓである場合を考えると、１／６０毎に取得したゲームデータに、識別情報を対応づける。例えば、第１のゲーム機と第２のゲーム機それぞれにおいて、接続が確立された時点に取得したゲームデータには、識別番号「１」を対応付けし、接続確立時から１／６０秒後に取得したゲームデータには、識別番号「２」を対応付けし、接続確立時から２／６０秒後に取得したゲームデータには、識別番号「３」を対応付けする。
【００６９】
また、本実施形態の通信制御部１１５は、他の複数のゲーム機から送信されたパケットを受信する処理を行う。そして、受信したパケットを解析し、パケットのペイロードに含まれるゲームデータを含むデータを取得する。そして、受信したゲームデータは、後述するバッファ制御部１１６において、第２のバッファ１７８に入力される。
【００７０】
また、本実施形態の通信制御部１１５は、複数のゲーム機間においての接続（第１のゲーム機〜第４のゲーム機との接続）が確立されてから接続が切断されるまで、ゲームデータを互いに送受信する処理を行うことができる。
【００７１】
なお、本実施形態のゲームに参加する通信グループに所属する複数のゲーム機のうち、１つのゲーム機を親機として特定することができる。親機は、ゲーム空間を生成したゲーム機としてもよい。
【００７２】
コマンド処理部１２２は、所与のキャラクタオブジェクトに対して入力された所定のコマンドを実行する場合に、所与のキャラクタオブジェクト及び所与のキャラクタオブジェクトのアクション対象のキャラクタオブジェクト以外のキャラクタオブジェクトを所与のキャラクタオブジェクトの二次的アクション対象として、当該二次的アクション対象のキャラクタオブジェクトの位置に基づき目標位置を決定し、前記アクション対象のキャラクタオブジェクトを前記目標位置まで移動させる処理を行う。
【００７３】
またコマンド処理部１２２は、前記所与のキャラクタオブジェクトがプレーヤキャラクタとして設定されたゲーム機からの入力情報に基づき、前記所与のキャラクタオブジェクトの前記アクション対象となるキャラクタオブジェクト及び前記所与のキャラクタオブジェクトの前記二次的アクション対象となるキャラクタオブジェクトを決定する処理を行ってもよい。
【００７４】
またアクション対象設定部１２４は、所与のキャラクタオブジェクトがプレーヤキャラクタとして設定されたゲーム機に入力されるアクション対象入力情報に基づき、前記所与のキャラクタオブジェクトのアクション対象となるキャラクタオブジェクトを設定する。  またコマンド処理部１２２は、前記所与のキャラクタオブジェクトがプレーヤキャラクタとして設定されたゲーム機から前記所定のコマンド又は他のコマンドが入力された場合、前記所与のキャラクタオブジェクトの前記アクション対象として設定されているキャラクタオブジェクトをターゲットとして前記所定のコマンド又は他のコマンド実行し、アクション対象設定部１２４は、前記所定のコマンドが実行された場合には、前記所与のキャラクタオブジェクトの前記アクション対象となっているキャラクタオブジェクトのアクション対象を、前記所与のキャラクタオブジェクトの前記二次的アクション対象となっているキャラクタオブジェクトに変更する処理を行ってもよい。
【００７５】
またコマンド処理部１２２は、前記所定のコマンドを実行する場合、前記アクション対象のキャラクタオブジェクトの位置と前記目標位置に基づき前記アクション対象のキャラクタオブジェクトの移動経路を演算し、移動経路上に障害物となるオブジェクトがあるか否か判定する処理を行ってもよい。
【００７６】
コマンド処理部１２２は、障害物となるオブジェクトがあると判断した場合には、前記移動経路を変更する移動経路変更処理を行ってもよい。
【００７７】
またコマンド処理部１２２は、前記移動経路上に障害物となるオブジェクトがあると判断した場合であって、前記障害物となるオブジェクトが破壊又は消滅可能な属性を有している場合には、前記アクション対象のキャラクタオブジェクトを前記移動経路に従って移動させるとともに、前記障害物となるオブジェクトを破壊又は消滅させる処理を行ってもよい。
【００７８】
敵告知画像表示制御部１２６は、所与のキャラクタオブジェクトが他のキャラクタオブジェクトのアクション対象となっている場合には、当該所与のキャラクタオブジェクトをアクション対象としている他のキャラクタオブジェクトを告知する敵告知画像の表示制御を行う。
【００７９】
また敵告知画像表示制御部１２６は、前記敵告知画像として、キャラクタオブジェクトとそのアクション対象のキャラクタオブジェクトとをつなぐ線を含むライン画像の表示制御を行ってもよい。
【００８０】
描画部１３０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータ（モデルデータ）に含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を画像バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００８１】
なお、頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログ
ラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００８２】
そして、描画部１３０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００８３】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、オブジェクトデータ記憶部１７６に保存される。
【００８４】
テクスチャマッピングは、記憶部１７０のテクスチャ記憶部に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ記憶部からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００８５】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が入力されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに入力されるＺ値を参照する。そして参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【００８６】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。
【００８７】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして出力できる。
【００８８】
音生成部１４０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００８９】
２．本実施形態の手法
（１）ゲームシステム
本実施形態のゲームシステムは、複数のゲーム機でマルチプレーヤ対戦ゲームを行うためのゲームシステムである。本実施形態のゲームシステムは、各ゲーム機のプレーヤの操作対象のキャラクタオブジェクト（プレーヤキャラクタ）が、他のゲーム機のプレーヤの操作対象のキャラクタオブジェクト（他のプレーヤのプレーヤキャラクタ）に攻撃を加えることによってキャラクタオブジェクトにダメージを与え、キャラクタオブジェクトの体力値を減少させる対戦ゲームを行う。そして各キャラクタオブジェクトの体力値に基づいて、各プレーヤの勝敗を判定する処理を行う。
【００９０】
図２は、本実施形態のゲームシステムの一例を示す。本実施形態のゲームシステムでは、ゲーム機１１、１２，１３、１４を含む複数のゲーム機がインターネット等のネットワーク１０を介して接続されており、オンライン対戦ゲームを行うことができる。オンライン対戦ゲームに参加する各ゲーム機１１、１２，１３、１４が、ネットワーク１０を介して相互に直接通信して、データを共有することができるピア・ツー・ピア方式のゲームシステムを採用してもよい。
【００９１】
本実施形態では、第１のゲーム機１１、第２のゲーム機１２、第３のゲーム機１３、第４のゲーム機１４の相互間において、ゲーム機を操作するプレーヤからの入力情報の検出結果を含むゲームデータを送受信する処理を行い、各ゲーム機は自機の入力データと他機から受信したゲームデータにもとづき、同じ仮想３次元空間内に存在する複数のキャラクタオブジェクトが対戦するゲーム演算を行う。
【００９２】
第１のゲーム機１１、第２のゲーム機１２、第３のゲーム機１３、第４のゲーム機１４は、例えばアミューズメント施設に置かれている業務用のゲーム機でもよいし、家庭のパーソナルコンピュータやゲーム端末等でもよい。
【００９３】
ここで、ゲームデータとは、フレーム毎に、方向キー、第１のボタン〜第ｎのボタン等のキー入力によって検出された検出信号等のプレーヤの入力情報や、キー入力の検出結果を対応するコマンドに変換した情報、入力情報がないという情報（例えば、「キー入力なし」の情報）も含む。
【００９４】
本実施の形態では第１のゲーム機１１、第２のゲーム機１２、第３のゲーム機１３、第４のゲーム機１４において各プレーヤが、それぞれ仮想３次元空間内の第１のキャラクタオブジェクト、第２のキャラクタオブジェクト、第３のキャラクタオブジェクト、第４のキャラクタオブジェクトを操作して、オンライン対戦ゲームを行うことができる。
【００９５】
例えば、第１のゲーム機１１は、第１のゲーム機１１への入力されたデータ（ゲームデータ）に基づいて、第１のキャラクタオブジェクト（第１のゲーム機１１を使用するプレーヤの操作対象のプレーヤキャラクタ）の移動・動作演算等のゲーム演算を行い、第１のゲーム機１１のゲームデータを、ネットワーク１０を介して第２のゲーム機１２、第３のゲーム機１３、第４のゲーム機１４へ送信する処理を行う。また第１のゲーム機１１は、ネットワークを介して受信した第２のゲーム機１２、第３のゲーム機１３、第４のゲーム機１４のゲームデータに基づいて、第２のキャラクタオブジェクト（第２のゲーム機を使用するプレーヤの操作対象のプレーヤキャラクタ）、第３のキャラクタオブジェクト（第３のゲーム機を使用するプレーヤの操作対象のプレーヤキャラクタ）、第４のキャラクタオブジェクト（第４のゲーム機を使用するプレーヤの操作対象のプレーヤキャラクタ）の移動・動作演算等のゲーム演算を行う。また、第２のゲーム機１２、第３のゲーム機１３、第４のゲーム機１４においても、第１のゲーム機と同様に、自機に入力されたゲームデータと他機から受信したゲームデータに基づき、ゲーム演算処理を行う。
【００９６】
（２）マルチプレーヤ対戦ゲーム
本実施の形態を、複数プレーヤ（ここでは４名）が、バトルロイヤル形式（ここでは上位２名が勝ち残り）の対戦ゲームを行う場合を例にとり説明する。各プレーヤは、自機の操作部から操作入力を行うことで、自機のプレーヤキャラクタであるキャラクタオブジェクトを操作して、他のキャラクタオブジェクト（他のプレーヤが他機から操作入力を行って操作するキャラクタオブジェクト）との対戦を行う。対戦によりダメージを受けると、各キャラクタオブジェクトの体力値は減少し、所定の値（例えば０）になると、当該キャラクタオブジェクトを操作するプレーヤはゲームオーバーとなる。いずれか他のキャラクタオブジェクト２体の体力値が所定の値（例えば０）になるか、ゲーム期間経過時点で体力値が上位２名に入れば勝ち残り、さらにプレイを続けることができる。
【００９７】
図１０は、複数のキャラクタオブジェクト２１０〜２４０が、仮想３次元空間３００に存在する様子を模式的に示した図である。
【００９８】
第１のキャラクタオブジェクト２１０は、第１のゲーム機のプレーヤが操作するキャラクタオブジェクト（第１のゲーム機のプレーヤキャラクタ）であり、第２のキャラクタオブジェクト２２０は、第２のゲーム機のプレーヤが操作するキャラクタオブジェクト（第２のゲーム機のプレーヤキャラクタ）であり、第３のキャラクタオブジェクト２３０は、第３のゲーム機のプレーヤが操作するキャラクタオブジェクト（第３のゲーム機のプレーヤキャラクタ）であり、第４のキャラクタオブジェクト２４０は、第４のゲーム機のプレーヤが操作するキャラクタオブジェクト（第４のゲーム機のプレーヤキャラクタ）である。
【００９９】
各ゲーム機のプレーヤによって操作されるキャラクタオブジェクト２１０〜２４０は、同じ仮想３次元空間に存在するが、各ゲーム機に表示される画像は、各ゲーム機のプレーヤキャラクタであるキャラクタオブジェクトに追従する仮想カメラから見た仮想３次元空間の画像としてもよい。このようにすると、各ゲーム機の表示部に、プレーヤキャラクタを中心としたゲーム画像を表示させることができる。
【０１００】
第１のゲーム機のゲーム画像は、第１のキャラクタオブジェクト２１０に追従する仮想カメラ２１２から仮想３次元空間を見た画像とし、第２のゲーム機のゲーム画像は、第２のプレーヤキャラクタ２２０に追従する仮想カメラ２２２から仮想３次元空間を見た画像とし、第３のゲーム機のゲーム画像は、第３のプレーヤキャラクタ２３０に追従する仮想カメラ２３２から仮想３次元空間を見た画像とし、第４のゲーム機のゲーム画像は、第４のプレーヤキャラクタ２４０に追従する仮想カメラ２４２から仮想３次元空間を見た画像としてもよい。
【０１０１】
図３は、本実施の形態のゲーム画像の一例である。
【０１０２】
図３のゲーム画像は第１のゲーム機で生成されるゲーム画像であり、第１のキャラクタオブジェクト２１０が第２のキャラクタオブジェクト２２０と対戦している様子を示している。
【０１０３】
第１のゲーム機で生成されるゲーム画像は、第１のキャラクタオブジェクト２１０に追従する仮想カメラ２１２（図１０参照）から仮想３次元空間を見た画像となっている。仮想３次元空間には、計４体のキャラクタオブジェクトが存在するが、第１の仮想カメラ２１２の視野内に入っている第１のキャラクタオブジェクト２１０と第２のキャラクタオブジェクト２２０が含まれたゲーム画像が、第１のゲーム機の表示部に表示されている。
【０１０４】
またゲーム画像には、対戦ゲーム参加する４体のキャラクタオブジェクト２１０、２２０、２３０、２４０の体力値ゲージ２６０、２７０、２８０、２９０が表示されている。体力値ゲージの側（近傍）には、各キャラクタオブジェクトを示すマーク（キャラクタオブジェクトの顔画像等でもよい）２６２、２７２、２８２、２９２が表示され、どの体力値ゲージがどのキャラクタオブジェクトに対応しているか一目で把握可能になっている。
【０１０５】
例えば、第１のゲーム機（自機）のプレーヤキャラクタである第１のキャラクタオブジェクト２１０の体力値ゲージ２６０は、他のキャラクタオブジェクトの体力値ゲージ２８０、２９０より大きなスケールで表示してもよい。また例えば第１のゲーム機（自機）のプレーヤキャラクタである第１のキャラクタオブジェクト２１０のアクション対象である第２のキャラクタオブジェクト２２０の体力値ゲージを、他のキャラクタオブジェクトの体力値ゲージより２８０、２９０より大きなスケールで表示してもよい。
【０１０６】
図３に示すように第１のキャラクタオブジェクト２１０が第２のキャラクタオブジェクト２２０と対戦している場合には、第１のキャラクタオブジェクト２１０のアクション対象は第２のキャラクタオブジェクト２２０になっており、第２のキャラクタオブジェクト２２０のアクション対象は第１のキャラクタオブジェクト２１０になっている。アクション対象とは、現在の対戦相手やターゲットであり、所与のキャラクタオブジェクトに対してコマンドを入力すると、所与のキャラクタオブジェクトがアクション対象として設定されているキャラクタオブジェクトに対し、当該コマンドの示す攻撃又は防御を行う。例えば第１のゲーム機のプレーヤが攻撃・防御のコマンドを入力すると、第１のキャラクタオブジェクトがアクション対象である第２のキャラクタオブジェクトに対して攻撃防御動作を行い、第２のゲーム機のプレーヤが攻撃・防御のコマンドを入力すると、第２のキャラクタオブジェクトがアクション対象である第１のキャラクタオブジェクトに対して攻撃防御動作を行う。
【０１０７】
本実施の形態では、操作部の各ボタンや複数のボタンの組み合わせや、ボタンとレバーの操作入力や、複数のボタンとレバーの組み合わせ等の操作入力に対応して、所定の攻撃または防御や技等のコマンドが対応づけられており、操作部から上記操作入力を行うことにより、操作入力に対応づけられたコマンドを実行することができる。
【０１０８】
図１３は、各ゲーム機の操作部の一例である。各ゲーム機の操作部３００は、レバー３１０やボタン等３２０〜３２８で構成してもよい。
【０１０９】
各ゲーム機のプレーヤは、自機の操作部３００のレバー３１０やボタン３２０〜３２８を操作して、操作入力を行うことで、自機のプレーヤキャラクタであるキャラクタオブジェクトを仮想３次元空間２００内で自由に移動、動作させることができる。
【０１１０】
例えば操作部に前後左右を含め８方向を指示可能なレバー３１０を設け、当該レバー３１０を操作して、自機のプレーヤキャラクタであるキャラクタオブジェクトを仮想３次元空間内で移動させてもよい。また、各種ボタンを操作して、攻撃や防御のコマンドを入力し、自機のプレーヤキャラクタであるキャラクタオブジェクトに、コマンドに対応した攻撃・防御動作を行わせてもよい。
【０１１１】
例えば第１のボタン３２０を押すことにより打撃コマンドを入力し、プレーヤキャラクタであるキャラクタオブジェクトに、アクション対象のキャラクタオブジェクトへの打撃攻撃を行わせるようにしてもよい。また例えば第２のボタン３２２を押すことにより気弾コマンドを入力し、プレーヤキャラクタであるキャラクタオブジェクトに、アクション対象のキャラクタオブジェクトへのシューティング攻撃を行わせるようにしてもよい。
【０１１２】
またコマンド実行時に、プレーヤキャラクタであるキャラクタオブジェクトの攻撃相手（ターゲット）となるアクション対象は、プレーヤからの入力により設定、変更できるようにしてもよい。
【０１１３】
図１４はアクション対象の設定について説明するための図である。
【０１１４】
本実施の形態では、操作部の第４のボタンを押下することにより、アクション対象を切り替えることができる。対戦ゲームに参戦する４体のプレーヤキャラクタに図１４に示すように便宜的に順番付けを行い、所与のキャラクタオブジェクトの次に順番づけられたキャラクタオブジェクトがデフォルトで所与のキャラクタオブジェクトのアクション対象に設定され、プレーヤが第４のボタンを押下するごとに所与のキャラクタオブジェクトのアクション対象が次に順番づけられたキャラクタオブジェクトに変更になるようにしてもよい。
【０１１５】
この様にすると、デフォルト時の第１のキャラクタオブジェクトのアクション対象は、第２のキャラクタオブジェクトとなるため、プレーヤが、特にアクション対象の切り替え操作をせずにコマンドを発行した場合には、コマンドの実行対象は、第２のキャラクタオブジェクトとなる。またプレーヤが、切り替えボタンを押した場合（切り替えボタンを1回押した場合）には、次の順位のキャラクタオブジェクトである第３のキャラクタオブジェクトが、第１のキャラクタオブジェクトのアクション対象となる。またプレーヤが、さらに切り替えボタンを押した場合（切り替えボタンを２回押した場合）には、さらに次の順位のキャラクタオブジェクトである第４のキャラクタオブジェクトが、第１のキャラクタオブジェクトのアクション対象となる。
【０１１６】
（３）所定のコマンド
所定のコマンドが、第３者（コマンド実行主体とそのアクション対象以外）のキャラクタオブジェクトに対する投げつけコマンドである場合を例にとり説明する。
【０１１７】
図４から図６は、所定のコマンド（第３者への投げつけコマンド）実行時のゲーム画像例である。
【０１１８】
第１のゲーム機のプレーヤから第３者に対する投げつけコマンド（所定のコマンドの一例）が入力されると、図４に示すように、第１のゲーム機のプレーヤキャラクタである第１のキャラクタオブジェクト２１０は、アクション対象である第２のキャラクタオブジェクト２２０に近づき、相手をつかみ、図５に示すように、第１のキャラクタオブジェクト２１０、第２のキャラクタオブジェクト２２０以外のキャラクタオブジェクトである第３のキャラクタオブジェクト２３０（第１のキャラクタオブジェクト２１０の二次的アクション対象）に向かって、第２のキャラクタオブジェクト２２０を投げ、図６に示すように第２のキャラクタオブジェクト２２０は、第３のキャラクタオブジェクト２３０の近くに移動させられる。
【０１１９】
所定の条件を満たした場合に投げつけを実行するようにしてもよい。例えばアクション対象となる第２のキャラクタオブジェクトの防御内容や第１のキャラクタオブジェクトと第２のキャラクタオブジェクトのパラメータ（例えば体力値や位置関係）等に基づき、所定の条件を満たしているか否かを判断し、所定の条件を満たしている場合に、第１のキャラクタオブジェクトが第２のキャラクタオブジェクトを目標位置に投げ飛ばしてもよい（移動させてもよい）。
【０１２０】
第２のキャラクタオブジェクト２２０の移動先となる目標位置３５０は、第３のキャラクタオブジェクト２３０の位置に基づき、第３のキャラクタオブジェクト２３０の近く（例えば第３のキャラクタオブジェクト２３０の位置から所定距離内）に設定してもよい。例えば第３のキャラクタオブジェクト２３０の位置と所定の位置関係にある位置（例えば第３のオブジェクトのローカル座標系で定義される位置や相対位置）に設定してもよいし、第３のキャラクタオブジェクト２３０の位置から所定距離内のいずれかの場所をランダムに設定してもよい。第３のキャラクタオブジェクト２３０の代表点に設定してもよい。
【０１２１】
ここで二次的アクション対象（第３者）となるキャラクタオブジェクトは、第１のゲーム機のプレーヤが、入力により指定できるようにしてもよい。また第１のキャラクタオブジェクトや第２のキャラクタオブジェクトとの関係で一義的に決定されるようにしてもよいし、各キャラクタの位置関係や他のキャラクタとの距離や体力値に基づき決定してもよい。例えば第１のキャラクタオブジェクトからより離れた（距離が長い）キャラクタオブジェクトを二次的アクション対象に決定してもよいし、体力値がより多く残っているキャラクタオブジェクトを二次的アクション対象に決定してもよいし、ランダムに決定してもよい。
【０１２２】
ここでは、入力により指定できる場合の例について説明する。例えば現在のアクション対象が第２のキャラクタオブジェクトである場合に、デフォルトではその次の順位に位置する第３のキャラクタオブジェクト（図１４参照）を二次的アクション対象とし、所定の期間中（投げモーション中）にアクション対象切り替えボタンを押した場合には、二次的アクション対象を切り替えることができるようにしてもよい。例えば現在のアクション対象は、第２のキャラクタオブジェクトなので、プレーヤが、アクション対象切り替えボタンを押した場合（切り替えボタンを1回押した場合）には、次の順位のキャラクタオブジェクトである第４のキャラクタオブジェクトが、二次的アクション対象となり、またプレーヤが、さらに切り替えボタンを押した場合（切り替えボタンを２回押した場合）には、さらに次の順位のキャラクタオブジェクトである第３のキャラクタオブジェクト（第１のキャラクタオブジェクトと第２のキャラクタオブジェクトは対象外のため、順位を飛ばす）が、第１のキャラクタオブジェクトの二次的アクション対象となるようにしてもよい。
【０１２３】
第２のキャラクタオブジェクト２２０は、目標位置３５０に対して設定された移動経路３６０（第２のキャラクタオブジェクト２２０の現在位置と目標位置３５０を結ぶ線）に沿って二次的アクション対象である第３のキャラクタオブジェクト３３０の近くまで移動させられる。この間（所定の条件が成立してから第２のキャラクタオブジェクトの移動が終了するまでの間）、第２のキャラクタオブジェクトは制御不能状態（第２のゲーム機からの操作入力によって制御できない状態）におかれるようにしてもよい。
【０１２４】
また第３者に対する投げつけコマンドの実行前は、第２のキャラクタオブジェクト２２０のアクション対象は、第１のキャラクタオブジェクト２１０に設定されているが、第３者に対する投げつけコマンドの実行によって、第２のキャラクタオブジェクト２２０のアクション対象を、第３のキャラクタオブジェクト２３０に強制的に変更（第２のゲーム機のプレーヤの入力によらずに変更される）してもよい。
【０１２５】
この様にすると、第３者に対する投げつけコマンドの実行後に、図６に示すように第２のキャラクタオブジェクト２２０は第３のキャラクタオブジェクト２３０の近くに位置し、アクション対象は第３のキャラクタオブジェクト２３０に設定されている。第３のゲーム機のプレーヤは、自己のプレーヤキャラクタである第３のキャラクタオブジェクト２３０の近くに新たな敵である第２のキャラクタオブジェクト２２０が出現したので、第３のキャラクタオブジェクト２３０のアクション対象を第２のキャラクタオブジェクト２２０に切り替えて、第２のキャラクタオブジェクトと対戦する可能性が高くなる。すなわち第１のゲーム機のプレーヤのコマンド入力によって、第２のゲーム機のプレーヤのプレーヤキャラクタである第２のキャラクタオブジェクト２２０と、第３のゲーム機のプレーヤのプレーヤキャラクタである第３のキャラクタオブジェクト２３０とが対戦しやすい状況を設定することができる。
【０１２６】
図１５は、所定のコマンド（第３者に対する投げつけコマンド）の入力から実行終了までの流れを示すタイムチャートである。
【０１２７】
時刻ｔ１で、第１のゲーム機のプレーヤから所定のコマンド（第３者に対する投げつけコマンド）が入力される（Ｓ１）と、期間Ｋ１の後の時刻ｔ２に、第１のキャラクタオブジェクトとアクション対象となる第２のキャラクタオブジェクトの所定のパラメータ（例えば体力値パラメータ）に基づき、所定の条件が成立したか否か判断する（Ｓ２）。期間Ｋ１の間は、第２のゲーム機のプレーヤは第２のキャラクタオブジェクトを操作可能で、例えば防御コマンド等を入力することも可能である。第２のゲーム機のプレーヤからコマンドの入力があった場合には、両者の入力したコマンドやこれによるパラメータの変化等も含めて、所定の条件が成立したか否か判断してもよい。例えば時刻ｔ２時の両者の体力パラメータを比較して、第１のキャラクタオブジェクトの体力値が第２のキャラクタオブジェクト２２０の体力値よりも所定の基準だけ上回っている場合に所定の条件が成立したと判断してもよい。
【０１２８】
所定の条件が成立しない場合には、所定のコマンドは不成功となり、そこでコマンドの実行を終了する。すなわちステップＳ３〜Ｓ５には進まず、第１のキャラクタオブジェクトが第２のキャラクタオブジェクト２２０オブジェクトを投げ飛ばして移動させることはない。
【０１２９】
所定の条件が成立すると、期間Ｋ２の間、第１のキャラクタオブジェクトは前記投げモーションを行う。前記投げモーションとして、例えば第１キャラクタオブジェクトが第２のキャラクタオブジェクトを振り回すモーションをおこなってもよい。この間第１のゲーム機のプレーヤは、操作部を操作して投げつけ対象（第１のキャラクタオブジェクトの二次的アクション対象）を切り替えることができる。期間Ｋ２の後の時刻ｔ３に、投げつけ対象（第１のキャラクタオブジェクトの二次的アクション対象）が確定し、それに合わせて目標位置も確定する（Ｓ３）。
【０１３０】
目標位置が確定すると、期間Ｋ３の間、第１のキャラクタオブジェクトは後記投げモーションを行う。後記投げモーションは、第１のキャラクタオブジェクトが、第２のキャラクタオブジェクトを、確定した目標位置に向かって投げるモーションでもよい。なお期間Ｋ３の長さは可変に設定されていてもよい。例えば目標位置の方向に応じて変化させてもよい。
【０１３１】
そして時刻ｔ４に、第２のキャラクタオブジェクトは第１のキャラクタオブジェクトの手を離れ目標位置に向かって移動を開始し、所定の期間Ｋ４の後の時刻ｔ５に目標位置に到達し、移動を終了する。これで所定のコマンド（第３者に対する投げつけコマンド）に対応して引き起こされる第１のキャラクタオブジェクト及び第２のキャラクタオブジェクトの動作が終了する。なお所定の期間Ｋ４の長さは可変に設定されていてもよい。例えば目標位置までの距離に応じて変化（距離が長いほど所定の期間Ｋ４を長くする等）させてもよい。
【０１３２】
（４）アクション対象の移動経路
図２０（Ａ）（Ｂ）は、第３者に対する投げつけコマンド（所定のコマンドの一例）実行時の移動経路の補正処理について説明するための図である。
【０１３３】
第３者に対する投げつけコマンドを実行する場合、所与のキャラクタオブジェクト（ここでは第１のキャラクタオブジェクト２１０）のアクション対象のキャラクタオブジェクト（ここでは第２のキャラクタオブジェクト２２０）の位置と目標位置３５０に基づきアクション対象のキャラクタオブジェクト（ここでは第２のキャラクタオブジェクト２２０）の移動経路３６０を演算し、移動経路３６０上に障害物となるオブジェクトがあるか否か判定してもよい。
【０１３４】
移動経路は直線でもよいし、曲線（例えば放物線や所定の軌跡関数で得られる線）でもよい。移動経路上に障害物がない場合に、前記第２のキャラクタオブジェクトを前記目標位置まで移動させる処理を行ってもよい。
【０１３５】
例えば図２０（Ａ）（Ｂ）に示すように、移動経路３６０上に障害物となるオブジェクト３７０がある場合には、移動経路を補正する移動経路補正処理を行ってもよい。
【０１３６】
移動経路の補正は、例えば図２０（Ａ）に示すように、目標位置３５０は変更せずに、途中の経路のみを補正（３６０→３６０’に補正）してもよい。また例えば図２０（Ｂ）に示すように、目標位置の変更（３５０→３５０’）を伴うものでもよい。
【０１３７】
例えば補正前の移動経路が第２のキャラクタオブジェクト２２０と目標位置３５０をつなぐ直線として設定される場合には、図２０（Ａ）に示すように、直線の移動経路３６０を、障害物となるオブジェクト３７０を避けて通る曲線の移動経路３６０’に補正してもよい。また図２０（Ｂ）に示すように、直線の移動経路の方向を所定の角度θだけ変更する補正をおこなってもよい。
【０１３８】
図１１（Ａ）（Ｂ）、図１２（Ａ）（Ｂ）は、移動経路上に障害物が存在する場合の処理ついて説明するための図である。
【０１３９】
図１１（Ａ）に示すように、移動経路３６０上に障害物となるオブジェクト３７２がある場合は、移動経路３６０を変更せずに、図１１（Ｂ）に示すように第２のキャラクタオブジェクト２２０を移動経路３６０上を移動させ、障害物となるオブジェクト３７２にヒットしたら、これを破壊又は消滅させる処理（３７２’は破壊後のオブジェクト）を行ってもよい。
【０１４０】
また移動経路上の障害物となるオブジェクトの属性に応じて破壊や消滅が可能か否か判断してもよい。移動経路上のオブジェクト３７４が破壊や消滅が可能な属性である場合には、図１２（Ａ）に示すように、移動経路３６０を変更せずに移動経路３６０上のオブジェクト３７４を破壊又は消滅させる処理をおこなってもよい。また移動経路上のオブジェクト３７４が破壊や消滅が可能でない属性である場合には、図１２（Ｂ）に示すように、移動経路を補正（３６０→３６０’に補正）してもよい。
【０１４１】
なお破壊や消滅が可能か否かを判断するための属性情報を、予めオブジェクト単位で設定しておいてもよい。例えば障害物となる可能性のあるオブジェクト（例えばマップオブジェクトや岩や山等の地形オブジェクトや建物等の構造物オブジェクトや木オブジェクト）について破壊や消滅が可能か否か判断して、判断結果に応じて属性情報を設定してもよい。
【０１４２】
オブジェクトを破壊する処理として、例えば移動中のキャラクタオブジェクトと障害物となるオブジェクトとが衝突した場合に、障害物となるオブジェクトが破壊される画像演出を行い、障害物となるオブジェクトを複数の破片オブジェクトに分解した状態（オブジェクトが壊れた状態）に変化させてもよい。
【０１４３】
図７、図８は、第３者への投げつけコマンド（所定のコマンドの一例）所定のコマンド実行時に障害物となるオブジェクトを破壊する場合のゲーム画像例。実行時に障害物となるオブジェクトを破壊する場合のゲーム画像例である。
【０１４４】
図７に示すように、投げ飛ばされた第２のキャラクタオブジェクト２２０の移動経路に障害物となるオブジェクト（木オブジェクト）３７２があり、第２のキャラクタオブジェクト２２０が障害物となるオブジェクト（木オブジェクト）３７２にヒットしたら、図８に示すように、障害物となるオブジェクト（木オブジェクト）３７２（破壊後の木オブジェクト３７２’）が破壊される画像演出が行われるようにしてもよい。
【０１４５】
また障害物となるオブジェクトを消滅させる処理として、例えば移動中のキャラクタオブジェクトと障害物となるオブジェクトとが衝突した場合に、オブジェクトが消滅する画像演出を行い、所定期間（例えば当該ゲームが終了するまでの期間）は、消滅後のオブジェクトを表示しないようにしてもよい。
【０１４６】
（５）モーション補正処理
図１６（Ａ）〜（Ｃ）は、所与のオブジェクトのモーション補正について説明するための図である。
【０１４７】
本実施の形態では、所定のコマンド（第３者に対する投げつけコマンド）の入力後、所定期間の間は投げつけ対象（第１のキャラクタオブジェクトの二次的アクション対象）を切り替えることができるため、投げつけ対象の方向等によって、投げ飛ばし動作時の第１のキャラクタオブジェクトの向きが異なってくる。投げ飛つけ対象の位置は、所与のキャラクタオブジェクトの周り３６０度のいずれの方向になることもある。従って予め複数の方向に対応したモーションを用意しておき、ゲーム状況に最も近い方向のモーションを選択して実施することも可能である。
【０１４８】
また基準となる投げモーションのモーションデータを１パターンだけ用意しておいて、投げ飛つけ対象の方向に応じて基準となる投げモーションを補正して使用してもよい。この様にするとモーションデータの増大を防ぐことができる。
【０１４９】
例えば基準となる投げモーションが、第１のキャラクタオブジェクトが第２のキャラクタを持ち上げたまま、図１６（Ａ）に示すように、基準方向４１０からぐるりと時計回りに１回転する回転モーションであるとする。図１５の期間Ｋ２における前記投げモーションとして、まず第１のキャラクタオブジェクトが第２のキャラクタオブジェクトを持ち上げる持ち上げモーションを行い、続けて回転モーションをｎ回行うことで、第１のキャラクタオブジェクトが第２のキャラクタオブジェクトを持ち上げてｎ回転する動作を表現することができる。その後期間Ｋ３における後記投げモーションとして、投げ飛つけ対象の方向（目標位置に対応した方向）まで、回転モーションを行い、投げ飛つけ対象の方向に達したら、第２のキャラクタオブジェクトを投げ飛つけ対象の方向に手放すモーションを行うことで、回転しながら投げ飛ばす動作を表現することはできる。
【０１５０】
例えば図１６（Ｂ）に示すように投げつけ対象（第１のキャラクタオブジェクトの二次的アクション対象）が２３０である場合、基準方向４１０からθ１だけ回転すると投げつけ対象２３０の方向４１２となるので、回転モーションをθ１分だけ行って第２のキャラクタオブジェクトを投げつけ対象の方向に手放すモーションを行うように、モーションデータを補正して使用してもよい。
【０１５１】
また例えば図１６（Ｃ）に示すように投げつけ対象（第１のキャラクタオブジェクトの二次的アクション対象）が２４０である場合、基準方向４１０からθ２だけ回転すると投げつけ対象２４０の方向４１４となるので、回転モーションをθ２分だけ行って第２のキャラクタオブジェクトを投げつけ対象２４０の方向に手放すモーションを行うように、モーションデータを補正して使用してもよい。
【０１５２】
図１７（Ａ）〜（Ｃ）は、所与のキャラクタオブジェクトの向き補正について説明するための図である。
【０１５３】
例えば所与のキャラクタオブジェクトのモーションとして、図１７（Ａ）に示すように、投げ方向４２０に向かってアクション対象のキャラクタオブジェクトを投げ飛ばす投げモーションを用意し、投げつけ対象の方向（目標位置に対応した方向）に応じて、モーション開始時の向きを補正してもよい。例えば図１５の期間Ｋ２において、投げ飛ばし前のモーションを行い、時刻ｔ３で投げ飛ばし方向が確定すると、投げ飛ばし方向に応じて、投げモーション開始時の所与のキャラクタオブジェクトの向きを補正する。
【０１５４】
例えば図１５の時刻ｔ３においてモーションを一旦中断して、確定した目標位置に基づき、所与のキャラクタオブジェクトの向きを補正してもよい。
【０１５５】
例えば図１７（Ｂ）に示すように投げつけ対象（第１のキャラクタオブジェクトの二次的アクション対象）が第３のキャラクタオブジェクト２３０である場合、所与のキャラクタオブジェクトの向きを第３のキャラクタオブジェクト２３０の方向４２２に補正してもよい。
【０１５６】
また例えば図１７（Ｃ）に示すように投げつけ対象（第１のキャラクタオブジェクトの二次的アクション対象）が第４のキャラクタオブジェクト２４０である場合、所与のキャラクタオブジェクトの向きを第４のキャラクタオブジェクト２４０の方向４２４に補正してもよい。
【０１５７】
（６）敵告知画像表示
所与のキャラクタオブジェクトが他のキャラクタオブジェクトのアクション対象となっている場合には、当該キャラクタオブジェクトをアクション対象としているキャラクタオブジェクトを告知する敵告知画像を表示する処理を行ってもよい。
【０１５８】
敵告知画像は、当該アクション対象としているキャラクタオブジェクトが把握できるような画像であればよい。各プレーヤの表示部で、各プレーヤのプレーヤキャラクタであるキャラクタオブジェクトを狙っている敵を告知する敵告知画像を表示してもよい。
【０１５９】
図２１は敵告知画像が表示されているゲーム画像の一例である。
【０１６０】
例えば４体のキャラクタオブジェクト２１０、２２０、２３０、２４０が対戦を行う場合、第１のキャラクタオブジェクト２１０のアクション対象が第２のキャラクタオブジェクト２２０、第２のキャラクタオブジェクト２２０のアクション対象が第１のキャラクタオブジェクト２１０、第３のキャラクタオブジェクト２３０のアクション対象が第１のキャラクタオブジェクト２１０、第４のキャラクタオブジェクト２４０のアクション対象が第３のキャラクタオブジェクト２３０であるとする。この様な場合、第１のゲーム機のゲーム画面では、第１のキャラクタオブジェクト２１０をアクション対象としている第２のキャラクタオブジェクト２２０と第３のキャラクタオブジェクト２３０を敵として告知するための敵告知画像４４０、４４２を、それぞれ第２のキャラクタオブジェクト２２０、第３のキャラクタオブジェクト２３０に付随して表示してもよい。
【０１６１】
このようにすると、各プレーヤは、自己のゲーム画面において、自己のプレーヤキャラクタであるキャラクタオブジェクトを狙っているキャラクタオブジェクトを視覚的に瞬時に把握することができるため、迅速な移動や攻撃防御を行うことができる。
【０１６２】
上記実施の形態では、各ゲーム機のゲーム画面において、各ゲーム機のプレーヤキャラクタとなるキャラクタオブジェクトをアクション対象としているキャラクタオブジェクトに付随して表示されるマーク画像が敵告知画像である場合を例にとり説明したが、これに限られず、他のマーク画像でもよいし、文字画像でもよい。
【０１６３】
また、各ゲーム機のプレーヤキャラクタ以外のキャラクタオブジェクトがアクション対象としているキャラクタオブジェクトに対して、敵告知画像として、前記プレーヤキャラクタ以外のキャラクタオブジェクトとアクション対象となっているキャラクタオブジェクト（こちらはプレーヤキャラクタとなっているキャラクタオブジェクトでもよい）をつなぐライン画像を生成してもよい。
【０１６４】
図９はライン画像が表示されているゲーム画像の一例である。
【０１６５】
例えば４体のキャラクタオブジェクト２１０、２２０、２３０、２４０が対戦を行う場合、第１のキャラクタオブジェクト２１０のアクション対象が第２のキャラクタオブジェクト２２０、第２のキャラクタオブジェクト２２０のアクション対象が第１のキャラクタオブジェクト２１０、第３のキャラクタオブジェクト２３０のアクション対象が第１のキャラクタオブジェクト２１０、第４のキャラクタオブジェクト２４０のアクション対象が第３のキャラクタオブジェクト２３０であるとする。この様な場合、第１のゲーム機のプレーヤのゲーム画面では、第１のキャラクタオブジェクト２１０をアクション対象としている第２のキャラクタオブジェクト２２０と第１のキャラクタオブジェクト２１０をつなぐライン画像４５０、第１のキャラクタオブジェクト２１０をアクション対象としている第３のキャラクタオブジェクト２３０と第１のキャラクタオブジェクト２１０をつなぐライン画像４５２を生成する。また、第３のキャラクタオブジェクト２３０をアクション対象としている第４のキャラクタオブジェクト２４０と第３のキャラクタオブジェクト２３０をつなぐライン画像４５６を生成する。しかし、第１のキャラクタオブジェクト２１０（プレーヤキャラクタ）と、そのアクション対象である第２のキャラクタオブジェクト２２０はつなぐライン画像は生成しない。
【０１６６】
この様に自機のプレーヤキャラクタであるキャラクタオブジェクトが他のキャラクタオブジェクトのアクション対象となっている場合には、他のキャラクタオブジェクトと自機のプレーヤキャラクタであるキャラクタオブジェクトの間にライン画像が生成されるので、自機のプレーヤキャラクタであるキャラクタオブジェクトとこれを狙っている他のキャラクタオブジェクトの位置関係が視覚的に把握しやすくなるという効果がある。
【０１６７】
また他機のプレーヤキャラクタであるキャラクタオブジェクトが自機以外の他のキャラクタオブジェクトのアクション対象となっている場合には、他のキャラクタオブジェクトと他機のプレーヤキャラクタであるキャラクタオブジェクトの間にライン画像が生成される。この様にすると、他機のプレーヤキャラクタであるキャラクタオブジェクトとこれを狙っている自機以外の他のキャラクタオブジェクトの対戦状況を視覚的に把握しやすくなるという効果がある。
【０１６８】
自機プレーヤキャラクタであるキャラクタオブジェクトとそのアクション対象であるキャラクタオブジェクトの間にはライン画像は生成されないので、ライン画像が増えすぎてゲーム画像を見にくくなるのを防止することができる。
【０１６９】
なおライン画像は、どちら向きのラインであるか（ラインの方向や向き）が識別可能な矢印を付与することにより、狙っている側とねらわれている側が一目で把握可能なライン画像を提供することができる。
【０１７０】
（７）所定のコマンド実行時の仮想カメラの制御
所与のキャラクタオブジェクトがアクション対象のキャラクタオブジェクトに対して所定のコマンドを実行する場合、所与のキャラクタオブジェクトとそのアクション対象のキャラクタオブジェクトとその二次的なアクション対象のキャラクタオブジェクトの位置に基づき、仮想カメラの配置（位置及び向きの少なくとも１つ）位置を設定してもよい。
【０１７１】
図２２は、所定のコマンド実行時の仮想カメラの配置制御について説明するための図である。第１のゲーム機のゲーム画像（第１のキャラクタオブジェクト２１０をプレーヤキャラクタとする第１のゲーム機の表示部に表示されるゲーム画像）は、第１のキャラクタオブジェクトに追従する第１の仮想カメラ２１２から見た仮想３次元空間の画像となる。仮想３次元空間には４体のキャラクタオブジェクト２１０、２２０、２３０、２４０が存在しているが、仮想３次元空間は広いので、第１の仮想カメラ２１２は、第１のキャラクタオブジェクト２１０とそのアクション対象となるキャラクタオブジェクト（ここでは第２のキャラクタオブジェクト２２０とする）が視野範囲内に入る位置及び向きに配置される。しかし、第１のゲーム機のプレーヤが所定のコマンドを入力すると、アクション対象の移動先（投げつけ対象）となる二次的アクション対象となるキャラクタオブジェクトも視野範囲内に入る位置及び向きに、第１の仮想カメラ２１２を配置する。所定のコマンド実行時に二次的アクション対象となるキャラクタオブジェクトが変更された場合には、変更後の二次的アクション対象となるキャラクタオブジェクトが視野範囲内に入る位置及び向きに、第１の仮想カメラ２１２の配置を変更する。
【０１７２】
所定のコマンド実行時は、第１のキャラクタオブジェクト２１０とそのアクション対象（第２のキャラクタオブジェクト２２０）と、二次的アクション対象の位置に応じて第１の仮想カメラ２１２の位置及び向きの少なくとも一方を決定することで、これらのキャラクタオブジェクトが視野範囲内に入る画像を生成することができる。
【０１７３】
例えば２次アクション対象が第３のキャラクタオブジェクト２３０である場合には、第１のキャラクタオブジェクト２１０と第２のキャラクタオブジェクト２２０と第３のキャラクタオブジェクト２３０が視野範囲（４９０−１）内に入る位置及び向きに、第１の仮想カメラ２１２を配置する（２１２−１参照）。
【０１７４】
また例えば二次的アクション対象が第４のキャラクタオブジェクト２４０である場合には、第１のキャラクタオブジェクト２１０と第２のキャラクタオブジェクト２２０と第４のキャラクタオブジェクト２４０が視野範囲（４９０−２）内に入る位置及び向きに、第１の仮想カメラ２１２を配置する（２１２−２参照）。
【０１７５】
コマンド実行中に２次アクション対象が第３のキャラクタオブジェクト２３０から第４のキャラクタオブジェクト２４０に切り替えられた場合には、仮想カメラの配置も２１２−１から２１２−２に切り替えてもよい。
【０１７６】
（８）処理の流れ
図１８は、所定のコマンド実行処理（第３者に対する投げつけコマンド）の流れを示すフローチャートである。
【０１７７】
所与のキャラクタオブジェクトについて所定のコマンド入力があった場合には以下の処理を行う（ステップＳ１０）。
【０１７８】
所与のキャラクタオブジェクトとそのアクション対象となっているキャラクタオブジェクトのパラメータ等に基づき、所定の条件が成立したか否かを判定する（ステップＳ２０）。アクション対象は、例えば図１４に示した手法により決定してもよい。所定の条件の判定は、図１５に示すように所定のコマンドが入力されてから期間Ｋ１経過後に行うようにしてもよい。そしてこの期間Ｋ１内にアクション対象となっているキャラクタオブジェクトを操作するプレーヤからの入力があった場合には入力内容による各キャラクタオブジェクトのパラメータの変化も加味して所定の条件を判定してもよい。
【０１７９】
所定の条件が成立した場合には（ステップＳ２２）、所定期間（図１５期間Ｋ２）の前期投げモーションを実行するとともに、アクション対象のキャラクタオブジェクトを制御不能状態にする（ステップＳ３０）。従って、これ以降（図１５の時刻ｔ２以降）、所定のコマンド実行が終了する（図１５の時刻ｔ５）まで、アクション対象のキャラクタオブジェクトに対する操作入力は反映されない状態に制御する。
【０１８０】
そして、所定期間の前期投げモーション中に二次的アクション対象（目標位置）となるキャラクタオブジェクトの変更入力があった場合には（ステップＳ４０でＹ）には、変更後の二次的アクション対象のキャラクタオブジェクトの位置に基づき、目標位置を決定し（ステップＳ５０）、アクション対象のキャラクタオブジェクトのアクション対象を変更後の二次的アクション対象のキャラクタオブジェクトに変更する（ステップＳ６０）。所定期間の前期投げモーション中に二次的アクション対象（目標位置）となるキャラクタオブジェクトの変更入力がない場合には（ステップＳ４０でＮ）には、コマンド入力時に設定されている二次的アクション対象のキャラクタオブジェクトの位置に基づき、目標位置を決定し（ステップＳ７０）、アクション対象のキャラクタオブジェクトのアクション対象をコマンド入力時に設定されている二次的アクション対象のキャラクタオブジェクトに変更する（ステップＳ８０）。
【０１８１】
決定された目標位置に基づき、後期投げモーションを実行して、アクション対象のキャラクタオブジェクトを目標位置に移動させる処理を行う（ステップＳ９０）
アクション対象のキャラクタオブジェクトが目標位置に到達したら、制御不能状態を解除する（ステップＳ１００）。
【０１８２】
図１９は、所定のコマンド（第３者に対する投げつけコマンド）実行時のアクション対象の移動経路決定処理の流れを示すフローチャートである。
【０１８３】
アクション対象のキャラクタオブジェクトと目標位置とに基づき、移動経路を演算し、移動経路上に障害物となるオブジェクトが存在するか否か判定処理を行う（ステップＳ１１０）。
【０１８４】
移動経路上に障害物となるオブジェクトがある場合には（ステップＳ１２０でＹ）、障害物となるオブジェクトが破壊又は消滅可能属性を有するか判断し（ステップＳ１３０）、有すると判断した場合には、アクション対象のキャラクタオブジェクトを移動経路に沿って、目標位置まで移動させる処理を行うとともに、アクション対象のキャラクタオブジェクトと障害物となるオブジェクトのヒット時に障害物となるオブジェクトの破壊又は消滅処理を行う。（ステップＳ１４０）
【０１８５】
移動経路上に障害物となるオブジェクトがあり（ステップＳ１２０でＹの場合）、障害物となるオブジェクトが破壊又は消滅可能属性を有しない場合（ステップＳ１３０でＮ）には、目標位置及び移動経路の補正を行う（ステップＳ１５０）。
【０１８６】
移動経路上に障害物となるオブジェクトがない場合（ステップＳ１２０でＮの場合）、アクション対象のキャラクタオブジェクトを移動経路に沿って、目標位置まで移動させる処理を行う（ステップＳ１６０）。
【０１８７】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【符号の説明】
【０１８８】
１００  処理部、１１０  ゲーム演算部、１１１、オブジェクト空間設定部、
１１２  仮想カメラ制御部、１１３  移動・動作処理部、１１４  ネットワーク部、
１１５  通信制御部、１２２  コマンド処理部、１２４  アクション対象設定部、１２６  敵告知画像表示制御部、１３０  描画部、１４０  音生成部、
１６０  操作部、１７０  記憶部、１７２  主記憶部、１７４  画像バッファ、
１７６  第１のバッファ、１７８  第２のバッファ、１７９  自動制御情報記憶部、
１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、１９６  通信部
【図１】
2012120755.tif 000003
【図２】
2012120755.tif 000004
【図３】
2012120755.tif 000005
【図４】
2012120755.tif 000006
【図５】
2012120755.tif 000007
【図６】
2012120755.tif 000008
【図７】
2012120755.tif 000009
【図８】
2012120755.tif 000010
【図９】
2012120755.tif 000011
【図１０】
2012120755.tif 000012
【図１１】
2012120755.tif 000013
【図１２】
2012120755.tif 000014
【図１３】
2012120755.tif 000015
【図１４】
2012120755.tif 000016
【図１５】
2012120755.tif 000017
【図１６】
2012120755.tif 000018
【図１７】
2012120755.tif 000019
【図１８】
2012120755.tif 000020
【図１９】
2012120755.tif 000021
【図２０】
2012120755.tif 000022
【図２１】
2012120755.tif 000023
【図２２】
2012120755.tif 000024