(57)【特許請求の範囲】
【請求項１】
画像制御手段によって実行される画像制御ステップを、記憶手段に記憶されたゲームプログラムに基づいて実行するように構成された画像処理方法において、
この画像制御ステップは、
仮想三次元空間内に仮想視点と複数のオブジェクトを設定するステップと、
前記仮想視点を仮想空間内で移動させるステップと、
前記仮想視点の視野領域内に存在する前記複数のオブジェクトの中から、予め前記ゲームプログラムによって設定されたターゲットを求めるステップと、
前記ターゲットと仮想視点との間の距離を演算するステップと、
前記ターゲットの数が、予め定められた指定数以上であるか否かを判定するステップと、
前記ターゲットの数が予め定められた数以上の場合に、当該ターゲットと前記仮想視点間の最大距離と平均距離とが、どれだけ離れているかを演算し、この演算結果を基に前記仮想視点の移動速度を求めるステップと、
移動する仮想視点から、当該仮想空間内に配置された複数のオブジェクトを捉え、これを表示手段の画面に、前記仮想視点から捉えた視界の様子として表示するステップと
を備えて構成されてなる画像処理方法。
【請求項２】
前記画像制御ステップは、前記ターゲットの各々に対して、予め重み係数を割り当てるステップをさらに備え、
前記移動速度を求めるステップにおいては、前記ターゲットに予め割り当てられた重み係数を考慮して前記仮想視点の移動速度を求める、請求項１記載の画像処理方法。
【請求項３】
前記画像処理方法が、前記仮想視点を予め定められた経路上を移動させる場合の処理方法であって、
前記画像制御ステップは、前記ゲームプログラムに基づいて前記経路上の所定区間毎に前記仮想視点の速度の変化点を複数設定するステップと、当該変化点の区間毎に前記仮想視点の移動速度の最大値を設定するステップとをさらに備え、
前記移動速度を求めるステップにおいては、前記仮想視点の移動速度の最大値を考慮して前記仮想視点の移動速度を求める、請求項１記載の画像処理方法。
【請求項４】
請求項１に記載の画像処理方法をコンピュータに実行させる画像処理プログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項５】
記憶手段に記憶されたゲームプログラムに基づいて、画像制御手段が画像処理を実行するように構成された画像処理装置において、
仮想三次元空間内に仮想視点と複数のオブジェクトを設定する手段と、
前記仮想視点を仮想空間内で移動させる手段と、
前記仮想視点の視野領域内に存在する前記複数のオブジェクトの中から、予め前記ゲームプログラムによって設定されたターゲットを求める手段と、
前記ターゲットと仮想視点との間の距離を演算する手段と、
前記ターゲットの数が、予め定められた指定数以上であるか否かを判定する手段と、
前記ターゲットの数が予め定められた数以上の場合に、当該ターゲットと前記仮想視点間の最大距離と平均距離とが、どれだけ離れているかを演算し、この演算結果を基に前記仮想視点の移動速度を求める手段と、
移動する仮想視点から、当該仮想空間内に配置された複数のオブジェクトを捉え、これを表示手段の画面に、前記仮想視点から捉えた視界の様子として表示する手段と
を備えて構成されてなる画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は仮想三次元空間内に設定された仮想視点の制御技術に係わり、特に、仮想三次元空間内の状況に応じて仮想視点の移動速度を制御する技術に関わる。また、本発明は業務用ゲーム装置に好適なゲームコントローラに係わり、特に、消防ホース型の外観を成したコントローラに関わる。
【０００２】
【従来の技術】
家庭用或いはアミューズメント用のゲームとして、例えば、シューティングゲームが知られている。シューティングゲームとは、遊戯者（プレイヤ）が攻撃目標となる敵キャラクタ（エネミキャラクタ）にカーソルを当て、コントロールパッドのボタン操作等で弾丸を撃ち、エネミキャラクタを攻撃することで得点を競うゲームである。通常のシューティングゲームにおいては、エネミキャラクタは画面内を前後左右に動き回り、プレイヤキャラクタに対して攻撃をしかけてくる。また、一旦画面から消えたエネミキャラクタは再び画面に登場して攻撃をしかけてくる。プレイヤはコントロールパッドの操作によりプレイヤキャラクタを自由に操り、仮想三次元空間内でエネミキャラクタとの攻防を繰り広げる。
【０００３】
従来のシューティングゲームにおいては、プレイヤの視点を代表する仮想視点の移動経路、及び、ゲーム場面毎に登場するエネミキャラクタの位置、数、行動パターン、ゲームストーリ等は予めゲームプログラムで設定されていたため、例えば、ゲーム中に特定のイベントが生じる等して次のゲームステージに強制的に移行する場合は、画面内のエネミキャラクタを全て倒さなくても次ステージに移行することが可能となる。また、エネミキャラクタはプレイヤによる攻撃で破壊されなくとも、ゲームプログラムの都合上（例えば、仮想視点の強制移動や、次ステージへの移行等）、画面から消去させることができる。
【０００４】
【発明が解決しようとする課題】
このような背景の下、本発明者はシューティングゲームにヒントを得て“消防ゲーム”なるものを思案した。この消防ゲームとは、プレイヤが消防士に似せたプレイヤキャラクタを操り、火事になった建物の中を移動しながら炎を消火していくゲームである。この場合、プレイヤキャラクタの保持する“消防ホース”がシューティングゲームにおける“銃”に相当し、“炎”が“エネミキャラクタ”に相当する。従って、本消防ゲームは、シューティングゲームと類似する点があるため、シューティングゲームのアルゴリズムを利用することができる。
【０００５】
しかし、本消防ゲームにおける仮想視点制御（カメラ制御）について、従来のシューティングゲームにおける仮想視点制御をそのまま利用することはできない。なぜならば、本消防ゲームにおける攻撃目標は“炎”であるから、時間の経過とともに次第に延焼はするが、シューティングゲームにおけるエネミキャラクタのように俊敏に動き回るものではない。従って、ゲーム場面に表示される炎は消火されない限りいつまでも延焼を続けることになる。通常、シューティングゲームの仮想視点制御においては、予め定められたパス（移動経路）上を予め定められた移動速度の下で仮想視点が移動するため、エネミキャラクタの数や位置等を考慮して仮想視点を制御することは配慮されてなかった。従って、かかる視点制御を本消防ゲームにおける仮想視点制御に応用すると、例えば、画面に表示された炎を全て消火しなければ次ステージに進むことができない等の不都合が生じる。このような状態になると、初心者の場合、いつまでも同じゲーム画面のままになり、ゲームの進行が非常に遅くなる。プレイヤにとっては精神的にストレスを受けることになり、さらには、ゲームへの興味感、臨場感等が失われてしまう結果になる。一方、ゲームプログラムの作成者側にとっては、ゲーム場面に登場する“炎”の中には、消火しなければ次ステージに移行できないような“炎”を設定したいとする要求もあるため、目前に大きな“炎”があるにも拘わらず不用意にカメラ移動をするのは不自然である。
【０００６】
本発明はこのような問題点に鑑み、ゲーム場面に応じて適切なカメラ移動を実現する仮想視点制御装置を提供することを第１の課題とする。
【０００７】
また、ビデオゲーム用ソフトの多様化に伴い、これに接続されるコントローラも、従来の指示ボタンや十字キーを備えた通常のコントローラから、ジョイスティック型コントローラや銃型コントローラ等、使用されるゲームソフトに対応して種々のものが市販されている。例えば、特許公報第２６８６６７５号には、ガンゲーム用として拳銃をモデル化した銃型コントローラが開示されている。
【０００８】
しかしながら、上記消防ゲームにおいては、かかるゲームに好適なコントローラ、特に、消防ホース型の形状を成したコントローラは未だ提案されていない。
【０００９】
そこで、本発明は、消防ゲームに好適なコントローラを提供することを第２の課題とする。
【００１０】
また、従来のシューティングゲームにおいては、プレイヤ１が遊戯中においてもプレイヤ２が新たに参戦することができた。この場合、プレイヤ１、プレイヤ２に対して独立にゲームが進行するため、例えば、プレイヤ１のみが所定の許容量を超えるダメージを受けた場合にプレイヤ１のみがゲームオーバーになり、プレイヤ２は依然としてゲームを進行することができる。しかし、上記消防ゲームにおいては、“炎”がプレイヤキャラクタに対して攻撃をしかけてくるわけではないので、プレイヤ１とプレイヤ２が同時にゲームを進行させた場合、プレイヤ１のみがゲームオーバーになるとうことは不自然である。
【００１１】
そこで、本発明は、複数のプレイヤがゲームを実行する場合において、ゲーム終了の時期を各プレイヤに対して同一になるように構成したゲーム装置を提供することを第３の課題とする。
【００１２】
【課題を解決するための手段】
上記第１の課題を解決する本発明の仮想視点制御装置は、仮想視点の視野領域内に位置する特定のオブジェクトと仮想視点間の距離に応じて仮想視点の移動速度を制御する仮想視点移動速度制御手段を備える。
【００１３】
ここで、仮想視点とは、仮想三次元空間内に仮想的に設定された視点をいい、いわゆる仮想カメラから見た視点と同義である。仮想カメラとは、コンピュータグラフィックスを描くときの視点や画角をカメラに例えたものを言う。現実のカメラでは光学的中心点である主点（principle  point）が仮想視点に相当する。この仮想カメラのセッティングは、位置、光軸方向（レンズの向き）、画角（ズーム〜ワイド）、ツイスト（光軸回りの回転角）等を指定することで行なう。仮想カメラは、ディスプレイに表示する画像の視野方向を決定する仮想的な視野方向決定手段として理解される。オブジェクト固有の座標系であるボディ座標系から３次元空間内のオブジェクトの配置を定義するワールド座標系にモデリング変換されたオブジェクトが、この仮想カメラ（の位置及び角度等）によって定まる視野座標系に視野変換されて画面に表示される。
【００１４】
また、特定のオブジェクトとは、仮想三次元空間内に配置されている様々なオブジェクトの中から仮想視点の移動速度制御に影響を与えるオブジェクトとして予め定められたものをいう。例えば、上記消防ゲームでは仮想三次元空間内に設定された“炎”が該当する。
【００１５】
本発明の仮想視点制御技術は、コンピュータを本発明の仮想視点制御装置として機能させるプログラムを記録したコンピュータ読み取り可能な情報記録媒体によっても実現することができる。即ち、本明細書における「…部」、「…手段」は仮想視点制御において実現される概念であり、必ずしも特定のハードウエアやソフトウエアルーチンに１対１には対応してはいない。同一のハードウエア要素が複数の「…部」、「…手段」を実現する場合もあれば、複数のハードウエア要素の関連で１つの「…部」、「…手段」を実現する場合もある。
【００１６】
ここで、情報記録媒体とは、何らかの物理的手段により情報、主に、デジタルデータ、プログラム等が記録されているものであって、コンピュータ、専用プロセッサ等に所望の機能を実現させることができるものをいう。従がって、何らかの手段でコンピュータにダウンロードし、所望の機能を実現させるものであればよい。例えば、フロッピーディスク（ＦＤ）、ハードディスク（ＨＤ）、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＰＤディスク、ＭＤディスク、ＭＯディスク等を含む。また、有線又は無線の通信回線（公衆回線、データ専用線、衛星回線等）を介してホストコンピュータからデータの転送を受ける場合を含む。例えば、インターネット経由でサーバのデータベースからデータを転送する場合も含む。
【００１７】
上記第２の課題を解決する本発明のコントローラは、本体と、本体に対して回動可能な把持部と、把持部の回動に対応して画面に表示される特定の画像の形態を変化させる制御信号を画像処理装置に送信する信号処理部とを備える。コントローラの本体（筐体）は棒状部材又は筒状部材で構成されることが好ましい。
【００１８】
かかるコントローラは消防ホースの形状をしていることが好ましい。また、消防ホースから水が噴射している様子を再現するために、把持部の回動に対応して振動する振動発生機構を更に備えることが好ましい。この振動発生機構の一例として、例えば、偏心カムを備えた回転機構が好適である。また、仮想空間内において消防ホースから仮想的に噴射される“水”を表現するオブジェクトの形態を、把持部の回動に対応して変化させることもできる。尚、振動発生機構は、水が噴射している状態を示す画像の状態に合わせてコントローラを振動するように構成してもよい。
【００１９】
上記第３の課題を解決する本発明のゲーム装置は、ゲーム開始時からプレイ時間を計測し、予め定められたプレイ時間を経過した場合にゲームを終了するゲーム装置において、あるプレイヤがゲームをしている最中に他のプレイヤがゲームに参加する都度に、プレイ時間に所定時間を加算し、加算された時間経過時にゲームを実行している全てのプレイヤのゲームを同時に終了させることを特徴とする。
【００２０】
このような構成により、あるプレイヤがゲームを実行している最中に他のプレイヤがゲームに参加した場合であっても、全てのプレイヤに対して同時にゲームを終了させることができる。
【００２１】
特に、前記所定時間の長さは、プレイ時間の残り時間に対応して設定することが好ましい。例えば、プレイ時間の残り時間が長いとき（ゲームを開始して間もない頃）に他のプレイヤがゲームに参加した場合には、追加されるプレイ時間を長く設定し、プレイ時間の残り時間が短いとき（ゲームを開始して相当時間が経過しているとき）に他のプレイヤが参加した場合には、追加されるプレイ時間を短く設定する。このように構成することで、ゲーム終了間際にプレイ時間を延長し、プレイ時間を必要以上に引き延ばすことを防止できる効果もある。
【００２２】
【発明の実施の形態】
以下、各図を参照して本実施の形態について説明する。図１乃至図３は本ゲーム装置の外観を示しており、図１（Ａ）は正面図、同図（Ｂ）は背面図、図２は右側面図、図３（Ａ）は平面図、同図（Ｂ）は裏面図である。左側面図は右側面図と対称であるため省略する。
【００２３】
ゲーム装置１はアミューズメント用に構成されており、前面には大型モニタ５０が配置されている。ゲーム装置１には消防ホース型のコントローラ２が接続しており、プレイヤはこのコントローラ２を操作することでモニタ５０に表示される仮想上の“炎”（オブジェクト）を消火する。モニタ５０の周囲には計１０個の発光素子５２ａ〜５２ｊが配置されている。後述するように、コントローラ２の先端側（ノズル側）には受光素子が取り付けられており、ゲーム装置１は、各発光素子５２ａ〜５２ｊからの受光量からコントローラの位置、角度等を計算してモニタ５０にカーソルを表示する。このカーソルは画面上の消火位置を示すものであり、コントローラ２の操作によりカーソル位置に水が噴射される。また、ゲーム装置１の手前側には、スタートボタン等が配置されている操作パネル５が取り付けられている。ゲーム装置１は２人のプレイヤによる同時プレイを楽しむことができる。プレイヤ２によるゲームへのエントリーはプレイヤ１のプレイ中に行うこともできる。
【００２４】
図４にコントローラ２の外観を示す。コントローラ２は主に外筒３、把持部４、ノズル５及びホース６から構成される。外筒３はアルミダイキャストで加工されており、実物の消防ホースと同じ外観、質感を演出している。ホース６は可撓性の材質から構成され、他端はゲーム装置１に接続している。プレイヤは外筒３の中央からやや後端側（ホース側）の部位と把持部４を持ち、ノズル５をモニタ５０へ向けることで画面に表示されるカーソルをコントロールする。ノズル５の先端側には受光素子９が取り付けられており、各発光素子５２ａ〜５２ｊからの照射光を受光する。外筒３の略中央部にはスイッチ７が取り付けられており、プレイヤはこのスイッチ７を押下することでノズル５から仮想的に噴射される水の噴射タイミングを制御する。また、把持部４は外筒３に対して回動自在に取り付けられており、ノズル５から仮想的に噴射される水の形態（例えば、水柱状噴射と霧状噴射）を切り替える“切り替えスイッチ”の役割を担う。
【００２５】
図１０はモニタ５０に表示されるゲーム画面の一例であり、例えば、同図（Ａ）には、カーソル３７、タイマ３８、炎３９等が表示されている。上述したように、カーソル３７は消火位置を示すものであり、タイマ３８はゲームの残り時間を示している。３９は部屋を包むように燃え盛る炎であり、いま、プレイヤはこの炎３９を消火することを意図しているものとする。この炎３９を水柱状噴射により消火したい場合には、スイッチ７の押下により、カーソル３７の位置に水４０が柱状に噴射される（同図（Ｂ））。一方、炎３９を霧状噴射により消火したい場合には、把持部４を回動し、水の噴射形態切り替えスイッチを“オン”にすることで霧状の水４１が噴射される（同図（Ｃ））。このように、本実施の形態のコントローラ２によれば、水の噴射タイミング、噴射形状等を任意に制御することができる。
【００２６】
また、図４に示すように、コントローラ２の外筒３の略中央内部には偏心カム８が取り付けられている。スイッチ７の押下によりコントローラ２からは仮想的に水が噴射されるのであるが、ホースから水が噴射されている状況をよりリアルに再現するため、外筒３の略中央内部に偏心カム８を取り付け、スイッチ７の押下と同時にこの偏心カム８を駆動させることでコントローラ２に振動が生じ、あたかも水が噴射されているような感覚を得ることができる。但し、振動を発生する機構を備えた機器であれば、偏心カムに限らず、各種バイブレータ等を適用できる。
【００２７】
図５にゲーム装置１のブロック図を示す。本ゲーム装置においては、多数のポリゴンで生成されたモデルにレンダリング処理を高速に行い、かつ、そのモデルを高速に動かすために２つのＣＰＵが装備されている。同図に示すように、ＣＰＵ１０、ＣＰＵ１１はそれぞれＣＰＵバス４２、ＣＰＵバス４３を介してバスブリッジ１２、バスブリッジ１３に接続しており、コンピュータグラフィックスにおける画像処理、例えば、ワールド座標系へのモデリング変換、仮想視点への視野変換、三次元クリッピング処理、陰線処理、テクスチャマッピング処理、シェーディング処理、表示優先処理等を高速に実行する。
【００２８】
ＣＰＵバス４２、４３にはそれぞれＲＡＭ１４、１５が接続されている。バスブリッジ１２とバスブリッジ１３はＰＣＩ（Peripheral  Component  Interconnect）バス（又はＡＧＰ（Accelerated  Graphics Interconnect）バス）４６を介して縦続に接続されている。また、バスブリッジ１２には本ゲーム装置の機能を拡張するための拡張ＲＡＭ１６が接続されている。ビデオ処理部１７はＰＣＩバス（又はＡＧＰバス）４４及び４５を介してバスブリッジ１２及び１３に接続しており、ポリゴンのレンダリング処理等を行い、そのデータをＤ／Ａコンバータ１８に出力する。Ｄ／Ａコンバータ１８からのビデオ信号を基にしてモニタ５０にはゲーム画面が表示される。
【００２９】
片方向バスバッファ１９はバスブリッジ１３に接続しており、アドレス信号等をアドレスデコーダ２１、ＲＯＭボード２２、Ｉ／Ｏ部２３、通信ボード２４及びサウンドボード２５に供給する。アドレスデコーダ２１は供給されたアドレス信号に従って、デバイス選択信号をＲＯＭボード２２、Ｉ／Ｏ部２３、通信ボード２４及びサウンドボード２５に供給する。双方向バスバッファ２０はＰＣＩバス（又はＡＧＰバス）４５の一部分（ＡＤ（address  data）バス、ＣＢＥ（command  bit  enable）バス）によりバスブリッジ１３に接続し、データ信号の送受信をアドレスデコーダ２１、ＲＯＭボード２２、Ｉ／Ｏ部２３、通信ボード２４及びサウンドボード２５間で行う。
【００３０】
バスブリッジ１２、１３はそれそぞれＣＰＵ１０、１１から供給されたアドレス信号を予め定められた規則に従って変換し、ＲＯＭボード２２内のブートプログラムを実行可能に構成される。この他、ＲＯＭボード２２には予めゲームプログラムやポリゴンデータ等が格納されている。ＲＯＭボード２２内の記憶領域確保のため、ブートプログラムを専用のブートＲＯＭに格納することもできる。
【００３１】
Ｉ／Ｏ部２３はコントローラ２からの操作信号を入力し、ＣＰＵ１０、１１に外部入力の割り込み信号を供給する。ＣＰＵ１０、１１はこの操作信号に基づいてゲームプログラムの実行をする。通信ボード２４はホストコンピュータ２６と接続可能に構成され、例えば、複数のゲーム装置との間で通信ゲームを行うことができる。サウンドボード２５はスピーカ２７に接続し、ゲーム上の効果音、ＢＧＭ音等の各種音響信号を出力する。
【００３２】
尚、本ゲーム装置においてはコンピュータグラフィックスによる画像処理を高速に実行するべく、複数（３基以上）のＣＰＵをバスブリッジを介して縦続接続することも可能である。このような構成により、従来のコンピュータの処理能力では表現が困難であった炎や煙、水柱、水霧等の画像処理をより高精細に表現することができる。
【００３３】
次に、図６を参照して本発明の仮想視点制御技術について説明する。同図はゲームプログラムによって予め定められたパス（仮想視点移動経路）３６に沿って仮想視点２８が進行する様子を示している。パス３６付近には大小様々な炎２９、３０、…、等が所定位置に設定されている。仮想三次元空間内に設定される炎の内、プレイヤが消火しなければ次に進めない炎を特に“ターゲット”というものとする。同図に示す炎の中でターゲットは２９，３０，３１、３２及び３５である。炎３３、３４は比較的小さい炎であるため、ターゲットにはならない。これら炎の位置、延焼の速さ、当該炎がターゲットであるか否かはゲームプログラムによって予め設定されている。ターゲットとなる炎は仮想視点２８の移動速度制御に影響を与えるパラメータ演算に利用される。
【００３４】
但し、仮想視点２８はターゲットの有無に拘わらず、パス３６の形状やゲーム場面に対応して移動速度が所定のパターンに従って変化するようにプログラムされている。例えば、直線上のパスでは仮想視点２８の移動速度の最大値は大きく、曲線上又はその付近では仮想視点２８の移動速度の最大値は小さくなる、…、という具合に設定される。同図に示す点Ａ、点Ｂ、点Ｃ、点Ｄ、点Ｅ及び点Ｆはパス３６上に仮想的に設定された速度変化点を表している。図７は区間ＡＢ、区間ＢＣ、…、等に対応する仮想視点２８の移動速度の最大値（ｍａｘｓｐｄ）を記述したテーブルである。このように、本発明においては、パスの形状等に応じて仮想視点２８の移動速度を制御する他に、上述したターゲットを仮想視点２８の移動速度のパラメータ演算に利用することで仮想視点２８の移動速度を制御する。
【００３５】
本発明の仮想視点２８の移動速度制御について図８のフローチャートを参照しながら詳細に説明する。同図に示す一連のステップは各フレーム毎に（例えば、６０分の１秒毎に）実行される。まず、カメラマトリクスが設定される（ステップＳ１）。カメラマトリクスの設定は、図６に示すように、仮想三次元空間内のオブジェクトのボディ座標系からワールド座標系への変換（ボディ座標系上でのスケーリング、回転、平行移動等）、ワールド座標系から視点座標系の変換（ワールド座標系の原点の仮想視点への平行移動、Ｚ軸の回転等）、オブジェクトの陰線処理、クリッピング処理等を経て設定される。同図に示す一点鎖線が画角（視野角）θに設定された仮想視点２８の視野領域を表している。画角θの大きさは画面のズーム〜ワイドに応じて適宜設定される。
【００３６】
次に、視野領域に存在するターゲットを求め、仮想視点２８からの距離の順にソートする（ステップＳ２）。図６を参照して本ステップを説明すると、仮想視点２８の視野領域内にはターゲット２９、３０，３１及び３５が存在するが、ターゲット３２は視野領域内に存在しないため、本ステップにおける処理対象にはならない。ターゲット２９、３０、３１及び３５について仮想視点２８からの距離Ｌ１、Ｌ２、Ｌ３及びＬ４を求める。Ｌ３≦Ｌ１≦Ｌ２≦Ｌ４であるから、ターゲット３１、２９、３０及び３５の順にソートされる。
【００３７】
次に、視野領域に存在するターゲットの数が予め定められた指定数以上であるか否かを判定する（ステップＳ３）。指定数以上存在する場合は、パラメータＡｖｅＬｅｎにΣＬｅｎ／Ｎを代入する（ステップＳ４）。パラメータＡｖｅＬｅｎは仮想視点２８から距離の短い順に指定数分だけソートされた各ターゲットと仮想視点２８間の距離の平均値である。また、Ｌｅｎは仮想視点２８と各ターゲット間の距離を表し、Ｎは指定数を表すものとする。ΣＬｅｎはＮ個のＬｅｎの値の合計値である。
本例の場合、指定数を３とすると、
ΣＬｅｎ／Ｎ＝（Ｌ３＋Ｌ１＋Ｌ２）／３
である。一方、ターゲットの数が指定数Ｎに満たない場合は、パラメータＡｖｅＬｅｎにＭｉｎＬｅｎを代入する（ステップＳ８）。ＭｉｎＬｅｎは仮想視点２８と視野領域に存在するターゲット間の最小距離であり、本例の場合、Ｌ３の値が相当する。
【００３８】
次に、視野領域に存在する指定数分のターゲットについて、仮想視点２８からの最大距離と平均距離がどれだけ離れているかを示すパラメータｒａｔを演算する（ステップＳ５）。パラメータｒａｔは、
（ＭａｘＬｅｎ−ＡｖｅＬｅｎ）／ＭａｘＬｅｎ
の値を演算し、この値を代入することで得られる。ＭａｘＬｅｎは仮想視点２８からの最大距離であり、本例の場合、Ｌ２の値が相当する。
【００３９】
次に、仮想視点２８の移動速度ｃａｍｓｐｄを求める（ステップＳ６）。時刻ｎにおける仮想視点２８の移動速度ｃａｍｓｐｄｎは、
ｃａｍｓｐｄｎ−１−（ｍａｘｓｐｄ／ｒａｔ−ｃａｍｓｐｄｎ−１）・ＳＰＤＣＨＧ ＲＡＴＥ
の値を代入することで得られる。ここで、ｍａｘｓｐｄは前述したように、パス３６上の所定区間毎に設定された、仮想視点２８の移動速度の最大値である。ＳＰＤＣＨＧ ＲＡＴＥは定数であり、移動速度の変化率を表している。このパラメータの値として、例えば、０．０２６３が設定される。以上の各ステップにより仮想視点２８の移動速度を求めた後、画面表示を行う（ステップＳ７）。
【００４０】
このように、本発明によれば、ターゲットとなる“炎”の位置（又は距離）、数等を考慮してリアルタイムで仮想視点の移動速度を調整するとともに、ターゲットとならない“炎”に関しては仮想視点の移動速度に影響を与えないため、自然なカメラ移動が実現できるとともに、ゲームの進行が必要以上に遅くなる状態を回避することができる。さらに、仮想視点の移動速度を予め固定した場合に生じるゲームの単調さと、目前に“炎”があるにも拘わらず前進してしまうような不自然さを回避することができる。
【００４１】
尚、本発明においては、上述したパラメータＡｖｅＬｅｎの演算の際に、仮想視点とターゲット間の距離に当該ターゲットに予め割り当てられた重み係数を乗じた値を利用することもできる。例えば、
（Ｌｅｎ１Ｃ１＋Ｌｅｎ２Ｃ２＋…ＬｅｎＮＣＮ）／Ｎ
の値をパラメータＡｖｅＬｅｎに代入して仮想視点の移動速度制御に利用する。Ｌｅｎｊは仮想視点からの距離が短い順にソートした場合の、ｊ番目のターゲットと仮想視点との距離、Ｃｊは当該ターゲットに割り当てられた重み係数である。ゲーム上、消火しなけらばならない“炎”（例えば、大きい炎や出口付近の炎など）について重み係数の値を小さく設定することで、かかる“炎”の近くでは仮想視点の移動速度が遅くなるため、適切なカメラ移動を実現できる。
【００４２】
また、本消防ゲームは複数のプレイヤが同時にプレイすることができる。本消防ゲームにおいてはシューティングゲームと異なり、プレイヤがダメージを受けることでゲームが終了することはない。そこで、予めプレイ時間（例えば、５分）を設定し、かかるプレイ時間経過後に自動的にゲームオーバーとする。ここで、図９のフローチャートを参照しながら、二人のプレイヤがゲームを実行する場合のゲーム終了手順について説明する。ゲーム装置の電源が“オン”になると、ゲーム装置は入力待ち状態になる（ステップＴ１）。プレイヤ１が操作パネル５のボタン操作によりゲームエントリーすると（ステップＴ２：ＹＥＳ）、タイマが作動し、プレイ時間を計測する（ステップＴ３）。プレイヤ１のプレイ中において、プレイヤ２がゲームエントリーすると（ステップＴ４：ＹＥＳ）、プレイ時間に所定時間が加算される（ステップＴ５）。この所定時間は予め定められた長さの時間としてもよいが、前述したように、プレイ時間の残り時間に対応して設定してもよい。そして、加算されたプレイ時間経過後（ステップＴ６：ＹＥＳ）、プレイヤ１とプレイヤ２のゲーム実行を同時に終了する。一方、プレイヤ１のプレイ中にプレイヤ２がゲームエントリーしなかった場合には（ステップＴ４：ＮＯ）、プレイ時間経過後に（ステップＴ８：ＹＥＳ）、プレイヤ１のゲームを終了する（ステップＴ９）。このようなゲーム終了手順を採用することで、一人のプレイヤがゲームをしている最中に他のプレイヤがゲームエントリーした場合であっても、複数のプレイヤに対してゲーム終了時期を同時に設定することができる。
【００４３】
尚、上記の説明においては、二人のプレイヤのゲームを同時に終了させる場合を説明したが、プレイヤの人数は二人に限らず、同時にプレイ可能な人数に対して適用することができる。
【００４４】
【発明の効果】
本発明の仮想視点制御装置によれば、仮想三次元空間内に位置する特定のオブジェクトと仮想視点との距離に応じて適切に視点移動を制御することができる。
【００４５】
本発明のコントローラによれば、消防ゲームに好適なコントローラを提供することができる。
【００４６】
本発明のゲーム装置によれば、時間制限によりゲームオーバーするゲーム装置について、あるプレイヤがゲーム実行中において他のプレイヤがゲームエントリーした場合であっても、全てのプレイヤについてゲームを同時に終了させることができる。
【図面の簡単な説明】
【図１】本発明のゲーム装置の正面図及び背面図である。
【図２】本発明のゲーム装置の側面図である。
【図３】本発明のゲーム装置の平面図及び裏面図である。
【図４】本発明のコントローラの外観図である。
【図５】本発明のゲーム装置のブロック図である。
【図６】本発明の仮想視点制御の説明図である。
【図７】仮想視点のパス上の所定区間毎に、仮想視点の移動速度の最大値を登録したテーブルである。
【図８】本発明の仮想視点制御のフローチャートである。
【図９】本発明のゲーム終了を規定するフローチャートである。
【図１０】消防ゲームの画面の説明図である。
【符号の説明】
１…ゲーム装置、２…コントローラ、３…外筒、４…把持部、５…ノズル、６…ホース、７…スイッチ、８…偏心カム、２８…仮想視点、３６…パス
【図１】
0004019240.tif 000002
【図２】
0004019240.tif 000003
【図３】
0004019240.tif 000004
【図４】
0004019240.tif 000005
【図５】
0004019240.tif 000006
【図６】
0004019240.tif 000007
【図７】
0004019240.tif 000008
【図８】
0004019240.tif 000009
【図９】
0004019240.tif 000010
【図１０】
0004019240.tif 000011