【文献】
エースコンバット 3D クロスランブル,週刊ファミ通,株式会社エンターブレイン,2011年10月 6日,第26巻 第43号,P.226〜P.227
(58)【調査した分野】(Int.Cl.,DB名)
コンピュータに、プレーヤによる所定の発動操作に応じて、速度制御及び姿勢制御を含む一連の急速旋回制御を行って移動体をゲーム空間内で急速旋回させるためのプログラムであって、
前記ゲーム空間中の前記移動体の高度に基づいて前記急速旋回時の減速度合を決定する減速度合決定手段、
前記発動操作がなされた場合に、前記減速度合を用いて前記移動体の移動速度を減速させるとともに、少なくとも移動速度に応じた旋回可能最小半径の可変の程度を含む旋回能力を一時的に向上させて前記移動体を旋回させることで前記急速旋回制御を行う急速旋回制御手段、
として前記コンピュータを機能させるためのプログラム。
所定の終了指示操作の入力、或いは、前記発動操作から所与の時間の経過を検出することで前記急速旋回制御の終了を判定する終了判定手段として前記コンピュータを更に機能させ、
前記急速旋回制御手段は、前記終了判定手段によって終了判定がなされた場合に、前記移動体の減速及び旋回を終了し、前記加速制御手段による前記移動体の加速制御を行う、
請求項3に記載のプログラム。
ユーザ端末と通信接続されて、ユーザによる所定の発動操作に応じて、速度制御及び姿勢制御を含む一連の急速旋回制御を行って移動体をゲーム空間内で急速旋回させるゲームを進行制御するサーバシステムであって、
前記ゲーム空間中の前記移動体の高度に基づいて前記急速旋回時の減速度合を決定する減速度合決定手段と、
前記発動操作がなされた場合に、前記減速度合を用いて前記移動体の移動速度を減速させるとともに、少なくとも移動速度に応じた旋回可能最小半径の可変の程度を含む旋回能力を一時的に向上させて前記移動体を旋回させることで前記急速旋回制御を行う急速旋回制御手段と、
を備えたサーバシステム。
【発明の概要】
【発明が解決しようとする課題】
【0007】
非特許文献1のような従来技術を用いることで、例えばゲームの大部分においてはリアル系のフライトシミュレータとしての魅力を保ちつつも適当な非現実的な操作性を付与することで、リアルなシミュレーションではありえない爽快でスピード感あるゲームを楽しめるようになる。こうしたリアルと非現実をミックスするバランス感は、ゲームの魅力を高め、類似する他ゲームと差別化する重要な要素と言える。
【0008】
しかし、上記非特許文献1のゲームでも、移動体の旋回能力を一時的に向上させる制御に関連するエフェクト表現の多様性や、ゲーム性の向上についてはまだまだ発展の余地があった。
【0009】
本発明は、移動体を操縦するシミュレータ系ビデオゲームにおいて、移動体の旋回能力を一時的に向上させる制御に関連してよりゲームの魅力を高めることを目的とする。
【課題を解決するための手段】
【0010】
上述した課題を解決するための第1の形態は、コンピュータに、プレーヤによる所定の発動操作に応じて、速度制御及び姿勢制御を含む一連の急速旋回制御を行って移動体をゲーム空間内で急速旋回させるためのプログラムであって、
前記ゲーム空間中の前記移動体の高度に基づいて前記急速旋回時の減速度合を決定する減速度合決定手段(例えば、
図5の処理部200、ゲーム演算部202、減速度合決定部212、
図8のステップS22)、
前記発動操作がなされた場合に、前記減速度合を用いて前記移動体の移動速度を減速させるとともに、少なくとも移動速度に応じた旋回可能最小半径の可変の程度を含む旋回能力を一時的に向上させて前記移動体を旋回させることで前記急速旋回制御を行う急速旋回制御手段(例えば、
図5の処理部200、ゲーム演算部202、高機動旋回制御部216、
図8のステップS30〜S44)、
として前記コンピュータを機能させるためのプログラムである。
【0011】
また、別形態として、プレーヤによる所定の発動操作に応じて、速度制御及び姿勢制御を含む一連の急速旋回制御を行って移動体をゲーム空間内で急速旋回させるゲーム装置であって、前記ゲーム空間中の前記移動体の高度に基づいて前記急速旋回時の減速度合を決定する減速度合決定手段(例えば、
図1の制御ユニット1450、
図5の処理部200、ゲーム演算部202、減速度合決定部212、
図8のステップS22)と、
前記発動操作がなされた場合に、前記減速度合を用いて前記移動体の移動速度を減速させるとともに、少なくとも移動速度に応じた旋回可能最小半径の可変の程度を含む旋回能力を一時的に向上させて前記移動体を旋回させることで前記急速旋回制御を行う急速旋回制御手段(例えば、
図1の制御ユニット1450、
図5の処理部200、ゲーム演算部202、高機動旋回制御部216、
図8のステップS30〜S44)と、を備えたゲーム装置を構成することができる(第10の形態)。
【0012】
又更に別形態として、ユーザ端末と通信接続されて、ユーザによる所定の発動操作に応じて、速度制御及び姿勢制御を含む一連の急速旋回制御を行って移動体をゲーム空間内で急速旋回させるゲームを進行制御するサーバシステムであって、
前記ゲーム空間中の前記移動体の高度に基づいて前記急速旋回時の減速度合を決定する減速度合決定手段と、前記発動操作がなされた場合に、前記減速度合を用いて前記移動体の移動速度を減速させるとともに、少なくとも移動速度に応じた旋回可能最小半径の可変の程度を含む旋回能力を一時的に向上させて前記移動体を旋回させることで前記急速旋回制御を行う急速旋回制御手段と、を備えたサーバシステムを構成することができる(第11の形態)。
【0013】
ここで言う「高度」は、航空機の飛行高度に相当するが、ゲーム空間中のある基準位置や基準面からの距離に相当する意味である。よって、ゲーム上の設定によっては、高度ではなく別の用語に読み替えることもできる。
第1の形態及びその別形態によれば、移動体が位置するゲーム空間中の高度に基づいて急速旋回時の減速度合を決定できる。そして、当該減速度合に応じて移動体を減速させ、少なくとも減速後の移動速度に応じた旋回可能最小半径の縮小を実現し、移動体を急速旋回させることができる。つまり、移動体の急速旋回の度合に多様性をもたらし、リアリティを高め、ゲームの魅力を高めることができる。
【0014】
第2の形態は、前記減速度合を視覚的に表現するための減速エフェクトであって、前記減速度合に応じて異なる減速エフェクトを前記移動体に付加表示制御するエフェクト表示制御手段(例えば、
図5の処理部200、ゲーム演算部202、減速エフェクト表示制御部226、
図8のステップS46)、として前記コンピュータを機能させる第1の形態のプログラムである。
【0015】
第2の形態によれば、第1の形態と同様の効果が得られるとともに、減速度合の違いを視覚的に表現することができる。よって、急速旋回時の移動体の様子も多様化し、より一層ゲームの魅力を高めることができる。
【0016】
第3の形態は、前記急速旋回制御手段が、前記急速旋回の終了時に前記移動体の移動速度を加速させる加速制御手段(例えば、
図5の処理部200、ゲーム演算部202、自動加速制御部220、
図8のステップS50〜S56)を有する、第1又は第2の形態のプログラムである。
【0017】
第3の形態によれば、第1又は第2の形態と同様の効果が得られるとともに、急速旋回制御の後に、急速旋回中に生じる移動体の移動速度減少をリカバーすることができる。よって、例えば空中戦であれば、せっかく急速旋回で敵の背後に自機をつけたとしても、減速し過ぎて敵に逃げられるといった事態を回避できる。換言すれば、急速旋回から敵の背後をとるまでをスムーズに実現できる可能性が高くなり、ゲーム進行もスピーディになりゲームの魅力が向上する。また、プレーヤは自身の操縦技量が向上したかのような興奮と満足感を感じることができるようになる。
【0018】
第4の形態は、所定の終了指示操作の入力、或いは、前記発動操作から所与の時間の経過を検出することで前記急速旋回制御の終了を判定する終了判定手段(例えば、
図5の処理部200、ゲーム演算部202、旋回終了判定部218、
図8のステップS50)として前記コンピュータを更に機能させ、
前記急速旋回制御手段が、前記終了判定手段によって終了判定がなされた場合に、前記移動体の減速及び旋回を終了し、前記加速制御手段による前記移動体の加速制御を行う、第3の形態のプログラムである。
【0019】
第4の形態によれば、第3の形態と同様の効果が得られるとともに、所定の終了指示操作の入力、或いは、発動操作から所与の時間が経過すると急速旋回制御を終了することができる。
【0020】
第5の形態は、前記加速制御手段が、前記急速旋回制御の開始時の前記移動体の速度からの減速量に基づいて加速力を変更する、第3又は第4の形態のプログラムである。
【0021】
第5の形態によれば、第3又は第4の形態の何れかと同様の効果が得られるとともに、急速旋回制御の開始時の移動体の速度からの減速量に基づいて加速力を変更できる。つまり、急速旋回開始時の移動体の速度を基準に、急速旋回中に生じる移動体の移動速度減少をリカバーすることが実行できる。
【0022】
第6の形態は、前記減速度合を、前記移動体と他の移動体との相対位置関係に基づいて補正する減速度合補正手段(例えば、
図11の処理部200、ゲーム演算部202、減速度合補正部214、
図12のステップS24〜S26)、として前記コンピュータを更に機能させるための第1〜第5の何れかの形態のプログラムである。
【0023】
第6の形態によれば、第1〜第5の形態の何れかと同様の効果が得られるとともに、旋回能力の一時的な向上度合を移動体と他の移動体との相対位置関係に基づいて可変することができる。つまり、ゲーム状況に応じた適当な急速旋回を実現できる。例えば、空中戦の場合、自機が他機の背後を取ろうとしている場面において、他機との距離に応じて背後を取るのに適当な旋回半径が異なるが、他の移動体との相対位置関係に基づいて旋回能力の向上度合を可変できるので、この適当な旋回半径を実現することも可能となる。
【0024】
第7の形態は、前記加速度制御手段が、前記移動体と他の移動体との相対位置関係に基づいて前記移動体の加速力を調整する加速力調整手段(例えば、
図11の処理部200、ゲーム演算部202、加速力調整部222、
図14のステップS74〜S76)を有する、第3〜第5の何れかの形態のプログラムである。
【0025】
第7の形態によれば、第3〜第5の形態の何れかと同様の効果が得られるとともに、急速旋回後の加速度合を移動体と他の移動体との相対位置関係に基づいて調整できる。つまり、ゲーム状況に応じた適当な加速を実現できる。例えば、空中戦の場合、自機が他機の背後を取ろうとして急速旋回するが、急速旋回中の減速により却って他機から引き離されることも起こり得る。しかし、こうした場合に加速力を調整することで、急速旋回後のネガティブな状態を変えることが可能になる。プレーヤにしてみれば、自身の操縦技能が向上したかのような興奮と満足感を得ることができるようになる。
【0026】
第8の形態は、前回の前記急速旋回制御から所与の期間の間、新たな前記急速旋回制御を禁止する発動制御手段(例えば、
図5の処理部200、ゲーム演算部202、発動禁止部224、
図8のステップS4)として前記コンピュータを更に機能させるための第1〜第7の何れかの形態のプログラムである。
【0027】
第8の形態によれば、第1〜第7の形態の何れかと同様の効果が得られるとともに、連続的に急速旋回を実行することでゲームを有利に進めるアンフェアな行為を防止できる。
【0028】
第9の形態は、第1〜第8の何れかの形態のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。
【0029】
ここで言う「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ICメモリなどを含む。第9の形態によれば、第1〜第8の形態の何れかのプログラムをコンピュータに読み取らせて実行させることによって、コンピュータに第1〜第8の形態の何れかと同様の効果を発揮させることができる。
【発明を実施するための形態】
【0031】
〔第1実施形態〕
本発明を適用した実施形態として、携帯型のゲーム装置で戦闘機を使ったフライトシューティングゲームを実行する例を説明する。故に、以降では一時的に旋回性能を向上させる急速旋回制御を「高機動旋回」と呼ぶこととする。
【0032】
[ハードウェアの説明]
図1は、携帯型ゲーム装置1400の構成の一例を示す斜視外観図である。
携帯型ゲーム装置1400は、ユーザそれぞれに1台ずつ用意されるコンピュータであり電子装置である。携帯型ゲーム装置1400は、方向入力キー1402及びボタンスイッチ1404と、第1液晶ディスプレイ1406と、第2液晶ディスプレイ1408と、スピーカ1410と、制御ユニット1450とを、ヒンジ1414で開閉自在な折り畳み型の装置本体1401に備えている。そして、第1液晶ディスプレイ1406及び第2液晶ディスプレイ1408の表示面上には、スタイラスペン1416や指などで触れることによって表示画面の任意位置を接触入力することのできるタッチパネル1407、1409がそれぞれ装着されている。
【0033】
また、装置本体1401には、コンピュータ読み出し可能な情報記憶媒体であるメモリカード1440からデータを読み書きできるメモリカード読取装置1418が備えられている。メモリカード1440には、制御ユニット1450がゲームプレイに係る各種演算処理を実行するために必要なプログラムや各種設定データが記憶されている。またその他、装置本体1401には、図示されていない内蔵バッテリーや電源ボタン、音量調節ボタン等が設けられている。
【0034】
制御ユニット1450は、ゲーム装置の制御基板に相当し、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などの各種マイクロプロセッサ、ASIC(Application Specific Integrated Circuit)、VRAMやRAM,ROM等の各種ICメモリを搭載する。
【0035】
加えて、制御ユニット1450には、無線基地局と無線接続するための無線通信モジュール1412や、第1液晶ディスプレイ1406及び第2液晶ディスプレイ1408のドライバ回路、タッチパネル1407及びタッチパネル1409のドライバ回路、方向入力キー1402及びボタンスイッチ1404からの信号を受信する回路、スピーカ1410へ音声信号を出力するためのアンプ回路、メモリカード読取装置1418への信号入出力回路といった所謂I/F回路(インターフェース回路)が搭載されている。これら制御ユニット1450に搭載されている各要素は、それぞれバス回路を介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。
【0036】
そして、制御ユニット1450は、メモリカード読取装置1418によってメモリカード1440に格納されているプログラムやデータを読み出して、搭載するICメモリにこれらを一時記憶する。そして、読み出したプログラムを実行して演算処理を実行し、方向入力キー1402やボタンスイッチ1404、タッチパネル1407及び1409からの操作入力に応じて携帯型ゲーム装置1400の各部を制御して、ビデオゲームを実行する。
【0037】
尚、本実施形態では、携帯型ゲーム装置1400は必要なプログラムや各種設定データをメモリカード1440から読み出す構成としているが、制御ユニット1450に搭載されている主要なプログラムやデータをICメモリに予め記憶している構成とすることができる。或いは、無線通信モジュール1412を介して、インターネットやLAN(Local Area Network)、WAN(Wide Area Network)などの有線/無線の通信回線1に接続して外部装置からダウンロードして取得する構成としても良い
【0038】
通信回線1は、データ通信が可能な通信路を意味する。すなわち、通信回線1とは、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLAN(Local Area Network)の他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方法については有線/無線を問わない。
【0039】
[高機動旋回(急速旋回)に関する説明]
本実施形態のフライトシューティングゲームは、移動体オブジェクトとして戦闘機を用いたフライトシミュレータ系シューティングゲームに属する。ゲーム画面は、仮想3次元空間内に仮想の陸地や空を含むゲーム空間が形成され、そこにプレーヤが操縦する移動体である自戦闘機と敵戦闘機とのキャラクタオブジェクトを配置し、仮想カメラでその様子を撮影した画像をレンダリングし、種々の情報表示を合成して生成される。すなわち、3DCGによるゲーム画面となる。プレーヤは自戦闘機を操縦して敵戦闘機と空中戦をして楽しむ。
【0040】
本実施形態のゲームでは、公知のフライトシューティングゲームと同様に、戦闘機の移動制御はできるだけ現実の戦闘機の運動を再現するように運動力学に基づいてシミュレーションされて決定される。但し、プレーヤが所定の高機動旋回の発動操作を入力すると、一時的に機動性が向上し、現実の戦闘機ではありえない戦闘機動を実現できるようにゲーム性を高める味付けがなされている。
【0041】
図2は、本実施形態における高機動旋回に関する制御内容を説明する概念図である。戦闘機2には、重量や、種々の運動能力パラメータ値(例えば、加速能力値Pa、減速能力値Pb、旋回能力値Ptなど)が予め設定されており、ゲームプレイ中はゲーム空間内における位置の他、姿勢、飛行高度H、機体速度V(移動体速度)、機体加速度(移動体加速度)、機体ダメージ量、攻撃兵装の残段数などの情報が個別に管理される。
【0042】
プレーヤが加速操作を入力すると、加速能力値Paを変数とした所定関数f1(Pa)に基づいて算出される加速力Faが加えられ、運動力学演算により機体重量に応じて機体加速度が増し機体速度が変化する。例えば、水平飛行中であれば戦闘機2は加速する。同様にして、減速操作を入力すると、減速能力値Pbを変数とした所定関数f2(Pb)に基づいて算出される減速力Fbが機体加速度に加えられて、運動力学演算により機体加速度が減じ機体速度が変化する。例えば、水平飛行中であれば戦闘機2は減速する。そして、操舵操作を入力すると、操舵操作された方向へ向いた旋回力Ftが、旋回能力値Ptと操舵量Mtを変数とした所定関数f3(Pt,Mt)に基づいて算出され、機体制御に適用されることで、運動力学演算により戦闘機2は旋回するように制御される。
図中の破線矢印で描いた軌跡は、こうした運動力学に基づいて得られる軌跡である。戦闘機2は、ゲーム中の殆どの場面では、こうした標準の機体能力や機体諸元を用いた運動力学に基づいて移動制御される。これを標準機体制御と呼ぶ。
【0043】
さて、本実施形態において、高機動旋回発動操作を入力すると、上述したような標準機体制御とは異なる機体制御が行われる。
具体的には、高機動旋回発動操作が検出されると、戦闘機2の現在の飛行高度Hに基づいて減速倍率kbが設定される。減速倍率kbは、低高度ほど大きく、高々度ほど小さくなるように飛行高度Hを変数とする所定関数g1(H)で算出可能、或いは所定のテーブルデータで参照可能である。高々度における減速倍率kbでも、「1.0」を上回る倍率が設定される。そして、設定された減速倍率kbが機体の減速能力Pbに乗算された値が、関数f2(Pb(=Pb×kb))に代入されて高機動旋回中の減速力Fbが算出される。つまり、高機動旋回中は、通常ではありえない急減速をするように制御される。
機体速度が下がると戦闘機2の旋回半径は小さくなる。図中の一点鎖線矢印で描いた軌跡は、減速倍率kbが適用された減速により得られる標準機体制御では得られない旋回半径となる。つまり、移動速度に応じた旋回可能最小半径が小さくなる。
【0044】
更に本実施形態では、高機動旋回発動操作が検出されると、旋回能力値Ptに旋回倍率ktが乗算された値が関数f3(Pt,Mt)に代入されて、高機動旋回中でのみあり得る高い旋回力Ftが設定される。従って、図中太矢印で描くようにさらに旋回可能最小半径が小さくなる。これが本実施形態における高機動旋回の軌跡となる。
【0045】
つまり、本実施形態では、減速倍率kbの適用と、旋回倍率ktの適用とによって、移動体のゲーム空間内における移動速度に応じた、旋回可能最小半径の可変の程度を含む旋回能力を一時的に向上させて移動体を旋回させることができる。
【0046】
尚、本実施形態では、旋回倍率ktは「1.0」以上の固定値とするが、例えば戦闘機2に搭載される兵装の種類別に旋回倍率ktを設定しておいて、その時々の兵装の状況に応じて選択的に参照されるとしても良い。或いは、減速倍率kbと同様に飛行高度Hを変数とする所定関数で算出するとしても良い。
【0047】
そして、本実施形態では、高機動旋回中の戦闘機2には、減速度合に応じた減速エフェクト10が付加表示される。具体的には、減速倍率kbが大きい値ほど見かけが派手なエフェクトが付加表示される。
本実施形態の移動体は戦闘機の設定なので、減速エフェクト10は、いわゆる飛行機雲を表現する。例えば
図3に示すように、減速倍率kbが相対的に小さい場合には、控えめな翼端ベイパー(Vapor)11と主翼付け根から生じるLEXベイパー12を減速エフェクト10として付加表示する。減速倍率kbが相対的に大きい場合には、より派手な翼端ベイパー13とともに、より派手なLEXペイパー14及び、主翼先端部から主翼上面部にかけて生じる主翼ベイパー15を付加表示する。
【0048】
尚、減速エフェクトの表示形態は、適宜選択可能である。例えば、翼部からパーティクルを発生させて物理演算により移動させるとしても良いし、翼部に沿ってエフェクト用のポリゴンを配置して、飛行機雲を表現した数種類のテクスチャを短時間で切換えることで飛行機雲の発生と消失を表現しても良い。
【0049】
また、減速度合の決定、及び減速エフェクトの表示形態や付加位置は、ゲーム空間の設定や移動体の設定によって適宜設定することができる。例えば、ゲーム空間を水中とし、移動体を潜行艇とするゲームならば、飛行高度に代えて潜行深度に基づいて急速旋回時の減速度合を決定し、減速エフェクトを気泡や水の揺らぎを表現する内容としても良い。また、ゲーム空間を宇宙とし、移動体を宇宙船やヒーローキャラクタなどとする場合には、飛行高度に代えて所定座標(例えば、荷電粒子等を放出する恒星などの天体からの距離)に基づいて急速旋回時の減速度合を決定し、方向転換の為に噴射される推進剤、その閃光、天体から放出される荷電粒子等々の干渉を表現する表現物、星形マークなどのパーティクル上の装飾体、などとすることができる。
【0050】
また、減速エフェクトは、新たなオブジェクトの付加に限らず、移動体のモーションや形態変形によって実現されるとしても良い。例えば、戦闘機2ならば平時では現れないエアブレーキが作動するように形態変形をさせて、高機動旋回終了とともにそれを終了させると良い。或いはゲーム空間を空中や水中など流体場とした場合には、高機動旋回中に移動体が減速中に生じる乱流で振動するブレモーションを実行させ、旋回終了ともに当該モーションを解除することで減速エフェクトを表現しても良い。
【0051】
図4は、本実施形態における高機動旋回に付属する旋回後の自動加速制御について説明する概念図である。図の上段が機動の過程を示す略図と加速度倍率の設定例を示すグラフであり、図の下段が当該過程における機体速度の変化を示すグラフである。
【0052】
前述のように、高機動旋回中は、通常以上の急減速が行われる。つまり、小さい旋回半径が得られる反面、機体速度が大きく減少するリスクを負うことになる。機体速度の減少は、失速を招いたり機動の爽快感をスポイルする。そこで、本実施形態では、高機動旋回終了に伴って標準機体制御ではありえない加速を自動的に行い、高機動旋回に伴う機体速度の減少リスクを低減する。
【0053】
具体的には、高機動旋回終了とともに高機動旋回開始直前の機体速度V1からの減速量ΔVを変数とする所定関数g2(ΔV)によって、減速量ΔVが大きい程高い加速倍率kaを算出する。そして、所定の自動加速時間の間、加速能力Paに加速倍率kaを乗算した値を変数f1(Pa(=Pa×ka))に代入して加速力Faを算出し、プレーヤによる加速操作入力がなされていなくても、これを機体制御に反映させる。つまり、標準機体制御ではありえない加速度自動的に行う。そして、自動加速時間が経過すると、加速倍率kaの適用は解除され、標準機体制御に戻る。よって、高機動旋回した戦闘機2の機体速度は旋回開始前の速度に復帰しやすくなり、失速を招いたり戦闘機動の爽快感をスポイルすることがなくなる。
【0054】
尚、加速倍率kaの設定の考え方は、高機動旋回開始前の機体速度の復帰を基準とせず、空中戦における目的を基準に設定することもできる。例えば、加速倍率kaを高目に設定すると自動加速後の機体速度が、高機動旋回開始前の機体速度を上回るようにもできる(
図4の下段のグラフにおける一点鎖線)。この場合、空中戦において追尾しようとする敵戦闘機にさらに接近できる可能性が増すので、プレーヤは、あたかも自分の操縦の腕が上がったかのような興奮と満足感が得られる。
【0055】
[機能ブロックの説明]
次に、本実施形態を実現するための機能構成について説明する。
図5は、本実施形態における携帯型ゲーム装置1400の機能構成の一例を示す機能ブロック図である。同図に示すように本実施形態の携帯型ゲーム装置1400は、操作入力部100と、処理部200と、音出力部350と、画像表示部360と、通信部370と、記憶部500とを備える。
【0056】
操作入力部100は、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部200に出力する。例えば、ボタンスイッチや、ジョイスティック、タッチパッド、トラックボールといった直接プレーヤが指で操作する素子はもちろん、加速度センサや角速度センサ、傾斜センサ、地磁気センサなど、運動や姿勢を検知する素子などによっても実現できる。
図1の方向入力キー1402、ボタンスイッチ1404、タッチパネル1407、タッチパネル1409がこれに該当する。
【0057】
処理部200は、例えばCPUやGPU等のマイクロプロセッサや、ASIC、ICメモリなどの電子部品によって実現され、操作入力部100や記憶部500を含む装置の各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100からの操作入力信号等に基づいて各種の演算処理を実行して、携帯型ゲーム装置1400の動作を制御する。
図1では制御ユニット1450がこれに該当する。
そして、処理部200は、ゲーム演算部202と、音生成部250と、画像生成部260と、通信制御部270とを備える。
【0058】
ゲーム演算部202は、プレーヤの操作入力に従ってビデオゲームを実現するための各種制御を実行する。例えば、
(1)仮想3次元空間内に各種背景オブジェクトを配置してゲームの舞台となるゲーム空間を形成し、プレーヤキャラクタに相当する戦闘機2や、敵戦闘機などのNPC(ノンプレーヤキャラクタ)のオブジェクトを配置する処理、
(2)操作入力部100からの入力信号に応じて運動力学演算を実行して戦闘機2の移動や姿勢を制御する標準機体制御処理、
(3)戦闘機2の機体速度が所定の低速限界に達したことを検出した場合に失速したように機体の動作を制御する低速限界処理、
(4)攻撃のヒット判定とダメージ反映処理、
(5)プレーヤキャラクの様子を撮影する仮想カメラの位置や姿勢など撮影パラメータを自動制御する処理、
(6)システムクロックを用いた制限時間などの計時処理を行う計時部204、
(7)フラグ管理処理、
(8)ゲーム終了条件の判定処理、などを適宜実行するものとする。
その他、ゲーム進行に必要であればデータのデコード、テクスチャの展開などを適宜実行することができる。尚、これらの処理は必須とは限らず、ビデオゲームの内容やその実現形態によって適宜追加・省略することができる。
【0059】
そして、本実施形態のゲーム演算部202は、高機動旋回発動操作検出部210と、減速度合決定部212と、高機動旋回制御部216と、減速エフェクト表示制御部226と、を含む。
【0060】
高機動旋回発動操作検出部210は、操作入力部100で所定の高機動旋回を発動させる操作入力がなされたことを検出する。
【0061】
減速度合決定部212は、ゲーム空間中の移動体の位置に基づいて高機動旋回時の減速度合を決定する。より具体的には、減速度合を表すパラメータ値として、戦闘機2の飛行高度Hを変数とする関数g1(H)を用いて減速倍率kbを算出する。
【0062】
高機動旋回制御部216は、高機動旋回発動操作が検出された場合に、減速度合決定部212により決定された減速度合を用いて移動体の移動速度を減速させるとともに、少なくとも移動速度に応じた旋回可能最小半径の可変の程度を含む旋回能力を一時的に向上させて移動体を旋回させる。
【0063】
そして、高機動旋回制御部216は、旋回終了判定部218と、自動加速制御部220と、発動禁止部224とを含む。
【0064】
旋回終了判定部218は、高機動旋回制御の終了タイミングを判定する。具体的には、所定の終了指示操作の入力、或いは、発動操作から所与の時間の経過を検出することで高機動旋回制御の終了を判定する。
高機動旋回制御部216は、当該終了判定部によって終了判定がなされた場合に、移動体の減速及び旋回を終了し、自動加速制御部220による移動体の加速制御を行う。
【0065】
自動加速制御部220は、高機動旋回の終了時に移動体の移動速度を自動的に加速させる制御を行う。具体的には、高機動旋回開始前の移動体速度からの減速量に基づいて移動体の加速力を変更する。より具体的には、開始前の移動体速度と現在の移動体速度との速度差に基づいて加速倍率kaを決定し、加速能力値Paに加速倍率kaを乗じた値を関数f1(Pa)に代入して、加速力Faを算出・適用する。
【0066】
発動禁止部224は、最新(最後)の高機動旋回制御から所与の期間の間、新たな高機動旋回制御の実行を禁止する。
【0067】
音生成部250は、例えばデジタルシグナルプロセッサ(DSP)や、音声合成ICなどのプロセッサ、音声ファイル再生可能なオーディオコーデック等によって実現され、ゲーム演算部202による処理結果に基づいてゲームに係る効果音やBGM、各種操作音の音信号を生成し、音出力部350に出力する。
【0068】
音出力部350は、音生成部250から入力される音信号に基づいて効果音やBGM等を音出力する装置によって実現される。
図1ではスピーカ1410がこれに該当する。
【0069】
画像生成部260は、例えば、GPU(Graphics Processing Unit)、デジタルシグナルプロセッサ(DSP)などのプロセッサ、ビデオ信号IC、ビデオコーデックなどのプログラム、フレームバッファ等の描画フレーム用ICメモリ、テクスチャデータの展開用に使用されるICメモリ等によって実現される。画像生成部260は、ゲーム演算部202による処理結果に基づいて1フレーム時間(例えば1/60秒)で1枚のゲーム画面を生成し、生成したゲーム画面の画像信号を画像表示部360に出力する。
【0070】
画像表示部360は、画像生成部260から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。本実施形態では、
図1の第1液晶ディスプレイ1406と第2液晶ディスプレイ1408とがこれに該当する。
【0071】
通信制御部270は、データ通信に係るデータ処理を実行し、通信部370を介して外部装置とのデータのやりとりを実現する。
【0072】
通信部370は、通信回線1と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現され、
図1の無線通信モジュール1412がこれに該当する。
【0073】
記憶部500は、処理部200に携帯型ゲーム装置1400を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームを実行させるために必要なゲームプログラム、各種データ等を記憶する。また、処理部200の作業領域として用いられ、処理部200が各種プログラムに従って実行した演算結果や操作入力部100から入力される入力データ等を一時的に記憶する。こうした機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVDなどの光学ディスクなどによって実現される。
図1では制御ユニット1450が搭載するICメモリがこれに該当する。
【0074】
本実施形態の記憶部500は、システムプログラム501と、ゲームプログラム502とを記憶している。システムプログラム501は、携帯型ゲーム装置1400のコンピュータとしての基本機能を実現するためのプログラムである。ゲームプログラム502は、処理部200が読み出して実行することによってゲーム演算部202としての機能を実現させるためのアプリケーションソフトであるが、システムプログラム501の一部として組み込まれた構成であっても良い。
【0075】
また、記憶部500には、予め用意されるデータとして、ゲーム空間初期設定データ508と、プレーヤ移動体初期設定データ510と、他移動体初期設定データ512と、減速エフェクト設定データ520とを記憶する。また、随時生成や更新が行われるデータとして、プレイデータ530とを記憶する。その他、各種処理を実行するにあたり必要となるデータ(例えば、圧縮解凍されたテクスチャデータ、経過時間、各種タイマー値、カウンタ、フラグ)なども適宜記憶されるものとする。
【0076】
ゲーム空間初期設定データ508は、ゲーム空間を構築するために必要な背景オブジェクトのモデルデータやテクスチャデータ、配置位置情報等を含む。また、天球に適用される背景画像データなども適宜含めることができる。
【0077】
プレーヤ移動体初期設定データ510は、プレーヤが操作する移動体(本実施形態では戦闘機2)を表示・動作させるための各種データを格納する。例えば、移動体オブジェクトのモデルデータ、テクスチャデータ、モーションデータ、付属アイテム(本実施形態ならば兵装)のモデルデータ等を格納する。また、移動体の各種能力パラメータ値の初期設定値を格納する。本実施形態では、加速能力値Pa、減速能力値Pb、旋回能力値Ptを格納している。
【0078】
他移動体初期設定データ512は、プレーヤが操作する移動体以外の他移動体(本実施形態では空中戦する相手となる敵戦闘機)の初期設定データである。データ構成は、プレーヤ移動体初期設定データ510と同様である。
【0079】
減速エフェクト設定データ520は、高機動旋回制御に伴い適用される減速エフェクトを実現するための各種データを格納する。
本実施形態では、
図6に示すように、減速倍率kbの適用範囲を選択条件522で定義し、それに対応づけてエフェクトパターンデータ524を格納する。エフェクトパターンデータ524の具体的なデータ構成は、減速エフェクトをどのようにして表示するかにより、適宜公知技術を用いることができる。例えば、エフェクト用のポリゴンモデル、当該モデルを付加する移動体代表点に対する相対位置や相対姿勢、当該モデルのモーションや変形制御データ、当該モデルに適用される複数種類のテクスチャ、パーティクルの発生位置、パーティクルの諸元、移動体の変形制御データ、移動体のモーションデータなどを設定できる。
【0080】
プレイデータ530は、ゲーム進行状況を記述する各種パラメータ値を格納する。例えば、
図7に示すように、プレーヤ移動体状態データ532と、他移動体状態データ550と、高機動旋回開始前速度552と、適用減速倍率554と、適用加速倍率556と、加速タイマー560と、禁止タイマー562とを含む。
【0081】
プレーヤ移動体状態データ532は、プレーヤが操作する移動体(戦闘機2)の状態を記述する各種パラメータ値を格納する。例えば、ゲーム空間内における位置座標を示す空間位置座標536と、姿勢情報538と、飛行高度540と、機体速度542と、機体加速度544と、減速エフェクト制御データ546とを格納する。その他、機体ダメージ量や、装備している兵装の種類、兵装の状態値(例えば残弾数など)等のパラメータ値を適宜格納することができる。減速エフェクト制御データ546は、減速エフェクトの表示制御に係る情報を格納する。
【0082】
他移動体状態データ550は、プレーヤが操作する移動体以外の移動体の状態を記述する各種パラメータ値を格納する。
【0083】
高機動旋回開始前速度552は、高機動旋回制御開始直前のプレーヤが操作する移動体の移動体速度の情報を格納する。
【0084】
適用減速倍率554及び適用加速倍率556は、直近の高機動旋回制御に適用される減速倍率kb、加速倍率kaを格納する。旋回倍率ktをゲーム進行状況に応じて可変する構成の場合には、同様にして適用旋回倍率をプレイデータ530に格納すると良い。
【0085】
加速タイマー560は、自動加速制御が実行される時間(自動加速時間;
図4参照)を計時するタイマー制御データである。
禁止タイマー562は、プレーヤ移動体について新たに高機動旋回制御が実行許可されるまでの時間を計時するタイマー制御データである。
【0086】
[処理の流れの説明]
次に、本実施形態における高機動旋回制御に係る処理の流れについて説明する。ここで説明する処理の流れは、処理部200がゲームプログラム502を実行することにより実現される。ゲームとしての主たる処理の流れや、敵戦闘機等のNPCの自動制御に関する処理、ゲーム画面の生成等に関する処理は、公知のフライトシューティングゲームと同様に実現できるのでここでの説明は省略する。
【0087】
図8は、本実施形態における高機動旋回制御に係る処理の流れについて説明するためのフローチャートである。本実施形態の高機動旋回発動操作は、ボタンスイッチ1404(
図1参照)を所定の組み合わせで押すことで為されることとする。
【0088】
処理部200は、高機動旋回発動操作を検出していない場合(ステップS2のNO)、高機動旋回発動操作が検出されても、禁止タイマーが稼働中の場合には(ステップS4のYES)、標準機動制御を行う(ステップS6)。
【0089】
もし、高機動旋回発動操作が検出され(ステップS2のYES)、且つ禁止タイマーが稼働していなければ(ステップS4のNO)、処理部200は高機動旋回に係る処理を実行する。
すなわち、最新の機体速度542を高機動旋回開始前速度552に格納し(ステップS20)、プレーヤ戦闘機2の最新の飛行高度540に基づいて、所定の関数g1(
図2参照)を用いて減速倍率kbを決定し、適用減速倍率554に格納する(ステップS22)。
【0090】
次いで、決定した減速倍率kbをプレーヤ戦闘機2の減速能力値Pbに乗算した値を、所定の関数f2(
図2参照)に代入して、高機動旋回中に適用される減速力Fbを算出する(ステップS30)。
次いで、処理部200は所定の関数f3(
図2参照)に基づいて操舵力Ftを算出し(ステップS32)、先に算出した減速力Fbと操舵力Ftとを適用して、ゲーム画面の次フレームにおける新たな機体速度542と機体加速度544とを運動力学演算で算出・更新する(ステップS34)。そして、プレーヤ戦闘機2の新しい空間位置座標536と、姿勢情報538と、飛行高度540とを算出・更新する(ステップS36)。
【0091】
ここで、もし機体速度542が所定の低速限界値(いわゆる失速限界速度)に達している場合には(ステップS40のYES)、処理部200は高機動旋回制御を脱して、低速限界処理を実行する(ステップS42)。低速限界処理では、所謂失速により墜落する状態を再現する処理である。
【0092】
もし、機体速度542が低速限界値に達していなければ(ステップS40のNO)、処理部200はプレーヤ戦闘機2のオブジェクトを、先に算出した新しい姿勢に変更して、新しいゲーム空間位置へ移動させる(ステップS44)。
【0093】
次に、処理部200は、減速エフェクト設定データ520を参照して、今回の高機動旋回の減速度合(具体的にはステップS30で決定された減速倍率kb)に応じたエフェクトパターンデータ524を選択し、当該データに基づいて減速エフェクトの付加表示制御を行う(ステップS46)。尚、減速エフェクトが、機体の変形等を伴う場合には、ここでプレーヤ戦闘機2のモデルの一部を変形するように制御すると良い。
【0094】
次に、処理部200は、高機動旋回終了条件を満たすかを判定する(ステップS50)。本実施形態では、高機動旋回発動操作は、ボタンスイッチ1404(
図1参照)を所定の組み合わせで押すことで為されるので、その解除により高機動旋回終了条件を満たすと判定する。
【0095】
勿論、高機動旋回終了条件は、ゲーム内容等によって適宜設定可能である。例えば、ゲーム中に獲得したポイントを消費することで高機動旋回を可能とする構成の場合には、高機動旋回実行中に所定の割合で当該ポイントを消費制御するステップを加え、当該ポイントが「0」になったら終了条件を満たすと判定すると良い。また、高機動旋回に時間制限を設けた構成ならば、高機動旋回開始とともに時間制限タイマーを起動させるステップを追加し、当該タイマーの計時終了を終了条件としても良い。
【0096】
そして、もし高機動旋回終了条件を満たしていなければ(ステップS50のNO)、処理部200はステップS34に戻って高機動旋回制御を継続する。
もし、高機動旋回終了条件を満たしていれば(ステップS50のYES)、処理部200は減速エフェクトの付加表示を解除し(ステップS52)、加速タイマー560を起動させて(ステップS54)、当該タイマーが計時終了するまで(例えば、1秒間程度)、ゲーム画面の描画サイクル毎に自動加速処理を実行する(ステップS56)。
【0097】
図9は、本実施形態における自動加速処理の流れを説明するためのフローチャートである。同処理において、処理部200は先ず高機動旋回開始前速度552と現在の機体速度542とを比較して、高機動旋回開始前速度552まで復帰したかを判定する。
【0098】
もし、復帰していなければ(ステップS70のNO)、処理部200は高機動旋回開始前速度552からの減速量に応じて加速倍率kaを決定する(ステップS72)。具体的には、高機動旋回開始前速度552と機体速度542との速度差を減速量ΔVとして算出し、これを変数とする所定の関数g2(
図4参照)で加速倍率kaを決定する。
【0099】
次いで、決定した加速倍率kaをプレーヤ戦闘機2の加速能力値Paに乗算した値を、所定の関数f1(
図2参照)に代入して自動加速処理で適用される加速力Faを算出するとともに(ステップS74)、旋回倍率ktを適用せずに操舵力Ftを算出(ステップS76)。
そして、先に算出した加速度Faと操舵力Ftとを適用して、ゲーム画面の次フレームにおける戦闘機2の機体速度542と機体加速度544とを算出・更新し(ステップS78)、プレーヤ戦闘機2の新しい空間位置座標536と、姿勢情報538と、飛行高度540とを算出・更新する(ステップS80)。
【0100】
次いで、処理部200はプレーヤ戦闘機2のオブジェクトを、先に算出した新しい姿勢に変更して新しいゲーム空間位置へ移動させ(ステップS82)、自動加速処理を終了する。
【0101】
尚、ステップS70にて、戦闘機2の機体速度542が高機動旋回開始前速度552に復帰している場合には、ステップS76〜S82はスキップされる。つまり、実質的に旋回開始時の速度よりも増速されないようになっている。
勿論、ゲームバランスを考慮の上、ステップS70を省略することもできる。
【0102】
図8のフローチャートに戻って、加速タイマー560の計時が完了したならば(ステップS92のYES)、処理部200は禁止タイマー562を起動させて、一連の処理を終了する。
もし、禁止タイマー562が計時を完了する前に再びプレーヤが高機動旋回発動操作を入力したとしても、ステップS4でYESと判定されて、高機動旋回は実施されず、標準起動制御が行われる。
【0103】
このように本実施形態によれば、移動体を操縦するシミュレータ系ビデオゲームにおいて、移動体の旋回能力を一時的に向上させる高機動旋回制御(標準時以上の急速旋回制御)に関連して、旋回に伴う減速度合を移動体のゲーム空間内における所定基準からの相対位置関係(実施例における飛行高度H)に基づいて可変することで、急速旋回制御に多様性を持たせることができる。また、減速度合に応じて減速エフェクトが変化するので、視覚的な多様性も増し、よりゲームの魅力が向上する。また、高機動旋回制御終了時に、自動的に移動体を加速制御することで、当該旋回制御における移動体速度の大幅減少の様々なデメリットを解消することができる。
【0104】
〔変形例〕
以上、本発明を適用した実施形態について説明したが、本発明の形態がこれに限定されるものではなく、適宜構成要素の追加・省略・変更を施すことができる。
【0105】
例えば、上記実施形態では、スタンドアローンの携帯型ゲーム装置1400にてゲームを実行する例を示したが、例えば
図10に示すように、例えば、パソコン1200や、スマートフォン1202、据置型家庭用ゲーム装置1204、業務用ゲーム装置1206、タブレット型コンピュータなどに置き換えることができる。
【0106】
また、上記実施形態では、ゲーム演算処理を携帯型ゲーム装置1400にて実行する構成としたが、いわゆるクライアント・サーバ型の構成としても良い。
具体的には、上記実施形態におけるゲームプログラム502は、サーバプログラムとして実現され、ゲームサーバシステム1100にて記憶される。当該サーバプログラムを実行することで、ゲームサーバシステム1100は上記実施形態におけるゲーム演算部202(
図5参照)が担った処理を実行する。すなわち、ゲームサーバシステム1100は、フライトシューティングゲームのサーバとして機能できるとともに、その中で高機動旋回に関する処理(
図8参照)を実行することができる。但し、操作入力は通信回線1を介して接続する携帯型ゲーム装置1400(クライアント)から取得し、ゲーム画面データを表示させるための情報を生成して携帯型ゲーム装置1400に返信する。一方、携帯型ゲーム装置1400には、ゲームプログラム502に代えて、ウェブブラウザプログラムと、ウェブページ上で動的表示を可能にするプラグインソフトとが記憶される。そして、携帯型ゲーム装置1400は、ゲームサーバシステム1100にてサービス提供されゲームウェブサイトにアクセスして、操作入力情報を送信する一方で、ゲーム画面を表示させるためのデータを受信して、ゲーム画面を表示制御する。
【0107】
また、上記実施形態では、高機動旋回後の自動加速制御において、高機動旋回開始前速度からの減速量に応じて加速倍率kaを算出する構成としたが、そのステップを省略し、加速倍率kaを固定値とすることもできる。その場合の固定値は戦闘機2の機種により固有の値として設定すると好適である。
【0108】
また、減速倍率kbや加速倍率kaの決定方法を、空中戦などの対戦ゲームに応じて好ましい構成に変更することができる。例えば、公知のフライトシューティングゲームと同様に、他戦闘機の中からプレーヤが任意の個体を攻撃対象としてロックオンする機能を設ける。そして、ロックオンした他戦闘機との相対位置関係に応じて加速倍率kaを決定するとしても良い。
【0109】
より具体的には、例えば
図11に示すように、減速度合決定部212に減速度合補正部214を含め、自動加速制御部220に加速力調整部222を含める。
減速度合補正部214は、移動体とロックオンされている他移動体との相対位置関係に基づいて減速倍率kbを補正する。
加速力調整部222は、移動体とロックオンされている他移動体との相対位置関係に基づいて加速倍率kaを補正し移動体の加速力を調整する。
【0110】
処理の流れとしては、例えば
図12〜
図13に示すように、ステップS22に次いで、処理部200は、プレーヤ戦闘機2によりロックオンされている敵戦闘機(他移動体)が有るかを判定する(ステップS24)。もし、該当機があれば(ステップS24のYES)、ステップS22で決定した減速倍率kbを、ロックオンしている敵戦闘機との相対距離が大きい程、倍率を高めるように所定関数に従って補正する(ステップS26)。そして、もし補正が行われたならば続くステップS30では補正後の減速倍率kbを用いることとする。この結果、空中戦において敵戦闘機と近接した場合でも、敵戦闘機の旋回半径のさらに内側に回り込んで敵の背後をとるといった戦術機動が可能となる。プレーヤにしてみれば、自身の腕が上達したような興奮と満足感を得ることができる。
【0111】
また、自動加速については、
図14に示すように、ステップS72に次いで、処理部200は、プレーヤ戦闘機2によりロックオンされている敵戦闘機(他移動体)が有るかを判定する(ステップS74)。もし、該当機があれば(ステップS74のYES)、ステップS72で決定した加速倍率kaを、ロックオンしている敵戦闘機との相対距離が大きい程、倍率を高めるように所定関数に従って補正する(ステップS76)。そして、もし補正が行われたならば続くステップS78では補正後の加速倍率kaを用いることとする。の結果、高機動旋回後に意に反して敵戦闘機と離れてしまったとしてもリカバーできる。
なお、他移動体は、ロックオンしている敵戦闘機ではなく、所定距離内に位置する敵戦闘機としてもよい。この場合、最寄りの敵戦闘機が、相対距離の算出基準となる。
【0112】
上述した実施形態では、本発明をフライトシミュレーションゲームに適用した例として説明したが、フライトシミュレーション以外のゲームに本発明を適用することとしてもよいことは勿論である。例えば、カーレースゲーム等の車のシミュレーションゲームに適用してもよいし、潜水艦のシミュレーションゲームに適用してもよいし、宇宙空間を移動する宇宙船の操縦ゲームに適用してもよい。