JP4462704B2 - GAME DEVICE AND INFORMATION STORAGE MEDIUM - Google Patents

GAME DEVICE AND INFORMATION STORAGE MEDIUM Download PDF

Info

Publication number
JP4462704B2
JP4462704B2 JP2000092240A JP2000092240A JP4462704B2 JP 4462704 B2 JP4462704 B2 JP 4462704B2 JP 2000092240 A JP2000092240 A JP 2000092240A JP 2000092240 A JP2000092240 A JP 2000092240A JP 4462704 B2 JP4462704 B2 JP 4462704B2
Authority
JP
Japan
Prior art keywords
generation
wind
force
generated
given
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
JP2000092240A
Other languages
Japanese (ja)
Other versions
JP2001276416A (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
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2000092240A priority Critical patent/JP4462704B2/en
Publication of JP2001276416A publication Critical patent/JP2001276416A/en
Application granted granted Critical
Publication of JP4462704B2 publication Critical patent/JP4462704B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、オブジェクト空間内の所与の視点での画像を生成し、当該生成画像を表示させることによって所与のゲームを実行するゲーム装置等に関する。
【0002】
【従来の技術】
仮想的な3次元空間であるゲーム空間に、力を発生させる生成源を所与のタイミングで設定することにより、一種の攻撃技として表現するゲーム装置や、当該生成源の近傍におけるプレーヤキャラクタの操作を困難せしめ、ゲームに面白みを加味させるといったゲーム装置がある。
【0003】
【発明が解決しようとする課題】
しかしながら、ゲーム空間全体に渡る、例えば、風や水流といった力が生じている状況を表現する場合には、その力の計算に要する処理時間と、キャラクタ等のオブジェクトを表現するために要する処理時間とのバランスから、複雑な力を発生させることが困難であった。
【0004】
即ち、1枚のゲーム画像を、遅くとも1/60秒の1フレーム時間内に生成する必要があるため、力の計算に多くの処理時間をかけることができない。このため、ゲーム空間全体における力の大きさを常に同じ大きさとしたり、方向および大きさはランダムであるものの、その一瞬におけるゲーム空間全体においては均一な力が生じているといった表現とすることが限界であった。
【0005】
このため、ゲーム空間全体に及んでいる力を表現したゲーム画像は、退屈な、面白味のない、違和感のあるものであった。
【0006】
本発明の課題は、ゲーム空間における複雑な力の表現を単純な方法により実現することである。
【0007】
【課題を解決するための手段】
以上の課題を解決するための第1の形態は、オブジェクト空間内の所与の視点での画像を生成し、当該生成画像を表示させることによって所与のゲームを実行するゲーム装置であって、所与の方向への力を生成する生成源を、前記オブジェクト空間内に複数設定するための生成源設定手段(例えば、図7の風生成部220)と、前記生成源それぞれの力の大きさを変動させるための力変動手段(例えば、図7の風生成部220)と、を備え、前記生成源それぞれからの力が前記オブジェクト空間内で流動的に干渉し合うことを特徴とするゲーム装置である
【0008】
また、第10の形態は、オブジェクト空間内の所与の視点での画像を生成し、当該生成画像を表示させることによって所与のゲームを実行するための情報を記憶した情報記憶媒体であって、所与の方向への力を生成する生成源に係る情報(例えば、図7の風制御プログラム44)と、前記オブジェクト空間内に前記生成源を複数設定するための生成源設定情報(例えば、図7の風制御プログラム44)と、前記生成源それぞれの力の大きさを変動させるための力変動情報(例えば、図3の履歴テーブル300)と、前記生成源それぞれからの力に基づいて、前記オブジェクト空間内での流動的な力の干渉を表現するための表現情報(例えば、図7の受風処理プログラム46)と、を含む情報記憶媒体である
【0009】
ここで、生成源それぞれからの力を流動的に干渉させる手法としては、種々の方法が考えられる。例えば、発明の実施の形態において詳細に説明するように、生成源から生成される力の値と、生成した時間とを対応づけて一時的に保存し、オブジェクト空間の所与の地点と、生成源との距離等に基づいて、当該所与の地点における力を算出・決定する手法や、生成源から生成される力の値を時間の関数によって定義して、所与の地点における力を算出・決定する方法等があり、何れの方法を適用することとしてもよい。
【0010】
この第1または第10の形態によれば、生成源を設定し、生成する力を変動させることにより、容易に、オブジェクト空間全体に及ぶ複雑な力を生成することができる。また、生成される力は、流動的なものであるため、無秩序な方向および強さにはならない。従って、例えば、プレーヤキャラクタの操作において、プレーヤは、次の瞬間における力をある程度予想することができるが、複数の生成源による力が干渉するために完全には予測できず、面白味のあるゲームを実現することができる。
【0011】
また、第1の形態のゲーム装置における生成源を、第2の形態として、並行的な力を生成することとして構成したり、第3の形態として、放射状に力を生成することとして構成してもよい。
【0012】
また、第10の形態の情報記憶媒体における生成源を、第11の形態として、並行的な力を生成することとして構成したり、第12の形態として、放射状に力を生成することとして構成してもよい。
【0013】
この2、3、11、あるいは12の形態によれば、生成源のバラエティを増すことができ、より複雑な力をオブジェクト空間全体に生成することができる。
【0014】
また、第4の形態として第1から第3のいずれかの形態のゲーム装置における前記生成源設定手段は、前記所与のゲームの進行または時間経過に応じて、設定する生成源の数を変更することとしてもよい。
【0015】
またさらに、第5の形態として第1から第4のいずれかの形態のゲーム装置における前記力変動手段は、前記所与のゲームの進行または時間経過に応じて、前記生成源それぞれの力の大きさを変動させることとしてもよい。
【0016】
この第4または第5の形態によれば、例えば、プレー回数やプレー時間、ボスキャラ等と対戦するといったステージの種類等に応じて、生成源の数の増減や力の大きさの変動を行うことができる。
【0017】
また、第6の形態として第1から第5のいずれかの形態のゲーム装置であって、前記力変動手段は、前記生成源それぞれの力の大きさを非周期的に変動させることとしてもよい。
【0018】
ここで非周期的に変動させる手段としては、ランダムな数値を生成させたり、カオスやアトラクタ等の無秩序な値を生成させること等により実現できる。
【0019】
この第6の形態によれば、力の大きさの変化が繰り返しとなるといった面白味のないゲームとなることを抑制することができる。
【0020】
また、第7の形態として第1から第6のいずれかの形態のゲーム装置であって、前記オブジェクト空間に存する所与のオブジェクトが、前記生成源により生成される力に基づいて変形または移動することとしてもよい。
【0021】
この場合、オブジェクトは、それぞれの生成源から生成されるそれぞれの力に基づいて変形または移動することとしてもよいし、生成源それぞれから生成される力を合成した1つの力に基づいて変形または移動することとしてもよい。
【0022】
この第7の形態によれば、生成源それぞれの力を合成した力を受けて物体が移動する様子や、粘土のような柔らかい物体が方々からの力を受けて変形するといった様子等を表現することができる。
【0023】
また、第8の形態として第7の形態のゲーム装置であって、前記所与のオブジェクトは、変形または移動の基準となる制御点を有し、前記制御点における前記力に基づいて、前記所与のオブジェクトが変形または移動することとしてもよい。なお、この場合、オブジェクトが有する制御点の数は1つあるいは複数であってもよいし、また、1つの制御点における力に基づいて、複数のオブジェクトが変形または移動するようにしてもよい。
【0024】
この第8の形態によれば、オブジェクトを変形または移動させるための力の計算は、制御点における力の計算で済む。
【0025】
また、第9の形態として第1から第8のいずれかの形態のゲーム装置であって、前記オブジェクト空間における所与のオブジェクトを動かすことにより、前記生成源が生成する力は風力であることを表現することとしてもよい。
【0026】
この第9の形態によれば、オブジェクト空間内に吹いている複雑な風を、容易に表現することができる。また、所与のオブジェクトを草原(実際には草のオブジェクトの集合となるが)とすることにより、オブジェクト空間における風を効果的に表現することができる。また、流動的な風となるため、よりリアリティのある画像を生成することができる。
【0027】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を参照して説明する。なお、以下では、生成源から生成される力を風力とし、当該生成源から吹く風に揺られる草を表現する方法を説明するが、本発明が適用されるものはこれに限られるものではない。
【0028】
図1(a)〜(c)は、草オブジェクトが受ける風を時間経過に従って表現した画像例を示す図であり、(a)から(c)へと時間が経過している。同図(a)において、図の左側で倒れていた草が、(b)では起き上がり、一方、中央部分の草が倒れている。(c)では、中央部分の草は起き上がり、右側の草が倒れている。このように、草の倒れる角度や方向等の状態の変化から、時間経過に伴って風が左から右へと吹き去ったことを表現している。本実施の形態では、画像中、直接確認することはできないが、草オブジェクトが受ける力、即ち風の強さを一定時間毎に制御することで、風が流動的にオブジェクト空間を流れる様子をよりリアルに表現し、且つ簡単に実現させる手法について、以下に説明する。
【0029】
まず、風を表現するための原理を説明する。
本実施の形態では、一定時間毎に力の大きさが異なる風を生成する生成源を、オブジェクト空間内に複数設定する。設定する位置は、キャラクタが活動する領域(以下、メイン領域という)の外側とし、各生成源には、メイン領域に向かう平行な風を生成させるとともに、一定時間毎に風力を変化させて生成させる。一方、風の影響を受ける対象となる物(草オブジェクト等)は、各生成源との距離および時間経過に応じた力を各生成源から受ける。即ち、生成源により生成された風は、速度を持ち、所与の時間が経過することで、各草オブジェクトの地点に到達することとなる。以下に、オブジェクト空間に風の生成源を3つ設定した場合を例にして、詳細を説明する。
【0030】
図2は、3つの生成源を、オブジェクト空間中の座標系(以下、ワールド座標系という)のY軸方向から見た図である。同図に示すように、各風の生成源A〜Cは、X−Z平面に垂直な平面よって定義されており、メイン領域200を囲むように設定する。また、各風のベクトルは、生成源である平面に対して垂直であることとする。従って、1つの生成源から発生する風は、高さ(即ち、Y座標)に関わらず平行であり、常に同じ方向に進むこととなる。また、各生成源が発生する風の速度は、時刻によらず一定のものとする。従って、風の生成源との距離がわかれば、その地点がその瞬間に受ける風の発生時刻を逆算することができる。
【0031】
また、生成源AおよびCは、ワールド座標系のX軸方向と45度の角度を成し、生成源Bは、Z軸方向と−45度の角度を成すものとする。従って、生成源AとCから発生する風は、互いに打ち消し合うこととなる。このように、両サイドから風を発生させて、互いに風の強さを抑制することで、ただ単に風が一方向に進むのではなく、あらゆる事物の影響を受けて複雑に吹く風を表現することができる。
【0032】
また、各風の生成源が一定時間毎に生成する風の強さは、アトラクタなどの収束性のあるカオスを計算することで決定する。例えば、気象のモデルとして知られる連立微分方程式
dx/dt=a(y−x) …(1)
dy/dt=bx−y−xz …(2)
dz/dt=xy−cz …(3)
を用いて算出する。ここに、a,b,cは定数であり、アトラクタが発生するための適当な数値を代入する。この方程式に適当な初期値(x0、y0、z0)を与え、一定時間毎に計算して得られる値(x、y、z)のうち、例えば、xを生成源Aの風力FA、yを生成源Bの風力FB、zを生成源Cの風力FCとして決定する。このようにアトラクタを用いる理由は、風の流れが周期的になったり、極端に無秩序な風を発生しないためである。
【0033】
そして、各風の生成源に対して計算した風の強さを図3に示すような履歴テーブル300に記憶する。履歴テーブル300には、各風の強さとともに、その計算を実行した時刻を記憶し、現在時刻が最上段に来るように更新する。
【0034】
一方、各草オブジェクトが受ける風の計算は、次のように行う。まず、図4(a)に示すように、算出対象となる地点202において、各生成源から受ける風のベクトル(即ち、風の力と方向)(FA,FB,FC)を計算する。そして、図4(b)に示すように、算出した各風ベクトルを合成して、草オブジェクトが受ける風(合成ベクトル)を決定する。
【0035】
草オブジェクトが1つの生成源Aから受ける風ベクトルの計算は、次のようにする。まず、生成源Aから出発して草オブジェクトに到達するまでの風の進行時間tを、生成源Aと草オブジェクトとの距離dおよび生成源Aの風速VAとから算出する(t=d/VA)。そして、該草オブジェクトが現在時刻Tに受ける風の発生時刻(T−t)を求める。次いで、履歴テーブル300を読み出して、時刻(T−t)に生成源Aが生成した風の風力を調べ、草オブジェクトが生成源Aから取得する風ベクトルを決定する。生成源BおよびCが各草オブジェクトに与える風ベクトルも同様の計算によって求める。
【0036】
なお、全ての生成源から発生する風の速度(VA,VB,VC)を等しく設定し、かつ、式(1)〜(3)によって得られる値を直接風力とした場合、各生成源がばらばらに風力を設定することとなり、結果的にただ闇雲に草が揺れているように見える可能性がある。そこで、式(1)〜(3)によって得られた値に、α>β、γという関係を持つ係数(α、β、γ)を各生成源の風力(FA,FB,FC)にそれぞれ掛け、更に、生成源Aの風速を生成源B,Cの風速よりも早く設定する。このようにすることで、生成源Aの風をメインとして、メイン領域200に吹く風を特徴づけ、そのメインの風が変化する様、即ちメインの風の向きが揺らいだり、メインの風の強弱が変化するといった、よりリアルな風を表現することができる。
【0037】
図5(a)〜(d)は、生成源Aをメインの風生成源として設定した場合に、ワールド座標系を格子状に分割した各格子点が受ける合成ベクトルを示す図であり、同図(a)から(d)へと時間が経過している。同図(a)において、図上方に存在した風力の大きい風が、時間の経過に伴って(図(b)から(d)と移るに従って)図の中央部分に移動している。このように、1つの生成源を他の生成源と差別化することで、オブジェクト空間全体に強弱をもって流れる風を表現することができる。また、各生成源の風力をアトラクタによって決定しているため、毎時に発生する風力を非周期的に、且つ、滑らかに変化させることができる。
【0038】
次に、本実施の形態における構成を説明する。
図6は、本発明を家庭用のゲーム装置に適用した場合の一例を示す図である。同図において、ユーザは、ディスプレイ1200に映し出されたゲーム画像を見ながら、ゲームコントローラ1202、1204を操作してゲームを楽しむ。この場合、ゲームプログラム等のゲームを行うために必要な情報は、本体装置に着脱自在な情報記憶媒体であるCD−ROM1206、ICカード1208、メモリカード1212等に格納されている。
【0039】
図7は、本実施の形態における機能ブロックの一例を示す図である。同図において、機能ブロックは、操作部10と、処理部20と、表示部30と、情報記憶媒体40とから構成されている。
【0040】
操作部10は、ゲームにおける自キャラクタの操作や、ゲーム開始あるいは中止等の指示を入力するためのものであり、図6に示す、ゲームコントローラ1202、1204が操作部10に相当する。
【0041】
処理部20は、システム全体の制御、システム内の各ブロックへの指示、ゲーム処理、画像処理、音処理等の各種の処理を行うものであり、また、処理部20には、主に、ゲーム演算部22、画像生成部24、メモリ26が含まれる。その機能は、各種プロセッサ(CPU、DSP等)、あるいはASIC(ゲートアレイ等)、メモリ(RAMやROM等)等のハードウェアや、所与のプログラムにより実現できる。
【0042】
ゲーム演算部22は、ゲームの進行処理、選択画面の設定処理、オブジェクト空間上での各オブジェクトやキャラクタの位置や向きを求める処理、視点の位置や視線方向等を求める処理等の種々のゲーム処理を操作部10からの操作信号や、情報記憶媒体40から読み出すゲームプログラム42等に基づいて実行する。
【0043】
また、ゲーム演算部22は、風生成部220と、草制御部222を有し、ゲームの進行に応じて風の発生タイミングを決定すると、風生成部220には風の発生指示を、草制御部222には受風処理の指示をそれぞれ出力する。
【0044】
風生成部220は、ゲーム演算部22から風の発生指示が入力されると、情報記憶媒体40に記憶された風制御プログラム44を読み出して、オブジェクト空間内に風の生成源A〜Cを設定すると、一定時間毎に、各生成源A〜Cから発生させる風の強さを上記(1)〜(3)の式を用いて計算する。また、風生成部220は、風力を計算する度に現在時刻をカウントし、各生成源A〜Cの風力とともにメモリ26に記憶される履歴テーブル300(図3参照)に記憶する。
【0045】
草制御部222は、ゲーム演算部22から受風処理の指示が入力されると、情報記憶媒体40に記憶された受風処理プログラム46を読み出して、対象となる草オブジェクトが受ける風のベクトルを算出し、その風ベクトルに応じて草オブジェクトの倒れる角度、方向等を決定する。そして、決定した倒れ角、方向に従って各草オブジェクトを変形すると、該草オブジェクトのワールド座標系における座標データとともに画像生成部24に出力する。図8は、草制御部222が実行する受風処理を説明するフローチャートである。
【0046】
同図において、草制御部222は、変数iに0を代入して(ステップS1)、n個ある草オブジェクトからi番目の草オブジェクトの座標を検出する(ステップS2)。次いで、変数jに0を代入し(ステップS3)、j番目の生成源と草オブジェクトiとの距離dを算出する(ステップS4)。
【0047】
そして、ステップS4で算出した距離dと生成源jに定義された風の速度Vjとから風の進行時間tを算出し、現在の時刻Tに草オブジェクトiが受ける風の発生時刻(T−t)を算出する。そして、図3に示す履歴テーブル300を呼び出して、生成源jが草オブジェクトiに与える風ベクトルを決定する(ステップS5)。
【0048】
次いで、jに1を加算し(ステップS6)、j=3であるか、即ち、全ての生成源からの風ベクトルを取得したか否かを判断し(ステップS7)、まだ計算していない生成源が存在するならば、ステップS4に戻る。
【0049】
一方、ステップS7において、全ての生成源からの風ベクトルを取得していると判断した場合には、取得した全ての風ベクトルを合成し、草オブジェクトiが受ける風の合成ベクトルを決定する(ステップS8)。
【0050】
そして、iに1を加算して(ステップS9)、i=nであるか、即ち、全ての草オブジェクトに対して処理を実行したか否かを判断する(ステップS10)。未処理の草オブジェクトが存在する場合には、ステップS2に戻って、ステップS2〜S10を繰り返す。全ての草オブジェクトに対して処理が終了していれば、本処理を終了する。
【0051】
画像生成部24は、ゲーム演算部22からの指示等に応じて各種の画像処理を実行する。例えば、ゲーム演算部22が構築するオブジェクト空間における自キャラクタや仮想カメラの視点に基づく画像データを生成し、表示部30に出力して表示させる。また、表示部30は、画像生成部24から入力される画像データを画面に出力するためのものであり、CRT、LCD、HMD等のハードウェアにより実現できる。
【0052】
メモリ26は、風生成部220から現在の時刻および各生成源の風力が入力されると、図3に示すような履歴テーブル300を生成、あるいは更新して記憶するように構成されている。
【0053】
情報記憶媒体40は、ゲームプログラム42を記憶している。この情報記憶媒体40の機能は、CD−ROM、ゲームカセット、ICカード、MO、FD、DVD、メモリ、ハードディスク等のハードウェアによって実現できる。また、ゲームプログラム42には、風制御プログラム44および受風処理プログラム46が含まれており、風制御プログラム44は、風の生成源を設定するためのプログラム、風力計算をするためのプログラム、風履歴テーブル26を生成するためのプログラムを含み、受風処理プログラム46は、草オブジェクトの受風処理を実行するためのプログラム等を有する。
【0054】
次に、本実施の形態における風の生成処理における全体の動作を、図9に示すフローチャートに基づいて以下説明する。なお、本処理は、一定時刻毎に(例えば、1フレーム毎に)実行するものである。
【0055】
まず、風生成部220は、ゲーム演算部22から風の発生指示が入力されると、式(1)〜(3)を用いて風力を算出し(ステップS20)、履歴テーブル300に更新する(ステップS21)。
【0056】
また、草制御部222は、ゲーム演算部22から受風処理の実行指示が入力されると、対象となる全ての草オブジェクトが受ける風の強さを算出し、各草オブジェクトの倒れ角、方向を計算し(ステップS22)、本処理を終了する。
【0057】
次に、本実施の形態を実現できるハードウェアの構成の一例について、図10を用いて説明する。同図に示す装置では、CPU1000、ROM1002、RAM1004、情報記憶媒体1006、音生成IC1008、画像生成IC1010、I/Oポート1012、1014が、システムバス1016により相互にデータ入出力可能に接続されている。そして、画像生成IC1010には、ディスプレイ1018が接続され、音生成IC1008には、スピーカ1020が接続され、I/Oポート1012には、コントロール装置1022が接続され、I/Oポート1014には、通信装置1024が接続されている。
【0058】
情報記憶媒体1006は、プログラム、表示物を表現するための画像データ、音データ、プレイデータ等が主に格納されるものである。例えば、家庭用ゲーム装置では、ゲームプログラム等を格納する情報記憶媒体として、CD−ROM、ゲームカセット、DVD等が用いられ、プレイデータを格納する情報記憶媒体としてメモリカードなどが用いられる。また、業務用ゲーム装置では、ROM等のメモリやハードディスクが用いられ、この場合には、情報記憶媒体1006は、ROM1002になる。
【0059】
コントロール装置1022は、ゲームコントローラ、操作パネル等に相当するものであり、ユーザがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【0060】
情報記憶媒体1006に格納されるプログラム、ROM1002に格納されるシステムプログラム(装置本体の初期化情報等)、コントロール装置1022によって入力される信号等に従って、CPU1000は、装置全体の制御や各種データ処理を行う。RAM1004は、このCPU1000の作業領域等として用いられる記憶手段であり、情報記憶媒体1006やROM1002の所与の内容、あるいはCPU1000の演算結果が格納される。
【0061】
更に、この種の装置には、音生成IC1008と画像生成IC1010とが設けられていて、ゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成IC1008は、情報記憶媒体1006やROM1002に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音は、スピーカ1020によって出力される。また、画像生成IC1010は、RAM1004、ROM1002、情報記憶媒体1006等から出力される画像情報に基づいてディスプレイ1018に出力するための画素情報を生成する集積回路である。またディスプレイ1018は、CRTやLCD、TV、プラズマディスプレイ、プロジェクター等の表示装置を含む意である。
【0062】
また、通信装置1024は、ゲーム装置内部で利用される各種の情報を外部とやり取りするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介して、ゲームプログラム等の情報を送受すること等に利用される。
【0063】
また、図1〜図7で説明した種々の処理は、図8あるいは図9のフローチャートに示した処理等を行うための風制御プログラム44、受風処理プログラム46等を含むプログラムを格納した情報記憶媒体1006と、該プログラムに従って動作するCPU1000、画像生成IC1010、音生成IC1008等によって実現される。なお、画像生成IC1010、音生成IC1008等で行われる処理は、CPU1000あるいは汎用のDSP等によりソフトウェア的に行ってもよい。
【0064】
図11に、ホスト装置1300と、このホスト装置1300と通信回線1302を介して接続される端末1304−1〜1304−nとを含むゲーム装置に本実施の形態を適用した場合の例を示す。
【0065】
この場合、図7に示す風制御プログラム44、受風処理プログラム46、ゲームプログラム42等は、例えば、ホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体1306に格納されている。また、端末1304−1〜1304−nが、CPU、画像生成IC、音生成IC、を有し、スタンドアローンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末1304−1〜1304−nに配送される。一方、スタンドアローンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304−1〜1304−nに伝送し端末において出力することになる。
【0066】
なお、本発明は、上記実施の形態で説明したものに限らず、種々の変形実施が可能である。例えば、風力を計算するに当って、式(1)〜(3)を毎時計算して、算出した3つの値を風力として採用することとしたが、例えば、Pn+1=Pn+kPn(1−Pn)等の漸化式等、他の式を利用して求めるようにしてもよい。なお、上記式のnは、計算回数を示しており、n+1は現在の、nは前回の計算結果を意味する。また、kは係数であり、適当な数値を代入することでアトラクタを生成する。
【0067】
あるいは、本実施の形態では、風の流れが周期的に、あるいは、極端な無秩序にならないためにアトラクタを用いた風力計算を採用したが、各風の生成源から発生する風の強さを周期関数によって算出することとしてもよい。この際、各生成源に異なる周期を与え、風にうねりを与えるようにしてもよい。また、風の周期を一定時間毎にランダムに変更して、長期のタイムスケールで非周期的になるようにしてもよい。この場合には、周期関数の時間に応じた周波数を記憶し、対象物が受ける風力を求める際に、風の発生時刻を周期関数に代入することで算出するようにしてもよい。
【0068】
また、設定する風の生成源を3つとしたが、この数に限定するものではない。あるいは、生成源を平面とし、風が各生成源から平行的に発生するものとしたが、風の生成源をオブジェクト空間の所与の一点とし、放射上に風が発生することとしてもよい。この場合には、風の発生点とその影響を受ける対象物との距離を算出して力を計算することとなる。
【0069】
なお、上記実施例では、風に対して草のオブジェクト1つ1つを計算することとしたが、風の影響を受ける対象となる事物が多量に存在し、全ての対象物に対して上記処理を実行したのでは処理が膨大になる場合には、次のように処理を簡単化してもよい。まず、対象物を図12(a)に示すようなブロック毎に分割し、各ブロックの各頂点が各生成源から受ける風ベクトルを求める。そして、同図(b)に示すように、各生成源から得た各風ベクトルを合成し、最終的に各頂点がうける風のベクトルを決定する。更に、同図(c)に示すように、各ブロックの頂点間に任意の数のベクトルを補うことで、ブロックの各頂点に与えた風ベクトルを滑らかに変化させる。そして、各ブロック内に存在する対象物には、各草オブジェクトの最近隣に設定した風ベクトルを与えることとする。
【0070】
また、各生成源で生成される力を「風」としたが、「波」を表現するものであってもよい。例えば、図2に示す生成源Aは上向きベクトルを、生成源B,Cは下向きベクトルをそれぞれ発生するものとする。そして、水平面を図12(a)に示すようにブロックで分割し、各ブロックの頂点と各生成源との距離を算出してその頂点が各生成源から取得するベクトルを算出する。図13(a)は、オブジェクト空間の断面図を示すものであり、水平面320に定義された各ブロックの頂点が取得したベクトルを表示している。そして、各ベクトルの合成ベクトルを水面の高さとして決定することで、図13(b)に示すような波を表現する。
【図面の簡単な説明】
【図1】本発明を適用することで、草が風によって揺れる様子を示す図であり、(a)〜(c)は、その時間経過をそれぞれ示している。
【図2】オブジェクト空間に風の生成源を設定した一例を示す図。
【図3】履歴テーブルの一例を示す図。
【図4】(a)は、各生成源から受ける風のベクトルをそれぞれ示した図。(b)は、(a)に示すベクトルの合成ベクトルを示す図。
【図5】オブジェクト空間を格子状に分割し、その各格子点上で受ける風の合成ベクトルを示す図。(a)〜(d)は、その時間経過を示す。
【図6】本発明を家庭用のゲーム装置に適用した場合の一例を示す図。
【図7】機能ブロック図。
【図8】受風処理を説明するフローチャート。
【図9】風生成処理の全体動作を説明するフローチャート。
【図10】本実施の形態を実現できるハードウェア構成の一例を示す図。
【図11】ホスト装置と通信回線を介して接続されるゲーム端末に本実施の形態を適用した場合の一例を示す図。
【図12】(a)は、ブロックの各頂点に受ける風ベクトルを表現した一例を示す図。(b)は、合成ベクトルを示す図。(c)は、2つの頂点間にベクトルを補った一例を示す図。
【図13】本発明を波に適用した場合の図。(a)は、各発生源から取得したベクトルを表示した一例を示す図。(b)は、合成ベクトルを示す図。
【符号の説明】
10 操作部
20 処理部
22 ゲーム演算部
220 風生成部
222 草制御部
24 画像生成部
26 メモリ
30 表示部
40 情報記憶媒体
42 ゲームプログラム
44 風制御プログラム
46 受風処理プログラム
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a game apparatus or the like that generates an image at a given viewpoint in an object space and executes the given game by displaying the generated image.
[0002]
[Prior art]
By setting a generation source for generating power at a given timing in a game space that is a virtual three-dimensional space, a game device that expresses as a kind of attack technique, and an operation of a player character in the vicinity of the generation source There is a game device that makes the game difficult and adds interest to the game.
[0003]
[Problems to be solved by the invention]
However, when expressing a situation where force such as wind or water flow is generated over the entire game space, the processing time required to calculate the force and the processing time required to express an object such as a character Because of this balance, it was difficult to generate complex forces.
[0004]
That is, since it is necessary to generate one game image within one frame time of 1/60 seconds at the latest, it is not possible to take much processing time for calculating force. For this reason, there is a limit to the expression that the magnitude of the force in the entire game space is always the same, or that the direction and magnitude are random, but the uniform force is generated in the entire game space in that moment. Met.
[0005]
For this reason, the game image expressing the force exerted on the entire game space is boring, uninteresting, and uncomfortable.
[0006]
An object of the present invention is to realize a complex power expression in a game space by a simple method.
[0007]
[Means for Solving the Problems]
To solve the above problems The first form of Is a game device that generates an image at a given viewpoint in the object space and executes the given game by displaying the generated image, and a generation source that generates a force in a given direction Are generated in the object space (for example, the wind generation unit 220 in FIG. 7), and force variation means (for example, FIG. 7 wind generator 220), and the forces from each of the generation sources fluidly interfere with each other in the object space. Game device .
[0008]
Also, Tenth form Is an information storage medium storing information for executing a given game by generating an image at a given viewpoint in the object space and displaying the generated image, in a given direction Information related to the generation source that generates the power of the power (for example, the wind control program 44 of FIG. 7) and generation source setting information for setting a plurality of the generation sources in the object space (for example, the wind control program of FIG. 7) 44), force fluctuation information (for example, the history table 300 in FIG. 3) for changing the magnitude of the force of each of the generation sources, and the force from each of the generation sources, Expression information for expressing fluid force interference (for example, wind receiving processing program 46 in FIG. 7). Information storage medium .
[0009]
Here, various methods are conceivable as a technique for fluidly interfering the forces from the respective generation sources. For example, as will be described in detail in the embodiment of the invention, the value of the force generated from the generation source and the generated time are temporarily stored in association with each other, and the given point in the object space is generated. Calculates and determines the force at a given point based on the distance to the source, etc., and calculates the force value at the given point by defining the force value generated from the source as a function of time -There is a method of determination, and any method may be applied.
[0010]
this First Or Tenth form According to the above, it is possible to easily generate a complex force over the entire object space by setting a generation source and changing the generated force. Also, since the force generated is fluid, it does not have a disordered direction and strength. Thus, for example, in the operation of the player character, the player can predict the power at the next moment to some extent, but the force from a plurality of generation sources interferes with each other and cannot be predicted completely. Can be realized.
[0011]
Also, First form The source of the game device As the second form Can be configured as generating parallel forces, As a third form Alternatively, the force may be generated radially.
[0012]
Also, Tenth form The generation source in the information storage medium of As the eleventh form Can be configured as generating parallel forces, As the twelfth form Alternatively, the force may be generated radially.
[0013]
this First 2, First 3, First 11, or First 12 Form of Accordingly, the variety of generation sources can be increased, and more complex force can be generated in the entire object space.
[0014]
Also, As the fourth form , First From Third Either Form of The generation source setting means in the game device may change the number of generation sources to be set according to the progress of the given game or the passage of time.
[0015]
Furthermore, As the fifth form , First From 4th Either Form of The force variation means in the game device may vary the magnitude of the force of each of the generation sources in accordance with the progress of the given game or the passage of time.
[0016]
this 4th Or Fifth form According to the above, for example, the number of generation sources can be increased or decreased and the magnitude of the force can be changed according to the number of plays, the play time, the type of stage such as playing against a boss character, or the like.
[0017]
Also, As the sixth form , First From 5th Either Form of In this game apparatus, the force fluctuation means may acyclically vary the magnitude of the force of each of the generation sources.
[0018]
Here, the means for non-periodically changing can be realized by generating random numerical values or generating random values such as chaos and attractors.
[0019]
this Sixth form According to this, it is possible to suppress the game from being an interesting game in which changes in the magnitude of the power are repeated.
[0020]
Also, As the seventh form , First From 6th Either Form of In the game apparatus, a given object existing in the object space may be deformed or moved based on a force generated by the generation source.
[0021]
In this case, the object may be deformed or moved based on each force generated from each generation source, or may be deformed or moved based on one force obtained by combining the forces generated from each generation source. It is good to do.
[0022]
this 7th form According to the above, it is possible to express a state in which an object moves by receiving a force obtained by synthesizing the forces of the generation sources, a state in which a soft object such as clay is deformed by receiving a force from people, and the like.
[0023]
Also, As the eighth form , 7th form The given object may have a control point that is a reference for deformation or movement, and the given object may be deformed or moved based on the force at the control point. Good. In this case, the number of control points of the object may be one or more, and a plurality of objects may be deformed or moved based on the force at one control point.
[0024]
this Eighth form Therefore, the calculation of the force for deforming or moving the object can be performed by calculating the force at the control point.
[0025]
Also, As the ninth form , First From 8th Either Form of It is good also as expressing that the force which the said production | generation source produces | generates is a wind power by moving the given object in the said object space.
[0026]
this Ninth form According to the above, it is possible to easily express the complex wind blowing in the object space. Also, by making a given object a grassland (actually a set of grass objects), the wind in the object space can be expressed effectively. In addition, since the wind is fluid, a more realistic image can be generated.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
Preferred embodiments of the present invention will be described below with reference to the drawings. In the following description, a method of expressing grass that is swayed by the wind blown from the generation source is described as a force generated from the generation source, but what is applied to the present invention is not limited thereto. .
[0028]
FIGS. 1A to 1C are diagrams illustrating an example of an image in which wind received by a grass object is expressed over time, and time has elapsed from (a) to (c). In (a) of the figure, the grass that has fallen on the left side of the figure rises in (b), while the grass in the center portion has fallen. In (c), the grass in the center part rises and the grass on the right side falls. In this way, it is expressed that the wind blows away from the left to the right with the passage of time from the change in the state such as the angle and direction of the grass. In the present embodiment, it is not possible to directly check in the image, but by controlling the force received by the grass object, that is, the strength of the wind at regular intervals, the state in which the wind flows in the object space more is more A technique that is realistically expressed and easily realized will be described below.
[0029]
First, the principle for expressing the wind will be described.
In the present embodiment, a plurality of generation sources that generate winds having different magnitudes of force at fixed time intervals are set in the object space. The position to be set is outside the area where the character is active (hereinafter referred to as the main area), and each generation source generates a parallel wind toward the main area, and changes the wind force every certain time. . On the other hand, an object (grass object or the like) that is affected by wind receives a force from each generation source according to the distance to each generation source and the passage of time. That is, the wind generated by the generation source has a speed, and reaches a point of each grass object after a given time elapses. The details will be described below by taking as an example a case where three wind generation sources are set in the object space.
[0030]
FIG. 2 is a view of three generation sources as viewed from the Y-axis direction of a coordinate system in the object space (hereinafter referred to as a world coordinate system). As shown in the figure, each of the wind generation sources A to C is defined by a plane perpendicular to the XZ plane, and is set so as to surround the main region 200. Each wind vector is perpendicular to the plane that is the generation source. Therefore, the wind generated from one generation source is parallel regardless of the height (that is, the Y coordinate) and always travels in the same direction. The speed of the wind generated by each generation source is constant regardless of the time. Therefore, if the distance to the wind generation source is known, the wind generation time received at that point can be calculated backward.
[0031]
Further, the generation sources A and C form an angle of 45 degrees with the X-axis direction of the world coordinate system, and the generation source B forms an angle of −45 degrees with the Z-axis direction. Accordingly, the winds generated from the generation sources A and C cancel each other. In this way, by generating wind from both sides and suppressing the strength of the wind from each other, the wind does not simply travel in one direction, but expresses the wind blowing in a complex manner influenced by all things be able to.
[0032]
In addition, the strength of the wind generated by each wind generation source at fixed time intervals is determined by calculating a convergent chaos such as an attractor. For example, simultaneous differential equations known as weather models
dx / dt = a (y−x) (1)
dy / dt = bx−y−xz (2)
dz / dt = xy-cz (3)
Calculate using. Here, a, b, and c are constants, and appropriate numerical values for generating the attractor are substituted. A suitable initial value for this equation (x 0 , Y 0 , Z 0 ), And among the values (x, y, z) obtained by calculating at regular intervals, for example, x is the wind force F of the source A A , Y is the wind power F of the source B B , Z is the wind power F of the source C C Determine as. The reason why the attractor is used in this way is that the flow of the wind does not become periodic or extremely disordered wind is not generated.
[0033]
The wind intensity calculated for each wind generation source is stored in the history table 300 as shown in FIG. The history table 300 stores the time at which the calculation was performed along with the strength of each wind, and is updated so that the current time is at the top.
[0034]
On the other hand, the calculation of the wind received by each grass object is performed as follows. First, as shown in FIG. 4A, at a point 202 to be calculated, a wind vector (that is, wind force and direction) received from each generation source (F A , F B , F C ). And as shown in FIG.4 (b), the calculated wind vector is synthesize | combined and the wind (synthesis | combination vector) which a grass object receives is determined.
[0035]
The calculation of the wind vector that the grass object receives from one source A is as follows. First, the wind traveling time t from the generation source A until reaching the grass object is determined by using the distance d between the generation source A and the grass object and the wind speed V of the generation source A. A (T = d / V A ). And the generation | occurrence | production time (Tt) of the wind which this grass object receives at the present time T is calculated | required. Next, the history table 300 is read out, the wind power generated by the generation source A at time (Tt) is examined, and the wind vector that the grass object acquires from the generation source A is determined. The wind vector that the generation sources B and C give to each grass object is also obtained by the same calculation.
[0036]
Note that the wind speed (V A , V B , V C ) Are set equal, and the values obtained by the equations (1) to (3) are directly set as wind power, each generation source sets the wind power separately, and as a result, the grass sways in the dark clouds. May appear to be. Therefore, the coefficients (α, β, γ) having the relationship of α> β, γ are added to the values obtained by the equations (1) to (3) as the wind power (F A , F B , F C ) And the wind speed of the generation source A is set faster than the wind speeds of the generation sources B and C. By doing this, the wind of the generation source A is the main, and the wind blown to the main area 200 is characterized, and the main wind changes, that is, the direction of the main wind fluctuates, the strength of the main wind Can express a more realistic wind.
[0037]
FIGS. 5A to 5D are diagrams showing composite vectors received by each grid point obtained by dividing the world coordinate system into a grid when the generation source A is set as the main wind generation source. Time has passed from (a) to (d). In FIG. 6A, the large wind force existing at the top of the figure moves to the center of the figure as time passes (from FIG. 2B to FIG. 4D). In this way, by distinguishing one generation source from other generation sources, it is possible to express a wind that flows with strength in the entire object space. Moreover, since the wind power of each generation source is determined by the attractor, the wind power generated every hour can be changed aperiodically and smoothly.
[0038]
Next, the configuration in the present embodiment will be described.
FIG. 6 is a diagram showing an example when the present invention is applied to a home game device. In the figure, the user enjoys the game by operating the game controllers 1202 and 1204 while watching the game image displayed on the display 1200. In this case, information necessary for playing a game such as a game program is stored in a CD-ROM 1206, an IC card 1208, a memory card 1212, and the like, which are information storage media detachable from the main unit.
[0039]
FIG. 7 is a diagram illustrating an example of functional blocks in the present embodiment. In the figure, the functional block includes an operation unit 10, a processing unit 20, a display unit 30, and an information storage medium 40.
[0040]
The operation unit 10 is for inputting an operation of the player's own character in the game and instructions for starting or stopping the game, and the game controllers 1202 and 1204 shown in FIG. 6 correspond to the operation unit 10.
[0041]
The processing unit 20 performs various processes such as control of the entire system, instructions to each block in the system, game processing, image processing, sound processing, and the processing unit 20 mainly includes a game. A calculation unit 22, an image generation unit 24, and a memory 26 are included. The function can be realized by various processors (CPU, DSP, etc.), hardware such as ASIC (gate array, etc.), memory (RAM, ROM, etc.), and a given program.
[0042]
The game calculation unit 22 performs various game processes such as a game progress process, a selection screen setting process, a process for determining the position and orientation of each object and character in the object space, and a process for determining the position of the viewpoint and the line-of-sight direction. Is executed based on an operation signal from the operation unit 10, a game program 42 read from the information storage medium 40, or the like.
[0043]
In addition, the game calculation unit 22 includes a wind generation unit 220 and a grass control unit 222. When the wind generation timing is determined according to the progress of the game, the wind generation unit 220 is instructed to generate the wind and the grass control unit 22 Each unit 222 outputs an instruction for wind receiving processing.
[0044]
When a wind generation instruction is input from the game calculation unit 22, the wind generation unit 220 reads the wind control program 44 stored in the information storage medium 40 and sets the wind generation sources A to C in the object space. Then, the intensity of the wind generated from each of the generation sources A to C is calculated at regular time intervals using the above formulas (1) to (3). The wind generation unit 220 counts the current time each time the wind force is calculated, and stores it in the history table 300 (see FIG. 3) stored in the memory 26 together with the wind force of each of the generation sources A to C.
[0045]
When an instruction for wind receiving processing is input from the game calculation unit 22, the grass control unit 222 reads the wind receiving processing program 46 stored in the information storage medium 40, and obtains a wind vector received by the target grass object. The angle and direction of the grass object are determined according to the wind vector. Then, when each grass object is deformed according to the determined tilt angle and direction, it is output to the image generation unit 24 together with the coordinate data of the grass object in the world coordinate system. FIG. 8 is a flowchart illustrating wind receiving processing executed by the grass control unit 222.
[0046]
In the figure, the grass control unit 222 substitutes 0 for a variable i (step S1), and detects the coordinates of the i-th grass object from n grass objects (step S2). Next, 0 is substituted into the variable j (step S3), and the distance d between the jth generation source and the grass object i is calculated (step S4).
[0047]
The distance d calculated in step S4 and the wind speed V defined in the generation source j j The wind travel time t is calculated from the above, and the wind generation time (T−t) received by the grass object i at the current time T is calculated. Then, the history table 300 shown in FIG. 3 is called to determine the wind vector that the generation source j gives to the grass object i (step S5).
[0048]
Next, 1 is added to j (step S6), and it is determined whether j = 3, that is, whether or not the wind vectors from all the generation sources have been acquired (step S7), and the generation that has not been calculated yet If the source exists, the process returns to step S4.
[0049]
On the other hand, if it is determined in step S7 that the wind vectors from all the generation sources have been acquired, all the acquired wind vectors are combined to determine the combined vector of the wind received by the grass object i (step S7). S8).
[0050]
Then, 1 is added to i (step S9), and it is determined whether i = n, that is, whether all the grass objects have been processed (step S10). When there is an unprocessed grass object, the process returns to step S2 and steps S2 to S10 are repeated. If the process has been completed for all the grass objects, this process is terminated.
[0051]
The image generation unit 24 executes various image processes in accordance with instructions from the game calculation unit 22 and the like. For example, image data based on the own character or the viewpoint of the virtual camera in the object space constructed by the game calculation unit 22 is generated and output to the display unit 30 for display. The display unit 30 is for outputting the image data input from the image generation unit 24 to the screen, and can be realized by hardware such as a CRT, LCD, or HMD.
[0052]
The memory 26 is configured to generate or update and store a history table 300 as shown in FIG. 3 when the current time and the wind power of each generation source are input from the wind generation unit 220.
[0053]
The information storage medium 40 stores a game program 42. The functions of the information storage medium 40 can be realized by hardware such as a CD-ROM, game cassette, IC card, MO, FD, DVD, memory, and hard disk. The game program 42 includes a wind control program 44 and a wind receiving processing program 46. The wind control program 44 is a program for setting a wind generation source, a program for calculating wind power, a wind The wind receiving process program 46 includes a program for executing the wind receiving process of the grass object, including a program for generating the history table 26.
[0054]
Next, the overall operation in the wind generation process in the present embodiment will be described below based on the flowchart shown in FIG. This process is executed at regular time intervals (for example, every frame).
[0055]
First, when a wind generation instruction is input from the game calculation unit 22, the wind generation unit 220 calculates wind force using equations (1) to (3) (step S 20) and updates the history table 300 ( Step S21).
[0056]
In addition, when a wind receiving process execution instruction is input from the game calculation unit 22, the grass control unit 222 calculates the strength of the wind received by all target grass objects, and the inclination angle and direction of each grass object. Is calculated (step S22), and this process is terminated.
[0057]
Next, an example of a hardware configuration capable of realizing the present embodiment will be described with reference to FIG. In the apparatus shown in the figure, a CPU 1000, a ROM 1002, a RAM 1004, an information storage medium 1006, a sound generation IC 1008, an image generation IC 1010, and I / O ports 1012, 1014 are connected to each other via a system bus 1016 so as to be able to input and output data. . A display 1018 is connected to the image generation IC 1010, a speaker 1020 is connected to the sound generation IC 1008, a control device 1022 is connected to the I / O port 1012, and a communication is connected to the I / O port 1014. A device 1024 is connected.
[0058]
The information storage medium 1006 mainly stores programs, image data for expressing display objects, sound data, play data, and the like. For example, in a home game device, a CD-ROM, a game cassette, a DVD, or the like is used as an information storage medium for storing a game program or the like, and a memory card or the like is used as an information storage medium for storing play data. In the arcade game machine, a memory such as a ROM or a hard disk is used. In this case, the information storage medium 1006 is a ROM 1002.
[0059]
The control device 1022 corresponds to a game controller, an operation panel, and the like, and is a device for inputting a result of determination made by the user in accordance with the progress of the game to the device main body.
[0060]
In accordance with a program stored in the information storage medium 1006, a system program stored in the ROM 1002 (initialization information of the apparatus main body), a signal input by the control apparatus 1022, the CPU 1000 performs control of the entire apparatus and various data processing. Do. The RAM 1004 is a storage means used as a work area of the CPU 1000 and stores the given contents of the information storage medium 1006 and the ROM 1002 or the calculation result of the CPU 1000.
[0061]
Further, this type of apparatus is provided with a sound generation IC 1008 and an image generation IC 1010 so that game sounds and game images can be suitably output. The sound generation IC 1008 is an integrated circuit that generates game sounds such as sound effects and background music based on information stored in the information storage medium 1006 and the ROM 1002, and the generated game sounds are output by the speaker 1020. . The image generation IC 1010 is an integrated circuit that generates pixel information to be output to the display 1018 based on image information output from the RAM 1004, the ROM 1002, the information storage medium 1006, and the like. The display 1018 includes a display device such as a CRT, LCD, TV, plasma display, or projector.
[0062]
The communication device 1024 exchanges various types of information used inside the game device with the outside. The communication device 1024 is connected to other game devices to send and receive given information according to the game program, It is used for sending and receiving information such as game programs via the.
[0063]
The various processes described with reference to FIGS. 1 to 7 are information storages storing programs including a wind control program 44 and a wind receiving process program 46 for performing the processes shown in the flowchart of FIG. 8 or FIG. It is realized by a medium 1006, a CPU 1000 that operates according to the program, an image generation IC 1010, a sound generation IC 1008, and the like. Note that the processing performed by the image generation IC 1010, the sound generation IC 1008, and the like may be performed by software using the CPU 1000 or a general-purpose DSP.
[0064]
FIG. 11 shows an example in which the present embodiment is applied to a game device including a host device 1300 and terminals 1304-1 to 1304-n connected to the host device 1300 via a communication line 1302.
[0065]
In this case, the wind control program 44, the wind receiving processing program 46, the game program 42, and the like shown in FIG. 7 are stored in an information storage medium 1306 such as a magnetic disk device, a magnetic tape device, or a memory that can be controlled by the host device 1300, for example. Has been. When the terminals 1304-1 to 1304-n have a CPU, an image generation IC, and a sound generation IC and can generate game images and game sounds in a stand-alone manner, the host device 1300 A game program for generating game images, game sounds, and the like are delivered to the terminals 1304-1 to 1304-n. On the other hand, if it cannot be generated stand-alone, the host device 1300 generates a game image and a game sound, which is transmitted to the terminals 1304-1 to 1304-n and output at the terminal.
[0066]
The present invention is not limited to the one described in the above embodiment, and various modifications can be made. For example, in calculating the wind force, the formulas (1) to (3) are calculated every hour, and the calculated three values are adopted as the wind force. n + 1 = P n + KP n (1-P n It is also possible to use other formulas such as a recurrence formula such as Note that n in the above expression indicates the number of calculations, n + 1 means the current, and n means the previous calculation result. K is a coefficient, and an attractor is generated by substituting an appropriate numerical value.
[0067]
Alternatively, in the present embodiment, wind power calculation using an attractor is employed in order to prevent the wind flow from becoming periodic or extremely chaotic, but the intensity of the wind generated from each wind generation source is periodically It is good also as calculating with a function. At this time, a different period may be given to each generation source, and swell may be given to the wind. Alternatively, the wind cycle may be changed randomly at regular time intervals so that the wind cycle is non-periodic. In this case, the frequency corresponding to the time of the periodic function may be stored, and the wind generation time may be calculated by substituting the generation time of the wind into the periodic function when obtaining the wind force received by the object.
[0068]
Further, although the number of wind generation sources to be set is three, the number is not limited to this number. Alternatively, the generation source is a plane, and the wind is generated in parallel from each generation source. However, the wind generation source may be a given point in the object space, and the wind may be generated on the radiation. In this case, the force is calculated by calculating the distance between the wind generation point and the affected object.
[0069]
In the above embodiment, each grass object is calculated for the wind. However, there are a large number of things that are affected by the wind, and the above processing is performed for all the objects. If the process becomes enormous due to the execution of, the process may be simplified as follows. First, the object is divided into blocks as shown in FIG. 12A, and the wind vector received by each vertex of each block from each generation source is obtained. Then, as shown in FIG. 5B, the wind vectors obtained from the respective generation sources are synthesized, and finally the wind vector that each vertex receives is determined. Furthermore, as shown in FIG. 5C, the wind vector applied to each vertex of the block is smoothly changed by supplementing an arbitrary number of vectors between the vertices of each block. And the wind vector set to the nearest vicinity of each grass object is given to the target object which exists in each block.
[0070]
In addition, although the force generated by each generation source is “wind”, it may represent “wave”. For example, the generation source A shown in FIG. 2 generates an upward vector, and the generation sources B and C generate a downward vector. Then, the horizontal plane is divided into blocks as shown in FIG. 12A, the distance between the vertex of each block and each generation source is calculated, and the vector that the vertex acquires from each generation source is calculated. FIG. 13A shows a cross-sectional view of the object space, and displays the vectors acquired by the vertices of each block defined on the horizontal plane 320. And the wave as shown in Drawing 13 (b) is expressed by determining the synthetic vector of each vector as the height of a water surface.
[Brief description of the drawings]
FIG. 1 is a diagram showing how grass is swayed by wind by applying the present invention, and (a) to (c) show the passage of time, respectively.
FIG. 2 is a diagram showing an example in which a wind generation source is set in an object space.
FIG. 3 is a diagram illustrating an example of a history table.
FIG. 4A is a diagram showing wind vectors received from each generation source; (B) is a figure which shows the synthetic | combination vector of the vector shown to (a).
FIG. 5 is a diagram showing a combined vector of wind received on each grid point after dividing the object space into a grid. (A)-(d) shows the passage of time.
FIG. 6 is a diagram showing an example when the present invention is applied to a home game device.
FIG. 7 is a functional block diagram.
FIG. 8 is a flowchart illustrating wind receiving processing.
FIG. 9 is a flowchart for explaining the overall operation of wind generation processing;
FIG. 10 is a diagram illustrating an example of a hardware configuration capable of realizing the present embodiment.
FIG. 11 is a diagram showing an example when the present embodiment is applied to a game terminal connected to a host device through a communication line.
FIG. 12A is a diagram illustrating an example of a wind vector received at each vertex of a block; (B) is a figure showing a synthetic vector. (C) is a figure which shows an example which supplemented the vector between two vertices.
FIG. 13 is a diagram when the present invention is applied to a wave. (A) is a figure which shows an example which displayed the vector acquired from each generation source. (B) is a figure showing a synthetic vector.
[Explanation of symbols]
10 Operation part
20 processor
22 Game calculator
220 Wind generator
222 Grass control unit
24 Image generator
26 memory
30 Display section
40 Information storage media
42 game programs
44 Wind control program
46 Wind receiving program

Claims (10)

オブジェクト空間内の所与の視点での画像を生成してゲームを実行するゲーム装置であって、
前記オブジェクト空間内の所与の領域に向かう所与のの風を生成する生成源を、風の方向が異なるように当該領域の外側に複数設定する生成源設定手段と、
前記生成源それぞれが生成する風力を変動させる変動手段と、
前記生成源それぞれが生成した風の力を当該風が生成された生成時刻と対応付けて記憶部に記憶する記憶手段と、
前記領域中の所与の位置において、当該位置と当該生成源間の距離、及び、当該生成源が生成した風の所与の進行速度を用いて、当該位置で当該時点において受ける風が生成された生成時刻を、前記各生成源それぞれについて算出する生成時刻算出手段と、
前記各生成源それぞれについて、前記算出された生成時刻において当該生成源が生成した風の力を前記記憶部から読み出す読出手段と、
前記読出手段により読み出された前記各生成源それぞれが生成した風の力を合成して、前記所与の位置で当該時点において受ける風の合成力を求める合成力算出手段と、
を備え、前記生成源それぞれが生成する力を変動させることで前記領域内において吹く風の方向及び強さが異なる複雑な風を表現することを特徴とするゲーム装置。
A game device that generates an image from a given viewpoint in an object space and executes a game,
Generation source setting means for setting a plurality of generation sources for generating a wind of a given force toward a given region in the object space outside the region so that the direction of the wind is different;
And variation means for varying the force of the wind the generating source respectively generated,
Storage means for storing the wind force generated by each of the generation sources in a storage unit in association with the generation time when the wind is generated;
At a given location in the region, the wind received at that point in time is generated at that location using the distance between that location and the source and the given speed of wind generated by the source. Generation time calculating means for calculating the generation time for each of the generation sources;
For each of the generation sources, reading means for reading out the wind force generated by the generation source at the calculated generation time from the storage unit;
A combined force calculating means for combining the wind force generated by each of the generation sources read by the reading means to obtain the combined force of the wind received at the given time at the given position;
The provided, the game apparatus characterized by direction and strength of the wind blowing in the region by varying the force of the wind the generating source, each generated by representing the different complex wind.
オブジェクト空間内の所与の視点での画像を生成してゲームを実行するゲーム装置であって、
前記オブジェクト空間内の所与の水面領域に向かう所与のの波を生成する生成源を、波の方向が異なるように当該領域の外側に複数設定する生成源設定手段と、
前記生成源それぞれが生成する波力を変動させる変動手段と、
前記生成源それぞれが生成した波の力を当該波が生成された生成時刻と対応付けて記憶部に記憶する記憶手段と、
前記領域中の所与の位置において、当該位置と当該生成源間の距離、及び、当該生成源が生成した波の所与の進行速度を用いて、当該位置で当該時点において受ける波が生成された生成時刻を、前記各生成源それぞれについて算出する生成時刻算出手段と、
前記各生成源それぞれについて、前記算出された生成時刻において当該生成源が生成した波の力を前記記憶部から読み出す読出手段と、
前記読出手段により読み出された前記各生成源それぞれが生成した波の力を合成して、前記所与の位置で当該時点において受ける波の合成力を求める合成力算出手段と、
を備え、前記生成源それぞれが生成する力を変動させることで前記領域内における波の方向及び高さが複雑に変化する波を表現することを特徴とするゲーム装置。
A game device that generates an image from a given viewpoint in an object space and executes a game,
Generation source setting means for setting a plurality of generation sources for generating a wave of a given force toward a given water surface area in the object space outside the area so that the directions of the waves are different;
And variation means for varying the force of the waves the generation source respectively generated,
Storage means for storing the force of the wave generated by each of the generation sources in a storage unit in association with the generation time when the wave is generated;
At a given location in the region, the wave received at that point in time is generated at that location using the distance between that location and the source and the given speed of travel of the wave generated by the source. Generation time calculating means for calculating the generation time for each of the generation sources;
For each of the generation sources, reading means for reading out the wave force generated by the generation source at the calculated generation time from the storage unit;
A combined force calculating means for combining the wave forces generated by the respective generation sources read by the reading means to obtain a combined force of the waves received at the given point in time at the given position;
A game apparatus that expresses a wave in which the direction and height of the wave in the region change in a complex manner by changing the force of the wave generated by each of the generation sources.
請求項1または2に記載のゲーム装置であって、
前記生成源設定手段は、前記生成源を前記領域の周囲三方に少なくとも設定することを特徴とするゲーム装置。
The game device according to claim 1 or 2 ,
The game apparatus according to claim 1, wherein the generation source setting means sets the generation source at least in three directions around the area.
請求項1からのいずれかに記載のゲーム装置であって、
前記生成源設定手段は、少なくとも2つの前記生成源を、前記領域に向かう方向が直角となるように設定することを特徴とするゲーム装置。
The game device according to any one of claims 1 to 3 ,
The game apparatus according to claim 1, wherein the generation source setting means sets at least two of the generation sources so that a direction toward the region is a right angle.
請求項1からのいずれかに記載のゲーム装置であって、
前記複数の生成源のうち、メインの生成源を設定するメイン生成源設定手段を更に備え、
前記変動手段は、前記メインの生成源による力の大きさを、残余の生成源よりも大きくして、前記生成源それぞれの力の大きさを変動させる、
ことを特徴とするゲーム装置。
A game device according to any one of claims 1 to 4 ,
A main generation source setting means for setting a main generation source among the plurality of generation sources;
The varying means varies the magnitude of the force of each of the generation sources by making the magnitude of the force by the main generation source larger than the remaining generation sources.
A game device characterized by that.
請求項1からのいずれかに記載のゲーム装置であって、
前記複数の生成源のうち、メインの生成源を設定するメイン生成源設定手段と、
前記メインの生成源による力の進行速度を、残余の生成源の進行速度よりも速く設定する進行速度設定手段と、
を更に備えたことを特徴とするゲーム装置。
A game device according to any one of claims 1 to 4 ,
A main generation source setting means for setting a main generation source among the plurality of generation sources;
A traveling speed setting means for setting a traveling speed of the force by the main generating source faster than a traveling speed of the remaining generating source;
A game apparatus further comprising:
請求項1からのいずれか記載のゲーム装置であって、
前記変動手段は、前記ゲームの進行または時間経過に応じて、前記生成源それぞれの力の大きさを変動させることを特徴とするゲーム装置。
The game device according to any one of claims 1 to 6 ,
The game device characterized in that the changing means changes the magnitude of each of the generation sources in accordance with the progress of the game or the passage of time.
請求項1からのいずれか記載のゲーム装置であって、
前記変動手段は、前記生成源それぞれの力の大きさを非周期的に変動させることを特徴とするゲーム装置。
A game device according to any one of claims 1 to 7 ,
The game device characterized in that the changing means changes the magnitude of each of the generation sources aperiodically.
コンピュータに、オブジェクト空間内の所与の視点での画像を生成させてゲームを実行させるためのプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体であって、
前記プログラムは、
前記オブジェクト空間内の所与の領域に向かう所与のの風を生成する生成源を、風の方向が異なるように当該領域の外側に複数設定する生成源設定手段、
前記生成源それぞれが生成する風力を変動させる変動手段、
前記生成源それぞれが生成した風の力を当該風が生成された生成時刻と対応付けて記憶部に記憶する記憶手段、
前記領域中の所与の位置において、当該位置と当該生成源間の距離、及び、当該生成源が生成した風の所与の進行速度を用いて、当該位置で当該時点において受ける風が生成された生成時刻を、前記各生成源それぞれについて算出する生成時刻算出手段、
前記各生成源それぞれについて、前記算出された生成時刻において当該生成源が生成した風の力を前記記憶部から読み出す読出手段、
前記読出手段により読み出された前記各生成源それぞれが生成した風の力を合成して、前記所与の位置で当該時点において受ける風の合成力を求める合成力算出手段、
として前記コンピュータを機能させ、前記生成源それぞれが生成する力を変動させることで前記領域内において吹く風の方向及び強さが異なる複雑な風を表現するように前記コンピュータを機能させるためのプログラムである、
情報記憶媒体。
A computer-readable information storage medium storing a program for causing a computer to generate an image from a given viewpoint in an object space and execute a game,
The program is
Generation source setting means for setting a plurality of generation sources that generate wind of a given force toward a given area in the object space outside the area so that the direction of the wind is different;
Variation means for varying the force of the wind the generating source respectively generated,
Storage means for storing in the storage unit the wind force generated by each of the generation sources in association with the generation time at which the wind is generated;
At a given location in the region, the wind received at that point in time is generated at that location using the distance between that location and the source and the given speed of wind generated by the source. Generation time calculation means for calculating the generation time for each of the generation sources,
Reading means for reading out, from the storage unit, the wind force generated by the generation source at the calculated generation time for each of the generation sources,
A combined force calculating means for combining the wind force generated by each of the generation sources read by the reading means to obtain the combined force of the wind received at the given time at the given position;
As the cause the computer to function, for causing the computer to function as the direction and strength of the wind blowing in the region by varying the force of the wind the generating source, each generated by representing the different complex wind Is a program,
Information storage medium.
コンピュータに、オブジェクト空間内の所与の視点での画像を生成させてゲームを実行させるためのプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体であって、
前記プログラムは、
前記オブジェクト空間内の所与の水面領域に向かう所与のの波を生成する生成源を、波の方向が異なるように当該領域の外側に複数設定する生成源設定手段、
前記生成源それぞれが生成する波力を変動させる変動手段、
前記生成源それぞれが生成した波の力を当該波が生成された生成時刻と対応付けて記憶部に記憶する記憶手段、
前記領域中の所与の位置において、当該位置と当該生成源間の距離、及び、当該生成源が生成した波の所与の進行速度を用いて、当該位置で当該時点において受ける波が生成された生成時刻を、前記各生成源それぞれについて算出する生成時刻算出手段、
前記各生成源それぞれについて、前記算出された生成時刻において当該生成源が生成した波の力を前記記憶部から読み出す読出手段、
前記読出手段により読み出された前記各生成源それぞれが生成した波の力を合成して、前記所与の位置で当該時点において受ける波の合成力を求める合成力算出手段、
として前記コンピュータを機能させ、前記生成源それぞれが生成する力を変動させることで前記領域内における波の方向及び高さが複雑に変化する波を表現するように前記コンピュータを機能させるためのプログラムである、
情報記憶媒体。
A computer-readable information storage medium storing a program for causing a computer to generate an image from a given viewpoint in an object space and execute a game,
The program is
Generation source setting means for setting a plurality of generation sources for generating a wave of a given force toward a given water surface area in the object space outside the area so that the directions of the waves are different;
Fluctuating means for fluctuating the force of the waves generated by each of the generation sources;
Storage means for storing in the storage unit the force of the wave generated by each of the generation sources in association with the generation time at which the wave was generated;
At a given location in the region, the wave received at that point in time is generated at that location using the distance between that location and the source and the given speed of travel of the wave generated by the source. Generation time calculation means for calculating the generation time for each of the generation sources,
For each of the generation sources, reading means for reading out the wave force generated by the generation source at the calculated generation time from the storage unit,
A combined force calculating means for combining the wave forces generated by the respective generation sources read by the reading means to obtain a combined force of the waves received at the given time at the given position;
And causing the computer to function to express waves in which the direction and height of the waves in the region change in a complex manner by varying the force of the waves generated by each of the generation sources. Is a program,
Information storage medium.
JP2000092240A 2000-03-29 2000-03-29 GAME DEVICE AND INFORMATION STORAGE MEDIUM Expired - Fee Related JP4462704B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000092240A JP4462704B2 (en) 2000-03-29 2000-03-29 GAME DEVICE AND INFORMATION STORAGE MEDIUM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000092240A JP4462704B2 (en) 2000-03-29 2000-03-29 GAME DEVICE AND INFORMATION STORAGE MEDIUM

Publications (2)

Publication Number Publication Date
JP2001276416A JP2001276416A (en) 2001-10-09
JP4462704B2 true JP4462704B2 (en) 2010-05-12

Family

ID=18607603

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000092240A Expired - Fee Related JP4462704B2 (en) 2000-03-29 2000-03-29 GAME DEVICE AND INFORMATION STORAGE MEDIUM

Country Status (1)

Country Link
JP (1) JP4462704B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3734823B1 (en) 2005-01-26 2006-01-11 任天堂株式会社 GAME PROGRAM AND GAME DEVICE
JP2007286669A (en) 2006-04-12 2007-11-01 Sony Corp Image processor, method, and program
JP5031260B2 (en) 2006-05-02 2012-09-19 任天堂株式会社 Object control program, object control apparatus, object control system, and object control method

Also Published As

Publication number Publication date
JP2001276416A (en) 2001-10-09

Similar Documents

Publication Publication Date Title
US8915784B2 (en) Program, information storage medium, and image generation system
US9044669B2 (en) Program, information storage medium, and image generation system
US20090244064A1 (en) Program, information storage medium, and image generation system
US8909506B2 (en) Program, information storage medium, information processing system, and information processing method for controlling a movement of an object placed in a virtual space
JP2011101752A (en) Program, information storage medium, and image generating device
JP2005316948A (en) Image processing apparatus, method and program
JP3926307B2 (en) Three-dimensional image drawing apparatus and method, program, and recording medium
JP2013208373A (en) Program, information storage medium, and server
JP2010035978A (en) Game program and game machine
US7402104B2 (en) Game performing method, game apparatus, storage medium, data signal and program
JP4462704B2 (en) GAME DEVICE AND INFORMATION STORAGE MEDIUM
US8216066B2 (en) Game device, game device control method, program, and information storage medium
JP2011172673A (en) Program, information storage medium, and game device
JP2010029375A (en) Game system, program, and information storage medium
CN111862273A (en) Animation processing method and device, electronic equipment and storage medium
US7129945B2 (en) Image generation method, program and information storage medium
CN116196611A (en) Somatosensory game method based on waving action
JP2001276414A (en) Game device and information memory medium
JP2003305275A (en) Game program
JP2009251887A (en) Image generation system, program, and information storage medium
JP4467590B2 (en) Drawing apparatus, drawing method, and drawing program
JP4229316B2 (en) Image generation system, program, and information storage medium
JP6960968B2 (en) Programs and servers
JP2007087030A (en) Program, information storage medium, and image generation system
JP2010046219A (en) Image processor, image processing method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070216

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070307

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090728

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100108

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100216

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

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4462704

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140226

Year of fee payment: 4

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

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