図1を参照して、本発明の一実施例に係る情報処理システムについて説明する。図1に示すように、当該情報処理システムの一例である情報処理システム1は、複数の情報処理装置3およびサーバ200が、ネットワーク100を介して接続されて構築される。
情報処理装置3は、無線または有線通信を用いて、ネットワーク100に接続可能に構成され、サーバ200との間でクライアント−サーバシステムを構成している。例えば、情報処理装置3は、所定のアプリケーション(例えば、ゲームアプリケーション)の実行が可能である。また、情報処理装置3は、上記所定のアプリケーションを実行することによって、ネットワーク100を介して、サーバ200と接続を確立して、サーバ200との通信が可能となる。例えば、情報処理装置3は、交換可能なメモリカードや光ディスク等の記憶媒体内に記憶され、または、他の装置から受信した情報処理プログラムを実行可能である。情報処理装置3は、一般的なパーソナルコンピュータ、据置型ゲーム機、スマートフォン等の携帯電話機、携帯ゲーム機、PDA(Personal Digital Assistant)等のデバイスであってもかまわない。また、情報処理装置3がそれぞれゲームアプリケーションを実行する場合、情報処理システム1は、ゲームシステムとして機能することができる。
次に、図2を参照して、情報処理装置3について説明する。なお、図2は、情報処理装置3の構成の一例を示すブロック図である。図2において、情報処理装置3は、制御部31、記憶部32、プログラム格納部33、入力部34、表示部35、および通信部36を備える。なお、情報処理装置3は、制御部31を少なくとも含む情報処理装置と他の装置とを含む1以上の装置によって構成されてもよい。
制御部31は、各種の情報処理を実行するための情報処理手段(コンピュータ)であり、例えばCPUである。例えば、制御部31は、各種の情報処理として、上記アプリケーションを実行して、後述するゲーム処理やサーバ200を介したデータ送受信処理等を実行する機能を有し、CPUが所定のプログラムを実行することによって、制御部31における各機能が実現される。
記憶部32は、制御部31が上記情報処理を実行する際に用いる各種のデータを記憶する。記憶部32は、例えばCPU(制御部31)がアクセス可能なメモリである。
プログラム格納部33は、プログラムを記憶(格納)する。プログラム格納部33は、制御部31がアクセス可能な記憶装置(記憶媒体)であればどのようなものであってもよい。例えば、プログラム格納部33は、制御部31を含む情報処理装置内に設けられる記憶装置であってもよいし、制御部31を含む情報処理装置に着脱自在に装着される記憶媒体であってもよい。また、プログラム格納部33は、制御部31とネットワークを介して接続される記憶装置(サーバ等)であってもよい。制御部31(CPU)は、ゲームプログラムの一部または全部を適宜のタイミングで記憶部32に読み出し、読み出されたプログラムを実行するようにしてもよい。
入力部34は、ユーザによって操作可能な入力装置である。入力部34はどのような入力装置であってもよい。
表示部35は、制御部31の指示にしたがって画像を表示する。なお、情報処理装置3が据置型のゲーム装置やパーソナルコンピュータで構成される場合、表示部35が情報処理装置3と別体で構成されることもあり得る。
通信部36は、所定の通信モジュールによって構成され、ネットワーク100を介して他の機器(例えば、サーバ200)との間でデータを送受信したり、他の情報処理装置3との間でデータを送受信したりする。
次に、図3を参照して、サーバ200について説明する。なお、図3は、サーバ200の構成の一例を示すブロック図である。
サーバ200は、通信部201、制御部202、および記憶部203を有している。通信部201は、通信パケットの送受信を行うことで、ネットワーク100を介して情報処理装置3等と通信を行う。制御部202は、情報処理装置3との間で行われるゲーム進行の管理、ユーザに提供するゲームマップ(ゲームフィールド)を管理する処理、課金に関する情報を管理する処理のほか、通信部201を介して情報処理装置3等との通信リンクを確立し、ネットワーク100におけるデータ搬送制御や経路選択を行う。また、制御部202は、複数の情報処理装置3との間でゲームを行う場合、当該ゲームを行う情報処理装置3の組み合わせや当該情報処理装置3の間のデータ通信の管理を行う。記憶部203は、制御部202で実行されるプログラム、上記処理に必要な各種データ、情報処理装置3との通信に必要な各種データ等が記憶される。なお、ネットワーク100を用いたデータ送受信に所定のログイン処理が必要なシステムである場合、当該ログインしようとしているユーザが正規のユーザか否かを判別する認証処理をサーバ200において行ってもかまわない。また、サーバ200は、単一のサーバマシンから構成されてもいいし、複数のサーバマシンによって構成されてもよい。
次に、サ−バ200に接続して情報処理装置3が行う具体的な処理を説明する前に、図4〜図10を用いて情報処理システム1において行われる処理の概要について説明する。なお、図4は、情報処理装置3において行われる対戦ゲームで用いられるゲームマップ(ゲームフィールド)の一例を示す図である。図5は、ゲームマップに自軍攻撃設備オブジェクトAOa、自軍防御設備オブジェクトDOa、および自軍防御プレイヤオブジェクトDObが配置された一例を示す図である。図6は、敵軍の防衛マップを用いて、自軍攻撃設備オブジェクトAOaおよび自軍攻撃プレイヤオブジェクトAObが攻撃する一例を示す図である。図7は、自軍の防衛マップを用いて、敵攻撃設備オブジェクトEOaおよび敵攻撃プレイヤオブジェクトEObからの攻撃を防御する一例を示す図である。図8は、自軍の防衛マップを用いて、自軍防御設備オブジェクトDOaおよび自軍防御プレイヤオブジェクトDObと自軍攻撃設備オブジェクトAOaおよび自軍攻撃プレイヤオブジェクトAObとが模擬対戦する一例を示す図である。図9は、ユーザが対戦相手を攻撃した際に当該ユーザのレートパラメータが増減する一例を示す図である。図10は、ユーザが対戦相手からの攻撃を防御した際に当該ユーザのレートパラメータが増減する一例を示す図である。なお、以下の説明では、情報処理装置3において実行するアプリケーションの一例として対戦ゲームを行うアプリケーションを用いているが、情報処理装置3において他のゲームを行うアプリケーションやゲーム以外のアプリケーションを実行してもかまわない。
図4を参照して、情報処理装置3において行われる対戦ゲームで用いられるゲームマップ例を説明する。本実施例における対戦ゲームは、ゲームマップを用いて、ユーザが所有する複数オブジェクトをゲームに登場させて対戦相手である他のユーザのオブジェクトと戦うことができる。一例として、本実施例では、ユーザが攻撃オブジェクトを操作するプレイヤターン(攻撃側ターン)と対戦相手であるコンピュータが他のユーザが設定した防御キャラクタを制御して動作させる相手ターン(防御側ターン)とを交互に繰り返すターン制によって、攻撃オブジェクトと防御オブジェクトとの間の対戦ゲームが行われる。例えば、ユーザは、プレイヤターン中に入力部34を操作することによって、ゲームマップ上に配置された複数の攻撃オブジェクトを操作することができ、俯瞰視点から見たゲームマップが表示部35に表示される。上記ゲームマップは、例えば2次元マップであり、ユーザが所有するオブジェクトを配置可能な領域が格子状に複数形成されている。一例として、上記領域は、ユーザが所有する1つのオブジェクトを配置可能であり、8行6列(行1r〜行8r、列1c〜列6c)の格子状に複数形成されている。
情報処理装置3のユーザは、上記対戦ゲームのメニューにおいて「マップ編集」を選択することによって、ゲームマップを編集することが可能となる。上記ゲームマップは、対戦相手である他のユーザのオブジェクトからの攻撃を防御する防御用オブジェクトを配置するための防衛マップ領域DApと、対戦相手である他のユーザのオブジェクトを攻撃する攻撃用オブジェクトを配置するための攻撃マップ領域AApとを有している。図4の例では、防衛マップ領域DApは、上記格子状領域における1行目〜6行目(行1r〜行6r)に設定されている。また、攻撃マップ領域AApは、上記格子状領域における8行目(行8r)に設定されている。そして、防衛マップ領域DApと攻撃マップ領域AApとの間となる上記格子状領域における7行目(行7r)には、マップ編集においてはオブジェクトを配置できない中立マップ領域NApが設定されている。なお、後述により明らかとなるが、中立マップ領域NApは、対戦ゲームが行われる際にはユーザの攻撃用オブジェクト(具体的には、自軍攻撃プレイヤオブジェクトAOb)が配置可能な攻撃マップ領域として機能する。そして、情報処理装置3のユーザは、ユーザ自身が所有するプレイヤオブジェクトや設備オブジェクトを防衛マップ領域DApおよび攻撃マップ領域AApに配置することによって、ゲームマップを編集することができる。なお、本実施例では、第1領域の一例として攻撃マップ領域AApを用いており、第2領域の一例として防衛マップ領域DApを用いている。
情報処理装置3のユーザは、複数種類用意されている地形から、対戦に用いる地形を選択することによってマップ編集を行うゲームマップを選択することができる。一例として、上記ゲームマップは、選択された地形に応じて、森、山、池、壁等の地形オブジェクトNが配置されており、マップ編集では地形オブジェクトN上にユーザ自身が所有するプレイヤオブジェクトや設備オブジェクトを配置できない。また、地形オブジェクトNは、対戦ゲーム中においても侵入や攻撃ができないプレイヤオブジェクトが設定されている。
図5に示すように、上記ゲームマップの防衛マップ領域DApに配置できるオブジェクトとしては、ユーザ自身が所有する設備オブジェクトおよびプレイヤオブジェクトがある。そして、ユーザ自身が所有する設備オブジェクトが防衛マップ領域DApに配置されることによって、当該設備オブジェクトが自軍防御設備オブジェクトDOaとして機能する。また、ユーザ自身が所有するプレイヤオブジェクトが防衛マップ領域DApに配置されることによって、当該プレイヤオブジェクトが自軍防御プレイヤオブジェクトDObとして機能する。そして、自軍防御設備オブジェクトDOaおよび自軍防御プレイヤオブジェクトDObは、他のユーザのオブジェクト(攻撃オブジェクト)と対戦した場合に、自軍の陣地を守る防御オブジェクトとなる。なお、本実施例では、第2配置手段によって配置された防御オブジェクトの一例として自軍防御設備オブジェクトDOaおよび自軍防御プレイヤオブジェクトDObを用いている。
例えば、自軍防御設備オブジェクトDOaには、所定範囲に配置されている他のユーザのオブジェクト(攻撃オブジェクト)にダメージを与えたり所定範囲に配置されている自軍のオブジェクト(防御オブジェクト)の能力上昇/回復させたりして防御力を強化する建物や兵器オブジェクト、侵入した他のユーザのオブジェクト(攻撃オブジェクト)にダメージを与えたり移動量を制限したりする罠オブジェクト、およびオブジェクトの侵入を妨害する妨害オブジェクト等がある。一例として、図4および図5に例示されているように、マップ編集を行うための表示画面には、ユーザ自身が所有する設備オブジェクトを呼び出してゲームマップ上(防衛マップ領域DAp上)に配置するための「設備配置」操作ボタンBが設けられており、当該「設備配置」操作ボタンBを選択する操作が行われることによって、ユーザ自身が所有する設備オブジェクトからゲームマップ上(防衛マップ領域DAp上)に配置するものを選択することができる。
また、自軍防御設備オブジェクトDOaには、自軍のオブジェクトを攻撃する他のユーザのオブジェクトによって対戦中に破壊された場合に、他のユーザに特典が与えられる建物オブジェクト(例えば、図5における行1r列1cおよび行1r列6cにそれぞれ配置されている自軍防御設備オブジェクトDOa)が含まれていてもよい。一例として、上記特典が与えられる自軍防御設備オブジェクトDOaが対戦中に破壊された場合、ユーザが対戦ゲームの攻撃側として参加するために必要な参加パラメータ(例えば、エナジーパラメータ)の所定量が、当該破壊に成功したユーザに与えられてもかまわない。一例として、上記破壊に成功したユーザに与えられる所定量は、当該ユーザの評価値(例えば、後述するレートパラメータ)に応じて算出されてもよく、当該ユーザの評価値が高いほど当該ユーザに与えられる量が多くなるように算出されてもよい。なお、他の例として、上記特典が与えられる自軍防御設備オブジェクトDOaが対戦中に破壊された場合、上記特典に加えて、上記参加パラメータの所定量が当該破壊されたユーザから奪われてもかまわない。
自軍防御設備オブジェクトDOaは、防衛マップ領域DAp内における地形オブジェクトN上を除いて、マップ編集中であればユーザ操作(例えば、タッチパネルに対するドラッグ操作)に応じて移動(例えば、ドラッグ移動)させて再配置することができる。しかしながら、自軍防御設備オブジェクトDOaは、防衛マップ領域DAp内において防御用のオブジェクトとして機能するため、攻撃マップ領域AAp内や中立マップ領域NAp内に移動させることはできない。
また、防衛マップ領域DAp内に自軍防御設備オブジェクトDOaとして配置するための設備オブジェクトは、マップ編集中に新たに生成したり、レベルアップさせたりすることができる。一例として、図4および図5に例示されているように、マップ編集を行うための表示画面には、設備オブジェクトを生成またはレベルアップするための「設備生成・強化」操作ボタンBが設けられており、当該「設備生成・強化」操作ボタンBを選択する操作が行われることによって、新たにユーザ自身が所有する設備オブジェクトを追加したり、ユーザ自身が所有する設備オブジェクトまたはゲームマップ上(防衛マップ領域DAp上)に配置されている設備オブジェクトをレベルアップしたりすることができる。
自軍防御プレイヤオブジェクトDObは、他のユーザのオブジェクト(攻撃オブジェクト)と戦闘するプレイヤオブジェクト(ゲームキャラクタ)であり、ユーザが所有するキャラクタから複数(例えば、4体)選択されて地形オブジェクトN上を除く防衛マップ領域DApに配置される。ここで、自軍防御プレイヤオブジェクトDObが配置可能な領域は、防衛マップ領域DAp内でさらに制限されてもかまわない。例えば、自軍防御プレイヤオブジェクトDObの配置可能領域は、防衛マップ領域DAp内の1行目(行1r)および2行目(行2r)に制限されてもよい。これによって、ゲームマップ内における自軍防御プレイヤオブジェクトDObと攻撃オブジェクトとの間に距離を空けることが可能となり、対戦開始時にいきなり対戦相手から攻撃を受けるような状況を避けることができる。また、自軍防御プレイヤオブジェクトDObとして選択されるキャラクタは、マップ編集前にユーザが所有するキャラクタから予め選択されていてもよいし、マップ編集の際にユーザが所有するキャラクタから選択可能であってもよい。
本実施例におけるゲームに登場する自軍防御プレイヤオブジェクトDObには、対戦相手となる他のユーザの攻撃オブジェクトと戦闘する際の複数の能力値が設定されている。例えば、各プレイヤオブジェクトには、HP(ヒットポイント:致死攻撃力)、攻撃力、守備力、速さ、魔法防御力等を示す能力値がそれぞれ設定されている。そして、自軍防御プレイヤオブジェクトDObは、上記能力値に応じて他のユーザの攻撃オブジェクトを攻撃したり、他のユーザの攻撃オブジェクトからの攻撃を防御したり、ゲームマップ上を移動したりすることができ、HPの値が閾値まで低下(例えば、HPが0まで低下)した場合にゲームマップ上から消滅する。
自軍防御プレイヤオブジェクトDObは、防衛マップ領域DAp内における地形オブジェクトN上を除いて、マップ編集中であればユーザ操作(例えば、タッチパネルに対するドラッグ操作)に応じて移動(例えば、ドラッグ移動)させて再配置することができる。しかしながら、自軍防御プレイヤオブジェクトDObは、防衛マップ領域DAp内において防御用のオブジェクトとして機能するため、攻撃マップ領域AAp内や中立マップ領域NAp内に移動させることはできない。
図5に示すように、マップ編集において上記ゲームマップの攻撃マップ領域AApに配置できるオブジェクトとしては、ユーザ自身が所有する設備オブジェクトがある。そして、ユーザ自身が所有する設備オブジェクトが攻撃マップ領域AApに配置されることによって、当該設備オブジェクトが自軍攻撃設備オブジェクトAOaとして機能する。そして、自軍攻撃設備オブジェクトAOaは、他のユーザのオブジェクト(防御オブジェクト)と対戦した場合に、敵軍の陣地を攻撃する攻撃オブジェクトとなる。なお、本実施例では、第1配置手段によって配置された攻撃オブジェクトの一例として自軍攻撃設備オブジェクトAOaを用いている。
例えば、自軍攻撃設備オブジェクトAOaには、所定範囲に配置されている他のユーザのオブジェクト(防御オブジェクト)にダメージを与えたり所定範囲に配置されている自軍のオブジェクト(攻撃オブジェクト)の能力上昇/回復させたりして攻撃力を強化する建物や兵器オブジェクト等がある。一例として、図4および図5に例示されているように、マップ編集を行うための表示画面には、ユーザ自身が所有する設備オブジェクトを呼び出してゲームマップ上(攻撃マップ領域AAp上)に配置するための「設備配置」操作ボタンBが設けられており、当該「設備配置」操作ボタンBを選択する操作が行われることによって、ユーザ自身が所有する設備オブジェクトからゲームマップ上(攻撃マップ領域AAp上)に配置するものを選択することができる。
自軍攻撃設備オブジェクトAOaは、地形オブジェクトN上を除いて、マップ編集中であれば攻撃マップ領域AAp内でユーザ操作(例えば、タッチパネルに対するドラッグ操作)に応じて移動(例えば、ドラッグ移動)させて再配置することができる。しかしながら、自軍攻撃設備オブジェクトAOaは、攻撃マップ領域AAp内において攻撃用のオブジェクトとして機能するため、防衛マップ領域DAp内や中立マップ領域NAp内に移動させることはできない。
ここで、図4および図5から明らかなように、攻撃マップ領域AAp内には、ユーザ自身が所有するプレイヤオブジェクトや設備オブジェクトを配置できない地形オブジェクトNが配置されていない。つまり、防衛マップ領域DApには地形オブジェクトNによる防御オブジェクトの配置制限が設定されているが、攻撃マップ領域AApには地形オブジェクトNによる攻撃オブジェクトの配置制限がないことになる。このように、攻撃マップ領域AApには攻撃オブジェクトの配置制限がないために、対戦相手がどのようなマップ(例えば、後述する防衛マップ領域DAe)を用いたとしても攻撃オブジェクトの事前の配置を維持したまま対戦を行うことができる。また、ユーザが攻撃オブジェクトを配置するための攻撃マップ領域AApは、ユーザが防御オブジェクトを配置するための防衛マップ領域DApとの重複がないため、ユーザにとってわかりやすく表示することができる。さらに、攻撃マップ領域AApと防衛マップ領域DApとの間に攻撃オブジェクトや防御オブジェクトを配置できない中立マップ領域NApを設けることによって、さらに攻撃部隊と防御部隊との区別が容易になるとともに、図5に例示するように中立マップ領域NApに攻撃マップ領域および防衛マップ領域の場所をそれぞれ示す標識を表示することができる。
また、攻撃マップ領域AAp内に自軍攻撃設備オブジェクトAOaとして配置するための設備オブジェクトも、マップ編集中に新たに生成したり、レベルアップさせたりすることができる。一例として、図4および図5に例示されているように、マップ編集を行うための表示画面に設けられている「設備生成・強化」操作ボタンBを選択する操作が行われることによって、新たにユーザ自身が所有する設備オブジェクトを追加したり、ユーザ自身が所有する設備オブジェクトまたはゲームマップ上(攻撃マップ領域AAp上)に配置されている設備オブジェクトをレベルアップしたりすることができる。
情報処理装置3のユーザによるマップ編集が終了した場合、当該マップ編集されたゲームマップ(定型的には、当該ユーザがマップ編集によって作成した防衛マップ領域DAp)がサーバ200に送信されて記憶部203に一旦記憶されることによって登録される。そして、他の情報処理装置3を操作する他のユーザは、サーバ200にアクセスすることによって、当該他のユーザの攻撃オブジェクトが攻撃側となってサーバ200に登録されているゲームマップ(防衛マップ領域DAp)を攻撃する対戦ゲームが可能となる。
なお、ユーザ自身が所有するプレイヤオブジェクトが攻撃マップ領域AApに配置されることによって、当該プレイヤオブジェクトが自軍攻撃プレイヤオブジェクトAObとして機能するが、マップ編集時においては自軍攻撃プレイヤオブジェクトAObを配置することはできない。後述する他のユーザとの対戦が行われる際や自軍同士の模擬戦が行われる際には、攻撃オブジェクトが配置可能な攻撃マップ領域AApに中立マップ領域NApが変化するため、中立マップ領域NApが攻撃マップ領域AApに変化した以降は、中立マップ領域NApから変化した攻撃マップ領域AApにユーザ自身が所有するプレイヤオブジェクトを自軍攻撃プレイヤオブジェクトAObとして配置することが可能となる。そして、自軍攻撃プレイヤオブジェクトAObは、他のユーザのオブジェクト(防御オブジェクト)と対戦した場合に、敵軍の陣地を攻撃する攻撃オブジェクトとなる。
情報処理装置3のユーザは、上記対戦ゲームのメニューにおいて「他のユーザと対戦する」を選択することによって、編集したゲームマップを用いて他のユーザと対戦することができる。一例として、情報処理装置3のユーザが「他のユーザと対戦する」を選択した場合、当該ユーザの評価値(例えば、後述するレートパラメータ)に応じた参加パラメータ(例えば、エナジーパラメータ)を消費して当該ユーザが攻撃側となって他のユーザとの対戦が可能となる。なお、上記対戦を行うことによって消費される参加パラメータ(エナジーパラメータ)の消費量は、ユーザの評価値(例えば、後述するレートパラメータ)が高いほど、大きな値に設定されてもかまわない。この場合、ユーザが所有している上記参加パラメータ(所有量)が上記対戦で消費する量(消費量)より少ない場合、当該ユーザは攻撃側となって他のユーザとの対戦ができないことになる。また、ユーザが所有する上記参加パラメータは、時間経過によって自然増加したり、他のユーザとの対戦結果(例えば、特典が与えられる防御設備の破壊)によって獲得したりすることが可能であるため、ユーザは、いずれかの手段によって上記参加パラメータを増やして対戦ゲームの攻撃側として参加することになる。
情報処理装置3のユーザが攻撃側として対戦に参加する場合、当該ユーザがマップ編集によって作成した攻撃マップ領域AApに配置された攻撃オブジェクトと、他のユーザがマップ編集によって作成した防衛マップ領域DAeに配置された防御オブジェクトとが1つのゲームマップに合体されて対戦する。具体的には、情報処理装置3のユーザは、上記対戦ゲームのメニューにおいて「他のユーザと対戦する」を選択することによって、上記参加パラメータを消費した上で、他のユーザである対戦相手がサーバ200によってマッチングされて表示される。そして、情報処理装置3のユーザは、サーバ200に登録されている上記対戦相手のゲームマップ(すなわち、他のユーザの防御オブジェクトが配置されている防衛マップ領域DAe)を確認して、当該ユーザの攻撃オブジェクトと当該対戦相手の防御オブジェクトとが対戦する戦闘を開始する。
図6に示すように、情報処理装置3のユーザが攻撃側となって他のユーザと対戦するゲームが開始された場合、情報処理装置3のユーザがマップ編集して攻撃オブジェクトを配置した攻撃マップ領域AAp(および中立マップ領域NAp)と他のユーザがマップ編集して防御オブジェクトを配置した防衛マップ領域DAeとが合体されたゲームマップが、対戦用ゲームマップとして生成される。つまり、事前にマップ編集で攻撃マップ領域AApに配置されたユーザの攻撃オブジェクト(自軍攻撃設備オブジェクトAOa)と、事前にマップ編集で防衛マップ領域DAeに配置された他のユーザの防御オブジェクト(敵防御設備オブジェクトEOcおよび敵防御プレイヤオブジェクトEOd)とが対戦することになる。なお、本実施例では、他のユーザが操作する他の情報処理装置のコンピュータで機能する第2配置手段によって配置された当該他のユーザの防御オブジェクトの一例として敵防御設備オブジェクトEOcおよび敵防御プレイヤオブジェクトEOdを用いている。
情報処理装置3のユーザが他のユーザと対戦するゲームが開始された際に作成されるゲームマップは、中立マップ領域NAp(すなわち、ゲームマップの格子状領域における7行目(行7r))が攻撃マップ領域AApになっている。そして、攻撃側のユーザは、中立マップ領域NApから変化した攻撃マップ領域AApに、当該ユーザ自身が所有するプレイヤオブジェクトを自軍攻撃プレイヤオブジェクトAObとして新たに配置することが可能となる。そして、自軍攻撃プレイヤオブジェクトAObは、他のユーザの防御オブジェクトを攻撃する攻撃オブジェクトとして追加される。つまり、攻撃マップ領域AApに配置されたユーザの自軍攻撃設備オブジェクトAOaや、防衛マップ領域DAeに配置された他のユーザの敵防御設備オブジェクトEOcおよび敵防御プレイヤオブジェクトEOdは、対戦相手を想定することなく事前に設定することが必要となるが、新たに攻撃マップ領域AApに配置するユーザの自軍攻撃プレイヤオブジェクトAObは、対戦相手の陣容を見た上で配置することが可能となる。なお、本実施例では、フィールドに配置された攻撃オブジェクトとは異なる他の攻撃オブジェクトの一例として自軍攻撃プレイヤオブジェクトAObを用いている。
情報処理装置3のユーザが他のユーザとの対戦中は、ユーザが入力部34を用いて所定の操作を行うことによって、プレイヤターン中に操作する操作対象を複数の自軍攻撃プレイヤオブジェクトAObから選択することができる。そして、ユーザは、所定の操作を行うことによって、操作対象となっている自軍攻撃プレイヤオブジェクトAObをゲームマップ上で移動させたり、ゲームマップ上で自軍攻撃プレイヤオブジェクトAObによって対戦相手の防御オブジェクト(敵防御設備オブジェクトEOcおよび敵防御プレイヤオブジェクトEOd)を攻撃したりすることができる。ここで、1回のプレイヤターンにおいてゲームマップ上で自軍攻撃プレイヤオブジェクトAObが移動できる距離が制限されており、ユーザは、プレイヤターン中に当該制限内で自軍攻撃プレイヤオブジェクトAObを移動させることができる。なお、1回のプレイヤターンにおいて自軍攻撃プレイヤオブジェクトAObが移動可能な距離は、当該自軍攻撃プレイヤオブジェクトAObが有する属性や能力毎に設定されてもよい。また、各オブジェクトが配置可能な格子状のマス目でゲームマップが構成されている場合、1回のプレイヤターンにおいてゲームマップ上で自軍攻撃プレイヤオブジェクトAObが移動できる距離がマス目の数で制限されてもよく、自軍攻撃プレイヤオブジェクトAObが有する属性や能力値毎に1〜3マス移動できるように移動可能距離が設定されてもよい。
また、プレイヤターン中において、自軍攻撃プレイヤオブジェクトAObは、対戦相手の防御オブジェクトとの位置関係に応じて当該防御キャラクタを攻撃することができる。例えば、ユーザは、操作対象となっている自軍攻撃プレイヤオブジェクトAObと防御オブジェクトとの位置関係が攻撃可能な距離(例えば、自軍攻撃プレイヤオブジェクトAObと防御オブジェクトとが隣接する位置関係となる距離)である場合、所定の操作を行うことによって当該防御オブジェクトを攻撃することができる。そして、防御オブジェクトが有している生存パラメータ(例えば、ヒットポイント)を自軍攻撃プレイヤオブジェクトAObによる攻撃効果が上回った場合(防御オブジェクトのヒットポイントが0になった場合)、当該防御オブジェクトが倒されたり破壊されたりしてゲームマップ上から消去される。なお、防御オブジェクトを攻撃できる攻撃可能距離は、自軍攻撃プレイヤオブジェクトAObが有する属性や能力値毎に設定されてもよく、ゲームマップ上において自軍攻撃プレイヤオブジェクトAObと防御オブジェクトとが離れている場合であっても、当該攻撃可能距離以内であれば当該防御オブジェクトを攻撃可能に構成されてもよい。例えば、各オブジェクトが配置可能な格子状のマス目でゲームマップが構成されている場合、自軍攻撃プレイヤオブジェクトAObが有する属性や能力値毎に1〜2マス離れた防御オブジェクトを攻撃可能に攻撃可能距離が設定されてもよい。
また、自軍攻撃設備オブジェクトAOaは、プレイヤターン開始時または終了時において、当該自軍攻撃設備オブジェクトAOaが有する効果を自動的にゲームマップ内に生じさせる。例えば、自軍攻撃設備オブジェクトAOaは、所定範囲に配置されている防御オブジェクトにダメージを与えたり、所定範囲に配置されている自軍攻撃プレイヤオブジェクトAObの能力上昇/回復させたりして攻撃力を強化する。
そして、ゲームマップ上に配置されている全ての攻撃オブジェクトの行動(移動、攻撃、防御、待機等)が終了した場合や、ユーザの所定の操作(例えば、ターン終了を指示する「ターン終了」操作ボタンを選択する操作であって、当該操作により全ての攻撃オブジェクトの行動が終了したものとして扱われる)を行った場合、プレイヤターンが終了して相手ターン(防御側ターン)が開始される。例えば、相手ターンでは、制御部31による制御によって、敵防御プレイヤオブジェクトEOdがゲームマップ上で移動したり、ゲームマップ上で敵防御設備オブジェクトEOcや敵防御プレイヤオブジェクトEOdが自軍攻撃設備オブジェクトAOaや自軍攻撃プレイヤオブジェクトAObを攻撃したりする。例えば、敵防御設備オブジェクトEOcや敵防御プレイヤオブジェクトEOdと自軍攻撃プレイヤオブジェクトAObとの位置関係が攻撃可能な距離である場合、制御部31による制御によって敵防御設備オブジェクトEOcや敵防御プレイヤオブジェクトEOdが自軍攻撃プレイヤオブジェクトAObを攻撃することがある。そして、自軍攻撃プレイヤオブジェクトAObが有している生存パラメータ(例えば、ヒットポイント)を敵防御設備オブジェクトEOcや敵防御プレイヤオブジェクトEOdによる攻撃効果が上回った場合(自軍攻撃プレイヤオブジェクトAObのヒットポイントが0になった場合)、当該自軍攻撃プレイヤオブジェクトAObが倒されてゲームマップ上から消去される。また、敵防御設備オブジェクトEOcや敵防御プレイヤオブジェクトEOdと自軍攻撃設備オブジェクトAOaとの位置関係が攻撃可能な距離である場合、制御部31による制御によって敵防御設備オブジェクトEOcや敵防御プレイヤオブジェクトEOdが当該自軍攻撃設備オブジェクトAOaを攻撃することがある。そして、自軍攻撃設備オブジェクトAOaが有している耐久パラメータ(例えば、ヒットポイント)を敵防御設備オブジェクトEOcや敵防御プレイヤオブジェクトEOdによる攻撃効果が上回った場合、当該自軍攻撃設備オブジェクトAOaが破壊されてゲームマップ上における当該自軍攻撃設備オブジェクトAOaの存在を無効にする。
そして、ゲームマップ上に配置されている全ての防御オブジェクトの行動が終了した場合、相手ターンが終了して再度プレイヤターンが開始される。上記対戦ゲームは、このようなプレイヤターンおよび相手ターンを交互に繰り返すことによって進行し、所定回数のターンが行われた時点で終了する。そして、所定回数のターンが行われる時点までに敵防御プレイヤオブジェクトEOdが全滅した場合に、攻撃側、すなわち情報処理装置3のユーザの勝利となり、防御側、すなわち対戦相手である他のユーザの敗北となる。また、所定回数のターンが終了した時点においても敵防御プレイヤオブジェクトEOdの少なくとも1体が残存している場合、防御側、すなわち対戦相手である他のユーザの勝利となり、攻撃側、すなわち情報処理装置3のユーザの敗北となる。
情報処理装置3のユーザは、他のユーザとの対戦相手としてサーバ200によってマッチングされることによって、対戦ゲームの防御側になることもあり得る。情報処理装置3のユーザが防御側として他のユーザとの対戦にマッチングされる場合、情報処理装置3のユーザがマップ編集によって作成してサーバ200に登録された防衛マップ領域DApに配置された防御オブジェクトと、当該他のユーザがマップ編集によって作成した攻撃マップ領域AAeに配置された攻撃オブジェクトとが1つのゲームマップに合体されて対戦ゲームが行われる。
図7に示すように、情報処理装置3のユーザが防御側となって他のユーザと対戦するゲームが開始された場合、情報処理装置3のユーザがマップ編集して防御オブジェクトを配置した防衛マップ領域DApと他のユーザが攻撃オブジェクトを配置した攻撃マップ領域AAeとが合体されたゲームマップが、対戦用ゲームマップとして生成される。つまり、事前にマップ編集で防衛マップ領域DApに配置されたユーザの防御オブジェクト(自軍防御設備オブジェクトDOaおよび自軍防御プレイヤオブジェクトDOb)と、事前にマップ編集で攻撃マップ領域AAeに配置された他のユーザの攻撃オブジェクト(敵攻撃設備オブジェクトEOa)とが対戦することになる。そして、対戦相手である他のユーザが防御オブジェクトを攻撃する攻撃オブジェクトとして敵攻撃プレイヤオブジェクトEObを追加配置することによって、情報処理装置3のユーザが防御側となった対戦ゲームが開始される。なお、情報処理装置3のユーザが防御側となった対戦ゲームは、オブジェクトを操作する主体が変わることを除いて、上述した情報処理装置3のユーザが攻撃側となった対戦ゲームと同様に進行するため、詳細な説明を省略する。すなわち、ゲームマップ上の攻撃オブジェクトは、対戦相手である他のユーザの操作に応じてプレイヤターン(攻撃側ターン)において動作し、情報処理装置3のユーザが事前にマップ編集で設定してサーバ200に登録した防衛マップ領域DAp上の防御オブジェクト(自軍防御設備オブジェクトDOaおよび自軍防御プレイヤオブジェクトDOb)は、制御部31の制御によって相手ターン(防御側ターン)において動作する。
また、情報処理装置3のユーザは、マップ編集時のメニューにおいて「模擬戦」を選択する操作(例えば、図4および図5に例示している「模擬戦」操作ボタンBを選択する操作)を行うことによって、編集中のゲームマップを用いてユーザ自身の防御オブジェクトと攻撃オブジェクトとを対戦させる模擬戦を行うことができる。
図8に示すように、情報処理装置3のユーザが模擬戦を行う場合、当該ユーザがマップ編集によって作成した攻撃マップ領域AApに配置された攻撃オブジェクト(自軍攻撃設備オブジェクトAOa)と、当該ユーザがマップ編集によって作成した防衛マップ領域DApに配置された防御オブジェクト(自軍防御設備オブジェクトDOaおよび自軍防御プレイヤオブジェクトDOb)とが1つのゲームマップにおいて模擬対戦する。そして、模擬戦が選択されると、ユーザは、中立マップ領域NApから変化した攻撃マップ領域AApに、当該ユーザ自身が所有するプレイヤオブジェクトを自軍攻撃プレイヤオブジェクトAObとして新たに配置することが可能となる。そして、自軍攻撃プレイヤオブジェクトAObが当該ユーザの防御オブジェクトを攻撃する攻撃オブジェクトとして追加されることによって、模擬戦が開始される。なお、上記模擬戦は、ユーザ自身のオブジェクトを用いて対戦することを除いて、上述した情報処理装置3のユーザが攻撃側となった対戦ゲームと同様に進行する。すなわち、ゲームマップ上のユーザの攻撃オブジェクト(自軍攻撃設備オブジェクトAOaおよび自軍攻撃プレイヤオブジェクトAOb)は、ユーザ操作に応じてプレイヤターン(攻撃側ターン)において動作し、ゲームマップ上のユーザの防御オブジェクト(自軍防御設備オブジェクトDOaおよび自軍防御プレイヤオブジェクトDOb)は、制御部31の制御によって相手ターン(防御側ターン)において動作する。このように、ユーザ自身がマップ編集した防御オブジェクトと攻撃オブジェクトとを模擬対戦させることによって、防御および攻撃の観点で事前検討が可能となり、対戦相手を想定した最適なオブジェクトの配置を確認することが可能となる。例えば、対戦したことのある他のユーザの防御陣形を模した防衛マップを用いて模擬戦を行うことによって、当該他のユーザに勝利する作戦を練ることも可能となる。
ユーザが他のユーザを対戦相手とした対戦ゲームを行った場合、当該ユーザのレートパラメータが増減する。レートパラメータは、上記対戦ゲームに参加可能な全ユーザを対象として、ユーザ順位を決定するためのパラメータであり、当該対戦ゲームにおけるユーザ毎の習熟度、経験値、ゲームレベル等を推し量るパラメータとなる。以下、攻撃側および防御側がそれぞれ4体のプレイヤオブジェクトを登場させて対戦ゲームを行う際のレートパラメータの増減例を説明する。
例えば、図9に示すように、ユーザが攻撃側となって対戦相手と対戦して、当該ユーザのプレイヤオブジェクト(すなわち、自軍攻撃プレイヤオブジェクトAOb)が全て(例えば、4体)ゲームフィールド上に残存している状態で対戦ゲームに勝利した場合、当該勝利した攻撃側のユーザのレートパラメータが80ポイント増加する。ユーザが攻撃側となって対戦相手と対戦して、当該ユーザの自軍攻撃プレイヤオブジェクトAObがゲームフィールドから1体消滅した状態(例えば、3体残存している状態)で対戦ゲームに勝利した場合、当該勝利した攻撃側のユーザのレートパラメータが60ポイント増加する。ユーザが攻撃側となって対戦相手と対戦して、当該ユーザの自軍攻撃プレイヤオブジェクトAObがゲームフィールドから2体消滅した状態(例えば、2体残存している状態)で対戦ゲームに勝利した場合、当該勝利した攻撃側のユーザのレートパラメータが40ポイント増加する。そして、ユーザが攻撃側となって対戦相手と対戦して、当該ユーザの自軍攻撃プレイヤオブジェクトAObがゲームフィールドから3体消滅した状態(例えば、1体残存している状態)で対戦ゲームに勝利した場合、当該勝利した攻撃側のユーザのレートパラメータが20ポイント増加する。その一方で、ユーザが攻撃側となって対戦相手と対戦して、当該ユーザの自軍攻撃プレイヤオブジェクトAObが全滅して対戦ゲームに敗北した場合、当該敗北した攻撃側のユーザのレートパラメータに変化はない。また、ユーザが攻撃側となって対戦相手と対戦して、所定回数のターンが終了した時点においても敵防御プレイヤオブジェクトEOdの少なくとも1体が残存している場合、攻撃側のユーザの敗北となるが当該敗北した攻撃側のユーザのレートパラメータも変化はない。このように、ユーザが攻撃側となって対戦相手と対戦する場合、当該対戦に勝利した場合に限って当該ユーザが所有するレートパラメータが増加し、勝利した時点で残存している自軍攻撃プレイヤオブジェクトAObが多い程、多くのレートパラメータを取得することができる。
例えば、図10に示すように、ユーザが防御側として対戦ゲームにマッチングされて対戦相手から攻撃され、当該対戦相手のプレイヤオブジェクト(すなわち、敵攻撃プレイヤオブジェクトEOb)が全て(例えば、4体)ゲームフィールド上に残存している状態で対戦ゲームに敗北した場合、当該敗北した防御側のユーザのレートパラメータが80ポイント減少する。ユーザが防御側として対戦ゲームにマッチングされて対戦相手から攻撃され、当該対戦相手の敵攻撃プレイヤオブジェクトEObがゲームフィールドから1体消滅した状態(例えば、3体残存している状態)で対戦ゲームに敗北した場合、当該敗北した防御側のユーザのレートパラメータが60ポイント減少する。ユーザが防御側として対戦ゲームにマッチングされて対戦相手から攻撃され、当該対戦相手の敵攻撃プレイヤオブジェクトEObがゲームフィールドから2体消滅した状態(例えば、2体残存している状態)で対戦ゲームに敗北した場合、当該敗北した防御側のユーザのレートパラメータが40ポイント減少する。そして、ユーザが防御側として対戦ゲームにマッチングされて対戦相手から攻撃され、当該対戦相手の敵攻撃プレイヤオブジェクトEObがゲームフィールドから3体消滅した状態(例えば、1体残存している状態)で対戦ゲームに敗北した場合、当該敗北した防御側のユーザのレートパラメータが20ポイント減少する。その一方で、ユーザが防御側として対戦ゲームにマッチングされて対戦相手から攻撃され、当該対戦相手の敵攻撃プレイヤオブジェクトEObが全滅して対戦ゲームに勝利した場合、当該勝利した防御側のユーザのレートパラメータに変化はない。また、ユーザが防御側として対戦ゲームにマッチングされて対戦相手から攻撃され、所定回数のターンが終了した時点においても自軍防御プレイヤオブジェクトDObの少なくとも1体が残存している場合、防御側のユーザの勝利となるが当該勝利した防御側のユーザのレートパラメータも変化はない。このように、ユーザが防御側となって対戦相手と対戦して、当該対戦に勝利した場合はレートパラメータの増減はないが、当該対戦に敗北すると当該ユーザが所有するレートパラメータが減少し、敗北した時点で残存している敵攻撃プレイヤオブジェクトEObが多い程、多くのレートパラメータを失うことになる。
このように、上記対戦ゲームでは、対戦結果に応じて、攻撃側だけでなく防御側のユーザにもスコア(レートパラメータ)の変動があるため、攻撃側オブジェクトを配置する作戦だけでなく、防御側オブジェクトを配置する作戦も練ることが必要となる。なお、上述したレートパラメータの増減は、攻撃側および防御側のバランスを考慮して、対戦回数に応じて変化させてもかまわない。例えば、図10に例示したレートパラメータの増減例では、ユーザが防御側となった場合にユーザ自身のレートパラメータが減少するだけとなるため、一例として、レートパラメータの減少を抑えるために防衛マップ登録後の所定の対戦回数(例えば、1回)に限って適用し、当該防衛マップを用いた以降の対戦では防御側のレートパラメータの増減がないようにしてもよい。また、他の例として、防御側のユーザが勝利した場合に、当該ユーザのレートパラメータが増加するようにしてもよいし、攻撃側のユーザが敗北した場合に当該ユーザのレートパラメータが減少するようにしてもよい。
なお、情報処理装置3のユーザは、上記対戦ゲームのメニューにおいて「他のユーザと対戦する」を選択した後に当該対戦にマッチングされた対戦相手との対戦を避ける場合、当該対戦をギブアップすることができる。この場合、ユーザは対戦ゲームを行わないが、当該対戦のための参加パラメータ(例えば、エナジーパラメータ)を消費して、対戦ゲームに敗北(すなわち、レートパラメータの増減なし)したことになる。
また、上述した対戦におけるレートパラメータの増減例では、ユーザが防御側となった場合にユーザ自身のレートパラメータが増加する要素がないため、防御側となることを避けることが考えられる。しかしながら、本実施例では、ユーザが攻撃側となる場合に用いられる攻撃マップ領域AApは、当該ユーザが防御側となる場合に用いられる防衛マップ領域DAeと一体的にマップ編集において編成される。したがって、ユーザが攻撃側となって対戦ゲームに参加するためには、攻撃マップ領域AApの編成だけでなく、防衛マップ領域DAeも編成してサーバ200に登録することを参加条件とすることによって、対戦ゲームを希望するユーザの数だけ防御側の防衛マップ領域DAeが登録されることになり、攻撃側と防御側とのバランスを保つことができる。
このように、上述した対戦ゲームでは、攻撃側となるユーザがユーザ操作に応じたマニュアルで攻撃オブジェクトを制御し、防御側となる他のユーザの防御オブジェクトが制御部による自動制御で制御される非同期対戦ゲームが実現される。また、ユーザの攻撃オブジェクトは、ユーザ自身が他のユーザと対戦する際に用いられ、ユーザの防御オブジェクトは、他のユーザの対戦相手としてユーザ自身がマッチングされた場合に用いられるため、それぞれのオブジェクトが登場する場面が異なる。このような前提の非同期対戦ゲームにおいて、他のユーザからの攻撃を防御する防衛マップに防御オブジェクトを予め配置するだけでなく、他のユーザを攻撃するための攻撃マップに攻撃オブジェクトも予め配置したゲームマップを表示画面に表示するため、ユーザは、防御側だけでなく攻撃側の観点も考慮したオブジェクトの配置および確認が可能となり、ゲームが単調となってしまうことを防止することができる。
なお、上述したマップ編集では、ユーザが防衛マップ領域DApに編成している防御オブジェクト(自軍防御設備オブジェクトDOaおよび自軍防御プレイヤオブジェクトDOb)と、ユーザが攻撃マップ領域AAp(および中立マップ領域NAp)に編成している攻撃オブジェクト(自軍攻撃設備オブジェクトAOa)とを含むゲームマップ全体を表示部35に表示しているが、上記マップ編集において当該ゲームマップの一部が表示部35に表示されてもよい。例えば、ユーザが防衛マップ領域DApに編成している防御オブジェクトが表示部35の表示画面内に表示され、ユーザが攻撃マップ領域AApに編成している攻撃オブジェクトが表示部35の表示画面外に配置されている状態で、ユーザの画面スクロール操作に応じて攻撃オブジェクトが表示部35の表示画面内に表示されるものであってもよい。また、表示部35が複数の表示画面を有している場合、上記ゲームマップを複数の表示画面に分割して表示してもかまわない。
また、上述したマップ編集では、ユーザが防衛マップ領域DApに編成している防御オブジェクト(自軍防御設備オブジェクトDOaおよび自軍防御プレイヤオブジェクトDOb)と、ユーザが攻撃マップ領域AAp(および中立マップ領域NAp)に編成している攻撃オブジェクト(自軍攻撃設備オブジェクトAOa)とを、それぞれ別のゲームマップに配置されてもよい。例えば、図5に示したマップ編集時に表示される防御オブジェクトと攻撃オブジェクトとは、同じゲームマップに設定されている防衛マップ領域DApおよび攻撃マップ領域AApに配置されているが、防衛マップ領域DApと攻撃マップ領域AApとがそれぞれ別のゲームマップ(例えば、図5に示す格子状領域における7行目(行7r)の部分でゲームマップが分割されている)であってもよい。この場合、別のゲームマップである防衛ゲームマップと攻撃ゲームマップとが結合されることによって、1つの対戦ゲームマップが形成されてもよい。
また、ユーザが他のユーザとの対戦で用いられるゲームマップや模擬戦で用いられるゲームマップは、いくつかの態様が考えられるが、どのような態様のゲームマップが用いられてもよい。例えば、防御オブジェクトが配置されたゲームマップに攻撃オブジェクトを配置する例(防御オブジェクトとゲームマップとの組に攻撃オブジェクトを追加配置する)、攻撃オブジェクトが配置されたゲームマップに防御オブジェクトを配置する例(攻撃オブジェクトとゲームマップとの組に防御オブジェクトを追加配置する)、防御オブジェクトおよび攻撃オブジェクトの両方が配置されていないゲームフィールドに防御オブジェクトと攻撃オブジェクトとを配置する例(ゲームフィールドに攻撃オブジェクトと防御オブジェクトとを追加配置する)等が考えられる。
また、上述した説明では、ユーザが所有するオブジェクトを配置可能な領域が格子状に複数形成された2次元のゲームマップを用いて対戦ゲームが行われる例を用いたが、フィールド内に高低差が形成されている2次元のゲームフィールドが用いられてもよいし、空間内にオブジェクトを配置する3次元のゲームフィールドが用いられてもよい。ここで、ゲームフィールドは、上述した2次元のゲームマップを含む概念である。
次に、図11を参照して、情報処理装置3において行われる処理において用いられる主なデータについて説明する。なお、図11は、情報処理装置3の記憶部32に記憶される主なデータおよびプログラムの一例を示す図である。
図11に示すように、記憶部32のデータ記憶領域には、操作データDa、攻撃プレイヤオブジェクトデータDb、攻撃設備オブジェクトデータDc、防御プレイヤオブジェクトデータDd、防御設備オブジェクトデータDe、敵オブジェクトデータDf、攻撃マップデータDg、防衛マップデータDh、対戦マップデータDi、マップ編集フラグデータDj、攻撃対戦フラグデータDk、模擬戦フラグデータDm、プレイヤターンフラグデータDn、攻撃ターンフラグデータDp、レートパラメータデータDq、エナジーパラメータデータDr、送受信データDs、および画像データDt等が記憶される。なお、記憶部32には、図11に示す情報に含まれるデータの他、実行するアプリケーションで用いるデータ等、処理に必要なデータが記憶される。また、記憶部32のプログラム記憶領域には、通信プログラムや情報処理プログラム(ゲームプログラム)を構成する各種プログラム群Paが記憶される。
操作データDaは、ユーザが情報処理装置3を操作した操作情報を示すデータである。例えば、入力部34を操作したことを示す操作データは、情報処理装置3が処理する時間単位(例えば、1/60秒)毎に取得され、当該取得に応じて操作データDaに格納されて更新される。
攻撃プレイヤオブジェクトデータDbは、ユーザが攻撃マップ領域AAp(中立マップ領域NAp)に配置した自軍攻撃プレイヤオブジェクトAOb毎のプロフィールや能力値を示すデータやゲームマップ(対戦マップ)上における状態を示すデータであり、ヒットポイントデータDb1、位置データDb2、および能力データDb3等を含んでいる。ヒットポイントデータDb1は、自軍攻撃プレイヤオブジェクトAObが有している生存パラメータ(ヒットポイント)を示すデータである。位置データDb2は、ゲームマップにおいて自軍攻撃プレイヤオブジェクトAObが配置されている位置を示すデータである。能力データDb3は、自軍攻撃プレイヤオブジェクトAObが有する能力値を示すデータであり、移動可能距離、攻撃可能距離、攻撃力、守備力、速さ、および魔法防御力等の各能力値を示すデータである。
攻撃設備オブジェクトデータDcは、ユーザが攻撃マップ領域AApに配置した自軍攻撃設備オブジェクトAOa毎のプロフィールや能力値を示すデータやゲームマップ(対戦マップ)上における状態を示すデータであり、ヒットポイントデータDc1、位置データDc2、および能力データDc3等を含んでいる。ヒットポイントデータDc1は、自軍攻撃設備オブジェクトAOaが有している耐久パラメータ(ヒットポイント)を示すデータである。なお、罠オブジェクトのように他のオブジェクトが侵入した場合に当該オブジェクトにダメージを与えて消滅するような設備オブジェクトである場合、ヒットポイントデータDc1が設定されていないものもあり得る。位置データDc2は、ゲームマップにおいて自軍攻撃設備オブジェクトAOaが配置されている位置を示すデータである。能力データDc3は、自軍攻撃設備オブジェクトAOaが有する能力値を示すデータであり、能力、攻撃可能距離、効果範囲、攻撃力、防御力等の各能力値を示すデータである。
防御プレイヤオブジェクトデータDdは、ユーザが防衛マップ領域DApに配置した自軍防御プレイヤオブジェクトDOb毎のプロフィールや能力値を示すデータやゲームマップ(対戦マップ)上における状態を示すデータであり、ヒットポイントデータDd1、位置データDd2、および能力データDd3等を含んでいる。ヒットポイントデータDd1は、自軍防御プレイヤオブジェクトDObが有している生存パラメータ(ヒットポイント)を示すデータである。位置データDd2は、ゲームマップにおいて自軍防御プレイヤオブジェクトDObが配置されている位置を示すデータである。能力データDd3は、自軍防御プレイヤオブジェクトDObが有する能力値を示すデータであり、移動可能距離、攻撃可能距離、攻撃力、守備力、速さ、および魔法防御力等の各能力値を示すデータである。
防御設備オブジェクトデータDeは、ユーザが防衛マップ領域DApに配置した自軍防御設備オブジェクトDOa毎のプロフィールや能力値を示すデータやゲームマップ(対戦マップ)上における状態を示すデータであり、ヒットポイントデータDe1、位置データDe2、および能力データDe3等を含んでいる。ヒットポイントデータDe1は、自軍防御設備オブジェクトDOaが有している耐久パラメータ(ヒットポイント)を示すデータである。なお、罠オブジェクトのように他のオブジェクトが侵入した場合に当該オブジェクトにダメージを与えて消滅するような設備オブジェクトである場合、ヒットポイントデータDe1も設定されていないものもあり得る。位置データDe2は、ゲームマップにおいて自軍防御設備オブジェクトDOaが配置されている位置を示すデータである。能力データDe3は、自軍防御設備オブジェクトDOaが有する能力値を示すデータであり、能力、攻撃可能距離、効果範囲、攻撃力、防御力等の各能力値を示すデータである。
敵オブジェクトデータDfは、対戦相手となる他のユーザによって防衛マップ領域DAeに配置された敵防御設備オブジェクトEOcおよび敵防御プレイヤオブジェクトEOd毎や、攻撃マップ領域AAeに配置された敵攻撃設備オブジェクトEOaおよび敵攻撃プレイヤオブジェクトEOb毎のプロフィールや能力値を示すデータやゲームマップ(対戦マップ)上における状態を示すデータである。敵オブジェクトデータDfは、対戦相手のオブジェクト毎のヒットポイントデータ、位置データ、および能力データ等を含んでいる。
攻撃マップデータDgは、ユーザが作成した攻撃マップ領域AApや対戦相手である他のユーザが作成した攻撃マップ領域AAeを示すデータである。防衛マップデータDhは、ユーザが作成した防衛マップ領域DApや対戦相手である他のユーザが作成した防衛マップ領域DAeを示すデータである。対戦マップデータDiは、他のユーザとの対戦や模擬戦が行われる際に用いられるゲームマップ(対戦マップ)を示すデータである。
マップ編集フラグデータDjは、ユーザがマップ編集を行う際にオンに設定されるマップ編集フラグを示すデータである。攻撃対戦フラグデータDkは、ユーザが攻撃側となって対戦相手である他のユーザと対戦するゲームが行われる際にオンに設定される攻撃対戦フラグを示すデータである。模擬戦フラグデータDmは、ユーザが模擬戦を行う際にオンに設定される模擬対戦フラグを示すデータである。プレイヤターンフラグデータDnは、他のユーザとの対戦ゲームにおけるプレイヤターンである場合にオンに設定されるプレイヤターンフラグを示すデータである。攻撃ターンフラグデータDpは、模擬戦におけるプレイヤターンである場合にオンに設定される攻撃ターンフラグを示すデータである。
レートパラメータデータDqは、ユーザが所有しているレートパラメータを示すデータである。エナジーパラメータデータDrは、ユーザが所有しているエナジーパラメータ(参加パラメータ)を示すデータである。
送受信データDsは、他の装置(例えば、サーバ200)から受信したデータまたは他の装置へ送信するためのデータである。
画像データDtは、ゲーム中において表示画面に画像を表示するためのデータである。
次に、図12〜図15を参照して、情報処理装置3において行われる処理の詳細を説明する。なお、図12は、情報処理装置3において実行される処理の一例を示すフローチャートである。図13は、図12のステップS104におけるマップ編集処理の詳細な処理の一例を示すサブルーチンである。図14は、図12のステップS108における攻撃対戦処理の詳細な処理の一例を示すサブルーチンである。図15は、図12のステップS106における模擬戦処理の詳細な処理の一例を示すサブルーチンである。ここで、図12〜図15に示すフローチャートにおいては、情報処理システム1における処理のうち、情報処理装置3において行われるゲーム処理について主に説明し、これらの処理と直接関連しない他の処理については詳細な説明を省略する。また、図12〜図15では、制御部31が実行する各ステップを「S」と略称する。
本実施例においては、図12〜図15に示す一連の処理は、制御部31(CPU)が、プログラム記憶部33に記憶されるゲームプログラムを実行することによって行われる。なお、図12〜図15に示す処理が開始されるタイミングは任意である。このとき、ゲームプログラムは、適宜のタイミングでその一部または全部が記憶部32に読み出され、制御部31によって実行される。これによって、図12〜図15に示す一連の処理が開始される。なお、ゲームプログラムは、プログラム記憶部33に予め記憶されているものとする。ただし、他の実施例においては、情報処理装置3に着脱可能な記憶媒体から取得されて記憶部32に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されて記憶部32に記憶されてもよい。
また、図12〜図15に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えておよび/または代えて別の処理が実行されてもよい。また、本実施例では、上記フローチャートの各ステップの処理を制御部31が実行するものとして説明するが、上記フローチャートにおける一部または全部のステップの処理を、上記制御部31のCPU以外のプロセッサや専用回路が実行するようにしてもよい。
図12において、制御部31は、初期設定を行い(ステップS101)、次のステップに処理を進める。例えば、制御部31は、以降の処理に用いる各パラメータを初期化する。
次に、制御部31は、入力部34から操作データを取得して操作データDaを更新し(ステップS102)、次のステップに処理を進める。
次に、制御部31は、マップ編集するか否かを判定する(ステップS103)。例えば、制御部31は、操作データDaを参照して、ゲームメニューから「マップ編集」を選択する操作が行われた場合、またはマップ編集フラグデータDjが示すマップ編集フラグがオンに設定されている場合、上記ステップS103において肯定判定する。そして、制御部31は、マップ編集する場合、ステップS104に処理を進める。一方、制御部31は、マップ編集しない場合、ステップS107に処理を進める。
ステップS104において、制御部31は、マップ編集処理を行い、次のステップに処理を進める。以下、図13を参照して、上記ステップS104で行うマップ編集処理の一例について説明する。
図13において、制御部31は、現時点において「マップ編集」を選択する操作が行われているか否かを判定する(ステップS121)。例えば、制御部31は、ゲームメニューから「マップ編集」を選択する操作を操作データDaが示す場合、上記ステップS121において肯定判定する。そして、制御部31は、現時点において「マップ編集」を選択する操作が行われている場合、ステップS122に処理を進める。一方、制御部31は、現時点において「マップ編集」を選択する操作が行われていない場合、ステップS123に処理を進める。
ステップS122において、制御部31は、マップ編集フラグをオンに設定してマップ編集フラグデータDjを更新して、ステップS123に処理を進める。
ステップS123において、制御部31は、ゲームマップを選択する操作が行われているか否かを判定する。例えば、制御部31は、操作データDaがゲームマップを選択する操作を示す場合、上記ステップS123において肯定判定する。そして、制御部31は、ゲームマップを選択する操作が行われている場合、ステップS124に処理を進める。一方、制御部31は、ゲームマップを選択する操作が行われていない場合、ステップS125に処理を進める。
ステップS124において、制御部31は、ユーザ操作に応じて、ゲームマップを選択する処理を行い、ステップS125に処理を進める。例えば、制御部31は、操作データDaに応じて、複数種類用意されている地形から対戦に用いるゲームマップを選択する処理を行う。そして、制御部31は、選択されたゲームマップのうち、攻撃マップ領域AAp(および中立マップ領域NAp)に相当する部分を用いて、攻撃マップデータDgを更新する。また、制御部31は、選択されたゲームマップのうち、防衛マップ領域DApに相当する部分を用いて、防衛マップデータDhを更新する。なお、地形選択手段は、フィールドに適用される複数種類の地形のうち1つの地形を選択するものであり、一例としてステップS124の処理を行う制御部31に相当する。
ステップS125において、制御部31は、防御設備オブジェクトを配置する操作が行われているか否かを判定する。例えば、制御部31は、操作データDaが防御設備オブジェクトを配置する操作を示す場合、上記ステップS125において肯定判定する。そして、制御部31は、防御設備オブジェクトを配置する操作が行われている場合、ステップS126に処理を進める。一方、制御部31は、防御設備オブジェクトを配置する操作が行われていない場合、ステップS127に処理を進める。
ステップS126において、制御部31は、ユーザ操作に応じて、防御設備オブジェクトを防衛マップ領域に配置する処理を行い、ステップS127に処理を進める。例えば、制御部31は、操作データDaおよび防衛マップデータDhを参照して、ユーザが配置対象として選択した設備オブジェクトを自軍防御設備オブジェクトDOaとして、防衛マップデータDhが示す防衛マップ領域DAp上にユーザ操作に応じて配置する処理を行う(図5参照)。そして、制御部31は、防衛マップ領域DAp上に配置された自軍防御設備オブジェクトDOaの種別および位置に基づいて、防御設備オブジェクトデータDeを更新する。なお、第2配置手段は、ユーザの操作に応じて、防御オブジェクトをフィールドに配置するものであり、一例としてステップS126の処理を行う制御部31に相当する。
ステップS127において、制御部31は、防御プレイヤオブジェクトを配置する操作が行われているか否かを判定する。例えば、制御部31は、操作データDaが防御プレイヤオブジェクトを配置する操作を示す場合、上記ステップS127において肯定判定する。そして、制御部31は、防御プレイヤオブジェクトを配置する操作が行われている場合、ステップS128に処理を進める。一方、制御部31は、防御プレイヤオブジェクトを配置する操作が行われていない場合、ステップS129に処理を進める。
ステップS128において、制御部31は、ユーザ操作に応じて、防御プレイヤオブジェクトを防衛マップ領域に配置する処理を行い、ステップS129に処理を進める。例えば、制御部31は、操作データDaおよび防衛マップデータDhを参照して、ユーザが配置対象として選択したプレイヤオブジェクトを自軍防御プレイヤオブジェクトDObとして、防衛マップデータDhが示す防衛マップ領域DAp上にユーザ操作に応じて配置する処理を行う(図5参照)。そして、制御部31は、防衛マップ領域DAp上に配置された自軍防御プレイヤオブジェクトDObの種別および位置に基づいて、防御プレイヤオブジェクトデータDdを更新する。なお、第2配置手段は、ユーザの操作に応じて、防御オブジェクトをフィールドに配置するものであり、他の例としてステップS128の処理を行う制御部31に相当する。
ステップS129において、制御部31は、攻撃設備オブジェクトを配置する操作が行われているか否かを判定する。例えば、制御部31は、操作データDaが攻撃設備オブジェクトを配置する操作を示す場合、上記ステップS129において肯定判定する。そして、制御部31は、攻撃設備オブジェクトを配置する操作が行われている場合、ステップS130に処理を進める。一方、制御部31は、攻撃設備オブジェクトを配置する操作が行われていない場合、ステップS131に処理を進める。
ステップS130において、制御部31は、ユーザ操作に応じて、攻撃設備オブジェクトを攻撃マップ領域に配置する処理を行い、ステップS131に処理を進める。例えば、制御部31は、操作データDaおよび攻撃マップデータDgを参照して、ユーザが配置対象として選択した設備オブジェクトを自軍攻撃設備オブジェクトAOaとして、攻撃マップデータDgが示す攻撃マップ領域AAp上にユーザ操作に応じて配置する処理を行う(図5参照)。そして、制御部31は、攻撃マップ領域AAp上に配置された自軍攻撃設備オブジェクトDObの種別および位置に基づいて、攻撃設備オブジェクトデータDcを更新する。なお、第1配置手段は、ユーザの操作に応じて、攻撃オブジェクトをフィールドに配置するものであり、一例としてステップS130の処理を行う制御部31に相当する。
ステップS131において、制御部31は、操作データDaを参照して、マップ編集を終了する操作が行われたか否かを判定する。そして、制御部31は、マップ編集を終了する操作が行われた場合、ステップS132に処理を進める。一方、制御部31は、マップ編集を終了する操作が行われていない場合、当該サブルーチンによる処理を終了する。
ステップS132において、制御部31は、マップ編集による防衛マップを決定する処理を行い、次のステップに処理を進める。例えば、制御部31は、防御プレイヤオブジェクトデータDd、防御設備オブジェクトデータDe、および防衛マップデータDhに基づいて、自軍防御設備オブジェクトDOaおよび自軍防御プレイヤオブジェクトDObが配置された防衛マップ領域DApを生成し、当該生成された防衛マップ領域DApを用いて防衛マップデータDhを更新する。また、制御部31は、防衛マップデータDhが示すユーザの防衛マップをサーバ200に登録するために、サーバ200へ送信する送信用データとして防衛マップデータDhを送受信データDsに書き込む。
次に、制御部31は、マップ編集による攻撃マップを決定する処理を行い、次のステップに処理を進める。例えば、制御部31は、攻撃設備オブジェクトデータDcおよび攻撃マップデータDgに基づいて、自軍攻撃設備オブジェクトDObが配置された攻撃マップ領域AApを生成し、当該生成された攻撃マップ領域AApを用いて攻撃マップデータDgを更新する。
次に、制御部31は、マップ編集フラグをオフに設定してマップ編集フラグデータDjを更新して、該サブルーチンによる処理を終了する。
図12に戻り、上記ステップS104におけるマップ編集処理の後、制御部31は、模擬戦を行うか否かを判定する(ステップS105)。例えば、制御部31は、操作データDaを参照して、マップ編集画面から「模擬戦」を選択する操作が行われた場合、または模擬戦フラグデータDmが示す模擬戦フラグがオンに設定されている場合、上記ステップS105において肯定判定する。そして、制御部31は、模擬戦を行う場合、ステップS106の模擬戦処理を行った後、ステップS109に処理を進める。一方、制御部31は、模擬戦を行わない場合、ステップS109に処理を進める。
一方、制御部31は、上記ステップS103においてマップ編集しないと判定した場合、攻撃対戦を行うか否かを判定する(ステップS107)。例えば、制御部31は、操作データDaを参照して、ゲームメニューから「他のユーザと対戦する」を選択する操作が行われた場合、または攻撃対戦フラグデータDkが示す攻撃対戦フラグがオンに設定されている場合、上記ステップS107において肯定判定する。そして、制御部31は、攻撃対戦を行う場合、ステップS108に処理を進める。一方、制御部31は、攻撃対戦を行わない場合、ステップS109に処理を進める。なお、制御部31は、エナジーパラメータデータDrが示すエナジーパラメータの数値が攻撃対戦の参加に必要な数値より小さい場合、「他のユーザと対戦する」選択肢をゲームメニューから選択できない(例えば、当該選択肢を表示しない)状態で、ゲームメニューを表示部35に表示してもよい。
ステップS108において、制御部31は、攻撃対戦処理を行い、ステップS109に処理を進める。以下、図14を参照して、上記ステップS108で行う攻撃対戦処理の一例について説明する。なお、対戦処理手段は、他のユーザが操作する他の情報処理装置のコンピュータで機能する第2配置手段によって当該他のユーザの防御オブジェクトが配置されたフィールドに第1配置手段によって配置された攻撃オブジェクトを配置して、ユーザの操作に基づいて、当該攻撃オブジェクトと当該防御オブジェクトとの対戦処理を行うものであり、一例としてステップS108の処理を行う制御部31に相当する。
図14において、制御部31は、現時点において「他のユーザと対戦する」を選択する操作が行われているか否かを判定する(ステップS141)。例えば、制御部31は、ゲームメニューから「他のユーザと対戦する」を選択する操作を操作データDaが示す場合、上記ステップS141において肯定判定する。そして、制御部31は、現時点において「他のユーザと対戦する」を選択する操作が行われている場合、ステップS142に処理を進める。一方、制御部31は、現時点において「他のユーザと対戦する」を選択する操作が行われていない場合、ステップS143に処理を進める。
ステップS142において、制御部31は、攻撃対戦フラグをオンに設定して攻撃対戦フラグデータDkを更新して、ステップS143に処理を進める。また、制御部31は、対戦相手とのマッチングを要求するために、サーバ200へ送信する送信用データとして対戦要求を送受信データDsに書き込む。
ステップS143において、制御部31は、ユーザが攻撃側となって対戦相手と対戦するゲーム中であるか否かを判定する。そして、制御部31は、対戦相手と対戦するゲーム中でない、すなわち対戦相手と対戦するゲーム開始前である場合、ステップS144に処理を進める。一方、制御部31は、対戦相手と対戦するゲーム中である場合、ステップS147に処理を進める。
ステップS144において、制御部31は、対戦相手を表示して当該対戦相手とのユーザの対戦開始操作を促し、次のステップに処理を進める。例えば、制御部31は、サーバ200に送信した対戦要求に対してサーバ200がマッチングして送信した対戦相手データに基づいて、対戦相手を表示部35に表示する。また、制御部31は、当該対戦相手と対戦に必要なエナジーパラメータ(参加パラメータ)の数値を、エナジーパラメータデータDrが示すエナジーパラメータの数値から減算し、当該減算後のエナジーパラメータの数値を用いてエナジーパラメータデータDrを更新する。なお、上記減算される数値は、ユーザの評価値(レートパラメータ)に応じて算出されてもよく、一例としてユーザの評価値が高いほど、大きな数値に算出されてもかまわない。また、サーバ200が送信する対戦相手データには、対戦相手である他のユーザがマップ編集して作成した防衛マップ領域DAeを示すデータが含まれていてもよく、制御部31は、対戦相手を表示する際、当該対戦相手の防衛マップ領域DAeを表示部35に表示してもかまわない。
次に、制御部31は、表示している対戦相手との対戦を開始する操作が行われたか否かを判定する(ステップS145)。例えば、制御部31は、対戦開始を示す操作を操作データDaが示す場合、上記ステップS145において肯定判定する。そして、制御部31は、対戦を開始する操作が行われた場合、ステップS146に処理を進める。一方、制御部31は、対戦を開始する操作が行われていない場合、ステップS159に処理を進める。
ステップS146において、制御部31は、対戦ゲームマップを生成する処理を行い、ステップS147に処理を進める。例えば、制御部31は、攻撃マップデータDgが示す攻撃マップ領域AApとサーバ200から受信した対戦相手データが示す対戦相手の防衛マップ領域DAeとを1つの対戦用ゲームマップとして合体して、当該ゲームマップを用いて対戦マップデータDiを更新する。また、制御部31は、ユーザが所有するプレイヤオブジェクトを自軍攻撃プレイヤオブジェクトAObとして、上記対戦用ゲームマップの中立マップ領域NApに配置して、当該対戦用ゲームマップ上に配置された自軍攻撃プレイヤオブジェクトAObの種別および位置に基づいて、攻撃設備オブジェクトデータDcを更新する(図6参照)。なお、上記対戦用ゲームマップに配置する自軍攻撃プレイヤオブジェクトAObは、ユーザ操作に応じて、上記対戦用ゲームマップ上に順次配置されてもよいし、予めユーザによって設定されたプレイヤオブジェクトが予め設定されている位置に配置されてもよい。前者の場合、制御部31は、上記対戦用ゲームマップ上への自軍攻撃プレイヤオブジェクトAObの配置が完了するまで、上記ステップS146の処理を繰り返してもよい。なお、攻撃オブジェクト選択手段は、ユーザの操作に応じて、フィールドに配置された攻撃オブジェクトとは異なる他の攻撃オブジェクトを選択するものであり、一例としてステップS146の処理を行う制御部31に相当する。
ステップS147において、制御部31は、ユーザが攻撃側となって対戦相手と対戦するゲームにおいて、現時点がプレイヤターンであるか否かを判定する。例えば、制御部31は、プレイヤターンフラグデータDnが示すプレイヤターンフラグがオンに設定されている場合、上記ステップS147において肯定判定する。そして、制御部31は、現時点がプレイヤターンである場合、ステップS148に処理を進める。一方、制御部31は、現時点が相手ターンである場合、ステップS152に処理を進める。
ステップS148において、制御部31は、攻撃プレイヤオブジェクト移動処理を行い、次のステップに処理を進める。例えば、制御部31は、対戦用ゲームマップ上に配置された自軍攻撃プレイヤオブジェクトAObをユーザ操作に応じて移動させる。具体的には、制御部31は、操作データDaを参照して、自軍攻撃プレイヤオブジェクトAObの何れかを操作対象として対戦用ゲームマップ上で移動させる操作が行われた場合、当該操作に応じて自軍攻撃プレイヤオブジェクトAObの位置を移動させ、当該移動後の位置を用いて当該自軍攻撃プレイヤオブジェクトAObの位置データDb2を更新する。なお、自軍攻撃プレイヤオブジェクトAObの移動量、移動速度、移動可能場所については、当該自軍攻撃プレイヤオブジェクトAObの能力データDb3における移動特性に基づいて制御される。
次に、制御部31は、攻撃オブジェクトと防御オブジェクトとの戦闘処理を行い(ステップS149)、次のステップに処理を進める。例えば、制御部31は、ユーザが対戦相手の防御オブジェクトを攻撃する操作を行った場合、当該操作に応じた自軍攻撃プレイヤオブジェクトAObと対戦相手の防御オブジェクトとが戦闘する処理を行って当該自軍攻撃プレイヤオブジェクトAObのヒットポイントデータDb1および当該防御オブジェクトのヒットポイントデータを更新する。上記戦闘する処理においては、両オブジェクトが戦闘する画像が生成されるとともに、両オブジェクトの能力等に基づいてダメージ量や勝敗が決定されて当該ダメージに応じたヒットポイントが減算されてヒットポイントデータが更新され、ヒットポイントが0となったオブジェクトが対戦用ゲームマップ上から消去(撤退)される。なお、上記ステップS149の戦闘処理において、防御オブジェクトとの戦闘の際の自軍攻撃プレイヤオブジェクトAObの能力や攻撃可能距離は、当該自軍攻撃プレイヤオブジェクトAObの能力データDb3に基づいて設定される。
また、上記ステップS149においては、制御部31は、自軍攻撃設備オブジェクトAOaと防御オブジェクトとの戦闘処理を行ってもよい。例えば、現時点が自軍攻撃設備オブジェクトAOaの効果が生じるタイミング(例えば、プレイヤターンの開始時や終了時)である場合、自軍攻撃設備オブジェクトAOaと対戦相手の防御オブジェクトとが戦闘する処理を行って当該自軍攻撃設備オブジェクトAOaのヒットポイントデータDc1および当該防御オブジェクトのヒットポイントデータを更新する。上記戦闘する処理においても、両オブジェクトが戦闘する画像が生成されるとともに、両オブジェクトの能力等に基づいてダメージ量や勝敗が決定されて当該ダメージに応じたヒットポイントが減算されてヒットポイントデータが更新され、ヒットポイントが0となったオブジェクトが対戦用ゲームマップ上から消去(撤退)される。なお、上記ステップS149の戦闘処理において、防御オブジェクトとの戦闘の際の自軍攻撃設備オブジェクトAOaの能力や攻撃可能距離は、当該自軍攻撃設備オブジェクトAOaの能力データDc3に基づいて設定される。
次に、制御部31は、プレイヤターンが終了したか否かを判定する(ステップS150)。例えば、制御部31は、対戦用ゲームマップ上に配置されている全ての自軍攻撃プレイヤオブジェクトAObの行動が終了した場合や、ユーザが所定の操作(ターン終了を指示する操作ボタンを選択する操作)を行ったことを操作データDaが示す場合、上記ステップS150において肯定判定する。そして、制御部31は、プレイヤターンが終了した場合、ステップS151に処理を進める。一方、制御部31は、プレイヤターンが終了していない場合、ステップS156に処理を進める。
ステップS151において、制御部31は、プレイヤターンフラグをオフに設定してプレイヤターンフラグデータDnを更新して、ステップS156に処理を進める。
一方、上記ステップS147において現時点が相手ターンであると判定された場合、制御部31は、防御プレイヤオブジェクト移動処理を行い(ステップS152)、次のステップに処理を進める。例えば、制御部31は、対戦用ゲームマップ上に配置された敵防御プレイヤオブジェクトEOdを所定のアルゴリズムに基づいて移動させる。具体的には、制御部31は、敵防御プレイヤオブジェクトEOdの何れかを移動対象として対戦用ゲームマップ上で移動させ、当該移動後の位置を用いて当該敵防御プレイヤオブジェクトEOdの敵オブジェクトデータDf(位置データ)を更新する。なお、敵防御プレイヤオブジェクトEOdの移動量、移動速度、移動可能場所については、当該敵防御プレイヤオブジェクトEOdの敵オブジェクトデータDf(能力データ)における移動特性に基づいて制御される。
次に、制御部31は、対戦相手の防御オブジェクトとユーザの攻撃オブジェクトとの戦闘処理を行い(ステップS153)、次のステップに処理を進める。例えば、制御部31は、敵防御プレイヤオブジェクトEOdがユーザの自軍攻撃プレイヤオブジェクトAObを攻撃する場合、当該敵防御プレイヤオブジェクトEOdと当該自軍攻撃プレイヤオブジェクトAObとが戦闘する処理を行って当該敵防御プレイヤオブジェクトEOdのヒットポイントデータおよび当該自軍攻撃プレイヤオブジェクトAObのヒットポイントデータDb1を更新する。上記戦闘する処理においては、両オブジェクトが戦闘する画像が生成されるとともに、両オブジェクトの能力等に基づいてダメージ量や勝敗が決定されて当該ダメージに応じたヒットポイントが減算されてヒットポイントデータが更新され、ヒットポイントが0となったオブジェクトが対戦用ゲームマップ上から消去(撤退)される。また、制御部31は、敵防御プレイヤオブジェクトEOdがユーザの自軍攻撃設備オブジェクトAOaを攻撃する場合、当該敵防御プレイヤオブジェクトEOdが当該自軍攻撃設備オブジェクトAOaを攻撃する処理を行って当該自軍攻撃設備オブジェクトAOaのヒットポイントデータDc1を更新する。上記自軍攻撃設備オブジェクトAOaを攻撃する処理においても、敵防御プレイヤオブジェクトEOdが自軍攻撃設備オブジェクトAOaを攻撃する画像が生成されるとともに、敵防御プレイヤオブジェクトEOdの能力および自軍攻撃設備オブジェクトAOaの耐久性等に基づいて自軍攻撃設備オブジェクトAOaのダメージ量が決定され当該ダメージに応じたヒットポイントが減算されて当該自軍攻撃設備オブジェクトAOaのヒットポイントデータDc1が更新され、ヒットポイントが0となった自軍攻撃設備オブジェクトAOaが対戦用ゲームマップ上において破壊されて無効化される。なお、上記ステップS128の戦闘処理において、自軍攻撃プレイヤオブジェクトAObとの戦闘や自軍攻撃設備オブジェクトAOaへの攻撃の際の敵防御プレイヤオブジェクトEOdの能力や攻撃可能距離は、当該敵防御プレイヤオブジェクトEOdの敵オブジェクトデータDf(能力データ)に基づいて設定される。
また、上記ステップS153においては、制御部31は、対戦相手の敵防御設備オブジェクトEOcとユーザの攻撃オブジェクトとの戦闘処理を行ってもよい。例えば、現時点が敵防御設備オブジェクトEOcの効果が生じるタイミング(例えば、相手ターンの開始時や終了時)である場合、敵防御設備オブジェクトEOcとユーザの攻撃オブジェクトとが戦闘する処理を行って当該敵防御設備オブジェクトEOcのヒットポイントデータおよび当該攻撃オブジェクトのヒットポイントデータDb1またはDc1を更新する。上記戦闘する処理においても、両オブジェクトが戦闘する画像が生成されるとともに、両オブジェクトの能力等に基づいてダメージ量や勝敗が決定されて当該ダメージに応じたヒットポイントが減算されてヒットポイントデータが更新され、ヒットポイントが0となったオブジェクトが対戦用ゲームマップ上から消去(撤退)される。なお、上記ステップS153の戦闘処理において、攻撃オブジェクトとの戦闘の際の敵防御設備オブジェクトEOcの能力や攻撃可能距離は、当該敵防御設備オブジェクトEOcの敵オブジェクトデータDf(能力データ)に基づいて設定される。
次に、制御部31は、相手ターンが終了したか否かを判定する(ステップS154)。例えば、制御部31は、対戦用ゲームマップ上に配置されている全ての敵防御プレイヤオブジェクトEOdの行動が終了した場合、上記ステップS154において肯定判定する。そして、制御部31は、相手ターンが終了した場合、ステップS155に処理を進める。一方、制御部31は、相手ターンが終了していない場合、ステップS156による処理を進める。
ステップS155において、制御部31は、プレイヤターンフラグをオンに設定してプレイヤターンフラグデータDnを更新して、ステップS156による処理を進める。
ステップS156において、制御部31は、ユーザが攻撃側となって対戦相手と対戦するゲームを終了するか否かを判断する。対戦ゲームを終了する条件としては、例えば、対戦ゲームを終了させる条件が満たされたこと(例えば、対戦ゲームに設定されている最大ターン数が終了したことや自軍攻撃プレイヤオブジェクトAObや敵防御プレイヤオブジェクトEOdが全滅した場合等)や、ユーザが対戦ゲームを終了する操作を行ったこと等がある。制御部31は、対戦ゲームを終了しない場合に当該サブルーチンによる処理を終了し、対戦ゲームを終了する場合にステップS157に処理を進める。
ステップS157において、制御部31は、レート/エナジー算出処理を行い、次のステップに処理を進める。例えば、制御部31は、ゲーム終了時に対戦用ゲームマップ上に残存している攻撃オブジェクトおよび/または防御オブジェクトの数に応じて、ユーザに加算/減算するレートパラメータの数値を算出し、当該数値に基づいてレートパラメータデータDqを更新する。例えば、図9を用いて例示したレート増減条件を用いる場合、攻撃側となっているユーザは、対戦ゲームに勝利した場合に限って、ゲーム終了時に対戦用ゲームマップ上に残存している自軍攻撃プレイヤオブジェクトAObの数に応じたレートポイントを獲得することができる。また、制御部31は、ユーザに特典が与えられる対戦相手の建物オブジェクト(すなわち、特典が与えられる敵防御設備オブジェクトEOc)が対戦ゲーム中にユーザの攻撃オブジェクトによって破壊されている場合、当該破壊された防御オブジェクトに応じてユーザに加算するエナジーパラメータ(参加パラメータ)の数値を算出し、当該数値に基づいてエナジーパラメータデータDrを更新する。一例として、破壊された防御オブジェクトに応じてユーザに加算するエナジーパラメータ(参加パラメータ)の数値は、当該ユーザの評価値(レートパラメータ)に応じて算出されてもよく、当該評価値が高いほど大きな数値が加算されるようにしてもよい。なお、評価値変動手段は、対戦処理結果に応じてユーザに関連する評価値を変動させるものであり、一例としてステップS157の処理を行う制御部31に相当する。
次に、制御部31は、攻撃対戦フラグをオフに設定して攻撃対戦フラグデータDkを更新して、当該サブルーチンによる処理を終了する。また、制御部31は、対戦相手との対戦結果をサーバ200に通知するために、サーバ200へ送信する送信用データとして対戦結果を送受信データDsに書き込む。
制御部31は、上記ステップS145において対戦を開始しないと判定した場合、表示している対戦相手との対戦をギブアップするか否かを判定する(ステップS159)。例えば、制御部31は、ギブアップを示す操作を操作データDaが示す場合、上記ステップS159において肯定判定する。そして、制御部31は、ギブアップする操作が行われた場合、上記ステップS157に処理を進める。一方、制御部31は、ギブアップする操作が行われていない場合、当該サブルーチンによる処理を終了する。
次に、図15を参照して、上記ステップS106で行う模擬戦処理の一例について説明する。なお、模擬対戦処理手段は、第1配置手段によって配置された攻撃オブジェクトと第2配置手段によって配置された防御オブジェクトとを含むフィールドにおいて、当該攻撃オブジェクトと当該防御オブジェクトとの模擬的な対戦処理を行うものであり、一例としてステップS106の処理を行う制御部31に相当する。
図15において、制御部31は、現時点において「模擬戦」を選択する操作が行われているか否かを判定する(ステップS161)。例えば、制御部31は、マップ編集画面から「模擬戦」を選択する操作を操作データDaが示す場合、上記ステップS161において肯定判定する。そして、制御部31は、現時点において「模擬戦」を選択する操作が行われている場合、ステップS162に処理を進める。一方、制御部31は、現時点において「模擬戦」を選択する操作が行われていない場合、ステップS164に処理を進める。
ステップS162において、制御部31は、模擬戦フラグをオンに設定して模擬戦フラグデータDmを更新して、次のステップに処理を進める。
次に、制御部31は、模擬戦ゲームマップを生成する処理を行い(ステップS163)、ステップS164に処理を進める。例えば、制御部31は、攻撃マップデータDgが示すユーザ自身の攻撃マップ領域AApと防衛マップデータDhが示すユーザ自身の防衛マップ領域DApとを1つの模擬戦用ゲームマップとして合体して、当該ゲームマップを用いて対戦マップデータDiを更新する。また、制御部31は、ユーザが所有するプレイヤオブジェクトを自軍攻撃プレイヤオブジェクトAObとして、上記模擬戦用ゲームマップの中立マップ領域NApに配置して、当該模擬戦用ゲームマップ上に配置された自軍攻撃プレイヤオブジェクトAObの種別および位置に基づいて、攻撃設備オブジェクトデータDcを更新する(図8参照)。なお、上記模擬戦用ゲームマップに配置する自軍攻撃プレイヤオブジェクトAObは、ユーザ操作に応じて、上記模擬戦用ゲームマップ上に順次配置されてもよいし、予めユーザによって設定されたプレイヤオブジェクトが予め設定されている位置に配置されてもよい。前者の場合、制御部31は、上記模擬戦用ゲームマップ上への自軍攻撃プレイヤオブジェクトAObの配置が完了するまで、上記ステップS163の処理を繰り返してもよい。
ステップS164において、制御部31は、ユーザのオブジェクト同士(ユーザがマップ編集した防御オブジェクトとユーザがマップ編集した攻撃オブジェクト)を対戦させる模擬戦において、現時点が攻撃側のターン(攻撃ターン)であるか否かを判定する。例えば、制御部31は、攻撃ターンフラグデータDpが示す攻撃ターンフラグがオンに設定されている場合、上記ステップS164において肯定判定する。そして、制御部31は、現時点が攻撃ターンである場合、ステップS165に処理を進める。一方、制御部31は、現時点が防御側のターン(防御ターン)である場合、ステップS169に処理を進める。
ステップS165において、制御部31は、攻撃プレイヤオブジェクト移動処理を行い、次のステップに処理を進める。例えば、制御部31は、模擬戦用ゲームマップ上に配置された自軍攻撃プレイヤオブジェクトAObをユーザ操作に応じて移動させる。具体的には、制御部31は、操作データDaを参照して、自軍攻撃プレイヤオブジェクトAObの何れかを操作対象として模擬戦用ゲームマップ上で移動させる操作が行われた場合、当該操作に応じて自軍攻撃プレイヤオブジェクトAObの位置を移動させ、当該移動後の位置を用いて当該自軍攻撃プレイヤオブジェクトAObの位置データDb2を更新する。なお、自軍攻撃プレイヤオブジェクトAObの移動量、移動速度、移動可能場所については、当該自軍攻撃プレイヤオブジェクトAObの能力データDb3における移動特性に基づいて制御される。
次に、制御部31は、攻撃オブジェクトと防御オブジェクトとの戦闘処理を行い(ステップS166)、次のステップに処理を進める。例えば、制御部31は、ユーザが当該ユーザ自身の防御オブジェクトを攻撃する操作を行った場合、当該操作に応じた自軍攻撃プレイヤオブジェクトAObとユーザ自身の防御オブジェクト(すなわち、自軍防御設備オブジェクトDOaおよび自軍防御プレイヤオブジェクトDOb)とが戦闘する処理を行って当該自軍攻撃プレイヤオブジェクトAObのヒットポイントデータDb1および当該防御オブジェクトのヒットポイントデータDd1またはDe1を更新する。上記戦闘する処理においては、両オブジェクトが戦闘する画像が生成されるとともに、両オブジェクトの能力等に基づいてダメージ量や勝敗が決定されて当該ダメージに応じたヒットポイントが減算されてヒットポイントデータDb1、Dd1、およびDe1が更新され、ヒットポイントが0となったオブジェクトが模擬戦用ゲームマップ上から消去(撤退)される。なお、上記ステップS166の戦闘処理において、防御オブジェクトとの戦闘の際の自軍攻撃プレイヤオブジェクトAObの能力や攻撃可能距離は、当該自軍攻撃プレイヤオブジェクトAObの能力データDb3に基づいて設定される。
また、上記ステップS166においては、制御部31は、ユーザ自身の自軍攻撃設備オブジェクトAOaと当該ユーザ自身の防御オブジェクトとの戦闘処理を行ってもよい。例えば、現時点が自軍攻撃設備オブジェクトAOaの効果が生じるタイミング(例えば、攻撃ターンの開始時や終了時)である場合、自軍攻撃設備オブジェクトAOaとユーザ自身の防御オブジェクト(すなわち、自軍防御設備オブジェクトDOaおよび自軍防御プレイヤオブジェクトDOb)とが戦闘する処理を行って当該自軍攻撃設備オブジェクトAOaのヒットポイントデータDc1および当該防御オブジェクトのヒットポイントデータDd1またはDe1を更新する。上記戦闘する処理においても、両オブジェクトが戦闘する画像が生成されるとともに、両オブジェクトの能力等に基づいてダメージ量や勝敗が決定されて当該ダメージに応じたヒットポイントが減算されてヒットポイントデータが更新され、ヒットポイントが0となったオブジェクトが模擬戦用ゲームマップ上から消去(撤退)される。なお、上記ステップS166の戦闘処理において、防御オブジェクトとの戦闘の際の自軍攻撃設備オブジェクトAOaの能力や攻撃可能距離は、当該自軍攻撃設備オブジェクトAOaの能力データDc3に基づいて設定される。
次に、制御部31は、攻撃ターンが終了したか否かを判定する(ステップS167)。例えば、制御部31は、模擬戦用ゲームマップ上に配置されている全ての自軍攻撃プレイヤオブジェクトAObの行動が終了した場合や、ユーザが所定の操作(ターン終了を指示する操作ボタンを選択する操作)を行ったことを操作データDaが示す場合、上記ステップS167において肯定判定する。そして、制御部31は、攻撃ターンが終了した場合、ステップS168に処理を進める。一方、制御部31は、攻撃ターンが終了していない場合、ステップS173に処理を進める。
ステップS168において、制御部31は、攻撃ターンフラグをオフに設定して攻撃ターンフラグデータDpを更新して、ステップS173に処理を進める。
一方、上記ステップS164において現時点が防御ターンであると判定された場合、制御部31は、防御プレイヤオブジェクト移動処理を行い(ステップS169)、次のステップに処理を進める。例えば、制御部31は、模擬戦用ゲームマップ上に配置された自軍防御プレイヤオブジェクトDObを所定のアルゴリズムに基づいて移動させる。具体的には、制御部31は、自軍防御プレイヤオブジェクトDObの何れかを移動対象として模擬戦用ゲームマップ上で移動させ、当該移動後の位置を用いて当該自軍防御プレイヤオブジェクトDObの位置データDd2を更新する。なお、自軍防御プレイヤオブジェクトDObの移動量、移動速度、移動可能場所については、当該自軍防御プレイヤオブジェクトDObの能力データDd3における移動特性に基づいて制御される。
次に、制御部31は、ユーザ自身の防御オブジェクトと当該ユーザ自身の攻撃オブジェクトとの戦闘処理を行い(ステップS170)、次のステップに処理を進める。例えば、制御部31は、自軍防御プレイヤオブジェクトDObがユーザ自身の自軍攻撃プレイヤオブジェクトAObを攻撃する場合、当該自軍防御プレイヤオブジェクトDObと当該自軍攻撃プレイヤオブジェクトAObとが戦闘する処理を行って当該自軍防御プレイヤオブジェクトDObのヒットポイントデータDd1および当該自軍攻撃プレイヤオブジェクトAObのヒットポイントデータDb1を更新する。上記戦闘する処理においては、両オブジェクトが戦闘する画像が生成されるとともに、両オブジェクトの能力等に基づいてダメージ量や勝敗が決定されて当該ダメージに応じたヒットポイントが減算されてヒットポイントデータが更新され、ヒットポイントが0となったオブジェクトが模擬戦用ゲームマップ上から消去(撤退)される。また、制御部31は、自軍防御プレイヤオブジェクトDObがユーザ自身の自軍攻撃設備オブジェクトAOaを攻撃する場合、当該自軍防御プレイヤオブジェクトDObが当該自軍攻撃設備オブジェクトAOaを攻撃する処理を行って当該自軍攻撃設備オブジェクトAOaのヒットポイントデータDc1を更新する。上記自軍攻撃設備オブジェクトAOaを攻撃する処理においても、自軍防御プレイヤオブジェクトDObが自軍攻撃設備オブジェクトAOaを攻撃する画像が生成されるとともに、自軍防御プレイヤオブジェクトDObの能力および自軍攻撃設備オブジェクトAOaの耐久性等に基づいて自軍攻撃設備オブジェクトAOaのダメージ量が決定され当該ダメージに応じたヒットポイントが減算されて当該自軍攻撃設備オブジェクトAOaのヒットポイントデータDc1が更新され、ヒットポイントが0となった自軍攻撃設備オブジェクトAOaが模擬戦用ゲームマップ上において破壊されて無効化される。なお、上記ステップS170の戦闘処理において、自軍攻撃プレイヤオブジェクトAObとの戦闘や自軍攻撃設備オブジェクトAOaへの攻撃の際の自軍防御プレイヤオブジェクトDObの能力や攻撃可能距離は、当該自軍防御プレイヤオブジェクトDObの能力データDd3に基づいて設定される。
また、上記ステップS170においては、制御部31は、ユーザ自身の自軍防御設備オブジェクトDOaと当該ユーザ自身の攻撃オブジェクトとの戦闘処理を行ってもよい。例えば、現時点が自軍防御設備オブジェクトDOaの効果が生じるタイミング(例えば、防御ターンの開始時や終了時)である場合、自軍防御設備オブジェクトDOaとユーザ自身の攻撃オブジェクトとが戦闘する処理を行って当該自軍防御設備オブジェクトDOaのヒットポイントデータDe1および当該攻撃オブジェクトのヒットポイントデータDb1またはDc1を更新する。上記戦闘する処理においても、両オブジェクトが戦闘する画像が生成されるとともに、両オブジェクトの能力等に基づいてダメージ量や勝敗が決定されて当該ダメージに応じたヒットポイントが減算されてヒットポイントデータが更新され、ヒットポイントが0となったオブジェクトが模擬戦用ゲームマップ上から消去(撤退)される。なお、上記ステップS170の戦闘処理において、攻撃オブジェクトとの戦闘の際の自軍防御設備オブジェクトDOaの能力や攻撃可能距離は、当該自軍防御設備オブジェクトDOaの能力データDe3に基づいて設定される。
次に、制御部31は、防御ターンが終了したか否かを判定する(ステップS171)。例えば、制御部31は、模擬戦用ゲームマップ上に配置されている全ての自軍防御プレイヤオブジェクトDObの行動が終了した場合、上記ステップS171において肯定判定する。そして、制御部31は、防御ターンが終了した場合、ステップS172に処理を進める。一方、制御部31は、防御ターンが終了していない場合、ステップS173による処理を進める。
ステップS172において、制御部31は、攻撃ターンフラグをオンに設定して攻撃ターンフラグデータDpを更新して、ステップS173による処理を進める。
ステップS173において、制御部31は、ユーザのオブジェクト同士を対戦させる模擬戦を終了するか否かを判断する。対戦ゲームを終了する条件としては、例えば、模擬戦を終了させる条件が満たされたこと(例えば、模擬戦に設定されている最大ターン数が終了したことや自軍攻撃プレイヤオブジェクトAObや自軍防御プレイヤオブジェクトDObが全滅した場合等)や、ユーザが模擬戦を終了する操作を行ったこと等がある。制御部31は、模擬戦を終了しない場合に当該サブルーチンによる処理を終了し、模擬戦を終了する場合にステップS174に処理を進める。
ステップS174において、制御部31は、模擬戦フラグをオフに設定して模擬戦フラグデータDmを更新して、当該サブルーチンによる処理を終了する。
図12に戻り、ステップS109において、制御部31は、送受信処理を行い、次のステップに処理を進める。例えば、制御部31は、ネットワーク100を介して、サーバ200へ送信するデータとして送受信データDsに書き込まれている送信用データをサーバ200へ送信する。また、制御部31は、ネットワーク100を介して、サーバ200からデータを受信し、受信したデータを送受信データDsに書き込む。なお、対戦結果取得手段は、他のユーザの操作に基づいて行われた攻撃オブジェクトとの対戦結果を取得するものであり、一例としてステップS109の処理を行う制御部31に相当する。
第1の例として、制御部31は、ユーザの防衛マップをサーバ200に登録するために、防衛マップデータDhが送信用データとして送受信データDsに書き込まれている場合、当該防衛マップの登録を要求するデータをサーバ200へ送信する。これによって、サーバ200には、各ユーザが対戦ゲームを行う際にマッチングされる対戦相手の防衛マップの1つとして、上記送信されたデータが示す防衛マップが登録される。
第2の例として、制御部31は、ユーザが「他のユーザと対戦する」を選択する操作を行ったことに応じて、対戦要求がサーバ200へ送信する送信用データとして送受信データDsに書き込まれている場合、当該対戦要求を示すデータをサーバ200へ送信する。これによって、サーバ200は、登録されている対戦相手(防衛マップ)から、対戦要求したユーザの対戦相手をマッチングし、当該対戦要求を送信した情報処理装置3へ当該マッチングされた対戦相手を示す対戦相手データを送信する。そして、制御部31は、サーバ200から対戦相手データが送信された場合、上記ステップS109において当該対戦相手データを受信して、送受信データDsに書き込む。なお、対戦相手データは、マッチングされた対戦相手である他のユーザがマップ編集して作成した防衛マップ領域DAeを示すデータが含まれていてもよい。
第3の例として、制御部31は、上記ステップS108によるユーザが攻撃側となった他のユーザとの対戦ゲームが終了して、当該他のユーザとの対戦結果が送信用データとして送受信データDsに書き込まれている場合、当該対戦結果を示す対戦結果データをサーバ200へ送信する。これによって、サーバ200は、上記対戦ゲームの対戦相手である他のユーザの情報処理装置3へ上記対戦結果データを送信する。なお、サーバ200は、情報処理装置3から送信された対戦結果データをそのまま他のユーザの情報処理装置3へ転送してもよいし、情報処理装置3から送信された対戦結果データに何らかの加工を加えた後に他のユーザの情報処理装置3へ送信してもよい。
第4の例として、サーバ200に登録されたユーザの防衛マップを用いて、他のユーザが攻撃側となる対戦ゲームがサーバ200によってマッチングされて当該対戦ゲームが行われた場合、当該対戦ゲームの対戦結果を示す対戦結果データがサーバ200から送信される。そして、制御部31は、サーバ200から対戦結果データが送信された場合、上記ステップS109において当該対戦結果データを受信して、送受信データDsに書き込む。これによって、制御部31は、サーバ200に登録したユーザの防衛マップを用いて当該ユーザが防御側となった対戦ゲームが、他のユーザによって行われたことが通知される。
次に、制御部31は、防御対戦結果に応じたレート算出処理を行い(ステップS110)、次のステップに処理を進める。例えば、制御部31は、上記ステップS109においてサーバ200から対戦結果データを受信している場合、当該対戦結果データが示す対戦結果における攻撃オブジェクトおよび/または防御オブジェクトの対戦終了時の数に応じて、ユーザに加算/減算するレートパラメータの数値を算出し、当該数値に基づいてレートパラメータデータDqを更新する。例えば、図10を用いて例示したレート増減条件を用いる場合、防御側となっているユーザは、他のユーザとマッチングされることによる対戦ゲームで敗北した場合、当該対戦ゲーム終了時に対戦用ゲームマップ上に残存している敵攻撃プレイヤオブジェクトEObの数に応じたポイントが、ユーザ自身のレートポイントから減算される。また、図10を用いて例示したレート増減条件を用いる場合、防御側となっているユーザが攻撃側の他のユーザとの対戦で勝利した場合であっても、レートポイントを獲得することはできない。なお、ユーザが防御側となって他のユーザとマッチングされることによる対戦ゲームが行われる場合、当該他のユーザにおけるエナジーパラメータ(参加パラメータ)の増減が生じるが、当該防御側のユーザにおけるエナジーパラメータ(参加パラメータ)の増減は生じない。なお、評価値変動手段は、取得された対戦結果に応じてユーザに関連する評価値を変動させるものであり、一例としてステップS110の処理を行う制御部31に相当する。
次に、制御部31は、時間経過に応じたエナジー算出処理を行い(ステップS111)、次のステップに処理を進める。例えば、制御部31は、時間経過に応じて、レートパラメータデータDqが示すレートパラメータに所定数加算し、当該加算後のレートパラメータを用いてレートパラメータデータDqを更新する。
次に、制御部31は、表示画像を生成して表示部35に表示する表示制御処理を行い(ステップS112)、次のステップに処理を進める。例えば、制御部31は、上述した各ステップにおける処理結果に応じた表示画像(例えば、マップ編集中や対戦中のゲームマップ画像)を生成して、当該表示画像を表示部35に表示する処理を行う。
次に、制御部31は、ゲーム処理を終了するか否かを判断する(ステップS113)。ゲーム処理を終了する条件としては、例えば、ゲーム処理を終了させる条件が満たされたことや、ユーザがゲーム処理を終了する操作を行ったこと等がある。制御部31は、ゲーム処理を終了しない場合に上記ステップS102に戻って処理を繰り返し、ゲーム処理を終了する場合に当該フローチャートによる処理を終了する。なお、表示制御手段は、第1配置手段によって配置された攻撃オブジェクトと第2配置手段によって配置された防御オブジェクトとを含むフィールドの少なくとも一部を表示装置に表示させるものであり、一例としてステップS113の処理を行う制御部31に相当する。
このように、上記ゲーム処理を行う情報処理装置3によれば、ユーザと他のユーザとの対戦ゲームにおいて、攻撃側となるユーザはユーザ操作に応じたマニュアルで攻撃オブジェクトを制御し、防御側となるユーザは制御部による自動制御で防御オブジェクトを制御する。また、ユーザの攻撃オブジェクトは、ユーザ自身が他のユーザと対戦する際に用いられ、ユーザの防御オブジェクトは、他のユーザの対戦相手としてユーザ自身がマッチングされた場合に用いられるため、それぞれのオブジェクトが登場する場面が異なる。しかしながら、このような前提の非同期対戦ゲームにおいて、他のユーザからの攻撃を防御する防衛マップに防御オブジェクトを予め配置するだけでなく、他のユーザを攻撃するための攻撃マップに攻撃オブジェクトも予め配置したゲームマップを表示画面に表示するため、表示画面に表示される画像に意外性があり、ユーザが防御側だけでなく攻撃側の観点も考慮したオブジェクトの配置および確認が可能となり、ゲームが単調となってしまうことを防止することができる。
また、上述した複数のユーザ間の対戦ゲームでは、攻撃側となるユーザがユーザ操作に応じたマニュアルで攻撃オブジェクトを制御し、防御側となるユーザが制御部による自動制御で防御オブジェクトを制御する例を用いたが、攻撃側となるユーザが制御部による自動制御で攻撃オブジェクトを制御し、防御側となるユーザがユーザ操作に応じたマニュアルで防御オブジェクトを制御する対戦ゲームであってもよい。また、攻撃側となるユーザおよび防御側となるユーザの両方がそれぞれユーザ操作に応じたマニュアルで攻撃オブジェクトおよび防御オブジェクトを制御する対戦ゲームであってもよいし、攻撃側オブジェクトおよび防御側オブジェクトの両方がそれぞれ制御部による自動制御で制御される対戦ゲームであってもよい。また、上述した模擬戦では、攻撃側となるオブジェクトがユーザ操作に応じたマニュアルで制御され、防御側となるオブジェクトが制御部による自動制御で制御される例を用いたが、攻撃側となるオブジェクトが制御部による自動制御で制御され、防御側となるオブジェクトがユーザ操作に応じたマニュアルで制御される模擬戦ゲームであってもよい。また、攻撃側となるオブジェクトおよび防御側となるオブジェクトの両方がそれぞれユーザ操作に応じたマニュアルで制御される模擬戦ゲームであってもよいし、攻撃側オブジェクトおよび防御側オブジェクトの両方がそれぞれ制御部による自動制御で制御される模擬戦ゲームであってもよい。
また、上述した説明では、他のユーザとの間の非同期の対戦処理や模擬戦処理をユーザの情報処理装置3で行われる例を用いたが、ユーザの情報処理装置3が接続された他の装置やユーザの情報処理装置3が通信可能な他の装置で行われてもよい。例えば、他のユーザとの間の非同期の対戦処理や模擬戦処理がサーバ200で行われ、当該処理結果がユーザの情報処理装置3へ逐次送信されるものであってもよい。
また、本発明は、以下に示す構成例のゲームシステムであってもよい。なお、括弧内の記載は、上述した実施例との関係の一例を記載している。
本発明のゲームシステムの一構成例は、記憶手段(例えば、エナジーパラメータデータDr)、増加手段(例えば、S111、S157)、開始手段(例えば、S145、S146)、配置手段(例えば、S104、S146)、動作制御手段(例えば、S148、S149)、第1判定手段(例えば、S149)、および第2判定手段(例えば、S156、S157)を備える。記憶手段は、ユーザに関連するパラメータ(例えば、エナジーパラメータ(参加パラメータ))を記憶する。増加手段は、時間の経過にしたがって上記パラメータを増加させる。開始手段は、上記記憶手段に記憶されているパラメータを減少させて、他のユーザとの対戦に関連するゲーム処理を開始する。配置手段は、格子状のゲームマップに、ユーザに関連する味方キャラクタ(例えば、自軍攻撃プレイヤオブジェクトAOb)、他のユーザに関連する敵キャラクタ(例えば、敵防御プレイヤオブジェクトEOd)、および他のユーザに関連するオブジェクト(例えば、特典が与えられる敵防御設備オブジェクトEOc)を配置する。動作制御手段は、ユーザの操作に基づいて、上記ゲームマップ内で上記味方キャラクタを動作させる。第1判定手段は、上記味方キャラクタが上記オブジェクトに所定の作用(例えば、破壊)を及ぼしたか否かを判定する。第2判定手段は、上記味方キャラクタと上記敵キャラクタとの関係で所定の勝利条件を満たしたか否かを判定する。そして、上記増加手段は、時間の経過にしたがって上記パラメータを増加させるのに加えて、上記第1判定手段および上記第2判定手段による判定結果が肯定の場合に、上記パラメータを増加させる。
上記によれば、他のユーザとの対戦で消費されるパラメータを、時間回復させるだけでなく、当該対戦による勝利条件を満たす、かつ、ゲーム内オブジェクトに所定の作用を及ぼすことによって獲得できるため、新たなゲームルールに基づく対戦ゲームを実現することができる。
また、上記ゲームシステムの一構成例は、ゲームプログラム、情報処理装置、およびゲーム制御方法の形態で実施されてもよい。
なお、上述した説明では、情報処理装置3において送受信されるデータが、サーバ200を介して行われている。これにより、情報処理装置3における通信をサーバ200において集中して管理することができるため、対戦相手のマッチングや通信制御が容易となる。しかしながら、サーバ200にデータを集約させることが不要である場合、サーバ200を介さずに情報処理装置3同士や他の装置と通信が行われてもよい。
また、上述した説明では情報処理を情報処理装置3で行う例を用いたが、上記処理における処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、情報処理装置3と通信可能なサーバ200や他の装置(例えば、他のゲーム装置、他の携帯端末)が協働することによって、上記処理における処理ステップが実行されてもよい。このように、上記処理における処理ステップの少なくとも一部をサーバ200や他の装置で行うことによって、上述した処理と同様の処理が可能となる。また、上述した処理は、少なくとも1つの情報処理装置により構成される情報処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施例においては、情報処理装置3の制御部31が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われたが、情報処理装置3が備える専用回路によって上記処理の一部または全部が行われてもよい。
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置(据置型のゲーム装置)と携帯型の情報処理装置(携帯型のゲーム装置)との間で上記処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した処理の各ステップの処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。
また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。
また、上記各プログラムは、外部メモリ等の外部記憶媒体を通じて情報処理装置3に供給されるだけでなく、有線または無線の通信回線を通じて情報処理装置3に供給されてもよい。また、上記プログラムは、情報処理装置3内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施例の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。