JP3594181B2 - GAME DEVICE, GAME CONTROL METHOD, RECORDING MEDIUM - Google Patents

GAME DEVICE, GAME CONTROL METHOD, RECORDING MEDIUM Download PDF

Info

Publication number
JP3594181B2
JP3594181B2 JP2000018762A JP2000018762A JP3594181B2 JP 3594181 B2 JP3594181 B2 JP 3594181B2 JP 2000018762 A JP2000018762 A JP 2000018762A JP 2000018762 A JP2000018762 A JP 2000018762A JP 3594181 B2 JP3594181 B2 JP 3594181B2
Authority
JP
Japan
Prior art keywords
character
straight line
game
target position
exists
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 - Fee Related
Application number
JP2000018762A
Other languages
Japanese (ja)
Other versions
JP2001204961A (en
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
Original Assignee
Namco Ltd
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 filed Critical Namco Ltd
Priority to JP2000018762A priority Critical patent/JP3594181B2/en
Publication of JP2001204961A publication Critical patent/JP2001204961A/en
Application granted granted Critical
Publication of JP3594181B2 publication Critical patent/JP3594181B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、仮想空間に設定したフィールド上でキャラクタを遊技者が操作するゲーム装置、特に、フットサルやサッカーなどの球技スポーツに適用するのに好適なゲーム装置及び当該ゲーム制御方法、記録媒体に関する。
【0002】
【従来の技術】
家庭用ゲーム装置や業務用ゲーム装置の分野においては、各種の球技スポーツをシミュレートするビデオゲームが一つのゲームジャンルとして定着している。このようなゲームは、ゲーム装置の性能向上に伴って画面に表示される選手キャラクタの外見や動きのリアルさが以前と比べて格段にアップしてきている。また、ソフトウェア技術の向上や多彩な演出によって、ゲーム愛好者に広く受け入れられている。
【0003】
【発明が解決しようとする課題】
ところで、サッカーや、サッカーを小規模化したフットサルなどのスポーツをシミュレートするゲーム装置では、遊技者が、レバーなどの操作手段を使って特定の選手キャラクタを操作対象とし、その選手キャラクタのフィールド内における動きなどを操作して、遊技者間で、あるいは遊技者とゲーム装置との間で試合を行う。この場合、遊技者の操作対象となっていない選手キャラクタについては、CPUが所定のアルゴリズムに基づいてその動きを制御する。このアルゴリズムによっては、選手キャラクタの動きが不自然なものとなることがある。特に、CPUが制御する選手キャラクタの移動方向に相手チームの選手キャラクタや審判のキャラクタなどが存在した場合、CPUが制御する選手キャラクタに自然な動きで衝突を回避させるのが難しかった。
【0004】
本発明は、このような技術的背景のもとになされたものであり、その目的は、コンピュータ側が制御する選手キャラクタが他のキャラクタと衝突するのを回避する動作を、より自然でリアルにすることである。
【0005】
【課題を解決するための手段】
上記の目的を達成するために、請求項1記載の発明は、仮想空間に設定したフィールドの目標位置に向かうキャラクタの動きを制御するゲーム装置において、前記キャラクタが存在する位置を基準として、前記キャラクタが存在する位置と前記目標位置とを結ぶ直線と直交する2本の線分のうち前記キャラクタが存在する位置で前記直線と直交する線分を下底とし、前記キャラクタが移動する方向で前記直線と直交する線分を上底とし、前記下底よりも前記上底が短い台形である判定領域を設定する領域設定手段と、当該領域設定手段が設定した判定領域内に存在する他のキャラクタを検出するキャラクタ検出手段と、前記キャラクタが存在する位置と前記目標位置とを結ぶ直線に前記キャラクタ検出手段が検出した他のキャラクタの位置から降ろした垂線を延長した直線と、前記判定領域の台形の斜辺とが交わる位置を新たな目標位置とするように、前記キャラクタの移動方向を変更する変更手段とを具備することを特徴とする。
【0008】
請求項2記載の発明は、請求項1記載のゲーム装置において、前記キャラクタ検出手段が複数のキャラクタを検出した場合、当該複数のキャラクタの位置から前記キャラクタが存在する位置と前記目標位置とを結ぶ直線に降ろした垂線との交わる位置が前記ゲーム媒体を操るキャラクタに最も近いキャラクタに対してのみ衝突を回避する処理を行うことを特徴とする。
【0009】
請求項3記載の発明は、表示画面上の仮想空間に設定したフィールドの目標位置に向かうキャラクタの動きを、コンピュータを用いて制御するゲーム制御方法において、前記キャラクタが存在する位置を基準として、前記キャラクタが存在する位置と前記目標位置とを結ぶ直線と直交する2本の線分のうち前記キャラクタが存在する位置で前記直線と直交する線分を下底とし、前記キャラクタが移動する方向で前記直線と直交する線分を上底とし、前記下底よりも前記上底が短い台形である判定領域を設定する領域設定工程と、当該領域設定工程で設定した判定領域内に存在する他のキャラクタを検出するキャラクタ検出工程と、前記キャラクタが存在する位置と前記目標位置とを結ぶ直線に前記キャラクタ検出手段が検出した他のキャラクタの位置から降ろした垂線を延長した直線と、前記判定領域の台形の斜辺とが交わる位置を新たな目標位置とするように、前記キャラクタの移動方向を変更する変更工程とを有することを特徴とする
請求項4記載の発明は、表示画面上の仮想空間に設定したフィールドの目標位置に向かうキャラクタの動きを制御するゲームをコンピュータに実現させるプログラムを記録したコンピュータ読取可能な記録媒体において、前記ゲーム媒体を操るキャラクタが存在する位置を基準として、前記キャラクタが存在する位置と前記目標位置とを結ぶ直線と直交する2本の線分のうち前記キャラクタが存在する位置で前記直線と直交する線分を下底とし、前記キャラクタが移動する方向で前記直線と直交する線分を上底とし、前記下底よりも前記上底が短い台形である判定領域を設定する領域設定機能と、当該領域設定手段が設定した判定領域内に存在する他のキャラクタを検出するキャラクタ検出機能と、前記キャラクタが存在する位置と前記目標位置とを結ぶ直線に前記キャラクタ検出手段が検出した他のキャラクタの位置から降ろした垂線を延長した直線と、前記判定領域の台形の斜辺とが交わる位置を新たな目標位置とするように、前記キャラクタの移動方向を変更する変更機能とをコンピュータに実現させるためのプログラムを記録したものである。
【0010】
【発明の実施の形態】
以下、本発明の好適な実施の形態を、図面を参照して説明する。本実施の形態は、仮想空間内のフィールドで二つのチームが対戦するスポーツゲームを実現するプログラムを実行するゲーム装置に、本発明を適用したものである。ゲームの具体的な内容は、対戦式スポーツゲームの一例としてフットサルの試合を模したものである。
【0011】
先ず、図1を参照して遊戯者が選手キャラクタを操作する方法を説明する。
【0012】
図1は、ゲーム装置の外観を示した斜視図である。図1のゲーム装置1は、最大4人の遊技者でプレーすることができる。各遊技者は、ゴールキーパーを除く選手キャラクタのうちの1人を操作する。遊技者が操作する選手キャラクタのフィールド内の動きは、遊技者がレバー11等をどのように操作するかによる。
【0013】
ゲーム装置1には、遊技者の目の高さを考慮した位置に、ゲームの内容その他必要な事項を動画や静止画で表示するCRTモニタ10が設けられている。ゲームのプレー中にCRTモニタ10に表示されるフィールドの画像は、原則として横から斜め下を見おろした状態の画像である。
【0014】
CRTモニタ10の下の操作部には、4人でプレーする場合を考慮して四つの操作パネルa、b、c、dが用意され、それぞれにレバー11(11a,11b,11c,11d)、キック入力部12(12a,12b,12c,12d)、ボタン13(13a,13b,13c,13d)が設けられている。各遊技者は、操作パネルの前に立ってレバー11、キック入力部12、ボタン13を操作する。
【0015】
ゲーム装置1は、レバー11としてアナログレバーを用いている。アナログレバーには、軸を回すと抵抗値が変わる二つのボリューム(これらをxボリューム、yボリュームとする)が、各軸が直交するよう配置されている。各ボリュームの軸には、レバー11のシャフトの根元部分がギヤで接続されており、レバー11を倒す方向と倒した傾斜角に応じてxボリューム、yボリュームそれぞれの軸が回転する。レバー11をx方向又は−x方向(左右方向)に倒すとxボリュームだけが回転し、レバー11をy方向又は−y方向(上下方向)に倒すとyボリュームだけが回転する。また、レバー11をこれら以外の任意の方向に倒すとxボリュームとyボリュームの両方が、それぞれの方向に倒された分だけ回転する。サブCPU115(後述の図2参照)は、xボリューム、yボリュームの抵抗値を、一定の周期で常時検出している。サブCPU115は、これらの抵抗値に基づいてベクトル計算を行い、レバー11を倒す方向及び倒した角度を認識している。レバー11を倒す方向及び倒す角度を連続的に変化させると、xボリューム、yボリュームの各軸の回転角も連続的に変化し、各ボリュームの抵抗値は連続的に変化する。したがって、サブCPU115が認識する方向及び倒す角度も、連続的なものとなる。
【0016】
選手キャラクタが単純に移動する場合や選手キャラクタがボールをキープしてドリブルしている場合は、選手キャラクタの移動方向及び移動速度をレバー11で操作する。また、選手キャラクタがボールを蹴ってパスやシュートをする場合は、ボールが飛んで行く方向をレバー11で操作する。
【0017】
キック入力部12は、ゲーム装置1の下部に配置し、足で蹴るための擬似ボールを設けてある。擬似ボールは実際のフットサル用のボールとほぼ同じ寸法、同じ模様の半球状で、その表面の素材もフットサル用のボールと同じかもしくは類似したものを用いている。キック入力部12の擬似ボールを蹴って操作する内容は、主として操作している選手キャラクタが行うパス、シュート、スライディングタックルといった動作の開始の指示、パスやシュートによって蹴り出されるボールの速度の調節である。
【0018】
本実施の形態におけるゲーム装置のシステム構成を、図2を参照して説明する。図2は本実施の形態におけるゲーム装置のシステム構成の概略を示すブロック図である。
【0019】
本ゲーム装置のシステムは、CPUブロック110と、ビデオブロック120と、サウンドブロック130より構成されている。
【0020】
CPUブロック110は、プログラムの実行によりゲーム処理を進めるものである。CPUブロック110は、SCU(System Control Unit)111、メインCPU112、RAM113、ROM114、サブCPU115より構成されている。以下にCPUブロック110の各部について説明する。
【0021】
SCU111はバスを介して行われるデータの転送を統括する。SCU111は、内部にDMAコントローラを備え、RAM113等に格納されたゲーム実行中に必要な画像データをビデオブロック120内のVRAM123へ転送し、PCMデータをサウンドブロック130に転送する。
【0022】
メインCPU112は、その内部にDSP(Digital Signal Processor)を備え、ROM114から転送されたプログラムデータに基づいて処理を実行する。
【0023】
RAM113は、ROM114から読み出したアプリケーションソフトプログラムを格納する。ROM114は、装置の初期化処理のために用いるイニシャルプログラムデータを格納してある。
【0024】
ビデオブロック120は、ゲーム進行に応じた画像を出力する画像制御手段としての役割を果たす。VDP(Video Display Processor)121、122、VRAM123、フレームバッファ124,125、VRAM126およびメモリ127を具備する。以下にビデオブロック120の各部について説明する。
【0025】
VRAM123は、メインCPU112によりSCU111を介して転送された描画コマンド、ROM114から読み取った画像データを格納する。
【0026】
VDP121は、VRAM123に格納された描画コマンドに基づいて、ビットマップ形式の画像データの配置、選択、あるいはポリゴンデータからビットマップ形式のデータの生成を行う。VDP121は図形の変形、影やシェーディング等の色演算等を行う。VDP121で生成された画像データはフレームバッファ124,125に書き込まれる。VRAM126は背景画像を格納しており、VDP122は機能実現に必要なデータテーブル等を格納している。
【0027】
VDP122は、VRAM126、フレームバッファ124,125に格納された画像データに基づいて、影を付ける処理、拡大・縮小、回転、モザイク処理、移動処理、クリッピングや表示優先順位処理等の隠面処理、等の画像処理を行ない表示画面データをメモリ127に格納する。
【0028】
メモリ127は、VDP122からの描画用画像データを格納し、エンコーダ129に出力する。
【0029】
エンコーダ129はメモリ127に格納してある描画用画像データをビデオ信号のフォーマットに変換し、D/A変換してCRTモニタ10に供給する。CRTモニタ10は供給されたビデオ信号に基づいた画像を表示する。
【0030】
サウンドブロック130は、ビデオブロック120から出力される画像に対応する音響を発生すると共に、ゲームの進行状況に応じた音量レベルに調整した音響を発生するものであり、DSP132、CPU131およびサウンドRAM133等により構成してある。以下にサウンドブロック130の各部について説明する。
【0031】
CPU131は、メインCPU112によってRAM113から転送されたPCMデータを、DSP132に転送する。
【0032】
DSP132は、CPU131の制御により、PCMデータに基づいてPCM音源またはFM音源による波形発生、遅延データの生成、および音声合成を行ない、生成した波形データをD/Aコンバータ139に出力する。DSP132は、これらの採用により周波数制御、音量制御、FM演奏、変調、音声合成、リバーブ等の機能を備えている。
【0033】
サウンドRAM133は、ROM114から読み出したPCMデータを格納する。サウンドRAM133は、CPU131からアクセス可能である他に、メインCPU112から直接アクセス可能である。サウンドRAM133は、PCMデータを2つのバッファに分けて格納しており、一方のバッファにメインCPU112がアクセスしたり、新たなPCMデータを書き込んでいる間に、CPU131が他方のバッファからPCMデータを読み出して音響を発生させることができる。ここで、PCMデータとは、音声信号波形を量子化したデータであり、音楽や効果音を発生させるものである。
【0034】
D/Aコンバータ139は、DSP132によって生成された波形データを2チャンネルの信号に変換し、スピーカに供給する。
【0035】
次に、メインCPU112が制御する選手キャラクタの動作を説明する。遊戯者が操作しない選手キャラクタについては、メインCPU112が、予め用意されたアルゴリズムに基づいて制御する。メインCPU112がフィールド内において選手キャラクタを移動させる場合、必ず目標位置を定め、この目標位置に向かって移動させるようにしている。
【0036】
メインCPU112が制御する選手キャラクタに行わせる動作の一つに、その選手キャラクタが移動するときに、その選手キャラクタと衝突する可能性のある他のキャラクタがいた場合にその衝突を回避させる動作がある。ここで、衝突を回避する対象となるキャラクタは、他の選手キャラクタや審判キャラクタなどであり、メインCPU112が制御するキャラクタであるか否かを問わない。ここでゲーム媒体とは、選手キャラクタが操る媒体であり、本実施の形態ではフットサル用ボールであり、ゲーム内容がサッカーであれば、サッカーボールである。選手キャラクタがフットサル用ボールを操るとは、選手キャラクタがフットサル用ボールに何らかの働きかけをすることであり、例えばドリブルやパス、シュート、タックルなどである。
【0037】
図3を参照して目標位置から定まる移動方向に存在するキャラクタとの衝突を回避するためのアルゴリズムを説明する。本実施の形態では、位置Aに存在する選手キャラクタがゲーム媒体であるフットサル用ボールをドリブルする際に、他の選手キャラクタとの衝突を回避するアルゴリズムを代表して説明する。
【0038】
図3は、衝突回避アルゴリズムを示す模式図である。
【0039】
図3に示す判定領域30は、位置Aに存在する選手キャラクタに衝突する可能性のある選手キャラクタを検出する領域である。
【0040】
先ず、前述の判定領域30の設定方法を説明する。
【0041】
図3に示す位置Pは、例えばゴールの中心位置であり、位置Aに存在する選手キャラクタの目標位置に相当する。位置Aは、本処理を開始する際におけるフットサル用ボールを保持してドリブルする選手キャラクタの位置である。位置Aと位置Pを結ぶ直線上において、位置Aから所定距離dだけ離れた位置に位置Bを設定する。dの値は、台形の高さを規定するものであり、実際のフットサルに用いるフィールドの寸法を考慮して7メートル相当にしてある。判定領域30は、線分ABと点Aで直交する長さ2×W1の線分を下底、線分ABと点Bで直交する長さ2×W2の線分を上底とし、上底及び下底の左右端に斜辺を引いて形成される台形の領域として設定してある。従って、判定領域30は比較的先の細い(W1>W2)縦長の台形状である。以上のように、ゲーム媒体であるフットサル用ボールを操る選手キャラクタが存在する位置Aを基準として判定領域30が設定される。
【0042】
次に位置Aに存在する選手キャラクタと衝突する可能性のある選手キャラクタの検出方法を説明する。
【0043】
図3に示す位置C、位置J及び位置Kは、衝突回避処理を開始する際にフットサル用ボールを保持しない選手キャラクタの存在する位置である。位置C、位置J及び位置Kが判定領域30内に存在すれば、位置Aに存在する選手キャラクタがこれらのキャラクタに衝突する可能性が高いとして、移動方向を変更する。
【0044】
メインCPU112は、常に全ての選手キャラクタの位置を追跡して座標データとして保持している。位置C、位置J及び位置Kの位置は既知である。位置C、位置J及び位置Kが判定領域30内にあるか否かの判定は、以下のようにして行う。
【0045】
まず、位置Cから線分AB上又は線分ABを延長した直線上に垂線をおろし、この垂線と線分AB又はこれを延長した直線との交わる位置Dの座標を求め、当該交わる位置Dの位置レートrを求める。ここで「位置レートr」とは、線分ABの長さに対する線分ADの長さの割合である。例えば、ADの長さがABの長さの30%であれば、位置Dの位置レートは0.3となる。位置レートrが0<r<1の範囲にあれば、その点は判定領域30内に存在する可能性がある。一方、位置レートrの値がこの範囲外であれば、その位置は判定領域30内に存在しない。
【0046】
次に、位置レートrが0<r<1の範囲にあるものについて、線分DEの長さWを求める。位置Eは、図3に示すように線分CDを位置Cから先に延長した直線が判定領域30の斜辺と交わる点である。W=(W1−W2)×(1−r)+W2の値は、図3に示すように、線分DEの長さを表している。線分CDの長さwは、位置C及び位置Dの座標データから求めることができる。ここで、W>wであれば、前述のように位置Cの位置レートが0<r<1の範囲にあるので、位置Cは判定領域30の斜辺内に存在する。そこで、このような点に位置するキャラクタは、位置Aに存在する選手キャラクタが衝突する可能性が高いものとして扱う。一方、W≦wであれば、位置Cは判定領域30の斜辺外に存在することになるので、このような点に位置するキャラクタは、位置Aに存在する選手キャラクタが衝突する可能性は低いものとして扱う。
【0047】
以上のようにして判定領域30内に存在するフットサル用ボールを保持しない選手キャラクタが検出される。ここで、言うフットサル用ボールを保持しない選手キャラクタは、位置Aでフットサル用ボールを操る選手キャラクタと異なるキャラクタである。
【0048】
次に、判定領域30内に衝突する可能性のあるキャラクタが存在したときに、点Aに存在する選手キャラクタにそのキャラクタとの衝突を回避させる方法について説明する。線分CDを位置Dから先に延長した直線が判定領域30の右側の斜辺と交わった位置Fを求め、本来の目標位置Pに代えて、位置Fを新たな目標位置とする。そして、点Aに存在する選手キャラクタの移動方向を、新たに目標位置として設定された点Fに向かう方向に変更する。これによって、点Aに存在する選手キャラクタと、判定領域30内にいるキャラクタとの衝突が回避される。
【0049】
ここで、図3において∠DAFの角度を衝突回避角θとすると、判定領域30の内部で、選手キャラクタのいる位置Cが、直線ABに沿って見たときに位置Aから遠ければ衝突回避角θの値は小さくなるので、衝突を回避するための動作は小さくなる。一方、直線ABに沿って見たときに位置Aに近いほど衝突回避角θの値は大きくなるので、衝突を回避するため動作は大きくなる。すなわち、点Fの位置は、判定領域30内にいるキャラクタの位置によって変わってくる。このように判定領域30内に存在するフットサル用ボールを保持しない選手キャラクタの位置に応じて、点Aにいるフットサル用ボールを操る選手キャラクタの移動方向を変更し、回避動作の大きさを変えることにより、実際の試合における選手の動きに近い、より自然な動きとなる。
【0050】
なお、位置J、位置Kについても、前述した方法で判定領域30内に存在するか否かを判定することができる。
【0051】
判定領域30は、前述のように比較的先の細い(W1>W2)縦長の台形状としたことにより、例えば位置Jにいるキャラクタのように、その位置が位置Aから遠い場合(位置レートrが大きい場合)は、線分ABの近くにいる場合であっても衝突を回避する必要のある対象とは判定しない。これは、実際の試合においては、相手チームの選手や審判が遠くにいる場合は、たとえそれと認識した場合であっても、必ずしも衝突を回避する行動をとるとは限らないからである。
【0052】
一方、判定領域30は、前述のように比較的先の細い(W1>W2)縦長の台形状としたことにより、位置Kにいるキャラクタのように、その位置が位置Aに近い場合(位置レートrが小さい場合)には、線分ABからの距離が位置Jと同じであっても衝突を回避する必要のある対象と判定する。これは、実際の試合において、相手チームの選手や審判が近くにいる場合は、衝突を避けるために大きな行動をとると考えられるからである。
【0053】
従って、上で述べた本実施形態のゲーム装置における処理は、実際の試合における選手の判断や動きと比較した場合に、合理的なものであることが理解される。このため、メインCPU112が制御する選手キャラクタの動きは、実際の試合において選手が行う動作と非常に類似したものとなり、より自然な動きが実現される。
【0054】
次にメインCPU112が制御する選手キャラクタの衝突回避処理を図3及び図4を参照して説明する。
【0055】
図4は衝突回避処理を示したフローチャートである。この衝突回避処理は、ゴールなどを目標位置に向かって移動するように設定した後、例えば図3に示す位置Cが判定領域30内にある場合は、位置Cに存在する選手キャラクタとの衝突とるを回避するために移動方向を変更し、位置Cが判定領域30外にある場合は、目標位置に向かって移動するように移動方向を設定する処理である。
【0056】
メインCPU112は、フットサル用ボールを保持しない選手キャラクタが存在する位置からフットサル用ボールを保持した選手キャラクタが存在する位置Aと目標位置Pを結ぶ直線までの距離wと、フットサル用ボールを保持しない選手キャラクタの存在する位置に対応した位置レートrとを求める(ステップ10)。例えば、図3に示すようにフットサル用ボールを保持しない選手キャラクタが存在する位置を位置Cとすれば、線分CDの長さwと位置Dの位置レートrである。
【0057】
メインCPU112は、ステップ10で求められた位置レートrが0<r<1の範囲にある場合には、rがこれ以前に既に求めている他のフットサル用ボールを保持しない選手キャラクタの位置レートRよりも小さいか否か(R>rか否か)を判定する(ステップ11)。位置レートrの値が小さいほど、線分ABに沿って見たときに、位置Aにより近いことを表している。もっとも、図4に示したループを最初に回るときは、Rを最遠方に相当する値、例えば1.2に設定して行う。
【0058】
メインCPU112は、ステップ11で、R≦rであると判断した場合、メインCPU112はステップ16の処理を実行する。
【0059】
メインCPU112は、ステップ11においてR>rであると判断した場合には、次の式によって、W=(W1−W2)×(1−r)+W2を算出する(ステップ12)。
【0060】
メインCPU112は、ステップ10で得られた線分の長さwと、ステップ12で得られた回避対象幅Wとを比較する(ステップ13)。ステップ10〜ステップ13がキャラクタ検出機能を実現している。
【0061】
メインCPU112は、ステップ13でW>wであると判断した場合、フットサル用ボールを保持しない選手キャラクタが判定領域30内に存在することを意味する。メインCPU112は、この選手キャラクタを回避すべきキャラクタの候補として、その選手キャラクタに関するデータをRAM113に保存する(ステップ14)。ここで、RAM113に格納されるデータは、w,r,位置ベクトル、投影位置に関するデータである。一方、ステップ13でW≦wであると判断した場合、メインCPU112はステップ16の処理を実行する。
【0062】
次に、メインCPU112は、キャラクタIDを1だけインクリメントする(ステップ15)。キャラクタIDは、ゴールキーパーを含めた10人の選手キャラクタに固有に設定してあるIDであり、例えば、0〜9の数字を各選手キャラクタに設定してある。
【0063】
メインCPU112は、全てのキャラクタについて終了しているかを判断する(ステップ16)。前述の例であれば、キャラクタIDが最大値9であれば、メインCPU112は、全てのキャラクタについて終了したと判断する。メインCPU112は、ステップ16で全てのキャラクタについて終了していないと判断すれば、次のキャラクタについてステップ10〜ステップ16の処理を行う。つまり、メインCPU112は、キャラクタIDを順番にインクリメントして、ステップ10〜ステップ16を繰り返し実行することによって、全てのフットサル用ボールを保持しない選手キャラクタについて、判定領域30内に存在するかどうかを判定することができる。
メインCPU112は、ステップ16で全ての選手キャラクタについてステップ10〜ステップ16の処理を終了したと判断した場合、そのうち線分ABに沿って最も位置Aに近い選手キャラクタを選択する(ステップ17)。即ち、ステップ10〜ステップ16のループ処理で複数の選手キャラクタに関するデータが保存された場合、複数の選手キャラクタの位置からゲーム媒体を操る選手キャラクタが存在する位置Aと目標位置Pとを結ぶ直線に降ろした垂線との交わる位置レートが最も小さい選手キャラクタに対してのみ衝突を回避する処理を行うことを意味する。
【0064】
ステップ17で選択した選手キャラクタが、例えば図3に示す位置Cにいるキャラクタであったとする。メインCPU112は、このキャラクタを、衝突を回避すべき選手キャラクタと認識して次の衝突回避処理を行う(ステップ18)。ステップ18がフットサル用ボールを操る選手キャラクタの移動方向を更新する機能を達成している。
【0065】
メインCPU112は、位置Aに存在する選手キャラクタが位置Fに向かって進行するよう、その移動方向を変更する。これにより、位置Aに存在するフットサル用ボールを保持してドリブルする選手キャラクタは、位置Cに存在する選手キャラクタとの衝突を回避することができる。
【0066】
ステップ18で衝突回避処理を終えたフットサル用ボールを保持してドリブルする選手キャラクタは、新たな目標位置Fに向かって移動方向を変えた直後に、後方にいた選手キャラクタが前方に急に移動してきたためにその選手キャラクタと衝突する場合も想定できる。本実施形態の処理では、そのような場合までも衝突を回避することは意図してはいない。これは、実際の試合においても、ある選手との衝突を避けるような動きをした直後に、別の選手とぶつかるという状況はしばしば起こることであり、このような場合の衝突まで回避するようにすると、却って現実の状況とずれる恐れがあるからである。
【0067】
メインCPU112は、ステップ17で判定領域30内にボールを保持しない選手キャラクタが存在しないと判定した場合、ステップ18の衝突回避処理を行わない。従って、位置Aに存在するフットサル用ボールを保持してドリブルする選手キャラクタは、メインCPU112の制御に従って本来の目標位置Pに向かって移動する。
【0068】
前述の衝突回避処理は、ゴールなどを目標位置Pに向かうようにする設定に続けて実行されるので、目標位置Pとの間で選手キャラクタが存在する場合にはまた新たに目標位置を設定して衝突回避行動をとるという処理を繰り返す。このような処理を繰り返していって、判定領域30内にフットサル用ボールを保持しない選手キャラクタが存在しなくなったときは、再び本来の目標位置Pに向かって移動する。
【0069】
上述した実施の形態では、位置Aに存在する選手キャラクタがゲーム媒体であるフットサル用ボールを保持している際に他の選手キャラクタとの衝突を回避するアルゴリズムとして説明した。これに限定されず、位置Aに存在する選手キャラクタがゲーム媒体であるフットサル用ボールを保持しておらず、別の選手キャラクタがボールを保持しているような場合にも、同様のアルゴリズムが適用される。
【0070】
以上で説明したような衝突回避処理は、フットサル用ボールを操る選手キャラクタが存在しない場合に実行されない。例えば、ボールが、どの選手にもキープされていないフリー状態となった場合がその一例である。この場合、フィールド内を転々と転がっているボールを取りに行く選手が複数いたときは、互いに競り合ったりぶつかり合いながらボールを追いかけるのが普通である。また、相手チームの選手にタックルする場合のように、相手チームの選手に接触したり近づくのが普通のプレーのときにも、上で説明した衝突回避処理は行わない。
【0071】
なお、本発明は、上記の実施の形態に限定されるものではなく、その要旨の範囲内で種々の変更が可能である。たとえば、上記の実施形態では、メインCPU112が制御するフットサル用ボールを操る選手キャラクタのいる位置と目標位置とを結ぶ直線を中心線として先端が細い縦長の台形の領域を判定領域30として説明した。しかし、判定領域30の形状は台形に限定されるものではなく、例えば、三角形や長方形などであってもよい。
【0072】
さらに、上記の実施の形態では、本発明をフットサルに特化したゲーム装置に適用したが、本発明は、サッカー、ハンドボール、バスケットボール、野球などの球技をシミュレートする各種のゲーム装置にも適用することができる。
【0073】
加えて、本発明は、上で説明したゲーム内容のコンピュータプログラムを、記録媒体に記録するという形態でも実施することが可能であり、そのような実施の形態も本発明の技術的範囲に含まれる。当該記録媒体には、磁気テープ、フレキシブルディスク、CD−ROM又はDVD等の光ディスク、MO等の光磁気ディスクなどが含まれる。
【0074】
【発明の効果】
以上説明したように、本発明は、仮想空間に設定したフィールドの目標位置に向かうキャラクタについて、このキャラクタが存在する位置を基準として判定領域を設定し、この判定領域内に存在する他のキャラクタを検出し、当該他のキャラクタの位置に応じて、装置側が制御するキャラクタの移動方向を変更することによって、他の選手キャラクタとの衝突を回避させるようにする。その場合に、前述の判定領域の形状を、例えば所定寸法の台形にすることによって、より自然でリアルな動きで装置制御のキャラクタに衝突回避動作を行わせることができる。
【図面の簡単な説明】
【図1】ゲーム装置の外観を示した斜視図である。
【図2】ゲーム装置のシステム構成の概略を示したブロック図である。
【図3】衝突回避動作を行わせるための判定領域30を示した図である。
【図4】衝突回避動作を行わせるための処理を示したフローチャートである。
【符号の説明】
1…ゲーム装置, 10…CRTモニタ, 11(11a,11b,11c,11d)…レバー, 12(12a,12b,12c,12d)…キック入力部,13(13a,13b,13c,13d)…ボタン,30…台形領域, 110…CPUブロック, 111…SCU, 112…メインCPU, 113…RAM, 114…ROM, 115…サブCPU, 120…ビデオブロック, 130…サウンドブロック, 131…CPU, 132…DSP, 133…サウンドRAM
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a game device in which a player operates a character on a field set in a virtual space, and more particularly to a game device suitable for being applied to ball sports such as futsal and soccer, the game control method, and a recording medium.
[0002]
[Prior art]
In the field of home game devices and arcade game devices, video games simulating various ball sports are firmly established as one game genre. In such a game, the appearance and movement realities of the player characters displayed on the screen have been remarkably improved as compared with the past as the performance of the game apparatus is improved. In addition, it is widely accepted by game enthusiasts due to improvements in software technology and various effects.
[0003]
[Problems to be solved by the invention]
By the way, in a game device that simulates a sport such as soccer or futsal in which soccer is scaled down, a player can operate a specific player character using an operating means such as a lever, and within the player character's field. A game is played between players or between a player and a game device by manipulating the movement of the player. In this case, for a player character that is not an operation target of the player, the CPU controls the movement based on a predetermined algorithm. Depending on this algorithm, the movement of the player character may become unnatural. In particular, when there is a player character of the opponent team or a referee character in the moving direction of the player character controlled by the CPU, it is difficult for the player character controlled by the CPU to avoid a collision with a natural movement.
[0004]
The present invention has been made based on such a technical background, and an object of the present invention is to make an action for avoiding a player character controlled by the computer from colliding with another character more natural and realistic. That is.
[0005]
[Means for Solving the Problems]
In order to achieve the above object, according to the first aspect of the present invention, in the game device that controls the movement of the character toward the target position of the field set in the virtual space, the position where the character exists is used as a reference. Of the two line segments orthogonal to the straight line connecting the position where the character exists and the target position, the line segment orthogonal to the straight line at the position where the character exists is the bottom, and the direction in which the character moves A line segment orthogonal to the straight line is an upper base, and the upper base is shorter than the lower base. Area setting means for setting a determination area; character detection means for detecting other characters existing in the determination area set by the area setting means; A position where the straight line extending from the position of the other character detected by the character detecting means and the straight line connecting the position where the character exists and the target position intersects the trapezoid hypotenuse of the determination area is newly added. Change the moving direction of the character so that the target position is correct And changing means.
[0008]
Claim Item 2 The claimed invention is claimed. Item 1 In the above game apparatus, when the character detecting means detects a plurality of characters, the position where the perpendicular line drawn from the position of the plurality of characters to the straight line connecting the position where the character exists and the target position intersects is A process for avoiding a collision is performed only on the character closest to the character operating the game medium.
[0009]
Claim Item 3 The invention described is On the display screen Character movement toward the target position of the field set in the virtual space Using a computer In the game control method to control, on the basis of the position where the character exists, Of the two line segments orthogonal to the straight line connecting the position where the character exists and the target position, the line segment orthogonal to the straight line at the position where the character exists is the bottom, and the direction in which the character moves A line segment orthogonal to the straight line is an upper base, and the upper base is shorter than the lower base. A region setting step for setting a determination region; a character detection step for detecting other characters existing in the determination region set in the region setting step; A position where the straight line extending from the position of the other character detected by the character detecting means and the straight line connecting the position where the character exists and the target position intersects the trapezoid hypotenuse of the determination area is newly added. Change the moving direction of the character so that the target position is correct And a changing process
Claim Item 4 The invention described is On the display screen In a computer-readable recording medium that records a program for causing a computer to implement a game for controlling the movement of the character toward the target position of the field set in the virtual space, with reference to the position where the character operating the game medium exists as a reference Of the two line segments orthogonal to the straight line connecting the position where the character exists and the target position, the line segment orthogonal to the straight line at the position where the character exists is the bottom, and the direction in which the character moves A line segment orthogonal to the straight line is an upper base, and the upper base is shorter than the lower base. An area setting function for setting a determination area; a character detection function for detecting other characters existing in the determination area set by the area setting means; A position where the straight line extending from the position of the other character detected by the character detecting means and the straight line connecting the position where the character exists and the target position intersects the trapezoid hypotenuse of the determination area is newly added. Change the moving direction of the character so that the target position is correct A program for causing a computer to implement the change function is recorded.
[0010]
DETAILED DESCRIPTION OF THE INVENTION
Preferred embodiments of the present invention will be described below with reference to the drawings. In the present embodiment, the present invention is applied to a game device that executes a program for realizing a sports game in which two teams battle in a field in a virtual space. The specific content of the game imitates a futsal game as an example of a competitive sports game.
[0011]
First, a method for a player to operate a player character will be described with reference to FIG.
[0012]
FIG. 1 is a perspective view showing an appearance of the game apparatus. The game apparatus 1 in FIG. 1 can be played by up to four players. Each player operates one of the player characters excluding the goalkeeper. The movement in the field of the player character operated by the player depends on how the player operates the lever 11 and the like.
[0013]
The game apparatus 1 is provided with a CRT monitor 10 that displays the contents of the game and other necessary items as moving images and still images at positions that take into consideration the height of the eyes of the player. The field image displayed on the CRT monitor 10 during game play is, as a rule, an image looking down from the side.
[0014]
In the operation section below the CRT monitor 10, four operation panels a, b, c, d are prepared in consideration of the case where four players play, and each of them has a lever 11 (11a, 11b, 11c, 11d), A kick input unit 12 (12a, 12b, 12c, 12d) and a button 13 (13a, 13b, 13c, 13d) are provided. Each player stands in front of the operation panel and operates the lever 11, the kick input unit 12, and the button 13.
[0015]
The game apparatus 1 uses an analog lever as the lever 11. In the analog lever, two volumes whose resistance values change when the shaft is rotated (these are referred to as an x volume and a y volume) are arranged so that the respective axes are orthogonal to each other. The base portion of the shaft of the lever 11 is connected to the shaft of each volume by a gear, and the respective axes of the x volume and the y volume rotate according to the direction in which the lever 11 is tilted and the tilt angle. When the lever 11 is tilted in the x direction or -x direction (left-right direction), only the x volume rotates, and when the lever 11 is tilted in the y direction or -y direction (vertical direction), only the y volume rotates. When the lever 11 is tilted in any direction other than these, both the x volume and the y volume rotate by the amount tilted in the respective directions. The sub CPU 115 (see FIG. 2 described later) constantly detects the resistance values of the x volume and the y volume at a constant period. The sub CPU 115 performs vector calculation based on these resistance values, and recognizes the direction and angle at which the lever 11 is tilted. When the direction in which the lever 11 is tilted and the angle at which the lever 11 is tilted are continuously changed, the rotation angle of each axis of the x volume and the y volume is also continuously changed, and the resistance value of each volume is continuously changed. Therefore, the direction recognized by the sub CPU 115 and the tilt angle are also continuous.
[0016]
When the player character simply moves or when the player character is dribbling by keeping the ball, the lever 11 controls the moving direction and moving speed of the player character. When the player character kicks the ball and makes a pass or shoot, the lever 11 is operated in the direction in which the ball flies.
[0017]
The kick input unit 12 is arranged at the lower part of the game apparatus 1 and is provided with a pseudo ball for kicking with a foot. The pseudo ball has a hemispherical shape with the same dimensions and pattern as an actual futsal ball, and the surface material is the same as or similar to the futsal ball. The contents of kicking and operating the pseudo ball of the kick input unit 12 are mainly an instruction to start a motion such as a pass, a shoot, and a sliding tackle performed by the player character being operated, and an adjustment of the speed of the ball kicked by the pass and the shoot. is there.
[0018]
The system configuration of the game device in the present embodiment will be described with reference to FIG. FIG. 2 is a block diagram showing an outline of the system configuration of the game apparatus according to the present embodiment.
[0019]
The system of this game apparatus is composed of a CPU block 110, a video block 120, and a sound block 130.
[0020]
The CPU block 110 advances game processing by executing a program. The CPU block 110 includes an SCU (System Control Unit) 111, a main CPU 112, a RAM 113, a ROM 114, and a sub CPU 115. Hereinafter, each part of the CPU block 110 will be described.
[0021]
The SCU 111 supervises data transfer performed via the bus. The SCU 111 includes a DMA controller therein, transfers image data required during game execution stored in the RAM 113 or the like to the VRAM 123 in the video block 120, and transfers PCM data to the sound block 130.
[0022]
The main CPU 112 includes a DSP (Digital Signal Processor) therein, and executes processing based on program data transferred from the ROM 114.
[0023]
The RAM 113 stores application software programs read from the ROM 114. The ROM 114 stores initial program data used for initialization processing of the device.
[0024]
The video block 120 serves as image control means for outputting an image according to the progress of the game. VDPs (Video Display Processors) 121 and 122, a VRAM 123, frame buffers 124 and 125, a VRAM 126, and a memory 127 are provided. Hereinafter, each part of the video block 120 will be described.
[0025]
The VRAM 123 stores the drawing command transferred from the main CPU 112 via the SCU 111 and the image data read from the ROM 114.
[0026]
Based on the drawing command stored in the VRAM 123, the VDP 121 arranges and selects bitmap image data, or generates bitmap data from polygon data. The VDP 121 performs color calculations such as figure deformation, shadow and shading. The image data generated by the VDP 121 is written into the frame buffers 124 and 125. The VRAM 126 stores a background image, and the VDP 122 stores a data table necessary for realizing the function.
[0027]
Based on the image data stored in the VRAM 126 and the frame buffers 124 and 125, the VDP 122 performs shadowing processing, enlargement / reduction, rotation, mosaic processing, movement processing, hidden surface processing such as clipping and display priority processing, etc. The display screen data is stored in the memory 127.
[0028]
The memory 127 stores the drawing image data from the VDP 122 and outputs it to the encoder 129.
[0029]
The encoder 129 converts the drawing image data stored in the memory 127 into a video signal format, performs D / A conversion, and supplies it to the CRT monitor 10. The CRT monitor 10 displays an image based on the supplied video signal.
[0030]
The sound block 130 generates sound corresponding to the image output from the video block 120 and generates sound adjusted to a sound volume level according to the progress of the game. The sound block 130 includes a DSP 132, a CPU 131, a sound RAM 133, and the like. It is configured. Hereinafter, each part of the sound block 130 will be described.
[0031]
The CPU 131 transfers the PCM data transferred from the RAM 113 by the main CPU 112 to the DSP 132.
[0032]
Under control of the CPU 131, the DSP 132 performs waveform generation by the PCM sound source or FM sound source, generation of delay data, and speech synthesis based on the PCM data, and outputs the generated waveform data to the D / A converter 139. The DSP 132 has functions such as frequency control, volume control, FM performance, modulation, speech synthesis, and reverb by adopting these.
[0033]
The sound RAM 133 stores PCM data read from the ROM 114. In addition to being accessible from the CPU 131, the sound RAM 133 is directly accessible from the main CPU 112. The sound RAM 133 stores the PCM data divided into two buffers, and the CPU 131 reads the PCM data from the other buffer while the main CPU 112 accesses one buffer or writes new PCM data. Sound can be generated. Here, the PCM data is data obtained by quantizing an audio signal waveform, and generates music and sound effects.
[0034]
The D / A converter 139 converts the waveform data generated by the DSP 132 into a 2-channel signal and supplies it to the speaker.
[0035]
Next, the operation of the player character controlled by the main CPU 112 will be described. For the player character that is not operated by the player, the main CPU 112 controls based on an algorithm prepared in advance. When the main CPU 112 moves the player character in the field, the target position is always determined and moved toward the target position.
[0036]
One of the actions to be performed by the player character controlled by the main CPU 112 is an action for avoiding the collision when there is another character that may collide with the player character when the player character moves. . Here, the character that is a target for avoiding a collision is another player character, a referee character, or the like, regardless of whether the character is controlled by the main CPU 112 or not. Here, the game medium is a medium operated by the player character, and in this embodiment is a futsal ball. If the game content is soccer, it is a soccer ball. When the player character manipulates the futsal ball, the player character acts on the futsal ball, for example, dribbling, passing, shooting, tackling, or the like.
[0037]
An algorithm for avoiding a collision with a character existing in the moving direction determined from the target position will be described with reference to FIG. In this embodiment, an algorithm for avoiding a collision with another player character when the player character existing at the position A dribbles a futsal ball as a game medium will be described as a representative.
[0038]
FIG. 3 is a schematic diagram showing a collision avoidance algorithm.
[0039]
The determination area 30 shown in FIG. 3 is an area for detecting a player character that may collide with a player character existing at the position A.
[0040]
First, a method for setting the determination area 30 will be described.
[0041]
The position P shown in FIG. 3 is the center position of the goal, for example, and corresponds to the target position of the player character existing at the position A. The position A is the position of the player character that dribbles while holding the futsal ball when starting this processing. On the straight line connecting the position A and the position P, the position B is set at a position separated from the position A by a predetermined distance d. The value of d defines the height of the trapezoid and is equivalent to 7 meters in consideration of the dimensions of the field used for actual futsal. The determination region 30 has a line segment of length 2 × W1 orthogonal to the line segment AB and the point A as a lower base, and a line segment of length 2 × W2 orthogonal to the line segment AB and the point B as an upper base. And a trapezoidal area formed by drawing the hypotenuse at the left and right ends of the lower base. Accordingly, the determination region 30 has a vertically long trapezoidal shape (W1> W2) that is relatively thin. As described above, the determination area 30 is set based on the position A where the player character who controls the futsal ball as the game medium exists.
[0042]
Next, a method for detecting a player character that may collide with a player character existing at position A will be described.
[0043]
Position C, position J, and position K shown in FIG. 3 are positions where player characters that do not hold the futsal ball when the collision avoidance process is started exist. If the position C, the position J, and the position K exist in the determination area 30, the moving direction is changed on the assumption that the player character existing at the position A is likely to collide with these characters.
[0044]
The main CPU 112 always tracks the positions of all player characters and holds them as coordinate data. The positions C, J and K are known. Whether or not the position C, the position J, and the position K are within the determination region 30 is determined as follows.
[0045]
First, a perpendicular line is placed on the line segment AB or a straight line obtained by extending the line segment AB from the position C, and the coordinates of the position D where the perpendicular line and the line segment AB or a straight line extending the line intersect are obtained. The position rate r is obtained. Here, the “position rate r” is the ratio of the length of the line segment AD to the length of the line segment AB. For example, if the AD length is 30% of the AB length, the position rate of the position D is 0.3. If the position rate r is in the range of 0 <r <1, the point may exist in the determination area 30. On the other hand, if the value of the position rate r is outside this range, the position does not exist in the determination area 30.
[0046]
Next, the length W of the line segment DE is obtained for the position rate r in the range of 0 <r <1. The position E is a point where a straight line obtained by extending the line segment CD from the position C first intersects with the oblique side of the determination region 30 as shown in FIG. The value of W = (W1−W2) × (1−r) + W2 represents the length of the line segment DE as shown in FIG. The length w of the line segment CD can be obtained from the coordinate data of the position C and the position D. Here, if W> w, since the position rate of the position C is in the range of 0 <r <1, as described above, the position C exists in the hypotenuse of the determination area 30. Therefore, the character located at such a point is treated as a player who is highly likely to collide with the player character existing at the position A. On the other hand, if W ≦ w, the position C exists outside the hypotenuse of the determination area 30, and therefore, the character located at such a point is less likely to collide with the player character existing at the position A. Treat as a thing.
[0047]
As described above, a player character that does not hold the futsal ball existing in the determination area 30 is detected. Here, the player character that does not hold the futsal ball is a character different from the player character that manipulates the futsal ball at the position A.
[0048]
Next, a method for causing the player character existing at the point A to avoid a collision with the character when there is a character that may collide in the determination region 30 will be described. A position F where a straight line obtained by extending the line segment CD from the position D first intersects with the oblique side on the right side of the determination region 30 is obtained, and the position F is set as a new target position instead of the original target position P. Then, the moving direction of the player character existing at the point A is changed to the direction toward the point F newly set as the target position. Thereby, the collision between the player character existing at the point A and the character in the determination area 30 is avoided.
[0049]
Here, assuming that the angle of ∠DAF in FIG. 3 is the collision avoidance angle θ, if the position C where the player character is located is far from the position A when viewed along the straight line AB within the determination area 30, the collision avoidance angle. Since the value of θ is small, the operation for avoiding the collision is small. On the other hand, the closer to the position A when viewed along the straight line AB, the larger the value of the collision avoidance angle θ, so that the operation increases in order to avoid the collision. That is, the position of the point F varies depending on the position of the character in the determination area 30. In this way, the movement direction of the player character that manipulates the futsal ball at point A is changed according to the position of the player character that does not hold the futsal ball existing in the determination area 30, and the size of the avoidance action is changed. As a result, the movement becomes more natural, close to the movement of the player in the actual game.
[0050]
Note that it is possible to determine whether the position J and the position K are also present in the determination region 30 by the method described above.
[0051]
As described above, the determination region 30 has a relatively narrow (W1> W2) vertically long trapezoidal shape, so that the position is far from the position A, such as a character at the position J (position rate r). Is large), it is not determined that the object needs to avoid a collision even when it is near the line segment AB. This is because, in an actual game, when a player or referee of the opponent team is far away, even if it is recognized as such, it does not necessarily take an action to avoid a collision.
[0052]
On the other hand, the determination area 30 has a relatively narrow (W1> W2) vertically long trapezoidal shape as described above, so that the position is close to the position A as in the character at the position K (position rate). When r is small), even if the distance from the line segment AB is the same as the position J, it is determined that the object needs to avoid collision. This is because, in an actual game, when a player or a referee of the opponent team is nearby, it is considered that a large action is taken to avoid a collision.
[0053]
Therefore, it is understood that the processing in the game device of the present embodiment described above is reasonable when compared with the judgment and movement of the player in the actual game. For this reason, the movement of the player character controlled by the main CPU 112 is very similar to the movement performed by the player in the actual game, and a more natural movement is realized.
[0054]
Next, the player character collision avoidance process controlled by the main CPU 112 will be described with reference to FIGS.
[0055]
FIG. 4 is a flowchart showing the collision avoidance process. In this collision avoidance process, after setting the goal or the like to move toward the target position, for example, when the position C shown in FIG. 3 is in the determination region 30, the collision with the player character existing at the position C is taken. In this process, the movement direction is changed so as to move toward the target position when the movement direction is changed and the position C is outside the determination region 30.
[0056]
The main CPU 112 determines the distance w from the position where the player character not holding the futsal ball exists to the straight line connecting the position A where the player character holding the futsal ball exists and the target position P, and the player not holding the futsal ball. A position rate r corresponding to the position where the character exists is obtained (step 10). For example, if the position where the player character that does not hold the futsal ball is present as the position C as shown in FIG. 3, the length w of the line segment CD and the position rate r of the position D are obtained.
[0057]
When the position rate r obtained in step 10 is in the range of 0 <r <1, the main CPU 112 determines the position rate R of the player character that does not hold other futsal balls that r has already obtained before this time. Or less (R> r) (step 11). The smaller the value of the position rate r, the closer to the position A when viewed along the line segment AB. However, when the loop shown in FIG. 4 is first rotated, R is set to a value corresponding to the farthest distance, for example, 1.2.
[0058]
When the main CPU 112 determines in step 11 that R ≦ r, the main CPU 112 executes the process of step 16.
[0059]
If the main CPU 112 determines that R> r in step 11, W = (W1−W2) × (1−r) + W2 is calculated by the following equation (step 12).
[0060]
The main CPU 112 compares the length w of the line segment obtained in step 10 with the avoidance target width W obtained in step 12 (step 13). Steps 10 to 13 realize the character detection function.
[0061]
If the main CPU 112 determines in step 13 that W> w, it means that there is a player character that does not hold the futsal ball in the determination area 30. The main CPU 112 stores data relating to the player character in the RAM 113 as a character candidate that should avoid the player character (step 14). Here, the data stored in the RAM 113 is data relating to w, r, position vector, and projection position. On the other hand, if it is determined in step 13 that W ≦ w, the main CPU 112 executes the process of step 16.
[0062]
Next, the main CPU 112 increments the character ID by 1 (step 15). The character ID is an ID that is uniquely set for 10 player characters including the goalkeeper. For example, numbers 0 to 9 are set for each player character.
[0063]
The main CPU 112 determines whether all characters have been completed (step 16). In the above example, if the character ID is the maximum value 9, the main CPU 112 determines that all characters have been completed. If the main CPU 112 determines in step 16 that the process has not been completed for all characters, the main CPU 112 performs steps 10 to 16 for the next character. That is, the main CPU 112 determines whether or not a player character that does not hold all the futsal balls exists in the determination area 30 by sequentially incrementing the character ID and repeatedly executing Steps 10 to 16. can do.
When the main CPU 112 determines in step 16 that the processing in steps 10 to 16 has been completed for all player characters, the main CPU 112 selects the player character closest to the position A along the line segment AB (step 17). That is, when data relating to a plurality of player characters is stored in the loop processing from step 10 to step 16, a straight line connecting the position A where the player character operating the game medium exists from the positions of the plurality of player characters and the target position P is obtained. This means that the process of avoiding the collision is performed only for the player character having the smallest position rate at which it intersects with the lowered vertical line.
[0064]
Assume that the player character selected in step 17 is, for example, a character at a position C shown in FIG. The main CPU 112 recognizes this character as a player character whose collision should be avoided and performs the next collision avoidance process (step 18). Step 18 achieves the function of updating the moving direction of the player character who manipulates the futsal ball.
[0065]
The main CPU 112 changes the moving direction so that the player character existing at the position A advances toward the position F. Thereby, the player character dribbling while holding the futsal ball existing at the position A can avoid the collision with the player character existing at the position C.
[0066]
The player character that dribbles while holding the futsal ball that has undergone the collision avoidance process in step 18 immediately after changing the direction of movement toward the new target position F, has suddenly moved forward. Therefore, it can be assumed that the player character collides with the player character. In the process of the present embodiment, it is not intended to avoid a collision even in such a case. This is because even in actual matches, a situation where a player collides with another player immediately after moving to avoid a collision with one player often occurs. This is because there is a risk that it will deviate from the actual situation.
[0067]
If the main CPU 112 determines in step 17 that there is no player character that does not hold the ball in the determination area 30, the main CPU 112 does not perform the collision avoidance process in step 18. Therefore, the player character dribbling while holding the futsal ball at position A moves toward the original target position P according to the control of the main CPU 112.
[0068]
The above-described collision avoidance process is executed subsequent to the setting so that the goal or the like is directed to the target position P. Therefore, when a player character exists between the target position P, a new target position is set again. Repeat the process of taking collision avoidance action. When such a process is repeated and there is no player character that does not hold the futsal ball in the determination area 30, the player moves toward the original target position P again.
[0069]
In the above-described embodiment, the description has been given as an algorithm for avoiding a collision with another player character when the player character existing at the position A holds a futsal ball as a game medium. The same algorithm is applied when the player character existing at the position A does not hold the futsal ball that is the game medium and another player character holds the ball. Is done.
[0070]
The collision avoidance process as described above is not executed when there is no player character that controls the futsal ball. For example, a case where the ball is in a free state that is not kept by any player is an example. In this case, when there are a plurality of players who take a ball that is rolling in the field, it is normal to chase the ball while competing against each other. Further, the collision avoidance process described above is not performed even when the player of the opponent team normally touches or approaches the player of the opponent team, such as when tackling the player of the opponent team.
[0071]
In addition, this invention is not limited to said embodiment, A various change is possible within the range of the summary. For example, in the above-described embodiment, a vertically long trapezoidal area having a thin tip at the center line is described as the determination area 30 with the straight line connecting the position of the player character who controls the futsal ball controlled by the main CPU 112 and the target position as the center line. However, the shape of the determination region 30 is not limited to a trapezoid, and may be, for example, a triangle or a rectangle.
[0072]
Furthermore, in the above embodiment, the present invention is applied to a game device specialized for futsal, but the present invention is also applied to various game devices that simulate ball games such as soccer, handball, basketball, and baseball. be able to.
[0073]
In addition, the present invention can also be implemented in the form of recording the computer program of the game content described above on a recording medium, and such an embodiment is also included in the technical scope of the present invention. . The recording medium includes a magnetic tape, a flexible disk, an optical disk such as a CD-ROM or DVD, a magneto-optical disk such as MO, and the like.
[0074]
【The invention's effect】
As described above, the present invention sets a determination area for a character heading to the target position of the field set in the virtual space with reference to the position where the character exists, and sets other characters existing in the determination area to By detecting and changing the moving direction of the character controlled by the apparatus according to the position of the other character, a collision with another player character is avoided. In this case, by making the shape of the above-described determination region into a trapezoid having a predetermined size, for example, it is possible to cause the device-controlled character to perform a collision avoidance operation with a more natural and realistic movement.
[Brief description of the drawings]
FIG. 1 is a perspective view showing an external appearance of a game device.
FIG. 2 is a block diagram showing an outline of a system configuration of the game device.
FIG. 3 is a diagram showing a determination area 30 for performing a collision avoidance operation.
FIG. 4 is a flowchart illustrating a process for performing a collision avoidance operation.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Game device, 10 ... CRT monitor, 11 (11a, 11b, 11c, 11d) ... Lever, 12 (12a, 12b, 12c, 12d) ... Kick input part, 13 (13a, 13b, 13c, 13d) ... button , 30 ... Trapezoid area, 110 ... CPU block, 111 ... SCU, 112 ... Main CPU, 113 ... RAM, 114 ... ROM, 115 ... Sub CPU, 120 ... Video block, 130 ... Sound block, 131 ... CPU, 132 ... DSP 133 ... Sound RAM

