以下、本発明の実施形態について図面に基づき詳細に説明する。本発明の実施形態に係るゲームシステムは、例えば携帯ゲーム機、家庭用ゲーム機(据置型ゲーム機)、業務用ゲーム機、携帯電話機、携帯情報端末(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が設けられている。
また、携帯ゲーム機11の他方の端31には、4つのボタン33U,33D,33L,33Rが設けられている。第2プレイヤから見た場合、ボタン33Uは上方向に対応するボタンであり、ボタン32Uに対応する。同様に、ボタン33Dは下方向に対応するボタンであり、ボタン32Dに対応する。また、ボタン33Lは左方向に対応するボタンであり、ボタン32Lに対応する。ボタン33Rは右方向に対応するボタンであり、ボタン32Rに対応する。
このゲームでは、第1プレイヤの視点から見て上方向、下方向、左方向、及び右方向に対応するボタン32U,32D,32L,32Rが用いられる。第1プレイヤはボタン32U,32D,32L,32Rを操作する。また同様に、第2プレイヤの視点から見て上方向、下方向、左方向、及び右方向に対応するボタン33U,33D,33L,33Rが用いられる。第2プレイヤはボタン33U,33D,33L,33Rを操作する。
なお、以下では、ボタン32L,33Lの押下操作のことを「ゲーム操作A」と記載する。また、ボタン32U,32D,33U,33Dの押下操作のことを「ゲーム操作B」と記載し、ボタン32R,33Rの押下操作のことを「ゲーム操作C」と記載する。
ゲームシステム10で実行されるゲームでは、予め用意された複数の楽曲のうちから選択された楽曲が再生され、その楽曲が音声出力部18から出力される。また、このゲームでは、楽曲ごとに、ゲーム操作A、ゲーム操作B、ゲーム操作Cが行われるべきタイミング(以下「基準タイミング」と記載する。)が定められている。第1プレイヤ及び第2プレイヤは、基準タイミングと一致するタイミングでゲーム操作A、ゲーム操作B、ゲーム操作Cを行うことを目指す。
図3は表示部16に表示されるゲーム画面の一例を示し、あるタイミングT1におけるゲーム画面を示す。同図に示すように、ゲーム画面40には、X軸とY軸とが設定されている。X座標値とY座標値とにより、ゲーム画面40上の位置が特定される。
ゲーム画面40は、X軸方向に伸びる2つの辺41a、41bと、Y軸方向に伸びる2つの辺43a、43bと、を含む矩形形状を有している。第1プレイヤは矢印A1が示す方向からゲーム画面40を見る。一方、第2プレイヤは矢印A2が示す方向からゲーム画面40を見る。以下では、特に断らない限り、第1プレイヤの視点からゲーム画面40を見ていることを前提として説明する。
また、図3において、符号42が指す点線と、符号PA,PB,PC,TA1,TB1,TC1,TA2,TB2,及びTC2のそれぞれが指す点と、はゲーム画面40について説明するためのものであり、実際のゲーム画面40には表示されない。
ゲーム画面40は、Y軸方向に伸びるセンターライン42により、2等分される。センターライン42の下側の領域である第1案内領域44は、ゲーム操作A、ゲーム操作B、ゲーム操作Cを行うべき基準タイミング(第1基準タイミング)を第1プレイヤに案内するための領域であり、センターライン42の上側の領域である第2案内領域45は、ゲーム操作A、ゲーム操作B、ゲーム操作Cを行うべき基準タイミング(第2基準タイミング)を第2プレイヤに案内するための領域である。
まず、第1案内領域44について説明する。
第1案内領域44では、辺43a付近に、基準マーク46A,46B,46Cが横一列に表示される。より詳しくは、基準マーク46Aが目標位置TA1に表示され、基準マーク46Bが目標位置TB1に表示され、基準マーク46Cが目標位置TC1に表示される。
第1案内領域44では、基準マーク46A,46B,46C,の上方に、それぞれ、案内マーク48A,48B,48Cが表示される。ここでは、案内マーク48A,48B,48Cとして同じマークが用いられる。
以下では、基準マーク46A〜46Cのことを総称して「基準マーク46」と記載する場合がある。また、案内マーク48A〜48Cのことを総称して「案内マーク48」と記載する場合がある。
第1案内領域44では、案内マーク48Aは基準マーク46Aに対応する。第1案内領域44において、案内マーク48Aは、通常、下記に説明するようにして移動する。
すなわち、案内マーク48Aは、まず初期位置PAに表示された後、時間経過に伴って下方に徐々に移動して、基準マーク46Aに接近する。基準マーク46A及び案内マーク48Aはボタン32Lに対応し、ボタン32Lが押下されるべきタイミング、すなわち、ゲーム操作Aが行われるべき基準タイミング(第1基準タイミング)にて案内マーク48Aは基準マーク46Aに重なる。
同様に、第1案内領域44では、案内マーク48Bは基準マーク46Bに対応する。第1案内領域44において、案内マーク48Bは、通常、下記に説明するようにして移動する。
すなわち、案内マーク48Bは、まず初期位置PBに表示された後、時間経過に伴って下方に徐々に移動して、基準マーク46Bに接近する。基準マーク46B及び案内マーク48Bはボタン32U及びボタン32Dに対応し、ボタン32U又はボタン32Dが押下されるべきタイミング、すなわち、ゲーム操作Bが行われるべき基準タイミング(第1基準タイミング)にて案内マーク48Bは基準マーク46Bに重なる。
また、第1案内領域44では、案内マーク48Cは基準マーク46Cに対応する。第1案内領域44において、案内マーク48Cは、通常、下記に説明するようにして移動する。
すなわち、案内マーク48Cは、まず初期位置PCに表示された後、時間経過に伴って下方に徐々に移動して、基準マーク46Cに接近する。基準マーク46C及び案内マーク48Cはボタン32Rに対応し、ボタン32Rが押下されるべきタイミング、すなわち、ゲーム操作Cが行われるべき基準タイミング(第1基準タイミング)にて案内マーク48Cは基準マーク46Cに重なる。
第1プレイヤは、第1案内領域44において基準マーク46A,46B,46Cに接近する案内マーク48A,48B,48Cを頼りに、ゲーム操作A〜ゲーム操作Cを行うべき基準タイミング(第1基準タイミング)を把握する。
第1案内領域44において案内マーク48A,48B,48Cが基準マーク46A,46B,46Cに重なる基準タイミング(第1基準タイミング)と、第1プレイヤがゲーム操作A〜ゲーム操作Cを行ったタイミングと、の一致度に基づいて、第1プレイヤに評価が与えられる。例えば、「GREAT」、「COOL」、及び「BAD」のうちのいずれかの評価が与えられる。「GREAT」が最も高い評価であり、「BAD」が最も低い評価である。第1案内領域44内には第1プレイヤに与えられた評価を示すメッセージ47が表示される。
第1プレイヤに評価が与えられると、当該評価に応じた点数が第1プレイヤの得点に加算される。第1プレイヤは、第2プレイヤよりも多くの得点を得ることを目指す。
次に、第2案内領域45について説明する。
第2案内領域45では、辺43b付近に、基準マーク46A,46B,46Cが横一列に表示される。より詳しくは、基準マーク46Aが目標位置TA2に表示され、基準マーク46Bが目標位置TB2に表示され、基準マーク46Cが目標位置TC2に表示される。
また、第2案内領域45では、基準マーク46A,46B,46C,の下方に、それぞれ、案内マーク48A,48B,48Cが表示される。
第2案内領域45では、案内マーク48Aは基準マーク46Aに対応する。第2案内領域45において、案内マーク48Aは、通常、下記に説明するようにして移動する。
すなわち、案内マーク48Aは、まず初期位置PCに表示された後、時間経過に伴って上に徐々に移動して、基準マーク46Aに接近する。基準マーク46A及び案内マーク48Aはボタン33Lに対応し、ボタン33Lが押下されるべきタイミング、すなわち、ゲーム操作Aが行われるべき基準タイミング(第2基準タイミング)にて案内マーク48Aは基準マーク46Aに重なる。
同様に、第2案内領域45では、案内マーク48Bは基準マーク46Bに対応する。第2案内領域45において、案内マーク48Bは、通常、下記に説明するようにして移動する。
すなわち、案内マーク48Bは、まず初期位置PBに表示された後、時間経過に伴って上方に徐々に移動して、基準マーク46Bに接近する。基準マーク46B及び案内マーク48Bはボタン33U及びボタン33Dに対応し、ボタン33U又はボタン33Dが押下されるべきタイミング、すなわち、ゲーム操作Bが行われるべき基準タイミング(第2基準タイミング)にて案内マーク48Bは基準マーク46Bに重なる。
また、第2案内領域45では、案内マーク48Cは基準マーク46Cに対応する。第2案内領域45において、案内マーク48Cは、通常、下記に説明するようにして移動する。
すなわち、案内マーク48Cは、まず初期位置PCに表示された後、時間経過に伴って上方に徐々に移動して、基準マーク46Cに接近する。基準マーク46C及び案内マーク48Cはボタン33Rに対応し、ボタン33Rが押下されるべきタイミング、すなわち、ゲーム操作Cが行われるべき基準タイミング(第2基準タイミング)にて案内マーク48Cは基準マーク46Cに重なる。
第2プレイヤは、第2案内領域45において基準マーク46A,46B,46Cに接近する案内マーク48A,48B,48Cを頼りに、ゲーム操作A〜ゲーム操作Cを行うべき基準タイミング(第2基準タイミング)を把握する。
第2案内領域45において案内マーク48A,48B,48Cが基準マーク46A,46B,46Cに重なる基準タイミング(第2基準タイミング)と、第2プレイヤがゲーム操作A〜ゲーム操作Cを行ったタイミングと、の一致度に基づいて、第2プレイヤに評価が与えられる。例えば、「GREAT」、「COOL」、及び「BAD」のうちのいずれかの評価が与えられる。「GREAT」が最も高い評価であり、「BAD」が最も低い評価である。第2案内領域45内には第2プレイヤに与えられた評価を示すメッセージが表示されるが、図3では省略されている。
第2プレイヤに評価が与えられると、当該評価に応じた点数が第2プレイヤの得点に加算される。第2プレイヤは、第1プレイヤよりも多くの得点を得ることを目指す。
このゲームでは、第1案内領域44にY軸方向に伸びる第1バー50が表示され、第2案内領域45にY軸方向に伸びる第2バー51が表示される。
具体的には、楽曲の再生の開始時には、図3に示すように、第1バー50及び第2バー51がともに、センターライン42上に表示される。
また、楽曲の再生が開始された後は、第1プレイヤの得点と第2プレイヤの得点とに応じて、第1バー50と第2バー51とのうちの一方が、センターライン42とは異なる位置に表示される。より詳しくは、第1プレイヤの得点が第2プレイヤの得点よりも少ない場合に、第1バー50は、第1バー50と辺43aとの間の距離がセンターライン42と辺43aとの間の距離に比べて小さくなるような位置に表示される。一方、第2プレイヤの得点が第1プレイヤの得点よりも少ない場合に、第2バー51は、第2バー51と辺43aとの間の距離がセンターライン42と辺43bとの間の距離に比べて小さくなるような位置に表示される。
図4は、第1プレイヤの得点が第2プレイヤの得点よりも少ない場合における上記タイミングT1での第1案内領域44の表示内容の一例である。同図に示すように、第1バー50がセンターライン42とは異なる位置に表示される。第1バー50とセンターライン42との距離rは、第1プレイヤの得点と第2プレイヤの得点との得点差が大きいほど長くなるようになっている。
ここで、このゲームでは、ゲームの興趣を向上させるため、第1プレイヤの得点が第2プレイヤの得点よりも少ない場合に、第1プレイヤに基準タイミングを案内するための案内マーク48が通常の移動態様とは異なる移動態様で移動し、第2プレイヤの得点が第1プレイヤの得点よりも少ない場合に、第2プレイヤに基準タイミングを案内するための案内マーク48が通常の移動態様とは異なる移動態様で移動するようになっている。
以下、この点につき、第1プレイヤの得点が第2プレイヤの得点よりも少ない場合を例に採り上げて説明する。なお、ここでは、案内マーク48Aに着目する。
すなわち、第1プレイヤの得点が第2プレイヤの得点よりも少ない場合、案内マーク48Aは初期位置PAに表示されるのではなく、例えば図4に示すように案内マーク48Aは他の初期位置(初期位置PB又はPC)に表示される。ここでは、案内マーク48Aが初期位置PBに表示される場合の例について説明する。この場合、案内マーク48Aが初期位置PBに表示された後、案内マーク48Aは、目標位置TB1に向かって徐々に移動する。なお、案内マーク48Aが初期位置PCに表示される場合、案内マーク48Aは、目標位置TC1に向かって徐々に移動することになる。
案内マーク48Aによる目標位置TB1に向かっての移動は、案内マーク48Aが第1バー50に到達するまで行われる。案内マーク48Aが目標位置TB1に向かって移動することによって、第1プレイヤによって本来行われるべきゲーム操作(この場合、ゲーム操作A)とは異なるゲーム操作(この場合、ゲーム操作B)の実行を案内されているかのような印象が第1プレイヤに与えられる。
案内マーク48Aが第1バー50に到達した後は、第1プレイヤが本来行うべきゲーム操作(この場合、ゲーム操作A)の実行が案内される。図5は、この点について説明するための図であり、第1プレイヤの得点が第2プレイヤの得点よりも少ない場合における、案内マーク48Aが第1バー50に到達した後のタイミングT2での第1案内領域44の表示内容の一例を示す図である。ここで、符号MA1が指す点、符号MB1が指す点、符号MC1が指す点、符号MA2が指す点、及び矢印は、第1案内領域44の表示内容について説明するためのものであり、第1案内領域44に実際に表示されているわけではない。符号MA1が指す点は、初期位置PAと目標位置TA1を結ぶ線と第1バー50との交点の位置を示し、符号MB1が指す点は、初期位置PBと目標位置TB1とを結ぶ線と第1バー50との交点の位置を示し、符号MC1が指す点は、初期位置PCと目標位置TC1とを結ぶ線と第1バー50との交点の位置を示し、符号MA2が指す点は、符号MA1が指す点と初期位置PAとの間の位置を示す。
すなわち、図5に示すように、案内マーク48Aは、第1バー50に到達した後は、途中位置MB1から目標位置TB1に向かって移動するのではなく、第1プレイヤが本来行うべきゲーム操作(この場合、ゲーム操作A)の実行が案内されるようにするために、途中位置MA1のやや下方の位置MA2から目標位置TA1に向かって移動する(図5の矢印参照)。
このように、このゲームでは、第1プレイヤの得点が第2プレイヤの得点よりも少ない場合、第1案内領域44において案内マーク48Aが通常の移動態様とは異なる移動態様で移動する。すなわち、このゲームでは、第1プレイヤの得点が第2プレイヤの得点より少ない場合、案内マーク48Aが初期位置PBから目標位置TB1に向かって一時的に移動してから、目標位置TA1に向かって移動する。同様に、第1案内領域44において案内マーク48B,48Cも、第1プレイヤの得点が第2プレイヤの得点よりも少ない場合、案内マーク48Aと同様にして、通常の移動態様とは異なる移動態様で移動する。そのため、第1プレイヤによって本来行われるべきゲーム操作とは異なるゲーム操作の実行を案内されているかのような印象が第1プレイヤに一時的に与えられる。そのため、第1プレイヤの得点が第2プレイヤの得点より少ない場合、第1プレイヤにとってのゲームの難易度が上がる。
また、上述のように、第1プレイヤの得点と第2プレイヤの得点との得点差が大きいほど、第1バー50とセンターライン42との距離rが長くなる。そのため、第1プレイヤの得点と第2プレイヤとの得点差が大きいほど第1案内領域44において例えば案内マーク48Aが目標位置TB1への移動を行う時間が長くなるので、第1プレイヤの得点と第2プレイヤの得点との得点差が大きいほど、上記のような印象を第1プレイヤに与える時間が長くなる。その結果として、第1プレイヤの得点と第2プレイヤとの得点との得点差が大きいほど、第1プレイヤにとってのゲームの難易度が上がる。
一方、第2プレイヤの得点が第1プレイヤの得点よりも少ない場合、第1プレイヤの得点が第2プレイヤの得点よりも少ない場合と同様にして、第2案内領域45において案内マーク48が、通常の移動態様とは異なる移動態様で移動する。そのため、第2プレイヤによって本来行われるべきゲーム操作とは異なるゲーム操作の実行を案内されているかのような印象が第2プレイヤに一時的に与えられる。そのため、第2プレイヤの得点が第1プレイヤの得点よりも多い場合、第2プレイヤにとってのゲームの難易度が上がる。
その結果として、ゲームの興趣が向上するようになっている。
以下、「第1プレイヤが劣勢である場合」とは、「第1プレイヤの得点が第2プレイヤの得点より少ない場合」のことを意味し、「第1プレイヤが優勢である場合」とは、「第1プレイヤの得点が第2プレイヤの得点より多い場合」のことを意味する。
[3.機能ブロック]
図6は、ゲームシステム10で実現される機能群を示す機能ブロック図である。同図に示すように、ゲームシステム10は、基準タイミングデータ記憶部70と、第1検出部72と、第2検出部74と、第1評価部76と、第2評価部78と、第1案内部80と、第2案内部82と、を含む。基準タイミングデータ記憶部70は、例えば光ディスク26によって実現される。その他の機能群は、例えば制御部13が光ディスク26に記憶されたプログラムを実行することによって実現される。
[3−1.基準タイミングデータ記憶部]
基準タイミングデータ記憶部70は、以下の情報を示す基準タイミングデータを記憶している。
(1)第1プレイヤが複数種類の第1ゲーム操作の各々を行うべき複数の第1基準タイミング、及び該複数の第1基準タイミングの各々において第1プレイヤが行うべき第1ゲーム操作の種類
(2)第2プレイヤが複数種類の第2ゲーム操作の各々を行うべき複数の第2基準タイミング、及び該複数の第2基準タイミングの各々において第2プレイヤが行うべき第2ゲーム操作の種類
この基準タイミングデータは、楽曲のテンポ(リズム)を考慮して作成される。
本実施形態の場合、第1プレイヤがゲーム操作A〜ゲーム操作Cの各々を行うべき上記基準タイミングが「第1基準タイミング」に相当する。また、第2プレイヤがゲーム操作A〜ゲーム操作Cの各々を行うべき上記基準タイミングが「第2基準タイミング」に相当する。また、第1プレイヤによって行われるゲーム操作A、ゲーム操作B、及びゲーム操作Cが、「複数種類の第1ゲーム操作」に相当し、第2プレイヤによって行われるゲーム操作A、ゲーム操作B、及びゲーム操作Cが、「複数種類の第2ゲーム操作」に相当する。
なお、ここでは、第1プレイヤが複数種類の第1ゲーム操作の各々を行うべき複数の第1基準タイミングと、第2プレイヤが複数種類の第2ゲーム操作の各々を行うべき複数の第2基準タイミングと、が同じであることとして説明する。但し、第1プレイヤが複数種類の第1ゲーム操作の各々を行うべき複数の第1基準タイミングと、第2プレイヤが複数種類の第2ゲーム操作の各々を行うべき複数の第2基準タイミングと、が異なっていてもよい。また、例えば、ゲームシステム10が二つのゲームコントローラ(操作部)を備えるような場合であって、第1プレイヤが一方のゲームコントローラを用いてプレイし、第2プレイヤが他方のゲームコントローラを用いてプレイするような場合、第1プレイヤが行うべき複数種類に第1ゲーム操作と、第2プレイヤが行うべき複数種類の第2ゲーム操作とは同じであってもよい。
図7は、基準タイミングデータの一例を示す図である。なお、図7において、t軸は時間軸であり、楽曲の再生が開始されてからの時間経過を示す。例えば、基準タイミングデータは、1/256小節の単位で、ゲーム操作A〜ゲーム操作Cが行われるべき基準タイミング(第1基準タイミング、第2基準タイミング)を示す。なお、図7では、説明を簡略化するために、1小節を6分割し、1/6小節の単位で基準タイミングが示されている。
図7に示す基準タイミングデータは、複数のレコードを含む。各レコードには、「A」フィールド、「B」フィールド、及び「C」フィールドが含まれる。「A」フィールドは、ゲーム操作Aを行うべきか否かを示す。「0」はゲーム操作Aを行うべきでないことを示し、「1」はゲーム操作Aを行うべきことを示す。同様に、「B」フィールドは、ゲーム操作Bを行うべきか否かを示し、「C」フィールドは、ゲーム操作Cを行うべきか否かを示す。
なお、各レコードの左端の数値は、各レコードのレコード番号「n」(識別情報)を示す。本実施形態の場合、レコード番号「n」は、1以上の整数であり、レコード番号「n」は、「t」が大きいほど大きくなるように設定されている。
[3−2.第1案内部]
第1案内部80は、制御部13と主記憶14と画像処理部15と表示部16とを主として実現される。第1案内部80は、基準タイミングデータに基づいて、第1プレイヤが複数種類の第1ゲーム操作の各々を行うべき複数の第1基準タイミングと、該複数の第1基準タイミングの各々において第1プレイヤが行うべき第1ゲーム操作の種類と、を第1プレイヤに案内する。
図6に示すように、第1案内部80は、第1−1案内部80aと、第1−2案内部80bと、案内制御部80cと、を含む。これらについては、後述する。
[3−3.第2案内部]
第2案内部82は、制御部13と主記憶14と画像処理部15と表示部16とを主として実現される。第2案内部82は、基準タイミングデータに基づいて、第2プレイヤが複数種類の第2ゲーム操作の各々を行うべき複数の第2基準タイミングと、該複数の第2基準タイミングの各々において第2プレイヤが行うべき第2ゲーム操作の種類と、を第2プレイヤに案内する。第2案内部82の機能は第1案内部80の機能と同様であるため、詳細な説明は省略する。
[3−4.第1検出部]
第1検出部72は、制御部13を主として実現される。第1検出部72は、操作部22からの操作信号に基づいて、第1プレイヤが行ったゲーム操作を検出する。本実施形態の場合、第1検出部72は、操作部22からの操作信号に基づいて、第1プレイヤによってゲーム操作A〜ゲーム操作Cが行われたか否かを判断する。
[3−5.第2検出部]
第2検出部74は、制御部13を主として実現される。第2検出部74は、操作部22からの操作信号に基づいて、第2プレイヤが行ったゲーム操作を検出する。本実施形態の場合、第2検出部74は、操作部22からの操作信号に基づいて、第2プレイヤによってゲーム操作A〜ゲーム操作Cが行われたか否かを判断する。
[3−6.第1評価部]
第1評価部76は、制御部13を主として実現される。第1評価部76は、基準タイミングデータと、第1検出部72の検出結果と、に基づいて、第1プレイヤのゲーム操作を評価する。
本実施形態の場合、第1評価部76は、基準タイミングデータと、第1検出部72の検出結果と、に基づいて、第1プレイヤのゲーム操作の評価を、「GREAT」、「COOL」、及び「BAD」のうちで決定する。
なお、本実施形態の場合、「GREAT」、「COOL」、及び「BAD」などの評価の各々と点数とを対応付けてなる点数テーブルと、第1プレイヤと第2プレイヤの各々の得点を示す得点テーブルが、主記憶14に記憶されている。図8は、点数テーブルの一例を示し、図9は、得点テーブルの一例を示す。
第1評価部76は、第1プレイヤが行ったゲーム操作の評価を決定するだけでなく、当該評価に対応付けられた点数を加算して、第1プレイヤの得点を更新することも行う。
[3−7.第2評価部]
第2評価部78は、制御部13を主として実現される。第2評価部78は、基準タイミングデータと、第2検出部74の検出結果と、に基づいて、第2プレイヤのゲーム操作を評価する。
本実施形態の場合、第2評価部78は、基準タイミングデータと、第2検出部74の検出結果と、に基づいて、第2プレイヤのゲーム操作の評価を、「GREAT」、「COOL」、及び「BAD」のうちで決定する。
なお、第2評価部78は、第2プレイヤが行ったゲーム操作の評価を決定すると、当該評価に対応付けられた点数を加算して、第2プレイヤの得点を更新することも行う。
次に、及び第1−1案内部80a、第1−2案内部80b、案内制御部80cについて説明する。
[3−8.第1−1案内部]
第1−1案内部80aの動作について説明する。ここでは、複数種類の第1ゲーム操作のうちのいずれかである第1−1ゲーム操作を行うべき第1基準タイミングを案内する場合の第1−1案内部80aの動作について説明する。上述のように、本実施形態の場合、第1プレイヤによって行われるゲーム操作A〜ゲーム操作Cが、「複数種類の第1ゲーム操作」に相当する。このため、ゲーム操作A〜ゲーム操作Cのそれぞれが、「第1−1ゲーム操作」に相当し得る。
まず、第1−1案内部80aは、ゲーム画面において、案内画像を、ゲーム画面に設定された複数種類の第1ゲーム操作の各々に対応する複数の初期位置、のうちの第1−1ゲーム操作に対応する初期位置である第1初期位置に表示させる。
本実施形態の場合、案内マーク48A,48B,48Cのそれぞれが「案内画像」に相当し得る。初期位置PA,PB,PC(図3乃至図5参照)が「複数の初期位置」に相当する。例えば、ゲーム操作Aが「第1−1ゲーム操作」に相当する場合、案内マーク48Aが「案内画像」に相当し、「初期位置PA」が「第1初期位置」に相当する。また、ゲーム操作Bが「第1−1ゲーム操作」に相当する場合、案内マーク48Bが「案内画像」に相当し、「初期位置PB」が「第1初期位置」に相当する。また、ゲーム操作Cが「第1−1ゲーム操作」に相当する場合、案内マーク48Cが「案内画像」に相当し、「初期位置PC」が「第1初期位置」に相当する。
案内画像を第1初期位置に表示させた後、第1−1案内部80aは、案内画像を、第1初期位置から、ゲーム画面に設定された複数種類の第1ゲーム操作の各々に対応する複数の目標位置、のうちの第1−1ゲーム操作に対応する目標位置である第1目標位置に向かって移動させる。
本実施形態の場合、目標位置TA1,TB1,TC1(図3乃至図5参照)が「複数の目標位置」に相当する。例えば、ゲーム操作Aが「第1−1ゲーム操作」に相当する場合、目標位置TA1が、ゲーム操作Aに対応する「第1目標位置」に相当する。また、ゲーム操作Bが「第1−1ゲーム操作」に相当する場合、目標位置TB1が、ゲーム操作Bに対応する「第1目標位置」に相当する。また、ゲーム操作Cが「第1−1ゲーム操作」に相当する場合、目標位置TC1が、ゲーム操作Cに対応する「第1目標位置」に相当する。
なお、第1−1案内部80aの機能の詳細については後述する(図14及び図16参照)。また、以下では、ゲーム操作Aが「第1−1ゲーム操作」に相当するものして、説明を続ける。
[3−9.第1−2案内部]
第1−2案内部80bの動作について説明する。ここでは、上記第1−1ゲーム操作を行うべき第1基準タイミングを案内する場合の第1−2案内部80bの動作について説明する。
まず、第1−2案内部80bは、ゲーム画面において、案内画像を、複数種類の第1ゲーム操作のうちの第1−1ゲーム操作以外の第1−2ゲーム操作に対応する初期位置である第2初期位置に表示させる。ここでは、ゲーム操作Aが「第1−1ゲーム操作」に相当するので、案内マーク48Aが「案内画像」に相当する。また、ゲーム操作B及びゲーム操作Cのそれぞれが、「第1−2ゲーム操作」に相当し得る。
ゲーム操作Bが「第1−2ゲーム操作」に相当する場合は、初期位置PBが第1−2ゲーム操作に対応する「第2初期位置」に相当する。ゲーム操作Cが「第1−2ゲーム操作」に相当する場合は、初期位置PCが第1−2ゲーム操作に対応する「第2初期位置」に相当する。
案内画像を第2初期位置に表示させた後、第1−2案内部80bは、第1−2ゲーム操作に対応する目標位置である第2目標位置に向かって、第2初期位置と第2目標位置との間の第2途中位置まで移動させる。
ここでは、ゲーム操作Aが「第1−1ゲーム操作」に相当するので、ゲーム操作Bが「第1−2ゲーム操作」に相当する場合は、目標位置TB1が第1−2ゲーム操作に対応する「第2目標位置」に相当し、途中位置MB1(図5参照)が第2初期位置と第2目標位置との間の第2途中位置に相当する。また、ゲーム操作Cが「第1−2ゲーム操作」に相当する場合は、目標位置TC1が第1−2ゲーム操作に対応する「第2目標位置」に相当し、途中位置MC1(図5参照)が、第2初期位置と第2目標位置との間の第2途中位置に相当する。
案内画像を第2途中位置まで移動させた後、第1−2案内部80bは、第1目標位置に向かって移動させる。例えば、第1−2案内部80bは、案内画像を、第2途中位置まで移動させた後、第1初期位置と第1目標位置との間の第1途中位置から第1目標位置に向かって移動させる。
ここでは、ゲーム操作Aが「第1−1ゲーム操作」に相当するので、目標位置TA1が「第1目標位置」に相当し、初期位置PAが「第1初期位置」に相当する。従って、目標位置TA1と初期位置PAとの間の位置が「第1途中位置」に相当する。例えば、位置MA2(図5参照)が「第1途中位置」に相当する。
第1−2案内部80bの機能の詳細については後述する(図14及び図16参照)。また、以下では、ゲーム操作Aが「第1−1ゲーム操作」に相当し、ゲーム操作Bが「第1−2ゲーム操作」に相当するものして、説明を続ける。
[3−10.距離制御部]
初期位置PB(第2初期位置)と途中位置MB1(第2途中位置)との間の距離であり、センターライン42と第1バー50との間の距離でもある距離rは、第1−2案内部80bに含まれる距離制御部80dにより制御される。
すなわち、距離制御部80dは、第1評価部76の評価結果と第2評価部78の評価結果との少なくとも一方に基づいて途中位置MB1(第2途中位置)を制御することにより、上記距離rを第1評価部76の評価結果と第2評価部78の評価結果との少なくとも一方に基づいて制御する。
本実施形態の場合、距離制御部80dは、第1評価部76の評価結果と第2評価部78の評価結果の双方に基づいて、距離rを制御する。
上記のような距離制御は、例えば、下記に説明する条件テーブルを基に行われる。条件テーブルは、主記憶14又は光ディスク26に記憶されている。図10は、条件テーブルの一例を示す図である。条件テーブルは、条件フィールドと、距離フィールドと、を含む。条件フィールドには、第1評価部76の評価結果と第2評価部78の評価結果とに基づく情報に関する条件が格納され、距離フィールドには、予め定められた三つの距離r1、r2、r3の各々が格納される。
ここでは、「第1評価部76の評価結果と第2評価部78の評価結果とに基づく情報」とは、第1プレイヤの得点から第2プレイヤの得点を引いた差Δであり、条件テーブルには、この差Δに関する条件が格納される。|Δ|は、差Δの絶対値を示している。また、条件テーブルは、|Δ|が大きいほど、センターライン42と第1バー50との距離rが大きくなるように設定されている。
なお、距離r1,r2,r3の意義については後述する。
距離制御部80dは、条件テーブルを参照することにより、初期位置PB(第2初期位置)と途中位置MB1(第2途中位置)との間の距離rが、上記情報が満足する条件に対応付けられた距離になるように、途中位置MB1、すなわち、第1バー50の位置、を設定する。
なお、距離制御部80dは、第1評価部76の評価結果又は第2評価部78の評価結果のみに基づいて、距離rを制御するようにしてもよい。
例えば、距離制御部80dが第1評価部76の評価結果のみに基づいて距離rを制御する場合、「第1評価部76の評価結果と第2評価部78の評価結果とに基づく情報に関する条件」ではなく、「第1評価部76の評価結果のみに基づく情報に関する条件」が条件テーブルに格納される。この場合、「第1評価部76の評価結果のみに基づく情報」とは、例えば、第1プレイヤの得点である。
また、例えば、距離制御部80dが第2評価部78の評価結果のみに基づいて距離rを制御する場合、「第1評価部76の評価結果と第2評価部78の評価結果とに基づく情報に関する条件」ではなく、「第2評価部78の評価結果のみに基づく情報に関する条件」が条件テーブルに格納される。この場合、「第2評価部78の評価結果のみに基づく情報」とは、例えば、第2プレイヤの得点である。
ちなみに、初期位置PA(第1初期位置)と位置MA2(第1途中位置)との間の距離も、距離制御部80dにより制御される。
すなわち、距離制御部80dは、第1評価部76の評価結果と第2評価部78の評価結果との少なくとも一方に基づいて位置MA2(第1途中位置)を制御することにより、初期位置PA(第1初期位置)と位置MA2(第1途中位置)との間の距離を、第1評価部76の評価結果と第2評価部78の評価結果との少なくとも一方に基づいて制御する。
例えば、距離制御部80dは、位置MA2(第1途中位置)を、第1評価部76の評価結果と第2評価部78の評価結果との少なくとも一方に基づいて設定された途中位置MB1(第2途中位置)の位置に基づいて制御することによって、初期位置PA(第1初期位置)と位置MA2(第1途中位置)との間の距離を、第1評価部76の評価結果と第2評価部78の評価結果との少なくとも一方に基づいて制御する。
[3−11.案内制御部]
案内制御部80cは、第1−1ゲーム操作を行うべき第1基準タイミングを案内する場合、第1評価部76の評価結果と第2評価部78の評価結果とのうちの少なくとも一方に基づいて、第1−1案内部80a又は第1−2案内部80bのいずれかに、第1−1ゲーム操作を行うべき第1基準タイミングの案内を行わせる。
本実施形態の場合、案内制御部80cは、ゲーム操作A(第1−1ゲーム操作)を行うべき基準タイミング(第1基準タイミング)を案内する場合に、第1評価部76の評価結果と第2評価部78の評価結果に基づいて、第1−1案内部80a又は第1−2案内部80bのいずれかに上記の案内を行わせる。
より詳しくは、案内制御部80cは、第1評価部76の評価結果と第2評価部78の評価結果に基づく情報である上記差Δが所定条件を満足する場合に、第1−2案内部80bに上記の案内を行わせ、上記差Δが所定条件を満足しない場合に、第1−1案内部80aに上記の案内を行わせる。ここでは、「上記差Δが所定条件を満足する場合」とは、上記差Δが0より小さい場合、すなわち、第1プレイヤが劣勢である場合である。なお、「上記差Δが所定条件を満足する場合」とは、上記差Δが0より大きい場合、すなわち、第1プレイヤが優勢である場合であってもよい。
なお、案内制御部80cは、ゲーム操作A(第1−1ゲーム操作)を行うべき基準タイミング(第1基準タイミング)を案内する場合、第1評価部76の評価結果又は第2評価部78の評価結果のみに基づいて、第1−1案内部80a又は第1−2案内部80bのいずれかに上記の案内を行わせるようにしてもよい。
例えば、案内制御部80cは、第1プレイヤの得点が所定条件を満足する場合に、第1−2案内部80bに上記の案内を行わせ、第1プレイヤの得点が所定条件を満足しない場合に、第1−1案内部80aに上記の案内を行わせるようにしてもよい。また、例えば、案内制御部80cは、第2プレイヤの得点が所定条件を満足する場合に、第1−2案内部80bに上記の案内を行わせ、第2プレイヤの得点が所定条件を満足しない場合に、第1−1案内部80aに上記の案内を行わせるようにしてもよい。
[4.処理]
次に、ゲームシステム10で実行される処理について説明する。図11はゲームシステム10で実行される処理のうちの、本発明に関連する処理を主に示すフロー図である。制御部13は光ディスク26に記憶されるプログラムに従って、図11に示す処理を実行する。制御部13が図11に示す処理を実行することによって、図6に示す機能ブロックが実現される。
まず制御部13は、基準タイミングデータ(図7参照)を光ディスク26から読み出し、主記憶14に記憶する。そして、制御部13は、主記憶14に記憶される基準タイミングデータのうちからレコード番号「1」〜「6」のレコードを読み出し、第1プレイヤのための部分タイミングデータ(以下、第1の部分タイミングデータと記載する)として主記憶14に記憶する(S101)。同様に、制御部13は、レコード番号「1」〜「6」のレコードを、第2プレイヤのための部分タイミングデータ(以下、第2の部分タイミングデータと記載する)として主記憶14に記憶する(S102)。
そして、フラグ「m」の値をレコード番号「6」に設定する。フラグ「m」は主記憶14に記憶される。フラグ「m」の意義については後述する。
図12に、S101のステップで主記憶14に記憶された、第1の部分タイミングデータ及び第2の部分タイミングデータを示す。同図の左側に、第1の部分タイミングデータ(第2の部分タイミングデータ)を示す。同図に示すように、第1の部分タイミングデータ(第2の部分タイミングデータ)は、6つのレコードを含む。ここでは、レコード番号「6」のレコードが上から1番目のレコードR1になり、レコード番号「5」のレコードが上から2番目のレコードR2になり、レコード番号「4」のレコードが上から3番目のレコードR3になり、レコード番号「3」のレコードが上から4番目のレコードR4になり、レコード番号「2」のレコードが上から5番目のレコードR5になり、レコード番号「1」のレコードが上から6番目のレコードR6になる。
そして、制御部13は、楽曲の再生を開始する(S103)。また、制御部13は、第1の部分タイミングデータ及び第2の部分タイミングデータに基づいて、ゲーム画面40の表示を開始する。
ここで、第1の部分タイミングデータとゲーム画面40(第1案内領域44)における表示との関係につき、図12を参照しながら説明する。図12の左側は第1の部分タイミングデータを示し、右側は第1案内領域44を示す。なお、線L1,L2,L3,L4,L5,L6,l1,l2,l3は、上記関係について説明するためのものであり、ゲーム画面40に表示されるわけではない。
同図に示すように、第1の部分タイミングデータに含まれる6つのレコードR1〜R6には、それぞれ、X座標値が対応づけられている。具体的には、レコードR1には、X座標値「X1」が対応づけられている。また、レコードR2には、X座標値「X2」が対応づけられている。また、レコードR3には、X座標値「X3」が対応づけられている。また、レコードR4には、X座標値「X4」が対応づけられている。また、レコードR5には、X座標値「X5」が対応づけられている。また、レコードR6には、X座標値「X6」が対応づけられている。
線L1は、X=X1で表される直線を示している。同図に示すように、線L1が初期位置PA,PB,PCを通っているので、初期位置PA,PB,PCのX座標値が「X1」であることがわかる。また、センターライン42のX座標値が「X1」であることもわかる。
線L2は、X=X2で表される直線を示している。線L1と線L2との距離、すなわち、センターライン42と線L2との距離は、上述したr1(図10参照)である。従って、第1バー50が線L2上に表示される場合があることがわかる。
線L3は、X=X3で表される直線を示している。線L1と線L3との距離は、上述したr2(図10参照)である。従って、第1バー50が線L3上に表示される場合があることがわかる。同様に、線L4は、X=X4で表される直線を示している。線L1と線L4との距離は、上述したr3(図10参照)である。従って、第1バー50が線L4上に表示される場合があることがわかる。
線L5は、X=X5で表される直線を示している。また、線L6は、X=X6で表される直線を示している。線L6が目標位置TA1,TB1,TC1を通っているので、目標位置TA1,TB1,TC1のX座標値が「X6」であることがわかる。また、辺43aのX座標値が「X6」であることもわかる。
また、図12に示すように、各レコードには、「A」フィールド、「B」フィールド、及び「C」フィールドが含まれる。各フィールドは、案内マーク48A,48B,48Cのいずれかに対応している。具体的には、「A」フィールドは、案内マーク48Aに対応している。また、「B」フィールドは、案内マーク48Bに対応している。また、「C」フィールドは、案内マーク48Cに対応している。
各フィールドには、Y座標値が対応づけられている。具体的には、「A」フィールドには、Y座標値「Y1」が対応づけられ、「B」フィールドには、Y座標値「Y2」が対応づけられ、「C」フィールドには、Y座標値「Y3」が対応づけられている。
線l1は、Y=Y1で表される直線を示している。同図に示すように、線l1が初期位置PA及び目標位置TA1を通っているので、初期位置PA及び目標位置TA1のY座標が「Y1」であることがわかる。また、線l2は、Y=Y2で表される直線を示している。同図に示すように、線l2が初期位置PB及び目標位置TB1を通っているので、初期位置PB及び目標位置TB1のY座標が「Y2」であることがわかる。また、線l3は、Y=Y3で表される直線を示している。同図に示すように、線l3が初期位置PC及び目標位置TC1を通っているので、初期位置PC及び目標位置TC1のY座標が「Y3」であることがわかる。
このような第1の部分タイミングデータによって、表示されるべき案内マーク48の種類がわかる。具体的には、「A」フィールドが「1」を表す場合、これは、「A」フィールドに対応する案内マーク48Aが表示されるべきことを示し、「A」フィールドが「0」を表す場合、これは、案内マーク48Aが表示されるべきでないことを示す。また、「B」フィールドが「1」を表す場合、これは、「B」フィールドに対応する案内マーク48Bが表示されるべきことを示し、「B」フィールドが「0」を表す場合、これは、案内マーク48Bが表示されるべきでないことを示す。また、「C」フィールドが「1」を表す場合、これは、「C」フィールドに対応する案内マーク48Cが表示されるべきことを示し、「C」フィールドが「0」を表す場合、これは、案内マーク48Cが表示されるべきでないことを示す。
また、第1のタイミングデータによって、案内マーク48A,48B,48Cが表示されるべき位置がわかる。すなわち、「A」フィールドが「1」を表すレコードの種類によって案内マーク48Aが表示されるべき位置がわかり、「B」フィールドが「1」を表すレコードの種類によって案内マーク48Bが表示されるべき位置がわかり、「C」フィールドが「1」を表すレコードの種類によって案内マーク48Cが表示されるべき位置がわかる。例えば、あるレコードRxの「A」フィールドが「1」を表す場合、これは、案内マーク48Aが、レコードRxに対応づけられたX座標値と、「A」フィールドに対応づけられたY座標値「Y1」と、で示される位置に表示されるべきことを示す。また、例えば、あるレコードRxの「B」フィールドが「1」を表す場合、これは、案内マーク48Bが、レコードRxに対応づけられたX座標値と、「B」フィールドに対応づけられたY座標値「Y2」と、で示される位置に表示されるべきことを示す。また、例えば、あるレコードRxの「C」フィールドが「1」を表す場合、これは、案内マーク48Cが、レコードRxに対応づけられたX座標値と、「C」フィールドに対応づけられたY座標値「Y3」と、で示される位置に表示されるべきことを示す。
例えば、図12によれば、レコードR4の「B」フィールドが「1」を表すので、案内マーク48Bが、レコードR4に対応づけられたX座標値「X4」と、「B」フィールドに対応づけられたY座標値「Y2」と、で示される位置(すなわち、線L4と線l2との交点)に表示されることとなる。
その後、制御部13は、楽曲の再生が終了するまでの間、S104のステップからS106のステップまでの3つのステップを、所定時間間隔で繰り返し実行する。
すなわち、制御部13は、S104のステップにおいて、第1プレイヤのゲーム操作及び第2プレイヤのゲーム操作を評価する(S104)。
例えば、第1プレイヤが行ったゲーム操作Aを制御部13が評価する場合を例に取り上げる。この場合、制御部13は、操作信号に基づいて第1プレイヤによりゲーム操作Aが行われたことを検出すると、基準タイミングデータにより示される、第1プレイヤがゲーム操作Aを行うべき基準タイミングと、第1プレイヤにより実際にゲーム操作Aが行われたタイミングと、のタイミング差ΔTを取得する。そして、制御部13は、タイミング差ΔTに基づいて、「GREAT」、「COOL」、及び「BAD」からなる3種類の評価のうちで、第1プレイヤのゲーム操作Aの評価を決定する。
評価の決定には、下記に説明する評価テーブルが用いられる。図13は、評価テーブルの一例を示す図である。同図に示すように、評価テーブルは、タイミング差ΔTに関する条件と、評価と、を対応付けて保持している。評価テーブルは、光ディスク26に記憶される。ここで、|ΔT|は、タイミング差ΔTの絶対値を示す。
制御部13は、タイミング差ΔTが満足する条件を特定し、当該条件に対応付けられた評価を、第1プレイヤが行ったゲーム操作Aの評価として決定することとなる。第1プレイヤが行ったゲーム操作B,Cや、第2プレイヤが行ったゲーム操作A,B,Cの各々の評価も、同様にして決定される。
そして、制御部13は、S105のステップにおいて、S104での評価結果に基づき、第1プレイヤの得点及び第2プレイヤの得点を更新する(S105)。具体的には、制御部13は、第1プレイヤの得点(図9参照)を更新する場合、第1プレイヤが得た評価に対応付けられた点数(図8参照)を第1プレイヤの得点に加算する。また、第2プレイヤの得点を更新する場合、第2プレイヤが得た評価に対応付けられた点数を第2プレイヤの得点に加算する。
そして、制御部13は、S106のステップにおいて、図14に示す処理を実行することにより、ゲーム画面40を更新する。
まず、制御部13は、第1の部分タイミングデータと第2の部分タイミングデータと、を更新する(S201)。
すなわち、制御部13は、まず、主記憶14に記憶される基準タイミングデータのうちから、フラグ「m」の値が示すレコード番号の次のレコード番号を有するレコードを読み出す。そして、制御部13は、基準タイミングデータのうちから読み出したレコードに基づいて第1の部分タイミングデータを更新する。
具体的には、制御部13は、上から6番目のレコードR6を削除するとともに、レコードR1〜R5の各々を一つ下に移動させる。そして、制御部13は、基準タイミングデータのうちから読み出したレコードを、上から1番目のレコードR1として、第1の部分タイミングデータに、追加する。
また、制御部13は、第1の部分タイミングデータと同様にして、第2の部分タイミングデータを更新する。
例えば、フラグ「m」の値が6に設定されている場合、基準タイミングデータ(図7参照)のうちからレコード番号「7」のレコードが読み出される。そのため、S201のステップが完了したときには、図15の左側に示すような第1の部分タイミングデータが主記憶14に記憶されていることになる。
なお、制御部13は、S201のステップの完了後、フラグ「m」の値を「1」だけインクリメントすることも行う。
第1の部分タイミングデータ及び第2の部分タイミングデータを更新すると、制御部13(案内制御手段)は、第1プレイヤが劣勢であるか否かを判定する(S202)。すなわち、制御部13は、第1プレイヤの得点が第2プレイヤの得点よりも少ないか否かを判定する(S202)。
第1プレイヤが劣勢である場合(S202のY)、制御部13(距離制御手段)は、第1バー50の位置を決定する(S203)。具体的には、制御部13は、第1プレイヤの得点と第2プレイヤの得点との差Δを算出する。そして、制御部13は、条件テーブル(図10参照)を参照して、上記差Δが満足する条件を特定し、第1バー50とセンターライン42との間の距離rが上記差Δが満足する条件に対応づけられた距離になるように、第1バー50のX座標値「Xb」を決定する。
その結果、距離rは、r1,r2,r3(図10参照)のいずれかになる。また、線L1(センターライン42)と線L2との距離がr1であること(図12参照)、線L1と線L3との距離がr2であること(図12参照)、及び線L1と線L4のとの距離がr3であること、を考慮すると、第1バー50のX座標値「Xb」は、「X1」、「X2」及び「X3」(図12参照)のうちのいずれかになる。
ちなみに、制御部13は、S203のステップにおいて、第2バー51の位置を決定することも行う。具体的には、制御部13は、第2バー51の位置をセンターライン42と同位置に決定する。
以下、レコードR1〜R6のうち、X座標値「Xb」と同じX座標値が対応付けられたレコードのことを、境界レコードと呼ぶ。例えば、「Xb」が「X3」である場合、X座標値「X3」に対応づけられたレコードR3が境界レコードとなる(図12参照)。
第1バー50のX座標値「Xb」を決定した後、制御部13は、案内マーク48を通常の移動態様とは異なる移動態様で移動させるために、第1の部分タイミングデータを更新し(S204)、S205のステップへと進む。S204のステップでは図16に示す処理が実行される。
すなわち、制御部13(第1−2案内手段)は、最初のレコードR1を更新する(S301)。
S301のステップでは、制御部13は、最初のレコードR1の「A」、「B」、「C」フィールドのいずれかが「1」を表し、残りのフィールドの値が「0」である場合、「A」、「B」、「C」フィールドのいずれかを「1」から「3」に更新するとともに、残りのフィールドのいずれか一方を「0」から「2」に更新する。
例えば、境界レコードがR3である場合を想定する。この場合において、S301のステップが実行される直前の第1の部分タイミングデータの内容が、図15の左側に示すような内容である場合、S301のステップが実行された結果、例えばレコードR1の「A」フィールドが「1」から「3に更新され且つ「B」フィールドが「0」から「2」に更新される。その結果、第1の部分タイミングデータの内容は、例えば、図17Aの左側に示すようになる。
図17Aでは、レコードR1の「A」フィールドが「1」から「3」に変更されており、且つ、「B」フィールドが「0」から「2」に変更されている。これは、「A」フィールドに対応する案内マーク48Aが、「B」フィールドに対応づけられたY座標値「Y2」とレコードR1に対応づけられたX座標値「X1」とで示される初期位置PBに表示されることを示す。つまり、ゲーム操作Aを行うべき基準タイミングを案内する案内マーク48Aが、ゲーム操作Bを行うべき基準タイミングを案内する案内マーク48Bに対応する初期位置PBに表示されることを示す。
S301のステップの後、制御部13(第1−2案内手段)は、境界レコードの次のレコード、すなわち、境界レコードの一つ下のレコードを更新する(S302)。例えば、「Xb」が「X3」(図17A参照)である場合、境界レコードがレコードR3となるので、境界レコードの次のレコードは、レコードR4となる。
S302のステップでは、境界レコードの次のレコードの「A」、「B」、「C」フィールドのいずれかが「2」を表し且つ他のいずれかのフィールドが「3」を表す場合、「A」、「B」、「C」フィールドのいずれかを「3」から「1」に更新するとともに、残りのフィールドのいずれか一方を「2」から「0」に更新する。
例えば、境界レコードがレコードR3である場合を想定する。この場合において、S302のステップが実行される直前の第1の部分タイミングデータの内容が、図18に示すような内容である場合、S302のステップが実行される結果、レコードR4が更新される。すなわち、「A」フィールドが「3」から「1」に更新され、且つ、「B」フィールドが「2」から「0」に更新される。その結果、第1の部分タイミングデータの内容が、図19の左側に示すような内容になる。
図19では、レコードR4の「A」フィールドが「3」から「1」に変更されており、且つ、レコードR4の「B」フィールドが「2」から「0」に変更されている。これによって、「A」フィールドに対応する案内マーク48Aが、レコードR4に対応づけられたX座標値「X4」と「A」フィールドに対応づけられたY座標値「Y1」とで示される位置MA2(第1途中位置)に表示されることを示す。つまり、ゲーム操作Aを行うべき基準タイミングを案内する案内マーク48Aが、初期位置PAと基準マーク46A(目標位置TA1)とを結ぶ経路上に表示されることを示す。
次に、第1プレイヤが優勢である場合について説明する。
第1プレイヤが優勢である場合(S202のN)、制御部13は、S203のステップと同様にして、第2バー51の位置を決定する(S206)。また、制御部13は、第1バー50の位置をセンターライン42と同位置に決定することも行う。
そして、制御部13は、S204のステップと同様にして、第2の部分タイミングデータを更新する(S207)。
そして、制御部13は、S205のステップに進む。
S205のステップでは、制御部13は、第1の部分タイミングデータに基づいて第1案内領域44の画像を生成し、表示部16に表示させる。また、制御部13は、第2の部分タイミングデータに基づいて第2案内領域45の画像を生成し、表示部16に表示させる。こうして、制御部13は、ゲーム画面40を表示部16に表示させる(S205)。
例えば、制御部13(第1−1案内手段、第1−2案内手段)は、第1の部分タイミングデータのうちに、「A」フィールドが「1」を表すレコードがある場合、案内マーク48Aを、当該レコードに対応づけられたX座標値と、「A」フィールドに対応づけられたY座標値「Y1」と、で表される位置に、表示する。また、例えば、制御部13(第1−2案内手段)は、第1の部分タイミングデータのうちに、「A」フィールドが「3」を表し且つ「B」フィールドが「2」を表すレコードがある場合、案内マーク48Aを、当該レコードに対応づけられたX座標値と、「B」フィールドに対応づけられたY座標値「Y2」と、で表される位置に、表示する。
ここで、第1プレイヤが優勢である場合のゲーム画面40について検討する。ここでは、一例として、S201のステップが実行された結果、図15に示すような第1の部分タイミングデータが主記憶14に記憶されている場合を例に採り上げる。なお、以下、図15において太枠で囲われたレコードのことを注目レコードと呼ぶ。
図14に示すように、第1プレイヤが優勢である場合(S202のN)、第1の部分タイミングデータは、S204のステップで更新されることはない。そのため、注目レコードは、図16に示す処理が実行されるごとに、そのまま下に移動していくこととなる。
同図に示すように、注目レコードの「A」フィールドは「1」である。
従って、案内マーク48Aは、図15の右側に示すようにX座標値「X1」とY座標値「Y1」とで示される初期位置PAに表示された後、目標位置TA1に向かって移動することとなる。なお、図15では、基準マーク46を省略している。
一方、第1プレイヤが劣勢である場合のゲーム画面40について検討する。ここでも、S201のステップが実行された結果、図15に示すような第1の部分タイミングデータが主記憶14に記憶されている場合を例に採り上げる。なお、境界レコードはレコードR3であるものとする。
この場合、最初のレコードR1がS301のステップで更新される。そのため、S301のステップで例えば注目レコードの「A」フィールドと「B」フィールドとが更新されて、S205のステップが実行される直前の第1の部分タイミングデータの内容が、図17Aの左側に示すようになる。その結果、S205のステップにおいて、図17Aの右側に示すように、案内マーク48Aが、最初のレコードR1(注目レコード)に対応づけられたX座標値「X1」と、「B」フィールドに対応づけられたY座標値「Y2」と、で表される初期位置PBに表示されることになる。図17Aでは、基準マーク46を省略している。
その後、注目レコードは、注目レコードが境界レコードとなるまでの間、そのまま下に移動していくこととなる。つまり、案内マーク48Aは、第1バー50に到達するまで、目標位置TB1に向かって移動していくこととなる。図17Bは、注目レコードが境界レコード(すなわち、レコードR3)となったときの第1の部分タイミングデータと第1案内領域44の画像とを示す。同図に示すように、案内マーク48Aが、レコードR3に対応づけられたX座標値「X3」と、「B」フィールドに対応づけられたY座標値「Y2」と、で表される途中位置MB1に表示されている。なお、図17Bでは、基準マーク46を省略している。
図18に示すように注目レコードが境界レコードの次のレコード(すなわち、レコードR4)になると、S302のステップで注目レコードが更新されて、S205のステップが実行される直前の第1の部分タイミングデータの内容が、図19の左側に示すようになる。その結果、S205のステップにおいて、図19の右側に示すように、案内マーク48Aが、レコードR4に対応づけられたX座標値「X4」と、「A」フィールドに対応づけられたY座標値「Y1」と、で表される位置MA2(第1途中位置)に表示されることになる。なお、図19では、基準マーク46を省略している。
その後、注目レコードは、そのまま下に移動していくこととなる。つまり、位置MA2に表示された案内マーク48Aは、目標位置TA1に向かって移動していくこととなる。
ゲーム画面を更新すると、制御部13は、楽曲の再生が完了したか否かを判定する(S107)。楽曲の再生が終了していない場合(S107のN)、制御部13は、S104以降のステップを再度実行する。
一方、楽曲の再生が終了した場合(S107のY)、制御部13は、ゲーム結果を出力する。例えば、第1プレイヤの得点と、第2プレイヤの得点と、を表示部16に表示させる。
[5.まとめ]
以上説明したゲームシステム10では、第1プレイヤに与えられた評価と第2プレイヤに与えられた評価とのうちの少なくとも一方に基づいて、第1プレイヤにとってのゲームの難易度が変化するようになる。例えば、ゲームシステム10では、第1プレイヤが優勢である場合は、案内マーク48Aが初期位置PAから目標位置TA1に向かって移動し、第1プレイヤの得点が劣勢である場合は、案内マーク48Aが初期位置PBから目標位置TB1に向かって一時的に移動した後、目標位置TA1に向かって移動する。
この場合、案内マーク48Aが初期位置PBから目標位置TB1に向かって一時的に移動するため、本来はゲーム操作Aを行うべき基準タイミングを案内するはずの案内マーク48Aが、あたかも、ゲーム操作Bを行うべき基準タイミングを案内するかのように振る舞うことになる。その結果、第1プレイヤにとってのゲームの難易度が上昇する。ゲームシステム10によれば、ゲーム音楽に合わせてゲーム操作を行うゲームを第1プレイヤ及び第2プレイヤがプレイする場合の興趣を向上させることが可能になる。
また、ゲームシステム10では、第1プレイヤに与えられた評価と第2プレイヤに与えられた評価とのうちの少なくとも一方に基づいて、センターラインと第1バー50との間の距離rが変化する。このため、例えば、案内マーク48Aが初期位置PBから目標位置TB1に向かって一時的に移動した後、目標位置TA1に向かって移動するような場合における「案内マーク48Aが初期位置PBから目標位置TB1に向かって一時的に移動する際の移動距離」が、第1プレイヤに与えられた評価と第2プレイヤに与えられた評価とのうちの少なくとも一方に基づいて変化するようになる。
この場合、例えば第1プレイヤがどの程度劣勢であるかによって、案内マーク48Aがゲーム操作Bを行うべき基準タイミングを案内するかのように振る舞う時間が変化するようになる。その結果、第1プレイヤがどの程度劣勢であるかによって、第1プレイヤにとってのゲームの難易度が上昇する度合いが変化する。この点からも、第1プレイヤにとってのゲームの難易度が変化するようになり、ゲーム音楽に合わせてゲーム操作を行うゲームを第1プレイヤ及び第2プレイヤがプレイする場合のゲームの興趣を向上させることが可能になる。
なお、本発明は以上に説明した実施の形態に限定されるものではない。
[6.変形例]
例えば、第1プレイヤが劣勢である場合に、基準タイミングデータによって示されるゲーム操作A,B,Cを行うべき基準タイミングとは別に、ゲーム操作A,B,Cを行うべき基準タイミングが新たに追加されて第1プレイヤに案内されるようにしてもよい。以下、この態様(以下、変形例1及び変形例2)について説明する。
[6−1.変形例1]
(1)図20は、変形例1において、第1プレイヤが劣勢である場合のゲーム画面40を示す図である。同図に示すように、変形例1では、第1案内領域44に、案内マーク48だけでなく、追加案内マーク60A,60B,60Cが表示される。追加案内マーク60A,60B,60Cは、それぞれ、基準マーク46A,46B,46Cの上方に表示される。ここでは、追加案内マーク60A,60B,60Cとして同じマークが用いられる。
追加案内マーク60Aは、「基準タイミングデータにより示される第1プレイヤがゲーム操作Aを行うべき基準タイミング」とは別に新たに追加された「第1プレイヤがゲーム操作Aを行うべき基準タイミング」(以下、「第1プレイヤがゲーム操作Aを行うべき追加基準タイミング」と記載する)、を第1プレイヤに案内するための画像である。
同様に、追加案内マーク60Bは、「基準タイミングデータにより示される第1プレイヤがゲーム操作Bを行うべき基準タイミング」とは別に新たに追加された「第1プレイヤがゲーム操作Bを行うべき基準タイミング」(以下、「第1プレイヤがゲーム操作Bを行うべき追加基準タイミング」と記載する)、を第1プレイヤに案内するための画像である。
また、追加案内マーク60Cは、「基準タイミングデータにより示される第1プレイヤがゲーム操作Cを行うべき基準タイミング」とは別に新たに追加された「第1プレイヤがゲーム操作Cを行うべき基準タイミング」(以下、「第1プレイヤがゲーム操作Cを行うべき追加基準タイミング」と記載する)、を第1プレイヤに案内するための画像である。
以下では、追加案内マーク60A,60B,60Cを総称して追加案内マーク60と記載する場合がある。
追加案内マーク60Aは、基準マーク46Aに対応する。追加案内マーク60Aは、初期位置PAと途中位置MA1との間の位置、又は途中位置MA1自身に表示された後、時間経過に伴って下方に徐々に移動して、基準マーク46Aに接近する。追加案内マーク60Aは、第1プレイヤがゲーム操作Aを行うべき追加基準タイミングにて基準マーク46Aに重なる。
追加案内マーク60Bは、基準マーク46Bに対応する。追加案内マーク60Bは、初期位置PBと途中位置MB1との間の位置、又は途中位置MB1自身に表示された後、時間経過に伴って下方に徐々に移動して、基準マーク46Bに接近する。追加案内マーク60Bは、第1プレイヤがゲーム操作Bを行うべき追加基準タイミングにて基準マーク46Bに重なる。
追加案内マーク60Cは、基準マーク46Cに対応する。追加案内マーク60Cは、初期位置PCと途中位置MC1との間の位置、又は途中位置MC1自身に表示された後、時間経過に伴って下方に徐々に移動して、基準マーク46Cに接近する。追加案内マーク60Cは、第1プレイヤがゲーム操作Cを行うべき追加基準タイミングにて基準マーク46Cに重なる。
第1プレイヤは基準マーク46A,46B,46Cに接近する追加案内マーク60A,60B,60Cを頼りに、ゲーム操作A〜ゲーム操作Cを行うべき追加基準タイミングを把握する。
なお、第2プレイヤが劣勢である場合には、基準タイミングデータによって示されるゲーム操作A,B,Cを行うべき基準タイミングとは別に、ゲーム操作A,B,Cを行うべき基準タイミングが新たに追加されて第2プレイヤに案内されるようにしてもよい。この場合、第2案内領域45に、案内マーク48だけでなく、追加案内マーク60A,60B,60Cが表示されることになる。
この場合、追加案内マーク60Aは、「基準タイミングデータにより示される第2プレイヤがゲーム操作Aを行うべき基準タイミング」とは別に新たに追加された「第2プレイヤがゲーム操作Aを行うべき基準タイミング」を案内する。追加案内マーク60Aは、第2案内領域45において、初期位置PCと第2バー51との間の位置、又は第2バー51上の位置に表示された後、時間経過に伴って上方に徐々に移動して、基準マーク46Aに接近する。
また、追加案内マーク60Bは、「基準タイミングデータにより示される第2プレイヤがゲーム操作Bを行うべき基準タイミング」とは別に新たに追加された「第2プレイヤがゲーム操作Bを行うべき基準タイミング」を案内する。追加案内マーク60Bは、第2案内領域45において、初期位置PBと第2バー51との間の位置、又は第2バー51上の位置に表示された後、時間経過に伴って上方に徐々に移動して、基準マーク46Bに接近する。
また、追加案内マーク60Cは、「基準タイミングデータにより示される第2プレイヤがゲーム操作Cを行うべき基準タイミング」とは別に新たに追加された「第2プレイヤがゲーム操作Cを行うべき基準タイミング」を案内する。追加案内マーク60Cは、初期位置PCと第2バー51との間の位置、又は第2バー51上の位置に表示された後、時間経過に伴って上方に徐々に移動して、基準マーク46Cに接近する。
(2)図21は、変形例1において、第1案内部80に含まれる機能群を示す図である。同図に示すように、第1案内部80は、第1−1案内部80a、第1−2案内部80b、案内制御部80c、及び距離制御部80dの他に、さらに追加部80eを含む。第1−1案内部80a、第1−2案内部80b、案内制御部80c、及び距離制御部80dの各々の機能については図6と同様であるため、説明を省略する。ここでは、追加部80eについてのみ説明する。
追加部80eは、第1評価部76(図6参照)の評価結果と第2評価部78(図6参照)の評価結果とのうちの少なくとも一方に基づく情報が所定条件を満足する場合に、「基準タイミングデータにより示される第1−1ゲーム操作を行うべき第1基準タイミング」とは別に、第1−1ゲーム操作を行うべき第1基準タイミングを新たに追加して案内する。ここにおいて、追加部80eは、第1初期位置と、第1初期位置と第1目標位置との間の第1途中位置と、の間の距離に応じた確率で、第1初期位置と、第1途中位置と、の間に追加案内画像を表示するとともに、第1初期位置と第1途中位置との間に表示した追加案内画像を、第1目標位置に向けて移動させることによって、第1−1ゲーム操作を行うべき第1基準タイミングを新たに追加して案内する。
ここで、第1プレイヤの得点から第2プレイヤの得点を引いた値(差Δ)が、「第1評価部76の評価結果と第2評価部78の評価結果とのうちの少なくとも一方に基づく情報」に相当する。そして、上記差Δが0より小さい場合、すなわち、第1プレイヤが劣勢である場合が、「第1評価部76の評価結果と第2評価部78の評価結果とのうちの少なくとも一方に基づく情報が所定条件を満足する場合」に相当する。
また、ゲーム操作A〜ゲーム操作Cの各々が、「第1−1ゲーム操作」に相当し得る。以下、ゲーム操作Aが「第1−1ゲーム操作」に相当するものとして説明を続ける。
ゲーム操作Aが「第1−1ゲーム操作」に相当する場合、初期位置PAが「第1初期位置」に相当し、目標位置TA1が「第1目標位置」に相当する。また、追加案内マーク60Aが「追加案内画像」に相当する。さらに、第1プレイヤがゲーム操作A(第1−1ゲーム操作)を行うべき追加基準タイミングが、新たに追加される「ゲーム操作Aを行うべき第1基準タイミング」に相当する。
なお、追加部80eの機能の詳細については後述する(後述の図22参照)。
(3)次に、変形例1において制御部13が実行する処理について説明する。変形例1においても、制御部13は、図11に示す処理と同様の処理を行う。
但し、制御部13は、S104のステップにおいて、例えば第1プレイヤが行ったゲーム操作Aを評価する場合、ゲーム操作Aを行うべき追加基準タイミングと第1プレイヤがゲーム操作Aを行ったタイミングとのタイミング差も、上述したタイミング差ΔTとして取得する。
また、制御部13は、第1プレイヤが劣勢である場合(S202のY)に、S204のステップにおいて、図16に示す処理ではなく、図22に示す処理を実行する。
すなわち、制御部13は、S401のステップにおいて、図16のS301のステップと同様の処理を実行する。また、S402のステップにおいて、図16のS302のステップと同様の処理を実行する。
ただし、変形例1では、制御部13が、S402のステップの後、第1プレイヤがゲーム操作A〜Cを行うべき追加基準タイミングを追加するために、さらにS403のステップも実行する。
すなわち、制御部13(追加手段)は、S403のステップにおいて、最初のレコードR1と、境界レコードの次のレコードと、の間のレコード(以下、更新対象レコードと呼ぶ)を、乱数に基づいて、更新する(S403)。S302のステップでは、更新対象レコードの「A」、「B」、「C」フィールドのうちの、「0」を表すフィールドの一つ一つを、乱数に基づき所定の確率で「4」に更新する。
例えば、境界レコードがレコードR3である場合(境界レコードの次のレコードがR4である場合)を想定する。この場合、レコードR2,R3が更新対象レコードとなる。この場合において、S403のステップが実行される直前の第1の部分タイミングデータの内容が、図15に示すような内容である場合、S303のステップが実行される結果、例えば、レコードR2のすべてのフィールドが「0」から「4」に更新される。その結果、第1の部分タイミングデータの内容が、図23の左側に示すような内容になる。
ここで、各フィールドは、追加案内マーク60A,60B,60Cのいずれかに対応している。具体的には、「A」フィールドは、追加案内マーク60Aに対応している。また、「B」フィールドは、追加案内マーク60Bに対応している。また、「C」フィールドは、追加案内マーク60Cに対応している。
第1の部分タイミングデータによって、表示されるべき追加案内マーク60の種類がわかる。具体的には、「A」フィールドが「4」を表す場合、これは、「A」フィールドに対応する追加案内マーク60Aが表示されるべきことを示す。また、「B」フィールドが「4」を表す場合、これは、「B」フィールドに対応する追加案内マーク60Bが表示されるべきことを示す。また、「C」フィールドが「4」を表す場合、これは、「C」フィールドに対応する追加案内マーク60Cが表示されるべきことを示す。
また、第1の部分タイミングデータによって、追加案内マーク60A,60B,60Cが表示されるべき位置がわかる。すなわち、「A」フィールドが「4」を表すレコードの種類によって追加案内マーク60Aが表示されるべき位置がわかり、「B」フィールドが「4」を表すレコードの種類によって追加案内マーク60Bが表示されるべき位置がわかり、「C」フィールドが「4」を表すレコードの種類によって追加案内マーク60Cが表示されるべき位置がわかる。例えば、あるレコードRxの「A」フィールドが「4」を表す場合、これは、追加案内マーク60Aが、「A」フィールドに対応づけられたY座標値「Y1」と、レコードRxに対応づけられたX座標値と、で示される位置に表示されるべきことを示す。また、例えば、あるレコードRxの「B」フィールドが「4」を表す場合、これは、追加案内マーク60Bが、「B」フィールドに対応づけられたY座標値「Y2」と、レコードRxに対応づけられたX座標値と、で示される位置に表示されるべきことを示す。また、例えば、あるレコードRxの「C」フィールドが「4」を表す場合、これは、追加案内マーク60Cが、「C」フィールドに対応づけられたY座標値「Y3」と、レコードRxに対応づけられたX座標値と、で示される位置に表示されるべきことを示す。
図23によれば、レコードR2の「A」フィールドが「4」を示す。従って、図23の右側に示すように、追加案内マーク60Aが、レコードR2に対応づけられたX座標値「X2」と、「A」フィールドに対応づけられたY座標値「Y1」とで表される位置に、表示されることとなる。
また、図23によれば、レコードR2の「B」フィールドが「4」を示す。従って、図23の右側に示すように、追加案内マーク60Bが、X座標値「X2」と、Y座標値「Y2」とで表される位置に、表示されることとなる。また、図23によれば、レコードR2の「C」フィールドが「4」を示す。従って、図23の右側に示すように、追加案内マーク60Cが、X座標値「X2」と、Y座標値「Y3」とで表される位置に、表示されることとなる。なお、図23では、基準マーク46を省略している。
その後、制御部13は、図14で説明したようにして、ゲーム画面40を表示部16に表示させる(S205)。なお、変形例1では、制御部13は、第1の部分タイミングデータのうちに、「A」、「B」、「C」フィールドの少なくとも一つが「4」を表すレコードがある場合、追加案内マーク60を表示部16に表示させる。例えば、制御部13(追加手段)は、「A」フィールドが「4」を表すレコードがある場合、追加案内マーク60A(追加案内画像)を表示させる。
ところで、上述のように、S403のステップでは、最初のレコードR1と、境界レコードの次のレコードと、の間の更新対象レコードが更新される。従って、例えば、更新対象レコードの「A」フィールドが「0」から「4」に更新されたときに表示される追加案内マーク60A(案内画像)は、必ず、初期位置PA(第1初期位置)と、境界レコードの次のレコードの「A」フィールドに対応する位置MA2(第1途中位置)と、の間に表示される。同様に、更新対象レコードの「B」フィールドが「0」から「4」に更新されたときに表示される追加案内マーク60B(案内画像)は、必ず、初期位置PB(第1初期位置)と、境界レコードの次のレコードの「B」フィールドに対応する位置MB2(第1途中位置)と、の間に表示される。また、更新対象レコードの「C」フィールドが「0」から「4」に更新されたときに表示される追加案内マーク60C(案内画像)は、必ず、初期位置PC(第1初期位置)と、境界レコードの次のレコードの「C」フィールドに対応する位置MC2(第1途中位置)と、の間に表示される。
例えば、図23に示すように、境界レコード(レコードR3)の次のレコードがレコードR4である場合、レコードR4の「A」フィールドに対応する位置が位置MA2となり、レコードR4の「B」フィールドに対応する位置が位置MB2となり、レコードR4の「C」フィールドに対応する位置が位置MC2となる。
ここで、変形例1における、第1プレイヤが劣勢である場合のゲーム画面40について検討する。ここでも、一例として、S201のステップが実行された結果、図15に示すような第1の部分タイミングデータが主記憶14に記憶されている場合を例に採り上げる。ここでは、更新対象レコードがレコードR2,R3であり、境界レコードの次のレコードがレコードR4である場合を想定する。なお、以下、図15において「A」フィールド、「B」フィールド、及び「C」フィールドがすべて「0」を表すレコードR2のことを注目レコードと呼ぶ。
この場合、注目レコードが更新対象レコードに該当する間、S403のステップにおいて、注目レコードの更新が試みられる。すなわち、注目レコードがレコードR2であるとき、及び注目レコードがレコードR3であるときに実行されるS403のステップにて、注目レコードの更新が試みられる。その結果、例えば注目レコードがレコードR2であるときに図23の左側に示すよう更新された場合、注目レコードは、その後図16に示す処理が実行されるごとに、そのまま下に移動していくこととなる。なお、図23では、太枠で囲まれたレコードが注目レコードを示している。
図23に示すように、注目レコードの「A」フィールド、「B」フィールド、及び「C」フィールドは、すべて「4」を表す。従って、追加案内マーク60A(追加案内画像)は、図23に右側に示すように、X座標値「X2」と、Y座標値「Y1」と、で表される位置に表示された後、目標位置TA1(第1目標位置)に向かって移動することとなる。同様に、追加案内マーク60Bは、図23に右側に示すように、X座標値「X2」と、Y座標値「Y2」と、で表される位置に表示された後、目標位置TB1に向かって移動することとなる。同様に、追加案内マーク60Cは、図23に右側に示すように、X座標値「X2」と、Y座標値「Y3」と、で表される位置に表示された後、目標位置TC1(第に向かって移動することとなる。
ここで、例えば注目レコードの「A」フィールドに着目する。上述のように、注目レコードは、注目レコードが更新対象レコードに該当する間、S403のステップにおいて、その更新が試みられる。具体的には、注目レコードの更新の試みは、更新対象レコードの数と同じ回数行われる。そのため、注目レコードの「A」フィールドが「0」から「4」に変更される確率、すなわち、ゲーム操作Aを第1プレイヤが行うべき追加基準タイミングが追加される確率は、注目レコードの更新が試みられる回数、すなわち更新対象レコードの数に応じた確率となる。
上述のように、第1バー50のX座標値に対応づけられた境界レコードの次のレコードと、最初のレコードと、の間のレコードが更新対象レコードとなる。そのため、更新対象レコードの数は、初期位置PB(第2初期位置)と第1バー50上の途中位置MB1(第2途中位置)との間の距離(第2距離)であり、初期位置PC(第2初期位置)と第1バー50上の途中位置MC1(第2途中位置)との間の距離(第2距離)でもある距離rによって変化する。また、更新対象レコードの数は、距離rに応じて変化する「初期位置PA(第1初期位置)と位置MA2(第1途中位置)との間の距離」(第1距離)によっても変化する。
してみると、「初期位置PAと位置MA2との距離」に応じて更新対象レコードの数が変化するのだから、注目レコードの「A」フィールドは、注目レコードが更新対象レコードに該当する間に行われるS403のステップによって、結果的に、「初期位置PAと位置MA2との距離」に応じた確率で「4」に変更されることになる。つまり、制御部13(追加手段)は、S403のステップの処理を実行することにより、結果的に、「初期位置PAと位置MA2との間の距離」に応じた確率で、ゲーム操作Aを第1プレイヤが行うべき追加基準タイミングを追加することになる。同様に、制御部13は、S403のステップの処理を実行することにより、「初期位置PBと位置MB2と間の距離」に応じた確率で、ゲーム操作Bを第1プレイヤが行うべき追加基準タイミングを追加したり、「初期位置PCと位置MC2との間の距離」に応じた確率で、ゲーム操作Cを第1プレイヤが行うべき追加基準タイミングを追加したりすることになる。
以上のように、変形例1では、例えば第1プレイヤが劣勢である場合に、基準タイミングデータにより示される第1プレイヤがゲーム操作A〜Cを行うべき基準タイミングとは別に、「第1プレイヤがゲーム操作A〜Cを行うべき基準タイミング」が新たに追加して案内される。
ここにおいて、変形例1では、上述したように、「第1プレイヤがゲーム操作Aを行うべき基準タイミング」が、「初期位置PAと位置MA2との間の距離」に応じた確率で追加される。また、「第1プレイヤがゲーム操作Bを行うべき基準タイミング」が、「初期位置PBと位置MB2との間の距離」に応じた確率で追加される。「第1プレイヤがゲーム操作Cを行うべき基準タイミング」が、「初期位置PCと位置MC2との間の距離」に応じた確率で追加される。上述したように、距離rは、第1プレイヤと第2プレイヤとの得点差に応じて変化する。従って、これら3つの距離も、第1プレイヤと第2プレイヤとの得点差に応じて変化する。このため、結果的に、「第1プレイヤがゲーム操作A〜Cを行うべき基準タイミング」が、第1プレイヤと第2プレイヤとの得点差に応じた確率で追加されて案内されるようになる。「第1プレイヤがゲーム操作A〜Cを行うべき基準タイミング」が新たに追加されると、第1プレイヤにとってのゲームの難易度は上昇する。このように、変形例1によれば、第1プレイヤにとってのゲームの難易度が変化するようになり、ゲーム音楽に合わせてゲーム操作を行うゲームを第1プレイヤ及び第2プレイヤがプレイする場合のゲームの興趣を向上させることが可能になる。
なお、変形例1では、第1プレイヤが優勢である場合に、基準タイミングデータにより示される第1プレイヤがゲーム操作A〜Cを行うべき基準タイミングとは別に、「第1プレイヤがゲーム操作A〜Cを行うべき基準タイミング」が新たに追加して案内されるようにしてもよい。同様に、第2プレイヤが優勢である場合に、基準タイミングデータにより示される第2プレイヤがゲーム操作A〜Cを行うべき基準タイミングとは別に、「第2プレイヤがゲーム操作A〜Cを行うべき基準タイミング」が新たに追加して案内されるようにしてもよい。
[6−2.変形例2]
次に、変形例2について説明する。
(1)図24及び図25は、変形例2において、第1プレイヤが劣勢である場合における第1案内領域44の画像を示す図である。図25は、図24に示す画像が表示された後の第1案内領域44の画像を示している。
図24に示すように、変形例2においても、ゲーム操作を行うべき追加基準タイミングが追加される、なお、以下では、ゲーム操作Aを行うべき追加基準タイミングが追加される場合を例として説明する。この場合、変形例1で説明した追加案内マーク60Aが表示される。
但し、変形例2では、図24に示すように、変形例1とは異なり、他のゲーム操作B,Cに対応する初期位置及び途中位置(ここでは初期位置PB及び途中位置MB1とする。)の間に追加案内マーク60Aが表示される。
さらに、図25に示すように、変形例2では、初期位置PBと途中位置MB1との間に表示された追加案内マーク60Aが、途中位置MB1まで移動した後、途中位置MA1と目標位置TA1との間の位置MA2から基準マーク46Aに向かって移動していく。そして、追加案内マーク60Aは、第1プレイヤがゲーム操作Aを行うべき追加基準タイミングにて、基準マーク46Aに重なる。
このように、変形例2では、追加案内マーク60Aの移動態様が、変形例1とは異なっている。以下、この点について説明する。
(2)変形例2においても、ゲームシステム10において変形例1と同様の機能群(図21参照)が第1−1案内部80に含まれる。但し、変形例2では、追加部80eの機能が、変形例1とは異なる。このため、以下では追加部80eの機能について説明する。
すなわち、変形例2における追加部80eは、例えば第1プレイヤがゲーム操作A(第1−1ゲーム操作)を行うべき追加基準タイミングを案内する追加案内マーク60A(追加案内画像)を、初期位置PA(第1初期位置)と位置MA2(第1途中位置)との間ではなく、初期位置PB(第2初期位置)と途中位置MB1(第2途中位置)との間や、初期位置PC(第2初期位置)と途中位置MC1(第2途中位置)との間に表示させる。そのため、変形例2では、追加案内画像が発生する位置が、変形例1とは異なる。
また、変形例2における追加部80eは、例えば第1プレイヤがゲーム操作A(第1−1ゲーム操作)を行うべき追加基準タイミングを案内する追加案内マーク60A(追加案内画像)を、初期位置PB(第2初期位置)と途中位置MB1(第2途中位置)との間に表示した場合、追加案内マーク60A(追加案内画像)を、目標位置TB1(第2目標位置)に向けて途中位置MB1(第2途中位置)まで移動させた後、目標位置TA1に向けて移動させる。そのため、変形例2では、追加案内画像の移動のさせ方が変形例1と異なる。
なお、変形例2における追加部80eは、例えば第1プレイヤがゲーム操作Aを行うべき追加基準タイミングを案内する追加案内マーク60A(追加案内画像)を、初期位置PA(第1初期位置)と位置MA2(第1途中位置)との間の距離に応じた確率ではなく、初期位置PB(第2初期位置)と途中位置MB1(第2途中位置)との間の距離に応じた確率や、初期位置PCと途中位置MC1との間の距離に応じた確率で表示させることになる。このため、変形例2では、追加案内マーク60Aを表示させる基礎となる確率も、変形例1とは異なる。
なお、変形例2における追加部80eの機能の詳細については後述する(後述の図26参照)。
(3)次に、変形例2において制御部13が実行する処理について説明する。変形例2においても、制御部13は、図11に示す処理と同様の処理を行う。
但し、制御部13は、変形例1と同様に、S104のステップにおいて、例えば第1プレイヤが行ったゲーム操作Aを評価する場合、ゲーム操作Aを行うべき追加基準タイミングと第1プレイヤがゲーム操作Aを行ったタイミングとのタイミング差も、上述したタイミング差ΔTとして取得する。
また、制御部13は、第1プレイヤが劣勢である場合(S202のY)に、S204のステップにおいて、図16に示す処理ではなく、図26に示す処理を実行する。
すなわち、制御部13は、S501のステップにおいて、図16のS301のステップと同様の処理を実行する。また、S502のステップにおいて、図16のS302のステップと同様の処理を実行する。
ただし、変形例2では、S502のステップの後、制御部13は、例えば、第1プレイヤがゲーム操作Aを行うべき追加基準タイミングを追加するために、さらにS503のステップを実行する。また、制御部13は、第1プレイヤがゲーム操作Aを行うべき追加基準タイミングを案内するための追加案内マーク60Aを、初期位置PBと途中位置MB1との間、又は初期位置PCと途中位置MC1との間に表示させるためにも、S503のステップを実行する。
すなわち、制御部13(追加手段)は、S503のステップにおいて、最初のレコードR1と境界レコードとの間のレコード(以下、更新対象レコードと記載する)を、乱数に基づいて更新する(S503)。S503のステップでは、「A」フィールド、「B」フィールド、及び「C」フィールドのうちの複数のフィールドが「0」を表す更新対象レコードを、乱数に基づいて更新する。
具体的には、制御部13は、「0」を表すフィールドの一つ一つを、乱数に基づき、所定の確率で「0」から「5」に更新する。そして、いずれかのフィールドが「0」から「5」に更新された場合、制御部13は、「0」を表す残りのフィールドの何れかを「0」から「6」に更新する。
例えば、S503のステップの直前における第1の部分タイミングデータの内容が、図15に示すような内容である場合、S503のステップが実行された結果、例えば、レコードR2の「A」フィールドが「0」から「5」に更新され、レコードR2の「B」フィールドが「0」から「6」に更新される。その結果、第1の部分タイミングデータの内容が、例えば、図27Aの左側に示すようになる。
図27Aでは、「A」フィールドが「0」から「5」に変更されており、且つ、「B」フィールドが「0」から「6」に変更されている。ここで、値「5」は図17Aに示す第1の部分タイミングデータにおける「3」と類似の意味を有し、値「6」は図17Aに示す第1の部分タイミングデータにおける「2」と類似の意味を有する。すなわち、この場合、ゲーム操作Aを行うべき追加基準タイミングを案内する追加案内マーク60Aが、X座標値「X2」と、Y座標値「Y2」と、で表される位置に表示されることを示す。すなわち、図27Aの右側に示すように、追加案内マーク60Aが、ゲーム操作Bに対応する初期位置PB及び途中位置MB1の間に表示されることを示す。
また、S503のステップの後、制御部13(追加手段)は、例えば、ゲーム操作Bに対応する初期位置PB及び途中位置MB1の間に表示された追加案内マーク60Aが途中位置MB1に到達した場合に当該追加案内マーク60Aがゲーム操作Aに対応する初期位置PAと目標位置TA1との間に表示されるよう、境界レコードの次のレコードを更新する(S504)。例えば、「Xb」が「X3」である場合、境界レコードがレコードR3になるので、境界レコードの次のレコードは、レコードR4となる。
S504のステップでは、境界レコードの次のレコードの「A」フィールド、「B」フィールド、「C」フィールドのいずれかが「5」を表し、他のいずれかのフィールドが「6」を表す場合、「A」フィールド、「B」フィールド、「C」フィールドのいずれかを「5」から「4」に更新するとともに、残りのフィールドのいずか一方を「6」から「0」に更新する。
例えば、境界レコードがレコードR3である場合を想定する。この場合、レコードR4が境界レコードの次のレコードとなる。この場合において、S504のステップが実行される直前の第1の部分タイミングデータの内容が、図28に示すような内容である場合、S504のステップが実行される結果、レコードR4の「A」フィールドが「5」から「1」に更新され、且つ、「B」フィールドが「6」から0に更新される。その結果、第1の部分タイミングデータの内容が、図29の左側に示すようになる。
図29では、レコードR4の「A」フィールドが「5」から「4」に変更されており、且つ、「B」フィールドが「6」から「0」に変更されている。ここで、値「4」は、図23に示す第1の部分タイミングデータにおける「4」と同様の意味を有する。すなわち、この場合、ゲーム操作Aを行うべき追加基準タイミングを案内する追加案内マーク60Aが、レコードR4に対応づけられたX座標値「X4」と、「A」フィールドに対応づけられたY座標値「Y1」と、で表される位置MA2に表示されることを示す。すなわち、追加案内マーク60Aが、途中位置MA1及び目標位置TA1の間に表示されることを示す。
その後、制御部13は、変形例1と同様にして、ゲーム画面40を表示部16に表示させる(S205)。なお、変形例2では、制御部13は、S205のステップにおいて、第1の部分タイミングデータのうちに、「A」、「B」、「C」フィールドのいずれかが「4」を表すレコードがある場合、追加案内マーク60を表示部16に表示させる。また、変形例2では、制御部13は、例えば、第1の部分タイミングデータのうちに、「A」フィールドが「5」を表し且つ「B」フィールドが「6」を表すレコードがある場合、当該レコードに対応するX座標値と、「B」フィールドに対応づけられたY座標値「Y2」と、で表される位置に追加案内マーク60Aを表示する。例えば、レコードR3の「A」フィールドが「5」を表し且つ「B」フィールドが「6」を表す場合、レコードR3に対応するX座標値「X3」と、「B」フィールドに対応づけられたY座標値「Y2」と、で表される位置に追加案内マーク60Aを表示する。
ここで、変形例2における、第1プレイヤが劣勢である場合のゲーム画面40について検討する。ここでも、一例として、S201のステップが実行された結果、図15に示すような第1の部分タイミングデータが主記憶14に記憶されている場合を例に採り上げる。ここでは、更新対象レコードがレコードR2である場合(すなわち、境界レコードがレコードR3である場合)を想定する。なお、以下、図15において「A」フィールド、「B」フィールド、及び「C」フィールドがすべて「0」を表すレコードR2のことを注目レコードと呼ぶ。
この場合、注目レコードが更新対象レコードに該当する間、S503のステップにおいて、注目レコードの更新が試みられる。ここでは、更新対象レコードがレコードR2である場合を想定しているので、注目レコードがレコードR2であるときに実行されるS503のステップにて、注目レコードの更新が試みられる。その結果、注目レコードがレコードR2であるときに「A」フィールドの「0」から「5」への更新と「B」フィールドの「0」から「6」への更新とが所定の確率で実行され、注目レコードは、例えば図27Aの左側に示すように更新される。そのため、S205のステップにおいて、図27の右側に示すように、追加案内マーク60Aが、X座標値「X2」と、Y座標値「Y2」と、で表される位置に表示されることとなる。つまり、追加案内マーク60Aが、初期位置PBと途中位置MB1(第2途中位置)との間に表示されることになる。
その後、注目レコードは、注目レコードが境界レコード(すなわち、レコードR3)となるまでの間、そのまま下に移動していくこととなる。つまり、追加案内マーク60Aは、第1バー50に到達するまで、目標位置TB1に向かって移動していくこととなる。図27Bは、注目レコードが境界レコードとなったときの第1の部分タイミングデータと第1案内領域44の画像とを示す。同図に示すように、追加案内マーク60Aが、X座標値「X3」と、Y座標値「Y2」と、で表される途中位置MB1に表示されている。なお、図27Bでは、基準マーク46を省略している。
図28に示すように、注目レコードが境界レコードの次のレコード(すなわち、レコードR4)になると、S504のステップで注目レコードの「A」フィールドと「B」フィールドとが更新されて、S205のステップが実行される直前での第1の部分タイミングデータの内容が、図29の左側に示すようになる。その結果、S205のステップにおいて、図29の右側に示すように、追加案内マーク60Aが、X座標値「X4」とY座標値「Y1」とで表される位置MA2に表示されることになる。なお、図29では、基準マーク46を省略している。
その後、注目レコードは、そのまま下に移動していくことになる。つまり、位置MA2に表示された追加案内マーク60Aは、目標位置TA1に向かって移動していくこととなる。
ここで、例えば注目レコードの「A」フィールドとに着目する。上述のように、注目レコードは、注目レコードが更新対象レコードに該当する間、S503のステップにおいて、その更新が試みられる。具体的には、注目レコードの更新は、更新対象レコードの数と同じ回数試みられる。そのため、注目レコードの「A」フィールドが「0」から「5」に変更される確率、すなわち、ゲーム操作Aを第1プレイヤが行うべき追加基準タイミングが追加される確率は、注目レコードの更新が試みられる回数、すなわち、更新対象レコードの数に応じた確率となる。
上述のように、第1バー50のX座標値に対応づけられた境界レコードと、最初のレコードR1と、の間のレコードが更新対象レコードとなる。そのため、更新対象レコードの数は、初期位置PB(第2初期位置)と途中位置MB1(第2途中位置)との間の距離である距離rに応じて変化する。
してみると、更新対象レコードの数が距離rに応じて変化するのだから、注目レコードの「A」フィールドは、注目レコードが更新対象レコードに該当する間に行われるS503のステップによって、結果的に、距離rに応じた確率で「0」から「5」に更新されることになる。つまり、制御部13(追加手段)は、S503のステップの処理を実行することにより、結果的に、距離rに応じた確率で、ゲーム操作Aを第1プレイヤが行うべき追加基準タイミングを追加することになる。ゲーム操作Bを第1プレイヤが行うべき追加基準タイミング、及びゲーム操作Cを第1プレイヤが行うべき追加基準タイミングについても同様である。
以上のように、変形例2では、「第1プレイヤがゲーム操作A〜Cを行うべき基準タイミング」が距離rに応じた確率で追加されるので、結果的に、「第1プレイヤがゲーム操作A〜Cを行うべき基準タイミング」が、第1プレイヤと第2プレイヤとの得点差に応じた確率で追加される。
それだけではなく、変形例2では、変形例1とは異なり、例えば、ゲーム操作Aを行うべき追加基準タイミングを案内するための追加案内マーク60Aが、他のゲーム操作に対応する他の初期位置及び途中位置(例えば初期位置PB及び途中位置MB1)の間に表示される。そして、他のゲーム操作に対応する初期位置及び途中位置(例えば初期位置PB及び途中位置MB1)の間に表示された追加案内マーク60Aが、当該他のゲーム操作に対応する目標位置(例えば目標位置TB1)に向かって一時的に移動した後、ゲーム操作Aに対応する目標位置TA1に向かって移動する。そのため、本来はゲーム操作Aを行うべき追加基準タイミングを案内するはずの追加案内マーク60Aがあたかも他のゲーム操作を行うべき追加基準タイミングを案内するかのように振る舞うことになる。その結果、第1プレイヤにとってのゲームの難易度が上昇するようになり、ゲームの興趣を向上させることが可能になる。
また、変形例2では、第1プレイヤに与えられた評価と第2プレイヤに与えられた評価とのうちの少なくとも一方に基づいて、距離rが変化する。このため、例えば、追加案内マーク60Aが他のゲーム操作(例えば、ゲーム操作B)に対応する初期位置(例えば、初期位置PB)から当該他のゲーム操作に対応する目標位置(例えば、目標位置TB1)に向かって一時的に移動した後、目標位置TA1に移動するような場合における「追加案内マーク60Aが初期位置PBから目標位置TB1に向かって一時的に移動する際の移動距離」が、第1プレイヤに与えられた評価と第2プレイヤに与えられた評価とのうちの少なくとも一方に基づいて変化するようになる。
この場合、例えば第1プレイヤがどの程度劣勢であるかによって、追加案内マーク60Aがゲーム操作Bを行うべき追加基準タイミングを案内するかのように振る舞う時間が変化するようになる。その結果、第1プレイヤがどの程度劣勢であるかによって第1プレイヤにとってのゲームの難易度が上昇する度合いが変化するようになる。この点からも、ゲームの興趣を向上させることが可能になる。
[7.その他]
また、例えば、第1バー50又は第2バー51がセンターライン42上に表示されない場合における上記距離rは、第1プレイヤの得点や第2プレイヤの得点に関わらず、一定であってもよい。
また、例えば、案内マーク48が第1バー50に到達するまでの間、当該案内マーク48が第1案内領域44に表示されないようにしてもよい。例えば、第1バー50に向かって移動している案内マーク48が、N(Nは2以上の整数)個に一個の割合で、第1案内領域44に表示されないようにしてもよい。
また、追加案内マーク60と案内マーク48とは、同じ画像であってもよい。
また、例えば、第1案内部80は、変形例1における追加部80eの機能と、変形例2における追加部80eの機能と、の双方を含んでいてもよい。
また、例えば、以上の説明では、案内マーク48Aの移動経路が直線になっていたが、案内マーク48Aの移動経路は直線に限られず、例えば曲線であってもよい。案内マーク48B、案内マーク48C、追加案内マーク60A、追加案内マーク60B、追加案内マーク60Cの移動経路に関しても同様である。
また例えば、本発明は、プレイヤが楽曲に合わせてゲーム操作を行う各種ゲームに適用することが可能である。また例えば、ゲームシステム10は、例えば家庭用ゲーム機(据置型ゲーム機)、業務用ゲーム機、携帯電話機、携帯情報端末(PDA)、パーソナルコンピュータ、又はサーバコンピュータによって実現されるようにしてもよい。また、ゲームシステム10は、通信ネットワークに接続される複数のゲーム装置(携帯ゲーム機、家庭用ゲーム機、パーソナルコンピュータ等)を含んで構成されるようにしてもよい。