図1は、本発明に係るゲームシステムの一形態としてのゲーム機の外観構成を示している。ゲーム機1は、筐体2と、筐体2に取り付けられた表示装置3と、表示装置3の手前側に設けられた入力装置4とを備えている。表示装置3には、例えば液晶モニタ等のフラットパネルディスプレイが用いられている。表示装置3は、その表示面を斜め上方に向けるようにして筐体2に取り付けられている。入力装置4は、鍵盤部5を含んでいる。鍵盤部5は、ユーザが表示装置3と向かい合うようにして筐体2の前方に立ったときにそのユーザの手元に位置し、かつ表示装置3の左右方向の一端部から他端部まで延びるように設けられている。以下、ユーザを基準として方向を特定する場合には、特に断らない限り、ユーザが表示装置3と向かい合うようにして立った状態を基準としたときの方向を意味するものとする。なお、筐体2の表示装置3の上端側には左右一対のスピーカ6が設けられている。入力装置4には、鍵盤部5の他に押釦スイッチ、カードリーダ等の各種の入力機器が設けられるが、それらの説明は省略する。
鍵盤部5は、操作部材の一例としての複数の鍵11を備えている。鍵11は、筐体2の左右方向(図中の左右方向と一致する。)に一定の間隔で並ぶように設けられている。鍵11の上面はその全体に亘って平面状である。鍵盤部5には、各鍵11の押下操作に応じて操作信号を出力するセンサ、スイッチ等の検出装置(不図示)も設けられている。検出装置は鍵11ごとに設けられている。したがって、鍵盤部5は鍵11ごとに押下操作に応じた操作信号が出力される。
ゲーム機1では、所定の楽曲を再生しつつその楽曲の進行に合わせた鍵盤部5の操作を表示装置3を介してユーザに指示し、指示された操作と鍵盤部5の各鍵11の操作とを比較してユーザの操作を評価する音楽ゲームが実行される。図2は、音楽ゲームの実行時に表示装置3に表示されるゲーム画面の一例を示している。ゲーム画面100には楽曲のイメージに対応した、あるいは任意の背景画像が適宜に表示されるとともに、その背景画像上に重ねるようにして操作指示画像101が表示される。操作指示画像101は、ゲーム画面100の奧側から手前側に向かって放物線状の軌跡を描きつつ移動するように表示される指示標識の一例としてのノーツ102と、ゲーム画面100の下部にて左右方向に直線的に延びるように表示される基準標識の一例としての判定ライン103と、その判定ライン103の下方に表示される鍵盤画像104とを含んでいる。判定ライン103は楽曲中の現在の演奏位置、言い換えれば一の楽曲に関して実行されるゲーム中の現在時刻に対応する。鍵盤画像104は、鍵盤部5の各鍵11をゲーム画面100上に再現するようにして表示される。なお、以下では、鍵盤画像104にて示される鍵11のそれぞれの画像を便宜的に鍵11と表現することがある。
ノーツ102は、ゲーム画面100の左右方向に対して複数個、一例として3個の鍵11(鍵盤画像104上の鍵11である。)に対応した幅を有し、かつ上下方向には幅に比して相当に薄い偏平な形状である。ゲーム画面100の上下方向における各ノーツ102の位置は、鍵11が操作されるべき楽曲中の位置、言い換えれば、楽曲の進行中において操作が行われるべき時期(操作のタイミング)を示している。ノーツ102は、それによって指示すべき操作の時期に対して所定時間早い時期(一例として操作が行われるべき時期よりも楽曲の2小節に相当する時間長だけ先行する時期)にゲーム画面100上に出現する。その後、ノーツ102は、楽曲の進行に伴って放物線状の軌跡を描きつつ判定ライン103に向かって移動し、操作が行われるべき時期に判定ライン103と重なり合うようにその表示が制御される。
ゲーム画面100の左右方向におけるノーツ102の位置は、操作が行われるべき鍵11の位置を示している。すなわち、ノーツ102の左右方向における表示位置は、ノーツ102と判定ライン103とが重なったときに、ノーツ102の左右方向における中心位置と、操作が行われるべき鍵11の画像の左右方向における中心とが一致するように定められる。
ゲーム画面100には、操作指示画像101のノーツ102が表示される領域を左右方向に直線的に貫くように延びる拍位置標識105と、ノーツ102の移動軌跡に沿って放物線上に延びる補助線106とが表示される。拍位置標識105は、楽曲中における拍の区切り位置、一例として各小節の一拍目の位置に表示され、かつノーツ102と同様に、楽曲の進行に伴ってゲーム画面100上を放物線上の軌跡を描くようにして表示される。拍位置標識105は、楽曲中の拍の位置を示す標識であることから、ノーツ102が示す楽曲中の位置との関係を保ちつつゲーム画面100上を移動するように表示される。なお、ノーツ102が示す楽曲中の位置との関係を保つことは、ノーツ102が楽曲の演奏位置に応じてゲーム画面100上を漸次移動することから、拍位置標識105とノーツ102との楽曲中の相互間における位置関係が変わらないようにして拍位置標識105もノーツ102の移動に同期してゲーム画面100上を漸次移動することを意味する。ユーザは拍位置標識105を参照して楽曲のテンポや拍子を把握することができる。
ゲーム画面100には、さらに操作評価画像108、スコア画像109、及びコンボ数表示画像110が表示される。操作評価画像108は、ユーザの操作の評価結果を示す画像である。各ノーツ102が判定ライン103に到達する時期を基準として設定される時間の評価範囲内にノーツ102と左右方向に一致する三つの鍵11のいずれかをユーザが押下操作した場合、そのノーツ102にて指示される操作の時期とユーザが行った操作の時期との間の時間のずれ量に応じてユーザの操作のレベルが判定される。操作評価画像108はそのように判定されたレベルをユーザに通知する画像として表示される。レベルに応じてユーザのスコアが加算される。スコアの加算量はずれ量が小さいほど大きく設定される。スコア画像109は、ユーザの現在のスコアを示す画像として表示される。さらに、コンボ数表示画像110は、一定の要件を満たす操作の継続数としてのコンボ数を表示する画像として表示される。
上述したように、ゲーム機1では、ユーザに指示された操作の位置及び時期と、ユーザが実際に行った操作の位置及び時期との間のずれ量が所定の評価範囲内か否かが判別され、その判別結果に応じてユーザの操作が評価され、その評価結果に応じた処理としてスコアが加算され、あるいはコンボ数が計数される。スコアの加算とコンボ数の計数とでは、位置及び時間の少なくともいずれか一方に関して評価範囲が差別化されている。図3は、位置に関する評価範囲を差別化した一例を示している。
図3では、操作位置として指定されている鍵11をハッチングにて示している。ノーツ102は、操作位置としての鍵11と左右に隣接する鍵11との三つの鍵11に跨がるように表示される。ノーツ102の左右方向の幅に相当する三つの鍵11の範囲が、位置の評価範囲P1として設定されている。さらに、評価範囲P1に対して左右に隣接する一つの鍵11の範囲が評価範囲P2として設定されている。評価範囲P1は、スコアの加算及びコンボ数の継続の対象の操作か否かを判別するための評価範囲として設定され、評価範囲P2はコンボ数の継続の対象の操作か否かを判別するための評価範囲として設定されている。評価範囲P2の操作はスコア加算の対象からは除外される。つまり、ユーザの操作が評価範囲P1内か否かの判別結果がゲームの制御対象の一例であるスコア加算及びコンボ計数に反映されるものとすれば、ユーザの操作が評価範囲P2内か否かの判別結果は、スコア加算を制御対象から除外し、コンボ数の継続のみに反映される。評価範囲P1は第1の評価範囲の一例であり、評価範囲P2は第2の評価範囲の一例である。なお、評価範囲P1、P2は、操作位置に対して必ずしも対称的に設定されることを要しない。
時間の評価範囲Tは、ノーツ102が示す操作時期txを挟んで前後に所定時間ずれた時刻t1〜t2の範囲に設定される。時間長t1〜txと時間長tx〜t2とは必ずしも一致しなくともよい。スコア加算及びコンボ数のいずれに関しても評価範囲Tは共通である。ただし、スコア加算に関しては、時間のずれ量に応じてユーザの評価を変化させるために評価範囲Tが複数のレベルに区分される。図3では操作時期txを含んで前後に一定範囲がレベルAに設定され、レベルAの前後にレベルBが設定され、さらにその外側にレベルCが設定される。
ユーザが操作時期txに対して評価範囲T内の時期に、評価範囲P1に含まれる少なくとも一つの鍵11を操作すれば、ノーツ102に対する操作に成功したと判定される。その場合、実際の操作の時期がレベルA〜Cのいずれの区分に属するかに応じてスコアの加算量が算出される。加算量はユーザの操作がレベルA〜Cのいずれかに評価されるごとに算出され、かつレベルA、B、Cの順で漸次小さくなるように算出される。
なお、操作すべき鍵11として指定された鍵11のみならず、左右の鍵11も評価範囲P1に含めているのは、鍵盤部5の鍵11が比較的小さいピッチで密に並んでいるために、ユーザが操作すべき鍵11を押下操作したつもりでも、これに代えて、又は加えて隣接する鍵11を押下操作する可能性があることに配慮したものである。ただし、位置の評価範囲P1は必ずしも三つの鍵11に相当する範囲に設定されることを要しない。例えば、2個の鍵11、あるいは4個以上の鍵11が評価範囲P1に含まれてもよい。評価範囲P1はノーツ102の左右方向の幅と必ずしも一致しなくともよい。例えば、ノーツ102によって操作が示される鍵11の個数よりも大きい範囲が評価範囲P1として設定されてもよい。
また、評価範囲P1は操作位置(操作が行われるべき位置)として指定される鍵11よりも大きい範囲であることを必ずしも要しない。例えば、操作位置として設定される単一の鍵11のみを含むように評価範囲P1が設定されてもよい。あるいは、複数の鍵11を含むように操作位置を設定し、その操作位置として指定された鍵11の範囲を評価範囲P1として設定してもよい。一例として、図3に括弧書きで示したように、左右に並んだ三つの鍵11を操作位置として設定し、その操作位置に含まれる鍵11の範囲を評価範囲P1として設定してもよい。この場合には、操作位置として設定された鍵11の範囲、ノーツ102によって示される鍵11の範囲及び評価範囲P1が相互に一致することになる。評価範囲P1が複数の鍵11を含む場合、評価範囲P1を、時間の評価範囲Tと同様に鍵11を単位として複数のレベルに区分し、ユーザが操作した鍵11が評価範囲P1に包含されている場合の評価を、レベルに応じて差別化してもよい。例えば、評価範囲P1の左右方向の中心位置に近い鍵11が操作された場合はより評価が高くなるように差別化してもよい。また、評価範囲P2についても、複数の鍵11を含むように設定されてもよい。その場合、評価範囲P2を評価範囲P1からのずれ量に応じて複数のレベルに区分し、評価範囲P2内の操作をいずれのレベルの操作か判定してその判定結果をコンボ数の計数その他の評価範囲P2と関連付けられた処理に反映させてもよい。以上のように、操作位置として設定する範囲、ノーツ102によって示す範囲、及び位置に関する評価範囲P1、P2の関係は種々の設定が可能である。以下では、図3の例、すなわち単一の鍵11が操作位置として設定され、その操作位置の鍵11を含む三つの鍵11の範囲がノーツ102の表示範囲及び評価範囲P1として設定され、さらに評価範囲P1の外側に隣接する一つの鍵11が評価範囲P2として設定された例について説明を続ける。
ユーザが操作時期txに対して評価範囲T内の時期に、評価範囲P1に含まれる鍵11を操作すればコンボ数も加算される。また、ユーザが操作時期txに対して評価範囲T内の時期に、評価範囲P2に含まれる鍵11を操作すればコンボ数の継続対象の操作と判定され、失敗操作とはみなされない。この場合、評価範囲P1又はP2のいずれの鍵11が操作されてもコンボ数が加算されてもよいし、評価範囲P1内の鍵11が操作された場合にはコンボ数が加算され、評価範囲P2の鍵11が操作された場合には、コンボ数が初期値にリセットされず、その計数が一時的に保留されるものとしてもよい。つまり、コンボ数に関しては、評価範囲P1又はP2のいずれの鍵11が操作されても同一の結果が生じるものとしてもよいし、評価範囲P1の鍵11、又は評価範囲P2の鍵11のいずれが操作されたかに応じて異なる処理が行われてもよい。いずれにしても、ユーザが評価範囲P2の鍵11を操作した場合には、スコアが加算されないものの、コンボ数の計数に関してはユーザに不利とはならず、それ以降も適切な操作が続けられる限りコンボ数が増加する。したがって、ユーザが操作した位置が評価範囲P1から僅かにずれている場合、これをスコア加算の対象から除外して評価の厳格さを確保しつつ、コンボ数に関しては評価を緩和してユーザの不満感の軽減、又は解消を図ることができる。スコアが加算されない一方でコンボ数は途切れないといった救済的、あるいは補填的な処理が行われることにより、操作の位置が僅かにずれていたことをユーザに認識させ、それにより評価に対するユーザの納得感を高めることも可能である。
上記のように評価範囲P2が設定される場合、左右方向に隣接するノーツ102同士が重複していなくともそれらのノーツ102間で評価範囲P2が互いに重複することがある。そのような重複部分の鍵11が操作された場合には、その操作がいずれのノーツ102の評価範囲P2の操作かを判別する必要がある。その判別手法の一例を図4により説明する。
図4は、操作時期が一致する二つのノーツ102が表示され、それらのノーツ102間で評価範囲P2が重複する例を示している。図4の二つのノーツ102にて指示される操作は特定操作の一例である。図4の例においては、評価範囲P2の重複部分に対する鍵11(図でハッチングを付した鍵11)が評価範囲T内の時期に操作されたと仮定したとき、ユーザがいずれのノーツ102に対する操作として鍵11を押下操作したかを直ちには判別することができない。そこで、まずは鍵11の操作を両ノーツ102に対する操作として仮に判定する。次に、鍵11が操作された時期から将来に向かって所定期間(一例として表示装置3の表示フレーム数で表現して数フレーム相当の期間)内にて、ノーツ102に対する鍵11の操作の有無を監視する。そして、いずれの鍵11の操作も検出されなければ、仮判定していた操作を、二つのノーツ102のいずれか一方のノーツ102の評価範囲P2における操作として判定し、他方のノーツ102に対しては操作がなかったものと判定する。その場合、操作を割り当てるべきノーツ102は、例えば左側のノーツ102を優先するといったように、ノーツ102の選択順に関して優先度を定め、その優先度に従って選択してもよい。
一方、所定期間内に、両方のノーツ102に対する操作として判定可能な操作が検出された場合、先に仮判定した操作を判別対象の操作から除外する。つまり、仮判定した操作は無視される。この場合、所定期間内における判定可能な操作としては、ノーツ102の評価範囲P1に含まれる鍵11の操作のみならず、ノーツ102の評価範囲P2のうち、重複しない部分に対応する鍵11、例えば左側のノーツ102に対する左側の評価範囲P2の鍵11、あるいは右側のノーツ102に対する右側の評価範囲P2の鍵11の操作でもよい。仮判定した操作を無視するのは、その後の鍵11の操作によって、各ノーツ102に対してより適切な評価が可能となるためである。また、所定期間内に、いずれか一方のノーツ102に対する操作として判定可能な操作が検出され、他方のノーツ102に対する操作として判定可能な操作が検出されない場合には、先に仮判定した操作を他方のノーツ102に対する評価範囲P2内の操作として判定する。
以上の処理によれば、評価範囲P2内の重複部分の鍵11が操作された場合でも、その操作を一律に無視することなく、いずれか一方のノーツ102に対する操作として可能な限り判定することができる。それにより、ユーザの操作位置が多少ずれたとしても、その操作を評価の対象として適宜に取り込み、ユーザの不満感の軽減、又は解消を図ることができる。なお、評価範囲P2は評価範囲P1に連続するように設定される例に限らない。例えば、入力装置における操作の検出位置が一定間隔をおいて不連続に設定されているといったように、ユーザの操作位置が離散的となるような事情が存在する場合、評価範囲P1、P2は必ずしも物理的に連続して設定されることを要しない。
次に、図5を参照して、上述した音楽ゲームを実行するためのゲーム機1の制御系の一例を説明する。図5に示すように、ゲーム機1にはゲーム制御装置50が設けられている。ゲーム制御装置50はCPU及びその動作に必要な内部メモリといった周辺機器を含んだコンピュータの一例として構成されている。ゲーム制御装置50には、上述した鍵盤部5を含む入力装置4が接続されるとともに、表示装置3、音出力装置7及び記憶装置51が接続される。入力装置4からはゲームの制御に必要な各種の信号が入力される。鍵盤部5からの操作信号もゲーム制御装置50に入力される。表示装置3はゲーム制御装置50から出力される画像信号に従ってゲーム画面100を表示する。音出力装置7はスピーカ6及びその駆動回路を含み、ゲーム制御装置50から出力される音声信号に応じた音声、楽音、効果音等をスピーカ6(図1参照)から出力させる。
記憶装置51は、磁気ディスク、フラッシュメモリ等の不揮発性記憶媒体を用いた記憶装置であって、ゲーム制御装置50のCPUに対する外部記憶装置として機能する。記憶装置51には、ゲームプログラムPG及びゲームデータDGが記録されている。ゲーム制御装置50はゲームプログラムPG及びゲームデータDGを適宜に読み込んで、ユーザに所定のゲームをプレイさせるための各種の処理を実行する。ゲームプログラムPGよって実現されるゲームは、予め定められたテンポで進行する楽曲に合わせた操作をユーザに指示し、指示された操作のそれぞれとユーザの実際の操作とを比較してユーザの操作を評価するタイプの音楽ゲームであれば適宜に設定可能である。ゲームデータDGには、ゲーム機1にてプレイすることが可能な楽曲ごとの楽曲データMDが含まれている。
楽曲データMDにはノーツデータNdがさらに含まれている。ノーツデータNdは、楽曲の再生中にユーザが行うべき操作の詳細を記述したデータである。ノーツデータNdは、ゲーム画面100の表示、及びユーザの操作の評価において適宜に参照される。ノーツデータNdは、例えば図6に示すように、操作時期、操作位置及び操作種類を指定する情報を含む多数のレコードの集合として構成される。操作時期の情報は、ユーザが操作を行うべき楽曲中の位置、つまり操作が行われるべき時期を指定する。例えば、楽曲の演奏開始からの小節数、及び小節内の位置を用いて楽曲中の位置が特定される。小節内の位置は例えば一小節を所定数で分割し、小節の先端から何番目の位置かを指定することにより特定することができる。例えば一小節を100等分して小節内の位置を記述するとすれば、5小節目の先頭から15番目の位置を操作の時期として指定する場合には、"5、015"といった形式で操作の時期を指定することができる。
操作位置の情報は、操作が行われるべき鍵11を指定する情報である。例えば、鍵盤部5の各鍵11にユニークなキー番号を設定し、そのキー番号を操作位置の情報として記述することにより操作位置を指定することができる。操作種類の情報は、一つの鍵11を一回押下操作する通常操作、一つの鍵11を一定期間連続して押し続ける長押し操作、複数の鍵11を同時に操作する同時操作、左右に並ぶ複数の鍵11を順次操作する連続操作といったように、ユーザに要求する操作の種類を指定する情報である。図3及び図4は通常操作の例を示すが、こうした長押し操作その他の種類が異なる操作であっても、操作位置又は操作時期に対して複数の評価範囲が設定されてもよい。なお、楽曲データMDには、ノーツデータNdの他にも、楽曲のタイトル、テンポ、拍子、小節構成といった楽曲情報、あるいは鍵11の操作に対して発生させるべきキー音を指定する情報といった各種の情報を記述したデータが適宜に含まれてよい。
図5に戻って、記憶装置51には、さらにプレイデータPDも記録される。プレイデータPDは、ユーザのプレイ内容として、毎回のプレイで得たスコア、ユーザのレベル、プレイ回数その他の情報を記録したデータである。プレイデータPDは例えば所定のサーバ(不図示)に保存され、ユーザ認証を条件としてゲーム機1にダウンロードされる。音楽ゲームのプレイにおいてプレイデータPDは適宜に更新され、所定のタイミングでサーバにアップロードされる。
ゲーム機1が起動されると、ゲーム制御装置50は、ゲーム機1として動作するために必要な各種の初期設定を実行し、続いて、記憶装置51からゲームプログラムPGを読み込んでこれを実行することにより、音楽ゲームを実行するための環境を設定する。ゲームプログラムPGが実行されることにより、ゲーム制御装置50には、コンピュータハードウエアとコンピュータプログラムとの組み合わせによって実現される論理的装置として、操作指示部52、操作検出部53、操作評価部54、及び評価処理部55が設けられる。これらの論理的装置を適宜に利用することにより、ゲーム制御装置50はユーザに音楽ゲームをプレイさせるために必要な各種の処理を実行する。
操作指示部52は、ユーザが選択した楽曲に対応するノーツデータNdに基づいて、楽曲の進行に合わせた操作を表示装置3を介してユーザに指示する。それにより、表示装置3と操作指示部52との組み合わせが操作指示手段の一例として機能する。操作検出部53は、入力装置4の鍵盤部5からの出力に従ってユーザがどの鍵11をどのような時期(タイミング)に操作したかを検出する。鍵盤部5と操作検出部53との組み合わせが操作検出手段の一例として機能する。操作評価部54は、操作検出部53が検出したユーザの操作の位置及び時期と、ノーツデータNdに記述された操作位置及び操作時期とを比較してユーザの操作を評価する。それにより、操作評価部54は操作評価手段の一例として機能する。評価処理部55は、操作評価部54の評価結果がゲームに反映されるように、操作評価部54の評価結果に応じた処理を実行する。それにより、評価処理部55は評価処理手段の一例として機能する。
ゲーム制御装置50には、上記の他にも各種の論理的装置が設けられてよい。例えば、ユーザが選択した楽曲がスピーカ6から再生されるように音出力装置7を制御する装置、鍵11の操作に対応したキー音がスピーカ6から出力されるように音出力装置7を制御する装置等がゲーム制御装置50に適宜に設けられてよいが、それらの図示は省略する。
図7は、ゲーム制御装置50の操作指示部52、操作検出部53、操作評価部54及び評価処理部55の関係をより具体的に示している。操作指示部52は、ノーツデータNdから、ゲーム画面100に表示すべき範囲、一例として、現在時刻から将来に向けて楽曲の二小節相当の範囲内に操作時期が指定されたレコードを読み取り、ゲーム画面100内のノーツ102の位置を表示装置3のフレームレートに応じた周期で繰り返し演算し、演算された位置にノーツ102を表示させる。なお、図示のノーツデータNdは、記憶装置51からゲーム制御装置50の内部記憶装置に随時読み出されてよい。操作指示部52と表示装置3との間には画像の描画を担当する論理的装置あるいはハードウエア装置が介在するが、その図示は省略した。
操作検出部53は、鍵盤部5から鍵11の操作信号を取り込み、操作された鍵11の位置を示す情報(例えばキー番号)及び操作が検出された時期を操作ログデータDopに随時記録する。操作ログデータDopは、ゲーム制御装置50の内部記憶装置に保持される操作履歴のデータである。操作評価部54は、操作ログデータDopに記録された操作の位置及び時期と、ノーツデータNdに記述された操作位置及び操作時期とを比較し、位置及び時間のそれぞれのずれ量に基づいてユーザの操作を評価する。その評価手法は、図3にて説明したように、ユーザの操作の位置及び時期がノーツ102に対して設定された操作位置及び操作時期に関する評価範囲P1及びTに含まれていれば、時間のずれ量に応じてユーザの操作をレベルA〜Cのいずれかに評価し、ユーザの操作の時期が評価範囲T内であって、かつ操作の位置が評価範囲P2であれば、コンボ数の継続対象の操作として評価するというものである。
位置に関して二つの評価範囲P1、P2が設定されていることに対応して、操作評価部54には、第1判別部54a及び第2判別部54bがさらに設けられる。第1判別部54a及び第2判別部54bは、いずれもノーツ102に対応した操作位置及び操作時期と、操作検出部53が検出した操作の位置及び時期との間のずれ量が評価範囲内か否かを判別する論理的装置として設けられる。位置の評価範囲に関して第1判別部54aは評価範囲P1を対象とし、第2判別部54bは評価範囲P2を対象とする。第1判別部54aは第1判別手段の一例として機能し、第2判別部54bは第2判別手段の一例として機能する。
操作評価部54の評価結果は評価処理部55に通知される。評価処理部55は、操作評価部54の評価結果をゲームに反映させる処理を担当する。評価処理部55には第1処理部55aと第2処理部55bとが設けられている。第1処理部55aは、第1判別部54aの判別結果をスコアの加算量及びコンボ数の計数に反映させ、第2処理部55bは第2判別部54bの判別結果をコンボ数の計数に反映させる。それにより、第1処理部55aは第1処理手段の一例として機能し、第2処理部55bは第2処理手段の一例として機能する。
評価処理部55は、第1処理部55a及び第2処理部55bの処理結果、例えばスコアやコンボ数の現在値を状態データDstに随時記録する。状態データDstはユーザのプレイの進行に応じて逐次更新される各種のパラメータ等が記録されるデータである。スコアやコンボ数もパラメータの一種として状態データDstに記録される。状態データDstはゲーム制御装置50の内部記憶装置に保持され、適宜のタイミングで記憶装置51のプレイデータPDに記録される。なお、状態データDstはプレイデータPDの一部であってもよいし、プレイデータPDそれ自体が状態データDstとして評価処理部55にて管理されてもよい。
次に、図8及び図9を参照して、ユーザの操作を評価するためにゲーム制御装置50が実行する処理の一例を説明する。図8は、ゲーム制御装置50が所定の周期(一例として表示装置3のフレームレート)で繰り返し実行する操作評価処理の一例を示す。図8の処理は操作評価部54及び評価処理部55が中心となって実行される処理である。操作評価処理が開始されると、まず操作評価部54はノーツデータNdから判別対象のノーツ102を選択する(ステップS1)。この処理は、ノーツデータNdに含まれるレコードのうち、いずれか一のノーツ102に対応するレコードを選択する処理であるが、ここでは便宜的にノーツ102を選択するものとして表現する。例えば、図8の処理が未だ適用されていないレコードのうち、操作時期が最も早いレコードがステップS1で選択されてよい。図8の処理が繰り返し実行されることにより、ユーザに対して提示されるノーツ102ごとに、言い換えればユーザに対して指示される操作ごとに操作評価部54の評価が繰り返し実行され、かつ評価処理部55による処理が繰り返し実行される。
次に、操作評価部54は、ステップS1で選択したノーツ102に対する位置の評価範囲P1、及び時間の評価範囲T内の操作が検出されているか否かを操作ログデータDopに基づいて判別する(ステップS2)。この処理は操作評価部54の第1判別部54aによって実行される。なお、ステップS2の要件を満たす複数の操作が検出されている場合には、最先の操作を評価範囲P1、及びT内の操作として判別する等、所定の基準に従って操作が選択されてもよい。ステップS2にて操作が検出されていると判定された場合、操作評価部54は、ノーツ102に対応する操作時期と、検出された操作の時期とのずれ量に従って、ユーザの操作をレベルA〜C(図3参照)のいずれの操作として評価すべきかを判別し、判定されたレベルを評価処理部55に通知する(ステップS3)。
評価処理部55は、操作評価部54からのレベルの通知に対応して、状態データDstに記録されているユーザのスコアの現在値に評価結果としてのレベルに応じた値を加算し(ステップS4)、さらに、状態データDstに記録されているコンボ数に1を加算する(ステップS5)。これらの処理は評価処理部55の第1処理部55aにて実行される。その後、評価処理部55は、ステップS1で選択されたノーツ102に対応するレコード、及びそのノーツ102の評価範囲内と判別された操作のそれぞれが処理済みであることを示す情報をノーツデータNdに記録し(ステップS6)、その後に図8の処理を終える。ステップS6の処理は、ノーツデータNdの各レコード及び操作ログデータDopに記録された操作のそれぞれが図8の処理で複数回重複して判別対象に選択されないように行われるものである。例えば、処理済みであることを示すフラグ情報をノーツデータNdのレコード及び操作ログデータDopに書き込むといった処理によってステップS6が実行されてよい。
ステップS2で、評価範囲P1及び評価範囲T内の操作が検出されていないと判定された場合、操作評価部54はステップS1で選択したノーツ102に対する位置の評価範囲P2、及び時間の評価範囲T内の操作が検出されているか否かを操作ログデータDopに基づいて判別する(ステップS10)。この処理は操作評価部54の第2判別部54bによって実行される。この場合も、ステップS10の要件を満たす複数の操作が検出されているときには、最先の操作を評価範囲P2、及びT内の操作として判別する等、所定の基準に従って操作が選択されてよい。ステップS10にて操作が検出されていると判定された場合、操作評価部54は、その操作が判別対象のノーツ102の評価範囲P2と、そのノーツ102に隣接して表示される他のノーツ102の評価範囲P2との重複範囲内の操作か否かを判別する(ステップS11)。この処理はステップS1にて選択されたノーツ102に対して操作位置及び時期が最も近いノーツ102をノーツデータNdから判別し、そのノーツ102の評価範囲P2及びT内の操作としても判別可能か否かを判別することにより実現されてよい。
ステップS11にて重複範囲内の操作ではないと判定された場合、操作評価部54は、スコア加算外でかつコンボ数については継続を認めるべき操作と評価し、その評価結果を評価処理部55に通知する。その通知を受けて評価処理部55は状態データDstのコンボ数に1を加算する(ステップS12)。この処理は評価処理部55の第2処理部55bによって実行される。ただし、コンボ数の加算に代えて、コンボ数の加算を一時的に保留する処理がステップS12で行われてもよい。ステップS12の処理後、評価処理部55はステップS6に進む。この場合は、ステップS1で選択されたノーツ102に対応するレコード、及びステップS10で要件を満たすと判別された操作が処理済みとして記録される。
ステップS11にて重複範囲内の操作と判定された場合、操作評価部54は所定の重複処理を実行する(ステップS13)。重複処理は、図4にて説明したように、重複範囲内で検出された操作がいずれのノーツ102に対応する操作かを判別する処理である。重複処理の手順の詳細は後述する。ステップS10にて評価範囲P2及びT内の操作が検出されていないと判定された場合、操作評価部54はユーザがステップS1で選択されたノーツ102に対する操作に失敗したと判定し、その結果を評価処理部55に通知する(ステップS14)。評価処理部55は、失敗判定の結果を受けて、状態データDstのコンボ数を初期値にリセットし(ステップS15)、その後にステップS6に進む。この場合は、ステップS1で選択されたノーツ102に対応するレコードが処理済みとして記録される。
図9は、図8のステップS13にて実行される重複処理の手順の一例を示している。重複処理は、操作評価部54の第2判別部54bを中心として実行される。重複処理において、第2判別部54bは、ステップS11にて二つのノーツ102のそれぞれの評価範囲P2内と判定された操作を、それらのノーツ102に対する操作として仮判定する(ステップS21)。この処理は、いずれのノーツ102に対応する操作かを確定させる判定を保留する処理である。以下では、ステップS21で仮判定の対象となった操作を仮判定操作と呼び、仮判定操作と対応付けられるノーツ102を仮判定ノーツ102と呼ぶことがある。
次に、第2判別部54bは、仮判定操作の後、所定期間内に行われる図8の処理を監視し(ステップS22)、その期間内に仮判定ノーツ102に対する操作として判定された操作の有無を判別する(ステップS23)。この処理は仮判定ノーツ102に対応する評価範囲P1及びT内の操作、又は仮判定ノーツ102に対応する評価範囲P2(ただし、重複範囲を除く)及びT内の操作として、図8のステップS2又はステップS10で判定される操作の有無を判別するものである。ステップS22の所定期間は、一例として、表示装置3における数フレーム相当の時間に設定されてよい。ステップS23で仮判定ノーツ102に対する操作があったと判定された場合、第2判別部54bは、その操作が仮判定ノーツ102のいずれか一方に対応する操作であって、かつ他方のノーツ102には対応しない操作として判定されたか否かを判別する(ステップS24)。
ステップS24が否定判断される場合、第2判別部54bは、仮判定ノーツ102の両者に対応する操作が仮判定操作後に検出されたと判定し、仮判定操作を無効な操作、つまり判定対象外の操作であると判定する(ステップS25)。この処理は、仮判定操作後に、仮判定ノーツ102に対応する操作として判定されるべき適切な操作が別途検出されていることを理由とする。ステップS25の処理後、第2判別部54bはその判定結果を評価処理部55に通知して図9の処理を終える。この場合、図8のステップS6へと処理が進められる。ただし、ステップS25で操作が無効とされているため、ステップS6では仮判定操作及び仮判定ノーツ102のいずれも処理済みとは記録されず、ステップS6の処理は実質的にスキップされる。
図9のステップS24が肯定判断される場合、第2判別部54bは、一方の仮判定ノーツ102に対応する操作のみが検出されたと判定し、仮定判定操作を他方の仮判定ノーツ102の評価範囲P2内の操作と判定する(ステップS26)。つまり、二つの仮判定ノーツ102のうち一方のノーツ102に関しては、仮判定操作後にその一方のノーツ102に対応する操作として判定すべき操作が検出され、他方のノーツ102に関しては、これに対応する操作が検出されていないと判定され、仮判定操作が当該他方のノーツ102に対応する操作として判定される。
ステップS26の判定結果は評価処理部55に通知される。その通知に対応して、評価処理部55は、状態データDstのコンボ数に1を加算する(ステップS27)。この処理は図8のステップS12の処理と同様に第2処理部55bによって実行される。ステップS27においても、ステップS12と同様に、コンボ数の加算に代えて、コンボ数の加算を一時的に保留する処理が行われてもよい。ステップS27の処理が実行されると図9の処理は終了し、図8のステップS6へと処理が進められる。このときのステップS6の処理は、ステップS12からステップS6へと処理が進められる場合と同様であって、仮判定操作、及び仮判定ノーツ102のうち他方のノーツ102に対応するレコードが処理済みとして記録される。
図9のステップS23が否定判断される場合、つまり、所定期間内に、仮判定ノーツ102に対応する操作として判定すべき操作が検出されていない場合、第2判別部54bは、仮判定操作を優先ノーツ102の評価範囲P2内の操作として判定する(ステップS28)。優先ノーツ102は仮判定ノーツ102から所定の選択基準に従って優先的に選択されるべきいずれか一つのノーツ102である。例えば、仮判定ノーツ102のうち、左側に位置するノーツ102を優先するといったように適宜の基準に従って優先ノーツ102が選択されてよい。ステップS28の判定結果は評価処理部55に通知され、その通知に対応して、評価処理部55はステップS27の処理を実行する。この場合の処理はステップS26からステップS27へと処理が進められる場合と同様であり、ステップS27の処理後に図8のステップS6へと処理が進められる点も同様である。
図8及び図9の処理においては、操作評価部54の第1判別部54aが図8のステップS2の処理を実行することにより第1判別手段の一例として機能し、操作評価部54の第2判別部54bが図8のステップS10及びS11、図9のステップS21〜S26及びS28の処理を実行することにより第2判別手段の一例として機能し、評価処理部55の第1処理部55aが図8のステップS4及びS5の処理を実行することにより第1処理手段の一例として機能し、評価処理部55の第2処理部55bが図8のステップS12及び図9のステップS27の処理を実行することにより第2処理手段の一例として機能する。
レベルA〜Cのいずれかの評価が得られたか否かの判別結果に基づくスコアの加算、及びコンボ数の加算が第1判別手段による判別結果が反映されるべき第1の制御対象の一例に相当し、評価範囲P2の操作であるか否かの判別結果に基づくコンボ数の継続(加算又はリセットの保留)が第2判別手段による判別結果が反映されるべき第2の制御対象の一例に相当する。図3の評価範囲P1及び評価範囲T内の操作、つまりスコア及びコンボ数加算の対象として評価されるべき操作が第1の水準を満たす操作の一例に相当し、評価範囲P2及び評価範囲T内の操作、つまりコンボ数の継続対象と評価されるべき操作が第2の水準を満たす操作の一例に相当し、レベルA〜Cの評価結果に応じたスコアの加算、及びレベルA〜Cのいずれかの評価に対応するコンボ数の加算が第1の水準に関する評価と関連付けてゲームに生じるべき変化の一例に相当し、評価範囲P2の操作に応じたコンボ数の継続(加算又はリセットの保留)が第2の水準に関する評価と関連付けてゲームに生じるべき変化、及び第2の水準を満たす操作の継続数と関連付けられた変化の一例に相当する。
図8の処理では、ステップS2及びステップS10のそれぞれにて、ノーツ102の操作時期とユーザの操作の時期とのずれ量が評価範囲T内か否かを第1判別部54a又は第2判別部54bが判別しているが、位置のずれ量が評価範囲P1であるかP2であるかを問わず時間の評価範囲Tは共通に設定されているため、ステップS2に先行して時間のずれ量が評価範囲T内の操作が検出されているか否かを判別し、肯定判断された場合に、ステップS2及びステップS10にて位置のずれ量が評価範囲P1又はP2内か否かを判別するように図8の手順が変更されてもよい。
以上のゲームシステムでは、コンボ数がユーザのスコアに影響するものとしてもよい。例えば、レベルA〜Cの評価に応じて定められたスコアの加算量に、コンボ数に応じた係数を乗じるといった処理を適用してスコアの加算量を増減させる、あるいはコンボ数が一定の値に達するごとに適宜のボーナスを加算するといった処理を追加することにより、ユーザのスコアに対してコンボ数を反映させてもよい。その場合でも、第1判別部54aの判別結果が第1処理部55aによる第1の制御対象としてのスコア加算及びコンボ数の計数に反映される一方で、第2判別部54bの判別結果は第2処理部55bによる第2の制御対象としてのコンボ数の計数に反映され、第1の制御対象の少なくとも一部の要素としてのスコア加算が第2の制御対象には含まれないように制御対象が差別化されていることに変わりはない。例えば、図8のステップS3に続いて第2処理部55bにてステップS5の処理を実行し、その後にレベルの判別結果とコンボ数の現在値とに応じて第1処理部55aがステップS4の処理を実行するものとした場合でも、第2処理部55bがスコアの加算を制御対象としない点で、両処理部55a、55bの制御対象が差別化されていると理解することが可能である。コンボ数がスコア以外の制御に反映されてもよいことは勿論である。
第1判別部54aの判別結果が反映されるべき制御対象と、第2判別部54bの判別結果が反映されるべき制御対象は、上記の形態に限らず、適宜の変更が可能である。例えば、第1判別部54aにてユーザの操作が評価範囲P1及びT内と判別された場合にスコアの加算に加えて鍵11の操作に対応したキー音を再生するものとし、第2判別部54bにてユーザの操作が評価範囲P2及びT内と判別された場合にはスコアを加算せず、キー音の再生のみを実行するといったように制御対象が差別化されてもよい。キー音の再生は、コンボ数の計数に代えて、又は加えて実施されてもよい。キー音はゲームに対する演出の一種であり、この他にも第2判別部54bの判別結果は画像、音等の視聴覚要素を用いて実現される各種の演出の有無、あるいは演出の変化に反映されてよい。第1の制御対象も、ユーザの操作が評価されるごとに行われるべきスコアの加算と関連付けられる例に限定されず、操作の評価に応じてゲームに生じるべき各種の変化から、適宜の事項が第1の制御対象として選択されてよい。第2の制御対象が第1の制御対象の少なくとも一部の要素を含まないように設定される限り、第1判別部54a及び第2判別部54bの判別結果がそれぞれ反映されるべき制御対象は適宜に設定されてよい。例えば、第1判別部54aの判別結果が反映されるべき制御対象と、第2判別部54bの判別結果が反映されるべき制御対象とは互いに重複部分を含まないように排他的に区別されてもよい。
図8及び図9の処理は、ノーツ102を介して指示される操作ごとに操作を評価する例であるが、ユーザの操作ごとに行われる処理としてもよい。前者の場合には、ノーツ102に対して操作が行われない場合も評価が行われ(失敗と判定される)、後者の場合にはノーツ102に対して操作が行われない場合には評価も行われない。いずれの手法を採用するかは、ゲームの仕様等に応じて適宜に選択されてよい。
上記の形態では、ノーツ102にて指示される操作の位置と、ユーザが行った操作の位置との間のずれ量に関して第1及び第2の評価範囲の一例としての評価範囲P1、P2を設定したが、第1の評価範囲及び第2の評価範囲は位置又は時間の少なくともいずれか一方に関して設定されていればよい。例えば、図10に示すように、位置のずれ量に関して単一の評価範囲Pを設定する一方で、時間のずれ量に関して評価範囲T1(時刻t1〜t2)とその前後に隣接する評価範囲T2(時刻t0〜t1、t2〜t3)とを設定し、評価範囲P及びT1内の操作であればスコア及びコンボ数を加算し、評価範囲P及びT2の操作であればスコアを加算せず、コンボ数のみ加算又は保留としてもよい。あるいは、図11に示すように、位置及び時間の両者に関して評価範囲P1、P2、T1、T2がそれぞれ設定されてもよい。
上記の形態では、第2の評価範囲の一例としての評価範囲P2を、第1の評価範囲の一例としての評価範囲P1を超えた範囲に設定し、評価範囲P1と評価範囲P2とが互いに重複する範囲を含まないものとしたが、第2の評価範囲は第1の評価範囲を超える範囲を含む限りにおいて、第1の評価範囲の一部又は全部を包含するように設定されてもよい。例えば、図12に示すように、評価範囲P1の全体を包含しかつ評価範囲P1の両側に拡張するように評価範囲P2が設定されてもよい。この場合には、例えばユーザの操作が評価範囲P1及びT内であればスコアを加算し、ユーザの操作が評価範囲P2及びT内であればコンボ数を加算するといったように、制御対象が排他的に差別化されてもよい。ただし、コンボ数の加算に関して、ユーザの操作が評価範囲P1及びT内であればスコア及びコンボ数を加算し、ユーザの操作が評価範囲P1外かつP2内及びT内であればコンボ数を加算又は保留することにより、上記の形態と同様の処理を適用することも可能である。時間に関して第1の評価範囲及び第2の評価範囲を設定する場合も図12と同様に第1の評価範囲と第2の評価範囲とで包含関係が設定されてよい。
上記の形態では、ユーザに対して操作が行われるべき位置及び時期をノーツ102及び判定ライン103によって指示しているが、位置又は時期のいずれか一方のみをユーザに指示するようにゲームシステムが構成されてもよい。その場合でも、ユーザに指示される操作の位置又は時期に対して第1及び第2の評価範囲を設定し、指示された位置又は時期とユーザが実際に行った操作の位置又は時期とのずれ量が第1及び第2の評価範囲のそれぞれに含まれるか否かを判別し、それらの判別結果を第1及び第2の制御対象にそれぞれ反映させればよい。
上記の形態においては、ノーツ102が判定ライン103に向かって移動することによりユーザに操作を指示しているが、楽曲中の所定の期間内におけるノーツ102を操作位置及び操作時期に応じた配列に従ってゲーム画面100上に静止状態で表示し、判定ライン103を楽曲の進行に応じて移動させることにより、操作が行われるべき位置及び時期をユーザに提示するようにしてもよい。あるいは、ノーツ102及び判定ライン103の双方を移動させて、両者が重なることにより操作の位置及び時期を指示するようにしてもよい。さらに、ノーツ102が判定ライン103と重なり合うことをもって操作の時期を示す例に限らず、ノーツ102と判定ライン103とが所定距離内に接近し、あるいは所定距離を超えて遠ざかるといったように、ノーツ102と判定ライン103とが所定の位置関係に置かれたときに操作の時期が到来するようにノーツ102及び判定ライン103の表示が制御されてもよい。
上記の形態では、鍵盤楽器の鍵を模した鍵盤部5をユーザが操作して楽曲を演奏する例を示したが、ユーザの操作対象はその種の入力装置に限定されず、各種の楽器を模した入力装置が用いられてよい。入力装置は楽器を模した例に限られない。入力装置は、複数の操作部材が所定方向に並べて配置された例に限らず、タッチパネルのようにユーザが触れた位置を操作の位置として検出する入力装置が操作検出手段の少なくとも一部として利用されてもよい。ユーザの操作は手による例に限らず、足を用いた操作であってもよい。操作検出手段はユーザが物理的に操作する入力装置を含んだ例に限らない。ユーザをカメラその他の識別手段にて識別し、所定のプレイ領域内でユーザがどのような時期にどのような位置に手、あるいは足を位置させたか、を検出するように操作検出手段が構成されてもよい。
ゲームシステムは、単独の筐体上に構成されたゲーム機の形態に限定されず、家庭用の据え置き型のゲーム機、携帯型のゲーム機、あるいはネットワーク端末をユーザの入出力装置として利用したネットワーク型のゲームシステムとして構成されてもよい。
上述した実施の形態及び変形例のそれぞれから導き出される本発明の各種の態様を以下に記載する。なお、以下の説明では、本発明の各態様の理解を容易にするために添付図面に図示された対応する要素を括弧書きにて付記するが、それにより本発明が図示の形態に限定されるものではない。
本発明の一態様に係るゲームシステム(1)は、ユーザに対して操作を指示する操作指示手段(3、52)と、ユーザが行った操作を検出する操作検出手段(5、53)と、前記操作指示手段にて指示された操作と前記操作検出手段にて検出された操作との比較に基づいて前記ユーザの操作を評価する操作評価手段(54)と、前記操作評価手段の評価結果がゲームに反映されるように前記評価結果に応じた処理を実行する評価処理手段(52)と、を備えたゲームシステムにおいて、前記操作評価手段には、前記操作指示手段にて指示された操作と前記操作検出手段にて検出された操作との間における位置及び時間の少なくともいずれか一方に関するずれ量が第1の評価範囲(P1;T1)内か否かを判別する第1判別手段(54a、S2)と、前記ずれ量が前記第1の評価範囲を超える範囲を含むように設定された第2の評価範囲(P2;T2)内か否かを判別する第2判別手段(54b、S10、S11、S21〜S26、S28)とが設けられ、前記評価処理手段には、前記第1判別手段の判別結果が前記ゲームの第1の制御対象(一例としてスコアの加算及びコンボ数の計数)に反映されるように前記処理を実行する第1処理手段(55a、S4、S5)と、前記第2判別手段の判別結果が前記第1の制御対象の少なくとも一部の要素が含まれないようにして前記第1の制御対象とは差別化された第2の制御対象(一例としてコンボ数の計数)に反映されるように前記処理を実行する第2処理手段(55b、S12、S27)とが設けられたものである。
本発明の一態様に係るゲームシステム用のコンピュータプログラム(PG)は、ユーザに対して操作を指示する操作指示手段(3、52)、及びユーザが行った操作を検出する操作検出手段(5、53)を備えたゲームシステム(1)のコンピュータ(50)を、前記操作指示手段にて指示された操作と前記操作検出手段にて検出された操作との比較に基づいて前記ユーザの操作を評価する操作評価手段(54)、及び前記操作評価手段の評価結果がゲームに反映されるように前記評価結果に応じた処理を実行する評価処理手段(52)として機能させ、前記操作評価手段を、前記操作指示手段にて指示された操作と前記操作検出手段にて検出された操作との間における位置及び時間の少なくともいずれか一方に関するずれ量が第1の評価範囲(P1;T1)内か否かを判別する第1判別手段(54a、S2)、及び前記ずれ量が前記第1の評価範囲を超える範囲を含むように設定された第2の評価範囲(P2;T2)内か否かを判別する第2判別手段(54b、S10、S11、S21〜S26、S28)として機能させ、前記評価処理手段を、前記第1判別手段の判別結果が前記ゲームの第1の制御対象(一例としてスコアの加算及びコンボ数の計数)に反映されるように前記処理を実行する第1処理手段(55a、S4、S5)、及び前記第2判別手段の判別結果が前記第1の制御対象の少なくとも一部の要素が含まれないようにして前記第1の制御対象とは差別化された第2の制御対象(一例としてコンボ数の計数)に反映されるように前記処理を実行する第2処理手段(55b、S12、S27)として機能させるように構成されたものである。
上記の態様によれば、指示された操作とユーザが行った操作とのずれ量が第1の評価範囲内か否かの判別結果を第1の制御対象に反映させつつ、ずれ量が第1の評価範囲外であっても第2の評価範囲内と判別された場合には、その判別結果を第2の制御対象に反映させることができる。それにより、ユーザが適切な位置又は時期に操作を行ったか否かの判別に関しては第1の評価範囲を利用して評価の厳格さを確保しつつ、ユーザの操作の位置又は時期が僅かにずれるといった理由でユーザの操作が第1の評価範囲外と判別された場合には、その操作が第2の評価範囲内にあることを条件として、その操作を第2の制御対象に反映させることができる。第2の制御対象は第1の制御対象の少なくとも一部の要素を含まないように設定されているので、ユーザの操作が第2の評価範囲内であった場合には、第1の評価範囲の操作に対応して生じるべき変化の少なくとも一部が生じないようにゲームの制御を差別化することができる。それにより、第2の評価範囲内の操作に対して救済的な、あるいは補填的に評価してユーザの不満感の軽減、又は解消を図ることができる。ユーザが第1の評価範囲内の操作を行ったつもりでも、第1の制御対象の少なくとも一部の要素には評価が反映されないので、ユーザに操作のずれを認識させることもできる。それにより、評価に対する納得感をユーザに与え、ユーザの不満感の軽減、又は解消を図ることも可能である。
なお、本発明の一態様に係るコンピュータプログラムは、記憶媒体に記憶された状態で提供されてもよい。この記憶媒体を用いれば、例えばコンピュータに本発明に係るコンピュータプログラムをインストールして実行することにより、そのコンピュータを利用して本発明のゲームシステムを実現することができる。コンピュータプログラムを記憶した記憶媒体は、CDROM等の非一過性の記憶媒体であってもよい。
上記態様において、前記操作指示手段は複数の操作をユーザに指示し、前記第1判別手段は、前記ずれ量が前記第1の評価範囲内か否かを操作ごとに判別し、前記第1処理手段は、前記第1判別手段にて判別が行われるごとに前記処理を実行するものとしてもよい。これによれば、ユーザに指示された操作と操作検出手段が検出した操作とのずれ量が第1の評価範囲内か否かが操作ごとに判別され、それらの判別結果が第1の制御対象に逐次反映される。したがって、第1の制御対象を操作に応じて適宜変化させつつ、第1の評価範囲外の操作が行われた場合には、第2の評価範囲内の操作であることを条件として、第2の制御対象に適宜の変化を生じさせてユーザの不本意な操作の救済等を図ることができる。
前記操作評価手段は、前記第1判別手段の判別結果を参照して、前記ユーザが前記指示された操作に対して第1の水準を満たす操作(一例としてレベルA〜Cのいずれかとして評価されるべき操作)を行ったか否かを評価し、前記第1処理手段は、前記第1判別手段の判別結果を前記第1の制御対象に反映させるため、前記第1の水準に関する評価と関連付けた変化(一例としてスコア及びコンボ数の加算)が前記ゲームに生じるように前記処理を実行してもよい。これによれば、ユーザが第1の評価範囲内の操作を行った場合、一定水準の操作が行われたものと評価し、その評価と関連付けられた変化をゲームに生じさせることができる。したがって、第1の評価範囲をゲームに所定の変化を生じさせるための評価基準として機能させることが可能である。
前記第1の制御対象は、前記第1の水準に関する評価に応じて算出されるべきスコアと関連付けられてもよい。この場合には、ユーザの操作が一定水準に達していると評価された場合、その評価をスコアに反映させることができる。これにより、第1の評価範囲をスコア加算の対象の操作か否かを判別するための評価基準として機能させることが可能である。
前記第2判別手段は、前記指示された複数の操作のそれぞれについての前記ずれ量が前記第2の評価範囲内か否かを操作ごとに判別し、前記操作評価手段は、前記第2判別手段の判別結果を参照して、前記ユーザが前記指示された操作に対して第2の水準を満たす操作(一例としてコンボ数の継続対象と評価されるべき操作)を行ったか否かを評価し、前記第2処理手段は、前記第2判別手段の判別結果を前記第2の制御対象に反映させるため、前記第2の水準を満たす操作の継続数を計数し、当該継続数と関連付けた変化(一例としてコンボ数の加算又はリセットの保留)が前記ゲームに生じるように前記処理を実行するものとしてもよい。これによれば、第2の評価範囲を満たす操作を適宜の水準を満たす操作と位置付け、その継続数に基づく変化をゲームに生じさせることができる。
前記第2判別手段は、前記操作指示手段にて指示された少なくとも二つの特定操作(一例として図4の二つのノーツ102で指示される操作)のそれぞれと前記検出手段にて検出された操作との間の前記ずれ量が、前記特定操作のそれぞれに対応する第1の評価範囲外でかつ前記第2の評価範囲の重複範囲内であった場合、前記検出された操作に対する判別を保留し(S21)、保留の対象となった操作後の所定期間内に、前記特定操作に対応する操作として判定すべき操作が前記検出手段にて検出されたか否かを判別し(S22、S23)、前記所定期間内に前記特定操作に対応する操作が検出されない場合には、前記保留の対象となった操作が、前記特定操作のうちいずれか一の特定操作に対する第2の評価範囲内の操作と判別し(S28)、前記所定期間内に前記特定操作のそれぞれに対応する操作が検出された場合には前記保留の対象となった操作を前記第2判別手段の判別対象から除外し(S25)、前記所定期間内に前記特定操作の一部の操作に対応する操作が検出されかつ他の特定操作に対応する操作が検出されない場合には、前記保留の対象となった操作を前記他の特定操作の一つに対応する前記第2の評価範囲内の操作であると判別する(S26)ものとしてもよい。これによれば、複数の特定操作のそれぞれに対する第2の評価範囲が重複範囲を有し、その重複範囲内の操作が検出された場合、当該操作がいずれの特定操作に対応した操作であるかを判別して評価することができる。
前記第2の制御対象は前記ゲームの演出(一例としてキー音の再生)と関連付けられてもよい。これによれば、ゲームの演出を第2の評価範囲に基づいて制御することにより、ユーザの不満感の軽減、又は解消を図ることができる。第2の評価範囲をゲームの演出に反映させるべき対象の操作か否かを判別するための評価基準として機能させることができる。
前記操作評価手段は、前記位置のずれ量及び前記時間のずれ量の両者に基づいて前記ユーザの操作を評価し、前記第1の評価範囲及び前記第2の評価範囲は前記位置のずれ量又は前記時間のずれ量のいずれか一方に対して設定されてもよい。これによれば、ユーザに指示された操作の位置及び時期とユーザが行った操作の位置及び時期とのずれ量に従ってユーザの操作を評価しつつ、操作の位置又は時間のいずれか一方のずれ量に関しては第1の評価範囲に基づく評価と、第2の評価範囲に基づく評価とを併用して、操作の位置又は時期のずれ量に基づく評価の厳格さを確保しつつ、位置又は時期が僅かにずれた操作を第2の評価範囲に基づいて救済的に、あるいは補填的に評価してユーザの不満感の軽減、又は解消を図ることができる。