説明

プログラム、情報記憶媒体、及び、ゲームシステム

【課題】加速度センサを備えたコントローラによってゲームプレイを行うゲームシステムのように、プレーヤが、自身の入力動作に対する反応を瞬時に得ることが難しいゲームシステムであっても、プレーヤに違和感、不快感を与えないゲームシステムを提供する。
【解決手段】加速度センサによって検出された加速度の値がしきい値以上になる場合に、コントローラのスピーカーから確認音を出力させる処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体、及び、ゲームシステムに関する。
【背景技術】
【0002】
従来から、プレーヤが入力ボタンを押下することによって、音が出力されるゲームシステムが知られている。例えば、特許文献1に記載されているように、プレーヤがトリガを引くことによって射撃音を発生させるゲームシステムがある。
【特許文献1】特開平10−244073号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかし、近年では、加速度センサを備えたコントローラ(入力装置の一例)と本体装置を含むゲームシステムが存在する。このようなゲームシステムは、プレーヤがコントローラを振る入力動作や、傾ける入力動作を行ってゲームプレイを行うものである。
【0004】
加速度センサはプレーヤの振ったり傾けたりする入力動作に応じて変化する加速度を検出するものであり、本体装置において、加速度が所定条件を満たす場合にプレーヤの入力動作に対する何らかのゲーム演算処理が行われるが、プレーヤは、プレーヤ自身の入力動作に対する反応を得ることが難しい。例えば、従来技術のような入力装置であれば、プレーヤは、トリガを引くという、トリガのオンとオフの違いによって入力に対する反応を直感的に得ることができるが、加速度センサを備えるコントローラの場合は、どのタイミングでゲームに反映される有効な加速度が検知されるのか、プレーヤは瞬時に判断することができない。つまり、プレーヤは入力動作に対する反応を瞬時に得ることができない。
【0005】
また、このようなゲームシステムは、プレーヤがコントローラを振る入力動作によって、プレーヤ自身が入力したと感じる感覚と、入力動作に対するゲーム演算処理の反映とにズレが生じやすく、プレーヤは違和感、不快感を感じてしまう。
【0006】
本願発明は、上記課題に鑑みたものであり、加速度センサを備えたコントローラによってゲームプレイを行うゲームシステムのように、プレーヤが、自身の入力動作に対する反応を瞬時に得ることが難しいゲームシステムであっても、プレーヤに違和感、不快感を与えないゲームシステムを提供することにある。
【課題を解決するための手段】
【0007】
(1)本発明は、
プレーヤの入力動作に応じて変化する物理量を検出するセンサを備えた入力装置と、入力装置からセンサの検出情報を取得してゲーム演算を行う本体装置とからなるゲームシステムであって、
前記本体装置が、
前記センサの検出情報が所定条件を満たすか否かを判定する判定部と、
所定条件を満たす場合に、スピーカーから確認音を出力させる音制御部とを含むことを特徴とするゲームシステムに関係する。
【0008】
また本発明は、上記各部としてゲームシステムの本体装置を機能させるプログラムに関係する。また本発明は、本体装置で読み取り可能な情報記憶媒体であって、上記各部として本体装置を機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【0009】
本発明によれば、プレーヤは、確認音を聞くことによって入力装置が反応していることを瞬時に検知することができる。つまり、本発明によれば、プレーヤは確認音を聞くことで、直感的に入力の感覚を得ることができ、プレーヤは不快を感じることなくゲームを楽しむことができる。
【0010】
つまり、本発明によれば、検出情報が所定条件を満たすと判定された際にスピーカーから確認音が出力されるので、コントローラが何らかの反応を示していることをプレーヤは瞬時に検知することができ、不快感を感じることなくゲームを楽しむことができる。
【0011】
(2)また、本発明に係るプログラム及び情報記憶媒体では、
前記入力装置が、
前記センサが、
プレーヤの入力動作に応じて変化する加速度を検出し、
前記判定部が、
前記加速度の値が所定加速度値以上である場合に、前記所定条件を満たすと判定してもよい。
【0012】
本発明によれば、加速度センサを備える入力装置において、加速度の変化に影響を与えるプレーヤの入力動作、例えば入力装置を振るような入力動作を必要とするゲームであっても、入力装置の反応を示す確認音がスピーカーから出力されるので、プレーヤは、出力される確認音によって、プレーヤの入力動作に対するレスポンスを瞬時に検知することができる。
【0013】
(3)また、本発明に係るプログラム及び情報記憶媒体では、
前記センサが、
プレーヤの入力動作に応じて変化する加速度を検出し、
前記判定部が、
前記加速度の値に基づいて算出される前記入力装置の傾き値が、所定傾き値以上である場合に、前記所定条件を満たすと判定してもよい。
【0014】
本発明によれば、加速度センサを備える入力装置において、加速度の変化に影響を与えるプレーヤの入力動作、例えば入力装置を傾けるような入力動作を必要とするゲームであっても、入力装置の反応を示す確認音がスピーカーから出力されるので、プレーヤは、出力される確認音によって、プレーヤの入力動作に対するレスポンスを瞬時に検知することができる。
【0015】
(4)また、本発明に係るプログラム及び情報記憶媒体では、
前記センサが、
3軸方向の各軸の加速度を検出し、
前記判定部が、
3軸方向それぞれの加速度の値に基づいて、所定条件を満たすか否かを判定し、
前記音制御部が、
所定条件を満たすと判定された加速度の方向の変化に応じて、確認音を変化させるようにしてもよい。
【0016】
本発明によれば、プレーヤが方向を考慮して入力装置を振る場合や、方向を考慮して入力装置を傾ける入力動作を行う場合に、どの方向に応じた入力動作に対する反応であるかを、出力される確認音によってプレーヤは瞬時に検知することができる。
【0017】
(5)また、本発明に係るプログラム及び情報記憶媒体では、
前記センサが、
被写体を撮影することによって、プレーヤの入力動作を検出し、
前記判定部が、
プレーヤが所定の入力動作を行っている場合に、前記所定条件を満たすと判定してもよい。
【0018】
本発明によれば、プレーヤが所定の入力動作を行うことが要求されるゲームであっても、出力される確認音によって、プレーヤは瞬時に入力動作に対する反応を得ることができる。
【0019】
(6)また、本発明に係るプログラム及び情報記憶媒体では、
前記センサが、
プレーヤの入力動作によって発生する音の音量を検出し、
前記判定部が、
前記音量が所定音量以上である場合に、前記所定条件を満たすと判定してもよい。
【0020】
本発明によれば、プレーヤが声を発したり、何らかの音を出力させる入力動作を必要とするゲームであっても、プレーヤは、出力される確認音によって、瞬時に入力動作に対する反応を得ることができる。
【0021】
(7)また、本発明に係るプログラム及び情報記憶媒体では、
前記本体装置が、
前記検出情報に応じた複数種類の確認音を記憶する記憶部とを含み、
前記音制御部が、
前記検出情報に応じた確認音をスピーカーから出力させるようにしてもよい。
【0022】
本発明によれば、検出情報に応じた確認音を聞くことができるので、例えば、異なる入力動作を行うゲームでは、プレーヤはどの入力動作に対する反応なのかを区別することができる。
【0023】
(8)また、本発明に係るプログラム及び情報記憶媒体では、
前記音制御部が、
前記入力装置に設けられたスピーカーから確認音を出力させる処理を行うようにしてもよい。
【0024】
本発明によれば、プレーヤの入力動作に密接な入力装置に設けられたスピーカーから確認音が出力されるので、より直感的、瞬間的にプレーヤの入力動作に対する入力装置の反応を得ることができる。
【0025】
(9)また、本発明に係るプログラム及び情報記憶媒体では、
本体装置が、
前記所定条件を満たす場合に、前記入力装置に設けられた振動部に振動させる処理を行う振動制御部を含むようにしてもよい。
【0026】
本発明によれば、入力動作に対する反応を、触感によってプレーヤは検知できる。特に、本発明によれば、聴覚に不自由なプレーヤや、消音でゲームを行いたいプレーヤは、入力装置の振動によって入力動作に対する反応を得ることができる。
【0027】
(10)また、本発明は、
光源と、当該光源からの光を撮像した撮像画像上の特定位置を検出する検出装置と、検出装置から当該特定位置を取得してゲーム演算を行う本体装置とからなるゲームシステムであって、
前記本体装置が、
前記特定位置に基づいて算出される算出結果が、所定条件を満たすか否かを判定する判定部と、
所定条件を満たす場合に、スピーカーから確認音を出力させる音制御部とを含むことを特徴とするゲームシステムに関係する。
【0028】
また本発明は、上記各部としてゲームシステムの本体装置を機能させるプログラムに関係する。また本発明は、本体装置で読み取り可能な情報記憶媒体であって、上記各部として本体装置を機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【0029】
本発明によれば、プレーヤが光源を撮像対象として検出装置を動作させる場合に、出力される確認音によって、検出装置を動作させることに対する反応をプレーヤは瞬時に検知することができる。
【0030】
つまり、本発明によれば、プレーヤが検出装置を動作させることで、検出装置で検出される撮像画像上の特定位置が変化する場合であっても、プレーヤは、当該動作に対するレスポンスを、確認音によって瞬時に検知することができる。
【0031】
(11)また、本発明に係るプログラム及び情報記憶媒体では、
前記判定部が、
前記特定位置に基づいて、表示画面上における前記検出装置の指示位置を算出し、当該指示位置が表示画面上の所定範囲に属するか否かによって、前記所定条件を満たすか否かを判定してもよい。
【0032】
本発明によれば、プレーヤが光源を撮像対象として検出装置の位置や向きを変化させて、表示画面上の指示位置を特定する動作を行う場合には、プレーヤは、出力される確認音によって、指示位置が表示画面上の所定範囲に属するか否かを瞬時に検知できる。
【0033】
(12)また、本発明に係るプログラム及び情報記憶媒体では、
前記判定部が、
前記特定位置に基づいて、前記検出装置と前記光源との距離を算出し、当該距離が所定距離以上か否かによって、前記所定条件を満たすか否かを判定してもよい。
【0034】
本発明によれば、プレーヤが光源を撮像対象として検出装置の位置を変化させて検出装置と光源との距離を所定距離以上にする動作、或いは当該距離を所定距離内にする動作を行う場合には、プレーヤは、出力される確認音によって、検出装置と光源との距離が所定距離以上か否かを瞬時に検知できる。
【0035】
(13)また、本発明に係るプログラム及び情報記憶媒体では、
前記音制御部が、
前記検出装置に設けられたスピーカーから確認音を出力させる処理を行うようにしてもよい。
【0036】
本発明によれば、検出装置に設けられたスピーカーから確認音が出力されるので、プレーヤが検出装置を動作させることによって生じる反応を、より直感的、瞬間的に得ることができる。
【0037】
(14)また、本発明に係るプログラム及び情報記憶媒体では、
前記所定条件を満たす場合に、前記検出装置に設けられた振動部に振動させる処理を行う振動制御部とを含むようにしてもよい。
【0038】
本発明によれば、プレーヤが検出装置を動作させることによって生じる反応を、触感によってプレーヤは検知できる。特に、本発明によれば、聴覚に不自由なプレーヤや、消音でゲームを行いたいプレーヤは、検出装置の振動によって検出装置を動作させることに対する反応を得ることができる。
【発明を実施するための最良の形態】
【0039】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0040】
1.構成
図1は、本実施形態のゲームシステムの機能ブロック図の一例である。なお本実施形態のゲームシステムでは、図1の各部を全て含む必要はなく、その一部を省略した構成としてもよい。
【0041】
本実施形態のゲームシステムは、本体装置10と、入力装置20と、情報記憶媒体180、表示部(表示装置)190、スピーカー192、光源198、とからなる。
【0042】
入力装置20は、加速度センサ210、撮像部220、スピーカー230、振動部240、マイコン250、通信部260によって構成されている。また、入力装置20は、プレーヤの入力動作を検出するセンサ(画像入力センサ)、音入力センサ、加圧センサを備えていてもよい。
【0043】
加速度センサ210は、3軸(X軸、Y軸、Z軸)の加速度を検出する。すなわち、加速度センサ210は、上下方向、左右方向、及び、前後方向の加速度を検出することができる。なお、加速度センサ210は、5msec毎に加速度を検出している。また、加速度センサは、1軸、2軸、6軸の加速度を検出するものであってもよい。なお、加速度センサから検出された加速度は、通信部260によって本体装置に送信される。
【0044】
撮像部220は、赤外線フィルタ222、レンズ224、撮像素子(イメージセンサ)226、画像処理回路228を含む。赤外線フィルタ222は、入力装置の前方に配置され、表示部190に関連付けられて配置されている光源198から入射する光から赤外線のみを通過させる。レンズ224は、赤外線フィルタ222を透過した赤外線を集光して撮像素子226へ出射する。撮像素子226は、例えば、CMOSセンサやCCDのような固体撮像素子であり、レンズ224が集光した赤外線を撮像して撮像画像を生成する。撮像素子226で生成された撮像画像は、画像処理回路228で処理される。例えば、撮像素子226から得られた撮像画像を処理して高輝度部分を検知し、撮像画像における光源の位置情報(特定位置)を検出する。なお、光源が複数存在する場合には、撮像画像上の位置情報を検出する。また、検出した位置情報は、通信部260によって、本体装置に送信される。特に、本実施形態は、入力装置20を位置情報を検出する検出装置として利用してもよい。
【0045】
スピーカー230は、本体装置から通信部260を介して取得した音を出力する。本実施形態では、本体装置から送信された確認音やモーションに応じた効果音を出力する。
【0046】
振動部(バイブレータ)240は、本体装置から送信された振動信号を受信して、振動信号に基づいて作動する。
【0047】
マイコン(マイクロコンピュータ)250は、受信した本体装置からのデータに応じて、音を出力する制御や、バイブレータを作動させる制御を行う。また、加速度センサ210が検出した加速度を通信部260を介して本体装置に送信させる処理を行ったり、撮像部220によって検出された位置情報を、通信部260を介して本体装置に送信させる処理を行う。
【0048】
通信部260は、アンテナ、無線モジュールを含み、例えばBluetooth(ブルートゥース;登録商標)の技術を用いて、本体装置とデータを無線で送信受信する。なお、本実施形態の通信部は、加速度センサ210によって検出された加速度や撮像部220において検出した位置情報等を、4msec、6msecの交互の間隔で本体装置に送信している。なお、通信部260は、本体装置と通信ケーブルで接続し、当該通信ケーブルを介して情報の送受信を行うようにしてもよい。
【0049】
なお、入力装置20は、ボタン、レバー(アナログパッド)、マウス、十字キー、タッチパネル型ディスプレイなどの操作子を更に設けてもよい。また、入力装置20はプレーヤの入力動作によって変化する角速度を検出するジャイロセンサを備えていてもよい。
【0050】
また、入力装置20は、プレーヤの入力動作などの被写体を撮影することによって、プレーヤの入力動作を検出するセンサを備えていてもよい。プレーヤの入力動作を検出するセンサは、撮影部272によって撮影された画像をフレームレート(例えば60fps)に応じて取り込み、プレーヤの入力動作を検出することができる。
【0051】
また、入力装置20は、プレーヤの入力動作によって発生する音の音量を検出してもよい。例えば、マイクによってプレーヤが発する音(音声を含む)を、所与の間隔で取り込み、取り込んだ音の音量(振幅)を検出してもよい。なお、音入力センサは、音の音量だけでなく、スペクトル、周波数を検出してもよい。
【0052】
また、入力装置20は、加圧センサを備えていてもよい。加圧センサは、プレーヤの入力動作によって発生する圧力を検出する。例えば、プレーヤの体重や、プレーヤが力を加えることによる圧力を検出することができる。また、入力装置に加圧センサを複数備えることによって、複数の圧力センサそれぞれの圧力値を検出することができる。
【0053】
また入力装置20は、プレーヤが把持して動かすものであってもよいし、プレーヤが身につけて動かすものであってもよい。また、入力装置20には、プレーヤが把持する刀型コントローラや銃型コントローラ、あるいはプレーヤが身につける(プレーヤが手に装着する)グローブ型コントローラなど実際の道具を模して作られたコントローラも含まれる。また入力装置20には、入力装置20と一体化されている本体装置10(ゲーム装置、携帯型ゲーム装置)、携帯電話なども含まれる。
【0054】
次に、本実施形態の本体装置10について説明する。本実施形態の本体装置10は、記憶部170、処理部100、通信部196によって構成される。
【0055】
記憶部170は、処理部100や通信部194などのワーク領域となるもので、その機能はRAM(VRAM)などのハードウェアにより実現できる。
【0056】
特に、本実施形態の記憶部170は、主記憶部172、描画バッファ174、音データ記憶部176を含む。主記憶部172は、処理部100や通信部194などのワーク領域となるもので、その機能はRAM(VRAM)などのハードウェアにより実現できる。また、描画バッファ174は、描画部120において生成された画像を記憶する。
【0057】
また、音データ記憶部176は、プレーヤの入力動作に対する入力装置の反応を示す確認音や、ゲーム演算処理に伴い出力される効果音を記憶する。なお、確認音は、検出情報に応じて複数種類記憶する。また、効果音は、モーションや、所与のイベントに応じて複数種類記憶する。また、加速度センサによって検出される加速度の方向(上方向、下方向、左方向、右方向、前方向、後方向)に応じて複数種類の確認音を記憶してもよい。
【0058】
そして処理部100は、この情報記憶媒体180に格納されるプログラム(データ)から読み出されたデータに基づいて本実施形態の種々の処理を行う。即ち、情報記録媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。なお情報記憶媒体180は、メモリカードに、プレーヤの個人データやゲームのセーブデータなどを記憶するものも含む。
【0059】
通信部196は、ネットワーク(インターネット)を介して他の本体装置(ゲーム装置)と通信することができる。その機能は、各種プロセッサ又は通信用ASIC、ネットワーク・インタフェース・カードなどのハードウェアや、プログラムなどにより実現できる。また、通信部196は、有線、無線いずれの通信も行うことができる。
【0060】
また、通信部196は、アンテナ、無線モジュールを含み、例えばBluetooth(ブルートゥース;登録商標)の技術を用いて、入力装置20の通信部260を介して、入力装置20とデータを送受信する。例えば、通信部196は、確認音、効果音等の音データ、及び、振動信号を、入力装置に送信し、入力装置20において、加速度センサや撮像画像センサによって検出された情報を、4msec、6msecの交互の間隔で受信する。
【0061】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバが有する、記憶部、情報記憶媒体からネットワークを介して情報記憶媒体180(または、記憶部170)に配信するようにしてもよい。このようなサーバの情報記憶媒体の使用も本発明の範囲に含まれる。
【0062】
処理部100(プロセッサ)は、入力装置20から受信した検出情報や情報記憶媒体180から記憶部170に展開されたプログラム等に基づいて、ゲーム演算処理、画像生成処理、或いは音制御の処理を行う。
【0063】
特に本実施形態の処理部100は、判定部110、ゲーム演算部112、描画部120、音制御部130、振動制御部140とを含む。
【0064】
判定部110は、センサの検出情報が所定条件を満たすか否かを判定する。つまり、入力装置20から検出した検出情報を取得し、取得した検出情報が所定条件を満たすか否かを判定する。
【0065】
具体的に説明すると、判定部110は、加速度センサによって検出した加速度の値が所定加速度値以上である場合に、所定条件を満たすと判定する。
【0066】
また、判定部110は、加速度の値に基づいて算出される入力装置の傾き値が、所定傾き値以上である場合に、所定条件を満たすと判定する。
【0067】
また、入力装置20が3軸方向の加速度を検出できる加速度センサを備えている場合には、本実施形態の判定部110は、3軸方向それぞれの加速度の値に基づいて、所定条件を満たすか否かを判定する。
【0068】
また、判定部110は、検出されたプレーヤの入力動作が所定の入力動作を行っている場合に、所定条件を満たすと判定する。
【0069】
また、判定部110は、検出された音の音量が所定音量以上である場合に、所定条件を満たすと判定する。
【0070】
また、判定部110は、撮像部220によって検出された特定位置に基づいて算出される算出結果が、所定条件を満たすか否かを判定する。
【0071】
また、判定部110は、撮像部220によって検出された特定位置に基づいて、表示画面上の入力装置の指示位置を算出し、当該指示位置が表示画面上の所定範囲に属するか否かによって、所定条件を満たすか否かを判定する。
【0072】
また、判定部110は、撮像部220によって検出された特定位置に基づいて、入力装置と光源との距離を算出し、当該距離が所定距離以上か否かによって、所定条件を満たすか否かを判定する。
【0073】
ゲーム演算部112は、所定条件を満たすと判定された検出情報に基づいて、ゲーム演算を行う。
【0074】
例えば、ゲーム演算部112は、キャラクタ(プレーヤキャラクタ、敵キャラクタ)、移動体(車、飛行機など)、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
【0075】
また、ゲーム演算部112は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。
【0076】
例えば、仮想カメラによりオブジェクト(例えば、キャラクタ等)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、後述するモーション生成部124で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【0077】
また、ゲーム演算部112は、モデル(キャラクタ、車、飛行機等)の移動・動作演算(移動・動作シミュレーション)を行う。すなわち、所定条件を満たすと判定された検出情報、プログラム(移動・動作アルゴリズム)や、モーションデータなどに基づいて、モデルをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させたりする処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
【0078】
描画部120は、処理部100で行われる種々の処理(ゲーム演算処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まず表示物(オブジェクト、モデル)を定義する各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含む表示物データ(オブジェクトデータ、モデルデータ)が入力され、入力された表示物データに含まれる頂点データに基づいて、頂点処理が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。頂点処理では、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、表示物を構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(フラグメント処理)が行われる。ピクセル処理では、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ176(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内に設定された仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
【0079】
なお描画部120が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【0080】
そして描画部120は、表示物を描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【0081】
ジオメトリ処理では、表示物に関して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)の表示物データ(表示物の頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、主記憶部171に保存される。
【0082】
テクスチャマッピングは、記憶部170に記憶されるテクスチャ(テクセル値)を表示物にマッピングするための処理である。具体的には、表示物の頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャを表示物にマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【0083】
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
【0084】
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。例えば、通常αブレンディングでは、α値を合成の強さとして線形補間を行うことにより2つの色を合成した色を求める処理を行う。
【0085】
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えばRGBの各色成分の輝度を表す色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
【0086】
音制御部130は、処理部100で行われる種々の処理(判定処理、ゲーム演算処理等)の結果に基づいて音データ記憶部176に記憶されている音(確認音、効果音を含む)を、入力装置のスピーカー230及びスピーカー192の少なくとも一方から出力させる処理を行う。
【0087】
本実施形態の音制御部130は、判定部110において所定条件を満たすと判定された場合に、スピーカーから確認音を出力させる。また、音制御部130は、検出情報に応じた確認音をスピーカーから出力させてもよい。また、音制御部130は、入力装置に設けられたスピーカー230のみから確認音を出力させ、スピーカー192からゲーム演算処理に応じた効果音、例えば、検出情報に基づき決定されたモーションに応じた効果音を出力させるようにしてもよい。
【0088】
また音制御部130は、所定条件を満たすと判定された加速度センサによって検出された加速度の方向の変化に応じて、確認音を変化させるようにしてもよい。例えば、加速度センサが3軸方向の加速度を検出できる場合には、上方向、下方向、左方向、右方向、前方向、後方向の各方向の加速度を検出できる。したがって、所定条件を満たすと判定された加速度の方向の変化に応じて、確認音を変化させるようにしてもよい。
【0089】
振動制御部140は、判定部110において検出情報が所定条件を満たすと判定された場合に、入力装置に設けられた振動部240に振動させる処理を行う。
【0090】
なお、本実施形態のゲームシステムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの本体装置、表示部を用いて生成してもよい。また、ネットワーク(伝送ライン、通信回線)などで接続された複数のゲーム装置を用いて分散処理により生成してもよい。また、本実施形態は、複数のプレーヤでゲームを行う場合には、複数のプレーヤの入力装置毎に、検出情報に基づいて所定条件を満たすか否かの判定や、判定結果に基づく音制御や、振動制御を行う。
【0091】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。
【0092】
表示部は、処理部100により生成された画像を出力するものであり、その機能は、CRTディスプレイ、LCD(液晶ディスプレイ)、OELD(有機ELディスプレイ)、PDP(プラズマディスプレイパネル)、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
【0093】
スピーカー192は、音制御部130により再生する音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。なお、スピーカー192は、表示部に備えられたスピーカーとしてもよい。例えば、テレビ(家庭用テレビジョン受像機)を表示部としている場合には、テレビのスピーカーとすることができる。
【0094】
光源198は、例えばLEDであり、表示部190に関連付けられて配置される。なお、本実施形態は、複数の光源(光源Rと光源L)とを備え、光源Rと光源Lとの距離は所定間隔を有するように設置されている。
【0095】
2.本実施形態の手法
(1)本実施形態のゲームシステムの概要
図2は、本実施形態のゲームシステムの概略外観図の一例である。本実施形態のゲームシステムは、表示画面にゲーム画像を表示させる表示部(表示装置)と、ゲーム演算処理を行う本体装置と、プレーヤが把持して位置、姿勢、向きを任意に変更可能なコントローラ(入力装置の一例)とを含む。
【0096】
図3は、本実施形態のコントローラの概略外観図の一例である。コントローラには、加速度センサが備えられている。加速度センサは、コントローラ自体の動きによって生じる加速度や、実世界における重力加速度を検出することができる。また、加速度センサは、どの方向からどのような加速度がかかっているのかを検出することができる。本実施形態の加速度センサは、X軸、Y軸、Z軸の3軸の加速度を検出することができるので、Y軸のプラス方向、Y軸マイナス方向、X軸のプラス方向、X軸のマイナス方向、Z軸のプラス方向、Z軸のマイナス方向の6方向に応じた加速度の値を検出することができる。したがって、プレーヤは、上方向、下方向、右方向、左方向、前方向、後方向にコントローラを振る動作それぞれを、異なる動作とすることができる。
【0097】
そして、コントローラは、検出した方向別の加速度を無線通信により本体装置へ送信する処理を行う。本体装置は、描画のフレームレート(例えば60fps)に応じて、各方向の加速度の値がしきい値以上になったか否かを判断している。そして、加速度がしきい値以上になった際に、当該加速度の方向に応じた信号を発生させ、信号に基づいてゲーム演算を行っている。例えば、Y軸プラス方向の加速度の値がしきい値以上になった場合に、信号Aを発生させ、X軸プラス方向の加速度の値がしきい値以上になった場合に、信号Bを発生させるようにしている。
【0098】
ところで、本実施形態では、プレーヤの入力対象(操作対象)のプレーヤキャラクタが剣を持って敵キャラクタと対戦する対戦ゲームを実現するものである。したがって、プレーヤがコントローラを剣に見立ててコントローラを振ることで、ゲームを楽しむことができる。具体的に説明すると、プレーヤがコントローラを下方向へ振る入力動作を行うことによって、コントローラの加速度センサが加速度の値を検出する。そして、本体装置において、取得した加速度の値がしきい値以上になった場合に、検出したときの加速度の方向に応じた信号Aが発生し、発生した信号Aに基づいて、ゲーム演算処理が行われる。例えば、モーション(例えば、プレーヤキャラクタが剣を下方向に振るモーションA)を決定し、決定されたモーションAを実行する処理を行う。
【0099】
(2)確認音を出力させる手法
このように、本実施形態では、加速度センサを備えたコントローラを用いてゲームを行うゲームシステムであるが、プレーヤは、コントローラを振るという入力動作に対するコントローラの反応を瞬時に検知するが困難である。
【0100】
図4は、プレーヤがコントローラを振る様子を示す図である。例えば、プレーヤがコントローラを振る一連の期間のうち、どのタイミングで有効な加速度が検出されているのか、プレーヤは検知できない。そのため、プレーヤは、コントローラを振る入力動作を行ってもコントローラが反応しているか否かわからないので、ストレスを感じてしまう。
【0101】
そこで、本実施形態では、コントローラ自体の加速度の値がしきい値以上になるタイミングで、スピーカーから確認音を出力させる処理を行う。プレーヤはコントローラの反応を瞬時に検知でき、ストレス無くゲームを楽しむことができるからである。ここで、確認音とは、プレーヤの入力動作に対する反応を示す音である。
【0102】
図5(A)は、入力ボタン(接触動作形のセンサ、マイクロスイッチ)によって入力されたプレーヤからの入力情報に基づき、ゲーム演算処理を行う例を図示したものであり、図5(B)は、本実施形態の加速度センサ(非接触動作形のセンサの一例)が検出した加速度に基づき、ゲーム演算処理を行う例を図示したものである。
【0103】
図5(A)に示すように、プレーヤが入力ボタンを押下することによって、発生する信号Aに基づきゲーム演算処理を行う場合には、プレーヤがボタンを押下する・しない(オン・オフ)と、ゲーム演算処理の反映する・しないの関係が明確である。つまり、プレーヤは入力ボタンに対する反応をゲーム演算処理の反映とに結びつけて、瞬時に入力に対する反応を得ることができる。
【0104】
一方、図5(B)に示すように、本実施形態のように加速度センサが検出した加速度に基づき、ゲーム演算処理を行う例では、加速度値がしきい値以上になる時点(T4時点)で、信号Aが発生し、信号Aに基づきゲーム演算処理が行われる。
【0105】
つまり、加速度センサによって検出される加速度の値は、プレーヤの入力動作に応じて変化するものであり、プレーヤの入力動作によって検出された加速度の値が、どのタイミングでゲーム演算処理に用いられるのか、プレーヤは、瞬時に検知することができない。要するに、プレーヤがコントローラを振る入力動作を行っても、プレーヤはどのタイミングで入力に対するゲーム演算処理が反映されているのか(信号Aが発生しているのか)わからない。
【0106】
そこで、本実施形態では、図5(B)に示すように、コントローラ自体の加速度の値がしきい値以上になるタイミング(T4時点)で、スピーカーから確認音を出力させる処理を行う。このようにすれば、プレーヤは確認音を聞くことによって、処理が実行されるタイミングをプレーヤは瞬時に把握することができる。
【0107】
なお、プレーヤ自身が、コントローラを振り始めた時点(T1時点)で入力を行ったと感じていたとしても、信号Aの発生に伴いゲーム演算処理が実行されるタイミングがT4時点であり、3フレームの誤差(期間S1の誤差)が生じるが、60fpsのフレームレートであれば1〜4フレームの誤差はプレーヤに違和感を与えないものである。
【0108】
しかし、本実施形態の対戦ゲームのように、信号Aが発生したT4の時点でモーション処理が実行され、T9時点でモーションに応じた効果音(例えば、剣を振り下ろす「風斬り音」)が出力される場合には、プレーヤはコントローラを振り始めの時点(T1時点)から効果音が出力される時点(T9時点)までの期間であるS2期間のズレがあるように感じてしまう。1〜4フレームの誤差であれば、プレーヤに違和感を感じさせない場合が多いが、S2期間のように8〜10フレーム程度のズレが生じることになれば多くのプレーヤに違和感を与えてしまう。
【0109】
本実施形態では、T4時点でまず確認音を出力する処理を行うことで、この問題を解消することができる。すなわち、確認音を出力する処理を行うことによって、入力動作に対する反応だけでなく、効果音が遅れて出力されることによって、プレーヤに与える違和感を解消させることができる。つまり、表示画面にはモーションが開始されているのに、音が出力されないという問題を解消させることができる。
【0110】
なお、本実施形態は、確認音をコントローラのスピーカー(図3のスピーカー)から出力させる処理を行い、モーションに応じた効果音を表示装置のスピーカー(図2の表示装置のスピーカー)から出力させる処理を行っている。このようにすれば、確認音はコントローラのレスポンスを示すことを主とする音であり、効果音はゲーム演算処理の進行に伴いゲームの演出効果を示す音として、プレーヤにとって分かり易く聞き分けることができる。特に確認音がプレーヤが把持するコントローラの手元から出力されれば、プレーヤはコントローラの反応を示す音であることを容易に判断できる。
【0111】
次に、確認音が出力されるタイミングについてより具体的に説明する。本実施形態では、履歴フラグを用いて確認音の出力を制御している。
【0112】
図6は、加速度と確認音との関係の一例を示す。本実施形態では、例えば履歴フラグが0(偽)のときのみに、確認音を出力するようにし、履歴フラグが1(真)のときは、既に確認音が出力されているとみなし、確認音を出力しないように制御する。
【0113】
例えば、予め履歴フラグの初期値を0に設定し、履歴フラグが0であるときであって、かつ加速度値がしきい値以上になったと判断されたフレームで確認音を出力する。そして、当該フレームで履歴フラグを1に設定する。そして、加速度値がしきい値よりも低い値になった場合に、履歴フラグを0に設定する処理を行う。このようにすれば、例えば図6のT1´時点、T2´時点、T3´時点のタイミングで確認音を出力することができる。
【0114】
なお、確認音を出力するタイミングで発生した信号Aに基づくゲーム演算処理(例えばモーション処理)が終了した時点で履歴フラグを0にしてもよい。
【0115】
また、本実施形態は、ゲーム演算処理に用いるか否かの判断の基準と加速度のしきい値をプレーヤの好みに合わせて設定できる。図7(A)は、ゲームのオプションメニューで表示されるしきい値の設定画面の一例を示し、図7(B)は、加速度の遷移としきい値との関係の一例を示す。
【0116】
図7(A)に示すように、設定画面では、「弱く振る」項目と、「普通に振る」項目、「強く振る」項目を設けている。そして、本実施形態では、それぞれの項目に対応して、しきい値C1〜C3が設定される。例えば、「弱く振る」項目を選択された場合には、図7(B)のしきい値C1に、「普通に振る」項目を選択された場合には、図7(B)のしきい値C2に、「強く振る」項目を選択された場合には、図7(B)のしきい値C3に設定される。
【0117】
このようにすれば、例えば、図7(B)のw1に示すように、プレーヤが弱めにコントローラを振ることを好む場合には、プレーヤが設定画面において「弱く振る」に設定すれば、しきい値がC1に設定され、コントローラを弱く振る入力動作に対する反応を得られるようにすることができる。
【0118】
一方、強くコントローラを振ることを好むプレーヤは、「強く振る」を選択することによって、しきい値C3が設定され、強くコントローラを振った場合にのみに、確認音が出力されるようにすることができる。
【0119】
要するに、プレーヤの好みに応じて、確認音が出力されることが好ましいので、このような設定画面があれば、プレーヤの意向に応じたしきい値を設定をすることができる。
【0120】
また、本実施形態では、検知した加速度の大きさに対応する確認音を予め記憶部に記憶させて、加速度の大きさに応じた確認音をコントローラのスピーカから出力するようにしてもよい。また、例えば、加速度の大きさに比例させて確認音の音量を調整してもよい。また、プレーヤキャラクタの武器に対応して確認音を用意してもよい。
【0121】
なお、本実施形態では、確認音を出力させるためのしきい値と、ゲーム演算処理で用いるしきい値と、それぞれ別に設定して処理を行ってもよい。
【0122】
例えば、図8に示すように、確認音を出力させるためのしきい値C(以下、「確認音用のしきい値」という。)を一定の値に設定し、ゲーム処理を実行させるためのしきい値D(以下、「ゲーム処理用のしきい値」)を検出される加速度に応じて可変に設定する。そして、本実施形態は、確認音を、加速度が確認音用のしきい値以上になったフレームF1、F3において確認音を出力させる処理を行う。一方、加速度がゲーム処理用のしきい値以上になるフレームF2において、ゲーム処理を実行する。
【0123】
このようにすれば、ゲーム処理を実行させるためのしきい値を、ゲーム内容に合わせて細かく設定できると共に、プレーヤに対して確認音によるコントローラの反応を告知するゲームシステムを実現できる。
【0124】
(3)コントローラの傾きに応じて確認音を出力させる手法
本実施形態では、コントローラ自体の傾きを加速度センサによって検出された加速度に基づいて算出することができる。なお、傾きは、3軸(X軸、Y軸、Z軸)において求めることができる。
【0125】
例えば、分かり易く説明するために、2軸(XY軸)において、コントローラの傾きを算出する手法について図9(A)(B)を用いて説明する。図9(A)は、ワールド座標系における重力加速度を示す図であり、図9(B)は、コントローラを基準とするコントローラ座標系における重力加速度を示す図である。
【0126】
例えば、図9(A)に示すように、コントローラを水平状態に置いた場合(かかる場合、コントローラに備えられた加速度センサも水平状態であるとする)では、Y軸下方向(重力加速度の方向)に1Gの重力がかかる。一方、図9(B)に示すように、コントローラ座標系においても、y軸の下方向に1Gの重力がかかる。そして、プレーヤがコントローラを、ワールド座標系のXY軸上を反時計回りに45度に傾けると、図9(A)に示すように、ワールド座標系ではY軸方向に1Gの重力加速度であるが、図9(B)に示すように、コントローラ座標系では、1Gの重力加速度がx軸、y軸のそれぞれに分解される。つまり、x軸方向の成分、y軸方向の成分は、それぞれ1/√2Gとなる。
【0127】
このように、本実施形態では、重力加速度を利用してコントローラ自体の傾きを検出している。つまり、図9(B)の例ではx軸のマイナス方向に1/√2G、y軸のマイナス方向に1/√2Gの加速度を検出した場合には、ワールド座標系のXY軸上を反時計周りに45度傾いていることを検出することができる。本実施形態では、3軸の加速度を検出できるので、各軸における加速度の値から3次元での傾きを算出することができる。
【0128】
そして、本実施形態では、算出されたコントローラの傾きの値が、予め設定されたしきい値(傾き所定値)以上になったか否かを判断し、コントローラの傾きの値がしきい値以上になったと判断された場合に、ゲーム演算処理を行うと共に、確認音を出力する処理を行う。このようにすれば、プレーヤはどの程度傾けたときにゲーム演算処理が行われるのかを確認音を聞くことによって瞬時に判断することができる。
【0129】
具体的に、プレーヤがコントローラをプレーヤキャラクタの武器とする剣に見立てて入力動作を行う場合に、例えば、傾きの値がしきい値以上になった場合に、必殺技のイベントを発動するゲーム演算処理を行う場合には、プレーヤは、どのタイミングで必殺技が発動されたのかを確認音を聞くことで瞬時に判断できる。
【0130】
なお、傾きの方向に応じて予め複数種類の確認音を記憶させるようにしてもよい。例えば、加速度の3軸に応じて、異なる種類の確認音を予め記憶させるようにしてもよい。具体的には、プレーヤが、ワールド座標系のZ軸回りに、つまり、XY軸上でコントローラを傾ける場合(例えば図9(A)に示すように、XY軸上でコントローラを反時計周りに傾ける場合)には、確認音A´を出力させるようにする。一方、プレーヤが、ワールド座標系のX軸回りに、つまり、YZ軸上でコントローラを傾ける場合は、確認音B´を出力させるようにする。このようにすれば、プレーヤは傾き方向に応じた確認音を瞬時に検知することができる。また、算出される傾きの単位は角度としてもよいし、ベクトルとしてもよい。かかる場合には、算出される傾きの単位に対応して、しきい値(傾き所定値)を設定する。
【0131】
(4)コントローラの指示位置に基づいて確認音を出力させる手法、及び、実空間におけるコントローラと光源との距離関係に基づいて確認音を出力させる手法
図10は、本実施形態においてプレーヤがコントローラを用いて表示画面上におけるコントローラの指示位置を指示している様子を図示したものである。
【0132】
プレーヤは、光源R、Lからの光が入射されるレンズがある赤外線フィルタ側(コントローラの前面)が光源R、Lに向くようにコントローラを動作させて、コントローラの指示位置を、ポインティングデバイスとして活用することができる。
【0133】
そして、本実施形態では、コントローラをポインティングデバイスとして活用する際に、コントローラの指示位置が所定範囲を特定できているか否かを確認音を出力させることによって、プレーヤに告知するようにしている。
【0134】
図10を用いて具体的に説明すると、プレーヤが所定範囲内を指示している場合、例えばE1を指示している場合に確認音を出力するようにし、プレーヤが所定範囲外を指示している場合、例えばE2を指示している場合に確認音を出力させないようにする。また、所定範囲内を指示している場合に、確認音を出力させないようにし、所定範囲外を指示している場合に、確認音を出力させるようにしてもよい。このようにすれば、プレーヤは指示位置が適切に指示しているか否かを、瞬時に判断することができる。
【0135】
例えば、プレーヤが射撃対象のターゲットを指示して射撃を行うゲームでは、プレーヤがターゲットを撃ち落とす射撃範囲内(所定範囲内)を指示している場合に、確認音を出力させるようにし、プレーヤが射撃範囲外(所定範囲外)を指示している場合には確認音を出力させないように制御でき、プレーヤは、出力される確認音によって、ターゲットを狙いやすくなり、射撃ゲームを楽しむことができる。
【0136】
なお、本実施形態では、プレーヤの指示位置を求めることが不可能な場合に、何らかの警告音を出力させるようにしてもよい。このようにすれば、プレーヤは、指示位置が表示画面自体を指示しているか否かを瞬時に把握できる。
【0137】
次に、実空間におけるコントローラと光源R、Lとの距離関係によって確認音を出力させる例について説明する。図11は、コントローラと光源R、Lとの距離関係を図示したものである。例えば、本実施形態では、コントローラと光源R、Lとの距離が所定距離以上か否かによって確認音を出力させる。具体的には、所定距離K(例えば1メートル)を設けて、コントローラと光源R、Lとの距離が所定距離K内である場合に、確認音を出力させて、所定距離K以上である場合に、確認音を出力させないように制御する。このようにすれば、プレーヤは、コントローラと光源R、Lとの距離関係を瞬時に把握することができる。
【0138】
図11の例では、コントローラがJ1に位置している場合には、所定距離K内であるので確認音を出力させるようにし、コントローラがJ2に位置している場合には、所定距離K以上であるので確認音を出力させないように制御する。なお、コントローラと光源R、Lの位置関係に基づいて、実空間における所定範囲にコントローラが属するか否かによって、確認音を出力させるか否かを決定してもよい。
【0139】
次に、コントローラの指示位置、及び、コントローラと光源R、Lとの距離の算出手法について、図12を用いて説明する。
【0140】
図12に示す矩形の領域は、図3の撮像素子(イメージセンサ)が取得した撮像画像が格納される撮像領域PAである。撮像領域PAには、所定周期毎にコントローラの位置、向きに応じた撮像画像が格納される。
【0141】
入力装置の撮像部は、撮像領域PAに格納された撮像画像のうち、光源Rを撮像した領域RA、光源Lを撮像したである光源領域LAそれぞれの特定位置RP、LPを求める。なお、特定位置RP、LPは、撮像領域PAにおける2次元座標系(XY軸の座標系)によって特定できる位置座標である。そして、本体装置は、求められた特定位置RP、LPを取得して、表示画面におけるプレーヤの指示位置を求める。
【0142】
すなわち、本実施形態では、撮像領域PAの原点Oをコントローラが指示する点とし、原点Oと、撮像領域PAにおける特定位置RP、LPと、撮像領域PAにおける表示画面に対応する領域である表示画面領域DAとの相対的な位置関係から、表示画面上におけるコントローラの指示位置を求める。
【0143】
図12の例では、特定位置RP、LPが、撮像領域PAの中央よりもやや上方において、撮像領域PAの基準線LX(X軸)に対して時計回りにθ°回転された状態で形成されている。従って図12の例では、原点Oは表示画面領域DAの右下部の所定位置に対応させることができ、表示画面上におけるコントローラの指示位置の座標を求めることができる。なお、光源位置RP、LPを結ぶ直線Mの基準線LXに対する回転角度θから、表示画面に対するコントローラの指示方向軸回りの回転角度(傾き)を求めることができる。
【0144】
また、本実施形態は、本体装置において取得した特定位置RP、LPに基づいて、コントローラと光源R、Lとの所定距離(実空間における所定距離)にあるときの特定位置RP、LPとの長さを、基準距離Hとして予め設定しておくことにより、基準距離Hと、図12の例における特定位置RP、LPとの距離hとの比に基づき、実空間における光源R、Lに対するコントローラの距離を求めることができる。例えば、実空間における光源Rと光源Lの中心位置からのコントローラの距離を求めることができる。
【0145】
(5)振動
本実施形態のコントローラは、バイブレータを備えている。したがって、本体装置において、加速度がしきい値以上になったと判断された場合に、バイブレータを作動させる振動信号を本体装置から入力装置に送信して、入力装置に備えられたバイブレータを振動させるようにしてもよい。このようにすれば、音だけでなく、振動によって、プレーヤはコントローラの入力動作に対する反応を得ることができる。
【0146】
なお、バイブレータが複数段階に応じて振動の強さを調整できる場合には、コントローラの入力の反応を示すための振動A(例えば、微振動)と、ゲーム処理(モーション処理)に応じた振動B((振動Aよりも強い振動)とに分けて振動のレベルを調整してもよい。
【0147】
例えば、確認音が出力される際に、振動Aのレベルで振動させ、効果音が出力される際に、振動Bのレベルで振動させるようにしてもよい。
【0148】
3.本実施形態の処理
図13は、本実施形態のゲームシステムの本体装置の処理の一例を示す。
【0149】
まず、本体装置が、コントローラが検出した加速度を取得する処理を行う(ステップS10)。
【0150】
次に、本体装置において描画のフレームレート(例えば、60fps)に応じて、加速度の値がしきい値以上か否かを判断する(ステップS20)。加速度の値がしきい値以上であると判断される場合には(ステップS20のYes)、次の処理に進む。一方、加速度の値がしきい値以上でないと判断される場合には、(ステップS20のNo)、ステップS10に戻る。
【0151】
次に、加速度の値がしきい値以上であると判断されると(ステップS20のYes)、加速度の方向に応じた確認音が決定される(ステップS30)。本実施形態では、しきい値以上であると判断された加速度値が、どの方向の加速度値であるのかを示す信号に基づいて確認音を決定する。そして、コントローラのスピーカーから決定された確認音を出力させる処理を行う(ステップS40)。以上で処理が終了する。
【0152】
4.応用例
(1)第1の応用例
本実施形態では、加圧センサを備える入力装置(ボード型入力装置)に応用することができる。
【0153】
図14は、加圧センサを用いてゲームを行う例を示したものである。本実施形態では、例えば、加圧センサによって検出された圧力値が所定圧力値以上か否かを判断し、所定圧力値以上であると判断された場合に、確認音を出力させる。このようにすれば、プレーヤは、加圧させる動作に対するレスポンスを瞬時に検知することができる。
【0154】
例えば、図14に示すように、加圧センサを内蔵するボード型入力装置を、マットレスに見立ててプレーヤがエアロビクスやヨガを行うゲームの場合には、加圧センサから検出される圧力値が所定圧力値以上になった場合に、確認音を出力させる。また、複数の加圧センサを備える場合には、それぞれの加圧センサに対応する所定圧力値を設定してもよい。例えば、図14に示すように加圧センサKL、KRを備える場合には、圧力値f1が加圧センサKLの所定圧力値以上になる場合、及び、圧力値f2が加圧センサKRの所定圧力値以上になる場合の少なくとも一方を満たす場合に、確認音を出力させるようにしてもよい。なお、ボード型入力装置にスピーカーが備わっている場合には、当該スピーカーから確認音を出力させるようにしてもよいし、コントローラのスピーカーから出力させるようにしてもよい。
【0155】
(2)第2の応用例
本実施形態では、撮影部(例えばビデオカメラ)によって、プレーヤの動きを撮影した動画像を、入力インタフェースとして利用するゲームシステムに応用することができる。つまり、本実施形態は、撮影部によってプレーヤ等の被写体を撮影することによってプレーヤの入力動作を検出するセンサ(機能)を有するゲームシステムに応用することができる。
【0156】
例えば、本実施形態は、図15に示すように、撮影部によって撮影された動画像を構成する画像の鏡面画像と、メニュー画像との合成画像を生成し、生成した合成画像を表示画面に表示させる。そして、プレーヤの手をポインティングデバイスに見立てて、プレーヤが手を振る等の入力動作を行うことでメニューの選択を指示できるゲームシステムを提供することができる。
【0157】
本実施形態では、描画のフレームレート(例えば60fps)に応じて、撮影部からデジタル化された画像を取得する。そして、撮影された動画像を構成する2枚の画像間における特徴点の移動量、移動方向を示す移動ベクトル(動き)を算出し、移動ベクトルに基づいて、ゲーム演算処理を行っている。ここで、画像の特徴点は、コーナー検出やエッジ抽出よって求めることができる1又は複数の画素である。移動ベクトルは、前画像における特徴点(特徴点を含む領域でもよい)が現画像においてどの方向にどの程度移動するかを示すベクトルであり、いわゆるオプティカルフローである。オプティカルフローは、例えば、勾配法やブロックマッチング法によって求めることができる。本実施形態では、例えば、撮影された画像からエッジ抽出によってプレーヤの輪郭線を検出し、検出した輪郭線の画素の移動ベクトルを求めている。
【0158】
そして、本実施形態では、算出した移動ベクトルの大きさである移動量が所定移動量以上になった場合に、確認音をスピーカーから出力させる処理を行う。このようにすれば、プレーヤは、自身の手を振るという入力動作に対する反応を得ることができる。また、移動量が所定移動量以上になるタイミングでゲーム演算処理を行う場合には、プレーヤは確認音によってゲーム演算処理が実行されるタイミングを瞬時に検知できる。
【0159】
なお、算出された移動量が累積加算され、累積量が所定累積量以上になった場合にゲーム演算処理が実行される場合には、累積量が所定累積量以上になった場合に確認音をスピーカーから出力させるようにしてもよい。
【0160】
例えば、算出される移動量が累積加算された累積量が所定累積量以上になった場合に、メニュー項目を選択する処理を行うと共に、確認音をスピーカーから出力させるようにする。このようにすれば、プレーヤは、どのタイミングでメニューが選択される処理がなされたのかを、確認音によって瞬時に検知することができる。
【0161】
また、図16に示すように、本実施形態では、撮影部によって被写体を撮影した動画像を、入力インタフェースとして利用する携帯電話にも応用することができる。つまり、撮影部によって被写体を撮影することによってプレーヤの入力動作を検出するセンサ(機能)を有する携帯電話にも応用することができる。
【0162】
例えば、本実施形態では、所定間隔(例えば60fps)で被写体を撮影した前後の画像を比較して画像の特徴点の移動量を算出し、移動量が所定移動量以上であると判定された場合に、確認音をスピーカーから出力させることによって、プレーヤが自身の入力動作に対する反応を検知できるようにしている。なお、算出された移動量が累積加算され、累積量が所定累積量以上になった場合にゲーム演算処理が実行される場合には、累積量が所定累積量以上になった場合に確認音をスピーカーから出力させるようにしてもよい。
【0163】
なお、図17(A)〜(D)は、携帯電話を用いてゲームを行う場合におけるプレーヤの入力動作の一例を示す。図17(A)は、プレーヤが携帯電話を傾けたときの入力動作であり、図17(B)は、プレーヤが携帯電話を振ったときの入力動作の一例であり、図17(C)は、プレーヤが手をかざす入力動作の一例であり、図17(D)は、プレーヤ自身が動く入力動作の一例である。
【0164】
本実施形態では、撮影された現画像と前画像との特徴点の移動量、移動方向を示す移動ベクトルに基づいて、プレーヤの入力動作の種類を判断している。
【0165】
例えば、所定期間中にフレーム単位で算出される特徴点の移動ベクトルの方向が、常に所定方向を示し、移動ベクトルの移動量の累積量が所定累積量以上であると判定される場合には、図17(A)に示すように、プレーヤが携帯電話を傾ける入力動作を行っていると判断する。例えば、所定方向とは、画像の所与の点を中心とする時計方向、画像の所与の点を中心とする反時計方向、画像の所与の点を中心とする放射状の方向、画像の所与の点を中心とする中心に向かう方向、上方向、下方向、左方向、右方向等がある。
【0166】
また、所定期間中にフレーム単位で算出される特徴点の移動ベクトルの方向が、1又は数フレーム単位で左方向、右方向のように大きく変化し、移動ベクトルの移動量の累積量が所定累積量以上であると判定される場合には、図17(B)に示すように、プレーヤが携帯電話を振る入力動作を行っていると判断する。
【0167】
また、撮影された画像をエッジ抽出することによって得られた輪郭が手の輪郭であると判定され、当該手の輪郭の移動ベクトルの移動量の累積量が所定累積量以上であると判定される場合には、図17(C)に示すように、プレーヤが手をかざす入力動作を行っていると判断している。
【0168】
また、撮影された画像をエッジ抽出することによって得られた輪郭が人の輪郭であると判定され、当該人の輪郭の移動ベクトルの移動量の累積量が所定累積量以上であると判定される場合には、図17(D)に示すように、プレーヤ自身が動きを行っていると判断している。なお、本実施形態では、手の輪郭や人の輪郭をパターン化したデータを記憶部に記憶させ、パターンマッチングが容易に行えるようにする。
【0169】
なお、本実施形態では、プレーヤの入力動作の種類に応じて確認音を異ならせてもよいし、移動ベクトルの方向に応じて確認音を異ならせるようにしてもよい。
【0170】
(3)第3の応用例
本実施形態では、音入力センサを備える入力装置(例えばマイク)で、入力された入力音を、入力インタフェースとして利用するゲームシステムに応用できる。例えば、クイズゲームのように、プレーヤがマイクに向かって質問に対する答えを発するクイズゲームに応用することができる。
【0171】
本実施形態では、プレーヤに対して正しく音声が認識されたことを告知するために、音声が認識されたことを示す確認音をスピーカーから出力させるようにしている。プレーヤは、どのタイミングで音声が認識されたのかを瞬時に知ることができるからである。特に、プレーヤの発する音の音量の大小や、周波数帯域の違い等により、音の入力の認識は、プレーヤの個人差が出やすいが、本実施形態によれば、確認音を出力することによって、音声が認識されたことをプレーヤに知らせることができる。
【0172】
例えば、入力された音の音量(音波の振幅)が所定音量以上か否かを判断し、所定音量以上である場合には、プレーヤからの入力音を認識して、ゲーム演算処理を行うようにする。そして、その際に確認音をスピーカーから出力する処理を行う。また、入力された音の周波数帯域が、所定の周波数帯域を占めているか否かを判断し、所定の周波数帯域を占める音である場合に、ゲーム演算処理を行い、その際に確認音をスピーカーから出力する処理を行う。
【0173】
なお、本実施形態では、入力された音の音量(音波の振幅)が所定音量以上か否かを判断し、所定音量以上である場合に、振動部を振動させる処理を行ってもよい。このようにすれば、音入力センサが誤って確認音の入力を検出することを防ぐことができる。
【0174】
なお、プレーヤが発した音や声は、A/D変換によってデジタル音に変換して入力音用の音データとして記憶部に順次記憶する処理を行う。
【0175】
(4)第4の応用例
また、本実施形態では、コントローラの電池残量が所定残量よりも少なくなった場合には、確認音を出力しないように制御してもよい。このようにすれば、プレーヤは電池残量が少ないことをすぐに検知することができる。
【0176】
(5)その他
本実施形態のゲームシステムは、超音波センサ等のセンサ(非接触センサ、近接スイッチ)を備える入力装置に応用することができる。
【図面の簡単な説明】
【0177】
【図1】本実施形態のゲームシステムの機能ブロック図。
【図2】本実施形態のゲームシステムの概略外観図
【図3】本実施形態のコントローラの概略外観図。
【図4】本実施形態のプレーヤの入力動作の説明図。
【図5】図5(A)(B)は、本実施形態のプレーヤの入力動作と、ゲーム処理との関係を示す図。
【図6】確認音の説明図。
【図7】図7(A)(B)は、本実施形態のしきい値の設定に関する説明図。
【図8】図8は、本実施形態の確認用のしきい値と、ゲーム処理用のしきい値との関係を示す図。
【図9】図9(A)(B)は、コントローラの傾きの説明図。
【図10】コントローラの指示位置の説明図。
【図11】コントローラと光源との距離関係を示す図。
【図12】コントローラの指示位置、及び、コントローラと光源R、Lとの距離の算出手法の説明図。
【図13】本実施形態のフローチャート図。
【図14】加圧センサを備える入力装置の概略図。
【図15】プレーヤの入力動作を検出するセンサを備える入力装置の概略図。
【図16】プレーヤの入力動作を検出するセンサを備える携帯電話の概略図。
【図17】プレーヤの入力動作の説明図。
【符号の説明】
【0178】
10 本体装置、20 入力装置
100 処理部、110 判定部、112 ゲーム演算部、120 描画部、
130 音制御部、140 振動制御部、170 記憶部、172 主記憶部、
174 描画バッファ、176 音データ記憶部、
180 情報記憶媒体、190 表示部、192 スピーカー、
196 通信部、198 光源、
210 加速度センサ、220 撮像部、
222 赤外線フィルタ、224 レンズ、226 撮像素子、
228 画像処理回路、230 スピーカー、240 振動部、
250 マイコン、260 通信部

【特許請求の範囲】
【請求項1】
プレーヤの入力動作に応じて変化する物理量を検出するセンサを備えた入力装置と、入力装置からセンサの検出情報を取得してゲーム演算を行う本体装置とからなるゲームシステムのためのプログラムであって、
前記センサの検出情報が所定条件を満たすか否かを判定する判定部と、
所定条件を満たす場合に、スピーカーから確認音を出力させる音制御部として、本体装置を機能させることを特徴とするプログラム。
【請求項2】
請求項1において、
前記センサが、
プレーヤの入力動作に応じて変化する加速度を検出し、
前記判定部が、
前記加速度の値が所定加速度値以上である場合に、前記所定条件を満たすと判定することを特徴とするプログラム。
【請求項3】
請求項1又は2において、
前記センサが、
プレーヤの入力動作に応じて変化する加速度を検出し、
前記判定部が、
前記加速度の値に基づいて算出される前記入力装置の傾き値が、所定傾き値以上である場合に、前記所定条件を満たすと判定することを特徴とするプログラム。
【請求項4】
請求項2又は3において、
前記センサが、
3軸方向の各軸の加速度を検出し、
前記判定部が、
3軸方向それぞれの加速度の値に基づいて、所定条件を満たすか否かを判定し、
前記音制御部が、
所定条件を満たすと判定された加速度の方向の変化に応じて、確認音を変化させることを特徴とするプログラム。
【請求項5】
請求項1〜4のいずれかにおいて、
前記センサが、
被写体を撮影することによって、プレーヤの入力動作を検出し、
前記判定部が、
プレーヤが所定の入力動作を行っている場合に、前記所定条件を満たすと判定することを特徴とするプログラム。
【請求項6】
請求項1〜5のいずれかにおいて、
前記センサが、
プレーヤの入力動作によって発生する音の音量を検出し、
前記判定部が、
前記音量が所定音量以上である場合に、前記所定条件を満たすと判定することを特徴とするプログラム。
【請求項7】
請求項1〜6のいずれかにおいて、
前記検出情報に応じた複数種類の確認音を記憶する記憶部として、本体装置を更に機能させ、
前記音制御部が、
前記検出情報に応じた確認音をスピーカーから出力させることを特徴とするプログラム。
【請求項8】
請求項1〜7のいずれかにおいて、
前記音制御部が、
前記入力装置に設けられたスピーカーから確認音を出力させる処理を行うことを特徴とするプログラム。
【請求項9】
請求項1〜8のいずれかにおいて、
前記所定条件を満たす場合に、前記入力装置に設けられた振動部に振動させる処理を行う振動制御部として、前記本体装置を更に機能させることを特徴とするプログラム。
【請求項10】
光源と、当該光源からの光を撮像した撮像画像上の特定位置を検出する検出装置と、検出装置から当該特定位置を取得してゲーム演算を行う本体装置とからなるゲームシステムのためのプログラムであって、
前記特定位置に基づいて算出される算出結果が、所定条件を満たすか否かを判定する判定部と、
所定条件を満たす場合に、スピーカーから確認音を出力させる音制御部として、前記本体装置を機能させることを特徴とするプログラム。
【請求項11】
請求項10において、
前記判定部が、
前記特定位置に基づいて、表示画面上における前記検出装置の指示位置を算出し、当該指示位置が表示画面上の所定範囲に属するか否かによって、前記所定条件を満たすか否かを判定することを特徴とするプログラム。
【請求項12】
請求項10又は11において、
前記判定部が、
前記特定位置に基づいて、前記検出装置と前記光源との距離を算出し、当該距離が所定距離以上か否かによって、前記所定条件を満たすか否かを判定することを特徴とするプログラム。
【請求項13】
請求項10〜12のいずれかにおいて、
前記音制御部が、
前記検出装置に設けられたスピーカーから確認音を出力させる処理を行うことを特徴とするプログラム。
【請求項14】
請求項10〜13のいずれかにおいて、
前記所定条件を満たす場合に、前記検出装置に設けられた振動部に振動させる処理を行う振動制御部として、前記本体装置を更に機能させることを特徴とするプログラム。
【請求項15】
コンピュータにより読み取り可能な情報記憶媒体であって、請求項1〜14のいずれかに記載のプログラムを記憶していることを特徴とする情報記憶媒体。
【請求項16】
プレーヤの入力動作に応じて変化する物理量を検出するセンサを備えた入力装置と、入力装置からセンサの検出情報を取得してゲーム演算を行う本体装置とからなるゲームシステムであって、
前記本体装置が、
前記センサの検出情報が所定条件を満たすか否かを判定する判定部と、
所定条件を満たす場合に、スピーカーから確認音を出力させる音制御部とを含むことを特徴とするゲームシステム。
【請求項17】
光源と、当該光源からの光を撮像した撮像画像上の特定位置を検出する検出装置と、検出装置から特定位置を取得してゲーム演算を行う本体装置とからなるゲームシステムであって、
前記本体装置が、
前記特定位置に基づいて算出される算出結果が、所定条件を満たすか否かを判定する判定部と、
所定条件を満たす場合に、スピーカーから確認音を出力させる音制御部とを含むことを特徴とするゲームシステム。

【図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

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2009−61159(P2009−61159A)
【公開日】平成21年3月26日(2009.3.26)
【国際特許分類】
【出願番号】特願2007−232602(P2007−232602)
【出願日】平成19年9月7日(2007.9.7)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】