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