本発明を適用した実施形態として、携帯型コンピュータでオンラインゲームをプレイする例を挙げて説明する。
図1は、本実施形態におけるゲームシステムの構成の一例を示す図である。本実施形態のゲームシステムは、通信回線9に接続することのできるサーバシステム1100と、このサーバシステム1100とデータ通信可能なプレーヤ端末1500とを含む。
通信回線9は、データ通信が可能な通信路を意味する。すなわち、通信回線9とは、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLAN(Local Area Network)の他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方法については有線/無線を問わない。
サーバシステム1100は、例えば、本体装置1101と、キーボード1106と、タッチパネル1108と、ストレージ1140とを備える。そして、本体装置1101には制御基板1150が搭載されている。制御基板1150には、CPU(Central Processing Unit)1151やGPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などの各種マイクロプロセッサ、VRAMやRAM,ROM等の各種ICメモリ1152、通信装置1153が搭載されている。なお、制御基板1150の一部または全部は、ASIC(Application Specific Integrated Circuit)や、FPGA(field-programmable gate array)、SoC(System on a Chip)により実現するとしてもよい。
そして、サーバシステム1100は、制御基板1150で所定のプログラム及びデータに基づいて演算処理することにより、1)ユーザ登録等に係るユーザ管理機能と、2)ユーザであるプレーヤがプレーヤ端末1500でゲームプレイするのに必要なデータを提供するゲーム管理機能と、3)ゲーム内で利用可能なアイテム等のコンテンツを販売するオンラインショッピング機能と、を実現する。つまり、本実施形態におけるビデオゲームは、一種のクライアント・サーバ型のオンラインゲームとして実現される。
なお、図1の例では、サーバシステム1100は単体として記しているが、ユーザ管理機能・オンラインショッピング機能・ゲーム管理機能を分担する複数のブレードサーバを搭載して、相互に内部バスを介してデータ通信可能に接続した構成であっても良い。或いは、離れた場所に設置された独立した複数のサーバを、通信回線9を介してデータ通信させることで、全体としてサーバシステム1100として機能させる構成であっても良い。
図2は、プレーヤ端末1500の構成例を示す正面外観図である。
プレーヤ端末1500は、通信回線9に接続してサーバシステム1100にアクセスすることができる携帯型コンピュータであり小型の電子機器である。本実施形態のプレーヤ端末1500はいわゆるスマートフォンとして分類される装置であるが、携帯型ゲーム装置、据置型家庭用ゲーム装置、据置型家庭用ゲーム装置のゲームコントローラ、業務用ゲーム装置、パソコン、タブレット型コンピュータ、ウェアラブルコンピュータ、などに分類される装置でもよい。
本実施形態におけるプレーヤ端末1500は、方向入力キー1502と、ボタンスイッチ1504と、画像表示デバイス兼接触位置入力デバイスとして機能するタッチパネル1506と、内蔵バッテリー1509と、スピーカ1510と、マイク1512と、イメージセンサユニット1520と、制御基板1550と、コンピュータ読み出し可能な記憶媒体であるメモリカード1540からデータを読み書きできるメモリカード読取装置1542と、を備える。その他、図示されていない電源ボタン、音量調節ボタン等が設けられている。また、ICカード型のクレジットカードやプリペイドカードに対して非接触にデータの読み書きを行えるICカード読取装置などを設けるとしてもよい。なお、本実施形態のプレーヤ端末1500は縦長の外観を有しており、縦横比の異なるタッチパネル1506は長辺側が端末の縦と合致する姿勢で搭載されている。
制御基板1550は、CPU1551や、GPU,DSPなどの各種マイクロプロセッサ、VRAMやRAM,ROM等の各種ICメモリ1552、通信回線9に接続する携帯電話基地局や無線LAN基地局などと無線通信するための無線通信モジュール1553、が搭載されている。その他、タッチパネル1506のドライバ回路、方向入力キー1502及びボタンスイッチ1504からの信号を受信する回路、スピーカ1510へ音声信号を出力する出力アンプ回路、マイク1512で集音した音声の信号を生成する入力信号生成回路、イメージセンサユニット1520で撮影・生成された画像データの入力、メモリカード読取装置1542への信号入出力回路、などの所謂I/F回路1557(インターフェース回路)等が搭載されている。そして、これら制御基板1550に搭載されている各要素は、それぞれバス回路などを介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。なお、制御基板1550の一部または全部は、ASIC(Application Specific Integrated Circuit)や、FPGA(field-programmable gate array)、SoC(System on a Chip)により実現するとしてもよい。
制御基板1550は、プレーヤ端末1500にてゲームプレイを実現するためのプログラムやデータをICメモリ1552に記憶する。そして、プログラムを実行して演算処理を実行して、方向入力キー1502やボタンスイッチ1504,タッチパネル1506からの操作入力に応じてプレーヤ端末1500の各部を制御してゲームプレイを可能にする。本実施形態では、プレーヤ端末1500は必要なプログラムや各種設定データをサーバシステム1100から取得する構成としているが、別途入手したメモリカード1540などの記憶媒体から読み出す構成としても良い。
図1に戻って、プレーヤは本実施形態のゲームをプレイするための事前準備として、ユーザ登録手続きをしてユーザID(アカウント)を取得する。ユーザ登録は、サーバシステム1100が提供するウェブサイトにアクセスし、所定の手続きを経ることにより実現される。ユーザ登録をするとユーザID(アカウント:プレーヤ固有のID)が発給される。以降、プレーヤは同ウェブサイトにアクセスし、発給されたユーザIDでログインすることによりゲームプレイやオンラインショッピングなどが可能となる。
[ゲーム内容の説明]
図3は、本実施形態のゲームの概要を説明するための図である。
本実施形態のゲームは、オンラインタワーディフェンスゲームであって、複数のゲームステージの中からプレイするステージを選択して遊ぶことができる。以降では、プレーヤが守備側(防衛側)でコンピュータを攻撃側とするPvC(プレーヤ・バーサス・コンピュータ)形式を想定して説明するが、PvP(プレーヤ・バーサス・プレーヤ)形式でもよい。
プレーヤは、プレイするマップ(ゲームステージ、ゲームフィールド)を選択することができる。マップ10には、それぞれ様々な地形が設定されている。そして、各マップ10には予めプレーヤの拠点12が設置されており、プレイ開始とともに敵14が次々に出現し拠点12を目がけて攻めてくる。プレーヤは、マップ10の任意の場所に自軍の砲台16を配置してこれを迎え撃つ。
敵14は、移動力や行動パターン、攻撃力、防御力、移動速度、攻撃方法などで異なる様々な種類が設定されており、その移動や攻撃はコンピュータにより自動制御される。砲台16も、射程や1射当たりのダメージ範囲、時間当たりの射撃数、弾数などが異なる複数種類が用意されており、索敵・照準・攻撃がコンピュータにより自動制御される。そして、敵14や砲台16は互いに相手を攻撃可能であり、攻撃によるダメージがそれぞれの耐久値を超えると行動不能となる。つまり撃破される。
敵14が拠点12に到達するとゲームオーバーとなるが、敵14の攻撃を所定時間しのぐか敵14を全て撃破すればゲームクリアとなる。そして、ゲームオーバー又はゲームクリアの区別、そしてゲームオーバー又はゲームクリアするまでに撃破した敵14の数や種類がプレイ成績となる。つまり、敵14の種類別の進行ルートを想定して、効率的な防衛ポイントに適切な種類の砲台16を配置することがゲームの要諦となる。
さて、本実施形態のタワーディフェンスゲームでは、ゲーム開始前に砲台16の選択配置すなわち陣地構築を済ませておく。そして、その際、プレーヤは、防衛要素として、一度配置されると移動不可能な砲台16に加えて、マップ10内を自律的に移動して索敵し攻撃をすることのできるキャラクタ20を出現させるスタンド22(基点オブジェクト)をマップ10に選択配置することができる。
図4は、ゲーム開始前の陣地構築画面の例を示す図である。
陣地構築画面W4には、これからプレイするゲームステージを示すステージID表示部30と、行動ポイント表示部32と、配置設定用マップ34と、情報表示部36と、デッキ38とが含まれる。
デッキ38には、プレーヤが使用できる選択配置要素(砲台16、キャラクタ20、スタンド22)が選択可能に表示されている。本実施形態では、それぞれカード状に表示されている。
本実施形態では、プレーヤが使用した選択配置要素はゲーム成績に応じて能力が向上するように自動的に成長制御され、次のゲームでも利用できるようにデータセーブされる。デッキ38には、セーブデータが有れば前回までに使用していた選択配置要素が表示され、セーブデータがなければ所定のデフォルトの構成で選択配置要素が表示される。
デッキ38の中から配置したい選択配置要素をタッチして選択すると、当該選択された選択配置要素に関する情報が情報表示部36に表示されるので、プレーヤは当該選択配置要素の能力を確認することができる。
そして、デッキ38の中から配置したい選択配置要素を、配置設定用マップ34の希望する位置へドラッグ・アンド・ドロップ操作をすると、配置設定用マップ34内の該当位置に当該選択配置要素が表示されるとともに、当該選択配置要素におけるデッキ38の表示が「配置済」を示す所定の形態(図示の例では網掛け表示がこれに該当)に変化し、当該選択配置要素の配置が決定される。
勿論、配置設定用マップ34内に配置済の選択配置要素を再びドラッグ・アンド・ドロップ操作すると配置位置を変更することができる。
各選択配置要素には、当該選択配置要素の能力や成長度合いに応じて配置コストが設定されており、プレーヤは自身が保有する行動ポイントの範囲で好みの選択配置要素を組み合わせて配置することができる。保有する行動ポイントの残値は行動ポイント表示部32に表示される。
スタンド22も、砲台16と同様にしてデッキ38から配置設定用マップ34へドラッグ・アンド・ドロップ操作により選択配置することができる。そして、スタンド22には、当該スタンド22に対応付けてキャラクタ20を登録することができる。スタンド22はキャラクタ20を出現させることができる。
スタンド22もゲーム成績に応じて自動的に能力が向上し成長する。成長度合いを示す等級は「スタンドレベル(STLev.)」として表される。そして、当該スタンドに登録できる「キャラクタ登録可能数」や、登録されているキャラクタ20を同時に幾つまで出現させることができるかを示す「同時出現可能数」などの能力が向上する。「キャラクタ登録可能数」は登録枠37として表される。
デッキ38にて何れかのスタンド22をタッチすると当該スタンドの情報が情報表示部36に表示される。プレーヤは情報表示部36の登録枠37をタッチして登録先に指定し、デッキ38から当該登録枠へキャラクタ20をドラッグ・アンド・ドロップ操作するとキャラクタの登録操作と見なされ、そのキャラクタ20をスタンド22に対応づけて登録できる。登録済みのキャラクタ20の情報も情報表示部36に表示される。なお、所定の登録解除操作を行うことでキャラクタ20の登録を任意に解消することができる。
図5は、スタンド22を配置した状態の陣地構築画面W4の例を示している。
プレーヤが所望するスタンド22をデッキ38から配置設定用マップ34へドラッグ・アンド・ドロップ操作すると、当該スタンド22が配置設定用マップ34内に配置・表示されるとともに、当該スタンド22のデッキ38における表示が「配置済」を示す所定の形態(図示の例では網掛け表示がこれに該当)に変化する。そして、当該スタンド22のマップ内への配置が決定される。
そして、スタンド22のマップ内への配置が決定すると、当該スタンド22から、当該スタンド22に登録されているキャラクタ20が出現表示され、キャラクタ20の自動制御が開始される。具体的には、キャラクタ20は、その移動可能能力に応じた距離の範囲でスタンド22の周囲を移動しながら索敵をする巡視動作を行う。勿論、この段階では陣地構築画面W4内なので敵は存在せず、プレーヤにはキャラクタ20が単に動き回っているようにしか見えない。
さて、幾つものスタンド22を配置設定用マップ34に配置し、それぞれのスタンド22からキャラクタ20が出現して動き回ると、配置設定したプレーヤ自身、どのキャラクタ20がどのスタンド22を基点に防御するのか分かり難くなる恐れがある。
そこで本実施形態では、配置済のスタンド22に対して所定の「情報表示開始操作」を行うと配置設定用マップ34内にスタンド22に関する「情報表示」が行われ、キャラクタ20との対応関係が明示される。
「情報表示開始操作」は、例えば配置設定用マップ34内のスタンド22へのタッチ操作とされる。そして、「情報表示」としては、当該スタンド22と登録されているキャラクタ20とを線状に結ぶ紐付け表示体40と、当該スタンド22や登録済みキャラクタ20に関する範囲表示体42と、が表示される。
例えば図5(2)に示すように、紐付け表示体40は、スタンド22の上部とキャラクタ20の上部とを側面視フック状のライン(線分)で結んでいるように表示される。釣り竿とその先から垂れる糸のように表示してもよい。勿論、単純な直線で結ぶとしてもよい。
範囲表示体42として表示される内容は、スタンド22とこれに登録されたキャラクタ20が能力を発揮する範囲を表し、スタンド22とキャラクタ20との組み合わせに応じて変更する。
例えば、同じスタンド22に、近接攻撃型のキャラクタ20aと、狙撃型のキャラクタ20bと、当地属性型のキャラクタ20cとが、それぞれ登録されている例を挙げる。
図6(1)に示すように、近接攻撃型のキャラクタ20aは、敵14に接近して直接攻撃を行うことで能力を発揮する。よって、近接攻撃型のキャラクタ20aと組み合わされたスタンド22の範囲表示体42aは、当該キャラクタ20aから離れることのできる範囲(攻撃できる範囲といえるため、射程範囲ともいえる)を表すように表示される。
また、図6(2)に示すように、狙撃型のキャラクタ20b(スタンド22の位置から動かずに攻撃するタイプ)は、自身から所定距離離れたドーナツ型の領域に対して攻撃することができる。よって、狙撃型のキャラクタ20bと組み合わされたスタンド22の範囲表示体42bは、当該スタンド22を中心とする射程範囲を表すように表示される。
また、図6(3)に示すように、当地属性型のキャラクタ20cは、スタンド22の位置から殆ど動かずにスタント22からの距離に応じた影響を及ぼすタイプである。よって、当地属性型のキャラクタ20cと組み合わされたスタンド22の範囲表示体42cは、スタンド22からの距離に応じた当地の威力範囲を段階的に表すように表示される。当地属性型のキャラクタ20cとしては、例えば、スタンド22から電磁波や魔法を発生させて攻撃を行うキャラクタ20cが考えられる。
勿論、範囲表示体42の表示例は、これらに限らずゲーム内容に応じて適宜設定可能である。例えば、範囲表示体42の形状も同心円状に限らず、扇形や、多角形、飛び地状、などでもよい。また、範囲表示体42が表示する内容も、キャラクタ20の能力に関する情報に限らず、スタンド22の能力に関する情報でもよい。また、範囲表示体42の範囲としては、例えば、キャラクタ20が交戦状態ではないときに適用される巡視範囲(初期限定移動許可範囲)や、キャラクタ20の種類に限らず適用される索敵範囲、スタンド22それ自体が及ぼす影響範囲(例えば、敵の移動速度や射程を変化させる重力フィールドの範囲など)、登録されているキャラクタ20の移動能力に係わらず適用される行動可能範囲(スタンド22にキャラクタ20が紐でつながれているイメージでキャラクタ20が行ける範囲に相当)であってもよい。
[機能構成の説明]
図7は、本実施形態におけるサーバシステム1100の機能構成例を示す機能ブロック図である。本実施形態におけるサーバシステム1100は、操作入力部100sと、サーバ処理部200sと、画像表示部392sと、通信部394sと、サーバ記憶部500sとを備える。
操作入力部100sは、サーバシステム1100の管理のための各種操作を入力するための手段である。図1の例ではキーボード1106が該当する。
サーバ処理部200sは、例えばCPUやGPU等のマイクロプロセッサや、ICメモリなどの電子部品によって実現され、操作入力部100sやサーバ記憶部500sを含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100sからの操作入力信号、プレーヤ端末1500などのプレーヤ端末から受信したデータに基づいて各種の演算処理を実行して、サーバシステム1100の動作を統合的に制御する。図1の例では制御基板1150がこれに該当する。
そして、本実施形態のサーバ処理部200sは、ユーザ管理部202と、オンラインショッピング管理部204と、ゲーム管理部206と、画像生成部292sと、通信制御部294sとを含む。
ユーザ管理部202は、ユーザ登録手続きに係る処理と、登録済みユーザに関連付けされる各種データの登録管理処理とを行う。
例えば、1)所定の登録手続きを経たユーザすなわちプレーヤへの固有のユーザIDの発給処理、2)電子決済用媒体の紐付け処理、3)電子決済用の口座の設定、4)現金あるいはクレジットカードを用いた口座への入金処理、5)プレイ対価の支払い等の決済処理、6)決済履歴の記憶管理、などを行うことができる。なお、砲台16や、キャラクタ20、スタンド22などの選択配置要素を、別途入手した実体としてのゲームカード(所謂トレーディングカード)のカードIDを登録することでゲーム内で利用可能にする構成では、ゲームカードの登録手続き処理を更に行うとしてもよい。
オンラインショッピング管理部204は、砲台16や、キャラクタ20、スタンド22などの選択配置要素や、行動ポイント、選択配置要素に能力を付加するアイテム、抽選権、イベント参加権、などのオンライン購入を実現させる機能部である。公知のオンラインショッピングと同様にして実現できる。
ゲーム管理部206は、ゲームプレイに係る各種処理を行う。
本実施形態は、クライアント・サーバ型のオンラインゲームなので、ゲーム管理部206は、プレーヤ端末1500から実行リクエストを受信して本実施形態のゲームを起動させて、当該プレーヤ端末1500と通信を行いながらゲームプレイに必要なデータを提供する制御を行う。
例えば、プレーヤ端末1500からの操作入力に応じて、プレイするゲームステージの選択を受け付けたり陣地構築に関する操作を受け付けるなどのプレイ準備処理、敵14や砲台16並びにキャラクタ20の自動制御、攻撃のヒット判定処理、ダメージ反映処理、計時処理、ゲームプレイ成績の判定処理、使用された砲台16やキャラクタ20やスタンド22の成長処理、成長したそれらの選択配置要素のデータセーブ処理、などを行うことができる。その他、ゲーム内容に応じてゲーム進行制御に必要なフラグの管理、データのデコードなどの処理を適宜実行できる。
もし、PvP形式でゲームを実行する場合には、ゲーム管理部206に対戦者のマッチング機能を含めるとしてもよい。なお、PvP形式では、攻守が交互に切り替わる形式で実行するとしても良いし、攻撃側のプレーヤが守備側のプレーヤの陣地構築データに対して攻撃する操作入力のみを受け付ける形式で実行するとしてもよい。
より詳細に説明すると、本実施形態のゲーム管理部206は、ゲーム準備制御部210と、ゲーム進行制御部220と、等級変更部230とを含む。
ゲーム準備制御部210は、ゲームプレイ開始前の各種準備に必要な制御、例えば、陣地構築に関する処理と、陣地構築に伴う各種パラメータ値の変更処理とを行う。
具体的には、ゲーム準備制御部210は、基点オブジェクト配置制御部211と、対応付け設定部212と、対応付け表示制御部213と、能力発揮範囲設定部214と、キャラクタ能力変更部215と、を含む。
基点オブジェクト配置制御部211は、陣地構築画面W4におけるプレーヤ(ユーザ)の選択配置操作に従って、選択された基点オブジェクト(本実施形態ではスタンド22)を、ゲームフィールド(マップ)内の指定された配置位置に配置する。
対応付け設定部212は、陣地構築画面W4におけるプレーヤ(ユーザ)の操作に従って、単数又は複数のキャラクタ20をスタンド22(基点オブジェクト)に対応付ける制御を行う。本実施形態では、対応付け設定部212は、スタンド22のスタンドレベル(等級)を用いて、対応付け可能なキャラクタの数を変更することができる。
対応付け表示制御部213は、対応付けがなされたスタンド22(基点オブジェクト)とキャラクタ20との間に線状表示体(本実施形態では図6の紐付け表示体40)を表示させて対応付けを識別表示させる。
能力発揮範囲設定部214は、対応付けられたスタンド22(基点オブジェクト)とキャラクタ20との組み合わせにおいて、当該スタンド22を基準とする当該キャラクタ20の所定能力の能力発揮範囲を設定する。
本実施形態では、能力発揮範囲として、1)キャラクタ20が巡視可能な巡視範囲と、2)キャラクタ20が攻撃可能な射程と、3)キャラクタ20の索敵範囲と、のいずれか1つ以上を設定することができる。勿論、能力発揮範囲は、ゲーム内容に応じて適宜設定可能である。
そして、能力発揮範囲設定部214は、スタンド22のスタンドレベル(等級)を用いて、それら能力発揮範囲を可変に設定することができる。また、対応付けられたスタンド22とキャラクタ20との組み合わせにおいて、当該スタンド22に定められた所与の属性と当該キャラクタ20に定められた所与の属性との関係に基づいて能力発揮範囲を可変に設定することができる。また、スタンド22の配置位置に応じて能力発揮範囲を可変に設定することができる。
キャラクタ能力変更部215は、対応付けられたスタンド22(基点オブジェクト)とキャラクタ20との組み合わせに応じて、当該スタンド22のスタンドレベル(等級)を用いて、当該キャラクタ20の所与の能力値を変更する。
ゲーム進行制御部220は、ゲームプレイ開始以降のゲーム進行及びデータセーブに関する各種制御を行う。例えば、敵14や砲台16やキャラクタ20の自動制御、攻撃のヒット判定処理、ダメージ反映処理、計時処理、ゲームプレイ成績の判定処理、使用された砲台16やキャラクタ20やスタンド22の成長処理、成長したそれらの選択配置要素のデータセーブ処理、がこれに該当する。
そして、本実施形態のゲーム進行制御部220は、キャラクタ出現制御部221と、第2キャラクタ能力変更部222とを含む。
キャラクタ出現制御部221は、ゲーム進行状況などが所与の「補充条件」を満たした場合に、スタンド22に対応付けられた複数のキャラクタ20の中から、順次、キャラクタ20を出現させる制御を行う。
本実施形態における「補充条件」は、1)制御対象とするスタンド22から出現済のキャラクタ20の数が、当該スタンド22に設定されている同時出現可能数に満たない、かつ、2)前回のキャラクタ20の出現から補充所要時間が経過している、とする。
出現するキャラクタ20の順番は、登録枠37(図4参照)に予め設定されている優先順位(例えば、開放順番)に従うものとする。なお、制御対象のスタンド22に登録済みのキャラクタ20が未出現のまま残っている場合には、上記補充条件2)は補充条件から省略する(満たすものとして扱う)としてもよい。そして、本実施形態のキャラクタ出現制御部221は、スタンド22のスタンドレベルを用いて、当該スタンド22から出現可能なキャラクタ20の数を可変にキャラクタを出現させることができる。
第2キャラクタ能力変更部222は、ゲーム進行に応じて、スタンド22(基点オブジェクト)のスタンドレベル(等級)に応じて、当該スタンド22に対応づけられているキャラクタ20の所与の能力パラメータ値を変更する。
等級変更部230は、ゲーム結果又はゲーム進行に応じて、スタンド22(基点オブジェクト)に定められた等級(スタンドレベル)を段階的に変更する。
画像生成部292sは、例えば、GPU、デジタルシグナルプロセッサ(DSP)などのプロセッサ、ビデオ信号IC、ビデオコーデックなどのプログラム、フレームバッファ等の描画フレーム用ICメモリ等によって実現される。そして、画像生成部292sは、ゲーム管理部206による処理結果に基づいてプレーヤ端末1500にてゲーム画面の画像を表示させるためのデータを生成する。また、その他システム管理に必要な画像を生成して画像信号を画像表示部392sに出力する。
画像表示部392sは、画像生成部292sから入力される画像信号に基づいてシステム管理のための各種画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図1の例ではタッチパネル1108が該当する。
通信制御部294sは、データ通信に係るデータ処理を実行し、通信部394sを介して外部装置とのデータのやりとりを実現する。
通信部394sは、通信回線9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。図1の例では通信装置1153が該当する。
サーバ記憶部500sは、サーバ処理部200sにサーバシステム1100を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームを管理するために必要なプログラム、各種データ等を記憶する。また、サーバ処理部200sの作業領域として用いられ、サーバ処理部200sが各種プログラムに従って実行した演算結果などを一時的に記憶する。こうした機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVDなどの光学ディスク、オンラインストレージなどによって実現される。図1の例ではICメモリ1152やハードディスクなどの記憶媒体、及びストレージ1140がこれに該当する。
図8は、本実施形態におけるサーバ記憶部500sが記憶するプログラムやデータの例を示す図である。
サーバ記憶部500sは、システムプログラム501と、サーバプログラム502と、配信用クライアントプログラム507と、ステージ別ゲーム初期設定データ510と、スタンド・キャラクタ種類基準相性定義データ530と、スタンド・キャラクタ属性基準相性定義データ531と、スタンド情報表示内容定義データ532と、スタンド能力定義データ540と、を予め記憶する。
また、サーバ記憶部500sは、逐次生成更新されるデータとして、ユーザ管理データ600と、プレイデータ700と、を記憶する。更には、その他、タイマやカウンタ、各種フラグなどの情報を適宜記憶できる。
システムプログラム501は、サーバ処理部200sが読み出して実行することでコンピュータとして必要な基本的な入出力機能を実現するための基本プログラムである。
サーバプログラム502は、オンラインゲームのゲームサーバとしての機能を実現させるためのプログラムである。本実施形態では、ユーザ管理部202としての機能を実現させるためのユーザ管理プログラム503と、オンラインショッピング管理部204としての機能を実現させるためのオンラインショッピング管理プログラム504と、ゲーム管理部206としての機能を実現させるためのゲーム管理プログラム505とを含む。
配信用クライアントプログラム507は、ゲームを実行するためにプレーヤ端末1500で実行するべきプログラムである。配信用クライアントプログラム507は、例えば、専用のプログラムとして実現してもよい。あるいは、本実施形態のゲームをウェブゲームとして実現するならば、ウェブブラウザをベースとしてHTMLとともにJava(登録商標)やCSS(Cascading Style Sheets)等を利用して能動的に画面表示を制御するウェブ技術や、Adobe(登録商標) Flashなどのプラグインを用いて実現するとしてもよい。勿論、その他の方法でもかまわない。
ステージ別ゲーム初期設定データ510は、ゲームステージ別に用意され、それぞれのステージにおけるゲームを実行するために必要な各種初期設定データを格納する。その一部は、プレーヤ端末1500への配信に用いるとしてもよい。
1つのステージ別ゲーム初期設定データ510は、例えば図9に示すように、ステージID511と、マップデータ512と、敵定義データ513と、敵出現パターン定義データ514と、スタンド配置許可条件定義データ515と、スタンド・マップ範囲相性定義データ516とを含む。勿論、ゲーム内容によって、これら以外のデータも適宜含めることができる。
敵定義データ513は、当該ステージに登場する敵14(図3参照)の種類毎に用意され、当該敵を画面表示するための各種データや、耐久値・攻撃力・移動速度・射程などの初期能力パラメータ値、行動パターンの定義データ、などを格納する。
敵出現パターン定義データ514は、マップ10のどこからどのタイミングでどの種類の敵を幾つ出現させるかを定義する。
スタンド配置許可条件定義データ515は、マップ10のうちどこにどの種類のスタンド22を配置できるかを定義するデータである。例えば、スタンド配置許可条件定義データ515は、特定のマップの範囲毎に用意され、当該マップ範囲とそこに配置可能なスタンド22の種類のリストを対応づけて格納する。
スタンド・マップ範囲相性定義データ516は、スタンド22とマップ10の特定範囲との相性を定義する。スタンド・マップ範囲相性定義データ516は、スタンド22の種類毎に用意され、スタンド種類と、特定のマップ範囲と、スタンド能力パラメータ値変更リストと、キャラクタ能力パラメータ値変更リストと、を対応付けて格納する。
スタンド能力パラメータ値変更リストは、該当する種類のスタンド22を対応する特定のマップ範囲に配置した場合、当該スタンド22の能力パラメータのどれをどれだけ変更するかのリストである。例えば、変更対象能力パラメータ「同時出現可能数」を、変更量「+1」するといった具合である。
キャラクタ能力パラメータ値変更リストは、該当する種類のスタンド22を対応する特定のマップ範囲に配置した場合、当該スタンド22に登録されているキャラクタ20の能力パラメータのどれをどれだけ変更するかのリストである。例えば、変更対象能力パラメータ「攻撃力」を、変更量「+5」するといった具合である。
図8に戻って、スタンド・キャラクタ種類基準相性定義データ530は、スタンド22の種類とキャラクタ20の種類との組合せ別の相性を定義するデータである。
スタンド・キャラクタ種類基準相性定義データ530は、例えば、スタンドの種類毎に用意され、スタンド種類と、キャラクタ種類リストと、キャラクタ能力パラメータ値変更リストとを対応づけて格納する。スタンド種類とキャラクタ種類リストに含まれるキャラクタ種類との組合せが、当該データが適用される条件に該当する。キャラクタ能力パラメータ値変更リストは、当該スタンド22に登録されているキャラクタ20の能力パラメータのどれをどれだけ変更するかのリストである。例えば、変更対象能力パラメータ「耐久値」を、変更量「+5」するといった具合である。
スタンド・キャラクタ属性基準相性定義データ531は、スタンド22の属性とキャラクタ20の属性との組合せ別の相性を定義するデータである。例えば、スタンドの属性毎に用意され、スタンド属性と、キャラクタ属性リストと、キャラクタ能力パラメータ値変更リストとを対応づけて格納する。スタンド属性と、キャラクタ属性リストに含まれるキャラクタ種類との組合せが、当該データが適用される条件に該当する。キャラクタ能力パラメータ値変更リストは、当該スタンド22に登録されているキャラクタ20の能力パラメータのどれをどれだけ変更するかのリストである。
スタンド情報表示内容定義データ532は、情報表示の開始操作がなされたスタンド22に係るどの情報を範囲表示体42で表すかを定義するデータである。スタンド情報表示内容定義データ532は、例えば、キャラクタ種類毎に用意され、範囲表示体42(図6参照)で表示するべきパラメータ(例えば、巡視範囲を示す値)を格納する。
スタンド能力定義データ540は、スタンド22の成長度合いに応じてどのような能力が付与されるかを定義するデータである。例えば図10に示すように、キャラクタ登録可能数定義データ541と、同時出現可能数定義データ542と、登録可能キャラクタレベル定義データ543と、登録可能キャラクタ種類定義データ544と、キャラクタ能力変更定義データ545と、を含む。勿論、スタンド22の能力の構成に応じてこれら以外のスタンド能力に係る定義データを適宜含めることができる。
これらの定義データは適用条件毎に用意される。適用条件は、スタンドレベルの範囲や、プレーヤレベルの範囲などを単独又は複数組み合わせて適宜設定できる。また、定義データには、適用条件に対応付けて、当該適用条件が満たされた場合に当該スタンド22に付与される各種能力や作用効果(図示の例では、キャラクタ登録可能数、同時出現許可、登録可能キャラクタレベル、登録可能キャラクタ種類、キャラクタの能力パラメータ値の変更内容)が定義される。スタンド22に付与される各種能力は、陣地構築画面W4におけるスタンド22へのキャラクタ20の登録の際や、ゲーム進行中に適宜参照されて適用される。
具体的には、キャラクタ登録可能数定義データ541には、スタンドレベル「1」はキャラクタ登録可能数「1」、スタンドレベル「2〜3」はキャラクタ登録可能数「2」、スタンドレベル「4」以上はキャラクタ登録可能数「3」といった具合に、スタンド22が成長するとキャラクタ20の登録可能数が増えるように定義すると好適である。
同時出現可能数定義データ542には、スタンドレベル「1」は同時出現可能数「1」、スタンドレベル「2〜4」はキャラクタ登録可能数「2」、スタンドレベル「5」以上はキャラクタ登録可能数「3」といった具合に、スタンド22が成長するとキャラクタ20の同時出現可能数が増えるように定義すると好適である。キャラクタ登録可能数には、「制限無し」や「0」を設定することもできる。
登録可能キャラクタレベル定義データ543は、そのスタンド22に登録可能なキャラクタ20の成長度合いを定義する。例えば、スタンドレベル「1」はキャラクタレベル「1〜3」まで登録可能とし、スタンドレベル「2〜5」はキャラクタレベル「2〜5」まで登録可能とし、スタンドレベル「6」以上はキャラクタレベル「5」以上が登録可能、といった具合に、スタンド22が成長すると登録可能なキャラクタ20に要求されるキャラクタレベルが上昇するように定義すると好適である。登録可能キャラクタレベル範囲にはどのキャラクタレベルでも登録可能を意味する「無指定」を設定することも可能である。
また、登録可能キャラクタ種類定義データ544は、そのスタンド22に登録可能なキャラクタ20の種類を定義する。例えば、スタンドレベル「1」は近接攻撃型のみ登録可能とし、スタンドレベル「2〜3」は近接攻撃型と狙撃型が登録可能で、スタンドレベル「4」以上はキャラクタレベル「5」以上ではどのキャラクタ種類でも登録可能を意味する「無指定」といった具合に、スタンド22が成長すると登録可能なキャラクタ20の種類が増えるように定義すると好適である。
キャラクタ能力変更定義データ545は、当該スタンド22に登録されたキャラクタ20のセーブ時の能力パラメータ値への作用を定義する。例えば、スタンドレベル「1」は変更無し、スタンドレベル「2」は攻撃力「+5」、レベル「3」は防御力「+10」といった具合に、スタンド22が成長すると当該スタンド22に登録されたキャラクタ20の能力が向上するように定義すると好適である。勿論、レベル「5」で攻撃力「+20」、防御力「−10」といった具合に一部の能力を低減させる設定も可能である。
図8に戻って、ユーザ管理データ600は、ユーザ登録されたプレーヤ毎に用意される。1つのユーザ管理データ600は、例えば図11に示すように、ユーザID601と、保有行動ポイント603と、セーブデータ605と、を含む。勿論、これら以外のデータも適宜格納することができる。
セーブデータ605には、スタンド22別の保有スタンドステータスデータ610と、砲台16別の保有砲台ステータスデータ640と、キャラクタ20別の保有キャラクタステータスデータ650とが含まれる。勿論、ゲーム内容に応じてこれら以外のデータも適宜含めることができる。
1つの保有スタンドステータスデータ610には、例えばスタンドID611と、スタンド種類612と、スタンド属性613と、スタンドレベル614と、配置コスト615と、初期耐久値616と、キャラクタ登録可能数620と、同時出現可能数621と、登録可能キャラクタレベル範囲622、登録可能キャラクタ種類リスト623と、巡視範囲624と、キャラクタ移動可能範囲625と、登録キャラクタIDリスト630と、を格納する。勿論、これら以外のデータも適宜格納することができる。
キャラクタ登録可能数620と、同時出現可能数621と、登録可能キャラクタレベル範囲622、登録可能キャラクタ種類リスト623とには、スタンド能力定義データ540(図10参照)により決定される情報が格納される。
巡視範囲624と、キャラクタ移動可能範囲625は、当該スタンド22に係る範囲情報である。それぞれ実質的に範囲の制約が無い状態に相当する「無制限」を設定することができる。
巡視範囲624は、当該スタンド22に登録されているキャラクタ20が交戦状態でない場合に適用される行動可能範囲であり、パトロール範囲ともいえる。キャラクタ20は巡視範囲624内を移動していて自身の索敵範囲に敵14を検知すると交戦を開始する(交戦状態となる)。交戦状態となったキャラクタ20は、巡視範囲624による制限が解除され、自身の移動能力や索敵能力に応じて移動し索敵し攻撃するように自動制御される。
キャラクタ移動可能範囲625は、当該スタンド22に登録されているキャラクタ20が当該スタンド22から離れることのできる範囲を定義する。
なお、スタンド22に係る範囲情報は、これらに限らずゲーム内容やスタンド22の種類に応じて適宜設定することができる。
登録キャラクタIDリスト630は、キャラクタ20の登録枠順に、当該登録枠に登録されているキャラクタIDか、未登録を示す所定値か、未解放であることを示す所定値かの何れかを格納する。
保有砲台ステータスデータ640は、当該プレーヤが保有する砲台16別のセーブデータである。
保有キャラクタステータスデータ650は、当該プレーヤが保有するキャラクタ20別のセーブデータである。1つの保有キャラクタステータスデータ650は、例えば、図12に示すように、キャラクタID651と、キャラクタ種類652と、キャラクタ属性653と、当該キャラクタの等級・成長度合いを示すキャラクタレベル654と、セーブ時能力パラメータ値リスト660とを含む。勿論、これら以外のデータも適宜格納することができる。
セーブ時能力パラメータ値リスト660に含まれるパラメータの種類はゲーム内容に応じて適宜設定される。本実施形態では、耐久値と、攻撃力と、防御力と、射程と、索敵範囲と、スタンド22からの移動可能距離と、を含む。勿論、これら以外のデータも適宜格納することができる。
図8に戻って、プレイデータ700は、プレイ中のゲーム別に用意されてその進行状況を記述する各種データを格納する。1つのプレイデータ700は、例えば図13〜図14に示すように、プレーヤを識別するためのユーザID701と、プレイに使用されるゲームステージすなわちマップの種類を示すステージID702と、陣地構成データ704と、スタンド制御データ710と、砲台制御データ740と、キャラクタ制御データ750と、敵制御データ770と、プレイ成績データ772と、を格納する。勿論、これら以外のデータも適宜格納することができる。
陣地構成データ704は、陣地構築画面W4による操作入力結果を記述するデータである。すなわち、ステージID702が示すステージのマップ10の何処にどの選択配置要素(砲台16、スタンド22)が配置されたかを示すデータである。
スタンド制御データ710は、プレーヤが保有するスタンド22のうち陣地構築画面W4(図4参照)にて配置設定用マップ34に配置されたスタンド22別に用意され、プレイ中の当該スタンド22の状況を記述する各種データを格納する。
例えば、スタンドID711と、スタンド種類712と、スタンド属性713と、スタンドレベル714と、配置コスト715と、初期耐久値716と、キャラクタ登録可能数720と、同時出現可能数721と、登録可能キャラクタレベル範囲722、登録可能キャラクタ種類リスト723と、巡視範囲724と、キャラクタ移動可能範囲725と、登録キャラクタIDリスト730と、を格納する。
これらは、ゲーム開始時にプレーヤのセーブデータ605の保有スタンドステータスデータ610からコピーされるが、陣地構築画面W4において当該スタンド22が配置されたマップ又は配置位置との相性や、当該スタンド22へ登録されたキャラクタ20との相性などによって変更される。
また、スタンド制御データ710は、当該スタンド22のマップ10における配置位置座標731と、残スタンド耐久値732と、当該スタンドから登録キャラクタIDリスト730に示されるキャラクタ20のうちどれが出現中であるかを示す出現中キャラクタIDリスト733と、含む。勿論、これら以外のデータも適宜格納することができる。
砲台制御データ740は、プレーヤが保有する砲台16のうち陣地構築画面W4(図4参照)にて配置設定用マップ34に配置された砲台16別に用意され、プレイ中の当該砲台16の状況を記述する各種データを格納する。
キャラクタ制御データ750は、プレーヤが保有するキャラクタ20のうち陣地構築画面W4(図4参照)にて配置設定用マップ34に配置されたキャラクタ20別に用意され、プレイ中の当該キャラクタの状況を記述する各種データを格納する。
1つのキャラクタ制御データ750は、例えば、キャラクタID751と、キャラクタ種類752と、キャラクタレベル753と、登録先スタンドID754と、現在位置座標755と、適用能力パラメータ値リスト760とを含む。勿論、これら以外のデータも適宜格納することができる。
適用能力パラメータ値リスト760の各値は、ゲーム開始前に該当するキャラクタの保有キャラクタステータスデータ650(図12参照)からコピーされ、陣地構築画面W4での配置・設定結果に応じて、登録先のスタンド22との相性や、当該スタンド22が設置されたマップ中の位置に応じて変更される。
敵制御データ770は、プレイ中にマップ10に出現した敵14(図4参照)毎に用意され、その現在位置や残耐久値など当該敵の状況を示し制御するための各種データを格納する。
プレイ成績データ772は、ゲーム成績に関する情報を格納する。本実施形態では、砲台16,キャラクタ20毎に、どの種類の敵14を幾つ撃墜したかが対応づけて格納される。
[処理の流れの説明]
図15は、サーバシステム1100における主たる処理の流れを説明するためのフローチャートである。ここで説明する処理の流れは、サーバシステム1100が、サーバプログラム502を実行することにより実装される。なお、前提として、プレーヤは既にユーザ登録を済ませているものとする。また、そのプレーヤ端末1500は配信用クライアントプログラム507を実行し、サーバシステム1100との間でデータ通信を確立しているものとする。
サーバシステム1100は、先ずプレーヤのログイン処理を行い(ステップS2)、当該プレーヤのゲームプレイのためにプレイデータ700の記憶領域を確保する。そして、これからプレイするゲームステージの選択受付を行う(ステップS4)。選択結果は、ステージID702に格納される。
次に、サーバシステム1100は、当該プレーヤのユーザ管理データ600のセーブデータ605(図11参照)を読み込んで(ステップS6)、陣地構築処理を実行する(ステップS8)。
図16〜図18は、陣地構築処理の流れを説明するためのフローチャートである。
図16に示すように、サーバシステム1100は、先ずプレーヤ端末1500にて陣地構築画面W4を表示させる(ステップS20;図4参照)。
陣地構築画面W4において、所定の砲台配置操作を検出すると(ステップS22のYES)、サーバシステム1100は、デッキ38から選択配置操作された砲台16を配置設定用マップ34内の指定操作された位置へ配置制御する(ステップS24)。
プレイデータ700の陣地構成データ704には、配置操作された砲台16の砲台IDとマップ10内の配置位置座標が対応付けて登録される。また、プレイデータ700には新たな砲台制御データ740(図14参照)が作成され、プレーヤのセーブデータ605(図11参照)から選択配置操作された砲台16の保有砲台ステータスデータ640がコピーされる。
陣地構築画面W4において、スタンド22のマップ内への新規の配置操作(本実施形態ではデッキ38から配置設定用マップ34へのドラッグ・アンド・ドロップ操作)を検出すると(ステップS40のYES)、ステージID702に適合するステージ別ゲーム初期設定データ510(図9参照)のスタンド配置許可条件定義データ515を参照して、配置操作されたスタンド22が指定操作された位置に配置可能であるかを判定する(ステップS42)。
もし、配置可能であれば(ステップS42のYES)、サーバシステム1100は当該スタンドをその指定操作された位置へ配置する(ステップS44)。
プレイデータ700に、当該スタンド22のためのスタンド制御データ710を作成し(図13参照)、先に読み込んだセーブデータ605のうち当該スタンド22の保有スタンドステータスデータ610(図11参照)に格納されている各種パラメータ値をコピーする。勿論、配置位置座標731(図13参照)には指定操作された位置座標が設定され、残スタンド耐久値732には初期耐久値716がコピーされる。出現中キャラクタIDリスト733はまだ何れのキャラクタ20も出現されていないので「未出現」を示す所定値に初期化される。さらに、登録キャラクタIDリスト730に登録がある場合には、同様にしてキャラクタ制御データ750をプレイデータ700に作成し(図14参照)、先に読み込んだセーブデータ605のうち登録されているキャラクタ20の保有キャラクタステータスデータ650に格納されている各種パラメータ値を適用能力パラメータ値リスト760へコピーする。
次に、サーバシステム1100は、ステージID702に適合するステージ別ゲーム初期設定データ510(図9参照)のスタンド・マップ範囲相性定義データ516を参照して、当該スタンド22が配置された位置との相性に応じて、当該スタンド22の能力パラメータ値(図13のキャラクタ登録可能数720、同時出現可能数721、登録可能キャラクタレベル範囲722、登録可能キャラクタ種類リスト723、巡視範囲724、キャラクタ移動可能範囲725の何れか)を変更する(ステップS46)。
なお、変更量には「0」やマイナスを含み得る。
また、当該スタンド22に登録されているキャラクタ20がある場合には、当該キャラクタ20の能力パラメータ値(図14の適用能力パラメータ値リスト760)を変更する。そして、変更内容をプレーヤに通知する。
一方、ステップS42で配置許可条件を満たさないと判断された場合には(ステップS42のNO)、サーバシステム1100は、ステップS44〜S46は行わずにプレーヤへ向けて配置不可であることを通知する(ステップS48)。
図17に移って、陣地構築画面W4において、キャラクタ20をスタンド22へ登録するキャラクタの登録操作を検出すると(ステップS60のYES)、サーバシステム1100は当該登録操作での登録先とされたスタンド22へ、当該キャラクタ20を登録する(ステップS62)。
すなわち、登録先とされたスタンド22のスタンド制御データ710の登録キャラクタIDリスト730へ登録対象とされたキャラクタ20のキャラクタIDを登録する(図13参照)。そして、登録対象とされたキャラクタ20のキャラクタ制御データ750がプレイデータ700に既に作成されていれば、登録先スタンドID754を登録先に変更する(図14参照)。もし、対応するキャラクタ制御データ750がなければ登録対象とされたキャラクタ20の保有キャラクタステータスデータ650を参照して新規に作成し、登録先スタンドID754を登録先に設定する。
次に、サーバシステム1100は、登録先のスタンド22と登録対象のキャラクタ20との組合せに適合するスタンド・キャラクタ種類基準相性定義データ530及びスタンド・キャラクタ属性基準相性定義データ531(図8参照)を検索し、当該定義データに従って登録対象のキャラクタ20の適用能力パラメータ値リスト760(図14参照)を変更し、変更内容をプレーヤに通知する(ステップS64)。
次いで、登録先のスタンド22とその配置位置に適合するスタンド・マップ範囲相性定義データ516を参照して、登録対象のキャラクタ20の適用能力パラメータ値リスト760を変更し、変更内容をプレーヤに通知する(ステップS66)。
更に、サーバシステム1100は、キャラクタ能力変更定義データ545(図10参照)を参照して、登録先のスタンド22のスタンドレベル714(図13参照)に応じて、登録対象のキャラクタ20の適用能力パラメータ値リスト760を変更し、変更内容をプレーヤに通知する(ステップS68)。
次に、サーバシステム1100は、配置済のスタンド22に登録済のキャラクタ20を配置設定用マップ34(図4参照)内に出現させプレイ時と同様の自動制御を開始する(ステップS70)。
陣地構築画面W4において、配置済のスタンド22に関する情報表示開始操作(具体的には、配置設定用マップ34に表示されているスタンド22へのタッチ操作がその1つ)を検出すると(ステップS80のYES)、サーバシステム1100は、対象とされるスタンド22に係る情報表示制御を開始する(ステップS82;図5参照)。すなわち、対象とされるスタンド22のスタンド制御データ710のうち所定のパラメータの値を陣地構築画面W4の情報表示部36にて表示を開始する。
また、サーバシステム1100は、紐付け表示体40と範囲表示体42の表示を開始する(ステップS84;図5〜図6参照)。すなわち、配置設定用マップ34にて、対象とされるスタンド22とその登録済みキャラクタ20との間に紐付け表示体40を表示させる。また、対象とされるスタンド22に登録済みキャラクタ20の種類に適合するスタンド情報表示内容定義データ532(図8参照)を検索・参照して、対象とされるスタンド22に範囲表示体42を表示させる。
反対に、陣地構築画面W4において、配置済のスタンド22に関する情報表示終了操作(具体的には、情報表示中のスタンド22への再タッチ操作がその1つ)を検出すると(ステップS86のYES)、サーバシステム1100は、対象とされるスタンド22に係る情報表示制御を終了し(ステップS88)、紐付け表示体40と範囲表示体42の表示を終了する(ステップS90)。
図18に移って、陣地構築画面W4において配置位置変更操作の開始(具体的には、配置設定用マップ34に表示されている砲台16やスタンド22のドラッグ操作がその1つ)を検出すると(ステップS100のYES)、サーバシステム1100は、対象が砲台16かスタンド22かを判定する。そして、対象がスタンド22であれば(ステップS102のYES)、当該スタンド22への紐付け表示体40と範囲表示体42との表示を開始する(ステップS104)。
次に、サーバシステム1100は、配置位置変更操作による移設先において、対象とされるスタンドに対する配置許可条件を満たさなければ(ステップS106のNO)、配置不可をプレーヤに通知する(ステップS108)。もし、配置許可条件を満たせば(ステップS106のYES)、移設先位置とスタンドとの相性に応じたスタンド22及び当該スタンド22に登録されているキャラクタ20それぞれの能力パラメータ値の変更予告をプレーヤに通知する(ステップS110)。
そして、配置位置変更操作の完了(具体的には、スライド操作されているスタンド22から指を離すドラッグ操作の終了がその1つ)を検出すると(ステップS112のYES)、サーバシステム1100は、移設先位置とスタンドとの相性に応じたスタンド22及び当該スタンド22に登録されているキャラクタ20それぞれの能力パラメータ値を変更し、その変更内容をプレーヤに通知する(ステップS112)。
次いで、紐付け表示体40と範囲表示体42の表示を終了して(ステップS114)、対象とされるスタンド22の配置位置を変更する(ステップS116)。すなわち、対象とされるスタンド22に係るプレイデータ700の陣地構成データ704を変更し、対象とされるスタンド22のスタンド制御データ710の配置位置座標731を移設先位置の座標に変更する(図13参照)。
一方、配置位置変更操作の対象が砲台16の場合は(ステップS102のNO)、サーバシステム1100は、ステップS104〜S114はスキップして対象とされる砲台16の配置位置を変更する(ステップS116)。
陣地構築処理は、所定の陣地構築完了操作を検出するまで継続される(ステップS120)。
図15に戻って、陣地構築処理を終了すると、サーバシステム1100はゲーム進行制御処理を実行する(ステップS140)。
図19は、ゲーム進行制御処理の流れを説明するためのフローチャートである。
同処理において、サーバシステム1100は、ステップS150〜S164を所定の制御サイクルでステージ終了条件が満たされるまで繰り返し実行する。
すなわち、サーバシステム1100は、先ず補充条件を満たすスタンド22から当該スタンド22に登録されているキャラクタ20を出現させる(ステップS150)。出現したキャラクタ20のキャラクタIDは、出現中キャラクタIDリスト733(図13参照)に格納される。
次に、サーバシステム1100は、出現済のキャラクタ20の自動制御を開始する(ステップS152)。
具体的には、出現されたばかりのキャラクタ20は登録されているスタンド22の巡視範囲724(図13参照)を、それぞれの適用能力パラメータ値リスト760で定義されている移動可能範囲(図14参照)だけ巡視行動するように制御する。そして、巡視行動中に、当該キャラクタ20の適用能力パラメータ値リスト760で定義されている索敵範囲に敵14(図3参照)を検知すると、当該敵14に向かって攻撃させる。この際、移動可能範囲内であれば、キャラクタ20は敵14に接近する行動を伴っても良い。また、出現後、敵14と交戦状態にあるキャラクタ20は、自身の移動可能範囲内であれば巡視範囲724を越えて、当該スタンド22のキャラクタ移動可能範囲725(図13参照)の範囲で行動可能に制御される。
次に、サーバシステム1100は、各砲台16の自動制御をする(ステップS154)。すなわち、それぞれの射程範囲に敵14を検知するとこれを攻撃するように制御する。
次に、サーバシステム1100は、敵14の自動出現と自動侵攻の制御を行う(ステップS156)。すなわち、砲台16やキャラクタ20,スタンド22へ攻撃しながら、拠点12(図4参照)への到達を目指すように制御する。
次に、サーバシステム1100は、ステップS152〜S156の自動制御による攻撃のヒット判定とダメージ反映の処理を行う(ステップS158)。つまり、ダメージを受けた側の耐久値をダメージ分だけ減らす。そして、耐久値を減らした結果、残耐久値が「0」に達した敵14、砲台16、キャラクタ20、スタンド22を撃墜されたと認定して消滅処理する(ステップS160)。これに伴い、出現中キャラクタIDリスト733(図13参照)とプレイ成績データ772(図14参照)とが更新される。
次に、サーバシステム1100は、スタンド22のスタンドレベルの更新と通知とを行う(ステップS162)。具体的には、プレイ成績データ772を参照して、スタンド22毎に、当該スタンド22に対応付けられているキャラクタ20の敵撃墜数が所定のレベルアップ基準に達するごとにスタンドレベル714(図13参照)を段階的に上げる。
そして、サーバシステム1100は、スタンドレベル714が更新されたスタンド22について、スタンド能力定義データ540(図10参照)を参照し、更新後のスタンドレベル714に基づいてスタンド能力パラメータ値(本実施形態では図13の耐久値716、キャラクタ登録可能数720、同時出現可能数721、登録可能キャラクタレベル範囲722、登録可能キャラクタ種類リスト723、巡視範囲724、キャラクタ移動可能範囲725)を変更し、変更内容を通知する(ステップS164)。
次いで、サーバシステム1100は、スタンドレベル714が更新されたスタンド22について、キャラクタ能力変更定義データ545(図10参照)を参照して、当該スタンド22に登録されているキャラクタ20の適用能力パラメータ値リスト760を変更し、プレーヤに変更内容を通知する(ステップS166)。
次に、サーバシステム1100はステージ終了条件が満たされたかを判定する。
本実施形態では、ステージプレイ開始から制限時間が経過した場合、敵14が拠点12に到達した場合、敵14を全て撃破した場合に、ステージ終了条件が満たされたと判断する。
もし、ステージ終了条件が満たされなければ(ステップS168のNO)、ステップS150に戻る。
もし、ステージ終了条件が満たされているならば(ステップS168のYES)、サーバシステム1100はプレイ成績に応じて砲台16とキャラクタ20とスタンド22のそれぞれの能力パラメータ値を所定の基準に従って変更し成長させる(ステップS170)。そして、成長後の砲台16、キャラクタ20、スタンド22の各能力パラメータ値をセーブデータ605に反映させてデータセーブして(ステップS172)、ゲーム進行制御を終了する。つまり、ステージプレイを終了させる。
図15に戻って、サーバシステム1100は、ゲーム継続条件が満たされているかを判定する。本実施形態では、所定のゲーム終了操作が検出されない場合と、未プレイのステージが残っている場合との何れかに該当すれば肯定判定され(ステップS180のYES)、ステップS4に戻る。否定判定されれば(ステップS180のNO)、一連の処理を終了する。
以上、本実施形態によれば、一旦配置されると移動できない砲台16とは別に、ステージプレイ中に自律的(自動的)に移動するキャラクタ20を出現させるスタンド22という従来に無い防衛要素を登場させるタワーディフェンスゲームを実現できる。
しかも、スタンド22とキャラクタ20との組合せ、スタンド22と配置位置との組合せには相性が設定されており、スタンド22の能力やキャラクタ20の能力がそれに応じて変更される。更には、スタンド22には成長要素が設定されており、スタンド22の成長度合いに応じて、対応づけられたキャラクタ20の能力が変更される。つまり、スタンド22を何処に配置するか、どのキャラクタ20と組み合わせるかにより多様なゲーム状況が生じ得る。戦術的思考が要求される「やり込み要素」がゲームの興趣を更に高めるであろう。
また、ステージプレイ中にキャラクタ20が登録先のスタンド22から離れて行動するとしても、陣地構築画面W4ではどのキャラクタ20がどのスタンド22に対応づけられているかが、紐付け表示体40が表示されることで直感的に知ることができるようになっている。よって、マップが大きくなり多数のスタンド22を配置し、多数のキャラクタ20が登録されて出現される状況になっても、視覚的な理解が容易であることから、陣地構築を容易に行うことができる。
〔変形例〕
以上、本発明を適用した実施形態の1つの例について説明したが、本発明を適用可能な形態は上記形態に限定されるものではなく、適宜構成要素の追加・省略・変更を施すことができる。
例えば、上記実施形態では、本発明を適用したゲームをオンラインゲームのタワーディフェンスゲーム(防衛ゲーム)として実現する例を示したが、プレーヤ端末1500単独にて実行可能なスタンドアローン型のゲームとして実現することもできる。その場合、図7で示した機能構成をプレーヤ端末1500にて実現すればよい。また、図15〜図19では、サーバシステム1100が実行した処理をプレーヤ端末1500が実行するものと読み替えれば良い。
また、本発明を適用可能なゲームの種類としても、キャラクタに定められた能力を自動制御で発揮して戦闘するゲームであれば、タワーディフェンスゲームに限らず、別のゲームであってもよい。例えば、図20に示すように、農場経営シミュレーションゲームに適用し、農場にスタンド22に対応付けてキャラクタ20を配備して、野生動物50a,50bから飼育動物52を守らせる等とすることもできる。勿論、キャラクタ20は守衛としての役に限らず、草取り要員や収穫要員などして登場させるとしてもよい。また、図21に示すように、店舗シミュレーションゲームに適用し、複数のテーブルが設置された広いホールにスタンド22を任意に配置して、当該スタンド22に対応付けるようにしてキャラクタ20を出現させて接客させるとしてもよい。その他、防衛拠点が無い或いは防衛拠点とは無関係に互いに交戦するチーム対戦型のゲームにも本発明を適用することもできる。
また、キャラクタ20やスタンド22のそれぞれの能力の内容は、ゲーム内容に応じて適宜追加・省略・変更が可能である。例えば、キャラクタ20の能力に「スキル」を設定し、スタンド22の配置位置や、スタンド22の成長度合いに応じて可変する構成とすることもできる。また、キャラクタ20の能力を、キャラクタ20が所持するアイテムの能力に置き換えた構成も可能である。