説明

ゲーム装置、動作判定方法、および、プログラム

【課題】プレイヤによるコントローラを振る動作において、その動作方向を適切に判定することのできるゲーム装置等を提供する。
【解決手段】測定情報取得部340は、ゲームが開始されると、各コントローラの加速度情報を含む測定情報を取得する。処理制御部350は、各コントローラに対応した加速度情報に基づいて、プレイヤによるコントローラを振る動作がなされたことを検出する。すると、処理制御部350は、振る動作が検出されたコントローラの動作方向を、そのコントローラの加速度情報に基づいて判定し、更に、判定した動作方向を、両コントローラにおける各基準方向(上面法線方向)がどれだけ違っているかに応じて補正する。そして、処理制御部350は、補正後の動作方向を含む動作情報と課題情報とを比較して、プレイヤによるコントローラを振る動作を評価する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プレイヤによるコントローラを振る動作において、その動作方向を適切に判定することのできるゲーム装置、動作判定方法、および、プログラムに関する。
【背景技術】
【0002】
近年、新たな発想の入力デバイスを、コントローラとしたゲーム装置が普及してきている。
このコントローラは、例えば、テレビ等のリモコン(リモートコントローラ)と類似した外観を有し、ゲーム装置とワイヤレス(無線通信等)で接続され、プレイヤが片手で持ってそのまま操作可能となっている。
【0003】
プレイヤは、このコントローラを用いて、種々のゲームをプレイすることができる。例えば、画面上に表示されたオブジェクト(標的や敵キャラクタ等)を、コントローラから狙って射撃等を行うゲームや、画面の指示や表示状況等に応じて、コントローラを所定方向に動かす等の動作を行う体感型のゲームである。
このようなコントローラには、一例として、3軸の加速度センサが埋設されており、プレイヤがコントローラを任意に動かすと、3軸方向(上下方向、左右方向、及び、前後方向)の加速度を計測して、コントローラの動きを得ることができるようになっている。
【0004】
このようなコントローラを用いたゲーム装置の技術として、コントローラにより指し示された画面上の照準位置を適切に補正することのできる発明が開示されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−260347号公報(第7−14頁、第3図)
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述したように、加速度センサが埋設されたコントローラは、プレイヤによる任意の動作(コントローラを所定方向に動かす等の動作)を得ることができる。
しかしながら、コントローラを振るなどの動きが激しい(速度の速い)動作の場合には、得られる精度が低下してしまう場合があった。
【0007】
例えば、図10(a)に示すようなコントローラCntを振る動作において、斜め方向の動きを適切に判定することができない場合がある。
具体的には、図10(b)に示すように、X軸方向に水平となるように持ったコントローラCntをプレイヤがY軸方向に沿って下方向に振った場合と、図10(c)に示すように、X軸方向(Y軸方向)に対して傾けるように持ったコントローラCntを点線nに沿って斜め下方向に振った場合とでは、両者の違いを充分に得られない場合がある。
これは、加速度センサの特性によるところが大きい。つまり、コントローラCntを傾ける等のようなゆっくりとした動きであれば、3軸の加速度センサは、各軸における重力加速度の変化により、そのような動きを判定できる。それでも、コントローラCntを振る等のような激しい動きの場合には、重力加速度と動きによる加速度とを、はっきりと区別できない状況が生じ易くなる。
そのため、図10(b),(c)のように、現実に異なる方向に振られた場合に、何れも、コントローラCntを基準として、相対的に下方向に振られたところまでは明確に判定できるものの、図10(c)の動作が、現実の斜め方向に振られたと適切に判定できない場合があった。
【0008】
このような不都合を解消すべく、従来では、コントローラの持ち方を一律に定め、プレイヤにその持ち方のまま、コントローラを振る動作を行ってもらうようにしていた。
具体的には、図10(d)に示すように、コントローラCntをX軸方向に水平となるように持ってもらい、その状態を維持したまま、各方向に振ってもらっていた。例えば、斜め下方向へ振る場合には、コントローラCntをその状態のまま点線に沿って、振ってもらっていた。つまり、加速度センサで測定される加速度の方向が、そのままコントローラCntを振った方向となるように、コントローラCntの姿勢を変えずに(ひねらないように)振ることを、プレイヤに要求していた。
【0009】
要求されるこのような動作は、普通に物を持って振る場合の動作と異なっており、極めて不自然であるため、プレイし難いものとなっていた。つまり、物を持って斜め方向に振る場合には、通常手首をひねって、例えば、図10(c)のように、コントローラCntをある程度傾けることになる。
そのため、図10(d)のように、コントローラCntの姿勢を変えないように斜め方向に振ることが要求されていたとしても、プレイヤは、無意識のうちにある程度手首をひねって振ってしまっていた。つまり、図10(c)のように、コントローラCntを傾けて振った場合に近いものとなっていた。
そうすると、加速度センサが、下方向(コントローラCntを基準とした下方向)の加速度を大きく計測するため、結果的に、図10(b)のように、下向きに振られたと誤って判定されてしまうことになる。
【0010】
このように、プレイヤの意識では、要求通りにコントローラを斜め下方向に振っているにも拘わらず、ゲームにおいては、下に振っていると誤判定され易くなるため、ゲームの得点等が思うように伸びないことになる。その結果、このようなコントローラを使ったゲームが難しいと誤解してしまうプレイヤも多かった。
【0011】
このようなことから、プレイヤがコントローラを斜め方向に振った場合でも、精度を上げて適切に判定できるゲーム装置の技術が求められていた。
【0012】
本発明は、このような課題を解決するためになされたもので、プレイヤによるコントローラを振る動作において、その動作方向を適切に判定することのできるゲーム装置、動作判定方法、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明の第1の観点に係るゲーム装置は、所定のセンサ素子をそれぞれ有する複数のコントローラの動作を判定するゲーム装置であって、、測定情報取得部、動作検出部、及び、動作方向特定部を含んで構成される。
【0014】
まず、測定情報取得部は、各センサ素子にてそれぞれ測定される各コントローラの動きを示す測定情報(例えば、加速度情報)を取得する。また、動作検出部は、取得された各測定情報に基づいて、コントローラの動作を検出する。そして、動作方向特定部は、動作が検出されたコントローラの動作方向を、各コントローラにおける各基準方向の関係に基づいて特定する。例えば、動作方向特定部は、取得された加速度情報によって、コントローラを振る動作と動作方向を検出し、検出した動作方向を、各コントローラにおける各上面法線方向の関係に基づいて補正する。つまり、振られた方のコントローラの動作方向を、各コントローラの上面法線方向がどれだけ違っているかに応じて補正する。
これにより、プレイヤが一方のコントローラを斜め方向に振った場合でも、振られていない他方のコントローラとの関係を利用して、その動作方向を適切に判定することができる。
この結果、プレイヤによるコントローラを振る動作において、その動作方向を適切に判定することができる。
【0015】
本発明の第2の観点に係るゲーム装置は、所定の加速度センサをそれぞれ有する1組のコントローラの動作を判定するゲーム装置であって、加速度情報取得部、動作検出部、動作方向判定部、及び、動作方向補正部を含んで構成される。
【0016】
まず、加速度情報取得部は、各加速度センサにてそれぞれ測定されれる各コントローラの加速度情報(例えば、3軸方向の加速度を含む加速度情報)を取得する。また動作検出部は、取得された各加速度情報に基づいて、一方のコントローラについて振る動作がなされたことを検出する。動作方向判定部は、振る動作が検出されたコントローラの動作方向を、コントローラの加速度情報に基づいて判定する。例えば、動作方向判定部は、振る動作が検出されたコントローラの加速度情報によって、コントローラを基準とした相対的な動作方向を判定する。そして、動作方向補正部は、判定された動作方向を、両コントローラにおける各基準方向の関係に基づいて補正する。例えば、動作方向補正部は、両コントローラにおける各上面法線方向の関係に基づいて、動作方向を補正する。つまり、振られた方のコントローラの動作方向を、各コントローラの上面法線方向がどれだけ違っているかに応じて補正する。
これにより、プレイヤが一方のコントローラを斜め方向に振った場合でも、振られていない他方のコントローラとの関係を利用して、その動作方向を適切に判定することができる。
この結果、プレイヤによるコントローラを振る動作において、その動作方向を適切に判定することができる。
【0017】
動作方向補正部は、両コントローラにおける各上面法線方向の角度差に基づいて、動作方向判定部により判定された動作方向を補正してもよい。
例えば、角度差が基準値よりも大きい場合に、コントローラの動作方向を斜め方向(絶対的な方向)に補正する。一方、角度差が基準値以下の場合に、コントローラの動作方向を絶対的な方向として確定する。
この場合、振られたコントローラの上面法線方向と、振られていないコントローラの上面法線方向との角度差を利用して、振られたコントローラの動作方向を適切に補正することができる。
【0018】
動作方向補正部は、振る動作が検出されたコントローラの加速度情報と、他方のコントローラの加速度情報との差分に基づいて、動作方向判定部により判定された動作方向を補正してもよい。
例えば、振る動作が検出されたコントローラのy軸方向の加速度と、他のコントローラのy軸方向の加速度との差分に基づいて、コントローラの動作方向を補正する。
この場合、振る動作が検出されたコントローラの加速度情報から、ほぼ重力加速度分の加速度を引くことにより、振られたコントローラの動作方向を適切に補正することができる。
【0019】
各コントローラは、少なくとも3軸方向の加速度を測定可能な加速度センサを有しており、
動作方向判定部は、3軸方向の加速度情報に基づいて、当該コントローラの動作方向を判定し、
動作方向補正部は、両コントローラの各加速度情報における3軸方向のうち1つの軸方向を基準とした加速度情報を用いて、動作方向判定部により判定された動作方向を補正してもよい。
この場合、3軸方向の加速度を用いて、動作方向の判定とその補正を行うことができる。
【0020】
本発明の第3の観点に係る動作判定方法は、所定のセンサ素子をそれぞれ有する複数のコントローラ、情報取得部、及び、演算処理部を有するゲーム装置における動作判定方法であって、測定情報取得ステップ、動作検出ステップ、及び、動作方向特定ステップを含んで構成される。
【0021】
まず、測定情報取得ステップでは、各センサ素子にてそれぞれ測定される各コントローラの動きを示す測定情報(例えば、加速度情報)を取得する。また、動作検出ステップでは、取得された各測定情報に基づいて、コントローラの動作を検出する。そして、動作方向特定ステップでは、動作が検出されたコントローラの動作方向を、各コントローラにおける各基準方向の関係に基づいて特定する。例えば、動作方向特定ステップは、取得された加速度情報によって、コントローラを振る動作と動作方向を検出し、検出した動作方向を、各コントローラにおける各上面法線方向の関係に基づいて補正する。つまり、振られた方のコントローラの動作方向を、各コントローラの上面法線方向がどれだけ違っているかに応じて補正する。
これにより、プレイヤが一方のコントローラを斜め方向に振った場合でも、振られていない他方のコントローラとの関係を利用して、その動作方向を適切に判定することができる。
この結果、プレイヤによるコントローラを振る動作において、その動作方向を適切に判定することができる。
【0022】
本発明の第4の観点に係るプログラムは、コンピュータ(電子機器を含む。)を、上記のゲーム装置として機能させるように構成する。
【0023】
このプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。
【0024】
上記プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、当該コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0025】
本発明によれば、プレイヤによるコントローラを振る動作において、その動作方向を適切に判定することができる。
【図面の簡単な説明】
【0026】
【図1】本発明のゲーム装置が実現される典型的な情報処理装置の概要構成を示す模式図である
【図2】コントローラユニットの概要を説明するための外観図である。
【図3】本発明の実施形態に係るゲーム装置の概要構成を示す模式図である。
【図4】生成されるゲーム画像の一例を示す模式図である。
【図5】(a)〜(d)全て、コントローラの動作方向の判定について説明するための模式図である。
【図6】(a),(b)共に、動作方向の補正について説明するための模式図である。
【図7】(a)〜(f)全て、動作方向の他の補正手法を説明するための模式図である。
【図8】(a),(b)共に、評価の様子を説明するための模式図である。
【図9】本発明の実施形態に係る動作評価処理を説明するためのフローチャートである。
【図10】(a)〜(d)全て、従来のコントローラの振り方を説明するための模式図である。
【発明を実施するための形態】
【0027】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム装置に本発明が適用される実施形態を説明するが、各種のコンピュータ、PDA、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素または全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例1】
【0028】
図1は、本発明の実施形態に係るゲーム装置が実現される典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【0029】
情報処理装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、インターフェース104と、コントローラユニット105と、外部メモリ106と、DVD(Digital Versatile Disc)−ROMドライブ107と、画像処理部108と、音声処理部109と、NIC(Network Interface Card)110と、を備える。
【0030】
なお、ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ107に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態のゲーム装置が実現される。
【0031】
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。
【0032】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0033】
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。
【0034】
インターフェース104を介して接続された、コントローラユニット105は、プレイヤがゲーム実行の際に行う動作等を受け付ける。より詳細には、後述するコントローラ210及びコントローラ220を左右の手で1つずつ把持したプレイヤが、例えば、コントローラ210,220を所定方向に振る動作を行うと、その動作に応じた測定情報(一例として、加速度情報等)を無線通信により受け付ける。なお、コントローラユニット105の詳細については後述する。
【0035】
インターフェース104を介して着脱自在に接続された外部メモリ106には、ゲームの進行状態を示すデータ、チャット通信のログ(記録)のデータなどが書き換え可能に記憶される。プレイヤは、コントローラユニット105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
【0036】
DVD−ROMドライブ107に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ107は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
【0037】
画像処理部108は、DVD−ROMから読み出されたデータをCPU 101や自身が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを自身が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号(映像信号)に変換され画像処理部108に接続されるモニタ(後述するディスプレイ290)へ出力される。これにより、各種の画像表示が可能となる。
【0038】
なお、画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0039】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ROM 102に記録されているが、DVD−ROMに記録された専用のフォント情報を利用することも可能である。
【0040】
音声処理部109は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、外部のスピーカ(後述するディスプレイ290のスピーカ)に供給して音声を出力させる。例えば、音声処理部109は、CPU 101による制御の下、ゲームの進行中に発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【0041】
NIC 110は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格に従うものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0042】
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ107に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
また、プレイヤからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。
【0043】
また、本実施形態の情報処理装置100にかえて、一般的なコンピュータ(汎用のパーソナルコンピュータ等)をゲーム装置として利用することもできる。たとえば、一般的なコンピュータは、上記情報処理装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、および、NICを備え、情報処理装置100よりも簡易な機能となる画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラではなく、キーボードやマウスなどを入力装置として利用する。そして、ゲームプログラムをインストールした後に、そのプログラムを実行させると、ゲーム装置として機能する。
【0044】
(コントローラユニットの概要)
図2は、上述したコントローラユニット105の概要を説明するための外観図である。
コントローラユニット105は、図示するような一組のコントローラ210,220とセンサバー230とを含んで構成される。各コントローラ210,220は、所定の接続ケーブルにて接続されている。また、情報処理装置100は、所定のケーブルを介してセンサバー230及びディスプレイ290とそれぞれ接続されている。
【0045】
コントローラ210は、主となるコントローラであり、例えば、テレビ等のリモコンと類似した外観を有し、情報処理装置100とワイヤレスで(無線通信によって)接続される。
一方、コントローラ220は、コントローラ210と接続された状態で使用される補助的なコントローラであり、接続されたコントローラ210を介して、情報処理装置100に情報を送信する。
プレイヤは、各コントローラ210,220を左右の手で1つずつ把持して、ゲームをプレイすることになる。一例として、プレイヤは、コントローラ210を右手で把持し、また、コントローラ220を左手で把持してプレイする。
【0046】
また、センサバー230は、所定の長さの棒状に形成され、例えば、ディスプレイ290の上部に、画面の向きに沿って適宜固定される。このセンサバー230には、両端に1つずつ発光素子231が埋設されている。なお、発光素子231の数は一例であり、両端に複数ずつ埋設されていてもよい。
センサバー230は、情報処理装置100から電源供給を受けて発光素子231を適宜発光させる。
【0047】
コントローラ210は、先端にCCDカメラ211が配置され、先端がディスプレイ290に向けられると、このCCDカメラ211がセンサバー230の2つの発光素子231(2つの発光点)を含む画像を撮影する。また、コントローラ210は、内部に無線通信部を備えており、撮影した画像の情報を、無線通信にて情報処理装置100に順次送信する。
そして、情報処理装置100は、コントローラ210から送られた画像中における2つの発光点の位置関係等に基づいて、コントローラ210の位置及び向き等を適宜取得する。例えば、CPU 101及び画像処理部108等は、コントローラ210から見える2つの発光点の位置関係等を解析して、コントローラ210の空間位置及び、その先端の向き(長手軸線の方向)を算定し、最終的に、プレイヤがコントローラ210を画面上のどこに向けて操作しているか等を取得する。
なお、このようなコントローラ210の位置等の計測は、例えば、垂直同期割り込み(1/60秒)毎に行われる。
【0048】
また、コントローラ210は、例えば、3軸の加速度センサを内部に備えており、コントローラ210の3軸方向の動き(加速度)を測定することが可能となっている。なお、このような加速度センサの代わりに、角速度センサや傾きセンサ等により、コントローラ210の動きを測定してもよい。
コントローラ210は、このような測定情報(例えば、3軸それぞれの加速度情報)を情報処理装置100に順次送信する。
そして、情報処理装置100は、コントローラ210から送られる測定情報に基づいて、コントローラ210の動きを検出する。例えば、プレイヤにより行われるコントローラ210を振る動作やその動作方向(振られた方向)等を取得する。
なお、このようなコントローラ210の動作検出(動きの検出)も、例えば、垂直同期割り込み毎に行われる。
【0049】
コントローラ210の上面には、十字形キー212が配置されており、プレイヤが任意の方向を指定した指示入力を行うことができる。また、Aボタン213や、各種ボタン215も上面に配置されており、当該ボタンに対応付けられた指示入力を行うことができる。
【0050】
一方、Bボタン214は、コントローラ210の下面に配置され、その下面に窪みが構成されていることもあり、プレイヤがトリガを引くように操作することができるようになっている。
【0051】
コントローラ210の上面には、複数の小さな孔216が設けられており、内部に埋設されたスピーカからクリアな音声を出力できるようになっている。
【0052】
コントローラ210の上面のインジケータ217は、コントローラ210が複数使用された場合でもプレイヤが識別できるように、適宜点灯する。
また、コントローラ210の上面に用意された電源ボタン218は、例えば、情報処理装置100のオン・オフを指示する。
【0053】
更に、コントローラ210の内部には、バイブレータ等の振動機構が配置され、情報処理装置100から送られる振動指示情報に応答して、振動を発生させることもできるようになっている。
【0054】
一方、コントローラ220は、コントローラ210と同様の3軸の加速度センサを内部に備えており、コントローラ220の3軸方向の動きを測定することが可能となっている。なお、同様に、このような加速度センサの代わりに、角速度センサや傾きセンサ等により、コントローラ220の動きを測定してもよい。
コントローラ220は、このような測定情報(例えば、3軸それぞれの加速度情報)を、コントローラ210を介して情報処理装置100に順次送信する。
そして、情報処理装置100は、同様に、コントローラ220からの測定情報に基づいて、コントローラ220の動きを検出する。例えば、プレイヤにより行われるコントローラ220を振る動作やその動作方向(振られた方向)等を取得する。
なお、このようなコントローラ220の動作検出も、例えば、垂直同期割り込み毎に行われる。
【0055】
コントローラ220の上面には、コントロールスティック221が配置されており、プレイヤが任意の方向を指定した指示入力を行うことができる。
この他にも、コントローラ220の先端部には、Cボタン222が配置され、また、コントローラ220の下面には、Zボタン223が配置されており、プレイヤが各種操作を行えるようになっている。
【0056】
(ゲーム装置の概要構成)
図3は、本実施形態に係るゲーム装置の概要構成を示す模式図である。このゲーム装置は、一例として、音楽ゲームにおいてプレイヤが行うコントローラを振る動作を評価する。
具体的にゲーム装置は、演奏する楽曲に合わせて画面上に目標オブジェクトを移動させて表示し、この目標オブジェクトの移動に応じてプレイヤによってなされるコントローラ210,220を振る動作を評価する。
なお、一例として、プレイヤは、コントローラ210を右手で把持し、また、コントローラ220を左手で把持してプレイするものとする。
【0057】
ゲーム装置300は、画像情報記憶部310と、画像生成部320と、課題情報記憶部330と、測定情報取得部340と、処理制御部350と、楽曲情報記憶部360と、楽曲再生部370とを備える。
【0058】
まず、画像情報記憶部310は、種々の画像情報を記憶する。例えば、音楽ゲームのプレイ中に表示するための背景画像や、再生される楽曲のリズム等に同調して移動させる目標オブジェクト等の画像情報等を記憶する。
なお、上述したDVD−ROMドライブ107に装着されるDVD−ROM及び、RAM 103が、このような画像情報記憶部310として機能しうる。
【0059】
画像生成部320は、処理制御部350に制御され、音楽ゲームの表示画像(ゲーム画像)を生成する。
例えば、画像生成部320は、画像情報記憶部310に記憶された各種画像情報や課題情報記憶部330に記憶された後述する課題情報を適宜読み出し、ゲーム画像を生成する。
【0060】
具体的に画像生成部320は、図4に示すようなゲーム画像を生成する。このゲーム画像では、複数種類の目標オブジェクトMO1〜MO4が、演奏される楽曲のリズム等に同調して、移動レーンLa(オブジェクトの種類に応じたレーン)に沿って、下方から順次現れてそれぞれ上方まで移動して消えて行く様子を示している。
目標オブジェクトMO1〜MO4は、異なる向きの矢印シンボルを表し、上述したコントローラ210,220を振る動作に対応している。一例として、目標オブジェクトMO1,MO2が右手で把持されるコントローラ210に対応しており、また、目標オブジェクトMO3,MO4が左手で把持されるコントローラ220に対応している。
【0061】
すなわち、左斜め下向きの矢印シンボルである目標オブジェクトMO1は、プレイヤにコントローラ210を左斜め下方向に振る動作を指示するものである。同様に、下向きの矢印シンボルである目標オブジェクトMO2は、コントローラ210を下方向に振る動作を指示するものである。
一方、上向きの矢印シンボルである目標オブジェクトMO3は、コントローラ220を上方向に振る動作を指示するものである。同様に、左上向きの矢印シンボルである目標オブジェクトMO4は、コントローラ220を左上方向に振る動作を指示するものである。
なお、これらの目標オブジェクトMO1〜MO4は一例であり、また、指示方向(振る方向)も一例である。つまり、目標オブジェクトや指示方向は、これらに限られず、ゲームの難易度等に応じて適宜変更可能である。
【0062】
これら目標オブジェクトMO1〜MO4は、処理制御部350によって制御され、移動レーンLaの下端(起点)から出現し、移動レーンLaを上方向に移動し、そして、移動レーンLaの上端(終点)にて消滅する。そして、プレイヤには、いずれかの目標オブジェクトMO1〜MO4が判定エリアHA(各目標オブジェクトと同じ形状のオブジェクトを固定して配置したエリア)に到達したタイミングにて、その目標オブジェクトに対応した動作が要求される。
つまり、判定エリアHAにてオブジェクト同士がピッタリ重なったタイミングにて、そのオブジェクトにより指示されたコントローラ(コントローラ210,220の何れか)を指示方向へ振る動作が求められている。
例えば、目標オブジェクトMO1が判定エリアHAまで移動したタイミング(より詳細にはオブジェクト同士がピッタリ重なったタイミング)にて、プレイヤには、右手で把持しているコントローラ210を左斜め下方向に振る動作が求められている。同様に、目標オブジェクトMO2が判定エリアHAまで移動したタイミングにて、プレイヤには、コントローラ210を下方向に振る動作が求められている。
一方、目標オブジェクトMO3が判定エリアHAまで移動したタイミングにて、プレイヤには、左手で把持しているコントローラ220を上方向に振る動作が求められている。同様に、目標オブジェクトMO4が判定エリアHAまで移動したタイミングにて、プレイヤには、コントローラ220を左斜め上方向に振る動作が求められている。
【0063】
なお、図4のゲーム画像では、目標オブジェクトMO1〜MO4が画面の下方から上方へ移動する場合を示しているが、目標オブジェクトの移動方向はこれに限られず任意である。例えば、画面の上方から下方へ移動させてもよく、他にも、横方向(画面の右側から左側、又は、画面の左側から右側)等へ移動させてもよい。また、判定エリアHAの代わりに、移動レーンLaと直交する判定ラインを表示し、判定のためのエリアとして用いてもよい。また、移動レーンLaは、ゲーム画像において非表示としてもよい。
更に、目標オブジェクトの形状は、一例であり、他の形状であってもよい。また、プレイヤに指示する動作方向(指示方向)も一例であり、他の動作方向であってもよい。
そして、上述した画像処理部108が、このような画像生成部320として機能しうる。
【0064】
図3に戻って、課題情報記憶部330は、プレイヤに課される(要求される)課題動作の内容を規定する課題情報を記憶する。例えば、再生される楽曲のリズム(テンポ)及び、メロディの音階等に応じて、プレイヤが振るべきコントローラ210,220について、その動作タイミング及び動作方向(指示方向)が時系列に規定された課題情報を記憶する。
なお、上述したDVD−ROMドライブ107に装着されるDVD−ROM及び、RAM 103が、このような課題情報記憶部330として機能しうる。
【0065】
測定情報取得部340は、各コントローラ210,220の動きについての測定情報を順次取得する。
具体的に測定情報取得部340は、無線通信部341と、加速度情報取得部342とを有しており、プレイヤにより行われる各コントローラ210,220の動作(振る等の動作)を検出するために必要な測定情報を取得する。
【0066】
無線通信部341は、コントローラ210と順次無線通信を行い、必要な情報を送受信する。
例えば、無線通信部341は、コントローラ210の加速度センサにて計測される加速度情報等を、コントローラ210の識別子(識別番号等)と共に取得(受信)する。なお、コントローラ220の加速度情報等も、コントローラ210を介して送られる。つまり、コントローラ220の加速度センサにて計測される加速度情報も、コントローラ220の識別子と共に取得できるようになっている。
すなわち、無線通信部341は、コントローラ210,220の加速度情報等を識別可能に取得できる。
【0067】
加速度情報取得部342は、無線通信部341が受信した情報のうち、加速度情報を抽出して取得する。
すなわち、加速度情報取得部342は、コントローラ210,220における各加速度センサにて逐次測定される加速度情報を順次取得する。
具体的に加速度情報取得部342は、プレイヤによって右手に把持されるコントローラ210における3軸方向の加速度を示す加速度情報を順次取得し、また、同様に、左手に把持されるコントローラ220における3軸方向の加速度を示す加速度情報を順次取得する。
そして、加速度情報取得部342は、取得した各加速度情報を、処理制御部350に供給する。
なお、上述したコントローラユニット105及びインターフェース104等が、このような構成からなる測定情報取得部340として機能しうる。
【0068】
処理制御部350は、ゲーム装置300全体を制御する。例えば、処理制御部350は、動作検出部351、動作方向判定部352、動作方向補正部353、及び、評価部354を含んで構成される。
【0069】
動作検出部351は、測定情報取得部340が取得した測定情報に基づいて、プレイヤによるコントローラ(コントローラ210,220)を振る動作を検出する。
すなわち、動作検出部351は、上述した加速度情報取得部342が取得した各加速度情報(コントローラ210,220にそれぞれ対応した3軸方向の加速度情報)に基づいて、少なくとも一方のコントローラについて振る動作がなされたことを検出する。
例えば、動作検出部351は、各コントローラ210,220について、3軸方向の加速度の値をそれぞれ管理しており、それらの加速度の値、若しくは、合成(2軸や3軸)により求まる加速度の値が基準値を超えた場合に、コントローラが振られたことを検出する。
なお、コントローラの振る動作を検出する検出手法はこれに限られず、適宜変更可能である。
【0070】
動作方向判定部352は、動作検出部351によって振る動作が検出されたコントローラの動作方向(つまり、振られた方向)を、そのコントローラの加速度情報に基づいて判定する。
例えば、動作方向判定部352は、振る動作が検出されたコントローラの3軸方向の加速度の値に基づいて、そのコントローラが振られた方向を判定する。
【0071】
具体的にコントローラ210が振られた場合を一例として説明すると、図5(a)に示すように、コントローラ210を基準とした3軸方向(x軸方向,y軸方向,z軸方向)の加速度の値に基づいて、動作方向を判定する。
例えば、図5(b)に示すように、−y方向の加速度の値が特に高い場合に、動作方向判定部352は、コントローラ210を基準として下向きに振られたと判定する。
ところで、振る動作のような激しい動きの場合に、加速度センサの特性から、この段階では、重力加速度と動作による加速度とが、はっきりと区別できない状況となっている。そのため、動作方向判定部352は、動作方向が、コントローラ210を基準とした下向き(−y方向)であると判定するにとどめている。
すなわち、この段階では、コントローラ210を基準とした相対的な動作方向が判定できるものの、プレイヤ等を基準とした絶対的な動作方向についてはまだ明確に判定しない。
つまり、コントローラ210が、図5(c)に示すように、絶対的なX軸方向に水平な状態で絶対的なY軸方向に沿って下向きに振られたものなのか、或いは、図5(d)に示すように、絶対的なX軸方向(Y軸方向)に対してコントローラ210を傾けて斜めに振られたものなのか等は、まだ明確でない。
なお、動作方向判定部352は、コントローラ220が振られた場合についても、上記と同様に、コントローラ220を基準とした動作方向を判定する。
【0072】
図3に戻って、動作方向補正部353は、動作方向判定部352によって判定された動作方向を、コントローラ210,220における各基準方向の関係に基づいて補正する。
例えば、動作方向補正部353は、両コントローラの上面法線方向がどれだけ違っているかに応じて、コントローラが実際に振られた方向(絶対的な方向)に近づくように、動作方向を補正する。
【0073】
具体的にコントローラ210が振られた場合を一例として説明すると、動作方向補正部353は、図6(a)に示すように、コントローラ210の上面法線方向となるy軸方向と、コントローラ220の上面法線方向となるy軸方向との差に基づいて、コントローラ210の動作方向を補正する。つまり、図6(b)に示すように、コントローラ210のy軸方向とコントローラ220のy軸方向との違いとなる角度θに基づいて、コントローラ210の動作方向を補正する。
例えば、角度θが基準値よりも大きい場合に、動作方向補正部353は、コントローラ210の動作方向を斜め下方向(絶対的な方向)に補正する。一方、角度θが基準値以下の場合に、動作方向補正部353は、コントローラ210の動作方向を相対的な下方向から絶対的な下方向に補正する(動作方向判定部352が判定した動作方向を絶対的な方向として確定する)。
この図6では、コントローラ210が振られて、コントローラ220が振られていない(待機状態である)場合について説明したが、これとは逆に、コントローラ220が振られて、コントローラ210が振られていない場合についても、上記と同様に動作方向を補正する。
なお、このように、コントローラの上面法線方向(y軸方向)を基準方向とするのは、一例であり、他の方向を基準方向としてもよい。例えば、x軸方向を基準方向とし、両コントローラのx軸方向の違いに応じて、動作方向を補正するようにしてもよい。
【0074】
また、このような基準方向により動作方向を補正する手法は、一例であり、他の手法により動作方向を補正してもよい。
例えば、図7(a)に示すコントローラ210のy軸方向(上面法線方向)の加速度と、図7(b)に示すコントローラ220のy軸方向の加速度との差分に基づいて、コントローラ210の動作方向を補正してもよい。
なお、この場合、振っていない方のコントローラ220は待機状態であり、通常、図7(b)に示すように、絶対的なX軸方向とコントローラ220のx軸方向とがほぼ一致し、また、絶対的なY軸方向とコントローラ220のy軸方向とがほぼ一致している。つまり、コントローラ220の相対的な方向と絶対的な方向とがほぼ一致している。
そのため、コントローラ210のy軸方向の加速度からコントローラ220のy軸方向の加速度を引いた際に、図7(c)に示すように、コントローラ220の−y方向の加速度の値が特に減った場合であれば、動作方向補正部353は、図7(d)に示すように、コントローラ210の動作方向を、相対的な下方向に補正する(動作方向判定部352が判定した動作方向を絶対的な方向として確定する)。
【0075】
一方、コントローラ210のy軸方向の加速度からコントローラ220のy軸方向の加速度を引いた際に、図7(e)に示すように、コントローラ220の−y方向の加速度の値が減ると共に、−x方向の加速度の値も基準以上に変化(増えた、若しくは、減った)場合であれば、動作方向補正部353は、図7(f)に示すように、コントローラ210の動作方向を、絶対的な斜め下方向に補正する。
つまり、待機状態であるコントローラ220におけるy軸方向のほぼ重力加速度分の加速度を引いたことにより、図7(e)に示すように、−y方向と−x方向とを合成した方向が加速度の方向となり、図7(f)に示すように、その合成方向がコントローラ210の動作方向として補正される。
なお、この図7では、コントローラ210が振られて、コントローラ220が振られていない(待機状態である)場合について説明したが、これとは逆に、コントローラ220が振られて、コントローラ210が振られていない場合についても、上記と同様に動作方向を補正する。
【0076】
更に、動作方向補正部353は、他の補正手法により、動作方向を補正してもよい。
例えば、各コントローラ210,220について、直近の一定時間分(一例として、直近の数百ミリ秒間)の加速度情報を蓄積するようにしておき、振る動作が検出されたコントローラの振り始め時点の加速度情報と、他方(待機状態)のコントローラの加速度情報(同時点若しくは現時点)との差分に基づいて、動作方向判定部352が判定した動作方向を補正してもよい。つまり、振り始め時点におけるコントローラの加速度情報と他方のコントローラの加速度情報との関係に基づいて、振られたコントローラの動作方向を補正する。
また、これとは逆に、振り終わり時点におけるコントローラの加速度情報と他方のコントローラの加速度情報との関係に基づいて、振られたコントローラの動作方向を補正してもよい。
【0077】
図3に戻って、評価部354は、動作方向補正部353により補正された動作方向を含む動作情報と、課題情報記憶部330に記憶された課題情報との関係に基づいて、プレイヤによるコントローラの動作内容を評価する。
例えば、図8(a)に示すように、課題となるコントローラ210の要求タイミングT1に対して、コントローラ210がほとんど等しいタイミングT2にて振られ(識別子がコントローラ210の動作があり)、かつ、課題となる要求方向に対して、動作方向(動作方向補正部353により補正された動作方向)が一致した場合に、評価部354は、正しい動作が行われたと評価する。
一方、また、図8(b)に示すように、課題となるコントローラ220の要求タイミングT3に対して、コントローラ220がほとんど等しいタイミングT4にて振られた(識別子がコントローラ220の動作があった)場合であっても、課題となる要求方向と動作方向(動作方向補正部353により補正された動作方向)とが一致しない場合に、評価部354は、誤った動作が行われたと評価する。
この他にも、要求タイミングと動作タイミングとが基準以上にずれていれば、評価部354は、要求方向と動作方向との一致・不一致に関係なく、誤った動作が行われたと評価する。
なお、上述したCPU 101等が、このような構成からなる処理制御部350として機能しうる。
【0078】
図3に戻って、楽曲情報記憶部360は、音楽ゲームの伴奏として演奏される楽曲情報を複数記憶する。例えば、MIDI(Musical Instrument Digital Interface)データのような所定形式の楽曲情報を記憶する。そして、プレイヤは、好みの楽曲を選んで、その再生音(楽曲音)に合わせて音楽ゲームをプレイできるようになっている。
また、楽曲情報記憶部360は、各楽曲について、リズム(テンポ)や再生時間等のような楽曲の関連情報も記憶している。
なお、上述したDVD−ROMドライブ107に装着されるDVD−ROM及び、RAM 103が、このような楽曲情報記憶部360として機能しうる。
【0079】
楽曲再生部370は、処理制御部350に制御され、音楽ゲームの楽曲音を再生する。
例えば、楽曲再生部370は、ゲーム開始前(プレイ前)に、プレイヤによって選曲された楽曲情報を楽曲情報記憶部360から読み出しておき、ゲーム開始後(プレイ中)に、この楽曲情報を再生して楽曲音を出力する。
なお、楽曲の再生手法はこれに限られず任意である。例えば、楽曲情報を、プレイ中に順次読み出しながら再生するようにしてもよい。
そして、上述した音声処理部109が、このような楽曲再生部370として機能しうる。
【0080】
(ゲーム装置の動作の概要)
以下、このような構成のゲーム装置300の動作について図面を参照して説明する。図9は、音楽ゲームにおいて、プレイヤによるコントローラを振る動作を評価するための動作評価処理の流れを示すフローチャートである。以下、この図を参照してゲーム装置300の動作について説明する。
【0081】
まず、ゲーム装置300は、楽曲の再生を開始し、またゲーム画像の生成を開始する(ステップS401)。つまり、楽曲再生部370は、選択された楽曲情報に基づいて楽曲音を再生し、再生に伴う音声信号をディスプレイ290に供給して、ディスプレイ290のスピーカから楽曲音を出力させる。また、画像生成部320は、上述した図4に示すような表示画像を生成し、この映像信号をディスプレイ290に供給して、ディスプレイ290に表示させる。
【0082】
ゲーム装置300は、再生する楽曲に合わせて、目標オブジェクトを移動させる(ステップS402)。つまり、画像生成部320は、処理制御部350に制御され、図4に示すような目標オブジェクトMO1〜MO4を楽曲のリズム等に同調して移動させる。
そして、プレイヤは、このような目標オブジェクト(MO1〜MO4)が移動するのを目で追いながら、何れかの目標オブジェクトが判定エリアHAに到達したタイミングで、対応する動作を行うことになる。つまり、判定エリアHAに到達した目標オブジェクトに応じて、要求されたコントローラ(210,220)を要求された方向に振る動作をプレイヤが行うことになる。このため、ゲーム装置300は、プレイヤにより行われる動作の有無を検出しつつ、音楽ゲームを進める。
【0083】
ゲーム装置300は、プレイヤによる動作があったか否かを判別する(ステップS403)。つまり、コントローラ210,220の何れかが振られたかどうかを判別する。
より詳細に、動作検出部351は、測定情報取得部340が取得した測定情報に基づいて、プレイヤによる各コントローラ210,220の動作の有無を判別する。
すなわち、動作検出部351は、加速度情報取得部342が取得した各加速度情報(コントローラ210,220にそれぞれ対応した3軸方向の加速度)に基づいて、何れかのコントローラについて振る動作がなされたかどうかを判別する。
ゲーム装置300は、プレイヤによる動作がなかったと判別すると(ステップS403;No)、後述するステップS409に処理を進める。
【0084】
一方、プレイヤによる動作があったと判別した場合に(ステップS403;Yes)、ゲーム装置300は、動作のあったコントローラの動作方向を判定する(ステップS404)。
すなわち、動作方向判定部352は、動作検出部351によって振る動作が検出されたコントローラの動作方向を、そのコントローラの加速度情報に基づいて判定する。
例えば、動作方向判定部352は、振る動作がなされたコントローラの3軸方向の加速度の値に基づいて、そのコントローラが振られた方向を判定する。
【0085】
ゲーム装置300は、判定された動作方向を補正する(ステップS405)。
すなわち、動作方向補正部353は、動作方向判定部352によって判定された動作方向を、コントローラ210,220における各基準方向の関係に基づいて補正する。
例えば、動作方向補正部353は、両コントローラの上面法線方向がどれだけ違っているかに応じて、コントローラが実際に振られた方向に近づくように、動作方向を補正する
具体的には、上述した図6(a)に示すように、振られたコントローラ210の上面法線方向となるy軸方向と、振られていないコントローラ220の上面法線方向となるy軸方向との差に基づいて、コントローラ210の動作方向を補正する。
つまり、上述した図6(b)に示すように、両コントローラにおけるy軸方向の違いとなる角度θに基づいて、コントローラ210の動作方向を補正する。
この図6(a)、(b)の場合、角度θが基準値よりも大きい場合に、動作方向補正部353は、コントローラの動作方向を斜め下方向(絶対的な方向)に補正する。一方、角度θが基準値以下の場合に、動作方向補正部353は、コントローラの動作方向を相対的な下方向から絶対的な下方向に補正する(動作方向判定部352が判定した動作方向を絶対的な方向として確定する)。
なお、上述したように、動作方向補正部353は、動作方向を補正する他の手法により、振られたコントローラの動作方向を補正してもよい。
【0086】
ゲーム装置300は、補正後の動作方向を含む動作情報と、課題情報とを比較する(ステップS406)。
すなわち、評価部354は、動作方向補正部353により補正された動作方向を含む動作情報と、課題情報記憶部330に記憶された課題情報とを比較する。
その比較により、例えば、上述した図8(a)に示すように、課題となるコントローラ210の要求タイミングT1に対して、コントローラ210がほとんど等しいタイミングT2にて振られ、かつ、要求方向と補正された動作方向とが一致した場合に、プレイヤの動作が課題と合致した(正しい動作である)と判別する。
一方、上述した図8(b)に示すように、課題となるコントローラ220の要求タイミングT3に対して、コントローラ220がほとんど等しいタイミングT4にて振られた場合であっても、要求方向と補正された動作方向とが一致しない場合に、プレイヤの動作が課題と合致しない(誤った動作である)と判別する。この他にも、要求タイミングと動作タイミングとが基準以上にずれている場合には、要求方向と動作方向(補正後)との一致・不一致に拘わらずプレイヤの動作が課題と合致しないと判別する。
【0087】
ゲーム装置300は、比較により、プレイヤの動作が課題と合致したか否かを判別する(ステップS407)。
ゲーム装置300は、動作が合致しないと判別すると(ステップS407;No)、後述するステップS409に処理を進める。
【0088】
一方、動作が合致したと判別した場合に(ステップS407;Yes)、ゲーム装置300は、得点を加算すると共に、有効な動作(正しい動作)であったことを報知するメッセージ画像をゲーム画像に合成する(ステップS408)。
【0089】
ゲーム装置300は、ゲームが終了したか否かを判別する(ステップS409)。つまり、1回(1曲分)の音楽ゲームが終了したかどうかを判別する。
ゲーム装置300は、ゲームが終了していないと判別すると(ステップS409;No)、上述したステップS402に処理を戻す。そして、ステップS402〜S409の処理を繰り返し実行する。
一方、ゲームが終了したと判別した場合に(ステップS409;Yes)、ゲーム装置300は、所定の終了メッセージや総合得点等を表示した後、動作評価処理を終える。
【0090】
このような動作評価処理により、プレイヤがコントローラ210,220の何れかを振る動作を行った場合に、振られた方のコントローラの動作方向を、コントローラ210,220における各基準方向の関係に基づいて補正する。
つまり、振られた方のコントローラの動作方向を、両コントローラの上面法線方向がどれだけ違っているかに応じて補正する。
これにより、プレイヤが一方のコントローラを斜め方向に振った場合でも、振られていない他方のコントローラとの関係を利用して、その動作方向を精度を上げて適切に判定することができる。
【0091】
この結果、プレイヤによるコントローラを振る動作において、その動作方向を適切に判定することができる。
【0092】
上記の実施形態では、1組のコントローラとして、合計2つのコントローラがプレイヤにより動作される場合について説明したが、1組のコントローラ数は2つに限られず3つ以上であってもよい。例えば、2つのコントローラを左右の手で把持し、もう1つのコントローラを首から下げて保持するようにし、合計3つのコントローラがプレイヤにより動作される場合にも適宜適用可能である。
この場合、首から下げたコントローラが保持状態であれば(ほとんど動かない状態であれば)、両手のコントローラを同時に振る動作を行う場合にも、それぞれの動作方向を適切に判定できる。
すなわち、上記の実施形態と同様に、振られた各コントローラの動作方向を、そのコントローラと首から下げたコントローラとにおける各基準方向の関係に基づいて補正する。なお、上述したような動作方向を補正する他の手法を用いて、振られたコントローラの動作方向を補正してもよい。
これにより、各コントローラが斜め方向に振られた場合でも、振られていない1つのコントローラ(首から下げたコントローラ)との関係を利用して、その動作方向を精度を上げて適切に判定することができる。
この場合も、プレイヤによるコントローラを振る動作において、その動作方向を適切に判定することができる。
【産業上の利用可能性】
【0093】
以上説明したように、本発明によれば、プレイヤによるコントローラを振る動作において、その動作を適切に判定することのできるゲーム装置、動作判定方法、および、プログラムを提供することができる。
【符号の説明】
【0094】
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 コントローラユニット
106 外部メモリ
107 DVD−ROMドライブ
108 画像処理部
109 音声処理部
110 NIC
210,220 コントローラ
230 センサバー
290 ディスプレイ
300 ゲーム装置
310 画像情報記憶部
320 画像生成部
330 課題情報記憶部
340 測定情報取得部
350 処理制御部
360 楽曲情報記憶部
370 楽曲再生部

