(57)【要約】【課題】操作手段に設けられた加速度センサの出力値から操作イベントを検出する際に、操作イベントの誤検出を排除して、効率の良い操作イベントの検出を実現すること。【解決手段】操作部１６０に設けられた加速度センサ３の出力値の遷移と閾値に基づいて操作イベント発生条件を満たすパルスを検出し、前記パルスを検出した場合に操作イベントを発生させる操作イベント発生部１１０と、前記操作イベント発生部が発生した操作イベントに基づいてゲーム処理を行うゲーム処理部１２０としてコンピュータを機能させ、前記操作イベント発生部１１０は、前記パルスを検出した場合に閾値を引き上げ、その後閾値を減衰させる処理を行うことを特徴とする。【選択図】図４
2007260105.tif 000002
【特許請求の範囲】
【請求項１】
操作手段に設けられた加速度センサの出力値の遷移と閾値に基づいて操作イベント発生条件を満たすパルスを検出し、前記パルスを検出した場合に操作イベントを発生させる操作イベント発生部と、
前記操作イベント発生部が発生した操作イベントに基づいてゲーム処理を行うゲーム処理部としてコンピュータを機能させ、
前記操作イベント発生部は、
前記パルスを検出した場合に所与のタイミングで閾値を引き上げ、その後閾値を減衰させる処理を行うことを特徴とするプログラム。
【請求項２】
請求項１において、
前記操作イベント発生部は、
前記加速度センサの出力値が閾値を超えた場合に閾値を引き上げる処理を行うことを特徴とするプログラム。
【請求項３】
請求項１または２において、
前記操作イベント発生部は、
前記加速度センサの出力値を超えない程度に閾値を引き上げる処理を行うことを特徴とするプログラム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記操作イベント発生部は、
前記加速度センサの出力値の遷移に基づき前記パルスのピークを検出し、前記パルスのピークを検出した場合に閾値を減衰させる処理を行うことを特徴とするプログラム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記操作イベント発生部は、
基準閾値を保持し、前記基準閾値に収束するように閾値を減衰させる処理を行うことを特徴とするプログラム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記操作イベント発生部は、
前記加速度センサの３軸方向の各軸の出力値の遷移からそれぞれ操作イベント発生条件を満たすパルスを検出し、前記パルスを検出した場合に３軸方向の各軸に対する操作イベントを発生し、
前記ゲーム処理部は、
前記３軸方向の各軸に対する操作イベントに基づいてゲーム処理を行うことを特徴とするプログラム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記操作イベント発生部は、
前記加速度センサの出力値の遷移に基づいて閾値を減衰させるために必要なパラメータを決定し、決定したパラメータに基づいて閾値を減衰させる処理を行うことを特徴とするプログラム。
【請求項８】
請求項１乃至６のいずれかにおいて、
前記操作イベント発生部は、
所与のゲームパラメータに基づいて閾値を減衰させるために必要なパラメータを決定し、決定したパラメータに基づいて閾値を減衰させる処理を行うことを特徴とするプログラム。
【請求項９】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至８のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１０】
操作手段に設けられた加速度センサの出力値の遷移と閾値に基づいて操作イベント発生条件を満たすパルスを検出し、前記パルスを検出した場合に操作イベントを発生させる操作イベント発生部と、
前記操作イベント発生部が発生した操作イベントに基づいてゲーム処理を行うゲーム処理部とを含み、
前記操作イベント発生部は、
前記パルスを検出した場合に所与のタイミングで閾値を引き上げ、その後閾値を減衰させる処理を行うことを特徴とするゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームシステム、プログラム、情報記憶媒体に関する。
【背景技術】
【０００２】
従来から、操作手段に加速度センサを設けて操作手段の振動状態を検出し、ゲーム中の操作信号として利用するものがある。
【特許文献１】特許第３１１９２６３号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の操作イベントを検出するゲーム装置においては操作イベントを検出するための閾値が固定値であったために、閾値の大きさによっては操作手段を操作したつもりでも操作イベントを検出できなかったり、逆に操作していないつもりでも操作イベントを誤検出してしまう場合があった。
【０００４】
本発明は、上記課題に鑑みなされたものであり、その目的とするところは、操作手段に設けられた加速度センサの出力値から操作イベントを検出する際に、操作イベントの誤検出を排除して、効率の良い操作イベントの検出を実現することである。
【課題を解決するための手段】
【０００５】
（１）本発明は、操作手段に設けられた加速度センサの出力値の遷移と閾値に基づいて操作イベント発生条件を満たすパルスを検出し、前記パルスを検出した場合に操作イベントを発生させる操作イベント発生部と、前記操作イベント発生部が発生した操作イベントに基づいてゲーム処理を行うゲーム処理部としてコンピュータを機能させ、前記操作イベント発生部は、前記パルスを検出した場合に所与のタイミングで閾値を引き上げ、その後閾値を減衰させる処理を行うことを特徴とする。
【０００６】
また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。また本発明は、上記各部を含むゲームシステムに関係する。
【０００７】
加速度センサとは、加速度を検出し出力するセンサであり、圧電型や動電式、歪みケージ式等のいずれの方式であってもよい。また１軸〜３軸方向の加速度を検出できるセンサでもよい。また３軸加速度センサから出力値を受付ける場合であっても、その内の１軸方向の出力値のみを受付けるようにしてもよい。
【０００８】
操作イベント発生条件を満たすパルスを検出する際には、まず加速度センサの出力値を受付け、受付けた出力値の遷移と閾値に基づいて検出するようにしてもよい。
【０００９】
操作イベント発生条件を満たすパルスは、加速度センサの現在または直前の出力値が閾値を超えた場合に検出するようにしてもよい。
【００１０】
所定のタイミングで閾値を引き上げるとは、操作イベント発生条件を満たすパルスを検出したら即座に引き上げる場合でもよいし、前記パルスの検出後さらに現在または直前の出力値に所定の割合を乗じた値が閾値を超えたタイミングで、または出力値から所定の値を差し引いた値が閾値を超えたタイミングで引き上げる場合でもよい。
【００１１】
閾値を引き上げる処理とは、例えば連続的または段階的に閾値を大きくする処理をいう。また閾値を減衰させる処理とは、所与のアルゴリズムまたは所与の関数（指数関数、一次関数）に従って閾値を減衰させる処理をいう。
【００１２】
本発明によれば、操作イベント発生条件を満たすパルスを検出した場合に閾値を引き上げ、その後閾値を減衰させる処理を行い、閾値を動的に変化させることで、操作イベントの誤検出を排除して操作イベントを効率よく検出することができる。
【００１３】
（２）本発明は、前記操作イベント発生部は、前記加速度センサの出力値が閾値を超えた場合に閾値を引き上げる処理を行うことを特徴とする。
【００１４】
加速度センサの出力値が閾値を超えた場合とは、加速度センサの現在または直前の出力値が所定の閾値を超えた場合であってもよい。
【００１５】
本発明によれば、出力値が閾値を超えた場合に閾値を引き上げる処理を行うことで、操作イベント発生条件を満たすパルスに伴って発生する付随的なパルスの影響を無視することができ、操作イベントの誤検出を防ぐことができる。
【００１６】
（３）本発明は、前記操作イベント発生部は、前記加速度センサの出力値を超えない程度に閾値を引き上げる処理を行うことを特徴とする。
【００１７】
加速度センサの出力値を超えない程度に閾値を引き上げるとは、加速度センサの現在または直前の出力値を超えない程度に引き上げる場合でもよい。また現在または直前の出力値に所定の割合を乗じた値や、現在または直前の出力値から所定の値を差し引いた値を維持するように閾値を引き上げる場合でもよい。
【００１８】
本発明によれば、出力値を超えない程度に閾値を引き上げる処理を行うことで、付随的でないパルスが連続して現れた場合であっても、各パルスから操作イベントを確実に検出することができる。
【００１９】
（４）本発明は、前記操作イベント発生部は、前記加速度センサの出力値の遷移に基づき前記パルスのピークを検出し、前記パルスのピークを検出した場合に閾値を減衰させる処理を行うことを特徴とする。
【００２０】
操作イベント発生条件を満たすパルスのピークの検出は、操作イベント発生条件を満たすパルスの最大値から検出してもよいし、操作イベント発生条件を満たすパルスにおいて現在の出力値が増加傾向から減少傾向に転じたことをもって検出してもよい。また出力値を超えない程度に閾値を引き上げる場合にあっては、閾値が現在の出力値を超えた場合にパルスのピークを検出してもよいし、閾値が現在または直前の出力値から所定の値を差し引いた値や、現在または直前の出力値に所定の割合を乗じた値を超えた場合にパルスのピークを検出してもよい。
【００２１】
本発明によれば、パルスのピークを検出した場合に閾値を減衰させる処理を行うことで、付随的なパルスの影響を無視しつつ、その後に現れる付随的ではないパルスから確実に操作イベントを検出することができる。
【００２２】
（５）本発明は、前記操作イベント発生部は、基準閾値を保持し、前記基準閾値に収束するように閾値を減衰させる処理を行うことを特徴とする。
【００２３】
基準閾値とは、閾値の初期値をいい、最低閾値であってもよい。
【００２４】
本発明によれば、基準閾値に収束するように閾値を減衰させる処理を行うことで、引き上げた閾値を基準閾値に徐々に戻すことができ、その後に現れるパルスから確実に操作イベントを検出することができる。
【００２５】
（６）本発明は、前記操作イベント発生部は、前記加速度センサの３軸方向の各軸の出力値の遷移からそれぞれ操作イベント発生条件を満たすパルスを検出し、前記パルスを検出した場合に３軸方向の各軸に対する操作イベントを発生し、前記ゲーム処理部処理部は、前記３軸方向の各軸に対する操作イベントに基づいてゲーム処理を行うことを特徴とする。
【００２６】
本発明によれば、３軸方向の各軸に対する操作イベントを発生し、当該操作イベントに基づいてゲーム処理を行うことで、操作者が操作手段を操作する方向を変えることで、複数種類の異なる操作コマンドを入力することができる。
【００２７】
（７）本発明は、前記操作イベント発生部は、前記加速度センサの出力値の遷移に基づいて閾値を減衰させるために必要なパラメータを決定し、決定したパラメータに基づいて閾値を減衰させる処理を行うことを特徴とする。
【００２８】
閾値を減衰させるために必要なパラメータとは、閾値を減衰させる際の軌跡のパターンを決定するパラメータをいい、例えば閾値の減衰アルゴリズムで用いられる減衰係数や減衰率、減衰期間でもよい。また閾値を収束させる基準閾値の値でもよい。また複数の減衰アルゴリズムのうち一のアルゴリズムを選択するために必要なパラメータでもよい。
【００２９】
パラメータの決定は、ゲームの実行に先立って操作者に操作手段を操作するように指示し操作した結果出力される出力値の遷移に基づいて決定してもよいし、ゲーム中に出力される出力値の履歴に基づいてリアルタイムに決定してもよい。
【００３０】
本発明によれば、出力値の遷移に基づいてパラメータを決定し、当該パラメータに基づいて閾値を減衰させる処理を行うことで、操作者の異同に関わりなく常に適切な操作イベントの検出を実現することができる。
【００３１】
（８）本発明は、前記操作イベント発生部は、所与のゲームパラメータに基づいて閾値を減衰させるために必要なパラメータを決定し、決定したパラメータに基づいて閾値を減衰させる処理を行うことを特徴とする。
【００３２】
所与のゲームパラメータとは、ゲーム処理で使用されるパラメータであり、例えばゲームの難易度、レベル、キャラクタの体力、種類等でもよい。
【００３３】
本発明によれば、所与のゲームパラメータに基づいて減衰パラメータを決定し、決定した減衰パラメータに基づいて閾値を減衰させる処理を行うことで、ゲーム状況に応じた適切な操作イベントの検出を実現することができる。
【発明を実施するための最良の形態】
【００３４】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３５】
図１は本実施形態の操作手段の一例を示す図である。
【００３６】
操作手段１の内部には加速度センサ３が配置され、操作者が操作手段１を手に持って振ることで、加速度センサ３は振りに応じた加速度を検出し出力する。加速度センサ３の出力信号は信号ケーブル５を用いて伝送される。操作手段１の持ち手部分にはガイド７が設けられ、操作者はこのガイド７に合わせて操作手段１を握る。このようにすることで操作手段１は常に所定の方向に振られることになるから、加速度センサ３は振られる方向の加速度を検出できるように向きを調整して設置される。
【００３７】
また加速度センサ３が３軸方向の加速度を検出できるものであれば、操作者が操作手段１を上下方向、左右方向、前後方向に振ることにより各軸方向の加速度を検出することができる。
【００３８】
図２（Ａ)は本実施形態の加速度センサの出力値の遷移を説明するための図である。
【００３９】
グラフの横軸は時間を表し、縦軸は垂直（上下）方向の加速度（重力成分を除いたもの）を表している。また、実線の波形は加速度センサの出力値の遷移を表し、破線は固定閾値の例を表している。また、左側の波形ｗ１は操作手段１を上下方向に強く１回振った場合の波形であり、中央の波形ｗ２は弱く１回振った場合の波形であり、右側の波形ｗ３は３回連続して振った場合の波形である。ここでは出力値が閾値を超えた場合に操作イベント発生条件を満たすパルスを検出したとして操作イベントを発生させるものとする。
【００４０】
波形ｗ１について詳細に見ると、操作手段を振り終わって止めた瞬間に波形ｗ１１が現れ、その直後に止めた反動で操作者の手がぶれて波形ｗ１２が現れている。このような場合、固定閾値ｔ１に基づいて操作イベントを検出しようとすると、波形ｗ１１とｗ１２において２回操作イベントの発生を検出してしまう。つまり操作者は操作手段を１回振ったつもりでも、２回振ったとしてゲーム処理されることになる。波形ｗ３についても同様に３回振ったつもりでも波形ｗ３１〜ｗ３４において４回操作イベントの発生を検出してしまう。
【００４１】
そこでより大きな固定閾値ｔ２に基づいて操作イベントを検出しようとすると、今度は操作手段１を弱く振った場合の波形ｗ２において操作イベントを検出できなくなる。つまり操作者は操作手段１を振ったつもりなのに、振らなかったものとしてゲーム処理されることになる。
【００４２】
図２（Ｂ）は本実施形態の加速度センサの出力値の遷移と閾値の関係を説明するための図である。
【００４３】
図中の破線は動的に変化する本実施形態の閾値ｔ３である。閾値ｔ３は初め基準閾値を維持し、波形１１において出力値が閾値ｔ３を超えると出力値を超えない程度に引きあがり、波形１１がピークを迎えると基準閾値に収束するように減衰している。ここでは出力値が閾値ｔ３を超えた場合（図中矢印に示す点）に操作イベント発生条件を満たすパルスを検出したとして操作イベントを発生させている。
【００４４】
このように閾値ｔ３を動的に変化させることで波形ｗ１２や波形３４のような操作手段を止めた反動で発生してしまった付随的な波形において操作イベントを検出しないようにすることができる。また、引き上げた閾値ｔ３を基準閾値に収束するように減衰させることで、波形ｗ２のような操作手段１を弱く振った場合の波形においても確実に操作イベントを検出することができる。さらに出力値を超えない程度に閾値ｔ３を引き上げることで、波形ｗ３２のような直前の波形との間隔が短い波形においても確実に操作イベントを検出することができる。
【００４５】
図３は本実施形態のゲームシステムの機能ブロックの一例である。本実施形態のゲームシステム１０は、少なくとも処理部１００、操作部１６０を含めばよく、それ以外のブロックについては、任意の構成要素とすることができる。
【００４６】
操作部１６０は、加速度センサ３を含み、操作者が振ったり揺らしたりといった操作をすることで操作データを入力するためのものであり、その機能は加速度センサを内蔵したコントローラなどのハードウェアにより実現できる。操作部１６０は加速度センサ３に加えてレバー、方向指示キー、或いはボタンなどの他の入力手段を備えていてもよい。
【００４７】
加速度センサ３は、操作に応じた加速度を検出し、検出した加速度情報（出力値）を出力するものであり、圧電型や動電式、歪みケージ式等の加速度センサなどのハードウェアにより実現できる。加速度センサ３は１軸方向のみならず３軸方向の各軸の加速度を検出し、３軸方向の各軸の出力値を出力するものであってもよい。
【００４８】
処理部１００は、各機能ブロックへの命令の指示、画像処理、音処理などの各種の処理を行うものであり、その機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、あるいはＡＳＩＣ（ゲートアレイ等）などのハードウェアや、所与のプログラムにより実現できる。この処理部１００は記憶部１７０をワーク領域として各種処理を行う。
【００４９】
処理部１００は、操作イベント発生部１１０、ゲーム処理部１２０、画像生成部１３０、音生成部１５０を含む。
【００５０】
操作イベント発生部１１０は、操作部１６０からの加速度センサ３の出力値の遷移と閾値に基づいて操作イベント発生条件を満たすパルスを検出する処理を行い、前記パルスを検出した場合に操作イベントを発生させる処理を行うものである。また前記パルスを検出した場合に所与のタイミングで閾値を引き上げ、その後閾値を減衰させる処理を行うものである。
【００５１】
操作イベント発生部１１０は、加速度センサ３の出力値が閾値を超えた場合に閾値を引き上げる処理を行ってもよい。
【００５２】
操作イベント発生部１１０は、加速度センサ３の出力値を超えない程度に閾値を引き上げる処理をおこなってもよい。
【００５３】
操作イベント発生部１１０は、加速度センサ３の出力値の遷移に基づき前記パルスのピークを検出し、前記パルスのピークを検出した場合に閾値を減衰させる処理を行ってもよい。
【００５４】
操作イベント発生部１１０は、基準閾値を保持し、前記基準閾値に収束するように閾値を減衰させる処理を行ってもよい。
【００５５】
操作イベント発生部１１０は、加速度センサ３の３軸方向の各軸の出力値の遷移からそれぞれ操作イベント発生条件を満たすパルスを検出し、前記パルスを検出した場合に３軸方向の各軸に対する操作イベントを発生させる処理を行ってもよい。
【００５６】
操作イベント発生部１１０は、前記加速度センサ３の出力値の遷移または所与のゲームパラメータに基づいて閾値を減衰させるために必要なパラメータを決定し、決定したパラメータに基づいて閾値を減衰させるアルゴリズムを決定する処理を行ってもよい。
【００５７】
ゲーム処理部１２０は、ゲーム画像やゲーム音を生成するためのゲーム演算処理を行う。ここでゲーム演算処理としては、ゲームの内容やゲームモードを決定する処理、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲームプレイにより変化するゲームパラメータ（ゲーム結果）を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【００５８】
またゲーム処理部１２０は、操作イベント発生部１１０が発生した操作イベントに基づきゲーム演算処理を行い、画像や音声を生成する処理を行うものである。またゲーム処理部１２０は、操作イベント発生部１１０が発生した３軸方向の各軸に対する操作イベントに基づきゲーム演算処理を行ってもよい。
【００５９】
画像生成部１３０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。
【００６０】
音生成部１５０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００６１】
記憶部１７０は、処理部１００、通信部１９６などのワーク領域となるもので、メインメモリ、フレームバッファとして機能し、ＲＡＭなどのハードウェアにより実現できる。
【００６２】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、メモリーカード、ハードディスク、或いはメモリー（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００６３】
表示部１９０は、本実施形態により生成された画像を表示出力するためのものであり、その機能は、ＣＲＴ、ＬＣＤなどのハードウェアにより実現できる。
【００６４】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００６５】
セーブ用情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、このセーブ用情報記憶装置１９４としては、メモリカードや携帯型ゲームシステムなどがある。
【００６６】
通信部１９６は外部（例えばホスト装置や他のゲームシステム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００６７】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００６８】
図４は本実施形態において操作イベントを発生する処理の一例について説明するためのフローチャート図である。ここで加速度センサの出力値は垂直方向の出力値であり、上方向が正の値（重力方向が負の値）で、単位は重力加速度＝１．０であるとする。本実施形態では以下の処理を１／６０秒毎に繰り返す。
【００６９】
まず閾値ｔ、加速度センサの出力値ｇ、履歴フラグｆをそれぞれ初期化する（ステップＳ１）。その際、閾値ｔには初期値として基準閾値Ｔをセットする。次に操作イベントｓｗを初期化し（ステップＳ２）、出力値ｇに出力値受付部１９が受付けた加速度センサの現在の出力値をセットする（ステップＳ３）。セットした出力値には重力成分が含まれているから、これを除去する（ステップＳ４）。この際、図中の式によらずハイパスフィルタを用いて加速度の変動成分を取り出してもよい。
【００７０】
次に出力値ｇと閾値ｔを比較し（ステップＳ５）、出力値ｇが大であれば履歴フラグｆが立っているか確認し（ステップＳ６）、立っていなければ操作イベント発生条件を満たすパルスを検出したとして、操作イベントｓｗを発生させ（ステップＳ７）、履歴フラグｆを立てる（ステップＳ８）。また履歴フラグｆが立っていれば、既にパルスを検出したとして操作イベントｓｗを発生させない。また出力値ｇと閾値ｔを比較した結果出力値ｇが小であれば、操作イベントｓｗは発生させずに、出力値ｇが０以下かどうか判断し（ステップＳ９）、出力値ｇが０以下であれば次のパルスを検出するために履歴フラグｆを初期化する（ステップＳ１０）。
【００７１】
次に閾値ｔと出力値ｇに係数Ａを乗じた値を比較し（ステップＳ１１）、出力値ｇに係数Ａを乗じた値が大であれば閾値ｔをこの値に変更することで閾値ｔを引き上げ（ステップＳ１２）、閾値ｔが大であれば閾値ｔを基準閾値Ｔに収束させるように減衰させる（ステップＳ１３）。
【００７２】
ここで係数Ａは０．７〜０．９といった範囲で設定することができるが、係数Ａを０．８と設定するのが好ましい。係数Ａを０．８とした場合を例にとると、閾値ｔが出力値ｇの８割以下の値となれば操作イベント発生条件を満たすパルスを検出したと判断して、閾値ｔが出力値ｇの８割の値を維持するように（すなわち出力値ｇを超えない程度に）閾値ｔを引き上げる処理を行い、逆に閾値ｔが出力値ｇの８割以上の値となれば操作イベント発生条件を満たすパルスのピークを検出したと判断して、閾値ｔを基準閾値Ｔに収束させるように減衰させる。また閾値ｔが基準閾値Ｔと等しい場合（ｔ＝Ｔ）であっても閾値ｔをそれ以上減衰させることなく、閾値は基準閾値Ｔを維持する。ここで閾値ｔの減衰に用いられている減衰係数Ｓは０．０５〜０．１５といった範囲で設定することができるが、減衰係数Ｓを０．０７と設定するのが好ましい。
【００７３】
次に操作イベントｓｗを発生させた場合であれば、操作イベントｓｗに基づきゲーム処理を行う（ステップＳ１４）。操作イベントｓｗの検出を続けるか否か判断し（ステップＳ１５）、続けるのであればステップＳ２に戻り、ステップＳ２以下の処理を繰り返す。
【００７４】
図５は本実施形態において閾値を減衰させるために必要なパラメータを決定する処理の一例について説明するためのフローチャート図である。
【００７５】
ここでは、ゲーム実行に先立って操作者に操作手段１を所定回数を振らせ、その操作時の出力値の遷移（サンプルデータ）に基づいて上述した減衰係数Ｓを決定する処理の流れについて説明する。
【００７６】
まず減衰係数Ｓに最大値をセットする（ステップＳ２１）。ここでは最大値として０．２０をセットしている。次に操作者に操作手段１をＮ回振るように指示し、加速度センサのサンプルデータを取得する（ステップＳ２２）。ここで操作者への指示はゲーム装置の表示部にその旨表示して行ってもよいし、音声により指示してもよい。次に取得したサンプルデータと閾値に基づいて操作イベント発生条件を満たすパルスを検出することで、操作イベント発生回数ｎを取得する（ステップＳ２３）。操作イベント発生回数ｎは、サンプルデータに対して図４のステップＳ２〜ステップＳ１３の処理を実行し、操作イベントｓｗの発生回数をカウントすることにより取得することができる。
【００７７】
次に操作イベント発生回数ｎと指示回数Ｎを比較し（ステップＳ２４、Ｓ２５）、操作イベント発生回数ｎが小であれば操作者の振りが小さい（弱い）と判断して、再度Ｎ回振るように指示する（ステップＳ２６）。操作イベント発生回数ｎが小でもなく大でもなければ、すなわち操作イベント発生回数ｎが指示回数Ｎと等しければ、現在の減衰係数Ｓが適正であると判断し、減少係数Ｓを若干減少させる（ステップＳ２７）。これは実際の操作では操作イベントを誤検出する可能性があるので、余裕を持たせるために行う処理である。また操作イベント発生回数ｎが大であれば、図２（Ｂ）の波形ｗ１２やｗ３４のような振りを止めた反動で発生する付随的な波形から操作イベントを発生させていると判断して、操作係数Ｓを減少させる（ステップＳ２８）。
【００７８】
ここで操作係数Ｓと閾値の関係を図６を用いて説明する。図６の波形Ｗ４は操作者が操作手段１を一回振った場合のサンプルデータである。また図中の点線は閾値であり、閾値ｔ４は減衰係数Ｓが最も大きい場合の閾値であり、減衰係数Ｓを小さくしていくと閾値は閾値ｔ５、ｔ６と変化する。閾値ｔ４を用いると波形ｗ４１、ｗ４２から操作イベントを２回発生させることになるが、閾値ｔ５、６を用いると波形ｗ４１のみから操作イベントを１回発生させることになる。図５の減衰係数Ｓを決定する処理においては、減衰係数Ｓが大きい閾値ｔ４のような閾値を用いて操作イベントの発生回数ｎの検出を始めて、波形ｗ４２のような余分な波形から操作イベントを発生させなくなるまで（指示回数Ｎと操作イベント発生回数ｎが一致するまで）減衰係数Ｓを減少させていくことで適正な減衰係数Ｓを決定している。
【００７９】
図５のフローチャート図の説明に戻ると、減衰係数Ｓを減少させた後、減衰係数Ｓが０．０３より小であるか否か判断して（ステップＳ２９）、大であれば、ステップＳ２３に戻り、減少させた減衰係数Ｓを用いて再度操作イベントの発生回数ｎを検出する。また減衰係数Ｓが０．０３より小であれば操作者が指示回数Ｎより多く振っていると判断し、再度Ｎ回振るように指示する（ステップＳ３０）。
【００８０】
ここで上記ステップＳ２２においては、ゲームに先立つ操作者への操作指示によって出力値の遷移（サンプルデータ）を取得しているが、ゲーム中に行われる操作手段１の操作によって出力される出力値の遷移をサンプルデータとして取得して、これに基づいて減衰係数Ｓを決定してもよい。
【００８１】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【００８２】
上記実施形態では、操作手段としてマラカスを模したコントローラを例にとって説明したが、操作手段は単数または複数の太鼓のバチ、剣、包丁等を模したコントローラであってもよい。
【００８３】
また上記実施形態では、閾値を減衰させるために必要なパラメータを決定する処理について、加速度センサの出力値の遷移に基づいて決定する例を説明したが、所与のゲームパラメータに基づいて決定してもよい。例えばゲームの難易度をパラメータ化した場合、難易度が上がるほど減衰係数Ｓを大きくして（閾値を図６のｔ４のような閾値となるようにして）、操作者が操作手段を振って（反動が生じないように）正確に止めないと適切な操作イベントの検出ができないようにすることができる。またゲームキャラクタの体力をパラメータ化した場合、体力が少なくなるほど基準閾値を大きくして、体力がある時に比べてより強く操作手段を振らないと操作イベントを発生させないようにすることができる。
【図面の簡単な説明】
【００８４】
【図１】本実施形態の操作手段の一例を示す図である。
【図２】本実施形態の加速度センサの出力値の遷移と閾値の関係を説明するための図である。
【図３】本実施形態のゲームシステムの機能ブロックの一例である。
【図４】本実施形態において操作イベントを発生する処理の一例について説明するためのフローチャート図である。
【図５】本実施形態において閾値を減衰させるために必要なパラメータを決定する処理の一例について説明するためのフローチャート図である。
【図６】本実施形態の操作係数と閾値の関係を説明するための図である。
【符号の説明】
【００８５】
１  操作手段
３  加速度センサ
５  信号ケーブル
７  ガイド
１０  ゲームシステム
１００  処理部
１１０  操作イベント発生部
１２０  ゲーム処理部
１３０  画像生成部
１５０  音生成部
１６０  操作部
１７０  記憶部
１８０  情報記憶媒体
１９０  表示部
１９２  音出力部
１９４  セーブ用情報記憶媒体
１９６  通信部
【図１】
2007260105.tif 000003
【図２】
2007260105.tif 000004
【図３】
2007260105.tif 000005
【図４】
2007260105.tif 000006
【図５】
2007260105.tif 000007
【図６】
2007260105.tif 000008