(57)【特許請求の範囲】
【請求項１】
（ａ）複数の仮想カメラの規定位置を設定する処理と、
（ｂ）仮想空間上の所与の領域内に配置された複数のオブジェクトの外縁を算出する処理と、
（ｃ）前記外縁の内部に前記仮想カメラを向ける目標位置を決定する処理と、
（ｄ）一の前記規定位置から前記目標位置に向かって前記仮想カメラを向けたときに前記領域内の複数のオブジェクトのすべてが表示されるように、一の前記規定位置における前記仮想カメラの高さを調整する処理と、
（ｅ）一の前記規定位置の調整された高さから前記目標位置に向かって前記仮想カメラを動作させる処理と、をコンピュータに実行させ、
前記（ｅ）の処理は、前記仮想カメラを配置する位置を一の前記規定位置から、前記目標位置に最も近い特定の条件を満たす他の規定位置へ変えるとき、変化する前記目標位置に前記仮想カメラを追従するように、前記仮想カメラを前記目標位置に向けながら、一の前記規定位置から他の前記目標位置に前記仮想カメラを移動させる、ゲームプログラム。
【請求項２】
前記（ｂ）の処理は、前記複数のオブジェクトのうち最も遠い距離の２つのオブジェクトを直径とした円を前記外縁とし、
前記（ｃ）の処理は、前記円の中心を前記目標位置とする、
請求項１に記載のゲームプログラム。
【請求項３】
前記（ｂ）の処理は、前記複数のオブジェクトのうち外側に位置する複数のオブジェクトを結んだ多角形を前記外縁とし、
前記（ｃ）の処理は、前記多角形の重心を前記目標位置とする、
請求項１に記載のゲームプログラム。
【請求項４】
前記（ｂ）〜前記（ｅ）の処理を繰り返す、
請求項１〜３のいずれか一項に記載のゲームプログラム。
【請求項５】
前記（ｅ）の処理において前記目標位置に最も近い特定の条件を満たす他の規定位置は、前記目標位置と複数の前記仮想カメラの規定位置との距離に応じて定まる、
請求項１〜４のいずれか一項に記載のゲームプログラム。
【請求項６】
前記（ｅ）の処理は、前記目標位置の変化する方向に前記仮想カメラを向けながら前記仮想カメラを移動する、
請求項３〜５のいずれか一項に記載のゲームプログラム。
【請求項７】
前記仮想空間上の所与の領域は、ゲームが行われるフィールドの全体又は一部である、
請求項１〜６のいずれか一項に記載のゲームプログラム。
【請求項８】
前記仮想空間上の所与の領域は、ゲームが行われるフィールドを複数に分割した領域のうち所望の条件を満たす領域である、
請求項１〜７のいずれか一項に記載のゲームプログラム。
【請求項９】
（ａ）複数の仮想カメラの規定位置を設定する処理と、
（ｂ）仮想空間上の所与の領域内に配置された複数のオブジェクトの外縁を算出する処理と、
（ｃ）前記外縁の内部に前記仮想カメラを向ける目標位置を決定する処理と、
（ｄ）一の前記規定位置から前記目標位置に向かって前記仮想カメラを向けたときに前記領域内の複数のオブジェクトのすべてが表示されるように、一の前記規定位置における前記仮想カメラの高さを調整する処理と、
（ｅ）一の前記規定位置の調整された高さから前記目標位置に向かって前記仮想カメラを動作させる処理と、をコンピュータが実行し、
前記（ｅ）の処理は、前記仮想カメラを配置する位置を一の前記規定位置から、前記目標位置に最も近い特定の条件を満たす他の規定位置へ変えるとき、変化する前記目標位置に前記仮想カメラを追従するように、前記仮想カメラを前記目標位置に向けながら、一の前記規定位置から他の前記目標位置に前記仮想カメラを移動させる、ゲーム処理方法。
【請求項１０】
複数の仮想カメラの規定位置を設定する設定部と、
仮想空間上の所与の領域内に配置された複数のオブジェクトの外縁を算出し、前記外縁の内部に前記仮想カメラを向ける目標位置を決定する決定部と、
一の前記規定位置から前記目標位置に向かって前記仮想カメラを向けたときに前記領域内の複数のオブジェクトのすべてが表示されるように、一の前記規定位置における前記仮想カメラの高さを調整する調整部と、
一の前記規定位置の調整された高さから前記目標位置に向かって前記仮想カメラを動作させるカメラ動作部と、を有し、
前記カメラ動作部は、前記仮想カメラを配置する位置を一の前記規定位置から、前記目標位置に最も近い特定の条件を満たす他の規定位置へ変えるとき、変化する前記目標位置に前記仮想カメラを追従するように、前記仮想カメラを前記目標位置に向けながら、一の前記規定位置から他の前記目標位置に前記仮想カメラを移動させる、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ゲームプログラム、ゲーム処理方法及び情報処理装置に関する。
【背景技術】
【０００２】
ユーザに対するゲーム等の画像の視認性を向上させる仮想カメラの撮影方法が提案されている。例えば、特許文献１では、プレイヤーキャラクタと複数のＮＰＣとを配置し、その様子を仮想カメラで撮影した画像をゲーム画面とするシューティングゲームにおいて、次々に多数のＮＰＣが登場する場面であってもゲームプレイし易いゲーム画面構成となる画像を撮影するように適切に仮想カメラを制御することが提案されている。特許文献２は、プレイヤオブジェクトの周辺の円領域に存在する敵のオブジェクトとプレイヤオブジェクトとが視界に含まれるように仮想カメラの位置を決定することが提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−６８８８２号公報
【特許文献２】特開２０１７−２２８３０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、かかるゲームシステムでは、プレイヤーキャラクタの見ている一人称視点や、プレイヤーキャラクタの見ている視点から少し引いた場所から周辺を観戦する等、主にプレイヤーキャラクタを中心に仮想カメラで撮影する画像を調整する。このため、プレイヤーキャラクタの周囲以外にいる敵のキャラクタ、その他のオブジェクトの様子が分かり難く、ゲームの全体の動きを把握することが困難である。
【０００５】
本開示は、ゲームを俯瞰して表示することが可能なゲームプログラム、ゲーム処理方法及び情報処理装置を提供する。
【課題を解決するための手段】
【０００６】
本開示の一の態様によれば、（ａ）複数の仮想カメラの規定位置を設定する処理と、（ｂ）仮想空間上の所与の領域内に配置された複数のオブジェクトの外縁を算出する処理と、（ｃ）前記外縁の内部に前記仮想カメラを向ける目標位置を決定する処理と、（ｄ）一の前記規定位置から前記目標位置に向かって前記仮想カメラを向けたときに前記領域内の複数のオブジェクトのすべてが表示されるように、一の前記規定位置における前記仮想カメラの高さを調整する処理と、（ｅ）一の前記規定位置の調整された高さから前記目標位置に向かって前記仮想カメラを動作させる処理と、をコンピュータに実行させ、前記（ｅ）の処理は、前記仮想カメラを配置する位置を一の前記規定位置から、前記目標位置に最も近い特定の条件を満たす他の規定位置へ変えるとき、変化する前記目標位置に前記仮想カメラを追従するように、前記仮想カメラを前記目標位置に向けながら、一の前記規定位置から他の前記目標位置に前記仮想カメラを移動させる、ゲームプログラムが提供される。
【発明の効果】
【０００７】
一の側面によれば、ゲームを俯瞰して表示することができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係るゲームシステムを示す図。
【図２】実施形態に係るサーバーのハードウェア構成を示す図。
【図３】実施形態に係る端末装置のハードウェア構成を示す図。
【図４】実施形態に係るサーバーの機能構成を示す図。
【図５】実施形態に係るカメラ規定位置情報テーブルの一例を示す図。
【図６】実施形態に係るオブジェクト情報テーブルの一例を示す図。
【図７】実施形態に係る端末装置の機能構成を示す図。
【図８】第１実施形態に係るカメラ動作処理を示すフローチャート。
【図９】第１実施形態に係るカメラ動作処理を説明するための図。
【図１０】実施形態に係るステージ内の複数のオブジェクトの外縁の決定方法の一例を示す図。
【図１１】第２実施形態に係るカメラ動作処理を示すフローチャート。
【図１２】第２実施形態に係るカメラ動作処理を説明するための図。
【図１３】実施形態に係る所与の領域の一例を示す図。
【発明を実施するための形態】
【０００９】
以下、本開示を実施するための形態について図面を参照して説明する。なお、本明細書及び図面において、実質的に同一の構成については、同一の符号を付することにより重複した説明を省く。
【００１０】
［ゲームシステム］
図１は、実施形態におけるゲームシステム１の構成を示す図である。実施形態のゲームシステム１は、ネットワークＮ（例えば、インターネット等）を介してゲームに関する各種サービスをプレイヤーに提供する。ゲームシステム１は、サーバー１０と複数の端末装置３０とを有する。サーバー１０は、ゲームに関する各種サービスを複数の端末装置３０に提供する情報処理装置の一例である。サーバー１０は、パーソナルコンピュータ、ワークステーション、クラウドコンピュータ等であってもよい。
【００１１】
端末装置３０は、ゲームをプレイする際にプレイヤーが使用する情報処理装置の一例である。端末装置３０は、スマートフォン、パーソナルコンピュータ、携帯型ゲーム装置、ゲームコントローラ、タブレット型コンピュータ、ウェアラブルコンピュータ、業務用ゲーム装置であってもよい。
【００１２】
端末装置３０は、サーバー１０に対してゲームに関する各種情報（ゲームプログラムやゲーム画面等）の配信要求を行う。サーバー１０は、端末装置３０から各種情報の配信要求を受け付けると、端末装置３０においてプレイするゲームプログラムやゲーム画面のＷｅｂページを配信する。
【００１３】
端末装置３０は、プレイヤーにゲーム画面を表示するＷｅｂページを閲覧させるためのＷｅｂブラウザ機能を有する。これにより、端末装置３０は、サーバー１０から配信されたゲーム画面等のＷｅｂページを表示することができる。
【００１４】
なお、ゲームシステム１に接続された端末装置３０は、３つに限られず、１つであってもよいし、２以上であってもよい。サーバー１０は、複数のサーバーが連携してサーバー１０の機能を実現してもよい。サーバー１０は、ネットワークＮに接続された複数の端末装置３０が敵及び味方に分かれて対戦するオンラインゲームを提供してもよい。ただし、サーバー１０は、これに限られず、バスケットやテニス等のスポーツゲーム、レーシングゲーム、街づくりゲーム等、あらゆるゲームを提供できる。サーバー１０は、これらのゲームをプレイヤー以外のユーザが観戦する機能を提供できる。端末装置３０には、プレイヤーがゲームを行っている端末装置３０と、プレイヤー以外のユーザが観戦している端末装置３０とが含まれてもよい。後者の端末装置３０では、ユーザがバトルゲームやスポーツゲームの試合の様子を観戦できる。特に、サーバー１０は、ゲームの全体を俯瞰して表示することが可能なように仮想カメラを動作させるため、ユーザはダイナミックにゲームを観戦できるとともにゲーム全体を容易に把握することができる。
【００１５】
［サーバー１０のハードウェア構成］
次に、サーバー１０のハードウェア構成について、図２を参照して説明する。図２は、実施形態に係るサーバー１０のハードウェア構成を示す図である。サーバー１０は、ＣＰＵ（Central Processing Unit）１３１、メモリ１３２及び通信装置１３３を有する。ＣＰＵ１３１は、サーバー１０を制御する。メモリ１３２は、例えば、ＣＰＵ１３１が直接アクセス可能なサーバー１０内のメモリなどの記憶媒体である。通信装置１３３は、通信を制御するネットワークカードなどの通信デバイスである。
【００１６】
サーバー１０は、ＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）などの各種マイクロプロセッサ、ＶＲＡＭやＲＡＭ，ＲＯＭ等の各種メモリを搭載してもよい。
【００１７】
サーバー１０は、演算処理により端末装置３０を用いてプレイするために必要な各種ゲームデータを端末装置３０に提供し、端末装置３０で行われるゲーム処理の実行を制御及び管理するゲーム管理機能を有する。サーバー１０は、ＣＰＵ１３１が所定のプログラム及びデータに基づいて演算処理することにより、バトルゲームのゲーム処理及び仮想カメラの動作処理を実行する。なお、サーバー１０で実現される処理はこれに限られず、適宜追加及び省略が可能である。
【００１８】
［端末装置のハードウェア構成］
次に、端末装置３０のハードウェア構成について、図３を参照して説明する。図３は、実施形態に係る端末装置３０のハードウェア構成を示す図である。端末装置３０は、ＣＰＵ１２１、メモリ１２２、通信装置１２３、入力装置１２４及び表示装置１２５を有する。ＣＰＵ１２１は、端末装置３０を制御する。メモリ１２２は、例えば、ＣＰＵ１２１が直接アクセス可能な端末装置３０内のメモリなどの記憶媒体である。通信装置１２３は、通信を制御するネットワーク回路などの通信デバイスである。入力装置１２４は、カメラ又はタッチパネルなどの入力デバイスである。表示装置１２５は、ディスプレイなどの出力デバイスである。
【００１９】
端末装置３０は、サーバー１０から提供されるゲームを実行する。実施形態の一例では、プレイヤーは、端末装置３０を使用してサーバー１０から提供される味方と敵のキャラクタが３対３の箱庭型のステージのバトルゲームを行う。このとき、サーバー１０は、自動でステージ内のすべてのキャラクタが表示されるように仮想カメラを動作させる仕組みを提供する。ただし、プレイヤーがプレイするゲームはバトルゲームに限られず、ロールプレイングゲーム（ＲＰＧ）等いずれのゲームであってもよい。
【００２０】
［サーバーの機能構成］
次に、サーバー１０の機能構成について図４を参照して説明する。図４は、実施形態に係るサーバー１０の機能構成を示す図である。サーバー１０は、制御部１１、記憶部１２及び通信部１３を有する。
【００２１】
制御部１１は、各部間のデータの受け渡しを行うと共にサーバー１０全体の制御を行う。制御部１１は、ＣＰＵ１３１が所定のメモリ１３２に格納されたプログラムを実行することによって実現される。
【００２２】
記憶部１２は、バトルゲームや観戦処理を実行するためのゲームプログラム、各種のデータ及び各種のテーブルを記憶している。記憶部１２は、例えばメモリ１３２によって実現される。記憶部１２は、ゲームプログラムが記憶された読み取り専用の記憶領域であるＲＯＭ（Read Only Memory）と、制御部１１による演算処理のワーク領域として使用される書き換え可能な記憶領域であるＲＡＭ（Random Access Memory）とを有している。記憶部１２は、例えば、フラッシュメモリやハードディスク等の不揮発性の記憶装置によって実現される。
【００２３】
通信部１３は、端末装置３０及びその他の機器との間で通信を行うための機能を有する。通信部１３は、端末装置３０から送信される各種データを受信する受信部として機能と、制御部１１の指令に応じて各種データを端末装置３０へ送信する送信部として機能とを有する。通信部１３は、例えば、ＮＩＣ（Network Interface Card）によって実現される。
【００２４】
制御部１１は、ゲーム実行処理部１４、設定部１５、決定部１６、演算部１７、調整部１８、カメラ動作部１９及び表示部２０を有する。ゲーム実行処理部１４は、バトルゲームに関する処理を実行する機能を有する。実施形態の一例では、ゲーム実行処理部１４は、プレイヤーキャラクタを含む味方のキャラクタと敵のキャラクタとの３対３のバトル（戦闘）について勝敗を決定する処理を実行する。
【００２５】
設定部１５は、仮想カメラの規定位置を設定する機能を有する。設定部１５は、複数の規定位置を設定することができる。仮想カメラは、規定位置のいずれかに配置される。実施形態の一例では、設定部１５は、ステージの四隅を仮想カメラの規定位置に設定し、更に、ステージの内部の２つの位置を規定位置に設定する。仮想カメラは、規定位置から仮想空間上のステージ内のゲームの様子を撮影する。仮想カメラは、複数の規定位置の一の規定位置から他の規定位置に移動することができる。
【００２６】
決定部１６は、仮想空間上の所与の領域内に配置された複数のオブジェクトの外縁を算出する機能を有する。所与の領域は、ゲームが行われるフィールドの全体又は一部であり得る。本実施形態の例では、所与の領域は、ゲームが行われるフィールドの全体であるステージである。所与の領域は、ゲームが行われるフィールドを複数に分割した領域のうち所望の条件を満たす領域であってもよい。
【００２７】
演算部１７は、２つのキャラクタの間の距離を算出する機能を有する。サーバー１０から提供される３対３の箱庭型のステージのバトルゲームでは、味方のキャラクタが３体、敵のキャラクタが３体ステージ上に表示される。実施形態の一例では、その６体のキャラクタのそれぞれの間の距離をすべて演算し、最も遠いキャラクタの間の距離を算出する。演算部１７は、所定時間毎にこの演算を繰り返し行い、各キャラクタの動きに応じて、その時点で最も遠いキャラクタの間の距離を算出する。なお、演算部１７は、６体のキャラクタを演算対象とするが、演算対象数はこれに限られない。また、演算対象のオブジェクトは、キャラクタに限られず、建物、木等のオブジェクトであってもよい。
【００２８】
決定部１６は、演算部１７が算出した最も遠いキャラクタの間の距離に基づき、仮想カメラを向ける目標位置を決定する。
【００２９】
調整部１８は、規定位置から目標位置に向かって仮想カメラを向けたときにステージ内のすべてのキャラクタが表示されるように、規定位置における仮想カメラの高さを調整する機能を有する。
【００３０】
カメラ動作部１９は、規定位置の調整された高さから目標位置に向かって仮想カメラを動作させる機能を有する。カメラ動作部１９は、変化する目標位置に仮想カメラを追従させるように向けながら、仮想カメラを配置する位置を一の規定位置から他の規定位置へ変えてもよい。
【００３１】
表示部２０は、仮想カメラが撮影したステージ内のゲームの様子を示す画像のゲーム画面のＷｅｂページを制御する。表示制御部２０が制御するゲーム画面のＷｅｂページは、通信部１３により端末装置３０に送信され、端末装置３０の表示部３５に表示される。
【００３２】
記憶部１２は、カメラ規定位置情報テーブル２１及びオブジェクト情報テーブル２２を記憶している。
（カメラ規定位置情報テーブル）
カメラ規定位置情報テーブル２１は、仮想カメラを配置する規定位置を記憶している。図５は、実施形態に係るカメラ規定位置情報テーブル２１の一例を示す図である。カメラ規定位置情報テーブル２１は、仮想カメラの規定位置の番号をシーケンシャルに付与し、各番号の規定位置の座標（ｘ、ｙ、ｚ）を示す。図５の例では、仮想カメラの規定位置は番号１〜６の６つであり、座標で規定位置が定められている（図９の１〜６の位置参照）。ｘ座標及びｙ座標はステージの水平方向の座標であり、ｚ座標は、ステージの垂直方向の座標である。カメラ規定位置情報テーブル２１は、各規定位置のｚ座標の初期値をｚ１としており、初期状態では規定位置の高さは同じである。ただし、カメラ規定位置情報テーブル２１は、各規定位置のｚ座標の初期値を異なる高さに設定してもよい。
【００３３】
（オブジェクト情報テーブル）
オブジェクト情報テーブル２２は、仮想空間上の撮影領域となる所与の領域と撮影対象となるオブジェクトを記憶している。図６は、実施形態に係るオブジェクト情報テーブル２２の一例を示す図である。図６の例では、オブジェクト情報テーブル２２は、領域を、左上の規定位置１の座標（ｘ１、ｙ１、ｚ１）と右下の規定位置３の座標（ｘ２、ｙ２、ｚ１）とによって定まる領域に設定し、領域内のオブジェクトをＣ１〜Ｃ６のキャラクタと記憶している。なお、オブジェクト情報テーブル２２に記憶する領域は、フィールドの全部又は一部が設定されてもよい。また、領域内のオブジェクトはキャラクタ以外であってもよい。
【００３４】
［端末装置の機能構成］
次に、端末装置３０の機能構成について図７を参照して説明する。図７は、実施形態に係る端末装置の機能構成の一例を示す図である。端末装置３０は、制御部３１、記憶部３２、通信部３３、入力部３４及び表示部３５を有する。
【００３５】
制御部３１は、各部間のデータの受け渡しを行うと共に端末装置３０全体の制御を行う。制御部３１は、ＣＰＵ１２１が所定のメモリ１２２に格納されたプログラムを実行することによって実現される。
【００３６】
記憶部３２は、バスを介して制御部３１に接続され、制御部３１からの指令に応じて記憶されているデータを参照、読み出し、書き換える処理が行われる。記憶部３２は、例えば、フラッシュメモリやハードディスク等によって実現される。
【００３７】
通信部３３は、ネットワークＮを介してサーバー１０との間で通信を行う。通信部３３は、サーバー１０から送信される各種データを受信する受信部としての機能と、制御部３１の指令に応じて各種データをサーバー１０へ送信する送信部として機能とを有する。通信部１３は、例えば、ＮＩＣ（Network Interface Card）によって実現される。
【００３８】
入力部３４は、プレイヤーが各種操作（ゲーム操作等）を行うためのものであり、例えば、操作ボタン、タッチパネル等によって実現される。表示部３５は、制御部３１からの指令によりゲーム画面を表示するためのものであり、たとえば、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）等によって実現される。表示部３５は、サーバー１０が生成し、通信部３３により受信したゲーム画面のＷｅｂページを端末装置３０の画面に表示する。
【００３９】
［バトルゲームと仮想カメラの動作処理］
次に、ゲームシステム１によって提供されるバトルゲームの概要について簡単に説明する。ゲームシステム１では、サーバー１０に接続された複数の端末装置３０が敵及び味方に分かれてバトルゲームを行うオンラインゲームを提供する。
【００４０】
ゲームシステム１において、プレイヤーは、一のキャラクタ（プレイヤーキャラクタ）を所有し、自らが所有するプレイヤーキャラクタを用いてバトルゲームを行うことができる。ゲーム実行処理部１４は、プレイヤーキャラクタの対戦相手となる敵のキャラクタと、プレイヤーキャラクタを支援する味方のキャラクタを決定し、それぞれのキャラクタに設定された各種パラメータ（体力、攻撃力、防御力）に基づいて、これらのキャラクタ同士によるバトルの勝敗を決定する。敵のキャラクタとのバトルに勝利した場合には、その敵のキャラクタが保有するアイテムや、その敵のキャラクタ自体がプレイヤーに対して付与される。
【００４１】
プレイヤー以外のユーザは、ユーザの端末装置３０にバトルゲームの全体を表示させて観戦することができる。これにより、ユーザは、プレイヤーキャラクタの周囲以外にいる敵のキャラクタの様子を俯瞰して観戦できる。これにより、ゲーム全体を容易に把握することができる。また、プレイヤーの端末装置３０にバトルゲームの全体を表示させてマップとして機能させることができる。
【００４２】
＜第１実施形態＞
以下、バトルゲームのゲーム処理中に実行される、第１実施形態にかかる仮想カメラの動作処理について、図８〜図１０を参照しながら説明する。図８は、第１実施形態に係るカメラ動作処理を示すフローチャートである。図９は、第１実施形態に係るカメラ動作処理を説明するための図である。図１０は、実施形態に係るステージ内の複数のオブジェクトの外縁の決定方法の一例を示す図である。
【００４３】
端末装置３０からサーバー１０に対してバトルゲームに関する各種情報（ゲームプログラムやゲーム画面等）の配信要求が行われ、サーバー１０から端末装置３０へゲームコンテンツの提供が開始される。図８に示す処理は、ゲーム実行処理部１４がこのタイミングでバトルゲームを実行した際に開始される。
【００４４】
まず、設定部１５は、仮想空間上の所与の領域を設定する（ステップＳ１）。実施形態の一例では、仮想空間上の所与の領域としてステージＳが設定されるが、設定される領域は、バトルゲームが行われるフィールドの全部であってもよいし、一部であってもよい。設定される領域は、自動で設定されてもよいし、プレイヤー又はプレイヤー以外のユーザの操作により選択された領域に設定されてもよい。
【００４５】
次に、設定部１５は、カメラ規定位置情報テーブル２１に基づき、仮想カメラの規定位置を設定する（ステップＳ２：処理（ａ））。実施形態の一例では、設定部１５は、図９の（ａ）及び（ｂ）に示すように、箱型のステージＳの四隅に仮想カメラの規定位置１〜４を設定し、内部に仮想カメラの規定位置５，６を設定する。各規定位置１〜６の座標は、図５の規定位置１〜６の座標に示す通りである。ただし、仮想カメラの規定位置は１つ又は２つ以上であってもよい。
【００４６】
次に、図８のステップＳ３において、決定部１６は、オブジェクト情報テーブル２２に基づき、対象のオブジェクトを決定する。実施形態の一例では、決定部１６は、図６に示すオブジェクト情報テーブル２２に基づきステージＳの領域に配置されているキャラクタＣ１〜Ｃ６を対象のオブジェクトに決定する。
【００４７】
次に、演算部１７は、キャラクタＣ１〜Ｃ６の外縁を算出する（ステップＳ４：処理（ｂ））。決定部１６は、算出した外縁から仮想カメラにより撮像する際の目標位置を決定する（ステップＳ５：処理（ｃ））。例えば、演算部１７は、キャラクタＣ１〜Ｃ６のそれぞれの間の距離を算出し、算出したキャラクタ間の距離のうち最も遠い距離を算出する。そして、決定部１６は、算出したキャラクタ間の距離のうち最も遠い距離の中心点を目標位置に決定する。
【００４８】
このとき、キャラクタＣ１〜Ｃ６の外縁としては、図１０の（ａ）に示すように、算出したキャラクタ間の距離のうち最も遠いキャラクタＣ１とキャラクタＣ４との間の距離（直線）を直径とした円Ａが特定される。よって、円Ａの中点に、仮想カメラを向ける目標位置Ｐ１が決定される。そして、決定部１６は、決定した目標位置Ｐ１に基づき仮想カメラの規定位置を決定する（ステップＳ６）。
【００４９】
決定部１６は、例えば、決定した目標位置Ｐ１に最も近い特定の条件を満たす規定位置を仮想カメラの規定位置としてもよい。図９（ａ）の例では、キャラクタＣ１とキャラクタＣ４との中点の目標位置Ｐ１に最も近い特定の条件を満たす位置として規定位置５が仮想カメラＤの規定位置に決定される。ただし、決定した目標位置Ｐ１に対して特定の条件を満たす規定位置を仮想カメラの規定位置としてもよい。
【００５０】
特定の条件の一例としては、予め定められた距離条件、一定高度以上又は一定高度以下の地点、プレイヤーキャラクターの密度の少ない地点、障害物の存在しない地点が挙げられる。特定の条件は、これらの条件の一つ又は二つ以上の組合せであってもよい。
【００５１】
次に、図８のステップＳ７において、調整部１８は、規定位置から目標位置に仮想カメラを向けたときに対象オブジェクトのすべてが表示されるように、規定位置における仮想カメラのｚ座標（高さ）を調整する（処理（ｄ））。例えば、調整部１８は、ｚ座標の初期値ｚ１の高さで対象オブジェクトのすべてが表示されていない場合、ｚ座標を上げ、仮想カメラを初期値よりも高い位置に配置する。
【００５２】
例えば、図９の（ａ）の例では、調整部１８は、最も離れたキャラクタＣ１とキャラクタＣ４とが表示される程度に規定位置５におけるｚ座標を初期値ｚ１からｚ２まで上げ、規定位置５の高い位置に仮想カメラＤを配置し、目標位置Ｐ１に向かって撮影している。これにより、すべてのキャラクタＣ１〜Ｃ６を俯瞰して全体を表示することができる。
【００５３】
その後、図９の（ｂ）に示すように、キャラクタＣ１〜Ｃ６がステージＳ内で移動すると、調整部１８は、再度、キャラクタＣ１〜Ｃ６のそれぞれの間の距離を算出する。その結果、図９の（ｂ）の例では、キャラクタＣ２とキャラクタＣ４との間の距離が最も遠いとされ、キャラクタＣ２とキャラクタＣ４との中点が最新の目標位置Ｐ２と決定される。また、目標位置Ｐ２に最も近い特定の条件を満たす規定位置５が、仮想カメラＤの規定位置と決定される。
【００５４】
演算部１７は、初期値ｚ１で対象オブジェクトのすべてが表示されている場合、対象オブジェクトのすべてが表示され、かつ対象オブジェクトが最も大きく表示される位置までｚ座標を下げ、仮想カメラを初期値よりも低い位置に配置する。
【００５５】
例えば、図９の（ｂ）では、調整部１８は、最も離れたキャラクタＣ２とキャラクタＣ４とが表示される程度に規定位置５におけるｚ座標を初期値ｚ１からｚ３まで下げ、規定位置５の低い位置に仮想カメラＤを配置し、目標位置Ｐ２に向かって撮影している。これにより、すべてのキャラクタＣ１〜Ｃ６の表示をより大きくしながら、かつ俯瞰して全体を表示することができる。
【００５６】
次に、図８のステップＳ８において、カメラ動作部１９は、規定位置の調整された高さから、目標位置に向かって仮想カメラを動作させる（処理（ｅ））。次に、表示部２０は、仮想カメラが撮影した、すべての対象オブジェクトが映るゲーム画面のＷｅｂページを生成し、端末装置３０に表示させる（ステップＳ９）。これにより、図９の（ａ）及び（ｂ）に示すように、仮想カメラＤが、ステージＳ内の対象オブジェクトであるキャラクタＣ１〜Ｃ６のすべてを上方から俯瞰する画像をユーザの端末装置３０に表示することができる。これにより、ユーザは、バトルゲームの観戦時にゲーム全体の動きを把握することができる。
【００５７】
次に、制御部１１は、ゲーム終了又はモード切替が指示されたかを判定する（ステップＳ１０）。制御部１１は、ゲーム終了又はモード切替が指示されたと判定した場合、本処理を終了する。制御部１１は、ゲーム終了又はモード切替が指示されていないと判定した場合、ステップＳ４に戻り、ステップＳ４〜Ｓ９の処理を繰り返す。
【００５８】
なお、モードの切り替えは、プレイヤーが操作するプレイヤーキャラクタを映す１人称視点モードと、プレイヤーキャラクタの周辺を映す３人称視点モードと、ゲームの全体を俯瞰する俯瞰モードとの間で切り替えが可能である。俯瞰モードは、実施形態で説明するように、ステージＳ内のすべてのキャラクタＣ１〜Ｃ６が表示され、ステージＳの全体の様子を把握できる表示モードである。
【００５９】
なお、１人称視点モードは、プレイヤーがゲームをしている仮想カメラと同じ視点の表示モードである。３人称視点モードは、プレイヤーキャラクタから一定の距離だけ離れた仮想カメラの視点であり、プレイヤーキャラクタの周辺を映す表示モードである。モード切替は、プレイヤー及びプレイヤー以外のユーザにより操作可能である。
【００６０】
以上に説明したように、第１実施形態にかかる仮想カメラの動作処理によれば、ゲームを俯瞰して全体を表示することで、ユーザは対象キャラクタの全体の動きを把握し易くなり、バトルゲームをダイナミックに観戦できる。また、個々の対象キャラクタの動きによって対象キャラクタの間の距離は常に変わる。よって、対象キャラクタの間の距離を所定時間毎に算出し、最も遠いキャラクタ間の中点を目標位置として決定する制御を繰り返し行い、目標位置に基づき規定位置を決定し、複数の規定位置の間で仮想カメラの位置を切り替えながら動かしていく。これにより、ユーザは何らかの操作を行わなくても、ステージＳ内にいるキャラクタ全員の動きをダイナミックに観戦することができる。
【００６１】
＜第２実施形態＞
以下、バトルゲームのゲーム処理中に実行される、第２実施形態にかかる仮想カメラの動作処理について、図１１及び図１２を参照しながら説明する。図１１は、第２実施形態に係るカメラ動作処理を示すフローチャートである。図１２は、第２実施形態に係るカメラ動作処理を説明するための図である。図１１に示す処理では、図８に示すゲーム処理と同一処理を行うステップは同一ステップ番号を付すことで、同一ステップ番号が付された処理の説明を省略又は簡略化する。
【００６２】
例えば、ステップＳ１〜Ｓ７の処理は、第１実施形態にかかる図８のステップＳ１〜Ｓ７と同じであるため、ここでは説明を省略する。第２実施形態では、ステップＳ１〜Ｓ７の処理後、カメラ動作部１９は、仮想カメラが直前の規定位置から移動したかを判定する（ステップＳ１１）。カメラ動作部１９は、仮想カメラが直前の規定位置から移動していない又は直前の規定位置がない（つまり、仮想カメラの最初の動作処理である）と判定した場合、ステップＳ８に進み、規定位置の調整された高さから目標位置に向かって仮想カメラを動作させる（ステップＳ８：処理（ｅ））。次に、表示部２０は、表示部２０は、仮想カメラが撮影した、すべての対象オブジェクトが映るゲーム画面のＷｅｂページを生成し、端末装置３０に表示させる（ステップＳ９）。次に、制御部１１は、ゲーム終了又はモード切替が指示されたかを判定する（ステップＳ１０）。制御部１１は、ゲーム終了又はモード切替が指示されたと判定した場合、本処理を終了する。制御部１１は、ゲーム終了又はモード切替が指示されていないと判定した場合、直前の規定位置を記憶し（ステップＳ１３）、ステップＳ４に戻り、ステップＳ４〜Ｓ７、ステップＳ１１、ステップＳ１２、ステップＳ８〜Ｓ１０、ステップＳ１３の処理を繰り返す。
【００６３】
一方、ステップＳ１１において、カメラ動作部１９は、仮想カメラが直前の規定位置から移動したと判定した場合、変化する目標位置に追従するように、仮想カメラを目標位置に向けながら、直前の規定位置から次の新たな規定位置へ仮想カメラを移動させる（ステップＳ１２）。次に、ステップＳ９、Ｓ１０の処理を実行する。制御部１１は、ゲーム終了又はモード切替が指示されたと判定した場合、本処理を終了する。
【００６４】
以上に説明したように、第２実施形態にかかる仮想カメラの動作処理を含むゲーム処理によれば、ゲームを俯瞰して全体を表示することで、ユーザはバトルゲームをダイナミックに観戦できる。また、個々の対象キャラクタの動きによって対象キャラクタの間の距離は常に変わる。よって、対象キャラクタの間の距離を所定時間毎に算出し、最も遠いキャラクタ間の中点を目標位置として決定する制御を繰り返し行い、目標位置に基づき規定位置を決定する。そして、目標位置の変化に追従するように仮想カメラを目標位置に向けながら、直前の規定位置から決定した新たな規定位置に仮想カメラを移動させる。これにより、仮想カメラを配置する規定位置が変わるとき、仮想カメラが目標位置を眺めながら滑らかに動いていくことで、仮想カメラの移動をよりスムーズに行い、ユーザはバトルゲームをよりダイナミックに観戦できる。なお、仮想カメラの移動速度は、一定でもよいし、可変でもよい。
【００６５】
図１２の（ａ）の例では、仮想カメラＤは、規定位置４の座標（ｚ２、ｙ１、ｚ４）に配置された状態で目標位置Ｐ３に向けられ、すべてのキャラクタＣ１〜Ｃ６が表示されるようにステージ内を撮影する。
【００６６】
次に、ステップＳ４〜Ｓ７の繰り返しにより、目標位置と、目標位置に最も近い特定の条件を満たす規定位置とが決定される。この場合、カメラ動作部１９は、仮想カメラを目標位置の変化に追従するように目標位置に向けながら、直前の規定位置から次の新たな規定位置に移動させる。このとき、図１２の（ａ）〜図１２の（ｂ）の状態に各キャラクタが変化したとする。カメラ動作部１９は、目標位置Ｐ３→Ｐ４の変化に追従するようにＰ３からＰ４へ目標位置が変化する方向に仮想カメラＤを向けながら、仮想カメラＤを直前の規定位置４から決定した新たな規定位置５に移動させる。図１２の（ｂ）の例では、仮想カメラＤの向きを目標位置Ｐ３から目標位置Ｐ４へ変化する軌跡Ｔに追従する向きに制御しながら、仮想カメラＤを規定位置４から規定位置５へ動作させる。
【００６７】
以上に説明したように、第２実施形態にかかる仮想カメラの動作処理によれば、ゲームを俯瞰して全体を表示することで、ユーザは対象キャラクタの全体の動きを把握し易くなり、バトルゲームをダイナミックに観戦できる。また、目標位置の変化に追従するように仮想カメラを目標位置に向けながら、直前の規定位置から次の規定位置にスムーズに仮想カメラを移動させることで、ステージＳ内のキャラクタの臨場感のある動作を表示することができ、ゲーム観戦をより楽しむことができる。
【００６８】
第１及び第２実施形態では、ステップＳ６において、目標位置に最も近い特定の条件を満たす規定位置を決定し、この決定した規定位置に仮想カメラを配置したが、これに限られない。目標位置と複数の規定位置との距離に応じて、目標位置に２番目、３番目、４番目に近い規定位置を決定し、この決定した規定位置に仮想カメラを配置するようにしてもよい。
【００６９】
今回開示された実施形態に係るゲームプログラム、ゲーム処理方法及び情報処理装置は、すべての点において例示であって制限的なものではないと考えられるべきである。上記の実施形態は、添付の請求の範囲及びその主旨を逸脱することなく、様々な形態で変形及び改良が可能である。上記複数の実施形態に記載された事項は、矛盾しない範囲で他の構成も取り得ることができ、また、矛盾しない範囲で組み合わせることができる。
【００７０】
例えば、ステージ内に配置された複数のオブジェクトの外縁を算出方法は、図１０の（ａ）に示す最も遠いオブジェクトを結ぶ線を直径とした円Ａを外縁とする方法に限られない。例えば、図１０の（ｂ）に示すように、複数のオブジェクトのうち相対的に外側に位置する複数のオブジェクトを結んだ多角形Ｂを外縁とし、多角形Ｂの重心や、多角形の頂点同士を結んだ線の交点を目標位置Ｐ１としＨてもよい。
【００７１】
また、図１３に示すように、ゲームが行われるフィールドＦの全体を仮想空間上のステージＳとしてもよいし、フィールドＦの一部（Ｓ１〜Ｓ４）を仮想空間上のステージとしてもよい。
【００７２】
また、仮想空間上のステージＳは、ゲームが行われるフィールドＦを複数に分割した領域（Ｓ１〜Ｓ４）のうち所望の条件を満たす領域であってもよい。例えば、フィールドＦ内に多数のキャラクタ（例えば味方のキャラクタ５０体、敵のキャラクタ５０体等）が存在する場合、領域（Ｓ１〜Ｓ４）を分けて領域毎に仮想カメラＤを配置し、所望の条件を満たした領域では各領域に配置した仮想カメラＤにより各記実施形態の動作処理を行うようにしてもよい。所望の条件の一例としては、各領域に存在するキャラクタの数が予め定められた個数（例えば２０）以下になったときという条件が挙げられる。
【００７３】
また、仮想カメラによる実施形態の動作処理は、バトルゲーム以外のゲームにおけるマップの表示等にも使用できる。例えば、街づくりゲームのマップにおいて、建物のオブジェクトがすべて表示されるように仮想カメラの動作を制御してもよい。
【符号の説明】
【００７４】
１      ゲームシステム
１０    サーバー
１１    制御部
１２    記憶部
１３    通信部
１４    ゲーム実行処理部
１５    設定部
１６    決定部
１７    演算部
１８    調整部
１９    カメラ動作部
２０    表示部
２１    カメラ規定位置情報テーブル
２２    オブジェクト情報テーブル
３０    端末装置
３１    制御部
３２    記憶部
３３    通信部
Ｄ      仮想カメラ
【図１】
0006905568.tif 000002
【図２】
0006905568.tif 000003
【図３】
0006905568.tif 000004
【図４】
0006905568.tif 000005
【図５】
0006905568.tif 000006
【図６】
0006905568.tif 000007
【図７】
0006905568.tif 000008
【図８】
0006905568.tif 000009
【図９】
0006905568.tif 000010
【図１０】
0006905568.tif 000011
【図１１】
0006905568.tif 000012
【図１２】
0006905568.tif 000013
【図１３】
0006905568.tif 000014