以下、本発明の実施形態について図面に基づき詳細に説明する。本発明の実施形態に係るゲームシステムは、例えば携帯ゲーム機、家庭用ゲーム機(据置型ゲーム機)、業務用ゲーム機、携帯電話機、携帯情報端末(PDA)、パーソナルコンピュータ、又はサーバコンピュータを用いて実現される。ここでは、本発明の実施形態に係るゲームシステムを1台の携帯ゲーム機を用いて実現する場合について説明する。
[1.ハードウェア構成]
図1は、本発明の実施形態に係るゲームシステムのハードウェア構成を示す。図1に示すように、ゲームシステム10は携帯ゲーム機11、光ディスク26(情報記憶媒体)、及びメモリカード27(情報記憶媒体)を含む。
携帯ゲーム機11はコンピュータシステムであり、バス12、制御部13、主記憶14、画像処理部15、表示部16、音声処理部17、音声出力部18、光ディスクドライブ19、メモリカードスロット20、通信インタフェース(I/F)21、及び操作部22を含む。
バス12はアドレス及びデータを携帯ゲーム機11の各部でやり取りするために用いられる。制御部13、主記憶14、画像処理部15、音声処理部17、光ディスクドライブ19、メモリカードスロット20、通信インタフェース21、及び操作部22は、バス12によって相互データ通信可能に接続される。
制御部13は例えば一又は複数のマイクロプロセッサを含み、例えば光ディスク26から読み出されるプログラムに基づいて、携帯ゲーム機11の各部の制御処理や各種情報処理を実行する。主記憶14は例えばRAMを含み、光ディスク26又はメモリカード27から読み出されたプログラム及びデータが必要に応じて書き込まれる。主記憶14は制御部13の作業用としても用いられる。
画像処理部15はVRAMを含み、制御部13から供給される画像データに基づいてVRAM上にゲーム画面を描画し、そのゲーム画面を表示部16に表示する。表示部16は例えば液晶表示ディスプレイである。音声処理部17はサウンドバッファを含み、光ディスク26からサウンドバッファに読み出された音声データを音声出力部18から出力する。音声出力部18は例えばスピーカ又はヘッドホン等である。
光ディスクドライブ19は、光ディスク26に記録されたプログラムやデータを読み取る。ここではプログラムやデータを携帯ゲーム機11に供給するために光ディスク26を用いることとするが、例えばメモリカード27等の他のあらゆる情報記憶媒体を用いるようにしてもよい。また、インターネット等のデータ通信網を介して遠隔地からプログラムやデータを携帯ゲーム機11に供給するようにしてもよい。
通信インタフェース21は、インターネットなどのデータ通信網に通信接続するためのインタフェースである。メモリカードスロット20はメモリカード27に記憶されるデータ等を読み出すためのインタフェースである。メモリカード27は不揮発性メモリ(例えばEEPROMなど)を含み、例えばセーブデータなどの各種ゲームデータを記憶する。
操作部22はプレイヤがゲーム操作を行うためのものである。操作部22は複数の操作部材(ボタンやスティック等)を含む。操作部22の各操作部材の状態は所定時間(例えば1/60秒)ごとスキャンされ、そのスキャン結果を表す操作信号がバス12を介して制御部13に供給される。制御部13は操作信号に基づいてプレイヤのゲーム操作を判断する。
[2.ゲーム]
ゲームシステム10で実行されるゲームについて説明する。ゲームシステム10では、例えば、第1プレイヤ及び第2プレイヤが楽曲に合わせてゲーム操作を行う音楽ゲームが実行される。
図2は音楽ゲームの遊び方の一例について説明するための図である。本実施形態の場合、第1プレイヤ及び第2プレイヤは1台の携帯ゲーム機11を用いて音楽ゲームをプレイする。図2に示すように、第1プレイヤは携帯ゲーム機11の一方の端30を両手で持ち、第2プレイヤは携帯ゲーム機11の他方の端31を両手で持ってプレイする。
携帯ゲーム機11の一方の端30には、上下左右の4方向に対応する4つのボタン32U,32D,32L,32Rが設けられている。第1プレイヤはボタン32U,32D,32L,32Rを操作する。また、携帯ゲーム機11の他方の端31には、4つのボタン33U,33D,33L,33Rが設けられている。第2プレイヤはボタン33U,33D,33L,33Rを操作する。
第2プレイヤから見た場合、ボタン33Uは上方向に対応するボタンであり、ボタン32Uに対応する。同様に、ボタン33Dは下方向に対応するボタンであり、ボタン32Dに対応する。また、ボタン33Lは左方向に対応するボタンであり、ボタン32Lに対応する。ボタン33Rは右方向に対応するボタンであり、ボタン32Rに対応する。
ゲームシステム10で実行される音楽ゲームでは、予め用意された複数の楽曲のうちから選択された楽曲が再生され、その楽曲が音声出力部18から出力される。また、この音楽ゲームでは、楽曲ごとに、ボタン32U,32D,32L,32R,33U,33D,33L,33Rが押下されるべきタイミング(以下「基準タイミング」と記載する。)が定められている。第1プレイヤは基準タイミングと一致するタイミングでボタン32U,32D,32L,32Rを押下することを目指し、第2プレイヤは基準タイミングと一致するタイミングでボタン33U,33D,33L,33Rを押下することを目指す。
図3は表示部16に表示されるゲーム画面の一例を示す。図3において、ゲーム画面40の下側は図2に示す携帯ゲーム機11の一方の端30側に対応し、ゲーム画面40の上側が図2に示す携帯ゲーム機11の他方の端31側に対応する。第1プレイヤは矢印P1が示す方向からゲーム画面40を見る。一方、第2プレイヤは矢印P2が示す方向からゲーム画面40を見る。なお、以下では、特に断らない限り、第1プレイヤの視点からゲーム画面40を見ていることを前提として説明する。
また、図3において、符号43A及び44Aが指す二つの位置を結ぶ点線45Aと、符号43B及び44Bが指す二つの位置を結ぶ点線45Bと、符号43C及び44Cが指す二つの位置を結ぶ点線45Cと、符号43D及び44Dが指す二つの位置を結ぶ点線45Dとはゲーム画面40について説明するためのものであり、実際のゲーム画面40には表示されない。
ゲーム画面40の下側部分は、ボタン32U,32D,32L,32Rを押下すべきタイミング(基準タイミング)を第1プレイヤに案内するための第1案内領域41である。一方、ゲーム画面40の上側部分は、ボタン33U,33D,33L,33Rを押下すべきタイミング(基準タイミング)を第2プレイヤに案内するための第2案内領域42である。
ゲーム画面40の中央部分で第1案内領域41と第2案内領域42とは重複しており、この重複領域に基準マーク50A,50B,50C,50Dが横一列に表示される。これらの基準マーク50A〜50Dは第1プレイヤ及び第2プレイヤの両方のためのものである。なお、以下では、基準マーク50A〜50Dのことを総称して「基準マーク50」と記載する場合がある。
第1案内領域41では、基準マーク50A,50B,50C,50Dの下側に、それぞれ、第1案内マーク51A,51B,51C,51Dが表示される。一方、第2案内領域42では、基準マーク50A,50B,50C,50Dの上側に、それぞれ、第2案内マーク52A,52B,52C,52Dが表示される。
基準マーク50Aと第1案内マーク51Aと第2案内マーク52Aとは同一線(点線45A)上に表示される。基準マーク50Bと第1案内マーク51Bと第2案内マーク52Bとは同一線(点線45B)上に表示される。基準マーク50Cと第1案内マーク51Cと第2案内マーク52Cとは同一線(点線45C)上に表示される。基準マーク50Dと第1案内マーク51Dと第2案内マーク52Dとは同一線(点線45D)上に表示される。
第1案内マーク51Aは基準マーク50Aに対応する。第1案内マーク51Aは、初期位置43Aに表示された後、点線45Aが示す経路上を時間経過に伴って下から上に向かって徐々に移動して、基準マーク50Aに接近する。基準マーク50A及び第1案内マーク51Aはボタン32Lに対応し、ボタン32Lが押下されるべきタイミング(基準タイミング)にて第1案内マーク51Aは基準マーク50Aに重なる。
同様に、第1案内マーク51Bは基準マーク50Bに対応する。第1案内マーク51Bは、初期位置43Bに表示された後、点線45Bが示す経路上を時間経過に伴って下から上に向かって徐々に移動して、基準マーク50Bに接近する。基準マーク50B及び第1案内マーク51Bはボタン32Dに対応し、ボタン32Dが押下されるべきタイミング(基準タイミング)にて第1案内マーク51Bは基準マーク50Bに重なる。
また、第1案内マーク51Cは基準マーク50Cに対応する。第1案内マーク51Cは、初期位置43Cに表示された後、点線45Cが示す経路上を時間経過に伴って下から上に向かって徐々に移動して、基準マーク50Cに接近する。基準マーク50C及び第1案内マーク51Cはボタン32Uに対応し、ボタン32Uが押下されるべきタイミング(基準タイミング)にて第1案内マーク51Cは基準マーク50Cに重なる。
また、第1案内マーク51Dは基準マーク50Dに対応する。第1案内マーク51Dは、初期位置43Dに表示された後、点線45Dが示す経路上を時間経過に伴って下から上に向かって徐々に移動して、基準マーク50Dに接近する。基準マーク50D及び第1案内マーク51Dはボタン32Rに対応し、ボタン32Rが押下されるべきタイミング(基準タイミング)にて第1案内マーク51Dは基準マーク50Dに重なる。
第1プレイヤは基準マーク50A,50B,50C,50Dに接近する第1案内マーク51A,51B,51C,51Dを頼りに、ボタン32U,32D,32L,32Rを押下すべきタイミングを把握する。
第1案内マーク51A,51B,51C,51Dが基準マーク50A,50B,50C,50Dに重なるタイミング(基準タイミング)と、第1プレイヤがボタン32L,32D,32U,32Rを押下したタイミングと、の一致度に基づいて、第1プレイヤに評価が与えられる。例えば、「MARVELOUS」、「PERFECT」、「GREAT」、「GOOD」、「ALMOST」、及び「BOO」のうちのいずれかの評価が与えられる。「MARVELOUS」が最も高い評価であり、「BOO」が最も低い評価である。第1案内領域41内には第1プレイヤに与えられた評価を示すメッセージ53が表示される。
また、第1案内領域41内にはコンボ数54が表示される。コンボ数54は、第1プレイヤが比較的高い評価(例えば「MARVELOUS」、「PERFECT」、又は「GREAT」)を連続して得た回数である。
さらに、第1案内領域41内の下側領域には第1ゲージ55が表示される。第1ゲージ55の長さは第1プレイヤに与えられた評価に基づいて変化する。例えば、第1プレイヤに与えられた評価が比較的高い「MARVELOUS」、「PERFECT」、「GREAT」、又は「GOOD」であった場合に第1ゲージ55は伸張し、第1プレイヤに与えられた評価が比較的低い「ALMOST」又は「BOO」であった場合に第1ゲージ55は収縮する。
一方、第2案内領域42内に表示される第2案内マーク52Aは基準マーク50Aに対応する。第2案内マーク52Aは、初期位置44Aに表示された後、点線45Aが示す経路上を時間経過に伴って上から下に向かって徐々に移動して、基準マーク50Aに接近する。第2プレイヤからゲーム画面40を見た場合、第2案内マーク52Aは、時間経過に伴って下から上に向かって徐々に移動して、基準マーク50Aに接近することになる。
また、基準マーク50A及び第2案内マーク52Aはボタン33Rに対応し、ボタン33Rが押下されるべきタイミング(基準タイミング)にて第2案内マーク52Aは基準マーク50Aに重なる。
同様に、第2案内マーク52Bは基準マーク50Bに対応する。第2案内マーク52Bは、初期位置44Bに表示された後、点線45Bが示す経路上を時間経過に伴って上から下に向かって徐々に移動して、基準マーク50Bに接近する。基準マーク50B及び第2案内マーク52Bはボタン33Uに対応し、ボタン33Uが押下されるべきタイミング(基準タイミング)にて第2案内マーク52Bは基準マーク50Bに重なる。
また、第2案内マーク52Cは基準マーク50Cに対応する。第2案内マーク52Cは、初期位置44Cに表示された後、点線45Cが示す経路上を時間経過に伴って上から下に向かって徐々に移動して、基準マーク50Cに接近する。基準マーク50C及び第2案内マーク52Cはボタン33Dに対応し、ボタン33Dが押下されるべきタイミング(基準タイミング)にて第2案内マーク52Cは基準マーク50Cに重なる。
さらに、第2案内マーク52Dは基準マーク50Dに対応する。第2案内マーク52Dは、初期位置44Dに表示された後、点線45Dが示す経路上を時間経過に伴って上から下に向かって徐々に移動して、基準マーク50Dに接近する。基準マーク50D及び第2案内マーク52Dはボタン33Lに対応し、ボタン33Lが押下されるべきタイミング(基準タイミング)にて第2案内マーク52Dは基準マーク50Dに重なる。
第2プレイヤは基準マーク50A,50B,50C,50Dに接近する第2案内マーク52A,52B,52C,52Dを頼りに、ボタン33R,33U,33D,33Lを押下すべきタイミングを把握する。
第1プレイヤと同様に、第2案内マーク52A,52B,52C,52Dが基準マーク50A,50B,50C,50Dに重なるタイミング(基準タイミング)と、第2プレイヤがボタン33R,33U,33D,33Lを押下したタイミングと、の一致度に基づいて、第2プレイヤに評価が与えられる。第2案内領域42内には第2プレイヤに与えられた評価を示すメッセージが表示されるが、図3では省略されている。また、第2案内領域42内には、第2プレイヤが比較的高い評価を連続して得た回数であるコンボ数も表示されるが、図3では省略されている。
さらに、第2案内領域42内の上側領域には第2ゲージ56が表示されている。第2ゲージ56の長さは第2プレイヤに与えられた評価に基づいて変化する。第1ゲージ55と同様、例えば、第2プレイヤに与えられた評価が比較的高い「MARVELOUS」、「PERFECT」、「GREAT」、又は「GOOD」であった場合に第2ゲージ56は伸張し、第2プレイヤに与えられた評価が比較的低い「ALMOST」又は「BOO」であった場合に第2ゲージ56は収縮する。
なお、以下では、第1案内マーク51A〜51Dのことを総称して「第1案内マーク51」と記載し、第1案内マーク51A〜51Dの初期位置43A〜43Dのことを総称して「第1案内マーク51の初期位置43」と記載する場合がある。同様に、第2案内マーク52A〜52Dのことを総称して「第2案内マーク52」と記載し、第2案内マーク52A〜52Dの初期位置44A〜44Dのことを総称して「第2案内マーク52の初期位置43」と記載する場合がある。
特に、ゲームシステム10では、基準マーク50の位置が、第1プレイヤ及び第2プレイヤに与えられた評価に基づいて変化する。例えば、第1ゲージ55及び第2ゲージ56の長さに基づいて、基準マーク50の位置が変化する。
具体的には、第2ゲージ56が第1ゲージ55よりも長い場合(すなわち、第2プレイヤに与えられた評価が第1プレイヤに与えられた評価よりも高い場合)、基準マーク50は、第1案内マーク51の初期位置43に近づく。図4はこの場合のゲーム画面40の一例を示す。図4に示すゲーム画面40では、第2ゲージ56が第1ゲージ55よりも長くなっており、図3に示すゲーム画面40と比較して、基準マーク50A〜50Dが第1案内マーク51A〜51Dの初期位置43A〜43Dに近づいている。
ここで、基準マーク50の位置と第1案内マーク51の初期位置43との間の距離は、第1ゲージ55及び第2ゲージ56の長さの差に応じて設定される。例えば、第1ゲージ55及び第2ゲージ56の長さの差が大きいほど、基準マーク50の位置と第1案内マーク51の初期位置43との間の距離は短くなる。
基準マーク50の位置と第1案内マーク51の初期位置43との間の距離が短くなると、第1案内マーク51の表示が開始されてから、第1案内マーク51が基準マーク50に到達するまでの時間も短くなる。この場合、第1プレイヤは、第1案内マーク51の表示が開始された後、比較的短い時間内にゲーム操作を行わなければならなくなり、第1プレイヤのゲームの難易度が上昇する。第1ゲージ55及び第2ゲージ56の長さの差が大きいほど、第1プレイヤのゲームの難易度が上昇する。
なお、この場合、基準マーク50の位置と第2案内マーク52の初期位置44との間の距離は長くなる。例えば、図4に示すゲーム画面40では、図3に示すゲーム画面40と比較して、基準マーク50A〜50Dが第2案内マーク52A〜52Dの初期位置44A〜44Dから離れている。
このような場合、第2案内マーク52の表示が開始されてから、第2案内マーク52が基準マーク50に到達するまでの時間が長くなる。その結果、第2プレイヤは、第2案内マーク52の表示が開始された後、比較的長い時間内にゲーム操作を行えばよくなり、第2プレイヤのゲームの難易度が低下する。第1ゲージ55及び第2ゲージ56の長さの差が大きいほど、第2プレイヤのゲームの難易度が低下する。
一方、第1ゲージ55が第2ゲージ56よりも長い場合(すなわち、第1プレイヤに与えられた評価が第2プレイヤに与えられた評価よりも高い場合)、基準マーク50は第2案内マーク52の初期位置44に近づく。この場合、第2案内マーク52の表示が開始されてから、第2案内マーク52が基準マーク50に到達するまでの時間が短くなる。その結果、第2プレイヤのゲームの難易度が上昇する。
この場合、基準マーク50の位置と第2案内マーク52の初期位置44との間の距離は、第1ゲージ55及び第2ゲージ56の長さの差に応じて設定される。例えば、第1ゲージ55及び第2ゲージ56の長さの差が大きいほど、基準マーク50の位置と第2案内マーク52の初期位置44との間の距離が短くなる。その結果、第2プレイヤのゲームの難易度も上昇する。
なお、この場合、基準マーク50が第1案内マーク51の初期位置43から離れることになる。その結果、第1プレイヤは、第1案内マーク51の表示が開始された後、比較的長い時間内にゲーム操作を行えばよくなり、第1プレイヤのゲームの難易度が低下する。第1ゲージ55及び第2ゲージ56の長さの差が大きいほど、第1プレイヤのゲームの難易度が低下する。
さらに、ゲームシステム10は下記に説明するような機能も備えている。第1案内マーク51が基準マーク50に到達した場合、原則として、第1案内マーク51はゲーム画面40から消える。ただし、ゲームシステム10では、第1案内マーク51A,51B,51C,51Dが基準マーク50A,50B,50C,50Dに重なるタイミング(基準タイミング)と、第1プレイヤがボタン32L,32D,32U,32Rを押下したタイミングと、の一致度が低い場合、第1案内マーク51A〜51Dはゲーム画面40から消えずに移動し続け、第2案内領域42内に進入するようになっている。
例えば、図4に示すゲーム画面40では、第1案内マーク51Dが基準マーク50Dに近づいており、第1プレイヤがボタン32Rを押下すべき基準タイミングが近づいている。この場合において、基準タイミングと、第1プレイヤがボタン32Rを実際に押下したタイミングと、のずれが大きいと、第1案内マーク51Dは移動し続け、第2案内領域42内に進入する。
図5はこの場合のゲーム画面40の一例を示す。なお、図5に示すゲーム画面40では、第2案内領域42内に進入した第1案内マーク51Dを、第2案内マーク52A〜52Dと区別するために、黒い画像として表している。
図5に示すように、第2案内領域42内に進入した第1案内マーク51Dは、点線45Dが示す経路上を、第2案内マーク52Dの初期位置44Dに向かって移動する。この場合、第2案内マーク52A〜52Dと第1案内マーク51Dとが第2案内領域42内に表示されるため、第2プレイヤは第1案内マーク51Dを気にしないようにしつつ、第2案内マーク52A〜52Dに注目してゲーム操作を行う必要がある。その結果、第2プレイヤのゲームの難易度が上昇する。
さらに、ゲームシステム10では、第2案内領域42内に進入した第1案内マーク51が第2案内マーク52と当たった場合、第2プレイヤがゲーム操作を行うべきタイミングが追加されるようになっている。
例えば、図5に示すゲーム画面40では、第2案内領域42内に進入した第1案内マーク51Dが第2案内マーク52Dと当たる寸前の状態になっている。この後、第1案内マーク51Dが第2案内マーク52Dと当たると、第2案内領域42内に進入した第1案内マーク51Dが消えるとともに、第2案内マーク52A〜52Dのうちのいずれかが新たに追加表示される。すなわち、第2プレイヤがゲーム操作を行うべき基準タイミングが追加される。
図6はこの場合のゲーム画面40の一例を示す。図6に示すゲーム画面40では第2案内マーク52Bが新たに追加されている。図6では、新たに追加された第2案内マーク52Bを他の第2案内マーク52A〜52Dと区別するために、黒い画像で表している。この場合、第2プレイヤが行うべきゲーム操作が増えるため、第2プレイヤのゲームの難易度が上昇する。
なお、第1案内マーク51と同様、第2案内マーク52も第1案内領域41内に進入する場合がある。すなわち、第2案内マーク52A,52B,52C,52Dが基準マーク50A,50B,50C,50Dに重なるタイミング(基準タイミング)と、第2プレイヤがボタン33R,33U,33D,33Lを押下したタイミングと、の一致度が低い場合、第2案内マーク52A〜52Dはゲーム画面40から消えずに移動し続け、第1案内領域41内に進入するようになっている。
そして、第1案内領域41内に進入した第2案内マーク52が第1案内マーク51と当たると、第1案内マーク51A〜51Dのうちのいずれかが新たに追加表示され、第1プレイヤがゲーム操作を行うべき基準タイミングが追加されるようになっている。
以上に説明したように、ゲームシステム10では、第1プレイヤ及び第2プレイヤに与えられた評価に基づいて基準マーク50の表示位置が変化する(図4参照)。上述したように、基準マーク50の表示位置はゲームの難易度に影響を与えるため、ゲームシステム10では、第1プレイヤ及び第2プレイヤに与えられた評価に応じて、ゲームの難易度が変化する。ゲームシステム10ではこのような機能を有することによって、ゲーム音楽に合わせてゲーム操作を行うゲームを第1プレイヤ及び第2プレイヤがプレイする場合の興趣が向上するようになっている。
また、ゲームシステム10では、例えば、第1案内マーク51が基準マーク50に到達したタイミングと、第1プレイヤがゲーム操作(ボタン32U,32D,32L,32Rの押下操作)を実際に行ったタイミングと、の一致度に応じて、第1案内マーク51が、第2プレイヤのため第2案内領域42に進入する(図5参照)。上述したように、第1案内マーク51が第2案内領域42に進入すると第2プレイヤのゲームの難易度が上昇する。このため、ゲームシステム10では、上記の一致度に応じて、第2プレイヤのゲームの難易度が変化する。同様に、第2案内マーク52が基準マーク50に到達したタイミングと、第2プレイヤがゲーム操作(ボタン33U,33D,33L,33Rの押下操作)を実際に行ったタイミングと、の一致度に応じて、第2案内マーク52が、第1プレイヤのため第1案内領域41に進入する。そして、その結果として、第1プレイヤのゲーム操作の難易度が変化する。ゲームシステム10ではこのような機能を有することによって、ゲーム音楽に合わせてゲーム操作を行うゲームを第1プレイヤ及び第2プレイヤがプレイする場合の興趣が向上するようになっている。
さらに、ゲームシステム10では、第2プレイヤのため第2案内領域42に進入した第1案内マーク51が第2案内マーク52と当たると、第2プレイヤがゲーム操作を行うべき基準タイミングが新たに追加され(図6参照)、第2プレイヤのゲームの難易度が上昇する。同様に、第1プレイヤのため第1案内領域41に進入した第2案内マーク52が第1案内マーク51と当たると、第1プレイヤがゲーム操作を行うべき基準タイミングが新たに追加され、第1プレイヤのゲームの難易度が上昇する。ゲームシステム10ではこのような機能を有することによって、ゲーム音楽に合わせてゲーム操作を行うゲームを第1プレイヤ及び第2プレイヤがプレイする場合の興趣が向上するようになっている。
[3.機能ブロック]
以下、以上に説明した機能を実現するための構成について説明する。まず、ゲームシステム10で実現される機能ブロックについて説明する。図7は、ゲームシステム10で実現される機能ブロックを示す機能ブロック図である。図7に示すように、ゲームシステム10は、記憶部60、第1案内部61、第1検出部62、第1評価部63、第2案内部64、第2検出部65、第2評価部66、変更部67、進入制御部68(第1移動制御手段、第2移動制御手段)、及び基準タイミング追加部69を含む。記憶部60は例えば主記憶14、光ディスク26及びメモリカード27によって実現され、その他の機能ブロックは、例えば制御部13が光ディスク26に記憶されたプログラムを実行することによって実現される。
[3−1.記憶部]
記憶部60はゲームを実行するために必要なデータを記憶する。例えば、記憶部60は複数の楽曲データを記憶する。図8は、一の楽曲に対応する楽曲データの一例を示す図である。図8に示すように、楽曲データは、オリジナル楽曲データ、基準操作データ、及び背景画像データを含む。オリジナル楽曲データは、例えば一般のポピュラー音楽等を所定のデータ形式で保存したものである。背景画像データは、ゲーム画面40の背景として表示される画像を表すものである。
基準操作データは、第1プレイヤがゲーム操作を行うべき複数の基準タイミングと、各基準タイミングにおいて第1プレイヤが複数種類の第1ゲーム操作のいずれを行うべきかと、第2プレイヤがゲーム操作を行うべき複数の基準タイミングと、各基準タイミングにおいて第2プレイヤが複数種類の第2ゲーム操作のいずれを行うべきかと、を定義したデータである。
本実施形態の場合、第1プレイヤがボタン32U,32D,32L,32Rを押下すべきタイミングや、第2プレイヤがボタン33U,33D,33L,33Eを押下すべきタイミングが「基準タイミング」に相当する。また、ボタン32U,32D,32L,32Rを押下する操作が、第1プレイヤが行うべき「複数種類の第1ゲーム操作」に相当する。さらに、ボタン33U,33D,33L,33Rを押下する操作が、第2プレイヤが行うべき「複数種類の第2ゲーム操作」に相当する。この基準操作データは楽曲のテンポ(リズム)を考慮して作成される。
なお、ここでは、第1プレイヤがゲーム操作を行うべき複数の基準タイミングと、第2プレイヤがゲーム操作を行うべき複数の基準タイミングとが同じであることとして説明する。ただし、第1プレイヤがゲーム操作を行うべき複数の基準タイミングと、第2プレイヤがゲーム操作を行うべき複数の基準タイミングとは異なるようにしてもよい。また、例えば、ゲームシステム10が二つのゲームコントローラ(操作部)を備えるような場合であって、第1プレイヤが一方のゲームコントローラを用いてプレイし、第2プレイヤが他方のゲームコントローラを用いてプレイするような場合、第1プレイヤが行うべき複数種類の第1ゲーム操作と、第2プレイヤが行うべき複数種類の第2ゲーム操作とは同じであってもよい。
図9は基準操作データの一例を示す。なお、図9において、t軸は時間軸であり、楽曲の再生が開始されてからの時間経過を示す。例えば、基準操作データは、1/256小節の単位で、ボタン32U,32D,32L,32R,33U,33D,33L,33Rが押下されるべきタイミング(基準タイミング)を示す。なお、図9では、説明を簡略化するために、1小節を4分割し、1/4小節の単位で基準タイミングが示されている。
図9に示す基準操作データは「L」、「D」、「U」、「R」フィールドを含む。「L」フィールドは、左方向に対応するボタン32L,33Lを押下すべきか否かを示す。「0」はボタン32L,33Lを押下すべきでないことを示し、「1」はボタン32L,33Lを押下すべきことを示す。同様に、「D」フィールドは、下方向に対応するボタン32D,33Dを押下すべきか否かを示す。「U」フィールドは、上方向に対応するボタン32U,33Uを押下すべきか否かを示す。「R」フィールドは、右方向に対応するボタン32R,33Rを押下すべきか否かを示す。
[3−2.第1案内部]
第1案内部61は、楽曲の再生中に第1プレイヤがゲーム操作を行うべき複数の基準タイミングと、複数の基準タイミングの各々において第1プレイヤが行うべきゲーム操作の種類とを、基準操作データに基づいて、第1プレイヤに案内する。第1案内部61は、ゲーム画面40(第1案内領域41)において第1案内マーク51A〜51D(第1画像)を初期位置43A〜43D(第1所定位置)から基準マーク50A〜50D(第1目標位置)まで移動させることによって、上記の案内を行う。
図10は第1案内部61の機能について説明するための図であり、基準操作データと第1案内マーク51A〜51Dの表示位置との関係を示す図である。
楽曲が再生されている間、現在以降の所定期間(以下「案内対象期間」と記載する。)に対応するデータ部分が基準操作データから取得される。そして、取得されたデータ部分に基づいて、案内対象期間内の基準タイミングを案内するための第1案内マーク51A〜51Dがゲーム画面40(第1案内領域41)に表示される。なお、以下では、図10に示すように、原則として、(5/4)小節に対応する期間が案内対象期間として設定されることとして説明する。
第1案内マーク51の表示位置は、第1案内マーク51と基準マーク50との間の距離が、基準タイミングが到来するまでの時間に対応する距離になるように調整される。すなわち、基準タイミングが到来するまでの時間が短くなるにつれて、第1案内マーク51から基準マーク50までの距離が短くなる。例えば、ボタン32Lを押下すべき基準タイミングが到来するまでの時間が短くなるにつれて、第1案内マーク51Aから基準マーク50Aまでの距離が短くなる。
[3−3.第1検出部]
第1検出部62は、第1プレイヤによって行われたゲーム操作を操作信号に基づいて検出する。例えば、第1検出部62は、第1プレイヤによってボタン32U,32D,32L,32Rが押下されたか否かを操作信号に基づいて判断する。
[3−4.第1評価部]
第1評価部63は、第1検出部62の検出結果と、基準操作データと、に基づいて、第1プレイヤのゲーム操作を評価する。例えば、第1評価部63は、基準操作データが示す基準タイミングと、第1プレイヤが実際にゲーム操作を行ったタイミング(以下「操作タイミング」と記載する。)と、に基づいて、そのゲーム操作を評価する。例えば、基準タイミングと操作タイミングとのずれ時間が小さいほど、評価は高くなる。
本実施形態の場合、例えば、ボタン32Uを押下すべきタイミング(基準タイミング)と、プレイヤが実際にボタン32Uを押下したタイミング(操作タイミング)とのずれ時間に基づいて、「MARVELOUS」、「PERFECT」、「GREAT」、「GOOD」、「ALMOST」、又は「BOO」のいずれかが評価として決定される。図11は、ずれ時間(ΔT)と評価との関係の一例を示す図である。なお、ずれ時間(ΔT)は、操作タイミングが基準タイミングよりも早い場合に負の値になり、操作タイミングが基準タイミングよりも遅れた場合に正の値になる。図11に示すデータに基づいて評価が決定される。ボタン32D,32L,32Rについても同様にして評価が行われる。
[3−5.第2案内部]
第2案内部64は、楽曲の再生中に第2プレイヤがゲーム操作を行うべき複数の基準タイミングと、複数の基準タイミングの各々において第2プレイヤが行うべきゲーム操作の種類とを、基準操作データに基づいて、第2プレイヤに案内する。第2案内部64は、ゲーム画面40(第2案内領域42)において第2案内マーク52A〜52D(第2画像)を初期位置44A〜44D(第2所定位置)から基準マーク50A〜50D(第2目標位置)まで移動させることによって、上記の案内を行う。第2案内部64の機能は第1案内部61の機能と同様であるため、詳細な説明は省略する。
[3−6.第2検出部]
第2検出部65は、第2プレイヤによって行われたゲーム操作を操作信号に基づいて検出する。例えば、第2検出部65は、第2プレイヤによってボタン33U,33D,33L,33Rが押下されたか否かを操作信号に基づいて判断する。
[3−7.第2評価部]
第2評価部66は、第2検出部65の検出結果と、基準操作データと、に基づいて、第2プレイヤのゲーム操作を評価する。例えば、第2評価部66は、基準操作データが示す基準タイミングと、第2プレイヤが実際にゲーム操作を行ったタイミングと、に基づいて、そのゲーム操作を評価する。第2評価部66の機能は第1評価部63の機能と同様であるため、詳細な説明は省略する。
[3−8.変更部]
変更部67は、第1評価部63と第2評価部66との少なくとも一方の評価結果に基づいて、基準マーク50の位置(第1目標位置及び第2目標位置)を変更する。
[3−8−1]
例えば、変更部67は、第1評価部63と第2評価部66との少なくとも一方の評価結果に基づいて、基準マーク50の位置(第1目標位置)を変えることによって、基準マーク50の位置と、第1案内マーク51の初期位置43(第1所定位置)と、の間の距離を変える。
本実施形態における変更部67は、第1評価部63の評価結果が第2評価部66の評価結果よりも低い場合に、第1評価部63の評価結果が第2評価部66の評価結果よりも低くない場合に比べて、基準マーク50の位置と第1案内マーク51の初期位置43との間の距離が短くなるように、基準マーク50の位置を変更する。すなわち、変更部67は、第1プレイヤに与えられた評価が第2プレイヤに与えられた評価よりも低い場合に基準マーク50を第1案内マーク51の初期位置43に近づける。
また、変更部67は、第1評価部63の評価結果が第2評価部66の評価結果よりも高い場合に、第1評価部63の評価結果が第2評価部66の評価結果よりも高くない場合に比べて、基準マーク50の位置と第1案内マーク51の初期位置43との間の距離が長くなるように、基準マーク50の位置を変更する。すなわち、変更部67は、第1プレイヤに与えられた評価が第2プレイヤに与えられた評価よりも高い場合に基準マーク50を第1案内マーク51の初期位置43から遠ざける。
なお、変更部67は、第1評価部63の評価結果が第2評価部66の評価結果よりも低い場合に、第1評価部63の評価結果が第2評価部66の評価結果よりも低くない場合に比べて、基準マーク50の位置と第1案内マーク51の初期位置43との間の距離が長くなるように、基準マーク50の位置を変更するようにしてもよい。すなわち、変更部67は、第1プレイヤに与えられた評価が第2プレイヤに与えられた評価よりも低い場合に基準マーク50を第1案内マーク51の初期位置43から遠ざけるようにしてもよい。
また、変更部67は、第1評価部63の評価結果が第2評価部66の評価結果よりも高い場合に、第1評価部63の評価結果が第2評価部66の評価結果よりも高くない場合に比べて、基準マーク50の位置と第1案内マーク51の初期位置43との間の距離が短くなるように、基準マーク50の位置を変更するようにしてもよい。すなわち、変更部67は、第1プレイヤに与えられた評価が第2プレイヤに与えられた評価よりも高い場合に基準マーク50を第1案内マーク51の初期位置43に近づけるようにしてもよい。
なお、変更部67は、第1評価部63及び第2評価部66のいずれか一方の評価結果のみに基づいて、基準マーク50の位置を変更するようにしてもよい。
例えば、変更部67は、第1評価部63の評価結果が所定結果よりも低い場合に、第1評価部63の評価結果が所定結果よりも低くない場合に比べて、基準マーク50の位置と第1案内マーク51の初期位置43との間の距離が短くなるように、基準マーク50の位置を変更するようにしてもよい。すなわち、変更部67は、第1プレイヤに与えられた評価が基準評価よりも低い場合に基準マーク50を第1案内マーク51の初期位置43に近づけるようにしてもよい。
また例えば、変更部67は、第2評価部66の評価結果が所定結果よりも高い場合に、第2評価部66の評価結果が所定結果よりも高くない場合に比べて、基準マーク50の位置と第1案内マーク51の初期位置43との間の距離が短くなるように、基準マーク50の位置を変更するようにしてもよい。すなわち、変更部67は、第2プレイヤに与えられた評価が基準評価よりも高い場合に基準マーク50を第1案内マーク51の初期位置43に近づけるようにしてもよい。
[3−8−2]
また例えば、変更部67は、第1評価部63と第2評価部66との少なくとも一方の評価結果に基づいて、基準マーク50の位置(第2目標位置)を変えることによって、基準マーク50の位置と、第2案内マーク52の初期位置44(第2所定位置)と、の間の距離を変える。
本実施形態における変更部67は、第2評価部66の評価結果が第1評価部63の評価結果よりも低い場合に、第2評価部66の評価結果が第1評価部63の評価結果よりも低くない場合に比べて、基準マーク50の位置と第2案内マーク52の初期位置44との間の距離が短くなるように、基準マーク50の位置を変更する。すなわち、変更部67は、第2プレイヤに与えられた評価が第1プレイヤに与えられた評価よりも低い場合に基準マーク50を第2案内マーク52の初期位置44に近づける。
また例えば、変更部67は、第2評価部66の評価結果が第1評価部63の評価結果よりも高い場合に、第2評価部66の評価結果が第1評価部63の評価結果よりも高くない場合に比べて、基準マーク50の位置と第2案内マーク52の初期位置44との間の距離が長くなるように、基準マーク50の位置を変更する。すなわち、変更部67は、第2プレイヤに与えられた評価が第1プレイヤに与えられた評価よりも高い場合に基準マーク50を第2案内マーク52の初期位置44から遠ざける。
なお、変更部67は、第2評価部66の評価結果が第1評価部63の評価結果よりも低い場合に、第2評価部66の評価結果が第1評価部63の評価結果よりも低くない場合に比べて、基準マーク50の位置と第2案内マーク52の初期位置44との間の距離が長くなるように、基準マーク50の位置を変更するようにしてもよい。すなわち、変更部67は、第2プレイヤに与えられた評価が第1プレイヤに与えられた評価よりも低い場合に基準マーク50を第2案内マーク52の初期位置44から遠ざけるようにしてもよい。
また、変更部67は、第2評価部66の評価結果が第1評価部63の評価結果よりも高い場合に、第2評価部66の評価結果が第1評価部63の評価結果よりも高くない場合に比べて、基準マーク50の位置と第2案内マーク52の初期位置44との間の距離が短くなるように、基準マーク50の位置を変更する。すなわち、変更部67は、第2プレイヤに与えられた評価が第1プレイヤに与えられた評価よりも高い場合に基準マーク50を第2案内マーク52の初期位置44に近づけるようにしてもよい。
なお、変更部67は、第1評価部63及び第2評価部66のいずれか一方の評価結果のみに基づいて、基準マーク50の位置と第2案内マーク52の初期位置44との間の距離を変更するようにしてもよい。
例えば、変更部67は、第1評価部63の評価結果が所定結果よりも高い場合に、第1評価部63の評価結果が所定結果よりも高くない場合に比べて、基準マーク50の位置と第2案内マーク52の初期位置44との間の距離が短くなるように、基準マーク50の位置を変更するようにしてもよい。すなわち、変更部67は、第1プレイヤに与えられた評価が基準評価よりも高い場合に基準マーク50を第2案内マーク52の初期位置44に近づけるようにしてもよい。
また例えば、変更部67は、第2評価部66の評価結果が所定結果よりも低い場合に、第2評価部66の評価結果が所定結果よりも低くない場合に比べて、基準マーク50の位置と第2案内マーク52の初期位置44との間の距離が短くなるように、基準マーク50の位置を変更するようにしてもよい。すなわち、変更部67は、第2プレイヤに与えられた評価が基準評価よりも低い場合に基準マーク50を第2案内マーク52の初期位置44に近づけるようにしてもよい。
[3−9.進入制御部]
進入制御部68は、第1案内マーク51(第1画像)が基準マーク50(第1目標位置)に到達した場合、第1評価部63と第2評価部66との少なくとも一方の評価結果に基づいて、第1案内マーク51を第2案内領域42内に進入させ、第2案内領域42内において移動させる。
例えば、進入制御部68は、第2案内領域42内に進入させた第1案内マーク51を第2案内マーク52の初期位置44(第2所定位置)に向けて移動させる。例えば、第1案内マーク51Dを第2案内領域42内に進入させる場合、進入制御部68は、第1案内マーク51Dを、初期位置43Dから基準マーク50Dへの線の延長線(点線45D)上に設定されている第2案内マーク52Dの初期位置44Dに向けて、点線45D上を移動させる。なお、例えば、第1案内マーク51Dを第2案内領域42内に進入させる場合、進入制御部68は、第1案内マーク51Dを、第2案内マーク52D以外の第2案内マーク52A〜52Cの初期位置44A〜44Cに向けて移動させるようにしてもよい。また、例えば、第1案内マーク51Dを第2案内領域42内に進入させる場合、進入制御部68は、第1案内マーク51Dを、第2案内領域42内の、初期位置44A〜44D以外の位置に向けて、第2案内マーク52の移動経路(点線45A〜45D)と交差するようにして移動させるようにしてもよい。
本実施形態の場合、第1案内マーク51が基準マーク50に到達した場合であって、かつ、第1評価部63の評価結果が比較的低い所定の評価結果(例えば「ALMOST」又は「BOO」)である場合に、進入制御部68は第1案内マーク51を第2案内領域42内に進入させる。すなわち、第1プレイヤに与えられた評価が比較的低い場合に、進入制御部68は第1案内マーク51を第2案内領域42内に進入させる。
なお、第1案内マーク51が基準マーク50に到達した場合であって、かつ、第1評価部63の評価結果が比較的高い所定の評価結果(例えば「MARVELOUS」、「PERFECT」、「GREAT」、又は「GOOD」)である場合に、進入制御部68は第1案内マーク51を第2案内領域42内に進入させるようにしてもよい。すなわち、第1プレイヤに与えられた評価が比較的高い場合に、進入制御部68は第1案内マーク51を第2案内領域42内に進入させるようにしてもよい。
また、進入制御部68は、第2評価部66の評価結果に基づいて、基準マーク50に到達した第1案内マーク51を第2案内領域42内に進入させるようにしてもよい。例えば、第2評価部66の評価結果が所定の評価結果(例えば「ALMOST」又は「BOO」)である場合に、進入制御部68は第1案内マーク51を第2案内領域42内に進入させるようにしてもよい。すなわち、第2プレイヤに与えられた評価が比較的低い場合に、進入制御部68は第1案内マーク51を第2案内領域42内に進入させるようにしてもよい。
また、進入制御部68は、第2案内マーク52(第2画像)が基準マーク50(第2基準位置)に到達した場合、第1評価部63と第2評価部66との少なくとも一方の評価結果に基づいて、第2案内マーク52を第1案内領域41内に進入させ、第1案内領域41内において移動させる。
例えば、進入制御部68は、第1案内領域41内に進入させた第2案内マーク52を第1案内マーク51の初期位置(第1所定位置)に向けて移動させる。例えば、第2案内マーク52Dを第1案内領域41内に進入させる場合、進入制御部68は、第2案内マーク52Dを、初期位置44Dから基準マーク50Dへの線の延長線(点線45D)上に設定されている第1案内マーク51Dの初期位置43Dに向けて、点線45D上を移動させる。なお、例えば、第2案内マーク52Dを第1案内領域41内に進入させる場合、進入制御部68は、第2案内マーク52Dを、第1案内マーク51D以外の第1案内マーク51A〜51Cの初期位置43A〜43Cに向けて移動させるようにしてもよい。また、例えば、第2案内マーク52Dを第1案内領域41内に進入させる場合、進入制御部68は、第2案内マーク52Dを、第1案内領域41内の、初期位置43A〜43D以外の位置に向けて、第1案内マーク51の移動経路(点線45A〜45D)と交差するようにして移動させるようにしてもよい。
本実施形態の場合、第2案内マーク52が基準マーク50に到達した場合であって、かつ、第2評価部66の評価結果が比較的低い所定の評価結果である場合に、進入制御部68は第2案内マーク52を第1案内領域41内に進入させる。すなわち、第2プレイヤに与えられた評価が比較的低い場合に、進入制御部68は第2案内マーク52を第1案内領域41内に進入させる。
なお、第2案内マーク52が基準マーク50に到達した場合であって、かつ、第2評価部66の評価結果が比較的高い所定の評価結果である場合に、進入制御部68は第2案内マーク52を第1案内領域41内に進入させるようにしてもよい。すなわち、第2プレイヤに与えられた評価が比較的高い場合に、進入制御部68は第2案内マーク52を第1案内領域41内に進入させるようにしてもよい。
なお、進入制御部68は、第1評価部63の評価結果に基づいて、基準マーク50に到達した第2案内マーク52を第1案内領域41内に進入させるようにしてもよい。例えば、第1評価部63の評価結果が所定の評価結果(例えば「ALMOST」又は「BOO」)である場合に、進入制御部68は、第2案内マーク52を第1案内領域41内に進入させるようにしてもよい。すなわち、第1プレイヤに与えられた評価が比較的低い場合に、進入制御部68は第2案内マーク52を第1案内領域41内に進入させるようにしてもよい。
[3−10.基準タイミング追加部]
基準タイミング追加部69は、第2案内領域42内を移動する第1案内マーク51(第1画像)と、第2案内マーク52(第2画像)と、の当たり判定を実行する。そして、基準タイミング追加部69は、当たり判定の結果に基づいて、第2案内マーク52をゲーム画面40(第2案内領域42)に新たに追加表示することによって、第2プレイヤがゲーム操作を行うべき基準タイミングを追加する。すなわち、第2案内領域42内に進入した第1案内マーク51と第2案内マーク52とが当たった場合、基準タイミング追加部69は、第1プレイヤがゲーム操作を行うべき基準タイミングを追加する。
なお、基準タイミング追加部69は、上記当たり判定の結果に基づいて、第1案内マーク51をゲーム画面40(第1案内領域41)に新たに追加表示することによって、第1プレイヤがゲーム操作を行うべき基準タイミングを追加するようにしてもよい。すなわち、第2案内領域42内に進入した第1案内マーク51と第2案内マーク52とが当たった場合、第1プレイヤがゲーム操作を行うべき基準タイミングが追加されるようにしてもよい。
また、基準タイミング追加部69は、第1案内領域41内を移動する第2案内マーク52(第2画像)と、第1案内マーク51(第1画像)と、の当たり判定を実行する。そして、基準タイミング追加部69は、当たり判定の結果に基づいて、第1案内マーク51をゲーム画面40(第1案内領域41)に新たに追加表示することによって、第1プレイヤがゲーム操作を行うべき基準タイミングを追加する。すなわち、第1案内領域41内に進入した第2案内マーク52と第1案内マーク51とが当たった場合、基準タイミング追加部69は、第1プレイヤがゲーム操作を行うべき基準タイミングを追加する。
なお、基準タイミング追加部69は、上記当たり判定の結果に基づいて、第2案内マーク52をゲーム画面40(第2案内領域42)に新たに追加表示することによって、第2プレイヤがゲーム操作を行うべき基準タイミングを追加するようにしてもよい。すなわち、第1案内領域41内に進入した第2案内マーク52と第1案内マーク51とが当たった場合、第2プレイヤがゲーム操作を行うべき基準タイミングが追加されるようにしてもよい。
[4.処理]
次に、ゲームシステム10で実行される処理について説明する。図12はゲームシステム10で実行される処理のうちの、本発明に関連する処理を主に示すフロー図である。制御部13は光ディスク26に記憶されるプログラムに従って、図12に示す処理を実行する。制御部13が図12に示す処理を実行することによって、図7に示す機能ブロックが実現される。
図12に示すように、まず制御部13は、基準操作データを光ディスク26から読み出し、読み出した基準操作データを第1プレイヤのための基準操作データとして主記憶14に記憶する(S101)。また制御部13は、基準操作データを光ディスク26から読み出し、読み出した基準操作データを第2プレイヤのための基準操作データとして主記憶14に記憶する(S102)。
その後、制御部13は楽曲の再生を開始する(S103)。また、制御部13はゲーム画面40の表示を開始する(S104)。そして、制御部13は第1プレイヤのゲーム操作を評価する(S105)。
図13及び図14は、第1プレイヤのゲーム操作を評価するための処理の一例を示すフロー図である。図13及び図14に示す処理は、ボタン32U,32D,32L,32Rの各々について実行される。なお、ここでは、ボタン32Uの押下操作を評価する場合を例に説明する。
図13に示すように、まず制御部13は現時点が判定期間内であるか否かを判定する(S201)。図15は、判定期間について説明するための図である。図15において、t軸は時間軸を示す。「P」は、ボタン32Uが押下されるべきタイミング(基準タイミング)を示し、「Q1」及び「Q2」は、ボタン32Uが実際に押下されたタイミング(操作タイミング)を示す。
本実施形態では基準タイミングごとに判定期間が設定される。図15において、「R」は判定期間を示す。判定期間(R)は基準タイミング(P)を中心とする一定期間である。判定期間(R)では、この期間内の最初の操作タイミングが評価対象として取り扱われる。
例えば図15に示す例では、判定期間(R)において、二つの操作タイミング(Q1,Q2)が存在しているが、この場合、1回目の操作タイミング(Q1)が基準タイミング(P)との比較対象とされる。2回目以降の操作タイミング(Q2)は基準タイミング(P)との比較対象から除かれる。このようにする理由は、基準タイミング(P)付近で第1プレイヤがボタン32Uを何度も繰り返し押下したような場合であっても、評価が適切に行われるようにするためである。
ステップS201において現時点が判定期間内でないと判定された場合、制御部13は本処理を終了する。一方、ステップS201において現時点が判定期間内であると判定された場合、制御部13は操作済みフラグが「0」であるか否かを判定する(S202)。操作済みフラグは、現在の判定期間においてボタン32Uが押下された否かを示す情報である。操作済みフラグは「0」又は「1」の値をとる。「0」はボタン32Uが押下されていないことを示し、「1」はボタン32Uが押下されたことを示す。
操作済みフラグが「0」でない場合、制御部13は、図13のステップS203〜S209の処理を実行せずに、後述のステップS210の処理を実行する。一方、操作済みフラグが「0」である場合、制御部13(第1検出部62)はボタン32Uが押下されたか否かを判定する(S203)。この判定は制御部13に供給される操作信号に基づいて行われる。
ボタン32Uが押下されていないと判定された場合、制御部13は、図13のステップS204〜S209の処理を実行せずに、後述のステップS210の処理を実行する。一方、ボタン32Uが押下されたと判定された場合、制御部13は、基準タイミングと操作タイミング(現時点)とのずれ時間(ΔT)を取得する(S204)。このずれ時間(ΔT)は、操作タイミングが基準タイミングよりも早い場合には負の値になり、かつ、操作タイミングが基準タイミングよりも遅れている場合には正の値になる。
その後、制御部13は、ステップS204で取得されたずれ時間(ΔT)に基づいて評価を決定する(S205)。例えば、図11に示すデータに基づいて評価が決定される。
ステップS205において評価が決定された後、制御部13は、ステップS205で決定された評価が比較的高い「MARVELOUS」、「PERFECT」、又は「GREAT」のいずれかであるか否かを判定する(S206)。評価が「MARVELOUS」、「PERFECT」、又は「GREAT」のいずれかである場合、制御部13は、主記憶14に記憶される第1プレイヤのコンボ数に1を加算する(S207)。一方、評価が「MARVELOUS」、「PERFECT」、及び「GREAT」のいずれでもない場合、制御部13は第1プレイヤのコンボ数を0に更新する(S208)。
ステップS207又はS208の処理が実行された後、制御部13は操作済みフラグを「1」に更新する(S209)。この場合、制御部13はステップS205で決定された評価も主記憶14に記憶させておく。すなわち、現在の判定期間内に行われたゲーム操作(ボタン32Uの押下操作)に関する評価を主記憶14に記憶させておく。主記憶14に記憶されたこの評価は後述のステップS215で参照される。
ステップS209の処理が実行された場合、図14に示すように、制御部13は、判定期間の終了タイミングが到来したか否かを判定する(S210)。判定期間の終了タイミングが到来していない場合、制御部13は本処理を終了する。一方、判定期間の終了タイミングが到来した場合、制御部13は操作済みフラグが「0」であるか否かを判定する(S211)。
操作済みフラグが「0」である場合とは、判定期間内にボタン32Uが押下されなかった場合である。この場合、制御部13は、評価を最も低いものに決定する(S212)。また、制御部13は第1プレイヤのコンボ数を0に更新する(S213)。
一方、ステップS211において操作済みフラグが「0」でないと判定された場合、制御部13は操作済みフラグを「0」に更新する(S214)。そして、制御部13は、判定期間内に行われたゲーム操作(ボタン32Uの押下操作)に関する評価が比較的低い「ALMOST」又は「BOO」であったか否かを判定する(S215)。評価が「ALMOST」又は「BOO」でなかった場合、制御部13は本処理を終了する。
ステップS213の処理が実行された場合、又は、ステップS215において評価が「ALMOST」又は「BOO」であったと判定された場合、制御部13は進入制御データに新たなレコードを追加する(S216)。
進入制御データは、第1案内マーク51の第2案内領域42への進入(図5参照)や、第2案内マーク52の第1案内領域41への進入を制御するためのデータである。図16は進入制御データの一例を示す図である。図16に示す進入制御データに含まれる各レコードは、第2案内領域42に進入した第1案内マーク51、又は第1案内領域41に進入する第2案内マーク52に対応する。各レコードは「案内領域」、「種別」、「表示位置」フィールドを含む。
「案内領域」フィールドは、第1案内領域41又は第2案内領域42のいずれかを識別する情報を示す。例えば図5に示すように、第1案内マーク51Dが第2案内領域42に進入する場合には、第2案内領域42を識別する情報「2」が「案内領域」フィールドに記憶される。また例えば、第2案内マーク52Aが第1案内領域41に進入する場合には、第1案内領域41を識別する情報「1」が「案内領域」フィールドに記憶される。
「種別」フィールドは、第1案内マーク51A〜51D及び第2案内マーク52A〜52Dのいずれかを識別する情報を示す。例えば図5に示すように、第1案内マーク51Dが第2案内領域42に進入する場合には、第1案内マーク51Dを識別する情報(「1D」)が「種別」フィールドに記憶される。また例えば、第2案内マーク52Aが第1案内領域41に進入する場合には、第2案内マーク52Aを識別する情報(「2A」)が「種別」フィールドに記憶される。
「表示位置」フィールドは、第2案内領域42に進入した第1案内マーク51又は第1案内領域41に進入した第2案内マーク52の表示位置を示す。この表示位置は、ゲーム画面40の左上頂点を原点Oとし、下方向をX軸正方向とし、右方向をY軸正方向とするスクリーン座標系の座標値(x,y)によって表される(図3参照)。
例えば、ボタン32Uの押下操作に関する評価が「ALMOST」又は「BOO」であった場合(S215:N)や、ボタン32Uの押下操作が判定期間内に行われなかった場合(S211:Y)、ボタン32Uに対応する第1案内マーク51Cが第2案内領域42に進入することになる。この場合、ステップS216では、進入制御データに新たなレコードが追加され、この新たに追加されたレコードの「案内領域」フィールドには、第2案内領域42を識別する情報(「2」)が格納される。また、「種別」フィールドには、第1案内マーク51Cを識別する情報(「1C」)が格納され、「表示位置」フィールドには、第1案内マーク51Cの現在位置を示す座標値が格納される。
図12に示すように、第1プレイヤのゲーム操作の評価が完了した後、制御部13は第2プレイヤのゲーム操作を評価する(S106)。第2プレイヤのゲーム操作を評価するための処理は、第1プレイヤのゲーム操作を評価するための処理(図13及び図14)と同様である。このステップS106では、図13及び図14に示す処理がボタン33U,33D,33L,33Rの各々について実行される。
ただし、この場合、図13のステップS203において、制御部13(第2検出部65)はボタン33U,33D,33L,33Rが押下されたか否かを判定することになる。また、図13のステップS207,S208及び図14のステップS213では、第2プレイヤのコンボ数が更新されることになる。
また、図13のステップS215において、例えば、ボタン33Uの押下操作に関する評価が「ALMOST」又は「BOO」であると判定されたような場合、ボタン33Uに対応する第2案内マーク52Bが第1案内領域41に進入することになる。この場合、図13のステップS216では進入制御データに新たなレコードが追加され、新たに追加されたレコードの「案内領域」フィールドに、第1案内領域41を識別する情報(「1」)が格納される。また、「種別」フィールドには、第2案内マーク52Bを識別する情報(「2B」)が格納され、「表示位置」フィールドには、第2案内マーク52Bの現在位置を示す座標値が格納される。
第2プレイヤのゲーム操作の評価が完了した後、制御部13はゲーム画面40を更新する(S107)。図17及び図18は、ゲーム画面40を更新するための処理の一例を示すフロー図である。
図17に示すように、まず制御部13は、主記憶14に記憶される第1ゲージ55の長さ(L1)を示す情報を更新する(S301)。例えば、制御部13は、図13のステップS205で決定された評価が比較的高い「MARVELOUS」、「PERFECT」、「GREAT」、又は「GOOD」である場合に第1ゲージ55を伸張し、評価が比較的低い「ALMOST」又は「BOO」である場合に第1ゲージ55を収縮する。
また、制御部13は、主記憶14に記憶される第2ゲージ56の長さ(L2)を示す情報を更新する(S302)。このステップS302の処理はステップS301の処理と同様である。
その後、制御部13は第1ゲージ55の長さ(L1)と第2ゲージ56の長さ(L2)との差(ΔL)を算出する(S303)。なお、ΔLは、第1ゲージ55の長さ(L1)が第2ゲージ56の長さ(L2)よりも長い場合に正の値になり、第1ゲージ55の長さ(L1)が第2ゲージ56の長さ(L2)よりも短い場合に負の値になる。
そして、制御部13は、ステップS303で算出された差(ΔL)に基づいて、基準マーク50の表示位置を決定する(S304)。このステップS304では、上記差(ΔL)と基準マーク50の表示位置とを対応づけたデータが光ディスク26から読み出される。図19はこのデータの一例を示す。
図19に示すデータは「ゲージ長の差」、「基準マークの表示位置」、「第1案内領域の案内対象期間」、及び「第2案内領域の案内対象期間」フィールドを含む。「ゲージ長の差」フィールドは、第1ゲージ55及び第2ゲージ56の長さの差(ΔL)に関する条件を示す。なお、図19において「La」及び「Lb」は所定値を表している。
「基準マークの表示位置」フィールドは、基準マーク50A〜50Dの表示位置のY軸座標値を示す。なお、図19において「Yo」は、基準マーク50A〜50Dの基本表示位置のY軸座標値を表している。基準マーク50A〜50Dの基本表示位置とは、ゲーム開始時の基準マーク50A〜50Dの表示位置である。また、図19において「ΔY」は所定値(正の値)を表している。
図19に示すデータでは、第1ゲージ55が第2ゲージ56よりも短い場合(すなわち、第1プレイヤに与えられた評価が第2プレイヤに与えられた評価よりも低い場合)、基準マーク50の表示位置のY軸座標値が「Yo+ΔY」又は「Yo+ΔY*2」に設定されるようになっている。基準マーク50の表示位置のY軸座標値が「Yo+ΔY」又は「Yo+ΔY*2」である場合には、Y軸座標値が「Yo」である場合と比較して、基準マーク50が第1案内マーク51の初期位置43に近づくようになり、基準マーク50が第2案内マーク52の初期位置44から離れるようになる。
また、図19に示すデータでは、第1ゲージ55が第2ゲージ56よりも長い場合(すなわち、第1プレイヤに与えられた評価が第2プレイヤに与えられた評価よりも高い場合)、基準マーク50の表示位置のY軸座標値が「Yo−ΔY」又は「Yo−ΔY*2」に設定されるようになっている。基準マーク50の表示位置のY軸座標値が「Yo−ΔY」又は「Yo−ΔY*2」である場合には、Y軸座標値が「Yo」である場合と比較して、基準マーク50が第1案内マーク51の初期位置43から離れるようになり、基準マーク50が第2案内マーク52の初期位置44に近づくようになる。
「第1案内領域の案内対象期間」及び「第2案内領域の案内対象期間」フィールドは、それぞれ、第1案内領域41又は第2案内領域42の案内対象期間の長さを示す。図19において「N」は、ゲーム開始時における第1案内領域41又は第2案内領域42の案内対象期間の長さを示す。上述したように、例えば、「N」は(5/4)小節である(図10参照)。
図19に示すデータでは、基準マーク50の位置と第1案内マーク51の初期位置43との間の距離の変化に応じて、第1案内領域41における案内対象期間の長さも変化するように設定される。例えば、基準マーク50の位置と第1案内マーク51の初期位置43との間の距離が1/2になると、第1案内領域41における案内対象期間の長さも1/2になるように設定される。また例えば、基準マーク50の位置と第1案内マーク51の初期位置43との間の距離が2倍になると、第1案内領域41における案内対象期間の長さも2倍になるように設定される。基準マーク50の位置と第2案内マーク52の初期位置43との間の距離と、第2案内領域42における案内対象期間の長さと、の関係も同様に設定される。
ところで、上述したように、第1ゲージ55及び第2ゲージ56の長さは第1プレイヤ及び第2プレイヤに与えられた評価に基づいて制御される。このため、図19に示すデータにおいて、「ゲージ長の差」フィールドは、第1プレイヤ及び第2プレイヤに与えられた評価に関する条件に相当しているということができる。したがって、図19に示すデータは、第1プレイヤ及び第2プレイヤに与えられた評価に関する条件と、基準マーク50の表示位置に関する情報と、案内対象期間に関する情報と、を対応づけてなるデータということができる。
ステップS304では、ステップS303で算出された差(ΔL)と、図19に示すデータと、に基づいて、基準マーク50A〜50Dの各々の表示位置のY軸座標値が決定される。なお、本実施形態の場合、基準マーク50A〜50Dの各々の表示位置のX軸座標値はゲーム中に変化せず、一定である。
基準マーク50の表示位置が決定された後、制御部13は、ステップS303で算出された差(ΔL)と、図19に示すデータと、に基づいて、第1案内領域41における案内対象期間を決定する(S305)。そして、制御部13は、基準操作データと、ステップS305で決定された案内対象期間と、に基づいて、第1案内マーク51の表示位置を取得する(S306)。
例えば、第1ゲージ55及び第2ゲージ56の長さの差(ΔL)が−Lb未満である場合、第1案内領域41の案内対象期間として、(N−(1/2))小節が取得される。上述したように、「N」は(5/4)小節であるため、この場合の案内対象期間は(3/4)小節に設定される。そして、基準操作データと第1案内マーク51A〜51Dの表示位置との関係は図20に示すようになる。なお、図20では第2案内領域42を省略している。
この場合、現時点から(3/4)小節の間に到来する基準タイミングを案内するための第1案内マーク51が第1案内領域41に表示される。例えば、現時点から(3/4)小節の間に、ボタン32Rを押下すべき基準タイミングが到来する場合、第1案内マーク51Dが第1案内領域41に表示される。また、この場合、第1案内マーク51Dの表示位置と、基準マーク50Dの表示位置と、の間の距離が、ボタン32Rを押下すべき基準タイミングが到来するまでの時間に対応する距離となるように、第1案内マーク51Dの表示位置が決定される。なお、第1案内マーク51A〜51Cの表示位置についても同様にして決定される。
第1案内マーク51の表示位置が取得された後、制御部13は、第1案内領域41内に進入している第2案内マーク52が存在しているか否かを判定する(S307)。この判定は進入制御データに基づいて行われる。「案内領域」フィールドが「1」であるレコードが存在している場合、第1案内領域41内に進入している第2案内マーク52が存在していることになる。
第1案内領域41内に進入している第2案内マーク52が存在している場合、制御部13は、その第2案内マーク52の表示位置を更新する(S308)。例えば、第2案内マーク52Aが第1案内領域41内に進入している場合、この第2案内マーク52Aを第1案内マーク51Aの初期位置43Aに向けて移動させるために、制御部13は、第2案内マーク52Aの表示位置を、現在の表示位置から第1案内マーク51Aの初期位置43Aへの方向に所定距離移動した位置に更新する。この場合、進入制御データの「表示位置」フィールドが更新される。なお、他の第2案内マーク52B〜52Dが第1案内領域41内に進入している場合も同様の処理が実行される。
その後、制御部13は、第1案内領域41内に進入している第2案内マーク52と、第1案内マーク51と、が当たったか否かを判定する(S309)。この判定は、ステップS306及びS308における処理結果に基づいて行われる。
第1案内領域41内に進入している第2案内マーク52と、第1案内マーク51と、が当たった場合、制御部13は、第1案内マーク51を第1案内領域41内に追加表示し、第1プレイヤがゲーム操作を行うべき基準タイミングを追加する(S310)。この処理については後述する(図18のステップS316参照)。
なお、第1案内マーク51と当たった第2案内マーク52に関するレコードは進入制御データから削除される。その結果、第1案内マーク51と当たった第2案内マーク52がゲーム画面40から消える。
ステップS310の処理が実行された場合、図18に示すように、制御部13は、第2案内領域42における案内対象期間を決定する(S311)。なお、ステップS309において第2案内マーク52と第1案内マーク51とが当たっていないと判定された場合、又は、ステップS307において第2案内マーク52が存在しないと判定された場合にもこのステップS311の処理が実行される。
ステップS311において、第2案内領域42における案内対象期間は、ステップS303で算出された差(ΔL)と、図19に示すデータと、に基づいて決定される。そして、制御部13は、基準操作データと、ステップS311で決定された案内対象期間と、に基づいて、第2案内マーク52の表示位置を取得する(S312)。
例えば、第1ゲージ55及び第2ゲージ56の長さの差(ΔL)が−Lb未満である場合、第2案内領域42の案内対象期間として(N+(1/2))小節が取得される。上述したように、「N」は(5/4)小節であるため、この場合の案内対象期間は(7/4)小節に設定される。そして、基準操作データと第2案内マーク52の表示位置との関係は図21に示すようになる。なお、図21では第1案内領域41を省略している。
この場合、現在から(7/4)小節の間に到来する基準タイミングを案内するための第2案内マーク52が第2案内領域42に表示される。例えば、現在から(7/4)小節の間に、ボタン33Rを押下すべき基準タイミングが到来する場合、第2案内マーク52Aが第2案内領域42に表示される。また、この場合、第2案内マーク52Aの表示位置と、基準マーク50Aの表示位置と、の間の距離が、ボタン33Rを押下すべき基準タイミングが到来するまでの時間に対応する距離となるように、第2案内マーク52Aの表示位置が決定される。なお、第2案内マーク52B〜52Dの表示位置も同様にして決定される。
第2案内マーク52の表示位置が取得された後、制御部13は、第2案内領域42内に進入している第1案内マーク51が存在しているか否かを判定する(S313)。この処理はステップS307の処理と同様である。「案内領域」フィールドが「2」であるレコードが進入制御データに存在している場合、第2案内領域42内に進入している第1案内マーク51が存在していることになる。
第2案内領域42内に進入している第1案内マーク51が存在している場合、制御部13は、その第1案内マーク51の表示位置を更新する(S314)。例えば、第1案内マーク51Dが第2案内領域42内に進入している場合、この第1案内マーク51Dを第2案内マーク52Dの初期位置44Dに向けて移動させるために、制御部13は、第1案内マーク51Dの表示位置を、現在の表示位置から第2案内マーク52Dの初期位置44Dへの方向に所定距離移動した位置に更新する。この場合、進入制御データの「表示位置」フィールドが更新される。なお、他の第1案内マーク51A〜51Cが第2案内領域42内に進入している場合も同様の処理が実行される。
その後、制御部13は、第2案内領域42内に進入している第1案内マーク51と、第2案内マーク52と、が当たったか否かを判定する(S315)。この判定は、ステップS312及びS314における処理結果に基づいて行われる。
第2案内領域42内に進入している第1案内マーク51と、第2案内マーク52と、が当たった場合、制御部13は、第2案内マーク52を第2案内領域42内に追加表示することによって、第2プレイヤがゲーム操作を行うべき基準タイミングを新たに追加する(S316)。
例えば、制御部13は、第2プレイヤがゲーム操作を行うべき基準タイミングを案内対象期間内に新たに追加する。制御部13は、ステップS102で主記憶14に記憶された基準操作データを更新する。
図22は、基準タイミングの追加について説明するための図である。図21と同様、図22では第1案内領域41を省略している。ステップS316では、案内対象期間内に含まれる一のタイミングにおける「L」、「D」、「U」、「R」フィールドのいずれかの値が「0」から「1」に変更される。これによって、ゲーム操作を行う必要がなかったタイミングが、ゲーム操作を行うべき基準タイミングに変更される。図22に示す例では、案内対象期間内に含まれる一のタイミングにおける「U」フィールドの値が「0」から「1」に変更されている(太枠部分参照)。この場合、ボタン33Uを押下すべき基準タイミングが新たに追加され、第2案内マーク52Bが第2案内領域42内に追加表示される。図22では、新たに追加された第2案内マーク52Bを区別するために黒色の画像で表している。
前述のステップS310の処理もステップS316の処理と同様に実行される。
ステップS316の処理が実行された場合、制御部13はゲーム画面40をVRAM上に生成する(S317)。ステップS315において第1案内マーク51と第2案内マーク52とが当たっていない場合、又は、ステップS313において第1案内マーク51が存在しないと判定された場合にも、このステップS317の処理が実行される。このステップS317においてVRAM上に生成されたゲーム画面40は表示部16に示される。
図17及び図18の処理が実行された後、すなわち、図12のステップS107の処理が実行された後、制御部13は楽曲の再生が終了したか否かを判定する(S108)。楽曲の再生が終了していない場合、ステップS105〜S108の処理が再度実行される。楽曲の再生が終了するまでの間、ステップS105〜S108の処理は所定時間(例えば1/60秒)ごとに繰り返し実行される。
一方、楽曲の再生が終了した場合、制御部13はゲーム成績画面を表示部16に表示させる(S109)。ゲーム成績画面には第1プレイヤ及び第2プレイヤのゲーム成績が表示される。例えば、第1プレイヤと第2プレイヤとの勝敗が楽曲の再生終了時の第1ゲージ55及び第2ゲージ56に基づいて決定され、その結果がゲーム成績画面に表示されるようにしてもよい。
[5.まとめ]
以上説明したゲームシステム10によれば、第1プレイヤ及び第2プレイヤに与えられた評価に基づいて、第1プレイヤ及び第2プレイヤのゲームの難易度を変化させることが可能になる。ゲームシステム10によれば、ゲーム音楽に合わせてゲーム操作を行うゲームを第1プレイヤ及び第2プレイヤがプレイする場合の興趣が向上させることが可能になる。
[6.変形例]
なお、本発明は以上に説明した実施の形態に限定されるものではない。
(1)例えば、以上の説明では、基準マーク50の位置が第1ゲージ55及び第2ゲージ56の長さに基づいて変化するようになっていたが、基準マーク50の位置は、第1プレイヤ及び第2プレイヤのコンボ数、又は、第1プレイヤ及び第2プレイヤの得点に基づいて変化するようにしてもよい。
(2)また例えば、図3に示すゲーム画面40では、基準マーク50Aと第1案内マーク51Aと第2案内マーク52Aとが同一直線(点線45)上に表示されるようになっていた。すなわち、第1案内マーク51A及び第2案内マーク52Aの移動経路が直線になっていた。しかしながら、基準マーク50Aと第1案内マーク51Aと第2案内マーク52Aとは同一曲線上に表示されるようにしてもよい。すなわち、第1案内マーク51A及び第2案内マーク52Aの移動経路は直線に限られず、例えば曲線であってもよい。他の基準マーク50、他の第1案内マーク51、及び他の第2案内マーク52に関しても同様である。
(3)また例えば、以上の説明では、基準マーク50の位置の変化に応じて、案内対象期間の長さも変化するようになっていた。しかしながら、案内対象期間の長さは変化しないようにしてもよい。例えば、基準マーク50及び第1案内マーク51の初期位置43との関係が図20に示すような状態になった場合であっても、図10に示すように、現時点から(5/4)小節の期間内の基準タイミングを案内するための第1案内マーク51が第1案内領域41内に表示されるようにしてもよい。この場合、比較的狭い第1案内領域41内に多数の第1案内マーク51が表示されるようになるため、第1案内マーク51が見難くなり、その結果として、第1プレイヤのゲームの難易度が上昇することになる。このようにしても、第1プレイヤ及び第2プレイヤに与えられた評価に基づいて、第1プレイヤ及び第2プレイヤのゲームの難易度を変化させることが可能である。
(4)また例えば、以上の説明では、一組の基準マーク50A〜50Dがゲーム画面40に表示され、この一組の基準マーク50A〜50Dが第1プレイヤと第2プレイヤとで共有されるようになっていた。すなわち、以上の説明では、第1案内マーク51の移動目標位置(第1目標位置)と、第2案内マーク52の移動目標位置(第2目標位置)とが同一の位置となっていた。しかしながら、第1プレイヤのための基準マーク50A〜50D(第1目標位置)と、第2プレイヤのための基準マーク50A〜50D(第2目標位置)とが別々に表示されるようにしてもよい。
(5)また例えば、本発明は、プレイヤが楽曲に合わせてゲーム操作を行う各種ゲームに適用することが可能である。また例えば、ゲームシステム10は、例えば家庭用ゲーム機(据置型ゲーム機)、業務用ゲーム機、携帯電話機、携帯情報端末(PDA)、パーソナルコンピュータ、又はサーバコンピュータによって実現されるようにしてもよい。また、ゲームシステム10は、通信ネットワークに接続される複数のゲーム装置(携帯ゲーム機、家庭用ゲーム機、パーソナルコンピュータ等)を含んで構成されるようにしてもよい。