(57)【要約】【課題】キャラクタを適切に表示するのに好適な動画像生成装置を提供する。【解決手段】所定期間に含まれるいずれかの時刻が与えられると、当該時刻に対応付けられるキャラクタの形状を計算する形状計算部２０１、所定期間の先頭から末尾までを等間隔に区切る区切り時刻のそれぞれに対応付けられる生成時刻を決定する決定部２０２、区切り時刻のそれぞれに対応付けられる生成時刻を形状計算部２０１に与えて計算させ、当該計算されたキャラクタの形状から当該区切り時刻において表示すべきキャラクタの画像を生成する生成部２０３を備える。先頭の区切り時刻に対応付けられる生成時刻は当該先頭の区切り時刻に等しい。末尾の区切り時刻に対応付けられる生成時刻は当該末尾の区切り時刻に等しい。区切り時刻を時間の経過順に並べ、その順序で当該区切り時刻に対応付けられる生成時刻を並べると、時間の経過順となる。【選択図】図２
2010178782.tif 000002
【特許請求の範囲】
【請求項１】
所定期間に含まれるいずれかの時刻が与えられると、当該時刻に対応付けられるキャラクタの形状を計算する形状計算部、
前記所定期間の先頭から末尾までを等間隔に区切る区切り時刻のそれぞれに対応付けられる生成時刻を決定する決定部、
前記区切り時刻のそれぞれに対応付けられる生成時刻を前記形状計算部に与えて計算させ、当該計算されたキャラクタの形状から当該区切り時刻において表示すべきキャラクタの画像を生成する生成部
を備える動画像生成装置であって、
前記区切り時刻のうち先頭の区切り時刻と、当該先頭の区切り時刻に対応付けられる生成時刻と、は、いずれも前記所定期間の先頭の時刻に等しく、
前記区切り時刻のうち末尾の区切り時刻と、当該末尾の区切り時刻に対応付けられる生成時刻と、は、いずれも前記所定期間の末尾の時刻に等しく、
前記区切り時刻を時間の経過順に並べ、その順序で当該区切り時刻に対応付けられる生成時刻を並べると、時間の経過順となる
ことを特徴とする動画像生成装置。
【請求項２】
請求項１に記載の動画像生成装置であって、
前記決定部は、前記区切り時刻と、当該区切り時刻に対応付けられる生成時刻と、の差を、乱数に基づいて決定する
ことを特徴とする動画像生成装置。
【請求項３】
請求項１又は２に記載の動画像生成装置であって、
前記生成部は、複数のキャラクタの画像を生成し、
前記決定部は、前記複数のキャラクタ毎に生成時刻を決定する
ことを特徴とする動画像生成装置。
【請求項４】
請求項２に記載の動画像生成装置であって、
前記決定部は、前記先頭の区切り時刻と前記末尾の区切り時刻とを含むように前記区切り時刻から所定の個数の区切り時刻（以下「代表時刻」という。）を選択し、
（Ａ）前記代表時刻のうち前記先頭の区切り時刻に対応付けられる生成時刻を当該先頭の区切り時刻と等しくなるように決定し、
（Ｂ）前記代表時刻のうち前記末尾の区切り時刻に対応付けられる生成時刻を当該末尾の区切り時刻と等しくなるように決定し、
（Ｃ）前記代表時刻のうち前記先頭の区切り時刻と前記末尾の区切り時刻と以外の区切り時刻と、当該区切り時刻に対応付けられる生成時刻と、の差を、乱数に基づいて決定し、
（Ｄ）前記代表時刻を時間の経過順に並べたときに隣り合う２つの代表時刻の間の区切り時刻に対応付けられる生成時刻を、当該生成時刻の間隔が等間隔になるように決定する
ことを特徴とする動画像生成装置。
【請求項５】
請求項１に記載の動画像生成装置であって、
前記区切り時刻と、当該区切り時刻に対応付けられる生成時刻と、の差の基準値を区切り時刻毎に記憶する記憶部、をさらに備え、
前記決定部は、前記区切り時刻と、当該区切り時刻に対応付けられる生成時刻と、の差を、前記記憶部に記憶されている区切り時刻毎の基準値に基づいて決定する
ことを特徴とする動画像生成装置。
【請求項６】
プレイヤーからの指示入力を受け付ける受付部、
前記受け付けられた指示入力に基づいて、前記プレイヤーの成績を判定する判定部、
請求項１に記載の動画像生成装置により生成された動画像を表示する表示部
を備えることを特徴とするゲーム装置。
【請求項７】
請求項６に記載のゲーム装置であって、
前記決定部は、前記区切り時刻と、当該区切り時刻に対応付けられる生成時刻と、の差を、乱数に基づいて決定し、前記判定されたプレイヤーの成績に応じて、前記乱数のとりうる範囲を変化させる
ことを特徴とするゲーム装置。
【請求項８】
形状計算部、決定部、生成部を備える動画像生成装置が実行する動画像生成方法であって、
前記形状計算部が、所定期間に含まれるいずれかの時刻が与えられると、当該時刻に対応付けられるキャラクタの形状を計算する形状計算工程、
前記決定部が、前記所定期間の先頭から末尾までを等間隔に区切る区切り時刻のそれぞれに対応付けられる生成時刻を決定する決定工程、
前記生成部が、前記区切り時刻のそれぞれに対応付けられる生成時刻を前記形状計算部に与えて計算させ、当該計算されたキャラクタの形状から当該区切り時刻において表示すべきキャラクタの画像を生成する生成工程
を備える動画像生成方法であって、
前記区切り時刻のうち先頭の区切り時刻と、当該先頭の区切り時刻に対応付けられる生成時刻と、は、いずれも前記所定期間の先頭の時刻に等しく、
前記区切り時刻のうち末尾の区切り時刻と、当該末尾の区切り時刻に対応付けられる生成時刻と、は、いずれも前記所定期間の末尾の時刻に等しく、
前記区切り時刻を時間の経過順に並べ、その順序で当該区切り時刻に対応付けられる生成時刻を並べると、時間の経過順となる
ことを特徴とする動画像生成方法。
【請求項９】
コンピュータを、
所定期間に含まれるいずれかの時刻が与えられると、当該時刻に対応付けられるキャラクタの形状を計算する形状計算部、
前記所定期間の先頭から末尾までを等間隔に区切る区切り時刻のそれぞれに対応付けられる生成時刻を決定する決定部、
前記区切り時刻のそれぞれに対応付けられる生成時刻を前記形状計算部に与えて計算させ、当該計算されたキャラクタの形状から当該区切り時刻において表示すべきキャラクタの画像を生成する生成部
として機能させるプログラムであって、
前記区切り時刻のうち先頭の区切り時刻と、当該先頭の区切り時刻に対応付けられる生成時刻と、は、いずれも前記所定期間の先頭の時刻に等しく、
前記区切り時刻のうち末尾の区切り時刻と、当該末尾の区切り時刻に対応付けられる生成時刻と、は、いずれも前記所定期間の末尾の時刻に等しく、
前記区切り時刻を時間の経過順に並べ、その順序で当該区切り時刻に対応付けられる生成時刻を並べると、時間の経過順となる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャラクタを適切に表示するのに好適な動画像生成装置、ゲーム装置、動画像生成方法、ならびに、これらをコンピュータにより実現するためのプログラムに関する。
【背景技術】
【０００２】
従来、楽曲のリズムや画面の表示にタイミングを合わせて、プレイヤーがボタンやフットスイッチを操作する音楽ゲームが知られている。このような音楽ゲームにおいては、例えば、演奏される楽曲に同調して所定のオブジェクトが順次画面の下方から現れてそれぞれ画面の上方に移動する。一方、プレイヤーは、これらのオブジェクトが判定の基準となる判定ラインに到達したタイミングでボタンを押圧する。そして、ボタンが押圧されたタイミングが到達タイミングに合っている場合、得点が加算されるとともにプレイヤーの操作入力が成功したことを示す図形が表示される。
【０００３】
このような音楽ゲームには、プレイヤーがゲームをプレイしている間、バックダンサーのように楽曲のリズムに合ったモーションをとるキャラクタが表示されるものがある。このように、楽曲のリズムに合ったモーションをとるキャラクタが表示されると、プレイヤーはあたかもキャラクタと一緒にダンスをしているように感じることができる。このような音楽ゲームは、例えば、特許文献１に開示されている。
【０００４】
このような音楽ゲームでは、楽曲が決定されると表示されるキャラクタのモーションも決定され、プレイヤーの操作入力の上手下手にかかわらず、キャラクタが楽曲のリズムに合わせて正確にモーションをとっていた。また、複数のキャラクタを表示するタイプの音楽ゲームにおいては、複数のキャラクタの全てが、プレイヤーの操作入力の上手下手にかかわらず、楽曲のリズムに合わせて正確に全く同じモーションをとっていた。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３２４５１４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、実際のバックダンサー達は、同じモーションを担当する場合であっても、全員が全く同じモーションをとることはなく、多少のばらつきがあるものである。また、実際のバックダンサー達は、メインボーカル（上述した音楽ゲームにおいてはプレイヤーに相当する。）のリズムが崩れると、これに伴ってリズムを乱してしまうことが一般的である。従って、キャラクタのモーションを、実際のバックダンサーのモーションになるべく近くなるように、変化させたいという要望が強かった。
【０００７】
本発明は、上記問題に鑑みてなされたものであり、キャラクタを適切に表示するのに好適な動画像生成装置、ゲーム装置、動画像生成方法、ならびに、これらをコンピュータにより実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の第１の観点に係る動画像生成装置は、形状計算部、決定部、生成部を備え、以下のように構成する。
【０００９】
まず、形状計算部は、所定期間に含まれるいずれかの時刻が与えられると、当該時刻に対応付けられるキャラクタの形状を計算する。すなわち、形状計算部は、時刻Ｂから時刻Ｅまでの所定期間に含まれるいずれかの時刻ｔが与えられると、当該時刻ｔに対応付けられるキャラクタの形状を計算する。つまり、形状計算部は、仮想空間上で所定期間内に所定の振り付けを行うキャラクタの各時刻における形状を計算する。形状計算部は、キャラクタの形状に加えてキャラクタの色彩などを計算しても良い。以下、本明細書において、キャラクタの形状には、キャラクタの色彩などが含まれうるものとして説明する。なお、生成部は、仮想空間上のキャラクタを所定の視点を基準として所定の投影面に投影したときに得られる画像を生成するが、当該所定期間は、同じ視点を基準としている期間（以下、必要に応じて「シーン」という。）に設定することができる。
【００１０】
そして、決定部は、所定期間の先頭から末尾までを等間隔に区切る区切り時刻のそれぞれに対応付けられる生成時刻を決定する。すなわち、決定部は、Ｎを自然数として、所定期間を等間隔に区切る区切り時刻Ｂ＝Ｄ［０］，Ｄ［１］，…，Ｄ［Ｎ］＝Ｅのそれぞれに対応付けられる生成時刻Ｇ［０］，Ｇ［１］，…，Ｇ［Ｎ］を決定する。当該間隔は、表示部の表示更新レートである垂直同期割り込みの周期（典型的には１／６０秒）にすることができる。
【００１１】
また、生成部は、区切り時刻のそれぞれに対応付けられる生成時刻を形状計算部に与えてキャラクタの形状を計算させる。そして、生成部は、当該計算されたキャラクタの形状から当該区切り時刻において表示すべきキャラクタの画像を生成する。すなわち、生成部は、整数ｉ＝０，１，…，Ｎのそれぞれについて、区切り時刻Ｄ［ｉ］に対応付けられる生成時刻Ｇ［ｉ］を形状計算部に与えて計算させ、当該計算されたキャラクタの形状から当該区切り時刻Ｄ［ｉ］において表示すべきキャラクタの画像を生成する。なお、生成部が生成した区切り時刻毎のキャラクタの画像を、区切り時刻の時間の経過順に並べるとキャラクタの動画像となる。
【００１２】
ここで、区切り時刻のうち先頭の区切り時刻と、当該先頭の区切り時刻に対応付けられる生成時刻と、が、いずれも所定期間の先頭の時刻と等しくなるようにする。また、区切り時刻のうち末尾の区切り時刻と、当該末尾の区切り時刻に対応付けられる生成時刻と、が、いずれも所定期間の末尾の時刻と等しくなるようにする。さらに、区切り時刻を時間の経過順に並べ、その順序で当該区切り時刻に対応付けられる生成時刻を並べると、時間の経過順となるようにする。すなわち、決定部は、Ｇ［０］＝Ｂ且つＧ［Ｎ］＝Ｅが成立し、整数ｊ＝０，１，…，Ｎ−１のそれぞれと、整数ｋ＝ｊ＋１，ｊ＋２，…，Ｎのそれぞれと、について、Ｇ［ｊ］がＧ［ｋ］に先行するように決定する。このように、区切り時刻の順序と当該区切り時刻に対応付けられる生成時刻の順序とが入れ替わらないように生成時刻が決定される。言い換えれば、ある区切り時刻に対応付けられる生成時刻は、当該区切り時刻よりも早い区切り時刻に対応付けられる生成時刻よりも早い時刻に決定される。
【００１３】
以下、区切り時刻を形状計算部に与えて計算されたキャラクタの形状に基づいて当該区切り時刻において表示すべきキャラクタの画像が生成されたときに、模範となる速さで振り付けに従った動作を実行するキャラクタ（以下「模範キャラクタ」という。）の動画像が生成される場合を例にして説明する。
【００１４】
まず、Ｇ［０］＝Ｂが成立するのであるから、模範キャラクタを表示するために時刻Ｂにおいて表示すべきキャラクタの画像と同じ画像が、時刻Ｂにおいて表示すべきキャラクタの画像として生成される。同様に、Ｇ［Ｎ］＝Ｅが成立するのであるから、模範キャラクタを表示するために時刻Ｅにおいて表示すべきキャラクタの画像と同じ画像が、時刻Ｅにおいて表示すべきキャラクタの画像として生成される。また、整数ｊ＝０，１，…，Ｎ−１のそれぞれと、整数ｋ＝ｊ＋１，ｊ＋２，…，Ｎのそれぞれと、について、Ｇ［ｊ］がＧ［ｋ］に先行するのであるから、振り付けに従った各動作の順序そのものは変化しないようにキャラクタの画像が生成される。すなわち、先頭の区切り時刻および末尾の区切り時刻以外の区切り時刻において表示されるキャラクタは、模範キャラクタが当該区切り時刻においてとる動作よりも振り付け上で前もしくは後の動作をとるが、当該区切り時刻よりも前の区切り時刻に表示されるキャラクタがとる動作よりも振り付け上で前の動作をとらず、また、当該区切り時刻よりも後の区切り時刻に表示されるキャラクタがとる動作よりも振り付け上で後の動作をとらない。従って、シーンの最初と最後以外はキャラクタが模範となる速さよりも速く又は遅く振り付けに従った動作を実行するような動画像、すなわち、シーンの最初と最後以外はキャラクタの動作速度に揺らぎがあるような動画像が生成される。ただし、キャラクタが振り付けに従った動作を実行するのにかかるトータルの時間が、キャラクタが模範となる速さで振り付けに従った動作を実行した場合と同じ時間になるように動画像が生成される。このため、シーンの繋ぎ目でキャラクタの動作が不自然に変化しないようにすることができる。
【００１５】
以上説明したように、本発明の動画像生成装置によれば、キャラクタが振り付けに従った動作を実行するのにかかるトータルの時間を変えることなく、振り付けに従った動作中の動作の速さを変化させた動画像を生成することができる。従って、本発明の動画像生成装置によれば、キャラクタが揺らぎのあるモーションをとる動画像を生成することができる。
【００１６】
また、本発明の動画像生成装置において、決定部は、区切り時刻と、当該区切り時刻に対応付けられる生成時刻と、の差を、乱数に基づいて決定するように構成することができる。このように構成することにより、振り付けに従った動作中の動作の速さをランダムに変化させることができる。
【００１７】
また、本発明の動画像生成装置において、生成部は、複数のキャラクタの画像を生成してもよい。この場合、決定部は、複数のキャラクタ毎に生成時刻を決定する。なお、決定部が乱数を用いて生成時刻を決定する場合、生成時刻はキャラクタ毎にランダムに決定される。この場合、各キャラクタがキャラクタ毎に異なる速さで振り付けに従った動作を実行する動画像が生成される。従って、複数のキャラクタが互いに異なる揺らぎかたでモーションをとる動画像を生成することができる。
【００１８】
本発明の動画像生成装置によれば、複数のキャラクタのそれぞれが揺らぎのあるモーションをとる動画像を生成することができる。
【００１９】
また、本発明の動画像生成装置において、決定部は、先頭の区切り時刻と末尾の区切り時刻とを含むように区切り時刻から所定の個数の区切り時刻（以下「代表時刻」という。）を選択し、以下の（Ａ）〜（Ｄ）に示すように生成時刻を決定してもよい。
まず、（Ａ）代表時刻のうち先頭の区切り時刻に対応付けられる生成時刻を当該先頭の区切り時刻と等しくなるように決定する。
そして、（Ｂ）代表時刻のうち末尾の区切り時刻に対応付けられる生成時刻を当該末尾の区切り時刻と等しくなるように決定する。
さらに、（Ｃ）代表時刻のうち先頭の区切り時刻と末尾の区切り時刻と以外の区切り時刻と、当該区切り時刻に対応付けられる生成時刻と、の差を、乱数に基づいて決定する。
そして、（Ｄ）代表時刻を時間の経過順に並べたときに隣り合う２つの代表時刻の間の区切り時刻に対応付けられる生成時刻を、当該生成時刻の間隔が等間隔になるように決定する。
【００２０】
本発明の動画像生成装置によれば、特定の生成時刻についてのみ乱数に基づいて決定され、その他の生成時刻については当該乱数を用いて決定された生成時刻に基づいて決定されるため、全ての生成時刻が乱数に基づいて決定される場合に比べ、処理速度の向上が期待できる。また、乱数に基づいて決定された隣り合う２つの生成時刻の間の生成時刻は等間隔になるように決定される。これにより、表示されるキャラクタの動作速度が短時間で極端に変化しないようにする、すなわち、キャラクタの動作速度の揺らぎの周期を大きくすることができる。
【００２１】
また、本発明の動画像生成装置において、区切り時刻と、当該区切り時刻に対応付けられる生成時刻と、の差の基準値を区切り時刻毎に記憶する記憶部、をさらに備えてもよい。
この場合、決定部は、区切り時刻と、当該区切り時刻に対応付けられる生成時刻と、の差を、記憶部に記憶されている区切り時刻毎の基準値に基づいて決定する。
【００２２】
本発明の動画像生成装置によれば、あらかじめ定められた基準値に基づいて生成時刻が決定されるため、生成時刻が乱数に基づいて決定される場合に比べ、処理速度の向上が期待できる。
【００２３】
上記目的を達成するために、本発明のその他の観点に係るゲーム装置は、受付部、判定部、表示部を備え、以下のように構成する。
【００２４】
まず、受付部は、プレイヤーからの指示入力を受け付ける。例えば、プレイヤーがゲーム装置のコントローラに用意された各種のボタン（フットスイッチなど手や足で操作するものが典型的である。）やレバーを操作したり、各種の楽器に模したコントローラの部材を操作したり、プレイヤーが所定の動作をしたことが各種のセンサで検知されることによって、これらが指示入力として受け付けられる。
【００２５】
そして、判定部は、受付部により受け付けられた指示入力に基づいて、プレイヤーの成績を判定する。例えば、当該ゲーム装置がリズムゲームを実行するゲーム装置である場合、プレイヤーにより所定のタイミングで所定のボタンが押された場合に得点が加算され、所定の期間内における得点に基づいてプレイヤーの成績が判定される。
【００２６】
また、表示部は、上述した動画像生成装置により生成された動画像を表示する。従って、表示部は、所定の振り付けに従った動作を実行するキャラクタを表示する。
【００２７】
ここで、リズムゲームを実行するゲーム装置においては、バックダンサーとして楽曲のリズムに合わせて所定の振り付けに従った動作を実行する複数のキャラクタが表示部に表示される場合も多い。このようなゲーム装置において、これらの複数のキャラクタが全く同じ振り付けを全く同じ動作速度で実行するように表示されると、リアリティーに欠け、いかにもゲームであるという印象をプレイヤーに与えてしまう場合がある。そこで、このようなゲーム装置に本発明を適用することにより、表示されるキャラクタの動作速度に揺らぎをもたせることができ、プレイヤーがあたかも本物のバックダンサーとともにダンスをしているように演出することができる。
【００２８】
本発明において、決定部は、区切り時刻と、当該区切り時刻に対応付けられる生成時刻と、の差を、乱数に基づいて決定し、判定されたプレイヤーの成績に応じて、乱数のとりうる範囲を変化させることができる。ここで、例えば、乱数のとりうる範囲が広く設定された場合、区切り時刻と当該区切り時刻に対応付けられる生成時刻との差の期待値が大きくなる。従って、表示されるキャラクタの振り付けに従った動作中の動作の速さのムラが大きくなる。このため、表示されるキャラクタのとるモーションの揺らぎは大きくなる。一方、例えば、乱数のとりうる範囲が狭く設定された場合、区切り時刻と当該区切り時刻に対応付けられる生成時刻との差の期待値が小さくなる。従って、表示されるキャラクタの振り付けに従った動作中の動作の速さのムラが小さくなる。このため、表示されるキャラクタのとるモーションの揺らぎが小さくなる。
【００２９】
なお、乱数のとりうる範囲をプレイヤーの成績に応じてどのように変化させるかは適宜調整することが可能であるが、例えば、リズムゲームの場合、プレイヤーの成績が良いほど乱数のとりうる範囲を狭く設定する。このようにすると、プレイヤーの成績が良いほど表示されるキャラクタの振り付けに従った動作中の動作の速さのムラが小さくなる。従って、プレイヤーの成績が良いほど適切な速さで振り付けに従った動作を実行するキャラクタが表示される。
【００３０】
本発明のゲーム装置によれば、表示されるキャラクタのとるモーションの揺らぎの大きさをプレイヤーの成績に応じて変化させることができる。これにより、プレイヤーがあたかも本物のバックダンサーとともにダンスをしているように演出することができる。
【００３１】
上記目的を達成するために、本発明のその他の観点に係る動画像生成方法は、形状計算部、決定部、生成部を備える動画像生成装置が実行する動画像生成方法であって、形状計算工程、決定工程、生成工程を備え、以下のように構成する。
【００３２】
すなわち、形状計算工程では、形状計算部が、所定期間に含まれるいずれかの時刻が与えられると、当該時刻に対応付けられるキャラクタの形状を計算する。
【００３３】
そして、決定工程では、決定部が、所定期間の先頭から末尾までを等間隔に区切る区切り時刻のそれぞれに対応付けられる生成時刻を決定する。
【００３４】
また、生成工程では、生成部が、区切り時刻のそれぞれに対応付けられる生成時刻を形状計算部に与えて計算させ、当該計算されたキャラクタの形状から当該区切り時刻において表示すべきキャラクタの画像を生成する。
【００３５】
ここで、区切り時刻のうち先頭の区切り時刻と、当該先頭の区切り時刻に対応付けられる生成時刻と、が、いずれも所定期間の先頭の時刻と等しくなるようにする。また、区切り時刻のうち末尾の区切り時刻と、当該末尾の区切り時刻に対応付けられる生成時刻と、が、いずれも所定期間の末尾の時刻と等しくなるようにする。さらに、区切り時刻を時間の経過順に並べ、その順序で当該区切り時刻に対応付けられる生成時刻を並べると、時間の経過順となるようにする。
【００３６】
本発明の他の観点に係るプログラムは、コンピュータを、上記の動画像生成装置もしくはゲーム装置の各部として機能させ、または、コンピュータに、上記の動画像生成方法の各工程を実行させるように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００３７】
本発明によれば、キャラクタを適切に表示するのに好適な動画像生成装置、ゲーム装置、動画像生成方法、ならびに、これらをコンピュータにより実現するためのプログラムを提供することができる。
【図面の簡単な説明】
【００３８】
【図１】第１〜３の実施形態に係るゲーム装置が実現される典型的な情報処理装置の概要構成を示す模式図である。
【図２】第１〜３の実施形態に係るゲーム装置の構成を示すブロック図である。
【図３】第１〜３の実施形態に係るゲーム装置の表示画面を説明するための図である。
【図４】ＲＡＭに記憶されるデータの様子を示す説明図である。
【図５】第１の実施形態に係るゲーム装置により決定される生成時刻を説明するための図である。
【図６】各キャラクタの動作を説明するための第１の図である。
【図７】各キャラクタの動作を説明するための第２の図である。
【図８】第１〜３の実施形態に係るゲーム装置が実行するキャラクタ表示制御処理を示すフローチャートである。
【図９】第１の実施形態に係るゲーム装置が実行する生成時刻決定処理を示すフローチャートである。
【図１０】第２の実施形態に係るゲーム装置により決定される生成時刻を説明するための図である。
【図１１】第２の実施形態に係るゲーム装置が実行する生成時刻決定処理を示すフローチャートである。
【図１２】第３の実施形態に係るゲーム装置により決定される生成時刻を説明するための図である。
【図１３】第３の実施形態に係るゲーム装置が実行する生成時刻決定処理を示すフローチャートである。
【発明を実施するための形態】
【００３９】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム専用の情報処理装置に本発明が適用される実施形態を説明するが、各種のコンピュータ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔｓ）、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００４０】
（第１の実施形態）
（情報処理装置の説明）
図１は、本発明の第１の実施形態に係るゲーム装置が実現される典型的な情報処理装置の概要構成を示す模式図である。本実施形態に係るゲーム装置は動画像生成装置としての機能を備え、プレイヤーがゲームのプレイ中に所定のキャラクタをモニターに表示する。
【００４１】
情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３と、インターフェース１０４と、マット型コントローラ１０５と、外部メモリ１０６と、画像処理部１０７と、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）−ＲＯＭドライブ１０８と、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１０９と、音声処理部１１０と、ＲＴＣ（Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）１１１と、モニター１１２と、を備える。
【００４２】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着して、情報処理装置１００の電源を投入することにより、プログラムが実行され、本実施形態のゲーム装置が実現される。
【００４３】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。ＣＰＵ  １０１は、各構成要素から各種のデータを取得し、当該各種のデータを種々の演算により加工して各構成要素にデータや制御信号として与える。ＣＰＵ  １０１では、各種のデータは一旦ＣＰＵ  １０１が備えるキャッシュに格納され、さらにＣＰＵ  １０１が備えるレジスタに取得されてから各種の演算が施される。
【００４４】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Ｉｎｉｔｉａｌ  Ｐｒｏｇｒａｍ  Ｌｏａｄｅｒ）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００４５】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行や通信に必要なデータが保持される。このほか、情報処理装置１００に接続される各種の機器から伝達される種々の情報や、各種の機器に伝達すべき種々の情報も、一時的に格納される。
【００４６】
インターフェース１０４を介して接続されたマット型コントローラ１０５は、プレイヤーがゲーム実行の際に行う操作入力を受け付ける。マット型コントローラ１０５の所定領域には、“左”、“下”、“上”、“右”のそれぞれを指示する入力をプレイヤーから受け付けるボタンがそれぞれ配置されている。プレイヤーは、各ボタンを任意のタイミングで押圧することができる。なお、ＣＰＵ  １０１は、ボタン毎に、プレイヤーによって押圧されているか否かを判別する。
【００４７】
本実施形態では、マット型コントローラ１０５は４個のボタンを備えているものとして説明するが、ボタンの数は４個に限定されず、３個以下あるいは５個以上でもよい。また、マット型コントローラ１０５は、床面に配置する形状に限られず、手に持って操作するいわゆるタッチパッドの形状や、手で把持する形状であってもよい。
【００４８】
インターフェース１０４を介して着脱自在に接続された外部メモリ１０６には、ゲームの進行状態を示すデータなどが書き換え可能に記憶される。プレイヤーは、例えば、マット型コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００４９】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０８は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００５０】
画像処理部１０７は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０７に接続されたモニター１１２へ出力される。これにより、各種の画像表示が可能となる。
【００５１】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを俯瞰したレンダリング画像を得る演算の高速実行も可能である。特に、点光源や平行光源、円錐光源などの典型的な（正）光源によってポリゴンが照らされる度合を計算する機能が、ライブラリ化もしくはハードウェア化され、高速に計算できるようになっている。
【００５２】
さらに、ＣＰＵ  １０１と画像演算プロセッサとが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画したりすることが可能である。フォント情報は、ＲＯＭ  １０２に記録されているが、ＤＶＤ−ＲＯＭに記録された専用のフォント情報を利用することも可能である。
【００５３】
ＮＩＣ  １０９は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Ｉｎｔｅｇｒａｇｅｄ  Ｓｅｒｖｉｃｅｓ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋ）モデム、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ  Ｍｏｄｅｍ）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００５４】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。音声処理部１１０からは、たとえば、ＢＧＭやカラオケとして再生される楽曲の音や、プレイヤーのボタン操作に合わせて再生される効果音などを変換する。
【００５５】
ＲＴＣ  １１１は、水晶振動子や発振回路などを備える計時用のデバイスである。ＲＴＣ  １１１は、内蔵電池から電源を供給され、情報処理装置１００の電源がオフのときでも動作し続ける。
【００５６】
モニター１１２は、画像処理部１０７から供給されたビデオ信号に従って画像を表示する。モニター１１２は、例えば、液晶ディスプレイ、プラズマディスプレイ、ＣＲＴなどにより構成される。
【００５７】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００５８】
（ゲーム装置の説明）
次に、本発明の実施形態に係るゲーム装置の機能について、図面を参照して説明する。まず、図２を参照して、本発明の実施形態に係るゲーム装置２００の構成を説明する。
【００５９】
図２に示すように、ゲーム装置２００は、形状計算部２０１と、決定部２０２と、生成部２０３と、受付部２０４と、判定部２０５と、表示部２０６と、を備える。
【００６０】
形状計算部２０１は、仮想空間上で所定期間内に所定の振り付けを行うキャラクタの各時刻における形状を計算する。ここで、所定期間の先頭の時刻を時刻Ｂ、所定期間の末尾の時刻を時刻Ｅ、所定期間に含まれるいずれかの時刻を時刻ｔとする。具体的には、形状計算部２０１は、時刻Ｂから時刻Ｅまでの所定期間に含まれるいずれかの時刻ｔが与えられると、当該時刻ｔに対応付けられるキャラクタの形状を計算する。形状計算部２０１は、ＣＰＵ  １０１などにより実現される。
【００６１】
決定部２０２は、所定期間の先頭から末尾までを等間隔に区切る区切り時刻のそれぞれに対応付けられる生成時刻を決定する。具体的には、決定部２０２は、Ｎを自然数として、所定期間を等間隔に区切る区切り時刻Ｂ＝Ｄ［０］，Ｄ［１］，…，Ｄ［Ｎ］＝Ｅのそれぞれに対応付けられる生成時刻Ｇ［０］，Ｇ［１］，…，Ｇ［Ｎ］を決定する。ここで、決定部２０２は、Ｇ［０］＝Ｂ且つＧ［Ｎ］＝Ｅが成立し、整数ｊ＝０，１，…，Ｎ−１のそれぞれと、整数ｋ＝ｊ＋１，ｊ＋２，…，Ｎのそれぞれと、について、Ｇ［ｊ］がＧ［ｋ］に先行するように決定する。決定部２０２は、例えば、乱数を発生させて生成時刻を決定する。決定部２０２は、ＣＰＵ  １０１などにより実現される。
【００６２】
生成部２０３は、区切り時刻のそれぞれに対応付けられる生成時刻を形状計算部２０１に与えてキャラクタの形状を計算させ、当該計算されたキャラクタの形状から当該区切り時刻において表示すべきキャラクタの画像を生成する。つまり、生成部２０３は、整数ｉ＝０，１，…，Ｎのそれぞれについて、区切り時刻Ｄ［ｉ］に対応付けられる生成時刻Ｇ［ｉ］を形状計算部２０１に与えて計算させる。そして、生成部２０３は、計算されたキャラクタの形状から当該区切り時刻Ｄ［ｉ］において表示すべきキャラクタの画像を生成する。生成部２０３は、複数のキャラクタの画像を生成する場合、キャラクタ毎の生成時刻を決定部２０２に決定させ、当該キャラクタ毎の生成時刻を形状計算部２０１に与えて計算されたキャラクタ毎の形状から各区切り時刻において表示すべき各キャラクタの画像を生成する。生成部２０３は、生成した画像を、例えば、当該画像を示すビデオ信号として出力する。生成部２０３は、ＣＰＵ  １０１、画像処理部１０７、ＲＴＣ  １１１などにより実現される。
【００６３】
受付部２０４は、プレイヤーからの指示入力（操作入力）を受け付ける。受付部２０４は、例えば、ＣＰＵ  １０１、インターフェース１０４ならびにマット型コントローラ１０５から構成される。
【００６４】
判定部２０５は、受付部２０４により受け付けられた指示入力に基づいて、プレイヤーの成績を判定する。判定部２０５は、例えば、ＣＰＵ  １０１により構成される。
【００６５】
表示部２０６は、生成部２０３により生成された画像を表示する。具体的には、表示部２０６は、生成部２０３から供給されたビデオ信号により表現される画像を表示する。表示部２０６は、例えば、モニター１１２により構成される。
【００６６】
ここで、ゲーム装置２００の動作の一例について簡単に説明する。
【００６７】
まず、生成部２０３は、区切り時刻になる前に当該区切り時刻に対応づけられる生成時刻を決定部２０２に生成させる。そして、決定部２０２は、判定部２０５により判定されたプレイヤーの成績に応じて、区切り時刻に対応付ける生成時刻を生成する。ここで、生成部２０３は、決定部２０２により生成された生成時刻を示す信号を形状計算部２０１に供給する。そして、形状計算部２０１は、供給された生成時刻に対応付けるキャラクタの形状を計算する。ここで、生成部２０３は、形状計算部２０１により計算されたキャラクタの形状に基づいて、区切り時刻において表示すべきキャラクタの画像を生成する。そして、生成部２０３は、区切り時刻になると、生成したキャラクタの画像を表示部２０６に供給する。表示部２０６は、供給された画像を表示する。
【００６８】
次に、本実施形態に係るゲーム装置２００の表示画面について、図３を参照して説明する。なお、ゲーム装置２００は、ダンスゲームを実行するゲーム装置に適用されているものとして説明する。
【００６９】
ゲーム装置２００は、ダンスゲームに必要な種々の情報を表示する。例えば、ゲーム装置２００は、ゲーム開始前に、楽曲リスト等を表示し、プレイヤーに所望の楽曲を選択するように促す。そして、楽曲が選択されてゲームが開始されると、ゲーム装置２００は、例えば、図３に示すようなゲーム画面を表示する。
【００７０】
このゲーム画面において、静止マーク３０１Ｌ、３０１Ｄ、３０１Ｕ、３０１Ｒ（以下、必要に応じてこれらを総称して静止マーク３０１という。）は、踏み動作のタイミングをプレイヤーに示すための固定画像である。一方、標的３０２Ｌ、３０２Ｄ、３０２Ｕ、３０２Ｒ（以下、必要に応じてこれらを総称して標的３０２という。）は、課題となる踏み動作をプレイヤーに示すための画像であり、演奏される楽曲に合わせて、例えば、画面の下方から上方へスクロール表示される。そして、標的３０２が静止マーク３０１に到達した際（標的３０２が静止マーク３０１の同じ画像と重なった際）に、要求される踏み動作がプレイヤーにより行われると、得点が得られる。
【００７１】
ここで、本実施形態では、このような処理を実現するためのデータとして、課題データと、楽曲データ列と、音声データ列と、を用意しておく。これらのデータは、例えば、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤにあらかじめ記憶されており、必要に応じてＲＡＭ  １０３に読み出される。
【００７２】
課題データについては、図４を参照して詳細に説明する。図４は、ＲＡＭ  １０３の課題データ領域に読み出された課題データの様子を示す模式図である。
【００７３】
課題データ４００は、音楽の分野における楽譜に相当するデータである。本実施形態では、課題データ４００は、複数のレコード４０２からなる表４０１と、閾時間４１１（この値をｄとする。）と、終了時間４２１（この値をＥとする。）と、を含むデータである。各レコード４０２には、課題時間４０３（この値をＴとする。）と、操作入力の種類４０４と、標的の状態４０５と、を記録する領域がある。各レコード４０２は、音符に相当する。課題時間４０３は、標的３０２がゲーム開始から静止マーク３０１に到達するまでの時間であって、ゲーム開始からどれだけ時間が経過したときにプレイヤーが当該標的３０２について操作入力を行う（ボタンを踏む）べきかを示す時間である。課題データ４００は、標的３０２の数だけ課題時間４０３を含む。操作入力の種類４０４は、課題時間４０３に対応付けられているデータであり、ゲーム開始から当該操作入力の種類４０４に対応する課題時間４０３が経過したときに、マット型コントローラ１０５のどのボタンをプレイヤーが踏むべきかを示すデータである。標的の状態４０５は、標的３０２の状態を数値により表す。標的３０２の状態は、「未処理」が「０」、「成功」が「１」、「失敗」が「２」により表される。閾時間４１１は、ゲーム開始からプレイヤーがボタンを踏むまでの時間と課題時間４０３とがどの程度ずれている場合まで操作入力が成功したとみなすかを示す時間である。終了時間４２１は、ゲームが開始されてからゲームが終了するまでの時間を示すデータである。
【００７４】
課題時間４０３、閾時間４１１、終了時間４２１などは、ｍｓなどを単位として数値で表現されていてもよいし、画面の表示更新レートである垂直同期割込の周期（典型的には１／６０秒）を単位とした数値で表現されていてもよい。楽曲データ列は、ＢＧＭとして再生される楽曲を表現するデータ列である。音声データ列は、プレイヤーがマット型コントローラ１０５のボタンを踏んだときに発せられる音声を表現するデータ列である。
【００７５】
また、ゲーム画面においては、３人のキャラクタ、すなわち、第１キャラクタ３０３、第２キャラクタ３０４、ならびに、第３キャラクタ３０５、がバックダンサーとして表示される。各キャラクタは、楽曲のリズムに合った振り付けに応じたモーションをとる。なお、振り付けは、楽曲のシーン毎にあらかじめ定められている。ここで、各キャラクタがとるモーションは、プレイヤーの成績が良ければ良いほど互いに近いモーションとなる。以下、図５乃至７を参照してキャラクタがとるモーションについて説明する。
【００７６】
まず、図５を参照して、区切り時刻に対応付ける生成時刻を決定する手法について説明する。なお、区切り時刻は、所定期間を等間隔に区切るそれぞれの時刻である。また、生成時刻は、区切り時刻のそれぞれに対応付けられて決定される時刻であり、キャラクタ毎に生成される。さらに、所定期間は、例えば、１シーンに相当する期間である。以下の説明では、Ｎを任意の自然数として、区切り時刻をＤ［０］，Ｄ［１］，…，Ｄ［Ｎ］、第１キャラクタ３０３について決定される生成時刻をＧ１［０］，Ｇ１［１］，…，Ｇ１［Ｎ］、第２キャラクタ３０４について決定される生成時刻をＧ２［０］，Ｇ２［１］，…，Ｇ２［Ｎ］、第３キャラクタ３０５について決定される生成時刻をＧ３［０］，Ｇ３［１］，…，Ｇ３［Ｎ］、とする。また、所定期間をＴｐ、所定期間の先頭の時刻をＢ、所定期間の末尾の時刻をＥとする。さらに、時系列上で隣接する区切り時刻間の間隔（以下、「区切り時間」という。）をＴｓとする。区切り時間は、例えば、垂直同期割込の周期（典型的には１／６０秒）とすることができる。
【００７７】
図５に示す例では、区切り時刻は、Ｄ［０］＝Ｂ，Ｄ［１］，…，Ｄ［６］であり、所定期間を６つの期間に等間隔に区切る７つの時刻である。図５には、所定期間が６つの期間に区切られる例を示しているが、一般的には所定期間はより多くの期間に区切られる。例えば、所定期間が５秒であり、区切り時間が１／６０秒である場合に、所定期間は３００の区間に区切られ、区切り時刻の個数は３０１個となる。
【００７８】
ここで、各区切り時刻に対応付ける生成時刻は、プレイヤーの成績に応じて決定される。各区切り時刻に対応付ける生成時刻を決定する手法は任意であるが、以下に示す（Ａ）〜（Ｃ）の制約を満たす必要がある。すなわち、（Ａ）区切り時刻のうち先頭の区切り時刻と、当該先頭の区切り時刻に対応付けられる生成時刻と、は、いずれも所定期間の先頭の時刻に等しい。（Ｂ）区切り時刻のうち末尾の区切り時刻と、当該末尾の区切り時刻に対応付けられる生成時刻と、は、いずれも所定期間の末尾の時刻に等しい。（Ｃ）区切り時刻を時間の経過順に並べ、その順序で当該区切り時刻に対応付けられる生成時刻を並べると、時間の経過順となる。
【００７９】
図５に示す例では、（Ａ）の制約を満たすため、Ｄ［０］＝Ｇ１［０］＝Ｇ２［０］＝Ｇ３［０］＝Ｂとする。また、（Ｂ）の制約を満たすため、Ｄ［６］＝Ｇ１［６］＝Ｇ２［６］＝Ｇ３［６］＝Ｅとする。さらに、（Ｃ）の制約を満たすため、ｊならびにｋを任意の整数として、ｊ＝０，１，…，５のそれぞれと、整数ｋ＝ｊ＋１，ｊ＋２，…，６のそれぞれと、について、Ｇ１［ｊ］がＧ１［ｋ］に先行し、Ｇ２［ｊ］がＧ２［ｋ］に先行し、Ｇ３［ｊ］がＧ３［ｋ］に先行するようにする。
【００８０】
生成時刻は、キャラクタ毎に決定されるが、まず、第１キャラクタ３０３について決定される生成時刻すなわちＧ１［０］，Ｇ１［１］，…，Ｇ１［６］について説明する。なお、本明細書においては、早い時刻ほど値が小さいものとして不等号を使用する。
【００８１】
本実施形態においては、乱数を用いて、時刻の早いほうから順番にＧ１［０］，Ｇ１［１］，…，Ｇ１［６］が決定される。まず、Ｇ１［０］＝Ｄ［０］に決定される。次に、乱数を用いてＧ１［１］〜Ｇ１［５］が決定される。具体的には、まず、プレイヤーの成績に応じて乱数の発生範囲が決定される。ここで、発生させる乱数をＲ、乱数の振れ幅をＲｍａｘ（ただし、Ｒｍａｘは正の数）とすると、乱数の発生範囲は、−Ｒｍａｘ≦Ｒ≦Ｒｍａｘとなる。ここで、プレイヤーの成績が良ければ良いほど乱数の振れ幅が小さな値に設定される。なお、乱数は、時間（例えば、ミリ秒）を単位とした数値として扱う。そして、区切り時刻から乱数により示される時間だけ経過させた時刻が生成時刻の候補に決定される。決定された生成時刻の候補が上述した（Ｃ）の制約を満たさない場合は、再度乱数が取得されて生成時刻の候補が再度決定される。決定された生成時刻の候補が上述した（Ｃ）の制約を満たすまで、乱数が取得されて生成時刻の候補が決定される処理が繰り返される。一方、決定された生成時刻の候補が上述した（Ｃ）の制約を満たす場合は当該生成時刻の候補が生成時刻に設定される。
【００８２】
例えば、Ｇ１［１］については、まず、−Ｒｍａｘ≦Ｒ１≦Ｒｍａｘの範囲でＲ１が取得される。次に、Ｄ［１］＋Ｒ１がＧ１［１］の候補に決定される。ここで、Ｄ［１］＋Ｒ１≧Ｄ［０］、Ｄ［１］＋Ｒ１≦Ｄ［６］のいずれかが満たされない場合は、再度Ｒ１が取得されてＤ［１］＋Ｒ１が再度決定される。そして、Ｄ［１］＋Ｒ１≧Ｄ［０］、Ｄ［１］＋Ｒ１≦Ｄ［６］の両方が満たされるまで、Ｒ１が取得されてＤ［１］＋Ｒ１が決定される処理が繰り返される。一方、Ｄ［１］＋Ｒ１≧Ｄ［０］、Ｄ［１］＋Ｒ１≦Ｄ［６］の両方が満たされる場合は、Ｄ［１］＋Ｒ１がＧ１［１］に決定される。
【００８３】
Ｇ１［１］が決定されると、同様の手法によってＧ１［２］が決定される。すなわち、まず、−Ｒｍａｘ≦Ｒ２≦Ｒｍａｘの範囲でＲ２が取得される。次に、Ｄ［２］＋Ｒ２がＧ１［２］の候補に決定される。ここで、Ｄ［２］＋Ｒ２≧Ｄ［１］、Ｄ［２］＋Ｒ２≦Ｄ［６］のいずれかが満たされない場合は、再度Ｒ２が取得されてＤ［２］＋Ｒ２が再度決定される。そして、Ｄ［２］＋Ｒ２≧Ｄ［１］、Ｄ［２］＋Ｒ２≦Ｄ［６］の両方が満たされるまで、Ｒ２が取得されてＤ［２］＋Ｒ２が決定される処理が繰り返される。一方、Ｄ［２］＋Ｒ２≧Ｄ［１］、Ｄ［２］＋Ｒ２≦Ｄ［６］の両方が満たされる場合は、Ｄ［２］＋Ｒ２がＧ１［２］に決定される。
【００８４】
同様にして、Ｇ１［３］〜Ｇ１［５］が決定される。そして、Ｇ１［６］＝Ｄ［６］に決定される。第２キャラクタ３０４、ならびに、第３キャラクタ３０５についても、同様に生成時刻が決定される。このようにして決定される生成時刻は、通常は対応付けられる区切り時刻とは異なる時刻となり、また、キャラクタ毎に異なる時刻となる。
【００８５】
次に、図６を参照して、各キャラクタがどのようなモーションをとるかを説明する。図６には、各区切り時刻すなわちＤ［０］＝Ｂ，Ｄ［１］，…，Ｄ［６］において、各キャラクタがどのように表示されるかを示している。なお、図６には、各区切り時刻において、模範キャラクタ５００がどのように表示されるかについても示している。模範キャラクタ５００は、模範的な速さで楽曲のリズムに合った振り付けに従ったモーションをとるキャラクタである。各キャラクタは、区切り時刻と当該区切り時刻に対応付けられる生成時刻とが全て一致する場合に、模範キャラクタ５００と同じ模範的な速さでモーションをとる。
【００８６】
図６に示す例では、模範キャラクタ５００は、所定期間において、Ｄ［０］で起立し、Ｄ［１］で向かって左側の手を挙げ、Ｄ［２］で向かって右側の手を挙げ、Ｄ［３］で向かって左側の足を挙げ、Ｄ［４］で向かって左側の手を下げ、Ｄ［５］で向かって右側の手を下げ、Ｄ［６］で向かって左側の足を下げる、というモーションをとる。ここで、区切り時刻に対応付けられて第１キャラクタ３０３について決定される生成時刻は、当該区切り時刻と異なる時刻に決定される。区切り時刻に対応付けられる生成時刻を決定する手法は任意であるが、例えば、乱数発生器が発生する乱数に基づいて決定することができる。具体的には、区切り時刻と当該区切り時刻に対応付けられる生成時刻との差が、乱数発生器が発生した乱数により示される時間となるように、生成時刻を決定する。ここで、乱数が０の場合は、再度乱数を発生させて乱数が０以外の値になるようにする。これにより、区切り時刻に対応付けられる生成時刻が当該区切り時刻と異なる時刻に決定される。従って、第１キャラクタ３０３は、模範キャラクタ５００とは異なるタイミングで各動作を行うようなモーションをとる。具体的には、第１キャラクタ３０３は、模範キャラクタ５００よりも早いタイミングもしくは遅いタイミングに各モーションをとる。ただし、第１キャラクタ３０３は、所定期間の先頭の時刻と所定期間の末尾の時刻では、模範キャラクタ５００と同じタイミングでモーションをとる。
【００８７】
同様に、第２キャラクタ３０４ならびに第３キャラクタ３０５も、模範キャラクタ５００とは異なるタイミングで各モーションをとる。また、生成時刻は、キャラクタ毎に決定されるため、各キャラクタは、いずれも他のキャラクタとは異なるタイミングで各モーションをとることになる。従って、表示画面には、それぞれが異なるタイミングで各モーションをとる３つのキャラクタが表示されることになる。また、区切り時刻に対応付けられる生成時刻は、プレイヤーの成績が良ければ良いほど、当該区切り時刻に時系列上で近い時刻に決定される。このため、プレイヤーの成績が良ければ良いほど、３つのキャラクタの各モーションをとるタイミングのばらつきが小さくなる。
【００８８】
ここで、図７を参照して、各キャラクタが各区切り時刻においてどのようなモーションをとるかを説明する。
【００８９】
例えば、第１キャラクタ３０３は、Ｄ［０］においては、Ｇ１［０］＝Ｄ［０］において模範キャラクタ５００がとる動作と同じ動作をとる。そして、第１キャラクタ３０３は、Ｄ［１］においては、Ｄ［１］に対応付けられて決定されたＧ１［１］において模範キャラクタ５００がとる動作と同じ動作をとる。ここで、Ｇ１［１］＞Ｄ［１］であるため、Ｄ［１］の時点では、第１キャラクタ３０３は、模範キャラクタ５００よりも先行した動作をとる。そして、第１キャラクタ３０３は、Ｄ［２］においては、Ｄ［２］に対応付けられて決定されたＧ１［２］において模範キャラクタ５００がとる動作と同じ動作をとる。ここで、Ｇ１［２］＞Ｄ［２］であるため、Ｄ［２］の時点でも、第１キャラクタ３０３は、模範キャラクタ５００よりも先行した動作をとる。
【００９０】
また、例えば、第２キャラクタ３０４は、Ｄ［０］においては、Ｇ２［０］＝Ｄ［０］において模範キャラクタ５００がとる動作と同じ動作をとる。そして、第２キャラクタ３０４は、Ｄ［１］においては、Ｄ［１］に対応付けられて決定されたＧ２［１］において模範キャラクタ５００がとる動作と同じ動作をとる。ここで、Ｇ２［１］＞Ｄ［１］であるため、Ｄ［１］の時点では、第２キャラクタ３０４は、模範キャラクタ５００よりも先行した動作をとる。そして、第２キャラクタ３０４は、Ｄ［２］においては、Ｄ［２］に対応付けられて決定されたＧ２［２］において模範キャラクタ５００がとる動作と同じ動作をとる。ここで、Ｇ２［２］＜Ｄ［２］であるため、Ｄ［２］の時点では、第２キャラクタ３０４は、模範キャラクタ５００よりも遅れた動作をとる。
【００９１】
以上説明したように、各キャラクタは、各区切り時刻において、模範キャラクタならびに他のキャラクタと異なる動作をとる。
【００９２】
次に、本実施形態に係るゲーム装置２００の動作について、図８ならびに図９を参照して説明する。図８は、本実施形態に係るゲーム装置２００が実行するキャラクタ表示制御処理を示すフローチャートである。また、図９は、本実施形態に係るゲーム装置２００が実行する生成時刻決定処理を示すフローチャートである。
【００９３】
課題データ５００の初期値は、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭに記憶されているが、ゲームを開始すると、ＣＰＵ  １０１は、課題データ４００を、ＤＶＤ−ＲＯＭからＲＡＭ  １０３の所定の課題データ領域に読み出して初期化する（ステップＳ１０１）。また、ＣＰＵ  １０１は、ゲーム開始後の最初のシーンにおける区切り時刻に対応付ける生成時刻を、当該区切り時刻に決定する。
【００９４】
次に、ＣＰＵ  １０１は、音声処理部１１０に、当該課題データに対応付けられたＢＧＭの再生を開始するように指示を出す（ステップＳ１０２）。ＢＧＭの音声データ列は、ＤＶＤ−ＲＯＭ内に、ＰＣＭ（Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）形式、ＭＰ３（ＭＰＥＧ  Ｌａｙｅｒ  ３）形式、Ｏｇｇ  Ｖｏｒｂｉｓ形式、ＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）形式等で記録されている。
【００９５】
そして、ＣＰＵ  １０１は、操作入力の有無を確認する（ステップＳ１０３）。具体的には、ＣＰＵ  １０１は、マット型コントローラ１０５の各ボタンの押圧操作の状況を調べる。なお、押圧操作され始めたボタンがある場合、当該ボタンが押圧されたことを示す音声を表現する音声データ列の再生を行うように、音声処理部１１０に対して指示を出してもよい。当該音声データ列としては、上記のような各種の音声データ列を利用することができるが、処理の高速化を図るため、あらかじめＲＡＭ  １０３に読み出しておくことが望ましい。また、これらの音声データ列の保存形式として、ＭＩＤＩ形式等、データ量が少ない形式を利用することができる。
【００９６】
次に、ＣＰＵ  １０１は、操作入力の判定を行う（ステップＳ１０４）。具体的には、ＣＰＵ  １０１は、課題時間４０３と、操作入力の種類４０４と、閾時間４１１とに基づいて、成功した操作入力があるか否か、ならびに、失敗した操作入力があるか否かを判定する。すなわち、ＣＰＵ  １０１は、当該区切り時刻（当該垂直同期割り込みがなされた時刻）において押されるべきボタンが押されたか、ならびに、当該区切り時刻において押されるべきではないボタンが押されたかを確認する。ＣＰＵ  １０１は、成功した操作入力がある場合は、得点を加算する。
【００９７】
そして、ＣＰＵ  １０１は、キャラクタの形状を取得する（ステップＳ１０５）。具体的には、ＣＰＵ  １０１は、ステップＳ１０８で決定される生成時刻（ゲーム開始後の最初のシーンにおいては、ステップＳ１０１で決定された生成時刻（区切り時刻））に基づいてキャラクタの形状を計算する。なお、振り付けは、シーン毎にあらかじめ定められている。従って、シーン中の区切り時刻に対応付けられる生成時刻が決定すると、当該区切り時刻におけるキャラクタの形状も定まる。ＣＰＵ  １０１は、当該区切り時刻で表示されるキャラクタの形状を、キャラクタ毎に求める。
【００９８】
次に、ＣＰＵ  １０１は、キャラクタを表示する（ステップＳ１０６）。具体的には、ＣＰＵ  １０１は、画像処理部１０７を制御して、ステップＳ１０５で取得したキャラクタの形状で各キャラクタを表示させるビデオ信号を生成し、当該生成したビデオ信号をモニター１１２に供給する。
【００９９】
そして、ＣＰＵ  １０１は、現在の区切り時刻が現在のシーンに含まれる最後の区切り時刻か否か、すなわち、現在のシーンが終了したか否かを判別する（ステップＳ１０７）。ＣＰＵ  １０１は、現在のシーンが終了していないと判別すると（ステップＳ１０７：ＮＯ）、次の区切り時刻まで待機する処理に移行する（ステップＳ１０９）。一方、ＣＰＵ  １０１は、現在のシーンが終了したと判別すると（ステップＳ１０７：ＹＥＳ）、生成時刻決定処理に移行する（ステップＳ１０８）。
【０１００】
生成時刻決定処理については、図９に示すフローチャートを参照して詳細に説明する。
【０１０１】
まず、ＣＰＵ  １０１は、現在のシーンにおけるプレイヤーの成績を求める（ステップＳ２０１）。典型的には、ステップＳ１０４でなされた操作入力の判定結果に基づいて加算された得点のうち、現在のシーンにおいて加算された得点を取得する。
【０１０２】
次に、ＣＰＵ  １０１は、ステップＳ２０１において求めたプレイヤーの成績に応じて乱数の発生範囲を設定する（ステップＳ２０２）。ここで、乱数の発生範囲は、プレイヤーの成績が良ければ良いほど狭くなるように設定される。
【０１０３】
そして、ＣＰＵ  １０１は、第１キャラクタ３０３、第２キャラクタ３０４、ならびに、第３キャラクタ３０５の３つのキャラクタから１つのキャラクタを選択する（ステップＳ２０３）。
【０１０４】
次に、ＣＰＵ  １０１は、区切り時刻を１つ選択する（ステップＳ２０４）。例えば、ＣＰＵ  １０１は、早い時刻から順番に区切り時刻を選択する。
【０１０５】
そして、ＣＰＵ  １０１は、ステップＳ２０４において選択された区切り時刻がシーンの先頭又は末尾の区切り時刻であるか否かを判別する（ステップＳ２０５）。ＣＰＵ  １０１は、ステップＳ２０４において選択された区切り時刻がシーンの先頭又は末尾の区切り時刻であると判別した場合（ステップＳ２０５：ＹＥＳ）、当該区切り時刻を当該区切り時刻に対応付ける生成時刻に決定する（ステップＳ２０６）。
【０１０６】
一方、ＣＰＵ  １０１は、ステップＳ２０４において選択された区切り時刻がシーンの先頭又は末尾の区切り時刻のいずれでもないと判別した場合（ステップＳ２０５：ＮＯ）、ステップＳ２０２において設定された範囲において乱数を発生させて乱数を取得する（ステップＳ２０７）。
【０１０７】
そして、ＣＰＵ  １０１は、乱数の取得（ステップＳ２０７）を終了すると、ステップＳ２０４において選択された区切り時刻に対応付ける生成時刻の候補を決定する（ステップＳ２０８）。具体的には、ＣＰＵ  １０１は、ステップＳ２０４において選択された区切り時刻から、ステップＳ２０７において取得した乱数により示される時間だけ経過させた時刻を、生成時刻の候補に決定する。なお、乱数が負の値である場合は、生成時刻の候補は、区切り時刻よりも早い時刻となる。
【０１０８】
次に、ＣＰＵ  １０１は、ステップＳ２０８において決定した生成時刻の候補が制約条件を満たすか否かを判別する（ステップＳ２０９）。ＣＰＵ  １０１は、生成時刻の候補が制約条件を満たすと判別すると（ステップＳ２０９：ＹＥＳ）、生成時刻の候補を生成時刻に決定する（ステップＳ２１０）。一方、ＣＰＵ  １０１は、生成時刻の候補が制約条件を満たさないと判別すると（ステップＳ２０９：ＮＯ）、乱数を取得する処理（ステップＳ２０７）に処理を戻す。
【０１０９】
ＣＰＵ  １０１は、区切り時刻を生成時刻に決定する処理（ステップＳ２０６）、または、生成時刻の候補を生成時刻に決定する処理（ステップＳ２１０）を終了すると、全ての区切り時刻を選択したか否かを判別する（ステップＳ２１１）。ＣＰＵ  １０１は、いずれかの区切り時刻を選択していないと判別すると（ステップＳ２１１：ＮＯ）、区切り時刻を選択する処理（ステップＳ２０４）に処理を戻す。一方、ＣＰＵ  １０１は、全ての区切り時刻を選択したと判別すると（ステップＳ２１１：ＹＥＳ）、全てのキャラクタを選択したか否かを判別する（ステップＳ２１２）。ＣＰＵ  １０１は、いずれかのキャラクタを選択していないと判別すると（ステップＳ２１２：ＮＯ）、キャラクタを選択する処理（ステップＳ２０３）に処理を戻す。一方、ＣＰＵ  １０１は、全てのキャラクタを選択したと判別すると（ステップＳ２１２：ＹＥＳ）、生成時刻決定処理を終了する。
【０１１０】
ＣＰＵ  １０１は、シーン終了ではないと判別（ステップＳ１０７：ＮＯ）、または、生成時刻決定処理（ステップＳ１０８）を終了すると、次の区切り時刻、すなわち、次の垂直同期まで待機する（ステップＳ１０９）。この待機の間に、ほかの処理を実行しても良い。そして、ＣＰＵ  １０１は、ゲーム終了時刻か否かを判別する（ステップＳ１１０）。ゲーム終了時刻であるか否かは、ゲームを開始してからの経過時間が、課題データ４００に含まれるゲーム時間を超えているか否かを判別することができる。ＣＰＵ  １０１は、ゲーム終了時刻であると判別すると（ステップＳ１１０：ＹＥＳ）、キャラクタ表示制御処理を終了する。一方、ＣＰＵ  １０１は、ゲーム終了時刻ではないと判別すると（ステップＳ１１０：ＮＯ）、操作入力の有無を確認する処理（ステップＳ１０３）に処理を戻す。
【０１１１】
本実施形態に係るゲーム装置によれば、振り付けに従った動作を実行するトータルの時間を変化させずに、当該振り付けに従った動作中の動作の速さをキャラクタ毎に変化させることができる。これにより、各キャラクタは、シーン内で完結すべき動作を、シーン内のあるタイミングでは早送り再生し、また、シーン内の別のタイミングではスロー再生しながらも、シーン内で完結するように表示される。なお、早送り再生もしくはスロー再生するタイミングは、キャラクタ毎に異なる。従って、各キャラクタが各々の再生速度で振り付けに従った動作を実行する動画像が表示される。そして、プレイヤーの成績が良ければ良いほど、各動作を実行するタイミングのばらつきを少なくすることができる。これにより、プレイヤーの成績が良いほど、すなわち、プレイヤーがダンスのステップを上手に踏むほど、バックダンサーとしての各キャラクタが振り付けに従った各動作を揃って実行し、プレイヤーの成績が悪いほど、すなわち、プレイヤーがダンスのステップを下手に踏むほど、バックダンサーとしてのキャラクタが振り付けに従った各動作をばらばらに実行するように、各キャラクタを表示することができる。
【０１１２】
（第２の実施形態）
第１の実施形態では、１つの生成時刻を決定するために、その都度乱数を発生させる例を示した。しかし、本発明によれば、全ての区切り時刻から代表となる区切り時刻（以下「代表時刻」という。）を選択し、代表時刻に対応付ける生成時刻のみ乱数を発生させることにより決定し、代表時刻以外の区切り時刻に対応付ける生成時刻については、代表時刻に対応付けられた生成時刻を補完するように決定しても良い。以下、第２の実施形態に係るゲーム装置について説明するが、第２の実施形態に係るゲーム装置の構成は、第１の実施形態に係るゲーム装置の構成と同様であるため説明を省略する。
【０１１３】
まず、図１０を参照して、生成時刻を決定する手法について説明する。以下、第１キャラクタ３０３について生成時刻を決定する手法について説明するが、他のキャラクタについても同様の手法により生成時刻を決定する。図１０に示す例では、区切り時刻は、Ｄ［０］＝Ｂ，Ｄ［１］，…，Ｄ［３０］＝Ｅであり、所定期間を３０個の期間に区切る３１個の時刻である。ここで、第１キャラクタ３０３についてＤ［０］，Ｄ［１］，…，Ｄ［３０］のそれぞれに対応付ける生成時刻をＧ１［０］，Ｇ１［１］，…，Ｇ１［３０］とする。
【０１１４】
ここで、時系列上で隣接する代表時刻間の間隔が等間隔になるように、全ての区切り時刻の中から複数の代表時刻を選択する。図１０に示す例では、先頭と末尾の区切り時刻を含むように全ての区切り時刻の中から９個おきに選択されたＤ［０］、Ｄ［１０］、Ｄ［２０］、Ｄ［３０］の４個の区切り時刻が代表時刻である。
【０１１５】
まず、選択された代表時刻であるＤ［０］、Ｄ［１０］、Ｄ［２０］、Ｄ［３０］のそれぞれに対応付ける生成時刻であるＧ１［０］、Ｇ１［１０］、Ｇ１［２０］、Ｇ１［３０］が決定される。具体的には、まず、Ｇ１［０］＝Ｄ［０］に決定される。次に、乱数を用いてＧ１［１０］とＧ１［２０］とが決定される。具体的には、まず、プレイヤーの成績に応じて乱数の発生範囲が決定される。ここで、プレイヤーの成績が良ければ良いほど乱数の振れ幅が狭く設定される。ただし、本実施形態では、乱数を用いて決定された生成時刻が必ず制約条件を満たすように乱数の振れ幅が設定される。すなわち、プレイヤーの成績が最も悪い場合であっても、所定期間の１／６以下になるように乱数の振れ幅が設定される。そして、代表時刻から乱数により示される時間だけ経過させた時刻が生成時刻に決定される。
【０１１６】
例えば、Ｇ１［１０］について、−Ｒｍａｘ≦Ｒ３≦Ｒｍａｘの範囲でＲ３が取得された場合、Ｄ［１０］＋Ｒ３がＧ１［１０］に決定される。同様にして、Ｇ１［２０］について、−Ｒｍａｘ≦Ｒ４≦Ｒｍａｘの範囲でＲ４が取得された場合、Ｄ［２０］＋Ｒ４がＧ１［２０］に決定される。
【０１１７】
そして、代表時刻以外の区切り時刻に対応付ける生成時刻が決定される。代表時刻以外の区切り時刻に対応付けられる生成時刻は、代表時刻に対応付けられた生成時刻間を等間隔に区切る時刻に決定される。具体的には、Ｇ１［０］からＧ１［１０］までの時間を１０等分する時刻のそれぞれが、Ｇ１［１］〜Ｇ１［９］に設定される。同様に、Ｇ１［１０］からＧ１［２０］までの時間を１０等分する時刻のそれぞれが、Ｇ１［１１］からＧ１［１９］に設定される。同様に、Ｇ１［２０］からＧ１［３０］までの時間を１０等分する時刻のそれぞれが、Ｇ１［２１］からＧ１［２９］に設定される。
【０１１８】
次に、本実施形態に係るゲーム装置２００の動作について説明する。なお、本実施形態に係るゲーム装置２００が実行するキャラクタ表示制御処理は、生成時刻決定処理を除き、第１の実施形態と同様である。従って、以下では、図１１を参照して、本実施形態に係るゲーム装置２００が実行する生成時刻決定処理について説明する。
【０１１９】
まず、ＣＰＵ  １０１は、現在のシーンにおけるプレイヤーの成績を求める（ステップＳ３０１）。次に、ＣＰＵ  １０１は、ステップＳ３０１において求めたプレイヤーの成績に応じて乱数の発生範囲を設定する（ステップＳ３０２）。そして、ＣＰＵ  １０１は、第１キャラクタ３０３、第２キャラクタ３０４、ならびに、第３キャラクタ３０５の３つのキャラクタから１つのキャラクタを選択する（ステップＳ３０３）。
【０１２０】
次に、ＣＰＵ  １０１は、区切り時刻の代表時刻を１つ選択する（ステップＳ３０４）。本実施形態では、ＣＰＵ  １０１は、早い時刻から順番に代表時刻を選択する。
【０１２１】
そして、ＣＰＵ  １０１は、ステップＳ３０４において選択された代表時刻がシーンの先頭又は末尾の区切り時刻か否かを判別する（ステップＳ３０５）。ＣＰＵ  １０１は、ステップＳ３０４において選択された代表時刻がシーンの先頭又は末尾の区切り時刻であると判別した場合（ステップＳ３０５：ＹＥＳ）、当該代表時刻を当該代表時刻である区切り時刻に対応付ける生成時刻に決定する（ステップＳ３０６）。
【０１２２】
一方、ＣＰＵ  １０１は、ステップＳ３０４において選択された代表時刻がシーンの先頭又は末尾の区切り時刻のいずれでもないと判別した場合（ステップＳ３０５：ＮＯ）、ステップＳ３０２において設定された範囲において乱数を発生させて乱数を取得する（ステップＳ３０７）。
【０１２３】
そして、ＣＰＵ  １０１は、乱数の取得（ステップＳ３０７）を終了すると、ステップＳ３０４において選択された代表時刻である区切り時刻に対応付ける生成時刻を決定する（ステップＳ３０８）。具体的には、ＣＰＵ  １０１は、ステップＳ３０４において選択された代表時刻から、ステップＳ３０７において取得した乱数により示される時間だけ経過させた時刻を、当該区切り時刻に対応付ける生成時刻に決定する。
【０１２４】
ＣＰＵ  １０１は、代表時刻を生成時刻に決定する処理（ステップＳ３０６）、または、生成時刻を決定する処理（ステップＳ３０８）を終了すると、全ての代表時刻を選択したか否かを判別する（ステップＳ３０９）。ＣＰＵ  １０１は、いずれかの代表時刻を選択していないと判別すると（ステップＳ３０９：ＮＯ）、区切り時刻を選択する処理（ステップＳ３０４）に処理を戻す。一方、ＣＰＵ  １０１は、全ての代表時刻を選択したと判別すると（ステップＳ３０９：ＹＥＳ）、代表時刻間の区切り時刻に対応付ける生成時刻を決定する（ステップＳ３１０）。
【０１２５】
具体的には、ＣＰＵ  １０１は、代表時刻を時系列に並べたときに隣接する２つの代表時刻のそれぞれに対応付けられた生成時刻間の時間を、（当該隣接する２つの代表時刻間に存在する区切り時刻の数＋１）個に等間隔に区切る時刻のそれぞれを、当該隣接する２つの代表時刻間に存在する区切り時刻のそれぞれに対応付ける生成時刻として決定する。ＣＰＵ  １０１は、代表時刻間の区切り時刻に対応付ける生成時刻を決定する処理（ステップＳ３１０）を終了すると、全てのキャラクタを選択したか否かを判別する（ステップＳ３１１）。ＣＰＵ  １０１は、いずれかのキャラクタを選択していないと判別すると（ステップＳ３１１：ＮＯ）、キャラクタを選択する処理（ステップＳ３０３）に処理を戻す。一方、ＣＰＵ  １０１は、全てのキャラクタを選択したと判別すると（ステップＳ３１１：ＹＥＳ）、生成時刻決定処理を終了する。
【０１２６】
本実施形態に係るゲーム装置２００によれば、代表時刻についてのみ乱数を用いて生成時刻が決定され、代表時刻以外の区切り時刻については代表時刻に対応付けられた生成時刻の間を補完するように生成時刻が決定される。これにより、表示されるキャラクタのモーションがスムーズになる。また、かかる構成によれば乱数の発生範囲をある程度大きくしても制約条件が満たされることになる。さらに、制約条件を満たすか否かを判別し、再度乱数を発生させる処理をなくすことができるため、処理時間の短縮が期待できる。
【０１２７】
（第３の実施形態）
第１、２の実施形態では、乱数を用いて生成時刻を決定してたが、区切り時刻と当該区切り時刻に対応付ける生成時刻の当該区切り時刻からのシフト量とが対応付けられたテーブルをあらかじめ用意しておき、当該テーブルを用いて生成時刻を決定するようにしてもよい。以下、第３の実施形態に係るゲーム装置２００について説明するが、第３の実施形態に係るゲーム装置２００の構成は、第１ならびに第２の実施形態に係るゲーム装置２００の構成と同様であるため説明を省略する。
【０１２８】
まず、図１２を参照して、生成時刻を決定する手法について説明する。以下、第１キャラクタ３０３について生成時刻を決定する手法について説明するが、他のキャラクタについても同様の手法により生成時刻を決定する。図１２に示す例では、区切り時刻は、Ｄ［０］＝Ｂ，Ｄ［１］，…，Ｄ［８］＝Ｅであり、所定期間を８個の期間に区切る９個の時刻である。ここで、第１キャラクタ３０３についてＤ［０］，Ｄ［１］，…，Ｄ［８］のそれぞれに対応付ける生成時刻をＧ１［０］，Ｇ１［１］，…，Ｇ１［８］とする。
【０１２９】
ここで、外部メモリ１０６などにあらかじめ記憶されている、区切り時刻と当該区切り時刻に対応付ける生成時刻の当該区切り時刻からのシフト量とが対応付けられたテーブルに基づいて、生成時刻が決定される。なお、シフト量は、区切り時刻と当該区切り時刻に対応付ける生成時刻との差の時間を示す量である。このテーブルにおいて、先頭の区切り時刻に対応付けられているシフト量と末尾の区切り時刻に対応付けられているシフト量とがともに０であり、区切り時刻の変化に従ってシフト量が徐々に変化するように、区切り時刻とシフト量とが対応付けられていることが望ましい。このテーブルは、区切り時刻を変数として当該区切り時刻に対応付けるシフト量が所定の関数の値になるように、当該変数の離散値と当該関数の値の離散値とを対応付けて記憶するものでもよい。図１２を参照して、区切り時刻に対応付けるシフト量が当該区切り時刻を変数とする正弦関数の値となるように区切り時刻にシフト量が対応付けられたテーブルに基づいて生成時刻を決定する例について説明する。
【０１３０】
図１２に示す例では、Ｄ［０］に対応付けられるＧ１［０］のシフト量とＤ［８］に対応付けられるＧ１［８］のシフト量とは０である。ここで、Ｓｍａｘは正弦関数の振幅とする。なお、Ｄ［２］に対応付けられるＧ１［２］のシフト量が最大（Ｓｍａｘ）であり、Ｄ［６］に対応付けられるＧ１［６］のシフト量が最小（−Ｓｍａｘ）である。
【０１３１】
ここで、プレイヤーの成績に応じてシフト量のゲインが決定される。具体的には、プレイヤーの成績が良ければ良いほどゲインは小さな値に設定される。そして、区切り時刻から、当該区切り時刻に対応付けられているシフト量にゲインを乗じた値だけ経過させた時刻（シフトさせた時刻）を生成時刻に決定する。なお、シフト量とゲインとは、上述した制約を満たすように設定される。
【０１３２】
また、ゲインは各キャラクタで共通のものを用いてもよいが、テーブルはキャラクタ毎に別々のものを用意することが望ましい。これにより、プレイヤーの成績が良ければ良いほど、振り付けに従った各動作を各キャラクタが実行するタイミングのばらつきが小さくなるように表示され、プレイヤーの成績が悪ければ悪いほど、振り付けに従った各動作を各キャラクタが実行するタイミングのばらつきが大きくなるように表示される。
【０１３３】
次に、本実施形態に係るゲーム装置２００の動作について説明する。なお、本実施形態に係るゲーム装置２００が実行するキャラクタ表示制御処理は、生成時刻決定処理を除き、第１ならびに第２の実施形態のものと同様である。従って、以下では、図１３を参照して、本実施形態に係るゲーム装置２００が実行する生成時刻決定処理について説明する。
【０１３４】
まず、ＣＰＵ  １０１は、現在のシーンにおけるプレイヤーの成績を求める（ステップＳ４０１）。次に、ＣＰＵ  １０１は、ステップＳ４０１において求めたプレイヤーの成績に応じてシフト量のゲインを決定する（ステップＳ４０２）。そして、ＣＰＵ  １０１は、第１キャラクタ３０３、第２キャラクタ３０４、ならびに、第３キャラクタ３０５の３つのキャラクタから１つのキャラクタを選択する（ステップＳ４０３）。
【０１３５】
次に、ＣＰＵ  １０１は、キャラクタに対応付けられたテーブルを外部メモリ１０６から読み出す（ステップＳ４０４）。なお、このテーブルには、区切り時刻とシフト量とが対応付けられて記憶されている。
【０１３６】
次に、ＣＰＵ  １０１は、区切り時刻を１つ選択する（ステップＳ４０５）。例えば、ＣＰＵ  １０１は、早い時刻から順番に区切り時刻を選択する。
【０１３７】
そして、ＣＰＵ  １０１は、ステップＳ４０５で選択した区切り時刻に対応付ける生成時刻を決定する（ステップＳ４０６）。具体的には、ＣＰＵ  １０１は、ステップＳ４０５で選択した区切り時刻から、ステップＳ４０２で決定したゲインとステップＳ４０４で読み出したテーブル中の当該区切り時刻に対応付けられているシフト量との積だけ経過させた時刻を当該区切り時刻に対応付ける生成時刻に決定する。
【０１３８】
ＣＰＵ  １０１は、生成時刻を決定する処理（ステップＳ４０６）を終了すると、全ての区切り時刻を選択したか否かを判別する（ステップＳ４０７）。ＣＰＵ  １０１は、いずれかの区切り時刻を選択していないと判別すると（ステップＳ４０７：ＮＯ）、区切り時刻を選択する処理（ステップＳ４０５）に処理を戻す。一方、ＣＰＵ  １０１は、全ての区切り時刻を選択したと判別すると（ステップＳ４０７：ＹＥＳ）、全てのキャラクタを選択したか否かを判別する（ステップＳ４０８）。ＣＰＵ  １０１は、いずれかのキャラクタを選択していないと判別すると（ステップＳ４０８：ＮＯ）、キャラクタを選択する処理（ステップＳ４０３）に処理を戻す。一方、ＣＰＵ  １０１は、全てのキャラクタを選択したと判別すると（ステップＳ４０８：ＹＥＳ）、生成時刻決定処理を終了する。
【０１３９】
本実施形態に係るゲーム装置によれば、区切り時刻に対応付ける生成時刻を乱数を発生させることなくキャラクタ毎に異なる生成時刻に決定することができる。これにより、処理速度の向上が期待できる。
【０１４０】
（変形例）
本発明は、上述した第１〜３の実施形態に限られるものではなく、種々の変形が可能である。
【０１４１】
第１〜３の実施形態では、各シーンにおいて各キャラクタがとるモーションのばらつきの度合いを、前のシーンのプレイヤーの成績に応じて変化させるようにしていた。しかしながら、各シーンにおいて各キャラクタがとるモーションのばらつきの度合いを、ゲーム開始後の任意の期間のプレイヤーの成績に応じて変化させてもよい。
【０１４２】
第１〜３の実施形態では、プレイヤーの成績に応じて、各キャラクタがとるモーションのばらつきを変化させるようにしていたが、プレイヤーの成績とは無関係に各キャラクタがとるモーションを変化させるようにしてもよい。
【０１４３】
第３の実施形態では、区切り時刻と当該区切り時刻に対応付ける生成時刻の当該区切り時刻からの時間軸上のシフト量と対応付けるテーブルをあらかじめ外部メモリ１０６に記憶しておき、当該テーブルを用いて、生成時刻を決定した。しかし、テーブルは、プログラム中にあらかじめ記憶されているものでもよい。また、テーブルを用いずに、区切り時刻を変数としてシフト量を求めるような所定の関数を用いて、生成時刻を決定するようにしてもよい。この場合、先頭の区切り時刻に対応付ける生成時刻が当該先頭の区切り時刻に決定され、末尾の区切り時刻に対応付ける生成時刻が当該末尾の区切り時刻に決定されるような関数を採用する。
【産業上の利用可能性】
【０１４４】
以上説明したように、本発明によれば、キャラクタを適切に表示するのに好適な動画像生成装置、ゲーム装置、動画像生成方法、ならびに、これらをコンピュータにより実現するためのプログラムを提供することができる。
【符号の説明】
【０１４５】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  マット型コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
１１１  ＲＴＣ
１１２  モニター
２００  ゲーム装置
２０１  形状計算部
２０２  決定部
２０３  生成部
２０４  受付部
２０５  判定部
２０６  表示部
３０１Ｌ、３０１Ｄ、３０１Ｕ、３０１Ｒ  静止マーク
３０２Ｌ、３０２Ｄ、３０２Ｕ、３０２Ｒ  標的
３０３  第１キャラクタ
３０４  第２キャラクタ
３０５  第３キャラクタ
４００  課題データ
４０１  表
４０２  レコード
４０３  課題時間
４０４  操作入力の種類
４０５  標的の状態
４１１  閾時間
４２１  終了時間
５００  模範キャラクタ
【図１】
2010178782.tif 000003
【図２】
2010178782.tif 000004
【図３】
2010178782.tif 000005
【図４】
2010178782.tif 000006
【図５】
2010178782.tif 000007
【図６】
2010178782.tif 000008
【図７】
2010178782.tif 000009
【図８】
2010178782.tif 000010
【図９】
2010178782.tif 000011
【図１０】
2010178782.tif 000012
【図１１】
2010178782.tif 000013
【図１２】
2010178782.tif 000014
【図１３】
2010178782.tif 000015
【手続補正書】
【提出日】平成22年4月23日(2010.4.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定期間に含まれるいずれかの時刻が与えられると、当該時刻に対応付けられるキャラクタの形状を計算する形状計算部、
前記所定期間の先頭から末尾までを等間隔に区切る区切り時刻のそれぞれに対応付けられる生成時刻を決定する決定部、
前記区切り時刻のそれぞれに対応付けられる生成時刻を前記形状計算部に与えて計算させ、当該計算されたキャラクタの形状から当該区切り時刻において表示すべきキャラクタの画像を生成する生成部
を備える動画像生成装置であって、
前記区切り時刻のうち先頭の区切り時刻と、当該先頭の区切り時刻に対応付けられる生成時刻と、は、いずれも前記所定期間の先頭の時刻に等しく、
前記区切り時刻のうち末尾の区切り時刻と、当該末尾の区切り時刻に対応付けられる生成時刻と、は、いずれも前記所定期間の末尾の時刻に等しく、
前記区切り時刻を時間の経過順に並べ、その順序で当該区切り時刻に対応付けられる生成時刻を並べると、時間の経過順となり、
前記所定期間に含まれる区切り時刻群と当該所定期間に含まれる生成時刻群とは異なる
ことを特徴とする動画像生成装置。
【請求項２】
所定期間に含まれるいずれかの時刻が与えられると、当該時刻に対応付けられるキャラクタの形状を計算する形状計算部、
前記所定期間の先頭から末尾までを等間隔に区切る区切り時刻のそれぞれに対応付けられる生成時刻を決定する決定部、
前記区切り時刻のそれぞれに対応付けられる生成時刻を前記形状計算部に与えて計算させ、当該計算されたキャラクタの形状から当該区切り時刻において表示すべきキャラクタの画像を生成する生成部
を備える動画像生成装置であって、
前記区切り時刻のうち先頭の区切り時刻と、当該先頭の区切り時刻に対応付けられる生成時刻と、は、いずれも前記所定期間の先頭の時刻に等しく、
前記区切り時刻のうち末尾の区切り時刻と、当該末尾の区切り時刻に対応付けられる生成時刻と、は、いずれも前記所定期間の末尾の時刻に等しく、
前記区切り時刻を時間の経過順に並べ、その順序で当該区切り時刻に対応付けられる生成時刻を並べると、時間の経過順となり、
前記決定部は、前記区切り時刻と、当該区切り時刻に対応付けられる生成時刻と、の差を、乱数に基づいて決定する
ことを特徴とする動画像生成装置。
【請求項３】
請求項１又は２に記載の動画像生成装置であって、
前記生成部は、複数のキャラクタの画像を生成し、
前記決定部は、前記複数のキャラクタ毎に生成時刻を決定する
ことを特徴とする動画像生成装置。
【請求項４】
請求項２に記載の動画像生成装置であって、
前記決定部は、前記先頭の区切り時刻と前記末尾の区切り時刻とを含むように前記区切り時刻から所定の個数の区切り時刻（以下「代表時刻」という。）を選択し、
（Ａ）前記代表時刻のうち前記先頭の区切り時刻に対応付けられる生成時刻を当該先頭の区切り時刻と等しくなるように決定し、
（Ｂ）前記代表時刻のうち前記末尾の区切り時刻に対応付けられる生成時刻を当該末尾の区切り時刻と等しくなるように決定し、
（Ｃ）前記代表時刻のうち前記先頭の区切り時刻と前記末尾の区切り時刻と以外の区切り時刻と、当該区切り時刻に対応付けられる生成時刻と、の差を、乱数に基づいて決定し、
（Ｄ）前記代表時刻を時間の経過順に並べたときに隣り合う２つの代表時刻の間の区切り時刻に対応付けられる生成時刻を、当該生成時刻の間隔が等間隔になるように決定する
ことを特徴とする動画像生成装置。
【請求項５】
請求項１に記載の動画像生成装置であって、
前記区切り時刻と、当該区切り時刻に対応付けられる生成時刻と、の差の基準値を区切り時刻毎に記憶する記憶部、をさらに備え、
前記決定部は、前記区切り時刻と、当該区切り時刻に対応付けられる生成時刻と、の差を、前記記憶部に記憶されている区切り時刻毎の基準値に基づいて決定する
ことを特徴とする動画像生成装置。
【請求項６】
プレイヤーからの指示入力を受け付ける受付部、
前記受け付けられた指示入力に基づいて、前記プレイヤーの成績を判定する判定部、
請求項１乃至５のいずれか１項に記載の動画像生成装置により生成された動画像を表示する表示部
を備えることを特徴とするゲーム装置。
【請求項７】
請求項６に記載のゲーム装置であって、
前記決定部は、前記区切り時刻と、当該区切り時刻に対応付けられる生成時刻と、の差を、乱数に基づいて決定し、前記判定されたプレイヤーの成績に応じて、前記乱数のとりうる範囲を変化させる
ことを特徴とするゲーム装置。
【請求項８】
形状計算部、決定部、生成部を備える動画像生成装置が実行する動画像生成方法であって、
前記形状計算部が、所定期間に含まれるいずれかの時刻が与えられると、当該時刻に対応付けられるキャラクタの形状を計算する形状計算工程、
前記決定部が、前記所定期間の先頭から末尾までを等間隔に区切る区切り時刻のそれぞれに対応付けられる生成時刻を決定する決定工程、
前記生成部が、前記区切り時刻のそれぞれに対応付けられる生成時刻を前記形状計算部に与えて計算させ、当該計算されたキャラクタの形状から当該区切り時刻において表示すべきキャラクタの画像を生成する生成工程
を備える動画像生成方法であって、
前記区切り時刻のうち先頭の区切り時刻と、当該先頭の区切り時刻に対応付けられる生成時刻と、は、いずれも前記所定期間の先頭の時刻に等しく、
前記区切り時刻のうち末尾の区切り時刻と、当該末尾の区切り時刻に対応付けられる生成時刻と、は、いずれも前記所定期間の末尾の時刻に等しく、
前記区切り時刻を時間の経過順に並べ、その順序で当該区切り時刻に対応付けられる生成時刻を並べると、時間の経過順となり、
前記所定期間に含まれる区切り時刻群と当該所定期間に含まれる生成時刻群とは異なる
ことを特徴とする動画像生成方法。
【請求項９】
形状計算部、決定部、生成部を備える動画像生成装置が実行する動画像生成方法であって、
前記形状計算部が、所定期間に含まれるいずれかの時刻が与えられると、当該時刻に対応付けられるキャラクタの形状を計算する形状計算工程、
前記決定部が、前記所定期間の先頭から末尾までを等間隔に区切る区切り時刻のそれぞれに対応付けられる生成時刻を決定する決定工程、
前記生成部が、前記区切り時刻のそれぞれに対応付けられる生成時刻を前記形状計算部に与えて計算させ、当該計算されたキャラクタの形状から当該区切り時刻において表示すべきキャラクタの画像を生成する生成工程
を備える動画像生成方法であって、
前記区切り時刻のうち先頭の区切り時刻と、当該先頭の区切り時刻に対応付けられる生成時刻と、は、いずれも前記所定期間の先頭の時刻に等しく、
前記区切り時刻のうち末尾の区切り時刻と、当該末尾の区切り時刻に対応付けられる生成時刻と、は、いずれも前記所定期間の末尾の時刻に等しく、
前記区切り時刻を時間の経過順に並べ、その順序で当該区切り時刻に対応付けられる生成時刻を並べると、時間の経過順となり、
前記決定部は、前記区切り時刻と、当該区切り時刻に対応付けられる生成時刻と、の差を、乱数に基づいて決定する
ことを特徴とする動画像生成方法。
【請求項１０】
コンピュータを、
所定期間に含まれるいずれかの時刻が与えられると、当該時刻に対応付けられるキャラクタの形状を計算する形状計算部、
前記所定期間の先頭から末尾までを等間隔に区切る区切り時刻のそれぞれに対応付けられる生成時刻を決定する決定部、
前記区切り時刻のそれぞれに対応付けられる生成時刻を前記形状計算部に与えて計算させ、当該計算されたキャラクタの形状から当該区切り時刻において表示すべきキャラクタの画像を生成する生成部
として機能させるプログラムであって、
前記区切り時刻のうち先頭の区切り時刻と、当該先頭の区切り時刻に対応付けられる生成時刻と、は、いずれも前記所定期間の先頭の時刻に等しく、
前記区切り時刻のうち末尾の区切り時刻と、当該末尾の区切り時刻に対応付けられる生成時刻と、は、いずれも前記所定期間の末尾の時刻に等しく、
前記区切り時刻を時間の経過順に並べ、その順序で当該区切り時刻に対応付けられる生成時刻を並べると、時間の経過順となり、
前記所定期間に含まれる区切り時刻群と当該所定期間に含まれる生成時刻群とは異なる
ことを特徴とするプログラム。
【請求項１１】
コンピュータを、
所定期間に含まれるいずれかの時刻が与えられると、当該時刻に対応付けられるキャラクタの形状を計算する形状計算部、
前記所定期間の先頭から末尾までを等間隔に区切る区切り時刻のそれぞれに対応付けられる生成時刻を決定する決定部、
前記区切り時刻のそれぞれに対応付けられる生成時刻を前記形状計算部に与えて計算させ、当該計算されたキャラクタの形状から当該区切り時刻において表示すべきキャラクタの画像を生成する生成部
として機能させるプログラムであって、
前記区切り時刻のうち先頭の区切り時刻と、当該先頭の区切り時刻に対応付けられる生成時刻と、は、いずれも前記所定期間の先頭の時刻に等しく、
前記区切り時刻のうち末尾の区切り時刻と、当該末尾の区切り時刻に対応付けられる生成時刻と、は、いずれも前記所定期間の末尾の時刻に等しく、
前記区切り時刻を時間の経過順に並べ、その順序で当該区切り時刻に対応付けられる生成時刻を並べると、時間の経過順となり、
前記決定部は、前記区切り時刻と、当該区切り時刻に対応付けられる生成時刻と、の差を、乱数に基づいて決定する
ことを特徴とするプログラム。