本開示の実施形態に係るゲームプログラム、記録媒体、方法および情報処理装置の具体例を、以下に図面を参照しつつ説明する。本開示はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が本開示に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
<ユーザ端末とゲーム端末との関係及び構成>
図1は、ユーザ端末100(情報処理装置)およびゲームサーバ200の構成を示す図である。まず、図1を用いて、ゲームシステム1で用いられるユーザ端末100(情報処理装置)とゲームサーバ200との関係及びそれぞれの構成について説明する。ゲームシステム1は、複数のユーザ端末100と、ゲームサーバ200と、を含む。各ユーザ端末100とゲームサーバ200とは、ネットワーク2を介して接続されている。ネットワーク2は、インターネット、図示しない無線基地局によって構築される各種移動通信システム(例えば、所謂3G、4G移動通信システム、LTE(Long Term Evolution))、または、所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えば、WiFi(登録商標))を含み得る。
ユーザ端末100は、スマートフォン、フィーチャーフォン、PDA(Personal Digital Assistant)、または、タブレット型コンピュータ等の携帯端末であることがより好ましい。ユーザ端末100は、通信バスによって互いに電気的に接続されたプロセッサ10と、メモリ11と、ストレージ12と、通信インターフェース(IF)13と、入出力IF14と、タッチスクリーン15とを備える。
入出力IF14は、USB(Universal Serial Bus)等を介した各種データ入出力機能および音声入出力機能を備える。
タッチスクリーン15は、入力部151と表示部152とを組み合わせた電子部品である。入力部151は、タッチセンシティブなデバイスであり、例えば、タッチパッド等によって構成される。また、表示部152は、例えば、液晶ディスプレイ、または、有機EL(electro-luminescence)ディスプレイ等によって構成される。入力部151は、タッチスクリーン15に対するユーザの指またはスタイラスといった物体の接触を検知し、検知結果を入力操作として受け付ける。なお、入力部151は、物体の接触に加えて、物体の近接も検知する構成であってもよい。入力部151は、当該操作入力に含まれるユーザの作用(主に、スワイプ操作、フリック操作、及びタップ操作等の物理的接触操作)が入力された画面位置の情報を検知して、該情報を外部へ情報信号として出力する機能を備える。タッチスクリーン15はタッチセンシティブであればよい。タッチセンシティブなデバイスは、静電容量方式、または、抵抗膜方式等のどのような方式を採用したものであってもよい。
ゲームサーバ200は、ゲームに関する各種サービスを各ユーザ端末100に提供する。ゲームサーバ200は、ワークステーション、パーソナルコンピュータ等の汎用コンピュータであることがより好ましい。ゲームサーバ200は、通信バスにより互いに電気的に接続されたプロセッサ20と、メモリ21と、ストレージ22と、通信インターフェース(IF)23と、入出力IF24とを備える。
プロセッサ10、20は、CPU(Central Processing Unit)やMPU(Micro processing unit)、GPU(Graphics Processing Unit)等を含んで構成される。プロセッサ10は、ユーザ端末100全体の動作を制御する。プロセッサ20は、ゲームサーバ200全体の動作を制御する。メモリ11、21は、主記憶装置であり、ROM(Read Only Memory)およびRAM(Random Access Memory)等を含んで構成される。ストレージ12、22は、補助記憶装置であり、フラッシュメモリまたはHDD(Hard Disk Drive)などの不揮発性記憶装置を含んで構成される。メモリ11には、プロセッサ10がストレージ12からロードした各種プログラム及びデータが一時的に記憶される。メモリ21には、プロセッサ20がストレージ22からロードした各種プログラム及びデータが一時的に記憶される。これによりメモリ11はプロセッサ10に対して作業領域を提供する。メモリ21は、プロセッサ20に対して作業領域を提供する。
ゲームサーバ200のストレージ22にはゲームプログラム等のゲームデータが格納される。ユーザ端末100のストレージ12には、ゲームサーバ200からダウンロードされるゲームプログラム等のゲームデータが格納される。当該ゲームプログラムは、メモリ11、21に展開される。プロセッサ10は、メモリ11に展開されるゲームプログラムを実行する。プロセッサ20は、メモリ21に展開されるゲームプログラムを実行する。メモリ11には、プロセッサ10が当該ゲームプログラムに従って動作している間に生成した各種ゲームデータも一時的に格納される。メモリ21には、プロセッサ20が当該ゲームプログラムに従って動作している間に生成した各種ゲームデータも一時的に格納される。本実施形態では、前記各種データは所定のゲームプログラム、ユーザ情報、ゲーム情報等のゲームデータ、それらをユーザ端末100とゲームサーバ200との間に送受信させる指示、ゲームを進行させるための指示を含む。
通信IF13、23は、ユーザ端末100とゲームサーバ200との間で各種データを送受信するための通信制御機能を備える。通信制御機能には、例えば、無線LAN(Local Area Network)接続機能、有線LAN、無線LAN、携帯電話回線網を介したインターネット接続機能、および近距離無線通信機能等が含まれる。
ゲームサーバ200の入出力IF24は、マウス、キーボード等の情報入力機器である入力部、および、液晶ディスプレイ等の出力部を備えており、コンピュータの情報をモニタリングするために用いられる。
図2は、ユーザ端末100の機能的構成を示す図である。図2を用いてユーザ端末100の機能的構成について説明する。ユーザ端末100は、プロセッサ10、メモリ11、ストレージ12、通信IF13、入出力IF14等の協働により、制御部110及び記憶部120として機能し得る。記憶部120に格納されたゲームプログラムは主記憶上に展開され、制御部110において実行される。制御部110は、当該ゲームプログラムによって、入力操作受付部111、カメラ配置制御部112、表示制御部113およびオブジェクト制御部114として機能し得る。なお、主記憶上には、制御部110が当該プログラムに従って動作している間に生成した各種ゲームデータおよび制御部110によって利用される各種ゲームデータも一時的に格納される。記憶部120には、制御部110が前記各部として機能するために必要なデータが記憶されている。当該データとしては、例えば、ゲームプログラム、ゲーム情報、ユーザ情報が含まれる。ゲーム情報としては、オブジェクト管理テーブル、スキル管理テーブル、基準モーションデータ121、コンボデータ122、履歴情報テーブル(後述)、ユーザ管理テーブルが挙げられる。オブジェクト管理テーブルは、各種ゲームオブジェクトを管理するためのテーブルである。スキル管理テーブルは、ゲームキャラクタの各種スキルを管理するためのテーブルである。基準モーションデータ121は、各ゲームキャラクタのモーションを定義するためのテーブルである。コンボデータ122は、所定の条件で発生するコンボによってキャラクタに実行させる攻撃動作の内容(例えば、攻撃力、モーション等)を管理するためのテーブルである。履歴情報テーブルは、入力部151が検知した接触の位置を示す情報を複数含むテーブルである。ユーザ管理テーブルは、ゲームキャラクタに実行させたアクションの履歴等を含むテーブルである。
制御部110は、ユーザ端末100全体の動作を制御し、各要素間におけるデータの送受信、ゲームの実行に必要な演算処理その他の処理を行う。制御部110は、例えば、入力操作受付部111で検知された入力操作に基づいてゲームプログラムに従ったゲームを展開させ、その結果を示すゲーム画像を描画する。制御部110は、ゲームサーバ200から受信したユーザ情報、ゲームプログラムによる演算結果、入力操作受付部111で検知された入力操作に基づいてゲーム空間内におけるオブジェクトを操作する。オブジェクトとしては、例えば、キャラクタオブジェクト(ゲームキャラクタ)、対象オブジェクト(他のオブジェクト)が挙げられる。キャラクタオブジェクトとはゲームにおける、ユーザによる操作対象のオブジェクトである。また、対象オブジェクトとは、キャラクタオブジェクトが作用を及ぼす対象のオブジェクトである。また、制御部110は、ゲーム空間を撮影する仮想カメラの撮影画像を生成する。また、制御部110は、タッチスクリーン15に対する入力操作及び演算処理の結果等に基づいて、記憶部120に記憶されている各種データの更新等の処理を行なう。また、制御部110は、記憶部120に記憶された各種ユーザ情報及びゲーム情報を参照し、ゲーム進行に必要な各種判定を実行する。
入力操作受付部111は、入力部151に対するユーザの入力操作の種類を検知する。入力操作受付部111は、入力部151及びその他の入出力IF14を介したコンソールによる操作指示等から、いかなる操作がなされたかを判別する。入力操作受付部111は、判別した結果をカメラ配置制御部112等の必要な要素に出力する。入力操作受付部111が判別する入力操作の種類として、例えば、第1の入力操作、第2の入力操作が挙げられる。第1の入力操作は、タッチスクリーン15に対するタッチ位置を或る位置(第1の位置)から或る位置(第2の位置)へ移動させることにより入力される操作である。第1の入力操作としては、例えば、フリック操作、スワイプ操作が挙げられる。入力操作受付部111は、例えば、ユーザがタッチスクリーン15に対する第1の位置から或る位置へ、所定の時間よりも短い時間で移動させた後、接触を解除することにより入力される操作を「フリック操作」とする。なお、当該フリック操作の方向は、第1の位置と第2の位置とにより定まる。
また、入力操作受付部111は、タッチスクリーン15に対するタッチ位置を或る位置(第3の位置)から或る位置(第4の位置)へ移動させた後、タッチ位置を移動させた後の位置に維持させることにより入力される操作(第3の入力操作)を、「スワイプ操作」としてもよい。第2の入力操作は、タッチスクリーン15に対するタッチ位置を変化させずに入力される操作である。第2の入力操作としては、例えば、タップ操作が挙げられる。
入力操作受付部111は、タッチスクリーン15に対する物体の接触を検出しない状態から接触を検出したとき、「タッチオン状態」になったと判別する。また、入力操作受付部111は、タッチスクリーン15に対する物体の接触を検出していないとき、「タッチオフ状態」になったと判別する。また、入力操作受付部111は、逐次タッチスクリーン15に対するタッチ位置を示す履歴情報を、「タッチナウ状態」の履歴情報として受け付ける。
図3は、入力操作の種類を検知するために入力操作受付部111が参照する履歴情報テーブルの一例を示す図である。入力操作受付部111が入力操作の種類を判別する方法の一例を、図3を用いて説明する。図3では、配列fp[0]~配列fp[10]までの11個の配列のそれぞれに、入力部151が検知したタッチスクリーン15上の位置を示す履歴情報が格納されている。履歴情報は、所定の期間毎(例えば、フレームレート毎)に履歴情報テーブルに格納される。履歴情報が格納される配列の個数は限定されず、任意の個数であってよい。また、履歴情報テーブルでは、タッチオフからタッチオンになった場合に検知された履歴情報を、初期位置座標として記憶部120に構成される構成が好ましい。
図3のテーブルにおいて、例えば、配列fp[0]~配列fp[9]に、履歴情報(x0、y0)が格納されており、配列fp[10]にnull値が格納された場合、入力操作受付部111は、入力操作はタップ操作であると判別する。また、例えば、タッチナウ状態において履歴情報が変化した後に、null値が格納された場合、入力操作受付部111はnull値が格納された配列fp[5]の直前の配列fp[3]および配列fp[4]に格納されている履歴情報を参照する。
そして、入力操作受付部111は、配列fp[3]および配列fp[4]の履歴情報がそれぞれ示す位置の間の距離が予め設定された閾値以上である場合、入力操作はフリック操作であると判別する。
また、入力操作受付部111は、タッチナウ状態において履歴情報が変化した後に、例えば配列fp[4]~fp[10]に履歴情報(x15、y15)が格納された場合、入力操作はスワイプ操作であると判別する。
カメラ配置制御部112は、ゲーム空間を撮影する仮想カメラの配置を制御する。カメラ配置制御部112は、記憶部120に記憶されたユーザ情報、ゲームプログラムによる演算結果、および入力操作受付部111が検知した操作の種類に基づいて、ゲーム空間の視野を指定するための仮想カメラの配置を制御する。カメラ配置制御部112は、中央付近にキャラクタオブジェクトが表示されるように、仮想カメラを配置する構成が好ましい。カメラ配置制御部112は、仮想カメラの撮影画像を、表示制御部113に出力する。
表示制御部113は、仮想カメラの撮影画像を、表示部152に表示する。また、表示制御部113は、オブジェクト制御部114の指示により、オブジェクトを表示部152に表示させる。
オブジェクト制御部114は、ユーザによる入力操作、および/または、ゲームプログラムに基づいて、キャラクタオブジェクト、対象オブジェクト等のオブジェクトを制御する。例えば、オブジェクト制御部114は、キャラクタオブジェクトを移動させる制御、対象オブジェクトに対して作用を及ぼすためのアクションをキャラクタオブジェクトに実行させる制御等を行なう。また、オブジェクト制御部114は、入力操作受付部111が受け付けた入力操作に応じたオブジェクトを表示部152に表示するよう表示制御部113に指示する。
<ゲームキャラクタによるアクションの概要>
図4は、タッチスクリーン15に表示されるゲーム空間画像の一例を模式的に示す図である。ゲームキャラクタC1に実行させるアクションとしては、例えば、対象オブジェクトに作用を及ぼすためのアクション、移動するためのアクション等が挙げられる。作用としては、例えば、攻撃が挙げられる。対象オブジェクトに作用を及ぼすためのアクションとしては、例えば、攻撃動作が挙げられる。
また、対象オブジェクトの種類としては、例えば、ゲームキャラクタC1に対して攻撃動作等を行なう敵キャラクタC2や、ゲームキャラクタC1の移動を妨げる障害物が挙げられる。また、移動とは、ゲーム空間におけるゲームキャラクタC1の位置を変更するためのアクションである。移動するためのアクションとしては、例えば、歩行、走行、他のオブジェクトまたは他のオブジェクトによる攻撃動作を避けるための回避動作が挙げられる。
タッチナウの状態でタッチ位置が位置L1から位置L2へ移動するタッチ操作を受け付けると、弾性オブジェクトE1を当該タッチ操作の方向側に引き伸ばすように変形させた弾性オブジェクトE2がタッチスクリーン15に表示される。ゲームキャラクタC1は、当該タッチ操作の方向に移動する。
以下では、斧を所持するゲームキャラクタC1と敵キャラクタC2との間で行われる戦闘の概要を、図5(A)に示す敵キャラクタ攻撃力管理テーブルTBL1、図5(B)に示すゲームキャラクタ防御力管理テーブルTBL2、図5(C)に示すシールド防御力管理テーブルTBL3、図5(D)に示す特殊攻撃管理テーブルTBL4、図5(E)に示すダメージレジスタRGST1を参照して説明する。
(敵キャラクタ攻撃力管理テーブル)
敵キャラクタ攻撃力管理テーブルTBL1には、敵キャラクタC2が発動可能な攻撃スキルとして、スキルA1~A3が登録される。例えば、スキルA1は火を吹くスキルであり、スキルA2はゲームキャラクタC1に体当たりするスキルであり、スキルA3は空から多数の隕石を降らせるスキルである。また、スキルA1には攻撃力ATK1が関連付けられ、スキルA2には攻撃力ATK2が関連付けられ、スキルA3には攻撃力ATK3が関連付けられる。攻撃力の大きさはスキルに応じて異なり、敵キャラクタC2がどの攻撃スキルを発動するかは、各種ユーザ情報及びゲーム情報に基づいて特定される。
(ゲームキャラクタ防御力管理テーブル)
ゲームキャラクタ防御力管理テーブルTBL2には、ゲームキャラクタC1が装備可能な防御アイテムとして、アイテムD1~D3が登録される。例えば、アイテムD1はマントであり、アイテムD2は盾であり、アイテムD3は鎧である。また、アイテムD1には防御力DEF1が関連付けられ、アイテムD2には防御力DEF2が関連付けられ、アイテムD3には防御力DEF3が関連付けられる。防御力の大きさはアイテムやキャラクタとの相性に応じて異なり、ゲームキャラクタC1がどの防御アイテムを装備しているかは、各種ユーザ情報及びゲーム情報に基づいて特定される。
(シールド防御力管理テーブル)
ゲームキャラクタC1の周辺には、ユーザのロングタップ操作に応じて、図6(A)に示す第1段階のシールドSLD1、または図6(B)に示す第2段階のシールドSLD2が形成される。具体的には、シールドSLD1またはSLD2を表す画像が、当該シールドの形成とともに、ゲーム空間画像に表示される。シールドSLD1またはSLD2の形成により、敵キャラクタC2がゲームキャラクタC1に及ぼす攻撃によるダメージが抑制される。このため、シールドSLD1またはSLD2が形成されている状態が、抑制状態に相当する。
ここで、シールドSLD1は、ロングタップ操作が行われたと判定されることにより形成される。ただし、ロングタップ操作が行われたと判定されたタイミングT1と、敵キャラクタC2が攻撃を実行(例えば開始)したタイミングT2との一致度合いが高いとき(ジャスト防御に成功したとき)には、シールドSLD2が形成される。タイミングT1とタイミングT2との一致度合いが高いときとは、例えば、タイミングT1とタイミングT2との時間差が所定範囲Ts(Tsは例えば0.1秒)内であるときをいう。
これを踏まえて、シールド防御力管理テーブルTBL3には、第1段階のシールドSLD1の防御範囲および防御力としてR1およびDEF11が登録され、第2段階のシールドSLD1の防御範囲および防御力としてR2およびDEF12が登録される。
ここで、防御力とは、具体的には敵キャラクタC2から受けるダメージを抑制する能力のことであり、防御力DEF12は防御力DEF11よりも大きい。また、防御範囲R2は防御範囲R1よりも広い。このため、ゲームキャラクタC1に味方する別のキャラクタがゲームキャラクタC1の傍にいる場合には、防御範囲が広いシールドSLD2を形成することにより、当該別のキャラクタが敵キャラクタC2から受けるダメージを抑制することができる。
(特殊攻撃管理テーブル)
特殊攻撃管理テーブルTBL4には、特殊フラグとバーストゲージ値とが登録される。このうち、特殊フラグは、特殊攻撃が実行可能となったときにセットされ、特殊攻撃を実行する際にリセットされる。また、バーストゲージ値は、ゲームキャラクタC1が通常攻撃を実行したときに増大量Sだけ増大され、シールドSLD1が形成されている状態で敵キャラクタC2から攻撃を受けたときに増大量Mだけ増大され、シールドSLD2が形成されている状態で敵キャラクタC2から攻撃を受けたときに増大量Lだけ増大される。
ここで、増大量Sと、増大量Mと、増大量Lとの間には、L>M>Sの関係が成立する。即ち、増大量Lが最も大きく、増大量Mが増大量Lの次に大きく、増大量Sが最も小さい。さらに、バーストゲージ値は、タッチスクリーン15の上段のバーストゲージG1(図4参照)に反映される。なお、敵キャラクタC2との戦闘を開始する時点では、特殊フラグは例えばリセットされ、バーストゲージ値は例えば0に設定される。
(ダメージレジスタ)
ダメージレジスタRGST1には、ゲームキャラクタC1の蓄積差分ダメージTDMが登録される。当該蓄積差分ダメージTDMは、敵キャラクタC2からの攻撃によるダメージのうちシールドSLD1またはSLD2により抑制されるダメージの度合いに基づいて更新される。具体的には、蓄積差分ダメージTDMは、シールドSLD1およびSLD2のいずれも形成されていなかったらゲームキャラクタC1が受けていたダメージDM1と、シールドSLD1またはSLD2が形成されている状態でゲームキャラクタC1が実際に受けたダメージDM2との差分ΔDMを蓄積することにより特定される。
ダメージDM1は、敵キャラクタC2が発動した攻撃スキルの攻撃力と、ゲームキャラクタC1が装備している防御アイテムの防御力とにより特定される。また、ダメージDM2は、敵キャラクタC2の攻撃時に形成されているシールドの防御力に基づいてダメージDM1を減じることにより特定される。この結果、ダメージDM2は、ダメージDM1よりも小さくなる。なお、敵キャラクタC2との戦闘を開始する時点では、蓄積差分ダメージTDMは、例えば0に設定される。
(戦闘の概要)
まず、仮想カメラが撮影したゲーム空間画像が、タッチスクリーン15に表示される。ここで、仮想カメラの向きは、当該ゲーム空間画像の所定位置にゲームキャラクタC1が配置されるように設定される。この結果、タッチスクリーン15には、ゲームキャラクタC1の位置を基準として予め定められた範囲内のゲーム空間の画像が表示される。
なお、敵キャラクタC2がゲームキャラクタC1の位置から所定範囲内に存在する場合は、ゲームキャラクタC1が敵キャラクタC2を向くように、ゲームキャラクタC1の向きが設定される。所定範囲とは、例えば、ゲームキャラクタC1による攻撃が可能な攻撃可能範囲であってもよく、攻撃可能範囲に加えてタッチスクリーン15に表示されている範囲などであってもよい。
タッチスクリーン15に対するタップ操作(タッチされる時間が例えば0.1秒未満のタッチ操作)が行われると、敵キャラクタC2に対する通常攻撃が、ゲームキャラクタC1により実行される。特殊攻撃管理テーブルTBL4上のバーストゲージ値は、通常攻撃が実行される毎に増大する。
例えば、通常攻撃は、タップ操作を連続させることで、1段目、2段目、3段目までコンボ攻撃が可能である。即ち、ゲームキャラクタC1が斧を所持している状態で、ユーザがタップ操作を繰り返すと、ゲームキャラクタC1は、敵キャラクタC2に対して、水平切り、斜め切り、垂直切りの3段階の攻撃を実行する。ここで、攻撃力は、段階が進むにつれて高くなる。
なお、コンボ攻撃を行う場合、バーストゲージ値の増大量Sは、段階が進むにつれて大きくするようにしてもよい。即ち、増大量Sの大きさは、例えば段階が進むにつれて10%ずつ大きくなるようにしてもよい。なお、3段階の攻撃による増大量は、シールドSLD1が形成されている状態で敵キャラクタC2から攻撃を受けたときの増大量Mよりも小さいものであればよい。
タッチスクリーン15に対するロングタップ操作(タッチ時間が所定時間(例えば0.2秒)を上回るタップ操作)が行われると、ゲーム空間画像におけるゲームキャラクタC1の周りにシールドSLD1またはSLD2が形成される。特殊攻撃管理テーブルTBL4上のバーストゲージ値は、シールドSLD1またはSLD2が形成されている状態で敵キャラクタC2による攻撃がヒットする毎に増大する。
また、シールドSLD1またはSLD2が形成されている状態で敵キャラクタC2からの攻撃がゲームキャラクタC1にヒットすると、当該シールドの形成により抑制されたダメージ(具体的には、ダメージDM1とダメージDM2との差分ΔDM)が特定され、当該差分ΔDMがダメージレジスタRGST1上の蓄積差分ダメージTDMに加算される。
バーストゲージ値が最大値に達すると、図6(A)に示すシールドSLD1または図6(B)に示すシールドSLD2の周りにオーラが発生される。具体的には、オーラを表す画像が、当該オーラの発生とともに、ゲーム空間画像上のシールドSLD1またはSLD2の周りに表示される。これによって、ユーザは、特殊攻撃が実行可能であることを認識する。この状態でロングタップ操作が解除されると、解除直前のタッチ位置がどの位置であっても(即ち、ロングタップ操作中にタッチ位置をどの位置に移動させても)、シールドおよびオーラが解除され、通常攻撃では行われることのないアクションを伴う特殊攻撃がゲームキャラクタC1により実行される。
ここで、特殊攻撃が実行される実行時間や特殊攻撃の攻撃力は、蓄積差分ダメージTDMに基づいて規定される。また、特殊攻撃は、通常攻撃よりも、攻撃対象となる範囲が広い。また、特殊攻撃における攻撃力は、通常攻撃における攻撃力よりも高くなるように定められている。さらに、特殊攻撃が実行される間は、ゲームキャラクタC1は無敵状態となる。ゲームの進行におけるゲームキャラクタC1の有利度合いは、当該特殊攻撃の実行により向上する。蓄積差分ダメージTDMおよびバーストゲージ値は、特殊攻撃の終了後に0に戻される。
なお、通常攻撃においてコンボ攻撃を行う場合、攻撃力は3段目の通常攻撃において最大となる。ただし、特殊攻撃の攻撃力は、蓄積差分ダメージTDMが最低値であっても、当該3段目の通常攻撃よりも高く(攻撃力a)、蓄積差分ダメージTDMが大きくなる程、高くなる。また、特殊攻撃における攻撃力の最大値は、最小値(攻撃力a)の例えば2.5倍になる。
<ゲームシステムの処理の態様例>
図7は、ゲームシステム1によって実行される戦闘処理の流れを示すフローチャートの一例である。なお、当該戦闘処理は、入力操作受付部111、カメラ配置制御部112、表示制御部113、オブジェクト制御部114によって、所定時間(例えば、2msec等)毎に繰り返し実行される。また、以下の説明において、フローチャートを用いて説明する一連の処理ステップの流れは、ユーザ端末100によって実行されるものとして記載しているが、これらの処理ステップの少なくとも一部が、ゲームサーバ200によって実行されてもよい。
ステップS01では、仮想カメラが撮影したゲーム空間画像をタッチスクリーン15に表示する。ここで、仮想カメラの向きは、当該ゲーム空間画像の所定位置にゲームキャラクタC1が配置されるように設定される。この結果、タッチスクリーン15には、ゲームキャラクタC1の位置を基準とする予め定められた範囲内のゲーム空間の画像が表示される。ステップS02では、ロングタップ操作が行われたか否かを、タッチスクリーン15に対する入力操作に基づいて判定する。
当該ロングタップ操作が行われたと判定されなかったときは、ステップS03に進み、タップ操作が行われたか否かを、タッチスクリーン15に対する入力操作に基づいて判定する。当該タップ操作が行われた判定されたときは、ステップS04に進み、敵キャラクタC2に対する通常攻撃をゲームキャラクタC1に実行させる。敵キャラクタC2は、当該通常攻撃によってダメージを受ける。即ち、当該通常攻撃に対応する作用が敵キャラクタC2に及ぼされる。
ステップS05では、特殊攻撃管理テーブルTBL4上のバーストゲージ値を増大量Sだけ増大させる。通常攻撃においてコンボ攻撃を行う場合、バーストゲージ値の増大量Sは、段階が進むにつれて大きくなる。ゲーム空間画像上のバーストゲージG1には、こうして増大されたバーストゲージ値が反映される。今回の戦闘処理は、ステップS05の処理の後に終了する。
ステップS02において、ロングタップ操作が行われた判定されたとき(タッチ時間が継続した時間が所定時間に達したと判定されたとき)は、ステップS11に進む。ステップS11では、シールドSLD1またはSLD2が既に形成されているか否かを、各種ユーザ情報及びゲーム情報に基づいて判定する。当該シールドが既に形成されていると判定されたときはステップS15に進み、当該シールドが既に形成されていると判定されなかったときはステップS12に進む。
ステップS12では、ジャスト防御に成功したか否かを、ロングタップ操作が行われたと判定されたタイミングT1と、敵キャラクタC2が攻撃を実行(開始)したタイミングT2とに基づいて判定する。
当該ジャスト防御に成功したと判定されたときは、ステップS13に進み、シールドSLD2をゲームキャラクタC1の周りに形成する。具体的には、当該シールドSLD2を表す画像を、ゲーム空間画像上のゲームキャラクタC1の周りに表示する。当該シールドSLD2は、防御範囲および防御力がそれぞれR2およびDEF12に設定された第2段階の防御効果を奏する(図6(B)参照)。
一方、当該ジャスト防御に成功したと判定されなかったときは、ステップS14に進み、シールドSLD1をゲームキャラクタC1の周りに形成する。具体的には、当該シールドSLD1を表す画像を、ゲーム空間画像上のゲームキャラクタC1の周りに表示する。当該シールドSLD1は、防御範囲および防御力がそれぞれR1およびDEF11に設定された第1段階の防御効果を奏する(図6(A)参照)。
ステップS15では、敵キャラクタC2からの攻撃がゲームキャラクタC1にヒットしたか否かを、各種ユーザ情報及びゲーム情報に基づいて判定する。当該攻撃がヒットしたと判定されたときはステップS16に進み、当該攻撃がヒットしたと判定されなかったときはステップS22に進む。
ステップS16では、ステップS12の処理結果に基づいてゲームキャラクタC1の周りに形成されているシールドがシールドSLD2であるか否かを判定する。シールドSLD2であると判定されたときは、ステップS17に進み、特殊攻撃管理テーブルTBL4上のバーストゲージ値を増大量Lだけ増大させる。一方、シールドSLD2であると判定されなかったときは、ステップS18に進み、特殊攻撃管理テーブルTBL4上のバーストゲージ値を増大量Mだけ増大させる。ゲーム空間画像上のバーストゲージG1には、増大後のバーストゲージ値が反映される。
ここで、防御範囲R2は防御範囲R1よりも広く、防御力DEF12は防御力DEF1よりも大きい。この結果、ゲームキャラクタC1に味方する別のキャラクタが防御範囲R2の内側に存在する場合は、当該味方のキャラクタが敵キャラクタC2から受けるダメージも抑制される。また、ジャスト防御が成功した場合にシールドSLD2を形成することにより、ユーザは、ジャスト防御が成功するロングタップ操作の習熟を促される。
ステップS19では、シールドSLD1またはSLD2が形成されていなかった場合においてゲームキャラクタC1が受けていたダメージDM1を特定する。具体的には、敵キャラクタC2が今回使用した攻撃スキルを各種ユーザ情報及びゲーム情報に基づいて特定し、当該攻撃スキルに関連付けられている攻撃力を敵キャラクタ攻撃力管理テーブルTBL1上で特定する。また、ゲームキャラクタC1が装備している防御アイテムを各種ユーザ情報及びゲーム情報に基づいて特定し、当該防御アイテムに関連付けられている防御力をゲームキャラクタ防御力管理テーブルTBL2上で特定する。その後、当該攻撃力および当該防御力に所定演算を施すことにより、ダメージDM1を特定する。なお、ゲームキャラクタC1にシールドが形成されていないときには、当該ダメージDM1を受けることになる。
ステップS20では、シールドSLD1またはSLD2が形成されている状態でゲームキャラクタC1が実際に受けたダメージDM2を特定する。具体的には、シールドSLD1およびSLD2のいずれか形成されているかを各種ユーザ情報及びゲーム情報に基づいて特定し、当該シールドに対応する防御力をシールド防御力管理テーブルTBL3上で特定する。次に、ステップS19で特定したダメージDM1を当該防御力に基づいて減じる所定演算により、ダメージDM2を特定する。
ステップS21では、ダメージDM1とダメージDM2との差分ΔDM(=DM1-DM2)を、ダメージレジスタRGST1上の蓄積差分ダメージTDMに加算する。即ち、敵キャラクタC2から及ぼされる作用のうちシールドSLD1またはSLD2により抑制された作用の度合いに基づいて、蓄積差分ダメージTDMを更新する。ステップS21の処理が完了すると、ステップS22に進む。
ステップS22では、特殊フラグがセットされているか否かを、特殊攻撃管理テーブルTBL4に基づいて判定する。当該特殊フラグがセットされていると判定されなかったときは、ステップS23に進み、バーストゲージ値が最大値に達しているか否かを、特殊攻撃管理テーブルTBL4に基づいて判定する。ステップS22において特殊フラグがセットされていると判定されたとき、またはステップS23においてバーストゲージ値が最大値に達していると判定されなかったときは、今回の戦闘処理を終了する。
ステップS23においてバーストゲージ値が最大値に達していると判定されたときは、ステップS24に進み、ゲーム空間画像のうちシールドSLD1またはSLD2の周りにオーラを発生させる。具体的には、オーラを表す画像を、ゲーム空間画像上のシールドSLD1またはSLD2の周りに表示する。当該オーラの発生により、ユーザは、特殊攻撃が実行可能であることを認識する。ステップS25では、特殊攻撃管理テーブルTBL4上の特殊フラグをセットする。これにより、今回のロングタップ操作が解除されたときに特殊攻撃を発動させることが可能となる。今回の戦闘処理は、ステップS25の処理の後に終了する。
ステップS03においてタップ操作が行われたと判定されなかったときは、ステップS06に進む。ステップS06では、特殊フラグがセットされているか否かを特殊攻撃管理テーブルTBL4に基づいて判定する。当該特殊フラグがセットされていると判定されたときは、ステップS07に進む。換言すれば、特殊フラグがセットされている状態でロングタップ操作が解除されると、ステップS07に進む。
ステップS07では、特殊攻撃管理テーブルTBL4上の特殊フラグをリセットするとともに、シールドSLD1またはSLD2とオーラとを解除する。具体的には、シールドSLD1またはSLD2を表す画像とオーラを表す画像とを非表示とする。ステップS08では、通常攻撃では行われることのないアクションを伴う特殊攻撃をゲームキャラクタC1に実行させる。敵キャラクタC2が特殊攻撃の攻撃範囲内に位置するときには、当該特殊攻撃によってダメージを受ける。即ち、当該特殊攻撃に対応する作用が敵キャラクタC2に及ぼされる。
特殊攻撃が実行される実行時間や特殊攻撃の攻撃力は、蓄積差分ダメージTDMに基づいて規定される。また、特殊攻撃における攻撃力は、通常攻撃における攻撃力よりも高い範囲において、蓄積差分ダメージTDMの値が大きいほど増大する。特殊攻撃による攻撃範囲は、ゲームキャラクタC1が向いている方向における所定の範囲となる。所定の範囲は、蓄積差分ダメージTDMに関わらず、通常攻撃の範囲よりも広い固定的な範囲とされる。さらに、特殊攻撃が実行される間は、ゲームキャラクタC1は無敵状態となる。この結果、ゲームの進行におけるゲームキャラクタC1の有利度合いが向上する。
ステップS08の処理が完了すると、ステップS09に進み、ダメージレジスタRGST1上の蓄積差分ダメージTDMと、特殊攻撃管理テーブルTBL4上のバーストゲージ値との各々を0に戻す。今回の戦闘処理は、ステップS09の処理の後に終了する。
ステップS06において、特殊フラグがセットされていると判定されなかったときは、ステップS10に進む。ステップS10では、スワイプ操作の方向にゲームキャラクタC1を移動させる処理や、シールドSLD1またはSLD2を解除する処理や、フリック操作の方向への回避動作をゲームキャラクタC1に行わせる処理などの他の処理を実行する。今回の戦闘処理は、ステップS10の処理の後に終了する。
<本実施形態の効果>
本実施形態によれば、ユーザが操作可能なゲームキャラクタC1と、当該ゲームキャラクタC1を攻撃する敵キャラクタC2とが、ゲーム空間画像に表示される。ユーザによりロングタップ操作が行われると、敵キャラクタC2からゲームキャラクタC1への攻撃を抑制するためのシールドSLD1またはSLD2が形成される。蓄積差分ダメージTDMは、敵キャラクタC2からの攻撃のうち当該シールドの形成により抑制される攻撃の度合いに基づいて更新される。特殊攻撃は、蓄積差分ダメージTDMが大きくなるほどユーザの有利度合いが高くなるように実行可能とされる。
ユーザ操作によりシールドSLD1またはSLD2が形成されている状態での敵キャラクタC2の攻撃に基づいて蓄積差分ダメージTDMを特定し、当該蓄積差分ダメージTDMが大きくなるほど特殊攻撃によるユーザの有利度合いを高くすることで、ユーザによるシールドの形成が促される。この結果、ゲームの興趣が向上する。
また、本実施形態によれば、特殊攻撃は、形成中のシールドを解除する際に実行可能となる。これによって、シールドにより抑制したダメージに基づいて特殊攻撃が実行されることを、ユーザに直感的に認識させることができる。
さらに、本実施形態によれば、蓄積差分ダメージTDMは、シールドSLD1またはSLD2が形成されていなかったらゲームキャラクタC1が受けていたダメージDM1と、シールドSLD1またはSLD2が形成されている状態でゲームキャラクタC1が実際に受けたダメージDM2との差分を蓄積することにより特定される。これによって、シールドSLD1の形成により抑制されたダメージを、蓄積差分ダメージTDMひいては特殊攻撃の攻撃力に反映させることができる。
さらに、本実施形態によれば、ロングタップ操作が行われたと判定されたタイミングT1と、敵キャラクタC2が攻撃を実行したタイミングT2との一致度合いが高いときの方が、当該一致度が低いときよりもシールドの抑制状態が高くなる。これにより、敵キャラクタC2の攻撃タイミングに応じてシールドを形成しようという動機付けが働く。
また、本実施形態によれば、ゲームの進行に応じてバーストゲージ値が最大値に達すると、特殊攻撃が実行可能となる。この結果、特殊攻撃による有利度合いは、複合的な要因(蓄積差分ダメージTDMおよびバーストゲージ値)に基づいて規定され、ゲームの興趣をさらに向上させることができる。
さらに、本実施形態によれば、バーストゲージ値は、シールドSLD1が形成されている状態で更新され、当該バーストゲージ値が最大値に達することにより、特殊攻撃が実行可能となる。この結果、シールドSLD1を形成した状態で敵キャラクタC2と戦闘を繰り広げることが、特殊攻撃を実行するための条件となる。これによって、ゲームの興趣を向上させることができる。
また、本実施形態によれば、ロングタップ操作が行われたと判定されたタイミングT1と、敵キャラクタC2が攻撃を実行したタイミングT2との一致度合いが高いときの方が、当該一致度が低いときよりも大きな値が、バーストゲージ値に加算される。これによって、敵キャラクタC2の攻撃タイミングに応じてシールドを形成しようという動機付けが働く。
さらに、本実施形態によれば、シールドは、タッチ操作が開始されたタイミングではなく、所定時間に亘りロングタップ操作が行われたと判定されたタイミングで形成される。このため、敵キャラクタからの攻撃に合せてシールドを形成するためには、ユーザは操作に習熟する必要がある。これにより、ゲームに対する愛着を促すことができる。
また、本実施形態によれば、ゲームの進行におけるユーザの有利度合いは、蓄積差分ダメージTDMに基づく特殊攻撃を実行可能とすることにより向上する。これによって、ゲームキャラクタC1と敵キャラクタC2との間で激しい戦闘が繰り広げられることとなり、ゲームの興趣が向上する。
さらに、本実施形態によれば、バーストゲージ値が最大値に達してからロングタップ操作が解除されるまでの期間に、特殊攻撃が実行可能であることを報知するオーラが発生される。これにより、ユーザは、特殊攻撃が実行可能であることを容易に認識できる。
<変形例>
以上説明した実施形態の変形例などを以下に列挙する。
(1) 上記実施形態においては、ゲームキャラクタC1の位置から所定範囲内に敵キャラクタC2が存在する場合に、当該敵キャラクタC2が存在する方向を向くように、ゲームキャラクタC1の向きが設定される。しかし、ゲームキャラクタC1の向きは、所定範囲内に敵キャラクタC2が存在するか否かにかかわらず、例えば、当該ゲームキャラクタC1の移動方向(進行方向)に設定されるものであってよい。この場合、攻撃の範囲は、ゲームキャラクタC1が向いている方向の所定範囲となるようにしてもよい。また、ロングタップ操作の継続中においては、タッチを継続させたままタッチ位置を移動させることにより、シールドを維持したまま、当該ゲームキャラクタC1の向きを変更できるようにしてもよい。ゲームキャラクタC1は、例えば、ロングタップ操作のタッチ開始位置から移動させたタッチ位置へのベクトル方向とは逆方向を向くようにしてもよい。これにより、特殊フラグが設定されており特殊攻撃を発動可能なときには、ロングタップ操作中においてタッチ位置を移動させることにより、ゲームキャラクタC1の向きを変更することによって当該特殊攻撃の範囲を変更できるようにしてもよい。
また、ロングタップ操作の継続中には、他のユーザ操作は受け付けられない。しかし、ユーザからロングタップ操作を受け付けたときにゲームキャラクタC1を所定の状態(溜め状態)にし、ロングタップ操作からタッチを継続させたままタッチ位置を移動させたときに、当該タッチ位置の移動方向にゲームキャラクタC1を移動させる(溜め状態のまま移動する、溜め歩き状態)ようにしてもよい。
また、溜め状態のまま移動させる場合には、敵キャラクタC2を向いたままゲームキャラクタC1を移動させるものに限らず、ゲームキャラクタC1の向きをゲームキャラクタC1の移動方向に切り替えて移動させるようにしてもよい。
(2) 上記実施形態においては、有利制御として、特殊攻撃を例示したが、これに限らず、ゲームキャラクタC1が装備する攻撃アイテムや防御アイテムをより高性能のアイテムに切り替える制御や、ゲームキャラクタC1が発動可能な攻撃スキルの威力を高める制御や、ゲームキャラクタC1とともに敵キャラクタC2と戦闘を行う他のキャラクタが存在する場合において、当該他のキャラクタの支援による特別な攻撃を実行可能とする制御であってもよい。この場合であっても、蓄積差分ダメージTDMが大きい程、性能や威力がより高くなるようにすることにより、ユーザにとっての有利度合いが高くなるようにしてもよい。
(3) 上記実施形態においては、ゲームキャラクタC1に対する敵キャラクタC2の攻撃を抑制するために、ロングタップ操作に応じて、シールドSLD1またはSLD2を形成するようにしている。しかし、複数の属性(相性情報)のうちのいずれかの属性をゲームキャラクタC1および敵キャラクタC2の各々に設定するようにした上で、ロングタップ操作に応じて、ゲームキャラクタC1の属性を、敵キャラクタC2の属性に対して強い耐性を示す属性(即ち、敵キャラクタC2との相性がよくなる属性)に変更するようにしてもよい。
(4) 上記実施形態においては、ロングタップ操作に応じてシールドSLD1またはSLD2をゲームキャラクタC1の周りに形成し、当該シールドの形成中に受けた蓄積差分ダメージTDMに基づく特殊攻撃を当該ゲームキャラクタC1に実行させるようにしている。ここで、複数種類のキャラクタを準備し、当該複数種類のキャラクタのうちの特定種類のキャラクタがゲームキャラクタC1として選択されたときに、ロングタップ操作を契機としてシールド形成および特殊攻撃に繋がる一連のアクションを実行可能とするようにしてもよい。
(5) 上記実施形態においては、バーストゲージ値が最大値に達して特殊攻撃が実行可能となった場合、当該特殊攻撃はロングタップ操作の解除に応じて実行される。しかし、特殊攻撃は、ロングタップ操作が解除されたときに実行されるものに限らず、例えば、ロングタップ操作が解除されてから所定時間が経過するまでのタップ操作に応じて実行するようにしてもよく、所定時間が経過するまでにタップ操作が行われなかったときには特殊フラグをクリアして、次回のロングタップ操作以降において再度特殊フラグを設定するようにしてもよい。これによって、ユーザが望むタイミングでの特殊攻撃が実現される。
(6) 上記実施形態においては、ゲームキャラクタC1と敵キャラクタC2とは、1対1で戦闘を行う。しかし、ゲームキャラクタC1は、複数の敵キャラクタC2と戦闘を行うようにしてもよく、この場合において、ある敵キャラクタC2からの攻撃に基づいて実行可能となった特殊攻撃を、別の敵キャラクタC2に対して発動可能となるようにしてもよい。なお、特殊攻撃の対象とする敵キャラクタC2は、ロングタップ操作を解除するときの指の移動方向によって特定すればよい。
また、当該特殊攻撃は、ゲームキャラクタC1の行動を妨げる障害物オブジェクトに対し発動するようにしてもよい。この場合も、複数の障害物オブジェクトが存在する状況では、ロングタップ操作を解除するときの指の移動方向によって攻撃対象の障害物オブジェクトを特定すればよい。
(7) 上記実施形態においては、バーストゲージ値が最大値に達してからロングタップ操作が解除されるまでの期間にオーラを発生させることにより、特殊攻撃が実行可能であることをユーザに報知するようにしている。しかし、オーラを発生させる代わりに、振動や音によって当該報知を行うようにしてもよい。
(8) 上記実施形態においては、ゲームキャラクタC1は1体であることを想定している。しかし、複数体のゲームキャラクタC1を登場させるとともに、ユーザ操作に応じて行動・動作させるゲームキャラクタC1(操作キャラクタ)を、攻撃中のキャラクタ切替え操作に応じて切り替えるようにしてもよい。
(9) 上記実施形態においては、ロングタップ操作に応じてシールドSLD1またはSLD2を形成するようにしている。しかし、敵キャラクタC2の方向と逆方向へのフリック操作またはスワイプ操作に応じてシールドSLD1またはSLD2を形成するようにしてもよい。
(10) 上記実施形態においては、シールドSLD2はジャスト防御が成功したときに形成される。しかし、通常防御に成功することにより形成されたシールドSLD1を、蓄積差分ダメージTDMの増大に伴ってシールドSLD2に成長させるようにしてもよい。また、シールドSLD1が形成されている状態でタッチ位置をゲームキャラクタC1から遠ざかる位置に移動させることにより、シールドSLD1をシールドSLD2に成長させたり、シールドSLD2が形成されている状態でタッチ位置をゲームキャラクタC1に近づく方向に移動させることにより、シールドSLD2をシールドSLD1に戻すようにしてもよい。
(11) 上記実施形態においては、バーストゲージ値が最大値になると、ロングタップ操作の解除に応じて特殊攻撃が実行され、これにより蓄積差分ダメージTDMおよびバーストゲージ値が0に戻される。しかし、蓄積差分ダメージTDMおよびバーストゲージ値は、リザーブ操作(例えばタッチ状態から下方向へのフリック操作)に応じてリザーブし、別の戦闘におけるロングタップ操作の解除に応じて、当該蓄積差分ダメージTDMに基づく特殊攻撃を実行するようにしてもよい。また、ロングタップをフリックのようにはねながら解除したときに特殊攻撃を発動させ、ロングタップを普通に解除したときにはリザーブするようにしてもよい。
(12) 上記実施形態においては、シールドSLD1およびSLD2の各々の範囲および防御力は、固定的である。しかし、シールドSLD1およびSLD2の各々の範囲および防御力は、ジャスト防御が成功する回数が増える毎に、拡大ないし増大させるようにしてもよい。
(13) 上記実施形態においては、タイミングT2は、敵キャラクタC2が攻撃を実行(例えば開始)したタイミングである。しかし、タイミングT2は、敵キャラクタC2の攻撃がゲームキャラクタC1にヒットしたタイミングなどの他のタイミングであってもよい。この場合は、ロングタップ操作により、まずシールドSLD1が形成され、敵キャラクタC2の攻撃がゲームキャラクタC1にヒットに応じてジャスト防御に成功したと判定された場合には、シールドSLD1をシールドSLD2に成長させるとともに、今回の攻撃を当該シールドSLD2により抑制されるようにしてもよい。
(14) 上記実施形態においては、増大量S、M、Lが一定であることを前提としている。しかし、増大量Sは敵キャラクタC2に与えたダメージに応じてその都度特定し、増大量MおよびLの各々についてはダメージの抑制量に応じてその都度特定するようにしてもよい。
(15) 上記実施形態においては、シールドSLD1またはSLD2によるダメージの抑制量に基づいてユーザの有利度合い(特殊攻撃の攻撃力等)を特定するようにしている。しかし、ユーザの有利度合い(特殊攻撃の攻撃力等)は、シールドSLD1またはSLD2を形成した回数(または実際に敵からの攻撃を防御した回数)に基づいて特定するものであってもよく、また、シールドSLD1またはSLD2を形成した時間(または実際に敵からの攻撃を防御した時間)に基づいて特定するものであってもよい。
また、蓄積差分ダメージTDMは、敵キャラクタC2から受けた攻撃によるダメージの抑制量(即ち差分ΔDM)に基づいて規定される。しかし、蓄積差分ダメージTDMは、シールドSLD1またはSLD2により抑制した攻撃回数(即ち抑制回数)に基づいて規定したり、シールドSLD1またはSLD2により抑制した攻撃時間(即ち抑制時間)に基づいて規定したり、差分ΔDM、抑制回数、抑制時間のうちのいずれか2つに基づいて規定するようにしてもよい。
なお、当該抑制回数に基づいて蓄積差分ダメージTDMを規定する方法としては、ダメージの抑制量を予め定めておき、当該抑制量に当該抑制回数を掛け算した値を蓄積差分ダメージTDMとして特定する方法が考えられる。
(16) 上記実施形態においては、バーストゲージ値が最大値となったときに特殊攻撃が実行可能となる。しかし、特殊攻撃の発動条件は、バーストゲージ値が最大値となることを条件とするものではなく、例えば、シールドSLD1またはSLD2が形成された状態でダメージを受ける度に当該シールド解除時に特殊攻撃を実行可能とするようにしてもよい。この場合、シールドSLD1またはSLD2の形成中にダメージを受けることなくロングタップ操作が解除されたときには、特殊攻撃は実行されない。一方、シールドSLD1またはSLD2の形成中にダメージを受け、その後に解除したときには、当該ダメージの差分に応じた攻撃力で特殊攻撃が発動される。
(17) 上記実施形態においては、特殊攻撃の範囲は、蓄積差分ダメージTDMに関わらず、通常攻撃の範囲よりも広い固定的な範囲とされる。しかし、当該特殊攻撃の範囲は、シールドの種類に応じて異ならせるようにしてもよく、蓄積差分ダメージTDMの大きさに応じて異ならせる(例えば、蓄積差分ダメージTMDが大きいほど広くする)ようにしてもよい。
(18) 上記実施形態においては、バーストゲージ値は、敵キャラクタC2からダメージを受けたときに増大する。しかし、バーストゲージ値は、敵キャラクタC2からの攻撃にかかわらず、シールドSLD1またはSLD2の抑制中に所定割合で増大させるようにしてもよい。
(19) 上記実施形態においては、ジャスト防御に成功してシールドSLD2が形成されると、バーストゲージ値が増大量Lだけ増大する。しかし、これに加えて、ゲームキャラクタC1が発動可能なスキルを強化するようにしてもよい。なお、当該スキルとしては、爆弾で敵を吹き飛ばすスキルや、巨大な竜のように敵を踏みつぶすスキルや、武器を振り回して敵を一掃するスキルなどが考えられる。
<付記>
以上の各実施形態で説明した事項を、以下に付記する。
(付記1):
本開示に示す一実施形態のある局面によれば、プロセッサ、メモリ、および、入力部を備えるコンピュータ(図1のユーザ端末100)において実行されるゲームプログラムであって、前記ゲームプログラムは、前記プロセッサに、ユーザが操作可能な第1オブジェクトと当該第1オブジェクトに作用を及ぼす第2オブジェクトとを表示する第1ステップ(図7のS01)と、前記ユーザによる特定指示(ロングタップ操作)に応じて、前記第2オブジェクトから前記第1オブジェクトに対して及ぼされる作用を抑制する抑制状態に制御する第2ステップ(図7のS02、図8のS13、S14)と、前記第2オブジェクトから及ぼされる作用のうち前記抑制状態であることにより抑制された作用の度合いを特定可能な第1のパラメータ(蓄積差分ダメージ)を更新する第3ステップ(図8のS19~S21)と、前記第1のパラメータが第1の値であるときよりも、前記第1の値よりも大きな第2の値であるときの方が、前記ユーザにとっての有利度合いが高くなるようにゲームを進行させる有利制御を実行可能とする第4ステップ(図8のS25、図7のS06、S08)とを実行させる。
(付記2):
(付記1)において、前記第4ステップは、前記抑制状態が終了するときに前記有利制御を実行可能である。
(付記3):
(付記1)または(付記2)において、前記作用の度合いは、前記第2オブジェクトから及ぼされる所定量の作用のうち前記抑制状態であることにより抑制された作用の抑制量であり、前記第3ステップは、前記抑制量に基づいて、前記第1のパラメータの値を加算する。
(付記4):
(付記1)から(付記3)のいずれかにおいて、前記作用の度合いは、前記第2オブジェクトから作用が及ぼされたときに前記抑制状態に制御して当該作用を抑制した抑制回数であり、前記第3ステップは、前記抑制回数に基づいて、前記第1のパラメータの値を加算する。
(付記5):
(付記1)から(付記4)のいずれかにおいて、前記第2ステップは、前記第2オブジェクトが作用を及ぼすタイミングと前記第2ステップにより前記抑制状態に制御するタイミングとの時間差が第1の範囲内であるときの方が、当該第1の範囲内でないときよりも、ユーザにとっての有利度合いが高い抑制状態に制御する(S13)。
(付記6):
(付記1)から(付記5)のいずれかにおいて、前記第4ステップによる前記有利制御は、ゲームの進行に応じて所定条件(バーストゲージMAX)が成立しているときに実行可能である。
(付記7):
(付記6)において、前記ゲームプログラムは、前記プロセッサに、前記第2オブジェクトから及ぼされる作用が前記抑制状態であることにより抑制されたときに、第2のパラメータ(バーストゲージ)を更新する第5ステップ(図8のS17、S18)を実行させ、前記所定条件は、前記第2のパラメータの値が所定値に到達しているときに成立する。
(付記8):
(付記7)において、前記第5ステップは、前記第2オブジェクトが作用を及ぼすタイミングと前記第2ステップにより前記抑制状態に制御するタイミングとの時間差が第2の範囲内であるときの方が、当該第2の範囲内でないときよりも大きな値を前記第2のパラメータに加算する。
(付記9):
(付記1)から(付記8)のいずれかにおいて、前記特定指示は、タッチスクリーンに対する継続的なタッチ操作であり、前記第2ステップは、当該タッチ操作が所定時間に亘って継続したときに前記抑制状態に制御する。
(付記10):
(付記1)から(付記9)のいずれかにおいて、前記第4ステップは、前記有利制御として、前記第1のパラメータに応じた作用(特殊攻撃)を前記第2オブジェクトに及ぼす制御を実行可能である。
(付記11):
(付記1)から(付記10)のいずれかにおいて、前記ゲームプログラムは、前記プロセッサに、前記第4ステップにより前記有利制御が実行可能である旨を報知する第6ステップ(図8のS22)を実行させる。
(付記12):
本開示に示す一実施形態のある局面によれば、プロセッサ、メモリ、および、入力部を備えるコンピュータ(図1のユーザ端末100)において実行されるゲーム方法であって、前記ゲーム方法は、前記コンピュータが、ユーザが操作可能な第1オブジェクトと当該第1オブジェクトに作用を及ぼす第2オブジェクトとを表示する第1ステップ(図7のS01)と、前記ユーザによる特定指示(ロングタップ操作)に応じて、前記第2オブジェクトから前記第1オブジェクトに対して及ぼされる作用を抑制する抑制状態に制御する第2ステップ(図7のS02、図8のS13、S14)と、前記第2オブジェクトから及ぼされる作用のうち前記抑制状態であることにより抑制された作用の度合いを特定可能な第1のパラメータ(蓄積差分ダメージ)を更新する第3ステップ(図8のS19~S21)と、前記第1のパラメータが第1の値であるときよりも、前記第1の値よりも大きな第2の値であるときの方が、前記ユーザにとっての有利度合いが高くなるようにゲームを進行させる有利制御を実行可能とする第4ステップ(図8のS25、図7のS06、S08)とを備える。
(付記13):
本開示に示す一実施形態のある局面によれば、情報処理装置(図1のユーザ端末100)であって、ゲームプログラムを記憶する記憶部(図2の120)と、前記ゲームプログラムを実行することにより、前記情報処理装置の動作を制御する制御部(図2の110)とを備え、前記制御部は、ユーザが操作可能な第1オブジェクトと当該第1オブジェクトに作用を及ぼす第2オブジェクトとを表示する第1ステップ(図7のS01)と、前記ユーザによる特定指示(ロングタップ操作)に応じて、前記第2オブジェクトから前記第1オブジェクトに対して及ぼされる作用を抑制する抑制状態に制御する第2ステップ(図7のS02、図8のS13、S14)と、前記第2オブジェクトから及ぼされる作用のうち前記抑制状態であることにより抑制された作用の度合いを特定可能な第1のパラメータ(蓄積差分ダメージ)を更新する第3ステップ(図8のS19~S21)と、前記第1のパラメータが第1の値であるときよりも、前記第1の値よりも大きな第2の値であるときの方が、前記ユーザにとっての有利度合いが高くなるようにゲームを進行させる有利制御を実行可能とする第4ステップ(図8のS25、図7のS06、S08)とを実行する。
〔ソフトウェアによる実現例〕
ユーザ端末100、ゲームサーバ200の制御ブロック(制御部110等)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、ユーザ端末100、ゲームサーバ200は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本開示の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本開示は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。