本開示に係るゲームシステムは、ユーザにゲームを提供するためのシステムである。以下、ゲームシステムについて図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
(ゲームシステム1のハードウェア構成)
図1は、ゲームシステム1のハードウェア構成を示す図である。ゲームシステム1は図示の通り、複数のユーザ端末100と、サーバ200とを含む。各ユーザ端末100は、サーバ200とネットワーク2を介して接続する。ネットワーク2は、インターネット及び図示しない無線基地局によって構築される各種移動通信システム等で構成される。この移動通信システムとしては、例えば、所謂3G、4G移動通信システム、LTE(Long Term Evolution)、及び所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が挙げられる。
サーバ200(コンピュータ、情報処理装置)は、ワークステーション又はパーソナルコンピュータ等の汎用コンピュータであってよい。サーバ200は、プロセッサ20と、メモリ21と、ストレージ22と、通信IF23と、入出力IF24とを備える。サーバ200が備えるこれらの構成は、通信バスによって互いに電気的に接続される。
ユーザ端末100(コンピュータ、情報処理装置)は、スマートフォン、フィーチャーフォン、PDA(Personal Digital Assistant)、又はタブレット型コンピュータ等の携帯端末であってよい。ユーザ端末100は、ゲームプレイに適したゲーム装置であってもよい。ユーザ端末100は図示の通り、プロセッサ10と、メモリ11と、ストレージ12と、通信インターフェース(IF)13と、入出力IF14と、タッチスクリーン15(表示部152)と、カメラ17と、測距センサ18とを備える。ユーザ端末100が備えるこれらの構成は、通信バスによって互いに電気的に接続される。なお、ユーザ端末100は、タッチスクリーン15に代えて、又は、加えて、ユーザ端末100本体とは別に構成されたディスプレイ(表示部152)を接続可能な入出力IF14を備えていてもよい。
また、図1に示すように、ユーザ端末100は、1つ以上のコントローラ1020と通信可能に構成されることとしてもよい。コントローラ1020は、例えば、Bluetooth(登録商標)等の通信規格に従って、ユーザ端末100と通信を確立する。コントローラ1020は、1つ以上のボタン等を有していてもよく、該ボタン等に対するユーザの入力操作に基づく出力値をユーザ端末100へ送信する。また、コントローラ1020は、加速度センサ、及び、角速度センサ等の各種センサを有していてもよく、該各種センサの出力値をユーザ端末100へ送信する。
なお、ユーザ端末100がカメラ17及び測距センサ18を備えることに代えて、又は、加えて、コントローラ1020がカメラ17及び測距センサ18を有していてもよい。
ユーザ端末100は、例えばゲーム開始時に、コントローラ1020を使用するユーザに、該ユーザの名前又はログインID等のユーザ識別情報を、該コントローラ1020を介して入力させることが望ましい。これにより、ユーザ端末100は、コントローラ1020とユーザとを紐付けることが可能となり、受信した出力値の送信元(コントローラ1020)に基づいて、該出力値がどのユーザのものであるかを特定することができる。
ユーザ端末100が複数のコントローラ1020と通信する場合、各コントローラ1020を各ユーザが把持することで、ネットワーク2を介してサーバ200などの他の装置と通信せずに、該1台のユーザ端末100でマルチプレイを実現することができる。また、各ユーザ端末100が無線LAN(Local Area Network)規格等の無線規格により互いに通信接続する(サーバ200を介さずに通信接続する)ことで、複数台のユーザ端末100によりローカルでマルチプレイを実現することもできる。1台のユーザ端末100によりローカルで上述のマルチプレイを実現する場合、ユーザ端末100は、さらに、サーバ200が備える後述する種々の機能の少なくとも一部を備えていてもよい。また、複数のユーザ端末100によりローカルで上述のマルチプレイを実現する場合、複数のユーザ端末100は、サーバ200が備える後述する種々の機能を分散して備えていてもよい。
なお、ローカルで上述のマルチプレイを実現する場合であっても、ユーザ端末100はサーバ200と通信を行ってもよい。例えば、あるゲームにおける成績又は勝敗等のプレイ結果を示す情報と、ユーザ識別情報とを対応付けてサーバ200に送信してもよい。
また、コントローラ1020は、ユーザ端末100に着脱可能な構成であるとしてもよい。この場合、ユーザ端末100の筐体における少なくともいずれかの面に、コントローラ1020との結合部が設けられていてもよい。該結合部を介して有線によりユーザ端末100とコントローラ1020とが結合している場合は、ユーザ端末100とコントローラ1020とは、有線を介して信号を送受信する。
図1に示すように、ユーザ端末100は、外部のメモリカード等の記憶媒体1030の装着を、入出力IF14を介して受け付けてもよい。これにより、ユーザ端末100は、記憶媒体1030に記録されるプログラム及びデータを読み込むことができる。記憶媒体1030に記録されるプログラムは、例えばゲームプログラムである。
ユーザ端末100は、サーバ200等の外部の装置と通信することにより取得したゲームプログラムをユーザ端末100のメモリ11に記憶してもよいし、記憶媒体1030から読み込むことにより取得したゲームプログラムをメモリ11に記憶してもよい。
以上で説明した通り、ユーザ端末100は、該ユーザ端末100に対して情報を入力する機構の一例として、通信IF13、入出力IF14、タッチスクリーン15、カメラ17、及び、測距センサ18を備える。入力する機構としての上述の各部は、ユーザの入力操作を受け付けるように構成された操作部と捉えることができる。
例えば、操作部が、カメラ17及び測距センサ18の少なくともいずれか一方で構成される場合、該操作部が、ユーザ端末100の近傍の物体1010を検出し、当該物体の検出結果から入力操作を特定する。一例として、物体1010としてのユーザの手、予め定められた形状のマーカーなどが検出され、検出結果として得られた物体1010の色、形状、動き、又は、種類などに基づいて入力操作が特定される。より具体的には、ユーザ端末100は、カメラ17の撮影画像からユーザの手が検出された場合、該撮影画像に基づき検出されるジェスチャ(ユーザの手の一連の動き)を、ユーザの入力操作として特定し、受け付ける。なお、撮影画像は静止画であっても動画であってもよい。
あるいは、操作部がタッチスクリーン15で構成される場合、ユーザ端末100は、タッチスクリーン15の入力部151に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信IF13で構成される場合、ユーザ端末100は、コントローラ1020から送信される信号(例えば、出力値)をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力IF14で構成される場合、該入出力IF14と接続されるコントローラ1020とは異なる入力装置(図示せず)から出力される信号をユーザの入力操作として特定し、受け付ける。
(各装置のハードウェア構成要素)
プロセッサ10は、ユーザ端末100全体の動作を制御する。プロセッサ20は、サーバ200全体の動作を制御する。プロセッサ10及び20は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、及びGPU(Graphics Processing Unit)を含む。
プロセッサ10は後述するストレージ12からプログラムを読み出し、後述するメモリ11に展開する。プロセッサ20は後述するストレージ22からプログラムを読み出し、後述するメモリ21に展開する。プロセッサ10及びプロセッサ20は展開したプログラムを実行する。
メモリ11及び21は主記憶装置である。メモリ11及び21は、ROM(Read Only Memory)及びRAM(Random Access Memory)等の記憶装置で構成される。メモリ11は、プロセッサ10が後述するストレージ12から読み出したプログラム及び各種データを一時的に記憶することにより、プロセッサ10に作業領域を提供する。メモリ11は、プロセッサ10がプログラムに従って動作している間に生成した各種データも一時的に記憶する。メモリ21は、プロセッサ20が後述するストレージ22から読み出した各種プログラム及びデータを一時的に記憶することにより、プロセッサ20に作業領域を提供する。メモリ21は、プロセッサ20がプログラムに従って動作している間に生成した各種データも一時的に記憶する。
本実施形態においてプログラムとは、ゲームをユーザ端末100により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームをユーザ端末100とサーバ200との協働により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームを複数のユーザ端末100の協働により実現するためのゲームプログラムであってもよい。また、各種データとは、ユーザ情報及びゲーム情報などのゲームに関するデータ、ならびに、ユーザ端末100とサーバ200との間又は複数のユーザ端末100間で送受信する指示又は通知を含んでいる。
ストレージ12及び22は補助記憶装置である。ストレージ12及び22は、フラッシュメモリ又はHDD(Hard Disk Drive)等の記憶装置で構成される。ストレージ12及びストレージ22には、ゲームに関する各種データが格納される。
通信IF13は、ユーザ端末100における各種データの送受信を制御する。通信IF23は、サーバ200における各種データの送受信を制御する。通信IF13及び23は例えば、無線LAN(Local Area Network)を介する通信、有線LAN、無線LAN、又は携帯電話回線網を介したインターネット通信、ならびに近距離無線通信等を用いた通信を制御する。
入出力IF14は、ユーザ端末100がデータの入力を受け付けるためのインターフェースであり、またユーザ端末100がデータを出力するためのインターフェースである。入出力IF14は、USB(Universal Serial Bus)等を介してデータの入出力を行ってもよい。入出力IF14は、例えば、ユーザ端末100の物理ボタン、カメラ、マイク、又は、スピーカ等を含み得る。サーバ200の入出力IF24は、サーバ200がデータの入力を受け付けるためのインターフェースであり、またサーバ200がデータを出力するためのインターフェースである。入出力IF24は、例えば、マウス又はキーボード等の情報入力機器である入力部と、画像を表示出力する機器である表示部152とを含み得る。
ユーザ端末100のタッチスクリーン15は、入力部151と表示部152とを組み合わせた電子部品である。入力部151は、例えばタッチセンシティブなデバイスであり、例えばタッチパッドによって構成される。表示部152は、例えば液晶ディスプレイ、又は有機EL(Electro-Luminescence)ディスプレイ等によって構成される。
入力部151は、入力面に対しユーザの操作(主にタッチ操作、スライド操作、スワイプ操作、及びタップ操作等の物理的接触操作)が入力された位置を検知して、位置を示す情報を入力信号として送信する機能を備える。入力部151は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式又は抵抗膜方式等のどのような方式を採用したものであってもよい。
図示していないが、ユーザ端末100は、該ユーザ端末100の保持姿勢を特定するための1以上のセンサを備えていてもよい。このセンサは、例えば、加速度センサ、又は、角速度センサ等であってもよい。ユーザ端末100がセンサを備えている場合、プロセッサ10は、センサの出力からユーザ端末100の保持姿勢を特定して、保持姿勢に応じた処理を行うことも可能になる。例えば、プロセッサ10は、ユーザ端末100が縦向きに保持されているときには、縦長の画像を表示部152に表示させる縦画面表示としてもよい。一方、ユーザ端末100が横向きに保持されているときには、横長の画像を表示部152に表示させる横画面表示としてもよい。このように、プロセッサ10は、ユーザ端末100の保持姿勢に応じて縦画面表示と横画面表示とを切り替え可能であってもよい。
カメラ17は、イメージセンサ等を含み、レンズから入射する入射光を電気信号に変換することで撮影画像を生成する。
測距センサ18は、測定対象物までの距離を測定するセンサである。測距センサ18は、例えば、パルス変換した光を発する光源と、光を受ける受光素子とを含む。測距センサ18は、光源からの発光タイミングと、該光源から発せられた光が測定対象物にあたって反射されて生じる反射光の受光タイミングとにより、測定対象物までの距離を測定する。測距センサ18は、指向性を有する光を発する光源を有することとしてもよい。
ここで、ユーザ端末100が、カメラ17と測距センサ18とを用いて、ユーザ端末100の近傍の物体1010を検出した検出結果を、ユーザの入力操作として受け付ける例をさらに説明する。カメラ17及び測距センサ18は、例えば、ユーザ端末100の筐体の側面に設けられてもよい。カメラ17の近傍に測距センサ18が設けられてもよい。カメラ17としては、例えば赤外線カメラを用いることができる。この場合、赤外線を照射する照明装置及び可視光を遮断するフィルタ等が、カメラ17に設けられてもよい。これにより、屋外か屋内かにかかわらず、カメラ17の撮影画像に基づく物体の検出精度をいっそう向上させることができる。
プロセッサ10は、カメラ17の撮影画像に対して、例えば以下の(1)〜(5)に示す処理のうち1つ以上の処理を行ってもよい。(1)プロセッサ10は、カメラ17の撮影画像に対し画像認識処理を行うことで、該撮影画像にユーザの手が含まれているか否かを特定する。プロセッサ10は、上述の画像認識処理において採用する解析技術として、例えばパターンマッチング等の技術を用いてよい。(2)また、プロセッサ10は、ユーザの手の形状から、ユーザのジェスチャを検出する。プロセッサ10は、例えば、撮影画像から検出されるユーザの手の形状から、ユーザの指の本数(伸びている指の本数)を特定する。プロセッサ10はさらに、特定した指の本数から、ユーザが行ったジェスチャを特定する。例えば、プロセッサ10は、指の本数が5本である場合、ユーザが「パー」のジェスチャを行ったと判定する。また、プロセッサ10は、指の本数が0本である(指が検出されなかった)場合、ユーザが「グー」のジェスチャを行ったと判定する。また、プロセッサ10は、指の本数が2本である場合、ユーザが「チョキ」のジェスチャを行ったと判定する。(3)プロセッサ10は、カメラ17の撮影画像に対し、画像認識処理を行うことにより、ユーザの指が人差し指のみ立てた状態であるか、ユーザの指がはじくような動きをしたかを検出する。(4)プロセッサ10は、カメラ17の撮影画像の画像認識結果、及び、測距センサ18の出力値等の少なくともいずれか1つに基づいて、ユーザ端末100の近傍の物体1010(ユーザの手など)とユーザ端末100との距離を検出する。例えば、プロセッサ10は、カメラ17の撮影画像から特定されるユーザの手の形状の大小により、ユーザの手がユーザ端末100の近傍(例えば所定値未満の距離)にあるのか、遠く(例えば所定値以上の距離)にあるのかを検出する。なお、撮影画像が動画の場合、プロセッサ10は、ユーザの手がユーザ端末100に接近しているのか遠ざかっているのかを検出してもよい。(5)カメラ17の撮影画像の画像認識結果等に基づいて、ユーザの手が検出されている状態で、ユーザ端末100とユーザの手との距離が変化していることが判明した場合、プロセッサ10は、ユーザが手をカメラ17の撮影方向において振っていると認識する。カメラ17の撮影範囲よりも指向性が強い測距センサ18において、物体が検出されたりされなかったりする場合に、プロセッサ10は、ユーザが手をカメラの撮影方向に直交する方向に振っていると認識する。
このように、プロセッサ10は、カメラ17の撮影画像に対する画像認識により、ユーザが手を握りこんでいるか否か(「グー」のジェスチャであるか、それ以外のジェスチャ(例えば「パー」)であるか)を検出する。また、プロセッサ10は、ユーザの手の形状とともに、ユーザがこの手をどのように移動させているかを検出する。また、プロセッサ10は、ユーザがこの手をユーザ端末100に対して接近させているのか遠ざけているのかを検出する。このような操作は、例えば、マウス又はタッチスクリーンなどのポインティングデバイスを用いた操作に対応させることができる。ユーザ端末100は、例えば、ユーザの手の移動に応じて、タッチスクリーン15においてポインタを移動させ、ユーザのジェスチャ「グー」を検出する。この場合、ユーザ端末100は、ユーザが選択操作を継続中であると認識する。選択操作の継続とは、例えば、マウスがクリックされて押し込まれた状態が維持されること、又は、タッチスクリーンに対してタッチダウン操作がなされた後タッチされた状態が維持されることに対応する。また、ユーザ端末100は、ユーザのジェスチャ「グー」が検出されている状態で、さらにユーザが手を移動させると、このような一連のジェスチャを、スワイプ操作(またはドラッグ操作)に対応する操作として認識することもできる。また、ユーザ端末100は、カメラ17の撮影画像によるユーザの手の検出結果に基づいて、ユーザが指をはじくようなジェスチャを検出した場合に、当該ジェスチャを、マウスのクリック又はタッチスクリーンへのタップ操作に対応する操作として認識してもよい。
(ユーザ端末100の機能的構成)
図2は、ゲームシステム1に含まれるユーザ端末100の機能的構成を示すブロック図である。ユーザ端末100は、図示しない、一般的なコンピュータとして機能する場合に必要な機能的構成、および、ゲームにおける公知の機能を実現するために必要な機能的構成を含み得る。
ユーザ端末100は、ユーザの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。ユーザ端末100は、プロセッサ10、メモリ11、ストレージ12、通信IF13、および入出力IF14等の協働によって、制御部110および記憶部120として機能する。
記憶部220は、ゲームプログラム131、ゲーム情報132、およびユーザ情報133を格納する。ゲームプログラム131は、ユーザ端末100で実行するゲームプログラムである。ゲーム情報132は、制御部110がゲームプログラム131を実行する際に参照するデータである。ユーザ情報133は、ユーザのアカウントに関するデータである。
制御部110は、記憶部120に格納されたゲームプログラム131を実行することにより、ユーザ端末100を統括的に制御する。例えば、制御部110は、ゲームプログラム131およびユーザの操作にしたがって、ゲームを進行させる。また、制御部110は、ゲームを進行させている間、必要に応じて、サーバ200と通信して、情報の送受信を行う。
制御部110は、ゲームプログラム131の記述に応じて、操作受付部111、クエスト実行部112、ランク管理部113、スタミナ回復部114、アイテム付与部115、および表示制御部116として機能する。制御部110は、実行するゲームの性質に応じて、ゲームを進行させるために、図示しないその他の機能ブロックとしても機能することができる。
操作受付部111は、タッチスクリーン15(入力部151)の出力に基づいて、ユーザの入力操作を受け付ける。具体的には、操作受付部111は、ユーザの指などがタッチスクリーン15に接近したことを、タッチスクリーン15を構成する面の横軸及び縦軸からなる座標系の座標として検出する。例えば、操作受付部111は、入力部151に対する入力操作を受け付け、該入力操作の入力位置の座標を検出し、該入力操作の種類を特定する。操作受付部111は、入力操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、操作受付部111は、連続して検知されていた入力が途切れると、タッチスクリーン15から接触入力が解除されたことを検知する。
操作受付部111は、タッチスクリーン15に対するユーザの操作を判別する。操作受付部111は、例えば、(1)「接近操作」、(2)「リリース操作」、(3)「タップ操作」、(4)「ダブルタップ操作」、(5)「長押し操作(ロングタッチ操作)」、(6)「ドラッグ操作(スワイプ操作)」、(7)「ムーブ操作」、(8)「フリック操作」、その他のユーザの操作を判別する。操作受付部111が判別するユーザの操作は、上記に限られない。例えば、タッチスクリーン15が、ユーザがタッチスクリーン15に対して押下する圧力の大きさを検出可能な機構を有する場合、操作受付部111は、ユーザにより押下された圧力の大きさを判別する。
(1)「接近操作」とは、ユーザが指などをタッチスクリーン15に接近させる操作である。タッチスクリーン15は、ユーザの指などが接近したこと(ユーザの指などがタッチスクリーン15に接触したことを含む)をタッチスクリーン15により検出し、検出したタッチスクリーン15の座標に応じた信号を制御部110へ出力する。制御部110は、タッチスクリーン15へのユーザの指などの接近を検出しない状態から、接近を検出したときに、状態が「タッチオン状態」になったと判別する。
(2)「リリース操作」とは、ユーザがタッチスクリーン15を接近操作している状態を止める操作である。操作受付部111は、例えば、ユーザが指などをタッチスクリーン15に接触させている状態から、指を離す操作をしたときに、ユーザの操作を「リリース操作」と判別する。制御部110は、タッチスクリーン15へのユーザの指などの接近を検出している状態から、接近を検出しない状態になったときに、状態が「タッチオン状態」から「タッチオフ状態」になったと判別する。
(3)「タップ操作」とは、ユーザがタッチスクリーン15に対して指などを接近させる接近操作をした後に、接近操作をした位置でリリース操作を行うことである。操作受付部111は、接近操作が検出されない状態(ユーザの指などがタッチスクリーン15から離れており、タッチスクリーン15がユーザの指などの接近を検出していない状態)から、タッチスクリーン15の出力に基づいて、ユーザの指などが接近したことを検出した場合に、その検出した座標を「初期タッチ位置」として保持する。操作受付部111は、初期タッチ位置の座標と、リリース操作をした座標とがほぼ同一である場合(接近操作が検出された座標から一定範囲内の座標においてリリース操作の座標が検出された場合)に、ユーザの操作を「タップ操作」と判別する。
(4)「ダブルタップ操作」とは、ユーザがタップ操作を一定時間内に2回行う操作である。操作受付部111は、例えば、ユーザの操作をタップ操作と判別してから一定時間内に、タップ操作にかかる座標で再びタップ操作を判別した場合に、ユーザの操作を「ダブルタップ操作」と判別する。
(5)「長押し操作」とは、ユーザがタッチスクリーン15を押し続ける操作である。タッチスクリーン15は、ユーザの操作を検出して接近操作を判別してから、接近操作が検出された座標において接近操作が継続している時間が一定時間を超えた場合に、ユーザの操作を「長押し操作」(「長押し操作」を、「ロングタッチ操作」と称することもある)と判別する。
(6)「ドラッグ操作」とは、ユーザがタッチスクリーン15に指などを接近させた接近状態を維持したまま、指をスライドさせる操作である。
(7)「ムーブ操作」とは、ユーザがタッチスクリーン15において、接近操作を維持しつつ、タッチスクリーン15に指などを接近させている位置を移動させてリリース操作を行う一連の操作をいう。
(8)「フリック操作」は、ユーザがムーブ操作を予め定められた時間よりも短い時間で行う操作をいう。フリック操作は、ユーザがタッチスクリーン15で指を弾くような操作である。
クエスト実行部112は、スタミナ(第1パラメータ)を消費することによって、クエスト(第1ゲーム処理)を実行する。ランク管理部113は、ユーザの経験値(第2パラメータ)が第1基準値を超えた場合、ゲームにおけるユーザのランクを増加させる。スタミナ回復部114は、スタミナを回復するための条件が成立した場合、スタミナを回復する。スタミナ回復部114は、例えば、時間経過に従って、スタミナの上限値を超えない範囲でスタミナを自動的に回復する。アイテム付与部115は、ユーザにゲームアイテムを付与するための条件が成立した場合、ユーザにゲームアイテムを付与する。
表示制御部116は、タッチスクリーン15の表示部152に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部116は、各種オブジェクトのモーションを示すアニメーションを含むゲーム画面を、表示部152に表示してもよい。また、表示制御部116は、UI(User Interface)オブジェクトを、ゲーム画面に重畳して描画してもよい。
図2に示すユーザ端末100の機能は、一例にすぎない。サーバ200は、ユーザ端末100が備える機能の少なくとも一部を備えていてもよい。また、ユーザ端末100は、サーバ200が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末100およびサーバ200以外の他の装置をゲームシステム1の構成要素とし、該他の装置にゲームシステム1における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、ユーザ端末100、サーバ200、および他の装置のいずれであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
(ゲーム概要)
ゲームシステム1に基づくゲームは、例えば、ユーザによって操作されるキャラクタ(第1キャラクタ、味方キャラクタ)が登場する任意のゲームである。このゲームは、例えば、ユーザによって操作されるキャラクタと、ゲームシステム1または他のユーザによって制御される他のキャラクタ(第2キャラクタ、敵キャラクタ)とが戦闘するゲームである。ユーザは、複数の異なるキャラクタを保有することができる。ユーザは、有償または無償の手段によって、ゲームにおいて利用可能なキャラクタを取得することができる。有償の手段の一例として、ゲームにおいて利用可能なキャラクタのいずれかを決定し、ユーザに付与する手段が挙げられる。ユーザは、保有するキャラクタ群のうち少なくとも1つのキャラクタを選択して、ゲーム中に利用することができる。
ゲームシステム1に基づくゲームは、戦闘ゲームに限らず、スポーツゲームなどの任意のジャンルのゲームであってよい。ゲームシステム1は、特定のプレイ形態に限らず、あらゆるプレイ形態のゲームを実行するためのシステムであってもよい。例えば、単一のユーザによるシングルプレイゲーム、及び、複数のユーザによるマルチプレイゲーム、また、マルチプレイゲームの中でも、複数のユーザが対戦する対戦ゲーム、及び、複数のユーザが協力する協力プレイゲームなどであってもよい。
ユーザは、ゲームのプレイ中に、各種のクエストをプレイすることができる。クエストは、ユーザに関連付けられる味方キャラクタが用いられるゲームステージ(ゲームコンテンツ)の一種である。ゲームにおいて、ユーザには、クエストをプレイするために消費されるスタミナが提供される。スタミナは、ユーザがクエストをプレイするために消費する必要があるゲームパラメータである。スタミナには、最低値、現在値、および上限値が設定される。各クエストには、当該クエストをプレイするために必要なスタミナの消費値と、当該クエストをクリアした場合にユーザが獲得することができる経験値が設定される。ユーザは、スタミナの現在値のうちクエストに設定されるスタミナ値を消費することによって、クエストをプレイする。ユーザは、クエストをクリアした場合、クエストに設定される経験値を獲得する。ユーザが獲得した経験値の合計が第1基準値を超えた場合、ゲームにおけるユーザのランクが1つ増加する。ランクは、ゲームにおける各ユーザの相対的な位置づけの高さを表す一種のゲームパラメータである。本開示において、ランクが増加することをランクアップすると称する場合がある。
ユーザは、ユーザによる対価の支払いに基づいて、ゲームにおいて使用可能なダイヤを得ることができる。ダイヤは、ユーザがゲームをより有利に進行させるために使用可能な有償のゲームアイテム(ゲーム媒体、仮想通貨)である。本開示では、ユーザは、ゲーム中にスタミナを回復させるために、ダイヤを使用する。ダイヤは、使用後には無くなる一種の消費財である。したがって、本開示において、ダイヤを使用することはダイヤを消費することと同義である。
スタミナの現在値が、クエストのプレイに必要な値未満になった場合、ユーザは、クエストを新たにプレイすることができない。スタミナは、時間経過に従って、上限値を超えない範囲で自動回復される。ユーザは、時間経過によるスタミナの回復を待たずにスタミナを回復させたい場合、ダイヤを消費することによってスタミナを少なくとも上限値まで回復することができる。スタミナは、ランクアップ時にも少なくとも上限値まで回復される。
(スタミナ回復フロー)
図3は、ある実施の形態に係るユーザ端末100が、ゲームプログラム131に基づいて実行する処理の流れを示すフローチャートである。図4は、ある実施の形態に係るゲーム画面310を示す図である。図3に示す一連の処理の一部または全部が、サーバ200によって実行されてもよい。
表示制御部116は、ゲームのプレイ中に、例えば図4に示すゲーム画面31を表示部152に表示する。図4に示すゲーム画面31は、ランク表示欄41、経験値表示欄42、ダイヤ表示欄43、スタミナ表示欄44、およびクエスト表示欄45を含む。
表示制御部116は、ランク表示欄41にユーザのランクを表示する。表示制御部116は、ユーザが獲得済みの経験値の合計と、新たにランクアップするために獲得する必要がある経験値の合計(第1基準値)とを、経験値表示欄42に表示する。経験値表示欄42のおいて、獲得済みの経験値の合計と、ランクアップに必要な経験値の合計値とは、所定の区切り記号(スラッシュ)によって区切られている。本開示では、ランクアップに必要な経験値の合計を、単に第1基準値と称する場合がある。表示制御部116は、ユーザが保有するダイヤの個数を、ダイヤ表示欄43に表示する。表示制御部116は、スタミナバー46と、スタミナの現在値および上限値とを、スタミナ表示欄44に表示する。スタミナ表示欄44において、スタミナの現在値および上限値は、所定の区切り記号(スラッシュ)によって区切られている。
スタミナバー46は、スタミナの現在値および上限値を視覚的にユーザに提示する表示情報である。図4において、スタミナバー46の左端はスタミナの最低値に対応し、スタミナバー46の右端はスタミナの上限値に対応する。図4に示すようにランクが5の場合、スタミナの最低値は「0」であり、スタミナの上限値は「20」である。スタミナの上限値はゲームの進行状況に応じて増加し得る。表示制御部116は、スタミナバー46の全体のうち、スタミナの現在値に相当する部分を、第1色に着色する。表示制御部116は、スタミナバー46のうち残りの部分を、第1色と異なる第2色に着色する。ユーザは、スタミナバー46を視認することによってスタミナの現在値を直感的に把握することができる。
表示制御部116は、複数の選択肢51および52をクエスト表示欄45に表示する。選択肢51および52は、当該選択肢がユーザによって選択された場合に実行されるクエストに対応する表示情報である。選択肢51は、初級クエストに対応し、クエストは、初級クエストと異なる中級クエストに対応する。中級クエストは、初級クエストに比べて消費スタミナが多くかつ難易度が高いが、その代わりに、より価値の高い報酬が得られるクエストである。ユーザは、スタミナを5だけ消費することによって初級クエストをプレイすることができ、初級クエストをクリアすれば経験値を50だけ獲得することができる。ユーザは、スタミナを15だけ消費することによって中級クエストをプレイすることができ、中級クエストをクリアすれば経験値を200だけ獲得することができる。選択肢51および選択肢52は、対応するクエストの実行(プレイ)に必要なスタミナ値を表す情報(テキスト)と、当該クエストをクリアした場合にユーザに付与される経験値を表す情報(テキスト)とを含む。
ステップS1において、操作受付部111は、ゲームにおいてプレイ可能な複数のクエストのうちいずれかをユーザに選択させる。操作受付部111は、詳細には、選択肢51に対するユーザのタップ操作を検出した場合、選択肢51に対応する初級クエストがユーザによって選択されたことを特定する。操作受付部111は、あるいは、選択肢52に対するユーザのタップ操作を検出した場合、選択肢52に対応する中級クエストがユーザによって選択されたことを特定する。ステップS2において、クエスト実行部112は、ユーザによって選択されたクエストに対応するスタミナを消費することによって、ユーザによって選択されたクエストを実行する。クエスト実行部112は、初級クエストが選択された場合、初級クエストのプレイに必要な「5」のスタミナを消費することによって、初級クエストを実行する。クエスト実行部112は、中級クエストが選択された場合、中級クエストのプレイに必要な「20」のスタミナを消費することによって、中級クエストを実行する。ユーザは、自身が選択したクエストをプレイする。
図5は、ある実施の形態に係るメッセージ60を示す図である。ステップS3において、操作受付部111は、スタミナ表示欄44に対するユーザのタップ操作を受け付ける。この操作は、スタミナの回復を指示するための操作である。表示制御部116は、スタミナ表示欄44に対するタップ操作が受け付けられた場合、図5に示すメッセージを60をゲーム画面31内の任意の位置に表示する。メッセージ60は、スタミナ回復のために用いるダイヤの個数をユーザに問い合わせる内容のテキストと、複数の選択肢61〜64とを含む。選択肢61〜64は、スタミナを回復するために消費されるダイヤの個数に対応する。選択肢61〜64は、具体的には、5個、10個、15個、および20個のダイヤにそれぞれ対応する。このように、スタミナを回復するためのダイヤの消費個数は、ユーザによって複数単位で指定される。ダイヤ1個当たりで回復可能なスタミナの値は1である。
ステップS4において、操作受付部111は、選択肢61〜64のいずれかをユーザに選択させることによって、スタミナ回復のために消費されるダイヤの第1個数をユーザに指定させる。操作受付部111は、詳細には、ユーザによって選択された選択肢に対応するダイヤの個数を、ユーザによって指定された第1個数として特定する。操作受付部111は、選択肢61が選択された場合、ユーザによって5個のダイヤが指定されたことを特定する。操作受付部111は、選択肢62が選択された場合、ユーザによって10個のダイヤが指定されたことを特定する。操作受付部111は、選択肢63が選択された場合、ユーザによって15個のダイヤが指定されたことを特定する。操作受付部111は、選択肢64が選択された場合、ユーザによって20個のダイヤが指定されたことを特定する。
ステップS5において、スタミナ回復部114は、ユーザによって指定された第1個数だけダイヤを消費すると、スタミナが上限値を超えて回復されるか否かを判定する。ユーザによって、例えば5個のダイヤが指定されたとする。この場合、スタミナの現在値=13、ダイヤ5個の消費によって回復可能なスタミナ値=5であるため、スタミナは18まで回復される。この場合、スタミナは上限値を超えて回復されないため、ステップS5においてNOとなる。その結果、ステップS6において、スタミナ回復部114は、第1個数「5個」だけダイヤを消費することによって、スタミナを上限値よりも少ない18まで回復させる。この後、図3に示す一連の処理終了する。
ステップS4において、ユーザによって例えば10個のダイヤが指定されたとする。この場合、スタミナの現在値=13、ダイヤ10個の消費によって回復可能なスタミナ値=10であるため、10個のダイヤを仮に消費するとスタミナは上限値「20」を超えて23まで回復される。したがって、ステップS4においてユーザによって10個のダイヤが指定された場合、ステップS5においてYESとなる。
図6は、ある実施の形態に係るメッセージ70を示す図である。ステップS5においてYESの場合、表示制御部116は、図6に示すメッセージ70をゲーム画面31における任意の位置に表示する。メッセージ70は、ユーザにスタミナの回復方法を問い合わせる内容のテキストと、選択肢71および72とを含む。選択肢71および72は、当該選択肢がユーザによって選択された場合に実行されるスタミナ回復方法に対応する。具体的には、選択肢71は上限回復に対応し、選択肢72は超過回復に対応する。上限回復は、スタミナを上限値まで回復させる回復方法を意味し、超過回復は、スタミナを上限値を超えて回復させる方法を意味する。
ステップS7において、操作受付部111は、選択肢71または72をユーザに選択させることによって、上限回復または超過回復をユーザに選択させる。操作受付部111は、選択肢71に対するユーザのタップ操作を受け付けた場合、選択肢71に対応する上限回復がユーザによって選択されたことを特定する。操作受付部111は、選択肢72に対するユーザのタップ操作を受け付けた場合、選択肢72に対応する超過回復がユーザによって選択されたことを特定する。
ステップS8において、スタミナ回復部114は、ユーザによって上限回復が選択されたか否かを判定する。ステップS8においてYESの場合、ステップS9において、スタミナ回復部114は、ユーザによって指定された第1個数よりも割り引かれた第2個数だけダイヤを消費することによって、スタミナを上限値まで回復させる。この際、スタミナ回復部114は、スタミナの上限値とスタミナの現在値との第1差分に応じたダイヤの第2個数を特定する。例えば、ステップS4において10個のダイヤが指定され、かつ、ステップS7において上限回復が選択されたとする。この場合、スタミナ回復部114は、スタミナの上限値=20、スタミナの現在値=13であるため、上限値と現在値との第1差分として「7」を特定する。スタミナ回復部114は、次に、特定した第1差分だけスタミナを回復可能なダイヤの個数を、第2個数として特定する。スタミナ回復部114は、ダイヤ1個当たりで回復可能なスタミナの値が1であることに基づいて、1×7=7個を第2個数として特定する。これにより、スタミナ回復部114は、7個のダイヤを消費することによって、スタミナを上限値「20」まで回復させる。この結果、ユーザが保持するダイヤの個数は、100個から7個を減算した93個に減少する。
図7は、ある実施の形態に係るダイヤ表示欄43およびスタミナ表示欄44を示す図である。表示制御部116は、7個のダイヤ消費によってスタミナが上限値の20まで回復した場合、ダイヤ表示欄43およびスタミナ表示欄44を図7に示すように更新する。表示制御部116は、詳細には、ダイヤ表示欄43に表示されるダイヤの個数を93個に更新すると共に、スタミナ表示欄44に表示されるスタミナの現在値を20に更新する。表示制御部116は、さらに、スタミナバー46の全体を第1色に着色する。
ステップS8においてNOの場合、ステップS10において、スタミナ回復部114は、ユーザによって指定された第1個数だけダイヤを消費することによって、スタミナを上限値を超えて回復させる。例えば、ステップS4において10個のダイヤが指定され、かつ、ステップS7において超過回復が選択されたとする。この場合、スタミナ回復部114は、まず、10個のダイヤ消費によって回復可能なスタミナの値を特定する。ダイヤ1個当たりで回復可能なスタミナの値は1である。したがって、スタミナ回復部114は、10個のダイヤ消費によってスタミナが10だけ回復することを特定する。これにより、スタミナ回復部114は、10個のダイヤを消費することによって、スタミナを現在値「13」に回復値「10」を合算した23まで回復させる。この結果、ユーザが保持するダイヤの個数は、100個よりも10個少ない90個に減少する。
図8は、ある実施の形態に係るダイヤ表示欄43およびスタミナ表示欄44を示す図である。表示制御部116は、10個のダイヤ消費によってスタミナが上限値を超えて23まで回復した場合、ダイヤ表示欄43およびスタミナ表示欄44を図8に示すように更新する。表示制御部116は、詳細には、ダイヤ表示欄43に表示されるダイヤの個数を90個に更新すると共に、スタミナ表示欄44に表示されるスタミナの現在値を23に更新する。表示制御部116は、さらに、スタミナバー46の全体を第1色に着色する。
(主要な作用効果)
スタミナ回復部114は、スタミナを上限値を超えて回復可能な第1個数のダイヤがユーザによって指定された場合、第1個数のダイヤを消費することによってスタミナを上限値まで回復することはしない。その代わりに、第1個数よりも割り引かれた第2個数のダイヤを消費することによって、スタミナを上限値まで回復させる。これにより、ユーザはダイヤを無駄に消費せずに済むので、ゲームに対して不満を覚えずに済む。特に、ダイヤはユーザによる対価の支払いによって得られるゲームアイテムであるため、ユーザは、ゲームに費やす金銭を無駄にせずに済んだという思いを得られる。
ユーザは、上限回復または超過回復を自らの意志によって選択することができる。これにより、ユーザは、自らのゲームのプレイスタイルに応じて、スタミナの回復方法を決定することができる。ユーザは、ダイヤの消費を抑えながらゲームを進めたい場合には上限回復を選択し、より多くのスタミナを消費してゲームをより早く進行させたい場合には、超過回復を選択することができる。
本開示のある局面において、ユーザは、ダイヤ消費によりスタミナを回復する場合、ダイヤの消費個数を複数単位で指定することはできるが、スタミナの回復値を指定することはできない。言い換えれば、スタミナ回復部114は、上限回復時にユーザにスタミナ回復値を指定させることなく、割り引かれた第2個数のダイヤを消費することによって、スタミナを上限値まで回復する。したがって、ユーザは、現在値から上限値までのスタミナ回復値を指定する手間を、省くことができる。さらには、ユーザは、スタミナを現在値から上限値まで回復するために必要な実際のダイヤの消費数を、自ら計算したり指定したりする必要もない。
(ランクアップ時のスタミナ超過回復)
図9は、ある実施の形態に係るランク表示欄41およびスタミナ表示欄44を示す図である。図9の各例では、スタミナ回復部114は、ユーザがランクアップしたことに基づいて、ラックアップ時のスタミナの現在値に関わらず、スタミナを上限値を超えて回復させる。図9には、ランクアップによるスタミナ超過回復の異なる4つの例を図示している。いずれも、ランクが5から1つ増加して6にアップした場合のスタミナ回復を示す。
図9(A)〜(D)は、いずれも、ランクアップ後のランク表示欄41およびスタミナ表示欄44の例を示す。図9の各例において、クエスト実行部112は、ユーザがクエストをクリアした場合、クエストに対応する経験値をユーザに付与する。ランク管理部113は、増加した経験値が第1基準値を超えた場合、ランクを5から6にアップさせる。
図9(A)の例では、スタミナ回復部114は、経験値が第1基準値を超えた場合、スタミナの上限値を20のまま維持する。言い換えれば、上限値を増加させない。スタミナ回復部114は、さらに、スタミナを、上限値「20」と固定値(第1値)「20」とを合算した第1回復値「40」まで回復させる。表示制御部116は、ランク表示欄41に表示されるランクを6に更新し、かつ、スタミナ表示欄44に表示されるスタミナの現在値を40に更新する。表示制御部116は、さらに、スタミナバー46の全体を第1色に着色する。
図9(B)の例では、スタミナ回復部114は、経験値が第1基準値を超えた場合、スタミナの上限値を20のまま維持する。言い換えれば、上限値を増加させない。スタミナ回復部114は、複数の異なる値の中から、いずれかの1つの値(第1値)を、抽選によってランダムに選択する。スタミナ回復部114は、具体的には、19、20、および21の中から、19を選択する。スタミナ回復部114は、スタミナを、上限値「20」と、選択された変動値「19」とを合算した第1回復値「39」まで回復させる。表示制御部116は、ランク表示欄41に表示されるランクを6に更新し、かつ、スタミナ表示欄44に表示されるスタミナの現在値を39に更新する。表示制御部116は、さらに、スタミナバー46の全体を第1色に着色する。
図9(C)の例では、スタミナ回復部114は、経験値が第1基準値を超えた場合、スタミナの上限値を増加させる。スタミナ回復部114は、詳細には、上限値を20から1つ増加させることによって21に変更する。スタミナ回復部114は、さらに、スタミナを、増加後の上限値「21」と固定値「20」とを合算した第2回復値「41」まで回復させる。表示制御部116は、ランク表示欄41に表示されるランクを6に更新し、かつ、スタミナ表示欄44に表示されるスタミナの現在値を41に更新する。表示制御部116は、さらに、スタミナバー46の全体を第1色に着色する。
図9(D)の例では、スタミナ回復部114は、経験値が第1基準値を超えた場合、スタミナの上限値を増加させる。スタミナ回復部114は、詳細には、上限値を20から1つ増加させることによって21に変更する。スタミナ回復部114は、複数の異なる値の中から、いずれかの1つの値(第1値)を、抽選によってランダムに選択する。スタミナ回復部114は、具体的には、19、20、および21の中から、21を選択する。スタミナ回復部114は、スタミナを、増加された上限値「21」と、選択された変動値「21」とを合算した第2回復値「42」まで回復させる。表示制御部116は、ランク表示欄41に表示されるランクを6に更新し、かつ、スタミナ表示欄44に表示されるスタミナの現在値を42に更新する。表示制御部116は、さらに、表示制御部116は、さらに、スタミナバー46の全体を第1色に着色する。
図9(A)および(C)の例では、ランクアップ時にスタミナに加算される固定値(第1値)は、すべてのユーザに対して同一の値である。なおかつ、固定値は、ランクアップ時の現在ランクに関わらず同一の値である。したがって、スタミナ回復部114は、いずれのユーザがランクアップした場合でも、そのユーザに対応するスタミナを、そのユーザに対応するスタミナの上限値+固定値まで回復させる。これにより、ゲームシステム1は、ランクアップにスタミナの上限値に加算される追加回復量を、ユーザごとに個別に管理する必要がない。したがって、スタミナ回復に関するゲームシステム1の処理をより簡素化することができる。
図9(B)および(D)の例では、ランクアップ時にスタミナに加算される値は、複数の異なる値から選択される変動値(第1値)である。この場合、ランクアップ時のスタミナの超過回復値が、ランクアップごとに変化し得る。複数の値は、固定値を中央値として分布する複数の値であることが好ましい。この場合、選択される変動値の期待値は固定値と大差なくなるので、ランクアップ時のスタミナの超過回復値を、ランクアップごとに平均的に同一の値にすることができる。
図9(C)および(D)の例では、ランクアップ時にスタミナの上限値が増加した場合、上限値の増加分も含めて、スタミナが上限値を超えて回復される。これにより、上限値の増加分のスタミナが回復されない場合に比べて、ユーザをより満足させることができる。
ユーザは、ランクアップ時にスタミナが回復される際、スタミナの回復値を指定することはできない。言い換えれば、スタミナ回復部114は、ランクアップ時にユーザにスタミナ回復値を指定させることなく、スタミナを上限値+第1値まで回復する。したがって、ユーザは、ランクアップ時に上限値を超えてスタミナをどこまで回復させるかを指定する手間を、省くことができる。
(上限値増加後のスタミナ回復例)
図10は、ある実施の形態に係るランク表示欄41、ダイヤ表示欄43、およびスタミナ表示欄44を示す図である。図10(A)は、ダイヤ消費によるスタミナ回復前のランク表示欄41等を示し、図10(B)は、ダイヤ消費によるスタミナ上限回復後のランク表示欄41等を示す。図10の例では、ユーザのランクは100であり、スタミナの現在値および上限値はそれぞれ52および80である。ユーザは、100個のダイヤを保有している。ランクが100にアップしたことにより、スタミナの上限値が80に増加している。
図10の例では、スタミナ回復部114は、スタミナの上限値が大きいほど、ダイヤの1個当たりで回復可能なスタミナの値を大きくする。スタミナ回復部114は、詳細には、スタミナを最小値から上限値まで回復させるために必要なダイヤの個数が、上限値に関わらず同一となるように、ダイヤの1個当たりで回復可能なスタミナの値を設定する。図4の例では、スタミナの上限値は20であり、ダイヤの1個当たりのスタミナ回復値は1である。したがって、スタミナを最小値「0」から上限値「20」まで回復させる必要なダイヤは20個である。スタミナ回復部114は、スタミナの上限値が図10に示すように「80」である場合、スタミナを最小値「0」から上限値「80」まで回復させる必要なダイヤが、図4の場合と同様に20個になるように、ダイヤの1個当たりのスタミナ回復値を「4」に設定する。
上限値の増加後も、ユーザは、5個を最低単位として、5個の倍数である各個数を、スタミナ回復に消費されるダイヤの個数として指定する。図10(A)において、ユーザは、スタミナ回復のためのダイヤの消費数として、10個のダイヤを指定する。ユーザは、さらに、スタミナの回復方法として上限回復を選択する。スタミナ回復部114は、スタミナの上限値=80、スタミナの現在値=52であるため、上限値と現在値との差分として28を特定する。スタミナ回復部114は、ダイヤ1個当たりで回復可能なスタミナの値が4であるため、28÷4=7個を、上限回復時に消費されるダイヤの第2個数として特定する。スタミナ回復部114は、特定した7個のダイヤを消費することによって、スタミナを上限値の80まで回復する。
表示制御部116は、スタミナの回復後、ダイヤ表示欄43およびスタミナ表示欄44を図10(B)に示すように更新する。表示制御部116は、詳細には、ダイヤ表示欄43に表示されるダイヤの個数を93個に更新すると共に、スタミナ表示欄44に表示されるスタミナの現在値を80に更新する。表示制御部116は、さらに、スタミナバー46の全体を第1色に着色する。
図10の例では、スタミナの上限値が大きいほど、ダイヤの1個当たりで回復可能なスタミナの値が大きくなる。これにより、ランクが上昇するほどダイヤ消費によるスタミナの回復効率が向上するので、ゲームの継続プレイによるランクアップをユーザに動機付けることができる。図10の例では、さらに、スタミナの上限値がどれだけ増加しても、スタミナを上限値まで回復させるために必要なダイヤの消費数が変わらない。これにより、ランクが上昇するほどダイヤ消費時のスタミナ回復効率が向上すると共に、スタミナの上限回復に必要なダイヤの個数がランクアップによって増加しないため、ランクアップをユーザにより一層強く動機付けることができる。
図11は、ある実施の形態に係るランク表示欄41、ダイヤ表示欄43、およびスタミナ表示欄44を示す図である。図11(A)は、ダイヤ消費によるスタミナ回復前のランク表示欄41等を示し、図11(B)は、ダイヤ消費によるスタミナ上限回復後のランク表示欄41等を示す。図11の例では、ユーザのランクは100であり、スタミナの現在値および上限値はそれぞれ52および80である。ユーザは、100個のダイヤを保有している。ランクが100にアップしたことにより、スタミナの上限値が80に増加している。
図11の例では、スタミナ回復部114は、ランクが増加した場合でも、ダイヤの1個当たりで回復可能なスタミナの値を変化させない。言い換えると、スタミナの上限値に関わらず、ダイヤの1個当たりで回復可能なスタミナの値を、同一に維持する。したがって、ダイヤの1個当たりで回復可能なスタミナの値は、ランクおよび上限値が増加する前の図4と同じく、1である。
ユーザは、5個を最低単位として、5個の倍数である各個数を、スタミナ回復に消費されるダイヤの個数として指定できる。ユーザは、スタミナ回復のためのダイヤの消費数として、30個のダイヤを指定する。ユーザは、さらに、スタミナの回復方法として上限回復を選択する。スタミナ回復部114は、スタミナの上限値=80、スタミナの現在値=52であるため、上限値と現在値との差分として28を特定する。スタミナ回復部114は、ダイヤ1個当たりで回復可能なスタミナの値が1であるため、1×28=28個を、ダイヤの消費数として特定する。スタミナ回復部114は、特定した28個のダイヤを消費することによって、スタミナを上限値の80まで回復する。
表示制御部116は、スタミナの回復後、ダイヤ表示欄43およびスタミナ表示欄44を、図11(B)に示すように更新する。表示制御部116は、詳細には、ダイヤ表示欄43に表示されるダイヤの個数を72個に更新すると共に、スタミナ表示欄44に表示されるスタミナの現在値を80に更新する。表示制御部116は、さらに、スタミナバー46の全体を第1色に着色する。
図11の例では、スタミナの上限値に関わらず、ダイヤの1個当たりで回復可能なスタミナの値が同一の1であるため、スタミナの上限値が増加するほど、スタミナを最小値から上限値まで回復させるために必要なダイヤの個数が増加する。これにより、スタミナを上限値まで回復させるためにユーザが負担する対価が増加するため、ゲーム運得者の売り上げをよりアップさせることができる。
(ランクアップ時のダイヤ付与)
図12は、ある実施の形態に係るランク表示欄41、ダイヤ表示欄43、およびスタミナ表示欄44を示す図である。図12(A)は、ランクアップ直前のランク表示欄41等を示し、図12(B)は、ランクアップ後のランク表示欄41等を示す。図12の例では、ランクアップ直前のユーザのランクは5であり、スタミナの現在値および上限値はそれぞれ13および20である。ユーザは、100個のダイヤを保有している。
ユーザはクエストをクリアすることによって、経験値を新たに獲得する。ランク管理部113は、経験値が第1基準値を超えた場合、ランクを5から6に増加する。スタミナ回復部114は、経験値が第1基準値を超えた場合、スタミナを上限値「20」まで回復する。アイテム付与部115は、経験値が第1基準値を超えた場合、ランクアップ直前のスタミナの現在値と上限値との第2差分に応じた個数のダイヤを、ユーザに付与する。図12の例では、アイテム付与部115は、まずスタミナの上限値「20」と現在値「13」との第2差分として7を特定する。
アイテム付与部115は、第2差分が所定の第2基準値以下である場合、第2差分に関わらず同一である第3個数のダイヤをユーザに付与する。第3個数のダイヤは、ランクアップにユーザに付与される最低個数のダイヤである。図12の例では、第2基準値は10であり、基本個数は3個である。したがって、アイテム付与部115は、図12(A)に示すように第2差分「7」が第2基準値「10」以下である場合、ランクアップ時に3個のダイヤをユーザに付与する。このように、図12の例において、アイテム付与部115は、スタミナの第2差分「7」に応じた3個のダイヤをユーザに付与する。
表示制御部116は、ランクアップ後、ランク表示欄41、ダイヤ表示欄43、およびスタミナ表示欄44を、図12(B)に示すように更新する。表示制御部116は、詳細には、ランク表示欄41に表示されるランクを6に更新し、ダイヤ表示欄43に表示されるダイヤの個数を103個に更新し、さらに、スタミナ表示欄44に表示されるスタミナの現在値を20に更新する。表示制御部116は、さらに、スタミナバー46の全体を第1色に着色する。
図13は、ある実施の形態に係るランク表示欄41、ダイヤ表示欄43、およびスタミナ表示欄44を示す図である。図13(A)は、ランクアップ直前のランク表示欄41等を示し、図13(B)は、ランクアップ後のランク表示欄41等を示す。図13の例では、ランクアップ直前のユーザのランクは5であり、スタミナの現在値および上限値はそれぞれ0および20である。ユーザは、100個のダイヤを保有している。
ユーザはクエストをクリアすることによって、経験値を新たに獲得する。ランク管理部113は、経験値が第1基準値を超えた場合、ランクを5から6に増加する。スタミナ回復部114は、経験値が第1基準値を超えた場合、スタミナを上限値「20」まで回復する。アイテム付与部115は、経験値が第1基準値を超えた場合、ランクアップ直前のスタミナの現在値と上限値との第2差分に応じた個数のダイヤを、ユーザに付与する。図13の例では、アイテム付与部115は、まずスタミナの上限値「20」と現在値「0」との第2差分として20を特定する。
アイテム付与部115は、第2差分が所定の第2基準値を超える場合、第2基準値とランクアップ直前のスタミナの現在値との第3差分を単位値で除算した個数と第3個数とを合算した第4個数のダイヤを、ユーザに付与する。図13の例では、第2基準値は10であり、単位値は5であり、第3個数は3個である。したがって、アイテム付与部115は、図13(A)に示すように第2差分「20」が第2基準値「10」を超える場合、第2基準値「10」とランクアップ直前のスタミナの現在値「0」との第3差分「10」を単位値「5」で除算した個数として、2個を特定する。アイテム付与部115は、特定した2個に3個(第3個数)を合算した5個のダイヤを、ランクアップ時にユーザに付与する。このように、図13の例において、アイテム付与部115は、スタミナの第2差分「20」に応じた5個のダイヤをユーザに付与する。
表示制御部116は、ランクアップ後、ランク表示欄41、ダイヤ表示欄43、およびスタミナ表示欄44を、図13(B)に示すように更新する。表示制御部116は、詳細には、ランク表示欄41に表示されるランクを6に更新し、ダイヤ表示欄43に表示されるダイヤの個数を105個に更新し、さらに、スタミナ表示欄44に表示されるスタミナの現在値を20に更新する。表示制御部116は、さらに、スタミナバー46の全体を第1色に着色する。
図12の例では、スタミナの第2差分が7である場合、3個のダイヤがユーザに付与される。図13の例では、スタミナの第2差分が20である場合、5個のダイヤがユーザに付与される。これらのように、第2差分が大きいほど、ランクアップ時にユーザに付与されるダイヤの個数は大きくなる。
図14は、ある実施の形態に係るランク表示欄41、ダイヤ表示欄43、およびスタミナ表示欄44を示す図である。図14(A)は、ランクアップ直前のランク表示欄41等を示し、図14(B)は、ランクアップ後のランク表示欄41等を示す。図14の例では、ランクアップ直前のユーザのランクは100であり、スタミナの現在値および上限値はそれぞれ20および80である。ユーザは、100個のダイヤを保有している。
ユーザはクエストをクリアすることによって、経験値を新たに獲得する。ランク管理部113は、経験値が第1基準値を超えた場合、ランクを100から101に増加する。スタミナ回復部114は、経験値が第1基準値を超えた場合、スタミナを上限値「80」まで回復する。アイテム付与部115は、経験値が第1基準値を超えた場合、ランクアップ直前のスタミナの現在値と上限値との第2差分に応じた個数のダイヤを、ユーザに付与する。図13の例では、アイテム付与部115は、まずスタミナの上限値「80」と現在値「20」との第2差分として60を特定する。
アイテム付与部115は、第2差分が所定の第2基準値を超える場合、第2基準値とランクアップ直前のスタミナの現在値との第3差分を単位値で除算した個数と第3個数とを合算した第4個数のダイヤを、ユーザに付与する。アイテム付与部115は、さらに、スタミナの上限値が大きくなるほど、第2基準値をより大きくすると共に、単位値をより大きくする。図14の例では、アイテム付与部115は、スタミナの上限値「80」が図12の場合の上限値「20」よりも大きいことに基づいて、第2基準値を図12の場合の第2基準値「10」よりも大きい30に変更する。アイテム付与部115は、さらに、スタミナ上限値「80」が図12の場合の上限値「20」よりも大きいことに基づいて、単位値を図12の場合の単位値「5」よりも大きい10に設定する。第3個数は、図12の場合の3個のまま変わらない。
アイテム付与部115は、図13(A)に示すように第2差分「60」が第2基準値「30」を超える場合、第2差分「60」と第2基準値「30」との第3差分「30」を単位値「10」で除算した個数として、3個を特定する。アイテム付与部115は、特定した3個に3個(第3個数)を合算した6個のダイヤを、ランクアップ時にユーザに付与する。このように、図14の例において、アイテム付与部115は、スタミナの第2差分「60」に応じた6個のダイヤをユーザに付与する。
表示制御部116は、ランクアップ後、ランク表示欄41、ダイヤ表示欄43、およびスタミナ表示欄44を、図13(B)に示すように更新する。表示制御部116は、詳細には、ランク表示欄41に表示されるランクを101に更新し、ダイヤ表示欄43に表示されるダイヤの個数を106個に更新し、さらに、スタミナ表示欄44に表示されるスタミナの現在値を80に更新する。表示制御部116は、さらに、スタミナバー46の全体を第1色に着色する。
図12〜図14の例では、いずれも、ランクアップ時にスタミナの第2差分に応じた個数のダイヤがユーザに付与されるので、ゲームの繰り返しプレイによるランクアップをユーザに動機付けることができる。図13の例では、ランクアップ時のスタミナの第2差分が大きいほどランクアップ時にユーザが獲得できるダイヤが多いので、できるだけスタミナを少なくした状態でランクアップするようにゲームをプレイすることをユーザに動機付けることができる。
図13の例では、スタミナの第2差分が20である場合、5個のダイヤがユーザに付与される。図14の例では、スタミナの第2差分が60である場合、6個のダイヤがユーザに付与される。これらのように、上限値が増加したことによって、ランクアップ時のスタミナ回復値が3倍に増加しても、ユーザに付与されるダイヤの個数は大きく変化しない。このように、図14の例では、ランクがより大きくなるほどランクアップ時に多くのダイヤがユーザに付与され過ぎることを防ぐことができるので、ゲームバランスをより安定させることができる。
(その他の例)
スタミナの回復のために消費される回復媒体は、ユーザにより支払われる対価であってもよい。例えば、ユーザが100円を支払うことによって、5個のダイヤを得ることができるとする。この場合、ユーザは、100円を最低単位として、100円の倍数である200円、300円、および400円などの各対価を、スタミナ回復に消費される対価(金額)として指定できる。ここで、スタミナの上限値=20、スタミナの現在値=13であるとする。ユーザは、スタミナ回復のために消費される第1対価として、200円を指定する。スタミナ回復部114は、ユーザによって指定された第1対価「200円」を消費した場合にスタミナが上限値を超えて回復される場合、第1対価「200円」よりも割り引かれた第2対価「140円」を消費することによって、スタミナを上限値まで回復する。ここでいう第2対価の消費とは、ユーザに第1対価ではなく第2対価を課金することを意味する。したがって、ユーザは60円を無駄に支払うことなく、現在値から上限値までのスタミナ回復値「7」に相当する140円の支払いによって、スタミナを上限値まで回復することができる。
上限回復時に消費される第2個数は、ユーザによって指定された第1個数よりも割り引かれた任意の個数であればよい。言い換えれば、第2個数は、第1個数よりも少ない任意の個数であればよい。例えば、スタミナの上限値=20、スタミナの現在値=13であり、ユーザによって第1個数「10個」が指定されたとする。この場合、スタミナ回復部114は、第1差分「7」だけスタミナを回復可能なダイヤの個数「7個」よりも少ない6個以下の個数を、第1個数よりも割り引かれた第2個数として特定してもよい。このように、スタミナ回復部114は、第1差分が7である場合、1個から6個のいずれかである第2個数のダイヤを消費することによって、スタミナを上限値「20」まで回復させることもできる。
ユーザによるダイヤ消費個数の指定は、必ずしも必要ではない。ユーザによる上限回復または超過回復の選択は、必ずしも必要ではない。スタミナ回復部114は、ダイヤの消費個数をユーザに指定させることなく、スタミナの上限値と現在値との差分に応じた個数のダイヤを消費することによって、スタミナを上限値まで回復することもできる。例えば、スタミナの上限値=20、スタミナの現在値=13、ダイヤ1個の消費によって回復可能なスタミナ値=1であるとする。表示制御部116は、図4に示すスタミナ表示欄44に対するユーザのタップ操作が受け付けられた場合、メッセージ60をゲーム画面31に表示することなく、上限値と現在値との差分に応じたダイヤの消費個数を算出する。スタミナ回復部114は、詳細には、スタミナの差分「7」を回復するためのダイヤの消費個数として7個を特定する。消費個数の特定後、表示制御部116は、選択肢71および選択肢72のうち選択肢71のみをゲーム画面31に表示する。スタミナ回復部114は、選択肢71に対するユーザのタップ操作が受け付けられた場合、7個のダイヤを消費することによって、スタミナを上限値「20」まで回復させる。言い換えると、スタミナ回復部114は、スタミナを最小値「0」から上限値「20」まで回復させるために必要なダイヤの第1個数「20」から、スタミナの現在値「13」に応じたダイヤの個数「13」が割り引かれた第2個数「7」のダイヤを消費することによって、スタミナを上限値「20」まで回復する。
スタミナ回復部114は、スタミナの上限回復時に特定したダイヤの第2個数が、端数を含んでいる場合、その端数を切り捨てても良い。例えば、スタミナ上限値=21、スタミナの現在値=13であるとする。スタミナを最小値から上限値まで回復させるために必要なダイヤの個数は、20個である。したがって、スタミナ上限値=21の場合、ダイヤの1個当たりで回復可能なスタミナの値は1.05である。スタミナ回復部114は、上限値と現在値との第1差分として、21−13=8を特定する。スタミナ回復部114は、10個のダイヤが指定された場合、8÷1.05=7.4を、ダイヤの消費数として特定する。スタミナ回復部114は、さらに、7.4から端数の0.4を切り捨てることによって、スタミナの上限回復に消費されるダイヤの第2個数として7個を特定する。スタミナ回復部114は、特定した7個のダイヤを消費することによって、スタミナを上限値「21」まで回復する。この例では、7個のダイヤ消費によってスタミナが8だけ回復できるので、ユーザはより少ないダイヤの消費量でスタミナを上限値まで回復することができる。
スタミナ回復部114は、ゲーム進行条件が所定の条件を満たした場合、スタミナを上限値+第1値まで回復することができる。上述したランクアップ(経験値が第1基準値を超えること)は、ゲーム進行条件が所定の条件を満たすことの一例である。
アイテム付与部115は、ゲーム進行条件が所定の条件を満たした場合、スタミナの上限値と現在値の差分に応じた任意のゲーム媒体(ゲームアイテム、仮想通貨)を、ユーザに付与することができる。上述したダイヤは、ゲーム進行条件が所定の条件を満たした場合にユーザに付与されるゲーム媒体の一例である。このようなゲームアイテムとして、ダイヤ以外に、例えばクエストクリア時にユーザに付与されるアイテムと同一種類のアイテムが挙げられる。あるいは、ユーザによる対価の支払いによって得られる、ダイヤ以外のゲームアイテムも挙げられる。さらには、ダイヤの消費によってユーザが獲得可能な任意のゲームアイテムも挙げられる。
〔ソフトウェアによる実現例〕
制御部110および210の制御ブロックは、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、制御部110、もしくはその両方を備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラム及び各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)又は記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
〔付記事項〕
本発明の一側面に係る内容を列記すると以下の通りである。
(項目1) ゲームプログラムを説明した。本開示のある局面によると、ゲームプログラム(131)は、プロセッサ(10)を備えたコンピュータ(ユーザ端末100)により実行される。ゲームプログラムは、プロセッサに、第1パラメータを消費することによって、第1ゲーム処理を実行するステップ(S3)と、ユーザにより支払われる対価または当該対価の支払いにより得られるゲームアイテムである回復媒体を第1個数だけ消費すると第1パラメータが第1パラメータの上限値を超えて回復される場合、回復媒体を第1個数よりも割り引かれた第2個数だけ消費することによって、第1パラメータを上限値まで回復するステップ(S9)とを実行する。
(項目2) (項目1)において、回復媒体は、第1パラメータを回復するための消費数が複数単位で指定される回復媒体である。
(項目3) (項目1)において、第2個数は、第1パラメータの現在値と上限値との第1差分に相当する回復媒体の個数である。
(項目4) (項目1)〜(項目3)のいずれかにおいて、ゲームプログラムは、プロセッサに、第1回復または第2回復をユーザに選択させるステップ(S7)と、第1回復が選択された場合、回復媒体を第1個数だけ消費することによって、第1パラメータを上限値を超えて回復するステップ(S10)とを実行させ、上限値まで回復するステップにおいて、第2回復が選択された場合、回復媒体を第2個数だけ消費することによって、第1パラメータを上限値まで回復する。
(項目5) (項目1)〜(項目4)のいずれかにおいて、ゲームプログラムは、プロセッサに、上限値を増加させるステップを実行させ、上限値が大きいほど、回復媒体の1個当たりで回復可能な第1パラメータの値が大きい。
(項目6) (項目5)において、ゲームプログラムは、プロセッサに、第1パラメータを第1パラメータの最小値から上限値まで回復させるために必要な回復媒体の個数が、上限値に関わらず同一となるように、回復媒体の回復媒体の1個当たりで回復可能な第1パラメータの値を設定するステップを実行させる。
(項目7) (項目1)〜(項目4)のいずれかにおいて、ゲームプログラムは、プロセッサに、上限値を増加させるステップを実行させ、上限値に関わらず、回復媒体の1個当たりで回復可能な第1パラメータの値が同一である。
(項目8) (項目1)〜(項目7)のいずれかにおいて、ゲームプログラムは、プロセッサに、第1パラメータと異なる第2パラメータを増加させるステップと、増加された第2パラメータが第1基準値を超えた場合、第1パラメータを、上限値と第1値とを合算した第1回復値まで回復する。
(項目9) (項目1)〜(項目7)のいずれかにおいて、ゲームプログラムは、プロセッサに、第1パラメータと異なる第2パラメータを増加させるステップと、増加された第2パラメータが第1基準値を超えた場合、上限値を増加させると共に、第1パラメータを、増加後の上限値と第1値とを合算した第2回復値まで回復する。
(項目10) (項目8)または(項目9)において、第1値は、固定値であるか、または、複数の異なる値の中から選択される変動値である。
(項目11) (項目1)〜(項目7)のいずれかにおいて、ゲームプログラムは、プロセッサに、第1パラメータと異なる第2パラメータを増加させるステップと、増加された第2パラメータが第1基準値を超えた場合、第1パラメータを、上限値まで回復させるステップと、増加された第2パラメータが第1基準値を超えた場合、第1パラメータの現在値と上限値との第2差分に応じた個数のゲーム媒体をユーザに付与するステップとを実行させる。
(項目12) (項目11)において、第2差分が大きいほど、ユーザに付与されるゲーム媒体の個数が大きい。
(項目13) (項目12)において、ゲーム媒体を付与するステップにおいて、現在値が第2基準値以上である場合、第2差分に関わらず同一である第3個数のゲーム媒体をユーザに付与し、現在値が第2基準値よりも小さい場合、第2基準値と現在値との第3差分を単位値で除算した個数と第3個数とを合算した第4個数のゲーム媒体をユーザに付与する。
(項目14) (項目13)において、ゲームプログラムは、プロセッサに、増加された第2パラメータが第1基準値を超えた場合、上限値を増加させるステップと、上限値が大きくなるほど、第2基準値を上限値に比べてより小さくすると共に、単位値をより大きくするステップとを実行させる。
(項目15) (項目1)〜(項目14)のいずれかにおいて、ゲームプログラムは、プロセッサに、時間経過に従って、第1パラメータを上限値を超えない範囲内で自動的に回復するステップを実行させる。
(項目16) 情報処理装置を説明した。本開示のある局面によると、情報処理装置(ユーザ端末100)は、ゲームプログラム(131)を記憶する記憶部(120)と、ゲームプログラムを実行することにより、情報処理装置の動作を制御する制御部(110)と、を備える。制御部は、第1パラメータを消費することによって、第1ゲーム処理を実行し、ユーザにより支払われる対価または当該対価の支払いにより得られるゲームアイテムである回復媒体を第1個数だけ消費すると第1パラメータが第1パラメータの上限値を超えて回復される場合、回復媒体を第1個数よりも割り引かれた第2個数だけ消費することによって、第1パラメータを上限値まで回復する。
(項目17) ゲームプログラムを実行する方法を説明した。本開示のある局面によると、ゲームプログラム(131)は、プロセッサ(10)を備えたコンピュータ(ユーザ端末100)によって実行される。方法は、プロセッサが、第1パラメータを消費することによって、第1ゲーム処理を実行するステップ(S3)と、ユーザにより支払われる対価または当該対価の支払いにより得られるゲームアイテムである回復媒体を第1個数だけ消費すると第1パラメータが第1パラメータの上限値を超えて回復される場合、回復媒体を第1個数よりも割り引かれた第2個数だけ消費することによって、第1パラメータを上限値まで回復するステップ(S9)とを含む。
(項目18) ゲームプログラムを説明した。本開示のある局面によると、ゲームプログラム(131)は、プロセッサ(10)を備えたコンピュータ(ユーザ端末100)により実行される。ゲームプログラムは、プロセッサに、第1パラメータを消費することによって、第1ゲーム処理を実行するステップ(S3)と、ゲーム進行状況が所定の条件を満たした場合、第1パラメータを、第1パラメータの上限値と第1値とを合算した第1回復値まで回復するステップ(S9)とを実行させる。
(項目19) ゲームプログラムを説明した。本開示のある局面によると、ゲームプログラム(131)は、プロセッサ(10)を備えたコンピュータ(ユーザ端末100)により実行される。ゲームプログラムは、プロセッサに、第1パラメータを消費することによって、第1ゲーム処理を実行するステップ(S3)と、ゲーム進行状況が所定の条件を満たした場合、第1パラメータを、第1パラメータの上限値まで回復するステップと、ゲーム進行状況が所定の条件を満たした場合、第1パラメータの現在値と上限値との差分に応じた個数のゲーム媒体をユーザに付与するステップと、を実行させる。