(57)【要約】【課題】プレイヤが容易に結果を予測できない趣向性の高い操作が可能となるゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法を提供する。【解決手段】操作入力取得手段は、入力装置に対して行われたプレイヤの操作入力を取得する。指示位置設定手段は、操作入力に応じて、仮想ゲーム世界に対する指示位置を設定する。生体信号取得手段は、プレイヤから生体信号を取得する。指示位置変化手段は、生体信号取得手段が取得した生体信号に応じて、指示位置を変化させる。ゲーム処理手段は、指示位置に基づいて、所定のゲーム処理を行う。【選択図】図１５
2011161050.tif 000002
【特許請求の範囲】
【請求項１】
入力装置に対するプレイヤの操作に応じて設定される指示位置に基づいてゲーム処理を行うゲーム装置のコンピュータで実行されるゲームプログラムであって、
前記コンピュータを、
入力装置に対して行われたプレイヤの操作入力を取得する操作入力取得手段と、
前記操作入力に応じて、仮想ゲーム世界に対する指示位置を設定する指示位置設定手段と、
プレイヤから生体信号を取得する生体信号取得手段と、
前記生体信号取得手段が取得した生体信号に応じて、前記指示位置を変化させる指示位置変化手段と、
前記指示位置に基づいて、所定のゲーム処理を行うゲーム処理手段として機能させる、ゲームプログラム。
【請求項２】
前記ゲーム処理手段は、
前記指示位置に応じて照準を設定し、当該照準が設定された仮想ゲーム世界を当該照準とともに表示装置に表示する照準表示手段と、
前記照準の位置に対応する仮想ゲーム世界内の位置を目標として発射オブジェクトを前記操作入力に応じて発射し、当該発射された発射オブジェクトが配置された仮想ゲーム世界を前記表示装置に表示する発射オブジェクト発射表示手段とを含む、請求項１に記載のゲームプログラム。
【請求項３】
前記照準表示手段は、前記指示位置変化手段が前記指示位置を変化させることに応じて、前記表示装置の表示画面に対して前記照準を表示する位置を変化させ、当該照準が設定された仮想ゲーム世界を当該照準とともに表示装置に表示する、請求項２に記載のゲームプログラム。
【請求項４】
前記照準表示手段は、前記指示位置変化手段が前記指示位置を変化させることに応じて、前記表示装置の表示画面に表示される仮想ゲーム世界の範囲を変化させ、当該照準が設定された仮想ゲーム世界を当該照準とともに表示装置に表示する、請求項２に記載のゲームプログラム。
【請求項５】
前記指示位置変化手段は、前記生体信号取得手段が取得した生体信号に応じて、前記指示位置を一時的に変化させる、請求項１から４のいずれか１項に記載のゲームプログラム。
【請求項６】
前記生体信号取得手段は、周期性を有する生体信号をプレイヤから取得し、
前記指示位置変化手段は、前記生体信号が有する周期毎に前記指示位置を変化させる、請求項１から５のいずれか１項に記載のゲームプログラム。
【請求項７】
前記指示位置変化手段は、前記生体信号が有する周期毎に前記指示位置を揺らす動作を開始し、時間経過に応じて前記指示位置が揺れる幅が減衰するように前記指示位置を変化させる、請求項６に記載のゲームプログラム。
【請求項８】
前記生体信号取得手段が取得した周期性を有する生体信号に基づいて、プレイヤの脈拍または心拍における拍タイミングを検出する拍タイミング検出手段として、さらに前記コンピュータを機能させ、
前記指示位置変化手段は、前記拍タイミング検出手段が検出した拍タイミングから前記指示位置を変化させる、請求項６に記載のゲームプログラム。
【請求項９】
前記生体信号取得手段は、プレイヤの脈波または心拍に関する信号を前記生体信号として取得し、
前記拍タイミング検出手段は、前記生体信号取得手段が取得した脈波または心拍が極小値または極大値を示すタイミングを、前記拍タイミングとして検出する、請求項８に記載のゲームプログラム。
【請求項１０】
前記生体信号取得手段は、プレイヤの脈波または心拍に関する信号を前記生体信号として取得し、
前記拍タイミング検出手段は、前記生体信号取得手段が取得した脈波または心拍において、血管が収縮または膨張する速度が最大となるタイミングを、前記拍タイミングとして検出する、請求項８に記載のゲームプログラム。
【請求項１１】
前記生体信号取得手段は、プレイヤの脈波または心拍に関する信号を前記生体信号として取得し、
前記拍タイミング検出手段は、前記生体信号取得手段が取得した脈波または心拍において、血管が収縮する加速度または膨張する加速度が最大となるタイミングを、前記拍タイミングとして検出する、請求項８に記載のゲームプログラム。
【請求項１２】
前記指示位置変化手段は、一時的に前記指示位置を変化させる動作を終了する場合、当該終了後の指示位置が前記指示位置設定手段によって設定されている指示位置となるように前記指示位置を変化させる、請求項５に記載のゲームプログラム。
【請求項１３】
前記指示位置設定手段は、前記指示位置変化手段が一時的に前記指示位置を変化させる動作を終了した場合、前記指示位置変化手段が当該終了した時点の指示位置を用いて当該指示位置設定手段の指示位置を設定する、請求項５に記載のゲームプログラム。
【請求項１４】
前記生体信号取得手段が取得した生体信号に基づいて、プレイヤの脈拍または心拍における拍タイミングを検出する拍タイミング検出手段として、さらに前記コンピュータを機能させ、
前記指示位置変化手段は、前記拍タイミング検出手段が検出した拍タイミングから所定時間が結果するまで一時的に前記指示位置を変化させる、請求項１２または１３に記載のゲームプログラム。
【請求項１５】
前記指示位置変化手段は、前記生体信号取得手段が取得した生体信号に応じて、前記指示位置を変化させる変化量および前記指示位置を変化させる期間の少なくとも一方を設定し、当該変化量および当該期間の少なくとも一方に基づいて前記指示位置を変化させる、請求項１から４のいずれか１項に記載のゲームプログラム。
【請求項１６】
前記生体信号取得手段は、プレイヤの脈波、心拍数、交感神経活動度、副交感神経活動度、心拍変動係数、心拍間隔、呼吸周期、脈波振幅から成る群から選ばれる少なくとも１つを前記生体信号として取得し、
前記指示位置変化手段は、前記生体信号取得手段が取得した前記群から選ばれた少なくとも１つに応じて、前記指示位置を変化させる変化量および前記指示位置を変化させる期間の少なくとも一方を設定する、請求項１５に記載のゲームプログラム。
【請求項１７】
前記指示位置変化手段は、前記群から選ばれた少なくとも１つに基づいて算出されたプレイヤの脈拍または心拍の波形の振幅が大きいほど、前記指示位置を変化させる変化量を大きく設定する、請求項１６に記載のゲームプログラム。
【請求項１８】
入力装置に対するプレイヤの操作に応じて設定される指示位置に基づいてゲーム処理を行うゲーム装置であって、
入力装置に対して行われたプレイヤの操作入力を取得する操作入力取得手段と、
前記操作入力に応じて、仮想ゲーム世界に対する指示位置を設定する指示位置設定手段と、
プレイヤから生体信号を取得する生体信号取得手段と、
前記生体信号取得手段が取得した生体信号に応じて、前記指示位置を変化させる指示位置変化手段と、
前記指示位置に基づいて、所定のゲーム処理を行うゲーム処理手段とを備える、ゲーム装置。
【請求項１９】
複数の装置が通信可能に構成され、入力装置に対するプレイヤの操作に応じて設定される指示位置に基づいてゲーム処理を行うゲームシステムであって、
入力装置に対して行われたプレイヤの操作入力を取得する操作入力取得手段と、
前記操作入力に応じて、仮想ゲーム世界に対する指示位置を設定する指示位置設定手段と、
プレイヤから生体信号を取得する生体信号取得手段と、
前記生体信号取得手段が取得した生体信号に応じて、前記指示位置を変化させる指示位置変化手段と、
前記指示位置に基づいて、所定のゲーム処理を行うゲーム処理手段とを備える、ゲームシステム。
【請求項２０】
少なくとも１つの情報処理装置により構成される情報処理システムに含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行されるゲーム処理方法であって、
入力装置に対して行われたプレイヤの操作入力を取得する操作入力取得ステップと、
前記操作入力に応じて、仮想ゲーム世界に対する指示位置を設定する指示位置設定ステップと、
プレイヤから生体信号を取得する生体信号取得ステップと、
前記生体信号取得手段が取得した生体信号に応じて、前記指示位置を変化させる指示位置変化ステップと、
前記指示位置に基づいて、所定のゲーム処理を行うゲーム処理ステップとを含む、ゲーム処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法に関し、より特定的には、プレイヤの指示位置に基づいて所定のゲーム処理を行うゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法に関する。
【背景技術】
【０００２】
従来、仮想ゲーム世界に設けられた標的を射撃する射撃ゲームが知られている（例えば、特許文献１参照）。上記射撃ゲームでは、射撃用の入力装置（例えば、照準器が付設された銃型の入力装置）を用いて、表示装置に表示される標的を射撃するゲームが行われる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０７−１８１９３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１で開示された射撃ゲームでは、プレイヤが射撃用の入力装置の向きを変える操作によって射撃方向が決定され、射撃を行う操作（例えば、射撃用の入力装置のトリガを操作する）によって決定された射撃方向に弾丸が発射される。このような操作は、プレイヤにとって単調な操作であり、趣向性に乏しい操作であった。
【０００５】
それ故に、本発明の目的は、プレイヤが容易に結果を予測できない趣向性の高い操作が可能となるゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は、以下に述べるような特徴を有している。
【０００７】
本発明のゲームプログラムは、入力装置に対するプレイヤの操作に応じて設定される指示位置に基づいてゲーム処理を行うゲーム装置のコンピュータで実行される。ゲームプログラムは、操作入力取得手段、指示位置設定手段、生体信号取得手段、指示位置変化手段、およびゲーム処理手段として、コンピュータを機能させる。操作入力取得手段は、入力装置に対して行われたプレイヤの操作入力を取得する。指示位置設定手段は、操作入力に応じて、仮想ゲーム世界に対する指示位置を設定する。生体信号取得手段は、プレイヤから生体信号を取得する。指示位置変化手段は、生体信号取得手段が取得した生体信号に応じて、指示位置を変化させる。ゲーム処理手段は、指示位置に基づいて、所定のゲーム処理を行う。
【０００８】
上記によれば、プレイヤの操作に応じて設定される指示位置は、プレイヤが指示位置を指示する操作だけでなく、プレイヤ自身の生体信号に応じてその位置が決定されるため、プレイヤが容易に結果を予測できない趣向性の高い操作が可能となる。
【０００９】
また、上記ゲーム処理手段は、照準表示手段および発射オブジェクト発射表示手段を含んでいてもよい。照準表示手段は、指示位置に応じて照準を設定し、当該照準が設定された仮想ゲーム世界を当該照準とともに表示装置に表示する。発射オブジェクト発射表示手段は、照準の位置に対応する仮想ゲーム世界内の位置を目標として発射オブジェクトを操作入力に応じて発射し、当該発射された発射オブジェクトが配置された仮想ゲーム世界を表示装置に表示する。
【００１０】
上記によれば、発射オブジェクトの目標となる照準は、プレイヤが指示位置を指示する操作だけでなく、プレイヤ自身の生体信号に応じてその位置が決定されるため、プレイヤが容易に結果を予測できない趣向性の高い操作が可能となる。
【００１１】
また、上記照準表示手段は、指示位置変化手段が指示位置を変化させることに応じて、表示装置の表示画面に対して照準を表示する位置を変化させ、当該照準が設定された仮想ゲーム世界を当該照準とともに表示装置に表示してもよい。
【００１２】
また、上記照準表示手段は、指示位置変化手段が指示位置を変化させることに応じて、表示装置の表示画面に表示される仮想ゲーム世界の範囲を変化させ、当該照準が設定された仮想ゲーム世界を当該照準とともに表示装置に表示してもよい。
【００１３】
上記によれば、表示画面に表示される照準の位置および／または仮想ゲーム世界の範囲が、プレイヤから得られる生体信号に応じて変化するため、プレイヤが容易に結果を予測できない趣向性の高い操作が可能となる。
【００１４】
また、上記指示位置変化手段は、生体信号取得手段が取得した生体信号に応じて、指示位置を一時的に変化させてもよい。
【００１５】
上記によれば、プレイヤの操作に応じて設定される指示位置は、プレイヤが指示位置を指示する操作で決定されるだけでなく、一時的にプレイヤ自身の生体信号によってその位置が変化するため、一時的に操作が難しくなるような趣向性の高い操作が可能となる。
【００１６】
また、上記生体信号取得手段は、周期性を有する生体信号をプレイヤから取得してもよい。また、上記指示位置変化手段は、生体信号が有する周期毎に指示位置を変化させてもよい。
【００１７】
上記によれば、プレイヤの操作に応じて設定される指示位置は、プレイヤが指示位置を指示する操作で決定されるだけでなく、ある周期毎にプレイヤ自身の生体信号によってその位置が変化するため、周期的に操作が難しくなるような趣向性の高い操作が可能となる。
【００１８】
また、上記指示位置変化手段は、生体信号が有する周期毎に指示位置を揺らす動作を開始し、時間経過に応じて指示位置が揺れる幅が減衰するように指示位置を変化させてもよい。
【００１９】
上記によれば、プレイヤの操作に応じて設定される指示位置は、プレイヤが指示位置を指示する操作で決定されるだけでなく、ある周期毎にプレイヤ自身の生体信号によって揺れるようにその位置が変化するため、プレイヤ自身の生体信号が操作に影響を与えていることがわかりやすくなる。
【００２０】
また、上記ゲームプログラムは、拍タイミング検出手段として、さらにコンピュータを機能させてもよい。拍タイミング検出手段は、生体信号取得手段が取得した周期性を有する生体信号に基づいて、プレイヤの脈拍または心拍における拍タイミングを検出する。この場合、指示位置変化手段は、拍タイミング検出手段が検出した拍タイミングから指示位置を変化させてもよい。
【００２１】
上記によれば、プレイヤの操作に応じて設定される指示位置が、プレイヤが指示位置を指示する操作で決定されるだけでなく、プレイヤの脈拍または心拍における拍タイミングの周期毎にその位置が変化するため、自身の脈拍や心拍が操作に影響するようなゲーム処理が可能となる。
【００２２】
また、上記生体信号取得手段は、プレイヤの脈波または心拍に関する信号を生体信号として取得してもよい。第１の例として、拍タイミング検出手段は、生体信号取得手段が取得した脈波または心拍が極小値または極大値を示すタイミングを、拍タイミングとして検出してもよい。第２の例として、拍タイミング検出手段は、生体信号取得手段が取得した脈波または心拍において、血管が収縮または膨張する速度が最大となるタイミングを、拍タイミングとして検出してもよい。第３の例として、拍タイミング検出手段は、生体信号取得手段が取得した脈波または心拍において、血管が収縮する加速度または膨張する加速度が最大となるタイミングを、拍タイミングとして検出してもよい。
【００２３】
上記の何れの例によっても、プレイヤから得られる脈波や心拍に関する信号を用いて、拍タイミングを正確に検出することができる。
【００２４】
また、上記指示位置変化手段は、一時的に指示位置を変化させる動作を終了する場合、当該終了後の指示位置が指示位置設定手段によって設定されている指示位置となるように指示位置を変化させてもよい。
【００２５】
上記によれば、指示位置が生体信号によって一時的に変化した後、プレイヤが指示位置を指示する操作のみで決定される位置に戻るため、当該一時的な変化後は、違和感なく指示位置を指示する操作が可能となる。
【００２６】
また、上記指示位置設定手段は、指示位置変化手段が一時的に指示位置を変化させる動作を終了した場合、指示位置変化手段が当該終了した時点の指示位置を用いて当該指示位置設定手段の指示位置を設定してもよい。
【００２７】
上記によれば、生体信号によって一時的に変化した指示位置を、その後の指示位置を決定する操作にも影響を及ぼすことができる。
【００２８】
また、上記ゲームプログラムは、拍タイミング検出手段として、さらにコンピュータを機能させてもよい。拍タイミング検出手段は、生体信号取得手段が取得した生体信号に基づいて、プレイヤの脈拍または心拍における拍タイミングを検出する。この場合、指示位置変化手段は、拍タイミング検出手段が検出した拍タイミングから所定時間が結果するまで一時的に指示位置を変化させてもよい。
【００２９】
上記によれば、プレイヤの拍タイミングから所定時間内だけ一時的にプレイヤが容易に操作ができない趣向性の高い操作が可能となる。
【００３０】
また、上記指示位置変化手段は、生体信号取得手段が取得した生体信号に応じて、指示位置を変化させる変化量および指示位置を変化させる期間の少なくとも一方を設定し、当該変化量および当該期間の少なくとも一方に基づいて指示位置を変化させてもよい。
【００３１】
上記によれば、指示位置を変化させる変化量や変化させる期間が、生体信号に基づいて設定されるため、さらにプレイヤが容易に結果を予測できない趣向性の高い操作が可能となる。
【００３２】
また、上記生体信号取得手段は、プレイヤの脈波、心拍数、交感神経活動度、副交感神経活動度、心拍変動係数、心拍間隔、呼吸周期、脈波振幅から成る群から選ばれる少なくとも１つを生体信号として取得してもよい。この場合、指示位置変化手段は、生体信号取得手段が取得した群から選ばれた少なくとも１つに応じて、指示位置を変化させる変化量および指示位置を変化させる期間の少なくとも一方を設定してもよい。
【００３３】
上記によれば、脈波、心拍数、交感神経活動度、副交感神経活動度、心拍変動係数、心拍間隔、呼吸周期、または脈波振幅に基づいて、指示位置を変化させる変化量や変化させる期間を変化させることができる。
【００３４】
また、指示位置変化手段は、群から選ばれた少なくとも１つに基づいて算出されたプレイヤの脈拍または心拍の波形の振幅が大きいほど、指示位置を変化させる変化量を大きく設定してもよい。
【００３５】
上記によれば、指示位置を変化させる変化量が、脈拍または心拍の波形の振幅に基づいて設定されるため、さらにプレイヤが容易に結果を予測できない趣向性の高い操作が可能となる。
【００３６】
また、本発明は、上記各手段を備えるゲーム装置およびゲームシステムや上記各手段で行われる動作を含むゲーム処理方法の形態で実施されてもよい。
【発明の効果】
【００３７】
本発明によれば、プレイヤの操作に応じて設定される指示位置が、プレイヤが指示位置を指示する操作だけでなく、プレイヤ自身の生体信号に応じてその位置が決定されるため、プレイヤが容易に結果を予測できない趣向性の高い操作が可能となる。
【図面の簡単な説明】
【００３８】
【図１】本発明の一実施形態に係るゲームシステム１の一例を示す外観図
【図２】図１のゲーム装置本体５の一例を示すブロック図
【図３】図１のコアユニット７０の上面後方から見た一例を示す斜視図
【図４】図３のコアユニット７０を下面前方から見た一例を示す斜視図
【図５】図３のコアユニット７０の上筐体を外した状態の一例を示す斜視図
【図６】図４のコアユニット７０の下筐体を外した状態の一例を示す斜視図
【図７】図３のコアユニット７０の構成の一例を示すブロック図
【図８】バイタルセンサ７６の構成の一例を示すブロック図
【図９】バイタルセンサ７６から出力される生体情報の一例である脈波情報の例を示す図
【図１０】モニタ２に表示されるゲーム画像の一例を示す図
【図１１】モニタ２に表示されるゲーム画像の一例を示す図
【図１２】モニタ２に表示されるゲーム画像の一例を示す図
【図１３Ａ】モニタ２に表示される照準Ｓの動きを示す第１段階の一例を示す図
【図１３Ｂ】モニタ２に表示される照準Ｓの動きを示す第２段階の一例を示す図
【図１３Ｃ】モニタ２に表示される照準Ｓの動きを示す第３段階の一例を示す図
【図１３Ｄ】モニタ２に表示される照準Ｓの動きを示す第４段階の一例を示す図
【図１４】ゲーム装置本体５のメインメモリに記憶される主なデータおよびプログラムの一例を示す図
【図１５】ゲーム装置本体５において実行されるゲーム処理の一例を示すフローチャート
【図１６】図１５のステップ４２に示す初期設定の詳細な処理の一例を示すサブルーチン
【図１７】図１５のステップ４４に示す揺れ処理初期設定の詳細な処理の一例を示すサブルーチン
【図１８】図１５のステップ４５に示す揺れ処理の詳細な処理の一例を示すサブルーチン
【発明を実施するための形態】
【００３９】
図１を参照して、本発明の一実施形態に係るゲームプログラムを実行する装置について説明する。以下、説明を具体的にするために、当該装置の一例である据置型のゲーム装置本体５を含むゲームシステムを用いて説明する。なお、図１は据置型のゲーム装置３を含むゲームシステム１の一例を示す外観図であり、図２はゲーム装置本体５の一例を示すブロック図である。以下、当該ゲームシステム１について説明する。
【００４０】
図１において、ゲームシステム１は、表示手段の一例の家庭用テレビジョン受像機（以下、モニタと記載する）２と、当該モニタ２に接続コードを介して接続する据置型のゲーム装置３とから構成される。モニタ２は、ゲーム装置３から出力された音声信号を音声出力するためのスピーカ２ａを備える。また、ゲーム装置３は、上記ゲームプログラムを記録した光ディスク４と、当該光ディスク４のゲームプログラムを実行してゲーム画面をモニタ２に表示出力させるためのコンピュータを搭載したゲーム装置本体５と、ゲーム画面に表示されたキャラクタ等を操作するゲームに必要な操作情報をゲーム装置本体５に与えるためのコントローラ７とを備えている。
【００４１】
ゲーム装置本体５は、無線コントローラモジュール１９（図２参照）を内蔵する。無線コントローラモジュール１９は、コントローラ７から無線送信されるデータを受信し、ゲーム装置本体５からコントローラ７へデータを送信して、コントローラ７とゲーム装置本体５とを無線通信によって接続する。さらに、ゲーム装置本体５には、当該ゲーム装置本体５に対して交換可能に用いられる情報記憶媒体の一例の光ディスク４が脱着される。
【００４２】
ゲーム装置本体５には、セーブデータ等のデータを固定的に記憶するバックアップメモリとして機能するフラッシュメモリ１７（図２参照）が搭載される。ゲーム装置本体５は、光ディスク４に記憶されたゲームプログラム等を実行することによって、その結果をゲーム画像としてモニタ２に表示する。また、上記ゲームプログラムは、光ディスク４に限らず、フラッシュメモリ１７に予め記録されたものを実行するようにしてもよい。さらに、ゲーム装置本体５は、フラッシュメモリ１７に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をモニタ２に表示することもできる。そして、ゲーム装置３のプレイヤは、モニタ２に表示されたゲーム画像を見ながら、コントローラ７を操作することによって、ゲーム進行を楽しむことができる。
【００４３】
コントローラ７は、無線コントローラモジュール１９を内蔵するゲーム装置本体５へ、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース；登録商標）の技術を用いて操作情報および生体情報等の送信データを無線送信する。コントローラ７は、コアユニット７０およびバイタルセンサ７６を備えており、コアユニット７０およびバイタルセンサ７６が屈曲自在な接続ケーブル７９を介して互いに接続されて構成されている。コアユニット７０は、主にモニタ２の表示画面に表示されるオブジェクト等を操作するための操作手段である。バイタルセンサ７６は、プレイヤの身体（例えば、指）に装着されてプレイヤの生体信号を取得し、接続ケーブル７９を介してコアユニット７０へ生体情報を送る。コアユニット７０は、片手で把持可能な程度の大きさのハウジングと、当該ハウジングの表面に露出して設けられた複数個の操作ボタン（十字キーやスティック等を含む）とが設けられている。また、後述により明らかとなるが、コアユニット７０は、当該コアユニット７０から見た画像を撮像する撮像情報演算部７４を備えている。また、撮像情報演算部７４の撮像対象の一例として、モニタ２の表示画面近傍に２つのＬＥＤモジュール（以下、マーカと記載する）８Ｌおよび８Ｒが設置される。これらマーカ８Ｌおよび８Ｒは、それぞれモニタ２の前方に向かって例えば赤外光を出力する。また、コントローラ７（例えば、コアユニット７０）は、ゲーム装置本体５の無線コントローラモジュール１９から無線送信された送信データを通信部７５で受信して、当該送信データに応じた音や振動を発生させることもできる。
【００４４】
なお、本実施例では、コアユニット７０とバイタルセンサ７６とを屈曲自在な接続ケーブル７９で接続したが、バイタルセンサ７６に無線ユニットを搭載することで、接続ケーブル７９をなくすこともできる。例えば、無線ユニットとしてＢｌｕｅｔｏｏｔｈユニットをバイタルセンサ７６に搭載することで、バイタルセンサ７６からコアユニット７０やゲーム装置本体５へ生体情報を送信することが可能になる。また、コアユニット７０にバイタルセンサ７６を固定して設けることによって、コアユニット７０とバイタルセンサ７６とを一体構成してもかまわない。この場合、プレイヤは、コアユニット７０一体でバイタルセンサ７６を扱うことができる。
【００４５】
次に、図２を参照して、ゲーム装置本体５の内部構成について説明する。図２は、ゲーム装置本体５の構成を示すブロック図である。ゲーム装置本体５は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、システムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）１１、外部メインメモリ１２、ＲＯＭ／ＲＴＣ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ／Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）１３、ディスクドライブ１４、およびＡＶ−ＩＣ（Ａｕｄｉｏ  Ｖｉｄｅｏ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）１５等を有する。
【００４６】
ＣＰＵ１０は、光ディスク４に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。ＣＰＵ１０は、システムＬＳＩ１１に接続される。システムＬＳＩ１１には、ＣＰＵ１０の他、外部メインメモリ１２、ＲＯＭ／ＲＴＣ１３、ディスクドライブ１４、およびＡＶ−ＩＣ１５が接続される。システムＬＳＩ１１は、それに接続される各構成要素間のデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。なお、システムＬＳＩ１１の内部構成については、後述する。揮発性の外部メインメモリ１２は、光ディスク４から読み出されたゲームプログラムや、フラッシュメモリ１７から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、ＣＰＵ１０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ１３は、ゲーム装置本体５の起動用のプログラムが組み込まれるＲＯＭ（いわゆるブートＲＯＭ）と、時間をカウントするクロック回路（ＲＴＣ）とを有する。ディスクドライブ１４は、光ディスク４からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ３５または外部メインメモリ１２に読み出したデータを書き込む。
【００４７】
また、システムＬＳＩ１１には、入出力プロセッサ３１、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）３２、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）３３、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）３４、および内部メインメモリ３５が設けられる。図示は省略するが、これらの構成要素３１〜３５は、内部バスによって互いに接続される。
【００４８】
ＧＰＵ３２は、描画手段の一部を形成し、ＣＰＵ１０からのグラフィクスコマンド（作画命令）に従って画像を生成する。ＶＲＡＭ３４は、ＧＰＵ３２がグラフィクスコマンドを実行するために必要なデータ（ポリゴンデータやテクスチャデータ等のデータ）を記憶する。画像が生成される際には、ＧＰＵ３２は、ＶＲＡＭ３４に記憶されたデータを用いて画像データを作成する。
【００４９】
ＤＳＰ３３は、オーディオプロセッサとして機能し、内部メインメモリ３５や外部メインメモリ１２に記憶されるサウンドデータや音波形（音色）データを用いて、音声データを生成する。
【００５０】
上述のように生成された画像データおよび音声データは、ＡＶ−ＩＣ１５によって読み出される。ＡＶ−ＩＣ１５は、ＡＶコネクタ１６を介して、読み出した画像データをモニタ２に出力するとともに、読み出した音声データをモニタ２に内蔵されるスピーカ２ａに出力する。これによって、画像がモニタ２に表示されるとともに音がスピーカ２ａから出力される。
【００５１】
入出力プロセッサ（Ｉ／Ｏプロセッサ）３１は、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ３１は、フラッシュメモリ１７、無線通信モジュール１８、無線コントローラモジュール１９、拡張コネクタ２０、および外部メモリカード用コネクタ２１に接続される。無線通信モジュール１８にはアンテナ２２が接続され、無線コントローラモジュール１９にはアンテナ２３が接続される。
【００５２】
入出力プロセッサ３１は、無線通信モジュール１８およびアンテナ２２を介してネットワークに接続し、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。入出力プロセッサ３１は、定期的にフラッシュメモリ１７にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データがある場合には、無線通信モジュール１８およびアンテナ２２を介して当該データをネットワークに送信する。また、入出力プロセッサ３１は、他のゲーム装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ２２、および無線通信モジュール１８を介して受信し、受信したデータをフラッシュメモリ１７に記憶する。ＣＰＵ１０は、ゲームプログラムを実行することにより、フラッシュメモリ１７に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ１７には、ゲーム装置本体５と他のゲーム装置や各種サーバとの間で送受信されるデータの他、ゲーム装置本体５を利用してプレイしたゲームのセーブデータ（ゲームの結果データまたは途中データ）が記憶されてもよい。
【００５３】
また、入出力プロセッサ３１は、アンテナ２３および無線コントローラモジュール１９を介して、コントローラ７から送信される操作データ等を受信し、内部メインメモリ３５または外部メインメモリ１２のバッファ領域に記憶（一時記憶）する。なお、内部メインメモリ３５には、外部メインメモリ１２と同様に、光ディスク４から読み出されたゲームプログラムや、フラッシュメモリ１７から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりしてもよく、ＣＰＵ１０のワーク領域やバッファ領域として用いられてもかまわない。
【００５４】
さらに、入出力プロセッサ３１には、拡張コネクタ２０および外部メモリカード用コネクタ２１が接続される。拡張コネクタ２０は、ＵＳＢやＳＣＳＩのようなインターフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したり、有線の通信用コネクタを接続することによって無線通信モジュール１８に替えてネットワークとの通信を行ったりすることができる。外部メモリカード用コネクタ２１は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ３１は、拡張コネクタ２０や外部メモリカード用コネクタ２１を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【００５５】
また、ゲーム装置本体５（例えば、前部主面）には、当該ゲーム装置本体５の電源ボタン２４、ゲーム処理のリセットボタン２５、光ディスク４を脱着する投入口、およびゲーム装置本体５の投入口から光ディスク４を取り出すイジェクトボタン２６等が設けられている。電源ボタン２４およびリセットボタン２５は、システムＬＳＩ１１に接続される。電源ボタン２４がオンされると、ゲーム装置本体５の各構成要素に対して、図示しないＡＣアダプタを介して電力が供給される。リセットボタン２５が押されると、システムＬＳＩ１１は、ゲーム装置本体５の起動プログラムを再起動する。イジェクトボタン２６は、ディスクドライブ１４に接続される。イジェクトボタン２６が押されると、ディスクドライブ１４から光ディスク４が排出される。
【００５６】
図３および図４を参照して、コアユニット７０について説明する。なお、図３は、コアユニット７０の上面後方から見た一例を示す斜視図である。図４は、コアユニット７０を下面前方から見た一例を示す斜視図である。
【００５７】
図３および図４において、コアユニット７０は、例えばプラスチック成型によって形成されたハウジング７１を有しており、当該ハウジング７１に複数の操作部７２が設けられている。ハウジング７１は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。
【００５８】
ハウジング７１上面の中央前面側に、十字キー７２ａが設けられる。この十字キー７２ａは、十字型の４方向プッシュスイッチであり、４つの方向（前後左右）に対応する操作部分が十字の突出片にそれぞれ９０°間隔で配置される。プレイヤが十字キー７２ａのいずれかの操作部分を押下することによって前後左右いずれかの方向を選択される。例えばプレイヤが十字キー７２ａを操作することによって、仮想ゲーム世界に登場するプレイヤキャラクタ等の移動方向を指示したり、複数の選択肢から選択指示したりすることができる。
【００５９】
なお、十字キー７２ａは、上述したプレイヤの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、十字方向に４つのプッシュスイッチを配設し、プレイヤによって押下されたプッシュスイッチに応じて操作信号を出力する操作部を設けてもかまわない。さらに、上記４つのプッシュスイッチとは別に、上記十字方向が交わる位置にセンタスイッチを配設し、４つのプッシュスイッチとセンタスイッチとを複合した操作部を設けてもかまわない。また、ハウジング７１上面から突出した傾倒可能なスティック（いわゆる、ジョイスティック）を倒すことによって、傾倒方向に応じて操作信号を出力する操作部を十字キー７２ａの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー７２ａの代わりに設けてもかまわない。また、タッチパッドを、十字キー７２ａの代わりに設けてもかまわない。
【００６０】
ハウジング７１上面の十字キー７２ａより後面側に、複数の操作ボタン７２ｂ〜７２ｇが設けられる。操作ボタン７２ｂ〜７２ｇは、プレイヤがボタン頭部を押下することによって、それぞれの操作ボタン７２ｂ〜７２ｇに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン７２ｂ〜７２ｄには、１番ボタン、２番ボタン、およびＡボタン等としての機能が割り当てられる。また、操作ボタン７２ｅ〜７２ｇには、マイナスボタン、ホームボタン、およびプラスボタン等としての機能が割り当てられる。これら操作ボタン７２ａ〜７２ｇは、ゲーム装置本体５が実行するゲームプログラムに応じてそれぞれの操作機能が割り当てられる。なお、図３に示した配置例では、操作ボタン７２ｂ〜７２ｄは、ハウジング７１上面の中央前後方向に沿って並設されている。また、操作ボタン７２ｅ〜７２ｇは、ハウジング７１上面の左右方向に沿って操作ボタン７２ｂおよび７２ｄの間に並設されている。そして、操作ボタン７２ｆは、その上面がハウジング７１の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【００６１】
また、ハウジング７１上面の十字キー７２ａより前面側に、操作ボタン７２ｈが設けられる。操作ボタン７２ｈは、遠隔からゲーム装置本体５の電源をオン／オフする電源スイッチである。この操作ボタン７２ｈも、その上面がハウジング７１の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【００６２】
また、ハウジング７１上面の操作ボタン７２ｃより後面側に、複数のＬＥＤ７０２が設けられる。ここで、コアユニット７０は、他のコントローラと区別するためにコントローラ種別（番号）が設けられている。例えば、ＬＥＤ７０２は、コアユニット７０に現在設定されている上記コントローラ種別をプレイヤに通知するために用いられる。具体的には、無線コントローラモジュール１９からコアユニット７０へ、複数のＬＥＤ７０２のうち、上記コントローラ種別に対応するＬＥＤを点灯させるための信号が送信される。
【００６３】
また、ハウジング７１上面には、操作ボタン７２ｂおよび操作ボタン７２ｅ〜７２ｇの間に後述するスピーカ（図５に示すスピーカ７０６）からの音を外部に放出するための音抜き孔が形成されている。
【００６４】
一方、ハウジング７１下面には、凹部が形成されている。ハウジング７１下面の凹部は、プレイヤがコアユニット７０の前面をマーカ８Ｌおよび８Ｒに向けて片手で把持したときに、当該プレイヤの人差し指や中指が位置するような位置に形成される。そして、上記凹部の傾斜面には、操作ボタン７２ｉが設けられる。操作ボタン７２ｉは、例えばＢボタンとして機能する操作部である。
【００６５】
また、ハウジング７１前面には、撮像情報演算部７４の一部を構成する撮像素子７４３が設けられる。ここで、撮像情報演算部７４は、コアユニット７０が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大２００フレーム／秒程度のサンプリング周期であるため比較的高速なコアユニット７０の動きでも追跡して解析することができる。この撮像情報演算部７４の詳細な構成については、後述する。また、ハウジング７１の後面には、コネクタ７３が設けられている。コネクタ７３は、例えばエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。
【００６６】
次に、図５および図６を参照して、コアユニット７０の内部構造について説明する。なお、図５は、コアユニット７０の上筐体（ハウジング７１の一部）を外した状態を後面側から見た一例を示す斜視図である。図６は、コアユニット７０の下筐体（ハウジング７１の一部）を外した状態を前面側から見た一例を示す斜視図である。ここで、図６に示す基板７００は、図５に示す基板７００の裏面から見た斜視図となっている。
【００６７】
図５において、ハウジング７１の内部には基板７００が固設されており、当該基板７００の上主面上に操作ボタン７２ａ〜７２ｈ、加速度センサ７０１、ＬＥＤ７０２、およびアンテナ７５４等が設けられる。そして、これらは、基板７００等に形成された配線（図示せず）によってマイコン７５１等（図６、図７参照）に接続される。また、無線モジュール７５３（図７参照）およびアンテナ７５４によって、コアユニット７０がワイヤレスコントローラとして機能する。なお、ハウジング７１内部には図示しない水晶振動子が設けられており、後述するマイコン７５１の基本クロックを生成する。また、基板７００の上主面上に、スピーカ７０６およびアンプ７０８が設けられる。また、加速度センサ７０１は、操作ボタン７２ｄの左側の基板７００上（つまり、基板７００の中央部ではなく周辺部）に設けられる。したがって、加速度センサ７０１は、コアユニット７０の長手方向を軸とした回転に応じて、重力加速度の方向変化に加え、遠心力による成分が含まれる加速度を検出することができるので、所定の演算により、検出される加速度データからコアユニット７０の動きを良好な感度でゲーム装置本体５等が判定することができる。
【００６８】
一方、図６において、基板７００の下主面上の前端縁に撮像情報演算部７４が設けられる。撮像情報演算部７４は、コアユニット７０の前方から順に赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、および画像処理回路７４４によって構成されており、それぞれ基板７００の下主面に取り付けられる。また、基板７００の下主面上の後端縁にコネクタ７３が取り付けられる。さらに、基板７００の下主面上にサウンドＩＣ７０７およびマイコン７５１が設けられている。サウンドＩＣ７０７は、基板７００等に形成された配線によってマイコン７５１およびアンプ７０８と接続され、ゲーム装置本体５から送信されたサウンドデータに応じてアンプ７０８を介してスピーカ７０６に音声信号を出力する。
【００６９】
そして、基板７００の下主面上には、バイブレータ７０４が取り付けられる。バイブレータ７０４は、例えば振動モータやソレノイドである。バイブレータ７０４は、基板７００等に形成された配線によってマイコン７５１と接続され、ゲーム装置本体５から送信された振動データに応じてその作動をオン／オフする。バイブレータ７０４が作動することによってコアユニット７０に振動が発生するので、それを把持しているプレイヤの手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。ここで、バイブレータ７０４は、ハウジング７１のやや前方寄りに配置されるため、プレイヤが把持している状態において、ハウジング７１が大きく振動することになり、振動を感じやすくなる。
【００７０】
次に、図７を参照して、コントローラ７の内部構成について説明する。なお、図７は、コントローラ７の構成の一例を示すブロック図である。
【００７１】
図７において、コアユニット７０は、上述した操作部７２、撮像情報演算部７４、加速度センサ７０１、バイブレータ７０４、スピーカ７０６、サウンドＩＣ７０７、およびアンプ７０８の他に、その内部に通信部７５を備えている。また、バイタルセンサ７６は、接続ケーブル７９とコネクタ７９１および７３とを介して、マイコン７５１と接続される。
【００７２】
撮像情報演算部７４は、赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、および画像処理回路７４４を含んでいる。赤外線フィルタ７４１は、コアユニット７０の前方から入射する光から赤外線のみを通過させる。レンズ７４２は、赤外線フィルタ７４１を透過した赤外線を集光して撮像素子７４３へ出射する。撮像素子７４３は、例えばＣＭＯＳセンサやあるいはＣＣＤのような固体撮像素子であり、レンズ７４２が集光した赤外線を撮像する。したがって、撮像素子７４３は、赤外線フィルタ７４１を通過した赤外線だけを撮像して画像データを生成する。撮像素子７４３で生成された画像データは、画像処理回路７４４で処理される。具体的には、画像処理回路７４４は、撮像素子７４３から得られた画像データを処理して高輝度部分を検知し、それらの位置座標や面積を検出した結果を示す処理結果データを通信部７５へ出力する。なお、これらの撮像情報演算部７４は、コアユニット７０のハウジング７１に固設されており、ハウジング７１自体の方向を変えることによってその撮像方向を変更することができる。
【００７３】
撮像情報演算部７４から出力される処理結果データは、コアユニット７０で指し示す位置等を示す操作データとして用いることもできる。例えば、プレイヤは、コアユニット７０の前面（撮像情報演算部７４が撮像する光の入射口側）がモニタ２に向くようにコアユニット７０を把持する。一方、モニタ２の表示画面近傍には、２つのマーカ８Ｌおよび８Ｒが設置されている。これらマーカ８Ｌおよび８Ｒは、それぞれモニタ２の前方に向かって赤外光を出力し、撮像情報演算部７４の撮像対象になる。そして、ゲーム装置本体５は、２つのマーカ８Ｌおよび８Ｒによる高輝度点に関する位置データを用いてコアユニット７０が指し示している位置を算出する。
【００７４】
例えば、その前面がモニタ２に向くようにコアユニット７０をプレイヤが把持することによって、撮像情報演算部７４には２つのマーカ８Ｌおよび８Ｒが出力した赤外光が入射する。そして、赤外線フィルタ７４１およびレンズ７４２を介して、入射した赤外光を撮像素子７４３が撮像し、当該撮像画像を画像処理回路７４４が処理する。ここで、撮像情報演算部７４では、マーカ８Ｌおよび８Ｒから出力される赤外線成分を検出することで、上記撮像画像における当該マーカ８Ｌおよび８Ｒの位置情報（対象画像の位置）等を取得する。具体的には、画像処理回路７４４は、撮像素子７４３が撮像した画像データを解析して、まず面積情報からマーカ８Ｌおよび８Ｒからの赤外光ではあり得ない画像を除外し、さらに輝度が高い点をマーカ８Ｌおよび８Ｒそれぞれの位置として判別する。そして、撮像情報演算部７４は、判別されたそれらの輝度の高い輝点群の重心位置等の位置情報を取得し、上記処理結果データとして出力する。ここで、上記処理結果データである位置情報は、撮像画像における所定の基準点（例えば、撮像画像の中央や左上隅）を原点とした座標値として出力するものでもよく、所定のタイミングにおける上記重心位置等を基準点として、当該基準点からの現在の上記重心位置の差をベクトルとして出力するものでもよい。つまり、上記対象画像の位置情報は、撮像素子７４３が撮像した撮像画像に対して所定の基準点を設定した場合に、当該基準点に対する差として用いられるパラメータである。このような位置情報をゲーム装置本体５へ送信することによって、ゲーム装置本体５では、基準からの上記位置情報の差に基づいて、マーカ８Ｌおよび８Ｒに対する撮像情報演算部７４、すなわちコアユニット７０の動き、姿勢、位置等に応じた信号の変化量を得ることができる。具体的には、コアユニット７０が動かされることによって、通信部７５から送信される画像内の高輝度点の重心位置が変化するため、高輝度点の重心位置の変化に対応させた方向入力や座標入力を行うことで、コアユニット７０が指し示している位置を操作入力としたり、コアユニット７０の移動方向に沿った方向入力や座標入力を行ったりすることができる。
【００７５】
このように、コアユニット７０の撮像情報演算部７４によって、固定的に設置されたマーカ（実施例では、２つのマーカ８Ｌおよび８Ｒからの赤外光）を撮像することによって、ゲーム装置本体５における処理において、コントローラ７から出力されるデータを処理してコアユニット７０の動き、姿勢、位置等に対応した操作が可能となり、ボタンを押下するような操作ボタンや操作キーとは異なった直感的な操作入力となる。また、上述したように上記マーカは、モニタ２の表示画面近傍に設置されているため、マーカに対する位置をモニタ２の表示画面に対するコアユニット７０の動き、姿勢、位置等に換算することも容易に行うことができる。つまり、コアユニット７０の動き、姿勢、位置等による処理結果データは、モニタ２の表示画面に直接作用する操作入力（例えば、コアユニット７０が指し示す位置を入力）として用いることができ、コアユニット７０を表示画面に対するポインティングデバイスとして機能させることも可能となる。
【００７６】
コアユニット７０は、３軸の加速度センサ７０１を備えていることが好ましい。この３軸の加速度センサ７０１は、３方向、すなわち、上下方向、左右方向、および前後方向で直線加速度を検知する。また、少なくとも１軸方向に沿った直線加速度を検知する加速度検出手段を使用してもよい。例えば、これらの加速度センサ７０１は、アナログ・デバイセズ株式会社（Ａｎａｌｏｇ  Ｄｅｖｉｃｅｓ，  Ｉｎｃ．）またはＳＴマイクロエレクトロニクス社（ＳＴＭｉｃｒｏｅｌｅｃｔｒｏｎｉｃｓ  Ｎ．Ｖ．）から入手可能であるタイプのものでもよい。加速度センサ７０１は、シリコン微細加工されたＭＥＭＳ（Ｍｉｃｒｏ  Ｅｌｅｃｔｒｏ  Ｍｅｃｈａｎｉｃａｌ  Ｓｙｓｔｅｍｓ：微小電子機械システム）の技術に基づいた静電容量式（静電容量結合式）であることが好ましい。しかしながら、既存の加速度検出手段の技術（例えば、圧電方式や圧電抵抗方式）あるいは将来開発される他の適切な技術を用いて、加速度センサ７０１が提供されてもよい。
【００７７】
加速度センサ７０１に用いられるような加速度検出手段は、加速度センサ７０１の持つ各軸に対応する直線に沿った加速度（直線加速度）のみを検知することができる。つまり、加速度センサ７０１からの直接の出力は、それら３軸のそれぞれに沿った直線加速度（静的または動的）を示す信号である。このため、加速度センサ７０１は、非直線状（例えば、円弧状）の経路に沿った動き、回転、回転運動、角変位、傾斜、位置、または姿勢等の物理特性を直接検知することはできない。しかしながら、加速度センサ７０１から出力される加速度の信号に基づいて、ゲーム装置のプロセッサ（例えばＣＰＵ１０）またはコントローラのプロセッサ（例えばマイコン７５１）等のコンピュータが処理を行うことによって、コアユニット７０に関するさらなる情報を推測または算出（判定）することができることは、当業者であれば容易に理解できるであろう。
【００７８】
通信部７５は、マイクロコンピュータ（Ｍｉｃｒｏ  Ｃｏｍｐｕｔｅｒ：マイコン）７５１、メモリ７５２、無線モジュール７５３、およびアンテナ７５４を含んでいる。マイコン７５１は、処理の際にメモリ７５２を記憶領域として用いながら、送信データを無線送信する無線モジュール７５３を制御する。また、マイコン７５１は、アンテナ７５４を介して無線モジュール７５３が受信したゲーム装置本体５からのデータに応じて、サウンドＩＣ７０７およびバイブレータ（図示せず）の動作を制御する。サウンドＩＣ７０７は、通信部７５を介してゲーム装置本体５から送信されたサウンドデータ等を処理する。また、マイコン７５１は、通信部７５を介してゲーム装置本体５から送信された振動データ（例えば、バイブレータをＯＮまたはＯＦＦする信号）等に応じて、バイブレータを作動させる。
【００７９】
コアユニット７０に設けられた操作部７２からの操作信号（キーデータ）、加速度センサ７０１からの３軸方向の加速度信号（Ｘ、Ｙ、およびＺ軸方向加速度データ）、および撮像情報演算部７４からの処理結果データは、マイコン７５１に出力される。また、接続ケーブル７９を介して、バイタルセンサ７６からの生体信号（生体情報データ）は、マイコン７５１に出力される。マイコン７５１は、入力した各データ（キーデータ、Ｘ、Ｙ、およびＺ軸方向加速度データ、処理結果データ、生体情報データ）を無線コントローラモジュール１９へ送信する送信データとして一時的にメモリ７５２に格納する。ここで、通信部７５から無線コントローラモジュール１９への無線送信は、所定の周期毎に行われるが、ゲームの処理は１／６０秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は１６．７ｍｓ（１／６０秒）であり、ブルートゥースで構成される通信部７５の送信間隔は５ｍｓである。マイコン７５１は、無線コントローラモジュール１９への送信タイミングが到来すると、メモリ７５２に格納されている送信データを一連の操作情報として出力し、無線モジュール７５３へ出力する。そして、無線モジュール７５３は、例えばブルートゥースの技術を用いて、操作情報を示す電波信号を所定周波数の搬送波を用いてアンテナ７５４から放射する。つまり、コアユニット７０に設けられた操作部７２からのキーデータと、加速度センサ７０１からのＸ、Ｙ、およびＺ軸方向加速度データと、撮像情報演算部７４からの処理結果データと、バイタルセンサ７６からの生体情報データとがコアユニット７０から送信される。そして、ゲーム装置本体５の無線コントローラモジュール１９でその電波信号を受信し、ゲーム装置本体５で当該電波信号を復調や復号することによって、一連の操作情報（キーデータ、Ｘ、Ｙ、およびＺ軸方向加速度データ、処理結果データ、生体情報データ）を取得する。そして、ゲーム装置本体５のＣＰＵ１０は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。なお、ブルートゥースの技術を用いて通信部７５を構成する場合、通信部７５は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
【００８０】
次に、図８および図９を参照して、バイタルセンサ７６について説明する。なお、図８は、バイタルセンサ７６の構成の一例を示すブロック図である。図９は、バイタルセンサ７６から出力される生体情報の一例である脈波情報の例を示す図である。
【００８１】
図８において、バイタルセンサ７６は、制御部７６１、発光部７６２、および受光部７６３を備えている。
【００８２】
発光部７６２および受光部７６３は、プレイヤの生体信号を得るセンサの一例であり、透過型指尖容積脈波センサを構成する。発光部７６２は、例えば赤外線ＬＥＤで構成され、所定波長（例えば、９４０ｎｍ）の赤外線を受光部７６３に向けて照射する。一方、受光部７６３は、発光部７６２が照射する波長に応じて照射される光を受光し、例えば赤外線フォトレジスタで構成される。そして、発光部７６２と受光部７６３とは、所定の間隙（空洞）を介して配置されている。
【００８３】
ここで、人体の血液中に存在するヘモグロビンは、赤外線を吸光する性質をもっている。例えば、上述した発光部７６２および受光部７６３間の間隙にプレイヤの身体の一部（例えば、指先）を挿入する。これによって、発光部７６２から照射された赤外線は、挿入した指先内に存在するヘモグロビンで吸光された後、受光部７６３で受光される。一方、人体の動脈は、脈拍動しているため、当該脈拍動に応じて動脈の太さ（血流量）が変化する。したがって、挿入した指先内の動脈も同様の脈拍動が生じており、当該脈拍動に応じて血流量が変化するため、当該血流量に応じて吸光される赤外線の量も変化する。具体的には、挿入した指先内の血流量が多い場合、ヘモグロビンで吸光される量も増加するために受光部７６３で受光する赤外線の光量が相対的に少なくなる。一方、挿入した指先内の血流量が少ない場合、ヘモグロビンで吸光される量も減少するために受光部７６３で受光する赤外線の光量が相対的に多くなる。発光部７６２および受光部７６３は、このような動作原理を利用し、受光部７６３で受光する赤外線の光量を光電信号に変換することによって、人体の脈拍動（以下、脈波と記載する）を検出している。例えば、図９に示すように、挿入した指先内の血流量が増加した場合に受光部７６３の検出値が上昇し、挿入した指先内の血流量が減少した場合に受光部７６３の検出値が下降する。このように、受光部７６３の検出値が脈動する脈波部分が、脈波信号として生成される。なお、受光部７６３の回路構成によって、挿入した指先内の血流量が増加した場合に受光部７６３の検出値が下降し、挿入した指先内の血流量が減少した場合に受光部７６３の検出値が上昇するような脈波信号を生成してもかまわない。
【００８４】
制御部７６１は、例えばＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ）で構成される。制御部７６１は、発光部７６２から照射される赤外線の光量を制御する。また、制御部７６１は、受光部７６３から出力された光電信号（脈波信号）をＡ／Ｄ変換して脈波データ（生体情報データ）を生成する。そして、制御部７６１は、接続ケーブル７９を介して、脈波データ（生体情報データ）をコアユニット７０へ出力する。
【００８５】
ゲーム装置本体５では、バイタルセンサ７６から得られた脈波データを分析することによって、バイタルセンサ７６を使用しているプレイヤの様々な生体情報を検出／算出することができる。第１の例として、ゲーム装置本体５では、バイタルセンサ７６から得られた脈波データが示す脈波の起伏によって、プレイヤの拍タイミング（例えば、心収縮するタイミングであり、厳密にはバイタルセンサ７６を着用している部位の血管が収縮または膨張するタイミング）を検出することができる。具体的には、ゲーム装置本体５は、バイタルセンサ７６から得られた脈波データが示す脈波が極小値を示すタイミング、極大値を示すタイミング、血管が収縮する速度が最大となるタイミング、血管が膨張する速度が最大となるタイミング、血管膨張速度の加速率が最大となるタイミング、または血管膨張速度の減速率が最大となるタイミング等を、プレイヤの拍タイミングとして検出することができる。なお、血管膨張速度の加速率が最大となるタイミングまたは血管膨張速度の減速率が最大となるタイミングを用いてプレイヤの拍タイミングとして検出する場合、血管が膨張または収縮する速度を微分したパラメータ、すなわち血管が膨張する加速度が最大または血管が収縮する加速度が最大となるタイミングをプレイヤの拍タイミングとして検出してもかまわない。
【００８６】
第２の例として、脈波データが示す脈波から検出されたプレイヤの拍タイミングを用いて、心拍数ＨＲを算出することができる。例えば、６０秒を拍タイミングの間隔の周期で除算した値を、バイタルセンサ７６を使用しているプレイヤの心拍数ＨＲとして算出することができる。具体的には、脈波が極小値を示すタイミングを拍タイミングとする場合、当該極小値間の心拍間隔（図９に示すＲ−Ｒ間隔）で、６０秒を除算することによって心拍数ＨＲを算出することができる。
【００８７】
第３の例として、心拍数ＨＲが上昇／下降する周期を用いてプレイヤの呼吸周期を算出することができる。具体的には、本実施形態が算出している心拍数ＨＲは、上昇中であればプレイヤが吸う呼吸をしており、下降中であればプレイヤが吐く呼吸をしていると判断することができる。すなわち、心拍数ＨＲが上昇／下降する周期（ゆらぎ周期）を算出することによって、プレイヤが呼吸している周期（呼吸周期）を算出することができる。
【００８８】
第４の例として、バイタルセンサ７６から得られた脈波データが示す脈波の振幅ＰＡ（例えば、脈波の極大値から次の極小値まで高さの差；図９参照）を用いて、プレイヤの苦楽度を判断することができる。具体的には、脈波振幅ＰＡが縮小した場合、プレイヤが苦しい状態にあると判断することができる。
【００８９】
第５の例として、脈波信号から得られる脈波面積ＰＷＡ（図９参照）を心拍数ＨＲで除算することによって、プレイヤの血流量を得ることができる。
【００９０】
第６の例として、脈波データが示す脈波から検出されたプレイヤの拍タイミングの間隔（心拍間隔；例えば、図９に示すＲ−Ｒ間隔）を用いて、プレイヤの心拍変動係数（ＣＶＲＲ：ｃｏｅｆｆｉｃｉｅｎｔ  ｏｆ  ｖａｒｉａｎｃｅ  ｏｆ  Ｒ−Ｒ  ｉｎｔｅｒｖａｌ）を算出することができる。例えば、心拍変動係数は、バイタルセンサ７６から得られる脈波が示す過去１００拍における心拍間隔を用いて算出される。具体的には、
心拍変動係数＝（１００拍分の心拍間隔の標準偏差／１００拍分の心拍間隔の平均値）×１００
で算出される。そして、心拍変動係数を用いて、プレイヤの自律神経量（例えば、副交感神経の活動度）を算出することができる。
【００９１】
次に、ゲーム装置本体５が行う具体的な処理を説明する前に、図１０〜図１３を用いて本ゲーム装置本体５で行うゲーム処理の概要について説明する。なお、図１０〜図１２は、それぞれモニタ２に表示されるゲーム画像の一例を示す図である。図１３Ａ〜図１３Ｄは、それぞれモニタ２に表示される照準Ｓの動きの一例を示す図である。
【００９２】
図１０において、モニタ２には、プレイヤキャラクタＰＣおよび標的オブジェクトＴが配置された仮想ゲーム世界が表現される。図１０に示した例では、プレイヤキャラクタＰＣが矢（矢オブジェクトＡ）を射る競技（例えば、アーチェリーや弓道）を仮想ゲーム世界で行うゲームを用いており、当該仮想ゲーム世界にアーチェリーの的が標的オブジェクトＴとして配置されている。そして、プレイヤキャラクタＰＣは、矢オブジェクトＡがセットされて引かれた状態で弓を持っており、プレイヤの操作に応じて矢オブジェクトＡが弓からリリースされる。
【００９３】
プレイヤキャラクタＰＣが矢オブジェクトＡをリリースする前の状態では、矢オブジェクトＡがリリースされた際に矢オブジェクトＡが射られる位置や方向の目安として、照準Ｓが表示される。例えば、プレイヤは、コアユニット７０に設けられている操作部７２（例えば、十字キー７２ａ）を操作することによって、モニタ２の表示画面における上下左右方向に照準Ｓの位置を移動させることができる。したがって、プレイヤは、操作部７２を操作することによって、プレイヤキャラクタＰＣが矢オブジェクトＡを射る位置（方向）を、所望の位置（方向）へ移動させることができる。なお、照準Ｓと仮想ゲーム世界との位置関係は相対的なものであるため、照準Ｓを表示画面に対して固定的に表示し、操作部７２の操作に応じて表示画面に表示される仮想ゲーム世界を移動させて表示してもかまわない。また、操作部７２の操作に応じて、表示画面に対する照準Ｓの表示位置を移動させるとともに、表示画面に表示される仮想ゲーム世界も移動させて表示してもかまわない。以下の説明においては、操作部７２を操作することによって、モニタ２の表示画面における上下左右方向に照準Ｓの表示位置が移動する例を用いる。
【００９４】
図１１に示すように、プレイヤが矢オブジェクトＡをリリースする操作（例えば、Ａボタン７２ｄやＢボタン７２ｉを押下する操作；以下、発射操作と記載する場合もある）に応じて矢オブジェクトＡがリリースされ、照準Ｓによって仮想ゲーム世界内に設定される目標位置を目標としてリリースされた矢オブジェクトＡが仮想ゲーム世界を移動（飛行）する。そして、図１２に示すように、矢オブジェクトＡが最終的に到達して射られた位置に応じた得点が、プレイヤキャラクタＰＣに与えられる。
【００９５】
ここで、照準Ｓの位置は、プレイヤによる操作部７２の操作だけでなく、プレイヤから得られる生体情報（生体信号）によっても変化する。例えば、図１３Ａ〜図１３Ｄに示すように、照準Ｓの位置は、プレイヤから得られる生体信号に応じて、操作部７２の操作によって決定される位置を基点として揺れるように変化する。具体的には、プレイヤの拍タイミングが到来することに応じて、照準Ｓが揺れ方向、揺れ幅、および揺れ時間等が設定され、設定条件に基づいて照準Ｓの揺動が開始される（図１３Ｂの状態）。これによって、照準Ｓは、設定された揺れ方向（例えば、図示Ｄ方向）に設定された揺れ幅（例えば、照準位置Ｓａと照準位置Ｓｂとを往復する振幅）で揺れるようにモニタ２に表示される。
【００９６】
やがて、照準Ｓの揺れ幅は、設定された揺れ時間に応じて徐々に減衰していき（図１３Ｃの状態）、当該揺れ時間が経過した際に照準Ｓの揺れが停止する（図１３Ｄの状態）。そして、再びプレイヤの拍タイミングが到来すると、照準Ｓは、上記同様に再揺動を開始する。このように、照準Ｓは、プレイヤの拍タイミングに応じて、間欠的に揺れるように表示される。
【００９７】
このように照準Ｓが揺れて表示された場合、プレイヤは、矢オブジェクトＡを射る狙い位置を定めることが難しくなる。上述したように、矢オブジェクトＡがリリースされた場合、照準Ｓによって仮想ゲーム世界内に設定される目標位置を目標として矢オブジェクトＡが仮想ゲーム世界を移動（飛行）するため、高得点を得るためには射られた場合に高得点となる位置に照準Ｓを合わせて発射操作する必要がある。したがって、照準Ｓが揺れて表示された場合、高得点となる位置に照準Ｓを合わせることが難しくなり、プレイヤが容易に結果を予測できない趣向性の高い操作が可能となる。なお、上述したように、照準Ｓと仮想ゲーム世界との位置関係は相対的なものであるため、照準Ｓを表示画面に対して固定的に表示し、表示画面に表示される仮想ゲーム世界を揺らして表示してもかまわない。また、表示画面に対して照準Ｓを揺らして表示するとともに、表示画面に表示される仮想ゲーム世界も揺らして表示してもかまわない。以下の説明においては、照準Ｓの表示位置が、プレイヤから得られる生体信号に応じて揺れるように変化する例を用いる。
【００９８】
なお、後述により明らかとなるが、照準Ｓが揺れる揺れ幅および揺れ時間は、プレイヤの生体信号から算出された心拍数ＨＲに基づいて算出され、照準Ｓが揺れる揺れ方向はランダムに設定される。したがって、照準Ｓが揺れる揺れ方向、揺れ幅、および揺れ時間についても、プレイヤが容易に結果を予測できないため、さらに趣向性の高い操作が可能となる。
【００９９】
次に、ゲームシステム１において行われるゲーム処理の詳細を説明する。まず、図１４を参照して、ゲーム処理において用いられる主なデータについて説明する。なお、図１４は、ゲーム装置本体５の外部メインメモリ１２および／または内部メインメモリ３５（以下、２つのメインメモリを総称して、単にメインメモリと記載する）に記憶される主なデータおよびプログラムの一例を示す図である。
【０１００】
図１４に示すように、メインメモリのデータ記憶領域には、操作情報データＤａ、心拍数データＤｂ、平均心拍数データＤｃ、心拍数上限値データＤｄ、心拍数下限値データＤｅ、揺れフラグデータＤｆ、揺れ幅データＤｇ、揺れ時間データＤｈ、揺れ方向データＤｉ、経過時間データＤｊ、指示位置データＤｋ、現在の第１揺れ幅データＤｌ、現在の第２揺れ幅データＤｍ、第１オフセット値データＤｎ、第２オフセット値データＤｏ、照準位置データＤｐ、矢オブジェクト位置データＤｑ、および画像データＤｒ等が記憶される。なお、メインメモリには、図１４に示すデータの他、ゲームに登場する他のオブジェクト等に関するデータ（位置データ等）や仮想ゲーム世界に関するデータ（背景のデータ等）等、ゲーム処理に必要なデータが記憶される。また、メインメモリのプログラム記憶領域には、ゲームプログラムを構成する各種プログラムＰａが記憶される。
【０１０１】
操作情報データＤａは、キーデータＤａ１および脈波データＤａ２等を含む。キーデータＤａ１は、コアユニット７０の複数の操作部７２がそれぞれ操作されたことを示すデータであり、コアユニット７０から送信データとして送信されてくる一連の操作情報に含まれたデータである。なお、ゲーム装置本体５に備える無線コントローラモジュール１９は、コアユニット７０から所定周期（例えば、１／２００秒毎）に送信される操作情報に含まれるキーデータを受信し、無線コントローラモジュール１９に備える図示しないバッファに受信したデータを蓄える。その後、上記バッファに蓄えられたキーデータがゲーム処理周期である１フレーム毎（例えば、１／６０秒毎）に読み出されて、メインメモリのキーデータＤａ１が更新される。
【０１０２】
このとき、操作情報を受信する周期と処理周期とが異なるために、上記バッファには複数の時点に受信した操作情報が記述されていることになる。後述する処理の説明においては、後述する各ステップにおいて、複数の時点に受信した操作情報のうち最新の操作情報のみを常に用いて処理して、次のステップに進める態様を用いる。
【０１０３】
また、後述する処理フローでは、キーデータＤａ１がゲーム処理周期である１フレーム毎に更新される例を用いて説明するが、他の処理周期で更新されてもかまわない。例えば、コアユニット７０からの送信周期毎にキーデータＤａ１を更新し、当該更新されたキーデータＤａ１をゲーム処理周期毎に利用する態様でもかまわない。この場合、キーデータＤａ１を更新する周期と、ゲーム処理周期とが異なることになる。
【０１０４】
脈波データＤａ２は、バイタルセンサ７６から得られる必要な時間長さ分の脈波信号を示すデータであり、コアユニット７０から送信データとして送信されてくる一連の操作情報に含まれるデータである。なお、脈波データＤａ２に格納される脈波データは、後述する処理において必要な時間長さ分だけ脈波信号の履歴が格納され、操作情報の受信に応じて適宜更新される。
【０１０５】
心拍数データＤｂは、プレイヤの心拍数ＨＲ（例えば、６０秒を心拍間隔（例えば、Ｒ−Ｒ間隔）の周期で除算した値）の所定時間分の履歴を示すデータである。
【０１０６】
平均心拍数データＤｃは、プレイヤの心拍数ＨＲの平均値を示すデータである。心拍数上限値データＤｄおよび心拍数下限値データＤｅは、心拍数ＨＲの平均値に基づいて設定される心拍数ＨＲの上限値および下限値をそれぞれ示すデータである。
【０１０７】
揺れフラグデータＤｆは、照準Ｓが揺動中か否かを示し、揺動中の場合にオンに設定される揺動フラグを示すデータである。一例として、揺動フラグは、プレイヤの拍タイミングが到来したことに応じてオンに設定される。そして、揺動フラグは、照準Ｓが揺れた状態で表示される揺れ時間が経過する、または照準Ｓが揺れた状態にあるときにプレイヤが発射操作を行ったことに応じてオフに設定される。揺れ幅データＤｇは、プレイヤの拍タイミングが到来することに応じて設定される照準Ｓの揺れ幅Ｘｍａｘを示すデータである。揺れ時間データＤｈは、プレイヤの拍タイミングが到来することに応じて設定される照準Ｓの揺れ時間Ｔｍａｘを示すデータである。揺れ方向データＤｉは、プレイヤの拍タイミングが到来することに応じて設定される照準Ｓの揺れ方向Ｄを示すデータである。経過時間データＤｊは、照準Ｓが揺れた状態となった後に経過した経過時間Ｔを示すデータである。なお、後述により明らかとなるが、本実施例では２つの揺れ動作を合成して照準Ｓが揺れるように動作させており、揺れ幅データＤｇ、揺れ時間データＤｈ、揺れ方向データＤｉ、および経過時間データＤｊは、それぞれの揺れ動作毎の設定値を示すデータとなる。
【０１０８】
指示位置データＤｋは、表示画面に表示されている仮想ゲーム世界において、プレイヤの操作部７２の操作に応じて設定されるプレイヤの指示位置を示すデータである。現在の第１揺れ幅データＤｌは、現時点の第１の揺れ動作における揺れ幅Ｘ１を示すデータである。現在の第２揺れ幅データＤｍは、現時点の第２の揺れ動作における揺れ幅Ｘ２を示すデータである。第１オフセット値データＤｎは、現時点の第１の揺れ動作において照準Ｓの位置をオフセットする第１オフセット値ｏｆ１を示すデータである。第２オフセット値データＤｏは、現時点の第１の揺れ動作のオフセット値（第１オフセット値ｏｆ１）に、現時点の第２の揺れ動作において照準Ｓの位置をオフセットする値を加算した第２オフセット値ｏｆ２を示すデータである。
【０１０９】
照準位置データＤｐは、仮想ゲーム世界における照準Ｓの位置を示すデータである。矢オブジェクト位置データＤｑは、仮想ゲーム世界における矢オブジェクトＡの位置を示すデータである。
【０１１０】
画像データＤｒは、プレイヤキャラクタ画像データＤｒ１、矢オブジェクト画像データＤｒ２、標的オブジェクト画像データＤｒ３、および照準画像データＤｒ４等を含んでいる。プレイヤキャラクタ画像データＤｒ１は、仮想ゲーム世界にプレイヤキャラクタＰＣを配置してゲーム画像を生成するためのデータである。矢オブジェクト画像データＤｒ２は、仮想ゲーム世界に矢オブジェクトＡを配置してゲーム画像を生成するためのデータである。標的オブジェクト画像データＤｒ３は、仮想ゲーム世界に標的オブジェクトＴを配置してゲーム画像を生成するためのデータである。照準画像データＤｒ４は、仮想ゲーム世界に照準Ｓを配置してゲーム画像を生成するためのデータである。
【０１１１】
次に、図１５〜図１８を参照して、ゲーム装置本体５において行われるゲーム処理の詳細を説明する。なお、図１５は、ゲーム装置本体５において実行されるゲーム処理の一例を示すフローチャートである。図１６は、図１５のステップ４２に示す初期設定の詳細な処理の一例を示すサブルーチンである。図１７は、図１５のステップ４９に示す揺れ処理初期設定の詳細な処理の一例を示すサブルーチンである。図１８は、図１５のステップ５０に示す揺れ処理の詳細な処理の一例を示すサブルーチンである。なお、図１５〜図１８に示すフローチャートにおいては、ゲーム処理のうち、バイタルセンサ７６からの生体情報およびコアユニット７０からのキーデータを用いる処理について主に説明し、本願発明と直接関連しない他のゲーム処理については詳細な説明を省略する。また、図１５〜図１８では、ＣＰＵ１０が実行する各ステップを「Ｓ」と略称する。
【０１１２】
ゲーム装置本体５の電源が投入されると、ゲーム装置本体５のＣＰＵ１０は、ＲＯＭ／ＲＴＣ１３に記憶されている起動用のプログラムを実行し、これによってメインメモリ等の各ユニットが初期化される。そして、光ディスク４に記憶されたゲームプログラムがメインメモリに読み込まれ、ＣＰＵ１０によって当該ゲームプログラムの実行が開始される。図１５に示すフローチャートは、以上の処理が完了した後に行われるゲーム処理を示すフローチャートである。
【０１１３】
図１５において、ＣＰＵ１０は、初期設定を行い（ステップ４２）、次のステップに処理を進める。以下、図１６を参照して、上記ステップ４２で行う初期設定について説明する。
【０１１４】
図１６において、ＣＰＵ１０は、プレイヤから生体情報を取得する設定を行い（ステップ６１）、次のステップに処理を進める。例えば、ＣＰＵ１０は、以降の処理で用いる各パラメータを初期化する。そして、ＣＰＵ１０は、プレイヤから生体情報を取得するための入力装置であるバイタルセンサ７６の装着を、プレイヤにモニタ２を介して指示する。なお、バイタルセンサ７６をプレイヤに装着させるための指示は、モニタ２へ表示でなく、ユーザが知覚できる音声等の他の手段またはその組み合わせによって行ってもよい。そして、バイタルセンサ７６が備える光学系により、プレイヤによるバイタルセンサ７６の装着が確認されると、バイタルセンサ７６は、プレイヤの身体から生体信号の取得を開始して、当該生体信号を示すデータをゲーム装置本体５へ送出する。
【０１１５】
次に、ＣＰＵ１０は、コアユニット７０から操作情報を示すデータを取得して（ステップ６２）、次のステップに処理を進める。例えば、ＣＰＵ１０は、コアユニット７０から受信した操作情報を取得し、当該操作情報に含まれる最新のキーデータが示す操作部７２に対する操作内容を用いてキーデータＤａ１を更新する。また、ＣＰＵ１０は、コアユニット７０から受信した操作情報に含まれる最新の生体情報データが示す脈波信号を用いて脈波データＤａ２を更新する。
【０１１６】
次に、ＣＰＵ１０は、現時点が拍タイミングか否かを判断する（ステップ６３）。そして、ＣＰＵ１０は、現時点が拍タイミングである場合、次のステップ６４に処理を進める。一方、ＣＰＵ１０は、現時点が拍タイミングでない場合、次のステップ６６に処理を進める。例えば、上記ステップ６３において、ＣＰＵ１０は、脈波データＤａ２が示す脈波信号を参照して脈波の所定の形状特徴点を検出し、現時点が当該形状特徴点に該当する場合に拍タイミングであると判断する。上記形状特徴点の例としては、脈波が極小値となるポイント、脈波が極大値となるポイント、血管が収縮する速度が最大となるポイント、血管が膨張する速度が最大となるポイント、血管膨張速度の加速率が最大となるポイント、および血管膨張速度の減速率が最大となるポイント等の何れか１つを選択することが考えられるが、何れのポイントを拍タイミングであると判断する形状特徴点として用いてもかまわない。
【０１１７】
ステップ６４において、ＣＰＵ１０は、プレイヤの心拍数ＨＲを算出して心拍数データＤｂを更新し、次のステップに処理を進める。例えば、ＣＰＵ１０は、脈波データＤａ２の脈波信号を参照して、前回検出された拍タイミングから上記ステップ６３において今回検出された拍タイミングまでの時間間隔（例えば、Ｒ−Ｒ間隔；図９参照）を、現時点の心拍間隔として算出する。そして、ＣＰＵ１０は、６０秒を心拍間隔で除算することによって心拍数ＨＲを算出し、新たに算出された心拍数ＨＲを用いて心拍数データＤｂを更新する。なお、ＣＰＵ１０は、今回の処理によって初めて拍タイミングが検出された場合は、例えば心拍数ＨＲを所定の定数（例えば、０）として心拍数データＤｂを更新する。具体的には、ＣＰＵ１０は、心拍数データＤｂに格納されている所定時間分の心拍数ＨＲの履歴をそれぞれ時系列順に順送りして更新し、新たに算出された心拍数ＨＲを最新の心拍数ＨＲとして心拍数データＤｂに追加する。これによって、心拍数データＤｂには、所定時間分の最新の心拍数ＨＲの履歴が格納されることになる。
【０１１８】
次に、ＣＰＵ１０は、プレイヤの心拍数ＨＲの平均値を算出して平均心拍数データＤｃを更新し（ステップ６５）、次のステップ６６に処理を進める。例えば、ＣＰＵ１０は、心拍数データＤｂに格納されている所定時間分の心拍数ＨＲの履歴を用いて、心拍数ＨＲの平均値を算出する。そして、ＣＰＵ１０は、算出された平均値を用いて平均心拍数データＤｃを更新する。
【０１１９】
ステップ６６において、ＣＰＵ１０は、ゲームを開始するか否かを判断する。ゲームを開始する条件としては、例えば、プレイヤがゲームを開始する操作を行ったこと等がある。そして、ＣＰＵ１０は、ゲームを開始する場合、次のステップ６７に処理を進める。一方、ＣＰＵ１０は、ゲームを開始しない場合、上記ステップ６２に戻って処理を繰り返す。
【０１２０】
ステップ６７において、ＣＰＵ１０は、ゲーム処理の初期設定を行い、次のステップに処理を進める。例えば、上記ステップ６７におけるゲーム処理の初期設定では、ＣＰＵ１０は、仮想ゲーム世界の設定やプレイヤキャラクタＰＣ等の初期設定を行う。また、上記ステップ６７におけるゲーム処理の初期設定では、ＣＰＵ１０は、以降のゲーム処理で用いる各パラメータ（操作情報データＤａ、心拍数データＤｂ、および平均心拍数データＤｃを除く）を初期化する。
【０１２１】
次に、ＣＰＵ１０は、プレイヤの心拍数ＨＲの平均値を用いて、心拍数ＨＲの上限値および下限値を算出し（ステップ６８）、当該サブルーチンによる処理を終了する。例えば、ＣＰＵ１０は、平均心拍数データＤｃが示す心拍数ＨＲの平均値に基づいて、心拍数ＨＲの上限値および下限値を算出し、算出された上限値および下限値を用いて心拍数上限値データＤｄおよび心拍数下限値データＤｅをそれぞれ更新する。一例として、ＣＰＵ１０は、心拍数ＨＲの平均値に所定の値（例えば、２０）を加算することによって、心拍数ＨＲの上限値を算出する。また、ＣＰＵ１０は、心拍数ＨＲの平均値から所定の値（例えば、２０）を減算することによって、心拍数ＨＲの下限値を算出する。なお、算出される上限値または下限値に制限を設けてもかまわない。例えば、心拍数ＨＲの上限値に対する最大制限値を予め設け、算出された上限値が当該最大制限値を越える場合、当該最大制限値を用いて心拍数上限値データＤｄを更新する。また、心拍数ＨＲの下限値に対する最小制限値を予め設け、算出された下限値が当該最小制限値未満となる場合、当該最小制限値を用いて心拍数下限値データＤｅを更新する。
【０１２２】
図１５に戻り、上記ステップ４２の初期設定の後、ＣＰＵ１０は、コアユニット７０から操作情報を示すデータを取得して（ステップ４３）、次のステップに処理を進める。例えば、ＣＰＵ１０は、コアユニット７０から受信した操作情報を取得し、当該操作情報に含まれる最新のキーデータが示す操作部７２に対する操作内容を用いてキーデータＤａ１を更新する。また、ＣＰＵ１０は、コアユニット７０から受信した操作情報に含まれる最新の生体情報データが示す脈波信号を用いて脈波データＤａ２を更新する。
【０１２３】
次に、ＣＰＵ１０は、現時点が拍タイミングか否かを判断する（ステップ４４）。そして、ＣＰＵ１０は、現時点が拍タイミングでない場合、次のステップ４５に処理を進める。一方、ＣＰＵ１０は、現時点が拍タイミングである場合、次のステップ４９に処理を進める。なお、拍タイミングを判断する処理については、上述したステップ６３の処理と同様であるため、詳細な説明を省略する。
【０１２４】
ステップ４５において、ＣＰＵ１０は、揺れフラグデータＤｆを参照して、揺れフラグがオンに設定されているか否かを判断する。そして、ＣＰＵ１０は、揺れフラグがオフの場合、次のステップ４６に処理を進める。一方、ＣＰＵ１０は、揺れフラグがオンの場合、次のステップ５０に処理を進める。
【０１２５】
ステップ４６において、ＣＰＵ１０は、発射操作中であるか否かを判断する。例えば、上記ステップ４３で取得した操作情報が、発射操作（例えば、Ａボタン７２ｄやＢボタン７２ｉを押下する操作）を示す場合や、矢オブジェクトＡが弓からリリースされた後であって、次の矢オブジェクトＡが当該弓に再セットされるまでの期間である場合、ＣＰＵ１０は、現時点が発射操作中であると判断する。そして、ＣＰＵ１０は、現時点が発射操作中でない場合、次のステップ４７に処理を進める。一方、ＣＰＵ１０は、現時点が発射操作中である場合、次のステップ５１に処理を進める。
【０１２６】
ステップ４７において、ＣＰＵ１０は、プレイヤの操作に応じた指示位置を算出し、次のステップに処理を進める。ここで、上記指示位置は、モニタ２の表示画面や当該表示画面に表示される仮想ゲーム世界に対してプレイヤが指示する位置であり、例えば、当該表示画面に設定された座標系、または仮想ゲーム世界に設定された座標系を基準とした座標データで示される。上記ステップ４７では、ＣＰＵ１０は、一例として上記ステップ４３で取得した操作情報が示す操作部７２（例えば、十字キー７２ａ）の操作状況に応じて、指示位置データＤｋが示す指示位置を変化させる。例えば、ＣＰＵ１０は、十字キー７２ａが押下されている方向に所定距離だけ移動するように指示位置データＤｋが示す指示位置を変化させ、変化後の指示位置を用いて指示位置データＤｋを更新する。なお、ＣＰＵ１０は、プレイヤが指示位置を移動させるための操作を行っていない場合、指示位置データＤｋが示す指示位置をそのまま保持して、次のステップに処理を進める。
【０１２７】
次に、ＣＰＵ１０は、指示位置に応じた照準位置を算出し、指示位置に対応する位置（例えば、指示位置や照準位置）に照準Ｓを表示して（ステップ４８）、次のステップ５２に処理を進める。例えば、ＣＰＵ１０は、指示位置データＤｋが示す指示位置に対応する照準位置を算出し、算出された照準位置を用いて照準位置データＤｐを更新する。一例として、指示位置が表示画面に設定された座標系に基づいた位置で示されている場合、ＣＰＵ１０は、指示位置を仮想ゲーム世界内に射影変換（透視変換）した位置を照準位置として算出して、照準位置データＤｐを更新する。他の例として、指示位置が仮想ゲーム世界に設定された座標系に基づいた位置で示されている場合、ＣＰＵ１０は、指示位置データＤｋが示す指示位置をそのまま照準位置に代入して、代入された照準位置を用いて照準位置データＤｐを更新する。そして、ＣＰＵ１０は、表示画面に設定された座標系に基づいた指示位置や仮想ゲーム世界に設定された座標系に基づいた照準位置に照準Ｓを配置して、仮想ゲーム世界とともにモニタ２に表示する。
【０１２８】
一方、上記ステップ４４において現時点が拍タイミングであると判断された場合、ＣＰＵ１０は、揺れ処理初期設定を行い（ステップ４９）、次のステップに処理を進める。以下、図１７を参照して、上記ステップ４９で行う揺れ処理初期設定について説明する。
【０１２９】
図１７において、ＣＰＵ１０は、揺れフラグをオンに設定して揺れフラグデータＤｆを更新し（ステップ８１）、次のステップに処理を進める。
【０１３０】
次に、ＣＰＵ１０は、プレイヤの心拍数ＨＲを算出して心拍数データＤｂを更新し（ステップ８２）、次のステップに処理を進める。なお、心拍数の算出方法および心拍数データＤｂの更新方法については、上記ステップ６４と同様であるため、詳細な説明を省略する。
【０１３１】
次に、ＣＰＵ１０は、揺れ幅Ｘｍａｘ、揺れ時間Ｔｍａｘ、および揺れ方向Ｄを算出し（ステップ８３）、次のステップに処理を進める。なお、本実施例では、２つの揺れ動作（第１の揺れ動作および第２の揺れ動作）を合成して照準Ｓが揺れるように動作させており、上記ステップ８３では、それぞれの揺れ動作毎の揺れ幅Ｘｍａｘ１およびＸｍａｘ２と、揺れ時間Ｔｍａｘ１およびＴｍａｘ２と、揺れ方向Ｄ１およびＤ２とを算出する。そして、ＣＰＵ１０は、算出された揺れ幅Ｘｍａｘ１およびＸｍａｘ２と、揺れ時間Ｔｍａｘ１およびＴｍａｘ２と、揺れ方向Ｄ１およびＤ２とを用いて、それぞれ揺れ幅データＤｇ、揺れ時間データＤｈ、および揺れ方向データＤｉを更新する。以下、それぞれの揺れ動作における揺れ幅、揺れ時間、および揺れ方向の算出例について説明する。
【０１３２】
第１の揺れ動作は、照準Ｓの揺れが停止した際、当該揺れが始まる前の位置に照準Ｓが戻るような揺れ動作である。第１の揺れ動作における揺れ幅Ｘｍａｘ１および揺れ時間Ｔｍａｘ１は、現時点におけるプレイヤの心拍数ＨＲに応じて算出される。例えば、第１の揺れ動作における揺れ幅Ｘｍａｘ１は、プレイヤの心拍数ＨＲが上限値を示した場合の値（例えば、４．０）と、プレイヤの心拍数ＨＲが下限値を示した場合の値（例えば、１．０）とが予め設定されており、現時点の心拍数ＨＲを直線補間することによって算出される。また、第１の揺れ動作における揺れ時間Ｔｍａｘ１も、プレイヤの心拍数ＨＲが上限値を示した場合の値（例えば、１．０）と、プレイヤの心拍数ＨＲが下限値を示した場合の値（例えば、０．７）とが予め設定されており、現時点の心拍数ＨＲを直線補間することによって算出される。ここで、上記上限値および下限値は、上記ステップ６８で設定された値（すなわち、心拍数上限値データＤｄおよび心拍数下限値データＤｅがそれぞれ示す上限値および下限値）が用いられ、現時点の心拍数ＨＲは、心拍数データＤｂに格納されている最新の心拍数ＨＲが用いられる。そして、何れの場合も、現時点の心拍数ＨＲが上記上限値を超える場合に当該上限値に対応する値が設定され、現時点の心拍数ＨＲが上記下限値未満の場合に当該下限値に対応する値が設定される。また、第１の揺れ動作における揺れ方向Ｄ１は、０〜２π（πは、円周率。以下も同様。）の間の値がランダムで選択される。
【０１３３】
第２の揺れ動作は、照準Ｓの揺れが停止した際、当該揺れが始まる前の位置とは異なる位置に照準Ｓが戻り得るような揺れ動作である。第２の揺れ動作における揺れ時間Ｔｍａｘ２は、現時点におけるプレイヤの心拍数ＨＲに応じて算出される。例えば、第２の揺れ動作における揺れ時間Ｔｍａｘ２も、プレイヤの心拍数ＨＲが上限値を示した場合の値（例えば、１．０）と、プレイヤの心拍数ＨＲが下限値を示した場合の値（例えば、０．７）とが予め設定されており、現時点の心拍数ＨＲを直線補間することによって算出される。そして、上記上限値および下限値は、上記ステップ６８で設定された値（すなわち、心拍数上限値データＤｄおよび心拍数下限値データＤｅがそれぞれ示す上限値および下限値）が用いられ、現時点の心拍数ＨＲは、心拍数データＤｂに格納されている最新の心拍数ＨＲが用いられる。そして、何れの場合も、現時点の心拍数ＨＲが上記上限値を超える場合に当該上限値に対応する値が設定され、現時点の心拍数ＨＲが上記下限値未満の場合に当該下限値に対応する値が設定される。したがって、典型的には、第２の揺れ動作における揺れ時間Ｔｍａｘ２と第１の揺れ動作における揺れ時間Ｔｍａｘ１とが同じ値となるが、異なる値に設定されてもかまわない。第２の揺れ動作における揺れ幅Ｘｍａｘ２は、０〜所定値（例えば、３．０）の間の値がランダムで選択される。また、第２の揺れ動作における揺れ方向Ｄ２は、０〜２πの間の値がランダムで選択される。
【０１３４】
次に、ＣＰＵ１０は、経過時間Ｔを初期化して経過時間データＤｊを更新し（ステップ８４）、当該サブルーチンによる処理を終了する。上述したように、本実施例では、第１の揺れ動作および第２の揺れ動作を合成して照準Ｓが揺れるように動作させており、上記ステップ８４では、それぞれの揺れ動作に対応する経過時間Ｔ１およびＴ２が初期化（例えば、何れも０に初期化）される。ここで、第１の揺れ動作における揺れ時間Ｔｍａｘ１と第２の揺れ動作における揺れ時間Ｔｍａｘ２とが必ず同じ値に設定される場合、上記ステップ８４および以下に述べる処理で取り扱う経過時間Ｔは、１つだけでもかまわない。
【０１３５】
図１５に戻り、上記ステップ４９の揺れ処理初期設定の後、ＣＰＵ１０は、揺れ処理を行って（ステップ５０）、次のステップ５２に処理を進める。以下、図１８を参照して、上記ステップ５０で行う揺れ処理について説明する。
【０１３６】
図１８において、ＣＰＵ１０は、経過時間Ｔが揺れ時間Ｔｍａｘ未満であるか否かを判断する（ステップ９２）。例えば、ＣＰＵ１０は、経過時間データＤｊが示す経過時間Ｔ１およびＴ２と、揺れ時間データＤｈが示す揺れ時間Ｔｍａｘ１およびＴｍａｘ２とを参照し、Ｔｍａｘ１＞Ｔ１、またはＴｍａｘ２＞Ｔ２であるか否かを判断する。そして、ＣＰＵ１０は、Ｔｍａｘ１＞Ｔ１、またはＴｍａｘ２＞Ｔ２である場合（すなわち、経過時間Ｔ１のみが揺れ時間Ｔｍａｘ１に未到達の場合、経過時間Ｔ２のみが揺れ時間Ｔｍａｘ２に未到達の場合、経過時間Ｔ１が揺れ時間Ｔｍａｘ１に未到達で経過時間Ｔ２も揺れ時間Ｔｍａｘ２に未到達の場合）、次のステップ９３に処理を進める。一方、ＣＰＵ１０は、Ｔｍａｘ１≦Ｔ１、かつＴｍａｘ２≦Ｔ２である場合（すなわち、経過時間Ｔ１が揺れ時間Ｔｍａｘ１に到達して、経過時間Ｔ２も揺れ時間Ｔｍａｘ２に到達している場合）、次のステップ１０３に処理を進める。
【０１３７】
ステップ９３において、ＣＰＵ１０は、プレイヤが発射操作を行ったか否かを判断する。例えば、上記ステップ４３で取得した操作情報が、発射操作（例えば、Ａボタン７２ｄやＢボタン７２ｉを押下する操作）を示す場合、ＣＰＵ１０は、プレイヤが発射操作を行ったと判断する。そして、ＣＰＵ１０は、発射操作が行われていない場合、次のステップ９４に処理を進める。一方、ＣＰＵ１０は、発射操作が行われた場合、次のステップ１０２に処理を進める。
【０１３８】
ステップ９４において、ＣＰＵ１０は、プレイヤの操作に応じた指示位置を算出し、次のステップに処理を進める。なお、上記ステップ９４で行う指示位置の算出方法については、上記ステップ４７と同様であるため、詳細な説明を省略する。
【０１３９】
次に、ＣＰＵ１０は、経過時間Ｔを更新して（ステップ９５）、次のステップに処理を進める。例えば、ＣＰＵ１０は、経過時間データＤｊが示す経過時間Ｔ１およびＴ２に、所定の値（例えば、前回の処理からの経過時間に相当する値）をそれぞれ加算し、加算後の経過時間Ｔ１およびＴ２を用いて経過時間データＤｊを更新する。
【０１４０】
次に、ＣＰＵ１０は、現在の第１揺れ幅Ｘ１を算出し（ステップ９６）、次のステップに処理を進める。例えば、ＣＰＵ１０は、揺れ幅データＤｇ、揺れ時間データＤｈ、および経過時間データＤｊを参照して、現在の第１揺れ幅Ｘ１を
Ｘ１＝Ｘｍａｘ１＊ｃｏｓ（Ｔ１／Ｔｍａｘ１＊π＊４）＊（Ｔｍａｘ１−Ｔ１）2／Ｔｍａｘ１2
で算出する。そして、ＣＰＵ１０は、算出された第１揺れ幅Ｘ１を用いて、現在の第１揺れ幅データＤｌを更新する。
【０１４１】
次に、ＣＰＵ１０は、第１オフセット値ｏｆ１を算出し（ステップ９７）、次のステップに処理を進める。例えば、ＣＰＵ１０は、揺れ方向データＤｉおよび現在の第１揺れ幅データＤｌを参照して、第１オフセット値ｏｆ１を
ｏｆ１ｘ＝Ｘ１＊ｃｏｓ（Ｄ１）
ｏｆ１ｙ＝Ｘ１＊ｓｉｎ（Ｄ１）
で算出する。ここで、ｏｆ１ｘは、第１オフセット値ｏｆ１のｘ軸方向（横方向）成分である。ｏｆ１ｙは、第１オフセット値ｏｆ１のｙ軸方向（縦方向）成分である。そして、ＣＰＵ１０は、算出された第１オフセット値ｏｆ１を用いて、第１オフセット値データＤｎを更新する。後述の説明により明らかとなるが、第１オフセット値ｏｆ１は、指示位置によって配置されている照準Ｓの位置を変化させる量として加算される値となる。そして、第１オフセット値ｏｆ１によって、照準Ｓは、指示位置に応じて配置されている照準Ｓの位置を中心として揺れ幅Ｘｍａｘ１分だけコサイン波で減衰していくように表示位置が揺れることになる。
【０１４２】
次に、ＣＰＵ１０は、現在の第２揺れ幅Ｘ２を算出し（ステップ９８）、次のステップに処理を進める。例えば、ＣＰＵ１０は、揺れ幅データＤｇ、揺れ時間データＤｈ、および経過時間データＤｊを参照して、現在の第２揺れ幅Ｘ２を
Ｘ２＝Ｘｍａｘ２＊（１−ｃｏｓ（π＊Ｔ２／Ｔｍａｘ２））／２
で算出する。そして、ＣＰＵ１０は、算出された第２揺れ幅Ｘ２を用いて、現在の第２揺れ幅データＤｍを更新する。
【０１４３】
次に、ＣＰＵ１０は、第２オフセット値ｏｆ２を算出し（ステップ９９）、次のステップに処理を進める。例えば、ＣＰＵ１０は、揺れ方向データＤｉ、現在の第２揺れ幅データＤｍ、および第１オフセット値データＤｎを参照して、第２オフセット値ｏｆ２を
ｏｆ２ｘ＝ｏｆ１ｘ＋Ｘ２＊ｃｏｓ（Ｄ２）
ｏｆ２ｙ＝ｏｆ１ｙ＋Ｘ２＊ｓｉｎ（Ｄ２）
で算出する。ここで、ｏｆ２ｘは、第２オフセット値ｏｆ２のｘ軸方向（横方向）成分である。ｏｆ２ｙは、第２オフセット値ｏｆ２のｙ軸方向（縦方向）成分である。そして、ＣＰＵ１０は、算出された第２オフセット値ｏｆ２を用いて、第２オフセット値データＤｏを更新する。このステップ９９の処理によって、第１オフセット値ｏｆ１に、経過時間Ｔ２の増加に応じて０からＸｍａｘ２まで漸増的に増加する第２揺れ幅Ｘ２がランダムな方向（揺れ方向Ｄ２）に加算されて、第２オフセット値ｏｆ２が得られることになる。つまり、第２オフセット値ｏｆ２によって、照準Ｓは、指示位置に応じて配置されている照準Ｓの位置を中心として揺れ幅Ｘｍａｘ１分だけコサイン波で減衰していくように表示位置が揺れるとともに、その揺れ中心位置もランダムな方向にずれていくことになる。
【０１４４】
次に、ＣＰＵ１０は、プレイヤの指示位置および第２オフセット値ｏｆ２に基づいて、照準位置を算出し（ステップ１００）、次のステップに処理を進める。例えば、ＣＰＵ１０は、指示位置データＤｋが示す指示位置に、第２オフセット値データＤｏが示す第２オフセット値ｏｆ２を加算する。そして、第２オフセット値ｏｆ２が加算された指示位置に対応する照準位置を算出し、算出された照準位置を用いて照準位置データＤｐを更新する。一例として、指示位置が表示画面に設定された座標系に基づいた位置で示されている場合、ＣＰＵ１０は、第２オフセット値ｏｆ２が加算された指示位置を仮想ゲーム世界内に射影変換（透視変換）した位置を照準位置として算出して、照準位置データＤｐを更新する。他の例として、指示位置が仮想ゲーム世界に設定された座標系に基づいた位置で示されている場合、ＣＰＵ１０は、第２オフセット値ｏｆ２が加算された指示位置をそのまま照準位置に代入して、代入された照準位置を用いて照準位置データＤｐを更新する。なお、仮想ゲーム世界に３次元座標系が設定されており、指示位置が当該３次元座標系に基づいた座標データで示されている場合、第２オフセット値ｏｆ２ｘを指示位置の当該３次元座標系における横方向成分（例えば、Ｘ軸方向成分）に加算し、第２オフセット値ｏｆ２ｙを指示位置の当該３次元座標系における縦方向成分（例えば、Ｙ軸方向成分）に加算してもよい。
【０１４５】
次に、ＣＰＵ１０は、指示位置に対応する位置（例えば、指示位置や照準位置）に照準Ｓを配置して、仮想ゲーム世界とともにモニタ２に表示し（ステップ１０１）、当該サブルーチンによる処理を終了する。例えば、ＣＰＵ１０は、表示画面に設定された座標系に基づいた指示位置や仮想ゲーム世界に設定された座標系に基づいた照準位置に照準Ｓを配置して、仮想ゲーム世界とともにモニタ２に表示する。
【０１４６】
一方、上記ステップ９２においてＴｍａｘ１≦Ｔ１、かつＴｍａｘ２≦Ｔ２であると判断された場合（すなわち、経過時間Ｔ１が揺れ時間Ｔｍａｘ１に到達して、経過時間Ｔ２も揺れ時間Ｔｍａｘ２に到達していると判断された場合）、ＣＰＵ１０は、揺れフラグをオフに設定して揺れフラグデータＤｆを更新し（ステップ１０３）、上記ステップ４６（図１５）に処理を進める。
【０１４７】
また、上記ステップ９３においてプレイヤが発射操作を行ったと判断された場合、ＣＰＵ１０は、揺れフラグをオフに設定して揺れフラグデータＤｆを更新し（ステップ１０２）、次のステップ５１（図１５）に処理を進める。
【０１４８】
図１５に戻り、上記ステップ４６において現時点が発射操作中であると判断された場合、または上記ステップ９３でプレイヤが発射操作を行ったと判断された場合、ＣＰＵ１０は、照準位置に応じて矢オブジェクトＡを飛行させ（ステップ５１）、次のステップ５２に処理を進める。例えば、上記ステップ５１において、ＣＰＵ１０は、プレイヤキャラクタＰＣが弓に矢オブジェクトＡをセットしている位置から、照準位置データＤｐが示す照準位置に向かって仮想ゲーム世界内を矢オブジェクトＡが所定の速度で他のオブジェクトと衝突するまで飛行するように、矢オブジェクト位置データＤｑが示す位置を更新する。そして、ＣＰＵ１０は、更新された位置に応じて、矢オブジェクトＡを仮想ゲーム世界に配置してモニタ２に表示する。なお、上記ステップ５１の処理（すなわち、発射操作中の処理）では、照準Ｓをモニタ２に表示したままでもいいし、プレイヤの発射操作に応じて照準Ｓを未表示にしてもよい。
【０１４９】
ステップ５２において、ＣＰＵ１０は、他のゲーム処理を行って、次のステップに処理を進める。例えば、上記ステップ５２において、ＣＰＵ１０は、プレイヤキャラクタＰＣにプレイヤの操作に応じた動作を行わせて、モニタ２に表示する。また、ＣＰＵ１０は、矢オブジェクトＡが標的オブジェクトＴに当たった場合、射られた位置に応じた得点を抽出して、モニタ２に表示する。また、ＣＰＵ１０は、仮想ゲーム世界に配置されている他のオブジェクトに関する処理を行う。
【０１５０】
次に、ＣＰＵ１０は、ゲームを終了するか否かを判断する（ステップ５３）。ゲームを終了する条件としては、例えば、ゲームオーバーとなる条件が満たされたことや、プレイヤがゲームを終了する操作を行ったこと等がある。ＣＰＵ１０は、ゲームを終了しない場合に上記ステップ４３に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。
【０１５１】
このように、上述したゲーム処理によれば、矢オブジェクトＡが飛行する際の目標となる照準Ｓは、プレイヤが指示位置を指示する操作だけでなく、プレイヤ自身の生体信号に応じて、その位置が決定されるため、プレイヤが容易に結果を予測できない趣向性の高い操作が可能となる。また、照準Ｓが生体信号に応じて揺れる揺れ幅や揺れ時間等がプレイヤの心拍数ＨＲに基づいて設定され、照準Ｓが揺れる揺れ方向もランダムに設定されるため、さらにプレイヤが容易に結果を予測できない趣向性の高い操作が可能となる。
【０１５２】
なお、上述したゲーム例では、仮想ゲーム世界においてプレイヤキャラクタＰＣが標的オブジェクトＴを狙って矢オブジェクトＡを発射（リリース）するアーチェリーゲームを用いたが、本発明は他のゲームにも適用できることは言うまでもない。例えば、本発明は、仮想ゲーム世界において設定される照準を目標として発射オブジェクト（発射物）を発射する、いわゆるシューティングゲーム等に適用することができる。ここで、上述した例では、上記発射オブジェクトの一例として矢オブジェクトＡを用いているが、「発射オブジェクト」は、矢を表すものでなくてもよく、仮想ゲーム世界における銃弾、砲弾、爆弾、手榴弾、ロケット弾、ミサイル弾、ボール、矢、ビーム、レーザ光線等であってもよい。また、ゲームの設定上、モニタ２には表現されない不可視のオブジェクトを照準に向かって発射するゲームでもよい。
【０１５３】
また、上述したゲームでは、発射オブジェクト（矢オブジェクトＡ）を発射する際の目標となる標的（標的オブジェクトＴ）が、仮想ゲーム世界において固定されている例を用いたが、標的が移動するようなゲームに本発明を適用することもできる。例えば、仮想ゲーム世界内を移動可能なオブジェクト（例えば、敵オブジェクト）が発射オブジェクトの標的として配置され、照準を用いて当該オブジェクトを狙い撃つようなゲーム等にも適用することができる。この場合、標的となるオブジェクトが仮想ゲーム世界においてプレイヤキャラクタに近づくように移動し、当該オブジェクトがプレイヤキャラクタに対して所定の距離以内に接近した場合にゲームオーバーとなるようなゲーム等にも適用することができる。
【０１５４】
また、上述したゲーム処理では、発射操作中（プレイヤが発射操作している状態や、矢オブジェクトＡが弓からリリースされた後であって、次の矢オブジェクトＡが当該弓に再セットされるまでの期間）においては、照準Ｓの位置が発射操作直前の位置に固定される例を用いたが、発射操作中であっても照準Ｓの位置を移動可能にしてもかまわない。この場合、プレイヤは、仮想ゲーム世界において発射オブジェクトが飛行中であっても、当該発射オブジェクトの飛行目標を操作部７２（例えば、十字キー７２ａ）の操作によって変更できるとともに、プレイヤ自身の生体信号によっても当該飛行目標が変化するため、さらに趣向性の高い操作が可能となる。
【０１５５】
また、上述した説明では、設定される照準を目標として仮想ゲーム世界において発射オブジェクトを発射するゲームに、本発明を適用した例を用いたが、本発明は、他のゲームにも適用することができる。例えば、本発明は、プレイヤの操作に応じて仮想ゲーム世界に対する指示位置が設定され、当該指示位置を用いて何らかの処理が行われるゲームであれば、適用することが可能である。一例として、プレイヤの操作に応じて設定された指示位置に対応する仮想ゲーム世界の位置または指示位置の近傍に対応する仮想ゲーム世界の位置に配置されているオブジェクトを、プレイヤ操作可能なオブジェクト（例えば、プレイヤオブジェクト、アイコン、カーソル等）を用いてつかんだり移動させたりするような、指示位置に対応するゲームオブジェクトに対して何らかの動作をさせるゲームにも本発明を適用することができる。他の例として、プレイヤの操作に応じて設定された指示位置に対応する仮想ゲーム世界の位置にプレイヤキャラクタを移動させるゲームにも本発明を適用することができる。これらのようなゲームであっても、プレイヤによって設定された指示位置に対応する仮想ゲーム世界の位置が、プレイヤの生体信号に応じて変化するため、プレイヤにとって上記動作や移動をさせるための操作の結果が容易に予測できず、趣向性の高い操作が可能となる。
【０１５６】
また、上述したゲーム処理では、プレイヤによって設定される指示位置（照準Ｓの位置）が、十字キー７２ａを押下することに応じて指定される方向に応じて変更可能な例を用いたが、当該指示位置は他の入力デバイスを用いて設定されてもかまわない。例えば、コアユニット７０に固設されたセンサから出力されるデータを用いて、指示位置を移動させてもかまわない。具体的には、重力方向に対してコアユニット７０の傾き（以下、単に「傾き」と言う）に応じたデータを出力するセンサ（加速度センサ７０１や傾きセンサ）、コアユニット７０の方位に応じたデータを出力するセンサ（磁気センサ）、コアユニット７０の回転運動に応じたデータを出力するセンサ（ジャイロセンサ）等をコアユニット７０に設け、当該センサから出力されるデータを用いることができる。この場合、上記データを用いて判定可能なコアユニット７０の動きや傾きに応じて、指示位置（照準Ｓの位置）を移動させればよい。
【０１５７】
また、プレイヤによって設定される指示位置が、ポインティングデバイスに応じて指定されるポインティング位置に応じて変更可能であってもよい。ここで、ポインティングデバイスは、画面上での入力位置や座標を指定する入力装置であり、例えば、タッチパネル、マウス、トラックパッド、トラックボール等を入力デバイスとして使用し、入力デバイスから出力される出力値から計算された画面座標系の位置情報を用いて上記指示位置を設定してもよい。
【０１５８】
なお、上述したように、コアユニット７０に固設された撮像情報演算部７４を、上記ポインティングデバイスとして利用することも可能である。この場合、コアユニット７０のハウジング７１で指し示した位置の変化に応じて撮像情報演算部７４が撮像する撮像画像が変化する。したがって、この撮像画像を解析することにより、表示画面に対して上記ハウジング７１で指し示した座標を上記指示位置として算出することができる。ここで、撮像情報演算部７４をポインティングデバイスとして利用する態様は、表示画面に対して遠隔から座標指定するために、コアユニット７０に設けられた撮像素子７４３で撮像対象を撮像した画像データを解析することによって、モニタ２の表示画面に対する指示位置を指定している。この態様は、表示画面近傍に撮像対象となる２つのマーカを設置し、撮像手段およびその撮像方向を自在に変更可能なハウジングを備えたデバイスが撮像画像中の２つのマーカを検出し、当該撮像画像におけるマーカの位置に基づいて当該デバイスが指定する座標位置を導出するものである。しかしながら、他の態様で上記座標位置の指定を行ってもかまわない。
【０１５９】
例えば、表示画面近傍に設置する撮像対象は、上述した電気的なマーカ（ＬＥＤモジュール）の他に、光を反射する部材や特定色や特定形状を有する物理的なマーカでもかまわない。また、モニタ２の表示画面に撮像対象を表示してもかまわない。また、コアユニット７０が備える撮像手段でラスタスキャン型モニタの走査線を読み取ることによって、当該モニタ自体を撮像対象にしてもかまわない。また、磁気発生装置を設け、当該磁気発生装置から生じる磁気を利用して遠隔から座標位置を指定してもかまわない。この場合、コアユニット７０には、上記磁気を検出するための磁気センサを設けることになる。
【０１６０】
また、上述した説明では、２つのマーカ８Ｌおよび８Ｒからの赤外光を、コアユニット７０の撮像情報演算部７４の撮像対象としたが、他のものを撮像対象にしてもかまわない。例えば、１つまたは３つ以上のマーカをモニタ２の近傍に設置し、それらのマーカからの赤外光を撮像情報演算部７４の撮像対象としてもかまわない。例えば、所定の長さを有する１つのマーカをモニタ２の近傍に設置しても、本発明を同様に実現することができる。また、モニタ２の表示画面自体や他の発光体（室内灯等）を撮像情報演算部７４の撮像対象としてもかまわない。撮像対象とモニタ２の表示画面との配置関係に基づいて、当該表示画面に対するコアユニット７０の位置を演算すれば、様々な発光体を撮像情報演算部７４の撮像対象として用いることができる。
【０１６１】
また、コアユニット７０側にマーカ等の撮像対象を設けて、撮像手段をモニタ２側に設けてもかまわない。さらに他の例では、コアユニット７０の前面から光を放射する機構を設けてもかまわない。この場合、コアユニット７０およびモニタ２とは別の場所にモニタ２の表示画面を撮像する撮像装置を設置し、モニタ２の表示画面にコアユニット７０から放射された光が反射した位置を当該撮像装置が撮像した画像から解析することによって、同様に表示画面に対して遠隔から座標指定するためのデータを出力可能なポインティングデバイスを構成することができる。
【０１６２】
また、上記指示位置を指示するためのセンサがコアユニット７０の外部に別設可能である場合、コアユニット７０を用いなくてもかまわない。一例として、センサとしてのカメラで単にプレイヤを撮影し、撮像画像内に撮像されたプレイヤの画像を解析することによりプレイヤの動きや姿勢を判断して、当該判断結果に応じて照準Ｓを移動させることができる。また、プレイヤが乗って操作する入力装置（例えば、ボード型コントローラ）に設けられ、当該入力装置上に作用している重量や物体の有無等を検知するセンサを用いて、当該入力装置を操作するプレイヤの動きや姿勢を判断して、当該判断結果に応じて照準Ｓを移動させることができる。これらの態様のセンサを用いて、照準Ｓを移動させる場合、コアユニット７０を用いなくてもかまわない。
【０１６３】
また、上述したゲーム処理例では、２つの揺れ動作（第１の揺れ動作および第２の揺れ動作）を合成して照準Ｓが揺れるように動作させているが、照準Ｓを揺らす態様はこれに限られない。例えば、上述した第１の揺れ動作および第２の揺れ動作の何れか一方のみを用いて、照準Ｓを揺れるように動作させてもかまわない。
【０１６４】
例えば、照準Ｓの揺れが停止した際、当該揺れが始まる前の位置とは異なる位置に照準Ｓが戻った場合、ポインティングした位置によって直接的に画面の指示位置を指定するような操作（例えば、タッチパネルや撮像情報演算部７４を用いたポインティング操作）では、揺れ動作が停止したときに指示位置がずれるようなことがあり得る。したがって、このような操作で照準Ｓを移動させる場合、第１の揺れ動作（すなわち、照準Ｓの揺れが停止した際、当該揺れが始まる前の位置に照準Ｓが戻る揺れ動作）のみを用いて照準Ｓを揺らす方が操作の違和感が少なくなることが考えられる。
【０１６５】
また、上記第２の揺れ動作のみを用いて照準Ｓを揺らす場合、照準Ｓの位置が時間経過に応じて０から揺れ両Ｘｍａｘ２まで漸増的に増加する第２揺れ幅Ｘ２がランダムな方向にオフセットされるように変化することになる。したがって、上記第２の揺れ動作のみを用いて照準Ｓの位置を変化させる場合、厳密には、照準Ｓが揺れるように表示されるのではなく、その表示位置がランダムな方向にずれていくように動いていくことになる。しかしながら、本発明は、プレイヤの操作に応じて仮想ゲーム世界に対する照準Ｓの表示位置が設定され、当該表示位置がプレイヤの生体信号に応じて変化すればよく、揺れるような変化でなく単に照準Ｓの表示位置がずれるように変化してもよい。
【０１６６】
また、上述した第１の揺れ動作および第２の揺れ動作の少なくとも一方を用いて、照準Ｓの位置を変化させてもかまわない。具体的には、上記ステップ８３における第２の揺れ動作の振れ幅Ｘｍａｘ２が０に設定された場合、照準Ｓは、結果的に第１の揺れ動作だけを用いて揺れることになる。このように、上記ステップ８３における揺れの設定値の設定基準を調整することによって、第１の揺れ動作および第２の揺れ動作の少なくとも一方が用いられるように照準Ｓの位置を変化させることも可能となる。
【０１６７】
また、上述した説明では、プレイヤの心拍数ＨＲに基づいて、照準Ｓの揺れ動作における揺れ幅Ｘｍａｘ、揺れ時間Ｔｍａｘ等を設定したが、プレイヤから得られる他のパラメータに基づいて揺れ動作を設定する各パラメータを設定してもかまわない。例えば、プレイヤから得られる脈波、交感神経活動度、副交感神経活動度、心拍変動係数、心拍間隔、呼吸周期、脈波振幅等から選ばれた少なくとも１つのパラメータに基づいて、揺れ動作を設定する各パラメータを設定してもかまわない。また、上述した説明では、プレイヤの拍タイミング毎に照準Ｓの位置を揺らす動作を一時的に行っているが、プレイヤから得られる周期性を有する他のパラメータ（例えば、呼吸周期）の周期毎に照準Ｓの位置を揺らす動作を一時的に行ってもかまわない。
【０１６８】
また、上述した説明では、プレイヤの身体の一部（例えば、指先）に赤外線を照射し、当該身体の一部を透過して受光された赤外線の光量に基づいてプレイヤの生体信号（脈波信号）を得る、いわゆる光学方式によって血管の容積変化を検出して容積脈波を得る例を用いている。しかしながら、本発明では、プレイヤが身体活動する際に起こる生理的な情報が得られる他の形式のセンサを用いて、プレイヤの生体信号を取得してもかまわない。例えば、動脈の脈動による血管内の圧力変位を検出（例えば、圧電方式）して圧脈波を得ることによって、プレイヤの生体信号を取得してもかまわない。また、プレイヤの筋電位や心電位を、プレイヤの生体信号として取得してもかまわない。筋電位や心電位は、電極を用いた一般的な検出方法により検出することができ、例えば、プレイヤの身体における微細な電流の変化等に基づいて、プレイヤの生体信号を取得することができる。また、プレイヤの血流を、プレイヤの生体信号として取得してもかまわない。血流は、電磁法や超音波法等を用いて１心拍ごとの脈動血流として測定され、当該脈動血流をプレイヤの生体信号として取得することができる。当然ながら、上述した各種生体信号を得るために、プレイヤの指部以外の箇所（例えば、胸部、腕、耳たぶ等）にバイタルセンサを装着してもかまわない。取得する生体信号によっては、厳密には脈拍と心拍との差が生じることになるが、心拍数と脈拍数という見方をした場合ほぼ同じ値と考えられるので、取得される生体信号を上述した処理と同様に取り扱うことができる。
【０１６９】
また、上述した説明では、バイタルセンサ７６から脈波信号を示すデータをゲーム装置本体５に送信し、ゲーム装置本体５において当該脈波信号から様々なパラメータを算出したが、他の処理段階のデータをゲーム装置本体５に送信してもかまわない。例えば、バイタルセンサ７６において、拍タイミングの検出、拍タイミング間の時間間隔（心拍間隔）、心拍数ＨＲ、脈波振幅ＰＡ、および脈波面積ＰＷＡを示すパラメータを算出して、当該パラメータを示すデータをゲーム装置本体５に送信してもかまわない。また、上記脈波信号から上記パラメータを算出する途中段階のデータをバイタルセンサ７６からゲーム装置本体５に送信してもかまわない。
【０１７０】
また、上述した説明ではゲーム処理をコントローラ７（バイタルセンサ７６、コアユニット７０）およびゲーム装置本体５（すなわち、ゲーム装置３）で行う例を用いたが、上記ゲーム処理における処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲーム装置３が他の装置（例えば、サーバや他のゲーム装置）と通信可能に構成されている場合、上記ゲーム処理における処理ステップは、ゲーム装置３および当該他の装置が協働することによって実行してもよい。一例として、他の装置において仮想ゲーム世界が設定されている場合、バイタルセンサ７６から出力される脈波信号およびコアユニット７０から出力されるキーデータを他の装置へ送信し、他の装置において以降のゲーム処理を行った後、ゲーム装置３で表示処理を行うことが考えられる。また、他の例として、他の装置において仮想ゲーム世界が設定されている場合、上述したゲーム処理における途中段階のデータ（例えば、拍タイミングと拍タイミングの間隔（例えば、心拍数ＨＲ）とを示すデータや、照準位置を示すデータと発射操作を示すデータ）を、ゲーム装置３から他の装置へ送信し、送信したデータを用いた処理を当該他の装置で行った後、ゲーム装置３で表示処理を行うことが考えられる。このように、上記ゲーム処理における処理ステップの少なくとも一部を他の装置で行うことによって、上述したゲーム処理と同様の処理が可能となるとともに、他の装置において実現されている仮想ゲーム世界に複数のゲーム装置のプレイヤが参加するゲーム処理（例えば、他の装置で動作しているゲームに複数のゲーム装置のプレイヤが参加してゲーム進行を共有するオンラインゲーム）にも本発明を適用することも可能となる。上述したゲーム処理は、少なくとも１つの情報処理装置により構成される情報処理システムに含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。
【０１７１】
また、上記実施例では、据置型のゲーム装置３に本願発明を適用した例を説明したが、バイタルセンサと、プレイヤの操作を入力する入力装置と、これらの装置から得られる情報に応じた処理を実行する情報処理装置とがあればよく、例えば一般的なパーソナルコンピュータ、携帯電話機、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、携帯ゲーム装置等のデバイスにも適用することができる。
【０１７２】
また、上述した説明では、コアユニット７０とゲーム装置本体５とが無線通信によって接続された態様を用いたが、コアユニット７０とゲーム装置本体５とがケーブルを介して電気的に接続されてもかまわない。この場合、コアユニット７０に接続されたケーブルをゲーム装置本体５の接続端子に接続する。
【０１７３】
また、コントローラ７を構成するコアユニット７０およびバイタルセンサ７６のうち、コアユニット７０のみに通信部７５を設けたが、バイタルセンサ７６にゲーム装置本体５へ生体情報データを無線送信する通信部を設けてもかまわない。また、コアユニット７０およびバイタルセンサ７６それぞれに上記通信部を設けてもかまわない。例えば、コアユニット７０およびバイタルセンサ７６に設けられた通信部がそれぞれゲーム装置本体５へ生体情報データや操作データを無線送信してもいいし、バイタルセンサ７６の通信部からコアユニット７０へ生体情報データを無線送信してコアユニット７０の通信部７５で受信した後、コアユニット７０の通信部７５がバイタルセンサ７６の生体情報データと共にコアユニット７０の操作データをゲーム装置本体５へ無線送信してもいい。これらの場合、コアユニット７０とバイタルセンサ７６とを電気的に接続する接続ケーブル７９が不要となる。
【０１７４】
また、上述したコアユニット７０の形状や、それに設けられている操作部７２の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述したバイタルセンサ７６の形状や、それに設けられている構成要素の種類、数、および設置位置等は、単なる一例に過ぎず他の種類、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した処理で用いられる係数、判定値、数式、処理順序等は、単なる一例に過ぎず他の値や数式や処理順序であっても、本発明を実現できることは言うまでもない。
【０１７５】
また、上記ゲームプログラムは、光ディスク４等の外部記憶媒体を通じてゲーム装置本体５に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置本体５に供給されてもよい。また、ゲームプログラムは、ゲーム装置本体５内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記ゲームプログラムを記憶する情報記憶媒体としては、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体の他に、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、不揮発性メモリなどでもよい。また、上記ゲームプログラムを記憶する情報記憶媒体としては、上記ゲームプログラムを一時的に記憶する情報記憶媒体として揮発性メモリでもよい。
【０１７６】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示にすぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書（定義を含めて）が優先する。
【産業上の利用可能性】
【０１７７】
本発明に係るゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法は、プレイヤが容易に結果を予測できない趣向性の高い操作が可能となり、プレイヤが指示する指示位置に基づいてゲーム処理するゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法等として有用である。
【符号の説明】
【０１７８】
１…ゲームシステム
２…モニタ
２ａ、７０６…スピーカ
３…ゲーム装置
４…光ディスク
５…ゲーム装置本体
１０…ＣＰＵ
１１…システムＬＳＩ
１２…外部メインメモリ
１３…ＲＯＭ／ＲＴＣ
１４…ディスクドライブ
１５…ＡＶ−ＩＣ
１６…ＡＶコネクタ
１７…フラッシュメモリ
１８…無線通信モジュール
１９…無線コントローラモジュール
２０…拡張コネクタ
２１…外部メモリカード用コネクタ
２２、２３…アンテナ
２４…電源ボタン
２５…リセットボタン
２６…イジェクトボタン
３１…入出力プロセッサ
３２…ＧＰＵ
３３…ＤＳＰ
３４…ＶＲＡＭ
３５…内部メインメモリ
７…コントローラ
７０…コアユニット
７１…ハウジング
７２…操作部
７３…コネクタ
７４…撮像情報演算部
７４１…赤外線フィルタ
７４２…レンズ
７４３…撮像素子
７４４…画像処理回路
７５…通信部
７５１…マイコン
７５２…メモリ
７５３…無線モジュール
７５４…アンテナ
７００…基板
７０１…加速度センサ
７０２…ＬＥＤ
７０４…バイブレータ
７０７…サウンドＩＣ
７０８…アンプ
７６…バイタルセンサ
７６１…制御部
７６２…発光部
７６３…受光部
８…マーカ
【図１】
2011161050.tif 000003
【図２】
2011161050.tif 000004
【図３】
2011161050.tif 000005
【図４】
2011161050.tif 000006
【図５】
2011161050.tif 000007
【図６】
2011161050.tif 000008
【図７】
2011161050.tif 000009
【図８】
2011161050.tif 000010
【図９】
2011161050.tif 000011
【図１０】
2011161050.tif 000012
【図１１】
2011161050.tif 000013
【図１２】
2011161050.tif 000014
【図１３Ａ】
2011161050.tif 000015
【図１３Ｂ】
2011161050.tif 000016
【図１３Ｃ】
2011161050.tif 000017
【図１３Ｄ】
2011161050.tif 000018
【図１４】
2011161050.tif 000019
【図１５】
2011161050.tif 000020
【図１６】
2011161050.tif 000021
【図１７】
2011161050.tif 000022
【図１８】
2011161050.tif 000023
【手続補正書】
【提出日】平成22年6月2日(2010.6.2)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
また、上記ゲームプログラムは、拍タイミング検出手段として、さらにコンピュータを機能させてもよい。拍タイミング検出手段は、生体信号取得手段が取得した生体信号に基づいて、プレイヤの脈拍または心拍における拍タイミングを検出する。この場合、指示位置変化手段は、拍タイミング検出手段が検出した拍タイミングから所定時間が経過するまで一時的に指示位置を変化させてもよい。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
【図１】本発明の一実施形態に係るゲームシステム１の一例を示す外観図
【図２】図１のゲーム装置本体５の一例を示すブロック図
【図３】図１のコアユニット７０の上面後方から見た一例を示す斜視図
【図４】図３のコアユニット７０を下面前方から見た一例を示す斜視図
【図５】図３のコアユニット７０の上筐体を外した状態の一例を示す斜視図
【図６】図４のコアユニット７０の下筐体を外した状態の一例を示す斜視図
【図７】図３のコアユニット７０の構成の一例を示すブロック図
【図８】バイタルセンサ７６の構成の一例を示すブロック図
【図９】バイタルセンサ７６から出力される生体情報の一例である脈波情報の例を示す図
【図１０】モニタ２に表示されるゲーム画像の一例を示す図
【図１１】モニタ２に表示されるゲーム画像の一例を示す図
【図１２】モニタ２に表示されるゲーム画像の一例を示す図
【図１３Ａ】モニタ２に表示される照準Ｓの動きを示す第１段階の一例を示す図
【図１３Ｂ】モニタ２に表示される照準Ｓの動きを示す第２段階の一例を示す図
【図１３Ｃ】モニタ２に表示される照準Ｓの動きを示す第３段階の一例を示す図
【図１３Ｄ】モニタ２に表示される照準Ｓの動きを示す第４段階の一例を示す図
【図１４】ゲーム装置本体５のメインメモリに記憶される主なデータおよびプログラムの一例を示す図
【図１５】ゲーム装置本体５において実行されるゲーム処理の一例を示すフローチャート
【図１６】図１５のステップ４２に示す初期設定の詳細な処理の一例を示すサブルーチン
【図１７】図１５のステップ４９に示す揺れ処理初期設定の詳細な処理の一例を示すサブルーチン
【図１８】図１５のステップ５０に示す揺れ処理の詳細な処理の一例を示すサブルーチン
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１１４
【補正方法】変更
【補正の内容】
【０１１４】
図１６において、ＣＰＵ１０は、プレイヤから生体情報を取得する設定を行い（ステップ６１）、次のステップに処理を進める。例えば、ＣＰＵ１０は、以降の処理で用いる各パラメータを初期化する。そして、ＣＰＵ１０は、プレイヤから生体情報を取得するための入力装置であるバイタルセンサ７６の装着を、プレイヤにモニタ２を介して指示する。なお、バイタルセンサ７６をプレイヤに装着させるための指示は、モニタ２へ表示でなく、プレイヤが知覚できる音声等の他の手段またはその組み合わせによって行ってもよい。そして、バイタルセンサ７６が備える光学系により、プレイヤによるバイタルセンサ７６の装着が確認されると、バイタルセンサ７６は、プレイヤの身体から生体信号の取得を開始して、当該生体信号を示すデータをゲーム装置本体５へ送出する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１６５
【補正方法】変更
【補正の内容】
【０１６５】
また、上記第２の揺れ動作のみを用いて照準Ｓを揺らす場合、照準Ｓの位置が時間経過に応じて０から揺れ幅Ｘｍａｘ２まで漸増的に増加する第２揺れ幅Ｘ２がランダムな方向にオフセットされるように変化することになる。したがって、上記第２の揺れ動作のみを用いて照準Ｓの位置を変化させる場合、厳密には、照準Ｓが揺れるように表示されるのではなく、その表示位置がランダムな方向にずれていくように動いていくことになる。しかしながら、本発明は、プレイヤの操作に応じて仮想ゲーム世界に対する照準Ｓの表示位置が設定され、当該表示位置がプレイヤの生体信号に応じて変化すればよく、揺れるような変化でなく単に照準Ｓの表示位置がずれるように変化してもよい。
【手続補正５】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１４
【補正方法】変更
【補正の内容】
【請求項１４】
前記生体信号取得手段が取得した生体信号に基づいて、プレイヤの脈拍または心拍における拍タイミングを検出する拍タイミング検出手段として、さらに前記コンピュータを機能させ、
前記指示位置変化手段は、前記拍タイミング検出手段が検出した拍タイミングから所定時間が経過するまで一時的に前記指示位置を変化させる、請求項１２または１３に記載のゲームプログラム。
【手続補正６】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項２０
【補正方法】変更
【補正の内容】
【請求項２０】
少なくとも１つの情報処理装置により構成される情報処理システムに含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行されるゲーム処理方法であって、
入力装置に対して行われたプレイヤの操作入力を取得する操作入力取得ステップと、
前記操作入力に応じて、仮想ゲーム世界に対する指示位置を設定する指示位置設定ステップと、
プレイヤから生体信号を取得する生体信号取得ステップと、
前記生体信号取得ステップが取得した生体信号に応じて、前記指示位置を変化させる指示位置変化ステップと、
前記指示位置に基づいて、所定のゲーム処理を行うゲーム処理ステップとを含む、ゲーム処理方法。