(57)【要約】【課題】加速度センサやジャイロセンサを搭載したゲームコントローラを空中で振る動作をもって仮想的な操作物を打ち合わせる操作入力を判定するゲームを実行する際に、操作入力を適切に判定すること。【解決手段】ゲーム装置は、慣性センサを内蔵したゲームコントローラ１４６０Ｒ，１４６０Ｌの慣性センサの計測値に基づいて、各ゲームコントローラ１４６０Ｒ，１４６０Ｌの実空間中の推測位置及び推測姿勢を推測する。そして、各ゲームコントローラ１４６０Ｒ，１４６０Ｌの推測位置及び推測姿勢に基づいて、各ゲームコントローラ１４６０に対応する仮想バチ３Ｒ，３Ｌ同士の仮想的な接触の有無を判定する。そして、接触判定の結果に基づいてプレーヤの操作入力を判定する。【選択図】図４
2019162355.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに所定のゲームを実行させるためのプログラムであって、
慣性センサを内蔵した複数のゲームコントローラの前記慣性センサの計測値に基づいて各ゲームコントローラの実空間中の推測位置及び推測姿勢を推測する推測手段、
各ゲームコントローラの前記推測位置及び前記推測姿勢に基づいて、前記各ゲームコントローラに対応する仮想オブジェクト同士の仮想的な接触の有無を判定する仮想接触判定手段、
前記仮想接触判定手段の判定結果に基づいてプレーヤの操作入力を判定する操作入力判定手段、
として前記コンピュータを機能させるためのプログラム。
【請求項２】
前記仮想接触判定手段は、前記ゲームコントローラより長い前記仮想オブジェクトが前記推測位置に前記推測姿勢で位置すると仮定し、当該仮想オブジェクト同士が仮想的に接触したか否かを判定する、
請求項１に記載のプログラム。
【請求項３】
前記仮想接触判定手段は、前記仮想オブジェクト同士の距離が所与の接触許容条件を満たす場合に接触したと判定する、
請求項１又は２に記載のプログラム。
【請求項４】
前記複数のゲームコントローラには、第１コントローラと第２コントローラとが少なくとも含まれ、
前記第１コントローラの前記推測位置及び前記推測姿勢に基づいて、前記第１コントローラの第１モーションを判定し、前記第２コントローラの前記推測位置及び前記推測姿勢に基づいて、前記第２コントローラの第２モーションを判定するモーション判定手段として前記コンピュータを更に機能させ、
前記操作入力判定手段は、前記仮想接触判定手段により接触したと判定されたときの前記第１モーション及び前記第２モーションに基づいて、操作入力された操作入力種類を判定する、
請求項１〜３の何れか一項に記載のプログラム。
【請求項５】
前記操作入力判定手段は、
前記第１コントローラ及び前記第２コントローラの何れか一方が不動相当状態、他方がスイング状態のときに前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、
前記第１コントローラ及び前記第２コントローラの両方がスイング状態のときに前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、
を少なくとも判別して判定する、
請求項４に記載のプログラム。
【請求項６】
前記操作入力判定手段は、
前記第１コントローラ及び前記第２コントローラが上向きの状態で前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、
前記第１コントローラ及び前記第２コントローラが下向きの状態で前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、
を少なくとも判別して判定する、
請求項４又は５に記載のプログラム。
【請求項７】
前記モーション判定手段は、モーションの速さ又は大きさであるモーションの規模を含めてモーションを判定し、
前記操作入力判定手段は、前記第１モーションの規模及び／又は前記第２モーションの規模に基づく前記操作入力種類、
を少なくとも判別して判定する、
請求項４〜６の何れか一項に記載のプログラム。
【請求項８】
操作入力すべき前記操作入力種類を前記プレーヤに提示する提示手段、
前記提示された操作入力種類が、前記操作入力判定手段により操作入力されたと判定されたか否かに基づいて前記プレーヤの操作入力を評価する評価手段、
として前記コンピュータを機能させるための請求項４〜７の何れか一項に記載のプログラム。
【請求項９】
前記操作入力判定手段により判定される前記操作入力種類毎に判定条件が定められており、
前記提示手段により提示された操作入力種類の前記判定条件を緩和する条件緩和手段、
として前記コンピュータを機能させるための請求項８に記載のプログラム。
【請求項１０】
前記操作入力判定手段により判定される前記操作入力種類毎に判定条件が定められており、
前記ゲームの難易度、ゲームステージ、及びゲーム進行状況のうちの何れかに基づいて、前記判定条件を変更する判定条件変更手段、
として前記コンピュータを機能させるための請求項８に記載のプログラム。
【請求項１１】
前記仮想接触判定手段により接触したと判定された場合に所定の応答出力制御を行う応答出力制御手段、
として前記コンピュータを機能させるための請求項１〜１０の何れか一項に記載のプログラム。
【請求項１２】
前記仮想接触判定手段により接触したと判定された場合に前記操作入力種類に応じた音を出力することで所定の応答出力制御を行う応答出力制御手段、
として前記コンピュータを機能させるための請求項４〜１０の何れか一項に記載のプログラム。
【請求項１３】
前記ゲームコントローラには、バイブレータが内蔵されており、
前記応答出力制御手段は、前記バイブレータを振動させることで前記応答出力制御を行う、
請求項１１又は１２に記載のプログラム。
【請求項１４】
コンピュータに所定のゲームを実行させるためのプログラムであって、
慣性センサを内蔵した複数のゲームコントローラの前記慣性センサの計測値に基づいて各ゲームコントローラの実空間中の推測位置及び推測姿勢を推測する推測手段、
各ゲームコントローラの前記推測位置及び前記推測姿勢が所定の仮想接触条件を満たしたか否かに基づいてプレーヤの操作入力を判定する操作入力判定手段、
として前記コンピュータを機能させるためのプログラム。
【請求項１５】
所定のゲームを実行するコンピュータシステムであって、
慣性センサを内蔵した複数のゲームコントローラの前記慣性センサの計測値に基づいて各ゲームコントローラの実空間中の推測位置及び推測姿勢を推測する推測手段と、
各ゲームコントローラの前記推測位置及び前記推測姿勢に基づいて、前記各ゲームコントローラに対応する仮想オブジェクト同士の仮想的な接触の有無を判定する仮想接触判定手段と、
前記仮想接触判定手段の判定結果に基づいてプレーヤの操作入力を判定する操作入力判定手段と、
を備えたコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに所定のゲームを実行させるためのプログラム等に関する。
【背景技術】
【０００２】
例えば、音楽ゲームや演奏ゲーム、リズムゲーム等と呼ばれるジャンルのゲーム（以下包括して「音楽ゲーム」という）は、再生される音楽のリズム等に合わせた所定のタイミング（規準タイミング：目標とするべきタイミング）で、如何に正確に指示された種類の操作（規準操作：プレーヤに求められている操作入力）を行うかを楽しむタイミングゲームの代表例である。プレーヤは、自身が選んだ好みの楽曲をＢＧＭとして、リズムに合わせた操作入力を楽しむことができるので、１人でプレイするシングルプレイは勿論のこと、複数のプレーヤが参加して協力或いは対戦するマルチプレイでも人気である。
【０００３】
この種のゲームを実行するゲーム装置の中には、操作入力のための専用のゲームコントローラが用意されたものも知られている。例えば、打楽器演奏をモチーフとした音楽ゲームのゲーム装置として、打楽器演奏用のスティックを模したゲームコントローラを備えたものがある（特許文献１を参照）。特許文献１では、スティックの物理的な衝突を検出し、操作入力を判定する手法が開示されている。
【０００４】
また、一方で、据置型家庭用ゲーム装置や携帯型ゲーム装置等に付属する汎用のゲームコントローラには慣性センサである加速度センサやジャイロセンサが搭載されており、ゲームコントローラを振る動作をそれらで計測して操作入力に用いている。例えば、特許文献２では、加速度値の増減方向が反転したタイミングにおける加速度の差に着目することで、ゲームコントローラを空中で振る操作と、ゲームコントローラに衝撃を与える操作と、を識別する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２５７号公報
【特許文献２】特開２００８−３６１６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１の技術は、汎用のゲームコントローラを専用の収容品に収容することで全体としてスティック状のコントローラとなり、そのスティックの物理的な衝突を検出することで操作入力を判定する技術である。そのため、専用品を使用せずに、汎用のゲームコントローラのみを利用する場合には、特許文献１の技術を適用できるとは限らない。例えば、汎用のゲームコントローラを、ゲームコントローラより長い棒状の仮想的なスティックに見立てて、その仮想的なスティックの先端をあたかも空中で打ち合わせるかのような操作入力を検出しようとするときには、実際に物理的な衝突をしないため、特許文献１の技術は適用できない。
【０００７】
そこで、本発明は、加速度センサやジャイロセンサを搭載したゲームコントローラを空中で振る動作をもって仮想的な操作物を打ち合わせる操作入力を判定するゲームを実行する際に、操作入力を適切に判定することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するための第１の発明は、コンピュータに所定のゲームを実行させるためのプログラム（例えば、図１０のゲームプログラム５０２）であって、慣性センサ（例えば、図１の慣性センサ１４７４）を内蔵した複数のゲームコントローラ（例えば、図１のゲームコントローラ１４６０）の前記慣性センサの計測値に基づいて各ゲームコントローラの実空間中の推測位置及び推測姿勢を推測する推測手段（例えば、図９の初期設定部２１６、位置／姿勢追跡部２１８）、各ゲームコントローラの前記推測位置及び前記推測姿勢に基づいて、前記各ゲームコントローラに対応する仮想オブジェクト同士の仮想的な接触の有無を判定する仮想接触判定手段（例えば、図９の接触判定部２２０）、前記仮想接触判定手段の判定結果に基づいてプレーヤの操作入力を判定する操作入力判定手段（例えば、図９の操作入力判定部２３０）、として前記コンピュータを機能させるためのプログラムである。
【０００９】
また、他の発明として、所定のゲームを実行するコンピュータシステム（例えば、図１のゲーム装置１４００）であって、慣性センサを内蔵した複数のゲームコントローラの前記慣性センサの計測値に基づいて各ゲームコントローラの実空間中の推測位置及び推測姿勢を推測する推測手段と、各ゲームコントローラの前記推測位置及び前記推測姿勢に基づいて、前記各ゲームコントローラに対応する仮想オブジェクト同士の仮想的な接触の有無を判定する仮想接触判定手段と、前記仮想接触判定手段の判定結果に基づいてプレーヤの操作入力を判定する操作入力判定手段と、を備えたコンピュータシステムを構成してもよい。
【００１０】
第１の発明等によれば、慣性センサの計測値に基づき推測した実空間中の複数のゲームコントローラの推測位置及び推測姿勢をもとに、各ゲームコントローラに対応する仮想オブジェクト同士の接触の有無を判定することで、プレーヤの操作入力を判定することができる。したがって、ゲームコントローラを空中で振る動作をもって仮想的な操作物を打ち合わせる操作入力を判定するゲームを実行する際に、当該操作入力を適切に判定することができる。
【００１１】
また、第２の発明は、前記仮想接触判定手段が、前記ゲームコントローラより長い前記仮想オブジェクトが前記推測位置に前記推測姿勢で位置すると仮定し、当該仮想オブジェクト同士が仮想的に接触したか否かを判定する、第１の発明のプログラムである。
【００１２】
第２の発明によれば、ゲームコントローラよりも長い仮想オブジェクトを想定してそれらの接触の有無を判定することができる。
【００１３】
また、第３の発明は、前記仮想接触判定手段が、前記仮想オブジェクト同士の距離が所与の接触許容条件を満たす場合に接触したと判定する、第１又は第２の発明のプログラムである。
【００１４】
第３の発明によれば、仮想オブジェクト同士の距離が接触したと判定できるだけの距離である接触許容条件を満たすのであれば、当該仮想オブジェクト同士が接触したと判定することができる。
【００１５】
また、第４の発明は、前記複数のゲームコントローラには、第１コントローラ（例えば、図１の右ゲームコントローラ１４６０Ｒ）と第２コントローラ（例えば、図１の左ゲームコントローラ１４６０Ｌ）とが少なくとも含まれ、前記第１コントローラの前記推測位置及び前記推測姿勢に基づいて、前記第１コントローラの第１モーションを判定し、前記第２コントローラの前記推測位置及び前記推測姿勢に基づいて、前記第２コントローラの第２モーションを判定するモーション判定手段（例えば、図９のモーション判定部２３２）として前記コンピュータを更に機能させ、前記操作入力判定手段は、前記仮想接触判定手段により接触したと判定されたときの前記第１モーション及び前記第２モーションに基づいて、操作入力された操作入力種類を判定する、第１〜第３の何れかの発明のプログラムである。
【００１６】
第４の発明によれば、操作入力時における第１コントローラ及び第２コントローラのモーションの組合せによって、操作入力種類を定めておくことができる。そして、第１コントローラ及び第２コントローラに係る仮想オブジェクト同士の接触判定時における第１コントローラ及び第２コントローラのモーションを判定することで、操作入力された操作入力種類を判定することができる。
【００１７】
また、第５の発明は、前記操作入力判定手段は、前記第１コントローラ及び前記第２コントローラの何れか一方が不動相当状態、他方がスイング状態のときに前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、前記第１コントローラ及び前記第２コントローラの両方がスイング状態のときに前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、を少なくとも判別して判定する、第４の発明のプログラムである。
【００１８】
第５の発明によれば、第１コントローラ及び第２コントローラのうちの一方を止めて他方を振る動作をして仮想的な操作物を打ち合わせる操作入力と、第１コントローラ及び第２コントローラの両方を振る動作をして仮想的な操作物を打ち合わせる操作入力と、を別個の操作入力種類として判別して判定することができる。
【００１９】
また、第６の発明は、前記操作入力判定手段は、前記第１コントローラ及び前記第２コントローラが上向きの状態で前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、前記第１コントローラ及び前記第２コントローラが下向きの状態で前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、を少なくとも判別して判定する、第４又は第５の発明のプログラムである。
【００２０】
第６の発明によれば、第１コントローラ及び第２コントローラに係る仮想オブジェクトが接触したと判定したときに、当該接触判定時の第１コントローラ及び第２コントローラが上向きの状態の場合と、下向きの状態の場合と、を別個の操作入力種類として判別して判定することができる。
【００２１】
また、第７の発明は、前記モーション判定手段は、モーションの速さ又は大きさであるモーションの規模を含めてモーションを判定し、前記操作入力判定手段は、前記第１モーションの規模及び／又は前記第２モーションの規模に基づく前記操作入力種類、を少なくとも判別して判定する、第４〜第６の何れかの発明のプログラムである。
【００２２】
第７の発明によれば、操作入力時における第１コントローラ及び／又は第２コントローラのモーションの規模を含めて操作入力種類を定めておくことができる。そして、接触判定時の第１コントローラのモーションの規模及び／又は第２コントローラのモーションの規模をもとに、操作入力種類を判別して判定することができる
【００２３】
また、第８の発明は、操作入力すべき前記操作入力種類を前記プレーヤに提示する提示手段（例えば、図９の提示制御部２１４）、前記提示された操作入力種類が、前記操作入力判定手段により操作入力されたと判定されたか否かに基づいて前記プレーヤの操作入力を評価する評価手段（例えば、図９の評価部２４２）、として前記コンピュータを機能させるための第４〜第７の何れかの発明のプログラムである。
【００２４】
第８の発明によれば、提示した操作入力すべき操作入力種類と、判定したプレーヤの操作入力種類との異同を判定して、当該プレーヤの操作入力を評価することができる。
【００２５】
また、第９の発明は、前記操作入力判定手段により判定される前記操作入力種類毎に判定条件が定められており、前記提示手段により提示された操作入力種類の前記判定条件を緩和する条件緩和手段（例えば、図９の条件緩和処理部２４０）、として前記コンピュータを機能させるための第８の発明のプログラムである。
【００２６】
第９の発明によれば、操作入力種類を判定するための判定条件を緩和することができる。
【００２７】
また、第１０の発明は、前記操作入力判定手段により判定される前記操作入力種類毎に判定条件が定められており、前記ゲームの難易度、ゲームステージ、及びゲーム進行状況のうちの何れかに基づいて、前記判定条件を変更する判定条件変更手段（例えば、図９の条件緩和処理部２４０）、として前記コンピュータを機能させるための第８の発明のプログラムである。
【００２８】
第１０の発明によれば、操作入力種類の判定条件を、ゲームの難易度、ゲームステージ、及びゲーム進行状況のうちの何れかに基づいて変更することができる。
【００２９】
また、第１１の発明は、前記仮想接触判定手段により接触したと判定された場合に所定の応答出力制御を行う応答出力制御手段（例えば、図９の応答出力制御部２４４）、として前記コンピュータを機能させるための第１〜第１０の何れかの発明のプログラムである。
【００３０】
第１１の発明によれば、仮想オブジェクト同士の接触判定時に、例えば音や表示等による応答出力を行ってその旨を報知することができる。
【００３１】
また、第１２の発明は、前記仮想接触判定手段により接触したと判定された場合に前記操作入力種類に応じた音を出力することで所定の応答出力制御を行う応答出力制御手段（例えば、図９の応答出力制御部２４４）、として前記コンピュータを機能させるための第４〜第１０の何れかの発明のプログラムである。
【００３２】
第１２の発明によれば、判定した操作入力種類に応じた音の出力による応答出力を行うことができ、操作入力の実感を高めることができる。
【００３３】
第１３の発明は、前記ゲームコントローラには、バイブレータ（例えば、図１のバイブレータ１４６３）が内蔵されており、前記応答出力制御手段は、前記バイブレータを振動させることで前記応答出力制御を行う、第１１又は第１２の発明のプログラムである。
【００３４】
第１３の発明によれば、仮想オブジェクト同士の接触判定時の応答出力や、判定した操作入力種類に応じた応答出力を、プレーヤが手に持つゲームコントローラの振動演出によって行うことができる。
【００３５】
また、第１４の発明は、コンピュータに所定のゲームを実行させるためのプログラムであって、慣性センサを内蔵した複数のゲームコントローラの前記慣性センサの計測値に基づいて各ゲームコントローラの実空間中の推測位置及び推測姿勢を推測する推測手段、各ゲームコントローラの前記推測位置及び前記推測姿勢が所定の仮想接触条件を満たしたか否かに基づいてプレーヤの操作入力を判定する操作入力判定手段、として前記コンピュータを機能させるためのプログラムである。
【００３６】
第１４の発明によれば、慣性センサの計測値に基づき実空間中の複数のゲームコントローラの推測位置及び推測姿勢を推測し、各ゲームコントローラの推測位置及び推測姿勢が仮想接触条件を満たしたか否かによってプレーヤの操作入力を判定することができる。したがって、ゲームコントローラを空中で振る動作をもって仮想的な操作物を打ち合わせる操作入力を判定するゲームを実行する際に、当該操作入力を適切に判定することができる。推測位置及び推測姿勢の推測に当たっては、最初に各ゲームコントローラを所定のホームポジションで静止させ、そのホームポジションの位置及び姿勢（向きや傾きとも言える）を基準にして、以降の推測位置及び推測姿勢を追跡的に推測してゆく、という方法を採用することができる。
【図面の簡単な説明】
【００３７】
【図１】ゲームコントローラが着脱自在なゲーム装置の構成例を示す正面図。
【図２】ゲームコントローラを分離した状態のゲーム装置を示す図。
【図３】ゲーム内容を説明するための図。
【図４】バチクロス動作を説明する図。
【図５】指示画面の一例を示す図。
【図６】仮想空間に配置した右仮想バチ及び左仮想バチの追跡処理を説明する図。
【図７】規準操作種類の一例を示す図。
【図８】条件緩和処理を説明する図。
【図９】ゲーム装置の機能構成例を示すブロック図。
【図１０】記憶部が記憶するプログラムやデータの例を示す図。
【図１１】プレイデータのデータ構成例を示す図。
【図１２】ゲーム装置における処理の流れを説明するためのフローチャート。
【図１３】操作入力の判定及び操作入力種類の判別に係る処理の流れを示すフローチャート。
【発明を実施するための形態】
【００３８】
以下、図面を参照して、本発明の好適な実施形態について説明する。なお、以下説明する実施形態によって本発明が限定されるものではなく、本発明を適用可能な形態が以下の実施形態に限定されるものでもない。また、図面の記載において、同一部分には同一の符号を付す。
【００３９】
図１は、本発明が適用された携帯型のゲーム装置であって、ゲームコントローラが着脱自在なゲーム装置の構成例を示す正面図である。図２は、ゲームコントローラを分離した状態の同ゲーム装置を示す図である。
【００４０】
ゲーム装置１４００は、携行性と使用時の利便性とを考慮してデザインされた、携帯型ゲーム装置に分類されるコンピュータである。ゲーム装置１４００は、本体装置１４０１と、本体装置１４０１に着脱可能な複数のゲームコントローラ１４６０と、を備える。本実施形態では、第１コントローラとしての右ゲームコントローラ１４６０Ｒと、第２コントローラとしての左ゲームコントローラ１４６０Ｌの、２つのゲームコントローラ１４６０を備える。なお、ゲーム装置１４００が備えるゲームコントローラ１４６０の数は２つに限らず、３つ以上備えていてもよい。
【００４１】
本体装置１４０１は、画像表示デバイス兼接触位置入力デバイスとして機能するタッチパネル１４０６と、コネクタ１４０７と、内蔵バッテリー１４０９と、スピーカ１４１０と、制御基板１４５０と、を備える。その他、電源ボタン、音量調節ボタン等が適宜設けられている。
【００４２】
コネクタ１４０７は、右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌに対応して本体装置１４０１の左右の端部それぞれに設けられている。そして、右ゲームコントローラ１４６０Ｒや左ゲームコントローラ１４６０Ｌのコネクタ１４６７と接続されて、各ゲームコントローラ１４６０と本体装置１４０１との間の通信を実現する。
【００４３】
制御基板１４５０は、ＣＰＵ（Central Processing Unit）１４５１やＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）等の各種プロセッサ、ＶＲＡＭやＲＡＭ、ＲＯＭ等の各種ＩＣメモリ１４５２、携帯電話基地局や無線ＬＡＮ基地局、近距離無線器を有する他の装置等と無線通信するための通信モジュール１４５３、インターフェース回路１４５７等を搭載する。
【００４４】
インターフェース回路１４５７には、タッチパネル１４０６のドライバ回路、コネクタ１４０７を介して右ゲームコントローラ１４６０Ｒや左ゲームコントローラ１４６０Ｌと信号を送受信する回路、スピーカ１４１０へ音声信号を出力する出力アンプ回路等が含まれている。
【００４５】
制御基板１４５０に搭載されているこれらの要素は、バス回路等を介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。なお、制御基板１４５０の一部または全部をＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field-Programmable Gate Array）、ＳｏＣ（System on a Chip）にて構成してもよい。
【００４６】
制御基板１４５０は、プログラムや各種データをＩＣメモリ１４５２に記憶しており、制御基板１４５０がそれらに基づいて演算処理することにより、本実施形態のゲームを実行する各種機能を実装する。
【００４７】
右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌは、プレーヤによって右手・左手にそれぞれ把持されるようにデザインされている。そして、右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌは、それぞれ、ジョイスティック１４６１と、操作ボタンとなる複数のプッシュスイッチ１４６２と、振動発生デバイスであるバイブレータ１４６３と、スピーカ１４６４と、コネクタ１４６７と、コントローラ制御基板１４７０と、内蔵バッテリー（図視略）と、を備える。
【００４８】
コントローラ制御基板１４７０は、当該ゲームコントローラを制御するプロセッサに相当するコントローラ制御ＩＣ１４７１と、通信モジュール１４７３と、慣性センサ１４７４と、インターフェース回路１４７７と、を備える。
【００４９】
勿論、これら以外の要素、例えばイメージセンサモジュール等も適宜含めることができる。或いは、一部の要素で他の要素の機能を兼用させることで、当該他の要素を省略することもできる。例えば、３軸加速度センサ１４７５と３軸ジャイロセンサ１４７６とを１つのセンサで実現する構成、コントローラ制御ＩＣ１４７１とインターフェース回路１４７７とを統合した構成等も可能である。
【００５０】
通信モジュール１４７３は、本体装置１４０１の通信モジュール１４５３との間で、無線通信を実現する。
【００５１】
各慣性センサ１４７４は、３軸加速度センサ１４７５と、３軸ジャイロセンサ１４７６と、を備える。具体的には、図２に示すように、右ゲームコントローラ１４６０Ｒの３軸加速度センサ１４７５は、右手系のローカル座標（Ｘｒ・Ｙｒ・Ｚｒ）を構成している。この右手系のローカル座標（Ｘｒ・Ｙｒ・Ｚｒ）は、右ゲームコントローラ１４６０Ｒの正面向かって右方向（図２の右側）がＸｒ軸の正方向、コントローラの長手方向上側（図２の上側）がＹｒ軸の正方向、コントローラの正面法線方向つまりコントローラの正面手前側（図２の手前側）がＺｒ軸の正方向となるように構成されている。
【００５２】
右ゲームコントローラ１４６０Ｒの３軸ジャイロセンサ１４７６は、右手系のローカル座標（Ｘｒ・Ｙｒ・Ｚｒ）を構成しており、右ゲームコントローラ１４６０Ｒの３軸加速度センサ１４７５の各軸回りの角速度を検出できるように構成されている。
【００５３】
そして、右ゲームコントローラ１４６０Ｒの左端には、コネクタ１４６７を塞ぐようにアタッチメント１４６８が装着可能とされる。右ゲームコントローラ１４６０Ｒは、当該コントローラの右側を右手の親指及び母指球に当てて、当該コントローラのアタッチメント１４６８を人差し指から小指で包むようにして把持される。換言すると、正面側とは反対の背面側を掌側にして片手で握るようにして保持される。
【００５４】
同様にして、左ゲームコントローラ１４６０Ｌの３軸加速度センサ１４７５は、左手系のローカル座標（Ｘｌ・Ｙｌ・Ｚｌ）を構成している。この左手系のローカル座標（Ｘｌ・Ｙｌ・Ｚｌ）は、左ゲームコントローラ１４６０Ｌの正面向かって左方向（図２の左側）がＸｌ軸の正方向、コントローラの長手方向上側（図２の上側）がＹｌ軸の正方向、コントローラの正面法線方向つまりコントローラの正面手前側（図２の手前側）がＺｌ軸の正方向となるように構成されている。
【００５５】
左ゲームコントローラ１４６０Ｌの３軸ジャイロセンサ１４７６は、左手系のローカル座標（Ｘｌ・Ｙｌ・Ｚｌ）を構成しており、左ゲームコントローラ１４６０Ｌの３軸加速度センサ１４７５の各軸回りの角速度を検出できるように構成されている。
【００５６】
そして、左ゲームコントローラ１４６０Ｌの左端には、コネクタ１４６７を塞ぐようにアタッチメント１４６８が装着可能とされる。左ゲームコントローラ１４６０Ｌは、当該コントローラの左側を左手の親指及び母指球に当てて、当該コントローラのアタッチメント１４６８を人差し指から小指で包むようにして把持される。換言すると、正面側とは反対の背面側を掌側にして片手で握るようにして保持される。
【００５７】
なお、図２や図６等に座標軸の方向を示す表記をしているが、この表記は各座標軸の方向を示しているだけであり、座標原点を示すものではない。
【００５８】
図１に戻り、インターフェース回路１４７７は、コネクタ１４６７を介した本体装置１４０１の制御基板１４５０との有線通信を実現するための回路を含む。そして、当該コントローラが搭載する各種デバイス（ジョイスティック１４６１、プッシュスイッチ１４６２、バイブレータ１４６３、スピーカ１４６４、３軸加速度センサ１４７５、３軸ジャイロセンサ１４７６等）と、本体装置１４０１との信号のやり取りを実現する。
【００５９】
［ゲームの概要］
図３は、本実施形態におけるゲーム内容を説明するための図である。本実施形態のゲームは仮想打楽器の演奏をテーマとした音楽ゲームであり、ゲーム中、本体装置１４０１のタッチパネル１４０６には楽曲（プレイ曲）の譜面表示を含むゲーム画面が表示され、スピーカ１４１０からは、プレイ曲の音声や操作入力に応じた叩打演出音等が出力される。プレーヤ１は、タッチパネル１４０６のゲーム画面Ｗ１の譜面表示を見ながら、スピーカ１４１０から出力（再生）されるプレイ曲のリズムに合わせて右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌを空中で振ることで操作入力をして、音楽ゲームを楽しむ。
【００６０】
具体的には、プレーヤ１は、右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌを、仮想打楽器（例えば和太鼓）の仮想の叩打用具（仮想バチ）の持ち手部分を持っているつもりで把持する。そして、右ゲームコントローラ１４６０Ｒ及び／又は左ゲームコントローラ１４６０Ｌを上下に振って操作入力をする。
【００６１】
ゲーム画面Ｗ１は、画面を左右に横切る帯状の譜面表示部２０と、プレイ開始からの経過時間表示部１０と、楽曲名表示部１２と、を備える。譜面表示部２０のデザインは適宜設定可能であるが、本実施形態では、画面左側に示された基準位置２２と、基準位置２２へ向けて流れ表示される指示体２４と、プレイ曲における小節単位の区切りを示す小節区切り線２５と、評価結果表示部２７と、スコア表示部２８と、難易度表示部２９と、が含まれる。
【００６２】
基準位置２２は、規準タイミング（目標とする操作入力のタイミング）を示すための基準となる位置を示している。本実施形態では１つの譜面表示部２０に１つだけ表示されるが、複数箇所設ける構成としてもよい。
【００６３】
指示体２４は、規準操作（その時の規準タイミングでなされるべき正しい操作入力）の操作入力種類（規準操作種類）別に異なるデザインで用意されている。この指示体２４は、譜面表示部２０の右側から出現表示され、小節区切り線２５とともに基準位置２２へ向けてプレイ曲の音声再生と同期してライン状に流れるように移動表示される。そして、指示体２４が基準位置２２に到来したタイミングによって、当該指示体２４の種類が示す規準操作種類の操作入力をすべき規準タイミングであることを、プレーヤ１に提示する。
【００６４】
評価結果表示部２７は、プレーヤ１の操作入力に対する評価結果を随時表示する。操作入力評価は、例えば、指示体２４の中心が基準位置２２の中心線と重なるタイミングを規準タイミングとし、重なった指示体２４の種類を規準操作種類として、第１の評価項目である規準タイミングとその時の操作入力タイミングとの時間差と、第２の評価項目である規準操作種類と操作入力種類の異同と、をそれぞれ評価することで行う。規準操作種類と操作入力種類とが一致し、且つ、規準タイミングと操作入力タイミングとの時間差が小さい程、高評価となる。本実施形態では、例えば、規準操作種類と操作入力種類とが異なる場合は当該操作入力を「不可」とする。そして、規準操作種類と操作入力種類とが一致する場合には、規準タイミングと操作入力タイミングとの時間差を、当該時間差に係る基準を用いて「良」「可」「不可」「スルー」の４段階で判定する。
【００６５】
スコア表示部２８には、操作入力の評価結果に応じて付与される得点の累計が表示される。また、本実施形態の音楽ゲームは、プレイ開始前にプレーヤ１が後述するプレイ難易度を選択して行う構成となっており、難易度表示部２９には、当該選択したプレイ難易度（図３では「かんたん」）が表示される。選択可能なプレイ難易度は、例えば、低い方から順に「かんたん」「ふつう」「むずかしい」「おに」の４段階とされる。
【００６６】
［原理］
さて、本実施形態のゲームでは、プレーヤ１は、図４に示すように、右仮想バチ３Ｒ及び左仮想バチ３Ｌの持ち手を握るように右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌを左右の手に持って構え、右仮想バチ３Ｒ及び左仮想バチ３Ｌの先端同士を叩いて接触させる「バチクロス」の動作を行うことで操作入力をする。ここで、本実施形態では、プレーヤ１が持つ右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌは手の中に収まるサイズであるが、プレーヤ１は、右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌの先には（見えないけれど）長い棒状のもの（右仮想バチ３Ｒ及び左仮想バチ３Ｌの先端側）が有るつもりで、実際には手にしていない右仮想バチ３Ｒ及び左仮想バチ３Ｌの先端同士を打ち合わせる真似をしてバチクロス動作を行う。
【００６７】
このバチクロス動作による操作入力を判定し、その良否を評価するため、ゲーム中は、慣性センサ１４７４の計測値に基づいて、右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌの実空間中の推測位置及び推測姿勢を推測する。そのための処理として、本実施形態では、（１）３次元空間として形成された仮想空間に、右ゲームコントローラ１４６０Ｒに対応する右仮想バチ３Ｒと、左ゲームコントローラ１４６０Ｌに対応する左仮想バチ３Ｌとを配置する初期設定処理と、（２）慣性センサ１４７４の計測値に基づいて、仮想空間中で左仮想バチ３Ｌ及び右仮想バチ３Ｒを右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌの動きに追従させる追跡処理と、を行う。
【００６８】
（１）初期設定処理
初期設定処理では、先ず、ゲームプレイの開始に先立ちタッチパネル１４０６に指示画面を表示し、プレーヤ１に所定のポーズを取らせることで、右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌをホームポジションで静止させるための指示をする。例えば、図５の指示画面Ｗ３に示すように、右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌを右仮想バチ３Ｒ及び左仮想バチ３Ｌの持ち手を握るように持ち、右仮想バチ３Ｒ及び左仮想バチ３Ｌを構えた状態（ホームポジション）で静止する指示をする。そして、その上で、静止した状態の右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌの各慣性センサ１４７４からの加速度（重力加速度）の計測値を用いて、右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌの姿勢（右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌの傾き又は向きともいえる）を算出する。
【００６９】
具体的には、右ゲームコントローラ１４６０Ｒにおいてその慣性センサ１４７４の３軸加速度センサ１４７５で計測された加速度ベクトル（Ｘｒ・Ｙｒ・Ｚｒ軸座標系における３次元ベクトル；右手系ローカル加速度ベクトル）Ａｒをもとに、右ゲームコントローラ１４６０Ｒの姿勢を算出して右仮想バチ３Ｒの初期姿勢とする。同様に、左ゲームコントローラ１４６０Ｌにおいてその慣性センサ１４７４の３軸加速度センサ１４７５で計測された加速度ベクトル（Ｘｌ・Ｙｌ・Ｚｌ軸座標系における３次元ベクトル；左手系ローカル加速度ベクトル）Ａｌをもとに、右ゲームコントローラ１４６０Ｒの姿勢を算出して右仮想バチ３Ｒの初期姿勢とする。
【００７０】
続いて、図６に示すように、座標系（Ｘｗ・Ｙｗ・Ｚｗ）で表される仮想空間を設定し、右仮想バチ３Ｒ及び左仮想バチ３Ｌを配置する。具体的には、予め右仮想バチ３Ｒについて定められた仮想空間中の初期位置Ｐｒに、算出した初期姿勢で右仮想バチ３Ｒを配置するとともに、予め左仮想バチ３Ｌについて定められた仮想空間中の初期位置Ｐｌに、算出した初期姿勢で左仮想バチ３Ｌを配置する。初期位置Ｐｒ，Ｐｌ間の位置関係は、例えば、指示画面Ｗ３でプレーヤ１に指示するポーズに応じて定めておくことができる。
【００７１】
（２）追跡処理
追跡処理では、初期設定処理後に逐次計測される慣性センサ１４７４からの加速度及び角速度の計測値を用い、図６中に破線で示すように、仮想空間中で右仮想バチ３Ｒを右ゲームコントローラ１４６０Ｒの動きに追従させるととともに左仮想バチ３Ｌを左ゲームコントローラ１４６０Ｌの動きに追従させて、右仮想バチ３Ｒ及び左仮想バチ３Ｌの現在の位置及び姿勢を算出する。
【００７２】
具体的には、右仮想バチ３Ｒの初期位置及び初期姿勢を基準にして、右ゲームコントローラ１４６０Ｒの慣性センサ１４７４において３軸加速度センサ１４７５で逐次計測される右手系ローカル加速度ベクトルＡｒと、３軸ジャイロセンサ１４７６で逐次計測される角速度ベクトル（Ｘｒ・Ｙｒ・Ｚｒ軸座標系における３次元ベクトル；右手系ローカル角速度ベクトル）ωｒと、をもとに仮想空間における右仮想バチ３Ｒの現在の位置及び姿勢を算出する。同様に、左仮想バチ３Ｌの初期位置及び初期姿勢を基準にして、左ゲームコントローラ１４６０Ｌの慣性センサ１４７４において３軸加速度センサ１４７５で逐次計測される左手系ローカル加速度ベクトルＡｌと、３軸ジャイロセンサ１４７６で逐次計測される角速度ベクトル（Ｘｌ・Ｙｌ・Ｚｌ軸座標系における３次元ベクトル；左手系ローカル角速度ベクトル）ωｌと、をもとに仮想空間における左仮想バチ３Ｌの現在の位置及び姿勢を算出する。
【００７３】
そして、ゲーム中は、（３）追跡処理によって追跡されている右仮想バチ３Ｒ及び左仮想バチ３Ｌの現在の位置及び姿勢をもとに仮想空間中での右仮想バチ３Ｒと左仮想バチ３Ｌとの接触判定処理を行い、接触したと判定した場合に、（４）バチクロス動作による操作入力の有無を判定する操作入力判定処理を行う。
【００７４】
（３）接触判定処理
接触判定処理では、仮想空間中での右仮想バチ３Ｒ及び左仮想バチ３Ｌ同士の接触の有無を逐次判定する。本実施形態では、右仮想バチ３Ｒの先端部と左仮想バチ３Ｌの先端部との距離が所与の接触許容条件を満たす場合に仮想接触条件を満たし、右仮想バチ３Ｒ及び左仮想バチ３Ｌ同士が接触したと判定する。接触許容条件は、例えば、「当該距離が所定の距離閾値Ｔｈ１以下となったこと」とすることができる。
【００７５】
（４）操作入力判定処理
操作入力判定処理では、接触判定処理によって右仮想バチ３Ｒと左仮想バチ３Ｌとが接触したと判定した場合に、バチクロス動作による操作入力の有無を判定する。
【００７６】
本実施形態では、接触判定時の右ゲームコントローラ１４６０Ｒのモーション（第１モーション）と、当該接触判定時の左ゲームコントローラのモーション（第２モーション）との組合せによって３種類のバチクロス動作が定義され、規準操作種類（それに対応する指示体の種類）の数は、図７に示すように、それらバチクロス動作の種類（第１バチクロス動作〜第３バチクロス動作）、向き（上向き状態／下向き状態）、及び規模（大モーション／大モーション以外）を組み合わせた１２種類とされる。すなわち、図３では１種類の指示体（白丸の指示体）２４を図示したが、実際には、指示体は、１２種類の規準操作種類毎に異なるデザインのものが用意され、プレーヤ１に対し、規準操作種類を識別可能に提示する。
【００７７】
そのため、操作入力の有無の判定に当たっては、第１モーションと第２モーションとを判定してその組合せからバチクロス動作の種類を判定するとともに、そのときの右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌの向きを判定し、第１モーションの規模及び／又は前記第２モーションの規模を判定する。そして、それら判定結果に適合する規準操作種類があれば、バチクロス動作による操作入力があったと判定し、当該適合する規準操作種類を操作入力種類として判別する。
【００７８】
１．バチクロス動作の種類
第１のバチクロス動作は、右仮想バチ３Ｒと左仮想バチ３Ｌとを逆方向に動かすことで先端同士を打ち合わせる動作であり、「所定の判定対象期間における第１モーションと第２モーションとがともにスイング状態であること」として定義される。第２バチクロス動作は、左仮想バチ３Ｌは動かさずにその先端部分を右仮想バチ３Ｒの先端部分で打つ動作であり、「所定の判定対象期間における第１モーションがスイング状態であって、当該判定対象期間における第２モーションが不動相当状態であること」として定義される。第３バチクロス動作は、右仮想バチ３Ｒは動かさずにその先端部分を左仮想バチ３Ｌの先端部分で打つ動作であり、「所定の判定対象期間における第１モーションが不動相当状態であって、当該判定対象期間における第２モーションがスイング状態であること」として定義される。
【００７９】
ここで、判定対象期間は、接触判定の時点から遡って例えば所定数フレーム分の期間（１０フレームでもよいし、２０フレームでもよい）とすることができる。そして、第１モーションは、判定対象期間における右仮想バチ３Ｒの位置及び／又は姿勢の変化に基づき判定する。具体的には、判定対象期間における右仮想バチ３Ｒの位置変化量を算出するとともに、当該判定対象期間における右仮想バチ３Ｒの姿勢変化量を算出する。そして、位置変化量が所定の第１位置判定用閾値Ｔｈ２１以下であり、姿勢変化量が所定の第１姿勢判定用閾値Ｔｈ３１以下であれば、第１モーションを不動相当状態と判定する。一方、位置変化量が所定の第２位置判定用閾値Ｔｈ２２以上であるか、又は、姿勢変化量が所定の第２姿勢判定用閾値Ｔｈ３２以上の場合は、第１モーションをスイング状態と判定する。第２モーションについても、判定対象期間における左仮想バチ３Ｌの位置及び／又は姿勢の変化に基づいて同様に判定する。すなわち、判定対象期間における左仮想バチ３Ｌの位置変化量が第１位置判定用閾値Ｔｈ２１以下であり、姿勢変化量が第１姿勢判定用閾値Ｔｈ３１以下であれば、第２モーションを不動相当状態と判定する一方、位置変化量が第２位置判定用閾値Ｔｈ２２以上であるか、又は、姿勢変化量が第２姿勢判定用閾値Ｔｈ３２以上の場合は、第２モーションをスイング状態と判定する。
【００８０】
２．向き
上向き状態のバチクロス動作は、右仮想バチ３Ｒ及び左仮想バチ３Ｌがその先端を上に向けた姿勢で行われたバチクロス動作をいい、下向き状態のバチクロス動作は、右仮想バチ３Ｒ及び左仮想バチ３Ｌがその先端を下に向けた姿勢で行われたバチクロス動作をいう。
【００８１】
本実施形態では、接触判定時における右仮想バチ３Ｒ及び左仮想バチ３Ｌの先端方向の仰角をそれぞれ求め、求めた仰角から当該接触判定時の右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌの向きが上向き状態なのか下向き状態なのかを判定する。例えば、右仮想バチ３Ｒ及び左仮想バチ３Ｌのそれぞれについて求めた仰角が何れも所定の上向き判定用閾値Ｔｈ４１（例えば０度）以上の場合に、当該バチクロス動作の向きを上向き状態と判定する。一方、右仮想バチ３Ｒ及び左仮想バチ３Ｌのそれぞれについて求めた俯角が何れも下向き判定用閾値Ｔｈ４３（例えば０度）未満の場合は、当該バチクロス動作の向きを下向き状態と判定する。なお、接触判定時における右仮想バチ３Ｒ及び左仮想バチ３Ｌの先端方向の俯角をそれぞれ求め、上向き状態なのか下向き状態なのかを判定する構成でもよい。例えば、右仮想バチ３Ｒ及び左仮想バチ３Ｌのそれぞれについて求めた俯角が何れも０度以下の場合に当該バチクロス動作の向きを上向き状態と判定し、右仮想バチ３Ｒ及び左仮想バチ３Ｌのそれぞれについて求めた俯角が何れも０度を超えている場合に当該バチクロス動作の向きを下向き状態と判定するのでもよい。
【００８２】
３．規模
規模は、スイング状態と判定された第１モーション及び／又は第２モーションの速さ又は大きさによって判定する。本実施形態では、スイング状態と判定された第１モーションに係る判定対象期間の右手系ローカル加速度ベクトルＡｒが、所定の規模判定用閾値Ｔｈ５以上となっている場合に、当該第１モーションを「大モーション」と判定する。規模判定用閾値Ｔｈ５未満であれば、当該第１モーションを「普通モーション」と判定する。同様に、スイング状態と判定された第２モーションに係る判定対象期間の左手系ローカル加速度ベクトルＡｌが規模判定用閾値Ｔｈ５以上となっている場合に、当該第２モーションを「大モーション」と判定する。そして、規模判定用閾値Ｔｈ５未満であれば、当該第２モーションを「普通モーション」と判定する。なお、２段階で規模を判定する場合に限らず、例えば「大」「中」「小」の３段階で判定するとしてもよいし、４段階以上で判定してもよい。また、その判定対象期間における位置変化量や姿勢変化量をもとに、スイング状態と判定された第１モーション及び／又は第２モーションの規模を２段階以上で判定する構成としてもよい。
【００８３】
以上の操作入力判定処理の結果バチクロス動作による操作入力があったと判定され、操作入力種類が判別された場合には、接触判定処理により右仮想バチ３Ｒ及び左仮想バチ３Ｌ同士が接触したと判定したタイミングが操作入力タイミングとされる。そして、ゲーム中、規準タイミングの到来に応じて別途行う評価処理では、当該操作入力タイミングを用いて規準タイミングとの時間差を評価し、判別された操作入力種類が規準操作種類と一致するかを評価して、当該操作入力の４段階評価（良／可／不可／スルー）を行う。
【００８４】
さて、以上説明したように、本実施形態では、ゲーム中に右仮想バチ３Ｒ及び左仮想バチ３Ｌ同士の接触の有無を逐次判定し、接触判定時の右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌのモーションを判定してバチクロス動作の種類を特定し、当該バチクロス動作の向き及び規模を判定することで操作入力種類を判別するが、（５）所定の実行条件を満たした場合にそれら各種判定に係る判定条件を緩和する条件緩和処理を行う。
【００８５】
（５）条件緩和処理
図８は、条件緩和処理を説明する図であり、条件緩和処理の実行条件と、当該実行条件を満たす場合に行う判定条件の緩和内容との対応関係をテーブル形式で示している。本実施形態では、図８に示すように、例えば、ゲームの難易度、ゲーム進行状況、及び所定のアイテム（お助けアイテム）使用時の３つの実行条件のそれぞれについて、向き（上向き状態／下向き状態）の判定条件の緩和内容と、規模（大モーション／普通モーション）の判定条件の緩和内容と、接触判定の判定条件の緩和内容とが予め設定されている。
【００８６】
先ず、ゲームの難易度としては、例えば、プレイ曲に設定されるプレイ難易度（かんたん／ふつう／むずかしい／おに）を用いる。そして、図８の例では、プレイ曲のプレイ難易度が「かんたん」である場合に、上向き状態の判定に適用する上向き判定用閾値を、上記規定値の上向き判定用閾値Ｔｈ４１（０度）からＴｈ４１´（例えば−３０度）に緩和するとともに、下向き状態の判定に適用する下向き判定用閾値を、上記規定値の下向き判定用閾値Ｔｈ４３（０度）からＴｈ４３´（例えば３０度）に緩和する。
【００８７】
次に、ゲーム進行状況としては、例えば、「不可」又は「スルー」の評価結果の連続数を用いる。そして、図８の例では、操作入力の評価結果として「不可」又は「スルー」が所定数（例えば１０回）に達した場合に、規模の判定に適用する規模判定用閾値を、上記規定値の規模判定用閾値Ｔｈ５からＴｈ５´（Ｔｈ５´＜Ｔｈ５）に緩和する。
【００８８】
次に、お助けアイテムは、課金アイテムやゲームプレイ時の特典等としてプレーヤ１に付与される。そして、図８の例では、お助けアイテムの使用時に、接触判定に適用する距離閾値を、初期値として定められる距離閾値Ｔｈ１からＴｈ１´（Ｔｈ１´＞Ｔｈ１）に緩和する。
【００８９】
なお、図８に示した条件緩和処理の実行条件と判定条件の緩和内容との関係は一例であって、各種実行条件と緩和対象とする閾値（距離閾値Ｔｈ１／第１位置判定用閾値Ｔｈ２１／第１姿勢判定用閾値Ｔｈ３１／第２位置判定用閾値Ｔｈ２２／第２姿勢判定用閾値Ｔｈ３２／上向き判定用閾値Ｔｈ４１／下向き判定用閾値Ｔｈ４３／規模判定用閾値Ｔｈ５）とは、適宜組み合わせることができる。
【００９０】
また、条件緩和処理の実行条件として、ゲームステージを設定してもよい。本実施形態の音楽ゲームの場合であれば、いくつかのまとまった小節区間をステージと捉え、例えば、「最初の所定数小節区間（例えば５小節区間）」を条件緩和処理の実行条件として定めることもできる。
【００９１】
また、条件緩和処理の実行条件は、例示した実行条件の組合せとして定めることもできる。例えば、条件緩和処理の実行条件を、「プレイ難易度が「かんたん」の場合であって、プレイ曲の最初の１０小節区間」等とすることもできる。一方、判定条件の緩和内容を、「バチクロス動作の種類の特定、向きの判定、及び規模の判定のうちの一部又は全部を行わない」等とすることもできる。例えば、プレイ難易度が「かんたん」であるプレイ曲の最初の１０小節区間については接触判定のみを行い、第２の評価項目については評価せずに第１の評価項目のみ評価して、規準タイミングと操作入力タイミング（接触判定のタイミング）との時間差から当該操作入力を評価するといったことも可能である。
【００９２】
［機能構成］
図９は、ゲーム装置１４００の機能構成例を示すブロック図である。図９に示すように、ゲーム装置１４００は、本体装置１４０１にて、操作入力部１００と、処理部２００と、画像表示部３９０と、音出力部３９２と、通信部３９４と、記憶部５００とを備える。
【００９３】
そして、ゲームコントローラ１４６０（右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌ）において、操作入力部１００ｃと、加速度角速度計測部１１０と、加振部３９６と、通信部３９４ｃと、コントローラ処理部２００ｃと、を備える。図１の構成では、慣性センサ１４７４が加速度角速度計測部１１０に該当し、バイブレータ１４６３が加振部３９６に該当する。
【００９４】
操作入力部１００は、各種操作を入力するための手段である。スイッチ、レバー、ダイヤル、ジョイスティック、タッチパネル、トラックパッド、タッチパッド等により実現できる。図１の構成では、タッチパネル１４０６がこれに該当する。
【００９５】
処理部２００は、例えばＣＰＵやＧＰＵ等のプロセッサや、ＡＳＩＣ、ＦＰＧＡ、ＩＣメモリ等の電子部品によって実現され、操作入力部１００や記憶部５００を含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部１００からの操作入力信号、ゲームコントローラ１４６０からの操作入力信号等に基づいて各種の演算処理を行い、ゲーム装置１４００の動作を統合的に制御する。図１の構成では、制御基板１４５０がこれに該当する。
【００９６】
そして、本実施形態の処理部２００は、ゲーム演算部２１０と、計時部２８０と、画像生成部２９０と、音生成部２９２と、通信制御部２９４とを含む。勿論、これら以外の機能部も適宜含めることができる。
【００９７】
ゲーム演算部２１０は、ゲームの進行制御に関する各種処理を行う。本実施形態では、難易度受付制御部２１２と、提示制御部２１４と、初期設定部２１６と、位置／姿勢追跡部２１８と、接触判定部２２０と、操作入力判定部２３０と、条件緩和処理部２４０と、評価部２４２と、応答出力制御部２４４と、を有する。
【００９８】
難易度受付制御部２１２は、ゲームプレイの開始前に、プレイするゲームの難易度（プレイ難易度）のプレーヤ１による選択入力を受け付ける制御を行う。
【００９９】
提示制御部２１４は、プレーヤ１が選択したプレイ曲の再生と同期して譜面を表示し、バチクロス動作を行う規準タイミングをプレーヤ１に提示する制御を行う。本実施形態では、譜面表示部２０において基準操作種類に応じた指示体を流れ表示させ、その規準タイミングにて当該指示体を基準位置に重ならせるように制御すること（図３を参照）、がこれに該当する。
【０１００】
初期設定部２１６は、ゲームプレイの開始に先立ち初期設定処理を行う機能部であり、右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌの静止時において、右手系ローカル加速度ベクトルＡｒをもとに右ゲームコントローラ１４６０Ｒの姿勢を算出して右仮想バチ３Ｒの初期姿勢とし、左手系ローカル加速度ベクトルＡｌをもとに左ゲームコントローラ１４６０Ｌの姿勢を算出して左仮想バチ３Ｌの初期姿勢とする。そして、右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌよりも長さの長い右仮想バチ３Ｒ及び左仮想バチ３Ｌを、仮想空間中の各々の初期位置に、算出した初期姿勢で、それぞれ配置する。
【０１０１】
位置／姿勢追跡部２１８は、初期設定部２１６による初期設定処理の後に追跡処理を開始する。そして、右仮想バチ３Ｒ及び左仮想バチ３Ｌの各々の初期位置及び初期姿勢を基準にして、所定の算出周期で右手系ローカル加速度ベクトルＡｒと右手系ローカル角速度ベクトルωｒとをもとに仮想空間中の右仮想バチ３Ｒの現在の位置及び姿勢を算出するとともに、左手系ローカル加速度ベクトルＡｌと左手系ローカル角速度ベクトルωｌとをもとに仮想空間中の左仮想バチ３Ｌの現在の位置及び姿勢を算出する。
【０１０２】
接触判定部２２０は、接触判定処理を行う機能部であり、ゲーム中、仮想空間中での右仮想バチ３Ｒの先端部と左仮想バチ３Ｌの先端部との距離を監視して、右仮想バチ３Ｒ及び左仮想バチ３Ｌ同士の接触の有無を判定する。この接触判定部２２０は、距離算出部２２２を備える。距離算出部２２２は、位置／姿勢追跡部２１８によって追跡されている右仮想バチ３Ｒ及び左仮想バチ３Ｌの現在の位置及び姿勢をもとに、先端部間の距離を逐次算出する。
【０１０３】
操作入力判定部２３０は、操作入力判定処理を行う機能部であり、接触判定部２２０による右仮想バチ３Ｒ及び左仮想バチ３Ｌとの接触判定時に、バチクロス動作による操作入力の有無を判定してその操作入力種類を判別する。この操作入力判定部２３０は、モーション判定部２３２と、向き判定部２３４と、規模判定部２３６とを備え、規準操作種類テーブル５４０を参照し、各部の判定結果に適合する規準操作種類を操作入力種類として判別する。
【０１０４】
モーション判定部２３２は、所定の判定対象期間における右仮想バチ３Ｒの位置変化量及び姿勢変化量を算出し、第１モーション（不動相当状態／スイング状態）を判定するとともに、当該判定対象期間における左仮想バチ３Ｌの位置変化量及び姿勢変化量を算出し、第２モーション（不動相当状態／スイング状態）を判定する。そして、規準操作種類テーブル５４０に従い、第１モーションと第２モーションとの組合せから、バチクロス動作の種類を特定する。
【０１０５】
向き判定部２３４は、接触判定時における右仮想バチ３Ｒ及び左仮想バチ３Ｌの先端方向の仰角を求め、求めた仰角に基づいて、バチクロス動作の向き（上向き状態／下向き状態）を判定する。
【０１０６】
規模判定部２３６は、モーション判定部２３２によってスイング状態と判定された第１モーション及び／又は第２モーションに係る判定対象期間の右手系ローカル加速度ベクトルＡｒ及び／又は左手系ローカル加速度ベクトルＡｌをもとに、バチクロス動作の規模（大モーション／普通モーション）を判定する。
【０１０７】
条件緩和処理部２４０は、条件緩和処理を行う機能部であり、判定条件緩和設定テーブル５５０を参照し、予め定められる実行条件を満たす場合に、対応する緩和内容に従って接触判定部２２０や操作入力判定部２３０が行う各種判定に係る判定条件を緩和する。
【０１０８】
評価部２４２は、プレイ曲の譜面定義データ５２７に従い、規準タイミングと、接触判定部２２０によって判定された接触判定のタイミング（操作入力タイミング）との時間差に基づく評価（第１の評価項目）を規準タイミング毎に行う。そして、操作入力判定部２３０によって判別された操作入力種類が一致するか評価して（第２の評価項目）、ゲームスコアを算出・更新する。
【０１０９】
応答出力制御部２４４は、接触判定部２２０によって右仮想バチ３Ｒと左仮想バチ３Ｌとが接触したと判定された場合に、所定の応答出力制御を行う。本実施形態では、当該接触判定時に操作入力判定部２３０が操作入力種類を判別し、当該接触判定のタイミングを操作入力タイミングとして評価部２４２が評価処理を行った場合に、応答出力制御を行う。応答出力は、例えば、音出力部３９２からの放音、画像表示部３９０への表示、加振部３９６の振動によって実現でき、操作入力の実感を高めることができる。本実施形態では、叩打演出音の放音と、叩打演出振動の発生とによって行う。具体的には、操作入力種類に応じて異なる叩打演出音を放音するとともに、操作入力種類に応じて異なる振動パターン又は振動の大きさの叩打演出振動を発生させる。
【０１１０】
なお、その他にも、応答出力は、画像表示部３９０への表示によって行う構成も可能である。例えば、バチクロス動作による操作入力があった旨の表示制御や、操作入力種類を示す種類報知マーカの表示制御等によって応答出力制御を行う構成でもよい。或いは、評価結果に応じて放音や表示、振動等を制御するとしてもよい。
【０１１１】
計時部２８０は、システムクロックを利用して現在日時やプレイ開始からの経過時間、制限時間等の計時を行う。
【０１１２】
画像生成部２９０は、ゲーム画面Ｗ１（図３参照）等の各種表示画面の画像データを生成し、生成した画像データに基づく画像信号を画像表示部３９０へ出力する。
【０１１３】
音生成部２９２は、音声データの生成、デコードをするＩＣやソフトウェアの実行により実現され、ゲームプレイに係る音やＢＧＭ等の音声データを生成し、或いはデコードして音出力部３９２へ出力する。本実施形態では、プレイ曲の音楽データに基づく再生・放音制御を行うことができる。また、操作入力種類別の叩打演出音の再生・放音制御を行うことができる。
【０１１４】
通信制御部２９４は、データ通信に係るデータ処理を行い、通信部３９４を介して外部装置とのデータのやりとりを実現する。
【０１１５】
画像表示部３９０は、画像生成部２９０から入力された画像信号に基づいて各種画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管（ＣＲＴ）、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図１の構成では、タッチパネル１４０６がこれに該当する。
【０１１６】
音出力部３９２は、音生成部２９２から入力された音声信号に基づいて放音する。図１の構成では、スピーカ１４１０がこれに該当する。
【０１１７】
通信部３９４は、通信回線と接続して通信を実現する。通信回線は、データ通信が可能な通信路を意味する。すなわち、通信回線とは、直接接続のための専用線（専用ケーブル）やイーサネット（登録商標）等によるＬＡＮ（Local Area Network）の他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方法については有線／無線を問わない。よって、通信部３９４は、例えば、無線通信機、モデム、ＴＡ（ターミナルアダプタ）、有線用の通信ケーブルのジャックや制御回路等によって実現できる。図１の構成では、通信モジュール１４５３がこれに該当する。
【０１１８】
記憶部５００には、ゲーム装置１４００を動作させ、ゲーム装置１４００が備える種々の機能を実現するためのプログラムや、このプログラムの実行中に使用されるデータ等が予め格納され、或いは処理の都度一時的に格納される。例えば、ＲＡＭやＲＯＭ等のＩＣメモリ、ハードディスク等の磁気ディスク、ＣＤ−ＲＯＭやＤＶＤ等の光学ディスク等によって実現できる。図１の構成では、制御基板１４５０が搭載するＩＣメモリ１４５２がこれに該当する。
【０１１９】
図１０は、記憶部５００が記憶するプログラムやデータの例を示す図である。記憶部５００は、ゲームプログラム５０２と、ゲーム初期設定データ５１０と、を予め記憶する。また、記憶部５００は、逐次生成・管理されるデータとして、プレイデータ７００と、現在日時８００と、を記憶する。その他、タイマーや、カウンタ、各種フラグ等の情報を適宜記憶できる。
【０１２０】
ゲームプログラム５０２は、処理部２００をゲーム演算部２１０として機能させるためのプログラムである。なお、画像生成部２９０や音生成部２９２、通信制御部２９４として機能させるためのプログラムも適宜これに含めることができる。
【０１２１】
ゲーム初期設定データ５１０は、ゲームを実行させるための各種初期設定データを格納する。本実施形態では、楽曲定義データ５２０と、初期判定条件設定５３０と、規準操作種類テーブル５４０と、判定条件緩和設定テーブル５５０と、を含む。勿論、これら以外のデータも適宜含めることができる。
【０１２２】
楽曲定義データ５２０は、ゲームでプレイ可能な楽曲毎に用意され、当該楽曲に関する各種初期設定データを格納する。例えば、１つの楽曲定義データ５２０は、固有の楽曲名５２１と、難易度データ５２３と、楽曲音声データ５２５と、譜面表示部２０（図３参照）を表示するための譜面定義データ５２７と、を含む。勿論、これら以外のデータも適宜含めることができる。
【０１２３】
難易度データ５２３には、その楽曲のプレイ難易度（かんたん／ふつう／むずかしい／おに）が設定される。なお、楽曲毎に、プレイ難易度別の譜面定義データ５２７が用意される構成でもよい。
【０１２４】
譜面定義データ５２７は、譜面表示部２０にて各種指示体を流れ表示するための基礎データである。データ構成は適宜設定可能であるが、規準タイミング（例えば、プレイ開始からの経過時間で記述）と規準操作種類（例えば、譜面表示部２０で流れ表示する指示体の種類）の組み合わせを時系列に格納する構成が考えられる。
【０１２５】
初期判定条件設定５３０は、右仮想バチ３Ｒと左仮想バチ３Ｌとの接触判定や、接触判定時のモーション判定、モーション判定の結果特定されたバチクロス動作の向きの判定、当該バチクロス動作の規模の判定に用いる閾値を格納する。本実施形態では、距離閾値Ｔｈ１：５３１、第１位置判定用閾値Ｔｈ２１：５３２と、第２位置判定用閾値Ｔｈ２２：５３３と、第１姿勢判定用閾値Ｔｈ３１：５３４と、第２姿勢判定用閾値Ｔｈ３２：５３５と、上向き判定用閾値Ｔｈ４１：５３６と、下向き判定用閾値Ｔｈ４３：５３７と、規模判定用閾値Ｔｈ５：５３８と、を含む。
【０１２６】
規準操作種類テーブル５４０は、規準操作種類番号と対応付けて、そのバチクロス動作の種類、向き、及び規模の組合せを定めたデータテーブルである（図７を参照）。
【０１２７】
判定条件緩和設定テーブル５５０は、条件緩和処理の実行条件と対応付けて、判定条件の緩和内容（つまり、対応する実行条件を満たした際に行う条件緩和処理の内容）を定めたデータテーブルである（図８を参照）。
【０１２８】
プレイデータ７００は、ゲームプレイ毎に用意され、当該プレイを実現し、ゲーム進行状況等を記述する各種データを格納する。本実施形態では、例えば図１１に示すように、プレイ開始前にプレーヤ１が選択した楽曲を示すプレイ曲名７０１と、プレイ開始からの経過時間７０３と、適用判定条件設定７１０と、譜面表示部２０の表示を制御するための譜面表示制御データ７２０と、右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌ別に用意される計測履歴データ７３０と、右仮想バチ３Ｒ及び左仮想バチ３Ｌ別に用意される仮想バチ追跡データ７４０と、入力判定履歴データ７５０と、プレイ成績データ７６０と、を含む。勿論、これら以外のデータも適宜含めることができる。
【０１２９】
適用判定条件設定７１０は、適用距離閾値７１１と、適用第１位置判定用閾値７１２と、適用第２位置判定用閾値７１３と、適用第１姿勢判定用閾値７１４と、適用第２姿勢判定用閾値７１５と、適用上向き判定用閾値７１６と、適用下向き判定用閾値７１７と、適用規模判定用閾値７１８とを含み、ゲームプレイの開始に先立ち、条件緩和処理部２４０によって初期判定条件設定５３０の対応する各値が設定されて初期化される。そして、条件緩和処理部２４０は、判定条件緩和設定テーブル５５０に設定される条件緩和処理の実行条件を満たす間は、対応する判定条件の緩和内容に従って該当する適用閾値を書き換えて適用判定条件設定７１０を更新する。
【０１３０】
計測履歴データ７３０は、右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌ別に用意され、当該コントローラで計測された計測値及びそこから演算される操作入力判定やその種類判別等に使用される値を時系列に格納する。本実施形態では、３軸分の加速度計測値や、３軸分の角速度計測値を時系列に格納する。一方、仮想バチ追跡データ７４０は、右仮想バチ３Ｒ及び左仮想バチ３Ｌ別に用意され、当該仮想バチについて所定の算出周期のたびに逐次算出される現在の位置及び姿勢を時系列に格納する。
【０１３１】
入力判定履歴データ７５０は、入力タイミング及び操作入力の種類判別の都度に作成されて、判定及び判別の結果を示す情報を格納する。例えば、１つの入力判定履歴データ７５０は、操作入力タイミング（右仮想バチ３Ｒと左仮想バチ３Ｌとの接触判定のタイミング）と、判別された操作入力種類と、を格納する。勿論、これら以外のデータも適宜格納することができる。例えば、操作入力の判定及び操作入力種類の判別に際して接触判定部２２０や操作入力判定部２３０が行う各種判定結果の情報等も適宜含めることができる。
【０１３２】
［処理の流れ］
図１２は、本実施形態のゲーム装置１４００における処理の流れを説明するためのフローチャートである。ここで説明する処理は、処理部２００がゲームプログラム５０２を読み出して実行することによって実現される。
【０１３３】
先ず、ゲームコントローラ１４６０毎の計測値（加速度及び角速度）の記録を開始する（ステップＳ１）。ここでの処理により、計測履歴データ７３０の記録が開始される。
【０１３４】
次に、初期設定部２１６が、右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌを手に持ち所定のポーズで静止するようプレーヤ１に指示する指示画面Ｗ３（図５を参照）を画像表示部３９０に表示制御する（ステップＳ３）。そして、当該静止時の右手系ローカル加速度ベクトルＡｒ及び左手系ローカル加速度ベクトルＡｌをもとに右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌの姿勢を算出し、右仮想バチ３Ｒ及び左仮想バチ３Ｌの初期姿勢とする（ステップＳ５）。その後、初期設定部２１６は、仮想空間中の予め定められた初期位置に、右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌよりも長さの長い右仮想バチ３Ｒ及び左仮想バチ３Ｌを、ステップＳ５で算出した初期姿勢で配置する（ステップＳ７）。
【０１３５】
次に、位置／姿勢追跡部２１８が、追跡処理を開始する（ステップＳ８）。追跡処理では、右仮想バチ３Ｒ及び左仮想バチ３Ｌの現在の位置及び姿勢の算出を、所定の算出周期で繰り返す。算出結果（仮想バチ３Ｒ，３Ｌ毎の位置及び姿勢）の履歴は、仮想バチ追跡データ７４０に記録される。
【０１３６】
次に、条件緩和処理部２４０が、条件緩和処理を開始する（ステップＳ９）。条件緩和処理では、条件緩和処理部２４０は、初期判定条件設定５３０を適用判定条件設定７１０にコピーして初期化するとともに、判定条件緩和設定テーブル５５０に設定されている実行条件の充足を判定・監視する。そして、実行条件を満たす間は、対応する判定条件の緩和内容該当する適用閾値を書き換えて適用判定条件設定７１０を更新する。
【０１３７】
そして、操作入力の判定及び操作入力種類の判別に係る処理を開始する（ステップＳ１１）。図１３は、ここで開始される処理の流れを示すフローチャートである。図１３に示すように、先ず、接触判定部２２０が、周期的な接触判定処理の実行を開始する（ステップＳ２１１）。具体的には、接触判定処理では先ず、距離算出部２２２が、所定の算出周期で仮想空間中の右仮想バチ３Ｒ及び左仮想バチ３Ｌの先端部間の距離を算出する。そして、接触判定部２２０は、当該先端部間の距離が適用距離閾値７１１以下となった場合に、右仮想バチ３Ｒと左仮想バチ３Ｌとが接触したと判定する。
【０１３８】
そして、ステップＳ２１１で開始した接触判定処理にて右仮想バチ３Ｒと左仮想バチ３Ｌとが接触したと判定された場合は（ステップＳ２１３：ＹＥＳ）、当該接触判定の都度ステップＳ２１５以降の処理に移行して、操作入力判定部２３０が操作入力判定処理を行う。
【０１３９】
操作入力判定処理では、先ず、モーション判定部２３２が、適用第１位置判定用閾値７１２及び適用第１姿勢判定用閾値７１４を用いて接触判定時における第１モーションが不動相当状態か否かを判定し、不動相当状態でない場合は、適用第２位置判定用閾値７１３及び適用第２姿勢判定用閾値７１５を用いてスイング状態か否かを判定する（ステップＳ２１５）。また、適用第１位置判定用閾値７１２及び適用第１姿勢判定用閾値７１４を用いて第２モーションが不動相当状態か否かを判定し、不動相当状態でない場合は、適用第２位置判定用閾値７１３及び適用第２姿勢判定用閾値７１５を用いてスイング状態か否かを判定する（ステップＳ２１７）。そして、規準操作種類テーブル５４０を参照し、第１モーション（不動相当状態／スイング状態）と第２モーション（不動相当状態／スイング状態）との組合せに該当するバチクロス動作の種類を特定する（ステップＳ２１９）。
【０１４０】
続いて、向き判定部２３４が、適用上向き判定用閾値７１６及び適用下向き判定用閾値７１７を用いて、接触判定時における右仮想バチ３Ｒ及び左仮想バチ３Ｌの姿勢が上向き状態なのか下向き状態なのかを判定する（ステップＳ２２１）。
【０１４１】
続いて、規模判定部２３６が、スイング状態と判定された第１モーション及び／又は第２モーションについて、その判定対象期間における右手系ローカル加速度ベクトルＡｒ及び／又は左手系ローカル加速度ベクトルＡｌが適用規模判定用閾値７１８以上か否かを判定する。そして、適用規模判定用閾値７１８以上となっている場合は「大モーション」と判定し、適用規模判定用閾値７１８未満であれば「普通モーション」と判定する（ステップＳ２２３）。
【０１４２】
そして、操作入力判定部２３０は、規準操作種類テーブル５４０を参照し、ステップＳ２１９で特定した種類、ステップＳ２２１で判定した向き、及びステップＳ２２３で判定した規模の組合せに適合する規準操作種類があればバチクロス動作による操作入力があったと判定し、当該適合する規準操作種類を操作入力種類として判別する（ステップＳ２２５）。その後は、ゲームプレイ終了と判定されるまでの間（ステップＳ２２７：ＮＯ）、ステップＳ２１３に戻って上記した処理を繰り返す。
【０１４３】
図１１に戻り、以上説明した操作入力の判定及び操作入力種類の判別に係る処理を開始したならば、プレイ難易度やプレイ曲の各選択操作を受け付け（ステップＳ１３）、ゲームの進行制御を開始する（ステップＳ１５）。ここでの処理により、プレイ曲の再生処理が開始されるとともに、当該プレイ曲の再生と同期した譜面表示処理が開始され、ゲーム画面Ｗ１（図３を参照）が画像表示部３９０に表示される。また、操作入力に応じた応答出力制御（例えば叩打演出音の放音や叩打演出振動の発生等）等も開始される。そして、評価部２４２による評価処理が開始され、バチクロス動作による操作入力があった場合に当該操作入力が評価される。
【０１４４】
すでに、ステップＳ１１にて操作入力の判定及び操作入力種類の判別に係る処理が開始されており、右ゲームコントローラ１４６０Ｒ及び左ゲームコントローラ１４６０Ｌによる操作入力の準備が整っているので、プレーヤ１は、プレイ曲を聴きつつ、ゲーム画面Ｗ１の譜面表示部２０を見ながら、提示された規準タイミングで規準操作種類に合致するようにゲームコントローラ１４６０で操作入力して、音楽ゲームをプレイすることができる。
【０１４５】
そして、ゲームプレイが終了したならば（ステップＳ１７）、プレイ成績の表示を行って（ステップＳ１９）、一連の処理を終了する。
【０１４６】
以上説明したように、本実施形態によれば、慣性センサ（加速度センサや角速度センサ）を搭載したゲームコントローラを有するゲーム装置において、当該ゲームコントローラを空中で振る動作をもって仮想的な操作物を打ち合わせる操作入力を判定するゲームを実行する際に、慣性センサによる計測値を用いて当該操作入力を適切に判定することができる。
【０１４７】
［変形例］
なお、本発明を適用可能な形態は上記した実施形態に限定されるものではなく、適宜構成要素の追加・省略・変更を施すことができる。
【０１４８】
例えば、上記実施形態では、スタンドアローンで実行可能なゲームを例に挙げて説明したがこれに限らない。上記実施形態のゲームコントローラ１４６０と同様に３軸加速度センサ１４７５と３軸ジャイロセンサ１４７６とをコントローラ部に備えたコンピュータをプレーヤ端末として使用し、ゲームサーバにアクセスしてプレイするオンラインゲームとして実現する形態も可能である。その場合、上記実施形態におけるゲーム演算部２１０を、ゲームサーバにて実現すればよい。
【０１４９】
また、ゲームコントローラ１４６０と、これに搭載されるセンサの計測軸との相対関係は、図２の例に限定されるものではなく、適宜変更可能である。
【０１５０】
また、上記実施形態では音楽ゲームを例示したが、その他のジャンルのゲームにおいても同様に適用することができる。
【符号の説明】
【０１５１】
１４００…ゲーム装置
１４０１…本体装置
１００…操作入力部
２００…処理部
２１０…ゲーム演算部
２１２…難易度受付制御部
２１４…提示制御部
２１６…初期設定部
２１８…位置／姿勢追跡部
２２０…接触判定部
２２２…距離算出部
２３０…操作入力判定部
２３２…モーション判定部
２３４…向き判定部
２３６…規模判定部
２４０…条件緩和処理部
２４２…評価部
２４４…応答出力制御部
２８０…計時部
２９０…画像生成部
２９２…音生成部
２９４…通信制御部
３９０…画像表示部
３９２…音出力部
３９４…通信部
５００…記憶部
５０２…ゲームプログラム
５１０…ゲーム初期設定データ
５２０…楽曲定義データ
５３０…初期判定条件設定
５４０…規準操作種類テーブル
５５０…判定条件緩和設定テーブル
７００…プレイデータ
７１０…適用判定条件設定
７２０…譜面表示制御データ
７３０…計測履歴データ
７４０…仮想バチ追跡データ
７５０…入力判定履歴データ
１４６０Ｒ…右ゲームコントローラ
１４６０Ｌ…左ゲームコントローラ
１００ｃ…操作入力部
１１０…加速度角速度計測部
３９６…加振部
３９４ｃ…通信部
２００ｃ…コントローラ処理部
３Ｒ…右仮想バチ
３Ｌ…左仮想バチ
１…プレーヤ
【図１】
2019162355.tif 000003
【図２】
2019162355.tif 000004
【図３】
2019162355.tif 000005
【図４】
2019162355.tif 000006
【図５】
2019162355.tif 000007
【図６】
2019162355.tif 000008
【図７】
2019162355.tif 000009
【図８】
2019162355.tif 000010
【図９】
2019162355.tif 000011
【図１０】
2019162355.tif 000012
【図１１】
2019162355.tif 000013
【図１２】
2019162355.tif 000014
【図１３】
2019162355.tif 000015