最初に、本発明の一態様に係る情報処理装置(コンピュータ)が携帯端末(クライアント装置)として機能し、本発明の一態様に係るゲームプログラムが、いわゆるネイティブアプリケーション(ネイティブゲーム)として、当該携帯端末において実行される構成を、図1〜図11を参照しながら、実施形態1において説明する。
次に、本発明の一態様に係る情報処理装置(コンピュータ)がサーバ装置として機能し、本発明の一態様に係るゲームプログラムが、いわゆるウェブアプリケーション(ウェブゲーム)として、当該ゲームプログラムの一部または全部がサーバ装置において実行され、当該実行された処理の結果が上記携帯端末に返される構成を、図12を参照しながら、実施形態2において説明する。
<実施形態1>
本発明に係るゲームプログラムは、ゲームフィールド上に配置された複数のオブジェクトを移動させるゲームの進行を処理するゲームプログラムであって、コンピュータに、受付機能と、関連付け機能と、移動機能と、表示処理機能とを実現させる。
上記受付機能は、ユーザによるタッチ操作を検知可能な所定の入力面からタッチ操作に係る操作情報を受け付ける。例えば、プレイヤが入力面に指または指示具(例えば、スタイラスなど)を接触または近接させることによって、コンピュータに入力を与える操作であってよい。操作情報は、一つの座標を示すものである場合には、当該座標を示し、複数の座標により示される場合には、その始点(最初にタッチされた点)と終点(タッチを検出し続けて、検出できなくなった点)に基づく軌跡(始点の座標と終点の座標を含む、座標の変化を表す情報)の情報であってもよい。以下の説明では、一点の座標を指定するものとしてタッチ操作と記載し、軌跡を示す場合であって、軌跡が略直線になっている場合をスワイプ操作として記載している。また、当該スワイプ操作で示される方向操作とは当該始点から終点に向かう方向のことをさす。
上記関連付け機能は、複数のオブジェクトを一群として関連付ける。複数のオブジェクトを関連付ける場合、所定範囲に含まれるオブジェクトを関連付けることとしてもよいし、所定の位置関係(例えば、一列に並んだ位置関係)にあるオブジェクトを関連付けることとしてもよいし、ゲームに敵が登場する場合には、敵を除く味方として動作するオブジェクト全てを関連付けるものであってもよい。関連付けの手法としては、例えば、複数のオブジェクトを一つのグループとしてまとめて記憶することとしてもよいし、複数のオブジェクトを互いに関連付けることとしてもよいし、複数のオブジェクトのうちの一つのオブジェクトを残りのオブジェクト全てと関連付けることとしてもよい。
また、オブジェクトとは、例えば、上記ゲームプログラムによって実現されるゲームまたは他のゲームにおいて、プレイヤに利用される任意の電子データ(例えば、キャラクタ、アイテム、カード、建築物など、ユーザがゲームにおけるリソースとして移動させる(動かすことができる)もの)であってよい。以下の説明では、オブジェクトは、ユーザキャラクタ300a〜300jとして記載する。
上記移動機能は、操作情報として複数のオブジェクトのうちのいずれかである第1オブジェクトを指定する指定操作を受けている状態で、操作情報として方向操作を受け付けた場合には、複数のオブジェクトから第1オブジェクトを除いた残余オブジェクトを一群として方向操作により示される方向に向けて移動させる。
第1オブジェクトは、以下の説明では、一例として図6におけるユーザユニット300jが該当する。また、残余オブジェクトは、図6の場合、ユーザユニット300a〜300iが該当する。
また、上記ゲームフィールドにはオブジェクトが進行できない移動不可能領域若しくは障害オブジェクトが設定されており、移動機能は、移動処理による移動において残余オブジェクトのうちのいずれかである第2オブジェクトが移動不可能領域若しくは障害オブジェクトによりその移動が阻まれる場合に、当該第2オブジェクトを移動させず方向操作を受け付けた時と同一のゲームフィールド上の位置に配置されたままになる。
移動不可能領域は、ゲームフィールドにおいてオブジェクトが移動できない領域を指し、以下の説明では、ゲーム媒体が移動するゲームフィールドをマス目状に構成する例で説明しており(例えば、図2参照)、それらのマスのうち、マス5g、6g、5h、6hが該当する。なお、ここで図2を用いてマス5gを例に説明すると、マス5gとは、5列目g行のマスであることを意味する。また、妨害オブジェクトは、以下の説明では、変形例(1)における岩やブロック、壁、みずたまりなどが該当する。
また、第2オブジェクトは、以下の説明では、一例として図7におけるユーザユニット300d、図8におけるユーザユニット300dに該当する。
また、上記ゲームプログラムは、方向操作により示される方向に向けて前記第2オブジェクトを移動させない場合であって、方向操作により示される方向の直線上に第2オブジェクト以外の残余オブジェクトが存在する場合に、移動機能は、第2オブジェクト以外の残余オブジェクトも移動させないものである。
ここで、方向操作により示される方向の直線上に存在する第2オブジェクト以外の残余オブジェクトとは、以下の説明では、一例として図7におけるユーザユニット300h、図8におけるユーザユニット300hに該当する。
また、上記ゲームプログラムは、オブジェクトには向きがある場合に、さらに、コンピュータに、操作情報として複数のオブジェクト以外の箇所を指定する指定操作を受けている状態で、操作情報として方向操作を受け付けた場合には、複数のオブジェクト各々の向きを方向操作により示される方向に対して変更する方向転換機能を実現させるものである。
方向転換機能は、ユーザ操作に基づいて、オブジェクトの向きを変更する機能であればよく、下記においては、変形例(5)として記載している。
本発明の一態様に係るゲームプログラムは、少なくとも次の3つの構成で実施され得る。すなわち、上記ゲームプログラムは、(a)コンピュータがクライアント装置(例えば、スマートフォン、パーソナルコンピュータなど)として機能し、上記ゲームプログラムが当該クライアント装置において実行される構成で実施されてもよいし、(b)コンピュータがサーバ装置(例えば、メインフレーム、クラスタコンピュータ、ゲームサービスを外部の機器に提供可能な任意のコンピュータなど)として機能し、上記ゲームプログラムの一部または全部が当該サーバ装置において実行され、当該実行された処理の結果が上記クライアント装置に返される構成で実施されてもよいし、(c)上記ゲームプログラムに含まれる処理を、上記クライアント装置およびサーバ装置において任意に分担する構成で実施されてもよい。
したがって、上記ゲームプログラムによって実現される表示機能は、(a)上記コンピュータと所定のネットワーク(例えば、インターネット)を介して通信可能に接続された外部の表示装置(例えば、携帯端末が備えた表示部)に情報(例えば、表示情報)を出力することによって、当該表示装置に上記ゲーム画面を表示させてもよいし、(b)上記コンピュータが備えた表示装置に上記表示情報を出力することによって、当該表示装置に上記ゲーム画面を表示させてもよい。
また、(a)コンピュータと所定のネットワーク(例えば、インターネット)を介して通信可能に接続されたクライアント装置が、所定の入力装置を備え、当該クライアント装置が当該所定の入力装置を介して入力された上記操作情報を当該コンピュータに送信し、上記ゲームプログラムによって上記コンピュータ上において実現される操作情報取得機能が、当該操作情報を取得する構成であってもよいし、(b)上記コンピュータが、上記所定の入力装置を備え、上記操作情報取得機能が、当該所定の入力装置を介して上記操作情報を取得してもよい。
<概要>
本実施形態1に係るゲームは、ユーザが操作するオブジェクト群(以下、ユーザユニット群と呼称する)のうちのいずれか(本実施の形態では、ユーザユニットのリーダーとして設定されているユーザユニット300f)を初期配置位置から、マス目状に設定されたゲームフィールド(以下、マップと呼称する)上のどこかに配置されている目的地に到達させることを目的とする。各マスには1つのユニットまでしか配置できない仕様になっている。当該ゲームでは、ユーザは敵(障害)となるオブジェクト(以下、敵ユニットと呼称する)を撃破もしくはかわしつつ、ユーザユニット300fを所定のターン数(操作数)、または所定時間の内に目的地に到達させなければならない。
当該ゲームにおいて、当該ユーザユニット群は、ユーザのタッチパネルに対する一度のスワイプ操作により、まとめて、当該スワイプ操作で示される方向に向けて1マス移動する仕様になっている。
この仕様のうえで、ユーザが、ユニット群のいずれかを指定するタッチ操作を行いつつ、スワイプ操作を行った場合には、ゲームにおいてはタッチ操作で指定されているユーザユニットの位置を固定したまま(指定されているユーザユニットを移動させない)、残りのユーザユニット群をまとめてスワイプ操作で示される方向に向けて1マス移動させる。
これにより、本実施形態1に係るゲームは、ユニット群の移動においてより戦略性の高いゲームを提供することができる。
<構成>
以下、本実施形態1に係る情報処理装置100について図面を参照しながら説明する。
図1は、情報処理装置100の要部構成の一例を示すブロック図である。情報処理装置(コンピュータ)100は、以下で説明する処理を含むゲームプログラムを実行可能な情報処理装置である。当該処理を実行可能な機器でありさえすれば、具体的な機器としては、例えば、スマートフォン、タブレット端末、家庭用ゲーム機、携帯電話、パーソナルコンピュータ、その他の電子機器であってもよい。なお、上記ゲームプログラムは、ディスプレイ(表示部)と、タッチ入力を検知可能な入力面と、メモリと、当該メモリに格納された1つ又は複数のプログラムを実行可能な、1つ又は複数のプロセッサとを備えた、マルチファンクションデバイス(例えば、スマートフォンなど)において、特に好適に実行され得る。
図1に示すように、情報処理装置100は、入力部110と、記憶部120と、制御部130と、表示部140とを含む。
入力部110は、タッチ入力を検知可能な入力面を備え、ユーザからの入力を受け付けて、受け付けた入力内容を制御部140に伝達する機能を有する。入力部110は、例えば、携帯端末110に備えられたタッチパッドなどにより実現され、この場合には、ユーザがタッチしたタッチパネル上の入力座標情報や、スワイプ操作の場合にはその軌跡情報を伝達する。スワイプ操作は、入力面に触れた状態で指を滑らせる操作のことであり、本実施の形態においては、ユーザユニットを移動させる方向を特定するために用いる。スワイプ操作は、タッチ操作の一種であってタッチ操作の集合とみることができ、最初にタッチされた箇所(始点)から当該タッチが離れた箇所(終点)を検知し、当該始点から終点に向かう方向をユーザが指定したい方向として特定する操作である。例えば、スワイプ操作が入力面に向かって右から左に向けて指を滑らせるものであれば、画面左方向にユーザユニットを移動させることを意味し、例えば、スワイプ操作が入力面に向かって上から下に向けて指を滑らせるものであれば、画面下方向(手前方向)にユーザユニットを移動させることを意味する。
入力部110の入力面は、表示部140の表示画面に対応し、入力部110の入力座標系と、表示部140の表示画面の座標系とは対応関係にある。すなわち、例えば、表示部140に表示されたゲーム画面に表示されたオブジェクトにタッチすれば、当該オブジェクトに対する操作を実行することになる。
記憶部120は、本実施形態1に係るゲームプログラムおよび当該ゲームプログラムを実行するうえで必要とする各種データを記憶する機能を有する。記憶部120は、典型的には、HDD(Hard Disc Drive)、SSD(Solid State Drive)、フラッシュメモリなど各種の記録媒体により実現される。
記憶部120は、ゲームプログラムが利用するマップ情報200を保持している。マップ情報200は、マップの状態とユニットの配置位置を示す情報である。マップ情報200の詳細については後述する。また、図示していないが、記憶部120は、ひとまとめにして移動させるユーザユニット群に関するグループ情報(図示せず)を保持しており、当該グループ情報は、ユーザユニット群各々の識別子を含む。グループ情報に含まれる各ユニットは、ユーザのスワイプ操作が検出された場合に、その進行を妨げられない限り、スワイプ方向で示される方向に向けて1マス進行する。
また、記憶部120は、ゲームにおいて用いられるユーザユニット、敵ユニット各々のパラメータ(例えば、ユニットの体力を示すHP、使用可能な特殊能力(例えば、魔法、スキルなど)、攻撃力、防御力、速さなど)も記憶している。
制御部130は、本実施の形態に係るゲームの進行を実行する機能を有するプロセッサである。制御部130は、ゲームの起動を受け付けた場合に、ゲーム画面を表示部140に表示させ、入力部110からのユーザの入力に従って、ゲームを進行する。制御部130は、ユーザが遊ぶステージを提供し、ユーザがユーザユニットを設定されている目的地まで到達させることができた場合に、次のステージを用意する。ステージごとに、マップの形状や敵ユニットの配置位置や配置される敵ユニットが異なってくる。
制御部130は、受付部131と、移動処理部132と、戦闘処理部133と、関連付部134と、表示処理部135とを含む。
移動処理部132は、入力部110からの入力に従って、ユーザユニット群の移動処理や、予め定められたアルゴリズムに従って、敵ユニットの移動処理を実行する機能を有する。移動処理部132は、入力部110からタッチ入力が伝達された場合に、当該タッチ操作の入力位置を特定し、その入力位置に対応して表示されるユーザユニットを特定する。また、移動処理部132は、入力部110からスワイプ入力が伝達された場合に、ゲーム画面上で、当該スワイプ入力の始点と終点を特定し、その始点から終点に向かう方向をユーザユニットの移動方向として決定する。
移動処理部132は、ユーザユニットの移動処理については、基本的に2種類の移動処理を実行する。すなわち、以下の2種類である。
(1)移動処理部132は、入力部110からスワイプ操作を伝達された場合に、ユーザユニット群をまとめて、スワイプ操作で示される方向に向けて1マス移動させる。
(2)移動処理部132は、入力部110からスワイプ操作を伝達された場合であって、さらにタッチ操作の検出を伝達されているときに、当該タッチ操作で指定されているユーザユニットを固定(移動させない)し、残りのユーザユニット群をまとめて、スワイプ操作で示される方向に向けて1マス移動させる。
この2種類の移動処理を行うにあたって、移動処理部132は、ユーザユニット群各々について、移動できるか否か、移動できる場合に移動先を決定してから、移動できるユーザユニット群をまとめて移動させる。移動できない場合としては、上記移動処理(2)に示すユーザによる指定のほか、移動予定先が移動不可能になっている場合、移送予定先に固定されているユーザユニットが存在する場合がある。以下、移動予定先が移動不可になっておらず、かつ、移動予定先に固定されたユーザユニットが存在しない場合を移動予定先が空いていると表現することとする。
移動処理部132は、スワイプ操作で示される方向にユーザユニット群を移動させる場合に、その先頭側のユーザユニットから移動予定先を決定し、全てのユーザユニットの移動予定先が決定する(移動させない場合も含む)と、固定されていないユーザユニットをまとめて移動させる。ここで、スワイプ操作で示される方向に進む場合に先頭になっているユーザユニットが複数ある場合には、先頭になっているユーザユニットの中から順(ランダム選択でも所定の基準に従って順序での選択でもよい)に移動予定先を決定する。
まず、移動処理部132は、ユーザユニットの移動予定先のマスに敵ユニットが存在する場合に、戦闘(対戦)を実行することになるユーザユニットと敵ユニットとの識別子の組み合わせを戦闘処理部133に伝達するとともに、戦闘処理を依頼する。そして戦闘処理部133から戦闘処理終了の通知を受け取る。移動処理部132は、当該通知において、敵ユニットの情報が含まれる場合には、その敵ユニットをスワイプ操作で示される方向に1マス後退させる。また、その際に後退させる方向に別の敵ユニットが配置されていた場合には、その敵ユニットも後退させる。
次に、移動処理部132は、ユーザユニットを移動させるために、スワイプ操作で示される方向に向けて先頭に位置するユーザユニットから移動先を決定する。先頭に位置するユーザユニットが複数ある場合には、それらの中から1つずつ選択してそれぞれの移動先を決定する。このとき、移動先が移動不可になっている場合には、その移動不可のマスに移動する予定のユーザユニットは、移動前の位置に固定(移動させない)する。また、固定されたユーザユニット(ユーザのタッチ操作により指定されているユーザユニットおよび移動不可のマスに移動しようとしているユーザユニット)のいるマスに移動しようとしているユーザユニットがある場合にも、当該ユーザユニットを固定する。
移動処理部132は、戦闘処理とユーザユニットの固定の後に、移動可能なユーザユニット群、すなわち固定されていないユーザユニットをまとめてスワイプ操作で示される方向に向けて1マス移動させる。当該移動ののちに、固定したユーザユニットの固定を解除する。
なお、ここでは、ユーザユニットの移動について詳細に述べたが、敵ユニットも予め定められたアルゴリズムに従って、ユーザユニットと同様に移動する。
移動処理部132は、移動処理による移動結果を表示処理部135に伝達する。
戦闘処理部133は、移動処理部132による移動において、ユーザユニットの移動先のマスに敵ユニットが存在する場合または敵ユニットの移動先のマスにユーザユニットが存在する場合に、ユーザユニットと敵ユニットとの間の戦闘処理を実行する機能を有する。戦闘処理部133は、移動処理部132からの依頼により、通知されたユニット間の戦闘処理を実行する。
ユーザユニットおよび敵ユニットには、それぞれパラメータ(例えば、HP(体力)、攻撃力、防御力など)が設定されており、戦闘処理部133は、予め定められた戦闘アルゴリズムに従って、戦闘に係る処理を実行する。戦闘処理において、ユーザユニットが敗北した場合には、後述するマップ情報200から敗北したユーザユニットを特定する情報を削除し、ユーザユニットが勝利した場合には、倒した敵ユニットを特定する情報を削除する。戦闘処理部133は、戦闘処理の結果、ユーザユニットのHPが0より大きく敵ユニットのHPが0になっている場合をユーザユニットの勝利とし、ユーザユニットのHPが0であって敵ユニットのHPが0より大きくなっている場合をユーザユニットの敗北とする。また、戦闘処理部133は、戦闘処理の結果、双方のHPが0になっていない(HPが残っている)場合には引き分けとする。なお、ここで、戦闘処理部133は、戦闘に係る勝利、敗北等を示すエフェクトを画面上に表示させることとしてもよい。
そして、戦闘処理部133は、戦闘処理終了の通知(引き分けた敵ユニットの情報を含む)を移動処理部132に伝達するとともに、戦闘に係る表示データを表示処理部135に伝達する。
関連付部134は、一群として移動するユーザユニット群を一群として関連付けて、記憶部120に記憶する機能を有する。本実施の形態においては、関連付部134は、ユーザユニット300a〜300jを一群として関連付ける。
表示処理部135は、移動処理部132から伝達された移動結果、戦闘処理部133から伝達された戦闘結果に応じた表示データを生成し、表示部140のフレームメモリに書き込む。
表示部140は、制御部130からの指示を受け付けて画像を表示する機能を有するモニタである。
本実施の形態においては、入力部110と表示部140は重畳されて形成されるタッチパネルにより実現される。
以上が本実施の形態に係る情報処理装置100の構成である。
<データ>
図2は、ゲームプログラムが参照するマップ情報200のデータ概念図の一例であり、各ユニットの配置位置を示す情報でもある。
マップ情報200は、ゲーム画面上のマス目状に構成されるゲームフィールドと対応している。すなわち、マップ情報200の各行、各列で示される各マスは、ゲームフィールドとして表示する各マスの状態と対応する。各マスの状態とは、ユニットが配置されているかどうか、移動可能であるか、あるいはその他のオブジェクトが配置されているかなどを意味する。
マップ情報200は各マスにおいて、ユニットが配置されている場合には、そのユニットの固有の識別子が対応付けられている。また、マスがない、すなわち、ユニットが進行できないマスには、移動不可であることを示す情報が対応付けられる。図2では、移動不可であることを示す情報として「×」を記載している。また、図示していないが、マップ情報200には、設定された目的地のマスには「ゴール」が示される。
図2に示されるように、例えば、マス「2b」には、ユーザユニット「300i」が配置され、マス「3g」には、敵ユニット「310b」が配置されている。また、マス「5g」は移動不可になっていることがわかる。
マップ情報200があることにより、制御部130は、各ユニットおよびその移動を管理することができる。
<動作>
図3は、情報処理装置100の動作の一例を示すフローチャートである。本実施の形態においては、ユーザによる入力があった場合のユーザユニット群の移動処理について説明するものとし、その他のゲーム要素については、従来のゲームの仕様を適用できるものとして説明を割愛する。
情報処理装置100の入力部110は、ユーザからのスワイプ操作を検出し、制御部130に伝達する(ステップS301)。
このとき、入力部110は、ユーザのタッチ操作を検出している場合には、その旨を逐次(例えば、1秒ごと)制御部130に伝達する。ユーザのタッチ操作を検出している旨を伝達されている場合には、移動処理部132は、当該タッチ操作の座標に対応付けられているユーザユニットを固定する(移動させないこととする)(ステップS303)。
スワイプ操作があったときに、タッチ操作を検出できていない場合には(ステップS302のNO)、ステップS304に移行する。
移動処理部132は、ユーザユニット群について、それらのうち敵ユニットが配置されているマスを移動予定先とするユーザユニットがあるか否かを判定する(ステップS304)。移動処理部132は、当該判定を、マップ情報200を用いて判定する。
敵ユニットが配置されているマスを移動予定先とするユーザユニットがある場合に(ステップS304のYES)、移動処理部132は、戦闘処理部133に、衝突しあうユーザユニットと敵ユニットの組み合わせ情報を伝達し、戦闘処理を依頼する(ステップS305)。
戦闘処理部133は、伝達されたユーザユニットと敵ユニットとの戦闘処理を実行する。戦闘処理部133は、伝達されたユーザユニットのパラメータと敵ユニットのパラメータに基づき、所定の戦闘アルゴリズムにしたがって、戦闘処理を実行する(ステップS306)。戦闘処理部133は、戦闘処理に従って、敗北したユニットがあれば、当該ユニットをマップ情報200から削除し、戦闘処理が終了したことを、その結果とともに移動処理部132に通知する。移動処理部132は引き分けた敵ユニットがいれば、当該敵ユニットをスワイプ方向で示される方向に1マス後退させる。
そして、移動処理部132は、各ユーザユニットについて移動させるか否かを判定する。
移動処理部132は、スワイプ操作で示される方向をユーザユニット群の進行方向としたときに、その先頭から順にユーザユニットが移動可能か否かを判定する。
移動処理部132は、移動可能か否かを判定するユーザユニットについて、その移動予定先のマスに移動不可であるか否かを判定する(ステップS306)。移動処理部132は、マップ情報200で移動不可に設定されているか否か、または、移動予定先に固定されたユーザユニットが配置されているか否か、によって移動予定先が移動不可であるか否かを判定する。
ユーザユニットの移動予定先に移動不可である場合には(ステップS306のYES)、当該ユーザユニットを固定し(移動させない)、次のユーザユニットが移動可能か否かを判定する。ユーザユニットの移動先が移動不可でない場合には、次のユーザユニットが移動可能か否かを判定する。
全てのユーザユニットについて、移動予定先が移動不可であるか否かを判定したのちに、移動処理部132は、固定されていないユーザユニットをまとめてスワイプ操作で示される方向に向けて1マス移動させる。
図3に示す処理を繰り返し行い、王冠を有するユーザユニット300fがマップ上のいずれかのマスに設定されている目的地に到達できた場合に、ユーザは、そのマップをクリアしたことになる、次のマップに挑戦することになる。
<ユーザユニットの移動に係る具体例>
ここから、画面例を用いたユーザユニットの移動の具体例を説明する。
(表示例)
図4は、ゲーム画面の一表示例を示す図である。
制御部130に含まれる表示処理部135の指示に従って、図4に示すようなゲーム画面を表示する。表示部140は、ゲーム画面においては、マップ情報200で示される形状のマップが3D表示されるとともに、マップ情報200に示される位置に、ユーザユニット300a〜300iや、敵ユニット310a〜310fが配置されて、3D表示される。ユーザはユーザユニット群300a、300iを操作して、王冠を有するユーザユニット300fを目的地に到達させる。なお、本実施の形態においては、一つのマスには一つのユニットのみが配置できることとする。
(スワイプ操作による移動例)
図5は、画面上、すなわち、入力部110に対してユーザがスワイプ操作を行った場合のユーザユニットの移動の一具体例を示す図である。
図4の表示状態にある情報処理装置100の画面に対して、図5(a)に示すように、指を右から左へ滑らせるスワイプ操作を行ったとする。
この場合、移動処理部132は、ユーザユニット群300a〜300jを画面左方向へ、まとめて移動させる。
具体的には、移動処理部132は、スワイプ操作で示される移動方向の先頭側から、各ユーザユニットについての移動先を決定して、まとめて移動させる。ユーザユニット群の先頭側は、図5の場合であれば、スワイプ操作が左から右に行われており、左方向を指すので、ユーザユニット300a、300b、300c、300dが先頭のユーザユニットとなる。移動処理部132は、これらのユーザユニット、300a〜300dから移動予定先を決定する。
移動処理部132は、ユーザユニット300aの移動予定先e1は空いているので、ユーザユニット300aは固定しない。同様に、ユーザユニット300b〜300dも移動予定先2e〜4eが空いているので固定しない。ユーザユニット300eの移動予定先には、ユーザユニット300aが配置されているものの、固定されていないため、移動可能である、すなわち、移動予定先2dが空いているので、固定しない。同様にユーザユニット300f〜300hもそれぞれ移動予定先2d、3d、4dが空いているので、固定しない。また、ユーザユニット300i、300jもそれぞれ移動予定先2c、3cが空いているので、固定しない。従って、全てのユーザユニットを固定しないこととなり、移動処理部132は、全てのユーザユニット300a〜300jをまとめて、スワイプ操作で示される方向(画面左方向)に向けて1マス移動させる。
その結果、図5(b)に示されるように、各ユーザユニットが1マス左に移動することとなる。当該操作が基本的なユーザユニット群の移動操作であり、一スワイプ操作で、そのスワイプ操作で示される方向に向けてユーザユニット300a〜300jをひとまとめにして移動させる。
(ユーザユニットを指定しながらのスワイプ操作による移動例)
図6は、ユーザが特定のユーザユニットを指定するタッチ操作を行いながら、スワイプ操作を行った場合のユーザユニット群の移動の一具体例を示す図である。
図6(a)に示すように、ユーザはユーザユニット300jをタッチしている状態で、指を右から左へ滑らすスワイプ操作を実行したとする。
すると、図6(b)に示されるように、ユーザによりタッチされているユーザユニット300jはその位置を固定され、残りのユーザユニット300a〜300iは1マス左へ移動する。
具体的には、移動処理部132は、タッチ操作により指定されているユーザユニット300jを移動しないように固定する。ここでは指定されていることを明確にするために、指定されているユーザユニットをカーソルで示すこととしているが、これは必須ではない。次に、移動処理部132は、ユーザユニット300aの移動予定先2eは空いているので、ユーザユニット300aは固定しない。同様に、ユーザユニット300b〜300dも移動予定先3e、4e、5eが空いているので固定しない。ユーザユニット300eの移動予定先2dは空いているので、固定しない。同様にユーザユニット300f〜300iもそれぞれ移動予定先3d、4d、5d、2cは空いているので、固定しない。また、ユーザユニット300jはすでに固定されている。従って、ユーザユニット300jを除く、ユーザユニット300a〜300iを固定しないこととなり、移動処理部132は、ユーザユニット300jを除く全てのユーザユニット300a〜300iをまとめて、スワイプ操作で示される方向(画面左方向)に向けて1マス移動させる。
この移動操作を取り入れることにより、一部のユーザユニットを残しながら(移動させないようにしながら)、残りのユーザユニットをまとめて移動させることができるようになるので、より戦略的な移動操作を実現することができる。また、ユーザの選択操作によって一部のユーザユニットの移動を行わないようにしながら残りのユーザユニットを移動させることによって、ユーザユニットの陣形をユーザの所望の形に変形することできる。目的地に行きつくためにはより多くのユーザユニットを残しておくことが必要となるため、ユーザはマップ上に設けられる敵ユニットや障害物などを考慮しながら適切に陣形を変形しなければならない。これによって、ゲームをより戦略性の高いものとすることができる。
(ユーザユニットが移動不可能領域に移動する場合の移動例)
図7は、移動不可のマスに移動しようとするユーザユニットがある場合のユーザユニット群の移動の一例を示す図である。
図7(a)に示されるように、マップ上にユーザユニット群300a〜300jが配置されているとする。図7(a)に示されるように、ユーザユニット300dの画面左側には、マス目がなく移動不可になっている。
このような配置状態において、図7(a)に示すように、指を右から左へ滑らすスワイプ操作を行ったとする。
すると、ユーザユニット300dの場合、左方向、すなわち、移動予定先5gは移動不可能領域になっているため、移動できない。そのため、ユーザユニット300dはその位置(マス5f)に固定される。すなわち、ユーザユニット300dは移動させないこととなる。
また、ユーザユニット300dが固定されたことにより、ユーザユニット300hにとっての移動予定先5fにはユーザユニット300dが固定された状態で配置されている。したがって、移動予定先5fは空いていないのでユーザユニット300hも移動できないので、ユーザユニット300hも固定される。
したがって、図7(a)の配置状態に対して行ったスワイプ操作の結果、図7(b)に示すように、ユーザユニット300a、300b、300c、300e、300f、300g、300i、300jはひとまとめで1マス左に移動するのに対し、移動先が移動不可になっているユーザユニット300d、ユーザユニット300dにより移動先が埋められているユーザユニット300hの2つのユニットは移動せずに、その位置に残る。すなわち、図7(a)に示すように、マス5fおよびマス5eにそれぞれ配置されていたユーザユニット300d、300eは、ユーザによる左方向へのスワイプ操作後も、そのまま、マス5fおよびマス5e残った状態になる。ユーザは、目的地に行きつくためにはより多くのユーザユニットを残しておくことが必要となるため、マップの形状を考慮しながら適切に陣形を変形しなければならない。
(移動により戦闘が発生する場合の処理と移動例)
ここで、ユーザユニットの移動先に敵ユニットが存在する場合の処理と、その際の移動について図8を用いて説明する。
図8に示すように、ユーザユニット300a〜300cと敵ユニット310a〜310cとが相対するように配置されている状態であるとする。
この状態で、ユーザが図8に示すように、左から右へ指を滑らすようにスワイプ操作を行ったとする。したがって、この場合、画面左方向に進むことから、画面左側のユーザユニット300a〜300dが先頭のユニットとなる。
すると、この場合、ユーザユニット300a〜300c各々の移動先予定2g、3g、4gには、それぞれ敵ユニット310a〜310cが配置されているので、移動処理部132は、戦闘処理部133に、衝突しあうユニット間の戦闘処理を依頼する。
ここでは、ユーザユニット300aは敵ユニット310aに敗北し、ユーザユニット300bは敵ユニット310bと引き分け(戦闘において双方のHPが0にならなかった)、ユーザユニット300cは敵ユニット310cに勝利したとする。この場合、戦闘処理部133は、マップ情報200からユーザユニット300aと、敵ユニット310cとを削除する。そして、表示処理部135に、ユーザユニット300aと敵ユニット310cとが消去した画面を表示させる。
その後に戦闘処理部133は、移動処理部132に戦闘処理の終了を通知する。当該通知には、敵ユニット310bの情報が含まれる。戦闘処理の終了通知を受けると、移動処理部132は、敵ユニット310bをスワイプ方向で示される方向に1マス後退させる(1マス左へ移動させる)。また、移動処理部132は、敵ユニット310bの移動方向には敵ユニット310eが配置されているので、敵ユニット310eも1マス後退させる。その結果、敵ユニット310bは、マス3hに、敵ユニット310eは、マス3iに移動する。移動処理部132は、スワイプ操作で示される方向(図8の場合は画面左方向)に向けて、残ったユーザユニット300b〜300jの移動処理を行う。
移動処理部132は、残っているユーザユニット群(300b〜300j)の移動方向の先頭側のユーザユニット(300b〜300d)から移動先を決定する。まず、移動処理部132は、戦闘において引き分けたことにより敵ユニット310bが1マス後退して、移動予定先3gが空いていることになるので、ユーザユニット300bを固定しない。ユーザユニット300cは、移動予定先4gが敵ユニット310cを撃破して空いているので、固定しない。ユーザユニット300dは移動予定先5gが移動不可になって、空いていないので、固定する。ユーザユニット300eは、ユーザユニット300aが戦闘で敗北したため空白マスになっているため、移動予定先2fが空いていることになるので、固定しない。ユーザユニット300fは、移動予定先3fが空いているので、固定しない。ユーザユニット300gは、移動予定先4fは空いているので、固定しない。ユーザユニット300hは、移動予定先に固定されたユーザユニット300dが配置されて空いていないので、固定する。ユーザユニットiは、移動予定先2eは空いているので、固定しない。そして、ユーザユニット300jは、移動予定先3eは空いているので、固定しない。
その後に、移動処理部132は、固定されていないユーザユニット300b、300c、300e、300f、300g、300i、300jを1マス左にまとめて移動させる。当該移動の後に移動処理部132は固定したユーザユニットの固定を解除する。
したがって、図8(a)におけるユーザのスワイプ操作の結果として、図8(b)に示すように、ユーザユニット300aは、マップ上から除かれ、ユーザユニット300d、300hは、移動せず、ユーザユニット300b、300c、300e、300f、300g、300i、300jは1マス左に移動する。
図5〜図8に示したような移動を駆使してユーザは、ユーザユニット300fを目的地まで移動させる。1マス移動するごとに、1ターン消費し、所定ターン内にユーザユニットを目的地に移動させることができれば、次のステージに移行し、移動させることができなかった場合には、やりなおすことになる。
以上に示したような、たった2種類の簡単な操作(スワイプ操作と、ユーザユニットを指定してのスワイプ操作)でユーザユニット群を操作しつつ、目的地まで到達させるという操作が単純でありながらも奥の深いゲームを提供することができる。
<実施形態2>
図12に基づいて、本発明の第2の実施の形態(実施形態2)を説明する。なお、実施形態2では、先に説明した実施形態1に含まれる構成とは異なる構成のみを説明する。実施形態1において説明された構成は、実施形態2にもすべて含まれ得る(逆も同様である)。また、実施形態1において記載された用語の定義は、実施形態2においても同じである。
図12は、情報処理装置100とサーバ装置200とを含むゲームシステム300の構成を示す模式図である。図12に例示されるように、本発明に係るコンピュータが、情報処理装置100と所定のネットワークを介して通信可能に接続されたサーバ装置200として機能し、本発明に係るゲームプログラムが当該サーバ装置200において実行される場合を説明する。
サーバ装置(コンピュータ)200は、実施形態1において情報処理装置100が備えるとして説明した制御部130を備え、実施形態1において説明した処理の一部または全部を含むゲームプログラムを実行可能な情報処理装置である。当該サーバ装置200は、プレイヤによって入力された指示情報(タッチ操作の場合は、タッチの位置を示す位置情報、スワイプ操作の場合は、スワイプ操作で示される方向情報)を、上記所定のネットワークを介して受信する。そして、当該サーバ装置200は、複数のユーザユニットからなるユーザユニット群を移動させる表示情報600を、上記所定のネットワークを介して情報処理装置100に送信する。
言い換えれば、サーバ装置200は、上記実施形態1における情報処理装置100の制御部130を備える。そして、制御部130は、上記実施形態1において入力部110から直接受け取っていた入力データを、実施形態2においては、上記所定のネットワークを介して、情報処理装置100から受信する。そうして得られた入力データに従って処理を実行し、表示処理部135は画像データを出力する。出力された画像データは、上記所定のネットワークを介して送信される。
情報処理装置100は、ゲームをプレイした結果を上記サーバ装置200から受信し、当該結果を表示部140に表示させる。なお、ウェブブラウザを介して当該プレイした結果を表示させる場合、情報処理装置100は、例えば、当該ウェブブラウザに搭載された所定の記憶領域(ウェブストレージ)に上記サーバ装置200から受信した情報を蓄積することができる。
このように、実施形態1において、情報処理装置100が備えるとして説明した制御部130の一部または全部をサーバ装置200が備え、当該サーバ装置200は、情報処理装置100に与えられた入力に基づいて、ゲームの出力結果を当該情報処理装置100に送信する構成とすることができる。これにより、サーバ装置200は、上記情報処理装置100が機能を提供する場合に当該情報処理装置100が奏する全ての効果と、同じ効果を奏する。
<変形例>
上記実施形態1、実施形態2に本発明に係る発明の一実施態様を説明したが、本発明に係る思想がこれに限られないことは言うまでもない。以下、本発明に係る思想として含まれる各種変形例について説明する。
(1)上記実施の形態においては、ユーザユニットの障害として敵ユニットが登場するゲームの例を示したが、ユーザユニットの障害の事例はその限りではない。ユーザユニットの進行を妨げる障害オブジェクト(例えば、岩、ブロック、壁、建物、水たまり)などが、障害として配置されることとしてもよい。岩、ブロック、壁、建物などの場合であれば、HPや防御力などのパラメータが設定されて、破壊可能であってもよいし、水たまりなどの場合であれば、何らかのゲーム上の処理を駆使してユーザキャラクタが進行可能になるよう(例えば、水たまりを凍らせたり、水たまりに土を入れて道にしたりする)にしてもよい。
(2)上記実施の形態においては、ユーザが敵ユニットを撃破しながら、ユーザユニットを移動させるゲームの例を示したが、これはその限りではなく、ユーザが操作可能なオブジェクトが登場し、そのオブジェクトをまとめて移動させる処理が含まれるゲームであれば、上記実施の形態に係るオブジェクト(ユーザユニット)の操作方法は適用可能である。また、その場合には、ゲームに限らず、画面上に表示されたオブジェクト群をまとめて操作する(表示位置を変更する)ような場合にも、上記実施の形態に係るオブジェクト(ユーザユニット)の操作方法は適用可能である。
(3)上記実施の形態においては、ユーザユニットをマス目状のマップ上を移動させるゲームの例を示したが、これはその限りではない。
ゲームは、ユーザユニットがゲームフィールド上を自由に移動できるように構成されていてもよい。例えば、ユーザが入力部110に対して、タッチしている位置にユーザユニット群が追随するように構成する。そして、それらのユーザユニット群のうちのいずれかのユーザユニットをタッチ操作で指定し続けている状態で、別の指で残りのユーザユニットをその別の指で入力部110に対してタッチしている位置に追随させるように構成してもよい。
(4)上記実施の形態においては、ユーザユニットと敵ユニットとの間において、それぞれのパラメータに基づいて戦闘処理を行うこととしたが、移動する側が敵と接触する場合には、必ず移動側が勝利することとして、戦闘を単純化することとしてもよい。
(5)上記実施の形態においては、ユーザユニットの操作方法として、ユーザユニットをひとまとめにして移動させる仕様において、特定ユニットをタッチ操作で指定して、その特定ユニットを固定したまま(移動させないで)、残りのユーザユニットを1マス進行させる例を示した。
これらのユーザユニットの特殊な操作方法としては、それ以外にも以下に示すような例を実施することとしてもよい。
例えば、ゲーム上において、各ユニット(ユーザユニット、敵ユニット)に向きのパラメータが設定されているとする。そして、図9(a)に示すように、ユーザがユーザユニット以外の箇所をタッチしている状態で、スワイプ操作を実行したとする。すると、図9(a)に示すように、画面左方向を向いていたユーザユニットが、図9(b)に示すように、画面手前方向を向くように、表示される。
すなわち、情報処理装置100は、入力部110がユーザユニットが配置されていない箇所を指定するタッチ操作を検知している状態で、スワイプ操作を検知した場合に、ユーザユニットの方向転換処理とその結果を示す表示処理を実行する。
この場合の方向転換処理を含む場合の情報処理装置100の動作としては、例えば、上記実施の形態3に示すフローチャートを図10に示すフローチャートのように変更すれば実施できる。図10のフローチャートにおいて、図3と異なる点は、タッチ操作がある場合に、そのタッチ操作による指定箇所がユーザユニットかそれ以外であるかという判定処理を行っていることと(ステップS1001)、ユーザユニット以外の箇所を指定している場合に、スワイプ操作で示される方向にユーザユニットの向きを転換させる方向転換処理(ステップS1002)を行うことにある。
このようにユニットに向きを設定した場合には、ユニットが向いている向きの方向にしか移動できないという設定になっていれば、どのようにユーザユニットを進めれば、目的地に到達できるか考慮することになるため、より戦略性の高いゲームとすることができる。
また、戦闘を行う場合には、例えば、ユーザユニット(敵ユニット)が敵ユニット(ユーザユニット)を攻撃する際に、相手の背後から攻撃する場合には、相手の正面から攻撃する場合よりも、与えるダメージが2倍になるといった処理を取り入れてもよい。また、側面から攻撃する場合には、与えるダメージが1.5倍にすることとしてもよい。こうすることで、より戦略性の高いゲームを提供することができる。
その他の移動手法としては、例えば、回転移動を実行する構成をとってもよい。
図11にその一具体例を示す。図11は、回転移動を行う場合のユーザユニットの移動例を示す図である。
例えば、図11(a)に示すように、マス3cにユーザユニット300aが、マス4cにユーザユニット300bが、マス5cにユーザユニット300cが配置されているとする。
そして、この状態で、ユーザはマス5fをタッチしつつ、円弧を描くようなスワイプ入力を行ったとする。
すると、図11(b)に示すように、ユーザユニット群は、ユーザがタッチしていた位置、マス(5、f)を回転の中心とした回転移動を行った位置に移動する。すなわち、ユーザユニット300aは、マス2hに、ユーザユニット300bは、マス2gに、ユーザユニット300cは、マス2fに移動する。
なお、回転移動における回転角は、円弧を描いたスワイプ操作の始点と終点とタッチ操作の位置とがなす角度に依存することとしてもよいし、一回の円弧を描くスワイプ操作による回転移動の回転角は予め定められた値(例えば90度)に設定することとしてもよい。
このような移動処理を取り入れてもよい。
(6)上記実施の形態において、実施の形態におけるゲームでは、王冠を有するユーザユニット300fが目的地に到達させれば良いこととしたが、特定のユーザユニットではなくいずれかのユーザユニットを目的地に到達させるゲームであってもよい。
(7)上記実施の形態においては、記憶部120は、グループ情報を保持することとしているが、これは、ユーザユニット群がまとめて移動するために保持されているものであり、ユーザユニット群がまとめて移動できるのであれば、その他の情報であってもよい。例えば、ユーザユニット群の中に特定のユニットに他のユーザユニットが対応付けられた情報であってもよいし、各ユーザユニットのパラメータとして、まとめて移動することが前提のユニットであることを示す情報が付加されるという構成で実現することとしてもよい。
(8)上記実施の形態においては、ユーザがユーザキャラクタを操作して目的地に到達させる類のゲームを一例として説明したが、上記実施の形態に示した操作方法は、他のゲームに対しても適用できる。
例えば、操作する対象は、カードゲームにおけるカードであってもよい。そして、上記実施の形態に示した操作方法の利用方法として、カードゲームにおける複数のカードからなるデッキのカード交換操作として用いることができる。すなわち、複数枚数のカードからなるデッキのうち、デッキに残したいカードをタッチ操作で指定している状態で他の指でスワイプ操作を行って、タッチされていないカードが他のカードに変更される。あるいは、カードの裏表に意味がある場合に、カードを変更するのではなく、スワイプ操作により、タッチされていないカードの裏表を反転させることとしてもよい。
また、例えば、ストラテジーゲームのように、マップ上に建築物を配置したりすることができるゲームにおいて、上記実施の形態に示した操作方法は、複数の建物について、一部を残し、残りをまとめて移動させる操作に適用することができる。つまり、移動させたくない建物をタッチした状態で、他の指でスワイプ操作を行うと、残りの建物(タッチされていない建物)がスワイプ操作で示される方向に移動する。また、上記変形例(5)に示した回転移動も適用することとしてもよい。
さらには、盤面を移動させることができるようなゲーム(例えば、パズルゲーム)においても、盤面のうちの一部をタッチ操作により指定し、残りの盤面をスワイプ操作により移動させるというように適用することとしてもよい。
このように、上記実施の形態に示した、タッチ操作をしながら、他の指でスワイプ操作を行うという操作方法は、多様に用いることができる。
(9)上記実施の形態においては、所定のユーザユニットを移動させずに残りのユーザユニットをまとめて移動させる操作として、当該所定ユーザユニットをタッチしながら、スワイプ操作を行うこととしたが、これはその限りではない。当該所定のユーザユニットをタッチして、当該所定のユーザユニットを選択状態にしたのちに、指を離して、スワイプ操作を行うこととしてもよい。そして、当該スワイプ操作による移動の後に、所定のユーザユニットの選択状態を解除することとしてもよい。この操作方法の場合、ユーザは動かしたくないユーザユニットにタッチし続ける必要がなくなる。
(10)上記実施の形態においては、ユーザユニットは1マスずつ進むこととしたが、これはその限りではない。ユーザユニットが進むマス数は予め定められた2以上の所定のマス数進むこととしてもよいし、あるいは、スワイプ操作の始点と終点の間の距離に応じたマス数であってもよい。
(11)上記実施の形態においては、スワイプ操作は、一方向のみを指す(始点と終点により結ばれる直線)ものとして説明しているが、ユーザによっては、タッチし続けた状態で、折れ線のような入力操作を行う。この場合は、屈折した箇所を最初の終点かつ2つ目の始点として、2度のスワイプ操作を行ったものとして扱うこととしてよい。
(12)上記実施の形態においては、1マスには1ユニットのみしか配置できないこととしたが、これはその限りではない。1マスに複数のユニットが配置されることとしてもよいし、1のユニットが複数のマスを占有されるように配置されることとしてもよい。
(13)上記実施の形態においては、ユーザユニット群は、関連付部134により関連付けられたグループ情報が記憶部120に記憶されることとした。すなわち、上記実施の形態においては、ユーザユニット群は、予めゲームプログラムにより定められている例を説明している。しかし、これはその限りではない。
即ち、上記ゲームプログラムにおいて、ユーザがユーザユニット群として移動させるユーザユニットを指定できる機能を含んでもよい。指定の方法としては、様々に考えられるが、一例としては、所謂ドラッグ操作による範囲指定に含まれるユーザユニットをユーザユニット群として指定することとしてもよい。
(14)上記実施の形態においては、1つのユーザユニットをタッチ操作で指定して移動させないこととした。しかし、移動させないこととして指定できるユーザユニットは複数あってもよい。また、例えば、上記実施の形態において示したマップの端部に、列または行を指定できるマスを設け、当該マスをタッチしながらスワイプ操作を行った場合に、タッチにより指定している列または行に配置されているユーザユニットを移動させないユーザユニットとして固定することとしてもよい。また、逆に、指定している列または行に配置されているユーザユニット以外のユーザユニットを移動させないユーザユニットして固定することとしてもよい。
(15)上記実施の形態においては、ユーザユニットと敵ユニットが戦闘を行い、引き分けた場合(双方のHPが残った場合)、スワイプ操作で示される方向にユーザユニットが1マス進み、敵ユニットが1マス後退するという例を示したがこれはその限りではない。ユーザユニットと敵ユニットが戦闘を行い、引き分けた場合には、双方ともその場に留まることとしてもよい。
(16)上記ゲームの進行画面を、上記サーバ装置200が生成したデータに基づいて上記情報処理装置100に表示されるウェブ表示とし、その他のメニュー画面(上記実施の形態においては特に示していないが、例えば、ユーザユニットが何等かの特殊能力を使用可能な場合にその使用をユーザが指示するために用いるメニューや、ユーザユニットが複数種類存在する場合にそれらのうちいずれを使うのかを支持するためのメニューや、ゲームの開始、やり直し、ギブアップの入力をするためのメニューなど)などを、当該情報処理装置100にインストールされているネイティブアプリによって表示するネイティブ表示とするなど、当該ゲームは、上記サーバ装置200および情報処理装置100のそれぞれが処理の一部を担うハイブリッドゲームとすることもできる。
(17)情報処理装置100の各機能部は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。後者の場合、情報処理装置100またはサーバ装置200は、各機能を実現するソフトウェアであるゲームプログラムの命令を実行するCPU、上記ゲームプログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記ゲームプログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記ゲームプログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記ゲームプログラムは、当該ゲームプログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。本発明は、上記ゲームプログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
なお、上記ゲームプログラムは、例えば、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective-C、Java(登録商標)などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装できる。また、上記ゲームプログラムによって実現される各機能を実現する各部を備えた情報処理端末(例えば、情報処理装置100)と、上記各機能とは異なる残りの機能を実現する各部を備えたサーバとを含むゲームシステムも、本発明の範疇に入る。
(18)本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各手段、各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の手段やステップ等を1つに組み合わせたり、或いは分割したりすることが可能である。
(19)上記実施の形態および各種変形例に示す構成を適宜組み合わせることとしてもよい。
<補足>
ここで、本発明に係るゲームプログラム、コンピュータの制御方法および情報処理装置について、その一実施態様と、当該態様により奏する効果を説明する。
(a)本発明に係るゲームプログラムは、ゲームフィールド上に配置された複数のオブジェクトを移動させるゲームの進行を処理するゲームプログラムであって、コンピュータに、ユーザによるタッチ操作を検知可能な所定の入力面から当該タッチ操作に係る操作情報を受け付ける受付機能と、前記複数のオブジェクトを一群として関連付ける関連付け機能と、前記操作情報が所定の方向を示す方向操作である場合に、前記関連付けられた複数のオブジェクトを一群として前記方向操作により示される方向に向けて移動させる移動機能と、前記ゲームの画面上に、前記ゲームフィールドと前記ゲームフィールド上に配置された前記複数のオブジェクトを表示し、前記移動機能により移動処理が行われた場合に、当該移動処理にしたがって前記複数のオブジェクトを移動させて表示する表示処理機能とを実現させ、前記移動機能は、前記操作情報として前記複数のオブジェクトのうちのいずれかである第1オブジェクトを指定する指定操作を受けている状態で、前記操作情報として前記方向操作を受け付けた場合には、前記複数のオブジェクトから前記第1オブジェクトを除いた残余オブジェクトを一群として前記方向操作により示される方向に向けて移動させることを特徴とする。
また、本発明に係るコンピュータの制御方法は、ゲームフィールド上に配置された複数のオブジェクトを移動させるゲームの進行を処理するコンピュータの制御方法であって、ユーザによるタッチ操作を検知可能な所定の入力面から当該タッチ操作に係る操作情報を受け付ける受付ステップと、前記複数のオブジェクトを一群として関連付ける関連付けステップと、前記操作情報が所定の方向を示す方向操作である場合に、前記複数のオブジェクトを一群として前記方向操作により示される方向に向けて移動させる移動ステップと、前記ゲームの画面上に、前記ゲームフィールドと前記ゲームフィールド上に配置された前記複数のオブジェクトを表示し、前記移動ステップにおいて移動処理が行われた場合に、当該移動処理にしたがって前記複数のオブジェクトを表示する表示ステップとを含み、前記移動ステップは、前記操作情報として前記複数のオブジェクトのうちのいずれかである第1オブジェクトを指定する指定操作を受けている状態で、前記操作情報として前記方向操作を受け付けた場合には、前記複数のオブジェクトから前記第1オブジェクトを除いた残余オブジェクトを一群として前記方向操作により示される方向に向けて移動させるであることを特徴とする。
また、本発明に係るコンピュータは、ゲームフィールド上に配置された複数のオブジェクトを移動させるゲームの進行を処理する情報処理装置であって、ユーザによるタッチ操作を検知可能な所定の入力面から当該タッチ操作に係る操作情報を受け付ける受付手段と、前記複数のオブジェクトを一群として関連付ける関連付け手段と、前記操作情報が所定の方向を示す方向操作である場合に、前記関連付けられた複数のオブジェクトを一群として前記方向操作により示される方向に向けて移動させる移動手段と、前記ゲームの画面上に、前記ゲームフィールドと前記ゲームフィールド上に配置された前記複数のオブジェクトを表示し、前記移動手段により移動処理が行われた場合に、当該移動処理にしたがって前記複数のオブジェクトを表示する表示手段とを備え、前記移動手段は、前記操作情報として前記複数のオブジェクトのうちのいずれかである第1オブジェクトを指定する指定操作を受けている状態で、前記操作情報として前記方向操作を受け付けた場合には、前記複数のオブジェクトから前記第1オブジェクトを除いた残余オブジェクトを一群として前記方向操作により示される方向に向けて移動させるであることを特徴とする。
これにより、ユーザは、一つのタッチ操作と、一つのスワイプ操作という簡単な操作で、タッチ操作で指定しているオブジェクトを残しつつ、残りの複数のオブジェクトをまとめてスワイプ操作で示される方向に移動させることができる。すなわち、ユーザに煩雑な操作を強いることなく、特定のオブジェクトを動かさずに、複数のオブジェクトを移動させることができる。したがって、操作が簡単でありながら、複数のオブジェクトの複雑な移動を可能にしたゲームを提供することができる。
(b)上記(a)に係るゲームプログラムにおいて、前記ゲームフィールドには前記オブジェクトが進行できない移動不可能領域若しくは障害オブジェクトが設定されており、前記移動機能は、前記移動処理による移動において前記残余オブジェクトのうちのいずれかである第2オブジェクトが前記移動不可能領域若しくは前記障害オブジェクトによりその移動が阻まれる場合に、当該第2オブジェクトを移動させないこととしてもよい。
これにより、ユーザが複数のオブジェクトを移動させるにあたって、移動予定先に移動できないオブジェクトがある場合には、当該オブジェクトは、その場に残ることになる。したがって、複数のオブジェクトは基本的にまとめて動くという仕様でありながら、場合によっては移動しない場合もあることから、ユーザのオブジェクトの移動のさせ方によっては、わざと移動させないように運用することもできる。したがって、より戦略性の高いゲームを提供することができる。
(c)上記(a)または(b)に係るゲームプログラムにおいて、前記方向操作により示される方向に向けて前記第2オブジェクトを移動させない場合であって、前記移動機能は、前記方向操作により示される方向の直線上に前記第2オブジェクト以外の残余オブジェクトが存在する場合に、第2オブジェクト以外の残余オブジェクトも移動させないこととしてもよい。
これにより、移動先に移動できないオブジェクトがいるオブジェクトがある場合には、当該オブジェクトも移動することができない。したがって、ユーザは例えば、オブジェクトができるだけ移動できないということがないようにオブジェクト群を移動させたり、逆に、わざと、移動させないオブジェクトを生じさせてゲームを有利に進めたりするなどの戦略を考えることになる。したがって、より戦略性の高いゲームを提供することができる。
(d)上記(a)から(c)のいずれかに係るゲームプログラムにおいて、前記オブジェクトには向きがあり、前記ゲームプログラムは、さらに、前記コンピュータに、前記操作情報として前記複数のオブジェクト以外の箇所を指定する指定操作を受けている状態で、前記操作情報として前記方向操作を受け付けた場合には、前記複数のオブジェクト各々の向きを前記方向操作により示される方向に対して変更する方向転換機能を実現させるであることを特徴とする。
これにより、オブジェクトに向きがある場合には、オブジェクトを指定しない位置をタッチし、オブジェクトを向かせたい方向に向けてスワイプ操作を行うことで、複数のオブジェクトの向きを、簡単にまとめて変更することができる。例えば、ゲームが敵との対戦処理も含む場合に、攻撃を受けた向きに応じて(正面からの攻撃、側面からの攻撃、背後からの攻撃)、ダメージが変化するような構成にすることで、より戦略性の高いゲームを提供することができる。
なお、本願の出願当初の請求項を以下に付記する。
[1]
ゲームフィールド上に配置された複数のオブジェクトを移動させるゲームの進行を処理するゲームプログラムであって、
コンピュータに、
ユーザによるタッチ操作を検知可能な所定の入力面から当該タッチ操作に係る操作情報を受け付ける受付機能と、
前記複数のオブジェクトを一群として関連付ける関連付け機能と、
前記操作情報が所定の方向を示す方向操作である場合に、前記関連付けられた複数のオブジェクトを一群として前記方向操作により示される方向に向けて移動させる移動機能と、
前記ゲームの画面上に、前記ゲームフィールドと前記ゲームフィールド上に配置された前記複数のオブジェクトを表示し、前記移動機能により移動処理が行われた場合に、当該移動処理にしたがって前記複数のオブジェクトを移動させて表示する表示処理機能とを実現させ、
前記移動機能は、前記操作情報として前記複数のオブジェクトのうちのいずれかである第1オブジェクトを指定する指定操作を受けている状態で、前記操作情報として前記方向操作を受け付けた場合には、前記複数のオブジェクトから前記第1オブジェクトを除いた残余オブジェクトを一群として前記方向操作により示される方向に向けて移動させることを特徴とするゲームプログラム。
[2]
前記ゲームフィールドには前記オブジェクトが進行できない移動不可能領域若しくは障害オブジェクトが設定されており、
前記移動機能は、前記移動処理による移動において前記残余オブジェクトのうちのいずれかである第2オブジェクトが前記移動不可能領域若しくは前記障害オブジェクトによりその移動が阻まれる場合に、当該第2オブジェクトを移動させないことを特徴とする[1]に記載のゲームプログラム。
[3]
前記方向操作により示される方向に向けて前記第2オブジェクトを移動させない場合であって、前記方向操作により示される方向の直線上に前記第2オブジェクト以外の残余オブジェクトが存在する場合に、前記移動機能は、第2オブジェクト以外の残余オブジェクトも移動させないことを特徴とする[2]に記載のゲームプログラム。
[4]
前記オブジェクトには向きがあり、
前記ゲームプログラムは、さらに、前記コンピュータに、
前記操作情報として前記複数のオブジェクト以外の箇所を指定する指定操作を受けている状態で、前記操作情報として前記方向操作を受け付けた場合には、前記複数のオブジェクト各々の向きを前記方向操作により示される方向に対して変更する方向転換機能を実現させる
ことを特徴とする[1]に記載のゲームプログラム。
[5]
ゲームフィールド上に配置された複数のオブジェクトを移動させるゲームの進行を処理するコンピュータの制御方法であって、
ユーザによるタッチ操作を検知可能な所定の入力面から当該タッチ操作に係る操作情報を受け付ける受付ステップと、
前記複数のオブジェクトを一群として関連付ける関連付けステップと、
前記操作情報が所定の方向を示す方向操作である場合に、前記関連付けられた複数のオブジェクトを一群として前記方向操作により示される方向に向けて移動させる移動ステップと、
前記ゲームの画面上に、前記ゲームフィールドと前記ゲームフィールド上に配置された前記複数のオブジェクトを表示し、前記移動ステップにおいて移動処理が行われた場合に、当該移動処理にしたがって前記複数のオブジェクトを表示する表示処理ステップとを含み、
前記移動ステップは、前記操作情報として前記複数のオブジェクトのうちのいずれかである第1オブジェクトを指定する指定操作を受けている状態で、前記操作情報として前記方向操作を受け付けた場合には、前記複数のオブジェクトから前記第1オブジェクトを除いた残余オブジェクトを一群として前記方向操作により示される方向に向けて移動させることを特徴とする制御方法。
[6]
ゲームフィールド上に配置された複数のオブジェクトを移動させるゲームの進行を処理する情報処理装置であって、
ユーザによるタッチ操作を検知可能な所定の入力面から当該タッチ操作に係る操作情報を受け付ける受付手段と、
前記複数のオブジェクトを一群として関連付ける関連付け手段と、
前記操作情報が所定の方向を示す方向操作である場合に、前記関連付けられた複数のオブジェクトを一群として前記方向操作により示される方向に向けて移動させる移動手段と、
前記ゲームの画面上に、前記ゲームフィールドと前記ゲームフィールド上に配置された前記複数のオブジェクトを表示し、前記移動手段により移動処理が行われた場合に、当該移動処理にしたがって前記複数のオブジェクトを表示する表示処理手段とを備え、
前記移動手段は、前記操作情報として前記複数のオブジェクトのうちのいずれかである第1オブジェクトを指定する指定操作を受けている状態で、前記操作情報として前記方向操作を受け付けた場合には、前記複数のオブジェクトから前記第1オブジェクトを除いた残余オブジェクトを一群として前記方向操作により示される方向に向けて移動させることを特徴とする情報処理装置。