JP4801854B2 - プログラム、情報記憶媒体、および、ゲーム装置 - Google Patents

プログラム、情報記憶媒体、および、ゲーム装置 Download PDF

Info

Publication number
JP4801854B2
JP4801854B2 JP2001237098A JP2001237098A JP4801854B2 JP 4801854 B2 JP4801854 B2 JP 4801854B2 JP 2001237098 A JP2001237098 A JP 2001237098A JP 2001237098 A JP2001237098 A JP 2001237098A JP 4801854 B2 JP4801854 B2 JP 4801854B2
Authority
JP
Japan
Prior art keywords
takeback
character
ball
game
hitting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2001237098A
Other languages
English (en)
Other versions
JP2003047766A (ja
Inventor
英史 青木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2001237098A priority Critical patent/JP4801854B2/ja
Publication of JP2003047766A publication Critical patent/JP2003047766A/ja
Application granted granted Critical
Publication of JP4801854B2 publication Critical patent/JP4801854B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータにゲームを実行させるためのプログラム等に関するものである。
【0002】
【従来の技術】
近年では、3次元の仮想空間にオブジェクトを配置し、仮想的なカメラ(以下、視点という)に基づいてリアルタイムにゲーム画像を生成して、順次ディスプレイに表示するゲーム装置およびソフトウェアが多数開発されている。係るゲームでは、プレーヤによる入力指示に応じて仮想空間に配置したオブジェクトの位置や向きを変化させ、所定のルールやシナリオに従ってゲームを展開させる。
【0003】
例えば、テニスゲームを実現させるゲーム装置があるが、係るゲーム装置では、プレーヤによる入力指示に従って特定のキャラクタ(以下、操作キャラクタという)を陣地内で移動させたり、ボールを打撃させたりしてゲームを展開させる。すなわち、テニスゲームにおいてプレーヤは、相手打球が自陣に到達する位置を予測して操作キャラクタを好適な位置に移動させ、また、相手打球を打ち返す好適な方向や位置を指定して打撃させて、相手キャラクタとの得点を争う。
【0004】
このように、一般的なテニスゲームでは、プレーヤは、自陣の何れの位置に相手打球が到達し、相手陣の何れの方向にボールを打ち返すべきかを考慮しながらゲームを楽しむ。言い換えれば、プレーヤはゲームの実行中に少なくとも操作キャラクタの移動方向と、打ち返すボールの飛行方向もしくは到達位置を指定する。さて、ゲーム装置は、プレーヤにより指定された位置で指定された方向にボールを打撃する動作を操作キャラクタに行わせるわけだが、その打撃動作を開始させる適当なタイミングを決定しなければならない。一般によく知られた方法としては、ゲーム装置が自動的に適当なタイミングを判断する方法(自動制御型)と、プレーヤ入力に従って決定する方法(入力指定型)とがある。
【0005】
自動制御型では、操作キャラクタの位置にボールが到達するまでに要する時間と、操作キャラクタの打撃動作に要する時間とを比較し、両者が一致する瞬間に操作キャラクタに打撃動作を開始させる。一方、入力指定型では、操作キャラクタとボールとの位置関係によらずに、プレーヤの入力指示に従って打撃の動作を開始させる。
【0006】
【発明が解決しようとする課題】
上述のように、従来のテニスゲームでは、操作キャラクタの打撃開始のタイミングを決定する方法として、自動制御型と入力指定型とがあるが、それぞれ以下の問題を抱えている。
【0007】
自動制御型では、プレーヤは打撃する好適な位置を見誤らなければ確実にボールを打ち返すことができる。すなわち、プレーヤが操作キャラクタの移動位置さえ上手く判断できれば、あとは自動的に制御される。このため、テニスゲームとしての現実性が欠けてしまう。また、プレーヤが意図せず漠然と操作したような場合であっても、操作キャラクタが打撃可能な位置に存在すればボールを打ち返すことができ、なんとなくラリーが続いてしまうといったことが起こり得る。これでは、上級者と初心者との差が明瞭に現れず、プレーヤの向上心を阻害する恐れがある。
【0008】
入力指定型では、プレーヤによる打撃の指示に従って、操作キャラクタに打撃の動作を開始させる。さて、現実のテニスでは、ラケットをボールに当てる際に、一旦ラケットを後ろに引き(テイクバック)、その後でラケットをボールに当てにいく動作を行う。すなわち、ボールを打撃するためには、打つための準備動作(テイクバック)が必要となる。同様にゲーム装置によるテニスゲームにおいても、操作キャラクタは、プレーヤにより打撃の指示が入力されてすぐボールを打撃するわけではなく、テイクバックを行った後でなければボールを打撃することができない。しかしこれでは、ボールを打つ為には必ず一定の時間(テイクバックの時間)が必要となり、プレーヤは迅速な打ち返しを調節することができない。
【0009】
その際、ボールと操作キャラクタとの位置関係やボールの速度に応じて、打撃に要するモーションスピードを変更したり、テイクバックの動作を省略したりする処置も考えられる。しかし、その都度打撃に要する時間を変更したり、都合に応じてテイクバックの動作を省略したりすれば、却ってプレーヤが打撃開始のタイミングを図ることが困難となり、望ましくない。
【0010】
本発明の課題は、上記事項に鑑みてなされたものであり、打撃の動作を無理なく自然に演出することを目的とする。
【0011】
【課題を解決するための手段】
上記課題を解決するための第1の発明は、プロセッサによる演算・制御により、移動体(例えば、本実施の形態におけるボール44)を打つための準備動作(例えば、本実施の形態におけるテイクバック)と前記移動体を打つ際の打撃動作(例えば、本実施の形態におけるスイング)とをキャラクタ(例えば、本実施の形態における操作キャラクタ40)に実行せしめ、前記キャラクタを含む仮想空間の画像を所与の視点に基づいて生成するように、当該プロセッサを有する装置に機能させるためのゲーム情報であって、所与の準備動作開始条件に応じて、自動的に前記キャラクタに前記準備動作を開始させる準備動作制御手段(例えば、図11に示すテイクバック開始判定部226、動作選定部228および動作制御部230)と、操作者から入力される打撃動作開始指示に応じて、前記キャラクタに前記打撃動作を開始させる打撃動作制御手段(例えば、図11に示す動作選定部228および動作制御部230)と、を前記装置に対して機能させるためのゲーム情報である
【0012】
また、第16の発明は、キャラクタ(例えば、本実施の形態における操作キャラクタ)と移動体(例えば、本実施の形態におけるボール)を含む仮想空間の画像を所与の視点に基づいて生成するゲーム装置(例えば、図1に示すゲーム筐体10)であって、前記移動体を打つための準備動作を複数種類と、前記移動体を打つ際の打撃動作を複数種類とを、それぞれ記憶するための記憶手段(例えば、図11に示すテイクバックテーブル426およびスイングテーブル428)と、前記移動体の移動状況に基づいて前記キャラクタに実行させる準備動作および打撃動作を前記記憶手段に記憶された複数種類の準備動作および複数種類の打撃動作の中から特定する特定手段(例えば、図11に示す動作選定部228)と、準備動作開始条件に応じて、前記特定手段により特定された前記準備動作を当該キャラクタに開始させる準備動作制御手段(例えば、図11に示すテイクバック開始判定部226および動作制御部230)と、操作者が打撃動作を開始させる指示を入力するための動作指示手段(例えば、図11に示す操作部100)と、前記動作指示手段により打撃動作を開始する指示が入力された場合に、前記特定手段により特定された打撃動作を当該キャラクタに開始させる打撃動作制御手段(例えば、図11に示す動作制御部230)と、を備えるゲーム装置である
【0013】
第1または第16の発明によれば、準備動作開始条件が満たされると、キャラクタに自動的に準備動作を行わせる。また、操作者による入力指示に応じてキャラクタに打撃動作を行わせる。換言すれば、準備動作は、操作者の意思に拘わらず自動的に行わせるが、打撃動作は、操作者の指示に従って行わせる。このため、操作者は、準備動作に要する時間を考慮せずに、直接的に打撃動作の開始タイミングを指示することができる。
【0014】
例えば、テニスゲームのように、ボールが相手陣地と見方陣地とを行き交うゲームでは、操作者が打撃指示を入力するタイミングを予測することができる。例えば、キャラクタがボールを打つための条件として、ボールがその陣地に存在することが必須である。換言すれば、ボールが陣地に存在しない限り、キャラクタはボールを打つことができないし、ボールが陣地に存在すれば、キャラクタがボールを打つ可能性が発生する。そこで、キャラクタにボールを打つ可能性があるか否かに応じて準備動作を開始させれば、より自然に尤らしく打撃動作を行わせることができる。
【0015】
また、第2の発明として第1の発明のゲーム情報において、前記準備動作制御手段が、複数の準備動作の中から1の準備動作を特定して前記キャラクタに実行させる、ように前記装置に機能させるための情報と、前記打撃動作制御手段が、前記準備動作制御手段により特定された準備動作に対応する打撃動作を複数の打撃動作の中から特定して、前記キャラクタに実行させる、ように前記装置に機能させるための情報と、を含むゲーム情報を構成することとしてもよい。
【0016】
また、第3の発明として第1の発明のゲーム情報において、前記準備動作制御手段が、複数の準備動作の中から1の準備動作を特定して前記キャラクタに実行させる、ように前記装置に機能させるための情報と、前記打撃動作制御手段が、複数の打撃動作の中から、前記移動体の軌道と前記キャラクタとの位置関係に基づいて打撃動作を特定し、前記キャラクタに実行させる、ように前記装置に機能させるための情報と、を含むゲーム情報を構成することとしてもよい。
【0017】
この第2または第3の発明によれば、複数の準備動作、複数の打撃動作の中から適当な動作を選定してキャラクタに実行させることができる。第2の発明は、準備動作と打撃動作とが対応関係を有する場合を示し、第3の発明は、準備動作を選定する条件と打撃動作を選定する条件とが異なる場合を示している。準備動作は、打撃するための準備の動作であるから、打撃動作と対応付けて記憶することが有効であることは勿論である。しかし、例えば、テニスゲームのようにキャラクタが一定の範囲を頻繁に移動するゲームでは、準備動作を選定する条件と、打撃動作を選定するための条件とが必ずしも一致しない。そこで、第3の発明のように、準備動作を選定する処理と、打撃動作を選定する処理とを分けて行うようにしてもよい。
【0018】
ところで、テニスゲームなどにおいては、打撃動作は1種類ではなく、フォアストロークやバックストローク、スマッシュ、ボレーなどいくつかの打法がある。また、各打法に応じてテイクバック(準備動作)における動作・姿勢も異なる。このように、姿勢の異なる準備動作が複数種類存在する場合には、その都度適当な準備動作を選定しなければならない。
【0019】
その際、第4の発明として第2または第3の発明のゲーム情報において、前記準備動作制御手段が、前記キャラクタに実行させる準備動作を、(1)前記移動体の軌道、(2)前記移動体の移動速度、(3)前記移動体と前記キャラクタとの位置関係、(4)前記キャラクタの移動方向、(5)前記キャラクタの位置、の少なくとも1つに基づいて特定する、ための情報を含むゲーム情報を構成することとしてもよい。
ここで、移動体の軌道とは、移動体が過去に通過した部分(通過軌道)のみであってもよいし、その先に通過する予定の部分(予定軌道)を含むものであってもかまわない。
【0020】
この第4の発明によれば、移動体の軌道や速度、移動体とキャラクタの位置関係、キャラクタの移動方向や位置などの応じて、準備動作を選定することができる。例えば、テニスゲームにおいては、前述の通り様々な打法が存在するが、各打法に対応する準備動作を選定する際に、ボールやキャラクタの状況に応じて適宜選定することができる。
【0021】
例えば、▲1▼「前記移動体の軌道」によれば、ボール(移動体)が過去に通過した道のり(通過軌道)や、これから通過するであろうボールの道のり(予定軌道)に応じて選定するテイクバック(準備動作)を決定することができる。
例えば、通過軌道が直線的である場合には、ボールを待ちうけるキャラクタの緊張感を表現するために、比較的急速なテイクバックを実行させたり、通過軌道が大きく湾曲した弧状である場合には、余裕のあるテイクバックをキャラクタに実行させるなど、選定するように設定することができる。
あるいは、予定軌道がキャラクタの向かって右側を通過する場合と左側を通過する場合とで、フォアストロークかバックストロークかを選択するといったように、予定軌道に応じてテイクバックの種類を選定することも可能となる。
【0022】
▲2▼「前記移動体の移動速度」によれば、例えば、ボールの速度が速い場合には、素早く動くテイクバック(モーションデータ)を特定し、ボールの速度が遅い場合には、比較的余裕のあるゆったりとしたテイクバック(モーションデータ)を特定するように設定することができる。
【0023】
▲3▼「移動体とキャラクタとの位置関係」によれば、例えば、ボールがキャラクタの位置を通過する際、キャラクタの右側を通過する場合にはフォアストロークのテイクバックを、左側を通過する場合にはバックストロークのテイクバックを、特定するように設定できる。
【0024】
▲4▼「キャラクタの移動方向」によれば、例えば、キャラクタが右方向に移動している場合にはフォアストロークのテイクバックを、左方向に移動している場合にはバックストロークのテイクバックを、前方に移動している場合にはボレーのテイクバックを、特定するように設定できる。
【0025】
▲5▼「キャラクタの位置」によれば、例えば、キャラクタが陣地の前方に存在する場合にはボレーのテイクバックを、後方に存在する場合にはストロークのテイクバックを、といった具合に特定するように設定できる。
【0026】
また、第5の発明として第1第4のいずれかの発明のゲーム情報において、前記準備動作制御手段による準備動作の実行有無に関わらず、操作者から入力される移動指示に応じて前記キャラクタを移動させるための移動制御手段を、前記装置に機能させるための情報を含むゲーム情報を構成することとしてもよい。
【0027】
あるいは、第17の発明として第16の発明のゲーム装置において、前記準備動作制御手段による準備動作の実行有無に関わらず、操作者から入力される移動指示に応じて前記キャラクタを移動させる移動制御手段を、更に備えるゲーム装置を構成することとしてもよい。
【0028】
この第5または第17の発明によれば、キャラクタが準備動作を実行しているか否かにかかわらず、操作者の入力指示に応じてキャラクタを移動させる。例えば、現実のテニスゲームでは、選手がテイクバックをしながらボールの進行方向に走り込んで打撃することがある。このように、ぎりぎりボールに追いついて打撃することによって、ゲームが思わぬ方向に展開し、よりゲームが面白くなる場合がある。これと同様に、ゲーム装置によるテニスゲームでも、キャラクタにテイクバックをさせながら移動させれば、キャラクタに迅速にボールを打撃させることが可能となり、よりリアルなテニスゲームを実現させることができる。また、テニスゲームに限らず、他の球技ゲームにおいても同様のことが言える。
【0029】
なお、移動体を打撃するゲームには、下半身によって移動体を打撃する(蹴る)場合と、適当な打具(テニスゲームならばラケット、野球ゲームならばバット、バレーゲームならば腕など)を用いて上半身によって打撃する場合とがある。上半身によって打撃をするゲームでは、準備動作を行う際に、上半身で打具を振って打撃の準備をし、下半身はスタンスを取ることが一般的である。そこで、操作者から移動の指示が入力された場合には、上半身による準備動作とは別に、下半身には足を動かして走る動作を行わせる、といった具合に、両者別々に制御するようにしてもよい。
【0030】
すなわち、第6の発明として第5の発明のゲーム情報において、前記キャラクタは、少なくとも第1の部位と第2の部位とを含み、前記準備動作制御手段が、前記キャラクタの前記第1の部位を制御することによって、当該キャラクタに準備動作を行わせる、ように前記装置に機能させるための情報と、前記移動制御手段が、前記キャラクタの前記第2の部位を制御することによって、当該キャラクタの移動を制御する、ように前記装置に機能させるための情報と、を含むゲーム情報を構成することとしてもよい。
ここで、キャラクタに含まれる第1・第2の部位とは、例えば、キャラクタの上半身と下半身といった部分であってもよい。あるいは、第1の部位を右腕と左腕、第2の部位を右足と左足とする、といったキャラクタモデルを構成する複数の部分の組み合わせであってもかまわない。
【0031】
ところで、準備動作開始条件が満たされると自動的にキャラクタに準備動作を開始させるわけだが、そのタイミングが必ずしも操作者が望むタイミングと一致するわけではない。すなわち、キャラクタによる準備動作が完了する前に操作者から打撃動作を開始する指示が入力される場合がある。
【0032】
そこで、第7の発明として第1第6のいずれかの発明のゲーム情報において、前記準備動作制御手段が、前記キャラクタに対して準備動作を実行させる前に、あるいは、準備動作が完了する前に、操作者から打撃動作を開始する指示が入力された場合には、準備動作の動作速度を変更して実行させる、または/および、準備動作の途中段階までの動作を実行させる、ように前記装置に機能させるための情報を含むゲーム情報を構成することとしてもよい。
【0033】
この第7の発明によれば、準備動作を行う前、あるいは、準備動作の途中で打撃を開始する指示が入力された場合には、別の準備動作を行わせたり、準備動作を中断させる。したがって、準備動作が操作者の入力指示に間に合わなかった場合にも、柔軟に対応することができる。
【0034】
なお、準備動作を自動的に開始させるための条件、すなわち、準備動作開始条件は、打撃動作を開始する好適な段階よりも早い段階から準備動作が開始されるように設定されることが望ましい。
【0035】
そこで、第8の発明として第1第7のいずれかの発明のゲーム情報において、前記準備動作制御手段が、他のキャラクタにより前記移動体が打撃されたことを前記準備動作開始条件として、もしくは、他のキャラクタにより前記移動体が打撃された後の所与の時間経過を前記準備動作開始条件とする、ように前記装置に機能させるための情報を含むゲーム情報を構成することとしてもよい。
【0036】
あるいは、第9の発明として第1第8のいずれかの発明のゲーム情報において、前記準備動作制御手段が、前記移動体の軌道と前記キャラクタを含む所与の面との交点を算出し、当該交点と当該キャラクタの水平方向に対する距離が所与の長さ以内であることを前記準備動作開始条件とする、ように前記装置に機能させるための情報を含むゲーム情報を構成することとしてもよい。
【0037】
この第9の発明によれば、移動体の軌道とキャラクタとがある程度近くなると準備動作を開始させる。係る設定によれば、キャラクタが準備動作を開始したことによって、操作者は、打撃をするのに好適な位置近傍にキャラクタが位置することを把握できる。言い換えると、準備動作の開始有無によって、打撃行為の可能性を操作者に間接的に知らせる効果がある。
【0038】
ところで、このように移動体とキャラクタとの位置関係を準備動作の開始条件に組み込むと、準備動作を開始するタイミングが遅れてしまう可能性がある。例えば、移動体とキャラクタとの位置的な条件が満たされた時には、既に移動体がキャラクタの近傍に到達してしまい、準備動作が間に合わなくなるといったことが起こり得る。すなわち、移動体がキャラクタの位置を通過するまでに要する時間が、キャラクタが準備動作を実行するために要する時間よりも短くなってしまう場合がある。こうした場合には、準備動作の動作速度を変更して、準備動作が移動体の移動に間に合うようにしてもよい。
【0039】
すなわち、第10の発明として第9の発明のゲーム情報において、前記準備動作制御手段が、前記移動体の現地点から前記交点に到達するまでに要する時間が、前記キャラクタの準備動作に要する時間よりも短い場合には、当該準備動作の動作速度を変更する、ように前記装置に機能させるための情報を含むゲーム情報を構成することとしてもよい。
【0040】
また、第11の発明として第1から第10のいずれかの発明のゲーム情報において、前記準備動作制御手段が、前記移動体の速度に応じて、前記キャラクタに実行させる準備動作の速度を変更する、ように前記装置に機能させるための情報を含むゲーム情報を構成することとしてもよい。
【0041】
この第11の発明によれば、キャラクタに準備動作を実行させる際、移動体の速度に応じて準備動作の速度を変更する。例えば、テニスゲームにおいて、ゆっくり飛んでくるボールに対しては比較的ゆっくりしたテイクバック(準備動作)を実行させ、素早く飛んでくるボールに対しては素早くテイクバックを行わせる、といった具合に、ボールの速さに応じた緊張感を演出できる。
【0042】
また、第12の発明として第1第11のいずれかの発明のゲーム情報において、操作者が前記キャラクタに実行させる打撃動作を予め指定する動作指定手段を前記装置に機能させるための情報と、前記動作指定手段により指定された打撃動作に基づいて、準備動作を選定する選定手段を前記装置に機能させるための情報と、前記準備動作制御手段が、前記選定手段により選定された準備動作を前記キャラクタに実行させる、ように前記装置に機能させるための情報と、前記打撃動作制御手段が、操作者から入力される打撃動作開始指示に応じて、前記動作指定手段により指定された打撃動作を前記キャラクタに開始させる、ように前記装置に機能させるための情報と、を含むゲーム情報を構成することとしてもよい。
【0043】
この第12の発明によれば、打撃動作の種類を自動的に選定するのではなく、操作者の入力指示に応じて打撃動作を決定する。また、キャラクタに自動的に準備動作を開始させる際に、操作者により指定された打撃動作に対応する準備動作を行わせる。したがって、操作者に指定された打撃動作が、その瞬間において自動的に選定される準備動作とは異なるタイプの準備動作を必要とするものであったとしても、指定された打撃動作と対応する準備動作を行わせることとしため、無理なく自然に指定された打撃動作を行わせることができる。
【0044】
なお、操作者が打撃動作の種類を指定するタイミングは、必ずしも、キャラクタが準備動作を開始する前とは限らない。すなわち、自動的に選定した準備動作をキャラクタに開始させた後に、打撃動作を指定する指示が入力される可能性もある。
【0045】
そこで、第13の発明として第12の発明のゲーム情報において、前記準備動作制御手段が、前記キャラクタに準備動作を開始させた後に、前記動作指定手段により打撃動作が指定された場合に、既に開始させた準備動作から前記選定手段により選定された準備動作へと移行させる、ように前記装置に機能させるための情報を含むゲーム情報を構成することとしてもよい。
【0046】
また、第14の発明は、プロセッサによる演算・制御により、所与の視点に基づく仮想空間の画像を生成して、テニスゲームを実行するように、当該プロセッサを有する装置を機能させるためのゲーム情報であって、操作者キャラクタとボールとが接近することによって、当該操作者キャラクタにスイング準備動作を自動実行させる準備動作制御手段と、操作者から入力される打撃動作開始指示により前記操作者キャラクタに打撃動作を開始させる打撃動作制御手段と、を前記装置に機能させるための情報を含むゲーム情報である。
【0047】
この第14の発明によれば、テニスゲームにおいて、操作者キャラクタとボールとが接近したことを条件として、操作者キャラクタにスイング準備動作を自動的に実行させる。また、打撃動作は、操作者からの入力指示に応じて開始させる。したがって、操作者は、準備動作に要する時間を考慮することなく、打撃開始の指示を入力することができるようになると共に、操作者キャラクタに迅速に打撃動作を行わせることが可能となる。
【0048】
また、第15の発明として第1第14までのいずれかの発明のゲーム情報を情報記憶媒体に記憶してもよいことは勿論である。
【0049】
【発明の実施の形態】
以下に、本発明の好適な実施形態について、図面を参照して説明する。なお、以下では各請求項記載の発明をテニスゲームにおけるキャラクタの動作に適用し、業務用のゲーム装置にて実現する場合を例に説明するが、以下の実施方法に限定する必要はない。
【0050】
図1は、業務用のゲーム装置の一例を示す図である。同図によれば、ゲーム装置1の筐体10は、ディスプレイ12、操作バー14、操作キー16、スピーカ18、を備える。また、ゲームプログラムや、本発明を実現するために必要なプログラムやデータ等のゲーム情報は、筐体10に内蔵されたシステム基板20上の情報記憶媒体であるメモリ22に格納されている。また、システム基板20には、CPU、画像生成IC、音生成IC等が実装されている。プレーヤは、ディスプレイ12に映し出される画像を見て、スピーカ18から出力される音を聞きながら、操作バー14および操作キー16を操作することによりテニスゲームを楽しむ。その際、プレーヤは、操作バー14によって、キャラクタの移動方向を指示し、操作キー16によって打撃開始の指示や球種を指定する。
【0051】
図2は、本実施の形態における仮想空間の一例を示す図である。(a)が仮想空間30の斜俯瞰図であり、(b)が仮想空間30の平面図である。
本実施の形態では、3次元の仮想空間30(X,Y,Z)に、テニスコートのライン、ネット38、および複数のキャラクタを配置する。なお、仮想空間30の座標系(以下、ワールド座標系という)の原点をネットラインの中央に定義し、Y軸正方向が鉛直上方を示すように定義する。テニスコートの各ラインは、X軸に対してベースライン32a,b、サービスライン34a,b、ネット38が平行になるように、また、Z軸に対してサイドライン36a〜dが平行になるようにそれぞれ配置される。なお、以下では、ワールド座標系の原点がコートの中心位置にあるものとする。
【0052】
キャラクタの数は、ダブルスのテニスゲームであれば、各陣地に2つづつキャラクタを配置し、シングルのテニスゲームであれば、1つづつキャラクタを配置する。以下では、シングルのテニスゲームを例に説明する。また、一方のキャラクタをプレーヤが操作し、他方のキャラクタをゲーム装置1(コンピュータ)が制御することとして説明する。すなわち、ゲーム装置1は、所定のプログラムやデータに従って1のキャラクタの動作を決定すると共に、プレーヤにより入力される指示に従って他方のキャラクタの動作を決定する。
以下では、プレーヤによって操作されるキャラクタを操作キャラクタといい、ゲーム装置により制御されるキャラクタを相手キャラクタという。
【0053】
本実施の形態では、プレーヤが、操作キャラクタの動作について、移動の有無、移動方向、ラケットにより打撃を開始するタイミング、打撃後のボールの飛行方向を、ゲームコントローラによって指示する。言い換えれば、ゲーム装置1は、プレーヤの指示に従って、操作キャラクタの移動有無や移動方向を決定し、また打撃を開始するタイミングや打撃後のボールの飛行方向を確定する。
また、ゲーム装置1は、打撃の動作において、テイクバック(準備動作)とスイング(打撃動作)とを分けて制御する。具体的には、テイクバックの動作は、操作キャラクタに自動的に開始させるが、スイングは、プレーヤの入力指示に応じて開始させる。テイクバックの開始タイミングを決定する方法については、後に詳細に説明するが、所定のテイクバック開始条件を毎フレーム判定し、条件が満たされたときに操作キャラクタにテイクバックを開始させる。
【0054】
図3は、ゲーム実行中における操作キャラクタの動作を説明するための図であり、X軸方向から見た仮想空間30の側面を示すものである。(a)から(d)の順番で時間の経過を示している。各図において、右側に位置するキャラクタがプレーヤによって操作される操作キャラクタ40であり、左側に位置するキャラクタが相手キャラクタ40である。(a)は、相手キャラクタ42がボール44を打ち返した直後の状態を示す図である。このとき、ゲーム装置は、操作キャラクタ40のテイクバック開始条件を判断する。テイクバック開始条件が満たされている場合には、(b)に示すように、操作キャラクタ40に自動的にテイクバックを開始させる。テイクバック開始後、プレーヤからの入力指示がなければ、操作キャラクタ40にテイクバックをさせたままの状態を維持させる(c)。一方、プレーヤから打撃を開始する指示があった場合には、所定のスイングでボール44を打撃する動作を操作キャラクタ40に実行させる(d)。
【0055】
このように、プレーヤが打撃の指示を入力する前に、予め操作キャラクタ40にテイクバックを開始させておくことによって、より現実のテニス選手の動作に近い動作を操作キャラクタ40に実行させることができる。また、係る方法によれば、プレーヤが打撃指示を入力した瞬間からボール44を打撃する瞬間までの時間のずれが比較的小さくてすむため、プレーヤが打撃指示のタイミングを図りやすくなる。
【0056】
また、本実施の形態では、テイクバックの実行中においても、プレーヤが操作キャラクタ40の移動を指示できるように構成する。具体的には、操作キャラクタ40の上半身と下半身とを別々に制御する。すなわち、テイクバック開始条件を満たす場合には、上半身によってテイクバックを実行させる。その際、下半身については、プレーヤから移動指示が入力されていない場合には、両足を開いて構えさせる。一方、テイクバック開始後にプレーヤが移動指示を入力した場合には、上半身によりテイクバックの動作をさせた状態で、下半身によって走る動作をさせて、その指定された方向に操作キャラクタ40を移動させる。したがって、プレーヤは、操作キャラクタ40がテイクバックをした状態であっても、ボール44に向かって走り込む指示を入力して、迅速に相手打球を打撃させることができる。
【0057】
ところで、本実施の形態では、プレーヤは、操作キャラクタ40の移動方向を指定し、また、打撃開始のタイミングを指定し、打撃する際の球種を指定し、更に、打撃後のボール44の飛行方向を指定する、といった操作を行う。そのため、ゲーム筐体の操作環境に制限がある場合には、いずれかの指示を行うための操作手段が不足する可能性がある。
【0058】
例えば、図1に示すゲーム筐体10は、操作バー14が1つと、4つの操作キー16とを有するが、操作キャラクタ40の移動方向を操作バー14により指示し、打撃開始の指示や球種(すなわち打法)の選択指示を操作キー16によって行うように操作を特定すると、ボール44の飛行方向を指定するためのキーが足らなくなる。そこで、操作バーをもう1つ筐体10に実装するなどしてボール44の飛行方向を指定するための操作手段を追加してもよいが、それではボール44の飛行方向を指定する度にプレーヤは操作バーを持ち替えなければならず、迅速な操作を妨げる恐れがある。
【0059】
係る問題を解決する方法はいくつか考えられるが、以下にその一例を示す。
図4(a)・(b)は、それぞれ仮想空間30の斜俯瞰図であり、操作と指示との対応関係を説明するための図である。(a)は、プレーヤが打撃開始の指示を入力する前における、操作と指示との関係を示している。このとき、ゲーム装置1は、操作キャラクタ40のテイクバック実行有無に関わらず、操作バー14が倒された方向に基づいて操作キャラクタ40の移動方向を決定する。(a)においては、操作バー14が右斜め奥に倒されているため、操作キャラクタ40を自陣の右斜め奥に移動させている。その際、移動前の位置では操作キャラクタ40にテイクバックをさせていないが、移動することでボール44と操作キャラクタ40が接近し、テイクバック開始条件を満たしたため、テイクバックをさせながら移動方向に移動させている。
【0060】
図4(b)は、プレーヤが打撃開始の指示を入力した後における、操作と指示との関係を示している。打撃開始の指示が入力されると、操作キャラクタ40は、スイングを開始する。このとき、操作バー14が倒されても操作キャラクタ40を移動させない。そのかわり、操作バー14が倒された方向に基づいてボール44の飛行方向を決定する。(b)によれば、飛行方向のデフォルト方向46から、操作バー14の倒された方向46´に飛行方向を移動させている。デフォルトの飛行方向は、相手陣の中心近傍である。この設定によれば、プレーヤは、打撃開始の指示入力後から、操作キャラクタ40がボール44を打撃する直前までの間に、操作バー14によってボール44の飛行方向を指定することができる。
【0061】
このように、打撃指示の入力に前後して操作に対応する指示を切り換えることにより、操作を煩雑化させることなく、操作キャラクタ40の移動方向の指示と、ボール44の飛行方向の指定といった操作を両立させることができる。
【0062】
ところで、本実施の形態では、テイクバックを自動的に開始させるわけだが、テニスにおけるテイクバックの種類は1つではないため、状況に応じて適当なテイクバックを選定しなければならない。例えば、スマッシュにおけるテイクバックと、ストロークのテイクバックとは異なり、また、フォアストロークのテイクバックと、バックストロークのテイクバックは異なる。明らかにバックストロークを行うような場面で、自動的にフォアストロークのテイクバックを開始させたのでは、予めテイクバックを開始させる意味がない。そこで、テイクバックの開始タイミングを判定する処理とは別に、操作キャラクタ40に実行させるテイクバックの種類を選定する処理が必要である。
【0063】
以下では、基本的なスイングのパターンとして、フォアストロークと、バックストロークと、スマッシュと、ボレーの4つの打法を設定する。
フォアストロークとは、選手キャラクタのラケットを持つ側(ここでは、右手側とする)を通過するボール44を打つ際の打法である。したがって、このフォアストロークのテイクバックは、操作キャラクタ40の両腕を大きく開き、ラケットを右側後方に大きく引く動作となる。
【0064】
バックストロークとは、操作キャラクタ40の左手側を通過するボール44を打つ際の打法である。したがって、バックストロークのテイクバックは、右手に持つラケットを左側後方に大きく引き、相手キャラクタ42に対してやや背を向けるような動作となる。
【0065】
スマッシュとは、操作キャラクタ40の頭上を通過するボール44をラケットで打ち下ろすことにより、ボール44を相手陣に急角度に強く打ち込む打法である。したがって、スマッシュのテイクバックは、ラケットを持つ腕の肘を曲げた状態で肘を鉛直上方に向け、ラケットが操作キャラクタ40の背中にくるように構える動作となる。
【0066】
ボレーとは、自陣にボール44がバウンドする前に相手陣に打ち込む打法である。ボレーにおいては、通常あまり大きなテイクバックをしないことが多い。したがって、すぐに打ち込めるような姿勢を取らせる。
【0067】
このように、打法に応じてテイクバックの姿勢も異なる。したがって、操作キャラクタ40に自動的にテイクバックを開始させる際には、適宜適当なテイクバックを選定する。
【0068】
図5は、仮想空間30の平面図であり、ストロークとボレーの選定について説明するための図である。同図において、右コートが操作キャラクタ40の陣地であるものとする。さて、ネットのZ座標(Z0)とベースラインのZ座標の中間で、且つ、サービスラインよりもややネットよりの位置に、境界線(Z1)50を定義する。図上には便宜的に境界線50を描いたが、係る境界線50は画面上に表示するためのものではなく、ゲーム装置1がストロークとボレーを選定するためのものである。Z>Z1の範囲がストロークの範囲であり、Z0<Z<Z1の範囲がボレーの範囲である。すなわち、テニスゲームの実行中において、操作キャラクタ40のZ座標がZ>Z1の関係を満たす場合には、操作キャラクタ40にストロークのテイクバックを実行させる。一方、操作キャラクタ40のZ座標がZ0<Z<Z1の関係を満たす場合には、操作キャラクタ40にボレーのテイクバックを実行させる。
【0069】
また、ストロークにおけるフォアとバックの選定については、相手打球の軌道と操作キャラクタ40との位置関係に基づいて決定する。相手打球の軌道が、操作キャラクタ40の右手側を通過する場合には、フォアストロークのテイクバックを実行させる。一方、相手打球の軌道が操作キャラクタ40の左手側を通過する場合には、バックストロークのテイクバックを実行させる。
【0070】
ここで、軌道とは、相手打球が過去に通過した部分(通過軌道)と、その先に通過する予定の部分(予定軌道)とを含むものである。図6は、相手打球の軌道の一例を示す図である。同図において、実線60が通過軌道を示し、破線62が予定軌道を示す。
【0071】
図7は、仮想空間30の平面図であり、フォアとバックの選定方法を説明するためのものである。同図において、三角印が相手キャラクタ42を、四角印が操作キャラクタ40をそれぞれ示している。また、直線70は、相手キャラクタ42によって打撃されたボール44の軌道をX−Z平面に投影した線を示す。以下では、ボール44の軌道をX−Z平面に投影した線を水平軌道線という。同図において、操作キャラクタ40の中心座標は、(XP,YP,ZP)である。また、操作キャラクタ40の中心点を通過し、且つ、X軸に平行な直線72(すなわち、Y=0,Z=ZP)と水平軌道線70との交点74の座標は、(XO,0,ZP)である。以下では、係る交点をZP通過点74という。
【0072】
フォアとバックとを選定する際には、操作キャラクタ40のX座標(XP)に対して、ボール44の水平軌道線が正方向を通過するか、負方向を通過するか、を判定する。すなわち、操作キャラクタ40のX座標(XP)と、ZP通過点74のX座標(XO)との差(XP−XO)の符号によってフォアとバックを選定する。ただし、操作キャラクタ40が何れの陣地に存在するかに応じてフォアとバックの選定基準を変更する必要がある。具体的には、図2に示すように、ワールド座標系におけるZ軸とサイドライン36a〜dとを平行に設定した場合には、Z軸正方向の陣地とZ軸負方向の陣地とでフォアとバックの選定基準が逆になる。差が(XP−XO≦0)を満たす場合において、操作キャラクタ40がZ軸正方向の陣地に存在する場合にはフォアを選定し、Z軸負方向の陣地に存在する場合にはバックを選定する。また、差が(XP−XO<0)を満たす場合において、操作キャラクタ40がZ軸正方向に存在する場合にはバックを選定し、Z軸負方向に存在する場合にはフォアを選定する。
【0073】
スマッシュの選定については、操作キャラクタ40がスマッシュエリアに存在するか否かによって決定する。ここで、スマッシュエリアとは、ゲーム装置1が、相手打球の軌道と、スマッシュ時における操作キャラクタ40のラケットの高さhSと、に基づいてコート上に設定する範囲である。
【0074】
図8は、スマッシュエリア80の一例を示す図である。同図に示すように、スマッシュエリア80は、半径LSの円形をしている。ところで、ゲーム装置1は、操作キャラクタ40にボール44を打撃させる際に、ラケットとボール44の衝突を判定するわけだが、本実施の形態では、ラケットとボール44に空間的な隔たりがあっても、タイミングさえ合えば衝突したものとみなす場合がある。具体的には、操作キャラクタ40に追従させる所定の面(衝突判定面という)を、ボール44の軌道が通過し、更に、ラケットとボール44が衝突判定面を通過するタイミングが合えば衝突したものとみなす。すなわち、ボール44の軌道と衝突判定面とに基づいて位置関係を判断する。衝突判定面が適当に大きな面積を有する場合には、ある程度ボールとラケットとが離れていても衝突したものとみなされる可能性がある。したがって、スマッシュが可能な位置はただ1つの点ではなく、空間的な範囲によって示される。本実施の形態では、スマッシュエリア80をこの範囲よりもやや大きめに設定し、早い段階から予めスマッシュのテイクバックを開始できるようにする。
【0075】
なお、スマッシュエリア80は、ボール44の軌道と、スマッシュ時におけるラケットの高さhSとから決定するわけだから、ボール44の軌道によっては、スマッシュエリア80が存在しない場合がある。例えば、自陣を通過するボール44の軌道(予定軌道)について、スマッシュ時の高さhSよりも高い部分が存在しない場合には、スマッシュエリア80も存在し得ない。このような場合には、操作キャラクタ40は、ボレーかストロークのテイクバックを行うこととなる。また、自陣にスマッシュエリア80が存在する場合であっても、操作キャラクタ40がスマッシュエリア80に存在しない場合には、ボレーかストロークのテイクバックを行うこととなる。
【0076】
また、本実施の形態では、操作キャラクタ40にスイングとして、ストロークやスマッシュといった基本的な打法のほかに、特定の技や特殊な打法を実行させる。
【0077】
例えば、フォアとバックのストロークについて、標準的なスイングに加えて、トップスピンやスライスといったスイングを選択できるようにする。
トップスピンでは、通常のストロークにおけるテイクバックよりも若干下にラケットを構えさせ、下から上へとラケットを持ち上げるようにスイングを実行させる。また、スライスでは、通常のストロークにおけるテイクバックよりも若干上にラケットを構えさせ、上から下へとラケットを移動させてスイングを実行させる。
【0078】
あるいは、消える魔球を実現するための消える魔球用打法や、特殊なスピンを実現するための特殊スピン打法などといった特殊打法を実行させる。ただし、これらの特殊打法については、通常良く知られたテイクバックやスイングとは異なるモーションを実行させる。このように、通常の打法とは明かに異なる動作を行わせることにより、操作キャラクタ40が特殊な打法を実行している旨、および、これから操作キャラクタ40が特殊な打法を実行可能な状態である旨、をプレーヤに知らせる。
【0079】
ところで、本実施の形態において、このような特殊な打法を実現させるためには、どのような条件でこれらの特殊打法に対応するテイクバックを選定し、また、開始させるか、といった問題が生じる。
【0080】
係る問題を解決する方法として、プレーヤに打撃開始の指示と同時に打法を指定させる方法(同時指定方法)と、打撃の指示に先行して打法を指定させる方法(先行指定方法)とがある。
【0081】
同時指定方法は、基本的な打法のテイクバックと似通ったテイクバックを必要とする打法の指定に好適である。
同時指定方法は、打撃開始の指示と同時に打法が指定されるものである。そのため、操作キャラクタ40が基本的な打法のテイクバックの姿勢を取った後で、特殊打法のスイングを開始させることとなる。言い換えれば、同時指定方法では、自動的に開始させたテイクバックの姿勢から、指定されたスイングの開始時における姿勢へと動作を移行させた後で、指定されたスイングを開始させることとなる。したがって、特殊打法のスイング開始時の姿勢が、基本的な打法のテイクバック後の姿勢に似ていれば、それほどの時間を必要とすることなく、自然に姿勢を変更させることができる。
【0082】
例えば、トップスピンやスライスといった技のテイクバックは、通常のストロークにおけるテイクバックの姿勢と若干の異なりがあるにせよ、大変似た姿勢を取る。そのため、トップスピンやスライスのための特別なテイクバックを用意しなくても、通常のテイクバックの状態から特殊打法のスイング開始時の姿勢へと動作を補って滑らかに変化させれば、無理なく自然な打撃動作を演出することができる。また、通常のテイクバック完了時の姿勢と、トップスピンやスライスの打撃開始時の姿勢は似ているため、モーションの移行に費やす時間もそれほど多く必要としない。このため、プレーヤの操作感覚を狂わせる恐れもない。
【0083】
なお、同時指定方法は、以下の操作設定により実現させることができる。操作キー16における1のキーを打撃開始の指示に対応させた場合において、他の1以上のキーを特殊打法の種類と対応付ける。ゲームの実行中に、打撃開始のキーと、特殊打法のキーとを同時にもしくは連続して入力された場合に、対応する打法のテイクバックを開始させる。このように、特殊打法を特定するためのキーの種類と、打撃開始の指示信号の有無とを関連付けて判断することにより、特殊打法の指定有無を判断する。
【0084】
また、先行指定方法は、特殊打法のテイクバックの姿勢が、基本的な打法のテイクバックの姿勢とあまり似ていない場合に適する。
この先行指定方法では、先行して指定された特殊打法のテイクバックを優先させて操作キャラクタ40に実行させる。例えば、操作キャラクタ40がスマッシュエリア80に存在するような場合であっても、特殊打法の先行入力が成されていれば、操作キャラクタ40は、特殊打法のテイクバックを行うこととなる。したがって、特殊打法のテイクバックと基本的な打法のテイクバックとが似ていない場合であっても、違和感なく、また時間的な余裕を持って特殊打法のテイクバックを行わせることができる。
【0085】
なお、先行指定方法は、以下の設定により実現させることができる。操作キー16おける1のキーを打撃開始の指示に対応させた場合において、他の1つもしくは複数のキーを各特殊打法と対応付ける。ゲーム実行中においては、打撃開始のキーよりも先に、特殊打法を指定するためのキーが入力された場合に、その指定された特殊打法のテイクバックを適当なタイミングで自動的に開始させる。すなわち、打撃開始の指示が入力されたときに、既に特殊打法を指定する信号が入力されている場合には、その指定された特殊打法に対応するテイクバックを行わせる。
【0086】
ところで、テイクバックの動作は、操作キャラクタ40がスイングを実行するための準備動作であるから、プレーヤが打撃開始指示を入力する直前までに完了していることが望ましい。
【0087】
しかし、相手打球の飛行速度が十分に速く、通常のモーション速度でテイクバックを実行させたのでは、相手打球が操作キャラクタ40の位置を通過する瞬間までにテイクバックが完了しない場合がある。あるいは、操作キャラクタ40がテイクバックの動作を完了する前に、打撃開始の指示が入力される場合がある。言い換えれば、操作キャラクタ40がスイングの開始時における姿勢に到達する前に、スイングを開始する指示が入力される可能性がある。
【0088】
例えば、操作キャラクタ40がテイクバックを開始した後で、ネットの方向に(すなわち、前方に)移動させる指示が入力されることがあり得る。この場合には、テイクバックを開始させた瞬間の位置よりも、移動後の位置の方が、ボール44を打撃するための好適なタイミングが速くなる。したがって、テイクバックが完了する前に、打撃開始の指示が入力される可能性が高い。
【0089】
これらの状況において、テイクバックが完了しないままにスイングを開始させれば、操作キャラクタ40の動作が連続的に行われず、操作キャラクタ40が突然にスイングを開始するような印象を与えることとなり、ゲーム画像の現実性を損なわせる恐れがある。
【0090】
そこで、本実施の形態では、ボール44の飛行状況や操作キャラクタ40のテイクバックの進行状況に応じて、以下の処置を施す。
まず、打球速度が速い場合には、テイクバックのモーション速度を所定の速度よりも早くする。モーション速度とは、ここでは、動作を実行する際に要するフレーム数を意味する。例えば、顔を正面に向けた状態(キーフレーム)から、顔を右に向けた状態(キーフレーム)へと、頭部を回転させる場合を考える。その際、各キーフレーム間のフレーム数を10フレームとした場合に比べて、5フレームで動作させた場合の方がはるかに動作が速く見える。これと同様に、相手打球の速度が速い場合には、テイクバックの動作が速くなるようにテイクバックに要するフレーム数を減少させる。
【0091】
具体的には、相手打球の水平方向への速度vLと、打球の水平方向の平均速度vAについて、R=vL/vAを算出し、所与の閾値RCに対して、R>RCを満たす場合に、モーション速度を変更させる。各キーフレーム間の標準のフレーム数をMDとした場合、R>RCを満たす際のフレーム数Mを、
M=(vA/vL)・MD …(1)
によって決定する。ただし、小数点以下は切り捨てもしくは切り上げる。すなわち、相手打球の水平方向への速度vLが平均速度vAよりも早ければ早い程、フレーム数Mは小さくなる。
【0092】
また、テイクバックの途中で打撃開始の指示が入力された場合には、テイクバックの動作を中断させる。そして、中断した瞬間の姿勢からスイングの動作を開始させる。ただし、その際、スイングのどの段階からモーションを開始させるか選択しなければならない。例えば、テイクバック開始間際に打撃の指示が入力された場合に、スイングの初期状態からモーションを開始させたのでは動作が不自然に見えてしまう。そこで、中断されたテイクバックの状態に近いスイングのモーションを選び出して、その瞬間からスイングのモーションを開始させる。
【0093】
図9は、テイクバックの途中段階からスイングを開始させる処理について説明するための図である。同図において、(a)〜(j)は、それぞれキーフレームの操作キャラクタ40の姿勢を示す。また、(a)〜(d)がテイクバックのキーフレームを示し、(e)〜(j)がスイングのキーフレームを示す。テイクバックにおいては、(a)から(d)への順番で時間経過を示し、スイングにおいては、(e)から(j)への順番で時間経過を示している。テイクバックの中断処理では、打撃開始の指示が入力された瞬間のフレームに対応するキーフレームを、スイングのキーフレームの中から読み出し、その読み出したキーフレームからスイングを開始させる。
【0094】
図10は、テイクバックとスイングのキーフレーム間における対応関係の一例を示す図である。同図によれば、テイクバックの(a)から(a)と(b)の中間までの間に打撃開始の指示が入力された場合には、スイングにおける(h)からモーションを開始させる。同様に、(a)と(b)の中間から(b)と(c)の中間までの間(すなわち、(b)の前後)に打撃開始の指示が入力された場合には、スイングの(g)からモーションを開始させる。といった具合に、テイクバックとスイングの各キーフレームを対応付ける。
【0095】
具体的には、キーフレームbの前後に打撃開始の指示が入力された場合には、その段階でテイクバックの動作を中断し、対応するスイングのキーフレームを読み出す。図10に示す対応関係によれば、キーフレームbに対応するキーフレームgを読み出す。そして、その読み出したキーフレームgからスイングを開始させる。なお、テイクバック中に中断された瞬間の操作キャラクタ40の姿勢と、スイングにおける対応するキーフレームに基づく姿勢とが必ずしも一致するわけではない。そこで、スイングの動作を開始させる際に、テイクバックを中断した瞬間の状態から、スイングのキーフレームへと動作を補間し、滑らかに動作を移行させた後で、スイングの動作を開始させる。
【0096】
以下に、本実施の形態におけるゲーム装置1の機能構成について説明する。
図11は、ゲーム装置1の機能ブロックの一例を示す図である。同図によれば、本機能ブロックは、主に、操作部100と、処理部200と、表示部300と、情報記憶媒体400と、一時記憶部500と、を備える。
【0097】
操作部100は、図1に示すゲーム装置1の操作バー14および操作キー16に相当する機能部であって、プレーヤの入力・操作を電気信号として処理部200に出力するためのものである。なお、操作部100に相当する機器は、図1に示したような、操作バー14および操作キー16だけでなく、キーボードなどの汎用の入力装置や、ゲームコントローラ、マウスやトラックボール、ジョイスティック等の入力手段を用いることとしてもよい。表示部300は、図1に示すディスプレイ12に該当する機能部であり、処理部200から入力される指示に従って処理部200にて生成された画像を表示する。
【0098】
情報記憶媒体400は、本実施の形態におけるゲーム装置の駆動に係るプログラムやデータ等を記憶するものであり、CD−ROM、MO、DVD、メモリ、ハードディスク等のハードウェアにより実現できる。また、情報記憶媒体400は、テニスゲームを実行するためのゲームプログラム420を記憶する。また、ゲームプログラム420には、ゲーム演算プログラム422や画像生成プログラム424の他、テイクバックテーブル426と、スイングテーブル428、移動モーションデータ430、対応テーブル432が含まれる。
【0099】
ゲーム演算プログラム422には、ゲームシナリオや各キャラクタのモデル情報、仮想空間30に配置する各オブジェクトのモデル情報、プレーヤの操作信号に応じて各オブジェクトの動作を決定するための情報、ゲームの進行に応じて視点位置を決定するための情報、個々のキャラクタの動作を特徴付ける固有値情報、テニスゲームの得点を算出するための情報等、その他ゲーム進行に係る情報等が含まれる。また、画像生成プログラム424には、仮想空間30に配置された各キャラクタやオブジェクトの位置的な関係を演算するためのジオメトリ処理や、3次元の仮想空間30の状況を視点の座標に基づいて2次元の座標系に変換してゲーム画像を生成するためのレンダリング処理を実行するために必要な情報などが含まれる。
【0100】
なお、以下に、情報記憶媒体400に記憶されるテイクバックテーブル426について説明する。
テイクバックテーブル426とは、テーブル形式の情報であり、キャラクタに実行させるテイクバックのモーションデータを選定条件と対応付けたものである。図12は、操作キャラクタ40がZ軸正方向に存在する場合に対するテイクバックテーブル426の一例を示す図である。同図によれば、テイクバックテーブル426には、選定条件と、上半身のテイクバックのモーションデータと、下半身のスタンスのモーションデータとがそれぞれ対応付けて記憶されている。
【0101】
テイクバックの種類としては、上述の通り、フォアストローク、バックストローク、スマッシュ、ボレー、特殊打法A、特殊打法B、…、とがある。すなわち、テイクバックテーブル426には、それぞれのテイクバックに対応する上半身と下半身のモーションデータが記憶される。ここで、下半身のモーションデータは、プレーヤから移動指示が入力されていない時に、操作キャラクタ40に足の構えを行わせるためのデータである。また、選定条件とは、テイクバックテーブル426内に記憶された複数のテイクバックの中から1のテイクバックを選定するための条件である。
【0102】
フォアストロークの選定条件は、操作キャラクタ40の座標(XP,YP,ZP)について、(ZP>Z1)、且つ、(XP−XO≦0)である(図5および図7参照)。すなわち、操作キャラクタ40が、自陣における所定のZ座標(Z1)よりもネットに対して後方に存在し、且つ、相手打球が操作キャラクタ40の右側を通過する場合に、フォアストロークが選定されるように、選定条件を設定する。一方、バックストロークを選定するための条件は、操作キャラクタ40の座標について、(ZP>Z1)且つ(XP−XO>0)である。
【0103】
なお、上記説明では、フォアとバックのストロークに、それぞれトップスピンとスライスのスイングを含むものとして説明した。しかし、図12に示すテイクバックテーブル426には、トップスピンとスライスに対応するテイクバックのモーションデータが記憶されていない。これは、トップスピンやスライスは、打撃開始の指示と同時にプレーヤによって選択されるものであり、言いかえれば、デフォルトのストロークに対応するテイクバックを実行した後で指定されるものであるから、固有のテイクバックを必要としないためである。そのため、テイクバックテーブル426には、トップスピンやスライスに固有のテイクバックのモーションデータを記憶しない。
【0104】
スマッシュの選定条件は、図8を用いて説明した通り、操作キャラクタ40がスマッシュエリア80に存在するか否かが条件である。すなわち、スマッシュエリア80の中心点の座標(XS,YS,ZS)と、操作キャラクタ40の座標(XP,YP,ZP)との距離がLS以内であることが選定条件となる。
S≧{(XP−XS2+(ZP−ZS21/2 …(2)
ところで、スマッシュエリア80の中心点の座標(XS,YS,ZS)は、相手キャラクタ42がボール44を打撃する度に異なる。言い換えれば、ボール44の軌道に応じて座標(XS,YS,ZS)も変化する。係る座標については、ゲームの実行中に処理部200がその都度算出する。
【0105】
ボレーの選定条件は、図5を用いて説明した通り、操作キャラクタ40のZ座標について、(Z0<ZP<Z1)である。また、特殊打法については、先行入力指示の信号と対応付けてテイクバックのモーションデータを記憶する。
【0106】
続いて、スイングテーブル428について説明する。
スイングテーブル428とは、テーブル形式の情報であり、操作キャラクタ40に実行させるスイングのモーションデータを実行条件と対応付けたものである。図13は、操作キャラクタ40がZ軸正方向の陣地に存在する場合のスイングテーブル428の一例を示す図である。同図によれば、スイングテーブル428には、実行条件とモーションデータとが対応付けて記憶されている。スイングの種類としては、フォアストロークとバックストローク(それぞれ、デフォルトと、トップスピンと、スライスが記憶される)、スマッシュとボレーと、特殊打法Aと、特殊打法Bと、…、とが記憶されている。ここで、実行条件とは、ゲーム実行中に操作キャラクタ40に実行させるスイングを特定するための条件である。
【0107】
ところで、同図によれば、特殊打法A、特殊打法B…、を除く全ての打法が、実行条件としてヒットポイントによって識別されている。具体的には、ヒットポイント1〜6までがフォアストロークに対応し、ヒットポイント7〜12までがバックストロークに対応し、ヒットポイント13,14がスマッシュに対応し、ヒットポイント16、16がボレーに対応している。このヒットポイントとは、前述した衝突判定面上に設定された座標(ローカル座標系(x,y))である。各ヒットポイントに対応するモーションデータは、ラケットが対応するヒットポイントを通過するように、操作キャラクタ40にスイングさせるように設定されている。
【0108】
図14は、衝突判定面90の一例を示す図である。(a)は、操作キャラクタ40および衝突判定面90の正面を示す図であり、(b)は、操作キャラクタ40および衝突判定面90をX軸方向から見た側面図である。衝突判定面90は、左右対象の形状をしており、その中心線のX座標は、操作キャラクタ40のX座標と等しい。また、衝突判定面90の中心線のZ座標は、操作キャラクタ40のZ座標に±δZを加算した値に等しい(ZP±δZ)。ここで、+の符号は、操作キャラクタ40がZ軸負方向の陣地に存在する場合を示し、−の符号は、操作キャラクタ40がZ軸正方向の陣地に存在する場合を示す。すなわち、衝突判定面90は、操作キャラクタ40を基準として、常に相手キャラクタ42の方向に配置されることとなる。また、衝突判定面90は、常にX軸に平行に配置される。衝突判定面90の中心線からの幅は、ΔXの大きさである。
【0109】
図14(a)によれば、衝突判定面90の表面にいくつかの点92〜98が表示されている。各点が、ヒットポイント、すなわち、各モーションデータに基づくラケットの通過位置を示している。点92a〜fは、フォアストロークにおけるラケットの通過点(ヒットポイント1〜6)を、点94a〜fは、バックストロークにおけるラケットの通過点(ヒットポイント7〜12)をそれぞれ示している。点96aおよび96bは、スマッシュ時におけるラケットの通過点(ヒットポイント13,14)の座標を示す。点98aおよび98bは、ボレー時におけるラケットの通過点(ヒットポイント15,16)の座標を示す。詳細は後述するが、ゲーム実行中において、スイングを選定する際には、処理部200が、ボール44の軌道と衝突判定面90との交点を算出し、この交点の際近隣のヒットポイントを抽出することで、スイングを特定する。
【0110】
このように、複数のヒットポイントを設定し、複数のモーションデータを用意する理由は、2つある。1つは、操作キャラクタ40がボール44を打撃することができる空間的範囲を広げるためである。もう1つは、衝突判定面90を通過するボール44について、どの位置を通過するボール44に対しても臨機応変に自然な動作で打撃させるためである。例えば、操作キャラクタ40の肩の高さを通過するボール44を打撃する場合と、ひざの高さを通過するボール44を打撃する場合とでは、打撃のモーションが異なる。また、ラケットを伸ばしてようやく届く位置を通過するボール44と、操作キャラクタ40の近くを通過するボール44とでは、打撃をする際のモーションが異なる。これらの動作を自然に無理なく実行させるために、ボール44が衝突判定面90を通過する際に最も近い位置のヒットポイントを選定し、そのヒットポイントに対応する動作を実現させる。
【0111】
さて、図13に示すスイングテーブル428において、ヒットポイント1〜12には、「指定なし」と、「指定1」と、「指定2」とに分けられる3つのモーションデータが対応している。ここで、「指定なし」は、デフォルトのスイングを、「指定1」は、トップスピンのスイングを、「指定2」は、スライスのスイングをそれぞれ示している。「指定1」には、打撃開始の指示信号と同時に、特定の操作キー16の入力信号が入力されることを実行条件として記憶する。「指定2」についても同様に、打撃開始の指示信号と特定の操作キー16の入力信号が同時に入力されることを実行条件として記憶する。
【0112】
また、図13によれば、特殊打法Aのモーションデータと、特殊打法Bのモーションデータとが記憶されている。これらの実行条件は、特殊打法Aについては打法特定信号A、特殊打法Bについては打法特定信号Bが対応付けて記憶されている。ここで、打法特定信号とは、操作キー16の入力信号が該当する。
【0113】
移動モーションデータ430とは、操作キャラクタ40の移動時における下半身の動きを制御するためのモーションデータであり、テイクバック実行中に、プレーヤから移動指示が入力された際に、処理部200によって読み出されるものである。
【0114】
対応テーブル432とは、テイクバックの実行中に打撃開始の指示が入力された際に、処理部200が、テイクバックを中断した瞬間のフレームに対応するスイングのキーフレームを選択するとき参照するテーブルである。対応テーブル432には、図10に示したように、テイクバックのキーフレームと、スイングのキーフレームとを対応付けて記憶する。なお、1つのテイクバックに対して複数のスイングが対応する場合には、スイングの一つ一つに対して対応するテイクバックとのキーフレーム間の対応関係を設定する。
【0115】
一時記憶部500は、処理部200が情報記憶媒体400に記憶された各種プログラムに従って実行した演算結果や、操作部100から入力される情報、画像生成部240により生成された画像結果等を一時的に記憶するためのメモリ領域であり、RAMや、VRAM等のハードウェアにより実現される。また、一時記憶部500は、処理部200から入力される指示に従って、操作部100から入力される打法特定信号520を一時的に記憶する。
【0116】
処理部200は、システム全体の制御、システム内の各機能部への命令の指示、操作部100から入力される操作信号や情報記憶媒体400に記憶されたゲームプログラム420に基づいてテニスゲームを進行するための処理、画像処理、音処理等の各種処理を行うものであり、その機能は、各種プロセッサ(CPU、DSP等)、あるいはASIC(ゲートアレイ等)等のハードウェアや、所与のプログラムにより実現できる。また、処理部200は、主に、ゲーム演算部220と画像生成部240とを含み、操作部100から入力される操作信号に応じた処理をゲーム演算部220に実行させ、更に、その処理結果に基づく画像を画像生成部240に生成させる。
【0117】
ゲーム演算部220は、ゲームの進行処理、選択画面の設定処理、仮想空間30に存在する各キャラクタやオブジェクトの座標・動作を決定する処理、等の種々のゲーム処理を、操作部100から入力される操作信号や、情報記憶媒体400から読み出すゲーム演算プログラム422等に基づいて実行する。そして、ゲーム演算部220は、各キャラクタの座標や動作、向きなどを決定すると、その決定した情報に基づいて画像生成部240に画像を生成する処理を実行させる。
【0118】
画像生成部240は、ゲーム演算部220から入力される指示信号、各種座標データに基づき、ゲーム画像を生成する処理を実行するものであり、CPU、DSP、画像生成専用のIC、メモリなどのハードウェアにより構成される。具体的には、画像生成部240は、前方、後方クリッピングを実行してビューボリューム(すなわち、描画範囲)を決定する処理、各キャラクタやオブジェクトに対する視点に基づく座標変換処理等のジオメトリ処理と、色補間処理等のレンダリング処理を実行することによりゲーム画像を生成する。そして、生成したゲーム画像をフレームバッファ(不図示)等のメモリ領域に格納する。
【0119】
なお、ゲーム演算部220は、打球制御部222と、スマッシュエリア算出部224と、テイクバック開始判定部226と、動作選定部228と、動作制御部230と、を含み、操作部100から入力される信号およびゲームプログラム420に基づいて各部を機能させる処理を実行する。
【0120】
打球制御部222は、打球の動きを制御する機能部であり、具体的には、打球の軌道を生成する処理、ボール44とラケットの衝突判定、などを実行する。
まず、軌道生成処理について説明する。
打球制御部222は、後述する衝突判定によりラケットとボール44が衝突した旨の判定をすると、ボール44の軌道を生成する。具体的には、打球制御部222は、キャラクタ(操作キャラクタ40と相手キャラクタ42とを問わず)がボール44を打撃すると、その飛行方向を決定すると共に、初速度vを決定する。初速度vは、打撃のタイミングや、操作キャラクタ40の固有値、乱数などによって決定する。
【0121】
図15(a)は、仮想空間30の平面図であり、ボール44の飛行方向の一例を示すものである。同図において、三角印が相手キャラクタ42を、四角印が操作キャラクタ40を示す。打球制御部222は、打撃後のボール44の飛行方向を決定する。(a)においては、ボール44を打撃したキャラクタを出発点とする直線120によって飛行方向を示した。打撃後のボール44は、原則的にこの直線120上を飛行することになる。
【0122】
なお、操作キャラクタ40により打撃されたボール44の飛行方向を決定する際には、プレーヤによる操作バー14の操作により決定する。すなわち、打撃開始の指示が入力された瞬間から、ボール44を打撃する直前までに操作バー14が倒された方向に基づいて飛行方向を決定する(図4参照)。
【0123】
図15(b)は、初速度vの成分を示す図である。初速度vは、鉛直方向(Y軸方向)の成分vYと、水平方向(X−Z平面上)の成分vLとを有するベクトルである。打球制御部222は、打撃の瞬間からの経過時間δtPASにおけるボール44の高さYBと、打撃位置からの水平方向に対する距離LBを算出する。
B=vY・δtPAS−(1/2)・(g・δtPAS 2) …(3)
B=vL・δtPAS …(4)
gは重力定数である。そして、図15(a)に示す直線120上において、ボール44が打撃された位置からの距離がLBとなる点(XB,ZB)を算出して、打撃後の各フレームにおけるボール44の座標(XB,YB,ZB)を決定する。
【0124】
ボール44がコートにバウンドした後のY軸方向の速度成分については、適当に設定した衝突係数γにより算出する。ただし、−1<γ<0である。具体的には、ボール44の水平面到達時刻tAにおけるY軸方向の速度vYAを算出し、その算出した速度vYAに係数γを乗算することによってバウンド後のY軸方向の速度を決定する。
YA=vY−(g・tA
Y=vYA・γ …(5)
【0125】
なお、プレーヤがトップスピンやスライスの指示を入力した場合には、ボール44の軌道にカーブを持たせる。
図16は、初速度の水平成分を示す図である。同図に示すように、打撃の瞬間に、飛行方向120に対する速度成分vLと、飛行方向と垂直に交わる速度成分vSを決定する。そして、打撃の瞬間からの経過時間δtPASにおけるボール44の位置(XB,ZB)をvL、vSに基づいて決定する。例えば、プレーヤによりトップスピンの打撃を指定された場合には、次のようにして計算する。
【0126】
ηB=vL・δtPAS
ξB=vS・δtPAS−(1/2)・(αTOP・δtPAS 2) …(6)
ここで、定数αTOPは、トップスピンによる水平方向の加速度を示す。係る定数は、キャラクタ毎に設定してもよいし、乱数により決定してもよい。また、(ηB,ξB)は、図17に示すように、ローカル座標系(η,ξ)における座標を示している。η軸と飛行方向120とが角度θをなしている場合には、算出した座標(ηB,ξB)をY軸廻りに∠θ回転させて、原点の位置を打撃位置に合わせることにより、ボール44の水平位置を決定する。スライスについても、スライス用の加速度αSLIを設定し、同様の計算を実行することによって軌道を算出する。
【0127】
次に、衝突判定について説明する。
打球制御部222は、衝突判定において、ラケットとボール44の動作に係る位置的関係と時間的関係とを判断する。ラケットとボール44が位置的・時間的関係の両方を満たす場合に、打球制御部222は、ラケットがボール44を打撃した旨を判定する。その際、打球制御部222は、ラケットとボール44の関係を判断する基準として衝突判定面90(図14参照)を用いて処理を行う。
【0128】
衝突判定面90は、上述のようにスイングにおけるヒットポイントの座標を定義するだけでなく、ラケットとボール44の衝突を判定する際の空間的な許容範囲を示すものである。すなわち、ボール44の軌道が衝突判定面90と交差するときには、打撃するタイミングが合いさえすれば、例え実際にはラケットにボール44が当っていなくても衝突したものとみなす。
【0129】
すなわち、打球制御部222は、空間的関係として、ボール44の軌道と衝突判定面90との交点の有無を判定し、時間的関係として、ボール44が衝突判定面90を通過するタイミングと、ラケットが衝突判定面90と通過するタイミングとを判定する。
【0130】
さて、ボール44の軌道と衝突判定面90との交差有無を判定する方法は如何なる方法であってもかまわないが、以下にその一例を示す。
まず、ボール44の軌道と衝突判定面90の各水平成分の交差有無を調べ、交差する場合には、鉛直成分の交差有無を調べる。すなわち、X−Z平面上において、水平軌道線と、衝突判定面90のZ座標(ZO=ZP−δZ)との交点(XO,ZO)を算出する。ここで、水平軌道線とは、上述した通り、ボール44の軌道を水平面(X−Z平面)に投影した際の投影線である。そして、算出した交点のX座標が(XP−ΔX≦XO≦XP+ΔX)を満たすか否か判定する。
【0131】
満たす場合には、座標(XO,ZO)における軌道の高さYOを次の計算によって求める。
DIS={(XO−XA2+(ZO−ZA21/2
ΔtO=LDIS/vL
O=vY・ΔtO−(1/2)・(g・ΔtO 2) …(7)
ここで、座標(XA,ZA)は、相手キャラクタ42がボール44を打撃した際の位置である。また、ΔtOは、ボール44が打撃位置(XA,ZA)から衝突判定面90に到達するまでに要する時間を意味する。算出したYOが衝突判定面90内に含まれる場合には、ラケットとボール44が空間的関係を満たすものとして判断する。
【0132】
また、ラケットとボール44の時間的関係を判定する際には、ラケットとボール44がそれぞれ衝突判定面90を通過するタイミングを判定する。
具体的には、ボール44が打撃されてから衝突判定面90に到達するまでに要する時間ΔtOと、相手キャラクタ42がボール44を打撃した時刻からプレーヤが打撃開始の指示を入力するまでの時間ΔtRと、ラケットがスイングの開始位置から衝突判定面90の位置までの移動に要する標準的な時間Δτとに基づいて、ラケットとボール44の時間的関係を判定する。
【0133】
例えば、
ε1≦ΔtO−ΔtR≦Δτ+ε2
が満たされるとき、ラケットとボール44の時間的関係が満たされるものとする。すなわち、プレーヤによって打撃を開始する指示が入力された瞬間からボール44が打撃面を通過するまでに要する時間(ΔtO−ΔtR)が、ε1以上であり、打撃動作に要する時間Δτよりもε2だけ長い時間(Δτ+ε2)以内であれば、時間的関係が満たされる。ここで、ε1は、ボール44が衝突判定面90に到達するまでの時間の最小値であり、ε2は、最大値を示す。
【0134】
スマッシュエリア算出部224は、スマッシュポイントの中心点の座標(XS,ZS)を算出する機能部である。
図14に示す衝突判定面90において、点96aおよび点96bがスマッシュのスイングにおけるヒットポイントである。すなわち、スマッシュにおいて、操作キャラクタ40は、ヒットポイント96aおよび96bの位置でボール44を打撃することとなる。このヒットポイント96a・96bのワールド座標系における高さhSに基づいてスマッシュエリア80の中心点の座標を決定する。図18は、ボール44の軌道と高さhSとの関係を示す図であり、仮想空間30をX軸正方向から見た際の側面図である。同図に示すように、スマッシュエリア算出部224は、ボール44の軌道のうち、操作キャラクタ40のスマッシュ時の高さhSと一致する点の座標(X,Z)を算出する。
【0135】
具体的には、初速度vにおける鉛直方向の速度vYを用いて、ボール44の高さがhSになる瞬間の時間tを算出する。すなわち、
P=vY・t−1/2(g・t2) …(8)
を満たすtの値を算出する。式(8)に解がある場合に、解が1つである場合にはその値を、解が2つある場合にはそのうちの大きい値を、スマッシュ時間tSとする。また、算出したスマッシュ時間tSと水平方向の初速度vLとに基づいて打撃位置からの距離RSを算出し、該当する点の座標(XS,ZS)を決定する。
【0136】
テイクバック開始判定部226は、選手キャラクタにテイクバックを開始させるタイミングを判定する機能部である。
テイクバックを開始させるための条件として、▲1▼時間条件と▲2▼空間条件を判定する。この2つの条件が満たされたときに、テイクバック開始判定部226は、動作制御部230に対して、選手キャラクタにテイクバックの動作を開始する指示を出力する。
【0137】
なお、▲1▼時間条件とは、相手キャラクタ42がボール44を打撃してからの経過時間δtPASを判定する際の条件であり、経過時間δtPASが判定時間TCを経過したとき、すなわち、経過時間δtPAS>判定時間TCが満たされるとき、時間条件が満たされたものとして判定する。すなわち、テイクバック開始判定部226は、キャラクタがボール44を打撃してからの経過時間δtPASを計時し、逐次判定時間TCと比較する。
【0138】
一方、▲2▼空間条件とは、相手打球と操作キャラクタ40との位置関係を判定する際の条件である。
具体的には、テイクバック開始判定部226は、水平軌道線(ボールの軌道を水平面に投影した際の線)と、操作キャラクタ40のZ座標を通過し且つX軸に平行な直線(Y=0,Z=ZP)との交点(ZP通過点)の座標(XO,0,ZP)を算出する(図7参照)。そして、このZP通過点のX座標と、操作キャラクタ40のX座標とに基づいて空間条件を判定する。交点のX座標(XO)と、操作キャラクタ40のX座標(XP)との差の絶対値|XP−XO|が判定値XCよりも小さければ、すなわち、判定値XCの大きさよりも水平軌道線と選手キャラクタとが近ければ、テイクバック開始判定部226は、空間条件が満たされたものとして判定する。
【0139】
なお、判定値XCを、衝突判定面90の幅(2・ΔX)よりもやや大きく設定し、スイングを開始した場合にはボール44とラケットの空間的関係を満たさないような位置でも予めテイクバックが開始されるようにする。
【0140】
動作選定部228は、テイクバックテーブル426、スイングテーブル428から適当なモーションデータを読み出す機能部である。すなわち、操作部100から入力される指示信号や、操作キャラクタ40の位置や、ボール44と操作キャラクタ40との位置関係などを判定し、適宜必要なモーションデータを各種テーブルから読み出す処理を行う。
【0141】
具体的には、テイクバック開始判定部226が、テイクバック開始条件を満たす旨を判定した場合には、その瞬間における操作キャラクタ40の位置や、ボール44と操作キャラクタ40との位置関係、先行入力の有無などを判断して、テイクバックテーブル426の中から選定条件が満たされるモーションデータを読み出す。
【0142】
また、動作選定部228は、操作部100から打撃開始の指示信号が入力された場合には、スイングテーブル428から必要なモーションデータを読み出す。その際、一時記憶部500に打法特定信号が既に記憶されている場合には、その入力された打法特定信号に対応するモーションデータをスイングテーブル428から読み出す。また、打法特定信号が記憶されていない場合には、ボール44の軌道と衝突判定面90との交点を算出し、交点に最も近いヒットポイントに対応するモーションデータをスイングテーブル428から読み出す。なお、同時指定入力があった場合には、その指示に対応するモーションデータを読み出す。
【0143】
また、動作選定部228は、操作部100から打撃開始の指示に先行して打法特定信号が入力された場合には、その打法特定信号を一時記憶部500に一時記憶させる処理を行う。なお、操作キャラクタが打撃動作を行うと、もしくはいずれか一方に得点が加算されると、その一時的に記憶した打法特定信号を一時記憶部500から消去する。
【0144】
動作制御部230は、操作キャラクタ40の動作を制御する機能部である。具体的には、動作選定部228が読み出したモーションデータに基づいて、操作キャラクタ40のモーションを制御する。
【0145】
図19は、モーションデータについて説明する図である。(a)は、操作キャラクタ40の構造(モデル)を示す図である。(b)は、(a)に示す操作キャラクタ40における、腕関節40aの動作テーブルの一例を示す図である。腕関節40aの関節角テーブルには、キーフレームの番号と、腕関節40aの回転角θと、キーフレーム間隔の標準フレーム数MDがそれぞれ対応付けて記憶されている。回転角θは、操作キャラクタ40の原型(モデル)からの回転角を示している。また、キーフレーム間隔の標準フレーム数MDは、対応するキーフレームから次のキーフレームまでのフレーム数を示す。係る関節角テーブルを、操作キャラクタ40の関節毎に用意し、1つの動作毎に区別して記憶する。言い換えれば、モーションデータとは、操作キャラクタ40の全ての関節に関わる関節角テーブルの集合により構成される。
【0146】
ただし、テイクバックのモーションについては、上半身を構成する関節の関節角テーブルと、下半身を構成する関節の関節角テーブルとをそれぞれ分けて記憶する。すなわち、図12のテイクバックテーブル426に示したように、上半身のモーションデータと、下半身のモーションデータとに区別して記憶する。このように、テイクバックについては、上半身と下半身とをそれぞれ別に制御できるようにデータを構成する。
【0147】
動作制御部230は、操作キャラクタ40に動作を実行させる際、各関節の関節角テーブルに基づいて、各フレームにおける各関節の角度を決定する処理を行う。すなわち、操作キャラクタ40にテイクバックやスイングを行わせる際には、動作選定部228によって選定されたモーションデータに含まれる関節角テーブルに基づいて、1フレーム毎に操作キャラクタ40の姿勢を決定する。例えば、図19(b)に示す腕関節の関節角テーブルを用いて、キーフレーム1とキーフレーム2の間におけるi番目のフレーム(i=1〜MD)における操作キャラクタ40の腕のX軸方向に関する回転角θXを決定する場合には、次の計算をする。
θX=θX1+{(θX2−θX1)/MD}・i …(9)
Y軸廻りの回転角θY、Z軸廻りの回転角θZ、についても同様に計算する。
【0148】
さて、テイクバック時において、動作制御部230は、動作選定部228によって選定された上半身のモーションデータに基づいて操作キャラクタ40にテイクバックの動作を開始させる。このとき、操作部100から移動指示が入力された場合には、情報記憶媒体400から移動動作モーションデータを読み出して、1フレーム毎の下半身の姿勢を決定すると共に、仮想空間30を移動させる。一方、テイクバック実行中に、操作部100から移動指示が入力されない場合には、動作選定部228により選定された下半身のモーションデータに基づいて操作キャラクタ40に構えの動作を実行させる。
【0149】
また、動作制御部230は、テイクバックのモーション速度を変更する処理、打撃開始指示の入力タイミングに応じてテイクバックの動作を中断させる処理、動作の補間処理、なども行う。
【0150】
テイクバックのモーション速度を変更する処理は、上述した通りである。すなわち、相手キャラクタ42に打撃されたボール44の水平方向の速度vLと平均速度vAとを比較し(R=vL/vA)、ボール44の速度の水平成分が十分に速い場合に(R>RC)、モーション速度の変更処理を行う。その際、式(9)に基づいて、キーフレーム間のフレーム数Mの値を算出し、この算出したフレーム数Mに基づいて各フレームにおける各関節の回転角を決定する。
【0151】
また、動作制御部230は、テイクバック実行中に操作部100から打撃開始の指示が入力された場合に、操作キャラクタ40にテイクバックを中断させて、スイングを開始させる(図9参照)。その際、上述したように、テイクバックを中断させた瞬間のフレームに対応するスイングのキーフレームを選定し、その選定したキーフレームからスイングを開始させる。具体的には、対応テーブル432に記憶されたキーフレーム間の対応関係に基づいてスイングを開始させるキーフレームを決定する。すなわち、動作選定部228によって選定されたスイングのモーションデータと、操作キャラクタ40に実行させていたテイクバックのモーションデータとの対応関係に基づいて、スイングの開始キーフレームを決定する。
【0152】
補間処理とは、1の動作から異なる動作へと移行する際に、その異なる2つの動作間を補い、動作が自然に移行して見えるようにモーションデータを補間する処理である。例えば、ストロークのテイクバックの状態からトップスピンやスライスなどの打法に移行させる場合や、通常のテイクバックを開始させた後に先行入力により特殊打法が指定された場合、テイクバックの動作を中断してスイングの動作を開始させる場合、などに補間処理を行う。具体的な方法は様々に考えられるが、例えば、キーフレーム間の各フレームにおける関節の回転角を算出する方法と同様に行うことができる。
【0153】
具体的には、動作1から動作2に移行させる際、その移行に要するフレーム数MMを決定する。そして、決定したフレーム数MMと、動作1における各関節の回転角ω1と、移行させる先の動作2における各関節の回転角ω2とを、式(9)に代入して移行中のi番目のフレームにおける操作キャラクタ40の姿勢を決定する。
以上が本実施の形態におけるゲーム装置の機能である。
【0154】
続いて、本実施の形態における処理の流れについて簡潔に説明する。
図20は、テイクバック処理(1)について説明するためのフローチャートである。
テイクバック処理とは、テイクバック開始条件を判定し、テイクバックテーブル426から適当なモーションデータを読み出して、読み出したモーションデータに基づいて操作キャラクタ40の上半身の動作を制御する処理である。
【0155】
テイクバック処理(1)では、まず、テイクバック開始判定部226が、相手キャラクタ42によりボール44が打撃されたか否かを判断し、操作キャラクタ40にレシーブ権が発生したか否かを判定する(ステップS1)。レシーブ権が発生しない場合には、本処理を終了する。一方、レシーブ権が発生した場合には、テイクバックを開始する条件を判定する。まず、時間条件を判定する。すなわち、相手キャラクタ42がボール44を打撃した瞬間からの飛行時間δtPASを算出し、経過時間δtPASが判定時間TCを超えたか否か(δtPAS>TC)を調べる(ステップS2)。時間条件が満たされない場合(δtPAS≦TC)には、条件が満たされるまで待機する。
【0156】
一方、時間条件が満たされる場合(δtPAS>TC)には、引き続き空間条件を判定する。すなわち、ボール44が操作キャラクタ40に対して近くを通過するか否かを判定する。具体的には、操作キャラクタ40のX座標(XP)と、ボール44が操作キャラクタ40のZ座標地点を通過する際のX座標(XO)の差が判定値XCよりも大きいか否か(|XP−XO|<XC)を判定する(ステップS3)。空間条件が満たされない場合(|XP−XO|≧XC)には、条件が満たされるまで待機する。空間条件を満たす場合(|XP−XO|<XC)には、動作選定部228が、テイクバックのモーションデータを選定する(ステップS4)。すなわち、動作選定部228は、操作キャラクタ40にレシーブ権が存在し、時間条件・空間条件が満たされる場合に、テイクバックテーブル426の中から選定条件に合うモーションデータを読み出す処理を実行する。
【0157】
動作制御部230は、ステップS4にて、テイクバックのモーションデータが選定されると、モーション速度の変更の条件を判断する。具体的には、平均水平飛行速度vAに基づいて、ボール44速度の水平成分vLの高速率(R=vL/vA)を算出する(ステップS5)。高速率Rが、閾値RC以下である場合には、標準のモーション速度でテイクバックを行わせる(ステップS7)。一方、高速率Rが、標準値RCよりも大きい場合には、モーション速度を変更する(ステップS6)。すなわち、キーフレーム間のフレーム数Mを変更する。そして、その変更したフレーム数Mに基づいて操作キャラクタ40の上半身についてテイクバックを実行させる(ステップS8)。上半身に関するテイクバックの動作が完了すると、本処理を終了する。
【0158】
ところで、本処理は、ゲーム実行中において、操作キャラクタ40にレシーブ権が発生するまで繰り返し実行されるものである。また、ステップS2およびS3にて、時間条件・空間条件が満たされるまで待機している際に、ボール44が操作キャラクタ40の横を通過し、得点がカウントされた場合には、本処理を強制的に終了させる。
なお、自動的に選定したテイクバックの開始後に、操作部100から打法特定信号が入力された場合には、実行中のテイクバックから指定された打法のテイクバックへと動作を補間しつつ移行させる。
【0159】
図21は、テイクバック時における下半身の動作を制御する処理(テイクバック処理(2))について説明するためのフローチャートである。
動作制御部230は、テイクバック開始判定部226により、テイクバック開始条件が満たされたと判定され、且つ、動作選定部228により、テイクバックのモーションデータが選定された場合に、操作キャラクタ40の下半身の動作制御を行う。
【0160】
その際、動作制御部230は、まず、操作部100から移動指示が入力されたか否かを判定する(ステップS10)。移動指示が入力された場合には、テイクバックテーブル426から下半身のモーションデータを読み出す(ステップS11)。その際、動作選定部228によって判定された選定条件に基づいて読み出すモーションデータを決定する。一方、ステップS10にて、移動指示が入力されていないと判定した場合には、情報記憶媒体400から移動モーションデータ430を読み出す(ステップS12)。そして、読み出したモーションデータに基づいて操作キャラクタ40の下半身の動きを制御し(ステップS13)、本処理を終了する。
なお、動作制御部230は、本処理について、テイクバック開始条件が満たされた後、打撃開始指示が入力されるまでの間、毎フレーム行う。
【0161】
図22は、スイング処理を説明するためのフローチャートである。
スイング処理とは、操作部100から打撃開始の指示が入力された後の処理であり、スイングテーブル428から適当なモーションデータを読み出す処理、スイングの開始段階を判定する処理、読み出したモーションデータに基づいて操作キャラクタ40を制御する処理などを含む処理である。
【0162】
スイング処理では、まず、動作選定部228が、操作部100から打撃開始の指示が入力されたか否かを判断する(ステップS20)。打撃開始の指示が入力されていない場合には、本処理を終了する。一方、打撃開始の指示が入力された場合には、スイングテーブル428から適当なモーションデータを読み出す(ステップS21)。すなわち、動作選定部228は、ボール44の軌道と衝突判定面90との交点の座標を算出し、同時指定入力の有無、先行指定入力の有無、を判断することにより、1のスイングのモーションデータを選定する。
【0163】
動作制御部230は、打撃開始の指示が入力された瞬間が、テイクバックの途中であるか否かを判定する(ステップS22)。テイクバックの動作が完了している場合には、動作選定部228によって選定されたスイングのモーションデータにおける最初のフレームのモーションデータを読み出して(ステップS23)、ステップS27に移行する。
【0164】
一方、テイクバックの途中で打撃開始の指示が入力された場合には、テイクバックの動作を中断し(ステップS24)、対応テーブル432に基づいて、スイング開始のキーフレームを選定する(ステップS25)。そして、テイクバックを中断した瞬間の操作キャラクタ40の姿勢から、選定したスイング開始のキーフレームの姿勢までの動作を補間する(ステップS26)。ステップS23にて読み出したモーションデータの最初の部分から、もしくは、ステップS25にて選定したキーフレームから、読み出したモーションデータに基づいてスイングの動作を開始させる(ステップS27)。スイングのモーションが完了すると、本処理を終了する。
【0165】
以上のように、本実施の形態におけるゲーム装置は、自動的にテイクバックやスイングの種類を決定し、また、自動的にテイクバックを選手キャラクタに実行させる。スイングを開始するタイミングについては、プレーヤからの入力指示に応じて決定する。ただし、上述のように、ゲーム装置がスイングにおける打法を自動的に選定するだけでなく、特殊な打法については、プレーヤの入力指示に基づいて選定する。
【0166】
次に、ハードウェア構成について説明する。
図23は、本実施の形態を実現可能とするハードウェア構成の一例を示す図である。同図に示す装置では、CPU1000、ROM1002、RAM1004、情報記憶媒体1006、音生成IC1008、画像生成IC1010、I/Oポート1012、1014が、システムバス1016により相互にデータ入出力可能に接続されている。そして、画像生成IC1010には、表示装置1018が接続され、音生成IC1008には、スピーカ1020が接続され、I/Oポート1012には、コントロール装置1022が接続され、I/Oポート1014には、通信装置1024が接続されている。
【0167】
情報記憶媒体1006は、図11に示す機能ブロックにおける情報記憶媒体400に相当するものであり、プログラム、表示物を表現するための画像データ、音データ、プレイデータ等が主に格納されるものである。例えば、図1に示す業務用のゲーム装置においては、ROM等のメモリやハードディスクが用いられ、この場合には、情報記憶媒体1006は、ROM1002になる。また、パーソナルコンピュータにおいては、CD−ROM、DVD、ROM等のメモリ、ハードディスク等が用いられる。また、本発明を家庭用ゲーム装置に適用する場合には、ゲームプログラム等を格納する情報記憶媒体として、CD−ROM、ゲームカセット、DVD等が用いられ、プレイデータを格納する情報記憶媒体としてメモリカードなどが用いられる。
【0168】
コントロール装置1022は、図1に示したような操作バー14や操作キー16、あるいは、操作パネル等に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【0169】
情報記憶媒体1006に格納されるプログラム、ROM1002に格納されるシステムプログラム(装置本体の初期化情報等)、コントロール装置1022によって入力される信号等に従って、CPU1000は、装置全体の制御や各種データ処理を行う。RAM1004は、このCPU1000の作業領域等として用いられる記憶手段であり、情報記憶媒体1006やROM1002の所与の内容、あるいはCPU1000の演算結果が格納される。
【0170】
更に、この種の装置には、音生成IC1008と画像生成IC1010とが設けられていて、ゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成IC1008は、情報記憶媒体1006やROM1002に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音は、スピーカ1020によって出力される。また、画像生成IC1010は、RAM1004、ROM1002、情報記憶媒体1006等から出力される画像情報に基づいて表示装置1018に出力するための画素情報を生成する集積回路である。また表示装置1018は、CRTやLCD、TV、プラズマディスプレイ、プロジェクター等により実現される。
【0171】
また、通信装置1024は、ゲーム装置内部で利用される各種の情報を外部とやり取りするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受し、また、通信回線を介してゲームプログラム等の情報を送受すること等に利用される。
【0172】
また、図1〜図19で説明した種々の処理は、図20〜図22のフローチャートに示したテイクバック処理(1)、テイクバック処理(2)、スイング処理等を行うためのプログラムを含むプログラムを格納した情報記憶媒体1006と、該プログラムに従って動作するCPU1000、画像生成IC1010、音生成IC1008等によって実現される。なお、画像生成IC1010、音生成IC1008等で行われる処理は、CPU1000あるいは汎用のDSP等によりソフトウェア的に行ってもよい。
【0173】
なお、本発明は、図1に示した業務用のゲーム装置1だけでなく、他のいかなる形態のゲーム装置に適用してもかまわない。例えば、図24に、ホスト装置1300と、このホスト装置1300と通信回線1302を介して接続される端末1304−1〜1304−nとを含むゲーム装置に本実施の形態を適用した場合の例を示す。
【0174】
図24に示す形態の場合、図11に示した情報記憶媒体400に記憶されるゲームプログラム420等は、例えば、ホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体1306に格納されている。また、端末1304−1〜1304−nが、CPU、画像生成IC、音生成IC、を有し、スタンドアローンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム420等が端末1304−1〜1304−nに配送される。一方、スタンドアローンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304−1〜1304−nに伝送し端末において出力することになる。
【0175】
あるいは、図25に示すように、本実施の形態を家庭用ゲーム装置1210に適用してもよい。このゲーム装置1210は、ディスプレイ1200、ゲームコントローラ1202、1204等が着脱自在な構成になっている。また、ゲームプログラムや本発明を実現するために必要な情報等のゲーム情報は、ゲーム装置1210に着脱自在な情報記憶媒体であるCD−ROM1206、ICカード1208、メモリカード1212、および、ゲーム装置1210本体が備える情報記憶媒体等に格納されている。プレーヤは、ディスプレイ1200に映し出されたゲーム画像を見ながら、ゲームコントローラ1202あるいは1204を用いてキャラクタを操作することによって、テニスゲームを楽しむ。
【0176】
なお、本発明は、上記実施の形態で説明したものに限らず、種々の変形実施が可能である。例えば、本実施の形態では、操作キャラクタ40に実行させるスイングの種類を選定する際、ボール44の軌道と衝突判定面90との交点に最も近いヒットポイントに対応するモーションデータを読み出すこととして説明した。しかし、この方法に限定する必要はなく、例えば、ボール44の軌道と衝突判定面90との交点に近隣する複数のヒットポイントを選定し、これらの選定したヒットポイントに対応する複数のモーションデータを合成して新たなモーションデータを生成するようにしてもよい。
【0177】
また、ボールとラケットの衝突を判定するための衝突判定面を図14(a)に示したような操作キャラクタ40に追従する広範囲な面によって定義したが、これに限定する必要はない。例えば、ラケットの大きさよりもやや大きめの衝突判定面をラケットに追従させて制御してもよい。図26は、衝突判定面130の変形例を示す図である。同図によれば、衝突判定面130は、矩形の形状をしており、横軸がラケット140の面の中心142からグリップの中心144を結ぶ線分146と平行になるように設置されている。なお、係る衝突判定面130を仮想空間30に配置する際には、衝突判定面130がX−Z平面と平行になるように配置する。このように、衝突判定面130をラケット140に追従させることにより、よりリアルな衝突判定を行うことができる。
【0178】
また、本実施の形態では、フォアストロークのテイクバックと、バックストロークのテイクバックとをそれぞれ1つづつ用意することとして説明したが、これに限定する必要はなく、それぞれ複数種類のテイクバックを用意してもよいことは勿論である。この場合において、ボール44の軌道と操作キャラクタ40との位置関係に応じてその複数用意したテイクバックのモーションデータを合成し、合成した結果を操作キャラクタ40に実行させるようにしてもよい。
【0179】
また、本実施の形態では、操作キャラクタ40に1度実行させた動作については、そのテイクバックを続行させることとして説明したが、これに限定する必要はない。例えば、操作キャラクタ40がフォアストロークのテイクバックが選定される領域から、テイクバックをしながら移動することで、バックストロークのテイクバックが選定される領域に移った場合には、フォアのテイクバックからバックのテイクバックへと動作を移行してもよいことは勿論である。
【0180】
また、本実施の形態では、テイクバック開始条件における時間条件として、相手キャラクタ42がボール44を打撃した後の経過時間δtPASが判定時間TCを超えることを条件とした。しかし、これに限定する必要はなく、ボール44の速度や操作キャラクタ40との距離(奥行方向に対する距離)に応じて決定してもよいことは勿論である。
【0181】
なお、テイクバック開始条件が満たされた瞬間と、ボール44と操作キャラクタ40との位置関係に応じて、テイクバックの種類を変更するようにしてもよい。例えば、同じフォアストロークのテイクバックを行わせる場合であっても、操作キャラクタ40とボール44との距離が十分に離れている場合には、余裕のあるやや大袈裟なテイクバックを行わせる。また、ボール44が衝突判定面90に到達するまでに要する時間に余裕がない場合には、飾りのない機械的なテイクバックを実行させる。実現方法としては、例えば、時間0〜t0までをテイクバック1、t0〜t1までをテイクバック2、…、といった具合に、時間帯とテイクバックの種類とを対応付けて記憶する。そして、テイクバック開始条件が満たされた瞬間においてボール44が衝突判定面90を通過するまでに要する時間Δtが、いずれの時間帯に属するかを判定して、該当するテイクバックを操作キャラクタ40に実行させる、ように設定してもよい。
【0182】
また、本実施の形態では、テニスゲームを例に説明したが、これに限定する必要はない。例えば、野球ゲームにおけるバッターの動作や、ゴルフゲームにおけるスイングの動作など、ボール44を打つ際に準備動作を必要とする動作であれば、他のいかなるゲームにも適用可能である。
【図面の簡単な説明】
【図1】業務用のゲーム装置の一例を示す図である。
【図2】仮想空間の(a)斜俯瞰図、(b)平面図、である。
【図3】本発明の概要を説明するための図である。
【図4】(a)は、打撃開始指示入力前の操作と指示の対応関係を示す図である。(b)は、打撃開始指示入力後の操作と指示の対応関係を示す図である。
【図5】ボレーとストロークの選定条件を示す図である。
【図6】ボールの軌道を説明するための図である。
【図7】フォアとバックの選定条件を説明するための図である。
【図8】スマッシュエリアの一例を示す図である。
【図9】テイクバックとスイングにおけるキーフレームの一例を示す図である。
【図10】テイクバックとスイングとの対応関係を示す図である。
【図11】機能ブロックの一例を示す図である。
【図12】テイクバックテーブルの一例を示す図である。
【図13】スイングテーブルの一例を示す図である。
【図14】衝突判定面の一例を示す図である。
【図15】(a)は、ボールの飛行方向の一例を示す図である。(b)は、ボールの速度の一例を示す図である。
【図16】初速度の水平成分を示す図である。
【図17】軌道計算を行う際のローカル座標系(η,ξ)の一例を示す図である。
【図18】ボールの軌道と高さhSとの関係を示す図である。
【図19】(a)は、キャラクタモデルの一例を示す図である。(b)は、動作テーブルの一例を示す図である。
【図20】テイクバック処理(1)を説明するためのフローチャートである。
【図21】テイクバック処理(2)を説明するためのフローチャートである。
【図22】スイング処理を説明するためのフローチャートである。
【図23】ハードウェア構成の一例を示す図である。
【図24】ホスト装置と端末の接続形態の一例を示す図である。
【図25】家庭用のゲーム装置の一例を示す図である。
【図26】衝突判定面の変形例を示す図である。
【符号の説明】
1 ゲーム装置
100 操作部
200 処理部
220 ゲーム演算部
222 打球制御部
224 スマッシュポイント算出部
226 テイクバック開始判定部
228 動作選定部
230 動作制御部
240 画像生成部
300 表示部
400 情報記憶媒体
420 ゲームプログラム
422 ゲーム演算プログラム
424 画像生成プログラム
426 テイクバックテーブル
428 スイングテーブル
430 移動モーションデータ
432 対応テーブル
500 一時記憶部
520 打法特定信号

Claims (9)

  1. コンピュータに、プレーヤの操作入力に従って操作キャラクタを制御してボールを打撃させることで相手陣地と味方陣地との間でボールが行き交うゲームを実行させるためのプログラムであって、
    プレーヤの移動操作に基づいて前記操作キャラクタを移動制御する移動制御手段、
    前記ボールの軌道と前記操作キャラクタとの位置関係に関する条件を満たしたことを検出することで、所定のテイクバック開始条件を満たしたことを検出する開始条件合致検出手段、
    前記開始条件合致検出手段による検出がなされた場合に前記操作キャラクタにテイクバック動作をさせる制御を自動的に実行開始するテイクバック自動制御手段、
    プレーヤの打撃開始指示操作に応じて前記操作キャラクタにスイング動作をさせる制御を行う手段であって、前記テイクバック動作中に前記打撃開始指示操作がなされた場合には当該テイクバック動作を中断してスイング動作をさせる制御を行うスイング動作制御手段、
    として前記コンピュータを機能させるためのプログラム。
  2. 前記スイング動作には、少なくともフォアストロークとバックストロークとを含む複数のスイングパターンが有り、
    前記テイクバック自動制御手段が、前記開始条件合致検出手段による検出がなされたときの前記操作キャラクタの位置と前記ボールの軌道との相対位置関係に基づいて、前記複数のスイングパターンの中からスイングパターンを選択し、当該選択したスイングパターンに対応するテイクバック動作を前記操作キャラクタに行わせる制御を行う、
    ように前記コンピュータを機能させるための請求項1に記載のプログラム。
  3. 前記移動制御手段が、前記テイクバック動作中に前記移動操作がなされた場合に、前記操作キャラクタの下半身に移動モーションを適用して、当該移動操作に基づく移動制御を行い、
    前記テイクバック自動制御手段が、前記テイクバック動作中に前記移動操作がなされていない場合には、前記操作キャラクタの上半身にテイクバック動作をさせ、且つ、下半身に構え動作をさせ、前記テイクバック動作中に前記移動操作がなされた場合には、前記操作キャラクタの上半身にテイクバック動作をさせる制御を行う、
    ように前記コンピュータを機能させるための請求項1又は2に記載のプログラム。
  4. 前記開始条件合致検出手段が、相手キャラクタボールを打撃してからの経過時間の条件を前記テイクバック開始条件に更に含み、前記位置関係の条件と前記経過時間の条件の両方を満たしたことを検出する、
    ように前記コンピュータを機能させるための請求項1〜3の何れか一項に記載のプログラム。
  5. 前記開始条件合致検出手段が、前記ボールの軌道と前記操作キャラクタ間の距離を前記位置関係の条件として前記テイクバック開始条件を満たしたことを検出する、
    ように前記コンピュータを機能させるための請求項1〜4の何れか一項に記載のプログラム。
  6. 前記テイクバック自動制御手段が、前記ボールの速度に応じて、前記テイクバック動作の速度を変更する、
    ように前記コンピュータを機能させるための請求項1〜5の何れか一項に記載のプログラム。
  7. プレーヤが前記操作キャラクタに行わせる打撃動作を予め指定する打撃動作指定手段として前記コンピュータを更に機能させ、
    前記テイクバック自動制御手段が、前記打撃動作指定手段により指定された打撃動作に予め対応付られたテイクバック動作を前記操作キャラクタに行わせる制御を行い、
    前記スイング動作制御手段が、前記打撃動作指定手段により指定された打撃動作に予め対応づけられたスイング動作を前記操作キャラクタに行わせる、
    ように前記コンピュータを機能させるための請求項1〜の何れか一項に記載のプログラム。
  8. 請求項1〜の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
  9. プレーヤの操作入力に従って操作キャラクタを制御してボールを打撃させることで相手陣地と味方陣地との間でボールが行き交うゲームを実行するゲーム装置であって、
    プレーヤの移動操作に基づいて前記操作キャラクタを移動制御する移動制御手段と、
    前記ボールの軌道と前記操作キャラクタとの位置関係に関する条件を満たしたことを検出することで、所定のテイクバック開始条件を満たしたことを検出する開始条件合致検出手段、
    前記開始条件合致検出手段による検出がなされた場合に前記操作キャラクタにテイクバック動作をさせる制御を自動的に実行開始するテイクバック自動制御手段と、
    前記テイクバック動作後にプレーヤの打撃開始指示操作がなされた場合には前記操作キャラクタにスイング動作をさせ、前記テイクバック動作中に前記打撃開始指示操作がなされた場合には当該テイクバック動作を中断してスイング動作をさせる制御を行うスイング動作制御手段と、
    を備えたゲーム装置。
JP2001237098A 2001-08-03 2001-08-03 プログラム、情報記憶媒体、および、ゲーム装置 Expired - Lifetime JP4801854B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001237098A JP4801854B2 (ja) 2001-08-03 2001-08-03 プログラム、情報記憶媒体、および、ゲーム装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001237098A JP4801854B2 (ja) 2001-08-03 2001-08-03 プログラム、情報記憶媒体、および、ゲーム装置

Publications (2)

Publication Number Publication Date
JP2003047766A JP2003047766A (ja) 2003-02-18
JP4801854B2 true JP4801854B2 (ja) 2011-10-26

Family

ID=19068237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001237098A Expired - Lifetime JP4801854B2 (ja) 2001-08-03 2001-08-03 プログラム、情報記憶媒体、および、ゲーム装置

Country Status (1)

Country Link
JP (1) JP4801854B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012070960A (ja) * 2010-09-29 2012-04-12 Nintendo Co Ltd ゲーム装置、ゲームプログラム、ゲームシステムおよびゲーム制御方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4545545B2 (ja) * 2004-05-10 2010-09-15 任天堂株式会社 ゲームプログラムおよびゲーム装置
JP4619087B2 (ja) 2004-05-10 2011-01-26 任天堂株式会社 ゲームプログラムおよびゲーム装置
JP4545544B2 (ja) * 2004-10-15 2010-09-15 任天堂株式会社 ゲームプログラムおよびゲーム装置
JP4202366B2 (ja) 2006-03-08 2008-12-24 任天堂株式会社 動き判別装置および動き判別プログラム
JP4330593B2 (ja) 2006-03-13 2009-09-16 任天堂株式会社 ゲーム装置およびゲームプログラム
JP5057715B2 (ja) * 2006-07-28 2012-10-24 株式会社ソニー・コンピュータエンタテインメント ゲーム制御プログラム、ゲーム制御方法、及びゲーム装置
JP4979313B2 (ja) 2006-09-13 2012-07-18 任天堂株式会社 ゲームプログラムおよびゲーム装置
JP5220349B2 (ja) * 2007-06-13 2013-06-26 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及び画像生成システム
JP5220350B2 (ja) * 2007-06-13 2013-06-26 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及び画像生成システム
JP4320352B2 (ja) * 2007-07-27 2009-08-26 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム制御プログラム、およびこれを記録した記録媒体
JP5074343B2 (ja) * 2008-10-17 2012-11-14 任天堂株式会社 ゲーム装置およびゲームプログラム
JP2010237882A (ja) * 2009-03-30 2010-10-21 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
JP5635161B2 (ja) * 2012-08-01 2014-12-03 株式会社スクウェア・エニックス キャラクタ表示装置
JP6105031B1 (ja) * 2015-12-01 2017-03-29 株式会社コロプラ ゲーム処理方法、およびゲーム処理プログラム
JP6081638B1 (ja) * 2016-04-11 2017-02-15 株式会社コロプラ ゲーム制御方法、および、ゲームプログラム
JP6209243B1 (ja) * 2016-04-28 2017-10-04 株式会社コロプラ ゲームプログラム、方法及びタッチスクリーンを備える情報処理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3424701B2 (ja) * 1994-07-19 2003-07-07 株式会社ナムコ テレビゲーム機
JP3740797B2 (ja) * 1996-07-03 2006-02-01 株式会社セガ 野球ゲームの画像表示方法
CN1222867A (zh) * 1997-04-03 1999-07-14 世嘉企业股份有限公司 游戏图像显示方法和控制方法
JP3072344B2 (ja) * 1997-05-02 2000-07-31 コナミ株式会社 ビデオゲーム機,ビデオゲーム機の画像処理方法,及びコンピュータプログラムを記録した記録媒体
JP2000140427A (ja) * 1998-11-17 2000-05-23 Square Co Ltd ゲーム装置、記録媒体、及び動作パターン変更方法
JP4114029B2 (ja) * 1999-07-16 2008-07-09 株式会社セガ 画像処理装置、画像処理方法及び記録媒体
JP2001204963A (ja) * 2000-01-28 2001-07-31 Square Co Ltd モーション表示方法、ゲーム装置及び記録媒体、

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012070960A (ja) * 2010-09-29 2012-04-12 Nintendo Co Ltd ゲーム装置、ゲームプログラム、ゲームシステムおよびゲーム制御方法

Also Published As

Publication number Publication date
JP2003047766A (ja) 2003-02-18

Similar Documents

Publication Publication Date Title
JP4801854B2 (ja) プログラム、情報記憶媒体、および、ゲーム装置
JP3239683B2 (ja) 画像処理装置および画像処理方法
JP5286267B2 (ja) ゲーム装置、ゲームプログラム及びオブジェクトの操作方法
US8123600B2 (en) Storage medium storing game program and game apparatus
JP3927821B2 (ja) プログラム、情報記憶媒体及びゲーム装置
US20100245365A1 (en) Image generation system, image generation method, and computer program product
JP2003126548A (ja) ゲーム装置及びゲームシステム
JP4776831B2 (ja) プログラム、情報記憶媒体、ゲーム装置及びホスト装置
US20090227373A1 (en) Game program, game device, and game control method
JP4120741B2 (ja) ゲーム機およびゲーム制御方法並びにプログラムを記録した記録媒体
JP2002058868A (ja) 球技系ゲームのプログラムを記録したコンピュータ読み取り可能な記録媒体およびプログラム、ならびに、球技系ゲーム処理装置およびその方法
JP4463227B2 (ja) プログラム、情報記憶媒体及びゲーム装置
JP2002058866A (ja) 球技系ゲームのプログラムを記録したコンピュータ読み取り可能な記録媒体およびプログラム、ならびに、球技系ゲーム処理装置およびその方法
JP2003071134A (ja) ゲーム情報、情報記憶媒体、およびゲーム装置
JP2012181616A (ja) プログラム、情報記憶媒体、ゲーム装置及びサーバシステム
JP3894937B2 (ja) プログラム、情報記憶媒体及びゲーム装置
JP4377114B2 (ja) 情報記憶媒体及びゲーム装置
JP2010115244A (ja) ゲーム画像表示制御プログラム、ゲーム装置及びゲーム画像表示制御方法
JP3885381B2 (ja) ゲームの画像表示方法
JP4097236B2 (ja) 画像生成装置及び情報記憶媒体
JP2010233752A (ja) プログラム、情報記憶媒体及び画像生成システム
JP3594181B2 (ja) ゲーム装置及び当該ゲーム制御方法、記録媒体
JP4950394B2 (ja) プログラム、情報記憶媒体、および、ゲーム装置
JP3944456B2 (ja) プログラム、情報記憶媒体及びゲーム装置
JP2010233751A (ja) プログラム、情報記憶媒体及び画像生成システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080619

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080619

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080710

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110315

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110712

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110802

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110808

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4801854

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term