(57)【要約】【課題】慣性センサを搭載したゲームコントローラを空中で振って止める複数種類の動作を織り交ぜてプレイするゲームを実行する際に、連続的な操作入力時の判定にかかる処理負荷を軽減できる技術を提供すること。【解決手段】連続入力を要求する規準操作が提示されている時の操作入力判定において、ゲームコントローラの慣性センサで計測される加速度変化が、連続的なコントローラの上下移動の際に見られる変化が現れた場合に、継承条件を満たしたと認定し、操作入力の判定を加速度変化に基づく判定に限定して処理負荷を軽減するとともに、操作入力の種類判別を、前回の判別結果を継承する処理に簡略化して、更に処理負荷を軽減する。【選択図】図１８
2019118550.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）の他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方法については有線／無線を問わない。よって、通信部３９４は、例えば、無線通信機、モデム、ＴＡ（ターミナルアダプタ）、有線用の通信ケーブルのジャックや制御回路等によって実現される。図１の例では通信モジュール１４５３がこれに該当する。
【０１５１】
記憶部５００は、処理部２００にゲーム装置１４００を統合的に制御させるための諸機能を実現するためのプログラムや各種データ等を記憶する。また、処理部２００の作業領域として用いられ、処理部２００が各種プログラムに従って実行した演算結果などを一時的に記憶する。この機能は、例えばＲＡＭやＲＯＭなどのＩＣメモリ、ハードディスク等の磁気ディスク、ＣＤ−ＲＯＭやＤＶＤなどの光学ディスク、オンラインストレージなどによって実現される。図１の例では制御基板１４５０が搭載するＩＣメモリ１４５２がこれに該当する。
【０１５２】
図１３は、本実施形態における記憶部５００が記憶するプログラムやデータの例を示す図である。記憶部５００は、ゲームプログラム５０２と、ゲーム初期設定データ５１０と、を予め記憶する。また、記憶部５００は、逐次生成・管理されるデータとして、プレイデータ７００と、現在日時８００と、を記憶する。その他、タイマーや、カウンタ、各種フラグなどの情報を適宜記憶できる。
【０１５３】
ゲームプログラム５０２は、処理部２００が読み出して実行することで、ゲーム演算部２１０としての機能を実現させるためのプログラムである（図１２参照）。計時部２８０、音生成部２９０、画像生成部２９２、通信制御部２９４として機能させるためのプログラムも適宜これに含めることができる。
【０１５４】
ゲーム初期設定データ５１０は、ゲームを実行させるための各種初期設定データを格納する。本実施形態では、楽曲定義データ５２０と、初期基準値ライブラリ５３０と、報知定義データ５４０と、初期調整時間５４２と、を含む。勿論、これら以外のデータも適宜含めることができる。
【０１５５】
楽曲定義データ５２０は、ゲームでプレイ可能な楽曲毎に用意され、当該楽曲に関する各種初期設定データを格納する。例えば、１つの楽曲定義データ５２０は、固有の楽曲名５２１と、楽曲音声データ５２３と、譜面２０（図３参照）を表示するための譜面定義データ５２５と、を含む。勿論、これら以外のデータも適宜含めることができる。
【０１５６】
譜面定義データ５２５は、譜面２０にて各種指示体を流れ表示するための基礎データである。データ構成は適宜設定可能であるが、例えば、規準タイミング（例えば、プレイ開始からの経過時間で記述）と規準操作の種類（例えば、譜面２０で流れ表示する指示体の種類）の組み合わせを時系列に格納する構成が考えられる。勿論、これら以外のデータも適宜格納することができる。例えば、同じ規準操作の種類でも、要求する強度レベルの区別（例えば、強弱の区別）も対応づけて格納することができる。
【０１５７】
初期基準値ライブラリ５３０は、入力タイミングの判定や、操作入力の入力種類判別に用いられる基準値や閾値を格納する。本実施形態では、当該ライブラリには、振り上げ開始判定基準角速度値５３１（ωｍ）と、要求勢い判定基準角速度値５３２（ωｆ）と、振り上げ開始判定基準係数５３３（ｋ１）と、確定判定基準係数５３４（ｋ２）と、第３判定基準値５３５（ｋ３）と、第４判定基準値５３６（ｋ４）と、第５判定基準値５３７（ｋ５）と、第６判定基準値５３８（ｋ６）と、を含む。勿論、これら以外の基準値や閾値も適宜含めることができる。
【０１５８】
報知定義データ５４０は、プレーヤへ操作入力状況やゲーム進行状況等を報せるための報知を実行するための各種定義データを格納し、報知の手法別に用意されている。本実施形態では、風切り演出振動（図５、図６参照）と、入力演出振動兼評価結果通知振動（図５、図６参照）と、を含む。後者は、操作入力の種類別（本実施形態では、第１種操作（ドン）と第２種操作（カツ））に用意される。そして、それぞれの種類において、各評価結果に対応づけて、振動パターンを出力するかを定義するデータが格納されている。
【０１５９】
プレイデータ７００は、ゲームプレイ毎に用意され、当該プレイを実現し、ゲーム進行状況等を記述する各種データを格納する。
【０１６０】
本実施形態では、例えば図１４に示すように、プレイ開始前にプレーヤが選択した楽曲を示すプレイ楽曲名７０１と、適用調整時間７０２と、プレイ開始からの経過時間７０４と、譜面２０の表示を制御するための譜面表示制御データ７１０と、ゲームコントローラ１４６０別に用意される計測履歴データ７２０と、入力タイミングの判定待ち状態を意味するアイドル状態であることを示すアイドル状態フラグ７４０と、角速度利用フラグリスト７４２と、加速度利用フラグリスト７４４と、ピークタイミング７４６と、継承中フラグ７４８と、入力判定履歴データ７５０と、プレイ成績データ７６０と、を含む。勿論、これら以外のデータも適宜含めることができる。
【０１６１】
適用調整時間７０２は、適用される入力タイミングの調整時間の値を格納する。初期調整時間５４２（図１３参照）により初期化されるが、調整画面Ｗ１０（図１０参照）による調整時間の設定操作にともなって変更される。
【０１６２】
計測履歴データ７２０は、ゲームコントローラ１４６０毎に用意され、当該コントローラで計測された値及びそこから演算される入力タイミングの判定や操作入力の種類判別に使用される値を時系列に格納する。本実施形態では、３軸分の加速度計測値を格納する加速度計測履歴データ７２２と、３軸分の平均加速度を格納する平均加速度計測履歴データ７２４と、３軸分の角速度計測値を格納する角速度計測履歴データ７２６と、３軸分の平均角速度を格納する平均角速度計測履歴データ７２８と、を含む。勿論、これら以外のデータも適宜含めることができる。
【０１６３】
角速度利用フラグリスト７４２は、角速度を利用した入力タイミングの判定に利用するための各種フラグを含む。本実施形態では、角速度を利用した入力タイミングの判定中であることを示す判定中フラグと、Ｚ軸回りの角速度ωｚの正負の方向の反転が検出されると立てられる反転フラグと、角速度ωｚが要求されている勢いに達した場合に立てられる要求フラグと、振り下げ動作中に角速度ωｚのピークが検出されると立てられるピークフラグと、を含む。
【０１６４】
加速度利用フラグリスト７４４は、加速度を利用した入力タイミングの判定に利用するための各種フラグを含む。本実施形態では、加速度を利用した入力タイミングの判定中であることを示す判定中フラグと、Ｘ軸の加速度Ａｘの増加傾向の反転が検出されると立てられる反転フラグと、意図的な振り下げ動作であると確定されると立てられる確定フラグと、振り下げ動作中に加速度Ａｘのピークが検出されると立てられるピークフラグと、を含む。
【０１６５】
継承中フラグ７４８は、操作入力の種類判別において、最新の種類判別の結果として、前回の種類判別の結果を継承する（直前に操作入力された種類と同じ種類の操作入力であると見なす。）か否かを示す。初期状態は「０（非実行・不許可）」とし、継承条件が満たされると「１（実行・許可）」に設定される。継承終了条件が満たされると再び「０」に戻される。
【０１６６】
入力判定履歴データ７５０は、入力タイミング及び操作入力の種類判別の都度に作成されて、判定及び判別の結果を示す情報を格納する。例えば、１つの入力判定履歴データ７５０は、１）入力タイミングと、２）種類判別結果と、３）入力タイミングや種類判別を、加速度を利用して行ったのか角速度を利用して行ったのか、を示す情報（図１４中の「加速度利用／角速度利用」）と、４）当該入力がどのゲームコントローラ１４６０についての判定及び判別結果であるかを示すコントローラ識別フラグと、を格納する。勿論、これら以外のデータも適宜格納することができる。例えば操作入力に係る判定や種類判別に、入力強度（仮想打楽器４を叩打する強さに相当）の識別が含まれる場合には、判定された強度の情報も含めることができる。
【０１６７】
［動作の説明］
図１５は、本実施形態のゲーム装置１４００における処理の流れを説明するためのフローチャートである。ここで説明する一連の流れは、処理部２００にてゲームプログラム５０２を実行することにより実現される。また、左右のゲームコントローラ１４６０のローカル座標系を共通化してＸ軸、Ｙ軸、Ｚ軸として図示および説明する。
【０１６８】
先ずゲーム装置１４００は、ゲームコントローラ１４６０毎の計測値の記録を開始し（ステップＳ１０）、次いで計測値から入力タイミング及び操作入力の種類判別に使用する値（本実施形態では、平均値）の算出及び記録を開始する（ステップＳ１２）。すなわち、ステップＳ１０とステップＳ１２により計測履歴データ７２０の記録・更新が開始される（図１４参照）。
そして、ゲーム装置１４００は、ゲームコントローラ１４６０別に、周期的な入力判定処理の実行を開始する（ステップＳ１４）。
【０１６９】
図１６〜図１７は、本実施形態における入力判定処理の流れを説明するためのフローチャートである。同処理において、ゲーム装置１４００は、先ずアイドル状態フラグ７４０を「１（アイドル状態）」に、角速度利用フラグリスト７４２及び加速度利用フラグリスト７４４の全てのフラグを「０」にそれぞれ設定する（ステップＳ２８）。
【０１７０】
次に、ゲーム装置１４００は、継承中フラグ７４８が「１（継承実行）」でなければ（ステップＳ３０のＮＯ）、Ｚ軸回りの角速度ωｚの絶対値が、振り上げ開始判定基準角速度値５３１（ωｍ）よりも大きければ（ステップＳ３２のＹＥＳ）、アイドル状態フラグ７４０を「０（非アイドル状態）」に設定し、角速度利用フラグリスト７４２の判定中フラグを「１（判定中）」に設定する（ステップＳ３４）。そして、タイムアウトカウンタを始動する（ステップＳ３６）。
【０１７１】
次に、ゲーム装置１４００は、タイムアウトカウンタでカウントアップするまでの間、Ｚ軸回りの角速度ωｚの正負反転の検出を待つ。そして、反転を検出すると（ステップＳ５０のＹＥＳ）、振り上げ動作から振り下げ動作に移行したと判断し、角速度利用フラグリスト７４２の反転フラグを「１（反転済み）」に変更する（ステップＳ５２）。
【０１７２】
続いて、ゲーム装置１４００は、反転後、タイムアウトカウンタがカウントアップするまでの間、更にＺ軸回りの角速度ωｚの絶対値が要求勢い判定基準角速度値５３２（ωｆ）を超えるのを待つ。そして、要求勢い判定基準角速度値５３２（ωｆ）を超えると（ステップＳ５４のＹＥＳ）、角速度利用フラグリスト７４２の要求フラグを「１（要求勢いを満たした）」に変更する（ステップＳ５６）。そして、風切り演出振動を発生させる（ステップＳ５７）。
【０１７３】
続いて、ゲーム装置１４００は、要求される勢いに達した後、タイムアウトカウンタがカウントアップするまでの間、更にＺ軸回りの角速度ωｚのピーク検出を待つ（ステップＳ５８）。すなわち、絶対値の時間変化Δ｜ωｚ｜を算出する。そして、それが負になるとピークを検出したと判断して（ステップＳ５８のＹＥＳ）、角速度利用フラグリスト７４２のピークフラグを「１（ピーク検出済み）」に変更するとともにピークタイミング７４６を一時記憶する（ステップＳ６０）。
【０１７４】
次いで、ゲーム装置１４００は、ピークタイミング７４６から適用調整時間７０２（図１４参照；この段階では初期調整時間５４２の「０」に初期化されている。）の経過をもって入力タイミングと認定する（ステップＳ６２）。
そして、継承中フラグ７４８が「１」で、且つ前回の入力タイミング判定が、加速度利用により判定されている場合には（ステップＳ６４のＹＥＳ）、継承中フラグ７４８を「０」に戻して（ステップＳ６６）、種類判別処理を実行する（ステップＳ６８）。
【０１７５】
もし、振り上げ開始を検出してから始動されたタイムアウトカウンタがカウントアップするまでに、正負反転と、要求される勢いへの到達、そしてピーク検出がなければ（ステップＳ７０のＮＯ）、タイムアウトカウンタを停止し（ステップＳ７２）、継承中フラグ７４８を「０」に戻して（ステップＳ６６）、ステップＳ２８に戻る。
【０１７６】
一方、継承中フラグ７４８が「１」である場合と（ステップＳ３０のＹＥＳ）、ステップＳ３２にて否定された場合（ステップＳ３２のＹＥＳ）、ゲーム装置１４００は、図１７に移行する。
継承中フラグ７４８が「１」である場合に着目すると、計測値が継承条件を満たす場合にはステップＳ３２〜ステップＳ７４がスキップされる。つまり、角速度に関する入力判定条件は省略され、加速度に関する入力判定条件のみで入力タイミングを判定することとなる。換言すると、計測値が継承条件を満たしていない場合の入力判定条件に代えて、当該入力判定条件よりも満足し易い条件とされた第２入力判定条件に基づいて入力タイミングを判定することとなる。
【０１７７】
具体的には、ゲーム装置１４００は、３軸加速度センサ１４７５で計測されるＸｌ軸方向の加速度Ａｘが、平均加速度Ａｘ_ａｖｅに所定の振り上げ開始判定基準係数５３３（ｋ１）を加えた第１閾値を超過すると、「振り上げ動作」が開始されたと判定する（ステップＳ１００のＹＥＳ）。なお、ステップＳ１００では、継承中フラグ７４８が「１」の場合には、振り上げ開始判定基準係数５３３（ｋ１）に代えて、当該係数ｋ１を所定割合低めた係数ｋ１’を適用するものとする。
【０１７８】
振り上げ動作の開始を判定すると、ゲーム装置１４００は、アイドル状態フラグ７４０を「０」にするとともに、加速度利用フラグリスト７４４の判定中フラグを「１」に設定する（ステップＳ１０２）。そして、タイムアウトカウンタを始動する（ステップＳ１０４）。
【０１７９】
振り上げ動作の開始が判定されたならば、ゲーム装置１４００は、タイムアウトカウンタがカウントアップするまでの間、最新計測のＸ軸方向の加速度Ａｘ＠ｔと、１計測サイクル前の加速度Ａｘ＠ｔ-１とを比較する。
そして、最新計測のＸ軸方向の加速度Ａｘ＠ｔが１計測サイクル前の加速度Ａｘ＠ｔ-１よりも小さくなったこと、つまりは増減傾向の反転を検出すると（ステップＳ１２０のＹＥＳ）、加速度利用フラグリスト７４４の反転フラグを「１（反転検出済み）」に変更する（ステップＳ１２２）。
【０１８０】
続いて、ゲーム装置１４００は、増加傾向の反転検出つまり前提判定が肯定された後、タイムアウトカウンタがカウントアップするまでの間、Ｘ軸方向の加速度Ａｘと、平均加速度Ａｘ_ａｖｅに確定判定基準係数ｋ２を加えた閾値とを比較する。
そして、加速度Ａｘが当該閾値を下回ると（ステップＳ１２４のＹＥＳ）、プレーヤが意図的に振り下げ動作をしていると確定判定し、加速度利用フラグリスト７４４の確定フラグを「１（振り下げ動作確定）」に変更する（ステップＳ１２６）。次いで、風切り演出振動を実行する（ステップＳ１２８）。
【０１８１】
なお、ステップＳ１２４では、継承中フラグ７４８が「１」の場合には、確定判定基準係数ｋ２に代えて、当該係数ｋ２を所定割合低めた係数ｋ２’を適用するものとする。
【０１８２】
次に、ゲーム装置１４００は、振り下げ動作が確定してから、タイムアウトカウンタがカウントアップするまでの間、最新の加速度Ａｘ＠ｔと１計測サイクル前の加速度Ａｘ＠ｔ-１とを比較する。
そして、最新の加速度Ａｘ＠ｔと１計測サイクル前の加速度Ａｘ＠ｔ-１よりも大きくなったならば（ステップＳ１３０のＹＥＳ）、モーションを止める直前に出現する計測値のピークを検出したので制動動作が開始されたと判定し、加速度利用フラグリスト７４４のピークフラグを「１（ピーク検出済み）」に変更するとともにピークタイミング７４６を一時記憶する（ステップＳ１３２）。
【０１８３】
ここで、継承中フラグ７４８が「１」の場合の流れでステップＳ１３０に到達したケースに着目すると、計測値が継承条件を満たす場合には、継承条件を満たしていない場合（継承中フラグ７４８が「０」の場合）の入力判定条件に代えて、反転後の第１加速度（Ｘ軸方向の加速度Ａｘ）の大きさが所与の第２閾値を超えたことの後に（ステップＳ１２４のＹＥＳ）、第１加速度に基づく第２入力判定条件を満たしたタイミング（ステップＳ１３０のＹＥＳ）を入力タイミングとして判定していることになる。
【０１８４】
次いで、ゲーム装置１４００は、ピークタイミング７４６から適用調整時間７０２（図１４参照；この段階では初期調整時間５４２の「０」に初期化されている。）の経過をもって入力タイミングと認定する（ステップＳ１３４）。そして、継承中フラグ７４８が「１」で、且つ前回の入力タイミング判定が、角速度利用により判定されている場合には（ステップＳ１３６のＹＥＳ）、継承中フラグ７４８を「０」に戻して（ステップＳ１３８）、種類判別処理を実行する（ステップＳ１４０）。
【０１８５】
もし、加速度による振り上げ開始を検出してから始動されたタイムアウトカウンタがカウントアップするまでに、増加傾向の反転と、要求される勢いへの到達、そしてピーク検出がなければ（ステップＳ１４０のＮＯ）、タイムアウトカウンタを停止し（ステップＳ１４４）、継承中フラグ７４８を「０」に戻して（ステップＳ１４６）、ステップＳ２８に戻る。
【０１８６】
ここで、継承中フラグ７４８が「１」の場合に着目すると、計測値が継承条件を満たす場合には、継承条件を満たしていない場合の入力判定条件に代えて、反転後の第１加速度の大きさが所与の第２閾値を超えたことの後に（ステップＳ１２４のＹＥＳ）、第１加速度に基づく第２入力判定条件を満たしたタイミング（ステップＳ１３０のＹＥＳ）を入力タイミングとして判定していることになる。
【０１８７】
図１８は、本実施形態における種類判別処理の流れを説明するためのフローチャートである。
同処理において、ゲーム装置１４００は、先ず継承中フラグ７４８を参照する。そして、当該フラグが「１」の場合（ステップＳ１４６のＹＥＳ）、最新の入力判定履歴データ７５０（図１４参照）に格納されている種類判別結果をコピーして、これを今回の種類判別の結果とする。つまり、前回の種類判別の結果を継承する（ステップＳ１４８）。そして、種類判別処理を終了する。つまり、連打入力中と見なされる状況では、種類判別に要する処理負荷が大幅に軽減される。
【０１８８】
次いで、ゲーム装置１４００は、今回判定された操作入力の動作が、カツドンパターンに該当するかを判定する（図９参照）。具体的には、ピークタイミング７４６のＺ軸方向の加速度Ａｚを最新の計測値として含む平均加速度Ａｚ_ａｖｅが、第６判定基準値５３８（ｋ６）に達したならば、ゲーム装置１４００は、カツドンパターンに該当すると判定して（ステップＳ１５０のＹＥＳ）、種類判別の結果を第１種操作（ドン）とする（ステップＳ１５２）。
【０１８９】
もし、カツドンパターンに該当しなければ（ステップＳ１５０のＮＯ）、ゲーム装置１４００は、次にドンカツパターンに該当するかを判定する（図７参照）。具体的には、ピークタイミング７４６における角速度ωｘの絶対値が、所定の第３判定基準値ｋ３を超え、且つピークタイミング７４６における角速度ωｘを最新の計測値として含む平均角速度ωｘ_ａｖｅの絶対値が、所定の第４判定基準値ｋ４を超える場合、ゲーム装置１４００は、ドンカツパターンに該当すると判定して（ステップＳ１５４のＹＥＳ）、種類判別の結果を第２種操作（カツ）とする（ステップＳ１５８）。
【０１９０】
もし、カツドンパターンにも、ドンカツパターンにも該当しなければ（ステップＳ１５４のＮＯ）、ゲーム装置１４００は、次にカツカツパターンに該当するかを判定する（図８参照）。具体的には、ピークタイミング７４６の加速度Ａｘを最新の計測値として含む平均加速度Ａｘ_ａｖｅの絶対値と、ピークタイミング７４６の加速度Ａｚを最新の計測値として含む平均加速度Ａｚ_ａｖｅの絶対値との割合が、所定の第５判定基準値ｋ５以下である場合に、ゲーム装置１４００は、カツカツパターンに該当すると判定して（ステップＳ１５６のＹＥＳ）、種類判別の結果を第２種操作（カツ）とする（ステップＳ１５８）。
【０１９１】
そして、カツドンパターンにも、ドンカツパターンにも、カツカツパターンにも該当しなければ（ステップＳ１５６のＮＯ）、ゲーム装置１４００は、種類判別の結果を第１種操作（ドン）とする（ステップＳ１６０）。
【０１９２】
種類判別の結果が決まったら、ゲーム装置１４００は、評価対象とされる規準種類が、連続配置または連打に該当するかを判定する（ステップＳ１７０）。本実施形態では、譜面定義データ５２５（図１３参照）を参照して、評価対象とされる規準種類とされるドン２５ａ又はカツ２５ｂの前後において、所定の基準値以下の短時間間隔で、所定の連続要件数以上連続提示されている場合に肯定判定する。また、評価対象とされる規準種類が連打ドン２５ｃ及び連打カツ２５ｄである場合に肯定判定する（図４参照）。
【０１９３】
そして、肯定の場合（ステップＳ１７０のＹＥＳ）、ゲーム装置１４００は次に、最新の入力タイミング判定が加速度利用により判定された場合（ステップＳ１７２のＹＥＳ）、ゲーム装置１４００は、継承条件が満たされた、連打入力中であると見なして、継承中フラグ７４８を「１」に設定し（ステップＳ１７４）、種類判別処理を終了する。
【０１９４】
一方、評価対象とされる規準種類が、連続配置または連打に該当しない場合や（ステップＳ１７０のＮＯ）、最新の入力タイミング判定が角速度利用により判定された場合は（ステップＳ１７２のＮＯ）、ゲーム装置１４００は、連打入力されていないと見なして、継承中フラグ７４８を「０」に設定して（ステップＳ１７６）、種類判別処理を終了する。
【０１９５】
図１５に戻って、ステップＳ１４にて、ゲームコントローラ別の周期的な入力判定処理の実行を開始したので、これでゲームコントローラ１４６０の準備ができたことになる。
そこで、ゲーム装置１４００は、次に調整時間の設定処理を実行する（ステップＳ１８０）。すなわち、タッチパネル１４０６に調整画面Ｗ１０を表示させ（図１０参照）、操作入力に対する応答音の出力時間差が、プレーヤが違和感を覚えないように調整時間の設定を行ってもらう。そして、この結果で適用調整時間７０２を更新する。
【０１９６】
次いで、ゲーム装置１４００は、プレイする楽曲（プレイ曲）の選択を受け付け（ステップＳ１８２）、ゲーム進行制御を開始する（ステップＳ１８４）。これにより、スピーカ１４１０からはプレイ曲の楽曲が放音されるとともに、これと同期するようにしてタッチパネル１４０６では、ゲーム画面Ｗ３（図３参照）が表示される。
【０１９７】
また、ゲーム装置１４００は、操作入力の評価とその報知制御（例えば、種別判定結果の報知表示（図１１参照））、操作入力に応じた応答出力（例えば、操作入力音の放音）、操作入力に応じた振動制御（例えば、風切り演出振動（図５，図６参照）や入力演出振動（図５，図６参照））なども開始する。特に本実施形態では、報知表示のうちの１つである種類報知マーカ４０の表示サイズが変わることで、実質的に継承条件を満たす操作入力がなされていることを報知する役割を担っている（図１１参照）。
【０１９８】
すでに、ステップＳ１４により入力判定が実行されており、ゲームコントローラ１４６０による操作入力の準備が整っている。プレーヤは、プレイ曲を聴きつつ、ゲーム画面Ｗ３の譜面２０を見ながら、提示された規準タイミングで規準操作に合致するようにゲームコントローラ１４６０で操作入力して音楽ゲームをプレイすることができる。
【０１９９】
ゲームプレイが終了したならば（ステップＳ１８６）、プレイ成績の表示を行って（ステップＳ１８８）、一連の処理を終了する。
【０２００】
以上、本実施形態によれば、慣性センサである加速度センサやジャイロセンサを搭載したゲームコントローラを有するゲーム装置において、当該ゲームコントローラを空中で振って止める動作をもって操作入力と見なすゲームを実行する際に、慣性センサによる計測値を用いて、プレーヤが操作入力したタイミングであると感覚的に感じるタイミングで操作入力タイミングをしたと判定できる技術を実現できる。
【０２０１】
更に、連続入力を要求する規準操作が提示されている時の操作入力判定において、ゲームコントローラ１４６０の慣性センサで計測される加速度変化が、連続的なコントローラの上下移動の際に見られる変化が現れた場合に、継承条件を満たしたと認定し、操作入力の判定を加速度変化に基づく判定に限定して処理負荷を軽減するとともに、操作入力の種類判別を前回の判別結果を継承する処理に簡略化して、更に処理負荷を軽減することができる。
【０２０２】
具体的には、図１６のステップＳ３０のＹＥＳで、ステップＳ１３２〜ステップＳ７４がスキップされることで、入力タイミングの判定に係る処理負荷が軽減され、図１８のステップＳ１５０〜ステップＳ１６０がスキップされることで、種別判別処理における処理負荷が軽減される。よって、処理負荷に対する余剰の不足を回避し、短時間で連続的な入力が行われた際の操作入力の種類判別の分解精度の低下を防ぐことができる。
【０２０３】
〔変形例〕
以上、本発明を適用した実施形態について説明したが、本発明を適用可能な実施形態は上記に限定されるものではなく、適宜構成要素の追加・省略・変更を施すことができる。
【０２０４】
例えば、上記実施形態では、スタンドアローンで実行可能なゲームを例に挙げて説明したがこれに限らない。上記実施形態のゲームコントローラ１４６０と同様に３軸加速度センサ１４７５と３軸ジャイロセンサ１４７６とをコントローラ部に備えたコンピュータをプレーヤ端末として使用し、ゲームサーバにアクセスしてプレイするオンラインゲームとして実現する形態も可能である。その場合、上記実施形態におけるゲーム演算部２１０（図１２参照）を、ゲームサーバにて実現すれば良い。
【０２０５】
また、ゲームコントローラ１４６０と、これに搭載されるセンサの計測軸との相対関係は、図２の例に限定されるものではなく、適宜変更可能である。
【０２０６】
また、上記実施形態では、操作入力の種類を第１種操作（ドン）と第２種操作（カツ）の２種類としたがこれに限らない。例えば、第１種操作と第２種操作とでそれぞれ振る強さが大小異なる強度レベルを設けることができる。強度レベルの段階は適宜設定可能であるが、仮に２段階とすれば合計４種類の操作入力を有するゲームとすることができる。そして、この場合、譜面２０に表示する指示体の種類も４種類分用意する必要がある。加えて、種類判別部２３０（図１２参照）にて、入力判定時の計測値、例えばピークタイミング７４６における加速度の大きさや角速度の大きさを所定の閾値と比較することで、入力されたモーションの強度レベルを判別させるようにする必要がある。つまり、種類判別部２３０を「強度レベル判別部」としても機能させる。
【０２０７】
また、上記実施形態では、本発明の効果が最も顕著となるゲームとして、レイテンシーやレスポンスの良さが要求される音楽ゲームを例示したが、その他のジャンルのゲームにおいても同様に適用することができる。例えば、仮想のモグラ叩きゲームなど、仮想の被打撃体が出現するゲームが好適である。
【０２０８】
そして、ゲーム内容によっては、ゲームコントローラ１４６０から３軸加速度センサ１４７５と、３軸ジャイロセンサ１４７６の何れかを省略し、加速度に基づく入力判定または角速度に基づく入力判定のみに限定した構成も可能である。また、ゲーム内容によっては、入力タイミングが判定された場合、音及び表示による応答出力の何れか一方を省略することができる。
【０２０９】
また、上記実施形態に、連打入力における判定の寛厳（厳しさ）の程度をプレーヤが選択できる構成を付加することができる。換言すると、調整制御部２１２に、プレーヤの操作入力に基づいて第１閾値と第２閾値を調整可能にする機能を追加することができる。
例えば、ステップＳ１８０（図１５参照）に続いて、図１９に示すような設定画面Ｗ１９を表示させて、寛厳の程度のプレーヤ選択を受け付ける構成も可能である。設定画面Ｗ１９には、設定の要領説明４２と、連打入力における判定の寛厳の程度の設定操作を受け付ける設定操作部４４と、操作アイコン４６（４６ａ,４６ｂ,…）を含む。
【０２１０】
そして、図２０に示すように、プレイデータ７００に、適用基準値ライブラリ７３０を設けて、設定操作部４４で設定された結果を格納する。適用基準値ライブラリ５７０は、入力タイミング判定や、種類判別に実際に適用される様々な基準値を格納する。具体的には、ゲーム開始前に初期基準値ライブラリ５３０（図１３参照）がコピーされ、振り上げ開始判定基準角速度値７３１〜第６判定基準値７３８として格納する。そして、設定操作部４４で受け付けた結果に応じて、コピーされた基準値のうち振り上げ判定基準係数ｋ１、確定判定基準係数ｋ２、を変更する。
【０２１１】
或いは、ステップＳ１００において継承中フラグ７４８が「１」の場合に、振り上げ開始判定基準係数５３３（ｋ１）に代えて適用される係数ｋ１’と、ステップＳ１２４において継承中フラグ７４８が「１」の場合に、確定判定基準係数ｋ２に代えて適用される係数ｋ２’とを、それぞれ個別のデータとして初期基準値ライブラリ５３０に設定しておく。
そして、適用基準値ライブラリ７３０にコピーされたそれらの値を、設定操作部４４で受け付けた結果に応じて変更する構成としても良い。
【符号の説明】
【０２１２】
４…仮想打楽器
２０…譜面
２７…評価結果表示部
３４…調整操作部
４０…種類報知マーカ
１１０…加速度計測部
１１２…角速度計測部
２００…処理部
２１０…ゲーム演算部
２１２…調整制御部
２１４…提示制御部
２２０…タイミング判定部
２３０…種類判別部
２３１…継承制御部
２３２…応答出力制御部（報知制御部）
２３４…振動制御部
２３６…評価部
２３８…評価結果報知制御部
３９６…加振部
５００…記憶部
５０２…ゲームプログラム
５１０…ゲーム初期設定データ
５２０…楽曲定義データ
５３０…初期基準値ライブラリ
５３１…振り上げ開始判定基準角速度値
５３２…要求勢い判定基準角速度値
５３３…振り上げ開始判定基準係数
５３４…確定判定基準係数
５３５…第３判定基準値
５３６…第４判定基準値
５３７…第５判定基準値
５３８…第６判定基準値
５４０…報知定義データ
５４２…初期調整時間
７００…プレイデータ
７０２…適用調整時間
７１０…譜面表示制御データ
７２０…計測履歴データ
７２２…加速度計測履歴データ
７２４…平均加速度計測履歴データ
７２６…角速度計測履歴データ
７２８…平均角速度計測履歴データ
７４２…角速度利用フラグリスト
７４４…加速度利用フラグリスト
７４６…ピークタイミング
７４８…継承中フラグ
１４００…ゲーム装置
１４０１…本体装置
１４５０…制御基板
１４６０Ｌ…左ゲームコントローラ
１４６０Ｒ…右ゲームコントローラ
１４７５…３軸加速度センサ
１４７６…３軸ジャイロセンサ
Ａｘ…Ｘ軸方向の加速度
Ａｘ_ａｖｅ…Ｘ軸方向の平均加速度
Ａｚ…Ｚ軸方向の加速度
Ａｚ_ａｖｅ…Ｚ軸方向の平均加速度
ｋ１…振り上げ開始判定基準係数
ｋ２…確定判定基準係数
ｋ３…第３判定基準値
ｋ４…第４判定基準値
ｋ５…第５判定基準値
ｋ６…第６判定基準値
ωｆ…判定基準角速度
ωｍ…振り上げ開始判定基準角速度値
ωｘ…Ｘ軸回りの角速度
ωｘ_ａｖｅ…Ｘ軸方向の平均角速度
ωｚ…Ｚ軸回りの角速度
【図１】
2019118550.tif 000003
【図２】
2019118550.tif 000004
【図３】
2019118550.tif 000005
【図４】
2019118550.tif 000006
【図５】
2019118550.tif 000007
【図６】
2019118550.tif 000008
【図７】
2019118550.tif 000009
【図８】
2019118550.tif 000010
【図９】
2019118550.tif 000011
【図１０】
2019118550.tif 000012
【図１１】
2019118550.tif 000013
【図１２】
2019118550.tif 000014
【図１３】
2019118550.tif 000015
【図１４】
2019118550.tif 000016
【図１５】
2019118550.tif 000017
【図１６】
2019118550.tif 000018
【図１７】
2019118550.tif 000019
【図１８】
2019118550.tif 000020
【図１９】
2019118550.tif 000021
【図２０】
2019118550.tif 000022