画面内で静止したオブジェクトをユーザの操作によって移動させることでオブジェクトデータを編集する特許文献1での技術では、オブジェクトデータの編集時に、ゲーム実行中におけるオブジェクトの移動が表現されない。そのため、そのオブジェクトデータによって実現されるゲーム動作がユーザに想像されにくい。
以上の事情に鑑み、本発明は、実際のゲーム動作に準じたオブジェクトデータの編集が可能なゲーム装置を提供することを目的とする。
本発明に係るゲーム装置は、ゲーム実行中、表示画面に複数のオブジェクトを、当該複数のオブジェクトの各々に対応する複数のオブジェクトデータにしたがって表示させる制御部と、表示されたオブジェクトに対するユーザの操作が長押し基準時間よりも長く継続する長押し操作であったとき、当該長押し操作の開始位置および当該当該長押し操作の開始時刻に基づいて、当該長押し操作の継続中の操作位置を問わずに、当該長押し操作の前記ユーザの操作を評価する評価部と、を備える。
また、本明細書からは、以下に記載する発明も把握される。
本発明に係るゲーム装置は、ゲーム実行中に、表示画面に表示させる複数のオブジェクトの各々に対応する複数のオブジェクトデータ要素を含んだオブジェクトデータを記憶する記憶部から読み出した1つの前記オブジェクトデータ要素が示す基準時刻において前記表示画面上の基準位置に到達するように、1つの前記オブジェクトを前記基準位置に向かう方向に移動させる制御部と、ゲーム実行中に、ユーザの操作を受け付けた操作時刻と1つの前記オブジェクトが前記基準位置に到達する基準時刻とに基づいて、前記ユーザの操作を評価する評価部とを備え、前記制御部は、ゲーム実行中ではないオブジェクトデータ編集中に、オブジェクトデータの編集開始時からユーザの操作を受け付けた操作時刻までの経過時間で示される基準時刻を含む1つのオブジェクトデータ要素を生成し、前記オブジェクトデータ要素に対応するオブジェクトがゲーム実行中における前記方向とは異なる方向に移動するように前記表示画面に表示させる。
好ましくは、前記制御部は、長押し基準時間よりも長く継続する長押し操作を受け付けた場合、当該長押し操作の継続期間内に生成された当該長押し操作に対応する複数の被参照オブジェクトデータ要素を記憶するための一時記憶領域を前記記憶部内に確保し、当該長押し操作の継続期間内に生成された当該長押し操作に対応する複数の被参照オブジェクトデータ要素を前記一時記憶領域内に記憶するとともに、前記複数の被参照オブジェクトデータ要素を指し示す参照情報を含んだ参照オブジェクトデータ要素を生成して前記記憶部に記憶する。
好ましくは、前記制御部は、前記長押しオブジェクトデータ要素群に含まれる複数の操作位置がなす折れ線に閾値未満の角度が含まれる場合、当該閾値未満の角度が前記閾値より大きい角度となるように、前記長押しオブジェクトデータ要素群に含まれる複数の前記操作位置の少なくともいずれかを変更する。
好ましくは、前記制御部は、ゲーム実行中ではないオブジェクトデータ編集中に、ユーザの巻戻し指示に応じて、オブジェクトデータの編集開始時からの経過時間を巻き戻すとともに、巻き戻された前記経過時間に対応する量だけ1つの前記オブジェクトを移動させ、削除位置を越えた1つの前記オブジェクトに対応する1つの前記オブジェクトデータ要素を前記記憶部から削除し、前記巻戻し指示に応じた移動によって1つの長押しオブジェクトの始点が前記削除位置を越えた場合、当該長押しオブジェクトに対応する長押しオブジェクトデータ要素群を前記記憶部から削除する。
本発明のコンピュータプログラムは、コンピュータを、上記のいずれかのゲーム装置として動作させるためのコンピュータプログラムであって、前記コンピュータを、前記ゲーム装置が備える制御部及び評価部として機能させる。
本発明の別のコンピュータプログラムは、コンピュータのプロセッサにおいて実行されるコンピュータプログラムであって、コンピュータを、ゲーム実行中に、表示画面に表示させる複数のオブジェクトの各々に対応する複数のオブジェクトデータ要素を含んだオブジェクトデータを記憶する記憶部から読み出した1つの前記オブジェクトデータ要素が示す基準時刻において前記表示画面上の基準位置に到達するように、1つの前記オブジェクトを前記基準位置に向かう方向に移動させる制御部と、ゲーム実行中に、ユーザの操作を受け付けた操作時刻と1つの前記オブジェクトが前記基準位置に到達する基準時刻とに基づいて、前記ユーザの操作を評価する評価部として機能させ、前記制御部は、ゲーム実行中ではないオブジェクトデータ編集中に、オブジェクトデータの編集開始時からユーザの操作を受け付けた操作時刻までの経過時間で示される基準時刻を含む1つのオブジェクトデータ要素を生成し、前記オブジェクトデータ要素に対応するオブジェクトがゲーム実行中における前記方向とは異なる方向に移動するように前記表示画面に表示させる。
本発明のコンピュータプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。また、本発明のコンピュータプログラムは、当該コンピュータプログラムが実行される装置とは独立して、通信網(例えば、インターネット)を介して配布・販売することができる。また、上記情報記録媒体は、当該装置とは独立して配布・販売することができる。
本明細書において、「時刻」とは、オブジェクトデータの編集開始時(各オブジェクトデータ要素の生成開始時)からの経過時間によってカウントされる相対的な時刻を意味する。また、「経過時間を巻き戻す」とは、オブジェクトデータの編集時に制御部によって実行され得る、既に過ぎ去った(カウントされた)経過時間の全部または現在時間を含む一部の時間範囲においてなされた処理を取り消す動作であり、より具体的にはその時間範囲において記憶部に記憶した内容を取り消して処理を再開する動作を意味する。また、オブジェクトデータ要素について「削除」とは、制御部が実際に記憶部内のオブジェクトデータ要素を削除することだけではなく、削除対象のオブジェクトデータ要素上に、新たに生成されるオブジェクトデータ要素を制御部が上書きできるよう、次に書き込むべき記憶部上の位置(例えばポインタ)を変更することをも含む概念である。
本発明に係るゲーム装置は、ユーザの操作を受け付ける入力部と、ゲーム実行中に、表示画面に表示させる複数のオブジェクトの各々に対応する複数のオブジェクトデータ要素を含んだオブジェクトデータを記憶する記憶部から読み出した1つの前記オブジェクトデータ要素が示す基準時刻において前記表示画面上の基準位置に到達するように、1つの前記オブジェクトを前記基準位置の方向に移動させる制御部と、ゲーム実行中に、前記入力部がユーザの操作を受け付けた操作時刻と1つの前記オブジェクトが前記基準位置に到達する基準時刻とに基づいて、前記ユーザの操作を評価する評価部とを備え、前記制御部は、ゲーム実行中ではないオブジェクトデータ編集中に、オブジェクトデータの編集開始時から前記入力部がユーザの操作を受け付けた操作時刻までの経過時間で示される基準時刻を含む1つのオブジェクトデータ要素を生成して前記記憶部に記憶するとともに、当該操作時刻で前記表示画面に表示させた1つのオブジェクトを前記基準位置から離れる第1方向に移動させる。
好ましくは、前記複数のオブジェクトは、ゲーム実行中に、前記入力部への操作を継続する長押し操作を前記ユーザに指示する長押しオブジェクトを含み、前記長押しオブジェクトは、複数の部分オブジェクトを含み、前記オブジェクトデータは、1つの前記長押しオブジェクトに含まれる複数の前記部分オブジェクトに各々が対応する複数のオブジェクトデータ要素を含んだ長押しオブジェクトデータ要素群を含み、前記制御部は、長押し基準時間よりも長く継続する長押し操作を前記入力部が受け付けた場合、当該長押し操作の継続期間内に生成された当該長押し操作に対応する複数の被参照オブジェクトデータ要素を記憶するための一時記憶領域を前記記憶部内に確保し、当該長押し操作の継続期間内に生成された当該長押し操作に対応する複数の被参照オブジェクトデータ要素を前記一時記憶領域内に記憶するとともに、前記複数の被参照オブジェクトデータ要素を指し示す参照情報を含んだ参照オブジェクトデータ要素を生成して前記記憶部に記憶する。
好ましくは、前記制御部は、前記長押しオブジェクトデータ要素群に含まれる複数の操作位置がなす折れ線に閾値未満の角度が含まれる場合、当該閾値未満の角度が前記閾値より大きい角度となるように、前記長押しオブジェクトデータ要素群に含まれる複数の前記操作位置の少なくともいずれかを変更する。
好ましくは、前記制御部は、ゲーム実行中ではないオブジェクトデータ編集中に、前記入力部に受け付けられたユーザの巻戻し指示に応じて、オブジェクトデータの編集開始時からの経過時間を巻き戻すとともに、巻き戻された前記経過時間に対応する量だけ前記第1方向とは反対の第2方向に1つの前記オブジェクトを移動させ、削除位置を越えた1つの前記オブジェクトに対応する1つの前記オブジェクトデータ要素を前記記憶部から削除し、前記巻戻し指示に応じた移動によって1つの長押しオブジェクトの始点が前記削除位置を越えた場合、当該長押しオブジェクトに対応する長押しオブジェクトデータ要素群を前記記憶部から削除する。
本発明の別のゲーム装置は、ユーザの操作を受け付ける入力部と、ゲーム実行中に、表示画面に表示させる複数のオブジェクトの各々に対応する複数のオブジェクトデータ要素を含んだオブジェクトデータを記憶する記憶部から読み出した1つの前記オブジェクトデータ要素が示す基準時刻において前記表示画面上の基準位置に到達するように、1つの前記オブジェクトを前記基準位置の方向に移動させる制御部と、ゲーム実行中に、前記入力部がユーザの操作を受け付けた操作時刻と1つの前記オブジェクトが前記基準位置に到達する基準時刻とに基づいて、前記ユーザの操作を評価する評価部とを備え、前記複数のオブジェクトは、ゲーム実行中に、前記入力部への操作を継続する長押し操作を前記ユーザに指示する長押しオブジェクトを含み、前記長押しオブジェクトは、複数の部分オブジェクトを含み、前記オブジェクトデータは、1つの前記長押しオブジェクトに含まれる複数の前記部分オブジェクトに各々が対応する複数のオブジェクトデータ要素を含んだ長押しオブジェクトデータ要素群を含み、前記制御部は、ゲーム実行中に、前記長押しオブジェクトに含まれる複数の前記部分オブジェクトの各々が、当該部分オブジェクトに対応する前記オブジェクトデータ要素が示す基準時刻において前記基準位置に到達するように、前記長押しオブジェクトを前記基準位置の方向に移動させ、前記評価部は、前記入力部が前記ユーザの操作を受け付けた操作時刻と、1つの前記部分オブジェクトが前記基準位置に到達する基準時刻とに基づいて、前記ユーザの操作を評価する。
好ましくは、前記評価部は、ゲーム実行中に、前記入力部への操作を継続する長押し操作を前記ユーザが実行している場合、前記長押しオブジェクトに含まれる複数の前記部分オブジェクトが前記基準位置に到達する複数の前記基準時刻の各々において、前記長押し操作が実行されているか否かを判定することにより、1つの前記長押しオブジェクトに対する前記長押し操作を評価する。
好ましくは、前記長押しオブジェクトに対応する前記長押しオブジェクトデータ要素群に含まれる各オブジェクトデータ要素は、前記ユーザが操作を実行すべき前記表示画面上の操作位置をさらに含み、前記評価部は、ゲーム実行中に、前記入力部が受け付けた前記ユーザによる操作の操作時刻および操作位置と、1つの前記部分オブジェクトに対応する前記オブジェクトデータ要素が示す基準時刻および操作位置とに基づいて、前記ユーザの操作を評価する。
好ましくは、前記評価部は、ゲーム実行中に、前記入力部への操作を継続する長押し操作を前記ユーザが実行している場合、前記長押しオブジェクトに対応する前記長押しオブジェクトデータ要素群内の複数の前記オブジェクトデータ要素が示す複数の前記基準時刻の各々および複数の前記操作位置の各々において、前記長押し操作が実行されているか否かを判定することにより、1つの前記長押しオブジェクトに対する前記長押し操作を評価する。
好ましくは、前記オブジェクトデータ要素は、データサイズが一定の固定長レコードであり、前記制御部は、前記オブジェクトデータに含まれる複数の前記オブジェクトデータ要素のいずれかを指し示すことが可能な変数を用いて、任意のオブジェクトデータ要素にアクセスすることが可能である。
好ましくは、1つの前記長押しオブジェクトに対応する前記長押しオブジェクトデータ要素群内の複数の前記オブジェクトデータ要素のうち、最も小さい前記基準時刻を有するオブジェクトデータ要素は、前記長押しオブジェクトの始点を示す情報を有し、最も大きい前記基準時刻を有するオブジェクトデータ要素は、前記長押しオブジェクトの終点を示す情報を有する。
好ましくは、前記オブジェクトデータは、前記長押しオブジェクトデータ要素群を指し示す参照情報を記憶する参照オブジェクトデータ要素を前記オブジェクトデータ要素として含む。
本発明のコンピュータプログラムは、コンピュータのプロセッサにおいて実行されるコンピュータプログラムであって、コンピュータを、ユーザの操作を受け付ける入力部と、ゲーム実行中に、表示画面に表示させる複数のオブジェクトの各々に対応する複数のオブジェクトデータ要素を含んだオブジェクトデータを記憶する記憶部から読み出した1つの前記オブジェクトデータ要素が示す基準時刻において前記表示画面上の基準位置に到達するように、1つの前記オブジェクトを前記基準位置の方向に移動させる制御部と、ゲーム実行中に、前記入力部がユーザの操作を受け付けた操作時刻と1つの前記オブジェクトが前記基準位置に到達する基準時刻とに基づいて、前記ユーザの操作を評価する評価部として機能させ、前記制御部は、ゲーム実行中ではないオブジェクトデータ編集中に、オブジェクトデータの編集開始時から前記入力部がユーザの操作を受け付けた操作時刻までの経過時間で示される基準時刻を含む1つのオブジェクトデータ要素を生成して前記記憶部に記憶するとともに、当該操作時刻で前記表示画面に表示させた1つのオブジェクトを前記基準位置から離れる第1方向に移動させることを特徴とする。
また、本発明の別のコンピュータプログラムは、コンピュータのプロセッサにおいて実行されるコンピュータプログラムであって、コンピュータを、ユーザの操作を受け付ける入力部と、ゲーム実行中に、表示画面に表示させる複数のオブジェクトの各々に対応する複数のオブジェクトデータ要素を含んだオブジェクトデータを記憶する記憶部から読み出した1つの前記オブジェクトデータ要素が示す基準時刻において前記表示画面上の基準位置に到達するように、1つの前記オブジェクトを前記基準位置の方向に移動させる制御部と、ゲーム実行中に、前記入力部がユーザの操作を受け付けた操作時刻と1つの前記オブジェクトが前記基準位置に到達する基準時刻とに基づいて、前記ユーザの操作を評価する評価部として機能させ、前記複数のオブジェクトは、ゲーム実行中に、前記入力部への操作を継続する長押し操作を前記ユーザに指示する長押しオブジェクトを含み、前記長押しオブジェクトは、複数の部分オブジェクトを含み、前記オブジェクトデータは、1つの前記長押しオブジェクトに含まれる複数の前記部分オブジェクトに各々が対応する複数のオブジェクトデータ要素を含んだ長押しオブジェクトデータ要素群を含み、前記制御部は、ゲーム実行中に、前記長押しオブジェクトに含まれる複数の前記部分オブジェクトの各々が、当該部分オブジェクトに対応する前記オブジェクトデータ要素が示す基準時刻において前記基準位置に到達するように、前記長押しオブジェクトを前記基準位置の方向に移動させ、前記評価部は、前記入力部が前記ユーザの操作を受け付けた操作時刻と、1つの前記部分オブジェクトが前記基準位置に到達する基準時刻とに基づいて、前記ユーザの操作を評価することを特徴とする。
本発明に係るゲーム装置は、ユーザの操作を受け付ける入力部と、表示画面に表示させる複数のオブジェクトの各々に対応する複数のオブジェクトデータ要素を含んだオブジェクトデータを記憶する記憶部と、ゲーム実行中に、1つの前記オブジェクトデータ要素が示す基準時刻において前記表示画面上の基準位置に到達するように1つの前記オブジェクトを前記基準位置の方向に移動させる制御部と、ゲーム実行中に、前記入力部がユーザの操作を受け付けた操作時刻と1つの前記オブジェクトが前記基準位置に到達する基準時刻とに基づいて、前記ユーザの操作を評価する評価部とを備え、前記制御部は、ゲーム実行中ではないオブジェクトデータ編集中に、オブジェクトデータの編集開始時から前記入力部がユーザの操作を受け付けた操作時刻までの経過時間で示される基準時刻を含む1つのオブジェクトデータ要素を生成して前記記憶部に記憶するとともに、当該操作時刻で前記表示画面に表示させた1つのオブジェクトを前記基準位置から離れる第1方向に移動させ、前記入力部に受け付けられたユーザの巻戻し指示に応じて、オブジェクトデータの編集開始時からの経過時間を巻き戻すとともに、巻き戻された前記経過時間に対応する量だけ前記第1方向とは反対の第2方向に1つの前記オブジェクトを移動させ、削除位置を越えた1つの前記オブジェクトに対応する1つの前記オブジェクトデータ要素を前記記憶部から削除する。
以上の構成によれば、オブジェクトデータ編集開始時からの経過時間に応じたオブジェクトデータ要素を生成するので、リアルタイムなオブジェクトデータ編集(各オブジェクトデータ要素の生成)が実現される。したがって、編集されるオブジェクトデータ(生成されるオブジェクトデータ要素)により実現されるゲーム動作が、オブジェクトデータ編集中のユーザに想像され易い。間違った(ユーザの意図しない)オブジェクトデータを編集(オブジェクトデータ要素を生成)してしまった場合であっても、経過時間を巻き戻すことにより間違ったオブジェクトデータ要素を削除可能である。また、経過時間を巻き戻すことでオブジェクトデータ要素が削除されるので、オブジェクトデータ要素を個別に指定して削除する構成よりも操作が簡易となる。
好ましくは、前記削除位置は、前記基準位置上または前記基準位置よりも前記第2方向側に配置される。
以上の構成によれば、削除位置を適切な箇所に配置可能である。また、基準位置と削除位置とが別個に設けられる場合には、基準位置を越えた時刻で単一オブジェクトに対応するオブジェクトデータ要素が削除される構成と比較して、オブジェクトデータ編集再開までの準備期間を確保することが可能である。
好ましくは、前記制御部は、オブジェクトデータ編集中に、ユーザの巻戻し指示が前記入力部に受け付けられている間、オブジェクトデータの編集開始時からの前記経過時間を巻き戻し続けるとともに、前記第2方向に1つの前記オブジェクトを移動させ続ける。
以上の構成によれば、巻戻し指示の継続時間によって巻き戻される経過時間およびオブジェクトの移動量が調節され得る。すなわち、ユーザの巻戻し指示が入力部に受け付けられている期間において「巻戻し」の「過程」が継続する。そうであれば、ユーザは、任意の時刻において巻戻し指示を中止することにより、その「巻戻し」の「過程」を中止(すなわち、「オブジェクトデータ編集の再開」を指示)することが可能である。したがって、本構成を採用することで、ユーザによる巻戻し指示の継続時間によってオブジェクトの移動量が調整可能となる。
好ましくは、前記オブジェクトデータ要素は、ユーザが操作すべき前記表示画面上の操作位置およびユーザが前記入力部に対してなすべき操作の操作種別を含み、前記制御部は、オブジェクトデータ編集中に、前記入力部がユーザの操作を受け付けた操作時刻と、前記入力部に受け付けられた当該操作の操作位置および当該操作の操作種別とを対応付けたオブジェクトデータ要素を生成して前記記憶部に記憶する。
以上の構成によれば、操作時刻(基準時刻)と操作位置および操作種別とが対応付けられ、一群のデータとして扱うことがより容易となり得る。また、オブジェクトデータ要素が操作位置と操作種別とをさらに備えることにより、そのオブジェクトデータ要素に対応するオブジェクトがユーザに対して操作時刻(基準時刻)以外に操作位置と操作種別とをも示すこととなる。したがって、ゲーム実行中にユーザに要求される操作のバリエーションが増大してゲーム性が多様化し得る。
好ましくは、オブジェクトデータ編集中に、長押し基準時間よりも長く継続する操作を前記入力部が受け付けた場合、前記制御部は、当該操作の継続期間内に生成された当該操作に対応する複数のオブジェクトデータ要素を、ゲーム実行中に前記入力部への操作を継続すべきことをユーザに指示する1つの長押しオブジェクトに対応する長押しオブジェクトデータ要素群として関連付けて前記記憶部に記憶するとともに、当該長押しオブジェクトデータ要素群に対応する1つの前記長押しオブジェクトを、当該長押しオブジェクトデータ要素群内の各基準時刻に応じて前記表示画面に表示させる。
以上の構成によれば、長押しオブジェクトに対応する長押しオブジェクトデータ群がユーザによって生成され得る。したがって、ゲーム実行中にユーザに要求される操作のバリエーションが増大してゲーム性が多様化し得る。
好ましくは、前記制御部は、前記巻戻し指示に応じた移動によって1つの長押しオブジェクトの始点が前記削除位置を越えた場合、当該長押しオブジェクトに対応する長押しオブジェクトデータ要素群を前記記憶部から削除する。
以上の構成によれば、ユーザの巻戻し指示に基づく巻戻し動作によって長押しオブジェクトが削除され得る。また、巻戻し動作によって、削除位置を越えた長押しオブジェクトの部分が削除されてしまう構成では、オブジェクトデータ編集の再開時に、削除途中の箇所から一連の長押しオブジェクトの編集が再開されるので、操作位置が限定されてしまうため編集操作が困難であり得る。本構成によれば、一連の長押しオブジェクトが一体として削除されるので、そのような困難が回避され得る。
好ましくは、前記制御部は、前記制御部は、前記長押しオブジェクトデータ要素群に含まれる複数の操作位置がなす折れ線に閾値未満の角度が含まれる場合、当該閾値未満の角度が前記閾値より大きい角度となるように、前記長押しオブジェクトデータ要素群に含まれる複数の前記操作位置の少なくともいずれかを変更する。
以上の構成によれば、生成される長押しオブジェクトに急峻な角度が含まれることが抑制され、ゲーム実行中における長押しオブジェクトに対する操作の難易度が高くなりすぎることが抑制され得る。
好ましくは、前記オブジェクトデータ要素は、データサイズが一定の固定長レコードであり、前記制御部は、前記オブジェクトデータに含まれる複数の前記オブジェクトデータ要素のいずれかを指し示すことが可能な変数を用いて、任意のオブジェクトデータ要素にアクセスすることが可能である。
以上の構成によれば、オブジェクトデータへのランダムアクセスが可能となるので、オブジェクトデータの編集が容易となり得る。
好ましくは、オブジェクトデータ編集中に、前記長押し基準時間よりも長く継続する操作を前記入力部が受け付けた場合、前記制御部は、当該操作に対応し、かつ前記長押しオブジェクトデータ要素群として関連づけられる複数の被参照オブジェクトデータ要素を生成して前記記憶部に記憶するとともに、前記複数の被参照オブジェクトデータ要素を指し示す参照情報を含んだ参照オブジェクトデータ要素を生成して前記記憶部に記憶する。
以上の構成によれば、参照オブジェクトデータに含まれる参照情報を参照することで、被参照オブジェクトデータにアクセスすることが可能となる。また、参照情報は固定長のデータとして扱うことが可能なので、参照情報が含まれるオブジェクトデータ要素であっても、データサイズを一定の固定長レコードに保つことが出来る。
好ましくは、オブジェクトデータ編集中に、前記長押し基準時間よりも長く継続する操作を前記入力部が受け付けた場合、前記制御部は、複数の被参照オブジェクトデータ要素を記憶するための一時記憶領域を前記記憶部内に確保し、当該操作の継続期間内に生成された当該操作に対応する複数の被参照オブジェクトデータ要素を前記一時記憶領域内に記憶する。
以上の構成によれば、長押しオブジェクトを生成するための被参照オブジェクトデータを記憶する一時記憶領域が確保される。
好ましくは、オブジェクトデータの編集開始時に、前記記憶部に記憶された1以上の音楽データからユーザによって選択された音楽データの再生を開始する音楽再生部をさらに備え、前記制御部は、オブジェクトデータ編集中に、当該音楽データの再生中に生成されたオブジェクトデータと当該音楽データとを関連づけて前記記憶部に記憶し、前記音楽再生部は、ゲーム開始時に、当該ゲームに対応するオブジェクトデータに関連づけられた音楽データの再生を開始する。
以上の構成によれば、オブジェクトデータの編集者としてのユーザが、選択した任意の音楽データについてオブジェクトデータを生成できる。
また、本発明のコンピュータプログラムは、コンピュータのプロセッサにおいて実行されるコンピュータプログラムであって、コンピュータを、ユーザの操作を受け付ける入力部と、表示画面に表示させる複数のオブジェクトの各々に対応する複数のオブジェクトデータ要素を含んだオブジェクトデータを記憶する記憶部と、ゲーム実行中に、1つの前記オブジェクトデータ要素が示す基準時刻において前記表示画面上の基準位置に到達するように1つの前記オブジェクトを前記基準位置の方向に移動させる制御部と、ゲーム実行中に、前記入力部がユーザの操作を受け付けた操作時刻と1つの前記オブジェクトが前記基準位置に到達する基準時刻とに基づいて、前記ユーザの操作を評価する評価部として機能させ、前記制御部は、ゲーム実行中ではないオブジェクトデータ編集中に、オブジェクトデータの編集開始時から前記入力部がユーザの操作を受け付けた操作時刻までの経過時間で示される基準時刻を含む1つのオブジェクトデータ要素を生成して前記記憶部に記憶するとともに、当該操作時刻で前記表示画面に表示させた1つのオブジェクトを前記基準位置から離れる第1方向に移動させ、前記入力部に受け付けられたユーザの巻戻し指示に応じて、オブジェクトデータの編集開始時からの経過時間を巻き戻すとともに、巻き戻された前記経過時間に対応する量だけ前記第1方向とは反対の第2方向に1つの前記オブジェクトを移動させ、削除位置を越えた1つの前記オブジェクトに対応する1つの前記オブジェクトデータ要素を前記記憶部から削除することを特徴とする。
また、本発明の別のコンピュータプログラムは、コンピュータのプロセッサにおいて実行されるコンピュータプログラムであって、コンピュータを、ユーザの操作を受け付ける入力部と、ゲーム実行時に表示画面に表示される複数のオブジェクトの各々に対応する複数のオブジェクトデータ要素を含んだオブジェクトデータを記憶する記憶部と、オブジェクトデータの編集開始時から前記入力部がユーザの操作を受け付けた操作時刻までの経過時間で示される基準時刻を含む1つのオブジェクトデータ要素を生成して前記記憶部に記憶するとともに、当該操作時刻で前記表示画面に表示させた1つのオブジェクトを前記基準位置から離れる第1方向に移動させる制御部として機能させ、前記制御部は、前記入力部に受け付けられたユーザの巻戻し指示に応じて、オブジェクトデータの編集開始時からの経過時間を巻き戻すとともに、巻き戻された前記経過時間に対応する量だけ前記第1方向とは反対の第2方向に1つの前記オブジェクトを移動させ、削除位置を越えた1つの前記オブジェクトに対応する1つの前記オブジェクトデータ要素を前記記憶部から削除することを特徴とする。
第1の実施形態
図1は、本発明の第1実施形態に係るゲームシステム1のブロック図である。ゲームシステム1は、ゲーム装置100とゲームサーバ200とネットワーク300とを備える。ゲーム装置100とゲームサーバ200とがネットワーク300を介して接続される。好適には、ゲーム装置100とネットワーク300とが無線にて接続され、ゲームサーバ200とネットワーク300とが有線にて接続される。ネットワーク300は、インターネット等の公衆ネットワークでもよいし、専用線により構成された専用ネットワークでもよいし、公衆ネットワーク上に構築された仮想的な専用ネットワーク(例えばVPN(Virtual Private Network))でもよい。
ゲーム装置100は、入力部10と表示装置20とCPU(Central Processing Unit)30(制御部40,評価部50)と記憶部60と音楽再生部70と通信部80とを備える。
入力部10はユーザの操作を受け付ける要素であり、例えば、ユーザが任意の箇所を操作可能なタッチスクリーンTSが採用され得る。表示装置20はゲーム実行中の画面およびオブジェクトデータ編集中の画面を表示させる要素であり、例えば、入力部10としても動作可能なタッチスクリーンTSが採用され得る。すなわち、ゲーム装置100において、入力部10および表示装置20が一体として構成されたタッチスクリーンTSが採用され得る。
記憶部60は、表示装置20に表示させる各オブジェクトObに対応するオブジェクトデータ要素DEの集合であるオブジェクトデータOD、ゲーム装置100を動作させるコンピュータプログラム、ゲーム実行中に再生される音楽データMD、およびその他必要なデータを記憶する要素であり、例えば、フラッシュメモリ、ハードディスクドライブ、RAM(Random Access Memory)、ROM(Read Only Memory)、またはそれらの組合せであってもよい。
制御部40は、ゲーム装置100の動作を制御する要素である。評価部50は、ゲーム実行中に、ユーザが入力部10に対して行った操作を評価する要素である。制御部40および評価部50の動作の詳細は後述される。制御部40および評価部50は、ゲーム装置100内のCPU30がコンピュータプログラムを実行することによって実現される機能ブロックである。コンピュータプログラムは、例えば、インターネット上のサーバからダウンロードされてゲーム装置100の記憶部60に記憶されてもよいし、コンピュータプログラムを記憶するパーソナルコンピュータからゲーム装置100の記憶部60に記憶されてもよい。また、情報記録媒体90に記憶されたコンピュータプログラムが、ゲーム装置100が備える不図示の読取装置によって読み取られて記憶部60に記憶されてもよい。情報記録媒体90は非一過性の記録媒体であると好適である。
音楽再生部70は、制御部40の制御に基づき、ゲーム実行中およびオブジェクトデータODの編集中に、記憶部60に記憶された音楽データMDを再生して音声を発生させる要素であり、例えば、音声処理プロセッサ、DA変換器、アンプ、およびスピーカが採用される。
通信部80は、ネットワーク300を介してゲームサーバ200と通信するための要素であり、例えば、送受信アンテナおよび送受信回路が採用される。通信部80による通信は、無線通信であると好適である。通信機能を有する通信部80を備えたゲーム装置100は、ゲームサーバ200のクライアントとして動作可能であり、ユーザが編集したオブジェクトデータODをゲームサーバ200にアップロードしたり、他のユーザが編集したオブジェクトデータODをゲーム装置100にダウンロードすることが可能である。
図2を参照して、本発明の音楽ゲームを実行中のゲーム装置100の動作を説明する。図2では、表示装置20(タッチスクリーンTS)にゲーム画面の一例が示されている。前述の通り、タッチスクリーンTSは入力部10としても機能する。
図2のゲーム画面には、ユーザに操作を指示する複数のオブジェクトObと、オブジェクトObに対してユーザが操作を実行すべき基準ラインSL(「基準位置」の一例)とが表示されている。各オブジェクトObおよび基準ラインSLは、制御部40の制御により表示装置20に表示される。以下、便宜的に、ゲーム画面の横軸方向(基準ラインSLが配置される方向)をX軸とし、ゲーム画面の縦軸方向(オブジェクトObが移動する方向)をY軸とする。制御部40は、ゲームの進行に従って、各オブジェクトObを矢印方向(下向きのY軸方向)、すなわち基準ラインSLに向けて移動させる。各オブジェクトObは、基準ラインSLを越えた後も同じ方向に移動を継続する。
なお、制御部40が、ゲーム内での経過時間が進行するに従って、各オブジェクトObを矢印方向(下向きのY軸方向)に向けて移動させてもよい。また、後述のように各オブジェクトObの移動速度V(単位時間当たりの移動量)が設定されている場合において、制御部40が、ゲーム内での経過時間(現在時刻t)に基づいて各オブジェクトObを表示させるべき座標を算出してもよい。
図2のゲーム画面において、画面上端がオブジェクト出現ラインELであり、画面下端がオブジェクト消滅ラインVLである。各オブジェクトObは、画面上端のオブジェクト出現ラインEL上に出現し、グリッドラインGLに沿って移動しつつ基準ラインSLを通過して、画面下端のオブジェクト消滅ラインVL上に到達して消滅する。
オブジェクト出現ラインEL、グリッドラインGL、およびオブジェクト消滅ラインVLは、好適にはゲーム画面上には表示されず、制御部40が各オブジェクトObを出現、移動、および消滅させる際に内部的に使用されるが、実際にゲーム画面に表示されてもよい。また、オブジェクト出現ラインELおよびオブジェクト消滅ラインVLは、好適にはゲーム画面外に配置されるが、ゲーム画面の一端またはゲーム画面内に配置されてもよい(本実施形態においては、説明の簡略化のため、ゲーム画面の一端にオブジェクト出現ラインELおよびオブジェクト消滅ラインVLが配置されるが、そのような形態に発明を限定する趣旨ではない)。ただし、各オブジェクトObが基準ラインSL上を通過すべきことを考慮し、オブジェクト出現ラインELとオブジェクト消滅ラインVLとの間に基準ラインSLが位置するように配置される。
制御部40は、ゲームの開始時に、そのゲームに対応するオブジェクトデータOD(詳細は後述される)に関連づけられた音楽データMDの再生を開始するように音楽再生部70を制御する。また、制御部40は、各オブジェクトデータ要素DEが有する基準時刻STにおいて基準ラインSLに到達するように各オブジェクトObを移動させる。例えば、各オブジェクトObについて、オブジェクトデータ要素DEが示す基準時刻STにおいて基準ラインSLに到達するように、オブジェクト出現ラインEL上に出現する時刻および画面上の移動速度V(例えば、単位時間当たりの移動ドット数)を設定する。好適には、移動速度Vは、ゲーム開始前にユーザによって指定される難易度設定に基づいて決定され得る。
評価部50は、入力部10を介して各オブジェクトObになされたユーザの操作を評価する。具体的には、評価部50は、(1)入力部10が基準ラインSL上でユーザの操作を受け付けた操作時刻およびオブジェクトObが基準ラインSLに到達する基準時刻ST、(2)ユーザの操作位置とオブジェクトObの操作位置OP(例えば、両操作位置の差分)、ならびに(3)ユーザの操作種別とオブジェクトObの操作種別OT(例えば、両操作種別が一致するか否か)とに基づいて、そのユーザの操作を評価する。好適には、操作位置OPおよび操作種別OTが一致している場合において、基準ラインSL上でのオブジェクトObに対するユーザの実際の操作時刻と、そのオブジェクトObの基準時刻STとの時間差が小さい程、そのユーザの操作をより高く評価する。基準時刻STはオブジェクトObが基準ラインSLを通過する時刻を示すので、オブジェクトObが基準ラインSLに到達する時刻(基準時刻ST)とユーザがオブジェクトObを操作した時刻(現在時刻t)とが一致したときに最も良い評価となる。なお、1回のゲームにおいて、評価部50が複数のオブジェクトObについてユーザの操作を評価し、各評価を累算してその1回のゲームの総評価とすると好適である。また、1回のゲームにおいて、ユーザによる操作がなされなかったオブジェクトObがあった場合、その1回のゲームの総評価から減点してもよい。
図3を参照して、以上の音楽ゲームを実現するためのデータ構造の一例を説明する。制御部40が表示する1つのオブジェクトObに1つのオブジェクトデータ要素DEが対応する。オブジェクトデータ要素DEは記憶部60に記憶され、制御部40および評価部50に読み出されて使用される。オブジェクトデータ要素DEには、ユーザが入力部10を操作すべき基準時刻ST、ユーザが操作すべきタッチスクリーンTS(入力部10兼表示装置20)上における基準ラインSL上の操作位置OP、およびユーザがなすべき操作の操作種別OTが含まれる。換言すると、各オブジェクトデータ要素DEは、1つの基準時刻STに、操作位置OPおよび操作種別OTが対応付けられた記憶単位である。
基準時刻STは、ゲームが開始した時刻からの経過時間にて示される。本実施形態では基準時刻STが1秒単位で示されるが、基準時刻STの最小単位は任意であり、例えば1ミリ秒単位で示されてもよい。操作位置OPは、タッチスクリーンTSに表示される基準ラインSL上の位置(X軸における位置)であり、例えばゲーム画面の一端(例えば、本明細書および図面では画面の左端)からのドット数で示される。操作種別OTは、ユーザがオブジェクトObに対してなすべき操作の種別のことであり、例えば、タッチスクリーンTS上の一点を瞬間的に触れる「タッチ型」、タッチ操作後に指を所定方向に滑らせる「スライド型」等が含まれる。スライド型には、上スライド型、下スライド型、左スライド型、右スライド型等が含まれ得る。
好適には、1つの音楽データMDに複数のオブジェクトデータ要素DEを含んだ1つのオブジェクトデータODが対応する。好適には、各オブジェクトデータ要素DEは、データサイズが一定の固定長レコードである。好適には、制御部40は、オブジェクトデータOD内に含まれる複数のオブジェクトデータ要素DEのいずれかを指し示すことが可能な変数(例えばポインタ)を用いて、任意のオブジェクトデータ要素DEにアクセスすることが可能である。オブジェクトデータOD内の各オブジェクトデータ要素DEは、基準時刻STが早い(基準時刻STの値が小さい)順に配置されると好ましい。
オブジェクトデータODの具体的なデータ構造を以下に例示する。オブジェクトデータODに含まれるオブジェクトデータ要素DEの個数をN(Nは自然数)とし、1つのオブジェクトデータ要素DEを指し示す変数をn(nは0からN−1までの自然数)とする。データ構造の一例として、1つのオブジェクトデータODがN行のカンマ区切りテキストで構成され得る。具体的には、n行目のカンマ区切りテキストがn番目のオブジェクトデータ要素DEを示し、各オブジェクトデータ要素DEに対応するデータが記憶部60において固定長のデータとして表わされる。
また、他のデータ構造の例として、1つのオブジェクトデータODが、N個の基準時刻STを含む配列、N個の操作位置OPを含む配列、およびN個の操作種別OTを含む配列を有し、同一のインデックスによりそれぞれ一意に特定される各配列内の要素の組合せ(例えば、n番目の基準時刻ST、n番目の操作位置OP、およびn番目の操作種別OT)によってn番目のオブジェクトデータ要素DEが表される構成が採用され得る。
すなわち、1つのオブジェクトデータ要素DEは、ユーザの操作の対象である1つのオブジェクトObに関するデータ要素であって、少なくとも基準時刻STを含むデータ要素である。オブジェクトデータODは、1以上の(好適には、10以上の)オブジェクトデータ要素DEを含む。あるオブジェクトデータ要素DEが基準時刻ST以外の情報(操作位置OP等)を含む場合、その情報はその基準時刻STと関連づけられる。オブジェクトデータ要素DEは、物理的に一連として構成されたデータレコードであってもよく、物理的に分散して記憶部60に記憶された複数のデータ要素がポインタ等によって関連づけられたデータであってもよい。
以上に説明したオブジェクトデータODのデータ構造に基づいて、制御部40によるゲーム画面の表示制御をより詳細に説明する。前述の通り、タッチスクリーンTS(表示装置20)に表示されるゲーム画面には、オブジェクト出現ラインELからオブジェクト消滅ラインVLに向かって移動速度Vにて移動するオブジェクトObが表示される。オブジェクトObは対応するオブジェクトデータ要素DEの示す基準時刻STにて基準ラインSLに到達する。
オブジェクトObがオブジェクト出現ラインELから基準ラインSLまで移動する所要時間をbとし、基準ラインSLからオブジェクト消滅ラインVLまで移動する所要時間をaとする。この場合、現在時刻tにてオブジェクト出現ラインELに出現すべきオブジェクトObは、未来時刻(t+b)にて基準ラインSLを通過する。また、現在時刻tにてオブジェクト消滅ラインVLで消滅すべきオブジェクトObは、過去時刻(t−a)にて基準ラインSLを通過する。したがって、ある現在時刻tにおいて表示画面に表示すべきオブジェクトObは、過去時刻(t−a)から未来時刻(t+b)までの範囲に含まれる基準時刻STを有するオブジェクトObであると理解できる。
そこで、制御部40は、ゲーム中の経過時間(現在時刻t)の進行に従って、現在時刻tに所定時間xを加えた未来時刻(t+x)に対応する基準時刻STを有するオブジェクトデータ要素DEを記憶部60から逐次に読み出す。そして、読み出されたオブジェクトデータ要素DEが示す基準時刻STと、事前に設定された移動速度Vとから、制御部40が、オブジェクトObをオブジェクト出現ラインELに出現させるべき出現時刻を決定する。そして、制御部40は、決定された出現時刻に従ってオブジェクトObをオブジェクト出現ラインEL上に出現させ、出現させたオブジェクトObを移動速度Vで基準ラインSLに向けて移動させる。
なお、前述のように、制御部40は、未来時刻(t+b)よりも現在時刻tに近い基準時刻STを有するオブジェクトデータ要素DEに対応するオブジェクトObを表示装置に表示すべきである。また、時間bは、(オブジェクト出現ラインELから基準ラインSLまでの距離l)÷(移動速度V)で示される。したがって、制御部40が、未来時刻(t+b)より先の時刻に対応するオブジェクトデータ要素DEを読み出す(すなわち、先読みする)ように、所定時間xがbよりも大きく設定される(x>b(=l÷V))と好適である。
図3の例では、現在時刻tはゲーム開始時から7.0秒を経過した時刻である。過去時刻(t−a)から未来時刻(t+b)までの範囲には、3つのオブジェクトデータ要素DE(DE1,DE2,DE3。基準時刻STがそれぞれ7.0秒、8.0秒、9.0秒)が含まれる。そこで、制御部40は、それら3つのオブジェクトデータ要素DE(DE1,DE2,DE3)に対応する3つのオブジェクトOb(Ob1,Ob2,Ob3)の表示位置を決定し、決定された表示位置に基づいて各オブジェクトObを表示画面に表示させる(図2)。
以上のようにして本発明の音楽ゲームが実行される。
図4および図5を参照して、本発明の音楽ゲームにて使用されるオブジェクトデータODの編集(各オブジェクトデータ要素DEの生成)について説明する。図4には、オブジェクトデータ編集画面の一例が示されている。オブジェクトデータ編集画面においては、ゲーム実行画面と異なり、画面中に編集エリアEAおよび制御エリアCAが設けられるとともに、制御部40がカウントする現在時刻tに対応した基準ラインSLが画面のより中央寄りに(換言すると、過去時間に対応する領域がより広くなるように)配置される。制御エリアCAには、現在時刻t(オブジェクトデータODの編集開始時からの経過時間)と、オブジェクトデータ編集を一時停止する一時停止ボタンPAとが表示される。
図4のオブジェクトデータ編集中の画面においては、画面上端がオブジェクト消滅ラインVLである。制御部40は、入力部10にユーザの操作が受け付けられると、そのユーザの操作に対応するオブジェクトデータ要素DE(DE1,DE2,DE3)を生成して記憶部60に記憶するとともに、生成されたオブジェクトデータ要素DE(DE1,DE2,DE3)に対応するオブジェクトOb(Ob1,Ob2,Ob3)を基準ラインSL上に出現させ、基準ラインSLから離れる方向(図4の例では、上向きのY軸方向)に移動させる。オブジェクトOb(Ob1,Ob2,Ob3)は、グリッドラインGLに沿って移動し、画面上端のオブジェクト消滅ラインVLに到達して消滅する。消滅したオブジェクトOb(Ob1,Ob2,Ob3)に対応するオブジェクトデータ要素DE(DE1,DE2,DE3)は記憶部60に記憶されたままである。
前述したゲーム画面と同様、グリッドラインGLおよびオブジェクト消滅ラインVLは、好適にはオブジェクトデータ編集画面上には表示されないが、実際に表示されてもよい。オブジェクト消滅ラインVLは、画面(編集エリアEA)の一端ではなく編集エリアEA外または編集エリアEA内に配置されてもよい。ただし、各オブジェクトObが基準ラインSLを起点としてオブジェクト消滅ラインVLに到達すべきことを考慮し、基準ラインSLに対してオブジェクトObの進行方向側にオブジェクト消滅ラインVLが配置される。
図5のフローチャートを参照して、オブジェクトデータODの編集(各オブジェクトデータ要素DEの生成)動作をより詳細に説明する。
制御部40は、入力部10へのユーザの操作(編集開始指示)に基づいてオブジェクトデータODの編集を開始する。制御部40は、オブジェクトデータODの編集開始時に、記憶部60内の音楽データMDのうちユーザに選択された音楽データMDの再生を開始するよう音楽再生部70を制御する。オブジェクトデータODの編集は、所定期間(好適には、選択された音楽データMDの再生時間と等しい期間)にわたって行われる。なお、所定期間ではなく、オブジェクトデータODの編集が任意の期間(例えば、音楽データMDの再生時間より短い期間)にわたって行われてもよい。例えば、音楽データMDの再生の途中でユーザがオブジェクトデータODの編集を中止した場合であって、所定数(例えば、10個)以上のオブジェクトデータ要素DEが記録されている場合には、その編集が実行された期間にわたるオブジェクトデータODが記憶部60に保存されてもよい。
オブジェクトデータODの編集開始後、制御部40は、入力部10にユーザの操作が検出されたか否かの判定を実行する(S10)。
操作が検出された場合(S10:YES)、制御部40は、オブジェクトデータODの編集開始時から入力部10がそのユーザの操作を受け付けた操作時刻までの経過時間で示される基準時刻ST、そのユーザの操作の操作位置OP、およびそのユーザの操作の操作種別OTを判別し(S20)、判別された基準時刻STと操作位置OPと操作種別OTとを対応付けたオブジェクトデータ要素DEを生成し、そのオブジェクトデータ要素DEに対応するオブジェクトObを表示画面(編集エリアEA)に表示して(S30)、ステップS40に進む。他方、操作が検出されなかった場合(S10:NO)、制御部40は、ステップS20、S30を実行しないでステップS40に進む。
ステップS40で、制御部40は、編集開始時から所定期間が経過したか否かの判定を実行する。所定期間が経過した場合(S40:YES)、制御部40は編集動作を終了し、選択された音楽データMDの再生中に編集されたオブジェクトデータOD(生成された各オブジェクトデータ要素DE)をその音楽データMDと関連づけて記憶部60に記憶する。他方、所定期間が経過していない場合(S40:NO)、制御部40は操作検出の判定(S10)に戻る。
以上の編集動作のステップS20において、制御部40は、ユーザの操作位置OPとしてX軸方向の座標(X座標)のみを記憶部60に記憶すれば十分である。すなわち、オブジェクトデータ編集中において、ユーザは必ずしも基準ラインSL自体を操作(タッチ等)する必要はなく、基準ラインSL以外の箇所を操作した場合であっても、制御部40はその操作でのX座標のみに基づいて(すなわち、その操作でのY座標とは関係無しに)オブジェクトデータ要素DEを生成し得る。以上の構成によれば、ユーザによるオブジェクトデータOD(オブジェクトデータ要素DE)の生成がより容易になる。
より好適には、制御部40は、実際に操作された入力部10のX座標を、その座標に最も近いグリッドラインGLのX座標に変換して記憶部60に記憶してもよい。以上の構成により生成されたオブジェクトデータ要素DEによれば、ゲーム実行中において、オブジェクトObがいずれかのグリッドラインGL上のみに表示されることとなる。
図4の例では、制御部40によりカウントされる現在時刻tはオブジェクトデータODの編集開始時から9.0秒を経過した時刻である。7.0秒経過の時刻、8.0秒経過の時刻、および9.0秒経過の時刻にて行われたユーザの操作により、制御部40が、各操作時刻に対応する3つのオブジェクトデータ要素DE(DE1,DE2,DE3)を生成した。各オブジェクトデータ要素DE(DE1,DE2,DE3)には、各操作時刻の操作に対応する操作位置および操作種別が含まれる。
以上の構成によれば、ユーザが選択した任意の音楽データMDに対応するオブジェクトデータODが編集され得る。また、オブジェクトデータ編集開始時(音楽データ再生開始時)からの経過時間に応じて制御部40がオブジェクトデータ要素DEを生成するので、リアルタイムなオブジェクトデータ編集が実現され、編集されるオブジェクトデータODにより実現されるゲーム動作がオブジェクトデータ編集中のユーザに想像され易い。さらに、実際のゲーム動作に準じた操作(音楽データの再生に合わせた入力操作)によって制御部40がオブジェクトデータODを編集(各オブジェクトデータ要素DEを生成)するので、ゲームのデータを編集するという準備作業であるにも関わらずユーザに対する興趣性が高くなり得る。
第2の実施形態
第1実施形態では、オブジェクトデータ要素DEの修正手段がないため、オブジェクトデータODの編集が開始されると、その編集終了(音楽データ再生終了)までは間違って生成したオブジェクトデータ要素DEを修正することが不可能である。第2実施形態では、オブジェクトデータODの編集中であっても、オブジェクトデータ編集開始時からの経過時間を巻き戻してオブジェクトデータ要素DEを削除可能とする。
以下に例示する各実施形態において、作用や機能が第1実施形態と同等である要素については、以上の説明で参照した符号を流用して各々の説明を適宜に省略する場合がある。
図6ないし図9を参照して、オブジェクトデータ要素DEの削除を可能としたオブジェクトデータODの編集動作について説明する。
本実施形態のオブジェクトデータ編集画面では、第1実施形態の構成に加え、オブジェクトデータODの編集開始時からの経過時間を巻き戻す巻戻しボタンRWがタッチスクリーンTS中の制御エリアCAに表示される。ユーザがタッチスクリーンTS(入力部10)の巻戻しボタンRWを押下することで、巻戻し指示が制御部40に入力される。
また、各画面(編集エリアEA)の下端に、第2実施形態にて新たに設けられたオブジェクトデータ削除ラインDLが位置する。なお、オブジェクトデータ削除ラインDLは、編集エリアEAの一端ではなく編集エリアEA外または編集エリアEA内に配置されてもよい。ただし、後述するように、各オブジェクトObがオブジェクトデータ削除ラインDLを越えるとそのオブジェクトObに対応するオブジェクトデータ要素DEが削除されるため、基準ラインSLに対してオブジェクトObの進行方向とは逆側にオブジェクトデータ削除ラインDLが配置される。換言すると、オブジェクト消滅ラインVLとオブジェクトデータ削除ラインDLとの間に基準ラインSLが位置するように各ラインが配置される。なお、オブジェクトデータ削除ラインDLが基準ラインSLに重ねて配置されてもよい。
図6は、第1実施形態の図4に相当するオブジェクトデータ編集画面であり、既に少なくとも3つのオブジェクトデータ要素DE(DE1,DE2,DE3。基準時刻STがそれぞれ7.0秒、8.0秒、9.0秒)が制御部40により生成された状態にある。図6の現在時刻tは9.0秒である。第1実施形態と同様、既に生成されたオブジェクトデータ要素DE(DE1,DE2,DE3)に対応するオブジェクトOb(Ob1,Ob2,Ob3)は、制御部40によって基準ラインSLから離れる方向(上向きのY軸方向)に向けて移動させられる。
図7は、図6の状態の後に、ユーザが巻戻しボタンRWを押下した状態のオブジェクトデータ編集画面である。ユーザが巻戻しボタンRWを押下している間(すなわち、ユーザの巻戻し指示が入力部10に受け付けられている間)、制御部40は、現在時刻t(オブジェクトデータODの編集開始時からの経過時間)を巻き戻し続ける(遡らせ続ける)とともに、オブジェクトデータ編集中の移動方向とは逆方向(下向きのY軸方向)にオブジェクトOb(Ob1,Ob2,Ob3)を移動させ続ける。巻戻し指示がされている間、再生中の音楽データMDを逆再生するように制御部40が音楽再生部70を制御すると好適である。図6では、巻戻し指示の結果、現在時刻t(経過時間)が7.0秒まで巻き戻って(遡って)いる。
なお、各オブジェクトObの移動量は、巻き戻される経過時間に対応する量である。図7では、現在時刻tが7.0秒まで巻き戻された結果、例えば、オブジェクトデータ編集開始から7.0秒が経過した時刻で生成されたオブジェクトデータ要素DE1に対応するオブジェクトOb1が基準ラインSL上に戻ってきている。
図8は、図7の状態の後、ユーザがさらに巻戻しボタンRWを押下し続けた状態のオブジェクトデータ編集画面である。ユーザが巻戻し指示を継続した結果、制御部40が現在時刻tを6.0秒まで巻き戻し、経過時間9.0秒において生成されたオブジェクトOb3がオブジェクトデータ削除ラインDLを越えている。したがって、制御部40は、そのオブジェクトOb3に対応する経過時間9.0秒のオブジェクトデータ要素DE3を記憶部60から削除する。
図9は、図8の状態の後、ユーザが巻戻しボタンRWの押下を停止した状態のオブジェクトデータ編集画面である。ユーザが巻戻しボタンRWの押下を停止すると、現在時刻tが、再度将来に向けて進行する(時刻のカウントが再開され、音楽データMDの再生が再開されるとともに、オブジェクトデータ要素DEの生成が可能となる)。制御部40は、既に表示されているオブジェクトOb(Ob1,Ob2)をオブジェクトデータ要素DEの生成中の移動方向(上向きのY軸方向)に向けて再度移動させる。削除されたオブジェクトデータ要素DE3に対応するオブジェクトOb3がもはや表示されないことは当然に理解される。巻戻しを終了した時刻(図6〜図9の例では、9.0秒)からオブジェクトデータODの編集(各オブジェクトデータ要素DEの生成)が可能となると好適である。
以上の構成によれば、間違った(ユーザの意図しない)オブジェクトデータODを編集(各オブジェクトデータ要素DEを生成)してしまった場合であっても、経過時間を巻き戻すことにより間違ったオブジェクトデータ要素DEを削除可能なので、オブジェクトデータODの編集開始当初からもう一度オブジェクトデータODを編集せずとも正しい(ユーザが意図する)オブジェクトデータ要素DEを生成することが可能となる。また、経過時間を巻き戻すことでオブジェクトデータ要素DEが削除されるので、オブジェクトOb(オブジェクトデータ要素DE)を個別に指定して削除する構成よりも操作が簡易となり得る。また、基準ラインSLとオブジェクトデータ削除ラインDLとが別個に設けられるので、現在時刻t以前のオブジェクトデータ要素DEに対応するオブジェクトObが編集画面に表示される。したがって、基準ラインSLを越えた時刻でオブジェクトObに対応するオブジェクトデータ要素DEが削除される構成と比較して、オブジェクトデータ編集再開までの準備期間を確保できるので、既に生成されたオブジェクトデータ要素DEと連続性を保ったオブジェクトデータ要素DEを生成することが容易となり得る。
第3の実施形態
従来技術および以上の実施形態では、各オブジェクトObはゲーム実行中の操作としてユーザに対して単一の基準時刻ST、操作位置OP、および操作種別OTのみを要求する。そのようなオブジェクトObのみを用いた音楽ゲームは、ユーザにとって単調であり興趣性が十分でない可能性がある。
他方、近年、スマートフォン等のタッチスクリーン型入力装置を備える端末装置が普及している。以上の端末装置では、長押し操作(すなわち、入力装置上の任意の箇所を選択して押し続ける操作、および、ある箇所を押下した後、押下を継続しつつ押下位置を移動(スライド)させる操作)が容易である。
以上の事情に鑑み、本発明の第3実施形態では、タッチスクリーンを備える装置に適用可能な新規な操作を導入したゲームが提供される。
図10を参照して、本発明の第3実施形態の音楽ゲームを実行中のゲーム装置100の動作を説明する。図10では、図2と同様に表示装置20(タッチスクリーンTS)にゲーム画面の一例が示されている。
図10のゲーム画面には、ユーザに長押し操作を指示する長押しオブジェクトLObと、前述の実施形態においても指示された通常の操作(すなわち、単一の基準時刻ST、操作位置OP、および操作種別OTで要求される操作)を指示するオブジェクトOb(以下、長押しオブジェクトLObと区別するため、通常オブジェクトNObと称する場合がある)と、ゲーム実行中の現在時刻tに対応する基準ラインSLとが表示されている。長押しオブジェクトLObは、ゲーム実行中に、ユーザに長押し操作(入力部10への押下操作の継続を意味し、押下の継続中に操作位置を移動させるか否かを問わない)を指示するために表示される。図2と同様に、制御部40は、長押しオブジェクトLObおよび通常オブジェクトNObを矢印方向(下向きのY軸方向)、すなわち基準ラインSLに向けて移動させる。
本実施形態で提示される長押しオブジェクトLObは、複数の部分オブジェクトを相互に接続した構成である。オブジェクトデータODの具体的なデータ構造を図10に示す。本実施形態では、各オブジェクトデータ要素DEが追加情報ADをさらに含む。
長押しオブジェクトLObに対応する複数のオブジェクトデータ要素DEの群(例えば、図10中の、経過時間11.0秒から15.0秒までのオブジェクトデータ要素DE)が長押しオブジェクトデータ要素群LPGである。制御部40が表示する1つの長押しオブジェクトLObに対し1つの長押しオブジェクトデータ要素群LPGが対応し、長押しオブジェクトLObに含まれる1つの部分オブジェクトに対し長押しオブジェクトデータ要素群LPG内の1つのオブジェクトデータ要素DE(以下、部分オブジェクトデータ要素PDEと称する場合がある)が対応する。各部分オブジェクトデータ要素PDEは、操作種別OTとして「長押し型(L;Long type)」を有する。1つの長押しオブジェクトデータ要素群LPGに対応する複数の部分オブジェクトデータ要素PDEはオブジェクトデータOD内において(物理的にまたは論理的に)一連に記憶される。長押しオブジェクトLObの始点に相当する部分オブジェクトデータ要素PDEの追加情報ADには「長押し型の始点(Ls;Long type starting point)」を示す情報が記憶され、終点に相当する部分オブジェクトデータ要素PDEの追加情報ADには「長押し型の終点(Le;Long type ending point)」を示す情報が記憶される。
すなわち、長押しオブジェクトLObは、その長押しオブジェクトLObに対応する長押しオブジェクトデータ要素群LPGに含まれる複数の部分オブジェクトデータ要素PDEが示す基準時刻STおよび操作位置OPを連結した構成である。
ゲーム実行中において、長押しオブジェクトLObは、制御部40の制御に基づき、画面上端のオブジェクト出現ラインEL上に、その始点から順次に出現し、各部分オブジェクト(各部分オブジェクトデータ要素PDE)が示す基準時刻STにて基準ラインSLを順次に横切り、画面下端のオブジェクト消滅ラインVL上に、その始点から順次に到達して順次に消滅する。本実施形態において、「順次に」とは「部分オブジェクト毎に」を含む概念である。なお、前述の実施形態と同様に、オブジェクト出現ラインELおよびオブジェクト消滅ラインVLがゲーム画面内に配置されてもよく、ゲーム画面外に配置されるとより好適である。
評価部50は、長押しオブジェクトLObに対するユーザの操作、すなわち各部分オブジェクトに対するユーザの操作を評価する。各部分オブジェクトについての操作の評価は、前述の実施形態と同様に実行される。例えば、1つの部分オブジェクトの評価について見ると、評価部50は、その部分オブジェクトに対応する部分オブジェクトデータ要素PDEが示す基準時刻STおよび操作位置OPにおいてユーザの長押し操作(タッチスクリーンTSの押下を継続する動作)がされているか否かを判定し、部分オブジェクトデータ要素PDEが示す基準時刻STにより近い時刻および操作位置OPにより近い位置で長押し操作がされる程高い評価がなされる。なお、評価部50が、1つの長押しオブジェクトLObに含まれる複数の部分オブジェクトに対する各操作の評価を累算して、その長押しオブジェクトLObに対する操作の評価とすると好適である。
以上の構成によれば、入力部10への操作を継続すべきことをユーザに示す長押しオブジェクトLObを用いたゲームが実現される。ユーザは、長押しオブジェクトLObに対して、入力部10(タッチスクリーンTS)を継続して押下することを求められるから、通常オブジェクトNObのみを用いたゲームと比較して、要求される操作が多様となる。したがって、ユーザに対する興趣性が向上し得る。
なお、以上に説明した第3実施形態は、第1実施形態および第2実施形態とは独立した構成としても実現され得る。すなわち、第1実施形態または第2実施形態のようなオブジェクトデータODを動的に編集する機能を有さないゲーム装置において、長押しオブジェクトデータ要素群LPGを含むオブジェクトデータODが提供され得、第3実施形態の長押しオブジェクトLObを用いたゲームが実行され得る。
第4の実施形態
第3実施形態では、長押しオブジェクトLObを用いた音楽ゲームが実現される。本実施形態では、第3実施形態の音楽ゲームで使用されるオブジェクトデータODがユーザによって編集される。
図11ないし図16を参照して、音楽ゲームにて使用される長押しオブジェクトLObに対応する長押しオブジェクトデータ要素群LPGの生成について説明する。
以下の詳細な説明に先立って概説すると、長押し基準時間よりも長く継続するユーザの操作を入力部10が受け付けた場合、制御部40は、そのユーザの操作の継続期間内に生成された、そのユーザの操作に対応する複数のオブジェクトデータ要素DE(部分オブジェクトデータ要素PDE)を、長押しオブジェクトデータ要素群LPGとして関連づけて記憶部60に記憶する。また、制御部40は、生成された長押しオブジェクトデータ要素群LPGに対応する長押しオブジェクトLObを、その長押しオブジェクトデータ要素群LPG内の部分オブジェクトデータ要素PDEが示す各基準時刻STおよび各操作位置OPに応じて表示画面に表示させ、基準ラインSLから離れる方向へと移動させる。
図11および図12のフローチャートを参照して、オブジェクトデータODの編集(各オブジェクトデータ要素DEの生成)動作を説明する。
図11に示すように、入力部10へのユーザの操作(編集開始指示)に基づいてオブジェクトデータODの編集が開始する。編集開始時に、ユーザに選択された音楽データMDの再生が開始するように制御されることは、以上の実施形態と同様である。
オブジェクトデータODの編集開始後、制御部40は、制御部40は、入力部10にユーザの操作が検出されたか否かの判定を実行する(S110)。操作が検出された場合(S110:YES)、制御部40は検出オブジェクトを生成し(S120)、ステップS130に進む。他方、操作が検出されない場合(S110:NO)、制御部40は、ステップS120を実行しないでステップS130に進む。ステップS130で、制御部40は、編集開始時から所定期間が経過したか否かの判定を実行する。所定期間が経過した場合(S130:YES)、制御部40は編集動作を終了する(詳細は後述される)。他方、所定期間が経過していない場合(S130:NO)、制御部40は操作検出の判定(S110)に戻る。
ユーザの操作に対応してステップS120で制御部40により生成された検出オブジェクトは、オブジェクトデータ要素DEを生成する制御部40内の要素(すなわち、制御部40の一部分)である。検出オブジェクトは、表示画面に表示されるものではなく、ゲーム装置100内のCPU30がコンピュータプログラムを実行することによって実現される機能ブロックである。
図12は、検出オブジェクトの検出動作を示すフローチャートである。検出オブジェクトは、検出オブジェクト自身に対応するユーザの操作の操作時刻、操作位置OP、および操作種別OTを判別する(S121)。判別された操作種別OTが「長押し型」でない場合(例えば、操作種別OTが「タッチ型」または「スライド型」である場合)(S122:NO)、検出オブジェクトは、以上の実施形態の制御部40と同様、判別された操作時刻(基準時刻ST)と操作位置OPと操作種別OTとを対応付けたオブジェクトデータ要素DEを生成する(S126)。
他方、判別された操作種別OTが「長押し型」である場合(すなわち、長押し基準時間よりも長く継続する操作を入力部10が受け付けた場合)(S122:YES)、検出オブジェクトは、記憶部60内に長押しオブジェクトLOb(長押しオブジェクトデータ要素群LPG)のための一時記憶領域TAを確保する。そして、ステップS121の操作判別時の操作時刻(基準時刻ST)および操作位置OPを含み、操作種別OTが「参照型(REF)」であり、その一時記憶領域TAを指し示す参照情報(例えば、確保された一時記憶領域TAの先頭アドレス)を追加情報ADとして含むオブジェクトデータ要素DE(参照オブジェクトデータ要素RDE)を生成する(S123)。
入力部10に対して長押し操作が継続されていると判定すると(S124:YES)、検出オブジェクトは被参照オブジェクトデータ要素DERを生成して一時記憶領域TAに記憶し(S125)、再度長押し操作の継続判定に戻る(S124)。すなわち、検出オブジェクトは、長押し操作の継続期間内に生成された、その長押し操作に対応する複数の被参照オブジェクトデータ要素DERを一時記憶領域TA内に記憶する。
なお、被参照オブジェクトデータ要素DERは、参照オブジェクト内の参照情報にて指し示されるオブジェクトデータODであり、ステップS124の判定時における操作時刻および操作位置OPを含む。また、被参照オブジェクトデータ要素DERは、前述の説明における部分オブジェクトデータ要素PDEに相当するものであって、1つの一時記憶領域TA内に記憶された複数の被参照オブジェクトデータ要素DERは、長押しオブジェクトデータ要素群LPGとして1つの長押しオブジェクトLObを構成する。
長押し操作が継続されていないと判定すると(S124:NO)、検出オブジェクトは検出動作を終了して消滅する。
検出オブジェクトは、1つの時刻において制御部40内に複数存在することが可能である。したがって、制御部40は、複数の長押しオブジェクトデータ要素群LPGを並行して生成し得るとともに、長押しオブジェクトデータ要素群LPGの生成中に他のオブジェクトデータ要素DEを生成し得る。
図11のフローチャートにおける、所定期間が経過したときの動作を説明する。所定期間が経過した場合(S130:YES)、制御部40は編集動作を終了し、一時記憶領域TA内の複数の被参照オブジェクトデータ要素DERを一連の長押しオブジェクトデータ要素群LPGとしてまとめ、オブジェクトデータODに統合して記憶部60に記憶する(詳細は後述される)。
なお、前述した実施形態と同様に、オブジェクトデータODの編集が任意の期間(例えば、音楽データMDの再生時間より短い期間)にわたって行われてもよい。
図13ないし図16は、図11および図12のフローチャートで示された編集動作の実行時におけるオブジェクトデータ編集画面およびオブジェクトデータODの一例を示す図である。図13ないし図16において、基準ラインSLおよびオブジェクト消滅ラインVL等の配置は前述の実施形態と同様である。
図13は、制御部40が入力部10への長押し操作を検出した際の編集画面およびオブジェクトデータODを示す。制御部40によりカウントされる、図13の現在時刻tは、オブジェクトデータODの編集開始時から11.0秒を経過した時刻である。長押し操作の検出に基づき、検出オブジェクトが一時記憶領域TAを確保する。また、検出オブジェクトが、基準時刻STが現在時刻tであり、操作位置OP(基準ラインSLのX軸上の位置)が20であり、操作種別OTが「参照型」であり、追加情報ADとして確保された一時記憶領域TAを指し示す参照情報(先頭アドレス)を有する参照オブジェクトデータ要素RDEを生成して記憶部60(オブジェクトデータOD)に記憶する。一時記憶領域TAには、参照オブジェクトデータ要素RDEと基準時刻STおよび操作位置OPが同じ被参照オブジェクトデータ要素DER1が記憶される。制御部40は、一時記憶領域TAに記憶された1つの被参照オブジェクトデータ要素DER1に対応するオブジェクトObを編集画面(編集エリアEA)に表示させる。
図14は、制御部40が長押し操作の継続を検出した際の編集画面およびオブジェクトデータODを示す。図14の現在時刻tはオブジェクトデータODの編集開始時から12.0秒を経過した時刻である。長押し操作が継続されているとの判定に基づき、検出オブジェクトが、一時記憶領域TA内に被参照オブジェクトデータ要素DER2(基準時刻ST=12.0秒、操作位置OP=20)を記憶する。制御部40が、一時記憶領域TAに記憶された2つの被参照オブジェクトデータ要素DER(DER1,DER2)が示す2つの点を繋いだ線分に対応する長押しオブジェクトLObを編集画面(編集エリアEA)に表示させる。
図15は、制御部40が、長押し操作の継続を検出するとともに、新たなタッチ操作を検出した際の編集画面およびオブジェクトデータODを示す。図15の現在時刻tはオブジェクトデータODの編集開始時から13.0秒を経過した時刻である。長押し操作が継続されているとの判定に基づき、検出オブジェクトが、一時記憶領域TA内に被参照オブジェクトデータ要素DER3(基準時刻ST=13.0秒、操作位置OP=10)を記憶する。また、操作種別OTが「タッチ」であるユーザの操作の判別に基づき、その操作により生成された別の検出オブジェクトが、オブジェクトデータ要素DE(基準時刻ST=13.0秒、操作位置OP=40、操作種別OT=タッチ型)を生成して記憶部60に記憶する。制御部40が、一時記憶領域TAに記憶された3つの被参照オブジェクトデータ要素DER(DER1〜DER3)の基準時刻STおよび操作位置OPが示す3つの点を基準時刻STの順に繋いだ線分に対応する長押しオブジェクトLObと、記憶部60(オブジェクトデータOD)に記憶されたオブジェクトデータ要素DEに対応する通常オブジェクトNObとを編集画面(編集エリアEA)に表示させる。
図16は、図14と同様、制御部40が長押し操作の継続を検出した際の編集画面およびオブジェクトデータODを示す。図16の現在時刻tはオブジェクトデータODの編集開始時から15.0秒を経過した時刻である。なお、図示しない14.0秒経過時刻においても入力部10への長押し動作が継続されている。検出オブジェクトは、一時記憶領域TA内に被参照オブジェクトデータ要素DER5(基準時刻ST=15.0秒、操作位置OP=30)を記憶する。前述と同様に、制御部40が長押しオブジェクトLObと通常オブジェクトNObとを編集画面(編集エリアEA)に表示させる。制御部40は、長押しオブジェクトLObのうちオブジェクト消滅ラインVLを越えた部分を編集エリアEAに表示しないように表示装置20を制御する。
前述の通り、制御部40は、オブジェクトデータ編集のための所定期間が経過すると編集動作を終了する。そして、記憶部60(オブジェクトデータOD)に記憶されたオブジェクトデータ要素DEの全件を走査する。制御部40は、操作種別OTが「参照型(REF)」である参照オブジェクトデータ要素RDEを発見すると、その参照オブジェクトデータ要素RDEの参照情報が指し示す一時記憶領域TAに記憶された複数の被参照オブジェクトデータ要素DERを読み出す。制御部40は、各被参照オブジェクトデータ要素DERの操作種別OTに「長押し型(L)」を設定し、長押しオブジェクトLObの始点に相当する(すなわち、基準時刻STの値が最も小さい)被参照オブジェクトデータ要素DERの追加情報ADに「長押し型の始点(Ls)」を示す情報を設定し、長押しオブジェクトLObの終点に相当する(すなわち、基準時刻STの値が最も大きい)被参照オブジェクトデータ要素DERの追加情報ADに「長押し型の終点(Ls)」を示す情報を設定した上で、その参照オブジェクトデータ要素RDEが存在する位置に、一連の被参照オブジェクトデータ要素DERを長押しオブジェクトデータ要素群LPGとして挿入する。制御部40は、以上の動作を参照オブジェクトデータ要素RDEの全てについて実行する。
本実施形態の例では、基準時刻STが11.0秒である参照オブジェクトデータ要素RDEがオブジェクトデータOD内に存在する。制御部40は、走査によって参照オブジェクトデータ要素RDEを発見し、それに対応する5つの被参照オブジェクトデータ要素DER(DER1〜DER5。基準時刻STが11.0秒〜15.0秒)を読み出す。制御部40は、各被参照オブジェクトデータ要素DERの操作種別OTに「長押し型」を、基準時刻STが11.0秒である被参照オブジェクトデータ要素DERの追加情報ADに「長押し型の始点」を示す情報を、基準時刻STが15.0秒である被参照オブジェクトデータ要素DERの追加情報ADに「長押し型の終点」を示す情報をそれぞれ設定し、基準時刻STが11.0秒である参照オブジェクトデータ要素RDEが存在する位置に、以上の設定後の5つの被参照オブジェクトデータ要素DERを長押しオブジェクトデータ要素群LPGとして挿入する。結果として、図10で示された長押しオブジェクトデータ要素群LPGを含むオブジェクトデータODが制御部40によって編集され記憶部60に記憶される。
なお、長押しオブジェクトデータ要素群LPGを参照オブジェクトデータ要素RDEが存在する位置に挿入する上述の構成の他に、長押しオブジェクトデータ要素群LPGをオブジェクトデータODの末尾に記憶して、参照オブジェクトデータ要素RDEの参照情報がその長押しオブジェクトデータ要素群LPGを指し示す構成も採用され得る。
以上のオブジェクトデータ編集において、第2実施形態と同様のオブジェクトデータ要素DEの動的な削除が実現されると好適である。図17および図18に、長押しオブジェクトLOb(長押しオブジェクトデータ要素群LPG)の動的な削除の態様を示す。図17および図18で例示される長押しオブジェクトLOb(長押しオブジェクトデータ要素群LPG)は、図11ないし図16を参照して前述された長押しオブジェクトLObと同じ構成である。第2実施形態と同様、オブジェクトデータODの編集開始時からの経過時間を巻き戻す巻戻しボタンRWがタッチスクリーンTS中の制御エリアCAに表示される。ユーザがタッチスクリーンTS(入力部10)の巻戻しボタンRWを押下することで、巻戻し指示が制御部40に入力される。また、第2実施形態と同様、各画面の下端がオブジェクトデータ削除ラインDLである。オブジェクトデータ削除ラインDLは、画面(編集エリアEA)の一端ではなく編集エリアEA外または編集エリアEA内に配置されてもよい。
図17では、ユーザの巻戻し指示に応じて移動された長押しオブジェクトLObの一部がオブジェクトデータ削除ラインDLを越えている。制御部40は、オブジェクトデータ削除ラインDLを越えた長押しオブジェクトLObの部分に対応する被参照オブジェクトデータ要素DER(DER4,DER5。基準時刻ST=14.0秒および基準時刻ST=15.0秒)を削除する。
他方、図18では、ユーザの巻戻し指示に応じて移動された長押しオブジェクトLOb全体がオブジェクトデータ削除ラインDLを越えている。制御部40は、オブジェクトデータ削除ラインDLを越えた長押しオブジェクトLObに対応する参照オブジェクトデータ要素RDE(基準時刻ST=11.0秒)を削除する。長押しオブジェクトLOb全体がオブジェクトデータ削除ラインDLを越えたか否かは、長押しオブジェクトLObの始点(すなわち、その長押しオブジェクトLObに対応する参照オブジェクトデータ要素RDEの基準時刻ST)が、オブジェクトデータ削除ラインDLに相当する未来時刻を越えたか否かで判定可能である。
図18に示される態様では、オブジェクトデータ削除ラインDLを越えた長押しオブジェクトLObの部分に対応する被参照オブジェクトデータ要素DERは、その被参照オブジェクトデータ要素DERに対応する部分オブジェクトがオブジェクトデータ削除ラインDLを越えても削除されない。すなわち、一時記憶領域TA内の被参照オブジェクトデータ要素DERは、巻戻し指示による直接的な影響を受けない。削除対象の参照オブジェクトデータ要素RDEに対応する複数の被参照オブジェクトデータ要素DERは、その参照オブジェクトデータ要素RDEの削除に併せて削除されると好適であるが、その他の機会(例えば、ガベージコレクションの際)に削除されてもよい。
以上の構成によれば、ユーザが選択した任意の音楽データMDに対応する、長押しオブジェクトデータ要素群LPGを含むオブジェクトデータODを動的に編集可能である。また、間違った(ユーザの意図しない)長押しオブジェクトLObを生成してしまった場合であっても、経過時間を巻き戻すことにより間違ったオブジェクトデータ要素DE(参照オブジェクトデータ要素RDEまたは被参照オブジェクトデータ要素DER)を削除可能なので、オブジェクトデータODの編集開始当初からもう一度オブジェクトデータODを編集せずとも正しいオブジェクトデータ要素DEを生成することが可能となる。特に、巻戻し動作によって、オブジェクト消滅ラインVLを越えた長押しオブジェクトLObの部分が削除されてしまう図17の構成では、オブジェクトデータ編集の再開時に、削除途中の箇所から一連の長押しオブジェクトLObの編集が再開されるので、操作位置が限定されてしまうため編集操作が困難であり得る。図18の構成によれば、一連の長押しオブジェクトが一体として削除されるので、そのような困難が回避され得る。その他、第2実施形態と同様の効果が奏される。
第5の実施形態
図19は、第3および第4の実施形態で説明された長押しオブジェクトLObが表示された、第5実施形態のゲーム画面の一例である。図19の長押しオブジェクトLObは2つの線分で構成される。ここで、2つの線分がなす角の大きさ(角度)Rが小さい(急峻である)場合、ゲーム実行中のユーザは入力部10を非常に早く操作しなければならず、操作の難易度が高すぎる可能性がある。そこで、オブジェクトデータODの編集中に生成された長押しオブジェクトLObがなす折れ線に含まれる角度Rが閾値未満である場合、その角度Rが閾値以上となるようにオブジェクトデータ要素DE(被参照オブジェクトデータ要素DER)を補正する(平滑化を実行する)と好適である。以下、図20ないし図22を参照して、本実施形態の長押しオブジェクトLObの平滑化を説明する。
図20は長押しオブジェクトLObの平滑化動作のフローチャートであり、図21および図22は平滑化動作中のオブジェクトデータ編集画面およびオブジェクトデータODの具体例である。なお、長押しオブジェクトLObのみが平滑化に関与することに鑑み、一時記憶領域TA内の被参照オブジェクトデータ要素DERのみを図21および図22に図示し、参照オブジェクトデータ要素RDEを含むオブジェクトデータODは図示しないが、前述の実施形態と同様に記憶部60内にオブジェクトデータODが存在することは当然に理解される。
平滑化が開始されると、制御部40は、一時記憶領域TA内に記憶された複数の被参照オブジェクトデータ要素DER(1つの長押しオブジェクトデータ要素群LPGに対応)を走査し(S200)、それら複数の被参照オブジェクトデータ要素DERに含まれる基準時刻STおよび操作位置OPがなす折れ線に含まれる角度Rを算出する(S210)。
図21の例では、現在生成中の長押しオブジェクトLObに対応する3つの被参照オブジェクトデータ要素DER(DER1,DER2,DER3。基準時刻ST12.0秒、13.0秒、14.0秒)が走査され、各被参照オブジェクトデータ要素DERに対応する表示画面上の座標に基づいて角度Rが算出される。
続いて、制御部40は、算出された各角度Rが閾値未満であるか否かを判定し、閾値未満の角度Rをなす線分に対応する被参照オブジェクトデータ要素DERの操作位置OPを変更して、その角度Rが閾値以上となるように補正する(S230)。閾値未満の角度Rをなす線分に対応する少なくとも1つの被参照オブジェクトデータ要素DERの操作位置OPが変更されればその角度Rが変化(好適には増大)し得ることは、当然に理解される。
図22の例では、角度Rが閾値未満であるので、制御部40は、被参照オブジェクトデータ要素DER2(基準時刻ST=13.0秒)の操作位置OPを変更して角度Rを補正して角度Ra(Ra>R)とする。
以上の平滑化動作は、任意のイベントを契機として実行され得る。例えば、図11のフローチャートにおける所定期間の経過判定(S130)が実行される度に制御部40が平滑化を実行する。ゲーム装置100の処理負担を考慮して、所定回数の経過判定おきに平滑化が実行されてもよい。以上の構成によれば、編集画面(編集エリアEA)に表示中の長押しオブジェクトLObが動的に(画面に表示されている最中に)補正される。
なお、1つの音楽データMDに対応するオブジェクトデータODの編集動作が完了してから平滑化が実行される構成も採用され得る。
以上の構成によれば、生成中の(または生成された)長押しオブジェクトLObがなす折れ線に含まれる角度Rが閾値未満である場合、その角度Rが閾値以上となるようにオブジェクトデータ要素DE(被参照オブジェクトデータ要素DER)を補正するから、長押しオブジェクトLObを用いたゲーム中の操作の難易度が高すぎることが抑制される。また、編集画面(編集エリアEA)に表示されている長押しオブジェクトLObが動的に(画面に表示されている最中に)補正されるから、オブジェクトデータODの編集完了後に補正が実行される構成と比較して、補正後の長押しオブジェクトLObの形状をユーザがオブジェクトデータODの編集中に知ることが可能である。
変形例
以上の実施の形態は多様に変形される。具体的な変形の態様を以下に例示する。以上の実施形態および以下の例示から任意に選択された2以上の態様は相互に矛盾しない限り適宜に併合され得る。
(1)以上の実施の形態では、ゲームを実行する機能およびゲームに用いられるオブジェクトデータODを編集する機能を有するゲーム装置100およびそのようなゲーム装置100を実現するためのコンピュータプログラムが本発明の一態様として紹介されたが、以上に説明されたオブジェクトデータODを編集する機能のみを有するデータ編集装置およびそのようなデータ編集装置を実現するためのコンピュータプログラムも本発明の範囲に含まれる。
(2)上述のゲーム装置100は、通信部80を備えたクライアント型のゲーム装置100として説明されたが、通信部80を有さないスタンドアロン型のゲーム装置100であってもよい。その場合、ゲーム装置100に着脱可能な情報記録媒体90(メモリカード等)を用いて、編集されたオブジェクトデータOD(生成された各オブジェクトデータ要素DE)を他のゲーム装置100でも利用可能とすると好適である。
(3)以上の実施の形態では、ゲーム装置100の入力部10および表示装置20はタッチスクリーンTSとして一体に構成されたが、入力部10と表示装置20とがゲーム装置100上に別個に設けられてもよい。さらに、表示装置20がゲーム装置100とは別個に(ゲーム装置100の外部に)設けられてもよい。例えば、テレビ受像器を外部表示装置としての表示装置20として利用可能なゲーム装置100としても本発明は把握され得る。すなわち、表示装置20はゲーム装置100の必須の構成要素ではない。
(4)以上の実施の形態では、ゲーム実行時およびオブジェクトデータ編集時に音楽データMDが再生されたが、本発明において音楽データMDを用いることは必須ではない。例えば、経過時間(現在時刻t)の進行に応じて変化する背景画像がオブジェクトObと共に表示され、オブジェクトObがユーザに操作されるリズムゲームにおいても、以上に説明された構成が採用され得る。
(5)以上の実施の形態では、ゲーム実行中に、オブジェクトObに対応するオブジェクトデータ要素DEの示す基準時刻ST、操作位置OP、および操作種別OTと、ユーザの実際の操作の操作時刻、操作位置OP、および操作種別OTとに基づいてユーザ操作の評価がなされたが、操作時刻(基準時刻ST)および操作位置OPのみに基づいて評価がなされてもよい。以上の場合、オブジェクトデータ要素DEは操作種別OTを含まなくてもよい。また、操作時刻(基準時刻ST)のみに基づいて評価がなされてもよい。以上の場合、オブジェクトデータ要素DEは操作位置OPおよび操作種別OTを含まなくてもよい。
(6)以上の実施の形態では、オブジェクトデータODの編集中になされた巻戻し指示に基づいて、制御部40がオブジェクトデータ編集開始時からの経過時間を巻き戻してオブジェクトデータ要素DEを削除したが、既に生成されたオブジェクトデータ要素DE(オブジェクトデータOD)の編集にも以上の構成が採用され得る。
(7)以上の実施の形態では、ユーザが巻戻しボタンRWの押下を継続している間、現在時刻tを巻き戻し続けるとともに、オブジェクトデータ要素DEの生成中の移動方向とは逆方向にオブジェクトObを移動させ続けたが、ユーザが巻戻しボタンRWをタッチすると即座に所定期間だけ現在時刻t(オブジェクトデータ編集開始時からの経過時間)が巻き戻され、巻き戻された所定時間に対応する量だけ、オブジェクトデータ要素DEの生成中の移動方向とは逆方向にオブジェクトObが即座に移動する構成も採用され得る。以上の場合、巻戻し動作が即座に終了するから、音楽データMDの逆再生は実行されない。
(8)以上の実施の形態では、基準ラインSL、グリッドラインGL、オブジェクト出現ラインEL、オブジェクト消滅ラインVL、およびオブジェクトデータ削除ラインDLは直線状(ライン状)であるが、必ずしも直線上である必要ではなく、例えばこれらが曲線状であってもよい。
また、以上の各ラインがゲーム実行中に動的に変化してもよい。例えば、ゲームが進行するにつれて基準ラインSLがゲーム画面内を移動してもよい。