JP5947728B2 - ゲーム制御装置、プログラム、ゲームシステム - Google Patents

ゲーム制御装置、プログラム、ゲームシステム Download PDF

Info

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
Application number
JP2013007707A
Other languages
English (en)
Other versions
JP2014136122A (ja
Inventor
片岡 健一
健一 片岡
泰之 佐竹
泰之 佐竹
康介 西岡
康介 西岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2013007707A priority Critical patent/JP5947728B2/ja
Publication of JP2014136122A publication Critical patent/JP2014136122A/ja
Application granted granted Critical
Publication of JP5947728B2 publication Critical patent/JP5947728B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、複数のユーザの各々の操作に応じて、各ユーザによるゲームの進行を制御する技術に関する。
近年、特定のサービス提供者によるソーシャルネットワーキングサービス(SNS)においてウェブブラウザ上で動作するAPI(Application Programming Interface)などの動作環境を基に作成されるゲーム用アプリケーションによって実行される、いわゆるソーシャルゲーム(Social Game)が普及している。ソーシャルゲームは、不特定多数のユーザ間でコミュニケーションをとりながらプレイするオンラインゲームの一種であると言える。ユーザは、インターネットに接続可能であって、かつウェブブラウザが搭載された通信端末を備えていれば、時間と場所を問わずソーシャルゲームを楽しむことができる。
上述したソーシャルゲームでは、従来のオンラインゲームよりも、ユーザ間の交流を図るためのコミュニケーション機能が充実している点が特徴の1つとなっている。ソーシャルゲームでは、例えば、他のユーザ(仲間)との協力プレイのほか、仲間との挨拶や連絡など仲間とコミュニケーションを取ることによる情報交換、仲間との間のゲーム上のアイテムのプレゼントあるいはアイテムの交換が行なわれている。このようなソーシャルゲームの一例として、下記の非特許文献1に記載されたデジタルカードゲーム(ドラゴンコレクション(登録商標))が知られている。
極めて多数のユーザがソーシャルゲームにユーザ登録を行っており、各ユーザは自らの都合の良い時間でゲームをプレイする。そのため、ソーシャルゲームにおけるユーザ間の対戦(バトル)は非同期で行われる。例えば、ゲームにアクセスしているユーザが他のユーザ(対戦相手)と対戦を行う場合には、対戦相手のパラメータ、あるいは対戦相手に対応付けられたキャラクタのパラメータを使用して行われるが、対戦相手はその対戦に実時間で関与しない。
アプリSTYLE Vol.5(株式会社イースト・プレス、平成23年11月1日発行)、7-8頁
従来のソーシャルゲームにおけるユーザ間の対戦は、ユーザとその対戦相手(他のユーザ、又はゲームキャラクタ)との間で交互に攻撃が行われる、いわゆるターン制の対戦であった。このターン性の対戦は攻撃の順序が固定的であり、ゲームが単調にならざるを得ない。また、キャラクタの動きも単調であった。つまり、従来のソーシャルゲームにおけるユーザ間の対戦は、臨場感に乏しいものであった。
本発明は上述した観点に鑑みてなされたもので、ユーザ間でキャラクタ等のオブジェクトを複数使用して対戦を行う場合に、より臨場感を味わうことができる対戦ゲームを実現できるようにしたゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステムを提供することを目的とする。
本発明の第1の観点は、ゲーム空間内の所定のフィールドにおいて、オブジェクトを用いたユーザ間での対戦の実行を制御するゲーム制御装置である。
このゲーム制御装置は、
それぞれパラメータが関連付けられている複数のオブジェクトからなるオブジェクト群を、ユーザに対応付ける対応付け手段(51)と、
第1ユーザと第2ユーザの間の対戦において、いずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち少なくともいずれかのオブジェクトに関連付けられたパラメータを変更する変更手段(53)と、
オブジェクトに関連付けられたパラメータが所定の消失条件を満足した場合に、当該オブジェクトを前記フィールドから消失させる消失手段(54)と、
前記対戦において、オブジェクト群に含まれるオブジェクト同士が隣接するように、各オブジェクトを前記フィールド内で移動させる移動手段(55)と、
を備える。
本発明に係るゲーム制御装置は、ユーザが単独で使用するスタンドアローンのゲーム機であってもよいし、ユーザの通信端末上でゲームを表示するために当該通信端末との間で無線又は有線による通信を確立できるサーバ等の情報処理装置であってもよい。
本発明において「オブジェクト」とは、例えば、ゲーム上のキャラクタやアイテム等を含む。キャラクタは、例えばゲーム上の仮想的な人物や生物、若しくはモンスター等であり、それらがカードに表示されているものをも含む。
このゲーム制御装置によって実現されるユーザ間の対戦ゲームでは、ユーザ同士のオブジェクトの攻防によってオブジェクトが消失する場合に、フィールドに残留する各ユーザのオブジェクト群が隣接するようにしてフィールド内を移動する。つまり、各ユーザのオブジェクト群が対戦の開始から終了まで統率のとれた動きを見せるため、ユーザは対戦ゲームにおいて、より臨場感を味わうことができる。
上記ゲーム制御装置において、前記フィールドは所定の基本領域のマトリクスによって構成され、前記移動手段(55)は、前記フィールド内において各オブジェクトを前記基本領域の単位で移動させてもよい。
この構成では、オブジェクトのフィールド内における前後又は左右の動きの量が一定となるため、ユーザ間の対戦ゲームにおいて、各ユーザのオブジェクト群の移動が統一感のとれたものとすることができる。この構成は、オブジェクトがマトリクスの基本領域の大きさに合致した形態である場合(例えば、オブジェクトが、キャラクタを表示した矩形のカードである場合)に好適である。
上記ゲーム制御装置において、前記移動手段(55)は、第1ユーザに対応付けられた第1オブジェクト群の各オブジェクトが第1基準行を越えない範囲で、かつ第2ユーザに対応付けられた第2オブジェクト群の各オブジェクトが第2基準行を超えない範囲で、オブジェクトを移動させてもよい。
この構成において「基準行」は、フィールドを構成するマトリクス上で任意の行に適宜設定することができる。基準行は対戦の開始から終了まで固定の行であってもよいし、基準行となる行が対戦中に変化してもよい。
この構成では、第1ユーザ及び第2ユーザに対してそれぞれ設けられた第1基準行及び第2基準行が各ユーザのオブジェクト群の先頭の行になり、各ユーザのオブジェクト群が第1基準行及び第2基準行を挟んで対峙して配置される。そのため、各ユーザのオブジェクト群が対戦中に移動する領域がユーザ同士で重なることがなく、ユーザは自身に対応付けられた各オブジェクトの動きを認識しやすくなる。
上記ゲーム制御装置において、前記移動手段(55)は、前記第1基準行と前記第2基準行を前記マトリクス上で隣接した行としてもよい。
この構成では、各ユーザのオブジェクト群の先頭の行が隣接することになるため、各ユーザのオブジェクト群同士での接近戦を模擬することができる。
上記ゲーム制御装置において、前記変更手段(53)は、前記対戦中にいずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち、少なくとも前記オブジェクトと重複する列に対向して配置されているオブジェクトに関連付けられたパラメータを変更し、
前記移動手段(55)は、各オブジェクト群について、対応する基準行上のオブジェクトが消失させられた場合には、当該オブジェクトと同一の列に配置されている他のオブジェクトを基準行まで移動させてもよい。
この構成では、例えば、一方のユーザのオブジェクトによる攻撃が、当該オブジェクトと同一の列の他方のユーザのオブジェクトに対して行われる。また、基準行上の(つまり、先頭の行に配置されている)オブジェクトが相手の攻撃によって消失した場合、基準行からみて後方のオブジェクトが基準行まで前方移動する。そのため、対戦では、お互いに基準行を挟んでオブジェクト群同士の攻防が行われることになり、対戦自体がわかりやすく表示されるとともに、対戦の臨場感も増す。
上記ゲーム制御装置において、前記移動手段(55)は、前記第1オブジェクト群の行方向の中央位置である第1中央位置と、前記第2オブジェクト群の行方向の中央位置である第2中央位置とを近付けるようにして、各オブジェクトを行方向に移動させてもよい。
この構成では、各ユーザのオブジェクト群は、対戦の途中でオブジェクトが消失していった場合に、各ユーザのオブジェクト群同士が対峙して配置されるように順次各オブジェクトが移動するように制御されるため、各ユーザのオブジェクト群の攻防が見やすくなる。特に、一方のユーザのオブジェクトによる攻撃が、当該オブジェクトと同一の列の他方のユーザのオブジェクトに対して行われる場合には、短時間で対戦の決着がつき、ユーザは早期に対戦結果を知ることができる。
上記ゲーム制御装置において、前記移動手段(55)は、前記フィールド内のオブジェクトの行方向の中央位置と、前記第1中央位置、又は前記第2中央位置とを近付けるように、前記第1オブジェクト群及び前記第2オブジェクト群のうちいずれか一方のオブジェクト群に含まれる各オブジェクトを行方向に移動させる第1の移動処理と、
前記第1中央位置と前記第2中央位置とを近付けるように、前記第1オブジェクト群及び前記第2オブジェクト群のうち他方のオブジェクト群に含まれる各オブジェクトを行方向に移動させる第2の移動処理と、を繰り返し実行してもよい。
第1の移動処理と第2の移動処理を繰り返し実行することで、前記第1の中央位置及び前記第2の中央位置を近づけるようなオブジェクトの移動制御が実現される。
上記ゲーム制御装置において、前記移動手段(55)は、前記第1ユーザと前記第2ユーザの間の対戦の開始から、前記第1基準行と前記第2基準行を時間の経過とともに近付けていくようにしてもよい。
この構成では、対戦するオブジェクト群同士が徐々に近付いていくため、ユーザが対戦の緊張感をより感じることができるようになる。また、対戦するオブジェクト群の距離が時間の経過とともに変化するため、例えばオブジェクトによる攻撃の射程距離等を設定することで、対戦ゲームの設定の自由度を増すことができる。
本発明の第2の観点は、ゲーム空間内の所定のフィールドにおいて、オブジェクトを用いたユーザ間での対戦の実行を制御するゲーム制御方法である。
このゲーム制御方法は、
それぞれパラメータが関連付けられている複数のオブジェクトからなるオブジェクト群を、ユーザに対応付けるステップと、
第1ユーザと第2ユーザの間の対戦において、いずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち少なくともいずれかのオブジェクトに関連付けられたパラメータを変更するステップと、
オブジェクトに関連付けられたパラメータが所定の消失条件を満足した場合に、当該オブジェクトを前記フィールドから消失させるステップと、
前記対戦において、オブジェクト群に含まれるオブジェクト同士が隣接するように、各オブジェクトを前記フィールド内で移動させるステップと、
を備える。
本発明の第3の観点は、ゲーム空間内の所定のフィールドにおいて、オブジェクトを用いたユーザ間での対戦の実行を制御するために、コンピュータに、
それぞれパラメータが関連付けられている複数のオブジェクトからなるオブジェクト群を、ユーザに対応付ける機能、
第1ユーザと第2ユーザの間の対戦において、いずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち少なくともいずれかのオブジェクトに関連付けられたパラメータを変更する機能、
オブジェクトに関連付けられたパラメータが所定の消失条件を満足した場合に、当該オブジェクトを前記フィールドから消失させる機能、及び、
前記対戦において、オブジェクト群に含まれるオブジェクト同士が隣接するように、各オブジェクトを前記フィールド内で移動させる機能、
を実現させるためのプログラムである。
コンピュータは、例えばネットワークサーバ、大型計算機等であってよい。また、このプログラムは、DVD−ROMやCD−ROM等のコンピュータが読み取り可能な情報記憶媒体に格納されてもよい。
本発明の第4の観点は、通信端末(10)と、当該通信端末(10)からアクセスされるサーバ(20)と、を含み、ゲーム空間内の所定のフィールドにおいて、オブジェクトを用いたユーザ間での対戦の実行を制御するゲームシステムである。
このゲームシステムは、
それぞれパラメータが関連付けられている複数のオブジェクトからなるオブジェクト群を、ユーザに対応付ける対応付け手段(51)、
第1ユーザと第2ユーザの間の対戦において、いずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち少なくともいずれかのオブジェクトに関連付けられたパラメータを変更する変更手段(53)、
オブジェクトに関連付けられたパラメータが所定の消失条件を満足した場合に、当該オブジェクトを前記フィールドから消失させる消失手段(54)、及び、
前記対戦において、オブジェクト群に含まれるオブジェクト同士が隣接するように、各オブジェクトを前記フィールド内で移動させる移動手段(55)、
の各手段を、前記通信端末(10)又は前記サーバ(20)のいずれか一方が備える。
通信端末(10)は、例えば携帯端末、スマートフォン、PDA(Personal Digital Assistant)、パーソナルコンピュータ、双方向の通信機能を備えたテレビジョン受像機、通信機能付きゲーム装置等であってよい。
なお、上記では、本発明の理解を容易にするため、適宜図面に記載された符号を括弧書きで記載しているが、これにより本発明に係るゲーム制御装置等が図示の態様に限定されるものではない。
本発明のゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステムによれば、ユーザ間でキャラクタ等のオブジェクトを複数使用して対戦を行う場合に、より臨場感を味わうことができる。
実施形態のゲームシステムの基本構成を示す図。 実施形態の通信端末の外観の例を示す図。 実施形態の通信端末の外観の例を示す図。 実施形態の通信端末の構成を示すブロック図。 実施形態のゲームサーバの構成を示すブロック図。 実施形態のデータベースサーバの構成を示すブロック図。 ユーザデータベースの構成例を示す図。 カードデータベースの構成例を示す図。 実施形態のゲームのバトルフィールドについて説明するための図。 実施形態のゲームのバトルフィールド内のカードの配置の一例を示す図。 実施形態のゲームにおいてユーザ間のバトルが行われるときに通信端末に表示される一連のウェブページの例を示す図。 実施形態のゲームにおいてユーザ間のバトルが行われるときに通信端末に表示される一連のウェブページの例を示す図。 実施形態のゲームにおいてユーザ間のバトルが行われるときに通信端末に表示される一連のウェブページの例を示す図。 実施形態のゲームにおいてユーザ間のバトルが行われるときに通信端末に表示される一連のウェブページの例を示す図。 バトルにおけるカードの前方移動について説明するための図。 バトルにおけるカードの横移動について説明するための図。 バトルの開始から終了までの各カードの移動態様の一例を順に示す図。 バトルの開始から終了までの各カードの移動態様の一例を順に示す図。 バトルの開始から終了までの各カードの移動態様の一例を順に示す図。 実施形態のゲーム制御装置の機能ブロック図。 バトル使用カードデータのデータ構成の一例を示す図。 実施形態のバトルゲームの全体処理の一例を示すフローチャート。 カード配置処理の一例を示すフローチャート。 攻撃処理の一例を示すフローチャート。 カードの前方移動処理の一例を示すフローチャート。 バトル相手のカードの横移動処理の一例を示すフローチャート。 ユーザのカードの横移動処理の一例を示すフローチャート。 バトル中の各カードの移動態様の変形例を示す図。 第2の実施形態の横移動方法について説明するための図。 第2の実施形態においてバトルの開始から終了までの各カードの移動態様の一例を順に示す図。 第2の実施形態においてバトルの開始から終了までの各カードの移動態様の一例を順に示す図。 第2の実施形態においてバトルの開始から終了までの各カードの移動態様の一例を順に示す図。 第2の実施形態においてバトルの開始から終了までの各カードの移動態様の一例を順に示す図。 第2の実施形態において、バトル相手のカードの横移動処理の変形例を示すフローチャート。 第2の実施形態において、ユーザのカードの横移動処理の変形例を示すフローチャート。 実施形態のゲーム制御装置の各機能について、通信端末と、ゲームサーバ及びデータベースサーバとの間の分担例を示す図。 実施形態のゲーム制御装置の各機能について、通信端末と、ゲームサーバ及びデータベースサーバとの間の分担例を示す図。
<第1の実施形態>
以下、本発明のゲームシステムの一実施形態について説明する。
(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をウェブページ上で操作してゲームを実行する。
また、図1には図示していないが、ゲームサーバ20とは別に各通信端末10のユーザを認証するための認証サーバを設けてもよい。また、多くの通信端末10からのアクセスを受け入れるために複数のゲームサーバ20を設ける場合は、その複数のゲームサーバ20間の負荷を調整するためのロードバランサを設けてもよい。また、ゲームサーバ20は単一のサーバ装置として構成してもよいが、機能を分散させた複数のサーバ装置として構成してもよい。
(2)通信端末の構成
図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が設けられている。
CPU11は、ROM12内のウェブブラウザをRAM13にロードして実行する。そして、CPU11は、指示入力部15等によってユーザに入力されるURL(Uniform Resource Locator)の適切な指定に基づき、通信インタフェース部17を介して、ゲームサーバ20からウェブページを表示するためのデータ、すなわち、HTML(HyperText Markup Language)文書や当該文書と関連付けられた画像などのオブジェクトのデータ(以下、総称して適宜「HTMLデータ」と表記する。)を、通信インタフェース部17を介して取得し、ウェブブラウザを実行してHTMLデータを解釈する。なお、通信端末10には、ウェブブラウザのブラウザ機能を拡張するための様々なプラグインが実装されていてよい。そのようなプラグインの一例は、アドビシステムズ社(米国)によるフラッシュプレイヤであり、SWF形式のファイルを再生する。あるいは、本実施形態でのHTMLデータを、動画及び音声の再生機能を備えたHTML5形式としてもよい。
ウェブブラウザは、ゲームサーバ20とHTTP(HyperText Transfer Protocol)に従った通信を行う。ウェブブラウザは、ユーザによる指示入力部15の操作によってウェブページ上のURL(Uniform Resource Locator)またはメニューが選択されると、ウェブページの更新のために、その選択結果を含むHTTPリクエストをゲームサーバ20に送信する。ウェブブラウザは、HTTPレスポンスとしてゲームサーバ20からHTMLデータを取得し、解釈して、画像処理部14を介してウェブページを表示部16に表示する。
画像処理部14は、HTMLデータの解析結果としてCPU11から与えられる表示用画像データに基づいて、表示部16にウェブページを表示する。表示部16は、例えば、マトリクス状に画素単位で配置された薄膜トランジスタを含むLCD(Liquid Cristal Display)モニタであり、表示用画像データに基づいて薄膜トランジスタを駆動することでウェブページの画像を表示画面16aに表示する。
通信端末10が釦入力方式の通信端末(図2A)である場合、指示入力部15は、ユーザの操作入力を受け入れるための方向指示釦と決定釦などの複数の指示入力釦を含む釦群15a、及び、テンキーなどの複数の指示入力釦を含む釦群15bを備え、各釦の押下(操作)入力を認識してCPU11へ出力するためのインタフェース回路を含む。例えば、方向指示釦は、表示部16に表示されているウェブページをスクロールして表示することをCPU11へ指示するために設けられる。また、決定釦は、例えばウェブページ上で複数のURLまたはメニューが表示されるときに、アクティブ表示(例えば強調表示)されているURLまたはメニューをユーザが選択することをCPU11へ指示するために設けられる。なお、通信端末10を小型の携帯端末によって構成する場合には、これらの釦は、ユーザが通信端末10を片手で保持したままその親指で操作(クリック)しやすいように、通信端末10の前面に配置されていることが好ましい。図2Aに示す例では、釦群15bは、釦群15aの下方に配置され、「0」〜「9」、「*」、「#」(テンキー)が表記された複数の指示入力釦を含む。
通信端末10がタッチパネル入力方式の通信端末(図2B)である場合、指示入力部15は、主として表示画面16aに指先あるいはペンで触れることによるタッチパネル方式の入力を受け付ける。タッチパネル入力方式は、静電容量方式などの公知の方式でよい。なお、図2Bに示すように、通信端末10がタッチパネル入力方式の場合であっても釦群15aが設けられる場合もある。
通信端末10に表示されるウェブページ上のメニューの選択操作は、例えば通信端末10が携帯端末である場合には、方向指示釦の押下操作によってメニューを選択し、決定釦の押下操作によって、選択したメニューを確定することによって行われる。また、選択操作は、例えば通信端末10がタッチパネル入力方式の場合には、ウェブページが表示されている表示画面16a上のメニューの位置を指あるいはペンで指示(タッチ操作)することによって行われる。
(3)ゲームサーバの構成
図4を参照してゲームサーバ20の構成について説明する。
ゲームサーバ20は、例えば階層構造の複数のウェブページからなるゲームのウェブサイトを管理しており、通信端末10に対してゲームのウェブサービスを提供する。図4に示すように、ゲームサーバ20は、CPU21、ROM22、RAM23、データベース(DB)アクセス部24、及び、通信インタフェース部25を備えており、各部間の制御信号あるいはデータ信号を伝送するためのバス26が設けられている。なお、ゲームサーバ20は、ハードウエアに関しては汎用のウェブサーバと同一の構成をとることができる。
ROM22には、クライアントである通信端末10のウェブブラウザに対してHTML文書や画像などのオブジェクトの表示(ウェブページの表示)のサービスを提供するアプリケーションプログラムが格納されている。ROM22には、アプリケーションプログラム以外にもCPU21によって参照される各種データが格納されている。
CPU21は、ROM22内のゲームプログラムをRAM23にロードして実行し、通信インタフェース部25を介して、各種の処理を行う。
例えば、CPU21は、通信インタフェース部25を介して、ゲームサーバ20のウェブブラウザとの間でHTTPに従った通信を行う。例えば、CPU21は、通信インタフェース部25を介して、通信端末10から受信したHTTPリクエスト(例えば、前述したように、ウェブページ上でのユーザのURLまたはメニューの選択結果を含む。)に基づいて所定のデータ処理や、演算処理を行い、その処理結果を含むHTTPレスポンスをゲームサーバ20のウェブブラウザに返す。HTTPレスポンスには、ウェブページを更新するためのHTMLデータが含まれる。また、ゲームサーバ20が通信端末10のユーザの認証処理を行う場合には、CPU21はその認証処理を行う。
データベースアクセス部24は、CPU21がデータベースサーバ30に対してデータの読み書きを行うときのインタフェースである。
(4)データベースサーバの構成
データベースサーバ30(記憶装置)は、大容量のハードディスク装置やRAID(Redundant Arrays of Inexpensive Disks)等の形態の装置等、汎用ストレージで実現できる。データベースサーバ30内の各データベースは、ゲームサーバ20のデータベースアクセス部24を介してCPU21からのデータの読み書きが可能となるように構成されている。
図5に、データベースサーバ30の構成の一例を示す。図5に示すように、データベースサーバ30は、ユーザデータベース31と、ゲームデータベース32とを備える。
本実施形態のゲームサーバ20によって実現されるゲームの一例として、ユーザの通信端末10に対する操作に応じて、ユーザ同士で、あるいはユーザ対CPUでの、ゲーム上で仮想的に保有するモンスターカード(以下、適宜単に「カード」という。)を使用したバトルを行うバトルゲームを採り上げる。このバトルゲームを、以下では適宜、単に「ゲーム」あるいは「本実施形態のゲーム」という。
図6に、本実施形態のゲームにおいて適用されるユーザデータベース31の一例を示す。この例では、ユーザデータベース31は、ユーザID(ユーザ識別情報)ごとに、ユーザ名、ユーザ画像、ゲームレベル、使用可能コスト、及び保有カードの各項目についての情報を含む。ユーザデータベース31に含まれる情報は、ゲームサーバ20によって逐次更新されうる。
以下の説明では、ユーザデータベース31に含まれるユーザID、あるいはユーザを特定するユーザ名(後述する)ごとのデータを総称してユーザデータという。ユーザデータを構成する各項目のデータは、以下のとおりである。
・ユーザ名
ユーザ名は、ゲームの実行時に通信端末10のユーザを特定するために表示されるユーザ名である。ユーザ名は、例えばユーザによって予め指定される所定長以下のテキストである。ユーザ名は、ゲームサーバ20によって提供されるネットワーク環境(あるいはゲームコミュニティ)上でユーザを特定する名称である。
・ユーザ画像
ユーザ画像は、ゲームの実行時に通信端末10のユーザを特定するために表示される画像であり、例えばユーザによって予め選択されるアバタ画像であってもよい。
・ゲームレベル
ユーザのゲームにおける進行度合いを示すデータであり、ユーザによるゲームの進行に伴って増加する値である。例えば、ゲームレベルは、例えばLv1(レベル1)からLv100(レベル100)までの範囲のレベル値である。ゲームレベルは、本実施形態のゲームにおいて予め規定された規則に従って増加する。ゲームレベルは例えば、バトルでユーザが勝利した数、又はバトルでの勝率が増加するにつれて増加してもよい。
・使用可能コスト
後述するように、本実施形態のゲームでは、各カードに対してコストが対応付けられている。使用可能コストは、ユーザが1回のバトルで使用可能なカードのコストの総和の上限値である。つまり、ユーザは、1回のバトルでは、各カードのコストの総和が使用可能コスト以下となるように、バトルで使用するカードを選択することがもとめられるようにしてもよい。使用可能コストは、例えば、ゲームレベルが大きくなるにつれて大きい値に設定されてもよい。
なお、使用可能コストを設定すること、すなわちユーザが1回のバトルで使用可能なカードのコストの総和の上限値を設定することは必須ではない。
・保有カード
保有カードは、ユーザがゲーム上で保有しているカードである。保有カードについての情報は、保有カードを特定する情報であるカードID(C084等)と、各カードの個数(保有数)とを含む。
図5に戻り、ゲームデータベース32は、ゲームサーバ20からのアクセスに基づき、ゲームサーバ20によって実行されたゲームの進行に関する情報を記憶、更新する。ゲームの進行に関する情報は、ゲームの性質によって多様な情報を含みうる。本実施形態のゲームの場合を例に挙げれば、ゲームの進行に関する情報は、異なるユーザ同士のバトルの結果などを含む。ゲームデータベース32はさらに、カードデータベースを記憶する。
図7にカードデータベースの構成例を示す。図7に示すように、カードデータベースには、カードID毎に、キャラクタ、HP(Hit Point)、攻撃力、防御力、攻撃範囲、攻撃頻度、サイズ、コスト、キャラクタの画像についての情報を含む。各情報の内容は以下のとおりである。
・キャラクタ
カードに対応するキャラクタは、カードに表示されるモンスターキャラクタの名称(M3,M8等)についての情報である。
・HP
カードのHPは、バトルにおけるカードの初期の体力を示すパラメータである。バトル中に敵のカードから攻撃を受けることでカードのHPがゼロになると、そのカードはバトルにおいて消失することになる。
・攻撃力
カードの攻撃力は、バトルにおいてカードの攻撃力を示すパラメータである。カードの攻撃力の値が大きいほど、バトルでは、攻撃対象の敵のカードのHPをより多く低下させることができる。
・防御力
カードの防御力は、バトルにおいて敵のカードの攻撃に対する防御力を示すパラメータである。カードの防御力が大きいほど、バトルでは、敵の攻撃に対する自身のHPが低下し難くなる。
・攻撃範囲
カードの攻撃範囲は、カードの攻撃の射程距離を示すパラメータである。攻撃範囲の値が大きいほど、バトルにおいてより遠くの敵のカードに対して攻撃を加えることができる。
・攻撃頻度
カードの攻撃頻度は、カードが攻撃を加える頻度(つまり、一定時間毎の攻撃の回数)を示すパラメータである。攻撃頻度の値が大きいほど、より頻繁に攻撃を行うことを意味する。
・サイズ
カードのサイズは、後述するバトルフィールドにカードが配置されたときにカードが占めるセルの大きさを示す値である。図8を参照して後述するように、バトルにおいてカードは、セルによるマトリクスが形成されたバトルフィールドに配置されるが、カードのサイズのX,Yの値は、それぞれ行方向、列方向においてカードが占めるセルの数を示す。
・コスト
カードのコストは、そのカードをユーザが、バトルに使用するカード(以下、適宜「バトル使用カード」ともいう。)とするか否かについて検討するときに参照されるパラメータである。本実施形態のゲームでは、バトル使用カードのコストの総和が使用可能コスト以下に制限されるようにしてもよい。なお、攻撃力が大きいほどカードのコストを大きく設定してもよいが、それに限られない。
・画像
カードの画像は、ゲーム画像においてカード上に表示されるキャラクタの画像である。JPG形式はカードの画像ファイル形式の一例に過ぎず、他の画像ファイル形式が用いられてもよい。
(5)本実施形態のゲーム
以下、本実施形態のゲームについて、図8〜9,図10A〜10D,図11〜12,及び図13A〜13Cを参照しながら説明する。
(5−1)バトルフィールドとカードの配置
本実施形態のゲームでは、ゲーム空間内にバトルフィールドが設けられ、バトルフィールド上に、バトルを行う各ユーザのカード群が配置される。カード群によるバトルはバトルフィールド内で行われる。
本実施形態のゲームにおいてユーザ間のバトルは非同期で行われる。すなわち、ゲームにアクセスしているユーザが他のユーザとバトルを実行する場合には、バトル相手(他のユーザ)に対応付けられたカードのパラメータを使用して行われ、バトル相手はそのバトルに実時間で関与しない。以下の説明において、ユーザ間のバトルでは、ゲームにアクセスしてバトルの実行を開始したユーザを「実行ユーザ」という。一方、実行ユーザのバトル相手となるユーザを「敵ユーザ」という。
なお、敵ユーザは実際のユーザでなくてもよく、例えば仮想的な敵ユーザ(つまり、コンピュータ)であってもよい。
先ず図8を参照してバトルフィールドについて説明する。図8は、本実施形態のゲームのバトルフィールドBFの一例について説明するための図である。図8に示すように、バトルフィールドBFは、実行ユーザのカード群を配置するためのユーザ領域UAaと、敵ユーザのカード群を配置するためのユーザ領域UAbとを含む。図8の例では、ユーザ領域UAaは、3×6のセルCa(m,n)(m:1〜3の整数,n:1〜6の整数)によるマトリクスで形成されている。ユーザ領域UAbは、3×6のセルCb(m,n)(m:1〜3の整数,n:1〜6の整数)によるマトリクスで形成されている。ユーザ領域UAaとユーザ領域UAbの各カード群は、基準線L0を挟んで互いに対向するようにして配置される。なお、図8に示すように、上記mは基準線L0を基準としたときの行に相当し、上記nは、左端を基準としたときの列に相当する。実行ユーザのユーザ領域UAaと敵ユーザのユーザ領域UAbの第1行はそれぞれ、第1基準行と第2基準行の一例である。バトル中において、実行ユーザの各カードはユーザ領域UAa内を移動し、敵ユーザの各カードはユーザ領域UAb内を移動するが、互いに基準線L0を越えて移動することはない。
なお、図8において、各ユーザ領域UAa,BFbが3×6のセルのマトリクスで構成しているのは一例に過ぎず、任意の大きさのマトリクスで各領域を形成してよい。
ユーザ領域の大きさは、ユーザのゲームレベルに応じて変更してもよい。例えば、ゲームレベルの上昇とともにユーザ領域を広く設定してもよい。これにより、ユーザは、ゲームレベルが上昇するにつれてより多くのカードを自身のユーザ領域に配置できるようになるため、バトルに有利となる。
ユーザ間のバトルにおいて、両者のゲームレベルに基づいてバトルフィールド内のユーザ領域の大きさを調整してもよい。例えば、ゲームレベルが相対的に高いユーザが、ゲームレベルが相対的に低いユーザとバトルを行うときには、ユーザ領域をより小さくする。例えば図8において、実行ユーザのゲームレベルが敵ユーザのそれよりも大きいときには、基準線L0を紙面の下方向に移動させてもよい。これによって、ゲームレベルが相対的に高いユーザのカード群は、より少ない枚数のカードで敵ユーザのカード群と対向することになり、ゲームレベルが相対的に高いユーザが不利となる。つまり、ゲームレベルが高いユーザはより少ない枚数のカードしか配置できなくなる。そのため、ゲームレベルが異なるユーザ間のバトルにおいても、拮抗したバトルが期待できる。
図8は、一例としてバトルフィールドBFに配置されている各カードのサイズがすべて1×1である場合を示したが、この場合に限られない。例えば図9に示すように、異なるサイズのカードをバトルフィールドBF内に配置させることが可能である。図9は、本実施形態のゲームのバトルフィールド内のカードの配置の別の例を示す図である。図9では、1×1のサイズのカードに加えて、実行ユーザのユーザ領域UAa内に2×2のサイズのカードが2枚配置され、敵ユーザのユーザ領域UAb内に1×3のサイズのカードが2枚配置されている例が示されている。
(5−2)バトルの進行
図10A〜10Dは、本実施形態のゲームにおいてユーザ間のバトルが行われるときに通信端末10上に表示される一連のウェブページの例を示す図である。
以下では、実行ユーザが、ユーザ名が「KNM」であるユーザ(以下、ユーザKNM)である場合を例として説明する。
なお、以下の説明において、通信端末10に表示されるウェブページ上で表示されるメニュー、マーク等はウェブページ上で所望の位置に配置されるものであって、通信端末10で視認されるメニュー、マーク等の表示画面上の位置は、ユーザの方向指示釦あるいはタッチパネル操作によるウェブページのスクロール操作によって変化しうる。
図10AのウェブページP0は、本実施形態のゲームのトップページの一例であり、個々のユーザIDに応じて構成される。図10Aの例では、ユーザ画像表示領域101、ユーザデータ表示領域102、及びメニュー表示領域103を含む。
ユーザ画像表示領域101は、実行ユーザKNMのユーザデータに含まれるユーザ画像が表示される領域である。
ユーザデータ表示領域102は、実行ユーザKNMの「ゲームレベル」(図では単に「レベル」)及び「カード数」のデータが表示される領域である。なお、「カード数」は、ユーザの保有カードの総数である。図10Aに例示するように、「カード数」が「40/60」と表記されている場合、ユーザが保有するカードが40枚であり、最大で保有可能なカードの枚数が60枚であることを示す。最大で保有可能なカードの枚数は、ユーザのゲームレベルに応じて設定されてもよいし、特に設定されなくてもよい。
メニュー表示領域103は、本実施形態のゲームに設けられる基本メニューが表示される領域であり、図10AのウェブページP0ではメニューm1(「バトル」)が設けられている例を示している。図示しないが、バトル以外のゲームを実行するための他のメニューが設けられてもよい。
ウェブページP0上でメニューm1に対する操作入力があった場合、P1に示すようにウェブページが更新される。ウェブページP1には、実行ユーザがバトルフィールド内のユーザ領域UAaにバトルで使用するカード(以下、「バトル使用カード」という。)を配置するためのメニューとして、メニューm2(「自動で配置する」)及びメニューm3(「自分で配置する」)を含む。メニューm2(「自動で配置する」)は、ユーザの保有カードの中から自動的にバトル使用カードを選択して配置を行うためのメニューである。メニューm3(「自分で配置する」)は、ユーザ操作によってユーザの保有カードの中からバトル使用カードをユーザ自らが選択して配置を行うためのメニューである。
ウェブページP1においてメニューm3(「自分で配置する」)に対する操作入力があった場合、P2に示すようにウェブページが更新される。ウェブページP2には、ゲーム空間内のユーザ領域UAa内の各セルに対応する複数のセルからなるマトリクス201が表示される。マトリクス201内のいずれかのセルが選択操作することによって、ユーザKNMは、カードを配置したいユーザ領域UAa内のセルを指定することができる。つまり、マトリクス201に対するカード配置がゲーム空間上のユーザ領域UAaにおけるカード配置に反映される。ここでは、例えばマトリクス201内のセル201aが選択操作された場合が想定される。この場合、P3に示すようにウェブページが更新される。ウェブページP3は、ユーザKNMの保有カードの一覧を表示し、この一覧の中から、配置対象のいずれかのカードを選択できるように構成されている。ウェブページP3において例えばモンスターM3に対応するカードが選択された場合、P4に示すようにウェブページが更新される。ウェブページP4において、マトリクス201は、ウェブページP3上で選択されたカードがセル201a上に配置された状態で表示される。
このとき、ウェブページP4に示すように、配置済みのカードのコストの総和(「総コスト」という。)を表示するようにしてもよい。実行ユーザがユーザ領域UAaに配置させるカードの総コストが所定値以下に制限されている場合には、ユーザは、表示される総コストの値に注意を払いつつカードの配置処理を行うことができる。
図10Aに示すように、ウェブページP4には、メニューm4(「もっと配置する」),メニューm5(「配置済カードを変更する」),メニューm6(「配置済カードの取消」),及びメニューm7(「現在の配置でバトル」)が設けられてもよい。
メニューm4(「もっと配置する」)は、マトリクス201上の未配置のセルにカードを追加で配置するためのメニューである。メニューm5(「配置済カードを変更する」)は、既にマトリクス201上に配置済みのカードを別のカードに変更するためのメニューである。メニューm6(「配置済カードの取消」)は、既にマトリクス201上に配置済みのカードの配置を取り消すためのメニューである。メニューm7(「現在の配置でバトル」)は、カードの配置処理を完了させて次のステップに進むためのメニュー(つまり、配置終了指示を行うためのメニュー)である。
ウェブページP4において、メニューm4(「もっと配置する」)に対する操作入力があった場合、P2と同様にウェブページが更新される。この例では、既にセル201aにカードが配置済みであるため、セル201a以外のセルが選択可能な状態となる。P2→P3→P4→P2→…のウェブページの更新を繰り返すことによって、ユーザはマトリクス201内にカードを順次配置させていくことができる。
ウェブページP4において、マトリクス201に配置済みのいずれかのカードを選択した状態でメニューm5(「配置済カードを変更する」)に対する操作入力があった場合、P3と同様にウェブページが更新される。これによって、選択された配置済みのカードと取り替える別のカードを選択することができる。
ウェブページP4において、マトリクス201に配置済みのいずれかのカードを選択した状態でメニューm6(「配置済カードの取消」)に対する操作入力があった場合、選択されたカードがマトリクス201から削除される。
ウェブページP4において、メニューm7(「現在の配置でバトル」)に対する操作入力があった場合、カード配置処理が終了し、図10BのP5に示すようにウェブページが更新される。
図10BのウェブページP5では、バトル相手となる他のユーザの一覧が表示される。この一覧の中からいずれかのユーザがバトル相手(つまり、敵ユーザ)として選択されると、P6に示すようにウェブページが更新される。この例では、ユーザKNMとユーザABCの間でバトルが行われる例が示されている。ウェブページP6において、メニューm10(「バトル開始」)に対する操作入力があった場合、ユーザKNMとユーザABCの間でバトルが開始される。
図10C及び図10Dは、バトルの開始時点の表示状態を例示するP7、バトル中の表示状態を例示するP8及びP9、バトルの終了時点の表示状態を例示するP10のウェブページを示す。バトルの開始から終了までのウェブページは、アニメーションによって再生されるものであってもよい。ウェブページP7に示すように、例えば、バトルが実行されるときには、ゲーム空間においてバトルフィールドBFを斜め上方の視点から見た画像が表示される。ウェブページP7に示す画像では、図8に示したように各セルに1×1のサイズのカードが配置された場合の例が示される。この画像の例では、バトルフィールドBF内の各セルに配置されたカードがセル上に直立して表示され、ユーザに各カードのキャラクタが認識しやすいようになっている。なお、図10C及び図10Dでは、各カード上に表示されるキャラクタの記載を省略している。
ウェブページP8に示すように、バトル中には、実行ユーザ及び敵ユーザの各カードによる攻撃が行われていることが実行ユーザに認識できるように、攻撃を行うカードから攻撃対象のカードに向けて、例えばビームが照射される、あるいは飛来物が放出される等の攻撃態様が表示されることが好ましい。バトル中に攻撃を受けたカードのHPがゼロになると、そのカードはバトルフィールドから消失する。ウェブページP9は、ウェブページP8が表示された時点よりもさらに時間が経過した状態を示しており、ウェブページP8よりもバトルフィールド上のカード数が少なくなっている。
ウェブページP10に示すように、例えば、実行ユーザ又は敵ユーザのいずれか一方のすべてのカードが消失した場合にバトルが終了する。ウェブページP10の例では、実行ユーザの2枚のカードが残留し、敵ユーザのすべてのカードが消失したため、実行ユーザの勝利となる。なお、必ずしも一方のユーザのすべてのカードが消失したことをもって勝敗を決する場合に限られず、所定のバトル時間の後にバトルフィールド内に残留しているカードの枚数が多いユーザの勝利としてもよい。
(5−3)バトル中のカードの移動方法
前述したようにバトル中において各カードはバトルフィールド内を移動するが、このカードの移動は所定の規則に従った移動方法を基に行われる。以下では、カードの移動方法について、図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において、カードが配置されている最も左のセルの列と、カードが配置されている最も右のセルの列との間の中央位置の列を意味する。列間の中央位置がセル間の中央になる場合には、その中央位置の左側の列を敵カード中央位置とする。なお、列間の中央位置がセル間の中央になる場合には、その中央位置の右側の列を敵カード中央位置としてもよい。
[横移動ステップM1]
本実施形態のバトルの一例において、カードの横移動を行うときには先ず、敵ユーザのカード群から行われる。敵ユーザのカード群のうち全カード中央位置上の第1行のカード、及び全カード中央位置よりも右側にある第1行のカードをすべて、左側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
[横移動ステップM2]
次に、敵ユーザのカードのうち全カード中央位置よりも左側にある第1行のカードをすべて、右側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
[横移動ステップM3]
敵ユーザのカードの横移動が完了すると次に、実行ユーザのカード群の横移動が行われる。実行ユーザのカード群のうち敵カード中央位置上の第1行のカード、及び敵カード中央位置よりも左側にある第1行のカードをすべて、右側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
[横移動ステップM4]
次に、実行ユーザのカードのうち敵カード中央位置よりも右側にある第1行のカードを、左側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
本実施形態のゲームでは、実行ユーザのカード群による攻撃と、敵ユーザのカード群による攻撃が交互に行われ、攻撃が行われる度に、以上のステップM1〜M4のカードの横移動処理が逐次行われる。バトル中にカードが攻撃を受けて順次消失していくため、全カード中央位置及び敵カード中央位置は、その都度変化していくことになる。
なお、上述したように、カードが配置されている最も左のセルの列と、カードが配置されている最も右のセルの列との間の中央位置がセル間の中央になる場合に、その中央位置を基準としたときの全カード中央位置及び敵カード中央位置の決定方法を互いに逆にする(つまり、中央位置を挟んで一方を左側の列、他方を右側の列にする)ことで、全カード中央位置上の敵ユーザのカードと敵ユーザ中央位置上の実行ユーザのカードとが互いに逆方向に交差するように移動する。そのため、上述した横移動において実行ユーザと敵ユーザのカード群がバトル中に対向しやすくなる。
次いで、カードの横移動の具体例について、図12を参照して説明する。ここでは、ステップS4に示すカードの配置状態を想定する。この配置状態の例では、全カード中央位置CL_allは第4列である。そこで、上記ステップM1で述べたように、第4〜6列にある敵ユーザの第1行のカードをすべて、当該カードの後方にあるカードと共に、左側のセルへ横移動させる(ステップS5)。図12のステップS5では、3枚のカードの移動方向を矢印によって示してある。全カード中央位置CL_allよりも左側にあるセルCb(1,3)上のカードは右側に移動させることができないため、この例では上記ステップM2は実質的に行われない。ステップS5の配置状態(3枚のカードの移動後の状態)では、敵カード中央位置CL_oppは第4列である。そこで次に、上記ステップM3で述べたように、第1〜4列にある実行ユーザの第1行のカードをすべて、当該カードの後方にあるカードと共に、右側のセルへ横移動させる(ステップS6)。図12のステップS5では、3枚のカードの移動方向を矢印によって示してある。敵カード中央位置CL_oppよりも右側にある実行ユーザのカードは存在しないため、この例では上記ステップM4は実質的に行われない。
上述したように、実行ユーザ及び敵ユーザの各カード群では、第1行のカードが消失する度に順次後方のカードが前方移動し、それによって同一の列のカードが隙間を空けずに前方へシフトしていく。また、実行ユーザ及び敵ユーザの各カード群では、いずれかの列のすべてのカードが消失すると、その列の隙間を埋めるようにしてその列に隣接する列に配置されているカードが横方向に移動する。このような前方移動及び横移動によって、バトル中において実行ユーザ及び敵ユーザの各カード群は、カード同士が隣接するようにして、バトルフィールド内を移動することになる。つまり、各ユーザのカード群がバトル中に一体的な移動動作を行うため、実行ユーザがバトルの臨場感を感じることができる。
(5−4)バトルのカードの移動例
次に、本実施形態のゲームにおいて、バトルの開始からバトルの終了までの実行ユーザ及び敵ユーザの各カードの移動態様の具体例について、図13A〜13Cを参照して説明する。図13A〜13Cは、バトルの開始から終了までのカードの移動態様を説明するために、ゲーム空間を平面視で見たときのバトルフィールドの各セル上のカード配置を示す図である。各図では、カードの移動が矢印によって示される。
本実施形態のバトルは、例えば、上述したように実行ユーザ及び敵ユーザのカード群の攻撃が順番で行われる。各ユーザの攻撃が行われた後に逐次、カードの前方移動、及びカードの横移動が順に行われる。
図13A〜13Cに示すバトルでは、図13AのステップS10に示すように、実行ユーザのユーザ領域UAaと敵ユーザのユーザ領域UAbはそれぞれ、2×6のセルによって構成され、各カードのサイズがすべて1×1である例(つまり、各ユーザのバトル使用カードが12枚である例)が示されている。
本実施形態のバトルでは、各ユーザの攻撃が交互に行われて各攻撃の後に、前方移動、及び横移動の各処理が行われる。バトルの初期では、バトルの開始時点で第1行に配置されている各ユーザのカードが攻撃を受けて消失していくため、例えばステップS11に示すように、カードの前方移動が主体的に行われる。ステップS11では、5枚のカードが第2行から第1行のセルへ移動した場合が示されている。
バトルが進行し、ステップS12に示すように各ユーザの領域のいずれかの列にカードが存在しない場合が発生すると、横移動が行われる。ステップS12では、実行ユーザのユーザ領域UAaの第5列と、敵ユーザのユーザ領域UAbの第2列とにカードが存在しない。ステップS12の例では、全カード中央位置CL_allは第4列であるため、第1〜3列にある敵ユーザの2枚のカード(セルCb(1,1),Cb(1,2)上のカード)を右側のセルに移動させる。なお、ステップS12では、第4〜6列にある敵ユーザのカードを左側に移動させることはできない。
敵ユーザの2枚のカードが右側のセルに移動した後の敵カード中央位置CL_oppは、ステップS13に示すように第4列である。そこでステップS13では、第5〜6列にある実行ユーザの2枚のカード(セルCa(1,6),Ca(2,6)上のカード)を左側のセルに移動させる。なお、ステップS13では、第1〜4列にある実行ユーザのカードを右側に移動させることはできない。
ステップS13からバトルが進行した結果、第1行のカードが消失してカードの前方移動が行われ、ステップS14のカードの配置状態になった場合を想定する。ステップS14の例では、全カード中央位置CL_allは第4列である。そのため、ステップS15では、第4〜6列にある敵ユーザの1枚のカード(セルCb(1,6)上のカード)を左側のセルに移動させる。なお、ステップS15では、第2〜3列にある敵ユーザのカードを右側に移動させることはできない。
敵ユーザの1枚のカードが左側のセルに移動した後の敵カード中央位置CL_oppは、ステップS15に示すように第3列となる。そこでステップS15では、ステップS14において第1〜3列にあった実行ユーザの3枚のカード(セルCa(1,1),Ca(1,2),Ca(2,2)上のカード)を右側のセルに移動させる。なお、その後に第4〜5列にある実行ユーザのカードを左側に移動させることはできない。
ステップS15からバトルが進行した結果、第1行のカードが消失してカードの前方移動が行われ、ステップS16のカードの配置状態になった場合を想定する。ステップS16の例では、全カード中央位置CL_allは第4列である。そのため、ステップS17では、ステップS16において第4〜6列にあった敵ユーザの1枚のカード(セルCb(1,5)上のカード)を左側のセルに移動させる。なお、その後に第2〜3列にある敵ユーザのカードを右側に移動させることはできない。
敵ユーザの1枚のカードが左側のセルに移動した後の敵カード中央位置CL_oppは、ステップS17に示すように第3列となる。この場合、実行ユーザのいずれのカードも移動させることができない。
ステップS17からバトルが進行した結果、実行ユーザのセルCa(1,4)上のカードと敵ユーザのセルCb(1,3)上のカードが消失して、ステップS18のカードの配置状態になった場合を想定する。ステップS18の例では、全カード中央位置CL_allは第4列である。そのため、ステップS19では、ステップS18において第4列にあった敵ユーザの1枚のカード(セルCb(1,4)上のカード)を左側のセルに移動させる。なお、ステップS19では、その後に第2列にある敵ユーザのカードを右側に移動させることはできない。
敵ユーザの1枚のカードが左側のセルに移動した後の敵カード中央位置CL_oppは、ステップS19に示すように第2列となる。この場合、ステップS19では、ステップS18において第2〜6列にあった実行ユーザの2枚のカード(セルCa(1,3),Ca(1,5)上のカード)を左側のセルに移動させる。
ステップS19における3枚のカードの移動後の攻撃でいずれのカードも消失されなかった場合を想定する。その場合、全カード中央位置CL_allは第3列である。このとき、ステップS20に示すように、第3列にある敵ユーザのカードは左側へ移動させることができず、第2列にある敵ユーザのカードは右側へ移動させることができない。一方、敵カード中央位置CL_oppは第2列であるため、ステップS20に示すように、ステップS19において第4列にあった実行ユーザの1枚のカード(セルCa(1,4)上のカード)を左側のセルに移動させる。
ステップS21では、ステップS20において敵ユーザの領域の第1行にあった2枚のカードが消失した場合が想定される。この場合、敵ユーザのカードがすべて消失したことになるため、実行ユーザの勝利となる。
図13A〜13Cのバトルの例で示したように、本実施形態のバトルでは、バトル中の実行ユーザ及び敵ユーザの各カード群を、カード同士が隣接するようにしてバトルフィールド内を移動させる。また、実行ユーザ及び敵ユーザの各カード群の横移動では、先ず敵ユーザのカード群を全カード中央位置に向けて横移動させ、その後に実行ユーザのカード群を敵カード中央位置に向けて横移動させる。そのため、各ユーザの攻撃ターンごとに、実行ユーザ及び敵ユーザのカード群同士が対向するようにしてカード位置が調整されるようになる。そのため、バトル開始からバトル終了まで常に各ユーザのカード群が対峙する形となり、実行ユーザから見てバトルの臨場感がより感じられるとともに、各カードによる攻撃の方向が主としてそのカードの前方に設定されている場合には、そのカードに対向して配置されている相手のカードに効果的に攻撃を加えられるため、バトルの勝敗が迅速に決するようになるという利点もある。
(6)ゲーム制御装置が備える機能の概要
次に、上述した本実施形態のゲームを実現するためゲーム制御装置が備える機能について説明する。
本実施形態では、ゲームサーバ20及びデータベースサーバ30によってゲーム制御装置が構成されている。以下では、上述した実施形態のゲームが適用される場合を例として、本実施形態のゲーム制御装置で実現される機能について、図14を参照して説明する。図14は、本実施形態のゲーム制御装置で主要な役割を果たす機能を説明するための機能ブロック図である。
対応付け手段51は、それぞれパラメータが関連付けられている複数のカード(オブジェクト)からなるカード群(オブジェクト群)を、バトル使用カードとしてユーザに対応付ける機能を備える。本実施形態では、対応付け手段51はさらに、ユーザのバトル使用カードの各々をバトルフィールド上のユーザ領域に配置する機能をも備える。
対応付け手段51の機能は、図15を参照すると、例えば以下のようにして実現できる。図15は、バトル使用カードデータのデータ構成の一例を示す図である。バトル使用カードデータは、各バトル使用カードに対応付けて、そのバトルフィールド上の初期位置、バトル中の現在位置、及び残HP(「HPの残量」を示す。)の各データを含み、いずれかのバトル使用カードの現在位置が変化するか、又はいずれかのバトル使用カードが消失する度に作成される。なお、バトル中に各カードの残HPを表示させる場合には、残HPが変化する度にバトル使用カードデータを作成してもよい。
バトル使用カードデータの中の各カードの初期位置のデータは、いったん決定された後はバトル中において変更されない。特定のバトルに対して作成される一連のバトル使用カードは、そのバトルの開始から終了までの再生ファイルを作成するための基礎データとなる。作成されたバトル使用カードデータは、ゲームサーバ20のRAM23に記憶される。
ゲームサーバ20のCPU21は、実行ユーザの操作入力を含むHTTPリクエストを通信インタフェース部25を介して取得すると、その操作入力に応じた処理を行い、処理結果を含むHTMLデータを生成してユーザの通信端末10へ送信する。それによって、ユーザの通信端末10にウェブページが表示され、あるいは通信端末10に表示されているウェブページが更新される。
(I-1) カードの新規配置
CPU21は、実行ユーザの入力情報がカードの新規配置についての情報である場合、入力情報に基づいてバトル使用カードデータの中の初期配置の欄にデータを書き込む。この入力情報には、実行ユーザの保有カードのうち新たにバトル使用カードとするカード、及びそのカードを配置するセルの選択結果が含まれる。CPU21は、入力情報を取得するとバトル使用カードデータを参照して、実行ユーザに選択されたカードが、選択されたセルに配置可能か否か判断する。CPU21は、選択されたセルにカードを配置可能である場合、そのカードのカードIDと初期位置の欄にデータを書き込む。
カードの新規配置に関する実行ユーザの入力は、例えば、ウェブページP1のメニューm3(「自分で配置する」)に対する操作入力、又はウェブページP4のメニューm4(「もっと配置する」)に対する操作入力に相当する。
(I-2) カード配置の変更
CPU21は、実行ユーザの入力情報がカード配置の変更についての情報である場合、入力情報に基づいてバトル使用カードデータを更新する。この入力情報には、実行ユーザの配置済みのバトル使用カード、及びそのカードに代わる新たな保有カードの選択結果が含まれる。CPU21は、入力情報を取得するとバトル使用カードデータを参照して、実行ユーザに新たに選択されたカードが、配置済みのバトル使用カードに代えて配置可能か否か判断する。CPU21は、配置可能である場合、既に配置済みのカードのカードIDに代えて、新たに選択された実行ユーザの保有カードのカードIDを書き込む。
カード配置の変更に関する実行ユーザの入力は、例えば、ウェブページP4において、マトリクス201に配置済みのいずれかのカードを選択した状態でのメニューm5(「配置済カードを変更する」)に対する操作入力に相当する。
(I-3) カード配置の取消
CPU21は、実行ユーザの入力情報がカード配置の取消についての情報である場合、入力情報に基づいてバトル使用カードデータを更新する。この入力情報には、配置の取消対象となる実行ユーザのバトル使用カードの情報が含まれる。CPU21は、配置の取消対象となる実行ユーザのバトル使用カードを取得すると、そのバトル使用カードをバトル使用カードデータから消去する。
カード配置の取消に関する実行ユーザの入力は、例えば、ウェブページP4上でマトリクス201に配置済みのいずれかのカードに対する選択入力とメニューm6(「配置済カードの取消」)に対する操作入力に相当する。
(I-4) カードの自動配置
CPU21は、ウェブページP1のメニューm2(「自動で配置する」)に対する操作入力を取得すると、実行ユーザの保有カードの中からバトル使用カードを選択してバトル使用カードデータに書き込む。バトル使用カードの選択方法、及びバトル使用カードの配置方法として、例えば以下の方法を採ることができる。CPU21は、カードデータベースを参照して、実行ユーザの保有カードの中から攻撃力と防御力の和が大きい順、及びマトリクス内のセルの所定の配置順で、カードを順次配置していくようにする(つまり、バトル使用カードデータのカードIDと初期位置の欄にデータを書き込む)。あるいはCPU21は、カードデータベースを参照して、1×1の小サイズのカードのうち攻撃力と防御力の和が大きい順にマトリクスの第1行に配置し、比較的大きいサイズ(例えば、2×2等)のカードのうち攻撃力と防御力の和が大きい順に第2行以降のセルに配置する、というようにしてもよい。
バトル進行手段52は、実行ユーザと敵ユーザの間のバトルを進行させる機能を備える。
本実施形態のバトル進行方法の例では、実行ユーザと敵ユーザとの間で交互に攻撃が行われる。各ユーザの攻撃ターンでは、各バトル使用カードは、カードデータベース(図7)の攻撃頻度の値に基づくタイミングで、相手のユーザのカードに対して攻撃を行う。そのため、1回の攻撃ターンにおいて、各ユーザのカード群のうち攻撃を行うカードと攻撃を行わないカードがある。カードが攻撃を行う場合にその攻撃対象となる相手のカードは、カードデータベースの射程距離の値に基づいて決定される。カードの攻撃方向は任意に設定することができるが、好ましくはそのカードが攻撃時点で配置されているセルを基準として前方、又は前方に近い方向に設定される。例えば、カードの攻撃は、そのカードが配置されているセルと同一の列にあるバトル相手のカード、又は当該列に隣接する列にあるバトル相手のカードを対象として行われる。
なお、図7では、カード毎に攻撃頻度が設定されている例を示したが、攻撃頻度は全カードで同じ値としてもよい。例えば、各ユーザの攻撃ターンですべてのカードが攻撃を行うように設定してもよい。
カードの攻撃方向について上述したが、攻撃を行うカードから攻撃対象のカードまでの距離は、次の観点から設定してもよい。すなわち、一方のユーザのカードが攻撃を行う場合に、相手のカードのうち、カードデータベースの射程距離の範囲内であって、より前方にあるカード(例えば第1行のカード等の、攻撃するカードにより近いカード)を優先的に攻撃対象としてもよい。この場合、その攻撃対象のカードが消失した場合に、そのカードより後方にあるカードの前方移動を促すことになるため、カード全体を前方に進める動きが促進され、バトルがよりダイナミックになる。
また、カードの攻撃方向や攻撃対象のカードの行の優先度を、実行ユーザが指定できるようにしてもよい。
本実施形態のバトル進行手段52の機能の実現例では、実行ユーザと敵ユーザの間のバトルの開始の指示がなされた後は、実行ユーザによる操作は必要なく、ゲームサーバ20のCPU21によって作成された再生ファイルが実行ユーザの通信端末10で再生される。再生ファイルのファイル形式は問わないが、例えばSWF形式である。
CPU21は、実行ユーザによるバトル開始の指示を受けると(例えば、図10Bのメニューm10の選択結果を含むHTTPリクエストを取得すると)、実行ユーザ及び敵ユーザの各バトル使用カードの攻撃処理、HP更新処理、及び移動処理等を実行することで、前述したように、バトルの開始から終了までの再生ファイルの基礎となる一連のバトル使用カードデータを作成する。CPU21は、作成した一連のバトル使用カードデータを基に再生ファイルを作成すると、その再生ファイルを含むHTMLデータを生成して実行ユーザの通信端末10へ送信する。
通信端末10のCPU11は、ゲームサーバ20からHTMLデータを取得すると、ウェブブラウザによって上記再生用ファイルを実行し、バトルを表示部16に表示させる。
ゲームサーバ20のCPU21は、実行ユーザのカード配置が完了すると、実行ユーザと敵ユーザの各バトル使用カードのカードデータベース上のデータをRAM23にロードした後に、実行ユーザの攻撃ターン、及び敵ユーザの攻撃ターンにおける攻撃処理を、以下のようにして行う。
CPU21は、実行ユーザの攻撃ターンにおいて、実行ユーザの攻撃処理を実行する。実行ユーザの攻撃処理では、実行ユーザの各カードについて、攻撃タイミングに達したか否かが判断される。カードの攻撃タイミングに達していないと判断した場合には、CPU21はそのカードによる攻撃処理を行わない。カードの攻撃タイミングに達したと判断した場合には、CPU21はそのカードによる攻撃処理を行う。
カードによる攻撃処理では、CPU21は、そのカードの攻撃対象となる敵ユーザのカードを決定する。攻撃対象となる敵ユーザのカードは、攻撃を行うカードが配置されているセルを基準として、そのカードの射程距離の範囲内にあるすべてのカードとしてもよい。その場合、CPU21は、敵ユーザのバトル使用カードデータを参照して、基準としたセルからみて射程距離の範囲内の現在位置の敵ユーザのカードを特定する。CPU21は、特定した敵ユーザのカードのすべてを攻撃対象としてもよいし、特定した敵ユーザのカードの中から所定の条件に沿って、または、無作為に一部のカードを選択し、選択したカードを攻撃対象として決定してもよい。好ましくは、CPU21は、攻撃を行うカードが配置されているセルの列と、当該列に隣接する列とに配置されている敵ユーザのカードのうち、基準としたセルからみて射程距離の範囲内の現在位置の敵ユーザのカードを特定する。
敵ユーザの攻撃ターンにおける敵ユーザの攻撃処理は、上述した実行ユーザの攻撃処理と同様であるため、重複説明を省略する。
変更手段53は、実行ユーザ(第1ユーザ)と敵ユーザ(第2ユーザ)の間のバトルにおいて、いずれかのユーザのバトル使用カード(オブジェクト)に基づいて、敵ユーザのカード群のうち少なくともいずれかのカードのHPを変更する機能を備える。本実施形態において、カードのHPはオブジェクトに関連付けられたパラメータの一例である。
変更手段53の機能は、以下のようにして実現することができる。ゲームサーバ20のCPU21は、実行ユーザの攻撃ターンにおいて、実行ユーザの各カードの攻撃対象となる敵ユーザのカードを特定すると、特定したカードのHPを低下させる処理を行う。攻撃を受けた敵ユーザのカードのHPの低下量ΔHPは、そのカードの防御力と攻撃を行ったカードの攻撃力とに基づいて、例えば以下のようにして決定される。
ΔHP=Pa×k
Pa:攻撃を行ったカードの攻撃力
k:攻撃を受けた敵ユーザのカードの防御力に応じて決定される係数
なお、敵ユーザのカードの防御力の値が大きい程、係数kが小さい値に設定される。係数kは、例えば0.6〜1.0の範囲の値である。
CPU21は、バトル使用カードデータを作成する時点で各カードの残HPを算出する。
なお、上述したHPの低下量の算出方法は一例に過ぎず、攻撃を行ったカードの攻撃力と攻撃を受けたカードの防御力とに基づいて如何なる方法を採ってもよい。例えば、上記ΔHPは、攻撃を行ったカードの攻撃力と防御力の和としてもよい。
実行ユーザの攻撃ターンの場合について説明したが、敵ユーザの攻撃ターンの場合も同様にして攻撃処理を実行することができる。
消失手段54は、カードの残HPが所定の消失条件を満足した場合に、当該カードをバトルフィールドから消失させる機能を備える。本実施形態では、「所定の消失条件」は、カードの残HPがゼロになることである。
消失手段54の機能は、以下のようにして実現することができる。ゲームサーバ20のCPU21は、実行ユーザの通信端末10から取得したHTTPリクエストに基づいてバトルの開始から終了までの間の一連のバトル使用カードデータを作成すると、作成した一連のバトル使用カードデータに基づいて再生ファイルを作成する。このときCPU21は、カードの残HPがゼロになると(つまり、消失条件を満足した場合)、カードの現在位置のデータが無効化するようにしてバトル使用カードデータを作成する。これにより、カードの残HPがゼロになった時点から再生ファイルで再生したときにそのカードが消失するようになる。CPU21は、作成した再生ファイルを含むHTMLデータを実行ユーザの通信端末10へ送信する。
移動手段55は、実行ユーザと敵ユーザとのバトルにおいて、各ユーザに含まれるカード同士が隣接するように、各ユーザのカード群をバトルフィールド内で移動させる機能を備える。
本実施形態では、移動手段55によるカードの移動では、消失手段54によってバトル中にカードが消失した場合に、消失していない実行ユーザ及び敵ユーザの各々のカード群が、カード同士が隣接するようにしてバトルフィールド内を移動する。その移動態様は限定されるものではないが、本実施形態では一例として、カード同士が隣接するようにしてカード群が移動するようにして、前方移動及び横移動が行われる。このとき、好ましくは、前方移動が横移動に優先して行われる。
以下、(II-1) 前方移動処理、及び、(II-2) 横移動処理について順に説明する。
(II-1) 前方移動処理
CPU21は、実行ユーザ及び敵ユーザのカード群の中で第1行にあるカードが消失したと判断した場合には、そのカードと同一の列にある後方のカードを前方移動させるように、バトル使用カードデータを作成する。つまりCPU21は、前方移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。
(II-2) 横移動処理
[敵ユーザのカードの横移動処理]
CPU21は、フィールド全体のカード群の中央位置を示すマトリクス上の列である全カード中央位置(CL_all)を決定する。ここで、全カード中央位置は、バトルフィールドにおいて、カードが配置されている最も左のセルの列と、カードが配置されている最も右のセルの列との間の中央位置の列である。列間の中央位置がセル間の中央になる場合には、その中央位置の右側の列が全カード中央位置となる。
CPU21は、全カード中央位置を決定すると、敵ユーザのカード群の各カードの処理順序を決定する。この処理順序は以下の(a-1)〜(a-4)の優先順となる。
(a-1) 第1行において、全カード中央位置を基準に左から右に配置されているカードの順
(a-2) 第1行以外の各行において、全カード中央位置を基準に左から右に配置されているカードの順
(a-3) 第1行において、全カード中央位置よりも左側にあるカードについて、右から左に配置されているカードの順
(a-4) 第1行以外の各行において、全カード中央位置よりも左側にあるカードについて、右から左に配置されているカードの順
CPU21は、(a-1)に示したカードの順で左側のセルに横移動させるようにしてバトル使用カードデータを作成する。つまりCPU21は、横移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。このとき、移動先のセルに他のカードが存在する場合には移動させない。
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-1) 第1行において、敵カード中央位置を基準に右から左に配置されているカードの順
(b-2) 第1行以外の各行において、敵カード中央位置を基準に右から左に配置されているカードの順
(b-3) 第1行において、敵カード中央位置よりも右側にあるカードについて、左から右に配置されているカードの順
(b-4) 第1行以外の各行において、敵カード中央位置よりも右側にあるカードについて、左から右に配置されているカードの順
CPU21は、(b-1)に示したカードの順で、右側のセルに横移動させるようにしてバトル使用カードデータを作成する。つまりCPU21は、横移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。このとき、移動先のセルに他のカードが存在する場合には移動させない。
CPU21は、(b-2)に示したカードの順で各カードの横移動処理を実行するに当たっては、同一の列にある(b-1)に示したカードの順での各カードの移動結果と連動させて移動させるようにしてバトル使用カードデータを作成する。つまりCPU21は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。
CPU21は、(b-3)に示したカードの順で、左側のセルに横移動させるようにしてバトル使用カードデータを作成する。つまりCPU21は、横移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。このとき、移動先のセルに他のカードが存在する場合には移動させない。
CPU21は、(b-4)に示したカードの順で各カードの横移動処理を実行するに当たっては、同一の列にある(b-3)に示したカードの順での各カードの移動結果と連動させて移動させるようにしてバトル使用カードデータを作成する。つまりCPU21は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。
(7)本実施形態のバトル処理のフロー
次に、本実施形態のバトル処理のフローの一例について、図16〜21のフローチャートを参照して説明する。図16は、本実施形態のバトルゲームの全体処理の一例を示すフローチャートである。図17は、カード配置処理の一例を示すフローチャートである。図18は、攻撃処理の一例を示すフローチャートである。図19は、カードの前方移動処理の一例を示すフローチャートである。図20は、敵ユーザのカードの横移動処理の一例を示すフローチャートである。図21は、実行ユーザのカードの横移動処理の一例を示すフローチャートである。
(7−1)バトルゲームの全体処理(図16)
図16において、ゲームサーバ20のCPU21は、実行ユーザによるバトル開始の指示を受けた場合(ステップS30:YES)、ステップS32以降の処理を行い、バトル開始の指示を受けていない場合には(ステップS30:NO)、終了する。なお、CPU21は、バトル開始の指示を、例えば図10Bのメニューm10の選択結果を含むHTTPリクエストを取得したことにより認識する。
CPU21は、実行ユーザ及び敵ユーザのカード配置処理(ステップS32;図17)を実行した後、ステップS34へ進む。本実施形態のバトルゲームでは、実行ユーザと敵ユーザのカードによる攻撃が交互に行うことによる攻撃処理が実行される。そこでCPU21は、実行ユーザの攻撃ターンであると判断した場合には(ステップS34:YES)、実行ユーザの攻撃処理を行う(ステップS36;図18)。CPU21は、敵ユーザの攻撃ターンであると判断した場合には(ステップS34:NO)、敵ユーザの攻撃処理を行う(ステップS38;図18)。
CPU21は、実行ユーザ又は敵ユーザのいずれかの攻撃処理を行った後に、敵ユーザと実行ユーザのカードの移動処理を行う。つまりCPU21は、敵ユーザのカードの前方移動処理(ステップS40;図19)、実行ユーザのカードの前方移動処理(ステップS42;図19)、敵ユーザのカードの横移動処理(ステップS44;図20)、実行ユーザのカードの横移動処理(ステップS46;図21)を順次実行する。これらの処理については、図19〜21を参照して後述する。
CPU21は、ステップS40〜S46の処理の後、実行ユーザ又は敵ユーザのカードがすべて消失した(つまり、すべてのカードの残HPの値がゼロになった)と判断した場合(ステップS48:YES)、バトル終了処理(ステップS50)を行った後に終了する。バトル終了処理には、CPU21が作成した一連のバトル使用カードデータに基づく再生ファイルの作成、その再生ファイルを含むHTMLデータの作成、及び、実行ユーザの通信端末10へのHTMLデータの送信等を含む。
CPU21は、ステップS40〜S46の処理の後、実行ユーザ又は敵ユーザのカードがすべて消失していないと判断した場合(ステップS48:NO)、ステップS34に戻ってバトルの処理を継続する。
なお、図16のフローチャートでは、実行ユーザの攻撃処理(ステップS36)と敵ユーザの攻撃処理(ステップS38)が交互に行われ、各攻撃処理の後にカードの移動処理が行われる場合について例示しているが、この場合に限られない。ステップS36とステップS38を続けて実行し、その後にカードの移動処理を実行するようにしてもよい。
また、図16のフローチャートでは、実行ユーザによるバトル開始の指示を受けた後に(ステップS30:YES)、カード配置処理を実行する場合を例示しているが、この場合に限られない。カード配置処理はバトルの処理とは無関係に実行できるようにしてもよい。例えば、図10AのウェブページP0のメニュー表示領域103内にユーザがバトル使用カードを予め編集して登録するためのメニューを設け、バトル開始の指示を認識した時点で、登録されたバトル使用カードデータを読み出すことによって、バトルを実行するようにしてもよい。
(7−2)カード配置処理(図17)
カード配置処理では先ず、実行ユーザによって選択されたメニューが判定される(ステップ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が表示される。
なお、図17のステップS100には、メニューm2(「自動で配置する」)の選択肢を図示していないが、メニューm2が選択された場合には、CPU21は、所定の基準を基にユーザの保有カードからマトリクス201にカードを配置するとともに、カードのカードIDと初期位置の欄にデータを書き込むことで、バトル使用カードデータを更新する(ステップS112)。
ウェブページP3においていずれかの保有カードの選択結果を含むHTTPリクエストを取得すると(ステップS106:YES)、CPU21は、選択されたカードがマトリクス201に配置可能であるか否かを判断する(ステップS108)。
ステップS108の判断は、以下に述べるように様々な観点から行われてもよい。
ステップS108では、選択されたセルにカードが配置されておらず、かつステップS106で選択されたカードをマトリクス201上に配置できる領域が存在しない(つまり、十分な空き領域がない)場合には、CPU21はそのカードを配置できないと判断する。例えば、選択されたセルを基準としたマトリクス上の空き領域として1×2の領域が存在するに過ぎない場合に、選択されたカードのサイズが当該空き領域より大きい領域を必要とするサイズ2×2である場合には、そのカードを配置できないと判断される。
ステップS108において、CPU21は、選択されたセルが配置されたときのカードのコストの総和(総コスト)が所定値以下であるか否かに基づいて、選択されたカードが配置可能であるか否かを判断してもよい。その場合、総コストが所定値以下である場合には選択されたカードが配置可能であると判断され、総コストが所定値より大きい場合には選択されたカードが配置できないと判断される。
選択されたカードを配置できないと判断した場合には(ステップS108:NO)、CPU21は、ステップS106で選択されたカードの配置を許可せず、選択されたカードが配置できないことを示すテキストを含むHTMLデータをユーザの通信端末10へ送信する。つまり、選択されたカードが配置できないことが通知されて(ステップS110)、再度のカード選択処理(つまり、ステップS106)へ戻る。一方、選択されたカードを配置できると判断した場合には(ステップS108:YES)、CPU21は、ステップS106で選択されたカードのカードIDと初期位置の欄にデータを書き込むことで、バトル使用カードデータを更新する(ステップS112)。
次いでCPU21は、カードの配置終了指示がなされたか否か、つまりメニューm7(「現在の配置でバトル」)の選択結果を含むHTTPリクエストを取得したか否かを判定する(ステップS114)。カードの配置終了指示がなされた場合には(ステップS114:YES)、図16のフローに戻る。カードの配置終了指示がなされない場合には(ステップS114:NO)、つまり例えばウェブページP4(図10A)でメニューm4〜m6のいずれかのメニューの選択結果を含むHTTPリクエストを取得した場合には、CPU21は、ステップS100に戻って選択されたメニューの処理を実行する。
なお、ユーザのカードの総コストを制限するためのステップS108の処理は必須ではない。つまり、ステップS106でカードの選択がなされた場合には、その選択されたカードを基にステップS112のバトル使用カードデータの更新処理を実行してもよい。
CPU21は、ウェブページP4においてメニューm5(「配置済カードを変更する」;図10A参照)の選択結果を含むHTTPリクエストを取得すると(ステップS100:m5)、マトリクス201上にカードが配置済みのいずれかのセルが選択されている場合には(ステップS116:YES)、ステップS104へ進む。ステップS104以降の処理は、既に説明したとおりである。
CPU21は、ウェブページP4においてメニューm6(「配置済カードの取消」)の選択結果を含むHTTPリクエストを取得すると(ステップS100:m6)、取消対象となる、カードが配置済みのいずれかのセルが選択されている場合には(ステップS118:YES)、選択されたセルに配置されているカードをバトル使用カードデータから消去するようにしてバトル使用カードデータを更新する(ステップS112)。その後、既に説明したようにステップS114の判定処理を行う。
なお、図17のフローチャートでは、選択されたセルにカードを配置可能か否かについてステップS108にて判断されるが、ステップS104にて判断されるようにしてもよい。その場合、ステップS104でユーザに提示されるカード一覧では、十分な空き領域がなく配置できないカードを非表示とするか、配置可能なカードとは異なる態様で(例えば、暗くさせて)表示させるか、あるいは選択できないようにして表示させてもよい。
(7−3)攻撃処理(図18)
以下では、実行ユーザの攻撃ターン(図16のステップS36)について説明するが、敵ユーザの攻撃ターン(図16のステップS38)についても同様である。
実行ユーザの攻撃ターンにおいて、ゲームサーバ20のCPU21は、実行ユーザのバトル使用カードの各々について処理対象のカードを順に特定し、ステップS120〜S126の処理を実行する。CPU21は先ず、処理対象のカードについて攻撃タイミングに達したか否かを判断する(ステップS120)。カードの攻撃タイミングに達していないと判断した場合には(ステップS120:NO)、CPU21はそのカードによる攻撃処理を行わずに、ステップS129へ進む。実行ユーザのすべてのカードについて処理が終了していない場合には(ステップS129:NO)、次のカードの処理のためにステップS120へ戻る。
カードの攻撃タイミングに達したと判断した場合には(ステップS120:YES)、CPU21はステップS122以降の処理を行う。なお、CPU21は、ステップS120の判断を行うに当たって、カードデータベース(図7)の攻撃頻度のデータを参照する。攻撃頻度の値が大きいほど、攻撃を行う頻度が多いと判断される。例えば、攻撃頻度の値が「2」であるカードについては、実行ユーザの攻撃ターンにおいて常に攻撃を実行し、攻撃頻度の値が「1」であるカードについては、連続する2回の実行ユーザの攻撃ターンのいずれかにおいて攻撃を実行する、といった具合である。
次いでCPU21は、処理対象のカードの射程距離に敵ユーザのカードがあるか否か判定する(ステップS122)。つまりCPU21は、は、処理対象のカードが配置されているセルを基準として、そのカードの射程距離の範囲内のセルに配置されている敵ユーザのカードがあるか否か判定する。処理対象のカードの射程距離に敵ユーザのカードがある場合には(ステップS122:YES)、CPU21は攻撃対象のカードを決定する(ステップS124)。処理対象のカードの射程距離に敵ユーザのカードがない場合には(ステップS122:NO)、ステップS129へ進む。実行ユーザのすべてのカードについて処理が終了していない場合には(ステップS129:NO)、ステップS120へ戻る。
ステップS124では、処理対象のカードの射程距離の範囲内にある敵ユーザのカードのすべてを攻撃対象のカードとして決定してもよいし、射程距離の範囲内にある敵ユーザのカードの中から所定の条件に沿って、又は、無作為に一部のカードを選択し、選択したカードを攻撃対象のカードとして決定してもよい。好ましくは、CPU21は、射程距離の範囲内にある敵ユーザのカードの中から、処理対象のカードが配置されているセルの列と、当該列に隣接する列とに配置されている敵ユーザのカードを攻撃対象のカードとして決定してもよい。
次にCPU21は、攻撃対象のカードのHPを低下させる処理を行う。前述したように、CPU21は、攻撃対象のカードのHPの低下量を、例えば、処理対象のカードの攻撃力と攻撃対象のカードの防御力とに基づいて算出する。CPU21は、算出されたHPの低下量を基に、攻撃対象のカードのHPを更新する(ステップS126)。CPU21は、攻撃対象のカードの残HPがゼロになったと判断した場合には(ステップS127:YES)、攻撃対象のカードの現在位置のデータが無効化されるようにしてバトル使用カードデータを作成する(ステップS128)。CPU21は、攻撃対象のカードの残HPがゼロより大きいと判断した場合には(ステップS127:NO)、ステップS129へ進む。
実行ユーザのすべてのカードについて処理が終了した場合には(ステップS129:YES)、実行ユーザの攻撃ターンが終了する。
(7−4)カードの前方移動処理(図19)
以下では、実行ユーザのカードの前方移動処理について説明するが、敵ユーザのカードの前方移動処理についても同様である。
ゲームサーバ20のCPU21は、実行ユーザの各カードについて図19に示す処理を実行する。CPU21は先ず、処理対象のカードが第1行にあるか否か判定する(ステップS130)。処理対象のカードが第1行にある場合には(ステップS130:YES)、前方移動ができないためステップS136へ進む。実行ユーザのすべてのカードについて処理が終了していない場合には(ステップS136:NO)、次のカードの処理のためにステップS130へ戻る。
処理対象のカードが第1行にいない場合には(ステップS130:NO)、ステップS132へ進む。CPU21は、処理対象のカードが配置されているセルの1つの前のセルに実行ユーザの他のカードがいない場合には(ステップS132:NO)、処理対象のカードを前進させることを決定する(ステップS134)。このとき、CPU21は、前進させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。CPU21は、処理対象のカードが配置されているセルの1つの前のセルに実行ユーザの他のカードがある場合には(ステップS132:YES)、処理対象のカードを前進させることができないためステップS134の処理を行わない。
実行ユーザのすべてのカードについて処理が終了した場合には(ステップS136:YES)、実行ユーザのカードの前方移動処理が終了する。
(7−5)敵ユーザのカードの横移動処理(図20)
ゲームサーバ20のCPU21は、フィールド全体のカード群の中央位置を示すマトリクス上の列である全カード中央位置(CL_all)を決定する(ステップS140)。前述したように、全カード中央位置は、バトルフィールドにおいて、カードが配置されている最も左のセルの列と、カードが配置されている最も右のセルの列との間の中央位置の列である。列間の中央位置がセル間の中央になる場合には、その中央位置の右側の列が全カード中央位置となる。
CPU21は、全カード中央位置を決定すると、敵ユーザのカード群の各カードの処理順序を決定する(ステップS142)。この処理順序は、前述したように、以下の(a-1)〜(a-4)に示す優先順である。各カードの処理順序が決定されると、その処理順序に従って各カードについてステップS144〜S154の処理が行われる。
(a-1) 第1行において、全カード中央位置を基準に左から右に配置されているカードの順
(a-2) 第1行以外の各行において、全カード中央位置を基準に左から右に配置されているカードの順
(a-3) 第1行において、全カード中央位置よりも左側にあるカードについて、右から左に配置されているカードの順
(a-4) 第1行以外の各行において、全カード中央位置よりも左側にあるカードについて、右から左に配置されているカードの順
処理対象のカードが上記(a-1)を満たすカードである間、処理対象のカードが第1行にあり(ステップS144:YES)、かつ全カード中央位置CL_allにあるか、又は全カード中央位置CL_allより右側にあるため(ステップS146:YES)、CPU21は、処理対象のカードを左のセルへ移動させる処理を行う(ステップS148)。なお、移動先のセルに他のカードが存在する場合には移動させない。ステップS148においてCPU21は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップS148の処理が完了すると、敵ユーザのすべてのカードについて処理が終了していない場合には(ステップS154:NO)、次のカードの処理のためにステップS144へ戻る。
処理対象のカードが上記(a-2)を満たすカードである間、処理対象のカードが第1行にないため(ステップS144:NO)、図20の処理の開始時にバトルフィールド上で1つの前のセルにあったカードと同じように(つまり、連動して)、処理対象のカードを移動させる処理を行う(ステップS152)。すなわち、処理対象のカードが2行目以降のセルにあるカードである場合ついては、上記(a-1)を満たすカードに対して既に行われた移動態様と同じようにして移動が行われる。ステップS152においてCPU21は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップS152の処理が完了すると、敵ユーザのすべてのカードについて処理が終了していない場合には(ステップS154:NO)、次のカードの処理のためにステップS144へ戻る。
処理対象のカードが上記(a-3)を満たすカードである間、処理対象のカードが第1行にあり(ステップS144:YES)、かつ全カード中央位置CL_allより左側にあるため(ステップS146:NO)、CPU21は、処理対象のカードを右のセルへ移動させる処理を行う(ステップS150)。なお、移動先のセルに他のカードが存在する場合には移動させない。ステップS150においてCPU21は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップS150の処理が完了すると、敵ユーザのすべてのカードについて処理が終了していない場合には(ステップS154:NO)、次のカードの処理のためにステップS144へ戻る。
処理対象のカードが上記(a-4)を満たすカードである間、処理対象のカードが第1行にないため(ステップS144:NO)、図20の処理の開始時にバトルフィールド上で1つの前のセルにあったカードと同じように(つまり、連動して)、処理対象のカードを移動させる処理を行う(ステップS152)。すなわち、処理対象のカードが2行目以降のセルにあるカードである場合ついては、上記(a-3)を満たすカードに対して既に行われた移動態様と同じようにして移動が行われる。ステップS152においてCPU21は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップS152の処理が完了すると、敵ユーザのすべてのカードについて処理が終了していない場合には(ステップS154:NO)、次のカードの処理のためにステップS144へ戻る。
上記(a-4)を満たす処理対象のカードのうち最後のカードについての処理が完了すると、すべての敵ユーザのカードについての横移動処理が終了したことになる(ステップS154:YES)。
(7−6)実行ユーザのカードの横移動処理(図21)
ゲームサーバ20のCPU21は、敵ユーザのカード群の中央位置を示すマトリクス上の列である敵カード中央位置(CL_opp)を決定する(ステップS160)。前述したように、敵カード中央位置は、敵ユーザのユーザ領域において、カードが配置されている最も左のセルの列と、カードが配置されている最も右のセルの列との間の中央位置の列である。列間の中央位置がセル間の中央になる場合には、その中央位置の左側の列が敵カード中央位置となる。
CPU21は、敵カード中央位置を決定すると、実行ユーザのカード群の各カードの処理順序を決定する(ステップS162)。この処理順序は、前述したように、以下の(b-1)〜(b-4)に示す優先順となる。各カードの処理順序が決定されると、その処理順序に従って各カードについてステップS164〜S174の処理が行われる。
(b-1) 第1行において、敵カード中央位置を基準に右から左に配置されているカードの順
(b-2) 第1行以外の各行において、敵カード中央位置を基準に右から左に配置されているカードの順
(b-3) 第1行において、敵カード中央位置よりも右側にあるカードについて、左から右に配置されているカードの順
(b-4) 第1行以外の各行において、敵カード中央位置よりも右側にあるカードについて、左から右に配置されているカードの順
処理対象のカードが上記(b-1)を満たすカードである間、処理対象のカードが第1行にあり(ステップS164:YES)、かつ敵カード中央位置CL_oppにあるか、又は敵カード中央位置CL_oppより左側にあるため(ステップS166:YES)、CPU21は、処理対象のカードを右のセルへ移動させる処理を行う(ステップS168)。なお、移動先のセルに他のカードが存在する場合には移動させない。ステップS168においてCPU21は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップS168の処理が完了すると、実行ユーザのすべてのカードについて処理が終了していない場合には(ステップS174:NO)、次のカードの処理のためにステップS164へ戻る。
処理対象のカードが上記(b-2)を満たすカードである間、処理対象のカードが第1行にないため(ステップS164:NO)、図21の処理の開始時にバトルフィールド上で1つの前のセルにあったカードと同じように(つまり、連動して)、処理対象のカードを移動させる処理を行う(ステップS172)。すなわち、処理対象のカードが2行目以降のセルにあるカードである場合ついては、上記(b-1)を満たすカードに対して既に行われた移動態様と同じようにして移動が行われる。ステップS172においてCPU21は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップS172の処理が完了すると、実行ユーザのすべてのカードについて処理が終了していない場合には(ステップS174:NO)、次のカードの処理のためにステップS164へ戻る。
処理対象のカードが上記(b-3)を満たすカードである間、処理対象のカードが第1行にあり(ステップS164:YES)、かつ敵カード中央位置より右側にあるため(ステップS166:NO)、CPU21は、処理対象のカードを左のセルへ移動させる処理を行う(ステップS170)。なお、移動先のセルに他のカードが存在する場合には移動させない。ステップS170においてCPU21は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップS170の処理が完了すると、実行ユーザのすべてのカードについて処理が終了していない場合には(ステップS174:NO)、次のカードの処理のためにステップS164へ戻る。
処理対象のカードが上記(b-4)を満たすカードである間、処理対象のカードが第1行にないため(ステップS164:NO)、図21の処理の開始時にバトルフィールド上で1つの前のセルにあったカードと同じように(つまり、連動して)、処理対象のカードを移動させる処理を行う(ステップS172)。すなわち、処理対象のカードが2行目以降のセルにあるカードである場合ついては、上記(b-3)を満たすカードに対して既に行われた移動態様と同じようにして移動が行われる。ステップS172においてCPU21は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップS172の処理が完了すると、実行ユーザのすべてのカードについて処理が終了していない場合には(ステップS174:NO)、次のカードの処理のためにステップS164へ戻る。
上記(b-4)を満たす処理対象のカードのうち最後のカードについての処理が完了すると、すべての実行ユーザのカードについての横移動処理が終了したことになる(ステップS174:YES)。
以上詳細に説明したように、本実施形態のゲーム制御装置によって実現されるユーザ間のバトルゲームでは、ユーザ同士のカード群の攻防によってカードが消失する場合に、バトルフィールドに残留する各ユーザのカード群が隣接するようにしてバトルフィールド内を移動する。つまり、各ユーザのカード群がバトルの開始から終了まで統率のとれた動きを見せるため、ユーザはバトルゲームにおいて、より臨場感を味わうことができる。
本実施形態のバトルゲームに関するCPU21の攻撃処理では実行ユーザと敵ユーザのカード群の攻撃が交互に実行されるが、ユーザの通信端末10へ送信される再生ファイルを再生した場合には、両者の攻撃が高速に再現される。このとき、攻防の局面の切り替わりで何らかのユーザ操作を要さず、従来のターン制のバトルよりもバトルの表示が興趣性に富んだものとなる。
上述した実施形態では、バトルフィールドがセル(所定の基本領域)のマトリクスによって構成され、移動手段55が、バトルフィールド内において各カード(オブジェクト)をセル単位で移動させる場合について説明した。この場合、カードのバトルフィールド内における前後又は左右の動きの量が一定となるため、ユーザ間のバトルにおいて、各ユーザのカード群の移動が統一感のとれたものとすることができる。また、カードがマトリクスを構成する矩形のセルの大きさに合致した形態であり、カード群の移動の統一性の点から好適である。
なお、上記場合に限られず、マトリクスを構成する基本領域は、バトルフィールドに配置されるオブジェクトの形態に合わせて適宜設定することができる。例えば、矩形のカードに代えて六角形のオブジェクトがバトルに使用される場合、矩形のセルのマトリクスに代えて六角形のセルのマトリクスを設定してもよい。
上述した実施形態では、移動手段55が、実行ユーザ(第1ユーザ)に対応付けられたカード群(第1オブジェクト群)の各カードが実行ユーザのユーザ領域の第1行(第1基準行)を越えない範囲で、かつ敵ユーザ(第2ユーザ)に対応付けられたカード群(第2オブジェクト群)の各カードが敵ユーザのユーザ領域の第1行(第2基準行)を超えない範囲で、カードを移動させる場合について説明した。この場合には、実行ユーザ及び敵ユーザに対してそれぞれ設けられた各ユーザ領域の第1行が各ユーザのカード群の先頭の行になり、各ユーザのカード群が各々のユーザ領域の第1行を挟んで対峙して配置される。そのため、各ユーザのカード群が対戦中に移動する領域がユーザ同士で重なることがなく、ユーザは自身の各カードの動きを認識しやすくなる。
なお、上記場合に限られず、実行ユーザと敵ユーザの各カード群に対して基準行を設定しなくてもよい。また、基準行を単一の行のみから設定する必要はない。つまり、各ユーザの先頭の行は、列ごとに異なる位置に設定してもよい。
上述した実施形態では、移動手段55が、実行ユーザのユーザ領域の第1行(第1基準行)と敵ユーザのユーザ領域の第1行(第2基準行)をマトリクス上で隣接した行とした場合について説明した。この場合、各ユーザのカード群の先頭の行が隣接することになるため、各ユーザのカード群同士での接近戦を模擬することができる。
なお、上記場合に限られず、各ユーザの基準行は離間していてもよい。つまり、バトルフィールド内で各ユーザのユーザ領域の間に緩衝領域(例えば、2〜3行分の領域)を設け、その緩衝領域を挟んで各ユーザのカード群が対峙する配置としてもよい。
上述した実施形態では、以下の場合について説明した。すなわち、変更手段53が、バトル中において実行ユーザ又は敵ユーザのいずれかのユーザのカードの攻撃により(つまり、当該カードに基づいて)、当該ユーザのバトル相手のカード群のうち、少なくとも攻撃を行ったカードと重複する列に対向して配置されているバトル相手のカードのHP(カードに関連付けられたパラメータ)を変更するようにした。また、移動手段55が、実行ユーザ及び敵ユーザの各カード群について、第1行(基準行)上のカードが消失させられた場合には、そのカードと同一の列に配置されている他のカードを第1行まで移動させるようにした。この場合には、実行ユーザ又は敵ユーザのいずれか一方のユーザのカードによる攻撃が、当該カードと同一の列の他方のユーザのカードに対して行われる。また、第1行上のカードが相手の攻撃によって消失した場合、第1行からみて後方のカードが第1行まで前方移動する。そのため、ユーザ間のバトルでは、お互いの基準行を挟んでカード群同士の攻防が行われることになり、バトル自体がわかりやすく表示されるとともに、バトルの臨場感も増す。
なお、上記場合に限られず、バトル中の各カードの攻撃方向は任意に設定してもよい。例えば、実行ユーザの攻撃ターンにおいて各カードが攻撃を行う場合には、カードの射程距離にある敵ユーザのカードの中から攻撃対象となるカードを無作為に選択するようにしてもよい。
カードの攻撃方向について上述したが、攻撃を行うカードから攻撃対象のカードまでの距離は、次の観点から設定してもよい。すなわち、一方のユーザのカードが攻撃を行う場合に、相手のカードのうち、カードデータベースの射程距離の範囲内であって、より前方にあるカード(例えば第1行のカード等の、攻撃するカードにより近いカード)を優先的に攻撃対象としてもよい。この場合、その攻撃対象のカードが消失した場合に、そのカードより後方にあるカードの前方移動を促すことになるため、カード全体を前方に進める動きが促進され、バトルがよりダイナミックに再生される。
また、カードの攻撃方向や攻撃対象のカードの行の優先度を、実行ユーザが指定できるようにしてもよい。
上述した実施形態では、移動手段55が、実行ユーザのバトルフィールド内のカードの行方向の中央位置(以下、「実行カード中央位置」という;第1中央位置)と、敵カード中央位置(第2オブジェクト群の行方向の中央位置)とを近付けるようにして、各カードを行方向に移動させる場合について説明した。この場合、各ユーザのカード群は、バトルの途中でカードが消失していった場合に、各ユーザのカード群同士が対峙して配置されるように順次各カードが移動するように制御されるため、各ユーザのカード群の攻防が見やすくなる。特に、一方のユーザのカードによる攻撃が、当該カードと同一の列の他方のユーザのカードに対して行われる場合には、短時間でバトルの決着がつき、ユーザは早期に対戦結果を知ることができる。
具体的には、上述した実施形態では、上記横移動ステップM1〜M4によって示したように、実行ユーザ及び敵ユーザのカード群のバトル中の横移動では、全カード中央位置(バトルフィールド内のカードの行方向の中央位置)を基準に敵ユーザのカード群を横移動させ、それによって全カード中央位置と敵カード中央位置(第2中央位置)とを近付けるようにする移動処理(横移動ステップM1,M2に相当する処理)と、敵カード中央位置を基準に実行ユーザのカード群を横移動させ、それによって実行カード中央位置(第1中央位置)と、敵カード中央位置(第2中央位置)とを近付けるようにする移動処理(横移動ステップM3,M4に相当する処理)とが繰り返し行われるようにしたが、このような移動処理に限られない。
このような移動処理に代えて、全カード中央位置を基準に実行ユーザのカード群を横移動させ、それによって全カード中央位置と実行カード中央位置(第1中央位置)とを近付けるようにする移動処理と、実行カード中央位置を基準に敵ユーザのカード群を横移動させ、それによって敵カード中央位置(第2中央位置)と、実行カード中央位置(第1中央位置)とを近付けるようにする移動処理とが繰り返し行われるようにしてもよい。
(8)変形例
以下、上述した実施形態の変形例についてさらに説明する。
(8−1)変形例1
上述した実施形態のカード(オブジェクト)の横移動方法は、移動手段55が、実行カード中央位置と敵カード中央位置とを近付けるようにして、各カードを行方向に移動させる一例であるが、他の横移動方法を採ってもよい。例えば、以下のステップM1’〜M4’の手順で横移動を行う。
[横移動ステップM1’]
本変形例においてカードの横移動を行うときには、例えば、先ず敵ユーザのカード群から行われる。敵ユーザのカード群のうち全カード中央位置上の第1行のカード、及び全カード中央位置よりも右側にある第1行のカードをすべて、左側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
[横移動ステップM2’]
次に、敵ユーザのカードのうち全カード中央位置よりも左側にある第1行のカードをすべて、右側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
[横移動ステップM3’]
敵ユーザのカードの横移動が完了すると次に、実行ユーザのカード群の横移動が行われる。実行ユーザのカード群のうち全カード中央位置上の第1行のカード、及び全カード中央位置よりも右側にある第1行のカードをすべて、左側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
[横移動ステップM4’]
次に、実行ユーザのカードのうち全カード中央位置よりも左側にある第1行のカードをすべて、右側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
ステップM1’〜 M4’の手順では、実行カード中央位置と敵カード中央位置をそれぞれ全カード中央位置に近付けるように移動させる方法である。なお、上記ステップM1’〜 M4’では、敵ユーザのカード、実行ユーザのカードの順でカードを横移動させる例であるが、実行ユーザのカード、敵ユーザのカードの順でカードを横移動させてもよい。
本変形例を実現するためにゲームサーバ20のCPU21は、図20及び図21に示したフローチャートと同様にして横移動処理を実行する。そのとき、カードの移動の基準となる中央位置が図20及び図21に示したフローチャートとは異なる。
なお、カードの横移動方法の他の変形例として、実行ユーザと敵ユーザのカード群を、敵ユーザ中央位置又は実行ユーザ中央位置に向けて移動させるようにしてもよい。例えば、敵ユーザ中央位置に向けてすべてのカードを移動させるには以下の横移動ステップM1”〜M4”が繰り返し行われる。実行ユーザ中央位置を基準とする場合には、先ず実行ユーザ中央位置を決定して同様の処理を行えばよい。
[横移動ステップM1”]
先ず敵ユーザ中央位置を決定し、敵ユーザのカード群の横移動が行われる。敵ユーザのカード群のうち敵カード中央位置上の第1行のカード、及び敵カード中央位置よりも左側にある第1行のカードをすべて、右側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
[横移動ステップM2”]
次に、敵ユーザのカードのうち敵カード中央位置よりも右側にある第1行のカードを、左側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
[横移動ステップM3”]
敵ユーザのカードの横移動が完了すると次に、実行ユーザのカード群の横移動が行われる。実行ユーザのカード群のうち敵ユーザ中央位置上の第1行のカード、及び敵ユーザ中央位置よりも右側にある第1行のカードをすべて、左側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
[横移動ステップM4”]
次に、実行ユーザのカードのうち敵ユーザ中央位置よりも左側にある第1行のカードをすべて、右側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第1行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第1行のカードと連動して横移動させる。
上述した実施形態及び変形例1のカードの横移動方法のさらに他の変形例として、全カード中央位置をマトリクスの列方向の所定の位置(例えば、中央位置)に固定させてもよい。この場合、バトルの開始から終了までのカードの横方向の移動距離が長くなりバトル時間が長くなる場合も生ずるが、バトル中にカードが移動する度に全カード中央位置を算出しなくても済むため、CPU21の処理負荷が軽減する。また、全カード中央位置をマトリクスの中央位置に設定した場合、常にマトリクスの中央付近でバトルが進行するようになるため、ユーザがバトルを見やすくなるという利点がある。
本変形例1で述べた横移動方法でも、実施形態の場合と同様に、各ユーザのカード群は、バトルの途中でカードが消失していった場合に、各ユーザのカード群同士が対峙して配置されるように順次各カードが移動するように制御されるため、各ユーザのカード群の攻防が見やすくなる。特に、一方のユーザのカードによる攻撃が、当該カードと同一の列の他方のユーザのカードに対して行われる場合には、短時間でバトルの決着がつき、ユーザは早期に対戦結果を知ることができる。
(8−2)変形例2
本変形例では、移動手段55は、実行ユーザ(第1ユーザ)と敵ユーザ(第2ユーザ)の間のバトルの開始から、実行ユーザ及び敵ユーザの各ユーザ領域の第1行(第1基準行及び第2基準行)を時間の経過とともに近付けていくようにする。
この構成では、バトル中の各ユーザのカード群同士が徐々に近付いていくため、実行ユーザがバトルの緊張感をより感じることができるようになる。また、バトル中の各ユーザのカード群の距離が時間の経過とともに変化するため、上記実施形態で説明したように各カードに射程距離が設定されている場合には、より興趣性の高いバトルゲームが実現できる。
図22に、本変形例によって実行ユーザの通信端末10に表示される一連のウェブページの例を示す。図22のウェブページP7−1に示すように、この例では、バトルの開始時点では、実行ユーザ及び敵ユーザの各ユーザ領域UAa,UAbの基準行の間が3行分離間している。そしてバトルが開始すると、ウェブページP7−2に示すように、各ユーザ領域の基準行が近付いていきながらバトルが行われる。各ユーザの基準行が隣接した後は、図10C及び図10DのウェブページP8〜P10と同様のバトル進行となる。なお、実行ユーザ及び敵ユーザのユーザ領域の基準行の双方を移動させてもよいし、いずれか一方のみを移動させてもよい。
本変形例を実現するために、ゲームサーバ20のCPU21は、バトルの開始時刻からタイマを作動させ、例えば所定時間が経過する度に、実行ユーザ及び/又は敵ユーザのユーザ領域の基準行(第1行)を変動させる。CPU21は、図18〜21に示したカードの移動に関するフローチャートの処理を、実行時点での基準行(第1行)に基づいて行う。
<第2の実施形態>
以下、本発明のゲームシステムの第2の実施形態について説明する。本実施形態は、第1の実施形態と比較して、バトル中のカードの横移動方法が異なる。
(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の範囲の値が定義される。
第2の実施形態において、実行カード中央位置(CL_exe)を決定するに当たって先ず、実行カードの第1行においてカードが配置されているセルのうち最も左側のセルの左端の位置(「基準位置」という。)を特定する。次いで、実行ユーザのユーザ領域の第1行にカードが配置されているセルの数の1/2の値を求める。実行カード中央位置(CL_exe)は、基準位置を右側に、求めた値だけカードが配置されているセルに沿って移動させた位置である。図23は、セルCa(1,2)にカードC101、セルCa(1,4)にカードC102、セルCa(1,5)及びセルCa(1,6)に1×2のサイズのカードC103、が配置されている例であるが、この例での実行カード中央位置(CL_exe)は、以下の通りである。図23の例では、最も左側にカードが配置されているセルはCa(1,2)であるため、基準位置=1.0となる。次いで、第1行にカードが配置されているセルの数は4個である。よって、実行カード中央位置(CL_exe)は、基準位置(1.0)を右側に、カードが配置されているセルに沿って2(=4×1/2)だけ移動させた位置を示す値である4.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)カードの横移動方法
次に、第2の実施形態のカードの横移動方法について説明する。本実施形態のカードの横移動は、以下の各ステップに従って行われる。なお以下では、先に敵ユーザのカードを移動し、次いで実行ユーザのカードを移動させる場合について説明するが、逆に、先に実行ユーザのカードを移動し、次いで敵ユーザのカードを移動させてもよい。
[横移動ステップM11]
敵ユーザのカードについて横移動を行うに当たって、敵カード中央位置と実行カード中央位置を決定する。次いで、敵カード中央位置と実行カード中央位置の比較結果に基づいて、敵ユーザのカードの移動対象となるカードの順序(つまり、移動順序)を決定し、敵ユーザのカードの横移動が行われる。具体的には、以下の通りである。
(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行のカードと連動して横移動させる。
[横移動ステップM12]
実行ユーザのカードについて横移動を行うに当たって、敵カード中央位置と実行カード中央位置を決定する。敵カード中央位置と実行カード中央位置の比較結果に基づいて、実行ユーザのカードの移動対象となるカードの順序(つまり、移動順序)を決定し、実行ユーザのカードの横移動が行われる。具体的には、以下の通りである。
(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未満という条件であってもよい。
本実施形態のゲームでは、実行ユーザのカード群による攻撃と、敵ユーザのカード群による攻撃が交互に行われ、攻撃が行われる度に、以上のステップM11,M12のカードの横移動処理が逐次行われる。バトル中にカードが攻撃を受けて順次消失していくため、実行カード中央位置及び敵カード中央位置は、その都度変化していくことになる。このとき、例えば、実行ユーザのカードを横移動させる場合に、実行カード中央位置と敵カード中央位置の比較結果に基づいて、敵カード中央位置を基準として左右いずかの側のカードを先に移動させるかについて決定するため、実行カード中央位置と敵カード中央位置の差が早期に小さくなるようにカードの移動が行われるようになる。
(3)バトルのカードの移動例
次に、第2の実施形態において、バトルの開始からバトルの終了までの実行ユーザ及び敵ユーザの各カードの移動態様の具体例について、図24A〜24Dを参照して説明する。図24A〜24Dは、バトルの開始から終了までのカードの移動態様を説明するために、ゲーム空間を平面視で見たときのバトルフィールドの各セル上のカード配置を示す図である。各図では、カードの移動が矢印によって示される。
本実施形態のバトルは、例えば、上述したように実行ユーザ及び敵ユーザ のカード群の攻撃が順番で行われる。各ユーザの攻撃が行われた後に逐次、カードの前方移動、及びカードの横移動が順に行われる。
図24A〜24Dに示すバトルでは、図24AのステップS210に示すように、実行ユーザのユーザ領域UAaと敵ユーザのユーザ領域UAbはそれぞれ、2×6のセルによって構成され、各カードのサイズがすべて1×1である例(つまり、各ユーザのバトル使用カードが12枚である例)が示されている。
第2の実施形態においても第1の実施形態と同様に、各ユーザの攻撃が交互に行われて各攻撃の後に、前方移動、及び横移動の各処理が行われる。バトルの初期では、バトルの開始時点で第1行に配置されている各ユーザのカードが攻撃を受けて消失していくため、例えばステップS211に示すように、カードの前方移動が主体的に行われる。ステップS211では、6枚のカードが第2行から第1行のセルへ移動した場合が示されている。
バトルが進行し、ステップS212に示すように各ユーザの領域のいずれかの列にカードが存在しない場合が発生すると、横移動が行われる。ステップS212では、実行ユーザのユーザ領域UAaの第5列と、敵ユーザのユーザ領域UAbの第2列及び第3列とにカードが存在しない。ステップS212の例では、実行カード中央位置CL_exe=2.5であり、敵カード中央位置CL_opp=4.0である。そのため、敵ユーザのカードを横移動するに当たって先ず、実行カード中央位置CL_exeよりも右側にある敵ユーザのカード(つまり、CL_mov>CL_exeとなるカード)を、左にあるカードから順に左のセルへ横移動させる。つまり、第4〜6列にあるカード群を第4列にあるカードから順に左のセルへ移動させる。次いで、実行カード中央位置CL_exeよりも左側にある敵ユーザのカード(つまり、CL_mov<CL_exeとなるカード)を、右にあるカードから順に右のセルへ横移動させる。つまり、第1列にあるカード群を右のセルへ移動させる。敵ユーザのカードの横移動の様子をステップS213において矢印で示してある。
ステップS213の例では、実行カード中央位置CL_exe=2.5であり、敵カード中央位置CL_opp=3.0である。そのため、実行ユーザのカードを横移動するに当たって先ず、敵カード中央位置CL_oppよりも左側にある実行ユーザのカードを、右にあるカード(つまり、CL_mov<CL_oppとなるカード)から順に右のセルへ横移動させる。しかしステップS213の例では、敵カード中央位置CL_oppよりも左側にある実行ユーザのカードを移動させることができない。
次いで、敵カード中央位置よりも右側にある実行ユーザのカード(つまり、CL_mov>CL_oppとなるカード)を、左にあるカードから順に左のセルへ横移動させる。ステップS213の例では、第6列にあるカード群を左のセルへ移動させる。実行ユーザのカードの横移動の様子をステップS214において矢印で示してある。
ステップS214からバトルが進行した結果、第1行のカードが消失してカードの前方移動が行われ、ステップS215のカードの配置状態になった場合を想定する。ステップS215の例では、実行カード中央位置CL_exe=2.0であり、敵カード中央位置CL_opp=2.5である。そのため、敵ユーザのカードを横移動するに当たって先ず、実行カード中央位置よりも右側にある敵ユーザのカード(つまり、CL_mov>CL_exeとなるカード)を、左にあるカードから順に左のセルへ横移動させる。つまり、ステップS216に示すように、第5列にある1枚のカード(セルCb(1,5)上のカード)を左のセルへ横移動させる。ステップS216の例では、実行カード中央位置よりも左側にある敵ユーザのカード(つまり、CL_mov<CL_exeとなるカード)を、右にあるカードへ横移動させることはできない。
ステップS216の例では、実行カード中央位置CL_exe=2.0であり、敵カード中央位置CL_opp=2.5である。そのため、実行ユーザのカードを横移動するに当たって先ず、敵カード中央位置よりも左側にある実行ユーザのカードを、右にあるカード(つまり、CL_mov<CL_oppとなるカード)から順に右のセルへ横移動させる。しかしステップS216の例では、敵カード中央位置よりも左側にある実行ユーザのカードを移動させることはできない。次いで、敵カード中央位置よりも右側にある実行ユーザのカード(つまり、CL_mov>CL_oppとなるカード)を、左にあるカードから順に左のセルへ横移動させる。つまり、ステップS217に示すように、第5列にある1枚のカード(セルCa(1,5)上のカード)を左のセルへ横移動させる。
ステップS217からバトルが進行した結果、第1行のカードが消失してカードの前方移動が行われ、ステップS218のカードの配置状態になった場合を想定する。ステップS218の例では、実行カード中央位置CL_exe=2.0であり、敵カード中央位置CL_opp=2.5である。この場合、敵ユーザのカードは、セルCb(1,3)に配置されているカードのみであるが、このカードは上述した横移動処理の例外規定によって移動させない。つまり、このカードについて移動カード中央位置CL_mov=2.5であるが、実行カード中央位置CL_exeと敵カード中央位置CL_oppの差が0.5以下であり、かつ移動カード中央位置CL_movと実行カード中央位置CL_exeの差が0.5以下であるという条件を満たすため、セルCb(1,3)のカードは移動させない。
なお、ステップS218の例では、実行ユーザのカード群が互いに隣接しており、敵カード中央位置CL_oppとの位置関係から、実行ユーザのカードのいずれのカードも移動させることはできない。
ステップS218からバトルが進行した結果、第1行のカードが消失してカードの前方移動が行われ、ステップS219のカードの配置状態になった場合を想定する。ステップS219の例では、実行カード中央位置CL_exe=1.0であり、敵カード中央位置CL_opp=2.5である。そのため、敵ユーザのカードを横移動するに当たって、実行カード中央位置CL_exeよりも右側にある1枚の敵ユーザのカード(つまり、CL_mov>CL_exeとなるカード)を左のセルへ横移動させる。つまり、ステップS220に示すように、セルCb(1,3)に配置されているカードを左のセルへ移動させる。
ステップS220の例では、実行カード中央位置CL_exe=1.0であり、敵カード中央位置CL_opp=1.5である。そのため、実行ユーザのカードを横移動するに当たって先ず、敵カード中央位置よりも左側にある実行ユーザのカードを、右にあるカード(つまり、CL_mov<CL_oppとなるカード)から順に右のセルへ横移動させる。つまり、セルCa(1,1)にある実行ユーザのカードを右のセルへ移動させる。次いで、敵カード中央位置よりも右側にある実行ユーザのカード(つまり、CL_mov>CL_oppとなるカード)を、左にあるカードから順に左のセルへ横移動させる。つまり、セルCa(1,4)上のカードを左のセルへ横移動させる。この実行ユーザのカードの横移動の様子をステップS221において矢印で示してある。
ステップS222では、ステップS221において敵ユーザの領域の第1行にあった1枚のカードが消失した場合が想定される。この場合、敵ユーザのカードがすべて消失したことになるため、実行ユーザの勝利となる。
図24A〜24Dのバトルの例で示したように、第2の実施形態のカードの横移動方法においても、第1の実施形態の横移動方法と同様に、各ユーザの攻撃ターンごとに、実行ユーザ及び敵ユーザのカード群同士が対向するようにしてカード位置が調整されるようになる。そのため、バトル開始からバトル終了まで常に各ユーザのカード群が対峙する形となり、実行ユーザから見てバトルの臨場感がより感じられるとともに、各カードによる攻撃の方向が主としてそのカードの前方に設定されている場合には、そのカードに対向して配置されている相手のカードに効果的に攻撃を加えられるため、バトルの勝敗が迅速に決するようになるという利点もある。
また、本実施形態では、例えば敵ユーザのカードを移動させるに当たって、実行カード中央位置を基準として左及び右にあるカードのうち先に移動させるカードを、実行カード中央位置と敵カード中央位置の比較結果に基づいて切り替えるようにしているため、実行カード中央位置と敵カード中央位置の差を少なくするようなカードが優先的に移動するようになる。実行ユーザのカードを移動させる場合も同様である。
(4)カードの横移動処理のフロー
次に、本実施形態の横移動処理のフローの一例について、図25及び図26のフローチャートを参照して説明する。図25は、敵ユーザのカードの横移動処理の一例を示すフローチャートである。図26は、実行ユーザのカードの横移動処理の一例を示すフローチャートである。
なお、本実施形態の全体フローは、第1の実施形態と同様に図16に示したものでよい。本実施形態では、図16の全体フローの中のステップS44及びS44において、図20及び図21に代えて、それぞれ図25及び図26のフローチャートが実行される。
・敵ユーザのカードの横移動処理(図25)
ゲームサーバ20のCPU21は先ず、バトル使用カードデータを参照して、実行ユーザのカード群の中心位置を示す実行カード中央位置CL_exeと、敵ユーザのカード群の中心位置を示す敵カード中央位置CL_oppとを決定する(ステップS240)。CPU21は、実行カード中央位置CL_exeと敵カード中央位置CL_oppを決定すると、両者の比較結果に基づいて敵ユーザのカード群の各カードの処理順序を決定する(ステップS242)。
前述したように、カードの処理順序は、実行カード中央位置CL_exeと敵カード中央位置CL_oppの比較結果次第で異なり、例えば以下の通りとなる。
(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) 実行カード中央位置が敵カード中央位置よりも右側にある場合(つまり、CL_exe>CL_oppである場合)には、以下の(b-1)〜(b-6)に示す優先順である。
(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となるカード)
各カードの処理順序が決定されると、その処理順序に従って各カードについてステップS244〜S258の処理が行われる。
先ずCPU21は、処理対象のカードが第1行に配置されているカードであるか否かについて判定する(ステップS244)。処理対象のカードが第1行に配置されているカードである場合には(ステップS244:YES)、ステップS246へ進み、処理対象のカードが第1行に配置されているカードでない場合には(ステップS244:NO)、ステップS256へ進む。
実行カード中央位置CL_exeと敵カード中央位置CL_oppの差の絶対値(|CL_opp−CL_exe|)が0.5以下であり(ステップS246:NO)、かつ処理対象のカードの移動カード中央位置CL_mov
と実行カード中央位置CL_exeの差の絶対値(|CL_mov−CL_exe|)が0.5以下である場合には(ステップS254:YES)、処理対象のカードについて横移動処理を行わずにステップS258へ進む(上記[横移動処理の例外]を参照)。
実行カード中央位置CL_exeと敵カード中央位置CL_oppの差の絶対値(|CL_opp−CL_exe|)が0.5より大きいか(ステップS246:YES)、又は処理対象のカードの移動カード中央位置CL_movと実行カード中央位置CL_exeの差の絶対値(|CL_mov−CL_exe|)が0.5より大きい場合には(ステップS254:NO)、ステップS248へ進む。ステップS248では、移動カード中央位置CL_movを実行カード中央位置CL_exeと比較し、その比較結果に基づいて処理が異なる。
処理対象のカードが上記(a-1),(b-3)のいずれかを満たすカードである場合、処理対象のカードの移動カード中央位置が実行カード中央位置よりも右側にあるため(ステップS248:CL_mov>CL_exe)、CPU21は、処理対象のカードを左のセルへ移動させる処理を行う(ステップS250)。なお、移動先のセルに他のカードが存在する場合には移動させない。ステップS250においてCPU21は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップS250の処理が完了すると、敵ユーザのすべてのカードについて処理が終了していない場合には(ステップS258:NO)、次のカードの処理のためにステップS244へ戻る。
処理対象のカードが上記(a-3),(b-1)のいずれかを満たすカードである場合、その移動カード中央位置が実行カード中央位置よりも左側にあるため(ステップS248:CL_mov<CL_exe)、CPU21は、処理対象のカードを右のセルへ移動させる処理を行う(ステップS252)。なお、移動先のセルに他のカードが存在する場合には移動させない。ステップS252においてCPU21は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップS252の処理が完了すると、敵ユーザのすべてのカードについて処理が終了していない場合には(ステップS258:NO)、次のカードの処理のためにステップS244へ戻る。
処理対象のカードが上記(a-5),(b-5)のいずれかを満たすカードである場合、その移動カード中央位置が実行カード中央位置と同一あるため(ステップS248:CL_mov=CL_exe)、CPU21は、処理対象のカードを移動させる処理を行わずにステップS258へ進む。ここで、敵ユーザのすべてのカードについて処理が終了していない場合には(ステップS258:NO)、次のカードの処理のためにステップS244へ戻る。
なお、処理対象のカードが上記(a-2),(a-4),(a-6),(b-2),(b-4),(b-6)のいずれかを満たすカードである場合には、そのカードは第1行にないため(ステップS244:NO)、図25の処理の開始時にバトルフィールド上で1つの前のセルにあったカードと同じように(つまり、連動して)、処理対象のカードを移動させる処理を行う(ステップS256)。すなわち、処理対象のカードが2行目以降のセルにあるカードである場合ついては、上記(a-1),(a-3),(a-5),(b-1),(b-3),(b-5)のいずれかを満たすカードに対して既に行われた移動態様と同じようにして移動が行われる。ステップS256においてCPU21は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップS256の処理が完了すると、敵ユーザのすべてのカードについて処理が終了していない場合には(ステップS258:NO)、次のカードの処理のためにステップS244へ戻る。
・実行ユーザのカードの横移動処理(図26)
ゲームサーバ20のCPU21は先ず、バトル使用カードデータを参照して、実行ユーザのカード群の中心位置を示す実行カード中央位置CL_exeと、敵ユーザのカード群の中心位置を示す敵カード中央位置CL_oppとを決定する(ステップS260)。CPU21は、実行カード中央位置CL_exeと敵カード中央位置CL_oppを決定すると、両者の比較結果に基づいて敵ユーザのカード群の各カードの処理順序を決定する(ステップS262)。
前述したように、カードの処理順序は、実行カード中央位置CL_exeと敵カード中央位置CL_oppの比較結果次第で異なり、例えば以下の通りとなる。
(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) 敵カード中央位置が実行カード中央位置と同位置であるか、それよりも右側にある場合(つまり、CL_exe≦CL_oppである場合)には、以下の(b-1)〜(b-6)に示す優先順である。
(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となるカード)
各カードの処理順序が決定されると、その処理順序に従って各カードについてステップS264〜S278の処理が行われる。
先ずCPU21は、処理対象のカードが第1行に配置されているカードであるか否かについて判定する(ステップS264)。処理対象のカードが第1行に配置されているカードである場合には(ステップS264:YES)、ステップS266へ進み、処理対象のカードが第1行に配置されているカードでない場合には(ステップS264:NO)、ステップS276へ進む。
実行カード中央位置CL_exeと敵カード中央位置CL_oppの差の絶対値(|CL_opp−CL_exe|)が0.5以下であり(ステップS266:NO)、かつ処理対象のカードの移動カード中央位置CL_movと敵カード中央位置CL_oppの差の絶対値(|CL_mov−CL_opp|)が0.5以下である場合には(ステップS274:YES)、処理対象のカードについて横移動処理を行わずにステップS278へ進む(上記[横移動処理の例外]を参照)。
実行カード中央位置CL_exeと敵カード中央位置CL_oppの差の絶対値(|CL_opp−CL_exe|)が0.5より大きいか(ステップS266:YES)、又は処理対象のカードの移動カード中央位置CL_movと敵カード中央位置CL_oppの差の絶対値(|CL_mov−CL_opp|)が0.5より大きい場合には(ステップS274:NO)、ステップS268へ進む。ステップS268では、移動カード中央位置CL_movを敵カード中央位置CL_oppと比較し、その比較結果に基づいて処理が異なる。
処理対象のカードが上記(c-1),(d-3)のいずれかを満たすカードである場合、処理対象のカードの移動カード中央位置が敵カード中央位置よりも右側にあるため(ステップS268:CL_mov>CL_opp)、CPU21は、処理対象のカードを左のセルへ移動させる処理を行う(ステップS270)。なお、移動先のセルに他のカードが存在する場合には移動させない。ステップS270においてCPU21は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップS270の処理が完了すると、実行ユーザのすべてのカードについて処理が終了していない場合には(ステップS278:NO)、次のカードの処理のためにステップS264へ戻る。
処理対象のカードが上記(c-3),(d-1)のいずれかを満たすカードである場合、その移動カード中央位置が敵カード中央位置よりも左側にあるため(ステップS268:CL_mov<CL_opp)、CPU21は、処理対象のカードを右のセルへ移動させる処理を行う(ステップS272)。なお、移動先のセルに他のカードが存在する場合には移動させない。ステップS272においてCPU21は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップS272の処理が完了すると、実行ユーザのすべてのカードについて処理が終了していない場合には(ステップS278:NO)、次のカードの処理のためにステップS264へ戻る。
処理対象のカードが上記(c-5),(d-5)のいずれかを満たすカードである場合、その移動カード中央位置が敵カード中央位置と同一あるため(ステップS268:CL_mov=CL_opp)、CPU21は、処理対象のカードを移動させる処理を行わずにステップS278へ進む。ここで、実行ユーザのすべてのカードについて処理が終了していない場合には(ステップS278:NO)、次のカードの処理のためにステップS264へ戻る。
なお、処理対象のカードが上記(c-2),(c-4),(c-6),(d-2),(d-4),(d-6)のいずれかを満たすカードである場合には、そのカードは第1行にないため(ステップS264:NO)、図26の処理の開始時にバトルフィールド上で1つの前のセルにあったカードと同じように(つまり、連動して)、処理対象のカードを移動させる処理を行う(ステップS276)。すなわち、処理対象のカードが2行目以降のセルにあるカードである場合ついては、上記(c-1),(c-3),(c-5),(d-1),(d-3),(d-5)のいずれかを満たすカードに対して既に行われた移動態様と同じようにして移動が行われる。ステップS276においてCPU21は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップS276の処理が完了すると、実行ユーザのすべてのカードについて処理が終了していない場合には(ステップS278:NO)、次のカードの処理のためにステップS264へ戻る。
以上、本発明の実施形態について詳細に説明したが、本発明は上記実施形態に限定されない。また、各実施形態は、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのは勿論である。上記実施形態及び各変形例に記載された技術的事項は適宜組合せて適用してもよい。
上述した実施形態及び変形例では、カードの前方方向をマトリクスの行の方向と一致させ、カードの横移動方向をマトリクスの列の方向と一致させる場合について説明したが、この場合に限られない。カードの前方方向をマトリクスの列の方向と一致させ、カードの横移動方向をマトリクスの行の方向と一致させてもよい。その場合には、ウェブページ上で左右に(つまり、横方向に)ユーザのカード同士が対峙してバトルが行われることになる。
上述した実施形態及び変形例では、カードの移動方向を前方又は横方向のいずれかの場合について説明したが、その場合に限られない。例えば、斜め前方(斜め右前、又は斜め左前)に移動するカードを設定してもよい。
上述した実施形態及び変形例において、バトルフィールドが矩形のマトリクスである場合について説明したが、この場合に限られない。実行ユーザ及び敵ユーザのカード群がそれぞれ、カード同士が隣接して移動可能であれば他の形態でもよい。例えば、三角形や六角形(ハニカム形態)などの多角形であってもよい。
上述した実施形態及び変形例において、カード群を横移動させるときのカードの処理順序は、一例に過ぎない。中央位置(全カード中央位置、敵カード中央位置、又は実行カード中央位置)を基準として、左側にあるカードを先に移動させ、次に右側にあるカードを移動させてもよいし、右側にあるカードを先に移動させ、次に左側にあるカードを移動させてもよい。
上述した各実施形態では、オブジェクトの一例としてモンスターカードを挙げたが、これに限られない。オブジェクトであれば如何なるものでもよい。例えば、オブジェクトは、ゲーム上のキャラクタやアイテム等を含むものでよく、例えばゲーム上の仮想的な人物や生物、若しくはモンスター等であり、本実施形態で示したように、それらがカードに表示されているものをも含む。
上述した実施形態では、ユーザによる通信端末に対する所定の操作入力は、ユーザの通信端末に対する所定の操作釦の押下操作の入力や、タッチパネル機能を備えた通信端末に対する表示画面上のタッチ操作の入力であるとしたが、操作入力はこれに限られない。操作入力は、加速度センサを備えた通信端末を振ることによる操作入力、あるいはジェスチャによる操作入力(ジェスチャ入力)であってもよい。ジェスチャ入力では、撮像機能を備えた通信端末に対する所定のジェスチャを行うことで通信端末がそのジェスチャを画像認識し、予めジェスチャに対応付けられた操作入力を認識する。また、音声認識プログラムを実行可能な通信端末の場合には、操作入力は、音声を入力することにより行われてもよい。
上述した実施形態では、ネットワーク上のゲームサーバ20及びデータベースサーバ30によって、図14に示した各手段が備える機能を実現する構成としたが、この構成に限られない。図14に示した手段のすべて、あるいは少なくとも一部の手段を通信端末10によって実現する構成としてもよい。通信端末10とゲームサーバ20とでは実質的に同一のハードウエア構成を採るため、上記実施形態に記載したようにして通信端末10によっても各機能を実現できる。図27A,図27Bにはそれぞれ、本実施形態のゲーム制御装置の各機能(図14に示す各機能)について、通信端末10と、ゲームサーバ20及びデータベースサーバ30との間の機能を分担した場合の例を示す。
上述した実施形態では、ゲームサーバ20がバトルの開始から終了までの一連のバトル使用カードを基に再生ファイルを作成して通信端末10へ送信し、通信端末10が再生ファイルを再生することによってバトルが動画再生される場合について説明したが、この場合に限られない。例えば、通信端末10が実行ユーザのバトル使用カードデータを記憶しておき、敵ユーザのバトル使用カードデータをバトル開始時点で取得し、通信端末10が再生ファイルを作成するようにしてもよい。この場合、移動手段や変更手段等を実現するためのプログラムは通信端末10のCPU11により実行される。
上述した実施形態では、ソーシャルゲームに適用される場合を例として説明したが、これに限られない。例えば、スタンドアローンのゲーム機によっても実現でき、ネットワーク上に置かれたサーバ装置と家庭用オンラインゲーム機とを接続した、いわゆるオンラインゲームシステムにおいても実現できる。
10…通信端末
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. ゲーム空間内において所定の基本領域のマトリクスによって構成される所定のフィールドにおいて、前記マトリクスの列方向に対向して配置されたオブジェクトを用いユーザ間での対戦の実行を制御するゲーム制御装置であって、
    それぞれパラメータが関連付けられている複数のオブジェクトからなるオブジェクト群を、ユーザに対応付ける対応付け手段と、
    第1ユーザと第2ユーザの間の対戦において、いずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち少なくともいずれかのオブジェクトに関連付けられたパラメータを変更する変更手段と、
    オブジェクトに関連付けられたパラメータが所定の消失条件を満足した場合に、当該オブジェクトを前記フィールドから消失させる消失手段と、
    前記対戦において、オブジェクト群に含まれるオブジェクト同士が隣接するように、各オブジェクトを前記フィールド内において前記基本領域の単位で移動させる移動手段と、
    を備え
    前記移動手段は、第1ユーザに対応付けられた第1オブジェクト群の行方向の中央位置である第1中央位置と、第2ユーザに対応付けられた第2オブジェクト群の行方向の中央位置である第2中央位置とを近付けるようにして、各オブジェクトを行方向に移動させることを特徴とする、
    ゲーム制御装置。
  2. 前記移動手段は、第1ユーザに対応付けられた第1オブジェクト群の各オブジェクトが第1基準行を越えない範囲で、かつ第2ユーザに対応付けられた第2オブジェクト群の各オブジェクトが第2基準行を超えない範囲で、オブジェクトを移動させることを特徴とする、
    請求項に記載されたゲーム制御装置。
  3. 記第1基準行と前記第2基準行は、前記マトリクス上で隣接した行であることを特徴とする、
    請求項に記載されたゲーム制御装置。
  4. 前記変更手段は、前記対戦中にいずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち、少なくとも前記オブジェクトと重複する列に対向して配置されているオブジェクトに関連付けられたパラメータを変更し、
    前記移動手段は、各オブジェクト群について、対応する基準行上のオブジェクトが消失させられた場合には、当該オブジェクトと同一の列に配置されている他のオブジェクトを基準行まで移動させることを特徴とする、
    請求項又はに記載されたゲーム制御装置。
  5. 前記移動手段は、
    前記フィールド内のオブジェクトの行方向の中央位置と、前記第1中央位置、又は前記第2中央位置とを近付けるように、前記第1オブジェクト群及び前記第2オブジェクト群のうちいずれか一方のオブジェクト群に含まれる各オブジェクトを行方向に移動させる第1の移動処理と、
    前記第1中央位置と前記第2中央位置とを近付けるように、前記第1オブジェクト群及び前記第2オブジェクト群のうち他方のオブジェクト群に含まれる各オブジェクトを行方向に移動させる第2の移動処理と、
    を繰り返し実行することを特徴とする、
    請求項に記載されたゲーム制御装置。
  6. 前記移動手段は、前記第1ユーザと前記第2ユーザの間の対戦の開始から、前記第1基準行と前記第2基準行を時間の経過とともに近付けていくことを特徴とする、
    請求項のいずれかに記載されたゲーム制御装置。
  7. ゲーム空間内において所定の基本領域のマトリクスによって構成される所定のフィールドにおいて、前記マトリクスの列方向に対向して配置されたオブジェクトを用いユーザ間での対戦の実行を制御するために、コンピュータを、請求項1〜6のいずれかに記載されたゲーム制御装置の各手段として機能させるためのプログラム。
  8. 通信端末と、当該通信端末からアクセスされるサーバと、を含み、ゲーム空間内において所定の基本領域のマトリクスによって構成される所定のフィールドにおいて、前記マトリクスの列方向に対向して配置されたオブジェクトを用いユーザ間での対戦の実行を制御するゲームシステムであって、請求項1〜6のいずれかに記載されたゲーム制御装置の各手段を、前記通信端末又は前記サーバのいずれか一方が備えた、ゲームシステム。
JP2013007707A 2013-01-18 2013-01-18 ゲーム制御装置、プログラム、ゲームシステム Active JP5947728B2 (ja)

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)

* Cited by examiner, † Cited by third party
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 株式会社 ディー・エヌ・エー サーバー装置、及び、ゲームプログラム

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