JP5947728B2 - ゲーム制御装置、プログラム、ゲームシステム - Google Patents
ゲーム制御装置、プログラム、ゲームシステム Download PDFInfo
- Publication number
- JP5947728B2 JP5947728B2 JP2013007707A JP2013007707A JP5947728B2 JP 5947728 B2 JP5947728 B2 JP 5947728B2 JP 2013007707 A JP2013007707 A JP 2013007707A JP 2013007707 A JP2013007707 A JP 2013007707A JP 5947728 B2 JP5947728 B2 JP 5947728B2
- Authority
- JP
- Japan
- Prior art keywords
- card
- user
- battle
- center position
- cards
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
このゲーム制御装置は、
それぞれパラメータが関連付けられている複数のオブジェクトからなるオブジェクト群を、ユーザに対応付ける対応付け手段(51)と、
第1ユーザと第2ユーザの間の対戦において、いずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち少なくともいずれかのオブジェクトに関連付けられたパラメータを変更する変更手段(53)と、
オブジェクトに関連付けられたパラメータが所定の消失条件を満足した場合に、当該オブジェクトを前記フィールドから消失させる消失手段(54)と、
前記対戦において、オブジェクト群に含まれるオブジェクト同士が隣接するように、各オブジェクトを前記フィールド内で移動させる移動手段(55)と、
を備える。
本発明において「オブジェクト」とは、例えば、ゲーム上のキャラクタやアイテム等を含む。キャラクタは、例えばゲーム上の仮想的な人物や生物、若しくはモンスター等であり、それらがカードに表示されているものをも含む。
この構成では、オブジェクトのフィールド内における前後又は左右の動きの量が一定となるため、ユーザ間の対戦ゲームにおいて、各ユーザのオブジェクト群の移動が統一感のとれたものとすることができる。この構成は、オブジェクトがマトリクスの基本領域の大きさに合致した形態である場合(例えば、オブジェクトが、キャラクタを表示した矩形のカードである場合)に好適である。
この構成において「基準行」は、フィールドを構成するマトリクス上で任意の行に適宜設定することができる。基準行は対戦の開始から終了まで固定の行であってもよいし、基準行となる行が対戦中に変化してもよい。
この構成では、第1ユーザ及び第2ユーザに対してそれぞれ設けられた第1基準行及び第2基準行が各ユーザのオブジェクト群の先頭の行になり、各ユーザのオブジェクト群が第1基準行及び第2基準行を挟んで対峙して配置される。そのため、各ユーザのオブジェクト群が対戦中に移動する領域がユーザ同士で重なることがなく、ユーザは自身に対応付けられた各オブジェクトの動きを認識しやすくなる。
この構成では、各ユーザのオブジェクト群の先頭の行が隣接することになるため、各ユーザのオブジェクト群同士での接近戦を模擬することができる。
前記移動手段(55)は、各オブジェクト群について、対応する基準行上のオブジェクトが消失させられた場合には、当該オブジェクトと同一の列に配置されている他のオブジェクトを基準行まで移動させてもよい。
この構成では、例えば、一方のユーザのオブジェクトによる攻撃が、当該オブジェクトと同一の列の他方のユーザのオブジェクトに対して行われる。また、基準行上の(つまり、先頭の行に配置されている)オブジェクトが相手の攻撃によって消失した場合、基準行からみて後方のオブジェクトが基準行まで前方移動する。そのため、対戦では、お互いに基準行を挟んでオブジェクト群同士の攻防が行われることになり、対戦自体がわかりやすく表示されるとともに、対戦の臨場感も増す。
この構成では、各ユーザのオブジェクト群は、対戦の途中でオブジェクトが消失していった場合に、各ユーザのオブジェクト群同士が対峙して配置されるように順次各オブジェクトが移動するように制御されるため、各ユーザのオブジェクト群の攻防が見やすくなる。特に、一方のユーザのオブジェクトによる攻撃が、当該オブジェクトと同一の列の他方のユーザのオブジェクトに対して行われる場合には、短時間で対戦の決着がつき、ユーザは早期に対戦結果を知ることができる。
前記第1中央位置と前記第2中央位置とを近付けるように、前記第1オブジェクト群及び前記第2オブジェクト群のうち他方のオブジェクト群に含まれる各オブジェクトを行方向に移動させる第2の移動処理と、を繰り返し実行してもよい。
第1の移動処理と第2の移動処理を繰り返し実行することで、前記第1の中央位置及び前記第2の中央位置を近づけるようなオブジェクトの移動制御が実現される。
この構成では、対戦するオブジェクト群同士が徐々に近付いていくため、ユーザが対戦の緊張感をより感じることができるようになる。また、対戦するオブジェクト群の距離が時間の経過とともに変化するため、例えばオブジェクトによる攻撃の射程距離等を設定することで、対戦ゲームの設定の自由度を増すことができる。
このゲーム制御方法は、
それぞれパラメータが関連付けられている複数のオブジェクトからなるオブジェクト群を、ユーザに対応付けるステップと、
第1ユーザと第2ユーザの間の対戦において、いずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち少なくともいずれかのオブジェクトに関連付けられたパラメータを変更するステップと、
オブジェクトに関連付けられたパラメータが所定の消失条件を満足した場合に、当該オブジェクトを前記フィールドから消失させるステップと、
前記対戦において、オブジェクト群に含まれるオブジェクト同士が隣接するように、各オブジェクトを前記フィールド内で移動させるステップと、
を備える。
それぞれパラメータが関連付けられている複数のオブジェクトからなるオブジェクト群を、ユーザに対応付ける機能、
第1ユーザと第2ユーザの間の対戦において、いずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち少なくともいずれかのオブジェクトに関連付けられたパラメータを変更する機能、
オブジェクトに関連付けられたパラメータが所定の消失条件を満足した場合に、当該オブジェクトを前記フィールドから消失させる機能、及び、
前記対戦において、オブジェクト群に含まれるオブジェクト同士が隣接するように、各オブジェクトを前記フィールド内で移動させる機能、
を実現させるためのプログラムである。
このゲームシステムは、
それぞれパラメータが関連付けられている複数のオブジェクトからなるオブジェクト群を、ユーザに対応付ける対応付け手段(51)、
第1ユーザと第2ユーザの間の対戦において、いずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち少なくともいずれかのオブジェクトに関連付けられたパラメータを変更する変更手段(53)、
オブジェクトに関連付けられたパラメータが所定の消失条件を満足した場合に、当該オブジェクトを前記フィールドから消失させる消失手段(54)、及び、
前記対戦において、オブジェクト群に含まれるオブジェクト同士が隣接するように、各オブジェクトを前記フィールド内で移動させる移動手段(55)、
の各手段を、前記通信端末(10)又は前記サーバ(20)のいずれか一方が備える。
以下、本発明のゲームシステムの一実施形態について説明する。
(1)ゲームシステムの構成
図1は、実施形態のゲームシステムのシステム構成例を示している。図1に示すように、このゲームシステムは、例えばインターネットなどの通信網NW(ネットワーク)に接続可能な通信端末10a,10b,10c,…と、通信網NWに接続されているゲームサーバ20と、データベースサーバ30とによって構成されている。各通信端末10a,10b,10c,…はそれぞれ、個々のユーザによって操作される端末であり、例えば、携帯端末、スマートフォン、PDA(Personal Digital Assistant)、パーソナルコンピュータ、双方向の通信機能を備えたテレビジョン受像機(いわゆる多機能型のスマートテレビも含む。)などの通信端末である。なお、以下の説明において、各通信端末10a,10b,10c,…に共通して言及するときには、通信端末10と表記する。
このゲームシステムにおいて、ゲームサーバ20は、クライアントである通信端末10と通信可能に構成されており、通信端末10に対してゲーミングサービスを提供する。ゲームサーバ20には、ゲーム用アプリケーションとしてウェブブラウザ上で動作可能なアプリケーションが実装されている。データベースサーバ30は、ゲームを実行する上での後述する様々な情報を格納しており、それらの情報の読み書きのためにゲームサーバ20と例えば有線で接続される。
通信端末10は、ゲームサーバ20によって提供されるウェブページを表示可能なウェブブラウザを備えており、ユーザは、通信端末10をウェブページ上で操作してゲームを実行する。
図2A,図2B及び図3を参照して通信端末10について説明する。
図2A及び図2Bはそれぞれ、通信端末10の外観の例を示す図である。図2Aは、例えば折り畳み式の携帯端末(携帯電話機)などの釦入力方式の通信端末を例示したものである。図2Bは、例えばスマートフォンなどのタッチパネル入力方式の通信端末を例示したものである。図3は、通信端末10の内部構成を示すブロック図である。
図3に示すように、通信端末10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、画像処理部14、指示入力部15、表示部16、及び、信号送受信部としての通信インタフェース部17を備えており、各部間の制御信号あるいはデータ信号を伝送するためのバス18が設けられている。
図4を参照してゲームサーバ20の構成について説明する。
ゲームサーバ20は、例えば階層構造の複数のウェブページからなるゲームのウェブサイトを管理しており、通信端末10に対してゲームのウェブサービスを提供する。図4に示すように、ゲームサーバ20は、CPU21、ROM22、RAM23、データベース(DB)アクセス部24、及び、通信インタフェース部25を備えており、各部間の制御信号あるいはデータ信号を伝送するためのバス26が設けられている。なお、ゲームサーバ20は、ハードウエアに関しては汎用のウェブサーバと同一の構成をとることができる。
CPU21は、ROM22内のゲームプログラムをRAM23にロードして実行し、通信インタフェース部25を介して、各種の処理を行う。
データベースアクセス部24は、CPU21がデータベースサーバ30に対してデータの読み書きを行うときのインタフェースである。
データベースサーバ30(記憶装置)は、大容量のハードディスク装置やRAID(Redundant Arrays of Inexpensive Disks)等の形態の装置等、汎用ストレージで実現できる。データベースサーバ30内の各データベースは、ゲームサーバ20のデータベースアクセス部24を介してCPU21からのデータの読み書きが可能となるように構成されている。
図5に、データベースサーバ30の構成の一例を示す。図5に示すように、データベースサーバ30は、ユーザデータベース31と、ゲームデータベース32とを備える。
・ユーザ名
ユーザ名は、ゲームの実行時に通信端末10のユーザを特定するために表示されるユーザ名である。ユーザ名は、例えばユーザによって予め指定される所定長以下のテキストである。ユーザ名は、ゲームサーバ20によって提供されるネットワーク環境(あるいはゲームコミュニティ)上でユーザを特定する名称である。
・ユーザ画像
ユーザ画像は、ゲームの実行時に通信端末10のユーザを特定するために表示される画像であり、例えばユーザによって予め選択されるアバタ画像であってもよい。
・ゲームレベル
ユーザのゲームにおける進行度合いを示すデータであり、ユーザによるゲームの進行に伴って増加する値である。例えば、ゲームレベルは、例えばLv1(レベル1)からLv100(レベル100)までの範囲のレベル値である。ゲームレベルは、本実施形態のゲームにおいて予め規定された規則に従って増加する。ゲームレベルは例えば、バトルでユーザが勝利した数、又はバトルでの勝率が増加するにつれて増加してもよい。
・使用可能コスト
後述するように、本実施形態のゲームでは、各カードに対してコストが対応付けられている。使用可能コストは、ユーザが1回のバトルで使用可能なカードのコストの総和の上限値である。つまり、ユーザは、1回のバトルでは、各カードのコストの総和が使用可能コスト以下となるように、バトルで使用するカードを選択することがもとめられるようにしてもよい。使用可能コストは、例えば、ゲームレベルが大きくなるにつれて大きい値に設定されてもよい。
なお、使用可能コストを設定すること、すなわちユーザが1回のバトルで使用可能なカードのコストの総和の上限値を設定することは必須ではない。
・保有カード
保有カードは、ユーザがゲーム上で保有しているカードである。保有カードについての情報は、保有カードを特定する情報であるカードID(C084等)と、各カードの個数(保有数)とを含む。
図7にカードデータベースの構成例を示す。図7に示すように、カードデータベースには、カードID毎に、キャラクタ、HP(Hit Point)、攻撃力、防御力、攻撃範囲、攻撃頻度、サイズ、コスト、キャラクタの画像についての情報を含む。各情報の内容は以下のとおりである。
カードに対応するキャラクタは、カードに表示されるモンスターキャラクタの名称(M3,M8等)についての情報である。
・HP
カードのHPは、バトルにおけるカードの初期の体力を示すパラメータである。バトル中に敵のカードから攻撃を受けることでカードのHPがゼロになると、そのカードはバトルにおいて消失することになる。
・攻撃力
カードの攻撃力は、バトルにおいてカードの攻撃力を示すパラメータである。カードの攻撃力の値が大きいほど、バトルでは、攻撃対象の敵のカードのHPをより多く低下させることができる。
・防御力
カードの防御力は、バトルにおいて敵のカードの攻撃に対する防御力を示すパラメータである。カードの防御力が大きいほど、バトルでは、敵の攻撃に対する自身のHPが低下し難くなる。
・攻撃範囲
カードの攻撃範囲は、カードの攻撃の射程距離を示すパラメータである。攻撃範囲の値が大きいほど、バトルにおいてより遠くの敵のカードに対して攻撃を加えることができる。
・攻撃頻度
カードの攻撃頻度は、カードが攻撃を加える頻度(つまり、一定時間毎の攻撃の回数)を示すパラメータである。攻撃頻度の値が大きいほど、より頻繁に攻撃を行うことを意味する。
・サイズ
カードのサイズは、後述するバトルフィールドにカードが配置されたときにカードが占めるセルの大きさを示す値である。図8を参照して後述するように、バトルにおいてカードは、セルによるマトリクスが形成されたバトルフィールドに配置されるが、カードのサイズのX,Yの値は、それぞれ行方向、列方向においてカードが占めるセルの数を示す。
・コスト
カードのコストは、そのカードをユーザが、バトルに使用するカード(以下、適宜「バトル使用カード」ともいう。)とするか否かについて検討するときに参照されるパラメータである。本実施形態のゲームでは、バトル使用カードのコストの総和が使用可能コスト以下に制限されるようにしてもよい。なお、攻撃力が大きいほどカードのコストを大きく設定してもよいが、それに限られない。
・画像
カードの画像は、ゲーム画像においてカード上に表示されるキャラクタの画像である。JPG形式はカードの画像ファイル形式の一例に過ぎず、他の画像ファイル形式が用いられてもよい。
以下、本実施形態のゲームについて、図8〜9,図10A〜10D,図11〜12,及び図13A〜13Cを参照しながら説明する。
本実施形態のゲームでは、ゲーム空間内にバトルフィールドが設けられ、バトルフィールド上に、バトルを行う各ユーザのカード群が配置される。カード群によるバトルはバトルフィールド内で行われる。
本実施形態のゲームにおいてユーザ間のバトルは非同期で行われる。すなわち、ゲームにアクセスしているユーザが他のユーザとバトルを実行する場合には、バトル相手(他のユーザ)に対応付けられたカードのパラメータを使用して行われ、バトル相手はそのバトルに実時間で関与しない。以下の説明において、ユーザ間のバトルでは、ゲームにアクセスしてバトルの実行を開始したユーザを「実行ユーザ」という。一方、実行ユーザのバトル相手となるユーザを「敵ユーザ」という。
なお、敵ユーザは実際のユーザでなくてもよく、例えば仮想的な敵ユーザ(つまり、コンピュータ)であってもよい。
ユーザ領域の大きさは、ユーザのゲームレベルに応じて変更してもよい。例えば、ゲームレベルの上昇とともにユーザ領域を広く設定してもよい。これにより、ユーザは、ゲームレベルが上昇するにつれてより多くのカードを自身のユーザ領域に配置できるようになるため、バトルに有利となる。
ユーザ間のバトルにおいて、両者のゲームレベルに基づいてバトルフィールド内のユーザ領域の大きさを調整してもよい。例えば、ゲームレベルが相対的に高いユーザが、ゲームレベルが相対的に低いユーザとバトルを行うときには、ユーザ領域をより小さくする。例えば図8において、実行ユーザのゲームレベルが敵ユーザのそれよりも大きいときには、基準線L0を紙面の下方向に移動させてもよい。これによって、ゲームレベルが相対的に高いユーザのカード群は、より少ない枚数のカードで敵ユーザのカード群と対向することになり、ゲームレベルが相対的に高いユーザが不利となる。つまり、ゲームレベルが高いユーザはより少ない枚数のカードしか配置できなくなる。そのため、ゲームレベルが異なるユーザ間のバトルにおいても、拮抗したバトルが期待できる。
図10A〜10Dは、本実施形態のゲームにおいてユーザ間のバトルが行われるときに通信端末10上に表示される一連のウェブページの例を示す図である。
以下では、実行ユーザが、ユーザ名が「KNM」であるユーザ(以下、ユーザKNM)である場合を例として説明する。
なお、以下の説明において、通信端末10に表示されるウェブページ上で表示されるメニュー、マーク等はウェブページ上で所望の位置に配置されるものであって、通信端末10で視認されるメニュー、マーク等の表示画面上の位置は、ユーザの方向指示釦あるいはタッチパネル操作によるウェブページのスクロール操作によって変化しうる。
ユーザ画像表示領域101は、実行ユーザKNMのユーザデータに含まれるユーザ画像が表示される領域である。
ユーザデータ表示領域102は、実行ユーザKNMの「ゲームレベル」(図では単に「レベル」)及び「カード数」のデータが表示される領域である。なお、「カード数」は、ユーザの保有カードの総数である。図10Aに例示するように、「カード数」が「40/60」と表記されている場合、ユーザが保有するカードが40枚であり、最大で保有可能なカードの枚数が60枚であることを示す。最大で保有可能なカードの枚数は、ユーザのゲームレベルに応じて設定されてもよいし、特に設定されなくてもよい。
メニュー表示領域103は、本実施形態のゲームに設けられる基本メニューが表示される領域であり、図10AのウェブページP0ではメニューm1(「バトル」)が設けられている例を示している。図示しないが、バトル以外のゲームを実行するための他のメニューが設けられてもよい。
このとき、ウェブページP4に示すように、配置済みのカードのコストの総和(「総コスト」という。)を表示するようにしてもよい。実行ユーザがユーザ領域UAaに配置させるカードの総コストが所定値以下に制限されている場合には、ユーザは、表示される総コストの値に注意を払いつつカードの配置処理を行うことができる。
メニューm4(「もっと配置する」)は、マトリクス201上の未配置のセルにカードを追加で配置するためのメニューである。メニューm5(「配置済カードを変更する」)は、既にマトリクス201上に配置済みのカードを別のカードに変更するためのメニューである。メニューm6(「配置済カードの取消」)は、既にマトリクス201上に配置済みのカードの配置を取り消すためのメニューである。メニューm7(「現在の配置でバトル」)は、カードの配置処理を完了させて次のステップに進むためのメニュー(つまり、配置終了指示を行うためのメニュー)である。
ウェブページP4において、マトリクス201に配置済みのいずれかのカードを選択した状態でメニューm5(「配置済カードを変更する」)に対する操作入力があった場合、P3と同様にウェブページが更新される。これによって、選択された配置済みのカードと取り替える別のカードを選択することができる。
ウェブページP4において、マトリクス201に配置済みのいずれかのカードを選択した状態でメニューm6(「配置済カードの取消」)に対する操作入力があった場合、選択されたカードがマトリクス201から削除される。
ウェブページP4において、メニューm7(「現在の配置でバトル」)に対する操作入力があった場合、カード配置処理が終了し、図10BのP5に示すようにウェブページが更新される。
ウェブページP10に示すように、例えば、実行ユーザ又は敵ユーザのいずれか一方のすべてのカードが消失した場合にバトルが終了する。ウェブページP10の例では、実行ユーザの2枚のカードが残留し、敵ユーザのすべてのカードが消失したため、実行ユーザの勝利となる。なお、必ずしも一方のユーザのすべてのカードが消失したことをもって勝敗を決する場合に限られず、所定のバトル時間の後にバトルフィールド内に残留しているカードの枚数が多いユーザの勝利としてもよい。
前述したようにバトル中において各カードはバトルフィールド内を移動するが、このカードの移動は所定の規則に従った移動方法を基に行われる。以下では、カードの移動方法について、図11及び図12を参照し、前方移動と横移動に分けて説明する。図11は、バトルにおけるカードの前方移動について説明するための図である。図12は、バトルにおけるカードの横移動について説明するための図である。図11及び図12はそれぞれ、バトル中のカードの移動態様を説明するために、ゲーム空間を平面視で見たときのバトルフィールドの各セル上のカード配置を示す図である。
なお、バトル中のカードの移動については、前方移動が横移動に優先して行われる。
本実施形態のバトルでは、実行ユーザのユーザ領域UAaと敵ユーザのユーザ領域UAbの第1行に配置されているカードが相手のカードに最も近いために攻撃を受けやすく、HPがより早く低下して消失しやすい。そこで、本実施形態のバトルでは、第1行にあるカードが消失した場合、そのカードと同一の列にある後方のカードを前方移動させる。これによって、バトル中では、各カードが前方へ順次前方移動する動作を行う。
カードの前方移動の具体例について、図11を参照して説明する。ここでは、ステップS1に示すカードの配置状態を想定する。この配置状態で、実行ユーザのユーザ領域UAa内のセルCa(1,3)上のカードが攻撃を受けて消失した場合には(ステップS2)、そのカードの後方のセルCa(2,3)上のカードが第1行へ前方移動する(ステップS3)。なお、図示していないが、ステップS1の時点でセルCa(3,3)上にカードが存在した場合には、そのカードは同様にして前方のセルCa(2,3)へ移動することになる。
以下の説明において、フィールド全体のカード群の中央位置を示すマトリクス上の列を「全カード中央位置(CL_all)」といい、敵ユーザのカード群の中央位置を示すマトリクス上の列を「敵カード中央位置(CL_opp)」という。
全カード中央位置は、バトルフィールドにおいて、カードが配置されている最も左のセルの列と、カードが配置されている最も右のセルの列との間の中央位置の列を意味する。列間の中央位置がセル間の中央になる場合には、その中央位置の右側の列を全カード中央位置とする。なお、列間の中央位置がセル間の中央になる場合には、その中央位置の左側の列を全カード中央位置としてもよい。
敵カード中央位置は、敵ユーザのユーザ領域UAbにおいて、カードが配置されている最も左のセルの列と、カードが配置されている最も右のセルの列との間の中央位置の列を意味する。列間の中央位置がセル間の中央になる場合には、その中央位置の左側の列を敵カード中央位置とする。なお、列間の中央位置がセル間の中央になる場合には、その中央位置の右側の列を敵カード中央位置としてもよい。
本実施形態のバトルの一例において、カードの横移動を行うときには先ず、敵ユーザのカード群から行われる。敵ユーザのカード群のうち全カード中央位置上の第1行のカード、及び全カード中央位置よりも右側にある第1行のカードをすべて、左側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
[横移動ステップM2]
次に、敵ユーザのカードのうち全カード中央位置よりも左側にある第1行のカードをすべて、右側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
[横移動ステップM3]
敵ユーザのカードの横移動が完了すると次に、実行ユーザのカード群の横移動が行われる。実行ユーザのカード群のうち敵カード中央位置上の第1行のカード、及び敵カード中央位置よりも左側にある第1行のカードをすべて、右側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
[横移動ステップM4]
次に、実行ユーザのカードのうち敵カード中央位置よりも右側にある第1行のカードを、左側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
なお、上述したように、カードが配置されている最も左のセルの列と、カードが配置されている最も右のセルの列との間の中央位置がセル間の中央になる場合に、その中央位置を基準としたときの全カード中央位置及び敵カード中央位置の決定方法を互いに逆にする(つまり、中央位置を挟んで一方を左側の列、他方を右側の列にする)ことで、全カード中央位置上の敵ユーザのカードと敵ユーザ中央位置上の実行ユーザのカードとが互いに逆方向に交差するように移動する。そのため、上述した横移動において実行ユーザと敵ユーザのカード群がバトル中に対向しやすくなる。
次に、本実施形態のゲームにおいて、バトルの開始からバトルの終了までの実行ユーザ及び敵ユーザの各カードの移動態様の具体例について、図13A〜13Cを参照して説明する。図13A〜13Cは、バトルの開始から終了までのカードの移動態様を説明するために、ゲーム空間を平面視で見たときのバトルフィールドの各セル上のカード配置を示す図である。各図では、カードの移動が矢印によって示される。
本実施形態のバトルは、例えば、上述したように実行ユーザ及び敵ユーザのカード群の攻撃が順番で行われる。各ユーザの攻撃が行われた後に逐次、カードの前方移動、及びカードの横移動が順に行われる。
本実施形態のバトルでは、各ユーザの攻撃が交互に行われて各攻撃の後に、前方移動、及び横移動の各処理が行われる。バトルの初期では、バトルの開始時点で第1行に配置されている各ユーザのカードが攻撃を受けて消失していくため、例えばステップS11に示すように、カードの前方移動が主体的に行われる。ステップS11では、5枚のカードが第2行から第1行のセルへ移動した場合が示されている。
敵ユーザの2枚のカードが右側のセルに移動した後の敵カード中央位置CL_oppは、ステップS13に示すように第4列である。そこでステップS13では、第5〜6列にある実行ユーザの2枚のカード(セルCa(1,6),Ca(2,6)上のカード)を左側のセルに移動させる。なお、ステップS13では、第1〜4列にある実行ユーザのカードを右側に移動させることはできない。
敵ユーザの1枚のカードが左側のセルに移動した後の敵カード中央位置CL_oppは、ステップS15に示すように第3列となる。そこでステップS15では、ステップS14において第1〜3列にあった実行ユーザの3枚のカード(セルCa(1,1),Ca(1,2),Ca(2,2)上のカード)を右側のセルに移動させる。なお、その後に第4〜5列にある実行ユーザのカードを左側に移動させることはできない。
敵ユーザの1枚のカードが左側のセルに移動した後の敵カード中央位置CL_oppは、ステップS17に示すように第3列となる。この場合、実行ユーザのいずれのカードも移動させることができない。
敵ユーザの1枚のカードが左側のセルに移動した後の敵カード中央位置CL_oppは、ステップS19に示すように第2列となる。この場合、ステップS19では、ステップS18において第2〜6列にあった実行ユーザの2枚のカード(セルCa(1,3),Ca(1,5)上のカード)を左側のセルに移動させる。
ステップS21では、ステップS20において敵ユーザの領域の第1行にあった2枚のカードが消失した場合が想定される。この場合、敵ユーザのカードがすべて消失したことになるため、実行ユーザの勝利となる。
次に、上述した本実施形態のゲームを実現するためゲーム制御装置が備える機能について説明する。
本実施形態では、ゲームサーバ20及びデータベースサーバ30によってゲーム制御装置が構成されている。以下では、上述した実施形態のゲームが適用される場合を例として、本実施形態のゲーム制御装置で実現される機能について、図14を参照して説明する。図14は、本実施形態のゲーム制御装置で主要な役割を果たす機能を説明するための機能ブロック図である。
バトル使用カードデータの中の各カードの初期位置のデータは、いったん決定された後はバトル中において変更されない。特定のバトルに対して作成される一連のバトル使用カードは、そのバトルの開始から終了までの再生ファイルを作成するための基礎データとなる。作成されたバトル使用カードデータは、ゲームサーバ20のRAM23に記憶される。
ゲームサーバ20のCPU21は、実行ユーザの操作入力を含むHTTPリクエストを通信インタフェース部25を介して取得すると、その操作入力に応じた処理を行い、処理結果を含むHTMLデータを生成してユーザの通信端末10へ送信する。それによって、ユーザの通信端末10にウェブページが表示され、あるいは通信端末10に表示されているウェブページが更新される。
CPU21は、実行ユーザの入力情報がカードの新規配置についての情報である場合、入力情報に基づいてバトル使用カードデータの中の初期配置の欄にデータを書き込む。この入力情報には、実行ユーザの保有カードのうち新たにバトル使用カードとするカード、及びそのカードを配置するセルの選択結果が含まれる。CPU21は、入力情報を取得するとバトル使用カードデータを参照して、実行ユーザに選択されたカードが、選択されたセルに配置可能か否か判断する。CPU21は、選択されたセルにカードを配置可能である場合、そのカードのカードIDと初期位置の欄にデータを書き込む。
カードの新規配置に関する実行ユーザの入力は、例えば、ウェブページP1のメニューm3(「自分で配置する」)に対する操作入力、又はウェブページP4のメニューm4(「もっと配置する」)に対する操作入力に相当する。
CPU21は、実行ユーザの入力情報がカード配置の変更についての情報である場合、入力情報に基づいてバトル使用カードデータを更新する。この入力情報には、実行ユーザの配置済みのバトル使用カード、及びそのカードに代わる新たな保有カードの選択結果が含まれる。CPU21は、入力情報を取得するとバトル使用カードデータを参照して、実行ユーザに新たに選択されたカードが、配置済みのバトル使用カードに代えて配置可能か否か判断する。CPU21は、配置可能である場合、既に配置済みのカードのカードIDに代えて、新たに選択された実行ユーザの保有カードのカードIDを書き込む。
カード配置の変更に関する実行ユーザの入力は、例えば、ウェブページP4において、マトリクス201に配置済みのいずれかのカードを選択した状態でのメニューm5(「配置済カードを変更する」)に対する操作入力に相当する。
CPU21は、実行ユーザの入力情報がカード配置の取消についての情報である場合、入力情報に基づいてバトル使用カードデータを更新する。この入力情報には、配置の取消対象となる実行ユーザのバトル使用カードの情報が含まれる。CPU21は、配置の取消対象となる実行ユーザのバトル使用カードを取得すると、そのバトル使用カードをバトル使用カードデータから消去する。
カード配置の取消に関する実行ユーザの入力は、例えば、ウェブページP4上でマトリクス201に配置済みのいずれかのカードに対する選択入力とメニューm6(「配置済カードの取消」)に対する操作入力に相当する。
CPU21は、ウェブページP1のメニューm2(「自動で配置する」)に対する操作入力を取得すると、実行ユーザの保有カードの中からバトル使用カードを選択してバトル使用カードデータに書き込む。バトル使用カードの選択方法、及びバトル使用カードの配置方法として、例えば以下の方法を採ることができる。CPU21は、カードデータベースを参照して、実行ユーザの保有カードの中から攻撃力と防御力の和が大きい順、及びマトリクス内のセルの所定の配置順で、カードを順次配置していくようにする(つまり、バトル使用カードデータのカードIDと初期位置の欄にデータを書き込む)。あるいはCPU21は、カードデータベースを参照して、1×1の小サイズのカードのうち攻撃力と防御力の和が大きい順にマトリクスの第1行に配置し、比較的大きいサイズ(例えば、2×2等)のカードのうち攻撃力と防御力の和が大きい順に第2行以降のセルに配置する、というようにしてもよい。
本実施形態のバトル進行方法の例では、実行ユーザと敵ユーザとの間で交互に攻撃が行われる。各ユーザの攻撃ターンでは、各バトル使用カードは、カードデータベース(図7)の攻撃頻度の値に基づくタイミングで、相手のユーザのカードに対して攻撃を行う。そのため、1回の攻撃ターンにおいて、各ユーザのカード群のうち攻撃を行うカードと攻撃を行わないカードがある。カードが攻撃を行う場合にその攻撃対象となる相手のカードは、カードデータベースの射程距離の値に基づいて決定される。カードの攻撃方向は任意に設定することができるが、好ましくはそのカードが攻撃時点で配置されているセルを基準として前方、又は前方に近い方向に設定される。例えば、カードの攻撃は、そのカードが配置されているセルと同一の列にあるバトル相手のカード、又は当該列に隣接する列にあるバトル相手のカードを対象として行われる。
なお、図7では、カード毎に攻撃頻度が設定されている例を示したが、攻撃頻度は全カードで同じ値としてもよい。例えば、各ユーザの攻撃ターンですべてのカードが攻撃を行うように設定してもよい。
カードの攻撃方向について上述したが、攻撃を行うカードから攻撃対象のカードまでの距離は、次の観点から設定してもよい。すなわち、一方のユーザのカードが攻撃を行う場合に、相手のカードのうち、カードデータベースの射程距離の範囲内であって、より前方にあるカード(例えば第1行のカード等の、攻撃するカードにより近いカード)を優先的に攻撃対象としてもよい。この場合、その攻撃対象のカードが消失した場合に、そのカードより後方にあるカードの前方移動を促すことになるため、カード全体を前方に進める動きが促進され、バトルがよりダイナミックになる。
また、カードの攻撃方向や攻撃対象のカードの行の優先度を、実行ユーザが指定できるようにしてもよい。
CPU21は、実行ユーザによるバトル開始の指示を受けると(例えば、図10Bのメニューm10の選択結果を含むHTTPリクエストを取得すると)、実行ユーザ及び敵ユーザの各バトル使用カードの攻撃処理、HP更新処理、及び移動処理等を実行することで、前述したように、バトルの開始から終了までの再生ファイルの基礎となる一連のバトル使用カードデータを作成する。CPU21は、作成した一連のバトル使用カードデータを基に再生ファイルを作成すると、その再生ファイルを含むHTMLデータを生成して実行ユーザの通信端末10へ送信する。
通信端末10のCPU11は、ゲームサーバ20からHTMLデータを取得すると、ウェブブラウザによって上記再生用ファイルを実行し、バトルを表示部16に表示させる。
CPU21は、実行ユーザの攻撃ターンにおいて、実行ユーザの攻撃処理を実行する。実行ユーザの攻撃処理では、実行ユーザの各カードについて、攻撃タイミングに達したか否かが判断される。カードの攻撃タイミングに達していないと判断した場合には、CPU21はそのカードによる攻撃処理を行わない。カードの攻撃タイミングに達したと判断した場合には、CPU21はそのカードによる攻撃処理を行う。
カードによる攻撃処理では、CPU21は、そのカードの攻撃対象となる敵ユーザのカードを決定する。攻撃対象となる敵ユーザのカードは、攻撃を行うカードが配置されているセルを基準として、そのカードの射程距離の範囲内にあるすべてのカードとしてもよい。その場合、CPU21は、敵ユーザのバトル使用カードデータを参照して、基準としたセルからみて射程距離の範囲内の現在位置の敵ユーザのカードを特定する。CPU21は、特定した敵ユーザのカードのすべてを攻撃対象としてもよいし、特定した敵ユーザのカードの中から所定の条件に沿って、または、無作為に一部のカードを選択し、選択したカードを攻撃対象として決定してもよい。好ましくは、CPU21は、攻撃を行うカードが配置されているセルの列と、当該列に隣接する列とに配置されている敵ユーザのカードのうち、基準としたセルからみて射程距離の範囲内の現在位置の敵ユーザのカードを特定する。
変更手段53の機能は、以下のようにして実現することができる。ゲームサーバ20のCPU21は、実行ユーザの攻撃ターンにおいて、実行ユーザの各カードの攻撃対象となる敵ユーザのカードを特定すると、特定したカードのHPを低下させる処理を行う。攻撃を受けた敵ユーザのカードのHPの低下量ΔHPは、そのカードの防御力と攻撃を行ったカードの攻撃力とに基づいて、例えば以下のようにして決定される。
ΔHP=Pa×k
Pa:攻撃を行ったカードの攻撃力
k:攻撃を受けた敵ユーザのカードの防御力に応じて決定される係数
なお、敵ユーザのカードの防御力の値が大きい程、係数kが小さい値に設定される。係数kは、例えば0.6〜1.0の範囲の値である。
CPU21は、バトル使用カードデータを作成する時点で各カードの残HPを算出する。
実行ユーザの攻撃ターンの場合について説明したが、敵ユーザの攻撃ターンの場合も同様にして攻撃処理を実行することができる。
消失手段54の機能は、以下のようにして実現することができる。ゲームサーバ20のCPU21は、実行ユーザの通信端末10から取得したHTTPリクエストに基づいてバトルの開始から終了までの間の一連のバトル使用カードデータを作成すると、作成した一連のバトル使用カードデータに基づいて再生ファイルを作成する。このときCPU21は、カードの残HPがゼロになると(つまり、消失条件を満足した場合)、カードの現在位置のデータが無効化するようにしてバトル使用カードデータを作成する。これにより、カードの残HPがゼロになった時点から再生ファイルで再生したときにそのカードが消失するようになる。CPU21は、作成した再生ファイルを含むHTMLデータを実行ユーザの通信端末10へ送信する。
本実施形態では、移動手段55によるカードの移動では、消失手段54によってバトル中にカードが消失した場合に、消失していない実行ユーザ及び敵ユーザの各々のカード群が、カード同士が隣接するようにしてバトルフィールド内を移動する。その移動態様は限定されるものではないが、本実施形態では一例として、カード同士が隣接するようにしてカード群が移動するようにして、前方移動及び横移動が行われる。このとき、好ましくは、前方移動が横移動に優先して行われる。
以下、(II-1) 前方移動処理、及び、(II-2) 横移動処理について順に説明する。
CPU21は、実行ユーザ及び敵ユーザのカード群の中で第1行にあるカードが消失したと判断した場合には、そのカードと同一の列にある後方のカードを前方移動させるように、バトル使用カードデータを作成する。つまりCPU21は、前方移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。
[敵ユーザのカードの横移動処理]
CPU21は、フィールド全体のカード群の中央位置を示すマトリクス上の列である全カード中央位置(CL_all)を決定する。ここで、全カード中央位置は、バトルフィールドにおいて、カードが配置されている最も左のセルの列と、カードが配置されている最も右のセルの列との間の中央位置の列である。列間の中央位置がセル間の中央になる場合には、その中央位置の右側の列が全カード中央位置となる。
CPU21は、全カード中央位置を決定すると、敵ユーザのカード群の各カードの処理順序を決定する。この処理順序は以下の(a-1)〜(a-4)の優先順となる。
(a-2) 第1行以外の各行において、全カード中央位置を基準に左から右に配置されているカードの順
(a-3) 第1行において、全カード中央位置よりも左側にあるカードについて、右から左に配置されているカードの順
(a-4) 第1行以外の各行において、全カード中央位置よりも左側にあるカードについて、右から左に配置されているカードの順
CPU21は、(a-2)に示したカードの順で各カードの横移動処理を実行するに当たっては、同一の列にある(a-1)に示したカードの順での各カードの移動結果と連動させて移動させるようにしてバトル使用カードデータを作成する。つまりCPU21は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。
CPU21は、(a-3)に示したカードの順で、右側のセルに横移動させるようにしてバトル使用カードデータを作成する。つまりCPU21は、横移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。このとき、移動先のセルに他のカードが存在する場合には移動させない。
CPU21は、(a-4)に示したカードの順で各カードの横移動処理を実行するに当たっては、同一の列にある(a-3)に示したカードの順での各カードの移動結果と連動させて移動させるようにしてバトル使用カードデータを作成する。つまりCPU21は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。
敵ユーザのカードの横移動処理が完了すると、CPU21は次に、実行ユーザのカード群の横移動処理を実行する。
CPU21は、敵ユーザのカード群の中央位置を示すマトリクス上の列である敵カード中央位置(CL_opp)を決定する。ここで、敵カード中央位置は、敵ユーザのユーザ領域において、カードが配置されている最も左のセルの列と、カードが配置されている最も右のセルの列との間の中央位置の列である。列間の中央位置がセル間の中央になる場合には、その中央位置の左側の列が敵カード中央位置となる。
CPU21は、敵カード中央位置を決定すると、実行ユーザのカード群の各カードの処理順序を決定する。この処理順序は以下の(b-1)〜(b-4)の優先順となる。
(b-2) 第1行以外の各行において、敵カード中央位置を基準に右から左に配置されているカードの順
(b-3) 第1行において、敵カード中央位置よりも右側にあるカードについて、左から右に配置されているカードの順
(b-4) 第1行以外の各行において、敵カード中央位置よりも右側にあるカードについて、左から右に配置されているカードの順
CPU21は、(b-2)に示したカードの順で各カードの横移動処理を実行するに当たっては、同一の列にある(b-1)に示したカードの順での各カードの移動結果と連動させて移動させるようにしてバトル使用カードデータを作成する。つまりCPU21は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。
CPU21は、(b-3)に示したカードの順で、左側のセルに横移動させるようにしてバトル使用カードデータを作成する。つまりCPU21は、横移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。このとき、移動先のセルに他のカードが存在する場合には移動させない。
CPU21は、(b-4)に示したカードの順で各カードの横移動処理を実行するに当たっては、同一の列にある(b-3)に示したカードの順での各カードの移動結果と連動させて移動させるようにしてバトル使用カードデータを作成する。つまりCPU21は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。
次に、本実施形態のバトル処理のフローの一例について、図16〜21のフローチャートを参照して説明する。図16は、本実施形態のバトルゲームの全体処理の一例を示すフローチャートである。図17は、カード配置処理の一例を示すフローチャートである。図18は、攻撃処理の一例を示すフローチャートである。図19は、カードの前方移動処理の一例を示すフローチャートである。図20は、敵ユーザのカードの横移動処理の一例を示すフローチャートである。図21は、実行ユーザのカードの横移動処理の一例を示すフローチャートである。
図16において、ゲームサーバ20のCPU21は、実行ユーザによるバトル開始の指示を受けた場合(ステップS30:YES)、ステップS32以降の処理を行い、バトル開始の指示を受けていない場合には(ステップS30:NO)、終了する。なお、CPU21は、バトル開始の指示を、例えば図10Bのメニューm10の選択結果を含むHTTPリクエストを取得したことにより認識する。
CPU21は、実行ユーザ又は敵ユーザのいずれかの攻撃処理を行った後に、敵ユーザと実行ユーザのカードの移動処理を行う。つまりCPU21は、敵ユーザのカードの前方移動処理(ステップS40;図19)、実行ユーザのカードの前方移動処理(ステップS42;図19)、敵ユーザのカードの横移動処理(ステップS44;図20)、実行ユーザのカードの横移動処理(ステップS46;図21)を順次実行する。これらの処理については、図19〜21を参照して後述する。
CPU21は、ステップS40〜S46の処理の後、実行ユーザ又は敵ユーザのカードがすべて消失していないと判断した場合(ステップS48:NO)、ステップS34に戻ってバトルの処理を継続する。
また、図16のフローチャートでは、実行ユーザによるバトル開始の指示を受けた後に(ステップS30:YES)、カード配置処理を実行する場合を例示しているが、この場合に限られない。カード配置処理はバトルの処理とは無関係に実行できるようにしてもよい。例えば、図10AのウェブページP0のメニュー表示領域103内にユーザがバトル使用カードを予め編集して登録するためのメニューを設け、バトル開始の指示を認識した時点で、登録されたバトル使用カードデータを読み出すことによって、バトルを実行するようにしてもよい。
カード配置処理では先ず、実行ユーザによって選択されたメニューが判定される(ステップS100)。ゲームサーバ20のCPU21は、例えば図10AのウェブページP4のメニューの選択結果を含むHTTPリクエストを取得すると、その選択結果に基づいて処理を実行する。
CPU21は、ウェブページP1(図10参照)のメニューm3(「自分で配置する」)の選択結果、又はウェブページP4のメニューm4(「もっと配置する」)の選択結果を含むHTTPリクエストを取得すると(ステップS100:m3,m4)、ウェブページP2向けのHTMLデータをユーザの通信端末10へ送信する。ウェブページP2のマトリクス201上でいずれかの未配置セルの選択結果を含むHTTPリクエストを取得すると(ステップS102:YES)、CPU21は、ユーザの保有カードの一覧をユーザに提示する(ステップS104)。つまりCPU21は、保有カードの一覧を含むHTMLデータをユーザの通信端末10へ送信する。これによってユーザの通信端末10には、例えばウェブページP3が表示される。
ステップS108では、選択されたセルにカードが配置されておらず、かつステップS106で選択されたカードをマトリクス201上に配置できる領域が存在しない(つまり、十分な空き領域がない)場合には、CPU21はそのカードを配置できないと判断する。例えば、選択されたセルを基準としたマトリクス上の空き領域として1×2の領域が存在するに過ぎない場合に、選択されたカードのサイズが当該空き領域より大きい領域を必要とするサイズ2×2である場合には、そのカードを配置できないと判断される。
ステップS108において、CPU21は、選択されたセルが配置されたときのカードのコストの総和(総コスト)が所定値以下であるか否かに基づいて、選択されたカードが配置可能であるか否かを判断してもよい。その場合、総コストが所定値以下である場合には選択されたカードが配置可能であると判断され、総コストが所定値より大きい場合には選択されたカードが配置できないと判断される。
なお、ユーザのカードの総コストを制限するためのステップS108の処理は必須ではない。つまり、ステップS106でカードの選択がなされた場合には、その選択されたカードを基にステップS112のバトル使用カードデータの更新処理を実行してもよい。
なお、図17のフローチャートでは、選択されたセルにカードを配置可能か否かについてステップS108にて判断されるが、ステップS104にて判断されるようにしてもよい。その場合、ステップS104でユーザに提示されるカード一覧では、十分な空き領域がなく配置できないカードを非表示とするか、配置可能なカードとは異なる態様で(例えば、暗くさせて)表示させるか、あるいは選択できないようにして表示させてもよい。
以下では、実行ユーザの攻撃ターン(図16のステップS36)について説明するが、敵ユーザの攻撃ターン(図16のステップS38)についても同様である。
実行ユーザの攻撃ターンにおいて、ゲームサーバ20のCPU21は、実行ユーザのバトル使用カードの各々について処理対象のカードを順に特定し、ステップS120〜S126の処理を実行する。CPU21は先ず、処理対象のカードについて攻撃タイミングに達したか否かを判断する(ステップS120)。カードの攻撃タイミングに達していないと判断した場合には(ステップS120:NO)、CPU21はそのカードによる攻撃処理を行わずに、ステップS129へ進む。実行ユーザのすべてのカードについて処理が終了していない場合には(ステップS129:NO)、次のカードの処理のためにステップS120へ戻る。
ステップS124では、処理対象のカードの射程距離の範囲内にある敵ユーザのカードのすべてを攻撃対象のカードとして決定してもよいし、射程距離の範囲内にある敵ユーザのカードの中から所定の条件に沿って、又は、無作為に一部のカードを選択し、選択したカードを攻撃対象のカードとして決定してもよい。好ましくは、CPU21は、射程距離の範囲内にある敵ユーザのカードの中から、処理対象のカードが配置されているセルの列と、当該列に隣接する列とに配置されている敵ユーザのカードを攻撃対象のカードとして決定してもよい。
実行ユーザのすべてのカードについて処理が終了した場合には(ステップS129:YES)、実行ユーザの攻撃ターンが終了する。
以下では、実行ユーザのカードの前方移動処理について説明するが、敵ユーザのカードの前方移動処理についても同様である。
ゲームサーバ20のCPU21は、実行ユーザの各カードについて図19に示す処理を実行する。CPU21は先ず、処理対象のカードが第1行にあるか否か判定する(ステップS130)。処理対象のカードが第1行にある場合には(ステップS130:YES)、前方移動ができないためステップS136へ進む。実行ユーザのすべてのカードについて処理が終了していない場合には(ステップS136:NO)、次のカードの処理のためにステップS130へ戻る。
実行ユーザのすべてのカードについて処理が終了した場合には(ステップS136:YES)、実行ユーザのカードの前方移動処理が終了する。
ゲームサーバ20のCPU21は、フィールド全体のカード群の中央位置を示すマトリクス上の列である全カード中央位置(CL_all)を決定する(ステップS140)。前述したように、全カード中央位置は、バトルフィールドにおいて、カードが配置されている最も左のセルの列と、カードが配置されている最も右のセルの列との間の中央位置の列である。列間の中央位置がセル間の中央になる場合には、その中央位置の右側の列が全カード中央位置となる。
CPU21は、全カード中央位置を決定すると、敵ユーザのカード群の各カードの処理順序を決定する(ステップS142)。この処理順序は、前述したように、以下の(a-1)〜(a-4)に示す優先順である。各カードの処理順序が決定されると、その処理順序に従って各カードについてステップS144〜S154の処理が行われる。
(a-2) 第1行以外の各行において、全カード中央位置を基準に左から右に配置されているカードの順
(a-3) 第1行において、全カード中央位置よりも左側にあるカードについて、右から左に配置されているカードの順
(a-4) 第1行以外の各行において、全カード中央位置よりも左側にあるカードについて、右から左に配置されているカードの順
上記(a-4)を満たす処理対象のカードのうち最後のカードについての処理が完了すると、すべての敵ユーザのカードについての横移動処理が終了したことになる(ステップS154:YES)。
ゲームサーバ20のCPU21は、敵ユーザのカード群の中央位置を示すマトリクス上の列である敵カード中央位置(CL_opp)を決定する(ステップS160)。前述したように、敵カード中央位置は、敵ユーザのユーザ領域において、カードが配置されている最も左のセルの列と、カードが配置されている最も右のセルの列との間の中央位置の列である。列間の中央位置がセル間の中央になる場合には、その中央位置の左側の列が敵カード中央位置となる。
CPU21は、敵カード中央位置を決定すると、実行ユーザのカード群の各カードの処理順序を決定する(ステップS162)。この処理順序は、前述したように、以下の(b-1)〜(b-4)に示す優先順となる。各カードの処理順序が決定されると、その処理順序に従って各カードについてステップS164〜S174の処理が行われる。
(b-2) 第1行以外の各行において、敵カード中央位置を基準に右から左に配置されているカードの順
(b-3) 第1行において、敵カード中央位置よりも右側にあるカードについて、左から右に配置されているカードの順
(b-4) 第1行以外の各行において、敵カード中央位置よりも右側にあるカードについて、左から右に配置されているカードの順
上記(b-4)を満たす処理対象のカードのうち最後のカードについての処理が完了すると、すべての実行ユーザのカードについての横移動処理が終了したことになる(ステップS174:YES)。
本実施形態のバトルゲームに関するCPU21の攻撃処理では実行ユーザと敵ユーザのカード群の攻撃が交互に実行されるが、ユーザの通信端末10へ送信される再生ファイルを再生した場合には、両者の攻撃が高速に再現される。このとき、攻防の局面の切り替わりで何らかのユーザ操作を要さず、従来のターン制のバトルよりもバトルの表示が興趣性に富んだものとなる。
なお、上記場合に限られず、マトリクスを構成する基本領域は、バトルフィールドに配置されるオブジェクトの形態に合わせて適宜設定することができる。例えば、矩形のカードに代えて六角形のオブジェクトがバトルに使用される場合、矩形のセルのマトリクスに代えて六角形のセルのマトリクスを設定してもよい。
なお、上記場合に限られず、実行ユーザと敵ユーザの各カード群に対して基準行を設定しなくてもよい。また、基準行を単一の行のみから設定する必要はない。つまり、各ユーザの先頭の行は、列ごとに異なる位置に設定してもよい。
なお、上記場合に限られず、各ユーザの基準行は離間していてもよい。つまり、バトルフィールド内で各ユーザのユーザ領域の間に緩衝領域(例えば、2〜3行分の領域)を設け、その緩衝領域を挟んで各ユーザのカード群が対峙する配置としてもよい。
カードの攻撃方向について上述したが、攻撃を行うカードから攻撃対象のカードまでの距離は、次の観点から設定してもよい。すなわち、一方のユーザのカードが攻撃を行う場合に、相手のカードのうち、カードデータベースの射程距離の範囲内であって、より前方にあるカード(例えば第1行のカード等の、攻撃するカードにより近いカード)を優先的に攻撃対象としてもよい。この場合、その攻撃対象のカードが消失した場合に、そのカードより後方にあるカードの前方移動を促すことになるため、カード全体を前方に進める動きが促進され、バトルがよりダイナミックに再生される。
また、カードの攻撃方向や攻撃対象のカードの行の優先度を、実行ユーザが指定できるようにしてもよい。
このような移動処理に代えて、全カード中央位置を基準に実行ユーザのカード群を横移動させ、それによって全カード中央位置と実行カード中央位置(第1中央位置)とを近付けるようにする移動処理と、実行カード中央位置を基準に敵ユーザのカード群を横移動させ、それによって敵カード中央位置(第2中央位置)と、実行カード中央位置(第1中央位置)とを近付けるようにする移動処理とが繰り返し行われるようにしてもよい。
以下、上述した実施形態の変形例についてさらに説明する。
上述した実施形態のカード(オブジェクト)の横移動方法は、移動手段55が、実行カード中央位置と敵カード中央位置とを近付けるようにして、各カードを行方向に移動させる一例であるが、他の横移動方法を採ってもよい。例えば、以下のステップM1’〜M4’の手順で横移動を行う。
本変形例においてカードの横移動を行うときには、例えば、先ず敵ユーザのカード群から行われる。敵ユーザのカード群のうち全カード中央位置上の第1行のカード、及び全カード中央位置よりも右側にある第1行のカードをすべて、左側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
[横移動ステップM2’]
次に、敵ユーザのカードのうち全カード中央位置よりも左側にある第1行のカードをすべて、右側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
[横移動ステップM3’]
敵ユーザのカードの横移動が完了すると次に、実行ユーザのカード群の横移動が行われる。実行ユーザのカード群のうち全カード中央位置上の第1行のカード、及び全カード中央位置よりも右側にある第1行のカードをすべて、左側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
[横移動ステップM4’]
次に、実行ユーザのカードのうち全カード中央位置よりも左側にある第1行のカードをすべて、右側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
本変形例を実現するためにゲームサーバ20のCPU21は、図20及び図21に示したフローチャートと同様にして横移動処理を実行する。そのとき、カードの移動の基準となる中央位置が図20及び図21に示したフローチャートとは異なる。
先ず敵ユーザ中央位置を決定し、敵ユーザのカード群の横移動が行われる。敵ユーザのカード群のうち敵カード中央位置上の第1行のカード、及び敵カード中央位置よりも左側にある第1行のカードをすべて、右側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
[横移動ステップM2”]
次に、敵ユーザのカードのうち敵カード中央位置よりも右側にある第1行のカードを、左側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
[横移動ステップM3”]
敵ユーザのカードの横移動が完了すると次に、実行ユーザのカード群の横移動が行われる。実行ユーザのカード群のうち敵ユーザ中央位置上の第1行のカード、及び敵ユーザ中央位置よりも右側にある第1行のカードをすべて、左側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
[横移動ステップM4”]
次に、実行ユーザのカードのうち敵ユーザ中央位置よりも左側にある第1行のカードをすべて、右側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
本変形例では、移動手段55は、実行ユーザ(第1ユーザ)と敵ユーザ(第2ユーザ)の間のバトルの開始から、実行ユーザ及び敵ユーザの各ユーザ領域の第1行(第1基準行及び第2基準行)を時間の経過とともに近付けていくようにする。
この構成では、バトル中の各ユーザのカード群同士が徐々に近付いていくため、実行ユーザがバトルの緊張感をより感じることができるようになる。また、バトル中の各ユーザのカード群の距離が時間の経過とともに変化するため、上記実施形態で説明したように各カードに射程距離が設定されている場合には、より興趣性の高いバトルゲームが実現できる。
本変形例を実現するために、ゲームサーバ20のCPU21は、バトルの開始時刻からタイマを作動させ、例えば所定時間が経過する度に、実行ユーザ及び/又は敵ユーザのユーザ領域の基準行(第1行)を変動させる。CPU21は、図18〜21に示したカードの移動に関するフローチャートの処理を、実行時点での基準行(第1行)に基づいて行う。
以下、本発明のゲームシステムの第2の実施形態について説明する。本実施形態は、第1の実施形態と比較して、バトル中のカードの横移動方法が異なる。
本実施形態のカードの横移動では、実行カード中央位置と敵カード中央位置が互いに近付くようにして、実行ユーザと敵ユーザのカード群を横移動させる。本実施形態では、第1の実施形態で言及した実行カード中央位置と敵カード中央位置の決定方法が異なる。また、移動対象のカードの中央位置を示す移動カード中央位置が定義される。以下、本実施形態の実行カード中央位置と敵カード中央位置、及び移動カード中央位置の決定方法について、図23を参照して説明する。
図23は、第2の実施形態において、敵ユーザのカード群の中央位置を示す敵カード中央位置(CL_opp)、実行ユーザのカード群の中央位置を示す実行カード中央位置(CL_exe)、及び移動処理対象のカードの中央位置を示す移動カード中央位置(CL_mov)を説明するための図である。図23には、実行ユーザのユーザ領域のマトリクスの一部が示されており、マトリクスの列に沿って、マトリクスの列方向の位置を示す値として0.0,0.5,1.0,…が定義される。例えば、第1列のセルの両端の位置が0.0,1.0であり、第1列のセルの中央位置が0.5である。他の列についても同様である。図23の例では、マトリクスが6列で構成されているため、列方向の位置を示す値として0.0〜6.0の範囲の値が定義される。
敵カード中央位置(CL_opp)については図示しないが、実行カード中央位置(CL_exe)の場合と同様に、敵ユーザのユーザ領域の第1行に配置されているカードに基づいて決定される。
また、図23に示す例では、セルCa(1,2)に配置されているカードC101の移動カード中央位置(CL_mov)は1.5であり、セルCa(1,4)に配置されているカードC102の移動カード中央位置(CL_mov)は3.5である。セルCa(1,5)及びセルCa(1,6)に配置されている1×2のサイズのカードC103の移動カード中央位置(CL_mov)は5.0である。
次に、第2の実施形態のカードの横移動方法について説明する。本実施形態のカードの横移動は、以下の各ステップに従って行われる。なお以下では、先に敵ユーザのカードを移動し、次いで実行ユーザのカードを移動させる場合について説明するが、逆に、先に実行ユーザのカードを移動し、次いで敵ユーザのカードを移動させてもよい。
敵ユーザのカードについて横移動を行うに当たって、敵カード中央位置と実行カード中央位置を決定する。次いで、敵カード中央位置と実行カード中央位置の比較結果に基づいて、敵ユーザのカードの移動対象となるカードの順序(つまり、移動順序)を決定し、敵ユーザのカードの横移動が行われる。具体的には、以下の通りである。
(a) 実行カード中央位置が敵カード中央位置よりも左側にある場合(つまり、CL_exe<CL_oppである場合)には、先ず、実行カード中央位置よりも右側にある敵ユーザのカード(つまり、CL_mov>CL_exeとなるカード)を、左にあるカードから順に左のセルへ横移動させる。次いで、実行カード中央位置よりも左側にある敵ユーザのカード(つまり、CL_mov<CL_exeとなるカード)を、右にあるカードから順に右のセルへ横移動させる。
(b) 実行カード中央位置(CL_exe)が敵カード中央位置よりも右側にある場合(つまり、CL_exe>CL_oppである場合)には、先ず、実行カード中央位置よりも左側にある敵ユーザのカード(つまり、CL_mov<CL_exeとなるカード)を、右にあるカードから順に右のセルへ横移動させる。次いで、実行カード中央位置よりも右側にある敵ユーザのカード(つまり、CL_mov>CL_exeとなるカード)を、左にあるカードから順に左のセルへ横移動させる。
なお、実行カード中央位置と敵カード中央位置が同一である場合には、上記(a), (b)のいずれの処理を行ってもよい。
実行カード中央位置と同一の移動カード中央位置にある敵ユーザのカード(つまり、CL_mov=CL_exeとなるカード)は移動させない。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
実行ユーザのカードについて横移動を行うに当たって、敵カード中央位置と実行カード中央位置を決定する。敵カード中央位置と実行カード中央位置の比較結果に基づいて、実行ユーザのカードの移動対象となるカードの順序(つまり、移動順序)を決定し、実行ユーザのカードの横移動が行われる。具体的には、以下の通りである。
(c) 敵カード中央位置が実行カード中央位置よりも左側にある場合(つまり、CL_exe>CL_oppである場合)には、先ず、敵カード中央位置よりも右側にある実行ユーザのカード(つまり、CL_mov>CL_oppとなるカード)を、左にあるカードから順に左のセルへ横移動させる。次いで、敵カード中央位置(CL_opp)よりも左側にある実行ユーザのカード(つまり、CL_mov<CL_oppとなるカード)を、右にあるカードから順に右のセルへ横移動させる。
(d) 敵カード中央位置が実行カード中央位置よりも右側にある場合(つまり、CL_exe<CL_oppである場合)には、先ず、敵カード中央位置よりも左側にある実行ユーザのカード(つまり、CL_mov<CL_oppとなるカード)を、右にあるカードから順に右のセルへ横移動させる。次いで、敵カード中央位置よりも右側にある実行ユーザのカード(つまり、CL_mov>CL_oppとなるカード)を、左にあるカードから順に左のセルへ横移動させる。
なお、実行カード中央位置と敵カード中央位置が同一である場合には、上記(c), (d)のいずれの処理を行ってもよい。
敵カード中央位置と同一の移動カード中央位置にある実行ユーザのカード(つまり、CL_mov=CL_oppとなるカード)は移動させない。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
横移動ステップM11において、実行カード中央位置と敵カード中央位置の差が0.5以下であり、かつ移動カード中央位置と実行カード中央位置の差が0.5以下であるという条件を満たす場合には、移動対象となるカードが実行カード中央位置を挟んで左右に往復してしまうことが生じうる。そこで、上記条件を満たす場合には、移動対象となる敵ユーザのカードの横移動を禁止する。
横移動ステップM12においても同様に、実行カード中央位置と敵カード中央位置の差が0.5以下であり、かつ移動カード中央位置と敵カード中央位置の差が0.5以下であるという条件を満たす場合には、移動対象となるカードが敵カード中央位置を挟んで左右に往復してしまうことが生じうる。そこで、上記条件を満たす場合には、移動対象となる実行ユーザのカードの横移動を禁止する。
なお、この例外の処理は、移動対象となるカードが左右に1セル分往復してしまう状況を回避することが目的であるため、上記差についての閾値(0.5)は移動単位(1セル)より小さい任意の値でよい。例えば、上記差が0.5以下という条件に限られず、上記差が1未満という条件であってもよい。
次に、第2の実施形態において、バトルの開始からバトルの終了までの実行ユーザ及び敵ユーザの各カードの移動態様の具体例について、図24A〜24Dを参照して説明する。図24A〜24Dは、バトルの開始から終了までのカードの移動態様を説明するために、ゲーム空間を平面視で見たときのバトルフィールドの各セル上のカード配置を示す図である。各図では、カードの移動が矢印によって示される。
本実施形態のバトルは、例えば、上述したように実行ユーザ及び敵ユーザ のカード群の攻撃が順番で行われる。各ユーザの攻撃が行われた後に逐次、カードの前方移動、及びカードの横移動が順に行われる。
第2の実施形態においても第1の実施形態と同様に、各ユーザの攻撃が交互に行われて各攻撃の後に、前方移動、及び横移動の各処理が行われる。バトルの初期では、バトルの開始時点で第1行に配置されている各ユーザのカードが攻撃を受けて消失していくため、例えばステップS211に示すように、カードの前方移動が主体的に行われる。ステップS211では、6枚のカードが第2行から第1行のセルへ移動した場合が示されている。
次いで、敵カード中央位置よりも右側にある実行ユーザのカード(つまり、CL_mov>CL_oppとなるカード)を、左にあるカードから順に左のセルへ横移動させる。ステップS213の例では、第6列にあるカード群を左のセルへ移動させる。実行ユーザのカードの横移動の様子をステップS214において矢印で示してある。
なお、ステップS218の例では、実行ユーザのカード群が互いに隣接しており、敵カード中央位置CL_oppとの位置関係から、実行ユーザのカードのいずれのカードも移動させることはできない。
また、本実施形態では、例えば敵ユーザのカードを移動させるに当たって、実行カード中央位置を基準として左及び右にあるカードのうち先に移動させるカードを、実行カード中央位置と敵カード中央位置の比較結果に基づいて切り替えるようにしているため、実行カード中央位置と敵カード中央位置の差を少なくするようなカードが優先的に移動するようになる。実行ユーザのカードを移動させる場合も同様である。
次に、本実施形態の横移動処理のフローの一例について、図25及び図26のフローチャートを参照して説明する。図25は、敵ユーザのカードの横移動処理の一例を示すフローチャートである。図26は、実行ユーザのカードの横移動処理の一例を示すフローチャートである。
なお、本実施形態の全体フローは、第1の実施形態と同様に図16に示したものでよい。本実施形態では、図16の全体フローの中のステップS44及びS44において、図20及び図21に代えて、それぞれ図25及び図26のフローチャートが実行される。
ゲームサーバ20のCPU21は先ず、バトル使用カードデータを参照して、実行ユーザのカード群の中心位置を示す実行カード中央位置CL_exeと、敵ユーザのカード群の中心位置を示す敵カード中央位置CL_oppとを決定する(ステップS240)。CPU21は、実行カード中央位置CL_exeと敵カード中央位置CL_oppを決定すると、両者の比較結果に基づいて敵ユーザのカード群の各カードの処理順序を決定する(ステップS242)。
(a) 実行カード中央位置が敵カード中央位置と同位置であるか、またはそれよりも左側にある場合(つまり、CL_exe≦CL_oppである場合)には、以下の(a-1)〜(a-6)に示す優先順である。
(a-1) 第1行において、実行カード中央位置よりも右側にある敵ユーザのカード(つまり、CL_mov>CL_exeとなるカード)のうち、左から右に配置されているカードの順
(a-2) 第1行以外の各行において、実行カード中央位置よりも右側にある敵ユーザのカード(つまり、CL_mov>CL_exeとなるカード)のうち、左から右に配置されているカードの順
(a-3) 第1行において、実行カード中央位置よりも左側にある敵ユーザのカード(つまり、CL_mov<CL_exeとなるカード)のうち、右から左に配置されているカードの順
(a-4) 第1行以外の各行において、実行カード中央位置よりも左側にある敵ユーザのカード(つまり、CL_mov<CL_exeとなるカード)のうち、右から左に配置されているカードの順
(a-5) 第1行において、実行カード中央位置と同一の列にある敵ユーザのカード(つまり、CL_mov=CL_exeとなるカード)
(a-6) 第1行以外の各行において、実行カード中央位置と同一の列にある敵ユーザのカード(つまり、CL_mov=CL_exeとなるカード)
(b-1) 第1行において、実行カード中央位置よりも左側にある敵ユーザのカード(つまり、CL_mov<CL_exeとなるカード)のうち、右から左に配置されているカードの順
(b-2) 第1行以外の各行において、実行カード中央位置よりも左側にある敵ユーザのカード(つまり、CL_mov<CL_exeとなるカード)のうち、右から左に配置されているカードの順
(b-3) 第1行において、実行カード中央位置よりも右側にある敵ユーザのカード(つまり、CL_mov>CL_exeとなるカード)のうち、左から右に配置されているカードの順
(b-4) 第1行以外の各行において、実行カード中央位置よりも右側にある敵ユーザのカード(つまり、CL_mov>CL_exeとなるカード)のうち、左から右に配置されているカードの順
(b-5) 第1行において、実行カード中央位置と同一の列にある敵ユーザのカード(つまり、CL_mov=CL_exeとなるカード)
(b-6) 第1行以外の各行において、実行カード中央位置と同一の列にある敵ユーザのカード(つまり、CL_mov=CL_exeとなるカード)
先ずCPU21は、処理対象のカードが第1行に配置されているカードであるか否かについて判定する(ステップS244)。処理対象のカードが第1行に配置されているカードである場合には(ステップS244:YES)、ステップS246へ進み、処理対象のカードが第1行に配置されているカードでない場合には(ステップS244:NO)、ステップS256へ進む。
と実行カード中央位置CL_exeの差の絶対値(|CL_mov−CL_exe|)が0.5以下である場合には(ステップS254:YES)、処理対象のカードについて横移動処理を行わずにステップS258へ進む(上記[横移動処理の例外]を参照)。
ゲームサーバ20のCPU21は先ず、バトル使用カードデータを参照して、実行ユーザのカード群の中心位置を示す実行カード中央位置CL_exeと、敵ユーザのカード群の中心位置を示す敵カード中央位置CL_oppとを決定する(ステップS260)。CPU21は、実行カード中央位置CL_exeと敵カード中央位置CL_oppを決定すると、両者の比較結果に基づいて敵ユーザのカード群の各カードの処理順序を決定する(ステップS262)。
(c) 敵カード中央位置が実行カード中央位置よりも左側にある場合(つまり、CL_exe>CL_oppである場合)には、以下の(c-1)〜(c-6)に示す優先順である。
(c-1) 第1行において、敵カード中央位置よりも右側にある実行ユーザのカード(つまり、CL_mov>CL_oppとなるカード)のうち、左から右に配置されているカードの順
(c-2) 第1行以外の各行において、敵カード中央位置よりも右側にある実行ユーザのカード(つまり、CL_mov>CL_oppとなるカード)のうち、左から右に配置されているカードの順
(c-3) 第1行において、敵カード中央位置(CL_opp)よりも左側にある実行ユーザのカード(つまり、CL_mov<CL_oppとなるカード)のうち、右から左に配置されているカードの順
(c-4) 第1行以外の各行において、敵カード中央位置(CL_opp)よりも左側にある実行ユーザのカード(つまり、CL_mov<CL_oppとなるカード)のうち、右から左に配置されているカードの順
(c-5) 第1行において、敵カード中央位置(CL_opp)と同一の列にある実行ユーザのカード(つまり、CL_mov=CL_oppとなるカード)
(c-6) 第1行以外の各行において、敵カード中央位置(CL_opp)と同一の列にある実行ユーザのカード(つまり、CL_mov=CL_oppとなるカード)
(d-1) 第1行において、敵カード中央位置よりも左側にある実行ユーザのカード(つまり、CL_mov<CL_oppとなるカード)のうち、右から左に配置されているカードの順
(d-2) 第1行以外の各行において、敵カード中央位置よりも左側にある実行ユーザのカード(つまり、CL_mov<CL_oppとなるカード)のうち、右から左に配置されているカードの順
(d-3) 第1行において、敵カード中央位置よりも右側にある実行ユーザのカード(つまり、CL_mov>CL_oppとなるカード)のうち、左から右に配置されているカードの順
(d-4) 第1行以外の各行において、敵カード中央位置よりも右側にある実行ユーザのカード(つまり、CL_mov>CL_oppとなるカード)のうち、左から右に配置されているカードの順
(d-5) 第1行において、敵カード中央位置と同一の列にある実行ユーザのカード(つまり、CL_mov=CL_oppとなるカード)
(d-6) 第1行以外の各行において、敵カード中央位置と同一の列にある実行ユーザのカード(つまり、CL_mov=CL_oppとなるカード)
先ずCPU21は、処理対象のカードが第1行に配置されているカードであるか否かについて判定する(ステップS264)。処理対象のカードが第1行に配置されているカードである場合には(ステップS264:YES)、ステップS266へ進み、処理対象のカードが第1行に配置されているカードでない場合には(ステップS264:NO)、ステップS276へ進む。
上述した実施形態及び変形例では、カードの移動方向を前方又は横方向のいずれかの場合について説明したが、その場合に限られない。例えば、斜め前方(斜め右前、又は斜め左前)に移動するカードを設定してもよい。
上述した実施形態及び変形例において、バトルフィールドが矩形のマトリクスである場合について説明したが、この場合に限られない。実行ユーザ及び敵ユーザのカード群がそれぞれ、カード同士が隣接して移動可能であれば他の形態でもよい。例えば、三角形や六角形(ハニカム形態)などの多角形であってもよい。
上述した実施形態及び変形例において、カード群を横移動させるときのカードの処理順序は、一例に過ぎない。中央位置(全カード中央位置、敵カード中央位置、又は実行カード中央位置)を基準として、左側にあるカードを先に移動させ、次に右側にあるカードを移動させてもよいし、右側にあるカードを先に移動させ、次に左側にあるカードを移動させてもよい。
11…CPU
12…ROM
13…RAM
14…画像処理部
15…指示入力部
16…表示部
17…通信インタフェース部
18…バス
20…ゲームサーバ
21…CPU
22…ROM
23…RAM
24…データベースアクセス部
25…通信インタフェース部
26…バス
30…データベースサーバ
31…ユーザデータベース
32…ゲームデータベース
51…対応付け手段
52…バトル進行手段
53…変更手段
54…消失手段
55…移動手段
Claims (8)
- ゲーム空間内において所定の基本領域のマトリクスによって構成される所定のフィールドにおいて、前記マトリクスの列方向に対向して配置されたオブジェクトを用いてユーザ間での対戦の実行を制御するゲーム制御装置であって、
それぞれパラメータが関連付けられている複数のオブジェクトからなるオブジェクト群を、ユーザに対応付ける対応付け手段と、
第1ユーザと第2ユーザの間の対戦において、いずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち少なくともいずれかのオブジェクトに関連付けられたパラメータを変更する変更手段と、
オブジェクトに関連付けられたパラメータが所定の消失条件を満足した場合に、当該オブジェクトを前記フィールドから消失させる消失手段と、
前記対戦において、オブジェクト群に含まれるオブジェクト同士が隣接するように、各オブジェクトを前記フィールド内において前記基本領域の単位で移動させる移動手段と、
を備え、
前記移動手段は、第1ユーザに対応付けられた第1オブジェクト群の行方向の中央位置である第1中央位置と、第2ユーザに対応付けられた第2オブジェクト群の行方向の中央位置である第2中央位置とを近付けるようにして、各オブジェクトを行方向に移動させることを特徴とする、
ゲーム制御装置。 - 前記移動手段は、第1ユーザに対応付けられた第1オブジェクト群の各オブジェクトが第1基準行を越えない範囲で、かつ第2ユーザに対応付けられた第2オブジェクト群の各オブジェクトが第2基準行を超えない範囲で、オブジェクトを移動させることを特徴とする、
請求項1に記載されたゲーム制御装置。 - 前記第1基準行と前記第2基準行は、前記マトリクス上で隣接した行であることを特徴とする、
請求項2に記載されたゲーム制御装置。 - 前記変更手段は、前記対戦中にいずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち、少なくとも前記オブジェクトと重複する列に対向して配置されているオブジェクトに関連付けられたパラメータを変更し、
前記移動手段は、各オブジェクト群について、対応する基準行上のオブジェクトが消失させられた場合には、当該オブジェクトと同一の列に配置されている他のオブジェクトを基準行まで移動させることを特徴とする、
請求項2又は3に記載されたゲーム制御装置。 - 前記移動手段は、
前記フィールド内のオブジェクトの行方向の中央位置と、前記第1中央位置、又は前記第2中央位置とを近付けるように、前記第1オブジェクト群及び前記第2オブジェクト群のうちいずれか一方のオブジェクト群に含まれる各オブジェクトを行方向に移動させる第1の移動処理と、
前記第1中央位置と前記第2中央位置とを近付けるように、前記第1オブジェクト群及び前記第2オブジェクト群のうち他方のオブジェクト群に含まれる各オブジェクトを行方向に移動させる第2の移動処理と、
を繰り返し実行することを特徴とする、
請求項1に記載されたゲーム制御装置。 - 前記移動手段は、前記第1ユーザと前記第2ユーザの間の対戦の開始から、前記第1基準行と前記第2基準行を時間の経過とともに近付けていくことを特徴とする、
請求項1〜5のいずれかに記載されたゲーム制御装置。 - ゲーム空間内において所定の基本領域のマトリクスによって構成される所定のフィールドにおいて、前記マトリクスの列方向に対向して配置されたオブジェクトを用いてユーザ間での対戦の実行を制御するために、コンピュータを、請求項1〜6のいずれかに記載されたゲーム制御装置の各手段として機能させるためのプログラム。
- 通信端末と、当該通信端末からアクセスされるサーバと、を含み、ゲーム空間内において所定の基本領域のマトリクスによって構成される所定のフィールドにおいて、前記マトリクスの列方向に対向して配置されたオブジェクトを用いてユーザ間での対戦の実行を制御するゲームシステムであって、請求項1〜6のいずれかに記載されたゲーム制御装置の各手段を、前記通信端末又は前記サーバのいずれか一方が備えた、ゲームシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013007707A JP5947728B2 (ja) | 2013-01-18 | 2013-01-18 | ゲーム制御装置、プログラム、ゲームシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013007707A JP5947728B2 (ja) | 2013-01-18 | 2013-01-18 | ゲーム制御装置、プログラム、ゲームシステム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016111450A Division JP6145661B2 (ja) | 2016-06-03 | 2016-06-03 | ゲーム制御装置、プログラム、ゲームシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014136122A JP2014136122A (ja) | 2014-07-28 |
JP5947728B2 true JP5947728B2 (ja) | 2016-07-06 |
Family
ID=51413975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013007707A Active JP5947728B2 (ja) | 2013-01-18 | 2013-01-18 | ゲーム制御装置、プログラム、ゲームシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5947728B2 (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3904562B2 (ja) * | 2004-02-18 | 2007-04-11 | 株式会社ソニー・コンピュータエンタテインメント | 画像表示システム、記録媒体及びプログラム |
JP2011000170A (ja) * | 2009-06-16 | 2011-01-06 | Namco Bandai Games Inc | プログラム、情報記憶媒体及びゲーム装置 |
JP4955829B1 (ja) * | 2011-08-05 | 2012-06-20 | 株式会社バンダイ | ゲームシステム及びその制御方法、プログラム |
JP5270022B1 (ja) * | 2012-08-29 | 2013-08-21 | 株式会社 ディー・エヌ・エー | サーバー装置、及び、ゲームプログラム |
-
2013
- 2013-01-18 JP JP2013007707A patent/JP5947728B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014136122A (ja) | 2014-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6227759B2 (ja) | コンピュータゲームに登場する対象体を自動的にターゲッティングする方法及びその装置 | |
JP5755317B2 (ja) | 情報処理装置、情報処理システム、プログラム | |
JP5981372B2 (ja) | ゲーム制御装置、プログラム、ゲームシステム | |
WO2017077783A1 (ja) | プレイヤの移動履歴に基づいてノンプレイヤキャラクタの経路探索を行うゲームシステム等 | |
JP5951555B2 (ja) | ビデオゲーム処理プログラム、及びビデオゲーム処理システム | |
JP6311192B2 (ja) | ゲーム制御装置、プログラム | |
JP5923411B2 (ja) | ゲーム制御装置、プログラム、ゲームシステム | |
JP5710162B2 (ja) | プログラム及びゲーム装置 | |
JP5889777B2 (ja) | ゲーム制御装置、プログラム、ゲームシステム | |
JP5715615B2 (ja) | ゲーム制御装置、プログラム、ゲームシステム | |
JP5947729B2 (ja) | ゲーム制御装置、プログラム、ゲームシステム | |
JP5818215B2 (ja) | ゲーム制御装置、プログラム、ゲームシステム | |
JP5856554B2 (ja) | 様々なタイプの装置のためのゲームシステム | |
JP5715266B2 (ja) | ゲーム制御装置、プログラム、ゲームシステム | |
JP5736351B2 (ja) | ゲーム制御装置、プログラム、ゲームシステム、抽選装置 | |
JP5771587B2 (ja) | ゲーム制御装置、プログラム、ゲームシステム | |
JP5548240B2 (ja) | ゲーム制御装置、プログラム、ゲームシステム | |
JP5863622B2 (ja) | ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム | |
JP6145661B2 (ja) | ゲーム制御装置、プログラム、ゲームシステム | |
JP5947728B2 (ja) | ゲーム制御装置、プログラム、ゲームシステム | |
JP6145662B2 (ja) | ゲーム制御装置、プログラム、ゲームシステム | |
WO2013132565A1 (ja) | ゲーム制御装置、ゲーム制御方法、プログラム、記録媒体、ゲームシステム | |
JP6240977B2 (ja) | ゲーム制御装置、プログラム、ゲームシステム | |
JP6007208B2 (ja) | ゲーム制御装置、プログラム、ゲームシステム | |
KR20150084286A (ko) | 직소 퍼즐 게임 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140918 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150917 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150929 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151125 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160510 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160603 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5947728 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |