(57)【特許請求の範囲】
【請求項１】
仮想空間内に設けた仮想カメラの動作をコンピュータに制御させるゲーム・プログラムであって、
入力部からのユーザ命令に基づいて前記仮想空間に配置したプレイヤ・オブジェクトを移動させる移動操作部と、
前記仮想カメラからの視界領域に基づいて、表示部に表示するためのゲーム画像を生成する画像生成部と、
敵オブジェクトの位置を特定し、前記仮想カメラの視界中心点に関連付けられる検知領域内に前記敵オブジェクトを検知する特定検知部と、
前記仮想カメラからの前記視界領域を最適化する制御部であって、
前記プレイヤ・オブジェクトの移動に従い、前記プレイヤ・オブジェクトの位置を前記視界領域内に含むように前記視界中心点を移動させて、前記仮想カメラに前記プレイヤ・オブジェクトを追尾させ、
前記敵オブジェクトの位置が前記検知領域内であるものの、前記視界領域内でないときに、前記視界中心点を一定位置に保ったまま、前記視界中心点からの距離を長くするように前記仮想カメラを移動させて、前記プレイヤ・オブジェクトおよび前記敵オブジェクトの各位置を共に前記視界領域内に含める、制御部と
として前記コンピュータを機能させる、ゲーム・プログラム。
【請求項２】
請求項１記載のゲーム・プログラムであって、前記制御部が前記視界中心点を一定位置に保ったまま前記仮想カメラを移動させることは、前記視界中心点から垂直方向に伸びる回転軸を中心に所与の角度だけ、前記敵オブジェクトの位置からの距離を短くするように水平方向に回転させた位置に前記仮想カメラを移動させることを含む、請求項１記載のゲーム・プログラム。
【請求項３】
前記所与の角度が１０度以下であることを特徴とする、請求項２記載のゲーム・プログラム。
【請求項４】
前記制御部は、前記視界中心点が、前記ゲーム画像の中心点となるように位置合わせされることを特徴とする、請求項１から３のいずれか一項記載のゲーム・プログラム。
【請求項５】
前記プレイヤ・オブジェクトの位置が、前記視界中心点の位置に関連付けて位置合わせされることを特徴とする、請求項１から４のいずれか一項記載のゲーム・プログラム。
【請求項６】
前記特定検知部が前記プレイヤ・オブジェクトの特性に基づいて前記検知領域の大きさを決定することを特徴とする、請求項１から５のいずれか一項記載のゲーム・プログラム。
【請求項７】
前記検知領域の形状が水平面上の円であり、前記特定検知部が前記円の半径を前記プレイヤ・オブジェクトの特性に基づいて決定することを特徴とする、請求項６記載のゲーム・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲーム内の仮想空間における仮想カメラの動作制御を行うゲーム・プログラムに関し、より詳細には、ユーザ命令により仮想空間を移動させるプレイヤ・オブジェクトに対して仮想カメラを自動追尾すると共に、敵オブジェクトの存在も考慮して仮想カメラの位置および姿勢の制御を行うゲーム・プログラムに関するものである。
【背景技術】
【０００２】
ゲーム内の仮想空間において、主人公となるキャラクタ（プレイヤ・オブジェクト）の後方に仮想カメラを配置し、キャラクタの仮想空間内の移動に従って当該移動の様子を映し出す技術が知られている。また、特にレーシング・ゲーム等の用途では、仮想空間内に複数の仮想カメラを設け、複数の視野からの画像を選択的に切り替えて映し出す技術が知られている。従来技術においては、特に、このような仮想カメラの動作を工夫してユーザに与える臨場感を高めるような取り組みがなされてきた。
【０００３】
例えば、特許文献１では、対戦型ゲームにおいて、所与の経路上を移動するプレイヤ・オブジェクトの近くに敵オブジェクトが存在するような場合に、プレイヤ経路を自動的に変更して敵オブジェクトに接近させ、これに併せて仮想カメラを追跡させる。
【０００４】
ところで、昨今において、ユーザが自らのスマートフォンのタッチ画面を用いてゲームを楽しむようなスマートフォン・ゲームが普及している。スマートフォンによるユーザ操作として、ユーザは通常、タッチ画面を縦方向に向けて片手のタッチ画面操作を行う。この点、スマートフォン・ゲームにおいても、ユーザの片手操作を可能とすべくタッチ画面を縦方向に固定してゲームを進行させるのがよい。なお、横方向にタッチ画面を固定した場合は、通常のゲーム端末と同様に、両手によるユーザ操作が必要となる。
【０００５】
スマートフォン・ゲームにおいてタッチ画面を縦方向に固定する場合の問題点として、左右の表示範囲が必然的に狭小となり、例えば、仮想空間内での対戦型ゲームにおいて、プレイヤ・オブジェクトが横方向に高速移動する場合や、横方向に敵オブジェクトやトラップ等の障害物が存在するような場合に、これらが突然画面に登場することになる。このことは、ゲーム進行においてユーザにとって好ましくない不意打ちを構成することになる。即ち、仮想カメラからの視界表示に関し、ディスプレイを横方向に固定したときと比べたときに、ユーザに多くの不快感を与えるおそれがある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−８１６２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、ゲームの臨場感を損なうことなくユーザへのユーザビリティを向上させる仮想カメラのカメラワーク制御を提供することである。特に、スマートフォン・ゲームにおいてユーザがタッチ画面を操作する際に、効果的な仮想カメラのカメラワーク制御を通じて特定方向の画面表示領域の制約を解消することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、仮想空間内に設けた仮想カメラをコンピュータに制御させるゲーム・プログラムを提供する。即ち、入力部からのユーザ命令に基づいて仮想空間に配置したプレイヤ・オブジェクトを移動させる移動操作部、仮想カメラからの視界領域に基づいて、表示部に表示するためのゲーム画像を生成する画像生成部、敵オブジェクトの位置を特定し、視界中心点に関連付けられる検知領域内に敵オブジェクトを検知する特定検知部、および仮想カメラからの視界領域を最適化する制御部としてコンピュータを機能させる。そして、上記制御部が、プレイヤ・オブジェクトの移動に従い、プレイヤ・オブジェクトの位置を視界領域内に含むように視界中心点を移動させて、仮想カメラにプレイヤ・オブジェクトを追尾させ、また、敵オブジェクトの位置が検知領域内であり、且つ当該特定された敵オブジェクトの位置が視界領域内でないときに、視界中心点を一定位置に保ったまま、視界中心点からの距離を長くするように仮想カメラを移動させて、プレイヤ・オブジェクトおよび敵オブジェクトの各位置を視界領域内に含めるように構成されることを特徴とする。
【０００９】
本発明によれば、ユーザ画面には表示されていないが近くに存在するような敵オブジェクトを自動的に検出して、プレイヤ・オブジェクトと共に敵オブジェクトを画像表示するカメラワークを提供可能とする。これにより、このような敵オブジェクトの存在を早い段階でユーザ画面に提示することができることができ、ユーザにゲーム進行上の不快感を与えることなく、ユーザビリティを向上させることができる。
【００１０】
本発明では、上記制御部が視界中心点を一定位置に保ったまま仮想カメラを移動させることは、視界中心点から垂直方向に伸びる回転軸を中心にして１０度以下の角度だけ、敵オブジェクトの位置からの距離を短くするように、水平方向に回転させた位置に仮想カメラを移動させることを含む。
【００１１】
本発明は、このような仮想カメラの動作制御により、プレイヤ・オブジェクトに対して敵オブジェクトの位置を画面の中心線に近づけて表示することができ、ゲーム進行中に敵オブジェクトに関する周辺情報をより多く画面表示できる。これにより、縦方向に固定したスマートフォン画面における横方向のような特定方向の画面表示領域の制約を解消し、敵オブジェクトに対するユーザ・アクション（攻撃等）を効果的に促すことができる。
【００１２】
本発明において、上記のように仮想カメラの回転角度を「１０度以下」に制限しているのは、ユーザによる画面酔い（映像酔い）を考慮した結果である。即ち、仮想カメラの回転を１０度までに制限することにより、ユーザへの臨場感を損なわせることなく、画面酔いを生じさせない効果的なユーザビリティを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の実施形態による、実際に表示されるゲーム画像の一例である。
【図２】図２は、本発明の実施形態によるゲーム・システムの概要図である。
【図３】図３は、本発明の実施形態によるゲーム・システムが有するゲーム・サーバの機能ブロック図である。
【図４】図４は、本発明の実施形態により、図２のゲーム・システムを用いて実現される仮想空間における仮想カメラおよびプレイヤ・オブジェクトの配置例を示した概略立体図である。
【図５】図５は、本発明の実施形態による、仮想空間における仮想カメラおよびプレイヤ・オブジェクトの配置例を示した概略平面図である。
【図６】図６は、図２のゲーム・システムに基づき実装される仮想カメラのカメラワーク制御処理の概略フローチャートである。
【図７】図７は、図６に示したプレイヤ・オブジェクトの自動追尾に関し、仮想空間におけるカメラワークの具体例を示す概略立体図である。
【図８】図８は、図６に示した処理の内、仮想カメラの視界領域を最適化する処理のフローチャートである。
【図９】図９は、本発明の実施形態により、図２のゲーム・システムを用いて実現される仮想空間における仮想カメラおよび各オブジェクト配置例を示した概略平面図である。
【図１０】図１０は、図８に示した最適化処理に関し、仮想空間における仮想カメラのカメラワークの具体例を示す概略立体図である。
【図１１】図１１は、図８に示した最適化処理に関し、仮想空間における仮想カメラのカメラワークの具体例を示す概略立体図である。
【図１２】図１２は、図８に示した最適化処理に関し、仮想空間における仮想空間における仮想カメラのカメラワークの具体例を示す概略立体図である。
【図１３】図１３は、図８に示した最適化処理を実装した実際のゲーム画像の一例である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の実施形態による仮想空間内に設けた仮想カメラの動作をコンピュータに制御させるゲーム・プログラムおよびこれに関連するゲーム・システムについて説明する。
【００１５】
ゲーム・コンテンツの概要
まず図１を参照して、本発明のゲーム・プログラムが実装される一例のゲーム・コンテンツの概要を示す。ここでは図１の表示画面１１のように、ゲーム・コンテンツ態様としてアクションＲＰＧを想定する。表示画面１１の中心に表示されるプレイヤ・オブジェクト１は、端末入力部を通じたユーザ命令にしたがってゲーム内仮想空間を原則水平面上に沿って移動可能である。プレイヤ・オブジェクト１の後方かつ上方には仮想カメラ３が配置され（図示せず）、仮想カメラ３からの視界領域に基づきゲーム画像６が生成され、表示画面１１上に表示される。
【００１６】
また、表示画面１１には、ゲーム画像６としてプレイヤ・オブジェクト１を中心に円形状の敵オブジェクト検知領域７が任意に表示される（後述）。更に、表示画面１１上部右側には、プレイヤ・オブジェクト１を中心とした仮想空間内の広域平面情報６ａが、ゲーム画像６の一部として表示される。広域平面情報６ａは、プレイヤ・オブジェクト１を中心にして、垂直方向からの平面図を、プレイヤ・オブジェクト１の方位および移動可能範囲と共に示しており、仮想カメラ３からの視界領域よりも広範囲な情報をユーザに提示可能である。
【００１７】
この他、表示画面１１上部左側には、アクションＲＰＧにおけるプレイヤ・オブジェクト１の特性情報６ｂとして、キャラクタの種別、キャラクタ画像、強さ（ヒットポイント（ＨＰ）やセーブポイント（ＳＰ））等もゲーム画像６の一部として表示される。なお、図１に示したプレイヤ・オブジェクト１は、武器として剣を保有していることが示されているが、アクションＲＰＧではこのような保有武器によってもプレイヤ・オブジェクト１の強さが変わるように構成されるため、武器情報等も特性情報に含めるのがよい。
【００１８】
図１では、敵オブジェクト２（図示せず。図９以降で後述）は未だ周辺領域に存在していないため、ゲーム画像６上にも広域平面情報６ａとしても表示されない。しかしながら、ユーザ命令によるプレイヤ・オブジェクト１の移動、および／または所与のプログラム命令による敵オブジェクト２の移動に伴い、これらオブジェクト同士が相互に接近した場合には、敵オブジェクト２の存在がまず広域平面情報６ａに表示され、次いで、ゲーム画像６内に表示されることになる。なお、この場合は、ユーザ操作によりプレイヤ・オブジェクト１を敵オブジェクト２の位置まで更に移動させることで、ユーザはプレイヤ・オブジェクト１を敵オブジェクト２と対戦させることができる。
【００１９】
本発明のゲーム・プログラムのコンテンツは、このようなアクションＲＰＧに限定されない。仮想空間内に複数のオブジェクトを同時に存在させ、仮想カメラ３からの視界に基づいて表示画面上でこれらオブジェクトの全部または一部を特定可能であり、ユーザにより空間内を移動可能なゲームであればよく、アクションＲＰＧ以外にも例えばシューティング・ゲーム等にも適用可能である。
【００２０】
ゲーム・システムの概要
図２および図３を参照して、本発明の実施形態におけるゲーム・システム１００の基本構成について説明する。なお、図２および図３は、ゲーム・システムの主要な構成要素のみを機能的に示したブロック図である。図２に示すように、ゲーム・システム１００は、ユーザ端末１０とゲーム・サーバ５０を備える。
【００２１】
図２を参照すると、ユーザ端末１０は、端末表示部１１、端末入力部１２、端末処理部１３、端末通信部１４および端末記憶部１５等を備え、ネットワークを介してゲーム・サーバ５０と相互作用が可能である。
【００２２】
端末表示部１１は、ゲーム・サーバ５０で生成される、端末通信部１４で受信したゲーム画面を端末記憶部１５に一時的に格納して表示する。端末表示部１１は、例えば液晶ディスプレイ（ＬＣＤ）等によって実現される。端末入力部１２は、プレイヤ・オブジェクト１を各種操作（「移動」、「敵オブジェクトとの対戦」）させるため命令を入力するものであり、例えば、タッチパネルや操作ボタン等によって実現される。端末入力部１２からの入力命令に基づいて、端末処理部１３はユーザ命令を作成して、端末通信部１４およびネットワークを通じてゲーム・サーバ５０と通信を行い、ゲーム・サーバ５０内でプログラムを実行させる。なお、ユーザ端末１０はスマートフォンとするのがよく、この点、端末入力部１２はタッチパネルとするのが好ましい。
【００２３】
ゲーム・サーバ５０側では、通信部５３を介して、ユーザ端末１０からのユーザ命令を受け取ると、処理装置５２は、記憶部５１に格納された各種プログラム・モジュールを有するゲーム・プログラム５１０を、処理用データ５２０を用いて処理装置５２に実行させ、ユーザ端末１０に戻す。
【００２４】
図２に関連して、情報処理装置としての機能の全部または一部は、ユーザ端末１０が担うように構成してもよい。この場合には、ユーザ端末１０単体で情報処理装置を構成するか、またはユーザ端末１０およびゲーム・サーバ５０が情報処理装置を構成する。
【００２５】
更に、図２および図３を参照して、ゲーム・サーバ５０の例示の各機能について説明する。
各種プログラム・モジュール５１０について説明する。プレイヤ・オブジェクト移動操作モジュール５１１は、ユーザ命令に従って仮想空間内でプレイヤ・オブジェクト１を移動させるプレイヤ・オブジェクト移動操作部６１としての機能を実装する。ゲーム画像生成モジュール５１２は、仮想カメラ３からの視界領域に基づくゲーム画像６を生成するゲーム画像生成部６２としての機能を実装する。敵オブジェクト特定モジュール５１３は、仮想空間内において敵オブジェクトの位置を特定し、特に、敵オブジェクト検知領域７内に敵オブジェクト２が進入したかを検知する敵オブジェクト特定検知部６３としての機能を実装する。仮想カメラ制御モジュール５１４は、仮想カメラ３のカメラワーク動作を制御して視界領域を最適化する仮想カメラ制御部６４としての機能を実装する（カメラワーク処理については後述）。
【００２６】
処理用データ５２０について説明する。仮想空間データ５２１は、主に仮想空間を定義するデータを含む。上記図１の例では、仮想空間内に水辺領域６Ａ、砂場領域６Ｂ、岩壁領域６Ｃ、草場領域６Ｄを３次元空間データとして定義し、更にプレイヤ・オブジェクト１は砂場領域６Ｂ部分のみを水平面に沿って移動可能とするよう定義する。プレイヤ・オブジェクト・データ５２２は、仮想空間内における、プレイヤ・オブジェクト１の位置座標、方位、位置情報に関連付けられる敵オブジェクト検知領域７、敵オブジェクト検知領域７の形状や大きさ、およびプレイヤ特性情報等を含む。敵オブジェクト・データ５２３は、敵オブジェクトの数、それぞれの位置座標、動作、敵オブジェクト特性情報等を含む。仮想カメラ・データ５２４は、仮想カメラの座標位置、方位、視野角度、その他仮想カメラ３からの視界領域を定義するための各種データを含む。
【００２７】
ゲーム内３次元仮想空間
図４および図５を参照して、プレイヤ・オブジェクト１および仮想カメラ３を配置した３次元仮想空間について説明する。
【００２８】
図４のとおり、ＸＹＺ−３次元空間内にプレイヤ・オブジェクト１および仮想カメラ３が配置される。仮想カメラ３は、視界領域８を設定して、プレイヤ・オブジェクト１の後方且つ上方からプレイヤ・オブジェクト１を撮影するように構成される。より具体的には、上記仮想カメラ制御モジュール５１４により、中心が視界中心点５となるように視界領域８を設定し、視界中心点５が常にゲーム画像６内の中心点となるように位置合わせする。視界中心点は、仮想カメラから延びる中心軸が水平面と交差する地点となる。
【００２９】
図４の例では、視界中心点５の上にプレイヤ・オブジェクト１を配置しており、この場合は図１のように、ゲーム画像６内の中心（破線交差点）にプレイヤ・オブジェクト１が表示される。仮想空間内のプレイヤ・オブジェクト１の移動に伴い、仮想カメラ３の位置と姿勢を制御して、視界中心点を移動させることにより、視野領域８が調整される。
【００３０】
また、図４では、ＸＹ平面上に視界中心点５を中心にした円領域として敵オブジェクトの検知領域７が示されている。図示のとおり、仮想カメラ３の視界領域８と敵オブジェクト検知領域７は、仮想空間内で独立して設定されるものであるから、これらが重複しない領域が存在する場合がある。即ち、敵オブジェクト検知領域７内に含まれるものの、視界領域８には含まれないブラインド領域９，９’が１つ以上存在する場合がある。そして、当該ブラインド領域９，９’に敵オブジェクト２が存在することになる場合には、敵オブジェクト２がプレイヤ・オブジェクト１に十分接近しているにも拘わらずゲーム画面６には映り込んでいないことを意味する。
【００３１】
同様に図５は、図４をＺ軸上方向から見たＸＹ平面図である。視界中心点５に向いた仮想カメラが有する固定の視野角θfは、基本的には表示画面１１の縦横比に基づいて決定される。上述したように、ユーザがスマートフォン・ゲームとしてタッチ画面を縦方向に固定して使用する場合には、視野角θfが非常に狭小なものとなるため、横方向の領域表示が十分に確保できないという課題がある。即ち、ユーザ端末１０としてスマートフォンを適用した場合、画面横方向において上記ブラインド領域９，９’の面積が非常に大きくなる。このことは、ゲームの進行途中で、敵オブジェクト２が好ましくない形で横方向から突然現れるという状況を発生させ、ユーザに不快感を与える。したがって、上記課題を解決するためにも仮想カメラ３の表示領域の最適化が必要となる。
【００３２】
なお、図４および図５では、敵オブジェクト検知領域７を、一例としてＸＹ平面上の円領域で示したが、これに限定されず、任意の形状および大きさとすることができる。特に、当該検知領域７は、プレイヤ・オブジェクト１の強さや保有している武器の種類のような特性情報に基づいて決定するのがよい。例えば、上記のように敵オブジェクト検知領域７を円領域とした場合、当該円の半径を、プレイヤ・オブジェクト１が保有する武器の強さに基づいて決定すると対戦型ゲームとしての面白味が増す。強い武器を保有していればいるほど、プレイヤ・オブジェクト１をより多くの敵オブジェクト２と対戦させたいというユーザ・ニーズを満たすことができるためである。
【００３３】
仮想カメラのカメラワーク動作制御処理
そこで、本発明のゲーム・プログラムおよび関連するゲーム・システムを用いた仮想カメラ３のカメラワークの動作制御処理について詳述する。
【００３４】
図６は、仮想カメラ３のカメラワーク制御の処理概要を示すフローチャートである。まず、ステップＳ１０では、プレイヤ・オブジェクト移動操作モジュール５１１により、端末入力部１２からのユーザ命令に基づいて仮想空間に配置したプレイヤ・オブジェクト１を移動させる。そして、ステップＳ２０では、仮想カメラ制御モジュール５１４により、プレイヤ・オブジェクト１の移動に従い、プレイヤ・オブジェクト１の位置を視界領域８内に含むように視界中心点５を移動させて、仮想カメラ３にプレイヤ・オブジェクト１を自動追尾させる。
【００３５】
ここで、自動追尾の一態様について図７を参照して説明する。プレイヤ・オブジェクト１が仮想空間内を図７の左下から右上に移動経路４に沿ってＸＹ平面上を水平移動する場合の仮想カメラ３の自動追尾の一例は次のように実施される。
【００３６】
先に説明したとおり、視界中心点５は、仮想カメラから延びる中心軸が水平面と交差する地点であり、常にゲーム画像６内の中心点となるように位置合わせされる。プレイヤ・オブジェクト１の移動開始時には、仮想カメラ３はプレイヤ・オブジェクト１を視界中心点５上に配置する。つまり、ゲーム画面において中心となるように捉える。次いで、プレイヤ・オブジェクト１が移動経路４に沿って移動している場合、仮想カメラ３も一定のＺ方向の高さを保ちつつ移動経路４に沿って移動して（図７の点線矢印）、視界中心点５を移動させる。この際、視界中心点５’は、プレイヤ・オブジェクト１の位置に対し、移動経路４に沿って所定の距離だけ後方に下げるようにするとよい。即ち、移動経路４に沿って視界中心点５’の前方にプレイヤ・オブジェクト１が配置されることになる。最後に、プレイヤ・オブジェクト１が移動を終了すると、移動開始時と同様に、視界中心点５’’上に再度プレイヤ・オブジェクト１を配置する。
【００３７】
このように、プレイヤ・オブジェクト１は、静止中は視界中心点５，５’’上にあり、移動中は視界中心点５’と一定の距離を空けるように構成され、即ち、視界中心点の位置に関連付けて位置合わせされることが理解される。なお、簡単のため、以降ではプレイヤ・オブジェクト１が視界中心点５上に配置されるものとして説明を進める。
【００３８】
図６に戻り、引き続いて、敵オブジェクト特定モジュール５１３によって、ステップＳ３０において、近辺にいる敵オブジェクト２の位置を特定して、視界中心点５に関連付けられる敵オブジェクト検知領域７内に敵オブジェクト２が進入したかを検知し、その場合に、更にステップＳ４０において、その位置が仮想カメラ３からの視界領域８内でない（即ち視界領域８外のブラインド領域９（９’）内である）かについて判断する。
【００３９】
敵オブジェクト２が上記ブラインド領域９に位置すると判断される場合には、次いでステップＳ５０に進み、仮想カメラ制御モジュール５１４により、視界領域８における視界中心点５を一定位置に保ちつつ、視界中心点５から仮想カメラ３までの距離を長くするように（即ち、仮想カメラを視界中心点から引き離すように）、仮想カメラ３の位置および姿勢を調整して、視界領域８を最適化する（後述）。そして、ステップＳ６０でゲーム画像生成モジュール５１２により、仮想カメラ３からの視界領域８に基づくゲーム画像を生成して、端末表示部１１に表示できるようにする。
【００４０】
上記ステップＳ５０の視界領域８の最適化処理について、以降、図８から図１３を参照してより詳細に説明する。
図８は、カメラ制御モジュール５１４によって実施される上記ステップＳ５０の最適化処理をより詳細化したフローチャートである。図９（１）のように敵オブジェクト２が敵オブジェクト検知領域７にも視界領域８にも位置していない状態に対し、図９（２）は、敵オブジェクト検知領域７内ではあるが視界領域８外である（即ちブラインド領域９に位置する）状態である。図９（２）のように敵オブジェクト２がブラインド領域に進入した場合、当該最適化処理によるカメラワーク制御が実施される。
【００４１】
最初のステップ５１に先立ち、最適化処理を開始する時点での仮想カメラ・データ５２４（特に仮想カメラ初期位置Ｌ１（ｘ１，ｙ１，ｚ１））は記憶部５１に記憶しておくのがよい。何故ならば、最適化処理が完了し、次いでユーザが敵オブジェクト２に対しプレイヤ・オブジェクト１に所定のアクション（例えば「対戦」）を実施させた後には、当該記憶した仮想カメラ・データ５２４を用いて、元の位置に仮想カメラ３を配置し直すのがゲームの進行上好ましいからである。
【００４２】
ステップＳ５１において、中心点５に対して仮想カメラ３を任意の方向に所定の距離だけ遠ざけて、その位置を決定する。仮想カメラ３を遠ざけるとは、中心点５に対して仮想カメラ３の距離をｄ1からｄ2に長くする（ｄ1＜ｄ2）ものであればいずれの態様でもよい。本発明者の実験によれば、図１０のように、仮想空間において仮想カメラ３を所与の距離ｈだけ垂直（Ｚ）方向の高い位置に引き上げるように制御するのが、ユーザに与える臨場感を高めることができて好ましい。この場合の仮想カメラ位置は、Ｌ２（ｘ１，ｙ１，ｚ２）となる（ｚ２＝ｚ１＋ｈ）。なお、これ以外にも、例えば、仮想カメラ３をプレイヤ・オブジェクト１に対して反対側に引いて遠ざけるようにしてもよい。
【００４３】
仮想カメラ３を任意の方向に遠ざけた位置Ｌ２を決定した場合、次いでステップＳ５３に進み、仮想カメラ位置の更なる回転移動処理を行う。具体的には、図１１の立体図に示すように、仮想カメラ位置を、更に、視界中心点から垂直方向に伸びる回転軸を中心にして所与の角度θrだけ、敵オブジェクトの位置からの距離を短くするように（即ち、仮想カメラ位置を敵オブジェクト２に近づけるように）、水平方向に回転させた位置を決定する。即ち、図１１において、仮想カメラ位置と敵オブジェクト２の位置との間の距離がｄ3からｄ4に短くなる（ｄ3＞ｄ4）方向に、水平面ＰＬ３上において仮想カメラ位置を回転移動させる。回転移動後の仮想カメラ位置は、Ｌ３（ｘ２，ｙ２，ｚ２）となる。（なお、図１０から図１２では、簡単のためプレイヤ・オブジェクト１は図示していない。）
図８に戻り、ステップＳ５３で回転移動後の仮想カメラ位置Ｌ３（ｘ２，ｙ２，ｚ２）を決定したら、仮想カメラ位置Ｌ１からＬ３まで仮想カメラを実際に移動させる移動経路を決定する。ステップＳ５１およびＳ５２で処理した順に、仮想カメラの引き上げおよび回転を段階的に実施して、仮想カメラ３の移動経路をＬ１→Ｌ２→Ｌ３と位置Ｌ２を経由するように設定してもよいが、カメラワークにおける臨場感を考慮した場合、図１２に示すように、位置Ｌ２を経由せずにＬ１からＬ３への移動経路を適宜設定するのがよい。当該Ｌ１からＬ３への移動経路は、仮想空間上、直線でも曲線でもいずれの態様で設定することができる。
【００４４】
本発明者の実験により、水平面方向の仮想カメラ回転角度は、１０度以下とするのが好ましいことが確認されている。即ち、仮に、角度制限を設けずに、プレイヤ・オブジェクト１が敵オブジェクト２の周りをぐるぐる回るような動きを許す場合には、これに伴い視界領域もぐるぐる回転することになる。これは、ユーザが遊園地のコーヒーカップに乗っているのに近い状態になるため、ユーザに画面酔い（映像酔い）を起こしやすくなり、適切とはいえない。また、仮に角度制限を３０度程度とした場合には、ユーザによっては「より臨場感が得られる」と評価されるものの、やはり画面酔いしやすいユーザにはこの角度も不適切であることが判明した。他方、角度制限を１０度以下であれば、ユーザに画面酔いを生じさせることはほとんどなかったため、回転角度を１０度に設定するのがよい。
【００４５】
最後に、図８に示した一連の最適化処理を実施した際の実際のゲーム画像６について、その一例を図１３に示す。図１３（１）では、広域平面情報６ａには複数の敵オブジェクト２の存在が示唆されており、実際に敵オブジェクト検知領域７にも敵オブジェクト２が位置している。しかしながら、敵オブジェクト２はブラインド領域９内にいるため、ユーザはその存在を視界領域８からは確認できない（図９（２）も参照）。
【００４６】
次いで、図１３（２），（３）では、図８の最適化処理の結果として、仮想カメラ位置の引き上げ（ステップＳ５１）および水平回転（ステップＳ５３）に従って、敵オブジェクト２が視界領域８に含まれ、ゲーム画面６上でもユーザが捉えることが可能な状態となる。特に図１３（２）と（３）を比較すると、仮想カメラ位置の水平回転（ステップＳ５３）により、敵オブジェクト２が画面中心の破線ａに近づいた状態となる。このことは、点線ｂおよび実線ｃがずれていることからも理解できる。
【００４７】
このように、ブラインド領域９に位置する敵オブジェクト２を視界領域に含めるように仮想カメラ３をカメラワーク制御することにより、上述したように、スマートフォン・ゲームとしてタッチ画面を縦方向に固定する場合に横方向の表示領域が十分に確保できず、ブラインド領域が必要以上に大きなものとなるため、ブラインド領域にいる敵オブジェクトからの不意打ちを許してしまうという課題を解決することができる。更に、仮想カメラ位置を水平回転させることにより、より高い臨場感をユーザに与え、敵オブジェクト２に対してアクションを取りやすいというユーザビリティの向上を達成できるものとなる。
【００４８】
なお、本明細書全般を通じて、特に、スマートフォン・ゲームとしてタッチ画面を縦方向に固定する（縦持ちの）場合に、横方向の領域表示が課題となる点について説明してきたが、必ずしも縦持ちとする必要はない。横方向に固定する（横持ちの）場合であっても、上下方向の領域表示が同様に課題となるから、上下方向からの敵オブジェクトの不意打ちを防止することができるという、上記と同様の作用効果を奏する点に留意すべきである。
【００４９】
以上、本発明の実施形態による仮想空間内に設けた仮想カメラの動作をコンピュータに制御させるゲーム・プログラムおよび関連するゲーム・システムについて説明した。上述した実施形態は、本発明の理解を容易にするための例示に過ぎず、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良することができると共に、本発明にはその均等物が含まれることは言うまでもない。
【符号の説明】
【００５０】
１      プレイヤ・オブジェクト
２      敵オブジェクト
３      仮想カメラ
４      移動経路
５      視界中心点
６      ゲーム画像
７      敵オブジェクト検知領域
８      視界領域
９      ブラインド領域
１０    ユーザ端末
１１    表示画面
５０    ゲーム・サーバ
５１    記憶部
６１    プレイヤ・オブジェクト移動操作部
６２    ゲーム画像生成部
６３    敵オブジェクト特定検知部
６４    仮想カメラ制御部
５１０  ゲーム・プログラム
５２０  処理用データ
【図３】
0005989708.tif 000002
【図６】
0005989708.tif 000003
【図８】
0005989708.tif 000004
【図１】
0005989708.tif 000005
【図２】
0005989708.tif 000006
【図４】
0005989708.tif 000007
【図５】
0005989708.tif 000008
【図７】
0005989708.tif 000009
【図９】
0005989708.tif 000010
【図１０】
0005989708.tif 000011
【図１１】
0005989708.tif 000012
【図１２】
0005989708.tif 000013
【図１３】
0005989708.tif 000014