説明

ゲームプログラム、ゲーム装置及びゲーム制御方法

【課題】現実空間において人が行う動作をゲーム空間において違和感なく表示できるようにする。
【解決手段】本ゲームプログラムでは、設定位置データおよび第1モーションデータに対応する基本位置データ72に基づいて、第1合成モーションデータが生成される。そして、設定位置データおよび第2モーションデータに対応する基本位置データ72に基づいて、第2合成モーションデータが生成される。そして、設定位置データと、第1モーションデータに対応する基本位置データ72および第2モーションデータに対応する基本位置データ72とに基づいて、第3合成モーションデータが生成される。すると、第3合成モーションデータを用いて、対象点を対象にして動作するキャラクタ70が、画像表示部3に表示される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームプログラム、特に、ゲーム空間において動作するキャラクタを画像表示部に表示するゲームを実現するためのゲームプログラムに関する。また、このゲームプログラムにより実現されるゲームを実行可能なゲーム装置、およびこのゲームプログラムにより実現されるゲームをコンピュータにより制御するゲーム制御方法に関する。
【背景技術】
【0002】
従来から様々なビデオゲームが提案されている。これらビデオゲームは、ゲーム装置において実行されるようになっている。たとえば、一般的なゲーム装置は、モニタと、モニタとは別体のゲーム機本体と、ゲーム機本体とは別体の入力装置たとえばコントローラとを有している。コントローラには、複数の入力釦が配置されている。
【0003】
このようなゲーム装置によって実現されるゲームの1つとして、たとえば、野球ゲームが知られている(非特許文献1を参照)。このような野球ゲームでは、試合イベントが実行されると、投手キャラクタ、野手キャラクタ、および打者キャラクタ等がモニタに表示される。この状態において、プレイヤが、モニタに表示された各キャラクタに対して各種の命令を指示すると、指示された命令に対応する動作を各キャラクタに実行させることができる。
【0004】
ここでは、たとえば、プレイヤが打者キャラクタに各種の命令を指示する場合を考える。具体的には、投手キャラクタからリリースされたボールを捉えるためのミートカーソルがストライクゾーンの中央部でモニタに表示された状態において、相手プレイヤがコントローラを操作することにより投手キャラクタに投球の開始を指示すると、投手キャラクタの投球動作がモニタに表示される。そして、投手キャラクタからボールがリリースされると、リリースされたボールが打者キャラクタのヒッティング面を通過するときの位置を示す着弾点が、モニタに表示される。
【0005】
そして、ストライクゾーンの中央部に表示されたミートカーソルがボールの予想通過位置に一致するように、プレイヤがコントローラを操作すると、ミートカーソルがボールの着弾点の方向に移動する状態がモニタに表示される。そして、プレイヤが打者キャラクタにスイングを開始させるための命令を指示すると、打者キャラクタのスイング動作がモニタに表示される。そして、プレイヤが、投手キャラクタからリリースされたボールが打者キャラクタのヒッティング面に到達したときのボールの着弾点に、ミートカーソルの一部を重複させることができれば、打者キャラクタにより打ち返されたボールが移動する状態がモニタに表示される。
【非特許文献1】実況パワフルプロ野球13 決定版、コナミデジタルエンタテインメント、PS2版、2006年7月13日
【発明の開示】
【発明が解決しようとする課題】
【0006】
従来の野球ゲームでは、コントローラを操作することにより、ミートカーソルをストライクゾーンの中央部(初期位置)からコントローラの操作方向に移動させることができるようになっていた。そして、打者キャラクタにスイングを開始させるための命令が指示されると、打者キャラクタのスイング動作がモニタに表示されるようになっていた。
【0007】
このような従来の野球ゲームでは、投手キャラクタのスイング動作をモニタに表示するために、スイング用のモーションデータが記憶部に格納されている。このスイング用のモーションデータは、ストライクゾーンの中央部(ミートカーソルの初期位置)を通る上下方向の各位置において定義されていた。このため、ミートカーソルがストライクゾーンの中央部を通る垂線上に位置するときに、打者キャラクタにスイング開始命令が指示された場合は、打者キャラクタがスムーズにスイングする動作がモニタに表示されていた。
【0008】
しかしながら、ミートカーソルがストライクゾーンの中央部を通る垂線上に位置しないときに、打者キャラクタにスイング開始命令が指示された場合は、ミートカーソルから垂線までの水平距離分だけ打者キャラクタを移動した後に、記憶部に格納されたスイング用のモーションデータを用いて、打者キャラクタのスイング動作がモニタに表示されていた。このように、従来の野球ゲームでは、ミートカーソルがストライクゾーンの中央部を通る垂線上に位置しない場合、打者キャラクタがスイングを開始する前に水平方向に移動するという動作、すなわち現実には考えられないような打撃時の動画が、モニタに表示されてしまうという問題点があった。
【0009】
本発明の目的は、現実空間において人が行う動作をゲーム空間においても違和感なく表示することができるようにすることにある。
【課題を解決するための手段】
【0010】
請求項1に係るゲームプログラムは、ゲーム空間において動作するキャラクタを画像表示部に表示するゲームを実行可能なコンピュータに、以下の機能を実現させるためのプログラムである。
(1)記憶部に格納された、キャラクタの基本動作に対応する複数の基本モーションデータそれぞれを、制御部に認識させる基本モーションデータ認識機能。
(2)複数の基本モーションデータのうちの少なくとも2つのモーションデータそれぞれを、第1モーションデータとして制御部に認識させる第1モーションデータ認識機能。
(3)複数の第1モーションデータのうちの少なくとも1つの第1モーションデータを除いた複数の基本モーションデータのうちの、少なくとも2つのモーションデータそれぞれを、第2モーションデータとして制御部に認識させる第2モーションデータ認識機能。
(4)記憶部に格納された、キャラクタの基本動作の対象となる対象点の基本位置を示す基本位置データを、制御部に認識させる基本対象点認識機能。
(5)キャラクタの基本動作を含むキャラクタの動作の対象となる対象点の設定位置を示す設定位置データを、制御部に認識させる設定対象点認識機能。
(6)設定位置データおよび第1モーションデータに対応する基本位置データに基づいて、複数の第1モーションデータを合成する処理を制御部に実行させることにより、この処理により合成されたモーションデータを第1合成モーションデータとして制御部に認識させる第1合成モーションデータ認識機能。
(7)設定位置データおよび第2モーションデータに対応する基本位置データに基づいて、複数の第2モーションデータを合成する処理を制御部に実行させることにより、この処理により合成されたモーションデータを第2合成モーションデータとして制御部に認識させる第2合成モーションデータ認識機能。
(8)設定位置データと、第1モーションデータに対応する基本位置データおよび第2モーションデータに対応する基本位置データとに基づいて、第1合成モーションデータと第2合成モーションデータとを合成する処理を制御部に実行させることにより、この処理により合成されたモーションデータを第3合成モーションデータとして制御部に認識させる第3合成モーションデータ認識機能。
(9)第3合成モーションデータを用いて、対象点を対象にして動作するキャラクタを画像表示部に表示するキャラクタ表示機能。
【0011】
このゲームプログラムでは、基本モーションデータ認識機能において、記憶部に格納された、キャラクタの基本動作に対応する複数の基本モーションデータそれぞれが、制御部に認識される。第1モーションデータ認識機能においては、複数の基本モーションデータのうちの少なくとも2つのモーションデータそれぞれが、第1モーションデータとして制御部に認識される。第2モーションデータ認識機能においては、複数の第1モーションデータのうちの少なくとも1つの第1モーションデータを除いた複数の基本モーションデータのうちの、少なくとも2つのモーションデータそれぞれが、第2モーションデータとして制御部に認識される。
【0012】
基本対象点認識機能においては、記憶部に格納された、キャラクタの基本動作の対象となる対象点の基本位置を示す基本位置データが、制御部に認識される。設定対象点認識機能においては、キャラクタの基本動作を含むキャラクタの動作の対象となる対象点の設定位置を示す設定位置データが、制御部に認識される。
【0013】
第1合成モーションデータ認識機能においては、設定位置データおよび第1モーションデータに対応する基本位置データに基づいて、複数の第1モーションデータを合成する処理が、制御部により実行される。すると、この処理により合成されたモーションデータが、第1合成モーションデータとして制御部に認識される。第2合成モーションデータ認識機能においては、設定位置データおよび第2モーションデータに対応する基本位置データに基づいて、複数の第2モーションデータを合成する処理が、制御部により実行される。すると、この処理により合成されたモーションデータが、第2合成モーションデータとして制御部に認識される。
【0014】
第3合成モーションデータ認識機能においては、設定位置データと、第1モーションデータに対応する基本位置データおよび第2モーションデータに対応する基本位置データとに基づいて、第1合成モーションデータと第2合成モーションデータとを合成する処理が、制御部により実行される。すると、この処理により合成されたモーションデータが、第3合成モーションデータとして制御部に認識される。キャラクタ表示機能においては、第3合成モーションデータを用いて、対象点を対象にして動作するキャラクタが、画像表示部に表示される。
【0015】
たとえば、本ゲームプログラムで野球ゲームを実現した場合、記憶部に格納された、打者キャラクタの基本スイング動作に対応する複数の基本モーションデータそれぞれが、制御部に認識される。そして、複数の基本モーションデータのうちの少なくとも2つのモーションデータそれぞれが、第1モーションデータとして制御部に認識される。また、複数の第1モーションデータのうちの少なくとも1つの第1モーションデータを除いた複数の基本モーションデータのうちの、少なくとも2つのモーションデータそれぞれが、第2モーションデータとして制御部に認識される。
【0016】
そして、記憶部に格納された、打者キャラクタの基本スイング動作の対象となる対象点の基本位置を示す基本位置データが、制御部に認識される。また、打者キャラクタの基本スイング動作を含む打者キャラクタのスイング動作の対象となるミートカーソルの設定位置を示す設定位置データが、制御部に認識される。
【0017】
そして、設定位置データおよび第1モーションデータに対応する基本位置データに基づいて、複数の第1モーションデータを合成する処理が、制御部により実行される。すると、この処理により合成されたモーションデータが、第1合成モーションデータとして制御部に認識される。また、設定位置データおよび第2モーションデータに対応する基本位置データに基づいて、複数の第2モーションデータを合成する処理が、制御部により実行される。すると、この処理により合成されたモーションデータが、第2合成モーションデータとして制御部に認識される。
【0018】
そして、設定位置データと、第1モーションデータに対応する基本位置データおよび第2モーションデータに対応する基本位置データとに基づいて、第1合成モーションデータと第2合成モーションデータとを合成する処理が、制御部により実行される。すると、この処理により合成されたモーションデータが、第3合成モーションデータとして制御部に認識される。すると、第3合成モーションデータを用いて、ミートカーソルを対象にしてスイング動作する打者キャラクタが、画像表示部に表示される。
【0019】
この場合、設定位置データおよび第1モーションデータに対応する基本位置データに基づいて、打者キャラクタの基本スイング動作に対応する複数の基本モーションデータに含まれる、複数の第1モーションデータを合成することにより、第1合成モーションデータが生成される。また、設定位置データおよび第2モーションデータに対応する基本位置データに基づいて、打者キャラクタの基本スイング動作に対応する複数の基本モーションデータに含まれる、複数の第2モーションデータを合成することにより、第2合成モーションデータが生成される。そして、設定位置データと、第1モーションデータに対応する基本位置データおよび第2モーションデータに対応する基本位置データとに基づいて、第1合成モーションデータと第2合成モーションデータとを合成することにより、第3合成モーションデータが生成される。すると、この第3合成モーションデータを用いて、ミートカーソルを対象にしてスイング動作する打者キャラクタが、画像表示部に表示される。
【0020】
このように、請求項1に係る発明では、基本位置データが示す基本スイング動作の対象位置および設定位置データが示すミートカーソルの位置に基づいて、基本となる基本モーションデータを合成し、合成されたモーションデータを再合成することにより、最終的な合成モーションデータが生成されるようになっている。すなわち、基本位置データが示す基本スイング動作の対象位置および設定位置データが示すミートカーソルの位置に基づいて、基本となる基本モーションデータから、第1合成モーションデータおよび第2合成モーションデータを介して、第3合成モーションデータが生成されるようになっている。このため、ミートカーソルがどの位置に位置していても、第3合成モーションデータを用いることにより、打者キャラクタの現実的なスイング動作を、モニタに表示することができる。一般的な表現を用いると、請求項1に係る発明では、現実空間において人が行う動作をゲーム空間においても違和感なく表示することができる。
【0021】
請求項2に係るゲームプログラムは、請求項1に記載のゲームプログラムにおいて、コンピュータに、以下の機能をさらに実現させるためのプログラムである。
(10)キャラクタの動作の対象となる対象点を移動させるための対象点移動命令が発行されたか否かを制御部に判断させる対象点移動判断機能。
【0022】
このゲームプログラムでは、対象点移動判断機能において、キャラクタの動作の対象となる対象点を移動させるための対象点移動命令が発行されたか否かが、制御部により判断される。そして、設定対象点認識機能においては、対象点移動命令が発行されていないと制御部により判断された場合、現在の対象点の設定位置を示す設定位置データが、制御部に認識される。一方で、対象点移動命令が発行されたと制御部により判断された場合、移動後の対象点の設定位置を示す設定位置データが、制御部に認識される。
【0023】
たとえば、本ゲームプログラムで野球ゲームを実現した場合、打者キャラクタのスイング動作の対象となるミートカーソルを移動させるためのミートカーソル移動命令が発行されたか否かが、制御部により判断される。そして、ミートカーソル移動命令が発行されていないと制御部により判断された場合、現在のミートカーソルの設定位置を示す設定位置データが、制御部に認識される。一方で、ミートカーソル移動命令が発行されたと制御部により判断された場合、移動後のミートカーソルの設定位置を示す設定位置データが、制御部に認識される。
【0024】
この場合、ミートカーソル移動命令が発行されたと制御部により判断された場合、移動後のミートカーソルの設定位置を示す設定位置データが、制御部に認識される。具体的には、ミートカーソルが移動した場合、移動後のミートカーソルの設定位置データが、制御部に認識される。このように、請求項2に係る発明では、ミートカーソルがどの位置に移動しても、第3合成モーションデータを用いることにより、打者キャラクタの現実的なスイング動作を、モニタに表示することができる。一般的な表現を用いると、請求項2に係る発明では、現実空間において人が行う動作をゲーム空間においても違和感なく表示することができる。
【0025】
請求項3に係るゲームプログラムは、請求項1又は2に記載のゲームプログラムにおいて、コンピュータに、以下の機能をさらに実現させるためのプログラムである。
(11)キャラクタの動作の対象となる対象点の設定位置を示す設定位置データを受け付ける時間を制限するための受付制限時間データを、制御部に認識させる受付制限時間データ認識機能。
(12)キャラクタに動作を開始させるための動作開始命令が発行されたか否かを制御部に判断させる動作開始命令判断機能。
(13)動作開始命令が発行されたと制御部により判断された場合に、動作開始命令が発行された時点を基準として、受付制限時間データが示す時間が経過したか否かを制御部に判断させる制限時間判断機能。
【0026】
このゲームプログラムでは、受付制限時間データ認識機能において、キャラクタの動作の対象となる対象点の設定位置を示す設定位置データを受け付ける時間を制限するための受付制限時間データが、制御部に認識される。動作開始命令判断機能においては、キャラクタに動作を開始させるための動作開始命令が発行されたか否かが、制御部により判断される。制限時間判断機能においては、動作開始命令が発行されたと制御部により判断された場合、動作開始命令が発行された時点を基準として、受付制限時間データが示す時間が経過したか否かが、制御部により判断される。そして、設定対象点認識機能においては、動作開始命令が発行されたと制御部により判断され、動作開始命令が発行された時点を基準として受付制限時間データが示す時間が経過していないと制御部により判断された場合に、キャラクタの動作の対象となる対象点の設定位置を示す設定位置データが、制御部に認識される。
【0027】
たとえば、本ゲームプログラムで野球ゲームを実現した場合、打者キャラクタのスイング動作の対象となるミートカーソルの設定位置を示す設定位置データを受け付ける時間を制限するための受付制限時間データが、制御部に認識される。そして、打者キャラクタにスイング動作を開始させるためのスイング動作開始命令が発行されたか否かが、制御部により判断される。そして、スイング動作開始命令が発行されたと制御部により判断された場合、スイング動作開始命令が発行された時点を基準として、受付制限時間データが示す時間が経過したか否かが、制御部により判断される。そして、スイング動作開始命令が発行されたと制御部により判断され、スイング動作開始命令が発行された時点を基準として受付制限時間データが示す時間が経過していないと制御部により判断された場合に、打者キャラクタのスイング動作の対象となるミートカーソルの設定位置を示す設定位置データが、制御部に認識される。
【0028】
この場合、スイング動作開始命令が発行されたと制御部により判断され、スイング動作開始命令が発行された時点を基準として受付制限時間データが示す時間が経過していないと制御部により判断された場合に、打者キャラクタのスイング動作の対象となるミートカーソルの設定位置を示す設定位置データが、制御部に認識される。具体的には、打者キャラクタがスイング動作を開始した時点から受付制限時間(所定の時間)が経過するまでの間は、ミートカーソルの設定位置を示す設定位置データが、制御部に認識される。言い換えると、打者キャラクタがスイング動作を開始した時点から受付制限時間(所定の時間)が経過した後は、ミートカーソルの設定位置を示す設定位置データの認識が、制御部に拒否される。このように、請求項3に係る発明では、打者キャラクタがスイング動作を開始した時点から受付制限時間が経過すると、ミートカーソルの設定位置が認識されなくなるので、打者キャラクタがフォロースイングを行っているときや、投手キャラクタからリリースされたボールがヒッティング面を通過したときなどに、不要なモーションデータを合成する処理が実行されないようにすることができる。一般的な表現を用いると、請求項3に係る発明では、ゲーム空間において有用な動作だけを、効率良く生成することができ、違和感なく表示することができる。
【0029】
請求項4に係るゲームプログラムは、請求項1から3のいずれかに記載のゲームプログラムにおいて、コンピュータに、以下の機能をさらに実現させるためのプログラムである。
(14)キャラクタの動作の対象となる対象領域の範囲を示す範囲データを、制御部に認識させる対象範囲認識機能。
【0030】
このゲームプログラムでは、対象範囲認識機能において、キャラクタの動作の対象となる対象領域の範囲を示す範囲データが、制御部に認識される。そして、基本対象点認識機能においては、対象領域の範囲内に位置する対象点の基本位置を示す基本対象位置データが、制御部に認識される。また、設定対象点認識機能においては、対象領域の範囲内に位置する対象点の設定位置を示す設定位置データが、制御部に認識される。
【0031】
たとえば、本ゲームプログラムで野球ゲームを実現した場合、打者キャラクタのスイング動作の対象となるボールの通過領域の範囲を示す範囲データが、制御部に認識される。そして、ボールの通過領域の範囲内に位置する基本位置を示す基本対象位置データが、制御部に認識される。また、ボールの通過領域の範囲内に位置するミートカーソルの設定位置を示す設定位置データが、制御部に認識される。
【0032】
この場合、ボールの通過領域の範囲を示す範囲データを制御部に認識させることにより、ボールの通過領域をゲーム空間に設定することができる。また、ボールの通過領域の範囲内において基本位置およびミートカーソルの設定位置を制御部に認識させることにより、ボールの通過領域の範囲内に位置するミートカーソルの位置に応じて、第3合成モーションデータを生成することができる。一般的な表現を用いると、請求項4に係る発明では、ゲーム空間における対象領域を対象として、キャラクタの動作をスムーズにモニタに表示することができる。
【0033】
請求項5に係るゲームプログラムは、請求項1から4のいずれかに記載のゲームプログラムにおいて、コンピュータに、以下の機能をさらに実現させるためのプログラムである。
(15)キャラクタの基本動作の対象となる対象点に対する、キャラクタの動作の対象となる対象点の相対的な位置を規定するための相対データを算出する処理を、制御部に実行させる相対データ算出機能。
【0034】
このゲームプログラムでは、相対データ算出機能において、キャラクタの基本動作の対象となる対象点に対する、キャラクタの動作の対象となる対象点の相対的な位置を規定するための相対データを算出する処理が、制御部により実行される。そして、第1合成モーションデータ認識機能においては、設定位置データおよび第1モーションデータに対応する基本位置データに基づいて算出された第1相対データを用いて、複数の第1モーションデータを合成する処理が、制御部により実行される。すると、この処理により合成されたモーションデータが、第1合成モーションデータとして制御部に認識される。また、第2合成モーションデータ認識機能においては、設定位置データおよび第2モーションデータに対応する基本位置データに基づいて算出された第2相対データを用いて、複数の第2モーションデータを合成する処理が、制御部により実行される。すると、この処理により合成されたモーションデータが、第2合成モーションデータとして制御部に認識される。さらに、第3合成モーションデータ認識機能においては、設定位置データと、第1モーションデータに対応する基本位置データおよび第2モーションデータに対応する基本位置データとに基づいて算出される第3相対データを用いて、第1合成モーションデータと第2合成モーションデータとを合成する処理が、制御部により実行される。すると、この処理により合成されたモーションデータが、第3合成モーションデータとして制御部に認識される。
【0035】
たとえば、本ゲームプログラムで野球ゲームを実現した場合、打者キャラクタの基本スイング動作の対象となる対象点に対する、打者キャラクタのスイング動作の対象となるミートカーソルの相対的な位置を規定するための相対データを算出する処理が、制御部により実行される。すると、設定位置データおよび第1モーションデータに対応する基本位置データに基づいて算出された第1相対データを用いて、複数の第1モーションデータを合成する処理が、制御部により実行される。すると、この処理により合成されたモーションデータが、第1合成モーションデータとして制御部に認識される。また、第2合成モーションデータ認識機能においては、設定位置データおよび第2モーションデータに対応する基本位置データに基づいて算出された第2相対データを用いて、複数の第2モーションデータを合成する処理が、制御部により実行される。すると、この処理により合成されたモーションデータが、第2合成モーションデータとして制御部に認識される。さらに、第3合成モーションデータ認識機能においては、設定位置データと、第1モーションデータに対応する基本位置データおよび第2モーションデータに対応する基本位置データとに基づいて算出される第3相対データを用いて、第1合成モーションデータと第2合成モーションデータとを合成する処理が、制御部により実行される。すると、この処理により合成されたモーションデータが、第3合成モーションデータとして制御部に認識される。
【0036】
この場合、打者キャラクタの基本スイング動作の対象となる対象点に対するミートカーソルの相対的な位置を規定するための相対データが、制御部により算出されるようになっている。これにより、たとえば、打者キャラクタの基本スイング動作の対象となる対象点に対するミートカーソルの相対的な位置を規定するための相対データたとえば比率データに応じて、異なる第3合成モーションデータを生成することができる。すなわち、基本スイング動作の対象となる対象点に対するミートカーソルの位置に応じて、異なる第3合成モーションデータを生成することができる。一般的な表現を用いると、請求項5に係る発明では、現実空間において人が行う動作をゲーム空間においても違和感なく表示することができる。
【0037】
請求項6に係るゲームプログラムでは、請求項5に記載のゲームプログラムにおいて、複数の基本モーションデータのうちの2つのモーションデータそれぞれが、第1モーションデータとして制御部に認識される(第1モーションデータ認識機能)。そして、2つの第1モーションデータを除いた複数の基本モーションデータのうちの2つのモーションデータそれぞれが、第2モーションデータとして制御部に認識される(第2モーションデータ認識機能)。そして、2つの第1モーションデータ用の2つの対象点に対する、キャラクタの動作の対象となる対象点の相対的な位置を規定するための、第1相対データを算出する処理が、制御部により実行される。また、2つの第2モーションデータ用の2つの対象点に対する、キャラクタの動作の対象となる対象点の相対的な位置を規定するための、第2相対データを算出する処理が、制御部により実行される。さらに、2つの第1モーションデータ用の2つの対象点のうちのいずれか一方の対象点および2つの第2モーションデータ用の2つの対象点のうちのいずれか一方の対象点に対する、キャラクタの動作の対象となる対象点の相対的な位置を規定するための、第3相対データを算出する処理が、制御部により実行される(相対データ算出機能)。
【0038】
この場合、たとえば、複数の基本モーションデータのうちの2つの第1モーションデータおよび2つの第2モーションデータが、制御部に認識される。そして、2つの第1モーションデータ用の2つの対象点に対するミートカーソルの相対的な位置を規定するための第1相対データが、制御部により算出される。また、2つの第2モーションデータ用の2つの対象点に対するミートカーソルの相対的な位置を規定するための第2相対データが、制御部により算出される。さらに、2つの第1モーションデータ用の2つの対象点のうちのいずれか一方の対象点および2つの第2モーションデータ用の2つの対象点のうちのいずれか一方の対象点に対する、ミートカーソルの相対的な位置を規定するための、第3相対データが制御部により算出される。
【0039】
このように、請求項6に係る発明では、4つのモーションデータ用の対象点に対するミートカーソルの相対的な位置を規定するための相対データたとえば比率データに応じて、4つのモーションデータ(2つの第1モーションデータおよび2つの第2モーションデータ)から第1合成モーションデータおよび第2合成モーションデータを介して第3合成モーションデータを生成することができる。すなわち、4つの基本スイング動作の対象となる対象点に対するミートカーソルの位置に応じて、4つのモーションデータから第1合成モーションデータおよび第2合成モーションデータを介して第3合成モーションデータを生成することができる。これにより、請求項6に係る発明では、現実空間において人が行う動作をゲーム空間においても違和感なく表示することができる。
【0040】
請求項7に係るゲーム装置は、ゲーム空間において動作するキャラクタを画像表示部に表示するゲームを実行可能なゲーム装置である。このゲーム装置は、記憶部に格納された、キャラクタの基本動作に対応する複数の基本モーションデータそれぞれを、制御部に認識させる基本モーションデータ認識手段と、複数の基本モーションデータのうちの少なくとも2つのモーションデータそれぞれを、第1モーションデータとして制御部に認識させる第1モーションデータ認識手段と、複数の第1モーションデータのうちの少なくとも1つの第1モーションデータを除いた複数の基本モーションデータのうちの、少なくとも2つのモーションデータそれぞれを、第2モーションデータとして制御部に認識させる第2モーションデータ認識手段と、記憶部に格納された、キャラクタの基本動作の対象となる対象点の基本位置を示す基本位置データを、制御部に認識させる基本対象点認識手段と、キャラクタの基本動作を含むキャラクタの動作の対象となる対象点の設定位置を示す設定位置データを、制御部に認識させる設定対象点認識手段と、設定位置データおよび第1モーションデータに対応する基本位置データに基づいて、複数の第1モーションデータを合成する処理を制御部に実行させることにより、この処理により合成されたモーションデータを第1合成モーションデータとして制御部に認識させる第1合成モーションデータ認識手段と、設定位置データおよび第2モーションデータに対応する基本位置データに基づいて、複数の第2モーションデータを合成する処理を制御部に実行させることにより、この処理により合成されたモーションデータを第2合成モーションデータとして制御部に認識させる第2合成モーションデータ認識手段と、設定位置データと、第1モーションデータに対応する基本位置データおよび第2モーションデータに対応する基本位置データとに基づいて、第1合成モーションデータと第2合成モーションデータとを合成する処理を制御部に実行させることにより、この処理により合成されたモーションデータを第3合成モーションデータとして制御部に認識させる第3合成モーションデータ認識手段と、第3合成モーションデータを用いて、対象点を対象にして動作するキャラクタを画像表示部に表示するキャラクタ表示手段と、を備えている。
【0041】
請求項8に係るゲーム制御方法は、ゲーム空間において動作するキャラクタを画像表示部に表示するゲームをコンピュータにより制御するゲーム制御方法である。このゲーム制御方法は、記憶部に格納された、キャラクタの基本動作に対応する複数の基本モーションデータそれぞれを、制御部に認識させる基本モーションデータ認識ステップと、複数の基本モーションデータのうちの少なくとも2つのモーションデータそれぞれを、第1モーションデータとして制御部に認識させる第1モーションデータ認識ステップと、複数の第1モーションデータのうちの少なくとも1つの第1モーションデータを除いた複数の基本モーションデータのうちの、少なくとも2つのモーションデータそれぞれを、第2モーションデータとして制御部に認識させる第2モーションデータ認識ステップと、記憶部に格納された、キャラクタの基本動作の対象となる対象点の基本位置を示す基本位置データを、制御部に認識させる基本対象点認識ステップと、キャラクタの基本動作を含むキャラクタの動作の対象となる対象点の設定位置を示す設定位置データを、制御部に認識させる設定対象点認識ステップと、設定位置データおよび第1モーションデータに対応する基本位置データに基づいて、複数の第1モーションデータを合成する処理を制御部に実行させることにより、この処理により合成されたモーションデータを第1合成モーションデータとして制御部に認識させる第1合成モーションデータ認識ステップと、設定位置データおよび第2モーションデータに対応する基本位置データに基づいて、複数の第2モーションデータを合成する処理を制御部に実行させることにより、この処理により合成されたモーションデータを第2合成モーションデータとして制御部に認識させる第2合成モーションデータ認識ステップと、設定位置データと、第1モーションデータに対応する基本位置データおよび第2モーションデータに対応する基本位置データとに基づいて、第1合成モーションデータと第2合成モーションデータとを合成する処理を制御部に実行させることにより、この処理により合成されたモーションデータを第3合成モーションデータとして制御部に認識させる第3合成モーションデータ認識ステップと、第3合成モーションデータを用いて、対象点を対象にして動作するキャラクタを画像表示部に表示するキャラクタ表示ステップと、を備えている。
【発明の効果】
【0042】
本発明では、基本位置データが示す基本動作の対象位置および設定位置データが示す設定位置に基づいて、基本となる基本モーションデータが合成される。そして、合成されたモーションデータを再合成することにより、最終的な合成モーションデータが生成される。すなわち、基本位置データが示す基本動作の対象位置および設定位置データが示す設定位置に基づいて、基本となる基本モーションデータから、第1合成モーションデータおよび第2合成モーションデータを介して、第3合成モーションデータが生成されるようになっている。このため、設定位置がどの位置に位置していても、第3合成モーションデータを用いることにより、キャラクタの現実的なスイング動作を、モニタに表示することができる。これにより、現実空間において人が行う動作をゲーム空間においても違和感なく表示することができる。
【発明を実施するための最良の形態】
【0043】
〔ゲーム装置の構成と動作〕
図1は、本発明の一実施形態によるゲーム装置の基本構成を示している。ここでは、ビデオゲーム装置の一例として、家庭用ビデオゲーム装置を対象として説明を行うこととする。家庭用ビデオゲーム装置は、家庭用ゲーム機本体および家庭用テレビジョンを備える。家庭用ゲーム機本体には、記録媒体10が装填可能となっており、記録媒体10からゲームデータが適宜読み出されてゲームが実行される。このようにして実行されるゲーム内容が家庭用テレビジョンに表示される。
【0044】
家庭用ビデオゲーム装置のゲームシステムは、制御部1と、記憶部2と、画像表示部3と、音声出力部4と、操作入力部5、通信部23とからなっており、それぞれがバス6を介して接続される。このバス6は、アドレスバス、データバス、およびコントロールバスなどを含んでいる。ここで、制御部1、記憶部2、音声出力部4および操作入力部5は、家庭用ビデオゲーム装置の家庭用ゲーム機本体に含まれており、画像表示部3は家庭用テレビジョンに含まれている。
【0045】
制御部1は、主に、ゲームプログラムに基づいてゲーム全体の進行を制御するために設けられている。制御部1は、たとえば、CPU(Central Processing Unit)7と、信号処理プロセッサ8と、画像処理プロセッサ9とから構成されている。CPU7と信号処理プロセッサ8と画像処理プロセッサ9とは、それぞれがバス6を介して互いに接続されている。CPU7は、ゲームプログラムからの命令を解釈し、各種のデータ処理や制御を行う。たとえば、CPU7は、信号処理プロセッサ8に対して、画像データを画像処理プロセッサに供給するように命令する。信号処理プロセッサ8は、主に、3次元空間上における計算と、3次元空間上から擬似3次元空間上への位置変換計算と、光源計算処理と、3次元空間上又は擬似3次元空間上で実行された計算結果に基づいた画像および音声データの生成加工処理とを行っている。画像処理プロセッサ9は、主に、信号処理プロセッサ8の計算結果および処理結果に基づいて、描画すべき画像データをRAM12に書き込む処理を行っている。また、CPU7は、信号処理プロセッサ8に対して、各種データを処理するように命令する。信号処理プロセッサ8は、主に、3次元空間上における各種データに対応する計算と、3次元空間上から擬似3次元空間上への位置変換計算とを行っている。
【0046】
記憶部2は、主に、プログラムデータや、プログラムデータで使用される各種データなどを格納しておくために設けられている。記憶部2は、たとえば、記録媒体10と、インターフェース回路11と、RAM(Random Access Memory)12とから構成されている。記録媒体10には、インターフェース回路11が接続されている。そして、インターフェース回路11とRAM12とはバス6を介して接続されている。記録媒体10は、オペレーションシステムのプログラムデータや、画像データ、音声データ並びに各種プログラムデータからなるゲームデータなどを記録するためのものである。この記録媒体10は、たとえば、ROM(Read Only Memory)カセット、光ディスク、およびフレキシブルディスクなどであり、オペレーティングシステムのプログラムデータやゲームデータなどが記憶される。なお、記録媒体10にはカード型メモリも含まれており、このカード型メモリは、主に、ゲームを中断するときに中断時点での各種ゲームパラメータを保存するために用いられる。RAM12は、記録媒体10から読み出された各種データを一時的に格納したり、制御部1からの処理結果を一時的に記録したりするために用いられる。このRAM12には、各種データとともに、各種データの記憶位置を示すアドレスデータが格納されており、任意のアドレスを指定して読み書きすることが可能になっている。
【0047】
画像表示部3は、主に、画像処理プロセッサ9によってRAM12に書き込まれた画像データや、記録媒体10から読み出される画像データなどを画像として出力するために設けられている。この画像表示部3は、たとえば、テレビジョンモニタ20と、インターフェース回路21と、D/Aコンバータ(Digital-To-Analogコンバータ)22とから構成されている。テレビジョンモニタ20にはD/Aコンバータ22が接続されており、D/Aコンバータ22にはインターフェース回路21が接続されている。そして、インターフェース回路21にバス6が接続されている。ここでは、画像データが、インターフェース回路21を介してD/Aコンバータ22に供給され、ここでアナログ画像信号に変換される。そして、アナログ画像信号がテレビジョンモニタ20に画像として出力される。
【0048】
ここで、画像データには、たとえば、ポリゴンデータやテクスチャデータなどがある。ポリゴンデータはポリゴンを構成する頂点の座標データのことである。テクスチャデータは、ポリゴンにテクスチャを設定するためのものであり、テクスチャ指示データとテクスチャカラーデータとからなっている。テクスチャ指示データはポリゴンとテクスチャとを対応づけるためのデータであり、テクスチャカラーデータはテクスチャの色を指定するためのデータである。ここで、ポリゴンデータとテクスチャデータとには、各データの記憶位置を示すポリゴンアドレスデータとテクスチャアドレスデータとが対応づけられている。このような画像データでは、信号処理プロセッサ8により、ポリゴンアドレスデータの示す3次元空間上のポリゴンデータ(3次元ポリゴンデータ)が、画面自体(視点)の移動量データおよび回転量データに基づいて座標変換および透視投影変換されて、2次元空間上のポリゴンデータ(2次元ポリゴンデータ)に置換される。そして、複数の2次元ポリゴンデータでポリゴン外形を構成して、ポリゴンの内部領域にテクスチャアドレスデータが示すテクスチャデータを書き込む。このようにして、各ポリゴンにテクスチャが貼り付けられた物体つまり各種キャラクタを表現することができる。
【0049】
音声出力部4は、主に、記録媒体10から読み出される音声データを音声として出力するために設けられている。音声出力部4は、たとえば、スピーカ13と、増幅回路14と、D/Aコンバータ15と、インターフェース回路16とから構成されている。スピーカ13には増幅回路14が接続されており、増幅回路14にはD/Aコンバータ15が接続されており、D/Aコンバータ15にはインターフェース回路16が接続されている。そして、インターフェース回路16にバス6が接続されている。ここでは、音声データが、インターフェース回路16を介してD/Aコンバータ15に供給され、ここでアナログ音声信号に変換される。このアナログ音声信号が増幅回路14によって増幅され、スピーカ13から音声として出力される。音声データには、たとえば、ADPCM(Adaptive Differential Pulse Code Modulation)データやPCM(Pulse Code Modulation)データなどがある。ADPCMデータの場合、上述と同様の処理方法で音声をスピーカ13から出力することができる。PCMデータの場合、RAM12においてPCMデータをADPCMデータに変換しておくことで、上述と同様の処理方法で音声をスピーカ13から出力することができる。
【0050】
操作入力部5は、主に、コントローラ17と、操作情報インターフェース回路18と、インターフェース回路19とから構成されている。コントローラ17には、操作情報インターフェース回路18が接続されており、操作情報インターフェース回路18にはインターフェース回路19が接続されている。そして、インターフェース回路19にバス6が接続されている。
【0051】
コントローラ17は、プレイヤが種々の操作命令を入力するために使用する操作装置であり、プレイヤの操作に応じた操作信号をCPU7に送出する。コントローラ17には、第1ボタン17a、第2ボタン17b、第3ボタン17c、第4ボタン17d、上方向キー17U、下方向キー17D、左方向キー17L、右方向キー17R、L1ボタン17L1、L2ボタン17L2、R1ボタン17R1、R2ボタン17R2、スタートボタン17e、セレクトボタン17f、左スティック17SL及び右スティック17SRが設けられている。
【0052】
上方向キー17U、下方向キー17D、左方向キー17L及び右方向キー17Rは、例えば、キャラクタやカーソルをテレビジョンモニタ20の画面上で上下左右に移動させるコマンドをCPU7に与えるために使用される。
【0053】
スタートボタン17eは、記録媒体10からゲームプログラムをロードするようにCPU7に指示するときなどに使用される。
【0054】
セレクトボタン17fは、記録媒体10からロードされたゲームプログラムに対して、各種選択をCPU7に指示するときなどに使用される。
【0055】
左スティック17SL及び右スティック17SRは、いわゆるジョイスティックとほぼ同一構成のスティック型コントローラである。このスティック型コントローラは、直立したスティックを有している。このスティックは、支点を中心として直立位置から前後左右を含む360°方向に亘って、傾倒可能な構成になっている。左スティック17SL及び右スティック17SRは、スティックの傾倒方向及び傾倒角度に応じて、直立位置を原点とするx座標及びy座標の値を、操作信号として操作情報インターフェース回路18とインターフェース回路19とを介してCPU7に送出する。
【0056】
第1ボタン17a、第2ボタン17b、第3ボタン17c、第4ボタン17d、L1ボタン17L1、L2ボタン17L2、R1ボタン17R1及びR2ボタン17R2には、記録媒体10からロードされるゲームプログラムに応じて種々の機能が割り振られている。
【0057】
なお、左スティック17SL及び右スティック17SRを除くコントローラ17の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると中立位置に復帰してオフになるオンオフスイッチになっている。
【0058】
通信部23は、通信制御回路24および通信インターフェース25を有している。通信制御回路24および通信インターフェース25は、ゲーム機をサーバや他のゲーム機等に接続するために用いられる。通信制御回路20および通信インターフェース21は、バス16を介してCPU11に接続されている。通信制御回路20および通信インターフェース21は、CPU11からの命令に応じて、ゲーム機をインターネットに接続するための接続信号を制御し発信する。また、通信制御回路20および通信インターフェース21は、インターネットを介してゲーム機をサーバや他のゲーム機に接続するための接続信号を制御し発信する。
【0059】
以上のような構成からなる家庭用ビデオゲーム装置の概略動作を、以下に説明する。電源スイッチ(図示省略)がオンにされゲームシステム1に電源が投入されると、CPU7が、記録媒体10に記憶されているオペレーティングシステムに基づいて、記録媒体10から画像データ、音声データ、およびプログラムデータを読み出す。読み出された画像データ、音声データ、およびプログラムデータの一部若しくは全部は、RAM12に格納される。そして、CPU7が、RAM12に格納されたプログラムデータに基づいて、RAM12に格納された画像データや音声データを画像や音声としてテレビジョンモニタ20やスピーカ13に出力するためのコマンドを発行する。
【0060】
画像データの場合、CPU7からのコマンドに基づいて、まず、信号処理プロセッサ8が、3次元空間上におけるキャラクタの位置計算および光源計算などを行う。次に、画像処理プロセッサ9が、信号処理プロセッサ8の計算結果に基づいて、描画すべき画像データのRAM12への書き込み処理などを行う。そして、RAM12に書き込まれた画像データが、インターフェース回路21を介してD/Aコンバータ22に供給される。ここで、画像データがD/Aコンバータ22でアナログ映像信号に変換される。そして、画像データはテレビジョンモニタ20に供給され画像として表示される。
【0061】
音声データの場合、まず、信号処理プロセッサ8が、CPU7からのコマンドに基づいて音声データの生成および加工処理を行う。ここでは、音声データに対して、たとえば、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加などの処理が施される。次に、音声データは、信号処理プロセッサ8から出力されて、インターフェース回路16を介してD/Aコンバータ15に供給される。ここで、音声データがアナログ音声信号に変換される。そして、音声データは増幅回路14を介してスピーカ13から音声として出力される。