Claims (4)

仮想空間に設定したフィールドの目標位置に向かうキャラクタの動きを制御するゲーム装置において、
前記キャラクタが存在する位置を基準として、前記キャラクタが存在する位置と前記目標位置とを結ぶ直線と直交する2本の線分のうち前記キャラクタが存在する位置で前記直線と直交する線分を下底とし、前記キャラクタが移動する方向で前記直線と直交する線分を上底とし、前記下底よりも前記上底が短い台形である判定領域を設定する領域設定手段と、
当該領域設定手段が設定した判定領域内に存在する他のキャラクタを検出するキャラクタ検出手段と、
前記キャラクタが存在する位置と前記目標位置とを結ぶ直線に前記キャラクタ検出手段が検出した他のキャラクタの位置から降ろした垂線を延長した直線と、前記判定領域の台形の斜辺とが交わる位置を新たな目標位置とするように、前記キャラクタの移動方向を変更する変更手段と、
を具備することを特徴とするゲーム装置。
In a game device that controls the movement of a character toward a target position of a field set in a virtual space,
Based on the position where the character is present, the line segment perpendicular to the straight line at the position where the character is present is selected from two line segments perpendicular to the straight line connecting the position where the character exists and the target position. A region setting means for setting a determination region having a bottom, a line segment orthogonal to the straight line in the direction of movement of the character as an upper base, and a trapezoid whose upper base is shorter than the lower base ;
Character detection means for detecting other characters existing in the determination area set by the area setting means;
A position where the straight line extending from the position of the other character detected by the character detecting means and the straight line connecting the position where the character exists and the target position intersects the trapezoid hypotenuse of the determination area is newly added. Changing means for changing the moving direction of the character so as to obtain a correct target position ;
A game apparatus comprising:
前記キャラクタ検出手段が複数のキャラクタを検出した場合、当該複数のキャラクタの位置から前記キャラクタが存在する位置と前記目標位置とを結ぶ直線に降ろした垂線との交わる位置が前記ゲーム媒体を操るキャラクタに最も近いキャラクタに対してのみ衝突を回避する処理を行うことを特徴とする請求項1記載のゲーム装置。When the character detection means detects a plurality of characters, the position where the perpendicular line drawn from the position of the plurality of characters to the straight line connecting the position where the character exists and the target position intersects the character that manipulates the game medium claim 1 Symbol placement game device and performs processing for only avoid the collision against the nearest character. 表示画面上の仮想空間に設定したフィールドの目標位置に向かうキャラクタの動きを、コンピュータを用いて制御するゲーム制御方法において、前記キャラクタが存在する位置を基準として、前記キャラクタが存在する位置と前記目標位置とを結ぶ直線と直交する2本の線分のうち前記キャラクタが存在する位置で前記直線と直交する線分を下底とし、前記キャラクタが移動する方向で前記直線と直交する線分を上底とし、前記下底よりも前記上底が短い台形である判定領域を設定する領域設定工程と、当該領域設定工程で設定した判定領域内に存在する他のキャラクタを検出するキャラクタ検出工程と、前記キャラクタが存在する位置と前記目標位置とを結ぶ直線に前記キャラクタ検出手段が検出した他のキャラクタの位置から降ろした垂線を延長した直線と、前記判定領域の台形の斜辺とが交わる位置を新たな目標位置とするように、前記キャラクタの移動方向を変更する変更工程とを有することを特徴とするゲーム制御方法。 In a game control method for controlling the movement of a character toward a target position of a field set in a virtual space on a display screen using a computer, the position where the character exists and the target based on the position where the character exists Of the two line segments perpendicular to the straight line connecting the positions, the line segment perpendicular to the straight line at the position where the character exists is the bottom, and the line segment perpendicular to the straight line is the top in the direction in which the character moves. A region setting step for setting a determination region which is a trapezoid whose bottom is shorter than the bottom base, and a character detection step for detecting other characters existing in the determination region set in the region setting step, A droop dropped from the position of another character detected by the character detecting means on a straight line connecting the position where the character exists and the target position. A straight line extended, the trapezoidal oblique side and intersect the position of the determination region to a new target position, the game control method characterized by having a changing step of changing the moving direction of the character. 表示画面上の仮想空間に設定したフィールドの目標位置に向かうキャラクタの動きを制御するゲームをコンピュータに実現させるプログラムを記録したコンピュータ読取可能な記録媒体において、前記ゲーム媒体を操るキャラクタが存在する位置を基準として、前記キャラクタが存在する位置と前記目標位置とを結ぶ直線と直交する2本の線分のうち前記キャラクタが存在する位置で前記直線と直交する線分を下底とし、前記キャラクタが移動する方向で前記直線と直交する線分を上底とし、前記下底よりも前記上底が短い台形である判定領域を設定する領域設定機能と、当該領域設定手段が設定した判定領域内に存在する他のキャラクタを検出するキャラクタ検出機能と、前記キャラクタが存在する位置と前記目標位置とを結ぶ直線に前記キャラクタ検出手段が検出した他のキャラクタの位置から降ろした垂線を延長した直線と、前記判定領域の台形の斜辺とが交わる位置を新たな目標位置とするように、前記キャラクタの移動方向を変更する変更機能とをコンピュータに実現させるためのプログラムを記録したコンピュータ読取可能な記録媒体。 In a computer-readable recording medium recorded with a program for causing a computer to implement a game for controlling the movement of the character toward the target position of the field set in the virtual space on the display screen, the position where the character operating the game medium is present. As a reference, of the two line segments orthogonal to the line connecting the position where the character exists and the target position, the line segment orthogonal to the straight line at the position where the character exists is set as the bottom, and the character moves An area setting function for setting a determination area that is a trapezoid whose upper base is a line segment perpendicular to the straight line in the direction to be performed and the upper base is shorter than the lower base , and exists in the determination area set by the area setting means and character detection function to detect other characters that, the a straight line connecting the said target position and the position where the character exists A straight line Yarakuta detection means extending the perpendicular dropped from the position of the other characters detected, so that the trapezoidal oblique and new target position the position where the intersection of the determination region, changes the moving direction of the character A computer-readable recording medium on which a program for causing a computer to implement the changing function is recorded.
JP2000018762A 2000-01-27 2000-01-27 GAME DEVICE, GAME CONTROL METHOD, RECORDING MEDIUM Expired - Fee Related JP3594181B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000018762A JP3594181B2 (en) 2000-01-27 2000-01-27 GAME DEVICE, GAME CONTROL METHOD, RECORDING MEDIUM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000018762A JP3594181B2 (en) 2000-01-27 2000-01-27 GAME DEVICE, GAME CONTROL METHOD, RECORDING MEDIUM

