[本開示が示す実施形態の説明]
以下の実施形態では、ユーザがゲームキャラクタの入力操作を行ってゲームキャラクタを動作させることを支援するため、タッチスクリーンに所定の情報を表示する態様について説明しているが、ゲームキャラクタの動作内容を示す情報をタッチスクリーンに表示する構成に限られない。また、ユーザの入力操作を受け付ける構成として、タッチスクリーンに対する入力操作を受け付ける例を示しているが、これに限らず、ゲームコントローラ等への入力によりゲームキャラクタを動作させる場合にも、以下の実施形態に示す開示内容を適用することとしてもよい。
まず、ゲームキャラクタを動作させるための入力操作に応じて、ゲームキャラクタが行っている動作の内容をタッチスクリーンに表示する構成について概要を説明すると、以下の通りである。
(1)本開示の一実施形態に係るゲーム方法は、ユーザの入力操作に従って、タッチスクリーンに表示されるキャラクタオブジェクトを制御するゲーム方法であって、
当該ゲーム方法は、
(a)前記入力操作の開始点から前記入力操作の終了点に向けて、前記タッチスクリーン上に操作オブジェクトを表示させるステップと、
(b)前記入力操作に基づいて、前記キャラクタオブジェクトに所定の動作を実行させるステップと、
(c)前記ステップ(b)における前記キャラクタオブジェクトの状態を検出するステップと、
(d)検出された前記キャラクタオブジェクトの前記状態に関連付けられた所定の情報を、前記操作オブジェクトに付随して前記タッチスクリーン上に表示させるステップと、
を含む。
上記方法によれば、入力操作に対するフィードバックをユーザへ直感的に与えることができる。
(2) 前記操作オブジェクトは、前記開始点と前記終了点との間に表示されるオブジェクトであり、
前記ステップ(a)において、前記操作オブジェクトは、前記基準点側の部分および前記終了点側の部分のいずれか一方が、他方の部分よりも大きい拡大部となるように表示され、
前記ステップ(d)において、前記所定の情報は、前記拡大部の内側に表示されても良い。
上記方法によれば、タッチスクリーン上のデッドスペースである操作オブジェクトの拡径部に状態表示情報を表示させることで、スマートフォンのような狭い画面を有効利用することができる。
(3)前記ステップ(d)において、前記開始点と前記終了点との位置関係に関わらず、前記タッチスクリーン上における前記所定の情報の表示角度は固定されていても良い。
上記方法によれば、操作オブジェクト内に表示された情報の視認性を確保することができる。
(4)前記ステップ(b)において、第一の入力操作を行うことで前記キャラクタオブジェクトを第一の状態とし、前記第一の状態において第二の入力操作を行うことで前記所定の動作が実行されても良い。
(5)前記ステップ(b)において、第一の入力操作を行うことで前記キャラクタオブジェクトを第一の状態とした後に第二の状態とし、前記第一の状態または前記第二の状態において第二の入力操作を行うことで前記所定の動作が実行されても良い。
これらの方法によれば、複数の入力操作が必要な動作(アクション)についても、当該入力操作の成否をユーザに対して分かりやすくフィードバックすることができる。
(6)本開示の一実施形態に係るプログラムは、上記(1)から(5)のいずれかに記載のゲーム方法をコンピュータに実行させるためのプログラムである。
この構成によれば、入力操作に対するフィードバックをユーザへ直感的に与えることが可能なプログラムを提供することができる。
[本開示が示す第1の実施形態の詳細]
以下、本開示が示す実施形態について図面を参照しながら説明する。なお、本実施形態の説明において既に説明された部材と同一の参照番号を有する部材については、説明の便宜上、その説明は繰り返さない。
本開示の実施の形態によるゲームプログラムは、図1に示されるように、タッチスクリーン2を備えたユーザ端末1において実行されるものである。ユーザ端末1は、ゲームプログラムを実行することにより、ゲームプログラムに応じたゲームをプレイする環境をユーザに対して提供する。ユーザ端末1は、例えば、アプリ等を配信するプラットフォームを介してゲームプログラムをインストールする。ユーザ端末1は、ユーザ端末1にインストールされたゲームプログラム、または、予めプリインストールされているゲームプログラムを実行することで、ユーザによるゲームのプレイを可能とする。ユーザは、タッチスクリーン2を介してゲーム内のプレイヤキャラクタ(キャラクタオブジェクトの一例)を操作することができる。ユーザ端末1は、例えば、スマートフォン、PDA(Personal Digital Assistant)、タブレット型コンピュータ等の携帯可能な端末であってもよいし、パーソナルコンピュータ、ビデオゲーム機器等であってもよい。
なお、ユーザ端末1はネットワークを介してゲーム・サーバと通信を行ってもよい。この場合は、以下の実施形態におけるユーザ端末1に関する様々な機能の全部または一部はゲーム・サーバが担い、例えば、ゲーム・サーバで生成されるゲーム画像をブラウザ等のアプリケーションによりユーザ端末1で表示できるように構成してもよい。さらに、ゲーム・サーバを介して、別のユーザ端末と通信可能な構成とすることもできる。
図2に示されるように、ユーザ端末1は、ハードウェア構成として、互いにバス接続されたCPU(Central Processing Unit)3、主記憶4、補助記憶5、送受信部6、表示部7および入力部8を備えている。このうち主記憶4は例えばDRAM(Dynamic Random Access Memory)などで構成されており、補助記憶5は例えばHDD(Hard Disk Drive)などで構成されている。補助記憶5には、本実施の形態によるゲームプログラムが格納されている。ゲームプログラムは、主記憶4上に展開されCPU3によって実行される。なお、主記憶4上には、CPU3がゲームプログラムに従って動作している間に生成したデータやCPU3によって利用されるデータも一時的に格納される。送受信部6はCPU3の制御によりユーザ端末1とネットワークとの接続を確立する。入力部8は、タッチスクリーン2である表示部7に対するユーザの操作を検知して、ユーザ端末1に対して何らかの操作があったことを検知する。
図3は、本実施形態に係るユーザ端末1の機能ブロック図の一例を示す。
本実施の形態における表示部7および入力部8は上述したタッチスクリーン2に相当する。タッチスクリーン2は、図3に示されるように、入力部8に相当するタッチセンシング部10と、表示部7に相当するディスプレイ20とを有している。タッチスクリーン2は、ユーザのタッチ操作(タッチスクリーン2における物理的接触操作等)を受け付ける。具体的には、タッチセンシング部10はユーザによるタッチ操作に応じた操作信号を制御部30へ出力する。タッチ操作は、ユーザの指によりなされてもよいし、スタイラス等でもよい。ディスプレイ20は、制御部30から出力される表示信号に基づいてユーザ操作に対応する画像を表示する。ディスプレイ20は、例えばLCD(Liquid Crystal Display)、有機EL(electroluminescence)その他の表示装置によって実現される。
制御部30は、タッチセンシング部10が受け付けたユーザからの指示に基づいてゲームプログラムを実行し、ゲーム世界においてプレイヤとして機能するプレイヤキャラクタの動作を制御しつつ、ゲームを進行させる。制御部30は、ゲームプログラムを実行することにより、入力操作受付部32と、キャラクタ操作検出部34と、オブジェクト制御部36と、表示制御部38と、の各機能を発揮する。
入力操作受付部32は、タッチスクリーン2の出力に基づいて、ユーザの入力操作を受け付ける。具体的には、入力操作受付部32は、ユーザの指などがタッチセンシング部10に接近したことを、タッチスクリーン2を構成する面の横軸および縦軸からなる座標系の座標として検出する。
入力操作受付部32は、タッチスクリーン2に対するユーザの操作を判別する。入力操作受付部32は、例えば、(1)「接近操作」、(2)「リリース操作」、(3)「タップ操作」、(4)「長押し操作(ロングタッチ操作)」、(5)「ドラッグ操作(スワイプ操作)」、その他のユーザの操作を判別する。入力操作受付部32が判別するユーザの操作は、上記に限られない。例えば、タッチセンシング部10が、ユーザがタッチセンシング部10に対して押下する圧力の大きさを検出可能な機構を有する場合、入力操作受付部32は、ユーザが押下した圧力の大きさを判別する。
(1)「接近操作」とは、ユーザが指などをタッチスクリーン2に接近させる操作である。タッチスクリーン2は、ユーザの指などが接近したこと(ユーザの指などがタッチスクリーン2に接触したことを含む)をタッチセンシング部10により検出し、検出したタッチスクリーン2の座標に応じた信号を入力操作受付部32へ出力する。制御部30は、タッチスクリーン2へのユーザの指などの接近を検出しない状態から、接近を検出したときに、状態が「タッチオン状態」になったと判別する。
(2)「リリース操作」とは、ユーザがタッチスクリーン2を接近操作している状態を止める操作である。制御部30は、例えば、ユーザが指をタッチスクリーン2に接触させている状態から、指を離す操作をしたときに、ユーザの操作を「リリース操作」と判別する。制御部30は、タッチスクリーン2へのユーザの指などの接近を検出している状態から、接近を検出しない状態になったときに、状態が「タッチオン状態」から「タッチオフ状態」になったと判別する。
(3)「タップ操作」とは、ユーザがタッチスクリーン2に対して指などを接近させる接近操作をした後に、接近操作をした位置でリリース操作を行うことである。入力操作受付部32は、接近操作が検出されない状態(ユーザの指などがタッチスクリーン2から離れており、タッチセンシング部10がユーザの指などの接近を検出していない状態)から、タッチスクリーン2の出力に基づいて、ユーザの指などが接近したことを検出した場合に、その検出した座標を「初期タッチ位置」として保持する。制御部30は、初期タッチ位置の座標と、リリース操作をした座標とがほぼ同一である場合(接近操作が検出された座標から一定範囲内の座標においてリリース操作の座標が検出された場合)に、ユーザの操作を「タップ操作」と判別する。
(4)「長押し操作」とは、ユーザがタッチスクリーン2を押し続ける操作である。制御部30は、ユーザの操作を検出して接近操作を判別してから、接近操作が検出された座標(あるいは当該座標を含む一定領域内)において接近操作が継続している時間が一定時間を超えた場合に、ユーザの操作を「長押し操作」(「長押し操作」を、「ロングタッチ操作」と称することもある)と判別する。
(5)「ドラッグ操作」とは、ユーザがタッチスクリーン2に指などを接近させた接近状態を維持したまま、指をスライドさせる操作である。
キャラクタ操作検出部34は、タッチスクリーン2に対するユーザの入力操作に基づいて、ゲームに登場するプレイヤキャラクタ(以下、「自キャラクタ」と称することもある)に所定の動作を実行させる入力操作の操作内容を検出する。キャラクタ操作検出部34は、ユーザの入力操作に基づいて、例えば、プレイヤキャラクタを移動させる方向を検出する。すなわち、キャラクタ操作検出部34は、ユーザがプレイヤキャラクタの移動方向を指定する入力操作を受け付ける。
具体的には、キャラクタ操作検出部34は、タッチスクリーン2からユーザの指が離れた状態から、ユーザが指をタッチスクリーン2に接近させて、入力操作受付部32がタッチセンシング部10にユーザの指が接近したことを検出した座標を初期タッチ位置として、ユーザがドラッグ操作を行った場合に、初期タッチ位置の座標とタッチスクリーン2の検出結果とに基づいて、プレイヤキャラクタの移動方向を検出する。キャラクタ操作検出部34での具体的な処理については、後述する。
オブジェクト制御部36は、ユーザ端末1がゲームプログラムを実行することにより進行されるゲームに登場する各種オブジェクト、および、入力操作受付部32が受け付けたユーザの操作内容に基づいて生成される各種オブジェクト(例えば、GUI(Graphical User Interface)画面)の生成、変形、移動などの処理を制御する。オブジェクト制御部36は、例えば、ユーザがプレイヤキャラクタを移動させるためのタッチスクリーン2に対する入力操作に基づいて、プレイヤキャラクタの移動方向を示す操作オブジェクト40を生成する。操作オブジェクト40の詳細については、後述する。
表示制御部38は、キャラクタ操作検出部34およびオブジェクト制御部36での制御に応じて、ディスプレイ20の表示内容を決定し、決定した表示内容に従った画像、テキスト等の各種の情報をディスプレイ20に出力する。例えば、表示制御部38は、プレイヤキャラクタをディスプレイ20の一定領域に表示させた状態で、入力操作受付部32によって受け付けた入力操作に応じて操作オブジェクト40を表示させつつプレイヤキャラクタに所定の動作(例えば、移動やジャンプ動作)を行わせる画面表示を行う。
図4は、本実施形態に係るユーザ端末1のタッチスクリーン2に表示されるゲーム画面の一例を示す。図4の画面例は、ユーザが操作する自キャラクタ100(キャラクタオブジェクト、プレイヤキャラクタの一例)に、所定の動作を行わせるための入力操作を受け付ける画面である。制御部30は、タッチスクリーン2に、ユーザが操作するプレイヤキャラクタである自キャラクタ100と、対戦相手(敵)となるキャラクタである相手キャラクタ200とを表示させて、ユーザに対し、自キャラクタ100に所定の動作を行わせるための入力操作を受け付ける。自キャラクタ100および相手キャラクタ200は、ユーザ端末1を縦型となるように置いたときに、その上下方向においてタッチスクリーン2の中央付近(例えば、タッチスクリーン2をその上下方向に三分割したときの中央の領域内)に、例えば、左右方向において進行方向に視野がやや広くなるように表示される。タッチスクリーン2の下方には、例えば地面の断面(図4のドット模様の部分)が表示されている。タッチスクリーン2の下半部、すなわち地面の断面が表示された部分は、後述の操作オブジェクト40を操作するためのスペースとして利用可能である。ユーザは、タッチスクリーン2の任意位置への操作によって、自キャラクタ100を操作することができる。ユーザが、例えば、ディスプレイ20の左右方向に沿った方向(図4の矢印Aの方向)のドラッグ操作を入力した場合、制御部30は、そのドラッグ操作を受け付けて、自キャラクタ100をドラッグ操作の方向に対応する方向(例えば、矢印Bの方向)に移動させるよう制御する。
なお、タッチスクリーン2の左右方向の端部には、各種のユーザインターフェース画像(UI画像)300が表示される。UI画像300には、例えば、マップを表示するためのUI画像300Aやスキル(ゲーム内で自キャラクタ100により行われる攻撃アクションの一つ)を発動させるためのUI画像300Bが含まれる。
1.自キャラクタの動作制御
図5は、キャラクタ操作検出部34が、ユーザの入力操作に応じて自キャラクタ100を移動させる方向を検出する処理を示す図である。キャラクタ操作検出部34は、ユーザがタッチスクリーン2を押していない状態から、指などをタッチセンシング部10に接近させてタッチスクリーン2を押した位置(初期タッチ位置)を起点と設定する。入力操作受付部32は、ユーザの操作をドラッグ操作と判別している場合に、起点となる座標と、タッチスクリーン2がユーザの指などの接近を検出している座標とに基づいて、自キャラクタ100を移動させる方向を検出する。
図5の状態(A)は、タッチスクリーン2からユーザの指が離れた状態から、ユーザが指をタッチスクリーン2に接近させた状態を示す。入力操作受付部32は、ユーザの指がタッチスクリーン2に接近したことを検出し、検出した座標を初期タッチ位置としてメモリ(例えば、主記憶4または補助記憶5)に保持する。
図5の例では、メモリが保持する初期タッチ位置の座標を、初期タッチ位置座標55として示す。入力操作受付部32は、タッチスクリーン2の検出結果(ユーザの指がタッチスクリーン2に接近している座標、および、ユーザの指がタッチスクリーン2に接近していることを検出していないこと(検出結果「null」))を、一定フレーム分、バッファメモリ53に格納する。バッファメモリ53は、タッチスクリーン2における検出結果を、各フレームについて一定フレーム分(図5の例では、メモリ領域fp〔0〕〜メモリ領域fp〔10〕までの11フレーム分)、格納することができる。バッファメモリ53は、例えばリングバッファとして実現することができる。
状態(A)の例では、ユーザがタッチスクリーン2を押した位置を、押下位置50A(タッチスクリーン2の座標(x0,y0))として示す。
図5の状態(B)は、ユーザがタッチスクリーン2に対してドラッグ操作を行って、タッチスクリーン2に対する押下位置を、押下位置50Aから押下位置50B(タッチスクリーン2の座標(x9,y9))まで10フレーム(メモリ領域fp〔0〕〜メモリ領域fp〔9〕までの10フレーム分)で移動させたことを示す。入力操作受付部32は、タッチスクリーン2の検出結果をバッファメモリ53に格納し、バッファメモリ53に保持される値を参照して、タッチスクリーン2に対するユーザの操作をドラッグ操作と判別する。
図5の状態(C)は、ユーザがタッチスクリーン2を押している位置を、押下位置50Bから押下位置50C(タッチスクリーン2の座標(x14,y14))まで、5フレーム(メモリ領域fp〔10〕、fp〔0〕、fp〔1〕、fp〔2〕、fp〔3〕の5フレーム分)で移動させたことを示す。
図5の状態(D)は、キャラクタ操作検出部34が、状態(B)および状態(C)のそれぞれにおいて、ユーザが自キャラクタ100を移動させる方向を指定する入力操作の検出結果を示す。キャラクタ操作検出部34は、バッファメモリ53において、タッチスクリーン2が検出する押下位置の座標を書き込む対象となるメモリ領域がいずれであるかを示す情報(バッファメモリ53の書き込み位置)を管理している。
状態(B)において、キャラクタ操作検出部34は、入力操作受付部32の判別結果に基づいて、初期タッチ位置を示す座標51A(座標(x0,y0))から座標51B(座標(x9,y9))までユーザがドラッグ操作を行ったことを検出する。キャラクタ操作検出部34は、初期タッチ位置の座標51Aを起点として、座標51Aと座標51Bとによって規定されるベクトル52B((y9−y0)/(x9−x0))を、自キャラクタ100を移動させる方向として検出する。
状態(C)において、キャラクタ操作検出部34は、入力操作受付部32の判別結果に基づいて、座標51B(座標(x9,y9))から座標51C(座標(x14,y14))までユーザがドラッグ操作を行ったことを検出する。キャラクタ操作検出部34は、初期タッチ位置の座標51Aを起点として、座標51Aと座標51Cとによって規定されるベクトル52C((y14−y0)/(x14−x0))を、自キャラクタ100を移動させる方向として検出する。
2.自キャラクタの動作例
図6に、自キャラクタ100の動作テーブル60(アクション例)を示す。動作テーブル60は、例えば、制御部30(表示制御部38)に記憶されている。図6に示すように、動作テーブル60には、ユーザの入力操作と、入力操作時の自キャラクタ100の状態とに基づいて自キャラクタ100に実行させる所定のアクションが設定されている。動作テーブル60に例示された例1〜8について、以下に詳述する。
例1:ユーザがタップ操作した場合には、自キャラクタ100がどのような状態であっても(すなわち、地面に着地していても着地していなくても)、制御部30は、自キャラクタ100に攻撃動作(例えば、持っている剣を振る)を実行させる。
例2:ユーザが横スライド操作(ここで、タッチスクリーン2の左右方向(水平方向)に沿った向きを0度とし、水平方向よりも上側を正とし、下側を負とした場合に、例えば、−45度から+30度の範囲内のドラッグ操作を、横スライド操作と称する。)を行い、かつ、自キャラクタ100が地面に着地している場合には、制御部30は、自キャラクタ100をドラッグ操作の方向に移動させる。なお、ドラッグ操作の開始点と終了点の距離(スライド量)が所定の閾値以下の場合は、自キャラクタ100を歩かせるようにし、スライド量が所定の閾値よりも大きい場合には、自キャラクタ100を走らせるようにしてもよい。
例3:ユーザが上スライド操作(例えば、+60度から+120度の範囲内のドラッグ操作を、上スライド操作と称する。)を行い、かつ、自キャラクタ100が地面に着地している場合には、制御部30は、自キャラクタ100にジャンプ動作を実行させる。
例4:ユーザが例3と同様の上スライド操作を行い、かつ、自キャラクタ100が地面に着地していない場合には、制御部30は、自キャラクタ100が地面に着地した後にジャンプ動作を実行させる。すなわち、この場合は、自キャラクタ100のジャンプ動作が繰り返される。
例5:ユーザが下スライド操作(例えば、−45度から−135度の範囲内のドラッグ操作を、下スライド操作と称する。)を行い、かつ、自キャラクタ100が地面に着地している場合には、制御部30は、自キャラクタ100をしゃがみ込ませる。
例6:ユーザが例5と同様の下スライド操作を行い、かつ、自キャラクタ100が地面に着地していない場合には、制御部30は、自キャラクタ100に下方攻撃動作(いわゆる、兜割り)を実行させる。
例7:ユーザが斜め上スライド操作(例えば、+30度から+60度の範囲内のドラッグ操作を、斜め上スライド操作と称する。)を行い、かつ、自キャラクタ100が地面に着地している場合には、制御部30は、自キャラクタ100を斜めにジャンプさせ、着地後に地面上を移動させる。
例8:ユーザが例7と同様の斜め上スライド操作を行い、かつ、自キャラクタ100が壁などの障害物に接している場合には、制御部30は、自キャラクタ100に壁を蹴って上方へジャンプする動作(いわゆる、三角飛び)を実行させる。
制御部30は、例えば、ユーザの上スライド操作(第一の入力操作の一例)を受け付けると、動作テーブル60を参照して自キャラクタ100をジャンプさせた状態(第一の状態の一例)とし、ジャンプさせた状態においてユーザの下スライド操作(第二の入力操作の一例)を受け付けると、動作テーブル60を参照して自キャラクタ100に兜割りを実行させる。また、斜めスライド操作を受け付けた場合には、制御部30は、斜め上スライド操作に基づいて動作テーブル60を参照して自キャラクタ100をジャンプ状態(第一の状態)とした後に地面上を移動させる状態(第二の状態の一例)とする。そして、制御部30は、自キャラクタ100をジャンプさせた状態または地面を移動させた状態において所定の入力操作(例えば、下スライド動作)を受け付けると、動作テーブル60を参照して自キャラクタ100に所定の動作(ジャンプ状態の場合には兜割り、移動状態の場合にはしゃがみ込み)を実行させる。
3.操作オブジェクトの基本構成
本実施形態に係る操作オブジェクト40(図4参照)は、ユーザのタッチスクリーン2に対する接近操作が検知されるとタッチスクリーン2に表示される。操作オブジェクト40は、ユーザが自キャラクタ100を移動させる方向を示す弾性状のオブジェクトである。操作オブジェクト40は、図7の(A)に示すように、指接触時の初期形状として、タッチスクリーン2に接触した位置(例えば、図5の初期タッチ位置座標51A)である接触開始点に関連付けられた基準位置の周囲に、円形状の基部42を有するように形成される。なお、基準位置は、最初に指がタッチスクリーン2に触れた座標でなくても良く、例えば、最初に指が触れたフレームの数フレーム後のフレームにおいて指が触れていた座標であっても良い。ユーザがタッチスクリーン2上で接触開始点から接触終了点(ここで、接触終了点とは、ユーザの指などがタッチスクリーン2に接触した状態での最終地点を意味する)までドラッグ操作を行うと、図7の(B)に示すように操作オブジェクト40は、ユーザの指に引っ張られるような弾性変形を伴う。このとき、操作オブジェクト40は、ドラッグ操作の接触開始点に対応して表示される基部(拡大部)42に加えて、ドラッグ操作の接触終了点(注:指はタッチスクリーン2に接触したままの状態である。)付近に位置する先端部44と、基部42と先端部44との間を接続する接続部46とを含むように構成される。このように操作オブジェクト40は、接触開始点から接触終了点に向けて入力されたドラッグ操作の方向に弾性的に延ばされるように形成される。また、ユーザが接触終了点を接触状態に維持しつつタッチスクリーン2上において更に指などを移動させた場合、先端部44もそれに追従して更に移動し操作オブジェクト40の延びる向きも変化する。ユーザによるドラッグ操作が終了した際に(すなわち、タッチスクリーン2上において接触終了点からユーザの指が離れた際に)、弾性変形した操作オブジェクト40が、その復元力に従って、接触開始点に向けて段階的に萎縮して、図7の(A)に示した初期形状に復元するように表示され、一定時間経過後に非表示となる。なお、図7の(A)では、接触開始点を中心に円形状の基部42を形成しているが、必ずしもこれに限定されない。例えば、基部42を接触開始点から一定距離だけ上部または下部にずらして形成しても良い。すなわち、操作オブジェクト40の基部42は、接触開始点に関連付けられた所定の位置(基準位置)に対応して表示されていても良い。また、接触開始点に形成した操作オブジェクト40(基部42)をドラッグ操作に応じて変形させずに、接触開始点から接触終了点に向けて、操作オブジェクトの一部を構成する別のオブジェクトを表示させるようにしても良い。
4.主要な機能モジュールの説明
図8〜図10を参照して、本実施形態に係るゲームプログラムで実装される主要な機能モジュールとその動作処理について説明する。当該機能モジュールを通じて、操作信号としての入力を処理して、表示信号としての出力を生成することになる。
図8に示す操作オブジェクト制御プログラムモジュール(操作オブジェクト制御PM)80は、タッチスクリーン2(タッチセンシング部10)を通じたユーザの入力操作に基づいて操作オブジェクト40を制御するためのモジュールである。キャラクタ制御プログラムモジュール(キャラクタ制御PM)90は、タッチスクリーン2を通じたユーザの入力操作に応じて仮想空間内の自キャラクタ100の動作を制御して自キャラクタ100を操作するためのモジュールである。操作オブジェクト制御プログラムモジュール80は、入力操作受付プログラムモジュール(入力操作受付PM)82と、操作オブジェクト描画プログラムモジュール(操作オブジェクト描画PM)84とを含む。入力操作受付PM82は、図3に示す入力操作受付部32としての機能を有し、操作オブジェクト描画PM84は、オブジェクト制御部36および表示制御部38としての機能を有する。キャラクタ制御PM90は、キャラクタ操作検出部34としての機能を有する。
タッチスクリーン2上でユーザの指などによる入力操作(例えば、接近操作)が実行されると、入力操作受付PM82は、入力操作を受け付け、受け付けた入力操作に関する情報(入力操作情報)をキャッシュメモリ(例えば、図5のバッファメモリ53)に格納する(図9のステップS1)。次に、キャラクタ制御PM90は、入力操作受付PM82から入力操作情報を取得する(ステップS2)。そして、キャラクタ制御PM90は、ゲーム内状況に基づいて、例えば、自キャラクタ100の状態(地面に着地しているか否か、壁などの障害物に接しているか否か、など)に関する情報を取得する(ステップS3)。なお、ここでの「自キャラクタ100の状態」とは、キャラクタの動作に関連する状態(例えば、着地状態か否か)を示し、キャラクタのステータスの異常状態(例えば、毒や石化)などは含まない。
次いで、キャラクタ制御PM90は、ステップS2で取得した入力操作情報とステップS3で取得した自キャラクタ100の状態に関する情報(以下、キャラクタ状態情報と称する)に基づいて、図6の動作テーブル60を参照して自キャラクタ100を制御する(ステップS4)。例えば、ユーザが横スライド操作を行い、かつ、自キャラクタ100が地面に着地している場合には、キャラクタ制御PM90は、横スライド操作情報、および自キャラクタ100が地面に着地状態であるという情報を取得し、これらの情報から動作テーブル60の例2に基づいて、図10の(A)に示すように自キャラクタ100をドラッグ操作の方向(矢印Cの方向)に移動させる。なお、キャラクタ制御PM90は、自キャラクタ100の制御結果に基づいて、相手キャラクタ200を制御することもできる。例えば、キャラクタ制御PM90は、自キャラクタ100が相手キャラクタ200を攻撃した場合、その攻撃を受けたことを表すアクションを相手キャラクタ200に行わせることができる。
次に、操作オブジェクト制御PM80内の操作オブジェクト描画PM84は、入力操作受付PM82から入力操作情報を取得するとともに、キャラクタ制御PM90からキャラクタ状態情報を取得する(ステップS5)。そして、操作オブジェクト描画PM84は、ステップS5で取得した入力操作情報およびキャラクタ状態情報に基づいて、操作オブジェクト40を描画し、タッチスクリーン2に表示する(ステップS6)。例えば、図6の例2のように横スライド操作が行われた場合には、操作オブジェクト描画PM84は、入力操作受付PM82から横スライド操作情報を取得し、図10の(A)に示すように、初期タッチ位置座標(接触開始点)から現在のタッチ位置座標(接触終了点)に向けて、すなわち矢印C´方向に操作オブジェクト40を引き延ばすように表示する。それと同時に、操作オブジェクト描画PM84は、キャラクタ制御PM90から取得したキャラクタ状態情報に基づいて、図10の(A)に示すように、操作オブジェクト40の基部42の内側に自キャラクタ100の状態に対応した情報(例えば、文字情報)を表示する。例えば、自キャラクタ100が地面に着地した状態でユーザが矢印Cの方向に横スライド操作を実行した場合には、操作オブジェクト40の基部42内には「Run」と表示される(図10の(A)参照)。なお、横スライド操作のスライド量が所定値以下の場合は、基部42内に「Run」の代わりに「Walk」と表示しても良い。また、自キャラクタ100が地面に着地した状態でユーザが上スライド操作あるいは斜め上スライド操作を実行した場合には、図10の(B)に示すように、自キャラクタ100がドラッグ操作の方向である矢印D方向に応じてジャンプするとともに、操作オブジェクト40が矢印D´方向に引き伸ばされ、操作オブジェクト40の基部42内に「Jump」と表示される。ステップS6の処理が完了すると、ステップS1へ戻り、処理を繰り返す。
タッチスクリーン2上において、基部42内に表示される文字情報(「Run」や「Jump」)の表示角度は固定されていることが好ましい。すなわち、図10の(A),(B)に示すように、操作オブジェクト40の基部42に対する先端部44の角度に関わらず、文字情報が横書きである場合には、文字情報は表示部の下辺と略平行となる向きで表示される。例えば、接触開始点から下向き側にドラッグ操作が入力された場合や、接触開始点を中心にして接触終了点が回転するような入力操作が入力された場合にも、タッチスクリーン2上における文字情報の表示角度はユーザが見易い向きで表示されるため、良好な視認性を確保することができる。
図11は、ユーザが自キャラクタ100に兜割りのアクションを実行させようとする場合のゲーム画面例であり、(A)は自キャラクタ100がジャンプしている状態の画面例を示し、(B)は、兜割りの入力操作が成功した場合の画面例を示し、(C)は兜割りの入力操作が失敗した場合の画面例を示している。
兜割り(下方攻撃)は、図6の動作テーブル60の例5に示すように、自キャラクタ100が地面に着地していない状態(図11の(A)に示す状態)において下スライド操作がなされた時に実行可能となる。すなわち、制御部30は、ユーザの上スライド操作あるいは斜め上スライド操作に基づいて自キャラクタ100を地面に着地していないジャンプ状態とし、このジャンプ状態においてユーザの下スライド操作の入力を受け付けた場合に、自キャラクタ100に兜割りを実行させる。
兜割りの入力操作が成功した場合、すなわちジャンプ状態において下スライド操作が入力された場合には、図11の(B)に示すように、制御部30は、自キャラクタ100に兜割りを実行させるとともに、操作オブジェクト40の基部42内に兜割りに関する情報(例えば、「Attack」)を表示する。一方、兜割りの入力操作が失敗した場合、例えばドラッグ操作の下方向への角度が足りなかった場合には、図11の(C)に示すように、制御部30は、自キャラクタ100に兜割りを実行させず、また、操作オブジェクト40の基部42内にはその時点での自キャラクタ100の状態に関する情報(例えば、「Jump」)を表示する。この場合、ユーザは、表示「Jump」を見ることで、ドラッグ操作の下方向への角度が足りなかったことを容易に認識することができる。このように、基部42内に文字情報を表示することで、兜割りのような複数の入力操作が必要な動作についても当該入力操作の成否をユーザに対して分かりやすくフィードバックすることができる。
図12は、図11と同様に、ユーザが自キャラクタ100に兜割りのアクションを実行させようとする場合のゲーム画面例であり、(A)は自キャラクタ100がジャンプしている状態の画面例を示し、(B)は、兜割りの入力操作が成功した場合の画面例を示し、(C)は兜割りの入力操作が失敗した場合の画面例を示している。
図11の場合と同様に、兜割りの入力操作が成功した場合には、図12の(B)に示すように、制御部30は、自キャラクタ100に兜割りを実行させるとともに、操作オブジェクト40の基部42内に兜割りに関する情報(例えば、「Attack」)を表示する。一方、兜割りの入力操作が失敗した場合、例えば上スライド操作や斜め上スライド操作に基づいてジャンプした自キャラクタ100が地面に着地してから下スライド操作が入力された場合には、図12の(C)に示すように、制御部30は、自キャラクタ100に兜割りを実行させず、また、基部42内にはその時点での自キャラクタ100の状態に関する情報(例えば、「Run」)を表示する。この場合、ユーザは、表示「Run」を見ることで、自キャラクタ100が地面に着地してから下スライド操作を行ったために入力操作に失敗したことを容易に認識することができる。
以上説明したように、本実施形態によれば、制御部30は、ユーザの入力操作に基づいて、接触開始点から接触終了点に向けてタッチスクリーン2上に操作オブジェクト40を表示させつつ、自キャラクタ100に所定の動作を実行させる。そして、制御部30は、自キャラクタ100の状態を検出し、検出された自キャラクタ100の状態に関連付けられた所定の情報(例えば、上記説明した文字情報)を、タッチスクリーン2上の操作オブジェクト40の基部42内に表示させる。これにより、入力操作に対するフィードバックをユーザへ直感的に与えることが可能となる。
自キャラクタ100の状態に関連付けられた文字情報は、操作オブジェクト40の拡大部である基部42内に表示されている。このように、タッチスクリーン2上のデッドスペースである操作オブジェクト40の拡大部に文字情報を表示させることで、スマートフォンのような狭い画面を有効利用することができる。
上記の実施形態においては、図10〜12に示すように、操作オブジェクト40の拡大部である基部42の内側に自キャラクタ100の状態に関する文字情報を表示しているが、これに限定されない。図13に示すように、操作オブジェクト40から吹き出し48のような形で、自キャラクタ100の状態に関する情報(例えば、「Run」)を表示するようにしても良い。すなわち、自キャラクタ100に関する情報は操作オブジェクト40に付随するように表示されていれば良い。
また、上記の実施形態においては、図7等に示すように、基部42を先端部44よりも大きくするように操作オブジェクト40を形成しているが、これに限定されない。図14の操作オブジェクト140に示すように、先端部144を基部142よりも大きく形成してもよい。この場合、自キャラクタ100の状態に関する情報(例えば、「Run」)は、拡大部である先端部144内に表示される。
また、操作オブジェクト40に付随して表示されるキャラクタ状態情報は、文字情報に限られず、図形等のその他の記号であっても良い。
5.キャラクタに行動を行わせれば行わせるほど、キャラクタのパラメータが向上していく構成の説明
以下、図15〜図19を参照して、ユーザの入力操作等に応じてキャラクタがアクションを行った結果、キャラクタの各種パラメータを強化することができるゲームプログラムについて説明する。
図15は、自キャラクタ100などユーザが操作することが可能なゲームキャラクタのパラメータのデータ構造、および、ユーザの入力操作に応じてゲームキャラクタに各種行動を行わせた履歴とゲームキャラクタが獲得したスキルとの対応関係を含むデータ構造を示す図である。ユーザ端末1は、主記憶4等に、図15に示すデータ構造のデータを保持し、適宜、データを参照しつつゲームを進行させる。
図15の図示例(A)は、自キャラクタ100などユーザが操作することが可能なゲームキャラクタのパラメータのデータ構造を示す。図示例(A)に示すように、自キャラクタ100(例えば、キャラクタ名「H」のパラメータの例とする)の各種パラメータのデータ構造は、項目「グレード」と、項目「項目名」と、項目「基本値」と、項目「装備による補正値」と、項目「スキルによる補正値」と、項目「称号による補正値」とを含む。
項目「グレード」は、自キャラクタが獲得可能なスキルの範囲を示す。本実施形態では、グレード「2」の例を示しており、ユーザがゲームプレイに伴って所定のゲーム媒体を入手するなどの所定の条件を満たすことにより、項目「グレード」が更新される。
項目「項目名」は、パラメータの名称を示しており、本実施形態では、自キャラクタ100のパラメータの名称として、「体力値(HP:ヒットポイント)」、「スキルポイント(SP)」、「攻撃値」、「防御値」を含む。「体力値(HP:ヒットポイント)」は、自キャラクタ100の体力の値を示す。例えば、「体力値」が尽きた場合は、ゲームオーバーとしてゲームプレイを終了させることがある。「スキルポイント(SP)」は、自キャラクタ100が所定の入力操作(長押し操作等)等に応じて、特殊なモーション(攻撃動作を行うためのモーション、体力を回復させる回復動作を行うためのモーションなどを含む)を発動させる際に消費されるパラメータである。「攻撃値」は、自キャラクタ100が他のキャラクタにダメージを与える量に影響する。「防御値」は、自キャラクタ100が他のキャラクタ等から受けるダメージ量に影響する。
項目「基本値」は、装備アイテム等の補正によらない自キャラクタ100自身のパラメータの値を示す。項目「装備による補正値」は、装備アイテム等の、自キャラクタ100と所定のアイテムを関連付けることによるパラメータの補正量を示す。項目「スキルによる補正値」は、自キャラクタ100が獲得しているスキル(スキルの詳細は後述する)によるパラメータの補正量を示す。項目「称号による補正値」は、ゲームプレイに伴ってユーザが獲得する称号オブジェクト(例えば、ゲームプログラムの運営者によって、所定の名称を含む称号がユーザに与えられ、称号を有すること等により、「体力値の上限を増やす」などのゲーム中の効果が発生する。)に従った補正量を示す。
図15の図示例(B)は、ユーザの入力操作に応じてゲームキャラクタに各種行動を行わせた履歴とゲームキャラクタが獲得したスキルとの対応関係を示す。
図示例(B)に示すように、キャラクタが各種行動を行った行動内容の履歴は、自キャラクタ100のグレードを示す項目「グレード」と、項目「スキル名」と、項目「パラメータ補正の内容」と、項目「経験値」と、項目「レベル」と、項目「経験値獲得条件」とを含む。
項目「スキル名」は、自キャラクタ100が獲得可能なスキルの名称を示す。
項目「パラメータ補正の内容」は、項目「スキル名」に示されるスキルが、項目「レベル」に達することにより自キャラクタ100に及ぼすパラメータ補正の内容を示す。
項目「パラメータ補正の内容」としては、例えば、(i)自キャラクタ100の体力値を補正するもの、(ii)タップ等の入力操作等に応じて自キャラクタ100が攻撃動作を行う場合に、攻撃動作の攻撃力を増加させるもの、(iii)攻撃動作を連続して繰り出せる回数の上限を増加させる(コンボ数を増やす)もの、(iv)自キャラクタ100がゲームフィールドにおいて所定の入力操作に応じてゲームアイテムの採集動作(例えば、ゲームフィールド中の鉱山から石を取得する動作、草花を採集する動作、釣りをする動作など)のアニメーションを行う時間を短縮化するもの、(v)自キャラクタ100のスキルポイントの最大値を増加させるもの、(vi)フリック等の入力操作に応じて自キャラクタ100が回避動作を行う場合に、自キャラクタ100の回避動作の距離、速度等を増加させるもの、(vii)下スライド等の入力操作に応じて自キャラクタ100にしゃがみ動作を行わせつつガードを行わせる場合に、ガード時に敵キャラクタの攻撃から受けるダメージ量を低減させるもの、(viii)上スライド等の入力操作に応じて自キャラクタ100がジャンプ動作を行う場合にジャンプの距離、速度等を増加させるもの、(ix)上スライド等の入力操作に応じて自キャラクタ100がジャンプしている最中にタップ操作、下スライド操作等を受け付けて空中での攻撃動作を行う場合に、その攻撃力や空中での攻撃可能な回数を増加させるもの、(x)自キャラクタ100が、素材アイテムをもとに武器・防具などを合成し、強化させるクラフト動作を行う場合に、そのクラフトにより得られるアイテムの種類、アイテム生成の成功度などを高めるもの、などがある。
項目「経験値」は、項目「スキル名」に示されるスキルについて、項目「経験値獲得条件」に示される条件が満たされることにより増加する値と、レベルアップに必要な経験値の値とを示す。
項目「レベル」は、項目「スキル名」に示されるスキルについて、ユーザが成長させた度合いを示す。例えば、スキル「体力値アップ」について、レベルが低い場合よりも、レベルが高い場合の方が、パラメータ補正内容が良好となるようにすることができる。これにより、ユーザに対し、スキルのレベルアップをさせるため、項目「経験値獲得条件」に示される動作を自キャラクタ100に行わせるよう動機づけることができる。この結果、ユーザは、自キャラクタ100に対し、図6等に示すアクションを行わせれば行わせるほど、自キャラクタ100のパラメータを更新することができるので、ゲームプレイを継続して行い、自キャラクタ100の操作に習熟するよう動機づけることができる。また、これらスキルの中には、あるスキルのレベルが一定程度に達することで、スキルの習得が可能になるものが含まれる。すなわち、第1のスキルについてレベルが一定程度に達する(例えば、レベルが最大に達する)ことにより、第2のスキルを獲得可能になる。
項目「経験値獲得条件」は、項目「スキル名」に示されるスキルについて経験値を獲得し、レベルを向上させるための条件を示す。このような条件として、例えば、図6等に示すアクションを自キャラクタ100に行わせるための入力操作を行うことがある。換言すれば、自キャラクタ100にアクションを行わせるための入力操作を行い、このことに起因して自キャラクタ100がアクションを行うことで、各スキルについて経験値を獲得することができる。したがって、ユーザは、図6等に示す様々なアクションを次々と試そうと動機づけられる。また、スキルによっては、スキル名「体力値アップ」のように、自キャラクタ100がダメージを受けることでパラメータを成長させられるものもある。これにより、移動のためのアクションとともに、敵キャラクタと戦闘を行うためのアクション(回避動作、攻撃動作、ガード動作など)実行のための入力操作をいっそうユーザに促すよう動機づけることができる。
図16は、ユーザの入力操作に応じて自キャラクタ100が行動を行うことに起因して、自キャラクタ100がスキルを獲得したことを通知する局面を示す。
図16の図示例(A)は、一例として、横スクロールアクションゲーム(MMORPGであってもよい)を示している。図示例(A)において、ユーザが横スライド操作(ドラッグ操作)を継続することにより、自キャラクタ100が移動している局面を示す。ユーザ端末1は、タッチスクリーン2に、UI部品900を表示している。UI部品900は、ユーザのタッチ操作等の入力操作を受け付けて、自キャラクタ100が習得しているスキルの一覧をユーザが確認するための画面へと遷移させるためのアイコンである。
図示例(B)は、ユーザが自キャラクタ100を斜めにジャンプさせるための入力操作として、斜め上スライド操作(または、フリック操作でもよい)を行い、自キャラクタ100がジャンプしたことに起因して、自キャラクタ100が新たにスキルを獲得したこと、スキルを成長させたことをユーザに通知する局面を示す。
ユーザ端末1は、タッチスクリーン2に、自キャラクタ100が新たにスキルを獲得したことを通知するためのUI部品902を、自キャラクタ100の近傍に一定時間(例えば、数秒)表示させる。これにより、ユーザは、ゲームプレイ中に自キャラクタ100を注視しつつ、ユーザの入力操作により自キャラクタ100にアクションを行わせた結果、新たに自キャラクタ100がスキルを獲得したこと、スキルを成長させたことを容易に認識することができる。ユーザ端末1は、UI部品902が表示されてから一定時間が経過すると、UI部品902の表示を終了する。これにより、ユーザは、スキルを獲得したこと、スキルを成長させたことを認識したうえで、再び自キャラクタ100に注目して自キャラクタ100にアクションを行わせることに集中できる。
ユーザ端末1は、タッチスクリーン2に表示されるUI部品900の近傍に、UI部品901を表示させる。UI部品901は、自キャラクタ100が獲得しているスキルにおいてユーザが未確認のものがあること、スキルを成長させた結果をユーザが未確認のものがあることを示すアイコンである。図示例(B)では、ユーザが未確認のスキルの数をUI部品901において示している。ユーザ端末1は、UI部品901を、ユーザが未確認のスキルがなくなるまで表示し続けることとしてもよい。これにより、ユーザは、自キャラクタ100に注目してアクション操作を行い、敵キャラクタとの戦闘を行ったあとで、落ち着いてスキル一覧を確認するといったように、ユーザが自キャラクタ100に行わせたいアクションに集中させつつ、UI部品901を表示することで、ユーザが自キャラクタ100の成長を確認する機会を逸するのを抑止することができる。
図17は、自キャラクタ100が獲得可能なスキルと、自キャラクタ100が習得しているスキルとをユーザが確認することができるスキル一覧の画面例を示す。ユーザ端末1は、例えば、UI部品900に対するユーザのタッチ操作を受け付けることにより、図17に示す画面をタッチスクリーン2に表示させる。
図17の図示例(A)は、自キャラクタ100が未だ獲得していないスキルと、自キャラクタ100が既に習得しているスキルとをタッチスクリーン2に表示している局面を示す。図示例(A)に示すように、ユーザ端末1は、タッチスクリーン2において、スタンダードスキルボタン910と、スペシャルスキルボタン911と、第1のスキル群912と、第2のスキル群913とを表示している。スタンダードスキルボタン910とスペシャルスキルボタン911とは、ユーザの入力操作に応じて、タッチスクリーン2に表示するスキルの種別を切り替えるためのアイコンである。図示例(A)では、スタンダードスキルボタン910が有効になっていることをユーザが認識できるよう、スペシャルスキルボタン911と比べてスタンダードスキルボタン910を強調表示している。
ユーザがスペシャルスキルボタン911にタッチ操作を行うと、ユーザ端末1は、タッチスクリーン2に表示するスキルの種別を切り替えて、スペシャルスキルボタン911が有効になっていることをユーザが認識できるよう、スタンダードスキルボタン910と比べてスペシャルスキルボタン911を強調表示する。
スペシャルスキルボタン911により表示されるスキルの種別としては、例えば、(i)自キャラクタ100が入力操作に応じたアクションによらず習得し成長させることができるもの、(ii)自キャラクタ100についてのエピソードの閲覧を可能とするもの、(iii)過去のゲーム中での自キャラクタ100の会話内容のログの表示を可能とするもの、(iv)戦闘中の画面で、タップ操作等の攻撃動作とは別に、スキルポイントを消費して発動可能な攻撃動作または回復動作などをキャラクタに行わせるもの、などが含まれる。
ここで、(i)自キャラクタ100が入力操作に応じたアクションによらず習得し成長させることができるスキルとしては、例えば、ユーザがゲームプレイに伴ってゲーム媒体を獲得することにより、自キャラクタ100が使用可能となるものを含む。例えば、ユーザのゲームプレイに伴って、様々なアイテム、スキル、キャラクタ、ゲーム中の仮想通貨などを供出するゲーム媒体をゲーム中でユーザが入手したとする。ユーザ端末1は、このゲーム媒体からユーザに付与する対象を抽選により決定する。ユーザ端末1は、ゲーム媒体からユーザに付与する対象がスキルであれば、どのスキルを付与するかを抽選で決定する。ゲームプレイ時に、ゲーム媒体からアイテム等を供出するための所定の条件を満たすことで、ユーザに対し、抽選結果に従った付与対象(アイテム、スキル、キャラクタ、ゲーム中の仮想通貨など)を付与する。ここで、ユーザ端末1は、ユーザが自キャラクタ100に攻撃動作を行わせて敵キャラクタを攻撃し、敵キャラクタを撃破した等により、ユーザにゲーム媒体を付与することとしてもよい。
第1のスキル群912は、自キャラクタ100が習得可能なスキルのうちグレード「1」に分類されるスキルを含む。第2のスキル群913は、自キャラクタ100が習得可能なスキルのうちグレード2に分類されるスキルを含む。
ユーザ端末1は、ユーザのゲームプレイに伴い所定の条件を満たすことにより、自キャラクタ100のグレードを更新する。例えば、所定の条件とは、ユーザが入力操作を行うことで自キャラクタ100にアクションを行わせることで満たすことができるものとしてもよい。例えば、ユーザ端末1は、ユーザの入力操作に応じて自キャラクタ100にアクションを行わせて、敵キャラクタを撃破する等により、アイテム等を供出するゲーム媒体をユーザに付与する。ユーザ端末1は、このゲーム媒体からユーザに付与される対象がキャラクタである場合に、複数のキャラクタのうちいずれのキャラクタをユーザに供出するかを抽選する。抽選の結果、ユーザが獲得していないキャラクタがゲーム媒体から供出される場合は、ユーザが当該キャラクタを操作可能とし、ユーザが既に獲得しているキャラクタがゲーム媒体から供出される場合は、当該キャラクタのグレードを更新する。例えば、ユーザが既にグレード「1」のキャラクタを操作可能な状態で、当該キャラクタがゲーム媒体から供出されると、ユーザ端末1は、当該キャラクタのグレードをグレード「1」からグレード「2」に更新し、当該キャラクタが獲得可能なスキルの範囲を拡大する。
このように、当該キャラクタのグレードが更新されるまでは、当該キャラクタのグレードの範囲内でスキルを獲得し、成長させることができるようにすることで、ユーザに対し、キャラクタのグレードを更新するためのゲームプレイを促すことができる。また、ゲームプレイに伴ってユーザが獲得するゲーム媒体からキャラクタ等が供出されることでキャラクタのグレードが更新されることにより、ユーザにとっては、ゲームプレイをすればするほどキャラクタの成長を実感させることができる。例えば、自キャラクタ100が攻撃動作時に連続して繰り出せる技の上限数(コンボ数)が、スキルの成長とともに更新されると、いっそうキャラクタの成長をユーザが実感することができ、ゲームプレイの継続を促すことができる。
図示例(A)において、第1のスキル群912と比べて、第2のスキル群913では、ユーザが未だ獲得していないスキルがあることを、ユーザが獲得済みのスキルと区別できるよう表示している。ユーザ端末1は、ユーザが獲得済みのスキルについては、各スキルのアイコンの近傍に、スキルのレベルを示す表示を行っている。一方、ユーザが未だ獲得していないスキルについては、アイコンをグレーアウトさせる、スキルの中身をアイコンから判別できないようにするといった表示態様にすることで、ユーザがこれらスキルを獲得しようと動機づけることができる。
図示例(B)は、ユーザが獲得し、または成長させたスキルについて、ユーザが未確認のものがあることを示している。図示例(B)において、ユーザ端末1は、ユーザが未確認のスキルがあることをユーザに通知するためのUI部品915を、スキルのアイコンに重ねてタッチスクリーン2に表示しているが、UI部品915の表示態様はこれに限られない。これにより、ユーザに対し、UI部品915に対する操作を促して、よりいっそう自キャラクタ100の成長をユーザが実感する機会を増やすことができる。
図18は、ユーザ端末1が、自キャラクタ100の動作内容に応じて、スキル習得のための各スキルの経験値を更新し、スキルを獲得したこと、スキルを成長させたことをユーザに通知する処理を示すフローチャートである。ユーザ端末1は、プログラムに従って動作することにより、以下の各ステップを実行する。
ステップS1801において、ユーザ端末1のCPU3は、自キャラクタ100についてイベントが発生したことを検出する。イベントの内容としては、図15の図示例(B)の項目「経験値獲得条件」に示されるものを含む。
例えば、ユーザが自キャラクタ100にアクションを行わせるための入力操作がタッチスクリーン2に行われたことに応答して、自キャラクタ100に行わせるアクションの内容が決定され、その決定内容に従って自キャラクタ100を動作させる指示をCPU2が行ったことによるイベントを含む。また、イベントの内容としては、自キャラクタ100が、敵キャラクタが行う攻撃モーションの範囲に位置することまたは障害物に衝突すること等の、体力値を減少させるイベントを含む。また、イベントの内容としては、自キャラクタ100がアクションを行った結果、敵キャラクタに攻撃をヒットさせたこと、敵キャラクタにダメージを与えたこと、自キャラクタ100を回復させたこと、自キャラクタ100以外の他のキャラクタを回復させたことなどを含む。
ステップS1803において、CPU3は、ステップS1801で発生を検出したイベントの内容を判別する。例えば、イベントの内容が、入力操作に応じて自キャラクタ100を動作させるものであれば、その入力操作に応じて自キャラクタ100が行うアクションの内容(例えば、攻撃動作、採集動作など)を判別する。
ステップS1805において、CPU3は、ステップS1803で判別した内容に応じて、各スキルの経験値を更新する。
ステップS1807において、CPU3は、ステップS1805の処理により、各スキルについて経験値がレベルアップに必要な水準に達したものがある場合に、当該スキルを獲得したこと、成長させたことについてユーザが未確認であることを示すフラグを設定するとともに、図16の図示例(B)に示すような態様で、その旨を示す通知をタッチスクリーン2に表示させる。CPU3は、ユーザが未確認であることを示すフラグが設定されたスキルの数をカウントすることで、図16の図示例(B)のUI部品901において、ユーザが未確認のスキルの数を表示することができる。
図19は、ユーザ端末1が、ユーザの入力操作に応じて、自キャラクタ100が習得しているスキル一覧の画面をタッチスクリーン2に提示する処理を示すフローチャートである。ユーザ端末1は、プログラムに従って動作することにより、以下の各ステップを実行する。
ステップS1901において、ユーザ端末1のCPU3は、スキル一覧を表示させるためのユーザの入力操作を検出する。例えば、図16に示すUI部品900へのタッチ操作を検出することで、CPU3は、以下の各ステップを実行する。
ステップS1903において、CPU3は、ユーザが新たに獲得したスキル、成長させたスキルにおいて、ユーザが未確認のスキルを、ステップS1807で各スキルに設定されるフラグにより特定する。
ステップS1905において、CPU3は、ユーザが未確認のスキルに、ユーザの確認を促すための通知用のアイコンを配置して、タッチスクリーン2に表示する画像を生成する。
ステップS1907において、CPU3は、ステップS1905で生成した画像をタッチスクリーン2に表示する。例えば、図17の図示例(B)のUI部品915が表示されるスキルは、スキルを新たに獲得したこと、スキルを成長させたことについてユーザが未確認のスキルを示している。
[本開示が示す第2の実施形態の説明]
以下、本開示が示す第2の実施形態について図面を参照しながら説明する。なお、本実施形態の説明において既に説明された部材と同一の参照番号を有する部材については、説明の便宜上、その説明は繰り返さない。第2の実施形態では、ユーザが複数のキャラクタを編成して、ゲームプレイ中に、操作対象のキャラクタをユーザが切り替えつつ進行させるゲームにおいて、キャラクタを切り替えるための操作について主に説明する。
6.UI画像(操作キー)の表示処理の説明
図20〜図24を参照して、本実施形態に係るゲームプログラムにおける操作キーの表示処理について説明する。
図20は、第2の実施形態においてプレイヤキャラクタをユーザが変更するためのユーザインターフェース画像の表示処理を示すフローチャートである。
図20のステップS11において、制御部30は、ユーザの指などがタッチスクリーン2へ接近したか(接近操作が入力された)否かを、タッチセンシング部10から入力操作受付部32へ出力された信号により判定する。接近操作が入力されたと判定された場合には(ステップS11のYes)、ステップS12において、制御部30は、接触終了点の位置を検出する。そして、ステップS13において、制御部30は、接触終了点が、接近操作が検出された位置(接触開始点)を含む一定領域内に含まれるか否かを判定する。接触終了点が接近開始点を含む一定領域内に含まれていない、すなわち、接触開始点と接触終了点とが一定距離以上離れていると判定された場合には(ステップS13のNo)、ステップS14において、制御部30は、ユーザが自キャラクタ100の操作を要求していると判断し、接触開始点と接触終了点とによって規定されるベクトル(図5の(D)参照)に基づいて、自キャラクタ100に所定の動作を実行させる。このとき、制御部30は、接触開始点の周囲に図7に示す操作オブジェクト40の基部42を表示し、接触終了点に基づいて操作オブジェクト40を弾性変形させても良い。その後、ステップS11へと戻り、処理が繰り返される。
一方、接触終了点が接近開始点を含む一定領域内に含まれると判定された場合には(ステップS13のYes)、ステップS16において、制御部30は、接近操作が継続している時間が一定時間を超えたか否かを判定する。すなわち、ここでは、制御部30は、ユーザの入力操作が「長押し操作」であるか否かを判定する。ユーザの入力操作が「長押し操作」であると判定された場合には(ステップS16のYes)、ステップS17において、制御部30は、タッチスクリーン2上に所定のUI画像60(図21参照)を表示する。
図21は、図20に示すフローチャートにおけるゲーム画面の例を示す図である。図22は、図21に示すゲーム画面に連続するゲーム画面の例を示す図である。
図21に示すように、UI画像60は、ベース部62と、第一の操作キー64(第一の操作オブジェクトの一例)と、第二の操作キー66(第二の操作オブジェクトの一例)とから構成されている。ベース部62の部分には、例えば、略円形状の画像を表示しても良く、特に画像を表示しなくても良い。すなわち、ベース部62は、第一の操作キー64および第二の操作キー66の配置関係を決定するための基準として構成されていれば良い。第一の操作キー64は、第一から第三のアイコン64A〜64Cから構成されている。第一のアイコン64Aは、タッチスクリーン2上に現在表示されている(すなわち、ユーザにより選択されている)自キャラクタ100に対応している。第二のアイコン64Bは、ユーザ選択により自キャラクタ100と変更可能なキャラクタ120に対応している。第三のアイコン64Cは、ユーザ選択により自キャラクタ100と変更可能であってキャラクタ120とは異なるキャラクタ130に対応している。第二の操作キー66は、現在選択中のキャラクタのスキルを発動させるための操作キーである。第二の操作キー66への入力操作により発動するスキルは、例えば、図15の例で説明したスキルポイントを一定量消費して発動する攻撃動作または回復動作などである。このように、スキルポイントを消費して発動する動作であるため、タップ操作等によりキャラクタが行う攻撃動作等と比較して、強力な効果を持つものとしてもよい。
第一のアイコン64Aには、現在使用中のキャラクタ(自キャラクタ100)を示す情報(例えば「使用中」)が表示されている。第一のアイコン64Aは、タッチスクリーン2上に現在表示されている自キャラクタ100に対応するアイコンであるため、選択不能な状態で表示されていることが好ましい。すなわち、ユーザが第一のアイコン64A上でリリース操作を行ったとしても、何らのアクションも実行されない。第二のアイコン64Bおよび第三のアイコン64Cには、自キャラクタ100と変更可能なキャラクタ120,130の情報(例えば、キャラクタ120,130の顔)がそれぞれ表示されている。第二の操作キー66には、例えば「スキル」と表示されている。
これらの操作キー64,56は、長押し操作がされた接触開始点(すなわち、ベース部62)から左側に所定距離だけ離れてベース部62に対して放射状となるように配列されている。第一の操作キー64(各アイコン64A〜64C)および第二の操作キー66は、操作入力が入力された位置であるベース部62に対して、それぞれの配置関係が固定されている。例えば、ベース部62の左側領域において、上から、第二の操作キー66、第一のアイコン64A、第二のアイコン64B、第三のアイコン64Cの順に、タッチスクリーン2の左右方向に対して非対称となるように配置されている。
なお、図21に示す例においては、ユーザが右手の指でタッチスクリーン2を操作するものと仮定して、右手指で操作しやすいように、ベース部62の左側領域に第一の操作キー64および第二の操作キー66を配置しているが、この例に限られない。例えば、左手指で操作する場合には、ユーザの選択操作によりベース部62の右側領域にこれらの操作キーを配置しても良い。この場合も、各操作キー64,66の配置関係は固定されている。すなわち、ユーザの右手による入力操作の場合とユーザの左手による入力操作の場合とで第一の操作キー64(各アイコン64A〜64C)および第二の操作キー66の配置が左右対称に切り替え可能であっても良い。このように、ユーザが右手と左手のどちらでタッチスクリーン2を操作するかに応じてベース部62に対して操作キー64,66の配置を左右対称に切り替えることで、操作性をさらに向上させることができる。
続いて、ステップS18において、制御部30は、リリース操作が入力されたか否かを判定する。リリース操作が入力されたと判定された場合には(ステップS18のYes)、ステップS19において、制御部30は、リリース操作が入力された位置(タッチオフ位置)が各操作キー64,56の領域に含まれるか否かを判定する。タッチオフ位置が各操作キー64,56の領域に含まれないと判定された場合には(ステップS19のNo)、ステップS20において、制御部30は、ユーザが各操作キー64,56に対応する操作を要求していないと判断し、何らのアクションも実行せずにUI画像60を非表示とする。その後、ステップS11へと戻り、処理が繰り返される。
一方、タッチオフ位置が各操作キー64,56の領域に含まれていると判定された場合には(ステップS19のYes)、ステップS21において、制御部30は、選択された操作キーに対応する操作を実行する。例えば、図22の(A)に示すように、第三のアイコン64C上でリリース操作が入力されたと判定された場合には、図22の(B)に示すように制御部30は、自キャラクタ100の代わりに第二のアイコン64Cに対応するキャラクタ130をタッチスクリーン2上に表示させるとともに、UI画像60を非表示とする。その後、ステップS11へと戻り、処理が繰り返される。
図23は、プレイヤキャラクタをユーザが変更した後でのユーザインターフェース画像の例を示す図である。
図23は、タッチスクリーン2上に表示されるキャラクタが、自キャラクタ100から別のキャラクタ130に変更された後で、長押し操作が入力された場合のUI画像60を示している。
この場合、タッチスクリーン2上に現在表示されているキャラクタ130に対応する第三のアイコン64Cには「使用中」と表示され、当該第三のアイコン64Cは選択不能な状態となっている。また、第一のアイコン64Aおよび第二のアイコン64Bには、キャラクタ130と変更可能なキャラクタ100,120の顔がそれぞれ表示されている。このように、キャラクタ変更用のアイコンとして、現在選択されているキャラクタに対応するアイコンも選択不能な状態で表示させることで、各アイコン64A〜64Cの配置関係を固定して表示することができる。
図24は、プレイヤキャラクタ変更用のユーザインターフェース画像を表示させたままスライド操作が入力された場合のゲーム画面の例を示す図である。
図24の(A)および(B)は、長押し操作が入力された状態(UI画像60が表示された状態)から所定方向にスライド(ドラッグ)操作が入力された場合の画面例を示している。
ステップS17において、長押し操作によりUI画像60が表示された状態でドラッグ操作が入力されると、制御部30は、接触開始点から接触終了点までのドラッグ操作が一定速度以下であるか否かを判定する。ドラッグ操作の速度は、例えば、ドラッグ操作の接触開始点から接触終了点までのスライド量とフレーム数に基づいて検出することができる。ドラッグ操作の検出速度が所定の閾値以下の場合には、制御部30は、UI画像60をドラッグ操作に追随させて移動させつつ、キャラクタ100をドラッグ操作に応じて操作する(移動や、ジャンプなど)。例えば、図24の(A)に示すように、長押し操作によりUI画像60が表示された状態からユーザが矢印Aの方向にドラッグ操作を行うと、制御部30は、UI画像60を表示させたまま、そのドラッグ操作の方向に基づいて、自キャラクタ100に所定の動作を実行させるとともにUI画像60を移動させる。例えば、ドラッグ方向が斜め上方向である場合には、図24の(B)に示すように、当該ドラッグ方向に基づいて、操作オブジェクト40を弾性変形させながら表示させつつ、キャラクタ100をジャンプさせる。それと同時に、制御部30は、UI画像60を、第一の操作キー64(アイコン64A〜64C)および第二の操作キー66の配置関係を維持しながら、ドラッグ方向に応じて移動させる。これにより、キャラクタ100を別のキャラクタに変更できる状態を維持しつつ、現在表示されているキャラクタを操作することができる。このとき、ドラッグ操作の接触終了点には常にUI画像60のベース部62が配置されるため、各操作キー64,66は選択することができない。
一方、ドラッグ操作が一定速度よりも速い場合には、制御部30は、UI画像60をドラッグ操作に追随して移動させないようにし、各操作キー64,66を選択可能とする。すなわち、この場合、ユーザは、各操作キー64、66上でリリース操作を行って、各操作キー64,66を選択することができる。このように、ドラッグ操作の速度に応じて、自キャラクタ100の操作と各操作キー64,66の操作とを切り替えることで、操作性の自由度を向上させることができる。
以上説明したように、本実施形態によれば、制御部30は、タッチスクリーン2上の任意位置に対するユーザの長押し操作に基づいて、タッチスクリーン2に自キャラクタ100を変更するための第一の操作キー64(UI画像60)を表示させ、ユーザが第一の操作キー64を選択操作することで、タッチスクリーン2に表示されている自キャラクタ100を異なるキャラクタ(例えば、キャラクタ130)へと変更する。これにより、通常時にはタッチスクリーン2に表示された空間内の操作領域や視認可能範囲に影響を与えることなく、ユーザによる長押し操作時のみに自キャラクタ100を変更するためのUI画像60を提供することができる。
また、UI画像60は、各アイコン64A〜64Cや第二の操作キー66の配置関係が固定されて表示されるため、各操作キー64,66の位置をユーザが記憶することができる。これにより、各キャラクタ100,120,130に対応するアイコン64A〜64Cやスキル発動用の操作キー66の位置をユーザが記憶することができるため、ユーザはUI画像60の表示を視認することなくキャラクタの変更やスキル発動を実行することができる。
7.ゲームフィールドに登場させる、ユーザの操作対象のキャラクタを、ユーザの切替操作によらず自動で切り替える処理
以上のように、ユーザは、各操作キー64、66へ入力操作を行うことにより、操作対象とするキャラクタを変更することができる。ユーザ端末1は、ユーザがゲーム中に変更可能なキャラクタをパーティとして編成してゲーム進行させている場合に、パーティに含まれる各キャラクタを変更するための入力操作に応じて、タッチスクリーン2に表示させるキャラクタを変更する。
ここで、第2の実施形態では、ユーザ端末1は、ユーザが操作対象とするキャラクタを変更するための入力操作(各操作キー64等への操作)によらず、ゲーム進行に応じて自動的に切り替える処理を行うことができる。具体的には、ユーザがキャラクタを変更する入力操作によらず、敵キャラクタとの戦闘中に自動的にキャラクタを変更(オートチェンジ)する第1のモード(オートチェンジ適用モード)と、第1のモードを停止させる第2のモード(オートチェンジ停止モード)とを、ユーザが選択することができる。
第1のモードにおいて、例えば、ユーザが操作対象とする各キャラクタのパラメータと、敵キャラクタのパラメータとを比較して、パーティ編成に含まれる各キャラクタのうちいずれかのキャラクタを特定し、特定したキャラクタをタッチスクリーン2に表示させることで、ユーザが操作対象とするキャラクタを変更する。ここで、タッチスクリーン2には、多数の敵キャラクタが表示され得るが、ユーザ端末1は、各キャラクタのパラメータと比較する対象となる敵キャラクタを、ユーザが操作対象とするキャラクタが攻撃動作を行うためにロックオンしているキャラクタであるとしてもよい。ロックオンしている状態であると、キャラクタ100が敵キャラクタ200を向いているかいなかにかかわらず、ユーザがタップ操作等によりキャラクタ100に攻撃動作を行わせる場合に、敵キャラクタ200に向けて攻撃動作のためのアクションを行う。ユーザ端末1は、例えば、キャラクタ100に最も近い距離にいる敵キャラクタ200を、キャラクタ100が攻撃対象としてロックオンしたキャラクタとする。
第1のモードにおいて、ユーザ端末1は、タッチスクリーン2に表示させるキャラクタを特定するため、例えば、(i)ユーザが操作対象とするキャラクタが攻撃対象とする敵キャラクタに対し、パーティに含まれる各キャラクタの攻撃に関するパラメータに基づいて、変更対象のキャラクタを特定する。ユーザ端末1は、例えば、敵キャラクタに対し、最もダメージ効率がよいキャラクタを、タッチスクリーン2に表示させるキャラクタとして特定する。
第1の実施形態で説明したように、ユーザが操作対象とするキャラクタは、ユーザの入力操作に応じて様々な動作を行うことにより、そのパラメータを成長させることができる。ユーザ端末1は、攻撃に関するパラメータに基づいて、敵キャラクタと戦闘するキャラクタを特定する場合、ユーザがパーティ編成したキャラクタの各パラメータの補正内容を参照して、攻撃力の高さ、コンボ数などに基づいて、単位時間あたりに敵キャラクタに与えうるダメージ量が最も高いキャラクタを、タッチスクリーン2に表示させるキャラクタとして特定することもできる。
また、ユーザ端末1は、(ii)ユーザが操作対象とするキャラクタが攻撃対象とする敵キャラクタから攻撃を受けたとした場合に、キャラクタが生存する可能性の高低に応じて、タッチスクリーン2に表示させるキャラクタを特定してもよい。ユーザ端末1は、例えば、パーティ編成に含まれるキャラクタのうち、敵キャラクタから攻撃を受けたとしてもキャラクタが受けるダメージが最も小さくなるキャラクタを特定する。
また、ユーザ端末1は、(iii)攻撃対象とするキャラクタの移動速度のパラメータと、ユーザがパーティ編成した各キャラクタの移動に関するパラメータ(移動速度、回避動作の速さ、回避動作の距離、ジャンプの速さ、ジャンプの距離など)とに基づいて、攻撃対象とするキャラクタに攻撃を成功させやすそうなキャラクタを、タッチスクリーン2に表示させるキャラクタとして特定してもよい。例えば、敵キャラクタの移動速度が速い場合は、ユーザが操作するキャラクタが片手剣や拳、斧等の攻撃手段であれば、敵キャラクタの移動に追従しやすいキャラクタのほうが攻撃をヒットさせやすい場合があると想定される。ユーザ端末1は、敵キャラクタの移動に関するパラメータと、パーティ編成した各キャラクタの移動に関するパラメータとを比較して、例えば、敵キャラクタの移動速度と同等か、より速いキャラクタを、タッチスクリーン2に表示させるキャラクタとして特定する。
図25は、ゲームプログラムにおいてユーザが操作対象とし得るキャラクタと、ユーザが操作対象とすることができるキャラクタとを管理するためのキャラクタ管理情報のデータ構造を示す図である。ユーザ端末1は、主記憶4等に、図25に示すデータ構造のデータを保持し、適宜、データを参照しつつゲームを進行させる。
図25に示すように、キャラクタ管理情報は、項目「キャラクタ識別情報」と、項目「キャラクタ名称」と、項目「キャラクタ属性」と、項目「ユーザの使用可否」と、項目「パーティ編成」と、項目「グレード」とを含む。
項目「キャラクタ識別情報」は、ゲームプログラムにおいてユーザが操作対象として獲得し得るキャラクタそれぞれを識別するための情報である。
項目「キャラクタ名称」は、各キャラクタの名称を示す。
項目「キャラクタ属性」は、各キャラクタに設定される属性を示す。ここで、キャラクタに設定される属性とは、キャラクタが装備可能な装備アイテムの種別を含む。装備アイテムとしては、キャラクタと関連付けることができる武器の種類、防具の種類、アクセサリの種類などがある。各キャラクタに設定される属性として、武器種とは別に設定されるものとして、攻撃や防御の際に参照される別のパラメータを含む。例えば、三すくみのようにタイプごとの相性が設定されているものがある。図25の例では、例えば、タイプ「水」はタイプ「火」に強く、タイプ「火」はタイプ「土」に強く、タイプ「土」はタイプ「水」に強い、といったような相性が設定されており、これら相性に基づいて、キャラクタとキャラクタとの戦闘におけるダメージ量が補正されることがある。また、例えば、キャラクタによっては、弱点となる属性、攻撃を無効化できる属性が設定されていることもある。例えば、空を飛ぶキャラクタについて、タイプ「土」の攻撃を無効化する(ダメージを受けない)一方、タイプ「風」の攻撃が弱点であるとして、攻撃を受けた時のダメージ量が増加する。
ユーザ端末1は、第1のモードにおいて、ユーザが操作対象とするキャラクタが攻撃対象とする敵キャラクタに対し、パーティに含まれる各キャラクタの攻撃に関するパラメータに基づいて、変更対象のキャラクタを特定する場合に、これらキャラクタに設定される属性と、敵キャラクタについて設定される属性とに基づいて、変更対象のキャラクタを特定することとしてもよい。ユーザ端末1は、例えば、パーティに編成される各キャラクタのうち、各キャラクタの基本値、装備による補正値、スキルによる補正値により定まる攻撃値と、各キャラクタが攻撃をする際の最大コンボ数と、各キャラクタの属性と、敵キャラクタの属性とに基づいて、単位時間あたりに敵キャラクタに与えるダメージが最も高いキャラクタを特定することができる。
項目「ユーザの使用可否」は、ユーザがゲームプレイにおいて使用可能となったキャラクタか、ユーザが未獲得のキャラクタかを示す。
項目「パーティ編成」は、ユーザがゲームプレイ時にパーティとして編成するキャラクタとして組み込まれているか否かを示す。ユーザ端末1は、例えば、3人一組でゲームを進行させることができる場合に、ユーザが使用することができるキャラクタの中から、パーティとして少なくとも一人、最大3名の指定をユーザから受け付けて、受け付けたパーティ編成(デッキと呼ぶこともある)を保存する。
項目「グレード」は、第1の実施形態で説明したように、キャラクタが獲得可能なスキルの範囲を示す。
図26は、ユーザがキャラクタを変更する入力操作によらず、敵キャラクタとの戦闘中に自動的にキャラクタを変更する第1のモードと、第1のモードを停止させる第2のモードとを切り替えるためのユーザインターフェース画像と、オートチェンジによりキャラクタが変更されるゲーム画面とを示す図である。
図26の図示例(A)に示すように、ユーザ端末1は、タッチスクリーン2において、ユーザインターフェース画像において、オートチェンジ可能な第1のモードとするか、第1のモードを切り替えて第2のモードとするかの変更操作をユーザから受け付けるためのUI画像64Eを表示する。図23で説明したように、ユーザ端末1は、ユーザから長押し操作を受け付けた場合に、UI画像64Eを含むUI画像60をタッチスクリーン2に表示させる。図示例(A)では、ユーザが第1のモードを有効にしていることを、UI画像64Eにおいて「オートキャラチェンジ:ON」として表示しているとともに、UI画像64Eに対するドラッグ操作等により、第1のモードから第2のモードへと切替可能であることを表示している。図示例(A)に示すように、オートチェンジを有効にするか否かのUI画像64Eを、ユーザが操作対象のキャラクタを切り替えるためのUI画像64、操作対象のキャラクタにスキルを発動させるUI画像とは異なる位置に表示することで、ユーザの誤入力を抑止することが望ましい。図示例(A)に示すように、操作対象のキャラクタにスキルを発動させるUI画像、および、操作対象のキャラクタを切り替えるためのUI画像64と、UI画像64Eとが、ユーザが長押し操作を行った箇所に基づき表示されるベース部62に対向するように配置してもよい。
図示例(B)と図示例(C)は、オートキャラチェンジが有効な状態で、ユーザが操作対象とする各キャラクタと、敵キャラクタ200とのパラメータを比較して、キャラクタ130からキャラクタ100へと、ユーザの操作対象のキャラクタが変更される局面を示す。図示例(B)において、キャラクタ130と、敵キャラクタ200とが一定距離以内にあるために、キャラクタ130が敵キャラクタ200をロックオンしている状態にあるとする。この状態で、ユーザ端末1は、タッチスクリーンに対するタップ操作を受け付けて、タップ操作が行われたことを示すUI部品260を表示している。このとき、ユーザ端末1は、タップ操作が行われたことにより、キャラクタ130に攻撃動作を行わせるためのイベントが発生したことに応答して、パーティに編成される各キャラクタのパラメータと、敵キャラクタ200のパラメータとを比較して、タッチスクリーン2に表示させてユーザの操作対象とするキャラクタを特定する。図示例(B)の例では、キャラクタ130に代えて、キャラクタ100を、敵キャラクタ200と戦闘させるためのキャラクタとして特定したとする。これにより、ユーザ端末1は、図示例(B)の状態から図示例(C)の状態に画面を遷移させる。
図示例(C)に示すように、キャラクタ130からキャラクタ100へとユーザの操作対象のキャラクタが切り替えられる。ユーザ端末1は、例えばキャラクタ130を画面外へと移動させるように表示するとともに、キャラクタ100が画面外から攻撃判定を伴って画面内へと移動させるように表示する。これにより、キャラクタの交代によりタッチスクリーン2に登場するキャラクタ100が、キャラクタ130と交代しつつ敵キャラクタ200に攻撃する。ユーザ端末1は、ユーザが操作対象とするキャラクタが切り替わったことをユーザに知覚させるためのUI画像262を、キャラクタの交代とともに一定時間タッチスクリーン2に表示させる。これにより、ユーザは、ユーザがキャラクタを変更させるための操作を行ったことによらずオートチェンジでキャラクタが変更されたことを認識することが容易となり、変更後のキャラクタの動作に集中することが容易になる。
なお、ユーザがUI画像64A、64Bに対して操作をすることにより、ユーザの操作に基づいてキャラクタを変更した場合は、ユーザは既にキャラクタが変わることを認識しているため、キャラクタ変更時にUI画像262を表示しないこととする一方、オートチェンジによりキャラクタが変更された場合にUI画像262を表示することとしてもよい。
図27は、オートチェンジ適用モードにおいて、パーティ編成されるキャラクタのうち、敵キャラクタと戦闘するキャラクタを特定し、特定した結果に応じてキャラクタをタッチスクリーン2に表示させる処理を示すフローチャートである。ユーザ端末1は、プログラムに従って動作することにより、以下の各ステップを実行する。
ステップS2701において、ユーザ端末1のCPU3は、キャラクタ100について発生したイベントが、攻撃動作を発生させるものであることを検出する。例えば、タッチスクリーン2に対してユーザがタップ操作を行った際に、ユーザ端末1が、ユーザの入力操作がタップ操作であると判別し、タップ操作に対応するアクションが攻撃動作(図6の例)であることにより、攻撃動作を発生させるためのイベントをキャラクタ100について発生させる。
ステップS2703において、CPU3は、キャラクタ100が攻撃対象としてロックオンしている敵キャラクタのパラメータと、パーティ編成中の各キャラクタの攻撃力、属性などダメージ量に影響を与えるパラメータとを比較して、所定時間あたりのダメージ量が最大となるキャラクタを特定する。
ステップS2705において、CPU3は、ステップS2703で特定されるキャラクタが、ゲームフィールドにおいて戦闘中のキャラクタ(現にユーザが操作対象として入力操作に応じた動作を行わせているキャラクタ)である場合は当該キャラクタに攻撃動作を行わせる。一方、CPU3は、ステップS2703で特定されるキャラクタが、ゲームフィールドで戦闘中のキャラクタではなくパーティで待機中のキャラクタであれば、戦闘中のキャラクタに代えて、ステップS2703で特定されるキャラクタをタッチスクリーン2に登場させる演出を行って、ユーザが操作対象とするキャラクタを、ステップS2703で特定されたキャラクタに切り替える。
以上のように第1の実施形態と第2の実施形態について説明した。第1の実施形態と第2の実施形態とを組み合わせてもよい。
ここで、第1の実施形態の説明において、「ここで、(i)自キャラクタ100が入力操作に応じたアクションによらず習得し成長させることができるスキルとしては、例えば、ユーザがゲームプレイに伴ってゲーム媒体を獲得することにより、自キャラクタ100が使用可能となるものを含む。例えば、ユーザのゲームプレイに伴って、様々なアイテム、スキル、キャラクタ、ゲーム中の仮想通貨などを供出するゲーム媒体をゲーム中でユーザが入手したとする。ユーザ端末1は、このゲーム媒体からユーザに付与する対象を抽選により決定する。ユーザ端末1は、ゲーム媒体からユーザに付与する対象がスキルであれば、どのスキルを付与するかを抽選で決定する。ゲームプレイ時に、ゲーム媒体からアイテム等を供出するための所定の条件を満たすことで、ユーザに対し、抽選結果に従った付与対象(アイテム、スキル、キャラクタ、ゲーム中の仮想通貨など)を付与する。ここで、ユーザ端末1は、ユーザが自キャラクタ100に攻撃動作を行わせて敵キャラクタを攻撃し、敵キャラクタを撃破した等により、ユーザにゲーム媒体を付与することとしてもよい。」と記載した。
第2の実施形態で説明したように、ユーザが操作対象とするキャラクタが複数であり、各キャラについて固有のスキルを有することがある。上記の例において、ユーザのゲームプレイに伴って、新たにキャラクタのスキル、装備アイテム、装備アイテムを生成するための素材アイテムをユーザに付与する場合に、付与する対象範囲を、パーティ編成中のキャラクタに関連するものとしてもよい。
具体的には、ユーザ端末1は、ユーザがパーティ編成をしたうえでゲームフィールドにおいて敵キャラクタと戦闘することによりゲーム媒体を獲得する場合、ゲーム媒体から抽選で付与される対象を、パーティ編成に含まれるキャラクタに関するものに限定したり、パーティ編成に含まれるキャラクタに関連するものが供出される割合を、パーティ編成に含まれないキャラクタに関連するものが供出される割合よりも高めることとしてもよい。ユーザにとっては、パーティ編成に含まれないキャラクタを強化するアイテム、スキル等を獲得しても、現にパーティ編成に含まれるキャラクタの強化にはつながらないが、上記のように構成することにより、ユーザがキャラクタの強化によりゲーム進行が有利になる機会、キャラクタの成長を実感する機会から遠ざけてしまい興趣性を低下させる事態の発生を低減させることができる。例えば、ゲーム媒体から装備アイテム、装備アイテムの素材となる素材アイテムが供出される場合に、パーティ編成に含まれるキャラクタが装備可能なものを優先して供出することとしてもよい。
また、ゲーム媒体からキャラクタを供出する場合は、第1の実施形態で説明したように、既にユーザが獲得しているキャラクタが供出される場合は、当該キャラクタのグレードが更新され、ユーザが獲得していないキャラクタが供出されると、ユーザが新たに操作対象のキャラクタとすることができるため、いずれにとってもユーザにとってはゲームの興趣性を高めることとも考えられる。したがって、ゲーム媒体からキャラクタを供出する場合等においては、パーティ編成にどのキャラクタが含まれているかにかかわらず、予め定められた供出割合に従って、キャラクタを供出することとしてもよい。
(変形例)
上記の第2の実施形態の例の他に、以下のように構成してもよい。すなわち、オートキャラチェンジが有効であったとしても、一定条件のもとでは、ユーザがキャラクタを変更するための入力操作によらないキャラクタ変更を実行しないこととしてもよい。例えば、図27のステップS2703において特定されるキャラクタが、敵キャラクタに対してダメージ量を最大化するには適したキャラクタであるとしても、当該キャラクタの体力値が少ない状態である場合などにおいては、当該キャラクタが攻撃を受けて戦闘の続行ができなくなりやすい局面がある。また、スキルポイントが尽きかけているキャラクタであると、スキル発動による強力な攻撃を実行する回数も限られる。
したがって、ステップS2703において、パーティに編成されるキャラクタの体力値の残存量、スキルポイントの残存量に基づいて、敵キャラクタと戦闘するキャラクタを特定することとしてもよい。例えば、パーティ編成において、敵キャラクタに与えられる所定時間当たりのダメージ量に基づいて、パーティ編成に含まれる各キャラクタを順位付けし、上位のキャラクタから順に、残存体力が一定以上ない場合は次の順位のキャラクタを優先し、残存体力が一定以上ある場合について、当該キャラクタを、ユーザの操作対象のキャラクタとして特定する。
[本開示が示す第3の実施形態の説明]
以下、本開示が示す第3の実施形態について図面を参照しながら説明する。なお、本実施形態の説明において既に説明された部材と同一の参照番号を有する部材については、説明の便宜上、その説明は繰り返さない。第3の実施形態では、ゲーム媒体から供出する付与対象の供出割合を変更する態様について主に説明する。
なお、本実施形態では、付与対象を、オブジェクトとも記載する。また、供出割合を、当選率とも記載する。また、ゲーム媒体を、「1以上のオブジェクトを取得できる権利を表すデータ」とみなし、権利データとも記載する。また、権利データを、オブジェクトが封入されたカプセルとして表現する。また、オブジェクトを、カプセルの内容物として表現する。
また、本実施形態では、キャラクタのうち、ユーザの操作に基づいて動作するキャラクタを、操作キャラクタと記載する。また、本実施形態では、ゲームにおいてユーザによって選択された1つ以上のキャラクタによって、パーティが編成されるものとする。パーティは、ゲームにおいて敵キャラクタとの戦闘に参加するキャラクタによって構成される。操作キャラクタは、パーティに含まれるキャラクタの何れかである。
<ユーザ端末1000の機能的構成>
図28は、本実施形態に係るユーザ端末1000の機能的構成を示すブロック図である。ユーザ端末1000は、図3に示したユーザ端末1に対して、制御部30に替えて制御部3000を備える点が異なる。制御部3000は、制御部30と同一の構成に加えて、ゲーム実行部311、報酬決定部312、取得準備部313、取得実行部314、当選率制御部315、及び、キャラクタ管理部316を備える。
ゲーム実行部311は、ユーザの操作に基づいて操作キャラクタの動作結果を決定する事により、ゲームを進行させる。例えば、入力操作受付部32が、ユーザによる操作キャラクタを移動させるための操作(以下、「移動操作」と称する)を受け付けると、ゲーム実行部311は、該移動操作に基づいて、操作キャラクタを移動させる。また、例えば、入力操作受付部32が、ユーザによる操作キャラクタをジャンプさせるための操作(以下、「ジャンプ操作」と称する)を受け付けると、ゲーム実行部311は、該ジャンプ操作に基づいて、操作キャラクタをジャンプさせる。また、例えば、入力操作受付部32が、ユーザによる操作キャラクタに攻撃動作を行わせるための操作(以下、「攻撃操作」と称する)を受け付けると、ゲーム実行部311は、該攻撃操作に基づいて、操作キャラクタに攻撃動作を行わせる。ゲーム実行部311は、該攻撃動作によって敵キャラクタが攻撃されたと判定した場合、攻撃結果を決定する。攻撃結果は、例えば、敵キャラクタに与えるダメージ値、ダメージ値を与えたあとの敵キャラクタの体力値、敵キャラクタを倒したか否か(敵キャラクタの体力値が0以下になったか否か)、敵キャラクタを倒した場合に、報酬(カプセル)があるか否か、敵キャラクタとの戦闘結果に応じたポイントの付与があるか否か等を含む。
ポイントは、上述したオブジェクトを使用可能とする(カプセルを開封する)ためにカプセルに付与されるものである。なお、該ポイントは、例えば、エーテルという形態で提供されてもよい。具体的には、カプセルに付与されたエーテルの合計値が所定値に到達したとき、内容物が使用可能となる。ユーザ(操作キャラクタ)は例えば、操作キャラクタのレベルに応じた強さの敵キャラクタとの戦闘に勝利した場合に、該敵キャラクタの強さに応じたエーテルを獲得し、該エーテルがカプセルに付与される。具体的には、ゲーム実行部311は、操作キャラクタが敵キャラクタとの戦闘に勝利したとき、操作キャラクタのレベルと敵キャラクタのレベルの大小関係、および、これらのレベルの差を特定する。そして、特定したレベルの大小関係および差に基づいて、エーテルの量(ポイント)を決定する。このとき、ゲーム実行部311は、操作キャラクタが戦闘に勝利した敵キャラクタのレベルが高ければ、エーテルの値が大きくなり、反対に敵キャラクタのレベルが低ければ、エーテルの値が小さくなるように、エーテルの値を決定してもよい。これにより、カプセルの内容物を使用可能とするためには、ある程度の強さの敵キャラクタとの戦闘に勝利する必要がある。よって、強い敵キャラクタとの戦闘に勝利することによる獲得報酬によってゲームを有利に進めることができるという、ゲーム本来の魅力を損なうことなく、ゲームを進行させることができる。
ゲーム実行部311は例えば、操作キャラクタのレベルと敵キャラクタのレベルとが同じ場合、エーテルとして5ポイントをユーザに付与し、敵キャラクタのレベルが1上がるごとに、エーテルを1増やしてもよい。また、敵キャラクタのレベルが1下がるごとに、エーテルを1減らしてもよい。この例の場合、操作キャラクタのレベルより敵キャラクタのレベルが5以上低いと、付与されるエーテルが0となる。換言すれば、この場合、ゲーム実行部311はエーテルをユーザに付与しない。なお、獲得されるエーテルの値には上限が設定されていてもよい。これにより、少ない戦闘回数でカプセルが開封されてしまうという状況を防ぐことができる。
なお、戦闘によって獲得されるエーテルの量は、操作キャラクタのレベルに関係なく、敵キャラクタのレベルのみに応じて決定されてもよい。また、操作キャラクタのレベルと敵キャラクタのレベルとに関係なく、一定の値であってもよい。また例えば、エーテルの値はランダムに決定されてもよい。
また、ゲーム実行部311は、操作キャラクタが敵キャラクタとの戦闘に勝利した場合、エーテルとは別のポイント(例えば、経験値)を操作キャラクタに付与してもよい。この経験値の合計が、操作キャラクタのレベルに応じて設定される所定値に到達したとき、操作キャラクタのレベルを1上げてもよい。また、ゲーム実行部311は、操作キャラクタと敵キャラクタとの戦闘時に、該操作キャラクタにアビリティを付与してもよい。例えば、操作キャラクタの攻撃動作によって敵キャラクタに攻撃をヒットさせることに基づいて、操作キャラクタにアビリティを付与してもよい。また、例えば、操作キャラクタの攻撃動作によって敵キャラクタに攻撃をヒットさせた回数が所定回数に達すること、敵キャラクタに与えたダメージ量が一定量を超えること、敵キャラクタとの戦闘に所定回数勝利することにより、操作キャラクタにアビリティを付与することとしてもよい。これにより、敵キャラクタとの戦闘で操作キャラクタを強化するという、ゲーム本来の魅力を損なうことなく、ゲームを進行させることができる。
ゲーム実行部311は、決定した攻撃結果を、図示しないアニメーション生成部に通知する。アニメーション生成部は、ゲーム実行部311による各種オブジェクトの制御態様に基づいて、各種オブジェクトのモーションを示すアニメーションを生成する。例えば、操作キャラクタおよび敵キャラクタが移動やジャンプを行うアニメーション、操作キャラクタおよび敵キャラクタの攻撃動作のアニメーション、操作キャラクタおよび敵キャラクタが攻撃を受けるアニメーション、カプセルの出現を示すアニメーション、エーテルを獲得するアニメーション等を生成してもよい。
報酬決定部312は、報酬(権利データ)の付与条件が満たされると、権利データの内容を決定する。本実施形態では、報酬決定部312は、カプセルの内容物を決定する。例えば、報酬決定部312は、ゲーム実行部311から、敵キャラクタを倒したことに基づいてカプセルが出現することを通知された場合、該カプセルの内容物として、ゲームにおいて利用可能な1以上のオブジェクトの何れかを決定する。本実施形態では、ゲームにおいて利用可能な1以上のオブジェクトは、キャラクタ、武器、アビリティ、アイテム、及び、ゲーム内仮想通貨を含む。
また、ゲームにおいて利用可能な1以上のオブジェクトは、(1)特定のキャラクタに関連するオブジェクトと、(2)特定のキャラクタに関連しないオブジェクトとに分類される。また、(1)特定のキャラクタに関連するオブジェクトは、(1−1)そのキャラクタ自体、及び、(1−2)そのキャラクタに適用可能なオブジェクトを含む。(1−2)そのキャラクタに適用可能なオブジェクトは、例えば、武器及びアビリティを含む。(2)特定のキャラクタに関連しないオブジェクトは、どのキャラクタにも適用可能であるか、又は、キャラクタとの関連性なく利用可能なものであり、例えば、アイテム及びゲーム内仮想通貨を含む。
なお、本実施形態では、(1−2)キャラクタに適用可能なオブジェクトを当該キャラクタに適用することを、武器又はアビリティを装備する、と表現する。例えば、キャラクタに属性が設定されている場合に、特定の属性のキャラクタのみ装備可能な武器又はアビリティがあってもよい。具体的には、キャラクタに性別の属性が設定されている場合に、女性(又は男性)のキャラクタのみ装備可能な武器又はアビリティがあってもよい。
本実施形態では、報酬決定部312が行う処理は、(イ)希少度を設定する処理、(ロ)内容物の種類を決定する処理、及び、(ハ)抽選により内容物を決定する処理を含む。
(イ)希少度を設定する処理では、報酬決定部312は、予め設定された確率に基づいて、希少度をカプセルに設定する。希少度とは、ゲームを有利に進める上で価値が高い内容物が取得できる可能性を表す。例えば、報酬決定部312は、カプセルの出現時に、希少度が高い順に、S、A、B、Cの4種類の希少度の何れかをカプセルに設定する。希少度が高いほど、設定される確率は低くなる。すなわち、Sの希少度が設定されたカプセルが出現する確率が最も低く、Cの希少度が設定されたカプセルが出現する確率が最も高い。例えば、上記確率は、Sが5%、Aが15%、Bが30%、Cが50%であってもよい。
(ロ)内容物の種類を決定する処理では、報酬決定部312は、例えば、設定した希少度が高いほど、カプセルの内容物に、キャラクタに関連するオブジェクト(ここでは、キャラクタ自体又はキャラクタが装備可能なオブジェクト)が含まれる確率が高くなるよう、内容物の種類を決定してもよい。例えば、報酬決定部312は、設定した希少度がSである場合、内容物の種類として、キャラクタ及び武器の2種類の何れかを、所定の抽選確率に基づく抽選により決定してもよい。また、報酬決定部312は、設定した希少度がAである場合、内容物の種類として、アビリティを決定してもよい。また、報酬決定部312は、設定した希少度がBの場合、内容物の種類として、アイテムを決定してもよい。また、報酬決定部312は、設定した希少度がCの場合、内容物の種類として、ゲーム内仮想通貨を決定してもよい。また、報酬決定部312は、例えば、設定した希少度が高いほど、カプセルの内容物の数を多くしてもよい。
(ハ)抽選により内容物を決定する処理では、報酬決定部312は、決定した種類のオブジェクトについて、当選率テーブルを用いて抽選を行う。当選率テーブルは、キャラクタに関連する種類のオブジェクトについては、抽選のタイミングにおけるユーザにとってのキャラクタの重要度を反映して動的に生成される。ここで、ユーザにとっての重要度は、例えば、ユーザの思い入れの程度、ユーザが欲しがっている程度等を表すものである。また、キャラクタに関連しない種類のオブジェクトについては、予め定められた所定の当選率テーブルが用いられる。動的に生成される当選率テーブルとしては、例えば、(a)キャラクタ当選率テーブル、(b)武器当選率テーブル、及び(c)アビリティ当選率テーブルがある。(a)キャラクタ当選率テーブルは、ゲームにおいて利用可能な各キャラクタと、当該キャラクタの当選率とを対応付けた情報を含む。武器当選率テーブルは、ゲームにおいて利用可能な各武器と、当該武器の当選率とを対応付けた情報を含む。アビリティ当選率テーブルは、ゲームにおいて利用可能な各アビリティと、当該アビリティの当選率とを対応付けた情報を含む。また、予め定められた当選率テーブルとしては、(d)アイテム当選率テーブル、及び(e)ゲーム内仮想通貨当選率テーブルがある。アイテム当選率テーブルは、ゲームにおいて利用可能な各アイテムと、当該アイテムの当選率とを対応付けた情報を含む。ゲーム内仮想通貨当選率テーブルは、ゲーム内仮想通貨と、ゲーム内仮想通貨の量の当選率とを対応付けた情報を含む。上述した(a)、(b)、(c)の各当選率テーブルの動的な生成処理の詳細については後述する。
報酬決定部312によって上述した(ハ)の処理が実行されるタイミングは、以下の(i)〜(iii)の何れであってもよい。
例えば、(i)報酬決定部312は、後述するようにユーザによってカプセルが取得されたタイミングで、抽選によりカプセルの内容物を決定することとしてもよい。なお、ユーザによってカプセルが取得されることは、本発明において、権利データがユーザに関連付けられることに相当する。これにより、ユーザ端末1000は、カプセルの付与時点から、カプセル及びその内容物を関連付けて管理することでき、管理処理が容易となる。
また、(ii)報酬決定部312は、後述するように、カプセルの内容物が取得可能となったタイミング(カプセルが開封可能となったタイミング)で、抽選によりカプセルの内容物を決定することとしてもよい。なお、カプセルが開封されることは、本発明において、権利データが消費されることに相当する。この場合、報酬決定部312は、カプセルが開封可能となったタイミングで動的に生成された当選率テーブルを参照して、カプセルの内容物を決定する。この場合、ユーザにとってのキャラクタの重要度が、カプセルが取得されてから、開封可能となるまでに変化した場合にも、ユーザにとってより重要度が高いキャラクタの当選率が高いことが期待できる。
また、(iii)報酬決定部312は、後述するようにカプセルの内容物が取得可能となり、カプセルの内容物を獲得するためのユーザの所定の操作を受け付けたタイミング(カプセルが開封されるタイミング)で、抽選によりカプセルの内容物を決定することとしてもよい。この場合、報酬決定部312は、カプセルが開封されるタイミングで動的に生成された当選率テーブルを参照して、カプセルの内容物を決定する。この場合、ユーザにとってのキャラクタの重要度が、カプセルが取得されてから、カプセルが開封されるまでに変化した場合にも、ユーザにとってより重要度が高いキャラクタの当選率が高いことが期待できる。
取得準備部313は、ユーザに付与された権利データを、該権利データに基づいてオブジェクトを取得できる状態に遷移させる。すなわち、取得準備部313は、カプセルを開封可能な状態に遷移させる。本実施形態では、取得準備部313は、一例として、カプセルを開封するためのマシンにカプセルを配置する。マシンには、配置されたカプセルにエーテルを付与することができる付与可能状態のマシンと、配置されたカプセルにエーテルを付与することができない付与不可状態のマシンとの2種類があり、付与可能状態のマシンは、ユーザに対して所定数提供される。例えば、デフォルトで、1つのマシンが付与可能状態のマシンとしてゲーム情報132において定義されている。取得準備部313は、付与可能状態のマシンにカプセルを配置することにより、該カプセルに対応付けてエーテルを付与することができる。取得準備部313がエーテルを付与していくことによって、該エーテルの合計値が所定値に到達すると、カプセルは開封可能な状態となる。すなわち、取得実行部314が、カプセルに基づいて内容物を取得できる状態となる。
なお、付与可能状態のマシンが複数ある場合、獲得されたエーテルを、付与可能状態のマシンに配置されたすべてのカプセルに付与する。これにより、付与可能状態のマシンの数を増やすことで、より多くの内容物を取得することができる。なお、詳細については後述するが、付与可能状態のマシンの数は、例えば、ユーザが対価を支払うことにより増やすことができる。一方で、上述したように、デフォルトで1つのマシンが付与可能状態となっているので、対価の支払いを望まないユーザでもゲームをプレイすることができる。結果として、対価の支払いを望まないユーザの、ゲームをプレイすることに対する動機づけを強化することができる。
取得実行部314は、取得準備部313によりオブジェクトを取得可能な状態に遷移した権利データに基づいて、オブジェクトを取得する。取得実行部314は、権利データを消費し、該権利データと引き換えに、該権利データに対応するオブジェクトを取得してもよい。本実施形態では、取得実行部314は、カプセルを開封して、該カプセルに封入されている内容物(ここでは、1以上のキャラクタ、武器、アビリティ、アイテム、ゲーム内仮想通貨の少なくともいずれか)を取得する。なお、カプセルの開封時に、図示しないアニメーション生成部が、カプセルを開封するアニメーションを生成してもよい。
当選率制御部315は、報酬決定部312によってカプセルの内容物が決定される際に用いられる当選率テーブルを、動的に生成する。詳細には、当選率制御部315は、ゲームにおいて利用可能な1つ以上のキャラクタの各々について、ユーザにとっての重要度を判定する。そして、当選率制御部315は、内容物の種類として決定された種類のオブジェクトの各々について、重要度が高いキャラクタに関連するオブジェクトほど、より高い当選率を決定する。
例えば、当選率制御部315は、ユーザによって保有されているキャラクタのうち、ゲームのプレイにおいてユーザによって選択されている1つ以上のキャラクタを、他のキャラクタより重要度が高いと判定してもよい。ユーザによって選択されている1つ以上のキャラクタは、ユーザにとって思い入れがあるとみなせるからである。本実施形態では、ゲームのプレイにおいてユーザによって選択されているキャラクタとは、パーティのメンバとしてユーザによって選択されているキャラクタである。また、例えば、当選率制御部315は、ゲームにおいて利用可能な1つ以上のキャラクタのうち、ユーザによって保有されていないキャラクタを、ユーザによって保有されているがパーティに含まれないキャラクタより重要度が高いと判定してもよい。ユーザによって保有されていないキャラクタは、ユーザが欲しがっている可能性があるとみなせるからである。
当選率制御部315は、内容物の種類としてキャラクタに関連する種類が決定されている場合、キャラクタの重要度を反映させて当選率テーブルを動的に生成する。具体的には、当選率制御部315は、内容物の種類としてキャラクタが決定されている場合、重要度が高いキャラクタほど、高い当選率を関連付けたキャラクタ当選率テーブルを生成する。また、当選率制御部315は、内容物の種類として武器が決定されている場合、重要度が高いキャラクタが装備可能な武器ほど、高い当選率を関連付けた武器当選率テーブルを生成する。また、当選率制御部315は、内容物の種類としてアビリティが決定されている場合、重要度が高いキャラクタが装備可能なアビリティほど、高い当選率を関連付けたアビリティ当選率テーブルを生成する。
また、当選率制御部315は、内容物の種類としてキャラクタに関連しない種類が決定されている場合、その種類について定められた所定の当選率テーブルを用いることを決定する。具体的には、内容物の種類として、アイテムが決定されている場合、予め定められたアイテム当選率テーブルが用いられる。また、内容物の種類として、ゲーム内仮想通貨が決定されている場合、予め定められたゲーム内仮想通貨当選率テーブルが用いられる。
キャラクタ管理部316は、ユーザによって保有される各キャラクタについて、そのパラメータを管理する。キャラクタ管理部316は、各キャラクタのパラメータを、取得実行部314によって取得されたオブジェクト(ここでは、カプセルから出現した内容物)に基づいて、変化させる。各キャラクタは、ゲームを有利に進行させることに関わる1つ以上のパラメータを有している。キャラクタが有する各パラメータは、ゲームのプレイに伴い変化し得る。パラメータには、上限値が設定されているものもある。そのようなパラメータは、その上限値までの範囲で変化し得る。また、このような上限値も、ゲームのプレイに伴い変化し得る。各キャラクタは、その時点で有しているパラメータに基づいて、ゲームの進行に作用を及ぼす。
キャラクタ管理部316は、各キャラクタの特性を規定するパラメータやその上限値を、所定の変更条件が満たされた場合に、ゲームのプレイを有利に進めることができるよう変化させる。変更条件の一例は、当該キャラクタと同一のキャラクタが新たに取得されるとの条件であってもよい。この場合、キャラクタ管理部316は、新たに取得された同一のキャラクタをユーザに保有させる代わりに、既に保有される当該オブジェクトのパラメータの少なくとも何れか又はその上限値を上昇させる。
また、変更条件の他の一例は、当該キャラクタに、取得された武器又はアビリティが装備されることであってもよい。この場合、キャラクタ管理部316は、取得された武器又はアビリティを当該キャラクタに装備させるユーザの操作が受け付けられると、当該キャラクタのパラメータの少なくとも何れかを上昇させる。
<基本のゲーム画面>
図29は、横スクロールアクションRPGのゲーム画面の一例を示す図である。ゲーム実行部311は、ゲーム画面に操作キャラクタc1を配置する。操作キャラクタc1の近傍には、図示のように、操作キャラクタc1の現在のレベル、および、ユーザを示すテキスト(図示の例では「アイリス81」)を含む画像が描画されてもよい。これにより、本実施形態に係るゲームがMMOである場合であっても、ユーザは、自身の操作キャラクタを容易に認識することができる。
また、表示制御部38は、ゲームに関する各種画像をゲーム画面に表示する。例えば、表示制御部38は、操作キャラクタc1を示すキャラクタ画像m1、ゲーム空間における操作キャラクタc1の現在位置を示すマップm2、操作キャラクタc1の現在の体力値(HP;ヒットポイント)を示すゲージm3、操作キャラクタc1がスキルを使用するために消費するポイント(SP;スキルポイント)の現在値を示すゲージm4、ゲーム内で使用可能なアイテムの個数を示すカウンタm5、ゲーム内で使用可能な仮想通貨の金額を示すカウンタm6をゲーム画面に表示する。
なお、キャラクタ画像m1は、図示のように、操作キャラクタc1が現在使用している武器を示す画像を含んでいてもよい。また、キャラクタ画像m1は、上述したUIであり、操作キャラクタc1の変更や、武器の変更を行うための所定の入力操作を受け付けるものであってもよい。また、マップm2は、敵キャラクタが出現する位置を示すアイコンを含んでいてもよい。
また、上述した「スキルの使用」とは、操作キャラクタc1または敵キャラクタに特定の作用を与えることである。操作キャラクタc1への作用は、例えば、HPまたはSPの回復である。また、敵キャラクタへの作用は、例えば攻撃である。
また、カウンタm5で個数を示すアイテムは、上述した付与可能状態のマシンの数を増やすために使用するものであり、その詳細については後述する。また、本実施形態に係るゲームは、カウンタm6で金額を示す仮想通貨と引き替えに、操作キャラクタの追加、アビリティの取得、アイテムの入手などを行うことができてもよい。
また、ゲーム実行部311は、ゲーム空間の所定の位置に、操作キャラクタc1が戦闘可能な敵キャラクタを配置する。図示の例では、敵キャラクタe1およびe2が配置されている。図示のように、敵キャラクタe1およびe2の近傍には、敵キャラクタe1およびe2の名称およびレベルを含む画像が描画されてもよい。これにより、操作キャラクタc1のレベルに応じた強さの敵キャラクタとの戦闘に勝利した場合にエーテルが獲得される場合において、ユーザは、ゲーム画面に描画された敵キャラクタに勝利したとき、エーテルを取得できるか否かを判断することができる。
また、表示制御部38は、上述したUIを描画する。例えば、表示制御部38は、ゲーム画面を遷移させるための入力操作を受け付けるアイコンU1およびU2を描画する。アイコンU1が、ユーザによる所定の入力操作(例えば、タップ操作)を受け付けたとき、ゲーム実行部311は、マシンおよびカプセルの状態およびカプセルが配置されたマシンへ付与されたエーテルの合計値を示す画面(以下、「カプセル画面」と称する。)へゲーム画面を遷移させる。なお、カプセル画面の詳細については後述する。また、アイコンU2が、ユーザによる所定の入力操作(例えば、タップ操作)を受け付けたとき、ゲーム実行部311は、例えば、本実施形態に係るゲームのメニュー画面へゲーム画面を遷移させる。
<カプセル取得フロー>
図30は、本実施形態に係るユーザ端末1000によって実行されるカプセル取得処理の流れを示すフローチャートである。また、図31は、横スクロールアクションRPGのゲーム画面の一例を示す図である。なお、一連の処理ステップの少なくとも一部を、図示しないサーバが実行してもよい。
ステップS3001では、ゲーム実行部311が、カプセルが出現するための所定の条件が満たされたか否かを判定する。例えば、ゲーム実行部311は、操作キャラクタc1(図29参照)が、敵キャラクタe1(図29参照)との戦闘に勝利したか否かを判定する。
ステップS3001でYESの場合、ゲーム実行部311は、ゲーム画面にカプセルを配置する。具体的には、ゲーム実行部311は、ステップS3002において、報酬決定部312に配置するカプセルの希少度を決定させる。また、報酬決定部312は、ステップS3003において、決定した希少度に基づいてカプセルの内容物を決定する。なお、ゲーム実行部311は、図31の(A)に示すように、表示制御部38に指示して、報酬決定部312が設定した希少度に基づくカプセルg1をゲーム画面に描画させてもよい。カプセルg1は、図示のように希少度を示すアルファベットが含まれている。これにより、ユーザは、出現したカプセルの希少度を認識することができる。ステップS3003における処理の詳細については後述する。
ステップS3004では、カプセルの取得が行われる。例えば、カプセルがゲーム画面に描画される例の場合、ユーザ操作によって操作キャラクタc1がカプセルg1の位置に移動した場合、ゲーム実行部311はカプセルが取得されたと判定してもよい。このとき、図31の(B)に示すように、表示制御部38は、図示しないアニメーション生成部が生成した、カプセルg1がアイコンU1の位置へ移動して非表示となるアニメーションをゲーム画面に表示させてもよい。
ステップS3005では、取得準備部313が、最も小さい番号の空き状態のマシンへカプセルを配置する。なお、「空き状態のマシン」とは、カプセルが配置されていないマシンである。ユーザ端末1000は、以上のステップS3001〜S3005の処理を、ゲームがプレイされている間繰り返す。
<内容物獲得フロー>
図32は、本実施形態に係るユーザ端末1000によって実行される内容物獲得処理の流れを示すフローチャートである。また、図33は、横スクロールアクションRPGのゲーム画面の一例を示す図である。なお、一連の処理ステップの少なくとも一部を、図示しないサーバが実行してもよい。
ステップS3201では、操作キャラクタc1が条件を満たす敵キャラクタとの戦闘に勝利したか否かを、ゲーム実行部311が判定する。ステップS3201でYESの場合、ゲーム実行部311は、ステップS3202において、該敵キャラクタに応じたエーテル(ポイント)を決定する。例えば、操作キャラクタのレベルと敵キャラクタのレベルとに応じて獲得するエーテルを決定する。
ステップS3203では、表示制御部38が、決定されたエーテルを示す数値を表示させる。例えば、図33の(A)に示すように、表示制御部38は、数値n1をゲーム画面に描画する。具体的には、表示制御部38は、図示しないアニメーション生成部が生成した、数値n1を一定時間表示させた後、非表示とするアニメーションをゲーム画面に表示させる。なお、数値n1は、図示のように、アイコンU1の近傍に表示され、その位置で非表示となってもよいし、敵キャラクタがいた位置の近傍に表示された後、アイコンU1の近傍に移動して非表示となってもよい。
このように、この戦闘での勝利によって、各カプセルに付与されるエーテルの量を示す数値n1をアイコンU1の近傍に表示させることで、ゲームを進行させながら、カプセルの開封のためにエーテルが蓄積されていることをユーザに直観的に理解させることができる。
ステップS3204では、取得準備部313が、付与可能状態の全てのマシンへ、エーテルを付与する。ステップS3205では、取得準備部313が、マシンへ付与されたエーテルの合計値が、所定値に到達したか否かを判定する。ステップS3205でYESの場合、表示制御部38は、ステップS3206において、図33の(B)に示すように、アイコンU1の近傍(図示の例では右下)に、開封可能なカプセル数を表示させる。これにより、ユーザはゲームを進行させながら、カプセルが開封可能となったこと、および、開封可能なカプセルの数を認識することができる。よって、ユーザにカプセル画面の確認を促すことができる。
ステップS3207では、取得準備部313が、付与可能状態のマシンに配置されたカプセルがすべて開封可能であるか否かを判定する。ステップS3207でYESの場合、取得準備部313は、ステップS3208において、最も小さい番号の付与不可状態のマシンを付与可能状態へ変更する。
ステップS3209では、取得実行部314が、ユーザによるカプセルの開封操作を待機する状態となる。ステップS3209でYES、すなわち、入力操作受付部32が開封操作を受け付けた場合、取得実行部314は、ステップS3210において、カプセルの内容物を取得する。換言すれば、取得実行部314は、カプセルを開封して、内容物をユーザが使用可能な状態とする。また、取得実行部314は、カプセルの開封に伴い、ステップS3211において、マシンを移動させる。
ステップS3212において、キャラクタ管理部316は、取得された内容物に基づいて、当該内容物に関連するキャラクタを用いたゲームの進行を、有利にする処理を実行する。ステップS3212の詳細については後述する。ユーザ端末1000は、以上のステップS3201〜S3212の処理を、ゲームがプレイされている間繰り返す。
<カプセル画面>
図30〜図33で説明したカプセルをマシンに配置してからの処理について、より詳細に説明する。図34は、カプセル画面の一例を示す図である。カプセル画面には、マシンa1およびa2などの複数のマシンが描画されている。マシンa2は、マシンの上部に描画された差込口に、プラグ部分が接続されているように描画されている。この状態のマシンが、上述した付与可能状態のマシンである。一方、マシンa1は、差込口に、プラグ部分が接続されていないように描画されている。この状態のマシンが、上述した付与不可状態のマシンである。図34の例では、付与可能状態のマシンの上限数が、デフォルトの1である。このため、マシンa2以外のマシンは、付与不可状態となっている。
図30のステップS3004において、カプセルが取得されると、取得準備部313は、カプセル画面を更新する。一例として、図31に示すように、希少度が「B」であるカプセルg1が取得された場合、取得準備部313は、ステップS3005において、最も小さい番号の空きマシンへカプセルg1を配置する。ここで、「番号」とは、図32に示す差込口に描画されている数字である。例えば、カプセルg1の取得前に番号が0〜3の差込口の下部にあるマシンにカプセルが配置されている場合、取得準備部313は、カプセルg1の取得に伴い、番号が4の差込口の下部にあるマシンa1にカプセルg1を配置する(図34の(A)参照)。カプセル画面が図34の(A)に示す画面である場合に、新たなカプセルが取得されると、取得準備部313は、番号が5の差込口の下部にあるマシンに、取得されたカプセルを配置する。
すなわち、カプセルは、設定されている付与可能状態のマシンの上限数だけ、取得順にエーテルを付与可能となる。換言すれば、ユーザは、エーテルを付与するカプセルを選択することはできない。
また、図34の(A)に示すように、カプセルが配置された付与可能状態のマシンa2の下部には、ゲージp1が描画されている。ゲージp1は、エーテルの合計値を示すゲージである。該値の合計が所定値に到達すると、取得準備部313は、カプセル画面を図34の(B)に示す画面に更新する。一例として、取得準備部313は、ゲージp1に「MAX」のテキストを付してもよい。これにより、値の合計が所定値に到達したこと、すなわち、カプセルg2の内容物が取得可能(カプセルg2が開封可能)となったことをユーザに認識させることができる。なお、本実施形態では、カプセルへのエーテルの付与は、取得ポイントがユーザに付与された後に自動的に行われるが、ユーザがカプセル画面にて所定の操作を行うことで、カプセルへエーテルが付与されてもよい。
カプセルが開封可能となった場合、該カプセルにはエーテルを付与することができなくなる。換言すれば、該カプセルが配置されたマシンは、付与不可状態と同等の状態となる。取得準備部313は、すべての付与可能状態のマシンに配置されたカプセルにおいて、値の合計が所定値に到達した場合、図34の(B)に示すように、最も小さい番号の付与不可状態のマシンを付与可能状態へ変更する。すなわち、取得準備部313は、エーテルを付与できるカプセルを、少なくとも1つ、常に用意する。図示の例では、付与可能状態である番号が0のマシンに配置されたカプセルが開封可能となったため、番号が1のマシンを付与可能状態に変更している。これにより、エーテルを獲得しても、付与するカプセルが無いという状況を防ぐことができる。また、ユーザは、付与可能状態のマシンに配置されたカプセルを開封可能とすれば、次に取得したカプセルにエーテルを付与することができるようになる。これにより、敵キャラクタとの戦闘に対する動機づけを強化することができる。
また、図34に示すように、カプセルが配置された付与不可状態のマシン(例えばマシンa1)の下部には、「残り3日」というテキストt1が描画されている。また、カプセル画面の下部には、上述したカウンタm5と、カウンタm5で個数を示すアイテムを取得するためのUIであるボタンb1とが表示されている。これらの詳細については後述する。
<内容物の獲得>
図35は、カプセルの開封結果の一例を示す図である。図36は、カプセルの開封に伴って更新されたカプセル画面の一例を示す図である。一例として、図34の(B)に示す、付与されたエーテルの合計値が所定値に到達したカプセルg2へのユーザの所定の操作(例えば、タップ操作)を受け付けたとき、取得実行部314は、カプセルg2の内容物を示す開封結果画面を生成する。なお、取得実行部314は、エーテルの合計値が所定値に到達したときに、自動的に開封結果画面を生成してもよい。
開封結果画面は、例えば、図35の(A)に示すように、カプセルの内容物を示すアイコンを含むものであってもよい。図35の(A)は、希少度がCであるカプセルg2の開封結果画面である。そのため、内容物はアイテムd1およびd2の2つのみとなっている。
一方、図35の(B)は、より希少度が高い(例えば、希少度がSの)カプセルの開封結果画面である。この場合、内容物は、操作キャラクタf1、アビリティh1、h2、h3、およびアイテムd3、d4、d5、d6と、図35の(A)に示す開封結果画面と比べて、種類および数が多くなっている。なお、既に獲得した操作キャラクタおよびアビリティを再度獲得してもよい。この場合、該獲得に基づいて、操作キャラクタおよびアビリティが強化されてもよい。
内容物が獲得されると、取得準備部313は、カプセル画面を更新する。具体的には、取得準備部313は、開封されたカプセルをカプセル画面から消去する。そして、取得準備部313は、図36に示すように、マシンを、その順番を保持したまま、番号が1小さい差込口の下部へ移動させる。
図36の例の場合、カプセルg2が開封されて非表示となった後、カプセルg3が配置されたマシンa3が、番号が0である差込口の下部へ移動する。同様に、その他のマシンも、番号が1小さい差込口の下部へ移動する。なお、番号が0である差込口の下部にあったマシンa2は、図示しない番号が最大の差込口の下部へ移動する、このとき、取得準備部313は、設定されている付与可能状態のマシンの数(上限数、デフォルトでは1)に従って、マシンの状態を更新する。この処理について、図34の(B)および図36を参照して説明する。なお、ここでは、上記上限数は1であるとする。取得準備部313は、マシンa2に配置されていたカプセルg2が開封可能となったため、付与可能状態のマシンの数を1とするために、図34の(B)に示すように、マシンa3を付与可能状態としている。その後、カプセルg2が開封され、マシンが移動されると、マシンa3は、上記上限数に従って番号が0の差込口と接続されて付与可能状態となる。一方、番号が1の差込口の下部に移動したマシンは、付与不可状態となる。換言すれば、図34の(B)では、番号が1の差込口の下部にあったマシンは、該差込口と接続されて付与可能状態となっていたが、カプセル画面が図36の画面に更新されると、付与不可状態となる。これにより、取得準備部313は、設定されている上限数を越えないように、マシンを付与可能状態とすることができる。
<カプセルの破棄>
再び図34を参照して、カプセルの破棄について説明する。本実施形態に係るゲームにおいて、一度獲得したカプセルは、ユーザの操作によって破棄することはできない。すなわち、特定のカプセルにより早くエーテルを付与するために、該特定のカプセルより前に取得したカプセルを破棄することはできない。つまり、ユーザは、特定のカプセルを開封するために、敵キャラクタとの戦闘を行い、該特定のカプセルより前に取得したカプセルをすべて開封する必要がある。よって、ユーザに敵キャラクタとの戦闘を促すことができる。
一方で、付与不可状態のマシンに配置されたカプセルは、所定の期間を過ぎると破棄されてもよい。図34に示すテキストt1は、カプセルが開封可能な期間を示したテキストである。図示の例では、ユーザは、3日以内にマシンを付与可能状態とするとともに、所定値以上のエーテルを付与することができなければ、カプセルの内容物を取得することができない。テキストt1は、1日経過するごとに更新される。図示の例の場合、1日が経過すると、テキストt1は、「残り2日」というテキストに更新される。
つまり、ユーザは、望みのカプセルが付与不可状態のマシンに配置された場合、所定の期間以内に該カプセルを付与可能状態のマシンに配置する必要がある。具体的には、ユーザは、望みのカプセルの前に取得したカプセルをすべて開封可能とするか、または、付与可能状態のマシンの追加によって、望みのカプセルが配置されたマシンを付与可能状態とする必要がある。そして、ユーザは、望みのカプセルを開封するために、敵キャラクタとの戦闘を行い、所定の期間以内にエーテルの合計値を所定値に到達させる必要がある。これにより、ユーザに敵キャラクタとの戦闘を促すことができる。
なお、テキストt1が示す期間は、現実の時間経過に基づくものであってもよいし、現実の時間経過と異なる、ゲームに設定された時間経過に基づくものであってもよい。後者において、例えば、現実に2時間が経過したときにゲーム内では1日が経過する場合、図示のカプセルは、6時間が経過すると内容物を取得することができなくなる。
なお、付与可能状態のマシンに配置されたカプセルについても、所定の期限を過ぎた時点で開封されていない場合に破棄されてもよい。換言すれば、テキストt1が、付与可能状態のマシンに配置されたカプセルに対応付けられて描画されてもよい。これにより、ユーザに敵キャラクタとの戦闘をさらに促すことができる。
<カプセルの内容物を決定する処理の流れ>
図37は、図30のステップS3003における処理の詳細を表しており、報酬決定部312が、カプセルの内容物を決定する処理の流れを示すフローチャートである。なお、一連の処理ステップの少なくとも一部を、図示しないサーバが実行してもよい。
ステップS3701では、報酬決定部312は、設定された希少度に基づいて、内容物の種類を決定する。例えば、希少度がSであれば、報酬決定部312は、キャラクタ又は武器の2種類の何れかを抽選確率に基づき決定する。他の希少度であれば、報酬決定部312は、各希少度に関連づけられた種類を決定する。すなわち、希少度Aには、アビリティが関連付けられている。また、希少度Bには、アイテムが関連付けられている。希少度Cには、ゲーム内仮想通貨が関連付けられている。
ステップS3702では、決定された種類が、キャラクタに関連するオブジェクトであるか否かに応じて処理が分岐する。決定された種類が、キャラクタに関連するオブジェクト(ここでは、アイテム、ゲーム内仮想通貨)でない場合、処理は、ステップS3703に進む。ステップS3703では、当選率制御部315は、当該種類の各オブジェクトに対して、予め定められた所定の当選率を適用する。具体的には、当選率制御部315は、当該種類に対して定められた所定の当選率テーブルを用いることを決定する。所定の当選率テーブルは、当該種類の各オブジェクトと当選率とを予め関連付けた情報を含む。当該種類のオブジェクトの当選率の合計は、100%である。そして、処理は、ステップS3708に進む。
一方、決定された種類が、キャラクタに関連するオブジェクト(ここでは、キャラクタ、武器、アビリティ)である場合、処理はステップS3704に進む。ステップS3704では、当選率制御部315は、ゲームにおいて利用可能な各キャラクタについて、ユーザにとっての重要度を判定する。重要度の判定の詳細については後述する。
ステップS3705では、決定された種類が、キャラクタであるか、キャラクタによって装備可能なオブジェクトであるか否かに応じて、処理が分岐する。決定された種類が、キャラクタである場合、処理は、ステップS3706に進む。ステップS3706では、判定された各キャラクタの重要度に基づいて、各キャラクタの当選率を決定する。このステップの詳細については後述する。
一方、決定された種類が、キャラクタによって装備可能なオブジェクトである場合、処理は、ステップS3707に進む。ステップS3707では、判定された各キャラクタの重要度に基づいて、当該種類の各オブジェクトの当選率を決定する。このステップの詳細については後述する。
ステップS3708では、報酬決定部312は、ステップS3703、S3706、S3707の何れかで決定された当選率を用いて、当該種類のオブジェクトの何れかを抽選する。そして、報酬決定部312は、抽選したオブジェクトを、カプセルの内容物として決定する。
(キャラクタの重要度の判定例)
図38は、ステップS3704において判定される各キャラクタの重要度の具体例を示している。この例では、当選率制御部315は、重要度として、「高」、「中」、「低」の何れかを判定するものとする。ここでは、ユーザによって保有され、パーティに含まれるキャラクタに対して、最も高い重要度である「高」が判定される。また、ユーザによって保有されないキャラクタに対して、「高」の次に重要度が高い「中」が判定される。また、ユーザによって保有されるがパーティに含まれないキャラクタには、「中」より重要度が低い「低」が判定される。図38に示したキャラクタ管理情報が示すキャラクタのうち、パーティに含まれるキャラクタBBB、CCC、DDDは、それぞれ、重要度が「高」であると判定されている。ユーザによって保有されていないキャラクタAAA、EEEは、それぞれ、重要度が「中」であると判定されている。ユーザによって保有されているもののパーティ編成に含まれていないキャラクタFFFは、重要度が「低」であると判定されている。
(キャラクタの重要度に基づく当選率設定の詳細)
当選率制御部315は、重要度の判定結果が所定条件を満たす1つ以上のキャラクタに関連するオブジェクトについて各当選率を、当該各当選率の合計が当該判定結果に対して定められた所定の値になるように、設定してもよい。また、この場合、当該判定結果に対して定められた所定の値は、当該判定結果となった1つ以上のキャラクタに関連するオブジェクトに等分に配分されてもよい。
このとき、1つ以上のキャラクタに関連するオブジェクトに設定される当選率の最低は、0%であってもよい。この場合、当選率制御部315は、1つ以上のキャラクタに関連するオブジェクトのうち、キャラクタ自体に設定される当選率の最低を0%として、キャラクタ以外に設定される当選率を0%より大きくしてもよい。
(内容物がキャラクタの場合)
例えば、設定された希少度に基づき内容物として決定された種類がキャラクタである場合に、各キャラクタの当選率を設定する処理の一例について説明する。
図39は、図37のステップS3706における処理の詳細を表しており、当選率制御部315が、キャラクタの重要度に基づいて各キャラクタの当選率を設定する処理の流れを示すフローチャートである。なお、一連の処理ステップの少なくとも一部を、図示しないサーバが実行してもよい。
ステップS3901で、当選率制御部315は、重要度が「高」と判定された各キャラクタに、合計でx%となる当選率を設定する。例えば、重要度が「高」と判定されたキャラクタがn個である場合、当選率制御部315は、各キャラクタの当選率をx/n%としてもよい。なお、”/”は、除算を表す。xの一例は、例えば70%である。この場合、例えば、70%の確率で、パーティに含まれるキャラクタの何れかが、カプセルから出現することになる。
ステップS3902で、当選率制御部315は、重要度が「中」と判定された各キャラクタに、合計で(100−x)%となる当選率を設定する。例えば、重要度が「中」と判定されたキャラクタがm個である場合、当選率制御部315は、各キャラクタの当選率を(100−x)/m%としてもよい。xの一例が70%である場合、30%の確率で、ユーザによって保有されていないキャラクタがカプセルから出現することになる。
ステップS3903で、当選率制御部315は、重要度が「低」と判定された各キャラクタに、それぞれ0%の当選率を設定する。この場合、ユーザによって保有されているがパーティに含まれないキャラクタは、カプセルから出現しないことになる。
これにより、ユーザは、自分にとって重要度が高いキャラクタの何れかが付与されることを、一定の確率で期待できる。また、重要度が高いと判定されるキャラクタの数が少なければ、それらのキャラクタが付与される確率が高まる。例えば、パーティに含めたキャラクタの重要度が高いと判定されることをユーザが認識している場合、ユーザは、パーティに含めるキャラクタの数を少なくすることにより、当該キャラクタが付与される期待値を高めることができる。
また、これにより、ユーザにとって重要度の低いキャラクタが付与されることがないので、ゲームのプレイを継続することに対するユーザの動機付けが低下することを防止できる。
(内容物が、キャラクタによって装備可能なオブジェクトである場合)
例えば、設定された希少度に基づき内容物として決定された種類が、キャラクタによって装備可能なオブジェクト(ここでは、武器又はアビリティ)である場合について説明する。
図40は、図37のステップS3707における処理の詳細を表しており、当選率制御部315が、キャラクタの重要度に基づいて各オブジェクトの当選率を設定する処理の流れを示すフローチャートである。なお、一連の処理ステップの少なくとも一部を、図示しないサーバが実行してもよい。
ステップS4001で、当選率制御部315は、重要度が「高」と判定された各キャラクタによって装備可能な各オブジェクトに対して、合計でy%となる当選率を設定する。yの一例は、例えば、60%である。例えば、重要度が「高」と判定されたキャラクタがn個である場合、当選率制御部315は、各キャラクタによって装備可能な各オブジェクトの当選率を、y/n%としてもよい。この場合、例えば、60%の確率で、パーティに含まれるキャラクタの何れかが装備可能な武器又はアビリティが、カプセルから出現することになる。
ステップS4002で、当選率制御部315は、重要度が「中」又は「低」と判定された各キャラクタによって装備可能な各オブジェクトに対して、合計で(100−y)%となる当選率を設定する。例えば、重要度が「中」又は「低」と判定されたキャラクタがl個である場合、当選率制御部315は、各オブジェクトの当選率を(100−y)/l%としてもよい。yの一例が60%である場合、40%の確率で、パーティに含まれていないキャラクタ(未保有のものも含む)の何れかが装備可能な武器又はアビリティが、カプセルから出現することになる。
これにより、ユーザは、自分にとっての重要度が高いキャラクタに関連するオブジェクトの何れかが付与されることを、一定の確率で期待できる。また、ユーザは、例えば、パーティに含めたキャラクタの重要度が高いと判定されることをユーザが認識している場合、ユーザは、パーティに含めるキャラクタの数を少なくすることにより、当該キャラクタによって装備可能なオブジェクトが付与される期待値を高めることができる。
これにより、ユーザにとって重要度が高いキャラクタによって装備可能なオブジェクトが付与される期待値を高めつつ、重要度が低いキャラクタによって装備可能なオブジェクトが付与される機会が提供される。このように、重要度が低いキャラクタによって装備可能なオブジェクトが付与されることにより、当該キャラクタに対するユーザにとっての重要度が高まることが期待できる。
(付与されたオブジェクトを用いてゲームを有利にする処理の詳細)
図41は、図32のステップS3212における処理の詳細を表しており、キャラクタ管理部316が、カプセルから出現したオブジェクトに基づいて、当該キャラクタによるゲームの進行を有利に進める処理の流れを示すフローチャートである。なお、一連の処理ステップの少なくとも一部を、図示しないサーバが実行してもよい。
ステップS4101で、キャラクタ管理部316は、図32のステップS3210でカプセルから取得された内容物によって、処理を分岐する。
取得された内容物が、ユーザによって既に保有されるキャラクタの何れかと同一である場合、ステップS4102が実行される。ステップS4102で、キャラクタ管理部316は、新たに取得されたキャラクタをユーザに保有させる代わりに、既に保有される当該キャラクタのパラメータの少なくとも何れか又はその上限値を上昇させる。例えば、キャラクタ管理部316は、既に保有される当該キャラクタのレベルをアップする。
なお、本実施形態では、ユーザによって既に保有されるキャラクタの何れかと同一のキャラクタが新たに取得された場合に、既に保有される当該キャラクタのパラメータ又はその上限値を上昇させるものとして説明した。これに限らず、特定のキャラクタのパラメータ又はその上限値を上昇させるオブジェクトが取得された場合に、ステップS4102が実行されてもよい。
取得された内容物が、ユーザによって既に保有されるキャラクタによって装備可能なオブジェクト(ここでは、武器又はアビリティ)である場合、ステップS4103が実行される。ステップS4103で、キャラクタ管理部316は、当該オブジェクトを、装備可能なキャラクタの何れかに装備させる操作を受け付けたか否かを判断する。装備させる操作は、当該オブジェクトを装備させるキャラクタを選択するユーザ操作を含む。また、装備させる操作は、装備させるキャラクタを選択するユーザ操作の前に、当該オブジェクトに他のオブジェクトを組み合わせる処理を含む場合もある。
ステップS4103で、装備させる操作を受け付けたと判断された場合、ステップS4104が実行される。ステップS4104で、キャラクタ管理部316は、当該オブジェクトを当該キャラクタに装備させる。オブジェクトの装備により、当該キャラクタのパラメータの少なくとも何れかが上昇する。
〔変形例〕
(重要度を判定する処理の変形例)
本実施形態において、当選率制御部315は、ゲームのプレイにおいてユーザによって選択されているキャラクタ(ここでは、パーティのメンバ)について、他のキャラクタより重要度が高いと判定する例について説明した。これを変形し、当選率制御部315は、ユーザによるキャラクタの選択履歴に基づいて、重要度を判定してもよい。例えば、当選率制御部315は、過去のプレイにおいてパーティに含まれた頻度に基づいて、各キャラクタの重要度を判定してもよい。この場合、当選率制御部315は、パーティに含まれた頻度の順に、各キャラクタの重要度が高いと判定してもよい。あるいは、当選率制御部315は、閾値以上の頻度でパーティに含まれていたキャラクタについて、他のキャラクタより重要度が高いと判定してもよい。あるいは、当選率制御部315は、パーティに含まれた頻度の順に所定数までのキャラクタについて、他のキャラクタより重要度が高いと判定してもよい。
このような変形の他、当選率制御部315は、ユーザにとってのキャラクタの重要度を表すその他の情報に基づいて、各キャラクタの重要度を判定してもよい。
(重要度に基づく当選率の設定の変形例)
本実施形態において、当選率制御部315は、重要度が「低」と判定されたキャラクタの当選率をそれぞれ0%とする例について説明した。これを変形し、当選率制御部315は、内容物がキャラクタである場合に、重要度が「低」と判定されたキャラクタの当選率を、0%より大きく設定してもよい。
また、本実施形態において、当選率制御部315は、重要度が「低」と判定されたキャラクタによって装備可能なオブジェクトの当選率をそれぞれ0%にしない例について説明した。これを変形し、当選率制御部315は、内容物がキャラクタによって装備可能なオブジェクトである場合に、重要度が「低」と判定されたキャラクタによって装備可能なオブジェクトの当選率を、0%に設定してもよい。
また、本実施形態において、当選率制御部315は、重要度が「低」と判定されたキャラクタの全てについて当選率を0%とする例について説明した。また、重要度が「低」と判定されたキャラクタによって装備可能な全てのオブジェクトについて、当選率を0%にしない例について説明した。これを変形し、当選率制御部315は、内容物がキャラクタである場合に、重要度が「低」と判定されたキャラクタの一部についてそれぞれ当選率を0%とし、他の一部についてそれぞれ当選率を0%としなくてもよい。また、当選率制御部315は、内容物がキャラクタによって装備可能なオブジェクトである場合に、重要度が「低」と判定されたキャラクタによって装備可能なオブジェクトの一部についてそれぞれ当選率を0%とし、他の一部についてそれぞれ当選率を0%としなくてもよい。
このような変形の他、当選率制御部315は、重要度が閾値より低いキャラクタに関連するオブジェクトのうち、付与されることにより、ゲームのプレイに対するユーザの動機付けを低下させる可能性のあるオブジェクトについて、当選率をゼロにしてもよい。また、当選率制御部315は、重要度が閾値より低いキャラクタに関連するオブジェクトのうち、付与されることにより、ユーザにとって重要でなかったキャラクタの重要性を高める可能性のあるオブジェクトについて、当選率をゼロにしなくてもよい。
また、本実施形態において、当選率制御部315は、重要度の判定結果が所定条件を満たす1つ以上のキャラクタに関連するオブジェクトに対して、当選率の合計値は、必ずしも等分に配分されなくてもよく、重み付けされた当選率が配分されてもよい。
(その他の変形例)
また、本実施形態において、権利データ(カプセル)は、敵キャラクタとの戦闘に勝利した場合に、ユーザに付与される例について説明した。これに限らず、権利データは、ゲームにおいて他の所定条件が満たされた場合に、ユーザに付与されてもよい。
また、本実施形態において、権利データ(カプセル)は、カプセルが配置されたマシンへ付与されたエーテルの合計値が、所定値に到達した場合に消費可能(開封可能)となる例について説明した。これに限らず、権利データは、ゲームにおいて他の所定条件が満たされた場合に、消費可能となってもよい。
また、本実施形態において、権利データ(カプセル)によって取得できるオブジェクトが、キャラクタ、武器、アビリティ、アイテム、及び、ゲーム内仮想通貨を含む例について説明した。また、このうち、キャラクタに関連するオブジェクトが、キャラクタ自体、武器及びアビリティを含む例について説明した。また、そのうち、キャラクタに適用可能なオブジェクトが、武器及びアビリティである例について説明した。これに限らず、権利データ(カプセル)によって取得できるオブジェクトは、その他の種類のオブジェクトを含んでいてもよい。また、そのうち、キャラクタに関連するオブジェクトは、その他の種類のオブジェクトを含んでいてもよい。また、そのうち、キャラクタに適用可能なオブジェクトは、その他の種類のオブジェクトを含んでいてもよい。
〔ソフトウェアによる実現例〕
制御部30の機能ブロック(特に、ゲーム実行部311、報酬決定部312、取得準備部313、取得実行部314、当選率制御部315、およびキャラクタ管理部316)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、制御部30を備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
〔付記事項〕
本発明の一側面に係る内容を列記すると以下のとおりである。
(項目1) ゲームプログラムについて説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ(CPU3)及びメモリ(主記憶4、補助記憶5)を備えるコンピュータ(ユーザ端末1000)により実行される。ゲームプログラムは、プロセッサに、ゲームプログラムに基づくゲームにおいて所定条件が満たされた場合に、ゲームにおいて利用可能な1つ以上のオブジェクトの何れかをユーザに付与するステップを実行させる。付与するステップは、ゲームにおいて利用可能な1つ以上のキャラクタの各々について、ユーザにとっての重要度を判定するステップと、1つ以上のオブジェクトの各々について、ユーザにとっての重要度が高いキャラクタに関連するオブジェクトほど、より高い当選率を設定するステップと、1つ以上のオブジェクトのうちユーザに付与するオブジェクトを、当選率に基づいて抽選するステップと、を含む。
これにより、ユーザにとって重要度が高いキャラクタに関連するオブジェクトが付与される期待値が高くなるので、当該オブジェクトを用いてゲームのプレイを継続することに対するユーザの動機付けが増す。
(項目2) (項目1)において、ゲームプログラムは、プロセッサに、ユーザに付与されたオブジェクトに基づいて、当該オブジェクトに関連するキャラクタを用いたゲームの進行を有利にするステップをさらに実行させてもよい。これにより、ユーザは、自分にとって重要度が高いキャラクタに関連するオブジェクトによってゲームを有利に進行することができる。その結果、当該キャラクタを用いてゲームのプレイを継続することに対するユーザの動機付けが増す。
(項目3) (項目1)又は(項目2)において、重要度を判定するステップでは、ユーザによって保有されるキャラクタのうち、ゲームのプレイにおいてユーザによって選択されている1つ以上のキャラクタを、他のキャラクタよりも重要度が高いと判定してもよい。これにより、ユーザは、自分にとって重要度が高いキャラクタを選択してゲームをプレイすることにより、当該キャラクタに関連するオブジェクトが付与される期待値を高めることができる。
(項目4) (項目3)において、重要度を判定するステップでは、ユーザによって保有されていないキャラクタについて、ユーザによって保有され且つゲームのプレイにおいてユーザによって選択されていないキャラクタよりも重要度が高いと判定してもよい。これにより、未保有のキャラクタを取得する機会をユーザに提供することができる。その結果、ゲームのプレイにおいてユーザが選択可能なキャラクタを増やすことができ、ユーザがゲームに飽きてしまうことを防止できる。
(項目5) (項目1)から(項目4)の何れか1項目において、当選率を設定するステップで、1つ以上のキャラクタに関連するオブジェクトに設定される当選率の最低は零であってもよい。これにより、ユーザにとって重要度が低いオブジェクトの少なくとも一部が付与されなくなる。その結果、ゲームを継続することに対するユーザの動機付けが、重要度が低いオブジェクトの付与により低下することを低減できる。
(項目6) (項目5)において、1つ以上のキャラクタに関連するオブジェクトは、当該キャラクタ自体を含む。当選率を設定するステップで、1つ以上のキャラクタに設定される当選率の最低は零であってもよい。これにより、ユーザにとって重要度が低いキャラクタの少なくとも一部が付与されなくなる。その結果、ゲームを継続することに対するユーザの動機付けが、重要度が低いキャラクタの付与により低下することを防止できる。
(項目7) (項目6)において、当選率を設定するステップで、1つ以上のキャラクタに関連するオブジェクトのうちキャラクタ以外のオブジェクトに設定される当選率は、零より大きくてもよい。これにより、ユーザにとって重要度が低いキャラクタであっても、当該キャラクタに適用可能なオブジェクトが付与される機会が提供される。そして、ユーザは、当該オブジェクトが付与された場合、当該オブジェクトを適用可能なキャラクタを選択する可能性が高くなる。その結果、ユーザにとって、重要度が低いキャラクタの重要度が高まることが期待される。
(項目8) (項目1)から(項目7)の何れか1項目において、当選率を設定するステップでは、重要度の判定結果が所定条件を満たす1つ以上のキャラクタに関連するオブジェクトの各当選率を、当該各当選率の合計が当該判定結果に対して定められた値になるように設定してもよい。これにより、ユーザは、所定条件を満たす判定結果となった1つ以上のキャラクタに関連するオブジェクトの何れかが付与されることを、一定の確率で期待できる。また、所定条件を満たす判定結果となった1つ以上のキャラクタの数が少なければ、ユーザは、当該1つ以上のキャラクタに関連するオブジェクトが集中して付与されることを期待できる。
(項目9) (項目1)から(項目8)の何れか1項目において、付与するステップは、ゲームにおいて利用可能な1つ以上のオブジェクトの何れかをユーザが取得する権利を表す権利データを、ユーザに関連付けるステップと、権利データを消費してオブジェクトの何れかをユーザに取得させるステップと、を含む。重要度を判定するステップと、当選率を設定するステップと、抽選するステップとは、権利データをユーザに関連付けるステップに含まれる。取得させるステップでは、抽選するステップで抽選されたオブジェクトを、ユーザに取得させる。これにより、権利データをユーザに関連付ける際に、さらに、当該権利データが消費されたときの当選物を権利データに関連付けておくことができ、権利データ及び当選物の管理が容易となる。
(項目10) (項目1)から(項目8)の何れか1項目において、付与するステップは、ゲームにおいて利用可能な1つ以上のオブジェクトの何れかをユーザが取得する権利を表す権利データを、ユーザに関連付けるステップと、権利データを消費してオブジェクトの何れかをユーザに取得させるステップと、を含む。重要度を判定するステップと、当選率を設定するステップと、抽選するステップとは、取得させるステップに含まれる。ここで、権利データがユーザに関連付けられる時点と、当該権利データが消費される時点とで、ユーザにとってのキャラクタの重要度が変化している場合がある。(項目10)の構成により、このような変化がある場合でも、ユーザは、自分にとってのキャラクタの重要度をリアルタイムに反映した当選率でオブジェクトを取得することができる。
(項目11) (項目1)から(項目10)の何れか1項目において、重要度を判定するステップでは、ゲームにおいて利用可能な1つ以上のキャラクタの各々について、ゲームのプレイにおけるユーザによる当該キャラクタの選択履歴に基づいて、重要度を判定してもよい。これにより、抽選時に選択されていないキャラクタであっても、ユーザによる選択履歴に基づいて、より精度よく重要度を判定することができる。
(項目12) ゲームプログラムを実行する方法について説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ及びメモリを備えるコンピュータにより実行される。該方法は、プロセッサが、ゲームプログラムに基づくゲームにおいて所定条件が満たされた場合に、ゲームにおいて利用可能な1つ以上のオブジェクトの何れかをユーザに付与するステップを実行することを含む。付与するステップは、ゲームにおいて利用可能な1つ以上のキャラクタの各々について、ユーザにとっての重要度を判定するステップと、1つ以上のオブジェクトの各々について、ユーザにとっての重要度が高いキャラクタに関連するオブジェクトほど、より高い当選率を設定するステップと、1つ以上のオブジェクトのうちユーザに付与するオブジェクトを、当選率に基づいて抽選するステップと、を含む。(項目11)に係る方法は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。
(項目13) 情報処理装置について説明した。本開示のある局面によると、該情報処理装置は、ゲームプログラムを記憶する記憶部(主記憶4、補助記憶5)と、ゲームプログラムを実行することにより、情報処理装置(ユーザ端末1000)の動作を制御する制御部(30)とを備える。制御部は、ゲームプログラムに基づくゲームにおいて所定条件が満たされた場合に、ゲームにおいて利用可能な1つ以上のオブジェクトの何れかをユーザに付与する際に、ゲームにおいて利用可能な1つ以上のキャラクタの各々について、ユーザにとっての重要度を判定し(S3704)、1つ以上のオブジェクトの各々について、ユーザにとっての重要度が高いキャラクタに関連するオブジェクトほど、より高い当選率を設定し(S3706、S3707)、1つ以上のオブジェクトのうちユーザに付与するオブジェクトを、当選率に基づいて抽選する(S3708)。(項目12)に係る情報処理装置は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。