以下、本発明の好適な実施形態の一例について図面に基づき詳細に説明する。
図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の銃身が指し示すゲーム画面上の位置(照準位置)と、標的キャラクタのゲーム画面上の表示位置とに基づいて、プレイヤの射撃の成否を判定する。そして、その判定結果に応じてゲームを進行させる。
ゲーム装置10では、ガンコントローラ32の照準位置は、モニタ18の画面上を移動する輝点の光(モニタ18の走査による光)がガンコントローラ32の光検出センサによって検出された場合に、その時点の走査位置を取得することによって取得される。このため、ゲーム装置10では、ガンコントローラ32の銃身がゲーム画面の輝度の低い範囲に向けられている場合、光検出センサによる光検出が不安定になり、ガンコントローラ32の照準位置を好適に取得できなくなる場合がある。
この点、ゲーム装置10では、輝度調整パラメータが設けられ、ゲーム画面が輝度調整パラメータの値(輝度調整値)に対応する輝度で表示される。輝度調整パラメータの値はそのゲームプレイ環境に応じて決定される。このため、ゲーム画面の輝度がそのゲームプレイ環境に応じて好適に調整されるようになっている。
また、ゲーム装置10では、以上のような輝度調整パラメータの値の決定がプレイヤにとって容易に行われるようになっている。
さらに、ゲーム装置10では、ゲーム画面の輝度を輝度調整パラメータの値に基づく輝度に変化させることを比較的簡易な処理で実現するようになっている。
ここで、ゲーム装置10の輝度調整画面について詳細に説明する。輝度調整画面は、輝度調整パラメータの値を決定するための画面である。図2乃至図6は、モニタ18に表示される輝度調整画面の一例を示している。
これらの図に示すように、輝度調整画面には照準位置案内画像40が表示される。照準位置案内画像40は、ガンコントローラ32の銃身が指し示す画面上の位置(ガンコントローラ32の照準位置)を表している。プレイヤがガンコントローラ32の銃身の向きを変えると、それに応じて照準位置案内画像40の表示位置は変わる。
また、輝度調整画面の下部はメッセージ表示領域42となっている。メッセージ表示領域42には、照準位置案内画像40を画面上の所定領域に合わせるよう、或いは所定領域まで移動するようプレイヤに案内するためのメッセージが表示される。輝度調整画面では、プレイヤがメッセージ表示領域42に表示されるメッセージに従ってガンコントローラ32の銃身の向きを変えることによって、そのゲームプレイ環境に適した輝度調整パラメータの値が決定されるようになっている。
また、輝度調整画面の左右部には高輝度画像34a及び34b(基準輝度画像)が表示される。高輝度画像34a及び34bには、円画像36a及び36bが重ねて表示される。高輝度画像34a、34b、円画像36a及び36bは、これらの画像が表示された領域からの光がガンコントローラ32の光検出センサによって確実に検出されるような輝度の画像である。本実施の形態では、高輝度画像34a、34b、円画像36a及び36bは白色画像となっている。
また、輝度調整画面では、高輝度画像34a及び34bの間の領域(輝度調整画像表示領域)に輝度調整画像が表示される。輝度調整画像は、輝度が異なる複数の輝度画像(38a等)を含んで構成される。
各輝度画像には、それぞれ異なる輝度調整値(輝度調整情報)が対応づけられている。各輝度画像は、ゲーム画像に用いられる低輝度の色の画像に対し、高輝度の色の画像を各輝度画像に対応づけられる輝度調整値に基づく半透明合成の割合で半透明合成してなる画像である。
輝度調整画像は、輝度調整パラメータがとり得る値(複数の輝度調整値)のそれぞれに対応する輝度画像の少なくとも一部を含んで構成される。本実施の形態における輝度調整パラメータは0から10までの値をとるようになっている。このため、本実施の形態では、輝度調整画像に0から10までの各輝度調整値に対応する輝度画像の少なくとも一部が含まれる。また、輝度画像は黒色画像に対し白色画像を半透明合成してなる画像である。そして、白色画像のアルファ値α(半透明合成の割合)は、α=(輝度調整値/20)×255の算出式に従って決定されるようになっている。このように、輝度画像は対応づけられた輝度調整値が大きいものほど、その輝度が高くなるようになっている。
輝度調整画面(輝度調整画像表示領域)には、上限輝度調整値と下限輝度調整値とが関連づけられている。輝度調整画像表示領域には、下限輝度調整値から上限輝度調整値までの各輝度調整値に対応する輝度画像が表示される。上限輝度調整値及び下限輝度調整値は、光検出部46による検出結果に基づいて更新される。詳細については後述する(図9参照)。
また、輝度画像は画面左から右に向かって、対応づけられる輝度調整値の大きい順で表示される。すなわち、輝度画像は、画面の右方向(x軸方向)に向かって輝度が小さくなるように表示される。上限輝度調整値に対応する輝度画像は、その左端のx座標が輝度調整画像表示領域の左端のx座標(X1)に一致するように表示される。また、下限輝度調整値に対応する輝度調整画像は、その右端のx座標が輝度調整画像表示領域の右端のx座標(X2)に一致するように表示される。
また、輝度画像の幅は均等になっている。輝度画像の幅(W)は、W=(X2−X1)/(上限輝度調整値−下限輝度調整値+1)の算出式に従って算出される。また、輝度画像の表示位置は、各輝度画像に対応づけられた輝度調整値、上限輝度調整値、輝度調整画像表示領域の左端のx座標(X1)及び輝度画像の幅(W)によって決定されるようになっている。
図2は輝度調整画面の初期状態を示している。この輝度調整画面では、上限輝度調整値は輝度調整パラメータがとり得る最大値(10)となっており、下限輝度調整値は輝度調整パラメータがとり得る最小値(0)となっている。同図の例では、輝度画像38aは輝度調整値「10」に対応する画像である。また、輝度画像38bは輝度調整値「9」に対応する画像である。さらに、輝度画像38c乃至38kはそれぞれ、輝度調整値「8」乃至「0」に対応する画像である。
同図に示す輝度調整画面では、プレイヤは画面表示されるメッセージに従い、照準位置案内画像40が円画像36aに重なるようガンコントローラ32の銃身の向きを変える。ガンコントローラ32の照準位置が円画像36aの表示領域に入ったことが検知されると、図3に示すように、照準位置案内画像40を円画像36aから円画像36bまで移動するよう案内するメッセージがメッセージ表示領域42に表示される。
図3に示す輝度調整画面では、プレイヤは照準位置案内画像40を円画像36aから円画像36bまで水平に移動させるべく、ガンコントローラ32の銃身の向きを変えていく(照準移動操作)。この間、後述するような輝度調整情報決定処理が実行される(図9参照)。
ガンコントローラ32の照準位置が円画像36bの表示領域に入ったことが検知されると、ガンコントローラ32が各輝度画像に向けられている場合において照準位置を好適に取得することができた輝度画像のうち、対応づけられた輝度調整値が最も小さいものが取得される。そして、その輝度画像に対応づけられた輝度調整値(基準輝度調整値)に対し、所定値を加減することによって上限輝度調整値及び下限輝度調整値が決定される。そして、その上限輝度調整値及び下限輝度調整値に基づいて、輝度調整画面が例えば図4に示すように更新される。
図4は、1回目の照準移動操作が完了した後に表示される輝度調整画面の一例を示している。同図の例は、1回目の照準移動操作の間に行われる輝度調整情報決定処理によって、照準位置を好適に取得することができた輝度画像のうち最も輝度調整値の小さいものとして、輝度画像38eが取得された場合を示している。同図に示す輝度調整画面では、上限輝度調整値及び下限輝度調整値は基準輝度調整値に対し3を加減してなる値となっている。
同図に示す輝度調整画面では、プレイヤは画面表示されるメッセージに従い、照準位置案内画像40が円画像36aに重なるようガンコントローラ32の銃身の向きを変える。ガンコントローラ32の照準位置が円画像36aの表示領域に入ったことが検知されると、照準位置案内画像40を円画像36aから円画像36bまで移動するよう案内するメッセージがメッセージ表示領域42に表示される。このメッセージに従って、プレイヤは2回目の照準移動操作を行う。
図5は、2回目の照準移動操作が完了した後に表示される輝度調整画面の一例を示している。同図の例は、2回目の照準移動操作の間に行われる輝度調整情報決定処理によって、照準位置を好適に取得することができた輝度画像のうち最も輝度調整値の小さいものとして、輝度画像38eが取得された場合を示している。同図に示す輝度調整画面では、上限輝度調整値及び下限輝度調整値は基準輝度調整値に対し1を加減してなる値となっている。同図に示す輝度調整画面でも、プレイヤは画面表示されるメッセージに従って3回目の照準移動操作を行う。
図6は、3回目の照準移動操作が完了した後に表示される輝度調整画面の一例を示している。本実施の形態では、3回目の照準移動操作の間に行われる輝度調整情報決定処理によって、照準位置を好適に取得することができた輝度画像に対応づけられる輝度調整値のうちの最小値が輝度調整パラメータの値として決定される。そして、同図に示す輝度調整画面には、輝度調整が完了した旨のメッセージが表示される。
これらの図に示すように、1回の照準移動操作が完了するごとに、輝度調整画面に関連づけられる上限輝度調整値及び下限輝度調整値は、その間の範囲が狭くなるように更新される。すなわち、1回の照準移動操作が完了するごとに、輝度調整画像に含まれる輝度画像の数は減少していくようになっている。このため、ゲーム装置10では、そのゲームプレイ環境に適した輝度調整パラメータの値を高精度で取得することができるようになっている。
ここで、ゲーム装置10において実現される機能ブロックについて説明する。図7は、ゲーム装置10において実現される機能ブロックのうち、本発明に関連するものを中心として示す図である。同図に示すように、ゲーム装置10は表示部44、光検出部46、照準位置取得部47、ゲーム制御部48、輝度調整情報記憶部50、ゲーム画像表示部52、輝度調整画像表示部54、輝度調整情報決定部56を含んで構成される。これらの機能は、家庭用ゲーム機、業務用ゲーム機、携帯用ゲーム機、携帯電話機、携帯情報端末、あるいはパーソナルコンピュータ等のコンピュータによってプログラム(DVD−ROM等のコンピュータにより読み取り可能な情報記憶媒体や通信ネットワークによってコンピュータに供給される)が実行されることによって実現される。
表示部44はモニタ18を主として構成される。表示部44は、輝点を水平方向(左右方向)に高速移動させることによって走査線を表示し、その走査線を順次垂直方向にずらすことによって各画面を表示する。表示部44は、ゲーム画面や輝度調整画面(図2乃至図6)等の画面を表示する。
光検出部46は、ガンコントローラ32に含まれる公知の光検出センサを主として構成される。光検出部46は、ガンコントローラ32の銃身方向からの光、特に表示部44に表示される画面からの光を検出する。より具体的には、光検出部46は、ガンコントローラ32の銃身が指示する画面上の位置(領域)に対し走査が行われているか否かを検出する。換言すれば、光検出部46は、ガンコントローラ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は、図8に示すような輝度調整パラメータ(輝度調整情報)を記憶する。輝度調整パラメータは、ゲーム画像(ゲーム画面)の輝度をどのように変化させるかを示す情報である。輝度調整パラメータの値は輝度調整情報決定部56によって決定される。そして、輝度調整パラメータの値はゲーム画像表示部52によって参照される。本実施の形態における輝度調整パラメータは、0から10までの値をとるようになっている。
ゲーム画像表示部52は、マイクロプロセッサ14及び画像処理部16を主として構成される。ゲーム画像表示部52は、ゲーム制御部48から供給されるゲーム画像(ゲーム画像データ)を、輝度調整情報記憶部50に記憶される輝度調整パラメータの値に基づく輝度で表示部44に表示させる。
例えば、ゲーム画像表示部52は、ゲーム画像に対し、所定色(所定輝度)の画像を半透明合成することによって、輝度調整済みのゲーム画像(ゲーム画面データ)を生成する。そして、輝度調整済みのゲーム画像(ゲーム画面)を表示部44に表示させる。この場合、ゲーム画像表示部52は、半透明合成の割合を輝度調整パラメータの値に基づいて決定する。例えば、ゲーム画像表示部52は、輝度調整パラメータの値(或いは輝度調整パラメータの値の範囲)を示す情報と、半透明合成の割合とを対応づけて記憶しておき、かかる記憶内容に基づいて半透明合成の割合を決定するようにしてもよい。
本実施の形態では、各輝度画像を生成する場合と同様に、白色画像をゲーム画像を半透明合成することによって、輝度調整済みのゲーム画像を生成する。白色画像のアルファ値αは、α=(輝度調整パラメータの値/20)×255の算出式に従って決定される。このように、本実施の形態では、輝度調整パラメータの値が大きくなるほど、ゲーム画面がより明るく調整されるようになっている。
また例えば、ゲーム画像表示部52は、輝度調整パラメータの値に対応するパレットデータを取得し、当該パレットデータに基づいてゲーム画像を表示部44に表示させるようにしてもよい。この場合、輝度調整パラメータがとり得る値のそれぞれに対応する複数のパレットデータをあらかじめ記憶しておくようにしてもよい。或いは、基準のパレットデータ(例えば、輝度調整パラメータがとり得る値のうちの一の値に対応するパレットデータ)のみをあらかじめ記憶しておくようにし、輝度調整パラメータの各値に対応するパレットデータは当該基準のパレットデータに基づいて生成するようにしてもよい。
また例えば、ゲーム画像表示部52は、全部又は一部が、輝度調整パラメータがとり得る値にそれぞれ対応する複数のパレット番号群のうちいずれか1つにそれぞれ属するパレット番号と色情報とを対応づけてなるパレットデータを記憶しておくようにしてもよい。この場合、ゲーム制御部48は、複数のパレット番号群のうち1つに属するパレット番号を、画像を構成する各ピクセルに対応づけてなるゲーム画像を生成するようにすればよい。さらに、ゲーム画像表示部52は、ゲーム画像を構成する各ピクセルに対応づけられているパレット番号を、輝度調整パラメータの値に対応するパレット番号群に属するパレット番号に変更するようにすればよい。そして、ゲーム画像をパレットデータに基づいて表示部44に表示させるようにすればよい。
なお、ゲーム画像表示部52は他の公知の手法を用いて、ゲーム画像を輝度調整パラメータの値に基づく輝度で表示させるようにしてもよい。また、輝度調整画像と輝度調整済みのゲーム画像とは同じ手法で生成するのが好ましい。こうすれば、ゲーム画面の輝度をそのゲームプレイ環境に適したものへと確実に調整できるようになる。
輝度調整画像表示部54は、マイクロプロセッサ14及び画像処理部16を主として構成される。輝度調整画像表示部54は輝度調整画像を表示部44に表示させる。輝度調整画像は、複数の領域を含み、当該複数の領域のそれぞれで輝度が異なる画像である。本実施の形態では、輝度調整画像表示部54は前述の輝度調整画面(図2乃至図6)を表示部44に表示させる。また、図2等において説明したように、輝度調整画像は輝度が異なる複数の輝度画像を含んで構成される。輝度画像には、それぞれ異なる輝度調整値が対応づけられている。輝度画像の輝度は、各輝度画像に対応づけられる輝度調整値に対応する輝度である。また、輝度画像は、画面右方向に向かって輝度調整値(輝度)の高い順で表示される。
また、輝度調整画像表示部54は、表示部44に表示される輝度調整画像に含まれる複数の領域のそれぞれからの光の検出結果に基づいて、輝度調整画像を表示部44に再表示させるようにしてもよい。本実施の形態では、輝度調整画像表示部54は、表示部44の画面に表示される各輝度画像(各輝度画像が表示される領域)からの光の検出結果に基づいて、輝度調整画面に関連づけられる上限輝度調整値と下限輝度調整値とを更新するようになっている。
輝度調整情報決定部56はマイクロプロセッサ14を主として構成される。輝度調整情報決定部56は、表示部44に表示されるゲーム画面(ゲーム画像)の輝度を決定する。より具体的には、輝度調整情報決定部56は、表示部44に表示される輝度調整画像に含まれる複数の領域(輝度画像が表示される領域)のそれぞれからの光の検出結果に基づいて、輝度調整パラメータの値を決定する。本実施の形態では、輝度調整情報決定部56は、表示部44に表示される各輝度画像からの光の検出の有無の結果に基づいて、輝度画像に対応づけられる輝度調整値のうちいずれかを輝度調整パラメータの値として選択する。
ここで、輝度調整情報決定部56を中心として実行される輝度調整情報決定処理について説明する。図9は輝度調整情報決定処理を示すフロー図である。本処理は、照準位置案内画像40を円画像36aから円画像36bまで移動するよう案内するメッセージがメッセージ表示領域42に表示された後、円画像36bの表示された範囲に照準位置が含まれたことが検出される(照準移動操作が完了される)までの間、所定時間(1/30秒)ごとに実行される。
輝度調整情報決定処理の実行に関連し、主記憶26には図10に示すようなデータが記憶される。同図に示すように、このデータには、未検出フラグ欄、X最大値欄、実行回数欄が含まれている。各欄の値は、初期状態の輝度調整画面(図2)が表示される際に「0」に初期化される。
未検出フラグ欄には、ガンコントローラ32の照準位置が円画像36aから円画像36bまで移動する間において、照準位置取得部47による照準位置の取得(すなわち、光検出部46による検出)が行われなかった場合があったか否かを示す情報が記憶される。照準位置取得部47による照準位置の取得が行えなかった場合が発生すると、同欄は「1」に更新される。X最大値欄には、照準位置が円画像36aから円画像36bまで移動する間において、照準位置取得部47による照準位置の取得が行われなかった場合が発生する(未検出フラグ欄が「1」に更新される)前に取得することができた照準位置のx座標の最大値が記憶される。実行回数欄には、プレイヤによって照準移動操作が行われた回数を示す数値情報が記憶される。
図9に示すように、本処理では、まず輝度調整情報決定部56が、ガンコントローラ32の照準位置(X,Y)が照準位置取得部47によって取得されたか否かを判断する(S101)。例えば、照準位置の取得が行われたか否かを示す情報を照準位置取得部47から取得できるような場合には、輝度調整情報決定部56はその情報を取得し、上記の判断を行うようにすればよい。また例えば、モニタ18の走査(輝度調整画面を表示するための走査)によって発せられる光(走査光)が検出されたか否かを示す情報を光検出部46から取得できるような場合には、輝度調整情報決定部56はその情報を取得し、上記の判断を行うようにしてもよい。さらに例えば、照準位置取得部47が新たに照準位置を取得するまで前回取得した照準位置を保持し続けるような場合において、照準位置取得部47から供給される照準位置が前回と同じ場合には、輝度調整情報決定部56は、照準位置取得部47による照準位置の取得が行われなかったと判断するようにしてもよい。
ここでは、照準位置取得部47が新たに照準位置を取得するまで前回取得した照準位置を保持し続けることとして説明を進める。この場合、輝度調整情報決定部56は、照準位置取得部47から供給される照準位置が前回の照準位置と同じであるか否かを判断し、同じである場合には、照準位置取得部47によって新たに照準位置の取得が行われていないと判断し、照準位置取得部47から供給される照準位置を無視する。なお、以下において、「S101で取得された照準位置」とは、照準位置取得部47によって新たに照準位置の取得が行われたと判断される場合において、照準位置取得部47から供給される照準位置のことをいう。
照準位置の取得が行われなかったと判断される場合には、輝度調整情報決定部56は、主記憶26に記憶されるデータの未検出フラグ欄を「1」に更新する(S102)。そして、本処理は終了する。
一方、照準位置の取得が行われたと判断される場合には、輝度調整情報決定部56は、未検出フラグ欄が「0」であるか否かを判断する(S103)。そして、未検出フラグ欄が「0」である場合、輝度調整情報決定部56は、主記憶26に記憶されるデータのX最大値欄に、S101で取得された照準位置のx座標(X)を格納する(S104)。一方、未検出フラグ欄が「1」である場合、輝度調整情報決定部56はX最大値欄の更新を行わない。
次に、輝度調整情報決定部56は、ガンコントローラ32の照準位置が目標の円(円画像36b)内であるか否かを判断する(S105)。この判断は、S101で取得された照準位置と目標の円画像36bの表示位置とに基づいて行われる。
照準位置が目標の円内でない場合、輝度調整画像表示部54は、照準位置案内画像40の表示位置がS101で取得された照準位置となるよう輝度調整画面を更新する(S106)。そして、本処理は終了する。
一方、照準位置が目標の円内である場合、輝度調整情報決定部56は、主記憶26に記憶されるデータの実行回数欄の値をインクリメントする(S107)。そして、輝度調整情報決定部56は、X最大値欄の値に対応する輝度調整値を取得する(S108)。すなわち、輝度調整情報決定部56は、X最大値欄に記憶されるx座標が、輝度調整画面のどの輝度画像が表示される領域に属するかを判断する。そして、輝度調整情報決定部56は、その輝度画像に対応する輝度調整値を取得する。
次に、輝度調整情報決定部56は、実行回数欄が「3」であるか否かを判断する(S109)。
実行回数欄が「3」でない場合(「1」又は「2」である場合)、輝度調整情報決定部56は、実行回数欄の値と、S108で取得した輝度調整値とに基づいて、上限輝度調整値と下限輝度調整値とを決定する(S112)。実行回数欄が「1」の場合、輝度調整情報決定部56は、S108で取得した輝度調整値に3を加算したものを上限輝度調整値とし、S108で取得した輝度調整値から3を減算したものを下限輝度調整値とする。また、実行回数欄が「2」の場合、輝度調整情報決定部56は、S108で取得した輝度調整値に1を加算したものを上限輝度調整値とし、S108で取得した輝度調整値から1を減算したものを下限輝度調整値とする。
次に、輝度調整情報決定部56は輝度画像の幅を決定する(S113)。輝度画像の幅(W)は、W=(X2−X1)/(上限輝度調整値−下限輝度調整値+1)の算出式に従って算出される。
そして、輝度調整画像表示部54は、S112で取得した上限輝度調整値及び下限輝度調整値と、S113で取得した輝度画像の幅とに基づいて、輝度調整画面を例えば図4や図5に示すように更新する(S114)。このとき、主記憶26に記憶されるデータの未検出フラグ欄、X最大値欄を「0」に初期化する。
実行回数欄が「1」である場合には、図4に示すような輝度調整画面が表示される。同図は、X最大値欄に記憶されるx座標が輝度画像38eが表示される範囲に属すると判断され、S108において輝度調整値「6」が取得された場合の例を示している。同図に示すように、この輝度調整画面には、輝度調整値「6」を中心として±3の範囲に属する輝度調整値(3−9)に対応する輝度画像(38b乃至38h)が表示される。図3の場合に比べて、画面表示される輝度画像の数が減少する分、各輝度画像の幅が広くなっている。
実行回数欄が「2」である場合には、図5に示すような輝度調整画面が表示される。同図は、X最大値欄に記憶されるx座標が輝度画像38eが表示される範囲に属すると判断され、S108において輝度調整値「6」が取得された場合の例を示している。同図に示すように、この輝度調整画面には、輝度調整値「6」を中心として±1の範囲に属する輝度調整値(4−6)に対応する輝度画像(38d乃至38f)が表示される。図3や図4の場合に比べて、画面表示される輝度画像の数が減少する分、各輝度画像の幅が広くなっている。
図4及び図5に示す輝度調整画面では、照準位置案内画像40を円画像36aに合わせるよう案内するメッセージが表示される。このメッセージに従って、プレイヤが照準位置を円画像36aに合わせると、照準位置案内画像40を円画像36aから円画像36bまで水平に移動するよう案内するメッセージが表示される。プレイヤは当該メッセージに従って、2回目又は3回目の照準移動操作を行うことになる。
一方、実行回数欄が「3」である場合(S109)、輝度調整情報決定部56は、S108で取得した輝度調整値に1を加算したものを輝度調整パラメータの値として決定する(S110)。そして、輝度調整画像表示部54は、輝度調整画面を例えば図6に示すように更新する(S111)。すなわち、輝度調整画像表示部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)。白色画像のアルファ値αは、α=(輝度調整パラメータの値/20)×255に従って算出される。
そして、ゲーム画像表示部52は、S201でVRAM上に形成されたゲーム画像に対し、白色画像をS203で算出したアルファ値で半透明合成させる(S204)。このようにして、VRAM上には、そのゲームプレイ環境に応じて輝度調整がなされた輝度調整済みのゲーム画像(ゲーム画面)が形成される。VRAMに形成された画像は所定のタイミングで表示部44に出力される。
以上の処理は、DVD−ROM等のコンピュータにより読み取り可能な情報記憶媒体や通信ネットワークによってコンピュータに供給されるプログラムがゲーム装置10によって実行されることによって実現される。
以上説明したように、ゲーム装置10によれば、輝度調整画面には、輝度調整パラメータの値がとり得る値のそれぞれに対応する輝度画像が表示される。そして、輝度調整パラメータの値は、ガンコントローラ32がそれぞれの輝度画像に向けられた場合における光検出部46の検出結果に基づいて決定される。このため、ゲーム画面の輝度がそのゲームプレイ環境に応じて好適なものとなるように、輝度調整パラメータの値が決定される。したがって、ゲーム装置10によれば、そのゲームプレイ環境において、ガンコントローラ32の銃身がゲーム画面の輝度が最も低い部分に向けられている場合においても、光検出部46による光検出が好適に行われるよう(ガンコントローラ32の照準位置の取得が好適に行われるよう)、ゲーム画面の輝度を好適に調整できるようになる。
また、ゲーム装置10では、輝度調整パラメータの値の決定に際し、プレイヤは画面に表示されるメッセージに従って、ガンコントローラ32の銃身方向を円画像36aから円画像36bへと変えることを繰り返すだけでよい。このため、ゲーム装置10によれば、ゲーム画面の輝度調整をプレイヤは困難なく行うことができるようになる。
さらに、ゲーム装置10では、プレイヤによって照準移動操作が行われるごとに、輝度調整画面に表示される輝度画像の数が減少していき、かつ、輝度画像の幅が広くなっていく。このため、ゲーム装置10によれば、そのゲームプレイ環境に応じた輝度調整パラメータの値を高い精度で取得できるようになっている。
さらに、ゲーム装置10では、ゲーム画像に対して白色画像を輝度調整パラメータの値に基づくアルファ値で半透明合成させることによって、ゲーム画面の輝度を変化させる。このため、ゲーム装置10によれば、比較的簡易な処理でゲーム画面の輝度を変化させることができるようになる。
なお、本発明は以上説明した実施の形態に限定されるものではない。
例えば、以上の説明では、輝度調整パラメータは0から10までの値をとることとしたが、輝度調整パラメータはより多くの値をとるようにしてもよい。例えば、輝度調整パラメータは0から50までの値をとるようにしてもよい。
また例えば、以上の説明では、3回の照準移動操作が行われることを輝度調整パラメータの値の決定条件としたが、かかる条件は他の条件としてもよい。例えば、輝度調整パラメータが0から50までの値をとるような場合には、照準移動操作の回数を増やすようにしてもよい。また例えば、S113で決定される輝度画像の幅が所定値以上になる場合に、S108で取得される輝度調整値に1を加算したものを輝度調整パラメータの値として決定するようにしてもよい。
また例えば、以上の説明では、ガンコントローラ32の照準位置を円画像36aから円画像36bまで移動させることを1回の照準移動操作としたが、ガンコントローラ32の照準位置を円画像36aと円画像36bとの間で一往復させることを1回の照準移動操作としてもよい。
また例えば、以上の説明では、ゲーム画像表示部52は、輝度調整パラメータの値に基づいてゲーム画像全体の輝度を変化させることとして説明したが、ゲーム画像の所定領域(所定輝度以下の領域)に対してのみ、輝度調整パラメータの値に基づいて輝度を変化させるようにしてもよい。
また例えば、以上では、本発明をガンシューティングゲーム装置に適用する例について説明したが、本発明はガンシューティングゲーム装置に限られず、画面からの光を検出し、その検出結果に基づいてゲーム制御を行うゲーム装置に適用できるものである。
また、以上の説明では、プログラムを情報記憶媒体たる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 円画像、38a乃至38k 輝度画像、40 照準位置案内画像、42 メッセージ表示領域、44 表示部、46 光検出部、47 照準位置取得部、48 ゲーム制御部、50 輝度調整情報記憶部、52 ゲーム画像表示部、54 輝度調整画像表示部、56 輝度調整情報決定部、100 プログラム配信システム、102 ゲームデータベース、104 サーバ、106 通信ネットワーク、108 パソコン、112 携帯情報端末(PDA)、114 プログラム配信装置。