〔ゲーム装置における各種処理概要〕
本ゲーム機において実行されるゲームは、たとえば野球ゲームである。本ゲーム機では、ゲーム空間において動作する打者キャラクタが、テレビジョンモニタ20に表示される。また、本ゲーム機では、ゲーム空間において動作する野手キャラクタ(投手キャラクタを含む)、およびゲーム空間を移動するボールオブジェクト等が、テレビジョンモニタ20に表示される。図2は、本発明で主要な役割を果たす機能を説明するための機能ブロック図である。
【0062】
対象範囲認識手段50は、打者キャラクタのスイング動作の対象となる対象領域(ボール通過領域)の範囲を示す範囲データを、CPU7に認識させる機能を備えている。対象範囲認識手段50では、打者キャラクタのスイング動作の対象となるボール通過領域の範囲を示す範囲データが、CPU7に認識される。
【0063】
この手段では、打者キャラクタのスイング動作の対象となるボール通過領域の範囲を示す範囲データが、CPU7に認識される。ここでは、投手キャラクタからリリースされたボールが通過する領域、たとえばホームベース上方の矩形平面状の領域が、ボール通過領域として規定されている。このボール通過領域は、ストライクゾーンおよびボールゾーンから構成されている。ボール通過領域の範囲を示す範囲データ(X,Y)は、「x1≦X≦x2」および「y1≦Y≦y2」のような形式で規定されるデータである。このデータでは、ボール通過領域のx方向の両端を示す座標データをx1およびx2とし(x1<x2)、ボール通過領域のy方向の上下端を示す座標データをy1およびy2としている(y1<y2)。これらのボール通過領域の境界を示す座標データx1,x2,y1,y2は、ゲームプログラムのロード時に、記録媒体10からRAM12にロードされ、RAM12に格納されている。
【0064】
なお、本野球ゲームでは、ホームベースから上方に向かう軸がy軸、ホームベースから投手プレートに向かう軸がz軸、y方向軸とz方向軸に直交する軸がx軸と規定している。
【0065】
基本対象点認識手段51は、RAM12に格納された、打者キャラクタの基本スイング動作の対象となる対象点の基本位置を示す基本位置データを、CPU7に認識させる機能を備えている。詳細には、基本対象点認識手段51は、ボール通過領域の範囲内に位置する対象点の基本位置を示す基本対象位置データを、CPU7に認識させる機能を備えている。基本対象点認識手段51では、RAM12に格納された、打者キャラクタの基本スイング動作の対象となる対象点の基本位置を示す基本位置データが、CPU7に認識される。この基本位置データが示す基本位置は、ボール通過領域の範囲内に規定されている。
【0066】
この手段では、打者キャラクタの基本スイング動作の対象となる対象点の基本位置を示す基本位置データが、CPU7に認識される。ここでは、打者キャラクタの基本スイング動作の対象となる対象点の基本位置を示す基本位置データが、ボール通過領域の範囲内の座標データとなっており、この座標データ(基本位置データ)がCPU7に認識される。言い換えると、基本位置データが示す基本位置は、ボール通過領域の範囲内に位置している。具体的には、基本位置データが示す基本位置、すなわち打者キャラクタの基本スイング動作の対象となる対象点は、ボール通過領域のストライクゾーンの4つの隅角部に設定されている。これらストライクゾーンの4つの隅角部それぞれの位置を示す座標データ(基本位置データ)は、ゲームプログラムのロード時に、記録媒体10からRAM12にロードされ、RAM12に格納されている。
【0067】
基本モーションデータ認識手段52は、RAM12に格納された、打者キャラクタの基本スイング動作に対応する複数の基本モーションデータそれぞれを、CPU7に認識させる機能を備えている。基本モーションデータ認識手段52では、RAM12に格納された、打者キャラクタの基本スイング動作に対応する複数の基本モーションデータそれぞれが、CPU7に認識される。
【0068】
この手段では、打者キャラクタの基本スイング動作に対応する複数の基本モーションデータそれぞれが、CPU7に認識される。ここでは、ストライクゾーンの4つの隅角部(対象点)それぞれに向けてスイング動作をする打者キャラクタのモーションデータが、打者キャラクタの基本スイング動作に対応する基本モーションデータとして、CPU7に認識される。具体的には、ストライクゾーンの外角高めの隅角部、ストライクゾーンの内角高めの隅角部、ストライクゾーンの外角低めの隅角部、およびストライクゾーンの内角低めの隅角部それぞれに向けてスイング動作をする打者キャラクタのモーションデータが、打者キャラクタの基本スイング動作に対応する基本モーションデータとして、CPU7に認識される。すなわち、4つの隅角部それぞれを対象としてスイング動作をする打者キャラクタのモーションデータが、基本モーションデータとして、CPU7に認識される。
【0069】
なお、複数の基本モーションデータすなわち4つの基本モーションデータは、ゲームプログラムのロード時に、記録媒体10からRAM12にロードされ、RAM12に格納されている。
【0070】
第1モーションデータ認識手段53は、複数の基本モーションデータのうちの少なくとも2つのモーションデータそれぞれを、第1モーションデータとしてCPU7に認識させる機能を備えている。詳細には、第1モーションデータ認識手段53は、複数の基本モーションデータのうちの2つのモーションデータそれぞれを、第1モーションデータとしてCPU7に認識させる機能を備えている。第1モーションデータ認識手段53では、複数の基本モーションデータのうちの2つのモーションデータそれぞれが、第1モーションデータとしてCPU7に認識される。
【0071】
この手段では、複数の基本モーションデータのうちの2つのモーションデータそれぞれが、第1モーションデータとしてCPU7に認識される。ここでは、ストライクゾーンの隅角部(対象点)に向けてスイング動作をする打者キャラクタの4つのモーションデータのうちの2つのモーションデータそれぞれが、第1モーションデータとしてCPU7に認識される。具体的には、ストライクゾーンの外角高めの隅角部を対象としてスイング動作をする打者キャラクタのモーションデータ、およびストライクゾーンの内角高めの隅角部を対象としてスイング動作をする打者キャラクタのモーションデータが、第1モーションデータとしてCPU7に認識される。
【0072】
第2モーションデータ認識手段54は、複数の第1モーションデータのうちの少なくとも1つの第1モーションデータを除いた複数の基本モーションデータのうちの、少なくとも2つのモーションデータそれぞれを、第2モーションデータとしてCPU7に認識させる機能を備えている。詳細には、第2モーションデータ認識手段54は、2つの第1モーションデータを除いた複数の基本モーションデータのうちの2つのモーションデータそれぞれを、第2モーションデータとしてCPU7に認識させる機能を備えている。第2モーションデータ認識手段54では、2つの第1モーションデータを除いた複数の基本モーションデータのうちの2つのモーションデータそれぞれが、第2モーションデータとしてCPU7に認識される。
【0073】
この手段では、2つの第1モーションデータを除いた複数の基本モーションデータのうちの2つのモーションデータそれぞれが、第2モーションデータとしてCPU7に認識される。ここでは、ストライクゾーンの外角高めの隅角部に向けてスイング動作をする打者キャラクタのモーションデータおよびストライクゾーンの内角高めの隅角部に向けてスイング動作をする打者キャラクタのモーションデータを除いた複数の基本モーションデータのうちの、2つのモーションデータそれぞれが、第2モーションデータとしてCPU7に認識される。具体的には、ストライクゾーンの外角低めの隅角部を対象としてスイング動作をする打者キャラクタのモーションデータ、およびストライクゾーンの内角低めの隅角部を対象としてスイング動作をする打者キャラクタのモーションデータが、第2モーションデータとしてCPU7に認識される。
【0074】
受付制限時間データ認識手段55は、打者キャラクタのスイング動作の対象となるミートカーソルの設定位置を示す設定位置データを受け付ける時間を制限するための受付制限時間データを、CPU7に認識させる機能を備えている。受付制限時間データ認識手段55では、打者キャラクタのスイング動作の対象となるミートカーソルの設定位置を示す設定位置データを受け付ける時間を制限するための受付制限時間データが、CPU7に認識される。
【0075】
この手段では、ミートカーソルの設定位置を示す設定位置データを受け付ける時間を制限するための受付制限時間データが、CPU7に認識される。この受付制限時間データは、ゲームプログラムにおいて予め規定されており、ゲームプログラムのロード時に、記録媒体10からRAM12にロードされ、RAM12に格納される。
【0076】
ミートカーソル移動判断手段56は、打者キャラクタのスイング動作の対象となるミートカーソルを移動させるためのミートカーソル移動命令が発行されたか否かをCPU7に判断させる機能を備えている。ミートカーソル移動判断手段56では、打者キャラクタのスイング動作の対象となるミートカーソルを移動させるためのミートカーソル移動命令が発行されたか否かが、CPU7により判断される。
【0077】
この手段では、打者キャラクタのスイング動作の対象となるミートカーソルを移動させるためのミートカーソル移動命令が発行されたか否かが、CPU7により判断される。ここでは、ミートカーソルを移動させるためのミートカーソル移動命令がCPU7から発行されたか否かが、判断される。具体的には、ミートカーソルを移動するためにコントローラ17が操作されると、コントローラ17からの入力信号がCPU7に認識される。すると、この入力信号に対応するミートカーソル移動命令が、CPU7から発行される。一方で、ミートカーソルを移動するための操作が行われていないときには、コントローラ17からの入力信号がCPU7に認識されることがないので、ミートカーソル移動命令が、CPU7から発行されることはない。
【0078】
なお、ここでは、コントローラ17が操作されたときに、ミートカーソル移動命令がCPU7から発行される場合の例を示しているが、打者キャラクタがAIプログラム(Artificial Intelligence プログラム)により制御されているときには、AIプログラムに基づいてミートカーソル移動命令がCPU7から発行される。
【0079】
動作開始命令判断手段57は、打者キャラクタにスイング動作を開始させるためのスイング動作開始命令が発行されたか否かをCPU7に判断させる機能を備えている。動作開始命令判断手段57では、打者キャラクタにスイング動作を開始させるためのスイング動作開始命令が発行されたか否かが、CPU7により判断される。
【0080】
この手段では、打者キャラクタにスイング動作を開始させるためのスイング動作開始命令がCPU7から発行されたか否かが、判断される。具体的には、打者キャラクタにスイング動作を開始させるためにコントローラ17が操作されると、コントローラ17からの入力信号がCPU7に認識される。すると、この入力信号に対応するスイング動作開始命令が、CPU7から発行される。一方で、打者キャラクタにスイング動作を開始させるための操作が行われていないときには、コントローラ17からの入力信号がCPU7に認識されることがないので、スイング動作開始命令が、CPU7から発行されることはない。
【0081】
制限時間判断手段58は、スイング動作開始命令が発行されたとCPU7により判断された場合に、スイング動作開始命令が発行された時点を基準として、受付制限時間データが示す時間が経過したか否かをCPU7に判断させる機能を備えている。制限時間判断手段58では、スイング動作開始命令が発行されたとCPU7により判断された場合に、スイング動作開始命令が発行された時点を基準として、受付制限時間データが示す時間が経過したか否かが、CPU7により判断される。
【0082】
この手段では、スイング動作開始命令が発行されたとCPU7により判断された場合に、スイング動作開始命令が発行された時点を基準として、受付制限時間データが示す時間が経過したか否かが、CPU7により判断される。具体的には、スイング動作開始命令が発行されたときに、スイング動作開始命令が発行された時点を基準として、時間を計測する処理がCPU7により実行される。すると、計測された時間が、計測時間データとしてCPU7に認識される。すると、この計測時間データが示す時間が、受付制限時間データが示す時間以上になったか否かが、CPU7により判断される。
【0083】
ミートカーソル認識手段59は、打者キャラクタの基本スイング動作を含む打者キャラクタのスイング動作の対象となるミートカーソルの設定位置を示す設定位置データを、CPU7に認識させる機能を備えている。ミートカーソル認識手段59は、ボール通過領域の範囲内に位置するミートカーソルの設定位置を示す設定位置データを、CPU7に認識させる機能を備えている。
【0084】
ミートカーソル認識手段59は、ミートカーソル移動命令が発行されていないとCPU7により判断された場合に、現在のミートカーソルの設定位置を示す設定位置データをCPU7に認識させ、ミートカーソル移動命令が発行されたとCPU7により判断された場合に、移動後のミートカーソルの設定位置を示す設定位置データをCPU7に認識させる機能を備えている。また、ミートカーソル認識手段59は、スイング動作開始命令が発行されたとCPU7により判断され、スイング動作開始命令が発行された時点を基準として受付制限時間データが示す時間が経過していないとCPU7により判断された場合に、打者キャラクタのスイング動作の対象となるミートカーソルの設定位置を示す設定位置データをCPU7に認識させる機能を備えている。
【0085】
ミートカーソル認識手段59では、ボール通過領域の範囲内に位置するミートカーソルの設定位置を示す設定位置データが、CPU7に認識される。詳細には、ミートカーソル認識手段59では、ミートカーソル移動命令が発行されていないとCPU7により判断された場合には、現在のミートカーソルの設定位置を示す設定位置データが、CPU7に認識される。そして、ミートカーソル移動命令が発行されたとCPU7により判断された場合には、移動後のミートカーソルの設定位置を示す設定位置データが、CPU7に認識される。また、ミートカーソル認識手段59では、スイング動作開始命令が発行されたとCPU7により判断され、スイング動作開始命令が発行された時点を基準として受付制限時間データが示す時間が経過していないとCPU7により判断された場合には、打者キャラクタのスイング動作の対象となるミートカーソルの設定位置を示す設定位置データが、CPU7に認識される。
【0086】
この手段では、ボール通過領域の範囲内に位置するミートカーソルの設定位置を示す設定位置データが、CPU7に認識される。具体的には、ミートカーソルが移動していない場合、現在のミートカーソルの設定位置を示す設定位置データが、CPU7に認識される。そして、ミートカーソルが移動した場合、移動後のミートカーソルの設定位置を示す設定位置データが、CPU7に認識される。また、打者キャラクタがスイング動作を開始しているときには、打者キャラクタがスイング動作を開始した時点を基準とした計測時間が受付制限時間未満である場合に、打者キャラクタのスイング動作の対象となるミートカーソルの設定位置を示す設定位置データが、CPU7に認識される。
【0087】
相対データ算出手段60は、打者キャラクタの基本スイング動作の対象となる対象点に対する、打者キャラクタのスイング動作の対象となるミートカーソルの相対的な位置を規定するための相対データを算出する処理を、CPU7に実行させる機能を備えている。
【0088】
相対データ算出手段60は、2つの第1モーションデータ用の2つの対象点に対する、打者キャラクタのスイング動作の対象となるミートカーソルの相対的な位置を規定するための、第1相対データを算出する処理をCPU7に実行させる機能を備えている。また、相対データ算出手段60は、2つの第2モーションデータ用の2つの対象点に対する、打者キャラクタのスイング動作の対象となるミートカーソルの相対的な位置を規定するための、第2相対データを算出する処理をCPU7に実行させる機能を備えている。さらに、相対データ算出手段60は、2つの第1モーションデータ用の2つの対象点のうちのいずれか一方の対象点および2つの第2モーションデータ用の2つの対象点のうちのいずれか一方の対象点に対する、打者キャラクタのスイング動作の対象となるミートカーソルの相対的な位置を規定するための、第3相対データを算出する処理をCPU7に実行させる機能を備えている。
【0089】
相対データ算出手段60では、打者キャラクタの基本スイング動作の対象となる対象点に対する、打者キャラクタのスイング動作の対象となるミートカーソルの相対的な位置を規定するための相対データを算出する処理が、CPU7により実行される。
【0090】
相対データ算出手段60では、2つの第1モーションデータ用の2つの対象点に対する、打者キャラクタのスイング動作の対象となるミートカーソルの相対的な位置を規定するための、第1相対データを算出する処理が、CPU7により実行される。また、2つの第2モーションデータ用の2つの対象点に対する、打者キャラクタのスイング動作の対象となるミートカーソルの相対的な位置を規定するための、第2相対データを算出する処理が、CPU7により実行される。さらに、2つの第1モーションデータ用の2つの対象点のうちのいずれか一方の対象点および2つの第2モーションデータ用の2つの対象点のうちのいずれか一方の対象点に対する、打者キャラクタのスイング動作の対象となるミートカーソルの相対的な位置を規定するための、第3相対データを算出する処理が、CPU7により実行される。
【0091】
この手段では、打者キャラクタの基本スイング動作の対象となる対象点に対する、打者キャラクタのスイング動作の対象となるミートカーソルの相対的な位置を規定するための相対データを算出する処理が、CPU7により実行される。ここでは、打者キャラクタの基本スイング動作の対象となる対象点(基本位置データが示す基本位置)が、ボール通過領域のストライクゾーンの4つの隅角部に設定されているので、ストライクゾーンの隅角部に対するミートカーソルの相対的な位置を規定するための相対データを算出する処理が、CPU7により実行される。
【0092】
具体的には、ストライクゾーンの外角高めの隅角部およびストライクゾーンの内角高めの隅角部に対するミートカーソルの相対的な位置を規定するための、第1相対データを算出する処理が、CPU7により実行される。また、ストライクゾーンの外角低めの隅角部およびストライクゾーンの内角低めの隅角部に対するミートカーソルの相対的な位置を規定するための、第2相対データを算出する処理が、CPU7により実行される。さらに、ストライクゾーンの外角高めの隅角部およびストライクゾーンの外角低めの隅角部に対するミートカーソルの相対的な位置を規定するための、第3相対データを算出する処理が、CPU7により実行される。
【0093】
なお、ここでは、ストライクゾーンの外角高めの隅角部およびストライクゾーンの外角低めの隅角部を基準にして、これら隅角部に対するミートカーソルの相対的な位置が規定されている。しかしながら、この手段においてミートカーソルの相対的な位置を規定する形態は、どのようにしても良い。たとえば、ストライクゾーンの内角高めの隅角部およびストライクゾーンの内角低めの隅角部を基準にして、ミートカーソルの相対的な位置を規定しても良い。また、ストライクゾーンの外角高めの隅角部およびストライクゾーンの内角低めの隅角部を基準にして、ミートカーソルの相対的な位置を規定しても良い。さらに、ストライクゾーンの内角高めの隅角部およびストライクゾーンの外角低めの隅角部を基準にして、ミートカーソルの相対的な位置を規定しても良い。
【0094】
第1合成モーションデータ認識手段61は、設定位置データおよび第1モーションデータに対応する基本位置データに基づいて、複数の第1モーションデータを合成する処理をCPU7に実行させることにより、この処理により合成されたモーションデータを第1合成モーションデータとしてCPU7に認識させる機能を備えている。
【0095】
詳細には、第1合成モーションデータ認識手段61は、設定位置データおよび第1モーションデータに対応する基本位置データに基づいて算出された第1相対データを用いて、複数の第1モーションデータを合成する処理をCPU7に実行させることにより、この処理により合成されたモーションデータを、第1合成モーションデータとしてCPU7に認識させる機能を備えている。
【0096】
第1合成モーションデータ認識手段61では、設定位置データおよび第1モーションデータに対応する基本位置データに基づいて、複数の第1モーションデータを合成する処理が、CPU7により実行される。すると、この処理により合成されたモーションデータが、第1合成モーションデータとしてCPU7に認識される。
【0097】
詳細には、第1合成モーションデータ認識手段61では、設定位置データおよび第1モーションデータに対応する基本位置データに基づいて算出された第1相対データを用いて、複数の第1モーションデータを合成する処理が、CPU7により実行される。すると、この処理により合成されたモーションデータが、第1合成モーションデータとしてCPU7に認識される。
【0098】
この手段では、ミートカーソルの位置を示す設定位置データおよび第1モーションデータに対応する基本位置データに基づいて算出された第1相対データを用いて、複数の第1モーションデータを合成する処理が、CPU7により実行される。すると、この処理により合成されたモーションデータが、第1合成モーションデータとしてCPU7に認識される。たとえば、ストライクゾーンの外角高めの隅角部およびストライクゾーンの内角高めの隅角部に対するミートカーソルの相対的な位置に応じて、複数の第1モーションデータを合成する処理が、CPU7により実行される。
【0099】
具体的には、第1相対データたとえば第1比率データに応じて、複数の第1モーションデータを合成する処理が、CPU7により実行される。そして、この処理により合成されたモーションデータが、第1合成モーションデータとしてCPU7に認識される。第1比率データは、ストライクゾーンの外角高めの隅角部からミートカーソルまでのx方向の第1距離と、ストライクゾーンの内角高めの隅角部からミートカーソルまでのx方向の第2距離との比を示すデータである。なお、第1距離および第2距離は、ミートカーソルのx座標データ、ストライクゾーンの外角高めの隅角部のx座標データ、およびストライクゾーンの内角高めの隅角部のx座標データを用いることにより算出される。
【0100】
第2合成モーションデータ認識手段62は、設定位置データおよび第2モーションデータに対応する基本位置データに基づいて、複数の第2モーションデータを合成する処理をCPU7に実行させることにより、この処理により合成されたモーションデータを第2合成モーションデータとしてCPU7に認識させる機能を備えている。
【0101】
詳細には、第2合成モーションデータ認識手段62は、設定位置データおよび第2モーションデータに対応する基本位置データに基づいて算出された第2相対データを用いて、複数の第2モーションデータを合成する処理をCPU7に実行させることにより、この処理により合成されたモーションデータを、第2合成モーションデータとしてCPU7に認識させる機能を備えている。
【0102】
第2合成モーションデータ認識手段62では、設定位置データおよび第2モーションデータに対応する基本位置データに基づいて、複数の第2モーションデータを合成する処理が、CPU7により実行される。すると、この処理により合成されたモーションデータが、第2合成モーションデータとしてCPU7に認識される。
【0103】
詳細には、第2合成モーションデータ認識手段62では、設定位置データおよび第2モーションデータに対応する基本位置データに基づいて算出された第2相対データを用いて、複数の第2モーションデータを合成する処理が、CPU7により実行される。すると、この処理により合成されたモーションデータが、第2合成モーションデータとしてCPU7に認識される。
【0104】
この手段では、ミートカーソルの位置を示す設定位置データおよび第2モーションデータに対応する基本位置データに基づいて算出された第2相対データを用いて、複数の第2モーションデータを合成する処理が、CPU7により実行される。すると、この処理により合成されたモーションデータが、第2合成モーションデータとしてCPU7に認識される。たとえば、ストライクゾーンの外角低めの隅角部およびストライクゾーンの内角低めの隅角部に対するミートカーソルの相対的な位置に応じて、複数の第2モーションデータを合成する処理が、CPU7により実行される。
【0105】
具体的には、第2相対データたとえば第2比率データに応じて、複数の第2モーションデータを合成する処理が、CPU7により実行される。そして、この処理により合成されたモーションデータが、第2合成モーションデータとしてCPU7に認識される。第2比率データは、ストライクゾーンの外角低めの隅角部からミートカーソルまでのx方向の第3距離と、ストライクゾーンの内角低めの隅角部からミートカーソルまでのx方向の第4距離との比を示すデータである。なお、第3距離および第4距離は、ミートカーソルのx座標データ、ストライクゾーンの外角低めの隅角部のx座標データ、およびストライクゾーンの内角低めの隅角部のx座標データを用いることにより算出される。
【0106】
第3合成モーションデータ認識手段63は、設定位置データと、第1モーションデータに対応する基本位置データおよび第2モーションデータに対応する基本位置データとに基づいて、第1合成モーションデータと第2合成モーションデータとを合成する処理をCPU7に実行させることにより、この処理により合成されたモーションデータを第3合成モーションデータとしてCPU7に認識させる機能を備えている。
【0107】
第3合成モーションデータ認識手段63は、設定位置データと、第1モーションデータに対応する基本位置データおよび第2モーションデータに対応する基本位置データとに基づいて算出される第3相対データを用いて、第1合成モーションデータと第2合成モーションデータとを合成する処理をCPU7に実行させることにより、この処理により合成されたモーションデータを、第3合成モーションデータとしてCPU7に認識させる機能を備えている。
【0108】
第3合成モーションデータ認識手段63では、設定位置データと、第1モーションデータに対応する基本位置データおよび第2モーションデータに対応する基本位置データとに基づいて、第1合成モーションデータと第2合成モーションデータとを合成する処理が、CPU7に実行される。すると、この処理により合成されたモーションデータが、第3合成モーションデータとしてCPU7に認識される。
【0109】
詳細には、第3合成モーションデータ認識手段63では、設定位置データと、第1モーションデータに対応する基本位置データおよび第2モーションデータに対応する基本位置データとに基づいて算出される第3相対データを用いて、第1合成モーションデータと第2合成モーションデータとを合成する処理が、CPU7により実行される。すると、この処理により合成されたモーションデータが、第3合成モーションデータとしてCPU7に認識される。
【0110】
この手段では、ミートカーソルの位置を示す設定位置データと、第1モーションデータに対応する基本位置データおよび第2モーションデータに対応する基本位置データとに基づいて算出される第3相対データを用いて、第1合成モーションデータと第2合成モーションデータとを合成する処理が、CPU7により実行される。すると、この処理により合成されたモーションデータが、第3合成モーションデータとしてCPU7に認識される。たとえば、ストライクゾーンの外角高めの隅角部およびストライクゾーンの外角低めの隅角部に対するミートカーソルの相対的な位置に応じて、第1合成モーションデータと第2合成モーションデータとを合成する処理が、CPU7により実行される。
【0111】
具体的には、第3相対データたとえば第3比率データに応じて、第1合成モーションデータと第2合成モーションデータとを合成する処理が、CPU7により実行される。そして、この処理により合成されたモーションデータが、第3合成モーションデータとしてCPU7に認識される。第3比率データは、ストライクゾーンの外角高めの隅角部からミートカーソルまでのy方向の第5距離と、ストライクゾーンの外角低めの隅角部からミートカーソルまでのy方向の第6距離との比を示すデータである。なお、第5距離および第6距離は、ミートカーソルのy座標データ、ストライクゾーンの外角高めの隅角部のy座標データ、およびストライクゾーンの外角低めの隅角部のy座標データを用いることにより算出される。
【0112】
打者キャラクタ表示手段64は、第3合成モーションデータを用いて、ミートカーソルを対象にしてスイング動作する打者キャラクタをテレビジョンモニタ20に表示する機能を備えている。打者キャラクタ表示手段64では、第3合成モーションデータを用いて、ミートカーソルを対象にしてスイング動作する打者キャラクタが、テレビジョンモニタ20に表示される。
【0113】
この手段では、第3合成モーションデータを用いて、ミートカーソルを対象にしてスイング動作する打者キャラクタが、テレビジョンモニタ20に表示される。たとえば、CPU7から発行される動画表示命令に基づいて、CPU7に認識された第3合成モーションデータが、インターフェース回路21を介してD/Aコンバータ22に供給される。そして、第3合成モーションデータがD/Aコンバータ22でアナログ映像信号に変換される。そして、第3合成モーションデータが、動画としてテレビジョンモニタ20に供給され表示される。
【0114】
〔野球ゲームにおける動作生成システムの処理フローと説明〕
次に、野球ゲームにおける動作生成システムについて説明する。また、図11に示す動作生成システムに関するフローについても同時に説明する。なお、図10は、野球ゲームの概要を示すフローである。
【0115】
まず、ゲーム機の電源が投入されゲーム機が起動されると、野球ゲームプログラムが、記録媒体10からRAM12にロードされ格納される。このときには、野球ゲームを実行する上で必要となる各種の基本ゲームデータも、同時に、記録媒体10からRAM12にロードされ格納される(S1)。
【0116】
たとえば、基本ゲームデータには3次元ゲーム空間用の画像に関するデータが含まれており、RAM12に格納された、3次元ゲーム空間用の画像に関するデータ、たとえば、スタジアム用の画像データ、ボール用の画像データ、選手キャラクタ用の画像データ、および複数の選手キャラクタ用の画像データから構成されるモーションデータ等が、CPU7に認識される。また、基本ゲームデータには、3次元ゲーム空間用の画像に関するデータを3次元ゲーム空間に配置するための位置座標データが含まれており、この位置座標データがCPU7に認識される。
【0117】
また、基本ゲームデータには、打者キャラクタ70のスイング動作の対象となるボール通過領域80の範囲を示す範囲データが含まれており、この範囲データがCPU7に認識される。具体的には、図3および図4に示すように、ゲームプログラムにおいてホームベース上方に規定されたボール通過領域80(ストライクゾーン80aおよびボールゾーン80bからなる領域)の範囲を示す範囲データが、CPU7に認識される。ここでは、ボール通過領域80の範囲を示す範囲データ(X,Y)が、「x1≦X≦x2」および「y1≦Y≦y2」のような形式で規定されている。
【0118】
また、基本ゲームデータには、打者キャラクタ70の基本スイング動作の対象となる対象点の基本位置72を示す基本位置データが含まれており、この基本位置データがCPU7に認識される。具体的には、打者キャラクタ70の基本スイング動作の対象となる対象点、すなわち基本位置データが示す基本位置72は、ボール通過領域80のストライクゾーン80aの4つの隅角部72a,72b,72c,72dに設定されている。これらストライクゾーン80aの4つの隅角部72a,72b,72c,72dそれぞれの位置を示す座標データ(基本位置データ)が、CPU7に認識される。このデータは、ゲームプログラムのロード時に、記録媒体10からRAM12にロードされ、RAM12に格納されている。
【0119】
また、基本ゲームデータには、打者キャラクタ70の4つの基本スイング動作それぞれに対応する基本モーションデータが含まれており、これら4つの基本モーションデータがCPU7に認識される。図5に示すように、4つの基本モーションデータそれぞれは、ストライクゾーン80aの4つの隅角部(対象点)72a,72b,72c,72dのうちのいずれか1つの隅角部に向けてスイング動作をする打者キャラクタ70のモーションデータに対応している。具体的には、ストライクゾーン80aの外角高めの隅角部72a、ストライクゾーン80aの内角高めの隅角部72b、ストライクゾーン80aの外角低めの隅角部72c、およびストライクゾーン80aの内角低めの隅角部72dそれぞれに向けてスイング動作をする打者キャラクタ70のモーションデータが、4つの基本モーションデータとして、CPU7に認識される。一般的には、基本スイング動作は、打者キャラクタ70がストライクゾーン80aの隅角部に向けてスイング動作をする動作に対応している。
【0120】
なお、図5には、打者キャラクタ70の素振り動作が、基本モーションデータを用いて、テレビジョンモニタ20に表示されている。
【0121】
ここでは、4つの基本モーションデータのうちの2つのモーションデータそれぞれが、第1モーションデータとしてCPU7に認識される。具体的には、ストライクゾーン80aの外角高めの隅角部72aを対象としてスイング動作をする打者キャラクタ70のモーションデータ、およびストライクゾーン80aの内角高めの隅角部72bを対象としてスイング動作をする打者キャラクタ70のモーションデータが、第1モーションデータとしてCPU7に認識される。また、ここでは、2つの第1モーションデータを除いた2つの基本モーションデータそれぞれが、第2モーションデータとしてCPU7に認識される。具体的には、ストライクゾーン80aの外角低めの隅角部72cを対象としてスイング動作をする打者キャラクタ70のモーションデータ、およびストライクゾーン80aの内角低めの隅角部72dを対象としてスイング動作をする打者キャラクタ70のモーションデータが、第2モーションデータとしてCPU7に認識される。
【0122】
さらに、基本ゲームデータには、ミートカーソル71の設定位置を認識する時間を制限するための受付制限時間データが含まれており、この受付制限時間データがCPU7に認識される。ここでは、受付制限時間データが示す時間が、23/60(sec)に設定されている。
【0123】
なお、上記の各データは、ゲームプログラムにおいて予め規定されており、ゲームプログラムのロード時に、記録媒体10からRAM12にロードされ、RAM12に格納される。
【0124】
続いて、RAM12に格納された野球ゲームプログラムが、基本ゲームデータに基づいて、CPU7により実行される(S2)。すると、野球ゲームの起動画面がテレビジョンモニタ20に表示される。すると、野球ゲームを実行するための各種の設定画面がテレビジョンモニタ20に表示される。ここでは、たとえば、チームの選択および選手キャラクタの選択等を行うための選択画面が、テレビジョンモニタ20に表示される。この選択画面において、コントローラ17が操作されることにより、チームの選択および選手キャラクタの選択等が行われる。
【0125】
続いて、野球ゲームにおいて試合を開始するための命令(試合開始命令)がCPU7から発行される(S3)。すると、RAM12に格納された3次元ゲーム空間用の画像に関するデータが、CPU7に認識される。すると、この3次元ゲーム空間の画像に関するデータを、ゲーム空間における位置座標データが示す位置に配置する命令が、CPU7から発行され、各種の画像がテレビジョンモニタ20に表示される(S4)。
【0126】
たとえば、スタジアム用の画像データ等が、CPU7に認識される。すると、スタジアム用の画像データを用いて、スタジアム画像がテレビジョンモニタ20に表示される。具体的には、ゲーム空間において、スタジアム用の位置座標データが示す位置に、スタジアム用の画像データを配置する命令が、CPU7から発行される。これにより、スタジアム画像が、テレビジョンモニタ20に表示される。
【0127】
また、プレイヤにより命令が指示されるチーム(自チーム)、および他のプレイヤ又はAIプログラム(Artificial Intelligence プログラム)により命令が指示されるチーム(敵チーム)のいずれか一方の選手キャラクタが守備位置に配置された状態が、選手キャラクタ用の画像データを用いて、テレビジョンモニタ20に表示される。また、自チームの選手キャラクタおよび敵チームの選手キャラクタのいずれか他方の選手キャラクタが打席位置に配置された状態が、選手キャラクタ用の画像データを用いて、テレビジョンモニタ20に表示される。たとえば、選手キャラクタ用の位置座標データが示す位置に選手キャラクタ用の画像データを配置する命令がCPU7から発行されたときに、選手キャラクタ用の画像がテレビジョンモニタ20に表示される。
【0128】
続いて、自チームおよび敵チームのいずれか一方のチームの攻撃イベントを実行するための命令(攻撃イベント実行命令)がCPU7から発行される(S5)。言い替えると、自チームおよび敵チームのいずれか他方のチームの守備イベントを実行するための命令(守備イベント実行命令)がCPU7から発行される。すると、自チームおよび敵チームのいずれか一方のチームの攻撃イベント、および自チームおよび敵チームのいずれか他方のチームの守備イベントが、実行される。このときに、プレイヤ又は他のプレイヤ(AIプログラムを含む)が選手キャラクタに対して指示した命令は、CPU7に認識される。すると、CPU7に認識された各命令に応じて、各チームの選手キャラクタが、投球動作、打撃動作、守備動作、および走塁動作等の少なくともいずれか1つの動作を行う状態が、テレビジョンモニタ20に表示される。
【0129】
そして、チームごとに所定の回数たとえば9回分の攻撃イベント又は守備イベント(最大12回分の攻撃イベント又は守備イベント)が終了すると、試合を終了するための命令(試合終了命令)が、CPU7から発行される。すると、試合結果をRAM12に保存する処理が、CPU7により実行される。ここでは、試合終了命令が発行されたか否かがCPU7により判断され(S6)、試合終了命令が発行された場合(S6でYes)、試合を終了するための処理たとえば試合結果をRAM12に保存する処理が、CPU7により実行される(S7)。一方で、試合終了命令が発行されていない場合(S6でNo)、ステップ4(S4)の処理が再実行される。
【0130】
以下には、野球ゲームの攻撃イベント(守備イベント)において打者キャラクタ70のスイング動作に動作生成システムが適用された場合の例が、示される。動作生成システムの主要な手段は、攻撃イベントにおいて実行される。また、動作生成システムで用いられるいくつかの手段は、攻撃イベントが開始される前に既に実行されている。このように攻撃イベント前に実行される手段については、上記の対応するステップにおいて、詳細が記述されている。
【0131】
たとえば、まず、自チームの攻撃イベント実行命令がCPU7から発行されると(S51)、図3に示すように、打席位置に配置された自チームの打者キャラクタ70、および各守備位置に配置された敵チームの野手キャラクタ(投手キャラクタおよび捕手キャラクタを含む)が、テレビジョンモニタ20に表示される(S52)。また、ボール通過領域80のストライクゾーン80a、およびボール通過領域80(ストライクゾーン80a)の中心部に配置されたミートカーソル71が、テレビジョンモニタ20に表示される(S53)。なお、図3に破線で示したボール通過領域80のボールゾーン80bは、テレビジョンモニタ20に表示されない。
【0132】
すると、自チームの選手キャラクタに対する各種の命令および敵チームの選手キャラクタに対する各種の命令の受け付けが、CPU7により開始される。すると、自チームの選手キャラクタに対する各種の命令および敵チームの選手キャラクタに対する各種の命令が、CPU7に認識される。なお、ここでは、自チームの選手キャラクタに対する命令は、プレイヤによりコントローラ17から指示され、敵チームの各選手キャラクタに対する命令は、AIプログラムに基づいて指示されるものとする。
【0133】
打者キャラクタ70、ミートカーソル71、および野手キャラクタが、テレビジョンモニタ20に表示されると、打者キャラクタ70のスイング動作の対象となるミートカーソル71の位置を監視する処理が、CPU7により実行される(S54)。
【0134】
たとえば、打者キャラクタ70、ミートカーソル71、および野手キャラクタが、テレビジョンモニタ20に表示されたときには、図3および図4に示すように、ミートカーソル71が、初期設定位置(ボール通過領域80の中心部)においてテレビジョンモニタ20に表示されている。この場合は、ミートカーソル71の初期設定位置を示す設定位置データが、CPU7に認識される。ミートカーソル71の設定位置データがCPU7に認識されている状態においては、ミートカーソル71が移動したか否かが、CPU7により常に監視されている。
【0135】
たとえば、ミートカーソル71を移動させるためのミートカーソル71移動命令がCPU7から発行されたか否かが、CPU7により判断される(S55)。具体的には、コントローラ17の上方向キー17U、下方向キー17D、左方向キー17Lおよび右方向キー17Rの少なくともいずれか1つのキーが操作されたか否かが、CPU7により判断される。
【0136】
そして、ミートカーソル71を移動させるためのミートカーソル71移動命令がCPU7から発行されたと判断された場合(S55でYes)、コントローラ17の操作方向に移動した後のミートカーソル71の設定位置を示す設定位置データが、CPU7に認識される(S56)。そして、移動後のミートカーソル71が、移動後の設定位置において、テレビジョンモニタ20に表示される。なお、コントローラ17が操作されたときのミートカーソル71の移動量は、ゲームプログラムにおいて予め規定されている。このミートカーソル71の移動量に対応するデータは、ゲームプログラムのロード時に、記録媒体10からRAM12にロードされ、RAM12に格納されている。
【0137】
一方で、ミートカーソル71移動命令が未発行である場合(S55でNo)、現時点のミートカーソル71の設定位置を示す設定位置データが、CPU7に認識される(S57)。たとえば、初期状態では、ミートカーソル71の初期設定位置を示す設定位置データが、CPU7に認識される。
【0138】
上記のようなミートカーソル71の位置を監視する処理は、ミートカーソル71の位置の監視を中断する命令がCPU7から発行された場合を除いて、攻撃イベントが実行されたときから攻撃イベントが終了するまでの間において、繰り返し実行される。ここでは、ミートカーソル71の位置を監視する処理、たとえばステップ55からステップ57までの処理は、攻撃イベント中に繰り返し実行される。しかしながら、図10に示すフローは、図を簡潔に表現するために、ステップ55からステップ57までの処理を繰り返し実行するような形式で表現していない。すなわち、図10に示すフローでは、ステップ55からステップ57までの処理に続いて、後述するステップ58の処理が実行されるように表現されている。
【0139】
続いて、打者キャラクタ70にスイング動作を開始させるためのスイング動作開始命令がCPU7から発行されたか否かが判断される(S58)。具体的には、打者キャラクタ70にスイング動作を開始させるためのコントローラ17の操作が実行されたか否かが、CPU7により判断される。言い換えると、打者キャラクタ70にスイング動作を開始させるための信号がコントローラ17から発行され、この信号がCPU7に認識されたか否かがCPU7により判断される。
【0140】
そして、スイング動作開始命令がCPU7から発行された場合(S58でYes)、打者キャラクタ70がスイング動作を開始する状態が、打者キャラクタ用のモーションデータを用いて、テレビジョンモニタ20に表示される(S59)。また、スイング動作開始命令がCPU7から発行された場合には、スイング動作開始命令が発行された時点を基準として、受付制限時間データが示す時間が経過したか否かが、CPU7により判断される(S61)。
【0141】
具体的には、スイング動作開始命令が発行された場合、スイング動作開始命令が発行された時点を基準として、時間を計測する処理がCPU7により実行される。すると、計測された時間が、計測時間データとしてCPU7に認識される。すると、この計測時間データが示す時間が、受付制限時間データが示す時間以上になったか否かが、CPU7により判断される(S61)。そして、スイング動作開始命令が発行された時点を基準として受付制限時間データが示す時間が経過していない場合(S61でNo)、ミートカーソル71の設定位置を監視する処理が、CPU7により連続的に実行される(S62)。具体的には、スイング動作開始命令が発行された時点から経過した時間が、受付制限時間データが示す時間未満である場合、ミートカーソル71の設定位置を監視する処理が、CPU7により連続的に実行される。すなわち、この場合、ミートカーソル71の設定位置を示す設定位置データが、CPU7に連続的に認識される。
【0142】
なお、ここでは、受付制限時間データが示す時間が、23/60(sec)に設定されている。この時間(23/60(sec))は、フレーム数に換算すると、23(フレーム)に対応している。
【0143】
一方で、スイング動作開始命令が発行された時点を基準として受付制限時間データが示す時間が経過した場合(S61でYes)、ミートカーソル71の設定位置を監視する処理が、CPU7により中断される(S63)。具体的には、スイング動作開始命令が発行された時点から経過した時間が、受付制限時間データが示す時間以上である場合、ミートカーソル71の設定位置を監視する処理が、CPU7により中断される。すなわち、受付制限時間データが示す時間が経過した後は、ミートカーソル71の設定位置を示す設定位置データが、CPU7に認識されなくなる。すなわち、この場合、ミートカーソル71の設定位置データを認識する処理を中断する命令が、CPU7から発行される。また、この場合は、ミートカーソル71の設定位置の監視が中断されたときの設定位置データが、RAM12に格納される。
【0144】
そして、ミートカーソル71の設定位置を監視する処理がCPU7により中断された場合、スイング動作開始命令が発行された時点を基準として、ミートカーソル71の設定位置の認識を再開する時間が経過したか否かが、CPU7により判断される(S64)。ここでは、ミートカーソル71の設定位置の認識を再開する時間が、たとえば59/60(sec)に設定されている。この時間(59/60(sec))は、フレーム数に換算すると、59(フレーム)に対応している。このミートカーソル71の設定位置の認識を再開する時間を示す再開時間データは、ゲームプログラムにおいて予め規定されており、ゲームプログラムのロード時に、記録媒体10からRAM12にロードされ、RAM12に格納されている。
【0145】
具体的には、計測時間データが示す時間が、再開時間データが示す時間以上になったか否かが、CPU7により判断される(S64)。そして、計測時間データが示す時間が、再開時間データが示す時間以上になった場合(S64でYes)、ミートカーソル71の設定位置を監視する処理が、CPU7により再実行される(S65)。一方で、計測時間データが示す時間が、再開時間データが示す時間未満である場合(S64でNo)、計測時間データが示す時間が再開時間データが示す時間以上になるまで、計測時間データが示す時間が、再開時間データが示す時間以上になったか否かの判断が、CPU7により繰り返し実行される。
【0146】
上記のように、ミートカーソル71の設定位置を監視する処理が実行されているときには、監視中のミートカーソル71の設定位置データが、CPU7に連続的に認識され、RAM12に格納される。このミートカーソル71の設定位置データを用いることにより、打者キャラクタ70の基本スイング動作の対象となる対象点に対するミートカーソル71の相対的な位置を規定するための相対データを算出する処理が、CPU7により実行される。
【0147】
たとえば、2つの第1モーションデータ用の2つの対象点に対するミートカーソル71の相対的な位置を規定するための第1相対データを算出する処理が、CPU7により実行される(S66)。また、2つの第2モーションデータ用の2つの対象点に対するミートカーソル71の相対的な位置を規定するための第2相対データを算出する処理が、CPU7により実行される(S67)。さらに、2つの第1モーションデータ用の2つの対象点のうちのいずれか一方の対象点および2つの第2モーションデータ用の2つの対象点のうちのいずれか一方の対象点に対する、打者キャラクタ70のスイング動作の対象となるミートカーソル71の相対的な位置を規定するための、第3相対データを算出する処理が、CPU7により実行される(S68)。
【0148】
具体的には、ストライクゾーン80aの外角高めの隅角部72aおよびストライクゾーン80aの内角高めの隅角部72bに対するミートカーソル71の相対的な位置を規定するための、第1比率データを算出する処理が、CPU7により実行される。また、ストライクゾーン80aの外角低めの隅角部72cおよびストライクゾーン80aの内角低めの隅角部72dに対するミートカーソル71の相対的な位置を規定するための、第2比率データを算出する処理が、CPU7により実行される。さらに、ストライクゾーン80aの外角高めの隅角部72aおよびストライクゾーン80aの外角低めの隅角部72cに対するミートカーソル71の相対的な位置を規定するための、第3比率データを算出する処理が、CPU7により実行される。
【0149】
なお、上記の比率データは、(h1,h2)のようなデータ形式で、CPU7に認識されるようになっている。このような形式の比率データは、2つの基本位置データが示す2点(2つの対象点)を結んだ線分を内分したときの比率を示している。ここでは、ミートカーソル71の設定位置データが示す点から上記の線分に下ろした垂線の足が、比率を規定するときに用いられる内分点になっている。
【0150】
たとえば、図6に示すように、ストライクゾーン80aの外角高めの隅角部72aとストライクゾーン80aの内角高めの隅角部72bとを結ぶ線分(第1線分)は、ミートカーソル71の設定位置から第1線分に下ろした垂線の足73a(内分点)により内分される。この内分点73aの両側の2つの線分の長さの比を示すデータが、第1比率データである。この第1比率データを(hxu1,hxu2)と記述した場合、第1比率データが示す比率は「hxu1:hxu2」となる。
【0151】
また、たとえば、ストライクゾーン80aの外角低めの隅角部72cとストライクゾーン80aの内角低めの隅角部72dとを結ぶ線分(第2線分)は、ミートカーソル71の設定位置から第2線分に下ろした垂線の足73b(内分点)により内分される。この内分点73bの両側の2つの線分の長さの比を示すデータが、第2比率データである。この第2比率データを(hxd1,hxd2)と記述した場合、第2比率データが示す比率は「hxd1:hxd2」となる。
【0152】
さらに、たとえば、ストライクゾーン80aの外角高めの隅角部72aとストライクゾーン80aの外角低めの隅角部72cとを結ぶ線分(第3線分)は、ミートカーソル71の設定位置から第3線分に下ろした垂線の足73c(内分点)により内分される。この内分点の両側の2つの線分の長さの比を示すデータが、第3比率データである。この第3比率データを(hy1,hy2)と記述した場合、第3比率データが示す比率は「hy1:hy2」となる。
【0153】
なお、図6、図7、および図8には、第1比率データ、第2比率データ、および第3比率データが「(3,7)、(3,7)、(4,7)」である場合の例が、示されている。すなわち、図6、図7、および図8には、第1線分の内分比が「3:7」であり、第2線分の内分比が「3:7」であり、第3線分の内分比が「4:7」である場合の例が、示されている。
【0154】
続いて、ミートカーソル71の位置を示す設定位置データおよび第1モーションデータに対応する基本位置データに基づいて算出された第1比率データを用いて、2つの第1モーションデータを合成する処理が、CPU7により実行される(S69)。すると、この処理により合成されたモーションデータが、第1合成モーションデータとしてCPU7に認識される。具体的には、図7(a)に示すように、ストライクゾーン80aの外角高めの隅角部72aおよびストライクゾーン80aの内角高めの隅角部72bに対するミートカーソル71の設定位置に応じて、第1比率データがCPU7により算出される。そして、この第1比率データを用いて、ミートカーソル71の設定位置から第1線分に下ろした垂線の足(内分点)の位置におけるモーションデータが生成される。そして、このモーションデータが、第1合成モーションデータとしてCPU7に認識される。
【0155】
すると、ミートカーソル71の位置を示す設定位置データおよび第2モーションデータに対応する基本位置データに基づいて算出された第2比率データを用いて、2つの第2モーションデータを合成する処理が、CPU7により実行される(S70)。すると、この処理により合成されたモーションデータが、第2合成モーションデータとしてCPU7に認識される。具体的には、図7(b)に示すように、ストライクゾーン80aの外角低めの隅角部72cおよびストライクゾーン80aの内角低めの隅角部72dに対するミートカーソル71の位置に応じて、第2比率データがCPU7により算出される。そして、この第2比率データを用いて、ミートカーソル71の設定位置から第2線分に下ろした垂線の足(内分点)の位置におけるモーションデータが生成される。そして、このモーションデータが、第2合成モーションデータとしてCPU7に認識される。
【0156】
すると、ミートカーソル71の位置を示す設定位置データと、第1モーションデータに対応する基本位置データおよび第2モーションデータに対応する基本位置データとに基づいて算出される第3比率データを用いて、第1合成モーションデータと第2合成モーションデータとを合成する処理が、CPU7により実行される(S71)。すると、この処理により合成されたモーションデータが、第3合成モーションデータとしてCPU7に認識される。具体的には、図8に示すように、ストライクゾーン80aの外角高めの隅角部72aおよびストライクゾーン80aの外角低めの隅角部72cに対するミートカーソル71の位置に応じて、第3比率データがCPU7により算出される。そして、この第3比率データを用いて、ミートカーソル71の設定位置におけるモーションデータが生成される。そして、このモーションデータが、第3合成モーションデータとしてCPU7に認識される。
【0157】
すると、ミートカーソル71を対象にしてスイング動作する打者キャラクタ70が、第3合成モーションデータを用いて、テレビジョンモニタ20に表示される。具体的には、ミートカーソル71の位置に向けてスイング動作をする打者キャラクタ70が、第3合成モーションデータを用いて、テレビジョンモニタ20に表示される(S72)。
【0158】
一方で、スイング動作開始命令がCPU7から発行されていない状態では(S58でNo)、打者キャラクタ70がテレビジョンモニタ20に表示されたときの姿勢をとっている状態、たとえば打者キャラクタ70が構えの姿勢をとっている状態が、打者キャラクタ用の画像データを用いてテレビジョンモニタ20に連続的に表示される(図3を参照)。言い換えると、この場合は、打者キャラクタ70の打撃姿勢が、打者キャラクタ用のモーションデータを構成する複数の画像データのうちの第1フレーム用の画像データを用いて、テレビジョンモニタ20に表示される(S60)。すると、上述のステップ66からステップ71までの処理と同じ処理が、CPU7により実行される(S62’、S66’〜S71’)。
【0159】
次に、複数の打者キャラクタ用のモーションデータを合成するときの処理形態を説明しておく。
【0160】
打者キャラクタ用の基本モーションデータは、複数の打者キャラクタ用の画像データから構成されている。打者キャラクタ用の基本モーションデータを構成する打者キャラクタ用の画像データは、頭オブジェクト(頭部オブジェクト、首部オブジェクト)、胴体オブジェクト(胸部オブジェクト、腹部オブジェクト、腰部オブジェクト)、腕オブジェクト(上腕部オブジェクト、下腕部オブジェクト、手部オブジェクト)、脚オブジェクト(大腿部オブジェクト、下腿部オブジェクト、足部オブジェクト)、バットオブジェクト、およびオブジェクトの連結部に定義される関節等から構成されている。
【0161】
各関節には、x軸、y軸、およびz軸が規定される。各関節に対して各軸まわりの回転角度(関節角度)を指定することにより、打者キャラクタ70の姿勢を決定することができる。なお、膝関節や肘関節は一方向にしか曲がらないので、膝関節や肘関節においては、ある回転軸(一軸)まわりの関節角度のみが指定される。また、膝関節や肘関節の関節角度は、角度の範囲に制限が設けられている。これにより、膝関節や肘関節の部分で、腕が逆に曲がってしまわないようにすることができる。
【0162】
上記の各オブジェクト用の画像データは、ゲームプログラムにおいて予め用意されており、ゲームプログラムのロード時に、記録媒体10からRAM12にロードされ、RAM12に格納されている。また、各関節の関節角度は、打者キャラクタ用の画像データごとに、ゲームプログラムにおいて予め規定されており、ゲームプログラムのロード時に、記録媒体10からRAM12にロードされ、RAM12に格納されている。
【0163】
以下では、たとえば、複数の打者キャラクタ用の画像データから構成される打者キャラクタ用のあるモーションデータ(Aモーションデータ)と、複数の打者キャラクタ用の画像データから構成される他のモーションデータ(Bモーションデータ)とを合成する場合を例として、説明を行うものとする。
【0164】
この合成処理では、まず、Aモーションデータのある画像データ用の関節角度と、Aモーションデータのある画像データに対応するBモーションデータの画像データ用の関節角度とを、比率データが示す比率に応じて補正する処理が、CPU7により実行される。これにより、合成モーションデータの画像データ用の関節角度が算出される。言い換えると、同じフレームで用いられる各モーションデータの画像データ用の関節角度を比率データが示す比率に応じて補正する処理を、CPU7に実行させることにより、合成モーションデータの画像データ用の関節角度が算出される。たとえば、Aモーションデータの画像データ用のある関節角度を「Ka1」とし、Bモーションデータの画像データ用のある関節角度を「Kb1」とし、比率データを「(ha1,hb1)」とすると、補正された関節角度(合成モーション用の関節角度)Kab1は、補正式「「Kab1=(ha1×Ka1+hb1×Kb1)/(ha1+hb1)」を用いて算出される。
【0165】
この処理を打者キャラクタ70の全関節に対して実行することにより、合成モーションデータを構成する一画像データに対応する関節角度が算出される。また、この処理を打者キャラクタ70の全フレームに対して実行することにより、合成モーションデータを構成する複数の画像データそれぞれに対応する関節角度が算出される。すると、この関節角度に関節が設定された姿勢に対応する画像データが、RAM12に格納される。そして、これらRAM12に格納された複数の画像データが、合成モーションデータとしてCPU7に認識される。
【0166】
このように、合成モーションデータが生成されると、合成モーションデータが、インターフェース回路21を介してD/Aコンバータ22に供給される。すると、合成モーションデータが、D/Aコンバータ22でアナログ映像信号に変換される。そして、この合成モーションデータをD/Aコンバータ22からテレビジョンモニタ20に供給することにより、合成モーションデータに対応する動画が、テレビジョンモニタ20に表示される。
【0167】
最後に、モーションデータの合成時に対象となる画像データについての説明を行っておく。
【0168】
モーションデータの合成時に対象となる画像データは、スイング動作開始命令がCPU7から未発行である場合と、スイング動作開始命令がCPU7から発行された場合とにおいて異なっている。
【0169】
たとえば、スイング動作開始命令がCPU7から未発行である場合、モーションデータの合成時に対象となる画像データは、図9(a)に示すように、モーションデータを構成する全画像データとなる。すなわち、あるモーションデータ(Aモーションデータ)を構成する全画像データと他のモーションデータ(Bモーションデータ)を構成する全画像データとを対象として、1フレームごとに画像データを互いに合成する処理が、CPU7により実行される。これにより、AモーションデータとBモーションデータとを合成した合成モーションデータを生成することができる。
【0170】
また、たとえば、スイング動作開始命令がCPU7から発行され、スイング動作開始命令がCPU7から発行された後のミートカーソル71の設定位置が一定である場合、モーションデータの合成時に対象となる画像データは、スイング動作開始命令がCPU7から未発行である場合と同様に、モーションデータを構成する全画像データとなる(図9(a)を参照)。すなわち、Aモーションデータを構成する全画像データとBモーションデータを構成する全画像データとを対象として、1フレームごとに画像データを互いに合成する処理が、CPU7により実行される。これにより、AモーションデータとBモーションデータとを合成した合成モーションデータを生成することができる。
【0171】
これに対して、たとえば、スイング動作開始命令がCPU7から発行され、スイング動作開始命令がCPU7から発行された後のミートカーソル71の設定位置が変化した場合、モーションデータの合成時に対象となる画像データは、図9(b)に示すように、ミートカーソル71の設定位置が変化した時点の画像データに続く画像データとなる。すなわち、ミートカーソル71の設定位置が変化した時点以降のフレームで用いられる、Aモーションデータを構成する画像データとBモーションデータを構成する画像データとを対象として、1フレームごとに画像データを互いに合成する処理が、CPU7により実行される。これにより、AモーションデータとBモーションデータとを合成した合成モーションデータを生成することができる。
【0172】
なお、図9に示した丸付き数字は、フレーム番号を示している。また、図9(b)に示した「n」および「m」は、自然数である。この「n」および「m」の間には、「n>m」の関係が成立している。また、「m」は「1≦m≦m1(m1は所定の自然数)」の範囲の自然数である。ここでは、「m」は「1≦m≦22」の範囲の自然数となっている。
【0173】
上記のようなモーションデータの合成処理では、比率データが用いられる。この比率データは、ミートカーソル71の設定位置が変化すると、ミートカーソル71の設定位置の変化に連動してリアルタイムに変化する。すると、変化した比率データに基づいて、合成モーションデータが、生成される。このように、合成モーションデータは、ミートカーソル71の設定位置が監視されている間において、ミートカーソル71の設定位置データに応じてリアルタイムに変化する。すなわち、ミートカーソル71の設定位置が監視されている間において、ミートカーソル71の設定位置データが変化すれば、合成モーションデータは、ミートカーソル71の設定位置データの変化に応じて生成される。
【0174】
なお、上記のモーションデータという文言は、第1モーションデータ、第2モーションデータ、第1合成モーションデータ、および第2合成モーションデータに対応する文言である。すなわち、上記のモーションデータという文言は、合成対象となるモーションデータに対応する文言である。また、比率データという文言は、第1比率データ、第2比率データ、および第3比率データに対応する文言である。さらに、合成モーションデータという文言は、第1合成モーションデータ、第2合成モーションデータ、および第3合成モーションデータに対応する文言である。
【0175】
このように、本実施形態においては、基本位置データが示す基本スイング動作の対象位置および設定位置データが示すミートカーソル71の位置に基づいて、基本となる基本モーションデータを合成し、合成されたモーションデータを再合成することにより、最終的な合成モーションデータが生成されるようになっている。すなわち、基本位置データが示す基本スイング動作の対象位置および設定位置データが示すミートカーソル71の位置に基づいて、基本となる基本モーションデータから、第1合成モーションデータおよび第2合成モーションデータを介して、第3合成モーションデータが生成されるようになっている。このため、ミートカーソル71がどの位置に位置していても、第3合成モーションデータを用いることにより、打者キャラクタ70の現実的なスイング動作を、モニタに表示することができる。一般的な表現を用いると、現実空間において人が行う動作をゲーム空間においても違和感なく表示することができる。
【0176】
なお、図5、図7、および図8には、打者キャラクタ70のスイング動作が示されている。これら図5、図7、および図8では、打者キャラクタ70に素振り動作を実行させたときの図を用いている。
【0177】
〔他の実施形態〕
(a)前記実施形態では、ゲームプログラムを適用しうるコンピュータの一例としての家庭用ビデオゲーム装置を用いた場合の例を示したが、ゲーム装置は、前記実施形態に限定されず、モニタが別体に構成されたゲーム装置、モニタが一体に構成されたゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。また、ゲーム装置は、前記実施形態に限定されず、携帯型コンピュータ、携帯型ゲーム装置などにも同様に適用することができる。
【0178】
(b)本発明には、前述したようなゲームを実行するプログラムおよびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、CD−ROM、DVD、MO、ROMカセット、その他のものが挙げられる。
【図面の簡単な説明】
【0179】
【図1】本発明の一実施形態によるビデオゲーム装置の基本構成図。
【図2】前記ゲーム装置の機能ブロック図。
【図3】打者キャラクタおよびミートカーソルの表示形態と、ボール通過領域の範囲とを示す図。
【図4】対象点の基本位置およびミートカーソルの初期設定位置を示す図。
【図5A】対象点の基本位置に向かってスイング動作を行う打者キャラクタを示す図。
【図5B】対象点の基本位置に向かってスイング動作を行う打者キャラクタを示す図。
【図6】比率データの算出時に用いられる内分点および比率データを説明するための図。
【図7】対象点の内分点に向かってスイング動作を行う打者キャラクタを示す図。
【図8】ミートカーソルの設定位置に向かってスイング動作を行う打者キャラクタを示す図。
【図9】モーションデータの合成時に対象となる画像データを示す図。
【図10】野球ゲームの全体概要を示すフロー。
【図11A】野球ゲームにおける動作生成システムを示すフロー。
【図11B】野球ゲームにおける動作生成システムを示すフロー。
【図11C】野球ゲームにおける動作生成システムを示すフロー。
【符号の説明】
【0180】
1 制御部
2 記憶部
3 画像表示部
4 音声出力部
5 操作入力部
7 CPU
12 RAM
17 コントローラ
20 テレビジョンモニタ
23 通信部
50 対象範囲認識手段
51 基本対象点認識手段
52 基本モーションデータ認識手段
53 第1モーションデータ認識手段
54 第2モーションデータ認識手段
55 受付制限時間データ認識手段
56 ミートカーソル移動判断手段
57 動作開始命令判断手段
58 制限時間判断手段
59 ミートカーソル認識手段
60 相対データ算出手段
61 第1合成モーションデータ認識手段
62 第2合成モーションデータ認識手段
63 第3合成モーションデータ認識手段
64 打者キャラクタ表示手段
70 打者キャラクタ
71 ミートカーソル
72a ストライクゾーンの外角高めの隅角部
72b ストライクゾーンの内角高めの隅角部
72c ストライクゾーンの外角低めの隅角部
72d ストライクゾーンの内角低めの隅角部
73a ミートカーソルの設定位置から第1線分に下ろした垂線の足(内分点)
73b ミートカーソルの設定位置から第2線分に下ろした垂線の足(内分点)
73c ミートカーソルの設定位置から第3線分に下ろした垂線の足(内分点)
80 ボール通過領域
80a ストライクゾーン
80b ボールゾーン
hxu1,hxu2 第1比率データが示す比率
hxd1,hxd2 第2比率データが示す比率
hy1,hy2 第3比率データが示す比率

