説明

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

【課題】娯楽性の高いゲーム装置を表現する。
【解決手段】ゲーム装置10は、ユーザが操作するキャラクタと、対戦相手のキャラクタとが、球を打ち合って対戦する球技を行うゲームを制御する。ユーザがコントローラ20のボタンにより球の打撃を指示すると、打撃制御部42は、ユーザが入力したボタンの種別に応じてキャラクタが球を打撃するときのタイミング及び球種を決定する。打撃制御部42は、打撃したときのタイミング、球の高さ、キャラクタの体勢、キャラクタの位置、キャラクタと球との間の距離、又はキャラクタの運動能力を示すパラメータが、通常の打撃が可能な所定の範囲から外れている場合、決定された球種から相手に有利となる別の球種に変更する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム制御技術に関し、特に、ユーザが操作するキャラクタと、対戦相手のキャラクタとが、球を打ち合って対戦する球技を行うゲームを制御するゲーム制御プログラム、ゲーム制御方法、及びゲーム装置に関する。
【背景技術】
【0002】
テニス、野球、サッカーなどの球技のゲームが市場に多く出回っている。とくに、現実に存在するプロ選手を模したキャラクタをユーザが操作し、レベルの高い競技を擬似的に体験することができるようなゲームが人気を博している。
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、人気のあるプロ選手を模したキャラクタによるリアリティ性の高い対戦を追求するほど、競技レベルが上がり、一般的なアマチュアレベルの競技からかけ離れていく。高い競技レベルの対戦を擬似的に体験できるという面白さもあるが、往々にして、瞬発的な操作の能力に勝敗が強く支配され、とくに初級者は球に追いつくのに精一杯で、戦略を練りながらキャラクタを操作する余裕がない場合もある。
【0004】
本発明者らは、このようなゲーム観に対するアンチテーゼとして、より多くのユーザが気軽に楽しめ、かつ、球技が本来有している戦略や駆け引きの楽しさを重視したゲームを実現するための技術を想到するに至った。
【0005】
本発明は、このような状況に鑑みてなされたものであり、その目的は、より娯楽性の高いゲームを実現する技術を提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明のある態様のゲーム制御プログラムは、ユーザが操作するキャラクタと、対戦相手のキャラクタとが、球を打ち合って対戦する球技を行うゲームを制御するプログラムであって、ユーザの操作入力を受け付け、その操作入力の内容に応じて、前記キャラクタが球を打撃するタイミング及び球種を決定する機能と、前記打撃したときのタイミング、球の高さ、前記キャラクタの体勢、前記キャラクタの位置、前記キャラクタと球との間の距離、又は前記キャラクタの運動能力を示すパラメータが、通常の打撃が可能な所定の範囲から外れている場合、前記決定する機能により決定された球種から異なる球種に変更する機能と、前記球種に応じて、打撃された球の弾道を算出し、飛んでいる球を画面に表示する機能と、をコンピュータに実現させることを特徴とする。
【0007】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0008】
本発明によれば、より娯楽性の高いゲーム装置を実現する技術を提供することができる。
【発明を実施するための最良の形態】
【0009】
実施の形態に係るゲーム装置は、ユーザが操作するキャラクタと、別のユーザが操作する、又はコンピュータが制御する対戦相手のキャラクタとが、テニス、卓球、バドミントン、バレーボールなど、互いに球を打ち合う形式の球技で対戦するゲームを実現する。本実施の形態では、とくに、テニスを例にとって説明する。
【0010】
スポーツゲームの分野では、現実のプロ選手や有名選手などを模したキャラクタを用いて、高いレベルの競技を擬似的に楽しむことができるようなものが主流となっている。テニスゲームにおいても、球速が速く、瞬発的な操作の技量により勝敗が決するようなものが多い。このようなテニスゲームでは、初級者はキャラクタを移動させて球に追いつくのが精一杯で、状況に応じて球種や球速を適切に選択したり、コースを打ち分けたりなどいった戦略を考慮する暇もないことが多い。このように、プロ競技などを模したゲームは、難易度が高く、初心者にとって敷居が高いという問題がある。また、キャラクタの位置や球を打つタイミングが多少ずれていても、球を打撃するための操作入力を行いさえすれば球を打つことができるように強い補正がかけられているので、自分が操作しているという感覚が薄い。
【0011】
それに対して、本実施の形態のテニスゲームは、アマチュアプレイヤーや初心者などの対戦を模した、球速が遅く、瞬発的な操作が苦手な人でも楽しめるようなテニスゲームを実現する。球速が遅い分、1球1球の打球について、球種や打つタイミングなどの作戦を練り、戦略性の高いゲームを実現することができる。また、単にゲームの難易度を低くするのではなく、球速が遅い代わりに、正しい位置とタイミングで球を打たないと狙った方向へ返球できないようにする。このように、反射神経を競う従来のゲーム観から脱却し、球を打ち返す方向や球種などの駆け引きを競う、テニス本来の面白さを十分に引き出したゲームを実現することができる。
【0012】
図1は、実施の形態に係るゲーム装置10の構成を示す。ゲーム装置10は、コントローラ20、入力部30、制御部40、パラメータ保持部60、画像処理部66、及び表示装置68を備える。これらの構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのCPU、メモリ、メモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【0013】
入力部30は、プレイヤーが操作するコントローラ20から入力される制御信号を受け付ける。制御部40は、入力部30が受け付けたユーザからの指示に基づいてゲームプログラムを実行し、ゲーム世界においてテニスプレイヤーとして機能するキャラクタの動作を制御しつつ、テニスゲームを進行させる。パラメータ保持部60は、キャラクタの名称、種別、レベルなどのほか、移動速度、体力、パワー、スタミナ、疲労度、コントロール、スピンなど、ショットのぶれ幅(精度)、球威、球速、などを決めるための運動能力などのパラメータを保持する。画像処理部66は、制御部40により制御されるゲームの画面を生成し、表示装置68に表示させる。
【0014】
図2は、コントローラの外観を示す。コントローラ20には、方向キー21、アナログスティック27と、4種のボタン22、23、24、及び25が設けられている。4種のボタン22〜25には、それぞれを区別するために、所定の色で所定の図形が記されている。すなわち、○ボタン22には赤色の丸、×ボタン23には青色のバツ、□ボタン24には紫色の四角形、△ボタン25には緑色の三角形が記されている。本実施の形態のゲームでは、主に、キャラクタの移動方向及びショットの方向を指示するために方向キー21又はアナログスティック27が使用され、球をラケットで打撃するために4種のボタン22〜25が使用される。以下、4種のボタン22〜25を総称して「打撃ボタン26」という。
【0015】
図1に戻り、各構成の説明を続ける。パラメータ保持部60には、複数のキャラクタについて、キャラクタの動作を制御するためのパラメータが予め格納されている。ゲームの開始時に、ユーザが操作するキャラクタの種別と、対戦相手のキャラクタの種別が選択されると、制御部40は、パラメータ保持部60から、選択されたキャラクタのパラメータを読み出す。
【0016】
キャラクタごとに個性が強調されるようなパラメータを設定してもよい。例えば、初級者用のキャラクタと上級者用のキャラクタを用意し、初級者用のキャラクタは、球を打撃するときの位置やタイミングのずれが、狙った着地点からのぶれに及ぼす影響を小さくする代わりに、体力や運動能力などを低く設定してもよい。逆に、上級者用のキャラクタは、体力や運動能力を高く設定する代わりに、ぶれを大きくし、ショットの位置やタイミングに高い精度が要求されるようにしてもよい。
【0017】
移動制御部41は、キャラクタの移動を制御する。ユーザが方向キー21又はアナログスティック27を入力することによりキャラクタの移動方向を指示すると、移動制御部41は、ユーザが指定した方向にキャラクタを移動させる。移動制御部41は、ユーザが上方向のキーを押したときは画面奥の方向へ、下方向のキーを押したときは画面手前の方向へ、右方向のキーを押したときは画面右の方向へ、左方向のキーを押したときは画面左の方向へ、キャラクタを移動させる。アナログスティック27の場合も同様である。ユーザが、球を打撃するために、○ボタン22、×ボタン23、□ボタン24、△ボタン25のいずれかの打撃ボタン26を入力しながら方向キー21又はアナログスティック27を入力したときには、打球の方向(着地点のターゲットの移動)を指定したものとして、キャラクタの移動は行わない。
【0018】
移動制御部41は、キャラクタの運動能力を示すパラメータに基づいてキャラクタの移動速度を算出し、方向キー21又はアナログスティック27の入力時間に応じてキャラクタの移動距離を算出する。移動制御部41は、キャラクタの体力を示すパラメータに基づいてキャラクタの疲労度を算出し、キャラクタが疲労するとキャラクタの移動速度を低下させてもよい。例えば、連続して長時間移動したり、ラリーが続いたりした場合に、キャラクタの疲労度が高くなり、移動速度が低下するように制御してもよい。また、疲労度が高くなると、ラケットが届く範囲が狭くなる、打球の球威が低下する、狙った着地点からのぶれ幅が大きくなる、などの影響を与えてもよい。これにより、ラリーがいたずらに長く続いてゲームのテンポが悪くなるのを防ぐことができる。ラリーが終了して次のプレーにうつるときには、休憩をとって体力を回復させることができることから、キャラクタの疲労度をリセットしてもよい。
【0019】
打撃制御部42は、キャラクタによる球の打撃を制御し、打撃された球の挙動を制御する。ユーザが、○ボタン22、×ボタン23、□ボタン24、△ボタン25のいずれかを入力することにより打撃を指示すると、打撃制御部42は、キャラクタが球をラケットで打撃する動作を実行させる。このとき、打撃制御部42は、打撃に成功するか否か、すなわち、球がラケットに当たるか否かを判定する。打撃制御部42は、打撃ボタン26を入力されたときの球の位置や高さ、キャラクタの位置などに基づいて、ラケットに球が当たるか否かを判定する。キャラクタのラケットが届く範囲を示すパラメータなどを参照してもよい。
【0020】
球がラケットに当たった場合は、打球の方向、球種、球速、球威などを決定し、球の挙動を制御する。打撃制御部42は、まず、ユーザが入力したボタンの種別を取得して球種を決定する。ユーザが入力したボタンが○ボタン22であればトップスピン、×ボタン23であればスライス、□ボタン24であればフラット、△ボタン25であればロブとする。打球の相手コートにおける着地点のターゲットは、デフォルトでは相手コートのほぼ中央とする。ユーザが打撃ボタン26を入力したときに、方向キー21又はアナログスティック27も入力していた場合は、入力された方向を取得して、着地点のターゲットをその方向に移動させる。
【0021】
方向キー21の場合は、コートを縦3×横3の9のエリアに分割し、入力された方向キー21に応じて、いずれかのエリアにターゲットを移動させる。すなわち、デフォルトのターゲットであるコート中央を中心にして8方向に打ち分けることができる。後述するサーブの場合は、サービスエリアを9分割し、デフォルトでは中央のエリアの中央をターゲットとし、それを中心にして8方向に打ち分けることができる。アナログスティック27の場合は、アナログスティック27が倒された方向にターゲットを移動させるので、コート中央を中心にして360度のいずれの方向にも打ち分けることができる。通常のショットでは、ラインから1m内側までしか狙えないが、打撃のタイミングが適切であったとき、又は後述するパワーが所定値以上に蓄積されていたときは、ライン際又はネット際を狙えるようにする。
【0022】
キャラクタのパラメータに応じてターゲットの移動を制限してもよい。例えば、ショットのコントロール能力を示すパラメータを設定しておき、そのパラメータに応じて、左右に打ち分けることが可能な角度の範囲を設定してもよい。この場合、キャラクタの位置と、方向キー21又はアナログスティック27により指定されたターゲットの位置からショットの角度を算出し、その角度が打ち分け可能な角度の範囲を超えている場合には、ショットの角度を小さくする方向にターゲットの位置をずらして、打ち分け可能な角度の範囲内になるようにしてもよい。
【0023】
相手のショットの球威、球速、球種や、自身のショットの球種などに応じて、打ち分け可能な角度の範囲を変更してもよい。例えば、相手のショットの球威が高かった場合、打ち分け可能な角度の範囲を狭くし、相手のショットの球威が低かった場合、打ち分け可能な角度の範囲を広くしてもよい。これにより、球をショットするときに相手のショットの球威におされるなど、現実のテニスと同様の効果を表現することができる。また、自身のショットの球種としてフラットショットが選択された場合、打ち分け可能な角度の範囲を狭くしてもよい。また、相手のショットの球種がスライスだった場合、打ち分け可能な角度の範囲を狭くしてもよい。この場合、例えば、スライスショットを、相手のアングルショットを防ぐための守備的なショットとして利用するなどの戦略をとることができる。
【0024】
打撃制御部42は、打撃のタイミング、打撃したときの球の高さ、キャラクタの体勢、キャラクタの運動能力を示すパラメータ、相手が打った球の球種に対してどの球種で打ち返すかという球種の組合せなどに応じて、球速と球威を決定するとともに、球の実際の着地点をターゲットからずらす。例えば、キャラクタが右手にラケットを所持しているときには、ユーザによる打撃ボタン26の入力操作が遅れた場合、キャラクタが球を打撃するときのラケット面は、ユーザが狙った方向よりも右方向へ向いているので、着地点をターゲットの右方向へずらす。逆に、早かった場合は、打撃時のラケット面が左方向へ向いているので、着地点をターゲットの左方向へずらす。また、球が高い位置にあるときに打撃した場合は、狙いよりも長いショットになるので、着地点をターゲットの奥へずらす。逆に、低い位置にあるときに打撃した場合は、着地点をターゲットの手前へずらす。このときのぶれ幅は、キャラクタのパラメータ、疲労度、後述するパワーを示すパラメータなどを参照して決定される。例えば、キャラクタが移動中に打撃した場合は、ぶれ幅を大きくしてもよい。また、相手のショットの球威が高かった場合や、相手のショットの球種に対して自身のショットの球種が適切でなかった場合、相手のショットに強いスピンがかかっていた場合、キャラクタの疲労度が高かった場合などに、ぶれ幅を大きくしてもよい。打撃制御部42は、打撃のタイミングが遅い又は早かったり、打撃したときの球の高さが低い又は高かったり、打撃したときのキャラクタの位置が球から近い又は遠かったりした場合に、キャラクタが本来有する能力よりも球速や球威を低下させてもよい。逆に、タイミングなどが適切であった場合に、キャラクタが本来有する能力以上の球速や球威で返球させてもよい。
【0025】
打撃制御部42は、打撃のタイミング、打撃したときの球の高さ、キャラクタの体勢、キャラクタの位置、キャラクタと球との間の距離、キャラクタの運動能力を示すパラメータ、相手が打った球の球種に対してどの球種で打ち返そうとしているかという球種の組合せなどが、通常の返球が可能な範囲にない場合、ユーザが入力した打撃ボタン26により決定される球種とは異なる球種で返球する。例えば、打撃のタイミングが所定の範囲よりも遅い又は早かった場合や、キャラクタと球との間の距離が通常の返球が可能な範囲よりも遠かった場合など、不利な状況での返球を強いられる状況となったときに、打撃ボタン26で決定される球種ではなく、ミスショットとして、相手に有利なロブなどの球種で返球する。すなわち、ユーザの操作ミスを反映させ、意図した球種による返球を不可能とし、相手に有利な状況を発生させる。これにより、ゲーム性を向上させることができる。
【0026】
打撃制御部42は、ユーザが狙った場所、すなわち、打撃したときに入力していた方向キー21又はアナログスティック27の方向に応じて、球種を自動的に変化させてもよい。例えば、上述した例では、ユーザが入力したボタンが○ボタン22であればトップスピン、×ボタン23であればスライス、□ボタン24であればフラット、△ボタン25であればロブとしたが、○ボタン22にトップスピンとフラットの双方を割り当て、相手コートのベースライン側を狙ってショットしたとき場合はフラット、それ以外の場合はトップスピンとするなど、適切な球種を自動的に判定してもよい。このように、1つのボタンに複数の球種を予め割り当てておき、方向キー21又はアナログスティック27からのユーザ入力で指定されたターゲットの位置に応じて、打撃制御部42が該複数の球種から1つの球種を自動的に選択するようにしてもよい。これにより、複数の球種を少ないボタンで使い分けることができるので、ユーザの操作を簡素化し、誰もが操作しやすいユーザインタフェースを実現することができる。
【0027】
打撃制御部42は、ユーザが打撃ボタン26を入力したタイミングの良否を画面に提示する。例えば、タイミングが早すぎた場合は、キャラクタの近傍に、タイミングが早かったことを示すウサギのマークを提示し、タイミングが遅すぎた場合は、タイミングが遅かったことを示すカメのマークを提示し、タイミングがちょうど良かった場合は、音符のマークを提示する。ユーザは、このマークを見て自身の入力操作のタイミングを調整し、操作技量を向上させることができる。打撃制御部42は、タイミングの良否に応じて打撃音を変化させてもよい。
【0028】
打撃のタイミングを習得していない初心者でもプレーすることができるように、初級者向けのキャラクタを設定しておき、そのキャラクタの場合は、タイミングがずれていても打撃することができるようにしてもよい。この場合、打撃制御部42は、ユーザが球を待ちきれずに早いタイミングで打撃ボタン26を入力してしまっても、すぐに打撃を開始せずに、打撃が可能なタイミングになるまで待機し、球が打撃可能な位置に来たときに打撃するようにする。この場合も、球が打撃可能な範囲に入った瞬間に球が打撃されるので、タイミングが早すぎたことを示すマークを提示してユーザに知らせる。
【0029】
打撃制御部42は、決定された球種、球速、球威、着地点に基づいて、球の弾道を算出し、画面に表示させる。キャラクタのパラメータを更に参照して球の弾道を算出してもよい。例えば、打撃力を示すパラメータを設定しておき、そのパラメータに応じて球の初速を決定してもよい。また、スピンをかける能力を示すパラメータを設定しておき、そのパラメータに応じて球の落ちやすさや曲がりやすさ、バウンドの角度などを決定してもよい。また、球威に応じてスピンの曲がりやすさなどを決定してもよい。打撃制御部42は、球種ごとの球の飛び方をデフォルメし、特徴を強調してもよい。例えば、スライスボールは、現実よりも大きく曲がるようにしてもよい。これにより、球種を打ち分ける戦略性をより高めることができる。
【0030】
制御部40は、キャラクタが打撃した球が相手コートの外に着地したときには、相手のキャラクタのポイントとする。キャラクタが打撃した球が相手コートの中に着地した後に、相手のキャラクタが球を打ち返せなかった場合は、球を打撃したキャラクタのポイントとする。その他、テニス競技の規則にしたがって、ポイントが判定される。
【0031】
AI制御部43は、ユーザにより操作されないキャラクタの挙動を制御する。例えば、シングルス競技でユーザ同士が対戦する場合には、それぞれのユーザのコントローラ20によりキャラクタが操作されるが、ユーザがコンピュータとの対戦を選択した場合は、対戦相手のキャラクタをAI制御部43が制御する。ダブルス競技においても同様である。ダブルス競技において、同じチームの一方のキャラクタをユーザが操作し、他方のキャラクタをAI制御部43が制御しているときに、所定のボタン入力により、ユーザの操作対象となるキャラクタを切り替えられるようにしてもよい。この場合、移動制御部41及び打撃制御部42は、現在ユーザの操作対象となっているキャラクタの挙動を制御し、AI制御部43は、ユーザの操作対象となっていないキャラクタの挙動を制御する。
【0032】
高さ表示制御部44は、球の高さを示す情報を識別可能に画面に提示するための制御を行う。高さ表示制御部44は、球の軌跡を表示し、その軌跡の表示色を球の高さに応じて変化させる。まず、高さ表示制御部44は、球の高低を判定する基準となる球の高さを予め設定しておく。基準値は、キャラクタの身長や手の長さなどのパラメータに応じて、キャラクタが最も精確に球を打撃できる球の高さを設定してもよいし、全てのキャラクタに共通の基準値を設定してもよい。高さ表示制御部44は、飛行中の球の軌跡を表示する際に、球の高さが基準値よりも高いときには軌跡を赤色で表示し、基準値よりも低いときには軌跡を青色で表示する。高さ表示制御部44は、キャラクタが精確に球を打撃することができる高さの範囲を設定し、球の高さがその範囲にあるときには軌跡を白色で表示し、その範囲よりも高いときには軌跡を赤色で表示し、その範囲よりも低いときには軌跡を青色で表示してもよい。球の軌跡は、球の近傍の所定長のみ表示してもよい。
【0033】
図3は、球の高さと軌跡の表示色との関係を示す。図3は、テニスコートを横から見た図である。高さ表示制御部44により、キャラクタが精確に球を打撃することができる範囲70が設定されている。球の高さがその範囲70にあるときには軌跡が白色で表示され、その範囲70よりも高いときには赤色(図中では左下がり斜線ハッチ)で表示され、その範囲70よりも低いときには青色(図中では斜め格子ハッチ)で表示される。
【0034】
前述したように、キャラクタが球を打撃したときに、球の高さが範囲70にあったときは、打撃制御部42は、着地点の奥行き方向のぶれ幅を0とする。キャラクタが球を打撃したときに、球の高さが範囲70よりも高かったときは、打撃制御部42は着地点を狙ったターゲットよりも奥へずらす。キャラクタが球を打撃したときに、球の高さが範囲70よりも低かったときは、打撃制御部42は着地点を狙ったターゲットよりも手前へずらす。打撃ボタン26が入力されたときに、球の高さが、キャラクタが打撃可能な範囲になかったときは、空振りとする。
【0035】
図4は、高さ表示制御部44により軌跡が表示された様子を示す図である。球71の後方に軌跡72が表示されており、球の高さに応じて着色されている。図4では、異なるハッチをつけることにより、表示色が異なることを表現している。従来、球技のゲームにおいて、球の影の大きさなどで球の高さを表現する手法があったが、それだけでは高さが分かりづらく、ロブを打たれたときの打撃の難易度をいたずらに高くしていた。軌跡の色により高さを表現することで、ユーザが球を打撃するタイミングをつかみやすく、影により球の高さを読み取るコツをつかんでいないユーザであっても、タイミングをつかみやすい。これにより、ゲームの勝敗が、高さを読み取るという本来のテニスゲームとは直接関連のない技量により支配されてしまう事態を低減し、テニス本来の戦略性を重視したゲームを実現することができる。高さ表示制御部44は、キャラクタが球を打撃したときの球の高さに応じて、打撃音を変えてもよい。
【0036】
球種表示制御部45は、キャラクタのショットの球種を示す情報を識別可能に画面に提示するための制御を行う。現実のテニスにおいては、相手の打撃フォームや、球の飛び方などを目視して球種を判断するが、球の飛び方の微妙な違いを2次元の表示画面上で表現することは難しい。したがって、球種表示制御部45は、キャラクタが球を打撃したとき、又は打撃された球が飛んでいるときに、打撃点又は球の近傍に球種を示すエフェクトを表示する。例えば、コントローラ20の打撃ボタン26に記されたものと同じ色及び形状の図形を表示する。
【0037】
図5は、球種表示制御部45により球種が表示された様子を示す図である。ユーザが○ボタン22によりトップスピンショットを打ったときには赤色の○が、×ボタン23によりスライスショットを打ったときには青色の×が、□ボタン24によりフラットショットを打ったときには紫色の□が、△ボタン25によりロブショットを打ったときには緑色の△が、球の近傍に表示される。このように、球種表示制御部45は、ユーザが打撃を指示する操作に用いたボタンに記された図形や文字など、ボタンの種別を識別可能な情報を表示することにより、ショットの球種を提示する。図5の例では、スライスショットであることを示す青色の×73が球の近傍に表示されている。これにより、ユーザは、相手が球を打撃した直後に、その球種を判断し、それに合わせてキャラクタを移動させることができる。また、見た目に楽しく、派手なエフェクトを表示することにより、ゲームの娯楽性を高めることができる。球種表示制御部45は、球種に応じて打撃音を変えてもよい。例えば、音の高低で打撃のタイミングの良否を表現し、音の長短で球種を表現してもよい。また、打撃直後の音でタイミングを表現し、球が飛行しているときの音で球種や高低を表現してもよい。球種表示制御部45は、打撃した球の球威に応じて、球種を示すために表示される図形のサイズを変化させてもよい。例えば、球威の高い球を返球したときには、通常よりも大きな図形を表示してもよい。また、打撃音を大きくしてもよい。これにより、ユーザは、相手が打撃した球の球威の高低を知ることができる。前述のように打撃制御部42が、打撃のタイミングなどが通常の返球が可能な範囲にないと判定し、打撃ボタン26で決定される球種ではなく相手に有利な球種を自動的に選択した場合、球種表示制御部45は、ミスショットとしてこの打撃による球種情報を表示しないようにしてもよく、または打撃制御部42が自動的に選択した球種に応じて図形を表示してもよい。なお、図5には、打撃のタイミングを示すマーク74も表示されている。
【0038】
ターゲット表示制御部48は、キャラクタが球を打撃したときに、打った方向をユーザが事前に知ることができるようにするために、ターゲットの位置を示すエフェクトを表示する。図6は、ターゲット表示制御部48が、ターゲットの位置を示す図形を表示した様子を示す。画面上方のキャラクタが球を打撃したときに、ユーザによる方向キー21又はアナログスティック27の操作により、又は、AI制御部43の指示により、ターゲットが移動されると、ターゲット表示制御部48は、上述したように、コートを縦3×横3の9のエリアに分割し、ユーザの操作またはAI制御部43の指示により指定された方向に位置するエリアを特定し、そのエリアにターゲットの位置を示す図形75を表示する。たとえば、図形75は、特定されたエリアの中央の位置に表示されてもよい。ユーザの操作またはAI制御部43の指示がなく、ターゲットが移動されない場合、ターゲットは相手コートのほぼ中央に設定されるため、ターゲット表示制御部48は、コート中央のエリアを特定して、そのエリアにターゲットの位置を示す図形75を表示する。図形75が表示された位置は、必ずしも球の着地点と一致しなくてもよい。図形75は、ターゲットがいずれの方向に移動されて設定されているのか、すなわち、いずれの方向を狙って球が打撃されたのかを示すために表示される。実際の球の着地点は、前述したように、球を打撃したときのタイミングなどに応じてターゲットからずれることがある。ユーザは、図形75の表示位置により、相手のキャラクタが球を打撃したときに、球のおおよその飛行方向を把握することができるが、必ずしも着地点とは一致しないので、実際の着地点に合わせてキャラクタを移動させて球を打撃する必要がある。これにより、ゲームの難易度を適度に調整し、ゲームの娯楽性を向上させることができる。
【0039】
サーブ制御部46は、サーブの実行を制御する。サーブ制御部46は、ユーザによる2回の打撃ボタン26の操作入力により、ユーザが操作するキャラクタのサーブを実行する。サーブ制御部46は、サーブを打つ前に方向キー21の右又は左方向の入力を受け付けると、キャラクタがサーブを打つ位置を左右に移動させる。サーブ制御部46は、1回目の打撃ボタン26の入力を受け付けると、キャラクタがトスを投げる動作を実行させ、2回目の打撃ボタン26の入力を受け付けると、キャラクタがサーブを打つ動作を実行させる。
【0040】
サーブ制御部46は、1回目の操作入力の打撃ボタン26の種別に応じて、サーブの球威又は球速を決定する。例えば、□ボタン24が入力された場合は球威又は球速を高くし、×ボタン23が入力された場合は球威又は球速を低くする。また、△ボタン25が入力された場合はアンダーサーブを選択し、○ボタン22が入力された場合は球威又は球速を自動選択する。○ボタン22が入力されたとき、ファーストサーブの場合は球威又は球速を高くし、セカンドサーブの場合は球威又は球速を低くする。サーブ制御部46は、球威又は球速を高くした場合には、打撃のタイミングがずれたときの狙った着地点からのぶれ幅を大きくしてサーブの精度を低くし、球威又は球速を低くした場合には、ぶれ幅を小さくして精度を高くしてもよい。また、球威を高くするサーブを選択した場合は、球威の低いサーブよりもライン際を狙えるようにしてもよい。
【0041】
サーブ制御部46は、2回目の操作入力の打撃ボタン26の種別に応じて、サーブの球種を決定する。球種は、ラリー中の打撃と同様に、○ボタン22が入力された場合はトップスピン、×ボタン23の場合はスライス、□ボタン24の場合フラット、△ボタン25の場合はロブとする。2回目の打撃ボタン26の入力時に、方向キー21が入力された場合は、球の着地点の狙いを入力されたキーの方向へ移動させる。打撃された球の挙動の制御については、打撃制御部42と同様である。
【0042】
図7は、サーブ制御部46による制御の手順を示すフローチャートである。キャラクタがサーブを行う前に、サーブ制御部46は、サーブ回数を示すカウンタを1に初期化しておく(S10)。つづいて、ユーザによる打撃ボタン26の入力を待機し、打撃ボタン26のいずれかの入力を受け付けると(S12)、キャラクタがトスを投げる動作を実行させる(S14)。ユーザが入力した打撃ボタン26の種別が、球威を自動設定するための○ボタン22以外のボタンであった場合は(S16のN)、ボタン種別に応じてサーブの球威と精度を設定する(S20)。○ボタン22であった場合は(S16のY)、サーブ回数カウンタを参照し、ファーストサーブであった場合は(S18のY)、球威を高めに精度を低めに設定し(S22)、セカンドサーブであった場合は(S18のN)、球威を低めに精度を高めに設定する(S24)。
【0043】
トスが上がっている間に、ユーザによる2回目の打撃ボタン26の入力を受け付けると(S26)、キャラクタがサーブを打つ動作を実行させる(S28)。このとき、ユーザが入力した打撃ボタン26の種別に応じて、サーブの球種を設定する(S30)。ここで、2回目の打撃ボタン26の入力タイミングに基づいて、S20、S22、又はS24で定めた球威又は精度のパラメータを補正してもよい。さらに、打球の軌跡と着地点を算出し、サーブの成否を判定する(S32)。サーブがレットであった場合は(S34のY)、再度ファーストサーブを行うためにS12へ戻る。サーブがレットではなく(S34のN)、フォールトであった場合は(S36のY)、サーブ回数カウンタを1増やし(S38)、1回目のフォールトであった場合は(S40のN)、セカンドサーブを行うためにS12へ戻る。ダブルフォールトであった場合は(S40のY)、レシーバーのポイントとして(S42)、サーブを終了する。サーブがレットでもなくフォールトでもなかった場合は(S36のN)、打撃制御部42に制御がうつり、ラリーが実行される(S44)。
【0044】
このように、ファーストサーブであっても、球威を落とし、正確性を重視したサーブを打つことができるし、逆に、セカンドサーブであっても、精度と引き替えに球威を強くしたサーブを打つことができる。これにより、戦略の自由度が増し、競技において重要な位置を占めるサーブの駆け引きをより一層楽しむことができる。
【0045】
なお、上記の例では、1回目の操作入力で球速又は球威を決定し、2回目の操作入力で球種を決定したが、その逆であってもよいし、3回以上の操作入力でサーブが行われてもよい。また、打撃ボタン26の種別により球速、球威、球種を決定したが、ボタンの押し方、複数のボタンの組合せなどにより球種などを決定してもよい。
【0046】
パワー制御部47は、キャラクタが静止しているときに、キャラクタのパワーを示すパラメータを増加させ、パラメータが所定の値に達した状態でキャラクタが球を打撃すると、通常の打撃よりも球速、球威、又は精度を高くするように制御する。また、通常の打撃では狙うことができないようなライン際の位置を狙って打撃することができるようにしてもよい。パワー制御部47は、キャラクタが移動を開始したときに、パラメータをゼロにリセットしてもよい。パワー制御部47は、キャラクタが移動を開始しても、所定の距離、例えば50cmの範囲内にいるときには、蓄積されていたパラメータを保持し続けるようにしてもよい。パワーを示すパラメータの値に応じてレベルが設定され、レベルに応じて球速、球威、精度などが決定されてもよい。
【0047】
図8は、パワー制御部47による制御の手順を示すフローチャートである。パワー制御部47は、サーブが行われた後、それぞれのキャラクタのパワーをいったん0に初期化する(S50)。その後、パワーが最大値に達していなければ(S52のN)、パワーをインクリメントする(S54)。パワーが最大値に達していれば(S52のY)、パワーをインクリメントする処理をスキップし、それ以上パワーを増加させない。キャラクタの位置が所定距離の範囲内にある間は(S56のN)、キャラクタが打撃を実行するまで(S60のN)、以上の処理が繰り返され、パワーが蓄積されていく。このループは、所定の時間間隔で行われる。キャラクタが所定距離以上移動すれば(S56のY)、パワーを初期化する(S58)。キャラクタが球を打撃すると(S60のY)、そのときに蓄積されているパワーが適用されて、球速、球威、精度などが設定される。
【0048】
このように、現実のテニス競技と同様に、ユーザが相手の打球を予測し、球を打撃すべき位置にキャラクタを早く移動させて、その場所で体勢を整えてから打つと、球速、球威、精度などが向上するようなシステムとする。また、予測した位置から外れた位置に球が飛んだ場合には、パワーを捨てて正しい位置へ移動してからショットするか、多少のずれがあってもパワーを維持したままショットするかをユーザが選択することになり、新しい戦略性が生まれる。これにより、テニス本来の戦略や駆け引きの面白さを十分に楽しむことができるようなゲームを実現することができる。
【0049】
なお、上記の例では、キャラクタが静止している時間に応じてパワーを示すパラメータを増加させたが、ユーザが所定のボタンを押下している時間に応じてパラメータを増加させてもよい。例えば、ユーザが打撃ボタン26を押下している間はパラメータを増加させ、打撃ボタン26を離したときに、そのときのパラメータが採用されて打撃が実行されるようにしてもよい。
【0050】
音声処理部62は、キャラクタが球を打撃する音、球が飛行する音、その他の効果音などを生成してスピーカ64に出力させる。音声処理部62は、音源から発生する音に基づいて2次元又は3次元の音場を算出し、所定位置にマイクを設定して、その場所において聞こえる音を算出する。音声処理部62は、音響効果の臨場感を増幅させ、より効果的な音響効果を実現させるために、画像処理部66におけるカメラの設定位置に応じてマイクの設定位置を変化させる。例えば、球が左から右へ移動するときの音を表現する際に、球の軌道に対して10mの位置にマイクを配置する場合と、1mの位置にマイクを配置する場合とでは、音の移動量が異なる。したがって、カメラの位置をコートに近づけたときには、マイクの位置も同様にコートに近づけることで、臨場感をより高めることができる。このように、マイクの位置を動的に設定することで、音の動的な移動を効果的に制御することができる。
【0051】
コントローラ制御部49は、複数のコントローラ20を利用してゲームを行う際に、ユーザが自身のコントローラ20により操作される操作対象を容易に識別できるようにするための制御を行う。図9は、複数のコントローラ20a、20b、20c、20dがゲーム装置10に接続された様子を示す。ゲーム装置10の本体に設けられたコントローラを接続するための複数のポート32a、32b、32c、32dのそれぞれに、コントローラ20a、20b、20c、20dが接続されている。複数のコントローラ20a〜20dからの操作入力を受け付けてテニスのダブルスゲームを制御する制御部40は、ポート32aに接続されたコントローラ20aの操作対象をプレイヤー1Pとし、ポート32b、32c、32dに接続されたコントローラ20b、20c、20dの操作対象を、それぞれプレイヤー2P、3P、4Pとする。
【0052】
制御部40がダブルスの対戦ゲームを開始する際に、図9に示したような画面を表示し、プレイヤーの組合せの指定を受け付ける。このとき、ユーザは、自分が所持しているコントローラの操作対象がいずれのプレイヤーであるのかを確認しなければならない。自身のコントローラがいずれのポートに接続されているのかを確認すれば、自身の操作対象がプレイヤー1Pなのか、2P、3P、4Pなのかを確認することができるが、配線をたどって確認するのは不便である。そこで、コントローラ制御部49は、コントローラから、そのコントローラの操作対象の識別を要求する操作入力を受け付けたときに、そのコントローラの操作対象を表示装置68の画面に識別可能に表示するとともに、そのコントローラを振動させたり発光させたりして、コントローラと操作対象の対応をユーザが認識可能とする。例えば、コントローラ20dを所持するユーザが、アナログスティック27dを上方向に倒すと、コントローラ制御部49はその操作入力を受け付けて、コントローラ20dの操作対象であるプレイヤー4Pのアイコンを他のプレイヤーのアイコンとは異なる表示形式で強調表示するとともに、コントローラ20dに制御信号を発して、コントローラ20dを振動させる。これにより、ユーザは、自身の所持するコントローラ20dの操作対象がプレイヤー4Pであることを容易に知ることができる。
【0053】
図10は、複数のコントローラ20a、20b、20c、20dがゲーム装置10に接続された様子を示す。図10に示した例では、コントローラ20dを所持するユーザが、アナログスティック27dを下方向に倒すと、コントローラ制御部49はその操作入力を受け付けて、まず、図9に示した例と同様に、コントローラ20dの操作対象であるプレイヤー4Pのアイコンを他のプレイヤーのアイコンとは異なる表示形式で強調表示するとともに、コントローラ20dに制御信号を発して、コントローラ20dを振動させる。さらに、コントローラ制御部49は、プレイヤー4Pとダブルスで組んでいる味方のプレイヤー3Pのアイコンを他のプレイヤーのアイコンとは異なる表示形式で強調表示するとともに、プレイヤー3Pを操作するコントローラ20cに制御信号を発して、コントローラ20cを振動させる。これにより、ユーザは、自身の所持するコントローラ20dの操作対象がプレイヤー4Pであることを知ることができるとともに、ダブルスでパートナーを組むことになるプレイヤー3Pを操作するユーザが誰なのかを容易に知ることができる。
【0054】
以上説明したように、本実施の形態のテニスゲームにおいては、瞬発的な判断や操作を重視するのではなく、球速を抑えることにより、ユーザがいろいろな情報を判断して戦略を考える時間を多くとっている。そして、球種や高さなどの情報を分かりやすく提示することにより、狙ったところに球を打ち返したり、球種を変化させたりといった、戦略性を重視したゲームを実現することができる。
【0055】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【図面の簡単な説明】
【0056】
【図1】実施の形態に係るゲーム装置の構成を示す図である。
【図2】コントローラの外観を示す図である。
【図3】球の高さと軌跡の表示色との関係を示す図である。
【図4】高さ表示制御部により軌跡が表示された様子を示す図である。
【図5】球種表示制御部により球種が表示された様子を示す図である。
【図6】ターゲット表示制御部によりターゲットの位置を示す図形が表示された様子を示す図である。
【図7】サーブ制御部による制御の手順を示すフローチャートである。
【図8】パワー制御部による制御の手順を示すフローチャートである。
【図9】複数のコントローラがゲーム装置に接続された様子を示す図である。
【図10】複数のコントローラがゲーム装置に接続された様子を示す図である。
【符号の説明】
【0057】
10 ゲーム装置、20 コントローラ、21 方向キー、22 ○ボタン、23 ×ボタン、24 □ボタン、25 △ボタン、26 打撃ボタン、30 入力部、40 制御部、41 移動制御部、42 打撃制御部、43 AI制御部、44 高さ表示制御部、45 球種表示制御部、46 サーブ制御部、47 パワー制御部、48 ターゲット表示制御部、49 コントローラ制御部、60 パラメータ保持部、62 音声処理部、64 スピーカ、66 画像処理部、68 表示装置。

