説明

プログラム、情報記憶媒体及びゲーム装置

【課題】画面上では小さな表示物であっても適当なヒットが出る衝突判定をさせること。少ない演算処理でよりリアルな衝突後の処理をさせること。
【解決手段】衝突判定の対象となるオブジェクト(バットT)に付随する衝突判定領域Aを設定し、バットTの代りにより単純な形状の衝突判定領域AとボールBとの間で衝突判定を行う。衝突判定領域Aは、複数のサブ領域(フライ領域F、ヒット領域H、ゴロ領域G)から構成され、サブ領域毎に衝突後の処理にあたる打球の条件が設定される。設定内容は、衝突判定領域AをバットTに見立てた場合に、サブ領域の位置における実際の打球の状態に則したものとする。したがって、少ない演算処理でより現実感ある打球を作り出すことができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータに所与のゲームを実行させるためのプログラム等に関する
【背景技術】
【0002】
ゲームの進行に重要な要素として衝突判定処理と衝突後の処理がある。衝突判定処理とは、オブジェクトとオブジェクトがゲーム空間内で互いに接触したかどうかを判定する処理のことである。衝突後の処理とは、例えは、オブジェクトの運動の状態やパラメータの変更、ゲーム処理の分岐などである。
【0003】
野球ゲームにおけるバットとボールの関係を例にすると、従来の衝突判定では、例えば、ストライク・コースヘボールが投球されてから、スイング操作の入力がされるまでの時間差が、所与の範囲に入っているか否かで判断された。そして、衝突判定後の処理、即ち打球については、飛距離はバッターのバッティングのパラメータ(例えば、長打力、打率など)と球速の組み合わせと乱数から決定し、打球の種類(例えば、ゴロ、フライ、シングルヒット、ホームランなど)および打球の上下・左右方向も乱数で決定されていた。
【0004】
こうした乱数を主とした処理は、打球の種類等は運まかせで、出たとこ勝負的であるが、ゲーム装置の演算処理が少なくて済み、且つ、少ないパラメータしか衝突判定に影響しないので、ヒットの出易さといった重要なゲームバランスの調整が容易に行えるメリットがあった。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平7−271982号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところが、最近のゲームでは、ゲーム装置の処理能力の向上とともに、よりリアルな表現が求められる傾向にあり、野球ゲームにおいても、よりリアルなキャラクタと、より高い現実感の有る打球処理が求められている。即ち、衝突後の処理において、あたかも実際のバッティングのように、スイングのタイミング次第で右打左打が可能となり、またバットの芯を捕らえれば長打が出るのが実感できるように、打球の方向や距離なども種々のバリエーションを備えることが求められている。
【0007】
しかしながら、リアルな表現を求め、リアルに選手を表示するとそれに伴って、ボールやバットはゲーム画面上では小さく、細く表示されてしまう。その為、プレーヤにとってみれば、細いバットを小さなボールに当てることになり、安打を出すことがきわめて難しくなる問題がある。
また、打球の決定に関しても、オブジェクト間の衝突演算、即ちバットとボールのよりリアルな物理演算(物理法則のシミュレーション)を行うと、衝突判定の計算要素に多くのパラメータが含まれるために、ゲームバランスをとる作業が難しくなるという問題がある。
【0008】
本発明は、上記課題に鑑みてなされたものであり、その目的とするところは、画面上では小さな表示物であっても適当なヒットが出る衝突判定をさせることと、少ない演算処理でよりリアルな衝突後の処理をさせることである。
【課題を解決するための手段】
【0009】
以上の課題を解決するための第1の発明は、プロセッサによる演算・制御により、装置に対して、所与の野球ゲームを実行させるためのゲーム情報であって、バットのスイング位置を入力する入力手段(例えば、図7のゲーム演算部220、バット情報431)と、前記バットの仮想幅情報を設定する設定手段(例えば、図7の判定領域設定部222、判定領域情報442)と、少なくとも、前記スイング位置と、前記仮想幅情報と、ボールの軌道とに基づいて、バットをボールとの衝突を判定する判定手段(例えば、図7のゲーム演算部220)と、を前記装置に機能させるための情報(例えば、図7のゲーム情報420、判定領域設定プログラム421)を含むゲーム情報である。
【0010】
また、第3の発明は、プロセッサによる演算・制御により、装置に対して、打具を用いる所与の球技ゲームを実行させるためのゲーム情報であって、打具の仮想幅情報を設定する設定手段(例えば、図7の判定領域設定部222、判定領域情報442)と、少なくとも、前記仮想幅情報と、ボールの軌道とに基づいて、打具とボールとの衝突を判定する判定手段(例えば、図7のゲーム演算部220)と、を前記装置に機能させるための情報(例えば、図7のゲーム情報420、判定領域設定プログラム421)を含むゲーム情報である。
【0011】
また、第18の発明は、所与の野球ゲームを実行するゲーム装置であって、バットのスイング位置を入力する入力手段と、前記バットの仮想幅情報を設定する設定手段と、少なくとも、前記スイング位置と、前記仮想幅情報と、ボールの軌道とに基づいて、バットとボールとの衝突を判定する判定手段と、を備えるゲーム装置である。
【0012】
第1、第3、第18の発明によれば、打具であるバットは、内部情報としてゲーム画面上に見ることができる見かけ上の幅よりも大きな仮想の幅を有し、衝突判定では見かけよりも太いバットとボールとの間で衝突判定が行なわれる。
【0013】
具体的には、例えば、前記設定手段が、バットの直径方向および軸方向の幅に対して所与の倍率に基づいて仮想の幅情報を設定する。所与の倍率は、例えば、バッティングのモード(例えば、バント、バスター、フルスイングなど)、選手ごとに設定された打率、巧打力、コースの好み(例えば、外角を得意とするが内角が苦手など)などのパラメータ、またはゲーム難易度などに応じて適宜選択される。例えば、外角を好む設定の選手の場合、外角に構えた場合の倍率は大きく設定し、苦手な内角に構えたときの倍率は小さく設定する。同様に、コースの高め低めの好みに対応して、スイングの高さに応じて倍率を設定しても良い。
【0014】
ゲームプレーにおいて、プレーヤは、先ず投球コースを予測して、ゲーム・コントローラ等の入力手段でスイング位置を決定する。スイング位置とは、例えば、バッターボックス内のバッターの立ち位置(外角に構えるが内角に構えるかに当る)やスイングの高さなどである。バッターボックス内の立ち位置が変化しない場合は、バッターの移動が無く、構えの左右情報を設定するとしても良い。スイング位置の情報に基づいてバットの位置情報が決定される。そして、プレーヤは、投球されるゲーム画面を見てゲーム・コントローラ等でスイングのタイミングを入力する。
【0015】
投球されたボールは、投球時に球種、初速度、投球位置、目標位置等が決定されているのでボールの軌道(コース)が求められる。軌道から所与のフレームにおいてボールがどの位置に到達しているか(位置)を求め、例えば、バットとの距離が所定の間隔以下で有る場合、衝突があったと判定される。
【0016】
ここで、前述のごとく前記仮想幅情報を持った見かけより太いバットとボールとの間で衝突判定が行われることによって、プレーヤは、ゲーム画面でリアルな形状をした選手キャラクタが細いバットをスイングする場合であっても、軽快に安打を放ち、ゲームを進行させることができる。
【0017】
尚、前記仮想幅情報は、バットと相似形の寸法を規定する必要はなく、例えば、四角柱や、四角形平板状の形状をした仮想のバットの寸法を規定するとしても良い。即ち、バットを略円柱の形状ではなく、便宜上、角材状あるいは団扇状の形状とみなすことで、少ない演算処理で衝突判定と、衝突位置の割り出しができる。また、打具は、バットに限らず、例えば、ラケットなど他の球技スポーツのアイテムであっても良い。また、ゲーム難易度によっては、スイング位置が固定されていてもかまわない。
【0018】
或いは、第5の発明として、プロセッサによる演算・制御により、装置に対して、所与の野球ゲームを実行させるためのゲーム情報であって、バットのスイング位置を入力する入力手段と、前記スイング位置に基づいて衝突判定領域を設定する設定手段(例えば、図7の判定領域設定部222、判定領域情報442、安打傾向データ464)と、少なくとも、前記衝突判定領域と、ボールの軌道とに基づいて、バットとボールとの衝突を判定する判定手段(例えば、図7のゲーム演算部220)と、を前記装置に機能させるための情報を含むゲーム情報を構成することとしても良い。
【0019】
または、第7の発明として、プロセッサによる演算・制御により、装置に対して、所与の視点から見た仮想空間の画像を生成して所与のゲームを実行させるためのゲーム情報であって、第1オブジェクトの移動目標位置を入力する入力手段(例えば、図7のゲーム演算部220、バット情報431)と、前記移動目標位置に基づいて衝突判定領域を設定する設定手段(例えば、図7の判定領域設定部222と、判定領域情報442、安打傾向データ464)と、少なくとも前記衝突判定領域に基づいて第1オブジェクトと第2オブジェクトとの衝突を判定する判定手段(例えば、図7のゲーム演算部220)と、を前記装置に機能させるための情報を含むゲーム情報を構成することとしても良い。
【0020】
または、第8の発明として、プロセッサによる演算・制御により、装置に対して、所与の操作入力がなされた後、仮想空間内における第1オブジェクトと第2オブジェクトの少なくとも一方の移動を自動的に制御させるためのゲーム情報であって、前記操作入力に基づいて衝突判定領域を設定する設定手段と、少なくとも、前記衝突判定領域と、第1オブジェクトの軌道と、第2オブジェクトとの軌道とに基づいて、第1オブジェクトと第2オブジェクトとの衝突を判定する判定手段と、を前記装置に機能させるための情報を含むゲーム情報を構成することとしても良い。
【0021】
さらに、または、第19の発明として、所与の視点から見た仮想空間の画像を生成して所与のゲームを実行するゲーム装置であって、第1オブジェクトの移動目標位置を入力する入力手段と、前記移動目標位置に基づいて衝突判定領域を設定する設定手段と、少なくとも前記衝突判定領域に基づいて第1オブジェクトと第2オブジェクトとの衝突を判定する判定手段と、を備えるゲーム装置を構成することとしても良い。
【0022】
または、第20の発明として、所与の操作入力がなされた後、仮想空間内における第1オブジェクトと第2オブジェクトの少なくとも一方の移動を自動的に制御するゲーム装置であって、前記操作入力に基づいて衝突判定領域を設定する設定手段と、少なくとも、前記衝突判定領域と、第1オブジェクトの軌道と、第2オブジェクトの軌道とに基づいて、第1オブジェクトと第2オブジェクトとの衝突を判定する判定手段と、を備えるゲーム装置を構成することとしても良い。
【0023】
第5、第7、第19の発明によれば、オブジェクトの移動目標位置、即ちバットのスイング位置に基づいて、バットとは別に衝突判定領域が設けられる。また、第8、第20の発明によれば、オブジェクトの移動先や移動中の条件の選択などの操作入力に基づいても、同様に衝突判定領域が設けられる。
この際、バットの幅よりも大きく衝突判定領域を設けることで、第1、第3、第18の何れかの発明と同様の効果を奏することができる。即ち、プレーヤは、ゲーム画面でリアルな形状をした選手キャラクタが細いバットをスイングする場合であっても、判定処理の上では太いバットをスイングするのと同意であり、軽快に安打を放ちゲームを進行させることができる。
【0024】
また、スイング位置や操作入力に応じて衝突判定領域の大きさ等を変化するように設定することで、より現実に近いリアルな結果を生み出すことができる。例えば、バッターの特性に応じて、内角が苦手なならば内角に構えたときには、判定領域を小さく設定し、反対に得意ならば大きく設定する。同様に、内角に向かってくるボールに対しては小さく設定し、外角に向かってくるボールに対しては大きく設定する。
【0025】
衝突判定領域の設置に関しては、第9の発明として、第7又は第8の発明において、前記設定手段が、前記衝突判定領域を第1オブジェクト及び/又は第2オブジェクトに付随して設定するための情報(例えば、図7のバット情報431と、判定領域初期設定441と、判定領域情報442)を含むゲーム情報を構成することとしても良い。
【0026】
第9の発明によれば、第7又は第8の発明と同様の効果を奏するとともに、前記衝突判定領域をオブジェクトに付随させ、衝突判定領域をオブジェクトとともに移動させることができる。従って、例えば、衝突判定領域を野球ゲームのバットに設定する場合、バットのピッチャー方向を向いた面に、密着或いは所定の位置関係を維持する様に設定するならば、プレーヤがスイング途中でスイング方向を変化させる操作をしても、判定領域はバットとともに移動し、正しく衝突判定をすることができる。
【0027】
或いは、第10の発明として、第7又は第8の発明において、前記設定手段が、前記衝突判定領域を第1オブジェクト又は第2オブジェクトの軌道上に設定するための情報(例えば、図7のバット情報431と、判定領域初期設定441と、判定領域情報442)を含むゲーム情報を構成することとしても良い。
【0028】
第10の発明によれば、第7又は第8の発明と同様の効果を奏するとともに、オブジェクトの予測される移動軌道上の所与の位置、例えば、野球ゲームであればホームベースの周囲に衝突判定領域を設定する。この場合、衝突判定領域が固定なので、ボールの軌道(コース)と判定領域の交差の有無から、事前に衝突の可能性を知ることができる。従って、例えば、フレームごとにバットとボールの位置座標を計算・更新して、そのたびに衝突判定することなく、スイングのタイミングを判定するだけで、衝突判定をすることができる。
【0029】
衝突時の表示に関しては、第11の発明として、第7〜第10の何れかの発明において、前記判定手段により衝突と判定された場合に、第1オブジェクトと第2オブジェクトが衝突するように、第1オブジェクト及び/又は第2オブジェクトの軌道を補正する補正手段(例えば、図7の衝突位置補正部242)を前記装置に機能させるための情報(例えば、図7の衝突位置補正プログラム425)を含むゲーム情報を構成することとしても良い。
【0030】
第11の発明によれば、第7〜第10の何れかの発明と同様の効果を奏するとともに、衝突判定の処理上は衝突していると判定されるが、オブジェクト同士が距離が離れていて、ゲーム画面上では、オブジェクト同士が離れ見える場合、軌道を修正して衝突するように補正を行う。
【0031】
例えば、野球ゲームの場合、バットよりも衝突判定領域の寸法が大きく設定されるので、ゲーム画面でバットに当りもしないのにヒットが出ることになる。そこで、例えば、ボールの衝突時の位置座標(中心位置)とバットの軸との距離が、ボールの半径とバットの半径の和より大きい場合に、ボールとバットの少なくとも何れか一方の軌道を先の条件を満たすように変更して、ゲーム画面に表示する。即ち、ボールの軌道を曲げる(変更する)か、例えば、バットのスイングモーションデータ等に補正をして表示する。
尚、スイングや打球のスピードの速い場合に、少々のボールとバットが離れていても瞬時のことなので認識されないとみなすならば、適宜本機能をスキップするとしても良いのは勿論である。
【0032】
また衝突後の処理に関しては、第12の発明として、第7〜第11の何れかの発明において、前記判定手段により衝突と判定された場合、衝突位置に応じて衝突後の処理を決定する決定手段(例えば、図7の打球決定部224、ボール情報432、判定領域情報442)を前記装置に機能させるための情報(例えば、図7の打球決定プログラム422)を含むゲーム情報を構成することとしても良い。
【0033】
第12の発明によれば、第7〜第11の何れかの発明と同様の効果を奏するとともに、衝突判定領域のどの位置で衝突したか、即ち衝突位置に応じて衝突後の処理の程度を決定する。具体的には、例えば、バットに衝突判定領域が設けられた場合、バットの軸に相当する位置からの距離に従って、所与の関係で打球の上下方向角度を変化させ、上で当たるほど上向きに打球が発生し、より細かく且つリアルな打球を生み出すことができる。
【0034】
また、第13の発明として、第7〜第11の何れかの発明において、前記設定手段が、前記衝突判定領域を1以上の平面領域から構成される略平面な領域(例えば、図4の衝突判定領域A)として設定するための情報(例えば、図7の判定領域初期設定441、判定領域情報442)と、前記判定手段が、何れの平面領域において前記衝突がなされるかを判定するための情報(例えば、図7のボール情報432、判定領域情報442)と、前記判定手段により衝突と判定された平面領域に応じて、第1オブジェクト及び/又は第2オブジェクトの衝突後の処理を決定する決定手段(例えば、図7の打球決定部224)を前記装置に機能させるための情報(例えば、図7の打球決定プログラム422)と、を含むゲーム情報を構成することとしても良い。
【0035】
第13の発明によれば、第7〜第11の何れかの発明と同様の効果を奏するとともに、衝突判定領域を1以上のサブ領域から構成し、各サブ領域それぞれに判定後の処理を予め設定しておいて、どのサブ領域で衝突したかに応じて衝突後の処理を決定する。
【0036】
例えば、野球ゲームにおいてバットとボールの衝突判定を例にするならば、衝突判定領域をバットのオブジェクトに見立て、上方のサブ領域に当ればフライ、下方のサブ領域に当ればゴロと設定しておけば、物理シミュレーション等を必要とせずに、当り所に応じた打球を作り出すことができる。この方法は、特に3次元モデリングが複雑で多数のポリゴンから形成されたオブジェクトに適用した場合により高い効果を発揮するが、これに限定されるものではなく、例えば、ビットマップ表示によるスプライン処理を主体としたゲームであっても、ヒット後の処理を乱数任せでは無く決定することができる。
また、衝突判定領域におけるサブ領域の形状や構成比率等を適宜変更することで、例えば、フライを打ちやすいバッターなど、打球の傾向を生み出すこともできる。
【0037】
また、第14の発明として、第13の発明において、前記判定手段により衝突と判定された場合、衝突と判定された平面領域に応じて衝突後の処理を決定するとともに、当該平面領域における衝突位置に応じて、当該決定した処理の程度を変更するための情報(例えば、ミート補正プログラム423、ミート補正値テーブル461)を含むゲーム情報を構成することとしても良い。
【0038】
第14の発明によれば、第13の発明と同様の効果を奏するとともに、サブ領域内の衝突した位置に応じて、サブ領域に設定されている処理の程度を決定する。
【0039】
具体的には、例えば、野球ゲームの場合、衝突判定領域の中心軸より上方のサブ領域は、バットの上面に近い位置に当ったことに相当する。実際にバットTのほぼ上面に近いほど打球は高く上がり、フライまたはバックネット打球となる。そこで、ボールBが当ったと判定されたならば、当該領域の設定範囲内で、サブ領域内の上下位置に応じて打球の上下方向の角度を、例えば、比例させて決定する。また、例えば、バットの芯に相当する位置(スポット)からの距離に比例させて、打球の速度を補正することで、より細かな飛距離の設定が可能となり、よりリアルな表現をすることができる。
【0040】
また判定領域に関して、更に第15の発明として、第7〜第14の何れかの発明において、前記衝突判定領域を所与の形態で表示する表示手段(例えば、図7の判定領域表示部244)を前記装置に機能させるための情報(例えば、図7の判定領域表示プログラム426)を含むゲーム情報を構成することとしても良い。
【0041】
第15の発明によれば、第7〜第14の何れかの発明と同様の効果を奏するとともに、衝突判定領域をゲーム処理上で利用するだけではなく、積極的にゲーム画面上に表示する。
【0042】
具体的には、例えば、テニスゲームで衝突判定領域をスイング軌跡上の所与の位置に表示するならば、プレーヤは衝突判定領域を照準にみたてて選手を移動させることで、より的確なスイングをさせることができる。また、野球ゲームにおいて、選手の安打傾向(例えば、打ち上げが多い、ゴロが多いなど)のパラメータに応じて、衝突判定領域のサブ領域の構成比率が変化する場合、プレーヤに衝突判定領域の状態を見せることで、プレーヤは、例えばゲーム・コントローラでスイング高さを変えるなどして、打ち方を変えてより安打を出し易くすることができる。
【0043】
このように、衝突判定領域を積極的にゲーム画面に表示して、利用することで、単純にスイングのタイミングをとるだけでなく、いかにヒットさせるかというより高度な楽しみを提供することになる。なお、ゲーム画面上の線表示や面表示、あるいは表示色など表示の形態が適宜変更可能であることは勿論である。
【0044】
更に表示に関しては、第2の発明として、第1の発明において、前記設定手段が、前記入力手段により入力されたスイング位置に基づいて仮想幅情報を設定するための情報(例えば、バット情報431と、安打傾向データ464)と、前記仮想幅情報を所与の形態で表示するとともに、その表示形態を前記入力手段により入力されたスイング位置に応じて変化させる手段(例えば、図7の判定領域設定部222、判定領域表示部244)を前記装置に機能させるための情報(例えば、図7の判定領域設定プログラム421と、判定領域表示プログラム426)と、を含むゲーム情報を構成することとしても良い。
【0045】
同様に、第4の発明として、前記設定手段が、仮想空間内における打具の位置に基づいて仮想幅情報を設定するための情報(例えば、バット情報431と、安打傾向データ464)と、前記仮想幅情報を所与の形態で表示するとともに、その表示形態を打具の位置に応じて変化させる手段を前記装置に機能させるための情報と、を含むゲーム情報を構成することとしても良い。
【0046】
または、第6の発明として、第5の発明において、前記衝突判定領域を所与の形態で表示するとともに、その表示形態を、前記入力手段により入力されたスイング位置に応じて変化させる手段(例えば、図7の判定領域設定部222、判定領域表示部244)を前記装置に機能させるための情報(例えば、図7の判定領域設定プログラム421と、判定領域表示プログラム426)と、を含むゲーム情報を構成することとしても良い。
【0047】
または、第16の発明として、第15の発明において、前記表示手段が、第1オブジェクトまたは第2オブジェクトの仮想空間内の位置に応じて、表示形態を変化させるための情報を含むゲーム情報を構成することとしても良い。
【0048】
第2、第4、第6、第16の発明によれば、プレーヤは常に新しい状態を確認することができる。従って、プレーヤは、そのバッターの安打傾向などを記憶しておく必要はなく、バットをスイングする位置ごとに変化する表示から衝突判定の特性を把握し、ゲームを進めることができる。
【0049】
第17の発明は、第1〜第12の何れかの発明のゲーム情報を記憶する情報記憶媒体である。
【0050】
第17の発明によれば、第1〜第12の何れかの発明のゲーム情報を実行させ、第1〜第12の何れかの発明と同様の効果を奏することができる。
【図面の簡単な説明】
【0051】
【図1】第1の実施形態において、本発明を家庭用ゲーム装置に適用した場合の一例を示す図である。
【図2】野球ゲームのゲーム画面の一例を示す図。
【図3】第1の実施形態における、バットTと衝突判定領域Aの位置関係示し、また打球の上下方向を決定する原理を説明する図。
【図4】第1の実施形態における、衝突判定領域Aの構成を示す平面図。
【図5】第1の実施形態における、打球の左右方向を決定する原理を説明する図。
【図6】第1の実施形態における、ミート補正の概念を説明する図。
【図7】第1の実施形態における、機能の構成を示す機能ブロック図。
【図8】第1の実施形態における、バッター・パラメータ・テーブルの構造の例を示す図。
【図9】第1の実施形態における、ミート補正値テーブルの構造の例を示す図である。
【図10】第1の実施形態における、打球方向補正の概念を説明する図。
【図11】第1の実施形態における、方向補正値テーブルの構造の例を示す図。(a)「ノーマル型」の例。(b)「引っ張り型」の例。第1の実施形態における、衝突判定処理とその分岐の一例を示すフロー図。
【図12】第1の実施形態における、判定領域表示の表示されたゲーム画面の例を示す図。
【図13】第1の実施形態における、衝突判定処理と衝突後の処理を示すメインフローの一例を示すフローチャート。
【図14】第1の実施形態における、判定領域設定処理を示すフローチャート。
【図15】第1の実施形態における、打球決定処理を示すフローチャート。
【図16】第1の実施形態における、ミート補正処理を示すフローチャート。
【図17】第1の実施形態における、打球方向補正処理を示すフローチャート。
【図18】第1の実施形態における、衝突位置補正処理を示すフローチャート。
【図19】第1の実施形態において、巧打力のパラメータによって、衝突判定領域が変更された例を示す図。(a)巧打力の値が小さい例。(b)巧打力の値が大きい例。
【図20】第1の実施形態において、安打傾向のパラメータによって、衝突判定領域が変更された例を示す図。(a)標準に相当する例。(b)外角球の安打傾向の高い例。(c)内角球の安打傾向が低く凡打しやすい例。
【図21】第1の実施形態を実現できるハードウェア構成の一例を示す構成図。
【図22】本発明を業務用ゲームシステムに適用した場合の例を示す図。
【図23】本発明をネットワークシステムに適用した場合の例を示す図。
【図24】第2の実施形態における、テニスゲームのゲーム画面の一例を示す図。
【図25】第2の実施形態における、ラケットと衝突判定領域の位置関係の例を示す図。
【図26】第2の実施形態における、ミート補正値テーブルの構造の例を示す図。
【発明を実施するための形態】
【0052】
[第1の実施形態]
以下、図1〜図23を参照して、本発明の第1の実施形態を説明する。第1の実施形態は、本発明を野球ゲームのバットとボールの衝突判定と打球の処理について適用した例であって、プレーヤがバッターを操作し、ピッチャーをコンピュータ或いは他のプレーヤが操作する条件で説明する。
【0053】
本実施形態では、3次元の仮想空間であるオブジェクト空間内に複数のオブジェクトを配置し、オブジェクト空間内の所与の視点から見える画像を生成するものとして説明するが、本発明が適用されるのはこれに限定されるものではなく、ビットマップ表示等による他の表示形式にも同様に適用される。
【0054】
[構成の説明]
まず、本実施形態における構成を説明する。図1は、本発明を家庭用ゲーム装置1200に適用した場合の一例を示す図である。同図において、プレーヤは、ディスプレイ1202に映し出されたゲーム画像を見ながら、上下左右方向を入力する十字キーや各種のボタン等を備えたゲーム・コントローラ1204、1206を操作して、野球ゲームを楽しむ。この場合、ゲームプログラムや各種の設定データなどのゲームを行うために必要なゲーム情報は、本体装置1210に着脱自在な情報記録媒体であるCD−ROM1212、ICカード1214、メモリカード1216等に収録されている。
【0055】
図2は、野球ゲームのゲーム画面の一例を示す図である。プレーヤは、例えば、ゲーム・コントローラ1204、1206の所定のボタン又はキーを操作して、バッター10のスイング位置を決定する。ここでいうスイング位置とは、スイング動作時にバットTが、ホームベース4上通過する位置であって、例えば、ゲーム・コントローラ1204、1206の左右方向キーを操作することで、内角側に構えるか外角側に構えるかを決定し、上下方向キーで、スイングする高さを決定する。そして、画面中央のピッチャー12がボールBを投ずるのを見てタイミングを見計らい、所定のボタンを押下してバッター10にスイングさせる。
【0056】
この際、従来であれば、バットTとボールBのオブジェクト間で、例えば、バットTとボールBの距離が判定値以下であることを条件として衝突判定処理が行われ、打球の上下方向や左右方向および飛距離等が乱数によって決定される。しかし、本実施形態では、バットT側に付随させるように設けられた衝突判定領域AとボールBとの間で衝突判定を行い、衝突判定領域AとボールBの当った位置に応じて、打球の上下方向や左右方向の決定、及び打球の球速補正を行うことを特徴とする。
【0057】
[原理の説明]
図3はバットTと衝突判定領域Aの位置関係を示した図であって、バットTの先端側から見た図である。また、図4は、衝突判定領域Aの構成を示す平面図である。
【0058】
図3および図4に示すように、衝突判定領域Aは、複数のサブ領域F、H、Gからなり、全体としてはバットTの軸方向を長辺とした仮想幅情報WX、WYを備えた略四角形の平板領域である。衝突判定領域Aの外形はバットTの見かけ上の大きさよりも大きく設定される。この大きさが、ヒットの出やすさを調整する要素の一つであって、衝突判定領域Aの幅が、大きいほどヒットが出やすくなる。サブ領域F、H、Gには、それぞれの領域でボールBが衝突した場合の打球の処理が設定されている。尚、衝突判定領域Aの厚さの有無は特に問わない。
【0059】
衝突判定領域Aは、バットTと一体であっても良いし、バットTと所与の位置関係を維持した別体であっても良い。バットTと一体の場合は、例えば、バットTを軍配のような形状にモデリングし、衝突判定領域Aに相当する部位を透明または半透明にすることで、ゲーム画面上では軍配ではなくバットTに見えるようにする。また、バットTと別体である場合は、図3に示すように、常にバットTのスイング方向に位置し所定の間隔を維持しつつ移動するものとしても良いし、或いは、ボールBの軌道と交差する領域内、例えば、ホームベース4上に予め配置されているものとしても構わない。
【0060】
[打球の上下方向]
次に、具体的に、打球の上下方向の決定について説明する。
衝突判定領域Aのサブ領域は、上から順にフライ領域F、ヒット領域H、ゴロ領域Gからなり、サブ領域毎に衝突後の打球の状態が設定されている。ボールBとバットTが衝突したと判定されたならば、ボールBが衝突したサブ領域に応じて上下方向が決定される。
【0061】
例えば、フライ領域Fは、バットTのほぼ上面に近い位置に当ったことに相当する。実際にバットTのほぼ上面に近い位置に当ると、打球は高く上がり、その多くはフライまたはバックネット打球となる。したがって、フライ領域FにボールBが当ったと判定されたならば、サブ領域内の上下位置に応じて、打球の飛んで行く上下方向を上向き、例えば41°〜120°に決定する。
【0062】
ヒット領域Hは、バットTのほぼ中央(軸上)で当ったことに相当する。実際にバットTのほぼ中央で当ると、打球はシングルヒット〜ホームランまでの安打になりやすい。したがって、ヒット領域HにボールBが当ったと判定されたならば、領域内の上下位置に応じて、打球の飛んでいく上下方向を、安打の多い角度、例えば−40°〜40°に決定する。
【0063】
ゴロ領域Gは、バットTのほぼ下面に近い位置に当ったことに相当する。実際にバットTのほぼ下面に近い位置に当ると、打球はゴロ、或いは大きくバウンドする。したがって、ゴロ領域GにボールBが当ったと判定されたならば、領域内の上下位置に応じて、打球の飛んでいく上下方向を下向き、例えば−39°〜−60°に決定する。
【0064】
尚、上記説明におけるサブ領域の形状や構成比率、設定されている上下角度の範囲は、ゲーム難易度などに応じて適宜変更される。
例えば、図4(b)は、サブ領域の形状をバットTの芯からの離れるに従ってヒット領域Hを小さくなるように変化させた場合の一例であって、より実際に近い処理が可能になる。また、バッター10ごとに、スイング位置に応じてサブ領域の形状や構成比率を変化させるならば、例えば、内角はフライにする傾向が強い、外角球はゴロにする傾向が強いなどの、特徴を表現することもできる。
上下角度の範囲の設定は、処理プログラム内に規定値あるいは所与の計算式として設定されるほか、別途データとして記憶しても良い。
【0065】
[打球の左右方向]
次に、打球の左右方向について説明する。
図5は、打球の左右方向を決定する原理を説明する図である。打球の左右方向は、衝突判定領域AとボールBが衝突した際の角度や位置に応じて決定される。
【0066】
具体的には、例えば、スイングモーションがテイクバックからフォローまでが所定フレームで構成されているとして、何フレーム目で衝突したかで判断・決定する。図5の例では、スイングは80フレームで構成されている。36フレームで衝突した場合は、ボールBとバットTがほぼ真正面に衝突したものとして、打球の方向はほぼ中央のピッチャー方向に決定される。36フレームよりも前のフレーム(例えば、35〜28フレーム)で衝突した場合はフレーム数が小さいほど右方向に設定される。反対に、36フレームより後のフレーム(例えば、37〜44フレーム)で衝突した場合は、フレーム数が大きいほど左方向に設定される。そして、衝突したフレーム数に基づいて大まかな左右方向が決定されたならば、適宜乱数などで方向に適度なバラツキをつけ、打球の方向のパターンが限られることのない様にする。
【0067】
または、バットTの軸方向にサブ領域を設け、打球の上下方向の決定と同様にして、サブ領域で左右および中央の大まかな方向を設定し、細かなバラツキを乱数や比例で設定するとしても良い。
或いは、バッター10の正面に所定の基準線を設けて、基準線から衝突座標まで距離に応じて決定する。即ち、基準線よりピッチャー側で衝突した場合は、左方向、キャッチャー側で衝突した場合は右方向として、中央方向からの角度は基準線からの距離に比例させる。例えば、図5の場合では、36フレームの位置が基準線としては好ましい。そして、図中Z軸についてバッター10の座標を基準として衝突位置座標と比較する。本実施形態では、基準線からの距離に基づいて左右方向を決定する方法を用いて説明する。
【0068】
[打球速度の補正]
次に、打球の速度補正(以下、ミート補正という)について説明する。
本実施形態では、バットの芯を捕らえれば長打が出るのが実感できるように、スウィート・スポットに近いほど打球の球速が高くなるように決定する。スウィート・スポットとは、バットTの芯とも称されるスイング力をもっとも効率良くボールBに伝えることができるポイントである。
【0069】
図6は、ミート補正の概念を説明する図である。同図では衝突判定領域A上のスポットC1がスウィート・スポットに相当する。本実施形態では、スポットC1からの距離に応じて、打球の初速度の変化率を設定し、スポットC1で当る(ミートする)ともっとも大きく、同図スポットC2、C3のように距離が離れるに従って小さくなるように決定する。そして、本実施形態では、ミート補正を衝突判定領域Aとの衝突位置のみならず、バッター10のパラメータによっても、適宜変化させることによって、更により現実に近い様々な打球を生み出す。
尚、バットTの軸方向にサブ領域を設け、打球の上下方向の決定と同様にして、ミート補正の程度をサブ領域毎に設定しても良いのは勿論である。
【0070】
このように、衝突判定の対象となるオブジェクト(バットT)の代りに、オブジェクトよりも単純な形状の衝突判定領域Aを設け、その大きさによってヒットの出しやすさを調節する。また、衝突判定領域AとボールBとの衝突角度や衝突位置に応じて衝突後の(打球の)処理や程度を決定することで、少ない演算でより現実に近い様々な状態の打球を生み出すことができる。
また、開発段階においても、衝突判定領域Aやサブ領域の大きさ、ミート補正の変化率等を変更することで、重要なゲームバランスである「ヒットの出やすさ」の調節が簡単に行えるメリットもある。
【0071】
[機能ブロックの説明]
次に、本実施形態を実現するための機能ブロックを説明する。図7は、本実施形態における機能ブロックの一例を示すブロック図である。同図において機能ブロックとして、操作部100、処理部200、表示部300、記憶部400、を備える。
【0072】
操作部100は、プレーヤが野球選手の選択、スイング位置、スイングのタイミング等の種々の操作を入力する手段であって、操作入力信号は処理部200に出力される。その機能は、レバーやボタンなどのハードウェアにより実現できる。
【0073】
表示部300は、処理部200から入力される画像データを表示画面に出力するものであり、例えば、CRT、LCD、PDP、HMD等のハードウェアにより実現できる。
【0074】
記憶部400は、例えば、CD−ROM、ゲームカセット、ICカード、MO、フロッピーディスク(登録商標) 、DVD、ICメモリ、ハードディスク等のハードウェアにより実現され、ゲーム進行に係る種々の処理を実行させるプログラムや、プログラムの実行に必要な設定データ等が含まれるゲーム情報420が記憶されている。また、記憶部400は、他のブロックがプログラムやデータ等の情報を格納する記憶領域となるもので、その機能は、RAMなどのICメモリやハードディスク等のハードウェアによって実現できる。
【0075】
ゲーム情報420には、ゲーム処理に係る種々のプログラムとデータが含まれる。プログラムとしては、後述する判定領域設定処理、打球決定処理、ミート補正処理、打球方向補正処理、衝突位置補正処理、判定領域表示処理を、それぞれ実行するための、判定領域設定プログラム421、打球決定プログラム422、ミート補正プログラム423、打球方向補正プログラム424、衝突位置補正プログラム425、判定領域表示プログラム426、の各プログラムが含まれる。
【0076】
データとしては、バット情報431と、ボール情報432と、判定領域初期設定441と、判定領域情報442と、バッター・パラメータ・テーブル451と、ミート補正値テーブル461と、打球方向補正値テーブル462と、オブジェクト・データ463と、安打傾向データ464と、が含まれる。
【0077】
バット情報431は、バットTの軸方向、位置座標を求めることができるパラメータであって、スイング位置と、オブジェクト・データ463に記憶されたバッター10の体格やバットの構え方などに基づいて決定される。具体的には、例えば、バットTの先端、グリップ側の端部、およびバットTの芯に相当するスポットC1のぞれぞれの座標値である。
バット情報431は、フレーム毎に計算され書き換えられても良いし、スイング操作の信号入力直後にフレーム単位で振りきりまでの座標値を全て計算し、テーブルデータとして記憶されても良い。
【0078】
ボール情報432は、ボールBの位置座標・速度・軌道等を求めることができるパラメータであって、例えば、ストレート、カーブ、フォークなどの球種を表すパラメータと、速度と、位置座標である。
球種パラメータは、投球後の速度変化を求めるものであって、例えば、XYZの各軸ごとの加速度や、同加速度のデータを記憶したテーブル等のID、軌道を表すベジエ曲線等の曲線関数を記憶したテーブルデータ等のIDなどであって適宜選択して良い。位置座標の初期値は、オブジェクト・データ463に記憶されたピッチャーの体格や投球フォームなどに応じて決定される。ボール情報432の速度と位置座標などは、バット情報431と同様に、投球されるとフレーム毎に計算・書き換えられても良いし、投球直後に、軌道を元にフレーム単位で捕球までの値を全て計算し、テーブルデータとして記憶されても良い。
【0079】
また、ボール情報432は、衝突時の位置座標を、打球に関する処理や補正(打球の上下・左右方向の決定、ミート補正)が終了するまでその値を維持し、種々の処理において衝突位置の情報として利用され、以降は打球の情報として使用され。
【0080】
判定領域初期設定441は、衝突判定領域Aの初期設定値であって、例えば、バットTの軸や、バッター10の座標からの相対位置を示す座標値、判定領域全体の形状、およびサブ領域の形状または構成比率等が記憶されている。
【0081】
判定領域情報442は、衝突判定領域Aおよびこれを構成するサブ領域の位置、形状、構成比率等を示すパラメータであって、例えば、フライ領域F、ヒット領域H、ゴロ領域Gの各サブ領域、及び衝突判定領域Aを決める四隅の3次元座標値である。
【0082】
バッター・パラメータ・テーブル451は、バッター10のバッティングスキルを現す各種パラメータを記憶する。例えば、図8に示すように、選手名(バッター10の名前)と、巧打力、打球傾向、安打傾向、及び長打力とが含まれ、各パラメータに応じて衝突判定領域Aの大きさやサブ領域の配置・構成比率の決定や、打球の初速度の補正が行われる。
【0083】
ここでいう巧打力とは、ボールBに当てるスキルであって巧打力が高いほど安打が出やすくなる。巧打力のパラメータは、例えば、判定領域の初期設定に対する倍率として設定され、衝突判定領域A全体の大きさを変化させる。
打球傾向とは、所謂左右どちらに打つのが得意であるかを示すパラメータであって、打球の左右方向に応じて打球の初速度を変化させる。変化の度合いは、打球方向補正値テーブル462として、タイプ別に左右方向毎の初速度の変化倍率がテーブルデータとして記憶されており、バッター・パラメータ・テーブル451では、例えば、該テーブルデータのIDとして設定される。
【0084】
安打傾向とは、投球コース別の安打になる確率の差異であって、所謂内角が苦手、外角が得意と評されるものである。安打傾向パラメータは、衝突判定領域Aの初期設定に対する倍率として表現され、例えば、サブ領域F、H、Gの構成比率、或いは大きさを変化させる。設定値は、別途、バッター10毎に安打傾向データ464として記憶され、バッター・パラメータ・テーブル451では、例えば、該テーブルデータのIDとして記憶される。尚、コース分けの程度は、適宜設定可能である。
長打力とは、打球を飛ばすスキルであって、長打力が高いほど打球は遠くへ飛ぶ。即ち、長打力パラメータは、例えば、打球の初速度の倍率として設定される。なお、パラメータの種類・記述方法等は上記以外にも適宜選択してかまわない。
【0085】
ミート補正値テーブル461は、衝突判定領域A上のボールBの衝突した位置に応じて、打球速度を補正する補正値(変化率)を格納する。ミート補正値テーブル461は、バットTの軸方向距離にあたる左右ミート値と、バットTの直径方向距離にあたる上下ミート値を有する。
【0086】
オブジェクト・データ463は、オブジェクトのモデリングデータをはじめ、バッター10のスイングモーションや、テクスチャの情報などが格納されている。バッター10の構えなどもここに含まれる。
【0087】
安打傾向データ464は、バッター10毎に用意され、例えば、ストライクゾーンを5×5の25のエリアに分割し、それぞれのエリア毎に、ヒットになりやすい、凡打になりやすいなどの特性を、サブ領域の比率や大きさについての、判定領域初期設定441からの変化率(補正率)として格納する。例えば、ヒットになりやすいエリアでは、ヒット領域Hが占める割合が多くなるように、逆に、凡打になりやいエリアでは、フライ領域Fやゴロ領域Gの割合が多くなるように設定される。主たる特徴が無いエリアは初期設定のままとする。バッター・パラメータ・テーブル451の安打傾向のパラメータは、バッター10ごとに用意された安打傾向データ464のIDに当る。
【0088】
処理部200は、ゲーム装置全体の制御、装置内の各ブロックへの命令の指示、ゲームの各種演算などの処理を行い、その機能は、例えば、CPU(CISC型、RISC型)、DSP、或いはASIC(ゲートアレイ等)などのハードウェアや、所与のプログラム(ゲームプログラム)により実現できる。処理部200には、主にゲーム内の処理を行うゲーム演算部220と、ゲーム演算部220によって求められた各種データから画像データを生成する画像生成部240と、が含まれる。
【0089】
ゲーム演算部220は、操作部100からの操作データや、記憶部400から読み出すプログラムやデータ等に基づいて種々のゲーム処理を実行する。ゲーム処理としては、例えば、ゲーム選択画面の設定処理、オブジェクト空間に選手やグラウンドや建造物などを配置する処理、選手やボールBおよびバットT等の位置・向き・速度・加速度等を求める処理、オブジェクトへのマッピング情報の選択処理、オブジェクト間の衝突判定、或いはゲーム成果(成績)を求める処理など、が挙げられる。
また、ゲーム演算部220は、オブジェクト間の衝突判定処理と衝突後の処理の決定に係る種々の処理を行う機能部として、判定領域設定部222と、打球決定部224と、ミート補正部226と、打球方向補正部228と、を含む。
【0090】
判定領域設定部222は、記憶部400に記憶された判定領域設定プログラム421に従って、衝突判定の対象となる一方のオブジェクト(本実施形態ではバットT)に、図3と図4に示したような、衝突判定領域Aを設定し、衝突判定領域Aの全体の大きさや、サブ領域の配置や構成比率を変化させることで、打撃の巧いバッター10は安打が出やすく、そうでないバッター10は凡打しやすい状態を作り出す。
【0091】
具体的には、例えば、判定領域設定部222は、先ず、バット情報431を参照し、判定領域初期設定441に基づいて、ベースとなる衝突判定領域Aを決定し、判定領域情報442を作成する。そして、判定領域設定部222は、バッター・パラメータ・テーブル451の巧打力パラメータに基づいて、衝突判定領域A全体の大きさを変更し、判定領域情報442を更新する。次に、安打傾向パラメータに基づいて、サブ領域F、H、Gの構成比率を変更し、判定領域情報442を更新する。
【0092】
例えば図19は、巧打力のパラメータによって衝突判定領域Aが変更された例である。同図において(a)は、巧打力パラメータが小さい例で、衝突判定領域Aの外形が小さく、安打を出しにくくなっている。一方(b)は、巧打力パラメータが大きい場合であって、衝突判定領域Aが大きく、安打が出やすくなっている。
【0093】
さらに、図20は、安打傾向のパラメータによって衝突判定領域Aが変更された例である。同図において、(a)が標準に相当し、(b)は外角球の安打傾向の高い場合であって、フライ領域Fとゴロ領域Gが狭くなっている。(c)は、内角球の安打傾向が低く凡打しやすい場合であって、フライ領域Fとゴロ領域Gが広くなっている。
【0094】
打球決定部224は、衝突後の打球の処理を決定する手段であって、打球の上下方向と左右方向を決定する。
具体的には、衝突判定領域AとボールBの間で衝突があったと判定されたならば、ボール情報432の位置座標(この時点では、衝突位置座標を表している)を参照する。そして、判定領域情報442を参照して、どのサブ領域で衝突したのか、さらにサブ領域の上側で当ったのか下側で当ったのかを判断する。サブ領域内の衝突位置に応じて、打球の上下角度をサブ領域ごとに割り当てられた角度範囲内(例えば、フライ領域Fならば41°〜120°)で、所与の関係(例えば、比例配分)に基づいて打球の上下方向を決定する。そして、打球の上下方向が決定されたならば、打球決定部224は、ボール情報432の速度パラメータを変更する。尚、サブ領域が小さい場合は、該サブ領域に割り当てられた前記角度内で、適宜乱数によって上下方向を決定するとしても良い。
【0095】
次に、打球の左右方向を決定するために、例えば、ボール情報432より、衝突時の位置座標を参照し、別途記憶されているバッター10のオブジェクトの座標をピッチャー12からホームベース4方向を座標軸として比較する。
より具体的には、図5の場合、バッター10の点Pの図中Z軸座標値を基準とし、ボール情報432の衝突位置座標のZ値とを比較する。そして、点Pよりピッチャー側で衝突した場合は、打球を左方向、キャッチャー側で衝突した場合は右方向として、左右の角度は点Pからの距離に比例させる。
【0096】
ミート補正部226は、衝突後の処理の程度を決定する手段であって、ボールBが前記衝突判定領域Aのどの位置で当ったかに応じて打球の速度を補正する。
具体的には、例えば、ミート補正部226は、先ずバット情報431からスポットC1の座標を取得し、ボール情報432から衝突位置の座標を取得する。そして、図6に示すように、スポットC1とボールBが衝突した位置関係に応じて、バットTの軸方向距離にあたる左右ミート値と、バットTの直径方向距離にあたる上下ミート値を決める。そして、図9に示すような、ミート補正値テーブル461に基づいてボール情報432の速度を補正し、ミート位置による打球の飛距離の差をつける。
【0097】
なお、ミート値を上下方向と左右方向に分けて補正しているが、補正方法はこれに限らず、スポットC1からの極座標軸成分毎に分けて決定されても良いし、衝突判定領域Aを更に細かなサブ領域で構成して、ミート補正値テーブル462でサブ領域ごとの補正値を設定してもかまわない。
【0098】
打球方向補正部228は、衝突後の処理の程度を決定する手段であって、打球の左右方向に応じて、球速を補正する。
図10は、バッターボックスの真上から見た打球方向に応じた球速補正の概念を説明する図である。打球方向補正部228は、例えば、先ずボール情報432を参照して速度ベクトルを取得し、打球の方向が、ボールBが衝突した位置を中心にピッチャー方向を0°として、左右90°を12の領域に分割した何れの左右領域に当るかを判断する。次に、バッター・パラメータ・テーブル451を参照して、打球傾向パラメータを取得する。そして、対応するタイプの打球方向補正値テーブル462にしたがって、打球の初速度を補正する
【0099】
図11は、打球方向補正値テーブル462の構造の一例を示す図である。打球方向補正値テーブル462は、例えば、左右領域ごとに速度の補正倍率が設定されている。補正倍率は、バッター打球傾向のタイプに応じて適宜複数の組み合わせが用意される。例えば、図11(a)は「標準型」で左側の領域にやや強い打球を打つことができる程度であるが、(b)は「引っ張り型」で標準型に比べて左側領域の補正値が大きくなっており、左側領域への打球の飛距離が得られるようになっている。打球方向補正部228は、バッター・パラメータ・テーブル451の打球傾向パラメータを参照して、何れの型を参照するかを選択する。
また、ここで所与の左右領域において、適宜左右方向の加速度を加えるならば、右に或いは左に切れてゆくファールボールを再現することができる。
【0100】
画像生成部240は、ゲーム演算部220から入力される指示信号や各種座標情報等の各種データに応じて画像データを生成する処理を実行するものであり、CPU、DSP、画像生成専用のIC、メモリなどのハードウェアおよび所与のプログラムにより構成される。そして、画像生成部240は、生成した画像データを表示部300に出力して表示させる。また、画像生成部240は、ヒット時にボールBとバットTが確かに当って見えるようにオブジェクトの表示位置を補正する衝突位置補正部242と、衝突判定領域Aをゲーム画面中に表示する判定領域表示部244とを備える。
【0101】
衝突位置補正部242は、ボールBの軌道を補正する手段であって、記憶部400の衝突位置補正プログラム425に従って実行され、ボールBが衝突判定領域Aの上端或いは下端近傍に当り、そのままの位置関係でゲーム画面上に表現すると、見かけ上バットTとボールBが離れているように見える場合に、強制的にボールBまたはバットTの少なくとも一方の表示位置を補正する。
【0102】
具体的には、例えば、衝突位置補正部242は、ボール情報432を参照して衝突位置とバットT軸間の距離を求める。そして、オブジェクト・データ463を参照して、バットTとボールBの半径との和より大きい場合は、過剰分をボールBの高さ座標(オブジェクト空間内の上下座標)から減算して表示する。なお、ゲーム設定上、バットTやバールを故意にデフォルメして大きく表示し、衝突判定領域Aの上下幅WXとバットTの幅が近い場合は、位置補正が必要なくなるのは勿論である。
【0103】
判定領域表示部244は、判定領域表示プログラム426に従って、判定領域情報442を参照して、衝突判定領域Aをゲーム画面上に、例えば、領域を囲む線や領域に相当する半透明のポリゴン、或いは領域の四隅を示すマークなどを表示し可視化する。
【0104】
ゲーム画面内における表示位置や表示形態は適宜設定して良い。表示形態に関しては、例えば、サブ領域を破線で分ける場合であれば、色やドットパターン、テクスチャを変えて表示すると見やすくて好ましい。更に、バッター・パラメータ・テーブル451の安打傾向パラメータと関連付け、安打の出やすい位置では、全体を赤系表示色とし、安打が出にくい場所では、青系表示色で表示するとしても良い。
【0105】
図12は、判定領域表示の表示されたゲーム画面の例を示す図である。例えば、図12(a)の例では、ホームベース4上に表示されたベース上表示A1と、画面上方に表示された拡大表示A2とが示されている。
ベース上表示A1は、予想されるスイング軌跡のホームベース4上に配置されるので、四角形が水平から傾斜した状態になっている。ここで、例えば、プレーヤが、スイング位置を上方または下方にずらす操作をすると、ベース上表示A1も移動する。
拡大表示A2は、プレーヤが望むときに画面上に衝突判定領域Aをより見やすく拡大表示され、フライ領域Fとゴロ領域Gは、破線で区分されている。拡大表示A2は、ゲーム・コントローラの所与の操作ボタンによって表示・非表示が切り替わるように設定される。また、判定領域の表示は、ゲームの難易度に応じて、適宜表示・非表示を選択されるとしても良いのは勿論である。なお、スイング位置に応じて、衝突判定領域Aの大きさが変化する場合は、ベース上表示A1と拡大表示A2も同様に変化して表示される。
【0106】
また、図12(b)の例では、衝突判定領域Aの四隅を示すようにマーカ表示A3が表示されている。マーカ表示A3の場合は、安打の傾向をマーカ表示A3の大きさとマーカの表示色などで表現する。例えば、ヒットになりやすい場合は、マーカで囲まれる領域が広くなり赤く表示され、ゴロになりやすい場合は領域が狭くなり黄色く表示される。
【0107】
[フローの説明]
次に、本実施形態における詳細な処理の流れについて図13〜図18を参照して説明する。尚、便宜上投球後に、スイングが行われてヒットが出る場合として説明することとし、スイングされずに見送る、三振する等の処理については省略する。
【0108】
図13は、第1の実施形態における衝突判定処理と衝突後の処理を示すメインフローの一例である。同図によれば、まずプレーヤの操作するチームのバッター10がバッターボックスに入り(ステップS10)、衝突判定領域Aを設定する判定領域設定処理が実行される(ステップS20)。
【0109】
図14は、判定領域設定処理を示すフロー図である。判定領域設定部222は、同図に示すように、まず、ゲーム・コントローラ1204から、スイング位置として、例えば、バッターボックス2内における立ち位置と、スイング高さが入力される(ステップS21)。次に、記憶部400内のオブジェクト・データ463からバッター10の形状(体格)とバットの構えに関する情報を取得して、バットTの先端、グリップ側の端部、およびスポットC1のぞれぞれの座標値を決定し、バット情報431を作成する(ステップS22)。次いで、記憶部400から判定領域初期設定441を参照して、判定領域情報442を作成する(ステップS23)。
【0110】
次に、判定領域設定部222は、バッター・パラメータ・テーブル451を参照して、巧打力のパラメータを取得する(ステップS24)。巧打力は、例えば、標準の衝突判定領域Aのサイズに対する倍率として与えられ、この値によって判定領域情報442の仮想幅情報WX、WYが変更され(ステップS25)、メインフローに戻る。
【0111】
メインフローに戻ったならば、次に、図13に示すように、判定領域表示部244が、衝突判定領域Aをゲーム画面上に表示させる(ステップS30)。プレーヤは、表示された衝突判定領域Aを見て、これから操作する打者の特性を認識して投球に備える。
【0112】
投球がされると、ボール情報432が設定され、画像生成部240によって画面上にボールBが表示される(ステップS40)。ボール情報432は、捕球されるまでフレーム毎に計算・更新されても良いし、投球と同時に軌道を元に、捕球までのフレーム毎の全てのデータを計算・記憶され、以降該フレーム毎データを読み出すとしてもよい。なお、必要とされるフレームは、球種および初速度によって異なるのは勿論である。
【0113】
ゲーム・コントローラ1204または1206から、スイング操作が入力されると、バット情報431が計算される(ステップS50)。バット情報431は、フレーム毎に計算・更新されても良いし、所与のフレーム内でスイングが終了するように、スイング操作の入力と同時にスイング終了までのフレーム毎全てにおいてデータが計算・記憶され、以降該フレーム毎のデータを読み出すとしても良い。同様に、判定領域情報442も処理される(ステップS60)。なお、必要とされるフレームは、バッター・パラメータ・テーブル451のスイング速度のパラメータ、例えば所要フレーム数によって異なる。
【0114】
ボールBおよび衝突判定領域Aの位置情報が計算・更新されたならば、両者の間で衝突判定が行われる(ステップS70)。衝突判定の方法は、種々提案・実用化されており、ここでの詳細な説明は省略する。
【0115】
衝突していない場合は(ステップS70のNO)、捕球されるまで衝突判定は、全フレームにおいてチェックされる(ステップS80のNO)。捕球されるまで、衝突がない場合は(ステップS80のYES)、空振りをしたと判定され、ストライクカウントの加算、それによる打者のチェンジ、攻守のチェンジ等の空振り処理が行われる(ステップS90)。
捕球までのフレーム内で、衝突した場合は(ステップS70のYES)、打球決定処理に進む(ステップS100)
【0116】
図15は、打球決定処理を示すフロー図である。同図において、まず、打球決定部224が、ボール情報432から位置情報(この時点では、衝突した位置座標を求める値として利用される)と、判定領域情報442とを参照して(ステップS101)、衝突判定領域Aのどの領域内で衝突したかを判定する。
【0117】
フライ領域Fで衝突している場合は(ステップS102のYES)、同領域内の相対的な位置に応じて、打球角度を、例えば41°〜120°の間で比例的に決定する(ステップS103)。
同様に、ヒット領域Hで衝突している場合は(ステップS104のYES)、打球角度を、例えば−40°〜40°の間で比例的に決定する(ステップS105)。ゴロ領域Gで衝突している場合は(ステップS104のNO)、打球角度を、例えば−39°〜−60°の間で比例的に決定する(ステップS106)。打球の上下角度が決定されたならば、ボール情報432の速度を変更する(ステップS107)。
【0118】
次に、打球の左右方向を決定するために、例えば、ボール情報432より、衝突時の位置座標を取得し(ステップS108)、ピッチャー12からホームベース4方向を座標軸として、ボールBの衝突位置座標とバッター10のオブジェクトの座標と比較する(ステップS109)。
ここで、点P(図5参照)よりピッチャー側で衝突した場合は(ステップS109のYES)、打球を左方向として、打球の角度を点Pと衝突位置の距離に比例させる(ステップS110)。キャッチャー側で衝突した場合は(ステップS109のNO)、打球を右方向として、左右の角度は点Pからの距離に比例させる(ステップS111)。上下と左右の打球方向が決定されたならば、メインフローに戻る。
【0119】
次に、図13において、ミート補正処理に移行する(ステップS110)。
図16は、ミート補正処理を示すフロー図である。同図によれば、まず、ミート補正部226は、バット情報431と、ボール情報432を参照して、スポットC1の座標と衝突位置の差を求める(ステップS111)。
衝突位置の差から、図6に示したような所与の関係に従って、左右ミート値と上下ミート値を求める(ステップS112)。
次に、ミート補正値テーブル461を参照して、左右および上下ミート値に応じて各補正値を取得し(ステップS113)、ボールBの速度を補正し(ステップS114)、ボール情報432を変更する(ステップS115)。ミート補正が終了したならばメインフローに戻る。
【0120】
次に、図13において、打球方向補正処理に移行する(ステップS120)。
図17は、打球方向補正処理を示すフロー図である。図17によれば、まず、打球方向補正部228が、ボール情報432を参照してボールBの速度から打球の左右方向を取得し(ステップS121)、図10に示したどの打球方向の左右領域にあたるかを判定する(ステップS122)。
【0121】
打球の左右方向が求められたならば、打球方向補正部228は、バッター・パラメータ・テーブル451から打球傾向を参照し(ステップS123)、該当する打球方向補正値テーブル461に基づいて、打球の左右方向に応じた補正値を求める(ステップS124)。
補正値を元に、ボールBの速度を補正計算して(ステップS125)、ボール情報432を変更する(ステップS126)。打球方向補正処理が終了したならば、メインフローに戻る。
【0122】
ここまでで、打球の上下方向と、左右方向と、ミート位置と打球の方向による速度の補正がなされたことになる。打球の諸条件が求められたならば、次に、図13において、衝突位置補正処理が実行される(ステップS130)。
【0123】
図18は、衝突位置補正処理について示すフロー図である。図18によれば、衝突位置補正部242は、バット情報431とボール情報432を参照して(ステップS131)、衝突位置とバット軸間の距離(以下、軸間距離)とバットTとボールBの各半径との和の値を求め(ステップS132)、求められた二つの値を比較する(ステップS133)。
軸間距離がバットTとボールBの半径との和より小さい場合は、(ステップS133のNO)、座標の変更はおこなわない。軸間距離がバットTとボールBの半径の和より大きい場合は(ステップS133のYES)、過剰分をボールBのX座標(上下座標)から減算する(ステップS134)。そして、画像生成部240が、変更された位置情報に基づいて、ゲーム画面を表示させる(ステップS135)。
【0124】
ボールBの位置補正がされたならば、本発明に係る処理は終了する。以降は公知の打球処理(例えば、打球の飛んで行く処理、守備処理等)が行われて、野球ゲームが進行する。
【0125】
[ハードウェアの構成]
次に、本実施の形態を実現できるハードウェアの構成の一例について、図21を用いて説明する。同図に示す装置では、CPU1000、ROM1002、RAM1004、情報記憶媒体1006、音生成IC1008、画像生成IC1010、I/Oポート1012、1014が、システムバス1016により相互にデータ入出力可能に接続されている。そして、画像生成IC1010には、表示装置1018が接続され、音生成IC1008には、スピーカ1020が接続され、I/Oポート1012には、コントロール装置1022が接続され、I/Oポート1014には、通信装置1024が接続されている。
【0126】
情報記憶媒体1006は、図7における記憶部400に該当し、種々の処理を実行させるプログラムや、選手や球場、ボールBやバットTなどを表示するためのデータ、各選手に設定された種々のパラメータ等が主に格納される。
例えば、家庭用ゲーム装置では、ゲームプログラム等を格納する情報記憶媒体として、CD−ROM、ゲームカセット、DVD等が用いられ、プレイデータを格納する情報記憶媒体としてメモリカードなどが用いられる。また、業務用ゲーム装置では、ROM等のメモリやハードディスクが用いられ、この場合には、情報記憶媒体1006は、ROM1002になる。
【0127】
コントロール装置1022は、図7における操作部100に該当し、ゲーム・コントローラ、操作パネル等に相当するものであって、プレーヤがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【0128】
CPU1000は、図7における処理部200に該当し、情報記憶媒体1006に格納されるプログラム、ROM1002に格納されるシステムプログラム(装置本体の初期化情報等)、コントロール装置1022によって入力される信号等に従って、装置全体の制御や各種データ処理を行う。
【0129】
RAM1004は、このCPU1000の作業領域等として用いられる記憶手段であり、情報記憶媒体1006やROM1002の所与の内容、あるいはCPU1000の演算結果が格納される。例えば、図7におけるバット情報431、ボール情報432、判定領域情報442等は、このRAM1004に記憶されるとしても良い。
【0130】
更に、この種の装置には、音生成IC1008と画像生成IC1010とが設けられていて、ゲーム音やゲーム画像の好適な出力が行えるようになっている。
音生成IC1008は、情報記憶媒体1006やROM1002に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音は、スピーカ1020によって出力される。
また、画像生成IC1010は、RAM1004、ROM1002、情報記憶媒体1006等から出力される画像情報に基づいて表示装置1018に出力するための画素情報を生成する集積回路である。なお、表示装置1018は、図6における表示部300に該当し、例えば、CRT、LCD、EL、PDP、プロジェクター等により実現可能である。
【0131】
また、通信装置1024は、ゲーム装置内部で利用される各種の情報を外部とやり取りするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受、或いは通信回線を介してゲームプログラム等の情報を送受すること等に利用される。
【0132】
また、本実施形態で説明した種々の処理は、図13〜図18のフローチャートに示した処理等を行うプログラムを格納した情報記憶媒体1006と、該プログラムに従って動作するCPU1000、画像生成IC1010、音生成IC1008等によって実現される。なお、画像生成IC1010、音生成IC1008等で行われる処理は、CPU1000あるいは汎用のDSP等によりソフトウェア的に行ってもよい。
【0133】
なお、本発明は図1に示した家庭用ゲーム装置だけでなく、業務用ゲーム装置、多数のプレーヤが参加する大型アトラクション装置、シミュレータ、マルチメディア端末、画像生成装置、ゲーム画像を生成するシステム基板等の種々の装置に適用できる。
【0134】
例えば、図22は、本実施の形態を業務用ゲーム装置1300に適用した場合の例を示す図である。この業務用ゲーム装置1300は、プレーヤが、ディスプレイ1304に表示される画像を見ながら、操作スティック1306、ボタン1308等を操作して野球ゲームを楽しむ装置である。
【0135】
業務用ゲーム装置1300に内蔵されるシステム基板1310には、CPU、画像生成IC、音生成IC等が実装されている。そして、プログラムおよび各種のデータなどのゲーム情報は、システム基板1310上の情報記憶媒体であるメモリ1312に格納されている。
【0136】
また、図23に、ホスト装置1400と、このホスト装置1400と通信回線1402を介して接続される端末1404−1〜1404−nとを含むゲーム装置に本実施の形態を適用した場合の例を示す。
【0137】
この場合、プログラムおよび各種のデータなどのゲーム情報は、例えばホスト装置1400が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体1406に格納されている。端末1404−1〜1404−nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1400からは、ゲーム画像、ゲーム音を生成するためのゲームプログラムなどが端末1404−1〜1404−nに配信される。一方、スタンドアロンで生成できない場合には、ホスト装置1400がゲーム画像、ゲーム音を生成し、これを端末1404−1〜1404−nに伝送することにより端末において出力することとなる。
【0138】
なお、図23の構成の場合に、本発明の各手段を、ホスト装置(サーバ)と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するためのプログラムおよび各種のデータなどのゲーム情報を、ホスト装置(サーバ)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。また、この場合、ホスト装置と端末による構成ではなく、端末間のネットワークによる構成として良い。
【0139】
またネットワークに接続する端末は、上述した家庭用ゲーム装置であることは勿論のこと、パーソナルコンピュータ・業務用ゲーム装置・PDAなどの携帯端末・携帯電話などであってもよい。そして、業務用ゲーム装置をネットワークに接続する場合には、業務用ゲーム装置との間で情報のやり取りが可能であると共に家庭用ゲーム装置との間でも情報のやり取りが可能な携帯型情報記憶装置(メモリカード、携帯型ゲーム装置)を使用可能に構成してもよい。
【0140】
[第2の実施形態]
次に、図24〜図26を参照して、本発明を適用した第2の実施形態について説明する。第2の実施形態は、本発明をテニスゲームに適用した場合を例とする。なお、第1の実施形態と同様の構成要素については、同じ番号の符号をつけ説明は省略する。
【0141】
図24は、第2の実施形態におけるテニスゲームのゲーム画面の一例である。同図に示すように、プレーヤは選手20を操って適当な移動目標位置、即ちスイング位置に移動させる。そして、相手選手22が打ったボールBが来たならば、タイミングを見計らってスイングの操作を入力することで、どちらかがミスをするまで応酬を繰り返す。
【0142】
テニスゲームにおいて、より現実感のある衝突判定と衝突後の処理とは、ボールBがラケットLの当る位置によって打球の強さが変化し、時には回転がかり、ミスショットが出る、といった処理がなされることである。そこで、本実施形態では、ラケットLにサブ領域を備えた衝突判定領域Aを設け、サブ領域に応じて、様々な処理を設定して実現する。
【0143】
従って、プレーヤは、画面に所与の形態で表示された衝突判定領域Aを移動操作の目安として、衝突判定領域AがボールBの予測される軌跡上に位置するように選手20を操作・移動させることになる。
【0144】
図25は、ラケットLと衝突判定領域Aの位置関係の一例を示す図である。同図において、衝突判定領域Aは、ラケットLのネット面に略平行な略楕円領域であって、ネットの中心に近いフルヒット領域FHと、その外周のヒット領域Hと、さらに外周のミスヒット領域MH1、MH2のサブ領域から構成される。
【0145】
これらは、判定領域設定部222によって、ラケット情報(第1の実施形態におけるバット情報)431と判定領域初期設定441に基づいて、第1の実施例と同様にして設定される。また、衝突判定領域Aの大きさやサブ領域の構成比率等は、プレーヤ・パラメータ・テーブル(第1の実施形態におけるバッター・パラメータ・テーブル)451に基づいて、選手の巧打力のパラメータや打球傾向に応じて変更され、判定領域情報442として記憶される。
【0146】
前記サブ領域には、それぞれヒット時の打球の補正条件が設定されている。
例えば、ヒット領域Hを標準として、フルヒット領域FHで衝突した場合は、ボールBにもっとも効率良くスイング力を伝え、狙った相手コートのスペースに精度よく打ちかえすことができる設定とする。ミスヒット領域MHで衝突した場合は、スイング力をボールBに十分伝えることができず、またイレギュラーな方向に打ち返してしまうように設定する。
【0147】
具体的には、例えば、図26は第2の実施形態におけるミート補正値テーブル461―2の構造を示す一例である。同図に示すように、ミート補正値テーブル461−2は、サブ領域毎に速度補正値と、方向補正値と、発生率と、を備える。
【0148】
速度補正値は、例えば、スイング力の伝わり具合を表す補正倍率として記憶される。補正値が高いほど打球の速度は速くなる。
方向補正値と発生率は、相手コートに打ち返す位置のバラツキを発生させる値であって、例えば、上下左右方向の加速度と該加速度がどれだけの確立で付与されるかを発生率で記憶する。そして、フルヒット領域FHでは、加速度と発生率は小さく設定され、ミスヒット領域MH1およびMH2では、補正値(補正する角度)が打ち上げや打ち下ろし、所謂当り損ねの状態になるように極端な加速度が設定され、発生率も高く設定される。
【0149】
以上の設定に基づいて、ゲーム進行中に衝突判定および衝突後の打球の条件を決定することによって、少ない演算負荷で単純なボールBの打ち返しでは無いプレーヤの技量に応じた高度な試合展開を可能とし、一方で、イレギュラーな打球による幸運な場面を生み出すこともできる。従って、プレーヤはより現実感のある深み有るテニスゲームを楽しむことができる。
【0150】
なお、本実施形態では衝突判定領域Aを選手移動の目安とし、ラケットとは別位置に表示させる例を挙げたが、ゲーム画面の構成、演出等に応じて第1の実施形態と同様に、ヒット対象のオブジェクトであるラケットLに付随して移動するとしても良い。
【符号の説明】
【0151】
10 バッター
12 ピッチャー
20 選手
22 相手選手
200 処理部
220 ゲーム演算部
222 判定領域設定部
224 打球決定部
226 ミート補正部
228 打球方向補正部
240 画像生成部
242 衝突位置補正部
244 判定領域表示部
400 記憶部
420 ゲーム情報
421 判定領域設定プログラム
422 打球決定プログラム
423 ミート補正プログラム
424 打球方向補正プログラム
425 衝突位置補正プログラム
426 判定領域表示プログラム
431 バット情報
432 ボール情報
441 判定領域初期設定
442 判定領域情報
451 バッター・パラメータ・テーブル
461 ミート補正値テーブル
462 打球方向補正値テーブル
463 オブジェクト・データ
464 安打傾向データ
A 衝突判定領域
A1 ベース上表示
A2 拡大表示
A3 マーカ表示
F フライ領域
H ヒット領域
G ゴロ領域
T バット
B ボール

