(57)【要約】【課題】ゲーム機の入力装置によって他の機器に対する操作を行うことが可能なゲーム装置を提供する。【解決手段】ゲーム装置は、赤外線を照射する赤外線照射手段を制御可能である。また、ゲーム装置は、入力装置によって得られた赤外線の撮像情報を用いてゲーム処理を行う。入力装置は、赤外線照射手段から照射される赤外線を撮像するとともにユーザからの入力を受け付ける。ゲーム装置は、パターン記憶手段と、選択手段と、照射制御手段とを備える。パターン記憶手段は、制御対象機器において利用される赤外線信号の信号パターンを複数記憶する。選択手段は、入力装置において受け付けられた入力を用いて、パターン記憶手段に記憶されている信号パターンのうちから１以上の信号パターンを選択する。照射制御手段は、選択手段によって選択された信号パターンの赤外線信号を赤外線照射手段に出力させる。【選択図】図１９
2008035962.tif 000002
【特許請求の範囲】
【請求項１】
赤外線を照射する赤外線照射手段を制御可能であり、前記赤外線照射手段から照射される赤外線を撮像するとともにユーザからの入力を受け付ける入力装置より得られた赤外線の撮像情報を用いてゲーム処理を行うゲーム装置において、
制御対象機器において利用される赤外線信号の信号パターンを少なくとも一つ記憶するパターン記憶手段と、
前記入力装置において受け付けられた入力を用いて、前記パターン記憶手段に記憶されている信号パターンのうちから１以上の信号パターンを選択する選択手段と、
前記選択手段によって選択された信号パターンの赤外線信号を前記赤外線照射手段に出力させる照射制御手段とを備える、ゲーム装置。
【請求項２】
前記赤外線信号は、前記制御対象機器において再生されるべき画像および音声の少なくとも一方を示す、請求項１に記載のゲーム装置。
【請求項３】
前記赤外線信号は、前記制御対象機器に所定の動作を行わせるための命令を示す、請求項１に記載のゲーム装置。
【請求項４】
前記制御対象機器は、前記ゲーム装置に接続され、前記ゲーム処理の結果得られるゲーム画像を表示する表示装置であり、
前記選択手段は、入力装置に設けられた所定のボタンが操作された場合、前記表示装置の電源をオンにするための信号パターンを選択する、請求項３に記載のゲーム装置。
【請求項５】
前記信号パターンを選択するために用いられる入力を用いて、前記ゲーム処理で生成されるゲーム空間に登場するキャラクタの動作を決定する動作決定手段をさらに備える、請求項３に記載のゲーム装置。
【請求項６】
前記信号パターンを選択するために用いられる入力を表す画像を表示装置に表示させる表示制御手段をさらに備える、請求項３に記載のゲーム装置。
【請求項７】
前記信号パターンを選択するために用いられた入力の履歴を表す入力履歴データを記憶する入力情報記憶手段と、
前記ゲーム処理に用いられるゲームデータを前記入力履歴データに基づいて決定するゲームデータ決定手段とをさらに備える、請求項３に記載のゲーム装置。
【請求項８】
前記入力装置において受け付けられた入力を用いて、ゲーム空間に登場するキャラクタの動作を決定する動作決定手段をさらに備え、
前記選択手段は、前記キャラクタの動作を決定するために用いられる入力を用いて信号パターンの選択を行う、請求項３に記載のゲーム装置。
【請求項９】
前記キャラクタの動作を決定するために用いられた入力の履歴を示す入力履歴データを記憶する入力情報記憶手段をさらに備え、
前記選択手段は、前記入力履歴データに基づいて信号パターンの選択を行う、請求項８に記載のゲーム装置。
【請求項１０】
前記赤外線照射手段によって照射された赤外線信号の撮像情報を用いてゲーム処理を行うゲーム処理手段をさらに備える、請求項３に記載のゲーム装置。
【請求項１１】
機器操作モードとゲーム処理モードとを所定のタイミングで切り替えるモード切替手段と、
前記ゲーム処理モードにおいてのみ、前記撮像情報を用いてゲーム処理を行うゲーム処理手段とをさらに備え、
前記選択手段は、前記機器操作モードにおいてのみ信号パターンの選択を行い、
前記照射制御手段は、前記ゲーム処理モードにおいては前記赤外線照射手段に赤外線を常時出力させる、請求項３に記載のゲーム装置。
【請求項１２】
前記機器操作モードにおいては、前記入力装置に設けられた複数のボタンのうちのいくつかのボタンに対して、それが操作された場合に前記選択手段が選択すべき信号パターンが対応付けられており、
前記モード切替手段は、前記入力装置に設けられたボタンに対して所定時間入力がなかったこと、および、前記信号パターンが対応付けられていないボタンが操作されたことの少なくとも一方を条件として、前記機器操作モードからゲーム処理モードへと切り替える、請求項１１に記載のゲーム装置。
【請求項１３】
赤外線を照射する赤外線照射手段を制御可能であり、前記赤外線照射手段から照射される赤外線を撮像するとともにユーザからの入力を受け付ける入力装置より得られた赤外線の撮像情報を用いてゲーム処理を行うゲーム装置のコンピュータに実行させるためのゲームプログラムであって、
前記入力装置において受け付けられた入力を用いて、前記ゲーム装置の記憶手段に記憶されている、制御対象機器において利用される赤外線信号の少なくとも一つの信号パターンのうちから１以上の信号パターンを選択する選択ステップと、
前記選択ステップにおいて選択された信号パターンの赤外線信号を前記赤外線照射手段に出力させる照射制御ステップとを前記コンピュータに実行させる、ゲームプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、汎用遠隔制御機能を備えたゲーム装置に関し、より特定的には、遠隔制御可能な機器に対して遠隔制御を汎用的に行うことが可能な汎用遠隔制御機能を備えたゲーム装置に関する。
【背景技術】
【０００２】
従来、汎用遠隔制御機能を備えた機器として特許文献１のような技術がある。特許文献１では、異なる製造業者により製造された異なるタイプの機器をそれぞれ遠隔より制御できる遠隔制御送信器について開示されている。異なる製造業者により製造された異なるタイプの機器のデータを複数蓄積するメモリから、該当する機器を制御する為のデータを読み出すことにより、それぞれの機器を遠隔より制御できる遠隔制御送信器に関する技術である。
【特許文献１】特開平０２−１９８２９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１に記載の遠隔制御送信器は、異なる製造業者により製造された異なるタイプの機器をそれぞれ遠隔制御する為だけの機能しか有しておらず、遠隔制御する際にデータを送信する為の手段を別の用途で用いるようなゲーム装置では用いることができなかった。その為、ゲームを行っている際に遠隔より制御できる機器を制御したい場合には、ゲーム機の入力装置から当該機器を制御可能な遠隔制御送信機に持ち替えて操作を行う必要があり、非常に非効率であった。
【０００４】
それ故、本発明の目的は、ゲーム機の入力装置によって他の機器に対する操作を行うことが可能なゲーム装置を提供することである。
【課題を解決するための手段】
【０００５】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、本欄における括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【０００６】
第１の発明は、ゲーム処理を行うゲーム装置（３）である。ゲーム装置は、赤外線を照射する赤外線照射手段（マーカ６Ｒおよび６Ｌ）を制御可能である。また、ゲーム装置は、入力装置（コントローラ５）より得られた赤外線の撮像情報（マーカ座標）を用いてゲーム処理を行う。入力装置は、赤外線照射手段から照射される赤外線を撮像するとともにユーザからの入力を受け付けるものである。ゲーム装置は、パターン記憶手段（フラッシュメモリ１８）と、選択手段（ステップＳ１１，Ｓ４４，Ｓ５７，またはＳ７９を実行するＣＰＵ１０等。以下、この欄において同様の場合にはステップ番号のみを記載する。）と、照射制御手段（Ｓ１２，Ｓ４５，Ｓ５８，またはＳ８０）とを備える。パターン記憶手段は、制御対象機器を制御するための赤外線信号の信号パターンを少なくとも一つ記憶する。選択手段は、入力装置において受け付けられた入力を用いて、パターン記憶手段に記憶されている信号パターンのうちから１以上の信号パターンを選択する。照射制御手段は、選択手段によって選択された信号パターンの赤外線信号を赤外線照射手段に出力させる。
【０００７】
第２の発明においては、赤外線信号は、制御対象機器において再生されるべき画像および音声の少なくとも一方を示すものであってもよい。
【０００８】
第３の発明においては、赤外線信号は、制御対象機器に所定の動作を行わせるための命令を示すものであってもよい。
【０００９】
第４の発明においては、制御対象機器は、ゲーム装置に接続され、ゲーム処理の結果得られるゲーム画像を表示する表示装置（テレビ２）であってもよい。このとき、選択手段は、入力装置に設けられた所定のボタンが操作された場合、表示装置の電源をオンにするための信号パターンを選択する。
【００１０】
第５の発明においては、ゲーム装置は、信号パターンを選択するために用いられる入力を用いて、前記ゲーム処理で生成されるゲーム空間に登場するキャラクタの動作を決定する動作決定手段（Ｓ６１）をさらに備えていてもよい。
【００１１】
第６の発明においては、ゲーム装置は、信号パターンを選択するために用いられる入力を表す画像を表示装置に表示させる表示制御手段（Ｓ４６）をさらに備えていてもよい。
【００１２】
第７の発明においては、ゲーム装置は、入力情報記憶手段（Ｓ４３）と、ゲームデータ決定手段（Ｓ４８）とをさらに備えていてもよい。入力情報記憶手段は、信号パターンを選択するために用いられた入力の履歴を表す入力履歴データ（６３５）を記憶する。ゲームデータ決定手段は、ゲーム処理に用いられるゲームデータ（レースコースデータ６３６）を入力履歴データに基づいて決定する。
【００１３】
第８の発明においては、ゲーム装置は、入力装置において受け付けられた入力を用いて、ゲーム空間に登場するキャラクタの動作を決定する動作決定手段（Ｓ６１）をさらに備えていてもよい。このとき、選択手段は、キャラクタの動作を決定するために用いられる入力を用いて信号パターンの選択を行う。
【００１４】
第９の発明においては、ゲーム装置は、キャラクタの動作を決定するために用いられた入力の履歴を示す入力履歴データ（６３５）を記憶する入力情報記憶手段（Ｓ５３）をさらに備えていてもよい。このとき、選択手段は、入力履歴データに基づいて信号パターンの選択を行う。
【００１５】
第１０の発明においては、ゲーム装置は、赤外線照射手段によって照射された赤外線信号の撮像情報を用いてゲーム処理を行うゲーム処理手段（Ｓ６１）をさらに備えていてもよい。
【００１６】
第１１の発明においては、ゲーム装置は、モード切替手段（Ｓ３，Ｓ８）と、ゲーム処理手段（Ｓ９）とをさらに備えていてもよい。モード切替手段は、機器操作モードとゲーム処理モードとを所定のタイミングで切り替える。ゲーム処理手段は、ゲーム処理モードにおいてのみ、撮像情報を用いてゲーム処理を行う。このとき、選択手段は、機器操作モードにおいてのみ信号パターンの選択を行う。照射制御手段は、ゲーム処理モードにおいては赤外線照射手段に赤外線を常時出力させる。
【００１７】
第１２の発明においては、機器操作モードにおいて、入力装置に設けられた複数のボタンのうちのいくつかのボタンに対して、それが操作された場合に選択手段が選択すべき信号パターンが対応付けられていてもよい。このとき、モード切替手段は、入力装置に設けられたボタンに対して所定時間入力がなかったこと、および、信号パターンが対応付けられていないボタンが操作されたことの少なくとも一方を条件として、機器操作モードからゲーム処理モードへと切り替える。
【００１８】
なお、本発明は、ゲーム装置のコンピュータに実行されることによって、上記ゲーム装置の各手段を当該コンピュータによって実現するゲームプログラムとして提供されてもよい。
【発明の効果】
【００１９】
第１の発明によれば、赤外線照射手段から出力される赤外線の撮像情報が入力装置において得られ、当該撮像情報を用いたゲーム処理が行われるので、プレイヤは、入力装置を操作することによってゲーム処理を行うことができる。さらに、赤外線照射手段から出力すべき赤外線信号の信号パターンは入力装置に対する入力によって選出されるので、プレイヤは、入力装置を操作することによって制御対象機器に種々のデータを送信することができる。したがって、本発明によれば、入力装置を用いることによって、ゲーム操作のみならず、他の機器の操作を行うことができる汎用遠隔制御機能を備えたゲーム装置を提供することができる。
【００２０】
第２の発明によれば、ゲーム装置は、制御対象機器に画像または音声のデータを送信することによって、制御対象機器に所望の画像を表示させたり音声を出力させたりすることができる。
【００２１】
第３の発明によれば、ゲーム装置は、制御対象機器を動作させる命令を送信することによって、制御対象機器に所望の動作を行わせることができる。
【００２２】
第２の発明によれば、ゲーム画像を表示するための表示装置の電源を、入力装置を用いてオンにすることができる。したがって、プレイヤは、ゲームを開始する際には入力装置のみを操作すればよいので、複数のリモコンを操作する煩わしさを解消することができる。
【００２３】
第３の発明によれば、仮想のゲーム世界におけるキャラクタの動作を、現実世界における制御対象機器の動作に関連付けることができるので、ゲームをより面白くすることができる。
【００２４】
第４の発明によれば、プレイヤは、制御対象機器を制御するために行った操作内容を画面で確認することができるので、制御対象機器をより操作しやすくなる。
【００２５】
第５の発明によれば、仮想のゲーム世界におけるゲーム設定を、現実世界における制御対象機器の動作に関連付けることができるので、ゲームをより面白くすることができる。
【００２６】
第６の発明によれば、現実世界における制御対象機器の動作を、仮想のゲーム世界におけるキャラクタの動作に関連付けることができ、ゲームをより面白くすることができる。
【００２７】
第７の発明によれば、ゲーム世界におけるキャラクタの動作を、現実世界における制御対象機器によって再現することができる。
【００２８】
第８の発明によれば、上記撮像情報を用いたゲーム処理が実行されている間であっても、入力装置を用いて他の機器の操作を行うことができる。
【００２９】
第９の発明によれば、入力装置によって赤外線照射手段を撮像し、撮像情報を用いたゲーム処理が行われる場合には、赤外線照射手段から赤外線信号は照射されず、赤外線が常時出力される。したがって、入力装置は、確実に赤外線照射手段を撮像することによって正確な撮像情報を得ることができるので、ゲーム操作をより確実に行うことができる。
【００３０】
第１０の発明によれば、制御対象機器を制御する必要があるかないかをゲーム装置が判断し、自動的にゲーム処理モードへと移行される。したがって、プレイヤはモードを切り替える操作を行う必要がなく、ゲームを開始するまでの操作の煩わしさを軽減することができる。
【発明を実施するための最良の形態】
【００３１】
（システムの全体構成）
図１を参照して、本発明の一実施形態に係るゲーム装置を含むゲームシステム１について説明する。図１は、ゲームシステム１の外観図である。以下、据置型のゲーム装置を一例にして、本実施形態のゲーム装置およびゲームプログラムについて説明する。図１において、ゲームシステム１は、テレビジョン受像器（以下、単に「テレビ」と記載する）２、ゲーム装置３、光ディスク４、コントローラ５、およびセンサバー６を含む。本システムは、コントローラ５を用いたゲーム操作に基づいてゲーム装置３でゲーム処理を実行するとともに、コントローラ５を用いた操作に従って制御対象機器（例えばテレビ２）を制御するものである。つまり、本システムでは、コントローラ５をゲーム操作に用いる他に、他の制御対象機器の操作を行うためのリモコンとして用いることが可能である。
【００３２】
ゲーム装置３には、当該ゲーム装置３に対して交換可能に用いられる情報記憶媒体の一例である光ディスク４が脱着可能に挿入される。光ディスク４には、ゲーム装置３において実行されるためのゲームプログラムが記憶されている。ゲーム装置３の前面には光ディスク４の挿入口が設けられている。ゲーム装置３は、挿入口に挿入された光ディスク４に記憶されたゲームプログラムを読み出して実行することによってゲーム処理を実行する。
【００３３】
ゲーム装置３には、テレビ２が接続コードを介して接続される。テレビ２は、家庭用テレビジョン受像機等の表示装置である。テレビ２は、ゲーム装置３において実行されるゲーム処理の結果得られるゲーム画像を表示する。また、テレビ２の周辺（図１では画面の上側）には、センサバー６が設置される。センサバー６は、その両端に２つのマーカ６Ｒおよび６Ｌを備えている。マーカ６Ｒおよび６Ｌは、具体的には１以上の赤外ＬＥＤであり、テレビ２の前方に向かって赤外光を出力する。センサバー６はゲーム装置３に接続されており、ゲーム装置３はセンサバー６が備える各赤外ＬＥＤの点灯を制御することが可能である。本実施形態では、マーカ６Ｒおよび６Ｌは、コントローラ５を用いたゲーム操作のために用いられるとともに、制御対象機器（例えば、テレビ２）を制御するための赤外線信号を送信する手段として用いられる。
【００３４】
コントローラ５は、コントローラ５に対する操作内容を示す操作データをゲーム装置３に与える入力装置である。コントローラ５とゲーム装置３とは無線通信によって接続される。本実施形態では、コントローラ５とゲーム装置３との間の無線通信には例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース）（登録商標）の技術が用いられる。コントローラ５は、上記操作データをゲーム装置３へ送信し、ゲーム装置３は、受信した操作データに応じてゲーム処理を実行する。コントローラ５は、操作ボタンに加えて、上記マーカ６Ｒおよび６Ｌを撮像するための撮像手段（図６に示す撮像情報演算部３５）および加速度検出手段（加速度センサ３７）を備えている。詳細は後述するが、ゲーム装置３は、これら撮像手段および加速度検出手段によって得られたデータを操作データとして受信することによって、コントローラ５の位置や姿勢や動きを算出することができる。これによって、本実施形態では、プレイヤは、操作ボタンに対する操作に加えて、コントローラ５自体を動かす操作をゲーム操作として行うことができる。また、ゲーム装置３は、コントローラ５の動作を制御するための制御データをコントローラ５へ送信し、コントローラ５は、受信した制御データに従って、例えば、コントローラ５に設けられたスピーカから音を出力したり、コントローラ５に設けられたＬＥＤを点灯させる動作等の動作を行う。なお、他の実施形態においてはコントローラ５とゲーム装置３とは有線で接続されてもよい。
【００３５】
（ゲーム装置の構成）
次に、図２を参照して、ゲーム装置３の構成について説明する。なお、図２は、ゲーム装置３の機能ブロック図である。
【００３６】
図２において、ゲーム装置３は、各種プログラムを実行する例えばＣＰＵ（セントラルプロセッシングユニット）１０を備える。ＣＰＵ１０は、図示しないブートＲＯＭに記憶された起動プログラムを実行し、メインメモリ１３等のメモリの初期化等を行った後、光ディスク４に記憶されているゲームプログラムを実行し、そのゲームプログラムに応じたゲーム処理等を行うものである。ＣＰＵ１０には、メモリコントローラ１１を介して、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１２、メインメモリ１３、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）１４、およびＡＲＡＭ（Ａｕｄｉｏ  ＲＡＭ）１５が接続される。また、メモリコントローラ１１には、所定のバスを介して、通信ユニット１６、ビデオＩ／Ｆ（インターフェース）１７、フラッシュメモリ１８、ＬＥＤ制御部１９、オーディオＩ／Ｆ２０、およびディスクＩ／Ｆ２１が接続されている。ビデオＩ／Ｆ（インターフェース）１７はテレビ２に、ＬＥＤ制御部１９はセンサバー６に、オーディオＩ／Ｆ２０はスピーカ５５およびディスクドライブ２２に、ディスクＩ／Ｆ２１はディスクドライブ２２に、それぞれ接続されている。
【００３７】
ＧＰＵ１２は、ＣＰＵ１０の命令に基づいて画像処理を行うものあり、例えば、３Ｄグラフィックスの表示に必要な計算処理を行う半導体チップで構成される。ＧＰＵ１２は、図示しない画像処理専用のメモリやメインメモリ１３の一部の記憶領域を用いて画像処理を行う。ＧＰＵ１２は、これらを用いてテレビ２に表示すべきゲーム画像データやムービー映像を生成し、メモリコントローラ１１およびビデオＩ／Ｆ１７を介してテレビ２に適宜出力する。
【００３８】
メインメモリ１３は、ＣＰＵ１０で使用される記憶領域であって、ＣＰＵ１０の処理に必要なゲームプログラム等を適宜記憶する。例えば、メインメモリ１３は、ＣＰＵ１０によって光ディスク４から読み出されたゲームプログラムや各種データ等を記憶する。このメインメモリ１３に記憶されたゲームプログラムや各種データ等がＣＰＵ１０によって実行される。
【００３９】
ＤＳＰ１４は、ゲームプログラム実行時にＣＰＵ１０において生成されるサウンドデータ等を処理するものであり、そのサウンドデータ等を記憶するためのＡＲＡＭ１５が接続される。ＡＲＡＭ１５は、ＤＳＰ１４が所定の処理（例えば、先読みしておいたゲームプログラムやサウンドデータの記憶）を行う際に用いられる。ＤＳＰ１４は、ＡＲＡＭ１５に記憶されたサウンドデータを読み出し、メモリコントローラ１１およびオーディオＩ／Ｆ１９を介してスピーカ５５に出力させる。
【００４０】
メモリコントローラ１１は、データ転送を統括的に制御するものであり、上述した通信ユニット１６、フラッシュメモリ１８、ＬＥＤ制御部１９、ならびに各種Ｉ／Ｆ１７，２０および２１が接続される。通信ユニット１６は、コントローラ５からの操作データを受信し、受信した操作データをメモリコントローラ１１を介してＣＰＵ１０へ出力する。また、コントローラ５の動作を制御するための制御データがコントローラ５へ送信される場合、当該制御データは通信ユニット１６へ出力される。通信ユニット１６は、入力された制御データをコントローラ５へ送信する。また、ビデオＩ／Ｆ１７には、テレビ２が接続され、ＧＰＵ１２によって生成された画像データは、ビデオＩ／Ｆ１７を介してテレビ２へ出力される。フラッシュメモリ１８は、セーブデータ等のデータを固定的に記憶するバックアップメモリとして機能する。ゲーム装置３は、フラッシュメモリ１８に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をテレビ２に表示することができる。ＬＥＤ制御部１９にはセンサバー６が備える赤外ＬＥＤが接続される。ＣＰＵ１０は、当該赤外ＬＥＤを点灯させる場合、ＬＥＤ制御部１９に給電指示を行う。給電指示に従ってＬＥＤ制御部１９が赤外ＬＥＤに給電を行うことによって、赤外ＬＥＤが点灯する。オーディオＩ／Ｆ２０にはテレビ２に内蔵されるスピーカ５５が接続され、ＤＳＰ１４がＡＲＡＭ１５から読み出したサウンドデータや、ディスクドライブ２２から直接出力されるサウンドデータがスピーカ５５から出力される。ディスクＩ／Ｆ２１には、ディスクドライブ２２が接続される。ディスクドライブ２２は、所定の読み出し位置に配置された光ディスク４に記憶されたデータを読み出し、ディスクＩ／Ｆ２０やオーディオＩ／Ｆ１９に出力する。
【００４１】
また、ゲーム装置３は、図示しないネットワーク通信部を備えており、インターネット等のネットワークに接続されている。ゲーム装置３は、ネットワーク通信部を介して外部から種々のデータを取得したり、外部へデータを送信したりすることが可能である。
【００４２】
（コントローラの構成）
次に、図３〜図７を参照して、コントローラ５について説明する。図３および図４は、コントローラ５の外観構成を示す斜視図である。図３は、コントローラ５の上側後方から見た斜視図であり、図４は、コントローラ５を下側前方から見た斜視図である。
【００４３】
図３および図４において、コントローラ５は、例えばプラスチック成型によって形成されたハウジング３１を有している。ハウジング３１は、その前後方向（図３に示すｚ軸方向）を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。プレイヤは、コントローラ５を用いることによって、それに設けられたボタンを押下すること、および、コントローラ５自体を動かしてその位置や姿勢を変えることによってゲーム操作を行うことができる。例えば、プレイヤは、長手方向を軸としてコントローラ５を回転させたり、コントローラ５によって指し示される画面上の位置を変えたりする操作によって、操作対象に対する操作を行うことができる。ここで、「コントローラ５によって指し示される画面上の位置」とは、理想的には、コントローラ５の前端部から上記長手方向に延ばした直線とテレビ２の画面とが交わる位置であるが、厳密に当該位置である必要はなく、その周辺の位置をゲーム装置３によって算出することができればよい。以下では、コントローラ５によって指し示される画面上の位置を「（コントローラ５の）指示位置」と呼ぶ。また、コントローラ５（ハウジング３１）の長手方向を、「（コントローラ５の）指示方向」と呼ぶことがある。
【００４４】
ハウジング３１には、複数の操作ボタンが設けられる。図３に示すように、ハウジング３１の上面には、十字キー３２ａ、１番ボタン３２ｂ、２番ボタン３２ｃ、Ａボタン３２ｄ、マイナスボタン３２ｅ、ホームボタン３２ｆ、プラスボタン３２ｇ、および電源ボタン３２ｈが設けられる。電源ボタン３２ｈは遠隔からゲーム装置３本体の電源をオン／オフするためのものである。一方、図４に示すように、ハウジング３１の下面には凹部が形成されており、当該凹部の後面側傾斜面にはＢボタン３２ｉが設けられる。これらの各操作ボタン３２ａ〜３２ｉには、ゲーム装置３が実行するゲームプログラムに応じた機能が適宜割り当てられる。ホームボタン３２ｆおよび電源３２ｈは、その上面がハウジング３１の上面に埋没している。これによって、プレイヤがホームボタン３２ｆまたは電源３２ｈを誤って押下することを防止することができる。
【００４５】
ハウジング３１の後面にはコネクタ３３が設けられている。コネクタ３３は、コントローラ５に他の機器を接続するために利用される。例えば、３６０°の全方向に傾倒可能なスティックを備えたサブコントロールユニットを、コネクタ３３にケーブルを介して接続するようにしてもよい。これによって、例えば、当該サブコントロールユニットに対する操作にそって方向入力を行うと同時に、コントローラ５に対する操作によって、画面上の所定位置を指示する操作を行うようにしてもよい。そのようなサブコントロールユニットをケーブルを介して接続して利用するとこにより、方向入力を行いながらコントローラ５自体を動かす操作を自由に行うことができる。
【００４６】
ハウジング３１上面の後面側には複数（図３では４つ）のＬＥＤ３４ａ〜３４ｄが設けられる。ここで、コントローラ５には、他のコントローラ５と区別するためにコントローラ種別（番号）が付与される。ＬＥＤ３４は、コントローラ５に現在設定されている上記コントローラ種別をプレイヤに通知したり、コントローラ５の電池残量をプレイヤに通知したりする等の目的で用いられる。具体的には、コントローラ５からゲーム装置３へ操作データを送信する際、上記コントローラ種別に応じて複数のＬＥＤ３４ａ〜３４ｄのいずれか１つが点灯する。
【００４７】
また、コントローラ５は撮像情報演算部３５（図５Ｂ）を有しており、図４に示すように、ハウジング３１前面には撮像情報演算部３５の光入射面３５ａが設けられる。光入射面３５ａは、マーカ６Ｒおよび６Ｌからの赤外光を少なくとも透過する材質で構成される。
【００４８】
ハウジング３１上面における１番ボタン３２ｂとホームボタン３２ｆとの間には、コントローラ５に内蔵されるスピーカ４９（図５Ａ）からの音を外部に放出するための音抜き孔３１ａが形成されている。
【００４９】
次に、図５Ａおよび図５Ｂを参照して、コントローラ５の内部構造について説明する。図５Ａおよび図５Ｂは、コントローラ５の内部構造を示す図である。なお、図５Ａは、コントローラ５の上筐体（ハウジング３１の一部）を外した状態を示す斜視図である。図５Ｂは、コントローラ５の下筐体（ハウジング３１の一部）を外した状態を示す斜視図である。図５Ｂに示す斜視図は、図５Ａに示す基板３０を裏面から見た斜視図となっている。
【００５０】
図５Ａにおいて、ハウジング３１の内部には基板３０が固設されており、当該基板３０の上主面上に各操作ボタン３２ａ〜３２ｈ、各ＬＥＤ３４ａ〜３４ｄ、加速度センサ３７、アンテナ４５、およびスピーカ４９等が設けられる。これらは、基板３０等に形成された配線（図示せず）によってマイクロコンピュータ（Ｍｉｃｒｏ  Ｃｏｍｐｕｔｅｒ：マイコン）４２（図５Ｂ参照）に接続される。本実施形態では、加速度センサ３７は、ｘ軸方向に関してコントローラ５の中心からずれた位置に配置されている。これによって、コントローラ５をｚ軸回りに回転させたときのコントローラ５の動きを算出しやすくなる。また、無線モジュール４４（図示せず）およびアンテナ４５によって、コントローラ５がワイヤレスコントローラとして機能する。
【００５１】
一方、図５Ｂにおいて、基板３０の下主面上の前端縁に撮像情報演算部３５が設けられる。撮像情報演算部３５は、コントローラ５の前方から順に赤外線フィルタ３８、レンズ３９、撮像素子４０、および画像処理回路４１によって構成されおり、それぞれ基板３０の下主面に取り付けられる。
【００５２】
さらに、基板３０の下主面上には、上記マイコン４２およびバイブレータ４８が設けられている。バイブレータ４８は、例えば振動モータやソレノイドであり、基板３０等に形成された配線によってマイコン４２と接続される。マイコン４２の指示によりバイブレータ４８が作動することによってコントローラ５に振動が発生するので、コントローラ５を把持しているプレイヤの手にその振動が伝達され、いわゆる振動対応ゲームを実現することができる。本実施形態では、バイブレータ４８は、ハウジング３１のやや前方寄りに配置される。つまり、バイブレータ４８がコントローラ５の中心よりも端側に配置することによって、バイブレータ４８の振動によりコントローラ５全体を大きく振動させることができる。また、コネクタ３３は、基板３０の下主面上の後端縁に取り付けられる。なお、図５Ａおよび図５Ｂに示す他、コントローラ５は、マイコン４２の基本クロックを生成する水晶振動子、スピーカ４９に音声信号を出力するアンプ等を備えている。
【００５３】
なお、図３〜図５Ｂに示したコントローラ５の形状や、各操作ボタンの形状、加速度センサやバイブレータの数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であっても、本発明を実現することができることは言うまでもない。また、コントローラ５における撮像情報演算部３５の位置（撮像情報演算部３５の光入射面３５ａ）は、ハウジング３１の前面でなくてもよく、ハウジング３１の外部から光を取り入れることができれば他の面に設けられてもかまわない。このとき、上記「コントローラ５の指示方向」は、撮像素子４０の撮像方向、具体的には、光入射面に垂直な方向となる。
【００５４】
図６は、コントローラ５の構成を示すブロック図である。コントローラ５は、操作部３２（各操作ボタン）、撮像情報演算部３５、通信部３６、加速度センサ３７、スピーカ４９、および各ＬＥＤ３４ａ〜３４ｄを備えている。
【００５５】
操作部３２は、上述した各操作ボタン３２ａ〜３２ｉに相当し、各操作ボタン３２ａ〜３２ｉに対する入力状態（各操作ボタン３２ａ〜３２ｉが押下されたか否か）を示すデータを通信部３６のマイコン４２へ出力する。
【００５６】
撮像情報演算部３５は、撮像手段が撮像した画像データを解析してその中で輝度が高い領域を判別してその領域の重心位置やサイズなどを算出するためのシステムである。撮像情報演算部３５は、例えば最大２００フレーム／秒程度のサンプリング周期を有するので、比較的高速なコントローラ５の動きでも追跡して解析することができる。
【００５７】
撮像情報演算部３５は、赤外線フィルタ３８、レンズ３９、撮像素子４０、および画像処理回路４１を含んでいる。赤外線フィルタ３８は、コントローラ５の前方から入射する光から赤外線のみを通過させる。レンズ３９は、赤外線フィルタ３８を透過した赤外線を集光して撮像素子４０へ入射させる。撮像素子４０は、例えばＣＭＯＳセンサやあるいはＣＣＤセンサのような固体撮像素子であり、レンズ３９が集光した赤外線を受光して画像信号を出力する。ここで、テレビ２の表示画面近傍に配置されるセンサバー６のマーカ６Ｒおよび６Ｌは、テレビ２の前方に向かって赤外光を出力する赤外ＬＥＤで構成される。したがって、赤外線フィルタ３８を設けることによって、撮像素子４０は、赤外線フィルタ３８を通過した赤外線だけを受光して画像データを生成するので、マーカ６Ｒおよび６Ｌの画像をより正確に撮像することができる。以下では、撮像素子４０によって撮像された画像を撮像画像と呼ぶ。撮像素子４０によって生成された画像データは、画像処理回路４１で処理される。画像処理回路４１は、撮像画像内における撮像対象（マーカ６Ｒおよび６Ｌ）の位置を算出する。以下、撮像対象の位置の算出方法を説明する。
【００５８】
撮像素子４０から画像処理回路４１に対して撮像画像が入力されると、画像処理回路４１は、撮像画像内において所定条件に合致する領域の位置を示す座標を当該領域毎に算出する。ここで、所定条件とは、撮像対象の画像（対象画像）を特定するための条件である。所定条件の具体的な内容は、輝度が所定値以上の領域（高輝度領域）であり、かつ、領域の大きさが所定範囲内の大きさであることである。なお、所定条件は撮像対象を特定するための条件であればよく、他の実施形態においては、画像の色に関する条件を含んでいてもよい。
【００５９】
対象画像の位置を算出する際、まず、画像処理回路４１は、撮像画像の領域から上記高輝度領域を対象画像の候補として特定する。撮像画像の画像データにおいて対象画像は高輝度領域として現れるからである。次に、画像処理回路４１は、特定された高輝度領域の大きさに基づいて、その高輝度領域が対象画像であるか否かを判定する判定処理を行う。撮像画像には、対象画像であるマーカ６Ｒおよび６Ｌの画像の他、窓からの太陽光や部屋の蛍光灯の光によって対象画像以外の画像が含まれている場合がある。この場合、マーカ６Ｒおよび６Ｌの画像以外の画像も高輝度領域として現れてしまう。上記の判定処理は、対象画像であるマーカ６Ｒおよび６Ｌの画像とそれ以外の画像とを区別し、対象画像を正確に特定するための処理である。具体的には、当該判定処理においては、特定された高輝度領域が予め定められた所定範囲内の大きさであるか否かが判定される。そして、高輝度領域が所定範囲内の大きさである場合、当該高輝度領域は対象画像を表すと判定され、高輝度領域が所定範囲内の大きさでない場合、当該高輝度領域は対象画像以外の画像を表すと判定される。
【００６０】
さらに、上記の判定処理の結果、対象画像を表すと判定された高輝度領域について、画像処理回路４１は当該高輝度領域の位置を算出する。具体的には、当該高輝度領域の重心位置を算出する。なお、重心位置は撮像素子４０の解像度よりも詳細なスケールで算出することが可能である。例えば、撮像素子４０によって撮像された撮像画像の解像度が１２６×９６である場合でも、重心位置を１０２４×７６８のスケールで算出することが可能である。このとき、重心位置の座標は、（０，０）から（１０２４，７６８）までの整数値で表現される。なお、撮像画像における位置は、例えば、撮像画像の左上を原点とし、下向きをＹ軸正方向とし、右向きをＸ軸正方向とする座標系（ＸＹ座標系）で表現される。
【００６１】
以上のようにして、画像処理回路４１は、撮像画像内において所定条件に合致する領域の位置を示す座標を当該領域毎に算出する。画像処理回路４１は、算出された座標を通信部３６のマイコン４２へ出力する。この座標のデータは、マイコン４２によって操作データとしてゲーム装置３に送信される。以下では、上記座標を「マーカ座標」と呼ぶ。マーカ座標はコントローラ５自体の向き（姿勢）や位置に対応して変化するので、ゲーム装置３はこのマーカ座標を用いてコントローラ５の向きや位置を算出することができる。
【００６２】
図６の説明に戻り、加速度センサ３７は、コントローラ５の加速度（重力加速度を含む）を検出する、すなわち、コントローラ５に加わる力（重力を含む）を検出する。加速度センサ３７は、当該加速度センサ３７の検出部に加わっている加速度のうち、センシング軸方向に沿った直線方向の加速度の値を検出する。例えば、２軸以上の多軸加速度センサの場合には、加速度センサの検出部に加わっている加速度として、各軸に沿った成分の加速度（直線加速度）をそれぞれ検出する。例えば、３軸または２軸の加速度センサ３７は、アナログ・デバイセズ株式会社（Ａｎａｌｏｇ  Ｄｅｖｉｃｅｓ，  Ｉｎｃ．）またはＳＴマイクロエレクトロニクス社（ＳＴＭｉｃｒｏｅｌｅｃｔｒｏｎｉｃｓ  Ｎ．Ｖ．）から入手可能である種類のものでもよい。
【００６３】
本実施形態では、加速度センサ３７は、コントローラ５を基準とした上下方向（図３に示すｙ軸方向）、左右方向（図３に示すｘ軸方向）および前後方向（図３に示すｚ軸方向）の３軸方向に関してそれぞれ直線加速度を検出する。加速度センサ３７は、各軸に沿った直線方向に関する加速度を検出するものであるため、加速度センサ３７からの出力は３軸それぞれの直線加速度の値を表すものとなる。すなわち、検出された加速度は、コントローラ５を基準に設定されるｘｙｚ座標系における３次元のベクトルとして表される。加速度センサ３７が検出した加速度を示すデータ（加速度データ）は、通信部３６へ出力される。なお、本実施形態では、コントローラ５の通信部３６は、逐次（例えば０．５ｍｓに１回）に加速度データをゲーム装置３へ出力する。ゲーム装置３は、この加速度データに基づいてコントローラ５の移動方向や傾き（姿勢）を算出することができる。なお、加速度センサ３７は、各軸に沿った直線成分の加速度を検出するものであるので、ゲーム装置３は、コントローラ５の移動方向や傾きを直接検出することはできない。このため、加速度センサ３７を搭載したデバイスの移動方向や傾きは、加速度センサの各軸毎に検出される加速度に所定の演算処理を施すことによって算出される。
【００６４】
通信部３６は、マイコン４２、メモリ４３、無線モジュール４４、およびアンテナ４５を含んでいる。マイコン４２は、処理を行う際にメモリ４３を記憶領域として用いながら、マイコン４２が取得したデータを無線送信する無線モジュール４４を制御する。
【００６５】
操作部３２、撮像情報演算部３５、および加速度センサ３７からマイコン４２へ出力されたデータは、一時的にメモリ４３に格納される。ここで、通信部３６から通信ユニット１６への無線送信は所定の周期毎に行われるが、ゲームの処理は１／６０秒を単位として（１フレーム時間として）行われることが一般的であるので、この時間以下の周期で送信を行うことが好ましい。マイコン４２は、通信ユニット１６への送信タイミングが到来すると、メモリ４３に格納されているデータを操作データとして無線モジュール４４へ出力する。無線モジュール４４は、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース）（登録商標）の技術を用いて、所定周波数の搬送波を操作データで変調し、その微弱電波信号をアンテナ４５から放射する。つまり、操作データは、無線モジュール４４で微弱電波信号に変調されてコントローラ５から送信される。微弱電波信号はゲーム装置３側の通信ユニット１６で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置３は操作データを取得することができる。そして、ゲーム装置３のＣＰＵ１０は、取得した操作データとゲームプログラムとに基づいて、ゲーム処理を行う。
【００６６】
また、ゲーム装置３は、ゲーム状況に応じた適宜のタイミングでサウンドデータをコントローラ５に対して送信する。ゲーム装置３から送信されてきたサウンドデータはアンテナ４５によって受信される。マイコン４２は、アンテナ４５によって受信されたサウンドデータを無線モジュール４４を介して取得する。さらに、取得したサウンドデータに所定の処理を行い、図示しないアンプを介してスピーカ４９に音声信号を出力する。これによって、ゲーム装置３は、コントローラ５側のスピーカ４９からゲームの効果音等の音声を出力することができる。
【００６７】
マイコン４２は、各ＬＥＤ３４ａ〜３４ｄの点灯・消灯を制御する。例えば、マイコン４２はコントローラ５の電池残量を検出し、検出結果に基づいて各ＬＥＤ３４ａ〜３４ｄのうちのいくつかまたは全部を点灯させる。したがって、プレイヤは、各ＬＥＤ３４ａ〜３４ｄを視認することによって電池残量を確認することができる。また、マイコン４２は、ゲーム装置３からの指示（上記制御データ）に従って各ＬＥＤ３４ａ〜３４ｄのうちのいくつかまたは全部を点灯させることもある。
【００６８】
上記コントローラ５を用いることによって、プレイヤは、各操作ボタンを押下する従来の一般的なゲーム操作に加えて、コントローラ５の姿勢を変化させたり、コントローラ５自身の位置を動かしたり、コントローラ５を回転させたりするというゲーム操作を行うことができる。
【００６９】
図７は、コントローラ５を用いてゲーム操作を行うときの様子を示す図解図である。ゲームシステム１においてコントローラ５を用いてゲームをプレイする際、プレイヤは、図７に示すように一方の手でコントローラ５を把持する。本実施形態では、プレイヤは、把持したコントローラ５でテレビ２の画面上の任意の位置を指定する（コントローラ５の指示位置を所望の位置に向ける）ことによってゲーム操作を行う。
【００７０】
（センサバーの構成）
次に、図８および図９を参照して、センサバー６について説明する。図８は、図１に示すセンサバー６の外観を示す斜視図である。図８に示すように、センサバー６は棒状の外形形状を有している。センサバー６の両端にはそれぞれ１つずつ、計２つのマーカ６Ｒおよび６Ｌが設けられる。マーカ６Ｒは、カバー６ＲＣと赤外ＬＥＤ（図９に示す赤外ＬＥＤ６Ｒａ）とを備える。マーカ６Ｌは、カバー６ＬＣと赤外ＬＥＤ（図９に示す赤外ＬＥＤ６Ｌａ）とを備える。
【００７１】
図９は、各マーカ６Ｒおよび６Ｌのカバー６ＲＣおよび６ＬＣを外した状態のセンサバー６を示す斜視図である。図９に示すように、マーカ６Ｒは４つの赤外ＬＥＤ６Ｒａを備え、マーカ６Ｒは４つの赤外ＬＥＤ６Ｌａを備えている。なお、４つの赤外ＬＥＤ６Ｒａは近接した位置に配置されるので、コントローラ５の撮像手段においては４つのＬＥＤ６Ｒａが一体として撮像される。また、４つの赤外ＬＥＤ６Ｒａは、向きが放射状になるように横一列に配置される。つまり、横一列に配置された外側の２つのＬＥＤは、内側の２つのＬＥＤよりも外側を向いて配置される。これによって、４つの赤外ＬＥＤ６Ｒａ全体としての照射角度（マーカ６Ｒの照射角度）は横方向に大きくなる。したがって、センサバー６がテレビ２の周囲に設置される場合、コントローラ５は、テレビ２の正面を基準とした左右両側の広い範囲でマーカ６Ｒからの赤外光を受光することができる。つまり、プレイヤは、テレビ２の正面を基準とした左右両側の広い範囲でコントローラ５を使用することができる。なお、４つの赤外ＬＥＤ６Ｌａも赤外ＬＥＤ６Ｒａと同様に配置される。また、他の実施形態では、マーカが備える赤外ＬＥＤの数はいくつであってもよい。なお、マーカが複数の赤外ＬＥＤを備える場合には、各赤外ＬＥＤの向きが放射状になるように横一列に配置することが好ましい。また、マーカは、１つの赤外ＬＥＤと、赤外ＬＥＤからの赤外光を乱反射させるカバーとを備える構成であってもよい。
【００７２】
（制御対象機器の構成）
次に、図１０を参照して、制御対象機器の一例であるテレビ２について説明する。図１０は、制御対象機器の一例であるテレビ２の機能ブロック図である。図１０に示すように、テレビ２は、操作部５１、赤外線受光部５２、マイコン５３、表示部５４、スピーカ５５を備えている。操作部５１は、電源のオン／オフスイッチや、チャンネルの切り替えスイッチ、音量スイッチ等、テレビ２の各種機能を操作するための入力手段である。操作部５１の各スイッチに対して行われた操作を示す操作信号は、マイコン５３に出力される。赤外線受光部５２は、テレビ２のリモコンまたは上記センサバー６からの赤外線信号（リモコン信号）を受光する。受光された赤外線信号は電気信号に変換されてマイコン５３に出力される。マイコン５３は、操作部５１からの操作信号または赤外線受光部５２からの信号に従って、表示部５４や、スピーカ５５や、図示しないチューナ等の各構成を制御する。例えば、電源のオン／オフを切り替える旨の信号を受け取った場合には当該各構成への給電を停止したり、音量を変更する旨の信号を受け取った場合にはスピーカ５５から出力される音の音量を変更する。なお、図１０では制御対象機器の一例としてテレビ２を挙げて説明したが、制御対象機器は、赤外線受光部を備え、赤外線信号によってその動作が制御される機器であればどのようなものであってもよい。
【００７３】
（ゲーム装置３における処理）
次に、ゲーム装置３において実行される処理について説明する。なお、本実施形態では、ゲーム装置３によってレースゲームが実行される場合を例として説明する。さらに、本実施形態では、テレビ２、および、後述するリモコンカー７１（図２３）が制御対象機器としてゲーム装置３によって制御される場合を例として説明する。
【００７４】
まず、ゲーム装置３における処理において用いられる主なデータについて図１１を用いて説明する。図１１は、ゲーム装置３の記憶手段（メインメモリ１３およびフラッシュメモリ１８等）に記憶される主なデータを示す図である。図１１に示すように、ゲーム装置３の記憶手段には、ゲームプログラム６１、操作データ６２、および処理用データ６３等が記憶される。なお、メインメモリ１３には、図１１に示すデータの他、ゲームに登場するキャラクタの画像データや、効果音およびＢＧＭのサウンドデータ等、ゲーム処理に必要なデータが記憶される。
【００７５】
ゲームプログラム６１は、ゲーム装置３に光ディスク４が挿入された後の適宜のタイミングで光ディスク４からその一部または全部が読み込まれてメインメモリ１３に記憶される。ゲームプログラム６１には、後述するゲーム処理の実行に必要なプログラムが含まれている。
【００７６】
操作データ６２は、コントローラ５からゲーム装置３へ送信されてきて、メインメモリ１３に記憶される。操作データ６２には、マーカ座標データ６２１、操作ボタンデータ６２２、および、加速度データ６２３が含まれる。マーカ座標データ６２１は、撮像画像内における撮像対象（マーカ６Ｒおよび６Ｌ）の位置、すなわち、上記マーカ座標を示す。操作ボタンデータ６２２は、操作部３２の各ボタン３２ａ〜３２ｉに対して行われた操作内容（各ボタン３２ａ〜３２ｉが押下されたか否か）を示す。加速度データ６２３は、加速度センサ３７からの出力を示す。なお、本実施形態では、加速度データ６２３はゲーム処理に用いられないので、コントローラ５は、加速度センサ３７を備えていない構成であってもよい。
【００７７】
処理用データ６３は、ゲーム装置３において実行される処理（図１６等参照）において用いられるデータである。処理用データ６３は、信号テーブルデータ６３１、制御可能機器データ６３２、制御対象データ６３３、操作テーブルデータ６３４、入力履歴データ６３５、およびレースコースデータ６３６を含む。
【００７８】
信号テーブルデータ６３１は、制御対象機器に対する命令と、当該命令を制御対象機器に実行させるために送信すべき赤外線信号の信号パターンとの対応情報を示す。図１２は、信号テーブルデータ６３１の一例を示す図である。図１２に示すように、信号テーブルデータ６３１には、命令と信号パターンとの対応情報が機器毎に含まれる。なお、信号テーブルデータ６３１には、同じ機能の機器（例えばテレビ）であっても機器の種類（例えば製造元や型番）毎に異なる対応情報が含まれる。なお、本実施形態では、制御対象機器としてテレビ２およびリモコンカー７１を想定するので、信号テーブルデータ６３１には、テレビ２およびリモコンカー７１に関する対応情報が含まれている。
【００７９】
図１２において、機器Ａは、本実施形態において制御対象機器の１つであるテレビ２である。機器Ａについては、電源のオン／オフを切り替える命令と信号パターンＡとが対応付けられており、また、音量を１段階大きくする命令と信号パターンＢとが対応付けられている。
【００８０】
また、図１２においては、機器Ｂは、本実施形態において制御対象機器の１つであるリモコンカー７１である。ここでは、ゲーム装置３は、リモコンカー７１のアクセル量およびハンドル角度を制御可能であるとする。具体的には、図１２に示すように、機器Ｂについては、アクセルをオンにする命令と信号パターンＣとが対応付けられている。さらに、ハンドル角度をθ１に設定する命令と信号パターンＥとが対応付けられ、ハンドル角度をθ２に設定する命令と信号パターンＥとが対応付けられている。なお、機器Ｂ（リモコンカー７１）については、ハンドル角度を例えばθ１からθ９の１０段階で制御可能であるとし、各ハンドル角度に対して信号パターンが対応付けられている。
【００８１】
なお、信号テーブルデータ６３１は、予め用意されており、例えばフラッシュメモリ１８に予め記憶されている。また、ゲーム装置３は、新たな機器についての対応情報をネットワーク等から取得することによって、信号テーブルデータ６３１の内容を更新してもよい。これによって、制御対象機器として新たな機器が登場した場合でも、当該新たな機器に関する対応情報を容易に取得することができる。
【００８２】
図１３は、制御可能機器データ６３２の一例を示す図である。制御可能機器データ６３２は、信号テーブルデータ６３１に対応情報が記述されている機器に関して、当該機器が制御対象機器として使用可能であるか否かの情報（使用可能情報）を示す。使用可能情報の設定（登録）は、プレイヤによって予め行われる。すなわち、使用可能情報は、初期状態では「不可能」に設定されている。ここで、「不可能」とは、機器が制御対象機器として不使用可能であることを示す。プレイヤは、制御可能機器データ６３２に使用可能情報が記述されている各機器のうちから、制御対象機器として用いる機器を選択する。ゲーム装置３は、選択された機器についての使用可能情報を「可能」に設定する。図１６に示す処理中において、ゲーム装置３は、使用可能情報が「可能」に設定されている機器のうちから制御対象機器を選択する。本実施形態においては、図１３に示すように、機器Ａおよび機器Ｂについては、使用可能情報が「可能」に設定され、その他の機器（例えば機器Ｃ）については、使用可能情報が「不可能」に設定される。また、ゲーム装置３は、同じ機能の機器（例えばテレビ）については、１つの機器の使用可能情報のみを「可能」に設定し、当該機器と同じ機能の他の機器については使用可能情報を「不可能」に設定するようにしてもよい。
【００８３】
制御対象データ６３３は、現時点で制御対象機器に設定されている機器を示すデータである。具体的には、制御対象データ６３３は、制御可能機器データ６３２において使用可能情報が「可能」に設定されている機器のうちのいずれか１つの機器を示す。また、制御対象機器の制御が不可能な状態である場合、制御対象データ６３３は、制御対象が存在しないことを示す。なお、本実施形態においては、所定のタイミングでゲーム装置３によって自動的に制御対象機器が設定・変更されることがある。また、他の実施形態においては、プレイヤが制御対象機器を設定・変更することができるようにしてもよい。
【００８４】
操作テーブルデータ６３４は、コントローラ５を用いた操作と、当該操作が行われた場合に制御対象機器に実行させるべき命令との対応を示す。図１４および図１５は、操作テーブルデータ６３４の一例を示す図である。図１４は、例えば制御対象機器が図１２に示す機器Ａ（テレビ）である場合における操作テーブルデータ６３４を示している。図１４においては、コントローラ５のＡボタン３２ｄを押下する操作に対して、電源のオン／オフを切り替える命令が対応付けられている。また、コントローラ５のプラスボタン３２ｇを押下する操作に対して、音量を１段階大きくする命令が対応付けられている。なお、操作テーブルデータ６３４の内容は、ゲーム装置３における処理中において制御対象機器が変更される場合には、制御対象機器の変更に応じて変更される。
【００８５】
また、図１５は、例えば制御対象機器が図１２に示す機器Ｂ（リモコンカー）である場合における操作テーブルデータ６３４を示している。図１５においては、コントローラ５のＡボタン３２ｄを押下する操作に対して、アクセルをオンにする命令が対応付けられている。また、コントローラ５を長手方向を軸に回転させたときの傾き角度をθａ〜θｂの範囲内とする操作に対して、ハンドル角度をθ１に設定する命令が対応付けられている。ここでは、コントローラ５の傾き角度（０°〜３６０°）に対して、ハンドル角度の値が一意に決まるように、コントローラ５の傾き角度の値とハンドル角度の値とが対応付けられている。なお、コントローラ５を長手方向を軸に回転させたときの傾き角度は、例えば、２つのマーカ６Ｒおよび６Ｌの上記マーカ座標を結ぶ線分の角度に基づいて算出することができる。また、コントローラ５の傾き角度は、コントローラ５が基準となる所定の傾き角度にある状態を０°として表される。
【００８６】
図１４および図１５において示したように、操作テーブルデータ６３４の内容は、制御対象機器に応じて異なるものとなる。したがって、操作テーブルデータ６３４の内容は、ゲーム装置３における処理中において制御対象機器が変更される場合には、制御対象機器の変更に応じて変更される。
【００８７】
入力履歴データ６３５は、ゲーム空間に登場するキャラクタ、または、制御対象機器の操作に用いられた（コントローラ５に対する）入力の履歴を示すデータである。なお、入力履歴データ６３５は、コントローラ５に対して行われた入力を特定するものであればどのようなものであってもよい。例えば、入力履歴データ６３５は、コントローラ５から送信されてくる操作データの一部または全部であってもよい。また、制御対象機器の操作に用いられた入力を示す場合には、入力履歴データ６３５は、制御対象機器に対して与えられる命令を示すデータであってもよい。また、キャラクタの操作に用いられた入力を示す場合には、入力履歴データ６３５は、キャラクタの動作を示すデータ（例えば、キャラクタの位置や速度等を示すデータ）であってもよい。
【００８８】
レースコースデータ６３６は、仮想のゲーム空間に構築されるレースコースを示すデータである。ゲーム装置３は、レースゲームを開始する前に、レースコースデータ６３６に従って仮想のゲーム空間内にレースコースを構築する。プレイヤによって操作されるレースカーは、構築されたレースコース上を走行する。
【００８９】
次に、ゲーム装置３において行われる処理の詳細を、図１６〜図２５を用いて説明する。図１６は、ゲーム装置３において実行される処理の流れを示すメインフローチャートである。本実施形態では、ゲーム装置３は、電源がオンにされる前においてはスタンバイ状態にある。このスタンバイ状態においては、ゲーム装置３は、光ディスク４に記憶されたゲームプログラムの実行を休止する一方、ネットワークから種々のデータを取得する等の処理を実行可能である。また、ゲーム装置３は、スタンバイ状態においてもコントローラ５からのデータを受信可能である。なお、ゲーム装置３とコントローラ５との間でＢｌｕｅｔｏｏｔｈ（登録商標）の技術を用いて無線通信を行う場合には、互いの装置を認識するためのいわゆるペアリング処理が実行される必要がある。本実施形態では、ペアリング処理は予め実行済みであり、ゲーム装置３とコントローラ５との間で無線通信が可能な状態であるとする。
【００９０】
ゲーム装置３がスタンバイ状態である場合にコントローラ５の電源ボタン３２ｇが押下されると、ゲーム装置３の電源がオンにされる。つまり、ゲーム装置３は、電源ボタン３２ｇが押下されたことを示す操作データをコントローラ５から受信したことに応じて、スタンバイ状態を終了して電源をオンにする。ゲーム装置３の電源がオンにされると、ゲーム装置３のＣＰＵ１０は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、これによってメインメモリ１３等の各ユニットが初期化される。図１６に示す処理は、以上の処理が完了した後に行われる処理を示すフローチャートである。なお、図１６に示す処理のうちでゲーム処理（ステップＳ９）を除く各処理を実行するためのプログラムは、予めゲーム装置３に記憶されているものとするが、他の実施形態では、当該プログラムは光ディスク４に記憶されていてもよい。
【００９１】
なお、本実施形態では、図１６に示す処理を行う前において、上記制御対象データ６３３は、制御対象機器として使用可能な機器のうちで、テレビ機能を有する機器を示すデータに設定される。なお、制御対象機器として使用可能な機器は、制御可能機器データ６３２によって示される。本実施形態では、制御対象機器として使用可能な機器はテレビ２およびリモコンカー７１であるので、テレビ２を示すデータが制御対象データ６３３としてメインメモリ１３に記憶される。さらに、テレビ２を操作するための機能がコントローラ５の操作ボタン３２ａ〜３２ｉの少なくとも１つに割り当てられるように、操作テーブルデータ６３４の内容が更新される。また、制御対象機器として使用可能な機器として設定されている機器の中にテレビ機能を有する機器が存在しない場合、制御対象が存在しないことを示すデータが制御対象データ６３３としてメインメモリ１３に記憶される。
【００９２】
図１６においては、まずステップＳ１において、初期処理が実行される。初期処理は、以降の操作において用いられるコントローラ５を識別するための処理である。以下、図１６を参照して、初期処理の詳細を説明する。
【００９３】
図１７は、図１６に示す初期処理（ステップＳ１）の詳細を示すフローチャートである。初期処理においては、まずステップＳ２１において、ＣＰＵ１０は、コントローラ５との接続処理を開始する。この接続処理は、ゲーム装置３がコントローラ５に対して、コントローラを識別するための番号を付する処理である。ＣＰＵ１０は、現在無線通信が可能なコントローラを検出し、検出されたコントローラにそれぞれ固有の番号を付す（例えば、１から順に整数の番号を付す）。なお、本実施形態では、通信可能なコントローラの最大数は４台であるとする。
【００９４】
続くステップＳ２２において、ＣＰＵ１０は、接続処理が完了したか否かを判定する。ステップＳ２２の判定結果が肯定の場合、ステップＳ２３の処理が実行される。一方、ステップＳ２２の判定結果が否定の場合、ステップＳ２２の処理が再度実行される。すなわち、ＣＰＵ１０は、接続処理が完了するまで待機し、接続処理が完了した後でステップＳ２３の処理を実行する。
【００９５】
なお、本実施形態では、上記接続処理が実行されている間、コントローラ５は、自機の電池残量をプレイヤに対して通知する。具体的には、コントローラ５のマイコン４２は、電池残量を検出し、検出結果を示す情報をＬＥＤ３４ａ〜３４ｄを用いて出力する。具体的には、ＬＥＤ３４ａ〜３４ｄを点灯させる個数を検出した電池残量に応じて変化させる。例えば、電池残量が多いほど、ＬＥＤ３４ａ〜３４ｄを点灯させる個数を多くする。これによって、プレイヤは、接続処理待ちの間に、コントローラ５の電池残量を確認することができる。なお、マイコン４２は、接続処理においてゲーム装置３から自機に付された番号が送信されてきたことに応じて、電池残量を表すＬＥＤ３４ａ〜３４ｄの点灯を停止する。そして、マイコン４２は、自機に付された番号を示す情報をＬＥＤ３４ａ〜３４ｄを用いて出力する。具体的には、ＬＥＤ３４ａ〜３４ｄのうち、自機に付された番号に応じたＬＥＤのみを点灯させる。ゲーム装置３によって複数のコントローラに対して番号が付される場合、各コントローラには異なる番号が与えられるので、各コントローラにおいて点灯するＬＥＤは互いに異なることになる。したがって、プレイヤは、自分が操作に用いるコントローラと、他のプレイヤが操作に用いるコントローラとを容易に識別することができる。
【００９６】
ステップＳ２３においては、ＣＰＵ１０は初期画面の画像データを生成する。初期画面の画像データは、フラッシュメモリ１８等の記憶手段に予め記憶されていてもよい。また、初期画面は、例えば、実行可能なゲームプログラムを表示したり、制御可能な制御対象機器を表示したり、ゲーム装置３に関する各種設定を行ったりするためのメニュー画面である。なお、ステップＳ２３の時点でテレビ２の電源がオンである場合、初期画面はテレビ２に表示されるが、ステップＳ２３の時点でテレビ２の電源がオフである場合、初期画面はテレビ２に表示されない。この場合、後にテレビ２の電源がオンにされた時点で初期画面が表示される。ステップＳ２３の後、ＣＰＵ１０は初期処理を終了する。
【００９７】
図１６の説明に戻り、ステップＳ２において、ＣＰＵ１０は、ゲームシステム１のリモコン機能が有効であるか否かを判定する。ここで、「リモコン機能が有効である」とは、制御可能な制御対象機器が存在することを意味する。すなわち、メインメモリ１３に記憶されている制御対象データ６３３が、機器を示すデータである場合、リモコン機能が有効であると判定される。一方、制御対象データ６３３が機器を示すデータでない場合（すなわち、制御対象機器が存在しないことを制御対象データ６３３が示す場合）、リモコン機能が有効でないと判定される。ステップＳ２の判定結果が肯定である場合、ステップＳ３の処理が実行される。一方、ステップＳ２の判定結果が否定である場合、ステップＳ９の処理が実行される。
【００９８】
ステップＳ３において、ＣＰＵ１０は、リモコン操作が可能であること、すなわち、制御対象機器を操作可能であることのプレイヤに対する通知を開始する。本実施形態では、ステップＳ３における通知は、コントローラ５のＬＥＤ３４ａ〜３４ｄを用いて行われる。具体的には、ＣＰＵ１０は、所定のパターンでＬＥＤ３４ａ〜３４ｄを点灯させる制御データをコントローラ５に対して送信する。制御データを受信したコントローラ５のマイコン４２は、当該制御データに従ったパターンでＬＥＤ３４ａ〜３４ｄを点灯させる。なお、本実施形態では、ステップＳ３において開始されるＬＥＤ３４ａ〜３４ｄの所定パターンでの点灯は、リモコン操作が不可能となるまで（ステップＳ８）継続して行われる。なお、他の実施形態では、ステップＳ３における所定パターンでの点灯は、ステップＳ３が実行されてから所定時間経過後に終了するようにしてもよい。
【００９９】
図１８Ａ、図１８Ｂ、および図１８Ｃは、ＬＥＤ３４ａ〜３４ｄの点灯パターンの例を示す図である。点灯パターンは、図１８Ａに示すように、ＬＥＤ３４ａ〜３４ｄの少なくともいずれか１つ（図１８ＡではＬＥＤ３４ａ）を一定時間間隔で点滅させるパターンであってもよい。また、点灯パターンは、図１８Ｂに示すように、ＬＥＤ３４ａ〜３４ｄを一定時間間隔で順番に点灯させるパターンであってもよい。また、点灯パターンは、図１８Ｃに示すように、ＬＥＤ３４ａ〜３４ｄのうちで点灯しているものを一定時間間隔で１つずつ増加させ、全てのＬＥＤ３４ａ〜３４ｄが点灯した後は１つのＬＥＤを点灯させるパターンであってもよい。なお、リモコン操作が可能であることを通知するための点灯パターンは、リモコン操作が不可能である場合における点灯パターンと異なるものであれば、どのようなパターンであってもよい。
【０１００】
また、他の実施形態では、ＣＰＵ１０は、ＬＥＤ３４ａ〜３４ｄを点灯させることに代えて、コントローラ５のスピーカ４９から所定の音声を出力することによってステップＳ３における通知を行うようにしてもよい。
【０１０１】
上記ステップＳ３によって、処理モードが機器操作モードに設定されたこととなる。機器操作モードとは、コントローラ５を用いて制御対象機器を操作可能な状態である。ステップＳ３の次にステップＳ４の処理が実行される。
【０１０２】
ステップＳ４において、ＣＰＵ１０は、機器操作モードを終了するか否かを判定するために用いられるタイマーの値をリセットする。すなわち、当該タイマーの値を“０”に設定する。続くステップＳ５において、タイマーの値が加算される。本実施形態では、ステップＳ５の処理は、１フレーム時間（例えば１／６０秒）毎に実行され、タイマーの値は、ステップＳ５が実行される毎に１フレーム時間分加算される。
【０１０３】
続くステップＳ６において、ＣＰＵ１０は、コントローラ５の操作ボタン３２ａ〜３２ｉのいずれかが押下されたか否かを判定する。具体的には、ＣＰＵ１０は、コントローラ５から操作データを取得し、取得した操作データをメインメモリ１３に記憶する。この操作データには、操作ボタンデータ６２２が含まれている。ＣＰＵ１０は、操作ボタンデータ６２２を参照することによって、コントローラ５の操作ボタン３２ａ〜３２ｉのいずれかが押下されたか否かを判定することができる。ステップＳ６の判定結果が肯定である場合、後述するステップＳ１０の処理が実行される。一方、ステップＳ６の判定結果が否定である場合、ステップＳ７の処理が実行される。
【０１０４】
ステップＳ７において、ＣＰＵ１０は、コントローラ５の操作ボタン３２ａ〜３２ｉのいずれかが最後に押下されてから所定時間が経過したか否かを判定する。ここで、上記タイマーの値は、コントローラ５の操作ボタン３２ａ〜３２ｉのいずれかが最後に押下されてからの経過時間（操作ボタンが一度も押下されていない場合には、ステップＳ４が最初に実行されてからの経過時間）を示す。したがって、ステップＳ７の判定は、上記タイマーの値を参照することによって行うことができる。すなわち、タイマーの値が上記所定時間よりも大きい場合、ステップＳ７の判定結果は肯定となり、タイマーの値が上記所定時間以下である場合、ステップＳ７の判定結果は否定となる。ステップＳ７の判定結果が肯定である場合、ステップＳ８の処理が実行される。一方、ステップＳ７の判定結果が否定である場合、ステップＳ５の処理が再度実行される。すなわち、ＣＰＵ１０は、ステップＳ４でタイマーがリセットされてから、操作ボタン３２ａ〜３２ｉのいずれかが押下されるか、または、所定時間が経過するまで、ステップＳ５〜Ｓ７の処理を繰り返す。
【０１０５】
ステップＳ８において、ＣＰＵ１０は、ステップＳ３で開始された通知を終了する。すなわち、ＣＰＵ１０は、所定のパターンでＬＥＤ３４ａ〜３４ｄを点灯させることを中止する制御データをコントローラ５に対して送信する。これによって、制御データを受信したコントローラ５のマイコン４２は、所定のパターンでのＬＥＤ３４ａ〜３４ｄの点灯を中止する。この後、マイコン４２は、機器操作モードでない状態を示すようにＬＥＤ３４ａ〜３４ｄを点灯させる。具体的には、ＬＥＤ３４ａ〜３４ｄのうち、自機に付された番号に応じたＬＥＤのみを点灯させる。ステップＳ８の後、ステップＳ９の処理が実行される。
【０１０６】
ステップＳ９においては、ＣＰＵ１０は、光ディスク４に記憶されたゲームプログラム６１を実行することによってゲーム処理を実行する。ゲーム処理においては、例えば、仮想のゲーム空間をテレビ２に表示させ、コントローラ５からの操作データに応じて、ゲーム空間に登場するキャラクタを動作させる処理が行われる。なお、ゲーム処理の具体例については後述する。ステップＳ９の処理の完了後、ＣＰＵ１０は図１６に示す処理を終了する。
【０１０７】
一方、ステップＳ１０において、ＣＰＵ１０は、ステップＳ６で取得された操作データに基づいて、コントローラ５の操作ボタン３２ａ〜３２ｉのうちでリモコン操作ボタンが押下されたか否かを判定する。すなわち、上記操作データが、リモコン操作ボタンを押下する操作を示すか否かが判定される。なお、リモコン操作ボタンとは、リモコン操作（制御対象機器の操作）を行うための機能が割り当てられた操作ボタンである。リモコン操作ボタンは、メインメモリ１３に記憶されている操作テーブルデータ６３４を参照することによって特定することができる。例えば、図１５に示す操作テーブルデータ６３４については、Ａボタン３２ｄおよびプラスボタン３２ｇがリモコン操作ボタンである。ステップＳ１０の判定結果が肯定である場合、ステップＳ１１の処理が実行される。一方、ステップＳ１０の判定結果が否定である場合、ステップＳ１３の処理が実行される。
【０１０８】
ステップＳ１１およびＳ１２においては、制御対象機器（テレビ２）を操作するための赤外線信号が送出される。まず、ステップＳ１１において、ＣＰＵ１０は、押下されたリモコン操作ボタンに対応する信号パターンを選出する。ここで、信号パターンは、操作テーブルデータ６３４を参照することによって選出される。すなわち、ＣＰＵ１０は、まず、操作テーブルデータ６３４において、ステップＳ６で取得された操作データにより示される操作に対応付けられている命令を特定する。次に、信号テーブルデータ６３１を参照して、特定された命令に対応する信号パターンを選出する。なお、信号テーブルデータ６３１を参照する際には、制御対象データ６３３により示される機器に関する対応情報を参照する。
【０１０９】
続くステップＳ１２において、ＣＰＵ１０は、ステップＳ１１で選出された信号パターンの赤外線信号を、センサバー６に含まれる各赤外ＬＥＤ６Ｒａおよび６Ｌａに出力させる。これによって、制御対象機器（ここでは、テレビ２）を制御するためのリモコン信号が出力されたこととなる。一般的には、ＰＰＭ（Ｐｕｌｓｅ  Ｐｏｓｉｔｉｏｎ  Ｍｏｄｕｌａｔｉｏｎ）信号（パルス位相変調信号）がリモコン信号として出力される。ステップＳ１２の後、ステップＳ４の処理が再度実行される。
【０１１０】
一方、ステップＳ１３においては、ＣＰＵ１０は、ステップＳ６で取得された操作データに基づいて、コントローラ５の電源ボタン３２ｈが押下されたか否かを判定する。ステップＳ１３の判定結果が肯定である場合、ステップＳ１４の処理が実行される。一方、ステップＳ１３の判定結果が否定である場合、上記ステップＳ８の処理が実行される。ここで、ステップＳ１３の判定結果が否定である場合とは、リモコン操作ボタンおよび電源ボタン３２ｇ以外の操作ボタンが押下された場合である。つまり、本実施形態では、リモコン操作ボタンおよび電源ボタン３２ｇ以外の操作ボタンが押下された場合、上記機器操作モードが終了し（ステップＳ８）、ゲーム処理（ステップＳ９）が実行される。
【０１１１】
ステップＳ１４においては、ＣＰＵ１０は、ゲーム装置３の電源をオフにして（上記スタンバイ状態にして）、図１６に示す処理を終了する。なお、このとき、電源ボタン３２ｇが押下されたコントローラの電源はオフにされる。また、複数のコントローラがゲーム装置３と通信可能である場合、ＣＰＵ１０は、電源ボタン３２ｇが押下されたコントローラ以外のコントローラに対して電源をオフにする指示を行ってもよい。
【０１１２】
以上のように、本実施形態においては、まず、ゲーム装置３の電源がオンにされると、処理モードはまず機器操作モードに設定される（ステップＳ３）。そして、コントローラ５に設けられた各操作ボタンに対して所定時間入力がなかったこと（ステップＳ７でＹＥＳ）、または、リモコン操作ボタン以外の操作ボタンが操作されたこと（ステップＳ１０でＮＯ）を条件として、処理モードはゲーム処理モードに切り替えられる（ステップＳ９）。ゲーム処理モードとは、コントローラ５に対する操作に基づいてゲーム処理を行うモードである。
【０１１３】
図１９は、図１６に示す処理によってゲーム装置３によってテレビ２が制御される様子を説明するための図である。本実施形態においては、ゲーム装置３の電源がオンにされると、機器操作モード、すなわち、制御対象機器であるテレビ２を制御可能な状態となる。この状態において、テレビ２の電源をオンにするためのボタン（コントローラ５のＡボタン３２ｄ）をプレイヤが押下すると、当該ボタンが押下されたことを示す操作データがコントローラ５からゲーム装置３へ送信される（図１９に示す矢印（１））。これによって、図１６に示すステップＳ１０の判定結果が肯定となるので、ゲーム装置３は、ステップＳ１１において、テレビ２の電源をオンにするための赤外線信号を送出する指示をセンサバー６に対して行う（図１９に示す矢印（２））。この指示に従って、センサバー６の各マーカ６Ｒおよび６Ｌは、当該赤外線信号を照射する（図１９に示す矢印（３））。照射された赤外線信号は、テレビ２の赤外線受光部５２に受光される。なお、各マーカ６Ｒおよび６Ｌからの赤外線は、その直接光が赤外線受光部５２に受光されるか、または、周囲に存在する物体（部屋に置かれている物体や部屋の壁や窓ガラス等）に反射した反射光が赤外線受光部５２に受光される。赤外線受光部５２によって上記赤外線信号が受光されることによって、テレビ２の電源がオンにされる。以上のように、本実施形態によれば、プレイヤは、ゲームを始める前に、コントローラ５を用いてテレビ２を操作することができる。つまり、本実施形態によれば、プレイヤは、ゲームを始める際にテレビ２の電源がオフになっていても、テレビ２のリモコンを探す必要なく、コントローラ５のみを操作することによってゲームを始めることができる。
【０１１４】
次に、上記ステップＳ９におけるゲーム処理の詳細について説明する。図２０は、図１６に示すゲーム処理（ステップＳ９）の詳細を示すフローチャートである。上述したように、図２０に示すゲーム処理は、レースゲームを行うためのゲーム処理である。また、ゲーム処理モード中は、制御対象機器は、テレビ２からリモコンカー７１に変更される。すなわち、ＣＰＵ１０は、ゲーム処理の開始時において、メインメモリ１３に記憶されている制御対象データ６３３および操作テーブルデータ６３４の内容を変更する。具体的にはテレビ２を示すデータに代えて、リモコンカー７１を示すデータを制御対象データ６３３としてメインメモリに記憶する。さらに、操作テーブルデータ６３４の内容を、リモコンカー７１の操作を行うための内容に変更する。
【０１１５】
また、ゲーム処理モードにおいては、ＣＰＵ１０は、赤外線信号を出力させる場合（図２０に示すゲーム処理ではステップＳ４５およびＳ５８）を除き、マーカ６Ｒおよび６Ｌに赤外線を常時出力させる。
【０１１６】
図２０に示すゲーム処理においては、まずステップＳ３１において、ＣＰＵ１０は、コース作成処理を行う。コース作成処理は、制御対象機器であるリモコンカー７１に対して行われた命令に基づいて、仮想のゲーム空間内のレースコースを作成する処理である。以下、図２１を参照して、コース作成処理の詳細について説明する。
【０１１７】
図２１は、図２０に示すコース作成処理（ステップＳ３１）の詳細を示すフローチャートである。コース作成処理においては、まずステップＳ４１において、ＣＰＵ１０は、コントローラ５から操作データを取得する。すなわち、コントローラ５は所定時間間隔（例えば、１フレーム時間間隔以内）で操作データをゲーム装置３へ送信してくるので、ＣＰＵ１０は、送信されてきた操作データをメインメモリ１３に記憶する。この操作データには、マーカ座標データ６２１、操作ボタンデータ６２２、および加速度データ６２３が含まれている。ＣＰＵ１０は、操作データに含まれる各データ６２１〜６２３をメインメモリ１３に更新して記憶する。なお、本実施形態においては、ステップＳ４１〜Ｓ４７の処理ループは、１回の処理ループが１フレーム時間毎に実行される。
【０１１８】
続くステップＳ４２において、ＣＰＵ１０は、コントローラ５に対して行われた操作に基づいてリモコンカー７１に対する命令を決定する。リモコンカー７１に対する命令は、上記操作テーブルデータ６３４を参照することによって決定される。すなわち、ＣＰＵ１０は、操作テーブルデータ６３４において、ステップＳ４１で取得された操作データにより示される操作に対応付けられている命令を、リモコンカー７１に対する命令として決定する。
【０１１９】
図１５に示す操作テーブルデータ６３４を例として説明すると、ＣＰＵ１０は、操作データ６２に含まれる操作ボタンデータ６２２に基づいて、Ａボタン３２ｄが押下されたか否かを判断する。そして、Ａボタン３２ｄが押下された場合、操作テーブルデータ６３４を参照して、Ａボタン３２ｄを押下する操作に対応する命令、すなわち、アクセルをオンにする命令を決定する。また、マーカ座標データ６２１に基づいて、コントローラ５の長手方向を軸とした回転角度を算出する。そして、算出された回転角度に対応するハンドル角度の値を操作テーブルデータ６３４に基づいて決定する。このように、リモコンカー７１を制御するためのコントローラ５の操作は、コントローラ５の各操作ボタン３２ａ〜３２ｉを押下する操作に限らず、コントローラ５を長手方向を軸に回転させる操作でもよい。また、上記コントローラ５の指示位置を変化させる操作であってもよい。また、本実施形態では、操作データ６２に含まれる加速度データ６２３はゲーム処理に用いられないが、他の実施形態では、加速度データ６２３に基づいてゲーム処理を行うようにしてもよい。
【０１２０】
ステップＳ４３において、ＣＰＵ１０は、入力履歴データを記憶する。本実施形態では、ステップＳ４２で決定された命令を示すデータが入力履歴データ６３５としてメインメモリ１３に記憶する。すなわち、リモコンカー７１のアクセルをオンにするか否かを示すデータと、リモコンカー７１に与えられるハンドル角度（回転量）を示すデータとがメインメモリ１３に記憶される。また、本実施形態では、ステップＳ４１〜Ｓ４６の処理ループ中、入力履歴データ６３５は、ステップＳ４３が実行される度に追加して記憶される。つまり、メインメモリ１３には、処理ループ中においてステップＳ４２で決定された命令を示すデータが、生成された順に全て記憶される。これによって、ステップＳ４１〜Ｓ４７の処理ループ中において行われた入力の履歴が記憶されることになる。
【０１２１】
続くステップＳ４４において、ＣＰＵ１０は、ステップＳ４２で決定された命令に対応する赤外線信号の信号パターンを選出する。信号パターンの選出は、メインメモリ１３に記憶されている信号テーブルデータ６３１を参照することによって行われる。すなわち、ＣＰＵ１０は、信号テーブルデータ６３１内のリモコンカー７１に関する対応情報において、ステップＳ４２で決定された命令に対応付けられている信号パターンを選出する。続くステップＳ４５において、ＣＰＵ１０は、ステップＳ４４で選出された信号パターンの赤外線信号を、センサバー６に含まれる各赤外ＬＥＤ６Ｒａおよび６Ｌａに出力させる。
【０１２２】
ステップＳ４６において、ＣＰＵ１０は、ステップＳ４２で決定された命令を表す画像が生成し、生成された画像をテレビ２に表示させる。図２２は、コース作成処理において画面に表示されるゲーム画像の一例を示す図である。図２２に示すようにテレビ２の画面には、命令を表す画像として、ハンドルの画像６６、および、アクセルのオン／オフを表す画像６７が表示される。ハンドルの画像６６は、上記ハンドル角度の値に応じてハンドルが回転するように表示される。また、アクセルのオン／オフを表す画像６７は、アクセルがオンに設定される場合、図２２に示すように“アクセル：ＯＮ”と表示され、アクセルがオフに設定される場合、“アクセル：ＯＦＦ”と表示される。命令を表す画像が表示されることによって、プレイヤは、リモコンカー７１に対する操作内容を視認することができるので、リモコンカー７１の操作を行いやすくなる。
【０１２３】
続くステップＳ４７において、ＣＰＵ１０は、制御対象機器（リモコンカー７１）の操作を終了するか否かを判定する。この判定は、例えば、コース作成処理を開始してから所定時間が経過したか否か、または、プレイヤによって所定の終了操作が行われたか否かによって行われる。ステップＳ４７の判定結果が肯定である場合、ステップＳ４８の処理が実行される。一方、ステップＳ４７の判定結果が否定である場合、ステップＳ４１の処理が再度実行される。
【０１２４】
図２３は、コントローラ５を用いてリモコンカー７１が操作される様子を説明する図である。以上のステップＳ４１〜Ｓ４７の処理が繰り返されることによって、コントローラ５を用いたリモコンカー７１の操作が行われる。具体的には、コントローラ５は、撮像情報演算部３５がマーカ６Ｒおよび６Ｌの画像を撮像し（図２３に示す矢印（１））、撮像情報（マーカ座標の情報）を操作データとしてゲーム装置３へ送信する（図２３に示す矢印（２））。ゲーム装置３は、ステップＳ４１において操作データを取得し、ステップＳ４２において操作データに基づいてリモコンカー７１に対する命令を決定する。さらに、ゲーム装置３は、ステップＳ４４およびＳ４５において命令に応じた赤外線信号を送出する指示をセンサバー６に対して行う（図２３に示す矢印（３））。この指示に従って、センサバー６の各マーカ６Ｒおよび６Ｌは、当該赤外線信号を照射する（図２３に示す矢印（４））。照射された赤外線信号は、リモコンカー７１の赤外線受光部に受光され、その結果リモコンカー７１の動作が制御される。以上によって、プレイヤは、コントローラ５を用いてリモコンカー７１を操作することが可能となる。なお、本実施形態では、ステップＳ４３の処理によって、リモコンカー７１の操作中の間の命令がゲーム装置３に記憶されている。
【０１２５】
図２１の説明に戻り、ステップＳ４８において、ＣＰＵ１０は、メインメモリ１３に記憶されている入力履歴データ６３５に基づいて、ゲーム空間に構築されるべきレースコースを作成する。レースコースは、例えば、入力履歴データ６３５に基づいてリモコンカー７１の走行軌跡を算出することによって、算出された軌跡の形状となるように作成されてもよい。作成されたレースコースを示すデータは、レースコースデータ６３６としてメインメモリ１３に記憶される。ステップＳ４８の後、ＣＰＵ１０はコース作成処理を終了する。
【０１２６】
図２０の説明に戻り、ステップＳ３２において、ＣＰＵ１０は、レースゲーム処理を実行する。レースゲーム処理は、コントローラ５に対して行われた操作に従って、仮想のゲーム空間内のレースコースにおいてキャラクタ（レースカー）を移動させる処理である。以下、図２４を参照して、レースゲーム処理の詳細について説明する。
【０１２７】
図２４は、図２０に示すレースゲーム処理（ステップＳ３２）の詳細を示すフローチャートである。なお、レースゲーム処理においては、まず、メインメモリ１３に記憶されているレースコースデータ６３６に従ってゲーム空間にレースコースが構築され、ゲーム空間の一部または全部、および、ゲーム空間に登場するキャラクタを表すゲーム画像がテレビ２に表示される。当該ゲーム画像が表示された後、ステップＳ５１の処理が実行される。
【０１２８】
ステップＳ５１において、ＣＰＵ１０は、コントローラ５から操作データを取得する。ステップＳ５１の処理はステップＳ４１の処理と同様である。続くステップＳ５２において、ＣＰＵ１０は、コントローラ５に対して行われた操作に基づいてレースカーの動作を決定する。レースカーの動作は、ステップＳ５１で取得された操作データに含まれる各データ６２１〜６２３に基づいて決定される。例えば、レースカーの動作は、リモコンカー７１の動作と同様に決定されてもよい。すなわち、Ａボタン３２ｄが押下されたことを操作データが示す場合、リモコンカー７１のアクセルをオンにする動作に相当する動作、すなわち、加速の動作をレースカーに行わせる。また、ステップＳ４２と同様にマーカ座標データ６２１に基づいてリモコンカー７１のハンドル角度を算出し、ハンドル角度に応じた角度だけ進行方向を変化させる動作をレースカーに行わせる。
【０１２９】
続くステップＳ５３において、ＣＰＵ１０は、入力履歴データを記憶する。本実施形態では、入力履歴データ６３５として、レースカーが加速の動作を行ったか否かを示すデータ、および、上記ハンドル角度を示すデータという２種類のデータがメインメモリ１３に記憶される。また、本実施形態では、ステップＳ５１〜Ｓ５５の処理ループ中、入力履歴データ６３５は、ステップＳ５３が実行される度に追加して記憶される。つまり、メインメモリ１３には、処理ループ中において生成される上記２種類のデータが、生成された順に全て記憶される。これによって、ステップＳ５１〜Ｓ５５の処理ループ中において行われた入力の履歴が記憶されることになる。
【０１３０】
続くステップＳ５４において、ＣＰＵ１０は、ステップＳ５２で決定されたレースカーの動作を表すゲーム画像をテレビ２に表示させる。ステップＳ５４の処理が１フレーム時間毎に実行されることによって、ゲーム空間内のレースコースをレースカーが移動する様子がテレビ２に表示される。
【０１３１】
続くステップＳ５５において、ＣＰＵ１０は、レースゲームを終了するか否かを判定する。ステップＳ５５の判定は、例えば、プレイヤが操作するレースカーがゴールしたか否か、あるいは、レースゲームが開始されてから所定時間が経過したか否か等によって行われる。ステップＳ５５の判定結果が肯定である場合、ステップＳ５６〜Ｓ５８の処理が実行される。一方、ステップＳ５５の判定結果が否定である場合、ステップＳ５１の処理が再度実行される。
【０１３２】
ステップＳ５６およびＳ５７においては、ステップＳ５１〜Ｓ５５におけるレースゲーム中にレースカーに対して行われた操作に基づいてリモコンカー７１が制御される。すなわち、まずステップＳ５６において、ＣＰＵ１０は、メインメモリ１３に記憶されている入力履歴データ６３５に基づいて、リモコンカー７１に与えるべき命令を決定する。上述のように、本実施形態では、レースカーが加速の動作を行ったか否かを示すデータ、および、上記ハンドル角度を示すデータという２種類のデータが入力履歴データ６３５として記憶される。したがって、これら２種類のデータを、上記命令を示すデータとしてそのまま用いることができる。なお、他の実施形態においては、レースカーの位置および速度の履歴を示すデータを入力履歴データとして記憶しておき、当該履歴を示すデータに基づいて、上記命令を示すデータを算出するようにしてもよい。また、入力履歴データ６３５には、１フレーム毎の入力を示すデータが複数含まれているので、ステップＳ５６では、各データにそれぞれ対応するように命令が決定される。つまり、ステップＳ５６では、レースゲーム処理中に行われた一連の入力に対応する一連の命令が決定される。
【０１３３】
ステップＳ５７においては、ＣＰＵ１０は、ステップＳ５６で決定された命令に対応する赤外線信号の信号パターンを選出する。なお、ステップＳ５６では一連の命令が決定されるので、ステップＳ５７では、当該一連の命令に対応する複数の信号パターンが選出される。なお、１つの命令に対応する１つの信号パターンを選出する処理は、ステップＳ４４の処理と同様の処理である。
【０１３４】
続くステップＳ５８において、ＣＰＵ１０は、ステップＳ５７で選出された信号パターンの赤外線信号を、センサバー６に含まれる各赤外ＬＥＤ６Ｒａおよび６Ｌａに出力させる。なお、ステップＳ５７では複数の信号パターンが選出されるので、それらに対応する複数の赤外線信号は、所定時間間隔毎に１つずつ順番に出力される。ステップＳ５８の終了後、ＣＰＵ１０は図２４に示すレースゲーム処理を終了する。これによって、図２０に示すゲーム処理が終了される。
【０１３５】
以上のように、図２０に示したゲーム処理によれば、プレイヤは、レースゲームの前にリモコンカー７１を操作することによって、ゲーム空間内におけるレースコースをリモコンカー７１の操作に応じて作成することができる。これによって、現実世界のリモコンカー７１の動作と、仮想のゲーム空間内におけるゲームコースとを関連付けることができ、現実世界の制御対象機器の動作がゲームに反映されるという、今までにない面白みのあるゲームを提供することができる。
【０１３６】
なお、図２０に示したゲーム処理では、リモコンカー７１の操作を行った後でゲーム操作を行わせるようにしたが、リモコンカー７１の操作とゲーム操作とを同時に行わせるようにしてもよい。つまり、ゲーム装置３は、コントローラ５の操作によって、リモコンカー７１とレースカーとを同時に制御するようにしてもよい。以下、リモコンカー７１とレースカーとを同時に制御する場合のゲーム処理を図２５を参照して説明する。
【０１３７】
図２５は、図１６に示すゲーム処理（ステップＳ９）の他の詳細な例を示すフローチャートである。なお、図２５においては、図２１と同じ処理ステップについては、図２１と同じステップ番号を付し、詳細な説明を省略する。また、図２５に示すゲーム処理においても、図２４に示す処理と同様、メインメモリ１３に記憶されているレースコースデータ６３６に従ってゲーム空間にレースコースが構築され、ゲーム空間の一部または全部、および、ゲーム空間に登場するキャラクタを表すゲーム画像がテレビ２に表示される。当該ゲーム画像が表示された後、図２５に示す処理が実行される。
【０１３８】
図２５においては、まずステップＳ４１において、コントローラ５から操作データが取得され、続くステップＳ４２において、コントローラ５に対して行われた操作に基づいてリモコンカー７１に対する命令が決定される。なお、図２５に示す処理においては、ステップＳ４３の処理は実行されない。
【０１３９】
図２５に示す処理においては、ステップＳ４２の次に、ステップＳ４４の処理が実行される。ステップＳ４４においては、ステップＳ４２で決定された命令に対応する赤外線信号の信号パターンが選出される。さらに、続くステップＳ４５において、ステップＳ４４で選出された信号パターンの赤外線信号が、センサバー６に含まれる各赤外ＬＥＤ６Ｒａおよび６Ｌａによって出力される。
【０１４０】
図２５に示す処理においては、ステップＳ４２の次に、ステップＳ６１の処理が実行される。ステップＳ６１においては、ＣＰＵ１０は、コントローラ５に対して行われた操作に基づいてレースカーの動作を決定する。ステップＳ６１の処理は、図２４に示すステップＳ５２の処理と同様である。なお、ステップＳ６１においては、コントローラ５に対して行われた操作、すなわち、メインメモリ１３に記憶されている操作データ６２に代えて、ステップＳ４２で決定された命令に基づいてキャラクタの動作を決定するようにしてもよい。
【０１４１】
ここで、図２５においては、上記ステップＳ４５において所定のパターンの赤外線信号（リモコン信号）が各マーカ６Ｒおよび６Ｌから出力される。つまり、各マーカ６Ｒおよび６Ｌは、点灯および消灯を繰り返すこととなる。このとき、コントローラ５の撮像素子４０が、リモコン信号の出力中に各マーカ６Ｒおよび６Ｌの画像を撮像する場合を考える。リモコン信号における点灯および消灯の間隔は一般的に非常に短いので、この点灯および消灯はコントローラ５の撮像素子４０によって検知されない。そのため、各マーカ６Ｒおよび６Ｌからリモコン信号が出力されている間であっても、撮像素子４０は各マーカ６Ｒおよび６Ｌの画像を撮像することが可能である。したがって、本実施形態のように、各マーカ６Ｒおよび６Ｌの撮像画像を用いたゲーム処理（ステップＳ６１）中においてリモコン信号を各マーカ６Ｒおよび６Ｌから出力するようにしても、ゲーム処理に影響はないと考えられる。
【０１４２】
なお、本実施形態では、ゲーム処理モード中においてもリモコン信号を出力することとしたが、他の実施形態では、より正確な撮像情報を得ることを目的として、ゲーム処理モードにおいてはリモコン信号を出力しないようにしてもよい。つまり、赤外線が常時出力されている場合にのみ、撮像情報を用いたゲーム処理を実行するようにしてもよい。
【０１４３】
ステップＳ６１の次のステップＳ６２において、ＣＰＵ１０は、ステップＳ６１で決定された動作を行う様子を示すゲーム画像をテレビ２に表示させる。ステップＳ６２の処理は、図２４に示すステップＳ５４の処理と同様である。続くステップＳ６３において、ＣＰＵ１０は、ゲーム処理を終了するか否かを判定する。ステップＳ６３の判定は、例えば、プレイヤが操作するレースカーがゴールしたか否か、あるいは、レースゲームが開始されてから所定時間が経過したか否か等によって行われる。ステップＳ６３の判定結果が肯定である場合、ＣＰＵ１０は、図２５に示すゲーム処理を終了する。一方、ステップＳ６３の判定結果が否定である場合、ステップＳ４１の処理が再度実行される。
【０１４４】
以上のように、図２５に示すゲーム処理によれば、コントローラ５に対する操作に基づいて制御対象機器（リモコンカー７１）の動作が制御される（ステップＳ４５）と同時に、コントローラ５に対する操作に基づいてゲーム空間内のキャラクタ（レースカー）の動作が制御される（ステップＳ６１）。したがって、プレイヤは、ゲーム空間内のキャラクタを操作すると同時に現実世界の制御対象機器を操作するという、今までにない面白みのあるゲームを提供することができる。
【０１４５】
なお、上記実施形態では、ゲーム処理としてレースゲームを進行するための処理を実行する場合を例として説明したが、他の実施形態では、ゲームの内容はどのようなものであってもよく、ゲーム処理はコントローラ５に対する操作に応じて実行される処理であればどのようなものであってもよい。例えば、ゲーム中におけるコマンド選択画面において、他の制御対象機器（例えばテレビ２）の動作を制御することも可能である。以下、他の実施形態におけるゲーム処理の例について図２６および図２７を参照して説明する。
【０１４６】
図２６は、他の実施形態におけるゲーム処理において表示されるコマンド選択画面の一例を示す図である。図２６において、テレビ２の画面には、プレイヤが指示可能なコマンドＡ〜Ｄのコマンドを示すコマンド画像８１〜８４、テレビ２の音量を表すためのゲージ画像８５およびつまみ画像８６、および、画面上の画像を指定するためのカーソル８７が表示される。プレイヤは、コマンド画像８１〜８４のいずれかをカーソル８７を用いて指定することによって、指定されたコマンド画像対応するコマンドを指示することができる。また、カーソル８７を用いてつまみ画像８６をゲージ画像８５内で上下に移動させることによって音量を指示することができる。なお、カーソル８７の移動は、コントローラ５の上記指示位置を変更する操作によって行われる。
【０１４７】
図２７は、他の実施形態におけるゲーム処理の流れを示すフローチャートである。なお、図２７に示すゲーム処理では、ゲーム進行中の適宜のタイミング（例えば、プレイヤによって所定の指示が行われたタイミング）でコマンド選択画面が表示された場合の処理を説明し、本発明とは無関係な他のゲーム処理については説明を省略する。
【０１４８】
図２７に示すゲーム処理においては、まずステップＳ７１において、ＣＰＵ１０は、コマンド選択画面をテレビ２の画面に表示させる。続くステップＳ７２において、ＣＰＵ１０は、コントローラ５から操作データを取得する。ステップＳ７１の処理はステップＳ４１の処理と同様である。
【０１４９】
続くステップＳ７３において、ＣＰＵ１０は、操作データ６２に含まれるマーカ座標データ６２１を用いて、カーソル８７を表示する位置を算出する。具体的には、コントローラ５の指示位置がマーカ座標に基づいて算出され、カーソル８７の表示位置は、算出された指示位置に設定される。
【０１５０】
続くステップＳ７４において、ＣＰＵ１０は、カーソル８７によってつまみ画像８６が指定されているか否かを判定する。ステップＳ７４の判定は、カーソル８７の表示位置がつまみ画像８６の表示領域から所定距離内にあるか否かによって行われる。ステップＳ７４の判定結果が肯定の場合、後述するステップＳ７７の処理が実行される。一方、ステップＳ７４の判定結果が否定の場合、ステップＳ７５の処理が実行される。
【０１５１】
ステップＳ７５において、ＣＰＵ１０は、プレイヤによってコマンド選択操作が行われたか否かを判定する。ここでは、コマンド選択操作とは、カーソル８７によってコマンド画像８１〜８４のいずれかが指定された状態で、コントローラ５のＡボタン３２ｄが押下する操作を指す。ステップＳ７５の判定結果が肯定の場合、ステップＳ７６の処理が実行される。一方、ステップＳ７５の判定結果が否定の場合、ステップＳ７２の処理が再度実行される。
【０１５２】
ステップＳ７６において、ＣＰＵ１０は、ステップＳ７５で選択されたコマンドに応じたゲーム処理を実行する。なお、コマンドの具体的な内容は、ゲームの進行やゲーム設定に関連するものであればどのようなものであってもよい。ステップＳ７６の次に、後述するステップＳ８２の処理が実行される。
【０１５３】
一方、ステップＳ７７において、ＣＰＵ１０は、つまみ画像８６をカーソル８７によって選択する操作が行われたか否かを判定する。ここで、当該操作は、つまみ画像８６が指定された状態で、コントローラ５のＡボタン３２ｄが押下する操作である。つまり、ステップＳ７７では、Ａボタン３２ｄが押下されたか否かが判定される。ステップＳ７７の判定結果が肯定の場合、ステップＳ７８の処理が実行される。一方、ステップＳ７７の判定結果が否定の場合、ステップＳ７２の処理が再度実行される。
【０１５４】
ステップＳ７８において、ＣＰＵ１０は、カーソル位置に従ってつまみ画像８６を移動させる。具体的には、つまみ画像８６は、カーソル８７の表示位置に従ってゲージ画像８５内において上下に移動される。
【０１５５】
続くステップＳ７９において、ＣＰＵ１０は、ステップＳ７８で移動されたつまみ画像８６の位置に応じた信号パターンを選出する。すなわち、設定すべきテレビ２の音量をつまみ画像８６の位置に従って決定し、決定された音量に設定するための命令に対応する信号パターンを選出する。続くステップＳ８０において、ＣＰＵ１０は、ステップＳ７９で選出された信号パターンの赤外線信号を、センサバー６に含まれる各赤外ＬＥＤ６Ｒａおよび６Ｌａに出力させる。出力された赤外線信号をテレビ２の赤外線受光部５２が受光することによって、テレビ２の音量が設定される。
【０１５６】
ステップＳ８１においては、カーソル８７によるつまみ画像８６の選択が解除されたか否かを判定する。ステップＳ８１の判定は、Ａボタン３２ｄの押下が注しされたか否かによって行われる。ステップＳ８１の判定結果が肯定の場合、ステップＳ８２の処理が実行される。一方、ステップＳ８１の判定結果が否定の場合、ステップＳ７８の処理が再度実行される。
【０１５７】
ステップＳ８２においては、ＣＰＵ１０は、コマンド選択画面を終了するか否かを判定する。ステップＳ８２の判定は、例えば、コマンド選択画面を終了する旨の所定の指示がプレイヤによって行われたか否かによって行われる。ステップＳ８２の判定結果が肯定の場合、ＣＰＵ１０は図２７に示すゲーム処理を終了する。一方、ステップＳ８２の判定結果が否定の場合、ステップＳ７１の処理が再度実行される。
【０１５８】
以上の処理によって、プレイヤは、カーソル８７をつまみ画像８６の位置に合わせた状態でＡボタン３２ｄを押下することによって、Ａボタン３２ｄを押下している間、つまみ画像８６を上下に移動させることができる。そして、カーソル８７によってつまみ画像８６を移動させることによって、テレビ２の音量を変更することができる。さらに、プレイヤは、コマンド画像８１〜８４のいずれかの位置にカーソル８７を合わせた状態でＡボタン３２ｄを押下することによって、コマンド画像に対応するコマンドを実行することができる。以上の図２７に示したように、ゲーム処理中においては、ゲーム操作とリモコン操作とのいずれかを選択的に行うことが可能であるようにしてもよい。
【０１５９】
なお、上記実施形態では、制御対象機器がテレビおよびリモコンカーである場合を例として説明したが、他の実施形態においては、制御対象機器は、赤外線リモコン信号によって動作が制御可能な機器であればどのような機器であってもよい。例えば、制御対象機器は、ゲームシステムが配置される部屋内に配置されている空調機器等の家電であってもよいし、ゲーム空間に登場するキャラクタと同じ動作を行うロボットであってもよい。
【０１６０】
また、上記実施形態では、各マーカ６Ｒおよび６Ｌから出力される赤外線信号は、制御対象機器に所定の動作を行わせるための命令を示す信号、すなわち、リモコン信号であるとして説明した。ここで、他の実施形態においては、赤外線信号は、制御対象機器において利用されるものであればよく、例えば、制御対象機器で再生されるべき画像あるいは音声を示すものであってもよいし、制御対象機器で利用されるパラメータデータを示すものであってもよい。なお、赤外線信号が画像あるいは音声のみを示すものであっても、当該赤外線信号を受信した制御対象機器が当該赤外線信号の受信に応じて当該画像あるいは音声の再生を実行する場合には、当該画像あるいは音声を示す赤外線信号は、制御対象機器に所定の動作（再生動作）を行わせるための命令を示す信号である。また、赤外線信号が上記パラメータデータを示すものであっても、当該赤外線信号を受信した制御対象機器が赤外線信号の受信に応じて当該パラメータデータを用いた所定の処理を実行する場合には、当該パラメータデータを示す赤外線信号は、制御対象機器に所定の動作（処理）を行わせるための命令を示す信号である。以下、図２８を用いて上記実施形態の他の変形例を説明する。
【０１６１】
図２８は、本実施形態の変形例を示す図である。なお、図２８においては、制御対象機器はスピーカ７２ａおよび７２ｂである。スピーカ７２ａおよび７２ｂは、赤外線受光部を備え、赤外線信号として送信されてくる音声信号を受信し、受信した音声信号を音声として出力するものである。また、図２８に示す変形例では、ゲーム装置３の記憶手段（メインメモリ１３またはフラッシュメモリ１８等）は、スピーカ７２ａおよび７２ｂで再生されるべき音声信号を示す信号パターンを１以上記憶している。コントローラ５は、上記実施形態と同様、マーカ６Ｒおよび６Ｌの画像を撮像し（図２８に示す（１））、撮像した画像に関する情報（具体的には、上記マーカ座標の情報）を含む操作データをゲーム装置３へ送信する（図２８に示す（２））。ゲーム装置３は、受信された操作データに基づいて、コントローラ５に対して行われた操作を特定する。スピーカ７２ａおよび７２ｂ（またはスピーカ７２ａおよび７２ｂのいずれか）に音声を出力させるための操作がコントローラ５に対して行われた場合、ゲーム装置３は、当該操作に基づいて、再生すべき音声信号を示す信号パターンを決定する。そして、決定された信号パターンをマーカ６Ｒおよび６Ｌに対して出力させる（図２８に示す（３））。これによって、音声信号である赤外線信号がマーカ６Ｒおよび６Ｌから照射されるので、スピーカ７２ａおよび７２ｂにおいて当該赤外線信号が受光される（図２８に示す（４））。その結果、受光された赤外線信号により示される音声がスピーカ７２ａおよび７２ｂから再生される。以上によって、ゲーム装置３は、コントローラ５に対して行われた操作に応じた音声を制御対象機器に再生させることが可能である。なお、図２８では、制御対象機器で再生されるべき音声信号を赤外線信号として出力する場合を例として説明したが、例えばモニタ等の表示装置を制御対象機器として、画像信号を赤外線信号として出力するようにしてもよい。
【０１６２】
図２８に示す構成を用いたゲームの一例として、例えば、射撃ゲームが考えられる。この射撃ゲームでは、コントローラ５に設けられた所定の射撃ボタン（例えば、Ａボタン３２ｄ）をプレイヤが押下すると、ゲーム装置３は、射撃音に相当する音声データを示す信号パターンの赤外線信号をマーカ６Ｒおよび６Ｌから照射させる。これによって、スピーカ７２ａおよび７２ｂから射撃音が再生される。以上のように、本実施形態によれば、コントローラ５に対して行われた操作に応じて音声信号である赤外線信号をマーカ６Ｒおよび６Ｌから出力することによって、制御対象機器（スピーカ）に音声を再生させることも可能である。また、上記射撃ゲームでは、テレビ２の画面にゲーム空間の画像を表示させ、コントローラ５の上記指示位置を照準として用いるようにしてもよい。
【０１６３】
また、上記「制御対象機器で利用されるパラメータデータ」とは、例えば、制御対象機器が（ゲーム装置３とは別の）ゲーム装置である場合におけるゲームパラメータのデータである。例えば、制御対象機器であるゲーム装置で実行されるゲームに登場するキャラクタに設定すべきパラメータのデータを示す赤外線信号をマーカ６Ｒおよび６Ｌから出力するようにしてもよい。このとき、制御対象機器であるゲーム装置は、上記赤外線信号を受信し、受信した赤外線信号により示されるデータを記憶する。そして、記憶されたデータを適宜のタイミングでゲーム処理に用いる。
【産業上の利用可能性】
【０１６４】
以上のように、本発明は、ゲーム機の入力装置によって他の機器に対する操作を行うこと等を目的として、例えばゲームシステムに用いられるゲーム装置として利用することが可能である。
【図面の簡単な説明】
【０１６５】
【図１】本発明の一実施形態に係るゲーム装置を含むゲームシステムの外観図
【図２】ゲーム装置３の機能ブロック図
【図３】コントローラ５の上側後方から見た斜視図
【図４】コントローラ５を下側前方から見た斜視図
【図５Ａ】コントローラ５の内部構造を示す図
【図５Ｂ】コントローラ５の内部構造を示す図
【図６】コントローラ５の構成を示すブロック図
【図７】コントローラ５を用いてゲーム操作を行うときの様子を示す図解図
【図８】図１に示すセンサバー６の外観を示す斜視図
【図９】各マーカ６Ｒおよび６Ｌのカバー６ＲＣおよび６ＬＣを外した状態のセンサバー６を示す斜視図
【図１０】制御対象機器の機能ブロック図
【図１１】ゲーム装置３の記憶手段に記憶される主なデータを示す図
【図１２】信号テーブルデータ６３１の一例を示す図
【図１３】制御可能機器データ６３２の一例を示す図
【図１４】操作テーブルデータ６３４の一例を示す図
【図１５】操作テーブルデータ６３４の一例を示す図
【図１６】ゲーム装置３において実行される処理の流れを示すメインフローチャート
【図１７】図１６に示す初期処理（ステップＳ１）の詳細を示すフローチャート
【図１８Ａ】ＬＥＤ３４ａ〜３４ｄの点灯パターンの例を示す図
【図１８Ｂ】ＬＥＤ３４ａ〜３４ｄの点灯パターンの例を示す図
【図１８Ｃ】ＬＥＤ３４ａ〜３４ｄの点灯パターンの例を示す図
【図１９】図１６に示す処理によってゲーム装置３によってテレビ２が制御される様子を説明するための図
【図２０】図１６に示すゲーム処理（ステップＳ９）の詳細を示すフローチャート
【図２１】図２０に示すコース作成処理（ステップＳ３１）の詳細を示すフローチャート
【図２２】コース作成処理において画面に表示されるゲーム画像の一例を示す図
【図２３】コントローラ５を用いてリモコンカー７１が操作される様子を説明する図
【図２４】図２０に示すレースゲーム処理（ステップＳ３２）の詳細を示すフローチャート
【図２５】図１６に示すゲーム処理（ステップＳ９）の他の詳細な例を示すフローチャート
【図２６】他の実施形態におけるゲーム処理において表示されるコマンド選択画面の一例を示す図
【図２７】他の実施形態におけるゲーム処理の流れを示すフローチャート
【図２８】本実施形態の変形例を示す図
【符号の説明】
【０１６６】
１    ゲームシステム
２    テレビ
３    ゲーム装置
４    光ディスク
５    コントローラ
６    センサバー
６Ｒ，６Ｌ  マーカ
６Ｒａ，６Ｌａ  赤外ＬＥＤ
１０  ＣＰＵ
１３  メインメモリ
【図１】
2008035962.tif 000003
【図２】
2008035962.tif 000004
【図３】
2008035962.tif 000005
【図４】
2008035962.tif 000006
【図５Ａ】
2008035962.tif 000007
【図５Ｂ】
2008035962.tif 000008
【図６】
2008035962.tif 000009
【図７】
2008035962.tif 000010
【図８】
2008035962.tif 000011
【図９】
2008035962.tif 000012
【図１０】
2008035962.tif 000013
【図１１】
2008035962.tif 000014
【図１２】
2008035962.tif 000015
【図１３】
2008035962.tif 000016
【図１４】
2008035962.tif 000017
【図１５】
2008035962.tif 000018
【図１６】
2008035962.tif 000019
【図１７】
2008035962.tif 000020
【図１８Ａ】
2008035962.tif 000021
【図１８Ｂ】
2008035962.tif 000022
【図１８Ｃ】
2008035962.tif 000023
【図１９】
2008035962.tif 000024
【図２０】
2008035962.tif 000025
【図２１】
2008035962.tif 000026
【図２２】
2008035962.tif 000027
【図２３】
2008035962.tif 000028
【図２４】
2008035962.tif 000029
【図２５】
2008035962.tif 000030
【図２６】
2008035962.tif 000031
【図２７】
2008035962.tif 000032
【図２８】
2008035962.tif 000033