説明

ゲーム装置、ゲーム装置の制御方法及びプログラム

【課題】プレイヤが意図していない動作を操作対象が行わないように図ることが可能なゲーム装置を提供すること。
【解決手段】ゲーム装置(10)は、プレイヤの操作対象と、物体又はキャラクタと、の少なくとも一方がゲーム空間内を移動するゲームを実行する。数値情報取得手段(51)は、プレイヤの動きに応じた数値情報を取得する。制御手段(52)は、数値情報が条件を満足する場合、操作対象と物体又はキャラクタとの位置関係が第1位置関係である場合に対応する動作を操作対象に行わせる。条件変更手段(55)は、操作対象と物体又はキャラクタとの位置関係に基づいて、上記条件を変更する。条件変更手段(55)は、操作対象と物体又はキャラクタとの位置関係が第2位置関係である場合の上記条件を、操作対象と物体又はキャラクタとの位置関係が第1位置関係である場合の上記条件に比べて、数値情報が上記条件を満足し難くなるように設定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はゲーム装置、ゲーム装置の制御方法及びプログラムに関する。
【背景技術】
【0002】
プレイヤの動きに応じた数値情報を取得し、該数値情報に基づいて、操作対象に動作を行わせるゲーム装置が知られている。例えば、加速度センサを内蔵したスティック状のコントローラを含むゲーム装置が知られている(例えば特許文献1)。このようなゲーム装置では、加速度センサの検出結果を数値情報として取得し、該数値情報に基づいて、プレイヤがコントローラを振ったか否かを判定し、その判定結果に基づいて、ゲームキャラクタに動作を行わせることが可能である。
【0003】
このため、上記のようなゲーム装置では、例えば、プレイヤがコントローラを実際のラケットと同様にして振ると、ゲームキャラクタがラケットを振るテニスゲーム等が実現されている。このゲームでは、プレイヤがコントローラをフォアハンドで振ると、ゲームキャラクタもラケットをフォアハンドで振り、プレイヤがコントローラをバックハンド振ると、ゲームキャラクタもラケットをバックハンドで振る。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−241655号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
例えば、上記のようなゲームのプレイヤは、コントローラをフォアハンドで振ろうとする際にバックスイングを行う場合がある。このときのコントローラの動きは、コントローラをバックハンドで振った場合の動きと類似しており、加速度センサの検出結果も、コントローラをバックハンドで振った場合の検出結果と類似する場合がある。プレイヤがコントローラをフォアハンドで振ろうと意図してバックスイングを行った場合に、ラケットをバックハンドで振る動作をゲームキャラクタが行ってしまうと、プレイヤが意図していない動作をゲームキャラクタが行うことになってしまう。その結果、プレイヤが不満を感じてしまうおそれがある。
【0006】
本発明は上記課題に鑑みてなされたものであって、その目的は、プレイヤが意図していない動作を操作対象が行わないように図ることが可能なゲーム装置、ゲーム装置の制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明に係るゲーム装置は、プレイヤの操作対象と、物体又はキャラクタと、の少なくとも一方がゲーム空間内を移動するゲームを実行するゲーム装置において、前記プレイヤの動きに応じた数値情報を取得する数値情報取得手段と、前記数値情報が条件を満足する場合、前記操作対象と前記物体又は前記キャラクタとの位置関係が第1位置関係である場合に対応する動作を前記操作対象に行わせる制御手段と、前記操作対象と前記物体又は前記キャラクタとの位置関係に基づいて、前記条件を変更する手段であって、前記操作対象と前記物体又は前記キャラクタとの位置関係が第2位置関係である場合の前記条件を、前記操作対象と前記物体又は前記キャラクタとの位置関係が前記第1位置関係である場合の前記条件に比べて、前記数値情報が前記条件を満足し難くなるように設定する条件変更手段と、を含むことを特徴とする。
【0008】
また、本発明に係るゲーム装置の制御方法は、プレイヤの操作対象と、物体又はキャラクタと、の少なくとも一方がゲーム空間内を移動するゲームを実行するゲーム装置の制御方法において、前記プレイヤの動きに応じた数値情報を取得する数値情報取得ステップと、前記数値情報が条件を満足する場合、前記操作対象と前記物体又は前記キャラクタとの位置関係が第1位置関係である場合に対応する動作を前記操作対象に行わせる制御ステップと、前記操作対象と前記物体又は前記キャラクタとの位置関係に基づいて、前記条件を変更するステップであって、前記操作対象と前記物体又は前記キャラクタとの位置関係が第2位置関係である場合の前記条件を、前記操作対象と前記物体又は前記キャラクタとの位置関係が前記第1位置関係である場合の前記条件に比べて、前記数値情報が前記条件を満足し難くなるように設定する条件変更ステップと、を含むことを特徴とする。
【0009】
また、本発明に係るプログラムは、プレイヤの操作対象と、物体又はキャラクタと、の少なくとも一方がゲーム空間内を移動するゲームを実行するゲーム装置として、家庭用ゲーム機(据置型ゲーム機)、携帯ゲーム機、業務用ゲーム機、携帯電話機、携帯情報端末(PDA)やパーソナルコンピュータ等のコンピュータを機能させるためのプログラムであって、前記プレイヤの動きに応じた数値情報を取得する数値情報取得手段、前記数値情報が条件を満足する場合、前記操作対象と前記物体又は前記キャラクタとの位置関係が第1位置関係である場合に対応する動作を前記操作対象に行わせる制御手段、及び、前記操作対象と前記物体又は前記キャラクタとの位置関係に基づいて、前記条件を変更する手段であって、前記操作対象と前記物体又は前記キャラクタとの位置関係が第2位置関係である場合の前記条件を、前記操作対象と前記物体又は前記キャラクタとの位置関係が前記第1位置関係である場合の前記条件に比べて、前記数値情報が前記条件を満足し難くなるように設定する条件変更手段、として前記コンピュータを機能させるためのプログラムである。
【0010】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【0011】
本発明によれば、プレイヤが意図していない動作を操作対象が行わないように図ることが可能になる。
【0012】
また本発明の一態様では、前記制御手段は、前記数値情報に基づいて得られる数値が基準値よりも大きい場合、前記操作対象と前記物体又は前記キャラクタとの位置関係が前記第1位置関係である場合に対応する前記動作を前記操作対象に行わせるようにしてもよい。前記条件変更手段は、前記操作対象と前記物体又は前記キャラクタとの位置関係が第2位置関係である場合の前記基準値を、前記操作対象と前記物体又は前記キャラクタとの位置関係が前記第1位置関係である場合の前記基準値よりも大きい値に設定するようにしてもよい。
【0013】
また本発明の一態様では、前記制御手段は、前記数値情報に基づいて得られる数値が基準値よりも小さい場合、前記操作対象と前記物体又は前記キャラクタとの位置関係が前記第1位置関係である場合に対応する前記動作を前記操作対象に行わせるようにしてもよい。前記条件変更手段は、前記操作対象と前記物体又は前記キャラクタとの位置関係が第2位置関係である場合の前記基準値を、前記操作対象と前記物体又は前記キャラクタとの位置関係が前記第1位置関係である場合の前記基準値よりも小さい値に設定するようにしてもよい。
【0014】
また本発明の一態様では、前記条件変更手段は、前記物体又は前記キャラクタの移動速度に基づいて、前記条件を変更する手段を含むようにしてもよい。
【図面の簡単な説明】
【0015】
【図1】本実施形態に係るゲーム装置のハードウェア構成を示す図である。
【図2】コントローラの一例を示す図である。
【図3】ゲーム空間の一例を示す図である。
【図4】プレイヤがゲームをプレイする様子を表す図である。
【図5】本実施形態に係るゲーム装置の機能ブロック図である。
【図6】ゲーム装置が実行する処理の一例を示すフロー図である。
【図7】プレイヤキャラクタにとって球をフォアハンド又はバックハンドのいずれで打つ方が有利であるかの判定について説明するための図である。
【図8】プレイヤがコントローラをフォアハンド又はバックハンドのいずれで振ったかを判定するための判定方法について説明するための図である。
【図9】プレイヤがコントローラをフォアハンド又はバックハンドのいずれで振ったかを判定するための判定方法について説明するための図である。
【発明を実施するための最良の形態】
【0016】
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。本発明の実施形態に係るゲーム装置は、例えば家庭用ゲーム機(据置型ゲーム機)、携帯ゲーム機、携帯電話機、携帯情報端末(PDA)又はパーソナルコンピュータ等によって実現される。ここでは、本発明の実施形態に係るゲーム装置を家庭用ゲーム機によって実現する場合について説明する。
【0017】
図1は本実施形態に係るゲーム装置のハードウェア構成を示す。図1に示すように、本実施形態に係るゲーム装置10は家庭用ゲーム機11、表示部30、音声出力部31、光ディスク32、及びメモリカード33を含む。表示部30及び音声出力部31は家庭用ゲーム機11に接続される。例えば、家庭用テレビ受像機が表示部30として用いられ、家庭用テレビ受像機に内蔵されたスピーカが音声出力部31として用いられる。光ディスク32及びメモリカード33は情報記憶媒体であり、家庭用ゲーム機11に装着される。
【0018】
家庭用ゲーム機11は公知のコンピュータゲームシステムであり、バス12、マイクロプロセッサ13、主記憶14、画像処理部15、音声処理部16、光ディスクドライブ17、メモリカードスロット18、通信インタフェース(I/F)19、コントローラインタフェース(I/F)20、及びコントローラ21を含む。
【0019】
バス12はアドレス及びデータを家庭用ゲーム機11の各部でやり取りするためのものである。マイクロプロセッサ13、主記憶14、画像処理部15、音声処理部16、光ディスクドライブ17、メモリカードスロット18、通信インタフェース19、及びコントローラインタフェース20は、バス12によって相互データ通信可能に接続される。
【0020】
マイクロプロセッサ13は、図示しないROMに格納されるオペレーティングシステムや、光ディスク32又はメモリカード33から読み出されるプログラムに基づいて、各種情報処理を実行する。主記憶14は例えばRAMを含み、光ディスク32又はメモリカード33から読み出されたプログラム及びデータが必要に応じて書き込まれる。主記憶14はマイクロプロセッサ13の作業用としても用いられる。
【0021】
画像処理部15はVRAMを含み、マイクロプロセッサ13から送られる画像データに基づいてVRAM上にゲーム画面を描画する。そして画像処理部15は、そのゲーム画面をビデオ信号に変換して所定のタイミングで表示部30に出力する。音声処理部16はサウンドバッファを含み、光ディスク32からサウンドバッファに読み出された各種音声データ(ゲーム音楽、ゲーム効果音、メッセージ等)を音声出力部31から出力する。
【0022】
光ディスクドライブ17は、光ディスク32に記録されたプログラムやデータを読み取る。ここでは、プログラムやデータを家庭用ゲーム機11に供給するために光ディスク32を用いることとするが、例えばメモリカード33などの他の情報記憶媒体を用いるようにしてもよい。また、インターネットなどのデータ通信網を介してプログラムやデータを家庭用ゲーム機11に供給するようにしてもよい。
【0023】
メモリカードスロット18はメモリカード33を装着するためのインタフェースである。メモリカード33は不揮発性メモリ(例えばEEPROMなど)を含み、例えばセーブデータなどの各種ゲームデータを記憶する。通信インタフェース19は、インターネットなどのデータ通信網に通信接続するためのインタフェースである。
【0024】
コントローラインタフェース20はコントローラ21を無線接続するためのインタフェースである。コントローラインタフェース20としては、例えばBluetooth(登録商標)インタフェース規格に則ったインタフェースを利用できる。なお、コントローラインタフェース20はコントローラ21を有線接続するためのインタフェースとしてもよい。
【0025】
図2はコントローラ21の一例を示す図である。コントローラ21はプレイヤの操作を受け付けるためのものである。図2に示すように、コントローラ21はスティック型のコントローラであり、方向ボタン34、ボタン35a,35b,35cを含む。
【0026】
さらに、コントローラ21は加速度センサ22を含む。加速度センサ22は、例えば、互いに直交するX軸方向、Y軸方向、及びZ軸方向の加速度を検出し、その検出結果を示す数値を出力する。例えば図2に示すように、X軸方向がコントローラ21の短手方向に対応し、Z軸方向がコントローラ21の長手方向に対応する。また、Y軸方向はコントローラ21の表面21aの法線方向に対応している。
【0027】
コントローラ21の状態を表す操作信号が、コントローラインタフェース20を介してコントローラ21からマイクロプロセッサ13に、一定周期ごと(例えば1/60秒ごと)に送信される。この操作信号には、例えば、コントローラ21を識別する識別情報と、各ボタンの押下状態を示す情報と、加速度センサ22の検出結果を示す情報と、が含まれる。例えば、マイクロプロセッサ13は、操作信号(加速度センサ22の検出結果)に基づいて、コントローラ21の動きを判断することが可能である。
【0028】
ゲーム装置10では例えば卓球ゲームが実行される。この卓球ゲームを実現するために、ゲーム空間40が主記憶14に構築される。図3はゲーム空間40の一例を示す。図3に示すように、卓球台を表すオブジェクトである卓球台41がゲーム空間40に配置される。卓球台41はネット41aを含んでいる。
【0029】
また、卓球のボールを表すオブジェクトである球42(物体)と、プレイヤに対応する卓球選手を表すオブジェクトであるプレイヤキャラクタ43(操作対象)と、対戦相手の卓球選手を表すオブジェクトである対戦相手キャラクタ44と、がゲーム空間40内を移動する。プレイヤキャラクタ43は卓球のラケット43aを持っており、対戦相手キャラクタ44も卓球のラケット44aを持っている。
【0030】
また、ゲーム空間40には仮想カメラ45が設定される。仮想カメラ45からゲーム空間40を見た様子を表すゲーム画面が表示部30に表示される。なお、仮想カメラ45はプレイヤキャラクタ43の目の位置に設定されるようにしてもよい。このようにして、プレイヤキャラクタ43からゲーム空間40を見た様子がゲーム画面に表示されるようにしてもよい。
【0031】
図4は、プレイヤがゲームをプレイする様子を表す図である。図4に示すように、プレイヤは表示部30の前に立ち、コントローラ21を一方の手で持ってゲームをプレイする。なお、試合が開始される前に、プレイヤがどちらの手でコントローラ21を持つのかを指定するための画面が表示され、プレイヤはコントローラ21を持つ手を指定する。プレイヤがコントローラ21を右手で持つ場合にはプレイヤキャラクタ43もラケット43aを右手で持ち、プレイヤがコントローラ21を左手で持つ場合にはプレイヤキャラクタ43もラケット43aを左手で持つようになる。
【0032】
この卓球ゲームでは、プレイヤキャラクタ43はコンピュータによる制御に従って移動する。このため、プレイヤは、プレイヤキャラクタ43にラケット43aを振らせるための操作に専念する。プレイヤは、プレイヤキャラクタ43と球42とが近づいたタイミングで、実際の卓球のラケットを振るようにコントローラ21を振る。
【0033】
例えば、プレイヤがコントローラ21をフォアハンドで振ると、プレイヤキャラクタ43もラケット43aをフォアハンドで振る。また例えば、プレイヤがコントローラ21をバックハンドで振ると、プレイヤキャラクタ43もラケット43aをバックハンドで振る。
【0034】
以下、上記の卓球ゲームにおいて、プレイヤが意図していない動作をプレイヤキャラクタ43が行ってしまわないように図るための技術について説明する。
【0035】
図5は、ゲーム装置10で実現される機能のうち、本発明に関連するものを主として示す機能ブロック図である。図5に示すように、ゲーム装置10はゲームデータ記憶部50、数値情報取得部51、制御部52、及び条件変更部55を含む。ゲームデータ記憶部50は例えば主記憶14及び光ディスク32によって実現され、数値情報取得部51、制御部52、及び条件変更部55は、マイクロプロセッサ13が光ディスク32に記憶されるプログラムを実行することによって実現される。
【0036】
ゲームデータ記憶部50はゲームを実行するために必要なデータを記憶する。例えば、ゲームデータ記憶部50は、卓球ゲームの現在の状況を示すデータを記憶する。例えば、下記のようなデータが記憶される。
(1)球42の状態(位置、移動方向、及び移動速度等)を示すデータ
(2)プレイヤキャラクタ43の状態(位置、姿勢、及び移動方向等)を示すデータ
(3)対戦相手キャラクタ44の状態(位置、姿勢、及び移動方向等)を示すデータ
【0037】
数値情報取得部51はプレイヤの動きに応じた数値情報を取得する。本実施形態の場合、数値情報取得部51は、プレイヤの動きに応じた数値情報として、コントローラ21の加速度センサ22の検出結果を取得する。
【0038】
制御部52は、プレイヤキャラクタ43の制御を実行する。例えば、制御部52は球42の位置に基づいてプレイヤキャラクタ43を移動させる。すなわち、制御部52は、プレイヤキャラクタ43が球42を打ち返すことができるように、プレイヤキャラクタ43を移動させる。
【0039】
また、制御部52は、数値情報取得部51によって取得された数値情報に基づいて、プレイヤキャラクタ43に動作を行わせる。制御部52は第1制御部53及び第2制御部54を含む。
【0040】
第1制御部53は、数値情報取得部51によって取得された数値情報が第1条件を満足する場合、プレイヤキャラクタ43と球42との位置関係が第1位置関係である場合に対応する第1動作をプレイヤキャラクタ43に行わせる。
【0041】
本実施形態の場合、第1制御部53は、数値情報取得部51によって取得された数値情報が第1条件を満足する場合、ラケット43aをフォアハンドで振る動作をプレイヤキャラクタ43に行わせる。すなわち、本実施形態の場合、「第1動作」とは、ラケット43aをフォアハンドで振る動作である。また、「プレイヤキャラクタ43と球42との位置関係が第1位置関係である場合」とは、プレイヤキャラクタ43と球42との位置関係が、プレイヤキャラクタ43が球42をフォアハンドで打つ方が有利であるような位置関係である場合である。
【0042】
「プレイヤキャラクタ43と球42との位置関係が、プレイヤキャラクタ43が球42をフォアハンドで打つ方が有利であるような位置関係である場合」とは、プレイヤキャラクタ43が球42をフォアハンドで打つべきである場合であり、より具体的には、プレイヤキャラクタ43のラケット43aを持っている方の手側の領域に向かって球42が移動している場合、又はプレイヤキャラクタ43のラケット43aを持っている方の手側の領域に球42が位置している場合である。
【0043】
また本実施形態の場合、「第1条件」は、プレイヤがコントローラ21をフォアハンドで振ったか否かを判定するための条件である。「第1条件」は、数値情報取得部51によって取得された数値情報(加速度センサ22の検出結果)に関する条件である。例えば、「第1条件」は、加速度センサ22の検出結果に基づいて得られる第1数値が第1基準値より大きいか否かの条件を含む。以下、「第1条件」について詳細に説明する。
【0044】
例えば、プレイヤがコントローラ21をフォアハンドで振ったか否かは、現在から所定時間前までの期間における加速度センサ22の検出結果の変化パターンと、コントローラ21がフォアハンドで振られる場合における加速度センサ22の検出結果の標準的な変化パターンと、を比較することによって判定される。例えば、現在から所定時間前までの期間における加速度センサ22の検出結果の変化パターンと、コントローラ21がフォアハンドで振られる場合における加速度センサ22の検出結果の標準的な変化パターンと、の類似度が高い場合、プレイヤがコントローラ21をフォアハンドで振ったと判定される。
【0045】
このため、本実施形態の場合、「第1条件」は、現在から所定時間前までの期間における加速度センサ22の検出結果の変化パターンと、加速度センサ22の検出結果の標準的な変化パターンと、の類似度(第1数値)が第1基準類似度(第1基準値)より大きいか否かの条件である。なお、プレイヤのコントローラ21の持ち方が多様であることを考慮して、加速度センサ22の検出結果の標準的な変化パターンは複数種類記憶される。例えば、コントローラ21が右手で持たれた状態でフォアハンドで振られた場合の加速度センサ22の検出結果の標準的な変化パターンと、コントローラ21が左手で持たれた状態でフォアハンドで振られた場合の加速度センサ22の検出結果の標準的な変化パターンと、が記憶される。
【0046】
例えば、コントローラ21を右手で持った状態でフォアハンドで振った場合の加速度センサ22の検出結果の変化パターンがあらかじめ取得され、コントローラ21を右手で持つ場合の加速度センサ22の検出結果の標準的な変化パターンとして用いられる。同様に、コントローラ21を左手で持った状態でフォアハンドで振った場合の加速度センサ22の検出結果の変化パターンがあらかじめ取得され、コントローラ21を左手で持つ場合の加速度センサ22の検出結果の標準的な変化パターンとして用いられる。
【0047】
第2制御部54は、数値情報取得部51によって取得された数値情報が第2条件を満足する場合、プレイヤキャラクタ43と球42との位置関係が第2位置関係である場合に対応する第2動作をプレイヤキャラクタ43に行わせる。
【0048】
本実施形態の場合、第2制御部54は、数値情報取得部51によって取得された数値情報が第2条件を満足する場合、ラケット43aをバックハンドで振る動作をプレイヤキャラクタ43に行わせる。すなわち、本実施形態の場合、「第2動作」とは、ラケット43aをバックハンドで振る動作である。また、「プレイヤキャラクタ43と球42との位置関係が第2位置関係である場合」とは、プレイヤキャラクタ43と球42との位置関係が、プレイヤキャラクタ43が球42をバックハンドで打つ方が有利であるような位置関係である場合である。
【0049】
「プレイヤキャラクタ43と球42との位置関係が、プレイヤキャラクタ43が球42をバックハンドで打つ方が有利であるような位置関係である場合」とは、プレイヤキャラクタ43が球42をバックハンドで打つべきである場合であり、より具体的には、プレイヤキャラクタ43のラケット43aを持っていない方の手側の領域に向かって球42が移動している場合、又は、プレイヤキャラクタ43のラケット43aを持っていない方の手側の領域に球42が位置している場合である。
【0050】
また本実施形態の場合、「第2条件」は、プレイヤがコントローラ21をバックハンドで振ったか否かを判定するための条件である。「第2条件」も、数値情報取得部51によって取得された数値情報(加速度センサ22の検出結果)に関する条件である。例えば、「第2条件」は、加速度センサ22の検出結果に基づいて得られる第2数値が第2基準値より大きいか否かの条件を含む。以下、「第2条件」について詳細に説明する。
【0051】
例えば、プレイヤがコントローラ21をバックハンドで振ったか否かは、現在から所定時間前までの期間における加速度センサ22の検出結果の変化パターンと、コントローラ21がバックハンドで振られる場合における加速度センサ22の検出結果の標準的な変化パターンと、を比較することによって判定される。例えば、現在から所定時間前までの期間における加速度センサ22の検出結果の変化パターンと、コントローラ21がバックハンドで振られる場合における加速度センサ22の検出結果の標準的な変化パターンと、の類似度が高い場合には、プレイヤがコントローラ21をバックハンドで振ったと判定される。
【0052】
このため、本実施形態の場合、「第2条件」は、現在から所定時間前までの期間における加速度センサ22の検出結果の変化パターンと、加速度センサ22の検出結果の標準的な変化パターンと、の類似度(第2数値)が第2基準類似度(第2基準値)より大きいか否かの条件である。なお、プレイヤのコントローラ21の持ち方が多様であることを考慮して、加速度センサ22の検出結果の標準的な変化パターンは複数種類記憶される。例えば、コントローラ21が右手で持たれた状態でバックハンドで振られた場合の加速度センサ22の検出結果の標準的な変化パターンと、コントローラ21で左手で持たれた状態でバックハンドで振られた場合の加速度センサ22の検出結果の標準的な変化パターンと、が記憶される。
【0053】
例えば、コントローラ21を右手で持った状態でバックハンドで振った場合の加速度センサ22の検出結果の変化パターンがあらかじめ取得され、コントローラ21を右手で持つ場合の加速度センサ22の検出結果の標準的な変化パターンとして用いられる。同様に、コントローラ21を左手で持った状態でバックハンドで振った場合の加速度センサ22の検出結果の変化パターンがあらかじめ取得され、コントローラ21を左手で持つ場合の加速度センサ22の検出結果の標準的な変化パターンとして用いられる。
【0054】
条件変更部55は、プレイヤキャラクタ43と球42との位置関係に基づいて、第1条件を変更する。例えば、条件変更部55は、プレイヤキャラクタ43と球42との位置関係が第2位置関係である場合の第1条件を、プレイヤキャラクタ43と球42との位置関係が第1位置関係である場合の第1条件に比べて、数値情報取得部51によって取得された数値情報が第1条件を満足し難くなるように設定する。
【0055】
ここで、第1条件が、現在から所定時間前までの期間における加速度センサ22の検出結果の変化パターンと、コントローラ21がフォアハンドで振られる場合における加速度センサ22の検出結果の標準的な変化パターンと、の類似度が第1基準類似度より大きいか否かの条件である場合について説明する。この場合、条件変更部55は、プレイヤキャラクタ43と球42との位置関係が第2位置関係である場合の第1基準類似度を、プレイヤキャラクタ43と球42との位置関係が第1位置関係である場合の第1基準類似度(例えばR1)よりも高い類似度(例えばR2:R1<R2)に設定する。
【0056】
条件変更部55の上記機能によれば、プレイヤキャラクタ43と球42との位置関係が第2位置関係である場合(例えば、プレイヤキャラクタ43のラケット43aを持っていない方の手側の領域に向かって球42が移動している場合)には、数値情報取得部51によって取得された数値情報が第1条件を満足し難くなるように第1条件が設定されるため、プレイヤキャラクタ43が第1動作(ラケット43aをフォアハンドで振る動作)を行い難くなる。
【0057】
プレイヤは、コントローラ21をバックハンドで振ろうとする際にバックスイングを行う場合がある。このときのコントローラ21の動きは、コントローラ21をフォアハンドで振る場合の動きと類似する場合があり、このときの加速度センサ22の検出結果の変化パターンも、コントローラ21がフォアハンドで振られる場合の加速度センサ22の検出結果の標準的な変化パターンと類似する場合がある。
【0058】
プレイヤがコントローラ21をバックハンドで振ろうと意図してバックスイングを行った場合に、ラケット43aをフォアハンドで振る動作をプレイヤキャラクタ43が行ってしまうと、プレイヤが意図していない動作をプレイヤキャラクタ43が行うことになってしまう。その結果、プレイヤが不満を感じてしまうおそれがある。
【0059】
また、プレイヤがコントローラ21をフォアハンドで振ろうとしている状態で、球42が、プレイヤキャラクタ43のラケット43aを持っていない方の手側の領域に向かって移動する場合、プレイヤは、コントローラ21をフォアハンドで振ろうとする体勢から、コントローラ21をバックハンドで振ろうとする体勢に変える。このときのコントローラ21の動きは、コントローラ21をフォアハンドで振る場合のコントローラ21の動きに類似する場合があり、このときの加速度センサ22の検出結果の変化パターンも、コントローラ21がフォアハンドで振られる場合の加速度センサ22の検出結果の標準的な変化パターンと類似する場合がある。
【0060】
プレイヤが、コントローラ21をフォアハンドで振ろうとする体勢から、コントローラ21をバックハンドで振ろうとする体勢に変える場合に、ラケット43aをフォアハンドで振る動作をプレイヤキャラクタ43が行ってしまうと、プレイヤが意図していない動作をプレイヤキャラクタ43が行うことになってしまう。その結果、プレイヤが不満を感じてしまうおそれがある。
【0061】
この点、条件変更部55の上記機能によれば、プレイヤキャラクタ43と球42との位置関係が第2位置関係である場合(例えば、球42が、プレイヤキャラクタ43のラケット43aを持っていない方の手側の領域に向かって移動する場合)には、数値情報取得部51によって取得された数値情報が第1条件を満足し難くなるように設定されるため、プレイヤキャラクタ43が第1動作(ラケット43aをフォアハンドで振る動作)を行い難くなる。その結果、プレイヤが意図していない動作をプレイヤキャラクタ43が行い難くなる。
【0062】
また、条件変更部55は、プレイヤキャラクタ43と球42との位置関係に基づいて、第2条件を変更する。例えば、条件変更部55は、プレイヤキャラクタ43と球42との位置関係が第1位置関係である場合の第2条件を、プレイヤキャラクタ43と球42との位置関係が第2位置関係である場合の第2条件に比べて、数値情報取得部51によって取得された数値情報が第2条件を満足し難くなるように設定する。
【0063】
ここで、第2条件が、現在から所定時間前までの期間における加速度センサ22の検出結果の変化パターンと、コントローラ21がバックハンドで振られる場合における加速度センサ22の検出結果の標準的な変化パターンと、の類似度が第2基準類似度より大きいか否かの条件である場合について説明する。この場合、条件変更部55は、プレイヤキャラクタ43と球42との位置関係が第1位置関係である場合の第2基準類似度を、プレイヤキャラクタ43と球42との位置関係が第2位置関係である場合の第2基準類似度(例えばR1)よりも高い類似度(例えばR2:R1<R2)に設定する。
【0064】
条件変更部55の上記機能によれば、プレイヤキャラクタ43と球42との位置関係が第1位置関係である場合(例えば、球42が、プレイヤキャラクタ43のラケット43aを持っている方の手側の領域に向かって移動している場合)には、数値情報取得部51によって取得された数値情報が第2条件を満足し難くなるように第2条件が設定されるため、プレイヤキャラクタ43が第2動作(ラケット43aをバックハンドで振る動作)を行い難くなる。
【0065】
プレイヤは、コントローラ21をフォアハンドで振ろうとする際にバックスイングを行う場合がある。このときのコントローラ21の動きは、コントローラ21をバックハンドで振る場合の動きと類似する場合があり、このときの加速度センサ22の検出結果の変化パターンも、コントローラ21がバックハンドで振られる場合の加速度センサ22の検出結果の標準的な変化パターンと類似する場合がある。
【0066】
プレイヤがコントローラ21をバックハンドで振ろうと意図してバックスイングを行った場合に、ラケット43aをフォアハンドで振る動作をプレイヤキャラクタ43が行ってしまうと、プレイヤが意図していない動作をプレイヤキャラクタ43が行うことになってしまう。その結果、プレイヤが不満を感じてしまうおそれがある。
【0067】
また、プレイヤがコントローラ21をバックハンドで振ろうとしている状態で、球42が、プレイヤキャラクタ43のラケット43aを持っている方の手側の領域に向かって移動している場合、プレイヤは、コントローラ21をバックハンドで振ろうとする体勢から、コントローラ21をフォアハンドで振ろうとする体勢に変える。このときのコントローラ21の動きは、コントローラ21をバックハンドで振る場合のコントローラ21の動きに類似する場合があり、このときの加速度センサ22の検出結果の変化パターンも、コントローラ21がバックハンドで振られる場合の加速度センサ22の検出結果の標準的な変化パターンと類似する場合がある。
【0068】
プレイヤが、コントローラ21をバックハンドで振ろうとする体勢から、コントローラ21をフォアハンドで振ろうとする体勢に変える場合に、プレイヤキャラクタ43がラケット43aをバックハンドで振る動作を行ってしまうと、プレイヤが意図していない動作をプレイヤキャラクタ43が行うことになってしまう。その結果、プレイヤが不満を感じてしまうおそれがある。
【0069】
この点、条件変更部55によれば、プレイヤキャラクタ43と球42との位置関係が第1位置関係である場合(例えば、プレイヤキャラクタ43のラケット43aを持っている方の手側の領域に向かって球42が移動している場合)には、数値情報取得部51によって取得された数値情報が第2条件を満足し難くなるように第2条件が設定されるため、プレイヤキャラクタ43が第2動作(ラケット43aをバックハンドで振る動作)を行い難くなる。その結果、プレイヤが意図していない動作をプレイヤキャラクタ43が行い難くなる。
【0070】
次に、ゲーム装置10が実行する処理について説明する。図6は、対戦相手キャラクタ44が球42を打ってから、プレイヤキャラクタ43が球42を打ち返すまでの間に繰り返し実行される処理の一例を示すフロー図である。
【0071】
対戦相手キャラクタ44が球42を打った場合、図6に示すように、マイクロプロセッサ13は、プレイヤキャラクタ43にとって球42をフォアハンドで打ち返す方が有利であるか否かを判定する(S101)。この判定は、例えば、プレイヤキャラクタ43と球42との位置関係と、球42の移動方向と、に基づいて行われる。図7はこの判定について説明するための図である。
【0072】
図7に示すように、ステップS101の処理では、球42の現在位置から球42の移動方向60に伸ばした直線61が取得される。また、プレイヤキャラクタ43の現在位置を通り、かつ、ネット41a(Xw軸)と平行な直線62が取得される。さらに、二つの直線61,62の交点63が取得される。
【0073】
そして、交点63が、プレイヤキャラクタ43のラケット43aを持っている方の手側にあるか否かが判定される。例えば、プレイヤキャラクタ43がラケット43aを右手で持っている場合(すなわち、プレイヤがコントローラ21を右手で持っている場合)には、交点63がプレイヤキャラクタ43の右側にあるか否かが判定される。同様に、プレイヤキャラクタ43がラケット43aを左手で持っている場合(すなわち、プレイヤがコントローラ21を左手で持っている場合)、交点63がプレイヤキャラクタ43の左側にあるか否かが判定される。
【0074】
交点63が、プレイヤキャラクタ43のラケット43aを持っている方の手側にあると判定された場合、球42をフォアハンドで打ち返す方が有利であると判定される。一方、交点63が、プレイヤキャラクタ43のラケット43aを持っている方の手側にないと判定された場合、すなわち、交点63が、プレイヤキャラクタ43のラケット43aを持っていない方の手側にあると判定された場合、球42をフォアハンドで打ち返す方が有利でなく、球42をバックハンドで打ち返す方が有利であると判定される。
【0075】
球42をフォアハンドで打ち返す方が有利であると判定された場合、マイクロプロセッサ13(条件変更部55)は基準類似度Rf(第1基準類似度)を定数R1に設定し、基準類似度Rb(第2基準類似度)を定数R2に設定する(S102)。
【0076】
なお、基準類似度Rfは、プレイヤがコントローラ21をフォアハンドで振ったか否かを判定する際に用いられる(後述のステップS108参照)。また、基準類似度Rbは、プレイヤがコントローラ21をバックハンドで振ったか否かを判定する際に用いられる(後述のステップS111参照)。
【0077】
また、定数R2は定数R1よりも大きい値である。すなわち、このステップS102では、プレイヤがコントローラ21をフォアハンドで振ったか否かを判定する際に用いられる基準類似度Rfが比較的小さい値(R1)に設定され、プレイヤがコントローラ21をバックハンドで振ったか否かを判定する際に用いられる基準類似度Rbが比較的大きい値(R2)に設定される。つまり、プレイヤがコントローラ21をバックハンドで振ったと判定され難くなるように、基準類似度Rbが設定される。
【0078】
一方、球42をフォアハンドで打ち返す方が有利でないと判定された場合、すなわち、球42をバックハンドで打ち返す方が有利であると判定された場合、マイクロプロセッサ13(条件変更部55)は基準類似度Rfを定数R2に設定し、基準類似度Rbを定数R1に設定する(S103)。
【0079】
すなわち、このステップS103では、プレイヤがコントローラ21をフォアハンドで振ったか否かを判定する際に用いられる基準類似度Rfが比較的大きい値(R2)に設定され、プレイヤがコントローラ21をバックハンドで振ったか否かを判定する際に用いられる基準類似度Rbが比較的小さい値(R1)に設定される。つまり、プレイヤがコントローラ21をフォアハンドで振ったと判定され難くなるように、基準類似度Rfが設定される。
【0080】
ステップS102又はS103の処理が実行された後、マイクロプロセッサ13は球42の状態を更新する(S104)。例えば、マイクロプロセッサ13は球42を移動させる。また、マイクロプロセッサ13は対戦相手キャラクタ44の状態を更新する(S105)。例えば、マイクロプロセッサ13は対戦相手キャラクタ44を移動させる。
【0081】
さらに、マイクロプロセッサ13(制御部52)はプレイヤキャラクタ43の位置を更新する(S106)。例えば、マイクロプロセッサ13は、プレイヤキャラクタ43が球42を打ち返すことができるように、プレイヤキャラクタ43を移動させる。
【0082】
その後、マイクロプロセッサ13(数値情報取得部51)は、現時点における加速度センサ22の検出結果を取得し、主記憶14に記憶させる。主記憶14には、現在から所定時間前までの期間において所定時間(例えば1/60秒)ごとに取得された加速度センサ22の検出結果が時系列データとして保持されるようになっており、マイクロプロセッサ13は、現在から所定時間前までの期間における加速度センサ22の検出結果の時系列データと、コントローラ21がフォアハンドで振られた場合の加速度センサ22の検出結果の標準的な時系列データと、の間の類似度Sfを取得する(S107)。
【0083】
上述したように、光ディスク32には、コントローラ21が右手で持たれた状態でフォアハンドで振られる場合の加速度センサ22の検出結果の標準的な時系列データと、コントローラ21が左手で持たれた状態でフォアハンドで振られる場合の加速度センサ22の検出結果の標準的な時系列データと、が記憶される。ステップS107では、プレイヤがコントローラ21を右手で持っている場合には前者が用いられ、プレイヤがコントローラ21を左手で持っている場合には後者が用いられる。
【0084】
類似度Sfが取得された後、マイクロプロセッサ13は類似度Sfが基準類似度Rfよりも高いか否かを判定する(S108)。すなわち、マイクロプロセッサ13は、プレイヤがコントローラ21をフォアハンドで振ったか否かを判定する。類似度Sfが基準類似度Rfよりも高い場合、すなわち、プレイヤがコントローラ21をフォアハンドで振った場合、マイクロプロセッサ13(第1制御部53)は、ラケット43aをフォアハンドで振る動作をプレイヤキャラクタ43に行わせる(S109)。
【0085】
一方、類似度Sfが基準類似度Rfよりも高くないと判定された場合、マイクロプロセッサ13は、現在から所定時間前までの期間における加速度センサ22の検出結果の時系列データと、コントローラ21がバックハンドで振られる場合の加速度センサ22の検出結果の標準的な時系列データと、の間の類似度Sbを取得する(S110)。
【0086】
上述したように、光ディスク32には、コントローラ21が右手で持たれた状態でバックハンドで振られる場合の加速度センサ22の検出結果の標準的な時系列データと、コントローラ21が左手で持たれた状態でバックハンドで振られる場合の加速度センサ22の検出結果の標準的な時系列データと、が記憶される。ステップS110では、プレイヤがコントローラ21を右手で持っている場合には前者が用いられ、プレイヤがコントローラ21を左手で持っている場合には後者が用いられる。
【0087】
類似度Sbが取得された後、マイクロプロセッサ13は類似度Sbが基準類似度Rbよりも高いか否かを判定する(S111)。すなわち、マイクロプロセッサ13は、プレイヤがコントローラ21をバックハンドで振ったか否かを判定する。類似度Sbが基準類似度Rbよりも高い場合、すなわち、プレイヤがコントローラ21をバックハンドで振った場合、マイクロプロセッサ13(第2制御部54)は、ラケット43aをバックハンドで振る動作をプレイヤキャラクタ43に行わせる(S112)。
【0088】
ステップS109又はS112の処理が実行された場合、マイクロプロセッサ13は、プレイヤキャラクタ43のラケット43aが球42に当たったか否かを判定する(S113)。例えば、ラケット43aを振る動作を行った時点におけるプレイヤキャラクタ43(ラケット43a)と球42との間の距離が基準距離未満である場合、マイクロプロセッサ13はラケット43aが球42に当たったと判定する。
【0089】
ラケット43aが球42に当たったと判定された場合、マイクロプロセッサ13は球42の移動速度や移動方向を変更する(S114)。例えば、ラケット43aを振った時点におけるプレイヤキャラクタ43(ラケット43a)と球42との位置関係に基づいて、球42の移動速度や移動方向が設定される。
【0090】
ステップS111において類似度Sbが基準類似度Rbよりも高くないと判定された場合、又は、ステップS113においてラケット43aが球42に当たってないと判定された場合、マイクロプロセッサ13は、プレイヤキャラクタ43又は対戦相手キャラクタ44の得点条件が満足されたか否かを判定する(S115)。
【0091】
例えば、対戦相手キャラクタ44が打った球42がネット41aに当たる等して、プレイヤキャラクタ43側のコート内に入らなかった場合には、プレイヤキャラクタ43の得点条件が満足されたことになり、プレイヤキャラクタ43に得点が入る。また例えば、対戦相手キャラクタ44によって打たれ、かつ、プレイヤキャラクタ43側のコート内でバウンドした球42をプレイヤキャラクタ43が打ち返すことができなかった場合には、対戦相手キャラクタ44の得点条件が満足されたことになり、対戦相手キャラクタ44に得点が入る。
【0092】
以上に説明したゲーム装置10によれば、プレイヤが意図していない動作をプレイヤキャラクタ43が行わないように図ることが可能になる。
【0093】
なお、本発明は以上に説明した実施形態に限定されるものではない。
【0094】
[変形例1]
例えば、ゲーム空間40は二次元のゲーム空間であってもよい。すなわち、球42、プレイヤキャラクタ43、及び対戦相手キャラクタ44の位置等は二つの座標要素で管理するようにしてもよい。
【0095】
[変形例2]
また例えば、図6のステップS108において、マイクロプロセッサ13(第1制御部53)は、類似度Sfの逆数(1/Sf)が(1/Rf)よりも小さいか否かを判定するようにしてもよい。そして、(1/Sf)が(1/Rf)よりも小さい場合に、マイクロプロセッサ13(第1制御部53)は、ラケット43aをフォアハンドで振る動作をプレイヤキャラクタ43に行わせるようにしてもよい。すなわち、第1制御部53は、数値情報取得部51によって取得された数値情報に基づいて得られる第1数値(1/Sf)が第1基準値(1/Rf)よりも小さい場合に、プレイヤキャラクタ43に第1動作(ラケット43aをフォアハンドで振る動作)を行わせるようにしてもよい。
【0096】
なお、この場合、ステップS103において、マイクロプロセッサ13(条件変更部55)は、Rfの値を、定数R1よりも大きい値である定数R2に設定することによって、第1基準値(1/Rf)をより小さい値に設定していることになる。すなわち、条件変更部55は、プレイヤキャラクタ43と球42との位置関係が第2位置関係である場合の第1基準値(1/Rf)を、プレイヤキャラクタ43と球42との位置関係が第1位置関係である場合の第1基準値(1/R1)よりも小さい値(1/R2)に設定していることになる。
【0097】
また例えば、図6のステップS111において、マイクロプロセッサ13(第2制御部54)は、類似度Sbの逆数(1/Sb)が(1/Rb)よりも小さいか否かを判定するようにしてもよい。そして、(1/Sb)が(1/Rb)よりも小さい場合に、マイクロプロセッサ13(第2制御部54)は、ラケット43aをバックハンドで振る動作をプレイヤキャラクタ43に行わせるようにしてもよい。すなわち、第2制御部54は、数値情報取得部51によって取得された数値情報に基づいて得られる第2数値(1/Sb)が第2基準値(1/Rb)よりも小さい場合に、プレイヤキャラクタ43に第2動作(ラケット43aをバックハンドで振る動作)を行わせるようにしてもよい。
【0098】
なお、この場合、ステップS102において、マイクロプロセッサ13(条件変更部55)は、Rbの値を、定数R1よりも大きい値である定数R2に設定することによって、第2基準値(1/Rb)をより小さい値に設定していることになる。すなわち、条件変更部55は、プレイヤキャラクタ43と球42との位置関係が第1位置関係である場合の第2基準値(1/Rb)を、プレイヤキャラクタ43と球42との位置関係が第2位置関係である場合の第2基準値(1/R1)よりも小さい値(1/R2)に設定していることになる。
【0099】
[変形例3]
球42の移動速度が速い場合には、球42の移動速度が遅い場合に比べて、プレイヤはコントローラ21を速く振ると考えられる。プレイヤがコントローラ21を速く振りすぎてしまうと、実際に取得された加速度センサ22の検出結果の時系列データと、加速度センサ22の検出結果の標準的な時系列データと、の類似度が低くなり、プレイヤがコントローラ21を振ったと認識されなくなるおそれがある。その結果、プレイヤがコントローラ21を振ったにも関わらず、プレイヤキャラクタ43がコントローラ21を振らないおそれがある。すなわち、プレイヤが意図した動作をプレイヤキャラクタ43が行わないおそれがある。
【0100】
そこで、条件変更部55は、球42の移動速度に基づいて、第1条件又は第2条件を変えるようにしてもよい。
【0101】
例えば、条件変更部55は、球42の移動速度に基づいて、加速度センサ22の検出結果の標準的な時系列データを変えるようにしてもよい。この場合、球42の移動速度と、加速度センサ22の検出結果の標準的な時系列データと、を対応づけたデータを光ディスク32に記憶するようにすればよい。そして、図6のステップS107又はS110では、その時点の球42の移動速度に対応づけられた加速度センサ22の検出結果の標準的な時系列データが用いられるようにすればよい。
【0102】
また例えば、条件変更部55は、球42の移動速度に基づいて、基準類似度(図6におけるRf,Rb)を変えるようにしてもよい。例えば、条件変更部55は、球42の移動速度が基準速度よりも速い場合の基準類似度を、球42の移動速度が基準速度よりも遅い場合の基準類似度よりも低くするようにしてもよい。こうすれば、球42の移動速度が基準速度よりも速い場合には、球42の移動速度が基準速度よりも遅い場合に比べて、第1条件及び第2条件が満足され易くなるように、第1条件及び第2条件が変更されることになる。
【0103】
変形例3によれば、プレイヤが意図した動作をプレイヤキャラクタ43が行わないという不都合が発生しないように図ることが可能になる。
【0104】
[変形例4]
また例えば、プレイヤがコントローラ21をフォアハンド又はバックハンドで振ったか否かの判定には、特開2007−241655号公報に開示された判定方法を用いるようにしてもよい。
【0105】
上記の判定方法では、まず、コントローラ21のZ軸方向の加速度が重力加速度よりも大きい場合に、プレイヤがコントローラ21を振っていると判定される。コントローラ21が静止している場合には、重力加速度よりも大きい加速度は加速度センサ22によって検出されないが、プレイヤがコントローラ21を持ってフォアハンド又はバックハンドで振った場合、遠心力の影響によって、Z軸方向の加速度として、重力加速度よりも大きい加速度が検出されるからである。
【0106】
また、上記の判定方法では、プレイヤがコントローラ21をフォアハンド又はバックハンドのいずれで振ったかが、次に説明するようにして判定される。図8及び図9は、この判定方法について説明するための図である。
【0107】
図8は、プレイヤがコントローラ21をフォアハンドで振った場合に所定時間(例えば1/60秒)ごとに得られた加速度センサ22の検出結果(X,Y軸方向の加速度)の一例をX−Y座標系で表したものである。図8において、X軸座標値はX軸方向の加速度に対応しており、Y軸座標値はY軸方向の加速度に対応している。また、図8における点P〜Pは、点P〜Pの順で取得された加速度センサ22の検出結果を示している。
【0108】
図8に示すように、プレイヤがコントローラ21をフォアハンドで振った場合、点PはX−Y座標系の原点Oを中心に右回りに推移する。上記の判定方法では、原点Oと、X−Y座標系の原点Oを中心に右回りに推移し、かつ、時系列的に連続する2つの点Pとからなる三角形の面積が算出される。そして、それらの三角形の面積の合計が第1基準値よりも大きくなった場合に、プレイヤがコントローラ21をフォアハンドで振ったと判定される。例えば図8に示す例では、三角形OP,OP,OPの面積の合計が第1基準値より大きくなった場合に、プレイヤがコントローラ21をフォアハンドで振ったと判定される。
【0109】
上記の判定方法を採用した場合、「第1条件」は、原点Oと、X−Y座標系の原点Oを中心に右回りに推移し、かつ、時系列的に連続する2つの点Pとからなる三角形の面積の合計(第1数値)が第1基準値より大きいか否かの条件になる。また、この場合、条件変更部55は、プレイヤキャラクタ43と球42との位置関係が第2位置関係である場合の第1基準値を、プレイヤキャラクタ43と球42との位置関係が第1位置関係である場合の第1基準値(例えばC1)よりも大きい値(例えばC2:C1<C2)に設定する。
【0110】
なお、加速度センサ22の検出結果に関する他の統計量が第1基準値より大きくなった場合に、プレイヤがコントローラ21をフォアハンドで振ったと判定されるようにしてもよい。例えば図8に示す例では、線分OP,OP,OP,OPの長さの合計が第1基準値より大きくなった場合に、プレイヤがコントローラ21をフォアハンドで振ったと判定されるようにしてもよい。
【0111】
図9は、プレイヤがコントローラ21をバックハンドで振った場合に所定時間(例えば1/60秒)ごとに得られた加速度センサ22の検出結果(X,Y軸方向の加速度)の一例をX−Y座標系で表したものである。図9において、X軸座標値はX軸方向の加速度に対応しており、Y軸座標値はY軸方向の加速度に対応している。また、図9における点P〜Pは、点P〜Pの順で取得された加速度センサ22の検出結果を示している。
【0112】
図9に示すように、プレイヤがコントローラ21をバックハンドで振った場合、点PはX−Y座標系の原点Oを中心に左回りに推移する。上記の判定方法では、原点Oと、X−Y座標系の原点Oを中心に左回りに推移し、かつ、時系列的に連続する2つの点Pとからなる三角形の面積が算出される。そして、それらの三角形の面積の合計が第2基準値よりも大きくなった場合に、プレイヤがコントローラ21をバックハンドで振ったと判定される。例えば図9に示す例では、三角形OP,OP,OPの面積の合計が第2基準値より大きくなった場合に、プレイヤがコントローラ21をバックハンドで振ったと判定される。
【0113】
上記の判定方法を採用した場合、「第2条件」は、原点Oと、X−Y座標系の原点Oを中心に左回りに推移し、かつ、時系列的に連続する2つの点Pとからなる三角形の面積の合計(第2数値)が第2基準値より大きいか否かの条件になる。また、この場合、条件変更部55は、プレイヤキャラクタ43と球42との位置関係が第1位置関係である場合の第2基準値を、プレイヤキャラクタ43と球42との位置関係が第2位置関係である場合の第2基準値(例えばC1)よりも大きい値(例えばC2:C1<C2)に設定する。
【0114】
なお、加速度センサ22の検出結果に関する他の統計量が第2基準値より大きくなった場合に、プレイヤがコントローラ21をバックハンドで振ったと判定されるようにしてもよい。例えば図9に示す例では、線分OP,OP,OP,OPの長さの合計が第2基準値より大きくなった場合に、プレイヤがコントローラ21をバックハンドで振ったと判定されるようにしてもよい。
【0115】
[変形例5]
また、本発明は卓球ゲーム以外のゲームにも適用することができる。例えば、卓球に類似するスポーツのゲームにも本発明は適用することができる。具体的には、テニスゲーム及びバドミントンゲーム等にも本発明は適用することができる。
【0116】
また例えば、本発明はスポーツゲーム以外のゲームにも適用することができる。例えば、本発明はアクションゲームにも適用することができる。
【0117】
例えば、右手(又は左手)でコントローラ21を持ったプレイヤがコントローラ21を振ると、右手(又は左手)で武器(例えば刀)を持ったプレイヤキャラクタが武器を振るゲームにも本発明は適用することができる。
【0118】
すなわち、右手でコントローラ21を持つプレイヤが、プレイヤキャラクタの右側からプレイヤキャラクタに襲いかかる敵キャラクタを、コントローラ21をフォアハンドで振ることによって退治し、プレイヤキャラクタの左側からプレイヤキャラクタに襲いかかる敵キャラクタを、コントローラ21をバックハンドで振ることによって退治するようなゲームにも本発明は適用することができる。
【0119】
この場合の第1制御部53は、数値情報取得部51によって取得された数値情報が第1条件を満足する場合、プレイヤキャラクタ(操作対象)と敵キャラクタ(キャラクタ)との位置関係が第1位置関係である場合に対応する第1動作をプレイヤキャラクタに行わせる。
【0120】
例えば、「第1条件」は、プレイヤがコントローラ21をフォアハンドで振ったか否かを判定するための条件である。「第1条件」は、数値情報取得部51によって取得された数値情報に関する条件であり、具体的には、加速度センサ22の検出結果に関する条件である。また例えば、「プレイヤキャラクタと敵キャラクタとの位置関係が第1位置関係である場合」とは、敵キャラクタが、プレイヤキャラクタの武器を持っている方の手側の領域に位置しているような場合であり、「第1動作」は、ラケットをフォアハンドで振るのと同様にして、刀等の武器を振る動作である。
【0121】
第2制御部54は、数値情報取得部51によって取得された数値情報が第2条件を満足する場合、プレイヤキャラクタ(操作対象)と敵キャラクタ(キャラクタ)との位置関係が第2位置関係である場合に対応する第2動作をプレイヤキャラクタに行わせる。
【0122】
例えば、「第2条件」とは、プレイヤがコントローラ21をバックハンドで振ったか否かを判断するための条件である。「第2条件」も、数値情報取得部51によって取得された数値情報に関する条件であり、具体的には、加速度センサ22の検出結果に関する条件である。また例えば、「プレイヤキャラクタと敵キャラクタとの位置関係が第2位置関係である場合」とは、敵キャラクタが、プレイヤキャラクタの武器を持っていない方の手側の領域に位置しているような場合であり、「第2動作」は、ラケットをバックハンドで振るのと同様にして、刀等の武器を振る動作である。
【0123】
条件変更部55は、プレイヤキャラクタと敵キャラクタとの位置関係に基づいて、第1条件又は第2条件を変更する。
【0124】
例えば、条件変更部55は、プレイヤキャラクタと敵キャラクタとの位置関係が第2位置関係である場合の第1条件を、プレイヤキャラクタと敵キャラクタとの位置関係が第1位置関係である場合の第1条件に比べて、数値情報取得部51によって取得された数値情報が第1条件を満足し難くなるように設定する。
【0125】
また例えば、条件変更部55は、プレイヤキャラクタと敵キャラクタとの位置関係が第1位置関係である場合の第2条件を、プレイヤキャラクタと敵キャラクタとの位置関係が第2位置関係である場合の第2条件に比べて、数値情報取得部51によって取得された数値情報が第2条件を満足し難くなるように設定する。
【0126】
また、変形例3と同様に、条件変更部55は、敵キャラクタの移動速度に基づいて、第1条件及び第2条件を変更するようにしてもよい。
【0127】
なお、敵キャラクタの代わりに物体がプレイヤキャラクタに襲いかかるようなゲームにも本発明は適用することができる。すなわち、コントローラ21を右手で持つプレイヤが、プレイヤキャラクタの右側からプレイヤキャラクタに襲いかかる物体を、コントローラ21をフォアハンドで振ることによって破壊し、プレイヤキャラクタの左側からプレイヤキャラクタに襲いかかる物体を、コントローラ21をバックハンドで振ることによって破壊するようなゲームにも本発明は適用することができる。
【符号の説明】
【0128】
10 ゲーム装置、11 家庭用ゲーム機、12 バス、13 マイクロプロセッサ、14 主記憶、15 画像処理部、16 音声処理部、17 光ディスクドライブ、18 メモリカードスロット、19 通信インタフェース、20 コントローラインタフェース、21 コントローラ、21a 表面、22 加速度センサ、30 表示部、31 音声出力部、32 光ディスク、33 メモリカード、34 方向ボタン、35a,35b,35c ボタン、40 ゲーム空間、41 卓球台、41a ネット、42 球、43 プレイヤキャラクタ、43a ラケット、44 対戦相手キャラクタ、44a ラケット、45 仮想カメラ、50 ゲームデータ記憶部、51 数値情報取得部、52 制御部、53 第1制御部、54 第2制御部、55 条件変更部。

