(57)【要約】【課題】操作時期を検出した時期に遅延が発生した場合の操作指示標識の移動速度の制御を改善する。【解決手段】通信対戦するプレイヤの操作部に対応する基準部５５Ａ、５５Ｂ間でオブジェクト６０を往復させ、オブジェクト６０が基準部５５Ａに達した時期に合わせて自機のプレイヤに操作部を操作させるゲーム機において、操作時期の検出遅延が発生しているか否かを判別し、遅延が発生していると判断された場合、当該遅延が発生しなかったと仮定したときのオブジェクト６０から次の到達点Ｒ１ｂまでの距離（経路Ｒ２、Ｃ、Ｒ１ｂ上の距離）を本来の距離として推定し、推定された本来の距離と、オブジェクト６０から次の到達点までの実際の距離（経路Ａ、Ｃ、Ｒ１ｂ上の距離）との差が、次の到達点Ｒ１ｂに対応する操作時期よりも早期に解消するように、オブジェクト６０の表示を補正する。【選択図】図１３
2012179253.tif 000002
【特許請求の範囲】
【請求項１】
通信回線を介して接続された複数の端末間でゲームを進行させるゲームシステムに適用され、前記複数の端末の一つとして機能することが可能なゲーム機であって、
少なくとも一つの操作部を有する入力装置と、
ゲーム画面を表示する表示装置と、
ゲーム中における自機の操作部の操作時期と、前記ゲームシステムの他の端末として機能する他機の操作部の操作時期とをそれぞれ記述したシーケンスデータを記憶するシーケンスデータ記憶手段と、
前記自機の操作部に対応する基準部と、前記他機に対応する基準部とが間隔をあけて配置されたゲーム領域を前記ゲーム画面上に表示させるゲーム領域提示手段と、
前記自機の操作部に対する実際の操作時期を記録した操作情報を検出する自機操作検出手段と、
前記自機操作検出手段が検出した操作情報を前記他機に送信する操作情報送信手段と、
前記他機の操作情報送信手段から送信される操作情報に基づいて、当該他機の操作部に対する実際の操作時期を検出する他機操作検出手段と、
前記操作時期を指示するための操作指示標識が、前記シーケンスデータに記述された自機の操作部の操作時期には当該自機の操作部に対応する基準部に、他機の操作部の操作時期には当該他機の操作部に対応する基準部にそれぞれ達するように、かつ、前記自機操作検出手段及び前記他機操作検出手段による前記操作時期の検出に応答して、前記操作指示標識の移動経路が、次の基準部に向かう移動経路へと変化するように、前記ゲーム領域内にて前記操作指示標識を移動させる標識表示制御手段と、を具備し、
前記標識表示制御手段は、
前記操作検出手段が前記操作時期を検出した時期に関して、前記操作情報に記録されている実際の操作時期に対する遅延が発生しているか否かを判別する遅延判別手段と、
前記遅延が発生していると判断された場合、当該遅延が発生しなかったと仮定したときの前記操作指示標識から前記次の基準部までの距離を本来の距離として推定し、該推定された本来の距離と、前記操作指示標識から前記次の基準部までの実際の距離との差が、前記次の基準部に対応する前記シーケンスデータ上の操作時期よりも早期に解消するように、前記操作指示標識の表示を補正する補正手段と、
をさらに含んでいるゲーム機。
【請求項２】
前記標識表示手段は、前記ゲーム画面が描画される周期に合わせて前記操作指示標識の位置を漸次変化させることにより前記操作指示標識を前記ゲーム領域内で移動させ、
前記補正手段は、前記距離の差が一度に解消するように、前記ゲーム画面の一回の描画時における前記操作指示標識の位置に対して、次回の描画時における前記操作指示標識の位置を変化させる請求項１に記載のゲーム機。
【請求項３】
前記補正手段は、前記遅延が発生していると判断された場合、前記検出した時期における前記操作指示標識の位置を起点として前記新たな移動経路を設定し、前記新たな移動経路上で前記次の基準部までの距離が前記推定された本来の距離と一致する位置から、前記次の基準部に向かう前記操作指示標識の移動を開始させることにより、前記距離の差を解消させる請求項１に記載のゲーム機。
【請求項４】
前記標識表示手段は、前記ゲーム画面が描画される周期に合わせて前記操作指示標識の位置を漸次変化させることにより前記操作指示標識を前記ゲーム領域内で移動させ、
前記補正手段は、前記ゲーム画面を複数回描画する間に前記距離の差が徐々に減少するように、前記ゲーム画面の一回の描画時における前記操作指示標識の位置に対して、次回の描画時における前記操作指示標識の位置を変化させる請求項１に記載のゲーム機。
【請求項５】
前記補正手段は、前記遅延が発生していると判断された場合、前記検出した時期における前記操作指示標識の位置を起点として前記新たな移動経路を設定し、前記操作指示標識の移動中に前記本来の距離を繰り返し推定し、前記新たな移動経路上における前記操作指示標識から前記次の基準部までの距離が前記本来の距離と一致するまで、前記操作指示標識の移動速度を、前記本来の距離と前記次の基準部に対応する前記シーケンスデータ上の操作時期までの残り時間とに応じて定まる本来の移動速度に対して増加させることにより、前記距離の差を解消させる請求項１に記載のゲーム機。
【請求項６】
前記標識表示制御手段は、前記シーケンスデータにて記述された操作時期に対して前記実際の操作時期が所定範囲内の場合に前記移動経路を変化させるとともに、前記実際の操作時期が検出されない状態で所定時間が経過すると前記次の基準部に向かう最短経路を前記新たな経路として設定し、
前記補正手段は、前記操作指示標識が前記最短経路上の移動を開始する前の段階に限って、前記距離の差を解消させるための前記表示を補正を実行し、前記最短経路上の移動が開始された後は前記表示を補正しない、請求項１〜５のいずれか一項に記載のゲーム機。
【請求項７】
前記ゲーム領域提示手段は、四角形に形成された領域であって、直線状に延びる２つの基準部が前記四角形の一の両端に互いに対向するように設定されている領域を前記ゲーム領域として前記表示装置の画面上に表示させる請求項１〜６のいずれか一項に記載のゲーム機。
【請求項８】
前記入力装置は、前記ゲーム領域を覆うように前記表示装置に配置されるタッチパネルを含んでいる請求項１〜７のいずれか一項に記載のゲーム機。
【請求項９】
音声を再生出力する音声出力装置と、
楽曲を再生させるための楽曲データを記憶する楽曲データ記憶手段と、
前記楽曲データに基づいて前記音声出力装置から前記楽曲を再生させる楽曲再生手段と、をさらに備え、
前記シーケンスデータには、前記楽曲の再生中における前記操作部の操作時期が記述されている請求項１〜８のいずれか一項に記載のゲーム機。
【請求項１０】
通信回線を介して接続された複数の端末間でゲームを進行させるゲームシステムに適用され、前記複数の端末の一つとして機能することが可能であり、少なくとも一つの操作部を有する入力装置と、ゲーム画面を表示する表示装置と、ゲーム中における自機の操作部の操作時期と、前記ゲームシステムの他の端末として機能する他機の操作部の操作時期とをそれぞれ記述したシーケンスデータを記憶するシーケンスデータ記憶手段と、を備えたゲーム機のコンピュータを、
前記自機の操作部に対応する基準部と、前記他機に対応する基準部とが間隔をあけて配置されたゲーム領域を前記ゲーム画面上に表示させるゲーム領域提示手段、
前記自機の操作部に対する実際の操作時期を記録した操作情報を検出する自機操作検出手段、
前記自機操作検出手段が検出した操作情報を前記他機に送信する操作情報送信手段、
前記他機の操作情報送信手段から送信される操作情報に基づいて、当該他機の操作部に対する実際の操作時期を検出する他機操作検出手段、及び、
前記操作時期を指示するための操作指示標識が、前記シーケンスデータに記述された自機の操作部の操作時期には当該自機の操作部に対応する基準部に、他機の操作部の操作時期には当該他機の操作部に対応する基準部にそれぞれ達するように、かつ、前記自機操作検出手段及び前記他機操作検出手段による前記操作時期の検出に応答して、前記操作指示標識の移動経路が、次の基準部に向かう移動経路へと変化するように、前記ゲーム領域内にて前記操作指示標識を移動させる標識表示制御手段として機能させ、
さらに、前記標識表示制御手段を、
前記操作検出手段が前記操作時期を検出した時期に関して、前記操作情報に記録されている実際の操作時期に対する遅延が発生しているか否かを判別する遅延判別手段、及び、
前記遅延が発生していると判断された場合、当該遅延が発生しなかったと仮定したときの前記操作指示標識から前記次の基準部までの距離を本来の距離として推定し、該推定された本来の距離と、前記操作指示標識から前記次の基準部までの実際の距離との差が、前記次の基準部に対応する前記シーケンスデータ上の操作時期よりも早期に解消するように、前記操作指示標識の表示を補正する補正手段、としてそれぞれ機能させる、
ように構成されたゲーム機のコンピュータプログラム。
【請求項１１】
通信回線を介して接続された複数の端末間でゲームを進行させるゲームシステムに適用され、前記複数の端末の一つとして機能することが可能であり、少なくとも一つの操作部を有する入力装置と、ゲーム画面を表示する表示装置と、ゲーム中における自機の操作部の操作時期と、前記ゲームシステムの他の端末として機能する他機の操作部の操作時期とをそれぞれ記述したシーケンスデータを記憶するシーケンスデータ記憶手段と、を備えたゲーム機のコンピュータに、
前記自機の操作部に対応する基準部と、前記他機に対応する基準部とが間隔をあけて配置されたゲーム領域を前記ゲーム画面上に表示させるゲーム領域提示工程と、
前記自機の操作部に対する実際の操作時期を記録した操作情報を検出する自機操作検出工程と、
前記自機操作検出工程にて検出した操作情報を前記他機に送信する操作情報送信工程と、
前記他機の操作情報送信工程にて送信される操作情報に基づいて、当該他機の操作部に対する実際の操作時期を検出する他機操作検出工程と、
前記操作時期を指示するための操作指示標識が、前記シーケンスデータに記述された自機の操作部の操作時期には当該自機の操作部に対応する基準部に、他機の操作部の操作時期には当該他機の操作部に対応する基準部にそれぞれ達するように、かつ、前記自機操作検出工程及び前記他機操作検出工程による前記操作時期の検出に応答して、前記操作指示標識の移動経路が、次の基準部に向かう移動経路へと変化するように、前記ゲーム領域内にて前記操作指示標識を移動させる標識表示制御工程とを実行させ、
さらに、前記標識表示制御工程では、
前記操作検出工程にて前記操作時期を検出した時期に関して、前記操作情報に記録されている実際の操作時期に対する遅延が発生しているか否かを判別する遅延判別工程と、
前記遅延が発生していると判断された場合、当該遅延が発生しなかったと仮定したときの前記操作指示標識から前記次の基準部までの距離を本来の距離として推定し、該推定された本来の距離と、前記操作指示標識から前記次の基準部までの実際の距離との差が、前記次の基準部に対応する前記シーケンスデータ上の操作時期よりも早期に解消するように、前記操作指示標識の表示を補正する補正工程と、をそれぞれ実行させる、
ゲーム機の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力装置に設けられた操作部の操作時期をプレイヤに指示するゲーム機、並びに、そのゲーム機に用いる制御方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
複数のプレイヤが、音楽のリズムに合わせて交互に操作部を操作するゲーム機が存在する。このようなゲーム機であって、複数のプレイヤにてプレイされ、操作部の操作により次に操作部を操作するプレイヤを決めつつ各プレイヤが交互に操作部を操作するゲーム機が知られている（例えば、特許文献１参照）。また、二人のプレイヤにて操作時期を指示する対象物を交互に打ち返すようにプレイされ、各プレイヤが対象物を打ち返す時点の対象物の位置に応じて相手側に向かう対象物の速度が変化するゲーム機も知られている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２３６２４３号公報
【特許文献２】特開２０００−１５５５４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
通信回線を介して相互に接続されたゲーム機により複数のプレイヤに上述したタイプのゲームをプレイさせる場合、各ゲーム機は対戦相手のプレイヤのゲーム機から操作情報を受け取り、その操作情報から相手のプレイヤの操作時期を検出してゲームを進める必要がある。その場合、通信回線の混雑といった理由で、相手のプレイヤの操作時期の検出が遅れると、相手のプレイヤが適切な時期に操作をしているにも拘わらず、対象物等の操作指示標識の移動方向が切り替わる時期にも遅延が生じるおそれがある。操作指示標識にて指示されるべき次の操作時期は予め決まっている一方で、操作指示標識の移動方向の変更が遅れたときには次に操作指示標識が移動すべき距離が増加し、かつ次の操作時期までの残り時間も減少する。そのため、操作指示標識を本来よりも高速で移動させる必要が生じ、移動速度の制御結果に意図しない不都合が生じるおそれがある。
【０００５】
そこで、本発明は、操作時期を検出した時期に遅延が発生した場合の操作指示標識の移動速度の制御を改善したゲーム機等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明のゲーム機（２）は、通信回線（５）を介して接続された複数の端末間でゲームを進行させるゲームシステム（１）に適用され、前記複数の端末の一つとして機能することが可能なゲーム機であって、少なくとも一つの操作部（５５Ａ、９）を有する入力装置と、ゲーム画面（５０）を表示する表示装置（８）と、ゲーム中における自機の操作部（５５Ａ、９）の操作時期と、前記ゲームシステムの他の端末として機能する他機の操作部の操作時期とをそれぞれ記述したシーケンスデータ（２８）を記憶するシーケンスデータ記憶手段（２０）と、前記自機の操作部に対応する基準部（５５Ａ）と、前記他機に対応する基準部（５５Ｂ）とが間隔をあけて配置されたゲーム領域（５２）を前記ゲーム画面上に表示させるゲーム領域提示手段（１１）と、前記自機の操作部に対する実際の操作時期を記録した操作情報を検出する自機操作検出手段（１１、Ｓ１１、Ｓ１２）と、前記自機操作検出手段が検出した操作情報を前記他機に送信する操作情報送信手段（１１、Ｓ１３）と、前記他機の操作情報送信手段から送信される操作情報に基づいて、当該他機の操作部に対する実際の操作時期を検出する他機操作検出手段（１１、Ｓ１４、Ｓ１５）と、前記操作時期を指示するための操作指示標識（６０）が、前記シーケンスデータに記述された自機の操作部の操作時期には当該自機の操作部に対応する基準部に、他機の操作部の操作時期には当該他機の操作部に対応する基準部にそれぞれ達するように、かつ、前記自機操作検出手段及び前記他機操作検出手段による前記操作時期の検出に応答して、前記操作指示標識の移動経路（Ｗ）が、次の基準部に向かう移動経路へと変化するように、前記ゲーム領域内にて前記操作指示標識を移動させる標識表示制御手段（１１、Ｓ１〜Ｓ５）と、を具備し、前記標識表示制御手段は、前記操作検出手段が前記操作時期を検出した時期に関して、前記操作情報に記録されている実際の操作時期に対する遅延が発生しているか否かを判別する遅延判別手段（１１、Ｓ２４）と、前記遅延が発生していると判断された場合、当該遅延が発生しなかったと仮定したときの前記操作指示標識から前記次の基準部までの距離を本来の距離として推定し、該推定された本来の距離と、前記操作指示標識から前記次の基準部までの実際の距離との差が、前記次の基準部に対応する前記シーケンスデータ上の操作時期よりも早期に解消するように、前記操作指示標識の表示を補正する補正手段（１１、Ｓ３０；１１，Ｓ３０、Ｓ６１〜Ｓ６６）と、をさらに含むものである。
【０００７】
本発明のゲーム機のコンピュータプログラムは、通信回線（５）を介して接続された複数の端末間でゲームを進行させるゲームシステム（１）に適用され、前記複数の端末の一つとして機能することが可能であり、少なくとも一つの操作部（５５Ａ、９）を有する入力装置と、ゲーム画面（５０）を表示する表示装置（８）と、ゲーム中における自機の操作部の操作時期と、前記ゲームシステムの他の端末として機能する他機の操作部の操作時期とをそれぞれ記述したシーケンスデータ（２８）を記憶するシーケンスデータ記憶手段（２０）と、を備えたゲーム機（２）のコンピュータ（１０）を、前記自機の操作部に対応する基準部（５５Ａ）と、前記他機に対応する基準部（５５Ｂ）とが間隔をあけて配置されたゲーム領域（５２）を前記ゲーム画面上に表示させるゲーム領域提示手段（１１）、前記自機の操作部に対する実際の操作時期を記録した操作情報を検出する自機操作検出手段（１１、Ｓ１１、Ｓ１２）、前記自機操作検出手段が検出した操作情報を前記他機に送信する操作情報送信手段（１１、Ｓ１３）、前記他機の操作情報送信手段から送信される操作情報に基づいて、当該他機の操作部に対する実際の操作時期を検出する他機操作検出手段（１１、Ｓ１４、Ｓ１５）、及び、前記操作時期を指示するための操作指示標識（６０）が、前記シーケンスデータに記述された自機の操作部の操作時期には当該自機の操作部に対応する基準部に、他機の操作部の操作時期には当該他機の操作部に対応する基準部にそれぞれ達するように、かつ、前記自機操作検出手段及び前記他機操作検出手段による前記操作時期の検出に応答して、前記操作指示標識の移動経路（Ｗ）が、次の基準部に向かう移動経路へと変化するように、前記ゲーム領域内にて前記操作指示標識を移動させる標識表示制御手段（１１、Ｓ１〜Ｓ５）として機能させ、さらに、前記標識表示制御手段を、前記操作検出手段が前記操作時期を検出した時期に関して、前記操作情報に記録されている実際の操作時期に対する遅延が発生しているか否かを判別する遅延判別手段（１１、Ｓ２４）、及び、前記遅延が発生していると判断された場合、当該遅延が発生しなかったと仮定したときの前記操作指示標識から前記次の基準部までの距離を本来の距離として推定し、該推定された本来の距離と、前記操作指示標識から前記次の基準部までの実際の距離との差が、前記次の基準部に対応する前記シーケンスデータ上の操作時期よりも早期に解消するように、前記操作指示標識の表示を補正する補正手段（１１、Ｓ３０；１１，Ｓ３０、Ｓ６１〜Ｓ６６）としてそれぞれ機能させるように構成されたものである。
【０００８】
本発明のゲーム機の制御方法は、通信回線（５）を介して接続された複数の端末間でゲームを進行させるゲームシステム（１）に適用され、前記複数の端末の一つとして機能することが可能であり、少なくとも一つの操作部（５５Ａ、９）を有する入力装置と、ゲーム画面（５０）を表示する表示装置（８）と、ゲーム中における自機の操作部の操作時期と、前記ゲームシステムの他の端末として機能する他機の操作部の操作時期とをそれぞれ記述したシーケンスデータ（２８）を記憶するシーケンスデータ記憶手段（２０）と、を備えたゲーム機（２）のコンピュータ（１０）に、前記自機の操作部に対応する基準部（５５Ａ）と、前記他機に対応する基準部（５５Ｂ）とが間隔をあけて配置されたゲーム領域（５２）を前記ゲーム画面上に表示させるゲーム領域提示工程と、前記自機の操作部に対する実際の操作時期を記録した操作情報を検出する自機操作検出工程（Ｓ１１、Ｓ１２）と、前記自機操作検出工程にて検出した操作情報を前記他機に送信する操作情報送信工程（Ｓ１３）と、前記他機の操作情報送信工程にて送信される操作情報に基づいて、当該他機の操作部に対する実際の操作時期を検出する他機操作検出工程（Ｓ１４、Ｓ１５）と、前記操作時期を指示するための操作指示標識（６０）が、前記シーケンスデータに記述された自機の操作部の操作時期には当該自機の操作部に対応する基準部に、他機の操作部の操作時期には当該他機の操作部に対応する基準部にそれぞれ達するように、かつ、前記自機操作検出工程及び前記他機操作検出工程による前記操作時期の検出に応答して、前記操作指示標識の移動経路（Ｗ）が、次の基準部に向かう移動経路へと変化するように、前記ゲーム領域内にて前記操作指示標識を移動させる標識表示制御工程（Ｓ１〜Ｓ５）とを実行させ、さらに、前記標識表示制御工程では、前記操作検出工程にて前記操作時期を検出した時期に関して、前記操作情報に記録されている実際の操作時期に対する遅延が発生しているか否かを判別する遅延判別工程（Ｓ２４）と、前記遅延が発生していると判断された場合、当該遅延が発生しなかったと仮定したときの前記操作指示標識から前記次の基準部までの距離を本来の距離として推定し、該推定された本来の距離と、前記操作指示標識から前記次の基準部までの実際の距離との差が、前記次の基準部に対応する前記シーケンスデータ上の操作時期よりも早期に解消するように、前記操作指示標識の表示を補正する補正工程（Ｓ３０；Ｓ６１〜Ｓ６６）とをそれぞれ実行させるものである。
【０００９】
本発明によれば、操作時期を検出した時期に関して遅延が生じているか否かが判別される。そして、遅延が発生している場合には、当該遅延が発生しなかったと仮定したときの操作指示標識から次の基準部までの距離が本来の距離として推定され、その本来の距離と、操作指示標識から次の基準部までの実際の距離との差が、次の基準部に対応するシーケンスデータ上の操作時期、つまり、操作指示標識が次の基準部に到達すべき時期よりも早期に解消するように、操作指示標識の表示が補正される。したがって、距離の差が解消した後は、操作指示標識を遅延がなかった場合と同様の速度で移動させることにより、その操作指示標識を、シーケンスデータに記述された正しい操作時期に次の基準部へと到達させることができる。これにより、操作時期を検出した時期に遅延が発生した場合の操作指示標識の移動速度の制御が改善される。
【００１０】
本発明の一形態において、距離の差を解消するための補正は適宜の態様で行うことができる。一例として、前記ゲーム画面が描画される周期に合わせて前記標識表示手段が前記操作指示標識の位置を漸次変化させることにより前記操作指示標識を前記ゲーム領域内で移動させる場合、前記補正手段は、前記距離の差が一度に解消するように、前記ゲーム画面の一回の描画時における前記操作指示標識の位置に対して、次回の描画時における前記操作指示標識の位置を変化させてもよい。この場合には、操作指示標識が距離の差を解消するように瞬間的に移動し、以降は、操作指示標識を遅延のない場合と同様の速度で次の基準部に向かって移動させることができる。
【００１１】
あるいは、前記補正手段は、前記遅延が発生していると判断された場合、前記検出した時期における前記操作指示標識の位置を起点として前記新たな移動経路を設定し、前記新たな移動経路上で前記次の基準部までの距離が前記推定された本来の距離と一致する位置から、前記次の基準部に向かう前記操作指示標識の移動を開始させることにより、前記距離の差を解消させてもよい。この場合には、遅延が発生したと判別された場合に、距離の差が直ちに解消され、以降は、操作指示標識を遅延のない場合と同様の速度で次の基準部に向かって移動させることができる。
【００１２】
前記ゲーム画面が描画される周期に合わせて前記標識表示手段は、前記操作指示標識の位置を漸次変化させることにより前記操作指示標識を前記ゲーム領域内で移動させる場合、前記補正手段は、前記ゲーム画面を複数回描画する間に前記距離の差が徐々に減少するように、前記ゲーム画面の一回の描画時における前記操作指示標識の位置に対して、次回の描画時における前記操作指示標識の位置を変化させてもよい。この場合には、新たな移動経路に沿って操作指示標識が移動を開始した後、比較的早期の段階で距離の差が徐々に減少するように操作指示標識が移動し、距離の差が解消した後は、操作指示標識を遅延のない場合と同様の速度で次の基準部に向かって移動させることができる。
【００１３】
あるいは、前記補正手段は、前記遅延が発生していると判断された場合、前記検出した時期における前記操作指示標識の位置を起点として前記新たな移動経路を設定し、前記操作指示標識の移動中に前記本来の距離を繰り返し推定し、前記新たな移動経路上における前記操作指示標識から前記次の基準部までの距離が前記本来の距離と一致するまで、前記操作指示標識の移動速度を、前記本来の距離と前記次の基準部に対応する前記シーケンスデータ上の操作時期までの残り時間とに応じて定まる本来の移動速度に対して増加させることにより、前記距離の差を解消させてもよい。この場合、新たな移動経路に沿って操作指示標識が移動を開始した後、距離の差が解消するまでは操作指示標識が増速され、解消後は、操作指示標識を遅延のない場合と同様の速度で次の基準部に向かって移動させることができる。
【００１４】
本発明の一形態において、前記標識表示制御手段は、前記シーケンスデータにて記述された操作時期に対して前記実際の操作時期が所定範囲内の場合に前記移動経路を変化させるとともに、前記実際の操作時期が検出されない状態で所定時間が経過すると前記次の基準部に向かう最短経路を前記新たな経路として設定し、前記補正手段は、前記操作指示標識が前記最短経路上の移動を開始する前の段階に限って、前記距離の差を解消させるための前記表示の補正を実行し、前記最短経路上の移動が開始された後は前記表示を補正しないものとしてもよい。最短経路に沿って操作指示標識が移動を開始した場合には、操作指示標識が比較的遅い速度で移動する。したがって、上記の段階に限って距離の差を解消する表示の補正を実行すれば、本発明の作用効果を十分に発揮させることができる。
【００１５】
本発明は種々の形態のゲーム機に適用可能である。一例として、前記ゲーム領域提示手段は、四角形に形成された領域であって、直線状に延びる２つの基準部が前記四角形の一の両端に互いに対向するように設定されている領域を前記ゲーム領域として前記表示装置の画面上に表示させてもよい。前記入力装置は、前記ゲーム領域を覆うように前記表示装置に配置されるタッチパネル（９）を含んでもよい。さらに、本発明のゲーム機は、音声を再生出力する音声出力装置（１４）と、楽曲を再生させるための楽曲データを記憶する楽曲データ記憶手段（２０）と、前記楽曲データに基づいて前記音声出力装置から前記楽曲を再生させる楽曲再生手段（１０）と、をさらに備え、前記シーケンスデータには、前記楽曲の再生中における前記操作部の操作時期が記述されてもよい。
【００１６】
なお、以上の説明では本発明の理解を容易にするために添付図面の参照符号を括弧書きにて付記したが、それにより本発明が図示の形態に限定されるものではない。
【発明の効果】
【００１７】
以上説明したように、本発明によれば、操作時期の検出に遅延が発生したことに起因して生じる操作指示標識から次の基準部までの本来の距離と、操作指示標識から次の基準部までの実際の距離との差が、次の基準部に対応するシーケンスデータ上の操作時期よりも早期に解消するように、操作指示標識の表示が補正される。したがって、距離の差が解消した後は、操作指示標識を遅延がなかった場合と同様の速度で移動させることにより、その操作指示標識を、シーケンスデータに記述された正しい操作時期に次の基準部へと到達させることができる。これにより、操作時期を検出した時期に遅延が発生した場合の操作指示標識の移動速度の制御が改善される。
【図面の簡単な説明】
【００１８】
【図１】本発明の一形態に係るゲーム機を含んだゲームシステムを示す図。
【図２】ゲームシステム内の一のゲーム機の物理的構成を示す図。
【図３】ゲーム機の機能ブロック図。
【図４】ゲーム画面を模式的に示した図。
【図５】オブジェクトの操作位置と移動経路の選択との関係を説明するための図。
【図６】シーケンスデータの一例を示す図。
【図７】シーケンス処理ルーチンのフローチャート。
【図８】操作検出ルーチンのフローチャート。
【図９】オブジェクト座標演算ルーチンのフローチャート。
【図１０】図９に続くフローチャート。
【図１１】図１０に続くフローチャート。
【図１２】補正処理ルーチンのフローチャート。
【図１３】補正処理が適用される場合のオブジェクトの移動経路を示す図。
【図１４】図１２の変形例を示すフローチャート。
【図１５】図１１の変形例を示すフローチャート。
【発明を実施するための形態】
【００１９】
図１は、本発明の一形態に係るゲーム機を含むゲームシステムを示している。ゲームシステム１においては、複数のゲーム機２と、センターサーバ３とがルータ４を介してネットワーク５にそれぞれ接続されている。センターサーバ３は一台の物理的装置によって構成されている例に限らず、複数の物理的装置としてのサーバ群によって一台の論理的なセンターサーバ３が構成されてもよい。各ゲーム機２は、ネットワーク５に接続されることにより、ゲームシステム１の端末装置（あるいはクライアント）として機能する。ネットワーク５としては、インターネットが使用されている。なお、ネットワーク５は、通信回線を使用したものであればよく、インターネットに限定されるものではない。
【００２０】
各ゲーム機２は、プレイ料金の支払いと引き換えに所定範囲のゲームのプレイを許可する業務用のゲーム機として構成されている。ゲーム機２は、店舗６等の商業施設に適当な台数ずつ設置される。ルータ４は、各店舗６及びセンターサーバ３に対応付けて設置される。同一店舗のゲーム機２は、共通のルータ４を介してネットワーク５に接続されている。なお、ゲーム機２と店舗６のルータ４との間にローカルサーバが設置され、そのローカルサーバを介してゲーム機２がセンターサーバ３と通信可能に接続されてもよい。
【００２１】
センターサーバ３には、マイクロプロセッサと、そのマイクロプロセッサにて実行されるべきオペレーティングシステム等のプログラムが記録されたＲＯＭ、及びマイクロプロセッサに対する作業領域を提供するＲＡＭ等の内部記憶装置（不図示）とを備えたコンピュータとして構成された制御ユニット（不図示）が設けられている。また、センターサーバ３には、不図示の外部記憶装置が接続されている。外部記憶装置には、制御ユニットにて実行されるべき各種サーバ用プログラム及びそのプログラムが参照する各種データがそれぞれ記憶されている。
【００２２】
図２は、ゲーム機２の物理的な構成を示している。ゲーム機２は、筐体７と、筐体７の上面にプレイヤＰ側に傾けられて配置される表示装置としてのモニタ８とを備えている。モニタ８の表面には、透明なタッチパネル９が重ね合わされている。タッチパネル９は、プレイヤＰが指等で触れると、その接触位置に応じた信号を出力する公知の入力装置である。その他にも、ゲーム機２には、選択あるいは決定をするためのボタン、電源スイッチ、ボリューム操作スイッチ、電源ランプといった通常の業務用のゲーム機が備えている各種の入力装置及び出力装置が設けられているが、図２ではそれらの図示を省略している。
【００２３】
図３は、ゲーム機２の機能ブロック図である。筐体７の内部にはコンピュータとしての制御ユニット１０が設けられている。制御ユニット１０は、制御主体としてのゲーム制御部１１と、そのゲーム制御部１１からの出力に従って動作する表示制御部１２及び、音声出力制御部１３とを備えている。ゲーム制御部１１は、マイクロプロセッサと、そのマイクロプロセッサの動作に必要な内部記憶装置（一例としてＲＯＭ及びＲＡＭ）等の各種の周辺装置とを組み合わせたユニットとして構成されている。表示制御部１２は、ゲーム制御部１１から与えられる画像データに応じた画像をフレームバッファに描画し、その描画した画像に対応する映像信号をモニタ８に出力することにより、モニタ８上に所定の画像を表示させる。音声出力制御部１３は、ゲーム制御部１１から与えられる音声再生データに応じた音声再生信号を生成して、制御ユニット１０に接続された音声出力装置としてのスピーカ１４に出力することにより、スピーカ１４から所定の音声（楽音等を含む）を再生させる。
【００２４】
ゲーム制御部１１には、外部記憶装置２０が接続されている。外部記憶装置２０には、ＤＶＤＲＯＭ、ＣＤＲＯＭ等の光学式記憶媒体、あるいはＥＥＰＲＯＭ等の不揮発性半導体メモリ装置といった、電源の供給がなくても記憶を保持可能な記憶媒体が使用される。
【００２５】
外部記憶装置２０には、ゲームプログラム２１と、ゲームデータ２２とが記憶されている。ゲームプログラム２１は、ゲーム機２にて所定の手順に従って音楽ゲームを実行するために必要なコンピュータプログラムである。ゲーム機２が起動されると、ゲーム制御部１１はその内部記憶装置に記憶されたオペレーションプログラムを実行することにより、ゲーム機２として動作するために必要な各種の初期設定を実行し、続いて、外部記憶装置２０からゲームプログラム２１を読み込んでこれを実行することにより、ゲームプログラム２１に従って音楽ゲームを実行するための環境を設定する。ゲーム制御部１１は、コンピュータハードウェアとコンピュータプログラムとの組み合わせによって実現される論理的装置である。ゲーム制御部１１は、プレイヤが選択した音楽（楽曲）の再生に合わせてプレイヤに操作を指示し、あるいはプレイヤの操作に応じて効果音を発生させるといった音楽ゲーム処理を実行する。さらに、ゲーム制御部１１は、プレイヤの操作を評価し、かつその評価結果に応じたゲームの制御といった処理も実行する。
【００２６】
ゲームデータ２２には、ゲームプログラム２１に従って音楽ゲームを実行する際に参照されるべき各種のデータが含まれている。ゲームデータ２２には、楽曲データ２５、効果音データ２６及び画像データ２７が含まれている。楽曲データ２５は、ゲームの対象となる楽曲をスピーカ１４から再生出力させるために必要なデータである。図３では、一種類の楽曲データ２５のみが示されているが、実際には、プレイヤが複数種類の楽曲からプレイする楽曲を選択可能である。ゲームデータ２２には、それらの複数種類の楽曲にそれぞれ対応した複数種類の楽曲データ２５が楽曲を識別するための情報を付して記録されている。楽曲データ２５を記憶することにより、外部記憶装置２０は楽曲データ記憶手段として機能する。
【００２７】
効果音データ２６は、プレイヤの操作に応答してスピーカ１４から出力させるべき複数種類の効果音を、効果音毎にユニークなコードと対応付けて記録したデータである。効果音は、楽器その他の様々な種類の音声を含む。効果音データは、各種類に対して、音程を変えて所定のオクターブ数だけ用意されていてもよい。画像データ２７は、ゲーム画面内の背景画像、各種のオブジェクト、アイコン等をモニタ８に表示させるためのデータである。ゲームデータ２２には、さらに、シーケンスデータ２８が含まれている。シーケンスデータ２８は、プレイヤに対する操作時期を指示するデータであるが、その詳細は後述する。外部記憶装置２０は、シーケンスデータ２８を記憶することにより、シーケンスデータ記憶手段として機能する。
【００２８】
次に、ゲーム機２にて実行される音楽ゲームの概要を説明する。ゲーム機２は、自機のプレイヤと、ネットワーク５を介して接続された他のゲーム機２（他機）のプレイヤとに同一の音楽に合わせた操作を実行させ、それらのプレイヤの操作を評価してその結果を競わせる対戦タイプの音楽ゲームを実行可能である。
【００２９】
ゲームが開始される前に、各ゲーム機２からセンターサーバ３に対して、ネットワーク５を介して対戦者を求めるマッチング要求が送信される。センターサーバ３は、各ゲーム機２からのマッチング要求に基づいて、互いに対戦相手となる二人のプレイヤをマッチングする。センターサーバ３の指定に基づいて対戦相手が決定されると、それらのプレイヤ間で、ゲーム機２間の通信を利用した音楽ゲームの対戦が開始される。
【００３０】
図４は、ゲーム機２にて実行される音楽ゲームのゲーム画面を模式的に示した図である。ゲーム画面５０には、プレイヤに操作時期を案内するためのゲーム領域５２と、マッチングされた二人のプレイヤの得点等を含むゲーム情報を表示するための情報領域５３とが含まれている。ゲーム領域５２は矩形に形成されている。ゲーム領域５２の長手方向（図４の上下方向）の両端５２Ｕ、５２Ｂの付近には、基準部としての第１基準部５５Ａ及び第２基準部５５Ｂが互いに対向するように配置されている。各基準部５５Ａ、５５Ｂは、ゲーム領域５２の長手方向と直交する方向に直線状に延びている。ゲーム制御部１１は、ゲーム領域５２をモニタ８上に表示させることにより、ゲーム領域提示手段として機能する。
【００３１】
基準部５５Ａは、マッチングされた２台のゲーム機２をプレイする両プレイヤによりそれぞれゲーム上の現在時刻の基準として用いられる。一方、基準部５５Ｂは、相手側のプレイヤにおける現在時刻の基準を示す標識として機能する。つまり、第１基準部５５Ａは自機のプレイヤ（以下、第１プレイヤと呼ぶことがある。）の現在時刻の基準として機能し、第２基準部５５Ｂは他機のプレイヤ（以下、第２プレイヤと呼ぶことがある。）が現在時刻の基準として認識している位置を示す標識として機能する。ちなみに、図４のゲーム画面５０は、第１プレイヤから見て、手前側を下に、奥側を上にして描かれている。各基準部５５Ａ、５５Ｂには、各プレイヤを区別するために異なる色が用いられている。図４の例では、第１基準部５５Ａとして赤色の直線が、第２基準部５５Ｂとして青色の直線が、それぞれ用いられている。また、情報領域５３は、ゲーム領域５２の周囲に配置され、ゲーム領域５２の長手方向の一端側が一方のプレイヤの得点等を表示するために用いられ、他端側が他方のプレイヤの得点等を表示するために用いられる。
【００３２】
基準部５５Ａ、５５Ｂは、所定の間隔で配置された複数の反発点Ｒ１、Ｒ２をそれぞれ含んでいる。図中に破線で示したように、第１基準部５５Ａに含まれる複数の反発点Ｒ１と第２基準部に含まれる複数の反発点Ｒ２とは、それぞれ複数の経路Ｗによって相互に接続されている。具体的には、第１基準部５５Ａの一の反発点Ｒ１からは第２基準部５５Ｂに含まれる複数の反発点Ｒ２に到る複数の経路Ｗが、同様に第２基準部５５Ｂの一の反発点Ｒ２からは第１基準部５５Ａに含まれる複数の反発点Ｒ１に到る複数の経路Ｗがそれぞれ設けられている。なお、図４では一部の反発点Ｒ１、Ｒ２のみが例示されている。実際には多数の反発点Ｒ１、Ｒ２が基準部５５Ａ、５５Ｂに沿って一定間隔で存在する。
【００３３】
第１基準部５５Ａの反発点Ｒ１から延びる複数の経路Ｗは、反発点Ｒ２を通過しつつ第２基準部５５Ｂ側の上側端部５２Ｕまで延びている。また、第２基準部５５Ｂの反発点Ｒ２から延びる複数の経路Ｗは、反発点Ｒ１を通過しつつ第１基準部５５Ａ側の下側端部５２Ｂまで延びている。第１基準部５５Ａの一つの反発点Ｒ１に着目すると、その反発点Ｒ１に対しては、複数の経路Ｗとして、第２基準部５５Ｂに含まれる３つの反発点Ｒ２に向かってこの反発点Ｒ１から延びる３つの経路Ｗ１、Ｗ２、Ｗ３が設けられている。音楽ゲームの実行中、つまり、楽曲の再生の進行中において、反発点Ｒ１と反発点Ｒ２とを接続する経路Ｗ上には、操作を指示する操作指示標識としてのオブジェクト６０がシーケンスデータ２８に従って表示される。なお、図４では、説明の都合上、各経路Ｗ１、Ｗ２、Ｗ３を破線で示したが、実際のゲーム画面５０Ａには複数の経路Ｗのいずれも表示されていない。
【００３４】
オブジェクト６０は、曲中の所定の時期に反発点Ｒ１、あるいは反発点Ｒ２に出現し、楽曲の進行に従って、出現した各反発点Ｒ１、Ｒ２から反対側に位置する各反発点Ｒ１、Ｒ２に向かって、出現した各反発点Ｒ１、Ｒ２から延びる経路Ｗ上を移動する。そして、オブジェクト６０の基準部５５Ａ、５５Ｂへの到達に合わせて適切な操作が実行された場合、そのオブジェクト６０は消滅する。そのオブジェクト６０の消滅と引き換えに、各基準部５５Ａ、５５Ｂの各反発点Ｒ１、Ｒ２には次のオブジェクト６０が出現する。つまり、適切な操作が行われた場合、オブジェクト６０が到達した位置（反発点）が次のオブジェクト６０の出現位置として機能する。なお、オブジェクト６０は、一つの反発点Ｒ１（又はＲ２）に対して設定された複数の経路Ｗのいずれか一つに沿って移動する。複数の経路Ｗから一つの経路Ｗを選択する手順については後述する。
【００３５】
出現位置に出現したオブジェクト６０は、その出現位置から反対側に位置する各反発点Ｒ１、Ｒ２に向かって移動する。このため、適切な操作が実行された場合には、オブジェクト６０は、各反発点Ｒ１、Ｒ２であたかも反発するように、各基準部５５Ａ、５５Ｂ間を交互に繰り返し移動する。一方、適切な操作が実行されなかった場合には、オブジェクト６０は、各経路Ｗに沿って各基準部５５Ａ、５５Ｂを通過する。各基準部５５Ａ、５５Ｂを通過したオブジェクト６０は、上側端部５２Ｕ又は下側端部５２Ｂまで移動する。そして、各端部５２Ｕ、５２Ｂのオブジェクト６０が到達した位置が次のオブジェクト６０の出現位置として機能する。このため、操作が実行されなかった場合には、オブジェクト６０は、各端部５２Ｕ、５２Ｂから反対側に位置する基準部に向かって、各端部５２Ｕ、５２Ｂにてあたかも反発したかのように移動方向を変える。端部５２Ｕ、５２Ｂにて反発した後のオブジェクト６０の移動経路については、側壁５２Ｌ、５２Ｒを経由せず、次に到達すべき反発点までの距離が最小となる経路に設定される。なお、上記のオブジェクト６０の反転は原則であり、一定の場合には例外的な処理がなされる。詳細は後述する。
【００３６】
上述した適切な操作として、各プレイヤには、自機のオブジェクト６０の基準部５５Ａへの到達に合わせて、基準部５５Ａのオブジェクト６０が到達した位置をタッチするタッチ操作が要求される。各プレイヤがタッチ操作を行うと、オブジェクト６０が基準部５５Ａに一致した時刻と、各プレイヤがタッチ操作した時刻との間のずれ時間が検出される。そのずれ時間が小さいほどプレイヤの操作が高く評価される。また、タッチ操作に応じて効果音がスピーカ１４から再生される。効果音の再生方法として周知の方法が適用されてよい。例えば、効果音再生の周知な方法として、楽曲を再生しつつ楽曲の上から効果音を追加する方法、ミスした場合に楽曲を消音しつつミス操作に対応した効果音を再生する方法が存在する。また、例えば、楽曲を分割して各操作時期に割り当てて、適切な操作が実行された場合、当該操作時期に割り当てられた楽曲のパートが演奏される（各操作時期に対する適切な操作により楽曲を形成するような方法。このため、ミス操作がされた場合には、その操作時期に割り当てられた楽曲のパートが再生されない。）方法も存在する。
【００３７】
図４の例では、オブジェクト６０が経路Ｗ１上にて第２基準部５５Ｂの反発点Ｒ２に向かって移動中である。そのオブジェクト６０の第２基準部５５Ｂへの到達に合わせて、第２プレイヤは、他機（第２プレイヤからみて自機）のゲーム画面５０に表示されている第１基準部５５Ａのオブジェクト６０が到達する位置をタッチ操作すればよい。また、オブジェクト６０は、これから向かう先の各基準部５５Ａ、５５Ｂに対応した色で表示されている。つまり、図４の例では、オブジェクト６０は第２基準部５５Ｂの反発点Ｒ２に到達するまで青色で表示され、到達した反発点Ｒ２に出現する次のオブジェクト６０は赤色で表示される。本形態では、モニタ８上の基準部５５Ａ（より正確には、基準部５５Ａ上に設定された全ての反発点Ｒ１）と、そこに重ね合わされるタッチパネル９との組み合わせによって操作部が形成される。つまり、基準部５５Ａは、本発明の入力装置における操作部の一部として機能すると同時に、自機の操作部に対応する基準部として機能する。なお、以下では、基準部５５Ａを、操作部を代表する用語として使用することがある。基準部５５Ｂは、対戦相手のプレイヤのゲーム機２（他機）の操作部に対応する基準部である。
【００３８】
オブジェクト６０が移動する経路Ｗの選択は、基準部５５Ａがタッチ操作されたときのオブジェクト６０の位置に基づいて決定される。位置の対比を容易にするために、オブジェクト６０は複数の領域に分けられる。図５は、オブジェクト６０の領域を説明するための図である。図５の破線は経路Ｗ１、Ｗ２、Ｗ３をそれぞれ示し、一点鎖線６２は各領域の境界をそれぞれ示している。
【００３９】
図５の例では、オブジェクト６０は基準部５５Ａと最初に接触する接触点付近の接触領域Ｓと、その接触領域Ｓを境界とする右側領域Ｒ、左側領域Ｌ及び、その他の領域Ｏの４つの領域に分けられる。プレイヤがいずれの領域をタッチ操作したかに応じて、次にオブジェクト６０が進むべき経路Ｗが選択される。すなわち、接触領域Ｓ又は、その他の領域Ｏ付近（これらの各領域を含む）がタッチ操作された場合には、反発点Ｒ１に最短距離で向かう直線経路Ｗ２が、左側領域Ｌ付近（当該領域を含む）がタッチ操作された場合にはゲーム領域５２の長手方向の右側の側壁５２Ｒを経由して反発点Ｒ１に向かう第１右側経路Ｗ３が、右側領域Ｒ付近（当該領域を含む）がタッチ操作された場合にはゲーム領域５２の長手方向の左側の側壁５２Ｌを経由して反発点Ｒ１に向かう第１左側経路Ｗ１がそれぞれ選択される。移動経路Ｗ１〜Ｗ３のそれぞれの距離は相互に異なる。したがって、操作位置とオブジェクト６０の位置との間の位置関係に応じて、オブジェクト６０が次の各基準部５５Ａ、５５Ｂに移動するための移動距離に差が生じる。一方で、移動経路Ｗの距離に関係なく、オブジェクト６０をタッチ操作すべき操作時期、つまり、各基準部５５Ａ、５５Ｂにオブジェクト６０が到達すべき時期は同じである。このため、移動経路に応じてオブジェクト６０の移動速度に差が生じる。つまり、一方のプレイヤのタッチ操作に応じて他方のプレイヤに向かって移動するオブジェクト６０の経路Ｗ及び移動速度が変化する。これによりゲームの難易度が変化するので、各プレイヤには相手プレイヤへの影響を意識した操作が要求される。
【００４０】
なお、図４ではゲーム領域５２に単一のオブジェクト６０のみが表示された状態を示している。しかし、ゲーム領域５２には、位置、速度あるいは経路が互いに相違する複数のオブジェクト６０が表示されることもある。その場合、各オブジェクト６０の出現位置、移動経路、消滅位置といったオブジェクト６０の表示及び移動に関する制御は、上述した例に従ってオブジェクト６０毎に行なわれる。
【００４１】
次に、図６を参照して、シーケンスデータ２８の詳細を説明する。シーケンスデータ２８は、条件定義部２８ａと、操作シーケンス部２８ｂとを含んでいる。条件定義部２８ａには、音楽のテンポ、ビート、トラック、また、オブジェクト６０をタッチ操作したときにそれぞれ発生させるべき効果音を指定する情報等、楽曲毎に異なるゲームの実行条件を指定する情報が記述される。なお、図６では条件定義部２８ａがシーケンスデータ２８の先頭のみに設けられているが、操作シーケンス部２８ｂの途中の適宜の位置にも条件定義部２８ａが追加されてよい。それにより、曲中のテンポの変更、効果音の割り当ての変更といった処理を実現することができる。
【００４２】
一方、操作シーケンス部２８ｂには、オブジェクト６０をタッチ操作すべき時期と、表示開始すべき時期と、タッチ操作を行うべきプレイヤを指示する情報（言い換えれば、基準部５５Ａ、５５Ｂのうち、オブジェクト６０が到達すべきいずれか一方の基準部を指示する情報）とがオブジェクト６０毎に対応付けて記述されている。図６にて一部の詳細を示したように、操作シーケンス部２８ｂは、楽曲中においてタッチ操作が行われるべき時期（操作時期）を指示する操作時期部２８ｃと、オブジェクト６０の表示が開始されるべき表示開始時期を設定する表示開始情報部２８ｄと、オブジェクト６０の表示が開始されるべきプレイヤ（言い換えれば、オブジェクト６０の表示が開始されるべき、いずれか一方の基準部）を指示する表示位置指示部２８ｅと、表示するオブジェクト６０を指示する標識情報部２８ｆとを含んでいる。操作シーケンス部２８ｂは、表示するオブジェクト６０毎に、楽曲中において操作が行われるべき操作時期と、オブジェクト６０の表示開始時期と、オブジェクト６０が表示開始されるプレイヤとが対応付けて記述された複数のレコードの集合として構成されている。操作時期及び表示開始時期は、楽曲中の小節番号、拍数、及び拍中の時刻を示す値がカンマで区切られて記述されている。拍中の時刻は、一拍の先頭からの経過時間であり、一拍の時間長をｎ個の単位時間に等分したときのその拍の先頭からの単位数で表現される。例えば、ｎ＝１００で、楽曲の一小節目の二拍目で、かつその拍の先頭から１／４だけ経過した時刻を操作時期又は表示開始時期として指定する場合には、“０１，２，０２５”と記述される。
【００４３】
操作時期部２８ｃには、一の操作時期とその一の操作時期に対する次の操作時期との間の時間間隔が所定値未満となる操作時期が含まれている。図６の例では、このような一の操作時期に対応する特定の操作時期２８ｃｓと、特定の操作時期２８ｃｓの前の操作時期２８ｃｆと、特定の操作時期２８ｃｓの次の操作時期として次の操作時期に対応する次の操作時期２８ｃｒと、を破線で囲っている。図６の例では、次の操作時期２８ｃｒの表示開始時期には、前の操作時期２８ｃｆに設定された表示開始時期と一致する時期が設定されている。次の操作時期２８ｃｒと、前の操作時期２８ｃｆ及び、特定の操作時期２８ｃｓとには、別のオブジェクト６０を指示する情報が対応付けられている。
【００４４】
オブジェクト６０が表示開始されるプレイヤの指示は、第１プレイヤを指示する場合に“Ｐ１”、第２プレイヤを指示する場合に“Ｐ２”、とそれぞれ記述される。第１プレイヤを示す“Ｐ１”が付されたレコードは、その操作時期部２８ｃに記述された操作時期にオブジェクト６０が第１基準部５５Ａに到達すべきことを意味するレコードである。一方。第２プレイヤを示す“Ｐ２”が付されたレコードは、その操作時期部２８ｃに記述された操作時期にオブジェクト６０が第２基準部５５Ｂに到達すべきことを意味するレコードである。なお、プレイヤの指示は、表示されるオブジェクト６０の色の指示にも該当し、“Ｐ１”の場合に青色のオブジェクト６０が、“Ｐ２”の場合に赤色のオブジェクト６０がそれぞれ表示される。
【００４５】
標識情報部２８ｆには、表示すべきオブジェクト６０を指示する情報が“Ａ”等のアルファベットを用いて記述されている。その情報は、複数のオブジェクト６０をゲーム領域５２に表示する場合において、オブジェクト６０を区別するために付される。すなわち、ゲーム領域５２に表示させる１つ目のオブジェクト６０に対応するアルファベットとして“Ａ”が、２つめのオブジェクト６０に対応するアルファベットとして“Ｂ”が、３つめのオブジェクト６０に対応するアルファベットとして“Ｃ”がそれぞれ用いられる。つまり、表示すべきオブジェクト６０を指示する情報として、ゲーム領域５２に表示させるオブジェクト６０の数に応じた種類のアルファベットが用いられている。オブジェクト６０を指示する情報は、各操作時期間の対応関係も示している。具体的には、共通のオブジェクト６０を指示する情報が対応付けられている各操作時期間において、ある一つの操作時期に対応するオブジェクト６０が到達した位置は、その一つの操作時期に最も近い（あるいは、等しい）表示開始時期が設定されている他の操作時期に対応するオブジェクト６０の出現位置としての機能を有している。なお、同一の操作時期を指定するレコードが複数存在する場合には、表示開始時期が早い方、又は、シーケンスデータ２８の記述されている並びの早い方等、同一の操作時期を指定するレコードのうちいずれか一つを所定の特定条件等により特定することにより、他の操作時期に対応するオブジェクト６０（次に出現するオブジェクト６０）の出現位置を特定すればよい。
【００４６】
図６の例では、一小節目の四拍目の開始時点（０００）に、第１プレイヤに対応する第１基準部５５Ａ上に青色のオブジェクト６０が表示され、第１基準部５５Ａから経路Ｗに沿って、一小節目の四拍目の開始時点から“０１０”相当だけ経過した時期に第２基準部５５Ｂに到達するように移動するといった具合に、表示開始時期、操作時期及び、オブジェクト６０が表示開始される基準部が指示されている。また、一小節目の四拍目の開始時点から“０１０”相当だけ経過した時期には、前述のオブジェクト６０が到達した反発点Ｒ２を出現位置として赤色のオブジェクト６０が表示され、当該オブジェクト６０が第２基準部５５Ｂからプレイヤのタッチ操作位置に応じた経路Ｗに沿って、一小節目の四拍目の開始時点から“０１６”相当だけ経過した時期に第１基準部５５Ａに到達するように移動する。さらに、二小節目の二拍目の開始時点から“０２４”相当だけ経過した時期には、第２プレイヤが基準として用いる第２基準部５５Ｂ上の直前にオブジェクト６０が到達した反発点Ｒ２に、前の操作時期２８ｃｆに対応する赤色のオブジェクト６０及び次の操作時期２８ｃｒに対応する赤色の２つ目のオブジェクト６０が出現し、１つ目のオブジェクト６０は二小節目の二拍目の開始時点から“０３０”相当だけ経過した時期に、２つ目のオブジェクト６０は二小節目の二拍目の開始時点から“０３６”相当だけ経過した時期に、それぞれ第１基準部５５Ａに到達するように経路Ｗ上を移動する。なお、図６の例では、１つ目のオブジェクト６０が二小節目の二拍目の開始時点から“０３０”相当だけ経過した時期に第１基準部５５Ａに到達した後に、その到達位置から二小節目の二拍目の開始時点から“０３４”相当だけ経過した時期に第２基準部５５Ｂに到達するようにオブジェクト６０に対して指示するレコードが特定の操作時期２８ｃｓのレコードに相当する。
【００４７】
なお、以上では、プレイヤが適切な操作を行うことにより、基準部５５Ａ、５５Ｂの間で繰り返し移動するオブジェクト６０に関して説明した。しかしながら、往復を前提とせず、一方のプレイヤの操作に応じて消滅するのみで、移動方向が反転しないタイプのオブジェクトが追加されてもよい。その他にも、複数個連鎖した状態で出現するオブジェクトといった様々なオブジェクトを、上述した往復タイプのオブジェクト６０に加えてゲーム領域５２に出現させてもよい。
【００４８】
次に、ゲーム機２にて音楽ゲームが実行される際のゲーム制御部１１の処理を説明する。なお、以下では、ゲームの開始に必要な初期化、マッチング、楽曲や難易度の選択といった各種の処理が完了しているものとする。マッチングされたプレイヤのゲーム機２は互いに等しい手順でゲームを進行させるため、以下では一方のゲーム機２の処理を説明する。
【００４９】
マッチングされたプレイヤ間でのゲームが開始されると、ゲーム制御部１１は、プレイヤが選択した曲に対応する楽曲データ２５を読み取って音声出力制御部１３に出力することにより、スピーカ１４から楽曲の再生を開始させる。これにより、制御ユニット１０が楽曲再生手段として機能する。また、ゲーム制御部１１は、楽曲の再生に同期して、プレイヤの選択に対応したシーケンスデータ２８を読み取って、画像データ２７を参照しつつゲーム領域５２及び情報領域５３の描画に必要な画像データを生成して表示制御部１２に出力することにより、モニタ８上にゲーム領域５２及び情報領域５３を表示させる。さらに、音楽ゲームの実行中において、ゲーム制御部１１は、ゲーム領域５２の表示等に必要な処理として、図７に示すシーケンス処理ルーチンを所定の周期で繰り返し実行する。その周期は、ゲーム画面５０を描画する周期、つまりフレームレートと等しい。
【００５０】
図７に示すシーケンス処理ルーチンにおいて、ゲーム制御部１１は、まずステップＳ１にて楽曲上の現在時刻を取得する。例えば、楽曲の再生開始時点を基準として、ゲーム制御部１１の内部クロックにて計時が開始され、その内部クロックの値から現在時刻が取得される。楽曲上の時刻は、再生開始時点からの経過時間によって特定されてもよいし、経過時間と相関する他の値によって特定されてもよい。例えば楽曲の再生開始時点からの楽曲の拍数、ゲーム画面５０のフレーム数等を利用して時刻が特定されてもよい。続くステップＳ２において、ゲーム制御部１１は、シーケンスデータ２８から、次フレームで描画されるべきゲーム領域５２の表示範囲に相当する時間長に存在する表示開始時期、及び操作時期のデータを取得して内部記憶装置に保持する。表示範囲は、一例として現在時刻（ただし、次フレームの描画時における時刻）から将来に向かって楽曲の２小節相当の時間範囲、及び現在時刻からゲーム領域５２の端部５２Ｕ、５２Ｂに相当する時間範囲に設定される。次のステップＳ３では、次フレームで描画すべき全てのオブジェクト６０のゲーム領域５２内における座標を演算する。その演算の詳細は後述する。
【００５１】
次のステップＳ４において、ゲーム制御部１１は、ステップＳ４で演算されたオブジェクト６０の座標に基づいて、ゲーム領域５２を描画するために必要な画像データを生成する。具体的には、演算された座標に各オブジェクト６０が配置されるように画像データを生成する。オブジェクト６０等の画像は、画像データ２７から取得すればよい。続くステップＳ５にて、ゲーム制御部１１は表示制御部１２に画像データを出力する。それにより、モニタ８上のゲーム領域５２の表示が更新される。ステップＳ５の処理を終えると、ゲーム制御部１１は今回のシーケンス処理ルーチンを終了する。以上の処理が繰り返し実行されることにより、オブジェクト６０が所定の表示開始時期に基準部５５Ａ、５５Ｂのいずれか一方に出現し、楽曲の進行に合わせて経路Ｗを進み、所定の操作時期に基準部５５Ａ、５５Ｂの他方に達するように、オブジェクト６０の表示が制御される。
【００５２】
ゲーム制御部１１は、上述したシーケンス処理ルーチンと並行して、図８の操作検出ルーチンを適宜の周期で繰り返し実行する。なお、図８のルーチンが実行される周期は、図７のルーチンの実行周期と等しいか、又はそれよりも短い。操作検出ルーチンは、第１プレイヤ及び第２プレイヤのタッチ操作の内容（操作位置及び操作時期）を取得するために実行される処理である。ゲーム制御部１１は、その操作検出ルーチンを開始すると、ステップＳ１１でタッチパネル９の出力を参照して第１プレイヤが前回のルーチンの終了後にタッチ操作を行ったか否かを判別する。タッチ操作が行われている場合、ゲーム制御部１１はステップＳ１２に進み、第１プレイヤがタッチした位置及びそのタッチ操作が行われた時期を取得し、それらを記録した操作情報を生成して当該操作情報を内部記憶装置に記憶する。続くステップＳ１３にて、ゲーム制御部１１は、ステップＳ１２で記憶した操作情報を対戦相手のプレイヤのゲーム機２に送信する。
【００５３】
次のステップＳ１４にてゲーム制御部１１は、前回のルーチンの終了後に、対戦相手のゲーム機２から操作情報を受信したか否か判別する。受信している場合、ゲーム制御部１１はステップＳ１５に進み、受信した操作情報を内部記憶装置に記憶する。ステップＳ１５の処理が完了すると、ゲーム制御部１１は今回の処理を終了する。なお、ステップＳ１１が否定判断された場合、ゲーム制御部１１はステップＳ１２及びＳ１３をスキップしてステップＳ１４に進む。ステップＳ１４が否定判断された場合、ゲーム制御部１１はステップＳ１５をスキップしてルーチンを終了する。図８の処理によって記憶された操作情報に含まれている第１プレイヤ及び第２プレイヤのそれぞれの操作の時期が、各プレイヤの実際の操作時期として扱われる。ただし、その操作時期は、これが行われた時期よりも過去の時刻となっている場合がある。例えば、ネットワーク５に通信遅延が発生し、他機からの操作情報の送信時刻と自機における操作情報の受信時刻との間に時間差が発生すると、その操作情報を検出した時期は、操作情報に含まれている実際の操作時期と比較して無視できないほど遅延することがある。本発明はそのような遅延に対処することを目的の一つとする。
【００５４】
なお、ゲーム制御部１１は、上述した処理と並行して、各プレイヤのタッチ操作に対応するシーケンスデータ２８上のレコードを抽出してそのレコード上の操作時期とプレイヤの実際の操作時期とを比較し、両操作時期のずれ量に応じてプレイヤの各操作を複数段階に分けて評価する処理も実行する。ただし、その処理は公知のゲーム機のそれと同様でよく、詳細な説明は省略する。
【００５５】
次に、図９〜図１３を参照して、オブジェクト６０の座標を演算するためにゲーム制御部１１が実行するオブジェクト座標演算ルーチンを説明する。なお、このルーチンは、図７のステップＳ３のサブルーチン処理として行われるものである。図９に示したように、ゲーム制御部１１は、オブジェクト座標演算ルーチンを開始すると、まずステップＳ２１にて未処理の操作があるか否かを判別する。未処理の操作とは、前回のオブジェクト座標演算時から今回までの間に、図８の操作検出ルーチンで取得された各操作であって、かつ今回のオブジェクト座標演算ルーチンで処理済と設定されていない操作である。未処理の操作があれば、ゲーム制御部１１はステップＳ２２に進み、未処理の操作から、処理対象の一つの操作を選択する。続くステップＳ２３にて、ゲーム制御部１１は、処理対象の操作の位置及び時期を取得する。
【００５６】
次のステップＳ２４にて、ゲーム制御部１１は、操作時期を検出した時期（検出時期）に所定の遅延が発生しているか否かを判別する。つまり、図８のステップＳ１１、Ｓ１２で取得される操作時期は、自機のタッチパネル９に対する実際の操作をゲーム機２が検出した時期であって、遅延はないか、あっても無視できる程度のレベルである。しかし、他機から送られる操作情報に含まれている操作時期に関しては、その他機にて実際に操作が行われた時期と、自機のゲーム制御部１１が図８のステップＳ１３で操作情報を受信して操作を検出する時期との間に、ネットワーク５の混雑等を理由とする無視し得ない時間差が発生することがある。ゲーム機２では、実際の操作が行われた時期と、シーケンスデータ２８に記録されている操作時期との間の時間差が一定範囲内のときにオブジェクト６０が反転するようにオブジェクト６０の表示を制御しているため、操作時期の検出に無視できない遅延が発生すると、オブジェクト６０がその時間差に相当する距離を移動し、その表示に関して無視できない影響が生じるおそれがある。そこで、ステップＳ２４では、ゲーム上の現在時刻と、処理対象の操作情報に記録されている操作時期とを比較して、無視できない遅延が生じているか否かを判別している。ただし、現在時刻に対して一定の程度までは遅延とみなすことなく、所定の許容範囲を超えた時間長の遅延が発生したときに、ステップＳ２４を肯定判断してもよい。
【００５７】
ステップＳ２４で遅延が発生していないと判断された場合、ゲーム制御部１１はステップＳ２５に進み、ステップＳ２３で取得した操作位置及び操作時期を一定範囲内に含むレコード（以下、一定範囲内のレコードと呼ぶことがある。）が、図７のステップＳ２で取得した範囲のシーケンスデータ２８に存在するか否かを判別する。ここでいう一定範囲とは、シーケンスデータ２８に記述されている操作時期に対して、適切な操作が行われたとみなし得る許容範囲として設定された時間的範囲であって、かつ、基準部５５Ａ（又は５５Ｂ）に対するオブジェクト６０の到達位置（移動目標となるべき反発点である。）に対して、そのオブジェクト６０をタッチしたとみなし得る許容範囲として設定された距離的範囲である。
【００５８】
ステップＳ２５で、一定範囲内のレコードがあると判断された場合、ゲーム制御部１１はステップＳ２６に進み、その一定範囲内のレコードから、ステップＳ２３で取得した操作時期及び操作位置に対して、操作時期が最も近いレコードを比較対象として選択する。続くステップＳ２７で、ゲーム制御部１１は、タッチ操作の位置と、ステップＳ２６で選択されたレコードに対応して表示されているオブジェクト６０との位置関係を判別する。この処理は、タッチ操作が行われた位置が、図５で示した４つの領域Ｏ、Ｒ、Ｓ及びＬのいずれに属するか、あるいは、タッチ操作が行われた位置がいずれの領域に最も近いかを判別するものである。次のステップＳ２８において、ゲーム制御部１１は、ステップＳ２７で判別した位置に基づいて、オブジェクト６０が次に移動すべき経路Ｗを選択する。その選択は図５を参照して説明した通りである。ステップＳ２８で経路Ｗを選択すると、ゲーム制御部１１はステップＳ２９に進み、今回処理した操作及びレコードを処理済として設定し、その後、ステップＳ２１の処理へと戻る。
【００５９】
ステップＳ２９で処理済として設定されるレコードは、ステップＳ２６で比較対象として選択されたレコードのみならず、そのレコードと表示開始時期が関連付けられているレコードも含む。つまり、図５に示したシーケンスデータ２８の標識情報部２８ｆにて、比較対象のレコードとオブジェクト６０を指示する情報が一致し、かつ、比較対象のレコードの操作時期と同一の時刻が表示開始時期として設定されたレコードを含む。以下、そのようなレコードを後続レコードと呼び、その後続レコードに関連付けられたレコードを先行レコードと呼ぶことがある。なお、ステップＳ２８で決定された経路Ｗは、後続レコードに対応する経路Ｗとして記憶され、先行レコードの経路Ｗは破棄される。ステップＳ２４にて遅延が発生していると判断された場合、ゲーム制御部１１はステップＳ３０に進んで補正処理を実行する。補正処理の詳細は図１２及び図１３を参照して後に説明する。補正処理の終了後、ゲーム制御部１１はステップＳ２１に戻る。
【００６０】
以上のステップＳ２１〜ステップＳ３０により、第１及び第２プレイヤの操作にそれぞれ対応して経路Ｗを変更させる処理が完了する。ステップＳ２１にて未処理の操作がないと判断された場合、ゲーム制御部１１は図１０のステップＳ３１に進む。ステップＳ３１以降は、図７のステップＳ２で内部記憶装置に保持されたレコードであって、かつ、ステップＳ２９にて処理済と設定されなかったレコードを対象とする処理である。ステップＳ３１にて、ゲーム制御部１１は、未処理レコードのうち、操作時期が現在時刻を過ぎているレコードを対象として、それらのレコードに対応するオブジェクト６０が端部５２Ｕ、５２Ｂに達するか否かを判別する。この処理では、オブジェクト６０の前回のルーチンで演算された各オブジェクト６０の座標と移動速度とを利用して、次のフレームの表示時期にオブジェクト６０が端部５２Ｕ、５２Ｂまでの距離を移動するか否かを判断すればよい。
【００６１】
ステップＳ３１にて端部５２Ｕ、５２Ｂに達するオブジェクト６０があると判断された場合、ゲーム制御部１１はステップＳ３２に進み、そのオブジェクト６０に対応する次の経路Ｗとして、オブジェクト６０の到達位置と次の反発点Ｒ１（又はＲ２）とを結ぶ最短距離の経路（最短経路）を選択する。続くステップＳ３３にて、ゲーム制御部１１は、最短経路が設定されたオブジェクト６０に対応するレコードを処理済に設定する。この場合、端部５２Ｕ、５２Ｂに達すると判断されたレコードのみならず、そのレコードと表示開始時期が関連付けられている後続レコードも処理済に設定される。この点はステップＳ２９と同様である。そして、最短経路は後続レコードと対応付けて記憶され、先行レコードの経路は破棄される。
【００６２】
次のステップＳ３４にて、ゲーム制御部１１は、未処理のレコードがあるか否かを判別する。なお、ステップＳ３１が否定判断された場合には、ステップＳ３２、Ｓ３３がスキップされてステップＳ３４へと処理が進められる。ステップＳ３４にて未処理のレコードがあると判断された場合、ゲーム制御部１１はステップＳ３５に進み、未処理のレコードから処理対象の一つのレコードを選択する。続くステップＳ３６にて、ゲーム制御部１１は、その処理対象のレコードに関して、前回のルーチンで既に経路Ｗが決定されているか否かを判別する。決定されている場合、ゲーム制御部１１はステップＳ３７に進み、処理対象のレコードの経路Ｗを前回決定された経路Ｗとして維持する。なお、既に経路Ｗが破棄されたレコードに関しては、ステップＳ３６で肯定判断され、ステップＳ３７でその破棄された状態が維持される。
【００６３】
一方、ステップＳ３６にて経路Ｗが決定されていないと判断された場合、ゲーム制御部１１はステップＳ３８に進む。ステップＳ３８にて、ゲーム制御部１１は、処理対象のレコードと関連付けられた先行レコードの経路Ｗを維持すべきか否か判別する。ここでいう先行レコードは、処理対象のレコードにおける標識情報部２８ｆの情報と同一の情報が指定され、かつ、処理対象のレコードの表示開始時期が、操作時期として指定されたレコードである。先行レコードに対して適切なタッチ操作がなされた場合には、図９の処理によって先行レコードと関連付けられた後続レコードに対応する次の経路Ｗが選択され、それにより、先行レコードと、これに関連する後続レコードがステップＳ２９にて処理済に設定される。しかし、適切なタッチ操作がなされなかった先行レコードについては、これに対応するオブジェクト６０が端部５２Ｕ、５２Ｂで反転して最短経路上の移動を開始するまでの間、端部５２Ｕ、５２Ｂに向かって従前の経路Ｗを保持する必要がある。このようなオブジェクト６０の移動は、ステップＳ３１が否定判断され、ステップＳ３４、Ｓ３６が肯定されてステップＳ３７で経路Ｗが維持されることにより実現される。そして、先行レコードに基づいてオブジェクト６０が移動表示されている場合、その先行レコードと関連付けられた後続レコードのオブジェクト６０の出現は阻止する必要がある。したがって、ステップＳ３８において、ゲーム制御部１１は、処理対象と関連付けられた先行レコードに関して経路Ｗが維持されているか否かを判別する。そして、ステップＳ３８が肯定判断された場合、ゲーム制御部１１は、処理対象のレコードに関してまだオブジェクト６０を出現させるべきではないと判断してステップＳ３９に進み、処理対象のレコードに関する経路Ｗの選択を保留する。
【００６４】
一方、ステップ３８が否定判断された場合、ゲーム制御部１１はステップＳ４０に進む。この場合には、処理対象のレコードに関連付けられ、かつ経路Ｗを維持すべき先行レコードが存在しない。言い換えれば、処理対象のレコードは、次フレームのゲーム領域５２にて新規にオブジェクト６０を出現させるべきレコードである。したがって、ゲーム制御部１１は、ステップＳ４０にて、処理対象のレコードに関して新規に経路Ｗを選択する。この場合、処理対象のレコードが第１プレイヤの操作を指定するものであれば、基準部５５Ｂ上における反発点Ｒ２が決定され、その反発点Ｒ２から基準部５５Ａに向かう一つの経路Ｗが選択される。一方、処理対象のレコードが第２プレイヤの操作を指定するものであれば、基準部５５Ａ上における反発点Ｒ１が決定され、その反発点Ｒ１から基準部５５Ｂに向かう一つの経路Ｗが選択される。
【００６５】
ステップＳ３７、Ｓ３９又はＳ４０における処理が完了すると、ゲーム制御部１１はステップＳ４１に進み、処理対象のレコードを処理済として設定する。その後、ゲーム制御部１１はステップＳ３４に戻る。全てのレコードが処理されると、ステップＳ３４が否定判断される。その場合、ゲーム制御部１１は図１１のステップＳ５１へと進む。ステップＳ５１以降は、経路Ｗが決定されているレコードを対象として、その経路Ｗ上のオブジェクト６０の位置（座標）を決定する処理である。つまり、経路が既に破棄されたか、又は経路がまだ設定されていないレコードに関しては、オブジェクト６０を表示する必要がないので、座標演算対象から除外される。
【００６６】
ステップＳ５１にて、ゲーム制御部１１は経路Ｗが選択されているレコード内に、座標未決定のレコードがあるか否かを判別する。未決定のレコードがある場合、ゲーム制御部１１はステップＳ５２に進んで演算対象のレコードを選択する。次のステップＳ５３にて、ゲーム制御部１１は演算対象のレコードに対応するオブジェクト６０の現在位置を取得する。その位置は、前回のルーチンの実行時に設定された位置を利用すればよい。新たに出現させるべきオブジェクト６０に関しては現在位置がないと判断すればよい。続くステップＳ５４にて、ゲーム制御部１１は、オブジェクト６０の現在位置から反発点までの経路Ｗ上における距離を演算する。続くステップＳ５５にて、ゲーム制御部１１は、現在時刻とオブジェクト６０が反発点に到達すべき時刻（つまり、レコードに記述された操作時期）との間の時間差を残り時間として演算する。その後、ゲーム制御部１１はステップＳ５６に進み、演算対象レコードに対応するオブジェクト６０の新規座標、つまり次フレームのゲーム領域５２におけるオブジェクト６０の位置を演算する。新規座標は、距離を残り時間で除算してオブジェクト６０の移動速度を演算し、その移動速度と次フレームまでの時間間隔とから、オブジェクト６０が次フレームまでに進むべき距離（移動距離）を演算し、その移動距離だけ経路Ｗ上を進んだ位置を新規座標とすればよい。ただし、新規に出現するオブジェクト６０に関しては、その出現位置を新規座標とすればよい。また、基準部５５Ａ、５５Ｂを通過して端部５２Ｕ、５２Ｂに向かっているオブジェクト６０に関しては、前回までの演算で利用した移動速度を利用して新規座標を求めればよい。
【００６７】
ステップＳ５６の処理が完了すると、ゲーム制御部１１はステップＳ５７に進み、演算対象レコードを座標決定済のレコードとして設定し、その後、ステップＳ５１の処理へと戻る。座標未決定のレコードがなくなるとステップＳ５１が否定判断される。これにより、ゲーム制御部１１は今回のオブジェクト座標演算ルーチンを終える。
【００６８】
次に、図１２及び図１３を参照して、図１０のステップＳ３０における補正処理の詳細を説明する。図１２は補正処理の詳細な手順を示すフローチャートであり、図１３はその補正処理が適用されたゲーム領域５２の一例を示す。図９のステップＳ２４で遅延が発生していると判断されてステップＳ３０の補正処理へと進んだ場合、ゲーム制御部１１は、まず、図１２のステップＳ１０１にて、処理対象の操作情報、つまり遅延が発生していると判断された操作情報（以下、これを遅延情報と呼ぶことがある。）に含まれている操作位置及び操作時期を一定範囲内に含むレコード（以下、一定範囲内のレコードと呼ぶことがある。）が、図７のステップＳ２で取得した範囲のシーケンスデータ２８に存在するか否かを判別する。ここでいう一定範囲とは、図９のステップＳ２５と同様に、シーケンスデータ２８に記述されている操作時期に対して、適切な操作が行われたとみなし得る許容範囲として設定された時間的範囲であって、かつ、基準部５５Ａ（又は５５Ｂ）に対するオブジェクト６０の到達位置（移動目標となるべき反発点である。）に対して、そのオブジェクト６０をタッチしたとみなし得る許容範囲として設定された距離的範囲である。つまり、ステップＳ１０１の処理は、遅延情報に含まれている操作位置及び操作時期を参照して、その操作がシーケンスデータ２８に含まれているいずれかのレコードに対して適切な操作であったか否かを遡って判断する処理である。ただし、仮にそのようなレコードが存在したとしても、そのレコードに対応するオブジェクト６０は既に図１０のステップＳ３１以降の処理に従って基準部５５Ａを通過し、場合によっては、端部５２Ｂにて反転して次の経路Ｗを進んでいる。
【００６９】
ステップＳ１０１にて一定範囲内のレコードがないと判断された場合、ゲーム制御部１１はステップＳ１２０で遅延情報に含まれている操作を処理済の操作として設定し、今回の補正処理を完了する。一方、ステップＳ１０１にて一定範囲内のレコードがあると判断された場合、ゲーム制御部１１はステップＳ１０２に進み、その一定範囲内のレコードから、図９のステップＳ２３で取得した操作時期に最も近いレコードを比較対象として選択する。続くステップＳ１０３において、ゲーム制御部１１は、比較対象のレコードに対応するオブジェクト６０が、端部５２Ｕにて反転済か否かを判別する。この場合、一例として、比較対象のレコードに経路Ｗが設定されているか否かを判別し、設定されていなければ、反転済と判断すればよい。図１０で説明したように、オブジェクト６０が端部５２Ｕにて反転すれば、関連付けられたレコードに対して新たに最短経路が設定され、端部５２Ｕに達する前のオブジェクト６０の経路Ｗは破棄されるからである。
【００７０】
ステップＳ１０３にてオブジェクト６０が反転済ではないと判断された場合、ゲーム制御部１１はステップＳ１０４に進み、比較対象のレコードに対応するオブジェクト６０の現在位置を取得する。その現在位置は、前回のオブジェクト座標演算ルーチンの処理結果を参照すればよい。このとき、遅延情報に含まれている操作時期と現在時刻との時間差を遅延時間として取得する。次のステップＳ１０５にて、ゲーム制御部１１は、遅延情報に含まれているタッチ操作の位置と、比較対象のレコードに対応するオブジェクト６０との位置関係を判別する。この処理は、図９のステップＳ２７と同様である。ただし、ステップＳ１０５の処理を行う時点では、操作時期におけるオブジェクト６０の位置に対して遅延時間に相当する距離をオブジェクト６０が進んでいるため、ここでは遅延時間相当量だけオブジェクト６０の位置を基準部５５Ａ側に戻して位置関係を判別しておく必要がある。続くステップＳ１０６にて、ゲーム制御部１１は、位置関係の判別結果に基づいてオブジェクト６０の本来の経路を判別し、その判別結果を参照しつつ、ステップＳ１０７にてオブジェクト６０の現在位置からの経路Ｗを設定する。このときの経路Ｗの設定方法の一例を図１３により説明する。
【００７１】
図１３において、第１プレイヤの基準部５５Ａ上の反発点Ｒ１ａから第２プレイヤの基準部５５Ｂ上の反発点Ｒ２に向かって経路Ｗが設定され、遅延情報に含まれている操作時期では、その経路Ｗに沿って移動したオブジェクト６０が反発点Ｒ２に達した時点で第２プレイヤがオブジェクト６０をタッチ操作したものの、操作情報の遅延により、第２プレイヤのゲーム機２では、オブジェクト６０が反発点Ｒ２を通過して点Ａに達した時点で第２プレイヤの操作が検出されて補正処理が開始されたと仮定する。さらに、操作情報の遅延がなければ、オブジェクト６０は反発点Ｒ２で移動方向を変更し、反発点Ｒ２から折り返し点Ｃを経由して反発点Ｒ１ｂに至る経路が本来は設定されるべきであったと仮定する。この場合、ステップＳ１０４では点Ａがオブジェクト６０の現在位置として取得される。そして、ステップＳ１０５では、反発点Ｒ２にオブジェクト６０があったものとして、そのオブジェクト６０と遅延情報内の操作位置とが比較される。それにより、ステップＳ１０６では、反発点Ｒ２から折り返し点Ｃを経由して反発点Ｒ１ｂに達するように本来の経路が設定されるべきであったと判断される。この場合、ゲーム制御部１１は、ステップＳ１０７にて、オブジェクト６０の現在位置Ａから折り返し点Ｃを経由して反発点Ｒ１ｂに至るように経路Ｗを設定する。
【００７２】
図１２に戻って、ステップＳ１０７にて経路Ｗが設定されると、ゲーム制御部１１はステップＳ１０８に進み、ステップＳ１０４で演算した遅延時間とステップＳ１０６で判別した本来の経路とに基づいて、オブジェクト６０の本来の位置を演算する。つまり、操作情報の遅延がなかったと仮定したときの次フレームにおけるオブジェクト６０の座標を演算する。図１３では、反発点Ｒ２から折り返し点Ｃに至る想像線上の点Ｄが、オブジェクト６０の本来の位置である。
【００７３】
続くステップＳ１０９にて、ゲーム制御部１１は、本来の位置Ｄから折り返し点Ｃを経由して反発点Ｒ１ｂに至るまでの本来の経路上の距離を演算する。次のステップＳ１１０にて、ゲーム制御部１１は、ステップＳ１０７で設定した経路上において、反発点Ｒ１ｂまでの距離がステップＳ１０９で演算した本来の距離と等しくなる点Ｂの位置（座標）を演算し、その位置をオブジェクト６０の出現位置として決定する。つまり、図１３において、点Ｂ−Ｃ−Ｒ１ｂの距離が、点Ｄ−Ｃ−Ｒ１ｂの距離と等しくなるように点Ｂの位置を求め、その点Ｂを次フレームにおけるオブジェクト６０の出現位置とする。このように出現位置を設定することにより、点Ａから反発点Ｒ１ｂまでオブジェクト６０を一定速度で移動させるよりもオブジェクト６０の移動速度が遅くなり、操作時期の検出に遅延が生じても、オブジェクト６０の移動速度が過度に上昇するおそれを排除することができる。
【００７４】
ステップＳ１１０にてオブジェクト６０の出現位置を決定すると、ゲーム制御部１１はステップＳ１１１に進み、遅延情報に含まれている操作、及びその操作に対応付けてステップＳ１０２で比較対象に選択されたレコードをいずれも処理済として設定する。なお、ステップＳ１０３が肯定判断された場合、ゲーム制御部１１はステップＳ１０４〜Ｓ１１０をスキップしてステップＳ１１１へと進む。端部５２Ｕでオブジェクト６０が反転した場合には最短経路が設定され、オブジェクト６０の移動速度が比較的遅いため、補正処理によってオブジェクト６０の移動速度を低減させるまでもないことがその理由である。
【００７５】
ステップＳ１１１で処理済として設定されるレコードは、ステップＳ１０２で比較対象として選択されたレコードのみならず、そのレコードを先行レコードとして関連付けられた後続レコードも含む。先行レコードと後続レコードとの関係は上述した通りである。これらの処理は、ステップＳ２９と同様である。さらに、続くステップＳ１１２にて、ゲーム制御部１１は、ステップＳ１１１で処理済として設定された後続レコードを座標決定済レコードとして設定する。これにより、遅延情報に対応する補正処理にてオブジェクト６０の出現位置が決定されたレコードについては、図１１のステップＳ５１が否定判断され、今回のルーチンでオブジェクト６０の座標が重ねて演算されることはない。ステップＳ１１２の処理が完了すると、ゲーム制御部１１は補正処理を終えて図９のステップＳ２１に戻る。全ての操作が処理され、かつ次フレームの表示範囲に出現させるべき全てのオブジェクト６０の座標が演算されると、図１１のステップＳ５１が否定判断されてオブジェクト座標演算ルーチンが終了する。そして、演算された座標が図７のステップＳ４で参照されて画像データが生成される。
【００７６】
以上の形態では、ゲーム制御部１１が図８のステップＳ１１及びＳ１２を実行することにより自機操作検出手段として機能し、同図のステップＳ１３を実行することにより操作情報送信手段として機能し、同図のステップＳ１４及びＳ１５を実行することにより、他機操作検出手段として機能する。また、ゲーム制御部１１は、図７のシーケンス処理ルーチン及びこれに含まれる図１１〜図１２のサブルーチンを実行することにより標識表示制御手段として機能する。さらに、ゲーム制御部１１は、ステップＳ２４を実行することにより遅延判別手段として機能し、図９のステップＳ３０及びそのサブルーチンとしての図１２のサブルーチンを実行することにより補正手段として機能する。
【００７７】
本発明は上述した形態に限ることなく、適宜の変更が可能である。例えば、上記の形態では、検出時期の検出に遅延が生じたことに起因する操作指示標識の移動距離の増分を一回の処理で解消させ、その後は操作指示標識を本来の速度（遅延がなかったときの速度）と同一速度で移動させている。しかし、その移動距離の増分の補正は複数回に分けて徐々に減少させてもよい。すなわち、図１３の例では、点Ａにてオブジェクト６０の移動方向を新たな経路（点Ａ、Ｃ、Ｒ１ｂを結ぶ経路）に沿った方向に変更させ、オブジェクト６０の反発点Ｒ１ｂまでの移動距離が、本来の経路に沿ってオブジェクト６０を移動させたときの移動距離と等しくなるまで、オブジェクト６０の移動速度を増加させてもよい。このような処理を実現するための処理の一例を図１４及び図１５に基づいて説明する。なお、図１４は図１１に代えて実行される補正処理の手順を示し、図１５は図１１に代えて実行されるべきオブジェクト座標演算の手順を示している。
【００７８】
まず、図１４に示した補正処理では、図１２に示した補正処理のステップＳ１０８〜Ｓ１１０に代えて、ステップＳ１３１及びＳ１３２の処理が設けられている。図１２と同一の参照符号が付されたステップの処理は図１２の例と同じであり、説明を省略する。ステップＳ１３１において、ゲーム制御部１１は、オブジェクト６０の現在位置（図１３の点Ａ）を次フレームにおけるオブジェクト６０の出現位置として設定する。次のステップＳ１３２にて、ゲーム制御部１１は、ステップＳ１０２で比較対象に選択されたレコードに対する後続レコードを遅延レコードとして記録し、その後ステップＳ１１１に進む。つまり、図１４の処理では、次フレームのオブジェクト６０の出現位置が図１３の点Ｂではなく、遅延情報の操作時期が検出された時点でのオブジェクト６０の位置である点Ａに設定している。そして、遅延情報に対応するレコードを遅延レコードとして設定して、当該遅延レコードに対応するオブジェクト６０を図１５の処理によって一時的に増速する。
【００７９】
図１５の処理は、ステップＳ５５とステップＳ５６の処理の間にステップＳ６１が追加され、ステップＳ６１が肯定判断された場合の処理として、ステップＳ６２〜Ｓ６５が追加されている点が図１１の処理と相違する。図１１と同一の参照符号が付されたステップの処理は図１１の例と同じであり、説明を省略する。ステップＳ６１において、ゲーム制御部１１は、演算対象として選択されているレコードが遅延レコードか否かを判別し、遅延レコードでなければステップＳ５６に処理を進める。一方、ステップＳ６１で遅延レコードと判断された場合、ゲーム制御部１１はステップＳ６２に進み、その遅延レコードに対応するオブジェクト６０の本来の経路上の位置を演算する。ここでは、図１４のステップＳ１０６にて本来の経路が判別されているので、本来の経路（図１３の点Ｒ２、Ｃ、Ｒ１ｂを結ぶ経路）の距離を、遅延レコードに記述されている表示開始時期から操作時期までの時間で除算してオブジェクト６０の本来の移動速度を演算し、表示開始時期から現在時刻までの経過時間とその移動速度とから、オブジェクト６０が本来の経路のどの位置にあるべきか、を演算する。
【００８０】
続くステップＳ６３にて、ゲーム制御部１１は、ステップＳ６２で演算した本来の位置と次に到達すべき反発点Ｒ１ｂまでの本来の経路上の距離を演算する。さらに、次のステップＳ６４にて、ゲーム制御部１１は、ステップＳ６３で演算された本来の経路上の距離と、ステップＳ５４で演算された距離とが一致するか否かを判別する。一致しない場合、ゲーム制御部１１はステップＳ６５に進み、本来の移動速度（ステップＳ６２で演算された移動速度）よりもオブジェクト６０の移動速度を増速した上で、次フレームにおけるオブジェクト６０の現在の経路（図１３の点Ａ、Ｃ、Ｒ１ｂを結ぶ経路）上の位置（新規座標）を演算する。つまり、遅延レコードに対応するオブジェクト６０については、その出現位置である点Ａから、本来の移動速度よりも高速でオブジェクト６０を移動させるものとしてオブジェクト６０の新規座標が演算される。その演算が繰り返されることにより、操作情報の遅延に起因して発生したオブジェクト６０の移動距離の増分が徐々に減少される。ステップＳ６５の処理を完了すると、ゲーム制御部１１はステップＳ５７に進む。
【００８１】
ステップＳ６５による増速に伴って、ステップＳ６４にて比較される距離の差は徐々に減少する。そして、距離が一致してステップＳ６４が肯定判断されると、ゲーム制御部１１はステップＳ６６に進み、演算対象のレコードに対する遅延レコードの設定を解除し、その後にステップＳ５６へと進む。遅延レコードの設定が解除されると、以降は、本来の移動速度でオブジェクト６０が移動する。なお、ステップＳ６５における増速の程度は適宜のレートに設定してよい。例えば、本来の移動速度の２倍に設定することができる。距離の差が減少するに従って、オブジェクト６０の移動速度を本来の移動速度に向かって徐々に低下させてもよい。図１４及び図１５の形態では、ゲーム制御部１１が図１４の補正処理ルーチン及び図１５のステップＳ６１〜Ｓ６６の処理を実行することにより補正手段として機能する。
【００８２】
本発明において、移動経路の選択は、予め用意された複数の経路から操作位置に応じて一つの経路を選択する例に限らない。プレイヤの操作をさらに詳細に分析して移動経路を適宜に選択してもよいし、反発点と移動経路とが１対１に対応付けて設定されていてもよい。いずれにせよ、本発明は、操作時期の検出に遅延が生じたとき、その検出時点の位置から操作指示標識を異なる方向に移動させたならば、次の操作指示標識の移動距離が増加して移動速度の上昇が生じ得る場合の解決策として適宜に用いることができる。操作部の構成は一例であって、基準部上に操作部が存在することは必ずしも必要とされない。表示装置の画面上の基準部と、操作部との対応関係が明らかな限り、操作部は基準部から離れた位置に設定されていてもよい。
【００８３】
上記の形態では、特に他機、すなわち相手側のゲーム機からの操作情報の送信遅延に伴って生じる操作指示標識の移動速度の増加を抑える例を示したが、自機の入力装置と制御装置との間に何らかの障害が発生して、自機における操作時期の検出に遅延が生じた場合の対策としても本発明は有用である。
【００８４】
本発明は、音楽に合わせた操作を要求するゲーム機に限定されることなく、複数のプレイヤに対して、操作指示標識の移動と基準部とによって操作時期を指示し、その操作指示に対応したプレイヤの操作を検出して操作指示標識を基準部間で往復的に移動させるゲーム機であれば適宜に適用することができる。
【符号の説明】
【００８５】
１  ゲームシステム
２  ゲーム機
５  ネットワーク（通信回線）
８  モニタ（表示装置）
９  タッチパネル（入力装置）
１０  制御ユニット（コンピュータ、楽曲再生手段）
１１  ゲーム制御部（ゲーム領域提示手段、標識表示制御手段、自機操作検出手段、操作情報送信手段、他機操作検出手段、遅延判別手段、補正手段）
１４  スピーカ（音声出力装置）
２０  外部記憶装置（シーケンスデータ記憶手段、楽曲データ記憶手段）
２１  ゲームプログラム
２２  ゲームデータ
２５  楽曲データ
２８  シーケンスデータ
２８ｃ  操作時期部
５０  ゲーム画面
５２  ゲーム領域
５５Ａ  第１基準部（自機の操作部に対応する基準部）
５５Ｂ  第２基準部（他機の操作部に対応する基準部）
６０  オブジェクト（操作指示標識）
Ｗ  移動経路
【図１】
2012179253.tif 000003
【図２】
2012179253.tif 000004
【図３】
2012179253.tif 000005
【図４】
2012179253.tif 000006
【図５】
2012179253.tif 000007
【図６】
2012179253.tif 000008
【図７】
2012179253.tif 000009
【図８】
2012179253.tif 000010
【図９】
2012179253.tif 000011
【図１０】
2012179253.tif 000012
【図１１】
2012179253.tif 000013
【図１２】
2012179253.tif 000014
【図１３】
2012179253.tif 000015
【図１４】
2012179253.tif 000016
【図１５】
2012179253.tif 000017