説明

画像処理装置

【課題】ゲーム成績に対応してゲームを展開させる。
【解決手段】三次元仮想空間に配置された視点を移動してゲームを行うようにしたゲーム装置(10)であって、仮想空間内のある場面から分岐する複数の視点の移動コースを分岐条件と共に記憶する記憶手段(102)と、操作手段からの操作信号に応じてゲームアルゴリズムを実行して対応する画像を形成するデータ処理を行い(101)、かつ視点からの映像を形成するための画像変換を行う画像処理手段(108〜116)と、複数の視点の移動コース中からゲーム成績に対応する移動コースを選択して、この移動コースに沿って視点を移動させるコース選択手段(101)と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理装置に係わり、特にゲーム機に関するものである。
【背景技術】
【0002】
近年、3次元ゲーム機と称される種類の画像処理装置が数多く提案されている。この画像処理装置はコンピュータによって形成される仮想空間内に種々のキャラクタを定義するとともに、遊技者からの操作情報をジョイスティック等の周辺機器を介して取り込んでキャラクタを移動させる等の画像処理を実現する。
【0003】
この画像処理結果は、仮想カメラと称される3次元仮想空間からの視点から見た映像がテレビモニタを介して遊技者に表示される。
【0004】
このような画像処理装置の一例として、画面に表示されるキャラクタに対する射撃の優劣を競うゲーム装置が存在する(例えば、セガ・エンタープライゼス製の「バーチャコップ」)。このゲーム装置では、仮想カメラが3次元空間上の予め定められたコースを移動しながら、特定のキャラクタをズームアップして表示したり、或いはキャラクタの回りに識別標識を表すことにより攻撃対象のキャラクタを遊技者が認識し易いように構成されていた。
【0005】
このゲーム装置では、遊技者が画面に向けた銃のトリガーをオンすると銃が画面の走査線を検出するまでのタイミングを計算することにより、銃口が向いている画面上の座標を演算してキャラクタに対する着弾の有無を判定できるようにされていた。
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、この種の画像処理装置には、次のような課題が存在する。第1に、仮想カメラが移動する仮想空間上のコースが予め定められており、仮想カメラの移動コースを多様化することの配慮はなされていない。一方、画面上に乗り物等を表示し遊技者が適宜コースを選択することにより、このコースを仮想カメラが移動するようにしたゲーム装置(株式会社セガ・エンタープライゼス製「レールチェイス2」)も存在するが、このゲーム装置では、コースの選択は遊技者の意志によるものであって、キャラクタに対する射撃の優劣等のゲーム成績をコースの選択に反映させることまでの配慮がない。
【0007】
第2に、従来のゲーム装置では、射撃対象となる多数のキャラクタを視点に向けて順次移動させる際に、遊技者に対して効果的にキャラクタを出現させたり移動させたりすることの配慮がない。ゲームの品質や面白さを高めるために、いきおい、多くのキャラクタを仮想空間内に単に出現させたり移動させたりすると、ゲームの難易度が増して、ゲームの面白さを実現することが困難となる。
【0008】
第3に、従来のゲーム装置では、キャラクタを多数表示するようにする際に、キャラクタを最も効果的に表示する視点を設定することの配慮がない。このような、効果的な視点が設定されなければ、複数のキャラクタを出現させたり、これらのキャラクタを移動させたりする際に遊技者に対して効果的な映像を与えることができない。
【課題を解決するための手段】
【0009】
上記課題を達成するため、本発明に係わるゲーム装置は、三次元仮想空間に配置された視点を移動してゲームを行うようにしたゲーム装置において、上記三次元仮想空間内のある場面から分岐する複数の視点の移動コースを分岐条件と共に記憶する記憶手段と、操作手段からの操作信号に応じてゲームアルゴリズムを実行して対応する画像を形成するデータ処理を行い、かつ前記視点からの映像を形成するための画像変換を行う画像処理手段と、上記複数の視点の移動コース中からゲーム成績に対応する移動コースを選択して、この移動コースに沿って上記視点を移動させるコース選択手段と、を備える。
【0010】
かかる構成によって、遊技者の技能レベルに応じたゲーム展開を図ることが可能となって好ましい。
【0011】
また、上記画像処理手段は、三次元仮想空間内に定義される複数のキャラクタと遊技者との闘いをシミェレートするゲームアルゴリズムを実行し、上記コース選択手段は、遊技者が複数のキャラクタのうちの特定のキャラクタとの闘いに勝利したかどうかによって次に進む移動コースを決定する、ことを特徴とする。これによって、闘った相手(の強さや種類)に対応してゲーム展開が選択されるのでゲームが面白い。
【0012】
また、上記複数のキャラクタを複数のゾーンに分けて配置し、各ゾーン毎にゾーン内のキャラクタに対して攻撃能力を定義するようにする、ことによって、ゲームの難易度を設定可能とし、遊技者がゲームを楽しめるようにすることが可能となる。
【0013】
また、上記複数のゾーンのうち、視点からの距離が遠いゾーンほど優先的にキャラクタを出現させるようにする、ことでカメラ近傍に急に的が出現してゲームが難しくなることを回避することが可能となる。
【0014】
また、各ゾーン内に配置されるキャラクタの数を制限する、ことで闘いの難易度が高くなることを回避可能である。
【0015】
本発明の画像処理装置は、仮想カメラに向けてキャラクタが接近する状態をシミュレートし、キャラクタから仮想カメラに向けた所定の画像処理によって、操作者に対してゲームを終了させるための処理を行うようにした画像処理装置において、複数のキャラクタの出現を複数のゾーンに分け、仮想カメラに最も近いゾーンのキャラクタの数を制限した、ことを特徴とする。
【0016】
かかる構成によって、画像処理の演算量の増大を抑制することが可能となる。また、シューティングゲーム装置においてはゲームの難易度が高くなることを回避可能である。
【0017】
本発明の画像処理装置は、三次元仮想空間内に配置された複数のキャラクタに対して仮想カメラを向けるようにした画像処理装置において、上記仮想カメラの注視点を仮想カメラにより近いキャラクタに対して優先的に設定し、同じ優先度のキャラクタが複数存在する場合には、注視点をこれ等のキャラクタの中間位置に設定る、ことを特徴とする。
【0018】
かかる構成とすることによってキャラクタを見易い画面が得られて好ましい。特に、格闘ゲームのような画面では相手がよく見えて好ましい。
【0019】
本発明の画像処理装置は、三次元仮想空間内に配置されたキャラクタの現在位置とこのキャラクタが移動すべき移動先位置とのずれ角に応じて仮想カメラの注視点の移動を制御する画像処理装置において、上記ずれ角の値に応じて上記注視点の次回移動位置を設定する、ようにしたことを特徴とする。
【0020】
かかる構成によって、キャラクタが急激に移動した場合でもカメラの注視点を滑らかに移動することが可能となって好ましい。
【0021】
また、上記注視点の次回移動量が前記ずれ角を変数とする関数によって設定される、ことによって注視点移動の態様を定めることが可能となって好ましい。
【0022】
また、上記注視点の次回移動量は、好ましくは、上記ずれ角の値が低い範囲内においては下限値に、上記ずれ角の値が高い範囲内においては上限値に、上記ずれ角の値が両範囲の中間の範囲内においてはずれ角に比例する値に、それぞれ設定する。これによって、ずれ角が少ない場合でもある程度の移動量を確保してキャラクタの移動先位置に注視点を所定時間内に位置させることが可能となる。また、移動量が大きすぎないようにしてカメラワークの滑らかさを確保することが可能となる。また、中間範囲ではずれ角に応じて素早く注視点を移動することが可能となる。
【0023】
また、本発明の情報記録媒体は、記録しているプログラムによって、コンピュータシステムを上述したゲーム装置あるいは画像処理装置として動作させる。
【発明の効果】
【0024】
以上説明したように、本発明のゲーム装置は、ゲームの成績に応じて次のコースが選択されるので遊技者の技能に合ったゲームが展開可能となる。
【0025】
また、本発明のゲーム装置は、キャラクタの出現や各ゾーンにおけるキャラクタの数・能力を定義することができるので、ゲームの難易度を設定し易い。
【0026】
また、本発明の画像処理装置は、キャラクタが見やすい位置になるように画面を形成するので、ゲームをやり易い。
【0027】
また、本発明の画像処理装置は、仮想カメラの注視点をキャラクタの移動にスムースに追従させるので、好ましい。
【発明を実施するための最良の形態】
【0028】
以下、本発明の実施の形態について図面を参照して説明する。図1は、本発明に係る、アーケードゲームタイプのガンシューティングゲ−ムのゲーム装置の一実施例を示すブロック図である。このゲーム装置は基本的要素としてゲーム装置本体10、入力装置11、TVモニタ13、及びスピーカ14を備えている。
【0029】
入力装置11は、ゲーム中に出現する敵を射撃する拳銃や機関銃、ライフル銃等のシューティング用の武器(以下、拳銃として説明する)である。拳銃はTVモニタ上の着弾点の走査スポット(電子ビームの光点)を読取る受光素子と、銃のトリガ操作に対応して動作するトリガスイッチとを含む。走査スポットの検知タイミングとトリガタイミングの信号は接続コードを介して後述するインタフェース106に送られる。TVモニタ13はゲーム展開の状況を画像表示するもので、このTVモニタの代わりにプロジェクタを使ってもよい。
【0030】
ゲーム装置本体10は、CPU(中央演算処理装置)101を有するとともに、ROM102、RAM103、サウンド装置104、入出力インターフェース106、スクロールデータ演算装置107、コ・プロセッサ(補助演算処理装置)108、地形デ−タROM109、ジオメタライザ110、形状デ−タROM111、描画装置112、テクスチャデ−タROM113、テクスチャマップRAM114、フレームバッファ115、画像合成装置116、D/A変換器117を備えている。なお、本発明における記憶媒体としては、前記ROM102としての、ハードディスク、カートリッジ型のROM、CD−ROMの他公知の各種媒体の他、通信媒体(インターネット、各種パソコン通信網)をも含むものであってもよい。
【0031】
CPU101は、バスラインを介して所定のプログラム等を記憶したROM102、デ−タを記憶するRAM103、サウンド装置104、入出力インターフェース106、スクロールデータ演算装置107、コ・プロセッサ108、及びジオメタライザ110に接続されている。RAM103はバッファ用として機能させるもので、ジオメタライザ110に対する各種コマンドの書込み(オブジェクトの表示など)、変換マトリクス演算時のマトリクス書込み等が行われる。
【0032】
入出力インターフェース106は前記入力装置11(拳銃)に接続されている。拳銃11からの走査スポットの検知信号、拳銃の引金を引いたことを示すトリガ信号、TVモニタ上の走査電子ビームの現在の座標(X,Y)位置、ターゲットの位置から、拳銃の発射の有無、着弾場所、発射数等を判別し、対応する各種フラグをRAM103内の所定位置に設定する。
【0033】
サウンド装置104は電力増幅器105を介してスピーカ14に接続されており、サウンド装置104で生成された音響信号が電力増幅の後、スピーカ14に与えられる。
【0034】
CPU101は本実施例では、ROM102に内蔵したプログラムに基づいてゲームストーリーの展開、ROM109からの地形デ−タ、又は形状データROM111からの形状データ(「敵のキャラクタ等のオブジェクト」、及び、「風景、建物、屋内、地下道等のゲーム背景」等の3次元データ)を読み込んで、三次元仮想空間のシチュエーション設定、入力装置11からのトリガ信号に対するシューティング処理等、を行うようになっている。
【0035】
仮想ゲーム空間内の各種オブジェクトは、3次元空間での座標値が決定され後、この座標値を視野座標系に変換するための変換マトリクスと、形状デ−タ(建物、地形、屋内、研究室、家具等)とがジオメタライザ110に指定される。コ・プロセッサ108には地形デ−タROM109が接続され、したがって、予め定めたカメラの移動コース等の地形デ−タがコ・プロセッサ108(及びCPU101)に渡される。また、コ・プロセッサ108は、シューティングの命中の判定やカメラ視線とオブジェクト間の偏差、視線移動の制御演算等を行うものであり、そして、この判定や計算時に、主に、浮動小数点の演算を引き受けるようになっている。この結果、コ・プロセッサ108によりオブジェクトへの射撃の当たり判定やオブジェクトの配置に対する視線の移動位置の演算が実行されて、その結果がCPU101に与えられるようになされている。なお、当りの判定のアルゴリズムは、例えば、特開平8−36651号公報等の公知の技術を使用可能である。
【0036】
ジオメタライザ110は形状デ−タROM111及び描画装置112に接続されている。形状デ−タROM111には予めポリゴンの形状デ−タ(各頂点からなる建物、壁、廊下、室内、地形、背景、主人公、味方、複数種類の敵(例えばゾンビ)等の3次元デ−タ)が記憶されており、この形状デ−タがジオメタライザ110に渡される。ジオメタライザ110はCPU101から送られてくる変換マトリクスで指定された形状デ−タを透視変換し、3次元仮想空間での座標系から視野座標系に変換したデ−タを得る。
【0037】
描画装置112は変換した視野座標系の形状デ−タにテクスチャを貼り合わせフレームバッファ115に出力する。このテクスチャの貼り付けを行うため、描画装置112はテクスチャデ−タROM113及びテクスチャマップRAM114に接続されるとともに、フレームバッファ115に接続されている。なお、ポリゴンデータとは、複数の頂点の集合からなるポリゴン(多角形:主として3角形又は4角形)の各頂点の相対ないしは絶対座標のデータ群を云う。前記地形データROM109には、カメラがゲームストーリーに沿って仮想空間を移動する上で足りる、比較的粗く設定されたポリゴンのデータが格納されている。これに対して、形状データROM111には、敵、背景等の画面を構成する形状に関して、より緻密に設定されたポリゴンのデータが格納されている。
【0038】
スクロールデ−タ演算装置107は文字などのスクロール画面のデ−タを演算するもので、この演算装置107と前記フレームバッファ115とが画像合成装置116及びD/A変換器117を介してTVモニタ13に至る。これにより、フレームバッファ115に一時記憶されたオブジェクト(敵)、地形(背景)などのポリゴン画面(シミュレーション結果)と、その他の文字情報(例えば、遊戯者側のライフカウント値、ダメージ点等)のスクロール画面とが指定されたプライオリティにしたがって合成され、最終的なフレーム画像デ−タが生成される。この画像デ−タはD/A変換器117でアナロク信号に変換されてTVモニタ13に送られ、シューティングゲ−ムの画像がリアルタイムに表示される。
【0039】
次に、ゲームの全体の流れを図2を参照して説明する。同図はゲームの概略を説明するフローチャートであり、移動モード、ゲームモードに大別される。移動モード(S10)では、予めプログラムされたゲームストーリーに従って、仮想カメラがコンピュータシステム内に形成される仮想ゲーム空間を移動し、種々のシチュエーションを画面に映し出す。
【0040】
移動中に敵に遭遇すると(S20)、シューティングゲームを展開するゲームモードに移行する(S30)。敵を撃滅すると、カメラを移動し、他のシチュエーションに移動でき(S40;Yes)、更に、ゲームを展開することが可能である(S10〜S30)。敵を撃滅することができず、主人公が敵に負けた場合や最後のゲームをクリアした場合には(S40;No)、ゲームの終了が判定される。例えば、主人公のダメージが少ない場合(S50;No)には、他のシチュエーションのゲームモード(S10〜S30)や負けたゲームモードに戻ることが可能である。また、いわゆるゲームのセクションに設定された時間のタイムアップやダメージ値等のゲームパラメータがゲーム終了条件を満たす場合には、ゲームが終了となる(S50;Yes)。
【0041】
次に、仮想ゲーム空間内のゲーム展開(カメラ移動)に関する改良について説明する。
【0042】
従来のゲームでは、コースの分岐点におけるコース選択を遊技者の好みによって決定していた。例えば、上述した「レールチェイス2」では、単に、遊技者が看板を撃ち、命中したかどうかの判定結果によっている。これに対し、この実施の形態では、複数のキャラクタ(敵)に対する射撃の成績やどのキャラクタを倒したか等のゲーム展開から得られる情報(ゲーム成績、遊技者のキャラクタの好み等)によって次のゲーム展開の難易度や出現キャラクタを加味した多様なコースが選択可能とされる。
【0043】
図3は、遊技者が敵のいる建物内を移動し、敵をシューティングして先に進む例を示す説明図である。同図中、敵は丸印で、視線方向はカメラの向きで示されている。カメラは遊技者の視点に相当する。カメラが三次元仮想空間に配置された建物の入口を入ると、一階ホールにそこに敵1及び2がいる。この敵はいわゆるゾンビであり、図4に示すように、当初横たわっていた死体が立上がって、遊技者を襲ってくる。この位置で、シューティングを行って敵を倒す。敵1及び2は強さが異なる。敵1は比較的に被弾数が少なくても倒れる。敵2は頑強で多数命中させないと倒れない。また、敵1及び2は、それぞれウィークポイントをいくつか持っており、各ウィークポイントにダメージ度が設定されている。ウィークポイントに命中させるとダメージ点が加算され、所定値を越えると、撃たれた敵は倒れる。所定時間内に敵を倒せないと敵に襲われて、遊技者のダメージ点が増加する。ゲーム展開によって遊技者のダメージ点は増減する。
【0044】
これを換言すると次のとおりである。敵の種類に応じて、各々の敵は体力(ヒットポイント)を頭部、胴部、手、脚等に持っている。敵毎にこれらの体力を一つ以上の箇所に適宜設定でき、かつ、各部毎に体力を変えることができる。各部に着弾するとダメージ点が体力から減算される。各部の合計残り体力が演算されて、これが所定値以下に到った際に、この敵を模擬死として扱うことができる。さらに、或箇所の部分の体力値が所定値以下になったときに、その部分を他の部分から離散させる画像処理を行うようにすることもできる。このように体力値を多彩に設定できることから、ある敵に着弾が複数回あってもなかなか敵を倒せない(模擬死)が、一方、ある敵は容易に倒れる等の多様性を持たせることができる。また、頭部への着弾はダメージ点を多くし、他の箇所への着弾はダメージ点が少ない等の多様性を実現することもできる。
【0045】
なお、ゲーム成績とは、所定時間内における遊戯者がいかなる敵を倒したか、及び/又は、どれだけの数の敵を倒したかによって定まる遊戯者の射撃能力を定量的に表したものである。
【0046】
遊技者が第1の関門で難しい敵2を倒すと、より高い射撃技能や素早い判断等を要する一階コースが選択され、カメラは右方向に移動する。すなわち、敵1が倒れなかった(敵1が死ななかった)ことにより、このコースが展開される。このコースでは、例えば、コース途中で二階の敵が手すりを越えて上から襲ってくる。また、奥の扉を開けるとそこに敵がいる。これ等の敵を倒しながら、遊技者は先に進む。
【0047】
遊技者が第1の関門で敵1を倒すと、図5に示すように、比較的に易しい二階コースが選択される。このコースでは見えている敵に近づくようにして進むので、射撃し易い。射撃になれたところで二階の扉を開けると、そこに敵がいる。
【0048】
この例では、2つの選択コースを例にとって説明したが、ゲーム成績や遊技者の好みに対応してより多様なコースを選択可能とすることができる。このように、コースの選択に際して、どの敵を倒せたか倒せなかったかの遊戯者の技量やゲーム成績を反映させることができる。換言すれば、コースの選択に難易度を持たせることが可能となる。
【0049】
次に、ゲームモードにおける改良について説明する。カメラは移動モード中は予め定められた軌道上を決められた位置及び角度で進行する。敵が出現すると、ゲームモードに切り替る。
【0050】
ゲームモードでは、図6さに示すように、シューティングを展開するエリアが、カメラ位置を中心にして、攻撃ゾーン、待機ゾーン、出現ゾーン、の3つに区分されている。攻撃ゾーンにいる敵は遊技者を襲ってくる。待機ゾーンの敵は攻撃ゾーンの敵が倒されると、攻撃ゾーンに移動して遊技者を襲う。敵は出現ゾーンに現れて、待機ゾーンに移動してくる。ここで、待機ゾーン、攻撃ゾーンの敵の数はゲームシーンの難易度に応じて一定数に制限される。出現ゾーンの敵の数は特に制限されない。
【0051】
例えば、図7に示すように、待機ゾーンの敵の数を2まで、攻撃ゾーンの敵の数を2までとする。同図において、敵は近い位置から離れる方向にE1〜Enによって表されている。敵の数はゲームシーンに応じて予めプログラムされている。また、図中の矢印は敵の進行方向を表している。出現ゾーンで現れた敵はカメラ方向に向って進むが、待機ゾーン内に2体いる場合は待機ゾーンの外で待つ。待機ゾーンに空きができた場合は待機ゾーンに進む。待機ゾーン中の敵はカメラに向って進むが、攻撃ゾーン内に2体いる場合は攻撃ゾーンの外側で待つ。攻撃ゾーンが空くと攻撃ゾーンに進む。攻撃ゾーン中の敵はカメラに向って進み、カメラからある距離にまで近づくと遊技者を攻撃する。上述したように、カメラ近傍のゾーンの敵の数を制限することにより、敵の数が増えてゲームの難易度が増すことを抑制し、遊技者の負担を軽くすることができる。
【0052】
敵が今どこにいるかを判るようにするために、エネミーフラグ配列E[n]が用意される。図8(a)は、この様子を示すものであり、敵が位置E[n]にいるかどうかが、フラグの値によって示される。すなわち、フラグの値が「1」のときは敵が存在し、「0」のときは敵が存在しないことを示す。フラグ配列E[n]に対応して仮想空間内に敵のキャラクタが配置され、図示しないルーチンでその動き等が制御される。また、図8(b)に示すように、攻撃エリアの敵が攻撃状態かどうかを示す攻撃フラグA[n]も用意される。フラグA[n]が「1」のときは攻撃状態を、「0」のしときは非攻撃状態を示す。また、敵の各々には、カメラ位置から遠ざかる方向にID番号を付すようにする。
【0053】
図9は、ゲームモード(S30)における処理を説明するフローチャートである。カメラが仮想空間内を移動して敵に出くわすと、シーンに予めプログラムされている種類及び数の敵を出現させる処理を行う。この処理の具体例(図10)については後述する(S302)。遊技者は出現した敵をシュート(射撃)することができる。この結果が判定され、射撃されて消滅すべき敵には当りフラグが設定される(S304)。空いている位置あるいは消滅した位置に後ろの敵を進めるべく、敵の移動処理を行う。この処理は図11を参照して後に説明される(S306)。エリア内の敵のIDをワールド座標系にてカメラから遠い方に向ってID番号が増加するようにソートする。すなわち、E[3]以降のフラグ、IDは、ルーチンの周期(1/60秒)毎に、カメラからの距離によって(画面に表示されない敵も含む)近い順にソートされる。(S308)。仮想カメラの向き(視線方向)を敵の配置や攻撃状態に対応して遊技者が判り易いように定める。この定め方は後に図11を参照して説明される(S310)。
【0054】
その後ゲームが継続かどうかが判別される。敵が残っている等して、まだ闘いが終っていない場合には(S312;Yes)、ゲームストーリーのプログラムに基づいて敵を出現するかどうかを判別する(S314)。敵を出現すべき場合は(S314;Yes)、敵を出現させる(S302)。敵を出現すべき場合は(S314;Yes)、敵を出現させない場合には(S302;No)、残りの敵に対するシューティング結果の判別に移行し(S304)、ステップ306〜ステップ310を繰返す。ゲームの終了が判別されると(S312;No)、既述ステップ40に戻る。そして、次のゲームシーンに移る移動モードに戻るかどうか(S40)、ゲーム終了か(S50)、が判別される。
【0055】
図10は、この敵の出現処理の例を説明するフローチャートである。攻撃ゾーンには直接敵を出現させないのが望ましいので、まず、変数nに、n=3を設定し(S302a)、待機ゾーンの最初のE[3]の位置に敵がいるかどうか、フラグE[3]の値を判別する(S302b)。敵が存在しない場合には、フラグ配列のE[3]に1を設定し、ID番号に3を設定して敵を出現させる(S302c)。また、E[3]の位置に敵がいる場合(S302;No)には、次の位置に敵がいるかどうかを判別するべく、nを「1」増加して「4」とする(S302d)。この場合のnは(=4)最大値ではないので(S302e)、E[4]が「0」かどうかを判別する(S302b)。「0」であれば、敵を設定(出現)する処理(S302c)を、存在すれば次の位置の敵の存在を確認する(S302b,S302d)。このような処理を繰返す(S302b〜S302e)。予め各シーン毎に設定されている敵の数MAXに至ると(S302e)、IDを「−1」に設定する。「−1」に設定された場合は、敵は出現しないようになされる(S302f)。
【0056】
図11は、敵の移動処理の例を説明するフローチャートである。
【0057】
ある敵をカメラに向って移動するかどうかは、まず、その敵に付されているIDが低い順番から判別を行う。図7に示すように、敵の数を待機ゾーンに2名、攻撃ゾーンに2名と定めた場合、敵のIDが「4」以下であるかどうかを判別する(S306a)。「4」以下である場合には、待機ゾーン、攻撃ゾーンに進み得る(S306a;Yes)。変数nを「1」に設定し(S306b)、配列E[1]が「0」かどうかを判別する(S306c)。「0」の場合、攻撃ゾーンのE[1]の位置が空いており、この位置に進み得る(S306c;Yes)。現在の順番の位置E[ID]を空けてE[n]に移動する。この敵のIDを「1」に変更する(S306d)。
【0058】
配列E[1]が「0」の場合、攻撃ゾーンのE[1]の位置は空いていない。この位置に進むことはできない(S306c;No)。次の位置の空きを判別する(S306e、S306f、S306c)。空いている場合には、入替えを行う(S306d)。nが「3」になると、攻撃ゾーンの空きはないので(S306)、次のサイクルで、待機ゾーンの空きの判別を行う。
【0059】
IDが「5」以上の場合は、待機ゾーンへの移動が可能である(S306a;No)。配列E(3)及びE(4)が共に「1」であるとき(S306g;Yes)、待機ゾーンは空いていないので移動は行えない。この場合、出現ゾーンで待機することになる(S306h)。配列E(3)及びE(4)が共に「1」ではないとき(S306g;No)、待機ゾーンに空きがある。ステップ306dと同様の番号の置換え処理を行い、当該敵を待機ゾーンに進める(S306i)。敵の移動を行ったので、既述IDソート(S308)を行う。
【0060】
このようにして、IDが3又は4の敵は攻撃ゾーンに、IDが5以上の敵は待機ゾーンに移動可能である。移動後は出現ゾーンの敵のIDがソートされる(S308)。
【0061】
ところで、仮想カメラは三次元仮想空間内をプログラムに従って移動し、カメラの視線は、図12に示すように、空間内のある点(注視点)を向くように設定され、注視点が表示画面の中央となるように画像を形成する。
【0062】
図13は、仮想カメラの視線方向の敵の状況に対応して制御する例を説明するフローチャートである。
【0063】
まず、攻撃ゾーンの敵E1及びE2が攻撃を仕掛けているかどうかを、配列A[n]の値で判別する(S310a)。二人の敵が同時に攻撃を仕掛ける場合には(S310a;Yes)、カメラの注視点は敵E1及びE2の中間の位置に設定する(S310b,S310u)。敵E1のみが攻撃状態の場合には(S310c;Yes)、カメラの注視点は敵E1の位置とする(S310d,S310t)。敵E2のみが攻撃状態の場合には(S310e;Yes)、カメラの注視点は敵E2の位置とする(S310f,S310t)。攻撃ゾーンに敵E1及びE2が共に存在するが、両方とも攻撃状態ではない場合(S310g)、カメラの注視点は、敵E1及びE2の中間点とする(S310h,S310u)。攻撃ゾーンには敵E1のみが存在するが、攻撃状態ではない場合(S310i)、カメラの注視点は、敵E1の位置とする(S310j,S310t)。攻撃ゾーンには敵E2のみが存在するが、攻撃状態ではない場合(S310k)、カメラの注視点は、敵E2の位置とする(S310l,S310t)。攻撃ゾーンに敵が存在せず(例えば、敵E1及びE2を倒した場合)、待機ゾーンに敵E3及びE4が存在する場合(S310m)、カメラの注視点を敵E3及びE4の中間点に設定する(S310n,S310u)。攻撃ゾーンに敵が存在せず、待機ゾーンには敵E3のみが存在する場合(S310o)、カメラの注視点は敵E3の位置に設定される(S310p,S310t)。攻撃ゾーンに敵が存在せず、待機ゾーンには敵E4のみが存在する場合(S310q)、カメラの注視点は敵E4の位置に設定される(S310r,S310t)。
【0064】
攻撃ゾーン及び待機ゾーンに敵がいない場合(S310q;No)、この場合には敵は出現ゾーンであり、急に攻めてこないのでカメラの注視点は移動モードにおけるプログラムで予め定められたコースのカメラ位置に設定する(S310s)。
【0065】
このようにして、カメラは攻めてくる敵を優先的に画面に映す。また、二人の敵が攻めてくるときは、カメラの視線(注視点)を両者の中間位置に、一方の敵が攻めてくる場合には、カメラの注視点はその敵を向く。従って、シューティングの際に遊技者に見易い画面が得られる。
【0066】
次に、カメラの視線(注視点)の移動制御の改良について説明する。複数の敵が攻めてくる場合、敵の移動に視点を合わせて、あるいは視点を切替えて敵を撃たなければならない。例えば、或敵を倒した際他の攻撃すべき敵に仮想視点(仮想カメラ)の注視点を移動させること、或いは一つの敵をカメラが追う場合である。すなわち、図14に示すように、現在の注視点IntRから敵位置の注視点であるエネミー注視点IntEに視線を移動しなければならない。この際、視点の移動を急に行うと、カメラワークの滑らかさが損われる。また、ゆっくりカメラの回転を移動したのでは、時間がかかり、ゲームの適当なスピード感が得られない。
【0067】
そこで、現在の注視点IntRと切替えるべき注視点IntEとの角度差Difに応じて、両注視点の間のN:1の内分点に実際の注視点IntRnを設定するようにする。更に、移動した注視点IntRnを現在の注視点としてエネミー注視点との新たな角度Dif’を求め、N点を定めることを繰返してカメラの視点をエネミー注視点に移動する。従って、カメラの視点がエネミー注視点に近づくと視点の移動(画面の移動)は緩やかとなる。
【0068】
仮想空間における角度差Difは、次式によって定る。
【0069】
Dif=cos-1(VRx・VEx+VRy・VEy+VRz・VEz)/((VRx2+VRy2+VRz21/2・(VEx2+VEy2+VEz21/2
また、注視点IntRと注視点IntEとをN:1に内分する注視点IntRnは、そのx,y,zの座標値をIntRnx,IntRny,IntRnzとすると、IntRnx=(1/(1+N))・IntRx+(N/(1+N))・IntExIntRny=(1/(1+N))・IntRy+(N/(1+N))・IntEyIntRnz=(1/(1+N))・IntRz+(N/(1+N))・IntEzここで、Camは現在のカメラ位置であり、Camxはそのx座標値、Camyはそのy座標値、Camzはそのz座標値である。IntRは現在の注視点の位置、IntRxはそのx座標値、IntRyはそのy座標値、IntRzはそのz座標値である。IntEはエネミー注視点の位置、IntExはそのx座標値、IntEyはそのy座標値、IntEzはそのz座標値である。IntEはエネミー注視点の位置、IntExはそのx座標値、IntEyはそのy座標値、IntEzはそのz座標値である。
【0070】
また、VRx=IntRx−Camx、VRy=IntRy−Camy、VRz=IntRz−Camz、VEx=IntEx−Camx、VEy=IntEy−Camy、VEz=IntEz−Camz、である。
【0071】
図15は、角度Difに対する内分点N(近付き度合)の設定例を示している。
【0072】
同図において、近付き度合関数Nは、N=F(Dif)で表される。(1)の領域においては、ある程度の近付き度合を設定しないと、エネミー注視点に到達しないため、角度Difが比較的に狭い場合には近付き度合Nが下限値に設定される。(2)の領域においては、角度Difに比例した近付き度Nを設定する。(3)の領域においては近付き度Nの上限値に設定される。近付き度Nが大きすぎるとカメラワークの滑らかさが損われるのでNの上限を保障する。
【0073】
このようにカメラの視点の移動を制御すると、エネミー注視点が急激に移動した場合でも真の注視点は滑らかに移動するのでスムースなカメラワークを実現することが可能となる。
【0074】
また、エネミー注視点が画面(ワールド座標系における表示領域)からはみ出してしまう場合には、近付き度合を大きくすることで短時間で画面内にエネミーを位置させることが可能である。
【0075】
また、エネミー注視点が比較的に画面中央に近い場合は近付き度合を小さくすることでエネミーが画面中央に寄って来ないようにすることが可能となる。
【0076】
内分点毎のカメラ注視点の移動は、1フレーム或いは複数フレーム行うことができる。内分点の上限値及び下限値は、図15に記載されている。
【図面の簡単な説明】
【0077】
【図1】本発明の一実施例に係るゲーム装置の概略構成を示すブロック図である。
【図2】同実施例のCPUが行う全体処理を概略敵に説明するフローチャートである。
【図3】コース選択の例を説明する説明図である。
【図4】ゲームにおけるキャラクタ(敵)の例を説明する説明図である。
【図5】コース選択の例を説明する説明図である。
【図6】ゲームの闘いにおけるゾーン区分の例を説明する説明図である。
【図7】各ゾーンにおけるキャラクタの配置例を説明する説明図である。
【図8】同図(a)は、キャラクタの存在の有無を示すフラグの配列を説明する説明図である。同図(b)は、キャラクタが攻撃状態にあるかどうかを示すフラグを説明する説明図である。
【図9】ゲームモードにおける展開手順を説明するフローチャートである。
【図10】敵の出現処理の例を説明するフローチャートである。
【図11】攻撃ゾーン及び待機ゾーンへの敵の移動処理の例を説明するフローチャートである。
【図12】カメラ(視点)の注視点を説明する説明図である。
【図13】カメラの視点制御の例を説明するフローチャートである。
【図14】カメラの視点(注視点)を内分点に移動する例を説明する説明図である。
【図15】近付き度合Nの関数例を説明するグラフである。
【符号の説明】
【0078】
10ゲーム装置本体
11入力装置
12出力装置
13表示装置
101CPU(シミュレーション装置)
102ROM(シミュレーション装置)
103RAM(シミュレーション装置)
107スクロールデ−タ演算装置
109地形デ−タROM(シミュレーション装置)
110ジオメタライザ(シミュレーション装置)
111形状デ−タROM(シミュレーション装置)
112描画装置(シミュレーション装置)
115フレームバッファ
116画像合成装置

【特許請求の範囲】
【請求項1】
三次元仮想空間に配置された視点を移動してゲームを行うようにしたゲーム装置であって、前記三次元仮想空間内のある場面から分岐する複数の視点の移動コースを分岐条件と共に記憶する記憶手段と、操作手段からの操作信号に応じて画像を形成するデータ処理を行い、かつ前記視点からの映像を形成するための画像変換を行う画像処理手段と、前記複数の視点の移動コース中からゲーム成績に対応する移動コースを選択して、この移動コースに沿って前記視点を移動させるコース選択手段と、を備えるゲーム装置。
【請求項2】
三次元仮想空間に配置された視点を移動しながら、この空間上に定義される移動キャラクタに対する遊戯者の模擬射撃をシミュレートし、所定以上の模擬射撃が遊戯者から所定のキャラクタに行われた際に、このキャラクタを模擬死として攻撃対象のキャラクタから除外するように構成したゲーム装置であって、前記三次元仮想空間内のある場面から分岐する複数の視点の移動コースを分岐条件と共に記憶する記憶手段と、操作手段からの操作信号に応じて画像を形成するデータ処理を行い、かつ前記視点からの映像を形成するための画像変換を行う画像処理手段と、所定の時間内に模擬死に到ったキャラクタの程度をゲーム成績として算定し、前記複数の視点の移動コース中からゲーム成績に対応する移動コースを選択して、この移動コースに沿って前記視点を移動させるコース選択手段と、を備えるゲーム装置。
【請求項3】
前記複数のキャラクタを複数のゾーンに分けて配置し、各ゾーン毎にゾーン内のキャラクタに対して攻撃能力を定義するようにした、ことを特徴とする請求項2記載のゲーム装置。
【請求項4】
前記複数のゾーンのうち、視点からの距離が遠いゾーンほど優先的にキャラクタを出現させるようにした、ことを特徴とする請求項3記載のゲーム装置。
【請求項5】
各ゾーン内に配置されるキャラクタの数を制限した、ことを特徴とする請求項3又は4記載のゲーム装置。
【請求項6】
仮想カメラに向けてキャラクタが接近する状態をシミュレートし、キャラクタから仮想カメラに向けた所定の画像処理によって、操作者に対してゲームを終了させるための処理を行うようにした画像処理装置であって、複数のキャラクタの出現を複数のゾーンに分け、仮想カメラに最も近いゾーンのキャラクタの数を制限した、ことを特徴とする画像処理装置。
【請求項7】
三次元仮想空間内に配置された複数のキャラクタに対して仮想カメラを向けるようにした画像処理装置であって、前記仮想カメラの注視点を仮想カメラにより近いキャラクタに対して優先的に設定し、同じ優先度のキャラクタが複数存在する場合には、注視点をこれ等のキャラクタの中間位置に設定る、ことを特徴とする画像処理装置。
【請求項8】
三次元仮想空間内に配置された第1のキャラクタ位置と第2のキャラクタ位置とのずれ角に応じて仮想カメラの注視点の移動を制御する画像処理装置であって、前記ずれ角の値に応じて前記注視点の次回移動位置を設定する、ようにしたことを特徴とする画像処理装置。
【請求項9】
前記次回移動位置は、前記現在位置と前記移動先位置とを結ぶ線分上の内分点であり、前記内分点は前記ずれ角に応じて定められる、ことを特徴とする請求項8記載の画像処理装置。
【請求項10】
前記注視点の次回移動量が前記ずれ角を変数とする関数によって設定される、ことを特徴とする請求項8又は9記載の画像処理装置。
【請求項11】
前記ずれ角に対する仮想カメラの注視点の移動量に上限値と下限値を設けたことを特徴とする請求項10記載の画像処理装置。
【請求項12】
三次元仮想空間に配置された視点を移動しながら、この空間上に定義される移動キャラクタと遊戯者との間の闘いをシミュレートし、所定以上の模擬攻撃が遊戯者から所定のキャラクタに行われた際に、このキャラクタを模擬死として攻撃対象のキャラクタから除外するように構成したゲーム装置であって、前記三次元仮想空間内のある場面から分岐する複数の視点の移動コースを分岐条件と共に記憶する記憶手段と、操作手段からの操作信号に応じて画像を形成するデータ処理を行い、かつ前記視点からの映像を形成するための画像変換を行う画像処理手段と、前記複数の視点の移動コース中から、前記模擬死に到らなかったキャラクタに対応して所定の移動コースを選択し、この移動コースに沿って前記視点を移動させるコース選択手段と、を備えることを特徴とするゲーム装置。
【請求項13】
コンピュータシステムに、請求項1乃至12記載の画像処理を実現させるためのプログラムを記録した媒体。
【特許請求の範囲】
【請求項1】
画像処理の演算を行う演算処理装置と、ゲームプログラムと仮想空間における視点とキャラクタのデータを記憶する記憶装置と、遊戯者の操作に伴う入力信号を前記演算処理装置に入力する入力装置と、を備える画像処理装置において、
前記演算処理装置は、
前記記憶装置に記憶された前記ゲームプログラム、前記視点と前記キャラクタ
のデータを読み込む手段と、
前記仮想空間に、前記視点と、前記複数のキャラクタを配置する手段と、
前記視点を前記複数のキャラクタに向けるように処理する手段と、
前記仮想空間内に配置された第1のキャラクタに対して、前記視点の注視点を現在位置に設定する手段と、
前記仮想空間内に配置された第2のキャラクタに対して、前記視点の注視点を目的位置に設定する手段と、
前記注視点の現在位置と前記目的位置とのずれ角を演算する手段と、
このずれ角に応じて、前記注視点の次回移動位置を演算する手段と、
前記視点の注視点を前記現在位置から前記次回移動位置まで移動させる手段と、
前記次の移動位置を前記注視点の新たな現在位置に設定し、前記目的位置とのあらたなずれ角から繰り返し次の移動位置を演算する手段と、
前記注視点を前記あらたな現在位置から前記目的位置まで移動させる手段と、
を備える画像処理装置。
【請求項2】
前記次回移動位置は、前記現在位置と前記移動先位置とを結ぶ線分上でN:1に設定される内分点であり、前記Nは前記ずれ角に応じて定められる、ことを特徴とする請求項記載の画像処理装置。
【請求項3】
前記Nが前記ずれ角を変数とする関数によって設定される、ことを特徴とする請求項1又は2記載の画像処理装置。
【請求項4】
前記ずれ角に応じて、前記Nに上限値と下限値を設けたことを特徴とする請求項記載の画像処理装置。
【請求項5】
前記視点と注視点を結んだ視線を移動させる速度を、前記注視点の新たな現在位置が目的位置に近づくにつれて穏やかになるように設定する手段をさらに有する請求項1乃至4の何れか1項記載のゲーム装置。
【請求項6】
画像処理の演算を行う演算処理装置と、ゲームプログラムと仮想空間における視点とキャラクタのデータを記憶する記憶装置と、遊戯者の操作に伴う入力信号を前記演算処理装置に入力する入力装置と、を備える画像処理装置による画像処理方法において、
前記演算処理装置は、
前記記憶装置に記憶された前記ゲームプログラム、前記視点と前記キャラクタ
のデータを読み込む処理と、
前記仮想空間に、前記視点と、前記複数のキャラクタを配置する処理と、
前記視点を前記複数のキャラクタに向けるような処理と、
前記仮想空間内に配置された第1のキャラクタに対して、前記視点の注視点を現在位置に設定する処理と、
前記仮想空間内に配置された第2のキャラクタに対して、前記視点の注視点を目的位置に設定する処理と、
前記注視点の現在位置と前記目的位置とのずれ角を演算する処理と、
このずれ角に応じて、前記注視点の次回移動位置を演算する処理と、
前記視点の注視点を前記現在位置から前記次回移動位置まで移動させる処理と、
前記次の移動位置を前記注視点の新たな現在位置に設定し、前記目的位置とのあらたなずれ角から繰り返し次の移動位置を演算する処理と、
前記注視点を前記あらたな現在位置から前記目的位置まで移動させる処理と、
を実行する画像処理方法。
【請求項7】
コンピュータシステムに、請求項1乃至5の何れか1項記載の前記各手段を実行させるための、コンピュータシステムが読み取り可能なプログラムを記録した記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2006−59381(P2006−59381A)
【公開日】平成18年3月2日(2006.3.2)
【国際特許分類】
【出願番号】特願2005−295701(P2005−295701)
【出願日】平成17年10月7日(2005.10.7)
【分割の表示】特願平8−327396の分割
【原出願日】平成8年12月6日(1996.12.6)
【出願人】(000132471)株式会社セガ (811)
【Fターム(参考)】