(57)【要約】【課題】娯楽性の高いゲーム装置を表現する。【解決手段】ゲーム装置１０は、ユーザが操作するキャラクタと、対戦相手のキャラクタとが、球を打ち合って対戦する球技を行うゲームを制御する。ユーザがコントローラ２０のボタンにより球の打撃を指示すると、打撃制御部４２は、ユーザが入力したボタンの種別に応じてキャラクタが球を打撃するときのタイミング及び球種を決定する。打撃制御部４２は、打撃したときのタイミング、球の高さ、キャラクタの体勢、キャラクタの位置、キャラクタと球との間の距離、又はキャラクタの運動能力を示すパラメータが、通常の打撃が可能な所定の範囲から外れている場合、決定された球種から相手に有利となる別の球種に変更する。【選択図】図１
2008029646.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが操作するキャラクタと、対戦相手のキャラクタとが、球を打ち合って対戦する球技を行うゲームを制御するプログラムであって、
ユーザの操作入力を受け付け、その操作入力の内容に応じて、前記キャラクタが球を打撃するタイミング及び球種を決定する機能と、
前記打撃したときのタイミング、球の高さ、前記キャラクタの体勢、前記キャラクタの位置、前記キャラクタと球との間の距離、又は前記キャラクタの運動能力を示すパラメータが、通常の打撃が可能な所定の範囲から外れている場合、前記決定する機能により決定された球種から異なる球種に変更する機能と、
前記球種に応じて、打撃された球の弾道を算出し、飛んでいる球を画面に表示する機能と、
をコンピュータに実現させることを特徴とするゲーム制御プログラム。
【請求項２】
前記変更する機能は、前記対戦相手が有利となる球種に変更することを特徴とする請求項１に記載のゲーム制御プログラム。
【請求項３】
ユーザが操作するキャラクタと、対戦相手のキャラクタとが、球を打ち合って対戦する球技を行うゲームを制御するプログラムであって、
ユーザの操作入力を受け付け、その操作入力の内容に応じて、前記キャラクタが球を打撃するタイミング及び球種を決定する機能と、
前記打撃したときのタイミング、球の高さ、前記キャラクタの体勢、前記キャラクタの位置、前記キャラクタと球との間の距離、又は前記キャラクタの運動能力を示すパラメータが、通常の打撃が可能な所定の範囲から外れている場合、前記決定する機能により決定された球種から異なる球種に変更する機能と、
前記球種に応じて、打撃された球の弾道を算出し、飛んでいる球を画面に表示する機能と、
をコンピュータに実現させることを特徴とするゲーム制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項４】
ユーザが操作するキャラクタと、対戦相手のキャラクタとが、球を打ち合って対戦する球技を行うゲームを制御するゲーム制御方法であって、
ユーザの操作入力を受け付け、その操作入力の内容に応じて、前記キャラクタが球を打撃するタイミング及び球種を決定するステップと、
前記打撃したときのタイミング、球の高さ、前記キャラクタの体勢、前記キャラクタの位置、前記キャラクタと球との間の距離、又は前記キャラクタの運動能力を示すパラメータが、通常の打撃が可能な所定の範囲から外れている場合、前記決定するステップにより決定された球種から異なる球種に変更するステップと、
前記球種に応じて、打撃された球の弾道を算出し、飛んでいる球を画面に表示するステップと、
を含むことを特徴とするゲーム制御方法。
【請求項５】
ユーザが操作するキャラクタと、対戦相手のキャラクタとが、球を打ち合って対戦する球技を行うゲームを制御するゲーム装置であって、
ユーザの操作入力を受け付け、その操作入力の内容に応じて、前記キャラクタが球を打撃するタイミング及び球種を決定する手段と、
前記打撃したときのタイミング、球の高さ、前記キャラクタの体勢、前記キャラクタの位置、前記キャラクタと球との間の距離、又は前記キャラクタの運動能力を示すパラメータが、通常の打撃が可能な所定の範囲から外れている場合、前記決定する手段により決定された球種から異なる球種に変更する手段と、
前記球種に応じて、打撃された球の弾道を算出し、飛んでいる球を画面に表示する手段と、
を備えることを特徴とするゲーム装置。
【請求項６】
複数のコントローラと、
前記複数のコントローラからの指示入力を受け付けてゲームを実行する制御部と、
前記複数のコントローラにより操作される複数の操作対象を表示しているときに、いずれかのコントローラから所定の操作入力を受け付けると、前記複数の操作対象のうち操作入力を受け付けたコントローラにより操作される操作対象を他の操作対象とは異なる表示形式で表示させるとともに、そのコントローラに制御信号を発してコントローラを振動又は発光させるコントローラ制御部と、
を備えることを特徴とするゲーム装置。
【請求項７】
前記コントローラ制御部は、いずれかのコントローラから所定の操作入力を受け付けると、前記複数の操作対象のうち操作入力を受け付けたコントローラにより操作される操作対象及びその操作対象の味方の操作対象を他の操作対象とは異なる表示形式で表示させるとともに、操作入力を受け付けたコントローラ及び前記味方の操作対象を操作するコントローラに制御信号を発してそれらのコントローラを振動又は発光させることを特徴とする請求項６に記載のゲーム装置。
【請求項８】
複数のコントローラからの指示入力を受け付けてゲームを制御するプログラムであって、
前記複数のコントローラにより操作される複数の操作対象を表示しているときに、いずれかのコントローラから所定の操作入力を受け付けると、前記複数の操作対象のうち操作入力を受け付けたコントローラにより操作される操作対象を他の操作対象とは異なる表示形式で表示させるとともに、そのコントローラに制御信号を発してコントローラを振動又は発光させる機能を、コンピュータに実現させることを特徴とするゲーム制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲーム制御技術に関し、特に、ユーザが操作するキャラクタと、対戦相手のキャラクタとが、球を打ち合って対戦する球技を行うゲームを制御するゲーム制御プログラム、ゲーム制御方法、及びゲーム装置に関する。
【背景技術】
【０００２】
テニス、野球、サッカーなどの球技のゲームが市場に多く出回っている。とくに、現実に存在するプロ選手を模したキャラクタをユーザが操作し、レベルの高い競技を擬似的に体験することができるようなゲームが人気を博している。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、人気のあるプロ選手を模したキャラクタによるリアリティ性の高い対戦を追求するほど、競技レベルが上がり、一般的なアマチュアレベルの競技からかけ離れていく。高い競技レベルの対戦を擬似的に体験できるという面白さもあるが、往々にして、瞬発的な操作の能力に勝敗が強く支配され、とくに初級者は球に追いつくのに精一杯で、戦略を練りながらキャラクタを操作する余裕がない場合もある。
【０００４】
本発明者らは、このようなゲーム観に対するアンチテーゼとして、より多くのユーザが気軽に楽しめ、かつ、球技が本来有している戦略や駆け引きの楽しさを重視したゲームを実現するための技術を想到するに至った。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、その目的は、より娯楽性の高いゲームを実現する技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様のゲーム制御プログラムは、ユーザが操作するキャラクタと、対戦相手のキャラクタとが、球を打ち合って対戦する球技を行うゲームを制御するプログラムであって、ユーザの操作入力を受け付け、その操作入力の内容に応じて、前記キャラクタが球を打撃するタイミング及び球種を決定する機能と、前記打撃したときのタイミング、球の高さ、前記キャラクタの体勢、前記キャラクタの位置、前記キャラクタと球との間の距離、又は前記キャラクタの運動能力を示すパラメータが、通常の打撃が可能な所定の範囲から外れている場合、前記決定する機能により決定された球種から異なる球種に変更する機能と、前記球種に応じて、打撃された球の弾道を算出し、飛んでいる球を画面に表示する機能と、をコンピュータに実現させることを特徴とする。
【０００７】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００８】
本発明によれば、より娯楽性の高いゲーム装置を実現する技術を提供することができる。
【発明を実施するための最良の形態】
【０００９】
実施の形態に係るゲーム装置は、ユーザが操作するキャラクタと、別のユーザが操作する、又はコンピュータが制御する対戦相手のキャラクタとが、テニス、卓球、バドミントン、バレーボールなど、互いに球を打ち合う形式の球技で対戦するゲームを実現する。本実施の形態では、とくに、テニスを例にとって説明する。
【００１０】
スポーツゲームの分野では、現実のプロ選手や有名選手などを模したキャラクタを用いて、高いレベルの競技を擬似的に楽しむことができるようなものが主流となっている。テニスゲームにおいても、球速が速く、瞬発的な操作の技量により勝敗が決するようなものが多い。このようなテニスゲームでは、初級者はキャラクタを移動させて球に追いつくのが精一杯で、状況に応じて球種や球速を適切に選択したり、コースを打ち分けたりなどいった戦略を考慮する暇もないことが多い。このように、プロ競技などを模したゲームは、難易度が高く、初心者にとって敷居が高いという問題がある。また、キャラクタの位置や球を打つタイミングが多少ずれていても、球を打撃するための操作入力を行いさえすれば球を打つことができるように強い補正がかけられているので、自分が操作しているという感覚が薄い。
【００１１】
それに対して、本実施の形態のテニスゲームは、アマチュアプレイヤーや初心者などの対戦を模した、球速が遅く、瞬発的な操作が苦手な人でも楽しめるようなテニスゲームを実現する。球速が遅い分、１球１球の打球について、球種や打つタイミングなどの作戦を練り、戦略性の高いゲームを実現することができる。また、単にゲームの難易度を低くするのではなく、球速が遅い代わりに、正しい位置とタイミングで球を打たないと狙った方向へ返球できないようにする。このように、反射神経を競う従来のゲーム観から脱却し、球を打ち返す方向や球種などの駆け引きを競う、テニス本来の面白さを十分に引き出したゲームを実現することができる。
【００１２】
図１は、実施の形態に係るゲーム装置１０の構成を示す。ゲーム装置１０は、コントローラ２０、入力部３０、制御部４０、パラメータ保持部６０、画像処理部６６、及び表示装置６８を備える。これらの構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【００１３】
入力部３０は、プレイヤーが操作するコントローラ２０から入力される制御信号を受け付ける。制御部４０は、入力部３０が受け付けたユーザからの指示に基づいてゲームプログラムを実行し、ゲーム世界においてテニスプレイヤーとして機能するキャラクタの動作を制御しつつ、テニスゲームを進行させる。パラメータ保持部６０は、キャラクタの名称、種別、レベルなどのほか、移動速度、体力、パワー、スタミナ、疲労度、コントロール、スピンなど、ショットのぶれ幅（精度）、球威、球速、などを決めるための運動能力などのパラメータを保持する。画像処理部６６は、制御部４０により制御されるゲームの画面を生成し、表示装置６８に表示させる。
【００１４】
図２は、コントローラの外観を示す。コントローラ２０には、方向キー２１、アナログスティック２７と、４種のボタン２２、２３、２４、及び２５が設けられている。４種のボタン２２〜２５には、それぞれを区別するために、所定の色で所定の図形が記されている。すなわち、○ボタン２２には赤色の丸、×ボタン２３には青色のバツ、□ボタン２４には紫色の四角形、△ボタン２５には緑色の三角形が記されている。本実施の形態のゲームでは、主に、キャラクタの移動方向及びショットの方向を指示するために方向キー２１又はアナログスティック２７が使用され、球をラケットで打撃するために４種のボタン２２〜２５が使用される。以下、４種のボタン２２〜２５を総称して「打撃ボタン２６」という。
【００１５】
図１に戻り、各構成の説明を続ける。パラメータ保持部６０には、複数のキャラクタについて、キャラクタの動作を制御するためのパラメータが予め格納されている。ゲームの開始時に、ユーザが操作するキャラクタの種別と、対戦相手のキャラクタの種別が選択されると、制御部４０は、パラメータ保持部６０から、選択されたキャラクタのパラメータを読み出す。
【００１６】
キャラクタごとに個性が強調されるようなパラメータを設定してもよい。例えば、初級者用のキャラクタと上級者用のキャラクタを用意し、初級者用のキャラクタは、球を打撃するときの位置やタイミングのずれが、狙った着地点からのぶれに及ぼす影響を小さくする代わりに、体力や運動能力などを低く設定してもよい。逆に、上級者用のキャラクタは、体力や運動能力を高く設定する代わりに、ぶれを大きくし、ショットの位置やタイミングに高い精度が要求されるようにしてもよい。
【００１７】
移動制御部４１は、キャラクタの移動を制御する。ユーザが方向キー２１又はアナログスティック２７を入力することによりキャラクタの移動方向を指示すると、移動制御部４１は、ユーザが指定した方向にキャラクタを移動させる。移動制御部４１は、ユーザが上方向のキーを押したときは画面奥の方向へ、下方向のキーを押したときは画面手前の方向へ、右方向のキーを押したときは画面右の方向へ、左方向のキーを押したときは画面左の方向へ、キャラクタを移動させる。アナログスティック２７の場合も同様である。ユーザが、球を打撃するために、○ボタン２２、×ボタン２３、□ボタン２４、△ボタン２５のいずれかの打撃ボタン２６を入力しながら方向キー２１又はアナログスティック２７を入力したときには、打球の方向（着地点のターゲットの移動）を指定したものとして、キャラクタの移動は行わない。
【００１８】
移動制御部４１は、キャラクタの運動能力を示すパラメータに基づいてキャラクタの移動速度を算出し、方向キー２１又はアナログスティック２７の入力時間に応じてキャラクタの移動距離を算出する。移動制御部４１は、キャラクタの体力を示すパラメータに基づいてキャラクタの疲労度を算出し、キャラクタが疲労するとキャラクタの移動速度を低下させてもよい。例えば、連続して長時間移動したり、ラリーが続いたりした場合に、キャラクタの疲労度が高くなり、移動速度が低下するように制御してもよい。また、疲労度が高くなると、ラケットが届く範囲が狭くなる、打球の球威が低下する、狙った着地点からのぶれ幅が大きくなる、などの影響を与えてもよい。これにより、ラリーがいたずらに長く続いてゲームのテンポが悪くなるのを防ぐことができる。ラリーが終了して次のプレーにうつるときには、休憩をとって体力を回復させることができることから、キャラクタの疲労度をリセットしてもよい。
【００１９】
打撃制御部４２は、キャラクタによる球の打撃を制御し、打撃された球の挙動を制御する。ユーザが、○ボタン２２、×ボタン２３、□ボタン２４、△ボタン２５のいずれかを入力することにより打撃を指示すると、打撃制御部４２は、キャラクタが球をラケットで打撃する動作を実行させる。このとき、打撃制御部４２は、打撃に成功するか否か、すなわち、球がラケットに当たるか否かを判定する。打撃制御部４２は、打撃ボタン２６を入力されたときの球の位置や高さ、キャラクタの位置などに基づいて、ラケットに球が当たるか否かを判定する。キャラクタのラケットが届く範囲を示すパラメータなどを参照してもよい。
【００２０】
球がラケットに当たった場合は、打球の方向、球種、球速、球威などを決定し、球の挙動を制御する。打撃制御部４２は、まず、ユーザが入力したボタンの種別を取得して球種を決定する。ユーザが入力したボタンが○ボタン２２であればトップスピン、×ボタン２３であればスライス、□ボタン２４であればフラット、△ボタン２５であればロブとする。打球の相手コートにおける着地点のターゲットは、デフォルトでは相手コートのほぼ中央とする。ユーザが打撃ボタン２６を入力したときに、方向キー２１又はアナログスティック２７も入力していた場合は、入力された方向を取得して、着地点のターゲットをその方向に移動させる。
【００２１】
方向キー２１の場合は、コートを縦３×横３の９のエリアに分割し、入力された方向キー２１に応じて、いずれかのエリアにターゲットを移動させる。すなわち、デフォルトのターゲットであるコート中央を中心にして８方向に打ち分けることができる。後述するサーブの場合は、サービスエリアを９分割し、デフォルトでは中央のエリアの中央をターゲットとし、それを中心にして８方向に打ち分けることができる。アナログスティック２７の場合は、アナログスティック２７が倒された方向にターゲットを移動させるので、コート中央を中心にして３６０度のいずれの方向にも打ち分けることができる。通常のショットでは、ラインから１ｍ内側までしか狙えないが、打撃のタイミングが適切であったとき、又は後述するパワーが所定値以上に蓄積されていたときは、ライン際又はネット際を狙えるようにする。
【００２２】
キャラクタのパラメータに応じてターゲットの移動を制限してもよい。例えば、ショットのコントロール能力を示すパラメータを設定しておき、そのパラメータに応じて、左右に打ち分けることが可能な角度の範囲を設定してもよい。この場合、キャラクタの位置と、方向キー２１又はアナログスティック２７により指定されたターゲットの位置からショットの角度を算出し、その角度が打ち分け可能な角度の範囲を超えている場合には、ショットの角度を小さくする方向にターゲットの位置をずらして、打ち分け可能な角度の範囲内になるようにしてもよい。
【００２３】
相手のショットの球威、球速、球種や、自身のショットの球種などに応じて、打ち分け可能な角度の範囲を変更してもよい。例えば、相手のショットの球威が高かった場合、打ち分け可能な角度の範囲を狭くし、相手のショットの球威が低かった場合、打ち分け可能な角度の範囲を広くしてもよい。これにより、球をショットするときに相手のショットの球威におされるなど、現実のテニスと同様の効果を表現することができる。また、自身のショットの球種としてフラットショットが選択された場合、打ち分け可能な角度の範囲を狭くしてもよい。また、相手のショットの球種がスライスだった場合、打ち分け可能な角度の範囲を狭くしてもよい。この場合、例えば、スライスショットを、相手のアングルショットを防ぐための守備的なショットとして利用するなどの戦略をとることができる。
【００２４】
打撃制御部４２は、打撃のタイミング、打撃したときの球の高さ、キャラクタの体勢、キャラクタの運動能力を示すパラメータ、相手が打った球の球種に対してどの球種で打ち返すかという球種の組合せなどに応じて、球速と球威を決定するとともに、球の実際の着地点をターゲットからずらす。例えば、キャラクタが右手にラケットを所持しているときには、ユーザによる打撃ボタン２６の入力操作が遅れた場合、キャラクタが球を打撃するときのラケット面は、ユーザが狙った方向よりも右方向へ向いているので、着地点をターゲットの右方向へずらす。逆に、早かった場合は、打撃時のラケット面が左方向へ向いているので、着地点をターゲットの左方向へずらす。また、球が高い位置にあるときに打撃した場合は、狙いよりも長いショットになるので、着地点をターゲットの奥へずらす。逆に、低い位置にあるときに打撃した場合は、着地点をターゲットの手前へずらす。このときのぶれ幅は、キャラクタのパラメータ、疲労度、後述するパワーを示すパラメータなどを参照して決定される。例えば、キャラクタが移動中に打撃した場合は、ぶれ幅を大きくしてもよい。また、相手のショットの球威が高かった場合や、相手のショットの球種に対して自身のショットの球種が適切でなかった場合、相手のショットに強いスピンがかかっていた場合、キャラクタの疲労度が高かった場合などに、ぶれ幅を大きくしてもよい。打撃制御部４２は、打撃のタイミングが遅い又は早かったり、打撃したときの球の高さが低い又は高かったり、打撃したときのキャラクタの位置が球から近い又は遠かったりした場合に、キャラクタが本来有する能力よりも球速や球威を低下させてもよい。逆に、タイミングなどが適切であった場合に、キャラクタが本来有する能力以上の球速や球威で返球させてもよい。
【００２５】
打撃制御部４２は、打撃のタイミング、打撃したときの球の高さ、キャラクタの体勢、キャラクタの位置、キャラクタと球との間の距離、キャラクタの運動能力を示すパラメータ、相手が打った球の球種に対してどの球種で打ち返そうとしているかという球種の組合せなどが、通常の返球が可能な範囲にない場合、ユーザが入力した打撃ボタン２６により決定される球種とは異なる球種で返球する。例えば、打撃のタイミングが所定の範囲よりも遅い又は早かった場合や、キャラクタと球との間の距離が通常の返球が可能な範囲よりも遠かった場合など、不利な状況での返球を強いられる状況となったときに、打撃ボタン２６で決定される球種ではなく、ミスショットとして、相手に有利なロブなどの球種で返球する。すなわち、ユーザの操作ミスを反映させ、意図した球種による返球を不可能とし、相手に有利な状況を発生させる。これにより、ゲーム性を向上させることができる。
【００２６】
打撃制御部４２は、ユーザが狙った場所、すなわち、打撃したときに入力していた方向キー２１又はアナログスティック２７の方向に応じて、球種を自動的に変化させてもよい。例えば、上述した例では、ユーザが入力したボタンが○ボタン２２であればトップスピン、×ボタン２３であればスライス、□ボタン２４であればフラット、△ボタン２５であればロブとしたが、○ボタン２２にトップスピンとフラットの双方を割り当て、相手コートのベースライン側を狙ってショットしたとき場合はフラット、それ以外の場合はトップスピンとするなど、適切な球種を自動的に判定してもよい。このように、１つのボタンに複数の球種を予め割り当てておき、方向キー２１又はアナログスティック２７からのユーザ入力で指定されたターゲットの位置に応じて、打撃制御部４２が該複数の球種から１つの球種を自動的に選択するようにしてもよい。これにより、複数の球種を少ないボタンで使い分けることができるので、ユーザの操作を簡素化し、誰もが操作しやすいユーザインタフェースを実現することができる。
【００２７】
打撃制御部４２は、ユーザが打撃ボタン２６を入力したタイミングの良否を画面に提示する。例えば、タイミングが早すぎた場合は、キャラクタの近傍に、タイミングが早かったことを示すウサギのマークを提示し、タイミングが遅すぎた場合は、タイミングが遅かったことを示すカメのマークを提示し、タイミングがちょうど良かった場合は、音符のマークを提示する。ユーザは、このマークを見て自身の入力操作のタイミングを調整し、操作技量を向上させることができる。打撃制御部４２は、タイミングの良否に応じて打撃音を変化させてもよい。
【００２８】
打撃のタイミングを習得していない初心者でもプレーすることができるように、初級者向けのキャラクタを設定しておき、そのキャラクタの場合は、タイミングがずれていても打撃することができるようにしてもよい。この場合、打撃制御部４２は、ユーザが球を待ちきれずに早いタイミングで打撃ボタン２６を入力してしまっても、すぐに打撃を開始せずに、打撃が可能なタイミングになるまで待機し、球が打撃可能な位置に来たときに打撃するようにする。この場合も、球が打撃可能な範囲に入った瞬間に球が打撃されるので、タイミングが早すぎたことを示すマークを提示してユーザに知らせる。
【００２９】
打撃制御部４２は、決定された球種、球速、球威、着地点に基づいて、球の弾道を算出し、画面に表示させる。キャラクタのパラメータを更に参照して球の弾道を算出してもよい。例えば、打撃力を示すパラメータを設定しておき、そのパラメータに応じて球の初速を決定してもよい。また、スピンをかける能力を示すパラメータを設定しておき、そのパラメータに応じて球の落ちやすさや曲がりやすさ、バウンドの角度などを決定してもよい。また、球威に応じてスピンの曲がりやすさなどを決定してもよい。打撃制御部４２は、球種ごとの球の飛び方をデフォルメし、特徴を強調してもよい。例えば、スライスボールは、現実よりも大きく曲がるようにしてもよい。これにより、球種を打ち分ける戦略性をより高めることができる。
【００３０】
制御部４０は、キャラクタが打撃した球が相手コートの外に着地したときには、相手のキャラクタのポイントとする。キャラクタが打撃した球が相手コートの中に着地した後に、相手のキャラクタが球を打ち返せなかった場合は、球を打撃したキャラクタのポイントとする。その他、テニス競技の規則にしたがって、ポイントが判定される。
【００３１】
ＡＩ制御部４３は、ユーザにより操作されないキャラクタの挙動を制御する。例えば、シングルス競技でユーザ同士が対戦する場合には、それぞれのユーザのコントローラ２０によりキャラクタが操作されるが、ユーザがコンピュータとの対戦を選択した場合は、対戦相手のキャラクタをＡＩ制御部４３が制御する。ダブルス競技においても同様である。ダブルス競技において、同じチームの一方のキャラクタをユーザが操作し、他方のキャラクタをＡＩ制御部４３が制御しているときに、所定のボタン入力により、ユーザの操作対象となるキャラクタを切り替えられるようにしてもよい。この場合、移動制御部４１及び打撃制御部４２は、現在ユーザの操作対象となっているキャラクタの挙動を制御し、ＡＩ制御部４３は、ユーザの操作対象となっていないキャラクタの挙動を制御する。
【００３２】
高さ表示制御部４４は、球の高さを示す情報を識別可能に画面に提示するための制御を行う。高さ表示制御部４４は、球の軌跡を表示し、その軌跡の表示色を球の高さに応じて変化させる。まず、高さ表示制御部４４は、球の高低を判定する基準となる球の高さを予め設定しておく。基準値は、キャラクタの身長や手の長さなどのパラメータに応じて、キャラクタが最も精確に球を打撃できる球の高さを設定してもよいし、全てのキャラクタに共通の基準値を設定してもよい。高さ表示制御部４４は、飛行中の球の軌跡を表示する際に、球の高さが基準値よりも高いときには軌跡を赤色で表示し、基準値よりも低いときには軌跡を青色で表示する。高さ表示制御部４４は、キャラクタが精確に球を打撃することができる高さの範囲を設定し、球の高さがその範囲にあるときには軌跡を白色で表示し、その範囲よりも高いときには軌跡を赤色で表示し、その範囲よりも低いときには軌跡を青色で表示してもよい。球の軌跡は、球の近傍の所定長のみ表示してもよい。
【００３３】
図３は、球の高さと軌跡の表示色との関係を示す。図３は、テニスコートを横から見た図である。高さ表示制御部４４により、キャラクタが精確に球を打撃することができる範囲７０が設定されている。球の高さがその範囲７０にあるときには軌跡が白色で表示され、その範囲７０よりも高いときには赤色（図中では左下がり斜線ハッチ）で表示され、その範囲７０よりも低いときには青色（図中では斜め格子ハッチ）で表示される。
【００３４】
前述したように、キャラクタが球を打撃したときに、球の高さが範囲７０にあったときは、打撃制御部４２は、着地点の奥行き方向のぶれ幅を０とする。キャラクタが球を打撃したときに、球の高さが範囲７０よりも高かったときは、打撃制御部４２は着地点を狙ったターゲットよりも奥へずらす。キャラクタが球を打撃したときに、球の高さが範囲７０よりも低かったときは、打撃制御部４２は着地点を狙ったターゲットよりも手前へずらす。打撃ボタン２６が入力されたときに、球の高さが、キャラクタが打撃可能な範囲になかったときは、空振りとする。
【００３５】
図４は、高さ表示制御部４４により軌跡が表示された様子を示す図である。球７１の後方に軌跡７２が表示されており、球の高さに応じて着色されている。図４では、異なるハッチをつけることにより、表示色が異なることを表現している。従来、球技のゲームにおいて、球の影の大きさなどで球の高さを表現する手法があったが、それだけでは高さが分かりづらく、ロブを打たれたときの打撃の難易度をいたずらに高くしていた。軌跡の色により高さを表現することで、ユーザが球を打撃するタイミングをつかみやすく、影により球の高さを読み取るコツをつかんでいないユーザであっても、タイミングをつかみやすい。これにより、ゲームの勝敗が、高さを読み取るという本来のテニスゲームとは直接関連のない技量により支配されてしまう事態を低減し、テニス本来の戦略性を重視したゲームを実現することができる。高さ表示制御部４４は、キャラクタが球を打撃したときの球の高さに応じて、打撃音を変えてもよい。
【００３６】
球種表示制御部４５は、キャラクタのショットの球種を示す情報を識別可能に画面に提示するための制御を行う。現実のテニスにおいては、相手の打撃フォームや、球の飛び方などを目視して球種を判断するが、球の飛び方の微妙な違いを２次元の表示画面上で表現することは難しい。したがって、球種表示制御部４５は、キャラクタが球を打撃したとき、又は打撃された球が飛んでいるときに、打撃点又は球の近傍に球種を示すエフェクトを表示する。例えば、コントローラ２０の打撃ボタン２６に記されたものと同じ色及び形状の図形を表示する。
【００３７】
図５は、球種表示制御部４５により球種が表示された様子を示す図である。ユーザが○ボタン２２によりトップスピンショットを打ったときには赤色の○が、×ボタン２３によりスライスショットを打ったときには青色の×が、□ボタン２４によりフラットショットを打ったときには紫色の□が、△ボタン２５によりロブショットを打ったときには緑色の△が、球の近傍に表示される。このように、球種表示制御部４５は、ユーザが打撃を指示する操作に用いたボタンに記された図形や文字など、ボタンの種別を識別可能な情報を表示することにより、ショットの球種を提示する。図５の例では、スライスショットであることを示す青色の×７３が球の近傍に表示されている。これにより、ユーザは、相手が球を打撃した直後に、その球種を判断し、それに合わせてキャラクタを移動させることができる。また、見た目に楽しく、派手なエフェクトを表示することにより、ゲームの娯楽性を高めることができる。球種表示制御部４５は、球種に応じて打撃音を変えてもよい。例えば、音の高低で打撃のタイミングの良否を表現し、音の長短で球種を表現してもよい。また、打撃直後の音でタイミングを表現し、球が飛行しているときの音で球種や高低を表現してもよい。球種表示制御部４５は、打撃した球の球威に応じて、球種を示すために表示される図形のサイズを変化させてもよい。例えば、球威の高い球を返球したときには、通常よりも大きな図形を表示してもよい。また、打撃音を大きくしてもよい。これにより、ユーザは、相手が打撃した球の球威の高低を知ることができる。前述のように打撃制御部４２が、打撃のタイミングなどが通常の返球が可能な範囲にないと判定し、打撃ボタン２６で決定される球種ではなく相手に有利な球種を自動的に選択した場合、球種表示制御部４５は、ミスショットとしてこの打撃による球種情報を表示しないようにしてもよく、または打撃制御部４２が自動的に選択した球種に応じて図形を表示してもよい。なお、図５には、打撃のタイミングを示すマーク７４も表示されている。
【００３８】
ターゲット表示制御部４８は、キャラクタが球を打撃したときに、打った方向をユーザが事前に知ることができるようにするために、ターゲットの位置を示すエフェクトを表示する。図６は、ターゲット表示制御部４８が、ターゲットの位置を示す図形を表示した様子を示す。画面上方のキャラクタが球を打撃したときに、ユーザによる方向キー２１又はアナログスティック２７の操作により、又は、ＡＩ制御部４３の指示により、ターゲットが移動されると、ターゲット表示制御部４８は、上述したように、コートを縦３×横３の９のエリアに分割し、ユーザの操作またはＡＩ制御部４３の指示により指定された方向に位置するエリアを特定し、そのエリアにターゲットの位置を示す図形７５を表示する。たとえば、図形７５は、特定されたエリアの中央の位置に表示されてもよい。ユーザの操作またはＡＩ制御部４３の指示がなく、ターゲットが移動されない場合、ターゲットは相手コートのほぼ中央に設定されるため、ターゲット表示制御部４８は、コート中央のエリアを特定して、そのエリアにターゲットの位置を示す図形７５を表示する。図形７５が表示された位置は、必ずしも球の着地点と一致しなくてもよい。図形７５は、ターゲットがいずれの方向に移動されて設定されているのか、すなわち、いずれの方向を狙って球が打撃されたのかを示すために表示される。実際の球の着地点は、前述したように、球を打撃したときのタイミングなどに応じてターゲットからずれることがある。ユーザは、図形７５の表示位置により、相手のキャラクタが球を打撃したときに、球のおおよその飛行方向を把握することができるが、必ずしも着地点とは一致しないので、実際の着地点に合わせてキャラクタを移動させて球を打撃する必要がある。これにより、ゲームの難易度を適度に調整し、ゲームの娯楽性を向上させることができる。
【００３９】
サーブ制御部４６は、サーブの実行を制御する。サーブ制御部４６は、ユーザによる２回の打撃ボタン２６の操作入力により、ユーザが操作するキャラクタのサーブを実行する。サーブ制御部４６は、サーブを打つ前に方向キー２１の右又は左方向の入力を受け付けると、キャラクタがサーブを打つ位置を左右に移動させる。サーブ制御部４６は、１回目の打撃ボタン２６の入力を受け付けると、キャラクタがトスを投げる動作を実行させ、２回目の打撃ボタン２６の入力を受け付けると、キャラクタがサーブを打つ動作を実行させる。
【００４０】
サーブ制御部４６は、１回目の操作入力の打撃ボタン２６の種別に応じて、サーブの球威又は球速を決定する。例えば、□ボタン２４が入力された場合は球威又は球速を高くし、×ボタン２３が入力された場合は球威又は球速を低くする。また、△ボタン２５が入力された場合はアンダーサーブを選択し、○ボタン２２が入力された場合は球威又は球速を自動選択する。○ボタン２２が入力されたとき、ファーストサーブの場合は球威又は球速を高くし、セカンドサーブの場合は球威又は球速を低くする。サーブ制御部４６は、球威又は球速を高くした場合には、打撃のタイミングがずれたときの狙った着地点からのぶれ幅を大きくしてサーブの精度を低くし、球威又は球速を低くした場合には、ぶれ幅を小さくして精度を高くしてもよい。また、球威を高くするサーブを選択した場合は、球威の低いサーブよりもライン際を狙えるようにしてもよい。
【００４１】
サーブ制御部４６は、２回目の操作入力の打撃ボタン２６の種別に応じて、サーブの球種を決定する。球種は、ラリー中の打撃と同様に、○ボタン２２が入力された場合はトップスピン、×ボタン２３の場合はスライス、□ボタン２４の場合フラット、△ボタン２５の場合はロブとする。２回目の打撃ボタン２６の入力時に、方向キー２１が入力された場合は、球の着地点の狙いを入力されたキーの方向へ移動させる。打撃された球の挙動の制御については、打撃制御部４２と同様である。
【００４２】
図７は、サーブ制御部４６による制御の手順を示すフローチャートである。キャラクタがサーブを行う前に、サーブ制御部４６は、サーブ回数を示すカウンタを１に初期化しておく（Ｓ１０）。つづいて、ユーザによる打撃ボタン２６の入力を待機し、打撃ボタン２６のいずれかの入力を受け付けると（Ｓ１２）、キャラクタがトスを投げる動作を実行させる（Ｓ１４）。ユーザが入力した打撃ボタン２６の種別が、球威を自動設定するための○ボタン２２以外のボタンであった場合は（Ｓ１６のＮ）、ボタン種別に応じてサーブの球威と精度を設定する（Ｓ２０）。○ボタン２２であった場合は（Ｓ１６のＹ）、サーブ回数カウンタを参照し、ファーストサーブであった場合は（Ｓ１８のＹ）、球威を高めに精度を低めに設定し（Ｓ２２）、セカンドサーブであった場合は（Ｓ１８のＮ）、球威を低めに精度を高めに設定する（Ｓ２４）。
【００４３】
トスが上がっている間に、ユーザによる２回目の打撃ボタン２６の入力を受け付けると（Ｓ２６）、キャラクタがサーブを打つ動作を実行させる（Ｓ２８）。このとき、ユーザが入力した打撃ボタン２６の種別に応じて、サーブの球種を設定する（Ｓ３０）。ここで、２回目の打撃ボタン２６の入力タイミングに基づいて、Ｓ２０、Ｓ２２、又はＳ２４で定めた球威又は精度のパラメータを補正してもよい。さらに、打球の軌跡と着地点を算出し、サーブの成否を判定する（Ｓ３２）。サーブがレットであった場合は（Ｓ３４のＹ）、再度ファーストサーブを行うためにＳ１２へ戻る。サーブがレットではなく（Ｓ３４のＮ）、フォールトであった場合は（Ｓ３６のＹ）、サーブ回数カウンタを１増やし（Ｓ３８）、１回目のフォールトであった場合は（Ｓ４０のＮ）、セカンドサーブを行うためにＳ１２へ戻る。ダブルフォールトであった場合は（Ｓ４０のＹ）、レシーバーのポイントとして（Ｓ４２）、サーブを終了する。サーブがレットでもなくフォールトでもなかった場合は（Ｓ３６のＮ）、打撃制御部４２に制御がうつり、ラリーが実行される（Ｓ４４）。
【００４４】
このように、ファーストサーブであっても、球威を落とし、正確性を重視したサーブを打つことができるし、逆に、セカンドサーブであっても、精度と引き替えに球威を強くしたサーブを打つことができる。これにより、戦略の自由度が増し、競技において重要な位置を占めるサーブの駆け引きをより一層楽しむことができる。
【００４５】
なお、上記の例では、１回目の操作入力で球速又は球威を決定し、２回目の操作入力で球種を決定したが、その逆であってもよいし、３回以上の操作入力でサーブが行われてもよい。また、打撃ボタン２６の種別により球速、球威、球種を決定したが、ボタンの押し方、複数のボタンの組合せなどにより球種などを決定してもよい。
【００４６】
パワー制御部４７は、キャラクタが静止しているときに、キャラクタのパワーを示すパラメータを増加させ、パラメータが所定の値に達した状態でキャラクタが球を打撃すると、通常の打撃よりも球速、球威、又は精度を高くするように制御する。また、通常の打撃では狙うことができないようなライン際の位置を狙って打撃することができるようにしてもよい。パワー制御部４７は、キャラクタが移動を開始したときに、パラメータをゼロにリセットしてもよい。パワー制御部４７は、キャラクタが移動を開始しても、所定の距離、例えば５０ｃｍの範囲内にいるときには、蓄積されていたパラメータを保持し続けるようにしてもよい。パワーを示すパラメータの値に応じてレベルが設定され、レベルに応じて球速、球威、精度などが決定されてもよい。
【００４７】
図８は、パワー制御部４７による制御の手順を示すフローチャートである。パワー制御部４７は、サーブが行われた後、それぞれのキャラクタのパワーをいったん０に初期化する（Ｓ５０）。その後、パワーが最大値に達していなければ（Ｓ５２のＮ）、パワーをインクリメントする（Ｓ５４）。パワーが最大値に達していれば（Ｓ５２のＹ）、パワーをインクリメントする処理をスキップし、それ以上パワーを増加させない。キャラクタの位置が所定距離の範囲内にある間は（Ｓ５６のＮ）、キャラクタが打撃を実行するまで（Ｓ６０のＮ）、以上の処理が繰り返され、パワーが蓄積されていく。このループは、所定の時間間隔で行われる。キャラクタが所定距離以上移動すれば（Ｓ５６のＹ）、パワーを初期化する（Ｓ５８）。キャラクタが球を打撃すると（Ｓ６０のＹ）、そのときに蓄積されているパワーが適用されて、球速、球威、精度などが設定される。
【００４８】
このように、現実のテニス競技と同様に、ユーザが相手の打球を予測し、球を打撃すべき位置にキャラクタを早く移動させて、その場所で体勢を整えてから打つと、球速、球威、精度などが向上するようなシステムとする。また、予測した位置から外れた位置に球が飛んだ場合には、パワーを捨てて正しい位置へ移動してからショットするか、多少のずれがあってもパワーを維持したままショットするかをユーザが選択することになり、新しい戦略性が生まれる。これにより、テニス本来の戦略や駆け引きの面白さを十分に楽しむことができるようなゲームを実現することができる。
【００４９】
なお、上記の例では、キャラクタが静止している時間に応じてパワーを示すパラメータを増加させたが、ユーザが所定のボタンを押下している時間に応じてパラメータを増加させてもよい。例えば、ユーザが打撃ボタン２６を押下している間はパラメータを増加させ、打撃ボタン２６を離したときに、そのときのパラメータが採用されて打撃が実行されるようにしてもよい。
【００５０】
音声処理部６２は、キャラクタが球を打撃する音、球が飛行する音、その他の効果音などを生成してスピーカ６４に出力させる。音声処理部６２は、音源から発生する音に基づいて２次元又は３次元の音場を算出し、所定位置にマイクを設定して、その場所において聞こえる音を算出する。音声処理部６２は、音響効果の臨場感を増幅させ、より効果的な音響効果を実現させるために、画像処理部６６におけるカメラの設定位置に応じてマイクの設定位置を変化させる。例えば、球が左から右へ移動するときの音を表現する際に、球の軌道に対して１０ｍの位置にマイクを配置する場合と、１ｍの位置にマイクを配置する場合とでは、音の移動量が異なる。したがって、カメラの位置をコートに近づけたときには、マイクの位置も同様にコートに近づけることで、臨場感をより高めることができる。このように、マイクの位置を動的に設定することで、音の動的な移動を効果的に制御することができる。
【００５１】
コントローラ制御部４９は、複数のコントローラ２０を利用してゲームを行う際に、ユーザが自身のコントローラ２０により操作される操作対象を容易に識別できるようにするための制御を行う。図９は、複数のコントローラ２０ａ、２０ｂ、２０ｃ、２０ｄがゲーム装置１０に接続された様子を示す。ゲーム装置１０の本体に設けられたコントローラを接続するための複数のポート３２ａ、３２ｂ、３２ｃ、３２ｄのそれぞれに、コントローラ２０ａ、２０ｂ、２０ｃ、２０ｄが接続されている。複数のコントローラ２０ａ〜２０ｄからの操作入力を受け付けてテニスのダブルスゲームを制御する制御部４０は、ポート３２ａに接続されたコントローラ２０ａの操作対象をプレイヤー１Ｐとし、ポート３２ｂ、３２ｃ、３２ｄに接続されたコントローラ２０ｂ、２０ｃ、２０ｄの操作対象を、それぞれプレイヤー２Ｐ、３Ｐ、４Ｐとする。
【００５２】
制御部４０がダブルスの対戦ゲームを開始する際に、図９に示したような画面を表示し、プレイヤーの組合せの指定を受け付ける。このとき、ユーザは、自分が所持しているコントローラの操作対象がいずれのプレイヤーであるのかを確認しなければならない。自身のコントローラがいずれのポートに接続されているのかを確認すれば、自身の操作対象がプレイヤー１Ｐなのか、２Ｐ、３Ｐ、４Ｐなのかを確認することができるが、配線をたどって確認するのは不便である。そこで、コントローラ制御部４９は、コントローラから、そのコントローラの操作対象の識別を要求する操作入力を受け付けたときに、そのコントローラの操作対象を表示装置６８の画面に識別可能に表示するとともに、そのコントローラを振動させたり発光させたりして、コントローラと操作対象の対応をユーザが認識可能とする。例えば、コントローラ２０ｄを所持するユーザが、アナログスティック２７ｄを上方向に倒すと、コントローラ制御部４９はその操作入力を受け付けて、コントローラ２０ｄの操作対象であるプレイヤー４Ｐのアイコンを他のプレイヤーのアイコンとは異なる表示形式で強調表示するとともに、コントローラ２０ｄに制御信号を発して、コントローラ２０ｄを振動させる。これにより、ユーザは、自身の所持するコントローラ２０ｄの操作対象がプレイヤー４Ｐであることを容易に知ることができる。
【００５３】
図１０は、複数のコントローラ２０ａ、２０ｂ、２０ｃ、２０ｄがゲーム装置１０に接続された様子を示す。図１０に示した例では、コントローラ２０ｄを所持するユーザが、アナログスティック２７ｄを下方向に倒すと、コントローラ制御部４９はその操作入力を受け付けて、まず、図９に示した例と同様に、コントローラ２０ｄの操作対象であるプレイヤー４Ｐのアイコンを他のプレイヤーのアイコンとは異なる表示形式で強調表示するとともに、コントローラ２０ｄに制御信号を発して、コントローラ２０ｄを振動させる。さらに、コントローラ制御部４９は、プレイヤー４Ｐとダブルスで組んでいる味方のプレイヤー３Ｐのアイコンを他のプレイヤーのアイコンとは異なる表示形式で強調表示するとともに、プレイヤー３Ｐを操作するコントローラ２０ｃに制御信号を発して、コントローラ２０ｃを振動させる。これにより、ユーザは、自身の所持するコントローラ２０ｄの操作対象がプレイヤー４Ｐであることを知ることができるとともに、ダブルスでパートナーを組むことになるプレイヤー３Ｐを操作するユーザが誰なのかを容易に知ることができる。
【００５４】
以上説明したように、本実施の形態のテニスゲームにおいては、瞬発的な判断や操作を重視するのではなく、球速を抑えることにより、ユーザがいろいろな情報を判断して戦略を考える時間を多くとっている。そして、球種や高さなどの情報を分かりやすく提示することにより、狙ったところに球を打ち返したり、球種を変化させたりといった、戦略性を重視したゲームを実現することができる。
【００５５】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【図面の簡単な説明】
【００５６】
【図１】実施の形態に係るゲーム装置の構成を示す図である。
【図２】コントローラの外観を示す図である。
【図３】球の高さと軌跡の表示色との関係を示す図である。
【図４】高さ表示制御部により軌跡が表示された様子を示す図である。
【図５】球種表示制御部により球種が表示された様子を示す図である。
【図６】ターゲット表示制御部によりターゲットの位置を示す図形が表示された様子を示す図である。
【図７】サーブ制御部による制御の手順を示すフローチャートである。
【図８】パワー制御部による制御の手順を示すフローチャートである。
【図９】複数のコントローラがゲーム装置に接続された様子を示す図である。
【図１０】複数のコントローラがゲーム装置に接続された様子を示す図である。
【符号の説明】
【００５７】
１０  ゲーム装置、２０  コントローラ、２１  方向キー、２２  ○ボタン、２３  ×ボタン、２４  □ボタン、２５  △ボタン、２６  打撃ボタン、３０  入力部、４０  制御部、４１  移動制御部、４２  打撃制御部、４３  ＡＩ制御部、４４  高さ表示制御部、４５  球種表示制御部、４６  サーブ制御部、４７  パワー制御部、４８  ターゲット表示制御部、４９  コントローラ制御部、６０  パラメータ保持部、６２  音声処理部、６４  スピーカ、６６  画像処理部、６８  表示装置。
【図１】
2008029646.tif 000003
【図２】
2008029646.tif 000004
【図３】
2008029646.tif 000005
【図４】
2008029646.tif 000006
【図５】
2008029646.tif 000007
【図６】
2008029646.tif 000008
【図７】
2008029646.tif 000009
【図８】
2008029646.tif 000010
【図９】
2008029646.tif 000011
【図１０】
2008029646.tif 000012