(57)【要約】【課題】操作情報の入力に遅延が発生した場合であっても、その影響を抑えることができるプログラム、情報記憶媒体、およびゲームシステムを提供する。【解決手段】コントローラ１６の動きに応じて値が変化する動きセンサ１６２の出力値に基づいて、コントローラ１６によって入力される操作情報を特定する。イベントの発生に基づいて第１のゲーム演算を行い、イベントに対する入力期間ＩＴの後に設けられた遅延期間ＤＴ内に特定の操作情報の入力が行われた場合には第１のゲーム演算を中止して第２のゲーム演算を行う。【選択図】図８
2009045273.tif 000002
【特許請求の範囲】
【請求項１】
コントローラを動かすことで操作情報の入力が可能なゲームのためのプログラムであって、
前記コントローラの動きに応じて値が変化する動きセンサの出力値に基づいて、当該コントローラによって入力される操作情報を特定する操作情報特定部と、
所与のイベントを発生させるイベント発生部と、
前記イベントに対する所定の入力期間および当該入力期間の経過後の所定の遅延期間のうち、少なくとも当該遅延期間内に前記特定の操作情報の入力が行われたか否かを判定する操作情報判定部と、
前記イベントの発生に基づいて第１のゲーム演算を行うとともに、前記遅延期間内に前記特定の操作情報の入力が行われた場合には当該第１のゲーム演算を中止して第２のゲーム演算を行うゲーム演算部としてコンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記操作情報判定部が、
前記入力期間内に前記特定の操作情報の入力が行われたか否かを判定し、
前記ゲーム演算部が、
前記入力期間内に前記特定の操作情報の入力が行われた場合には前記第１のゲーム演算を中止して第２のゲーム演算を行うことを特徴とするプログラム。
【請求項３】
請求項１または２において、
前記ゲームは、モーションデータに基づいてオブジェクト空間内でゲームキャラクタを動作させるゲームであって、
前記オブジェクト空間内を所与の視点位置から見た画像を生成する描画部として更にコンピュータを機能させ、
前記ゲーム演算部が、
前記第２のゲーム演算として、前記ゲームキャラクタの第２の一連のモーションを生成するゲーム演算を行い、
前記第１のゲーム演算として、前記遅延期間の少なくとも一部を含む時間帯に生成されるモーションが前記第２の一連のモーションと連続性があるモーションである前記ゲームキャラクタの第１の一連のモーションを生成するゲーム演算を行うことを特徴とするプログラム。
【請求項４】
請求項３において、
前記ゲーム演算部が、
前記入力期間内に前記特定の操作情報の入力が行われなかった場合には、前記第１の一連のモーションと前記第２の一連のモーションとをブレンドすることで新たな一連のモーションを生成するゲーム演算を行い、
前記遅延期間内に前記特定の操作情報の入力が行われた場合には、前記第１の一連のモーションに対する前記第２の一連のモーションの割合を時間経過とともに高めながらブレンドし、
前記遅延期間内に前記特定の操作情報の入力が行われなかった場合には、前記第２の一連のモーションに対する前記第１の一連のモーションの割合を時間経過とともに高めながらブレンドすることを特徴とするプログラム。
【請求項５】
請求項３において、
前記ゲーム演算部が、
前記入力期間内に前記特定の操作情報の入力が行われなかった場合には、新たな一連のモーションを生成するゲーム演算を行い、
前記遅延期間内に前記特定の操作情報の入力が行われた場合には、前記新たな一連のモーションとして、最終的に前記第２の一連のモーションに遷移する一連のモーションを生成するゲーム演算を行い、
前記遅延期間内に前記特定の操作情報の入力が行われなかった場合には、前記新たな一連のモーションとして、最終的に前記第１の一連のモーションに遷移する一連のモーションを生成するゲーム演算を行うことを特徴とするプログラム。
【請求項６】
請求項３〜５のいずれかにおいて、
前記ゲーム演算部が、
前記第２のゲーム演算として、第２の一連のゲームエフェクトを生成するゲーム演算を行い、
前記第１のゲーム演算として、前記遅延期間の少なくとも一部を含む時間帯に生成されるゲームエフェクトが前記第２の一連のゲームエフェクトと連続性があるゲームエフェクトである第１の一連のゲームエフェクトを生成するゲーム演算を行い、
前記描画部が、
生成されたゲームエフェクトを含むゲーム画像を生成することを特徴とするプログラム。
【請求項７】
請求項１〜６のいずれかにおいて、
前記ゲーム演算部が、
前記第２のゲーム演算として、第２の一連のゲーム音の出力制御を行い、
前記第１のゲーム演算として、前記遅延期間の少なくとも一部を含む時間帯に出力されるゲーム音が前記第２の一連のゲーム音と連続性があるゲーム音である第１の一連のゲーム音の出力制御を行うことを特徴とするプログラム。
【請求項８】
請求項１〜７のいずれかにおいて、
前記ゲーム演算部が、
ゲームを進行させるゲーム演算およびゲーム結果を求めるゲーム演算の少なくとも一方に用いられるゲームパラメータを、前記入力期間の経過後所定の時間をかけて更新するゲーム演算を行うことを特徴とするプログラム。
【請求項９】
請求項１〜７のいずれかにおいて、
前記ゲーム演算部が、
ゲームを進行させるゲーム演算およびゲーム結果を求めるゲーム演算の少なくとも一方に用いられるゲームパラメータを、前記遅延期間が経過した後または前記特定の操作情報の入力が行われた後に更新するゲーム演算を行うことを特徴とするプログラム。
【請求項１０】
請求項１〜９のいずれかにおいて、
前記遅延期間が、前記ゲーム演算の内容毎に設定されていることを特徴とするプログラム。
【請求項１１】
請求項１〜１０のいずれかにおいて、
前記操作情報判定部が、
所与のゲーム条件に応じて前記遅延期間を変更し、変更された遅延期間内に前記特定の操作情報の入力が行われたか否かを判定することを特徴とするプログラム。
【請求項１２】
請求項１〜１１のいずれかにおいて、
前記コントローラには、操作情報の入力を行うための操作子が設けられており、
前記特定の操作情報は、前記コントローラの動きに応じて値が変化する動きセンサの出力値に基づいて特定される操作情報と操作子からの操作情報との組合せであることを特徴とするプログラム。
【請求項１３】
コントローラを動かすことで操作情報の入力が可能なゲームのためのプログラムであって、
前記コントローラの動きに応じて値が変化する動きセンサの出力値に基づいて、当該コントローラによって入力される操作情報を特定する操作情報特定部と、
第１の操作情報の入力が行われた後の所定の入力期間内に第２の操作情報の入力が行われたか否かを判定する操作情報判定部と、
前記入力期間内に前記第２の操作情報の入力が行われた場合には前記第２の操作情報の入力を確定するゲーム演算を行い、前記入力期間内に前記第２の操作情報以外の操作情報である第３の操作情報の入力が行われた場合には当該第３の操作情報の入力を確定するゲーム演算を行うゲーム演算部としてコンピュータを機能させ、
前記操作情報判定部が、
前記第３の操作情報の入力後所定の遅延期間内に前記第２の操作情報の入力が行われたか否かを判定し、
前記ゲーム演算部が、
前記遅延期間内に前記第２の操作情報の入力が行われた場合には、前記第３の操作情報の入力の確定を取り消して前記第２の操作情報の入力を確定するゲーム演算を行うことを特徴とするプログラム。
【請求項１４】
コンピュータにより読取可能な情報記憶媒体であって、請求項１〜１３のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。
【請求項１５】
コントローラを動かすことで操作情報の入力が可能なゲームのためのゲームシステムであって、
前記コントローラの動きに応じて値が変化する動きセンサの出力値に基づいて、当該コントローラによって入力される操作情報を特定する操作情報特定部と、
所与のイベントを発生させるイベント発生部と、
前記イベントに対する所定の入力期間および当該入力期間の経過後の所定の遅延期間のうち、少なくとも当該遅延期間内に前記特定の操作情報の入力が行われたか否かを判定する操作情報判定部と、
前記イベントの発生に基づいて第１のゲーム演算を行うとともに、前記遅延期間内に前記特定の操作情報の入力が行われた場合には当該第１のゲーム演算を中止して第２のゲーム演算を行うゲーム演算部とを含むことを特徴とするゲームシステム。
【請求項１６】
コントローラを動かすことで操作情報の入力が可能なゲームのためのゲームシステムであって、
前記コントローラの動きに応じて値が変化する動きセンサの出力値に基づいて、当該コントローラによって入力される操作情報を特定する操作情報特定部と、
第１の操作情報の入力が行われた後の所定の入力期間内に第２の操作情報の入力が行われたか否かを判定する操作情報判定部と、
前記入力期間内に前記第２の操作情報の入力が行われた場合には前記第２の操作情報の入力を確定するゲーム演算を行い、前記入力期間内に前記第２の操作情報以外の操作情報である第３の操作情報の入力が行われた場合には当該第３の操作情報の入力を確定するゲーム演算を行うゲーム演算部とを含み、
前記操作情報判定部が、
前記第３の操作情報の入力後所定の遅延期間内に前記第２の操作情報の入力が行われたか否かを判定し、
前記ゲーム演算部が、
前記遅延期間内に前記第２の操作情報の入力が行われた場合には、前記第３の操作情報の入力の確定を取り消して前記第２の操作情報の入力を確定するゲーム演算を行うことを特徴とするゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、およびゲームシステムに関する。
【背景技術】
【０００２】
従来から、ゲーム用のコントローラの動きを加速度センサにより検出し、当該加速度センサの出力値を用いてゲーム用の演算を行うゲームシステムが知られている。
【０００３】
例えば特許文献１では、投手キャラクタが球オブジェクトを投げるタイミングに合わせてプレーヤにバット型のコントローラを振らせる野球ゲームシステムにおいて、バット型のコントローラに内蔵された加速度センサの出力値から当該コントローラの位置情報を演算し、演算された位置情報を元に投手キャラクタが投げた球オブジェクトに打者キャラクタのバットオブジェクトが当たったか否かを判定することが開示されている。
【０００４】
また特許文献２では、釣り竿型コントローラを用いて釣り動作をプレーヤに行わせる釣りゲームシステムにおいて、釣り竿型コントローラに内蔵された加速度センサの出力値を魚オブジェクトを釣り上げる際のコントローラの引き上げの強さに用いることで、魚オブジェクトを釣り上げるか否かを判定することが開示されている。なお特許文献２では、加速度センサが内蔵された剣型コントローラを用いた格闘ゲームシステムや加速度センサが内蔵されたゴルフクラブ型コントローラを用いたゴルフゲームシステムついても開示されている。
【特許文献１】特開平１０−２１４１５５号公報
【特許文献２】特開２００２−２１０２４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、コントローラを動かすことで所定の操作情報の入力を行う場合（例えば、コントローラを下方向に振ることで下方向への入力を行う場合など）には、操作情報を特定するための加速度を加速度センサが検出するまでに時間がかかってしまうため、プレーヤがコントローラを動かし始めるタイミング、即ちプレーヤが操作情報の入力を行ったと認識するタイミングよりも遅延して操作情報の入力が行われることになる。
【０００６】
従って、適切なタイミングで操作情報を入力するためには、プレーヤはより早いタイミングでコントローラを動かし始める必要があるが、ゲームの内容やゲームの状況から困難な場合も多い。
【０００７】
本発明は上記事情に鑑みてなされたものであり、その目的は、操作情報の入力に遅延が発生した場合であっても、その影響を抑えることができるプログラム、情報記憶媒体、およびゲームシステムを提供することにある。
【課題を解決するための手段】
【０００８】
（１）本発明は、コントローラを動かすことで操作情報の入力が可能なゲームのためのゲームシステムであって、前記コントローラの動きに応じて値が変化する動きセンサの出力値に基づいて、当該コントローラによって入力される操作情報を特定する操作情報特定部と、所与のイベントを発生させるイベント発生部と、前記イベントに対する所定の入力期間および当該入力期間の経過後の所定の遅延期間のうち、少なくとも当該遅延期間内に前記特定の操作情報の入力が行われたか否かを判定する操作情報判定部と、前記イベントの発生に基づいて第１のゲーム演算を行うとともに、前記遅延期間内に前記特定の操作情報の入力が行われた場合には当該第１のゲーム演算を中止して第２のゲーム演算を行うゲーム演算部とを含むゲームシステムに関するものである。
【０００９】
また本発明は、上記各部としてコンピュータを機能させるプログラム、および上記各部としてコンピュータを機能させるプログラムを記憶するコンピュータ読み取り可能な情報記憶媒体に関するものである。
【００１０】
「コントローラ」は、プレーヤが把持して動かすものであってもよいし、プレーヤが身につけて動かすものであってもよい。また、動かすことで操作情報の入力ができれば、ゲーム装置本体や携帯電話なども「コントローラ」に含まれる。また「特定の操作情報」は、１種類である必要はなく複数あってもよい。
【００１１】
本発明では、イベントに対する所定の入力期間の経過後に設けられた所定の遅延期間内に特定の操作情報の入力が行われた場合に、イベントの発生に基づいて行われる第１のゲーム演算を中止して第２のゲーム演算を行うようにしている。このように本発明では、イベントに対する入力期間に遅延期間が設けられているため、動きセンサを用いて操作情報を特定する性質上、操作情報の入力に遅延が発生した場合であっても、操作情報の入力遅延による影響を抑えることができる。
【００１２】
（２）また本発明のゲームシステム、プログラムおよび情報記憶媒体では、前記操作情報判定部が、前記入力期間内に前記特定の操作情報の入力が行われたか否かを判定し、前記ゲーム演算部が、前記入力期間内に前記特定の操作情報の入力が行われた場合には前記第１のゲーム演算を中止して第２のゲーム演算を行うようにしてもよい。
【００１３】
（３）また本発明のゲームシステム、プログラムおよび情報記憶媒体では、前記ゲームは、モーションデータに基づいてオブジェクト空間内でゲームキャラクタを動作させるゲームであって、前記オブジェクト空間内を所与の視点位置から見た画像を生成する描画部として更にコンピュータを機能させ、前記ゲーム演算部が、前記第２のゲーム演算として、前記ゲームキャラクタの第２の一連のモーションを生成するゲーム演算を行い、前記第１のゲーム演算として、前記遅延期間の少なくとも一部を含む時間帯に生成されるモーションが前記第２の一連のモーションと連続性があるモーションである前記ゲームキャラクタの第１の一連のモーションを生成するゲーム演算を行うようにしてもよい。
【００１４】
「モーションデータ」は、モーションキャプチャで計測されたモーションを再生するためのモーションデータのみならず、物理シミュレーション（物理計算を利用したシミュレーション。擬似的な物理計算でもよい）やモーションデータ同士の補間などによりリアルタイムに生成したモーションデータであってもよい。
【００１５】
このようにすると、遅延期間内に特定の操作情報の入力が行われたことに伴い、第１の一連のモーションの生成（第１のゲーム演算）を中止して第２の一連のモーションを生成する（第２のゲーム演算を行う）場合であっても、モーションの切り替えを目立たなくすることができる。
【００１６】
（４）また本発明のゲームシステム、プログラムおよび情報記憶媒体では、前記ゲーム演算部が、前記入力期間内に前記特定の操作情報の入力が行われなかった場合には、前記第１の一連のモーションと前記第２の一連のモーションとをブレンドすることで新たな一連のモーションを生成するゲーム演算を行い、前記遅延期間内に前記特定の操作情報の入力が行われた場合には、前記第１の一連のモーションに対する前記第２の一連のモーションの割合を時間経過とともに高めながらブレンドし、前記遅延期間内に前記特定の操作情報の入力が行われなかった場合には、前記第２の一連のモーションに対する前記第１の一連のモーションの割合を時間経過とともに高めながらブレンドするようにしてもよい。
【００１７】
このようにすると、モーションの遷移を滑らかに行うことができる。
【００１８】
（５）また本発明のゲームシステム、プログラムおよび情報記憶媒体では、前記ゲーム演算部が、前記入力期間内に前記特定の操作情報の入力が行われなかった場合には、新たな一連のモーションを生成するゲーム演算を行い、前記遅延期間内に前記特定の操作情報の入力が行われた場合には、前記新たな一連のモーションとして、最終的に前記第２の一連のモーションに遷移する一連のモーションを生成するゲーム演算を行い、前記遅延期間内に前記特定の操作情報の入力が行われなかった場合には、前記新たな一連のモーションとして、最終的に前記第１の一連のモーションに遷移する一連のモーションを生成するゲーム演算を行うようにしてもよい。
【００１９】
このようにすると、モーションの遷移を滑らかに行うことができる。
【００２０】
（６）また本発明のゲームシステム、プログラムおよび情報記憶媒体では、前記ゲーム演算部が、前記第２のゲーム演算として、第２の一連のゲームエフェクトを生成するゲーム演算を行い、前記第１のゲーム演算として、前記遅延期間の少なくとも一部を含む時間帯に生成されるゲームエフェクトが前記第２の一連のゲームエフェクトと連続性があるゲームエフェクトである第１の一連のゲームエフェクトを生成するゲーム演算を行い、前記描画部が、生成されたゲームエフェクトを含むゲーム画像を生成するようにしてもよい。「ゲームエフェクト」には、ゲーム状況を際立たせるための特殊効果を表現する画像などが含まれる。
【００２１】
このようにすると、遅延期間内に特定の操作情報の入力が行われたことに伴い、第１の一連のゲームエフェクトの生成（第１のゲーム演算）を中止して第２の一連のゲームエフェクトを生成する（第２のゲーム演算を行う）場合であっても、ゲームエフェクトの切り替えを目立たなくすることができる。
【００２２】
（７）また本発明のゲームシステム、プログラムおよび情報記憶媒体では、前記ゲーム演算部が、前記第２のゲーム演算として、第２の一連のゲーム音の出力制御を行い、前記第１のゲーム演算として、前記遅延期間の少なくとも一部を含む時間帯に出力されるゲーム音が前記第２の一連のゲーム音と連続性があるゲーム音である第１の一連のゲーム音の出力制御を行うようにしてもよい。「ゲーム音」には、ゲーム状況に応じて出力される効果音やＢＧＭなども含まれる。
【００２３】
このようにすると、遅延期間内に特定の操作情報の入力が行われたことに伴い、第１の一連のゲーム音の出力制御（第１のゲーム演算）を中止して第２の一連のゲーム音の出力制御（第２のゲーム演算）を行う場合であっても、ゲーム音の切り替えを目立たなくすることができる。
【００２４】
（８）また本発明のゲームシステム、プログラムおよび情報記憶媒体では、前記ゲーム演算部が、ゲームを進行させるゲーム演算およびゲーム結果を求めるゲーム演算の少なくとも一方に用いられるゲームパラメータを、前記入力期間の経過後所定の時間をかけて更新するゲーム演算を行うようにしてもよい。
【００２５】
このようにすると、例えば、特定の操作情報の入力が行われまでの時間に応じてゲームパラメータの更新を行うこともできるため、新たなゲーム性を付与することができる。
【００２６】
（９）また本発明のゲームシステム、プログラムおよび情報記憶媒体では、前記ゲーム演算部が、ゲームを進行させるゲーム演算およびゲーム結果を求めるゲーム演算の少なくとも一方に用いられるゲームパラメータを、前記遅延期間が経過した後または前記特定の操作情報の入力が行われた後に更新するゲーム演算を行うようにしてもよい。
【００２７】
このようにすると、いずれのゲーム演算でゲームを進行させるのかが確定した後にゲームパラメータを更新することができるため、実行されるゲーム演算に応じてゲームパラメータの更新を行うことができる。
【００２８】
（１０）また本発明のゲームシステム、プログラムおよび情報記憶媒体では、前記遅延期間が、前記ゲーム演算の内容毎に設定されるようにしてもよい。
【００２９】
このようにすると、ゲーム演算の内容毎に遅延期間が設定されることになるため、新たなゲーム性を付与することができる。
【００３０】
（１１）また本発明のゲームシステム、プログラムおよび情報記憶媒体では、前記操作情報判定部が、所与のゲーム条件に応じて前記遅延期間を変更し、変更された遅延期間内に前記特定の操作情報の入力が行われたか否かを判定するようにしてもよい。
【００３１】
このようにすると、ゲーム条件に応じて遅延期間を変更することができるため、新たなゲーム性を付与することができる。
【００３２】
（１２）また本発明のゲームシステム、プログラムおよび情報記憶媒体では、前記コントローラには、操作情報の入力を行うための操作子が設けられており、前記特定の操作情報は、前記コントローラの動きに応じて値が変化する動きセンサの出力値に基づいて特定される操作情報と操作子からの操作情報との組合せであってもよい。
【００３３】
（１３）本発明は、コントローラを動かすことで操作情報の入力が可能なゲームのためのゲームシステムであって、前記コントローラの動きに応じて値が変化する動きセンサの出力値に基づいて、当該コントローラによって入力される操作情報を特定する操作情報特定部と、第１の操作情報の入力が行われた後の所定の入力期間内に第２の操作情報の入力が行われたか否かを判定する操作情報判定部と、前記入力期間内に前記第２の操作情報の入力が行われた場合には前記第２の操作情報の入力を確定するゲーム演算を行い、前記入力期間内に前記第２の操作情報以外の操作情報である第３の操作情報の入力が行われた場合には当該第３の操作情報の入力を確定するゲーム演算を行うゲーム演算部とを含み、前記操作情報判定部が、前記第３の操作情報の入力後所定の遅延期間内に前記第２の操作情報の入力が行われたか否かを判定し、前記ゲーム演算部が、前記遅延期間内に前記第２の操作情報の入力が行われた場合には、前記第３の操作情報の入力の確定を取り消して前記第２の操作情報の入力を確定するゲーム演算を行うゲームシステムに関するものである。
【００３４】
また本発明は、上記各部としてコンピュータを機能させるプログラム、および上記各部としてコンピュータを機能させるプログラムを記憶するコンピュータ読み取り可能な情報記憶媒体に関するものである。
【００３５】
「コントローラ」は、プレーヤが把持して動かすものであってもよいし、プレーヤが身につけて動かすものであってもよい。また、動かすことで操作情報の入力ができれば、ゲーム装置本体や携帯電話なども「コントローラ」に含まれる。
【００３６】
本発明では、第１の操作情報の入力が行われた後の所定の入力期間内に第２の操作情報以外の操作情報である第３の操作情報の入力が行われた場合であっても、第３の操作情報の入力後所定の遅延期間内に第２の操作情報の入力が行われた場合には、所定の入力期間内に第２の操作情報の入力が行われた場合と同様に、第１の操作情報の入力が行われた後に第２の操作情報の入力が行われたことを確定するゲーム演算を行うようにしている。このように本発明では、第２の操作情報以外の操作情報である第３の操作情報が入力された場合であっても、遅延期間内に第２の操作情報が入力された場合には、第３の操作情報の入力の確定を取り消して第２の操作情報の入力を確定するため、動きセンサを用いて操作情報を特定する性質上、第２の操作情報の入力を行う前にプレーヤが意図しない第３の操作情報の入力が行われた場合であっても、その影響を抑えることができる。
【発明を実施するための最良の形態】
【００３７】
以下、本発明の実施の形態（本実施形態）について説明する。なお、以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また、本実施形態で説明される構成の全てが本発明の必須構成要件であるとは限らない。
【００３８】
１．ゲームシステムの概略
図１は、本実施形態のゲームシステムの概略外観図の一例である。
【００３９】
ゲームシステム１０は、表示画面１１にゲーム画像を表示させる表示装置１２と、ゲーム処理等を行うゲーム機１４と、プレーヤＰＬが把持して位置、姿勢、向きを任意に変更可能なコントローラ１６とを含む。なお、ゲーム機１４とコントローラ１６とは、無線通信により情報の送受信を行っているが、例えば、ゲーム機１４とコントローラ１６とを通信ケーブルで接続し、当該通信ケーブルを介して情報の送受信を行うようにしてもよい。
【００４０】
図２は、本実施形態のコントローラの概略外観図の一例である。
【００４１】
コントローラ１６は、レバー１８（アナログパッド）、サイドボタン２０などの操作子が設けられた第１のコントローラ１６−１と、十字キー２２、ボタン２４などの操作子が設けられた第２のコントローラ１６−２とを含む。
【００４２】
第１のコントローラ１６−１には、第１の加速度センサ３０−１が内蔵されており、第２のコントローラ１６−２には、第２の加速度センサ３０−２が内蔵されている。第１の加速度センサ３０−１は、第１のコントローラ１６−１自体の動きを加速度ベクトルとして検出することができ、第２の加速度センサ３０−２は、第２のコントローラ１６−２自体の動きを加速度ベクトルとして検出することができる。特に本実施形態では、第１の加速度センサ３０−１および第２の加速度センサ３０−２によって検出される加速度ベクトルを、ゲーム空間（オブジェクト空間）としての仮想３次元空間（ワールド座標系）における３軸（Ｘ軸、Ｙ軸、Ｚ軸）それぞれの加速度ベクトルとして検出することができる。
【００４３】
なおコントローラ１６は、第１のコントローラ１６−１または第２のコントローラ１６−２のいずれか一方のみであってもよい。また、第１のコントローラ１６−１または第２のコントローラ１６−２のいずれか一方のみに加速度センサを内蔵するようにしてもよい。
【００４４】
このように本実施形態では、第１のコントローラ１６−１の動きを第１の加速度センサ３０−１が検出し、第２のコントローラ１６−２の動きを第２の加速度センサ３０−２が検出するため、第１のコントローラ１６−１および第２のコントローラ１６−２の動きを操作情報として入力することできる。従って、プレーヤＰＬはゲーム上の動作に近い動作を行ってコントローラ１６を動かすような仮想現実感が高められたゲームを楽しむことができる。
【００４５】
２．ゲームシステムの機能ブロック
図３は、本実施形態のゲームシステムの機能ブロック図の一例である。なお本実施形態のゲームシステムでは、図３の構成要素（各部）を全て含む必要はなく、その一部を省略した構成としてもよい。
【００４６】
操作部１６０は、プレーヤが行った操作を操作情報として入力するためのものであり、その機能は、コントローラ、レバー、ボタン、マウス、マイク、トラックボールなどのハードウェアにより実現できる。なおコントローラには、プレーヤが把持する刀型コントローラや銃型コントローラ、あるいはプレーヤが身につける（プレーヤが手に装着する）グローブ型コントローラなど実際の道具を模して作られたコントローラも含まれる。またコントローラには、コントローラと一体化されているゲーム装置、携帯電話なども含まれる。
【００４７】
特に本実施形態の操作部１６０は、例えばコントローラ１６のように、プレーヤが把持することで位置、姿勢、向き等を任意に変更可能に構成されており、操作部１６０自体の動き、姿勢、向き等に応じて変化する情報を検出する動きセンサ１６２を内蔵する。
【００４８】
動きセンサ１６２は、操作部１６０自体の動き等に応じた加速度、角速度、速度などを検出し、検出した加速度等の値を出力するものであり、その機能は、加速度センサ（圧電型や動電式、歪みケージ式等）や姿勢方位センサやジャイロなどのハードウェアにより実現できる。
【００４９】
なお操作部１６０に、ボタン、レバー（アナログパッド）、十字キー、マイク、タッチパネル型ディスプレイなどの操作子を更に設けるようにして、種々の操作データを入力できるようにしてもよい。
【００５０】
記憶部１７０は、処理部１００や通信部１９４などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などのハードウェアにより実現できる。なお、これらの一部を省略する構成としてもよい。
【００５１】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。そして処理部１００は、この情報記憶媒体１８０に格納されるプログラム（データ）や携帯型情報記憶装置１８２から読み出されたデータなどに基づいて本実施形態の種々の処理を行う。即ち、情報記録媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。なお携帯型情報記憶装置１８２は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１８２としては、メモリカードや携帯型ゲーム装置などがある。
【００５２】
表示部１９０は、処理部１００により生成された画像を出力するものであり、その機能は、ＣＲＴディスプレイ、ＬＣＤ（液晶ディスプレイ）、ＯＥＬＤ(有機ＥＬディスプレイ)、ＰＤＰ（プラズマディスプレイパネル）、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００５３】
音出力部１９２は、処理部１００により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。
【００５４】
通信部１９４は、外部（例えばホスト装置や他のゲームシステム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００５５】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバ）が有する情報記憶媒体からネットワーク及び通信部１９４を介して情報記憶媒体１８０（記憶部１７０）に配信するようにしてもよい。このようなホスト装置（サーバ）の情報記憶媒体の使用も本発明の範囲に含まれる。
【００５６】
処理部１００（プロセッサ）は、操作部１６０からのや操作情報や情報記憶媒体１８０から記憶部１７０に展開されたプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。なお、処理部１００は記憶部１７０の主記憶部１７１をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００５７】
特に本実施形態の処理部１００は、操作情報特定部１１０、イベント発生部１１２、操作情報判定部１１４、ゲーム演算部１２０、描画部１４０、音生成部１５０を含んで構成される。なお、これらの一部を省略する構成としてもよい。
【００５８】
操作情報特定部１１０は、コントローラ１６（操作部１６０）の動きに応じて値が変化する動きセンサ１６２の出力値に基づいて、当該コントローラ１６によって入力される操作情報を特定する処理を行う。
【００５９】
具体的に説明すると、本実施形態では、動きセンサ１６２が１／２００秒（所定の周期の一例）ごとにコントローラ１６の加速度ベクトル（コントローラ１６の動き等に応じて変化する情報の一例）を検出している。即ち、動きセンサ１６２の出力値が１／２００秒ごとに更新されており、操作情報特定部１１０は、動きセンサ１６２の出力値がしきい値を超えたことを条件にコントローラ１６によって入力される操作情報を特定している。
【００６０】
なお操作情報特定部１１０は、動きセンサ１６２の出力値が一定期間しきい値を超えたことを条件にコントローラ１６によって入力される操作情報を特定するようにしてもよいし、動きセンサ１６２が検出する加速度ベクトルからコントローラ１６自体の動きの大きさ、方向、速度などを演算し、演算された値からコントローラ１６によって入力される操作情報を特定するようにしてもよい。また「操作情報」は、動きセンサ１６２の出力値だけでなく、コントローラ１６に設けられた操作子（サイドボタン２０など）から入力される情報との組合せで特定するようにしてもよい。操作子から入力される情報は、例えば１／６０秒ごとに入力されるようにしてもよい。
【００６１】
イベント発生部１１２は、所与のイベントを発生させる処理を行う。具体的には、所与のゲーム条件が成立したことに基づいてイベントを発生させたり、タイマ値が所与の値に達したことに基づいてイベントを発生させたり、プレーヤからの操作情報に基づいてイベントを発生させる処理を行う。
【００６２】
「イベント」とは、ゲーム空間（オブジェクト空間）で発生する事象のことであり、例えば、キャラクタが他のキャラクタを攻撃するイベント、キャラクタがオブジェクト（球等）を蹴るイベント、キャラクタがオブジェクトを投げるイベント等、ゲーム内容に応じて種々のイベントを用意することができる。
【００６３】
操作情報判定部１１４は、イベントに対する所定の入力期間および入力期間の経過後の所定の遅延期間のうち、少なくとも遅延期間内に特定の操作情報の入力が行われたか否かを判定する処理を行う。なお、入力期間内に特定の操作情報の入力が行われたか否かを判定する処理を行うようにしてもよい。
【００６４】
「遅延期間」は、例えばコントローラ１６によって入力される操作情報が特定されるまでの時間に対応させて設定するようにしてもよい。また、後述するゲーム演算部１２０の演算内容毎（具体的には、モーション生成、ゲームエフェクト生成、ゲーム音出力制御、ゲームパラメータの更新毎）に遅延期間を設定するようにしてもよい。
【００６５】
また操作情報判定部１１４は、第１の操作情報の入力が行われた後の所定の入力期間内に第２の操作情報の入力が行われたか否かを判定する処理を行うとともに、第３の操作情報の入力後所定の遅延期間内に第２の操作情報の入力が行われたか否かを判定する処理を行う。
【００６６】
また操作情報判定部１１４は、所与のゲーム条件に応じて遅延期間を変更し、変更された遅延期間内に特定の操作情報の入力が行われたか否かを判定する処理を行うようにしてもよい。
【００６７】
「所与のゲーム条件に応じて前記遅延期間を変更し」には、例えば、ゲーム空間（オブジェクト空間）内において、特定の条件が成立したことあるいは特定の条件が成立しなかったことに基づいて、遅延期間の長さを変更することが含まれる。「特定の条件」は、例えば、敵キャラクタを倒すこと、特定のコマンドを入力すること、アイテムを獲得すること、得点すること等、ゲーム内容に応じて種々の条件を用意することができる。
【００６８】
ゲーム演算部１２０は、ゲーム開始条件が満たされた場合にゲームを開始するゲーム演算、ゲームを進行させるゲーム演算、キャラクタ、移動体、マップなどのオブジェクトを配置するゲーム演算、オブジェクトを表示するゲーム演算、ゲーム結果を演算するゲーム演算、或いはゲーム終了条件が満たされた場合にゲームを終了するゲーム演算などを行う。
【００６９】
特に本実施形態のゲーム演算部１２０は、イベントの発生に基づいて第１のゲーム演算を行うとともに、遅延期間内に特定の操作情報の入力が行われた場合には第１のゲーム演算を中止して第２のゲーム演算を行う。なお、入力期間内に前記特定の操作情報の入力が行われた場合にも、第１のゲーム演算を中止して第２のゲーム演算を行うようにしてもよい。
【００７０】
また本実施形態のゲーム演算部１２０は、入力期間内に第２の操作情報の入力が行われた場合には第２の操作情報の入力を確定するゲーム演算を行い、入力期間内に第２の操作情報以外の操作情報である第３の操作情報の入力が行われた場合には第３の操作情報の入力を確定するゲーム演算を行い、遅延期間内に第２の操作情報の入力が行われた場合には、第３の操作情報の入力が確定していることを条件に、第３の操作情報の入力の確定を取り消して第２の操作情報の入力を確定するゲーム演算を行う。
【００７１】
そして本実施形態のゲーム演算部１２０は、表示制御部１２２、モーション生成部１２４、エフェクト生成部１２６、音制御部１２８、パラメータ更新部１３０を含んで構成される。なお、これらの一部を省略する構成としてもよい。
【００７２】
表示制御部１２２は、表示部１９０に表示される画像（オブジェクト画像）の表示制御を行う。具体的には、表示すべきオブジェクト（キャラクタ、移動体（車、飛行機など）、建物、樹木、柱、壁、マップ（地形））を発生させたり、オブジェクトの表示や表示位置を指示したり、オブジェクトを消滅させたりするなどの表示制御を行う。即ち発生したオブジェクトをオブジェクトリストに登録したり、オブジェクトリストを描画部１４０等に転送したり、消滅したオブジェクトをオブジェクトリストから削除したりするなどの表示制御を行う。
【００７３】
また表示制御部１２２は、プレーヤからの操作情報等により、プレーヤキャラクタ（プレーヤの操作対象となるキャラクタ）やオブジェクトの動作や移動が発生した場合に、発生した動作や移動の様子を示す画像を表示部１９０に表示するための制御を行う。
【００７４】
特に本実施形態のゲームシステムでは、ゲーム空間を３次元のオブジェクト空間によって設定するようになっており、表示制御部１２２は、オブジェクト空間設定処理、仮想カメラ制御処理なども行う。
【００７５】
オブジェクト空間設定処理では、キャラクタ、移動体（車、飛行機など）、建物、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００７６】
仮想カメラ制御処理では、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。
【００７７】
例えば仮想カメラによりオブジェクト（例えば、キャラクタ等）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、後述するモーション生成部１２４で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００７８】
モーション生成部１２４は、モデル（キャラクタ、車、飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部１６０によりプレーヤが入力した操作情報や、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、モデルをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００７９】
特に本実施形態のモーション生成部１２４は、第２のゲーム演算として、ゲームキャラクタの第２の一連のモーションを生成する処理を行い、第１のゲーム演算として、遅延期間の少なくとも一部を含む時間帯に生成されるモーションが第２の一連のモーションと連続性があるモーションであるゲームキャラクタの第１の一連のモーションを生成する処理を行う。なお、第１の一連のモーションおよび第２の一連のモーションのモーションデータは、モーションデータ記憶部１７２に記憶されており、モーション生成部１２４は、このモーションデータを読み出すことで、モーションの生成を実現する。
【００８０】
また本実施形態のモーション生成部１２４は、入力期間内に特定の操作情報の入力が行われなかった場合には、第１の一連のモーションと第２の一連のモーションとをブレンドすることで新たな一連のモーションを生成する処理を行い、遅延期間内に特定の操作情報の入力が行われた場合には、第１の一連のモーションに対する第２の一連のモーションの割合を時間経過とともに高めながらブレンドする処理を行い、遅延期間内に特定の操作情報の入力が行われなかった場合には、第２の一連のモーションに対する第１の一連のモーションの割合を時間経過とともに高めながらブレンドする処理を行うようにしてもよい。なお、モーションブレンドの開始時期、モーションブレンドの終了時期、およびモーションブレンドのブレンドレートは、ブレンドするモーションに応じて適宜設定することが好ましい。
【００８１】
また本実施形態のモーション生成部１２４は、入力期間内に特定の操作情報の入力が行われなかった場合には、新たな一連のモーションを生成する処理を行い、遅延期間内に特定の操作情報の入力が行われた場合には、新たな一連のモーションとして、最終的に第２の一連のモーションに遷移する一連のモーションを生成する処理を行い、遅延期間内に特定の操作情報の入力が行われなかった場合には、新たな一連のモーションとして、最終的に第１の一連のモーションに遷移する一連のモーションを生成する処理を行うようにしてもよい。なお、最終的に第１の一連のモーションに遷移する一連のモーションおよび最終的に第２の一連のモーションに遷移する一連のモーションのモーションデータは、モーションデータ記憶部１７２に記憶されており、モーション生成部１２４は、このモーションデータを読み出すことで、モーションの生成を実現する。
【００８２】
エフェクト生成部１２６は、エフェクトデータ記憶部１７３に記憶されたエフェクトデータの中からゲーム状況に応じたエフェクトデータを読み出して、ゲーム空間内の所与の位置にエフェクトを生成する処理を行う。
【００８３】
特に本実施形態のエフェクト生成部１２６は、第２のゲーム演算として、第２の一連のゲームエフェクトを生成する処理を行い、第１のゲーム演算として、遅延期間の少なくとも一部を含む時間帯に生成されるゲームエフェクトが第２の一連のゲームエフェクトと連続性があるゲームエフェクトである第１の一連のゲームエフェクトを生成する処理を行う。なお、ゲームエフェクトは、例えばパーティクルとしてモデル化することで、光、火花、軌跡、爆発、炎、水、風、煙などを表現することができる。
【００８４】
音制御部１２８は、音データ記憶部１７４に記憶された音データの中からゲーム状況に応じた音データを読み出すことで、ゲーム音の出力制御を行う。
【００８５】
特に本実施形態の音制御部１２８は、第２のゲーム演算として、第２の一連のゲーム音の出力制御を行い、第１のゲーム演算として、遅延期間の少なくとも一部を含む時間帯に出力されるゲーム音が第２の一連のゲーム音と連続性があるゲーム音である第１の一連のゲーム音の出力制御を行う。
【００８６】
パラメータ更新部１３０は、ゲームを進行させるゲーム演算およびゲーム結果を求めるゲーム演算の少なくとも一方に用いられるゲームパラメータを更新する処理を行う。なお、ゲームパラメータのパラメータデータは、パラメータデータ記憶部１７５に記憶されており、パラメータ更新部１３０は、このパラメータデータの値を加算したり減算して書き変えることで、ゲームパラメータの更新を行う。「ゲームパラメータ」は、例えば、ゲームを進行させるゲーム演算に用いられるゲームキャラクタの体力パラメータやライフパラメータ、あるいはゲーム結果を求めるゲーム演算に用いられる得点パラメータ等が含まれる。
【００８７】
特に本実施形態のパラメータ更新部１３０は、ゲームを進行させるゲーム演算およびゲーム結果を求めるゲーム演算の少なくとも一方に用いられるゲームパラメータを、入力期間の経過後所定の時間をかけて更新する処理を行う。
【００８８】
また本実施形態のパラメータ更新部１３０は、ゲームを進行させるゲーム演算およびゲーム結果を求めるゲーム演算の少なくとも一方に用いられるゲームパラメータを、遅延期間が経過した後または特定の操作情報の入力が行われた後に更新するゲーム演算を行うようにしてもよい。
【００８９】
描画部１４０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず表示物（オブジェクト、モデル）を定義する各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含む表示物データ（オブジェクトデータ、モデルデータ）が入力され、入力された表示物データに含まれる頂点データに基づいて、頂点処理が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。頂点処理では、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、表示物を構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（フラグメント処理）が行われる。ピクセル処理では、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７６（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内に設定された仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００９０】
なお描画部１４０が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００９１】
そして描画部１４０は、表示物を描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００９２】
ジオメトリ処理では、表示物に関して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）の表示物データ（表示物の頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、主記憶部１７１に保存される。
【００９３】
テクスチャマッピングは、記憶部１７０に記憶されるテクスチャ（テクセル値）を表示物にマッピングするための処理である。具体的には、表示物の頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャを表示物にマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００９４】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照する。そして参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【００９５】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。例えば、通常αブレンディングでは、α値を合成の強さとして線形補間を行うことにより２つの色を合成した色を求める処理を行う。
【００９６】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えばＲＧＢの各色成分の輝度を表す色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００９７】
音生成部１５０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００９８】
なお、本実施形態のゲームシステムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００９９】
３．本実施形態の手法
次に本実施形態の手法について説明する。以下では、刀などの武器を用いたアクションゲームに本実施形態を適用した場合を例にとり説明するが、アクションゲーム以外にも、例えば、格闘ゲーム、スポーツゲーム、音楽演奏ゲームなど種々のゲームに本実施形態を適用することができる。
【０１００】
３−１．アクションゲームの概要
図４〜図６を参照しながら本実施形態のアクションゲームの概要について説明する。図４、図５（Ｂ）、図６（Ｂ）は、本実施形態のアクションゲームのゲーム画像の一例を示す図であり、図５（Ａ）、図６（Ａ）は、本実施形態のアクションゲームで行われる操作の一例を示す図である。
【０１０１】
本実施形態のアクションゲームは、図４に示すように、プレーヤＰＬが操作するプレーヤキャラクタＰＣと敵キャラクタＥＣとが互いに武器を用いて戦う（斬り合う）ゲームである。プレーヤＰＬは表示装置１２の表示画面１１に表示されるゲーム画像を見ながらコントローラ１６を操作して、プレーヤキャラクタＰＣに攻撃や防御などの動作を行わせる。
【０１０２】
特に本実施形態では、コントローラ１６に加速度センサが内蔵されており、コントローラ１６自体の動きを操作情報として入力することもできる。従って、コントローラ１６に設けられた操作子（レバー１８、サイドボタン２０など）を操作してプレーヤキャラクタＰＣを動作させるだけでなく、コントローラ１６自体の動き（コントローラ１６を把持するプレーヤＰＬの動作）に応じた動作をプレーヤキャラクタＰＣに行わせることもできる。
【０１０３】
例えば、プレーヤＰＬが第２のコントローラ１６−２を所与の方向に振ることで、第２のコントローラ１６−２の振り方向に応じた攻撃（斬り動作等）をプレーヤキャラクタＰＣに行わせ、プレーヤＰＬが第１のコントローラ１６−１に設けられたレバー１８を操作することで、プレーヤキャラクタＰＣをゲーム空間内で移動させる。
【０１０４】
また、敵キャラクタＥＣの攻撃のタイミングに合わせて、図５（Ａ）に示すように、プレーヤＰＬがサイドボタン２０を押しながら第１のコントローラ１６−１を前方に動かすことで、図５（Ｂ）に示すように、プレーヤキャラクタＰＣに敵キャラクタＥＣの攻撃を弾き返させる。同様に、敵キャラクタＥＣの攻撃のタイミングに合わせて、図６（Ａ）に示すように、プレーヤＰＬがサイドボタン２０を押しながら第１のコントローラ１６−１を後方に動かすことで、図６（Ｂ）に示すように、プレーヤキャラクタＰＣに敵キャラクタＥＣの攻撃を受け流させる。
【０１０５】
このように本実施形態では、コントローラ１６を把持するプレーヤＰＬの動作をプレーヤキャラクタＰＣに反映させて、敵キャラクタＥＣを攻撃したり（斬りつけたり）、敵キャラクタＥＣの攻撃を防御したり（弾き返したり、受け流したり）することができる。従って、従来のアクションゲームに比べて仮想現実感が飛躍的に向上されており、あたかも、プレーヤ自身が実際に戦っているかのような感覚を味わいながらゲームを楽しむことができる。なお本実施形態のアクションゲームは、プレーヤＰＬだけでなく複数のプレーヤが参加してプレイできるようになっている。
【０１０６】
３−２．操作情報の入力遅延の影響を抑える手法
図７〜図８を参照しながら操作情報の入力遅延の影響を抑える手法について説明する。図７は、操作情報の入力遅延の原理の一例を説明するための図であり、図８（Ａ）〜図８（Ｄ）は、操作情報の入力遅延の影響を抑える手法の一例を説明するための図である。
【０１０７】
上述したように本実施形態では、コントローラ１６に加速度センサが内蔵されているため、コントローラ１６自体の動きを操作情報として入力することができる。
【０１０８】
しかし、コントローラ１６自体の動きを操作情報として入力する場合には、操作情報を特定するための加速度（しきい値）を加速度センサが検出するまでに時間がかかってしまうため、プレーヤＰＬがコントローラ１６を動かし始めるタイミング、即ちプレーヤＰＬが操作情報の入力を行ったと認識するタイミングよりも遅延して操作情報の入力が行われることになる。
【０１０９】
この点、図７を参照しながら具体的に説明する。図７のグラフは、下方向への入力を行うために第１のコントローラ１６−１を下方向に振った場合の第１の加速度センサ３０−１の出力値の遷移を表している。なお、図７のグラフの横軸ｔは時間を表し、縦軸ａは上方向（ワールド座標系におけるＹ軸方向）の加速度を表している。
【０１１０】
プレーヤＰＬが第１のコントローラ１６−１を下方向に振り始めると、下方向（ワールド座標系におけるＹ軸の反対方向）の加速度が出力される（ｔ１）。続いて、振りの途中で下方向の加速度がピークを迎えるとともに上方向（ワールド座標系におけるＹ軸方向）の加速度が出力され始める（ｔ２）。そして、しきい値ａｓを超えた後（ｔ３）、プレーヤＰＬが第１のコントローラ１６−１を下方向に振り終える（第１のコントローラ１６−１の振りを止める）と上方向の加速度がピークを迎える（ｔ４）。
【０１１１】
このように、加速度センサ３０−１の出力値がしきい値ａｓを超えるのは、プレーヤＰＬが第１のコントローラ１６−１を下方向に振り終える直前のｔ３の時点であるため、下方向への入力の特定は、プレーヤＰＬが下方向への入力を行ったと認識する時点（ｔ１の時点）よりもｔ３−ｔ１分（概ね４／６０秒）遅れて行われることになる。
【０１１２】
従って、コントローラ１６自体の動きを操作情報として入力する場合には、プレーヤＰＬが操作情報の入力を行ったと認識するタイミングよりも遅延して操作情報の入力が行われることになる。
【０１１３】
ところで本実施形態では、例えば図５（Ａ）や図６（Ａ）に示す操作のように、敵キャラクタＥＣの攻撃のタイミングに合わせて操作情報の入力を行うことを要求される場合がある。
【０１１４】
具体的に説明すると、敵キャラクタＥＣの攻撃（所与のイベントの一例）の発生に伴い、敵キャラクタＥＣがプレーヤキャラクタＰＣを斬りつける等の攻撃を開始する（第１のゲーム演算の一例）。そして、この敵キャラクタＥＣの攻撃をプレーヤキャラクタＰＣに弾き返させたり、受け流させたりする（第１のゲーム演算を中止して第２のゲーム演算を行うの一例）ためには、図８（Ａ）に示すように、敵キャラクタＥＣの攻撃が発生してから敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットするまでの間（所定の入力期間の一例、以下、入力期間ＩＴとする）に、図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報（特定の操作情報の一例）の入力を行うことを要求される。
【０１１５】
しかし、上述したような入力遅延の問題が発生すると、図８（Ｂ）に示すように、入力期間ＩＴ内に図５（Ａ）や図６（Ａ）に示す操作を開始したにも関わらず、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットした後に操作情報の入力が行われるという事態も生じうる。このため、プレーヤＰＬが入力期間ＩＴ内に図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力を行って、プレーヤキャラクタＰＣに敵キャラクタＥＣの攻撃を弾き返させたり、受け流させたりすることが困難になる。
【０１１６】
そこで本実施形態では、図８（Ｃ）に示すように、入力期間ＩＴの後に操作情報の入力遅延に対応した期間（所定の遅延期間の一例、以下、遅延期間ＤＴとする）を設け、当該遅延期間ＤＴ内に図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われた場合にも、プレーヤキャラクタＰＣに敵キャラクタＥＣの攻撃を弾き返させたり、受け流させたりすることでこの問題を解決する。
【０１１７】
このように本実施形態では、入力期間ＩＴに加え遅延期間ＤＴが設けられているため、加速度センサを用いて操作情報を特定する性質上、操作情報の入力に遅延が発生した場合であっても、操作情報の入力遅延による影響を抑えることができる。なお、遅延期間ＤＴのみを設けるようにしてもよい。
【０１１８】
特に本実施形態では、遅延期間ＤＴはコントローラ１６を動かし始めてから操作情報が入力されるまでの遅延時間（例えば、図７に示すｔ３−ｔ１）に対応させて設定している。このようにすると、図８（Ｄ）に示すように、入力期間ＩＴ内に図５（Ａ）や図６（Ａ）に示す操作を開始することができなかったにも関わらず、遅延期間ＤＴ内に操作情報の入力が行われてしまい、プレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃を弾き返したり、受け流してしまうという事態が生じることを防止することができる。
【０１１９】
なお本実施形態では、コントローラ１６を動かし始めてから操作情報が入力されるまでの遅延時間（図７に示すｔ３−ｔ１の時間）が概ね４／６０秒程度であるため、遅延期間ＤＴを４／６０秒に設定している。但し、この遅延時間は、コントローラ１６をどのように動かすか、あるいはコントローラ１６を動かすプレーヤによっても異なるため、遅延期間ＤＴは状況に応じて適宜設定することが好ましい。例えば、初期設定メニュー等において、コントローラ１６を所定の方向に振らせる動作をプレーヤＰＬに行わせ、その際の加速度センサの出力値から遅延期間ＤＴを設定するようにしてもよい。
【０１２０】
また、必ずしもこの遅延時間に対応させて遅延期間ＤＴを設定する必要はなく、難易度調整やゲーム条件など種々の目的・状況に応じて遅延期間ＤＴを設定・変更することができる。例えば、難易度を上げるために遅延期間ＤＴをこの遅延時間よりも短く設定するようにしてもよいし、難易度を下げるために遅延期間ＤＴをこの遅延時間よりも長く設定するようにしてもよい。また、特定のコマンドの入力に成功したあるいは特定のアイテムを獲得した等の特典として、遅延期間ＤＴの期間を増加させるようにしてもよいし、特定のコマンドの入力に失敗したあるいは特定のアイテムの獲得に失敗した等のペナルティとして、遅延期間ＤＴの期間を減少させるようにしてもよい。
【０１２１】
また本実施形態では、入力期間ＩＴを、敵キャラクタＥＣの攻撃が発生してから敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットするまでの期間に設定しているが、遅延期間ＤＴ同様、難易度調整やゲーム条件など種々の目的・状況に応じて入力期間ＩＴを設定・変更するようにしてもよい。
【０１２２】
また本実施形態では、敵キャラクタＥＣの攻撃は、プレーヤキャラクタＰＣにヒットするエリア内で発生していることを前提として説明している。つまり、プレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃を受け流したり弾き返したりしない場合は、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットすることになる。なお、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットしたか否かは、後述するモーションデータの値等に応じて判定することができる。
【０１２３】
３−３．モーション生成手法
図９〜図１３を参照しながら本実施形態におけるモーションの生成手法について説明する。
【０１２４】
３−３−１．モーション生成の原理
図９を参照しながらモーション生成の原理を説明する。図９は、本実施形態のモデルオブジェクトの構成の一例を説明するための図である。
【０１２５】
図９に示すモデルオブジェクトＭＯＢ（キャラクタ）は、複数のパーツオブジェクト（腰Ｐ１２、胸Ｐ１４、首Ｐ１６、頭Ｐ１８、右上腕Ｐ２０、右前腕Ｐ２２、右手Ｐ２４、左上腕Ｐ２６、左前腕Ｐ２８、左手Ｐ３０、右股Ｐ３２、右すねＰ３４、右足Ｐ３６、左股Ｐ３８、左すねＰ４０、左足Ｐ４２）から構成されている。また、モデルオブジェクトＭＯＢのスケルトンモデルは骨Ｂ０〜Ｂ１９（関節Ｊ０〜Ｊ１５）により構成されている。
【０１２６】
骨Ｂ０〜Ｂ１９は親子（階層）構造を有しており、例えば、右手Ｐ２４の骨Ｂ７の親は右前腕Ｐ２２の骨Ｂ６となり、骨Ｂ６の親は右上腕Ｐ２０の骨Ｂ５となる。左手Ｐ３０の骨Ｂ１１の親は左前腕Ｐ２８の骨Ｂ１０となり、骨Ｂ１０の親は左上腕Ｐ２６の骨Ｂ９となる。骨Ｂ５、骨Ｂ９の親は胸Ｐ１４の骨Ｂ１となり、骨Ｂ１の親は腰Ｐ１２の骨Ｂ０となる。右足Ｐ３６の骨Ｂ１５の親は右すねＰ３４の骨Ｂ１４となり、骨Ｂ１４の親は右股Ｐ３２の骨Ｂ１３となり、骨Ｂ１３の親は腰Ｐ１２の骨Ｂ１２となる。左足Ｐ４２の骨Ｂ１９の親は左すねＰ４０の骨Ｂ１８となり、骨Ｂ１８の親は左股Ｐ３８の骨Ｂ１７となり、骨Ｂ１７の親は腰Ｐ１２の骨Ｂ１６となる。なお、パーツオブジェクトや関節なども同様の親子（階層）構造を有している。
【０１２７】
これらのパーツオブジェクト（部位）の位置や回転角度（方向）は、スケルトンモデルを構成する骨Ｂ０〜Ｂ１９の位置（関節Ｊ０〜Ｊ１５の位置）や回転角度（親の骨に対する子の骨の相対的な回転角度）により特定される。なお、これらの骨、関節は仮想的なものであり、現実に表示されるオブジェクトではない。
【０１２８】
モーションデータ記憶部１７２には、これらの骨（パーツオブジェクト、関節）の位置、回転角度が、モーションデータとして記憶されている。モーションデータ記憶部１７２に記憶される骨の位置や回転角度は、親の骨の位置、回転角度に対する相対的な位置、相対的な回転角度（３軸周りの回転角度）で表される。また、骨の回転角度だけをモーションデータに含ませて、骨の位置（関節の位置）についてはモデルオブジェクトのモデルデータの中に含ませるようにしてもよい。
【０１２９】
そして、これらのモーションデータをフレーム（１／６０秒）毎に読み出すことで、モーションの生成が実現される。例えば、歩きモーションが、Ｍ０、Ｍ１、Ｍ２・・・・ＭＮという基準モーション（各フレームでのモーション）により構成されているとする。この場合、これらの各基準モーションＭ０、Ｍ１、Ｍ２・・・・ＭＮでの各骨の位置又は回転角度を、モーションデータとして予め記憶しておく。そして、最初のフレームで基準モーションＭ０の各パーツオブジェクトの位置、回転角度を読み出し、次のフレームで基準モーションＭ１の各パーツオブジェクトの位置、回転角度を読み出すというように、基準モーションのモーションデータをフレーム毎に順次読み出すことで、歩きモーションの生成が実現される。
【０１３０】
３−３−２．中間モーション
図１０を参照しながら本実施形態で採用している中間モーションについて説明する。図１０（Ａ）〜図１０（Ｂ）は、本実施形態で生成されるモーションの一例を示す図である。
【０１３１】
本実施形態では、敵キャラクタＥＣの攻撃に伴い、例えば図１０（Ｂ）に示すような、プレーヤキャラクタＰＣのやられモーションＫＭ（第１の一連のモーションの一例）や敵キャラクタＥＣがプレーヤキャラクタＰＣを斬りつけるモーション（図示省略）が生成される。また、プレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃を弾き返す場合には、図１０（Ａ）に示すような、プレーヤキャラクタＰＣの弾き返しモーションＨＭ（第２の一連のモーションの一例）や敵キャラクタＥＣが攻撃を弾き返されるモーション（図示省略）が生成され、プレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃を受け流す場合には、プレーヤキャラクタＰＣの受け流しモーション（第２の一連のモーションの一例、図示省略）や敵キャラクタＥＣが攻撃を受け流されるモーション（図示省略）が生成される。
【０１３２】
上述したように本実施形態では、操作情報の入力遅延の問題を解決するため、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットした後であっても、遅延期間ＤＴ内に図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われれば、プレーヤキャラクタＰＣに敵キャラクタＥＣの攻撃を弾き返させたり、受け流させたりする。
【０１３３】
そこで本実施形態では、プレーヤキャラクタＰＣのやられモーションＫＭのうちの遅延期間ＤＴに生成されるモーションを、プレーヤキャラクタＰＣの弾き返しモーションＨＭあるいはプレーヤキャラクタＰＣの受け流しモーションと連続性があるモーションとすることで、遅延期間ＤＴ内におけるモーションの切り替えを目立たなくしている。なお以下では、弾き返しモーションＨＭを例にとり説明するが、当該説明の内容は受け流しモーションについても適用することができる。
【０１３４】
図１０（Ａ）に示すように、プレーヤキャラクタＰＣの弾き返しモーションＨＭは、ＨＭ０、ＨＭ１、ＨＭ２・・・・ＨＭｊという基準モーション（各フレームでのモーション）により構成されており、これらの各基準モーションのモーションデータはモーションデータ記憶部１７２に記憶されている。そして、図５（Ａ）に示す操作による操作情報の入力に伴い、基準モーションのモーションデータをフレーム毎に順次読み出すことで、弾き返しモーションＨＭを生成する。なお図１０（Ａ）では、図５（Ａ）に示す操作に伴う操作情報の入力は、遅延期間ＤＴ内のＴ２のタイミングで行われたものとする。
【０１３５】
また図１０（Ｂ）に示すように、プレーヤキャラクタＰＣのやられモーションＫＭは、・・・・ＫＭｈ、ＫＭ（ｈ＋１）、ＫＭ（ｈ＋２）・・・・ＫＭｉという基準モーション（各フレームでのモーション）により構成されており、これらの各基準モーションのモーションデータはモーションデータ記憶部１７２に記憶されている。そして、敵キャラクタＥＣの攻撃が発生に伴い、基準モーションのモーションデータをフレーム毎に順次読み出すことで、やられモーションＫＭを生成する。なお、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットした以降のモーション（ＫＭｈ以降のモーション）を、プレーヤキャラクタＰＣのやられモーションＫＭとして生成し、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットするまでのモーション（ＫＭｈ以前のモーション）を、別のモーションとして生成するようにしてもよい。
【０１３６】
特に本実施形態では、基準モーションＫＭ（ｈ＋１）〜基準モーションＫＭ（ｈ＋４）を用いて、遅延期間ＤＴ内にプレーヤキャラクタＰＣを沈ませるモーションを生成した後に、基準モーションＫＭ（ｈ＋５）〜基準モーションＫＭｉを用いて、プレーヤキャラクタＰＣを後ろに飛ばすモーションを生成している。つまり、プレーヤキャラクタＰＣのやられモーションＫＭは、敵キャラクタＥＣの攻撃を受けてプレーヤキャラクタＰＣが沈んだ後に後ろに飛ばされるという連続性のあるモーションになっている。
【０１３７】
このように本実施形態では、プレーヤキャラクタＰＣのやられモーションＫＭについては、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットした時点（Ｔ０の時点）から、プレーヤキャラクタＰＣを後ろに飛ばすモーションを生成するのではなく、中間モーションとして、遅延期間ＤＴ内にプレーヤキャラクタＰＣを沈ませるモーションを生成した後に、プレーヤキャラクタＰＣを後ろに飛ばすモーションを生成している。
【０１３８】
従って、遅延期間ＤＴ内にやられモーションＫＭの生成をキャンセルして弾き返しモーションＨＭを生成するようにしても、プレーヤキャラクタＰＣが後ろに飛んだ後に敵キャラクタＥＣの攻撃を弾き返すという連続性のない不自然なモーションではなく、プレーヤキャラクタＰＣが沈んだ反動を利用しながら敵キャラクタＥＣの攻撃を弾き返すという連続性のある自然なモーションを生成することができ、モーションの切り替えも目立たなくすることができる。
【０１３９】
例えば、図１０（Ａ）、図１０（Ｂ）に示すＴ２のタイミングで図５（Ａ）に示す操作に伴う操作情報の入力が行われた場合には、基準モーションＫＭｈ、基準モーションＫＭ（ｈ＋１）が生成された後に基準モーションＨＭ０〜基準モーションＨＭＮが生成されることになる。しかし、基準モーションＫＭ（ｈ＋１）と基準モーションＨＭ０とは連続性のあるモーションであるため、基準モーションＫＭ（ｈ＋１）を生成した後に基準モーションＫＭ（ｈ＋２）ではなく基準モーションＨＭ０を生成したとしても、連続性のある自然なモーションを生成することができ、モーションの切り替えも目立たなくすることができる。
【０１４０】
なお、遅延期間ＤＴ内に生成される基準モーションＫＭ（ｈ＋１）〜基準モーションＫＭ（ｈ＋４）はいずれもプレーヤキャラクタＰＣを沈ませる過程のモーションであり、基準モーションＨＭ０と連続性のあるモーションとなっている。また基準モーションＨＭ０は、遅延期間ＤＴ内に生成される基準モーションだけでなく、入力期間ＩＴ内に生成される基準モーションとも当然連続性のあるモーションとなっている。
【０１４１】
また「連続性のあるモーション」とは、例えば、互いの基準モーションのモーションデータの値（少なくとも一部の値）が同一であったり、あるいは互いの基準モーションのモーションデータの値（少なくとも一部の値）が所定の範囲内に納まるようなものであればよい。要は、モーションを切り替えた際にプレーヤに違和感を与えない程度のものであればよく、例えば、基準モーションの姿勢（例えば、しゃがむ、斬る、歩く等）が互いに似ていれば（基準モーションが同種のモーションであれば）連続性のあるモーションに含まれる。なお、連続性の有無をゲーム状況に矛盾するか否かで判別するようにし、ゲーム状況に矛盾して変化する基準モーションは連続性がないとするようにしてもよい。
【０１４２】
また本実施形態では、やられモーションＫＭ（広義には、第１の一連のモーション）のみに中間モーションを用意しているが、弾き返しモーションＨＭや受け流しモーション（広義には、第２の一連のモーション）にも中間モーションを用意するようにしてもよい。例えば、弾き返しモーションＨＭにプレーヤキャラクタＰＣを沈ませるという中間モーションを用意し、プレーヤキャラクタＰＣが沈んだ後に敵キャラクタＥＣの攻撃を弾き返すという弾き返しモーションＨＭを生成するようにすれば、入力期間ＩＴ内に図５（Ａ）に示す操作に伴う操作情報の入力が行われた場合にも、プレーヤキャラクタＰＣが沈んだ後に敵キャラクタＥＣの攻撃を弾き返すというモーションを生成することができる。
【０１４３】
３−３−３．モーションブレンド
図１１〜図１２を参照しながらモーションブレンドの原理について説明する。
【０１４４】
図１１は、複数のモーションをブレンドすることで生成されるモーションの一例を示す図であり、図１２は、ブレンドレートの一例を説明するための図である。
【０１４５】
モーションＡは、ＡＭ１、ＡＭ２、ＡＭ３・・・・ＡＭ９という基準モーションのモーションデータをフレーム毎に順次読み出すことで生成されるキャラクタの動作を表している。モーションＢは、ＢＭ１、ＢＭ２、ＢＭ３・・・・ＢＭ９という基準モーションのモーションデータをフレーム毎に順次読み出すことで生成されるキャラクタの動作を表している。
【０１４６】
モーションＡとモーションＢとは連続性を有しないモーションであるため、モーションＡとモーションＢとを連続して生成しても（例えば、基準モーションＡＭ９を読み出した後に基準モーションＢＭ１を読み出しても）、モーションＡとモーションＢとは滑らかにつながらない。
【０１４７】
そこで、モーションＡの基準モーションとモーションＢの基準モーションとをブレンドした繋ぎモーションＣ（基準モーションＣＭ１〜基準モーションＣＭ５）を生成し、当該繋ぎモーションＣを用いてモーションＡとモーションＢとを滑らかに繋げる。
【０１４８】
基準モーションＣＭ１は、基準モーションＡＭ５と基準モーションＢＭ１とをブレンドレート１でブレンドして生成されたモーションである。基準モーションＣＭ２は、基準モーションＡＭ６と基準モーションＢＭ２とをブレンドレート２でブレンドして生成されたモーションである。基準モーションＣＭ３は、基準モーションＡＭ７と基準モーションＢＭ３とをブレンドレート３でブレンドして生成されたモーションである。基準モーションＣＭ４は、基準モーションＡＭ８と基準モーションＢＭ４とをブレンドレート４でブレンドして生成されたモーションである。基準モーションＣＭ５は、基準モーションＡＭ９と基準モーションＢＭ５とをブレンドレート５でブレンドして生成されたモーションである。なお、補間レートはフレームが進行するにつれて、モーションＡの比率が減少するようになっている。
【０１４９】
この点、図１２を参照しながら具体的に説明する。
【０１５０】
αは、各フレームにおけるモーションＡをブレンドする割合を示し、βは、各フレームにおけるモーションＢをブレンドする割合を示している。ここでは、α＋β＝１の関係を有するものとして説明するが、これに限定されるものではない。なお、縦軸Ｒは補間レートを表し、横軸Ｔは時間（フレーム）を表す。
【０１５１】
第１の区間は、モーションＡのみが生成される区間（基準モーションＡＭ１〜基準モーションＡＭ４が生成される区間）である。
【０１５２】
第１の区間に続く繋ぎ区間は、モーションＡとモーションＢとがブレンドされてモーションＣが生成される区間（基準モーションＣＭ１〜基準モーションＣＭ５が生成される区間）である。この区間では、モーションＡとモーションＢとが各フレームに対応したα：βのブレンドレートで補間される。
【０１５３】
例えばあるパーツのモーションＡの位置データを（ｔｘａ，ｔｙａ，ｔｚａ）、回転データを（ｒｘａ，ｒｙａ，ｒｚａ）として、対応するフレームのモーションＢの位置データを（ｔｘｂ，ｔｙｂ，ｔｚｂ）、回転データを（ｒｘｂ，ｒｙｂ，ｒｚｂ）とする。このとき、モーションＡとモーションＢの補間により生成される繋ぎモーションの位置データ（ｔｘｃ，ｔｙｃ，ｔｚｃ）、回転データ（ｒｘｃ，ｒｙｃ，ｒｚｃ）は、次の式のようになる。
ｔｘｃ＝α×ｔｘａ＋（１−α）×ｔｘｂ
ｔｙｃ＝α×ｔｙａ＋（１−α）×ｔｙｂ
ｔｚｃ＝α×ｔｚａ＋（１−α）×ｔｚｂ
ｒｘｃ＝α×ｒｘａ＋（１−α）×ｒｘｂ
ｒｙｃ＝α×ｒｙａ＋（１−α）×ｒｙｂ
ｒｚｃ＝α×ｒｚａ＋（１−α）×ｒｚｂ
【０１５４】
なお、図１１に示す基準モーションＣＭ１〜基準モーションＣＭ５の生成に適用した補間レート１〜補間レート５は、図１２におけるＴ１１〜Ｔ１５のαの値を採用している。
【０１５５】
繋ぎ区間に続く第２の区間は、モーションＢのみが生成される区間（基準モーションＢＭ６〜基準モーションＢＭ９が生成される区間）である。
【０１５６】
以上のように、第１の区間では基準モーションＡＭ１〜基準モーションＡＭ４が生成され、繋ぎ区間では基準モーションＣＭ１〜基準モーションＣＭ５が生成され、第２の区間では基準モーションＢＭ６〜基準モーションＢＭ９が生成される。このため、モーションＡとモーションＢとは滑らかに繋がり、違和感のない自然なモーションを生成することができる。
【０１５７】
このように、モーションＡとモーションＢの両方の時間を進めながら、互いのモーションの割合を徐々に変化させていくことで、滑らかにモーションＡとモーションＢとを繋ぐことができ、違和感のない自然なモーションを生成することができる。
【０１５８】
次に、図１３を参照しながら本実施形態にモーションブレンドを採用した場合の手法について説明する。図１３（Ａ）〜図１３（Ｂ）は、モーションブレンドで生成されるモーションの一例を示す図である。
【０１５９】
本実施形態では、プレーヤキャラクタＰＣのやられモーションＫＭの中で中間モーションを生成するだけでなく、プレーヤキャラクタＰＣのやられモーションＫＭとプレーヤキャラクタＰＣの弾き返しモーションＨＭあるいはプレーヤキャラクタＰＣの受け流しモーションとをブレンドしてモーションを生成するようにしてもよい。なお以下では、弾き返しモーションＨＭを例にとり説明するが、当該説明の内容は受け流しモーションについても適用することができる。
【０１６０】
図１３（Ａ）は、時間経過とともにプレーヤキャラクタＰＣの弾き返しモーションＨＭの割合を高めながら、プレーヤキャラクタＰＣのやられモーションＫＭとプレーヤキャラクタＰＣの弾き返しモーションＨＭとをブレンドして生成したモーションの一例を示す図である。なお図１３（Ａ）では、図５（Ａ）に示す操作に伴う操作情報の入力は、遅延期間ＤＴ内のＴ２のタイミングで行われたものとする。
【０１６１】
本実施形態では、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットした後であっても、遅延期間ＤＴ内に図５（Ａ）に示す操作に伴う操作情報の入力が行われるかあるいは遅延期間ＤＴが経過するまで、プレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃を弾き返すかあるいは敵キャラクタＥＣの攻撃をプレーヤキャラクタＰＣがそのまま受けるのか確定しない。
【０１６２】
このため図１３（Ａ）では、Ｔ０の時点（敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットした時点）から、図５（Ａ）に示す操作に伴う操作情報の入力が行われるＴ２の前のＴ１の時点（プレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃を弾き返すことが確定する前の時点）まで、やられモーションＫＭと弾き返しモーションＨＭとを同じ割合でブレンドしている。そして、Ｔ２のタイミングで図５（Ａ）に示す操作に伴う操作情報の入力が行われると、時間経過とともに弾き返しモーションＨＭの割合を高めながら、やられモーションＫＭと弾き返しモーションＨＭとをブレンドする。
【０１６３】
また、図１３（Ｂ）は、時間経過とともにプレーヤキャラクタＰＣのやられモーションＫＭの割合を高めながら、プレーヤキャラクタＰＣのやられモーションＫＭとプレーヤキャラクタＰＣの弾き返しモーションＨＭとをブレンドして生成したモーションの一例を示す図である。なお図１３（Ｂ）では、図５（Ａ）に示す操作に伴う操作情報の入力は、遅延期間ＤＴ内に行われなかったものとする。
【０１６４】
上述した理由により、図１３（Ｂ）でも、Ｔ０の時点（敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットした時点）から、遅延期間ＤＴが経過する前のＴ３の時点まで（敵キャラクタＥＣの攻撃をプレーヤキャラクタＰＣがそのまま受けることが確定する前の時点）まで、やられモーションＫＭと弾き返しモーションＨＭとを同じ割合でブレンドしている。そして、Ｔ４のタイミングで図５（Ａ）に示す操作に伴う操作情報の入力が行われないことが確定すると、時間経過とともにやられモーションＫＭの割合を高めながら、やられモーションＫＭと弾き返しモーションＨＭとをブレンドする。
【０１６５】
このように本実施形態では、プレーヤキャラクタＰＣのやられモーションＫＭとプレーヤキャラクタＰＣの弾き返しモーションＨＭの両方の時間を進めながら、互いのモーションの割合を徐々に変化させてブレンドしていくことで、モーションの切り替えを行う場合であっても、互いのモーションを滑らかに繋ぐことができる。
【０１６６】
なお本実施形態では、遅延期間ＤＴが開始するタイミングからモーションのブレンドを開始するようにしたが、開始時期はブレンドするモーションに応じて適宜設定することが好ましい。また、ブレンドレート、ブレンドの終了時期などについても同様である。例えば本実施形態では、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットした時点からモーションブレンドを開始しているが、遅延期間ＤＴ内に図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われたことを条件にモーションブレンドを開始するようにしてもよい。つまり、やられモーションＫＭから弾き返しモーションＨＭに遷移する場合のみ、モーションブレンドを行うようにしてもよい。また、必ずしも中間モーションとモーションブレンドを併用する必要はなく、どちらか一方の手法のみを採用するようにしてもよい。また、モーションブレンドによって生成されるモーションと同一のモーションのモーションデータを、予めモーションデータ記憶部１７２に記憶しておき、これらのモーションを適宜生成するようにしてもよい。
【０１６７】
３−４．ゲームエフェクト生成手法
図１４を参照しながら本実施形態におけるゲームエフェクトの生成手法について説明する。図１４（Ａ）〜図１４（Ｂ）は、本実施形態で生成されるゲームエフェクトの一例を示す図である。
【０１６８】
本実施形態では、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットすると、例えば図１４（Ｂ）に示すような、ヒットエフェクトＫＥ（第１の一連のゲームエフェクトの一例）が生成される。また例えば、プレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃を弾き返す場合には、図１４（Ａ）に示すような、弾き返しエフェクトＨＥ（第２の一連のゲームエフェクトの一例）が生成され、プレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃を受け流す場合には、受け流しエフェクト（第２の一連のゲームエフェクトの一例）が生成される（図示省略）。
【０１６９】
上述したように本実施形態では、操作情報の入力遅延の問題を解決するため、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットした後であっても、遅延期間ＤＴ内に図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われれば、プレーヤキャラクタＰＣに敵キャラクタＥＣの攻撃を弾き返させたり、受け流させたりする。
【０１７０】
そこで本実施形態では、ヒットエフェクトＫＥのうちの遅延期間ＤＴに生成されるエフェクトを、弾き返しエフェクトＨＥあるいは受け流しエフェクトと連続性があるエフェクトとすることで、遅延期間ＤＴ内におけるエフェクトの切り替えを目立たなくしている。なお以下では、弾き返しエフェクトＨＦを例にとり説明するが、当該説明の内容は受け流しエフェクトについても適用することができる。
【０１７１】
弾き返しエフェクトＨＥのエフェクトデータはエフェクトデータ記憶部１７３に記憶されている。そして、図５（Ａ）に示す操作による操作情報の入力に伴い、弾き返しエフェクトＨＥのエフェクトデータを読み出すことで、図１４（Ａ）に示すような、プレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃を弾き返した際に生じる火花を示す弾き返しエフェクトＨＥを生成する。なお図１４（Ａ）では、図５（Ａ）に示す操作に伴う操作情報の入力は、遅延期間ＤＴ内のＴ２のタイミングで行われたものとする。
【０１７２】
また図１４（Ｂ）に示すように、ヒットエフェクトＫＥは、ヒットエフェクトＫＥ１、ヒットエフェクトＫＥ２により構成されており、これらのヒットエフェクトのエフェクトデータはエフェクトデータ記憶部１７３に記憶されている。そして、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットするとヒットエフェクトＫＥ１のエフェクトデータを読み出し（Ｔ０〜Ｔ４）、遅延期間ＤＴが経過するとヒットエフェクトＫＥ２のエフェクトデータを読み出す（Ｔ４〜）というように、ヒットエフェクトＫＥのエフェクトデータを順次読み出すことで、ヒットエフェクトＫＥを生成する。
【０１７３】
特に本実施形態では、ヒットエフェクトＫＥ１を用いて、遅延期間ＤＴ内に細かい光を示すエフェクトを生成した後に、ヒットエフェクトＫＥ２を用いて、プレーヤキャラクタＰＣが敵キャラクタＥＣに斬られた軌跡を示すエフェクトを生成している。つまり、ヒットエフェクトＫＥは、細かい光が時間経過とともに斬られた軌跡に変化する連続性のあるエフェクトになっている。
【０１７４】
このように本実施形態では、ヒットエフェクトＫＥについては、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットした時点（Ｔ０の時点）から、プレーヤキャラクタＰＣが敵キャラクタＥＣに斬られた軌跡を示すエフェクトを生成するのではなく、中間エフェクトとして、細かい光を示すエフェクトを生成した後に、プレーヤキャラクタＰＣが敵キャラクタＥＣに斬られた軌跡を示すエフェクトを生成している。
【０１７５】
このため、遅延期間ＤＴ内にヒットエフェクトＫＥの生成をキャンセルして弾き返しエフェクトＨＥを生成するようにしても、プレーヤキャラクタＰＣが敵キャラクタＥＣに斬られた軌跡が、プレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃を弾き返した際に生じる火花に変化するという連続性のない不自然なエフェクトではなく、細かい光が時間経過とともに火花に変化するという連続性のある自然なエフェクトを生成することができ、エフェクトの切り替えも目立たなくすることができる。
【０１７６】
例えば、図１４（Ａ）、図１４（Ｂ）に示すＴ２のタイミングで図５（Ａ）に示す操作に伴う操作情報の入力が行われた場合には、ヒットエフェクトＫＥ１がＴ０〜Ｔ２の間生成され、その後、弾き返しエフェクトＨＥが生成されることになる。しかし、ヒットエフェクトＫＥ１と弾き返しエフェクトＨＥとは連続性のあるエフェクトであるため、ヒットエフェクトＫＥ１を生成した後にヒットエフェクトＫＥ２ではなく弾き返しエフェクトＨＥを生成したとしても、連続性のある自然なエフェクトを生成することができ、エフェクトの切り替えも目立たなくすることができる。
【０１７７】
なお、入力期間ＩＴ内に図５（Ａ）に示す操作に伴う操作情報の入力が行われた場合には、弾き返しエフェクトＨＥのみが生成されることになる。
【０１７８】
また「連続性のあるエフェクト」とは、エフェクトを切り替えた際にプレーヤに違和感を与えない程度のものであればよく、例えば、エフェクト（例えば、光、火花、刀の軌跡、水、火、風等）の内容が互いに似ていれば（エフェクトが同種のエフェクトであれば）連続性のあるエフェクトとするようにしてもよい。また、エフェクトに親子（階層）構造を設定し、親子構造を有するエフェクト（例えば、光（子）と火花（親）、光（子）と刀の軌跡（親）など）は互いに連続性のあるエフェクトとするようにしてもよい。また、生成するエフェクトの大きさを変更することで連続性のあるエフェクトとするようにしてもよい。なお、連続性の有無をゲーム状況に矛盾するか否かで判別するようにし、ゲーム状況に矛盾して変化するエフェクトは連続性がないとするようにしてもよい。
【０１７９】
また本実施形態では、ヒットエフェクトＫＥ（広義には、第１の一連のエフェクト）のみに中間エフェクトを用意しているが、弾き返しエフェクトＨＥや受け流しエフェクト（広義には、第２の一連のエフェクト）にも中間エフェクトを用意するようにしてもよい。例えば、弾き返しエフェクトＨＥに細かい光を示す中間エフェクトを用意し、細かい光が時間経過とともに火花に変化するという弾き返しエフェクトＨＥを生成するようにすれば、入力期間ＩＴ内に図５（Ａ）に示す操作に伴う操作情報の入力が行われた場合にも、細かい光が時間経過とともに火花に変化するという弾き返しエフェクトを生成することができる。
【０１８０】
また、ヒットエフェクトＫＥから弾き返しエフェクトＨＥへの切り替えを、図５（Ａ）に示す操作に伴う操作情報の入力が行われてから一定時間（例えば、１０／６０秒程度）かけて行うようにしてもよい。例えば、遅延期間ＤＴ内に図５（Ａ）に示す操作に伴う操作情報の入力が行われ場合に、ヒットエフェクトＫＥを徐々に消去（フェードアウト）するとともに、弾き返しエフェクトＨＥを徐々に生成（フェードイン）する（互いのゲームエフェクトの割合を徐々に変化させてブレンドする）ようすれば、互いのゲームエフェクトを滑らかに繋ぐことができる。なお、ヒットエフェクトＫＥをフェードアウトさせた後に弾き返しエフェクトＨＥをフェードインさせるようにしてもよい。
【０１８１】
３−５．ゲーム音出力手法
図１５を参照しながら本実施形態におけるゲーム音の出力手法について説明する。図１５は、本実施形態で出力されるゲーム音の一例を示す図である。
【０１８２】
本実施形態では、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットすると、例えば図１５（Ｂ）に示すような、ヒット音ＫＯ（第１の一連のゲーム音の一例）が効果音として出力される。また例えば、プレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃を弾き返す場合には、図１５（Ａ）に示すような、弾き返し音ＨＯ（第２の一連のゲーム音の一例）が効果音として出力され、プレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃を受け流す場合には、受け流し音（第２の一連のゲーム音の一例）が効果音として出力される（図示省略）。
【０１８３】
上述したように本実施形態では、操作情報の入力遅延の問題を解決するため、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットした後であっても、遅延期間ＤＴ内に図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われれば、プレーヤキャラクタＰＣに敵キャラクタＥＣの攻撃を弾き返させたり、受け流させたりする。
【０１８４】
そこで本実施形態では、ヒット音ＫＯのうちの遅延期間ＤＴに出力される効果音を、弾き返し音ＨＯあるいは受け流し音と連続性がある効果音とすることで、遅延期間ＤＴ内における効果音の切り替えを目立たなくしている。なお以下では、弾き返し音ＨＯを例にとり説明するが、当該説明の内容は受け流し音についても適用することができる。
【０１８５】
弾き返し音ＨＯの音データは音データ記憶部１７４に記憶されている。そして、図５（Ａ）に示す操作に伴う操作情報の入力に伴い、弾き返し音ＨＯの音データを読み出すことで、図１４（Ａ）に示すような、「キーン」というプレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃を弾き返す効果音を出力する。なお図１５（Ａ）では、図５（Ａ）に示す操作に伴う操作情報の入力は、遅延期間ＤＴ内のＴ２のタイミングで行われたものとする。
【０１８６】
また、図１５（Ｂ）に示すように、ヒット音ＫＯは、ヒット音ＫＯ１、ヒット音ＫＯ２により構成されており、これらのヒット音の音データは音データ記憶部１７４に記憶されている。そして、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットするとヒット音ＫＯ１の音データを読み出し（Ｔ０〜Ｔ４）、遅延期間ＤＴが経過するとヒット音ＫＯ２の音データを読み出す（Ｔ４〜）というように、ヒット音ＫＯの音データを順次読み出すことで、ヒット音ＫＯを出力する。
【０１８７】
特に本実施形態では、ヒット音ＫＯ１を用いて、遅延期間ＤＴ内に「ガスッ」という効果音を出力した後に、ヒット音ＫＯ２を用いて、「ブシュッ」というプレーヤキャラクタＰＣが敵キャラクタＥＣに斬られる効果音を出力している。つまり、ヒット音ＫＯは、「ガスッ」という効果音が時間経過とともに「ブシュッ」という効果音に変化する斬りごたえ感を表した（敵キャラクタＥＣの攻撃がヒットした後に更に斬られることを表した）連続性のある２段階の効果音になっている。
【０１８８】
このように本実施形態では、ヒット音ＫＯについては、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットした時点（Ｔ０の時点）から、プレーヤキャラクタＰＣが敵キャラクタＥＣに斬られた効果音「ブシュッ」を出力するのではなく、中間効果音として、「ガスッ」という効果音を出力した後に、プレーヤキャラクタＰＣが敵キャラクタＥＣに斬られる効果音「ブシュッ」を出力している。
【０１８９】
このため、遅延期間ＤＴ内にヒット音ＫＯ１の出力をキャンセルして弾き返し音ＨＯを出力するようにしても、「ブシュッ」というプレーヤキャラクタＰＣが敵キャラクタＥＣに斬られる効果音が、「キーン」というプレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃を弾き返す効果音に変化するという連続性のない不自然な効果音ではなく、「ガスッ」という効果音が時間経過とともに「キーン」という効果音に変化する弾き返し感を表した（敵キャラクタＥＣの攻撃を受け止めた後に弾き返すことを表した）連続性のある２段階の効果音を出力することができ、効果音の切り替えも目立たなくすることができる。
【０１９０】
例えば、図１５（Ａ）、図１５（Ｂ）に示すＴ２のタイミングで図５（Ａ）に示す操作に伴う操作情報の入力が行われた場合には、ヒット音ＫＯ１がＴ０〜Ｔ２の間出力され、その後、弾き返し音ＨＯが出力されることになる。しかし、ヒット音ＫＯ１と弾き返し音ＨＯとは連続性のある効果音であるため、ヒット音ＫＯ１を出力した後にヒット音ＫＯ２ではなく弾き返し音ＨＯを出力したとしても、連続性のある２段階の効果音を出力することができ、効果音の切り替えも目立たなくすることができる。
【０１９１】
なお、入力期間ＩＴ内に図５（Ａ）に示す操作に伴う操作情報の入力が行われた場合には、弾き返し音ＨＯのみが出力されることになる。
【０１９２】
また「連続性のあるゲーム音」とは、ゲーム音を切り替えた際にプレーヤに違和感を与えない程度のものであればよく、例えば、ゲーム音（例えば、斬られ音、弾き音等）の内容（音程や音色など）が互いに似ていれば（ゲーム音が同種のゲーム音であれば）連続性のある効果音とするようにしてもよい。また、ゲーム音に親子（階層）構造を設定し、親子構造を有するゲーム音は互いに連続性のあるゲーム音とするようにしてもよい。また、出力するゲーム音の大きさを変更することで連続性のあるゲーム音とするようにしてもよい。なお、連続性の有無をゲーム状況に矛盾するか否かで判別するようにし、ゲーム状況に矛盾して変化するゲーム音は連続性がないとするようにしてもよい。
【０１９３】
また本実施形態では、ヒット音ＫＯ（広義には、第１の一連のゲーム音）のみに中間音を用意しているが、弾き返し音ＨＯや受け流し音（広義には、第２の一連のゲーム音）にも中間音を用意するようにしてもよい。例えば、弾き返し音ＨＯに「ガスッ」という中間音を用意し、「ガスッ」という効果音が時間経過とともに「キーン」という効果音に変化するという弾き返し音ＨＯを出力するようにすれば、入力期間ＩＴ内に図５（Ａ）に示す操作に伴う操作情報の入力が行われた場合にも、「ガスッ」という効果音が時間経過とともに「キーン」という効果音に変化するという弾き返し音を出力することができる。
【０１９４】
また、ヒット音ＫＯから弾き返し音ＨＯへの切り替えを、図５（Ａ）に示す操作に伴う操作情報の入力が行われてから一定時間（例えば、１０／６０秒程度）かけて行うようにしてもよい。例えば、遅延期間ＤＴ内に図５（Ａ）に示す操作に伴う操作情報の入力が行われ場合に、ヒット音ＫＯの音量を徐々に小さくしながら出力（フェードアウト）するとともに、弾き返し音ＨＯの音量を徐々に大きくしながら出力（フェードイン）する（互いの効果音の割合を徐々に変化させてブレンドする）ようすれば、互いの効果音を滑らかに繋ぐことができる。なお、ヒット音ＫＯをフェードアウトさせた後に弾き返し音ＨＯをフェードインさせるようにしてもよい。
【０１９５】
３−６．ゲームパラメータ更新手法
以下、図１６を参照しながら本実施形態で採用しているゲームパラメータの更新手法について説明する。図１６（Ａ）〜図１６（Ｅ）は、本実施形態のゲームパラメータの更新手法の一例を示す図である。
【０１９６】
本実施形態のアクションゲームでは、プレーヤキャラクタＰＣと敵キャラクタＥＣとに体力パラメータ（ゲームパラメータの一例）が設定されており、プレーヤキャラクタＰＣの攻撃が敵キャラクタＥＣにヒットすると敵キャラクタＥＣの体力パラメータが減少し、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットするとプレーヤキャラクタＰＣの体力パラメータが減少する。そして、プレーヤキャラクタＰＣの体力パラメータが０（所定の値の一例）になるとプレーヤの負けが確定し、ゲームが終了する。
【０１９７】
ところで本実施形態では、上述したように、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットした後であっても、遅延期間ＤＴが経過するかあるいは遅延期間ＤＴ内に図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われるまで、プレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃をそのまま受けるのかあるいはプレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃を弾き返したり受け返したりするのかが確定しない。
【０１９８】
そこで本実施形態では、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットした時点でプレーヤキャラクタＰＣの体力パラメータを更新するのではなく、プレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃をそのまま受けるのかあるいはプレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃を弾き返したり受け返したりするのかが確定するまでの時間（所定の時間の一例）をかけて、プレーヤキャラクタＰＣの体力パラメータを減少させるパラメータ更新を行う。
【０１９９】
図１６（Ａ）は、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットする時点（Ｔ０の時点）までに、図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われなかった場合のプレーヤキャラクタＰＣの体力パラメータの一例を示す図である。この場合には、ＰＡ０−ＰＡ１の更新量でプレーヤキャラクタＰＣの体力パラメータを減少させるパラメータ更新が行われるため、プレーヤキャラクタＰＣの残りの体力パラメータはＰＡ１となっている。なお、パラメータ更新が行われる前のプレーヤキャラクタＰＣの体力パラメータはＰＡ０である。
【０２００】
図１６（Ｂ）は、Ｔ０の時点から１フレーム経過したＴ１の時点までに、図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われなかった場合のプレーヤキャラクタＰＣの体力パラメータの一例を示す図である。この場合には、ＰＡ１−ＰＡ２の更新量でプレーヤキャラクタＰＣの体力パラメータを減少させるパラメータ更新が行われるため、プレーヤキャラクタＰＣの残りの体力パラメータはＰＡ２となっている。なお、Ｔ１の時点での更新量ＰＡ１−ＰＡ２は、Ｔ０の時点での更新量ＰＡ０−ＰＡ１よりも値が大きくなっている。
【０２０１】
図１６（Ｃ）は、Ｔ１の時点から１フレーム経過したＴ２の時点までに、図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われなかった場合のプレーヤキャラクタＰＣの体力パラメータの一例を示す図である。この場合には、ＰＡ２−ＰＡ３の更新量でプレーヤキャラクタＰＣの体力パラメータを減少させるパラメータ更新が行われるため、プレーヤキャラクタＰＣの残りの体力パラメータはＰＡ３となっている。なお、Ｔ２の時点での更新量ＰＡ２−ＰＡ３は、Ｔ１の時点での更新量ＰＡ１−ＰＡ２よりも値が大きくなっている。
【０２０２】
図１６（Ｄ）は、Ｔ２の時点から１フレーム経過したＴ３の時点までに、図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われなかった場合のプレーヤキャラクタＰＣの体力パラメータの一例を示す図である。この場合には、ＰＡ３−ＰＡ４の更新量でプレーヤキャラクタＰＣの体力パラメータを減少させるパラメータ更新が行われるため、プレーヤキャラクタＰＣの残りの体力パラメータはＰＡ４となっている。なお、Ｔ３の時点での更新量ＰＡ３−ＰＡ４は、Ｔ２の時点での更新量ＰＡ２−ＰＡ３よりも値が大きくなっている。
【０２０３】
図１６（Ｅ）は、Ｔ３の時点から１フレーム経過したＴ４の時点までに、図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われなかった場合、即ち、プレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃をそのまま受けることが確定した場合のプレーヤキャラクタＰＣの体力パラメータの一例を示す図である。この場合には、ＰＡ４−ＰＡ５の更新量でプレーヤキャラクタＰＣの体力パラメータを減少させるパラメータ更新が行われるため、プレーヤキャラクタＰＣの残りの体力パラメータはＰＡ５となっている。なお、Ｔ４の時点での更新量ＰＡ４−ＰＡ５は、Ｔ３の時点での更新量ＰＡ３−ＰＡ４よりも値が大きくなっている。
【０２０４】
この結果、プレーヤキャラクタＰＣの残りの体力パラメータは、Ｔ０の時点までに図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われた場合にはＰＡ０、Ｔ１の時点までに図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われた場合にはＰＡ１、Ｔ２の時点までに図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われた場合にはＰＡ２、Ｔ３の時点までに図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われた場合にはＰＡ３、Ｔ４の時点までに図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われた場合にはＰＡ４、図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われた場合にはＰＡ５となる。
【０２０５】
このように本実施形態では、プレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃をそのまま受けるのかあるいはプレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃を弾き返したり受け返したりするのかが確定するまでの時間（所定の時間の一例）をかけて、プレーヤキャラクタＰＣの体力パラメータを減少させるパラメータ更新を行うので、プレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃を弾き返したり受け流したりする場合と、敵キャラクタＥＣの攻撃をプレーヤキャラクタＰＣがそのまま受ける場合とで、プレーヤキャラクタＰＣの体力パラメータを減少させる量（パラメータの更新量の一例）に差異を設けることができる。
【０２０６】
特に本実施形態では、遅延期間ＤＴの時間が経過するほど、プレーヤキャラクタＰＣの体力パラメータを減少させる量を増加させているので、図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が早いタイミングで行われるほどゲームを有利に進行させることができるようになっている。
【０２０７】
なお本実施形態では、フレームが経過するほどプレーヤキャラクタＰＣの体力パラメータを減少させる量を増加させているが、プレーヤキャラクタＰＣの体力パラメータを減少させる量を各フレームで同じ値にするようにしてもよい。
【０２０８】
また本実施形態のように、所定の時間をかけてプレーヤキャラクタＰＣの体力パラメータを減少させるパラメータ更新を行うのではなく、プレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃をそのまま受けるのかあるいはプレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃を弾き返したり受け返したりするのかが確定してから、プレーヤキャラクタＰＣの体力パラメータを減少させるパラメータ更新を行うようにしてもよい。このようにすると、プレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃をそのまま受ける場合のみ、プレーヤキャラクタＰＣの体力パラメータを減少させるパラメータ更新を行うこともでき、ゲーム状況を的確に反映したゲームパラメータの更新を行うことができる。
【０２０９】
また本実施形態では、プレーヤキャラクタＰＣの体力パラメータを例にとり説明したが、ゲーム結果となる得点パラメータ（ゲームパラメータの一例）等についても上述した手法を採用することができる。この場合には例えば、遅延期間ＤＴの時間が経過するほど得点パラメータを減少させるようにしてもよいし、遅延期間ＤＴの時間が経過するほど得点パラメータを増加させる増加量を減少させるようにしてもよい。
【０２１０】
３−７．操作情報の入力修正
以下、図１７〜図１８を参照しながら本実施形態で採用している操作情報の入力修正手法について説明する。図１７（Ａ）〜図１７（Ｂ）は、操作情報の入力ミスが生じる原理の一例を説明するための図であり、図１８（Ａ）〜図１８（Ｃ）は、操作情報の入力修正手法の一例を説明するための図である。
【０２１１】
本実施形態のアクションゲームには、いわゆるコンボと呼ばれる特殊技がプレーヤキャラクタＰＣに用意されている。この特殊技は、予め定められた操作パターンの入力を行う（所定の時間内に複数の操作情報を予め定められた順序で入力する）ことで発動され、敵キャラクタの体力パラメータを通常の攻撃よりも大幅に減少させることができる。
【０２１２】
例えば、図１７（Ａ）に示すように、プレーヤＰＬが第２のコントローラ１６−２を右方向に動かして右方向への入力（第１の操作情報の入力の一例）を行った後に、第２のコントローラ１６−２を下方向に動かして下方向への入力（第２の操作情報の入力の一例）を行う。そして、図１８（Ａ）に示すように、右方向への入力が行われた（確定した）後の入力期間ＩＴ’（所定の入力期間の一例、例えば６／６０秒）内に下方向への入力が行われた（確定した）場合には、特殊技が発動される。
【０２１３】
ところで、図１７（Ａ）に示すように、第２のコントローラ１６−２を動かす方向を急激に変更すると、プレーヤＰＬの手首や腕に負担がかってしまう。このためプレーヤＰＬは、例えば図１７（Ｂ）に示すように、第２のコントローラ１６−２を右方向に動かし後の反動を利用して、第２のコントローラ１６−２を一旦上方向に動かした後に、下方向に動かして下方向への入力を行うことがある。
【０２１４】
しかしこの場合には、図１８（Ｂ）に示すように、右方向への入力が行われた後に、上方向への入力（第３の操作情報の入力の一例）が行われ、その後に下方向への入力が行われることになるため、特殊技は発動されない。
【０２１５】
そこで本実施形態では、図１８（Ｃ）に示すように、右方向への入力が行われた（確定した）後にコンボを発動するための下方向への入力ではなく、下方向以外の操作情報である上方向への入力が行われた（確定した）場合には、上方向への入力が行われた後に遅延期間ＤＴ’（所定の遅延期間の一例、例えば４／６０秒）を設け、当該遅延期間ＤＴ’内に下方向への入力が行われた場合には、上方向への入力の確定を取り消して、下方向への入力を確定することで、特殊技を発動させる。
【０２１６】
このように本実施形態では、特殊技を発動させるための操作情報以外の操作情報の入力が行われた場合であっても、遅延期間ＤＴ’を設け、当該遅延期間ＤＴ’内に特殊技を発動させるための操作情報の入力が行われた場合には、特殊技を発動させるための操作情報以外の操作情報の入力の確定を取り消して、特殊技を発動させるための操作情報の入力を確定する。このため、加速度センサを用いて操作情報を特定する性質上、プレーヤＰＬが意図しない操作情報の入力が行われることがあっても、その影響を抑えることができる。
【０２１７】
なお本実施形態では、右方向、下方向への連続入力を行うことでプレーヤキャラクタＰＣに特殊技を発動させることを例にとり説明したが、本実施形態はこれに限られず、複数方向への連続入力（例えば、５方向への連続入力）を行うことでプレーヤキャラクタＰＣに特殊技を発動させる場合にも適用することができる。この場合には、予め定められた操作情報と異なる操作情報が入力される毎に遅延期間ＤＴ’を設定し、遅延期間ＤＴ’内に予め定められた操作情報が入力された場合には、予め定められた操作情報と異なる操作情報の入力を取り消すとともに予め定められた操作情報の入力を確定し、次の操作情報の入力を待機する。そして、最終的に予め定められた操作パターンで全ての操作情報の入力が確定した場合には、プレーヤキャラクタＰＣに特殊技を発動させる。
【０２１８】
また、入力期間ＩＴ’は、遅延期間ＤＴ’が設定される毎に期間を延長するようにしてもよい。また、入力期間ＩＴ’は、全ての操作情報の入力が行われるまでの期間として設定するようにしてもよいし、個々の操作情報の入力が行われるまでの期間として個々の操作情報毎に設定するようにしてもよい。
【０２１９】
また、プレーヤＰＬが意図しない操作情報の入力（例えば、第３の操作情報の入力）が行われてからプレーヤＰＬが意図する操作情報の入力（例えば、第２の操作情報の入力）が行われるまでの時間は、コントローラ１６をどのように動かすか、あるいはコントローラ１６を動かすプレーヤによっても異なるため、遅延期間ＤＴ’は状況に応じて適宜設定することが好ましい。例えば、初期設定メニュー等において、予め定められた操作パターンでコントローラ１６を振らせる動作をプレーヤＰＬに行わせ、その際の加速度センサの出力値から遅延期間ＤＴ’を設定するようにしてもよい。
【０２２０】
３−８．本実施形態の処理
以下、図１９〜図２０を参照しながら本実施形態の処理詳細の一例について説明する。
【０２２１】
図１９は、本実施形態のアクションゲームにおいて、敵キャラクタＥＣの攻撃発生後の処理の一例を説明するためのフローチャート図である。
【０２２２】
まず、敵キャラクタＥＣの攻撃イベントを発生させる処理を行う（ステップＳ１００）。そして、敵キャラクタＥＣの攻撃に伴い、敵キャラクタＥＣがプレーヤキャラクタＰＣを斬りつけるモーションやプレーヤキャラクタＰＣが敵キャラクタＥＣに斬りつけられるモーションを生成するゲーム演算を行う（ステップＳ１０２）。なお、敵キャラクタＥＣの攻撃イベントはプレーヤキャラクタＰＣにヒットするエリア内で発生しているものとする。
【０２２３】
次に、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットするまでの間に、図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われたか否かを判定する（ステップＳ１０４、ステップＳ１０６）。
【０２２４】
敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットするまでの間に、図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われなかった場合には（ステップＳ１０４でＮ、ステップＳ１０６でＹ）、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットしたことに伴い、ヒットエフェクトの生成やヒット音を出力するゲーム演算を行うとともに、プレーヤキャラクタＰＣの体力パラメータを減少させるゲーム演算（パラメータ更新）を行う。なお、敵キャラクタＥＣがプレーヤキャラクタＰＣを斬りつけるモーションやプレーヤキャラクタＰＣが敵キャラクタＥＣに斬りつけられるモーションを生成するゲーム演算も引き続き行う（ステップＳ１０８）。
【０２２５】
続いて、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットした後の遅延期間内に、図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われたか否かを判定する（ステップＳ１１０、ステップＳ１１２）。
【０２２６】
遅延期間内に図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われなかった場合には（ステップＳ１１０でＮ）、引き続き、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットしたことに伴うゲーム演算を続行する（ステップＳ１１６）。
【０２２７】
敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットするまでの間に、図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われた場合や（ステップＳ１０４でＹ）、遅延期間内に、図５（Ａ）や図６（Ａ）に示す操作に伴う操作情報の入力が行われた場合には（ステップＳ１１０でＹ、ステップＳ１１２でＹ）、敵キャラクタＥＣの攻撃に伴って行われるゲーム演算や敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣにヒットしたことに伴って行われるゲーム演算を中止する。そして、図５（Ａ）に示す操作に伴う操作情報の入力が行われた場合には、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣに弾き返されるモーションやプレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃を弾き返すモーションの生成、弾き返しエフェクトの生成、および弾き返し音を出力するゲーム演算を行う（ステップＳ１１４）。また、図６（Ａ）に示す操作に伴う操作情報の入力が行われた場合には、敵キャラクタＥＣの攻撃がプレーヤキャラクタＰＣに受け流されるモーションやプレーヤキャラクタＰＣが敵キャラクタＥＣの攻撃を受け流すモーションの生成、受け流しエフェクトの生成、および受け流し音を出力するゲーム演算を行う（ステップＳ１１４）。
【０２２８】
図２０は、本実施形態のアクションゲームにおいて、プレーヤキャラクタＰＣの特殊技を発動する際の処理の一例を説明するためのフローチャート図である。
【０２２９】
まず、第１の操作情報の入力（例えば、右入力）に伴い、当該第１の操作情報の入力を確定する処理を行う（ステップＳ２００、ステップＳ２０２）。
【０２３０】
次に、第１の操作情報の入力が確定した後の入力期間内に、第２の操作情報の入力（例えば、下入力）が行われたか否かを判定する（ステップＳ２０４）。
【０２３１】
入力期間内に第２の操作情報の入力が行われなかった場合には（ステップＳ２０４でＮ）、続いて、入力期間内に第２の操作情報以外の操作情報である第３の操作情報の入力（例えば、上入力）が行われたか否かを判定する（ステップＳ２０６）。
【０２３２】
入力期間内に第３の操作情報の入力も行われなかった場合には（ステップＳ２０６でＮ）、プレーヤキャラクタＰＣの特殊技は発動させる処理は行わない。入力期間内に、第３の操作情報の入力が行われた場合には（ステップＳ２０６でＹ）、当該第３の操作情報の入力を確定する処理を行う（ステップＳ２０８）。
【０２３３】
次に、第３の操作情報の入力が確定した後の遅延期間内に、第２の操作情報の入力が行われたか否かを判定する（ステップＳ２１０）。
【０２３４】
遅延期間内に第２の操作情報の入力が行われなかった場合には（ステップＳ２１０でＮ）、プレーヤキャラクタＰＣの特殊技は発動させる処理は行わない。
【０２３５】
遅延期間内に第２の操作情報の入力が行われた場合には（ステップＳ２１０でＹ）、第３の操作情報の入力の確定を取り消す処理とともに、第２の操作情報の入力を確定する処理を行う（ステップＳ２１２、ステップＳ２１４）。なお、入力期間内に第２の操作情報の入力が行われた場合にも（ステップＳ２０４でＹ）、第２の操作情報の入力を確定する処理を行う（ステップＳ２１４）。そして、プレーヤキャラクタＰＣに特殊技は発動させる処理を行う（ステップＳ２１６）。
【０２３６】
４．変形例
さて上記実施形態では、アクションゲームへの本実施形態への適用例について説明したが、本実施形態はサッカーゲーム等のスポーツゲームや音楽演奏ゲーム、格闘ゲームなどの種々のゲームに適用できる。
【０２３７】
以下、図２１を参照しながら、サッカーゲームに本実施形態を適用した場合の一例を説明する。図２１（Ａ）〜図２１（Ｄ）は、変形実施形態のサッカーゲームにおけるペナルティキック戦（以下、ＰＫ戦）の一例を示す図である。なお、制御手法の詳細は、上記実施形態に準ずる。
【０２３８】
図２１（Ａ）に示す変形実施形態のサッカーゲームにおけるＰＫ戦は、コンピュータによって制御されるキッカーキャラクタ（図示省略）が蹴ったボールオブジェクトＢＯを、プレーヤＰＬが操作するキーパーキャラクタＫＣにセーブさせるゲームである。プレーヤＰＬは表示装置１２の表示画面１１に表示されるゲーム画像を見ながら、キーパーキャラクタＫＣを移動させる（跳ばせる）方向にコントローラ１６を動かすことで、キーパーキャラクタＫＣにボールオブジェクトＢＯをセーブさせる。
【０２３９】
変形実施形態のサッカーゲームでは、キッカーキャラクタが助走してボールオブジェクトＢＯを蹴るまでの期間（所定の入力期間の一例）内、または入力期間の後の操作情報の入力遅延に対応した遅延期間（所定の遅延期間の一例）に、キーパーキャラクタＫＣを移動させる（跳ばせる）方向にコントローラ１６を動かして操作情報の入力を行うことが要求される。なお、図２１（Ｂ）に示すように、遅延期間内では、キーパーキャラクタＫＣに腰を落とさせるモーションを生成する。
【０２４０】
そして、入力期間内または遅延期間内に操作情報の入力が行われ、キッカーキャラクタが蹴ったボールオブジェクトＢＯの方向と、キーパーキャラクタＫＣを移動させる方向とが一致すれば、図２１（Ｃ）に示すように、キーパーキャラクタＫＣにボールオブジェクトＢＯをキャッチさせる。
【０２４１】
また、キッカーキャラクタが蹴ったボールオブジェクトＢＯの方向と、キーパーキャラクタＫＣを移動させる方向とが一致していても、入力期間内または遅延期間内に操作情報の入力が行われなかった場合には、図２１（Ｄ）に示すように、キーパーキャラクタＫＣにボールオブジェクトＢＯをキャッチさせずに、得点される。
【０２４２】
このように変形実施形態においても、入力期間に加え遅延期間が設けられているため、加速度センサを用いて操作情報を特定する性質上、操作情報の入力に遅延が発生した場合であっても、操作情報の入力遅延による影響を抑えることができる。
【０２４３】
また変形実施形態では、中間モーションとして、遅延期間内にキーパーキャラクタＫＣに腰を落とさせるモーションを生成した後に、キーパーキャラクタＫＣを移動させるモーションを生成しているので、モーションの生成を切り替えても、キーパーキャラクタＫＣが腰を落とした反動を利用しながら横に跳んでボールオブジェクトＢＯをキャッチするという連続性のある自然なモーションを生成することができ、モーションの切り替えも目立たなくすることができる。
【０２４４】
また、サッカーゲーム以外にも音楽演奏ゲームに本実施形態を適用してもよい。
【０２４５】
以下、図２２を参照しながら、音楽演奏ゲームに本実施形態を適用した場合の一例を説明する。図２２は、変形実施形態の音楽演奏ゲームの一例を示す図である。なお、制御手法の詳細は、上記実施形態に準ずる。
【０２４６】
図２２に示すように、変形実施形態の音楽演奏ゲームでは、表示装置１２の表示画面１１に、静止表示された基準マーク５１０に対して指示マーク５２０、指示マーク５２２が近づいて来るゲーム画像が表示される。指示マーク５２０は第１のコントローラ１６−１に対応した操作指示マークであり、指示マーク５２２は第２のコントローラ１６−２に対応した操作指示マークである。プレーヤＰＬは、指示マーク５２０が基準マーク５１０に重なったタイミングで第１のコントローラ１６−１を振り、指示マーク５２２が基準マーク５１０に重なったタイミングで第２のコントローラ１６−２を振ることで、曲に合わせた演奏ゲームをプレイする。
【０２４７】
そして、変形実施形態の音楽演奏ゲームでは、第１のコントローラ１６−１を振る入力期間、第２のコントローラ１６−２を振る入力期間（所定の入力期間の一例）の後に、操作情報の入力遅延に対応した遅延期間（所定の遅延期間の一例）がそれぞれ設けられている。このように変形実施形態においても、入力期間に加え遅延期間が設けられているため、加速度センサを用いて操作情報を特定する性質上、操作情報の入力に遅延が発生した場合であっても、操作情報の入力遅延による影響を抑えることができる。
【０２４８】
なお、本発明は上記実施形態で説明したものに限られず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０２４９】
また本実施形態では、遅延期間ＤＴを一律の期間として設定していたが、ゲーム演算の内容毎（具体的には、モーション生成、ゲームエフェクト生成、ゲーム音出力制御、ゲームパラメータの更新毎）に遅延期間ＤＴを設定するようにしてもよい。
【０２５０】
また本実施形態では、プレーヤＰＬと仮想プレーヤとして機能するコンピュータとの間で対戦を行うだけでなく、複数のプレーヤの間で対戦を行うこともできるようになっている。
【０２５１】
また、本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。そして、本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。
【０２５２】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、携帯型ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々のゲームシステム（画像生成システム）に適用できる。
【図面の簡単な説明】
【０２５３】
【図１】本実施形態のゲームシステムの外観の一例を示す図。
【図２】本実施形態のゲームシステムの外観の一例を示す図。
【図３】本実施形態のゲームシステムの機能ブロックの一例を示す図。
【図４】本実施形態のゲームシステムの制御手法の説明図。
【図５】本実施形態のゲームシステムの制御手法の説明図。
【図６】本実施形態のゲームシステムの制御手法の説明図。
【図７】本実施形態のゲームシステムの制御手法の説明図。
【図８】本実施形態のゲームシステムの制御手法の説明図。
【図９】本実施形態のゲームシステムの制御手法の説明図。
【図１０】本実施形態のゲームシステムの制御手法の説明図。
【図１１】本実施形態のゲームシステムの制御手法の説明図。
【図１２】本実施形態のゲームシステムの制御手法の説明図。
【図１３】本実施形態のゲームシステムの制御手法の説明図。
【図１４】本実施形態のゲームシステムの制御手法の説明図。
【図１５】本実施形態のゲームシステムの制御手法の説明図。
【図１６】本実施形態のゲームシステムの制御手法の説明図。
【図１７】本実施形態のゲームシステムの制御手法の説明図。
【図１８】本実施形態のゲームシステムの制御手法の説明図。
【図１９】本実施形態のゲームシステムの処理例を示すフローチャート図。
【図２０】本実施形態のゲームシステムの処理例を示すフローチャート図。
【図２１】変形実施形態のゲームシステムの制御手法の説明図。
【図２２】変形実施形態のゲームシステムの制御手法の説明図。
【符号の説明】
【０２５４】
１０  ゲームシステム、１１  表示画面、１２  表示装置、１４  ゲーム機、
１６  コントローラ、１６−１  第１のコントローラ、１６−２  第２のコントローラ、
１８  レバー、２０  サイドボタン、２２  十字キー、２４  ボタン、
３０−１  第１の加速度センサ、３０−２  第２の加速度センサ、
ＰＬ  プレーヤ、ＰＣ  プレーヤキャラクタ、ＥＣ  敵キャラクタ、
ＫＣ  キーパーキャラクタ、ＢＯ  ボールオブジェクト、
１００  処理部、１１０  操作情報特定部、１１２  イベント発生部、
１１４  操作情報判定部、１２０  ゲーム演算部、１２２  表示制御部、
１２４  モーション生成部、１２６  エフェクト生成部、１２８  音制御部、
１３０  パラメータ更新部、１４０  描画部、１５０  音生成部、１６０  操作部、
１６２  動きセンサ、１７０  記憶部、１７１  主記憶部、
１７２  モーションデータ記憶部、１７３  エフェクトデータ記憶部、
１７４  音データ記憶部、１７５  パラメータ記憶部、１７６  描画バッファ、
１８０  情報記憶媒体、１８２  携帯型情報記憶装置、１９０  表示部、
１９２  音出力部、１９４  通信部
【図１】
2009045273.tif 000003
【図２】
2009045273.tif 000004
【図３】
2009045273.tif 000005
【図４】
2009045273.tif 000006
【図５】
2009045273.tif 000007
【図６】
2009045273.tif 000008
【図７】
2009045273.tif 000009
【図８】
2009045273.tif 000010
【図９】
2009045273.tif 000011
【図１０】
2009045273.tif 000012
【図１１】
2009045273.tif 000013
【図１２】
2009045273.tif 000014
【図１３】
2009045273.tif 000015
【図１５】
2009045273.tif 000016
【図１６】
2009045273.tif 000017
【図１７】
2009045273.tif 000018
【図１８】
2009045273.tif 000019
【図１９】
2009045273.tif 000020
【図２０】
2009045273.tif 000021
【図２１】
2009045273.tif 000022
【図２２】
2009045273.tif 000023
【図１４】
2009045273.tif 000024