(57)【特許請求の範囲】
【請求項１】
表示装置に表示される画面上のある対象の位置を移動させるための入力デバイスの位置を取得する機能と、
前記入力デバイスの傾きを取得する機能と、
前記入力デバイスが所定の基準位置において所定の基準姿勢にあるときの前記対象の位置を基準として、前記入力デバイスの前記基準位置からの変位量及び前記入力デバイスの傾きの前記基準姿勢からの変位量が大きいほど前記対象の位置が基準の位置から遠くなるように定められた、前記入力デバイスの位置の前記基準位置からの変位量及び前記入力デバイスの傾きの前記基準姿勢からの変位量の双方を変数とする数式に基づいて、前記画面における前記対象の位置を決定する機能と、
をコンピュータに実現させるためのゲーム制御プログラム。
【請求項２】
前記決定する機能は、前記位置の前記基準位置からの変位量と前記傾きの前記基準姿勢からの変位量のそれぞれに重みを付けて加算した値を変数とする数式に基づいて前記対象の位置を決定し、
前記傾きの前記基準姿勢からの変位量に付ける重みを、前記位置の前記基準位置からの変位量に付ける重みよりも重くすることを特徴とする請求項１に記載のゲーム制御プログラム。
【請求項３】
前記入力デバイスの位置を取得する機能は、プレイヤーが把持する前記入力デバイスを撮像装置により撮像した画像を解析することにより得られた前記入力デバイスの位置を取得することを特徴とする請求項１又は２に記載のゲーム制御プログラム。
【請求項４】
前記決定する機能は、前記入力デバイスと前記撮像装置又は前記表示装置との間の距離が長いほど、前記入力デバイスの傾きの前記基準姿勢からの変位量を大きく評価して、前記対象の位置を決定することを特徴とする請求項３に記載のゲーム制御プログラム。
【請求項５】
異なる複数のモードのゲームを制御する機能と、
前記ゲームのモードを切り替える機能と、を更にコンピュータに実現させ、
前記決定する機能は、前記ゲームのモードが切り替えられたときに、前記基準位置又は前記基準姿勢を切り替えることを特徴とする請求項１から４のいずれかに記載のゲーム制御プログラム。
【請求項６】
前記位置の前記基準位置からの変位量及び前記傾きの前記基準姿勢からの変位量を第１保持部に記録する機能を更にコンピュータに実現させ、
前記決定する機能は、前記第１保持部から読み出した過去の前記位置の前記基準位置からの変位量及び前記傾きの前記基準姿勢からの変位量と、最新の前記位置の前記基準位置からの変位量及び前記傾きの前記基準姿勢からの変位量との加重平均を、それぞれ前記位置の前記基準位置からの変位量及び前記傾きの前記基準姿勢からの変位量とすることを特徴とする請求項１から５のいずれかに記載のゲーム制御プログラム。
【請求項７】
前記入力デバイスの長軸の周りの回転量を取得する機能と、
前記回転量に基づいて、前記対象を回転させる機能と、
を更にコンピュータに実現させることを特徴とする請求項１から６のいずれかに記載のゲーム制御プログラム。
【請求項８】
前記対象の位置を第２保持部に記録する機能と、
前記画面における前記対象の位置に、前記対象の画像を表示する機能と、
前記第２保持部に保持された過去の前記対象の位置に、前記対象の残像を表示する機能と、
を更にコンピュータに実現させることを特徴とする請求項１から７のいずれかに記載のゲーム制御プログラム。
【請求項９】
表示装置に表示される画面上のある対象の位置を移動させるための入力デバイスの位置を取得する位置取得部と、
前記入力デバイスの傾きを取得する傾き取得部と、
前記入力デバイスが所定の基準位置において所定の基準姿勢にあるときの前記対象の位置を基準として、前記入力デバイスの前記基準位置からの変位量及び前記入力デバイスの傾きの前記基準姿勢からの変位量が大きいほど前記対象の位置が基準の位置から遠くなるように定められた、前記入力デバイスの位置の前記基準位置からの変位量及び前記入力デバイスの傾きの前記基準姿勢からの変位量の双方を変数とする数式に基づいて、前記画面における前記対象の位置を決定する位置算出部と、
を備えることを特徴とするゲーム装置。
【請求項１０】
表示装置に表示される画面上のある対象の位置を移動させるための入力デバイスの位置を取得するステップと、
前記入力デバイスの傾きを取得するステップと、
前記入力デバイスが所定の基準位置において所定の基準姿勢にあるときの前記対象の位置を基準として、前記入力デバイスの前記基準位置からの変位量及び前記入力デバイスの傾きの前記基準姿勢からの変位量が大きいほど前記対象の位置が基準の位置から遠くなるように定められた、前記入力デバイスの位置の前記基準位置からの変位量及び前記入力デバイスの傾きの前記基準姿勢からの変位量の双方を変数とする数式に基づいて、前記画面における前記対象の位置を決定するステップと、
をコンピュータに実行させることを特徴とするゲーム制御方法。
【請求項１１】
請求項１から８のいずれかに記載のゲーム制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲーム制御技術に関し、とくに、入力デバイスの位置及び姿勢を操作入力としてゲームを制御するゲーム装置、ゲーム制御方法、及びゲーム制御プログラムに関する。
【背景技術】
【０００２】
２次元のゲーム画面又は３次元のゲームフィールドにおいて、キャラクタやオブジェクトなどを移動させるための入力インタフェースとしては、方向キーやアナログスティックなどが一般的である。近年では、ゲーム装置との間で無線通信が可能なリモートコントローラをプレイヤーが把持し、そのコントローラ自体を傾けるなどして移動方向を入力する入力インタフェースも登場している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許公開第２００８／０１２００５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明者らは、入力デバイスの位置及び姿勢を操作入力として移動方向を入力する入力インタフェースにおいて、ゲームプレイヤーの利便性を更に向上させる技術を想到するに至った。【０００５】
本発明はこうした状況に鑑みてなされたものであり、その目的は、より利便性の高いゲーム制御技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明のある態様は、ゲーム制御プログラムに関する。このゲーム制御プログラムは、表示装置に表示される画面上のある対象の位置を移動させるための入力デバイスの位置を取得する機能と、前記入力デバイスの傾きを取得する機能と、前記入力デバイスの位置の変位量及び前記入力デバイスの傾きの変位量に基づいて、前記画面における前記対象の位置を決定する機能と、をコンピュータに実現させる。【０００７】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００８】
本発明によれば、より利便性の高いゲーム制御技術を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施例にかかるゲームシステムの使用環境を示す図である。
【図２】入力デバイスの外観構成を示す図である。
【図３】入力デバイスの内部構成を示す図である。
【図４】ゲーム装置の構成を示す図である。
【図５】アプリケーション処理部の構成を示す図である。
【図６】実施の形態に係るゲーム装置により制御されるゲームの画面の例を示す図である。
【図７】実施の形態に係るゲーム装置により制御されるゲームの画面の例を示す図である。
【図８】実施の形態に係るゲーム装置により制御されるゲームの画面の例を示す図である。
【図９】実施の形態に係るゲーム装置により制御されるゲームの画面の例を示す図である。
【図１０】実施の形態に係るゲーム装置により制御されるゲームの画面の例を示す図である。
【図１１】位置算出部が位置を算出する方法を説明するための図である。
【図１２】位置算出部が位置を算出する方法を説明するための図である。
【図１３】位置算出部が位置を算出する方法を説明するための図である。
【図１４】位置算出部が位置を算出する方法を説明するための図である。
【図１５】位置算出部が位置を算出する方法を説明するための図である。
【図１６】実施の形態に係るゲーム装置により制御されるゲームの画面の例を示す図である。
【図１７】実施の形態に係るゲーム装置により制御されるゲームの画面の例を示す図である。
【発明を実施するための形態】
【００１０】
実施の形態では、位置及び姿勢の情報を検知可能な入力デバイスを利用して、ゲーム画面上のある対象を移動させる技術について説明する。ゲーム装置は、入力デバイスの位置の変位量と、入力デバイスの傾きの変位量の双方に基づいて、対象の位置を決定する。したがって、プレイヤーは、入力デバイス自体を上下左右に移動させることにより対象を移動させることもできるし、入力デバイスを上下左右に傾けることにより対象を移動させることもできる。ゲーム装置は、入力デバイスの位置の変位量と傾きの変位量のそれぞれに重みを付けて加算した値に基づいて対象の位置を決定するが、位置の変位量に付ける重みよりも傾きの変位量に付ける重みの方を大きくする。これにより、プレイヤーは、入力デバイスを移動させることによっても対象を移動させることが可能である上に、対象を大きく移動させたいときには、入力デバイスを大きく移動させなくても、入力デバイスを大きく傾けることで対象を容易に移動させることが可能となる。
【００１１】
図１は、本発明の実施例にかかるゲームシステム１の使用環境を示す。ゲームシステム１は、ゲームソフトウェアを実行するゲーム装置１０と、ゲーム装置１０による処理結果を出力する表示装置１２と、入力デバイス２０と、入力デバイス２０を撮像する撮像装置１４を備える。
【００１２】
入力デバイス２０は、ユーザが操作指示を行うための操作入力装置であり、ゲーム装置１０は、入力デバイス２０における操作指示をもとにゲームアプリケーションを処理して、ゲームアプリケーションの処理結果を示す画像信号を生成する処理装置である。
【００１３】
入力デバイス２０は、ユーザによる操作指示をゲーム装置１０に伝送する機能をもち、本実施例ではゲーム装置１０との間で無線通信可能な無線コントローラとして構成される。入力デバイス２０とゲーム装置１０は、Bluetooth（ブルートゥース）（登録商標）プロトコルを用いて無線接続を確立してもよい。なお入力デバイス２０は、無線コントローラに限らず、ゲーム装置１０とケーブルを介して接続される有線コントローラであってもよい。
【００１４】
入力デバイス２０はバッテリにより駆動され、ゲームを進行させる操作指示を行うための複数のボタンを有して構成される。ユーザが入力デバイス２０のボタンを操作すると、その操作指示が無線によりゲーム装置１０に送信される。ゲーム装置１０は、入力デバイス２０から操作指示を受信し、操作指示に応じてゲーム進行を制御して、ゲーム画像信号を生成する。生成されたゲーム画像信号は、表示装置１２より出力される。
【００１５】
撮像装置１４は、ＣＣＤ撮像素子またはＣＭＯＳ撮像素子などから構成されるビデオカメラであり、実空間を所定の周期で撮像して、周期ごとのフレーム画像を生成する。たとえば、撮像装置１４の撮像速度は３０枚／秒として、表示装置１２のフレームレートと一致させてもよい。撮像装置１４は、ＵＳＢ（Universal Serial Bus）あるいはその他のインタフェースを介してゲーム装置１０と接続する。
【００１６】
表示装置１２は画像を出力するディスプレイであって、ゲーム装置１０において生成された画像信号を受けて、ゲーム画面を表示する。表示装置１２は、ディスプレイおよびスピーカを有するテレビであってよく、またコンピュータディスプレイであってもよい。表示装置１２は、ゲーム装置１０に有線ケーブルで接続されてよく、また無線ＬＡＮ（Local Area Network）などにより無線接続されてもよい。
【００１７】
本実施例のゲームシステム１において、入力デバイス２０は発光体を有する。ゲーム中、発光体は所定色で発光し、撮像装置１４により撮像される。撮像装置１４は入力デバイス２０を撮像し、フレーム画像を生成してゲーム装置１０に供給する。ゲーム装置１０はフレーム画像を取得して、フレーム画像における発光体の画像の位置および大きさから、実空間における発光体の位置情報を導出する。ゲーム装置１０は、位置情報をゲームの操作指示として取り扱い、プレイヤーキャラクタの動作を制御するなど、ゲームの処理に反映させる。本実施例のゲーム装置１０は、入力デバイス２０のボタンなどの操作入力だけでなく、取得した発光体画像の位置情報も用いてゲームアプリケーションを処理する機能をもつ。
【００１８】
入力デバイス２０の発光体は、複数色で発光可能に構成される。発光体は、ゲーム装置１０からの発光指示により、発光色を変更できる。
【００１９】
また入力デバイス２０は加速度センサおよびジャイロセンサを有する。センサの検出値は、所定周期でゲーム装置１０に送信され、ゲーム装置１０は、センサの検出値を取得して、実空間における入力デバイス２０の姿勢情報を取得する。ゲーム装置１０は、姿勢情報をゲームの操作指示として取り扱い、ゲームの処理に反映させる。このように本実施例のゲーム装置１０は、取得した入力デバイス２０の姿勢情報も用いてゲームアプリケーションを処理する機能をもつ。
【００２０】
図２は、入力デバイス２０の外観構成を示す。図２（ａ）は、入力デバイス２０の上面構成を示し、図２（ｂ）は、入力デバイス２０の下面構成を示す。入力デバイス２０は、発光体２２およびハンドル２４を有する。発光体２２は、その外側を光透過性を有する樹脂で球体に形成され、内側に発光ダイオードや電球などの発光素子を有する。内側の発光素子が発光すると、外側の球体全体が光る。ハンドル２４の上面には、操作ボタン３０、３２、３４、３６、３８が設けられ、下面には操作ボタン４０が設けられる。ユーザはハンドル２４の端部を手で把持した状態で、操作ボタン３０、３２、３４、３６、３８を親指で操作し、操作ボタン４０を人差し指で操作する。操作ボタン３０、３２、３４、３６、３８は、押下式に構成され、ユーザは押下することで操作する。操作ボタン４０は、アナログ量を入力できるものであってよい。
【００２１】
ユーザは表示装置１２に表示されるゲーム画面を見ながらゲームを行う。撮像装置１４は、ゲームアプリケーションの実行中に発光体２２を撮像する必要があるため、その撮像範囲が表示装置１２と同じ方向を向くように配置されることが好ましい。一般にユーザは表示装置１２の正面でゲームをプレイすることが多いため、撮像装置１４は、その光軸の方向が表示装置１２の正面方向と一致するように配置される。具体的に、撮像装置１４は、表示装置１２の近傍において、表示装置１２の表示画面をユーザが視認可能な位置を撮像範囲に含むように配置されることが好ましい。これにより、撮像装置１４は、入力デバイス２０を撮像できる。
【００２２】
図３は、入力デバイス２０の内部構成を示す。入力デバイス２０は、無線通信モジュール４８、処理部５０、発光部６２および操作ボタン３０、３２、３４、３６、３８、４０を備える。無線通信モジュール４８は、ゲーム装置１０の無線通信モジュールとの間でデータを送受信する機能をもつ。処理部５０は、入力デバイス２０における所期の処理を実行する。
【００２３】
処理部５０は、メイン制御部５２、入力受付部５４、３軸加速度センサ５６、３軸ジャイロセンサ５８および発光制御部６０を有する。メイン制御部５２は、無線通信モジュール４８との間で必要なデータの送受を行う。
【００２４】
入力受付部５４は、操作ボタン３０、３２、３４、３６、３８、４０からの入力情報を受け付け、メイン制御部５２に送る。３軸加速度センサ５６は、ＸＹＺの３軸方向の加速度成分を検出する。３軸ジャイロセンサ５８は、ＸＺ平面、ＺＹ平面、ＹＸ平面における角速度を検出する。なお、ここでは、入力デバイス２０の幅方向をＸ軸、高さ方向をＹ軸、長手方向をＺ軸と設定する。３軸加速度センサ５６および３軸ジャイロセンサ５８は、入力デバイス２０のハンドル２４内に配置され、ハンドル２４内の中心近傍に配置されることが好ましい。無線通信モジュール４８は、操作ボタンからの入力情報とともに、３軸加速度センサ５６による検出値情報、および３軸ジャイロセンサ５８による検出値情報を、所定の周期でゲーム装置１０の無線通信モジュールに送信する。この送信周期は、たとえば１１．２５ｍ秒に設定される。
【００２５】
発光制御部６０は、発光部６２の発光を制御する。発光部６２は、赤色ＬＥＤ６４ａ、緑色ＬＥＤ６４ｂ、青色ＬＥＤ６４ｃを有し、複数色の発光を可能とする。発光制御部６０は、赤色ＬＥＤ６４ａ、緑色ＬＥＤ６４ｂ、青色ＬＥＤ６４ｃの発光を調整して、発光部６２を所望の色に発光させる。
【００２６】
無線通信モジュール４８はゲーム装置１０から発光指示を受け取ると、メイン制御部５２に供給し、メイン制御部５２は、発光制御部６０に発光指示を供給する。発光制御部６０は、発光部６２が発光指示により指定された色で発光するように、赤色ＬＥＤ６４ａ、緑色ＬＥＤ６４ｂ、青色ＬＥＤ６４ｃの発光を制御する。たとえば発光制御部６０は、各ＬＥＤをＰＷＭ（パルス幅変調）制御で点灯制御してもよい。
【００２７】
図４は、ゲーム装置１０の構成を示す。ゲーム装置１０は、フレーム画像取得部８０、画像処理部８２、デバイス情報導出部８４、無線通信モジュール８６、入力受付部８８、出力部９０およびアプリケーション処理部１００を備える。本実施例におけるゲーム装置１０の処理機能は、ＣＰＵ、メモリ、メモリにロードされたプログラムなどによって実現され、ここではそれらの連携によって実現される構成を描いている。プログラムは、ゲーム装置１０に内蔵されていてもよく、また記録媒体に格納された形態で外部から供給されるものであってもよい。したがってこれらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者に理解されるところである。なおハードウェアの構成上、ゲーム装置１０は複数のＣＰＵを有してもよい。
【００２８】
無線通信モジュール８６は、入力デバイス２０の無線通信モジュール４８との間で無線通信を確立する。これにより入力デバイス２０は、操作ボタンの状態情報、３軸加速度センサ５６および３軸ジャイロセンサ５８の検出値情報を、ゲーム装置１０に所定の周期で送信できるようになる。
【００２９】
無線通信モジュール８６は、入力デバイス２０から送信される操作ボタンの状態情報、およびセンサ検出値情報を受信し、入力受付部８８に供給する。入力受付部８８は、ボタン状態情報およびセンサ検出値情報を分離し、アプリケーション処理部１００に引き渡す。アプリケーション処理部１００は、ボタン状態情報およびセンサ検出値情報を、ゲームの操作指示として受け取る。アプリケーション処理部１００は、センサ検出値情報を、入力デバイス２０の姿勢情報として取り扱う。
【００３０】
フレーム画像取得部８０はＵＳＢインタフェースとして構成され、撮像装置１４から所定の撮像速度（たとえば３０フレーム／秒）でフレーム画像を取得する。画像処理部８２は、フレーム画像から発光体画像を抽出する。画像処理部８２は、フレーム画像中の発光体画像の位置、および大きさを特定する。入力デバイス２０の発光体２２が、たとえばユーザ環境内で使われそうにない色で点灯することで、画像処理部８２は、フレーム画像から高精度に発光体画像を抽出できる。画像処理部８２は、フレーム画像データを所定の閾値を用いて２値化処理し、２値化された画像を生成してもよい。この２値化処理により、所定の閾値より大きい輝度を保持する画素の画素値が“１”に符号化され、所定の閾値以下の輝度を保持する画素の画素値が“０”に符号化される。この所定の閾値を超える輝度で発光体２２を点灯させることで、画像処理部８２は、２値化された画像から、発光体画像の位置および大きさを特定できる。たとえば画像処理部８２は、フレーム画像における発光体画像の重心座標と、発光体画像の半径を特定する。
【００３１】
デバイス情報導出部８４は、画像処理部８２で特定された発光体画像の位置および大きさから、撮像装置１４からみた入力デバイス２０の位置情報を導出する。デバイス情報導出部８４は、発光体画像の重心座標からカメラ座標における位置座標を導出し、また発光体画像の半径から、撮像装置１４からの距離情報を導出する。この位置座標および距離情報は、入力デバイス２０の位置情報を構成する。デバイス情報導出部８４は、フレーム画像ごとに入力デバイス２０の位置情報を導出し、アプリケーション処理部１００に引き渡す。アプリケーション処理部１００は、入力デバイス２０の位置情報を、ゲームの操作指示として受け取る。
【００３２】
アプリケーション処理部１００は、入力デバイス２０の位置情報および姿勢情報と、ボタン状態情報とからゲームを進行させて、ゲームアプリケーションの処理結果を示す画像信号を生成する。画像信号は出力部９０から表示装置１２に送られ、表示画像として出力される。
【００３３】
図５は、アプリケーション処理部１００の構成を示す。アプリケーション処理部１００は、操作指示受付部１０２、制御部１１０、パラメータ保持部１５０、ゲームデータ保持部１５２および画像生成部１５４を備える。
【００３４】
操作指示受付部１０２は、デバイス情報導出部８４から入力デバイス２０の位置情報を、入力受付部８８から入力デバイス２０の姿勢情報およびボタン状態情報を、それぞれ操作指示として受け付ける。制御部１１０は、操作指示受付部１０２が受け付けた操作指示にもとづいてゲームプログラムを実行し、ゲームを進行させる。パラメータ保持部１５０は、ゲームの進行に必要なパラメータを保持する。ゲームデータ保持部１５２は、ゲーム世界を構成するオブジェクトなどの三次元データを保持する。画像生成部１５４は、制御部１１０によりレンダリングされたゲームフィールドの画像に、各種情報などを付加して表示画面を生成する。
【００３５】
制御部１１０は、第１ゲームモード制御部１１２、第２ゲームモード制御部１１４、第３ゲームモード制御部１１５、モード切替部１１６、位置算出部１１８、回転制御部１２０、残像制御部１２２を含む。
【００３６】
第１ゲームモード制御部１１２は、網を操作して敵キャラクタを捕獲する第１ゲームモードを制御する。第２ゲームモード制御部１１４は、パチンコを操作して敵キャラクタを打ち落とす第２ゲームモードを制御する。モード切替部１１６は、プレイヤーからの指示に応じて、第１ゲームモードと第２ゲームモードとの間でゲームモードを切り替える。位置算出部１１８は、後述するように、プレイヤーによる入力デバイス２０の操作に応じて、第１ゲームモードにおける網の位置や、第２ゲームモードにおけるパチンコのターゲットの位置を算出する。回転制御部１２０は、入力デバイス２０の長軸の周りの回転に応じて、ゲーム内のオブジェクトなどを回転させる。残像制御部１２２は、移動対象であるオブジェクトなどの画像の残像を表示する。
【００３７】
図６は、実施の形態に係るゲーム装置により制御されるゲームの画面の例を示す。図６は、第１ゲームモードにおけるゲーム画面を示している。ゲーム画面には、敵キャラクタ１７２と、敵キャラクタ１７２を捕獲するための網１７０が表示されている。第１ゲームモード制御部１１２は、画像生成部１５４に、ゲームフィールドの画像を生成させるとともに、敵キャラクタの位置を通知して、敵キャラクタの画像を生成させる。画像生成部１５４は、ゲームデータ保持部１５２から、ゲームフィールドに設けられたオブジェクトのデータを読み出し、視点位置及び視線方向を設定して、ゲームフィールドの画像をレンダリングする。また、ゲームデータ保持部１５２から、敵キャラクタのデータを読み出し、第１ゲームモード制御部１１２から通知された位置に敵キャラクタを配置してレンダリングする。第１ゲームモード制御部１１２は、敵キャラクタ１７２を所定のアルゴリズムにより移動させる。また、入力デバイス２０の位置情報及び姿勢情報に基づいて、網１７０の位置及び姿勢を制御する。
【００３８】
図７は、実施の形態に係るゲーム装置により制御されるゲームの画面の例を示す。プレイヤーは、入力デバイス２０の位置を移動させたり、傾けたりして、網１７０を移動させ、敵キャラクタ１７２を網１７０の中に捕獲する。第１ゲームモード制御部１１２は、網１７０の枠と敵キャラクタ１７２との位置関係により、敵キャラクタ１７２が網１７０の中に捕獲されたか否かを判定する。
【００３９】
図８は、実施の形態に係るゲーム装置により制御されるゲームの画面の例を示す。第１ゲームモード制御部１１２は、網１７０により敵キャラクタが捕獲されたと判定すると、敵キャラクタを画面から消去する。このとき、第１ゲームモード制御部１１２は、プレイヤーに所定のポイントを与える。図７及び図８に示した例では、敵キャラクタ１７２が網１７０の枠から網１７０の内部に入るように網１７０が移動されたので、第１ゲームモード制御部１１２は、敵キャラクタ１７２が網１７０の中に捕獲されたと判定したが、異なる方向から網１７０が敵キャラクタ１７２にぶつかった場合には、第１ゲームモード制御部１１２は、敵キャラクタ１７２が網１７０の中に捕獲されなかったと判定する。
【００４０】
第１ゲームモードでは、プレイヤーは、入力デバイス２０を長軸の周りに回転させることにより、網１７０の持ち手を回転軸として網１７０を回転させることができる。プレイヤーは、網１７０を敵キャラクタ１７２に向かって移動させるだけでなく、網１７０の向きを合わせなければならない。
【００４１】
図９は、実施の形態に係るゲーム装置により制御されるゲームの画面の例を示す。図８に示した状態において、プレイヤーが、入力デバイス２０を長軸の周りに回転させると、回転制御部１２０は、入力デバイス２０の長軸の周りの回転量と同じ角度だけ網１７０を回転させる。このときの状態を図９に示す。
【００４２】
図１０は、実施の形態に係るゲーム装置により制御されるゲームの画面の例を示す。図１０は、第２ゲームモードにおけるゲーム画面を示している。プレイヤーが、入力デバイス２０の操作ボタン４０を押すと、モード切替部１１６は、第１ゲームモードと第２ゲームモードとの間でゲームモードを切り替える。プレイヤーは、入力デバイス２０の操作ボタン４０を押すことにより、敵キャラクタを倒すための武器を、網とパチンコの間で持ち替えることができる。
【００４３】
第２ゲームモード制御部１１４は、第１ゲームモード制御部１１２と同様に、ゲームフィールドの画像と敵キャラクタの画像を画像生成部１５４に生成させる。第２ゲームモード制御部１１４は、敵キャラクタ１７４を所定のアルゴリズムにより移動させる。また、入力デバイス２０の位置情報及び姿勢情報に基づいて、パチンコ１７６の玉１７８のターゲット１８０の位置を制御する。第２ゲームモード制御部１１４は、プレイヤーが入力デバイス２０の操作ボタン３６を押すと、パチンコ１７６の玉１７８をターゲット１８０に向けて発射する。第２ゲームモード制御部１１４は、ターゲット１８０と敵キャラクタ１７４の位置関係に基づいて、玉１７８が敵キャラクタ１７４に当たったか否かを判定し、当たったと判定した場合は、敵キャラクタ１７４を消去し、所定のポイントをプレイヤーに与える。
【００４４】
つづいて、位置算出部が位置を算出する方法について説明する。位置算出部１１８は、第１ゲームモードと第２ゲームモードとにおいて、異なる方法で位置を算出する。まず、第２ゲームモードにおけるターゲットの位置を算出する方法について説明する。
【００４５】
図１１は、位置算出部が位置を算出する方法を説明するための図である。位置算出部１１８は、ゲームの開始に先立って、入力デバイス２０の位置及び姿勢のキャリブレーションを行う。位置算出部１１８は、入力デバイス２０の初期位置及び初期姿勢を決定するためのキャリブレーション画面をプレイヤーに提示し、プレイヤーが所定の操作ボタンを入力したときの入力デバイス２０の位置及び姿勢を初期位置及び初期姿勢に決定してパラメータ保持部１５０に格納する。位置算出部１１８は、表示画面の中心を原点とする座標系において、入力デバイス２０の位置及び姿勢が初期位置及び初期姿勢であるときの対象の位置を原点とし、入力デバイス２０の位置及び姿勢の変位量に基づいて対象の位置を算出する。
【００４６】
位置算出部１１８は、撮像装置１４の撮像範囲１９０において、入力デバイス２０の初期位置を中心とした所定の大きさの矩形１９２を設定し、入力デバイス２０の位置の変位量を算出するための基準とする。位置算出部１１８は、初期位置からの入力デバイス２０の位置の変位量を、鉛直方向は、矩形１９２の上端を＋１、下端を−１として、水平方向は、矩形１９２の右端を＋１、左端を−１として、それぞれ数値化し、図１２に示すように、水平方向の位置の変位量ｘＴと鉛直方向の位置の変位量ｙＴを算出する。位置算出部１１８は、算出された位置の変位量ｘＴ及びｙＴをパラメータ保持部１５０に格納する。矩形１９２から上下にはみ出した位置に入力デバイス２０が存在する場合には、位置算出部１１８は、ｘＴ及びｙＴを、＋１よりも大きい値又は−１よりも小さい値としてもよいし、＋１よりも大きくなる場合は＋１、−１よりも小さくなる場合は−１としてもよいし、図１３に示すように、矩形１９２を大きくして−１から＋１の範囲に含まれるようにしてもよい。図１２に示す例の場合、入力デバイス２０が元の矩形１９２の内側に戻ると、矩形１９２を元の大きさに戻してもよい。このとき、矩形１９２の大きさを徐々に小さくしてもよい。
【００４７】
矩形１９２は、撮像装置１４の一般的な撮像範囲である、横方向の長さと縦方向の長さの比が４対３の矩形であってもよいし、表示装置１２の一般的な表示範囲である、横方向の長さと縦方向の長さの比が１６対９の矩形であってもよい。矩形１９２は、入力デバイス２０の位置の変位量を、表示画面における対象の位置の移動量に変換する際の感度の基準となる。
【００４８】
位置算出部１１８は、キャリブレーションの際に、プレイヤーが撮像範囲１９０の周縁付近で初期位置を設定した場合、図１４に示すように、撮像範囲１９０の内部におさまるように矩形１９２を設定してもよい。この場合、初期位置は矩形１９２の中心と一致しないので、鉛直方向の上側と下側、水平方向の右側と左側とで、位置の変位量を数値化する際の感度が異なるようにしてもよい。別の例では、図１４に示した矩形１９２の中心を初期位置としてもよい。この場合、キャリブレーションされた位置と初期位置は一致しない。プレイヤーが撮像範囲１９０の周縁付近で初期位置を設定しようとしたとき、撮像範囲１９０の中央寄りで初期位置を設定するようプレイヤーに警告してもよい。
【００４９】
位置算出部１１８は、入力デバイス２０と撮像装置１４との間の距離に基づいて、入力デバイス２０の位置の変位量を、表示画面における対象の位置の移動量に変換する際に乗じる感度を決定してもよい。入力デバイス２０と撮像装置１４との間の距離が近いほど、プレイヤーが入力デバイス２０を移動させた量が小さくても、撮像装置１４による撮像画像上では入力デバイス２０が大きく移動することになる。したがって、位置算出部１１８は、入力デバイス２０と撮像装置１４との間の距離が近いほど、矩形１９２を大きくするなどして、感度を下げてもよい。これにより、入力デバイス２０と撮像装置１４との間の距離が変わっても操作感覚があまり変わらないような操作環境を提供することができる。
【００５０】
図１５は、位置算出部が位置を算出する方法を説明するための図である。位置算出部１１８は、キャリブレーション時に入力デバイス２０が表示装置１２の方向へ向いていたものとして、その初期姿勢からのジャイロ値（角速度）の積分値を現在の入力デバイス２０の姿勢情報とする。位置算出部１１８は、事前にキャリブレーションにより決定された位置にある入力デバイス２０が、撮像装置１４の撮像範囲又は表示装置１２の表示範囲の全体をパンするのに要する角度を単位として、入力デバイス２０の傾きの変位量を数値化する。図１５に示すように、入力デバイス２０の位置が撮像装置１４又は表示装置１２に近いほど、撮像範囲又は表示範囲全体をパンするのに要する角度が大きくなる。位置算出部１１８は、表示装置１２の表示範囲の大きさを取得できる場合には、表示範囲の大きさと、表示装置１２又は撮像装置１４から入力デバイス２０までの距離から、表示範囲の全体をパンするのに要する角度を求め、その値を基準として入力デバイス２０の傾きの変位量を数値化してもよい。表示装置１２の表示範囲の大きさが未知である場合などには、単位となる角度を予め定めてもよい。この場合、取得された入力デバイス２０の傾きを単位となる角度で除した値に、撮像装置１４と入力デバイス２０との間の距離を乗じることにより、入力デバイス２０が撮像装置１４から離れるほど、傾きの変位量が大きく評価されるようにする。位置算出部１１８は、算出された傾きの変位量ｘＲ及びｙＲをパラメータ保持部１５０に格納する。
【００５１】
位置算出部１１８は、パラメータ保持部１５０から、最新の位置の変位量ｘＴ１及びｙＴ１と、１フレーム前の位置の変位量ｘＴ０及びｙＴ０とを読み出して、それぞれに重みを付けて加重平均を算出し、現在の位置の変位量ｘＴ及びｙＴとする。すなわち、
ｘＴ＝αｘＴ１＋（１−α）ｘＴ０
ｙＴ＝αｙＴ１＋（１−α）ｙＴ０
ここで、αは０から１までの値であり、例えば、０．４であってもよい。
【００５２】
位置算出部１１８は、同様に、パラメータ保持部１５０から、最新の傾きの変位量ｘＲ１及びｙＲ１と、１フレーム前の傾きの変位量ｘＲ０及びｙＲ０とを読み出して、それぞれに重みを付けて加重平均を算出し、現在の傾きの変位量ｘＲ及びｙＲとする。すなわち、
ｘＲ＝αｘＲ１＋（１−α）ｘＲ０
ｙＲ＝αｙＲ１＋（１−α）ｙＲ０
ここで、αは０から１までの値であり、例えば、０．４であってもよい。
このように、最新の変位量だけでなく、過去の変位量を考慮に入れて現在の変位量を算出することにより、プレイヤーが把持する入力デバイス２０の位置や傾きのぶれが、網やターゲットなどの位置に直接反映されるのを防ぎ、ぶれを低減することができる。
【００５３】
位置算出部１１８は、現在の位置の変位量ｘＴ及びｙＴと、現在の傾きの変位量ｘＲ及びｙＲに、それぞれ重みを付けて加算することにより、ゲームフィールドにおける位置ｘ及びｙを算出する。すなわち、
ｘ＝β１ｘＴ＋β２ｘＲ
ｙ＝β１ｙＴ＋β２ｙＲ
位置算出部１１８は、位置の変位量に付ける重みβ１よりも、傾きの変位量に付ける重みβ２の方を大きくする。位置算出部１１８は、例えば、β１を０．８、β２を１．５としてもよい。
【００５４】
位置算出部１１８は、算出されたｘ及びｙをパラメータ保持部１５０に格納する。画像生成部１５４は、網やターゲットの画像を生成する際に、パラメータ保持部１５０から過去の所定の範囲の網又はターゲットの位置を読み出し、過去の位置に網又はターゲットの残像を表示する。画像生成部１５４は、残像を表示する際に、α値を低くして半透明にして表示してもよい。また、過去の所定の範囲の全てのフレームの残像を表示するのではなく、所定のフレームごとに間引いて残像を表示してもよい。位置算出部１１８は、全てのフレームの位置をパラメータ保持部１５０に格納するのではなく、所定のフレームごとに間引いて位置を格納してもよい。
【００５５】
第１ゲームモードにおいては、入力デバイス２０は網として機能し、第２ゲームモードにおいては、入力デバイス２０はターゲットを移動させる機能を有する。したがって、第１ゲームモードと第２ゲームモードとでは、プレイヤーが操作する入力デバイス２０の平均的な姿勢が異なる。このため、モード切替部１１６は、第１ゲームモードと第２ゲームモードの間でゲームモードを切り替える際に、初期姿勢の設定を変更する。本実施の形態では、第２ゲームモードにおける初期姿勢のオフセット値は、好ましくは鉛直上向きに３０〜６０度、より好ましくは５０度であってもよい。すなわち、第１ゲームモードでは、事前にキャリブレーションにより決定された入力デバイス２０の位置を初期位置として位置の変位量が算出され、初期姿勢を基準とした水平方向及び鉛直方向からの傾きが傾きの変位量とされるが、第２ゲームモードでは、鉛直方向については、入力デバイス２０を水平方向から鉛直上向きに５０度傾けた姿勢を基準として傾きの変位量が算出される。これにより、入力デバイス２０を銃のグリップに、操作ボタン４０を銃のトリガーに見立て、銃を撃つような感覚で入力デバイス２０を操作することができる。また、第２ゲームモードから第１ゲームモードにゲームモードを切り替えたとき、網が５０度程度上向きに傾いた状態になるので、操作しやすい操作環境を提供することができる。モード切替部１１６は、第１ゲームモードから第２ゲームモードに切り替える際に、鉛直方向の初期姿勢を５０度上に傾いた姿勢に設定する。モード切替部１１６は、第２ゲームモードから第２ゲームモードに切り替える際には、鉛直方向の初期姿勢を水平方向に設定する。モード切替部１１６は、第２ゲームモードに切り替えられたときの入力デバイス２０の姿勢を初期値として設定してもよい。
【００５６】
つづいて、第１ゲームモードにおいて網の位置を算出する方法について説明する。第１ゲームモードにおいては、位置算出部１１８は、撮像装置１４により撮像された入力デバイス２０の位置情報に基づいて網の位置を決定する。位置算出部１１８は、第２ゲームモードにおける位置の算出方法において、位置の変位量のみを考慮して網の位置を算出してもよいし、第２ゲームモードの場合と同様にして網の位置を算出してもよい。第１ゲームモードにおいては、３軸ジャイロセンサ５８から取得される情報に基づいて、回転制御部１２０が網の姿勢を制御する。また、３軸加速度センサ５６から取得される情報に基づいて、第１ゲームモード制御部１１２が網を振る動作を制御する。第２ゲームモードにおいては、ターゲットの位置のみが制御されるが、第１ゲームモードにおいては、網の位置だけでなく網の姿勢や動作なども制御する必要があるので、位置算出部１１８は、第１ゲームモードと第２ゲームモードにおいて異なる方法により対象の位置を算出する。
【００５７】
上記の例では、キャリブレーションにより決定された入力デバイス２０の初期位置を基準とした入力デバイス２０の位置の変位量の絶対値を用いて対象の位置を算出したが、前回算出時の入力デバイス２０の位置からの相対的な変位量を用いて対象の位置を算出してもよい。位置算出部１１８は、前フレームにおける入力デバイス２０の位置と現フレームにおける入力デバイス２０の位置との差分に、感度を示す所定の値を乗じた値を、表示画面の座標系における対象の位置の移動量としてもよい。
【００５８】
図１６は、第３ゲームモードにおけるゲーム画面を示す。第３ゲームモード制御部１１５は、画面内に表示された複数のキャラクタの中から、指定されたキャラクタを発見して狙撃するゲームを制御する。第３ゲームモード制御部１１５は、プレイヤーが狙撃すべきキャラクタ１９４の画像を画面に表示させるとともに、キャラクタ１９４と同一のキャラクタ１９６と、キャラクタ１９４とは色や形状などの異なる複数のキャラクタとをゲームフィールドに配置し、画像生成部１５４にゲームフィールドの画像を生成させる。
【００５９】
図１７は、第３ゲームモードにおけるゲーム画面を示す。第３ゲームモードにおいては、入力デバイス２０をライフルに見たて、入力デバイス２０が上方に向けられている間は、図１６に示したゲームフィールドの全体図を表示し、入力デバイス２０が画面、すなわち撮像装置１４の方へ向けられると、図１７に示した拡大図を表示する。図１７に示したゲーム画面は、照準器から覗いた様子を模しており、画面よりも狭い円形の領域の内部にゲームフィールドの拡大図を表示する。プレイヤーは、入力デバイス２０を上方に向けて全体図を表示させ、キャラクタ１９６の大まかな位置を把握し、入力デバイス２０を画面に向けて拡大図を表示させ、入力デバイス２０を用いてキャラクタ１９６が存在する位置へ拡大図の表示領域を移動させ、キャラクタ１９６に照準を合わせて狙撃する。このように、入力デバイス２０を上方に向けることが、照準器から視線を外してゲームフィールド全体を眺めることに対応し、入力デバイス２０を画面に向けることが、照準器を覗き込むことに対応しているので、直感的に分かりやすいインタフェースを提供することができる。
【００６０】
第３ゲームモード制御部１１５は、ゲームの開始前に、入力デバイス２０を上向きに把持するようプレイヤーに促し、入力デバイス２０が上方に向けられていることを検知すると、図１６に示す全体図を表示してゲームを開始させる。第３ゲームモード制御部１１５は、全体図を表示しているときに、入力デバイス２０の鉛直上向きからの傾きが所定の角度を超えて、水平方向に近い角度になったことを検知すると、図１７に示した拡大図に表示を切り替える。このとき、第３ゲームモード制御部１１５は、全体図をレンダリングするときの視点位置よりもゲームフィールドに近い所定位置に視点位置を設定し、所定の視線方向、例えば、全体図をレンダリングするときの視線方向と同じ視線方向を設定して、画像生成部１５４に拡大図をレンダリングさせる。第３ゲームモード制御部１１５は、拡大図に切り替えるときの入力デバイス２０の姿勢に応じて視線方向を設定してもよい。例えば、左右方向については、入力デバイス２０と撮像装置１４を結ぶ直線との間の角度に応じて、視線方向を設定してもよい。
【００６１】
位置算出部１１８は、このときの入力デバイス２０の位置及び姿勢を基準としてキャリブレーションを行い、第１ゲームモード又は第２ゲームモードの場合と同様に、入力デバイス２０の位置及び姿勢から、ゲームフィールドにおける照準１９８の位置を算出する。第３ゲームモード制御部１１５は、算出された照準１９８の現在位置から、拡大図において照準１９８の位置が中央になるように、拡大図をレンダリングするときの視線方向を算出し、画像生成部１５４に通知する。これにより、プレイヤーは、入力デバイス２０を上下左右に移動させたり、上下左右に傾けたりすることにより、拡大図の表示領域をゲームフィールドにおいて上下左右に移動させ、照準１９８の位置を上下左右に移動させることができる。
【００６２】
第３ゲームモード制御部１１５は、入力デバイス２０と撮像装置１４との間の距離に応じて、拡大図をレンダリングするときの視点位置を移動させ、画像生成部１５４に通知する。すなわち、入力デバイス２０と撮像装置１４との間の距離が、拡大図に切り替えたときの距離よりも短くなれば視点位置をゲームフィールドに近づけ、長くなれば遠ざける。これにより、プレイヤーは、入力デバイス２０を撮像装置１４に近づけることにより拡大図をズームアップし、遠ざけることによりズームダウンすることができる。
【００６３】
第３ゲームモード制御部１１５は、拡大図を表示しているときに、入力デバイス２０の鉛直上向きからの傾きが所定の角度を下回り、鉛直上向きに近い角度になったことを検知すると、図１６に示した全体図に表示を切り替える。このとき、入力デバイス２０の位置及び姿勢のキャリブレーションはリセットされ、次回に拡大図が表示されるときに再びキャリブレーションが行われる。
【００６４】
全体図から拡大図へ切り替えるときの入力デバイス２０の鉛直上向きからの傾きを第１しきい値とし、拡大図から全体図へ切り替えるときの傾きを第２しきい値とすると、第１しきい値は第２しきい値よりも大きいことが好ましい。例えば、第１のしきい値は９０度に近く、ほぼ水平方向であってもよく、第２のしきい値は０度に近く、ほぼ鉛直上方であってもよい。このように、全体図から拡大図への切替と拡大図から全体図への切替に関してヒステリシスを設けることにより、プレイヤーが入力デバイス２０を操作して照準器を移動させたりしている間に、意図せず全体図と拡大図の間で表示が切り替わってしまうことを防ぐことができる。
【００６５】
位置算出部１１８は、拡大図をレンダリングするときの視点位置によらず、照準を移動させるときの感度を同じとしてもよいし、視点位置に応じて感度を変化させてもよい。前者の場合、入力デバイス２０を同じだけ移動させたり傾けたりしたとき、ズームアップするほど拡大図上では照準が大きく移動するので、実際に照準器を覗いているのと同様のインタフェースを提供することができる。後者の場合、例えば、視点位置をゲームフィールドに近づけてズームアップするほど、照準を移動させるときの感度を低くすることにより、拡大図上での照準の移動を小さくしてもよい。これにより、照準を合わせることが容易なインタフェースを提供することができる。
【００６６】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、その各構成要素や各処理プロセスの組合せにいろいろな変形が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【００６７】
１０  ゲーム装置、１１０  制御部、１１２  第１ゲームモード制御部、１１４  第２ゲームモード制御部、１１５  第３ゲームモード制御部、１１６  モード切替部、１１８  位置算出部、１２０  回転制御部、１２２  残像制御部、１５０  パラメータ保持部、１５２  ゲームデータ保持部、１５４  画像生成部。
【産業上の利用可能性】
【００６８】
本発明は、入力デバイスの位置及び姿勢を操作入力としてゲームを制御するゲーム装置に利用可能である。
【図１】
0005389162.tif 000002
【図２】
0005389162.tif 000003
【図３】
0005389162.tif 000004
【図４】
0005389162.tif 000005
【図５】
0005389162.tif 000006
【図６】
0005389162.tif 000007
【図７】
0005389162.tif 000008
【図８】
0005389162.tif 000009
【図９】
0005389162.tif 000010
【図１０】
0005389162.tif 000011
【図１１】
0005389162.tif 000012
【図１２】
0005389162.tif 000013
【図１３】
0005389162.tif 000014
【図１４】
0005389162.tif 000015
【図１５】
0005389162.tif 000016
【図１６】
0005389162.tif 000017
【図１７】
0005389162.tif 000018