Publications (2)

Publication Number Publication Date
JP2001204961A JP2001204961A (en) 2001-07-31
JP3594181B2 true JP3594181B2 (en) 2004-11-24

Family

ID=18545562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000018762A Expired - Fee Related JP3594181B2 (en) 2000-01-27 2000-01-27 GAME DEVICE, GAME CONTROL METHOD, RECORDING MEDIUM

Country Status (1)

Country Link
JP (1) JP3594181B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3694515B2 (en) * 2003-09-25 2005-09-14 コナミ株式会社 GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM
JP3954630B1 (en) 2006-03-27 2007-08-08 株式会社コナミデジタルエンタテインメント GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM
JP5214215B2 (en) * 2007-11-02 2013-06-19 株式会社コナミデジタルエンタテインメント GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM
JP5540127B2 (en) * 2013-02-25 2014-07-02 株式会社コナミデジタルエンタテインメント GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM
JP5540128B2 (en) * 2013-02-25 2014-07-02 株式会社コナミデジタルエンタテインメント GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM
JP6812803B2 (en) * 2017-01-12 2021-01-13 ソニー株式会社 Information processing equipment, information processing methods, and programs

Also Published As

Publication number Publication date
JP2001204961A (en) 2001-07-31

Similar Documents

Publication Publication Date Title
EP0778547B1 (en) Image processing apparatus and image processing method
US6869363B2 (en) Game device, impact judgement method, and information storage medium
US7223169B2 (en) Program for controlling execution of a game, and a game machine for executing the program
JP3677924B2 (en) Display method and control method of video game apparatus
US20090227373A1 (en) Game program, game device, and game control method
WO2007052707A1 (en) Program, storage medium where program is recorded, and game device
JP2003085591A (en) Motion data, game information, information recording medium, and game device
JP2001321562A (en) Game system and information recording medium
JP2003047766A (en) Game information, information storage medium and game device
JP3594181B2 (en) GAME DEVICE, GAME CONTROL METHOD, RECORDING MEDIUM
JP2003093735A (en) Game device and information storage medium
JP2001006000A (en) Image generation system and information storage medium
JPH10201958A (en) Scoring scene reproducing device and reproducing method for video game system and medium storing scoring scene reproducing program
JP4071011B2 (en) Program for controlling execution of golf game and game apparatus for executing the program
JP3057041B2 (en) Guide display device in video game system, guide display method, and medium storing program for performing guide display
JP2001232066A (en) Game device, formation forming method and recording medium
JP3686069B2 (en) Program, information storage medium, and image generation system
JP3502869B2 (en) Computer-readable recording medium recording a ball game video game program, computer program, ball game video game processing apparatus, and ball game video game processing method
JPH10201951A (en) Command setting device in video game system, command setting method and medium with command setting program stored
JP2005199081A (en) Program for controlling execution of game and game device executing the program
JP3687558B2 (en) Image processing apparatus and image processing method
JP2013039231A (en) Game apparatus, control method for game apparatus, and program
JP5356193B2 (en) GAME DEVICE, GAME CONTROL PROGRAM, AND GAME CONTROL METHOD
JP5301488B2 (en) GAME PROGRAM, GAME DEVICE, AND GAME CONTROL METHOD
JP2002035416A (en) Game device and information recording medium

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040427

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: 20040813

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040826

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3594181

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

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

Free format text: PAYMENT UNTIL: 20080910

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080910

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20080910

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090910

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090910

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090910

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100910

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20100910

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110910

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20110910

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120910

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120910

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130910

Year of fee payment: 9

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

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

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

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

LAPS Cancellation because of no payment of annual fees