【特許請求の範囲】
【請求項1】
ゲーム空間において動作するキャラクタを画像表示部に表示するゲームを実行可能なコンピュータに、
記憶部に格納された、前記キャラクタの基本動作に対応する複数の基本モーションデータそれぞれを、制御部に認識させる基本モーションデータ認識機能と、
複数の前記基本モーションデータのうちの少なくとも2つのモーションデータそれぞれを、第1モーションデータとして制御部に認識させる第1モーションデータ認識機能と、
複数の前記第1モーションデータのうちの少なくとも1つの第1モーションデータを除いた複数の前記基本モーションデータのうちの、少なくとも2つのモーションデータそれぞれを、第2モーションデータとして制御部に認識させる第2モーションデータ認識機能と、
記憶部に格納された、前記キャラクタの基本動作の対象となる対象点の基本位置を示す基本位置データを、制御部に認識させる基本対象点認識機能と、
前記キャラクタの基本動作を含む前記キャラクタの動作の対象となる対象点の設定位置を示す設定位置データを、制御部に認識させる設定対象点認識機能と、
前記設定位置データおよび前記第1モーションデータに対応する基本位置データに基づいて、複数の前記第1モーションデータを合成する処理を制御部に実行させることにより、前記処理により合成されたモーションデータを第1合成モーションデータとして制御部に認識させる第1合成モーションデータ認識機能と、
前記設定位置データおよび前記第2モーションデータに対応する基本位置データに基づいて、複数の前記第2モーションデータを合成する処理を制御部に実行させることにより、前記処理により合成されたモーションデータを第2合成モーションデータとして制御部に認識させる第2合成モーションデータ認識機能と、
前記設定位置データと、前記第1モーションデータに対応する基本位置データおよび前記第2モーションデータに対応する基本位置データとに基づいて、前記第1合成モーションデータと前記第2合成モーションデータとを合成する処理を制御部に実行させることにより、前記処理により合成されたモーションデータを第3合成モーションデータとして制御部に認識させる第3合成モーションデータ認識機能と、
前記第3合成モーションデータを用いて、前記対象点を対象にして動作する前記キャラクタを画像表示部に表示するキャラクタ表示機能と、
を実現させるためのゲームプログラム。
【請求項2】
前記コンピュータに、
前記キャラクタの動作の対象となる対象点を移動させるための対象点移動命令が発行されたか否かを制御部に判断させる対象点移動判断機能、
をさらに実現させ、
前記設定対象点認識機能では、前記対象点移動命令が発行されていないと制御部により判断された場合、現在の前記対象点の設定位置を示す設定位置データが制御部に認識され、前記対象点移動命令が発行されたと制御部により判断された場合に、移動後の前記対象点の設定位置を示す設定位置データが制御部に認識される、
請求項1に記載のゲームプログラム。
【請求項3】
前記コンピュータに、
前記キャラクタの動作の対象となる対象点の設定位置を示す設定位置データを受け付ける時間を制限するための受付制限時間データを、制御部に認識させる受付制限時間データ認識機能と、
前記キャラクタに動作を開始させるための動作開始命令が発行されたか否かを制御部に判断させる動作開始命令判断機能と、
前記動作開始命令が発行されたと制御部により判断された場合に、前記動作開始命令が発行された時点を基準として、前記受付制限時間データが示す時間が経過したか否かを制御部に判断させる制限時間判断機能と、
をさらに実現させ、
前記設定対象点認識機能では、前記動作開始命令が発行されたと制御部により判断され、前記動作開始命令が発行された時点を基準として前記受付制限時間データが示す時間が経過していないと制御部により判断された場合に、前記キャラクタの動作の対象となる対象点の設定位置を示す設定位置データが、制御部に認識される、
請求項1又は2に記載のゲームプログラム。
【請求項4】
前記コンピュータに、
前記キャラクタの動作の対象となる対象領域の範囲を示す範囲データを、制御部に認識させる対象範囲認識機能、
をさらに実現させ、
前記基本対象点認識機能では、前記対象領域の範囲内に位置する前記対象点の基本位置を示す基本対象位置データが、制御部に認識され、
前記設定対象点認識機能では、前記対象領域の範囲内に位置する前記対象点の設定位置を示す設定位置データが、制御部に認識される、
請求項1から3のいずれかに記載のゲームプログラム。
【請求項5】
前記コンピュータに、
前記キャラクタの基本動作の対象となる対象点に対する、前記キャラクタの動作の対象となる対象点の相対的な位置を規定するための相対データを算出する処理を、制御部に実行させる相対データ算出機能、
をさらに実現させ、
前記第1合成モーションデータ認識機能では、前記設定位置データおよび前記第1モーションデータに対応する基本位置データに基づいて算出された第1相対データを用いて、複数の前記第1モーションデータを合成する処理が制御部により実行されることにより、前記処理により合成されたモーションデータが、第1合成モーションデータとして制御部に認識され、
前記第2合成モーションデータ認識機能では、前記設定位置データおよび前記第2モーションデータに対応する基本位置データに基づいて算出された第2相対データを用いて、複数の前記第2モーションデータを合成する処理が制御部により実行されることにより、前記処理により合成されたモーションデータが、第2合成モーションデータとして制御部に認識され、
前記第3合成モーションデータ認識機能では、前記設定位置データと、前記第1モーションデータに対応する基本位置データおよび前記第2モーションデータに対応する基本位置データとに基づいて算出される第3相対データを用いて、前記第1合成モーションデータと前記第2合成モーションデータとを合成する処理が制御部により実行されることにより、前記処理により合成されたモーションデータが第3合成モーションデータとして制御部に認識される、
請求項1から4のいずれかに記載のゲームプログラム。
【請求項6】
前記第1モーションデータ認識機能では、複数の前記基本モーションデータのうちの2つのモーションデータそれぞれが、第1モーションデータとして制御部に認識され、
前記第2モーションデータ認識機能では、2つの前記第1モーションデータを除いた複数の前記基本モーションデータのうちの2つのモーションデータそれぞれが、第2モーションデータとして制御部に認識され、
前記相対データ算出機能では、2つの前記第1モーションデータ用の2つの対象点に対する、前記キャラクタの動作の対象となる対象点の相対的な位置を規定するための、第1相対データを算出する処理が制御部により実行され、2つの前記第2モーションデータ用の2つの対象点に対する、前記キャラクタの動作の対象となる対象点の相対的な位置を規定するための、第2相対データを算出する処理が制御部により実行され、2つの前記第1モーションデータ用の2つの対象点のうちのいずれか一方の対象点および2つの前記第2モーションデータ用の2つの対象点のうちのいずれか一方の対象点に対する、前記キャラクタの動作の対象となる対象点の相対的な位置を規定するための、第3相対データを算出する処理が制御部により実行される、
請求項5に記載のゲームプログラム。
【請求項7】
ゲーム空間において動作するキャラクタを画像表示部に表示するゲームを実行可能なゲーム装置であって、
記憶部に格納された、前記キャラクタの基本動作に対応する複数の基本モーションデータそれぞれを、制御部に認識させる基本モーションデータ認識手段と、
複数の前記基本モーションデータのうちの少なくとも2つのモーションデータそれぞれを、第1モーションデータとして制御部に認識させる第1モーションデータ認識手段と、
複数の前記第1モーションデータのうちの少なくとも1つの第1モーションデータを除いた複数の前記基本モーションデータのうちの、少なくとも2つのモーションデータそれぞれを、第2モーションデータとして制御部に認識させる第2モーションデータ認識手段と、
記憶部に格納された、前記キャラクタの基本動作の対象となる対象点の基本位置を示す基本位置データを、制御部に認識させる基本対象点認識手段と、
前記キャラクタの基本動作を含む前記キャラクタの動作の対象となる対象点の設定位置を示す設定位置データを、制御部に認識させる設定対象点認識手段と、
前記設定位置データおよび前記第1モーションデータに対応する基本位置データに基づいて、複数の前記第1モーションデータを合成する処理を制御部に実行させることにより、前記処理により合成されたモーションデータを第1合成モーションデータとして制御部に認識させる第1合成モーションデータ認識手段と、
前記設定位置データおよび前記第2モーションデータに対応する基本位置データに基づいて、複数の前記第2モーションデータを合成する処理を制御部に実行させることにより、前記処理により合成されたモーションデータを第2合成モーションデータとして制御部に認識させる第2合成モーションデータ認識手段と、
前記設定位置データと、前記第1モーションデータに対応する基本位置データおよび前記第2モーションデータに対応する基本位置データとに基づいて、前記第1合成モーションデータと前記第2合成モーションデータとを合成する処理を制御部に実行させることにより、前記処理により合成されたモーションデータを第3合成モーションデータとして制御部に認識させる第3合成モーションデータ認識手段と、
前記第3合成モーションデータを用いて、前記対象点を対象にして動作する前記キャラクタを画像表示部に表示するキャラクタ表示手段と、
を備えるゲーム装置。
【請求項8】
ゲーム空間において動作するキャラクタを画像表示部に表示するゲームをコンピュータにより制御するゲーム制御方法であって、
記憶部に格納された、前記キャラクタの基本動作に対応する複数の基本モーションデータそれぞれを、制御部に認識させる基本モーションデータ認識ステップと、
複数の前記基本モーションデータのうちの少なくとも2つのモーションデータそれぞれを、第1モーションデータとして制御部に認識させる第1モーションデータ認識ステップと、
複数の前記第1モーションデータのうちの少なくとも1つの第1モーションデータを除いた複数の前記基本モーションデータのうちの、少なくとも2つのモーションデータそれぞれを、第2モーションデータとして制御部に認識させる第2モーションデータ認識ステップと、
記憶部に格納された、前記キャラクタの基本動作の対象となる対象点の基本位置を示す基本位置データを、制御部に認識させる基本対象点認識ステップと、
前記キャラクタの基本動作を含む前記キャラクタの動作の対象となる対象点の設定位置を示す設定位置データを、制御部に認識させる設定対象点認識ステップと、
前記設定位置データおよび前記第1モーションデータに対応する基本位置データに基づいて、複数の前記第1モーションデータを合成する処理を制御部に実行させることにより、前記処理により合成されたモーションデータを第1合成モーションデータとして制御部に認識させる第1合成モーションデータ認識ステップと、
前記設定位置データおよび前記第2モーションデータに対応する基本位置データに基づいて、複数の前記第2モーションデータを合成する処理を制御部に実行させることにより、前記処理により合成されたモーションデータを第2合成モーションデータとして制御部に認識させる第2合成モーションデータ認識ステップと、
前記設定位置データと、前記第1モーションデータに対応する基本位置データおよび前記第2モーションデータに対応する基本位置データとに基づいて、前記第1合成モーションデータと前記第2合成モーションデータとを合成する処理を制御部に実行させることにより、前記処理により合成されたモーションデータを第3合成モーションデータとして制御部に認識させる第3合成モーションデータ認識ステップと、
前記第3合成モーションデータを用いて、前記対象点を対象にして動作する前記キャラクタを画像表示部に表示するキャラクタ表示ステップと、
を備えるゲーム制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11A】
image rotate

【図11B】
image rotate

【図11C】
image rotate


【公開番号】特開2008−282340(P2008−282340A)
【公開日】平成20年11月20日(2008.11.20)
【国際特許分類】
【出願番号】特願2007−128278(P2007−128278)
【出願日】平成19年5月14日(2007.5.14)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】