以下、本発明の実施形態の例について図面に基づき詳細に説明する。本発明の実施形態に係るゲーム装置は、例えば家庭用ゲーム機(据置型ゲーム機)、携帯ゲーム機、業務用ゲーム機、携帯電話機、携帯情報端末(PDA)、又はパーソナルコンピュータを用いて実現される。ここでは、本発明の実施形態に係るゲーム装置を家庭用ゲーム機を用いて実現する場合について説明する。
図1は、本発明の実施形態に係るゲーム装置のハードウェア構成を示す。図1に示すように、ゲーム装置10は家庭用ゲーム機11、表示部30、音声入力部31、音声出力部32、光ディスク33、及びメモリカード34を含む。表示部30、音声入力部31、及び音声出力部32は家庭用ゲーム機11に接続される。例えば、表示部30は液晶ディスプレイ又はプラズマディスプレイ等の表示装置である。また例えば、音声入力部31はマイクであり、音声出力部32は、表示装置に備えられたスピーカ又はヘッドホンである。
家庭用ゲーム機11はコンピュータシステムであり、バス12、制御部13、主記憶14、画像処理部15、音声処理部16、光ディスクドライブ17、メモリカードスロット18、通信インタフェース(I/F)19、及び操作部20を含む。
バス12はアドレス及びデータを家庭用ゲーム機11の各部でやり取りするために用いられる。制御部13、主記憶14、画像処理部15、音声処理部16、光ディスクドライブ17、メモリカードスロット18、通信インタフェース19、及び操作部20は、バス12によって相互データ通信可能に接続される。
制御部13は例えば一又は複数のマイクロプロセッサを含み、例えば光ディスク33から読み出されるプログラムに基づいて、家庭用ゲーム機11の各部の制御処理や各種情報処理を実行する。主記憶14は例えばRAMを含み、光ディスク33又はメモリカード34から読み出されたプログラム及びデータが必要に応じて書き込まれる。主記憶14は制御部13の作業用としても用いられる。
画像処理部15はVRAMを含み、制御部13から送られる画像データに基づいてVRAM上にゲーム画面を描画し、そのゲーム画面を表示部30に表示する。音声処理部16はサウンドバッファを含み、光ディスク33又はメモリカード34からサウンドバッファに読み出された各種音声データ(ゲーム音楽、ゲーム効果音、メッセージ等)を音声出力部32から出力する。また、音声処理部16は、音声入力部31から入力された音声を示す音声データを制御部13に供給する。
光ディスクドライブ17は、光ディスク33に記録されたプログラムやデータを読み取る。ここではプログラムやデータを家庭用ゲーム機11に供給するために光ディスク33を用いることとするが、例えばメモリカード34等の他のあらゆる情報記憶媒体を用いるようにしてもよい。また、インターネット等のデータ通信網を介して遠隔地からプログラムやデータを家庭用ゲーム機11に供給するようにしてもよい。
通信インタフェース19は、インターネットなどのデータ通信網に通信接続するためのインタフェースである。メモリカードスロット18はメモリカード34を装着するためのインタフェースである。メモリカード34は不揮発性メモリ(例えばEEPROMなど)を含み、例えばセーブデータなどの各種ゲームデータを記憶する。なお、ゲーム装置10はハードディスク装置(補助記憶装置)を備えるようにしてもよい。光ディスク33又はメモリカード34に記憶されることとして説明するプログラムやデータはハードディスク装置に記憶されるようにしてもよい。
操作部20はユーザがゲーム操作を行うためのものである。操作部20は複数の操作部材を備える。操作部20の各操作部材の状態は一定周期毎(例えば1/60秒ごと)にスキャンされ、そのスキャン結果を表す操作信号が制御部13に供給される。制御部13は操作信号に基づいてプレイヤのゲーム操作を判断する。
ゲーム装置10で実行されるゲームについて説明する。ゲーム装置10では、例えば、プレイヤが楽曲に合わせてゲーム操作及び音声入力を行う音楽ゲームが実行される。以下では、プレイヤが楽曲に合わせてステップを行うとともに歌を歌う音楽ゲームが実行される場合を例として説明する。
図2は、音楽ゲームをプレイするために用いられる操作部20の一例を示す。図2に示す操作部20は、ダンスステージとして相応しい程度の大きさを有するマット型のコントローラ21である。このコントローラ21は家庭用ゲーム機11と有線接続又は無線接続される。
図2に示すように、このコントローラ21は、表面中央に略円形の中央領域22Cが区画表示されており、その上下左右に、方向ボタン領域22U,22D,22L,22Rがそれぞれ区画表示されている。さらに、コントローラ21には、丸ボタン領域23A、バツボタン領域23B、スタートボタン領域24A、及びセレクトボタン領域24Bが区画表示されている。
方向ボタン領域22U,22D,22L,22R、丸ボタン領域23A、バツボタン領域23B、スタートボタン領域24A、及びセレクトボタン領域24Bの下部にはセンサが埋め込まれている。プレイヤが各領域に足を載せると、その旨が操作信号として家庭用ゲーム機11に送られる。
以下では、方向ボタン領域22U,22D,22L,22Rのことを単に「方向ボタン22U,22D,22L,22R」と記載する。また、方向ボタン22U,22D,22L,22Rを総称して「方向ボタン22」と記載する場合がある。なお、操作部20は図2に示した例に限られない。例えば、操作部20はプレイヤが手で扱う一般的なゲームコントローラ(ゲームパッド)であってもよい。
この音楽ゲームでは、予め用意された複数の楽曲のうちから選択された楽曲が再生され、その楽曲が音声出力部32から出力される。また、この音楽ゲームでは、楽曲ごとに、方向ボタン22U,22D,22L,22Rが押下されるべきタイミング(以下「基準操作タイミング」と記載する。)が定められている。プレイヤは、楽曲ごとに定められた基準操作タイミングにおいて方向ボタン22U,22D,22L,22Rを踏むことを目指す。さらに、この音楽ゲームでは、楽曲ごとに、音声が入力されるべき(歌が歌われるべき)タイミング(以下「基準音声入力タイミング」と記載する。)が定められている。プレイヤは、楽曲ごとに定められた基準音声入力タイミングにおいて歌を歌うことを目指す。
図3は、表示部30に表示されるゲーム画面の一例を示す図である。なお、ゲーム画面40にはゲームを盛り上げるための背景画像が表示されるが、図3では省略している。
ゲーム画面40内の左側領域には、基準マーク41L,41D,41U,41Rが縦一列に表示されている。また、基準マーク41L,41D,41U,41Rの右側には、それぞれ、タイミング案内マーク42L,42D,42U,42Rが表示されている。タイミング案内マーク42L,42D,42U,42Rは、時間経過に伴って右から左に向かって徐々に移動して、基準マーク41L,41D,41U,41Rに接近する。
なお、以下では、基準マーク41L,41D,41U,41Rを総称して「基準マーク41」と記載する場合がある。同様に、タイミング案内マーク42L,42D,42U,42Rを総称して「タイミング案内マーク42」と記載する場合がある。
基準マーク41L及びタイミング案内マーク42Lは方向ボタン22Lに対応する。タイミング案内マーク42Lは、ゲーム画面40内の右側領域に設定された初期位置43Lに表示された後、基準マーク41Lに向けて移動する。方向ボタン22Lが押下されるべき基準操作タイミングにてタイミング案内マーク42Lは基準マーク41Lに重なる。
同様に、基準マーク41D及びタイミング案内マーク42Dは方向ボタン22Dに対応する。タイミング案内マーク42Dは、ゲーム画面40内の右側領域に設定された初期位置43Dに表示された後、基準マーク41Dに向けて移動する。方向ボタン22Dが押下されるべき基準操作タイミングにてタイミング案内マーク42Dは基準マーク41Dに重なる。
また、基準マーク41U及びタイミング案内マーク42Uは方向ボタン22Uに対応する。タイミング案内マーク42Uは、ゲーム画面40内の右側領域に設定された初期位置43Uに表示された後、基準マーク41Uに向けて移動する。方向ボタン22Uが押下されるべき基準操作タイミングにてタイミング案内マーク42Uは基準マーク41Uに重なる。
さらに、基準マーク41R及びタイミング案内マーク42Rは方向ボタン22Rに対応する。タイミング案内マーク42Rは、ゲーム画面40内の右側領域に設定された初期位置43Rに表示された後、基準マーク41Rに向けて移動する。方向ボタン22Rが押下されるべき基準操作タイミングにてタイミング案内マーク42Rは基準マーク41Rに重なる。
プレイヤは基準マーク41L,41D,41U,41Rに接近するタイミング案内マーク42L,42D,42U,42Rを頼りに、方向ボタン22U,22D,22L,22Rを押下すべき基準操作タイミングを把握することができる。
プレイヤは、例えば、方向ボタン22Uを押下すべき基準操作タイミングにて方向ボタン22Uを踏むことによって、高評価を得ることができる。なお、基準タイミングと完全に一致するタイミングでプレイヤが方向ボタン22Uを押下しければ評価を得ることができないという訳ではなく、その一致度に応じて評価が与えられる。
例えば、一致度に基づいて、「MARVELOUS」、「PERFECT」、「GREAT」、「GOOD」、「ALMOST」、及び「BOO」のうちのいずれかの評価が与えられる。「MARVELOUS」が最も高い評価であり、「BOO」が最も低い評価である。プレイヤに与えられた評価を示す評価メッセージ44がゲーム画面40に表示される。
また、ゲーム画面40にはコンボ数45が表示される。コンボ数45は、プレイヤが比較的高い評価(例えば「MARVELOUS」、「PERFECT」、又は「GREAT」)を連続して得た回数である。
さらに、ゲーム画面40内の上側領域にはゲージ46が表示される。ゲージ46の長さはプレイヤに与えられた評価に基づいて変化する。例えば、プレイヤに与えられた評価が比較的高い「MARVELOUS」、「PERFECT」、「GREAT」、又は「GOOD」であった場合にゲージ46は伸張し、評価が比較的低い「ALMOST」又は「BOO」であった場合にゲージ46は収縮する。
ところで、図3に示すゲーム画面40では、基準マーク41Dの右側に、特別タイミング案内マーク42DSが表示されている。特別タイミング案内マーク42DSは、タイミング案内マーク42Dと同様に、プレイヤが方向ボタン22Dを押下すべき基準操作タイミングを案内する役割を果たす。
なお、ゲーム画面40には、タイミング案内マーク42Dに対応する特別タイミング案内マーク42DSだけでなく、タイミング案内マーク42Rに対応する特別タイミング案内マーク42RS(図3参照)、タイミング案内マーク42Uに対応する特別タイミング案内マーク42US(図5参照)や、タイミング案内マーク42Lに対応する特別タイミング案内マーク42LS(図5参照)が表示される場合がある。なお、以下では、特別タイミング案内マーク42LS,42DS,42US,42RSを総称して「特別タイミング案内マーク42S」と記載する場合がある。
特別タイミング案内マーク42US,42DS,42LS,42RSは、基準操作タイミングが特別の基準操作タイミングであることを案内する役割を果たす点で、通常のタイミング案内マーク42U,42D,42L,42Rとは異なる。
「特別の基準操作タイミング」は、プレイヤにとって通常の基準操作タイミングよりも重要な基準操作タイミングである。なぜなら、ゲーム装置10では、特別の基準操作タイミングと、プレイヤが実際に方向ボタン22を押下したタイミングと、の一致度が比較的高い場合に限って、楽曲の歌詞がゲーム画面40に表示されるようになっているからである。
例えば図3に示す例の場合、特別タイミング案内マーク42DSが基準マーク41Dに到達したタイミングとの差が比較的小さいタイミングにおいてプレイヤが方向ボタン22Dを押下すると、楽曲の歌詞がゲーム画面40に表示される。図4は、楽曲の歌詞が表示された場合のゲーム画面40の一例を示す。図4に示すゲーム画面40では、タイミング案内マーク42Dが移動する領域47Dと、タイミング案内マーク42Uが移動する領域47Uとの間の領域50内に、楽曲の全歌詞のうちの一部分を表す歌詞画像51が表示されている。なお、図4に示す歌詞画像51の場合、「ABCDE」が楽曲の全歌詞のうちの一部分に相当している。
歌詞画像51は、上記領域50内の右側に設定された初期位置53に表示された後、時間経過に伴って右から左に向かって徐々に移動して基準位置52に接近する。歌詞画像51の歌詞が歌われるべきタイミング(基準音声入力タイミング)にて歌詞画像51は基準位置52に到達する。すなわち、歌詞画像51が基準位置52上を通過している期間が、歌詞画像51の歌詞が歌われるべき期間に相当する。
プレイヤは歌詞画像51を頼りに、歌うべき歌詞と、その歌詞を歌うべき基準音声入力タイミング(期間)とを把握することができる。
プレイヤは、歌を歌うべき基準音声入力タイミングにて音声入力部31を用いて歌を歌うことによって、高評価を得ることができる。一方、プレイヤは、歌を歌うべき基準音声入力タイミングにて歌を歌うことができなければ、低評価を得ることになってしまう。
また、ゲーム装置10では、歌詞画像51が基準位置52を通過した後、プレイヤに与えられた評価に基づいて、歌詞画像51が表す歌詞(「ABCDE」)の少なくとも一部分が拡大表示される。図5はこの場合のゲーム画面40の一例を示す。
図5に示すゲーム画面40では、図4に示す歌詞画像51の歌詞(「ABCDE」)のうちの一部分(「ABC」)を表す拡大画像54が表示されている。この拡大画像54は、歌詞画像51の歌詞の一部分を、歌詞画像51よりも大きい文字サイズで表す画像である。拡大画像54は、基準位置52の近傍に表示された後、徐々に大きくなりながら所与の移動方向55に向けて移動する。また、拡大画像54はある期間にわたって表示された後、ゲーム画面40から消える。なお、図5では、拡大画像54が不透明の画像になっているが、拡大画像54は半透明の画像とするとよい。
拡大画像54によって表される歌詞の長さ(文字数)はプレイヤに与えられた評価に基づいて変化する。プレイヤに与えられた評価が高いほど、拡大画像54によって表される歌詞の文字数が多くなる。例えば、プレイヤに与えられた評価が非常に高い場合には、図6に示すように、図4に示す歌詞画像51の歌詞(「ABCDE」)の5文字全部(「ABCDE」)を表す拡大画像54が表示される。
以上に説明したゲーム装置10では、プレイヤは拡大画像54を参照することによって、プレイヤの音声入力に関する評価を比較的容易に把握できる。さらに、歌詞が拡大表示されることによって、プレイヤは歌を歌っている気分を十分に味わうことができる。
また、ゲーム装置10では、特別の基準操作タイミングで行うべきゲーム操作に関する評価が高くなければ、歌詞画像51がゲーム画面40に表示されないようになっている。すなわち、音声入力を行うべき(歌を歌うべき)基準音声入力タイミングと、基準音声入力タイミングでプレイヤが音声入力すべき内容(歌詞)と、が案内されないようになっている。このため、プレイヤは、特に、特別の基準操作タイミングに関して高い評価を得る必要がある。その結果、楽曲に合わせてゲーム操作を行うゲーム部分の興趣が向上するようになっている。
以下、上記のような機能を実現するための構成について説明する。図7は、ゲーム装置10で実現される機能を示す機能ブロック図である。図7に示すように、ゲーム装置10は、記憶部60、基準操作タイミング案内部61、ゲーム操作検出部62、ゲーム操作評価部63、基準音声入力タイミング案内部64、音声入力評価部65、選出部66、及び表示制御部67を含む。記憶部60は例えば光ディスク33、メモリカード34、及び主記憶14によって実現され、その他の機能ブロックは、例えば制御部13が光ディスク33に記憶されたプログラムを実行することによって実現される。
記憶部60はゲームを実行するために必要なデータを記憶する。例えば、記憶部60は、基準マーク41L,41D,41U,41Rの表示位置と、タイミング案内マーク42L,42D,42U,42R(及び特別タイミング案内マーク42LS,42DS,42US42RS)の初期位置43L,43D,43U,43Rと、歌詞画像51の初期位置53と、基準位置52と、を示すデータを記憶する。なお、これらの位置は、ゲーム画面40の左上頂点を原点Oとし、右方向をX軸正方向とし、下方向をY軸正方向とするスクリーン座標系の座標値(x,y)によって表される(図3参照)。
また例えば、記憶部60は複数の楽曲データを記憶する。図8は、一の楽曲に対応する楽曲データの一例を示す図である。図8に示すように、楽曲データは、オリジナル楽曲データ、基準操作タイミングデータ、基準音声入力タイミングデータ、及び背景画像データを含む。オリジナル楽曲データは、例えば一般のポピュラー音楽等を所定のデータ形式で保存したものである。背景画像データは、ゲーム画面40の背景として表示される画像を表すものである。
基準操作タイミングデータは、楽曲の再生中にプレイヤがゲーム操作を行うべき複数の基準操作タイミングと、各基準操作タイミングにおいてプレイヤが複数種類のゲーム操作のうちのいずれを行うべきかと、を定義したデータである。本実施形態の場合、方向ボタン22U,22D,22L,22Rを押下する操作が「複数種類のゲーム操作」に相当する。また、方向ボタン22U,22D,22L,22Rが押下されるべきタイミングが「基準操作タイミング」に相当する。この基準操作タイミングデータは楽曲のテンポ(リズム)を考慮して作成される。
図9は基準操作タイミングデータの一例を示す。図9に示す基準操作タイミングデータは、「基準操作タイミング」、「ゲーム操作」、「特別フラグ」、及び「歌詞ID」フィールドを含む。「基準操作タイミング」フィールドは基準操作タイミングを示す。基準操作タイミングは、例えば、楽曲の再生(言い換えればゲームの実行)が開始されてからの経過時間によって示される。図9において、「t1」〜「t7」は楽曲の再生が開始されてからの経過時間を1/60秒単位で示す数値である。なお、基準操作タイミングは、例えば、1小節を256分割してなる1/256小節の単位で示されるようにしてもよい。
「ゲーム操作」フィールドは、基準操作タイミングにおいてプレイヤが行うべきゲーム操作の種類を示す。図9において、「U」は方向ボタン22Uを押下する操作を示し、「D」は方向ボタン22Dを押下する操作を示す。同様に、「L」は方向ボタン22Lを押下する操作を示し、「R」は方向ボタン22Rを押下する操作を示す。例えば、図9に示す基準操作タイミングデータは、楽曲の再生が開始されてからの経過時間が「t1」になったタイミングが、方向ボタン22Uを押下すべき基準操作タイミングであることを示している。
「特別フラグ」フィールドには特別フラグが記憶される。特別フラグは、基準操作タイミングが特別の基準操作タイミングであるか否かを示す数値情報である。上述したように、基準操作タイミングが特別の基準操作タイミングである場合には、基準操作タイミングを案内する画像として、特別タイミング案内マーク42LS,42DS,42US,42RSが表示される。一方、基準操作タイミングが特別の基準操作タイミングでない場合には、基準操作タイミングを案内する画像として、通常のタイミング案内マーク42L,42D,42U,42Rが表示される。特別フラグは「0」又は「1」の値をとる。値「0」は、基準操作タイミングが特別の基準操作タイミングでないことを示し、値「1」は、基準操作タイミングが特別の基準操作タイミングであることを示す。
「歌詞ID」フィールドには、楽曲の全歌詞を分割してなる各部分を一意に識別する識別情報である歌詞IDが記憶される。特別の基準操作タイミングに関してのみ、歌詞IDが関連づけられる。例えば、図9に示す基準操作タイミングデータでは、基準操作タイミング「t2」が特別の基準操作タイミングになっており、基準操作タイミング「t2」には歌詞ID「001」が対応づけられている。これによって、基準操作タイミング「t2」に関するプレイヤのゲーム操作の評価が比較的高い場合に、歌詞ID「001」の歌詞を表す歌詞画像51がゲーム画面40に表示されることになる。詳細については後述する。
基準音声入力タイミングデータは、楽曲の再生中にプレイヤが音声入力を行うべき複数の基準音声入力タイミングと、各基準音声入力タイミングにおいてプレイヤが音声入力すべき内容(文字列)と、を定義したデータである。本実施形態の場合、歌詞が「プレイヤが音声入力すべき内容」に相当する。また、プレイヤが歌を歌うべきタイミングが「基準音声入力タイミング」に相当する。
図10は基準音声入力タイミングデータの一例を示す。図10に示す基準音声入力タイミングデータは、「基準音声入力タイミング」、「歌詞ID」、及び「歌詞」フィールドを含む。「基準音声入力タイミング」フィールドは基準音声入力タイミングを示す。すなわち、「基準音声入力タイミング」フィールドは、プレイヤが音声入力を行うべき(歌を歌うべき)期間を示す。基準音声入力タイミングは、例えば、楽曲の再生(言い換えればゲームの実行)が開始されてからの経過時間によって示される。なお、図10において、「t8」、「t9」、「t10」、「t11」は楽曲の再生が開始されてからの経過時間を1/60秒単位で示す数値である。また、図10において、「t8〜t9」とは、楽曲の再生が開始されてからの経過時間が「t8」になったタイミングから、上記経過時間が「t9」になるタイミングまでの期間が、プレイヤが音声入力を行うべきタイミング(期間)であることを示している。なお、基準操作タイミングと同様、基準音声入力タイミングも、例えば、1小節を256分割してなる1/256小節の単位で示されるようにしてもよい。
「歌詞ID」フィールドには、楽曲の全歌詞を分割してなる各部分を一意に識別する識別情報である歌詞IDが記憶される。「歌詞」フィールドには、歌詞IDに対応する歌詞が記憶される。言い換えれば、「歌詞」フィールドは、プレイヤが音声入力すべき内容(文字列)を示す。例えば、図10に示す基準音声入力タイミングデータは、楽曲の再生が開始されてからの経過時間が「t8」になったタイミングから、上記経過時間が「t9」になるタイミングまでの期間が、プレイヤが歌詞「ABCDE」を歌うべき期間であることを示している。
基準操作タイミング案内部61は、楽曲の再生中にプレイヤがゲーム操作を行うべき複数の基準操作タイミングと、各基準操作タイミングにおいてプレイヤが複数種類のゲーム操作のうちのいずれを行うべきかとを、基準操作タイミングデータに基づいて、プレイヤに案内する。
本実施形態の場合、基準操作タイミング案内部61は、例えば、タイミング案内マーク42L(又は特別タイミング案内マーク42LS)を基準マーク41L(目標位置)に向けて移動させることによって、方向ボタン22Lを踏むべき基準操作タイミングをプレイヤに案内する。同様に、基準操作タイミング案内部61は、タイミング案内マーク42D,42U,42R(又は特別タイミング案内マーク42DS,42US,42RS)を、それぞれ、基準マーク41D,41U,41Rに向けて移動させることによって、方向ボタン22D,22U,22Rを押下すべき基準操作タイミングをプレイヤに案内する。
図11は基準操作タイミング案内部61の機能について説明するための図であり、基準操作タイミングデータとタイミング案内マーク42L,42D,42U,42R(又は特別タイミング案内マーク42DS,42US,42RS)の表示位置との関係を示す図である。図11においてt軸は時間軸を示しており、「To」は現時点を示している。
楽曲が再生されている間、現時点以降の所定期間が案内対象期間に設定される。そして、基準操作タイミングデータに基づいて、案内対象期間内に含まれる基準操作タイミングが特定される。図11に示す例では、図9に示す基準操作タイミングデータに定義された6つの基準操作タイミング(t2,t3,t4,t5,t6,t7)が案内対象期間に含まれている。この場合、これらの基準操作タイミングの各々を案内するためのタイミング案内マーク42L,42D,42U,42R及び特別タイミング案内マーク42LS,42DS,42US,42RSがゲーム画面に表示される。
例えば、タイミング案内マーク42L(特別タイミング案内マーク42LS)の表示位置は、タイミング案内マーク42L(特別タイミング案内マーク42LS)と基準マーク41Lとの間の距離が、方向ボタン22Lを押下すべき基準操作タイミングが到来するまでの残り時間に対応する距離になるように調整される。すなわち、基準操作タイミングが到来するまでの残り時間が短くなるにつれて、タイミング案内マーク42L(特別タイミング案内マーク42LS)から基準マーク41Lまでの距離が短くなる。他のタイミング案内マーク42D,42U,42R(特別タイミング案内マーク42DS,42US,42RS)の表示位置についても同様である。
ゲーム操作検出部62は、プレイヤによって行われたゲーム操作をコントローラ21から供給される操作信号に基づいて検出する。例えば、ゲーム操作検出部62は、方向ボタン22U,22D,22L,22Rが押下されたか否かをコントローラ21から供給される操作信号に基づいて判断する。
ゲーム操作評価部63は、基準操作タイミングデータと、ゲーム操作検出部62の検出結果と、に基づいて、プレイヤのゲーム操作を評価する。例えば、ゲーム操作評価部63は、基準操作タイミングデータが示す基準操作タイミングと、プレイヤが実際にゲーム操作を行ったタイミング(以下「操作タイミング」と記載する。)と、に基づいて、そのゲーム操作を評価する。例えば、基準操作タイミングと操作タイミングとのずれ時間が小さいほど、評価は高くなる。
本実施形態の場合、例えば、方向ボタン22Uを押下すべきタイミング(基準操作タイミング)と、プレイヤが実際に方向ボタン22Uを押下したタイミング(操作タイミング)とのずれ時間に基づいて、「MARVELOUS」、「PERFECT」、「GREAT」、「GOOD」、「ALMOST」、又は「BOO」のいずれかが評価として決定される。図12は、ずれ時間(ΔT)と評価との関係の一例を示す図である。なお、ずれ時間(ΔT)は、操作タイミングが基準操作タイミングよりも早い場合に負の値になり、操作タイミングが基準操作タイミングよりも遅れた場合に正の値になる。方向ボタン22D,22L,22Rに関しても、方向ボタン22Uと同様にして評価が行われる。
基準音声入力タイミング案内部64は、楽曲の再生中にプレイヤが音声入力を行うべき複数の基準音声入力タイミングを、基準音声入力タイミングデータに基づいて、プレイヤに案内する。例えば、基準音声入力タイミング案内部64は、文字列を表す第1文字列画像を基準位置に向けて移動させることによって、基準音声入力タイミングをプレイヤに案内する。
本実施形態の場合、基準音声入力タイミング案内部64は、歌詞を表す歌詞画像51を基準位置52に向けて移動させることによって、基準音声入力タイミングと、該基準音声入力タイミングにおいてプレイヤが音声入力すべき内容と、をプレイヤに案内する。本実施形態の場合、歌詞画像51が「第1文字列画像」に相当する。
図13は基準音声入力タイミング案内部64の機能について説明するための図であり、基準音声入力タイミングデータと歌詞画像51の表示位置との関係を示す図である。図13においてt軸が時間軸を示しており、「To」は現時点を示している。
上述したように、楽曲が再生されている間、現時点以降の所定期間が案内対象期間に設定される。そして、基準音声入力タイミングデータに基づいて、案内対象期間内に含まれる基準音声入力タイミングが特定される。図13に示す例では、図10に示す基準音声入力タイミングデータで基準音声入力タイミングとして定められた期間「t8〜t9」が案内対象期間に含まれている。この場合、この期間(基準音声入力タイミング)を案内するための歌詞画像51がゲーム画面40に表示される。
例えば、歌詞画像51の表示位置は、基準位置52から歌詞画像51の前端(本実施形態の場合、左端)51aまでの距離が、上記期間の開始タイミング「t8」が到来するまでの残り時間に対応する距離となるように調整される。このため、上記期間の開始タイミング「t8」が到来するまでの残り時間が短くなるにつれて、基準位置52から歌詞画像51の前端51aまでの距離が短くなる。また、歌詞画像51の長さ(歌詞画像51の移動方向に対応する長さ)は、上記期間の長さに対応する長さに設定される。言い換えれば、基準位置52から歌詞画像51の後端(本実施形態の場合、右端)52bまでの距離が、上記期間の終了タイミング「t9」が到来するまでの残り時間に対応する距離となるように、歌詞画像51の長さは調整される。
ところで、本実施形態の場合、基準音声入力タイミング案内部64(制限手段)は、複数の基準操作タイミングのうちの特定の基準操作タイミングに関するゲーム操作評価部63の評価結果が所定の評価結果である場合に、歌詞画像51の表示を制限し、以て、基準音声入力タイミングをプレイヤに案内することを制限する。
具体的には、特別の基準操作タイミングに関するゲーム操作評価部63の評価結果が比較的高い評価結果(例えば、「MARVELOUS」、「PERFECT」、「GREAT」、又は「GOOD」)である場合、基準音声入力タイミング案内部64は歌詞画像51をゲーム画面40に表示し、基準音声入力タイミングをプレイヤに案内する。
一方、特別の基準操作タイミングに関するゲーム操作評価部63の評価結果が比較的低い評価結果(例えば、「ALMOST」又は「BOO」)である場合、基準音声入力タイミング案内部64は歌詞画像51をゲーム画面40に表示せず、基準音声入力タイミングをプレイヤに案内しなくなる。なお、この場合、その後に到来する特別の基準操作タイミングに関するゲーム操作評価部63の評価結果が比較的高い評価結果になれば、基準音声入力タイミング案内部64は歌詞画像51をゲーム画面40に表示し、基準音声入力タイミングをプレイヤに案内するようになる。
音声入力評価部65は、基準音声入力タイミングデータと、音声入力部31から入力された音声と、に基づいて、プレイヤの音声入力を評価する。
本実施形態の場合、音声入力評価部65は比較的簡易な評価処理を実行する。具体的には、音声入力評価部65は、基準音声入力タイミングにおいて音声入力部31からプレイヤの音声が入力されているか否かのみに着目して、プレイヤの音声入力を評価する。すなわち、音声入力評価部65は、基準音声入力タイミングにおいてプレイヤの音声が音声入力部31から入力されていれば、プレイヤの音声が歌詞画像51の歌詞とは異なる内容の音声であったとしても、肯定的な評価をプレイヤに与える。言い換えれば、基準音声入力タイミングにおいてプレイヤの音声が音声入力部31から入力されていない場合に限って、否定的な評価がプレイヤに与えられる。詳細については後述する(図19のS302〜S306参照)。
なお、音声入力評価部65は比較的高度な評価処理を実行するようにしてもよい。例えば、音声入力評価部65は、基準音声入力タイミングにおいて音声入力部31から入力された音声の内容を考慮して、プレイヤの音声入力を評価するようにしてもよい。すなわち、音声入力評価部65は、基準音声入力タイミングにおいて音声入力部31から入力された音声の内容を音声認識処理によって認識するようにしてもよい。そして、音声入力評価部65は、認識した内容(文字列)と、歌詞画像51の歌詞(文字列)と、を比較することによって、プレイヤの音声入力を評価するようにしてもよい。
また、例えば、音声入力評価部65は、基準音声入力タイミングにおいて音声入力部31から入力された音声の音高(音程)を考慮して、プレイヤの音声入力を評価するようにしてもよい。すなわち、音声入力評価部65は、音声入力部31から入力された音声の音高(音程)と、歌詞画像51の歌詞を歌う場合の模範の音高(模範の音程)と、を比較することによって、プレイヤの音声入力を評価するようにしてもよい。
選出部66は、第1文字列画像が表す文字列のうちの少なくとも一部分を音声入力評価部65の評価結果に基づいて選出する。また、表示制御部67は、第1文字列画像が基準位置に到達した場合、選出部66によって選出された上記少なくとも一部分を表す第2文字列画像をゲーム画面40に表示させる。本実施形態の場合、上述したように、歌詞画像51が「第1文字列画像」に相当する。また、拡大画像54が「第2文字列画像」に相当する。
本実施形態の場合、選出部66は、歌詞画像51が表す歌詞のうちの少なくとも一部分を音声入力評価部65の評価結果に基づいて選出する。音声入力評価部65の評価結果が高いほど、選出部66は、歌詞画像51が表す歌詞のうちの、より多くの部分を選出する。また、表示制御部67は、選出部66によって選出された、歌詞画像51が表す歌詞のうちの少なくとも一部分を表す拡大画像54をゲーム画面40に表示させる。上述したように、拡大画像54における文字の表示サイズは歌詞画像51における文字の表示サイズよりも大きい表示サイズに設定される。
次に、ゲーム装置10で実行される処理について説明する。図14はゲーム装置10で実行される処理のうちの、本発明に関連する処理を主に示すフロー図である。制御部13は光ディスク33に記憶されるプログラムに従って、図14に示す処理を実行する。制御部13が図14に示す処理を実行することによって、図7に示す機能ブロックが実現される。
図14に示すように、まず制御部13は楽曲の再生を開始する(S101)。また、制御部13はゲーム画面40の表示を開始する(S102)。その後、制御部13は、楽曲の再生が終了するまでの間(言い換えれば、ゲームが終了するまでの間)、ステップS103〜S106の処理を所定時間(本実施形態では1/60秒)ごとに繰り返し実行する。
まず、制御部13はプレイヤのゲーム操作を評価する(S103)。図15及び図16はゲーム操作を評価するための処理の一例を示すフロー図である。図15及び図16に示す処理は、方向ボタン22U,22D,22L,22Rの各々について実行される。なお、ここでは、方向ボタン22Uを押下する操作を評価する場合を例に説明する。
図15に示すように、まず制御部13は現時点が評価対象期間内であるか否かを判定する(S201)。図17は、評価対象期間について説明するための図である。図17においてt軸は時間軸を示す。「A」は、方向ボタン22Uが押下されるべき基準操作タイミングを示し、「B1」及び「B2」は、方向ボタン22Uが実際に押下されたタイミング(操作タイミング)を示す。
本実施形態では基準操作タイミングごとに評価対象期間が設定される。図17において「C」は評価対象期間を示す。評価対象期間(C)は基準操作タイミング(A)を中心とする一定期間である。評価対象期間(C)では、この期間内の最初の操作タイミングが評価対象として取り扱われる。
例えば図17に示す例では、評価対象期間(C)に二つの操作タイミング(B1,B2)が存在しているが、この場合、1回目の操作タイミング(B1)が基準操作タイミング(A)との比較対象とされる。2回目以降の操作タイミング(B2)は基準操作タイミング(A)との比較対象から除かれる。このようにする理由は、基準操作タイミング(A)付近でプレイヤが方向ボタン22Uを何度も繰り返し押下したような場合であっても、評価が適切に行われるようにするためである。
ステップS201において現時点が評価対象期間内でないと判定された場合、制御部13は本処理を終了し、図14のステップS104の処理を実行する。一方、ステップS201において現時点が評価対象期間内であると判定された場合、制御部13は操作済みフラグが「0」であるか否かを判定する(S202)。操作済みフラグは、現在の評価対象期間において方向ボタン22Uが押下された否かを示す情報である。操作済みフラグは「0」又は「1」の値をとる。値「0」は方向ボタン22Uが押下されていないことを示し、値「1」は方向ボタン22Uが押下されたことを示す。
操作済みフラグが「0」でない場合、制御部13は、図15のステップS203〜S210の処理を実行せずに、後述のステップS211の処理を実行する。一方、操作済みフラグが「0」である場合、制御部13(ゲーム操作検出部62)は方向ボタン22Uが押下されたか否かをコントローラ21から供給される操作信号に基づいて判定する(S203)。
方向ボタン22Uが押下されていないと判定された場合、制御部13は、図15のステップS204〜S210の処理を実行せずに、後述のステップS211の処理を実行する。一方、方向ボタン22Uが押下されたと判定された場合、制御部13は操作済みフラグを「1」に更新する(S204)。
さらに、制御部13(ゲーム操作評価部63)は、基準操作タイミングと操作タイミング(現時点)とのずれ時間(ΔT)を取得する(S205)。このずれ時間(ΔT)は、操作タイミングが基準操作タイミングよりも早い場合には負の値になり、かつ、操作タイミングが基準操作タイミングよりも遅れている場合には正の値になる。
その後、制御部13(ゲーム操作評価部63)は、ステップS205で取得されたずれ時間(ΔT)に基づいて評価を決定する(S206)。例えば、図12に示すデータに基づいて評価が決定される。
その後、制御部13は、現時点が特別の基準操作タイミングに対応する評価対象期間内であるか否かを判定する(S207)。この判定は、基準操作タイミングデータの「特別フラグ」フィールドに基づいて実行される。例えば、現時点が、基準操作タイミング「t1」に対応する評価対象期間内である場合、基準操作タイミング「t1」に対応づけられた特別フラグの値は「0」であるため(図9参照)、現時点が特別の基準操作タイミングに対応する評価対象期間内でないと判定される。一方、例えば、現時点が、基準操作タイミング「t2」に対応する評価対象期間内である場合、基準操作タイミング「t2」に対応づけられた特別フラグの値は「1」であるため(図9参照)、現時点が特別の基準操作タイミングに対応する評価対象期間内であると判定される。
現時点が特別の基準操作タイミングに対応する評価対象期間内でない場合、制御部13はステップS208及びS209の処理を実行せずに、後述のステップS210の処理を実行する。一方、現時点が特別の基準操作タイミングに対応する評価対象期間内である場合、制御部13は、ステップS206で決定された評価が比較的高い所定の評価であるか否かを判定する(S208)。ここで、「比較的高い所定の評価」とは、例えば「MARVELOUS」、「PERFECT」、「GREAT」、又は「GOOD」である。
ステップS206で決定された評価が比較的高い所定の評価である場合、制御部13は歌詞画像表示制御データを更新する(S209)。歌詞画像表示制御データは、歌詞画像51をゲーム画面40に表示するか否かを示すデータである。図18は歌詞画像表示制御データの一例を示す。図18に示す歌詞画像表示制御データは「歌詞ID」及び「表示フラグ」フィールドを含む。「歌詞ID」フィールドは基準操作タイミングデータ及び基準音声入力タイミングデータと同様である。
「表示フラグ」フィールドには、歌詞画像51をゲーム画面40に表示するか否かを示す数値情報である表示フラグが記憶される。表示フラグは「0」又は「1」の値をとる。値「0」は歌詞画像51をゲーム画面40に表示しないことを示す。すなわち、値「0」は、基準音声入力タイミングを案内しないことを示す。一方、値「1」は歌詞画像51をゲーム画面40に表示することを示す。すなわち、値「1」は基準音声入力タイミングを案内することを示す。
なお、この歌詞画像表示制御データは楽曲の再生(言い換えればゲームの実行)が開始される際に初期化される。この場合、歌詞画像表示制御データには、楽曲の全歌詞を分割してなる全ての部分の歌詞IDが登録されるとともに、各歌詞IDに対応する表示フラグの値がすべて「0」に設定される。
ステップS209において、制御部13は基準操作タイミングデータを参照し、特別の基準操作タイミングに対応づけられた歌詞IDを読み出す。例えば、現時点が、特別の基準操作タイミングである基準操作タイミング「t2」に対応する評価対象期間内であれば、基準操作タイミング「t2」に対応づけられた歌詞ID「001」が読み出される(図9参照)。
そして、制御部13は、歌詞画像表示制御データにおいて、読み出された歌詞IDに対応づけられた表示フラグを「0」から「1」に更新する。例えば、読み出された歌詞IDが「001」である場合、歌詞ID「001」に対応づけられた表示フラグの値が「0」から「1」に更新される。この処理が実行されることによって、歌詞ID「001」の歌詞を表す歌詞画像51がゲーム画面40に表示されるようになる(図21のS405及びS406参照)。
なお、ステップS208において、ステップS206で決定された評価が比較的高い所定の評価でないと判定された場合、制御部13はステップS209の処理を実行せずに、後述のステップS210の処理を実行する。
この場合、特別の基準操作タイミングに対応する歌詞IDに対応づけられた表示フラグが「0」から「1」に更新されずに、初期値「0」のままとなる。その結果、その歌詞IDの歌詞を表す歌詞画像51がゲーム画面に表示されなくなる(図21のS405及びS406参照)。例えば、現時点が基準操作タイミング「t2」に対応する評価対象期間内である場合、基準操作タイミング「t2」に対応する歌詞ID「001」に対応づけられた表示フラグが「0」から「1」に更新されずに、初期値「0」のままとなる。その結果、歌詞ID「001」の歌詞を表す歌詞画像51がゲーム画面40に表示されなくなる。
ステップS207〜S209の処理が実行された後、制御部13は、主記憶14に記憶されるコンボ数を更新する(S210)。例えば、ステップS206で決定された評価が「MARVELOUS」、「PERFECT」、又は「GREAT」のいずれかである場合、制御部13はコンボ数に1を加算する。一方、評価が「MARVELOUS」、「PERFECT」、及び「GREAT」のいずれでもない場合、制御部13はコンボ数を0に更新する。
その後、図16に示すように、制御部13は評価対象期間の終了タイミングが到来したか否かを判定する(S211)。評価対象期間の終了タイミングが到来していない場合、制御部13は本処理を終了し、図14のステップS104の処理を実行する。一方、評価対象期間の終了タイミングが到来した場合、制御部13は操作済みフラグが「0」であるか否かを判定する(S212)。
操作済みフラグが「0」である場合とは、評価対象期間内に方向ボタン22Uが押下されなかった場合である。この場合、制御部13は評価を最も低いものに決定する(S213)。また、この場合、制御部13はコンボ数を0に更新する(S214)。
なお、この場合、現時点が特別の基準操作タイミングに対応する評価対象期間であったとしても、ステップS209の処理と同様の処理が実行されなくなる。その結果、歌詞画像表示制御データにおいて、この特別の基準操作タイミングに対応する歌詞IDに対応づけられた表示フラグが「0」から「1」に更新されずに、初期値「0」のままとなる。その結果、この歌詞IDの歌詞を表す歌詞画像51がゲーム画面40に表示されなくなる(図21のS405及びS406参照)。
一方、ステップS212において操作済みフラグが「0」でないと判定された場合、制御部13は操作済みフラグを「0」に更新する(S215)。そして、制御部13は本処理を終了し、図14のステップS104の処理を実行する。
ゲーム操作を評価するための処理(図15及び図16)が実行された後、図14に示すように、制御部13(音声入力評価部65)はプレイヤの音声入力を評価する(S104)。図19は、プレイヤの音声入力を評価するための処理の一例を示すフロー図である。
図19に示すように、まず制御部13は現時点が評価対象期間内であるか否かを判定する(S301)。この場合、基準音声入力タイミングデータの「基準音声入力タイミング」フィールドが示す期間が「評価対象期間」に相当する。例えば図10に示す基準音声入力タイミングデータの場合、期間「t8〜t9」や「t10〜t11」が「評価対象期間」に相当する。なお、制御部13は、ゲーム装置10が備える計時機能に基づいて、楽曲の再生が開始されてからの経過時間を取得する。そして、制御部13はその取得結果に基づいて、現時点が評価対象期間内であるか否かを判定する。
現時点が評価対象期間内でない場合、制御部13は本処理を終了し、図14に示すステップS105の処理を実行する。一方、現時点が評価対象期間である場合、制御部13は、プレイヤが発した音声が音声入力部31から入力されているか否かを判定する(S302)。例えば、基準音量よりも大きい音量の音声が音声入力部31から入力されている場合、制御部13はプレイヤが発した音声が音声入力部31から入力されているとみなす。
プレイヤが発した音声が音声入力部31から入力されている場合、制御部13は変数lの値に1を加算する(S303)。この変数lの値は楽曲の再生が開始された際に「0」に初期化されている。また、この変数lは後述のステップS312においても「0」に初期化される。この変数lは、評価対象期間において、プレイヤが発した音声が音声入力部31から入力されていた累計時間を計測するために用いられる。本実施形態の場合、図19に示す処理は1/60秒ごとに繰り返し実行されるため、この変数lは、評価対象期間において、プレイヤが発した音声が音声入力部31から入力されていた累計時間を1/60秒単位で示すことになる。
ステップS303の処理が実行された場合、又は、ステップS302において、プレイヤが発した音声が音声入力部31から入力されていないと判定された場合、制御部13は評価対象期間の終了タイミングが到来したか否かを判定する(S304)。例えば、現時点が歌詞ID「001」に対応する評価対象期間内である場合、楽曲の再生が開始されてからの経過時間が「t9」になったか否かが判定される(図10参照)。
評価対象期間の終了タイミングが到来していない場合、制御部13は本処理を終了し、図14のステップS105の処理を実行する。一方、評価対象期間の終了タイミングが到来した場合、制御部13は評価対象期間の長さ(L)を取得する(S305)。例えば、歌詞ID「001」に対応する評価対象期間の終了タイミングが到来した場合、歌詞ID「001」に対応する評価対象期間の長さ(L=t9−t8+1)が取得される。
その後、制御部13は、プレイヤの音声入力に関する評価値(E)を算出する(S306)。例えば、制御部13は、変数lの値を、ステップS305で取得された評価対象期間の長さ(L)で割ることによって、評価値(E)を算出する。この評価値(E)は、評価対象期間のうちの、プレイヤが発した音声が音声入力部31から入力されていた累計時間の割合に相当する。この場合、0以上1以下の数値が評価値(E)として取得される。
また、制御部13は評価対象の歌詞に含まれる文字数(N)を取得する(S307)。例えば、ステップS304で到来したと判定された終了タイミングが歌詞ID「001」に対応する評価対象期間の終了タイミングである場合、歌詞ID「001」の歌詞「ABCDE」が「評価対象の歌詞」に相当し、ステップS307では文字数(N)として「5」が取得される。
まず制御部13は、ステップS307で取得された文字数(N)に、ステップS306で取得された評価値(E)を乗じることによって得られる数値(n)を取得する(S308)。なお、この場合、制御部13は数値(n)の小数点以下の部分を切り上げたり、切り捨てたり、四捨五入したりする。すなわち、制御部13は数値(n)を整数にする。
そして、制御部13は、ステップS308で取得された数値(n)が0よりも大きいか否かを判定する(S309)。ステップS308で取得された数値(n)が0よりも大きくない場合、制御部13は本処理を終了し、図14のステップS105の処理を実行する。一方、ステップS308で取得された数値(n)が0よりも大きい場合、制御部13は、評価対象の歌詞に関する拡大画像54をゲーム画面40に表示させるための処理を実行する。
すなわち、まず制御部13(選出部66)は評価対象の歌詞のうちのn文字目までの部分を取得する(S310)。例えば、ステップS304で到来したと判定された終了タイミングが歌詞ID「001」に対応する評価対象期間の終了タイミングである場合、ステップS310では、歌詞ID「001」の歌詞「ABCDE」が「評価対象の歌詞」に相当する。また例えば、ステップS308で得られた数値(n)が3である場合、歌詞「ABCDE」のうちの3文字目までの部分「ABC」が取得される。
評価対象の歌詞のうちのn文字目までの部分が取得された後、制御部13(表示制御部67)は拡大画像表示制御データを更新する(S311)。拡大画像表示制御データは拡大画像54の表示を制御するためのデータである。図20は拡大画像表示制御データの一例を示す。
図20に示す拡大画像表示制御データにおける各レコードは一の拡大画像54に対応する。拡大画像表示制御データの各レコードは、「文字列」、「表示位置」、「表示サイズ」、「移動方向」、「移動速度」、及び「表示時間」フィールドを含む。「文字列」フィールドは拡大画像54として表示される文字列を示す。「表示位置」フィールドは、拡大画像54の表示位置を示す。「表示サイズ」フィールドは、拡大画像54の表示サイズを示す。例えば、拡大画像54の各文字の表示サイズを示す数値が「表示サイズ」フィールドに記憶される。「移動方向」フィールドは、拡大画像54の移動方向55を示す。「移動速度」フィールドは、拡大画像54の移動速度を示す。「表示時間」フィールドは、拡大画像54がゲーム画面40から消えるまでの残り時間を示す。例えば、上記残り時間を1/60秒単位で示す数値が「表示時間」フィールドに記憶される。
ステップS311において、制御部13は拡大画像表示制御データに新たなレコードを追加する。この場合、制御部13は、ステップS310で取得された、評価対象の歌詞のうちのn文字目までの部分を、新たに追加されたレコードの「文字列」フィールドに記憶させる。
また、ステップS311において、制御部13は拡大画像54の初期位置を基準位置52に基づいて決定する。例えば、制御部13は、拡大画像54の左端の位置が基準位置52と一致するように、拡大画像54の初期位置を決定する。そして、制御部13は、決定した初期位置を示す座標値(x,y)を新たに追加されたレコードの「表示位置」フィールドに記憶させる。
また、ステップS311において、制御部13は拡大画像54の表示サイズ(すなわち、拡大画像54における各文字の表示サイズ。以下同じ。)を決定し、決定した表示サイズを示す情報を新たに追加されたレコードの「表示サイズ」フィールドに記憶させる。
例えば、制御部13は、拡大画像54の表示サイズを、ステップS310で取得される部分に含まれる文字数(n)に基づいて決定する。この場合、文字数と、拡大画像54の表示サイズと、を対応づけた情報が光ディスク33に記憶される。この情報では、文字数と拡大画像54の表示サイズとの対応関係が、例えば、文字数が少ないほど、拡大画像54における各文字の表示サイズが大きくなるように設定される。制御部13は、ステップS310で取得される部分に含まれる文字数(n)と、この情報と、に基づいて、拡大画像54の表示サイズを決定する。
ステップS310で取得される部分に含まれる文字数(n)が多い場合に、拡大画像54における各文字の表示サイズを大きくしてしまうと、拡大画像54の一部がゲーム画面40外に出てしまうおそれがある。この点、上記のようにすれば、そのような不都合が生じないように図ることが可能になる。
あるいは、制御部13は、拡大画像54の表示サイズを、評価対象期間内に音声入力部31から入力された音声の音量に基づいて決定するようにしてもよい。この場合、音量と、拡大画像54の表示サイズと、を対応づけた情報が光ディスク33に記憶される。この情報では、音量と拡大画像54の表示サイズとの対応関係が、例えば、音量が大きいほど、拡大画像54における各文字の表示サイズが大きくなるように設定される。制御部13は、評価対象期間内に音声入力部31から入力された音声の音量の平均値(又は最大値、最小値、或いはその他の統計値)と、この情報と、に基づいて、拡大画像54の表示サイズを決定する。
このようにすれば、例えば、プレイヤが感情を込めて大きい声で歌を歌うと拡大画像54も大きく表示されるようになる。すなわち、プレイヤの感情が拡大画像54に反映されるようになる。
また、ステップS311において、制御部13は拡大画像54の移動方向55を乱数に基づいてランダムに決定し、決定した移動方向55を示す情報を新たに追加されたレコードの「移動方向」フィールドに記憶させる。
なお、制御部13は、拡大画像54の移動方向55を、ステップS310で取得される部分に含まれる文字数(n)に基づいて決定するようにしてもよい。例えば、ステップS310で取得される部分に含まれる文字数(n)が非常に多い場合、拡大画像54は横方向に長い画像になる。この場合、拡大画像54がゲーム画面40内において右方向に移動すると、拡大画像54の一部がゲーム画面40外に出てしまうおそれがある。このため、制御部13は、ステップS310で取得される部分に含まれる文字数(n)が基準文字数よりも多い場合、拡大画像54を上方向、下方向、又は左方向に移動させるようにしてもよい。
上記のような拡大画像54の移動方向の制御を実現する場合、文字数と、拡大画像54の移動方向55を制御するための情報と、を対応づけた情報が光ディスク33に記憶される。この情報では、文字数と拡大画像54の移動方向55との対応関係が、例えば、文字数が基準文字数よりも多い場合において「拡大画像54が右方向に移動する確率」が「拡大画像54が上方向、下方向又は左方向に移動する確率」よりも低くなるように設定される。そして、制御部13は、ステップS310で取得される部分に含まれる文字数(n)と、この情報と、に基づいて、拡大画像54の移動方向55を決定する。
あるいは、制御部13は、次に到来する基準操作タイミングにおいてプレイヤが行うべきゲーム操作の種類に基づいて、拡大画像54の移動方向55を決定するようにしてもよい。この場合、制御部13は、次に到来する基準操作タイミングにおいてプレイヤが行うべきゲーム操作の種類を基準操作タイミングデータに基づいて判断する。そして、制御部13は、そのゲーム操作の種類に対応する基準マーク41の位置に基づいて、拡大画像54の移動方向55を決定する。例えば、制御部13は、その基準マーク41の位置の方に向かう方向を拡大画像54の移動方向55として決定する。
このようにすれば、拡大画像54が、次に到来する基準操作タイミングにおいてプレイヤが行うべきゲーム操作の種類に対応する基準マーク41に向けて移動するようになる。その結果、プレイヤは、拡大画像54の移動方向55に基づいて、次に到来する基準操作タイミングにおいてプレイヤが行うべきゲーム操作の種類を比較的容易に把握できるようになる。
また、ステップS311において、制御部13は拡大画像54の移動速度を決定し、決定した移動速度を示す情報を新たに追加されたレコードの「移動速度」フィールドに記憶させる。例えば、制御部13は拡大画像54の移動速度を所定の移動速度に設定する。
なお、制御部13は拡大画像54の移動速度を、ステップS310で取得される部分に含まれる文字数(n)に基づいて決定するようにしてもよい。この場合、文字数と、拡大画像54の移動速度と、を対応づけた情報が光ディスク33に記憶される。この情報では、文字数と拡大画像54の移動速度との対応関係が、例えば、文字数が多いほど、拡大画像54の移動速度が遅くなるように設定される。制御部13は、ステップS310で取得される部分に含まれる文字数(n)と、この情報と、に基づいて、拡大画像54の移動速度を決定する。
例えば、ステップS310で取得される部分に含まれる文字数(n)が多い場合、拡大画像54の移動速度が速いと、拡大画像54が表す歌詞を読み難くなってしまうおそれがある。この点、上記のようにすれば、このような不都合が生じないように図ることが可能になる。
また、ステップS311において、制御部13は拡大画像54の表示時間を決定し、決定した表示時間を1/60秒単位で表す数値を新たに追加されたレコードの「表示時間」フィールドに記憶させる。例えば、制御部13は拡大画像54の表示時間を所定の表示時間(例えば1.5秒)に設定する。
なお、制御部13は拡大画像54の表示時間を、ステップS310で取得される部分に含まれる文字数(n)に基づいて決定するようにしてもよい。この場合、文字数と、拡大画像54の表示時間と、を対応づけた情報が光ディスク33に記憶される。この情報では、文字数と拡大画像54の表示時間との対応関係が、例えば、文字数が多いほど、拡大画像54の表示時間が長くなるように設定される。制御部13は、ステップS310で取得される部分に含まれる文字数(n)と、この情報と、に基づいて、拡大画像54の表示時間を決定する。
例えば、ステップS310で取得される部分に含まれる文字数(n)が多い場合、拡大画像54の表示時間が短いと、拡大画像54が表す歌詞を読み難くなってしまうおそれがある。この点、上記のようにすれば、このような不都合が生じないように図ることが可能になる。
拡大画像表示制御データが更新された後、図19に示すように、制御部13は変数lの値を「0」に初期化する(S312)。以上でプレイヤの音声入力を評価するための処理は終了する。
プレイヤの音声入力を評価するための処理(図19)が実行された後、図14に示すように、制御部13はゲーム画面40を更新する(S105)。図21は、ゲーム画面40を更新するための処理を示すフロー図である。
図21に示すように、まず制御部13は背景画像等をVRAM上に描画する(S401)。その後、制御部13は、基準操作タイミングデータに基づいて、案内対象期間内に含まれる基準操作タイミングを判断する(S402)。すなわち、制御部13は基準操作タイミングデータを参照して、現時点と現時点から所定時間後の時点との間の期間(案内対象期間)内に到来する基準操作タイミングを判断する。
その後、制御部13(基準操作タイミング案内部61)は、基準操作タイミングデータに基づいて、案内対象期間内に含まれる基準操作タイミングを案内するためのタイミング案内マーク42U,42D,42L,42R及び特別タイミング案内マーク42US,42DS,42LS,42RSを、ステップS401でVRAM上に描画された画像上に描画する(S403)。
この場合、特別フラグが「0」である基準操作タイミングに関しては、タイミング案内マーク42U,42D,42L,42Rが描画され、特別フラグが「1」である基準操作タイミング(すなわち、特別の基準操作タイミング)に関しては、特別タイミング案内マーク42US,42DS,42LS,42RSが描画される。また、タイミング案内マーク42U,42D,42L,42R及び特別タイミング案内マーク42US,42DS,42LS,42RSの描画位置は図11において説明したようにして決定される。
その後、制御部13は、基準音声入力タイミングデータに基づいて、案内対象期間内に基準音声入力タイミングが含まれるか否かを判定する(S404)。すなわち、制御部13は基準音声入力タイミングデータを参照して、現時点と現時点から所定時間後の時点との間の期間(案内対象期間)内に基準音声入力タイミングが含まれるか否かを判定する。
案内対象期間内に基準音声入力タイミングが含まれない場合、制御部13は後述のステップS407の処理を実行する。一方、案内対象期間内に基準音声入力タイミングが含まれる場合、制御部13(基準音声入力タイミング案内部64)は、その基準音声入力タイミングに対応する表示フラグが「1」であるか否かを判定する(S405)。具体的には、制御部13は基準音声入力タイミングデータを参照して、案内対象期間内に含まれる基準音声入力タイミングに対応づけられた歌詞IDを取得する。また、制御部13は歌詞画像表示制御データを参照して、その歌詞IDに対応づけられた表示フラグの値を読み出す。そして、制御部13は表示フラグの値が「1」であるか否かを判定する。
例えば図13に示す例の場合、基準音声入力タイミング「t8〜t9」が案内対象期間に含まれるため、基準音声入力タイミング「t8〜t9」に対応づけられた歌詞ID「001」が取得される(図10参照)。そして、歌詞ID「001」に対応づけられた表示フラグの値が「1」であるか否かが判定される。
表示フラグが「1」でない場合、制御部13は後述のステップS407の処理を実行する。一方、表示フラグが「1」である場合、制御部13(基準音声入力タイミング案内部64)は、案内対象期間内に含まれる基準音声入力タイミングを案内するための歌詞画像51を、VRAM上に形成されている画像上に描画する(S406)。例えば図13に示す例の場合、基準音声入力タイミング「t8〜t9」を案内するための歌詞画像51として、歌詞IDの歌詞「ABCDE」を表す歌詞画像51が描画される。この場合、歌詞画像51の描画位置は図13において説明したようにして決定される。
その後、制御部13は、評価メッセージ44、コンボ数45、及びゲージ46を、VRAM上に形成されている画像上に描画する(S407)。なお、図15のステップS206で決定された評価が比較的高い「MARVELOUS」、「PERFECT」、「GREAT」、又は「GOOD」であった場合、制御部13はゲージ46を伸張させ、図15のステップS206で決定された評価が比較的低い「ALMOST」又は「BOO」であった場合、制御部13はゲージ46を収縮させる。
その後、制御部13(表示制御部67)は拡大画像表示制御データを更新する(S408)。例えば、制御部13は拡大画像表示制御データの各レコードの「表示位置」フィールドの座標値を更新する。すなわち、制御部13は、「表示位置」フィールドの座標値を、「現在の座標値から、『移動方向』フィールドが示す移動方向に、『移動速度』フィールドが示す移動速度に応じた距離だけ移動してなる座標値」に更新する。この処理が実行されることによって、拡大画像54の表示位置が更新され、拡大画像54が移動することになる。
また、例えば、制御部13は拡大画像表示制御データの各レコードの「表示時間」フィールドの値を更新する。すなわち、制御部13は「表示時間」フィールドの値を1減少させる。なお、「表示時間」フィールドの値が零になった場合、制御部13はそのレコードを削除する。この場合、そのレコードに対応する拡大画像54がゲーム画面40から消えることになる。
その後、制御部13(表示制御部67)は、拡大画像表示制御データに基づいて、拡大画像54を、VRAM上に形成されている画像上に描画する(S409)。すなわち、制御部13は拡大画像表示制御データの各レコードを順番に読み出す。1レコードが読み出されるごとに、制御部13は、「文字列」フィールドが示す文字列を「表示サイズ」フィールドが示す表示サイズ(文字サイズ)で表す画像を拡大画像54として、VRAM上に形成されている画像上に描画する。この場合、拡大画像54の描画位置は、「表示位置」フィールドの座標値に基づいて決定される。
以上のようにして、例えば図3〜図6に示すようなゲーム画面40がVRAM上に形成される。VRAM上に描画されたゲーム画面40は表示部30に表示される(S410)。以上でゲーム画面40を更新するための処理は終了する。
ゲーム画面40を更新するための処理(図21)が実行された後、図14に示すように、制御部13は楽曲の再生が終了したか否かを判定する(S106)。楽曲の再生が終了していない場合、ステップS103の処理が再実行される。上述したように、ステップS103〜S106の処理は、楽曲の再生が終了するまで、所定時間(本実施形態の場合には1/60秒)ごとに繰り返し実行される。一方、楽曲の再生が終了した場合、制御部13は、プレイヤのゲーム成績を表すゲーム成績画面を表示し(S107)、本処理を終了する。
以上説明したゲーム装置10では、プレイヤの音声入力に関する評価に基づいて選出される、歌詞の全部又は一部分を表す拡大画像54がゲーム画面40に表示される(図5及び図6参照)。ゲーム装置10では、プレイヤが拡大画像54を頼りに、プレイヤに与えられた評価(音声入力に関する評価)を比較的容易に把握することができる。すなわち、ゲーム装置10によれば、プレイヤの音声入力に関する評価をプレイヤが比較的容易に把握できるようにすることが可能になる。
なお、本発明は以上に説明した実施の形態に限定されるものではない。
例えば、タイミング案内マーク42及び特別タイミング案内マーク42Sの移動方向と歌詞画像51の移動方向とは同じでなくてもよい。例えば、タイミング案内マーク42及び特別タイミング案内マーク42Sの移動方向は右から左への方向に限られない。例えば、タイミング案内マーク42及び特別タイミング案内マーク42Sは、ゲーム画面40内において下から上に移動するようにしてもよい。
また例えば、本発明は、プレイヤが楽曲に合わせて、ステップと、音声入力と、を行うダンスゲーム以外のゲームにも適用することができる。本発明は、例えば、プレイヤが楽曲に合わせて、楽器(例えばドラム又はギター等)の演奏を模したゲーム操作と、音声入力と、を行うようなゲームにも適用することができる。
また、本発明は、プレイヤが楽曲に合わせて音声入力のみを行うようなゲームにも適用することができる。この場合、図7に示す機能ブロックのうち、基準操作タイミング案内部61、ゲーム操作検出部62、及びゲーム操作評価部63は省略することができる。