以下、本発明の実施形態の例について図面に基づき詳細に説明する。
図1は本発明の実施形態に係るゲーム装置(ゲーム制御装置)のハードウェア構成の一例を示す。本実施形態に係るゲーム装置10は、例えば家庭用ゲーム機(据置型ゲーム機)、携帯用ゲーム機、業務用ゲーム機、パーソナルコンピュータ、携帯電話機(スマートフォンを含む)、又は携帯情報端末(タブレット型コンピュータを含む)によって実現される。
図1に示すように、ゲーム装置10は制御部11、記憶部12、光ディスクドライブ部13、通信部14、操作部15、表示部16、及び音声出力部17を含む。制御部11は例えば1又は複数のマイクロプロセッサ等を含み、オペレーティングシステムやその他のプログラムに従って処理を実行する。記憶部12は主記憶部(例えばRAM)及び補助記憶部(例えばハードディスクドライブ又はソリッドステートドライブ)を含む。
光ディスクドライブ部13は光ディスクに記憶されたプログラムやデータを読み取る。プログラムやデータは光ディスクを介してゲーム装置10に供給される。なお、ゲーム装置10は、光ディスク以外の情報記憶媒体(例えばメモリカード)に記憶されたプログラム又はデータを読み取るための構成要素を含むようにしてもよい。そして、光ディスク以外の情報記憶媒体を介してプログラムやデータがゲーム装置10に供給されるようにしてもよい。
通信部14は通信ネットワークを介してデータ通信を行うためのインタフェースである。プログラムやデータは通信ネットワークを介して遠隔地からゲーム装置10に供給されるようにしてもよい。
操作部15は、ユーザがゲーム操作を行うためのものである。例えば、ゲーム装置10が家庭用ゲーム機である場合、家庭用ゲーム機に備えられるゲームコントローラが操作部15に相当する。図2A及び図2Bはゲームコントローラの一例を示す。図2A,2Bに示すように、ゲームコントローラ20には複数の操作部材が備えられている。
具体的には、図2Aに示すように、方向ボタン群22と、ボタン23A,23B,23X,23Yと、左スティック(レバー)24Lと、右スティック(レバー)24Rとがゲームコントローラ20の表面21に備えられている。方向ボタン群22は例えば方向を指示するために用いられ、ボタン23A,23B,23X,23Yは各種ゲーム操作に用いられる。左スティック24L及び右スティック24Rも例えば方向を指示するために用いられる。左スティック24L及び右スティック24Rは、ゲームコントローラ20の表面21に直立しており、この直立状態から全方位に傾倒自在に構成されている。
また図2Bに示すように、ゲームコントローラ20の奥側側面にはボタン25L,25R,26L,26Rが備えられている。これらのボタン25L,25R,26L,26Rも各種ゲーム操作に用いられる。
ゲームコントローラ20の各操作部材の状態は一定周期毎(例えば1/60秒ごと)にスキャンされ、そのスキャン結果を表す操作信号が制御部11に供給される。この操作信号に基づいてユーザの操作が判定される。例えば、左スティック24Lの傾きの方向(直立状態からどちらの方向に傾倒しているか)及び傾きの大きさ(直立状態からどれだけの角度傾倒しているか)に応じた数値が制御部11に供給される。右スティック24Rに関しても同様である。そして、これらの数値に基づいて左スティック24L及び右スティック24Rの傾きの方向及び傾きの大きさが判定される。
なお、図2に示すゲームコントローラ20に含まれている操作部材と同様の操作部材を備えた携帯用ゲーム機がゲーム装置10である場合、それらの操作部材が操作部15に相当する。また、キーボード、マウス、又はタッチパッド等を備えたパーソナルコンピュータがゲーム装置10である場合、キーボード、マウス、又はタッチパッド等が操作部15に相当する。
また、キー又はスティック等を備えた携帯電話機又は携帯情報端末がゲーム装置10である場合、キー又はスティック等が操作部15に相当する。また、タッチパネルが表示パネル上に重ねられてなるタッチスクリーンを備えた携帯ゲーム機、携帯電話機、又は携帯情報端末がゲーム装置10である場合、タッチスクリーンが操作部15に相当する。
表示部16は例えば液晶表示パネル又は有機ELディスプレイ等であり、制御部11の指示に従って画面を表示する。音声出力部17は例えばスピーカ又はヘッドホン等であり、制御部11の指示に従って音声データを出力する。
ゲーム装置10ではゲームプログラムが実行されることによってゲームが実行される。例えば、ユーザの操作に従ってゲームキャラクタが動作するゲームが実行される。以下では、ゲーム装置10において実行されるゲームの一例として、移動物体を用いて行われるスポーツを模したスポーツゲームについて説明する。言い換えれば、移動物体を所定の目標領域内に移動させることを目指すスポーツを模したスポーツゲームについて説明する。具体的にはサッカーゲームについて説明する。
このサッカーゲームでは、ユーザが操作するサッカーチームと、対戦相手が操作するサッカーチームとの試合が実行される。「対戦相手」はコンピュータ(制御部11)である場合もあれば、他のユーザである場合もある。なお、複数のユーザが協力して操作するサッカーチームと、対戦相手が操作するサッカーチームとの試合が実行される場合もある。この場合、「対戦相手」はコンピュータである場合もあれば、一又は複数の他のユーザである場合もある。
以下では、ユーザが操作するサッカーチームと、対戦相手(コンピュータ)が操作するサッカーチームとの試合が実行される場合について説明する。なお以下では、ユーザが操作するサッカーチームのことを「ユーザチーム」と記載し、対戦相手(コンピュータ)が操作するサッカーチームのことを「敵チーム」と記載する。
サッカーゲームでは仮想的なゲーム空間が記憶部12(主記憶部)に構築され、上記試合がゲーム空間内で行われる。図3はゲーム空間の一例を示す。図3に示すゲーム空間30は、互いに直交する3つの座標軸Xw,Yw,Zwが設定された仮想3次元空間である。
ゲーム空間30には、サッカーフィールドを表すオブジェクトであるフィールド32が配置される。フィールド32上にはゴールライン34、タッチライン36、及びコーナーエリア37が描かれている。二本のゴールライン34及び二本のタッチライン36に囲まれた矩形領域であるピッチ38内で試合は行われる。
フィールド32上には、サッカーゴール(目標領域)を表すオブジェクトであるゴール40が配置される。また、サッカーボール(移動物体)を表すオブジェクトであるボール42がゲーム空間30に配置される。ゴール40の一方はユーザチームに関連づけられ、他方は敵チームに関連づけられる。いずれか一方のサッカーチームに関連づけられたゴール40内にボール42が移動すると、他方のサッカーチームの得点イベントが発生する。
また、ユーザチームに所属するサッカー選手を表すオブジェクトであるゲームキャラクタ44と、敵チームに所属するサッカー選手を表すオブジェクトであるゲームキャラクタ46とがゲーム空間30に配置される。図3では省略されているが、ユーザチームに所属する11名のゲームキャラクタ44と、敵チームに所属する11名のゲームキャラクタ46とがゲーム空間30に配置される。
ゲーム空間30には仮想カメラ48が設定される。この仮想カメラ48から見たゲーム空間30を示すゲーム画面が表示部16に表示される。例えば、ボール42を常にゲーム画面に表示するべく、仮想カメラ48はボール42の移動に基づいてゲーム空間30内を移動する。
図4はゲーム画面の一例を示す。図4に示すゲーム画面50には、ボール42と、ユーザチームに所属する4名のゲームキャラクタ44と、敵チームに所属する4名のゲームキャラクタ46とが表示されている。
また、ゲーム画面50にはカーソル52が表示されている。カーソル52は、ユーザの操作対象になっているゲームキャラクタ44を示す。ユーザの操作対象になっているゲームキャラクタ44はユーザの操作に従って行動する。ユーザの操作対象は、ユーザチームに属するゲームキャラクタ44のうちで切り替わる。なお、ユーザの操作対象は、ユーザチームに属するいずれか一つのゲームキャラクタ44に固定されていてもよい。
一方、ユーザチームに属するゲームキャラクタ44のうちの、ユーザの操作対象になっていないゲームキャラクタ44はコンピュータによって操作される。また、敵チームに属するゲームキャラクタ46もコンピュータによって操作される。例えば、コンピュータによって操作されるゲームキャラクタ44(46)は行動制御データ(例えばAI(人工知能))に従って行動する。すなわち、コンピュータによって操作されるゲームキャラクタ44(46)は、行動制御データに従って決定された動作を行う。
なお、以下では、ユーザの操作対象になっているゲームキャラクタ44のことを「ユーザキャラクタ」と記載し、ユーザチームに属するゲームキャラクタ44のうちの、ユーザの操作対象になっていないゲームキャラクタ44のことを「味方キャラクタ」と記載する。また、敵チームに属するゲームキャラクタ46のことを「敵キャラクタ」と記載する。
ゲーム装置10では、ユーザの任意の方向へのフェイント動作をユーザキャラクタに行わせることが可能になっている。以下、この機能について説明する。
図5は、ユーザキャラクタが行う動作とユーザが行う操作との対応関係の一例を示す。図5において、ばつ印、四角印や、丸印はそれぞれボタン23A,23B,23Xを示している。
図5に示す例では、ユーザキャラクタの移動動作と左スティック24Lとが対応づけられている。このため、ユーザが左スティック24Lを傾倒すると、左スティック24Lの傾倒方向に対応する方向にユーザキャラクタが移動する。なお、ユーザキャラクタがボール42を保持している場合にはユーザキャラクタの移動動作がドリブル動作になる。
また、図5に示す例では、ユーザキャラクタのフェイント動作と右スティック24Rとが対応づけられている。「フェイント動作」は例えばユーザキャラクタの移動動作に関するフェイント動作であり、ユーザによって指示された方向にユーザキャラクタが移動すると見せかける動作である。言い換えると、「フェイント動作」は、ユーザキャラクタが移動しようとする動きを途中で止める動作であり、動きを途中で止めた場合にはユーザキャラクタは移動しない。なお、ユーザキャラクタがボール42を保持している場合であれば、「フェイント動作」は、ユーザによって指示された方向にユーザキャラクタがパスを行うと見せかける動作であってもよい。以下では、「フェイント動作」は、ユーザによって指示された方向にユーザキャラクタが移動すると見せかける動作である場合について説明する。
ユーザが右スティック24Rを傾倒すると、右スティック24Rの傾倒方向に対応する方向へのフェイント動作をユーザキャラクタが行う。すなわち、右スティック24Rの傾倒方向に対応する方向に移動するふりをユーザキャラクタが行う。つまり、ユーザは右スティック24Rを傾倒することによって、ユーザキャラクタが行うべきフェイント動作の方向を指示する。なお、ゲーム空間30における絶対的方向をフェイント動作の方向として指示できるようにしてもよいし、ユーザキャラクタの正面方向に対する相対的方向をフェイント動作の方向として指示できるようにしてもよい。前者の場合、右スティック24Rを一の方向(例えば右方向)に傾けた場合におけるユーザキャラクタのフェイント動作の方向とユーザキャラクタの正面方向との関係は一定にならず、ユーザキャラクタの正面方向がゲーム空間30のどの方向を向いているのかによって変わることになる。
フェイント動作は、ユーザキャラクタがボール42を保持している場合に行われる。また、フェイント動作は、ユーザキャラクタがボール42を保持していない場合にも行われる。例えば、ボール42を保持している敵キャラクタへの守備をユーザキャラクタが行っている場合にもフェイント動作は行われる。
図6は、ユーザキャラクタがボール42を保持している場合にユーザキャラクタが行うフェイント動作の一例について説明するための図である。図6における符号「F」はユーザキャラクタ44U及び敵キャラクタ46Eの正面方向を示しており、図6は、ボール42を保持しているユーザキャラクタ44Uが敵キャラクタ46Eと向かい合っていて、ユーザキャラクタ44Uが敵キャラクタ46Eをドリブルで抜こうとしている場合を示している。敵キャラクタ46Eをドリブルで抜くとは、敵キャラクタ46Eにボール42を奪われないようにしながら敵キャラクタ46Eの後方にボール42とともにユーザキャラクタ44Uが移動することである。
例えば、この場合、ユーザは右スティック24Rを第1方向60に対応する方向に傾倒する。この操作によって、ユーザキャラクタ44Uは第1方向60へのフェイント動作を行う。すなわち、ユーザキャラクタ44Uはあたかも第1方向60に移動するかのように上半身を動かすことによって、第1方向60に移動するふりを行う。
敵キャラクタ46Eがユーザキャラクタ44Uのフェイント動作に引っかかった場合、敵キャラクタ46Eは、第1方向60へのユーザキャラクタ44Uのドリブルを阻止すべく、第1方向60に向かう方向である第2方向62に移動する。
この場合、ユーザは敵キャラクタ46Eをドリブルで抜くべく、敵キャラクタ46Eの移動方向(第2方向62)とは逆方向である第3方向64に対応する方向に左スティック24Lを傾倒する。この操作によって、ユーザキャラクタ44Uは第3方向64に移動し、第2方向62へ移動した敵キャラクタ46Eをドリブルで抜く。
図7は、ボール42を保持している敵キャラクタへの守備をユーザキャラクタが行っている場合にユーザキャラクタが行うフェイント動作の一例について説明するための図である。図7における符号「F」もユーザキャラクタ44U及び敵キャラクタ46Eの正面方向を示しており、図7は、ボール42を保持している敵キャラクタ46Eとユーザキャラクタ44Uが向かい合っていて、ユーザキャラクタ44Uが敵キャラクタ46Eへの守備を行っている場合を示している。
例えば、この場合、ユーザは右スティック24Rを第1方向70に対応する方向に傾倒する。この操作によって、ユーザキャラクタ44Uは第1方向70へのフェイント動作を行う。すなわち、ユーザキャラクタ44Uはあたかも第1方向70に移動するかのように上半身を動かすことによって、第1方向70に移動するふりを行う。
敵キャラクタ46Eがユーザキャラクタ44Uのフェイント動作に引っかかった場合、敵キャラクタ46Eは、ユーザキャラクタ44Uが移動する方向(第1方向70)とは逆方向にドリブルすべく、第1方向70とは逆方向である第2方向72にドリブルする。
この場合、ユーザは敵キャラクタ46Eのドリブルを阻止すべく、敵キャラクタ46Eのドリブル方向(第2方向72)に向かう方向である第3方向74に対応する方向に左スティック24Lを傾倒する。この操作によって、ユーザキャラクタ44Uは敵キャラクタ46Eに向かって移動し、敵キャラクタ46Eからボール42を奪取する。
なお、図5に示す例では、移動動作及びフェイント動作以外の動作についても示されている。例えば、ユーザキャラクタがボール42を保持している場合の動作について示されている。具体的には、ショートパス動作とボタン23Aとが対応づけられている。また、ロングパス動作とボタン23Bとが対応づけられており、シュート動作とボタン23Xとが対応づけられている。このため、ユーザキャラクタがボール42を保持している状態でユーザがこれらのボタンのいずれかを押下すると、ユーザキャラクタがショートパス動作、ロングパス動作、又はシュート動作を行う。
さらに、図5に示す例では、例えば、敵キャラクタがボール42を保持している場合の動作についても示されている。具体的には、プレス動作(プレスディフェンス動作)とボタン23Aとが対応づけられており、タックル動作とボタン23Bとが対応づけられている。このため、敵キャラクタがボール42を保持している状態でユーザがこれらのボタンのいずれかを押下すると、ユーザキャラクタがプレス動作又はタックル動作を行う。なお、プレス動作とは、敵キャラクタにユーザキャラクタが近づく動作であり、タックル動作とは、敵キャラクタからユーザキャラクタがボールを奪う動作である。
以下、ユーザの任意の方向へのフェイント動作をユーザキャラクタに行わせることが可能にするための構成について説明する。図8はゲーム装置10で実現される機能ブロックの一例を示す機能ブロック図である。図8に示すように、ゲーム装置10はゲームデータ記憶部80、ユーザキャラクタ制御部82、及び敵キャラクタ制御部88を含む。
例えば、ゲームデータ記憶部80は記憶部12及び光ディスクの少なくとも一方によって実現される。なお、ゲームデータ記憶部80は、ゲーム装置10からアクセス可能な他の装置に含まれる記憶部によって実現されるようにしてもよい。すなわち、ゲームデータ記憶部80に記憶されるデータの全部又は一部は、ゲーム装置10からアクセス可能な他の装置に含まれる記憶部に記憶されていてもよい。
また例えば、ユーザキャラクタ制御部82及び敵キャラクタ制御部88は制御部11によって実現される。すなわち、制御部11がプログラムに従って処理を実行することによって、制御部11がユーザキャラクタ制御部82及び敵キャラクタ制御部88として機能するようになる。
ゲームデータ記憶部80はゲームを実行するために必要なデータを記憶する。例えば、ゲーム空間30に配置されるオブジェクトのモデルデータ(形状データ)がゲームデータ記憶部80に記憶される。
また、例えば、ゲームキャラクタ44,46のモーションデータがゲームデータ記憶部80に記憶される。モーションデータは、ゲームキャラクタ44(46)が動作を行う場合の姿勢変化を定めたデータである。言い換えれば、モーションデータは、ゲームキャラクタ44(46)が動作を行う場合の各フレーム(例えば1/30秒又は1/60秒)ごとの姿勢を示すデータである。なお、以下では、ゲームキャラクタ44(46)の姿勢をモーションデータに従って変化させることによってゲームキャラクタ44(46)に動作を行わせることを「モーションデータを再生する」と記載する。
例えば、ゲームキャラクタ44(46)に移動動作を行わせるための移動モーションデータや、ゲームキャラクタ44(46)にフェイント動作を行わせるためのフェイントモーションデータがゲームデータ記憶部80に記憶される。
フェイントモーションデータの再生時間は移動モーションデータの再生時間と比べて短い。なお、「再生時間」とは、モーションデータを先頭から末尾まで再生するために必要な時間のことを意味する。言い換えれば、「再生時間」とは、モーションデータのフレーム数を意味する。
フェイントモーションデータの再生時間は移動モーションデータの再生時間と比べて短いため、例えば図6に示す例の場合、第1方向60へのユーザキャラクタ44Uのフェイント動作(すなわち、フェイントモーションデータの再生)は、第2方向62への敵キャラクタ46Eの移動動作(すなわち、移動モーションデータの再生)よりも早く完了する。このため、第2方向62への敵キャラクタ46Eの移動動作が完了する前に、ユーザキャラクタ44Uは第3方向64へ移動できるようになる。その結果、ユーザキャラクタ44Uは敵キャラクタ46Eをドリブルで抜くことができる。
同様に、図7に示す例の場合、第1方向70へのユーザキャラクタ44Uのフェイント動作(すなわち、フェイントモーションデータの再生)は、第2方向72への敵キャラクタ46Eの移動動作(すなわち、移動モーションデータの再生)よりも早く完了する。このため、第2方向72への敵キャラクタ46Eの移動動作が完了する前に、ユーザキャラクタ44Uは第3方向74へ移動できるようになる。その結果、ユーザキャラクタ44Uは敵キャラクタ46Eのドリブルを阻止することができる。
なお例えば、フェイントモーションデータは、移動モーションデータのうちの、当該移動モーションデータの先頭から所定長の部分と同一又は略同一の部分を含む。例えば、移動モーションデータは、ゲームキャラクタ44(46)が静止状態から移動動作を開始するまでの第1部分と、ゲームキャラクタ44(46)が移動動作を開始した後の第2部分(すなわち、ゲームキャラクタ44(46)が移動動作を行っている部分)と、を含んでいる。
そして、フェイントモーションデータは第1部分と同一又は略同一の部分を含んでいる。すなわち、移動モーションデータの第1部分では、ゲームキャラクタ44(46)が移動動作を開始するために主に上半身を動かすようになっており、フェイントモーションデータでは、あたかも移動動作を開始するかのようにゲームキャラクタ44(46)が主に上半身を動かすようになっている。
なお、フェイントモーションデータは、上半身を動かすことによってあたかも移動動作を開始するかのように見せかけるフェイント動作を示すデータであるため、フェイントモーションデータでは、ゲームキャラクタ44(46)の下半身の動作範囲がゲームキャラクタ44(46)の上半身の動作範囲に比べて小さく設定される。
ここで、「下半身の動作範囲が上半身の動作範囲に比べて小さい」とは、例えば、下半身の代表点の動作範囲が上半身の代表点の動作範囲に比べて小さいことを意味する。また例えば、「下半身の代表点」とは、下半身のうちで最も動作範囲が大きい点であり、「上半身の代表点」とは、上半身のうちで最も動作範囲が大きい点である。
なお、「下半身の動作範囲が上半身の動作範囲に比べて小さい」とは、「下半身の動作量(例えば移動量)が上半身の動作量(例えば移動量)に比べて小さい」と言い換えることもできる。ここで、「下半身の動作量」とは、下半身の代表点の動作量であってもよいし、下半身の各点の動作量の総和であってもよい。同様に、「上半身の動作量」とは、上半身の代表点の動作量であってもよいし、上半身の各点の動作量の総和であってもよい。
モーションデータは移動モーションデータ及びフェイントモーションデータに限られない。例えば、ゲームキャラクタ44(46)にショートパス動作を行わせるためのショートパスモーションデータや、ゲームキャラクタ44(46)にシュート動作を行わせるためのシュートモーションデータ等もゲームデータ記憶部80に記憶される。
モデルデータ及びモーションデータ以外のデータもゲームデータ記憶部80に記憶される。例えば、ゲーム(試合)の現在状況を示すゲーム状況データがゲームデータ記憶部80に記憶される。ゲーム状況データは所定時間(例えば1/30秒又は1/60秒)ごとにゲーム処理が実行されることによって更新される。
例えば、下記に示すようなデータがゲーム状況データに含まれる。
(1)ボール42の状態データ(位置データ及び移動方向データ等)
(2)ゲームキャラクタ44,46の状態データ
(3)仮想カメラ48の状態データ(位置データ及び視線方向データ等)
(4)得点データ
(5)経過時間データ
図9はゲームキャラクタ44,46の状態データの一例を示す。図9に示すように、ゲームキャラクタ44,46の状態データは「ID」、「名前」、「位置」、「向き」、「移動速度」、「モーションデータ」、「再生位置」、「ボール保持フラグ」、「操作対象フラグ」、「能力パラメータ」、及び「状態パラメータ」フィールドを含む。
「ID」フィールドはゲームキャラクタ44,46を一意に識別する識別情報を示す。なお、「C101」〜「C111」はユーザチームに所属するゲームキャラクタ44のIDを示し、「C201」〜「C211」は敵チームに所属するゲームキャラクタ46のIDを示す。「名前」フィールドはゲームキャラクタ44,46の名前(選手名)を示す。
「位置」フィールドはゲームキャラクタ44,46の現在位置を示す。「向き」フィールドはゲームキャラクタ44,46が現在向いている方向を示す。例えば、「向き」フィールドはゲームキャラクタ44,46の正面方向、移動方向、又は視線方向を示す。「移動速度」フィールドはゲームキャラクタ44,46の現在の移動速度を示す。
「モーションデータ」フィールドは再生中のモーションデータの種類を示し、「再生位置」フィールドはモーションデータの現在の再生位置を示す。「モーションデータ」及び「再生位置」フィールドによって、ゲームキャラクタ44,46が現在行っている動作の種類やゲームキャラクタ44,46の現在の姿勢が特定される。
「ボール保持フラグ」フィールドはゲームキャラクタ44,46がボール42を保持しているか否かを示す。例えば、値「0」又は「1」が「ボール保持フラグ」フィールドに登録される。値「0」はゲームキャラクタ44,46がボール42を保持していないことを示し、値「1」はゲームキャラクタ44,46がボール42を保持していることを示す。
「操作対象フラグ」フィールドはゲームキャラクタ44がユーザの操作対象になっているか否かを示す。例えば、値「0」又は「1」が「操作対象フラグ」フィールドに登録される。値「0」はゲームキャラクタ44がユーザの操作対象になっていないことを示し、値「1」はゲームキャラクタ44がユーザの操作対象になっていることを示す。
「能力パラメータ」フィールドはゲームキャラクタ44,46の各種能力に関する能力パラメータを示す。例えば、ドリブル、パス、シュート、ディフェンス能力を示すパラメータ値が「能力パラメータ」フィールドに登録される。
「状態パラメータ」フィールドはゲームキャラクタ44,46の状態に関する状態パラメータを示す。例えば、調子の良さを示すパラメータ値が「状態パラメータ」フィールドに登録される。また例えば、疲労度を示すパラメータ値又は体力の残りを示すパラメータ値が「状態パラメータ」フィールドに登録される。通常、状態パラメータの値が高いほど、状態が良いことを示す。ただし、状態パラメータの値が低いほど、状態が良いことを示すようにしてもよい。
なお、調子が悪い場合、疲労度が高い場合、又は体力が残っていない場合、ゲームキャラクタ44,46は本来の能力を発揮できなくなる。すなわち、ゲームキャラクタ44,46の状態パラメータに基づいて、当該ゲームキャラクタ44,46の能力が通常よりも低下するように能力パラメータの値が補正される。つまり、調子が悪い場合、疲労度が高い場合、又は体力が残っていない場合には、ゲームキャラクタ44,46の能力が通常よりも低下するように能力パラメータの値が補正される。
ユーザキャラクタ制御部82はユーザの操作に基づいてユーザキャラクタを制御する。すなわち、ユーザキャラクタ制御部82はユーザの操作に基づいてユーザキャラクタに各種動作を行わせる。図8に示すように、ユーザキャラクタ制御部82はフェイント動作実行部84及び移動動作実行部86を含む。
フェイント動作実行部84は、第1の方向指示操作がユーザによって行われた場合に、フェイントモーションデータを再生することによって、当該第1の方向指示操作によって指示された方向へのフェイント動作をユーザキャラクタに行わせる。上記のサッカーゲームの場合、ユーザの操作対象になっているゲームキャラクタ44が「ユーザキャラクタ」に相当する。
ここで、「第1の方向指示操作」は方向を指示する操作であり、例えば、第1の操作部材を用いて方向を指示する操作である。上記のサッカーゲームの場合、右スティック24Rが「第1の操作部材」に相当する。
例えば、ゲームコントローラ20本体の動きを検出するための検出部がゲームコントローラ20又はゲーム装置10に備えられている場合、ゲームコントローラ20を動かすことによって方向を指示する操作が「第1の方向指示操作」に相当してもよい。
また例えば、携帯ゲーム機、携帯電話機、又は携帯情報端末本体の動きを検出するためのセンサ(例えば加速度センサ又はジャイロセンサ等)を内蔵した携帯ゲーム機、携帯電話機、又は携帯情報端末がゲーム装置10である場合、ゲーム装置10本体(携帯ゲーム機、携帯電話機、又は携帯情報端末本体)を動かすことによって方向を指示する操作が「第1の方向指示操作」に相当してもよい。
また例えば、タッチスクリーンを備えた携帯ゲーム機、携帯電話機、又は携帯情報端末がゲーム装置10である場合、タッチスクリーンを用いて方向を指示する操作が「第1の方向指示操作」に相当してもよい。具体的には、タッチスクリーン上で指又はタッチペンをスライドさせることによって方向を指示する操作、又はタッチスクリーンに表示された画像(例えばスティック画像又はボタン画像)を用いて方向を指示する操作が「第1の方向指示操作」に相当してもよい。
移動動作実行部86は、第2の方向指示操作がユーザによって行われた場合に、移動モーションデータを再生することによって、当該第2の方向指示操作によって指示された方向への移動動作をユーザキャラクタに行わせる。
ここで、「第2の方向指示操作」は方向を指示する操作であり、第1の方向指示操作とは異なる操作である。例えば、「第2の方向指示操作」は、第1の操作部材とは異なる第2の操作部材を用いて方向を指示する操作である。上記のサッカーゲームの場合、左スティック24Lが「第2の操作部材」に相当する。
例えば、ゲームコントローラ20本体の動きを検出するための検出部がゲームコントローラ20又はゲーム装置10に備えられている場合、ゲームコントローラ20を動かすことによって方向を指示する操作が「第2の方向指示操作」に相当してもよい。
また例えば、携帯ゲーム機、携帯電話機、又は携帯情報端末本体の動きを検出するためのセンサ(例えば加速度センサ又はジャイロセンサ等)を内蔵した携帯ゲーム機、携帯電話機、又は携帯情報端末がゲーム装置10である場合、ゲーム装置10本体(携帯ゲーム機、携帯電話機、又は携帯情報端末本体)を動かすことによって方向を指示する操作が「第2の方向指示操作」に相当してもよい。
例えば、タッチスクリーンを備えた携帯ゲーム機、携帯電話機、又は携帯情報端末がゲーム装置10である場合、具体的には、タッチスクリーン上で指又はタッチペンをスライドさせることによって方向を指示する操作、又はタッチスクリーンに表示された画像(例えばスティック画像又はボタン画像)を用いて方向を指示する操作が「第2の方向指示操作」に相当してもよい。
敵キャラクタ制御部88は、ユーザキャラクタと対立するゲームキャラクタであって、かつ、コンピュータによって操作される敵キャラクタを制御する。上記のサッカーゲームの場合、敵チームに所属するゲームキャラクタ46が「敵キャラクタ」に相当する。
例えば、ユーザキャラクタにフェイント動作を行わせるための第1の方向指示操作が行われた場合(言い換えれば、ユーザキャラクタがフェイント動作を行った場合)に、敵キャラクタ制御部88は、当該第1の方向指示操作によって指示された方向に基づいて、ユーザキャラクタのフェイント動作に反応する動作を敵キャラクタに行わせる。
「ユーザキャラクタのフェイント動作に反応する動作」について説明する。「ユーザキャラクタのフェイント動作に反応する動作」は、例えば、ユーザキャラクタのフェイント動作にひっかかってしまう動作である。言い換えれば、「ユーザキャラクタのフェイント動作に反応する動作」は、ユーザキャラクタのフェイント動作にだまされて行ってしまう動作である。さらに言い換えれば、「ユーザキャラクタのフェイント動作に反応する動作」は、ユーザキャラクタのフェイント動作につられて移動してしまう動作である。なお以下では、「ユーザキャラクタのフェイント動作に反応する動作」のことを「反応動作」と記載する。
ここで、図6に示す場合を想定する。すなわち、ボール42を保持しているユーザキャラクタ44Uが敵キャラクタ46Eをドリブルで抜こうとしている場合を想定する。この場合、ユーザキャラクタ44Uが移動すると見せかけた方向(第1方向60)に向けて移動する動作が「反応動作」に相当する。すなわち、図6に示す第2方向62に向けて移動する動作が「反応動作」に相当する。
また、図7に示す場合を想定する。すなわち、ボール42を保持している敵キャラクタ46Eのドリブルをユーザキャラクタ44Uが阻止しようとしている場合を想定する。この場合、ユーザキャラクタ44Uが移動すると見せかけた方向(第1方向70)とは逆の方向(第2方向72)に向けて移動する動作が「反応動作」に相当する。
なお、上記のような反応動作を行わせるべき敵キャラクタが存在している場合に、敵キャラクタ制御部88は当該敵キャラクタに反応動作を行わせる。
例えば、敵キャラクタの位置及び向きとユーザキャラクタの位置とが所定関係を有している場合に、敵キャラクタ制御部88は当該敵キャラクタが「反応動作を行わせるべき敵キャラクタ」であると判断する。
ここで、「所定関係」とは、例えば、ユーザキャラクタの付近に敵キャラクタが位置しており、かつ、当該敵キャラクタがユーザキャラクタを見ているような関係である。
図10は、敵キャラクタとユーザキャラクタとがこのような関係を有しているか否かを判定する処理の一例について説明するための図である。例えば、敵キャラクタ制御部88は下記二つの条件A,Bが満足されるか否かを判定する。
(A)ユーザキャラクタ44Uと敵キャラクタ46Eとの間の距離(d)が基準距離以下である。
(B)敵キャラクタ46Eの正面方向90と、敵キャラクタ46Eからユーザキャラクタ44Uへの方向92と、の間の角度(θe)が基準角度以下である。
これら二つの条件A,Bの両方が満足される場合、敵キャラクタ制御部88は敵キャラクタ46Eとユーザキャラクタ44Uとが上記関係を有していると判定する。そして、敵キャラクタ制御部88は当該敵キャラクタ46Eを「反応動作を行わせるべき敵キャラクタ」であると判断する。
なお、「所定関係」とは、例えば、ユーザキャラクタの付近に敵キャラクタが位置しており、かつ、当該敵キャラクタとユーザキャラクタとがお互いに見合っているような関係であってもよい。
図11は、敵キャラクタとユーザキャラクタとがこのような関係を有しているか否かを判定するための処理の一例について説明するための図である。例えば、敵キャラクタ制御部88は下記三つの条件A〜Cが満足されるか否かを判定する。
(A)ユーザキャラクタ44Uと敵キャラクタ46Eとの間の距離(d)が基準距離以下である。
(B)敵キャラクタ46Eの正面方向90と、敵キャラクタ46Eからユーザキャラクタ44Uへの方向92と、の間の角度(θe)が基準角度以下である。
(C)ユーザキャラクタ44Uの正面方向94と、ユーザキャラクタ44Uから敵キャラクタ46Eへの方向96と、の間の角度(θu)が基準角度以下である。
これら三つの条件A〜Cのすべてが満足される場合、敵キャラクタ制御部88は敵キャラクタ46Eとユーザキャラクタ44Uとが所定関係を有していると判定する。そして、敵キャラクタ制御部88は当該敵キャラクタ46Eが「反応動作を行わせるべき敵キャラクタ」であると判断する。
「反応動作を行わせるべき敵キャラクタ」が存在している場合、敵キャラクタ制御部88は常に当該敵キャラクタに反応動作を行わせるようにしてもよいし、当該敵キャラクタに反応動作を行わせるか否かを判断基準に基づいて決定するようにしてもよい。後者の態様では、敵キャラクタに反応動作を行わせるを決定された場合に限って、敵キャラクタ制御部88は敵キャラクタに反応動作を行わせる。
ここで、上記「判断基準」の具体例として三つの例について説明する。
[1]まず、一つ目の例について説明する。例えば、「判断基準」は、敵キャラクタに反応動作を行わせると決定する確率を示す確率情報である。すなわち、敵キャラクタ制御部88は敵キャラクタに反応動作を行わせるか否かを確率情報に基づいて決定する。
[2]二つ目の例について説明する。例えば、ユーザキャラクタの所定能力が高いか否かを「判断基準」として用いるようにしてもよい。すなわち、ユーザキャラクタの所定能力が高い場合に、敵キャラクタ制御部88は敵キャラクタに反応動作を行わせるようにしてもよい。
例えば、敵キャラクタ制御部88は、ユーザキャラクタの所定能力パラメータの値が基準範囲に含まれるか否かを判定する。「基準範囲」はユーザキャラクタの所定能力が高いことを示すようなパラメータ値範囲である。そして、上記判定の結果に基づいて、敵キャラクタ制御部88は敵キャラクタに反応動作を行わせるか否かを決定する。
具体的には、ユーザキャラクタの所定能力パラメータの値が基準範囲に含まれる場合に、敵キャラクタ制御部88は敵キャラクタに反応動作を行わせると決定する。一方、ユーザキャラクタの所定能力パラメータの値が基準範囲に含まれない場合に、敵キャラクタ制御部88は敵キャラクタに反応動作を行わせないと決定する。
なお、上記「所定能力パラメータ」としては、例えば下記のような能力パラメータを用いるようにすればよい。
例えば図6に示すように、ボール42を保持しているユーザキャラクタ44Uが敵キャラクタ46Eをドリブルで抜こうとしている場合であれば、ドリブル能力パラメータを「所定の能力パラメータ」として用いるようにしてもよい。このようにすることによって、ドリブル能力が高いユーザキャラクタ44Uがボール42を保持している状態でフェイント動作を行った場合に、ユーザキャラクタ44Uのフェイント動作に反応してしまう動作(反応動作)を敵キャラクタ46Eに行わせるようにしてもよい。
また例えば図7に示すように、ボール42を保持している敵キャラクタ46Eのドリブルをユーザキャラクタ44Uが阻止しようとしている場合であれば、ディフェンス能力パラメータを「所定能力パラメータ」として用いるようにしてもよい。このようにすることによって、ディフェンス能力が高いユーザキャラクタ44Uが敵キャラクタ46Eのドリブルを止めようとしている状態でフェイント動作を行った場合に、ユーザキャラクタ44Uのフェイント動作に反応してしまう動作(反応動作)を敵キャラクタ46Eに行わせるようにしてもよい。
[3]三つ目の例について説明する。例えば、「判断基準」として、敵キャラクタの所定能力が低いか否かを判定するための条件を用いることによって、敵キャラクタの所定能力が低い場合に、敵キャラクタ制御部88は敵キャラクタに反応動作を行わせるようにしてもよい。
すなわち、敵キャラクタ制御部88は、敵キャラクタの所定能力パラメータの値が基準範囲に含まれるか否かを判定するようにしてもよい。ここで、「基準範囲」は敵キャラクタの所定能力が低いことを示すようなパラメータ値範囲である。そして、敵キャラクタ制御部88は、その判定結果に基づいて、敵キャラクタに反応動作を行わせるか否かを決定するようにしてもよい。
具体的には、敵キャラクタの所定能力パラメータの値が基準範囲に含まれる場合に、敵キャラクタ制御部88は、敵キャラクタに反応動作を行わせると決定するようにしてもよい。一方、敵キャラクタの所定能力パラメータの値が基準範囲に含まれない場合に、敵キャラクタ制御部88は、敵キャラクタに反応動作を行わせないと決定するようにしてもよい。
なお、上記「所定能力パラメータ」としては、例えば下記のような能力パラメータを用いるようにすればよい。
例えば図6に示すように、ボール42を保持しているユーザキャラクタ44Uが敵キャラクタ46Eをドリブルで抜こうとしている場合であれば、ディフェンス能力パラメータを「所定能力パラメータ」として用いるようにしてもよい。このようにすることによって、敵キャラクタ46Eのディフェンス能力が低い場合に、ユーザキャラクタ44Uのフェイント動作に反応してしまう動作(反応動作)を敵キャラクタ46Eに行わせるようにしてもよい。
また例えば図7に示すように、ボール42を保持している敵キャラクタ46Eのドリブルをユーザキャラクタ44Uが阻止しようとしている場合であれば、ドリブル能力パラメータを「所定能力パラメータ」として用いるようにしてもよい。このようにすることによって、敵キャラクタ46Eのドリブル能力が低い場合に、ユーザキャラクタ44Uのフェイント動作に反応してしまう動作(反応動作)を敵キャラクタ46Eに行わせるようにしてもよい。
次に、以上に説明した機能ブロックを実現するためにゲーム装置10で実行される処理について説明する。図12は、ゲーム装置10で実行される処理のうち、ユーザキャラクタにフェイント動作又は移動動作を行わせるための処理の一例を示すフロー図である。図12に示す処理はゲーム中において繰り返し実行される。制御部11が図12に示す処理をプログラムに従って実行することによって、制御部11がフェイント動作実行部84、移動動作実行部86、及び敵キャラクタ制御部88として機能する。
図12に示すように、まず、制御部11は、操作部15からの操作信号に基づいて、右スティック24Rが傾倒されたか否かを判定する(S101)。右スティック24Rが傾倒されていない場合、制御部11は後述のステップS106を実行する。
右スティック24Rが傾倒された場合、制御部11(フェイント動作実行部84)はフェイントモーションデータの再生を開始することによって、ユーザキャラクタに、右スティック24Rの傾倒方向に対応する方向へのフェイント動作を開始させる(S102)。
また、制御部11は、ユーザキャラクタの付近に位置し、かつ、ユーザキャラクタを見ている敵キャラクタが存在しているか否かを判定する(S103)。すなわち、制御部11は、上記条件A,Bの両方(又は上記条件A〜Cのすべて)を満足する敵キャラクタが存在しているか否かを判定する。
上記のような敵キャラクタが存在していないと判定された場合、制御部11は後述のステップS106を実行する。一方、上記のような敵キャラクタが存在していると判定された場合、制御部11(敵キャラクタ制御部88)は、ユーザキャラクタのフェイント動作に反応してしまう動作(反応動作)を当該敵キャラクタに行わせるか否かを決定する(S104)。例えば、制御部11は、所定の確率情報に基づいて、敵キャラクタに反応動作を行わせるか否かを決定する。
敵キャラクタに反応動作を行わせないと決定された場合、制御部11は後述のステップS106を実行する。一方、敵キャラクタに反応動作を行わせると決定された場合、制御部11(敵キャラクタ制御部88)は敵キャラクタに反応動作を開始させる(S105)。
すなわち、制御部11は、反応動作のためのモーションデータの再生を開始することによって、敵キャラクタに反応動作を開始させる。なお先述したように、反応動作は「フェイント動作につられて移動してしまう動作」であるため、「反応動作のためのモーションデータ」は移動モーションデータである。「反応動作のためのモーションデータ」の再生時間はフェイントモーションデータの再生時間と比べて長い。
また、制御部11は、操作部15からの操作信号に基づいて、左スティック24Lが傾倒されたか否かを判定する(S106)。左スティック24Lが傾倒されていない場合、本処理は終了する。本処理が終了した場合には本処理が最初から再実行される。
左スティック24Lが傾倒された場合、制御部11(移動動作実行部86)は移動モーションデータを再生することによって、ユーザキャラクタに、左スティック24Lの傾倒方向に対応する方向への移動動作を行わせる(S107)。
なお、ユーザキャラクタがフェイント動作を実行中である場合、制御部11はユーザキャラクタの移動動作の開始をフェイント動作が完了するまで待機させる。そして、フェイント動作が完了したら、制御部11はユーザキャラクタに移動動作を開始させる。以上で本処理の説明を終了する。本処理が終了した場合には本処理が最初から再実行される。
以上に説明したゲーム装置10によれば、ユーザキャラクタに任意の方向へのフェイント動作を行わせることが可能になる。
その結果、例えば図6に示すように、ボール42を保持しているユーザキャラクタ44Uが敵キャラクタ46Eをドリブルで抜こうとしている場合において、ユーザキャラクタ44Uに多様なフェイント動作を行わせることが可能になる。
また、ボール42を保持しているユーザキャラクタ44Uが敵キャラクタ46Eをドリブルで抜こうとしている場合だけでなく、例えば図7に示すように、ボール42を保持している敵キャラクタ46Eのドリブルをユーザキャラクタ44Uが阻止しようとしている場合においても、ユーザキャラクタ44Uに多様なフェイント動作を行わせることが可能になる。
なお、本発明は以上に説明した実施形態に限定されるものではない。
[1]例えば、以上に説明した実施形態では、敵キャラクタ制御部88は、敵キャラクタに反応動作を行わせるか否かを判断基準に基づいて決定するようになっていた。敵キャラクタ制御部88は上記「判断基準」を変更するようにしてもよい。以下、上記「判断基準」を変更する態様の具体例について説明する。なお以下では、「判断基準」が、敵キャラクタに反応動作を行わせると決定する確率を示す確率情報である場合を想定する。
[1−1]まず、一つ目の例について説明する。例えば、敵キャラクタ制御部88は、ユーザキャラクタの能力パラメータ又は状態パラメータに基づいて上記確率情報を設定する。
この場合、ユーザキャラクタの能力パラメータ又は状態パラメータに基づいて上記確率情報を設定するための情報がゲームデータ記憶部80に記憶される。図13はこの情報の一例を示す。図13に示す情報は、ユーザキャラクタのパラメータと上記確率情報との対応関係を定めた情報である。なお、図13に示すようなテーブル形式の情報の代わりに、数式形式の情報が記憶されるようにしてもよい。
図13において、「xu」はユーザキャラクタの能力パラメータ又は状態パラメータの値を示し、「XT」は所定の閾値を示す。また、「Pa」及び「Pb」は、敵キャラクタに反応動作を行わせると決定する確率を示す所定値であり、「Pb」は「Pa」よりも高い確率を示す。このため、図13に示す情報では、ユーザキャラクタの能力パラメータ又は状態パラメータの値が高いほど、敵キャラクタに反応動作を行わせると決定される確率が高くなるように設定されている。
敵キャラクタ制御部88は、ユーザキャラクタの能力パラメータ又は状態パラメータと、図13に示す情報とに基づいて、上記確率情報を設定する。
例えば図6に示すように、ボール42を保持しているユーザキャラクタ44Uが敵キャラクタ46Eをドリブルで抜こうとしている場合であれば、敵キャラクタ制御部88は、ユーザキャラクタ44Uのドリブル能力パラメータと、図13に示す情報とに基づいて、上記確率情報を設定する。このようにすれば、ユーザキャラクタ44Uのドリブル能力が高い場合に、ユーザキャラクタ44Uのフェイント動作に反応してしまう動作(反応動作)を敵キャラクタ46Eに行わせると決定される確率を高く設定できるようになる。
また例えば図7に示すように、ボール42を保持している敵キャラクタ46Eのドリブルをユーザキャラクタ44Uが阻止しようとしている場合であれば、敵キャラクタ制御部88は、ユーザキャラクタ44Uのディフェンス能力パラメータと、図13に示す情報とに基づいて、上記確率情報を設定する。このようにすれば、ユーザキャラクタ44Uのディフェンス能力が高い場合に、ユーザキャラクタ44Uのフェイント動作に反応する動作(反応動作)を敵キャラクタ46Eに行わせると決定される確率を高く設定できるようになる。
[1−2]二つ目の例について説明する。例えば、敵キャラクタ制御部88は、敵キャラクタの能力パラメータ又は状態パラメータに基づいて上記確率情報を設定する。
この場合、敵キャラクタの能力パラメータ又は状態パラメータに基づいて上記確率情報を設定するための情報がゲームデータ記憶部80に記憶される。図14はこの情報の一例を示す。図14に示す情報は、敵キャラクタのパラメータと上記確率情報との対応関係を定めた情報である。なお、図14に示すようなテーブル形式の情報の代わりに、数式形式の情報が記憶されるようにしてもよい。
図14において、「xe」は敵キャラクタの能力パラメータ又は状態パラメータの値を示し、「XT」は所定の閾値を示す。また、「Pc」及び「Pd」は、敵キャラクタに反応動作を行わせると決定する確率を示す所定値であり、「Pc」は「Pd」よりも高い確率を示す。このため、図14に示す情報では、敵キャラクタの能力パラメータ又は状態パラメータの値が低いほど、敵キャラクタに反応動作を行わせると決定される確率が高くなるように設定されている。
敵キャラクタ制御部88は、敵キャラクタの能力パラメータ又は状態パラメータと、図14に示す情報とに基づいて、上記確率情報を設定する。
例えば図6に示すように、ボール42を保持しているユーザキャラクタ44Uが敵キャラクタ46Eをドリブルで抜こうとしている場合であれば、敵キャラクタ制御部88は、敵キャラクタ46Eのディフェンス能力パラメータと、図14に示す情報とに基づいて、上記確率情報を設定する。このようにすれば、敵キャラクタ46Eのディフェンス能力が低い場合に、ユーザキャラクタ44Uのフェイント動作に反応してしまう動作(反応動作)を敵キャラクタ46Eに行わせると決定される確率を高く設定できるようになる。
また例えば図7に示すように、ボール42を保持している敵キャラクタ46Eのドリブルをユーザキャラクタ44Uが阻止しようとしている場合であれば、敵キャラクタ制御部88は、敵キャラクタ46Eのドリブル能力パラメータと、図14に示す情報とに基づいて、上記確率情報を設定する。このようにすれば、敵キャラクタ46Eのドリブル能力が低い場合に、ユーザキャラクタ44Uのフェイント動作に反応してしまう動作(反応動作)を敵キャラクタ46Eに行わせると決定される確率を高く設定できるようになる。
[1−3]三つ目の例について説明する。例えば、ユーザキャラクタにフェイント動作を行わせるための第1の方向指示操作が行われた場合に、敵キャラクタ制御部88はゲームの現在状況に基づいて上記確率情報を設定する。
[1−3−1]例えば、敵キャラクタ制御部88はユーザキャラクタの移動速度に基づいて上記確率情報を設定する。
この場合、ユーザキャラクタの移動速度に基づいて上記確率情報を設定するための情報がゲームデータ記憶部80に記憶される。図15はこの情報の一例を示す。図15に示す情報は、ユーザキャラクタの移動速度と上記確率情報との対応関係を定めた情報である。なお、図15に示すようなテーブル形式の情報の代わりに、数式形式の情報が記憶されるようにしてもよい。
図15において、「vu」はユーザキャラクタの移動速度を示し、「VT」は所定の閾値を示す。また、「Pe」及び「Pf」は、敵キャラクタに反応動作を行わせると決定する確率を示す所定値であり、「Pf」は「Pe」よりも高い確率を示す。このため、図15に示す情報では、ユーザキャラクタの移動速度が速いほど、ユーザキャラクタのフェイント動作に反応してしまう動作(反応動作)を敵キャラクタに行わせると決定される確率が高くなるように設定されている。
敵キャラクタ制御部88は、ユーザキャラクタにフェイント動作を行わせるための第1の方向指示操作が行われた場合(または、ユーザキャラクタがフェイント動作を行った場合)におけるユーザキャラクタの移動速度と、図15に示す情報とに基づいて、上記確率情報を設定する。このようにすれば、ユーザキャラクタの移動速度が速い場合に、ユーザキャラクタのフェイント動作に反応してしまう動作(反応動作)を敵キャラクタに行わせると決定される確率を高く設定できるようになる。
[1−3−2]例えば、敵キャラクタ制御部88は敵キャラクタの移動速度に基づいて上記確率情報を設定する。
この場合、敵キャラクタの移動速度に基づいて上記確率情報を設定するための情報がゲームデータ記憶部80に記憶される。図16はこの情報の一例を示す。図16に示す情報は、敵キャラクタの移動速度と上記確率情報との対応関係を定めた情報である。なお、図16に示すようなテーブル形式の情報の代わりに、数式形式の情報が記憶されるようにしてもよい。
図16において、「ve」は敵キャラクタの移動速度を示し、「VT」は所定の閾値を示す。また、「Pg」及び「Ph」は、敵キャラクタに反応動作を行わせると決定する確率を示す所定値であり、「Pg」は「Ph」よりも高い確率を示す。このため、図16に示す情報では、敵キャラクタの移動速度が遅いほど、ユーザキャラクタのフェイント動作に反応してしまう動作(反応動作)を敵キャラクタに行わせると決定される確率が高くなるように設定されている。
敵キャラクタ制御部88は、ユーザキャラクタにフェイント動作を行わせるための第1の方向指示操作が行われた場合(または、ユーザキャラクタがフェイント動作を行った場合)における敵キャラクタの移動速度と、図16に示す情報とに基づいて、上記確率情報を設定する。このようにすれば、敵キャラクタの移動速度が遅い場合に、ユーザキャラクタのフェイント動作に反応してしまう動作(反応動作)を敵キャラクタに行わせると決定される確率を高く設定できるようになる。
[1−3−3]例えば、敵キャラクタ制御部88はユーザキャラクタの移動速度と敵キャラクタの移動速度との両方に基づいて上記確率情報を設定するようにしてもよい。
この場合、ユーザキャラクタの移動速度と敵キャラクタの移動速度との両方に基づいて上記確率情報を設定するための情報がゲームデータ記憶部80に記憶される。例えば、図15及び図16に示す情報を組み合わせたような情報がゲームデータ記憶部80に記憶される。そして、敵キャラクタ制御部88は、ユーザキャラクタの移動速度と敵キャラクタの移動速度との両方と、当該情報とに基づいて、上記確率情報を設定する。
なお、敵キャラクタ制御部88は、敵キャラクタに対するユーザキャラクタの相対的移動速度に基づいて上記確率情報を設定するようにしてもよい。
この場合、ユーザキャラクタの相対的移動速度に基づいて上記確率情報を設定するための情報がゲームデータ記憶部80に記憶される。例えば、図15に示す情報と同様の情報がゲームデータ記憶部80に記憶される。そして、敵キャラクタ制御部88は、ユーザキャラクタの相対的移動速度と当該情報とに基づいて上記確率情報を設定する。
[1−3−4]例えば、敵キャラクタ制御部88は、ユーザキャラクタとボール42(移動物体)との間の距離に基づいて、上記確率情報を設定する。
この場合、上記距離に基づいて上記確率情報を設定するための情報がゲームデータ記憶部80に記憶される。図17はこの情報の一例を示す。図17に示す情報は、上記距離と上記確率情報との対応関係を定めた情報である。なお、図17に示すようなテーブル形式の情報の代わりに、数式形式の情報が記憶されるようにしてもよい。
図17において、「du」はユーザキャラクタからボール42までの距離を示し、「DT」は所定の閾値を示す。また、「Pi」及び「Pj」は、敵キャラクタに反応動作を行わせると決定する確率を示す所定値であり、「Pi」は「Pj」よりも高い確率を示す。このため、図17に示す情報では、ユーザキャラクタとボール42との間の距離が短いほど、ユーザキャラクタのフェイント動作に反応してしまう動作(反応動作)を敵キャラクタに行わせると決定される確率が高くなるように設定されている。
敵キャラクタ制御部88は、ユーザキャラクタにフェイント動作を行わせるための第1の方向指示操作が行われた場合(または、ユーザキャラクタがフェイント動作を行った場合)におけるユーザキャラクタからボール42までの距離と、図17に示す情報とに基づいて、上記確率情報を設定する。このようにすれば、ユーザキャラクタからボール42までの距離が短い場合に、ユーザキャラクタのフェイント動作に反応してしまう動作(反応動作)を敵キャラクタに行わせると決定される確率を高く設定できるようになる。
[1−3−5]例えば、敵キャラクタ制御部88は、敵キャラクタとボール42(移動物体)との間の距離に基づいて、上記確率情報を設定する。
この場合、上記距離に基づいて上記確率情報を設定するための情報がゲームデータ記憶部80に記憶される。図18はこの情報の一例を示す。図18に示す情報は、上記距離と上記確率情報との対応関係を定めた情報である。なお、図18に示すようなテーブル形式の情報の代わりに、数式形式の情報が記憶されるようにしてもよい。
図18において、「de」は敵キャラクタからボール42までの距離を示し、「DT」は所定の閾値を示す。また、「Pk」及び「Pl」は、敵キャラクタに反応動作を行わせると決定する確率を示す所定値であり、「Pl」は「Pk」よりも高い確率を示す。このため、図18に示す情報では、敵キャラクタとボール42との間の距離が長いほど、ユーザキャラクタのフェイント動作に反応してしまう動作(反応動作)を敵キャラクタに行わせると決定される確率が高くなるように設定されている。
敵キャラクタ制御部88は、ユーザキャラクタにフェイント動作を行わせるための第1の方向指示操作が行われた場合(または、ユーザキャラクタがフェイント動作を行った場合)における敵キャラクタからボール42までの距離と、図18に示す情報とに基づいて、上記確率情報を設定する。このようにすれば、敵キャラクタからボール42までの距離が長い場合に、ユーザキャラクタのフェイント動作に反応してしまう動作(反応動作)を敵キャラクタに行わせると決定される確率を高く設定できるようになる。
[2]例えば、ユーザキャラクタにフェイント動作を行わせる場合において、フェイント動作実行部84はフェイントモーションデータの再生速度を変更するようにしてもよい。
[2−1]例えば、フェイント動作実行部84は、ユーザキャラクタの能力パラメータ又は状態パラメータに基づいて上記再生速度を設定する。
この場合、ユーザキャラクタの能力パラメータ又は状態パラメータに基づいて上記再生速度を設定するための情報がゲームデータ記憶部80に記憶される。図19はこの情報の一例を示す。図19に示す情報は、ユーザキャラクタのパラメータと上記再生速度との対応関係を定めた情報である。なお、図19に示すようなテーブル形式の情報の代わりに、数式形式の情報が記憶されるようにしてもよい。
図19において、「xu」はユーザキャラクタの能力パラメータ又は状態パラメータの値を示し、「XT」は所定の閾値を示す。また、「Va」及び「Vb」は再生速度を示す所定値であり、「Vb」は「Va」よりも速い再生速度を示す。このため、図19に示す情報では、ユーザキャラクタの能力パラメータ又は状態パラメータの値が高いほど、ユーザキャラクタがフェイント動作を行う場合のフェイントモーションデータの再生速度が速くなるように設定されている。
フェイント動作実行部84は、ユーザキャラクタの能力パラメータ又は状態パラメータと、図19に示す情報とに基づいて、上記再生速度を設定する。
例えば図6に示すように、ボール42を保持しているユーザキャラクタ44Uが敵キャラクタ46Eをドリブルで抜こうとしている場合であれば、フェイント動作実行部84は、ユーザキャラクタ44Uのドリブル能力パラメータと、図19に示す情報とに基づいて、上記再生速度を設定する。
このようにすれば、ユーザキャラクタ44Uのドリブル能力が高い場合に、フェイントモーションデータの再生速度を速くできるようになる。この場合、フェイントモーションデータの再生速度が速くなることによって、フェイント動作(第1方向60へのフェイント動作)が早く完了するようになるため、ユーザキャラクタ44Uがその次の動作(第3方向64への移動動作)を早く開始できるようになる。その結果、ユーザキャラクタ44Uはドリブルで敵キャラクタ46Eを抜きやすくなる。
また例えば図7に示すように、ボール42を保持している敵キャラクタ46Eのドリブルをユーザキャラクタ44Uが阻止しようとしている場合であれば、フェイント動作実行部84は、ユーザキャラクタ44Uのディフェンス能力パラメータと、図19に示す情報とに基づいて、上記確率情報を設定する。
このようにすれば、ユーザキャラクタ44Uのディフェンス能力が高い場合に、フェイントモーションデータの再生速度を速くできるようになる。この場合、フェイントモーションデータの再生速度が速くなることによって、フェイント動作(第1方向70へのフェイント動作)が早く完了するようになるため、ユーザキャラクタ44Uがその次の動作(第3方向74への移動動作)を早く開始できるようになる。その結果、ユーザキャラクタ44Uは敵キャラクタ46Eのドリブルを阻止しやすくなる。
[2−2]また例えば、フェイント動作実行部84は、敵キャラクタの能力パラメータ又は状態パラメータに基づいて上記再生速度を設定する。
この場合、敵キャラクタの能力パラメータ又は状態パラメータに基づいて上記再生速度を設定するための情報がゲームデータ記憶部80に記憶される。図20はこの情報の一例を示す。図20に示す情報は、敵キャラクタのパラメータと上記再生速度との対応関係を定めた情報である。なお、図20に示すようなテーブル形式の情報の代わりに、数式形式の情報が記憶されるようにしてもよい。
図20において、「xe」は敵キャラクタの能力パラメータ又は状態パラメータの値を示し、「XT」は所定の閾値を示す。また、「Vc」及び「Vd」は再生速度を示す所定値であり、「Vc」は「Vd」よりも速い再生速度を示す。このため、図20に示す情報では、敵キャラクタの能力パラメータ又は状態パラメータの値が低いほど、ユーザキャラクタがフェイント動作を行う場合のフェイントモーションデータの再生速度が速くなるように設定されている。
フェイント動作実行部84は、敵キャラクタの能力パラメータ又は状態パラメータと、図20に示す情報とに基づいて、上記再生速度を設定する。
例えば図6に示すように、ボール42を保持しているユーザキャラクタ44Uが敵キャラクタ46Eをドリブルで抜こうとしている場合であれば、フェイント動作実行部84は、敵キャラクタ46Eのディフェンス能力パラメータと、図20に示す情報とに基づいて、上記再生速度を設定する。
このようにすれば、敵キャラクタ46Eのディフェンス能力が低い場合に、フェイントモーションデータの再生速度を速くできるようになる。この場合、フェイントモーションデータの再生速度が速くなることによって、フェイント動作(第1方向60へのフェイント動作)が早く完了するようになるため、ユーザキャラクタ44Uがその次の動作(第3方向64への移動動作)を早く開始できるようになる。その結果、ユーザキャラクタ44Uはドリブルで敵キャラクタ46Eを抜きやすくなる。
また例えば図7に示すように、ボール42を保持している敵キャラクタ46Eのドリブルをユーザキャラクタ44Uが阻止しようとしている場合であれば、フェイント動作実行部84は、敵キャラクタ46Eのドリブル能力パラメータと、図20に示す情報とに基づいて、上記確率情報を設定する。
このようにすれば、敵キャラクタ46Eのドリブル能力が低い場合に、フェイントモーションデータの再生速度を速くできるようになる。この場合、フェイントモーションデータの再生速度が速くなることによって、フェイント動作(第1方向70へのフェイント動作)が早く完了するようになるため、ユーザキャラクタ44Uがその次の動作(第3方向74への移動動作)を早く開始できるようになる。その結果、ユーザキャラクタ44Uは敵キャラクタ46Eのドリブルを阻止しやすくなる。
[3]例えば、本発明はゲームシステムにも適用することが可能である。例えば、本発明は、図21に示すようなゲームシステム100にも適用することが可能である。図21に示すゲームシステム100はゲーム装置10とゲームサーバ102とを含んでいる。ゲームサーバ102は例えば制御部等を備えたサーバコンピュータである。
ゲームシステム100では、ゲーム装置10とゲームサーバ102とが通信ネットワーク104を介してデータを授受することによってゲームが実行される。
例えば、ゲームシステム100では、ゲームサーバ102に備えられた記憶部、又はゲームサーバ102からアクセス可能な装置に備えられた記憶部にゲーム状況データ等が記憶される。
また、ゲームシステム100では、ゲーム装置10において行われた操作に関するデータがゲーム装置10からゲームサーバ102に送信される。ゲームサーバ102では、ゲーム装置10から送信されたデータに基づいて、ゲーム状況データが更新される。そして、ゲーム状況データの更新内容を示すデータがゲームサーバ102からゲーム装置10に送信される。ゲーム装置10では、ゲームサーバ102から送信されたデータに基づいて、ゲーム画面50が表示部16に表示される。
なお、ゲームシステム100では、ゲームサーバ102においてゲーム状況データが更新された場合に、更新後の現在状況データに基づいてゲームサーバ102がゲーム画面50を生成するようにしてもよい。そして、生成されたゲーム画面50を示すデータがゲームサーバ102からゲーム装置10に送信されるようにしてもよい。
この場合、図12に示す各ステップの処理がゲームサーバ102において実行され、図8に示す各機能ブロックがゲームサーバ102(ゲーム制御装置)の制御部によって実現される。
なお、図8に示す機能ブロックをゲームサーバ102及びゲーム装置10が分担して実現するようにしてもよい。すなわち、図8に示す機能ブロックのうちの一部の機能ブロックがゲームサーバ102において実現され、他の機能ブロックがゲーム装置10において実現されるようにしてもよい。
[4]以上に説明した実施形態ではゲーム空間30が仮想三次元空間になっていたが、ゲーム空間は仮想二次元空間であってもよい。すなわち、二つの座標値によってキャラクタの位置等が表されるようにしてもよい。
[5]以上では、本発明をサッカーゲームに適用した場合について説明した。しかしながら、本発明はサッカーゲーム以外にも適用することが可能である。例えば、本発明は、移動物体を用いて行われるスポーツを模したスポーツゲームに適用することが可能である。また例えば、本発明はスポーツゲーム以外のゲームに適用することが可能である。本発明は、ユーザの操作に従ってユーザキャラクタが動作するゲームに適用することが可能である。