【特許請求の範囲】
【請求項1】
コンピュータに、所与の野球ゲームを実行させるためのプログラムであって、
バットのスイング位置を入力する入力手段、
前記バットの幅よりも大きい仮想幅を示す仮想幅情報を設定する設定手段、
少なくとも、前記スイング位置と、前記仮想幅情報と、ボールの軌道とに基づいて、打球の方向及び/又は速度を制御する打球制御手段、
として前記コンピュータを機能させるためのプログラム。
【請求項2】
請求項1において、
前記仮想幅情報を所与の形態で表示制御する表示制御手段として前記コンピュータを機能させるためのプログラム。
【請求項3】
請求項2において、
前記設定手段が、前記入力手段により入力されたスイング位置に基づいて仮想幅情報を設定し、
前記表示制御手段が、前記仮想幅情報の表示形態を前記入力手段により入力されたスイング位置に応じて変化させる、
ように前記コンピュータを機能させるためのプログラム。
【請求項4】
コンピュータに、打具を用いる所与の球技ゲームを実行させるためのプログラムであって、
打具の幅よりも大きい仮想幅を示す仮想幅情報を設定する設定手段、
少なくとも、前記仮想幅情報と、ボールの軌道とに基づいて、打球の方向及び/又は速度を制御する打球制御手段、
として前記コンピュータを機能させるためのプログラム。
【請求項5】
請求項4において、
前記仮想幅情報を所与の形態で表示制御する表示制御手段として前記コンピュータを機能させるためのプログラム。
【請求項6】
請求項5において、
前記設定手段が、仮想空間内における前記打具の位置に基づいて仮想幅情報を設定し、
前記表示制御手段が、前記仮想幅情報の表示形態を前記打具の位置に応じて変化させる、
ように前記コンピュータを機能させるためのプログラム。
ためのプログラム。
【請求項7】
コンピュータに、所与の野球ゲームを実行させるためのプログラムであって、
バットのスイング位置を入力する入力手段、
前記スイング位置に基づいて、前記バットの幅方向に対応する長さが前記バットの幅よりも大きい衝突判定領域を設定する設定手段、
少なくとも、前記衝突判定領域と、ボールの軌道とに基づいて、打球の方向及び/又は速度を制御する打球制御手段、
として前記コンピュータを機能させるためのプログラム。
【請求項8】
請求項7において、
前記衝突判定領域を所与の形態で表示制御する表示制御手段として前記コンピュータを機能させるためのプログラム。
【請求項9】
請求項8において、
前記表示制御手段が、前記衝突判定領域の表示形態を、前記入力手段により入力されたスイング位置に応じて変化させるように前記コンピュータを機能させるためのプログラム。
【請求項10】
コンピュータに、所与の操作入力がなされた後、仮想空間内における第1オブジェクトと第2オブジェクトの少なくとも一方の移動を自動的に制御させるためのプログラムであって、
前記操作入力に基づいて、前記第1オブジェクトよりも大きい衝突判定領域を設定する設定手段、
少なくとも、前記衝突判定領域と、前記第1オブジェクトの軌道と、前記第2オブジェクトとの軌道とに基づいて、前記第1オブジェクトと前記第2オブジェクトとの衝突後の前記第2オブジェクトの移動方向及び/又は移動速度を制御する衝突後移動制御手段、
として前記コンピュータを機能させるためのプログラム。
【請求項11】
請求項10において、
前記設定手段が、前記衝突判定領域を前記第1オブジェクト及び/又は前記第2オブジェクトに付随して設定する、ように前記コンピュータを機能させるためのプログラム。
【請求項12】
請求項10において、
前記設定手段が、前記衝突判定領域を前記第1オブジェクト又は前記第2オブジェクトの軌道上に設定する、ように前記コンピュータを機能させるためのプログラム。
【請求項13】
請求項10〜12の何れかにおいて、
前記設定手段が、前記衝突判定領域を1以上の平面領域から構成される略平面な領域として設定し、
前記衝突後移動制御手段が、何れの平面領域において前記衝突がなされたかに応じて、前記第2オブジェクトの移動方向及び/又は移動速度を制御する、
ように前記コンピュータを機能させるためのプログラム。
【請求項14】
請求項10〜13の何れかにおいて、
前記衝突判定領域を所与の形態で表示制御する表示制御手段として前記コンピュータを更に機能させるためのプログラム。
【請求項15】
請求項14において、
前記表示制御手段が、前記第1オブジェクトまたは前記第2オブジェクトの仮想空間内の位置に応じて、表示形態を変化させる、ように前記コンピュータを機能させるためのプログラム。
【請求項16】
請求項1〜15の何れか記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項17】
所与の野球ゲームを実行するゲーム装置であって、
バットのスイング位置を入力する入力手段と、
前記バットの幅よりも大きい仮想幅を示す仮想幅情報を設定する設定手段と、
少なくとも、前記スイング位置と、前記仮想幅情報と、ボールの軌道とに基づいて、打球の方向及び/又は速度を制御する打球制御手段と、
を備えるゲーム装置。
【請求項18】
打具を用いる所与の球技ゲームを実行するゲーム装置であって、
打具の幅よりも大きい仮想幅を示す仮想幅情報を設定する設定手段と、
少なくとも、前記仮想幅情報と、ボールの軌道とに基づいて、打球の方向及び/又は速度を制御判定する打球制御手段と、
を備えるゲーム装置。
【請求項19】
所与の野球ゲームを実行するゲーム装置であって、
バットのスイング位置を入力する入力手段と、
前記スイング位置に基づいて、前記バットの幅方向に対応する長さが前記バットの幅よりも大きい衝突判定領域を設定する設定手段と、
少なくとも、前記衝突判定領域と、ボールの軌道とに基づいて、打球の方向及び/又は速度を制御する打球制御手段と、
を備えるゲーム装置。
【請求項20】
所与の操作入力がなされた後、仮想空間内における第1オブジェクトと第2オブジェクトの少なくとも一方の移動を自動的に制御するゲーム装置であって、
前記操作入力に基づいて、前記第1オブジェクトよりも大きい衝突判定領域を設定する設定手段と、
少なくとも、前記衝突判定領域と、前記第1オブジェクトの軌道と、前記第2オブジェクトの軌道とに基づいて、前記第1オブジェクトと前記第2オブジェクトとの衝突後の前記第2オブジェクトの移動方向及び/又は移動速度を制御する衝突後移動制御手段と、
を備えるゲーム装置。

【図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

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate


【公開番号】特開2011−218231(P2011−218231A)
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願番号】特願2011−176521(P2011−176521)
【出願日】平成23年8月12日(2011.8.12)
【分割の表示】特願2001−272396(P2001−272396)の分割
【原出願日】平成13年9月7日(2001.9.7)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】