【特許請求の範囲】
【請求項1】
ユーザが操作するキャラクタと、対戦相手のキャラクタとが、球を打ち合って対戦する球技を行うゲームを制御するプログラムであって、
ユーザの操作入力を受け付け、その操作入力の内容に応じて、前記キャラクタが球を打撃するタイミング及び球種を決定する機能と、
前記打撃したときのタイミング、球の高さ、前記キャラクタの体勢、前記キャラクタの位置、前記キャラクタと球との間の距離、又は前記キャラクタの運動能力を示すパラメータが、通常の打撃が可能な所定の範囲から外れている場合、前記決定する機能により決定された球種から異なる球種に変更する機能と、
前記球種に応じて、打撃された球の弾道を算出し、飛んでいる球を画面に表示する機能と、
をコンピュータに実現させることを特徴とするゲーム制御プログラム。
【請求項2】
前記変更する機能は、前記対戦相手が有利となる球種に変更することを特徴とする請求項1に記載のゲーム制御プログラム。
【請求項3】
ユーザが操作するキャラクタと、対戦相手のキャラクタとが、球を打ち合って対戦する球技を行うゲームを制御するプログラムであって、
ユーザの操作入力を受け付け、その操作入力の内容に応じて、前記キャラクタが球を打撃するタイミング及び球種を決定する機能と、
前記打撃したときのタイミング、球の高さ、前記キャラクタの体勢、前記キャラクタの位置、前記キャラクタと球との間の距離、又は前記キャラクタの運動能力を示すパラメータが、通常の打撃が可能な所定の範囲から外れている場合、前記決定する機能により決定された球種から異なる球種に変更する機能と、
前記球種に応じて、打撃された球の弾道を算出し、飛んでいる球を画面に表示する機能と、
をコンピュータに実現させることを特徴とするゲーム制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項4】
ユーザが操作するキャラクタと、対戦相手のキャラクタとが、球を打ち合って対戦する球技を行うゲームを制御するゲーム制御方法であって、
ユーザの操作入力を受け付け、その操作入力の内容に応じて、前記キャラクタが球を打撃するタイミング及び球種を決定するステップと、
前記打撃したときのタイミング、球の高さ、前記キャラクタの体勢、前記キャラクタの位置、前記キャラクタと球との間の距離、又は前記キャラクタの運動能力を示すパラメータが、通常の打撃が可能な所定の範囲から外れている場合、前記決定するステップにより決定された球種から異なる球種に変更するステップと、
前記球種に応じて、打撃された球の弾道を算出し、飛んでいる球を画面に表示するステップと、
を含むことを特徴とするゲーム制御方法。
【請求項5】
ユーザが操作するキャラクタと、対戦相手のキャラクタとが、球を打ち合って対戦する球技を行うゲームを制御するゲーム装置であって、
ユーザの操作入力を受け付け、その操作入力の内容に応じて、前記キャラクタが球を打撃するタイミング及び球種を決定する手段と、
前記打撃したときのタイミング、球の高さ、前記キャラクタの体勢、前記キャラクタの位置、前記キャラクタと球との間の距離、又は前記キャラクタの運動能力を示すパラメータが、通常の打撃が可能な所定の範囲から外れている場合、前記決定する手段により決定された球種から異なる球種に変更する手段と、
前記球種に応じて、打撃された球の弾道を算出し、飛んでいる球を画面に表示する手段と、
を備えることを特徴とするゲーム装置。
【請求項6】
複数のコントローラと、
前記複数のコントローラからの指示入力を受け付けてゲームを実行する制御部と、
前記複数のコントローラにより操作される複数の操作対象を表示しているときに、いずれかのコントローラから所定の操作入力を受け付けると、前記複数の操作対象のうち操作入力を受け付けたコントローラにより操作される操作対象を他の操作対象とは異なる表示形式で表示させるとともに、そのコントローラに制御信号を発してコントローラを振動又は発光させるコントローラ制御部と、
を備えることを特徴とするゲーム装置。
【請求項7】
前記コントローラ制御部は、いずれかのコントローラから所定の操作入力を受け付けると、前記複数の操作対象のうち操作入力を受け付けたコントローラにより操作される操作対象及びその操作対象の味方の操作対象を他の操作対象とは異なる表示形式で表示させるとともに、操作入力を受け付けたコントローラ及び前記味方の操作対象を操作するコントローラに制御信号を発してそれらのコントローラを振動又は発光させることを特徴とする請求項6に記載のゲーム装置。
【請求項8】
複数のコントローラからの指示入力を受け付けてゲームを制御するプログラムであって、
前記複数のコントローラにより操作される複数の操作対象を表示しているときに、いずれかのコントローラから所定の操作入力を受け付けると、前記複数の操作対象のうち操作入力を受け付けたコントローラにより操作される操作対象を他の操作対象とは異なる表示形式で表示させるとともに、そのコントローラに制御信号を発してコントローラを振動又は発光させる機能を、コンピュータに実現させることを特徴とするゲーム制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate