[ゲームシステムの全体構成]
以下、図面を参照して、本発明の一実施形態に係る照明装置を含むゲームシステム1について説明する。図1は、ゲームシステム1の外観図である。また、図2は、ゲームシステム1に含まれる各装置の接続関係を示すブロック図である。図1において、ゲームシステム1は、テレビジョン受像器(以下、単に「テレビ」と記載する)2、ゲーム装置3、光ディスク4、コントローラ5、マーカ装置6、および、照明装置9を含む。ゲームシステム1は、コントローラ5を用いたゲーム操作に基づいてゲーム装置3においてゲーム処理を実行し、ゲーム処理の結果得られるゲーム画像等をテレビ2に表示するものである。
ゲーム装置3には、当該ゲーム装置3に対して交換可能に用いられる情報記憶媒体の一例である光ディスク4が脱着可能に挿入される。光ディスク4には、ゲーム装置3において実行されるためのゲームプログラムが記憶されている。ゲーム装置3の前面には光ディスク4の挿入口が設けられている。ゲーム装置3は、挿入口に挿入された光ディスク4に記憶されているゲームプログラムを読み出して実行することによってゲーム処理を実行する。また、コントローラ5は、自機に対して行われた操作の内容を示す操作データをゲーム装置3に与える入力装置である。図2に示すように、コントローラ5とゲーム装置3とは無線通信によって接続される。本実施形態では、コントローラ5とゲーム装置3との間の無線通信には例えばBluetooth(ブルートゥース)(登録商標)の技術が用いられる。他の実施形態においてはコントローラ5とゲーム装置3とは有線で接続されてもよい。
図1および図2に示すように、ゲーム装置3には、表示装置の一例であるテレビ2(スピーカ2aを含む)が接続コードを介して接続される。テレビ2は、ゲーム装置3において実行されるゲーム処理の結果得られるゲーム画像を表示する。また、テレビ2はスピーカ2aを有しており、スピーカ2aは、上記ゲーム処理の結果得られるゲーム音声を出力する。
テレビ2の周辺(図1では画面の上側)には、マーカ装置6が設置される。詳細は後述するが、ユーザはコントローラ5を動かすゲーム操作を行うことができ、マーカ装置6は、コントローラ5の動きをゲーム装置3が検出するために用いられる。マーカ装置6は、その両端に2つのマーカ6Rおよび6Lを備えている。マーカ6R(マーカ6Lも同様)は、具体的には1以上の赤外LED(Light Emitting Diode)であり、テレビ2の前方に向かって赤外光を出力する。図2に示すようにマーカ装置6はゲーム装置3に接続されており、マーカ装置6が備える各赤外LEDの点灯はゲーム装置3によって制御される。なお、図1ではマーカ装置6がテレビ2の上に設置された態様を表しているが、マーカ装置6を設置する位置および向きは任意である。
また、テレビ2の周辺(図1では画面の上側)には、照明装置9が設置される。照明装置9は、テレビ2に表示される画像に加えてさらなる視覚効果(照明効果)をユーザに与える目的で、可視光を出力する装置である。図2に示すように、照明装置9はゲーム装置3に接続されており、照明装置9の発光はゲーム装置3によって制御される。
照明装置9を設置する位置および向きは任意である。ただし、本実施形態では、照明装置9がテレビ2の後方の壁面(家の壁やカーテン等)に可視光を投光し、壁面に当たった光をユーザに見せることを想定している(図15参照)。そのため、テレビ2の後方へ向かって可視光を出射するように照明装置9が設置されることが好ましい。また、図1では、照明装置9はマーカ装置6の上に設置される。他の実施形態においては、照明装置9は、テレビ2の上に直接設置されてもよいし、テレビ2が載置されている台座上であってテレビ2の後方の位置に設置されてもよい。また、テレビ2の裏側に掛止することが可能な部材を照明装置9に設け、テレビ2の裏側に掛止させることで照明装置9を配置するようにしてもよい。
また、他の実施形態においては、照明装置9とマーカ装置6とが着脱可能となるように構成してもよい。さらにこのとき、照明装置9とマーカ装置6とを装着した場合に、マーカ装置6が赤外光を出射する方向の反対側へ照明装置9が可視光を出射する配置となるように装着可能であることが好ましい。これによれば、赤外光をテレビ2の前方へ向けて出射するとともに、可視光をテレビ2の後方へ向けて出射することができるので、本実施形態のようにテレビ2の後方の壁面に照明装置9による可視光を投光することを想定する場合には有効である。
また、本実施形態ではマーカ装置6と照明装置9とは別体であるが、他の実施形態においては、マーカ装置6と照明装置9とを一体としてもよい。すなわち、単一の筐体内にマーカ装置6の赤外LEDと照明装置9の光モジュールとを含めるようにしてもよい。なお、本実施形態のようにテレビ2の後方の壁面に照明装置9による可視光を投光することを想定する場合には、マーカ装置6が赤外光を出射する方向の反対側へ照明装置9が可視光を出射するように、上記筐体内にマーカ装置6と照明装置9とを取り付けることが好ましい。これによれば、赤外光をテレビ2の前方へ向けて出射するとともに、可視光をテレビ2の後方へ向けて出射することができる。
[ゲーム装置3の内部構成]
次に、図3を参照して、ゲーム装置3の内部構成について説明する。図3は、ゲームシステム1の各装置の構成を示すブロック図である。ゲーム装置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を介してテレビ2に出力するとともに、読み出した音声データを、テレビ2に内蔵されるスピーカ2aに出力する。これによって、画像がテレビ2に表示されるとともに音がスピーカ2aから出力される。
入出力プロセッサ11aは、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ11aは、フラッシュメモリ17、無線通信モジュール18、無線コントローラモジュール19、拡張コネクタ20、およびメモリカード用コネクタ21に接続される。無線通信モジュール18にはアンテナ22が接続され、無線コントローラモジュール19にはアンテナ23が接続される。
入出力プロセッサ11aは、無線通信モジュール18およびアンテナ22を介してネットワークに接続し、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。入出力プロセッサ11aは、定期的にフラッシュメモリ17にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、無線通信モジュール18およびアンテナ22を介してネットワークに送信する。また、入出力プロセッサ11aは、他のゲーム装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ22および無線通信モジュール18を介して受信し、受信したデータをフラッシュメモリ17に記憶する。CPU10はゲームプログラムを実行することにより、フラッシュメモリ17に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ17には、ゲーム装置3と他のゲーム装置や各種サーバとの間で送受信されるデータの他、ゲーム装置3を利用してプレイしたゲームのセーブデータ(ゲームの結果データまたは途中データ)が記憶されてもよい。
また、入出力プロセッサ11aは、コントローラ5から送信される操作データをアンテナ23および無線コントローラモジュール19を介して受信し、内部メインメモリ11eまたは外部メインメモリ12のバッファ領域に記憶(一時記憶)する。
さらに、入出力プロセッサ11aには、拡張コネクタ20およびメモリカード用コネクタ21が接続される。拡張コネクタ20は、USBやSCSIのようなインターフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したり、有線の通信用コネクタを接続することによって無線通信モジュール18に替えてネットワークとの通信を行ったりすることができる。本実施形態においては、照明装置9をゲーム装置3に接続するために拡張コネクタ20が利用される。メモリカード用コネクタ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以外の構成要素に対して、電源供給を停止する指示を行う。したがって、このスリープモードは、CPU10によってアプリケーションが実行されないモードである。ただし、スリープモードにおいても、ゲーム装置3は外部からのデータを受信することが可能であり、他のゲーム装置やダウンロードサーバから送信されてくるデータは、フラッシュメモリ17に記憶される。
なお、システムLSI11には、スリープモードにおいても電源が供給される。ただし、スリープモードにおいては、システムLSI11は、GPU11b、DSP11cおよびVRAM11dの各構成要素へのクロックの供給を停止する。これによって、これらの構成要素を駆動させないようにして、消費電力の低減を図っている。また、図示は省略するが、ゲーム装置3のハウジング内部には、CPU10やシステムLSI11等のICの熱を外部に排出するためのファンが設けられる。スリープモードでは、このファンも停止される。
また、ゲーム装置3は、通常モードとスリープモードとの切り替えを、コントローラ5の電源ボタンを押下することによる遠隔操作によって行うことが可能である。なお、この遠隔操作による切り替えを行わない場合には、スリープモードにおいて無線コントローラモジュール19への電源供給を行わないようにしてもよい。また、ゲーム装置3は、ユーザの指示により、スリープモードを利用しない設定にすることが可能であってもよい。スリープモードを利用しない場合には、電源ボタン24がオフされた場合、すべての回路への電源供給が完全に停止される。
照明装置9は拡張コネクタ20を介してゲーム装置3に着脱可能に接続される。照明装置9は、テレビ2に表示される画像に加えてさらなる視覚効果をユーザに与える目的で可視光を出射する装置である。図3に示すように、照明装置9は、コネクタ27、マイコン28、および、各光モジュール29を備えている。コネクタ27は、図示しないケーブルを介してゲーム装置3の拡張コネクタ20に着脱可能に接続される。なお、ゲーム装置3と照明装置9との通信方法はどのような方法であってもよく、他の実施形態においては、無線で通信を行うものであってもよい。
また、マイコン28はコネクタ27に接続されており、各光モジュール29はマイコン28に接続されている。各光モジュール29は、それぞれ可視光を発する複数の発光装置である。本実施形態では、各光モジュール29は、複数種類の色をそれぞれ発光可能な複数のカラーLEDモジュールで構成される。なお、各光モジュール29の詳細な構成については後述する。マイコン28は、各光モジュール29の発光を制御する回路である。ゲーム装置3は、各光モジュール29が発光すべき色を指示するデータを照明装置9へ送信する。マイコン28は、ゲーム装置3から送信されてくる上記データをコネクタ27を介して取得し、当該データに従って各光モジュール29の発光を制御する。なお、照明装置9に対しては、図示しないACアダプタを経て(ゲーム装置3とは独立して)電源が供給されてもよいし、ゲーム装置3から電源が供給されてもよい。
[コントローラ5の構成]
次に、図4〜図7を参照して、コントローラ5について説明する。図4は、コントローラ5の外観構成を示す斜視図である。図5は、コントローラ5の外観構成を示す斜視図である。図4は、コントローラ5の上側後方から見た斜視図であり、図5は、コントローラ5を下側前方から見た斜視図である。
図4および図5において、コントローラ5は、例えばプラスチック成型によって形成されたハウジング31を有している。ハウジング31は、その前後方向(図4に示すZ軸方向)を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。ユーザ(プレイヤ)は、コントローラ5に設けられたボタンを押下すること、および、コントローラ5自体を動かしてその位置や姿勢を変えることによってゲーム操作を行うことができる。
ハウジング31には、複数の操作ボタンが設けられる。図4に示すように、ハウジング31の上面には、十字ボタン32a、1番ボタン32b、2番ボタン32c、Aボタン32d、マイナスボタン32e、ホームボタン32f、プラスボタン32g、および電源ボタン32hが設けられる。本明細書では、これらのボタン32a〜32hが設けられるハウジング31の上面を「ボタン面」と呼ぶことがある。一方、図5に示すように、ハウジング31の下面には凹部が形成されており、当該凹部の後面側傾斜面にはBボタン32iが設けられる。これらの各操作ボタン32a〜32iには、ゲーム装置3が実行するゲームプログラムに応じた機能が適宜割り当てられる。また、電源ボタン32hは遠隔からゲーム装置3本体の電源をオン/オフするためのものである。ホームボタン32fおよび電源ボタン32hは、その上面がハウジング31の上面に埋没している。これによって、プレイヤがホームボタン32fまたは電源ボタン32hを誤って押下することを防止することができる。
ハウジング31の後面にはコネクタ33が設けられている。コネクタ33は、コントローラ5に他の機器を接続するために利用される。また、ハウジング31の後面におけるコネクタ33の両側には、上記他の機器が容易に離脱することを防止するために係止穴33aが設けられている。
ハウジング31上面の後方には複数(図4では4つ)のLED34a〜34dが設けられる。ここで、コントローラ5には、他のメインコントローラと区別するためにコントローラ種別(番号)が付与される。各LED34a〜34dは、コントローラ5に現在設定されている上記コントローラ種別をプレイヤに通知したり、コントローラ5の電池残量をプレイヤに通知したりする等の目的で用いられる。具体的には、コントローラ5を用いてゲーム操作が行われる際、上記コントローラ種別に応じて複数のLED34a〜34dのいずれか1つが点灯する。
また、コントローラ5は撮像情報演算部35(図7)を有しており、図5に示すように、ハウジング31前面には撮像情報演算部35の光入射面35aが設けられる。光入射面35aは、マーカ6Rおよび6Lからの赤外光を少なくとも透過する材質で構成される。
ハウジング31上面における1番ボタン32bとホームボタン32fとの間には、コントローラ5に内蔵されるスピーカ49(図6)からの音を外部に放出するための音抜き孔31aが形成されている。
次に、図6および図7を参照して、コントローラ5の内部構造について説明する。図6および図7は、コントローラ5の内部構造を示す図である。なお、図6は、コントローラ5の上筐体(ハウジング31の一部)を外した状態を示す斜視図である。図7は、コントローラ5の下筐体(ハウジング31の一部)を外した状態を示す斜視図である。図7に示す斜視図は、図6に示す基板30を裏面から見た斜視図となっている。
図6において、ハウジング31の内部には基板30が固設されており、当該基板30の上主面上に各操作ボタン32a〜32h、各LED34a〜34d、加速度センサ37、アンテナ45、およびスピーカ49等が設けられる。これらは、基板30等に形成された配線(図示せず)によってマイクロコンピュータ(Micro Computer:マイコン)42(図7参照)に接続される。本実施形態では、加速度センサ37は、X軸方向に関してコントローラ5の中心からずれた位置に配置されている。これによって、コントローラ5をZ軸回りに回転させたときのコントローラ5の動きが算出しやすくなる。また、加速度センサ37は、長手方向(Z軸方向)に関してコントローラ5の中心よりも前方に配置されている。また、無線モジュール44(図7)およびアンテナ45によって、コントローラ5がワイヤレスコントローラとして機能する。
一方、図7において、基板30の下主面上の前端縁に撮像情報演算部35が設けられる。撮像情報演算部35は、コントローラ5の前方から順に赤外線フィルタ38、レンズ39、撮像素子40、および画像処理回路41を備えている。これらの部材38〜41はそれぞれ基板30の下主面に取り付けられる。
さらに、基板30の下主面上には、上記マイコン42およびバイブレータ48が設けられている。バイブレータ48は、例えば振動モータやソレノイドであり、基板30等に形成された配線によってマイコン42と接続される。マイコン42の指示によりバイブレータ48が作動することによってコントローラ5に振動が発生する。これによって、コントローラ5を把持しているプレイヤの手にその振動が伝達される、いわゆる振動対応ゲームを実現することができる。本実施形態では、バイブレータ48は、ハウジング31のやや前方寄りに配置される。つまり、バイブレータ48がコントローラ5の中心よりも端側に配置することによって、バイブレータ48の振動によりコントローラ5全体を大きく振動させることができる。また、コネクタ33は、基板30の下主面上の後端縁に取り付けられる。なお、図6および図7に示す他、コントローラ5は、マイコン42の基本クロックを生成する水晶振動子、スピーカ49に音声信号を出力するアンプ等を備えている。
なお、図4〜図7に示したコントローラ5の形状や、各操作ボタンの形状、加速度センサやバイブレータの数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であっても、本発明を実現することができる。また、本実施形態では、撮像手段による撮像方向はZ軸正方向であるが、撮像方向はいずれの方向であってもよい。すなわち、コントローラ5における撮像情報演算部35の位置(撮像情報演算部35の光入射面35a)は、ハウジング31の前面でなくてもよく、ハウジング31の外部から光を取り入れることができれば他の面に設けられてもかまわない。
図8は、コントローラ5の構成を示すブロック図である。コントローラ5は、操作部32(各操作ボタン32a〜32i)、コネクタ33、撮像情報演算部35、通信部36、および加速度センサ37を備えている。コントローラ5は、自機に対して行われた操作内容を示すデータを操作データとしてゲーム装置3へ送信するものである。
操作部32は、上述した各操作ボタン32a〜32iを含み、各操作ボタン32a〜32iに対する入力状態(各操作ボタン32a〜32iが押下されたか否か)を示す操作ボタンデータを通信部36のマイコン42へ出力する。
撮像情報演算部35は、撮像手段が撮像した画像データを解析してその中で輝度が高い領域を判別してその領域の重心位置やサイズなどを算出するためのシステムである。撮像情報演算部35は、例えば最大200フレーム/秒程度のサンプリング周期を有するので、比較的高速なコントローラ5の動きでも追跡して解析することができる。
撮像情報演算部35は、赤外線フィルタ38、レンズ39、撮像素子40、および画像処理回路41を含んでいる。赤外線フィルタ38は、コントローラ5の前方から入射する光から赤外線のみを通過させる。レンズ39は、赤外線フィルタ38を透過した赤外線を集光して撮像素子40へ入射させる。撮像素子40は、例えばCMOSセンサやあるいはCCDセンサのような固体撮像素子であり、レンズ39が集光した赤外線を受光して画像信号を出力する。ここで、テレビ2の表示画面近傍に配置されるマーカ装置6のマーカ6Rおよび6Lは、テレビ2の前方に向かって赤外光を出力する赤外LEDで構成される。したがって、赤外線フィルタ38を設けることによって、撮像素子40は、赤外線フィルタ38を通過した赤外線だけを受光して画像データを生成するので、マーカ6Rおよび6Lの画像をより正確に撮像することができる。以下では、撮像素子40によって撮像された画像を撮像画像と呼ぶ。撮像素子40によって生成された画像データは、画像処理回路41で処理される。画像処理回路41は、撮像画像内における撮像対象(マーカ6Rおよび6L)の位置を算出する。画像処理回路41は、算出された位置を示す座標を通信部36のマイコン42へ出力する。この座標のデータは、マイコン42によって操作データとしてゲーム装置3に送信される。以下では、上記座標を「マーカ座標」と呼ぶ。マーカ座標はコントローラ5自体の向き(傾斜角度)や位置に対応して変化するので、ゲーム装置3はこのマーカ座標を用いてコントローラ5の向きや位置を算出することができる。
なお、他の実施形態においては、コントローラ5は画像処理回路41を備えていない構成であってもよく、撮像画像自体がコントローラ5からゲーム装置3へ送信されてもよい。このとき、ゲーム装置3は、画像処理回路41と同様の機能を有する回路あるいはプログラムを有しており、上記マーカ座標を算出するようにしてもよい。
加速度センサ37は、コントローラ5の加速度(重力加速度を含む)を検出する、すなわち、コントローラ5に加わる力(重力を含む)を検出する。加速度センサ37は、当該加速度センサ37の検出部に加わっている加速度のうち、センシング軸方向に沿った直線方向の加速度(直線加速度)の値を検出する。例えば、2軸以上の多軸加速度センサの場合には、加速度センサの検出部に加わっている加速度として、各軸に沿った成分の加速度をそれぞれ検出する。例えば、3軸または2軸の加速度センサは、アナログ・デバイセズ株式会社(Analog Devices, Inc.)またはSTマイクロエレクトロニクス社(STMicroelectronics N.V.)から入手可能である種類のものでもよい。なお、加速度センサ37は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。
本実施形態では、加速度センサ37は、コントローラ5を基準とした上下方向(図4に示すY軸方向)、左右方向(図4に示すX軸方向)および前後方向(図4に示すZ軸方向)の3軸方向に関してそれぞれ直線加速度を検出する。加速度センサ37は、各軸に沿った直線方向に関する加速度を検出するものであるため、加速度センサ37からの出力は3軸それぞれの直線加速度の値を表すものとなる。すなわち、検出された加速度は、コントローラ5を基準に設定されるXYZ座標系(コントローラ座標系)における3次元のベクトル(ax,ay,az)として表される。以下では、加速度センサ37によって検出される3軸に関する各加速度値を各成分とするベクトルを加速度ベクトルと呼ぶ。
加速度センサ37が検出した加速度を示すデータ(加速度データ)は、通信部36へ出力される。なお、加速度センサ37が検出した加速度は、コントローラ5自体の向き(傾斜角度)や動きに対応して変化するので、ゲーム装置3は加速度データを用いてコントローラ5の向きや動きを算出することができる。本実施形態では、ゲーム装置3は、加速度データに基づいてコントローラ5の姿勢(傾斜角度)を判断する。つまり、加速度センサ37は、コントローラ5の傾斜角度を判断するためのデータを出力するセンサとして用いられる。
なお、加速度センサ37から出力される加速度の信号に基づいて、ゲーム装置3のプロセッサ(例えばCPU10)またはコントローラ5のプロセッサ(例えばマイコン42)等のコンピュータが処理を行うことによって、コントローラ5に関するさらなる情報を推測または算出(判定)することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサ37を搭載するコントローラ5が静止状態であることを前提としてコンピュータ側の処理が実行される場合(すなわち、加速度センサによって検出される加速度が重力加速度のみであるとして処理が実行される場合)、コントローラ5が現実に静止状態であれば、検出された加速度に基づいてコントローラ5の姿勢が重力方向に対して傾いているか否かまたはどの程度傾いているかを知ることができる。具体的には、加速度センサ37の検出軸が鉛直下方向を向いている状態を基準としたとき、1G(重力加速度)がかかっているか否かによって、コントローラ5が基準に対して傾いているか否かを知ることができるし、その大きさによって基準に対してどの程度傾いているかも知ることができる。また、多軸の加速度センサ37の場合には、さらに各軸の加速度の信号に対して処理を施すことによって、重力方向に対してコントローラ5がどの程度傾いているかをより詳細に知ることができる。この場合において、プロセッサは、加速度センサ37からの出力に基づいてコントローラ5の傾斜角度を算出してもよいし、当該傾斜角度を算出せずに、コントローラ5の傾斜方向を算出するようにしてもよい。このように、加速度センサ37をプロセッサと組み合わせて用いることによって、コントローラ5の傾斜角度または姿勢を判定することができる。
一方、コントローラ5が動的な状態(コントローラ5が動かされている状態)であることを前提とする場合には、加速度センサ37は重力加速度に加えてコントローラ5の動きに応じた加速度を検出するので、検出された加速度から重力加速度の成分を所定の処理により除去することによってコントローラ5の動き方向を知ることができる。また、コントローラ5が動的な状態であることを前提とする場合であっても、検出された加速度から、加速度センサの動きに応じた加速度の成分を所定の処理により除去することによって、重力方向に対するコントローラ5の傾きを知ることが可能である。なお、他の実施例では、加速度センサ37は、内蔵の加速度検出手段で検出された加速度信号をマイコン42に出力する前に当該加速度信号に対して所定の処理を行うための、組込み式の処理装置または他の種類の専用の処理装置を備えていてもよい。組込み式または専用の処理装置は、例えば、加速度センサ37が静的な加速度(例えば、重力加速度)を検出するために用いられる場合、加速度信号を傾斜角(あるいは、他の好ましいパラメータ)に変換するものであってもよい。
なお、本実施形態では、コントローラの動きに応じて変化する値を出力するセンサとして、例えば静電容量式の加速度センサを用いることとしたが、他の方式の加速度センサやジャイロセンサを用いるようにしてもよい。ただし、加速度センサは各軸に沿った直線方向の加速度をそれぞれ検出するものであるのに対して、ジャイロセンサは回転に伴う角速度を検出するものである。つまり、加速度センサに代えてジャイロセンサを採用する場合には、検出される信号の性質が異なるため、両者を簡単に置き換えることはできない。そこで、加速度センサの代わりにジャイロセンサを用いて姿勢(傾斜角度)を算出する場合には、例えば次のような変更を行う。具体的には、ゲーム装置3は、検出開始の状態において姿勢の値を初期化する。そして、当該ジャイロセンサから出力される角速度のデータを積分する。さらに、積分結果を用いて、初期化された姿勢の値からの姿勢の変化量を算出する。この場合、算出される姿勢は、角度で表されることになる。
なお、既に説明したように、加速度センサによって傾斜角度(姿勢)を算出する場合には、加速度ベクトルを用いて傾斜角度を算出する。したがって、算出される傾斜角度はベクトルで表すことが可能であり、初期化を行わずとも絶対的な方向を算出することが可能である点で、加速度センサを用いる場合とジャイロセンサを用いる場合とは異なる。また、傾斜角度として算出される値の性質についても上記のように角度であるかベクトルであるかの違いがあるので、加速度センサからジャイロセンサへの置き換えを行う際には当該傾斜角度のデータに対しても所定の変換を行う必要がある。
通信部36は、マイコン42、メモリ43、無線モジュール44、およびアンテナ45を含んでいる。マイコン42は、処理を行う際にメモリ43を記憶領域として用いながら、マイコン42が取得したデータをゲーム装置3へ無線送信する無線モジュール44を制御する。また、マイコン42はコネクタ33に接続されている。
操作部32、撮像情報演算部35、および加速度センサ37からマイコン42へ出力されたデータは、一時的にメモリ43に格納される。これらのデータは、上記操作データとしてゲーム装置3へ送信される。すなわち、マイコン42は、ゲーム装置3の無線コントローラモジュール19への送信タイミングが到来すると、メモリ43に格納されている操作データを無線モジュール44へ出力する。無線モジュール44は、例えばBluetooth(ブルートゥース)(登録商標)の技術を用いて、所定周波数の搬送波を操作データで変調し、その微弱電波信号をアンテナ45から放射する。つまり、操作データは、無線モジュール44で微弱電波信号に変調されてコントローラ5から送信される。微弱電波信号はゲーム装置3側の無線コントローラモジュール19で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置3は操作データを取得することができる。そして、ゲーム装置3のCPU10は、取得した操作データとゲームプログラムとに基づいて、ゲーム処理を行う。なお、通信部36から無線コントローラモジュール19への無線送信は所定の周期毎に逐次行われるが、ゲームの処理は1/60秒を単位として(1フレーム時間として)行われることが一般的であるので、この時間以下の周期で送信を行うことが好ましい。コントローラ5の通信部36は、例えば1/200秒に1回の割合で各操作データをゲーム装置3の無線コントローラモジュール19へ出力する。
上記コントローラ5を用いることによって、プレイヤは、各操作ボタンを押下する従来の一般的なゲーム操作に加えて、コントローラ5を任意の傾斜角度に傾ける操作を行うことができる。その他、上記コントローラ5によれば、プレイヤは、コントローラ5によって画面上の任意の位置を指示する操作、および、コントローラ5自体を動かす操作を行うこともできる。
[照明装置9の構成]
次に、図9から図15を参照して、照明装置9の構成について説明する。図9は、照明装置9の外観図である。また、図10は、照明装置9内の主要な構成を示す斜視図である。図9において、照明装置9は、筐体51、カバー52、軸頭部53、支持軸54、支持部材55、および8個の光モジュール61〜68を備えている。照明装置9は、可視光を出射するものであり、テレビ2の後方の壁面に可視光を投光することで、テレビ2に表示される画像に加えてさらなる視覚効果をユーザに与えるものである。
図9に示すように、筐体51は上面(図9に示すy軸正方向側の面)が開口しており、筐体51の内部には、支持軸54、支持部材55、および8個の光モジュール61〜68が設置される。支持部材55の上には、8つの光モジュール61〜68(図3に示す各光モジュール)が取り付けられる。詳細は後述するが、各光モジュール61〜68はそれぞれ可視光を出射する部材である。また、支持部材55および各光モジュール61〜68の上方にある開口部には、透明なカバー52が取り付けられている。したがって、各光モジュール61〜68から出射された光は、カバー52を透過して筐体51の外部へ出射される。なお、他の実施形態においては、照明装置9はカバー52を備えていない構成であってもよく、光モジュール61〜68の出射面が外部に露出していてもよい。
また、図10に示すように、支持部材55は、その両端(図10に示すx軸方向の端部)で支持軸54に接続されている。支持軸54は、筐体51の側面に設けられた穴に挿入されている。したがって、支持部材55は筐体51によって(x軸まわりに)回転可能に支持されている。また、支持軸54は、筐体51の外側で軸頭部53と接続されている。したがって、ユーザは、軸頭部53を回転させることによって支持部材55を回転させる(傾きを変化させる)ことができる。以上のように、照明装置9は支持部材55および支持軸54を含むチルト機構を有しているので、ユーザは、支持部材55の傾きを変化させることによって、各光モジュール61〜68の出射方向を変化させることができる。
次に、光モジュールの内部構造について説明する。上記各光モジュール61〜68のうち、概ね同じ向き(正確には異なっている)に配置された7つの光モジュール61〜67は、光の断面が長手形状(線状)となる光(後述する「線状光」)を出射する。これら7つの光モジュール61〜67は、それぞれ同じ構成を有している。一方、光モジュール68は、光モジュール61〜67による光よりも断面が広い光(後述する「背景光」)を出射する。以下では、光モジュール61〜67と光モジュール68とを区別する目的で、前者を「線状光モジュール」と呼び、後者を「背景光モジュール」と呼ぶことがある。
図11は、線状光モジュールの内部構造を示す図である。図11において、線状光モジュール61は、筐体71、カラーLEDモジュール72、集光レンズ73、および拡散シート74を備えている。なお、図11では、線状光モジュール61の内部構成を示すが、他の線状光モジュール62〜67の内部構成も図11と同様である。
図11に示すように、筐体71は、上面が開口した箱状の形状である。筐体71内の基板(底部)には、カラーLEDモジュール72が取り付けられる。カラーLEDモジュール72は、複数種類の色の光を発光可能である。本実施形態では、カラーLEDモジュール72は、赤色LED75と緑色LED76と青色LED77とを有しており、各LED75〜77の発光強度(例えばそれぞれ256段階)をマイコン28(図2)が適宜調整することによって所望の色で発光することが可能である。3つのLED75〜77は、一列に(図11では、a軸方向に平行な軸Lに沿って一列に)配置される。
カラーLED72の上方には、集光レンズ73が設置される。図11では、集光レンズ73は筐体71の開口部に取り付けられる。本実施形態では、集光レンズ73は、一方向にのみ光を集束させる。本実施形態では、集光レンズ73の集束方向(レンズが曲率を有する方向)は、図11に示すc軸方向である(図11に示す矢印参照)。また、本実施形態では、光モジュール61の小型化を図るべく、集光レンズ73としてフレネルレンズ(リニアフレネルレンズ)を用いる。他の実施形態においては、リニアフレネルレンズに代えて凸シリンドリカルレンズを集光レンズ73として用いてもよい。
集光レンズ73の上側には、拡散シート74が取り付けられる。拡散シート74は、集光レンズ73の集束方向とは垂直な方向、すなわち、a軸方向にのみ光を拡散する。なお、他の実施形態においては、拡散シート74に代えて凹シリンドリカルレンズを用いてもよい。
図12は、線状光モジュールから出射される光を示す図である。図11に示すように、カラーLEDモジュール72からの光は、集光レンズ73によってc軸方向に集光されるとともに、拡散シート74によってa軸方向に拡散される。これによって、線状光モジュールから出射される光の断面形状は、図12に示すように、a軸方向に長く、c軸方向に短い長手形状(線状)となる。ここで、「光の断面形状」とは、光の進行方向に対して垂直な面に当該光を当てた時の形状を指す。以下では、断面形状が長手形状(線状)となる光を「線状光」と呼ぶ。
また、本実施形態においては、集光レンズ73の集束方向(図11に示す矢印)は、上記3つのLED75〜77の配置方向(図11に示す軸Lの方向)に対して垂直である。すなわち、3つのLED75〜77はa軸方向に平行な軸Lに沿って並んで配置されるのに対して、集光レンズ73は、集束方向がa軸方向に垂直なc軸方向となるように設置される。これは、3つのLED75〜77からの3つの光をずれが生じることなく混色し、壁面に投光された線状光をきれいに見せる(単一の色に見せる)ためである。ここで、仮に3つのLED75〜77が軸Lに関してずれて配置される場合には、各LED75〜77から集光レンズ73を透過して出射される光がc軸方向に関してずれてしまう。図13は、3つのLED75〜77が軸Lからずれて配置される場合に投光される線状光の一例を示す図である。上記の場合、各LED75〜77からの3つの光は、c軸方向に関してずれて壁面に投光されてしまう結果、図13に示すように、中央の領域81では3つの光の色が混ざるものの、線状光の短手方向に関して端部の領域82においては3つの光の色が混ざらなくなってしまう。これに対して、本実施形態では、各LED75〜77を集光レンズ73の集束方向に垂直な方向に配置することによって、投光された各光の短手方向の位置を一致させ、投光された光をきれいに見せることができる。
なお、本実施形態では、壁面に線状光を投光すべく、集光レンズ73および拡散シート74を用いることとした。ここで、他の実施形態においては、線状光はどのような方法で作成されてもよい。例えば、線状光は、拡散シート74を用いずに集光レンズ73のみを用いて作成されてもよいし、集光レンズ73および拡散シート74に代えてスリットを用いて作成されてもよい。また、線状光モジュール61〜67は、LEDによる光に代えてレーザ光を投光することで線状光を実現するようにしてもよい。
また、背景光モジュール68は、線状光モジュール61〜67による光よりも断面が広い光(背景光)を出射する。本実施形態では、背景光モジュール68は、筐体とカラーLEDモジュールとを備える構成であり、集光レンズおよび拡散シートを有していない。なお、背景光モジュール68のカラーLEDモジュールは、赤色、緑色、および青色の3つのLEDを有するが、これらのLEDとしては、線状光モジュール61〜67で使用されるLEDに比べて、高輝度かつ広角に発光するものが用いられる。本実施形態では、背景光モジュール68は、線状光モジュール61〜67の光の強度よりも小さい強度で光を出射することで、線状光を背景光に比べて目立たせるようにしている。逆に、背景光モジュール68の光の強度を線状光モジュール61〜67の光の強度よりも強くすれば、背景光を目立たせることができる。また、背景光または線状光の一方のみを投光するようにしてもよい。なお、他の実施形態においては、背景光モジュール68においても線状光モジュール61〜67と同様に、集光レンズを用いてもよいし、集光レンズおよび拡散シートを用いてもよい。集光レンズを用いる場合における集束方向は、線状光モジュール61〜67における集束方向と同様である。また、拡散シートは、縦および横の両方向に光を拡散するものが用いられる。
次に、図14を参照して、照明装置9内における各光モジュール61〜68の配置を説明する。図14は、各光モジュールの配置を示す3面図である。図14に示す(a)図は、y軸正側(上側)から各光モジュール61〜68を見た図であり、(b)図は、z軸負側(前側)から各光モジュール61〜68を見た図であり、(c)図は、x軸負側から各光モジュール61〜68を見た図である。なお、図14では、説明の理解を容易にする目的で、光モジュール64の出射方向が鉛直上向きとなる状態を示しているが、実際には、照明装置9から後方の斜め上方に向けて光が出射されるように、各光モジュール61〜68は傾いて配置される。
線状光モジュール61〜68は、照明装置9の後方の斜め上方に向けて、照明装置9を略中心として放射状となるようにそれぞれの線状光を出射する。具体的には、図14の(a)図および(b)図に示すように、各線状光モジュール61〜67は、x軸方向(左右方向)に並んで配置され、線状光モジュール64を中心としてyz平面に対して対称に配置される。また、図14の(a)図のように上側(y軸正側)から見た場合、各線状光モジュール61〜67は、各線状光モジュール61〜67の出射面の長手方向(線状光の長手方向)が照明装置9の後方の所定位置を中心とした略放射状の向きとなるように配置される。すなわち、上側から見た場合、各線状光モジュール61〜67は、外側に配置されるモジュールほど、後端(z軸正側の端部)が内側を向くように傾いて配置される。さらに、図14の(b)図のように前側から見た場合、各線状光モジュール61〜67は、各線状光モジュール61〜67の出射方向が照明装置9の下方の所定位置を中心とした略放射状となるように配置される。すなわち、前側から見た場合、各線状光モジュール61〜67は、外側に配置されるモジュールほど出射方向が外側を向くように傾いて配置される。
また、背景光モジュール68は、線状光モジュール61〜67が出射する各線状光と重なる向きへ背景光を出射する。具体的には、図14の(a)図のように、背景光モジュール68は、x軸方向(左右方向)に関して各線状光モジュール61〜67の略中心に配置される。また、背景光モジュール68は、z軸方向(前後方向)に関しては各線状光モジュール61〜67より後方に配置される。さらに、図14の(c)図のように、背景光モジュール68は、出射方向が線状光モジュール64よりもやや下向きとなるように傾いて配置される。他の実施形態においては、背景光モジュール68が、出射方向が線状光モジュール64よりも上向きとなってもよいし、ほぼ同じ方向となるようにしてもよい。
図15は、照明装置9によってテレビ2の背面に投光された線状光および背景光を示す図である。図15において、領域91は線状光モジュール61からの光が投光される領域であり、領域92は線状光モジュール62からの光が投光される領域であり、領域93は線状光モジュール63からの光が投光される領域であり、領域94は線状光モジュール64からの光が投光される領域であり、領域95は線状光モジュール65からの光が投光される領域であり、領域96は線状光モジュール66からの光が投光される領域であり、領域97は線状光モジュール67からの光が投光される領域であり、領域98は線状光モジュール68からの光が投光される領域である。図15に示すように、本実施形態では、テレビ2の背面に光が投光されるので、テレビ2の前側から見ると表示画面の周りに光によって装飾が施されているように見え、表示画面に対して効果的な照明効果(装飾効果)を付与することができる。また、仮に照明装置9の光をユーザに向けて(前方に向けて)出射する場合には、ユーザにとっては照明装置9の一点のみが光って見えるにすぎず、表示画面に対する装飾効果としては効果が小さいものになってしまう。これに対して、本実施形態においては、照明装置9の光を後方に向けて出射することで、壁面に光を投光し、壁面に当たった光をユーザに見せるようにしている。そのため、テレビ2の表示画面よりも広い範囲にわたる光をユーザに見せることも可能であり、高い装飾効果を得ることができる。
各線状光モジュール61〜67を図14に示す配置とすることによって、図15に示すように、照明装置9の後方の斜め上方に向けて、照明装置9を略中心とした放射状となるように線状光を投光することができる。本実施形態によれば、照明装置9は複数の線状光を投光するので、1つの光のみを投光する場合に比べて、投光パターンを増やすことができ、照明効果のバリエーションを増やすことができる。
一般的には、テレビ2の後方には、平面状の壁が存在する場合の他、凹角となった壁が存在する場合(典型的には部屋の隅にテレビ2が置かれる場合)や、カーテンが存在する場合等、壁面に凹凸がある場合も考えられる。このように壁面に凹凸がある場合には、凹凸があるために投光した光に歪みが生じるおそれがある。例えば横長の光(断面が水平方向に長い光)を凹凸がある壁面に対して投光すると、投光された光が1本の線状には見えなくなる。また例えば、複数の光を水平に並ぶように出射しても、投光面に凹凸があると、投光された光は水平には並ばなくなってしまう。これに対して、本実施形態では、照明装置9は放射状となるように複数の線状光を投光するので、テレビ2の後方にある投光面の凹凸による線状光の歪みが目立たず、壁面の状態が異なっていても同じような放射状の線状光を投光することができる。例えば、部屋の角に向けて複数の線状光を出射しても、平面上に出射した場合にくらべて放射状の線の開き方が異なるだけで線自体はまっすぐに投光されることになるので、見た目の違和感が少ない。また、カーテン等の面は、一般的には横方向に関する凹凸がほとんどで、縦方向にはそれほど凹凸を形成しないものであるので、同様に線状光の見た目が線状に近いまま投光することができる。
また、図15に示すように、本実施形態では、背景光モジュール68を図14に示す配置とすることによって、壁面において線状光と背景光とを重ねて投光することができる。したがって、照明装置9は、線状光の色だけでなく、その背景の色をも制御することができるので、線状光のみを制御する場合に比べて投光パターンを増やすことができ、照明効果のバリエーションを増やすことができる。また、本実施形態では、背景光モジュール68の光の強度を線状光モジュール61〜67の光の強度よりも小さく設定するので、背景光と線状光の両方が投光される領域は、線状光の色に見える。つまり、壁面には背景光の上に線状光が重ねて投光されているように見える。
なお、図14に示す各光モジュール61〜68の配置は一例であり、各線状光モジュール61〜67は、テレビ2の後方の壁面に対して、照明装置9を略中心とした放射状となるように線状光を投光するように配置されれば、どのように配置されてもよい。また、他の実施形態においては、各線状光モジュール61〜67は、例えば各線状光が平行に並んで投光されるように配置されてもよいし、各線状光が所定の形状を表すように配置されてもよい。一方、背景光モジュール68は、線状光モジュール61〜67の光と重なる方向へ光を出射するように配置されれば、どのように配置されてもよい。また、他の実施形態においては、各線状光モジュール61〜67のうちいくつかの線状光モジュールの光と重なる方向へ光を出射するように背景光モジュール68が配置されてもよい。
[照明装置9の制御に関するゲーム装置3の処理]
次に、照明装置9に対する制御に関する処理を中心に、ゲーム装置3において実行される処理について説明する。本実施形態では、ゲーム装置3は、光ディスク4に記憶されたゲームプログラムに従ってゲーム処理を実行する際に、テレビ2にゲーム画像を表示するとともに、照明装置9を用いて照明効果を付加する。以下、ゲーム処理を実行する際における照明装置9の制御について説明する。
まず、ゲーム装置3における処理において用いられる主なデータについて図16を用いて説明する。図16は、ゲーム装置3のメインメモリ(外部メインメモリ12または内部メインメモリ11e)に記憶される主なデータを示す図である。図16に示すように、ゲーム装置3のメインメモリには、ゲームプログラム101、操作データ102、および処理用データ106が記憶される。なお、メインメモリには、図16に示すデータの他、ゲームに登場する各種オブジェクトの画像データや、オブジェクトの各種パラメータを示すデータ等、ゲーム処理に必要なデータが記憶される。
ゲームプログラム101は、ゲーム装置3が上述した通常モードとなった後の適宜のタイミングで光ディスク4からその一部または全部が読み込まれてメインメモリに記憶される。ゲームプログラム101には、ゲーム処理を実行するプログラム、および、ゲーム処理に応じて照明装置9の発光を制御するプログラム(後述するステップS5)が含まれる。
操作データ102は、コントローラ5からゲーム装置3へ送信されてくる操作データである。上述したように、コントローラ5からゲーム装置3へ1/200秒に1回の割合で操作データが送信されるので、メインメモリに記憶される操作データ102はこの割合で更新される。操作データ102には、操作ボタンデータ103、マーカ座標データ104、および加速度データ105が含まれる。
操作ボタンデータ103は、各操作ボタン32a〜32iに対する入力状態を示すデータである。すなわち、操作ボタンデータ103は、各操作ボタン32a〜32iが押下されているか否かを示す。
マーカ座標データ104は、撮像情報演算部35の画像処理回路41によって算出される座標、すなわち上記マーカ座標を示すデータである。マーカ座標は、撮像画像に対応する平面上の位置を表すための2次元座標系で表現される。なお、撮像素子40によって2つのマーカ6Rおよび6L(赤外光)が撮像される場合には、2つのマーカ座標が算出される。一方、撮像素子40の撮像可能な範囲内にマーカ6Rおよび6Lのいずれか一方が位置しない場合には、撮像素子40によって1つのマーカのみが撮像され、1つのマーカ座標のみが算出される。また、撮像素子40の撮像可能な範囲内にマーカ6Rおよび6Lの両方が位置しない場合には、撮像素子40によってマーカが撮像されず、マーカ座標は算出されない。したがって、マーカ座標データ104は、2つのマーカ座標を示す場合もあるし、1つのマーカ座標を示す場合もあるし、マーカ座標がないことを示す場合もある。
加速度データ105は、加速度センサ37によって検出された加速度(加速度ベクトル)を示すデータである。ここでは、加速度データ105は、図4に示すXYZの3軸の方向に関する加速度を各成分とする3次元の加速度ベクトルを示す。
処理用データ106は、後述するゲーム処理(図17)において用いられるデータである。処理用データ106は、ゲームデータ107および発光制御データ108を含む。ゲームデータ107は、ゲームパラメータのデータであり、照明装置9に対する制御に影響を与えるゲームパラメータのデータである。例えば、ゲームデータ107は、ゲームに登場するキャラクタのパラメータを示すデータであってもよいし、画面上に表示されるカーソルの位置を示すデータであってもよい。
発光制御データ108は、照明装置9の発光を制御するためのデータである。本実施形態では、発光制御データ108は、照明装置9の各光モジュール29が発光すべき光の色および強さを示す。具体的には、例えば赤、緑、青の各LEDの発光強度が256段階で示されている。詳細は後述するが、発光制御データ108は、照明装置9へ送信されてマイコン28にて取得され、マイコン28は発光制御データ108に従って各光モジュール29を制御する。
次に、ゲーム装置3において行われる処理の詳細を、図17を用いて説明する。図17は、ゲーム装置3において実行される処理の流れを示すフローチャートである。上記通常モードにおいてユーザからゲーム装置3に対してゲームの開始指示が入力されると、ゲーム装置3のCPU10は、図示しないブートROMに記憶されている起動プログラムを実行し、これによってメインメモリ等の各ユニットが初期化される。そして、光ディスク4に記憶されたゲームプログラムがメインメモリに読み込まれ、CPU10によって当該ゲームプログラムの実行が開始される。図13に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。
まず、ステップS1において、CPU10は、ゲームに関する初期化処理を実行する。この初期化処理においては、ゲーム処理に用いられる各種パラメータの値が初期化されたり、仮想のゲーム空間が構築されたり、プレイヤオブジェクトや他のオブジェクトがゲーム空間の初期位置に配置されたりする。ステップS1の後、ステップS2〜S6の処理ループが、ゲームが実行される間繰り返し実行される。なお、1回の当該処理ループは、1フレーム時間(例えば1/60秒)に1回の割合で実行される。
ステップS2において、CPU10は操作データを取得する。すなわち、コントローラ5から送信されてくる操作データが無線コントローラモジュール19を介して受信される。そして、受信された操作データに含まれる操作ボタンデータ、マーカ座標データ、および加速度データがそれぞれメインメモリに記憶される。ステップS2の次にステップS3の処理が実行される。
ステップS3において、CPU10は、ステップS2で取得された操作データに基づいてゲーム処理を実行する。具体的には、例えば操作データに基づいてゲームキャラクタの動作を制御する処理を実行したり、画面上に表示されるカーソルの位置を操作データ(特に例えばマーカ座標データ104)に基づいて算出する処理を実行したりする。このとき、ゲーム処理の結果得られるゲームデータ107がメインメモリに記憶される。上記ステップS3の次にステップS4の処理が実行される。
ステップS4において、CPU10は、ステップS3で実行されたゲーム処理に応じたゲーム画像をテレビ2の画面に表示する。具体的には、CPU10(およびGPU11b)は、メインメモリからゲームデータ107を読み出し、ゲームデータ107等に基づいてゲーム画像を生成して画面に表示する。ゲーム画像は、例えば、ゲームキャラクタを含むゲーム空間の画像であってもよいし、当該画像に重ねてカーソルの画像を含むものであってもよい。また、ステップS4において、CPU10(およびDSP11c)は、ゲーム処理に応じたゲーム音をゲームデータ107等に基づいて生成し、スピーカ2aから出力する。なお、ゲーム音は、ゲーム中のBGMであってもよいし、ゲームの効果音であってもよいし、ゲームキャラクタの声等であってもよい。上記ステップS4の次に、ステップS5の処理が実行される。
ステップS5において、CPU10は、照明装置9による発光を制御する。すなわち、CPU10は、メインメモリからゲームデータ107を読み出し、各光モジュール29が発光すべき光の色および強さを示す発光制御データ108をゲームデータ107に基づいて生成する。生成された発光制御データ108は、メインメモリに記憶され、入出力プロセッサ11aによって拡張コネクタ20を介して照明装置9へ送信される。発光制御データ108を受信した照明装置9のマイコン28は、当該発光制御データ108に従って各光モジュール29の発光を制御する。なお、照明装置9へ発光制御データ108を送信する時間間隔はいくらでもよいが、本実施形態では、ゲーム画像の更新間隔(1/60秒)と同じであるとする。このように、発光制御データ108が繰り返し送信されることによって、ゲーム装置3は、照明装置9による投光を変化させることができ、例えばゲーム状況、ゲーム画像、ゲーム音、およびゲーム操作等に応じた照明効果をユーザに与えることができる。上記ステップS5の次に、ステップS6の処理が実行される。
上記ステップS5において、CPU10は、照明装置9の発光状態をステップS3のゲーム処理に応じて決定する。例えば、照明装置9の発光状態は、ゲーム状況、ゲーム画像、ゲーム音、およびゲーム操作等に基づいて決定される。照明装置9の具体的な制御例としては例えば以下が挙げられる。
(1)ゲーム画像(ゲーム状況)に応じた制御例
CPU10は、画面におけるゲーム画像(ゲーム状況)の変化に応じて照明装置9の発光状態(光の強さ、色、および発光パターン等)を変化させる。例えば格闘ゲームにおいて、キャラクタの攻撃が他のキャラクタにヒットしたことに応じて照明装置9の発光状態を変化させてもよいし、射撃ゲームにおいて標的に弾が命中したことに応じて照明装置9の発光状態を変化させてもよい。これによれば、ゲーム画像の変化に応じた照明効果を付加することによって、ゲーム画像に効果的な照明効果を付加することができる。
(2)ゲーム操作に応じた制御例
CPU10は、ユーザのゲーム操作に応じて、照明装置9の発光状態を変化させる。具体的には、CPU10は、ユーザがコントローラ5の操作ボタンを押下したことに応じて各光モジュール61〜68を発光させたり、光の色を変化させたりしてもよい。
また、コントローラ5の操作に応じて画面上のカーソルの位置が制御される場合には、CPU10は、画面におけるカーソルの位置に応じて、各光モジュール61〜68の発光状態を変化させてもよい。例えば、画面を横方向に7分割した領域を線状光モジュール61〜67に1つずつ対応させ、カーソル位置を含む領域に対応する線状光モジュールのみを発光させるようにしてもよい。
(3)ゲーム音に応じた制御例
CPU10は、ゲーム中で流れるBGM等の音楽に合わせて照明装置9の発光状態を変化させる。具体的には、音楽のリズムに合わせて光モジュール61〜68を点滅させたり、出力される音の音程(音高)に合わせて発光パターンおよび/または発光色を変化させたりする。また、ユーザによるゲーム操作に応じて音楽が演奏される演奏ゲームにおいて、演奏される音楽に合わせて照明装置9を制御するようにしてもよい。これによれば、ユーザは、自己の操作によって演奏される音楽を聴覚だけでなく視覚でも楽しむことができる。
ステップS6において、CPU31は、ゲームを終了するか否かを判定する。ステップS6の判定は、例えば、ゲームがクリアされたか否か、ゲームオーバーとなったか否か、ユーザがゲームを中止する指示を行ったか否か等によって行われる。ステップS6の判定結果が否定である場合、ステップS2の処理が再度実行される。以降、ステップS6でゲームを終了すると判定されるまで、ステップS2〜S6の処理ループが繰り返し実行される。一方、ステップS6の判定結果が肯定である場合、CPU31は、図17に示すゲーム処理を終了する。以上で、ゲーム処理の説明を終了する。
以上のように、本実施形態によれば、ゲーム画像がテレビ2に表示されるとともに、テレビ2の後方の壁面には、照明装置9による投光によって照明効果が付加される。これによれば、ゲーム画像に加えてさらなる視覚的効果をユーザに与えることができるので、ゲームの迫力や臨場感をより向上することができる。
[他の実施形態]
上記実施形態は本発明を実施する一例であり、他の実施形態においては例えば以下に説明する構成で本発明を実施することも可能である。
(ゲーム画像以外の画像に応じて照明装置9を駆動させる変形例)
上記実施形態においては、テレビ2の画面にゲーム画像が表示される時に照明装置9が照明効果を付加する場合を説明したが、テレビ2の画面に表示される画像はゲーム画像に限らず、ゲーム画像以外の動画や静止画であってもよい。例えば、ゲーム装置3は、ネットワークを介して外部の他のゲーム装置やサーバから画像を取得し、当該画像をテレビ2に表示する時に照明装置9による照明効果を付加してもよい。この場合、ゲーム装置3は、照明装置9の発光を制御するためのデータ(上記発光制御データ108)を、画像とともに取得してもよいし、画像の取得元とは別の装置やサーバから取得してもよい。また、ゲーム装置3は、予め定められたアルゴリズムに従って、取得された画像から発光制御データを自動的に作成するようにしてもよい。
(ユーザに対する通知のために照明装置9を発光させる変形例)
また、照明装置9は、テレビ2に表示される画像に対してさらなる視覚的効果を付加する目的の他、ユーザに対する通知を行う目的で利用されてもよい。本実施形態においては、ゲーム装置3は、上述したスリープモードで動作することが可能である。スリープモード時においてはCPU10は動作しないので、ゲーム処理やゲーム画像の表示は実行されないが、入出力プロセッサ11aによってネットワークを介して外部の装置(他のゲーム装置またはサーバ装置等)との通信が実行される。例えば、ゲーム装置3は、ユーザが作成した(電子メール形式の)メッセージを他のゲーム装置との間で送受信したり、サーバ装置からゲームプログラムや動画のデータを受信したりすることをスリープモード時において行う。本変形例では、ゲーム装置3は、スリープモード時において他のゲーム装置からのメッセージを受信した場合に、受信したことを通知するために照明装置9を発光させる。以下、詳細を説明する。
図18は、スリープモード時における入出力プロセッサ11aのデータ受信処理を示すフローチャートである。スリープモード時において、入出力プロセッサ11aは、図18に示す処理を所定のタイミング(例えば、所定時間に1回の割合)で実行する。なお、図18は、スリープモード時における処理を示しているが、入出力プロセッサ11aは通常モード時においても外部の装置との通信を行う。
ステップS11において、入出力プロセッサ11aは、メッセージを保存・管理するメールサーバにアクセスし、自機(ゲーム装置3)宛のメッセージがあるかどうかを確認する。続くステップS12において、入出力プロセッサ11aは、ステップS11の確認の結果、受信メッセージがあったか否かを判定する。受信メッセージがある場合、ステップS13の処理が実行される。一方、受信メッセージがない場合、入出力プロセッサ11aは、図18に示すデータ受信処理を終了する。
ステップS13において、入出力プロセッサ11aは、メールサーバからメッセージを受信する。すなわち、入出力プロセッサ11aは、メールサーバにアクセスして受信したメッセージをフラッシュメモリ17に記憶する。ステップS13の次にステップS14の処理が実行される。
ステップS14において、入出力プロセッサ11aは、照明装置9による発光を開始する。具体的には、入出力プロセッサ11aは、上記発光制御データを作成して拡張コネクタ20を介して照明装置9へ送信する。発光制御データを受信した照明装置9のマイコン28は、当該発光制御データに従って各光モジュール29の発光を制御する。以降、入出力プロセッサ11aは、繰り返し発光制御データを送信することによって、照明装置9による発光を継続する。したがって、ユーザは、照明装置9による発光によって、メッセージが届いていることを知ることができる。以上のステップS14の後、入出力プロセッサは図18に示すデータ受信処理を終了する。
なお、上記ステップS14において、入出力プロセッサ11aは、データの受信状態に応じて照明装置9の発光状態(光の強さ、色、および発光パターン等)を変化させてもよい。例えば、受信したメッセージの数、メッセージの送信元、および、受信したデータの種類(メッセージであるか、ゲームに関するデータであるか等)に応じて照明装置9の発光状態を変化させてもよい。これによれば、ユーザは、どのようなデータを受信したか等、受信データの情報を照明装置9の発光状態によって知ることができる。
以上のように、上記変形例によれば、ゲーム装置3は、メッセージを受信したことに応じて照明装置9を発光させることによって、メッセージの受信をユーザに通知することができる。なお、上記変形例では、ゲーム装置3は、メッセージを受信したことに応じて照明装置9を発光させるようにしたが、他の実施形態においては、メッセージのデータに加えて、または、メッセージのデータに代えて、他のデータ(例えば、サーバから送信されてくるゲームプログラムや動画のデータ)を受信したことに応じて照明装置9を発光させてもよい。
また、上記変形例では、ゲーム装置3は、データを受信したことに応じた照明装置9の発光動作をスリープモード時のみに実行するものとしたが、他の実施形態においては、当該発光動作を通常モード時においても実行するようにしてもよい。
(明るさに応じて照明装置9の制御を変化させる変形例)
なお、他の実施形態においては、ゲームシステム1は、周囲の明るさに応じて照明装置9の発光状態を変化させるようにしてもよい。具体的には、ゲームシステム1は、図1に示す構成に加えて、周囲の明るさを検知するセンサ(例えば照度センサ)を備えており、当該センサの検知結果に応じて照明装置9の発光状態を変化させてもよい。なお、上記センサは、ゲーム装置3とは別体で構成されることが好ましく、ゲーム装置3と有線または無線で通信可能である。また、上記センサは、テレビ2の周囲に設置されることが好ましい。例えば、ゲーム装置3は、センサの検知結果からゲームシステム1の周囲が相対的に明るいと判断される場合には、照明装置9の発光状態を相対的に明るくなるように制御し、ゲームシステム1の周囲が相対的に暗いと判断される場合には、照明装置9の発光状態を相対的に暗くなるように制御してもよい。これによれば、ゲームシステム1は、例えば周囲が明るい場合に照明装置9によって投光された壁面の光が見にくくなることや、あるいは、周囲が暗い場合に照明装置9によって投光された壁面の光が明るすぎたりすることを防止することができる。
(他のゲームシステムの例)
上記実施形態においては、ゲームシステム1は、テレビ2の周囲に設定されるべき付属装置として、マーカ装置6を備える構成であった。ここで、他の実施形態においては、上記付属装置は、例えば次のような装置であってもよい。すなわち、付属装置は、テレビ2の前方を撮像するカメラであってもよい。このとき、ゲーム装置3は、カメラによって撮像された画像を用いて所定の情報処理を実行する。所定の情報処理としては、例えば、撮像されたユーザや入力装置の位置に応じてゲームを制御する処理や、撮像された画像に加工を施して表示する処理や、撮像された画像の一部(例えばユーザの顔の部分)をゲーム画像として用いるゲーム処理等が考えられる。
また、上記付属装置は、赤外光を出力する上記マーカ装置6に代えて、電波あるいは超音波等による所定の信号を出力する装置であってもよい。このとき、入力装置であるコントローラ5は上記所定の信号を検知し、ゲーム装置3は、検知結果に基づいて所定の情報処理を実行する。例えば、ゲーム装置3は、検知結果からコントローラ5の位置等を算出し、算出した位置をゲーム入力として用いるゲーム処理を所定の情報処理として行う。逆に、入力装置が上記所定の信号を発し、所定の信号を検知するセンサが付属装置に備えられていてもよい。
また、他の実施形態においては、照明装置9は、スピーカ等の音声出力装置をさらに備えていてもよい。この場合、ゲーム装置3は、上記発光制御データに加え、音声出力装置が出力すべき音を指示するデータをさらに送信する。当該データは、テレビ2のスピーカ2aから出力される音(ゲーム音)と同じ音を示すものでもよいし、異なる音を示すものでもよい。照明装置9のマイコン28は、受信したデータに従って音声出力装置を制御して音を出力させる。これによれば、照明装置9によって視覚的効果に加え、聴覚的効果をもユーザに与えることができる。