以下では、本発明の実施形態について説明する。なお以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.情報処理システムの構成
図1は、本実施形態の情報処理システム10の構成を示す概略ブロック図である。図1に示すように情報処理システム10では、サーバー装置12と複数の端末装置14が、インターネット、携帯電話網、LAN、WANなどのネットワーク16により接続されており、いわゆるクライアント・サーバー方式の通信システムが構成されている。そして複数の端末装置14のそれぞれは、ネットワーク16を介してサーバー装置12と互いに通信を行って種々の情報を送受信したり、ネットワーク16およびサーバー装置12を介して他の端末装置14と互いに通信を行って種々の情報を送受信したりする。
サーバー装置12は、CPU等のプロセッサー、ROMやRAM等の主記憶装置、ハードディスク等の外部記憶装置、キーボード等の入力装置、液晶ディスプレイ等の表示装置、通信装置等を備えている。そしてサーバー装置12では、CPUが、主記憶装置に記憶されているプログラムや、外部記憶装置から主記憶装置にロードされたプログラムに従って各種の処理を実行し、通信装置によって端末装置14からの情報を受信したり、端末装置14に情報を送信したりする。
端末装置14は、スマートフォン、タブレット、パーソナルコンピューター、携帯ゲーム機、据え置きゲーム機など種々の形態の情報処理装置とすることができ、これらもCPU等のプロセッサー、ROMやRAM等の主記憶装置、フラッシュメモリ、ハードディスク等の外部記憶装置、タッチパネルやキーボード、マイク等の入力装置、液晶ディスプレイや有機ELディスプレイ等の表示装置、スピーカー等の音出力装置、通信装置等を備えている。そして端末装置14でも、CPUが、主記憶装置に記憶されているプログラムや、外部記憶装置から主記憶装置にロードされたプログラムに従って各種の処理を実行し、通信装置によってサーバー装置12からの情報を受信したり、サーバー装置12や他の端末装置14に情報を送信したりする。
図2は、本実施形態の端末装置14の機能を示す機能ブロック図である。図2に示すように、本実施形態の端末装置14は、プレイヤー入力検出部50、表示部52、音出力部54、情報記憶媒体56、記憶部60、通信部66、情報処理部100を含む。なお、図2の構成要素(各部)の一部を省略した構成としてもよい。
プレイヤー入力検出部50は、プレイヤーによる端末装置14に対する入力をプレイヤー入力として検出するためのものであり、その機能は、タッチセンサー、スイッチ、光学センサー、マイクなどにより実現できる。
表示部52は、表示画面に画像を表示するものであり、その機能は、液晶ディスプレイや有機ELディスプレイなどにより実現できる。
音出力部54は、音を出力するものであり、その機能は、スピーカー、ヘッドフォンなどにより実現できる。
情報記憶媒体56は、情報処理部100や通信部66が各種の処理を行うためのプログラムやデータなどを格納するものであり、その機能は、フラッシュメモリ、ハードディスク、光ディスク(DVD、BD)などにより実現できる。すなわち情報記憶媒体56には、本実施形態の各部としてコンピューターを機能させるためのプログラム(各部の処理をコンピューターに実行させるためのプログラム)が記憶されている。
記憶部60は、情報処理部100や通信部66のワーク領域となるものであり、その機能はRAM(メインメモリ)や、VRAM(ビデオメモリ)などにより実現できる。詳細には記憶部60は、情報記憶媒体56からプログラムやデータが読み込まれる主記憶部62と、表示部52に表示させる画像が描画される描画バッファ64を含む。
通信部66は、外部ネットワーク(例えばサーバー装置12や他の端末装置14)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサーまたは通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお本実施形態の各部としてコンピューターを機能させるためのプログラム(データ)は、サーバー装置12からネットワーク16および通信部66を介して端末装置14の情報記憶媒体56(あるいは主記憶部62)にダウンロードするようにしてもよく、このようなサーバー装置12の使用も本発明の範囲内に含めることができる。
情報処理部100は、プレイヤー入力検出部50が検出したプレイヤー入力や、通信部66が受信した受信データや、記憶部60の各種プログラムやデータなどに基づいて、ゲーム処理、画像生成処理、音生成処理などの各種処理を、主記憶部62をワーク領域として行うものであり、その機能は、各種プロセッサー(CPU(メインプロセッサー)、GPU(描画プロセッサー)、DSP等)、ASICなどのハードウェアや、プログラムにより実現できる。
そして情報処理部100は、ゲーム処理部102、表示制御部104、ヒット判定部105、パラメーター更新部106、画像生成部108、音生成部110、通信制御部112を含む。なおこれらの一部を省略する構成としてもよい。
ゲーム処理部102は、プレイヤー入力検出部50が検出したプレイヤー入力や、通信部66が受信した受信データや、情報処理部100で行われる種々の処理の結果や、主記憶部62に読み込まれたプログラムやデータなどに基づいて、ゲーム開始条件が満たされた場合にゲームを開始する処理、複数種類のゲームモードのうち選択されたゲームモードを実行する処理、ゲームを進行させる処理、イベント発生条件が満たされた場合にイベントを発生させる処理、ゲーム結果を演算する処理、あるいはゲーム終了条件が満たされた場合にゲームを終了する処理などを行う。
表示制御部104は、表示部52に表示される画像の表示制御を行う。具体的には、プレイヤー入力検出部50が検出したプレイヤー入力や、通信部66が受信した受信データや、情報処理部100で行われる種々の処理の結果や、主記憶部62に読み込まれたプログラムやデータなどに基づいて、種々のオブジェクトやプリレンダリング画像(ムービー画像)の表示内容、表示態様、表示タイミングなどの表示制御を行う。
本実施形態では、背景を表示するための背景オブジェクトや、エフェクトを表示するためのエフェクトオブジェクトや、ボタンなどのGUI(Graphic User Interface)を表示するためのGUIオブジェクトや、キャラクターを表示するためのキャラクターオブジェクトや、建物、道具、乗り物、地形などのキャラクター以外の物を表示するための非キャラクターオブジェクトなどの種々のオブジェクトのオブジェクトデータや、種々のプリレンダリング画像の画像データが情報記憶媒体56に記憶されている。そして表示制御部104は、実行中のゲームモードの種類や、ゲームの進行状況などに応じて、主記憶部62に読み込まれたオブジェクトデータやプリレンダリング画像の画像データに基づいて、オブジェクトやプリレンダリング画像の表示制御を行う。
詳細には表示制御部104は、主記憶部62に読み込まれたオブジェクトデータに基づいて、オブジェクトを表すポリゴン、自由曲面、二次元画像などのプリミティブで構成されるオブジェクトを、オブジェクト空間に配置したり、移動あるいは動作させたりする処理を行う。具体的には表示制御部104は、プレイヤー入力検出部50が検出したプレイヤー入力や、通信部66が受信した受信データや、情報処理部100で行われる種々の処理の結果や、主記憶部62に読み込まれたプログラムやデータなどに基づいて、1フレーム(例えば1/30秒)ごとに、オブジェクト空間におけるオブジェクトの位置や向き(回転角度)を決定し、決定した位置に決定された向きでオブジェクトを配置したり、オブジェクトを構成する複数のパーツのそれぞれを動作させたりする。
そして表示制御部104は、3次元ゲーム画像を表示させる場合には、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の位置、回転角度(視線方向)および画角を制御する処理を行う。本実施形態では表示制御部104は、プレイヤー入力に基づいて移動や動作を行うキャラクターオブジェクトの位置および向きの変化に仮想カメラが追従するように、仮想カメラの位置および向きを制御する。
ヒット判定部105は、あるキャラクターオブジェクトの攻撃が他のキャラクターオブジェクトにヒットしたか否かを判定する(コリジョン判定)。詳細には、キャラクターオブジェクトの攻撃動作に攻撃範囲が設定されており、キャラクターオブジェクトが攻撃動作を行うと、その時点におけるキャラクターオブジェクトの向きに基づいて攻撃方向が決定され、決定された攻撃方向に攻撃範囲が設定されるが、ヒット判定部105は、設定された攻撃範囲が攻撃対象のキャラクターオブジェクトの範囲と重なるか否か判定し、重なる場合に攻撃がヒットしたと判定する。本実施形態では、キャラクターオブジェクトの攻撃動作として、殴る、蹴る、剣で切りつけるなどのように、キャラクターオブジェクトの近傍に攻撃範囲が設定されるものの他、銃を撃つ、火を噴く、魔法を使うなど、キャラクターオブジェクトから離れた位置に攻撃範囲が移動するものなど、複数種類の攻撃動作が用意されている。
パラメーター更新部106は、プレイヤーのレベル、経験値、所持金などの種々のパラメーターを、パラメーターの種類に応じた更新条件が成立した場合に更新する。特に、複数種類のキャラクターのそれぞれには、0になるとキャラクターが活動不能となるパラメーターとしてヒットポイント(ライフ、スタミナ)が設定されており、キャラクターへの攻撃がヒットしたと判定されると、パラメーター更新部106は、攻撃されたキャラクターのヒットポイントを減少させる。また、ヒットポイントを回復させるアイテムや魔法が使用されると、パラメーター更新部106は、アイテムや魔法の対象となったキャラクターのヒットポイントを増加させる。
画像生成部108は、プレイヤー入力検出部50が検出したプレイヤー入力や、通信部66が受信した受信データや、情報処理部100で行われる種々の処理の結果、特に表示制御部104で行われる種々の処理の結果や、主記憶部62に読み込まれたプログラムやデータなどに基づいて、1フレームごとに描画バッファ64にゲーム画像を描画する処理を行うことにより、各種のオブジェクトや、各種のプリレンダリング画像が表示されるゲーム画像を生成し、生成したゲーム画像を表示部52に出力してゲーム画像を表示させる。
具体的には画像生成部108は、3次元ゲーム画像を生成する場合には、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトルあるいはα値等)を含むオブジェクトデータ(モデルデータ)を主記憶部62から取得し、取得したオブジェクトデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。
頂点処理では、頂点処理プログラム(頂点シェーダプログラム)に従って、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセル(画素)とが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。
ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定や変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの描画色を決定し、透視変換されたオブジェクトの描画色をレンダリングターゲット(ピクセル単位で画像情報を記憶できる描画バッファ64)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。
そして画像生成部108は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ、法線ベクトル、或いはα値等)は、主記憶部62に保存される。
テクスチャマッピングは、主記憶部62に記憶されるテクスチャ(テクセル値、UV座標値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて主記憶部62からテクスチャ(色、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間、トライリニア補間などを行う。
音生成部110は、情報処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、または音声などのゲーム音を生成し、音出力部54に出力する。
通信制御部112は、通信部66にサーバー装置12あるいは他の端末装置14と通信を行わせ、種々の情報を送受信させるための処理を行う。例えば通信制御部112は、プレイヤーを情報処理システム10に新規登録する処理に必要な情報や、プレイヤーを情報処理システム10にログインさせる処理に必要な情報や、ログインさせたプレイヤーと協力あるいは対戦する相手プレイヤーを設定する処理に必要な情報や、複数の端末装置14を同期させる処理に必要な情報や、複数の端末装置14において共通のゲームを実行するための処理に必要な情報などを通信部66に送受信させる。また通信制御部112は、情報の宛先を示す宛先情報や、情報の送信元を示す送信元情報や、情報を生成した情報処理システム10を識別する識別情報なども通信部66に送受信させる。
2.本実施形態の制御手法
以下では、本実施形態の制御手法について、本実施形態のゲームプログラムをスマートフォン(端末装置14)のゲームアプリとして適用した場合を例に挙げて詳細に説明する。
本実施形態のゲームプログラムは、プレイヤーがスマートフォンのタッチパネルディスプレイをスワイプしたりタップしたりする入力を行って、プレイヤーキャラクターを移動させたり動作させたりすることにより、ヒットポイントなどのパラメーターを消費しながら敵キャラクターとの戦闘を行い、戦闘の結果に応じてレベルや所持金などのパラメーターを増加させたり、アイテムを獲得したりしながらクエストをクリアするアクションRPGをプレイすることができるように構成されている。
詳細には本実施形態では、まずはプレイヤーが、1体のプレイヤーキャラクターと、第1ノンプレイヤーキャラクター〜第3ノンプレイヤーキャラクターの3体のノンプレイヤーキャラクターによるパーティーを編成する。そして、プレイヤーがプレイヤーキャラクターを移動させたり動作させたりすると、3体のノンプレイヤーキャラクターは自動的に移動および動作が制御されることにより、パーティーが敵キャラクターと戦うように構成されている。
そして本実施形態では、1つの端末装置14において、1人のプレイヤーのパーティーが敵キャラクターと戦うソロプレイヤーのクエストの他に、最大で4つの端末装置14において、4人のプレイヤーのそれぞれのパーティーが協力して敵キャラクターと戦うマルチプレイヤーのクエストが用意されている。そしてマルチプレイヤーのクエストでは、自らの端末装置14である自端末とサーバー装置12(外部ネットワーク)の間で通信が行われるとともに、他のプレイヤーの端末装置14(外部ネットワーク)である他端末とサーバー装置12の間で通信が行われることにより、最大で4組のパーティーすなわち16体のキャラクターが共通のオブジェクト空間に配置され、共通のオブジェクト空間に配置された1体の敵キャラクターあるいは複数の敵キャラクターと戦うことができるように構成されている。
特に本実施形態では、マルチプレイヤーのクエストとして、共通のオブジェクト空間におけるマップ上に複数の敵拠点と1つの自拠点が配置され、複数の敵拠点から複数の経路のそれぞれに沿って自拠点に向かって次々に進軍して来る敵キャラクター群と戦って、自拠点を防衛するいわゆるディフェンスゲームが実行されるように構成されている。
図3は、本実施形態のゲームプログラムによりスマートフォンのタッチパネルディスプレイの表示領域200に表示されるディフェンスゲームのゲーム画像の例を示す図である。図3に示すように、ディフェンスゲームのゲーム画像では、表示領域200の下半分の中央部に、自端末のプレイヤーキャラクターが表示され、自端末のプレイヤーキャラクターの周辺に、自端末の第1ノンプレイヤーキャラクター、第2ノンプレイヤーキャラクター、第3ノンプレイヤーキャラクターが表示される。図3の例では、自端末のプレイヤーキャラクターとしてキャラクターCが表示され、自端末の第1ノンプレイヤーキャラクターとしてキャラクターYが、自端末の第2ノンプレイヤーキャラクターとしてキャラクターKが、自端末の第3ノンプレイヤーキャラクターとしてキャラクターIが表示されている。
また図3の例では、ディフェンスゲームに4人のプレイヤーが参加することにより、共通のオブジェクト空間に4組のパーティーが配置されているが、プレイヤーのパーティーの左奥側に、他のプレイヤーの1組のパーティーが表示されているものの、その他のプレイヤーの2組のパーティーは、図3においては自端末の表示範囲内に存在しないため表示されていない。
そして本実施形態では、複数の敵キャラクターにより1つの敵小隊が形成され、複数の敵拠点のそれぞれから敵小隊が次々に自拠点に向かって進軍して来るようになっており、図3の例では、プレイヤーのパーティーの右奥側に、敵小隊の中心となる1体の敵小隊長キャラクターと、敵小隊長キャラクターよりも小さい4体の敵小隊員キャラクターが表示されている。
また表示領域200の右上部には、マップにおける自拠点の位置、並びに各端末のプレイヤーのパーティーおよび各敵小隊の現在の位置を部分的に示す円形の概略マップ202が表示される。そしてプレイヤーが概略マップ202をタップすると、概略マップ202に表示されるマップの位置が変化し、マップにおける自拠点の位置、並びに各端末のプレイヤーのパーティーおよび各敵小隊の現在の位置を確認することができるようになっている。図3の例では、概略マップ202に、自端末の表示範囲内に存在しない敵小隊の位置を示す概略敵小隊表示204が表示されている。
また概略マップ202の右下部には、ディフェンスゲームの制限時間の残り時間を表示する残り時間表示206が表示される。
また表示領域200の左上部には、自端末のプレイヤーキャラクターのヒットポイントと、自端末の第1ノンプレイヤーキャラクターのヒットポイントと、自端末の第2ノンプレイヤーキャラクターのヒットポイントと、自端末の第3ノンプレイヤーキャラクターのヒットポイントのそれぞれを示す自端末HP表示208が表示される。図3の例では、自端末HP表示208に、キャラクターCのヒットポイントと、キャラクターYのヒットポイントと、キャラクターKのヒットポイントと、キャラクターIのヒットポイントが表示されている。
また表示領域200の上部には、防衛対象である自拠点のヒットポイントを示す自拠点HP表示210が表示される。
そして表示領域200の下部には、複数のスキルボタン212が表示され、プレイヤーが複数のスキルボタン212のいずれかをタップすると、タップされたスキルボタン212の種類に応じて、自端末のキャラクターが特殊な攻撃を行ったり、自端末のキャラクターのヒットポイントを回復させたりするなど、自端末のキャラクターが特殊な行動を行うように制御される。
そしてプレイヤーが、スキルボタン212などのGUIが表示されている領域以外の表示領域200を、スワイプするとプレイヤーキャラクターが移動し、タップするとプレイヤーキャラクターが攻撃動作を行い、複数のスキルボタン212のいずれかをタップすると、タップしたスキルボタン212に対応するプレイヤーキャラクターあるいはノンプレイヤーキャラクターが対応する特殊な行動を行うように制御される。
詳細には本実施形態では、GUIが表示されている領域以外の表示領域200をプレイヤーがスワイプすると、スワイプの方向に基づいて、プレイヤーキャラクターの向きおよび移動方向が決定され、スワイプの距離に基づいて、プレイヤーキャラクターの移動速度が決定される。そして、GUIが表示されている領域以外の表示領域200をプレイヤーがタップすると、その時点におけるプレイヤーキャラクターの向きに基づいて、プレイヤーキャラクターの攻撃方向が決定される。
そして、プレイヤーキャラクターが移動すると、自端末の第1ノンプレイヤーキャラクター〜第3ノンプレイヤーキャラクターのそれぞれが、基本的にはプレイヤーキャラクターに追従するように移動しつつ、自動的に敵キャラクターに攻撃動作を行うように制御される。そして、敵キャラクターも自動的に移動したり各プレイヤーのパーティーに攻撃動作を行ったりするように制御される。
そして、敵キャラクターの攻撃が自端末のプレイヤーキャラクター、第1ノンプレイヤーキャラクター〜第3ノンプレイヤーキャラクターのいずれかにヒットしたと判定されると、敵キャラクターの攻撃がヒットしたキャラクターのヒットポイントが減少するように自端末HP表示208が更新される。
また本実施形態では、敵小隊は基本的には自拠点に向かって自動的に移動するように制御され、敵小隊が自拠点に到達すると、敵キャラクターが自動的に自拠点に攻撃動作を行うように制御される。
そして、敵キャラクターの攻撃が自拠点にヒットしたと判定されると、自拠点のヒットポイントが減少するように自拠点HP表示210が更新される。
一方、自端末のパーティーまたは他端末のパーティーの攻撃が敵キャラクターにヒットしたと判定されると、自端末のパーティーまたは他端末のパーティーの攻撃がヒットした敵キャラクターのヒットポイントが減少するように更新されるが、本実施形態では、敵小隊長キャラクターや敵小隊員キャラクターのヒットポイントを示す表示は表示されない。
そして本実施形態では、ヒットポイントが0になった敵小隊長キャラクターや敵小隊員キャラクターは、オブジェクト空間から消去されるが、敵小隊長キャラクターのヒットポイントが0になると、敵小隊員キャラクターが残存していても、その敵小隊を撃破したと判定される。そして、敵小隊が撃破されると、撃破された敵小隊が出現した敵拠点から新たな敵小隊が出現し、自拠点に向かって移動するように制御される。
そして、敵拠点から敵小隊が出現した回数がその敵拠点について予め定められた回数に達すると、その敵拠点から出現した敵小隊が撃破されても、その敵拠点からは新たな敵小隊が出現しなくなる。すなわち本実施形態では、各マップについて出現可能な敵小隊の数が予め定められている。図3の例では、マップ上に4個の敵拠点が設定されており、各敵拠点から敵小隊が出現する回数はいずれも3回に設定されているため、合計で12個の敵小隊が出現可能となっている。
そして本実施形態では、そのマップについて予め定められている出現可能な全ての敵小隊が撃破されると、図示しない敵大将キャラクターが出現し、敵大将キャラクターのヒットポイントが0になると、ディフェンスゲームに勝利したとしてクエストをクリアすることができるようになっている。
また本実施形態では、全ての敵小隊を撃破することができなくても、自拠点のヒットポイントが0になる前に制限時間が経過した場合には、ディフェンスゲームに勝利したとしてクエストをクリアすることができるようになっている。
そして本実施形態では、ヒットポイントが0になったプレイヤーキャラクターやノンプレイヤーキャラクターも、オブジェクト空間から消去されるが、プレイヤーキャラクターのヒットポイントが0になっても、いずれかのノンプレイヤーキャラクターが残存していれば、ディフェンスゲームが継続される。そして、パーティーに属する全てのキャラクターのヒットポイントが0になるか、自拠点のヒットポイントが0になると、ディフェンスゲームに敗北したとしてクエストをクリアすることができないようになっている。
なお本実施形態では、マルチプレイヤーのディフェンスゲームに参加しているいずれかのプレイヤーの端末装置14がホスト端末として設定され、ホスト端末における敵小隊長キャラクターの位置、ヒットポイント、存在有無(生死)、行動モード、敵小隊員キャラクターのヒットポイント、存在有無等に関する情報が、ホスト端末からサーバー装置12に送信され、更にサーバー装置12からホスト端末以外の端末装置14に送信されることにより、マルチプレイヤーのディフェンスゲームに参加している複数の端末装置14の間で同期されている。
図4は、本実施形態のディフェンスゲームのマップの一例の俯瞰図である。図4に示すように、本実施形態のマップでは、各端末のパーティーおよび敵小隊が移動可能な移動可能領域220が設定されており、移動可能領域220以外の領域は、各端末のパーティーおよび敵小隊が進入することができないようになっている。そして図4の例では、マップの左下部の移動可能領域220に自拠点オブジェクト222が配置されている。
そして、マップの中央部の移動可能領域220には、第1敵小隊が出現するポイントである第1敵拠点224−1、第2敵小隊が出現するポイントである第2敵拠点224−2、第3敵小隊が出現するポイントである第3敵拠点224−3および第4敵小隊が出現するポイントである第4敵拠点224−4の4つの敵拠点が配置されている。なお本実施形態では、第1敵拠点224−1〜第4敵拠点224−4のそれぞれには、敵拠点のオブジェクトは設けられていない。
また、マップの中央部の移動可能領域220とマップの上部の移動可能領域220の接続部分には、各端末のパーティーおよび敵小隊がマップの中央部の移動可能領域220からマップの上部の移動可能領域220に移動できないように遮蔽オブジェクト226が設けられており、制限時間内に全ての敵小隊が撃破されると、遮蔽オブジェクト226が消去され、各端末のパーティーがマップの上部の移動可能領域220に移動することができるようになり、敵大将キャラクターと戦うことができるようになっている。なお、マップの上部の移動可能領域220にも敵拠点が設けられることがあり、この場合には、マップの上部の移動可能領域220の敵拠点から出現した敵小隊は、遮蔽オブジェクト226を通過して、マップの上部の移動可能領域220からマップの中央部の移動可能領域220に移動することができるようになっている。すなわち遮蔽オブジェクト226は、一方からは通過することができないが、他方からは通過することができるようになっている。
そして本実施形態のマップでは、ディフェンスゲームの開始時である初期状態では、図5(A)に示すように、第1敵拠点224−1から自拠点オブジェクト222に至る実線が、第1敵小隊に対応する第1経路228−1として設定されており、図5(B)に示すように、第2敵拠点224−2から自拠点オブジェクト222に至る実線が、第2敵小隊に対応する第2経路228−2として設定されており、図6(A)に示すように、第3敵拠点224−3から自拠点オブジェクト222に至る実線が、第3敵小隊に対応する第3経路228−3として設定されており、図6(B)に示すように、第4敵拠点224−4から自拠点オブジェクト222に至る実線が、第4敵小隊に対応する第4経路228−4として設定されている。
すなわち本実施形態では、1つのマップに初期状態の長さが異なる複数の経路が設定されている。
ここで、図5(A)〜図6(B)のそれぞれにおける地点P1は、第1経路228−1〜第4経路228−4の通過点となっているが、移動可能領域220が分断されており、初期状態では各端末のパーティーおよび敵小隊が通過できないようになっている。しかし地点P1には、図示しないが、跳ね橋が上げられた状態の第1跳ね橋オブジェクトが設けられており、プレイヤーキャラクターが第1跳ね橋オブジェクトの袂に設けられているスイッチオブジェクトに対する攻撃をヒットさせると、第1跳ね橋オブジェクトの跳ね橋が下りて移動可能領域220が接続され、各端末のパーティーおよび敵小隊が第1跳ね橋オブジェクトを渡ることができるように、すなわち地点P1を含む部分を通過できるようになっている。
なお本実施形態では、跳ね橋が下りると再び上がることがないようになっているが、スイッチオブジェクトに対する攻撃がヒットするごとに、跳ね橋が下りたり上がったりして、各端末のパーティーおよび敵小隊が通過できるようになったり通過できないようになったりするようにしてもよい。
また図6(A)および図6(B)のそれぞれにおける地点P2も、移動可能領域220が分断されており、初期状態では各端末のパーティーおよび敵小隊が通過できないようになっている。しかし地点P2には、図示しないが、跳ね橋が上げられた状態の第2跳ね橋オブジェクトが設けられており、プレイヤーキャラクターが第2跳ね橋オブジェクトの袂に設けられているスイッチオブジェクトに対する攻撃をヒットさせると、第2跳ね橋オブジェクトの跳ね橋が下りて移動可能領域220が接続され、各端末のパーティーおよび敵小隊が第2跳ね橋オブジェクトを渡ることができるように、すなわち地点P2を含む部分を通過できるようになっている。
そして第3経路228−3および第4経路228−4については、第2跳ね橋オブジェクトの跳ね橋が下ろされると、第3敵小隊または第4敵小隊が第2跳ね橋オブジェクトを渡るように、すなわち地点P2を含む破線部分の経路を通過するように経路が変更される。
また図6(B)における地点P3も、移動可能領域220が分断されており、初期状態では各端末のパーティーおよび敵小隊が通過できないようになっている。しかし地点P3には、図示しないが、跳ね橋が上げられた状態の第3跳ね橋オブジェクトが設けられており、プレイヤーキャラクターが第3跳ね橋オブジェクトの袂に設けられているスイッチオブジェクトに対する攻撃をヒットさせると、第3跳ね橋オブジェクトの跳ね橋が下りて移動可能領域220が接続され、各端末のパーティーおよび敵小隊が第3跳ね橋オブジェクトを渡ることができるように、すなわち地点P3を含む部分を通過できるようになっている。
そして第4経路228−4については、第3跳ね橋オブジェクトの跳ね橋が下ろされると、第4敵小隊が第3跳ね橋オブジェクトを渡るように、すなわち地点P3を含む破線部分の経路を通過するように経路が変更される。
ここで本実施形態では、第4経路228−4については、第2跳ね橋オブジェクトの跳ね橋が下ろされ、かつ第3跳ね橋オブジェクトの跳ね橋も下ろされた状態では、第3跳ね橋オブジェクトが優先され、第4敵小隊が地点P3を含む破線部分の経路を通過するように経路が変更される。従って本実施形態では、第3跳ね橋オブジェクトの跳ね橋が下ろされた後に、第2跳ね橋オブジェクトの跳ね橋が下ろされたとしても、第4敵小隊が地点P2を含む破線部分の経路を通過するように経路が変更されることはない。
図7は、経路の変更の詳細を説明するための図である。図7では、図6(A)で示した第3経路228−3を例に挙げて説明する。図7に示すように、本実施形態のマップには、敵小隊が敵拠点から自拠点オブジェクト222に向かって移動する際に経由する複数の経由ポイントが設定されており、敵拠点の近傍に設定された経由ポイント1を先頭とし、自拠点オブジェクト222の近傍に設定された経由ポイント17を末尾として順序が定められている。そして、順序(値)が連続する2つの経由ポイントを端点とする線分の集合により経路が構成されている。
図7の例では、初期状態の経由ポイントとして、経由ポイント1〜経由ポイント17までの17個の経由ポイントが設定されており、経由ポイント1〜経由ポイント17までの17個の経由ポイントを順に結んだ線分の集合により、初期状態の第3経路228−3が構成されている。
また本実施形態では、上述したように、跳ね橋が下ろされることにより経路が変更される経路変更イベントが発生する経路が存在するが、このような経路では、経路変更イベント発生時に移動目標として設定される経路変更時の経由ポイントが設定されている。図7の第3経路228−3の例では、第2跳ね橋オブジェクトに対応する地点P2に、経路変更時の経由ポイントとして、経由ポイント3aと経由ポイント3bが設定されている。
そして本実施形態では、敵小隊長キャラクターにいずれかの経路が予め対応づけられており、敵拠点から敵小隊が出現すると、出現した敵小隊の敵小隊長キャラクターに対応づけられている経路の先頭の経由ポイントが、敵小隊長キャラクターの移動目標として設定され、敵小隊長キャラクターが移動目標に向かって自動的に移動するように制御される。なお、敵拠点から敵小隊が出現した場合に、出現した敵小隊の敵小隊長キャラクターに最も近い経由ポイントが、敵小隊長キャラクターの移動目標として設定されるようにしてもよい。そして本実施形態では、複数の敵小隊員キャラクターが敵小隊長キャラクターに追従して自動的に移動するように制御される。そして本実施形態では、複数の経由ポイントのそれぞれに次の経由ポイントが対応づけられており、敵小隊長キャラクターが移動目標である経由ポイントに到達すると、到達した経由ポイントに対応づけられている次の経由ポイントが、その敵小隊の敵小隊長キャラクターの移動目標として設定される。
図7の例では、第3敵拠点224−3から第3敵小隊が出現すると、先頭の経由ポイントである経由ポイント1が第3敵小隊の敵小隊長キャラクターの移動目標として設定される。そして、敵小隊長キャラクターが経由ポイント1に到達すると、経由ポイント1に次の経由ポイントとして対応づけられている経由ポイント2が移動目標として設定される。
そして図7の例では、経由ポイント3は、第2跳ね橋オブジェクトの袂に対応する位置に設定されており、次の経由ポイントとして、初期状態の経由ポイントである経由ポイント4と、経路変更時の経由ポイントである経由ポイント3aが対応づけられている分岐ポイントとなっている。
そして、分岐ポイントである経由ポイント3には、第2跳ね橋オブジェクトの跳ね橋が下ろされるという経路変更イベントが対応づけられている。そして、経由ポイント3に対応する経路変更イベントが発生していない場合には、経由ポイント3に対応する経路変更フラグがOFFに設定され、経由ポイント3に対応する経路変更イベントが発生している場合には、経由ポイント3に対応する経路変更フラグがONに設定される。
そして図7の例では、敵小隊長キャラクターが経由ポイント3に到達すると、経由ポイント3に対応する経路変更フラグがOFFに設定されている場合には、初期状態の経由ポイントである経由ポイント4が移動目標として設定され、敵小隊長キャラクターが経由ポイント4に到達すると、経由ポイント4に次の経由ポイントとして対応づけられている経由ポイント5が移動目標として設定されることにより、第2跳ね橋オブジェクトを渡らない初期状態の第3経路228−3に沿って敵小隊長キャラクターが移動するように制御される。
一方、経由ポイント3に対応する経路変更フラグがONに設定されている場合には、経路変更時の経由ポイントである経由ポイント3aが移動目標として設定され、敵小隊長キャラクターが経由ポイント3aに到達すると、経由ポイント3aに次の経由ポイントとして対応づけられている経由ポイント3bが移動目標として設定され、敵小隊長キャラクターが経由ポイント3bに到達すると、経由ポイント3bに次の経由ポイントとして対応づけられている経由ポイント11が移動目標として設定され、敵小隊長キャラクターが経由ポイント11に到達すると、経由ポイント11に次の経由ポイントとして対応づけられている経由ポイント12が移動目標として設定されることにより、第2跳ね橋オブジェクトを渡る経路変更時の第3経路228−3に沿って敵小隊長キャラクターが移動するように制御される。
また図示しないが、図6(B)で示した第4経路228−4については、先頭の経由ポイントが分岐ポイントとなっており、次の経由ポイントとして、初期状態の経由ポイントと、経路変更時の経由ポイントが対応づけられている。
そして、図6(B)で示した第4経路228−4については、分岐ポイントである先頭の経由ポイントは、第3跳ね橋オブジェクトの近傍に設定されているわけではないが、分岐ポイントである先頭の経由ポイントには、第3跳ね橋オブジェクトの跳ね橋が下ろされるという経路変更イベントが対応づけられている。そして、先頭の経由ポイントに対応する経路変更イベントが発生していない場合には、先頭の経由ポイントに対応する経路変更フラグがOFFに設定され、先頭の経由ポイントに対応する経路変更イベントが発生している場合には、先頭の経由ポイントに対応する経路変更フラグがONに設定される。
そして、敵小隊長キャラクターが先頭の経由ポイントに到達すると、先頭の経由ポイントに対応する経路変更フラグがOFFに設定されている場合には、初期状態の経由ポイントが移動目標として設定され、先頭の経由ポイントに対応する経路変更フラグがONに設定されている場合には、経路変更時の経由ポイントが移動目標として設定される。
このように本実施形態では、敵小隊長キャラクターが移動目標として設定された経由ポイントに到達するごとに、到達した経由ポイントに対応づけられている次の経由ポイントが敵小隊長キャラクターの移動目標として設定されることにより、敵小隊長キャラクターが自拠点オブジェクト222に向かって自動的に移動するように制御される。
そして本実施形態では、敵小隊長キャラクターが分岐ポイントに到達した時点で、分岐ポイントに対応する経路変更フラグがOFFに設定されている場合には、初期状態の経由ポイントが敵小隊長キャラクターの移動目標として設定され、分岐ポイントに対応する経路変更フラグがONに設定されている場合には、経路変更時の経由ポイントが敵小隊長キャラクターの移動目標として設定されることにより、経路変更イベントが発生すると、敵小隊長キャラクターが変更後の経路に沿って自拠点オブジェクト222に向かって自動的に移動するように制御される。
このように本実施形態では、1つのマップに初期状態における長さが異なる複数の経路が設定され、かつ1つのマップに設定されている複数の経路の中には、長さが変化することがある経路が存在するようになっている。
そして本実施形態では、初期状態では敵小隊の行動を規定する行動モードが、移動目標に向かって自動的に移動する進軍モードに設定されるが、敵小隊長キャラクターを中心とする所定範囲内にいずれかの端末のプレイヤーキャラクター、いずれかのノンプレイヤーキャラクターまたは自拠点オブジェクト222が存在する場合には、敵小隊の行動モードが、所定範囲内に存在するプレイヤーキャラクター、ノンプレイヤーキャラクターまたは自拠点オブジェクト222に向かって自動的に移動および攻撃動作を行う戦闘モードに設定される。
なお本実施形態では、進軍モードである場合の方が戦闘モードである場合よりも、敵小隊長キャラクターおよび敵小隊員キャラクターの移動速度が速くなるように、敵小隊長キャラクターおよび敵小隊員キャラクターの移動が制御される。
また本実施形態では、敵小隊が戦闘モードになっても、特定種類の敵小隊員キャラクターは、戦闘モードにならずに進軍モードのまま移動目標に向かって移動を続けるように制御される。また、上述した遮蔽オブジェクト226により区切られているマップの上部の移動可能領域220に存在する敵小隊長キャラクターおよび敵小隊員キャラクターは、敵小隊長キャラクターの所定範囲内にプレイヤーキャラクター等が存在しても、遮蔽オブジェクト226を通過してマップの中央部の移動可能領域220に進入するまで戦闘モードに設定されないようになっている。
また本実施形態では、敵小隊長キャラクターのヒットポイントが0になると、残存する敵小隊員キャラクターは戦闘モードに固定され、所定範囲内に存在するプレイヤーキャラクター、ノンプレイヤーキャラクターまたは自拠点オブジェクト222に向かって自動的に移動および攻撃動作を行うが、所定範囲内にいずれかの端末のプレイヤーキャラクター、いずれかのノンプレイヤーキャラクターまたは自拠点オブジェクト222が存在しない場合には、敵小隊長キャラクターのヒットポイントが0になった位置の近傍に待機するように制御される。
そして本実施形態では、戦闘モードに設定された敵小隊長キャラクターの位置が、最後に到達した経由ポイントから所定距離離れた場合には、進軍モードに設定される。そして本実施形態では、戦闘モードから進軍モードに再設定された場合には、敵小隊長キャラクターは、経路に戻らずに、進軍モードに再設定された時点における位置から移動目標に自動的に移動するように制御される。
ここで本実施形態のディフェンスゲームでは、複数の敵拠点から複数の経路のそれぞれに沿って自拠点オブジェクト222に向かって次々に進軍して来る複数の敵小隊と戦って自拠点オブジェクト222を防衛するために、マップにおける自拠点オブジェクト222の位置、並びに各端末のプレイヤーのパーティーおよび各敵小隊の現在の位置を把握できるようにすることが望ましいが、図3に示すように、スマートフォンの表示領域200では、概略マップ202を表示させるために広い領域を確保することができず、マップにおける自拠点オブジェクト222の位置、並びに各端末のプレイヤーのパーティーおよび各敵小隊の現在の位置を全体的に概略マップ202に表示させることが困難となっている。
そこで本実施形態では、表示領域200の中央上部に、自拠点オブジェクト222と、複数の経路のそれぞれを移動する敵小隊の位置関係を示す敵位置ゲージ250が表示されるようにしている。詳細には本実施形態の敵位置ゲージ250は、敵位置ゲージ250の左端において自拠点オブジェクト222を示す自拠点表示252と、自拠点表示252から右方に伸びる直線状の基準経路表示254と、複数の経路のそれぞれにおける敵小隊長キャラクターの位置に対応させて基準経路表示254に沿って移動する敵位置表示256を含む。図3の例では、敵位置ゲージ250には、第3敵小隊に対応する第3敵位置表示256−3と、第4敵小隊に対応する第4敵位置表示256−4が表示されている。
以下では、敵位置表示256の表示制御の詳細について説明する。本実施形態では、1フレームごとに、マップに設定されている複数の経路のそれぞれについて、敵位置ゲージ250における敵位置表示256の表示位置が求められるが、まずは、マップに設定されている複数の経路のそれぞれについて、初期状態の経路の距離と、変更後の経路が存在する場合には変更後の経路の距離が取得される。
詳細には本実施形態では、初期状態の経路に含まれる全ての経由ポイントについて、初期状態の経路の先頭の経由ポイントから順に、次の経由ポイントまでの距離が求められてこれらが加算されることにより、すなわち初期状態の経路に含まれる順序が連続する2つの経由ポイントを端点とする線分の長さの合計が求められることにより、初期状態の経路の距離が取得される。
また、変更後の経路に含まれる全ての経由ポイントについて、変更後の経路の先頭の経由ポイントから順に、次の経由ポイントまでの距離が求められてこれらが加算されることにより、すなわち変更後の経路に含まれる順序が連続する2つの経由ポイントを端点とする線分の長さの合計が求められることにより、変更後の経路の距離が取得される。
そして、取得された全ての初期状態の経路の距離および変更後の経路の距離のうちの最大距離が取得される。すなわち、マップに設定されている最も長い経路の距離が取得される。
すると、マップに設定されている複数の経路のうち敵小隊長キャラクターが存在する経路について、敵小隊長キャラクターから自拠点オブジェクト222までの残りの距離が取得される。
詳細には本実施形態では、経路変更フラグの状態に関わらず、敵小隊長キャラクターの移動目標として初期状態の経由ポイントが設定されている場合には、移動目標として設定されている初期状態の経由ポイント以降の順序の初期状態の経由ポイントのそれぞれについて、順序が先の経由ポイントから順に、次の経由ポイントまでの距離が求められてこれらが加算される。すなわち、初期状態の経路のうち敵小隊長キャラクターが通過していない部分に含まれる順序が連続する2つの経由ポイントを端点とする線分の長さの合計が求められる。そして、このようにして求めた値に、敵小隊長キャラクターから移動目標として設定されている初期状態の経由ポイントまでの距離が更に加算されることにより、敵小隊長キャラクターから自拠点オブジェクト222までの残りの距離が取得される。
例えば、図7に示す第3経路228−3において、第3敵小隊の敵小隊長キャラクターの移動目標として、初期状態の経由ポイントである経由ポイント3が設定されている場合には、経由ポイント3以降の順序の初期状態の経由ポイントである経由ポイント3、経由ポイント4、経由ポイント5、・・・経由ポイント17のそれぞれを端点とする線分の長さの合計に、敵小隊長キャラクターの位置と経由ポイント3を端点とする線分の長さが加算されることにより、敵小隊長キャラクターから自拠点オブジェクト222までの残りの距離が取得される。
また、第3敵小隊の敵小隊長キャラクターの移動目標として初期状態の経由ポイントである経由ポイント4が設定されている場合には、経由ポイント4以降の順序の初期状態の経由ポイントである経由ポイント4、経由ポイント5、経由ポイント6、・・・経由ポイント17のそれぞれを端点とする線分の長さの合計に、敵小隊長キャラクターの位置と経由ポイント4を端点とする線分の長さが加算されることにより、敵小隊長キャラクターから自拠点オブジェクト222までの残りの距離が取得される。
また、第3敵小隊の敵小隊長キャラクターの移動目標として、初期状態の経由ポイントである経由ポイント11が設定されている場合には、経由ポイント11以降の順序の初期状態の経由ポイントである経由ポイント11、経由ポイント12、経由ポイント13、・・・経由ポイント17のそれぞれを端点とする線分の長さの合計に、敵小隊長キャラクターの位置と経由ポイント11を端点とする線分の長さが加算されることにより、敵小隊長キャラクターから自拠点オブジェクト222までの残りの距離が取得される。
また、第3敵小隊の敵小隊長キャラクターの移動目標として、初期状態の経由ポイントである経由ポイント17が設定されている場合には、経由ポイント17以降の順序の初期状態の経由ポイントは経由ポイント17のみであるため線分の長さの合計が0となり、0に敵小隊長キャラクターの位置と経由ポイント17を端点とする線分の長さが加算されることにより、敵小隊長キャラクターから自拠点オブジェクト222までの残りの距離が取得される。
つまり本実施形態では、敵小隊長キャラクターの移動目標として初期状態の経由ポイントが設定されている場合には、敵小隊長キャラクターが初期状態の経路に沿って移動する場合における敵小隊長キャラクターから自拠点オブジェクト222までの残りの距離が取得される。
一方、敵小隊長キャラクターの移動目標として経路変更時の経由ポイントが設定されている場合には、移動目標として設定されている経路変更時の経由ポイント以降の順序の経路変更時の経由ポイントあるいは初期状態の経由ポイントのそれぞれについて、順序が先の経由ポイントから順に、次の経由ポイントまでの距離が求められてこれらが加算される。すなわち、変更後の経路のうち敵小隊長キャラクターが通過していない部分に含まれる順序が連続する2つの経由ポイントを端点とする線分の長さの合計が求められる。そして、このようにして求めた値に、敵小隊長キャラクターから移動目標として設定されている経路変更時の経由ポイントまでの距離が更に加算されることにより、敵小隊長キャラクターから自拠点オブジェクト222までの残りの距離が取得される。
例えば、図7に示す第3経路228−3において、第3敵小隊の敵小隊長キャラクターの移動目標として、経路変更時の経由ポイントである経由ポイント3aが設定されている場合には、経由ポイント3a以降の順序の経路変更時の経由ポイントである経由ポイント3a、経由ポイント3b、初期状態の経由ポイントである経由ポイント11、・・・経由ポイント17のそれぞれを端点とする線分の長さの合計に、敵小隊長キャラクターの位置と経由ポイント3aを端点とする線分の長さが加算されることにより、敵小隊長キャラクターから自拠点オブジェクト222までの残りの距離が取得される。
つまり本実施形態では、敵小隊長キャラクターの移動目標として経路変更時の経由ポイントが設定されている場合には、敵小隊長キャラクターが変更後の経路に沿って移動する場合における敵小隊長キャラクターから自拠点オブジェクト222までの残りの距離が取得される。
すると本実施形態では、取得された最大距離と、取得された残りの距離に基づいて、各経路の敵小隊長キャラクターについて、図3で示した基準経路表示254における敵位置表示256の表示位置が求められる。
詳細には本実施形態では、各経路の敵小隊長キャラクターについて取得された残りの距離を、取得された最大距離で除算することにより、各経路の敵小隊長キャラクターについて最大距離と残りの距離の比が求められる。そして、各経路の敵小隊長キャラクターについて求められた最大距離と残りの距離の比に基づいて、各経路の敵小隊長キャラクターに対応する敵位置表示256の表示位置が求められる。
例えば、各経路の敵小隊長キャラクターの残りの距離を最大距離で除算した結果に基準経路表示254の長さを乗算することにより、各経路の敵小隊長キャラクターに対応する敵位置表示256の表示位置が求められる。なお、基準経路表示254の長さを最大距離で除算することにより、単位距離あたりの基準経路表示254の長さが求められ、基準経路表示254の長さを最大距離で除算した結果に各経路の敵小隊長キャラクターに対応する残りの距離を乗算することにより、各経路の敵小隊長キャラクターに対応する敵位置表示256の表示位置が求められるようにしてもよい。
ここで本実施形態では、基準経路表示254の左端は、自拠点オブジェクト222の近傍に設けられている末尾の経由ポイントの位置に対応し、基準経路表示254の右端は、最大距離の経路における敵拠点の近傍に設けられている先頭の経由ポイントの位置に対応しているため、残りの距離が小さい敵小隊長キャラクターについては、基準経路表示254における敵位置表示256の表示位置が基準経路表示254の左端に近くなるように、すなわち自拠点表示252に近くなるように求められ、残りの距離が大きい敵小隊長キャラクターについては、基準経路表示254における敵位置表示256の表示位置が基準経路表示254の右端に近くなるように、すなわち自拠点表示252から遠くなるように求められる。
そして本実施形態では、1フレームごとに、各経路の敵小隊長キャラクターについて求められた敵位置表示256の表示位置に基づいて、基準経路表示254上に、各経路の敵小隊長キャラクターに対応する敵位置表示256が表示される。
例えば図4に示すマップでディフェンスゲームが実行される場合には、図5(A)に示す自拠点オブジェクト222への経路が最も短い第1敵拠点224−1近傍の先頭の経由ポイントの位置は、図8(A)に示す基準経路表示254上の点X1に対応しているため、図5(A)に示す第1敵拠点224−1から第1敵小隊が出現すると、図8(A)に示す点X1の近傍に第1敵位置表示256−1が出現する。
また、図5(B)に示す自拠点オブジェクト222への経路が2番目に短い第2敵拠点224−2近傍の先頭の経由ポイントの位置は、図8(A)に示す基準経路表示254上の点X2に対応しているため、図5(B)に示す第2敵拠点224−2から第2敵小隊が出現すると、図8(A)に示す点X2の近傍に第2敵位置表示256−2が出現する。
また、図6(A)に示す自拠点オブジェクト222への経路が3番目に短い第3敵拠点224−3近傍の先頭の経由ポイントの位置は、図8(A)に示す基準経路表示254上の点X3の近傍に対応しているため、図6(A)に示す第3敵拠点224−3から第3敵小隊が出現すると、図8(A)に示す点X3の近傍に第3敵位置表示256−3が出現する。
また、図6(B)に示す自拠点オブジェクト222への経路が最も長い第4敵拠点224−4近傍の先頭の経由ポイントの位置は、図8(A)に示す基準経路表示254上の点X4、すなわち基準経路表示254の右端に対応しているが、第4敵小隊が第4敵拠点224−4に出現した時点における第4小隊の敵小隊長キャラクターの残りの距離は、敵小隊長キャラクターから先頭の経由ポイントまでの距離の分だけ最大距離よりも大きいため、敵位置表示256の表示位置が基準経路表示254の範囲を超えてしまう。そのため本実施形態では、このような場合には、敵位置表示256の表示位置を最大値である基準経路表示254の右端に設定する。従って、図6(B)に示す第4敵拠点224−4から第4敵小隊が出現すると、図8(A)に示す点X4に第4敵位置表示256−4が出現する。
そして本実施形態では、各敵位置表示256が出現する場合には、各敵位置表示256が出現する位置において、各敵位置表示256が跳ねるようなアニメーションが表示されてから、基準経路表示254上のそれぞれの出現位置に表示されるようになっている。なお本実施形態では、第1敵小隊〜第4敵小隊のそれぞれが最初に出現するタイミングはランダムに制御されるため、図8(A)の例で示したように、第1敵位置表示256−1〜第4敵位置表示256−4のそれぞれが同時に出現することはほとんどないようになっている。
そして、図5(A)〜図6(B)に示す第1経路228−1〜第4経路228−4のそれぞれに沿って、第1敵小隊〜第4敵小隊のそれぞれが自拠点オブジェクト222に向かって進軍モードで移動すると、図8(B)に示すように、第1敵位置表示256−1〜第4敵位置表示256−4のそれぞれも、基準経路表示254上を自拠点表示252に向かって移動するように表示される。本実施形態では、進軍モードの移動速度は各敵小隊で一定かつ同一であるため、第1敵位置表示256−1〜第4敵位置表示256−4のそれぞれも一定かつ同一の速度で、基準経路表示254上を自拠点表示252に向かって移動するように表示される。
そして、いずれかの敵小隊が戦闘モードになった場合には、戦闘モードでは敵小隊長キャラクターが経路に沿わずにプレイヤーキャラクターを追いかけるように移動し、かつ進軍モードよりも移動速度が遅くなるため、戦闘モードになった敵小隊に対応する敵位置表示256は、基準経路表示254上をゆっくりと右往左往するように表示される。
そして本実施形態では、例えば第1敵小隊が戦闘モードになった場合には、図8(C)に示すように、第1敵小隊に対応する第1敵位置表示256−1の周囲に火花が散るようなアニメーションが表示される。また、例えば第2敵小隊が戦闘モードになった末に第2敵小隊の敵小隊長キャラクターのヒットポイントが0になったことにより第2敵小隊が撃破された場合には、図8(C)に示すように、第2敵位置表示256−2が燃えた後に消滅するようなアニメーションが表示される。また、例えば第3敵小隊が自拠点オブジェクト222に到達し、自拠点オブジェクト222を攻撃している場合には、図8(C)に示すように、第3敵位置表示256−3が自拠点表示252に対して繰り返し衝突するようなアニメーションが表示される。そして、第3敵小隊の攻撃が自拠点オブジェクト222にヒットすると、自拠点表示252が点滅するように表示され、自拠点オブジェクト222のヒットポイントが減少するように自拠点HP表示210が更新される。
また本実施形態では、図7の例で説明したように、敵小隊長キャラクターが分岐ポイントである経由ポイント3に到達すると、経由ポイント3に対応する経路変更フラグがONに設定されている場合には、経路変更時の経由ポイントである経由ポイント3aが移動目標として設定されることにより、敵小隊長キャラクターが変更後の経路に沿って自拠点オブジェクト222に向かって自動的に移動するように制御される。
そして、敵小隊長キャラクターの移動目標として、分岐ポイントでもあるが初期状態の経由ポイントでもある経由ポイント3が設定されている場合には、敵小隊長キャラクターが初期状態の経路に沿って移動する場合における残りの距離が取得される一方で、経路変更時の経由ポイントである経由ポイント3aが設定されている場合には、敵小隊長キャラクターが変更後の経路に沿って移動する場合における残りの距離が取得される。
従って本実施形態では、分岐ポイントに対応する経路変更フラグがONに設定されている場合には、敵小隊長キャラクターが分岐ポイントに到達する前後の1フレームで、取得される残りの距離が急激に小さくなるため、分岐ポイントに到達した敵小隊長キャラクターに対応する敵位置表示256の表示位置も、図8(D)において破線で示す第3敵位置表示256−3のように、急激に自拠点表示252に近づくように変化する。
そこで本実施形態では、1フレームで敵位置表示256の表示位置の変化が所定値以上となる場合には、図8(D)において実線で示す第3敵位置表示256−3のように、急激な変化の前の敵位置表示256の表示位置と、現在の敵位置表示256の表示位置を補間する位置に、敵位置表示256を表示させる処理が所定フレームにわたって行われることにより、敵位置表示256が滑らかに移動するようにしている。
こうして本実施形態の敵位置ゲージ250では、各経路の敵小隊長キャラクターについて求められた最大距離と残りの距離の比に基づいて、各経路の敵小隊長キャラクターに対応する敵位置表示256が、複数の経路に共通の基準経路表示254に沿って移動するように表示されることにより、マップにおける自拠点オブジェクト222と、各経路の敵小隊長キャラクターの位置関係を容易に把握することができる。
更に本実施形態の敵位置ゲージ250では、各経路の敵小隊長キャラクターに対応する敵位置表示256が、複数の経路に共通の基準経路表示254上で、オブジェクト空間におけるゲーム状況に対応するアニメーションを行うように表示されることにより、オブジェクト空間における各経路のゲーム状況も容易に把握することができる。
以下では、本実施形態の情報処理部100で行われる処理の流れを、図9〜図11のフローチャートを用いて説明する。
図9は、表示制御部104に含まれるオブジェクト制御部が行う行動モード設定処理の流れを示すフローチャートである。図9に示す行動モード設定処理では、オブジェクト制御部は、敵小隊が出現したか否か判断し(ステップS100)、敵小隊が出現したと判断すると(ステップS100でY)、出現した敵小隊の行動モードを進軍モードに設定する(ステップS102)。
そして、フレームが更新されると(ステップS104でY)、敵小隊が撃破されていないか否か判断し(ステップS106)、敵小隊が撃破された場合に(ステップS106でN)、処理を終了するが、敵小隊が撃破されていない場合に(ステップS106でY)、敵小隊の行動モードが進軍モードか否か判断する(ステップS108)。
そして、敵小隊の行動モードが進軍モードである場合に(ステップS108でY)、プレイヤーキャラクター等が所定範囲内に存在するか否か判断し(ステップS110)、プレイヤーキャラクター等が所定範囲内に存在する場合に(ステップS110でY)、敵小隊の行動モードを戦闘モードに設定する(ステップS112)。
一方、敵小隊の行動モードが戦闘モードである場合には(ステップS108でN)、最後に到達した経由ポイントから所定距離離れたか否か判断し(ステップS114)、最後に到達した経由ポイントから所定距離離れた場合に(ステップS114でY)、敵小隊の行動モードを進軍モードに設定する(ステップS116)。
図10は、表示制御部104に含まれるオブジェクト制御部が行う移動目標設定処理の流れを示すフローチャートである。図10に示す移動目標設定処理では、オブジェクト制御部は、敵小隊が出現したか否か判断し(ステップS120)、敵小隊が出現したと判断すると(ステップS120でY)、先頭の経由ポイントを移動目標に設定する(ステップS122)。
そして、フレームが更新されると(ステップS124でY)、移動目標に到達したか否か判断し(ステップS126)、移動目標に到達した場合に(ステップS126でY)、到達した移動目標が末尾の経由ポイントでないか否か判断する(ステップS128)。
そして、到達した移動目標が末尾の経由ポイントである場合に(ステップS128でN)、処理を終了するが、到達した移動目標が末尾の経由ポイントでない場合に(ステップS128でY)、到達した移動目標が分岐ポイントでないか否か判断する(ステップS130)。
そして、到達した移動目標が分岐ポイントでない場合に(ステップS130でY)、次の経由ポイントを移動目標に設定する(ステップS132)。一方、到達した移動目標が分岐ポイントである場合に(ステップS130でN)、経路変更フラグがOFFに設定されているか否か判断する(ステップS134)。
そして、経路変更フラグがOFFに設定されている場合に(ステップS134でY)、初期状態の経由ポイントを移動目標に設定する(ステップS136)。一方、経路変更フラグがONに設定されている場合に(ステップS134でN)、経路変更時の経由ポイントを移動目標に設定する(ステップS138)。
図11は、表示制御部104に含まれる位置表示制御部が行う表示位置決定処理の流れを示すフローチャートである。図11に示す表示位置決定処理では、位置表示制御部は、フレームが更新されると(ステップS140でY)、マップにヒットポイントが0以上の敵小隊長キャラクターが存在するか否か判断し(ステップS141)、ヒットポイントが0以上の敵小隊長キャラクターが存在する場合に(ステップS141でY)、複数の経路のそれぞれについて、初期状態の経路の距離と変更後の経路の距離を取得し(ステップS142)、取得した全ての経路の距離のうちの最大距離を取得する(ステップS144)。
すると、マップにヒットポイントが0以上で存在する敵小隊長キャラクターのうち、出現した順に付与される番号が最小である敵小隊長キャラクターを処理対象に設定し(ステップS146)、処理対象の敵小隊長キャラクターの移動目標が初期状態の経由ポイントか否か判断する(ステップS150)。
そして、処理対象の敵小隊長キャラクターの移動目標が初期状態の経由ポイントである場合に(ステップS150でY)、処理対象の敵小隊長キャラクターが初期状態の経路を移動する場合の敵小隊長キャラクターから自拠点オブジェクト222までの残りの距離を取得する(ステップS152)。
一方、処理対象の敵小隊長キャラクターの移動目標が初期状態の経由ポイントでない場合に(ステップS150でN)、処理対象の敵小隊長キャラクターが変更後の経路を移動する場合の敵小隊長キャラクターから自拠点オブジェクト222までの残りの距離を取得する(ステップS154)。
そして、最大距離と残りの距離に基づいて、処理対象の敵小隊長キャラクターに対応する敵位置表示256の表示位置を求める(ステップS156)。
すると、マップにヒットポイントが0以上で存在する敵小隊長キャラクターのうち、まだ処理対象となっていない未処理の敵小隊長キャラクターが存在するか否か判断し(ステップS158)、未処理の敵小隊長キャラクターが存在しない場合に(ステップS158でN)、処理を終了するが、未処理の敵小隊長キャラクターが存在する場合に(ステップS158でY)、次に番号が小さい敵小隊長キャラクターを処理対象に設定し(ステップS160)、ステップS148に戻る。
そして、未処理の敵小隊長キャラクターが存在しなくなるまでステップS160からステップS158の処理を繰り返す。
3.変形例
本発明は、上記の実施形態で説明したものに限らず、種々の変形実施が可能であり、以下に変形例を紹介する。なお、上記実施形態や、以下において変形例として説明する各種の手法は、本発明を実現する手法として適宜組み合わせて採用することができる。
まず上記実施形態では、敵小隊の行動モードが進軍モードである場合に、敵小隊長キャラクターを中心とする所定範囲内にプレイヤーキャラクター等が存在する場合に、敵小隊の行動モードが戦闘モードに設定される例を挙げて説明したが、敵小隊長キャラクターおよび複数の敵小隊員キャラクターのそれぞれを中心とする所定範囲内にプレイヤーキャラクター等が存在する場合に、敵小隊の行動モードが戦闘モードに設定されるようにしてもよい。
また上記実施形態では、戦闘モードから進軍モードに再設定された場合には、進軍モードに再設定された時点における敵小隊員キャラクターの位置から、移動目標に自動的に移動するように制御される例を挙げて説明したが、進軍モードに再設定された時点における敵小隊員キャラクターの位置から、前回の進軍モードでの最後の位置に戻った後に、移動目標に自動的に移動するように制御されるようにしてもよい。
また上記実施形態では、1フレームごとに、全ての初期状態の経路の距離および変更後の経路の距離のうちの最大距離が取得される例を挙げて説明したが、経路変更イベント発生時に最大距離が取得されるようにしてもよい。
また、経路が変更されることがないようにしつつ、マップに最大距離が対応づけられているようにし、オブジェクト空間にマップを配置する際に、マップに対応づけられている最大距離が取得されるようにしてもよい。
また上記実施形態では、経路変更イベントが発生すると、経路が短くなる例を挙げて説明したが、経路変更イベントが発生すると、経路が長くなるようにしてもよい。この場合には、経路が変更されると最大距離が変化することがあるようにしてもよい。
そして、最大距離が変化した場合には、基準経路表示254の長さが変化せずに基準経路表示254において各敵位置表示256が出現する位置が変化するようにしてもよいし、基準経路表示254の長さが延長されるようにしてもよい。
また上記実施形態では、経路変更フラグがONに設定されている場合には、敵小隊長キャラクターが分岐ポイントに到達することにより、経路変更時の経由ポイントが移動目標として設定されると、敵小隊長キャラクターが変更後の経路に沿って移動する場合における残りの距離が取得される例を挙げて説明したが、ある経路の分岐ポイントに対応する経路変更フラグがONに設定されてから、最初に敵小隊長キャラクターがその分岐ポイントに到達することにより、その敵小隊長キャラクターの移動目標として経路変更時の経由ポイントが設定されると、その後はその経路の敵拠点から出現する敵小隊の敵小隊長キャラクターについては、出現した時点から敵小隊長キャラクターが変更後の経路に沿って移動する場合における残りの距離が取得されるようにしてもよい。従ってこの例では、その経路の敵拠点から出現する敵小隊の敵小隊長キャラクターに対応する敵位置表示256が出現する基準経路表示254上の位置が変化するようにしてもよい。
また、ある経路の分岐ポイントに対応する経路変更フラグがONに設定されると、敵小隊長キャラクターがその分岐ポイントに到達する前であっても、その敵小隊長キャラクターについては、敵小隊長キャラクターが変更後の経路に沿って移動する場合における残りの距離が取得されるようにしてもよい。従ってこの例では、ある経路の分岐ポイントに対応する経路変更フラグがONに設定された時点で、その経路にその分岐ポイントに到達する前の敵小隊長キャラクターが存在する場合には、その敵小隊長キャラクターに対応する敵位置表示256の表示位置が急激に変化するため、図8(D)で示した例と同様に敵位置表示256が滑らかに移動するようにしてもよい。そしてこの例では、経路変更フラグがONに設定された後にその経路の敵拠点から出現する敵小隊の敵小隊長キャラクターについては、出現した時点から敵小隊長キャラクターが変更後の経路に沿って移動する場合における残りの距離が取得されるようにしてもよい。そしてこの例でも、その経路の敵拠点から出現する敵小隊の敵小隊長キャラクターに対応する敵位置表示256が出現する基準経路表示254上の位置が変化するようにしてもよい。
また上記実施形態では、マップ上に複数の敵拠点と1つの自拠点が配置され、複数の敵拠点から複数の経路のそれぞれに沿って敵小隊が自拠点に向かって移動する例を挙げて説明したが、マップ上に1つの敵拠点と1つの自拠点が配置され、1つの敵拠点から複数の経路のそれぞれに沿って敵小隊が自拠点に向かって移動するようにしてもよい。そしてこの例では、各経路を移動する敵小隊に対応する敵位置表示256が出現する基準経路表示254上の位置は同一であるが、基準経路表示254上を移動する速度が異なるようにしてもよい。
また上記実施形態では、ある敵拠点から出現した敵小隊が撃破されると、撃破された敵小隊が出現した敵拠点から新たな敵小隊が出現する例を挙げて説明したが、ある敵拠点から出現した敵小隊が撃破される前であっても、その敵拠点から新たな敵小隊が出現するようにしてもよい。すなわち、1つの経路に同時に複数の敵小隊が存在することがあるようにしてもよい。