説明

ゲーム装置、ゲーム制御方法、ならびに、プログラム

【課題】ユーザによりなされた操作入力の正確さを分かり易く提示する。
【解決手段】検知部601は、ユーザの操作を検知する。操作取得部602は、検知された操作に対応付けられる回転の向きならびに速さを、操作回転速度として取得する。時間取得部603は、当該ゲーム開始時点からの経過時間を取得する。判定部604は、取得された経過時間に対応付けられる課題回転速度と、取得された操作回転速度と、が所定の基準で一致するか否かを判定する。表示部605は、(a)課題回転速度と操作回転速度とが所定の基準で一致すると判定された場合、移動体が円弧上を課題回転速度で移動するように表示し、(b)課題回転速度と操作回転速度とが所定の基準で一致しないと判定された場合、移動体が円弧上を操作回転速度で移動するように表示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、提示されるタイミングに合わせてユーザが操作入力を行うゲームにおいて、ユーザによりなされた操作入力の正確さを分かり易く提示するのに好適なゲーム装置、ゲーム制御方法、ならびに、これらをコンピュータにより実現するためのプログラムに関する。
【背景技術】
【0002】
楽曲のリズムや画面の表示にタイミングを合わせて、ユーザが楽器を模したコントローラなどを操作する種々の音楽ゲームが知られている。例えば、特許文献1には、ユーザがDJ(ディスクジョッキー)になった気分でゲームをプレイするDJゲームが開示されている。
【0003】
DJゲームでは、ユーザは、ゲーム装置により提示されたタイミングに合わせて、ターンテーブルをスクラッチ操作する。なお、スクラッチ操作は、ユーザが、ターンテーブルの上面の一部を押圧して、ターンテーブルを回転させる操作である。一方、ゲーム装置は、ユーザによりなされたスクラッチ操作を検知し、検知されたスクラッチ操作の正確さに応じて、得点を加算する。検知されたスクラッチ操作の正確さは、例えば、スクラッチ操作が検知されたタイミング、スクラッチ操作によるターンテーブルの回転速度(回転の速さならびに向き)、スクラッチ操作によるターンテーブルの回転量などが、規定値とどの程度類似するかにより決定される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4228495号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
DJゲームでは、ユーザによりなされたスクラッチ操作の正確さが、ユーザに分かり易く提示されることが望ましい。そのための方法として、例えば、ターンテーブルの理想とされる動きを示す目標体と、ターンテーブルの実際の動きを示す移動体と、を画面内に表示する方法がある。このような方法によれば、目標体と移動体との表示位置の関係などにより、ユーザによりなされたスクラッチ操作の正確さをユーザに提示することができる。
【0006】
しかしながら、画面内における移動体の表示位置が、ユーザによりなされたスクラッチ操作に基づいて忠実に決定されると、目標体と移動体とが画面内において互いに独立して移動することになる。この場合、課題通りにスクラッチ操作がなされたか否かが、分かりづらいことがあった。このため、課題通りにスクラッチ操作がなされたか否かを、分かり易くユーザに知らせたいという要望が強い。
【0007】
本発明は、上記問題に鑑みてなされたものであり、提示されるタイミングに合わせてユーザが操作入力を行うゲームにおいて、ユーザによりなされた操作入力の正確さを分かり易く提示するのに好適なゲーム装置、ゲーム制御方法、ならびに、これらをコンピュータにより実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明の第1の観点に係るゲーム装置は、ゲーム開始時点からの経過時間に、ユーザが達成すべき回転の向きならびに速さを課題回転速度として対応付けるゲームを実現するゲーム装置であって、検知部、操作取得部、時間取得部、判定部、表示部を備え、以下のように構成する。
【0009】
まず、検知部が、ユーザ(プレイヤー)の操作を検知する。ここで、ユーザの操作は、例えば、ゲーム装置に接続された操作受付装置が備えるターンテーブルに対するスクラッチ操作である。なお、スクラッチ操作は、ユーザが、ターンテーブルの上面の一部を押圧して、ターンテーブルを回転させる操作である。
【0010】
ここで、操作受付装置は、ユーザによりなされたスクラッチ操作がどのようなものであったかを示す情報をゲーム装置に供給する。操作受付装置からゲーム装置に供給される情報は、ターンテーブルの回転の向きならびに速さを示す情報であってもよいし、ターンテーブルの回転位置を示す情報であってもよい。
【0011】
操作受付装置としては、ターンテーブルの回転の向きならびに速さを示す2相のパルス信号を出力するロータリーエンコーダを備えるものを採用することができる。この場合、2相間の位相の前後関係が回転の向きを示し、パルス信号の単位時間あたりのパルス数が回転の速さを示す。そして、検知部は、操作受付装置から供給される2相のパルス信号を受信する。
【0012】
なお、操作受付装置は、アクチュエータを備え、ゲーム装置から供給された制御信号に従って、ターンテーブルを回転させるものであってもよい。この場合、操作受付装置は、ターンテーブルがユーザの手により所定値以上の力で押圧されていない場合、ゲーム装置から供給された制御信号に従ってターンテーブルを回転させる。一方、操作受付装置は、ターンテーブルがユーザの手により所定値以上の力で押圧されている場合、ターンテーブルを回転させない。この場合、ターンテーブルは、手の動きに合わせて回転する。
【0013】
また、ターンテーブルは、上面に模擬レコード盤を備えていてもよい。この場合、ターンテーブルと模擬レコード盤との間に滑りが発生しないようなスクラッチ操作がなされると、検知部により当該スクラッチ操作が検知される。
【0014】
そして、操作取得部が、検知された操作に対応付けられる回転の向きならびに速さを、操作回転速度として取得する。上述の例では、操作取得部は、検知部により受信された2相のパルス信号に基づいて、ターンテーブルの回転の向きならびに速さを、操作回転速度として取得する。
【0015】
また、時間取得部が、当該ゲーム開始時点からの経過時間を取得する。ゲーム開始時点とは、例えば、DJゲームが開始された時点であり、選択された楽曲の演奏が開始された時点である。経過時間は、時分秒などを単位とした値により表されても良いし、画面更新周期を単位とした値により表されても良い。
【0016】
ここで、判定部が、取得された経過時間に対応付けられる課題回転速度と、取得された操作回転速度と、が所定の基準で一致するか否かを判定する。DJゲームの場合、課題回転速度は、課題とされるスクラッチ操作を特定する情報であり、操作回転速度は、検知されたスクラッチ操作を特定する情報である。つまり、判定部は、課題通りにスクラッチ操作がなされたか否かを判別する。
【0017】
判定部が、課題回転速度と操作回転速度とが所定の基準において一致すると判定する条件は、適宜、調整が可能である。例えば、判定部は、課題回転速度により表される回転の向きと操作回転速度により表される回転の向きとが一致する場合、あるいは、課題回転速度により表される回転の向きと操作回転速度により表される回転の向きとが一致し、かつ、課題回転速度により表される回転の速さと操作回転速度により表れる回転の速さとが所定の閾値未満である場合、課題回転速度と操作回転速度とが所定の基準において一致すると判定することができる。
【0018】
そして、表示部が、円弧上を課題回転速度で移動する目標体と、円弧上を移動可能な移動体と、を画面内に表示する。例えば、DJゲームの場合、表示部は、スクラッチ操作がなされるターンテーブルの上面に置かれた移動体が、当該ターンテーブルの回転軸を中心にして移動する様子を画面内において表現する。また、表示部は、当該ターンテーブルの上面に置かれた目標体が、当該ターンテーブルの回転軸を中心にして課題回転速度で移動する様子を画面内において表現する。なお、目標体は、模範的なスクラッチ操作によって回転するターンテーブル上に付されたマークを、画面内において表すものと考えることができる。
【0019】
ここで、表示部は、(a)判定部により、課題回転速度と操作回転速度とが所定の基準で一致すると判定された場合、移動体が円弧上を課題回転速度で移動するように表示する。課題回転速度と操作回転速度とが所定の基準で一致すると判定された場合とは、課題通りにスクラッチ操作がなされたとみなせる場合である。この場合、表示部は、課題とされるスクラッチ操作(模範的なスクラッチ操作)によって、ターンテーブルの上面に置かれた移動体が、当該ターンテーブルの回転軸を中心にして移動する様子を画面内において表現する。
【0020】
一方、表示部は、(b)判定部により、課題回転速度と操作回転速度とが所定の基準で一致しないと判定された場合、移動体が円弧上を操作回転速度で移動するように表示する。課題回転速度と操作回転速度とが所定の基準で一致しないと判定された場合とは、課題通りにスクラッチ操作がなされたとはみなせない場合である。この場合、表示部は、検知されたスクラッチ操作(模範的ではないスクラッチ操作)によって、ターンテーブルの上面に置かれた移動体が、当該ターンテーブルの回転軸を中心にして移動する様子を画面内において表現する。
【0021】
このように、表示部は、スクラッチ操作が概ね成功したと判定された場合、ターンテーブルが模範的なスクラッチ操作により回転する様子を画面内に表示し、スクラッチ操作が概ね失敗したと判定された場合、ターンテーブルが模範的なスクラッチ操作により回転する様子を画面内に表示する。かかる構成によれば、実際に行われたスクラッチ操作が模範的なスクラッチ操作と多少異なる場合であっても、スクラッチ操作が概ね成功したと判定されれば、ターンテーブルに対して模範的なスクラッチ操作がなされた様子が画面内に表示される。従って、スクラッチ操作が概ね成功したと判定されている間、スクラッチ操作が概ね成功していることをユーザに明確に認識させることができる。
【0022】
また、スクラッチ操作が概ね成功したと判定されている間、スクラッチ操作が上手にできているような印象をユーザに与えることができる。この結果、ユーザのリズムを崩さず、ユーザに気分良くスクラッチ操作を継続させることができる。
【0023】
以上説明したように、本発明のゲーム装置によれば、ユーザによりなされた操作入力の正確さを分かり易く提示することができる。
【0024】
また、本発明のゲーム装置において、表示部を以下に示すように構成することができる。
【0025】
つまり、表示部は、所定の速度で移動する曲線と上記円弧とをさらに画面内に表示し、当該曲線と当該円弧との交点上に目標体を表示する。当該曲線は、当該目標体が当該円弧上をどのように移動するかを、ユーザに予測させるための曲線である。従って、課題回転速度が予め定められている場合、当該課題回転速度に基づいて、当該曲線の形状が決定される。一方、当該曲線の形状が予め定められている場合、当該曲線の形状に基づいて、当該課題回転速度が決定される。当該曲線は、正弦波であってもよいし、その他の関数により定められる連続曲線であってもよい。
【0026】
以上説明したように、本発明のゲーム装置によれば、ユーザがなすべき操作をユーザに分かり易く提示した上、ユーザによりなされた操作入力の正確さを分かり易く提示することができる。
【0027】
また、本発明のゲーム装置において、表示部を以下に示すように構成することができる。
【0028】
つまり、表示部は、判定部により、課題回転速度と操作回転速度とが所定の基準で一致しないと判定された直後に、両者が一致すると判定された場合、移動体が画面内において表示される位置を、目標体が画面内において表示される位置に近づくように瞬間移動する。
【0029】
上述のように、目標体は、模範的なスクラッチ操作によって回転するターンテーブル上に付されたマークを、画面内において表すものと考えることができる。つまり、ユーザは、移動体と目標体とが連動して移動するようにスクラッチ操作を行うと、スクラッチ操作を成功させることができる。なお、所定の中心から目標体までの距離と当該所定の中心から移動体までの距離とは、同じであってもよいし、異なっていてもよい。
【0030】
また、スクラッチ操作が概ね失敗していると判定されている状態からスクラッチ操作が概ね成功していると判定されている状態に移行した場合、表示部は、移動体が表示される位置を目標体が表示されている位置に近づくように瞬間移動する。
【0031】
かかる構成によれば、スクラッチ操作が概ね失敗していると判定されている状態からスクラッチ操作が概ね成功していると判定されている状態に移行したことを、ユーザに分かり易く提示することができる。また、概ね失敗と判定されたスクラッチ操作によって、目標体と移動体とが画面内において離れてしまった場合であっても、新たになされるスクラッチ操作が概ね成功と判定されさえすれば、目標体と移動体とが瞬間的に近づくことになる。このため、ユーザが、目標体と移動体とを連動させるようにスクラッチ操作をして、スクラッチ操作を成功させることが容易になることが期待できる。
【0032】
以上説明したように、本発明のゲーム装置によれば、ユーザによりなされた操作入力の正確さをさらに分かり易く提示することができる。
【0033】
また、本発明のゲーム装置において、判定部が、課題回転速度の向きと操作回転速度の向きとが一致する場合、課題回転速度と操作回転速度とが所定の基準において一致する、と判定するように構成することができる。かかる構成によれば、判定部は、簡単かつ速やかに、スクラッチ操作が成功したか否かを判定することができる。その理由は、回転の向きは、時計回りもしくは反時計回りの2種類しか存在しないため、一致/不一致の比較だけで容易に判定が可能だからである。これに対し、回転の速さは、ロータリーエンコーダの分解能などにより段階的に表現されるものであるため、閾値などを用いて判定する必要があり、煩雑な処理が必要であるためである。
【0034】
なお、スクラッチ操作が成功したか否かを厳密に判定する必要がない場合、課題とされているスクラッチ操作と検知されたスクラッチ操作とが一致しているかを、回転の向きのみを用いて判定してもよい。一方、スクラッチ操作が成功したか否かを厳密に判定する必要がある場合、課題とされているスクラッチ操作と検知されたスクラッチ操作とが一致しているかを、回転の向きに加え、回転の速さを用いて判定することが望ましい。
【0035】
以上説明したように、本発明のゲーム装置によれば、簡単な構成により、ユーザによりなされた操作入力の正確さを分かり易く提示することができる。
【0036】
上記目的を達成するために、本発明のその他の観点に係るゲーム制御方法は、ゲーム開始時点からの経過時間に、ユーザが達成すべき回転の向きならびに速さを課題回転速度として対応付けるゲームを実現するゲーム装置であって、検知部、操作取得部、時間取得部、判定部、表示部を備えるゲーム装置が実行するゲーム制御方法であって、検知工程、操作取得工程、時間取得工程、判定工程、表示工程を備え、以下のように構成する。
【0037】
まず、検知工程において、検知部が、ユーザの操作を検知する。ここで、ユーザの操作は、例えば、ゲーム装置に接続された操作受付装置が備えるターンテーブルに対するスクラッチ操作である。なお、スクラッチ操作は、ユーザが、ターンテーブルの上面の一部を押圧して、ターンテーブルを回転させる操作である。
【0038】
ここで、操作受付装置は、ユーザによりなされたスクラッチ操作がどのようなものであったかを示す情報をゲーム装置に供給する。操作受付装置からゲーム装置に供給される情報は、ターンテーブルの回転の向きならびに速さを示す情報であってもよいし、ターンテーブルの回転位置を示す情報であってもよい。
【0039】
操作受付装置としては、ターンテーブルの回転の向きならびに速さを示す2相のパルス信号を出力するロータリーエンコーダを備えるものを採用することができる。この場合、2相間の位相の前後関係が回転の向きを示し、パルス信号の単位時間あたりのパルス数が回転の速さを示す。そして、検知部は、操作受付装置から供給される2相のパルス信号を受信する。
【0040】
なお、操作受付装置は、アクチュエータを備え、ゲーム装置から供給された制御信号に従って、ターンテーブルを回転させるものであってもよい。この場合、操作受付装置は、ターンテーブルがユーザの手により所定値以上の力で押圧されていない場合、ゲーム装置から供給された制御信号に従ってターンテーブルを回転させる。一方、操作受付装置は、ターンテーブルがユーザの手により所定値以上の力で押圧されている場合、ターンテーブルを回転させない。この場合、ターンテーブルは、手の動きに合わせて回転する。
【0041】
また、ターンテーブルは、上面に模擬レコード盤を備えていてもよい。この場合、ターンテーブルと模擬レコード盤との間に滑りが発生しないようなスクラッチ操作がなされると、検知部により当該スクラッチ操作が検知される。
【0042】
そして、操作取得工程において、操作取得部が、検知された操作に対応付けられる回転の向きならびに速さを、操作回転速度として取得する。上述の例では、操作取得部は、検知部により受信された2相のパルス信号に基づいて、ターンテーブルの回転の向きならびに速さを、操作回転速度として取得する。
【0043】
また、時間取得工程において、時間取得部が、当該ゲーム開始時点からの経過時間を取得する。ゲーム開始時点とは、例えば、DJゲームが開始された時点であり、選択された楽曲の演奏が開始された時点である。経過時間は、時分秒などを単位とした値により表されても良いし、画面更新周期を単位とした値により表されても良い。
【0044】
ここで、判定工程において、判定部が、取得された経過時間に対応付けられる課題回転速度と、取得された操作回転速度と、が所定の基準で一致するか否かを判定する。DJゲームの場合、課題回転速度は、課題とされるスクラッチ操作を特定する情報であり、操作回転速度は、検知されたスクラッチ操作を特定する情報である。つまり、判定部は、課題通りにスクラッチ操作がなされたか否かを判別する。
【0045】
判定部が、課題回転速度と操作回転速度とが所定の基準において一致すると判定する条件は、適宜、調整が可能である。例えば、判定部は、課題回転速度により表される回転の向きと操作回転速度により表される回転の向きとが一致する場合、あるいは、課題回転速度により表される回転の向きと操作回転速度により表される回転の向きとが一致し、かつ、課題回転速度により表される回転の速さと操作回転速度により表れる回転の速さとが所定の閾値未満である場合、課題回転速度と操作回転速度とが所定の基準において一致すると判定することができる。
【0046】
そして、表示工程において、表示部が、円弧上を課題回転速度で移動する目標体と、円弧上を移動可能な移動体と、を画面内に表示する。例えば、DJゲームの場合、表示部は、スクラッチ操作がなされるターンテーブルの上面に置かれた移動体が、当該ターンテーブルの回転軸を中心にして移動する様子を画面内において表現する。また、表示部は、当該ターンテーブルの上面に置かれた目標体が、当該ターンテーブルの回転軸を中心にして課題回転速度で移動する様子を画面内において表現する。なお、目標体は、模範的なスクラッチ操作によって回転するターンテーブル上に付されたマークを、画面内において表すものと考えることができる。
【0047】
ここで、表示工程において、表示部は、(a)判定部により、課題回転速度と操作回転速度とが所定の基準で一致すると判定された場合、移動体が円弧上を課題回転速度で移動するように表示する。課題回転速度と操作回転速度とが所定の基準で一致すると判定された場合とは、課題通りにスクラッチ操作がなされたとみなせる場合である。この場合、表示部は、課題とされるスクラッチ操作(模範的なスクラッチ操作)によって、ターンテーブルの上面に置かれた移動体が、当該ターンテーブルの回転軸を中心にして移動する様子を画面内において表現する。
【0048】
一方、表示工程において、表示部は、(b)判定部により、課題回転速度と操作回転速度とが所定の基準で一致しないと判定された場合、移動体が円弧上を操作回転速度で移動するように表示する。課題回転速度と操作回転速度とが所定の基準で一致しないと判定された場合とは、課題通りにスクラッチ操作がなされたとはみなせない場合である。この場合、表示部は、検知されたスクラッチ操作(模範的ではないスクラッチ操作)によって、ターンテーブルの上面に置かれた移動体が、当該ターンテーブルの回転軸を中心にして移動する様子を画面内において表現する。
【0049】
このように、表示工程において、表示部は、スクラッチ操作が概ね成功したと判定された場合、ターンテーブルが模範的なスクラッチ操作により回転する様子を画面内に表示し、スクラッチ操作が概ね失敗したと判定された場合、ターンテーブルが模範的なスクラッチ操作により回転する様子を画面内に表示する。かかる構成によれば、実際に行われたスクラッチ操作が模範的なスクラッチ操作と多少異なる場合であっても、スクラッチ操作が概ね成功したと判定されれば、ターンテーブルに対して模範的なスクラッチ操作がなされた様子が画面内に表示される。従って、スクラッチ操作が概ね成功したと判定されている間、スクラッチ操作が概ね成功していることをユーザに明確に認識させることができる。
【0050】
また、スクラッチ操作が概ね成功したと判定されている間、スクラッチ操作が上手にできているような印象をユーザに与えることができる。この結果、ユーザのリズムを崩さず、ユーザに気分良くスクラッチ操作を継続させることができる。
【0051】
以上説明したように、本発明のゲーム制御方法によれば、ユーザによりなされた操作入力の正確さを分かり易く提示することができる。
【0052】
本発明の他の観点に係るプログラムは、コンピュータを、上記のゲーム装置の各部として機能させ、または、コンピュータに、上記のゲーム制御方法の各工程を実行させるように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、デジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0053】
本発明によれば、提示されるタイミングに合わせてユーザが操作入力を行うゲームにおいて、ユーザによりなされた操作入力の正確さを分かり易く提示するのに好適なゲーム装置、ゲーム制御方法、ならびに、これらをコンピュータにより実現するためのプログラムを提供することができる。
【図面の簡単な説明】
【0054】
【図1】本発明の実施形態に係るゲーム装置が実現される典型的な情報処理装置の概要構成を示す模式図である。
【図2】コントローラの概要構成を示す模式図である。
【図3】操作受付装置の概要構成を示す模式図である。
【図4】(a)は、ターンテーブルが時計回りに回転するときのA相のパルス信号のタイミングチャートである。(b)は、ターンテーブルが時計回りに回転するときのB相のパルス信号のタイミングチャートである。
【図5】(a)は、ターンテーブルが反時計回りに回転するときのA相のパルス信号のタイミングチャートである。(b)は、ターンテーブルが反時計回りに回転するときのB相のパルス信号のタイミングチャートである。
【図6】本発明の実施形態に係るゲーム装置の構成を示すブロック図である。
【図7】経過時間と課題回転速度との関係を示す図である。
【図8A】移動体を説明するための図である。
【図8B】目標体を説明するための図である。
【図9A】移動体と目標体とが回転する様子を示す第1の図である。
【図9B】移動体と目標体とが回転する様子を示す第2の図である。
【図10A】移動体と目標体とが回転する様子を示す第3の図である。
【図10B】移動体と目標体とが回転する様子を示す第4の図である。
【図11】本発明の実施形態に係るゲーム装置が実行するゲーム制御処理を示すフローチャートである。
【発明を実施するための形態】
【0055】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム装置に本発明が適用される実施形態を説明する。しかしながら、携帯電話などの情報処理装置にも同様に本発明を適用することができる。すなわち、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。ここで、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することができる。従って、これらの実施形態も本発明の範囲に含まれる。
【0056】
(情報処理装置の説明)
図1は、本発明の実施形態に係るゲーム装置が実現される典型的な情報処理装置100の概要構成を示す模式図である。
【0057】
情報処理装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、インターフェース104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD(Digital Versatile Disk)−ROMドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、RTC(Real Time Clock)111と、モニター112と、操作受付装置113と、を備える。
【0058】
ゲーム制御用のプログラムおよびデータを記憶したDVD−ROMがDVD−ROMドライブ108に装着されている状態において、情報処理装置100の電源が投入されると、ゲーム制御用のプログラムが実行される。これにより、本実施形態に係るゲーム装置が実現される。なお、本実施形態に係るゲーム装置は、DJゲームを制御するゲーム装置である。
【0059】
CPU 101は、情報処理装置100全体の動作を制御する。CPU 101は、各構成要素と接続され、制御信号やデータをやりとりする。CPU 101は、各構成要素から、各種のデータを取得する。CPU 101は、当該各種のデータを、種々の演算により加工する。CPU 101は、加工結果を示すデータや制御信号を、各構成要素に供給する。CPU 101は、内部にキャッシュやレジスタを備える。CPU 101に取得された各種のデータは、一旦キャッシュに格納される。その後、当該各種のデータは、レジスタに取り出されてから各種の演算が施される。
【0060】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録される。IPLが実行されることにより、DVD−ROMに記録されたプログラムがRAM 103に読み出され、CPU 101によるプログラムの実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムやデータが記録される。
【0061】
RAM 103は、データやプログラムを一時的に記憶する。RAM 103には、DVD−ROMから読み出されたプログラムやデータなどが保持される。このほか、RAM 103は、外部機器に伝達する情報や、外部機器から伝達された情報も、一時的に記憶する。
【0062】
インターフェース104は、情報処理装置100にコントローラ105と外部メモリ106とターンテーブル113を接続するためのインターフェースである。
【0063】
コントローラ105は、ユーザがゲームのプレイ中に実行する入力操作を受け付ける。図2は、コントローラ105の外観を示す説明図である。以下、本図を参照してコントローラ105を説明する。
【0064】
図2に示すように、コントローラ105の左方には、上下左右を示す入力操作を行うのに利用される↑ボタン201、↓ボタン202、←ボタン203、→ボタン204(以下、これらのボタンを総称して、適宜「方向ボタン」という。)が配置されている。
【0065】
コントローラ105の右方には、決定指示を行うのに利用される○ボタン205、取消指示を行うのに利用される×ボタン206、メニューの表示指示などを行うのに利用される△ボタン207、その他の指示を行うのに利用される□ボタン208が配置されている。
【0066】
コントローラ105の中央下部には、上下左右およびその他の向きと、その向きへの大きさを指定する指示入力を行うためのジョイスティック213、214が配置されている。ジョイスティック213、214には、ひずみゲージが配備され、これらがどの方向にどれだけ曲げられているか、を検知することができる。
【0067】
このほか、コントローラ105の中央には、SELECTボタン209、STARTボタン210、アナログ入力の開始・停止を指示するためのANALOGボタン211、および、アナログ入力が有効か無効かを表示するためのインジケータ212が配置されている。
さらに、コントローラ105の上方には、各種の指示入力に用いることができるL1ボタン215、L2ボタン216、R1ボタン217、R2ボタン218が配置されている。
【0068】
コントローラ105の各ボタン201〜208、215〜218には、圧力センサが配備される。CPU 101は、これらのボタンについてアナログ入力が有効となっている場合には、いずれのボタンが押圧操作されているかを検知することができるほか、ユーザの押圧操作の圧力の大きさを0〜255の256段階で得ることができる。
【0069】
外部メモリ106は、インターフェース104を介して、情報処理装置100に着脱自在に接続される。外部メモリ106には、ゲームの進行状態を示すデータなどが書き換え可能に記憶される。ユーザは、例えば、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
【0070】
画像処理部107は、DVD−ROMから読み出されたデータを加工する。画像処理部107は、画像演算プロセッサ(図示せず)と、フレームメモリ(図示せず)と、を備える。加工処理は、画像演算プロセッサによって実行される。加工されたデータ(画像情報)はフレームメモリ(図示せず)に記録される。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換される。ビデオ信号に変換された画像情報は、画像処理部107に接続されたモニター112に出力される。これにより、各種の画像表示が可能となる。
【0071】
画像演算プロセッサは、2次元の画像の重ね合わせ演算、αブレンディング等の透過演算、ならびに、各種の飽和演算などを高速に実行する。また、画像演算プロセッサは、レンダリング画像を得る演算の高速実行も可能である。レンダリング画像は、所定の視点位置から三次元仮想空間に配置されたポリゴンを俯瞰した様子を表す画像である。レンダリング画像は、ポリゴン情報を、Zバッファ法によりレンダリングすることにより生成される。なお、ポリゴン情報は、三次元仮想空間に配置され、各種のテクスチャが付加されたポリゴンを表す情報である。画像演算プロセッサは、点光源や平行光源、円錐光源などの典型的な(正)光源によってポリゴンが照らされる度合を計算する機能を有する。これらの機能は、ライブラリ化もしくはハードウェア化されている。これにより、これらの計算の高速化が実現されている。
【0072】
さらに、画像演算プロセッサは、文字の形状を定義するフォント情報にしたがって、文字列を、2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画したりする。画像演算プロセッサは、ROM 102に記録されている一般的なフォント情報を利用しても良いし、DVD−ROMに記録されている専用のフォント情報を利用してもよい。なお、画像演算プロセッサは、適宜、CPU 101と協調動作して、上述した各種の処理を実行する。
【0073】
DVD−ROMドライブ108は、CPU 101の制御によって、これに装着されたDVD−ROMに対する読み出し処理を行う。読み出し処理により読み出されたプログラムやデータは、RAM 103等に一時的に記憶される。DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随するデータ(画像データ、音声データなど)とが記録される。
【0074】
NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものである。NIC 109は、例えば、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格に従うインターフェース(図示せず)により構成される。あるいは、NIC 109は、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integraged Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line Modem)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、CPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0075】
情報処理装置100は、NIC 109を介してインターネット内のSNTPサーバに接続し、SNTPサーバから情報を取得することによって、現在の日時情報を得ることもできる。
【0076】
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換する。音声処理部110は、音声処理部110に接続されたスピーカ(図示せず)にアナログ音声信号を供給し、当該アナログ音声信号に基づく音声をスピーカに出力させる。また、音声処理部110は、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。音声処理部110は、例えば、再生される楽曲の音や、ユーザのボタン操作に合わせて再生される効果音などを処理する。
【0077】
音声処理部110は、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、音声処理部110は、DVD−ROMに記録された音声データがADPCM(Adaptive Differential Pulse Code Modulation)形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換されて、スピーカなどに出力されることにより、音声出力が実現される。
【0078】
RTC 111は、水晶振動子や発振回路などを備える計時用のデバイスである。RTC 111は、内蔵電池から電源を供給され、情報処理装置100の電源がオフのときでも動作し続ける。
【0079】
モニター112は、画像処理部107から供給されたビデオ信号に従って画像を表示する。モニター112は、例えば、液晶ディスプレイ、プラズマディスプレイ、CRTなどにより構成される。
【0080】
操作受付装置113は、インターフェース104に接続され、ユーザから、操作を受け付ける。具体的には、操作受付装置113は、ターンテーブルを備え、ユーザから、ターンテーブルに対するスクラッチ操作を受け付ける。
【0081】
図3に、操作受付装置113の概要構成を示す。図3に示すように、操作受付装置113は、ターンテーブル301と、回転軸302と、アクチュエータ303と、ロータリーエンコーダ304と、制御装置305と、アクチュエータ用ケーブル306と、ロータリーエンコーダ用ケーブル307と、台座308と、外部ケーブル309と、を備える。
【0082】
ターンテーブル301は、ユーザからスクラッチ操作を受け付ける円盤上のテーブルである。ターンテーブル301の中心には、回転軸302の長手方向がターンテーブル301のテーブル面に直交するように、回転軸302が固定される。つまり、ターンテーブル301は、回転軸302と一体となって、回転軸302を中心にして回転する。
【0083】
回転軸302は、アクチュエータ303により駆動され、ターンテーブル301とともに回転する。
【0084】
アクチュエータ303は、アクチュエータ用ケーブル306を介して制御装置305から供給される、アクチュエータ303を駆動するための信号(以下「駆動信号」という。)に従って、ターンテーブル301と回転軸302とを回転させる。ただし、ユーザがターンテーブル301に対してスクラッチ操作している間、アクチュエータ303は、ターンテーブル301と回転軸302とを回転させない。つまり、スクラッチ操作によりターンテーブル301に所定の閾値以上の力が加えられている間、アクチュエータ303と回転軸302との間に滑りが発生する。なお、スクラッチ操作は、ユーザが、ターンテーブル301の上面の一部を所定の閾値以上の力で押圧して、回転軸302を中心にしてターンテーブル301を回転させる操作である。
【0085】
ロータリーエンコーダ304は、ターンテーブル301および回転軸302の回転の向きや速さを検知する。例えば、ロータリーエンコーダ304は、検知した向きならびに速さを表す2相のパルス信号を、ロータリーエンコーダ用ケーブル307を介して制御装置305に供給する。ロータリーエンコーダ304としては、中空貫通タイプのロータリーエンコーダを採用することができる。
【0086】
制御装置305は、情報処理装置100から外部ケーブル309を介して供給された制御信号に基づいて、駆動信号を生成する。そして、制御装置305は、生成した駆動信号をアクチュエータ用ケーブル306を介してアクチュエータ303に供給して、アクチュエータ303を駆動する。制御信号は、例えば、楽曲が再生されている間、つまり、ユーザがゲームをプレイしている間に供給される。
【0087】
また、制御装置305は、ロータリーエンコーダ304からロータリーエンコーダ用ケーブル307を介して供給された2相のパルス信号に基づいて、ターンテーブル301および回転軸302の回転の向きや速さを求める。そして、制御装置305は、求めた向きや速さを表す信号(以下「回転速度信号」という。)を、外部ケーブル309を介して情報処理装置100に供給する。制御装置305は、例えば、FPGA(Field−Programmable Array)などを備える回路により構成することができる。
【0088】
ここで、図4(a)、図4(b)、図5(a)および図5(b)を参照して、2相のパルス信号に基づいて、回転速度信号を生成する手法の一例について説明する。なお、ロータリーエンコーダ304は、制御装置305に、A相のパルス信号とB相のパルス信号との2相のパルス信号を供給するものとする。
【0089】
まず、図4(a)、図4(b)を参照して、ターンテーブル301が上面から見て時計回りに回転しているときに出力される2相のパルス信号について説明する。
【0090】
図4(a)に示すように、ターンテーブル301が時計回りに回転している間、A相のパルス信号は、Hレベルの期間とLレベルの期間とが交互に繰り返されるデジタル信号となる。ここで、ターンテーブル301の回転が速いほど、A相のパルス信号の周波数が高くなる。
【0091】
図4(b)に示すように、ターンテーブル301が時計回りに回転している間、B相のパルス信号は、Hレベルの期間とLレベルの期間とが交互に繰り返されるデジタル信号となる。ここで、ターンテーブル301の回転が速いほど、B相のパルス信号の周波数が高くなる。
【0092】
次に、図5(a)、図5(b)を参照して、ターンテーブル301が上面から見て反時計回りに回転しているときに出力される2相のパルス信号について説明する。
【0093】
図5(a)に示すように、ターンテーブル301が時計回りに回転している間、A相のパルス信号は、Hレベルの期間とLレベルの期間とが交互に繰り返されるデジタル信号となる。ここで、ターンテーブル301の回転が速いほど、A相のパルス信号の周波数が高くなる。
【0094】
図5(b)に示すように、ターンテーブル301が時計回りに回転している間、B相のパルス信号は、Hレベルの期間とLレベルの期間とが交互に繰り返されるデジタル信号となる。ここで、ターンテーブル301の回転が速いほど、B相のパルス信号の周波数が高くなる。
【0095】
A相のパルス信号とB相のパルス信号とは、周波数が互いに同じであり、位相が互いに異なる。A相のパルス信号の位相とB相のパルス信号の位相との関係は、ターンテーブル301が回転している向きによって決定される。図4(a)と図4(b)とには、ターンテーブル301が時計回りに回転している間、A相のパルス信号の位相がB相のパルス信号の位相よりもπ/2程度早い例を示している。一方、図5(a)と図5(b)とには、ターンテーブル301が反時計回りに回転している間、A相のパルス信号の位相がB相のパルス信号の位相よりもπ/2程度遅い例を示している。
【0096】
回転の速さは、A相のパルス信号の周期から求められる。A相のパルス信号の周期は、A相のパルス信号の立ち上がりエッジの間隔を、カウンタなどでカウントすることにより求められる。例えば、図4(a)において、時刻t11から時刻t13までの時間T113をRTC 111により計測することで、A相のパルス信号の周期を求めることができる。あるいは、図5(a)において、時刻t21から時刻t23までの時間T213をRTC 111により計測することで、A相のパルス信号の周期を求めることができる。回転の速さとA相のパルス信号の周期との関係は、ロータリーエンコーダ304の仕様によるが、回転の速さが速いほどA相のパルス信号の周期は短くなる。なお、回転の速さは、B相のパルス信号の周期からも求められる。
【0097】
一方、回転の向きは、A相のパルス信号とB相のパルス信号との位相関係から求められる。位相関係は、A相のパルス信号の立ち上がりエッジからB相のパルス信号の立ち上がりエッジまでの間隔と、B相のパルス信号の立ち上がりエッジからA相のパルス信号の立ち上がりエッジまでの間隔と、をカウントすることにより求められる。例えば、図4(b)において、時刻t11から時刻t12までの時間T112と、時刻t12から時刻t13までの時間T123と、をRTC 111により計測することで、位相関係が求められる。或いは、図5(b)において、時刻t21から時刻t22までの時間T212と、時刻t22から時刻t23までの時間T223と、をRTC 111により計測することで、位相関係が求められる。
【0098】
なお、回転の向きと位相関係との関係は、ロータリーエンコーダ304の仕様による。本実施形態では、回転の向きが時計回りである場合、A相のパルス信号の方がB相のパルス信号よりも位相が早くなり、回転の向きが反時計回りである場合、A相のパルス信号の方がB相のパルス信号よりも位相が遅くなるものとする。つまり、図4(a)、図4(b)に示すように回転の向きが時計回りの場合、A相のパルス信号の方がB相のパルス信号よりも位相が早くなり、時間T112が時間T123よりも長くなる。一方、図5(a)、図5(b)に示すように回転の向きが反時計回りの場合、A相のパルス信号の方がB相のパルス信号よりも位相が遅くなり、時間T212が時間T223よりも長くなる。
【0099】
アクチュエータ用ケーブル306は、アクチュエータ303と制御装置305とを接続する。制御装置305から出力される駆動信号は、アクチュエータ用ケーブル306を介してアクチュエータ303に供給される。
【0100】
ロータリーエンコーダ用ケーブル307は、ロータリーエンコーダ304と制御装置305とを接続する。ロータリーエンコーダ304から出力される2相のパルス信号は、ロータリーエンコーダ用ケーブル307を介して制御装置305に供給される。
【0101】
台座308は、ターンテーブル301が固定される台座である。台座308の内部には、アクチュエータ303が固定される。つまり、ターンテーブル301は、アクチュエータ303と回転軸302とを介して台座308に固定される。
【0102】
外部ケーブル309は、制御装置305と情報処理装置100とを接続する。情報処理装置100から出力される制御信号は、外部ケーブル309を介して制御装置305に供給される。また、制御装置305から出力される回転速度信号は、外部ケーブル309を介して情報処理装置100に供給される。
【0103】
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。なお、情報処理装置100は、汎用のパーソナルコンピュータとしても利用することができる。この場合、キーボード(図示せず)やマウス(図示せず)などが入力装置として利用される。
【0104】
(ゲーム装置の説明)
次に、本実施形態に係るゲーム装置600の機能について、図面を参照して説明する。まず、図6を参照して、本発明の実施形態に係るゲーム装置600の構成を説明する。なお、DVD−ROMドライブ108にDVD−ROMが装着されている状態において、情報処理装置100の電源が投入されると、本実施形態に係るゲーム装置600が構成される。
【0105】
図6に示すように、ゲーム装置600は、検知部601と、操作取得部602と、時間取得部603と、判定部604と、表示部605と、を備える。
【0106】
ゲーム装置600は、ゲーム開始時点からの経過時間に、ユーザが達成すべき回転の向きならびに速さを課題回転速度として対応付けるゲームを実現する。つまり、ゲーム装置600は、スクラッチ操作がなされた時刻、スクラッチ操作における回転の速さ、および、スクラッチ操作における回転の向きなどの適切さなどに応じて、ユーザの得点を加算するゲームを実現する。
【0107】
検知部601は、ユーザの操作を検知する。具体的には、検知部601は、ターンテーブル301などに対してなされたスクラッチ操作を検知する。検知部601は、例えば、ターンテーブル301とロータリーエンコーダ304とにより構成される。
【0108】
操作取得部602は、検知された操作に対応付けられる回転の向きならびに速さを、操作回転速度として取得する。操作回転速度は、例えば、ユーザによりなされたスクラッチ操作における回転の速さと向きとを表す。操作取得部602は、例えば、制御装置305により構成される。
【0109】
時間取得部603は、ゲーム開始時点からの経過時間を取得する。時間取得部603は、例えば、RTC 111により構成される。
【0110】
判定部604は、取得された経過時間に対応付けられる課題回転速度と、取得された操作回転速度と、が所定の基準で一致するか否かを判定する。課題回転速度は、ユーザがなすべきスクラッチ操作における回転の速さならびに向きを表すものであり、ゲームが開始されてからの経過時間に対応付けられて記憶装置に記憶されているものとする。
【0111】
また、課題回転速度と操作回転速度とが一致すると判定する基準は、適宜調整が可能である。例えば、この基準を、以下の(a)もしくは(b)とすることができる。
(a)課題回転速度により表される回転の向きが操作回転速度により表される回転の向きと一致する場合。
(b)課題回転速度により表される回転の向きが操作回転速度により表される回転の向きと一致し、さらに、課題回転速度により表される回転の速さと操作回転速度により表される回転の速さとの差が所定の閾値以内である場合。
判定部604は、例えば、CPU 101により構成される。
【0112】
表示部605は、円弧上を前記課題回転速度で移動する目標体と、前記円弧上を移動可能な移動体と、を画面内に表示する。この移動体は、ユーザがターンテーブル301に対してなしたスクラッチ操作を、ユーザに提示するためのオブジェクトである。従って、この移動体は、基本的には、ユーザがなしたスクラッチ操作に従って、画面内において所定の中心の周りを移動(回転)する。表示部605は、例えば、CPU 101と画像処理部107とモニター112とにより構成される。
【0113】
ここで、表示部605は、(a)判定部604により、課題回転速度と操作回転速度とが所定の基準で一致すると判定された場合、移動体が課題回転速度で移動(回転)するように表示する。これに対し、表示部605は、(b)判定部604により、課題回転速度と操作回転速度とが所定の基準で一致しないと判定された場合、移動体が操作回転速度で移動(回転)するように表示する。
【0114】
具体的には、表示部605は、ユーザによるスクラッチ操作が概ね成功したと判別されたとき、ターンテーブル301が課題通りの速さならびに向きで回転している様子を、移動体を用いて画面内に表示する。これに対し、表示部605は、ユーザによるスクラッチ操作が概ね失敗したと判別されたとき、ターンテーブル301が検知された速さならびに向きで回転している様子を、移動体を用いて画面内に表示する。
【0115】
次に、図7を参照して、課題回転速度について説明する。課題回転速度は、ユーザがなすべきスクラッチ操作(模範的なスクラッチ操作)の回転の速さならびに向きを表す。また、課題回転速度は、ゲームが開始された時刻から当該スクラッチ操作をなすべき時刻までの時間(以下、適宜「経過時間」という)に対応付けられて、DVD−ROMなどにあらかじめ記憶されている。
【0116】
図7に示す例では、経過時間の単位は、ms(ミリ秒)であるが、画面表示更新回数などであってもよい。なお、画面表示更新の周期は、例えば、1/60s(秒)である。また、図7に示す例では、課題回転速度の単位は、rad/s(ラジアン/秒)であるが、°/ms(度/ミリ秒)などであってもよい。課題回転速度は、符号付きの数値で表現される。ここで、「+」は、回転させるべき向きが時計回りであることを示し、「−」は、回転させるべき向きが反時計回りを示すものとする。
【0117】
図7の表における1行目は、経過時間が5000msであり、課題回転速度が+4πrad/sである。従って、1行目は、ゲームが開始されてから5000msが経過した時刻に、スクラッチ操作によって、1秒間に2回転する速さで、ターンテーブル301を時計回りに回転させることがユーザに課せられた課題であることを示している。
【0118】
本実施形態では、楽曲の再生が開始されてからの経過時間に対応付けられた課題回転速度により、楽曲の再生中にユーザがなすべきスクラッチ操作を表現している。従って、楽曲の再生が開始されてからの経過時間が所定の時間となったときになすべきスクラッチ操作が課題通りになされたか否かは、当該所定の時間に検知された操作回転速度が、当該所定の時間に対応付けられた課題回転速度と所定の基準において一致するか否かにより判定される。
【0119】
本実施形態では、1つの経過時間に対応付けられた課題回転速度(図7に示す表の1行)により1つのスクラッチ操作を表現する。従って、1行分の課題が成功したと判定された場合、当該1行に対応付けられた1つのスクラッチ操作が成功したと判定される。
【0120】
次に、図8A、図8B、図9A、図9B、図10A、図10Bを参照して、課題とされるスクラッチ操作と、検知されたスクラッチ操作と、をユーザに提示する手法について説明する。
【0121】
まず、図8Aを参照して、画面内に表示される、テーブル図形810と移動体820とについて説明する。
【0122】
テーブル図形810は、ターンテーブル301を模した図形であり、中心点811を中心とする円状の図形である。テーブル図形810は、ターンテーブル301を上面から見た様子を表す図形ということもできる。テーブル図形810は、楽曲の再生とともに中心点811を中心にして回転してもよいし、回転しなくてもよい。
【0123】
移動体820は、画面内において、中心点811の周りを回転する図形である。移動体820は、基本的には、検知されたスクラッチ操作をユーザに提示するための図形である。より詳細には、移動体820は、課題回転速度と操作回転速度とが所定の基準で一致すると判定された場合、中心点811を中心にして課題回転速度で回転する図形であり、課題回転速度と操作回転速度とが所定の基準で一致しないと判定された場合、中心点811を中心にして操作回転速度で回転する図形である。つまり、スクラッチ操作が概ね成功していると判定されている間、移動体820は、手の模範的な動きを表す。一方、スクラッチ操作が概ね失敗していると判定されている間、移動体820は、手の実際の動きを表す。
【0124】
移動体820の形状や位置は、適宜調整が可能である。例えば、図8Aに示すように、円形のテーブル図形810と内接するように、円形の移動体820が表示されてもよい。このとき、移動体820のテーブル図形810内における位置は、ターンテーブル301においてユーザにより押圧されている位置を表すと考えることができる。
【0125】
次に、図8Bを参照して、画面内に表示される目標体830について説明する。
【0126】
目標体830は、画面内において、中心点811の周りを課題回転速度で回転する図形である。目標体830は、模範的なスクラッチ操作をユーザに提示するための図形である。従って、ユーザは、目標体830の動きを参考にしてスクラッチ操作を行う。
【0127】
目標体830の形状や位置は、適宜調整が可能である。例えば、図8Bに示すように、円形のテーブル図形810の円周上に、円形の目標体830が表示されてもよい。このとき、目標体830のテーブル図形810内における位置は、ターンテーブル301においてユーザにより押圧されるべき位置を表すと考えることができる。
【0128】
なお、スクラッチ操作においては、ターンテーブル301を回転させる速度や回転量が重要であり、ターンテーブル301上のどこを押圧するかは重要でない場合が多い。従って、移動体820と目標体830とをターンテーブル301上のどこに表示するかは任意である。しかしながら、移動体820と目標体830とがターンテーブル301上の全く別の位置に表示されると、模範的なスクラッチ操作をユーザに分かり易く提示することが難しくなる。従って、ユーザのスクラッチ操作により表示位置が決定される移動体820の近傍に、模範的なスクラッチ操作における押圧位置を示す目標体830を表示することが望ましい。かかる構成によれば、ユーザは、移動体820が目標体830に重なるもしくは近づくようにスクラッチ操作を行うことで模範的なスクラッチ操作をし易くなる。
【0129】
また、目標体830は、ユーザがなすべきスクラッチ操作をユーザに提示するための図形である。従って、画面内における目標体830の動きは、ユーザが予測できることが望ましい。本実施形態では、画面内において、所定の方向に向かって移動する線と、テーブル図形810の円周と、の交点に目標体830が表示されるものとする。かかる構成によれば、ユーザは、線の形状ならびに動きを参照して、画面内における目標体830の動きを予測することができる。
【0130】
例えば、図9Aに示すように、画面内に、テーブル図形810と移動体820と目標体830とに加え、線840と軸850とを表示する。
【0131】
線840は、模範的なスクラッチ操作をするためにターンテーブル301を回転させる速さならびに向きの変化を示す線である。線840は、画面内において、軸850の矢印が示す方向に一定の速度で移動する。図9Aにおいては、線840は、右方向に一定の速度で平行移動する。
【0132】
軸850は、線840の画面内における位置を明確にするための基準であり、また、線840が画面内において移動する方向を示す。図9Aに示す例では、軸850は、画面内において左から右に水平方向に伸びる矢印で表現され、中心点811に重なるように表示されている。軸850は、時間軸と考えることができる。
【0133】
ここで、線840とテーブル図形810の円周との交点に、目標体830が表示される。そして、目標体830が軸850よりも上方向にあることは、時計回りのスクラッチ操作が要求されていることを意味し、目標体830が軸850よりも下方向にあることは、反時計回りのスクラッチ操作が要求されていることを意味する。目標体830が軸850上にあることは、スクラッチ操作が要求されていないことを意味する。
【0134】
また、移動体820が軸850よりも上方向にあることは、時計回りのスクラッチ操作が検知されていることを意味し、移動体820が軸850よりも下方向にあることは、反時計回りのスクラッチ操作が検知されていることを意味する。移動体820が軸850上にあることは、スクラッチ操作が検知されていないことを意味する。
【0135】
線840は、図7に示す課題を表す表に基づいて生成することができる。例えば、課題回転速度を時間で積分することにより、課題とされる回転位置(回転量)を求めることができる。そして、線840とテーブル図形810の円周との交点の位置により課題とされる回転位置(回転量)が示されるように、線840が表示される。なお、ユーザは、課題とされる回転位置(回転量)の変化量を、課題回転速度と認識することができる。従って、図9Aにおいては、線840は、課題とされる回転位置(回転量)だけでなく、課題回転速度をも示すものと考えることができる。
【0136】
図9Aは、線840とテーブル図形810の円周との交点が軸850上にあり、線840のこの交点よりも左側の部分が軸850よりも上側に伸びている例を示している。従って、図9Aは、現地点においてはスクラッチ操作が要求されていないが、近い将来に時計回り方向のスクラッチ操作が要求されることを示している。一方、図9Aでは、ユーザによるスクラッチ操作が検知されていないために、移動体820が軸850上に配置されている様子を示している。
【0137】
図9Bは、線840とテーブル図形810の円周との交点上に配置された目標体830が、中心点811を中心にして時計回り方向に回転している例を示している。従って、図9Bは、時計回り方向のスクラッチ操作が要求されていることを示している。一方、図9Bでは、ユーザによる時計回り方向のスクラッチ操作が検知されているために、移動体820が目標体830とともに中心点811を中心にして時計回り方向に回転している様子を示している。なお、本実施形態では、検知されたスクラッチ操作の回転の向きが、課題回転速度により示される回転の向きと一致さえすれば、検知されたスクラッチ操作の回転の速さにかかわらず、移動体820は課題回転速度で回転するものとする。
【0138】
図10Aは、線840とテーブル図形810の円周との交点上に配置された目標体830が、中心点811を中心にして時計回り方向に回転している例を示している。従って、図10Aは、時計回り方向のスクラッチ操作が要求されていることを示している。一方、図10Aでは、ユーザによる反時計回り方向のスクラッチ操作が検知されているために、移動体820が中心点811を中心にして反時計回り方向に回転している様子を示している。この場合、移動体820は、操作回転速度で回転するように表示される。
【0139】
図10Bは、線840とテーブル図形810の円周との交点上に配置された目標体830が、依然として中心点811を中心にして時計回り方向に回転している例を示している。従って、図10Bは、依然として時計回り方向のスクラッチ操作が要求されていることを示している。一方、図10Bでは、ユーザによる時計回り方向のスクラッチ操作が検知されたために、移動体820が目標体830の近傍に瞬間的に移動し、その後、移動体820が目標体830とともに中心点811を中心にして時計回り方向に回転している様子を示している。この場合、移動体820は、基準回転速度で回転するように表示される。
【0140】
このように、本実施形態では、操作回転速度と基準回転速度とが所定の基準において一致すると判定された場合、移動体820は基準回転速度で回転するように表示され、操作回転速度と基準回転速度とが所定の基準において一致しないと判定された場合、移動体820は操作回転速度で回転するように表示される。
【0141】
次に、本実施形態に係るゲーム装置600の動作について、図11を参照して説明する。図11は、本実施形態に係るゲーム装置600が実行するゲーム制御処理を示すフローチャートである。なお、図11に示すゲーム制御処理は、例えば、プレイ対象の楽曲が選択された後に実行される処理である。
【0142】
まず、CPU 101は、初期化処理を実行する(ステップS101)。ここでは、CPU 101は、選択された楽曲の音声データや課題回転速度などを、CD−ROMから読み出し、RAM 103に記憶する。また、CPU 101は、課題回転速度に基づいて、線840の表示位置などを算出する。さらに、CPU 101は、移動体820や目標体830の表示位置を初期化する。また、CPU 101は、RTC 111を参照して現在時刻を取得し、ゲームが開始された時刻(以下「ゲーム開始時刻」という。)としてRAM 103に記憶する。なお、移動体820や目標体830などの表示位置を示す情報は、RAM 103などに記憶されるものとする。
【0143】
CPU 101は、ステップS101の処理を完了すると、楽曲の再生を開始する(ステップS102)。具体的には、CPU 101は、音声処理部110と協働して、RAM 103に記憶されている音声データをアナログ信号に変換し、スピーカー(図示せず)に供給する処理を開始する。一方、スピーカーは、供給されたアナログ信号に基づいて、音声の出力を開始する。また、CPU 101は、ターンテーブル301を楽曲のテンポに合わせて時計回りに回転させるための制御信号を生成して、制御装置305に供給する処理を開始する。一方、制御装置305は、供給された制御信号に従ってターンテーブル301を回転させる処理を開始する。また、制御装置305は、ロータリーエンコーダ304から供給される2相のパルス信号に基づいて、回転速度信号を生成する処理を開始する。
【0144】
CPU 101は、ステップS102の処理を完了すると、現在時刻が課題回転速度と操作回転速度とを比較すべき時刻(以下「回転速度比較時刻」という。)であるか否かを判別する(ステップS103)。具体的には、CPU 101は、ゲーム開始時刻から現在時刻に至るまでの時間が、RAM 103に記憶されている経過時間のうちのいずれかと一致するか否かを判別する。
【0145】
CPU 101は、現在時刻が回転速度比較時刻であると判別すると(ステップS103:YES)、操作回転速度を取得する(ステップS104)。具体的には、CPU 101は、制御装置305から供給される回転速度信号を解析して操作回転速度を求める。
【0146】
CPU 101は、ステップS104の処理を終了すると、課題回転速度を取得する(ステップS105)。具体的には、CPU 101は、RAM 103に記憶されている経過時間のうち、ゲーム開始時刻から現在時刻に至るまでの時間と一致する経過時間を選択し、選択した経過時間に対応付けられてRAM 103に記憶されている課題回転速度を読み出す。
【0147】
CPU 101は、ステップS105の処理を終了すると、目標体830の表示位置を課題回転速度に対応させる(ステップS106)。CPU 101は、例えば、課題回転速度により表される回転の速さならびに向きを取得し、目標体830の表示位置を、課題回転速度により示される回転の速さに応じた角度だけ、課題回転速度により示される回転の向きに移動させる。なお、目標体830の表示位置は、RAM 103内において上書きされる。
【0148】
CPU 101は、ステップS106の処理を終了すると、課題とされた向きと検知された向きとが一致するか否かを判別する(ステップS107)。具体的には、CPU 101は、取得された課題回転速度により示される回転の向きと、取得された操作回転速度により示される回転の向きと、が一致するか否かを判別する。
【0149】
CPU 101は、課題とされた向きと検知された向きとが一致すると判別すると(ステップS107:YES)、移動体820の表示位置を課題回転速度に対応させる(ステップS108)。なお、目標体830の表示位置は、課題回転速度に対応する。従って、CPU 101は、移動体820の表示位置を、目標体830の表示位置の近傍に移動する。なお、移動体820の表示位置は、RAM 103内において上書きされる。
【0150】
CPU 101は、ステップS108の処理を終了すると、スクラッチ操作が成功したと判定する(ステップS109)。つまり、本実施形態では、課題とされた向きと検知された向きとが一致することが、スクラッチ操作が成功したと判定される条件となる。スクラッチ操作が成功とされたことを示す情報は、経過時間に対応付けられてRAM 103に記憶される。なお、CPU 101は、スクラッチ操作が成功した場合、適宜、得点を加算する。
【0151】
一方、CPU 101は、課題とされた向きと検知された向きとが一致しないと判別すると(ステップS107:NO)、移動体820の表示位置を操作回転速度に対応させる(ステップS110)。具体的には、CPU 101は、移動体820の表示位置を、操作回転速度により示される回転の速さに応じた角度だけ、操作回転速度により示される回転の向きに移動させる。なお、移動体820の表示位置は、RAM 103内において上書きされる。
【0152】
CPU 101は、ステップS110の処理を終了すると、スクラッチ操作が失敗したと判定する(ステップS111)。つまり、本実施形態では、課題とされた向きと検知された向きとが一致しないことが、スクラッチ操作が失敗したと判定される条件となる。スクラッチ操作が失敗とされたことを示す情報は、経過時間に対応付けられてRAM 103に記憶される。
【0153】
CPU 101は、回転速度比較時刻ではないと判別した場合(ステップS103:NO)、または、ステップS109もしくはステップS111の処理を終了した場合、現在時刻が画面表示更新時刻であるか否かを判別する(ステップS112)。具体的には、CPU 101は、RTC 111を参照して現在時刻を取得し、取得した現在時刻が、前回画面を更新した時刻から画面更新周期以上経過した時刻であるか否かを判別する。
【0154】
CPU 101は、現在時刻が画面表示更新時刻であると判別した場合(ステップS112:YES)、移動体820と目標体830とを画面内に表示する(ステップS113)。具体的には、CPU 101は、画像処理部107と協働して、画面内に移動体820と目標体830とを表示するための画像信号を生成する。なお、CPU 101は、RAM 103に記憶されている、移動体820の表示位置と目標体830の表示位置とを参照して、画像信号を生成する。そして、CPU 101は、生成した画像信号を、モニター112に供給する。一方、モニター112は、供給された画像信号に従って、移動体820と目標体830とを画面内に表示する。なお、CPU 101は、RTC 111を参照して現在時刻を取得し、取得した現在時刻を、最後に画面を更新した時刻としてRAM 103に記憶する。
【0155】
CPU 101は、現在時刻が画面表示更新周期ではないと判別した場合(ステップS112:NO)、もしくは、ステップS113の処理を終了した場合、ステップS103に処理を戻す。
【0156】
本実施形態に係るゲーム装置600によれば、検知されたスクラッチ操作が課題とされたスクラッチ操作と概ね一致している場合、スクラッチ操作が上手になされていることをユーザに分かり易く提示することができる。
【0157】
(変形例)
本発明は、上記実施形態に限られるものではなく、種々の変形が可能である。
【0158】
上記実施形態では、課題回転速度により示される回転の向きと、操作回転速度により示される回転の向きと、が一致する場合、移動体820が課題回転速度に従って回転する例を示した。しかし、本発明において、移動体820を課題回転速度に従って回転させる条件は、適宜調整が可能である。
【0159】
例えば、課題回転速度により示される回転の向きと、操作回転速度により示される回転の向きと、が一致し、さらに、課題回転速度により示される回転の速さと、操作回転速度により示される回転の速さと、の差が所定の閾値以内である場合、移動体820が課題回転速度に従って回転するようにしてもよい。かかる構成によれば、スクラッチ操作が課題通りになされていると判定する基準を調整することができる。例えば、初心者ほど、この閾値を大きく設定し、上級者ほど、この閾値を小さく設定する。これにより、ユーザのレベルに応じて、スクラッチ操作が課題通りになされているか否かを分かり易くユーザに提示することができる。
【0160】
上記実施形態では、移動体820を課題回転速度に従って回転させると判定される条件と、スクラッチ操作が成功したと判定される条件と、が同じ条件である例を示した。しかしながら、移動体820を課題回転速度に従って回転させるか否かを判定する条件と、スクラッチ操作が成功したか否かを判定する条件と、は異なる条件であってもよい。例えば、検知された回転の向きが課題とされる回転の向きと一致することを、移動体820を課題回転速度に従って回転させる条件とし、検知された回転の向きが課題とされる回転の向きと一致し、さらに、検知された回転の速さが課題とされる回転の速さとが所定の閾値以内であることを、スクラッチ操作が成功したと判定する条件とすることができる。かかる構成によれば、例えば、検知されたスクラッチ操作が課題とされるスクラッチ操作と多少異なる場合、スクラッチ操作があたかも成功しているように画面表示しながら、得点は厳格に算出することができる。この場合、ユーザが気分を損ねることやユーザがリズムを崩すことを防止することが期待できる。
【0161】
上記実施形態では、検知されたスクラッチ操作の回転の速度と、課題とされるスクラッチ操作の回転の速度と、が比較されて、スクラッチ操作の適切か否かなどが判定される例を示した。しかしながら、本発明において、検知されたスクラッチ操作の回転量(回転角度)と、課題とされるスクラッチ操作の回転量と、が比較されて、スクラッチ操作が適切か否かなどが判定されてもよい。なお、回転量は、例えば、制御装置305が、2相のパルス信号のうちの一方のパルス信号のパルス数を累積してカウントすることにより、容易に求めることができる。
【0162】
上記実施形態では、1つの経過時間に対応付けられた課題回転速度(図7に示す表の1行)により1つのスクラッチ操作を表現する例を示した。しかし、本発明において、複数の経過時間に対応付けられた複数の課題回転速度(図7に示す表の複数行)により、1つのスクラッチ操作を表現してもよい。このとき、複数行分の課題のうちの所定個数以上の課題が成功したと判定された場合、当該複数行に対応付けられた1つのスクラッチ操作が成功したと判定されてもよい。
【0163】
上記実施形態では、線840が、課題とされる回転位置(回転量)を示すものとして表示される例を示した。しかし、本発明において、線840が、課題回転速度を示すものとして表示されてもよい。
【0164】
上記実施形態では、テーブル図形810と移動体820と目標体830と線840と軸850とが、画面内に表示される例を示した。しかしながら、本願発明において、画面内に表示されるものは、適宜調整することが可能である。例えば、上記図形のうち、移動体820と目標体830とのみが画面内に表示される場合でも、ユーザがなすべきスクラッチ操作と、実際にユーザがなしたスクラッチ操作と、をユーザに知らせることができる。
【産業上の利用可能性】
【0165】
以上説明したように、本発明によれば、提示されるタイミングに合わせてユーザが操作入力を行うゲームにおいて、ユーザによりなされた操作入力の正確さを分かり易く提示するのに好適なゲーム装置、ゲーム制御方法、ならびに、これらをコンピュータにより実現するためのプログラムを提供することができる。
【符号の説明】
【0166】
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
111 RTC
112 モニター
113 操作受付装置
201 ↑ボタン
202 ↓ボタン
203 ←ボタン
204 →ボタン
205 ○ボタン
206 ×ボタン
207 △ボタン
208 □ボタン
209 SELECTボタン
210 STARTボタン
211 ANALOGボタン
212 インジケータ
213、214 ジョイスティック
215 L1ボタン
216 L2ボタン
217 R1ボタン
218 R2ボタン
301 ターンテーブル
302 回転軸
303 アクチュエータ
304 ロータリーエンコーダ
305 制御装置
306 アクチュエータ用ケーブル
307 ロータリーエンコーダ用ケーブル
308 台座
309 外部ケーブル
600 ゲーム装置
601 検知部
602 操作取得部
603 時間取得部
604 判定部
605 表示部
810 テーブル図形
811 中心点
820 移動体
830 目標体
840 線
850 軸