【特許請求の範囲】
【請求項1】
プレイヤの操作対象と、物体又はキャラクタと、の少なくとも一方がゲーム空間内を移動するゲームを実行するゲーム装置において、
前記プレイヤの動きに応じた数値情報を取得する数値情報取得手段と、
前記数値情報が条件を満足する場合、前記操作対象と前記物体又は前記キャラクタとの位置関係が第1位置関係である場合に対応する動作を前記操作対象に行わせる制御手段と、
前記操作対象と前記物体又は前記キャラクタとの位置関係に基づいて、前記条件を変更する手段であって、前記操作対象と前記物体又は前記キャラクタとの位置関係が第2位置関係である場合の前記条件を、前記操作対象と前記物体又は前記キャラクタとの位置関係が前記第1位置関係である場合の前記条件に比べて、前記数値情報が前記条件を満足し難くなるように設定する条件変更手段と、
を含むことを特徴とするゲーム装置。
【請求項2】
請求項1に記載のゲーム装置において、
前記制御手段は、前記数値情報に基づいて得られる数値が基準値よりも大きい場合、前記操作対象と前記物体又は前記キャラクタとの位置関係が前記第1位置関係である場合に対応する前記動作を前記操作対象に行わせ、
前記条件変更手段は、前記操作対象と前記物体又は前記キャラクタとの位置関係が第2位置関係である場合の前記基準値を、前記操作対象と前記物体又は前記キャラクタとの位置関係が前記第1位置関係である場合の前記基準値よりも大きい値に設定する、
ことを特徴とするゲーム装置。
【請求項3】
請求項1に記載のゲーム装置において、
前記制御手段は、前記数値情報に基づいて得られる数値が基準値よりも小さい場合、前記操作対象と前記物体又は前記キャラクタとの位置関係が前記第1位置関係である場合に対応する前記動作を前記操作対象に行わせ、
前記条件変更手段は、前記操作対象と前記物体又は前記キャラクタとの位置関係が第2位置関係である場合の前記基準値を、前記操作対象と前記物体又は前記キャラクタとの位置関係が前記第1位置関係である場合の前記基準値よりも小さい値に設定する、
ことを特徴とするゲーム装置。
【請求項4】
請求項1乃至3のいずれかに記載のゲーム装置において、
前記条件変更手段は、前記物体又は前記キャラクタの移動速度に基づいて、前記条件を変更する手段を含むことを特徴とするゲーム装置。
【請求項5】
プレイヤの操作対象と、物体又はキャラクタと、の少なくとも一方がゲーム空間内を移動するゲームを実行するゲーム装置の制御方法において、
前記プレイヤの動きに応じた数値情報を取得する数値情報取得ステップと、
前記数値情報が条件を満足する場合、前記操作対象と前記物体又は前記キャラクタとの位置関係が第1位置関係である場合に対応する動作を前記操作対象に行わせる制御ステップと、
前記操作対象と前記物体又は前記キャラクタとの位置関係に基づいて、前記条件を変更するステップであって、前記操作対象と前記物体又は前記キャラクタとの位置関係が第2位置関係である場合の前記条件を、前記操作対象と前記物体又は前記キャラクタとの位置関係が前記第1位置関係である場合の前記条件に比べて、前記数値情報が前記条件を満足し難くなるように設定する条件変更ステップと、
を含むことを特徴とするゲーム装置の制御方法。
【請求項6】
プレイヤの操作対象と、物体又はキャラクタと、の少なくとも一方がゲーム空間内を移動するゲームを実行するゲーム装置としてコンピュータを機能させるためのプログラムであって、
前記プレイヤの動きに応じた数値情報を取得する数値情報取得手段、
前記数値情報が条件を満足する場合、前記操作対象と前記物体又は前記キャラクタとの位置関係が第1位置関係である場合に対応する動作を前記操作対象に行わせる制御手段、及び、
前記操作対象と前記物体又は前記キャラクタとの位置関係に基づいて、前記条件を変更する手段であって、前記操作対象と前記物体又は前記キャラクタとの位置関係が第2位置関係である場合の前記条件を、前記操作対象と前記物体又は前記キャラクタとの位置関係が前記第1位置関係である場合の前記条件に比べて、前記数値情報が前記条件を満足し難くなるように設定する条件変更手段、
として前記コンピュータを機能させるためのプログラム。

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