以下、本発明の好適な実施形態の一例について図面に基づき詳細に説明する。
図1は、本発明の実施形態に係るゲーム装置の構成を示す図である。同図に示すゲーム装置10は、家庭用ゲーム機11に情報記憶媒体たるDVD−ROM25及びメモリカード28が装着され、さらにモニタ18及びスピーカ22が接続されることによって構成される。モニタ18には、走査によって画面を表示するモニタが用いられる。例えば、輝点を水平方向(左右方向)に高速移動させることによって走査線を表示し、その走査線を順次垂直方向にずらすことによって画面を表示する(ラスター走査によって画面を表示する)家庭用テレビ受像機がモニタ18として用いられる。また、スピーカ22にはその内蔵スピーカが用いられる。
なお、ここではプログラムを家庭用ゲーム機11に供給するためにDVD−ROM25を用いるが、CD−ROMやROMカード等、他のあらゆる情報記憶媒体を用いるようにしてもよい。また、インターネット等のデータ通信網を介して遠隔地からプログラムを家庭用ゲーム機11に供給するようにしてもよい。
家庭用ゲーム機11は、マイクロプロセッサ14、画像処理部16、主記憶26、入出力処理部30、音声処理部20、ガンコントローラ32及びDVD−ROM再生部24を含んで構成される公知のコンピュータゲームシステムである。マイクロプロセッサ14、画像処理部16、主記憶26及び入出力処理部30は、バス12によって相互データ通信可能に接続されている。入出力処理部30には、ガンコントローラ32、音声処理部20、DVD−ROM再生部24及びメモリカード28が接続されている。ガンコントローラ32以外の家庭用ゲーム機11の各構成要素は筐体内に収容されている。
マイクロプロセッサ14は、図示しないROMに格納されるオペレーティングシステム、DVD−ROM25から読み出されるプログラム、及びメモリカード28から読み出されるセーブデータに基づいて、家庭用ゲーム機11の各部を制御し、プレイヤにゲームを提供する。バス12はアドレス及びデータを家庭用ゲーム機11の各部でやり取りするためのものである。主記憶26は、例えばRAMを含んで構成されるものであり、DVD−ROM25から読み出されたプログラムやメモリカード28から読み出されたセーブデータが必要に応じて書き込まれる。また、主記憶26は、マイクロプロセッサ14の作業用としても用いられる。画像処理部16はVRAMを含んで構成されており、マイクロプロセッサ14から送られる画像データを受け取って、それに基づいてVRAM上にゲーム画面を描画するとともに、その内容をビデオ信号に変換して所定のタイミングでモニタ18に出力する。
入出力処理部30は、マイクロプロセッサ14がガンコントローラ32、音声処理部20、DVD−ROM再生部24及びメモリカード28にアクセスするためのインタフェースである。音声処理部20はサウンドバッファを含んで構成されており、DVD−ROM25から読み出され、該サウンドバッファに記憶されたゲーム音楽、ゲーム効果音、メッセージ等の各種音声データを再生してスピーカ22から出力する。DVD−ROM再生部24は、マイクロプロセッサ14からの指示に従ってDVD−ROM25に記録されたプログラムを読み取る。メモリカード28は、不揮発性メモリ(例えばEEPROM等)を含んでおり、家庭用ゲーム機11に対して脱着可能に構成される。このメモリカード28には、各種ゲームのセーブデータ等が記憶される。
ガンコントローラ32は拳銃型のゲームコントローラである。ガンコントローラ32は、モニタ18に表示される画面上の任意の位置を、プレイヤが銃身(指示部)の向きによって非接触で指示するために用いられる。ガンコントローラ32は、銃身方向からの所定光量以上の光を検出するための公知の光検出センサを含んでいる。光検出センサによって光検出が行われたか否かを示す情報は、マイクロプロセッサ14に伝えられるようにしてもよい。
また、ガンコントローラ32はマイクロプロセッサを含んでおり、モニタ18の画面上の銃身が指示する位置を光検出センサによる光検出に基づいて取得する。取得結果は、一定周期毎(例えば1/60秒毎)にマイクロプロセッサ14に渡される。
また、ガンコントローラ32にはトリガー(引き金)が設けられている。入出力処理部30は一定周期毎(例えば1/60秒毎)にガンコントローラ32の各部の状態をスキャンし、そのスキャン結果を表す操作信号を、バス12を介してマイクロプロセッサ14に渡す。マイクロプロセッサ14は、その操作信号に基づいて、トリガーの状態(トリガーが引かれたか否か)を判定する。
以上の構成を有するゲーム装置10は、ゲーム画面に表示される標的キャラクタをプレイヤがガンコントローラ32によって仮想的に射撃するガンシューティングゲームを提供する。ゲーム装置10は、プレイヤによってトリガーが引かれた場合に、ガンコントローラ32の銃身が指し示すゲーム画面上の位置(ガンコントローラ32の照準位置)と、標的キャラクタのゲーム画面上の表示位置とに基づいて、プレイヤの射撃の成否を判定する。そして、その判定結果に応じてゲームを進行させる。
ゲーム装置10では、ガンコントローラ32の照準位置は、モニタ18の画面上を移動する輝点の光(モニタ18の走査による光)がガンコントローラ32の光検出センサによって検出された場合に、その時点の走査位置を取得することによって取得される。このため、ゲーム装置10では、ゲーム画面の輝度の低い領域にガンコントローラ32の銃身が向けられている場合、光検出センサによる光検出が不安定になり、ガンコントローラ32の照準位置を好適に取得できなくなる場合がある。
この点、ゲーム装置10では、輝度調整パラメータが設けられ、ゲーム画面が輝度調整パラメータの値(輝度調整値)に対応する輝度で表示される。輝度調整パラメータの値はそのゲームプレイ環境に応じて決定される。このため、ゲーム画面の輝度がそのゲームプレイ環境に応じて好適に調整されるようになっている。
また、ゲーム装置10では、以上のような輝度調整パラメータの値の決定がプレイヤにとって容易に行われるようになっている。
さらに、ゲーム装置10では、ゲーム画面の輝度を輝度調整パラメータの値に基づく輝度に変化させることを比較的簡易な処理で実現するようになっている。
ここで、ゲーム装置10の輝度調整画面について詳細に説明する。輝度調整画面は、輝度調整パラメータの値を決定するための画面である。図2乃至図5は、モニタ18に表示される輝度調整画面の一例を示している。
これらの図に示すように、輝度調整画面の左右部には高輝度画像34a及び34b(基準輝度画像)が表示される。高輝度画像34a及び34bには、円画像36a及び36bが重ねて表示される。高輝度画像34a、34b、円画像36a及び36bは、これらの画像が表示された領域からの光がガンコントローラ32の光検出センサによって確実に検出されるような輝度の画像である。本実施の形態では、高輝度画像34a、34b、円画像36a及び36bは白色画像となっている。
また、輝度調整画面では高輝度画像34a及び34bの間に、輝度の異なる複数の輝度調整画像38が輝度の高いものから順に表示される。輝度調整画像38は、ゲーム画像に用いられる低輝度の色の画像に対し、高輝度の色の画像を半透明合成してなる画像である。各輝度調整画像38には各々異なる輝度調整値が対応づけられており、半透明合成の割合は各輝度調整画像38に対応づけられる輝度調整値に基づいて決定される。
輝度調整画面には、輝度調整パラメータがとり得る値(輝度調整値)のそれぞれに対応する輝度調整画像38が表示される。本実施の形態における輝度調整パラメータは0から50までの値をとるようになっている。このため、本実施の形態の輝度調整画面には、0から50までの輝度調整値のそれぞれに対応する輝度調整画像38が表示される。また、輝度調整画像38は黒色画像に対し白色画像を半透明合成してなる画像である。そして、白色画像のアルファ値αはα=(輝度調整値/100)×255の算出式に従って決定される。すなわち、本実施の形態では、輝度調整画像38として、黒色画像が当該輝度調整画像38に対応づけられた輝度調整値に対応する輝度で表示されるようになっている。また、輝度調整画像38は、対応づけられた輝度調整値が大きくなるほど、その輝度が高くなるようになっている。
また、輝度調整画面には照準位置案内画像40が表示される。照準位置案内画像40は、ガンコントローラ32の銃身が指し示す画面上の位置(ガンコントローラ32の照準位置)を表している。プレイヤがガンコントローラ32の銃身の向きを変えると、それに応じて照準位置案内画像40の表示位置は変わる。
さらに、輝度調整画面の下部はメッセージ表示領域42となっている。メッセージ表示領域42には、照準位置案内画像40を画面上の所定領域に合わせるよう、或いは所定領域まで水平に移動するようプレイヤに案内するためのメッセージが表示される。輝度調整画面では、メッセージ表示領域42に表示されるメッセージに従って、プレイヤがガンコントローラ32の銃身の向きを変えることによって、そのゲームプレイ環境に適した輝度調整パラメータの値が決定されるようになっている。
図2は輝度調整画面の初期状態を示している。この輝度調整画面には、輝度調整値「50」に対応する輝度調整画像(最も輝度の高い輝度調整画像)が表示される。この輝度調整画面では、プレイヤは照準位置案内画像40が円画像36aに重なるようにガンコントローラ32の銃身の向きを変える。ガンコントローラ32の照準位置が円画像36aの表示領域に入ったことが検知されると、図3に示すように、照準位置案内画像40を円画像36aから円画像36bまで移動するよう案内するメッセージがメッセージ表示領域42に表示される。
図3に示す輝度調整画面では、プレイヤは照準位置案内画像40を円画像36aから円画像36bまで水平に移動させるべく、ガンコントローラ32の銃身の向きを変えていく。この間、ゲーム装置10では後述の輝度調整情報決定処理が実行される(図8及び図9参照)。
ガンコントローラ32の照準位置が円画像36bの表示領域に入ったことが検知されると、ガンコントローラ32の銃身が高輝度画像34a及び34bに向けられている場合における光検出部46の検出結果と、輝度調整画像38に向けられている場合における光検出部46の検出結果とが比較される、そして、その比較結果に応じて、輝度調整画面が例えば図4や図5に示すように更新される。
図4に示す輝度調整画面は、ガンコントローラ32の銃身が高輝度画像34a及び34bに向けられている場合における光検出部46による検出結果と、輝度調整画像38に向けられている場合における光検出部46による検出結果とが同等であると判断された場合に表示される。このとき、輝度調整画面には、図2や図3に示す輝度調整画面に表示される輝度調整画像38よりも一段階低い輝度の輝度調整画像38が表示される。例えば、輝度調整値「50」に対応する輝度調整画像38が表示されていた場合には、輝度調整値「49」に対応する輝度調整画像38が表示される。
同図に示す輝度調整画面では、プレイヤは照準位置案内画像40を円画像36bから円画像36aまで水平に移動させるべく、ガンコントローラ32の銃身の向きを変えていく。この間においても輝度調整情報決定処理が実行される。そして、ガンコントローラ32の銃身が高輝度画像34a及び34bに向けられている場合における光検出部46の検出結果と、輝度調整画像38に向けられている場合における光検出部46の検出結果とが同等であると判断された場合には、照準位置案内画像40を円画像36aから円画像36bまで水平に移動するよう案内するメッセージがメッセージ表示領域42に表示される。また、このとき、輝度調整画面では、さらに一段階低い輝度の輝度調整画像38が表示される。
図5に示す輝度調整画面は、ガンコントローラ32の銃身が高輝度画像34a及び34bに向けられている場合における光検出部46による検出結果と、輝度調整画像38に向けられている場合における光検出部46による検出結果とが同等でないと判断された場合に表示される。この場合、輝度調整画像38に対応づけられている輝度調整値に1加算した値が輝度調整パラメータの値として決定される。
ここで、ゲーム装置10において実現される機能ブロックについて説明する。図6は、ゲーム装置10において実現される機能ブロックのうち、本発明に関連するものを中心として示す図である。同図に示すように、ゲーム装置10は表示部44、光検出部46、照準位置取得部47、ゲーム制御部48、輝度調整情報記憶部50、ゲーム画像表示部52、輝度調整画像表示部54、輝度調整情報決定部56を含んで構成される。これらの機能は、家庭用ゲーム機、業務用ゲーム機、携帯用ゲーム機、携帯電話機、携帯情報端末、あるいはパーソナルコンピュータ等のコンピュータによってプログラム(DVD−ROM等のコンピュータにより読み取り可能な情報記憶媒体や通信ネットワークによってコンピュータに供給される)が実行されることによって実現される。
表示部44はモニタ18を主として構成される。表示部44は、輝点を水平方向(左右方向)に高速移動させることによって走査線を表示し、その走査線を順次垂直方向にずらすことによって各画面を表示する。表示部44には、ゲーム画面や輝度調整画面(図2乃至図5)等の画面が表示される。
光検出部46は、ガンコントローラ32に含まれる公知の光検出センサを主として構成される。光検出部46は、ガンコントローラ32の銃身方向からの光、特に表示部44に表示される画面からの光を検出する。より具体的には、光検出部46は、表示部44の画面上のガンコントローラ32の銃身が指示する位置(領域)に対し走査が行われているか否かを検出する。換言すれば、表示部44の画面上のガンコントローラ32の銃身が向けられた位置(領域)に輝点があるか否かを検出する。
照準位置取得部47はマイクロプロセッサを主として構成される。照準位置取得部47は光検出部46による検出結果に基づいて、ガンコントローラ32の照準位置を取得する。照準位置取得部47は、ガンコントローラ32の銃身方向に対応する画面上の位置(領域)に対する走査が光検出部46によって検出された場合に、その時点におけるモニタ18の走査位置を取得することによって、ガンコントローラ32の照準位置を算出する。なお、モニタ18の走査位置は、例えばモニタ18において一画面分の走査が行われるのに要される時間と、画像処理部16のVRAMに記憶される画面データがモニタ18に供給されてからの経過時間とに基づいて算出するようにしてもよいし、他の公知の手法によって算出されるようにしてもよい。なお、照準位置取得部47はガンコントローラ32によって実現されるようにしてもよいし、家庭用ゲーム機11によって実現されるようにしてもよい。
ゲーム制御部48はマイクロプロセッサ14を主として構成される。ゲーム制御部48は、光検出部46による検出結果に基づいてゲームを制御する。ゲーム制御部48は、照準位置取得部47によって取得されるガンコントローラ32の照準位置を所定時間ごとに取得する。ゲーム制御部48は、ガンコントローラ32から入力される操作信号に基づいてトリガーが引かれたと判断される場合、取得した照準位置と、標的キャラクタのゲーム画面上の表示位置とに基づいて、当該標的キャラクタに対する射撃の成否を判定する。ゲーム制御部48は、その判定結果に基づいて、ゲーム画像(ゲーム画像データ)をDVD−ROM25から読み出してゲーム画像表示部52に供給する。或いは、ゲーム制御部48は、その判定結果とDVD−ROM25等から読み出される画像データ等とに基づいてゲーム画像を生成し、ゲーム画像表示部52に供給する。
輝度調整情報記憶部50は主記憶26やハードディスク記憶装置等によって構成される。輝度調整情報記憶部50は、図7に示すような輝度調整パラメータ(輝度調整情報)を記憶する。輝度調整パラメータは、ゲーム画面の輝度をどのように調整する(変化させる)かを示す情報である。輝度調整パラメータの値はゲーム画像表示部52によって参照される。また、輝度調整パラメータの値は、そのゲームプレイ環境に適したものとなるように、輝度調整情報決定部56によって決定される。本実施の形態では、輝度調整パラメータは0から50までの値をとるようになっている。
ゲーム画像表示部52は、マイクロプロセッサ14及び画像処理部16を主として構成される。ゲーム画像表示部52は、ゲーム制御部48から供給されるゲーム画像(ゲーム画像データ)を、輝度調整情報記憶部50に記憶される輝度調整パラメータの値に基づく輝度で表示部44に表示させる。
例えば、ゲーム画像表示部52は、ゲーム画像に対して所定色(所定輝度)の画像を半透明合成することによって、輝度調整済みのゲーム画像(ゲーム画面データ)を生成する。そして、ゲーム画像表示部52は、輝度調整済みのゲーム画像を表示部44(ゲーム画面)に表示させる。この場合、ゲーム画像表示部52は、半透明合成の割合を輝度調整パラメータの値に基づいて決定する。例えば、ゲーム画像表示部52は、輝度調整パラメータの値(或いは輝度調整パラメータの値の範囲)を示す情報と、半透明合成の割合とを対応づけて記憶しておき、かかる記憶内容に基づいて半透明合成の割合を決定するようにしてもよい。
本実施の形態では、輝度調整画像38を生成する場合と同様に、白色画像をゲーム画像に対し半透明合成することによって輝度調整済みのゲーム画像を生成する。白色画像のアルファ値αは、α=(輝度調整パラメータの値/100)×255の算出式に従って決定される。このように、本実施の形態では、輝度調整パラメータの値が大きくなるほど、ゲーム画面がより明るく調整されるようになっている。
また例えば、ゲーム画像表示部52は、輝度調整パラメータの値に対応するパレットデータを取得し、当該パレットデータに基づいてゲーム画像を表示部44に表示させるようにしてもよい。この場合、輝度調整パラメータがとり得る値のそれぞれに対応する複数のパレットデータをあらかじめ記憶しておくようにしてもよい。或いは、基準のパレットデータ(例えば、輝度調整パラメータがとり得る値のうちの一の値に対応するパレットデータ)のみをあらかじめ記憶しておくようにし、輝度調整パラメータの各値に対応するパレットデータは当該基準のパレットデータに基づいて生成するようにしてもよい。
また例えば、ゲーム画像表示部52は、全部又は一部が、輝度調整パラメータがとり得る各値のそれぞれ対応する複数のパレット番号群のうちいずれか1つにそれぞれ属するパレット番号と色情報とを対応づけてなるパレットデータを記憶しておくようにしてもよい。この場合、ゲーム制御部48は、複数のパレット番号群のうち1つに属するパレット番号を、画像を構成する各ピクセルに対応づけてなるゲーム画像を生成するようにすればよい。さらに、ゲーム画像表示部52は、ゲーム画像を構成する各ピクセルに対応づけられているパレット番号を、輝度調整パラメータの値に対応するパレット番号群に属するパレット番号に変更するようにすればよい。そして、ゲーム画像をパレットデータに基づいて表示部44に表示させるようにすればよい。
なお、ゲーム画像表示部52は他の公知の手法を用いて、ゲーム画像を輝度調整パラメータの値に基づく輝度で表示させるようにしてもよい。また、輝度調整画像と輝度調整済みゲーム画像とは同じ手法で生成するのが望ましい。こうすれば、ゲーム画面の輝度をそのゲームプレイ環境に適したものへと確実に調整できるようになる。
輝度調整画像表示部54は、マイクロプロセッサ14及び画像処理部16を主として構成される。輝度調整画像表示部54は、輝度が異なる複数の輝度調整画像を表示部44に順次又は同時に表示させる。例えば、輝度調整画像表示部54は、当該複数の輝度調整画像を所定の輝度順で表示部44に順次表示させるようにしてもよい。
本実施の形態では、輝度調整画像表示部54は前述の輝度調整画面(図2乃至図5)を表示部44に表示させる。すなわち、輝度調整画像表示部54は、輝度調整パラメータがとり得る値(複数の輝度調整値)のそれぞれに対応する複数の輝度調整画像38を、輝度の高いものから順に表示部44に表示させる。
輝度調整情報決定部56はマイクロプロセッサ14を主として構成される。輝度調整情報決定部56は、表示部44に表示されるゲーム画面(ゲーム画像)の輝度を決定する。より具体的には、輝度調整情報決定部56は、輝度調整画像38の輝度と、輝度調整画面の輝度調整画像38が表示される領域からの光の検出結果とに基づいて、輝度調整パラメータの値を決定する。例えば、輝度調整情報決定部56は、輝度調整画面の輝度調整画像38が表示される領域からの光の検出結果が所定の条件を満足する場合、当該輝度調整画像38の輝度に基づいて輝度調整パラメータの値を決定する。
また、輝度調整情報決定部56は、輝度調整画面の高輝度画像34a及び34bが表示される領域からの光の検出結果にさらに基づいて、輝度調整パラメータの値を決定するようにしてもよい。例えば、輝度調整情報決定部56は、高輝度画像34a及び34bが表示される領域からの光の検出結果に基づいて取得される照準位置(照準位置取得部47によって取得される)の統計量と、輝度調整画像38が表示される領域からの光の検出結果に基づいて取得される照準位置の統計量とを比較するようにしてもよい。そして、その比較結果に基づいて、輝度調整パラメータの値を決定するようにしてもよい。
光検出部46による光検出が不安定になると(光検出の頻度が低下すると)、すなわち、照準位置取得部47による照準位置の取得が不安定になると(照準位置の取得の頻度が低下すると)、前回の照準位置から今回の照準位置までの距離は大きくなる。そこで、本実施の形態では、輝度調整情報決定部56は、ガンコントローラ32の銃身が高輝度画像34a及び34bに向けられている場合と、輝度調整画像38に向けられている場合とで、前回の照準位置から今回の照準位置までの距離の平均を比較し、その比較結果に基づいて輝度調整パラメータの値を決定するようになっている。こうして、ガンコントローラ32が輝度の低い領域に向けられている場合においても、輝度の高い領域に向けられている場合と同等の安定さ(頻度)で照準位置の取得が行われるように、輝度調整パラメータの値が決定されるようになっている。
ここで、輝度調整情報決定部56を中心として実行される輝度調整情報決定処理について詳細に説明する。図8及び図9は輝度調整情報決定処理を示すフロー図である。本処理は、照準位置案内画像40を円画像36a(又は円画像36b)から円画像36b(又は円画像36a)まで移動するよう案内するメッセージがメッセージ表示領域42に表示された後、円画像36b(又は円画像36a)が表示された領域に照準位置が含まれたことが検出されるまでの間、所定時間(1/30秒)ごとに実行される。
図8に示すように、本処理では、まず輝度調整情報決定部56が、ガンコントローラ32の照準位置(X,Y)が照準位置取得部47によって取得されたか否かを判断する(S101)。例えば、照準位置の取得が行われたか否かを示す情報を照準位置取得部47から取得できるような場合には、輝度調整情報決定部56はその情報を取得し、上記の判断を行うようにすればよい。また例えば、モニタ18の走査(輝度調整画面を表示するための走査)によって発せられる光(走査光)が検出されたか否かを示す情報を光検出部46から取得できるような場合には、輝度調整情報決定部56はその情報を取得し、上記の判断を行うようにしてもよい。さらに例えば、照準位置取得部47が新たに照準位置を取得するまで前回取得した照準位置を保持し続けるような場合において、照準位置取得部47から供給される照準位置が前回と同じ場合には、輝度調整情報決定部56は、照準位置取得部47による照準位置の取得が行われなかったと判断するようにしてもよい。
ここでは、照準位置取得部47が新たに照準位置を取得するまで前回取得した照準位置を保持し続けることとして説明を進める。この場合、輝度調整情報決定部56は、照準位置取得部47から供給される照準位置が前回の照準位置と同じであるか否かを判断し、同じである場合には、照準位置取得部47によって新たに照準位置の取得が行われていないと判断し、照準位置取得部47から供給される照準位置を無視する。なお、以下において、「S101で取得された照準位置」とは、照準位置取得部47によって新たに照準位置の取得が行われたと判断される場合において、照準位置取得部47から供給される照準位置のことをいう。
次に、輝度調整情報決定部56は、前回の照準位置のx座標(X’)を取得する(S102)。本実施の形態では、S101で取得された照準位置のx座標(X)は主記憶26に記憶される(S118参照)。したがって、輝度調整情報決定部56は、主記憶26の記憶内容を参照することによって、前回の照準位置のx座標(X’)を取得する。
そして、輝度調整情報決定部56は、現在の照準位置のx座標(X)と、前回の照準位置のx座標(X’)とがともにX1以上X2未満であるか否かを判断する(S103)。なお、X1は、図4に示すように、円画像36aの右端と輝度調整画像38の左端との間の所定のx座標を示している。また、X2は輝度調整画像38の左端のx座標を示している。
X及びX’がともにX1以上X2未満である場合、輝度調整情報決定部56はXとX’との間の距離(W1)を算出する(S104)。W1は、ガンコントローラ32の銃身が高輝度画像34aに向けられている場合におけるXとX’との間の距離を示している。輝度調整情報決定部56は、W1の値を主記憶26に記憶させる(S105)。主記憶26には、図10に示すように、このステップで算出されたW1の値の履歴が記憶される。
X及びX’の少なくとも一方がX1以上X2未満でない場合、輝度調整情報決定部56はX及びX’がともにX2以上X3未満であるか否かを判断する(S106)。なお、X3は輝度調整画像38の右端のx座標を示している。
X及びX’がともにX2以上X3未満である場合、輝度調整情報決定部56はXとX’との間の距離(W2)を算出する(S107)。W2は、ガンコントローラ32の銃身が輝度調整画像38に向けられている場合におけるXとX’との間の距離を示している。輝度調整情報決定部56は、W2の値を主記憶26に記憶させる(S108)。主記憶26には、図10に示すように、このステップで算出されたW2の値の履歴が記憶される。
X及びX’の少なくとも一方がX2以上X3未満でない場合、輝度調整情報決定部56はX及びX’がともにX3以上X4未満であるか否かを判断する(S109)。なお、X4は、図4に示すように、輝度調整画像38の右端と円画像36bの左端との間の所定のx座標を示している。
X及びX’がともにX3以上X4未満である場合、輝度調整情報決定部56はXとX’との間の距離(W3)を算出する(S110)。W3は、ガンコントローラ32の銃身が高輝度画像34bに向けられている場合におけるXとX’との間の距離を示している。輝度調整情報決定部56は、W3の値を主記憶26に記憶させる(S111)。主記憶26には、図10に示すように、このステップで算出されたW3の値の履歴が記憶される。
次に、輝度調整情報決定部56ガンコントローラ32の照準位置が目標の円内であるか否かを判断する(S112)。この判断は、照準位置と目標の円画像36b(又は円画像36a)の表示位置とに基づいて行われる。
照準位置が目標の円内でない場合、輝度調整情報決定部56は照準位置のx座標(X)を主記憶26に記憶させる(S118)。そして、輝度調整画像表示部54は、照準位置案内画像40の表示位置がS101で取得された照準位置となるよう輝度調整画面を更新する(S119)。
一方、照準位置が目標の円内である場合、輝度調整情報決定部56はW1,W2,W3の平均値(WA1,WA2,WA3)を算出する(S113)。WA1は、照準位置が円画像36a(又は円画像36b)から円画像36b(又は円画像36a)まで移動する間に取得されたW1の平均値を示している。同様に、WA2及びWA3はそれぞれ、照準位置が円画像36a(又は円画像36b)から円画像36b(又は円画像36a)まで移動する間に取得されたW2及びW3の平均値を示している。この平均値は主記憶26に記憶されたW1,W2,W3の履歴(図10)に基づいて算出される。なお、この算出が行われた後、主記憶26に記憶されたW1,W2,W3の履歴は削除される。
次に、輝度調整情報決定部56は、W2と、(WA1+WA3)/2との差が閾値以内であるか否かを判断する(S114)。すなわち、輝度調整情報決定部56は、ガンコントローラ32が輝度調整画像38に向けられている場合において、ガンコントローラ32が高輝度画像34a及び34bに向けられている場合と同様に、光検出部46による検出が行われているか否かを、上記の差によって判断する。
輝度調整情報決定部56は、上記の差が閾値以内である場合、ガンコントローラ32が輝度調整画像38に向けられている場合においても、高輝度画像34a及び34bに向けられている場合と同等の頻度で光検出部46による光検出(照準位置の取得)が行えたと判断する。
この場合、輝度調整画像表示部54は、輝度調整画面を例えば図4に示すように更新する(S115)。すなわち、輝度調整画像表示部54は、輝度調整画像38を現在表示されているものに対応する輝度調整値よりも1小さい輝度調整値に対応するものに更新する。例えば、輝度調整値「50」に対応する輝度調整画像38が表示されている場合、輝度調整画像表示部54は、これを輝度調整値「49」に対応するものに更新する。また、輝度調整画像表示部54は、照準位置案内画像40の表示位置をS101で取得された照準位置に更新する。さらに、輝度調整画像表示部54は、照準位置案内画像40を円画像36b(又は円画像36a)から円画像36a(又は円画像36b)まで移動するよう案内するメッセージをメッセージ表示領域42に表示させる。このとき、輝度調整画像表示部54は、次の目標となる円画像36a(又は円画像36b)を点滅させるようにしてもよい。
この輝度調整画面では、プレイヤは照準位置案内画像40を円画像36bから円画像36aまで移動させるべく、ガンコントローラ32の向きを変えていく。この場合においても本処理が実行されることにより、輝度を一段階低くした輝度調整画像38について、高輝度画像34a及び34bと同等の頻度で光検出部46による検出が行われるか否かの確認が行われる。
一方、上記の差が閾値より大きい場合(S114)、輝度調整情報決定部56は、ガンコントローラ32が輝度調整画像38に向けられている場合において、高輝度画像34a及び34bに向けられている場合と同等の頻度で光検出部46による光検出(照準位置の取得)が行えなかったと判断する。
この場合、輝度調整情報決定部56は、現在表示されている輝度調整画像38に対応づけられている輝度調整値に1加算してなる値を基準調整パラメータの値として決定する(S116)。そして、輝度調整画像表示部54は、輝度調整画面を例えば図5に示すように更新する(S117)。すなわち、輝度調整画像表示部54は、照準位置案内画像40の表示位置をS101で取得された照準位置に更新するとともに、輝度調整が完了したことをプレイヤに案内するメッセージをメッセージ表示領域42に表示させる。
以上の処理は、DVD−ROM等のコンピュータにより読み取り可能な情報記憶媒体や通信ネットワークによってコンピュータに供給されるプログラムがゲーム装置10によって実行されることによって実現される。
次に、ゲーム制御部48及びゲーム画像表示部52を中心として実行されるゲーム画面表示処理について説明する。図11はゲーム画面表示処理を示すフロー図である。本処理は、所定時間(例えば1/30秒)ごとに実行される。
同図に示すように、本処理では、まずゲーム制御部48がゲーム画像(ゲーム画像データ)を取得し、画像処理部16のVRAMに描画する(S201)。例えば、ゲーム制御部48は、DVD−ROM25等から読み出したゲーム画像をVRAMに描画する。また例えば、ゲーム制御部48は、DVD−ROM25等から読み出した画像データに基づいてゲーム画像を生成し、VRAMに描画する。
例えば、ゲーム装置10によって提供されるガンシューティングゲームが、仮想的な3次元ゲーム空間に配置される標的キャラクタをシューティングするものである場合、次のようにして、3次元ゲーム空間を所与の視点から見た様子を表す画像(視野画像)が生成される。そして、その視野画像に基づいて生成されるゲーム画像がVRAMに描画される。
すなわち、まず環境処理が実行される。環境処理では、3次元ゲーム空間のすべての静的オブジェクト及び動的オブジェクトの位置及び姿勢を算出する。静的オブジェクトは、建物等の位置を変えないオブジェクトである。これに対して、動的オブジェクトは標的キャラクタのように位置や姿勢を変えるオブジェクトである。
また環境処理では、視点座標、視線方向及び画角も算出する。例えば、標準状態では、視点座標をプレイヤキャラクタ(プレイヤの操作対象であるキャラクタ)の後方上空に設定する。また、視線方向を、プレイヤキャラクタの前方を向くように設定する。こうして、視点がプレイヤキャラクタに従動するようにしている。なお、画角には、例えば固定値を用いる。こうして算出される視点座標、視線方向及び画角に従って、仮想カメラが3次元ゲーム空間に仮想的に配置される。
その後、ジオメトリ処理が実行される。ジオメトリ処理では、ワールド座標系(XW,YW,ZW)から視点座標系、すなわち視点座標を原点とし、視線方向をZ方向、水平方向をX方向、垂直方向をY方向とする座標系への座標変換を行う。また、各オブジェクトを構成するポリゴンについて、頂点の色情報を光源情報(光源の色及び位置)に基づいて算出する。さらに、クリッピング処理も行う。
その後、レンダリング処理が実行される。すなわち、視野範囲内の各ポリゴンの頂点座標、頂点色情報及びテクスチャ座標等が画像処理部16に渡される。そして、画像処理部16が、それらの情報に基づいてVRAM上に視野画像を含むゲーム画像を形成する。視野画像は、視点座標系で記述された各オブジェクトをスクリーン座標系に変換することによって形成される。
次に、ゲーム画像表示部52は、輝度調整情報記憶部50に記憶される輝度調整パラメータの値を読み出す(S202)。そして、ゲーム画像表示部52は、ゲーム画像に対し半透明合成する白色画像のアルファ値を算出する(S203)。白色画像のアルファ値αは、α=(輝度調整パラメータの値/100)×255に従って算出される。
そして、ゲーム画像表示部52は、S201でVRAM上に形成されたゲーム画像に対し、白色画像をS203で算出したアルファ値で半透明合成させる(S204)。このようにして、VRAM上には、そのゲームプレイ環境に応じて輝度調整がなされた輝度調整済みのゲーム画像(ゲーム画面)が形成される。VRAMに形成された画像は所定のタイミングで表示部44に出力される。
以上の処理は、DVD−ROM等のコンピュータにより読み取り可能な情報記憶媒体や通信ネットワークによってコンピュータに供給されるプログラムがゲーム装置10によって実行されることによって実現される。
以上説明したように、ゲーム装置10では、輝度調整画面には、輝度調整パラメータの値がとり得る値のそれぞれに対応する輝度調整画像が表示される。そして、輝度調整パラメータの値は、ガンコントローラ32がそれぞれの輝度調整画像に向けられた場合における光検出部46の検出結果に基づいて決定される。したがって、ゲーム画面の輝度がそのゲームプレイ環境に応じて好適なものとなるように、輝度調整パラメータの値が決定される。このため、ゲーム装置10によれば、そのゲームプレイ環境において、ガンコントローラ32の銃身がゲーム画面の輝度が最も低い部分に向けられている場合においても、光検出部46による光検出が好適に行われるよう(ガンコントローラ32の照準位置の取得が好適に行われるよう)、ゲーム画面の輝度を好適に調整できるようになる。
また、ゲーム装置10では、輝度調整パラメータの値の決定に際し、プレイヤは画面に表示されるメッセージに従って、ガンコントローラ32の銃身方向を円画像36aから円画像36bへと、或いは円画像36bから円画像36aへと変えることを繰り返すだけでよい。このため、ゲーム装置10によれば、ゲーム画面の輝度調整をプレイヤは困難なく行うことができるようになる。
また、ゲーム装置10では、輝度調整画面に輝度調整画像38を輝度を高いものから低いものへと順次表示させる。このため、ゲーム装置10によれば、ゲームプレイ環境に適した輝度調整パラメータの値を高い精度で算出することができるようになる。
さらに、ゲーム装置10では、ゲーム画像に対して白色画像を輝度調整パラメータの値に基づくアルファ値で半透明合成させることによって、ゲーム画面の輝度を変化させる。このため、ゲーム装置10によれば、比較的簡易な処理でゲーム画面の輝度をソフトウェア的に変化させることができるようになる。
なお、本発明は以上説明した実施の形態に限定されるものではない。
例えば、以上の説明では、S115において輝度調整画像38の輝度を一段階ずつ下げることとしたが、輝度調整画像38の輝度を所定数段階ずつ下げるようにしてもよい。この場合、S114において、W2と(WA1+WA3)/2との差が閾値より大きいと判断された場合、輝度調整画像38の輝度を1段階ずつ上げるようにしていくようにしてもよい。そして、W2と(WA1+WA3)/2との差が閾値以内と判断された場合、その場合に表示されている輝度調整画像38に対応づけられている輝度調整値を輝度調整パラメータの値として決定するようにしてもよい。
また例えば、以上の説明では、ゲーム画像表示部52は、ゲーム画像全体の輝度を輝度調整パラメータの値に基づいて変化させることとして説明したが、ゲーム画像の所定領域(所定輝度以下の領域)についてのみ、輝度調整パラメータの値に基づいて輝度を変化させるようにしてもよい。
また例えば、以上の説明では、高輝度画像34a,34b及び輝度調整画像38を輝度調整画面に同時に表示させることとしたが、高輝度画像34a(34b)と輝度調整画像38とを交互に表示させるようにしてもよい。
この場合、本実施の形態のように、照準位置を画面左(右)から画面右(左)まで移動するようにプレイヤに案内し、その移動の間、高輝度画像34a(34b)と輝度調整画像38を所定時間(例えば6/30秒)ごとに交互に表示させるようにしてもよい。そして、高輝度画像34a(34b)が表示されている場合における移動距離(前回照準位置から現在照準位置までの距離)の平均と、輝度調整画像38が表示されている場合における移動距離の平均とを算出するようにしてもよい。そして、その算出結果に基づいて、輝度調整画面に表示される輝度調整画像38を更新させたり、輝度調整パラメータの値を決定するようにしてもよい。
また例えば、以上では、本発明をガンシューティングゲーム装置に適用する例について説明したが、本発明はガンシューティングゲーム装置に限られず、画面からの光を検出し、その検出結果に基づいてゲーム制御を行うゲーム装置に適用できるものである。
また、以上の説明では、プログラムを情報記憶媒体たるDVD−ROM25から家庭用ゲーム機11に供給するようにしたが、通信ネットワークを介してプログラムを家庭等に配信するようにしてもよい。図12は、通信ネットワークを用いたプログラム配信システムの全体構成を示す図である。同図に基づいて本発明に係るプログラム配信方法を説明する。同図に示すように、このプログラム配信システム100は、ゲームデータベース102、サーバ104、通信ネットワーク106、パソコン108、家庭用ゲーム機110、PDA(携帯情報端末)112を含んでいる。このうち、ゲームデータベース102とサーバ104とによりプログラム配信装置114が構成される。通信ネットワーク106は、例えばインターネットやケーブルテレビネットワークを含んで構成されている。このシステムでは、ゲームデータベース(情報記憶媒体)102に、DVD−ROM25の記憶内容と同様のプログラムが記憶されている。そして、パソコン108、家庭用ゲーム機110又はPDA112等を用いて需要者がゲーム配信要求をすることにより、それが通信ネットワーク106を介してサーバ104に伝えられる。そして、サーバ104はゲーム配信要求に応じてゲームデータベース102からプログラムを読み出し、それをパソコン108、家庭用ゲーム機110、PDA112等、ゲーム配信要求元に送信する。ここではゲーム配信要求に応じてゲーム配信するようにしたが、サーバ104から一方的に送信するようにしてもよい。また、必ずしも一度にゲームの実現に必要な全てのプログラムを配信(一括配信)する必要はなく、ゲームの局面に応じて必要な部分を配信(分割配信)するようにしてもよい。このように通信ネットワーク106を介してゲーム配信するようにすれば、プログラムを需要者は容易に入手することができるようになる。
10 ゲーム装置、11,110 家庭用ゲーム機、12 バス、14 マイクロプロセッサ、16 画像処理部、18 モニタ、20 音声処理部、22 スピーカ、24 DVD−ROM再生部、25 DVD−ROM、26 主記憶、28 メモリカード、30 入出力処理部、32 ガンコントローラ、34a,34b 高輝度画像、36a,36b 円画像、38 輝度調整画像、40 照準位置案内画像、42 メッセージ表示領域、44 表示部、46 光検出部、47 照準位置取得部、48 ゲーム制御部、50 輝度調整情報記憶部、52 ゲーム画像表示部、54 輝度調整画像表示部、56 輝度調整情報決定部、100 プログラム配信システム、102 ゲームデータベース、104 サーバ、106 通信ネットワーク、108 パソコン、112 携帯情報端末(PDA)、114 プログラム配信装置。