(57)【要約】【構成】仮想ゲーム空間に存在する地上物オブジェクト２００は、仮想ゲーム空間を移動する飛行オブジェクト１００の前方を捉える視野でＬＣＤに再現される。飛行オブジェクト１００の移動速度を定義する速度パラメータおよび方向パラメータは、プレイヤによるボタン操作に応答して変更される。時間Ｔ（Ｔ＞０）の後に飛行オブジェクト１００が到達する地点の高度は、飛行オブジェクト１００の移動パラメータに基づいて予測される。予測された地点に存在する地上物オブジェクト２００の標高は、マップデータを参照して検出される。検出された地上物オブジェクト２００の標高Ｂ１と飛行オブジェクト１００の高度Ｂ２との相違を表す相違情報は、ＬＣＤを通してプレイヤに向けて出力される。【効果】飛行オブジェクトを操作する上での難しさを緩和することができる。【選択図】図７
2007296191.tif 000002
【特許請求の範囲】
【請求項１】
地上物オブジェクトが配置された仮想ゲーム空間と、前記仮想ゲーム空間内を移動する移動オブジェクトとを画面に表示するゲーム装置のプロセサに、
前記移動オブジェクトの移動を定義する移動パラメータをプレイヤの操作に応答して変更する変更ステップ、
時間Ｔ（Ｔ＞０）の後に前記移動オブジェクトが到達する到達点を前記移動パラメータに基づいて予測する予測ステップ、
現在の前記移動オブジェクトの高度および前記予測ステップによって予測された到達点における前記移動オブジェクトの高度の少なくともいずれか一方を検出する第１検出ステップ、
前記予測ステップによって予測された到達点における前記地上物オブジェクトの高さを検出する第２検出ステップ、および
前記第１検出ステップによって検出された高度と前記第２検出ステップによって検出された高さとの相違を表す相違情報を前記プレイヤに向けて出力する出力ステップを実行させるための、ゲームプログラム。
【請求項２】
前記出力ステップは、前記高さを表す高さ情報を前記相違情報の一部として出力する第１情報出力ステップ、および前記高度を表す高度情報を前記相違情報の他の一部として出力する第２情報出力ステップを含む、請求項１記載のゲームプログラム。
【請求項３】
前記高さ情報は前記高さに対応する長さを有して画面の垂直方向に伸びる第１バーキャラクタを含み、
前記高度情報は前記高度に対応する長さを有して前記画面の垂直方向に伸びる第２バーキャラクタを含む、請求項２記載のゲームプログラム。
【請求項４】
前記第１バーキャラクタは前記画面の下方から上方向に伸びるバー本体と前記高さに相当する位置に設定された上端部とを有し、
前記第２バーキャラクタは前記画面の上方から下方向に伸びるバー本体と前記高度に相当する位置に設定された下端部とを有し、
前記上端部から前記下端部までの間隔が前記高さと前記高度との相違を意味する、請求項３記載のゲームプログラム。
【請求項５】
前記第１情報出力ステップは前記第１バーキャラクタの長さを対数演算によって決定する、請求項３または４記載のゲームプログラム。
【請求項６】
前記予測ステップによって予測された高度から前記検出ステップによって検出された高さを減算することによって求められる減算値が属する数値範囲によって異なる警告を出力する警告ステップを前記プロセサにさらに実行させるようにした、請求項１ないし５のいずれかに記載のゲームプログラム。
【請求項７】
前記警告ステップは、前記減算値がゼロを上回る数値が分布する第１数値範囲に属するとき前記警告を第１態様で出力する第１警告出力ステップ、および前記減算値がゼロを下回る数値が分布する第２数値範囲に属するとき前記警告を第２態様で出力する第２警告出力ステップを含む、請求項６記載のゲームプログラム。
【請求項８】
前記Ｔとして複数の数値の各々を設定する設定ステップ、
前記予測ステップによって予測された複数の到達点に関連して前記第１検出ステップによって検出された複数の高度から前記第２検出ステップによって検出された複数の高さをそれぞれ減算する減算ステップ、および
前記減算ステップによって算出された複数の減算値の中から最小減算値を特定する特定ステップを前記プロセサにさらに実行させるようにし、
前記出力ステップは、前記特定ステップによって特定された最小減算値に対応する相違情報を出力する、請求項１ないし７のいずれかに記載のゲームプログラム。
【請求項９】
前記変更ステップは、前記移動オブジェクトの移動方向を定義する方向パラメータをプレイヤの第１操作に応答して変更する第１変更ステップ、および前記移動オブジェクトの移動速度を定義する速度パラメータを前記プレイヤの第２操作に応答して変更する第２変更ステップを含む、請求項１ないし８のいずれかに記載のゲームプログラム。
【請求項１０】
地上物オブジェクトが配置された仮想ゲーム空間と、前記仮想ゲーム空間内を移動する移動オブジェクトとを画面に表示するゲーム装置であって、
前記移動オブジェクトの移動を定義する移動パラメータをプレイヤの操作に応答して変更する変更手段、
時間Ｔ（Ｔ＞０）の後に前記移動オブジェクトが到達する到達点を前記移動パラメータに基づいて予測する予測手段、
現在の前記移動オブジェクトの高度および前記予測手段によって予測された到達点における前記移動オブジェクトの高度の少なくともいずれか一方を検出する第１検出手段、
前記予測手段によって予測された到達点における前記地上物オブジェクトの高さを検出する第２検出手段、および
前記第１検出手段によって検出された高度と前記第２検出手段によって検出された高さとの相違を表す相違情報を前記プレイヤに向けて出力する出力手段を備える、ゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ゲームプログラムまたはゲーム装置に関し、特にたとえば、仮想ＸＹＺ空間を形成するＸＹ平面上に存在する１または２以上の第１オブジェクトを仮想ＸＹＺ空間を移動する第２オブジェクトの前方を捉える視野で再現する、ゲームプログラムまたはゲーム装置に関する。
【背景技術】
【０００２】
飛行機がプレイヤの操作に応じて仮想ゲーム空間内を飛行する、フライトシミュレータと呼ばれるゲームが従来から知られている。このようなゲームの多くは、飛行機がどの程度の高さを飛行しているかを示す飛行高度を画面に表示する。中には、特許文献１または２のように、実際の高度計を模した画像をディスプレイモニタ上に表示してリアリティを高めたゲームもある。
【特許文献１】特開２０００−１７６１５６号公報
【特許文献２】特開２００２−１２３１６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このようなゲームでは、プレイヤは、仮想ゲーム空間に配置された山やビルなどの地上物に飛行機が衝突しないような操作を求められる。しかし、飛行機が地上物からどの程度高い位置を飛行しているかについては、飛行機の高度のみからは容易に把握することができない。このため、画面上に表示される飛行機および地上物を手掛かりとする以外、プレイヤは地上物から飛行機までの距離を推測することができず、これがフライトシミュレータのようなゲームを困難にする原因の１つとなっている。
【０００４】
それゆえに、この発明の主たる目的は、操作の困難性を緩和することができる、ゲームプログラムまたはゲーム装置を提供することである。
【課題を解決するための手段】
【０００５】
請求項１の発明に従うゲームプログラムは、地上物オブジェクトが配置された仮想ゲーム空間と、仮想ゲーム空間内を移動する移動オブジェクトとを画面に表示するゲーム装置のプロセサに、変更ステップ、予測ステップ、第１検出ステップ、第２検出ステップ、および出力ステップを実行させるためのプログラムである。変更ステップは、移動オブジェクトの移動を定義する移動パラメータをプレイヤの操作に応答して変更するステップである。予測ステップは、時間Ｔ（Ｔ＞０）の後に移動オブジェクトが到達する到達点を移動パラメータに基づいて予測するステップである。第１検出ステップは、現在の移動オブジェクトの高度および予測ステップによって予測された到達点における移動オブジェクトの高度の少なくともいずれか一方を検出するステップである。第２検出ステップは、予測ステップによって予測された到達点における地上物オブジェクトの高さを検出するステップである。出力ステップは、第１検出ステップによって検出された高度と第２検出ステップによって検出された高さとの相違を表す相違情報をプレイヤに向けて出力するステップである。
【０００６】
地上物オブジェクト(200：実施例で相当する参照符号。以下同じ)は、仮想ゲーム空間に配置される。移動オブジェクト(100)は、仮想ゲーム空間内を移動する。このような地上物オブジェクトおよび移動オブジェクトが画面に表示される。移動オブジェクトの移動を定義する移動パラメータは、プレイヤの操作に応答して変更ステップ(S19, S25, S29, S35, S49, S51, S53, S55)で変更される。時間Ｔ（Ｔ＞０）の後に移動オブジェクトが到達する到達点は、移動パラメータに基づいて予測ステップ(S81)で予測される。現在の移動オブジェクトの高度および予測ステップによって予測された到達点における移動オブジェクトの高度の少なくともいずれか一方は、第１検出ステップ(S73)で検出される。予測ステップによって予測された到達点における地上物オブジェクトの高さは、第２検出ステップ(S83)で検出される。第１検出ステップによって検出された高度と第２検出ステップによって検出された高さとの相違を表す相違情報は、プレイヤに向けて出力ステップ(S99, S101)で出力される。
【０００７】
第２検出ステップで検出される高さは、移動オブジェクトが時間Ｔの後に到達すると思われる地点における地上物オブジェクトの高さである。この高さと移動オブジェクトの高度との相違を表す相違情報をプレイヤに向けて出力することで、移動オブジェクトを操作する上での難しさを緩和することができる。
【０００８】
請求項２の発明に従うゲームプログラムは、請求項１に従属し、出力ステップは第１情報出力ステップおよび第２情報出力ステップを含む。第１情報出力ステップは高さを表す高さ情報を相違情報の一部として出力するステップであり、第２情報出力ステップは高度を表す高度情報を相違情報の他の一部として出力するステップである。
【０００９】
高さを表す高さ情報は、相違情報の一部として第１情報出力ステップ(S99)で出力される。また、高度を表す高度情報は、相違情報の他の一部として第２情報出力ステップ(S101)で出力される。これによって、地上物オブジェクトの高さと移動オブジェクトの高度を正確に認識することができる。
【００１０】
請求項３の発明に従うゲームプログラムは、請求項２に従属し、高さ情報は高さに対応する長さを有して画面の垂直方向に伸びる第１バーキャラクタを含み、高度情報は高度に対応する長さを有して画面の垂直方向に伸びる第２バーキャラクタを含む。
【００１１】
高さ情報は第１バーキャラクタ(B1)を含み、高度情報は第２バーキャラクタ(B2)を含む。第１バーキャラクタは高さに対応する長さを有して画面の垂直方向に伸びるキャラクタであり、第２バーキャラクタは高度に対応する長さを有して画面の垂直方向に伸びるキャラクタである。垂直方向に伸びるバーキャラクタを表示することで、プレイヤは上述した距離を直感的に把握することができる。
【００１２】
請求項４の発明に従うゲームプログラムは、請求項３に従属し、第１バーキャラクタは画面の下方から上方向に伸びるバー本体と高さに相当する位置に設定された上端部とを有し、第２バーキャラクタは画面の上方から下方向に伸びるバー本体と高度に相当する位置に設定された下端部とを有し、上端部から下端部までの間隔が高さと高度との相違を意味する。これによって、移動キャラクタが地上物キャラクタに接触するか否かをプレイヤに認識させることができ、移動キャラクタが地上物キャラクタに衝突するような誤操作を容易に回避させることができる。
【００１３】
請求項５の発明に従うゲームプログラムは、請求項３または４に従属し、第１情報出力ステップは第１バーキャラクタの長さを対数演算によって決定する。これによって、画面のサイズが小さくても地上オブジェクトの高さを的確に表現することができる。
【００１４】
請求項６の発明に従うゲームプログラムは、請求項１ないし５のいずれかに従属し、予測ステップによって予測された高度から検出ステップによって検出された高さを減算することによって求められる減算値が属する数値範囲によって異なる警告を出力する警告ステップ(S115, S117)をプロセサにさらに実行させるようにしたプログラムである。
【００１５】
減算値は、予測ステップによって予測された高度から検出ステップによって検出された高さを減算することによって求められる。警告ステップ(S115, S117)では、このような減算値が属する数値範囲によって異なる警告が出力される。これによって、移動オブジェクトから地上物オブジェクトまでの距離に応じた注意喚起をプレイヤに与えることができ、操作性が向上する。
【００１６】
請求項７の発明に従うゲームプログラムは、請求項６に従属し、警告ステップは、減算値がゼロを上回る数値が分布する第１数値範囲に属するとき警告を第１態様で出力する第１警告出力ステップ、および減算値がゼロを下回る数値が分布する第２数値範囲に属するとき警告を第２態様で出力する第２警告出力ステップを含む。
【００１７】
減算値がゼロを上回る数値が分布する第１数値範囲に属するときは、警告は第１警告出力ステップ(115)によって第１態様で出力される。減算値がゼロを下回る数値が分布する第２数値範囲に属するときは、警告は第２警告出力ステップ(117)によって第２態様で出力される。これによって、移動オブジェクトから地上物オブジェクトまでの距離に応じて異なる態様でプレイヤに注意喚起を与えることができ、操作性が向上する。
【００１８】
請求項８の発明に従うゲームプログラムは、請求項１ないし７のいずれかに従属し、Ｔとして複数の数値の各々を設定する設定ステップ、予測ステップによって予測された複数の到達点に関連して第１検出ステップによって検出された複数の高度から第２検出ステップによって検出された複数の高さをそれぞれ減算する減算ステップ、および減算ステップによって算出された複数の減算値の中から最小減算値を特定する特定ステップをプロセサにさらに実行させるようにしたプログラムであり、出力ステップは、特定ステップによって特定された最小減算値に対応する相違情報を出力する。
【００１９】
複数の数値の各々は、設定ステップ(S79, S89)でＴとして設定される。減算ステップ(S85)では、第２検出ステップによって検出された複数の高さが予測ステップによって予測された複数の到達点に関連して第１検出ステップによって検出された複数の高度からそれぞれ減算される。特定ステップ(S91)は、減算ステップによって算出された複数の減算値の中から最小減算値を特定する。ここで、出力ステップの出力処理のために注目される高さは、特定ステップによって特定された最小減算値に対応する。
【００２０】
第１時間およびこれよりも長い第２時間の各々を所定時間として設定することを前提として、移動オブジェクトの移動方向を大きく変更すると、移動オブジェクトから地上物オブジェクトまでの距離が、第２時間後の到達位置では十分であるものの、第１時間後の到達位置では不十分である事態が生じ得る。このような事態を想定して、請求項８では最小減算値に対応する大きさに注目するようにしている。これによって、操作性がさらに向上する。
【００２１】
請求項９の発明に従うゲームプログラムは、請求項１ないし８のいずれかに従属し、変更ステップは、移動オブジェクトの移動方向を定義する方向パラメータをプレイヤの第１操作に応答して変更する第１変更ステップ、および移動オブジェクトの移動速度を定義する速度パラメータをプレイヤの第２操作に応答して変更する第２変更ステップを含む。
【００２２】
移動オブジェクトの移動方向を定義する方向パラメータは、プレイヤの第１操作に応答して第１変更ステップ(S49, S51, S53, S55)で変更される。移動オブジェクトの移動速度を定義する速度パラメータは、プレイヤの第２操作に応答して第２変更ステップ(S19, S25, S29, S35)で変更される。時間Ｔの後に移動オブジェクトが到達する位置は、方向パラメータおよび速度パラメータに依存することとなる。
【００２３】
請求項１０の発明に従うゲーム装置は、地上物オブジェクトが配置された仮想ゲーム空間と、仮想ゲーム空間内を移動する移動オブジェクトとを画面に表示するゲーム装置であって、変更手段、予測手段、第１検出手段、第２検出手段、および出力手段を備える。変更手段は、移動オブジェクトの移動を定義する移動パラメータをプレイヤの操作に応答して変更する。予測手段は、時間Ｔ（Ｔ＞０）の後に移動オブジェクトが到達する到達点を移動パラメータに基づいて予測する。第１検出手段は、現在の前記移動オブジェクトの高度および予測手段によって予測された到達点における移動オブジェクトの高度の少なくともいずれか一方を検出する。第２検出手段は、予測手段によって予測された到達点における地上物オブジェクトの高さを検出する。出力手段は、検出手段によって検出された高さと移動オブジェクトの高度との相違を表す相違情報をプレイヤに向けて出力する。
【００２４】
地上物オブジェクト(200)は、仮想ゲーム空間に配置される。移動オブジェクト(100)は、仮想ゲーム空間内を移動する。このような地上物オブジェクトおよび移動オブジェクトが画面に表示される。移動オブジェクトの移動を定義する移動パラメータは、プレイヤの操作に応答して変更手段(S19, S25, S29, S35, S49, S51, S53, S55)によって変更される。時間Ｔ（Ｔ＞０）の後に移動オブジェクトが到達する到達点は、移動パラメータに基づいて予測手段(S81)によって予測される。現在の移動オブジェクトの高度および予測ステップによって予測された到達点における移動オブジェクトの高度の少なくともいずれか一方は、第１検出手段(S73)によって検出される。予測手段によって予測された到達点における地上物オブジェクトの高さは、第２検出手段(S83)によって検出される。第１検出手段によって検出された高度と第２検出手段によって検出された高さとの相違を表す相違情報は、プレイヤに向けて出力手段(S99, S101)によって出力される。請求項１と同様、第２オブジェクトを操作する上での難しさを緩和することができる。
【発明の効果】
【００２５】
この発明によれば、第２検出ステップまたは第２検出手段によって検出される高さは、移動オブジェクトが時間Ｔの後に到達すると思われる地点における地上物オブジェクトの高さである。この高さと移動オブジェクトの高度との相違を表す相違情報をプレイヤに向けて出力することで、移動オブジェクトを操作する上での難しさを緩和することができる。
【００２６】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００２７】
図１を参照して、この発明の一実施例であるゲーム装置１０は、第１の液晶表示器（ＬＣＤ）１２および第２のＬＣＤ１４を含む。このＬＣＤ１２およびＬＣＤ１４は、所定の配置位置となるようにハウジング１６に収納される。この実施例では、ハウジング１６は、上側ハウジング１６ａと下側ハウジング１６ｂとによって構成され、ＬＣＤ１２は上側ハウジング１６ａに収納され、ＬＣＤ１４は下側ハウジング１６ｂに収納される。したがって、ＬＣＤ１２とＬＣＤ１４とは縦（上下）に並ぶように近接して配置される。
【００２８】
なお、この実施例では、表示器としてＬＣＤを用いるようにしてあるが、ＬＣＤに代えて、ＥＬ（Electronic Luminescence）ディスプレイやプラズマディスプレイ等を用いるようにしてもよい。
【００２９】
図１からも分かるように、上側ハウジング１６ａは、ＬＣＤ１２の平面形状よりも少し大きな平面形状を有し、一方主面からＬＣＤ１２の表示面を露出するように開口部が形成される。一方、下側ハウジング１６ｂは、その平面形状が上側ハウジング１６ａよりも横長に選ばれ、横方向の略中央部にＬＣＤ１４の表示面を露出するように開口部が形成される。また、下側ハウジング１６ｂには、音抜き孔１８が形成されるとともに、操作スイッチ２０（２０ａ，２０ｂ，２０ｃ，２０ｄ，２０ｅ，２０Ｌおよび２０Ｒ）が設けられる。
【００３０】
また、上側ハウジング１６ａと下側ハウジング１６ｂとは、上側ハウジング１６ａの下辺（下端）と下側ハウジング１６ｂの上辺（上端）の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、ＬＣＤ１２の表示面とＬＣＤ１４の表示面とが対面するように、上側ハウジング１６ａを回動させて折りたたんでおけば、ＬＣＤ１２の表示面およびＬＣＤ１４の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング１６ａと下側ハウジング１６ｂとは、回動可能に連結せずに、それらを一体的（固定的）に設けたハウジング１６を形成するようにしてもよい。
【００３１】
操作スイッチ２０は、方向指示スイッチ（十字キー）２０ａ，スタートスイッチ２０ｂ、セレクトスイッチ２０ｃ、動作スイッチ（Ａボタン）２０ｄ、動作スイッチ（Ｂボタン）２０ｅ、動作スイッチ（Ｌボタン）２０Ｌおよび動作スイッチ（Ｒボタン）２０Ｒを含む。スイッチ２０ａ，２０ｂおよび２０ｃは、下側ハウジング１６ｂの一方主面において、ＬＣＤ１４の左側に配置される。また、スイッチ２０ｄおよび２０ｅは、下側ハウジング１６ｂの一方主面において、ＬＣＤ１４の右側に配置される。さらに、スイッチ２０Ｌおよびスイッチ２０Ｒは、それぞれ、下側ハウジング１６ｂの上端（天面）の一部において、上側ハウジング１６ａとの連結部以外の部分に、当該連結部を挟むように左右に配置される。
【００３２】
操作スイッチ２０の各スイッチの役割は、ゲームごとに適宜設定される。たとえば、方向指示スイッチ２０ａは、ディジタルジョイスティックとして機能し、４つの押圧部の少なくとも１つを操作することによって、プレイヤによって操作可能なプレイヤキャラクタ(またはプレイヤオブジェクト)の移動方向またはカーソルの移動方向を指示すること等のために用いられる。スタートスイッチ２０ｂは、プッシュボタンで構成され、ゲームを開始（再開）したり、一時停止（Pause）したりすること等のために用いられる。セレクトスイッチ２０ｃは、プッシュボタンで構成され、ゲームモードの選択等のために用いられる。
【００３３】
動作スイッチ２０ｄすなわちＡボタン２０ｄは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ（パンチ）、投げる、つかむ（取得）、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム（ＲＰＧ）やシミュレーションＲＰＧにおいては、アイテムの取得、武器またはコマンドの選択および決定等を指示することができる。動作スイッチ２０ｅすなわちＢボタン２０ｅは、プッシュボタンで構成され、セレクトスイッチ２０ｃで選択したゲームモードの変更やＡボタン２０ｄで決定したアクションの取り消し等のために用いられる。
【００３４】
動作スイッチ２０Ｌ（左押しボタン）および動作スイッチ２０Ｒ（右押しボタン）は、プッシュボタンで構成される。これら左押しボタン（Ｌボタン）２０Ｌおよび右押しボタン（Ｒボタン）２０Ｒは、Ａボタン２０ｄおよびＢボタン２０ｅと同様の操作に用いることができ、また、Ａボタン２０ｄおよびＢボタン２０ｅの補助的な操作に用いることができる。
【００３５】
また、このゲーム装置１０はタッチパネルを用いたゲーム装置であり、ＬＣＤ１４の上面には、タッチパネル２２が装着される。タッチパネル２２としては、少なくとも１点の指示位置を検出可能なものが用いられる。具体的には、抵抗膜方式、赤外線を利用した光学式（再帰反射式）、静電容量結合式の種類のもの等を用いることができる。
【００３６】
タッチパネル２２は、その上面をスティック２４ないしはペン（スタイラスペン）或いは指（以下、これらを「スティック２４等」という場合がある。）で、押圧したり撫でたり（触れたり）することによって操作（タッチ操作）されると、スティック２４等の指示位置を検出して、指示位置の座標値を示す座標データを出力する。２点の指示位置を同時に検出可能なタッチパネルであれば、プレイヤによってたとえば２点がタッチ操作された場合には、２点の指示位置の座標値を含む座標データを出力する。
【００３７】
なお、この実施例では、ＬＣＤ１４（ＬＣＤ１２も同じ、または略同じ。）の表示面の解像度は２５６ｄｏｔ×１９２ｄｏｔであり、タッチパネル２２の検出精度も表示画面に対応して２５６ｄｏｔ×１９２ｄｏｔとしてあるが、タッチパネル２２の検出精度は表示画面の解像度よりも低くてもよく、高くてもよい。
【００３８】
たとえば、ＬＣＤ１２にはプレイヤに見せるためのゲーム画面が表示され、タッチパネル２２の設けられるＬＣＤ１４には、ＬＣＤ１２のゲーム画面に関連して、プレイヤに見せかつ操作させるためのゲーム画面が表示されてよい。ＬＣＤ１２に表示されるゲーム画面には、ゲーム空間内に登場するプレイヤキャラクタが含まれてよい。また、ＬＣＤ１４に表示されるゲーム画面には、スティック２４等のタッチ入力によるプレイヤキャラクタの操作方法の案内や指示などが含まれてよいし、タッチ操作可能なたとえばオブジェクトないしアイコン、文字情報等が含まれてもよい。
【００３９】
なお、ＬＣＤ１４にタッチ操作可能なオブジェクト等が表示される場合、プレイヤは、該オブジェクトをスティック２４等で直接触れるようにしてタッチパネル２２上を操作することによって、たとえばそのオブジェクトの選択または操作、座標入力指示等を行うことが可能である。また、ゲームの種類に応じてその他各種の入力指示を行うことができ、たとえばＬＣＤ１４の表示画面に表示される文字情報やアイコン等によるコマンドを選択したり、ＬＣＤ１２に表示されるゲーム画面（マップ）のスクロール（徐々に移動表示）方向を指示したりすることも可能である。
【００４０】
このように、ゲーム装置１０は、２画面分の表示部となるＬＣＤ１２およびＬＣＤ１４を有し、いずれか一方（この実施例では、ＬＣＤ１４）の表示画面上にタッチパネル２２が設けられるので、２画面（ＬＣＤ１２，１４）と２系統の操作部（２０，２２）を有する構成となるのである。
【００４１】
ただし、このゲーム装置１０は、ゲーム空間内に登場するプレイヤキャラクタの動作をタッチパネル操作に基づいて制御しようとするものである。したがって、上述の各操作スイッチ２０の操作内容のうちプレイヤキャラクタの動作制御に関するものは、タッチパネル２２での操作に割り当てられるものもあるので、それらの操作内容に関しては操作スイッチ２０の操作があっても機能しないように設定しておいてよい。
【００４２】
また、この実施例では、スティック２４は、たとえば上側ハウジング１６ａの側面（右側面）に設けられる収納部（収納穴）２６に収納することができ、必要に応じて取り出される。ただし、スティック２４を設けない場合には、収納部２６を設ける必要もない。
【００４３】
さらに、ゲーム装置１０はメモリカード（またはゲームカートリッジ）２８を含み、このメモリカード２８は着脱自在であり、下側ハウジング１６ｂの裏面ないしは下端（底面）に設けられる挿入口３０から挿入される。図１では省略するが、挿入口３０の奥部には、メモリカード２８の挿入方向先端部に設けられるコネクタ（図示せず）と接合するためのコネクタ４６（図２参照）が設けられており、したがって、メモリカード２８が挿入口３０に挿入されると、コネクタ同士が接合され、ゲーム装置１０のＣＰＵコア４２（図２参照）がメモリカード２８にアクセス可能となる。
【００４４】
なお、図１では表現できないが、下側ハウジング１６ｂの内部において、この下側ハウジング１６ｂの音抜き孔１８と対応する位置には、スピーカ３２（図２参照）が設けられる。
【００４５】
また、図１では省略するが、たとえば、下側ハウジング１６ｂの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング１６ｂの底面側には、電源スイッチ、音量調節つまみ、外部拡張コネクタおよびイヤフォンジャックなどが設けられる。
【００４６】
図２はゲーム装置１０の電気的な構成を示すブロック図である。図２を参照して、ゲーム装置１０は電子回路基板４０を含み、この電子回路基板４０にはＣＰＵコア４２等の回路コンポーネントが実装される。ＣＰＵコア４２は、バス４４を介してコネクタ４６に接続されるととともに、ＲＡＭ４８、第１のグラフィック処理ユニット（ＧＰＵ）５０、第２のＧＰＵ５２、入出カインターフエース回路（以下、「Ｉ／Ｆ回路」という。）５４およびＬＣＤコントローラ６０に接続される。
【００４７】
コネクタ４６には、上述したように、メモリカード２８が着脱自在に接続される。メモリカード２８は、ＲＯＭ２８ａおよびＲＡＭ２８ｂを含み、図示は省略するが、ＲＯＭ２８ａおよびＲＡＭ２８ｂは、ともにバスで接続され、さらに、コネクタ４６と接合されるコネクタ（図示せず）に接続される。したがって、上述したように、ＣＰＵコア４２は、ＲＯＭ２８ａおよびＲＡＭ２８ｂにアクセスすることができるのである。
【００４８】
ＲＯＭ２８ａは、ゲーム装置１０で実行すべきゲーム（仮想ゲーム）のためのゲームプログラム、画像（キャラクタ画像、背景画像、アイテム画像、メッセージ画像など）データおよびゲームに必要な音ないし音楽のデータ（音データ）等を予め記憶する。ＲＡＭ（バックアップＲＡＭ）２８ｂは、そのゲームの途中データやゲームの結果データを記憶（セーブ）する。
【００４９】
ＲＡＭ４８は、バッファメモリないしはワーキングメモリとして使用される。つまり、ＣＰＵコア４２は、メモリカード２８のＲＯＭ２８ａに記憶されたゲームプログラム、および画像データ、音データ等のデータをＲＡＭ４８にロードし、ロードしたゲームプログラムを実行する。また、ＣＰＵコア４２は、ゲームの進行に応じて一時的なデータ（ゲームデータやフラグデータ）をＲＡＭ４８に記憶しつつゲーム処理を実行する。
【００５０】
なお、ゲームプログラム、画像データおよび音データ等は、ＲＯＭ２８ａから一度に全部、または必要に応じて部分的かつ順次的に読み出され、ＲＡＭ４８に記憶される。
【００５１】
ＧＰＵ５０およびＧＰＵ５２は、それぞれ、描画手段の一部を形成し、たとえばシングルチップＡＳＩＣで構成され、ＣＰＵコア４２からのグラフィックスコマンド（graphics command ：作画命令）を受け、そのグラフィックスコマンドに従ってゲーム画像データを生成する。ただし、ＣＰＵコア４２は、グラフィックスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラム（ゲームプログラムに含まれる。）をＧＰＵ５０およびＧＰＵ５２のそれぞれに与える。
【００５２】
なお、ＧＰＵ５０およびＧＰＵ５２が作画コマンドを実行するにあたって必要なデータ（画像データ：ポリゴンやテクスチャ等のデータ）は、ＧＰＵ５０およびＧＰＵ５２がそれぞれ、ＲＡＭ４８にアクセスして取得する。
【００５３】
また、ＧＰＵ５０には、第１のビデオＲＡＭ（以下、「ＶＲＡＭ」という。）５６が接続され、ＧＰＵ５２には、第２のＶＲＡＭ５８が接続される。ＧＰＵ５０は作成したゲーム画像データをＶＲＡＭ５６に描画し、ＧＰＵ５２は作成したゲーム画像データをＶＲＡＭ５８に描画する。
【００５４】
ＶＲＡＭ５６およびＶＲＡＭ５８は、ＬＣＤコントローラ６０に接続される。ＬＣＤコントローラ６０はレジスタ６２を含み、レジスタ６２はたとえば１ビットで構成され、ＣＰＵコア４２の指示によって「０」または「１」の値（データ値）を記憶する。ＬＣＤコントローラ６０は、レジスタ６２のデータ値が「０」である場合には、ＶＲＡＭ５６に描画されたゲーム画像データをＬＣＤ１２に出力し、ＶＲＡＭ５８に描画されたゲーム画像データをＬＣＤ１４に出力する。また、ＬＣＤコントローラ６０は、レジスタ６２のデータ値が「１」である場合には、ＶＲＡＭ５６に描画されたゲーム画像データをＬＣＤ１４に出力し、ＶＲＡＭ５８に描画されたゲーム画像データをＬＣＤ１２に出力する。
【００５５】
なお、上述の例では、ＬＣＤコントローラ６０がＶＲＡＭ５６およびＶＲＡＭ５８と接続され、これらＶＲＡＭ５６およびＶＲＡＭ５８から画像データを取得するように説明した。しかし、ＶＲＡＭ５６およびＶＲＡＭ５８に描画された画像データは、ＣＰＵコア４２の指示の下、ＧＰＵ５０およびＧＰＵ５２によってＬＣＤコントローラ６０に与えられてもよい。
【００５６】
Ｉ／Ｆ回路５４には、操作スイッチ２０，タッチパネル２２およびスピーカ３２が接続される。ここで、操作スイッチ２０は、上述したスイッチ２０ａ，２０ｂ，２０ｃ，２０ｄ，２０ｅ，２０Ｌおよび２０Ｒであり、操作スイッチ２０が操作されると、対応する操作信号（操作データ）がＩ／Ｆ回路５４を介してＣＰＵコア４２に入力される。また、タッチパネル２２からの座標データがＩ／Ｆ回路５４を介してＣＰＵコア４２に入力される。さらに、ＣＰＵコア４２は、ゲーム音楽（ＢＧＭ）、効果音またはゲームキャラクタの音声（擬制音）などのゲームに必要な音データをＲＡＭ４８から読み出し、Ｉ／Ｆ回路５４を介してスピーカ３２から出力する。
【００５７】
図３には、ＲＡＭ４８のメモリマップの一例が示される。ＲＡＭ４８はゲームプログラム記憶領域７０を含む。ゲームプログラム記憶領域７０にはメモリカード２８のＲＯＭ２８ａからゲームプログラムがロードされる。この実施例のゲームプログラムは、ゲームメイン処理プログラム７０ａ、機体位置制御プログラム７０ｂ、機体速度制御プログラム７０ｃ、機体方向制御プログラム７０ｄ、仮想空間表示プログラム７０ｅ、飛行情報表示プログラム７０ｆ等を含む。
【００５８】
ゲームメイン処理プログラム７０ａは、この実施例のゲームのメイン処理を実行するためのプログラムである。図４を参照して、このゲームは、戦闘機の機体を模した飛行オブジェクト（プレイヤオブジェクト）１００がプレイヤのキー操作に従って仮想ゲーム空間内を移動するコンバットフライトシミュレーションゲームである。仮想ゲーム空間は、Ｘ軸，Ｙ軸およびＺ軸によって形成される３次元の空間（仮想ＸＹＺ空間）である。Ｚ軸には標高（海抜）０ｍ〜７０００ｍのスケールを定義する目盛りが割り当てられ、ＸＹ平面は標高０ｍに相当する位置に形成される。図示しないが、仮想ゲーム空間には、敵および味方の戦闘機が登場する。
【００５９】
ＸＹ平面上には、地面，山，ビル建物，氷山，船舶などを模した複数の地上物オブジェクト２００，２００，…が配置される。ここで、地上に配置された敵および味方の戦闘機は、地上物オブジェクト２００から区別される。プレイヤは、飛行オブジェクト１００が地上物オブジェクト２００に衝突しないようにキー操作を行う。このようなコンバットフライトシミュレーションゲームのメイン処理が、ゲームメイン処理プログラム７０ａによって実行される。
【００６０】
機体位置制御プログラム７０ｂは、飛行オブジェクト１００の位置を制御するためのプログラムである。飛行オブジェクト１００の動作は、ＸＹＺ座標で表現される現在位置と秒速で表現される速度ベクトルとによって定義される。また、ＬＣＤ１２に表示される１フレーム画像の更新周期は、１／６０秒である。したがって、現在位置は、フレーム更新タイミングが到来する毎に数１に従って更新される。
［数１］
（Ｃｘ，Ｃｙ，Ｃｚ）＝（Ｃｘ，Ｃｙ，Ｃｚ）＋（Ｖｘ，Ｖｙ，Ｖｚ）＊１／６０秒
Ｃｘ，Ｃｙ，Ｃｚ：現在位置
Ｖｘ，Ｖｙ，Ｖｚ：速度ベクトル
数１によれば、現在位置を定義するＸ座標Ｃｘは、速度ベクトルのＸ軸成分Ｖｘに“１／６０”を掛け算することによって得られた掛け算値と加算される。また、現在位置を定義するＹ座標Ｃｙは、速度ベクトルのＹ軸成分Ｖｙに“１／６０”を掛け算することによって得られた掛け算値と加算される。さらに、現在位置を定義するＺ座標Ｃｚは、速度ベクトルのＺ軸成分Ｖｚに“１／６０”を掛け算することによって得られた掛け算値と加算される。こうして、現在位置を定義するＸ座標Ｃｘ，Ｙ座標ＣｙおよびＺ座標Ｃｚが更新される。
【００６１】
機体速度制御プログラム７０ｃは、飛行オブジェクト１００の移動速度つまり速度ベクトルの長さを制御するためのプログラムである。動作スイッチ２０Ｒが１回押されると、飛行オブジェクト１００を加速させるべく、速度ベクトルの長さがΔＬＧ１だけ増大される。動作スイッチ２０Ｌが１回押されると、飛行オブジェクト１００を減速させるべく、速度ベクトルの長さがΔＬＧ１だけ減少される。動作スイッチ２０Ｒが２回続けて押されると、飛行オブジェクト１００を急加速させるべく、速度ベクトルの長さがΔＬＧ２（＞ΔＬＧ１）だけ増大される。動作スイッチ２０Ｌが２回続けて押されると、飛行オブジェクト２００を急減速させるべく、速度ベクトルの長さがΔＬＧ２だけ減少される。なお、スイッチ操作が解除されるか、動作スイッチ２０Ｒおよび２０Ｌの両方が同時に押されると、速度ベクトルの長さは基準値ＬＧｒｅｆに戻される。
【００６２】
なお、基準値ＬＧｒｅｆは、時速換算で１０００ｋｍ／ｈに相当する。また、ΔＬＧ１は時速換算で３００ｋｍ／ｈに相当し、ΔＬＧ２は時速換算で７００ｋｍ／ｈに相当する。
【００６３】
機体方向制御プログラム７０ｄは、飛行オブジェクト１００の移動方向つまり動きベクトル（速度ベクトル）の方向を制御するためのプログラムである。図５を参照して、飛行オブジェクト１００の方向は、ヨー角およびピッチ角によって規定される。ヨー角はＺ軸周り方向の角度であり、ピッチ角はＸ軸周り方向の角度である。この実施例では、ヨー角およびピッチ角のいずれもが０°を示すとき、飛行オブジェクトは真北を向く。方向指示スイッチ２０ａが上方向に操作されると、ピッチ角が減少するように速度ベクトルの方向が更新される。方向指示スイッチ２０ａが下方向に操作されると、ピッチ角が増大するように速度ベクトルの方向が更新される。方向指示スイッチ２０ａが左方向に操作されると、ヨー角が減少するように速度ベクトルの方向が更新される。方向指示スイッチ２０ａが右方向に操作されると、ヨー角が増大するように速度ベクトルの方向が更新される。
【００６４】
仮想空間表示プログラム７０ｅは、飛行オブジェクト１００を後方から捉える視野で仮想ゲーム空間および飛行オブジェクト１００をＬＣＤ１２に表示するためのプログラムである。仮想空間表示プログラム７０ｅは、フレーム更新タイミングが到来する毎に、飛行オブジェクト１００の現在位置および動きベクトルによって規定される視界を画面全体に表示し、飛行オブジェクト１００の背面を画面中央に表示する。仮想ゲーム空間および飛行オブジェクト１００は、飛行オブジェクト１００の前方を捉える視野で、図６，図７または図８に示すようにＬＣＤ１２に再現される。
【００６５】
飛行情報表示プログラム７０ｆは、飛行オブジェクト１００の飛行状況をプレイヤに伝えるためのプログラムである。フレーム更新タイミングが到来すると、飛行オブジェクト１００の現在位置および速度ベクトルが検出され、これに基づいて機体高度（Ｚ座標に対応），機体速度（速度ベクトルの長さに対応）および方位（動きベクトルの方向に対応）がＬＣＤ１２に表示される。図６，図７または図８に示すように、機体高度は“ＡＬＴ＊＊＊＊ｍ”（＊＊＊＊：高度を示す数値）の要領で画面右下に表示され、機体速度は“ＳＰＥＥＤ＃＃＃＃ｋｍ／ｈ”（＃＃＃＃：時速を示す数値）の要領で画面左下に表示される。方位を示すキャラクタ（Ｎ，Ｅ，ＷまたはＳ）は、画面上方に表示される。
【００６６】
機体高度が５０００ｍを下回るときは、１．０秒後または２．０秒後に飛行オブジェクト１００が到達するＸＹＺ座標が数２に従って予測される。
［数２］
（Ｆｘ，Ｆｙ，Ｆｚ）＝（Ｃｘ，Ｃｙ，Ｃｚ）＋（Ｖｘ，Ｖｙ，Ｖｚ）＊Ｔ秒
Ｔ：１．０または２．０
Ｆｘ，Ｆｙ，Ｆｚ：予測到達位置
数２によれば、現在位置を定義するＸ座標Ｃｘは、速度ベクトルのＸ軸成分Ｖｘに“Ｔ”を掛け算することによって得られた掛け算値と加算される。また、現在位置を定義するＹ座標Ｃｙは、速度ベクトルのＹ軸成分Ｖｙに“Ｔ”を掛け算することによって得られた掛け算値と加算される。さらに、現在位置を定義するＺ座標Ｃｚは、速度ベクトルのＺ軸成分Ｖｚに“Ｔ”を掛け算することによって得られた掛け算値と加算される。こうして、１．０秒後および２．０秒後の各々の予測到達位置を定義するＸ座標Ｆｘ，Ｙ座標ＦｙおよびＺ座標Ｆｚが求められる。
【００６７】
続いて、数２の演算によって予測された２つのＸＹ座標の各々における地上物オブジェクト２００の標高が検出される。さらに、１．０秒後の飛行オブジェクト１００の高度からこの真下に存在する地上物オブジェクト２００までの距離と、２．０秒後の飛行オブジェクトの高度からこの真下に存在する地上物オブジェクト２００までの距離とが算出される。算出される距離は、飛行オブジェクト１００の高度から地上オブジェクト２００の標高を減算して得られる数値を示す。
【００６８】
飛行オブジェクト１００が図９（Ａ）に示す要領で飛行する場合、１．０秒後の飛行オブジェクト１００から地上物オブジェクト２００までの距離として“Ｄ１ａ”が算出され、２．０秒後の飛行オブジェクト１００から地上物オブジェクト２００までの距離として“Ｄ２ａ”が算出される。また、飛行オブジェクト１００が図９（Ｂ）に示す要領で飛行する場合、１．０秒後の飛行オブジェクト１００から地上物オブジェクト２００までの距離として“Ｄ１ｂ”が算出され、２．０秒後の飛行オブジェクト１００から地上物オブジェクト２００までの距離として“Ｄ２ｂ”が算出される。図９（Ｂ）によれば、２．０秒後の飛行オブジェクト１００の高度は地上オブジェクト２００の標高よりも低い。このため、距離Ｄ２ｂは負の数値を示す。
【００６９】
こうして２つの距離が算出された後は、最短距離（数値が最も小さい距離であり、図９（Ａ）および図９（Ｂ）のいずれにおいても距離Ｄｂ２）に注目して以下の処理が実行される。地上物標高バーＢ１および機体高度バーＢ２を表示するためのバースケールは、最短距離を定義する機体高度が１０００ｍ以上であるとき５０００ｍに設定される一方、最短距離を定義する機体高度が１０００ｍ未満のとき１０００ｍに設定される。
【００７０】
地上物標高バーＢ１および機体高度バーＢ２は、バースケールが５０００ｍであるとき図７に示す要領で表示され、バースケールが１０００ｍであるとき図８に示す要領で表示される。地上物標高バーＢ１は画面の右下端から上方向に伸び、機体高度バーＢ２は画面の右上端から下方向に伸びる。地上物標高バーＢ１の上端の位置が地上物オブジェクト２００の標高に相当し、機体高度バーＢ２の下端の位置が飛行オブジェクト１００の高度に相当する。したがって、機体高度バーＢ２の下端の地上物標高バーＢ１の上端への接触は、飛行オブジェクト１００が地上オブジェクト２００に衝突することを意味する。
【００７１】
地上物標高バーＢ１は赤色（ＲＧＢ：２５５，０，０）で表示され、機体高度バーＢ２は緑色（ＲＧＢ：０，２５５，０）で表示される。また、地上物標高バーＢ１および機体高度バーＢ２の幅は、８ピクセルに相当する。こうして表示された地上物標高バーＢ１および機体高度バーＢ２が、飛行オブジェクト１００の高度と地上物オブジェクト２００の標高との相違を表す相違情報を形成する。
【００７２】
地上物標高バーＢ１を表示するにあたっては、サイズが小さいＬＣＤ１２に０ｍから高高度までを表現することの困難性を考慮して、Ｌｏｇ（対数）を利用して地上物標高バーＢ１の長さが規定される。たとえば、標高１００ｍの地上物オブジェクトに対応する地上物標高バーＢ１の長さが３２ｄｏｔで表現される場合、標高１０００ｍの地上物オブジェクトに対応する地上物標高バーＢ１の長さは、３２０ｄｏｔではなく９６ｄｏｔとされる。なお、Ｌｏｇの底値は、適宜変更されてもよい。
【００７３】
表示された機体高度バーＢ２の色は、敵の戦闘機から発射されたミサイルが飛行オブジェクト１００にロックオンしたとき、緑色から赤色に変更される。また、ミサイルが被弾中，飛行オブジェクト１００が急加速中，あるいは飛行オブジェクト１００が急減速中であれば、機体高度バーＢ２は左右に振動する。ここで、ミサイルが飛行オブジェクト１００に衝突して０．５秒を経過した時点からの５秒間を“被弾中”と定義する。なお、被弾中の振動幅は最大４ピクセルであり、急加速中または急減速中の振動幅は最大２ピクセルである。
【００７４】
また、表示された機体高度バーＢ２は、注目する最短距離が２００ｍ以下でかつ０ｍを上回るとき１秒間に２．５回の割合でフラッシングし（図９（Ａ）参照）、注目する最短距離が０ｍ以下のとき１秒間に７．５回の割合でフラッシングする（図９（Ｂ）参照）。また、注目する最短距離が２００ｍ以下であれば、“ＰＵＬＬ  ＵＰ”の警告メッセージが画面に表示される。
【００７５】
１秒間に２．５回のフラッシングが行われるとき、プレイヤは飛行オブジェクト１００が警戒高度にあると認識する。１秒間に７．５回のフラッシングが行われるとき、プレイヤは遅くとも２．０秒後に飛行オブジェクト１００が墜落すると認識する。なお、“フラッシング”とは、機体高度バーＢ１の色を赤色および緑色の間で変化させる処理、すなわち赤色と緑色が単位時間毎に交互に表れるように点滅表示させる処理である。
【００７６】
このような飛行情報表示プログラム７０ｆが実行されることで、プレイヤが飛行オブジェクト１００を操作するときの困難性を緩和することができる。
【００７７】
なお、ゲームプログラム記憶領域７０には図示は省略しているが、ゲーム音楽またはゲームサウンドを生成して出力するためのプログラムなど、ゲーム進行に必要な各種プログラムが記憶される。例えば、上述の最短距離が２００ｍ以下のときに警告音を発生させるようにしても良い。その場合には、警告音を生成して出力するためのプログラムが記憶される。
【００７８】
また、ＲＡＭ４８のメモリマップはデータ記憶領域を含み、データ記憶領域には、メモリカード２８のＲＯＭ２８ａまたはＲＡＭ２８ｂからロードされたデータやゲーム処理に応じて生成されたデータ等が記憶される。データ記憶領域は、画像データ記憶領域７２、動作パラメータ記憶領域７４、位置関係データ記憶領域７６等を含む。
【００７９】
画像データ記憶領域７２には、ゲーム画像を生成するための画像データが記憶される。たとえば、飛行オブジェクト１００、地上物オブジェクト２００、飛行情報キャラクタ、その他のオブジェクトなどの画像データ、および地上物オブジェクト２００のマップデータ（地上物オブジェクト２００の標高を含む）が記憶される。
【００８０】
動作パラメータ記憶領域７４には、機体位置制御プログラム７０ｂ，機体速度制御プログラム７０ｃおよび機体方向制御プログラム７０ｄによって規定された飛行オブジェクト１００の動作パラメータ（移動パラメータ）が記憶される。具体的には、飛行オブジェクト１００の現在位置を示すＸＹＺ座標と現時点の速度ベクトルとが動作パラメータとして記憶される。
【００８１】
位置関係データ記憶領域７６には、飛行情報表示プログラム７０ｆによって算出された２点の位置関係に関するデータが記憶される。具体的には、１．０秒後に飛行オブジェクト１００が到達する位置のＸＹＺ座標とこの到達位置を定義するＸＹ座標における地上物オブジェクトの標高とが、１．０秒後の位置関係データとして記憶される。また、２．０秒後に飛行オブジェクト１００が到達する位置のＸＹＺ座標とこの到達位置を定義するＸＹ座標における地上物オブジェクトの標高とが、２．０秒後の位置関係データとして記憶される。
【００８２】
なお、データ記憶領域には、図示は省略するが、ゲームの進行に応じて発生する他のゲームデータ（フラグやカウンタも含む。）等も記憶される。
【００８３】
機体位置制御プログラム７０ｂの処理を、図１０を参照して説明する。まずステップＳ１で飛行オブジェクト１００の現在位置を表すＸＹＺ座標を初期化する。初期化されたＺ座標は、標高６０００ｍに相当する値を示す。ステップＳ３およびＳ５では、飛行オブジェクト１００の速度ベクトルを初期化する。速度ベクトルの長さは、時速換算で１０００ｋｍ／ｈに相当する初期値ＬＧｒｅｆに設定される。速度ベクトルの方向は、ピッチ角＝ヨー角＝０°に相当する方向に設定される。初期化されたＸＹＺ座標および速度ベクトルは、動作パラメータ記憶領域７４に書き込まれる。ステップＳ７ではフレーム更新タイミングが到来したか否かを判別する。ここでＹＥＳであればステップＳ９に進み、動作パラメータ記憶領域７４に格納されたＸＹＺ座標を上述の数１に従って更新する。更新処理が完了すると、ステップＳ７に戻る。
【００８４】
機体速度制御プログラム７０ｃの処理を、図１１を参照して説明する。ステップＳ１１では動作スイッチ２０Ｒが１回押されたか否かを判別し、ステップＳ１３では動作スイッチ２０Ｌが１回押されたか否かを判別する。ステップＳ１５では動作スイッチ２０Ｒが２回続けて押されたか否かを判別し、ステップＳ１７では動作スイッチ２０Ｌが２回続けて押されたか否かを判別する。
【００８５】
ステップＳ１１でＹＥＳと判断されるとステップＳ１９に進み、動作パラメータ記憶領域７４に格納された動きベクトルの長さをΔＬＧ１だけ増大させる。これによって、飛行オブジェクト１００が加速される。動作スイッチ２０Ｒの押圧が解除されるか、動作スイッチ２０Ｌおよび２０Ｒが同時に押されると、ステップＳ２１からステップＳ２３に進み、動作パラメータ記憶領域７４に格納された動きベクトルの長さを初期値ＬＧｒｅｆに戻す。ステップＳ２３の処理が完了すると、ステップＳ１１に戻る。
【００８６】
ステップＳ１３でＹＥＳと判断されるとステップＳ２５に進み、動作パラメータ記憶領域７４に格納された動きベクトルの長さをΔＬＧ１だけ減少させる。これによって、飛行オブジェクト１００が減速される。動作スイッチ２０Ｌの押圧が解除されるか、動作スイッチ２０Ｌおよび２０Ｒが同時に押されると、ステップＳ２７でＹＥＳと判断し、ステップＳ２３の処理を経てステップＳ１１に戻る。
【００８７】
ステップＳ１５でＹＥＳと判断されるとステップＳ２９に進み、動作パラメータ記憶領域７４に格納された動きベクトルの長さをΔＬＧ２だけ増大させる。これによって、飛行オブジェクト１００が急加速される（アフターバーナー）。動作スイッチ２０Ｒの押圧が解除されるか、動作スイッチ２０Ｌおよび２０Ｒが同時に押されると、ステップＳ３１からステップＳ３３に進み、動作パラメータ記憶領域７４に格納された動きベクトルの長さを初期値ＬＧｒｅｆに戻す。ステップＳ３３の処理が完了すると、ステップＳ１１に戻る。
【００８８】
ステップＳ１７でＹＥＳと判断されるとステップＳ３５に進み、動作パラメータ記憶領域７４に格納された動きベクトルの長さをΔＬＧ２だけ減少させる。これによって、飛行オブジェクト１００が急減速される（ハードブレーキ）。動作スイッチ２０Ｌの押圧が解除されるか、動作スイッチ２０Ｌおよび２０Ｒが同時に押されると、ステップＳ３７でＹＥＳと判断し、ステップＳ３３の処理を経てステップＳ１１に戻る。
【００８９】
機体方向制御プログラム７０ｄの処理を、図１２を参照して説明する。ステップＳ４１では方向指示スイッチ２０ａが上方向に操作されたか否かを判別し、ステップＳ４３では方向指示スイッチ２０ａが下方向に操作されたか否かを判別する。また、ステップＳ４５では方向指示スイッチ２０ａが左方向に操作されたか否かを判別し、ステップＳ４７では方向指示スイッチ２０ａが右方向に操作されたか否かを判別する。
【００９０】
ステップＳ４１でＹＥＳであればステップＳ４９に進み、ピッチ角が減少するように速度ベクトルの方向を更新する。ステップＳ４３でＹＥＳであればステップＳ５１に進み、ピッチ角が増大するように速度ベクトルの方向を更新する。ステップＳ４５でＹＥＳであればステップＳ５３に進み、ヨー角が減少するように速度ベクトルの方向を更新する。ステップＳ４７でＹＥＳであればステップＳ５５に進み、ヨー角が増大するように速度ベクトルの方向を更新する。ステップＳ４９，Ｓ５１，Ｓ５３またはＳ５５の処理が完了すると、ステップＳ４１に戻る。
【００９１】
仮想空間表示プログラム７０ｅの処理を、図１３を参照して説明する。ステップＳ６１ではフレーム更新タイミングが到来したか否かを判別し、ＹＥＳであればステップＳ６３に進む。ステップＳ６３では、動作パラメータ記憶領域７４を参照して、飛行オブジェクト１００のＸＹＺ座標および移動方向を検出する。ステップＳ６５では、検出されたＸＹＺ座標および移動方向によって特定される視界を算出し、算出された視界を表す画像をＬＣＤ１２の全面に表示する。ステップＳ６７では、飛行オブジェクト１００の背面をＬＣＤ１２の中央に表示する。仮想ゲーム空間および飛行オブジェクト１００は、飛行オブジェクト１００の前方を捉える視野でＬＣＤ１２に再現される（図６，図７または図８参照）。ステップＳ６７の処理が完了すると、ステップＳ６１に戻る。なお、ステップＳ６７の処理は行われなくてもよい。すなわち、飛行オブジェクト１００の背面を表示せず、飛行オブジェクト１００のコックピットから前方を捉えた視野を再現して表示するようにしてもよい。
【００９２】
飛行情報表示プログラム７０ｆの処理を、図１４を参照して説明する。フレーム更新タイミングが到来するとステップＳ７１からステップＳ７３に進み、飛行オブジェクト１００の現時点のＸＹＺ座標および速度ベクトルを動作パラメータ記憶領域７４から検出する。ステップＳ７５では、検出されたＸＹＺ座標および速度ベクトルに基づいて、機体高度，機体速度および方位を図６，図７または図８に示す要領でＬＣＤ１２に表示する。
【００９３】
ステップＳ７７では機体高度が５０００ｍ以上であるか否かを判別し、ＹＥＳであればステップＳ７１に戻る一方、ＮＯであればステップＳ７９に進む。ステップＳ７９では変数Ｔを“１．０”に設定し、続くステップＳ８１では飛行オブジェクト１００のＴ秒後の到達地点を示すＸＹＺ座標を上述の数２に従って算出する。
【００９４】
ステップＳ８３では、ステップＳ８１で予測されたＸＹ座標における地上物オブジェクト２００の標高を検出する。標高の検出にあたっては、画像データ記憶領域７２に記憶されたマップデータが参照される。ステップＳ８５では、ステップＳ８１で予測されたＸＹ座標における飛行オブジェクト１００から地上物オブジェクト２００までの距離を算出する。算出された距離は、ステップＳ８１で予測されたＺ座標からステップＳ８３で検出された標高を減算することで求められる。
【００９５】
ステップＳ８７では変数Ｔが“２．０”を示すか否かを判別する。ここでＮＯであれば、ステップＳ８９で変数Ｔを“２．０”に設定してからステップＳ８１〜Ｓ８５の処理を再度実行する。これによって、１．０秒後の到達地点および２．０秒後の到達地点の各々について、飛行オブジェクト１００から地上物オブジェクト２００までの距離が求められる。
【００９６】
ステップＳ８７でＹＥＳであればステップＳ９１に進み、算出された２つの距離の中から最短距離（数値が最小の距離）を特定する。ステップＳ９３では、特定された最短距離を定義する機体高度（飛行オブジェクト１００のＺ座標）が１０００ｍ以上であるか否かを判別する。ここでＹＥＳであればステップＳ９５でバースケールを５０００ｍに設定する一方、ＮＯであればステップＳ９７でバースケールを１０００ｍに設定する。
【００９７】
ステップＳ９９では、ステップＳ９１で特定された最短距離を定義する赤色の地上物標高バーＢ１をＬＣＤ１２に表示する。ステップＳ１０１では、ステップＳ９１で特定された最短距離を定義する緑色の機体高度バーＢ２をＬＣＤ１２に表示する。表示される地上物標高バーＢ１および機体高度バーＢ２は、ステップＳ９５またはＳ９７で設定されたバースケールで、図７または図８に示す要領で表示される。
【００９８】
上述のように、地上物標高バーＢ１は画面の右下から上方向に伸び、機体高度バーＢ２は画面の右上から下方向に伸びる。地上物標高バーＢ１の上端の位置が地上物オブジェクト２００の標高に相当し、機体高度バーＢ２の下端の位置が飛行オブジェクト１００の高度に相当する。地上物標高バーＢ１の長さは、対数演算によって決定される。こうして表示された地上物標高バーＢ１および機体高度バーＢ２が、飛行オブジェクト１００の高度と地上物オブジェクト２００の標高との相違を表す相違情報を形成する。
【００９９】
ステップＳ１０３では、敵の戦闘機から発射されたミサイルが飛行オブジェクト１００にロックオンしたか否かを判別する。ここでＹＥＳであれば、ステップＳ１０５で機体高度バーＢ２の色を赤色に変更してからステップＳ７１に戻る。一方、ＮＯであれば、ミサイルが被弾中，飛行オブジェクト１００が急加速中，あるいは飛行オブジェクト１００が急減速中であるか否かを、ステップＳ１０７で判別する。被弾中，急加速中および急減速中のいずれでもなければそのままステップＳ１１１に進む一方、被弾中，急加速中または急減速中であれば、ステップＳ１０９で機体高度バーＢ２を左右に振動させてからステップＳ１１１に進む。なお、上述のように、被弾中の振動幅は、急加速中または急減速中の振動幅よりも大きい。
【０１００】
ステップＳ１１１では、ステップＳ９１で特定された最短距離が２００ｍ以下であるか否かを判別する。ステップＳ１１３では、ステップＳ９１で特定された最短高度が０ｍ以下であるか否かを判別する。最短距離が２００ｍを上回るときは、機体高度に十分に余裕があると判断し、そのままステップＳ７１に戻る。最短距離が２００ｍ以下でかつ０ｍを上回るときは、飛行オブジェクト１００が警戒高度にあるとみなし、ステップＳ１１５に進む。最短距離が０ｍ以下であれば、遅くとも２．０秒後に飛行オブジェクト１００が地上物オブジェクト２００に衝突して墜落するとみなし、ステップＳ１１７に進む。
【０１０１】
ステップＳ１１５では、機体高度バーＢ２を１秒間に２．５回の割合でフラッシングする。ステップＳ１１７では、機体高度バーＢ２を１秒間に７．５回の割合でフラッシングする。ステップＳ１１５またはＳ１１７に続くステップＳ１１９では“ＰＵＬＬ  ＵＰ”の警告メッセージをＬＣＤ１２に表示し、その後にステップＳ７１に戻る。
【０１０２】
以上の説明から分かるように、仮想ゲーム空間に存在する１または２以上の地上物オブジェクト２００は、仮想ゲーム空間を移動する飛行オブジェクト１００の前方を捉える視野でＬＣＤ１２に再現される(S65)。飛行オブジェクト１００の移動速度を定義する速度パラメータは、プレイヤによる操作スイッチ２０Ｒおよび２０Ｌの操作に応答して変更される(S19, S25, S29, S35)。飛行オブジェクト１００の移動方向を定義する方向パラメータは、プレイヤによる方向指示スイッチ２０ａの操作に応答して変更される(S49, S51, S53, S55)。
【０１０３】
時間Ｔ（Ｔ＞０）の後に飛行オブジェクト１００が到達する地点の高度は、飛行オブジェクト１００の移動パラメータに基づいて予測される(S81)。予測された地点に存在する地上物オブジェクト２００の標高は、マップデータを参照して検出される(S83)。検出された地上物オブジェクト２００の標高と飛行オブジェクト１００の高度との相違を表す相違情報は、ＬＣＤ１２を通してプレイヤに向けて出力される(S99, S101)。
【０１０４】
飛行オブジェクト１００がＴ秒後に到達すると思われる地点に存在する地上オブジェクト２００の標高と飛行オブジェクト１００の高度との相違を表す相違情報をプレイヤに向けて出力することで、飛行オブジェクト１００を操作する上での難しさを緩和することができる。特に、飛行オブジェクト１００のコックピットから前方を捉えた視野を再現して表示するような場合には、飛行オブジェクト１００が画面に表示されないために、飛行オブジェクト１００と地上物オブジェクト２００の間の距離を目視で確認することが難しいので、飛行オブジェクト１００を操作する上での難しさをより効果的に緩和することができる。
【０１０５】
なお、この実施例では、戦闘機を模したオブジェクトを空中を模した仮想ゲーム空間で移動させるようにしたが、潜水艦を模したオブジェクトを海中を模した仮想ゲーム空間で移動させるようにしてもよい。
【０１０６】
また、この実施例では、操作スイッチ２０Ｒおよび２０Ｌの操作状態に関係なく１．０秒後および２．０秒後に飛行オブジェクトが到達する位置を算出するようにしている。しかし、操作スイッチ２０Ｒまたは２０Ｌの操作中（移動方向を変更する期間）には、たとえば０．５秒後のようなより短い時間が経過した後の到達位置を算出するようにしてもよい。
【０１０７】
さらに、この実施例では、１．０秒後および２．０秒後という２つの時間に注目しているが、これよりも多くの時間に注目するようにしてもよい。また、１つの時間（例えば、２．０秒後）のみに注目するようにしてもよい。
【０１０８】
また、この実施例では、機体高度バーＢ２として、Ｔ秒後の飛行オブジェクト１００の予測高度を表示するようにしたが、現在の飛行オブジェクト１００の高度を表示するようにしてもよい。このようにすれば、現在の飛行オブジェクト１００の高度とＴ秒後の到達予測地点の地上物オブジェクト２００の標高との相違を表す相違情報をプレイヤに認識させることができる。
【０１０９】
また、この実施例では、縦方向の同一線上に対して、地上物標高バーＢ１を下から上方向に伸びるように表示し、機体高度バーＢ２を上から下方向に伸びるように表示したが、縦方向の同一線上に限らず、地上物標高バーＢ１と機体高度バーＢ２の伸びる方向を同じにしてもよい。例えば、地上物標高バーＢ１と機体高度バーＢ２を所定間隔を空けて横に並べて表示し、地上物標高バーＢ１と機体高度バーＢ２のどちらも下端から上方向に伸びるように表示してもよい。
【０１１０】
また、この実施例では、Ｔ秒後の機体高度、地上物標高、機体高度と地上物標高の距離（間隔）を２つのバーとバー間の距離で表したが、これらを数値で表すようにしてもよい。また、機体高度と地上物標高の距離のみをバーまたは数値で表すようにしてもよい。あるいは、機体高度と地上物標高のみを数値で表すようにしてもよい。
【図面の簡単な説明】
【０１１１】
【図１】この発明の一実施例のゲーム装置の一例を示す外観図である。
【図２】図１実施例のゲーム装置の電気的な構成を示すブロック図である。
【図３】図２に示すＲＡＭ４８のメモリマップの一例を示す図解図である。
【図４】仮想ゲーム空間を飛行オブジェクトが移動する様子を示す図解図である。
【図５】飛行オブジェクトの姿勢を規定するヨー角およびピッチ角を示す図解図である。
【図６】ＬＣＤ１２に表示されるゲーム画面の一例を示す図解図である。
【図７】ＬＣＤ１２に表示されるゲーム画面の一例を示す図解図である。
【図８】ＬＣＤ１２に表示されるゲーム画面の一例を示す図解図である。
【図９】（Ａ）は飛行オブジェクトの予測到達位置における飛行オブジェクトから地上物オブジェクトまでの距離の一例を示す図解図であり；（Ｂ）は飛行オブジェクトの予測到達位置における飛行オブジェクトから地上物オブジェクトまでの距離の他の一例を示す図解図である。
【図１０】機体位置制御プログラムに従う処理の一例を示すフロー図である。
【図１１】機体速度制御プログラムに従う処理の一例を示すフロー図である。
【図１２】機体方向制御プログラムに従う処理の一例を示すフロー図である。
【図１３】仮想空間表示プログラムに従う処理の一例を示すフロー図である。
【図１４】飛行情報表示プログラムに従う処理の一部を示すフロー図である。
【図１５】飛行情報表示プログラムに従う処理の他の一部を示すフロー図である。
【図１６】飛行情報表示プログラムに従う処理のその他の一部を示すフロー図である。
【符号の説明】
【０１１２】
１０  …ゲーム装置
１２，１４  …ＬＣＤ
２２  …タッチパネル
２４  …スティック
２８  …メモリカード
３２  …スピーカ
４２  …ＣＰＵコア
４８  …ＲＡＭ
５０，５２  …ＧＰＵ
５４  …Ｉ／Ｆ回路
５６，５８  …ＶＲＡＭ
６０  …ＬＣＤコントローラ
１００  …飛行オブジェクト
２００  …地上オブジェクト
【図１】
2007296191.tif 000003
【図２】
2007296191.tif 000004
【図３】
2007296191.tif 000005
【図４】
2007296191.tif 000006
【図５】
2007296191.tif 000007
【図６】
2007296191.tif 000008
【図７】
2007296191.tif 000009
【図８】
2007296191.tif 000010
【図９】
2007296191.tif 000011
【図１０】
2007296191.tif 000012
【図１１】
2007296191.tif 000013
【図１２】
2007296191.tif 000014
【図１３】
2007296191.tif 000015
【図１４】
2007296191.tif 000016
【図１５】
2007296191.tif 000017
【図１６】
2007296191.tif 000018