(57)【特許請求の範囲】
【請求項１】
無線通信機能を含む電子回路と当該電子回路に電力を供給する電池とを有する入力装置が無線通信可能に接続されるゲーム装置のコンピュータで実行されるゲームプログラムであって、
前記入力装置と前記ゲーム装置との間の無線通信の切断を検出する切断検出手段と、
前記入力装置の前記電池の残量を示す電池残量データを前記無線通信を介して取得する電池残量データ取得手段と、
前記切断検出手段により無線通信の一時的な切断を検出し、前記電池残量データ取得手段により取得した電池残量データが所定値以下の電池残量を示すものであり、さらに、当該一時的な切断の後の所定期間内に前記切断検出手段により２度目の切断を検出したことに応じて、前記入力装置の電力が不足していると判定する電力不足判定手段と、
前記電力不足判定手段により電力が不足していると判定されたとき、その旨を報知する報知手段として、前記コンピュータを機能させるためのゲームプログラム。
【請求項２】
前記切断検出手段は、前記入力装置と前記ゲーム装置との間の無線通信の、継続的な切断、断続的な切断、および一時的な切断の少なくともいずれか１つの切断を検出する、請求項１に記載のゲームプログラム。
【請求項３】
前記切断検出手段は、前記入力装置と前記ゲーム装置との間の無線通信の一時的な切断を検出するものであり、
前記電池残量データ取得手段は、前記切断検出手段による一時的な切断を検出した直後にのみ、前記入力装置から前記電池残量データを取得する、請求項２に記載のゲームプログラム。
【請求項４】
前記報知手段は、前記電力不足判定手段によって電力不足と判定されたとき、実行中のゲーム処理を中断し、当該実行中のゲーム状況を示すゲーム状況データを当該ゲーム装置に備えるメモリに記憶するとともに、そのゲーム処理によるゲーム画面を停止させて表示装置に表示することによって報知する、請求項１に記載のゲームプログラム。
【請求項５】
前記報知手段は、前記ゲーム装置で実行中のゲームのゲーム画像を表示するための表示装置に、前記入力装置の電源の残量が不足していることを示す画像を表示する、請求項１に記載のゲームプログラム。
【請求項６】
前記報知手段は、前記ゲーム装置によって音声出力制御可能なスピーカから、前記入力装置の電源の残量が不足していることを示す音声または効果音を出力する、請求項１に記載のゲームプログラム。
【請求項７】
無線機能を含む電子回路と当該電子回路に対して電力を供給する電池とを有する入力装置が無線通信可能に接続されるゲーム装置であって、
前記入力装置と無線通信するための無線通信手段と、
前記入力装置との間の無線通信の切断を検出する切断検出手段と、
前記入力装置の前記電池の残量を示す電池残量データを前記無線通信手段を介して取得する電池残量データ取得手段と、
前記切断検出手段により無線通信の一時的な切断を検出し、前記電池残量データ取得手段により取得した電池残量データが所定値以下の電池残量を示すものであり、さらに、当該一時的な切断の後の所定期間内に前記切断検出手段により２度目の切断を検出したことに応じて、前記入力装置の電力が不足していると判定する電力不足判定手段と、
前記電力不足判定手段により電力が不足していると判定されたとき、その旨を報知する報知手段とを備える、ゲーム装置。
【請求項８】
無線機能を含む電子回路と当該電子回路に対して電力を供給する電池とを有する入力装置が無線通信可能に接続されるゲームシステムであって、
前記入力装置と無線通信するための無線通信手段と、
前記入力装置との間の無線通信の切断を検出する切断検出手段と、
前記入力装置の前記電池の残量を示す電池残量データを前記無線通信手段を介して取得する電池残量データ取得手段と、
前記切断検出手段により無線通信の一時的な切断を検出し、前記電池残量データ取得手段により取得した電池残量データが所定値以下の電池残量を示すものであり、さらに、当該一時的な切断の後の所定期間内に前記切断検出手段により２度目の切断を検出したことに応じて、前記入力装置の電力が不足していると判定する電力不足判定手段と、
前記電力不足判定手段により電力が不足していると判定されたとき、その旨を報知する報知手段とを備える、ゲームシステム。
【請求項９】
無線機能を含む電子回路と当該電子回路に対して電力を供給する電池とを有する入力装置が無線通信可能に接続されるゲーム装置における方法であって、
前記入力装置との間の無線通信の切断を検出する切断検出ステップと、
前記入力装置の前記電池の残量を示す電池残量データを無線通信により取得する電池残量データ取得ステップと、
前記切断検出ステップにより無線通信の一時的な切断を検出し、前記電池残量データ取得ステップにより取得した電池残量データが所定値以下の電池残量を示すものであり、さらに、当該一時的な切断の後の所定期間内に前記切断検出ステップにより２度目の切断を検出したことに応じて、前記入力装置の電力が不足していると判定する電力不足判定ステップと、
前記電力不足判定ステップにより電力が不足していると判定されたとき、その旨を報知する報知ステップとを備える、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームプログラムおよびゲーム装置に関し、より特定的には、無線通信を用いてゲーム装置本体と接続される入力装置を用いたゲームプログラムおよびゲーム装置に関する。
【背景技術】
【０００２】
従来、無線通信を用いてゲーム装置本体と接続される入力装置を用いたゲーム装置が開発されている（例えば、非特許文献１参照）。
【０００３】
上記非特許文献１に記載されている入力装置は、無線通信を用いてゲーム装置本体と接続される。一般的に、当該入力装置を含めゲーム装置本体と無線通信で接続される入力装置は、ゲーム装置本体からの電源供給を受けることができないため、入力装置内に電源として乾電池や充電池を内蔵している。しかしながら、乾電池や充電池から行える電源供給には寿命があり、寿命に達した、すなわち電池切れが生じた際には、内蔵する乾電池を新たな乾電池に取り替えるか、内蔵する充電池の再充電を行う必要がある。そのため、上記非特許文献１に記載された入力装置は、プレイヤがパワースイッチをＯＮにすると入力装置に設けられたパワーランプが点灯し、乾電池の消耗に伴ってパワーランプが徐々に暗くなることで、プレイヤに電池交換の必要性を報知する。そして、当該入力装置は、乾電池の残量がある程度残っているうちに新たな乾電池に交換することを、プレイヤに促している。
【非特許文献１】「ニンテンドーゲームキューブ  ワイヤレスコントローラ  ウェーブバード  取扱説明書」、任天堂株式会社、発売日：２００２年１２月５日
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ゲーム装置でゲームを行うプレイヤは、自身が把持する入力装置を目視することは少なく、表示装置に表示されたゲーム画像を見ながらゲームをプレイする。つまり、上記非特許文献１に記載された入力装置を用いても、プレイヤが電池の消耗に伴ってパワーランプが徐々に暗くなっていることに気付かずにプレイを続行してしまう。したがって、入力装置に内蔵する電池の寿命が尽き、ゲーム装置本体と入力装置とが無線通信不可能でゲームの操作を行えない状態になったときに、プレイヤが電池切れに気付くことが多い。この場合、プレイヤが電池切れに気付いたときにはゲーム装置本体との無線通信を満足に行えないため、進行中のゲームを中断する指示等を行うことができず、プレイヤが入力装置の乾電池の交換や充電池の再充電を終えるまで、不本意にゲームが進んでしまうことがある。
【０００５】
それ故に、本発明の目的は、入力装置における電池切れを適切に判断することができるゲームプログラムおよびゲーム装置を提供することである。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、本発明は以下の構成を採用した。なお、括弧内の参照符号やステップ番号等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。
【０００７】
第１の局面は、無線通信機能を含む電子回路と当該電子回路に電力を供給する電池とを有する入力装置（７）が無線通信可能に接続されるゲーム装置（５）のコンピュータ（３０）で実行されるゲームプログラムである。ゲームプログラムは、切断検出手段（ステップ１８を実行するＣＰＵ３０、以下、単にステップ番号のみ記載する）、電池残量データ取得手段（Ｓ５７）、電力不足判定手段（Ｓ５３）、および報知手段（Ｓ５５）として、コンピュータを機能させる。切断検出手段は、入力装置とゲーム装置との間の無線通信の、継続的な切断、断続的な切断、および一時的な切断の少なくともいずれか１つの切断を検出する。電池残量データ取得手段は、入力装置の電池残量を示す電池残量データ（電池電圧データ）を無線通信を介して取得する。電力不足判定手段は、切断検出手段により無線通信の切断を検出したこと、かつ、電池残量データ取得手段により取得した電池残量データが所定値以下（低レベル以下、２．４０Ｖ未満）の電池残量を示すものであることに応じて、入力装置の電力が不足していると判定する。報知手段は、電力不足判定手段により電力が不足していると判定されたとき、その旨を報知する（図９）。
【０００８】
第２の局面は、上記第１の局面において、切断検出手段は、入力装置とゲーム装置との間の無線通信の一時的な切断を検出するものである。電池残量データ取得手段は、切断検出手段による一時的な切断を検出した直後にのみ、入力装置から電池残量データを取得する（Ｓ６６）。
【０００９】
第３の局面は、上記第１または第２の局面において、電力不足判定手段は、切断検出手段による無線通信の一時的な切断を検出し、電池残量データ取得手段により取得した電池残量データが所定値以下の電池残量を示すものであり、さらに、当該一時的な切断の後の所定期間内に切断検出手段による２度目の切断が検出されたとき（Ｓ１５、Ｓ５３、Ｓ５９）、入力装置の電力が不足していると判定する。
【００１０】
第４の局面は、上記第１の局面において、切断検出手段は、入力装置とゲーム装置との間の無線通信の所定期間における断続的な切断を検出するものである。電力不足判定手段は、切断検出手段による無線通信の断続的な切断を検出し、かつ、電池残量データ取得手段により取得した電池残量データが所定値以下の電池残量を示すものであることに応じて、入力装置の電力が不足していると判定する。
【００１１】
第５の局面は、上記第１の局面において、電池残量データ取得手段は、入力装置の電池残量を示す電池残量データを無線通信を介して適宜繰り返し取得する。電力不足判定手段は、切断検出手段による継続的な切断を検出し、かつ取得した最新の電池残量データが所定値以下の電池残量を示すものであることに応じて、入力装置の電力が不足していると判定する。
【００１２】
第６の局面は、上記第１の局面において、報知手段は、電力不足判定手段によって電力不足と判定されたとき、実行中のゲーム処理を中断し、当該実行中のゲーム状況を示すゲーム状況データを当該ゲーム装置に備えるメモリ（３３）に記憶するとともに、そのゲーム処理によるゲーム画面を停止させて表示装置（２）に表示することによって報知する（Ｓ５１、Ｓ５２）。
【００１３】
第７の局面は、上記第１の局面において、報知手段は、ゲーム装置で実行中のゲームのゲーム画像を表示するための表示装置に、入力装置の電源の残量が不足していることを示す画像を表示する。
【００１４】
第８の局面は、上記第１の局面において、報知手段は、ゲーム装置によって音声出力制御可能なスピーカ（２ａ、７０６）から、入力装置の電源の残量が不足していることを示す音声または効果音を出力する。
【００１５】
第９の局面は、無線機能を含む電子回路と当該電子回路に対して電力を供給する電池とを有する入力装置が無線通信可能に接続されるゲーム装置である。ゲーム装置は、無線通信手段、切断検出手段、電池残量データ取得手段、電力不足判定手段、および報知手段を備える。無線通信手段は、入力装置と無線通信する。切断検出手段は、入力装置との間の無線通信の、継続的な切断、断続的な切断、および一時的な切断の少なくともいずれか１つの切断を検出する。電池残量データ取得手段は、入力装置の電池残量を示す電池残量データを無線通信手段を介して取得する。電力不足判定手段は、切断検出手段による無線通信の切断を検出したこと、かつ、電池残量データ取得手段により取得した電池残量データが所定値以下の電池残量を示すものであることに応じて、入力装置の電力が不足していると判定する。報知手段は、電力不足判定手段により電力が不足していると判定されたとき、その旨を報知する。
【発明の効果】
【００１６】
第１の局面によれば、無線通信の切断が発生したこと、かつ、所定値以下に電池残量が低下したことを条件に入力装置の電池残量が不足していると判定するので、現在の使用環境に合わせた入力装置の電力の不足を適切に判断することができる。例えば、電池残量だけにより電力不足と判断すると、ハードウェアの個体差や使用状況により電池がまだ残っているのに使用できないこととなり、無線通信の切断により電力不足と判断すると、周囲環境により電池が十分に残っていても使えないことになる。
【００１７】
上記第２の局面によれば、入力装置における電池残量確認を所定処理周期毎に行わず、無線通信が一時的に切断されたタイミングの直後にのみ行われるので、無線通信帯域の圧迫や処理負荷や入力装置の電力消費などを軽減することができる。
【００１８】
上記第３の局面によれば、無線通信が一時的に切断されたことを検出し、その後の電池残量が所定値以下であり、さらに一時的な切断の後の所定期間内に再び切断が発生したことに応じて、入力装置の電力の不足を判定しているので、電池残量不足による無線通信の障害であることをより適切に判断することができる。
【００１９】
上記第４の局面によれば、入力装置の電源残量が所定値以下に低下したことを確認し、その低下が現在の操作環境下で無線通信の切断が所定期間内に複数回起こるレベルであることを、入力装置の電源の不足を判定する基準としている。つまり、入力装置の電源残量の確認と所定時間内の無線通信の状況とを両立させて入力装置の電源不足を判定することによって、入力装置における電源不足を適切に判定することができる。
【００２０】
上記第５の局面によれば、継続的な切断と、切断前の最新の電池残量が所定値以下であることにより、入力装置の電力の不足を判定しているので、電池残量不足による無線通信の障害であることを適切に判断することができる。
【００２１】
上記第６の局面によれば、入力装置との間の無線通信が切断されたとき、自動的にゲームが中断して、そのゲーム状況が記録保存されるため、プレイヤが入力装置の乾電池の交換や充電池の再充電等を終えるまで、不本意にゲームが進んでしまうことがない。
【００２２】
上記第７の局面によれば、ゲーム進行を視認して楽しむ表示装置に電源不足を示す画像が表示されるため、プレイヤが入力装置の電力不足に気付かずにプレイを続行することはない。
【００２３】
上記第８の局面によれば、電源不足を示す情報が音声や効果音で出力されるため、プレイヤが入力装置の電力不足に気付かずにプレイを続行することはない。
【００２４】
また、本発明のゲーム装置によれば、上述したゲームプログラムと同様の効果を得ることができる。
【発明を実施するための最良の形態】
【００２５】
図１を参照して、本発明の一実施形態に係るゲーム装置について説明する。以下、説明を具体的にするために、当該ゲーム装置の一例の据置型のゲーム装置を含むゲームシステムについて説明する。なお、図１は据置型のゲーム装置３を含むゲームシステム１の外観図であり、図２はゲーム装置本体５のブロック図である。以下、当該ゲームシステム１について説明する。
【００２６】
図１において、ゲームシステム１は、表示手段の一例の家庭用テレビジョン受像機（以下、モニタと記載する）２と、当該モニタ２に接続コードを介して接続する据置型のゲーム装置３とから構成される。モニタ２は、ゲーム装置本体５から出力された音声信号を音声出力するためのスピーカ２ａを備える。また、ゲーム装置３は、本願発明のゲームプログラムを記録した光ディスク４と、当該光ディスク４のゲームプログラムを実行してゲーム画面をモニタ２に表示出力させるためのコンピュータを搭載したゲーム装置本体５と、ゲーム画面に表示されたキャラクタ等を操作するゲームに必要な操作情報をゲーム装置本体５に与えるためのコントローラ７とを備えている。
【００２７】
また、ゲーム装置本体５は、通信ユニット６を内蔵する。通信ユニット６は、コントローラ７から無線送信されるデータを受信し、ゲーム装置本体５からコントローラ７へデータを送信して、コントローラ７とゲーム装置本体５とを無線通信によって接続する。さらに、ゲーム装置本体５には、当該ゲーム装置本体５に対して交換可能に用いられる情報記憶媒体の一例の光ディスク４が脱着される。ゲーム装置本体５の前部主面には、当該ゲーム装置本体５の電源ＯＮ／ＯＦＦスイッチ、ゲーム処理のリセットスイッチ、光ディスク４を脱着する投入口、およびゲーム装置本体５の投入口から光ディスク４を取り出すイジェクトスイッチ等が設けられている。
【００２８】
また、ゲーム装置本体５には、セーブデータ等のデータを固定的に記憶するバックアップメモリとして機能するフラッシュメモリ３８が搭載される。ゲーム装置本体５は、光ディスク４に記憶されたゲームプログラム等を実行することによって、その結果をゲーム画像としてモニタ２に表示する。さらに、ゲーム装置本体５は、フラッシュメモリ３８に記憶されたセーブデータを用いて、過去に実行されたゲーム状況を再現して、ゲーム画像をモニタ２に表示することもできる。そして、ゲーム装置本体５のプレイヤは、モニタ２に表示されたゲーム画像を見ながら、コントローラ７を操作することによって、ゲーム進行を楽しむことができる。
【００２９】
コントローラ７は、通信ユニット６を内蔵するゲーム装置本体５へ、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース；登録商標）の技術を用いて操作情報等の送信データを無線送信する。コントローラ７は、主にモニタ２の表示画面に表示されるゲーム空間に登場するプレイヤキャラクタ等を操作したりするための操作手段である。コントローラ７は、片手で把持可能な程度の大きさのハウジングと、当該ハウジングの表面に露出して設けられた複数個の操作ボタン（十字キーやスティック等を含む）が設けられている。また、後述により明らかとなるが、コントローラ７は、当該コントローラ７から見た画像を撮像する撮像情報演算部７４を備えている。また、撮像情報演算部７４の撮像対象の一例として、モニタ２の表示画面近傍に２つのＬＥＤモジュール（以下、マーカと記載する）８Ｌおよび８Ｒが設置される。これらマーカ８Ｌおよび８Ｒは、それぞれモニタ２の前方に向かって例えば赤外光を出力する。また、コントローラ７は、ゲーム装置本体５の通信ユニット６から無線送信された送信データを通信部７５で受信して、当該送信データに応じた音や振動を発生させることもできる。
【００３０】
図２において、ゲーム装置本体５は、各種プログラムを実行する例えばＣＰＵ（セントラルプロセッシングユニット）３０を備える。ＣＰＵ３０は、図示しないブートＲＯＭに記憶された起動プログラムを実行し、メインメモリ３３等のメモリの初期化等を行った後、光ディスク４に記憶されているゲームプログラムの実行し、そのゲームプログラムに応じたゲーム処理等を行うものである。ＣＰＵ３０には、メモリコントローラ３１を介して、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３２、メインメモリ３３、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）３４、およびＡＲＡＭ（Ａｕｄｉｏ  ＲＡＭ）３５などが接続される。また、メモリコントローラ３１には、所定のバスを介して、通信ユニット６、ビデオＩ／Ｆ（インターフェース）３７、フラッシュメモリ３８、オーディオＩ／Ｆ３９、およびディスクＩ／Ｆ４１が接続され、それぞれのインターフェースにモニタ２、スピーカ２ａ、およびディスクドライブ４０が接続されている。
【００３１】
ＧＰＵ３２は、ＣＰＵ３０の命令に基づいて画像処理を行うものあり、例えば、３Ｄグラフィックスの表示に必要な計算処理を行う半導体チップで構成される。ＧＰＵ３２は、図示しない画像処理専用のメモリやメインメモリ３３の一部の記憶領域を用いて画像処理を行う。ＧＰＵ３２は、これらを用いてモニタ２に表示すべきゲーム画像データやムービ映像を生成し、適宜メモリコントローラ３１およびビデオＩ／Ｆ３７を介してモニタ２に出力する。
【００３２】
メインメモリ３３は、ＣＰＵ３０で使用される記憶領域であって、ＣＰＵ３０の処理に必要なゲームプログラム等を適宜記憶する。例えば、メインメモリ３３は、ＣＰＵ３０によって光ディスク４から読み出されたゲームプログラムや各種データ等を記憶する。このメインメモリ３３に記憶されたゲームプログラムや各種データ等が、ＣＰＵ３０によって実行される。
【００３３】
ＤＳＰ３４は、ゲームプログラム実行時にＣＰＵ３０において生成されるサウンドデータ等を処理するものであり、そのサウンドデータ等を記憶するためのＡＲＡＭ３５が接続される。ＡＲＡＭ３５は、ＤＳＰ３４が所定の処理（例えば、先読みしておいたゲームプログラムやサウンドデータの記憶）を行う際に用いられる。ＤＳＰ３４は、ＡＲＡＭ３５に記憶されたサウンドデータを読み出し、メモリコントローラ３１およびオーディオＩ／Ｆ３９を介してモニタ２に備えるスピーカ２ａに出力させる。
【００３４】
メモリコントローラ３１は、データ転送を統括的に制御するものであり、上述した各種Ｉ／Ｆが接続される。上述したように通信ユニット６は、コントローラ７からの送信データを受信し、当該送信データをＣＰＵ３０へ出力する。また、通信ユニット６は、ＣＰＵ３０から出力された送信データをコントローラ７の通信部７５へ送信する。ビデオＩ／Ｆ３７には、モニタ２が接続される。オーディオＩ／Ｆ３９にはモニタ２に内蔵されるスピーカ２ａが接続され、ＤＳＰ３４がＡＲＡＭ３５から読み出したサウンドデータやディスクドライブ４０から直接出力されるサウンドデータをスピーカ２ａから出力可能に接続される。ディスクＩ／Ｆ４１には、ディスクドライブ４０が接続される。ディスクドライブ４０は、所定の読み出し位置に配置された光ディスク４に記憶されたデータを読み出し、ゲーム装置本体５のバスやオーディオＩ／Ｆ３９に出力する。
【００３５】
図３および図４を参照して、コントローラ７について説明する。なお、図３は、コントローラ７の上面後方から見た斜視図である。図４は、コントローラ７を下面前方から見た斜視図である。
【００３６】
図３および図４において、コントローラ７は、例えばプラスチック成型によって形成されたハウジング７１を有しており、当該ハウジング７１に複数の操作部７２が設けられている。ハウジング７１は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。
【００３７】
ハウジング７１上面の中央前面側に、十字キー７２ａが設けられる。この十字キー７２ａは、十字型の４方向プッシュスイッチであり、４つの方向（前後左右）に対応する操作部分が十字の突出片にそれぞれ９０°間隔で配置される。プレイヤが十字キー７２ａのいずれかの操作部分を押下することによって前後左右いずれかの方向を選択される。例えばプレイヤが十字キー７２ａを操作することによって、仮想ゲーム世界に登場するプレイヤキャラクタ等の移動方向を指示したり、複数の選択肢から選択指示したりすることができる。
【００３８】
なお、十字キー７２ａは、上述したプレイヤの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、十字方向に４つのプッシュスイッチを配設し、プレイヤによって押下されたプッシュスイッチに応じて操作信号を出力する操作部を設けてもかまわない。さらに、上記４つのプッシュスイッチとは別に、上記十字方向が交わる位置にセンタスイッチを配設し、４つのプッシュスイッチとセンタスイッチとを複合した操作部を設けてもかまわない。また、ハウジング７１上面から突出した傾倒可能なスティック（いわゆる、ジョイスティック）を倒すことによって、傾倒方向に応じて操作信号を出力する操作部を上記十字キー７２ａの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー７２ａの代わりに設けてもかまわない。また、タッチパッドを、上記十字キー７２ａの代わりに設けてもかまわない。
【００３９】
ハウジング７１上面の十字キー７２ａより後面側に、複数の操作ボタン７２ｂ〜７２ｇが設けられる。操作ボタン７２ｂ〜７２ｇは、プレイヤがボタン頭部を押下することによって、それぞれの操作ボタン７２ｂ〜７２ｇに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン７２ｂ〜７２ｄには、１番ボタン、２番ボタン、およびＡボタン等としての機能が割り当てられる。また、操作ボタン７２ｅ〜７２ｇには、マイナスボタン、ホーム（ＨＯＭＥ）ボタン、およびプラスボタン等としての機能が割り当てられる。これら操作ボタン７２ａ〜７２ｇは、ゲーム装置本体５が実行するゲームプログラムに応じてそれぞれの操作機能が割り当てられる。なお、図３に示した配置例では、操作ボタン７２ｂ〜７２ｄは、ハウジング７１上面の中央前後方向に沿って並設されている。また、操作ボタン７２ｅ〜７２ｇは、ハウジング７１上面の左右方向に沿って操作ボタン７２ｂおよび７２ｄの間に並設されている。そして、操作ボタン７２ｆは、その上面がハウジング７１の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【００４０】
また、ハウジング７１上面の十字キー７２ａより前面側に、操作ボタン７２ｈが設けられる。操作ボタン７２ｈは、遠隔からゲーム装置本体５の電源をオン／オフする電源スイッチである。この操作ボタン７２ｈも、その上面がハウジング７１の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【００４１】
また、ハウジング７１上面の操作ボタン７２ｃより後面側に、複数のＬＥＤ７０２が設けられる。ここで、コントローラ７は、他のコントローラ７と区別するためにコントローラ種別（番号）が設けられている。例えば、ＬＥＤ７０２は、コントローラ７に現在設定されている上記コントローラ種別をプレイヤに通知するために用いられる。具体的には、コントローラ７から通信ユニット６へ送信データを送信する際、上記コントローラ種別に応じて複数のＬＥＤ７０２のうち、種別に対応するＬＥＤが点灯する。また、ＬＥＤ７０２は、コントローラ７に取り付けられている電池残量を示すこともできる。具体的には、後述するコントローラ７に内蔵されるＡＤ（Ａｎａｌｏｇ  ｔｏ  Ｄｉｇｉｔａｌ）コンバータによる電池電圧計測結果に応じて、複数のＬＥＤ７０２のうち、電池電圧に対応するＬＥＤが点灯する。例えば、電池電圧が最大のときに全てのＬＥＤ７０２を点灯させ、電池電圧が低下することに応じてＬＥＤ７０２が点灯する数や明るさを漸減的に減少させて、電池電圧が最小のときに全てのＬＥＤ７０２を消灯する。
【００４２】
また、ハウジング７１上面には、操作ボタン７２ｂおよび操作ボタン７２ｅ〜７２ｇの間に後述するスピーカ（図５のスピーカ７０６）からの音を外部に放出するための音抜き孔が形成されている。
【００４３】
一方、ハウジング７１下面には、凹部が形成されている。ハウジング７１下面の凹部は、プレイヤがコントローラ７の前面をマーカ８Ｌおよび８Ｒに向けて片手で把持したときに、当該プレイヤの人差し指や中指が位置するような位置に形成される。そして、上記凹部の後面側傾斜面には、操作ボタン７２ｉが設けられる。操作ボタン７２ｉは、例えばＢボタンとして機能する操作部である。
【００４４】
また、ハウジング７１前面には、撮像情報演算部７４の一部を構成する撮像素子７４３が設けられる。ここで、撮像情報演算部７４は、コントローラ７が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大２００フレーム／秒程度のサンプリング周期であるため比較的高速なコントローラ７の動きでも追跡して解析することができる。この撮像情報演算部７４の詳細な構成については、後述する。また、ハウジング７０の後面には、コネクタ７３が設けられている。コネクタ７３は、例えばエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。
【００４５】
次に、図５および図６を参照して、コントローラ７の内部構造について説明する。なお、図５は、コントローラ７の上筐体（ハウジング７１の一部）を外した状態を後面側から見た斜視図である。図６は、コントローラ７の下筐体（ハウジング７１の一部）を外した状態を前面側から見た斜視図であり、内蔵する電池を取り外した状態を示している。ここで、図６に示す基板７００は、図５に示す基板７００の裏面から見た斜視図となっている。
【００４６】
図５において、ハウジング７１の内部には基板７００が固設されており、当該基板７００の上主面上に操作ボタン７２ａ〜７２ｈ、加速度センサ７０１、ＬＥＤ７０２、およびアンテナ７５４等が設けられる。そして、これらは、基板７００等に形成された配線（図示せず）によってマイコン７５１等（図６、図７参照）に接続される。また、図示しない無線モジュール７５３（図７参照）およびアンテナ７５４によって、コントローラ７がワイヤレスコントローラとして機能する。なお、ハウジング７１内部には図示しない水晶振動子７０３が設けられており、後述するマイコン７５１の基本クロックを生成する。また、基板７００の上主面上に、スピーカ７０６およびアンプ７０８が設けられる。また、加速度センサ７０１は、操作ボタン７２ｄの左側の基板７００上（つまり、基板７００の中央部ではなく周辺部）に設けられる。したがって、加速度センサ７０１は、コントローラ７の長手方向を軸とした回転に応じて、重力加速度の方向変化に加え、遠心力による成分が含まれる加速度を検出することができるので、所定の演算により、検出される加速度データからコントローラ７の回転を良好な感度でゲーム装置本体５等が判定することができる。
【００４７】
一方、図６において、基板７００の下主面上の前端縁に撮像情報演算部７４が設けられる。撮像情報演算部７４は、コントローラ７の前方から順に赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、および画像処理回路７４４によって構成されており、それぞれ基板７００の下主面に取り付けられる。また、基板７００の下主面上の後端縁にコネクタ７３が取り付けられ、下主面中央部に電池を取り付ける端子７０９が設けられている。さらに、基板７００の下主面上にサウンドＩＣ７０７およびマイコン７５１が設けられている。サウンドＩＣ７０７は、基板７００等に形成された配線によってマイコン７５１およびアンプ７０８と接続され、ゲーム装置本体５から送信されたサウンドデータに応じてアンプ７０８を介してスピーカ７０６に音声信号を出力する。
【００４８】
そして、基板７００の下主面上には、バイブレータ７０４が取り付けられる。バイブレータ７０４は、例えば振動モータやソレノイドである。バイブレータ７０４は、基板７００等に形成された配線によってマイコン７５１と接続され、ゲーム装置本体５から送信された振動データに応じてその作動をオン／オフする。バイブレータ７０４が作動することによってコントローラ７に振動が発生するので、それを把持しているプレイヤの手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。ここで、バイブレータ７０４は、ハウジング７１のやや前方寄りに配置されるため、プレイヤが把持している状態において、ハウジング７１が大きく振動することになり、振動を感じやすくなる。
【００４９】
次に、図７を参照して、コントローラ７の内部構成について説明する。なお、図７は、コントローラ７の構成を示すブロック図である。
【００５０】
図７において、コントローラ７は、上述した操作部７２、撮像情報演算部７４、加速度センサ７０１、バイブレータ７０４、スピーカ７０６、サウンドＩＣ７０７、およびアンプ７０８の他に、その内部に通信部７５を備えている。
【００５１】
撮像情報演算部７４は、赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、および画像処理回路７４４を含んでいる。赤外線フィルタ７４１は、コントローラ７の前方から入射する光から赤外線のみを通過させる。レンズ７４２は、赤外線フィルタ７４１を透過した赤外線を集光して撮像素子７４３へ出射する。撮像素子７４３は、例えばＣＭＯＳセンサやあるいはＣＣＤのような固体撮像素子であり、レンズ７４２が集光した赤外線を撮像する。したがって、撮像素子７４３は、赤外線フィルタ７４１を通過した赤外線だけを撮像して画像データを生成する。撮像素子７４３で生成された画像データは、画像処理回路７４４で処理される。具体的には、画像処理回路７４４は、撮像素子７４３から得られた画像データを処理して高輝度部分を検知し、それらの位置座標や面積を検出した結果を示す処理結果データを通信部７５へ出力する。なお、これらの撮像情報演算部７４は、コントローラ７のハウジング７１に固設されており、ハウジング７１自体の方向を変えることによってその撮像方向を変更することができる。
【００５２】
コントローラ７は、３軸（Ｘ、Ｙ、Ｚ軸）の加速度センサ７０１を備えていることが好ましい。この３軸の加速度センサ７０１は、３方向、すなわち、上下方向（Ｙ軸）、左右方向（Ｘ軸）、および前後方向（Ｚ軸）で直線加速度を検知する。例えば、これらの加速度センサ７０１は、アナログ・デバイセズ株式会社（Ａｎａｌｏｇ  Ｄｅｖｉｃｅｓ，  Ｉｎｃ．）またはＳＴマイクロエレクトロニクス社（ＳＴＭｉｃｒｏｅｌｅｃｔｒｏｎｉｃｓ  Ｎ．Ｖ．）から入手可能であるタイプのものでもよい。加速度センサ７０１は、シリコン微細加工されたＭＥＭＳ（Ｍｉｃｒｏ  Ｅｌｅｃｔｒｏ  Ｍｅｃｈａｎｉｃａｌ  Ｓｙｓｔｅｍｓ：微小電子機械システム）の技術に基づいた静電容量式（静電容量結合式）であることが好ましい。しかしながら、既存の加速度検出手段の技術（例えば、圧電方式や圧電抵抗方式）あるいは将来開発される他の適切な技術を用いて、加速度センサ７０１が提供されてもよい。
【００５３】
加速度センサ７０１に用いられるような加速度検出手段は、加速度センサ７０１の持つ各軸に対応する直線に沿った加速度（直線加速度）のみを検知することができる。つまり、加速度センサ７０１からの直接の出力は、それら３軸のそれぞれに沿った直線加速度（静的または動的）を示す信号である。このため、加速度センサ７０１は、非直線状（例えば、円弧状）の経路に沿った動き、回転、回転運動、角変位、傾斜、位置、または姿勢等の物理特性を直接検知することはできない。
【００５４】
しかしながら、加速度センサ７０１から出力される加速度の信号に対して追加の処理を行うことによって、コントローラ７に関するさらなる情報を推測または算出（判定）することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、静的な加速度（重力加速度）が検知されると、加速度センサ７０１からの出力を用いて、傾斜角度と検知された加速度とを用いた演算によって重力ベクトルに対する対象（コントローラ７）の傾きを判定することができる。このように、加速度センサ７０１をマイコン７５１（またはゲーム装置本体５に含まれるＣＰＵ３０等の他のプロセッサ）と組み合わせて用いることによって、コントローラ７の傾き、姿勢、または位置を判定することができる。同様に、加速度センサ７０１を備えるコントローラ７がプレイヤの手で動的に加速されて動かされる場合に、加速度センサ７０１によって生成される加速度信号を処理することによって、コントローラ７の様々な動きおよび／または位置を算出することができる。他の実施例では、加速度センサ７０１は、信号をマイコン７５１に出力する前に内蔵の加速度検出手段から出力される加速度信号に対して所望の処理を行うための、組込み式の信号処理装置または他の種類の専用の処理装置を備えていてもよい。例えば、組込み式または専用の処理装置は、加速度センサ７０１が静的な加速度（例えば、重力加速度）を検出するためのものである場合、検知された加速度信号をそれに相当する傾斜角（あるいは、他の好ましいパラメータ）に変換するものであってもよい。加速度センサ７０１でそれぞれ検知された加速度を示すデータは、通信部７５に出力される。
【００５５】
通信部７５は、マイクロコンピュータ（Ｍｉｃｒｏ  Ｃｏｍｐｕｔｅｒ：マイコン）７５１、メモリ７５２、無線モジュール７５３、およびアンテナ７５４を含んでいる。マイコン７５１は、処理の際にメモリ７５２を記憶領域として用いながら、送信データを無線送信する無線モジュール７５３を制御する。また、マイコン７５１は、ＡＤコンバータを含んでおり、操作部７２、加速度センサ７０１、および撮像情報演算部７４からそれぞれ出力されるアナログ信号をデジタル信号に変換して送信データを生成する。ここで、本実施形態では、マイコン７５１に含まれるＡＤコンバータを用いてコントローラ７に取り付けられる電池電圧を計測しており、適宜電池電圧を計測して当該電池電圧を示すデジタルデータも送信データとして送信される。また、マイコン７５１は、アンテナ７５４を介して無線モジュール７５３が受信したゲーム装置本体５からのデータに応じて、サウンドＩＣ７０７およびバイブレータ７０４の動作を制御する。サウンドＩＣ７０７は、通信部７５を介してゲーム装置本体５から送信されたサウンドデータ等を処理する。また、マイコン７５１は、通信部７５を介してゲーム装置本体５から送信された振動データ（例えば、バイブレータ７０４をＯＮまたはＯＦＦする信号）等に応じて、バイブレータ７０４を作動させる。
【００５６】
コントローラ７に設けられた操作部７２からの操作信号（キーデータ）、加速度センサ７０１からの３軸方向の加速度信号（Ｘ、Ｙ、およびＺ軸方向加速度データ）、および撮像情報演算部７４からの処理結果データは、マイコン７５１に出力される。マイコン７５１は、入力した各データ（キーデータ、Ｘ、Ｙ、およびＺ軸方向加速度データ、処理結果データ）を通信ユニット６へ送信する送信データとして一時的にメモリ７５２に格納する。ここで、通信部７５から通信ユニット６への無線送信は、所定の周期毎に行われるが、ゲームの処理は１／６０秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は１６．７ｍｓ（１／６０秒）であり、ブルートゥース（登録商標）で構成される通信部７５の送信間隔は５ｍｓである。マイコン７５１は、通信ユニット６への送信タイミングが到来すると、メモリ７５２に格納されている送信データを一連の操作情報として出力し、無線モジュール７５３へ出力する。そして、無線モジュール７５３は、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース；登録商標）の技術を用いて、所定周波数の搬送波を用いて操作情報をその電波信号としてアンテナ７５４から放射する。つまり、コントローラ７に設けられた操作部７２からのキーデータ、加速度センサ７０１からのＸ、Ｙ、およびＺ軸方向加速度データ、および撮像情報演算部７４からの処理結果データがコントローラ７から送信される。そして、ゲーム装置本体５の通信ユニット６でその電波信号を受信し、ゲーム装置本体５で当該電波信号を復調や復号することによって、一連の操作情報（キーデータ、Ｘ、Ｙ、およびＺ軸方向加速度データ、および処理結果データ）を取得する。そして、ゲーム装置本体５のＣＰＵ３０は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。なお、Ｂｌｕｅｔｏｏｔｈ（登録商標）の技術を用いて通信部７５を構成する場合、通信部７５は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
【００５７】
また、マイコン７５１は、ゲーム装置本体５からの要求に応じて、コントローラ７の電池電圧を示す電池電圧データも送信データとして一時的にメモリ７５２に格納する。そして、上記操作情報と同様に、マイコン７５１は、通信ユニット６への送信タイミングが到来すると、メモリ７５２に格納されている電池電圧データを出力し、無線モジュール７５３を介してアンテナ７５４からゲーム装置本体５へ送信する。
【００５８】
なお、後述により明らかとなるが、本発明のゲームプログラムでは、上記送信データとして送信する各データ（キーデータ、Ｘ、Ｙ、およびＺ軸方向加速度データ、処理結果データ）のうち、少なくともキーデータおよび電池電圧データのみ送信されれば実現することができる。この場合、加速度センサ７０１や撮像情報演算部７４がコントローラ７に搭載されていなくてもかまわない。また、コントローラ７から音声を出力するための機能（スピーカ７０６、アンプ７０８、サウンドＩＣ７０７）やコントローラ７を振動させるための機能（バイブレータ７０４）もコントローラ７に搭載されていなくてもかまわない。
【００５９】
次に、ゲーム装置本体５が行う具体的な処理を説明する前に、図８〜図１０を参照して本ゲーム装置本体５で行う電池残量確認処理の概要について説明する。なお、図８は、無線切断状態になったときにモニタ２の表示画面に表示される画像の一例を示す図である。図９は、電池電圧不足に起因して無線切断状態になったときにモニタ２の表示画面に表示される画像の一例を示す図である。図１０は、プレイヤがＨＯＭＥボタン（操作ボタン７２ｆ）を押下したときにモニタ２の表示画面に表示される電池残量確認画像の一例を示す図である。
【００６０】
図８において、コントローラ７とゲーム装置本体５との間の無線通信が途切れた場合、両者の無線通信の復旧を促す報知がモニタ２に表示される。図８に示した報知例では、プレイ中のゲームが自動的に中断され、「リモコンをつなぎなおします。Ａボタンを押してください。」と無線通信の復旧を促す文章が表示される。ここで、コントローラ７とゲーム装置本体５との間の無線通信が途切れる状態は、コントローラ７に取り付けられた電池残量が低下したときの他に、無線通信ができない位置にコントローラ７が移動したとき、他の通信等に起因するノイズやゲーム装置本体５とコントローラ７との間の障害物等によって当該無線通信が妨害されるとき等がある。
【００６１】
図９において、コントローラ７の電池電圧不足に起因してコントローラ７とゲーム装置本体５との間の無線通信が途切れた場合、電池残量が低下してきたことを報知して電池残量の確認を促す報知がモニタ２に表示される。図９に示した報知例では、プレイ中のゲームが自動的に中断され、「電池が減ってきました。Ａボタンでリモコンをつなぎなおして、ＨＯＭＥボタンメニュー画面で電池の残量を確認してください。」と電池残量が低下したことを報知し電池残量の確認を促す文章が表示される。
【００６２】
なお、後述により明らかとなるが、モニタ２に無線通信の復旧を促す画像（図８）や電池残量の確認を促す画像（図９）は、実行中のゲーム処理を中断して表示される。したがって、ゲーム処理によるゲーム画面を停止させて、これらの文字画像の背景としてもかまわない。この場合、コントローラ７の電力が不足している旨を示す文字が、中断して停止したゲーム画像上に重畳してモニタ２に表示される。
【００６３】
図１０において、プレイヤがＨＯＭＥボタン（操作ボタン７２ｆ）を押下したとき、ＨＯＭＥボタンメニューが表示される。ＨＯＭＥボタンメニューでは、現在ゲーム装置本体５との間で無線通信が行われている各コントローラ７の電池残量が表示される。例えば、図１０の例では、２つのコントローラ７（１プレイヤ（１Ｐ）および２プレイヤ（２Ｐ））がそれぞれゲーム装置本体５との間で無線通信を行っている。そして、１Ｐのコントローラ７に取り付けられた電池の残量が、電池残量確認画像ＢＶ１で示されている。また、２Ｐのコントローラ７に取り付けられた電池の残量が、電池残量確認画像ＢＶ２で示されている。ここで、電池残量確認画像ＢＶ２は、２Ｐのコントローラ７の電池残量が５段階表示の最高段階（例えば、電池電圧が２．６０Ｖ以上）にあることを示しており、電池残量の低下がないことを示している。一方、電池残量確認画像ＢＶ１は、１Ｐのコントローラ７の電池残量が５段階表示の下位から２段階目（例えば、電池電圧が２．１２Ｖ以上２．４０Ｖ未満）にあることを示しており、電池交換（充電）時期であることを示している。
【００６４】
次に、ゲームシステム１において行われる電池残量確認処理の詳細を説明する。まず、図１１を参照して、電池残量確認処理において用いられる主なデータについて説明する。なお、図１１は、ゲーム装置本体５のメインメモリ３３に記憶される主なデータを示す図である。
【００６５】
図１１に示すように、メインメモリ３３には、キーデータＤａ、電池電圧データＤｂ、電池残量データＤｃ、電池切れフラグＤｄ、バッテリーカウンタデータＤｅ、チェックタイマーデータＤｆ、ゲーム状況データＤｇ、および画像データＤｈ等が記憶される。なお、メインメモリ３３には、図１１に示す情報に含まれるデータの他、ゲーム処理に用いられるプレイヤキャラクタや他のオブジェクト等に関するデータや仮想ゲーム空間に関するデータ等、処理に必要なデータが記憶される。
【００６６】
キーデータＤａは、コントローラ７から送信データとして送信されてくる一連の操作情報に含まれるキーデータである。なお、ゲーム装置本体５に内蔵される通信ユニット６は、コントローラ７から所定間隔（例えば５ｍｓ毎）に送信される操作情報を受信し、通信ユニット６に備える図示しないバッファに蓄える。その後、ゲーム処理間隔である１フレーム毎（１／６０秒）に読み出されてメインメモリ３３のキーデータＤａが更新される。なお、コントローラ７から送信データとして送信されてくる一連の操作情報には、上述のキーデータの他に、処理結果データや加速度データが含まれるが、後述するフローチャートではこれらのデータを利用しない態様を示す。
【００６７】
電池電圧データＤｂは、コントローラ７から送信データとして送信されてくる電池電圧データである。上述したように、コントローラ７のマイコン７５１は、ゲーム装置本体５からの要求に応じて、コントローラ７の電池電圧を示す電池電圧データも送信データとして送信している。そして、電池電圧データＤｂは、コントローラ７毎に管理され、受信した電池電圧データにそれぞれ更新される。例えば、コントローラ７から送信される電池電圧データは、電池電圧が２．１Ｖ〜３．６Ｖ間の何れの値であるのかを示すデータであり、電池電圧２．１Ｖを０、電池電圧３．６Ｖを２５５とした２５６階調で表現される値で示されている。
【００６８】
電池残量データＤｃは、受信したコントローラ７毎の電池電圧データに基づいて、電池残量をそれぞれ複数段階（例えば、５段階）に分別して評価したデータである。例えば、電池残量データは、最高レベル（ＭＡＸ；２．６０Ｖ以上）、高レベル（ＨＩＧＨ；２．５０Ｖ以上）、中レベル（ＭＥＤＩＵＭ；２．４０Ｖ以上）、低レベル（ＬＯＷ；２．１２Ｖ以上）、および危険レベル（ＣＲＩＴＩＣＡＬ；２．１２Ｖ未満）の５段階に上記電池電圧データが分別される。
【００６９】
電池切れフラグＤｄは、各コントローラ７の電池残量が電池交換や再充電が必要なレベルか否かを示す電池切れフラグＦＬＢを示すデータである。例えば、電池切れフラグＦＬＢは、コントローラ７の電池残量が上記低レベルまたは危険レベルである場合、ＯＮに設定される。また、電池切れフラグＦＬＢは、コントローラ７の電池残量が上記最高レベル、高レベル、または中レベルである場合、ＯＦＦに設定される。
【００７０】
バッテリーカウンタデータＤｅは、後述する処理ループ毎に更新されるバッテリーカウンタＢＣのカウント値であり、コントローラ７の電池切れに起因して無線切断が複数回生じているか判断するためのデータである。チェックタイマーデータＤｆは、後述する処理ループ毎に更新されるチェックタイマーＣＴのカウント値であり、コントローラ７に電池電圧データを再要求する周期を制御するためのデータである。
【００７１】
ゲーム状況データＤｇは、ゲームが中断された際に、そのゲーム状況が記憶保存されるゲームデータである。画像データＤｈは、無線切断表示画像データＤｈ１、電池切れ表示画像データＤｈ２、および電池残量画像データＤｈ３等を含む。無線切断表示画像データＤｈ１は、コントローラ７とゲーム装置本体５との間の無線通信が途切れた場合に、無線通信の復旧を促すための報知画像（図８参照）を生成するためのデータである。電池切れ表示画像データＤｈ２は、コントローラ７の電池電圧不足に起因してコントローラ７とゲーム装置本体５との間の無線通信が途切れた場合に、電池残量が低下してきたことを報知して電池残量の確認を促す報知画像（図９参照）を生成するためのデータである。電池残量画像データＤｈ３は、ＨＯＭＥボタンメニューに表示される電池残量確認画像ＢＶ１〜ＢＶ４（図１０参照）を生成するためのデータである。
【００７２】
次に、図１２〜図１６を参照して、ゲーム装置本体５において行われる電池残量確認処理の詳細を説明する。なお、図１２は、ゲーム装置本体５において実行される電池残量確認処理の流れを示すフローチャートである。図１３は、図１２におけるステップ１５のバッテリーカウンタ更新処理の詳細な動作を示すサブルーチンである。図１４は、図１２におけるステップ１６の中断解除処理の詳細な動作を示すサブルーチンである。図１５は、図１２におけるステップ１９の無線切断処理の詳細な動作を示すサブルーチンである。図１６は、図１５におけるステップ５７のバッテリーチェック処理の詳細な動作を示すサブルーチンである。なお、図１２〜図１６に示すフローチャートにおいては、ゲーム処理のうち、電池残量確認処理について主に説明し、本願発明と直接関連しない他のゲーム処理については詳細な説明を省略する。また、図１２〜図１６では、ＣＰＵ３０が実行する各ステップを「Ｓ」と略称する。また、図１２〜図１６に示すフローチャートは、ゲーム装置本体５に複数のコントローラ７が無線接続されているときはコントローラ７毎にそれぞれ動作するが、以下の説明では、１つのコントローラ７が接続されている例を用いる。
【００７３】
ゲーム装置本体５の電源が投入されると、ゲーム装置本体５のＣＰＵ３０は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、これによってメインメモリ３３等の各ユニットが初期化される。そして、光ディスク４に記憶されたゲームプログラムがメインメモリ３３に読み込まれ、ＣＰＵ３０によって当該ゲームプログラムの実行が開始される。図１２〜図１６に示すフローチャートは、以上の処理が完了した後に行われる電池残量確認処理を示すフローチャートである。
【００７４】
図１２において、ＣＰＵ３０は、電池残量確認処理の初期処理を行い（ステップ１１）、処理を次のステップに進める。例えば、ＣＰＵ３０は、バッテリーカウンタＢＣのカウント値を０に設定してバッテリーカウンタデータＤｅを更新する。また、ＣＰＵ３０は、コントローラ７との間で無線接続を確立して、コントローラ７から当該コントローラ７に関する情報（コントローラＩＤ、電池電圧データ等）を取得する。そして、ＣＰＵ３０は、取得した電池電圧データを用いて電池残量データを算出して、電池電圧データＤｂおよび電池残量データＤｃに格納する。例えば、ＣＰＵ３０は、取得した電池電圧データが示す２５６階調の電池電圧値を、上記５段階に分別して電池残量レベルを設定して電池残量データとする。
【００７５】
次に、ＣＰＵ３０は、一連の操作情報を取得してゲーム処理を行って（ステップ１２）、処理を次のステップに進める。例えば、ＣＰＵ３０は、コントローラ７から送信された一連の操作情報を取得して、メインメモリ３３に格納する。そして、ＣＰＵ３０は、コントローラ７から取得して更新されたキーデータＤａ等に応じて、仮想ゲーム空間に登場するプレイヤキャラクタを動作させて、当該仮想ゲーム空間をモニタ２に表示する。なお、ステップ１２で実行するゲーム処理は、プレイヤがプレイするゲームに応じて様々な処理が行われるが、ここでは詳細な説明を省略する。
【００７６】
次に、ＣＰＵ３０は、プレイヤがコントローラ７のＨＯＭＥボタンを押下したか否かを判断する（ステップ１３）。例えば、ＣＰＵ３０は、キーデータＤａを参照して、プレイヤがコントローラ７のＨＯＭＥボタンを押下したことを示すキーデータを受信しているか否かを判断する。そして、ＣＰＵ３０は、ＨＯＭＥボタンが押下された場合、次のステップ１４に処理を進める。一方、ＣＰＵ３０は、ＨＯＭＥボタンが押下されていない場合、次のステップ１５に処理を進める。
【００７７】
ステップ１４において、ＣＰＵ３０は、現在処理中のゲームを中断して、ＨＯＭＥボタンメニュー（図１０参照）をモニタ２に表示し、次のステップ１５に処理を進める。例えば、ＣＰＵ３０は、ゲームを中断するとき、そのゲーム状況をゲーム状況データＤｇに格納する。また、ＣＰＵ３０は、ＨＯＭＥボタンメニューをモニタ２に表示する際、現在のコントローラ７の電池残量を示す電池残量確認画像ＢＶ１〜ＢＶ４をモニタ２に表示する。ここで、電池残量確認画像ＢＶ１〜ＢＶ４は、電池残量データＤｃに格納されている各コントローラ７の電池残量（例えば、電池残量が複数段階に分別されたレベルデータ）を参照して、それらの電池残量が表示される。ここで、ゲーム装置本体５に接続されていないコントローラ７については、その電池残量がブランク（例えば、図１０の電池残量確認画像ＢＶ３およびＢＶ４に示すような濃度が薄い電池マーク）で示される。プレイヤは、ＨＯＭＥボタンを押下することによって、モニタ２の表示画面で自身が操作するコントローラ７や他のプレイヤが操作するコントローラ７の電池残量を確認することができる。
【００７８】
ステップ１５において、ＣＰＵ３０は、バッテリーカウンタ更新処理を行い、処理を次のステップに進める。以下、図１３を参照して、バッテリーカウンタ更新処理の詳細な動作について説明する。
【００７９】
図１３において、ＣＰＵ３０は、バッテリーカウンタデータＤｅに格納されているバッテリーカウンタＢＣのカウント値を参照し、バッテリーカウンタＢＣのカウント値が０より大きい数値か否かを判断する（ステップ２１）。そして、ＣＰＵ３０は、バッテリーカウンタＢＣのカウント値が０より大きい数値である場合、次のステップ２２に処理を進める。一方、ＣＰＵ３０は、バッテリーカウンタＢＣのカウント値が０である場合、そのまま当該サブルーチンによる処理を終了する。
【００８０】
ステップ２２において、ＣＰＵ３０は、バッテリーカウンタデータＤｅに格納されているバッテリーカウンタＢＣのカウント値から１を減算して、バッテリーカウンタデータＤｅを更新し、当該サブルーチンによる処理を終了する。
【００８１】
図１２に戻り、ステップ１５のバッテリーカウンタ更新処理の後、ＣＰＵ３０は、中断解除処理を行い、処理を次のステップに進める。以下、図１４を参照して、中断解除処理の詳細な動作について説明する。
【００８２】
図１４において、ＣＰＵ３０は、現在ゲームが中断中であるか否かを判断する（ステップ４１）。そして、ＣＰＵ３０は、ゲームが中断中である場合、次のステップ４２に処理を進める。一方、ＣＰＵ３０は、ゲームが中断中でない場合、そのまま当該サブルーチンによる処理を終了する。
【００８３】
ステップ４２において、プレイヤがゲーム中断を解除する解除ボタンを押下したか否かを判断する。例えば、ＣＰＵ３０は、キーデータＤａを参照して、プレイヤがコントローラ７の解除ボタン（操作部７２の何れかであり、ゲームが中断されているモードに応じて異なる操作ボタンであってもかまわない）を押下したことを示すキーデータを受信しているか否かを判断する。そして、ＣＰＵ３０は、解除ボタンが押下された場合、次のステップ４３に処理を進める。一方、ＣＰＵ３０は、解除ボタンが押下されていない場合、そのまま当該サブルーチンによる処理を終了する。
【００８４】
ステップ４３において、ＣＰＵ３０は、ゲーム状況データＤｇに格納されているデータを読み出す。そして、ＣＰＵ３０は、読み出したゲーム状況データに基づいて、ゲーム再開処理を行って（ステップ４４）、当該サブルーチンによる処理を終了する。例えば、ＣＰＵ３０は、上記ステップ４３で読み出したゲーム状況データに基づいて、中断前に行われていたゲーム処理状態を再現し、ゲーム中断前のゲーム状況をモニタ２に表示してゲーム再開処理を行う。
【００８５】
図１２に戻り、ステップ１６の中断解除処理の後、ＣＰＵ３０は、ゲームを終了するか否かを判断する（ステップ１７）。ゲームを終了する条件としては、例えば、ゲームオーバーとなる条件が満たされたことや、プレイヤがゲームを終了する操作を行ったこと等がある。ＣＰＵ３０は、ゲームを終了しない場合に次のステップ１８に処理を進め、ゲームを終了する場合に当該フローチャートによる処理を終了する。
【００８６】
ステップ１８において、ＣＰＵ３０は、ゲーム装置本体５とコントローラ７との間の無線通信が切断されたか否かを検出する。そして、ＣＰＵ３０は、無線通信が切断された場合、次のステップ１９に処理を進める。一方、ＣＰＵ３０は、無線通信が切断されていない場合、上記ステップ１２に戻って、処理を繰り返す。
【００８７】
ここで、ゲーム装置本体５とコントローラ７との間の無線通信が切断されたことを確認する方法は、様々な方法を用いてもかまわない。第１の例として、コントローラ７側でゲーム装置本体５との無線通信状況を監視し、当該無線通信が一時的に途切れたときに切断コマンドをコントローラ７からゲーム装置本体５に送信する。ＣＰＵ３０は、この明示的な切断コマンドをコントローラ７から受信することによって、一時的に無線通信が切断されたことを検出する。第２の例として、ゲーム装置本体５からコントローラ７へ無線通信が正常に行われていることを確認するための切断コマンドを送信し、当該切断コマンドに対して肯定を意味する返信（例えば、ＡＣＫ；ＡＣＫｎｏｗｌｅｇｅｍｅｎｔ）を用いて無線通信の切断を検出する。ＣＰＵ３０は、コントローラ７からの返信内容に応じて、無線通信が切断されたことを検出する。第３の例として、ゲーム装置本体５が特定のコントローラ７から所定時間以上（例えば、２秒間）信号を受信できないとき、当該コントローラ７との間の無線通信が切断されたとする。ＣＰＵ３０は、コントローラ７からの信号受信状況を監視することによって、無線通信が切断されたことを検出する。
【００８８】
ステップ１９において、ＣＰＵ３０は、無線切断処理を行い、上記ステップ１２に戻って、処理を繰り返す。以下、図１５を参照して、無線切断処理の詳細な動作について説明する。
【００８９】
図１５において、ＣＰＵ３０は、現在処理中のゲームを中断して（ステップ５１）、そのゲーム状況をゲーム状況データＤｇに記憶保存して（ステップ５２）、次のステップに処理を進める。
【００９０】
次に、ＣＰＵ３０は、バッテリーカウンタデータＤｅに格納されているバッテリーカウンタＢＣのカウント値を参照し、バッテリーカウンタＢＣのカウント値が０であるか否かを判断する（ステップ５３）。そして、ＣＰＵ３０は、バッテリーカウンタＢＣのカウント値が０である場合、次のステップ５４に処理を進める。一方、ＣＰＵ３０は、バッテリーカウンタＢＣのカウント値が０でない（つまり、０より大きい数値）場合、次のステップ５５に処理を進める。
【００９１】
ステップ５４において、ＣＰＵ３０は、モニタ２の表示画面に無線通信の復旧を促す報知画像（図８参照）を表示し、次のステップ５６に処理を進める。後述により明らかとなるが、ステップ５４の処理は、何らかの原因によってコントローラ７とゲーム装置本体５との間の無線通信が途切れた場合に表示する処理であり、ゲームを一時的に中断してプレイヤに対して無線通信の復旧を促す報知画像が表示される。
【００９２】
ステップ５５において、モニタ２の表示画面に電池残量が低下してきたことを報知して電池残量の確認を促す報知画像（図９参照）を表示し、次のステップ５６に処理を進める。後述により明らかとなるが、ステップ５５の処理は、無線通信が一度切断され、次に無線通信が接続されたときに電池残量の低下が確認され、再度所定時間内にコントローラ７とゲーム装置本体５との間の無線通信の切断が生じたときに表示する処理であり、ゲームを一時的に中断してプレイヤに電池残量が低下してきたことを報知して電池残量の確認を促す報知画像が表示される。
【００９３】
なお、上記ステップ５４で表示される無線通信の復旧を促す報知画像（図８）や、上記ステップ５５で表示される電池残量の確認を促す報知画像（図９）は、実行中のゲーム処理を中断して表示される。したがって、ゲーム処理によるゲーム画面を停止させて、当該ゲーム画面をこれらの画像の背景としてもかまわない。例えば、上記ステップ５５においては、コントローラ７の電力が不足している旨を示す文字が、中断して停止したゲーム画像上に重畳してモニタ２に表示される。
【００９４】
ステップ５６において、ＣＰＵ３０は、コントローラ７とゲーム装置本体５との間の無線通信が復旧するのを待つ。例えば、ＣＰＵ３０は、プレイヤがコントローラ７のＡボタン（操作ボタン７２ｄ）を押下したことに応じて、当該コントローラ７との間で無線接続を確立する処理を行う。また、ＣＰＵ３０は、特にプレイヤの操作を待たずに無線通信可能なコントローラ７との無線接続を確立する処理を行ってもかまわない。そして、無線通信が復旧した場合（ステップ５６でＹｅｓ）、ＣＰＵ３０は、バッテリーチェック処理を行い、処理を次のステップに進める。以下、図１６を参照して、バッテリーチェック処理の詳細な動作について説明する。
【００９５】
図１６において、ＣＰＵ３０は、チェックタイマーデータＤｆに格納されているチェックタイマーＣＴのカウント値を０に設定して更新して（ステップ６１）、処理を次のステップに進める。
【００９６】
次に、ＣＰＵ３０は、無線通信が切断されて復旧したコントローラ７に対して、電池残量をチェックするバッテリーチェック命令を送信し（ステップ６２）、処理を次のステップに進める。例えば、ＣＰＵ３０は、コントローラ７に関する情報（コントローラＩＤ、電池電圧データ等）を取得する関数を実行することによって、バッテリーチェック命令をコントローラ７へ送信する。
【００９７】
次に、ＣＰＵ３０は、バッテリーチェック命令を送信したコントローラ７からチェック結果を受信したか否かを判断する（ステップ６３）。そして、ＣＰＵ３０は、コントローラ７からチェック結果を受信した場合、次のステップ６６に処理を進める。一方、ＣＰＵ３０は、コントローラ７からチェック結果を受信していない場合、次のステップ６４に処理を進める。
【００９８】
ステップ６４において、ＣＰＵ３０は、チェックタイマーデータＤｆに格納されているチェックタイマーＣＴのカウント値に１を加算してチェックタイマーデータＤｆを更新する。そして、ＣＰＵ３０は、チェックタイマーＣＴのカウント値が３００より大きい数値か否かを判断する（ステップ６５）。そして、ＣＰＵ３０は、チェックタイマーＣＴのカウント値が３００以下の数値である場合、上記ステップ６３に戻って処理を繰り返す。一方、ＣＰＵ３０は、チェックタイマーＣＴのカウント値が３００より大きな数値である場合、上記ステップ６１に戻って処理を繰り返す。これらステップ６１〜ステップ６５の処理によって、ゲーム装置本体５がコントローラ７からチェック結果を受信するまで、３００処理回数毎（ゲームの処理が１／６０秒単位である場合、５秒間毎）にバッテリーチェック命令を送信することになる。
【００９９】
ステップ６６において、ＣＰＵ３０は、コントローラ７から受信したチェック結果に含まれる電池電圧データを用いて電池残量を算出し、電池電圧データおよび電池残量データを用いて電池電圧データＤｂおよび電池残量データＤｃをそれぞれ更新して、処理を次のステップに進める。例えば、コントローラ７から取得する電池電圧データは、コントローラ７に取り付けられた電池電圧が２５６階調で表現される値であり、この電池電圧を上記５段階に分別して評価することによって電池残量データが算出される。
【０１００】
次に、ＣＰＵ３０は、上記ステップ６６で算出したコントローラ７の電池残量が所定レベル以下であるか否かを判断する（ステップ６７）。例えば、ＣＰＵ３０は、コントローラ７の電池残量が上記低レベルまたは危険レベルである場合、電池切れフラグＦＬＢをＯＮに設定して電池切れフラグＤｄに格納し（ステップ６８）、当該サブルーチンによる処理を終了する。一方、ＣＰＵ３０は、コントローラ７の電池残量が上記最高レベル、高レベル、または中レベルである場合、電池切れフラグＦＬＢをＯＦＦに設定して電池切れフラグＤｄに格納し（ステップ６９）、当該サブルーチンによる処理を終了する。
【０１０１】
なお、上記ステップ６７の判定基準を電池残量レベルで設定しているが、コントローラ７から取得した電池電圧データが示す電圧値を用いた判定基準であってもかまわない。例えば、コントローラ７の電池電圧が閾値未満（２．４０Ｖ未満）である場合にステップ６８の処理を行い、コントローラ７の電池電圧が閾値以上（２．４０Ｖ以上）である場合にステップ６９の処理を行ってもかまわない。
【０１０２】
また、上記ステップ６７〜ステップ６９の処理では、電池切れフラグＦＬＢのＯＮ／ＯＦＦを切り替える閾値を１つにしているが、電池切れフラグＦＬＢをＯＦＦからＯＮに切り替える閾値と電池切れフラグＦＬＢをＯＮからＯＦＦに切り替える閾値とを別に設定してもかまわない。例えば、電池切れフラグＦＬＢをＯＮからＯＦＦに切り替える閾値を電池切れフラグＦＬＢをＯＦＦからＯＮに切り替える閾値より高く設定することによって、微量だけ電池電圧が一時的に復活しても電池切れフラグＦＬＢがＯＮに設定されるため、閾値に対して誤差程度の電池電圧の復活が除外されて適切な電池電圧の判定が可能となる。
【０１０３】
図１５に戻り、ステップ５７のバッテリーチェック処理の後、ＣＰＵ３０は、電池切れフラグＤｄに記憶されている電池切れフラグＦＬＢがＯＮに設定されているか否かを判断する。そして、ＣＰＵ３０は、電池切れフラグＦＬＢがＯＮに設定されている場合、バッテリーカウンタＢＣのカウント値を１８００に設定してバッテリーカウンタデータＤｅを更新し（ステップ５９）、当該サブルーチンによる処理を終了する。一方、ＣＰＵ３０は、電池切れフラグＦＬＢがＯＮに設定されている場合、そのまま当該サブルーチンによる処理を終了する。
【０１０４】
ここで、バッテリーカウンタＢＣの初期カウント値は０である（上記ステップ１１参照）。しかしながら、上記ステップ５３〜ステップ５９の処理から明らかなように、一度無線通信が切断されたときにコントローラ７の電池残量が所定レベル以下であれば、バッテリーカウンタＢＣのカウント値が１８００に設定されて上記ステップ１５の処理で減算されていく。そして、バッテリーカウンタＢＣのカウント値が０になる前に再度無線通信が切断されたときに、モニタ２に電池切れの報知画像が表示される。
【０１０５】
このように、本実施形態に係るゲーム装置３は、コントローラ７の電池残量および無線通信の切断状況の一方のみでなく、両者の判定を連携させてコントローラ７の電池切れを判定して、モニタ２の表示画面に電池切れレベルになったことをプレイヤに報知する。そして、プレイヤが所定の操作ボタンを押下することによって、自身が所持するコントローラ７の電池残量をモニタ２の表示画面で確認することができる。このとき、ゲーム進行を視認して楽しむモニタ２の表示画面に電池切れを示す画像が表示されるため、プレイヤが電池切れに気付かずにプレイを続行することはない。また、自動的にゲームが中断して、そのゲーム状況が記録保存されるため、プレイヤがコントローラ７の乾電池の交換や充電池の再充電を終えるまで、不本意にゲームが進んでしまうことがない。
【０１０６】
また、コントローラ７の電池残量および無線通信の切断状況を連携させてコントローラ７の電池切れを判定することによって、以下のような効果が期待できる。上述したような無線通信によってゲーム装置本体５を操作するコントローラ７を用いる場合、一般的に当該無線通信を行うための電池消費量が大きいために、電池残量が低下すると最初に無線通信に対する不具合（例えば、一時的な無線通信の切断）が生じやすい。したがって、コントローラ７の電池残量に対する判定基準は、上記無線通信機能を考慮して設定することになる。一方、コントローラ７とゲーム装置本体５との距離に応じて両者の無線通信が可能となる電池電圧が変化する等、操作環境や装置バラツキ等によって上記無線通信機能を確保できる電池残量を固定することは難しい。
【０１０７】
例えば、コントローラ７の電池残量データのみを用いてコントローラ７の電池切れを判定する場合、無線通信機能の確保を優先にすると、まだコントローラ７とゲーム装置本体５との無線通信が充分可能である状態にあるのに電池切れ判定をすることがあり、電池使用に対して無駄が生じる。また、コントローラ７における電池電圧チェックや電池電圧データの送受信を頻繁に行うことが必要となり、無線通信帯域の圧迫、処理負荷や電池消費の悪化を招くことになる。一方、コントローラ７の無線通信機能が停止するレベルを電池残量データに対する判定基準に設定すると、電池切れ判定後に無線通信の復旧が期待できない。したがって、上述したような動作が不可能となり、最終的な電池電圧確認結果をコントローラ７からゲーム装置本体５へ送信できない事態が発生することも考えられる。
【０１０８】
また、コントローラ７とゲーム装置本体５との無線通信状況のみを用いてコントローラ７の電池切れを判定する場合、上述したように電池切れ以外の原因で無線通信が切断されることもあるために電池切れの判定が非常に困難である。
【０１０９】
一方、本実施形態に係るゲーム装置３では、コントローラ７の電池残量が閾値以下に低下したことを確認しながら、その低下が現在の操作環境下で複数回無線通信の切断（所定期間内の断続的な切断）が起こりえるレベルであることを確認している。このように、無線通信の切断が発生したこと、かつ、所定値以下に電池残量が低下したことを条件にコントローラ７の電池残量が不足していると判定するので、現在の使用環境に合わせたコントローラ７の電力の不足を適切に判断することができる。上述したように、電池残量だけにより電力不足と判断すると、ハードウェアの個体差や使用状況により電池がまだ残っているのに使用できないこととなり、無線通信の切断により電力不足と判断すると、周囲環境により電池が十分に残っていても使えないことになる。例えば、コントローラ７とゲーム装置本体５との距離が短いとき、比較的低い電池電圧でも無線通信が可能となるが、このような環境で操作しているときはその環境で必要な電池電圧を安定して確保できなくなるまで、効率的に電池を使用することができる。
【０１１０】
また、本実施形態に係るゲーム装置３は、コントローラ７における電池電圧チェックや電池電圧データの送受信をゲーム処理周期毎に行わず、初期設定時と無線通信の切断が行われたタイミングとでのみ行うため、無線通信帯域の圧迫、処理負荷およびコントローラ７の電池消費を軽減することができる。しかしながら、このような効果を期待しない場合、コントローラ７における電池電圧チェックや電池電圧データの送受信を所定周期毎等、適宜繰り返して行ってもかまわない。
【０１１１】
なお、コントローラ７における電池電圧チェックや電池電圧データの送受信を、適宜繰り返して行う場合、コントローラ７とゲーム装置本体５との間の無線通信が継続的に切断されても、上述した電池残量の低下の報知を行うことができる。例えば、ＣＰＵ３０は、上記ステップ５６において、無線通信が所定期間以上復旧しない場合、無線通信が継続的な切断状態であると判断する。そして、ＣＰＵ３０は、無線通信が継続的な切断状態であり、かつ、取得した最新の電池電圧データが所定値以下の電池残量を示すものであるとき、上記ステップ５５における電池切れ表示処理を行う。この場合、モニタ２には、無線切断を報知する画像（図８参照）が表示された後、所定期間後に電池切れを報知して電池交換を促す画像が表示されることになる。この電池切れ判定方法によって、継続的な切断がコントローラ７の電池残量不足による無線通信の障害であることを適切に判断することができる。
【０１１２】
なお、上述した処理動作の上記ステップ１１において、初期処理としてコントローラ７の電池残量確認を行っている。この初期的な電池残量確認によって、ゲーム装置本体５に接続されている全てのコントローラ７に対する電池電圧データが初期的に取得できる。したがって、無線通信の切断が生じて電池残量の確認を報知されたコントローラ７のプレイヤがＨＯＭＥボタンメニューを表示したときに、他のコントローラ７を含めて全てのコントローラ７に対する電池残量を示す電池残量確認画像を表示することができる。しかしながら、このような効果を期待しない場合、初期処理ではコントローラ７の電池残量確認を行わなくてもかまわない。例えば、無線通信の切断が生じて電池残量の確認を報知されたコントローラ７の電池残量のみを示す電池残量確認画像をＨＯＭＥボタンメニューに表示する場合、無線通信の切断が生じたときのみ電池残量確認を行えば、本発明を実現することができる。
【０１１３】
また、上述した実施形態では、電池電圧の確認をコントローラ７側で行い、電池残量を示す５段階評価および電池切れフラグの設定をゲーム装置本体５側で行ったが、他の態様で各動作を行ってもかまわない。例えば、電池電圧の確認、電池残量を示す５段階評価、および電池切れフラグの設定を全てコントローラ７側で行ってもかまわない。この場合、コントローラ７から電池切れフラグを示すデータがゲーム装置本体５へ送信される。また、電池電圧の確認および電池残量を示す５段階評価をコントローラ７側で行い、電池切れフラグの設定をゲーム装置本体５側で行ってもかまわない。この場合、コントローラ７から電池残量を示す５段階評価（電池残量データ）がゲーム装置本体５へ送信される。さらに、上記電池残量を示す５段階評価を省略してもかまわない。この場合、電池電圧の確認をコントローラ７側で行い、送信された電池電圧データを用いてゲーム装置本体５側で直接電池切れフラグの設定を行う。また、上記電池残量を示す５段階評価を省略し、電池電圧の確認および電池切れフラグの設定をコントローラ７側で行ってもかまわない。この場合、コントローラ７から電池切れフラグを示すデータがゲーム装置本体５へ送信される。
【０１１４】
また、上述した説明では、コントローラ７の電池切れ状態にあることを示す画像をモニタ２に表示してプレイヤに報知したが、他の方法を用いてプレイヤに報知してもかまわない。例えば、コントローラ７の電池切れ状態にあることを示す音声や効果音を、モニタ２のスピーカ２ａやコントローラ７のスピーカ７０６等、ゲーム装置本体５が音声出力制御可能なスピーカから発生させて、プレイヤに報知してもかまわない。
【０１１５】
また、上述した説明では、本発明の電池残量確認処理を実行するゲーム装置本体５をゲームシステム１に適用した例を説明したが、一般的なパーソナルコンピュータ等の情報処理装置にも適用することができる。
【０１１６】
また、上述したコントローラ７の形状や、それらに設けられている操作部７２の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。
【０１１７】
また、本発明のゲームプログラムは、光ディスク４等の外部記憶媒体を通じてゲーム装置本体５に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置本体５に供給されてもよい。また、ゲームプログラムは、ゲーム装置本体５内部の不揮発性記憶装置に予め記録されていてもよい。なお、ゲームプログラムを記憶する情報記憶媒体としては、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体の他に、不揮発性半導体メモリでもよい。
【産業上の利用可能性】
【０１１８】
本発明に係るゲームプログラムおよびゲーム装置は、入力装置における電池切れを適切に判定することができ、無線通信を用いてゲーム装置本体等と入力装置等とが接続されるゲーム装置やゲームプログラムとして有用である。
【図面の簡単な説明】
【０１１９】
【図１】本発明の一実施形態に係るゲームシステム１を説明するための外観図
【図２】図１のゲーム装置本体５の機能ブロック図
【図３】図１のコントローラ７の上面後方から見た斜視図
【図４】図３のコントローラ７を下面前方から見た斜視図
【図５】図３のコントローラ７の上筐体を外した状態を示す斜視図
【図６】図４のコントローラ７の下筐体を外した状態を示す斜視図
【図７】図３のコントローラ７の構成を示すブロック図
【図８】無線切断状態になったときにモニタ２の表示画面に表示される画像の一例を示す図
【図９】電池電圧不足に起因して無線切断状態になったときにモニタ２の表示画面に表示される画像の一例を示す図
【図１０】プレイヤがＨＯＭＥボタンを押下したときにモニタ２の表示画面に表示される電池残量確認画像の一例を示す図
【図１１】ゲーム装置本体５のメインメモリ３３に記憶される主なデータを示す図
【図１２】ゲーム装置本体５において実行される電池残量確認処理の流れを示すフローチャート
【図１３】図１２におけるステップ１５のバッテリーカウンタ更新処理の詳細な動作を示すサブルーチン
【図１４】図１２におけるステップ１６の中断解除処理の詳細な動作を示すサブルーチン
【図１５】図１２におけるステップ１９の無線切断処理の詳細な動作を示すサブルーチン
【図１６】図１５におけるステップ５７のバッテリーチェック処理の詳細な動作を示すサブルーチン
【符号の説明】
【０１２０】
１…ゲームシステム
２…モニタ
２ａ、７０６…スピーカ
３…ゲーム装置
３０…ＣＰＵ
３１…メモリコントローラ
３２…ＧＰＵ
３３…メインメモリ
３４…ＤＳＰ
３５…ＡＲＡＭ
３６…コントローラＩ／Ｆ
３７…ビデオＩ／Ｆ
３８…フラッシュメモリ
３９…オーディオＩ／Ｆ
４０…ディスクドライブ
４１…ディスクＩ／Ｆ
４…光ディスク
５…ゲーム装置本体
６…通信ユニット
７…コントローラ
７１…ハウジング
７２…操作部
７３…コネクタ
７４…撮像情報演算部
７４１…赤外線フィルタ
７４２…レンズ
７４３…撮像素子
７４４…画像処理回路
７５…通信部
７５１…マイコン
７５２…メモリ
７５３…無線モジュール
７５４…アンテナ
７００…基板
７０１…加速度センサ
７０２…ＬＥＤ
７０３…水晶振動子
７０４…バイブレータ
７０７…サウンドＩＣ
７０８…アンプ
７０９…端子
８…マーカ
【図１】
0005424290.tif 000002
【図２】
0005424290.tif 000003
【図３】
0005424290.tif 000004
【図４】
0005424290.tif 000005
【図５】
0005424290.tif 000006
【図６】
0005424290.tif 000007
【図７】
0005424290.tif 000008
【図８】
0005424290.tif 000009
【図９】
0005424290.tif 000010
【図１０】
0005424290.tif 000011
【図１１】
0005424290.tif 000012
【図１２】
0005424290.tif 000013
【図１３】
0005424290.tif 000014
【図１４】
0005424290.tif 000015
【図１５】
0005424290.tif 000016
【図１６】
0005424290.tif 000017