(57)【要約】【課題】３次元空間において、遊戯者がコントローラの簡単な操作によりカメラを自由な方向に向け、プレイヤキャラクタを所望の位置に移動させることができるゲームプログラムを提供することを目的とする。【解決手段】第２操作部の特定方向への操作に応じて被操作オブジェクトをカメラ視線に沿ってカメラから遠ざかる方向に移動させ、特定方向と逆方向への操作に応じてカメラ視線に沿ってカメラに近づく方向に移動させる。特定方向またはその逆方向以外の方向に操作されたとき、カメラ視線と該カメラ視線と直交するゲーム空間の任意の水平線で決定される平面であるカメラ平面上で、その操作方向に応じた方向に移動させる。【選択図】図９
2010125293.tif 000002
【特許請求の範囲】
【請求項１】
遊戯者の操作を受け付ける第１、第２操作部を備えたコントローラが接続されたコンピュータを、
ゲーム空間を生成するゲーム空間生成手段、
前記ゲーム空間内に仮想のカメラを設定し、前記第１操作部の操作に応じて該カメラの位置および向きを制御するカメラ制御手段、
前記ゲーム空間内に被操作オブジェクトを生成し、前記第２操作部の操作に応じて該被操作オブジェクトの移動を制御する被操作オブジェクト制御手段、として機能させ、
前記被操作オブジェクト制御手段は、前記第２操作部の特定方向への操作に応じて、前記被操作オブジェクトを前記カメラ位置からのカメラの向きを示す直線であるカメラ視線に沿って前記カメラから遠ざかる方向に移動させ、前記第２操作部の前記特定方向と逆方向への操作に応じて、前記被操作オブジェクトを前記カメラ視線に沿って前記カメラに近づく方向に移動させることを特徴とするゲームプログラム。
【請求項２】
前記被操作オブジェクト制御手段は、前記第２操作部が前記特定方向またはその逆方向以外の方向に操作されたとき、前記被操作オブジェクトを、前記カメラ視線と該カメラ視線と直交するゲーム空間の任意の水平線で決定される平面であるカメラ平面上で、その操作方向に応じた方向に移動させる請求項１に記載のゲームプログラム。
【請求項３】
前記ゲーム空間生成手段は、他の空間との境界面を有するゲーム空間を生成し、
前記被操作オブジェクト制御手段は、前記被操作オブジェクトが前記ゲーム空間内を移動して前記境界面に達したとき、前記カメラ平面にかかわらず、前記第２操作部の操作に応じて、前記被操作オブジェクトを前記境界面に沿って移動させる請求項１または請求項２に記載のゲームプログラム。
【請求項４】
前記カメラ制御手段は、前記被操作オブジェクトが前記境界面に達したとき、前記カメラの位置を前記他の空間内の所定位置に移動させるとともにゲーム空間内の特定位置が視界に入るように向きを変更する請求項３に記載のゲームプログラム。
【請求項５】
前記被操作オブジェクト制御手段は、前記第１操作部により、前記カメラ視線と前記境界面とが成す角度を変化させる操作が行われたとき、前記第２操作部の操作に応じて、前記被操作オブジェクトを前記カメラ平面に沿って前記ゲーム空間内に移動させる請求項３または請求項４に記載のゲームプログラム。
【請求項６】
前記ゲーム空間生成手段は、ゲーム空間として、上端に境界面である水面を有する水中のゲーム空間、または、下端に地面を有する空中のゲーム空間、を生成する手段である請求項３乃至請求項５のいずれかに記載のゲームプログラム。
【請求項７】
前記コントローラは、第３操作部を備え、
前記被操作オブジェクト制御手段は、前記第３操作部が操作されたとき、前記カメラ平面にかかわらず、前記被操作オブジェクトを前記ゲーム空間内で垂直に上または下に移動させる請求項１乃至請求項６のいずれかに記載のゲームプログラム。
【請求項８】
前記被操作オブジェクト制御手段は、
被操作オブジェクトとして、操作部の操作によって動作を制御されるプレイヤキャラクタを生成し、
第２操作部が操作されないとき、前記プレイヤキャラクタを前記ゲーム空間内で立った状態に制御し、前記操作部が操作されているとき、前記プレイヤキャラクタを移動方向に身体を延ばした状態に制御する請求項１乃至請求項７のいずれかに記載のゲームプログラム。
【請求項９】
請求項１乃至請求項８のいずれかに記載のゲームプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項１０】
請求項１乃至請求項８のいずれかに記載のゲームプログラムを読み込んで実行するコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、遊戯者が操作する被操作オブジェクトが水中などの３次元空間で活動するアクションゲーム等のゲームを実行するプログラム、記憶媒体およびコンピュータ装置に関する。
【背景技術】
【０００２】
従来、遊戯者が操作するプレイヤキャラクタ（被操作オブジェクト）が水中、空中、宇宙空間などの３次元空間において、移動、戦闘などの活動を行うゲームがある。これらのゲームにおいて遊戯者がプレイヤキャラクタを移動させるには、陸上などでの移動である前後左右の移動操作だけでなく、上下（上昇と降下）の移動操作も必要であり、操作が容易ではなかった。
【０００３】
３次元空間においてプレイヤキャラクタを移動させるゲームとして、進みたい方向にコントローラ（例えばＷｉｉ（登録商標）リモコン）を向けてポインタで指し示し、所定の操作子を押下することにより、ゲーム画面上に現れるポインタの方向に向かってプレイヤキャラクタが移動するゲームがある（非特許文献１）。
【０００４】
【非特許文献１】「フォーエバーブルー任天堂公式ガイドブック」小学館、２００７年１０月２日
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献１のゲームでは、ゲーム空間を撮影してゲーム画像を生成する仮想カメラ（以下、カメラ）がプレイヤキャラクタの進行方向に追従するのみであり、カメラを任意に回転させながらプレイヤキャラクタを移動させることができなかった。したがって、プレイヤキャラクタの背後などのプレイヤが視認不可能な範囲（全方位）から敵キャラクタが襲ってくるアクションゲームでは、カメラを任意の方向に向けて敵キャラクタを視認可能な範囲に入れ、プレイヤキャラクタを移動させることが必要であった。また、陸上、水面、水中などの特色が異なる地形を有する３次元空間において、その特色に対応したカメラの向きやプレイヤキャラクタの移動方法を切り換える必要があった。
【０００６】
そこで、この発明は、３次元空間において、遊戯者がコントローラの簡単な操作によりカメラを自由な方向に向け、プレイヤキャラクタを所望の位置に移動させることができるゲームプログラムおよびこのプログラムを記憶した記憶媒体、このプログラムを実行するコンピュータ装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１の発明は、遊戯者の操作を受け付ける第１、第２操作部を備えたコントローラが接続されたコンピュータを、ゲーム空間を生成するゲーム空間生成手段、前記ゲーム空間内に仮想のカメラを設定し、前記第１操作部の操作に応じて該カメラの位置および向きを制御するカメラ制御手段、前記ゲーム空間内に被操作オブジェクトを生成し、前記第２操作部の操作に応じて該被操作オブジェクトの移動を制御する被操作オブジェクト制御手段、として機能させ、前記被操作オブジェクト制御手段は、前記第２操作部の特定方向への操作に応じて、前記被操作オブジェクトを前記カメラ位置からのカメラの向きを示す直線であるカメラ視線に沿って前記カメラから遠ざかる方向に移動させ、前記第２操作部の前記特定方向と逆方向への操作に応じて、前記被操作オブジェクトを前記カメラ視線に沿って前記カメラに近づく方向に移動させることを特徴とする。
【０００８】
請求項２の発明は、請求項１に記載の発明において、前記被操作オブジェクト制御手段は、前記第２操作部が前記特定方向またはその逆方向以外の方向に操作されたとき、前記被操作オブジェクトを、前記カメラ視線と該カメラ視線と直交するゲーム空間の任意の水平線で決定される平面であるカメラ平面上で、その操作方向に応じた方向に移動させることを特徴とする。
【０００９】
請求項３の発明は、請求項１または請求項２に記載の発明において、前記ゲーム空間生成手段は、他の空間との境界面を有するゲーム空間を生成し、前記被操作オブジェクト制御手段は、前記被操作オブジェクトが前記ゲーム空間内を移動して前記境界面に達したとき、前記カメラ平面にかかわらず、前記第２操作部の操作に応じて、前記被操作オブジェクトを前記境界面に沿って移動させることを特徴とする。
【００１０】
請求項４の発明は、請求項３に記載の発明において、前記カメラ制御手段は、前記被操作オブジェクトが前記境界面に達したとき、前記カメラの位置を前記他の空間内の所定位置に移動させるとともにゲーム空間内の特定位置が視界に入るように向きを変更することを特徴とする。
【００１１】
請求項５の発明は、請求項３または請求項４に記載の発明において、前記被操作オブジェクト制御手段は、前記第１操作部により、前記カメラ視線と前記境界面とが成す角度を変化させる操作が行われたとき、前記第２操作部の操作に応じて、前記被操作オブジェクトを前記カメラ平面に沿って前記ゲーム空間内に移動させることを特徴とする。
【００１２】
請求項６の発明は、請求項３乃至請求項５のいずれかに記載の発明において、前記ゲーム空間生成手段は、ゲーム空間として、上端に境界面である水面を有する水中のゲーム空間、または、下端に地面を有する空中のゲーム空間、を生成する手段であることを特徴とする。
【００１３】
請求項７の発明は、請求項１乃至請求項６のいずれかに記載の発明において、前記コントローラは、第３操作部を備え、前記被操作オブジェクト制御手段は、前記第３操作部が操作されたとき、前記カメラ平面にかかわらず、前記被操作オブジェクトを前記ゲーム空間内で垂直に上または下に移動させることを特徴とする。
【００１４】
請求項８の発明は、請求項１乃至請求項７のいずれかに記載の発明において、前記被操作オブジェクト制御手段は、被操作オブジェクトとして、操作部の操作によって動作を制御されるプレイヤキャラクタを生成し、第２操作部が操作されないとき、前記プレイヤキャラクタを前記ゲーム空間内で立った状態に制御し、前記操作部が操作されているとき、前記プレイヤキャラクタを移動方向に身体を延ばした状態に制御することを特徴とする。
【００１５】
請求項９の発明は、請求項１乃至請求項８のいずれかに記載のゲームプログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
【００１６】
請求項１０の発明は、請求項１乃至請求項８のいずれかに記載のゲームプログラムを読み込んで実行するコンピュータ装置である。
【発明の効果】
【００１７】
この発明によれば、十字キー（第１操作部）の操作に応じてカメラ姿勢を制御し、コントロールスティック（第２操作部）の操作により、プレイヤキャラクタ（被操作オブジェクト）をカメラ視線に沿ってカメラから遠ざける方向に移動させたり、カメラに近づける方向に移動させたりすることができるため、遊戯者はコントローラの簡単な操作によりカメラを任意に回転させながらプレイヤキャラクタを所望の位置に移動させることができる。
【００１８】
また、水中等のプレイヤキャラクタを立体的に移動させることが可能となる３次元空間
では、カメラ視線と該カメラ視線と直交するゲーム空間の任意の水平線で決定される平面（カメラ平面）上でプレイヤキャラクタを移動させ、水面（境界面）に達したとき、水面（境界面）に沿ってプレイヤキャラクタを移動させるため、水中と水面とでその地形の特色に合わせた移動方法を切り換えることができる。
【００１９】
さらに、プレイヤキャラクタが水面（境界面）に達したとき、自動的にカメラ位置を所定位置に移動させることにより、遊戯者がプレイしやすいカメラ位置に切り換え、それによりプレイヤキャラクタ（被操作オブジェクト）が水面（境界面）に沿って移動するモード（水面モード）になったことを遊戯者に知らせることができる。そして、遊戯者の操作によってカメラ位置を所定位置から移動させる（カメラ視線と境界面とが成す角度を変化させる）ことにより、水面モードを解除して、カメラ平面上を移動させる水中の移動方法に切り替えることができ、遊戯者はプレイヤキャラクタをスムーズに水中と水面間を移動させることができる。
【発明を実施するための最良の形態】
【００２０】
図面を参照して、本発明が適用されるゲームシステム１について説明する。
図１は、当該ゲームシステム１を説明するための外観図である。以下、据置型ゲーム装置を一例にして、本発明のゲームシステム１について説明する。
【００２１】
図１において、当該ゲームシステム１は、家庭用テレビジョン受像機等のスピーカ２ａを備えたディスプレイ（以下、モニタと記載する）２に、接続コードを介して接続される据置型ゲーム装置（以下、単にゲーム装置と記載する）３および当該ゲーム装置３に操作情報を与えるコントローラ７によって構成される。ゲーム装置３には、当該ゲーム装置３に対して交換可能に用いられる情報記憶媒体の一例の光ディスク４が着脱される。ゲーム装置３には、ゲームの主電源である電源ＯＮ／ＯＦＦスイッチ、ゲーム処理のリセットスイッチ及び光ディスク４の着脱を行うインジェクトスイッチが設けられている。
【００２２】
また、ゲーム装置３には、セーブデータ等を固定的に記憶するバックアップメモリ等を搭載する外部メモリカード５が必要に応じて着脱自在に装着される。ゲーム装置３は、光ディスク４に記憶されたゲームプログラムなどを実行することによって、その結果をゲーム画像としてモニタ２に表示する。さらに、ゲーム装置３は、外部メモリカード５に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をモニタ２に表示することもできる。そして、ゲーム装置３の遊戯者は、モニタ２に表示されたゲーム画像を見ながら、コントローラ７を操作することによって、ゲーム進行を楽しむことができる。
【００２３】
コントローラ７は、その内部に備える通信部７５（後述）から受信ユニット３６ａ（図２参照）が接続されたゲーム装置３へ、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース）（登録商標）の技術を用いて送信データを無線送信する。コントローラ７は、２つのコントロールユニット（コアユニット７０およびサブユニット７６）が屈曲自在な接続ケーブル７９を介して互いに接続されて構成されており、主にモニタ２に表示されるゲーム空間に登場するプレイヤキャラクタ等の遊戯者オブジェクトを操作するための操作手段である。モニタ２の表示画面近傍に２つのＬＥＤモジュール８Ｌおよび８Ｒが設置される。これらＬＥＤモジュール８Ｌおよび８Ｒは、それぞれモニタ２の前方に向かって赤外光を出力する。コアユニット７０およびサブユニット７６は、それぞれ複数の操作ボタン、キー、およびスティック等の操作部が設けられている。また、コアユニット７０は、当該コアユニット７０から見たＬＥＤモジュール８Ｌ，８Ｒの画像を撮像する撮像情報演算部７４（後述）を備えている。
なお、本実施形態では、コアユニット７０とサブユニット７６を屈曲自在なケーブルで接続したが、サブユニット７６に無線ユニットを搭載することで、接続ケーブル７９をなくすこともできる。例えば、無線ユニットとしてＢｌｕｅｔｏｏｔｈ（登録商標）ユニットをサブユニット７６に搭載することで、サブユニット７６からコアユニット７０へ操作データを送信することが可能になる。
【００２４】
次に、図２を参照して、ゲーム装置３の機能的構成について説明する。なお、図２は、ゲーム装置３の機能ブロック図である。
図２において、ゲーム装置３は、各種プログラムを実行する例えばリスク（ＲＩＳＣ）ＣＰＵ（セントラルプロセッシングユニット）３０を備える。ＣＰＵ３０は、図示しないブートＲＯＭに記憶された起動プログラムを実行し、メインメモリ３３等のメモリの初期化等を行った後、光ディスク４に記憶されているゲームプログラムを実行し、そのゲームプログラムに応じたゲーム処理等を行うものである。ＣＰＵ３０には、メモリコントローラ３１を介して、ＧＰＵ（Ｇｒａｐｈｉｃｓ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）３２、メインメモリ３３、ＤＳＰ（Ｄｉｇｉｔａｌ Ｓｉｇｎａｌ Ｐｒｏｃｅｓｓｏｒ）３４、およびＡＲＡＭ（Ａｕｄｉｏ ＲＡＭ）３５が接続される。また、メモリコントローラ３１には、所定のバス４２を介して、コントローラＩ／Ｆ（インターフェース）３６、ビデオＩ／Ｆ３７、外部メモリＩ／Ｆ３８、オーディオＩ／Ｆ３９、およびディスクＩ／Ｆ４１が接続され、それぞれ受信ユニット３６ａ、モニタ２、外部メモリカード５、スピーカ２ａ、およびディスクドライブ４０が接続されている。
【００２５】
ＧＰＵ３２は、ＣＰＵ３０の命令に基づいて画像処理を行うものあり、例えば、３Ｄグラフィックスの表示に必要な計算処理を行う半導体チップで構成される。ＧＰＵ３２は、図示しない画像処理専用のメモリやメインメモリ３３の一部の記憶領域を用いて画像処理を行う。ＧＰＵ３２は、これらを用いてモニタ２に表示すべきゲーム画像データやムービ映像を生成し、適宜メモリコントローラ３１およびビデオＩ／Ｆ３７を介してモニタ２に出力する。
【００２６】
メインメモリ３３は、ＣＰＵ３０に使用される記憶領域であって、ＣＰＵ３０の処理に必要なゲームプログラム等を適宜記憶する。例えば、メインメモリ３３は、ＣＰＵ３０によって光ディスク４から読み出されたゲームプログラムや各種データ等を記憶する。このメインメモリ３３に記憶されたゲームプログラムや各種データ等がＣＰＵ３０によって実行される。
【００２７】
ＤＳＰ３４は、ゲームプログラム実行時にＣＰＵ３０において生成されるサウンドデータ等を処理するものであり、そのサウンドデータ等を記憶するためのＡＲＡＭ３５が接続される。ＡＲＡＭ３５は、ＤＳＰ３４が所定の処理（例えば、先読みしておいたゲームプログラムやサウンドデータの記憶）を行う際に用いられる。ＤＳＰ３４は、ＡＲＡＭ３５に記憶されたサウンドデータを読み出し、メモリコントローラ３１およびオーディオＩ／Ｆ３９を介してモニタ２に備えるスピーカ２ａに出力させる。
【００２８】
メモリコントローラ３１は、データ転送を統括的に制御するものであり、上述した各種Ｉ／Ｆがバス４２を介して接続される。コントローラＩ／Ｆ３６は、コントローラ７をゲーム装置３と通信可能に接続する。例えば、受信ユニット３６ａは、コントローラＩ／Ｆ３６を介してメモリコントローラ３１と接続される。上述したように受信ユニット３６ａは、コントローラ７からの送信データを受信し、コントローラＩ／Ｆ３６を介して当該送信データをＣＰＵ３０へ出力する。ビデオＩ／Ｆ３７には、モニタ２が接続される。外部メモリＩ／Ｆ３８には、外部メモリカード５が接続され、その外部メモリカード５に設けられたバックアップメモリ等とアクセス可能となる。
オーディオＩ／Ｆ３９にはモニタ２に内蔵されるスピーカ２ａが接続され、ＤＳＰ３４がＡＲＡＭ３５から読み出したサウンドデータやディスクドライブ４０から直接出力されるサウンドデータをスピーカ２ａから出力可能に接続される。ディスクＩ／Ｆ４１には、ディスクドライブ４０が接続される。ディスクドライブ４０は、所定の読み出し位置に配置された光ディスク４に記憶されたデータを読み出し、ゲーム装置３のバス４２やオーディオＩ／Ｆ３９に出力する。
【００２９】
図３を参照して、コアユニット７０について説明する。なお、図３（Ａ）は、コアユニット７０の上面後方から見た斜視図である。図３（Ｂ）は、コアユニット７０を下面後方から見た斜視図である。
コアユニット７０は、例えばプラスチック成型によって形成されたハウジング７１を有している。ハウジング７１は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。
【００３０】
ハウジング７１上面の中央前面側に、十字キー７２ａが設けられる。この十字キー７２ａは、十字型のボタンヘッドで結合された４つのプッシュスイッチであり、ボタンヘッドの上下左右の４つの方向の突出片がそれぞれの方向に対応するプッシュスイッチの操作子となる。遊戯者が十字キー７２ａのいずれかの操作子を押下することによって上下左右いずれかの方向が選択される。なお、遊戯者がコアユニット７０をモニタ２方向に向けて水平に把持した場合、「上下」の操作子は「前後」の操作子となる。例えば遊戯者が十字キー７２ａを操作することによって、仮想ゲーム世界に登場するカメラ等の移動方向を指示したり、カーソルの移動方向を指示したりすることができる。
【００３１】
ハウジング７１上面の十字キー７２ａより後面側に、複数のボタンスイッチ７２ｂ〜７２ｇが設けられる。ボタンスイッチ７２ｂ〜７２ｇは、遊戯者がボタン頭部を押下することによって、それぞれのボタンスイッチ７２ｂ〜７２ｇに割り当てられた操作信号を出力する操作部である。例えば、ボタンスイッチ７２ｂ〜７２ｄには、１ボタン、２ボタン、Ａボタンとしての機能が割り当てられる。また、ボタンスイッチ７２ｅ〜７２ｇには、−（マイナス）ボタン、ホームボタン、および＋（プラス）ボタンとしての機能が割り当てられる。
【００３２】
なお、ボタンスイッチ７２ｂ〜７２ｄは、ハウジング７１上面の中央前後方向に沿って並設されている。また、ボタンスイッチ７２ｅ〜７２ｇは、ハウジング７１上面の左右方向に沿って操作ボタン７２ｂおよび７２ｄの間に並設されている。そして、ボタンスイッチ７２ｆは、その上面がハウジング７１の上面に埋没しており、遊戯者が不意に誤って押下することのないタイプのボタンである。
【００３３】
また、ハウジング７１上面の十字キー７２ａより前面側に、ボタンスイッチ７２ｈが設けられる。このボタンスイッチ７２ｈは、遠隔からゲーム装置３本体の電源をオン／オフする電源スイッチである。この操作ボタン７２ｈも、その上面がハウジング７１の上面に埋没しており、遊戯者が不意に誤って押下することのないタイプのボタンである。
【００３４】
また、ハウジング７１上面のボタンスイッチ７２ｃより後面側に、複数のＬＥＤ７０２が設けられる。ここで、コントローラ７は、他のコントローラ７と区別するためにコントローラ種別（番号）が設けられている。例えば、ＬＥＤ７０２は、コントローラ７に現在設定されている上記コントローラ種別を遊戯者に通知するために用いられる。具体的には、コアユニット７０から受信ユニット３６ａへ送信データを送信する際、上記コントローラ種別に応じて複数のＬＥＤ７０２のうち、種別に対応するＬＥＤが点灯する。
【００３５】
一方、ハウジング７１下面には、凹部が形成されている。ハウジング７１下面の凹部は、遊戯者がコアユニット７０を把持したとき、この遊戯者の人差し指や中指が位置するような位置に形成される。そして、上記凹部の後面側傾斜面には、ボタンスイッチ７２ｉが設けられる。ボタンスイッチ７２ｉは、Ｂボタンとして機能する操作部である。
【００３６】
これらボタンスイッチ７２ｂ〜７２ｇ，７２ｉには、ゲーム装置３が実行するゲームプログラムに応じてそれぞれの機能が割り当てられる。後述のアクションゲームにおいて、Ａボタンであるボタンスイッチ７２ｄは、プレイヤキャラクタに武器による攻撃をさせるための操作子として機能し、Ｂボタンであるボタンスイッチ７２ｉは、緊急回避の行動をさせるための操作子として機能する。
【００３７】
また、ハウジング７１前面には、撮像情報演算部７４（図５を参照）の一部を構成する撮像素子７４３が設けられる。ここで、撮像情報演算部７４は、コアユニット７０が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大２００フレーム／秒程度のサンプリング周期であるため比較的高速なコアユニット７０の動きでも追跡して解析することができる。この撮像情報演算部７４の詳細な構成については、後述する。また、ハウジング７０の後面には、コネクタ７３が設けられている。コネクタ７３は、例えば３２ピンのエッジコネクタであり、接続ケーブル７９のコネクタと嵌合して接続するために利用される。
【００３８】
図４を参照して、サブユニット７６について説明する。なお、図４（Ａ）はサブユニット７６の上面図であり、図４（Ｂ）はサブユニット７６の下面図であり、図４（Ｃ）はサブユニット７６の左側面図である。
【００３９】
図４において、サブユニット７６は、例えばプラスチック成型によって形成されたハウジング７７を有している。ハウジング７７は、その前後方向を長手方向とし、サブユニット７６において最太部となる頭部を前方に形成した流線型の立体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。
【００４０】
ハウジング７７上面の上記最太部近傍に、スティック７８ａが設けられる。スティック７８ａは、ハウジング７７上面から突出した傾倒可能なスティックを倒すことによって、傾倒方向に応じて操作信号を出力する操作部である。例えば、遊戯者がスティック先端を３６０°任意の方向に傾倒することによって任意の方向や位置を指定することができ、仮想ゲーム世界に登場するプレイヤキャラクタ等の移動方向を指示したり、カーソルの移動方向を指示したりすることができる。
【００４１】
次に、図５を参照して、コントローラ７の内部構成について説明する。図５は、コントローラ７の構成を示すブロック図である。
図５において、コアユニット７０は、上述した操作部７２および撮像情報演算部７４の他に、その内部に通信部７５、加速度センサ７０１およびバイブレータ７０４を備えている。
【００４２】
撮像情報演算部７４は、赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、および画像処理回路７４４を含んでいる。赤外線フィルタ７４１は、コアユニット７０の前方から入射する光から赤外線のみを通過させる。レンズ７４２は、赤外線フィルタ７４１を透過した赤外線を集光して撮像素子７４３へ出射する。撮像素子７４３は、例えばＣＭＯＳセンサやあるいはＣＣＤのような固体撮像素子であり、レンズ７４２が集光した赤外線を撮像する。したがって、撮像素子７４３は、赤外線フィルタ７４１を通過した赤外線だけを撮像して画像データを生成する。撮像素子７４３で生成された画像データは、画像処理回路７４４で処理される。具体的には、画像処理回路７４４は、撮像素子７４３から得られた画像データを処理して高輝度部分を検知し、それらの位置座標や面積を検出した結果を示す処理結果データを通信部７５へ出力する。
【００４３】
なお、これらの撮像情報演算部７４は、コアユニット７０のハウジング７１に固設されており、ハウジング７１自体の方向が変わるとそれに伴ってその撮像方向も変わる。この撮像情報演算部７４から出力される処理結果データに基づいて、コアユニット７０の位置や動きに応じた信号を得ることができる。
【００４４】
なお、サブユニット７６のハウジング７１は、サブユニット７６とは屈曲自在な接続ケーブル７９によって接続されているため、サブユニット７６の方向や位置を変更しても撮像情報演算部７４の撮像方向が変化しない。また、サブユニット７６にもコアユニット７０と同様の撮像情報演算部を設けてもよい。
【００４５】
加速度センサ７０１は、コアユニット７０の上下方向、左右方向および前後方向の３軸でそれぞれ加速度を検知する加速度センサである。なお、加速度センサ７０１は、必要な操作信号の種類によっては、上下方向、左右方向の２軸でそれぞれ加速度を検出する加速度センサが用いられてもかまわない。加速度センサ７０１が検知した加速度を示すデータは、通信部７５へ出力される。なお、加速度センサ７０１は、典型的には静電容量式の加速度センサが用いられるが、他の方式の加速度センサやジャイロセンサを用いてもかまわない。この加速度センサ７０１から出力される加速度データに基づいて、コアユニット７０の動きを検出することができる。
【００４６】
通信部７５は、マイクロコンピュータ（Ｍｉｃｒｏ Ｃｏｍｐｕｔｅｒ：マイコン）７５１、メモリ７５２、無線モジュール７５３、およびアンテナ７５４を含んでいる。マイコン７５１は、処理の際にメモリ７５２を記憶領域として用いながら、送信データを無線送信する無線モジュール７５３を制御する。
【００４７】
コアユニット７０に設けられた操作部７２からの操作信号（コアキーデータ）、加速度センサ７０１からの加速度信号（加速度データ）、および撮像情報演算部７４からの処理結果データは、マイコン７５１に出力される。また、接続ケーブル７９を介して、サブユニット７６に設けられた操作部７８からの操作信号（サブキーデータ）は、マイコン７５１に出力される。マイコン７５１は、入力した各データ（コアキーデータ、サブキーデータ、加速度データ、処理結果データ）を受信ユニット３６ａへ送信する送信データとして一時的にメモリ７５２に格納する。
【００４８】
ここで、通信部７５から受信ユニット３６ａへの無線送信は、所定の周期毎に行われるが、ゲームの処理は１／６０を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は１６．７ｍｓ（１／６０秒）であり、ブルートゥースで構成される通信部７５の送信間隔は５ｍｓである。マイコン７５１は、受信ユニット３６ａへの送信タイミングが到来すると、メモリ７５２に格納されている送信データを一連の操作情報として出力し、無線モジュール７５３へ出力する。そして、無線モジュール７５３は、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース；登録商標）の技術を用いて、所定周波数の搬送波を用いて操作情報をその電波信号としてアンテナ７５４から放射する。
【００４９】
つまり、コアユニット７０に設けられた操作部７２からのコアキーデータ、サブユニット７６に設けられた操作部７８からのサブキーデータ、加速度センサ７０１からの加速度データ、および撮像情報演算部７４からの処理結果データがコアユニット７０から送信される。そして、ゲーム装置３の受信ユニット３６ａでその電波信号を受信し、ゲーム装置３で当該電波信号を復調や復号することによって、一連の操作情報（コアキーデータ、サブキーデータ、加速度データおよび処理結果データ）を取得する。そして、ゲーム装置３のＣＰＵ３０は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。また、ゲーム装置３のＣＰＵ３０は、ＬＥＤ８Ｌ，８Ｒの位置座標や面積の検出結果を示す処理結果データおよびＬＥＤ８Ｌ，８Ｒ間の距離等に基づいて、コアユニット７０の位置および向きを算出する。
【００５０】
なお、Ｂｌｕｅｔｏｏｔｈ（登録商標）の技術を用いて通信部７５を構成する場合、通信部７５は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
【００５１】
バイブレータ７０４は、例えば振動モータ又はソレノイド等が考えられる。バイブレータ７０４が作動することによってコアユニット７０に振動が発生するので、それを把持している遊戯者の手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。
【００５２】
遊戯者は、右手の親指をコアユニット７０の上面（例えば、十字キー７２ａ付近）に添え、人差し指をコアユニット７０下面の凹部（例えば、操作ボタン７２ｉ付近）に添える形態でコアユニット７０を把持する。このとき、コアユニット７０の前面に設けられている撮像情報演算部７４の光入射口が遊戯者の前方方向に露出する。
【００５３】
このように、コアユニット７０は、遊戯者が片手で把持した状態で十字キー７２ａや操作ボタン７２ｉ等の操作部７２を容易に操作することができる。さらに、遊戯者がコアユニット７０を片手で把持したとき、当該コアユニット７０の前面に設けられている撮像情報演算部７４の光入射口が露出するため、上述した２つのＬＥＤモジュール８Ｌおよび８Ｒからの赤外光を容易に当該光入射口から取り入れることができる。つまり、遊戯者は、コアユニット７０が有する撮像情報演算部７４の機能を阻害することなくコアユニット７０を片手で把持することができる。つまり、遊戯者がコアユニット７０を把持した手を表示画面に対して動かすことによって、コアユニット７０は、遊戯者の手の運動が表示画面に直接作用する操作入力をさらに備えることができる。
また、サブユニット７６も、遊戯者の左手でほぼ同様の形態で把持・操作される。
【００５４】
ここで、上記構成のゲームシステムで実行されるアクションゲームについて説明する。このゲームは、遊戯者が操作するプレイヤキャラクタが敵キャラクタを討伐することによりミッションを達成していくゲームである。プレイヤキャラクタがミッションを行うゲームステージには、平野、丘、山、海、川、池、湖等の地形を有するものがあり、プレイヤキャラクタの行動範囲は陸上だけでなく、水中にも広がっている。
【００５５】
陸上では、プレイヤキャラクタは地面上を前後左右３６０°方向に移動し、陸上に生息する敵キャラクタと戦闘を行う。一方、水中では、プレイヤキャラクタは前後左右だけでなく上下にも移動し、任意の方向に浮上と潜水を行って、水中に生息する敵キャラクタと戦闘を行う。また、プレイヤキャラクタは顔を水面上に出し、水面に沿って移動したり、水面に浮上してきた敵キャラクタや水面際に生息する敵キャラクタと戦闘を行ったりすることができる。
【００５６】
遊戯者は、右手で把持したコアユニット７０と左手で把持したサブユニット７６を同時に使用して、ゲーム画面の操作およびプレイヤキャラクタの移動操作を行う。
【００５７】
コアユニット７０の十字キー７２ａにより、ゲーム空間を撮影する仮想カメラ（以下、カメラ）の位置および向き（以下、「カメラ位置」という。）が操作される。カメラは、ゲーム空間内で活動するプレイヤキャラクタを撮影するため、プレイヤキャラクタと所定距離を保ちながら、常にプレイヤキャラクタ内又はプレイヤキャラクタ近傍等に設定されたカメラの向け先である注視点（本発明の「特定位置」）に向けられる。そして、カメラはその注視点を中心に回転する。このように、カメラの位置と向きは互いに連動しており、カメラは注視点を向いたまま、位置を移動させることができる。
【００５８】
遊戯者は、十字キー７２ａの見たい方向（上下左右）に対応する操作子を押下することにより、見たい方向を映すようにカメラの位置を移動させることができる。すなわち、遊戯者が上の操作子を押下すると、カメラはプレイヤキャラクタの下に向かって回転し、プレイヤキャラクタを見上げるようになる。逆に、遊戯者が下の操作子を押下すると、カメラはプレイヤキャラクタの上に向かって回転し、プレイヤキャラクタを見下ろすようになる。同様に、遊戯者が左の操作子を押下すると、カメラはプレイヤキャラクタを中心に右方向に回転しプレイヤキャラクタの左方を見るようになる。逆に、遊戯者が右の操作子を押下すると、カメラはプレイヤキャラクタを中心に左方向に回転しプレイヤキャラクタの右方を見るようになる。
【００５９】
また、遊戯者は、サブユニット７６下面のＣボタン７８ｄを押下することにより、プレイヤキャラクタの背後から水平にゲーム空間を撮影するイニシャル方向（位置）にカメラ位置をリセットすることができる。このようにキャラクタの動きから独立してカメラのみを任意に回転させることができるため、遊戯者の所望する方向のゲーム画像をモニタ２に表示させ、たとえば、プレイヤキャラクタの背後にいる敵キャラクタを発見することができる。
【００６０】
サブユニット７６のコントロールスティック７８ａにより、プレイヤキャラクタの移動方向が制御される。遊戯者は、コントロールスティック７８ａを任意の方向に傾倒することにより、カメラ位置を始点として注視点に向けられた直線（以下、「カメラ視線」と言う。）を基準としてプレイヤキャラクタの移動方向を指示することができる。コントロールスティック７８ａを上方向に傾倒することにより、プレイヤキャラクタをカメラ視線の方向に（ゲーム画面の奥に）移動させる。逆に、コントロールスティック７８ａを下方向に傾倒することにより、プレイヤキャラクタをカメラ視線と逆方向に（ゲーム画面の手前に）移動させる。
【００６１】
コントロールスティック７８ａは任意の方向に傾倒することができ、どの方向に傾倒しても、上記カメラ視線とこのカメラ視線に直交する水平線とで決定される平面（以下、「カメラ平面」という。）上でプレイヤキャラクタを任意の方向に移動させる。ここで、水平線とは、ゲーム空間の仮想的に設定されている重力方向（後述する図７〜図９のＹ軸方向）に直交する後述する図７〜図９のＸＺ平面に平行な直線をいう。
【００６２】
遊戯者は、カメラを操作してカメラ位置を変えながらコントロールスティック７８ａを傾倒することによりプレイヤキャラクタをゲーム空間内の任意の場所に思い通りに移動させることができる。プレイヤキャラクタの陸上、水面、水中での詳細な移動操作については図７〜図９を参照して後述する。
【００６３】
このようなゲームを実行するゲームプログラムを上述したゲーム装置に読み込ませることにより、図６に示すようなゲームシステムを機能的に実現することができる。ゲームシステムは、操作検出部５０、ゲーム進行制御部５１、描画処理部５５等から構成されている。ゲーム進行制御部５１は、プレイヤキャラクタ制御部５２、ノンプレイヤキャラクタ制御部５３、ゲーム空間制御部５４を含んでいる。描画処理部５５は、カメラ制御部５６を含んでいる。
【００６４】
操作検出部５０は、ＣＰＵ３０、ＧＰＵ３２等のデータ処理部およびコントローラ７を含み、遊戯者の各種操作を検出して、ゲーム進行制御部５１および描画処理部５５に伝達する。ゲーム進行制御部５１は、ＣＰＵ３０、ＧＰＵ３２等のデータ処理部を含み、仮想のゲーム空間やキャラクタを生成するとともに、遊戯者の操作や時間の経過等に応じて、上述のゲーム空間を変化させたりキャラクタを活動させたりする等の処理を行ってゲームを進行させる。
【００６５】
プレイヤキャラクタ制御部５２は、ゲーム空間内にプレイヤキャラクタを生成するとともに、操作検出部５０から入力される操作情報に基づいてプレイヤキャラクタの移動などの活動を制御する。ノンプレイヤキャラクタ制御部５３は、ゲーム空間内にノンプレイヤキャラクタを生成するとともに、ノンプレイヤキャラクタの活動を制御する。ゲーム空間制御部５４は、操作検出部５０から入力された操作情報に基づいて選択されたフィールドのゲーム空間を生成するとともに、そのゲーム空間の天候や昼夜の変更などの環境を制御する。
【００６６】
描画処理部５５は、ＣＰＵ３０、ＧＰＵ３２等のデータ処理部を含み、ゲーム進行制御部５１が生成したゲーム空間、キャラクタを二次元のスクリーンに投影したゲーム画像を生成してモニタ２に出力する。具体的には、ゲーム空間を撮影したカメラの画像を生成し、この画像をモニタ２に表示する。カメラ制御部５６は、遊戯者によるコアユニット７０の十字キー７２ａの操作に応じてカメラの位置および向きを制御する。
【００６７】
ゲームプログラムは、仮想的な３次元のゲーム空間を形成し、このゲーム空間を所定の視点から透視投影した２次元画像から生成したゲーム画像を外部に（モニタ２に）出力する処理をゲーム装置３に実行させる。具体的には、カメラ位置と注視点との間にモニタ２と同じサイズの仮想的なスクリーンを配置し、キャラクタやオブジェクトが配置されているゲーム空間をカメラ位置から見た映像をこのスクリーン上に透視投影して描画した２次元映像をゲーム画像とする。
【００６８】
以下、図７〜図９を参照して、プレイヤキャラクタの移動操作方法を説明する。この図では、カメラを水平方向に向けて設置した位置を原点として、互いに直交したＸ軸、Ｙ軸、Ｚ軸の座標軸を定め、カメラの鉛直上向きをＹ軸、カメラ視線をＺ軸、そのＹ軸とＺ軸に直交するカメラの水平方向をＸ軸とした直交座標系（ワールド座標系）で説明している。
【００６９】
図７は、陸上でのカメラとプレイヤキャラクタとの位置関係を示す図であり、Ｘ軸、Ｙ軸、Ｚ軸はゲーム空間内に設定されたワールド座標系を表しており、地面Ｇはこのワールド座標系のＸＺ平面に平行な面である。遊戯者は、十字キー７２ａの左右の操作子を操作することにより、カメラを注視点から所定距離、ＸＺ平面に平行な地面Ｇから所定角度を保ちながらＹ軸周りに３６０°任意の位置に移動させることができる。また、十字キー７２ａの上下の操作子を操作することにより、カメラの位置をＤ２〜Ｕ２の上下５段階の予め定められた所定の位置に変更できる。５段階は、水平Ｈ、上方向２段階Ｕ１、Ｕ２、下方向２段階Ｄ１、Ｄ２である。
【００７０】
陸上では、カメラ位置に関わらず、ＸＺ平面に平行な地面Ｇが常にプレイヤキャラクタの移動平面となり、プレイヤキャラクタは地面Ｇ上を移動する。カメラの左右の位置によりカメラ視線の方向が決定され、コントロールスティック７８ａの傾倒方向に応じて移動を行う。例えば、カメラが円周１００上に位置し、プレイヤキャラクタ方向を視線方向とする場合、カメラがＤ２〜Ｕ２のいずれに位置しても、遊戯者がコントロールスティック７８ａを上に傾倒するとプレイヤキャラクタ１０１は１０１ａの方向に移動し、下に傾倒すると１０１ｂの方向に移動する。
【００７１】
図８は、水面上でのカメラとプレイヤキャラクタとの位置関係を示す図であり、Ｘ軸、Ｙ軸、Ｚ軸はゲーム空間内に設定されたワールド座標系を表しており、水面Ｗはこのワールド座標系のＸＺ平面に平行な面である。
【００７２】
プレイヤキャラクタは、図１０（Ａ）のように、顔を水面Ｗ上に出し、図１０（Ｂ）のように、首から下を水中に沈めたまま、水面Ｗに沿って移動したり、水面Ｗに浮上してきた敵キャラクタや水面際に生息する敵キャラクタと戦闘を行ったりすることができる。また、息継ぎをしたり、水面Ｗなどの様子を見たりすることができる。プレイヤキャラクタが水中から水面Ｗに到達すると、カメラは、水面Ｗより上で、かつ、プレイヤキャラクタを見下ろすことができる所定位置Ｕ１まで自動的に移動するよう制御される。Ｕ１は、注視点から所定距離、水面Ｗから所定角度の位置に予め設定されている。このカメラが移動する間は、プレイヤキャラクタは潜水動作（水中への移動）を行うことができず、コントロールスティック７８ａの傾倒方向に応じて水面Ｗ上を移動する。以下、この移動状態を「水面モード」という。
【００７３】
なお、カメラは、所定位置Ｕ１まで自動的に移動するよう制御されるが、所定位置まで瞬時に移動させてもよく、時間をかけて移動させるようにしてもよい。
【００７４】
そして、カメラ移動後も、カメラが所定位置Ｕ１にある間は水面モードであり、プレイヤキャラクタは同様に水面Ｗを移動平面とし、水面Ｗ上を移動する。このとき、プレイヤキャラクタは水面Ｗに垂直（Ｙ軸方向）な姿勢（図１０）ではなく、水面Ｗ上を沿うような姿勢で移動する。例えば、カメラがＵ１に位置し、プレイヤキャラクタがＺ軸方向を向いているとき、遊戯者がコントロールスティック７８ａを上に傾倒するとプレイヤキャラクタ１０１は１０１ｃの方向に移動し、下に傾倒すると１０１ｄの方向に移動する。
【００７５】
水面モードは、十字キー７２ａの上下の操作子を押下しない限り維持される。水面モードのときに十字キー７２ａの左右の操作子を押下した場合、カメラは注視点を中心として前記Ｕ１の所定距離、所定角度を保ちながらＹ軸周りに３６０°任意の位置に移動させることができる。このカメラの左右の位置によりカメラ視線の方向が決定される。なお、プレイヤキャラクタはコントロールスティック７８ａの傾倒方向に応じて水面Ｗ上で移動を行う。
【００７６】
一方、遊戯者が十字キー７２ａの上下の操作子を押下することで、カメラをＸ軸周りに約１８０°任意の位置に移動させることができるが、この上下の操作によりカメラ位置が所定位置Ｕ１ではなくなるため、水面モードが解除される。これは陸上のように予め定められた段階的なカメラ位置の変更（選択）ではなく、連続的なカメラ位置の移動である。
【００７７】
なお、「連続的」なカメラ位置の移動には、完全な自由値の角度の移動だけでなく、陸上の場合よりも細かい角度ステップ（たとえば１〜５°間隔）で移動させる場合も含む。
【００７８】
例えば、遊戯者が十字キー７２ａの下の操作子を操作することにより、カメラ位置がＵ１からＵ３に移動し、カメラがプレイヤキャラクタを見下ろす位置にある場合、遊戯者がコントロールスティック７８ａを上に傾倒することにより、プレイヤキャラクタ１０１は潜水動作を行い１０１ｅの方向に移動する。逆に、コントロールスティック７８ａを下に傾倒すると、プレイヤキャラクタは水面Ｗから空中に向かって移動することはできないため、水面Ｗ上の１０１ｄの方向に移動する。
【００７９】
一方、遊戯者が十字キー７２ａの上の操作子を操作することにより、カメラ位置がＵ１からＤ３に移動し、カメラがプレイヤキャラクタを見上げる位置にある場合、遊戯者がコントロールスティック７８ａを下に傾倒することにより、プレイヤキャラクタは潜水動作を行い１０１ｆの方向に移動する。逆に、コントロールスティック７８ａを上に傾倒すると、プレイヤキャラクタは水面Ｗから空中に向かって移動することはできないため、水面Ｗ上の１０１ｃの方向に移動するよう制御している。
【００８０】
すなわち、遊戯者の操作によりカメラ位置が所定位置Ｕ１ではなくなると、水面モードが解除され、プレイヤキャラクタの移動平面は水面Ｗではなくなり、カメラ平面ＣＰがプレイヤキャラクタの移動平面となる。そして、プレイヤキャラクタはコントロールスティック７８ａの傾倒方向に応じてカメラ平面ＣＰ上で移動を行う。
【００８１】
図９は、水中でのカメラとプレイヤキャラクタとの位置関係を示す図である。
遊戯者は、十字キー７２ａの左右の操作子を操作することにより、カメラの回転角度をＹ軸周りに３６０°任意の位置に連続的に移動させることができ、十字キー７２ａの上下の操作子を操作することにより、カメラの回転角度をＸ軸周りに約１８０°任意の位置に連続的に移動させることができる。なお、本実施形態では、敵キャラクタとの戦闘時に制御が複雑になるため、移動させることができるカメラの位置をＸ軸周り（上下）については３６０°とせず約１８０°としているが、上下も３６０°移動できるようにしてもよい。
【００８２】
水中では、プレイヤキャラクタは常にカメラ平面ＣＰを移動平面とし、コントロールスティック７８ａの傾倒方向に応じてカメラ平面ＣＰ上で移動を行う。例えば、カメラ位置がＨ（水平）のとき、遊戯者がコントロールスティック７８ａを上に傾倒するとプレイヤキャラクタ１０１は１０１ｇの方向に移動し、下に傾倒すると１０１ｈの方向に移動する。
【００８３】
例えば、カメラ位置がＤ１のとき、プレイヤキャラクタはカメラ平面ＣＰ上を前（浮上）後（潜水）左右に移動する。遊戯者がコントロールスティック７８ａを上に傾倒するとプレイヤキャラクタ１０１は１０１ｉの方向に移動し、下に傾倒すると１０１ｊの方向に移動する。
【００８４】
図１１は、カメラ位置がＤ１のときにプレイヤキャラクタが水中で移動する姿を示す図である。この図において、上部中央に表示されているのは水面に差し込む太陽の光であり、これはプレイヤキャラクタのちょうど真上に位置している。同図（Ａ）では、遊戯者がコントロールスティック７８ａを上に傾倒することにより、プレイヤキャラクタが水面に向かって（カメラの奥に）浮上している。同図（Ｂ）では、遊戯者がコントロールスティック７８ａを下に傾倒することにより、プレイヤキャラクタが水面から離れるように（カメラの手前に）潜水している。
【００８５】
例えば、カメラ位置がＵ１のとき、プレイヤキャラクタはカメラ平面ＣＰ上を前（潜水）後（浮上）左右に移動する。遊戯者がコントロールスティック７８ａを上に傾倒するとプレイヤキャラクタ１０１は１０１ｋの方向に移動し、下に傾倒すると１０１ｌの方向に移動する。
【００８６】
また、遊戯者は、水中においてプレイヤキャラクタに（図９）回避行動を行わせることができる。遊戯者がコアユニット７０のＢボタン７２ｉを押下すると、プレイヤキャラクタはカメラ位置に関わらず、垂直方向（Ｙ軸の−方向）に下へ移動する回避行動を行う。例えば、プレイヤキャラクタ１０１は１０１ｘの方向に移動する。また、遊戯者がコアユニット７０を垂直方向に向けた状態でＢボタン７２ｉを押下すると、プレイヤキャラクタはカメラ位置に関わらず、垂直方向（Ｙ軸の＋方向）に上へ移動する回避行動を行う。例えば、プレイヤキャラクタ１０１は１０１ｙの方向に移動する。さらに、遊戯者がコントロールスティック７８ａを傾倒させた状態でＢボタン７２ｉの押下を行うと、プレイヤキャラクタはコントロールスティック７８ａの傾倒方向に所定距離移動する「緊急回避」を行う。これらの回避は、一刻も早く敵から逃げるときなどに有効である。
【００８７】
さらに、遊戯者は、上記移動、回避操作を行いながら、敵に対する攻撃操作を行う。遊戯者は、プレイヤキャラクタが所持している武器の中から１種類の武器を選択して攻撃技を繰り出すことができる。各武器を用いた攻撃技はそれぞれ複数あり、遊戯者はコントローラの操作により攻撃技を選択することができる。
【００８８】
遊戯者がコアユニット７０のＡボタン７２ｄを押下することにより、プレイヤキャラクタは攻撃技を繰り出すが、コアユニット７０の姿勢（向き）によって繰り出される攻撃技の種類が異なる。例えば、コアユニット７０を水平に把持した状態、コアユニット７０の上面部を右向きにした状態、コアユニット７０の上面部を左向きにした状態でＡボタン７２ｄを押下すると、プレイヤキャラクタはそれぞれ異なる攻撃技を繰り出す。さらに、遊戯者がコアユニット７０を垂直に把持した状態でＡボタン７２ｄを押下し続けるとプレイヤキャラクタは「溜め行動」を行い、力が溜まった状態でコアユニット７０を揺動させるかＡボタン７２ｄを放すと「溜め攻撃」を行う。陸上では、プレイヤキャラクタの正面に対してこれらの攻撃行動を行う。
【００８９】
また、プレイヤキャラクタが水中にいるときに攻撃操作を行う場合、プレイヤキャラクタは水中では水面Ｗに垂直（Ｙ軸方向）な姿勢であるため、コントロールスティック７８ａを操作せずに攻撃操作を行うと、ＸＺ平面に平行な方向を正面として攻撃行動を行う。一方、コントロールスティック７８ａを操作しながら攻撃操作を行うと、カメラ平面ＣＰを移動平面として移動しながら攻撃するため、移動時の姿勢のままそのとき向いている方向に対して攻撃行動を行う。
【００９０】
以下、図１２、図１３のフローチャートを参照して本実施形態の移動制御処理について説明する。
図１２は、カメラ制御部５６が行うカメラの視点制御処理を示すフローチャートである。なお、この処理は例えば１フレームごとに繰り返し実行される。
【００９１】
まず、十字キー７２ａの操作（押下）を検出すると（Ｓ１１）、押下された十字キー７２ａの操作子が左右の操作子であるか否かを判定する（Ｓ１２）。押下された操作子が左右の操作子である場合（Ｓ１２でＹＥＳ）、カメラ位置を左右の押下された方向に移動させる（Ｓ１３）。
【００９２】
押下された操作子が左右の操作子ではない場合（Ｓ１２でＮＯ）、すなわち押下された操作子が上下の操作子である場合、プレイヤキャラクタが陸上にいるか否かを判定する（Ｓ１４）。プレイヤキャラクタが陸上にいる場合（Ｓ１４でＹＥＳ）、カメラ位置を上下の押下された方向に１段階変更する（Ｓ１５）。陸上ではカメラ位置を上下５段階の予め定められた所定の位置に変更でき、５段階とは、水平、上方向２段階、下方向２段階である。
【００９３】
プレイヤキャラクタが陸上にいない場合（Ｓ１４でＮＯ）、すなわちプレイヤキャラクタが水面Ｗ上または水中にいる場合、カメラ位置を上下の押下された方向に連続的に移動させる（Ｓ１６）。カメラ位置は上下約９０°ずつ（約１８０°）変更可能であるが、その所定値以上は操作子を押下してもカメラ位置は移動しない。
【００９４】
図１３は、プレイヤキャラクタ制御部５３が行うプレイヤキャラクタの移動制御処理を示すフローチャートである。
まず、コントロールスティック７８ａの操作（傾倒）を検出すると（Ｓ２１）、プレイヤキャラクタが水中にいるか否かを判定する（Ｓ２２）。プレイヤキャラクタが水中にいる場合（Ｓ２２でＹＥＳ）、プレイヤキャラクタをカメラ平面ＣＰ上でコントロールスティック７８ａの傾倒方向に応じて移動させる（Ｓ２３）。プレイヤキャラクタが水中にいない場合（Ｓ２２でＮＯ）、プレイヤキャラクタが陸上にいるか否かを判定する（Ｓ２４）。プレイヤキャラクタが陸上にいる場合（Ｓ２４でＹＥＳ）、プレイヤキャラクタを地面Ｇ上でコントロールスティック７８ａの傾倒方向に応じて移動させる（Ｓ２５）。プレイヤキャラクタが陸上にいない場合（Ｓ２４でＮＯ）、すなわちプレイヤキャラクタが水面Ｗ上にいる場合、カメラ位置が所定位置Ｕ１であるか否かを判定する（Ｓ２６）。カメラ位置が所定位置Ｕ１である場合（Ｓ２６でＹＥＳ）、プレイヤキャラクタを水面Ｗ上でコントロールスティック７８ａの傾倒方向に応じて移動させる（Ｓ２７）。カメラ位置が所定位置Ｕ１ではない場合（Ｓ２６でＮＯ）、プレイヤキャラクタをカメラ平面ＣＰ上でコントロールスティック７８ａの傾倒方向に応じて移動させる（Ｓ２８）。
【００９５】
なお、本実施形態では、遊戯者が十字キー７２ａの上下左右の操作子を押下すると、カメラ位置を押下された方向と逆の方向に移動させて押下された方向のゲーム画像をモニタ２に表示しているが、カメラ位置を上下左右の押下された方向に移動させるようにしてもよい。
【００９６】
なお、本実施形態では、カメラ位置を所定位置Ｕ１からわずかでも移動させた場合に水面モードを解除しているが、水面モードを解除する条件を、カメラ位置を所定位置Ｕ１より所定角度（Ｕ１±α）以上移動させた場合としてもよい。
【００９７】
また、このアクションゲームをプレイする場合に、プレイヤキャラクタの移動制御にコアユニット７０、仮想カメラの移動制御にサブユニット７６を用いるようにしてもよい。
【００９８】
さらに、この発明は、家庭用ゲーム機のみならずアーケードゲーム機に適用してもよい。また、ゲーム機本体とコントローラが分離したゲーム機のみならず、コントローラと装置本体が一体化した携帯用ゲーム機に適用してもよい。
【００９９】
上述したように、この実施形態では、カメラの位置を変更するとそれに連動してカメラの向きも（たとえば注視点が視界の中心になるように）変更されるが、カメラの位置と向きを互いに連動させないようにしてもよい。また、連動させる場合でもカメラの位置に向きをリアルタイムに（遅れ・進みなく）追従させなくてもよく、たとえば、カメラの位置を移動させてから向きを注視点方向に変更してもよく、逆にカメラの向きを変更してから位置を移動させてもよい。
【図面の簡単な説明】
【０１００】
【図１】この発明が適用されるゲームシステムを説明するための外観図
【図２】図１に示したゲーム装置の機能ブロック図
【図３】図１に示したコアユニットの斜視図
【図４】図１に示したサブユニットの３面図
【図５】前記コントローラの構成を示すブロック図
【図６】ゲームプログラムとゲーム装置で構成されるゲームシステムの構成を示す図
【図７】陸上での仮想カメラとプレイヤキャラクタとの位置関係を示す図
【図８】水面での仮想カメラとプレイヤキャラクタとの位置関係を示す図
【図９】水中での仮想カメラとプレイヤキャラクタとの位置関係を示す図
【図１０】上記ゲームシステムにおいて、キャラクタが水面で行動する画面の例を示す図
【図１１】上記ゲームシステムにおいて、キャラクタが水中で移動する画面の例を示す図
【図１２】上記ゲームシステムにおいて、アクションゲームを実行する処理動作を示すフローチャート
【図１３】上記ゲームシステムにおいて、アクションゲームを実行する処理動作を示すフローチャート
【符号の説明】
【０１０１】
１…ゲームシステム
２…モニタ
２ａ…スピーカ
３…ゲーム装置
７…コントローラ
８…ＬＥＤモジュール
３０…ＣＰＵ
３１…メモリコントローラ
３２…ＧＰＵ
３３…メインメモリ
７０…コアユニット
７２…操作部
７２ａ…十字キー
７２ｄ…Ａボタン
７４…撮像情報演算部
７５…通信部
７６…サブユニット
７８ａ…コントロールスティック
７０１…加速度センサ
７０４…バイブレータ
７４１…赤外線フィルタ
７４２…レンズ
７４３…撮像素子
７４４…画像処理回路
７５１…マイコン
７５２…メモリ
７５３…無線モジュール
７５４…アンテナ
【図１】
2010125293.tif 000003
【図２】
2010125293.tif 000004
【図３】
2010125293.tif 000005
【図４】
2010125293.tif 000006
【図５】
2010125293.tif 000007
【図６】
2010125293.tif 000008
【図７】
2010125293.tif 000009
【図８】
2010125293.tif 000010
【図９】
2010125293.tif 000011
【図１２】
2010125293.tif 000012
【図１３】
2010125293.tif 000013
【図１０】
2010125293.tif 000014
【図１１】
2010125293.tif 000015