(57)【要約】【課題】メモリ使用量、開発時の作業時間などを増大させず、しかも、飛行体に理不尽な動きをさせないシミュレーションゲーム機、シミュレーションゲーム機のプログラム、及び、シミュレーションゲーム機の制御方法を提供する。【解決手段】シミュレーションゲーム機１０は、実世界で飛行原理が異なる戦闘機及びミサイルを仮想世界で飛行させることによってゲームを展開させるフライトシミュレーションゲーム機であって、戦闘機に関するパラメータを記憶する第１の記憶部８１と、ミサイルに関するパラメータを記憶する第２の記憶部８２と、第１及び第２の記憶部８１、８２に記憶されているパラメータを使用して、戦闘機及びミサイルの飛行制御に用いる共通の飛行制御ルーチンを動作させることにより、戦闘機及びミサイルの飛行制御を行う飛行制御部９１などとを備える。【選択図】図１
2008110042.tif 000002
【特許請求の範囲】
【請求項１】
実世界で飛行原理が異なる第１及び第２の飛行体を仮想世界で飛行させることによってゲームを展開させるシミュレーションゲーム機であって、
前記第１の飛行体に関するパラメータを記憶する第１の記憶部と、
前記第２の飛行体に関するパラメータを記憶する第２の記憶部と、
前記第１及び第２の記憶部に記憶されているパラメータを使用して、前記第１及び第２の飛行体の飛行制御に用いる共通の飛行制御ルーチンを動作させることにより、前記第１及び第２の飛行体の飛行制御を行う飛行制御部と、
を備えるシミュレーションゲーム機。
【請求項２】
請求項１に記載のシミュレーションゲーム機において、
前記第１の飛行体は、飛行機であり、
前記第２の飛行体は、ミサイルであること、
を特徴とするシミュレーションゲーム機。
【請求項３】
請求項２に記載のシミュレーションゲーム機において、
前記共通の飛行制御ルーチンは、前記飛行機の飛行制御ルーチンであること、
を特徴とするシミュレーションゲーム機。
【請求項４】
実世界で飛行原理が異なる第１及び第２の飛行体を仮想世界で飛行させることによってゲームを展開させるシミュレーションゲーム機を、
前記第１の飛行体に関するパラメータを記憶する第１の記憶部と、
前記第２の飛行体に関するパラメータを記憶する第２の記憶部と、
前記第１及び第２の記憶部に記憶されているパラメータを使用して、前記第１及び第２の飛行体の飛行制御に用いる共通の飛行制御ルーチンを動作させることにより、前記第１及び第２の飛行体の飛行制御を行う飛行制御部と、
として機能させるためのシミュレーションゲーム機のプログラム。
【請求項５】
実世界で飛行原理が異なる第１及び第２の飛行体を仮想世界で飛行させることによってゲームを展開させるシミュレーションゲーム機の制御方法であって、
前記第１及び第２の飛行体に関するパラメータを使用して、前記第１及び第２の飛行体の飛行制御に用いる共通の飛行制御ルーチンを動作させることにより、前記第１及び第２の飛行体の飛行制御を行うこと、
を特徴とするシミュレーションゲーム機の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、飛行体を仮想世界で飛行させることによってゲームを展開させるシミュレーションゲーム機、シミュレーションゲーム機のプログラム、及び、シミュレーションゲーム機の制御方法に関するものである。
【背景技術】
【０００２】
特許文献１は、戦闘機からミサイルを発射して敵機を破壊するフライトシミュレーションゲーム機を開示している。
この種のフライトシミュレーションゲーム機では、戦闘機を動かす飛行制御ルーチンとは別に、ミサイル専用の飛行制御ルーチンを作成し、その計算結果を元にミサイルを動かしていた。
【０００３】
そのため、プログラムは膨大になり、メモリ使用量、開発時の作業時間などが増大していた。
また、ミサイル単体で飛行制御をしていたため、ミサイルが加速しすぎたり、旋回しすぎたりして、理不尽な動きをしてしまう可能性があった。
【特許文献１】特開２００５−１３７７６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の課題は、メモリ使用量、開発時の作業時間などを増大させず、しかも、飛行体に理不尽な動きをさせないシミュレーションゲーム機、シミュレーションゲーム機のプログラム、及び、シミュレーションゲーム機の制御方法を提供することである。
【課題を解決するための手段】
【０００５】
本発明は、以下のような解決手段により、前記課題を解決する。なお、理解を容易にするために、本発明の実施例に対応する符号を付して説明するが、これに限定されるものではない。
請求項１の発明は、実世界で飛行原理が異なる第１及び第２の飛行体を仮想世界で飛行させることによってゲームを展開させるシミュレーションゲーム機（１０）であって、前記第１の飛行体に関するパラメータを記憶する第１の記憶部（８１）と、前記第２の飛行体に関するパラメータを記憶する第２の記憶部（８２）と、前記第１及び第２の記憶部（８１、８２）に記憶されているパラメータを使用して、前記第１及び第２の飛行体の飛行制御に用いる共通の飛行制御ルーチンを動作させることにより、前記第１及び第２の飛行体の飛行制御を行う飛行制御部（９１）と、を備えるシミュレーションゲーム機（１０）である。
請求項２の発明は、請求項１に記載のシミュレーションゲーム機（１０）において、前記第１の飛行体は、飛行機であり、前記第２の飛行体は、ミサイルであること、を特徴とするシミュレーションゲーム機（１０）である。
請求項３の発明は、請求項２に記載のシミュレーションゲーム機（１０）において、前記共通の飛行制御ルーチンは、前記飛行機の飛行制御ルーチンであること、を特徴とするシミュレーションゲーム機（１０）である。
請求項４の発明は、実世界で飛行原理が異なる第１及び第２の飛行体を仮想世界で飛行させることによってゲームを展開させるシミュレーションゲーム機（１０）を、前記第１の飛行体に関するパラメータを記憶する第１の記憶部（８１）と、前記第２の飛行体に関するパラメータを記憶する第２の記憶部（８２）と、前記第１及び第２の記憶部（８１、８２）に記憶されているパラメータを使用して、前記第１及び第２の飛行体の飛行制御に用いる共通の飛行制御ルーチンを動作させることにより、前記第１及び第２の飛行体の飛行制御を行う飛行制御部（９１）と、として機能させるためのシミュレーションゲーム機のプログラムである。
請求項５の発明は、実世界で飛行原理が異なる第１及び第２の飛行体を仮想世界で飛行させることによってゲームを展開させるシミュレーションゲーム機（１０）の制御方法であって、前記第１及び第２の飛行体に関するパラメータを使用して、前記第１及び第２の飛行体の飛行制御に用いる共通の飛行制御ルーチンを動作させることにより、前記第１及び第２の飛行体の飛行制御を行うこと、を特徴とするシミュレーションゲーム機の制御方法である。
【発明の効果】
【０００６】
本発明によれば、共通の飛行制御ルーチンを動作させることにより、第１及び第２の飛行体の飛行制御を行うので、飛行制御ルーチンは１つでよくなり、メモリ使用量や、開発時の作業時間を抑えることができる。
また、共通の飛行制御ルーチンを使用することにより、第１の飛行体と第２の飛行体とがある程度同じような動きをするようになり、より自然な動きを表現することができる。
さらに、飛行機用の飛行制御ルーチンが予め存在するような場合には、それを流用することによって、簡単にミサイルを制御することができる。
【発明を実施するための最良の形態】
【０００７】
以下、図面等を参照して、本発明の実施例について、さらに詳しく説明する。
【実施例】
【０００８】
図１は、本発明によるシミュレーションゲーム機の実施例を示す図である。
本実施例のシミュレーションゲーム機１０は、実世界（現実の世界）で飛行原理が異なる戦闘機（第１の飛行体、飛行機）とミサイル（第２の飛行体）とを、仮想世界（ゲーム空間）で飛行させることによってゲームを展開させるフライトシミュレーションゲーム機である。
ここで、「飛行原理が異なる」とは、飛行の原理が異種であることをいう。例えば、戦闘機Ａと戦闘機Ｂとは、飛行原理は異ならない。また、戦闘機と旅客機とも、飛行原理は異ならない。一方、戦闘機とミサイルとは、飛行原理が異なる。これは、戦闘機は、翼によって揚力を得て飛行しているが、ミサイルは、付いている翼に依存せず、ロケットエンジンの推力で押されるように飛行しているからである。
【０００９】
また、シミュレーションゲーム機１０は、入力装置２０と、入力制御回路３０と、モニタ４０と、ビデオ制御回路５０と、スピーカ６０と、サウンド制御回路７０と、メモリ８０と、制御部９０などとを備える。
【００１０】
入力装置２０は、プレイヤによって操作されるジョイスティック、ミサイル発射ボタン、スイッチなどの装置である。
入力制御回路３０は、入力装置２０から入力される入力信号を制御部９０に伝達する回路である。
モニタ４０は、ビデオ制御回路５０からの画像データを可視像として出力する装置である。
ビデオ制御回路５０は、画像データの合成及び出力を制御する回路である。
スピーカ６０は、サウンド制御回路７０からの音声データを可聴音として出力する装置である。
サウンド制御回路７０は、音声データの合成及び出力を制御する回路である。
メモリ８０は、ＲＯＭ、ＥＥＰＲＯＭ、ＲＡＭなどから構成され、第１の記憶部８１と、第２の記憶部８２と、プログラム記憶部８３とを備える。
第１の記憶部８１は、戦闘機に関するパラメータを記憶する部分であり、第２の記憶部８２は、ミサイルに関するパラメータを記憶する部分である（パラメータの詳細は、後述する）。
プログラム記憶部８３は、このシミュレーションゲーム機１０を動作させるためのシミュレーションゲーム機のプログラムを記憶する部分である。シミュレーションゲーム機のプログラムは、戦闘機及びミサイルの飛行制御に用いる共通の飛行制御ルーチン（フライトエンジン）を備える（共通の飛行制御ルーチンの詳細は、後述する）。
制御部９０は、このシミュレーションゲーム機１０を統括制御する部分であり、第１及び第２の記憶部８１、８２に記憶されているパラメータを使用して共通の飛行制御ルーチンを動作させることにより、戦闘機及びミサイルの飛行制御を行う飛行制御部９１を備える。
制御部９０は、戦闘機の飛行を制御する場合には、戦闘機に関するパラメータを使用して共通の飛行ルーチンを動作させることにより、戦闘機の飛行制御を行う。また、戦闘機からミサイルが発射された場合には、戦闘機とミサイルとの両方の飛行を制御しなければならないので、その場合には、戦闘機及びミサイルに関するパラメータを交互に使用して共通の飛行ルーチンを動作させることにより、戦闘機及びミサイルの飛行制御を行う。
【００１１】
図２は、飛行体の飛行制御に用いる軸について説明する図である。
本実施例の飛行体（戦闘機及びミサイル）は、Ｘ軸のピッチングと、Ｙ軸のヨーイングと、Ｚ軸のローリングとで制御されており、制御部９０は、入力装置２０からの入力信号をＸ軸、Ｙ軸、Ｚ軸の値に変換して、飛行体を制御する。
Ｘ軸のピッチングは、飛行体の左右軸まわりの運動、すなわち、機首を上下に振る運動である。
Ｙ軸のヨーイングは、飛行体の上下軸まわりの運動、すなわち、機首を左右に振る運動である。
Ｚ軸のローリングは、飛行体の前後軸まわりの運動、すなわち、飛行体が右や左に傾く運動である。
【００１２】
図３は、ミサイルに関するパラメータの詳細について説明する図であり、ミサイルに関するパラメータには、以下のものがある。
（１）回転角Ｘデータ（図３（Ａ）参照）
このデータは、ミサイルの速度（ＫＴ；ノット）と回転角Ｘ（ｄｅｇ／ｓ）との関係を示している。例えば、ミサイルが２００ＫＴで飛行していれば、ミサイルは、約３５ｄｅｇ／ｓでピッチングする。
（２）抑え角データ（図３（Ｂ）参照）
このデータは、ミサイルの速度（ＫＴ）と抑え角（ｄｅｇ）との関係を示している。例えば、ミサイルが２００ＫＴで飛行していれば、抑え角は、約１度となる。ここで、抑え角とは、図２のＺ軸に対して、飛行体がどの程度機首を立ち上げているかを示す角度である。
（３）最大抑え角データ（図３（Ｃ）参照）
このデータは、ミサイルの速度（ＫＴ）と最大抑え角（ｄｅｇ）との関係を示している。例えば、ミサイルが２００ＫＴで飛行していれば、最大抑え角は、約２度となる。ここで、最大抑え角とは、飛行体がどれくらいまで機首を立ち上げられるかを示す値である。
【００１３】
（４）加速、減速度合い（図３（Ｄ）参照）
このデータは、ミサイルの目標速度から現在のミサイルの速度を減算して絶対値をとった値（ＫＴ）と、加数及び減数との関係を示している。例えば、ミサイルの目標速度が４００ＫＴであり、ミサイルが現在２００ＫＴで飛行していれば、ミサイルの目標速度から現在のミサイルの速度を減算して絶対値をとった値は、２００ＫＴとなる。この場合、加速であれば、現在のミサイルの速度に１フレームあたり約０．８ＫＴ加算し、減速であれば、現在のミサイルの速度に１フレームあたり約２．３ＫＴ減算する。
（５）抗力係数（図３（Ｅ）参照）
このデータは、抑え角（ｄｅｇ）と抗力係数との関係を示している。例えば、ミサイルの抑え角が１度であれば、抗力係数は、約０．９となる。ここで、抗力係数とは、飛行体の形状及び迎え角の値によって定まる係数である。１０００ＫＴで飛行している飛行体を考えると、抑え角が０度であれば、そのまま１０００ＫＴで飛行することができるが、抑え角が１度であれば、９００ＫＴ（１０００ＫＴ×０．９）で飛行するようになる。
（６）空気係数（図３（Ｆ）参照）
このデータは、高度（ＦＥＥＴ；フィート）と空気係数との関係を示している。例えば、飛行体が高度６万フィートで飛行していれば、空気係数は、約０．７となる。なお、空気係数の範囲は、０．１（抵抗大）〜１．０（抵抗なし）である。
【００１４】
これらのパラメータは、ミサイルに関するパラメータであるが、戦闘機に関するデータも別途存在している。また、使用するパラメータの数は、ミサイルと戦闘機とでまったく同じである必要はなく、例えば、ミサイルは６個のパラメータを使用しているが、戦闘機は、１０個のパラメータを使用してもよい。
【００１５】
図４は、共通の飛行制御ルーチンの処理の流れを説明する図である。
Ｓ１０１において、入力装置２０からＸＺ軸まわりの回転量の入力を受け付ける。Ｘ軸は、戦闘機のピッチング処理を行い、Ｚ軸は、戦闘機のローリング処理を行う。ミサイルの進行方向の決定は、戦闘機同様ピッチング及びローリングで行う。
戦闘機の場合は、入力装置２０からの入力値を利用して処理を行うが、ミサイルの場合は、まず、ターゲットとミサイルとの座標から、ターゲットヘのＸＺ平面上の角度を求める。
ついで、Ｚ軸の回転角を求める。具体的には、「入力値Ｚ＝（回転角÷４０００ｄｅｇ／ｓ×１２７）×フレームレート」より入力値Ｚを求める。ここで、フレームレートとは、単位時間あたり何度画面が更新されるかを表す値である。なお、「１２７」は、処理をしやすくするために、値をまるめるための任意の数値である。また、「４０００ｄｅｇ／ｓ」は、ミサイル固有の値である。
さらに、Ｘ軸の回転角を求める。具体的には、「入力値Ｘ＝（回転角÷角速度×１２７）×フレームレート」より入力値Ｘを求める。なお、入力値Ｘ、Ｚの値の範囲は、−１２７〜＋１２７にする。
【００１６】
Ｓ１０２において、入カデータが−１２７〜＋１２７の中にあるかチェックする。
Ｓ１０３において、「角速度＝（回転角÷１２７×入力値）÷フレームレート」により角速度を求める。回転角Ｘは、図３（Ａ）より、速度に応じて求める。ミサイルの回転角Ｚは、固定値であり、４０００ｄｅｇ／ｓ÷フレームレートとする。
【００１７】
Ｓ１０４において、最高速度、加速、減速度合い、燃料消費、抗力係数、空気係数より、飛行体のフレームあたりの移動速度を求める。
ここで、最高速度は、固定値であって、水平飛行時の最高速度である。
加速、減速度合いは、図３（Ｄ）より、目標とされる速度と現在の速度とを比較しその差で１フレームあたりの変化速度を求める。
燃料消費は、固定値であり、指定された秒数だけ目標速度を最高速度に指定し、指定された秒数が経過すると目標速度を０に指定する。
抗力係数は、図３（Ｅ）より、迎え角の大きさで１フレームあたりの移動量を求める。
空気係数は、図３（Ｆ）より、空気の状態（高度）によって１フレームあたりの移動量を求める。
【００１８】
Ｓ１０５において、迎え角は、図３（Ｂ）より、速度に応じて求める。
Ｓ１０６において、最大迎え角は、図３（Ｃ）より、速度に応じて求める。
Ｓ１０７において、現在の角度及び速度に、回転角及び移動速度を加算する。
そして、Ｓ１０１〜Ｓ１０７を繰り返すことによって、飛行制御を行う。
なお、ここで示した飛行制御ルーチンは、一例であり、戦闘機とミサイルとで共通の制御ルーチンを使用するようにすれば、これ以外の飛行制御ルーチンとしてもよい。
【００１９】
このように、本実施例によれば、以下のような効果がある。
（１）共通の飛行制御ルーチンを動作させることにより、戦闘機及びミサイルの飛行制御を行うので、飛行制御ルーチンは１つでよくなり、メモリ使用量や、開発時の作業時間を抑えることができ、プログラム作成の効率化、ミサイル挙動制御の簡素化を図ることができる。
（２）共通の飛行制御ルーチンを使用することにより、戦闘機とミサイルとがある程度同じような動きをするようになり、仮想空間でより自然でかつ理にかなった動きを表現することができる。
【００２０】
（３）飛行機用の飛行制御ルーチンが予め存在するような場合には、それを流用することによって、簡単にミサイルを制御することができる。また、このようにすれば、ミサイルに操縦桿があって、あたかもＸＺ軸で操縦してターゲットに向かっているように制御することができる。
（４）多種多様な飛行体の制御に対して、汎用性の高い飛行制御ルーチンを提供することができる。
【００２１】
（変形例）
以上説明した実施例に限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲内である。
（１）シミュレーションゲーム機は、ゲームセンターなどの施設に設置するものであっても、家庭用のゲーム機であってもよい。また、上述したような制御を行うプログラムを配信し、携帯電話機のゲームとしてもよい。
（２）ミサイルは、戦闘機から発射する例で説明したが、地上の砲台などから発射してもよい。
（３）ミサイルに関するパラメータは、短距離ミサイル、長距離ミサイルで別のものにしてもよい。
【図面の簡単な説明】
【００２２】
【図１】本発明によるシミュレーションゲーム機の実施例を示す図である。
【図２】飛行体の飛行制御に用いる軸について説明する図である。
【図３】ミサイルに関するパラメータの詳細について説明する図である。
【図４】共通の飛行制御ルーチンの処理の流れを説明する図である。
【符号の説明】
【００２３】
１０  シミュレーションゲーム機
２０  入力装置
３０  入力制御回路
４０  モニタ
５０  ビデオ制御回路
６０  スピーカ
７０  サウンド制御回路
８０  メモリ
８１  第１の記憶部
８２  第２の記憶部
８３  プログラム記憶部
９０  制御部
９１  飛行制御部
【図１】
2008110042.tif 000003
【図２】
2008110042.tif 000004
【図３】
2008110042.tif 000005
【図４】
2008110042.tif 000006