ゲーム機、それに用いる制御方法及び、コンピュータプログラム
【課題】情報受信の遅れによる影響を抑制することができるゲーム機を提供する。
【解決手段】ゲーム機2は、ネットワーク5を介して接続された複数のゲーム機2間にて、ゲームを進行させるゲームシステム1に適用される。また、ゲーム機2は、ゲーム中の自機の各操作時期と、対戦中の他機における操作時期と、を互いに関連付けるための出現位置指示部28gを含むシーケンスデータ28を記憶する外部記憶装置20を備えている。そして、ゲーム機2は、出現位置指示部28gに基づいて自機の操作時期と関連付けられるオブジェクト60への操作結果に応じて、当該自機の操作時期を指示する為のオブジェクト60の移動経路Wが変化するように、各操作時期を案内し、タイムラグが生じた場合には、移動経路Wを変化させるために利用する操作情報を、出現位置指示部28gに基づくものからそれよりも早い他機の操作時期に対応するものに変更する。
【解決手段】ゲーム機2は、ネットワーク5を介して接続された複数のゲーム機2間にて、ゲームを進行させるゲームシステム1に適用される。また、ゲーム機2は、ゲーム中の自機の各操作時期と、対戦中の他機における操作時期と、を互いに関連付けるための出現位置指示部28gを含むシーケンスデータ28を記憶する外部記憶装置20を備えている。そして、ゲーム機2は、出現位置指示部28gに基づいて自機の操作時期と関連付けられるオブジェクト60への操作結果に応じて、当該自機の操作時期を指示する為のオブジェクト60の移動経路Wが変化するように、各操作時期を案内し、タイムラグが生じた場合には、移動経路Wを変化させるために利用する操作情報を、出現位置指示部28gに基づくものからそれよりも早い他機の操作時期に対応するものに変更する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信回線を介して接続された複数の端末間にて、各端末のプレイヤによるプレイ行為に基づいてゲームを進行させるゲームシステムに適用され、複数の端末の一つとして機能することが可能なゲーム機、それに用いる制御方法及び、コンピュータプログラムに関する。
【背景技術】
【0002】
通信回線を介して接続された複数のゲーム機間にて対戦型のゲームを進行させるゲームシステムが知られている(例えば、特許文献1参照)。一方、対戦中の一方のプレイ結果が他方のゲームの進行に影響を与えるゲーム機も存在する。このようなゲーム機として、音楽のリズムに合わせて交互に操作部を操作するゲーム機が知られている(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011−087649号公報
【特許文献2】特開2003−236243号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1のゲームシステムでは、ネットワークを介して多数のプレイヤとの対戦が実現される。しかし、このようなゲームシステムでは、通信障害等により、対戦相手のプレイ結果等、対戦相手のゲーム機から受信する情報が遅れる場合もある。一方、特許文献2のゲーム機では、対戦中の一方のプレイ結果が他方のゲームの進行に影響を与えるため、他方のゲームの進行の都合上、一方のプレイ結果を他方のゲームの進行に利用できる時間に制限がある。従って、このようなゲーム機を特許文献1のようなゲームシステムに適用した場合には、通信障害等により、ゲームの進行に支障が生じる場合がある。
【0005】
そこで、本発明は、情報受信の遅れによる影響を抑制することができるゲーム機、それに用いる制御方法及び、コンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明のゲーム機は、通信回線(5)を介して接続された複数の端末(2)間にて、各端末のプレイヤによるプレイ行為に基づいてゲームを進行させるゲームシステム(1)に適用され、前記複数の端末の一つとして機能することが可能なゲーム機であって、前記ゲーム中の自機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、前記ゲームシステムの他の端末として機能する他機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、を互いに関連付けるための関係情報(28g)を記憶する関係情報記憶手段(20)と、前記関係情報に基づいて前記自機の基準時期と関連付けられる前記他機の基準時期に対応する前記プレイ行為に応じて、当該自機の基準時期の案内態様が変化するように、各基準時期を案内する基準時期案内手段(10)と、所定の変更条件を満たした場合に、前記基準時期案内手段が前記案内態様を変化させるために前記プレイ行為を利用する前記他機の基準時期を、前記関係情報に基づく前記他機の基準時期から前記他機における当該基準時期よりも早い基準時期に変更する関係変更手段(10)と、を備えている。
【0007】
本発明によれば、所定の変更条件を満たした場合には、自機の案内態様を変化させるために利用すべき他機の基準時期が、本来の関係情報に基づくものからそれよりも早い基準時期に変更される。このため、例えば、通信障害等を考慮して、自機と他機との基準時期の対応関係を本来の関係から少しずらすことができる。より具体的には、他機のプレイ行為に関する情報等を利用する時期を遅らせることができる。これにより、受信遅れによりゲームの進行に影響が生じる時期を遅らせることができるので、情報受信の遅れによる影響を抑制することができる
【0008】
本発明のゲーム機の一態様において、前記関係変更手段は、前記関係情報に基づく前記他機の基準時期から前記他機における当該基準時期よりも早い基準時期に変更した後に、所定の回復条件を満たした場合に、前記基準時期案内手段が前記案内態様を変化させるために前記プレイ行為を利用する前記他機の基準時期を、前記早い基準時期から前記関係情報に基づく前記他機の基準時期に戻してもよい。この場合、所定の回復条件として情報受信の遅れが解消したと判断できる条件を利用することにより、プレイ行為を利用する他機の基準時期とそれを案内態様の変化として反映する自機の基準時期との関係をずれた関係から本来の関係に戻すことができる。これにより、不必要に関係がずらされることを抑制することができるので、より適切にゲームを進行させることができる。
【0009】
本発明のゲーム機の一態様において、所定の制限時間と前記他機の前記プレイ行為に関する情報の取得時間とを比較して、前記所定の制限時間と前記取得時間との間に所定の時差が生じているか否か判別する時差判別手段(10)を更に備え、前記所定の変更条件は、前記時差判別手段の判別結果に基づいて、前記所定の時差が生じている場合に満たされてもよい。また、この態様において、前記自機の基準時期に基づいて、前記所定の制限時間を算出する制限時間算出手段(10)を更に備えていてもよい。これらの場合、プレイ行為を利用する他機の基準時期とそれを案内態様の変化として反映する自機の基準時期との関係をより適切にずらすことができる。
【0010】
関係情報により関連付けられる自機の基準時期及び、他機の基準時期の数として、どのような数が適用されてもよい。例えば、前記関係情報記憶手段は、前記関係情報として、前記自機の複数の基準時期と前記他機の複数の基準時期とをそれぞれ互いに関連付ける情報を記憶していてもよい。
【0011】
本発明のゲーム機の一態様において、前記関係変更手段は、前記案内態様を変化させる前記自機の基準時期を基準にして、前記自機に対する各基準時期のうち当該自機の基準時期の直前に該当する直前基準時期を案内する際に、当該直前基準時期に対する前記案内態様として前記基準時期案内手段が所定の案内態様を使用するように、前記案内態様を変化させるために利用する情報を前記他機の操作時期に対応する前記プレイ行為に基づく情報から所定の情報に変更してもよい。プレイ行為を利用する他機の基準時期とそれを案内態様の変化として反映する自機の基準時期との関係がずらされることにより、他機の基準時期が自機の基準時期よりも多く必要になるか、重複して使用されることが生じ得る。また、プレイ行為を利用されるべき他機の基準時期が初回の場合、それよりも前の基準時期が存在しないという問題もある。この場合、プレイ行為を利用する他機の基準時期とそれを案内態様の変化として反映する自機の基準時期との関係がずらされる直前にプレイ行為に関する情報ではなく所定の情報を利用することができる。これにより、初回に生じる問題や重複使用等の問題を解消することができる。
【0012】
所定の案内態様として、どのような案内態様が利用されてもよい。例えば、本発明のゲーム機の一態様において、前記所定の案内態様として、前記プレイ行為が適切に実行されなかった場合、或いは、所定の時間内に前記プレイ行為が実行されなかった場合に利用される案内態様が使用されるように、当該案内態様と関連付けられる情報が前記所定の情報として利用されてもよい。
【0013】
本発明のゲーム機の一態様において、前記プレイ行為としての操作を入力するための少なくとも一つの操作部を有する入力装置(9)と、ゲーム画面(50)を表示する表示装置(8)と、を更に備え、前記関係情報記憶手段には、前記関係情報により、前記自機の基準時期として前記自機の操作部に対する操作時期と前記他機の操作時期として前記他機の操作部に対する操作時期とが互いに関連付けられるように記述されたシーケンスデータ(28)が記憶され、前記基準時期案内手段は、前記自機の操作部に対応する第1基準部(55A)と、前記他機の操作部に対応する第2基準部(55B)と、が間隔をあけて配置されたゲーム領域(52)を前記ゲーム画面上に表示させるゲーム領域提示手段(10)と、各操作時期を指示するための各操作指示標識(60)が第1基準部及び第2基準部を接続する複数の移動経路(W)のいずれか一つに沿って、前記自機の操作部に対する操作時期には前記第1基準部に、前記他機の操作部に対する操作時期には前記第2基準部に、それぞれ到達するように前記ゲーム領域内にて各操作指示標識を移動させつつ表示させることにより、各操作時期を案内する標識表示制御手段(10)と、を備え、前記標識表示制御手段は、前記関係情報に基づいて前記自機の操作時期と関連付けられる前記他機の操作時期に対応する前記操作指示標識への操作結果に応じて、前記自機の操作時期に対応する前記操作指示標識が移動する移動経路を変化させることにより、前記自機の操作時期の案内態様を変化させ、前記関係変更手段は、前記標識表示制御手段が前記移動経路を変化させるために前記操作結果を利用する前記操作指示標識に対応する前記他機の基準時期を、前記関係情報に基づく前記他機の基準時期から前記早い操作時期に変更してもよい。この場合、自機及び他機の各プレイヤに各操作時期を案内すべく第1基準部と第2基準部との間を複数の移動経路のいずれかに沿って移動する操作指示標識が表示されるゲームにおいて、情報受信の遅れによる影響を抑制することができる
【0014】
本発明のゲーム機の一態様において、音声を再生出力する音声出力装置(14)と、楽曲を再生させるための楽曲データ(25)を記憶する楽曲データ記憶手段(20)と、前記楽曲データに基づいて前記音声出力装置から前記楽曲を再生させる楽曲再生手段(10)と、を更に備え、各基準時期として前記楽曲中における各時期が利用されていてもよい。この場合、音楽ゲームにおいて、情報受信の遅れによる影響を抑制することができる。
【0015】
本発明の制御方法は、通信回線(5)を介して接続された複数の端末(2)間にて、各端末のプレイヤによるプレイ行為に基づいてゲームを進行させるゲームシステム(1)に適用され、前記複数の端末の一つとして機能することが可能なゲーム機(2)であって、前記ゲーム中の自機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、前記ゲームシステムの他の端末として機能する他機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、を互いに関連付けるための関係情報(28g)を記憶する関係情報記憶手段(20)を備えたゲーム機のコンピュータ(10)に、前記関係情報に基づいて前記自機の基準時期と関連付けられる前記他機の基準時期に対応する前記プレイ行為に応じて、当該自機の基準時期の案内態様が変化するように、各基準時期を案内する基準時期案内工程と、所定の変更条件を満たした場合に、前記基準時期案内工程にて前記案内態様を変化させるために前記プレイ行為を利用する前記他機の基準時期を、前記関係情報に基づく前記他機の基準時期から前記他機の当該基準時期よりも早い基準時期に変更する関係変更工程と、を実行させるものである。
【0016】
また、本発明のゲーム機用のコンピュータプログラムは、通信回線(5)を介して接続された複数の端末(2)間にて、各端末のプレイヤによるプレイ行為に基づいてゲームを進行させるゲームシステム(1)に適用され、前記複数の端末の一つとして機能することが可能なゲーム機(2)であって、前記ゲーム中の自機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、前記ゲームシステムの他の端末として機能する他機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、を互いに関連付けるための関係情報(28g)を記憶する関係情報記憶手段(20)を備えたゲーム機のコンピュータ(10)を、前記関係情報に基づいて前記自機の基準時期と関連付けられる前記他機の基準時期に対応する前記プレイ行為に応じて、当該自機の基準時期の案内態様が変化するように、各基準時期を案内する基準時期案内手段及び、所定の変更条件を満たした場合に、前記基準時期案内手段が前記案内態様を変化させるために前記プレイ行為を利用する前記他機の基準時期を、前記関係情報に基づく前記他機の基準時期から前記他機における当該基準時期よりも早い基準時期に変更する関係変更手段として機能させるように構成されたものである。本発明の制御方法或いは、コンピュータプログラムを実行することにより、本発明のゲーム機を実現することができる。
【0017】
なお、以上の説明では本発明の理解を容易にするために添付図面の参照符号を括弧書きにて付記したが、それにより本発明が図示の形態に限定されるものではない。
【発明の効果】
【0018】
以上に説明したように、本発明によれば、所定の変更条件を満たした場合には、自機の案内態様を変化させるために利用すべき他機の基準時期が、本来の関係情報に基づくものからそれよりも早い基準時期に変更される。このため、例えば、通信障害等を考慮して、自機と他機との基準時期の対応関係を本来の関係から少し遅らせることができる。これにより、受信遅れによりゲームの進行に影響が生じる時期を遅らせることができるので、情報受信の遅れによる影響を抑制することができる
【図面の簡単な説明】
【0019】
【図1】本発明の一形態に係るゲーム機が適用されたゲームシステムを示す図。
【図2】ゲーム機の物理的な構成を示す図。
【図3】ゲーム機の機能ブロック図。
【図4】ゲーム機にて実行される音楽ゲームのゲーム画面を模式的に示した図。
【図5】オブジェクトの領域を説明するための図。
【図6】シーケンスデータの内容の一例を示す図。
【図7】ゲーム機が実行するタイムラグ制御を説明するための説明図であって、操作情報と表示との関係がずらされる場合を説明するための図。
【図8】ゲーム機が実行するタイムラグ制御を説明するための説明図であって、操作情報と表示との関係が元に戻される場合を説明するための図。
【図9】タイムラグ制御を実現するためのゲーム制御部の機能ブロック図。
【図10】操作検出処理ルーチンのフローチャートの一例を示す図。
【図11】シーケンス処理ルーチンのフローチャートの一例を示す図。
【図12】経路補正処理ルーチンのフローチャートの一例を示す図。
【図13】図12に続くフローチャートの一例を示す図。
【図14】タイムラグ監視処理ルーチンのフローチャートの一例を示す図。
【発明を実施するための形態】
【0020】
以下、本発明に係るゲーム機の一形態について説明する。図1は、本発明の一形態に係るゲーム機が適用されたゲームシステムを示す図である。ゲームシステム1においては、複数のゲーム機2と、センターサーバ3とがルータ4を介してネットワーク5にそれぞれ接続されている。センターサーバ3は、一台の物理的装置によって構成されている例に限らない。例えば、複数の物理的装置としてのサーバ群によって一台の論理的なセンターサーバ3が構成されていてもよい。各ゲーム機2は、ネットワーク5に接続されることにより、ゲームシステム1の端末装置(或いは、クライアント)として機能する。ネットワーク5としては、インターネットが使用されている。なお、ネットワーク5は、通信回線を使用したものであればよく、インターネットに限定されるものではない。また、通信回線は、有線及び、無線のいずれであってもよい。
【0021】
各ゲーム機2は、プレイ料金の支払いと引き換えに所定範囲のゲームのプレイを許可する業務用のゲーム機として構成されている。ゲーム機2は、店舗6等の商業施設に適当な台数ずつ設置される。ルータ4は、各店舗6及びセンターサーバ3に対応付けて設置される。同一店舗のゲーム機2は、共通のルータ4を介してネットワーク5に接続されている。なお、ゲーム機2と店舗6のルータ4との間にローカルサーバが設置され、そのローカルサーバを介してゲーム機2がセンターサーバ3と通信可能に接続されていてもよい。
【0022】
センターサーバ3には、制御ユニット(不図示)が設けられている。制御ユニットは、マイクロプロセッサと、そのマイクロプロセッサにて実行されるべきオペレーティングシステム等のプログラムが記録されたROM、及びマイクロプロセッサに対する作業領域を提供するRAM等の内部記憶装置(不図示)とを備えたコンピュータとして構成されている。また、センターサーバ3には、外部記憶装置(不図示)が接続されている。外部記憶装置には、制御ユニットにて実行されるべき各種サーバ用プログラム及び、そのプログラムが参照する各種データがそれぞれ記憶されている。
【0023】
図2は、ゲーム機2の物理的な構成を示す図である。ゲーム機2は、筐体7と、筐体7の上面にプレイヤP側に傾けられて配置される表示装置としてのモニタ8と、を備えている。モニタ8の表面には、透明なタッチパネル9が重ね合わされている。タッチパネル9は、プレイヤPが指等で触れると、その接触位置に応じた信号を出力する公知の入力装置である。その他にも、ゲーム機2には、選択或いは決定をするためのボタン、電源スイッチ、ボリューム操作スイッチ、電源ランプといった通常の業務用のゲーム機が備えている各種の入力装置及び出力装置が設けられているが、図2ではそれらの図示を省略している。
【0024】
図3は、ゲーム機2の機能ブロック図である。図3に示すように、筐体7の内部には、コンピュータとしての制御ユニット10が設けられている。制御ユニット10は、制御主体としてのゲーム制御部11と、そのゲーム制御部11からの出力に従って動作する表示制御部12及び、音声出力制御部13と、を備えている。ゲーム制御部11は、マイクロプロセッサと、そのマイクロプロセッサの動作に必要な内部記憶装置(一例としてROM及びRAM)等の各種の周辺装置とを組み合わせたユニットとして構成されている。表示制御部12は、ゲーム制御部11から与えられる画像データに応じた画像をフレームバッファに描画し、その描画した画像に対応する映像信号をモニタ8に出力することにより、モニタ8上に所定の画像を表示させる。音声出力制御部13は、ゲーム制御部11から与えられる音声再生データに応じた音声再生信号を生成して、制御ユニット10に接続された音声出力装置としてのスピーカ14に出力することにより、スピーカ14から所定の音声(楽音等を含む)を再生させる。
【0025】
ゲーム制御部11には、外部記憶装置20が接続されている。外部記憶装置20には、DVDROM、CDROM等の光学式記憶媒体、あるいはEEPROM等の不揮発性半導体メモリ装置といった、電源の供給がなくても記憶を保持可能な記憶媒体が使用される。
【0026】
外部記憶装置20には、ゲームプログラム21と、ゲームデータ22とが記憶されている。ゲームプログラム21は、ゲーム機2にて所定の手順に従って音楽ゲームを実行するために必要なコンピュータプログラムである。ゲーム機2が起動されると、ゲーム制御部11はその内部記憶装置に記憶されたオペレーションプログラムを実行することにより、ゲーム機2として動作するために必要な各種の初期設定を実行し、続いて、外部記憶装置20からゲームプログラム21を読み込んでこれを実行することにより、ゲームプログラム21に従って音楽ゲームを実行するための環境を設定する。ゲーム制御部11は、コンピュータハードウェアとコンピュータプログラムとの組み合わせによって実現される論理的装置である。ゲーム制御部11は、プレイヤが選択した音楽(楽曲)の再生に合わせてプレイヤに操作を指示し、或いはプレイヤの操作に応じて効果音を発生させるといった音楽ゲームに必要な処理を実行する。更に、ゲーム制御部11は、プレイヤの操作を評価し、かつその評価結果に応じてゲーム中に変化を生じさせるため処理等も実行する。
【0027】
ゲームデータ22には、ゲームプログラム21に従って音楽ゲームを実行する際に参照されるべき各種のデータが含まれている。このような各種データとして、例えば、ゲームデータ22には、楽曲データ25、効果音データ26及び画像データ27が含まれている。楽曲データ25は、ゲームの対象となる楽曲をスピーカ14から再生出力させるために必要なデータである。図3では、一種類の楽曲データ25が示されているが、実際には、プレイヤが複数の楽曲からプレイする楽曲を選択可能である。ゲームデータ22には、それらの複数の楽曲データ25がそれぞれの曲を識別するための情報を付して記録されている。楽曲データ25を記憶することにより、外部記憶装置20は楽曲データ記憶手段として機能する。
【0028】
効果音データ26は、プレイヤの操作に応答してスピーカ14から出力させるべき複数種類の効果音を、効果音毎にユニークなコードと対応付けて記録したデータである。効果音は、楽器その他の様々な種類の音声を含む。効果音データは、各種類に対して、音程を変えて所定のオクターブ数だけ用意されていてもよい。画像データ27は、ゲーム画面内の背景画像、各種のオブジェクト、アイコン等をモニタ8に表示させるためのデータである。
【0029】
ゲームデータ22には、更にシーケンスデータ28が含まれている。シーケンスデータ28は、プレイヤに対して操作時期を指示するためのデータである。一曲の楽曲データに対して、最低一個のシーケンスデータ28が用意される。シーケンスデータ28の詳細は後述する。
【0030】
次に、ゲーム機2にて実行される音楽ゲームの概要を説明する。ゲーム機2は、音楽に合わせて二人のプレイヤ(ゲーム機2が一方のプレイヤとして機能する場合を含む)が操作を実行し、その二人のプレイヤの操作時期を評価して競わせる対戦タイプの音楽ゲーム機として構成されている。また、ゲーム機2は、このような音楽ゲームを通じて、自機のプレイヤと、ネットワーク5を介して接続された他のゲーム機2(他機)のプレイヤとが対戦可能なように構成されている。
【0031】
ゲームが開始される前に、各ゲーム機2からセンターサーバ3に対して、ネットワーク5を介して対戦者を求めるマッチング要求が送信される。センターサーバ3は、各ゲーム機2からのマッチング要求に基づいて、互いに対戦相手となる二人のプレイヤをマッチングする。センターサーバ3の指定に基づいて対戦相手が決定されると、それらのプレイヤ間で、ゲーム機2間の通信を利用した対戦が開始される。
【0032】
図4は、ゲーム機2にて実行される音楽ゲームのゲーム画面を模式的に示した図である。ゲーム画面50には、プレイヤに操作時期を案内するためのゲーム領域52と、マッチングされた二人のプレイヤの得点等を含むゲーム情報を表示するための情報領域53とが含まれている。ゲーム領域52は矩形に形成されている。ゲーム領域52の長手方向(図4の上下方向)の両端52U、52Bの付近には、基準部としての第1基準部55A及び第2基準部55Bが互いに対向するように配置されている。各基準部55A、55Bは、ゲーム領域52の長手方向と直交する方向に直線状に延びている。
【0033】
各基準部55A、55Bは、マッチングされた2台のゲーム機2をプレイする両プレイヤによりそれぞれゲーム上の現在時刻の基準として用いられる。具体的には、第1基準部55Aは自機のプレイヤ(以下、第1プレイヤと呼ぶことがある。)の、第2基準部55Bは対戦相手となる他機のプレイヤ(以下、第2プレイヤと呼ぶことがある。)の、それぞれ現在時刻の基準を示す標識として機能する。ここで、図4の例では、ゲーム画面50は、第1プレイヤから見て、手前側を下に、奥側を上にして描かれている。また、各基準部55A、55Bには、各プレイヤを区別するために異なる色が用いられている。図4の例では、第1基準部55Aとして赤色の直線が、第2基準部55Bとして青色の直線が、それぞれ用いられている。また、情報領域53は、ゲーム領域52の周囲に配置され、ゲーム領域52の長手方向の一端側が一方のプレイヤの得点等を表示するために用いられ、他端側が他方のプレイヤの得点等を表示するために用いられる。
【0034】
各基準部55A、55Bは、所定の間隔で配置された複数の反発点をそれぞれ含んでいる。図中に破線で示したように、第1基準部55Aに含まれる複数の反発点R1と第2基準部55Bに含まれる複数の反発点R2とは、それぞれ複数の経路Wによって相互に接続されている。具体的には、第1基準部55Aの一の反発点R1からは第2基準部55Bに含まれる複数の反発点R2に到る複数の経路Wが、同様に第2基準部55Bの一の反発点R2からは第1基準部55Aに含まれる複数の反発点R1に到る複数の経路Wが、それぞれ設けられている。なお、図4では、一部の反発点R1、R2のみが例示されているが、実際には、多数の反発点R1、R2が基準部55A、55Bに沿って一定間隔で存在する。
【0035】
第1基準部55Aの反発点R1から延びる複数の経路Wは、反発点R2を通過しつつ第2基準部55B側の上側端部52Uまで延びている。また、第2基準部55Bの反発点R2から延びる複数の経路Wは、反発点R1を通過しつつ第1基準部55A側の下側端部52Bまで延びている。第1基準部55Aの一つの反発点R1に着目すると、その反発点R1に対しては、複数の経路Wとして、第2基準部55Bに含まれる3つの反発点R2に向かってこの反発点R1から延びる3つの経路W1、W2、W3が設けられている。音楽ゲームの実行中、つまり、楽曲の再生の進行中において、反発点R1と反発点R2とを接続する経路W上には、操作を指示する操作指示標識としてのオブジェクト60がシーケンスデータ28に従って表示される。なお、図4では、説明の都合上、各経路W1、W2、W3を破線で示したが、実際のゲーム画面50には複数の経路Wのいずれも表示されていない。
【0036】
オブジェクト60は、曲中の適当な時期に反発点R1或いは、反発点R2に出現し、楽曲の進行に従って、出現した各反発点R1、R2から反対側に位置する各反発点R1、R2に向かって、出現した各反発点R1、R2から延びる経路W上を移動する。そして、オブジェクト60の到達に合わせて適切な操作が実行された場合、オブジェクト60は消滅する。このオブジェクト60の消滅と引き換えに、適切な操作が実行された各基準部55A、55Bの各反発点R1、R2には、次のオブジェクト60が出現する。つまり、適切な操作が行われた場合、オブジェクト60が到達した位置(反発点)が次のオブジェクト60の出現位置として機能する。なお、オブジェクト60は、一つの反発点R1(又はR2)に対して設定された複数の経路Wのいずれか一つに沿って移動する。複数の経路Wから一つの経路Wを選択する手順については後述する。
【0037】
出現位置に出現したオブジェクト60は、その出現位置から反対側に位置する各反発点R1、R2に向かって移動する。このため、適切な操作が実行された場合には、オブジェクト60は、各反発点R1、R2であたかも反発するように、各基準部55A、55B間を交互に繰り返し移動する。一方、適切な操作が実行されなかった場合には、オブジェクト60は、各経路Wに沿って各基準部55A、55Bを通過して、上側端部52U又は下側端部52Bまで移動する。そして、各端部52U、52Bのオブジェクト60が到達した位置が次のオブジェクト60の出現位置として機能する。このため、適切な操作が実行されなかった場合には、オブジェクト60は、各端部52U、52Bから反対側に位置する基準部に向かって、各端部52U、52Bにてあたかも反発したかのように移動方向を変える。端部52U、52Bにて反発した後のオブジェクト60の移動経路については、側壁52L、52Rを経由せず、次に到達すべき反発点までの距離が最小となる経路に設定される。
【0038】
上述した適切な操作として、各プレイヤには、オブジェクト60の各基準部55A、55Bへの到達に合わせて、各基準部55A、55Bのオブジェクト60が到達した位置をタッチするタッチ操作が要求される。各プレイヤがタッチ操作を行うと、オブジェクト60が各基準部55A、55Bに一致した時刻と、各プレイヤがタッチ操作した時刻との間のずれ時間が検出される。そのずれ時間が小さいほどプレイヤの操作が高く評価される。また、タッチ操作に応じて効果音がスピーカ14から再生される。効果音の再生方法として周知の方法が適用されてよい。例えば、効果音再生の周知な方法として、楽曲を再生しつつ楽曲の上から効果音を追加する方法、ミスした場合に楽曲を消音しつつミス操作に対応した効果音を再生する方法が存在する。また、例えば、楽曲を分割して各操作時期に割り当てて、適切な操作が実行された場合、当該操作時期に割り当てられた楽曲のパートが演奏される(各操作時期に対する適切な操作により楽曲を形成するような方法。このため、ミス操作がされた場合には、その操作時期に割り当てられた楽曲のパートが再生されない)方法も存在する。
【0039】
図4の例では、オブジェクト60が経路W1上にて第2基準部55Bの反発点R2に向かって移動中である。そのオブジェクト60の第2基準部55Bへの到達に合わせて、第2プレイヤは、他機(第2プレイヤからみて自機)のゲーム画面50に表示されている第2基準部55Bのオブジェクト60が到達する位置をタッチ操作すればよい。また、オブジェクト60は、これから向かう先の各基準部55A、55Bに対応した色で表示されている。つまり、図4の例では、オブジェクト60は第2基準部55Bの反発点R2に到達するまで青色で表示され、到達した反発点R2に出現する次のオブジェクト60は赤色で表示される。本形態では、モニタ8上の各基準部55A、55Bと、それらに重ね合わされるタッチパネル9との組み合わせによって、複数の操作部が形成される。なお、以下では、各基準部55A、55Bを、操作部を代表する用語として使用することがある。また、第2基準部55Bは、対戦相手のプレイヤのゲーム機2(他機)の操作部に対応する基準部である。
【0040】
オブジェクト60が移動する経路Wの選択は、各基準部55A、55Bがタッチ操作されたときのオブジェクト60の位置に基づいて決定される。位置の対比を容易にするために、オブジェクト60は複数の領域に分けられる。図5は、オブジェクト60の領域を説明するための図である。図5の破線は経路W1、W2、W3をそれぞれ示し、一点鎖線62は各領域の境界をそれぞれ示している。
【0041】
図5の例では、オブジェクト60は各基準部55A、55Bと最初に接触する接触点付近の接触領域Sと、その接触領域Sの左右に位置する右側領域R、左側領域L及び、その他の領域Oの4つの領域に分けられる。そして、プレイヤがいずれの領域をタッチ操作したかに応じて、次にオブジェクト60が進むべき経路Wが選択される。即ち、オブジェクト60が進むべき移動経路として、接触領域S又は、その他の領域O付近(これらの各領域を含む)がタッチ操作された場合にはR1に最短距離で向かう直線経路W2が、左側領域L付近(当該領域を含む)がタッチ操作された場合にはゲーム領域52の長手方向の右側の側壁52Rを経由してR1に向かう第1右側経路W3が、右側領域R付近(当該領域を含む)がタッチ操作された場合にはゲーム領域52の長手方向の左側の側壁52Lを経由してR1に向かう第1左側経路W1が、それぞれ選択される。移動経路W1〜W3のそれぞれの距離は、互いに異なる。従って、操作位置とオブジェクト60の位置との間の位置関係に応じて、オブジェクト60が次の各基準部55A、55Bに移動するための移動距離に差が生じる。一方で、移動経路に関係なくオブジェクト60をタッチ操作すべき操作時期、つまり、各基準部55A、55Bにオブジェクト60が到達すべき時期は一定である。このため、一方のプレイヤのタッチ操作に応じて他方のプレイヤに向かって移動するオブジェクト60の経路W及び移動速度が変化する。これによりゲームの難易度が変化するので、各プレイヤには相手プレイヤへの影響を意識した操作が要求される。
【0042】
なお、図4では、ゲーム領域52に単一のオブジェクト60のみが表示された状態を示している。しかし、ゲーム領域52には、位置、速度或いは経路が互いに相違する複数のオブジェクト60が表示されることもある。その場合、各オブジェクト60の出現位置、移動経路、消滅位置といったオブジェクト60の表示及び移動に関する制御は、上述した例に従ってオブジェクト60毎に行われる。
【0043】
次に、図6を参照して、シーケンスデータ28の詳細を説明する。図6は、シーケンスデータの内容の一例を示す図である。図6に示すように、シーケンスデータ28は、条件定義部28aと、操作シーケンス部28bと、を含んでいる。条件定義部28aには、音楽のテンポ、ビート、トラック、また、オブジェクト60をタッチ操作したときにそれぞれ発生させるべき効果音を指定する情報等、楽曲毎に異なるゲームの実行条件を指定する情報が記述される。なお、図6では条件定義部28aがシーケンスデータ28の先頭のみに設けられているが、操作シーケンス部28bの途中の適宜の位置にも条件定義部28aが追加されてよい。それにより、曲中のテンポの変更、効果音の割り当ての変更といった処理を実現することができる。
【0044】
一方、操作シーケンス部28bには、オブジェクト60をタッチ操作すべき時期と、タッチ操作を行うべきプレイヤを指示する情報(言い換えれば、各基準部55A、55Bのうち、オブジェクト60が到達すべきいずれか一方の基準部を指示する情報)とが対応付けて記述されている。また、操作シーケンス部28bには、オブジェクト60の出現位置を指示するための情報も含まれている。
【0045】
図6にて、一部の詳細を示すように、この例では、操作シーケンス部28bは、楽曲中において操作が行われるべき基準時期としての時期(操作時期)を指示する操作時期部28cと、オブジェクト60の表示が開始されるべきプレイヤ(言い換えれば、オブジェクト60の表示が開始されるべき、いずれか一方の基準部)を指示する表示位置指示部28eと、各レコードを区別するためのレコード情報部28hと、オブジェクト60の出現位置を指示する関係情報としての出現位置指示部28gと、を含んでいる。つまり、操作シーケンス部28bは、これらの情報が互いに対応付けられるように記述された複数のレコードの集合として構成されている。
【0046】
操作時期は、楽曲中の小節番号、拍数、及び拍中の時刻を示す値がカンマで区切られて記述されている。拍中の時刻は、一拍の先頭からの経過時間であり、一拍の時間長をn個の単位時間に等分したときのその拍の先頭からの単位数で表現される。例えば、n=100で、楽曲の一小節目の二拍目で、かつその拍の先頭から1/4だけ経過した時刻を操作時期として指定する場合には、“01,2,025”と記述される。
【0047】
表示位置指示部28eには、いずれのプレイヤ側にオブジェクト60を表示開始するかの指示が記述されている。具体的には、第1プレイヤに対応する第1基準部55A側を指示する場合には“P1”と、第2プレイヤに対応する第2基準部55B側を指示する場合には“P2”と、それぞれ記述される。また、オブジェクト60は、各基準部55A、55B間を移動するので、表示開始されるプレイヤの指示は、タッチ操作を要求する基準部の指示にも相当する。具体的には、表示開始する位置として第1基準部55A側が指示されている場合には、表示開始されたオブジェクト60は反対側の第2基準部55Bに向かって移動するので、第2基準部55Bへのタッチ操作の指示に該当する。同様に、表示開始する位置として第2基準部55B側が指示されている場合には、反対側、つまり表示開始されたオブジェクト60の移動方向に位置する第2基準部55Aへのタッチ操作の指示に該当する。更に、オブジェクト60が表示開始されるプレイヤの指示は、表示されるオブジェクト60の色の指示にも該当し、“P1”の場合に青色のオブジェクト60が、“P2”の場合に赤色のオブジェクト60が、それぞれ表示される。
【0048】
レコード情報部28hには、レコード毎に並び順に応じた番号が記述されている。即ち、レコード情報として、冒頭のレコードには“1”が付され、以降、上から順に“2”、“3”等のユニークな番号が各レコードに付されている。
【0049】
出現位置指示部28gには、レコード番号を指定する情報が記述されている。即ち、出現位置を指示する情報として、“1”、“2”、“3”等の番号が記述されている。出現位置指示部28gに、“1”と記述されている場合、レコード情報部28hに“1”が付されているレコードにて指示されるオブジェクト60の到達位置が出現位置として指示される。具体的には、レコード情報部28hの番号1に対応するオブジェクト60が適切にタッチ操作された位置或いは、ミス操作により到達した位置が、出現位置指示部28gに、“1”と記述されているレコードに対応するオブジェクト60の出現位置として指示されている。同様に、出現位置指示部28gに、“2”と記述されている場合にはレコード情報部28hに“2”が、“3”と記述されている場合にはレコード情報部28hに“3”が、それぞれ付されているレコードに対応するオブジェクト60が適切にタッチ操作された位置或いは、到達した位置が出現位置として指示されている。
【0050】
更に、出現位置指示部28gに記述される情報は、出現時期の指示にも該当する。具体的には、レコード情報部28hに“1”が付されているレコードに対応するオブジェクト60が適切にタッチ操作された時期(或いは、各端部52U、52Bに到達した時期)に、出現位置指示部28gに“1”と記述されているレコードに対応するオブジェクト60が表示開始される。つまり、出現位置指示部28gには、オブジェクト60の連続性を演出するため、一のレコードに対応するオブジェクト60が到達した時期(若しくは適切にタッチ操作された時期)であって、当該到達した位置(若しくは適切にタッチ操作された位置)に次のオブジェクト60が表示開始されるように、一のレコードと次のオブジェクト60に対応するレコードとを関連付けるための指示が記述されている。また、最初のレコードに対応するオブジェクトの出現位置は、初期出現位置として固定の位置を示す情報が記述されている。例えば、このような初期出現位置を指示する情報として、出現位置指示部28gには、“S”等のアルファベットが記述される。
【0051】
図6の例では、一小節目の四拍目の開始時点から“010”相当だけ経過した時期に第2基準部55Bに到達する赤いオブジェクト60が第1基準部55Aの初期出現位置に出現するという指示がされている。また、このオブジェクト60の到達位置及び時期(或いは適切にタッチ操作された位置及び時期)が一小節目の四拍目の開始時点から“016”相当だけ経過した時期に第2基準部に到達する青いオブジェクト60の出現位置及び出現時期として機能するように指示されている。
【0052】
次に、ネットワーク5を介して他のゲーム機2との対戦が実行されている場合にゲーム機2にて実行されるタイムラグ制御について説明する。ネットワーク5を介して他のゲーム機2との対戦が実行されている場合には、例えば、通信環境等の影響により、第2プレイヤの操作情報(他機からの操作情報)の受信が遅れる場合がある。このような場合、ゲーム機2では、通信遅れにより生じる問題を解消するためにタイムラグ制御が実行される。
【0053】
上述のように、ゲーム機2で実行される音楽ゲームでは、第1プレイヤと第2プレイヤとが交互に操作を実行する。また、第2プレイヤの操作結果に応じて、第1プレイヤが操作を実行すべきオブジェクト60の出現位置、経路及び、速度が変化する。一方で、オブジェクト60が各基準部55A、55Bに到達すべき時期は、シーケンスデータ28により予め指定されており、変化しない。従って、第1基準部55Aに到達すべきオブジェクト60の出現位置、出現時期及び、移動経路の決定には、時間的な制限がある。このため、仮に、ゲーム機2が第2プレイヤの操作情報を、その操作情報を反映すべきオブジェクト60に対して指定されている到達時期(操作時期)以降に受信してもそれをオブジェクト60に反映することはできない。また、それ以前に、このような場合、第1基準部55Aへ移動するオブジェクト60の出現位置、出現時期、及び経路を決定すべき情報がないため、このオブジェクト60を適切に出現させ、かつ移動させることができない。タイムラグ制御は、このような問題を解消するために実行される。
【0054】
従って、タイムラグ制御は、第2プレイヤの操作情報をオブジェクト60に反映可能な時間内に他機から第2プレイヤの操作情報が取得できない場合に実行される。具体的には、このような場合、タイムラグ制御により、第2プレイヤの操作情報が反映されるべきオブジェクト60に対して、予め設定された所定の位置、所定の時期及び、経路が適用される。つまり、タイムラグ制御により、第2プレイヤの操作情報に応じて決定されるべきオブジェクト60の出現位置、出現時期及び、経路は、第2プレイヤの操作情報に替えて、所定の時期、所定の位置及び、所定の経路に基づいて決定される。
【0055】
図7及び図8を参照して、更にタイムラグ制御について説明する。図7は、ゲーム機2が実行するタイムラグ制御を説明するための説明図である。上述のように、対戦中の各ゲーム機2では、交互に操作が実行され、対戦相手側(他機側)の操作結果が自機側に反映される。つまり、対戦相手側の操作情報に基づいて自機側の表示が決定される。従って、図7に示すように、ゲーム画面50を表示するための要素は、自機側と対戦相手側とに分けられ、かつ、対戦相手側は自機側に表示される情報と、対戦相手側で実際に実行される操作とに分類できる。以下、順を追って、タイムラグ制御により実現される内容について説明する。
【0056】
上述のように、オブジェクト60の移動を通じて、各プレイヤには交互に操作が促されるため、自機側のプレイヤの操作と対戦相手側(他機側)の操作とは一対と考えられる。これら一対の操作には、図7では、“操作1”、“操作2”等、共通の操作番号を振って対応関係が示されている。つまり、自機側の“操作1”により対戦相手側の“操作1”が生じる。また、対戦相手側の操作により、次の自機側の操作が促される。このため、対戦相手側の“操作1”により自機側の次の操作、つまり“操作2”が促される。このように、音楽ゲームは、一対の操作単位で進行すると考えられる。
【0057】
図7の例では、まず一対の“操作1”において、通信及び表示が適切であった場合が示されている。つまり、タイムラグ制御は、これらの“操作1”に対しては実行されていない。この場合、対戦相手側に対応する自機側の表示は、対戦相手側の操作情報を実際に反映した適切なものである(図7では、このような場合が対戦相手側の表示欄及び操作欄に跨るように楕円を配置することにより表現されている)。
【0058】
一方、一対の“操作2”においては、相手側の操作情報を制限時間よりも遅れて受信した場合が示されている。つまり、タイムラグ制御が実行される場合が示されている。図7に示すように、この場合、実際の対戦相手側の操作と、対戦相手側に対応する自機側の表示とは、分離される。つまり、自機側のプレイヤ(第1プレイヤ)に次の操作を指示する為のオブジェクト60には、対戦相手側の実際の操作は反映されない。この場合、自機側のプレイヤに次の操作を指示するためのオブジェクト60は、所定の位置に出現し、所定の経路を移動して、第1プレイヤに操作時期を案内する。この際の所定の位置及び、所定の経路は、第2プレイヤ(対戦相手側の他機のプレイヤ)の実際の“操作2”とは無関係である。また、このオブジェクト60が出現する時期は、例えば、制限時間限界の時期等、所定の時期である。
【0059】
このように、第2プレイヤによる実際の“操作2”の情報とは切り離されて、次の第1プレイヤの“操作3”が案内される。一方、第2プレイヤの“操作2”の情報は、次の“操作3”においても通信に遅れが生じた場合に、第2プレイヤの“操作3”の情報を反映すべきオブジェクト60に対する操作情報として利用される。具体的には、第2プレイヤの“操作3”の操作情報を制限時間内に受信できない場合には、“操作3”の操作情報に替えて、第2プレイヤの前回の操作情報である“操作2”の情報が利用される。つまり、対戦相手側に対応する自機側の表示には、“操作3”の情報に替えて、“操作2”の情報が反映され、“操作2”の情報に基づいて出現位置、経路が決定される。“操作3”以降も同様である。このように、タイムラグ制御により、情報の受信に遅れが生じた場合には、遅れて取得した操作情報をオブジェクト60の経路等に反映可能なように、対戦相手側に対応する自機側の表示と、それに反映すべき情報との関係がずらされる。
【0060】
通信遅れは、主として通信環境に依存する為、当初に遅れが発生した場合には、その後に解消されないケースが多い。従って、対戦が終了するまで、表示と操作情報の反映との間には、所定の間隔(上記では1操作部分)ずれた関係が維持される。但し、通信遅れが一時的なものであれば、対戦中の通信遅れが解消する場合もある。このような場合には、タイムラグ制御により、上記のずれた関係が元に戻される。
【0061】
図8は、操作情報と表示との関係が元に戻される場合を説明するための図である。図8に示すように、“操作11”までは、通信遅れを解消するために、次のオブジェクト60に反映すべき操作情報として、前回の操作情報、つまり第2プレイヤの“操作10”の操作情報が利用されている。そして、次の“操作12”では、通信遅れが解消され、次のオブジェクト60に操作情報を反映可能な制限時間内に第2プレイヤの“操作12”に対応する操作情報が受信されたとする。この場合、図8に示すように、第1プレイヤの“操作13”を指示する為のオブジェクト60には、第2プレイヤの“操作12”の情報が反映される。つまり、制限時間内に第2プレイヤの“操作12”の操作情報を取得することにより、“操作11”までのずれた関係が解消される。これにより、第2プレイヤの“操作11”の操作情報は反映先がなくなるため、情報としては破棄される。このように、通信遅れが解消された場合には、解消により取得した情報がすぐに使用され、表示と操作情報とのずれた関係が解消される。これにより、表示と操作情報との関係が元に戻される。
【0062】
上記のように、タイムラグ制御により、通信遅れによる問題を解消するために、通信遅れが生じた場合には所定数だけ表示と操作情報の反映との関係がずらされる一方で、通信遅れが解消した場合にはそのずれた関係が元に戻される。このようにして、ゲーム機2では、通信遅れの問題を解消しつつ、ネットワーク5を介して他のゲーム機2との対戦を実現する。
【0063】
次に、図9を参照して、タイムラグ制御を実現するための構成について説明する。タイムラグ制御は、ゲーム制御部11にて実行される。図9は、タイムラグ制御を実現するためのゲーム制御部11の機能ブロック図である。図9に示すように、ゲーム制御部11には、記憶部63と、タイムラグ監視部64と、切替制御部65と、位置演算部66と、画像生成部67とが設けられる。自機及び対戦相手のゲーム機(他機)2の操作情報は、記憶部63に記憶される。タイムラグ監視部64は、記憶部63に記憶された操作情報に基づいて、各操作情報が所定の時間制限内に得られた操作情報か否か判断する。タイムラグ監視部64は、その判断結果を切替制御部65に与える。
【0064】
そして、切替制御部65は、タイムラグ監視部64の判断結果、記憶部63に記憶された各操作情報に基づいて、オブジェクト60の出現位置等の決定に使用すべき操作情報を特定する。この際、タイムラグ監視部64によりタイムラグが発生していると判断された場合には、切替制御部65は、使用される操作情報が通常時のものからタイムラグ時に使用するものに切り替えられるように、特定する。切替制御部65は、その特定結果を位置演算部66に与える。位置演算部66は、切替制御部65の特定結果に基づいて、各オブジェクト60を配置すべきゲーム画面50上の位置(座標)を演算する。その演算結果は、画像生成部67に与えられる。そして、画像生成部67は、位置演算部66の演算結果に基づいて、演算された各位置に各オブジェクト60が配置されたゲーム画面50が表示されるように画像データを生成し、出力する。これにより、対戦相手のゲーム機2の操作情報の受信が遅れた場合には所定の位置等が、その後は受信遅れが解消するまで所定数ずれた操作情報が、それぞれ反映されたオブジェクト60を含むゲーム画面50がモニタ8に表示される。更に、受信遅れが解消した場合には、操作情報のずれが解消され、直前の対戦相手のゲーム機2の操作情報が反映されたゲーム画面50がモニタ8に表示される。
【0065】
次に、タイムラグ制御を実行するためにゲーム制御部11が実行する各種処理について説明する。ゲーム制御部11は、タイムラグ制御を実行するために、図10の操作検出処理ルーチン、図11のシーケンス処理ルーチン及び、図12〜図14のサブルーチンを実行する。なお、ゲーム制御部11は、その他にもマッチング処理、各プレイヤの操作を評価するための処理等、音楽ゲームを実行するために必要な各種の周知の処理を実行するが、それらの説明は省略する。
【0066】
図10は、ゲーム制御部11が実行する操作検出処理ルーチンのフローチャートの一例を示す図である。ゲーム制御部11は、図10のルーチンを所定の周期で繰り返し実行する。図10のルーチンは、第1プレイヤ及び第2プレイヤのタッチ操作の内容(操作位置及び、操作時期)を取得するために実行される処理である。
【0067】
ゲーム制御部11は、図10のルーチンを開始すると、まずステップS1でタッチパネル9の出力を参照して第1プレイヤが前回のルーチンの終了後にタッチ操作を行ったか否かを判別する。タッチ操作が行われている場合、ゲーム制御部11は、ステップS2に進む。ステップS2にて、ゲーム制御部11は、第1プレイヤがタッチ操作した位置及びそのタッチ操作が行われた時期を取得し、それらを記録した操作情報を生成して当該操作情報を記憶部63に記憶する。続くステップS3にて、ゲーム制御部11は、ステップS2で記憶した操作情報を対戦相手のゲーム機2に送信する。
【0068】
次のステップS4にて、ゲーム制御部11は、前回のルーチンの終了後に対戦相手のゲーム機2から操作情報を受信したか否か判別する。受信している場合、ゲーム制御部11は、ステップS15に進み、受信した操作情報を受信時刻の情報とともに記憶部63に記憶する。ステップS5の処理を終えると、ゲーム制御部11は、今回の処理を終了する。一方、ステップS11の判別結果が否定的結果の場合、つまりタッチ操作が行われていない場合、ステップS2及びステップS3をスキップして、ステップS4に進む。更に、ステップS4が否定的判別結果の場合、つまり操作情報を受信していない場合、ゲーム制御部11は、ステップS5をスキップして、今回のルーチンを終了する。図10のルーチンによって記憶された操作情報に含まれている第1プレイヤ及び第2プレイヤのそれぞれの操作の時期が、各プレイヤの実際の操作時期として扱われる。
【0069】
一方、図11は、ゲーム制御部11が実行するシーケンス処理ルーチンのフローチャートの一例を示す図である。図11のルーチンは、ゲーム領域52中にオブジェクト60を移動表示させるために実行される処理である。ゲーム制御部11は、図11のルーチンを所定の周期で繰り返し実行する。その周期は、ゲーム画面50を描画する周期、つまり、フレームレートと等しい。なお、図11のルーチンが実行される周期は、図10のルーチンが実行される周期と等しいか、又は、それよりも長い。
【0070】
図11のルーチンを開始すると、ゲーム制御部11は、まずステップS11において、楽曲上の現在時刻を取得する。例えば、この現在時刻は、楽曲の再生開始時点を基準として、ゲーム制御部11の内部クロックにて計時が開始され、その内部クロックの値から取得される。楽曲上の時刻は、再生開始時点かあらの経過時間によって特定されてもよいし、経過時間と相関する他の値によって特定されてもよい。例えば、楽曲の再生開始時点からの楽曲の拍数、ゲーム画面50のフレーム数等を利用して時刻が特定されてもよい。
【0071】
続くステップS12にて、ゲーム制御部11は、シーケンスデータ28から次のフレームで描画されるべきゲーム領域52の表示範囲に相当する時間長に存在する操作時期のデータを取得して内部記憶装置に保持する。表示範囲は、一例として現在時刻(但し、次のフレームの描画時における時刻)から将来に向かって楽曲の2小節相当の時間範囲に設定される。次のステップS13では、次のフレームで描画すべき全てのオブジェクト60が配置されるべき各経路を決定するためのサブルーチンを実行する。このサブルーチンの詳細は、後述する。
【0072】
次のステップS14にて、ゲーム制御部11は、次のフレームで描画すべき各オブジェクト60の座標を演算する。その演算は、一例として以下のように行われる。まずステップS13の処理結果に基づいて、表示範囲に含まれている各オブジェクト60を配置すべき各経路Wを判別する。次に、各オブジェクト60に対応した移動方向(到達すべき各基準部55A、55B)及び、各操作時期と現在時刻との時間差に応じて、各基準部55A、55Bからの時間軸方向(つまり、オブジェクト60の移動方向)における各オブジェクト60の位置を判別する。これにより、各経路W上に各オブジェクト60を各基準部55A、55Bから時間軸に沿って配置するために必要な各オブジェクト60の座標を取得することができる。
【0073】
次のステップS15において、ゲーム制御部11は、ステップS14で演算された各オブジェクト60の座標に基づいて、ゲーム領域52を描画するために必要な画像データを生成する。具体的には、演算された各座標に各オブジェクト60が配置されるように画像データを生成する。オブジェクト60等の画像は、画像データ27から取得すればよい。続くステップS16にて、ゲーム制御部11は、表示制御部12に画像データを出力する。それにより、モニタ8上のゲーム領域52の表示が更新される。ステップS16の処理を終えると、ゲーム制御部11は、今回のルーチンを終了する。以上の処理が繰り返し実行されることにより、各オブジェクト60がゲーム領域52の所定の位置に出現し、楽曲の進行に合わせて各プレイヤの操作に応じた経路W上を進み、所定の操作時期に各基準部55A、55Bに到達するように、オブジェクト60の表示が制御される。
【0074】
次に、図12〜図14を参照して、経路決定処理ルーチンについて説明する。図12及び、図13は、経路決定処理ルーチンのフローチャートの一例を示す図である。このルーチンは、図11ルーチンのサブルーチンとして、ステップS13にて呼び出されて実行される。図12及び図13のルーチンは、各プレイヤの操作結果に応じて各オブジェクト60を配置すべき経路を決定するための処理である。また、ゲーム制御部11は、このルーチンを主として切替制御部65を通じて実行する。
【0075】
図12のルーチンを開始すると、ゲーム制御部11は、まずステップS21において、未処理レコードがあるか否かを判別する。未処理レコードとは、図11のルーチンのステップS12で取得したシーケンスデータ28の各レコード、つまり各操作時期のうち処理済みのレコードと設定されていないレコードを意味する。即ち、表示範囲に含まれる各操作時期のうちオブジェクト60を配置すべき経路Wが未だ決定されていない操作時期を意味する。ゲーム制御部11は、ステップS21が否定的結果の場合、つまり表示範囲の各操作時期に未処理レコードが存在しない場合、今回のルーチンを終了して、図11のルーチンに戻る。
【0076】
一方、ゲーム制御部11は、ステップS21が肯定的結果の場合、つまり未処理のレコードが存在する場合には、ステップS22に進む。ステップS22にて、ゲーム制御部11は、処理対象の未処理レコードが自機用のレコードか否かを判別する。この判別は、例えば、シーケンスデータ28に含まれる表示位置指示部28eに基づいて実行される。具体的には、ゲーム制御部11は、処理対象のレコード、つまり処理対象の操作時期に関連付けられる表示位置指示部28eが“P1”の場合に自機用レコードと、“P2”の場合に対戦相手機用のレコードと、それぞれ判別する。この判別結果が肯定的結果の場合、つまり、処理対象のレコードが自機用のレコードの場合、ゲーム制御部11は、ステップS23に進む。
【0077】
ステップS23にて、ゲーム制御部11は、処理対象のレコードに出現位置を指示するレコードとして関連付けられるレコードの操作時期を一定範囲内に含む操作情報が記憶部63に記憶された各操作情報内にあるか否か判別する。上述のように、シーケンスデータ28では、出現位置指示部28gを通じて、互いに関連付けられた操作時期が存在する。例えば、これらの関連付けられる各レコードのうち出現位置を指示するレコードを指示レコードと、出現位置が指示されるレコードを被指示レコードと呼ぶ。ステップS23では、処理対象のレコードの指示レコードに対応する操作時期を一定範囲内に含む操作情報があるか否かが判別される。処理対象のレコードに対応するオブジェクト60には、指示レコードに対応するオブジェクト60への操作結果が反映されるからである。また、ここでいう一定範囲とは、シーケンスデータ28に記述されている操作時期に対して、適切な操作が行われたとみなし得る許容範囲として設定された時間的範囲であって、かつ、各基準部55A(又は55B)に対するオブジェクト60の到達位置(移動目標となる反発点)に対して、そのオブジェクト60をタッチしたとみなし得る許容範囲として設定された距離的範囲である。この判別結果が肯定的結果の場合、つまり指示レコードの操作時期を一定範囲内に含む操作情報がある場合には、ゲーム制御部11は、ステップS24に進む。
【0078】
ステップS24にて、ゲーム制御部11は、処理対象のレコードに対応するオブジェクト60を配置すべき経路Wを正常経路に決定する。具体的には、正常経路は、次のようにして、操作情報に基づいて決定される。まず、判別した操作情報に基づいてタッチ操作の位置とオブジェクト60の位置との間の位置関係を判別し、その位置関係に基づいて経路Wを決定する。この決定は、上述のように、タッチ操作の位置が図5で示した4つの領域O、R、S及びLのいずれに属するか、或いはいずれの領域に最も近いかに基づいて経路を決定するものである。各領域O、R、S及びLと決定される経路の関係は、上述した通りである。そして、正常経路における出現位置は、上述の指示レコードにて指示されている出現位置が採用される。つまり、操作情報に含まれるタッチ操作の位置及び、指示レコードにて指示される出現位置に基づいて、正常経路は決定される。
【0079】
続くステップS25にて、ゲーム制御部11は、処理対象のレコード及び、使用した操作情報を処理済み(或いは、使用済み)に設定して、ステップS21の処理に戻る。これにより、指示レコードに対応するオブジェクト60への操作結果が処理対象のレコードに対応するオブジェクト60に反映される。
【0080】
一方、ステップS23の判別結果が否定的結果の場合、つまり指示レコードの操作時期を一定範囲内に含む操作情報がない場合、ゲーム制御部11は、ステップS26に進む。ステップS26にて、ゲーム制御部11は、処理対象のレコードに対応するオブジェクト60を配置すべき経路Wをミス経路に決定する。指示レコードの操作時期を一定範囲内に含む操作情報がない場合、指示レコードに対応するオブジェクト60に対して適切な操作が実行されていないことを意味する。この場合、この処理対象のレコードに対応する指示レコードのオブジェクト60は、両端部52U、52Bのいずれかに到達する。従って、例えば、このような場合のミス経路として、指示レコードのオブジェクト60が到達した端部52U(或いは、52B)の位置から最短距離で反対側の基準部55A(或いは、55B)に向かって延びる経路Wが採用される。また、この場合、指示レコードのオブジェクト60が到達した端部52U(或いは、52B)の位置が、処理対象のレコードに対応するオブジェクト60の出現位置として利用される。そして、ゲーム制御部11は、ステップS30の処理を終えると、ステップS25に進む。
【0081】
更に、ステップS22の判別結果が否定的結果の場合、つまり処理対象のレコードが対戦相手機用のレコードの場合、ゲーム制御部11は、図13のステップS27に進む。ステップS27にて、ゲーム制御部11は、タイムラグを監視するためのサブルーチンを実行する。このサブルーチンの詳細は、後述する。
【0082】
続くステップS28にて、ゲーム制御部11は、ステップS27の処理結果を利用して、処理対象の未処理レコードに関連付けられる指示レコードに対応する操作情報にタイムラグが発生しているか否かを判別する。この判別結果が肯定的結果の場合、つまりタイムラグが発生している場合には、ゲーム制御部11は、ステップS29に進む。
【0083】
続くステップS29にて、ゲーム制御部11は、記憶部63に記憶された各操作情報のうちから所定範囲の操作情報を取得する。この所定範囲は、例えば、処理対象の未処理レコード、つまり処理対象の操作時期に基づいて設定される。具体的には、例えば、処理対象の操作時期に関連付けられる指示レコードから所定数前の他機用の操作時期に対応する操作情報が含まれるように所定範囲は設定される。つまり、所定範囲として、処理対象の未処理レコードに関連付けられる指示レコードから所定数前の他機用の操作時期を基準に、それよりも一定期間前の時期を含む範囲が利用される。なお、処理対象の操作時期を基準に、それ以前の時期を示す一定数の操作情報が所定範囲として設定されてもよい。
【0084】
続くステップS30にて、ゲーム制御部11は、処理対象の未処理レコード、つまり処理対象の操作時期の指示レコードから所定数前の他機用の操作時期を特定する。所定数として、例えば、“1”が採用される。つまり、所定数前の他機用の操作時期として、例えば、処理対象の操作時期に関連付けられる指示レコードから一つ前の他機用の操作時期が特定される。次のステップS31にて、ゲーム制御部11は、ステップS30で特定した操作時期に対応する操作情報がステップS29で取得した各操作情報のなかにあるか否かを判別する。所定数前の他機用の操作時期に対応する操作情報として、所定数前の他機用の操作時期を一定範囲内に含む操作情報が利用される。従って、例えば、一つ前の他機用の操作時期に対応する操作情報として、ステップS31では、一つ前の他機用の操作時期を基準にして、この操作時期を一定範囲内に含む操作情報が判別対象として特定される。そして、ステップS31では、その特定されるべき操作情報がステップS29で取得した各操作情報に含まれているか否かが判別される。この判別結果が肯定的結果の場合、つまり所定数前の他機用の操作時期に対応する操作情報が存在している場合、ゲーム制御部11は、ステップS32に進む。
【0085】
ステップS32にて、ゲーム制御部11は、ステップS31で特定した操作情報が使用済みの操作情報か否かを判別する。使用済みとは、経路Wの決定に使用された操作情報を意味する。つまり、図13のルーチンを通じて、過去に経路Wを決定するための操作情報として使用された操作情報を意味する。この判別結果が肯定的結果の場合、つまり、特定した操作情報が既に使用済みである場合、ステップS33に進む。
【0086】
ステップS33にて、ゲーム制御部11は、処理対象の操作時期に対応するオブジェクト60が配置されるべき経路Wを所定の経路(及び、所定の出現位置)に決定する。所定の経路及び、所定の出現位置として、例えば、次のような経路W及び出現位置が採用される。
【0087】
上述のように、シーケンスデータ28では、出現位置指示部28gを通じて、互いに関連付けられた各操作時期が存在している。従って、処理対象の操作時期に対する指示レコードも存在する。また、指示レコードに対応するオブジェクト60は、既に経路Wが決定されている(仮に、経路Wが決定されていない場合には、ステップS32に戻り、所定数を“1”から“2”等、経路Wが決定されているレコードが得られるように変更してよい。また、変更後は、以降のルーチンにて、変更後の所定数を使用すればよい)。そして、所定の経路として、この指示レコードに適用された経路W上に位置する反発点R2(或いは、R1)から反対側の基準部に最短距離で延びる経路Wが採用される。また、処理対象の操作時期に対応するオブジェクト60が出現すべき所定の出現位置として、この反発点R2(或いは、R1)が適用される。つまり、ステップS33の処理にて、ゲーム制御部11は、指示レコードに適用された経路W上の反発点R2(或いは、R1)を未処理レコードに対応するオブジェクト60の出現位置として決定するとともに、そこから最短距離で延びる経路Wを所定の経路として決定する。ステップS33では、一例として、このような所定の経路(及び、所定の出現位置)が対象の未処理レコードに適用すべき経路W及び、出現位置として決定される。また、この場合の処理対象のレコード、つまり処理対象の操作時期が本発明の直前基準時期として機能する。なお、所定の位置等として、ミス操作の場合と同様の経路等が採用されてもよい。
【0088】
ステップS33の処理を終えると、ゲーム制御部11は、図12のステップS25に戻る。そして、ゲーム制御部11は、ステップS25にて、上述のような処理を実行する。
【0089】
一方、ステップS31の判別結果が否定的結果の場合、つまり特定すべき操作情報がない場合には、ゲーム制御部11は、ステップS34に進む。ステップS31の処理により操作情報がないと判別される場合は、例えば、指示レコードに対応するオブジェクト60に適切な操作が実行されていない場合である。従って、この場合、ゲーム制御部11は、ステップS34にて、ステップS26と同様に、処理対象のレコードに対応するオブジェクト60が配置されるべき経路Wをミス経路に決定する。そして、ゲーム制御部11は、ステップS34の処理を終えると、図12のステップS25に戻る。
【0090】
更に、ステップS32の判別結果が否定的結果の場合、つまりステップS31で特定した操作情報が未だ使用されていない場合、ゲーム制御部11は、ステップS35に進む。ステップS30及びステップS31では、毎回所定数として同じ数が採用される。従って、ステップS32にて特定した操作情報が使用済みと判別される場合は、ステップS33の処理が実行されていないことを意味する。一方、ステップS32にて、特定した操作情報が未だ使用されていないと判別される場合、操作情報の使用に替えて、ステップS33の所定の経路が使用されたこと、つまり、前回までのルーチンで既にタイムラグが発生していることを意味する。
【0091】
従って、ステップS35にて、ゲーム制御部11は、処理対象のレコードに対応するオブジェクト60が配置されるべき経路Wをタイムラグ経路に決定する。具体的には、タイムラグ経路として、ステップS31にて特定した操作情報に基づいて決定される経路Wを採用する。つまり、特定した操作情報に基づいてタッチ操作の位置とオブジェクト60の位置との間の位置関係を判別し、その位置関係に基づいて経路Wを決定する。この決定は、上述のように、タッチ操作の位置が図5で示した4つの領域O、R、S及びLのいずれに属するか、或いはいずれの領域に最も近いかに基づいて経路を決定するものである。各領域O、R、S及びLと決定される経路の関係は、上述した通りである。また、同様に、指示レコードのオブジェクト60が到達した位置が出現位置として採用される。つまり、経路等の決定は、タイムラグが発生していない場合の正常経路の決定と同様に実行される。相違点は、経路等の決定に使用される操作情報が指示レコード(出現位置指示部28gにて関連付けられる他機用の操作時期)に対応するものではなく、所定数前の他機用の操作時期に対応する操作情報である点である。また、この場合の所定数前の他機用の操作時期が本発明の早い基準時期として機能する。そして、ゲーム制御部11は、ステップS35の処理を終えると、図12のステップS25に戻る。
【0092】
また、ステップS28の判別結果が否定的結果の場合、つまりステップS27の処理の結果、タイムラグが発生していないと判別された場合には、ゲーム制御部11は、図12のステップS23に戻る。ステップS27の処理によりタイムラグが発生していないと判別される場合は、制限時間内のその操作情報が取得出来た場合である。この場合、自機用のレコードと同様の処理が可能である。従って、この場合、ゲーム制御部11は、ステップS23に戻り、上述のようなステップS23以降の処理を実行する。また、タイムラグが発生していないと判別される場合が本発明の所定の回復条件が満たされる場合として機能する。
【0093】
なお、ステップS25では、ゲーム制御部11は、今回の処理にて使用した操作情報を使用済みに設定するとともに、所定数前の他機用の操作時期に対応する操作情報を消去する処理を実行してもよい。或いは、所定対象のレコードに対応する操作情報以前の操作情報を一律消去してもよい。図13のステップS28を経由してステップS25の処理が実行される場合には、タイムラグが発生した後に、そのタイムラグが解消された場合が含まれる。このような場合、記憶部63に含まれる操作情報に使用されるべきでない未使用の操作情報が残る。上記の処理が実行されることにより、不要な操作情報の誤使用が抑制される。
【0094】
図12及び、図13のルーチンが実行されることにより、自機及び対戦相手のゲーム機に対応する各オブジェクト60を配置すべき経路Wが決定される。また、対戦相手のゲーム機については、タイムラグが発生した場合には、所定の経路が利用され、本来使用すべき操作情報がオブジェクト60の経路等の決定に使用されない。一方で、タイムラグが既に発生している場合には、例えば、一つ前の操作情報等、所定数ずれた操作情報がオブジェクト60の経路等の決定に使用される。更に、タイムラグが解消した場合には、本来使用されるべき操作情報が使用され、正常な経路等がオブジェクト60の経路等として使用される。
【0095】
次に、タイムラグ監視処理ルーチンについて説明する。図14は、タイムラグ監視処理ルーチンのフローチャートの一例を示す図である。図14のルーチンは、図13のステップS27にて、呼び出されて実行される。また、図14のルーチンは、適正な操作情報の使用に問題が生じる程度のタイムラグが発生しているか否かを判断するための処理である。そして、ゲーム制御部11は、このルーチンを主としてタイムラグ監視部64を通じて実行する。
【0096】
図14のルーチンを開始すると、ゲーム制御部11は、まずステップS41にて、記憶部63に記憶された対戦相手のゲーム機2の(第2プレイヤの)操作情報を取得する。この取得範囲は、全ての操作情報でもよいし、一部でもよい。一部の場合、処理対象のレコードに対応する指示レコードの操作時期及び、その操作時期から一定範囲の時期が含まれるように実行される。続くステップS42にて、ゲーム制御部11は、第2プレイヤの操作情報を適切に反映可能な制限時間を算出する。この算出は、例えば、次のようにして実行される。まず、ゲーム制御部11は、処理対象のレコード、つまり処理対象の操作時期と現在時刻との間の差を算出する。次に、算出した差に基づいて、処理対象の操作時期に対応するオブジェクト60を基準部55A(若しくは、55B)に出現させるべき出現時期を算出する。そして、算出した出現時期に、予め設定された所定の許容時間(表示に生じ得る時差を許容可能な時間)を加えることにより、制限時間が算出される。なお、制限時間は、予め設定された所定の時間が利用されてもよい。その場合、ステップS42の処理は省略されてもよい。
【0097】
次のステップS43にて、ゲーム制御部11は、処理対象のレコードに関連付けられる指示レコードの操作時期を一定範囲内に含む操作情報がステップS41で取得した操作情報内にあるか否かを判別する。この処理は、図12のルーチンのステップS22等と同様である。そして、この判別結果が肯定的結果の場合、ステップS44に進む。
【0098】
ステップS44にて、ゲーム制御部11は、ステップS42の算出結果と操作情報を受信した受信時刻とを比較して、ステップS43で判別した操作情報が制限時間内に受信した情報であるか否か判別する。この判別結果が否定的結果の場合、つまり、操作情報を制限時間内に受信していない場合(所定の時差が生じている場合)には、ゲーム制御部11は、ステップS45に進む。ステップS45にて、ゲーム制御部11は、タイムラグ発生情報、つまりタイムラグが発生しているという情報を出力して、図13のステップS27に戻る。
【0099】
一方、ステップS44の判別結果が肯定的結果の場合、つまり操作情報を制限時間内に受信している場合(所定の時差が生じていない場合)には、ゲーム制御部11は、ステップS46に進む。ステップS46にて、ゲーム制御部11は、タイムラグ未発生情報、つまりタイムラグが発生していないという情報を出力して、図13のステップS27に戻る。
【0100】
更に、ステップS43の判別結果が否定的結果の場合、つまり処理対象のレコードに関連付けられる指示レコードの操作時期を一定範囲内に含む操作情報がない場合、ゲーム制御部11は、ステップS47に進む。ステップS47にて、ゲーム制御部11は、現在時刻とステップS43で算出した制限時間とに基づいて、制限時間が到来したか否かを判別する。この判別結果が否定的結果の場合、つまり制限時間が到来していない場合には、処理対象のレコードを未処理状態のまま図12のステップS21に戻り、ゲーム制御部11は、再度ステップS21以降の処理を実行する。
【0101】
一方、ステップS46の判別結果が肯定的結果の場合、つまり制限時間が到来している場合、ゲーム制御部11は、ステップS45に進み、上述のような処理を実行する。制限時間が到来してもステップS44の判別対象となるべき操作情報が受信出来ていない場合は、タイムラグが発生していると判断できるからである。なお、第2プレイヤが未操作の場合もステップS47にて、肯定的判別結果に該当し得るが、タイムラグ制御により未操作という操作情報は次回のオブジェクト60に反映される。
【0102】
ゲーム制御部11は、ステップS45或いはステップS46の処理を終えると、図13のルーチンに戻り、ステップS47の処理結果を利用して、ステップS28の判別を実行する。これにより、適正な操作情報の使用に問題が生じる程度のタイムラグが発生しているか否かの判別が実行され、それの判別結果に基づいて図13のルーチンが実行される。
【0103】
以上に説明したように、この形態によれば、自機が他機とネットワーク5を介して対戦しているときに操作情報の使用に問題が生じるようなタイムラグが発生した場合には、タイムラグ制御が実行される。タイムラグ制御により、タイムラグが発生した場合には、本来使用されるべき第2プレイヤの操作情報に替えて、所定の経路等が使用される。つまり、第2プレイヤの操作情報の受信を不適切な表示が生じるほど待機する必要がない。このため、第2プレイヤの操作情報を反映して自機に表示すべきオブジェクト60を適切な時間内に表示することができる。これにより、タイムラグによって生じる表示遅れを解消することができる。
【0104】
一方、タイムラグにより使用されなかった第2プレイヤの操作情報は、その後所定数遅れてオブジェクト60の経路等に反映される。つまり、タイムラグが生じても所定数の遅れを挟んで第2プレイヤの操作情報を自機の表示に反映することができる。これにより、タイムラグによる影響を抑制することができるので、対戦ゲームの興趣性を維持することができる。
【0105】
なお、タイムラグの影響を解消する手法として、他にも他機の操作情報を取得した後に、その操作情報に応じてオブジェクト60の位置を補正するという手法も考えられる。この場合、他機の操作情報を適切に使用できるが、取得時期によってはオブジェクト60の移動速度が速くなりすぎる場合がある。この形態によれば、このような問題も解消可能である。
【0106】
更に、タイムラグが解消された場合には、所定数の遅れが解消され、第2プレイヤの操作情報が適切に反映される。つまり、タイムラグが発生しても、それが解消された場合には、適切に操作情報が反映される表示に戻すことができる。これにより、タイムラグによって生じる表示と操作情報との間のずれを最小限に抑えることができる。
【0107】
以上の形態において、制御ユニット10が音声出力制御部13を通じて楽曲再生手段として機能する。また、制御ユニット10がゲーム制御部11を通じて図11のルーチンを実行することによりゲーム領域提示手段、標識表示制御手段及び、基準時期案内手段として機能する。同様に、制御ユニット10がゲーム制御部11を通じて図12及び図13のルーチンを実行することにより関係変更手段として機能する。更に、制御ユニット10がゲーム制御部11を通じて図14のルーチンを実行することにより時差判別手段、及び、制限時間算出手段として機能する。一方、外部記憶装置20がシーケンスデータ28を記憶することにより、関係情報記憶手段として機能する。
【0108】
本発明は上述の形態に限定されず、適宜の形態にて実施することができる。上述の形態では、所定の変更条件として、タイムラグ(所定の時差)が生じている場合が採用されている。また、この判断には、図14のルーチンが使用されている。しかし、本発明は、このような形態に限定されない。例えば、図14のルーチンを省略して、予めタイムラグを考慮した所定数が設定されてもよい。つまり、所定の変更条件は、所定の設定が実行されることにより満たされてもよい。また、上述の形態では、図13のステップS30等、タイムラグ制御にて、使用する操作情報と実際の表示との関係をずらすために、所定数が使用されている。また、この所定数は、例えば、“1”等、予め設定されている。しかし、本発明は、このような形態に限定されない。例えば、図14に示すタイムラグ監視処理ルーチンの処理結果に基づいて、他機の情報の受信に要した時間から算出する等により、この所定数が決定されてもよい。
【0109】
上述の形態では、図14に示すタイムラグ監視処理ルーチンが図13のサブルーチンとして、図13と同じ周期で実行されている。しかし、本発明はこのような形態に限定されない。例えば、タイムラグ監視処理ルーチンは、図13とは別のルーチンとして、初回の情報の送受信時のみに実行されてもよい。この場合、初回のタイムラグ監視処理ルーチンの判別結果に基づいて、初回のみ図13のステップS33に示す所定の経路等が使用され、以降の図13のルーチンでは、毎回所定数ずれた操作情報が使用されてよい。この場合、ステップS28の処理、つまりタイムラグが解消された場合に操作情報と表示との関係を適切に戻す処理は、省略されてもよい。
【0110】
上述の形態では、プレイヤのプレイ行為としての操作を入力するためにタッチパネル9が利用されている。しかし、本発明はこのような形態に限定されない。例えば、プレイ行為を入力するための装置として、プレイヤの動作を撮影するカメラ、その撮影結果に基づいてプレイヤの動作を検出する検出手段、及び、検出結果に基づいて、プレイ行為を特定する特定手段を利用する装置が適用されてもよい。従って、プレイ行為は、操作部を操作する行為に限定されない。
【0111】
また、ゲーム中には、オブジェクト60に加えて、その他の操作指示標識が表示されてもよい。このような操作指示標識の一つとして、例えば、所定の表示条件を満たした場合(例えば、所定の操作が実行された場合、所定の得点を獲得した場合、所定のオプションを取得した場合等に満たされる)に特別のオブジェクトが表示されてもよい。そして、他機の特別のオブジェクトへの操作情報が制限時間内に受信できない場合、その操作情報は、自機に次に表示される特別のオブジェクトへの操作情報として使用されてもよいし、時間的に可能であれば、次に自機に表示される通常のオブジェクト60への操作情報として使用されてもよい。
【0112】
上述の各形態では、ゲーム機2は楽曲が再生され、楽曲の演奏時間に基づいて操作指示標識が基準部に向かって移動する音楽ゲーム機として構成されているが、このような構成に限定されるものではない。ゲーム機2では、通信回線を介して複数の端末にて、進行するゲームであって、一方のプレイ行為が他方のゲームの進行に影響を与える各種のゲームを実行可能である。このようなゲームとして、例えば、その他にもロールプレイングゲーム、アクションゲーム、スポーツゲーム、シューティングゲーム等が適用されてよい。更に、本発明のゲーム機は、商業施設に設置される業務用ゲーム機、家庭用の据置型ゲーム機、携帯型のゲーム機等、適宜の形態で実現されてよい。
【符号の説明】
【0113】
1 ゲームシステム
2 ゲーム機
5 ネットワーク(通信回線)
8 モニタ(表示装置)
9 タッチパネル(入力装置、操作部)
10 制御ユニット(コンピュータ、基準時期案内手段、関係変更手段、時差判別手段、制限時間算出手段、ゲーム領域提示手段、標識表示制御手段)
14 スピーカ(音声出力装置)
20 外部記憶装置(関係情報記憶手段、楽曲データ記憶手段)
21 ゲームプログラム
22 ゲームデータ
25 楽曲データ
28 シーケンスデータ
50 ゲーム画面
52 ゲーム領域
60 オブジェクト(操作指示標識)
28g 出現位置指示部(関係情報)
55A 第1基準部(操作部)
55B 第2基準部(操作部)
W 経路(移動経路)
【技術分野】
【0001】
本発明は、通信回線を介して接続された複数の端末間にて、各端末のプレイヤによるプレイ行為に基づいてゲームを進行させるゲームシステムに適用され、複数の端末の一つとして機能することが可能なゲーム機、それに用いる制御方法及び、コンピュータプログラムに関する。
【背景技術】
【0002】
通信回線を介して接続された複数のゲーム機間にて対戦型のゲームを進行させるゲームシステムが知られている(例えば、特許文献1参照)。一方、対戦中の一方のプレイ結果が他方のゲームの進行に影響を与えるゲーム機も存在する。このようなゲーム機として、音楽のリズムに合わせて交互に操作部を操作するゲーム機が知られている(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011−087649号公報
【特許文献2】特開2003−236243号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1のゲームシステムでは、ネットワークを介して多数のプレイヤとの対戦が実現される。しかし、このようなゲームシステムでは、通信障害等により、対戦相手のプレイ結果等、対戦相手のゲーム機から受信する情報が遅れる場合もある。一方、特許文献2のゲーム機では、対戦中の一方のプレイ結果が他方のゲームの進行に影響を与えるため、他方のゲームの進行の都合上、一方のプレイ結果を他方のゲームの進行に利用できる時間に制限がある。従って、このようなゲーム機を特許文献1のようなゲームシステムに適用した場合には、通信障害等により、ゲームの進行に支障が生じる場合がある。
【0005】
そこで、本発明は、情報受信の遅れによる影響を抑制することができるゲーム機、それに用いる制御方法及び、コンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明のゲーム機は、通信回線(5)を介して接続された複数の端末(2)間にて、各端末のプレイヤによるプレイ行為に基づいてゲームを進行させるゲームシステム(1)に適用され、前記複数の端末の一つとして機能することが可能なゲーム機であって、前記ゲーム中の自機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、前記ゲームシステムの他の端末として機能する他機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、を互いに関連付けるための関係情報(28g)を記憶する関係情報記憶手段(20)と、前記関係情報に基づいて前記自機の基準時期と関連付けられる前記他機の基準時期に対応する前記プレイ行為に応じて、当該自機の基準時期の案内態様が変化するように、各基準時期を案内する基準時期案内手段(10)と、所定の変更条件を満たした場合に、前記基準時期案内手段が前記案内態様を変化させるために前記プレイ行為を利用する前記他機の基準時期を、前記関係情報に基づく前記他機の基準時期から前記他機における当該基準時期よりも早い基準時期に変更する関係変更手段(10)と、を備えている。
【0007】
本発明によれば、所定の変更条件を満たした場合には、自機の案内態様を変化させるために利用すべき他機の基準時期が、本来の関係情報に基づくものからそれよりも早い基準時期に変更される。このため、例えば、通信障害等を考慮して、自機と他機との基準時期の対応関係を本来の関係から少しずらすことができる。より具体的には、他機のプレイ行為に関する情報等を利用する時期を遅らせることができる。これにより、受信遅れによりゲームの進行に影響が生じる時期を遅らせることができるので、情報受信の遅れによる影響を抑制することができる
【0008】
本発明のゲーム機の一態様において、前記関係変更手段は、前記関係情報に基づく前記他機の基準時期から前記他機における当該基準時期よりも早い基準時期に変更した後に、所定の回復条件を満たした場合に、前記基準時期案内手段が前記案内態様を変化させるために前記プレイ行為を利用する前記他機の基準時期を、前記早い基準時期から前記関係情報に基づく前記他機の基準時期に戻してもよい。この場合、所定の回復条件として情報受信の遅れが解消したと判断できる条件を利用することにより、プレイ行為を利用する他機の基準時期とそれを案内態様の変化として反映する自機の基準時期との関係をずれた関係から本来の関係に戻すことができる。これにより、不必要に関係がずらされることを抑制することができるので、より適切にゲームを進行させることができる。
【0009】
本発明のゲーム機の一態様において、所定の制限時間と前記他機の前記プレイ行為に関する情報の取得時間とを比較して、前記所定の制限時間と前記取得時間との間に所定の時差が生じているか否か判別する時差判別手段(10)を更に備え、前記所定の変更条件は、前記時差判別手段の判別結果に基づいて、前記所定の時差が生じている場合に満たされてもよい。また、この態様において、前記自機の基準時期に基づいて、前記所定の制限時間を算出する制限時間算出手段(10)を更に備えていてもよい。これらの場合、プレイ行為を利用する他機の基準時期とそれを案内態様の変化として反映する自機の基準時期との関係をより適切にずらすことができる。
【0010】
関係情報により関連付けられる自機の基準時期及び、他機の基準時期の数として、どのような数が適用されてもよい。例えば、前記関係情報記憶手段は、前記関係情報として、前記自機の複数の基準時期と前記他機の複数の基準時期とをそれぞれ互いに関連付ける情報を記憶していてもよい。
【0011】
本発明のゲーム機の一態様において、前記関係変更手段は、前記案内態様を変化させる前記自機の基準時期を基準にして、前記自機に対する各基準時期のうち当該自機の基準時期の直前に該当する直前基準時期を案内する際に、当該直前基準時期に対する前記案内態様として前記基準時期案内手段が所定の案内態様を使用するように、前記案内態様を変化させるために利用する情報を前記他機の操作時期に対応する前記プレイ行為に基づく情報から所定の情報に変更してもよい。プレイ行為を利用する他機の基準時期とそれを案内態様の変化として反映する自機の基準時期との関係がずらされることにより、他機の基準時期が自機の基準時期よりも多く必要になるか、重複して使用されることが生じ得る。また、プレイ行為を利用されるべき他機の基準時期が初回の場合、それよりも前の基準時期が存在しないという問題もある。この場合、プレイ行為を利用する他機の基準時期とそれを案内態様の変化として反映する自機の基準時期との関係がずらされる直前にプレイ行為に関する情報ではなく所定の情報を利用することができる。これにより、初回に生じる問題や重複使用等の問題を解消することができる。
【0012】
所定の案内態様として、どのような案内態様が利用されてもよい。例えば、本発明のゲーム機の一態様において、前記所定の案内態様として、前記プレイ行為が適切に実行されなかった場合、或いは、所定の時間内に前記プレイ行為が実行されなかった場合に利用される案内態様が使用されるように、当該案内態様と関連付けられる情報が前記所定の情報として利用されてもよい。
【0013】
本発明のゲーム機の一態様において、前記プレイ行為としての操作を入力するための少なくとも一つの操作部を有する入力装置(9)と、ゲーム画面(50)を表示する表示装置(8)と、を更に備え、前記関係情報記憶手段には、前記関係情報により、前記自機の基準時期として前記自機の操作部に対する操作時期と前記他機の操作時期として前記他機の操作部に対する操作時期とが互いに関連付けられるように記述されたシーケンスデータ(28)が記憶され、前記基準時期案内手段は、前記自機の操作部に対応する第1基準部(55A)と、前記他機の操作部に対応する第2基準部(55B)と、が間隔をあけて配置されたゲーム領域(52)を前記ゲーム画面上に表示させるゲーム領域提示手段(10)と、各操作時期を指示するための各操作指示標識(60)が第1基準部及び第2基準部を接続する複数の移動経路(W)のいずれか一つに沿って、前記自機の操作部に対する操作時期には前記第1基準部に、前記他機の操作部に対する操作時期には前記第2基準部に、それぞれ到達するように前記ゲーム領域内にて各操作指示標識を移動させつつ表示させることにより、各操作時期を案内する標識表示制御手段(10)と、を備え、前記標識表示制御手段は、前記関係情報に基づいて前記自機の操作時期と関連付けられる前記他機の操作時期に対応する前記操作指示標識への操作結果に応じて、前記自機の操作時期に対応する前記操作指示標識が移動する移動経路を変化させることにより、前記自機の操作時期の案内態様を変化させ、前記関係変更手段は、前記標識表示制御手段が前記移動経路を変化させるために前記操作結果を利用する前記操作指示標識に対応する前記他機の基準時期を、前記関係情報に基づく前記他機の基準時期から前記早い操作時期に変更してもよい。この場合、自機及び他機の各プレイヤに各操作時期を案内すべく第1基準部と第2基準部との間を複数の移動経路のいずれかに沿って移動する操作指示標識が表示されるゲームにおいて、情報受信の遅れによる影響を抑制することができる
【0014】
本発明のゲーム機の一態様において、音声を再生出力する音声出力装置(14)と、楽曲を再生させるための楽曲データ(25)を記憶する楽曲データ記憶手段(20)と、前記楽曲データに基づいて前記音声出力装置から前記楽曲を再生させる楽曲再生手段(10)と、を更に備え、各基準時期として前記楽曲中における各時期が利用されていてもよい。この場合、音楽ゲームにおいて、情報受信の遅れによる影響を抑制することができる。
【0015】
本発明の制御方法は、通信回線(5)を介して接続された複数の端末(2)間にて、各端末のプレイヤによるプレイ行為に基づいてゲームを進行させるゲームシステム(1)に適用され、前記複数の端末の一つとして機能することが可能なゲーム機(2)であって、前記ゲーム中の自機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、前記ゲームシステムの他の端末として機能する他機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、を互いに関連付けるための関係情報(28g)を記憶する関係情報記憶手段(20)を備えたゲーム機のコンピュータ(10)に、前記関係情報に基づいて前記自機の基準時期と関連付けられる前記他機の基準時期に対応する前記プレイ行為に応じて、当該自機の基準時期の案内態様が変化するように、各基準時期を案内する基準時期案内工程と、所定の変更条件を満たした場合に、前記基準時期案内工程にて前記案内態様を変化させるために前記プレイ行為を利用する前記他機の基準時期を、前記関係情報に基づく前記他機の基準時期から前記他機の当該基準時期よりも早い基準時期に変更する関係変更工程と、を実行させるものである。
【0016】
また、本発明のゲーム機用のコンピュータプログラムは、通信回線(5)を介して接続された複数の端末(2)間にて、各端末のプレイヤによるプレイ行為に基づいてゲームを進行させるゲームシステム(1)に適用され、前記複数の端末の一つとして機能することが可能なゲーム機(2)であって、前記ゲーム中の自機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、前記ゲームシステムの他の端末として機能する他機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、を互いに関連付けるための関係情報(28g)を記憶する関係情報記憶手段(20)を備えたゲーム機のコンピュータ(10)を、前記関係情報に基づいて前記自機の基準時期と関連付けられる前記他機の基準時期に対応する前記プレイ行為に応じて、当該自機の基準時期の案内態様が変化するように、各基準時期を案内する基準時期案内手段及び、所定の変更条件を満たした場合に、前記基準時期案内手段が前記案内態様を変化させるために前記プレイ行為を利用する前記他機の基準時期を、前記関係情報に基づく前記他機の基準時期から前記他機における当該基準時期よりも早い基準時期に変更する関係変更手段として機能させるように構成されたものである。本発明の制御方法或いは、コンピュータプログラムを実行することにより、本発明のゲーム機を実現することができる。
【0017】
なお、以上の説明では本発明の理解を容易にするために添付図面の参照符号を括弧書きにて付記したが、それにより本発明が図示の形態に限定されるものではない。
【発明の効果】
【0018】
以上に説明したように、本発明によれば、所定の変更条件を満たした場合には、自機の案内態様を変化させるために利用すべき他機の基準時期が、本来の関係情報に基づくものからそれよりも早い基準時期に変更される。このため、例えば、通信障害等を考慮して、自機と他機との基準時期の対応関係を本来の関係から少し遅らせることができる。これにより、受信遅れによりゲームの進行に影響が生じる時期を遅らせることができるので、情報受信の遅れによる影響を抑制することができる
【図面の簡単な説明】
【0019】
【図1】本発明の一形態に係るゲーム機が適用されたゲームシステムを示す図。
【図2】ゲーム機の物理的な構成を示す図。
【図3】ゲーム機の機能ブロック図。
【図4】ゲーム機にて実行される音楽ゲームのゲーム画面を模式的に示した図。
【図5】オブジェクトの領域を説明するための図。
【図6】シーケンスデータの内容の一例を示す図。
【図7】ゲーム機が実行するタイムラグ制御を説明するための説明図であって、操作情報と表示との関係がずらされる場合を説明するための図。
【図8】ゲーム機が実行するタイムラグ制御を説明するための説明図であって、操作情報と表示との関係が元に戻される場合を説明するための図。
【図9】タイムラグ制御を実現するためのゲーム制御部の機能ブロック図。
【図10】操作検出処理ルーチンのフローチャートの一例を示す図。
【図11】シーケンス処理ルーチンのフローチャートの一例を示す図。
【図12】経路補正処理ルーチンのフローチャートの一例を示す図。
【図13】図12に続くフローチャートの一例を示す図。
【図14】タイムラグ監視処理ルーチンのフローチャートの一例を示す図。
【発明を実施するための形態】
【0020】
以下、本発明に係るゲーム機の一形態について説明する。図1は、本発明の一形態に係るゲーム機が適用されたゲームシステムを示す図である。ゲームシステム1においては、複数のゲーム機2と、センターサーバ3とがルータ4を介してネットワーク5にそれぞれ接続されている。センターサーバ3は、一台の物理的装置によって構成されている例に限らない。例えば、複数の物理的装置としてのサーバ群によって一台の論理的なセンターサーバ3が構成されていてもよい。各ゲーム機2は、ネットワーク5に接続されることにより、ゲームシステム1の端末装置(或いは、クライアント)として機能する。ネットワーク5としては、インターネットが使用されている。なお、ネットワーク5は、通信回線を使用したものであればよく、インターネットに限定されるものではない。また、通信回線は、有線及び、無線のいずれであってもよい。
【0021】
各ゲーム機2は、プレイ料金の支払いと引き換えに所定範囲のゲームのプレイを許可する業務用のゲーム機として構成されている。ゲーム機2は、店舗6等の商業施設に適当な台数ずつ設置される。ルータ4は、各店舗6及びセンターサーバ3に対応付けて設置される。同一店舗のゲーム機2は、共通のルータ4を介してネットワーク5に接続されている。なお、ゲーム機2と店舗6のルータ4との間にローカルサーバが設置され、そのローカルサーバを介してゲーム機2がセンターサーバ3と通信可能に接続されていてもよい。
【0022】
センターサーバ3には、制御ユニット(不図示)が設けられている。制御ユニットは、マイクロプロセッサと、そのマイクロプロセッサにて実行されるべきオペレーティングシステム等のプログラムが記録されたROM、及びマイクロプロセッサに対する作業領域を提供するRAM等の内部記憶装置(不図示)とを備えたコンピュータとして構成されている。また、センターサーバ3には、外部記憶装置(不図示)が接続されている。外部記憶装置には、制御ユニットにて実行されるべき各種サーバ用プログラム及び、そのプログラムが参照する各種データがそれぞれ記憶されている。
【0023】
図2は、ゲーム機2の物理的な構成を示す図である。ゲーム機2は、筐体7と、筐体7の上面にプレイヤP側に傾けられて配置される表示装置としてのモニタ8と、を備えている。モニタ8の表面には、透明なタッチパネル9が重ね合わされている。タッチパネル9は、プレイヤPが指等で触れると、その接触位置に応じた信号を出力する公知の入力装置である。その他にも、ゲーム機2には、選択或いは決定をするためのボタン、電源スイッチ、ボリューム操作スイッチ、電源ランプといった通常の業務用のゲーム機が備えている各種の入力装置及び出力装置が設けられているが、図2ではそれらの図示を省略している。
【0024】
図3は、ゲーム機2の機能ブロック図である。図3に示すように、筐体7の内部には、コンピュータとしての制御ユニット10が設けられている。制御ユニット10は、制御主体としてのゲーム制御部11と、そのゲーム制御部11からの出力に従って動作する表示制御部12及び、音声出力制御部13と、を備えている。ゲーム制御部11は、マイクロプロセッサと、そのマイクロプロセッサの動作に必要な内部記憶装置(一例としてROM及びRAM)等の各種の周辺装置とを組み合わせたユニットとして構成されている。表示制御部12は、ゲーム制御部11から与えられる画像データに応じた画像をフレームバッファに描画し、その描画した画像に対応する映像信号をモニタ8に出力することにより、モニタ8上に所定の画像を表示させる。音声出力制御部13は、ゲーム制御部11から与えられる音声再生データに応じた音声再生信号を生成して、制御ユニット10に接続された音声出力装置としてのスピーカ14に出力することにより、スピーカ14から所定の音声(楽音等を含む)を再生させる。
【0025】
ゲーム制御部11には、外部記憶装置20が接続されている。外部記憶装置20には、DVDROM、CDROM等の光学式記憶媒体、あるいはEEPROM等の不揮発性半導体メモリ装置といった、電源の供給がなくても記憶を保持可能な記憶媒体が使用される。
【0026】
外部記憶装置20には、ゲームプログラム21と、ゲームデータ22とが記憶されている。ゲームプログラム21は、ゲーム機2にて所定の手順に従って音楽ゲームを実行するために必要なコンピュータプログラムである。ゲーム機2が起動されると、ゲーム制御部11はその内部記憶装置に記憶されたオペレーションプログラムを実行することにより、ゲーム機2として動作するために必要な各種の初期設定を実行し、続いて、外部記憶装置20からゲームプログラム21を読み込んでこれを実行することにより、ゲームプログラム21に従って音楽ゲームを実行するための環境を設定する。ゲーム制御部11は、コンピュータハードウェアとコンピュータプログラムとの組み合わせによって実現される論理的装置である。ゲーム制御部11は、プレイヤが選択した音楽(楽曲)の再生に合わせてプレイヤに操作を指示し、或いはプレイヤの操作に応じて効果音を発生させるといった音楽ゲームに必要な処理を実行する。更に、ゲーム制御部11は、プレイヤの操作を評価し、かつその評価結果に応じてゲーム中に変化を生じさせるため処理等も実行する。
【0027】
ゲームデータ22には、ゲームプログラム21に従って音楽ゲームを実行する際に参照されるべき各種のデータが含まれている。このような各種データとして、例えば、ゲームデータ22には、楽曲データ25、効果音データ26及び画像データ27が含まれている。楽曲データ25は、ゲームの対象となる楽曲をスピーカ14から再生出力させるために必要なデータである。図3では、一種類の楽曲データ25が示されているが、実際には、プレイヤが複数の楽曲からプレイする楽曲を選択可能である。ゲームデータ22には、それらの複数の楽曲データ25がそれぞれの曲を識別するための情報を付して記録されている。楽曲データ25を記憶することにより、外部記憶装置20は楽曲データ記憶手段として機能する。
【0028】
効果音データ26は、プレイヤの操作に応答してスピーカ14から出力させるべき複数種類の効果音を、効果音毎にユニークなコードと対応付けて記録したデータである。効果音は、楽器その他の様々な種類の音声を含む。効果音データは、各種類に対して、音程を変えて所定のオクターブ数だけ用意されていてもよい。画像データ27は、ゲーム画面内の背景画像、各種のオブジェクト、アイコン等をモニタ8に表示させるためのデータである。
【0029】
ゲームデータ22には、更にシーケンスデータ28が含まれている。シーケンスデータ28は、プレイヤに対して操作時期を指示するためのデータである。一曲の楽曲データに対して、最低一個のシーケンスデータ28が用意される。シーケンスデータ28の詳細は後述する。
【0030】
次に、ゲーム機2にて実行される音楽ゲームの概要を説明する。ゲーム機2は、音楽に合わせて二人のプレイヤ(ゲーム機2が一方のプレイヤとして機能する場合を含む)が操作を実行し、その二人のプレイヤの操作時期を評価して競わせる対戦タイプの音楽ゲーム機として構成されている。また、ゲーム機2は、このような音楽ゲームを通じて、自機のプレイヤと、ネットワーク5を介して接続された他のゲーム機2(他機)のプレイヤとが対戦可能なように構成されている。
【0031】
ゲームが開始される前に、各ゲーム機2からセンターサーバ3に対して、ネットワーク5を介して対戦者を求めるマッチング要求が送信される。センターサーバ3は、各ゲーム機2からのマッチング要求に基づいて、互いに対戦相手となる二人のプレイヤをマッチングする。センターサーバ3の指定に基づいて対戦相手が決定されると、それらのプレイヤ間で、ゲーム機2間の通信を利用した対戦が開始される。
【0032】
図4は、ゲーム機2にて実行される音楽ゲームのゲーム画面を模式的に示した図である。ゲーム画面50には、プレイヤに操作時期を案内するためのゲーム領域52と、マッチングされた二人のプレイヤの得点等を含むゲーム情報を表示するための情報領域53とが含まれている。ゲーム領域52は矩形に形成されている。ゲーム領域52の長手方向(図4の上下方向)の両端52U、52Bの付近には、基準部としての第1基準部55A及び第2基準部55Bが互いに対向するように配置されている。各基準部55A、55Bは、ゲーム領域52の長手方向と直交する方向に直線状に延びている。
【0033】
各基準部55A、55Bは、マッチングされた2台のゲーム機2をプレイする両プレイヤによりそれぞれゲーム上の現在時刻の基準として用いられる。具体的には、第1基準部55Aは自機のプレイヤ(以下、第1プレイヤと呼ぶことがある。)の、第2基準部55Bは対戦相手となる他機のプレイヤ(以下、第2プレイヤと呼ぶことがある。)の、それぞれ現在時刻の基準を示す標識として機能する。ここで、図4の例では、ゲーム画面50は、第1プレイヤから見て、手前側を下に、奥側を上にして描かれている。また、各基準部55A、55Bには、各プレイヤを区別するために異なる色が用いられている。図4の例では、第1基準部55Aとして赤色の直線が、第2基準部55Bとして青色の直線が、それぞれ用いられている。また、情報領域53は、ゲーム領域52の周囲に配置され、ゲーム領域52の長手方向の一端側が一方のプレイヤの得点等を表示するために用いられ、他端側が他方のプレイヤの得点等を表示するために用いられる。
【0034】
各基準部55A、55Bは、所定の間隔で配置された複数の反発点をそれぞれ含んでいる。図中に破線で示したように、第1基準部55Aに含まれる複数の反発点R1と第2基準部55Bに含まれる複数の反発点R2とは、それぞれ複数の経路Wによって相互に接続されている。具体的には、第1基準部55Aの一の反発点R1からは第2基準部55Bに含まれる複数の反発点R2に到る複数の経路Wが、同様に第2基準部55Bの一の反発点R2からは第1基準部55Aに含まれる複数の反発点R1に到る複数の経路Wが、それぞれ設けられている。なお、図4では、一部の反発点R1、R2のみが例示されているが、実際には、多数の反発点R1、R2が基準部55A、55Bに沿って一定間隔で存在する。
【0035】
第1基準部55Aの反発点R1から延びる複数の経路Wは、反発点R2を通過しつつ第2基準部55B側の上側端部52Uまで延びている。また、第2基準部55Bの反発点R2から延びる複数の経路Wは、反発点R1を通過しつつ第1基準部55A側の下側端部52Bまで延びている。第1基準部55Aの一つの反発点R1に着目すると、その反発点R1に対しては、複数の経路Wとして、第2基準部55Bに含まれる3つの反発点R2に向かってこの反発点R1から延びる3つの経路W1、W2、W3が設けられている。音楽ゲームの実行中、つまり、楽曲の再生の進行中において、反発点R1と反発点R2とを接続する経路W上には、操作を指示する操作指示標識としてのオブジェクト60がシーケンスデータ28に従って表示される。なお、図4では、説明の都合上、各経路W1、W2、W3を破線で示したが、実際のゲーム画面50には複数の経路Wのいずれも表示されていない。
【0036】
オブジェクト60は、曲中の適当な時期に反発点R1或いは、反発点R2に出現し、楽曲の進行に従って、出現した各反発点R1、R2から反対側に位置する各反発点R1、R2に向かって、出現した各反発点R1、R2から延びる経路W上を移動する。そして、オブジェクト60の到達に合わせて適切な操作が実行された場合、オブジェクト60は消滅する。このオブジェクト60の消滅と引き換えに、適切な操作が実行された各基準部55A、55Bの各反発点R1、R2には、次のオブジェクト60が出現する。つまり、適切な操作が行われた場合、オブジェクト60が到達した位置(反発点)が次のオブジェクト60の出現位置として機能する。なお、オブジェクト60は、一つの反発点R1(又はR2)に対して設定された複数の経路Wのいずれか一つに沿って移動する。複数の経路Wから一つの経路Wを選択する手順については後述する。
【0037】
出現位置に出現したオブジェクト60は、その出現位置から反対側に位置する各反発点R1、R2に向かって移動する。このため、適切な操作が実行された場合には、オブジェクト60は、各反発点R1、R2であたかも反発するように、各基準部55A、55B間を交互に繰り返し移動する。一方、適切な操作が実行されなかった場合には、オブジェクト60は、各経路Wに沿って各基準部55A、55Bを通過して、上側端部52U又は下側端部52Bまで移動する。そして、各端部52U、52Bのオブジェクト60が到達した位置が次のオブジェクト60の出現位置として機能する。このため、適切な操作が実行されなかった場合には、オブジェクト60は、各端部52U、52Bから反対側に位置する基準部に向かって、各端部52U、52Bにてあたかも反発したかのように移動方向を変える。端部52U、52Bにて反発した後のオブジェクト60の移動経路については、側壁52L、52Rを経由せず、次に到達すべき反発点までの距離が最小となる経路に設定される。
【0038】
上述した適切な操作として、各プレイヤには、オブジェクト60の各基準部55A、55Bへの到達に合わせて、各基準部55A、55Bのオブジェクト60が到達した位置をタッチするタッチ操作が要求される。各プレイヤがタッチ操作を行うと、オブジェクト60が各基準部55A、55Bに一致した時刻と、各プレイヤがタッチ操作した時刻との間のずれ時間が検出される。そのずれ時間が小さいほどプレイヤの操作が高く評価される。また、タッチ操作に応じて効果音がスピーカ14から再生される。効果音の再生方法として周知の方法が適用されてよい。例えば、効果音再生の周知な方法として、楽曲を再生しつつ楽曲の上から効果音を追加する方法、ミスした場合に楽曲を消音しつつミス操作に対応した効果音を再生する方法が存在する。また、例えば、楽曲を分割して各操作時期に割り当てて、適切な操作が実行された場合、当該操作時期に割り当てられた楽曲のパートが演奏される(各操作時期に対する適切な操作により楽曲を形成するような方法。このため、ミス操作がされた場合には、その操作時期に割り当てられた楽曲のパートが再生されない)方法も存在する。
【0039】
図4の例では、オブジェクト60が経路W1上にて第2基準部55Bの反発点R2に向かって移動中である。そのオブジェクト60の第2基準部55Bへの到達に合わせて、第2プレイヤは、他機(第2プレイヤからみて自機)のゲーム画面50に表示されている第2基準部55Bのオブジェクト60が到達する位置をタッチ操作すればよい。また、オブジェクト60は、これから向かう先の各基準部55A、55Bに対応した色で表示されている。つまり、図4の例では、オブジェクト60は第2基準部55Bの反発点R2に到達するまで青色で表示され、到達した反発点R2に出現する次のオブジェクト60は赤色で表示される。本形態では、モニタ8上の各基準部55A、55Bと、それらに重ね合わされるタッチパネル9との組み合わせによって、複数の操作部が形成される。なお、以下では、各基準部55A、55Bを、操作部を代表する用語として使用することがある。また、第2基準部55Bは、対戦相手のプレイヤのゲーム機2(他機)の操作部に対応する基準部である。
【0040】
オブジェクト60が移動する経路Wの選択は、各基準部55A、55Bがタッチ操作されたときのオブジェクト60の位置に基づいて決定される。位置の対比を容易にするために、オブジェクト60は複数の領域に分けられる。図5は、オブジェクト60の領域を説明するための図である。図5の破線は経路W1、W2、W3をそれぞれ示し、一点鎖線62は各領域の境界をそれぞれ示している。
【0041】
図5の例では、オブジェクト60は各基準部55A、55Bと最初に接触する接触点付近の接触領域Sと、その接触領域Sの左右に位置する右側領域R、左側領域L及び、その他の領域Oの4つの領域に分けられる。そして、プレイヤがいずれの領域をタッチ操作したかに応じて、次にオブジェクト60が進むべき経路Wが選択される。即ち、オブジェクト60が進むべき移動経路として、接触領域S又は、その他の領域O付近(これらの各領域を含む)がタッチ操作された場合にはR1に最短距離で向かう直線経路W2が、左側領域L付近(当該領域を含む)がタッチ操作された場合にはゲーム領域52の長手方向の右側の側壁52Rを経由してR1に向かう第1右側経路W3が、右側領域R付近(当該領域を含む)がタッチ操作された場合にはゲーム領域52の長手方向の左側の側壁52Lを経由してR1に向かう第1左側経路W1が、それぞれ選択される。移動経路W1〜W3のそれぞれの距離は、互いに異なる。従って、操作位置とオブジェクト60の位置との間の位置関係に応じて、オブジェクト60が次の各基準部55A、55Bに移動するための移動距離に差が生じる。一方で、移動経路に関係なくオブジェクト60をタッチ操作すべき操作時期、つまり、各基準部55A、55Bにオブジェクト60が到達すべき時期は一定である。このため、一方のプレイヤのタッチ操作に応じて他方のプレイヤに向かって移動するオブジェクト60の経路W及び移動速度が変化する。これによりゲームの難易度が変化するので、各プレイヤには相手プレイヤへの影響を意識した操作が要求される。
【0042】
なお、図4では、ゲーム領域52に単一のオブジェクト60のみが表示された状態を示している。しかし、ゲーム領域52には、位置、速度或いは経路が互いに相違する複数のオブジェクト60が表示されることもある。その場合、各オブジェクト60の出現位置、移動経路、消滅位置といったオブジェクト60の表示及び移動に関する制御は、上述した例に従ってオブジェクト60毎に行われる。
【0043】
次に、図6を参照して、シーケンスデータ28の詳細を説明する。図6は、シーケンスデータの内容の一例を示す図である。図6に示すように、シーケンスデータ28は、条件定義部28aと、操作シーケンス部28bと、を含んでいる。条件定義部28aには、音楽のテンポ、ビート、トラック、また、オブジェクト60をタッチ操作したときにそれぞれ発生させるべき効果音を指定する情報等、楽曲毎に異なるゲームの実行条件を指定する情報が記述される。なお、図6では条件定義部28aがシーケンスデータ28の先頭のみに設けられているが、操作シーケンス部28bの途中の適宜の位置にも条件定義部28aが追加されてよい。それにより、曲中のテンポの変更、効果音の割り当ての変更といった処理を実現することができる。
【0044】
一方、操作シーケンス部28bには、オブジェクト60をタッチ操作すべき時期と、タッチ操作を行うべきプレイヤを指示する情報(言い換えれば、各基準部55A、55Bのうち、オブジェクト60が到達すべきいずれか一方の基準部を指示する情報)とが対応付けて記述されている。また、操作シーケンス部28bには、オブジェクト60の出現位置を指示するための情報も含まれている。
【0045】
図6にて、一部の詳細を示すように、この例では、操作シーケンス部28bは、楽曲中において操作が行われるべき基準時期としての時期(操作時期)を指示する操作時期部28cと、オブジェクト60の表示が開始されるべきプレイヤ(言い換えれば、オブジェクト60の表示が開始されるべき、いずれか一方の基準部)を指示する表示位置指示部28eと、各レコードを区別するためのレコード情報部28hと、オブジェクト60の出現位置を指示する関係情報としての出現位置指示部28gと、を含んでいる。つまり、操作シーケンス部28bは、これらの情報が互いに対応付けられるように記述された複数のレコードの集合として構成されている。
【0046】
操作時期は、楽曲中の小節番号、拍数、及び拍中の時刻を示す値がカンマで区切られて記述されている。拍中の時刻は、一拍の先頭からの経過時間であり、一拍の時間長をn個の単位時間に等分したときのその拍の先頭からの単位数で表現される。例えば、n=100で、楽曲の一小節目の二拍目で、かつその拍の先頭から1/4だけ経過した時刻を操作時期として指定する場合には、“01,2,025”と記述される。
【0047】
表示位置指示部28eには、いずれのプレイヤ側にオブジェクト60を表示開始するかの指示が記述されている。具体的には、第1プレイヤに対応する第1基準部55A側を指示する場合には“P1”と、第2プレイヤに対応する第2基準部55B側を指示する場合には“P2”と、それぞれ記述される。また、オブジェクト60は、各基準部55A、55B間を移動するので、表示開始されるプレイヤの指示は、タッチ操作を要求する基準部の指示にも相当する。具体的には、表示開始する位置として第1基準部55A側が指示されている場合には、表示開始されたオブジェクト60は反対側の第2基準部55Bに向かって移動するので、第2基準部55Bへのタッチ操作の指示に該当する。同様に、表示開始する位置として第2基準部55B側が指示されている場合には、反対側、つまり表示開始されたオブジェクト60の移動方向に位置する第2基準部55Aへのタッチ操作の指示に該当する。更に、オブジェクト60が表示開始されるプレイヤの指示は、表示されるオブジェクト60の色の指示にも該当し、“P1”の場合に青色のオブジェクト60が、“P2”の場合に赤色のオブジェクト60が、それぞれ表示される。
【0048】
レコード情報部28hには、レコード毎に並び順に応じた番号が記述されている。即ち、レコード情報として、冒頭のレコードには“1”が付され、以降、上から順に“2”、“3”等のユニークな番号が各レコードに付されている。
【0049】
出現位置指示部28gには、レコード番号を指定する情報が記述されている。即ち、出現位置を指示する情報として、“1”、“2”、“3”等の番号が記述されている。出現位置指示部28gに、“1”と記述されている場合、レコード情報部28hに“1”が付されているレコードにて指示されるオブジェクト60の到達位置が出現位置として指示される。具体的には、レコード情報部28hの番号1に対応するオブジェクト60が適切にタッチ操作された位置或いは、ミス操作により到達した位置が、出現位置指示部28gに、“1”と記述されているレコードに対応するオブジェクト60の出現位置として指示されている。同様に、出現位置指示部28gに、“2”と記述されている場合にはレコード情報部28hに“2”が、“3”と記述されている場合にはレコード情報部28hに“3”が、それぞれ付されているレコードに対応するオブジェクト60が適切にタッチ操作された位置或いは、到達した位置が出現位置として指示されている。
【0050】
更に、出現位置指示部28gに記述される情報は、出現時期の指示にも該当する。具体的には、レコード情報部28hに“1”が付されているレコードに対応するオブジェクト60が適切にタッチ操作された時期(或いは、各端部52U、52Bに到達した時期)に、出現位置指示部28gに“1”と記述されているレコードに対応するオブジェクト60が表示開始される。つまり、出現位置指示部28gには、オブジェクト60の連続性を演出するため、一のレコードに対応するオブジェクト60が到達した時期(若しくは適切にタッチ操作された時期)であって、当該到達した位置(若しくは適切にタッチ操作された位置)に次のオブジェクト60が表示開始されるように、一のレコードと次のオブジェクト60に対応するレコードとを関連付けるための指示が記述されている。また、最初のレコードに対応するオブジェクトの出現位置は、初期出現位置として固定の位置を示す情報が記述されている。例えば、このような初期出現位置を指示する情報として、出現位置指示部28gには、“S”等のアルファベットが記述される。
【0051】
図6の例では、一小節目の四拍目の開始時点から“010”相当だけ経過した時期に第2基準部55Bに到達する赤いオブジェクト60が第1基準部55Aの初期出現位置に出現するという指示がされている。また、このオブジェクト60の到達位置及び時期(或いは適切にタッチ操作された位置及び時期)が一小節目の四拍目の開始時点から“016”相当だけ経過した時期に第2基準部に到達する青いオブジェクト60の出現位置及び出現時期として機能するように指示されている。
【0052】
次に、ネットワーク5を介して他のゲーム機2との対戦が実行されている場合にゲーム機2にて実行されるタイムラグ制御について説明する。ネットワーク5を介して他のゲーム機2との対戦が実行されている場合には、例えば、通信環境等の影響により、第2プレイヤの操作情報(他機からの操作情報)の受信が遅れる場合がある。このような場合、ゲーム機2では、通信遅れにより生じる問題を解消するためにタイムラグ制御が実行される。
【0053】
上述のように、ゲーム機2で実行される音楽ゲームでは、第1プレイヤと第2プレイヤとが交互に操作を実行する。また、第2プレイヤの操作結果に応じて、第1プレイヤが操作を実行すべきオブジェクト60の出現位置、経路及び、速度が変化する。一方で、オブジェクト60が各基準部55A、55Bに到達すべき時期は、シーケンスデータ28により予め指定されており、変化しない。従って、第1基準部55Aに到達すべきオブジェクト60の出現位置、出現時期及び、移動経路の決定には、時間的な制限がある。このため、仮に、ゲーム機2が第2プレイヤの操作情報を、その操作情報を反映すべきオブジェクト60に対して指定されている到達時期(操作時期)以降に受信してもそれをオブジェクト60に反映することはできない。また、それ以前に、このような場合、第1基準部55Aへ移動するオブジェクト60の出現位置、出現時期、及び経路を決定すべき情報がないため、このオブジェクト60を適切に出現させ、かつ移動させることができない。タイムラグ制御は、このような問題を解消するために実行される。
【0054】
従って、タイムラグ制御は、第2プレイヤの操作情報をオブジェクト60に反映可能な時間内に他機から第2プレイヤの操作情報が取得できない場合に実行される。具体的には、このような場合、タイムラグ制御により、第2プレイヤの操作情報が反映されるべきオブジェクト60に対して、予め設定された所定の位置、所定の時期及び、経路が適用される。つまり、タイムラグ制御により、第2プレイヤの操作情報に応じて決定されるべきオブジェクト60の出現位置、出現時期及び、経路は、第2プレイヤの操作情報に替えて、所定の時期、所定の位置及び、所定の経路に基づいて決定される。
【0055】
図7及び図8を参照して、更にタイムラグ制御について説明する。図7は、ゲーム機2が実行するタイムラグ制御を説明するための説明図である。上述のように、対戦中の各ゲーム機2では、交互に操作が実行され、対戦相手側(他機側)の操作結果が自機側に反映される。つまり、対戦相手側の操作情報に基づいて自機側の表示が決定される。従って、図7に示すように、ゲーム画面50を表示するための要素は、自機側と対戦相手側とに分けられ、かつ、対戦相手側は自機側に表示される情報と、対戦相手側で実際に実行される操作とに分類できる。以下、順を追って、タイムラグ制御により実現される内容について説明する。
【0056】
上述のように、オブジェクト60の移動を通じて、各プレイヤには交互に操作が促されるため、自機側のプレイヤの操作と対戦相手側(他機側)の操作とは一対と考えられる。これら一対の操作には、図7では、“操作1”、“操作2”等、共通の操作番号を振って対応関係が示されている。つまり、自機側の“操作1”により対戦相手側の“操作1”が生じる。また、対戦相手側の操作により、次の自機側の操作が促される。このため、対戦相手側の“操作1”により自機側の次の操作、つまり“操作2”が促される。このように、音楽ゲームは、一対の操作単位で進行すると考えられる。
【0057】
図7の例では、まず一対の“操作1”において、通信及び表示が適切であった場合が示されている。つまり、タイムラグ制御は、これらの“操作1”に対しては実行されていない。この場合、対戦相手側に対応する自機側の表示は、対戦相手側の操作情報を実際に反映した適切なものである(図7では、このような場合が対戦相手側の表示欄及び操作欄に跨るように楕円を配置することにより表現されている)。
【0058】
一方、一対の“操作2”においては、相手側の操作情報を制限時間よりも遅れて受信した場合が示されている。つまり、タイムラグ制御が実行される場合が示されている。図7に示すように、この場合、実際の対戦相手側の操作と、対戦相手側に対応する自機側の表示とは、分離される。つまり、自機側のプレイヤ(第1プレイヤ)に次の操作を指示する為のオブジェクト60には、対戦相手側の実際の操作は反映されない。この場合、自機側のプレイヤに次の操作を指示するためのオブジェクト60は、所定の位置に出現し、所定の経路を移動して、第1プレイヤに操作時期を案内する。この際の所定の位置及び、所定の経路は、第2プレイヤ(対戦相手側の他機のプレイヤ)の実際の“操作2”とは無関係である。また、このオブジェクト60が出現する時期は、例えば、制限時間限界の時期等、所定の時期である。
【0059】
このように、第2プレイヤによる実際の“操作2”の情報とは切り離されて、次の第1プレイヤの“操作3”が案内される。一方、第2プレイヤの“操作2”の情報は、次の“操作3”においても通信に遅れが生じた場合に、第2プレイヤの“操作3”の情報を反映すべきオブジェクト60に対する操作情報として利用される。具体的には、第2プレイヤの“操作3”の操作情報を制限時間内に受信できない場合には、“操作3”の操作情報に替えて、第2プレイヤの前回の操作情報である“操作2”の情報が利用される。つまり、対戦相手側に対応する自機側の表示には、“操作3”の情報に替えて、“操作2”の情報が反映され、“操作2”の情報に基づいて出現位置、経路が決定される。“操作3”以降も同様である。このように、タイムラグ制御により、情報の受信に遅れが生じた場合には、遅れて取得した操作情報をオブジェクト60の経路等に反映可能なように、対戦相手側に対応する自機側の表示と、それに反映すべき情報との関係がずらされる。
【0060】
通信遅れは、主として通信環境に依存する為、当初に遅れが発生した場合には、その後に解消されないケースが多い。従って、対戦が終了するまで、表示と操作情報の反映との間には、所定の間隔(上記では1操作部分)ずれた関係が維持される。但し、通信遅れが一時的なものであれば、対戦中の通信遅れが解消する場合もある。このような場合には、タイムラグ制御により、上記のずれた関係が元に戻される。
【0061】
図8は、操作情報と表示との関係が元に戻される場合を説明するための図である。図8に示すように、“操作11”までは、通信遅れを解消するために、次のオブジェクト60に反映すべき操作情報として、前回の操作情報、つまり第2プレイヤの“操作10”の操作情報が利用されている。そして、次の“操作12”では、通信遅れが解消され、次のオブジェクト60に操作情報を反映可能な制限時間内に第2プレイヤの“操作12”に対応する操作情報が受信されたとする。この場合、図8に示すように、第1プレイヤの“操作13”を指示する為のオブジェクト60には、第2プレイヤの“操作12”の情報が反映される。つまり、制限時間内に第2プレイヤの“操作12”の操作情報を取得することにより、“操作11”までのずれた関係が解消される。これにより、第2プレイヤの“操作11”の操作情報は反映先がなくなるため、情報としては破棄される。このように、通信遅れが解消された場合には、解消により取得した情報がすぐに使用され、表示と操作情報とのずれた関係が解消される。これにより、表示と操作情報との関係が元に戻される。
【0062】
上記のように、タイムラグ制御により、通信遅れによる問題を解消するために、通信遅れが生じた場合には所定数だけ表示と操作情報の反映との関係がずらされる一方で、通信遅れが解消した場合にはそのずれた関係が元に戻される。このようにして、ゲーム機2では、通信遅れの問題を解消しつつ、ネットワーク5を介して他のゲーム機2との対戦を実現する。
【0063】
次に、図9を参照して、タイムラグ制御を実現するための構成について説明する。タイムラグ制御は、ゲーム制御部11にて実行される。図9は、タイムラグ制御を実現するためのゲーム制御部11の機能ブロック図である。図9に示すように、ゲーム制御部11には、記憶部63と、タイムラグ監視部64と、切替制御部65と、位置演算部66と、画像生成部67とが設けられる。自機及び対戦相手のゲーム機(他機)2の操作情報は、記憶部63に記憶される。タイムラグ監視部64は、記憶部63に記憶された操作情報に基づいて、各操作情報が所定の時間制限内に得られた操作情報か否か判断する。タイムラグ監視部64は、その判断結果を切替制御部65に与える。
【0064】
そして、切替制御部65は、タイムラグ監視部64の判断結果、記憶部63に記憶された各操作情報に基づいて、オブジェクト60の出現位置等の決定に使用すべき操作情報を特定する。この際、タイムラグ監視部64によりタイムラグが発生していると判断された場合には、切替制御部65は、使用される操作情報が通常時のものからタイムラグ時に使用するものに切り替えられるように、特定する。切替制御部65は、その特定結果を位置演算部66に与える。位置演算部66は、切替制御部65の特定結果に基づいて、各オブジェクト60を配置すべきゲーム画面50上の位置(座標)を演算する。その演算結果は、画像生成部67に与えられる。そして、画像生成部67は、位置演算部66の演算結果に基づいて、演算された各位置に各オブジェクト60が配置されたゲーム画面50が表示されるように画像データを生成し、出力する。これにより、対戦相手のゲーム機2の操作情報の受信が遅れた場合には所定の位置等が、その後は受信遅れが解消するまで所定数ずれた操作情報が、それぞれ反映されたオブジェクト60を含むゲーム画面50がモニタ8に表示される。更に、受信遅れが解消した場合には、操作情報のずれが解消され、直前の対戦相手のゲーム機2の操作情報が反映されたゲーム画面50がモニタ8に表示される。
【0065】
次に、タイムラグ制御を実行するためにゲーム制御部11が実行する各種処理について説明する。ゲーム制御部11は、タイムラグ制御を実行するために、図10の操作検出処理ルーチン、図11のシーケンス処理ルーチン及び、図12〜図14のサブルーチンを実行する。なお、ゲーム制御部11は、その他にもマッチング処理、各プレイヤの操作を評価するための処理等、音楽ゲームを実行するために必要な各種の周知の処理を実行するが、それらの説明は省略する。
【0066】
図10は、ゲーム制御部11が実行する操作検出処理ルーチンのフローチャートの一例を示す図である。ゲーム制御部11は、図10のルーチンを所定の周期で繰り返し実行する。図10のルーチンは、第1プレイヤ及び第2プレイヤのタッチ操作の内容(操作位置及び、操作時期)を取得するために実行される処理である。
【0067】
ゲーム制御部11は、図10のルーチンを開始すると、まずステップS1でタッチパネル9の出力を参照して第1プレイヤが前回のルーチンの終了後にタッチ操作を行ったか否かを判別する。タッチ操作が行われている場合、ゲーム制御部11は、ステップS2に進む。ステップS2にて、ゲーム制御部11は、第1プレイヤがタッチ操作した位置及びそのタッチ操作が行われた時期を取得し、それらを記録した操作情報を生成して当該操作情報を記憶部63に記憶する。続くステップS3にて、ゲーム制御部11は、ステップS2で記憶した操作情報を対戦相手のゲーム機2に送信する。
【0068】
次のステップS4にて、ゲーム制御部11は、前回のルーチンの終了後に対戦相手のゲーム機2から操作情報を受信したか否か判別する。受信している場合、ゲーム制御部11は、ステップS15に進み、受信した操作情報を受信時刻の情報とともに記憶部63に記憶する。ステップS5の処理を終えると、ゲーム制御部11は、今回の処理を終了する。一方、ステップS11の判別結果が否定的結果の場合、つまりタッチ操作が行われていない場合、ステップS2及びステップS3をスキップして、ステップS4に進む。更に、ステップS4が否定的判別結果の場合、つまり操作情報を受信していない場合、ゲーム制御部11は、ステップS5をスキップして、今回のルーチンを終了する。図10のルーチンによって記憶された操作情報に含まれている第1プレイヤ及び第2プレイヤのそれぞれの操作の時期が、各プレイヤの実際の操作時期として扱われる。
【0069】
一方、図11は、ゲーム制御部11が実行するシーケンス処理ルーチンのフローチャートの一例を示す図である。図11のルーチンは、ゲーム領域52中にオブジェクト60を移動表示させるために実行される処理である。ゲーム制御部11は、図11のルーチンを所定の周期で繰り返し実行する。その周期は、ゲーム画面50を描画する周期、つまり、フレームレートと等しい。なお、図11のルーチンが実行される周期は、図10のルーチンが実行される周期と等しいか、又は、それよりも長い。
【0070】
図11のルーチンを開始すると、ゲーム制御部11は、まずステップS11において、楽曲上の現在時刻を取得する。例えば、この現在時刻は、楽曲の再生開始時点を基準として、ゲーム制御部11の内部クロックにて計時が開始され、その内部クロックの値から取得される。楽曲上の時刻は、再生開始時点かあらの経過時間によって特定されてもよいし、経過時間と相関する他の値によって特定されてもよい。例えば、楽曲の再生開始時点からの楽曲の拍数、ゲーム画面50のフレーム数等を利用して時刻が特定されてもよい。
【0071】
続くステップS12にて、ゲーム制御部11は、シーケンスデータ28から次のフレームで描画されるべきゲーム領域52の表示範囲に相当する時間長に存在する操作時期のデータを取得して内部記憶装置に保持する。表示範囲は、一例として現在時刻(但し、次のフレームの描画時における時刻)から将来に向かって楽曲の2小節相当の時間範囲に設定される。次のステップS13では、次のフレームで描画すべき全てのオブジェクト60が配置されるべき各経路を決定するためのサブルーチンを実行する。このサブルーチンの詳細は、後述する。
【0072】
次のステップS14にて、ゲーム制御部11は、次のフレームで描画すべき各オブジェクト60の座標を演算する。その演算は、一例として以下のように行われる。まずステップS13の処理結果に基づいて、表示範囲に含まれている各オブジェクト60を配置すべき各経路Wを判別する。次に、各オブジェクト60に対応した移動方向(到達すべき各基準部55A、55B)及び、各操作時期と現在時刻との時間差に応じて、各基準部55A、55Bからの時間軸方向(つまり、オブジェクト60の移動方向)における各オブジェクト60の位置を判別する。これにより、各経路W上に各オブジェクト60を各基準部55A、55Bから時間軸に沿って配置するために必要な各オブジェクト60の座標を取得することができる。
【0073】
次のステップS15において、ゲーム制御部11は、ステップS14で演算された各オブジェクト60の座標に基づいて、ゲーム領域52を描画するために必要な画像データを生成する。具体的には、演算された各座標に各オブジェクト60が配置されるように画像データを生成する。オブジェクト60等の画像は、画像データ27から取得すればよい。続くステップS16にて、ゲーム制御部11は、表示制御部12に画像データを出力する。それにより、モニタ8上のゲーム領域52の表示が更新される。ステップS16の処理を終えると、ゲーム制御部11は、今回のルーチンを終了する。以上の処理が繰り返し実行されることにより、各オブジェクト60がゲーム領域52の所定の位置に出現し、楽曲の進行に合わせて各プレイヤの操作に応じた経路W上を進み、所定の操作時期に各基準部55A、55Bに到達するように、オブジェクト60の表示が制御される。
【0074】
次に、図12〜図14を参照して、経路決定処理ルーチンについて説明する。図12及び、図13は、経路決定処理ルーチンのフローチャートの一例を示す図である。このルーチンは、図11ルーチンのサブルーチンとして、ステップS13にて呼び出されて実行される。図12及び図13のルーチンは、各プレイヤの操作結果に応じて各オブジェクト60を配置すべき経路を決定するための処理である。また、ゲーム制御部11は、このルーチンを主として切替制御部65を通じて実行する。
【0075】
図12のルーチンを開始すると、ゲーム制御部11は、まずステップS21において、未処理レコードがあるか否かを判別する。未処理レコードとは、図11のルーチンのステップS12で取得したシーケンスデータ28の各レコード、つまり各操作時期のうち処理済みのレコードと設定されていないレコードを意味する。即ち、表示範囲に含まれる各操作時期のうちオブジェクト60を配置すべき経路Wが未だ決定されていない操作時期を意味する。ゲーム制御部11は、ステップS21が否定的結果の場合、つまり表示範囲の各操作時期に未処理レコードが存在しない場合、今回のルーチンを終了して、図11のルーチンに戻る。
【0076】
一方、ゲーム制御部11は、ステップS21が肯定的結果の場合、つまり未処理のレコードが存在する場合には、ステップS22に進む。ステップS22にて、ゲーム制御部11は、処理対象の未処理レコードが自機用のレコードか否かを判別する。この判別は、例えば、シーケンスデータ28に含まれる表示位置指示部28eに基づいて実行される。具体的には、ゲーム制御部11は、処理対象のレコード、つまり処理対象の操作時期に関連付けられる表示位置指示部28eが“P1”の場合に自機用レコードと、“P2”の場合に対戦相手機用のレコードと、それぞれ判別する。この判別結果が肯定的結果の場合、つまり、処理対象のレコードが自機用のレコードの場合、ゲーム制御部11は、ステップS23に進む。
【0077】
ステップS23にて、ゲーム制御部11は、処理対象のレコードに出現位置を指示するレコードとして関連付けられるレコードの操作時期を一定範囲内に含む操作情報が記憶部63に記憶された各操作情報内にあるか否か判別する。上述のように、シーケンスデータ28では、出現位置指示部28gを通じて、互いに関連付けられた操作時期が存在する。例えば、これらの関連付けられる各レコードのうち出現位置を指示するレコードを指示レコードと、出現位置が指示されるレコードを被指示レコードと呼ぶ。ステップS23では、処理対象のレコードの指示レコードに対応する操作時期を一定範囲内に含む操作情報があるか否かが判別される。処理対象のレコードに対応するオブジェクト60には、指示レコードに対応するオブジェクト60への操作結果が反映されるからである。また、ここでいう一定範囲とは、シーケンスデータ28に記述されている操作時期に対して、適切な操作が行われたとみなし得る許容範囲として設定された時間的範囲であって、かつ、各基準部55A(又は55B)に対するオブジェクト60の到達位置(移動目標となる反発点)に対して、そのオブジェクト60をタッチしたとみなし得る許容範囲として設定された距離的範囲である。この判別結果が肯定的結果の場合、つまり指示レコードの操作時期を一定範囲内に含む操作情報がある場合には、ゲーム制御部11は、ステップS24に進む。
【0078】
ステップS24にて、ゲーム制御部11は、処理対象のレコードに対応するオブジェクト60を配置すべき経路Wを正常経路に決定する。具体的には、正常経路は、次のようにして、操作情報に基づいて決定される。まず、判別した操作情報に基づいてタッチ操作の位置とオブジェクト60の位置との間の位置関係を判別し、その位置関係に基づいて経路Wを決定する。この決定は、上述のように、タッチ操作の位置が図5で示した4つの領域O、R、S及びLのいずれに属するか、或いはいずれの領域に最も近いかに基づいて経路を決定するものである。各領域O、R、S及びLと決定される経路の関係は、上述した通りである。そして、正常経路における出現位置は、上述の指示レコードにて指示されている出現位置が採用される。つまり、操作情報に含まれるタッチ操作の位置及び、指示レコードにて指示される出現位置に基づいて、正常経路は決定される。
【0079】
続くステップS25にて、ゲーム制御部11は、処理対象のレコード及び、使用した操作情報を処理済み(或いは、使用済み)に設定して、ステップS21の処理に戻る。これにより、指示レコードに対応するオブジェクト60への操作結果が処理対象のレコードに対応するオブジェクト60に反映される。
【0080】
一方、ステップS23の判別結果が否定的結果の場合、つまり指示レコードの操作時期を一定範囲内に含む操作情報がない場合、ゲーム制御部11は、ステップS26に進む。ステップS26にて、ゲーム制御部11は、処理対象のレコードに対応するオブジェクト60を配置すべき経路Wをミス経路に決定する。指示レコードの操作時期を一定範囲内に含む操作情報がない場合、指示レコードに対応するオブジェクト60に対して適切な操作が実行されていないことを意味する。この場合、この処理対象のレコードに対応する指示レコードのオブジェクト60は、両端部52U、52Bのいずれかに到達する。従って、例えば、このような場合のミス経路として、指示レコードのオブジェクト60が到達した端部52U(或いは、52B)の位置から最短距離で反対側の基準部55A(或いは、55B)に向かって延びる経路Wが採用される。また、この場合、指示レコードのオブジェクト60が到達した端部52U(或いは、52B)の位置が、処理対象のレコードに対応するオブジェクト60の出現位置として利用される。そして、ゲーム制御部11は、ステップS30の処理を終えると、ステップS25に進む。
【0081】
更に、ステップS22の判別結果が否定的結果の場合、つまり処理対象のレコードが対戦相手機用のレコードの場合、ゲーム制御部11は、図13のステップS27に進む。ステップS27にて、ゲーム制御部11は、タイムラグを監視するためのサブルーチンを実行する。このサブルーチンの詳細は、後述する。
【0082】
続くステップS28にて、ゲーム制御部11は、ステップS27の処理結果を利用して、処理対象の未処理レコードに関連付けられる指示レコードに対応する操作情報にタイムラグが発生しているか否かを判別する。この判別結果が肯定的結果の場合、つまりタイムラグが発生している場合には、ゲーム制御部11は、ステップS29に進む。
【0083】
続くステップS29にて、ゲーム制御部11は、記憶部63に記憶された各操作情報のうちから所定範囲の操作情報を取得する。この所定範囲は、例えば、処理対象の未処理レコード、つまり処理対象の操作時期に基づいて設定される。具体的には、例えば、処理対象の操作時期に関連付けられる指示レコードから所定数前の他機用の操作時期に対応する操作情報が含まれるように所定範囲は設定される。つまり、所定範囲として、処理対象の未処理レコードに関連付けられる指示レコードから所定数前の他機用の操作時期を基準に、それよりも一定期間前の時期を含む範囲が利用される。なお、処理対象の操作時期を基準に、それ以前の時期を示す一定数の操作情報が所定範囲として設定されてもよい。
【0084】
続くステップS30にて、ゲーム制御部11は、処理対象の未処理レコード、つまり処理対象の操作時期の指示レコードから所定数前の他機用の操作時期を特定する。所定数として、例えば、“1”が採用される。つまり、所定数前の他機用の操作時期として、例えば、処理対象の操作時期に関連付けられる指示レコードから一つ前の他機用の操作時期が特定される。次のステップS31にて、ゲーム制御部11は、ステップS30で特定した操作時期に対応する操作情報がステップS29で取得した各操作情報のなかにあるか否かを判別する。所定数前の他機用の操作時期に対応する操作情報として、所定数前の他機用の操作時期を一定範囲内に含む操作情報が利用される。従って、例えば、一つ前の他機用の操作時期に対応する操作情報として、ステップS31では、一つ前の他機用の操作時期を基準にして、この操作時期を一定範囲内に含む操作情報が判別対象として特定される。そして、ステップS31では、その特定されるべき操作情報がステップS29で取得した各操作情報に含まれているか否かが判別される。この判別結果が肯定的結果の場合、つまり所定数前の他機用の操作時期に対応する操作情報が存在している場合、ゲーム制御部11は、ステップS32に進む。
【0085】
ステップS32にて、ゲーム制御部11は、ステップS31で特定した操作情報が使用済みの操作情報か否かを判別する。使用済みとは、経路Wの決定に使用された操作情報を意味する。つまり、図13のルーチンを通じて、過去に経路Wを決定するための操作情報として使用された操作情報を意味する。この判別結果が肯定的結果の場合、つまり、特定した操作情報が既に使用済みである場合、ステップS33に進む。
【0086】
ステップS33にて、ゲーム制御部11は、処理対象の操作時期に対応するオブジェクト60が配置されるべき経路Wを所定の経路(及び、所定の出現位置)に決定する。所定の経路及び、所定の出現位置として、例えば、次のような経路W及び出現位置が採用される。
【0087】
上述のように、シーケンスデータ28では、出現位置指示部28gを通じて、互いに関連付けられた各操作時期が存在している。従って、処理対象の操作時期に対する指示レコードも存在する。また、指示レコードに対応するオブジェクト60は、既に経路Wが決定されている(仮に、経路Wが決定されていない場合には、ステップS32に戻り、所定数を“1”から“2”等、経路Wが決定されているレコードが得られるように変更してよい。また、変更後は、以降のルーチンにて、変更後の所定数を使用すればよい)。そして、所定の経路として、この指示レコードに適用された経路W上に位置する反発点R2(或いは、R1)から反対側の基準部に最短距離で延びる経路Wが採用される。また、処理対象の操作時期に対応するオブジェクト60が出現すべき所定の出現位置として、この反発点R2(或いは、R1)が適用される。つまり、ステップS33の処理にて、ゲーム制御部11は、指示レコードに適用された経路W上の反発点R2(或いは、R1)を未処理レコードに対応するオブジェクト60の出現位置として決定するとともに、そこから最短距離で延びる経路Wを所定の経路として決定する。ステップS33では、一例として、このような所定の経路(及び、所定の出現位置)が対象の未処理レコードに適用すべき経路W及び、出現位置として決定される。また、この場合の処理対象のレコード、つまり処理対象の操作時期が本発明の直前基準時期として機能する。なお、所定の位置等として、ミス操作の場合と同様の経路等が採用されてもよい。
【0088】
ステップS33の処理を終えると、ゲーム制御部11は、図12のステップS25に戻る。そして、ゲーム制御部11は、ステップS25にて、上述のような処理を実行する。
【0089】
一方、ステップS31の判別結果が否定的結果の場合、つまり特定すべき操作情報がない場合には、ゲーム制御部11は、ステップS34に進む。ステップS31の処理により操作情報がないと判別される場合は、例えば、指示レコードに対応するオブジェクト60に適切な操作が実行されていない場合である。従って、この場合、ゲーム制御部11は、ステップS34にて、ステップS26と同様に、処理対象のレコードに対応するオブジェクト60が配置されるべき経路Wをミス経路に決定する。そして、ゲーム制御部11は、ステップS34の処理を終えると、図12のステップS25に戻る。
【0090】
更に、ステップS32の判別結果が否定的結果の場合、つまりステップS31で特定した操作情報が未だ使用されていない場合、ゲーム制御部11は、ステップS35に進む。ステップS30及びステップS31では、毎回所定数として同じ数が採用される。従って、ステップS32にて特定した操作情報が使用済みと判別される場合は、ステップS33の処理が実行されていないことを意味する。一方、ステップS32にて、特定した操作情報が未だ使用されていないと判別される場合、操作情報の使用に替えて、ステップS33の所定の経路が使用されたこと、つまり、前回までのルーチンで既にタイムラグが発生していることを意味する。
【0091】
従って、ステップS35にて、ゲーム制御部11は、処理対象のレコードに対応するオブジェクト60が配置されるべき経路Wをタイムラグ経路に決定する。具体的には、タイムラグ経路として、ステップS31にて特定した操作情報に基づいて決定される経路Wを採用する。つまり、特定した操作情報に基づいてタッチ操作の位置とオブジェクト60の位置との間の位置関係を判別し、その位置関係に基づいて経路Wを決定する。この決定は、上述のように、タッチ操作の位置が図5で示した4つの領域O、R、S及びLのいずれに属するか、或いはいずれの領域に最も近いかに基づいて経路を決定するものである。各領域O、R、S及びLと決定される経路の関係は、上述した通りである。また、同様に、指示レコードのオブジェクト60が到達した位置が出現位置として採用される。つまり、経路等の決定は、タイムラグが発生していない場合の正常経路の決定と同様に実行される。相違点は、経路等の決定に使用される操作情報が指示レコード(出現位置指示部28gにて関連付けられる他機用の操作時期)に対応するものではなく、所定数前の他機用の操作時期に対応する操作情報である点である。また、この場合の所定数前の他機用の操作時期が本発明の早い基準時期として機能する。そして、ゲーム制御部11は、ステップS35の処理を終えると、図12のステップS25に戻る。
【0092】
また、ステップS28の判別結果が否定的結果の場合、つまりステップS27の処理の結果、タイムラグが発生していないと判別された場合には、ゲーム制御部11は、図12のステップS23に戻る。ステップS27の処理によりタイムラグが発生していないと判別される場合は、制限時間内のその操作情報が取得出来た場合である。この場合、自機用のレコードと同様の処理が可能である。従って、この場合、ゲーム制御部11は、ステップS23に戻り、上述のようなステップS23以降の処理を実行する。また、タイムラグが発生していないと判別される場合が本発明の所定の回復条件が満たされる場合として機能する。
【0093】
なお、ステップS25では、ゲーム制御部11は、今回の処理にて使用した操作情報を使用済みに設定するとともに、所定数前の他機用の操作時期に対応する操作情報を消去する処理を実行してもよい。或いは、所定対象のレコードに対応する操作情報以前の操作情報を一律消去してもよい。図13のステップS28を経由してステップS25の処理が実行される場合には、タイムラグが発生した後に、そのタイムラグが解消された場合が含まれる。このような場合、記憶部63に含まれる操作情報に使用されるべきでない未使用の操作情報が残る。上記の処理が実行されることにより、不要な操作情報の誤使用が抑制される。
【0094】
図12及び、図13のルーチンが実行されることにより、自機及び対戦相手のゲーム機に対応する各オブジェクト60を配置すべき経路Wが決定される。また、対戦相手のゲーム機については、タイムラグが発生した場合には、所定の経路が利用され、本来使用すべき操作情報がオブジェクト60の経路等の決定に使用されない。一方で、タイムラグが既に発生している場合には、例えば、一つ前の操作情報等、所定数ずれた操作情報がオブジェクト60の経路等の決定に使用される。更に、タイムラグが解消した場合には、本来使用されるべき操作情報が使用され、正常な経路等がオブジェクト60の経路等として使用される。
【0095】
次に、タイムラグ監視処理ルーチンについて説明する。図14は、タイムラグ監視処理ルーチンのフローチャートの一例を示す図である。図14のルーチンは、図13のステップS27にて、呼び出されて実行される。また、図14のルーチンは、適正な操作情報の使用に問題が生じる程度のタイムラグが発生しているか否かを判断するための処理である。そして、ゲーム制御部11は、このルーチンを主としてタイムラグ監視部64を通じて実行する。
【0096】
図14のルーチンを開始すると、ゲーム制御部11は、まずステップS41にて、記憶部63に記憶された対戦相手のゲーム機2の(第2プレイヤの)操作情報を取得する。この取得範囲は、全ての操作情報でもよいし、一部でもよい。一部の場合、処理対象のレコードに対応する指示レコードの操作時期及び、その操作時期から一定範囲の時期が含まれるように実行される。続くステップS42にて、ゲーム制御部11は、第2プレイヤの操作情報を適切に反映可能な制限時間を算出する。この算出は、例えば、次のようにして実行される。まず、ゲーム制御部11は、処理対象のレコード、つまり処理対象の操作時期と現在時刻との間の差を算出する。次に、算出した差に基づいて、処理対象の操作時期に対応するオブジェクト60を基準部55A(若しくは、55B)に出現させるべき出現時期を算出する。そして、算出した出現時期に、予め設定された所定の許容時間(表示に生じ得る時差を許容可能な時間)を加えることにより、制限時間が算出される。なお、制限時間は、予め設定された所定の時間が利用されてもよい。その場合、ステップS42の処理は省略されてもよい。
【0097】
次のステップS43にて、ゲーム制御部11は、処理対象のレコードに関連付けられる指示レコードの操作時期を一定範囲内に含む操作情報がステップS41で取得した操作情報内にあるか否かを判別する。この処理は、図12のルーチンのステップS22等と同様である。そして、この判別結果が肯定的結果の場合、ステップS44に進む。
【0098】
ステップS44にて、ゲーム制御部11は、ステップS42の算出結果と操作情報を受信した受信時刻とを比較して、ステップS43で判別した操作情報が制限時間内に受信した情報であるか否か判別する。この判別結果が否定的結果の場合、つまり、操作情報を制限時間内に受信していない場合(所定の時差が生じている場合)には、ゲーム制御部11は、ステップS45に進む。ステップS45にて、ゲーム制御部11は、タイムラグ発生情報、つまりタイムラグが発生しているという情報を出力して、図13のステップS27に戻る。
【0099】
一方、ステップS44の判別結果が肯定的結果の場合、つまり操作情報を制限時間内に受信している場合(所定の時差が生じていない場合)には、ゲーム制御部11は、ステップS46に進む。ステップS46にて、ゲーム制御部11は、タイムラグ未発生情報、つまりタイムラグが発生していないという情報を出力して、図13のステップS27に戻る。
【0100】
更に、ステップS43の判別結果が否定的結果の場合、つまり処理対象のレコードに関連付けられる指示レコードの操作時期を一定範囲内に含む操作情報がない場合、ゲーム制御部11は、ステップS47に進む。ステップS47にて、ゲーム制御部11は、現在時刻とステップS43で算出した制限時間とに基づいて、制限時間が到来したか否かを判別する。この判別結果が否定的結果の場合、つまり制限時間が到来していない場合には、処理対象のレコードを未処理状態のまま図12のステップS21に戻り、ゲーム制御部11は、再度ステップS21以降の処理を実行する。
【0101】
一方、ステップS46の判別結果が肯定的結果の場合、つまり制限時間が到来している場合、ゲーム制御部11は、ステップS45に進み、上述のような処理を実行する。制限時間が到来してもステップS44の判別対象となるべき操作情報が受信出来ていない場合は、タイムラグが発生していると判断できるからである。なお、第2プレイヤが未操作の場合もステップS47にて、肯定的判別結果に該当し得るが、タイムラグ制御により未操作という操作情報は次回のオブジェクト60に反映される。
【0102】
ゲーム制御部11は、ステップS45或いはステップS46の処理を終えると、図13のルーチンに戻り、ステップS47の処理結果を利用して、ステップS28の判別を実行する。これにより、適正な操作情報の使用に問題が生じる程度のタイムラグが発生しているか否かの判別が実行され、それの判別結果に基づいて図13のルーチンが実行される。
【0103】
以上に説明したように、この形態によれば、自機が他機とネットワーク5を介して対戦しているときに操作情報の使用に問題が生じるようなタイムラグが発生した場合には、タイムラグ制御が実行される。タイムラグ制御により、タイムラグが発生した場合には、本来使用されるべき第2プレイヤの操作情報に替えて、所定の経路等が使用される。つまり、第2プレイヤの操作情報の受信を不適切な表示が生じるほど待機する必要がない。このため、第2プレイヤの操作情報を反映して自機に表示すべきオブジェクト60を適切な時間内に表示することができる。これにより、タイムラグによって生じる表示遅れを解消することができる。
【0104】
一方、タイムラグにより使用されなかった第2プレイヤの操作情報は、その後所定数遅れてオブジェクト60の経路等に反映される。つまり、タイムラグが生じても所定数の遅れを挟んで第2プレイヤの操作情報を自機の表示に反映することができる。これにより、タイムラグによる影響を抑制することができるので、対戦ゲームの興趣性を維持することができる。
【0105】
なお、タイムラグの影響を解消する手法として、他にも他機の操作情報を取得した後に、その操作情報に応じてオブジェクト60の位置を補正するという手法も考えられる。この場合、他機の操作情報を適切に使用できるが、取得時期によってはオブジェクト60の移動速度が速くなりすぎる場合がある。この形態によれば、このような問題も解消可能である。
【0106】
更に、タイムラグが解消された場合には、所定数の遅れが解消され、第2プレイヤの操作情報が適切に反映される。つまり、タイムラグが発生しても、それが解消された場合には、適切に操作情報が反映される表示に戻すことができる。これにより、タイムラグによって生じる表示と操作情報との間のずれを最小限に抑えることができる。
【0107】
以上の形態において、制御ユニット10が音声出力制御部13を通じて楽曲再生手段として機能する。また、制御ユニット10がゲーム制御部11を通じて図11のルーチンを実行することによりゲーム領域提示手段、標識表示制御手段及び、基準時期案内手段として機能する。同様に、制御ユニット10がゲーム制御部11を通じて図12及び図13のルーチンを実行することにより関係変更手段として機能する。更に、制御ユニット10がゲーム制御部11を通じて図14のルーチンを実行することにより時差判別手段、及び、制限時間算出手段として機能する。一方、外部記憶装置20がシーケンスデータ28を記憶することにより、関係情報記憶手段として機能する。
【0108】
本発明は上述の形態に限定されず、適宜の形態にて実施することができる。上述の形態では、所定の変更条件として、タイムラグ(所定の時差)が生じている場合が採用されている。また、この判断には、図14のルーチンが使用されている。しかし、本発明は、このような形態に限定されない。例えば、図14のルーチンを省略して、予めタイムラグを考慮した所定数が設定されてもよい。つまり、所定の変更条件は、所定の設定が実行されることにより満たされてもよい。また、上述の形態では、図13のステップS30等、タイムラグ制御にて、使用する操作情報と実際の表示との関係をずらすために、所定数が使用されている。また、この所定数は、例えば、“1”等、予め設定されている。しかし、本発明は、このような形態に限定されない。例えば、図14に示すタイムラグ監視処理ルーチンの処理結果に基づいて、他機の情報の受信に要した時間から算出する等により、この所定数が決定されてもよい。
【0109】
上述の形態では、図14に示すタイムラグ監視処理ルーチンが図13のサブルーチンとして、図13と同じ周期で実行されている。しかし、本発明はこのような形態に限定されない。例えば、タイムラグ監視処理ルーチンは、図13とは別のルーチンとして、初回の情報の送受信時のみに実行されてもよい。この場合、初回のタイムラグ監視処理ルーチンの判別結果に基づいて、初回のみ図13のステップS33に示す所定の経路等が使用され、以降の図13のルーチンでは、毎回所定数ずれた操作情報が使用されてよい。この場合、ステップS28の処理、つまりタイムラグが解消された場合に操作情報と表示との関係を適切に戻す処理は、省略されてもよい。
【0110】
上述の形態では、プレイヤのプレイ行為としての操作を入力するためにタッチパネル9が利用されている。しかし、本発明はこのような形態に限定されない。例えば、プレイ行為を入力するための装置として、プレイヤの動作を撮影するカメラ、その撮影結果に基づいてプレイヤの動作を検出する検出手段、及び、検出結果に基づいて、プレイ行為を特定する特定手段を利用する装置が適用されてもよい。従って、プレイ行為は、操作部を操作する行為に限定されない。
【0111】
また、ゲーム中には、オブジェクト60に加えて、その他の操作指示標識が表示されてもよい。このような操作指示標識の一つとして、例えば、所定の表示条件を満たした場合(例えば、所定の操作が実行された場合、所定の得点を獲得した場合、所定のオプションを取得した場合等に満たされる)に特別のオブジェクトが表示されてもよい。そして、他機の特別のオブジェクトへの操作情報が制限時間内に受信できない場合、その操作情報は、自機に次に表示される特別のオブジェクトへの操作情報として使用されてもよいし、時間的に可能であれば、次に自機に表示される通常のオブジェクト60への操作情報として使用されてもよい。
【0112】
上述の各形態では、ゲーム機2は楽曲が再生され、楽曲の演奏時間に基づいて操作指示標識が基準部に向かって移動する音楽ゲーム機として構成されているが、このような構成に限定されるものではない。ゲーム機2では、通信回線を介して複数の端末にて、進行するゲームであって、一方のプレイ行為が他方のゲームの進行に影響を与える各種のゲームを実行可能である。このようなゲームとして、例えば、その他にもロールプレイングゲーム、アクションゲーム、スポーツゲーム、シューティングゲーム等が適用されてよい。更に、本発明のゲーム機は、商業施設に設置される業務用ゲーム機、家庭用の据置型ゲーム機、携帯型のゲーム機等、適宜の形態で実現されてよい。
【符号の説明】
【0113】
1 ゲームシステム
2 ゲーム機
5 ネットワーク(通信回線)
8 モニタ(表示装置)
9 タッチパネル(入力装置、操作部)
10 制御ユニット(コンピュータ、基準時期案内手段、関係変更手段、時差判別手段、制限時間算出手段、ゲーム領域提示手段、標識表示制御手段)
14 スピーカ(音声出力装置)
20 外部記憶装置(関係情報記憶手段、楽曲データ記憶手段)
21 ゲームプログラム
22 ゲームデータ
25 楽曲データ
28 シーケンスデータ
50 ゲーム画面
52 ゲーム領域
60 オブジェクト(操作指示標識)
28g 出現位置指示部(関係情報)
55A 第1基準部(操作部)
55B 第2基準部(操作部)
W 経路(移動経路)
【特許請求の範囲】
【請求項1】
通信回線を介して接続された複数の端末間にて、各端末のプレイヤによるプレイ行為に基づいてゲームを進行させるゲームシステムに適用され、前記複数の端末の一つとして機能することが可能なゲーム機であって、
前記ゲーム中の自機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、前記ゲームシステムの他の端末として機能する他機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、を互いに関連付けるための関係情報を記憶する関係情報記憶手段と、
前記関係情報に基づいて前記自機の基準時期と関連付けられる前記他機の基準時期に対応する前記プレイ行為に応じて、当該自機の基準時期の案内態様が変化するように、各基準時期を案内する基準時期案内手段と、
所定の変更条件を満たした場合に、前記基準時期案内手段が前記案内態様を変化させるために前記プレイ行為を利用する前記他機の基準時期を、前記関係情報に基づく前記他機の基準時期から前記他機における当該基準時期よりも早い基準時期に変更する関係変更手段と、を備える、ことを特徴とするゲーム機。
【請求項2】
前記関係変更手段は、前記関係情報に基づく前記他機の基準時期から前記他機における当該基準時期よりも早い基準時期に変更した後に、所定の回復条件を満たした場合に、前記基準時期案内手段が前記案内態様を変化させるために前記プレイ行為を利用する前記他機の基準時期を、前記早い基準時期から前記関係情報に基づく前記他機の基準時期に戻す、請求項1に記載のゲーム機。
【請求項3】
所定の制限時間と前記他機の前記プレイ行為に関する情報の取得時間とを比較して、前記所定の制限時間と前記取得時間との間に所定の時差が生じているか否か判別する時差判別手段を更に備え、
前記所定の変更条件は、前記時差判別手段の判別結果に基づいて、前記所定の時差が生じている場合に満たされる、請求項1又は2に記載のゲーム機。
【請求項4】
前記自機の基準時期に基づいて、前記所定の制限時間を算出する制限時間算出手段を更に備える、請求項3に記載のゲーム機。
【請求項5】
前記関係情報記憶手段は、前記関係情報として、前記自機の複数の基準時期と前記他機の複数の基準時期とをそれぞれ互いに関連付ける情報を記憶している、請求項1〜4のいずれか一項に記載のゲーム機。
【請求項6】
前記関係変更手段は、前記案内態様を変化させる前記自機の基準時期を基準にして、前記自機に対する各基準時期のうち当該自機の基準時期の直前に該当する直前基準時期を案内する際に、当該直前基準時期に対する前記案内態様として前記基準時期案内手段が所定の案内態様を使用するように、前記案内態様を変化させるために利用する情報を前記他機の操作時期に対応する前記プレイ行為に基づく情報から所定の情報に変更する、請求項1〜5のいずれか一項に記載のゲーム機。
【請求項7】
前記所定の案内態様として、前記プレイ行為が適切に実行されなかった場合、或いは、所定の時間内に前記プレイ行為が実行されなかった場合に利用される案内態様が使用されるように、当該案内態様と関連付けられる情報が前記所定の情報として利用されている、請求項6に記載のゲーム機。
【請求項8】
前記プレイ行為としての操作を入力するための少なくとも一つの操作部を有する入力装置と、
ゲーム画面を表示する表示装置と、を更に備え、
前記関係情報記憶手段には、前記関係情報により、前記自機の基準時期として前記自機の操作部に対する操作時期と前記他機の操作時期として前記他機の操作部に対する操作時期とが互いに関連付けられるように記述されたシーケンスデータが記憶され、
前記基準時期案内手段は、前記自機の操作部に対応する第1基準部と、前記他機の操作部に対応する第2基準部とが間隔をあけて配置されたゲーム領域を前記ゲーム画面上に表示させるゲーム領域提示手段と、各操作時期を指示するための各操作指示標識が第1基準部及び第2基準部を接続する複数の移動経路のいずれか一つに沿って、前記自機の操作部に対する操作時期には前記第1基準部に、前記他機の操作部に対する操作時期には前記第2基準部に、それぞれ到達するように前記ゲーム領域内にて各操作指示標識を移動させつつ表示させることにより、各操作時期を案内する標識表示制御手段と、を備え、
前記標識表示制御手段は、前記関係情報に基づいて前記自機の操作時期と関連付けられる前記他機の操作時期に対応する前記操作指示標識への操作結果に応じて、前記自機の操作時期に対応する前記操作指示標識が移動する移動経路を変化させることにより、前記自機の操作時期の案内態様を変化させ、
前記関係変更手段は、前記標識表示制御手段が前記移動経路を変化させるために前記操作結果を利用する前記操作指示標識に対応する前記他機の基準時期を、前記関係情報に基づく前記他機の基準時期から前記早い操作時期に変更する、請求項1〜7のいずれか一項に記載のゲーム機。
【請求項9】
音声を再生出力する音声出力装置と、
楽曲を再生させるための楽曲データを記憶する楽曲データ記憶手段と、
前記楽曲データに基づいて前記音声出力装置から前記楽曲を再生させる楽曲再生手段と、を更に備え、
各基準時期として前記楽曲中における各時期が利用されている、請求項1〜8のいずれか一項に記載のゲーム機。
【請求項10】
通信回線を介して接続された複数の端末間にて、各端末のプレイヤによるプレイ行為に基づいてゲームを進行させるゲームシステムに適用され、前記複数の端末の一つとして機能することが可能なゲーム機であって、前記ゲーム中の自機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、前記ゲームシステムの他の端末として機能する他機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、を互いに関連付けるための関係情報を記憶する関係情報記憶手段を備えたゲーム機のコンピュータに、
前記関係情報に基づいて前記自機の基準時期と関連付けられる前記他機の基準時期に対応する前記プレイ行為に応じて、当該自機の基準時期の案内態様が変化するように、各基準時期を案内する基準時期案内工程と、
所定の変更条件を満たした場合に、前記基準時期案内工程にて前記案内態様を変化させるために前記プレイ行為を利用する前記他機の基準時期を、前記関係情報に基づく前記他機の基準時期から前記他機の当該基準時期よりも早い基準時期に変更する関係変更工程と、を実行させる制御方法。
【請求項11】
通信回線を介して接続された複数の端末間にて、各端末のプレイヤによるプレイ行為に基づいてゲームを進行させるゲームシステムに適用され、前記複数の端末の一つとして機能することが可能なゲーム機であって、前記ゲーム中の自機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、前記ゲームシステムの他の端末として機能する他機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、を互いに関連付けるための関係情報を記憶する関係情報記憶手段を備えたゲーム機のコンピュータを、
前記関係情報に基づいて前記自機の基準時期と関連付けられる前記他機の基準時期に対応する前記プレイ行為に応じて、当該自機の基準時期の案内態様が変化するように、各基準時期を案内する基準時期案内手段及び、所定の変更条件を満たした場合に、前記基準時期案内手段が前記案内態様を変化させるために前記プレイ行為を利用する前記他機の基準時期を、前記関係情報に基づく前記他機の基準時期から前記他機における当該基準時期よりも早い基準時期に変更する関係変更手段として機能させるように構成されたゲーム機用のコンピュータプログラム。
【請求項1】
通信回線を介して接続された複数の端末間にて、各端末のプレイヤによるプレイ行為に基づいてゲームを進行させるゲームシステムに適用され、前記複数の端末の一つとして機能することが可能なゲーム機であって、
前記ゲーム中の自機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、前記ゲームシステムの他の端末として機能する他機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、を互いに関連付けるための関係情報を記憶する関係情報記憶手段と、
前記関係情報に基づいて前記自機の基準時期と関連付けられる前記他機の基準時期に対応する前記プレイ行為に応じて、当該自機の基準時期の案内態様が変化するように、各基準時期を案内する基準時期案内手段と、
所定の変更条件を満たした場合に、前記基準時期案内手段が前記案内態様を変化させるために前記プレイ行為を利用する前記他機の基準時期を、前記関係情報に基づく前記他機の基準時期から前記他機における当該基準時期よりも早い基準時期に変更する関係変更手段と、を備える、ことを特徴とするゲーム機。
【請求項2】
前記関係変更手段は、前記関係情報に基づく前記他機の基準時期から前記他機における当該基準時期よりも早い基準時期に変更した後に、所定の回復条件を満たした場合に、前記基準時期案内手段が前記案内態様を変化させるために前記プレイ行為を利用する前記他機の基準時期を、前記早い基準時期から前記関係情報に基づく前記他機の基準時期に戻す、請求項1に記載のゲーム機。
【請求項3】
所定の制限時間と前記他機の前記プレイ行為に関する情報の取得時間とを比較して、前記所定の制限時間と前記取得時間との間に所定の時差が生じているか否か判別する時差判別手段を更に備え、
前記所定の変更条件は、前記時差判別手段の判別結果に基づいて、前記所定の時差が生じている場合に満たされる、請求項1又は2に記載のゲーム機。
【請求項4】
前記自機の基準時期に基づいて、前記所定の制限時間を算出する制限時間算出手段を更に備える、請求項3に記載のゲーム機。
【請求項5】
前記関係情報記憶手段は、前記関係情報として、前記自機の複数の基準時期と前記他機の複数の基準時期とをそれぞれ互いに関連付ける情報を記憶している、請求項1〜4のいずれか一項に記載のゲーム機。
【請求項6】
前記関係変更手段は、前記案内態様を変化させる前記自機の基準時期を基準にして、前記自機に対する各基準時期のうち当該自機の基準時期の直前に該当する直前基準時期を案内する際に、当該直前基準時期に対する前記案内態様として前記基準時期案内手段が所定の案内態様を使用するように、前記案内態様を変化させるために利用する情報を前記他機の操作時期に対応する前記プレイ行為に基づく情報から所定の情報に変更する、請求項1〜5のいずれか一項に記載のゲーム機。
【請求項7】
前記所定の案内態様として、前記プレイ行為が適切に実行されなかった場合、或いは、所定の時間内に前記プレイ行為が実行されなかった場合に利用される案内態様が使用されるように、当該案内態様と関連付けられる情報が前記所定の情報として利用されている、請求項6に記載のゲーム機。
【請求項8】
前記プレイ行為としての操作を入力するための少なくとも一つの操作部を有する入力装置と、
ゲーム画面を表示する表示装置と、を更に備え、
前記関係情報記憶手段には、前記関係情報により、前記自機の基準時期として前記自機の操作部に対する操作時期と前記他機の操作時期として前記他機の操作部に対する操作時期とが互いに関連付けられるように記述されたシーケンスデータが記憶され、
前記基準時期案内手段は、前記自機の操作部に対応する第1基準部と、前記他機の操作部に対応する第2基準部とが間隔をあけて配置されたゲーム領域を前記ゲーム画面上に表示させるゲーム領域提示手段と、各操作時期を指示するための各操作指示標識が第1基準部及び第2基準部を接続する複数の移動経路のいずれか一つに沿って、前記自機の操作部に対する操作時期には前記第1基準部に、前記他機の操作部に対する操作時期には前記第2基準部に、それぞれ到達するように前記ゲーム領域内にて各操作指示標識を移動させつつ表示させることにより、各操作時期を案内する標識表示制御手段と、を備え、
前記標識表示制御手段は、前記関係情報に基づいて前記自機の操作時期と関連付けられる前記他機の操作時期に対応する前記操作指示標識への操作結果に応じて、前記自機の操作時期に対応する前記操作指示標識が移動する移動経路を変化させることにより、前記自機の操作時期の案内態様を変化させ、
前記関係変更手段は、前記標識表示制御手段が前記移動経路を変化させるために前記操作結果を利用する前記操作指示標識に対応する前記他機の基準時期を、前記関係情報に基づく前記他機の基準時期から前記早い操作時期に変更する、請求項1〜7のいずれか一項に記載のゲーム機。
【請求項9】
音声を再生出力する音声出力装置と、
楽曲を再生させるための楽曲データを記憶する楽曲データ記憶手段と、
前記楽曲データに基づいて前記音声出力装置から前記楽曲を再生させる楽曲再生手段と、を更に備え、
各基準時期として前記楽曲中における各時期が利用されている、請求項1〜8のいずれか一項に記載のゲーム機。
【請求項10】
通信回線を介して接続された複数の端末間にて、各端末のプレイヤによるプレイ行為に基づいてゲームを進行させるゲームシステムに適用され、前記複数の端末の一つとして機能することが可能なゲーム機であって、前記ゲーム中の自機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、前記ゲームシステムの他の端末として機能する他機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、を互いに関連付けるための関係情報を記憶する関係情報記憶手段を備えたゲーム機のコンピュータに、
前記関係情報に基づいて前記自機の基準時期と関連付けられる前記他機の基準時期に対応する前記プレイ行為に応じて、当該自機の基準時期の案内態様が変化するように、各基準時期を案内する基準時期案内工程と、
所定の変更条件を満たした場合に、前記基準時期案内工程にて前記案内態様を変化させるために前記プレイ行為を利用する前記他機の基準時期を、前記関係情報に基づく前記他機の基準時期から前記他機の当該基準時期よりも早い基準時期に変更する関係変更工程と、を実行させる制御方法。
【請求項11】
通信回線を介して接続された複数の端末間にて、各端末のプレイヤによるプレイ行為に基づいてゲームを進行させるゲームシステムに適用され、前記複数の端末の一つとして機能することが可能なゲーム機であって、前記ゲーム中の自機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、前記ゲームシステムの他の端末として機能する他機における前記プレイ行為を実行すべき少なくとも一つの基準時期と、を互いに関連付けるための関係情報を記憶する関係情報記憶手段を備えたゲーム機のコンピュータを、
前記関係情報に基づいて前記自機の基準時期と関連付けられる前記他機の基準時期に対応する前記プレイ行為に応じて、当該自機の基準時期の案内態様が変化するように、各基準時期を案内する基準時期案内手段及び、所定の変更条件を満たした場合に、前記基準時期案内手段が前記案内態様を変化させるために前記プレイ行為を利用する前記他機の基準時期を、前記関係情報に基づく前記他機の基準時期から前記他機における当該基準時期よりも早い基準時期に変更する関係変更手段として機能させるように構成されたゲーム機用のコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2013−99481(P2013−99481A)
【公開日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願番号】特願2011−245907(P2011−245907)
【出願日】平成23年11月9日(2011.11.9)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
【公開日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願日】平成23年11月9日(2011.11.9)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
[ Back to top ]