以下、本発明を適用した実施形態の一例を説明するが、本発明を適用可能な形態が以下の実施形態に限られないことは勿論である。
〔第1実施形態〕
第1実施形態として、プレーヤがタッチ操作して遊ぶシングルプレイのオンラインパズルゲームを実行する場合の例を説明する。
図1は、本実施形態におけるゲームシステムの構成の一例を示す図である。本実施形態のゲームシステムは、通信回線9に接続することで相互にデータ通信が可能なサーバシステム1100とユーザ端末1500とを含むコンピュータシステムである。図示の例では、ユーザ端末1500を1台としているが、マルチプレイのゲームとする場合はユーザ別の複数のユーザ端末1500が同時にサーバシステム1100と通信接続可能な状態となり得る。
通信回線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でゲームプレイするのに必要なデータを提供してユーザ端末1500でのゲームの実行制御を管理するゲーム管理機能と、3)ゲームで利用可能な様々なアイテムをオンラインでユーザに販売するオンラインショッピング機能と、を実現する。つまり、本実施形態におけるゲームは、一種のクライアント・サーバ型のオンラインゲームとして実現される。
なお、サーバシステム1100は単体として記しているが、各機能を分担する複数のブレードサーバを搭載して相互に内部バスを介してデータ通信可能に接続した構成であっても良い。或いは、離れた場所に設置された独立した複数のサーバを、通信回線9を介してデータ通信させることで、全体としてサーバシステム1100として機能させる構成であっても良い。
ユーザ端末1500は、プレーヤである登録済ユーザがゲームプレイのために個別に使用するコンピュータシステムであって、通信回線9を介してサーバシステム1100にアクセスしてオンラインゲームを実行できる電子装置(電子機器)である。本実施形態のユーザ端末1500は、いわゆるスマートフォンと呼ばれる装置であるが、携帯型ゲーム装置や、ゲームコントローラ、パソコン、タブレット型コンピュータ、ウェアラブルコンピュータ、業務用ゲーム装置などでもよい。
ユーザ端末1500は、方向入力キー1502と、ボタンスイッチ1504と、画像表示デバイス兼接触位置入力デバイスとして機能するタッチパネル1506と、スピーカ1510と、内蔵バッテリー1509と、マイク1512と、制御基板1550と、コンピュータ読み出し可能な記憶媒体であるメモリカード1540からデータを読み書きできるメモリカード読取装置1542と、を備える。その他、図示されていない電源ボタン、音量調節ボタン等が設けられている。また、ゲームプレイの対価の支払いが可能なICカード型のクレジットカードやプリペイドカードに対して非接触にデータの読み書きが行えるICカード読取装置などを設けるとしてもよい。
制御基板1550は、CPU1551やGPU,DSPなどの各種マイクロプロセッサ、VRAMやRAM,ROM等の各種ICメモリ1552、通信回線9に接続する携帯電話基地局や無線LAN基地局などと無線通信するための無線通信モジュール1553、インターフェース回路1557などを搭載する。
インターフェース回路1557には、タッチパネル1506のドライバ回路、方向入力キー1502及びボタンスイッチ1504からの信号を受信する回路、スピーカ1510へ音声信号を出力する出力アンプ回路、マイク1512で集音した音声の信号を生成する入力信号生成回路、メモリカード読取装置1542への信号入出力回路、などが含まれている。
制御基板1550に搭載されているこれらの要素は、バス回路などを介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。なお、制御基板1550の一部または全部をASICやFPGA、SoCにて構成してもよい。そして、制御基板1550は、本実施形態のゲームのユーザ端末としての機能を実現させるためのクライアントプログラムや各種データをICメモリ1552に記憶する。
なお、本実施形態では、ユーザ端末1500はクライアントプログラムや各種設定データをサーバシステム1100からダウンロードする構成としているが、別途入手したメモリカード1540などの記憶媒体から読み出す構成としても良い。
[ゲームの説明]
次に、図2〜図11に示すゲーム画面の例を用いて、本実施形態におけるゲームの概要を進行制御を踏まえて説明する。
図2は、とあるゲームステージのプレイが開始された直後のゲーム画面の一例を示す図である。本実施形態のゲームは、移動方向が設定されたプレーヤキャラクタ4(4a,4b,…)を、障害物オブジェクト8の背後に隠れている敵キャラクタ6の近くに移動させて攻撃させ、如何に全滅させるかがテーマのターン制のゲームである。本実施形態はシングルプレイゲームなので、敵キャラクタ6はコンピュータにより自動制御される。
図2のゲーム画面W2は、プレーヤが操作するプレーヤターンにおける表示の一例を示している。ゲーム画面W2には、情報表示部10と、ゲームフィールド20と、が含まれる。
情報表示部10では、ゲーム進行に係る各種情報が表示される。本実施形態では、ステージ番号12と、保有行動ポイント表示部14と、累積距離表示部16とが表示される。
ステージ番号12は、現在プレイしているゲームステージを示す。
保有行動ポイント表示部14は、プレーヤがプレーヤキャラクタ4(4a,4b,…)の移動に伴い消費される行動ポイントの残数を示す。行動ポイントは、時間経過とともに自動的に補充されるか、プレーヤ自らがオンラインショッピング等で購入することで補充されるか、所定のアイテムの消費と引き換えに補充されるか、ゲーム管理者が配付することによって補充されるかすることで、回復する。
累積距離表示部16は、プレーヤキャラクタ4(4a,4b,…)の移動距離を累積してゲージで示している。本実施形態では、ゲージが一杯になるとプレーヤキャラクタ4に設定されたスキルが自動的に発動されるが、スキルの発動タイミングはゲージが一杯になっていればプレーヤが任意に選択できる構成としてもよい。
なお、情報表示部10に表示する内容はこれら以外にも適宜表示させることができる。
ゲームフィールド20は、ゲームの舞台である。敵キャラクタ6は、ゲームフィールド20内を自由に移動できるが、プレーヤキャラクタ4(4a,4b,…)は、ゲームフィールド内に識別表示された移動開始可能範囲22からのみ移動が開始できるルールとなっている。
移動開始可能範囲22は、ゲームステージ毎に初期状態が予め設定されている。図2の例では、初期状態の移動開始可能範囲22が、ゲームフィールド20の下端全幅に及ぶ矩形範囲として設定されている。勿論、初期状態の移動開始可能範囲22に係るゲームフィールド内における設定位置や、設定面積、設定数などは適宜設定可能である。例えば、ゲームフィールド20の対角2隅にそれぞれ3角形状の範囲を設定するとしてもよい。
1ターンにつき、使用できるプレーヤキャラクタ4(4a,4b,…)の数に制限が設けられている。本実施形態では、1ターン当たり3体とするが、これ以外の数でもよい。ターン毎に使用できる数を同じとしても良いし、違うようにしてもよい。
そして、そのターンで使用するキャラクタの選択については、次に示す何れかのプレーヤキャラクタ選択パターンが適用される。
1)複数種類の候補のなかからプレーヤが任意に選択した任意の順番(又は選択した順番)で使用できる。
2)複数種類の候補のなかからランダムに選択された任意の順番(又は選択された順番)で使用できる。
3)使用できるキャラクタの種類と使用順番とが予め決定されている。
これらのうち何れのプレーヤキャラクタ選択パターンが採用されるかは、ゲームステージ毎に予め決定されているとしても良いし、プレイ開始前にプレーヤ自らが選択するとしても良い。また、上記1)の選択パターンにおける選択候補は、プレーヤ自らが予め設定している母集団(例えば、プレーヤが収集や購入により保有しているキャラクタ集合又は更にそれから選抜されたデッキやパーティーなどと呼ばれる集合)としても良いし、ステージ毎に予め設定されている母集団を用いるとしても良い。
プレーヤキャラクタ4(4a,4b,…)は、プレーヤターンが始まると、初期配置位置である所定の出撃位置に配置される。本実施形態では、出撃位置を初期状態の移動開始可能範囲22に設定するがこれに限らない。例えば、ゲーム画面W2に初期状態の移動開始可能範囲22に隣接するようにデッキ表示部を設けて、当該デッキ表示部内を出撃位置としてもよい。
移動前のプレーヤキャラクタ4(4a,4b,…)は、各キャラクタに設定されている移動パターンが分かる図示のような移動制限明示形態で表示される。すなわち、基本的な移動方向を示す矢印が添付された円板体として表示される。なお、移動制限明示形態のデザインはこれに限らず適宜設定可能である。
プレーヤは、移動制限明示形態のプレーヤキャラクタ4(4a,4b,…)のうち、移動させたいキャラクタをタッチして移動対象として選択し、そのままタッチを維持したまま移動開始可能範囲22内をスライド移動させ、当該キャラクタの移動を開始させたい移動開始位置でタッチを解除するように操作する。図2の例では、プレーヤキャラクタ4(4c)を初期状態の移動開始可能範囲22の右端の地点P1までスライドさせた状態を示している。
そして、図3のゲーム画面W4の例に示すように、移動対象とされたプレーヤキャラクタ4(4c)が移動開始位置へスライドされた後にタッチが解除されると、移動対象とされたプレーヤキャラクタ4(4c)は、当該キャラクタに設定されている「移動パターン」に従って自動的に移動制御される。そして、その移動軌跡に基づいて移動開始可能範囲22に新たな拡張範囲24が追加される。
プレーヤキャラクタ4(4a,4b,…)に設定される「移動パターン」には、「基本パターン」と「特別パターン」との2種類が含まれる。
「基本パターン」は、ゲームフィールドを自由移動する際に適用されるパターンであり、移動制限明示形態で明示されるパターンである。本実施形態では、プレーヤキャラクタ4aには「左横方向直線運動」、プレーヤキャラクタ4bには「左斜め上45°方向直線運動」、プレーヤキャラクタ4cには「上向き直線運動」がそれぞれ設定されている。
なお、基本パターンの種類はこれらに限らない。「下向き直線運動」「右横向き直線運動」など直線運動する方位は適宜設定可能である。また、移動タイプも直線運動に限らず、カーブ、Uターン、ジグザグ、なども設定可能である。
「特別パターン」は、特別条件が満たされた場合に、基本パターンに代えて適用されるパターンである。本実施形態では、プレーヤキャラクタ4(4a,4b,…)の何れにも、第1の特別条件として「ゲームフィールド20の境界又は障害物オブジェクト8に衝突」が設定され、これに対応する第1の特別パターンとして「バウンスの後一定距離移動後に停止」が設定されている。また、第2の特別条件として「敵キャラクタ6に近接」が設定され、これに対応する第2の特別パターンとして「近接位置で停止」が設定されている。
図3の例では、移動対象のプレーヤキャラクタ4(4c)は、移動開始位置とされる地点P1からゲームフィールド20を上に向かって直進するように自動移動制御される。そして、プレーヤキャラクタ4(4c)がゲームフィールド20の境界である上端壁に衝突すると、図4のゲーム画面W6における丸囲み部分で示すように、惰性で少し跳ね返って停止するように自動移動されることとなる。
なお、特別パターンは、この例に限らず特別条件の内容やそれに対応させる特別パターンもまた適宜設定可能である。例えば、特別条件として「…に衝突」以外に「…に所定距離まで接近」「移動開始からの距離が既定値に達した」などを設定することができる。また、特別パターンとしては、「反射方向転換(衝突面の向きに応じて光が反射するように移動方向が転換の意)」「衝突対象を迂回」「衝突対象を飛び越し」などを設定することができる。
移動制御されているプレーヤキャラクタ4(4c)は、特別パターンが適用されるか、当該キャラクタに設定された移動可能距離だけ移動すると停止し、図4に示すように、移動制限明示形態から、プレーヤキャラクタ4本来の姿を現すキャラクタモデル形態へ表示形態が変化される。そして、当該キャラクタモデルに係るゲーム進行制御が実行される。
具体的には、キャラクタモデル形態となったプレーヤキャラクタ4(4c)は、当該キャラクタに設定されている攻撃可能範囲ATの内に存在する敵キャラクタ6を自動的に攻撃するようにゲーム進行制御される。攻撃を受けた敵キャラクタ6には、攻撃側(この場合はプレーヤキャラクタ4(4C))の攻撃力と被攻撃側(この場合は敵キャラクタ6)の防御力とに基づいて決まるダメージが付与される。攻撃を受けた敵キャラクタ6は、耐久値がダメージ分だけ減らされ、耐久値が「0」以下になると当該敵キャラクタは行動不能になったと見なされ(つまりは、撃破されたとみなされて)、ゲームフィールド20から消去される。
拡張範囲24は、移動対象とされたキャラクタの移動軌跡に基づいて決定され、ゲームフィールド20内に識別表示される。特に、新たに追加された拡張範囲24は、過去に追加された拡張範囲24とも異なる表示形態で識別表示される。本実施形態では、図3〜図4に示すように、移動制限明示形態のプレーヤキャラクタ4(4c)が通った痕が、新たな拡張範囲24として追加登録され強調表示されている。
移動開始可能範囲22は、新たに追加登録された拡張範囲24分、広がったと見なされ、次に移動されるプレーヤキャラクタ4は、この拡張範囲24分広がった移動開始可能範囲22から移動を開始できるようになる。
例えば、図5のゲーム画面W8の例では、プレーヤキャラクタ4(4a)は、出撃位置から地点P2を経て、先のプレーヤキャラクタ4(4c)の移動にともない拡張された拡張範囲24(24a)を通るようにスライド操作されている。そして、地点P3でタッチが解除され、基本パターンに従って画面の左横方向へ直線運動している。これに伴い、新たな横向きの拡張範囲24(24b)が追加登録される。
そして、図6のゲーム画面W10で示すように、敵キャラクタ6に接触したことで特別条件を満たし、特別パターンの設定に従って衝突位置で停止する。移動が停止するとプレーヤキャラクタ4(4a)の表示形態はキャラクタモデル形態に変更され、キャラクタモデルがゲーム画面上に現れる。そして、その攻撃可能範囲ATの中に敵キャラクタ6があれば、当該敵キャラクタを攻撃するようにゲーム進行制御される。
図6の状態では、あと1つプレーヤキャラクタ4(4b)が、移動制限明示形態のまま手つかずに残っている。つまり、当該プレーヤターンにおいて、プレーヤはプレーヤキャラクタ4(4b)を移動させて敵キャラクタ6を更に攻撃することができる。
すなわち、上述のプレーヤキャラクタ4(4c)や、プレーヤキャラクタ4(4a)の時と同様にして、移動開始位置を決定するように操作すれば、自動移動制御と、当該キャラクタの移動に係るゲーム進行制御とが行われて、プレーヤターンが終了する。そして、敵ターンが開始される。
図7は、敵ターンにおけるゲーム画面の一例を示す図である。
敵ターンでは、残存する敵キャラクタ6は、ゲームフィールド20内を移動してキャラクタモデル形態のプレーヤキャラクタ4を攻撃するように自動制御される。攻撃を受けたプレーヤキャラクタ4は受けたダメージの分だけ耐久値が減らされ、耐久値が「0」以下になると行動不能となり、次のターンから利用できなくなる。全てのプレーヤキャラクタ4(4a,4b,…)が行動不能になるとプレーヤの負けが決定しゲームオーバとなる。
また、図8のゲーム画面W14にて示すように、敵キャラクタ6がゲームフィールド20を移動する際に、拡張範囲24を含む移動開始可能範囲22を通過すると、削減部分28が移動開始可能範囲22から削減される。
削減部分28は、敵キャラクタ6の移動軌跡に基づいて決定される。図8の例では、削減部分28として、移動軌跡に沿った敵キャラクタ6の幅と同幅、すなわち敵キャラクタ6に設定されたサイズに基づく移動幅(移動軌跡の方向を進行方向とした場合の横幅)を有する1本の帯状部分として設定しているがこれに限らない。例えば、敵キャラクタ6のレベルに応じて、削減部分28の本数を複数としても良いし、削減部分28の幅をレベルが高いほど幅広くするとしてもよい。
そして、移動開始可能範囲22が削減されると、当然、削減された部分から先に移動開始可能範囲22が残っていたとしても、削減により範囲の途切れが生じるため、次のプレーヤターンでは、その先に移動開始位置を設定することはできなくなる。
なお、移動開始可能範囲22が削減される条件は、敵キャラクタ6による同範囲の通過に限らない。
本実施形態では、1)敵キャラクタ6が通過した移動軌跡に基づいて拡張範囲24を削減する、2)敵ターン終了時又は次のプレーヤターンが到来したタイミングで、全て又は一部の拡張範囲24を削減する、3)プレイ開始から所与の時間が経過する毎に、全て又は一部の拡張範囲24を削減する、4)現在のプレーヤターンにおいて、移動完了したプレーヤキャラクタ4の数が所定数に達する毎に、全て又は一部の拡張範囲24を削減する、の少なくとも何れかの削減パターンがステージ毎に予め選択設定されているものとする。
勿論、これら以外の削減パターンも適宜設定可能である。また、削減パターンの選択は予め設定しておくのではなく、プレーヤがプレイ開始前に何れかを任意に選択できる構成としてもよい。
敵ターンが終了すると、再びプレーヤターンに戻る。この時、ゲームフィールド20に展開していたプレーヤキャラクタ4(4a,4b,…)は全て出撃位置(ステージプレイ開始時点の初期配置位置)に戻される(図2参照)。そして、プレーヤターンと、敵ターンとを繰り返すなかで敵キャラクタ6を全滅させればそのゲームステージはクリアとなる。
ゲームステージが進むと、難易度は徐々に上がるように設定されている。
難易度は、プレーヤキャラクタ4に関しては、使用できる数(出撃数)や種類の制限、異種サイズ混在、などにより実現される。また、敵キャラクタ6に関しては配置数や強さ、などにより実現できる。また、障害物オブジェクト8の配置数や位置関係によっても難易度を調整できる。
図9〜図11は、異種サイズのプレーヤキャラクタ4が混在している場合について説明するための図である。相対的に大きなプレーヤキャラクタ4(4d)と、相対的に小さなプレーヤキャラクタ4(4e,4f)が混在している。
図9のゲーム画面W16の例では、使用可能な3体のプレーヤキャラクタ4のうち、相対的に小さなプレーヤキャラクタ4(4f)が最初に移動され、移動開始可能範囲22に新たな拡張範囲24(24f)が加えられている。この拡張範囲24fは移動対象のプレーヤキャラクタ4(4f)のサイズにより決まる。
その為、図10のゲーム画面W18の例で示すように、次に、プレーヤが敵キャラクタ6bを狙ってプレーヤキャラクタ4(4d)を拡張範囲24fに進入させようとしても、拡張範囲24fの幅が狭くて進入させることができない。
この場合は、図11のゲーム画面W18の例で示すように、もう一つの相対的に小さなプレーヤキャラクタ4(4e)を拡張範囲24fに進入させ、地点P4を移動開始位置に設定して敵キャラクタ6bを狙うのが正解となる。つまり、プレーヤは、ゲームステージが進むにつれて、プレーヤキャラクタ4のサイズを考慮しつつ使用する順番を考えなければならなくなる。
[機能構成の説明]
図12は、本実施形態におけるサーバシステム1100の機能構成例を示す機能ブロック図である。本実施形態におけるサーバシステム1100は、操作入力部100sと、サーバ処理部200sと、音出力部390sと、画像表示部392sと、通信部394sと、サーバ記憶部500sとを備える。
操作入力部100sは、サーバの管理のための各種操作を入力するための手段である。図1のキーボード1106がこれに該当する。
サーバ処理部200sは、例えばCPUやGPU等のマイクロプロセッサや、ASIC、ICメモリなどの電子部品によって実現され、操作入力部100sやサーバ記憶部500sを含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100sからの操作入力信号、ユーザ端末1500から受信したデータに基づいて各種の演算処理を実行して、サーバシステム1100の動作を統合的に制御する。
そして、本実施形態のサーバ処理部200sは、ユーザ管理部202と、ゲーム進行制御部210と、計時部280sと、音生成部290sと、画像生成部292sと、通信制御部294sとを含む。勿論、これら以外の機能部も適宜含めることができる。
ユーザ管理部202は、ユーザ登録手続きに係る処理及びアカウント(ユーザID、プレーヤID)に紐付けられるデータの記憶管理を行う。
具体的には、本実施形態では、1)アカウントの付与制御と、2)ユーザに関する個人情報を登録管理する登録情報管理と、3)当該アカウントに紐付けられ課金要素の実行に係る対価の支払い原資として使用される仮想口座の設定と入出金制御、すなわち電子決済に関する電子決済制御と、4)当該アカウントのユーザによる課金要素に係る課金履歴を記憶・管理する課金履歴管理と、5)ログイン/ログアウトの履歴を管理する第1のプレイ履歴管理と、6)それまでのゲーム進行状況に関するデータ(所謂ゲームセーブデータ)をアカウントと紐付けて記憶・管理する第2のプレイ履歴管理と、しての機能を有する。勿論、これら以外のアカウントに紐付けられるデータの管理機能も適宜含めることもできる。
ゲーム進行制御部210は、ゲームの実行管理に係る各種処理を行う。本実施形態のゲームは、クライアント・サーバ型のオンラインゲームなので、本実施形態のゲーム進行制御部210は、ユーザ端末1500と通信を行いながらゲームプレイに必要なデータを提供する制御を行う。
そして、本実施形態のゲーム進行制御部210は、ターン管理部212と、使用キャラクタ選択制御部214と、移動対象キャラクタ選択制御部216と、移動開始位置決定部218と、自動移動制御部220と、行動パラメータ値管理部222と、自動攻撃制御部224と、範囲設定部226と、拡張範囲識別表示制御部228と、敵キャラクタ制御部230と、削減制御部232と、配置リセット部234と、フォーメーション効果反映部236と、累積距離利用進行制御部238と、アイテム付与部240と、を有する。
使用キャラクタ選択制御部214は、ゲームプレイ開始前にプレーヤが使用する所与の数のプレーヤキャラクタ4を選択する。本実施形態では、前述の3つのプレーヤキャラクタ選択パターンの何れかが適用される。
移動対象キャラクタ選択制御部216は、自動移動による移動パターンが対応付けられた複数のプレーヤキャラクタ4のうち、自動移動を開始させるキャラクタすなわち移動対象を、プレーヤのタッチ操作入力に基づいて選択設定する。
移動開始位置決定部218は、所与の移動開始可能範囲22から、プレーヤの操作入力に基づいて、プレーヤキャラクタ4の移動開始位置を決定する。具体的には、移動開始位置決定部218は、移動開始可能範囲22内の所与の初期位置(出撃位置;図2参照)に配置されたプレーヤキャラクタ4を、プレーヤの手動移動操作(本実施形態では、移動対象を選択するタッチ操作に続くスライド操作)に従って移動開始可能範囲22内で移動させて移動開始位置を決定する(図3参照)。その際、移動開始位置決定部218は、手動移動操作による移動を、移動開始可能範囲22のうち、移動対象として選択されているプレーヤキャラクタ4に設定されたサイズに基づく移動可能な範囲に限定する(図10参照)。
自動移動制御部220は、移動対象として選択されたプレーヤキャラクタ4を、当該キャラクタに対応付けられた移動パターンに基づき、移動開始位置から自動移動させて当該キャラクタを移動させる。そして、自動移動による移動距離が所与の移動可能距離に達した場合、又は自動移動によりプレーヤキャラクタ4が所与の敵キャラクタ6又は所与のオブジェクト(例えば、障害物オブジェクト8やゲームフィールド20の境界オブジェクト)に行き当たった場合に移動を停止させる。なお、自動移動開始時点でプレーヤが保有する行動ポイントの残値が自動移動に伴う減少分未満の場合には自動移動を行わない。
また、本実施形態では、自動移動制御部220は、属性効果反映部221を有する。
属性効果反映部221は、ゲームフィールド20に設定された属性と、プレーヤキャラクタ4に設定された属性との相性に基づいて、当該キャラクタの自動移動を可変に制御することができる。具体的には、好相性の場合には移動可能距離を延長し、悪相性の場合には移動可能距離を短縮する。
行動パラメータ値管理部222は、自動移動によって減少し、時間経過又は所与の課金処理により回復する行動パラメータ値を管理する。本実施形態では行動パラメータ値を「行動ポイント」と呼ぶ。
自動攻撃制御部224は、移動完了したプレーヤキャラクタ4に自動で攻撃行動させる。そして、攻撃を受けた敵キャラクタ6にダメージを設定し反映させる。
範囲設定部226は、プレーヤキャラクタ4の自動移動による移動軌跡に基づき拡張範囲24を決定し、これを移動開始可能範囲22に加えて拡張して更新設定する。具体的には、プレーヤキャラクタ4の移動軌跡と、自動移動されたキャラクタに設定されたサイズに基づく移動幅とに基づいて移動開始可能範囲22を拡張する。
拡張範囲識別表示制御部228は、範囲設定部226による移動開始可能範囲22の更新設定に応じて、新たに拡張された部分(本実施形態では拡張範囲24)を識別表示する。
敵キャラクタ制御部230は、敵ターンにおいて、行動可能に残存している敵キャラクタ6を、移動完了しているプレーヤキャラクタ4に接近して攻撃するように自動制御する。そして、攻撃を受けたプレーヤキャラクタ4にダメージを設定し反映させる。
削減制御部232は、移動開始可能範囲22のうちの拡張された部分の一部又は全部を削減する制御を行う。具体的には、所与の時間経過又は所与の数のプレーヤキャラクタ4の自動移動が終了した場合に、移動開始可能範囲22のうちの拡張された部分を削減する。また、敵キャラクタ6の移動軌跡に基づいて削減する部分を決定して削減する。
配置リセット部234は、所与のリセット条件が満たされた場合に、前記キャラクタを所与の初期位置(出撃位置;図2参照)に再配置する。本実施形態では、リセット条件を、敵ターンの終了時、換言するとプレーヤターンの開始前とするが、所与の時間経過、所与の数のプレーヤキャラクタ4の移動完了、ランダム発生などとすることもできる。
フォーメーション効果反映部236は、自動移動されたプレーヤキャラクタ同士の相対位置関係(フォーメーション)に基づいてゲーム進行を制御する。本実施形態では、ゲームフィールド20内におけるプレーヤキャラクタ4同士の相対位置関係が、所定の幾何的位置関係を満たす場合に、プレーヤにとって有利となるようにゲーム進行を制御する。具体的には、関連するプレーヤキャラクタ4の能力を高めるように制御する。
累積距離利用進行制御部238は、自動移動に係る累積距離に基づいてゲーム進行を制御する。本実施形態では、使用する全てのプレーヤキャラクタ4に係る移動距離を累積し、ゲーム画面内に累積距離表示部16(図3参照)を表示させてプレーヤに通知する。そして、累積距離が所定値まで蓄積されると、プレーヤキャラクタ4のスキルを発動可能にする。勿論、ゲーム内容の設定によっては、累積距離に基づくゲーム進行制御はこれに限らず適宜設定可能である。例えば、プレーヤキャラクタ4の能力向上、自動移動のやり直し、行動ポイントの補充、ボーナスポイントの付与、ボーナスアイテムの付与、スキルの付与、などその他の制御を発動可能としてもよい。
アイテム付与部240は、所与のアイテム7をゲームフィールド内に不可視状態で配置し(図2参照)、移動開始可能範囲22の拡張によって当該配置位置が移動開始可能範囲22に含まれた場合に、当該アイテムを可視状態に変更してプレーヤに付与する制御を行う(図5参照)。
また、ゲーム進行制御部210は、これらの機能実現に伴ってゲームプレイの制御に必要な各種データをサーバ記憶部500sに記憶させることができる。
なお、本実施形態のゲームは、シングルプレイを前提としているが、もしPvP(Player versus Player)形式でゲームを実行する場合には、ゲーム進行制御部210に対戦者のマッチングに関する制御を実行させることとしてもよい。また、ゲーム内容によってはこれら以外の機能も適宜持たせることができる。
計時部280sは、システムクロックを利用して現在日時や制限時間などの計時を行う。
音生成部290sは、音声データの生成やデコードをするICやソフトウェアの実行により実現され、サーバシステム1100のシステム管理やゲームプレイに係る操作音やBGMなどの音声データを生成或いはデコードする。そして、システム管理に関する音声信号は音出力部390sへ出力する。
音出力部390sは、音声信号を放音する。図1の例では本体装置1101やタッチパネル1108が備えるスピーカ(非図示)がこれに該当する。
画像生成部292sは、サーバシステム1100のシステム管理に関する画像や、ゲーム画像(又はゲーム画像をユーザ端末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の例では本体装置1101が搭載するICメモリ1152やハードディスクなどの記憶媒体、及びストレージ1140がこれに該当する。
図13は、本実施形態におけるサーバ記憶部500sが記憶するプログラムやデータの例を示す図である。
本実施形態におけるサーバ記憶部500sは、サーバシステムプログラム501と、サーバプログラム503と、配信用ゲームクライアントプログラム505と、ゲームステージ初期設定データ520と、プレーヤキャラクタ初期設定データ550と、敵キャラクタ初期設定データ568と、フォーメーション効果定義データ570と、属性相性効果定義データ576と、を記憶する。
また、サーバ記憶部500sは、逐次生成・管理されるデータとして、ユーザ管理データ600と、プレイデータ700と、現在日時800と、を記憶する。その他、タイマや、カウンタ、各種フラグなどの情報を適宜記憶できる。
サーバシステムプログラム501は、サーバ処理部200sが読み出して実行することでサーバシステム1100にコンピュータとして必要な基本的な入出力機能を実現する為のシステムプログラムである。
サーバプログラム503は、サーバ処理部200sが読み出して実行することで、ユーザ管理部202と、ゲーム進行制御部210としての機能を実現させるためのプログラムである(図12参照)。
配信用ゲームクライアントプログラム505は、ユーザ端末1500へ提供されるゲームクライアントプログラムのオリジナルである。
ゲームステージ初期設定データ520は、ゲームステージ毎に用意され、そのステージの内容を定義する各種データを格納する。
1つのゲームステージ初期設定データ520は、例えば図14に示すように、固有のステージID521と、ゲームフィールド20の形状を定義するフィールド形状設定データ522と、フィールド属性523と、敵キャラクタ初期配置データ524と、障害物初期配置データ525と、アイテム埋設初期設定データ526と、初期移動開始可能範囲527と、プレーヤキャラクタ候補リスト530と、プレーヤキャラクタ使用数531と、プレーヤキャラクタ選択パターン532と、指定プレーヤキャラクタリスト533と、出撃位置リスト534と、削減パターン設定データ540と、を含む。勿論、これら以外のデータも適宜含めることができる。
フィールド属性523は、後述するキャラクタ属性との相性判定に使用される情報である。属性の種類は適宜設定可能である。例えば、地・水・火の3種類としてもよい。
敵キャラクタ初期配置データ524は、ゲームフィールド20に配置される敵キャラクタ6毎に用意され、それぞれ敵キャラクタ種類と配置位置座標とを対応づけて格納する。
障害物初期配置データ525は、ゲームフィールド20に配置される障害物オブジェクト8毎に用意され、それぞれ障害物種類と配置位置座標とを対応づけて格納する。
アイテム埋設初期設定データ526は、ゲームフィールド20に不可視状態で配置されるアイテム7(図2参照)毎に用意され、それぞれ埋設位置座標(配置位置座標)と、アイテム種類と、埋設数(配置数)と、を対応づけて格納する。
初期移動開始可能範囲527は、移動開始可能範囲22(図2参照)の初期状態を定義する。例えば、移動開始可能範囲22の頂点位置座標のリストとして実現される。なお、初期状態の移動開始可能範囲22には、あらゆるサイズのプレーヤキャラクタ4が範囲内で移動できる幅が設定されている。
プレーヤキャラクタ候補リスト530は、プレーヤキャラクタ4の候補の母集団を定義する。具体的には、キャラクタIDのリストとして実現される。母集団を、プレーヤが保有するキャラクタのリストとする構成の場合には、当該リストは省略することができる。
プレーヤキャラクタ使用数531は、当該ゲームステージで使用できるプレーヤキャラクタ4の数を定義する。プレーヤキャラクタ4の出撃数と読み替えることができる。本実施形態では、全てのプレーヤターンで共通して3体まで使用できる設定なので、数字の「3」が定義されているが、ターン別に異なる使用数を変更する構成では、ターン数と使用数の設定値とを対応づけて格納すればよい。
プレーヤキャラクタ選択パターン532は、プレーヤキャラクタ候補リスト530の示す母集団から、プレーヤキャラクタ使用数531が示す数だけ、どのようにプレーヤキャラクタ4を選択するかを定義する。本実施形態では、「プレーヤによる任意選択」「ランダム選択」「指定」の3種類の何れかが設定されている。
プレーヤキャラクタ選択パターン532が「指定」に設定されている場合は、使用するプレーヤキャラクタ4の種類と使用順番とが指定プレーヤキャラクタリスト533で定義される。
出撃位置リスト534は、プレーヤキャラクタ4の初期配置位置座標のリストである。
削減パターン設定データ540は、移動開始可能範囲22の削減条件と削減方法とが定義されている。本実施形態では、図15(1)〜図15(4)に示す4タイプのうちの少なくとも1つが設定されている。削減パターン設定データ540は、それぞれ適用条件542と処置543とを含む。
図13に戻って、プレーヤキャラクタ初期設定データ550は、プレーヤキャラクタ4の種類毎に用意されて、その種類のキャラクタに係る各種データを格納する。
1つのプレーヤキャラクタ初期設定データ550は、例えば図16に示すように、固有のキャラクタID551と、当該キャラクタのキャラクタモデル形態で表示する際に使用されるキャラクタモデルデータ552と、キャラクタサイズ553と、キャラクタ属性554と、1移動当たり又は単位距離移動当たりに消費する行動ポイントを定義する行動ポイント消費率555と、初期能力パラメータ値リスト556と、移動パターン設定データ560と、を含む。勿論、これら以外のデータも適宜含めることができる。
初期能力パラメータ値リスト556に含める能力パラメータ値の種類は適宜設定可能である。本実施形態では、初期耐久値と、初期攻撃可能範囲と、初期攻撃力と、初期防御力と、スキル内容と、スキル発動条件とを含む。スキル内容とスキル発動条件は適宜設定可能である。本実施形態では、スキル発動条件に累積距離の値を設定する。
移動パターン設定データ560は、基本パターン561とともに、特別条件562と特別パターン563とのセットを単数又は複数含む。
図13に戻って、敵キャラクタ初期設定データ568は、敵キャラクタ6の種類毎に用意され、当該キャラクタを定義する各種データを格納する。
フォーメーション効果定義データ570は、ゲームフィールド20内に移動完了したプレーヤキャラクタ4の相対位置関係に基づいてプレーヤに特典を付与する条件とその内容を定義する情報を格納する。1つのフォーメーション効果定義データ570は、例えば図17に示すように、フォーメーションID571と、フォーメーション認定要件範囲572と、フォーメーション効果内容573と、を含む。
フォーメーション認定要件範囲572では、基準とする移動済みのプレーヤキャラクタ4を座標原点とした場合に、当該フォーメーションが成立したと認めるために他の移動済みプレーヤキャラクタ4が存在するべき要件範囲Aqを定義する。図17の例では、三角形フォーメーションを定義しているので、2つの要件範囲Aq1、Aq2が定義されている。もし正方形フォーメーションならば3つの要件範囲が定義されることになる。
フォーメーション効果内容573は、適宜設定可能である。図17の例では、最近移動完了したプレーヤキャラクタ4、つまりこれから敵キャラクタ6を攻撃しようとするキャラクタの攻撃力を一時的に2倍に高める内容であるが、これ以外でも適宜設定可能である。
図13に戻って、属性相性効果定義データ576は、現在プレイされているゲームステージのフィールド属性523(図14参照)と、使用されているプレーヤキャラクタ4のキャラクタ属性554(図16参照)との組み合わせ及び相性の効果を定義するデータを格納する。1つの属性相性効果定義データ576は、フィールド属性と、キャラクタ属性と、効果対象と、効果内容とを対応付けて格納する。
効果内容は、フィールド属性とキャラクタ属性との組み合わせの相性に応じたゲームの進行制御への影響を定義する。そして、その影響が及ぶ態様が、効果対象にて定義されている。本実施形態では、少なくともプレーヤキャラクタ4の移動能力に影響を与える内容が定義されている。具体的には、例えば、相性が属性の悪い組み合わせでは、効果内容を「移動可能距離0.5倍」、効果対象を「プレーヤキャラクタ」とする設定が用意されており、移動能力が低下する状態を定義している。逆に、相性が属性の良い組み合わせでは、効果内容を「移動可能距離1.5倍」、効果対象を「プレーヤキャラクタ」とする設定が用意されており、移動能力が向上する状態を定義している。
なお、効果内容は、移動能力以外についても設定可能である。例えば、前者を「防御力1.2倍」、後者を「プレーヤキャラクタ」とすれば、当該プレーヤキャラクタとゲームフィールドとの相性が良く、防御力がアップする状態を定義できる。
ユーザ管理データ600は、登録ユーザ毎に用意され、固有の識別情報であるアカウントと紐付けられる各種データを格納する。本実施形態では、1つのユーザ管理データ600には、固有のアカウント601と、保有原資残高603と、プレイ履歴データ605と、
保有行動ポイント607と、ゲームセーブデータ610と、を含む。
保有原資残高603は、アイテム購入などの各種課金要素に係る支払に使用される仮想通貨やアイテム、ゲームポイント等の残高を示す。
保有行動ポイント607は、現在プレーヤが保有している行動ポイントの残量を示している。本実施形態では、時間経過に応じて自動で補充・回復される。プレーヤがオンラインショッピングで購入して補充することもできる。また、ゲームプレイの成果に応じて付与、又は無料配付によって補充されることもある。また、所与のアイテムの使用により補充することもできる。ゲーム画面の保有行動ポイント表示部14(図2参照)にて最新の値が表示される。
なお、ユーザ管理データ600には、これら以外のデータも適宜含めることができる。例えば、プレーヤキャラクタ4をプレーヤが保有するキャラクタのなかから選択する構成の場合には、ユーザ管理データ600に保有キャラクタリストを適宜含めるとよい。
プレイデータ700は、ゲームプレイ毎に用意され、ゲーム進行状況を記述する各種データや、各キャラクタの制御データなどゲーム画面の表示等に関する各種情報を格納する。
1つのプレイデータ700は、例えば図18に示すように、プレーヤアカウント701と、プレイ開始日時702と、使用ステージID704と、プレーヤキャラクタ候補母集団706と、使用プレーヤキャラクタリスト708と、ターン数710と、累積距離712と、付与済アイテムリスト714と、障害物配置データ715と、キャラクタ制御データ720と、移動開始可能範囲設定データ730と、を含む。勿論、これら以外のデータも適宜含めることができる。
使用ステージID704は、現在プレイ中のゲームステージのステージID521(図14参照)を示す。
プレーヤキャラクタ候補母集団706は、プレーヤキャラクタ4を選択するための母集団を定義する。本実施形態では、使用ステージID704の示すゲームステージのプレーヤキャラクタ候補リスト530(図14参照)がコピーされる。プレーヤが保有するキャラクタを母集団とする場合には、ユーザ管理データ600から保有キャラクタリストがコピーされる。
使用プレーヤキャラクタリスト708は、プレーヤキャラクタ候補母集団706よりプレーヤキャラクタ4として選択されたキャラクタのキャラクタID551(図16参照)のリストである。
累積距離712は、プレイ開始時は「0」に初期化され、プレーヤキャラクタ4を自動移動させた距離が逐次加算される。本実施形態では上限が設定されており、当該上限以上には蓄積されない。そして、プレーヤキャラクタ4のスキルが発動されると、当該スキルの種類に応じて設定されている消費量が消費される。最新の累積距離712は、累積距離表示部16(図2参照)にてプレーヤに通知される。
付与済アイテムリスト714は、ゲームフィールド20に不可視状態で配置されているアイテム7(図2参照)のうち、プレーヤにすでに付与されたアイテムのリストである。
障害物配置データ715は、ゲームフィールド20における各障害物オブジェクト8の状態を記述するデータを格納する。本実施形態では、それぞれの配置位置座標を格納する。
キャラクタ制御データ720は、プレーヤキャラクタ4及び敵キャラクタ6別に用意され、当該キャラクタの状態を記述する各種データを格納する。1つのキャラクタ制御データ720は、当該キャラクタの種類を示すキャラクタID721と、操作者ID722と、現在位置座標724と、移動履歴データ726と、能力パラメータ値リスト728と、を含む。勿論、これら以外のデータも適宜含めることができる。
操作者ID722は、当該キャラクタの操作者を示す。本実施形態はシングルプレイのゲームなので、プレーヤアカウント又はコンピュータを示す所定値(図18の例ではCOM)が格納される。マルチプレイ可能な構成する場合には、参加者の何れかのプレーヤアカウントが格納される。
移動履歴データ726は、ステージプレイ開始前にリセットされ、ステージプレイ後に当該キャラクタが移動する毎に追加される。1つの移動履歴データ726は、移動が行われたタイミングを示すターン数と、移動経路データと、移動距離と、を対応づけて格納する。
能力パラメータ値リスト728は、当該キャラクタの各種能力を定義するデータである。本実施形態では、耐久値(いわゆるヒットポイント)、攻撃可能範囲、攻撃力、防御力、消費行動ポイント、移動可能距離、スキル制御データ、等を格納する。消費行動ポイントは、当該キャラクタの自動移動に伴って消費される行動ポイントの量又はそれを導出するための関数やテーブルデータである。スキル制御データは、スキルの名称やスキルの内容を定義するためのデータである。こうした能力パラメータ値リスト728の各値は、各キャラクタの初期値がコピーされる、或いはゲームセーブデータ610がコピーされる。そして、ゲームプレイ中に、属性効果やフォーメーション効果の反映により増減される。
移動開始可能範囲設定データ730は、移動開始可能範囲22を定義する。具体的には、初期状態の移動開始可能範囲22を示す初期範囲データ732と、拡張範囲データ734と、削減部分データ736と、を含む。
初期範囲データ732には、初期移動開始可能範囲527(図14参照)がコピーされる。
拡張範囲データ734は、プレーヤキャラクタ4が自動移動する毎に作成され、当該自動移動に伴って移動開始可能範囲22に追加される拡張範囲24(図3参照)を定義する。1つの拡張範囲データ734は、例えば追加日時と、範囲頂点座標リストと、幅と、が格納されている。
削減部分データ736は、削減部分28(図8参照)を定義する。
図19は、本実施形態におけるユーザ端末1500の機能構成の一例を示す機能ブロック図である。本実施形態のユーザ端末1500は、操作入力部100と、端末処理部200と、音出力部390と、画像表示部392と、通信部394と、端末記憶部500とを備える。
操作入力部100は、プレーヤによって為された各種の操作入力に応じて操作入力信号を端末処理部200に出力する。例えば、プッシュスイッチや、ジョイスティック、タッチパッド、トラックボール、加速度センサ、ジャイロ、CCDモジュール、などによって実現できる。図1の方向入力キー1502や、ボタンスイッチ1504、タッチパネル1506がこれに該当する。
端末処理部200は、例えばCPUやGPU等のマイクロプロセッサや、ASIC、ICメモリなどの電子部品によって実現され、操作入力部100や端末記憶部500を含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100からの操作入力信号、サーバシステム1100から受信した各種データに基づいて各種の演算処理を実行して、ユーザ端末1500の動作を制御する。図1の制御基板1550がこれに該当する。そして、本実施形態における端末処理部200は、ユーザ端末演算部260と、計時部280と、音生成部290と、画像生成部292と、通信制御部294と、を備える。
ユーザ端末演算部260は、操作信号送信制御部261と、ゲーム画面表示制御部262とを含む。
操作信号送信制御部261は、操作入力部100へ為された操作に応じて、各種データやリクエストをサーバシステム1100へ送信するための処理を実行する。
ゲーム画面表示制御部262は、サーバシステム1100から受信した各種データに基づいてゲーム画面を表示するための制御を行う。当該構成では、ゲーム空間画像(例えば、3DCG画像など)をサーバシステム1100にて生成する構成とするが、ゲーム空間画像をユーザ端末1500で生成する構成も可能である。その場合、ゲーム画面表示制御部262は、例えば3DCGを生成するための仮想3次元空間に配置されたオブジェクトの制御を含むこととなる。
音生成部290は、例えばデジタルシグナルプロセッサ(DSP)や、音声合成ICなどのプロセッサ、音声ファイル再生可能なオーディオコーデック等によって実現され、ゲーム画面表示制御部262による処理結果に基づいてゲームに係る効果音やBGM、各種操作音の音信号を生成し、音出力部390に出力する。
音出力部390は、音生成部290から入力される音信号に基づいて効果音やBGM等を音出力する装置によって実現される。図1のスピーカ1510がこれに該当する。
画像生成部292は、例えば、GPU、デジタルシグナルプロセッサ(DSP)などのプロセッサ、ビデオ信号IC、ビデオコーデックなどのプログラム、フレームバッファ等の描画フレーム用ICメモリ等によって実現される。
そして、画像生成部292は、サーバシステム1100から受信した各種データに基づいて1フレーム時間(例えば1/60秒)で1枚のゲーム画面の画像を生成し、生成したゲーム画面の画像信号を画像表示部392に出力する。
画像表示部392は、画像生成部292から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。本実施形態では、図1のタッチパネル1506がこれに該当する。
通信制御部294は、データ通信に係るデータ処理を実行し、通信部394を介して外部装置とのデータのやりとりを実現する。通信部394は、通信回線9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現され、図1の無線通信モジュール1553がこれに該当する。
端末記憶部500は、端末処理部200にユーザ端末1500を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームプレイに必要なプログラム、各種データ等を記憶する。また、端末処理部200の作業領域として用いられ、端末処理部200が各種プログラムに従って実行した演算結果や操作入力部100から入力される入力データ等を一時的に記憶する。こうした機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVDなどの光学ディスクなどによって実現される。図1の制御基板1550が搭載するICメモリ1552やメモリカード1540がこれに該当する。
本実施形態の端末記憶部500は、端末システムプログラム502と、ゲームクライアントプログラム504と、を記憶する。勿論、これら以外のデータも適宜記憶することができる。
端末システムプログラム502は、ユーザ端末1500のコンピュータとしての入出力の基本機能を実現するためのプログラムである。
ゲームクライアントプログラム504は、端末処理部200が読み出して実行することによってユーザ端末演算部260としての機能を実現させるためのアプリケーションソフトウェアであるが、端末システムプログラム502の一部として組み込まれた構成であっても良い。本実施形態では、サーバシステム1100から提供される配信用ゲームクライアントプログラム505(図13参照)のコピーとする。
なお、ゲームクライアントプログラム504は、オンラインゲームを実現する技術手法に応じて専用のクライアントプログラムであっても良いし、ウェブブラウザプログラム及びインタラクティブな画像表示を実現するプラグインなどにより構成するとしても良い。
[動作の説明]
次に、サーバシステム1100における処理の流れについて説明する。ここで説明する処理の流れは、サーバ処理部200sがサーバプログラム503を実行することにより実現される。
図20〜図22は、本実施形態において、ゲームステージ1つ分のプレイに係るサーバシステム1100における処理の流れを説明するためのフローチャートである。
先ず、図20に示すように、サーバシステム1100はログイン処理を実行し、プレイ履歴の記録を開始し、プレイデータ700の初期化をする(ステップS2)。
具体的には、サーバシステム1100は、ログインしたユーザ(プレーヤ)向けに新たなプレイデータ700を(図18参照)用意して、初期化する。そして、サーバシステム1100は、ログインプレーヤのユーザ管理データ600(図13参照)のゲームセーブデータ610を反映させる。例えば、使用ステージID704には、前回ステージクリアした次のステージが設定されるとしてもよい。
次に、サーバシステム1100は、ゲームフィールドを設定する(ステップS4)。
具体的には、使用ステージID704の示すゲームステージ初期設定データ520(図14参照)を参照して、プレーヤキャラクタ候補母集団706に、プレーヤキャラクタ候補リスト530をコピーし、使用プレーヤキャラクタリスト708はリセットする。ターン数710は「1」に設定し、累積距離712は「0」に設定する。付与済アイテムリスト714はリセットする(図16参照)。
また、サーバシステム1100は、敵キャラクタ初期設定データ568(図13参照)を参照して、敵キャラクタ6のキャラクタ制御データ720を初期設定し、使用ステージID704の示すゲームステージ初期設定データ520を参照して(図14参照)、障害物初期配置データ525に従って障害物配置データ715を初期設定する(図16参照)。
また、初期移動開始可能範囲527を、移動開始可能範囲設定データ730の初期範囲データ732にコピーし、拡張範囲データ734及び削減部分データ736は登録無しの状態にリセットする。
次に、サーバシステム1100は、使用するプレーヤキャラクタ4を決定する(ステップS6)。具体的には、使用ステージID704のゲームステージ初期設定データ520(図14参照)のプレーヤキャラクタ選択パターン532が「ランダム」に設定されている場合には、プレーヤキャラクタ候補母集団706(図18参照)のキャラクタのなかから、プレーヤキャラクタ使用数531(図14参照)だけキャラクタを選択する。例えば、乱数発生処理を利用してランダムに選択して使用プレーヤキャラクタリスト708に設定する。
もし、プレーヤキャラクタ選択パターン532が「プレーヤ選択」に設定されている場合には、プレーヤキャラクタ候補母集団706のキャラクタのリストをプレーヤに提示し、選択操作入力されたキャラクタを、使用プレーヤキャラクタリスト708に設定する。
もし、プレーヤキャラクタ選択パターン532が「指定」に設定されている場合には、指定プレーヤキャラクタリスト533を使用プレーヤキャラクタリスト708にコピーする。
次に、サーバシステム1100は、現在のターンをプレーヤターンに設定し(ステップS8)、プレーヤキャラクタ4を出撃位置に配置する(ステップS10)。すなわちプレーヤキャラクタ4毎にキャラクタ制御データ720(図18参照)を生成し、出撃位置リスト534(図14参照)に従ってそれぞれの現在位置座標724を設定する。この時、移動履歴データ726は登録無しの状態にリセットされ、能力パラメータ値リスト728には、それぞれのプレーヤキャラクタ初期設定データ550(図16参照)の初期能力パラメータ値リスト556がコピーされる。
次に、サーバシステム1100は、プレーヤによりタッチ操作されたプレーヤキャラクタ4を移動対象に設定する(ステップS12)。この時、すでに移動が完了しているプレーヤキャラクタ4(現在のターン数710の移動履歴データ726が存在するキャラクタ)は設定の対象外とされる。
移動対象が指定されたならば、サーバシステム1100はプレーヤの保有行動ポイント607(図13参照)と、移動対象とされたプレーヤキャラクタ4の移動にともない消費される行動ポイントの予測値とを比較し、保有行動ポイント607が不足する場合には、(ステップS14のNO)、移動不可を通知し(ステップS16)、移動対象の設定を解除する(ステップS18)。
保有行動ポイント607が十分な場合は(ステップS14のYES)、サーバシステム1100は、プレーヤによるスライド操作に応じて、移動対象とされたプレーヤキャラクタ4を、現在位置から移動開始可能範囲22(初期範囲データ732が示す範囲と拡張範囲データ734が示す範囲)内で移動させる(ステップS20)。この時、移動対象のプレーヤキャラクタ4は、当該キャラクタのキャラクタサイズ553(図16参照)よりも狭い範囲には進入できないように制御される(図11参照)。
そして、スライド操作されていたプレーヤキャラクタ4からタッチが解除された位置を、移動対象の移動開始位置とし(ステップS22)、属性相性効果定義データ576(図13参照)に従って、ゲームフィールド20の属性と、移動対象のプレーヤキャラクタ4の属性との相性に応じた効果を適用する(ステップS24)。本実施形態では、少なくともプレーヤキャラクタ4の移動能力が変更される。具体的には、当該キャラクタに初期設定されている移動可能距離の値を相性に応じて増加又は低下させることで移動可能距離を設定する。
次いで、サーバシステム1100は、移動対象のプレーヤキャラクタの自動移動制御と新たな拡張範囲24の設定および識別表示とを開始する(ステップS26;図3参照)。
具体的には、サーバシステム1100は、移動対象のキャラクタ制御データ720(図18参照)に、新たな移動履歴データ726を生成し、自動移動制御に応じて移動経路データと移動距離とを逐次更新する。
自動移動制御においては、サーバシステム1100は、移動対象のプレーヤキャラクタ4の移動パターン設定データ560(図16参照)を参照する。すなわち、当該プレーヤキャラクタ4は、基本パターン561で定義された運動をするように移動制御され、特別条件562が満たされると一定時間基本パターン561に代えて特別パターン563で運動するように制御される(図3〜図5参照)。
また、サーバシステム1100は、自動制御の開始とともに移動開始可能範囲設定データ730(図18参照)に新たな拡張範囲データ734を生成して、プレーヤキャラクタ4の移動軌跡に基づく新たな拡張範囲24(図3参照)の追加設定と逐次更新を開始する。そして、当該新たな拡張範囲24をゲーム画面上に逐一識別表示する。この結果、ゲーム画面上では、移動するプレーヤキャラクタ4の後にあたかも新たな芝刈り痕ができるかのようにして拡張範囲24が表示される。なお、本実施形態では拡張範囲24の幅は、移動対象のプレーヤキャラクタ4のサイズに設定される。
図21に移って、自動移動制御されているプレーヤキャラクタ4の移動開始からの距離が、当該キャラクタの初期能力パラメータ値リスト556(図16参照)に格納されている移動可能距離の値に達した場合(ステップS30のYES)、又は当該キャラクタが敵キャラクタ6又は障害物オブジェクト8に衝突した場合(ステップS32のYES)、移動を停止させる(ステップS36)。
そして、サーバシステム1100は、プレーヤの保有行動ポイント607を減らし(ステップS38)、新たに追加された拡張範囲24に埋設されていた不可視状態のアイテム7を検索し、該当するアイテム7があればこれをゲーム画面に表示させ、プレーヤに付与する(ステップS40;図5参照)。
次に、サーバシステム1100は、累積距離712(図18参照)に応じて移動対象とされるプレーヤキャラクタ4のスキルを発動させる(ステップS42)。本実施形態では、移動対象のプレーヤキャラクタ4の初期能力パラメータ値リスト556(図16参照)に格納されているスキル発動条件が満たされた場合に、同じく初期能力パラメータ値リスト556(図16参照)に格納されているスキル内容を発動させる。なお、スキルの発動は、本実施形態のように自動で行うのではなく、プレーヤによる発動開始操作入力を必須とする構成としても良い。
次に、サーバシステム1100は、該当するフォーメーション効果を適用する(ステップS44)。具体的には、ゲームフィールド20に展開している移動完了済みのプレーヤキャラクタ4の位置座標が、フォーメーション認定要件範囲572に適合するフォーメーション効果定義データ570(図17参照)を検索し、適合する定義データがあればそのフォーメーション効果内容573を実行する。
次いで、サーバシステム1100は、移動対象のプレーヤキャラクタ4の攻撃可能範囲内に敵キャラクタ6が存在する場合に、当該敵キャラクタ6を攻撃するように自動制御し、攻撃対象となった敵キャラクタ6へダメージを反映させる(ステップS46)。
次に、サーバシステム1100は、全ての敵キャラクタ6が行動不能に至ったならば(ステップS50のYES)、ステージをクリアした旨をプレーヤに通知し(ステップS52)、ゲームセーブデータ610(図13参照)を更新して(ステップS54)、一連の処理を終了する。
もし、行動可能な敵キャラクタ6が残存しているならば(ステップS50のNO)、サーバシステム1100は、次に現在のプレーヤターンにおいて、全てのプレーヤキャラクタ4が移動完了しているかを判定する(ステップS60)。
もし、まだ移動されていないプレーヤキャラクタ4が残っていれば(ステップS60のNO)、ステップS12に戻る(図20参照)。
もし、移動されていないプレーヤキャラクタ4が残っていなければ(ステップS60のYES)、サーバシステム1100は、ターンを敵ターンに変更する(ステップS62)。そして、行動可能な敵キャラクタ6を、プレーヤキャラクタ4を攻撃するように自動制御し、攻撃を受けたプレーヤキャラクタ4にダメージを反映させる(ステップS64)。続いて、自動制御された敵キャラクタ6の移動経路に基づいて削減部分28を設定し、拡張範囲24を削減する(ステップS66)。
図22に移って、サーバシステム1100は、全てのプレーヤキャラクタ4が行動不能になったかを判定する(ステップS70)。
もし、否定ならば(ステップS70のNO)、サーバシステム1100は、ゲームフィールド20に展開しているプレーヤキャラクタ4を出撃位置に戻して(ステップS72)、拡張範囲24を全て登録抹消して全クリアする(ステップS74)。そして、ターンをプレーヤターンに戻して(ステップS76)、ステップS12に戻る。なお、ステップS72とステップS74は、ステージによっては省略する構成も可能である。
一方、敵ターン中に全てのプレーヤキャラクタ4が行動不能に至った場合には(ステップS70のYES)、プレーヤに宛ててゲームオーバを通知し(ステップS80)、ゲームセーブデータ610(図13参照)を更新して(ステップS54)、一連の処理を終了する。
以上、本実施形態によれば、ゲームルールと操作性との関係が分かり易く、それでいて興趣に富んだ新しい趣向のゲームを実現可能とする技術を提供することができる。
〔第2実施形態〕
次に、本発明を適用した第2実施形態について説明する。
本実施形態は、基本的には第1実施形態と同様に実現されるが、ゲーム進行制御の処理主体がユーザ端末1500である点が異なる。以降では、主に第1実施形態との差異について述べることとし、第1実施形態と同様の構成要素については同じ符号を付与して説明は省略するものとする。
図23は、本実施形態におけるユーザ端末1500Bの機能構成例を示す機能ブロック図である。本実施形態のユーザ端末1500Bは、ゲーム画面表示制御部262が省略されゲーム進行制御部210を有する。すなわち、本実施形態ではユーザ端末1500は、自身でゲーム進行に関する演算処理を実行して、ゲーム空間画像を生成する。
図24は、本実施形態のユーザ端末1500Bの端末記憶部500に記憶されるプログラムやデータの例を示す図である。
本実施形態の端末記憶部500は、端末システムプログラム502と、ゲームプログラム506と、を記憶する。そして、ゲーム進行制御部210がユーザ端末1500Bにて処理されるのに伴って、ユーザ管理データ600を除くゲームステージ初期設定データ520〜現在日時800までが、端末記憶部500にて記憶される。
ゲームプログラム506は、本実施形態のユーザ端末演算部260と、ゲーム進行制御部210と、を端末処理部200にて実現させるためのプログラムである。
本実施形態における処理の流れは、第1実施形態におけるサーバシステム1100の処理の流れ(図20〜図22参照)と基本的に同じであり、ゲーム進行制御部210をユーザ端末1500Bにて実行するのに合わせて、適宜各ステップの実行主体をユーザ端末1500Bと読み替えれば良い。なお、ユーザ端末1500Bにてログインなどユーザ管理データ600を参照する必要がある処理を実行する場合には、適宜サーバシステム1100へ必要なデータの提供や照合をリクエストするか、処理そのものをリクエストするかして対処するものとする。
本実施形態によれば、第1実施形態と同様の作用効果が得られる。
なお、ユーザ端末1500Bが、ゲーム進行制御部210の全てを担うのではなく、その一部を担う構成としてもよい。
〔変形例〕
以上、本発明を適用した実施形態について説明したが、本発明を適用可能な形態は上記形態に限定されるものではなく適宜構成要素の追加・省略・変更を施すことができる。
[その1]
例えば、上記実施形態では、クライアント・サーバ型のコンピュータシステムにてオンラインゲームを実現する例を挙げたが、複数のユーザ端末1500をピアツーピア接続したコンピュータシステムにおいて実現するとしてもよい。その場合、何れかのユーザ端末1500に第1実施形態のサーバシステム1100としての機能を担わせる。或いは、複数のユーザ端末1500で第2実施形態のようにゲーム進行制御部210が有する機能を分担して担う構成としてもよい。
[その2]
更には、上記実施形態ではオンラインゲームを例示したが、ユーザ端末1500がスタンドアローンで実行するゲーム、換言すると単独のコンピュータからなるコンピュータシステムにおいて実行するゲームにおいても同様に適用できる。この場合、基本的には図12及び図23で示した機能構成を、ユーザ端末1500単独で実現するものと読み替えれば良い。
[その3]
また、例えば、上記実施形態ではプレーヤキャラクタ4で敵キャラクタ6を攻撃して倒す内容としたが、ゲーム内容はこれに限らず適宜設定可能である。例えば、敵キャラクタ6を「狩りの対象」に置き換え、プレーヤキャラクタ4が狩りをする内容としてもよい。或いは、敵キャラクタ6を「迷子」に置き換えて、プレーヤキャラクタ4が迷子を救出する内容としてもよい。また、敵キャラクタ6を「通過点」「安全地帯」と設定するとともに、そのうち少なくとも1つを「脱出口」と置き換えれば、プレーヤキャラクタ4が障害物を避けつつ協力して脱出する内容とすることもできる。
[その4]
また、上記実施形態では、ゲームフィールド20を2次元空間、つまり平面として表現したが、立体的な3次元空間として設定することもできる。その場合、移動開始可能範囲22・拡張範囲24・削減部分28も立体的な構造とするとよい。また、移動開始可能範囲22・拡張範囲24・削減部分28を、2次元領域ではなくモノレールのレールのように1次元のラインとして表現するとしてもよい。
[その5]
また、上記実施形態では、移動開始位置からのプレーヤキャラクタ4の移動を自動制御としたが手動制御とする構成も可能である。
具体的には、自動移動制御部220(図12参照)を「手動移動制御部」と読み替えて、移動対象として選択されたプレーヤキャラクタ4を、プレーヤにより手動移動操作入力された量だけ移動制御する構成が可能である。例えば、手動移動操作入力を、移動対象のプレーヤキャラクタ4へタッチして払う操作入力(いわゆるフリック操作など)とするケースでは、プレーヤキャラクタ4を、払い操作距離や払い操作速度に応じた距離だけ、当該プレーヤキャラクタ4の移動パターン設定データ560に従って移動させると好適である。或いは、タッチ加重を検出可能なタッチパッドで手動移動操作入力を行うケースでは、当該荷重に応じた距離だけ移動させるとしてもよい。或いは、アナログスティックの傾斜により手動移動操作入力するケースでは、アナログスティックが傾斜された角度だけ移動させるとしてもよい。