以下、本発明の実施の形態に係るゲームプログラムおよびゲームシステムについて、図面を参照しつつ説明する。
[ハードウェア構成]
図1は、ゲームシステム1のハードウェア構成を示すブロック図である。ゲームシステム1は、ゲーム装置2及びサーバ装置3を備えている。ゲーム装置2は、他のゲーム装置2及びサーバ装置3との間で、インターネット又はLANなどの通信ネットワークNWを介して互いに通信可能である。このゲーム装置2は、その動作を制御するコンピュータであるCPU10を備え、このCPU10にはバス11を介して、ディスクドライブ12、メモリカードスロット13、記憶部(プログラム記憶部)を成すHDD14及びROM15、並びにRAM16が接続されている。
ディスクドライブ12には、DVD−ROM等のディスク型記録媒体30が装填可能である。該ディスク型記録媒体30には、本実施の形態に係るゲームプログラム30a及びゲームデータ30bが記録されている。このゲームデータ30bには、各キャラクタや仮想空間の形成に必要なデータ、及び、ゲーム中で再生されるサウンドデータなど、本ゲームの進行に必要な各種のデータが含まれる。また、メモリカードスロット13にはカード型記録媒体31が装填でき、ゲームの途中経過等のプレイ状況を示すセーブデータを、CPU10からの指示に応じて記録可能である。
HDD14はゲーム装置2が内蔵する大容量記録媒体であって、ディスク型記録媒体30から読み込んだゲームプログラム30a及びゲームデータ30b、更にはセーブデータ等を記録する。ROM15は、マスクROM又はPROMなどの半導体メモリであり、ゲーム装置2を起動する起動プログラムや、ディスク型記録媒体30が装填されたときの動作を制御するプログラムなどを記録している。RAM16は、DRAM又はSRAMなどから成り、CPU10が実行すべきゲームプログラム30aや、その実行の際に必要になるゲームデータ30bなどを、ゲームのプレイ状況に応じてディスク型記録媒体30又はHDD14から読み込んで一時的に記録する。
また、CPU10には更に、バス11を介してグラフィック処理部17、オーディオ合成部20、無線通信制御部23、及びネットワークインタフェース26が接続されている。
このうちグラフィック処理部17は、CPU10の指示に従って仮想ゲーム空間や各キャラクタ等を含むゲーム画像を描画する。すなわち、仮想空間中に設定した仮想カメラの位置、向き、ズーム率(画角)等を調整し、仮想空間を撮影する。そして、撮影した画像をレンダリング処理し、表示用の二次元のゲーム画像を生成する。また、グラフィック処理部17には、ビデオ変換部18を介して外部のディスプレイ(表示部)19が接続されている。グラフィック処理部17にて描画されたゲーム画像は、ビデオ変換部18において動画形式に変換され、このディスプレイ19にて表示される。ディスプレイ19は、ユーザの頭の傾きを検出する検出部を有し、且つユーザの頭に装着されるヘッドマウントディスプレイであってもよい。
オーディオ合成部20は、CPU10の指示に従って、ゲームデータ30bに含まれるデジタル形式のサウンドデータを再生及び合成する。また、オーディオ合成部20にはオーディオ変換部21を介して外部のスピーカ22が接続されている。従って、オーディオ合成部20にて再生及び合成されたサウンドデータは、オーディオ変換部21にてアナログ形式にデコードされ、スピーカ22から外部へ出力される。その結果、本ゲームをプレイしているユーザは、再生されたサウンドを聴取することができる。
無線通信制御部23は、2.4GHz帯の無線通信モジュールを有し、ゲーム装置2に付属するコントローラ24との間で無線により接続され、データの送受信が可能となっている。ユーザは、このコントローラ24に設けられたボタン等の操作部を操作することにより、ゲーム装置2へ信号を入力することができ、ディスプレイ19に表示されるプレイヤキャラクタの動作を制御する。
ネットワークインタフェース26は、インターネット又はLANなどの通信ネットワークNWに対してゲーム装置2を接続するものであり、他のゲーム装置2及びサーバ装置3との間で通信可能である。そして、ゲーム装置2を、通信ネットワークNWを介して他のゲーム装置2と接続し、互いにデータを送受信することにより、同一の仮想空間内で同期して複数のプレイヤキャラクタを表示させることができる。従って、複数人が共同してゲームを進行させるマルチプレイが可能になっている。
[ゲームの概要]
次に、図2及び図3を参照して、図1に示すゲーム装置2が実行するゲームプログラム30aによって実現されるゲームの概要について説明する。
図2(A)及び図3(A)は、仮想空間Sのある箇所を上方から見た平面模式図である。図2(B)及び図3(B)は、仮想空間Sに配置された仮想カメラCで撮影し、ディスプレイ19にゲーム画面Dとして表示される画像である。
本ゲームでは、所定の広がりを有する三次元の仮想空間Sが設定されている。該仮想空間Sには、仮想カメラCが配置されている。図2(A)に二点鎖線で示すように、仮想空間S内には、コントローラ24の操作によりユーザが直接的にその行動を制御することのできるプレイヤキャラクタPが存在している。本ゲームは、プレイヤキャラクタPから見た仮想空間Sをそのままディスプレイ19に表示する一人称視点のゲームとなっている。即ち、図2(A)に示すように、仮想空間S内で、プレイヤキャラクタPと仮想カメラCとは同じ位置にあり、仮想空間S内でのプレイヤキャラクタPの移動や姿勢の変更に伴って、仮想カメラCの位置や姿勢が変更される。そして、仮想カメラCの位置や姿勢の変更に伴い、仮想カメラCの視界の範囲も変更される(図2(A)の一点鎖線参照)。なお、図2(A)以外の平面模式図では、仮想カメラCと同じ位置にあるプレイヤキャラクタPの図示は省略する。
仮想空間S内には、室内と室外又は室内同士を仕切る壁や扉、室外に設けられた木などの自然物、室内に設けられた棚やテーブルなど、様々なオブジェクトAが配置される。オブジェクトAには、行動対象物Bが含まれる。行動対象物Bは、プレイヤキャラクタPが所定の行動(例えば、手に取る、開ける、文字を読む、壊すなど)を実行する対象として存在するオブジェクトである。このような行動対象物Bには、例えば、プレイヤキャラクタPが取得可能なアイテムや、仮想カメラCに近づけて(即ち、プレイヤキャラクタPに近づけて)拡大して詳細に調べることが可能なオブジェクトなどが含まれる。なお、図2及び図3では、図の簡略化のため、仮想カメラCが位置する部屋を形成する壁A1、行動対象物Bである箱B1、及び当該箱B1を載置した台A2以外は省略する。
本ゲームは、ユーザがゲーム画面Dを見てプレイヤキャラクタPを操作し、仮想空間S内の様々な箇所で見つけた行動対象物Bに対して所定の行動を実行させながら目的の達成を目指すゲームとなっている。
図2(A)及び図3(A)に示すように、仮想空間Sにおける行動対象物Bの周りには、所定の第1領域R1と、該第1領域R1よりも行動対象物Bの近くに位置する所定の第2領域R2とが設定されている。第1領域R1と第2領域R2とは、互いに隣接している。
プレイヤキャラクタPが行動対象物Bに近づき、図2(A)に示すように第1領域R1に入ると、図2(B)に示すように、ゲーム画面Dにおける行動対象物Bの上に重なるように第1アイコンIC1が表示される。第1アイコンIC1は、行動対象物Bの存在を示すアイコンである。ユーザは、第1アイコンIC1が表示されることにより、行動対象物Bが存在することやその位置を確認できる。例えば、ユーザは、その行動対象物Bに対してプレイヤキャラクタPに所定の行動を実行させたい場合、プレイヤキャラクタPをその行動対象物Bに近づけるようコントローラ24を操作する。
プレイヤキャラクタPが更に行動対象物Bに近づき、図3(A)に示すように第2領域R2に入ると、図3(B)に示すように、ゲーム画面Dにおける行動対象物Bの上に重なるように、第1アイコンIC1の代わりに第2アイコンIC2が表示される。なお、プレイヤキャラクタPが第2領域R2に入ったときに、第1アイコンIC1に加えて第2アイコンIC2が表示されてもよい。第2アイコンIC2は、プレイヤキャラクタPが行動対象物Bに対して所定の行動(図例では、箱を開けるという行動)を実行可能な状態であることを示すアイコンである。ユーザは、第2アイコンIC2が表示されることにより、プレイヤキャラクタPに行動対象物Bに対して所定の行動を実行させることが可能になったことを認識する。そして、ユーザは、プレイヤキャラクタPに当該所定の行動を実行させたい場合には、コントローラ24を操作して、プレイヤキャラクタPに当該所定の行動を実行させる。このように、ユーザは、ゲーム画面Dに表示された第1アイコンIC1や第2アイコンIC2を頼りに、プレイヤキャラクタPを操作してゲームを進める。
[ゲーム装置の機能的構成]
図4は、ゲームシステム1が備えるゲーム装置2の機能的な構成を示すブロック図である。ゲーム装置2は、本発明のゲームプログラム30aを実行することで、仮想空間生成手段41、キャラクタ制御手段42、領域設定手段43、判定手段44、アイコン表示手段45、及び対象物移動手段46として機能する。なお、このような各機能は、ハード的には図1に示すCPU10,HDD14,ROM15,RAM16,グラフィック処理部17,ビデオ変換部18、オーディオ合成部20、オーディオ変換部21、無線通信制御部23等から構成されている。
仮想空間生成手段41は、プレイヤキャラクタPが行動する舞台となる三次元の仮想空間Sを生成する。また、仮想空間生成手段41は、上述したオブジェクトAを生成し、仮想空間S内に配置している。上述したように、オブジェクトAには、行動対象物Bが含まれる。
キャラクタ制御手段42は、コントローラ24に対するユーザの操作に応じて、仮想空間S内でのプレイヤキャラクタPの行動を制御する。キャラクタ制御手段42は、例えば、ユーザによるコントローラ24の操作に応じて、プレイヤキャラクタPの移動、しゃがむなどの姿勢の変更、アイテムの使用などを含む各種動作を制御する。
なお、仮想空間S内には、プレイヤキャラクタPの他に、ユーザの操作によってはその動作を直接的に制御することができず、CPU10によって動作が制御されるノンプレイヤキャラクタが存在してもよい。この場合、キャラクタ制御手段42は、当該ノンプレイヤキャラクタの動作も制御してもよい。例えば、ノンプレイヤキャラクタは、ゲームの進行を妨害する敵キャラクタや、ゲームを進行させるためにプレイヤキャラクタPが討伐する必要がある敵キャラクタでもよい。また、例えば、ノンプレイヤキャラクタは、プレイヤキャラクタPの味方となって行動を共にするキャラクタでもよいし、味方でも敵でもないキャラクタでもよい。
領域設定手段43は、仮想空間S内に所定の領域を設定する。領域設定手段43は、第1領域設定手段43a、第2領域設定手段43b、及び第3領域設定手段43cを有する。第1領域設定手段43aは、行動対象物Bの周りの所定の第1領域R1を仮想空間Sに設定する。第2領域設定手段43bは、第1領域R1よりも行動対象物Bの近くに位置する所定の第2領域R2を仮想空間Sに設定する。
第1領域R1及び第2領域R2の態様は、行動対象物Bごとに異なる。例えば、第1領域R1及び第2領域R2の向き、形状、大きさなどは、行動対象物Bの種類、行動対象物Bに対して実行される行動の種類、行動対象物Bの位置などの様々な観点から、ユーザに違和感が生じないよう各行動対象物Bに対して予め定められている。例えば、図2(A)及び図3(A)では、第2領域R2は、行動対象物Bを中心に広がる平面視円形の領域であり、第1領域R1は、第2領域R2を取り囲む平面視円環状の領域であるが、これに限られない。例えば、第2領域R2は、行動対象物Bを中心として所定方向に広がる平面視扇形の領域であってもよいし、この場合、第1領域R1は、第2領域R2における行動対象物Bの遠位側に配置された平面視円弧状の領域であってもよい。
例えば、第1領域R1の大きさは、行動対象物Bごとに見つけ易さに差が生じるよう設定されてもよい。例えば、ゲームの進行上、行動対象物Bが比較的すぐにユーザに見つけさせたいものである場合には、その行動対象物Bの第1領域R1は広く設定される。行動対象物Bがユーザに簡単に見つけさせたくないものである場合には、その行動対象物Bの第1領域R1は狭く設定される。
なお、第1領域R1及び第2領域R2は、仮想空間S内に配置されたオブジェクトAにより遮られる(言い換えれば、行動対象物B側からの領域の広がりを制限される)ように設定されてもよい。この場合、窓などの透明又は半透明なオブジェクトや鉄格子などの複数の隙間を有するオブジェクトなど、特定のオブジェクトについては、第1領域R1及び第2領域R2を遮らないように設定されてもよい。
判定手段44は、行動対象物Bが仮想カメラCの視界内に存在するか否かを判定する。具体的には、判定手段44は、仮想カメラCと行動対象物Bを結ぶ直線(レイ)上に他のオブジェクトAが有るか否かを判定する。判定手段44は、仮想空間S内に配置された複数の行動対象物Bの一部に対してのみ、仮想カメラCと結ぶ直線上に他のオブジェクトAが有るか否かを判定してもよい。例えば、判定手段44は、プレイヤキャラクタPが行動対象物Bの周りの第1領域R1又は第2領域R2内に位置する場合にのみ、その行動対象物Bと仮想カメラCを結ぶ直線(レイ)上に他のオブジェクトAが有るか否かを判定してもよい。例えば、判定手段44は、仮想カメラCから所定の距離以内に配置された行動対象物Bについてのみ、仮想カメラCを結ぶ直線(レイ)上に他のオブジェクトAが有るか否かを判定してもよい。
アイコン表示手段45は、ゲーム画面D上に所定のアイコンを表示させる。アイコン表示手段45は、第1アイコン表示手段45a、第2アイコン表示手段45b、及び第3アイコン表示手段45cを有する。第1アイコン表示手段45aは、プレイヤキャラクタPが第1領域R1内に位置し、且つ判定手段44により行動対象物Bが仮想カメラCの視界内に存在すると判定された場合に、行動対象物Bの存在を示す上述の第1アイコンIC1をゲーム画面Dに表示する。第2アイコン表示手段45bは、プレイヤキャラクタPが第2領域R2内に位置し、且つ判定手段44により行動対象物Bが仮想カメラCの視界内に存在すると判定された場合に、行動対象物Bに対して所定の行動を実行可能な状態であることを示す上述の第2アイコンIC2をゲーム画面Dに表示する。なお、第3アイコン表示手段45c及び上述の第3領域設定手段43cについては後述する。
本ゲームでは、第1アイコンIC1は、丸枠にV字のマークが印されたアイコンである。また、第2アイコンIC2は、プレイヤキャラクタPに所定の行動を実行させる際にユーザに操作されるコントローラ24の物理ボタンを表したアイコンである。但し、第1アイコンIC1及び第2アイコンIC2は、特に限定されず、例えば第1アイコンIC1及び第2アイコンIC2の形状や大きさ等は、ゲーム画面Dに表示されたときの煩雑さやユーザの視認性等を考慮して適宜変更可能である。例えば、アイコン画像は、文字であってもよいし、文字と図形等との組合せであってもよい。例えば第2アイコンIC2を示すアイコン画像は、行動対象物Bに対する行動の種類を記載した文字(「開ける」や「拾う」など)であってもよい。また、第2アイコンIC2は、第1アイコンIC1の色を変化させたアイコンとしてもよい。また、アイコンの大きさは、仮想カメラCから行動対象物Bまでの距離に応じて変更されてもよいし、距離にかかわらず一定であってもよい。
本ゲームでは、第1アイコンIC1及び第2アイコンIC2は、常に仮想カメラCを向くように表示される。具体的には、第1アイコン表示手段45aは、平面要素を有する透明な平面オブジェクトを仮想空間Sに配置する。なお、平面オブジェクトは、半透明であってもよいし、透明でなくてもよい。第1アイコン表示手段45aは、この平面オブジェクトの表面に、第1アイコンIC1を示すテクスチャ画像を貼り付けるとともに、この画像が貼り付けられた面が仮想カメラCに対向するように、平面要素内に設けられた所定の中心点回りに平面オブジェクトを回動する。同様に、第2アイコン表示手段45bも、平面オブジェクトの表面に第2アイコンを示す画像を貼り付けて、仮想カメラCを向くよう平面オブジェクトを回動する。これに関して、図3(B)及び図5に示したゲーム画面Dを例に説明する。
図5は、図3(B)に示す行動対象物Bを仮想カメラで別の角度(より詳しくは、図3(A)に破線で示す仮想カメラC’の位置)から撮影したときのゲーム画面Dを示す図である。図3(B)及び図5に示すように、第2アイコンIC2は、仮想空間Sにおける行動対象物Bを通る鉛直線L上に配置されている。即ち、本ゲームでは、第2アイコンIC2の画像が貼り付けられた平面オブジェクトが、仮想空間Sにおける行動対象物Bを通る鉛直線L上に配置される。そして、この平面オブジェクトが、当該鉛直線Lを中心に仮想カメラCを向くよう回動する。なお、図3(B)と図5に一点鎖線で示した鉛直線Lは、実際にはゲーム画面D上に表示されない仮想線である。このように、第1アイコンIC1及び第2アイコンIC2が行動対象物Bを通る鉛直線L上に配置されるため、行動対象物Bを水平方向のどの方向から見ても、ゲーム画面Dにおける行動対象物B近傍に第1アイコンIC1及び第2アイコンIC2を位置付けることができる。また、第1アイコンIC1及び第2アイコンIC2は、常に仮想カメラCを向くように表示されるので、どの方向から行動対象物Bを見ても、第1アイコンIC1及び第2アイコンIC2を正面からユーザに視認させることができる。
単に第1アイコンIC1及び第2アイコンIC2を鉛直線L上に配置させた場合、第1アイコンIC1及び第2アイコンIC2が仮想カメラCから見て行動対象物Bと重なる又は行動対象物Bに遮蔽されることが起こり得る。そこで、本ゲームでは、更に、第1アイコン表示手段45a及び第2アイコン表示手段45bは、第1アイコンIC1及び第2アイコンIC2をそれぞれ、そのアイコンが示す行動対象物Bに優先してゲーム画面Dに表示している。第1アイコンIC1及び第2アイコンIC2を行動対象物Bに優先してゲーム画面Dに表示されるので、第1アイコンIC1及び第2アイコンIC2が仮想カメラCから見て行動対象物Bと重なる又は行動対象物Bに遮蔽される場合であっても、ユーザに第1アイコンIC1及び第2アイコンIC2を視認させることができる。
本ゲームでは、ユーザによるコントローラ24の操作に応じて、プレイヤキャラクタPの姿勢を変更させて、仮想カメラCを仮想空間Sの鉛直方向に対して傾けることが可能となっている。第1アイコン表示手段45a及び第2アイコン表示手段45bは、仮想カメラCが仮想空間Sの鉛直方向に対して傾いた場合でも、仮想空間Sにおける鉛直方向に対する第1アイコンIC1及び第2アイコンIC2の姿勢をそれぞれ維持する。これに関して、図6を参照して説明する。
図6は、図3(B)に示す画像を撮影していた仮想カメラCが仮想空間Sにおける鉛直方向に対して傾いた場合のゲーム画面Dを示す図である。仮想空間Sに配置された平面オブジェクトに第2アイコンIC2の画像が貼り付けられているため、図6に示すように、第2アイコンIC2は、仮想カメラCが傾く前の鉛直線L上の所定の位置を維持するだけでなく、仮想カメラCが傾く前の鉛直線Lに対する姿勢も維持している。このように、仮想カメラCが仮想空間Sの鉛直方向に対して傾いた場合でも、ゲーム画面D上で行動対象物Bとともに第1アイコンIC1や第2アイコンIC2が傾く。このため、第1アイコンIC1や第2アイコンIC2が方向性を有する場合に、仮想空間Sの臨場感をユーザに違和感なく与えることができる。
複数の行動対象物Bが互いに近い場合には、それぞれの行動対象物Bに設定される第1領域R1同士が互いに重なったり、第2領域R2同士が互いに重なったりすることがある。この重なった領域に仮想カメラCが位置する場合のアイコン表示について、図7を参照して説明する。
図7(A)は、仮想空間Sにおける図3(A)に示した箇所とは別の箇所を上方から見た平面模式図である。図7(B)は、図7(A)に示す仮想カメラCで撮影し、ディスプレイ19にゲーム画面Dとして表示される画像である。図7(A)及び(B)には、仮想カメラCが位置する部屋を形成する壁A3と、その部屋に配置された机A4と、机A4に設けられた2つの行動対象物(図例では、引き出し)B(B2,B3)が示されている。一方の行動対象物B2の周りには、第1領域R11及び第2領域R21が設定されており、他方の行動対象物B3の周りには、第1領域R12及び第2領域R22が設定されている。2つの第1領域R11,R12は互いに重なっており、2つの第2領域R21,R22は互いに重なっている。
仮想カメラCが第1領域R11,R12の重なった領域G1から2つの行動対象物B2,B3を撮影した場合、ゲーム画面Dには、2つの第1アイコンIC1がそれぞれ行動対象物B2,B3に対して表示される。
一方、図7(A)に示すように、仮想カメラCが第2領域R21,R22の重なった領域G2から2つの行動対象物B2,B3を撮影した場合、図7(B)に示すように、ゲーム画面Dに表示された2つの行動対象物B2,B3のうち、1つの行動対象物B3に対してのみ第2アイコンIC2が表示される。より詳しくは、第2アイコン表示手段44bは、プレイヤキャラクタPの向き及びプレイヤキャラクタPと行動対象物B2,B3のそれぞれとの距離の少なくとも1つに基づいて、ゲーム画面Dに表示される複数の行動対象物B2,B3の中から、第2アイコンIC2を表示すべき1つの行動対象物B2を選択する。また、キャラクタ制御手段42は、ユーザによるコントローラ24の操作に応じて、第2アイコンIC2が表示された行動対象物B3に対して、プレイヤキャラクタPに所定の行動を実行させることができる。なお、本ゲームでは、第1アイコン表示手段44aが、第2アイコン表示手段44bにより選択されなかった行動対象物B2に対して第1アイコンIC1を表示しているが、第1アイコン表示手段44aは、第2アイコン表示手段44bにより選択されなかった行動対象物B4に対して第1アイコンIC1を表示しなくてもよい。
上述したように、プレイヤキャラクタPが第1領域R1に入れば、ユーザは、すぐに行動対象物Bを見つけることができる。しかし、それでもなお、行動対象物Bによっては、設定された第1領域R1の範囲が狭すぎたり特殊な位置に置かれたりして、ゲームに不慣れなユーザが見つけられない場合が起こり得る。このため、本ゲームでは、プレイヤキャラクタPが特定のアイテムを使用した場合には、プレイヤキャラクタPの周りの一定の範囲に存在する所定の行動対象物Bについて、第3アイコンIC3をゲーム画面Dに表示させている。これは、図4に示した第3領域設定手段43c及び第3アイコン表示手段45cにより実現される。以下、第3領域設定手段43c及び第3アイコン表示手段45cについて説明する。
第3領域設定手段43cは、プレイヤキャラクタPが特定のアイテムを使用した場合に、プレイヤキャラクタPの周りの所定の第3領域R3を仮想空間Sに設定する。但し、第3領域設定手段43cが、第3領域R3を仮想空間Sに設定するのは、特定のアイテムの使用時に限定されず、別の条件により設定されてもよい。例えば、第3領域設定手段43cは、プレイヤキャラクタPが特定のスキルや魔法を使用した場合や、特定のゲームモードでゲームを進行させる場合、プレイヤキャラクタPが特定のキャラクタである場合などに、第3領域R3を仮想空間Sに設定してもよい。
第3アイコン表示手段45cは、第3領域R3内に位置する行動対象物Bに対して、行動対象物Bの存在を示すための第3アイコンIC3をゲーム画面Dに表示する。第3アイコンIC3は、第1アイコンIC1や第2アイコンIC2とは異なり、行動対象物Bが仮想カメラCから見て仮想空間S内に配置されたオブジェクトAで隠れている場合でも、ゲーム画面D上に表示される。
例えば、第3領域R3は、プレイヤキャラクタPから所定の距離以内の範囲でもよい。また、例えば、仮想空間Sがいくつかの空間に分断されて存在している場合、第3領域R3は、分断された複数の空間のうち、プレイヤキャラクタPが現在位置する空間とそれに隣接する又は近接するいくつかの空間の集合であってもよい。この場合、第3領域R3の大きさや形状は、プレイヤキャラクタPの位置により変わってもよい。例えば、プレイヤキャラクタPが仮想空間Sに配置されたある建物内にいる場合、第3領域R3は、その建物の内部空間全体であってもよい。あるいは、建物内の複数の空間(例えば部屋や廊下など)のうち、プレイヤキャラクタPが位置する空間とその空間に隣接する又は近接する空間により構成されてもよい。本ゲームでは、第3領域R3は、第1領域R1や第2領域R2と重なるが、第1領域R1や第2領域R2と重ならなくてもよい。
第3アイコンIC3の表示について、図8を参照しながら詳しく説明する。図8(A)は、仮想空間Sにおける図3(A)や図7(A)に示した箇所とは別の箇所を上方から見た平面模式図である。図8(B)は、図8(A)に示す仮想カメラCで撮影し、ディスプレイ19にゲーム画面Dとして表示される画像である。図8(A)には、複数の部屋を形成する壁A5、仮想カメラC(即ち、プレイヤキャラクタP)が位置する部屋に設けられた扉A6、仮想カメラCが位置する部屋に隣接する別の部屋に配置された2つの行動対象物B(B4,B5)が示されている。なお、図8(A)の例では、プレイヤキャラクタPが位置する部屋とそれに隣接する部屋又は廊下が第3領域R3として設定されており、第3領域R3のうち、第1領域R1や第2領域R2以外の箇所をドットのハッチングで示す。
図8(A)に示すように、2つの行動対象物B4,B5は、仮想カメラCに対し当該仮想カメラCが向く方向に位置するが、いずれも仮想カメラCから見て壁A5により隠れた位置(オブジェクトA5に遮られなければ仮想カメラCの視界に入る位置)にある。このため、行動対象物B4,B5は、仮想カメラCで撮影されず、図8(B)に示すようにゲーム画面Dには表示されない。しかし、行動対象物B4,B5のいずれも第3領域R3に位置するため、ゲーム画面Dには、行動対象物B4,B5のそれぞれの存在を示すための2つの第3アイコンIC3が示される。ユーザは、仮想カメラCから見て第3アイコンIC3が表示された壁A5の向こう側に行動対象物B4,B5が存在することを認識することができる。このように、仮想カメラCから見て仮想空間S内に配置されたオブジェクトAで隠れている行動対象物Bに対しても第3アイコンIC3は表示されるため、ゲームに不慣れなユーザであっても、行動対象物Bを容易に見つけることができる。
なお、上述の例では、2つの行動対象物B4,B5が仮想カメラCから見て壁A5により隠れた場合について説明されたが、第3アイコンIC3は、第3領域R3内に位置する行動対象物Bが仮想カメラCから見てオブジェクトAに隠れていない場合でも、ゲーム画面Dに表示される。
また、本ゲームでは、第3アイコン表示手段45cは、第3アイコンIC3を、第1アイコンIC1及び第2アイコンIC2と同様に、仮想空間Sにおける行動対象物Bを通る鉛直線上に配置させている。更に、第3アイコン表示手段45cは、第3アイコンIC3を、そのアイコンが示す行動対象物Bだけでなく、仮想空間S内に配置された全てのオブジェクトAに優先してゲーム画面Dに表示させている。
次に、第1アイコンIC1、第2アイコンIC2及び第3アイコンIC3をゲーム画面Dに表示する処理の流れについて、図9に示すフローチャートを参照しながら説明する。
図9に示すように、ゲームが開始すると、まず仮想空間S内に配置された各行動対象物Bの周りに、第1領域R1及び第2領域が設定される(ステップS1)。次に、仮想カメラCの視界内に存在する行動対象物Bの第1領域R1にプレイヤキャラクタPが位置するか否かを判定する(ステップS2)。第1領域R1に位置した場合(ステップS2:Yes)、当該第1領域R1が設定された、ゲーム画面D上の所定の行動対象物Bに対して、第1アイコンIC1が表示される(ステップS3)。
第1領域R1に位置しない場合(ステップS2:No)、仮想カメラCの視界内に存在する行動対象物Bの第2領域R2にプレイヤキャラクタPが位置するか否かを判定する(ステップS4)。第2領域R2に位置した場合(ステップS4:Yes)、当該第2領域R2が設定された、ゲーム画面D上の所定の行動対象物Bに対して、第2アイコンIC2が表示される(ステップS5)。
第2領域R2に位置しないと判定された後(ステップS4:No)、又は、ステップS3若しくはS5の後に、プレイヤキャラクタPが、上述の第3アイコンIC3をゲーム画面Dに表示させるための特定のアイテムを使用中であるか否かを判定する(ステップS6)。使用していた場合(ステップS6:Yes)、プレイヤキャラクタPの周りに第3領域R3が設定される(ステップS7)。その後、第3領域R3内に位置するゲーム画面D上の所定の行動対象物Bに対して第3アイコンIC3が表示され(ステップS8)、その後、ステップS2あるいはステップS1に戻る。
図4に戻って、対象物移動手段46は、プレイヤキャラクタPが行動対象物Bに対して所定の行動(例えば、その行動対象物Bを詳細に調べるという行動)を実行する場合に、行動対象物Bを、初期位置から仮想カメラCの近くの所定の位置まで移動させる。ここで、初期位置とは、仮想空間S上における行動対象物Bが配置されている位置である。
対象物移動手段46は、初期位置における行動対象物Bの姿勢と、所定の位置における行動対象物Bの予め定められた姿勢とに基づいて、初期位置から所定の位置までの行動対象物Bの移動姿勢を補間する。行動対象物Bを移動させる際の移動姿勢の補間について、図10を参照して説明する。
図10は、初期位置から所定の位置まで行動対象物Bを移動させる際に表示されるゲーム画面Dを時間順に示した図である。図10(A)〜(D)に示した各ゲーム画面Dには、行動対象物Bである写真立てB6とそれを載置する台A7が示されている。図10(A)は、移動前の初期位置の姿勢の行動対象物B(台A7上で伏せた姿勢の写真立てB6)が示す。図10(D)は、移動完了後の姿勢の行動対象物Bを示す。
本ゲームでは、行動対象物Bの姿勢には、例えば仮想カメラCの向きに対する行動対象物Bの向きが含まれる。即ち、図10(A)に示すような、移動前の初期位置における行動対象物Bの姿勢は、仮想カメラCの移動や姿勢の変更とともに変わり得る。他方、移動完了後の所定の位置における行動対象物Bの姿勢に関する情報は、例えばゲームデータ30bに、その行動対象物Bに関連して記録されている。例えば、図10(D)に示すような、移動完了後の行動対象物Bの姿勢は、例えばその行動対象物Bがユーザに見えやすくなる姿勢(図例では、写真立てB6の写真がユーザに見える姿勢)となるよう予め定められている。
図10(B)及び(C)は、それぞれ、図10(A)及び(D)に示された行動対象物Bの姿勢から補間された姿勢の行動対象物Bを示す。なお、図10では、補間された行動対象物Bの移動姿勢のうち、図10(B)及び(C)に示した2つの移動姿勢のみ示したが、実際にはこれら2つの姿勢以外にも存在する。このように、行動対象物Bを初期位置から仮想カメラCの近くの所定の位置まで移動させる際に、初期位置における行動対象物Bの姿勢と、所定の位置における行動対象物Bの予め定められた姿勢とに基づいて行動対象物Bの移動姿勢を補間するため、行動対象物Bをシームレスに移動させて、プレイヤキャラクタPが行動対象物Bを目の前に近づける態様をユーザに違和感なく実現させることができる。
なお、本ゲームでは、コントローラ24に対するユーザの操作に応じて、移動完了後の行動対象物Bを所定の方向に回転させることができる。これにより、ユーザは、行動対象物Bを様々な角度から視認できる。また、行動対象物Bは、所定の位置から初期位置に行動対象物Bを戻す際にもシームレスに移動する。即ち、対象物移動手段46は、初期位置における行動対象物Bの姿勢と、所定の位置における行動対象物Bの姿勢(例えば、ユーザの操作に応じて回転した後の姿勢)とに基づいて、所定の位置から初期位置までの行動対象物Bの移動姿勢を補間する。
以上に示したように、本実施形態に係るゲームシステム1では、第1領域R1が第2領域R2よりも行動対象物Bから遠い位置に設定されているため、プレイヤキャラクタPが第2領域R2に入る前に第1領域R1に入ることにより、第1アイコンIC1をゲーム画面Dに表示させて、ユーザに行動対象物Bの存在を示すことができる。このため、ユーザは行動対象物Bを容易に見つけることができる。
本発明は上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の変形が可能である。
例えば、上記実施形態に係るゲームプログラム30aによって実現されるゲームは、一人称視点のゲームであったが、本発明に係るゲームプログラムによって実現されるゲームは、ユーザがプレイヤキャラクタPを視認できるように、仮想カメラCをプレイヤキャラクタPの例えば斜め上方や背後に配置させる三人称視点のゲームであってもよい。
また、第1アイコン表示手段45aは、プレイヤキャラクタPが第2領域R2内に位置する場合にも、第1アイコンIC1をゲーム画面Dに表示してもよい。この場合、例えば、第1アイコンIC1及び第2アイコンIC2は、行動対象物Bを通る同一の鉛直線L上に並んで配置されてもよいし、仮想空間Sにおける水平方向に並置されてもよい。
また、第1アイコンIC1、第2アイコンIC2及び第3アイコンIC3等のアイコンは、所定の行動対象物Bに対してのみ表示されてもよいし、行動対象物Bの種類等に応じて色や形状などの表示の態様を変えてもよい。例えば、第3アイコンIC3は、仮想空間S内に配置された行動対象物のうち、取得可能なアイテムに対してのみ表示されてもよい。また、この場合、例えばゲームを進行させるためにプレイヤキャラクタPが必ず取得する必要があるキーアイテムと、それ以外のアイテム(例えばプレイヤキャラクタPの体力値を回復させる回復アイテム等)とで、表示される第3アイコンIC3の色や形状が異なってもよい。また、プレイヤキャラクタPの周囲に行動対象物が多数存在する場合、ゲーム画面D上にアイコンが多数表示されて見づらくなる可能性がある。このため、ゲーム画面Dに表示されるアイコンの数を制限してもよい。ゲーム進行上、重要な行動対象物についてのみアイコンを表示するようにしてもよい。
また、上記実施形態では、回動する平面オブジェクトの表面上に、第1アイコンIC1や第2アイコンIC2を示す画像を描画することにより、アイコンをゲーム画面D上に表示させていたが、アイコンの表示方法はこれに限定されない。例えば、上述の平面オブジェクトは、仮想カメラCを向くように回動せずに、向きが仮想空間S上で固定されていてもよい。また、第1アイコンIC1及び第2アイコンIC2は、行動対象物Bを通る鉛直線L上に配置された立体的なオブジェクト自体であってもよい。また、例えば、第1アイコン表示手段45a及び第2アイコン表示手段45bは、上述の平面オブジェクト又は立体的なオブジェクトを仮想空間Sに配置しなくてもよく、この場合、例えば、第1アイコン表示手段45a及び第2アイコン表示手段45bは、仮想カメラCにより撮影された画像に対して、第1アイコンIC1や第2アイコンIC2を示すアイコン画像を上から重ねるように表示してもよい。
また、第1アイコンIC1、第2アイコンIC2及び第3アイコンIC3は、例えば、仮想カメラCの移動に伴って、ゲーム画面Dにおける行動対象物B近傍に表示されるように仮想空間S内で移動してもよい。また、第1アイコンIC1、第2アイコンIC2及び第3アイコンIC3は、そのアイコンが示す行動対象物Bに優先してゲーム画面Dに表示されなくてもよい。
また、第1アイコンIC1、第2アイコンIC2及び第3アイコンIC3は、仮想カメラCが仮想空間Sの鉛直方向に対して傾いた場合に仮想空間Sにおける鉛直方向に対する姿勢を維持しなくてもよい。例えば第1アイコンIC1、第2アイコンIC2及び第3アイコンIC3は、仮想カメラCが仮想空間Sの鉛直方向に対して傾いた場合でも、行動対象物Bとともに傾くことなく、ゲーム画面Dに対する姿勢が維持されてもよい。
また、上記実施形態では、対象物移動手段46が、初期位置における行動対象物Bの姿勢と、所定の位置における行動対象物Bの予め定められた姿勢とに基づいて、初期位置から所定の位置までの行動対象物Bの移動姿勢を補間していたが、対象物移動手段46は、これらの姿勢情報に加えて、仮想カメラCから初期位置にある行動対象物Bまでの距離情報を利用して、行動対象物Bの移動姿勢を補間してもよい。更に、対象物移動手段46は、仮想カメラCから移動完了後の所定の位置までの距離情報を用いて、行動対象物Bの移動姿勢を補間してもよい。
また、本発明に係るゲームプログラムは、第3領域設定手段43c及び第3アイコン表示手段45cとして機能しなくてもよいし、対象物移動手段46としても機能しなくてもよい。また、本発明に係るゲームプログラムは、判定手段44としても機能しなくてもよく、この場合、仮想カメラCの視界内に存在しない行動対象物Bに対しても、例えばゲーム画面Dの端部などに第1アイコンIC1等が表示されてもよい。