(57)【要約】【課題】キャラクタの自然な移動制御と、機動的な移動制御とを併合した移動制御を実現する。【解決手段】本実施の形態のゲーム装置１は、キャラクタの向きθcに対する移動方向を８方向に設定し、当該移動方向に基づいてキャラクタの移動制御を行う。キャラクタの向きθcに対する移動方向が左右斜め前の方向である場合は、キャラクタが徐々にその向きを変えながら移動していくように、移動制御及び回転制御を同時に行う。また、移動方向が直進の方向である場合は、キャラクタが直進するような移動制御のみを行う。さらに、移動方向が、横、左右斜め後ろ又は真後ろの方向である場合は、まずキャラクタの向きが移動方向に一致するように転回制御した後、キャラクタの向きに沿って直進するような移動制御を行う。【選択図】図１
2006254951.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間内に配置されたキャラクタの向き及び移動の制御を、プレーヤの移動方向の指示操作に従って行うキャラ制御手段としてコンピュータを機能させると共に、前記仮想空間の画像を生成させるためのプログラムであって、
前記指示操作による移動方向が前記キャラクタの現在の向きに沿った方向か否かを判定する方向判定手段として前記コンピュータを更に機能させると共に、
前記キャラ制御手段が、前記方向判定手段により沿った方向であると判定された場合には前記キャラクタの向きを前記指示操作による移動方向に徐々に向けつつ前記キャラクタを移動させ、沿った方向でないと判定された場合には前記キャラクタの向きを前記指示操作による移動方向に即時に向けて前記キャラクタを移動させる制御を行うように前記コンピュータを機能させるためのプログラム。
【請求項２】
前記方向判定手段が、前記キャラクタの現在の向きに対する前記指示操作による移動方向の角度が所与の角度範囲内か否かに基づいて前記判定を行うように前記コンピュータを機能させるための請求項１に記載のプログラム。
【請求項３】
前記角度範囲を変更する角度範囲速度適応変更手段として前記コンピュータを更に機能させるための請求項２に記載のプログラム。
【請求項４】
前記角度範囲速度適応変更手段が、前記キャラクタの移動速度に応じて、前記角度範囲を変更するように前記コンピュータを機能させるための請求項３に記載のプログラム。
【請求項５】
前記キャラ制御手段が、前記方向判定手段により沿った方向であると判定された場合に、前記キャラクタの向きを前記指示操作による移動方向に向ける速度を、前記キャラクタの移動速度に応じて変化させるように前記コンピュータを機能させるための請求項１〜４の何れか一項に記載のプログラム。
【請求項６】
請求項１〜５の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項７】
仮想空間内に配置されたキャラクタの向き及び移動の制御を、プレーヤの移動方向の指示操作に従って行うキャラ制御手段を備え、前記仮想空間の画像を生成してゲームを実行するためのゲーム装置であって、
前記指示操作による移動方向が前記キャラクタの現在の向きに沿った方向か否かを判定する方向判定手段を更に備え、
前記キャラ制御手段が、前記方向判定手段により沿った方向であると判定された場合には前記キャラクタの向きを前記指示操作による移動方向に徐々に向けつつ前記キャラクタを移動させ、沿った方向でないと判定された場合には前記キャラクタの向きを前記指示操作による移動方向に即時に向けて前記キャラクタを移動させる制御を行うことを特徴とするゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、接続されたコントローラから入力される操作信号に基づいて、ゲーム空間中におけるキャラクタの移動を制御すると共に、前記ゲーム空間の画像を生成することにより、所与のゲームを実行させるためのプログラム等に関する。
【背景技術】
【０００２】
従来から、ゲーム空間内にキャラクタを配置・移動させ、所与の視点から見たゲーム空間内の様子をゲーム画像として生成・表示するゲーム装置が知られている。このゲーム装置においては、よりリアル感のあるゲーム画像や、より興趣性のあるゲーム画像を生成するため、様々な処理が行われている。
【０００３】
例えば、サッカーゲームなどのスポーツ系のゲームにおいては、プレーヤによりコントロールされるキャラクタの移動制御を、速度ベクトルを用いて、行うゲーム装置が知られている（例えば、特許文献１参照）。具体的には、速度ベクトルに対して、他のベクトルを加算等することにより、所定時間後にキャラクタが到達する位置座標を算出することで、キャラクタの向きの変更と位置変化とを同時に処理する移動制御を実現している。この結果、キャラクタの向きの変更速度と、キャラクタの位置変化の速度とを同調させることができるため、実際の競技者の動作に即した自然な制御が実現できる。
【特許文献１】特開２００４−３２１５９８号公報
【０００４】
一方、例えば、主人公と複数の仲間でパーティを組むようなＲＰＧ（ロールプレイングゲーム）においては、キャラクタの向きの変更と位置変化とを別個に処理することにより、キャラクタの移動制御を行うものが多い。例えば、キャラクタの向きを、指示された方向に即座に変更させた後、キャラクタの位置を変化させる移動制御を行う。つまり、キャラクタをプレーヤの意に即して速やかに位置変化させることができる。この結果、ＲＰＧの戦闘シーン等において状況に応じた戦略的な攻防を楽しむことができる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来のゲームにおいては、何れもキャラクタの移動制御が全方位にわたって同様の制御方法により処理されるため、移動制御が単調になってしまっていた。例えば、ＲＰＧにおいて、ゲームストーリーを楽しみながらキャラクタがゲーム空間を前進していくような場合、キャラクタの移動制御はより自然なものが望まれる。一方で、戦闘シーン等の緊迫した場面、例えば、キャラクタが敵前から逃避行動を取る場合などは、即座に方向転換をして後方に移動させたいという要望もある。しかし、上述した従来のゲームにおいては、このような状況に応じた移動制御を行うことができず、キャラクタの自然な移動制御を行うか、キャラクタの機動的な移動制御を行うかの何れか一方が行われていた。
【０００６】
本発明の課題は、キャラクタの自然な移動制御と、機動的な移動制御とを併合した移動制御を実現することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、第１の発明は、
仮想空間内に配置されたキャラクタの向き及び移動の制御を、プレーヤの移動方向の指示操作に従って行うキャラ制御手段（例えば、図８のキャラクタ制御部２２１）としてコンピュータ（例えば、図１の家庭用ゲーム装置１）を機能させると共に、前記仮想空間の画像を生成させるためのプログラム（例えば、図８のキャラクタ制御処理プログラム３０２）であって、
前記指示操作による移動方向が前記キャラクタの現在の向きに沿った方向か否かを判定する方向判定手段（例えば、図８のキャラクタ制御部２２１）として前記コンピュータを更に機能させると共に、
前記キャラ制御手段が、前記方向判定手段により沿った方向であると判定された場合には前記キャラクタの向きを前記指示操作による移動方向に徐々に向けつつ前記キャラクタを移動させ、沿った方向でないと判定された場合には前記キャラクタの向きを前記指示操作による移動方向に即時に向けて前記キャラクタを移動させる制御を行うように前記コンピュータを機能させるためのプログラムである。
【０００８】
第７の発明は、
仮想空間内に配置されたキャラクタの向き及び移動の制御を、プレーヤの移動方向の指示操作に従って行うキャラ制御手段（例えば、図８のキャラクタ制御部２２１）を備え、前記仮想空間の画像を生成してゲームを実行するためのゲーム装置（例えば、図１の家庭用ゲーム装置１）であって、
前記指示操作による移動方向が前記キャラクタの現在の向きに沿った方向か否かを判定する方向判定手段（例えば、図８のキャラクタ制御部２２１）を更に備え、
前記キャラ制御手段が、前記方向判定手段により沿った方向であると判定された場合には前記キャラクタの向きを前記指示操作による移動方向に徐々に向けつつ前記キャラクタを移動させ、沿った方向でないと判定された場合には前記キャラクタの向きを前記指示操作による移動方向に即時に向けて前記キャラクタを移動させる制御を行うことを特徴とするゲーム装置である。
【０００９】
第１の発明等によれば、方向判定手段により指示操作による移動方向がキャラクタの現在の向きに沿った方向であると判定された場合には、キャラクタの向きを移動方向に徐々に向けつつキャラクタを移動させるため、実際の人間の動作に即した自然な動きに近い移動を実現することができる。また、方向判定手段により移動方向がキャラクタの現在の向きに沿った方向でないと判定された場合には、キャラクタの向きを指示操作による移動方向に即時に向けてキャラクタを移動させるため、プレーヤの意思に即してキャラクタを機動的に移動制御することができる。このように、指示操作による移動方向とキャラクタの向きとに応じて、キャラクタの移動制御方法を変更することにより、キャラクタの自然な移動制御と、機動的な移動制御とを併せて実現することができる。
【００１０】
第２の発明は、第１の発明のプログラムであって、
前記方向判定手段が、前記キャラクタの現在の向きに対する前記指示操作による移動方向の角度が所与の角度範囲内か否かに基づいて前記判定を行うように前記コンピュータを機能させるためのプログラムである。
【００１１】
第２の発明によれば、方向判定手段は、指示操作による移動方向がキャラクタの向きに沿った方向であるか否かの判定を、キャラクタの現在の向きに対する移動方向の角度に基づいて判定する。これにより、プレーヤは自己の指示操作に基き、キャラクタの向きが徐々に移動方向に向けられて移動制御されるか、キャラクタの向きが即時に移動方向に向けられて移動制御されるかを容易に把握することができ、状況に応じて指示操作を行うことにより、プレーヤの意図を反映させたキャラクタの移動制御を行うことができる。
【００１２】
第３の発明は、第２の発明のプログラムであって、
前記角度範囲を変更する角度範囲速度適応変更手段として前記コンピュータを更に機能させるためのプログラムである。
【００１３】
第３の発明によれば、角度範囲を変更することにより、キャラクタの向きが徐々に移動方向に向けられて移動制御される場面を多くするか、キャラクタの向きが即時に移動方向に向けて移動制御される場面を多くするかを任意に変更することができる。
【００１４】
第４の発明は、第３の発明のプログラムであって、
前記角度範囲速度適応変更手段が、前記キャラクタの移動速度に応じて、前記角度範囲を変更するように前記コンピュータを機能させるためのプログラムである。
【００１５】
第４の発明によれば、キャラクタの移動速度に応じて、角度範囲を変更するため、例えば、キャラクタの移動速度が遅い場合、キャラクタの向きを徐々に移動方向に向けつつ移動制御される範囲が広くなるように角度範囲を変更することにより、キャラクタが自然に移動制御される場面を増やすことができる。一方、キャラクタの移動速度が速い場合、キャラクタの向きを即時に移動方向に向けて移動制御される範囲が広くなるように角度範囲を変更することにより、キャラクタが機動的に移動制御される場面を増やすことができる。
【００１６】
第５の発明は、第１〜第４の発明のプログラムであって、
前記キャラ制御手段が、前記方向判定手段により沿った方向であると判定された場合に、前記キャラクタの向きを前記指示操作による移動方向に向ける速度を、前記キャラクタの移動速度に応じて変化させるように前記コンピュータを機能させるためのプログラムである。
【００１７】
第５の発明によれば、キャラクタの向きを移動方向に向ける速度をキャラクタの移動速度に応じて変化させるため、より自然なキャラクタの移動制御を行うことができる。
【００１８】
第６の発明は、第１〜第５の発明の何れかのプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体（例えば、図８の記憶部３０）である。
【００１９】
第６の発明によれば、第１〜第５の発明と同様の作用効果を奏する情報記憶媒体を実現し得る。
【発明の効果】
【００２０】
本発明によれば、キャラクタの自然な移動制御と、機動的な移動制御とを併合した移動制御を実現することができる。
【発明を実施するための最良の形態】
【００２１】
以下、図面を参照して、本発明を実施するための最良の形態を説明する。なお、以下では、自キャラクタを操作することにより仮想３次元空間内を移動させる場合を例にとって説明するが、本発明の適用がこれに限定されるものではない。
【００２２】
１．ゲーム装置の外観例
本実施の形態における家庭用ゲーム装置１について図を参照して説明する。図１は、本発明を家庭用ゲーム装置１に適用した一例を示す外観図である。図１に示すように、家庭用ゲーム装置１は、本体装置１１００と、コントローラ１１１０，１１１０と、スピーカ１２０２を具備するディスプレイ１２００と、を備える。コントローラ１１１０，１１１０は本体装置１１００に接続され、ディスプレイ１２００は、画像信号及び音信号を伝送可能なケーブルＫによって本体装置１１００に接続されている。
【００２３】
また、本体装置１１００は、例えばＣＰＵやＩＣメモリ等を搭載した制御ユニットや、ＣＤ−ＲＯＭ１１０４等の情報記憶媒体の読取装置を具備する。そして、ＣＤ−ＲＯＭ１１０４等から読み出したゲーム情報と、コントローラ１１１０，１１１０からの操作信号とに基づいて種々のゲーム処理を実行し、ゲーム画面の画像信号及びゲーム音の音信号を生成する。さらに、生成した画像信号及び音信号をディスプレイ１２００に出力して、ディスプレイ１２００にゲーム画面を表示させると共に、スピーカ１２０２からゲーム音を出力させる。プレーヤは、ディスプレイ１２００に表示されたゲーム画面を見ながら、コントローラ１１１０，１１１０を操作してゲームを楽しむ。
【００２４】
本体装置１１００がゲーム処理を行うために必要なプログラムやデータ等を含むゲーム情報等は、例えば本体装置１１００に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ１１０４やＩＣメモリ１１０６、メモリカード１１０８等に格納されている。
【００２５】
コントローラ１１１０，１１１０は、プレーヤがゲーム操作等を入力するためのボタンスイッチ等を具備し、操作に応じた操作信号を本体装置１１００に出力する。図２に、本実施形態におけるコントローラ１１１０の平面図を示す。図２に示すように、コントローラ１１００は、左右に２つのグリップ１３００ａ、１３００ｂと、グリップ１３００ａ、１３００ｂの内側にそれぞれ設けられた操作スティック１５００ａ、１５００ｂを備える本体１４００と、本体１４００の表面上に設けられたボタン群１６００と、から主に構成される。
【００２６】
操作スティック１５００ａは、左手用の操作スティックであり、プレーヤがグリップ１３００ａを握った際に左手の親指が届く範囲に配置される。操作スティック１５００ｂは、右手用の操作スティックであり、プレーヤがグリップ１３００ｂを握った際に右手の親指が届く範囲に配置される。この操作スティック１５００ａ、１５００ｂは、真上に直立した位置が中立位置であって、３６０度の方向に傾斜し、且つ直立した状態で旋回可能であり、また、外力が加わらないときは中立位置に弾性保持される。操作スティック１５００ａ、１５００ｂがプレーヤに操作されると、操作スティック１５００ａ、１５００ｂが傾斜した傾斜角及び傾斜方向に応じた操作信号が本体装置１１００に出力される。なお、操作スティック１５００ａ、１５００ｂの傾斜の検出方法は特に問わない。
【００２７】
ボタン群１６００は、左手ボタン群１６００ａと、右手ボタン群１６００ｂとに分割され、それぞれプレーヤがグリップ１３００ａ、１３００ｂを握った際の左右の親指が届く範囲にそれぞれ配置される。左手ボタン群１６００ａには、４つの矢印ボタン←，↑，→,↓と、１つの補助ボタンＬ１が含まれ、右手ボタン群１６００ｂには、４つの機能ボタン○，×，△，□と、１つの補助ボタンＲ１が含まれる。
【００２８】
２．原理
本実施の形態においては、仮想三次元空間に背景やキャラクタ等の各種オブジェクトを配置して設定されたゲーム空間内で、プレーヤの操作入力に従ってキャラクタを移動させることにより、発生する様々なイベントをクリアしていくことでゲームが進行される。そして、所与の視点、例えば、プレーヤの操作対象となるキャラクタに追従するように設定された仮想カメラからゲーム空間を見た３ＤＣＧがゲーム画面としてディスプレイ１２００に表示される。
【００２９】
なお、仮想三次元空間はワールド座標系（ＸＷ，ＹＷ，ＺＷ）を用いて構成され、仮想３次元空間に配置されるキャラクタは、独立したローカル座標系（ＸＬ，ＹＬ，ＺＬ）を用いてその形状モデルが定義される。また、キャラクタの向きは、ワールド座標系を基準として定義されている。
【００３０】
図３は、操作スティック１５００ａの傾斜入力である移動方向の指示操作（以下、操作スティック１５００ａの傾斜入力のことを「移動指示操作」という。）に基づくキャラクタの移動制御を説明するための図であり、キャラクタの向きに対して８種の方向に指示操作が入力された場合をそれぞれ説明する図である。ここで、８種の方向は、３６０°を８方向に等分した方向、すなわち、０°,４５°,９０°,１３５°,１８０°,２２５°,２７０°,３１５°の方向をいう。また、操作スティック１５００ａの傾斜入力により、移動方向の指示が成され、傾斜量（傾斜角度）により移動速度の指示がなされる。
【００３１】
図３においては、仮想３次元空間においてＹ軸方向から俯瞰する仮想カメラの位置を固定とし、ゲーム空間を上方から俯瞰した画像を示している。以下ではＸ軸方向を図中上下方向で示し、Ｚ軸方向を図中左右方向で示した２次元ＸＺ座標系に基づいて説明する。また、角度の説明において、反時計回りの方向を＋（プラス）方向、時計回りの方向を−（マイナス）方向と定義する。
【００３２】
図３（ａ）は、キャラクタの向きがＸ軸正方向である場合に、移動指示操作による移動方向がＸ軸正方向に対して０°の方向（図中矢印１０１Ａで示す方向）である場合のキャラクタの移動制御を示す図である。キャラクタ１０１ａは、１フレーム毎にプレーヤの移動指示操作から算出される移動量に基づいて移動制御が行われる。これにより、キャラクタ１０１ａは、１フレーム毎に図３（ａ)の△で示される位置に順々に移動制御される。
【００３３】
図３（ｂ）は、移動指示操作による移動方向がＸ軸正方向に対して＋４５°の方向（図中矢印１０２Ａで示す方向）である場合のキャラクタの移動制御を示す図である。キャラクタ１０２ａは、後述する移動ルール情報３０３から取得される転回角度に基づいて転回制御が行われると共に、プレーヤの移動指示操作から算出される移動量に基づいて移動制御が行われる。ここで、転回角度は、キャラクタの向きと、移動指示操作による移動方向との角度差よりも小さい角度（例えば、図３（ｂ）では１５°）が設定される。これにより、キャラクタ１０２ａは、徐々にその向きを移動方向に転回させながら、１フレーム毎に図３（ｂ）の△で示される位置に順々に移動制御される。
【００３４】
図３（ｃ）は、移動指示操作による移動方向がＸ軸正方向に対して-４５°の方向（図中矢印１０３Ａで示す方向）である場合のキャラクタの移動制御を示す図である。キャラクタ１０３ａは、移動ルール情報３０３から取得される転回角度に基づいて転回制御が行われると共に、プレーヤの指示操作から算出される移動量に基づいて移動制御が行われる。ここで、転回角度は、キャラクタの向きと、移動指示操作による移動方向との角度差の絶対値よりも小さい角度（例えば、図３（ｃ）では−１５°）が設定される。これにより、キャラクタ１０３ａは、徐々にその向きを移動方向に転回させながら、１フレーム毎に図３（ｃ）の△で示される位置に順々に移動制御される。
【００３５】
図３（ｄ）は、移動指示操作による移動方向がＸ軸正方向に対して＋９０°の方向（図中矢印１０４Ａで示す方向）である場合のキャラクタの移動制御を示す図である。キャラクタ１０４ａは、１フレーム目において、プレーヤの移動指示操作から算出される移動方向（例えば、+９０°の方向）に基づいてキャラクタの向きが転回制御される（図中矢印１０４Ｂ）。続いて、２フレーム目以降においてプレーヤの移動指示操作から算出される移動量に基づいて移動制御が行われる。これにより、キャラクタ１０４ａは、プレーヤの移動指示操作による移動方向に即時に転回された後、転回後のキャラクタの向きと同一方向に直進するように移動制御される。
【００３６】
図３（ｅ）は、移動指示操作による移動方向がＸ軸正方向に対して−９０°の方向（図中矢印１０５Ａで示す方向）である場合のキャラクタの移動制御を示す図である。図３（ｄ）の場合と同様に、キャラクタ１０５ａは、１フレーム目において、プレーヤの移動指示操作から算出される移動方向（例えば、-９０°の方向）に基づいてキャラクタの向きが転回制御され（図中矢印１０５Ｂ）、続いて、２フレーム目以降においてプレーヤの指示操作から算出される移動量に基づいて移動制御が行われる。
【００３７】
図３（ｆ）は、移動指示操作による移動方向がＸ軸正方向に対して±１８０°の方向（図中矢印１０６Ａで示す方向）である場合のキャラクタの移動制御を示す図である。図３（ｆ）に示すように、キャラクタ１０６ａは、１フレーム目において、プレーヤの移動指示操作から算出される移動方向（例えば、+１８０°又は-１８０°の方向）に基づいてキャラクタの向きが転回制御される（図中矢印１０６Ｂ又は１０６Ｃ）。続いて、２フレーム目以降においてプレーヤの移動指示操作から算出される移動量に基づいて移動制御が行われる。
【００３８】
図３（ｇ）は、移動指示操作による移動方向がＸ軸方向に対して＋１３５°の方向（図中矢印１０７Ａで示す方向）である場合のキャラクタの移動制御を示す図である。図３（ｇ）に示すように、キャラクタ１０７ａは、１フレーム目において、プレーヤの指示操作から算出される移動方向（例えば、＋１３５°の方向）に基づいてキャラクタの向きが転回制御され（図中矢印１０７Ｂ）、続いて、２フレーム目以降においてプレーヤの指示操作から算出される移動量に基づいて移動制御が行われる。また、図３（ｈ）は、指示操作による移動方向がＸ軸方向に対して-１３５°の方向（図中矢印１０８Ａで示す方向）である場合のキャラクタの移動制御を示す図であり、キャラクタ１０８ａは、移動方向以外は、図３（ｇ）の場合と同様に移動制御される。
【００３９】
次に図４〜図７を参照して、プレーヤからの移動指示操作と、キャラクタの移動方向との関係について説明する。図４は、ゲーム空間内に配置されるキャラクタの向きを説明する図である。図４（ａ）に示すように、ゲーム空間内に配置されるキャラクタ１０９ａの向きは、図中矢印１０９Ａで示される。この矢印１０９Ａと、ワールド座標系のＸ軸正方向との成す角度が、キャラクタの向きθcとなる（図４（ｂ）参照）。なお、キャラクタの向きθcは、反時計回り方向を＋（プラス）、時計回り方向を−（マイナス）として、−１８０°≦θc＜１８０°で示す。
【００４０】
図５は、プレーヤの指示操作と入力角θiとの関係を説明する図である。図５（ａ）に示すように、操作スティック１５００ａの中立位置を基準として、前後方向は、ワールド座標系のＸ軸方向に該当し、左右方向は、ワールド座標系のＺ軸方向に該当する。従って、操作された操作スティック１５００ａからの操作信号は、前後方向の座標を示すＸ値と左右方向の座標を示すＺ値とを含む。図５（ａ）に示すように、操作スティック１５００ａが操作された場合、操作信号は、図５（ｂ）に示すＸ値とＺ値で示されるポイントＰ（ｘ１，ｚ１）に変換される。そして、Ｘ軸正方向と原点からポイントＰを結ぶ線分との成す角が、入力角θiとなる。なお、入力角θiは、反時計回り方向を＋、時計回り方向を−として、−１８０°≦θi＜１８０°で示す。
【００４１】
図６は、キャラクタの向きθｃと、入力角θiとの関係を説明する図である。図６に示すように、ワールド座標系を基準として、キャラクタの向きθcと、入力角θiとの角度差が、相対入力角θrとなる。すなわち、この相対入力角θrは、キャラクタの向きθcを、ワールド座標系のＸ軸正方向に一致させた場合に、プレーヤの指示操作から求められた入力角θiを、相対的な角度として示すものである。なお、相対入力角θrは、θr＝θi−θcとして、−１８０°≦θr＜１８０°で示す。
【００４２】
次に、図７を参照して、キャラクタの移動方向と、相対入力角θrとの関係を説明する。図７において、実線で示された角度はキャラクタの移動方向を示し、点線により区分された範囲は相対入力角θrの範囲を示している。また、図７に示す０°の方向と、キャラクタの向きθcとは一致しているものとする。
【００４３】
図７において、相対入力角θrの範囲は、例えば、−２２．５°〜＋２２．５°，＋２２．５°〜＋６７．５°，…として、４５°単位で区切られている。また、キャラクタに対する移動指示操作による移動方向は、相対入力角θrの範囲の中央値が設定される。例えば、相対入力角θrが、−２２．５°〜＋２２．５°の範囲内にある場合、キャラクタに対する移動指示操作による移動方向は０°の方向、すなわち、キャラクタの向きθcと同一の方向に設定される。また、相対入力角θrが＋２２．５°〜＋６７．５°の範囲にある場合、キャラクタに対する移動指示操作による移動方向は＋４５°の方向に設定される。
【００４４】
また、各移動方向に対応付けられる符号（ａ）〜（ｈ）は、図３の（ａ）〜（ｈ）と対応しており、各移動方向と移動方法とがそれぞれ対応付けられている。例えば、移動方向が０°の方向の場合は、上述した図３（ａ）に示す方法により移動制御され、移動方向が４５度の場合は、上述した図３（ｂ）に示す移動制御されるというようにそれぞれ対応付けられている。
【００４５】
従って、図７に示す８種の移動方向のうち、±４５°の移動方向、すなわち、相対入力角θrが＋２２．５°〜＋６７．５°又は−６７．５°〜−２２．５°の範囲内にある場合、最初の１フレームの間に転回制御及び移動制御が同時に行われる。また、０°の移動方向、すなわち、相対入力角θrが−２２．５〜＋２２．５°の範囲内にある場合、最初の１フレームの間は移動制御のみが行われる。さらに、±９０°、±１３５°、±１８０°の移動方向、すなわち、相対入力角θrが＋６７．５°〜−６７．５°の範囲内にある場合、最初の１フレームの間は転回制御のみが行われる。
【００４６】
このように、プレーヤの指示操作とキャラクタの向きとに基づく相対入力角θrに応じて、キャラクタの移動制御を行うことにより、キャラクタの自然な移動制御と、機動的な移動制御とを、選択的に行うことができる。これにより、キャラクタの多様な移動制御を実現することができる。
【００４７】
３．機能構成
次に、本実施形態における家庭用ゲーム装置１の機能構成について説明する。図８は、本実施の形態の家庭用ゲーム装置１の内部構成の一例を示すブロック図である。図８に示すように、家庭用ゲーム装置１は、操作部１０、処理部２０、記憶部３０、表示部４０、音出力部５０等を備えて構成され、ビデオゲームを実行してゲーム画像を生成し、生成したゲーム画像を表示部４０に表示させる。
【００４８】
操作部１０は、プレーヤによる操作指示を受け付け、操作に応じた操作信号を処理部２０に出力する。この機能は、例えばボタンや操作スティック、ダイヤル、マウス、キーボード、各種センサ等によって実現される。図１ではコントローラ１１１０，１１１０がこれに相当する。
【００４９】
処理部２０は、家庭用ゲーム装置１全体の制御やゲームの進行、画像生成等の各種演算処理を行う。この機能は、例えばＣＰＵ（ＣＩＳＣ型、ＲＩＳＣ型）、ＡＳＩＣ（ゲートアレイ等）等の演算装置やその制御プログラムにより実現される。図１では、本体装置１１００に具備される制御ユニットがこれに相当する。
【００５０】
また、処理部２０は、主にゲームに係る演算処理を行うゲーム演算部２２と、ゲーム演算部２２の処理によって求められた各種のデータに基づき、仮想カメラ等の所与の視点から見た仮想三次元空間（ゲーム空間）の画像の生成及びゲーム画面を表示させるための画像信号の生成を実行する画像生成部２４と、効果音やＢＧＭ等のゲーム音の生成及びゲーム音を出力させるための音信号の生成を実行する音生成部２６と、を含んでいる。
【００５１】
ゲーム演算部２２は、主な機能部として、キャラクタ制御部２２１を含む。キャラクタ制御部２２１は、キャラクタ制御処理プログラム３０２に従ってキャラクタ制御処理を実行し、プレーヤの指示操作に基づいて、キャラクタのゲーム空間中での移動を制御する。
【００５２】
画像生成部２４は、例えばＣＰＵやＤＳＰ等の演算装置やその制御プログラム、フレームバッファ等の描画フレーム用ＩＣメモリ等によって実現される。画像生成部２４は、ゲーム演算部２２による演算結果に基づき、幾何変換処理やシェーディング処理等を実行してゲーム画面を表示するためのゲーム画像（３ＤＣＧ画像）を生成し、生成した画像の画像信号を表示部４０に出力する。
【００５３】
表示部４０は、画像生成部２４からの画像信号に基づいて、例えば１／６０秒毎に１フレームの画面を再描画しながらゲーム画面を表示する。この機能は、例えばＣＲＴ、ＬＣＤ、ＥＬＤ、ＰＤＰ、ＨＭＤ等のハードウェアによって実現される。図１では、ディスプレイ１２００がこれに相当する。
【００５４】
音生成部２６は、例えばＣＰＵやＤＳＰ等の演算装置及びその制御プログラムによって実現され、ゲーム中に使用される効果音やＢＧＭ等のゲーム音を生成し、生成したゲーム音の音信号を音出力部５０に出力する。
【００５５】
音出力部５０は、音生成部２６からの音信号に基づいて、ＢＧＭや効果音等のゲーム音声を出力する。この機能は、例えばスピーカ等によって実現される。図１では、スピーカ１２０２がこれに相当する。
【００５６】
記憶部３０は、処理部２０に家庭用ゲーム装置１を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームを実行させるために必要なプログラムやデータ等を記憶すると共に、処理部２０の作業領域として用いられ、処理部２０が各種プログラムに従って実行した演算結果や操作部１０から入力される入力データ等を一時的に記憶する。この機能は、例えば各種ＩＣメモリやハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ、ＲＡＭ、ＶＲＡＭ等によって実現される。図１では、本体装置１１００が具備するＣＤ−ＲＯＭ１１０４、ＩＣメモリ１１０６、メモリカード１１０８がこれに該当する。
【００５７】
また、記憶部３０は、処理部２０をゲーム演算部２２として機能させるためのゲームプログラム及びゲームデータを記憶する。具体的には、ゲームプログラムとして、ゲーム演算プログラム３０１、キャラクタ制御処理プログラム３０２を記憶する。また、ゲームデータとして、移動ルール情報３０３、操作データ３０４、キャラクタ情報３０５、を記憶している。
【００５８】
ゲーム演算プログラム３０１は、処理部２０をゲーム演算部２２として機能させるためのプログラムであり、キャラクタ制御処理プログラム３０２は、ゲーム演算部２２をキャラクタ制御部２２１として機能させるためのプログラムである。
【００５９】
移動ルール情報３０３は、キャラクタの向きθcと、プレーヤの移動指示操作による入力角θiとの角度差、すなわち相対入力角θrに対応する移動ルールを記憶している。図９に移動ルール情報３０３のデータ構成例を示す。図９において、相対入力角θrには、例えば、−２２．５°〜＋２２．５といった所与の角度範囲が記憶され、当該範囲に対応づけて、転回制御ルール及び移動制御ルールが記憶される。転回制御ルールには、キャラクタの向きを転回させる場合、例えば、「キャラクタの向きを+１０°回転」といった指示が記憶され、キャラクタの向きを転回させない場合、データは記憶されない。また、移動制御ルールには、キャラクタを移動させる場合、例えば、「操作量に応じて移動制御」といった指示が記憶され、キャラクタを移動させない場合、データは記憶されない。
【００６０】
操作データ３０４は、プレーヤの指示操作から算出される操作データを記憶している。図１０に、操作データ３０４のデータ構成例を示す。図１０において、操作データ３０４には、操作スティック１５００ａの前後方向及び左右方向の操作に応じて算出される入力角（例えば、「θi」）と、操作スティック１５００ａの傾斜角に応じて算出される操作量（例えば、「Ｎi」）が更新可能に記憶されている。
【００６１】
キャラクタ情報３０５は、ゲーム空間内に配置されるプレーヤの操作対象のキャラクタの位置情報及びキャラクタの向きθcを記憶している。図１１にキャラクタ情報３０５のデータ構成例を示す。図１１において、キャラクタ情報３０５には、操作対象キャラクタを特定するためのキャラクタＩＤ（例えば、キャラクタＥａ）に対応づけて、当該キャラクタの位置情報（例えば、「Ｘ１,Ｚ１」）と、当該キャラクタの向き（例えば、「θc」）とが更新可能に記憶されている。
【００６２】
４．処理の流れ
本実施形態における処理の流れについて説明する。
図１２は、キャラクタ制御部２２１がキャラクタ制御処理プログラム３０２を実行することで実現されるキャラクタ制御処理を示すフローチャートである。処理中のループＡは、ゲーム中、１フレーム（１／６０秒）毎に繰り返し実行されるループである。
【００６３】
図１２において、キャラクタ制御処理では、まず、プレーヤによる操作スティック１５００ａにより移動指示操作が行われると（ステップＳ２；ＹＥＳ）、操作データ３０４を更新して（ステップＳ４）、入力角θiを取得する（ステップＳ６）。
【００６４】
また、キャラクタ情報３０５からプレーヤの操作対象キャラクタの向きθcを取得して（ステップＳ８）、入力角θiと、キャラクタの向きθcとから相対入力角θrを算出する（ステップＳ１０）。続いて、移動ルール情報３０３から算出した相対入力角θrに応じた移動ルールを取得する（ステップＳ１２）。
【００６５】
キャラクタ制御部２２１は、取得した移動ルールの移動制御ルールに従って、キャラクタを移動制御するか否かを判別する（ステップＳ１４）。ここで、移動制御するか否かの判別は、移動ルール３０３に移動制御ルールが記憶されているか否かに基づいて判別される。移動ルール３０３に移動制御ルールが記憶されている場合、キャラクタを移動制御すると判別し（ステップＳ１４；ＹＥＳ）、キャラクタの移動制御が直進移動か否かを判別する（ステップＳ１８）。ここで、直進移動か否かの判別は、移動ルール３０３に転回制御ルールが記憶されているか否かに基づいて判別される。
【００６６】
転回制御ルールが記憶されていない場合、キャラクタを転回させない、すなわち、キャラクタを直進させると判別して（ステップＳ１８；ＹＥＳ）、操作データ３０４から操作量を取得して、操作量に基づいてキャラクタの位置情報を更新する（ステップＳ２０）。
【００６７】
一方、転回制御ルールが記憶されている場合、キャラクタを転回させる、すなわち、キャラクタを直進させないと判別して（ステップＳ１８；ＮＯ）、転回制御ルールの転回角度に基づいて、キャラクタの向きを更新する（ステップＳ２２）。さらに、操作データ３０４の操作量に基づいてキャラクタの位置情報を更新する（ステップＳ２４）。
【００６８】
また、ステップＳ１４に戻り、移動ルール３０３に移動制御ルールが記憶されていない場合、キャラクタの移動制御を行わないと判別して（ステップＳ１４；ＮＯ）、転回制御ルールの転回角度に基づいて、キャラクタの向きを更新する（ステップＳ１６）。
【００６９】
そして、キャラクタ制御部２２１は、キャラクタ情報３０５に記憶されている位置情報及びキャラクタの向きに従って、ゲーム空間内にキャラクタを配置する（ステップＳ２６）。以上の処理を毎フレーム単位で繰り返して実行する。
【００７０】
５．ハードウェア構成
次に、本実施の形態におけるゲーム装置１を実現するためのハードウェア構成の一例について図１３を参照して説明する。図１３に示すハードウェア構成では、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６、画像生成ＩＣ１０１０、音生成ＩＣ１００８、Ｉ／Ｏポート１０１２、１０１４を備え、各部がシステムバス１０１６により相互にデータ入出力可能に接続されている。また、Ｉ／Ｏポート１０１２には入力装置１０２２が、Ｉ／Ｏポート１０１４には通信装置１０２４が、それぞれ接続されている。
【００７１】
ＣＰＵ１０００は、情報記憶媒体１００６に格納されるプログラム、ＲＯＭ１００２に格納されるシステムプログラム（装置本体の初期化情報等）、入力装置１０２２によって入力される信号等に従って、機器全体の制御や各種データ処理を行う。このＣＰＵ１０００は、図８に示す処理部２０に相当する。
【００７２】
ＲＡＭ１００４は、ＣＰＵ１０００の作業領域等として用いられる記憶部であり、情報記憶媒体１００６やＲＯＭ１００２内の所与の内容、ＣＰＵ１０００の演算結果等が格納される。このＲＡＭ１００４は、図８に示す記憶部３０の一部を構成するものである。
【００７３】
情報記憶媒体１００６は、プログラム、画像データ、音データ、プレイデータ等が主に格納されるものである。この情報記憶媒体１００６は、図８に示す記憶部３０の一部を構成するものである。本実施の形態を実現するものがコンピュータシステムである場合には、情報記憶媒体１００６は、キャラクタ制御処理プログラム３０２などを格納する情報記憶媒体としてのＣＤ−ＲＯＭ、ＤＶＤ或いはハードディスク等が用いられる。
【００７４】
また、この装置に設けられている画像生成ＩＣ１０１０と音生成ＩＣ１００８により、音や画像の好適な出力が行えるようになっている。
【００７５】
画像生成ＩＣ１０１０は、ＣＰＵ１０００の命令によって、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６等から送られる情報に基づいて画素情報を生成する集積回路であり、生成される表示信号は表示装置１０２６に出力される。表示装置１０２６は、ＣＲＴ、ＬＣＤ、ＥＬＤ、ＰＤＰ、ＨＭＤ等により実現され、図８に示す表示部４０に相当する。
【００７６】
また、音生成ＩＣ１００８は、ＣＰＵ１０００の命令によって、情報記憶媒体１００６やＲＯＭ１００２に記憶される情報、ＲＡＭ１００４に格納される音データに応じた音信号を生成する集積回路であり、生成される音信号はスピーカ１０２０によって出力される。スピーカ１０２０は、図８に示す音出力部５０に相当する。
【００７７】
入力装置１０２２は、各種操作を入力するための装置であり、その機能は、レバー、ボタン、タッチパネル等のハードウェアにより実現される。この入力装置１０２２は、図８に示す操作部１０に相当する。
【００７８】
通信装置１０２４は装置内部で利用される情報を外部とやりとりするものであり、他の装置と通信回線を介して接続されてプログラムに応じた所与の情報を送受すること等に利用される。
【００７９】
６．作用・効果
以上のように、本実施の形態のゲーム装置１は、キャラクタの向きθcに対する移動方向を８方向に設定し、当該移動方向に基づいてキャラクタの移動制御を行う。例えば、キャラクタの向きθcに対する移動方向が左右斜め前の方向（例えば、キャラクタの向きを０°として±４５°の方向）である場合は、キャラクタが徐々にその向きを変えながら移動していくように、移動制御及び回転制御を同時に行う。また、移動方向が直進の方向（例えば、キャラクタの向きを０°として０°の方向）である場合は、キャラクタが直進するような移動制御のみを行う。さらに、移動方向が、横、左右斜め後ろ又は真後ろの方向（例えば、キャラクタの向きを０°として±９０°、±１３５°又は±１８０°の方向）である場合は、まずキャラクタの向きが移動方向に一致するように転回制御した後、キャラクタの向きに沿って直進するような移動制御を行う。
【００８０】
より具体的には、キャラクタの向きθcと、プレーヤの移動指示操作による移動方向（入力角θi）との角度差（相対入力角θr）に対応付けて移動制御ルール及び転回制御ルールを記憶する移動ルール情報３０３を有し、相対入力角θrに対応する移動制御ルール及び転回制御ルールに基づいたキャラクタの移動制御を行う。例えば、相対入力角θrが＋２２．５°〜＋６７．５°又は−６７．５〜−２２．５°の場合、最初の１フレームの間に転回制御と移動制御を行う。また、相対入力角θrが−２２．５°〜＋２２．５°の場合、最初の１フレームの間に移動制御のみを行い、相対入力角θrが＋６７．５°〜＋１８０°又は−１８０°〜−６７．５°の場合、最初の１フレームの間に回転制御のみを行う。
【００８１】
従って、キャラクタが左右斜め前方に移動するような場合は、キャラクタの向きを移動方向に徐々に向けつつキャラクタを移動させることにより、実際の人間の動作に即した自然な動きに近い移動を実現することができる。また、キャラクタが横方向や斜め後ろ、真後ろ方向に移動するような場合は、キャラクタの向きを移動指示操作による移動方向に即時に向けてキャラクタを移動させるため、プレーヤの意思に即してキャラクタを機動的に移動制御することができる。このように、移動指示操作による移動方向とキャラクタの向きとに応じて、キャラクタの移動制御方法を変更することにより、キャラクタの自然な移動制御と、機動的な移動制御とを併せて実現することができる。
【００８２】
また、移動ルール情報３０３は、転回制御ルール及び移動制御ルールを、相対入力角θiに対応付けて記憶している。これにより、プレーヤは自己の移動指示操作による移動方向と、キャラクタの向きとがなす角度に基き、キャラクタの向きが徐々に移動方向に向けられて移動制御されるか、キャラクタの向きが即時に移動方向に向けられて移動制御されるかを容易に把握することができる。従って、状況に応じて移動指示操作を行うことで、プレーヤの意図を反映させたキャラクタの移動制御を行うことができる。
【００８３】
７．変形例
本発明についての好適な実施形態の一例について説明したが、本発明は、上記したものに限らず、発明の趣旨を逸脱しない限りにおいて適宜変更可能である。例えば、本実施の形態においては、キャラクタの移動方向を８方向とし、転回制御及び移動制御が行われる相対入力角θrの範囲を＋２２．５°〜＋６７．５°又は−２２．５°〜−６７．５°としたが、キャラクタの移動方向、相対入力角θrの範囲等は上述した例に限定されない。
【００８４】
また、転回制御及び移動制御が行われる相対入力角θiの角度範囲を他の角度範囲としてもよいし、更にゲームの進行（例えば、特定のゲーム場面）やプレーヤの設定操作等に応じて変更するように構成してもよい。例えば、移動ルール情報３０３に記憶されている相対入力角θrの範囲について、転回制御及び移動制御が同時に行われる相対入力角θrの範囲を＋２２．５°〜＋６７．５°から＋１０°〜＋９０°、−６７．５°〜−２２．５°〜−９０°〜−１０°に設定変更する。或いは、相対入力角θiの角度範囲＋６７．５°〜＋１８０及び−１８０°〜−６７．５°の移動制御ルールを「操作量に応じて移動制御」といった移動制御ルールに設定変更する。
【００８５】
このように、転回制御及び移動制御が行われる相対入力角θrの範囲を広げた場合、キャラクタの自然な移動制御の場面を多くするといったことができる。一方、転回制御及び移動制御が行われる相対入力角の範囲を狭くした場合には、キャラクタの機動的な移動制御の場面を多くするといったことができる。この結果、多様なゲームシーンに適応した様々なキャラクタの移動態様を実現することができる。
【００８６】
また、１フレーム間に転回制御及び移動制御を行う場合に、各フレーム間における転回角度は＋１０°又は−１０°である場合を例として説明したが、転回角度は、少なくとも相対入力角θrより小さい角度であれば良く、上述した例に限定されない。例えば、転回角度を＋１０°より小さくした場合、１フレーム間におけるキャラクタの向きの変化が細かくなるため、キャラクタの方向変化を連続的で自然な動きとして実現することができる。しかし、極度に転回角度を小さくすると、急激な方向転換を行えない、処理負荷が大きくなるといったデメリットが生じる。また、転回角度を＋１０°より大きくした場合、即時にキャラクタの向きを転回させて、計算負荷を小さくすることができる。しかし、転回角度が相対入力角θrに近づくほど、キャラクタの方向変化が断続的となるため、転回制御及び移動制御を同時に行うことにより、キャラクタの自然な移動制御を実現するといった効果を十分に発揮できない。
【００８７】
さらに、キャラクタの移動速度に応じて転回角度が可変に設定される構成であっても良い。例えば、記憶部３０は、キャラクタの移動速度と、転回角度とを対応付けたテーブルを予め記憶しておく。プレーヤによる移動指示操作に含まれる操作量からキャラクタの移動速度を算出し、算出されたキャラクタの移動速度に対応する転回角度を取得する。そして、取得した転回角度と、移動ルール情報３０３に記憶される転回制御ルールとに基づいて、キャラクタの移動制御を行う。これにより、例えば、キャラクタの移動速度が速いほど転回角度が大きくなるように設定した場合、機動的に移動するキャラクタの動きに合わせてキャラクタの向きを速やかに変化させることができる。また、キャラクタの移動速度が遅いほど転回角度が小さくなるように設定した場合、ゆっくりと移動するキャラクタの動きに合わせてキャラクタの向き徐々に変化させることができ、より自然な移動制御を実現することができる。
【００８８】
また、上述した実施形態では、家庭用ゲーム装置を例に挙げて説明したが、本発明を適用可能な装置は、これに限られず、業務用のゲーム装置の他、携帯型のゲーム装置、ＰＤＡ等の装置であってもよいことは勿論である。
【００８９】
さらに、上述した実施形態では、操作スティック１５００ａを用いてプレーヤの移動指示操作を入力する場合について説明を行ったが、移動指示操作の入力手段は、上述した例に限定されない。例えば、図２に示すボタン群１６００ａに含まれる４つの矢印キーにより、８方向の移動指示操作を入力可能な構成としても良い。この構成によれば、ボタンを押すだけで簡単に８方向の移動指示操作が行えるため、アナログスティックの操作に不慣れなプレーヤでも簡単にゲームを楽しむことができる。
【図面の簡単な説明】
【００９０】
【図１】本実施の形態における家庭用ゲーム装置の概観図。
【図２】ゲームコントローラの概観図。
【図３】本実施の形態の原理を説明する図。
【図４】キャラクタの向きを説明する図。
【図５】操作スティックによる指示操作と入力角との関係を説明する図。
【図６】相対入力角を説明する図。
【図７】相対入力角とキャラクタの移動方向との関係を説明する図。
【図８】家庭用ゲーム装置の機能ブロック図。
【図９】移動ルール情報のデータ構成例を示す図。
【図１０】操作データのデータ構成例を示す図。
【図１１】キャラクタ情報のデータ構成例を示す図。
【図１２】キャラクタ制御処理を示すフローチャート。
【図１３】ハードウェア構成の一例を示す図。
【符号の説明】
【００９１】
１０        操作部  
２０        処理部
２２      ゲーム演算部
２２１  キャラクタ制御部
２４      画像生成部
２６      音生成部
３０        記憶部
３０１    ゲーム処理プログラム
３０２    キャラクタ制御処理プログラム
３０３    移動ルール情報
３０４    操作データ
３０５    キャラクタ情報
４０        表示部
５０        音出力部
【図１】
2006254951.tif 000003
【図２】
2006254951.tif 000004
【図３】
2006254951.tif 000005
【図４】
2006254951.tif 000006
【図５】
2006254951.tif 000007
【図６】
2006254951.tif 000008
【図７】
2006254951.tif 000009
【図８】
2006254951.tif 000010
【図９】
2006254951.tif 000011
【図１０】
2006254951.tif 000012
【図１１】
2006254951.tif 000013
【図１２】
2006254951.tif 000014
【図１３】
2006254951.tif 000015