(57)【特許請求の範囲】
【請求項１】
コンピュータを、
プレイヤーの操作情報を入力する操作入力手段、
ゲーム画面の奥行方向に移動するように背景を表示する背景表示手段、
複数のラインをそれぞれ異なる位置から出現させて、当該複数のラインを伸ばした先の交点を仮想交点と設定して当該仮想交点を前記背景の表示に合わせて移動させ、前記仮想交点の移動に合わせて前記複数のラインの位置を補正するとともに、前記複数のラインの先端を前記仮想交点に向けて移動させるライン制御手段、
前記操作入力手段から前記操作情報を受信し、当該操作情報と前記複数のラインの先端同士が衝突した位置及びタイミングを比較して前記操作情報を評価するタイミング判定手段、
として機能させることを特徴とするゲームプログラム。
【請求項２】
前記ライン制御手段は、ゲーム画面内に消失点と前記複数のラインの先端同士が衝突する位置を示す衝突予定位置を設定し、前記消失点と前記衝突予定位置を結ぶ線分上に前記仮想交点を配置して前記複数のラインの出現位置を決め、当該仮想交点を前記背景の表示に合わせて前記衝突予定位置の方向に移動させることを特徴とする請求項１記載のゲームプログラム。
【請求項３】
請求項１又は２のいずれかに記載のゲームプログラムを記憶したプログラム記憶部と、
前記プログラム記憶部に記憶されたゲームプログラムを実行するコンピュータと、
を備えたゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定のタイミングに合わせて操作を入力するゲームを実行するゲームプログラムおよびゲーム装置に関する。
【背景技術】
【０００２】
プレイヤーの操作タイミングを評価するゲームが知られている。例えば、特許文献１に記載のゲームは、２つの画像が重なったタイミングにおけるプレイヤーの操作を評価するゲームである。また、特許文献２に記載のゲームは、タッチパネルを備えたゲーム機で、音楽に合わせて表示されるタッチ画像に対するタッチ入力を評価するゲームである。
【０００３】
近年では、タッチパネルを備えたゲーム機が広く普及し、特許文献２に記載のゲームのように、ゲーム画面上に表示される画像に対して直接操作を入力するゲームが多くなっている。
【０００４】
また、奥行方向に移動するアイコンを所定のタイミングでタッチするゲームも知られている（例えば、特許文献３の第８図、特許文献４の第３図を参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３６８６９２５号公報
【特許文献２】特開２００７−１１１５６８号公報
【特許文献３】特開平０８−３０５４５６号公報
【特許文献４】特表２００９−５３１１５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１は、ボタン操作を前提としているために操作が単調となる。
【０００７】
特許文献２は、タッチパネルによりプレイヤーの操作を入力するが、タッチする場所を示すタッチ画像がゲーム画面上の所定の位置に固定されて表示されるため変化に乏しい。
【０００８】
特許文献３，４は、タッチする対象が奥行方向のみに移動する。
【０００９】
タッチ画像を移動させて、タッチパネル上の様々な場所をタッチさせる場合、プレイヤーはタイミングだけでなく、タッチ位置も判断しなければならない。そのため、タッチ画像を高速に移動させるとゲームの難易度が上がってしまう。一方、タッチ画像の移動速度が遅いとスピード感が失われてしまう。
【００１０】
本発明は、上記に鑑みてなされたものであり、スピード感のあるタイミングゲームを提供することを目的とする。
【課題を解決するための手段】
【００１１】
第１の本発明に係るゲームプログラムは、コンピュータを、プレイヤーの操作情報を入力する操作入力手段、ゲーム画面の奥行方向に移動するように背景を表示する背景表示手段、複数のラインをそれぞれ異なる位置から出現させて、当該複数のラインを伸ばした先の交点を仮想交点と設定して当該仮想交点を前記背景の表示に合わせて移動させ、前記仮想交点の移動に合わせて前記複数のラインの位置を補正するとともに、前記複数のラインの先端を前記仮想交点に向けて移動させるライン制御手段、前記操作入力手段から前記操作情報を受信し、当該操作情報と前記複数のラインの先端同士が衝突した位置及びタイミングを比較して前記操作情報を評価するタイミング判定手段、として機能させることを特徴とする。
【００１２】
上記ゲームプログラムにおいて、前記ライン制御手段は、ゲーム画面内に消失点と前記複数のラインの先端同士が衝突する位置を示す衝突予定位置を設定し、前記消失点と前記衝突予定位置を結ぶ線分上に前記仮想交点を配置して前記複数のラインの出現位置を決め、当該仮想交点を前記背景の表示に合わせて前記衝突予定位置の方向に移動させることを特徴とする。
【００１４】
第２の本発明に係るゲーム装置は、上記ゲームプログラムを記憶したプログラム記憶部と、前記プログラム記憶部に記憶されたゲームプログラムを実行するコンピュータと、を備えたことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、スピード感のあるタイミングゲームを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施の形態におけるゲームプログラムが実行されるゲーム機の内部構成を示すブロック図である。
【図２】ゲーム画面の一例を示す図である。
【図３】時系列順にゲーム画面を示す図である。
【図４】本実施の形態におけるゲームプログラムによって構成されるゲーム装置の構成を示す機能ブロック図である。
【図５】上記ゲーム装置の全体的な処理の流れを示すフローチャートである。
【図６】判定処理の流れを示すフローチャートである。
【図７】ライン、予兆画像のバリエーションを示す図である。
【図８】４つのラインが衝突する例を示す図である。
【図９】ラインの表示位置を移動させたゲーム画面を時系列順に示す図である。
【図１０】仮想交点の位置を動かす様子を示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について図面を用いて説明する。
【００１８】
図１は、本実施の形態におけるゲームプログラム１が実行されるゲーム機３の内部構成を示すブロック図である。
【００１９】
ゲーム機３は、バス３０に、ＣＰＵ３１、ＲＡＭ３２、ＲＯＭ３３、ストレージ３４、画像処理ユニット３５、入力インタフェース３６、音声処理ユニット３７、無線通信ユニット３８、およびメディアインタフェース３９を接続する。画像処理ユニット３５と入力インタフェース３６には、タッチパネル４０が接続される。タッチパネル４０は、画像処理ユニット３５により生成されるゲーム画面を表示するとともに、プレイヤーがタッチパネル４０に接触した接触座標を入力して入力インタフェース３６へ渡す。音声処理ユニット３７には、スピーカー４１が接続される。スピーカー４１は、音声処理ユニット３７によりアナログ信号に変換されて増幅された効果音やＢＧＭ等の音声を出力する。例えば、ゲーム機３として、タッチパネル４０を備えたスマートフォンなどが利用できる。
【００２０】
ゲーム機３は、無線通信ユニット３８あるいはメディアインタフェース３９からゲームプログラム１を受信してストレージ３４に格納する。ＣＰＵ３１がストレージ３４に格納されたゲームプログラム１をＲＡＭ３２上に読み出して実行し、上記のハードウェア資源を用いて後述するゲーム装置を構成する。ゲームプログラム１は、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。
【００２１】
＜ゲームについて＞
次に、本実施の形態におけるゲームプログラムによって提供されるゲームについて説明する。
【００２２】
本ゲームは、ゲーム画面の端から出現する複数のラインの先端同士が衝突したタイミングにおけるプレイヤーの操作を評価するタイミングゲームである。
【００２３】
図２に、ゲーム画面の一例を示す。同図に示すゲーム画面には、ライン５１Ａ，５１Ｂと予兆画像５２Ａ〜５２Ｃが表示されている。実際のゲーム画面には、スコアなどの情報も表示されるが、ここでは図示していない。また、ゲーム画面の背景として再生される音楽に合わせたプロモーションビデオを表示してもよい。
【００２４】
ライン５１Ａ，５１Ｂは、ゲーム機３から出力される音楽に合わせてゲーム画面の端から出現して伸び、ゲーム画面内の仮想交点５３で先端同士が衝突する。仮想交点５３はゲーム画面上には表示されない。
【００２５】
予兆画像５２Ａ〜５２Ｃは、ライン５１Ａ，５１Ｂの先端が互いに近接する予兆を示す画像であり、ライン５１Ａ，５１Ｂの出現前、あるいはライン５１Ａ，５１Ｂの出現と同時にゲーム画面内に表示され、動きなどの変化を伴ってライン５１Ａ，５１Ｂの大まかな衝突タイミングと仮想交点５３の位置をプレイヤーに示す。図２に示す例では、予兆画像５２Ａ〜５２Ｃとして、ライン５１Ａ，５１Ｂの進行方向を複数の折れ線で表した画像を用い、予兆画像５２Ａ〜５２Ｃの折れ点の進行方向で仮想交点５３の位置を示し、予兆画像５２Ａ〜５２Ｃ間の間隔の変化でライン５１Ａ，５１Ｂの衝突タイミングを示した。
【００２６】
ここで、ライン５１Ａ，５１Ｂと予兆画像５２Ａ〜５２Ｃの動きについて説明する。図３は、ライン５１Ａ，５１Ｂがゲーム画面内に出現して仮想交点５３に近接する様子を時系列順に示した図である。
【００２７】
図３（ａ）〜（ｃ）に示すように、ライン５１Ａ，５１Ｂは、ゲーム画面の上下端の左側から出現してゲーム画面中央付近の仮想交点５３に向かって伸びる。つまり、ライン５１Ａは右下方向に、ライン５１Ｂは右上方向に伸びる。
【００２８】
予兆画像５２Ａは、ライン５１Ａ，５１Ｂの出現より少し前に、ゲーム画面左側から出現して右側に移動する。別の予兆画像５２Ｂは、ライン５１Ａ，５１Ｂの出現と同時に、予兆画像５２Ａの後を追って、ゲーム画面左側から出現して右側に移動する。さらに別の予兆画像５２Ｃは、ライン５１Ａ，５１Ｂの出現後、予兆画像５２Ａ，５２Ｂの後を追って、ゲーム画面左側から出現して右側に移動する。
【００２９】
予兆画像５２Ａ〜５２Ｃそれぞれの移動速度は出現の遅いものほど速くなっている。したがって、図３（ａ）〜（ｃ）に示すように、予兆画像５２Ａ〜５２Ｃ間の間隔はライン５１Ａ，５１Ｂが仮想交点５３に近づくに連れて狭くなり、予兆画像５２Ａ〜５２Ｃは、時間が経過するとともに、波紋のように仮想交点５３に押し寄せ、ライン５１Ａ，５１Ｂが仮想交点５３で衝突するタイミングで重なる。このとき、予兆画像５２Ａ〜５２Ｃの折れ点は仮想交点５３で重なっている。
【００３０】
プレイヤーは、予兆画像５２Ａ〜５２Ｃを観察することで、ライン５１Ａ，５１Ｂの先端が衝突する大まかなタイミングと仮想交点５３の位置を推測することができる。
【００３１】
＜ゲーム装置＞
次に、本実施の形態におけるゲームプログラムがゲーム機３に読み込まれて構成されるゲーム装置について説明する。
【００３２】
図４は、本実施の形態におけるゲームプログラムによって構成されるゲーム装置の構成を示す機能ブロック図である。同図に示すゲーム装置は、操作入力部１１、予兆画像制御部１２、ライン制御部１３、タイミング判定部１４、スコア処理部１５、画像出力部１６、背景処理部１７、音声出力部１８、およびゲームデータ蓄積部１９を備える。
【００３３】
操作入力部１１は、プレイヤーの操作を入力する。プレイヤーは、ゲーム機３のタッチパネル４０に指などで接触することで操作を入力する。操作の種類には、タップ、フリック、長押し、スワイプなどがある。操作入力部１１は、ゲーム画面上の接触座標、操作の種類などの操作情報を取得してタイミング判定部１４へ送信する。
【００３４】
予兆画像制御部１２は、ライン５１Ａ，５１Ｂに対応する予兆画像５２Ａ〜５２Ｃをゲーム画面上に出現させるとともに、予兆画像５２Ａ〜５２Ｃの動きなどを制御し、予兆画像５２Ａ〜５２Ｃの位置情報などを画像出力部１６へ送信して、ゲーム画面上の予兆画像５２Ａ〜５２Ｃを更新させる。予兆画像５２Ａ〜５２Ｃの出現タイミング、および動きのデータなどはゲームデータ蓄積部１９から読み出す。
【００３５】
ライン制御部１３は、音声出力部１８から出力される音楽に合わせてライン５１Ａ，５１Ｂをゲーム画面上に出現させるとともに、ライン５１Ａ，５１Ｂの先端同士が衝突するように移動を制御し、ライン５１Ａ，５１Ｂの位置情報などを画像出力部１６へ送信して、ゲーム画面上のライン５１Ａ，５１Ｂを更新させる。また、ライン５１Ａ，５１Ｂの先端同士が衝突する位置である仮想交点５３の位置情報、ライン５１Ａ，５１Ｂの位置情報、およびライン５１Ａ，５１Ｂの先端が衝突するまでの時間などの近接情報をタイミング判定部１４へ送信する。ライン５１Ａ，５１Ｂの出現タイミング、伸びる速度などは、ゲームデータ蓄積部１９から読み出す。
【００３６】
タイミング判定部１４は、操作入力部１１から操作情報を受信するとともに、ライン制御部１３からライン５１Ａ，５１Ｂの先端の近接情報を受信し、適切なタイミングで適切な位置がタップされたか否かを判定し、タップの成否をスコア処理部１５へ送信する。
【００３７】
スコア処理部１５は、タイミング判定部１４から受信したタップの成否に基づいてスコアの加算処理を行う。また、スコア処理部１５は、スコアなどのパラメータの値を画像出力部１６へ送信し、ゲーム画面に表示されている値を更新させる。
【００３８】
画像出力部１６は、ライン制御部１３からライン５１Ａ，５１Ｂの位置情報を受信してゲーム画面にライン５１Ａ，５１Ｂを表示するとともに、予兆画像制御部１２から予兆画像５２Ａ〜５２Ｃの位置情報を受信してゲーム画面に予兆画像５２Ａ〜５２Ｃを表示する。また、スコアなどのパラメータの値や背景画像などをゲーム画面に表示する。
【００３９】
背景処理部１７は、ライン５１Ａ，５１Ｂ、予兆画像５２Ａ〜５２Ｃの後ろに表示する背景画像をゲームデータ蓄積部１９から読み出して画像出力部１６に表示させる。
【００４０】
音声出力部１８は、ゲームデータ蓄積部１９から音楽データを取得して出力する。
【００４１】
ゲームデータ蓄積部１９は、ゲーム画面に表示する画像データ、再生する音楽や効果音などの音声データ、ライン出現データ、および予兆出現データなどを格納する。
【００４２】
ライン出現データは、仮想交点の位置、出現数、ラインの出現タイミング、出現位置、伸びる方向・速さなどの情報で構成される。仮想交点の位置はゲーム画面上の座標を表す。出現数は仮想交点で交差するラインの数を表す。出現タイミングは、音楽の再生を開始してからどのくらいの時間が経過したときにラインを出現させるのかをライン毎に記載したデータである。出現位置は、例えばゲーム画面のいずれかの角を原点としたときの座標をライン毎に記載したデータである。伸びる方向・速さは、ライン毎の伸びる方向及び速さを記載したデータである。ラインの伸びる速さは、ライン毎に異なってもよい。
【００４３】
予兆出現データは、ライン出現データに関連付けられており、予兆画像の出現タイミング、出現位置、移動速度、変化情報などの情報で構成される。出現タイミングは、音楽の再生を開始してからどのくらいの時間が経過したときにラインを出現させるのか、あるいは、ラインの出現タイミングから予兆画像の出現タイミングまでの相対時間を記載したデータである。出現位置は、予兆画像を出現させる位置を記載したデータである。移動速度は、予兆画像の移動速度を記載したデータである。変化情報は、例えば予兆画像の色を変化させる場合など、どのように変化させるのかを記載したデータである。
【００４４】
＜処理の流れ＞
次に、上記ゲーム装置の処理の流れについて説明する。
【００４５】
図５は、本ゲーム装置の全体的な処理の流れを示すフローチャートである。
【００４６】
ゲームが開始されると、初期化処理が行われる（ステップＳ１１）。初期化処理は、例えば、スコアのクリアなどパラメータの初期化や、再生する音楽と使用するライン出現データ、予兆出現データの選択などがある。プレイヤーが選択した音楽や難易度に応じて予め設定された音楽が再生する音楽として選択される。
【００４７】
初期化処理が終了すると、音声出力部１８が音楽の再生を開始する（ステップＳ１２）。
【００４８】
ライン制御部１３は、ゲームデータ蓄積部１９からライン出現データを読み出し、新たなライン５１Ａ，５１Ｂを出現させるか否か判定する（ステップＳ１３）。新たなライン５１Ａ，５１Ｂを出現させるか否かは、例えば、音楽の再生時間とライン出現データの出現タイミングとを比較して判定する。音楽の再生時間が出現タイミング以上になっていたときに、新たなライン５１Ａ，５１Ｂを出現させると判定する。
【００４９】
新たなライン５１Ａ，５１Ｂを出現させると判定した場合は、予兆画像５２Ａ〜５２Ｃ、ライン５１Ａ，５１Ｂをゲーム画面上に出現させる（ステップＳ１４）。ライン制御部１３は、ゲームデータ蓄積部１９から読みだしたライン出現データの出現位置にライン５１Ａ，５１Ｂを出現させ、予兆画像制御部１２は、ライン制御部１３が出現させたライン５１Ａ，５１Ｂに対応する予兆出現データをゲームデータ蓄積部１９から読み出し、予兆画像５２Ａ〜５２Ｃをゲーム画面上に出現させる。ライン５１Ａ，５１Ｂの出現よりも先に予兆画像５２Ａ〜５２Ｃがゲーム画面上に出現する場合もある。この場合、ライン５１Ａ，５１Ｂの出現位置をゲーム画面外に設定しておく。
【００５０】
所定の間隔で、ライン制御部１３がゲーム画面上のライン５１Ａ，５１Ｂを移動させ（ステップＳ１５）、予兆画像制御部１２が予兆画像５２Ａ〜５２Ｃを更新する（ステップＳ１６）。ゲーム画面上に表示されたライン５１Ａ，５１Ｂや予兆画像５２Ａ〜５２Ｃは、所定の間隔（例えば６０ｆｐｓ間隔）で移動、更新される。
【００５１】
そして、タイミング判定部１４は、プレイヤーが、ライン５１Ａ，５１Ｂの先端同士が衝突する仮想交点５３を適正な位置及びタイミングでタップしたか否か判定する（ステップＳ１７）。この判定処理の詳細については後述する。
【００５２】
さらに、ゲームの終了条件を満たしているか否か判定する（ステップＳ１８）。ゲームの終了条件は、例えば音楽の再生が終了した場合はゲームクリアと判定し、判定処理でミスと判定された回数が所定の値を超えた場合はゲームオーバーと判定する。ゲームの終了条件を満たしていない場合は、ステップＳ１３に戻り、ゲームを継続する。
【００５３】
ゲームの終了条件を満たしている場合は、ゲームクリアした旨あるいはゲームオーバーになった旨をゲーム画面に表示してゲームを終了する（ステップＳ１９）。ゲーム終了後は、ゲームクリアの場合はステップＳ１１に戻って新たにゲームを開始し、ゲームオーバーの場合はタイトルに戻る。
【００５４】
続いて、判定処理について説明する。判定処理では、ラインの先端同士が衝突するタイミングでゲーム画面上の衝突場所がタップされたか否かを判定する。
【００５５】
図６は、判定処理の流れを示すフローチャートである。
【００５６】
まず、ゲーム画面がタップされたか否か判定する（ステップＳ２１）。
【００５７】
ゲーム画面がタップされた場合（ステップＳ２１のＹｅｓ）、ゲーム画面上のタップ座標を取得し（ステップＳ２２）、タップ位置が適正範囲内であるか否か判定する（ステップＳ２３）。タップ位置が適正範囲内であるか否かは、タップ座標とラインの先端同士が衝突する位置を示す仮想交点５３とを比較して判定する。
【００５８】
タップ座標が仮想交点５３から所定の範囲内である場合（ステップＳ２３のＹｅｓ）、タップのタイミングが適正範囲内であるか否か判定する（ステップＳ２４）。タップのタイミングが適正範囲内であるか否かは、ライン５１Ａ，５１Ｂの先端が衝突するタイミングをジャストタイミングとしたときに、タップのタイミングのジャストタイミングからのずれを求めて判定する。例えば、衝突までの時間を記載した近接情報を用いて判定する。
【００５９】
タップのタイミングが適正範囲内である場合（ステップＳ２４のＹｅｓ）、タップのタイミングに応じてスコアを加算し（ステップＳ２５）、タップされたライン５１Ａ，５１Ｂをゲーム画面上から削除する（ステップＳ２６）。ジャストタイミングでタップされた場合は最大のスコアを加算し、それ以外の場合は、より少ないスコアを加算する。
【００６０】
一方、ゲーム画面がタップされていない場合（ステップＳ２１のＮｏ）、あるいはタップ位置が適正範囲外の場合（ステップＳ２３のＮｏ）、仮想交点５３をタップすべきタイミングを逃したか否か判定する（ステップＳ２７）。ライン５１Ａ，５１Ｂの先端が衝突後、所定の時間経過していた場合はタップのタイミングを逃したと判定する。
【００６１】
タップのタイミングを逃していた場合（ステップＳ２７のＹｅｓ）、ライン５１Ａ，５１Ｂの衝突位置を適正なタイミングでタップできなかったので、そのライン５１Ａ，５１Ｂに対する操作入力をミスと判定してミス処理を行い（ステップＳ２８）、タップできなかったライン５１Ａ，５１Ｂをゲーム画面上から削除する（ステップＳ２６）。
【００６２】
＜バリエーション＞
次に、ライン、予兆画像のバリエーションについて説明する。
【００６３】
図７は、ライン、予兆画像のバリエーションを示す図である。以下、図７に示した各バリエーションについて説明する。
【００６４】
図７（ａ）は、複数組みのラインが同時に出現する例を示す図である。図７（ａ）に示す例では、それぞれ別々の仮想交点５３Ａ，５３Ｂで衝突する複数組みのライン５１Ａ〜５１Ｄが同時にゲーム画面上に出現する。図７（ａ）に示す例の場合、プレイヤーは、仮想交点５３Ａ，５３Ｂの順にタップする。図７（ａ）に示す例では、各ライン５１Ａ〜５１Ｄは、ゲーム画面の辺に対して同じ角度で伸びているが、ゲーム画面の辺に対して異なる角度で伸びるものでもよい。例えば、ライン５１Ａはゲーム画面の上辺に対して４５度の角度で伸び、ライン５１Ｂはゲーム画面の下辺に対して９０度の角度で伸びるようにする。また、各ライン５１Ａ〜５１Ｄが伸びる速度は同一でもよいし、異なってもよい。例えば、ライン５１Ａの伸びる速度を速く、ライン５１Ｂの伸びる速度を遅くすることで、タップのタイミングを難しくできる。速度は、一定の速度で出現させてもよいし、出現後、所定のタイミングで速度が変わっても良い。例えば、ラインが一瞬消えたあとに、速度が変わってもよい。
【００６５】
図７（ｂ）は、ライン５１Ａ，５１Ｂが消えたり現れたりする例を示す図である。図７（ｂ）に示す例では、ライン５１Ａ，５１Ｂが伸びるときに、ライン５１Ａ，５１Ｂを一時的に非表示とする。あるいは、ライン５１Ａ，５１Ｂの一部を非表示とする。ライン５１Ａ，５１Ｂを非表示としたとき、予兆画像も非表示としてもよいし、予兆画像だけを表示してもよい。
【００６６】
図７（ｃ）は、色の変化でラインの衝突を予兆させる例を示す図である。同図に示す例では、ライン５１Ａ，５１Ｂの衝突時にライン５１Ａ，５１Ｂによって区切られる部分に色が変化する予兆画像５２（図７（ｃ）では５角形）を配置した。予兆画像５２は、ライン５１Ａ，５１Ｂの伸びに応じて色が変化する。例えば、予兆画像５２の色を出現時には他の部分との区別が無いように黒あるいは透明とし、徐々に赤くあるいは透明度を減少させていく。プレイヤーは、予兆画像５２の色の濃さ、透明度でライン５１Ａ，５１Ｂが衝突する大まかなタイミングを知り、予兆画像５２の形状でライン５１Ａ，５１Ｂの伸びる方向と仮想交点５３の位置を知ることができる。
【００６７】
図７（ｄ）は、線の太さの変化でラインの衝突を予兆させる例を示す図である。同図に示す例では、ライン５１Ａ，５１Ｂと仮想交点５３を含む太い線を予兆画像５２とした。予兆画像５２は、ライン５１Ａ，５１Ｂが接近するのに伴って細くなっていく。プレイヤーは、予兆画像５２の太さの変化でライン５１Ａ，５１Ｂが衝突する大まかなタイミングを知り、予兆画像５２の位置でライン５１Ａ，５１Ｂの伸びる方向、仮想交点５３の大まかな位置を知ることができる。
【００６８】
図８は、４つのラインが衝突する例を示す図である。図８に示すように、衝突するラインの数を２より大きくして、例えば４つのライン５１Ａ〜５１Ｄがひとつの仮想交点５３で衝突するものでもよい。４つのライン５１Ａ〜５１Ｄが衝突するときは、プレイヤーによる操作をタップの変わりにフリック（指で弾く動作）あるいは長押し（しばらく押し続ける）としてもよい。さらに、図８（ｂ）に示すように、４つのライン５１Ａ〜５１Ｄがひとつの仮想交点５３で衝突する場合には、プレイヤーが衝突位置を押したときに、プレイヤーが押した位置に球５４を出現させるとともに、ゲーム画面上の任意の位置に穴５５を出現させる。そして、プレイヤーのフリック操作によって球５４を移動させ、球５４が穴５５に入った場合にはスコアを加算する。球５４をゲーム画面の辺で跳ね返るようにしてもよいし、球５４を直接穴５５に入れるようにしてもよい。球５４の動きは、プレイヤーによるフリックのタイミング、角度、速さ、長さなどに基いて決定する。フリックの長さとは、タッチした位置の始点から終点までの距離である。
【００６９】
また、衝突するラインの数だけでなく、ライン５１Ａ，５１Ｂの別の属性（例えば、太さ、色、表示方法など）に応じてタップ、フリック、長押しなど様々な操作を要求してもよい。
【００７０】
＜ラインの奥行方向の移動＞
これまでに説明した実施例では、ラインはラインの伸びる方向にのみ移動し、ラインの伸びる方向以外の方向には移動しなかった。ここでは、ラインをラインの伸びる方向以外に移動させてラインが奥行方向に移動しているように見せる実施例について説明する。
【００７１】
図９は、ラインの表示位置を移動させたゲーム画面を（ａ）〜（ｃ）の順で時系列順に示す図である。図９に示す実施例では、遠近法を用いた奥行き感のある背景に重ねてライン５１Ａ，５１Ｂ、予兆画像５２Ａ，５２Ｂを表示し、ライン５１Ａ，５１Ｂが奥から手前（奥行方向）に移動しているように、ライン５１Ａ，５１Ｂの表示位置を移動させた。
【００７２】
ゲーム画面の背景として、ゲーム画面中央に設定した消失点５６から放射状に広がる線で床５８Ａ、天井５８Ｂを表現し、奥行き感を出した。床５８Ａの両サイドには、再生する音楽の音量を示すレベルメータ５８Ｃを配置した。１フレーム毎に床５８Ａ、天井５８Ｂおよびレベルメータ５８Ｃのゲーム画面上の表示位置を手前に向けて移動させ、プレイヤーが消失点５６へ向かって移動しているように感じさせる。具体的には、ゲーム画面上で消失点５６から離れるように、床５８Ａの横線を下方向に、天井５８Ｂの横線を上方向に、左右のレベルメータ５８Ｃを左右下方向に移動させる。床５８Ａ、天井５８Ｂ、レベルメータ５８Ｃなどの背景画像の移動速度は、再生する音楽のテンポ（ＢＰＭ）に合わせる。なお、床５８Ａ、天井５８Ｂ、およびレベルメータ５８Ｃは、奥行き感及びスピード感を出すための背景であり、プレイヤーの操作には関係しない。床５８Ａ、天井５８Ｂ、およびレベルメータ５８Ｃを消失点５６から離れるように移動させて表示することで背景が奥行方向に移動するように表示されてスピード感が生まれる。
【００７３】
ライン５１Ａ，５１Ｂは、奥行き感を出した背景の上に重ねて表示し、ライン５１Ａ，５１Ｂの表示位置が消失点５６から離れるように移動させる。具体的には、図９（ａ）〜（ｃ）に示すように、ゲーム画面上で消失点５６より上に表示されている横方向に伸びるライン５１Ａを経過時間に合わせて上方向に移動させ、消失点５６より右に表示されている縦方向に伸びるライン５１Ｂを経過時間に合わせて右方向に移動させる。ライン５１Ａ，５１Ｂのサイズ（太さ）も経過時間に合わせて大きく（太く）する。
【００７４】
予兆画像５２Ａ，５２Ｂは、ライン５１Ａ，５１Ｂの最終的な衝突位置である衝突予定位置５７ではなく、現在の表示位置でライン５１Ａ，５１Ｂを伸ばした先の仮想交点５３を示すように表示される。図９に示す例では、ライン５１Ａ，５１Ｂの長手方向に伸びる帯状の予兆画像５２Ａ，５２Ｂを表示した。２つの帯状の予兆画像５２Ａ，５２Ｂの交点が仮想交点５３に対応する。
【００７５】
次に、ライン５１Ａ，５１Ｂ、予兆画像５２Ａ，５２Ｂの表示位置を計算する処理について説明する。
【００７６】
ライン５１Ａ，５１Ｂの表示位置は、時間の経過に伴って消失点５６から最終的な衝突位置である衝突予定位置５７に移動する仮想交点５３の位置に基いて決定する。仮想交点５３の位置は、消失点５６と衝突予定位置５７を結ぶ線上で経過時間に合わせて補間して決定する。
【００７７】
図１０に、仮想交点５３の位置を動かす様子を示す。同図に示す例では、消失点５６から衝突予定位置５７までを仮想交点５３が１小節で移動するとし、予兆画像５２Ａ，５２Ｂをジャストタイミングの３拍前、ライン５１Ａ，５１Ｂをジャストタイミングの２拍前に出現させるとした。
【００７８】
ジャストタイミングから３拍前、つまり予兆画像５２Ａ，５２Ｂを出現させるタイミングになると、図１０（ａ）に示すように、仮想交点５３を衝突予定位置５７から消失点５６までの３／４の位置Ｐに配置し、仮想交点５３を基準にして予兆画像５２Ａ，５２Ｂを表示する。具体的には、仮想交点５３からライン５１Ａ，５１Ｂが出現する辺まで帯状の予兆画像５２Ａ，５２Ｂを表示する。
【００７９】
時間の経過に伴って仮想交点５３を線分上を衝突予定位置５７へ向けて移動させるとともに、予兆画像５２Ａ，５２Ｂの表示位置も仮想交点５３の位置に合わせて補正し、移動させる。
【００８０】
そして、ジャストタイミングから２拍前、つまりライン５１Ａ，５１Ｂを出現させるタイミングになると、図１０（ｂ）に示すように、仮想交点５３は衝突予定位置５７から消失点５６までの半分の位置Ｑまで移動しており、仮想交点５３を基準にして予兆画像５２Ａ，５２Ｂを表示するとともに、仮想交点５３を基準にしてライン５１Ａ，５１Ｂを出現させる。具体的には、仮想交点５３の縦の位置に合わせてライン５１Ａをゲーム画面の左端に出現させるとともに、仮想交点５３の横の位置に合わせてライン５１Ｂをゲーム画面の下辺に出現させる。
【００８１】
その後、ライン５１Ａ，５１Ｂを伸ばすとともに、仮想交点５３を衝突予定位置５７へ向けて移動させ、仮想交点５３の位置に合わせてライン５１Ａ，５１Ｂ及び予兆画像５２Ａ，５２Ｂの表示位置を補正して移動させる。ジャストタイミングになると、仮想交点５３は衝突予定位置５７に到達し、ライン５１Ａ，５１Ｂの先端同士が衝突予定位置５７で衝突する。ゲーム画面上のライン５１Ａ，５１Ｂの衝突位置をジャストタイミングでタップすることでスコアが加算される。ゲーム画面上をタップした位置と衝突位置、タップしたタイミングとジャストタイミングとを比較し、タップした位置と衝突位置とのずれ、タップしたタイミングとジャストタイミングとのずれが所定の範囲内であれば成功、所定の範囲外であれば失敗と判定する。
【００８２】
なお、ゲームの設定でライン５１Ａ，５１Ｂの移動速度を速くする場合は、例えば、予兆画像５２Ａ，５２Ｂの出現タイミングをジャストタイミングから２拍前、ライン５１Ａ，５１Ｂの出現タイミングをジャストタイミングから１拍前とする。ライン５１Ａ，５１Ｂの移動速度を遅くする場合は、予兆画像５２Ａ，５２Ｂの出現タイミングをジャストタイミングから４拍前、ライン５１Ａ，５１Ｂの出現タイミングをジャストタイミングから３拍前とする。
【００８３】
また、予兆画像５２Ａ，５２Ｂを表示させない設定を追加してもよい。予兆画像５２Ａ，５２Ｂを表示せずに、ライン５１Ａ，５１Ｂの表示位置が移動する場合、プレイヤーにとってライン５１Ａ，５１Ｂの衝突位置が把握しにくくなり、ゲームの難易度を上げることができる。
【００８４】
＜３次元空間＞
上記の実施例では、奥行き感を出した背景にラインを重ねて表示し、ラインの表示位置を移動させることでラインが奥行方向に移動しているように見せた。ここでは、ラインオブジェクトを３次元の仮想空間上で上下左右だけでなく奥行方向に移動させる実施例について説明する。
【００８５】
３次元の仮想空間にラインオブジェクトを配置する場合、３次元の仮想空間を透視変換したときにゲーム画面の平面に対して平行となる面上に複数のラインオブジェクトを配置し、その面上でラインオブジェクトを伸ばして衝突させる。ラインを配置した面に視点（仮想空間内に配置される仮想カメラ）の位置を接近させる、あるいは視点の位置にラインオブジェクトを接近させることでラインオブジェクトを奥行方向（ゲーム画面に対して垂直な方向）に移動させる。ラインオブジェクトの先端が衝突したタイミングで、衝突位置に対応するゲーム画面上の位置に対するユーザの操作を評価する。
【００８６】
ゲーム画面には、３次元の仮想空間を透視変換して２次元平面に投影した画像を表示する。ラインについては、ラインを大きさのあるオブジェクトとして３次元の仮想空間に配置し、ラインのオブジェクトを透視変換してゲーム画面に表示する方法や、あるいはラインの位置のみを２次元平面に投影してゲーム画面上の位置を算出し、算出したゲーム画面上の位置にラインを描画する方法がある。後者の方法では、奥行方向の距離に基いてラインの太さを決定する。
【００８７】
予兆画像については、ラインオブジェクトと同様に大きさのあるオブジェクトを仮想空間に配置する方法や、ラインの衝突位置つまり仮想交点の位置を２次元平面に投影してゲーム画面上の位置を算出し、算出したゲーム画面上の仮想交点に基いて予兆画像を表示する方法がある。
【００８８】
なお、ラインオブジェクトの先端が衝突するタイミングを、視点とラインを配置した面との距離が一定の値となったときとすることで、衝突時にゲーム画面上に描画されるラインの太さが一定となる。
【００８９】
＜対戦＞
次に、本ゲームにより他のプレイヤーと対戦する実施例について説明する。
【００９０】
まず、ゲームを開始するときに、サーバに接続して対戦相手をマッチングする。対戦相手は、例えば、自分で登録したプレイヤーの中から選択する方法や、近い腕前のプレイヤーの中からランダムに選択する方法がある。
【００９１】
そして、マッチングした対戦相手のプレイデータをサーバから読み出した後、ゲームを開始する。サーバには、プレイヤーの名前やＩＤなどのプレイヤーまたはゲーム装置を特定する情報のほか、（１）全プレイヤーについて、各曲・各難易度のハイスコアを出した時のプレイデータ（いわゆるゴーストデータ）と、（２）全プレイヤーによる各曲・各難易度の直近数百プレイのプレイデータ（ゴーストデータ）が保存されている。自分で登録したプレイヤーの中から対戦相手を選ぶときは（１）のデータを用い、近い腕前のプレイヤーの中から対戦相手を選ぶときは（２）のデータを用いる。
【００９２】
ゲーム中は、ゲーム画面上の自分のスコアの下に対戦相手のスコアとの差を表示する。対戦相手とのスコアの差は、プレイヤーと対戦相手が同時にゲームを開始したとして、読み出したプレイデータを用いて対戦相手のスコアを求め、ゲーム中におけるスコアの差を求めて表示する。
【００９３】
ゲーム終了時には、対戦相手との勝敗が表示される。その後、結果表示画面でプレイヤーの対戦結果が数値で表示される。また、直近数百プレイのプレイデータとして用いるために、スコアに関わらず、１プレイ毎にプレイヤーのプレイデータをサーバに送信する。
【００９４】
例えば、ゲーム装置は、プレイデータとして、プレイヤーの操作入力に基づくキーデータ（操作入力情報）を記憶しておき、ゲーム終了時にキーデータをサーバに送信して記憶させる。対戦を行うプレイヤーのゲーム装置は、サーバに記憶された対戦相手のキーデータを読み込んで対戦相手の操作入力として使用し、ゲームの進行に合わせて対戦相手のスコアを計算する。なお、他のゲーム装置とは、例えばＰ２Ｐ通信などで接続し、互いのキーデータを送受信することで、リアルタイムに対戦してもよい。
【００９５】
以上説明したように、本実施の形態によれば、ライン５１Ａ，５１Ｂの先端が衝突するタイミングで衝突した位置をタップするタイミングゲームにおいて、遠近法で描いた背景が奥行方向に移動するように表示するとともに、背景に合わせてライン５１Ａ，５１Ｂを移動させることで、ライン５１Ａ，５１Ｂを奥行方向に移動しているように見せることが可能となり、スピード感のあるタイミングゲームを提供することができる。
【００９６】
本実施の形態によれば、ライン５１Ａ，５１Ｂが奥行方向に移動しているように見せるために、ライン５１Ａ，５１Ｂを伸ばした先の仮想交点５３を衝突予定位置５７に向けて移動させるので、予兆画像５２Ａ，５２Ｂやライン５１Ａ，５１Ｂがゲーム画面に出現したときの仮想交点５３の位置とライン５１Ａ，５１Ｂの先端が実際に衝突する衝突予定位置５７がずれて、ライン５１Ａ，５１Ｂの先端同士が衝突する位置及びタイミングを予想しにくくなり、プレイヤーの興趣性を増すことができる。
【００９７】
本実施の形態によれば、３次元の仮想空間上に配置した複数のラインを移動させて先端同士を衝突させて、ラインの先端が衝突するタイミングで衝突した位置をタップするタイミングゲームにおいて、３次元の仮想空間を２次元平面に透視変換する視点をラインの方向に移動させることにより、ラインをゲーム画面の平面だけでなく、奥行方向に移動させることが可能となる。
【符号の説明】
【００９８】
１…ゲームプログラム
１１…操作入力部
１２…予兆画像制御部
１３…ライン制御部
１４…タイミング判定部
１５…スコア処理部
１６…画像出力部
１７…背景処理部
１８…音声出力部
１９…ゲームデータ蓄積部
５１Ａ〜５１Ｄ…ライン
５２，５２Ａ〜５２Ｃ…予兆画像
５３，５３Ａ，５３Ｂ…仮想交点
５４…球
５５…穴
５６…消失点
５７…衝突予定位置
５８Ａ…床
５８Ｂ…天井
５８Ｃ…レベルメータ
【要約】
【課題】スピード感のあるタイミングゲームを提供する。
【解決手段】ライン５１Ａ，５１Ｂの先端が衝突するタイミングで衝突した位置をタップするタイミングゲームにおいて、遠近法で描いた背景が奥行方向に移動するように表示するとともに、背景に合わせてライン５１Ａ，５１Ｂを移動させる。これにより、ライン５１Ａ，５１Ｂを奥行方向に移動しているように見せることが可能となり、スピード感のあるタイミングゲームを提供することができる。
【選択図】図９【図１】
0005433096.tif 000002
【図２】
0005433096.tif 000003
【図３】
0005433096.tif 000004
【図４】
0005433096.tif 000005
【図５】
0005433096.tif 000006
【図６】
0005433096.tif 000007
【図７】
0005433096.tif 000008
【図８】
0005433096.tif 000009
【図９】
0005433096.tif 000010
【図１０】
0005433096.tif 000011