[ゲームシステムの全体構成]
以下、図面を参照して、本発明の一実施形態に係るゲームシステム1について説明する。図1は、ゲームシステム1の外観図である。また、図2は、ゲームシステム1に含まれる各装置の接続関係を示すブロック図である。図1において、ゲームシステム1は、第1のテレビジョン受像器等に代表されるディスプレイ装置(以下、「第1のディスプレイ」と記載する)2、ゲーム装置3、光ディスク4、第1のコントローラ5、マーカ装置6、第2のコントローラ7、画像出力装置8、および、第2のディスプレイ9を含む。ゲームシステム1は、第1のコントローラ5および/または第2のコントローラ7を用いたゲーム操作に基づいてゲーム装置3においてゲーム処理を実行し、ゲーム処理の結果得られるゲーム画像等を第1のディスプレイ2および/または第2のディスプレイ9に表示するものである。
ゲーム装置3には、当該ゲーム装置3に対して交換可能に用いられる情報記憶媒体の一例である光ディスク4が脱着可能に挿入される。光ディスク4には、ゲーム装置3において実行されるためのゲームプログラムが記憶されている。ゲーム装置3の前面には光ディスク4の挿入口が設けられている。ゲーム装置3は、挿入口に挿入された光ディスク4に記憶されているゲームプログラムを読み出して実行することによってゲーム処理を実行する。
第1のコントローラ5は、自機に対して行われた操作の内容を示す操作データをゲーム装置3に与える入力装置である。図2に示すように、第1のコントローラ5とゲーム装置3とは無線通信によって接続される。本実施形態では、第1のコントローラ5とゲーム装置3との間の無線通信には例えばBluetooth(ブルートゥース)(登録商標)の技術が用いられる。他の実施形態においては第1のコントローラ5とゲーム装置3とは有線で接続されてもよい。
図1および図2に示すように、ゲーム装置3には、表示装置の一例である第1のディスプレイ2が接続ケーブルを介して接続される。第1のディスプレイ2は、ゲーム装置3において実行されるゲーム処理の結果得られるゲーム画像を表示する。第1のディスプレイ2はスピーカ2a(図3)を有しており、スピーカ2aは、上記ゲーム処理の結果得られるゲーム音声を出力する。なお、他の実施形態においては、ゲーム装置3と第1のディスプレイ2は一体となっていてもよい。また、ゲーム装置3と第1のディスプレイ2との通信は無線通信であってもよい。
第1のディスプレイ2の周辺(図1では画面の上側)には、マーカ装置6が設置される。詳細は後述するが、ユーザは第1のコントローラ5を動かすゲーム操作を行うことができ、マーカ装置6は、第1のコントローラ5の動きをゲーム装置3が検出するために用いられる。マーカ装置6は、その両端に2つのマーカ6Rおよび6Lを備えている。マーカ6R(マーカ6Lも同様)は、具体的には1以上の赤外LED(Light Emitting Diode)であり、第1のディスプレイ2の前方に向かって赤外光を出力する。図2に示すようにマーカ装置6はゲーム装置3に接続されており、マーカ装置6が備える各赤外LEDの点灯はゲーム装置3によって制御される。なお、図1ではマーカ装置6が第1のディスプレイ2の上に設置された態様を表しているが、マーカ装置6を設置する位置および向きは任意である。
図1および図2に示すように、画像出力装置8は、ゲーム装置3と無線により通信可能である。画像出力装置8は、ゲーム処理の結果得られるゲーム画像およびゲーム音声をゲーム装置3から受信する。図2に示すように、表示装置の一例である第2のディスプレイ9は接続ケーブル等の配線を介して画像出力装置8と接続される。第2のディスプレイ9は、画像出力装置8が受信したゲーム画像を表示する。第2のディスプレイ9はスピーカ9a(図4)を有しており、スピーカ9aは、画像出力装置8が受信したゲーム音声を出力する。また、画像出力装置8と第2のディスプレイ9は一体となっていてもよい。すなわち、画像出力装置8がディスプレイを内蔵し、画像が装置内部の配線を介して直接画面に出力されるようにしてもよい。内蔵されるディスプレイは携帯可能なサイズであれば持ち運びがしやすく利便性が高い。また、画像出力装置8が携帯可能なサイズのディスプレイを内蔵した上で、さらにケーブル等の配線を介して接続された外部ディスプレイにも画像出力をする構成としてもよく、そのようにすれば、テレビジョン装置等の比較的大きいサイズの外部ディスプレイがある場合にはそれを利用し、無い場合であっても携帯型のディスプレイで画面を見ることができるので、様々な状況に対応することができる。
また、詳細は図4を参照して後述するが、画像出力装置8はマーカ装置6と同様の機能を有している。すなわち、画像出力装置8は、1以上の赤外LEDで構成されるマーカをその両端に1つずつ備えている。各マーカは、第2のディスプレイ9の前方に向かって赤外光を出力する。そのため、図1に示すように、画像出力装置8は第2のディスプレイ9の周辺に設置される。図1では画像出力装置8が第2のディスプレイ9の上に設置された態様を表しているが、画像出力装置8を設置する位置および向きは任意である。
第2のコントローラ7は、第1のコントローラ5と同様、自機に対して行われた操作の内容を示す操作データを出力する入力装置である。図2に示すように、第2のコントローラ7と画像出力装置8とは無線通信によって接続される。第2のコントローラ7から出力される操作データは、画像出力装置8によって受信され、画像出力装置8から無線通信によってゲーム装置3へ送信される。また、本実施形態では、第2のコントローラ7と画像出力装置8との間の無線通信は、第1のコントローラ5とゲーム装置3との間の無線通信と同様、Bluetooth(ブルートゥース)(登録商標)の技術が用いられる。したがって、本実施形態では、第1のコントローラ5はゲーム装置3だけでなく画像出力装置8とも無線通信可能であるし、第2のコントローラ7は画像出力装置8だけでなくゲーム装置3とも無線通信可能である。つまり、各コントローラ5および7は、いずれがゲーム装置3との通信に用いられてもよいし、いずれが画像出力装置8との通信に用いられてもよい。また、他の実施形態においては第2のコントローラ7と画像出力装置8とは有線で接続されてもよい。なお、以下では、第1のコントローラ5と第2のコントローラ7とを特に区別しない場合、第1のコントローラ5と第2のコントローラ7を総称して単に「コントローラ」と記載することがある。なお、上述のように、画像出力装置8がディスプレイを内蔵する実施形態の場合には、画像出力装置8にキーやタッチパネル、加速度センサ等の入力デバイスを備えるようにしてよい。このとき、ユーザは、画像出力装置8に備えられた入力デバイスに対して操作をするようにしてもよい。つまり、画像出力装置8、第2のディスプレイ9、および第2のコントローラ7が一体の装置として形成されてもよい。その場合には、コントローラからの操作データの送信に替えて、上記入力デバイスに対して行われた操作に関する操作データをゲーム装置3に送信するようにすればよいが、コントローラとの通信も併用するようにしてもよい。つまり、画像出力装置8が上記入力デバイスを備える場合、画像出力装置8と通信可能な第2のコントローラ7は無くてもよいし、あってもよい。
詳細な動作説明は後述するが、図1および図2に示した構成によって、ゲームシステム1は、2つのディスプレイ2および9のいずれか(または両方)を用いてゲーム画像を表示することができる。そのため、ユーザは、ゲームに用いる(ゲーム画像を表示する)ディスプレイを、2つのディスプレイ2および9のいずれかから状況に応じて選択することができる。例えば、家庭内において第1のディスプレイ2がリビングに設置され、第2のディスプレイ9が他の部屋に設置される場合を想定する。この場合、ユーザは、ゲームに用いるディスプレイとしてリビングのテレビ(第1のディスプレイ2)と他の部屋にあるテレビ(第2のディスプレイ9)とのいずれを用いるかを、ゲーム装置3やテレビの配線を全く変更しなくとも自由に選択することができる。例えばリビングのテレビが家族の他の者に使用されている場合や、自室でゲームをしたい場合には、ユーザは第2のディスプレイ9を用いればよい。また、リビングでゲームをしたい場合にはユーザは第1のディスプレイ2を用いればよい。このように、本実施形態によれば、ユーザは、ゲームに用いる表示装置を、配線の変更等の手間をかけずに容易に変更することができる。また、2つのディスプレイを両方同時に使ってゲームをすることも可能になる。
[ゲーム装置3の内部構成]
次に、図3を参照して、ゲーム装置3の内部構成について説明する。図3は、ゲーム装置3の内部構成を示すブロック図である。ゲーム装置3は、CPU10、システムLSI11、外部メインメモリ12、ROM/RTC13、ディスクドライブ14、およびAV−IC15等を有する。
CPU10は、光ディスク4に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。CPU10は、システムLSI11に接続される。システムLSI11には、CPU10の他、外部メインメモリ12、ROM/RTC13、ディスクドライブ14およびAV−IC15が接続される。システムLSI11は、それに接続される各構成要素間におけるデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。なお、システムLSIの内部構成については後述する。揮発性の外部メインメモリ12は、光ディスク4から読み出されたゲームプログラムや、フラッシュメモリ17から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、CPU10のワーク領域やバッファ領域として用いられる。ROM/RTC13は、ゲーム装置3の起動用のプログラムが組み込まれるROM(いわゆるブートROM)と、時間をカウントするクロック回路(RTC:Real Time Clock)とを有する。ディスクドライブ14は、光ディスク4からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ11eまたは外部メインメモリ12に読み出したデータを書き込む。
システムLSI11には、入出力プロセッサ(I/Oプロセッサ)11a、GPU(Graphics Processor Unit)11b、DSP(Digital Signal Processor)11c、VRAM11d、および内部メインメモリ11eが設けられる。図示は省略するが、これらの構成要素11a〜11eは内部バスによって互いに接続される。
GPU11bは、描画手段の一部を形成し、CPU10からのグラフィクスコマンド(作画命令)に従って画像を生成する。VRAM11dは、GPU11bがグラフィクスコマンドを実行するために必要なデータ(ポリゴンデータやテクスチャデータ等のデータ)を記憶する。画像が生成される際には、GPU11bは、VRAM11dに記憶されたデータを用いて画像データを作成する。
DSP11cは、オーディオプロセッサとして機能し、内部メインメモリ11eや外部メインメモリ12に記憶されるサウンドデータや音波形(音色)データを用いて、音声データを生成する。
上述のように生成された画像データおよび音声データは、AV−IC15によって読み出される。AV−IC15は、読み出した画像データをAVコネクタ16を介して第1のディスプレイ2に出力するとともに、読み出した音声データを、第1のディスプレイ2に内蔵されるスピーカ2aに出力する。これによって、画像が第1のディスプレイ2に表示されるとともに音がスピーカ2aから出力される。
入出力プロセッサ11aは、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ11aは、フラッシュメモリ17、ネットワーク通信モジュール18、コントローラ通信モジュール19、拡張コネクタ20、メモリカード用コネクタ21、画像圧縮部27に接続される。ネットワーク通信モジュール18にはアンテナ22が接続される。コントローラ通信モジュール19にはアンテナ23が接続される。画像圧縮部27は高速無線通信モジュール28に接続され、高速無線通信モジュール28にはアンテナ29が接続される。また、高速無線通信モジュール28には、コントローラ通信モジュール19が接続される。画像出力装置7から操作データが取得される場合には、操作データは、高速無線通信モジュール28で受信された後、コントローラ通信モジュール19へ出力されることで処理される。
入出力プロセッサ11aは、ネットワーク通信モジュール18およびアンテナ22を介してインターネット等のネットワークに接続し、ネットワークに接続される他のゲーム装置や、サーバ110を含む各種サーバと通信することができる。入出力プロセッサ11aは、定期的にフラッシュメモリ17にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、ネットワーク通信モジュール18およびアンテナ22を介してネットワークに送信する。また、入出力プロセッサ11aは、他のゲーム装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ22およびネットワーク通信モジュール18を介して受信し、受信したデータをフラッシュメモリ17に記憶する。CPU10はゲームプログラムを実行することにより、フラッシュメモリ17に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ17には、ゲーム装置3と他のゲーム装置や各種サーバとの間で送受信されるデータの他、ゲーム装置3を利用してプレイしたゲームのセーブデータ(ゲームの結果データまたは途中データ)が記憶されてもよい。
また、入出力プロセッサ11aは、第1のコントローラ5から送信される操作データをアンテナ23およびコントローラ通信モジュール19を介して受信し、内部メインメモリ11eまたは外部メインメモリ12のバッファ領域に記憶(一時記憶)する。
また、入出力プロセッサ11aは、第2のディスプレイ9にゲーム画像を表示する場合、GPU11bが生成したゲーム画像のデータを画像圧縮部27へ出力する。画像圧縮部27は、入出力プロセッサ11aからの画像データに対して所定の圧縮処理を行う。高速無線通信モジュール28は、画像出力装置8との間で無線通信を行う。したがって、画像圧縮部27によって圧縮された画像データは、高速無線通信モジュール28によってアンテナ29を介して画像出力装置8へ送信される。なお、本実施形態では、ゲーム装置3から画像出力装置8へ送信される画像データはゲームに用いるものであり、ゲームにおいては表示される画像に遅延が生じるとゲームの操作性に悪影響が出る。そのため、ゲーム装置3から画像出力装置8への画像データの送信に関しては、できるだけ遅延が生じないようにすることが好ましい。したがって、本実施形態では、画像圧縮部27は、例えばH.264規格といった高効率の圧縮技術を用いて画像データを圧縮する。また、高速無線通信モジュール28は、例えばIEEE802.11g規格で採用されるMIMO(Multiple Input Multiple Output)の技術を用いて画像出力装置8との間の無線通信を高速に行う。
なお、上記においては、ゲーム装置3から画像出力装置8へ画像データを送信する点について説明したが、本実施形態においては、画像データとともに音声データも送信される。すなわち、入出力プロセッサ11aは、DSP11cが生成した音声データを画像圧縮部27を介して高速無線通信モジュール28へ出力する。高速無線通信モジュール28は、画像データとともに音声データをアンテナ29を介して画像出力装置8へ送信する。なお、音声データに関しては、画像圧縮部27はデータの圧縮処理を行ってもよいし、行わなくてもよい。
また、画像出力装置8からゲーム装置3へデータ(具体的には、第2のコントローラ7からの操作データ)が送信されてくる場合、高速無線通信モジュール28は、アンテナ29を介して当該データを受信する。受信されたデータは入出力プロセッサ11aによって取得される。なお、本実施形態においては、画像出力装置8からゲーム装置3へのデータは圧縮処理が行われていないので、当該データに対して伸張処理は行われないが、他の実施形態においては、画像出力装置8側で圧縮処理を行い、ゲーム装置3側で伸張処理を行うようにしてもよい。
なお、ゲーム装置3と画像出力装置8との無線通信の範囲(通信可能距離)は、ゲーム装置3と画像出力装置8が家庭内において異なる部屋に設置されても無線通信が可能となるように、数十メートル程度はあることが好ましい。一方、本実施形態においては、ゲーム装置3と第1のコントローラ5との無線通信の範囲は、ゲーム装置3と画像出力装置8との無線通信の範囲よりも小さく、ゲーム装置3と第1のコントローラ5が同じ部屋内で無線通信可能となる程度であるとする。
入出力プロセッサ11aには、拡張コネクタ20およびメモリカード用コネクタ21が接続される。拡張コネクタ20は、USBやSCSIのようなインターフェースのためのコネクタである。拡張コネクタ20に対しては、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したり、有線の通信用コネクタを接続することによってネットワーク通信モジュール18に替えてネットワークとの通信を行ったりすることができる。メモリカード用コネクタ21は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ11aは、拡張コネクタ20やメモリカード用コネクタ21を介して外部記憶媒体にアクセスし、外部記憶媒体にデータを保存したり、外部記憶媒体からデータを読み出したりすることができる。
ゲーム装置3には、電源ボタン24、リセットボタン25、およびイジェクトボタン26が設けられる。電源ボタン24およびリセットボタン25は、システムLSI11に接続される。電源ボタン24がオンされると、図示しないACアダプタを経てゲーム装置3の各構成要素に対して電源が供給される。リセットボタン25が押されると、システムLSI11は、ゲーム装置3の起動プログラムを再起動する。イジェクトボタン26は、ディスクドライブ14に接続される。イジェクトボタン26が押されると、ディスクドライブ14から光ディスク4が排出される。
なお、本実施形態では、この電源ボタン24がオンされると、システムLSI11は、ゲーム装置3の各構成要素に図示しないACアダプタを経て電源が供給され、通常の通電状態となるモード(「通常モード」と呼ぶ)を設定する。一方、電源ボタン24がオフされると、システムLSI11は、ゲーム装置3の一部の構成要素のみに電源が供給され、消費電力を必要最低限に抑える省電力制御を行うモード(以下、「スリープモード」と呼ぶ)を設定する。本実施形態では、スリープモードが設定された場合には、システムLSI11は、入出力プロセッサ11a、フラッシュメモリ17、外部メインメモリ12、ROM/RTC13およびネットワーク通信モジュール18、コントローラ通信モジュール19、高速無線通信モジュール28以外の構成要素に対して、電源供給を停止する指示を行う。したがって、このスリープモードは、CPU10によってアプリケーションが実行されないモードである。ただし、スリープモードにおいても、ゲーム装置3は外部からのデータを受信することが可能であり、他のゲーム装置やダウンロードサーバから送信されてくるデータは、フラッシュメモリ17に記憶される。
システムLSI11には、スリープモードにおいても電源が供給される。ただし、スリープモードにおいては、システムLSI11は、GPU11b、DSP11cおよびVRAM11dの各構成要素へのクロックの供給を停止する。これによって、これらの構成要素を駆動させないようにして、消費電力の低減を図っている。また、図示は省略するが、ゲーム装置3のハウジング内部には、CPU10やシステムLSI11等のICの熱を外部に排出するためのファンが設けられる。スリープモードでは、このファンも停止される。
また、ゲーム装置3は、通常モードとスリープモードとの切り替えを、第1のコントローラ5(または第2のコントローラ7)の電源ボタンを押下することによる遠隔操作によって行うことが可能である。なお、この遠隔操作による切り替えを行わない場合には、スリープモードにおいてコントローラ通信モジュール19への電源供給を行わないようにしてもよい。また、ゲーム装置3は、ユーザの指示により、スリープモードを利用しない設定にすることが可能であってもよい。スリープモードを利用しない場合には、電源ボタン24がオフされた場合、すべての回路への電源供給が完全に停止される。
なお、他の実施形態においては、ゲーム装置3が備える各構成要素のうちでいくつかの構成要素は、ゲーム装置3とは別体の拡張機器として構成されてもよい。このとき、拡張機器は、例えば上記拡張コネクタ20を介してゲーム装置3と接続されるようにしてもよい。具体的には、拡張機器は、例えば上記画像圧縮部27、高速無線通信モジュール28およびアンテナ29の各構成要素を備えており、拡張コネクタ20に対して着脱可能であってもよい。これによれば、上記各構成要素を備えていないゲーム装置に対して上記拡張機器を接続することによって、当該ゲーム装置を画像出力装置8と通信可能な構成とすることができる。
[画像出力装置8の内部構成]
次に、図4を参照して、画像出力装置8の内部構成について説明する。図4は、画像出力装置8の構成を示すブロック図である。画像出力装置8は、電源供給部31、マーカ部32、アンテナ33、高速無線通信モジュール34、画像伸張部35、AV−IC36、AVコネクタ37、アンテナ38、および、コントローラ通信モジュール39を有する。
マーカ部32は、上述したマーカ装置6と同等の機能を有しており、2つのマーカ(具体的には1以上の赤外LED)を含む。電源供給部31は、マーカ部32に接続され、マーカ部32の各マーカに電力を供給する。本実施形態では、電源供給部31は、画像出力装置8の電源がオンである場合にマーカ部32に対して電力を供給する。なお、他の実施形態においては、電源供給部31は、マーカ部32に電力を供給するか否かを、ゲーム装置3からの指示に従って決定してもよい。また、他の実施形態においては、画像出力装置8は、マーカ装置6の機能(電源供給部31およびマーカ部32)を備えていない構成であり、画像出力装置8とマーカ装置とが別体で構成されてもよい。
高速無線通信モジュール34は、アンテナ33を介してゲーム装置3(具体的には、ゲーム装置3の高速無線通信モジュール28)との間で無線通信を行う。ゲーム装置3から画像データおよび音声データが送信されてくる場合、高速無線通信モジュール34は、アンテナ33を介して当該画像データおよび音声データを受信して、画像伸張部35へ出力する。画像伸張部35は、高速無線通信モジュール34からの画像データ(および音声データ)に対して所定の伸張処理を行い、AV−IC36へ出力する。AV−IC36はゲーム装置3のAV−IC15と同機能であり、AVコネクタ37はゲーム装置3のAVコネクタ16と同機能である。すなわち、AV−IC36は、画像データをAVコネクタ16を介して第2のディスプレイ9へ出力するとともに、音声データを、第2のディスプレイ9に内蔵されるスピーカ9aへ出力する。これによって、画像が第2のディスプレイ9に表示されるとともに音声がスピーカ9aから出力される。なお、AVコネクタ16および36は、複数の出力先に出力可能なコネクタであってもよい。また、他の実施形態においては、第2のディスプレイ9およびスピーカ9aが画像出力装置8に含まれてもよく、その場合にはAVコネクタ36は設けられず、画像出力装置8内部の配線を介して画像や音声が出力されてもよい。ただし、その場合であっても画像出力装置8には外部出力のためのAVコネクタがさらに設けられてもよい。
コントローラ通信モジュール39は、ゲーム装置3のコントローラ通信モジュール19と同機能である。すなわち、コントローラ通信モジュール39は、第2のコントローラ7から送信される操作データをアンテナ38を介して受信する。受信された操作データは高速無線通信モジュール34へ出力され、高速無線通信モジュール34によってアンテナ33を介してゲーム装置3へ送信される。このように、本実施形態においては、コントローラからの操作データは高速無線通信モジュール34によってゲーム装置3へ送信されるが、他の実施形態においては、高速無線通信モジュール34とは別の無線通信モジュールによってゲーム装置3へ送信されてもよい。本実施形態のように、ゲーム装置3から画像データ(および音声データ)を受信するための無線通信モジュールを用いてゲーム装置3へ操作データを送信することによって、画像出力装置8の構成を簡易化することができる。
なお、画像出力装置には電源スイッチ(図示せず)が設けられる。画像出力装置8の電源の切り替えは、この電源スイッチによって行われる。また、詳細は後述するが、画像出力装置8の電源の切り替えは、ゲーム装置3の電源の切り替えと同様、コントローラ5または7の電源ボタンを押下することによる遠隔操作によって行うことも可能である。
以上のように、図4に示す構成によって、画像出力装置8は、ゲーム装置3からのゲーム画像を第2のディスプレイ9に表示することができる。なお、本実施形態では、画像出力装置8は、マーカ装置6の機能と、画像データを受信してディスプレイに表示させる機能とを両方有するものであるが、他の実施形態においては、画像データを受信してディスプレイに表示させる機能のみを有していればよい。すなわち、他の実施形態においては、画像出力装置8は、上記電源供給部31およびマーカ部32を有していない構成であってもよい。このとき、ゲームシステム1は、上記電源供給部31およびマーカ部32を有するマーカ装置が別途必要となる。本実施形態においては、上記2つの機能を1つの装置に一体化することによって、第2のディスプレイ9の周辺に設置する装置の数を減らすことができるので、装置の設置を容易にするとともに、配線をシンプルにすることができる。
[コントローラ5の構成]
次に、図5〜図9を参照して、第1のコントローラ5について説明する。図5および図6は、第1のコントローラ5の外観構成を示す斜視図である。図5は、第1のコントローラ5の上側後方から見た斜視図であり、図6は、第1のコントローラ5を下側前方から見た斜視図である。
図5および図6において、第1のコントローラ5は、例えばプラスチック成型によって形成されたハウジング41を有している。ハウジング41は、その前後方向(図5に示すZ軸方向)を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。ユーザ(プレイヤ)は、第1のコントローラ5に設けられたボタンを押下すること、および、第1のコントローラ5自体を動かしてその位置や姿勢を変えることによってゲーム操作を行うことができる。
ハウジング41には、複数の操作ボタンが設けられる。図5に示すように、ハウジング41の上面には、十字ボタン42a、1番ボタン42b、2番ボタン42c、Aボタン42d、マイナスボタン42e、ホームボタン42f、プラスボタン42g、および電源ボタン42hが設けられる。本明細書では、これらのボタン42a〜42hが設けられるハウジング41の上面を「ボタン面」と呼ぶことがある。一方、図6に示すように、ハウジング41の下面には凹部が形成されており、当該凹部の後面側傾斜面にはBボタン42iが設けられる。これらの各操作ボタン42a〜42iには、ゲーム装置3が実行するゲームプログラムに応じた機能が適宜割り当てられる。また、電源ボタン42hは遠隔からゲーム装置3本体の電源をオン/オフするためのものである。ホームボタン42fおよび電源ボタン42hは、その上面がハウジング41の上面に埋没している。これによって、ユーザがホームボタン42fまたは電源ボタン42hを誤って押下することを防止することができる。
ハウジング41の後面にはコネクタ43が設けられている。コネクタ43は、第1のコントローラ5に他の機器を接続するために利用される。また、ハウジング41の後面におけるコネクタ43の両側には、上記他の機器が容易に離脱することを防止するために係止穴43aが設けられている。
ハウジング41上面の後方には複数(図5では4つ)のLED44a〜44dが設けられる。ここで、第1のコントローラ5には、他のメインコントローラと区別するためにコントローラ種別(番号)が付与される。各LED44a〜44dは、第1のコントローラ5に現在設定されている上記コントローラ種別をユーザに通知したり、第1のコントローラ5の電池残量をユーザに通知したりする等の目的で用いられる。具体的には、第1のコントローラ5を用いてゲーム操作が行われる際、上記コントローラ種別に応じて複数のLED44a〜44dのいずれか1つが点灯する。
また、第1のコントローラ5は撮像情報演算部45(図8)を有しており、図6に示すように、ハウジング41前面には撮像情報演算部45の光入射面45aが設けられる。光入射面45aは、マーカ6Rおよび6Lからの赤外光を少なくとも透過する材質で構成される。
ハウジング41上面における1番ボタン42bとホームボタン42fとの間には、第1のコントローラ5に内蔵されるスピーカ59(図7)からの音を外部に放出するための音抜き孔41aが形成されている。
次に、図7および図8を参照して、第1のコントローラ5の内部構造について説明する。図7および図8は、第1のコントローラ5の内部構造を示す図である。なお、図7は、第1のコントローラ5の上筐体(ハウジング41の一部)を外した状態を示す斜視図である。図8は、第1のコントローラ5の下筐体(ハウジング41の一部)を外した状態を示す斜視図である。図8に示す斜視図は、図7に示す基板40を裏面から見た斜視図となっている。
図7において、ハウジング41の内部には基板40が固設されており、当該基板40の上主面上に各操作ボタン42a〜42h、各LED44a〜44d、加速度センサ47、アンテナ55、およびスピーカ59等が設けられる。これらは、基板40等に形成された配線(図示せず)によってマイクロコンピュータ(Micro Computer:マイコン)52(図8参照)に接続される。本実施形態では、加速度センサ47は、X軸方向に関して第1のコントローラ5の中心からずれた位置に配置されている。これによって、第1のコントローラ5をZ軸回りに回転させたときの第1のコントローラ5の動きが算出しやすくなる。また、加速度センサ47は、長手方向(Z軸方向)に関して第1のコントローラ5の中心よりも前方に配置されている。また、無線モジュール54(図8)およびアンテナ55によって、第1のコントローラ5がワイヤレスコントローラとして機能する。
一方、図8において、基板40の下主面上の前端縁に撮像情報演算部45が設けられる。撮像情報演算部45は、第1のコントローラ5の前方から順に赤外線フィルタ48、レンズ49、撮像素子50、および画像処理回路51を備えている。これらの部材48〜51はそれぞれ基板40の下主面に取り付けられる。
さらに、基板40の下主面上には、上記マイコン52およびバイブレータ58が設けられている。バイブレータ58は、例えば振動モータやソレノイドであり、基板40等に形成された配線によってマイコン52と接続される。マイコン52の指示によりバイブレータ58が作動することによって第1のコントローラ5に振動が発生する。これによって、第1のコントローラ5を把持しているユーザの手にその振動が伝達される、いわゆる振動対応ゲームを実現することができる。本実施形態では、バイブレータ58は、ハウジング41のやや前方寄りに配置される。つまり、バイブレータ58が第1のコントローラ5の中心よりも端側に配置することによって、バイブレータ58の振動により第1のコントローラ5全体を大きく振動させることができる。また、コネクタ43は、基板40の下主面上の後端縁に取り付けられる。なお、図7および図8に示す他、第1のコントローラ5は、マイコン52の基本クロックを生成する水晶振動子、スピーカ59に音声信号を出力するアンプ等を備えている。
なお、図5〜図8に示した第1のコントローラ5の形状や、各操作ボタンの形状、加速度センサやバイブレータの数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であっても、本発明を実現することができる。また、本実施形態では、撮像手段による撮像方向はZ軸正方向であるが、撮像方向はいずれの方向であってもよい。すなわち、第1のコントローラ5における撮像情報演算部45の位置(撮像情報演算部45の光入射面45a)は、ハウジング41の前面でなくてもよく、ハウジング41の外部から光を取り入れることができれば他の面に設けられてもかまわない。
図9は、第1のコントローラ5の構成を示すブロック図である。第1のコントローラ5は、操作部42(各操作ボタン42a〜42i)、コネクタ43、撮像情報演算部45、通信部46、および加速度センサ47を備えている。第1のコントローラ5は、自機に対して行われた操作内容を示すデータを操作データとしてゲーム装置3へ送信するものである。
操作部42は、上述した各操作ボタン42a〜42iを含み、各操作ボタン42a〜42iに対する入力状態(各操作ボタン42a〜42iが押下されたか否か)を示す操作ボタンデータを通信部46のマイコン52へ出力する。
撮像情報演算部45は、撮像手段が撮像した画像データを解析してその中で輝度が高い領域を判別してその領域の重心位置やサイズなどを算出するためのシステムである。撮像情報演算部45は、例えば最大200フレーム/秒程度のサンプリング周期を有するので、比較的高速なコントローラの動きでも追跡して解析することができる。
撮像情報演算部45は、赤外線フィルタ48、レンズ49、撮像素子50、および画像処理回路51を含んでいる。赤外線フィルタ48は、第1のコントローラ5の前方から入射する光から赤外線のみを通過させる。レンズ49は、赤外線フィルタ48を透過した赤外線を集光して撮像素子50へ入射させる。撮像素子50は、例えばCMOSセンサやあるいはCCDセンサのような固体撮像素子であり、レンズ49が集光した赤外線を受光して画像信号を出力する。ここで、第1のディスプレイ2の表示画面近傍に配置されるマーカ装置6のマーカ6Rおよび6Lは、第1のディスプレイ2の前方に向かって赤外光を出力する赤外LEDで構成される。したがって、赤外線フィルタ48を設けることによって、撮像素子50は、赤外線フィルタ48を通過した赤外線だけを受光して画像データを生成するので、マーカ6Rおよび6Lの画像をより正確に撮像することができる。以下では、撮像素子50によって撮像された画像を撮像画像と呼ぶ。撮像素子50によって生成された画像データは、画像処理回路51で処理される。画像処理回路51は、撮像画像内における撮像対象(マーカ6Rおよび6L)の位置を算出する。画像処理回路51は、算出された位置を示す座標を通信部46のマイコン52へ出力する。この座標のデータは、マイコン52によって操作データとしてゲーム装置3に送信される。以下では、上記座標を「マーカ座標」と呼ぶ。マーカ座標は第1のコントローラ5自体の向き(傾斜角度)や位置に対応して変化するので、ゲーム装置3はこのマーカ座標を用いて第1のコントローラ5の向きや位置を算出することができる。
なお、他の実施形態においては、第1のコントローラ5は画像処理回路51を備えていない構成であってもよく、撮像画像自体が第1のコントローラ5からゲーム装置3へ送信されてもよい。このとき、ゲーム装置3は、画像処理回路51と同様の機能を有する回路あるいはプログラムを有しており、上記マーカ座標を算出するようにしてもよい。
加速度センサ47は、第1のコントローラ5の加速度(重力加速度を含む)を検出する、すなわち、第1のコントローラ5に加わる力(重力を含む)を検出する。加速度センサ47は、当該加速度センサ47の検出部に加わっている加速度のうち、センシング軸方向に沿った直線方向の加速度(直線加速度)の値を検出する。例えば、2軸以上の多軸加速度センサの場合には、加速度センサの検出部に加わっている加速度として、各軸に沿った成分の加速度をそれぞれ検出する。例えば、3軸または2軸の加速度センサは、アナログ・デバイセズ株式会社(Analog Devices, Inc.)またはSTマイクロエレクトロニクス社(STMicroelectronics N.V.)から入手可能である種類のものでもよい。なお、加速度センサ47は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。
本実施形態では、加速度センサ47は、第1のコントローラ5を基準とした上下方向(図5に示すY軸方向)、左右方向(図5に示すX軸方向)および前後方向(図5に示すZ軸方向)の3軸方向に関してそれぞれ直線加速度を検出する。加速度センサ47は、各軸に沿った直線方向に関する加速度を検出するものであるため、加速度センサ47からの出力は3軸それぞれの直線加速度の値を表すものとなる。すなわち、検出された加速度は、第1のコントローラ5を基準に設定されるXYZ座標系(コントローラ座標系)における3次元のベクトル(ax,ay,az)として表される。以下では、加速度センサ47によって検出される3軸に関する各加速度値を各成分とするベクトルを加速度ベクトルと呼ぶ。
加速度センサ47が検出した加速度を示すデータ(加速度データ)は、通信部46へ出力される。なお、加速度センサ47が検出した加速度は、第1のコントローラ5自体の向き(傾斜角度)や動きに対応して変化するので、ゲーム装置3は加速度データを用いて第1のコントローラ5の向きや動きを算出することができる。本実施形態では、ゲーム装置3は、加速度データに基づいて第1のコントローラ5の姿勢(傾斜角度)を判断する。つまり、加速度センサ47は、第1のコントローラ5の傾斜角度を判断するためのデータを出力するセンサとして用いられる。
なお、加速度センサ47から出力される加速度の信号に基づいて、ゲーム装置3のプロセッサ(例えばCPU10)または第1のコントローラ5のプロセッサ(例えばマイコン52)等のコンピュータが処理を行うことによって、第1のコントローラ5に関するさらなる情報を推測または算出(判定)することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサ47を搭載する第1のコントローラ5が静止状態であることを前提としてコンピュータ側の処理が実行される場合(すなわち、加速度センサによって検出される加速度が重力加速度のみであるとして処理が実行される場合)、第1のコントローラ5が現実に静止状態であれば、検出された加速度に基づいて第1のコントローラ5の姿勢が重力方向に対して傾いているか否かまたはどの程度傾いているかを知ることができる。具体的には、加速度センサ47の検出軸が鉛直下方向を向いている状態を基準としたとき、1G(重力加速度)がかかっているか否かによって、第1のコントローラ5が基準に対して傾いているか否かを知ることができるし、その大きさによって基準に対してどの程度傾いているかも知ることができる。また、多軸の加速度センサ47の場合には、さらに各軸の加速度の信号に対して処理を施すことによって、重力方向に対して第1のコントローラ5がどの程度傾いているかをより詳細に知ることができる。この場合において、プロセッサは、加速度センサ47からの出力に基づいて第1のコントローラ5の傾斜角度を算出してもよいし、当該傾斜角度を算出せずに、第1のコントローラ5の傾斜方向を算出するようにしてもよい。このように、加速度センサ47をプロセッサと組み合わせて用いることによって、第1のコントローラ5の傾斜角度または姿勢を判定することができる。
一方、第1のコントローラ5が動的な状態(第1のコントローラ5が動かされている状態)であることを前提とする場合には、加速度センサ47は重力加速度に加えて第1のコントローラ5の動きに応じた加速度を検出するので、検出された加速度から重力加速度の成分を所定の処理により除去することによって第1のコントローラ5の動き方向を知ることができる。また、第1のコントローラ5が動的な状態であることを前提とする場合であっても、検出された加速度から、加速度センサの動きに応じた加速度の成分を所定の処理により除去することによって、重力方向に対する第1のコントローラ5の傾きを知ることが可能である。なお、他の実施例では、加速度センサ47は、内蔵の加速度検出手段で検出された加速度信号をマイコン52に出力する前に当該加速度信号に対して所定の処理を行うための、組込み式の処理装置または他の種類の専用の処理装置を備えていてもよい。組込み式または専用の処理装置は、例えば、加速度センサ47が静的な加速度(例えば、重力加速度)を検出するために用いられる場合、加速度信号を傾斜角(あるいは、他の好ましいパラメータ)に変換するものであってもよい。
なお、本実施形態では、コントローラの動きに応じて変化する値を出力するセンサとして、例えば静電容量式の加速度センサを用いることとしたが、他の方式の加速度センサやジャイロセンサを用いるようにしてもよい。ただし、加速度センサは各軸に沿った直線方向の加速度をそれぞれ検出するものであるのに対して、ジャイロセンサは回転に伴う角速度を検出するものである。つまり、加速度センサに代えてジャイロセンサを採用する場合には、検出される信号の性質が異なるため、両者を簡単に置き換えることはできない。そこで、加速度センサの代わりにジャイロセンサを用いて姿勢(傾斜角度)を算出する場合には、例えば次のような変更を行う。具体的には、ゲーム装置3は、検出開始の状態において姿勢の値を初期化する。そして、当該ジャイロセンサから出力される角速度のデータを積分する。さらに、積分結果を用いて、初期化された姿勢の値からの姿勢の変化量を算出する。この場合、算出される姿勢は、角度で表されることになる。
なお、既に説明したように、加速度センサによって傾斜角度(姿勢)を算出する場合には、加速度ベクトルを用いて傾斜角度を算出する。したがって、算出される傾斜角度はベクトルで表すことが可能であり、初期化を行わずとも絶対的な方向を算出することが可能である点で、加速度センサを用いる場合とジャイロセンサを用いる場合とは異なる。また、傾斜角度として算出される値の性質についても上記のように角度であるかベクトルであるかの違いがあるので、加速度センサからジャイロセンサへの置き換えを行う際には当該傾斜角度のデータに対しても所定の変換を行う必要がある。
通信部46は、マイコン52、メモリ53、無線モジュール54、およびアンテナ55を含んでいる。マイコン52は、処理を行う際にメモリ53を記憶領域として用いながら、マイコン52が取得したデータをゲーム装置3へ無線送信する無線モジュール54を制御する。また、マイコン52はコネクタ43に接続されている。
操作部42、撮像情報演算部45、および加速度センサ47からマイコン52へ出力されたデータは、一時的にメモリ53に格納される。これらのデータは、上記操作データとしてゲーム装置3へ送信される。すなわち、マイコン52は、ゲーム装置3のコントローラ通信モジュール19への送信タイミングが到来すると、メモリ53に格納されている操作データを無線モジュール54へ出力する。無線モジュール54は、例えばBluetooth(ブルートゥース)(登録商標)の技術を用いて、所定周波数の搬送波を操作データで変調し、その微弱電波信号をアンテナ55から放射する。つまり、操作データは、無線モジュール54で微弱電波信号に変調されて第1のコントローラ5から送信される。微弱電波信号はゲーム装置3側のコントローラ通信モジュール19で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置3は操作データを取得することができる。そして、ゲーム装置3のCPU10は、取得した操作データとゲームプログラムとに基づいて、ゲーム処理を行う。なお、通信部46からコントローラ通信モジュール19への無線送信は所定の周期毎に逐次行われるが、ゲームの処理は1/60秒を単位として(1フレーム時間として)行われることが一般的であるので、この時間以下の周期で送信を行うことが好ましい。第1のコントローラ5の通信部46は、例えば1/200秒に1回の割合で各操作データをゲーム装置3のコントローラ通信モジュール19へ出力する。
上記第1のコントローラ5を用いることによって、ユーザは、各操作ボタンを押下する従来の一般的なゲーム操作に加えて、第1のコントローラ5を任意の傾斜角度に傾ける操作を行うことができる。その他、上記第1のコントローラ5によれば、ユーザは、第1のコントローラ5によって画面上の任意の位置を指示する操作、および、第1のコントローラ5自体を動かす操作を行うこともできる。
以上、図5〜図8においては、第1のコントローラ5について説明を行った。本実施形態においては第2のコントローラ7は第1のコントローラ5と同じであるので、第2のコントローラ7に関する詳細な説明を省略する。なお、他の実施形態においては、第1のコントローラ5と第2のコントローラ7とは同一の入力装置である必要はなく、例えば、ボタンの数および配置、加速度センサ47の有無、あるいは、ハウジングの形状等が異なっていてもよい。
[ゲームシステムにおける各装置の処理]
次に、図10〜図14を参照して、ゲームシステム1におけるゲーム装置3等の処理を詳細に説明する。まず、当該処理において用いられる主なデータについて図10を用いて説明する。図10は、ゲーム装置3のメモリ(外部メインメモリ12、内部メインメモリ11e、またはフラッシュメモリ17)に記憶される主なデータを示す図である。図10に示すように、ゲーム装置3のメモリには、ゲームプログラム61、操作データ62、および処理用データ63が記憶される。
ゲームプログラム61は、ゲーム処理(図12に示す処理)を実行するためのプログラムである。ゲームプログラム61は、ゲーム装置3が上述した通常モードとなった後の適宜のタイミングで光ディスク4からその一部または全部が読み込まれてメモリに記憶される。
操作データ62は、第1または第2のコントローラ5または7からゲーム装置3へ送信されてくる操作データである。なお、ゲームシステム1に対して複数のコントローラが無線接続される場合には、コントローラと同数の操作データがメモリに記憶される。上述したように、コントローラからゲーム装置3へは1/200秒に1回の割合で操作データが送信されるので、メモリに記憶される操作データ62はこの割合で更新される。操作データ62には、操作ボタンデータ、マーカ座標データ、および加速度データが含まれる。操作ボタンデータは、各操作ボタン42a〜42iに対する入力状態を示すデータである。マーカ座標データは、撮像情報演算部45の画像処理回路51によって算出される座標、すなわち上記マーカ座標を示すデータである。加速度データは、加速度センサ47によって検出された加速度(加速度ベクトル)を示すデータである。
処理用データ63は、ゲーム装置3における処理(図11〜図13)において用いられるデータである。処理用データ63は、無線フラグデータ64、2画像フラグデータ65、およびコントローラデータ66を含む。なお、処理用データ63には、図10に示すデータの他、ゲームに登場する各種オブジェクトの画像データや、オブジェクトの各種パラメータを示すデータ等、ゲーム処理に必要なデータが含まれる。
無線フラグデータ64は、無線フラグの内容(オンまたはオフ)を示す。無線フラグとは、ゲーム装置3において生成された画像を無線出力によって画像出力装置8へ送信するか否かを示すフラグである。すなわち、画像を無線出力によって画像出力装置8へ送信するモード(無線出力モード)である場合には、無線フラグはオンに設定され、画像を無線出力によって画像出力装置8へ送信しないモード(非無線出力モード)である場合には、無線フラグはオフに設定される。
2画像フラグデータ65は、2画像フラグの内容(オンまたはオフ)を示す。2画像フラグとは、ゲーム装置3における処理の結果として2種類の画像を生成するか否かを示すフラグである。2種類の画像を生成する場合の例としては、例えば、2人でゲームをプレイする場合が考えられる。具体的には、2人のプレイヤ(ユーザ)が操作する各キャラクタの視点に基づいて2種類のゲーム画像をそれぞれ生成する場合である。2種類の画像が生成される場合には、2画像フラグはオンに設定され、1種類の画像のみが生成される場合には、2画像フラグはオフに設定される。
コントローラデータ66は、操作に用いられるコントローラに関する情報を示すデータである。本実施形態では、ユーザは、ゲーム装置3または画像出力装置8との無線通信が確立しているコントローラを、操作に用いることができる。つまり、コントローラデータ66は、コントローラを識別する情報、および、通信が確立している(無線接続されている)装置がゲーム装置3であるか画像出力装置8であるかを示す情報(以下「接続情報」と呼ぶ。)を少なくとも示す。なお、本実施形態では、ゲーム装置3または画像出力装置8に対して同時に無線接続が可能なコントローラの数は4つであるとする。そのため、メモリには、最大4つのコントローラに関する情報を示すコントローラデータ66が記憶される。
(ゲームシステム1を起動する際における各装置の動作)
まず、ゲームシステム1を起動する際における各装置の動作を説明する。ここで、上述したように、各コントローラ5および7はいずれも、ゲーム装置3および画像出力装置8の両方と無線通信を行う機能を有している。ただし、以下の説明においては、第1のコントローラ5がゲーム装置3との通信を行い、第2のコントローラ7が画像出力装置8との通信を行う場合を例として説明する。すなわち、第1のコントローラ5がゲーム装置3の周辺(典型的には同じ部屋内)で使用され、第2のコントローラ7が画像出力装置8の周辺で使用される場合を例として説明する。なお、ゲーム装置3と画像出力装置8とは、家庭内における別の部屋に設置されているものとする。
本実施形態では、ゲームシステム1を起動させるためには、ゲーム装置3の電源をオンにするか、あるいは、画像出力装置8の電源をオンにすればよい。ゲーム装置3および画像出力装置8の電源のオン/オフの切り替えは、各装置に設けられた電源ボタンによって行うことができるとともに、各コントローラ5または7の電源ボタンを押下することによっても行うことができる。つまり、本実施形態においては、コントローラを用いてゲームシステム1を起動させることができる。以下、詳細を説明する。
ゲーム装置3がスリープモードである状態において、第1のコントローラ5の電源ボタン42hが押下されると、第1のコントローラ5は、電源ボタン42hが押下されたことを示す操作データをゲーム装置3へ送信する。ゲーム装置3のコントローラ通信モジュール19は、アンテナ23を介して第1のコントローラ5から送信されてくる上記操作データを受信する。上記操作データが受信されると、ゲーム装置3は各構成要素に対して給電を行い、通常モードへ移行する。一方、通常モードである状態において、電源ボタンが押下されたことを示す操作データが第1のコントローラ5から受信された場合、ゲーム装置3はスリープモードへ移行する。なお、ゲーム装置3の電源の切り替え(通常モード/スリープモードの切り替え)は、ゲーム装置3に設けられる電源ボタン24を用いても行うことが可能である。
一方、画像出力装置8の電源の切り替えは、ゲーム装置3と同様、第2のコントローラ7の電源ボタンを押下することによる遠隔操作によって行うことが可能である。すなわち、画像出力装置8のコントローラ通信モジュール39は、電源オフ(スリープモード)時においても電力が供給され、第2のコントローラ7からの操作データを受信することが可能である。電源オフ時において第2のコントローラ7の電源ボタンが押下されると、第2のコントローラ7は、電源ボタンが押下されたことを示す操作データを画像出力装置8へ送信する。コントローラ通信モジュール39は、アンテナ38を介して第2のコントローラ7から送信されてくる上記操作データを受信する。上記操作データが受信されると、画像出力装置8は各構成要素に対して給電を行い、通常モードへ移行する。一方、電源オン(通常モード)時において、電源ボタンが押下されたことを示す操作データが第2のコントローラ7から受信された場合、画像出力装置8は電源をオフにする。なお、画像出力装置8の電源の切り替えは、画像出力装置8に設けられる電源ボタン(図示せず)によっても行うことが可能である。
画像出力装置8の電源がオン/オフされた場合、高速無線通信モジュール34は、ゲーム装置3に対して電源をオン/オフにする旨の指示を送信する。この指示をゲーム装置3の高速無線通信モジュール28が受信すると、ゲーム装置3は当該指示に従って自機の電源をオン/オフする(通常モードとスリープモードとを切り替える)。このように、本実施形態では、コントローラ5または7からの電源の切り替え指示は、ゲーム装置3へ直接送信されるだけでなく、画像出力装置8を介してゲーム装置3へ送信される。したがって、ユーザは、ゲーム装置3から離れた画像出力装置8の場所からであっても、コントローラを用いてゲーム装置3の電源をオン/オフすることができる。なお、他の実施形態においては、ゲーム装置3は、画像出力装置8からの信号によっての電源のオン/オフが切り替えられない構成でもよく、ゲーム装置3に設けられた電源ボタン24(または、コントローラの電源ボタン)によってのみ電源のオン/オフが切り替えられる構成であってもよい。
また、コントローラを用いてゲーム装置3の電源がオンにされた場合、CPU10は、コントローラデータ66をメモリに記憶する。すなわち、CPU10は、ゲーム装置3の電源をオンにする操作が行われたコントローラを識別する情報と、当該コントローラがゲーム装置3と無線通信が確立しているのか、それとも、画像出力装置8との無線通信が確立しているのかを示す情報(接続情報)とを示すデータをコントローラデータ66としてメモリに記憶する。なお、ゲーム装置3または画像出力装置8に設けられた電源スイッチによってゲーム装置3の電源がオンにされた場合には、電源がオンにされた時点ではコントローラデータ66は記憶されない。
(通常モード起動時におけるゲーム装置3の処理)
次に、図11を参照して、上述した通常モード(ゲーム装置3の各構成要素に電源が供給され、通常の通電状態となるモード)となる際におけるゲーム装置3の処理を説明する。上述したスリープモードにおいて、ゲームシステム1を起動させる指示がユーザによって行われると、ゲーム装置3の各構成要素に対してACアダプタ(図示せず)を経て電源が供給され、通常モードが開始される。通常モードとなった後、ゲーム装置3のCPU10等は、図11に示す処理の実行を開始する。
図11は、通常モードにおけるゲーム装置3の処理の流れを示すフローチャートである。なお、図11に示す一連の処理が開始される時点では、無線フラグデータ64としてオフを示すデータがメモリに記憶される。上記一連の処理においては、まずステップS1において、CPU10は、画像出力装置8の電源がオンになっているか否かを判定する。ここで、本実施形態においては、画像出力装置8の電源がオンにされると、画像出力装置8の高速無線通信モジュール34は、ゲーム装置3との無線通信を確立する処理を実行する。したがって、ステップS1における判定は、ゲーム装置3と画像出力装置8との通信が確立している状態か否かによって行うことができる。つまり、ステップS1における判定処理は、画像出力装置8に対してデータを送信可能か否かを判別する処理である。ステップS1の判定結果が肯定である場合、ステップS2の処理が実行される。一方、ステップS1の判定結果が否定である場合、ステップS2の処理がスキップされてステップS3の処理が実行される。
ステップS2において、CPU10は、画像出力装置8に対する無線出力に関するゲーム装置3のモードを、無線出力モードに設定する。すなわち、CPU10は、無線フラグデータ64としてオンを示すデータをメモリに記憶する。ステップS2の次にステップS3の処理が実行される。
ステップS3において、CPU10はメニュー画像を生成する。メニュー画像とは、ゲーム装置3において実行可能な各種アプリケーション(光ディスク4に記憶されるゲームプログラムのアプリケーションを含む)を開始する指示を受け付けるための画像である。ゲーム装置3は複数種類のアプリケーションを実行可能であり、各アプリケーションを表す画像(アイコン)をメニュー画像として生成する。なお、CPU10は、コントローラによって操作可能なカーソルをメニュー画像に重ねた画像を生成してもよい。また、メニュー画像とともに音声(例えば、BGMや、ユーザが指示を行った時に出力される操作音)を出力する場合には、CPU10は、当該音声を生成する。ステップS3の次にステップS4の処理が実行される。
上記ステップS3によって生成されたメニュー画像は、第1のディスプレイ2および/または第2のディスプレイ9に表示される。メニュー画像がいずれのディスプレイに表示されるかの制御(下記ステップS4〜S6)は、入出力プロセッサ11aによって行われる。すなわち、ステップS4において、入出力プロセッサ11aは、無線出力モードであるか否かを判定する。ステップS4の判定は、メモリに記憶されている無線フラグデータ64がオンを示すか否かによって行われる。ステップS4の判定結果が否定である場合、ステップS5の処理が実行される。一方、ステップS4の判定結果が肯定である場合、ステップS6の処理が実行される。
ステップS5において、入出力プロセッサ11aは、ステップS3で生成されたメニュー画像(および音声)を第1のディスプレイ2へ出力する。具体的には、メニュー画像のデータは、AV−IC15によって読み出され、AVコネクタ16を介して第1のディスプレイ2に出力される。なお、ステップS3で生成された音声データについては、AV−IC15によって読み出され、AVコネクタ16を介して第1のディスプレイ2のスピーカ2aに出力される。以上のように、ステップS5によれば、第1のディスプレイ2のみにメニュー画像が表示される。上記ステップS5の次に、後述するステップS7の処理が実行される。
一方、ステップS6において、入出力プロセッサ11aは、ステップS3で生成されたメニュー画像(および音声)を、第1のディスプレイ2へ出力するとともに、画像出力装置8へ無線出力する。メニュー画像を第1のディスプレイ2へ出力する処理は、上記ステップS5と同様である。ステップS6においてはさらに、入出力プロセッサ11aは、上記メニュー画像のデータを画像圧縮部27に出力する。メニュー画像のデータが出力されたことに応じて、画像圧縮部27は、当該データを所定の方式で圧縮する。高速無線通信モジュール28は、圧縮されたデータをアンテナ29を介して画像出力装置8へ送信する。画像出力装置8においては、上記圧縮されたデータが、アンテナ33を介して高速無線通信モジュール34において受信され、画像伸張部35へ出力される。画像伸張部35は、圧縮されたデータを伸張する。伸張されたメニュー画像のデータは、AV−IC36によって読み出され、AVコネクタ37を介して第2のディスプレイ2に出力される。以上の処理によって、第2のディスプレイ9にメニュー画像が表示される。
なお、ステップS3で生成された音声データについては、メニュー画像のデータと同様、高速無線通信モジュール28からアンテナ29を介して画像出力装置8へ送信される。画像出力装置8において受信された音声データは、AV−IC36によって読み出され、AVコネクタ37を介して第2のディスプレイ9のスピーカ9aに出力される。なお、ゲーム装置3は、音声データについても画像データと同様、圧縮処理を行ってから画像出力装置8へ送信してもよく、このとき、画像出力装置8は、受信した(圧縮された)音声データに対して伸張処理を行う。
以上のステップS6によれば、第1のディスプレイ2にメニュー画像が表示されるとともに、第2のディスプレイ9にもメニュー画像が表示される。したがって、第1のディスプレイ2が設置される場所でユーザがゲームを行う場合であっても、第2のディスプレイ9が設置される場所でユーザがゲームを行う場合であっても、ユーザはメニュー画像を視認することができる。また、本実施形態によれば、画像出力装置8の電源がオンである場合(ステップS4でYesの場合)には第2のディスプレイ9にメニュー画像が表示されるので、ユーザは、画像出力装置8の電源をオンにするだけで、特別な設定操作を行わなくとも第2のディスプレイ9にメニュー画像を表示させることができる。上記ステップS6の次に、ステップS7の処理が実行される。
ステップS7において、CPU10は、新たなコントローラの無線接続が検出されたか否かを判定する。ここで、本実施形態においては、ゲーム装置3または画像出力装置8との無線接続されていないコントローラのボタンが押下されると、当該コントローラは、無線通信を確立するための信号を送信する。そして、当該信号を受信したゲーム装置3あるいは画像出力装置8との間で無線通信を確立する処理が行われる。また、新たなコントローラと画像出力装置8との間で無線通信が確立すると、画像出力装置8は、新たなコントローラが検出された旨を示す信号を、高速無線通信モジュール34からアンテナ33を介してゲーム装置3へ送信する。
したがって、上記ステップS7においては、CPU10は、ゲーム装置3と新たなコントローラとの間で無線通信が確立したか否かを判定するとともに、画像出力装置8と新たなコントローラとの間で無線通信が確立したか否かを判定する。なお、後者の判定は、ゲーム装置3の高速無線通信モジュール28において、新たなコントローラが検出された旨を示す信号が画像出力装置8から受信されたか否かによって行うことができる。上記2つの判定のいずれかが肯定である場合、CPU10は、ステップS7の判定結果を肯定と判断する。一方、上記2つの判定の両方が否定である場合、CPU10は、ステップS7の判定結果を否定と判断する。ステップS7の判定結果が肯定である場合、ステップS8の処理が実行される。一方、ステップS7の判定結果が否定である場合、ステップS8の処理がスキップされて後述するステップS9の処理が実行される。
ステップS8において、CPU10は、ゲーム装置3または画像出力装置8との無線通信が確立した新たなコントローラを登録する。すなわち、当該新たなコントローラに関する情報(コントローラの識別情報、および、通信が確立している装置がゲーム装置3であるか画像出力装置8であるかを示す情報)を示すコントローラデータ66がメモリに記憶される。ステップS8の次にステップS9の処理が実行される。
以上のように、本実施形態においては、メニュー画像が表示される場合において操作に用いられるコントローラは、ゲーム装置3および画像出力装置8のどちらと通信を行うものであってもよく、コントローラがゲーム装置3および画像出力装置8のどちらと通信を行うかは、ユーザが決めることができる。したがって、操作に用いられる全てのコントローラがゲーム装置3と画像出力装置8とのいずれか一方と通信し、他方と通信するコントローラが無い場合もあり得る。つまり、本実施形態に係るゲームシステム1は、ゲーム装置3が設置される部屋と、画像出力装置8が設置される部屋との両方にユーザが存在する形態で利用することが可能であるし、いずれか一方にのみユーザが存在し、他方にはユーザが存在しないような形態で利用することも可能である。
ステップS9において、CPU10は、コントローラから操作データを取得する。本実施形態では、操作データの取得経路は、コントローラからゲーム装置3に対して直接送信される経路と、コントローラから画像出力装置8を介してゲーム装置3へ間接的に送信される経路とがある。上記ステップS9では、CPU10は、上記2つの経路の両方についてコントローラからの操作データを取得する。すなわち、ゲーム装置3と通信可能な第1のコントローラ5が存在する場合、CPU10は、第1のコントローラ5から送信されてくる操作データをコントローラ通信モジュール19によって受信し、メモリに記憶する。また、画像出力装置8と通信可能な第2のコントローラ7が存在する場合、画像出力装置8のコントローラ通信モジュール39は第2のコントローラ7から操作データを受信し、高速無線通信モジュール34は当該操作データをゲーム装置3へ送信する。CPU10は、画像出力装置8から送信されてくる操作データを高速無線通信モジュール28によって受信し、メモリに記憶する。ステップS9の次にステップS10の処理が実行される。
なお、本実施形態においては、画像出力装置8は、第2のコントローラ7から受信した操作データをゲーム装置3へ送信する場合、受信した操作データをそのまま送信した。ここで、他の実施形態においては、画像出力装置8は、第2のコントローラ7から受信した操作データに対して何らかの加工処理を施し、加工処理を施した操作データをゲーム装置3へ送信してもよい。例えば、操作データに含まれる加速度データやマーカ座標データに対しては、ゲーム処理に用いるために、加速度データにより示される加速度の値や、マーカ座標データにより示される座標値に対して所定の補正処理が行われることがある。画像出力装置8は、受信した操作データに対してこのような補正処理を実行した後で、補正後の操作データをゲーム装置3へ送信するようにしてもよい。
ステップS10において、CPU10は、コントローラによる操作に応じた処理を実行する。メニュー画像が表示される場合において可能な操作はどのような操作であってもよいが、例えば、当該操作には、メニュー画像に重ねて表示されるカーソルを移動させる操作や、メニュー画像において表示されるアプリケーションを実行する操作等が含まれる。なお、ステップS10において、光ディスク4に記憶されるゲームプログラムを実行することも可能であるが、当該ゲームプログラムの実行による処理の詳細については後述する。ステップS10の次にステップS1の処理が実行される。以降、ステップS1〜S10の処理は、ゲーム装置3の電源がオフにされるまで繰り返し実行される。
以上のように、メニュー画像が表示される際には、第1のディスプレイ2にメニュー画像が表示されるとともに、(画像出力装置8の電源がオンである場合には)第2のディスプレイ9にもメニュー画像が表示される。したがって、ユーザは、第1のディスプレイ2が設置される場所でゲームを行う場合であっても、第2のディスプレイ9が設置される場所でゲームを行う場合であっても、メニュー画像を視認することができる。このように、本実施形態によれば、ユーザは、ゲームに用いる表示装置(第1のディスプレイ2または第2のディスプレイ9のいずれか)を、配線の変更等の手間をかけずに容易に変更することができる。
(ゲームプログラムによる処理)
次に、図12〜図14を参照して、光ディスク4に記憶されるゲームプログラムの実行によってゲーム装置3が行う処理について説明する。図12は、ゲームプログラムの実行によってゲーム装置3が行う処理の流れを示すフローチャートである。上記メニュー画像が表示されている場合(図11)においてゲームプログラムを実行する指示がユーザによって行われると、ゲーム装置3は当該ゲームプログラムの実行を開始する。すなわち、メインメモリ等の各ユニットが初期化された後、当該ゲームプログラムがメインメモリに読み込まれ、CPU10によって当該ゲームプログラムの実行が開始される。図12に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。
図12に示す処理において、まずステップS11においては、CPU10は、画像生成モードを設定する。ここで、本実施形態においては、ゲーム画像の生成に関するモード(画像生成モード)としては、1画像モードと2画像モードという2種類のモードがある。1画像モードとは、ゲーム装置3における処理の結果として1種類の画像を生成するモードであり、2画像モードとは、ゲーム装置3における処理の結果として2種類の画像を生成するモードである。上記ステップS11では、画像生成モードを1画像モードに設定するか、それとも2画像モードに設定するかが決定される。なお、本実施形態においては、無線出力モードでない場合には、CPU10は、画像生成モードを自動的に1画像モードに設定するものとする。この場合には、第1のディスプレイ2のみが使用されるので、2種類の画像を生成する必要がないからである。
上記画像生成モードは、どのように設定されてもよいが、例えば、プレイヤ(ユーザ)の指示に従って設定されてもよい。また、画像生成モードは例えば、操作に用いられるコントローラの上記接続情報(ゲーム装置3と無線接続されているか、それとも、画像出力装置8と無線接続されているか)に基づいて設定されてもよい。すなわち、CPU10は、メモリに記憶されているコントローラデータ66を参照して、コントローラの接続情報を特定する。そして、ゲーム装置3および画像出力装置8のうちでいずれか一方の装置と全てのコントローラとが無線接続されている場合、1画像モードに設定する。この場合、無線接続されているコントローラが存在しない方の装置は、プレイヤによって使用されない、すなわち、1つのディスプレイのみが使用されると推測されるからである。一方、ゲーム装置3と無線接続されているコントローラが存在し、かつ、画像出力装置8と無線接続されているコントローラが存在する場合、2画像モードに設定する。この場合は、2つのディスプレイが両方とも使用されると推測されるからである。
また、本実施形態においては、画像生成モードの設定は、ゲームの最初(図12に示す処理の最初)にのみ行われることとした。ここで、他の実施形態においては、ゲーム途中(ステップS12〜S15の処理ループ中)において、画像生成モードの設定が行われてもよい。例えば、CPU10は、ゲーム途中においてプレイヤから所定の指示があった場合に、画像生成モードの設定の変更を行うようにしてもよい。また、他の実施形態においては、画像生成モードの設定は、ゲームの開始前(例えば、メニュー画像が表示されている場合)に行われてもよい。
上記ステップS11において、画像生成モードが1画像モードに設定された場合、CPU10は、オフを示すデータを2画像フラグデータ65としてメモリに記憶する。一方、画像生成モードが2画像モードに設定された場合、CPU10は、オンを示すデータを2画像フラグデータ65としてメモリに記憶する。上記ステップS11の次に、ステップS12の処理が実行される。
ステップS12において、CPU10は操作データを取得する。ステップS12の処理は上述したステップS9と同様であり、CPU10は、ゲーム装置3と直接通信可能なコントローラ、および、画像出力装置8を介して間接的に通信可能なコントローラの両方から操作データを取得する。ステップS12の次にステップS13の処理が実行される。
ステップS13において、CPU10は、ゲーム操作(ステップS12で取得された操作データ)に基づくゲーム処理を実行する。ステップS13において実行される具体的な処理は、どのような処理であってもよいが、例えば、プレイヤの操作対象であるゲームキャラクタの動作を制御する処理や、ゲーム画像としてカーソルが表示される場合に当該カーソルを移動させる処理である。なお、本実施形態においては、第1のディスプレイ2と同様に第2のディスプレイ9にもマーカ(画像出力装置8のマーカ部32)が設置されるので、2つのディスプレイ2および9のどちらが用いられる場合でも、CPU10はマーカ座標データに基づくゲーム処理が可能である。また、ステップS13においては、ゲーム操作に基づくゲーム処理の他、ゲーム操作とは直接関連しない処理(例えば、ゲーム空間に登場する他のゲームキャラクタの動作を自動的に制御する処理等)が実行されてもよい。ステップS13の次にステップS14の処理が実行される。
ステップS14において、CPU10は画像表示処理を実行する。画像表示処理とは、ステップS13のゲーム処理に基づいてゲーム状況を表す画像(例えば、プレイヤキャラクタが登場するゲーム空間を表す画像)を生成して表示する処理である。以下、図13を参照して、画像表示処理の詳細について説明する。
図13は、図12に示す画像表示処理(ステップS14)の流れを示すフローチャートである。画像表示処理においては、まずステップS21において、CPU10は、無線出力モードであるか否かを判定する。ステップS21の判定は、ステップS4の判定と同様、メモリに記憶されている無線フラグデータ64がオンを示すか否かによって行われる。ステップS21の判定結果が否定である場合、ステップS22およびS23の処理が実行される。一方、ステップS21の判定結果が肯定である場合、後述するステップS24の処理が実行される。
ステップS22において、CPU10は1つのゲーム画像を生成する。ステップS22で生成されるゲーム画像は、どのような画像であってもよいが、例えば、プレイヤキャラクタを含むゲーム空間の画像が生成される。なお、プレイヤキャラクタが複数である場合には、全てのプレイヤキャラクタを含むようにゲーム画像が生成されることが好ましい。例えば、CPU10は、全てのプレイヤキャラクタを含むように、ゲーム空間のうちでゲーム画像として表示される領域(表示領域)を調整してもよいし、各プレイヤを含む複数種類の画像を生成し、当該複数種類の画像を合わせて1画面分としたゲーム画像(すなわち、1画面が複数個に分割されたゲーム画像)を生成してもよい。また、ステップS22においては、CPU10は、ゲーム画像に応じたゲーム音声を生成する。ステップS22の次にステップS23の処理が実行される。
ステップS23において、CPU10は、ステップS22で生成されたゲーム画像を第1のディスプレイ2へ出力する。具体的には、CPU10は、ゲーム画像のデータをAV−IC15からAVコネクタ16を介して第1のディスプレイ2へ出力する。これによって、第1のディスプレイ2にゲーム画像が表示される。なお、ステップS23においては、画像出力装置8は用いられていないので、第2のディスプレイ9にゲーム画像は表示されない。また、本実施形態においては、第1のディスプレイ2へゲーム画像が出力されるとともに、第1のディスプレイ2のスピーカ2aへゲーム音声が出力され、スピーカ2aからゲーム音声が発音される。ステップS23の後、CPU10は画像表示処理を終了する。
一方、ステップS24において、CPU10は、画像生成モードが2画像モードであるか否かを判定する。ステップS21の判定は、メモリに記憶されている2画像フラグデータ65がオンを示すかそれともオフを示すかによって行うことができる。ステップS24の判定結果が否定である場合、ステップS25およびS26の処理が実行される。一方、ステップS24の判定結果が肯定である場合、後述するステップS27およびS28の処理が実行される。
ステップS25において、CPU10は1つのゲーム画像を生成する。ステップS25の処理は上記ステップS22と同じ処理である。ステップS25の次のステップS26において、CPU10は、ステップS22で生成されたゲーム画像を第1のディスプレイ2へ出力するとともに、画像出力装置8へ無線出力する。具体的には、ゲーム画像およびゲーム音声のデータは、ステップS23と同様の方法で第1のディスプレイ2およびスピーカ2aへ出力される。さらに、ゲーム画像のデータは、画像圧縮部27によって圧縮された後、高速無線通信モジュール28によってアンテナ29を介して画像出力装置8へ送信される。画像出力装置8においては、アンテナ33を介して高速無線通信モジュール34によってゲーム画像のデータが受信される。受信されたゲーム画像のデータは、画像伸張部35によって伸張された後、AV−IC36からAVコネクタ37を介して第2のディスプレイ9へ出力される。これによって、第2のディスプレイ9にゲーム画像が表示される。なお、本実施形態においては、ゲーム画像のデータとともにゲーム音声のデータもゲーム装置3から画像出力装置8へ送信され、画像出力装置8によって第2のディスプレイ9のスピーカ9aへ出力される。以上のステップS26の後、CPU10は画像表示処理を終了する。
一方、ステップS27において、CPU10は2種類のゲーム画像を生成する。ステップS27で生成される2種類のゲーム画像は、一方は第1のディスプレイ2に表示するための第1のゲーム画像であり、他方は、第2のディスプレイ9に表示するための第2のゲーム画像である。2種類のゲーム画像はどのような画像であってもよいが、例えば、プレイヤが2人である場合には、CPU10は、各プレイヤに対応する2種類のゲーム画像を生成してもよい。より具体的には、CPU10は、一方のプレイヤによって操作されるプレイヤキャラクタを含むゲーム画像を第1のゲーム画像として生成し、他方のプレイヤによって操作されるプレイヤキャラクタを含むゲーム画像を第2のゲーム画像として生成してもよい。なお、2種類のゲーム画像のうちいずれを第1のゲーム画像とし、いずれを第2のゲーム画像とするかは、コントローラデータ66により示される上記接続情報に基づいて決定することができる。すなわち、上記接続情報を参照すれば、2つのコントローラのうちでいずれがゲーム装置3と無線接続されており、いずれが画像出力装置8と無線接続されているかを特定することができる。したがって、CPU10は、ゲーム装置3と無線接続されているコントローラによって操作可能なプレイヤキャラクタを含むゲーム画像を第1のゲーム画像とし、画像出力装置8と無線接続されているコントローラによって操作可能なプレイヤキャラクタを含むゲーム画像を第2のゲーム画像として生成すればよい。このように、ステップS27において生成される2種類のゲーム画像は、コントローラデータ66により示される上記接続情報に基づいて生成されてもよい。
また、上記ステップS27においてCPU10は、2種類のゲーム画像に応じて2種類のゲーム音声を生成する。第1のゲーム画像に対応するゲーム音声は、上記ステップS22と同様の方法でスピーカ2aへ出力される。第2のゲーム画像に対応するゲーム音声は、上記ステップS26と同様の方法で画像出力装置8へ送信された後、スピーカ9aへ出力される。上記ステップS27の次に、ステップS28の処理が実行される。
上記においては、2人のプレイヤのそれぞれに対応する2種類のゲーム画像を生成する場合を例として説明した。ここで、他の実施形態においては、1人のプレイヤのために2種類のゲーム画像を生成してもよい(つまり、上記ステップS11においては、ゲームに用いられるコントローラが1つである場合であっても、画像生成モードは2画像モードに設定されてもよい。)。例えば、CPU10は、1人のプレイヤがゲーム空間におけるプレイヤキャラクタの位置をより把握しやすくする等の目的で、相対的に広い領域のゲーム空間を表すゲーム画像と、相対的に狭い領域のゲーム空間を表すゲーム画像とを2種類のゲーム画像として生成してもよい。
ステップS28において、CPU10は、ステップS27で生成された2種類のゲーム画像を、第1のディスプレイ2へ出力するとともに、画像出力装置8へ無線出力する。すなわち、CPU10は、第1のゲーム画像を第1のディスプレイ2へ出力し、第2のゲーム画像を画像出力装置8へ無線出力する。ステップS28において各ゲーム画像を出力する具体的な処理動作は、ゲーム画像の内容が異なる点を除いて、上述したステップS26と同じである。ステップS28によって、第1のゲーム画像が第1のディスプレイ2に表示され、第2のゲーム画像が第2のディスプレイ9に表示される。以上のステップS28の後、CPU10は画像表示処理を終了する。
図12の説明に戻り、ステップS14の画像表示処理の次に、ステップS15の処理が実行される。すなわち、ステップS15において、CPU10は、ゲームを終了するか否かを判定する。ステップS15の判定は、例えば、ゲームがクリアされたか否か、ゲームオーバーとなったか否か、プレイヤがゲームを中止する指示を行ったか否か等によって行われる。ステップS15の判定結果が否定である場合、ステップS12の処理が再度実行される。以降、ステップS15でゲームを終了すると判定されるまで、ステップS12〜S15の処理ループが繰り返し実行される。一方、ステップS15の判定結果が肯定である場合、CPU31は、図12に示す処理を終了する。
図14は、図12に示す処理によって2つのディスプレイに表示されるゲーム画像を利用形態毎に示す図である。ここで、本ゲームシステム1は、図14に示す第1〜第4の利用形態という、4つの利用形態で利用されることが可能である。
第1の利用形態は、画像出力装置8が用いられない形態である。この場合、画像出力装置8の電源がオフであるので、無線フラグはオフに設定される。したがって、上記ステップS21における判定結果は否定となる結果、第1のディスプレイ2のみにゲーム画像Aが出力されて表示される。
第2の利用形態は、画像出力装置8が用いられ、第1のディスプレイ2はゲームに用いられない(第1のディスプレイ2は電源がオフにされるか、あるいは、他の用途に用いられる)形態である。この場合、画像出力装置8の電源がオンであるので、無線フラグはオンに設定される。また、第1のディスプレイ2はゲームに用いられないので、ゲーム装置3と無線接続されるコントローラは存在せず、画像生成モードは1画像モードに設定される。したがって、上記ステップS21における判定結果は肯定となり、上記ステップS24における判定結果は否定となる結果、各ディスプレイ2および9にゲーム画像Aが出力される。ただし、第2の利用形態では第1のディスプレイ2はゲームに用いられないため、第1のディスプレイ2には(ゲーム画像が出力されるものの)ゲーム画像は表示されない。その結果、第2のディスプレイ9のみにゲーム画像Aが表示される。
第3の利用形態は、画像出力装置8が用いられ、2つのディスプレイ2および9がゲームに用いられる形態である。ただし、第3の利用形態では、画像生成モードは1画像モードに設定される。この場合、上記第2の利用形態と同様、上記ステップS21における判定結果は肯定となり、上記ステップS24における判定結果は否定となる結果、各ディスプレイ2および9にゲーム画像Aが出力される。また、第3の利用形態では第1のディスプレイ2がゲームに用いられるので、各ディスプレイ2および9に同じゲーム画像Aが表示される。
第4の利用形態は、画像出力装置8が用いられ、2つのディスプレイ2および9がゲームに用いられる形態である。ただし、第4の利用形態では、画像生成モードは2画像モードに設定される。この場合、上記ステップS21における判定結果は肯定となり、上記ステップS24における判定結果は肯定となる結果、第1のディスプレイ2へゲーム画像Aが出力され、第2のディスプレイ9へ(ゲーム画像Aとは異なる)ゲーム画像Bが出力される。したがって、第4の利用形態では、第1のディスプレイ2にゲーム画像Aが表示され、第2のディスプレイ9にゲーム画像Bが表示される。
なお、本実施形態においては、ゲーム装置3は、第1のディスプレイ2へゲーム画像を常時出力するものとしたが、他の実施形態においては、所定の場合に第1のディスプレイ2へのゲーム画像の出力を停止するようにしてもよい。例えば、CPU10は、コントローラデータ66により示される接続情報に基づいて、第1のディスプレイ2へのゲーム画像の出力を行うか否かを判断してもよい。具体的には、CPU10は、ゲーム装置3と無線接続されるコントローラが存在するか否かを上記接続情報から判断し、存在しない場合には、第1のディスプレイ2へのゲーム画像の出力を停止するようにしてもよい。
以上のように、本実施形態によれば、図14に示すように、ユーザ(プレイヤ)は、第1のディスプレイ2をゲームに用いる第1の利用形態としてゲームシステム1を利用することも可能であるし、第2のディスプレイ9をゲームに用いる第2の利用形態としてゲームシステム1を利用することも可能である。すなわち、本実施形態によれば、ユーザは、第1のディスプレイ2および第2のディスプレイ9のいずれをゲームに用いるかを、ゲーム装置3やディスプレイの配線を全く変更しなくとも自由に選択することができ、ゲームに用いる表示装置を容易に変更することができる。
また、本実施形態によれば、図14に示すように、ユーザは、同じ1つのゲーム画像が2つのディスプレイ2および9に表示される第3の利用形態としてゲームシステム1を利用することも可能であるし、異なるゲーム画像が2つのディスプレイ2および9に表示される第4の利用形態としてゲームシステム1を利用することも可能である。すなわち、本実施形態によれば、ユーザは、1つのゲーム装置において複数の表示装置を用いてゲームを行うことができる。
[他の実施形態]
上記実施形態は本発明を実施する一例であり、他の実施形態においては例えば以下に説明する構成で本発明を実施することも可能である。
(コントローラの無線通信に関する変形例)
上記実施形態においては、コントローラは、ゲーム装置3および画像出力装置8と無線通信可能であったが、他の実施形態においては、ゲーム装置3とのみ無線通信可能であってもよい。図15は、第1の変形例に係るゲームシステム111に含まれる各装置の接続関係を示すブロック図である。図15において、ゲームシステム111は、第1のディスプレイ2、ゲーム装置3、光ディスク4、第1のコントローラ5、マーカ装置6、第2のコントローラ7、画像出力装置108、および、第2のディスプレイ9を含む。なお、図15において、図2と同じ構成要素については図2と同じ参照符号を付し、詳細な説明を省略する。
図15に示すゲームシステム111においては、画像出力装置108は、コントローラと無線通信を行う機能を有していない。そのため、第2のコントローラ7は、ゲーム装置3との間で無線通信を行う。この場合、画像出力装置108の周囲で使用される第2のコントローラ7は、(画像出力装置108に比べて)離れた位置にあるゲーム装置3と無線通信を行う必要がある。したがって、ゲームシステム111においては、コントローラとゲーム装置3とが通信可能な範囲は、別の部屋に配置されていても通信可能となる程度(例えば、数十メートル程度)に設定されることが好ましい。なお、他の実施形態においては、コントローラは、ゲーム装置3とのみ無線通信可能なものと、ゲーム装置3および画像出力装置8の両方と無線通信可能なものとが用いられてもよい。
(ゲーム装置に接続される表示装置を含まない変形例)
上記実施形態においては、ゲームシステム1は、ゲーム装置3に接続される表示装置(第1のディスプレイ2)を含む形態であった。ここで、他の実施形態においては、ゲームシステムはゲーム装置3に接続される表示装置を含まない形態であってもよい。図16は、第2の変形例に係るゲームシステム111に含まれる各装置の接続関係を示すブロック図である。図16において、ゲームシステム121は、ゲーム装置3、2つのコントローラ117および127、2つの画像出力装置118および128、ならびに、2つのディスプレイ119および129を含む。なお、画像出力装置118および128は上記実施形態における画像出力装置8と同じであり、コントローラ117および127は上記実施形態におけるコントローラ5または7と同じである。
図16に示すゲームシステム121において、コントローラ117、画像出力装置118、およびディスプレイ119の処理動作は、上記実施形態における第2のコントローラ7、画像出力装置8、および第2のディスプレイ9と同様である。また、コントローラ127、画像出力装置128、およびディスプレイ129の処理動作も、上記実施形態における第2のコントローラ7、画像出力装置8、および第2のディスプレイ9と同様である。したがって、ゲームシステム121においても上記実施形態に係るゲームシステム1と同様、2つのディスプレイ119および129に画像を表示することができる。なお、各画像出力装置118および128と各ディスプレイ119および129との通信は、無線通信であってもよい。また、第2の変形例において、ゲーム装置3は、複数の画像出力装置118および128のそれぞれと無線通信を行うが、このとき、ゲーム装置3は、2つの画像出力装置8との無線通信を時分割で行ってもよいし、周波数帯域を分割して行ってもよい。
また、図16においても上記ステップS27と同様、ゲーム装置3のCPU10は、複数の画像出力装置118および128と対応する複数の異なる画像を生成してもよい。そして、高速無線通信モジュール28は、画像出力装置118へそれに対応する画像を送信するとともに、画像出力装置128へそれに対応する画像を送信する。これによって、第2の変形例においても各表示装置に異なる画像を表示することができる。なお、図16においては、画像出力装置とディスプレイとの組を2組としたが、画像出力装置とディスプレイとの組は3組以上であってもよい。画像出力装置とディスプレイとの組を増やすことによって、同時に使用できる表示装置の数を増やすことができる。また、ゲームシステムにおいて用いられる表示装置が3つ以上である場合、ゲーム装置3は、上記ステップS27において3種類以上の画像を生成するようにしてもよい。また、図15に示すゲームシステム121においても画像出力装置の数を複数としてもよい。
また、図16においては、各コントローラ117および127は画像出力装置118と無線通信を行うものとした。ここで、他の実施形態においては、各コントローラ117および127はゲーム装置3と無線通信を行ってもよい。すなわち、画像出力装置は、コントローラと無線通信を行う機能を有していなくてもよい。