【特許請求の範囲】
【請求項1】
ゲーム開始時点からの経過時間に、ユーザが達成すべき回転の向きならびに速さを課題回転速度として対応付けるゲームを実現するゲーム装置であって、
ユーザの操作を検知する検知部、
前記検知された操作に対応付けられる回転の向きならびに速さを、操作回転速度として取得する操作取得部、
当該ゲーム開始時点からの経過時間を取得する時間取得部、
前記取得された経過時間に対応付けられる課題回転速度と、前記取得された操作回転速度と、が所定の基準で一致するか否かを判定する判定部、
円弧上を前記課題回転速度で移動する目標体と、前記円弧上を移動可能な移動体と、を画面内に表示する表示部
を備え、
前記表示部は、
(a)前記判定部により、前記課題回転速度と前記操作回転速度とが前記所定の基準で一致すると判定された場合、前記移動体が前記円弧上を前記課題回転速度で移動するように表示し、
(b)前記判定部により、前記課題回転速度と前記操作回転速度とが前記所定の基準で一致しないと判定された場合、前記移動体が前記円弧上を前記操作回転速度で移動するように表示する
ことを特徴とするゲーム装置。
【請求項2】
請求項1に記載のゲーム装置であって、
前記表示部は、所定の速度で移動する曲線と前記円弧とをさらに前記画面内に表示し、前記曲線と前記円弧との交点上に前記目標体を表示する
ことを特徴とするゲーム装置。
【請求項3】
請求項1または2に記載のゲーム装置であって、
前記表示部は、前記判定部により、前記課題回転速度と前記操作回転速度とが前記所定の基準で一致しないと判定された直後に、両者が一致すると判定された場合、前記移動体が前記画面内において表示される位置を、前記目標体が前記画面内において表示される位置に近づくように瞬間移動する
ことを特徴とするゲーム装置。
【請求項4】
請求項1乃至3のいずれか1項に記載のゲーム装置であって、
前記判定部は、前記課題回転速度の向きと、前記操作回転速度の向きと、が、一致する場合、前記課題回転速度と、前記操作回転速度と、が、前記所定の基準において一致すると判定する
ことを特徴とするゲーム装置。
【請求項5】
ゲーム開始時点からの経過時間に、ユーザが達成すべき回転の向きならびに速さを課題回転速度として対応付けるゲームを実現するゲーム装置が実行するゲーム制御方法であって、
前記ゲーム装置は、検知部、操作取得部、時間取得部、判定部、表示部を備え、
前記検知部が、ユーザの操作を検知する検知工程、
前記操作取得部が、前記検知された操作に対応付けられる回転の向きならびに速さを、操作回転速度として取得する操作取得工程、
前記時間取得部が、当該ゲーム開始時点からの経過時間を取得する時間取得工程、
前記判定部が、前記取得された経過時間に対応付けられる課題回転速度と、前記取得された操作回転速度と、が所定の基準で一致するか否かを判定する判定工程、
前記表示部が、円弧上を前記課題回転速度で移動する目標体と、前記円弧上を移動可能な移動体と、を画面内に表示する表示工程
を備え、
前記表示部は、
(a)前記判定部により、前記課題回転速度と前記操作回転速度とが前記所定の基準で一致すると判定された場合、前記移動体が前記円弧上を前記課題回転速度で移動するように表示し、
(b)前記判定部により、前記課題回転速度と前記操作回転速度とが前記所定の基準で一致しないと判定された場合、前記移動体が前記円弧上を前記操作回転速度で移動するように表示する
ことを特徴とするゲーム制御方法。
【請求項6】
コンピュータを、
ゲーム開始時点からの経過時間に、ユーザが達成すべき回転の向きならびに速さを課題回転速度として対応付けるゲームを実現するゲーム装置として機能させるプログラムであって、
前記プログラムは、前記コンピュータを、
ユーザの操作を検知する検知部、
前記検知された操作に対応付けられる回転の向きならびに速さを、操作回転速度として取得する操作取得部、
当該ゲーム開始時点からの経過時間を取得する時間取得部、
前記取得された経過時間に対応付けられる課題回転速度と、前記取得された操作回転速度と、が所定の基準で一致するか否かを判定する判定部、
円弧上を前記課題回転速度で移動する目標体と、前記円弧上を移動可能な移動体と、を画面内に表示する表示部
として機能させ、
前記表示部は、
(a)前記判定部により、前記課題回転速度と前記操作回転速度とが前記所定の基準で一致すると判定された場合、前記移動体が前記円弧上を前記課題回転速度で移動するように表示し、
(b)前記判定部により、前記課題回転速度と前記操作回転速度とが前記所定の基準で一致しないと判定された場合、前記移動体が前記円弧上を前記操作回転速度で移動するように表示する
ことを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図9A】
image rotate

【図9B】
image rotate

【図10A】
image rotate

【図10B】
image rotate

【図11】
image rotate


【公開番号】特開2013−13438(P2013−13438A)
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願番号】特願2011−146273(P2011−146273)
【出願日】平成23年6月30日(2011.6.30)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】