(57)【要約】【課題】ゲーム成績に対応してゲームを展開させる。【解決手段】三次元仮想空間に配置された視点を移動してゲームを行うようにしたゲーム装置（１０）であって、仮想空間内のある場面から分岐する複数の視点の移動コースを分岐条件と共に記憶する記憶手段（１０２）と、操作手段からの操作信号に応じてゲームアルゴリズムを実行して対応する画像を形成するデータ処理を行い（１０１）、かつ視点からの映像を形成するための画像変換を行う画像処理手段（１０８〜１１６）と、複数の視点の移動コース中からゲーム成績に対応する移動コースを選択して、この移動コースに沿って視点を移動させるコース選択手段（１０１）と、を備える。【選択図】図１
2006059381.tif 000002
【特許請求の範囲】
【請求項１】
三次元仮想空間に配置された視点を移動してゲームを行うようにしたゲーム装置であって、前記三次元仮想空間内のある場面から分岐する複数の視点の移動コースを分岐条件と共に記憶する記憶手段と、操作手段からの操作信号に応じて画像を形成するデータ処理を行い、かつ前記視点からの映像を形成するための画像変換を行う画像処理手段と、前記複数の視点の移動コース中からゲーム成績に対応する移動コースを選択して、この移動コースに沿って前記視点を移動させるコース選択手段と、を備えるゲーム装置。
【請求項２】
三次元仮想空間に配置された視点を移動しながら、この空間上に定義される移動キャラクタに対する遊戯者の模擬射撃をシミュレートし、所定以上の模擬射撃が遊戯者から所定のキャラクタに行われた際に、このキャラクタを模擬死として攻撃対象のキャラクタから除外するように構成したゲーム装置であって、前記三次元仮想空間内のある場面から分岐する複数の視点の移動コースを分岐条件と共に記憶する記憶手段と、操作手段からの操作信号に応じて画像を形成するデータ処理を行い、かつ前記視点からの映像を形成するための画像変換を行う画像処理手段と、所定の時間内に模擬死に到ったキャラクタの程度をゲーム成績として算定し、前記複数の視点の移動コース中からゲーム成績に対応する移動コースを選択して、この移動コースに沿って前記視点を移動させるコース選択手段と、を備えるゲーム装置。
【請求項３】
前記複数のキャラクタを複数のゾーンに分けて配置し、各ゾーン毎にゾーン内のキャラクタに対して攻撃能力を定義するようにした、ことを特徴とする請求項２記載のゲーム装置。
【請求項４】
前記複数のゾーンのうち、視点からの距離が遠いゾーンほど優先的にキャラクタを出現させるようにした、ことを特徴とする請求項３記載のゲーム装置。
【請求項５】
各ゾーン内に配置されるキャラクタの数を制限した、ことを特徴とする請求項３又は４記載のゲーム装置。
【請求項６】
仮想カメラに向けてキャラクタが接近する状態をシミュレートし、キャラクタから仮想カメラに向けた所定の画像処理によって、操作者に対してゲームを終了させるための処理を行うようにした画像処理装置であって、複数のキャラクタの出現を複数のゾーンに分け、仮想カメラに最も近いゾーンのキャラクタの数を制限した、ことを特徴とする画像処理装置。
【請求項７】
三次元仮想空間内に配置された複数のキャラクタに対して仮想カメラを向けるようにした画像処理装置であって、前記仮想カメラの注視点を仮想カメラにより近いキャラクタに対して優先的に設定し、同じ優先度のキャラクタが複数存在する場合には、注視点をこれ等のキャラクタの中間位置に設定る、ことを特徴とする画像処理装置。
【請求項８】
三次元仮想空間内に配置された第１のキャラクタ位置と第２のキャラクタ位置とのずれ角に応じて仮想カメラの注視点の移動を制御する画像処理装置であって、前記ずれ角の値に応じて前記注視点の次回移動位置を設定する、ようにしたことを特徴とする画像処理装置。
【請求項９】
前記次回移動位置は、前記現在位置と前記移動先位置とを結ぶ線分上の内分点であり、前記内分点は前記ずれ角に応じて定められる、ことを特徴とする請求項８記載の画像処理装置。
【請求項１０】
前記注視点の次回移動量が前記ずれ角を変数とする関数によって設定される、ことを特徴とする請求項８又は９記載の画像処理装置。
【請求項１１】
前記ずれ角に対する仮想カメラの注視点の移動量に上限値と下限値を設けたことを特徴とする請求項１０記載の画像処理装置。
【請求項１２】
三次元仮想空間に配置された視点を移動しながら、この空間上に定義される移動キャラクタと遊戯者との間の闘いをシミュレートし、所定以上の模擬攻撃が遊戯者から所定のキャラクタに行われた際に、このキャラクタを模擬死として攻撃対象のキャラクタから除外するように構成したゲーム装置であって、前記三次元仮想空間内のある場面から分岐する複数の視点の移動コースを分岐条件と共に記憶する記憶手段と、操作手段からの操作信号に応じて画像を形成するデータ処理を行い、かつ前記視点からの映像を形成するための画像変換を行う画像処理手段と、前記複数の視点の移動コース中から、前記模擬死に到らなかったキャラクタに対応して所定の移動コースを選択し、この移動コースに沿って前記視点を移動させるコース選択手段と、を備えることを特徴とするゲーム装置。
【請求項１３】
コンピュータシステムに、請求項１乃至１２記載の画像処理を実現させるためのプログラムを記録した媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置に係わり、特にゲーム機に関するものである。
【背景技術】
【０００２】
近年、３次元ゲーム機と称される種類の画像処理装置が数多く提案されている。この画像処理装置はコンピュータによって形成される仮想空間内に種々のキャラクタを定義するとともに、遊技者からの操作情報をジョイスティック等の周辺機器を介して取り込んでキャラクタを移動させる等の画像処理を実現する。
【０００３】
この画像処理結果は、仮想カメラと称される３次元仮想空間からの視点から見た映像がテレビモニタを介して遊技者に表示される。
【０００４】
このような画像処理装置の一例として、画面に表示されるキャラクタに対する射撃の優劣を競うゲーム装置が存在する（例えば、セガ・エンタープライゼス製の「バーチャコップ」）。このゲーム装置では、仮想カメラが３次元空間上の予め定められたコースを移動しながら、特定のキャラクタをズームアップして表示したり、或いはキャラクタの回りに識別標識を表すことにより攻撃対象のキャラクタを遊技者が認識し易いように構成されていた。
【０００５】
このゲーム装置では、遊技者が画面に向けた銃のトリガーをオンすると銃が画面の走査線を検出するまでのタイミングを計算することにより、銃口が向いている画面上の座標を演算してキャラクタに対する着弾の有無を判定できるようにされていた。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、この種の画像処理装置には、次のような課題が存在する。第１に、仮想カメラが移動する仮想空間上のコースが予め定められており、仮想カメラの移動コースを多様化することの配慮はなされていない。一方、画面上に乗り物等を表示し遊技者が適宜コースを選択することにより、このコースを仮想カメラが移動するようにしたゲーム装置（株式会社セガ・エンタープライゼス製「レールチェイス２」）も存在するが、このゲーム装置では、コースの選択は遊技者の意志によるものであって、キャラクタに対する射撃の優劣等のゲーム成績をコースの選択に反映させることまでの配慮がない。
【０００７】
第２に、従来のゲーム装置では、射撃対象となる多数のキャラクタを視点に向けて順次移動させる際に、遊技者に対して効果的にキャラクタを出現させたり移動させたりすることの配慮がない。ゲームの品質や面白さを高めるために、いきおい、多くのキャラクタを仮想空間内に単に出現させたり移動させたりすると、ゲームの難易度が増して、ゲームの面白さを実現することが困難となる。
【０００８】
第３に、従来のゲーム装置では、キャラクタを多数表示するようにする際に、キャラクタを最も効果的に表示する視点を設定することの配慮がない。このような、効果的な視点が設定されなければ、複数のキャラクタを出現させたり、これらのキャラクタを移動させたりする際に遊技者に対して効果的な映像を与えることができない。
【課題を解決するための手段】
【０００９】
上記課題を達成するため、本発明に係わるゲーム装置は、三次元仮想空間に配置された視点を移動してゲームを行うようにしたゲーム装置において、上記三次元仮想空間内のある場面から分岐する複数の視点の移動コースを分岐条件と共に記憶する記憶手段と、操作手段からの操作信号に応じてゲームアルゴリズムを実行して対応する画像を形成するデータ処理を行い、かつ前記視点からの映像を形成するための画像変換を行う画像処理手段と、上記複数の視点の移動コース中からゲーム成績に対応する移動コースを選択して、この移動コースに沿って上記視点を移動させるコース選択手段と、を備える。
【００１０】
かかる構成によって、遊技者の技能レベルに応じたゲーム展開を図ることが可能となって好ましい。
【００１１】
また、上記画像処理手段は、三次元仮想空間内に定義される複数のキャラクタと遊技者との闘いをシミェレートするゲームアルゴリズムを実行し、上記コース選択手段は、遊技者が複数のキャラクタのうちの特定のキャラクタとの闘いに勝利したかどうかによって次に進む移動コースを決定する、ことを特徴とする。これによって、闘った相手（の強さや種類）に対応してゲーム展開が選択されるのでゲームが面白い。
【００１２】
また、上記複数のキャラクタを複数のゾーンに分けて配置し、各ゾーン毎にゾーン内のキャラクタに対して攻撃能力を定義するようにする、ことによって、ゲームの難易度を設定可能とし、遊技者がゲームを楽しめるようにすることが可能となる。
【００１３】
また、上記複数のゾーンのうち、視点からの距離が遠いゾーンほど優先的にキャラクタを出現させるようにする、ことでカメラ近傍に急に的が出現してゲームが難しくなることを回避することが可能となる。
【００１４】
また、各ゾーン内に配置されるキャラクタの数を制限する、ことで闘いの難易度が高くなることを回避可能である。
【００１５】
本発明の画像処理装置は、仮想カメラに向けてキャラクタが接近する状態をシミュレートし、キャラクタから仮想カメラに向けた所定の画像処理によって、操作者に対してゲームを終了させるための処理を行うようにした画像処理装置において、複数のキャラクタの出現を複数のゾーンに分け、仮想カメラに最も近いゾーンのキャラクタの数を制限した、ことを特徴とする。
【００１６】
かかる構成によって、画像処理の演算量の増大を抑制することが可能となる。また、シューティングゲーム装置においてはゲームの難易度が高くなることを回避可能である。
【００１７】
本発明の画像処理装置は、三次元仮想空間内に配置された複数のキャラクタに対して仮想カメラを向けるようにした画像処理装置において、上記仮想カメラの注視点を仮想カメラにより近いキャラクタに対して優先的に設定し、同じ優先度のキャラクタが複数存在する場合には、注視点をこれ等のキャラクタの中間位置に設定る、ことを特徴とする。
【００１８】
かかる構成とすることによってキャラクタを見易い画面が得られて好ましい。特に、格闘ゲームのような画面では相手がよく見えて好ましい。
【００１９】
本発明の画像処理装置は、三次元仮想空間内に配置されたキャラクタの現在位置とこのキャラクタが移動すべき移動先位置とのずれ角に応じて仮想カメラの注視点の移動を制御する画像処理装置において、上記ずれ角の値に応じて上記注視点の次回移動位置を設定する、ようにしたことを特徴とする。
【００２０】
かかる構成によって、キャラクタが急激に移動した場合でもカメラの注視点を滑らかに移動することが可能となって好ましい。
【００２１】
また、上記注視点の次回移動量が前記ずれ角を変数とする関数によって設定される、ことによって注視点移動の態様を定めることが可能となって好ましい。
【００２２】
また、上記注視点の次回移動量は、好ましくは、上記ずれ角の値が低い範囲内においては下限値に、上記ずれ角の値が高い範囲内においては上限値に、上記ずれ角の値が両範囲の中間の範囲内においてはずれ角に比例する値に、それぞれ設定する。これによって、ずれ角が少ない場合でもある程度の移動量を確保してキャラクタの移動先位置に注視点を所定時間内に位置させることが可能となる。また、移動量が大きすぎないようにしてカメラワークの滑らかさを確保することが可能となる。また、中間範囲ではずれ角に応じて素早く注視点を移動することが可能となる。
【００２３】
また、本発明の情報記録媒体は、記録しているプログラムによって、コンピュータシステムを上述したゲーム装置あるいは画像処理装置として動作させる。
【発明の効果】
【００２４】
以上説明したように、本発明のゲーム装置は、ゲームの成績に応じて次のコースが選択されるので遊技者の技能に合ったゲームが展開可能となる。
【００２５】
また、本発明のゲーム装置は、キャラクタの出現や各ゾーンにおけるキャラクタの数・能力を定義することができるので、ゲームの難易度を設定し易い。
【００２６】
また、本発明の画像処理装置は、キャラクタが見やすい位置になるように画面を形成するので、ゲームをやり易い。
【００２７】
また、本発明の画像処理装置は、仮想カメラの注視点をキャラクタの移動にスムースに追従させるので、好ましい。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の実施の形態について図面を参照して説明する。図１は、本発明に係る、アーケードゲームタイプのガンシューティングゲ−ムのゲーム装置の一実施例を示すブロック図である。このゲーム装置は基本的要素としてゲーム装置本体１０、入力装置１１、ＴＶモニタ１３、及びスピーカ１４を備えている。
【００２９】
入力装置１１は、ゲーム中に出現する敵を射撃する拳銃や機関銃、ライフル銃等のシューティング用の武器（以下、拳銃として説明する）である。拳銃はＴＶモニタ上の着弾点の走査スポット（電子ビームの光点）を読取る受光素子と、銃のトリガ操作に対応して動作するトリガスイッチとを含む。走査スポットの検知タイミングとトリガタイミングの信号は接続コードを介して後述するインタフェース１０６に送られる。ＴＶモニタ１３はゲーム展開の状況を画像表示するもので、このＴＶモニタの代わりにプロジェクタを使ってもよい。
【００３０】
ゲーム装置本体１０は、ＣＰＵ（中央演算処理装置）１０１を有するとともに、ＲＯＭ１０２、ＲＡＭ１０３、サウンド装置１０４、入出力インターフェース１０６、スクロールデータ演算装置１０７、コ・プロセッサ（補助演算処理装置）１０８、地形デ−タＲＯＭ１０９、ジオメタライザ１１０、形状デ−タＲＯＭ１１１、描画装置１１２、テクスチャデ−タＲＯＭ１１３、テクスチャマップＲＡＭ１１４、フレームバッファ１１５、画像合成装置１１６、Ｄ／Ａ変換器１１７を備えている。なお、本発明における記憶媒体としては、前記ＲＯＭ１０２としての、ハードディスク、カートリッジ型のＲＯＭ、ＣＤ−ＲＯＭの他公知の各種媒体の他、通信媒体（インターネット、各種パソコン通信網）をも含むものであってもよい。
【００３１】
ＣＰＵ１０１は、バスラインを介して所定のプログラム等を記憶したＲＯＭ１０２、デ−タを記憶するＲＡＭ１０３、サウンド装置１０４、入出力インターフェース１０６、スクロールデータ演算装置１０７、コ・プロセッサ１０８、及びジオメタライザ１１０に接続されている。ＲＡＭ１０３はバッファ用として機能させるもので、ジオメタライザ１１０に対する各種コマンドの書込み（オブジェクトの表示など）、変換マトリクス演算時のマトリクス書込み等が行われる。
【００３２】
入出力インターフェース１０６は前記入力装置１１（拳銃）に接続されている。拳銃１１からの走査スポットの検知信号、拳銃の引金を引いたことを示すトリガ信号、ＴＶモニタ上の走査電子ビームの現在の座標（Ｘ，Ｙ）位置、ターゲットの位置から、拳銃の発射の有無、着弾場所、発射数等を判別し、対応する各種フラグをＲＡＭ１０３内の所定位置に設定する。
【００３３】
サウンド装置１０４は電力増幅器１０５を介してスピーカ１４に接続されており、サウンド装置１０４で生成された音響信号が電力増幅の後、スピーカ１４に与えられる。
【００３４】
ＣＰＵ１０１は本実施例では、ＲＯＭ１０２に内蔵したプログラムに基づいてゲームストーリーの展開、ＲＯＭ１０９からの地形デ−タ、又は形状データＲＯＭ１１１からの形状データ（「敵のキャラクタ等のオブジェクト」、及び、「風景、建物、屋内、地下道等のゲーム背景」等の３次元データ）を読み込んで、三次元仮想空間のシチュエーション設定、入力装置１１からのトリガ信号に対するシューティング処理等、を行うようになっている。
【００３５】
仮想ゲーム空間内の各種オブジェクトは、３次元空間での座標値が決定され後、この座標値を視野座標系に変換するための変換マトリクスと、形状デ−タ（建物、地形、屋内、研究室、家具等）とがジオメタライザ１１０に指定される。コ・プロセッサ１０８には地形デ−タＲＯＭ１０９が接続され、したがって、予め定めたカメラの移動コース等の地形デ−タがコ・プロセッサ１０８（及びＣＰＵ１０１）に渡される。また、コ・プロセッサ１０８は、シューティングの命中の判定やカメラ視線とオブジェクト間の偏差、視線移動の制御演算等を行うものであり、そして、この判定や計算時に、主に、浮動小数点の演算を引き受けるようになっている。この結果、コ・プロセッサ１０８によりオブジェクトへの射撃の当たり判定やオブジェクトの配置に対する視線の移動位置の演算が実行されて、その結果がＣＰＵ１０１に与えられるようになされている。なお、当りの判定のアルゴリズムは、例えば、特開平８−３６６５１号公報等の公知の技術を使用可能である。
【００３６】
ジオメタライザ１１０は形状デ−タＲＯＭ１１１及び描画装置１１２に接続されている。形状デ−タＲＯＭ１１１には予めポリゴンの形状デ−タ（各頂点からなる建物、壁、廊下、室内、地形、背景、主人公、味方、複数種類の敵（例えばゾンビ）等の３次元デ−タ）が記憶されており、この形状デ−タがジオメタライザ１１０に渡される。ジオメタライザ１１０はＣＰＵ１０１から送られてくる変換マトリクスで指定された形状デ−タを透視変換し、３次元仮想空間での座標系から視野座標系に変換したデ−タを得る。
【００３７】
描画装置１１２は変換した視野座標系の形状デ−タにテクスチャを貼り合わせフレームバッファ１１５に出力する。このテクスチャの貼り付けを行うため、描画装置１１２はテクスチャデ−タＲＯＭ１１３及びテクスチャマップＲＡＭ１１４に接続されるとともに、フレームバッファ１１５に接続されている。なお、ポリゴンデータとは、複数の頂点の集合からなるポリゴン（多角形：主として３角形又は４角形）の各頂点の相対ないしは絶対座標のデータ群を云う。前記地形データＲＯＭ１０９には、カメラがゲームストーリーに沿って仮想空間を移動する上で足りる、比較的粗く設定されたポリゴンのデータが格納されている。これに対して、形状データＲＯＭ１１１には、敵、背景等の画面を構成する形状に関して、より緻密に設定されたポリゴンのデータが格納されている。
【００３８】
スクロールデ−タ演算装置１０７は文字などのスクロール画面のデ−タを演算するもので、この演算装置１０７と前記フレームバッファ１１５とが画像合成装置１１６及びＤ／Ａ変換器１１７を介してＴＶモニタ１３に至る。これにより、フレームバッファ１１５に一時記憶されたオブジェクト（敵）、地形（背景）などのポリゴン画面（シミュレーション結果）と、その他の文字情報（例えば、遊戯者側のライフカウント値、ダメージ点等）のスクロール画面とが指定されたプライオリティにしたがって合成され、最終的なフレーム画像デ−タが生成される。この画像デ−タはＤ／Ａ変換器１１７でアナロク信号に変換されてＴＶモニタ１３に送られ、シューティングゲ−ムの画像がリアルタイムに表示される。
【００３９】
次に、ゲームの全体の流れを図２を参照して説明する。同図はゲームの概略を説明するフローチャートであり、移動モード、ゲームモードに大別される。移動モード（Ｓ１０）では、予めプログラムされたゲームストーリーに従って、仮想カメラがコンピュータシステム内に形成される仮想ゲーム空間を移動し、種々のシチュエーションを画面に映し出す。
【００４０】
移動中に敵に遭遇すると（Ｓ２０）、シューティングゲームを展開するゲームモードに移行する（Ｓ３０）。敵を撃滅すると、カメラを移動し、他のシチュエーションに移動でき（Ｓ４０；Ｙｅｓ）、更に、ゲームを展開することが可能である（Ｓ１０〜Ｓ３０）。敵を撃滅することができず、主人公が敵に負けた場合や最後のゲームをクリアした場合には（Ｓ４０；Ｎｏ）、ゲームの終了が判定される。例えば、主人公のダメージが少ない場合（Ｓ５０；Ｎｏ）には、他のシチュエーションのゲームモード（Ｓ１０〜Ｓ３０）や負けたゲームモードに戻ることが可能である。また、いわゆるゲームのセクションに設定された時間のタイムアップやダメージ値等のゲームパラメータがゲーム終了条件を満たす場合には、ゲームが終了となる（Ｓ５０；Ｙｅｓ）。
【００４１】
次に、仮想ゲーム空間内のゲーム展開（カメラ移動）に関する改良について説明する。
【００４２】
従来のゲームでは、コースの分岐点におけるコース選択を遊技者の好みによって決定していた。例えば、上述した「レールチェイス２」では、単に、遊技者が看板を撃ち、命中したかどうかの判定結果によっている。これに対し、この実施の形態では、複数のキャラクタ（敵）に対する射撃の成績やどのキャラクタを倒したか等のゲーム展開から得られる情報（ゲーム成績、遊技者のキャラクタの好み等）によって次のゲーム展開の難易度や出現キャラクタを加味した多様なコースが選択可能とされる。
【００４３】
図３は、遊技者が敵のいる建物内を移動し、敵をシューティングして先に進む例を示す説明図である。同図中、敵は丸印で、視線方向はカメラの向きで示されている。カメラは遊技者の視点に相当する。カメラが三次元仮想空間に配置された建物の入口を入ると、一階ホールにそこに敵１及び２がいる。この敵はいわゆるゾンビであり、図４に示すように、当初横たわっていた死体が立上がって、遊技者を襲ってくる。この位置で、シューティングを行って敵を倒す。敵１及び２は強さが異なる。敵１は比較的に被弾数が少なくても倒れる。敵２は頑強で多数命中させないと倒れない。また、敵１及び２は、それぞれウィークポイントをいくつか持っており、各ウィークポイントにダメージ度が設定されている。ウィークポイントに命中させるとダメージ点が加算され、所定値を越えると、撃たれた敵は倒れる。所定時間内に敵を倒せないと敵に襲われて、遊技者のダメージ点が増加する。ゲーム展開によって遊技者のダメージ点は増減する。
【００４４】
これを換言すると次のとおりである。敵の種類に応じて、各々の敵は体力（ヒットポイント）を頭部、胴部、手、脚等に持っている。敵毎にこれらの体力を一つ以上の箇所に適宜設定でき、かつ、各部毎に体力を変えることができる。各部に着弾するとダメージ点が体力から減算される。各部の合計残り体力が演算されて、これが所定値以下に到った際に、この敵を模擬死として扱うことができる。さらに、或箇所の部分の体力値が所定値以下になったときに、その部分を他の部分から離散させる画像処理を行うようにすることもできる。このように体力値を多彩に設定できることから、ある敵に着弾が複数回あってもなかなか敵を倒せない（模擬死）が、一方、ある敵は容易に倒れる等の多様性を持たせることができる。また、頭部への着弾はダメージ点を多くし、他の箇所への着弾はダメージ点が少ない等の多様性を実現することもできる。
【００４５】
なお、ゲーム成績とは、所定時間内における遊戯者がいかなる敵を倒したか、及び／又は、どれだけの数の敵を倒したかによって定まる遊戯者の射撃能力を定量的に表したものである。
【００４６】
遊技者が第１の関門で難しい敵２を倒すと、より高い射撃技能や素早い判断等を要する一階コースが選択され、カメラは右方向に移動する。すなわち、敵１が倒れなかった（敵１が死ななかった）ことにより、このコースが展開される。このコースでは、例えば、コース途中で二階の敵が手すりを越えて上から襲ってくる。また、奥の扉を開けるとそこに敵がいる。これ等の敵を倒しながら、遊技者は先に進む。
【００４７】
遊技者が第１の関門で敵１を倒すと、図５に示すように、比較的に易しい二階コースが選択される。このコースでは見えている敵に近づくようにして進むので、射撃し易い。射撃になれたところで二階の扉を開けると、そこに敵がいる。
【００４８】
この例では、２つの選択コースを例にとって説明したが、ゲーム成績や遊技者の好みに対応してより多様なコースを選択可能とすることができる。このように、コースの選択に際して、どの敵を倒せたか倒せなかったかの遊戯者の技量やゲーム成績を反映させることができる。換言すれば、コースの選択に難易度を持たせることが可能となる。
【００４９】
次に、ゲームモードにおける改良について説明する。カメラは移動モード中は予め定められた軌道上を決められた位置及び角度で進行する。敵が出現すると、ゲームモードに切り替る。
【００５０】
ゲームモードでは、図６さに示すように、シューティングを展開するエリアが、カメラ位置を中心にして、攻撃ゾーン、待機ゾーン、出現ゾーン、の３つに区分されている。攻撃ゾーンにいる敵は遊技者を襲ってくる。待機ゾーンの敵は攻撃ゾーンの敵が倒されると、攻撃ゾーンに移動して遊技者を襲う。敵は出現ゾーンに現れて、待機ゾーンに移動してくる。ここで、待機ゾーン、攻撃ゾーンの敵の数はゲームシーンの難易度に応じて一定数に制限される。出現ゾーンの敵の数は特に制限されない。
【００５１】
例えば、図７に示すように、待機ゾーンの敵の数を２まで、攻撃ゾーンの敵の数を２までとする。同図において、敵は近い位置から離れる方向にＥ1〜Ｅnによって表されている。敵の数はゲームシーンに応じて予めプログラムされている。また、図中の矢印は敵の進行方向を表している。出現ゾーンで現れた敵はカメラ方向に向って進むが、待機ゾーン内に２体いる場合は待機ゾーンの外で待つ。待機ゾーンに空きができた場合は待機ゾーンに進む。待機ゾーン中の敵はカメラに向って進むが、攻撃ゾーン内に２体いる場合は攻撃ゾーンの外側で待つ。攻撃ゾーンが空くと攻撃ゾーンに進む。攻撃ゾーン中の敵はカメラに向って進み、カメラからある距離にまで近づくと遊技者を攻撃する。上述したように、カメラ近傍のゾーンの敵の数を制限することにより、敵の数が増えてゲームの難易度が増すことを抑制し、遊技者の負担を軽くすることができる。
【００５２】
敵が今どこにいるかを判るようにするために、エネミーフラグ配列Ｅ［ｎ］が用意される。図８（ａ）は、この様子を示すものであり、敵が位置Ｅ［ｎ］にいるかどうかが、フラグの値によって示される。すなわち、フラグの値が「１」のときは敵が存在し、「０」のときは敵が存在しないことを示す。フラグ配列Ｅ［ｎ］に対応して仮想空間内に敵のキャラクタが配置され、図示しないルーチンでその動き等が制御される。また、図８（ｂ）に示すように、攻撃エリアの敵が攻撃状態かどうかを示す攻撃フラグＡ［ｎ］も用意される。フラグＡ［ｎ］が「１」のときは攻撃状態を、「０」のしときは非攻撃状態を示す。また、敵の各々には、カメラ位置から遠ざかる方向にＩＤ番号を付すようにする。
【００５３】
図９は、ゲームモード（Ｓ３０）における処理を説明するフローチャートである。カメラが仮想空間内を移動して敵に出くわすと、シーンに予めプログラムされている種類及び数の敵を出現させる処理を行う。この処理の具体例（図１０）については後述する（Ｓ３０２）。遊技者は出現した敵をシュート（射撃）することができる。この結果が判定され、射撃されて消滅すべき敵には当りフラグが設定される（Ｓ３０４）。空いている位置あるいは消滅した位置に後ろの敵を進めるべく、敵の移動処理を行う。この処理は図１１を参照して後に説明される（Ｓ３０６）。エリア内の敵のＩＤをワールド座標系にてカメラから遠い方に向ってＩＤ番号が増加するようにソートする。すなわち、Ｅ［３］以降のフラグ、ＩＤは、ルーチンの周期（１／６０秒）毎に、カメラからの距離によって（画面に表示されない敵も含む）近い順にソートされる。（Ｓ３０８）。仮想カメラの向き（視線方向）を敵の配置や攻撃状態に対応して遊技者が判り易いように定める。この定め方は後に図１１を参照して説明される（Ｓ３１０）。
【００５４】
その後ゲームが継続かどうかが判別される。敵が残っている等して、まだ闘いが終っていない場合には（Ｓ３１２；Ｙｅｓ）、ゲームストーリーのプログラムに基づいて敵を出現するかどうかを判別する（Ｓ３１４）。敵を出現すべき場合は（Ｓ３１４；Ｙｅｓ）、敵を出現させる（Ｓ３０２）。敵を出現すべき場合は（Ｓ３１４；Ｙｅｓ）、敵を出現させない場合には（Ｓ３０２；Ｎｏ）、残りの敵に対するシューティング結果の判別に移行し（Ｓ３０４）、ステップ３０６〜ステップ３１０を繰返す。ゲームの終了が判別されると（Ｓ３１２；Ｎｏ）、既述ステップ４０に戻る。そして、次のゲームシーンに移る移動モードに戻るかどうか（Ｓ４０）、ゲーム終了か（Ｓ５０）、が判別される。
【００５５】
図１０は、この敵の出現処理の例を説明するフローチャートである。攻撃ゾーンには直接敵を出現させないのが望ましいので、まず、変数ｎに、ｎ＝３を設定し（Ｓ３０２ａ）、待機ゾーンの最初のＥ［３］の位置に敵がいるかどうか、フラグＥ［３］の値を判別する（Ｓ３０２ｂ）。敵が存在しない場合には、フラグ配列のＥ［３］に１を設定し、ＩＤ番号に３を設定して敵を出現させる（Ｓ３０２ｃ）。また、Ｅ［３］の位置に敵がいる場合（Ｓ３０２；Ｎｏ）には、次の位置に敵がいるかどうかを判別するべく、ｎを「１」増加して「４」とする（Ｓ３０２ｄ）。この場合のｎは（＝４）最大値ではないので（Ｓ３０２ｅ）、Ｅ［４］が「０」かどうかを判別する（Ｓ３０２ｂ）。「０」であれば、敵を設定（出現）する処理（Ｓ３０２ｃ）を、存在すれば次の位置の敵の存在を確認する（Ｓ３０２ｂ，Ｓ３０２ｄ）。このような処理を繰返す（Ｓ３０２ｂ〜Ｓ３０２ｅ）。予め各シーン毎に設定されている敵の数ＭＡＸに至ると（Ｓ３０２ｅ）、ＩＤを「−１」に設定する。「−１」に設定された場合は、敵は出現しないようになされる（Ｓ３０２ｆ）。
【００５６】
図１１は、敵の移動処理の例を説明するフローチャートである。
【００５７】
ある敵をカメラに向って移動するかどうかは、まず、その敵に付されているＩＤが低い順番から判別を行う。図７に示すように、敵の数を待機ゾーンに２名、攻撃ゾーンに２名と定めた場合、敵のＩＤが「４」以下であるかどうかを判別する（Ｓ３０６ａ）。「４」以下である場合には、待機ゾーン、攻撃ゾーンに進み得る（Ｓ３０６ａ；Ｙｅｓ）。変数ｎを「１」に設定し（Ｓ３０６ｂ）、配列Ｅ［１］が「０」かどうかを判別する（Ｓ３０６ｃ）。「０」の場合、攻撃ゾーンのＥ［１］の位置が空いており、この位置に進み得る（Ｓ３０６ｃ；Ｙｅｓ）。現在の順番の位置Ｅ［ＩＤ］を空けてＥ［ｎ］に移動する。この敵のＩＤを「１」に変更する（Ｓ３０６ｄ）。
【００５８】
配列Ｅ［１］が「０」の場合、攻撃ゾーンのＥ［１］の位置は空いていない。この位置に進むことはできない（Ｓ３０６ｃ；Ｎｏ）。次の位置の空きを判別する（Ｓ３０６ｅ、Ｓ３０６ｆ、Ｓ３０６ｃ）。空いている場合には、入替えを行う（Ｓ３０６ｄ）。ｎが「３」になると、攻撃ゾーンの空きはないので（Ｓ３０６）、次のサイクルで、待機ゾーンの空きの判別を行う。
【００５９】
ＩＤが「５」以上の場合は、待機ゾーンへの移動が可能である（Ｓ３０６ａ；Ｎｏ）。配列Ｅ（３）及びＥ（４）が共に「１」であるとき（Ｓ３０６ｇ；Ｙｅｓ）、待機ゾーンは空いていないので移動は行えない。この場合、出現ゾーンで待機することになる（Ｓ３０６ｈ）。配列Ｅ（３）及びＥ（４）が共に「１」ではないとき（Ｓ３０６ｇ；Ｎｏ）、待機ゾーンに空きがある。ステップ３０６ｄと同様の番号の置換え処理を行い、当該敵を待機ゾーンに進める（Ｓ３０６ｉ）。敵の移動を行ったので、既述ＩＤソート（Ｓ３０８）を行う。
【００６０】
このようにして、ＩＤが３又は４の敵は攻撃ゾーンに、ＩＤが５以上の敵は待機ゾーンに移動可能である。移動後は出現ゾーンの敵のＩＤがソートされる（Ｓ３０８）。
【００６１】
ところで、仮想カメラは三次元仮想空間内をプログラムに従って移動し、カメラの視線は、図１２に示すように、空間内のある点（注視点）を向くように設定され、注視点が表示画面の中央となるように画像を形成する。
【００６２】
図１３は、仮想カメラの視線方向の敵の状況に対応して制御する例を説明するフローチャートである。
【００６３】
まず、攻撃ゾーンの敵Ｅ1及びＥ2が攻撃を仕掛けているかどうかを、配列Ａ［ｎ］の値で判別する（Ｓ３１０ａ）。二人の敵が同時に攻撃を仕掛ける場合には（Ｓ３１０ａ；Ｙｅｓ）、カメラの注視点は敵Ｅ1及びＥ2の中間の位置に設定する（Ｓ３１０ｂ，Ｓ３１０ｕ）。敵Ｅ1のみが攻撃状態の場合には（Ｓ３１０ｃ；Ｙｅｓ）、カメラの注視点は敵Ｅ1の位置とする（Ｓ３１０ｄ，Ｓ３１０ｔ）。敵Ｅ2のみが攻撃状態の場合には（Ｓ３１０ｅ；Ｙｅｓ）、カメラの注視点は敵Ｅ2の位置とする（Ｓ３１０ｆ，Ｓ３１０ｔ）。攻撃ゾーンに敵Ｅ1及びＥ2が共に存在するが、両方とも攻撃状態ではない場合（Ｓ３１０ｇ）、カメラの注視点は、敵Ｅ1及びＥ2の中間点とする（Ｓ３１０ｈ，Ｓ３１０ｕ）。攻撃ゾーンには敵Ｅ1のみが存在するが、攻撃状態ではない場合（Ｓ３１０ｉ）、カメラの注視点は、敵Ｅ1の位置とする（Ｓ３１０ｊ，Ｓ３１０ｔ）。攻撃ゾーンには敵Ｅ2のみが存在するが、攻撃状態ではない場合（Ｓ３１０ｋ）、カメラの注視点は、敵Ｅ2の位置とする（Ｓ３１０ｌ，Ｓ３１０ｔ）。攻撃ゾーンに敵が存在せず（例えば、敵Ｅ1及びＥ2を倒した場合）、待機ゾーンに敵Ｅ3及びＥ4が存在する場合（Ｓ３１０ｍ）、カメラの注視点を敵Ｅ3及びＥ4の中間点に設定する（Ｓ３１０ｎ，Ｓ３１０ｕ）。攻撃ゾーンに敵が存在せず、待機ゾーンには敵Ｅ3のみが存在する場合（Ｓ３１０ｏ）、カメラの注視点は敵Ｅ3の位置に設定される（Ｓ３１０ｐ，Ｓ３１０ｔ）。攻撃ゾーンに敵が存在せず、待機ゾーンには敵Ｅ4のみが存在する場合（Ｓ３１０ｑ）、カメラの注視点は敵Ｅ4の位置に設定される（Ｓ３１０ｒ，Ｓ３１０ｔ）。
【００６４】
攻撃ゾーン及び待機ゾーンに敵がいない場合（Ｓ３１０ｑ；Ｎｏ）、この場合には敵は出現ゾーンであり、急に攻めてこないのでカメラの注視点は移動モードにおけるプログラムで予め定められたコースのカメラ位置に設定する（Ｓ３１０ｓ）。
【００６５】
このようにして、カメラは攻めてくる敵を優先的に画面に映す。また、二人の敵が攻めてくるときは、カメラの視線（注視点）を両者の中間位置に、一方の敵が攻めてくる場合には、カメラの注視点はその敵を向く。従って、シューティングの際に遊技者に見易い画面が得られる。
【００６６】
次に、カメラの視線（注視点）の移動制御の改良について説明する。複数の敵が攻めてくる場合、敵の移動に視点を合わせて、あるいは視点を切替えて敵を撃たなければならない。例えば、或敵を倒した際他の攻撃すべき敵に仮想視点（仮想カメラ）の注視点を移動させること、或いは一つの敵をカメラが追う場合である。すなわち、図１４に示すように、現在の注視点ＩntRから敵位置の注視点であるエネミー注視点ＩntEに視線を移動しなければならない。この際、視点の移動を急に行うと、カメラワークの滑らかさが損われる。また、ゆっくりカメラの回転を移動したのでは、時間がかかり、ゲームの適当なスピード感が得られない。
【００６７】
そこで、現在の注視点ＩntRと切替えるべき注視点ＩntEとの角度差Ｄifに応じて、両注視点の間のＮ：１の内分点に実際の注視点ＩntRnを設定するようにする。更に、移動した注視点ＩntRnを現在の注視点としてエネミー注視点との新たな角度Ｄif’を求め、Ｎ点を定めることを繰返してカメラの視点をエネミー注視点に移動する。従って、カメラの視点がエネミー注視点に近づくと視点の移動（画面の移動）は緩やかとなる。
【００６８】
仮想空間における角度差Ｄifは、次式によって定る。
【００６９】
Ｄif＝ｃｏｓ-1（ＶRx・ＶEx＋ＶRy・ＶEy＋ＶRz・ＶEz）／（（ＶRx2＋ＶRy2＋ＶRz2）1/2・（ＶEx2＋ＶEy2＋ＶEz2）1/2）
また、注視点ＩntRと注視点ＩntEとをＮ：１に内分する注視点ＩntRnは、そのｘ，ｙ，ｚの座標値をＩntRnx，ＩntRny，ＩntRnzとすると、ＩntRnx＝（１／（１＋Ｎ））・ＩntRx＋（Ｎ／（１＋Ｎ））・ＩntExＩntRny＝（１／（１＋Ｎ））・ＩntRy＋（Ｎ／（１＋Ｎ））・ＩntEyＩntRnz＝（１／（１＋Ｎ））・ＩntRz＋（Ｎ／（１＋Ｎ））・ＩntEzここで、Ｃamは現在のカメラ位置であり、Ｃamxはそのｘ座標値、Ｃamyはそのｙ座標値、Ｃamzはそのｚ座標値である。ＩntRは現在の注視点の位置、ＩntRxはそのｘ座標値、ＩntRyはそのｙ座標値、ＩntRzはそのｚ座標値である。ＩntEはエネミー注視点の位置、ＩntExはそのｘ座標値、ＩntEyはそのｙ座標値、ＩntEzはそのｚ座標値である。ＩntEはエネミー注視点の位置、ＩntExはそのｘ座標値、ＩntEyはそのｙ座標値、ＩntEzはそのｚ座標値である。
【００７０】
また、ＶRx＝ＩntRx−Ｃamx、ＶRy＝ＩntRy−Ｃamy、ＶRz＝ＩntRz−Ｃamz、ＶEx＝ＩntEx−Ｃamx、ＶEy＝ＩntEy−Ｃamy、ＶEz＝ＩntEz−Ｃamz、である。
【００７１】
図１５は、角度Ｄifに対する内分点Ｎ（近付き度合）の設定例を示している。
【００７２】
同図において、近付き度合関数Ｎは、Ｎ＝Ｆ（Ｄif）で表される。（１）の領域においては、ある程度の近付き度合を設定しないと、エネミー注視点に到達しないため、角度Ｄifが比較的に狭い場合には近付き度合Ｎが下限値に設定される。（２）の領域においては、角度Ｄifに比例した近付き度Ｎを設定する。（３）の領域においては近付き度Ｎの上限値に設定される。近付き度Ｎが大きすぎるとカメラワークの滑らかさが損われるのでＮの上限を保障する。
【００７３】
このようにカメラの視点の移動を制御すると、エネミー注視点が急激に移動した場合でも真の注視点は滑らかに移動するのでスムースなカメラワークを実現することが可能となる。
【００７４】
また、エネミー注視点が画面（ワールド座標系における表示領域）からはみ出してしまう場合には、近付き度合を大きくすることで短時間で画面内にエネミーを位置させることが可能である。
【００７５】
また、エネミー注視点が比較的に画面中央に近い場合は近付き度合を小さくすることでエネミーが画面中央に寄って来ないようにすることが可能となる。
【００７６】
内分点毎のカメラ注視点の移動は、１フレーム或いは複数フレーム行うことができる。内分点の上限値及び下限値は、図１５に記載されている。
【図面の簡単な説明】
【００７７】
【図１】本発明の一実施例に係るゲーム装置の概略構成を示すブロック図である。
【図２】同実施例のＣＰＵが行う全体処理を概略敵に説明するフローチャートである。
【図３】コース選択の例を説明する説明図である。
【図４】ゲームにおけるキャラクタ（敵）の例を説明する説明図である。
【図５】コース選択の例を説明する説明図である。
【図６】ゲームの闘いにおけるゾーン区分の例を説明する説明図である。
【図７】各ゾーンにおけるキャラクタの配置例を説明する説明図である。
【図８】同図（ａ）は、キャラクタの存在の有無を示すフラグの配列を説明する説明図である。同図（ｂ）は、キャラクタが攻撃状態にあるかどうかを示すフラグを説明する説明図である。
【図９】ゲームモードにおける展開手順を説明するフローチャートである。
【図１０】敵の出現処理の例を説明するフローチャートである。
【図１１】攻撃ゾーン及び待機ゾーンへの敵の移動処理の例を説明するフローチャートである。
【図１２】カメラ（視点）の注視点を説明する説明図である。
【図１３】カメラの視点制御の例を説明するフローチャートである。
【図１４】カメラの視点（注視点）を内分点に移動する例を説明する説明図である。
【図１５】近付き度合Ｎの関数例を説明するグラフである。
【符号の説明】
【００７８】
１０ゲーム装置本体
１１入力装置
１２出力装置
１３表示装置
１０１ＣＰＵ（シミュレーション装置）
１０２ＲＯＭ（シミュレーション装置）
１０３ＲＡＭ（シミュレーション装置）
１０７スクロールデ−タ演算装置
１０９地形デ−タＲＯＭ（シミュレーション装置）
１１０ジオメタライザ（シミュレーション装置）
１１１形状デ−タＲＯＭ（シミュレーション装置）
１１２描画装置（シミュレーション装置）
１１５フレームバッファ
１１６画像合成装置
【図１】
2006059381.tif 000003
【図２】
2006059381.tif 000004
【図３】
2006059381.tif 000005
【図４】
2006059381.tif 000006
【図５】
2006059381.tif 000007
【図６】
2006059381.tif 000008
【図７】
2006059381.tif 000009
【図８】
2006059381.tif 000010
【図９】
2006059381.tif 000011
【図１０】
2006059381.tif 000012
【図１１】
2006059381.tif 000013
【図１２】
2006059381.tif 000014
【図１３】
2006059381.tif 000015
【図１４】
2006059381.tif 000016
【図１５】
2006059381.tif 000017
【手続補正書】
【提出日】平成17年11月7日(2005.11.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像処理の演算を行う演算処理装置と、ゲームプログラムと仮想空間における視点とキャラクタのデータを記憶する記憶装置と、遊戯者の操作に伴う入力信号を前記演算処理装置に入力する入力装置と、を備える画像処理装置において、
前記演算処理装置は、
前記記憶装置に記憶された前記ゲームプログラム、前記視点と前記キャラクタ
のデータを読み込む手段と、
前記仮想空間に、前記視点と、前記複数のキャラクタを配置する手段と、
前記視点を前記複数のキャラクタに向けるように処理する手段と、
前記仮想空間内に配置された第１のキャラクタに対して、前記視点の注視点を現在位置に設定する手段と、
前記仮想空間内に配置された第２のキャラクタに対して、前記視点の注視点を目的位置に設定する手段と、
前記注視点の現在位置と前記目的位置とのずれ角を演算する手段と、
このずれ角に応じて、前記注視点の次回移動位置を演算する手段と、
前記視点の注視点を前記現在位置から前記次回移動位置まで移動させる手段と、
前記次の移動位置を前記注視点の新たな現在位置に設定し、前記目的位置とのあらたなずれ角から繰り返し次の移動位置を演算する手段と、
前記注視点を前記あらたな現在位置から前記目的位置まで移動させる手段と、
を備える画像処理装置。
【請求項２】
前記次回移動位置は、前記現在位置と前記移動先位置とを結ぶ線分上でＮ：１に設定される内分点であり、前記Ｎは前記ずれ角に応じて定められる、ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記Ｎが前記ずれ角を変数とする関数によって設定される、ことを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記ずれ角に応じて、前記Ｎに上限値と下限値を設けたことを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記視点と注視点を結んだ視線を移動させる速度を、前記注視点の新たな現在位置が目的位置に近づくにつれて穏やかになるように設定する手段をさらに有する請求項１乃至４の何れか１項記載のゲーム装置。
【請求項６】
画像処理の演算を行う演算処理装置と、ゲームプログラムと仮想空間における視点とキャラクタのデータを記憶する記憶装置と、遊戯者の操作に伴う入力信号を前記演算処理装置に入力する入力装置と、を備える画像処理装置による画像処理方法において、
前記演算処理装置は、
前記記憶装置に記憶された前記ゲームプログラム、前記視点と前記キャラクタ
のデータを読み込む処理と、
前記仮想空間に、前記視点と、前記複数のキャラクタを配置する処理と、
前記視点を前記複数のキャラクタに向けるような処理と、
前記仮想空間内に配置された第１のキャラクタに対して、前記視点の注視点を現在位置に設定する処理と、
前記仮想空間内に配置された第２のキャラクタに対して、前記視点の注視点を目的位置に設定する処理と、
前記注視点の現在位置と前記目的位置とのずれ角を演算する処理と、
このずれ角に応じて、前記注視点の次回移動位置を演算する処理と、
前記視点の注視点を前記現在位置から前記次回移動位置まで移動させる処理と、
前記次の移動位置を前記注視点の新たな現在位置に設定し、前記目的位置とのあらたなずれ角から繰り返し次の移動位置を演算する処理と、
前記注視点を前記あらたな現在位置から前記目的位置まで移動させる処理と、
を実行する画像処理方法。
【請求項７】
コンピュータシステムに、請求項１乃至５の何れか１項記載の前記各手段を実行させるための、コンピュータシステムが読み取り可能なプログラムを記録した記録媒体。