【特許請求の範囲】
【請求項1】
所定のセンサ素子をそれぞれ有する複数のコントローラの動作を判定するゲーム装置であって、
当該各センサ素子にてそれぞれ測定される各コントローラの動きを示す測定情報を取得する測定情報取得部と、
取得された当該各測定情報に基づいて、コントローラの動作を検出する動作検出部と、
動作が検出された当該コントローラの動作方向を、各コントローラにおける各基準方向の関係に基づいて特定する動作方向特定部と、を備える、
ことを特徴とするゲーム装置。
【請求項2】
所定の加速度センサをそれぞれ有する1組のコントローラの動作を判定するゲーム装置であって、
当該各加速度センサにてそれぞれ測定される各コントローラの加速度情報を取得する加速度情報取得部と、
取得された当該各加速度情報に基づいて、一方のコントローラについて振る動作がなされたことを検出する動作検出部と、
振る動作が検出された当該コントローラの動作方向を、当該コントローラの加速度情報に基づいて判定する動作方向判定部と、
当該判定された動作方向を、両コントローラにおける各基準方向の関係に基づいて補正する動作方向補正部と、を備える、
ことを特徴とするゲーム装置。
【請求項3】
請求項2に記載されたゲーム装置であって、
前記動作方向補正部は、両コントローラにおける各上面法線方向の角度差に基づいて、前記動作方向判定部により判定された動作方向を補正する、
ことを特徴とするゲーム装置。
【請求項4】
請求項2に記載されたゲーム装置であって、
前記動作方向補正部は、振る動作が検出されたコントローラの加速度情報と、他方のコントローラの加速度情報との差分に基づいて、前記動作方向判定部により判定された動作方向を補正する、
ことを特徴とするゲーム装置。
【請求項5】
請求項2乃至4の何れか1項に記載されたゲーム装置であって、
各コントローラは、少なくとも3軸方向の加速度を測定可能な加速度センサを有しており、
前記動作方向判定部は、当該3軸方向の加速度情報に基づいて、当該コントローラの動作方向を判定し、
前記動作方向補正部は、両コントローラの各加速度情報における3軸方向のうち1つの軸方向を基準とした加速度情報を用いて、前記動作方向判定部により判定された動作方向を補正する、
ことを特徴とするゲーム装置。
【請求項6】
所定のセンサ素子をそれぞれ有する複数のコントローラ、情報取得部、及び、演算処理部を有するゲーム装置における動作判定方法であって、
前記情報取得部が、各センサ素子にてそれぞれ測定される各コントローラの動きを示す測定情報を取得する測定情報取得ステップと、
前記演算処理部が行う、取得された当該各測定情報に基づいて、コントローラの動作を検出する動作検出ステップと、
前記演算処理部が行う、動作が検出された当該コントローラの動作方向を、各コントローラにおける各基準方向の関係に基づいて特定する動作方向特定ステップと、を備える、
ことを特徴とする動作判定方法。
【請求項7】
所定のセンサ素子をそれぞれ有する複数のコントローラの動作を判定するコンピュータを、
当該各センサ素子にてそれぞれ測定される各コントローラの動きを示す測定情報を取得する測定情報取得部、
取得された当該各測定情報に基づいて、コントローラの動作を検出する動作検出部、
動作が検出された当該コントローラの動作方向を、各コントローラにおける各基準方向の関係に基づいて特定する動作方向特定部、
として機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate