〔実施形態1〕
本開示に係るゲームシステムは、ユーザにゲームを提供するためのシステムである。以下、ゲームシステムについて図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
(ゲームシステム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キャラクタ、敵キャラクタ)とが戦闘するゲームである。ユーザは、複数の異なるキャラクタを保有することができる。ユーザは、有償または無償の手段によって、ゲームにおいて利用可能な味方キャラクタ(ゲーム媒体)を取得することができる。有償の手段の一例として、キャラクタ抽選(第2ゲーム処理)が挙げられる。キャラクタ抽選とは、ゲームシステム1が、複数のキャラクタ(ゲーム媒体)の中から少なくとも1つのキャラクタを選択してユーザに付与する処理(第2ゲーム処理)を意味する。ゲームシステム1は、キャラクタ抽選時に、ゲームに規定される規則に従ってキャラクタを選択したり、抽選によってキャラクタをランダムに選択したりすることができる。ゲームシステム1は、例えば、ユーザがゲームアイテムまたは仮想通貨を消費した場合、キャラクタ抽選を実行することによって、選択されたキャラクタをユーザに付与する。
ゲームシステム1に基づくゲームは、戦闘ゲームに限らず、スポーツゲームなどの任意のジャンルのゲームであってよい。ゲームシステム1は、特定のプレイ形態に限らず、あらゆるプレイ形態のゲームを実行するためのシステムであってもよい。例えば、単一のユーザによるシングルプレイゲーム、及び、複数のユーザによるマルチプレイゲーム、また、マルチプレイゲームの中でも、複数のユーザが対戦する対戦ゲーム、及び、複数のユーザが協力する協力プレイゲームなどであってもよい。
ユーザは、ゲームのプレイ中に、各種のクエストをプレイすることができる。クエストは、ユーザに関連付けられる味方キャラクタが用いられるゲームステージ(ゲームコンテンツ)の一種である。ゲームにおいて、ユーザには、クエストをプレイするために消費されるスタミナが提供される。スタミナは、ユーザがクエストをプレイするために消費する必要があるゲームパラメータである。スタミナには、最低値、現在値、および上限値が設定される。各クエストには、当該クエストをプレイするために必要なスタミナの消費値と、当該クエストをクリアした場合にユーザが獲得することができる経験値が設定される。ユーザは、スタミナの現在値のうちクエストに設定されるスタミナ値を消費することによって、クエストをプレイする。ユーザは、クエストをクリアした場合、クエストに設定される経験値を獲得する。ユーザが獲得した経験値の合計が第1基準値を超えた場合、ゲームにおけるユーザのランクが1つ増加する。ランクは、ゲームにおける各ユーザの相対的な位置づけの高さを表す一種のゲームパラメータである。本開示において、ランクが増加することをランクアップすると称する場合がある。
ユーザは、ユーザによる対価の支払いに基づいて、ゲームにおいて使用可能なダイヤを得ることができる。ダイヤは、ユーザがゲームをより有利に進行させるために使用可能な有償のゲームアイテム(ゲーム媒体、仮想通貨)である。本開示では、ユーザは、ゲーム中にスタミナを回復させるために、ダイヤを使用する。その意味では、ダイヤは、スタミナを回復可能な回復媒体(ゲーム媒体)である。ダイヤは、使用後には無くなる一種の消費財である。したがって、本開示において、ダイヤを使用することはダイヤを消費することと同義である。
スタミナの現在値が、クエストのプレイに必要な値未満になった場合、ユーザは、クエストを新たにプレイすることができない。スタミナは、時間経過に従って、上限値を超えない範囲で自動回復される。ユーザは、時間経過によるスタミナの回復を待たずにスタミナを回復させたい場合、ダイヤを消費することによってスタミナを上限値を超えない範囲で回復することができる。本開示では、ダイヤ1個当たりで回復可能なスタミナの値は5である。スタミナは、ランクアップ時にも上限値まで回復される。
ランク、経験値、抽選ポイント、ダイヤ、およびスタミナは、いずれもユーザ情報133の一種として、記憶部120に記憶されている。詳細には、記憶部120は、ユーザの現在のランク、ユーザが獲得した累積経験値、ユーザが保有するダイヤの個数、ユーザが保有する抽選ポイントの値、スタミナの現在値、およびスタミナの上限値を、それぞれ記憶している。
図3は、ある実施の形態に係るテーブル134を示す図である。テーブル134は、スタミナおよび内部スタミナ(第2パラメータ)を管理するための情報であり、ユーザ情報133の一種として記憶部120に記憶されている。テーブル134は、スタミナの現在値および内部スタミナの現在値をそれぞれ格納している。内部スタミナは、スタミナから独立して管理される。図3では、スタミナの現在値は20であり、内部スタミナの現在値はゼロである。内部スタミナは、スタミナと同様に、クエストを実行するために消費されるパラメータの一種である。クエスト実行部112は、スタミナの代わりに内部スタミナを消費することによって、クエストを実行することができる。クエスト実行部112は、スタミナおよび内部スタミナの双方を消費することによっても、クエストを実行することができる。これらの詳細は後述する。
(処理フロー)
図5は、ある実施の形態に係るユーザ端末100が、ゲームプログラム131に基づいて実行する処理の流れを示すフローチャートである。図5は、ある実施の形態に係るゲーム画面31を示す図である。図5に示す一連の処理の一部または全部が、サーバ200によって実行されてもよい。
表示制御部116は、ゲームのプレイ中に、例えば図5に示すゲーム画面31を表示部152に表示する。図5に示すゲーム画面31は、ランク表示欄41、経験値表示欄42、ダイヤ表示欄43、スタミナ表示欄44、およびクエスト表示欄45を含む。
表示制御部116は、ランク表示欄41にユーザのランクを表示する。表示制御部116は、ユーザが獲得済みの経験値の合計と、新たにランクアップするために獲得する必要がある経験値の合計(第1基準値)とを、経験値表示欄42に表示する。経験値表示欄42のおいて、獲得済みの経験値の合計と、ランクアップに必要な経験値の合計値とは、所定の区切り記号(スラッシュ)によって区切られている。本開示では、ランクアップに必要な経験値の合計を、単に第1基準値と称する場合がある。表示制御部116は、ユーザが保有するダイヤの個数を、ダイヤ表示欄43に表示する。表示制御部116は、スタミナバー46と、スタミナの現在値および上限値とを、スタミナ表示欄44に表示する。スタミナ表示欄44において、スタミナの現在値および上限値は、所定の区切り記号(スラッシュ)によって区切られている。
スタミナバー46は、スタミナの現在値および上限値を視覚的にユーザに提示する表示情報である。図5において、スタミナバー46の左端はスタミナの最低値に対応し、スタミナバー46の右端はスタミナの上限値に対応する。図5に示すようにランクが5の場合、スタミナの最低値は「0」であり、スタミナの上限値は「50」である。スタミナの上限値はゲームの進行状況に応じて増加し得る。表示制御部116は、スタミナバー46の全体のうち、スタミナの現在値に相当する部分を、第1色に着色する。表示制御部116は、スタミナバー46のうち残りの部分を、第1色と異なる第2色に着色する。ユーザは、スタミナバー46を視認することによってスタミナの現在値を直感的に把握することができる。
本開示のある局面において、内部スタミナは、ゲーム中にユーザがその存在を知り得ない隠しパラメータの一種である。図4では、表示制御部116は、図3に示すテーブル134に格納されるスタミナの現在値「20」を、スタミナ表示欄44に表示する。表示制御部116は、テーブル134に格納される内部スタミナの現在値「0」を、スタミナ表示欄44に表示しない。ユーザは、ゲーム中にスタミナの現在値を把握することはできるが、内部スタミナの現在値を把握することはできない。
表示制御部116は、複数の選択肢51および52をクエスト表示欄45に表示する。選択肢51および52は、当該選択肢がユーザによって選択された場合に実行されるクエストに対応する表示情報である。選択肢51は、初級クエストに対応し、クエストは、初級クエストと異なる中級クエストに対応する。中級クエストは、初級クエストに比べて消費スタミナが多くかつ難易度が高いが、その代わりに、より価値の高い報酬が得られるクエストである。ユーザは、スタミナを5だけ消費することによって初級クエストをプレイすることができ、初級クエストをクリアすれば経験値を50だけ獲得することができる。ユーザは、スタミナを15だけ消費することによって中級クエストをプレイすることができ、中級クエストをクリアすれば経験値を200だけ獲得することができる。選択肢51および選択肢52は、対応するクエストの実行(プレイ)に必要なスタミナ値を表す情報(テキスト)と、当該クエストをクリアした場合にユーザに付与される経験値を表す情報(テキスト)とを含む。
ステップS1において、操作受付部111は、ゲームにおいてプレイ可能な複数のクエストのうちいずれかをユーザに選択させる。操作受付部111は、詳細には、選択肢51に対するユーザのタップ操作を検出した場合、選択肢51に対応する初級クエストがユーザによって選択されたことを特定する。操作受付部111は、あるいは、選択肢52に対するユーザのタップ操作を検出した場合、選択肢52に対応する中級クエストがユーザによって選択されたことを特定する。ステップS2において、クエスト実行部112は、ユーザによって選択されたクエストの実行に必要なスタミナの第1消費値を消費することによって、ユーザによって選択されたクエストを実行する。クエスト実行部112は、初級クエストが選択された場合、初級クエストのプレイに必要な「5」のスタミナを消費することによって、初級クエストを実行する。クエスト実行部112は、中級クエストが選択された場合、中級クエストのプレイに必要な「15」のスタミナを消費することによって、中級クエストを実行する。ユーザは、自身が選択したクエストをプレイする。ここでは、中級クエストが選択されたものとする。
図6は、ある実施の形態に係るテーブル134を示す図である。クエスト実行部112は、スタミナの現在値が20であるときに中級クエストが選択された場合、テーブル134に格納されるスタミナを15だけ消費する。その際、クエスト実行部112は、中級クエストの選択時にテーブル134に格納されるスタミナの現在値「20」から、第1消費値「15」を減算することによって、テーブル134に格納されるスタミナの現在値を、図6に示すように5に更新する。
図7は、ある実施の形態に係るスタミナ表示欄44を示す図である。表示制御部116は、テーブル134に格納されるスタミナの現在値の更新に連動して、スタミナ表示欄44に表示されるスタミナの現在値を更新する。図7の例では、表示制御部116は、スタミナ表示欄44に表示されるスタミナの現在値を、テーブル134に格納されるスタミナの現在値「5」に更新する。表示制御部116は、さらに、スタミナバー46の全体のうち、スタミナの現在値「5」に相当する部分を第1色に着色し、残りを第2色に着色する。
スタミナ表示欄44の更新タイミングは、クエストの実行前でもよいし、実行後でもよい。前者の例では、表示制御部116は、スタミナが消費された場合、中級クエストの実行が開始される前に、スタミナ表示欄44を更新することによって、スタミナの新たな現在値「5」をユーザに通知する。クエスト実行部112は、新たな現在値「5」の通知後に中級クエストの実行を開始する。後者の例では、クエスト実行部112は、スタミナが消費された場合、スタミナ表示欄44の更新を待たずに直ちに中級クエストの実行を開始する。表示制御部116は、中級クエストの終了後、スタミナ表示欄44を更新することによって、新たな現在値「5」をユーザに通知する。
図8は、ある実施の形態に係るメッセージ60を示す図である。ステップS3において、操作受付部111は、クエストの実行に必要なスタミナの第1消費値をゼロにするための第1操作を、現在値「5」が第1消費値「15」を下回るときにユーザから受け付ける。操作受付部111は、まず、スタミナ表示欄44に対するタップ操作をユーザから受け付ける。表示制御部116は、タップ操作に応答して、ゲーム画面31内の任意の位置に、図8に示すメッセージ60を表示する。メッセージ60は、ユーザへの通知テキストと、ボタン61および62とを含む。通知テキストは、クエストの実行に必要な第1消費値をゼロにするか否かをユーザに問い合わせる第1テキストと、第1消費値をゼロにするために必要なダイヤの消費個数が10個であることをユーザに説明する第2テキストとを含む。メッセージ60には、ダイヤの第1個数「10」が関連付けられる。ボタン61は、第1消費値をゼロにするための第1操作を受け付けるユーザインタフェースである。ボタン62は、第1消費値をゼロにすることをキャンセルするための操作を受け付けるユーザインタフェースである。操作受付部111は、ボタン61に対するタップ操作を、クエストの実行に必要な第1消費値をゼロにするための第1操作として受け付ける。
図9は、ある実施の形態に係るテーブル134を示す図である。ステップS4において、クエスト実行部112は、第1操作に応答して、ダイヤを消費することによってスタミナの第1消費値をゼロまで減少させる。クエスト実行部112は、まず、メッセージ60に関連付けられるダイヤの第1個数「10」を特定する。クエスト実行部112は、ダイヤを第1個数「10」だけ消費することによって、初級クエストの実行に必要なスタミナの第1消費値「5」と、中級クエストの実行に必要なスタミナの第1消費値「15」とを、いずれもゼロまで減少させる。その際、クエスト実行部112は、記憶部120に記憶されるダイヤの個数「100」から、ダイヤの第1個数「10」を減算することによって、記憶部120に記憶されるダイヤの個数を90に更新する。
ステップS5において、クエスト実行部112は、第1操作に応答して、内部スタミナを増加させる。クエスト実行部112は、まず、第1個数「10」によって回復可能なスタミナの第1回復値「50」を特定する。クエスト実行部112は、特定した第1回復値「50」に基づいて、テーブル134を図9に示すように更新する。クエスト実行部112は、詳細には、テーブル134に格納される内部スタミナの現在値「0」に、特定した第1回復値「50」を加算することによって、テーブル134に格納される内部スタミナの現在値を50に更新する。
図10は、ある実施の形態に係るゲーム画面31を示す図である。表示制御部116は、第1操作に応答して、ゲーム画面31を図10に示すように更新する。表示制御部116は、まず、ダイヤ表示欄43に表示されるダイヤの個数を、記憶部120に記憶されるダイヤの個数「10」に更新する。ステップS6において、表示制御部116は、ゲーム画面31の表示態様を、図10に示すように減少後の第1消費値「0」に応じて変化させる。表示制御部116は、例えば、45に表示されるクエストの実行に必要なスタミナ値の表示態様を、減少後の第1消費値「0」に応じて変化させる。図10の例では、表示制御部116は、クエスト表示欄45に表示される各クエストの実行に必要なスタミナを、減少後の第1消費値「0」に更新する。表示制御部116は、ダイヤの消費によってスタミナが回復しなかったため、スタミナ表示欄44に表示されるスタミナの現在値を5のまま更新しない。
図11は、ある実施の形態に係るテーブル134を示す図である。ステップS7において、操作受付部111は、いずれかのクエストをユーザに選択させる。ここでは、操作受付部111は、選択肢52に対するユーザのタップ操作を検出することによって、中級クエストがユーザによって選択されたことを特定する。ステップS8において、クエスト実行部112は、中級クエストが選択されたことに応答して、スタミナを消費することなく中級クエストを実行する。詳細には、クエスト実行部112は、内部スタミナを、中級クエストの実行に必要な減少前の第1消費値「15」に等しい内部スタミナの第2消費値「15」だけ消費することによって、中級クエストを実行する。この際、クエスト実行部112は、テーブル134に格納される内部スタミナの現在値「50」から、第2消費値「15」を減算することによって、テーブル134に格納されるスタミナの現在値を35に更新する。
図11の例では、クエスト実行部112は、スタミナを消費することなく、中級クエストを実行するしたがって、クエスト実行部112は、テーブル134に格納されるスタミナの現在値を、5のまま更新しない。表示部152は、テーブル134に格納されるスタミナの現在値が5のまま変化しないため、中級クエストが実行されたにも関わらず、スタミナ表示欄44に表示されるスタミナ現在値を、図7に示すように5のまま更新しない。
図12は、ある実施の形態に係るテーブル134を示す図である。図12(A)は、第1時点でのテーブル134を示し、図12(B)は、スタミナが自動回復した時点でのテーブル134を示し、図12(C)は、スタミナがさらに自動回復した時点でのテーブル134を示す。ステップS9において、スタミナ回復部114は、時間経過に従って、スタミナを、スタミナの上限値を超えない範囲内で自動的に回復する。ステップS10において、スタミナ回復部114は、時間経過に関わらず、内部スタミナの現在値を同一値に維持する。スタミナ回復部114は、規定の基準時間が経過するたびに、スタミナを1だけ回復させる。その際、スタミナ回復部114は、基準時間が経過するたびに、テーブル134に格納されるスタミナの現在値に1を加算することによって、テーブル134に格納されるスタミナの現在値を増加させる。スタミナ回復部114は、さらに、基準時間の経過に関わらず、テーブル134に格納される内部スタミナの現在値を変化させない。
図12(A)に示すように、スタミナの現在値「5」および内部スタミナの現在値「35」が、第1時点においてテーブル134に格納されているとする。スタミナ回復部114は、第1時点から基準時間が経過した場合、テーブル134に格納されるスタミナの現在値「5」に1を加算することによって、テーブル134に格納されるスタミナの現在値を図12(B)に示すように6に更新する。スタミナ回復部114は、スタミナの現在値が6に自動回復してから、さらに基準時間が経過した場合、テーブル134に格納されるスタミナの現在値「6」に1を加算することによって、テーブル134に格納されるスタミナの現在値を図12(C)に示すように7に更新する。クエスト実行部112は、基準時間が経過した場合でも、テーブル134に格納される内部スタミナの現在値を、図12(A)~(C)に示すように35のまま維持する。
図13は、ある実施の形態に係るスタミナ表示欄44を示す図である。図13(A)は、第1時点でのスタミナ表示欄44を示し、図13(B)は、スタミナが自動回復した時点でのスタミナ表示欄44を示し、図13(C)は、スタミナがさらに自動回復した時点でのスタミナ表示欄44を示す。表示制御部116は、時間経過に従ってスタミナが自動回復された場合、スタミナ表示欄44に表示されるスタミナの現在値を、図13に示すように自動回復後の値に随時更新する。表示制御部116は、テーブル134に格納されるスタミナの現在値の更新に連動して、スタミナ表示欄44に表示されるスタミナの現在値を更新する。表示制御部116は、第1時点では、テーブル134に格納されるスタミナの現在値「5」を、図13(A)に示すようにスタミナ表示欄44に表示する。表示制御部116は、テーブル134に格納されるスタミナの現在値が6に更新された場合、スタミナ表示欄44に表示されるスタミナの現在値を、図13(B)に示すように6に更新する。表示制御部116は、テーブル134に格納されるスタミナの現在値が7に更新された場合、スタミナ表示欄44に表示されるスタミナ現在値を、図13(C)に示すように7に更新する。
(主要な作用効果)
クエストの実行に必要なスタミナの第1消費値は、ダイヤの消費によって減少する。この結果、ユーザは、より少ないスタミナを消費して、あるいは、スタミナをまったく消費せずに、クエストをプレイすることができる。これにより、スタミナを消費してプレイできるクエストをユーザがプレイする機会を増やすことができる。
ダイヤの消費によって、スタミナは回復せずに、内部スタミナが増加する。したがって、ダイヤの消費によってスタミナが上限値を超えて回復されることはない。さらに、ダイヤの消費によって回復可能なスタミナ値のすべてが内部スタミナに充当されるので、ユーザは、スタミナの代わりに内部スタミナを消費することによってクエストをプレイできるようになる。このため、ユーザはダイヤを無駄に消費することなく、クエストをプレイできる機会を増やすことができる。
スタミナの現在値と内部スタミナの現在値との合計がスタミナの上限値以上であったとしても、スタミナの現在値が上限値を下回る限り、スタミナは時間経過に従って自動的に回復する。これにより、スタミナをオーバーフロー回復する従来技術に比べて、スタミナを自動回復できる機会を多くすることができるので、クエストをプレイできる機会をユーザにより多く与えることができる。
内部スタミナはゲーム画面31に表示されないので、ユーザは、クエスト実行時にスタミナの代わりに内部スタミナが消費された事実を知ることがない。したがって、ユーザは、ダイヤの消費したことによって、スタミナを消費せずに中級クエストをプレイできるようになったことを実感することができる。
ゲーム画面31の表示態様は、減少後の第1消費値「0」に応じて変化する。したがって、ユーザは、変化後のゲーム画面31を視認することによって、第1消費値が減少した事実を確実に把握することができる。
(変形例)
図14は、ある実施の形態に係るテーブル134を示す図である。図14では、テーブル134は、スタミナの現在値「10」および内部スタミナの現在値「5」を格納している。したがって、内部スタミナの現在値「5」は、中級クエストの実行に必要な内部スタミナの第2消費値「15」を下回っている。この場合、クエスト実行部112は、内部スタミナを消費することによって中級クエストを実行することができない。クエスト実行部112は、内部スタミナの現在値が、中級クエストの実行に必要な内部スタミナの第2消費値を下回った場合、中級クエストの実行に必要なスタミナの減少後の第1消費値「0」を、減少前の第1消費値「15」に戻す。スタミナ回復部114は、内部スタミナの現在値「5」が、初級クエストの実行に必要な内部スタミナの第2消費値「5」以上であるため、初級クエストの実行に必要なスタミナの減少後の第1消費値「0」を、減少後のゼロのまま維持する。
図15は、ある実施の形態に係るゲーム画面31を示す図である。表示制御部116は、中級クエストの実行に必要なスタミナの第1消費値が減少前の15に戻ったことを、図15に示すようにユーザに通知する。詳細には、表示制御部116は、クエスト表示欄45に表示される中級クエストの実行に必要なスタミナ値を、元の15に戻す。これにより、ユーザは、スタミナを消費せずに中級クエストをプレイすることができなくなったことを把握する。本例では、ゲームシステム1は、ユーザが消費したダイヤの個数に応じた適切な回数の中級クエストをユーザにプレイさせることができるので、ゲームバランスを適正に維持することができる。
図16は、ある実施の形態に係るゲーム画面31を示す図である。クエスト実行部112は、第1操作に応答して、クエストの実行に必要なスタミナの第1消費値を、ゼロよりも大きい他の値まで減少させることもできる。図16の例では、クエスト実行部112は、ダイヤを第1個数「10」だけ消費することによって、初級クエストの実行に必要なスタミナの第1消費値「5」と、中級クエストの実行に必要なスタミナの第1消費値「15」とを、いずれも1まで減少させる。スタミナ回復部114は、第1操作に応答して、テーブル134に格納される内部スタミナの現在値「0」に、ダイヤの第1個数「10」に対応する第1回復値「50」を加算することによって、テーブル134に格納される内部スタミナの現在値を図9に示すように50に更新する。
表示制御部116は、第1消費値が減少した場合、ゲーム画面31を図16に示すように更新する。表示部152は、詳細には、ダイヤ表示欄43に表示されるダイヤの個数を90に更新し、クエスト表示欄45に表示される各クエストの実行に必要なスタミナ値をいずれも1に更新する。ユーザは、図10に示すゲーム画面31を視認することによって、各クエストのプレイに必要なスタミナが1に減少したことを認識する。
クエスト実行部112は、図16に示すゲーム画面31において中級クエストがユーザによって選択された場合、スタミナおよび内部スタミナの双方を消費することによって、中級クエストを実行する。クエスト実行部112は、まず、減少前の第1消費値「15」から減少後の第1消費値「1」を減算することによって、スタミナの消費差分「14」を特定する。クエスト実行部112は、スタミナを、減少後の第1消費値「1」だけ消費すると共に、内部スタミナを、消費差分「14」に等しい内部スタミナの第2消費値「14」だけ消費することによって、中級クエストを実行する。
図17は、ある実施の形態に係るテーブル134を示す図である。クエスト実行部112は、スタミナおよび内部スタミナの双方を消費することによって中級クエストを実行する場合、図17に示すようにテーブル134を更新する。詳細には、クエスト実行部112は、テーブル134に格納されるスタミナの現在値「5」から、減少後の第1消費値「1」を減算することによって、テーブル134に格納されるスタミナの現在値を4に更新する。クエスト実行部112は、さらに、テーブル134に格納される内部スタミナの現在値「50」から、第2消費値「14」を減算することによって、テーブル134に格納されるスタミナの現在値を36に更新する。
図18は、ある実施の形態に係るスタミナ表示欄44を示す図である。表示制御部116は、図17に示すようにテーブル134が更新された場合、図18に示すようにスタミナ表示欄44を更新する。詳細には、表示制御部116は、スタミナ表示欄44に表示されるスタミナの現在値を、テーブル134に格納されるスタミナの現在値「4」に更新する。内部スタミナはゲーム画面31に表示されないので、テーブル134に格納される内部スタミナがスタミナと共に消費された事実を、ユーザが知ることはない。これらのことから、ユーザは、ダイヤを消費したことによって、スタミナを1だけ消費することによって中級クエストをプレイできるようになったことを、実感することができる。
(その他の例)
クエスト実行部112は、ユーザにより支払われる対価を消費することによっても、スタミナの第1消費値を減少させることができる。例えば、ユーザが100円を支払うことによって、5個のダイヤを得ることができるとする。この場合、200円の支払いによって回復可能なスタミナ値は50である。クエスト実行部112は、ダイヤの代わりに200円を消費することによって、クエストの実行に必要なスタミナの第1消費値を減少させる。ここでいう200円の消費とは、ユーザに200円を課金することを意味する。
クエスト実行部112は、ダイヤを消費することによって、内部スタミナを任意の値だけ増加することができる。クエスト実行部112は、例えば、ダイヤを第1個数「10」だけ消費することによって、第1個数「10」の消費により回復可能なスタミナの第1回復値「50」よりも小さい第2回復値「40」または第1回復値「50」よりも大きい第3回復値「60」だけ内部スタミナを増加してもよい。
表示制御部116は、内部スタミナの現在値をスタミナ表示欄44に表示することもできる。表示制御部116は、内部スタミナを表示する場合、クエストの実行に必要な内部スタミナの第2消費値を、クエスト表示欄45に表示する。
クエスト実行部112は、減少後のスタミナの第1消費値に応じた内部スタミナの任意の第2消費値を消費することによって、クエストを実行することができる。クエスト実行部112は、例えば、中級クエストを実行するために必要なスタミナの第1消費値をゼロまで減少させた場合、内部スタミナを、減少前の第1消費値「15」とは異なる第2消費値「10」だけ消費することによって、中級クエスト実行することができる。クエスト実行部112は、例えば、中級クエストに応じた第1消費値を1まで減少させた場合、内部スタミナを、スタミナの消費差分「14」とは異なる第2消費値「9」だけ消費することによって、中級クエスト実行することができる。
クエスト実行部112は、ダイヤを消費することによって、内部スタミナを増加させることなく、第1消費値をゼロまで減少させることができる。この場合、クエスト実行部112は、第1消費値がゼロまで減少した後、一定時間が経過するまでは、スタミナおよび内部スタミナの双方を消費することなく、クエストを実行する。クエスト実行部112は、第1消費値がゼロまで減少した後、一定時間が経過した場合、クエストの実行に必要なスタミナの第1消費値を、元の値に戻す。これにより、ユーザは、ダイヤの使用後、一定時間が経過するまでの間、クエストを無制限にプレイすることができる。したがって、一定時間内に集中して多くのクエストをプレイすることをユーザに動機付けることができる。
クエスト実行部112は、ランクアップ時に、スタミナを上限値まで回復させる代わりに、クエストの実行に必要なスタミナの第1消費値を減少させることができる。クエスト実行部112は、例えば、ランクアップ時に、スタミナを回復させることなく、第1消費値を減少させると共に、内部スタミナを増加させる。本例では、ランクアップ後に第1消費値が減少するので、ランクアップによってスタミナを回復する場合と同様に、ランクアップ後にユーザはクエストをさらに多くプレイできるようになる。したがって、積極的なランクアップをユーザに動機付けることができる。
表示制御部116は、第1操作に応答して第1消費値が減少した場合、ゲーム画面31の表示態様を、減少後の第1消費値に応じた任意の他の表示対応に変化させることができる。クエスト表示欄45に表示されるスタミナ値を減少後の第1消費値に更新することは、ゲーム画面31の表示態様を変化させることの一例である。表示制御部116は、他にも、ゲーム画面31の任意に位置に、ユーザが保有する任意の味方キャラクタを表示すると共に、第1消費値が減少した場合、ゲーム画面31に表示される味方キャラクタに、減少後の第1消費値に応じたエフェクトを付与することもできる。ユーザは、エフェクトが付与された味方キャラクタを視認することによって、クエストの実行に必要なスタミナ値が減少したことを、より明瞭に認識することができる。
〔実施形態2〕
(処理フロー)
図19は、ある実施の形態に係るユーザ端末100が、ゲームプログラム131に基づいて実行する処理の流れを示すフローチャートである。図20は、ある実施の形態に係るゲーム画面31を示す図である。図19に示す一連の処理の一部または全部が、サーバ200によって実行されてもよい。
表示制御部116は、ゲームのプレイ中に、例えば図20に示すゲーム画面31を表示部152に表示する。図20に示すゲーム画面31は、図5に示すゲーム画面31と同一であるため、その詳細な説明を繰り返さない。ステップS11において、操作受付部111は、ゲームにおいてプレイ可能な複数のクエストのうちいずれかをユーザに選択させる。ここでは、中級クエストが選択されたものとする。ステップS12において、クエスト実行部112は、スタミナの現在値「20」が、中級クエストの実行に必要なスタミナの第1消費値「15」以上であるか否かを判定する。ここでは現在値「20」>第1消費値「15」であるため、ステップS12の判定結果はYESとなる。その結果、ステップS13において、クエスト実行部112は、スタミナを第1消費値「15」だけ消費することによって、中級クエストを実行する。本実施形態では、記憶部120にテーブル134は記憶されていない。スタミナの現在値は、記憶部120に記憶されている。クエスト実行部112は、記憶部120に記憶されているスタミナの現在値「20」から、第1消費値「5」を減算することによって、記憶部120に記憶されているスタミナの現在値を5に更新する。
図21は、ある実施の形態に係るスタミナ表示欄44を示す図である。表示制御部116は、中級クエストが実行された場合、スタミナ表示欄44に表示されるスタミナの現在値を、図21に示すように、記憶部120に記憶されているスタミナの現在値「5」に更新する。表示制御部116は、さらに、スタミナバー46の全体のうち、スタミナの現在値「5」に相当する部分を第1色に着色し、残りを第2色に着色する。
図22は、ある実施の形態に係るメッセージ70を示す図である。ユーザが、スタミナの現在値が5であるときに、中級クエストを新たに選択したとする。この場合、スタミナの現在値「5」<第1消費値「15」であるため、ステップS12の判定結果はNOとなる。したがって、クエスト実行部112は、中級クエストの実行を抑制する。言い換えれば、クエスト実行部112は、単に中級クエストが選択されたのみでは、中級クエストを実行しない。
図22は、ある実施の形態に係るメッセージ60を示す図である。表示制御部116は、ステップS12の判定結果がNOである場合、ゲーム画面31内の任意の位置に、図22に示すメッセージ70を表示する。メッセージ70は、ユーザへの通知テキストと、ボタン71および72とを含む。通知テキストは、中級クエストをプレイするためのスタミナが足りないことをユーザに説明する第1テキストと、スタミナを回復しつつ中級クエストを実行することの可否をユーザに問い合わせる第2テキストと、スタミナを回復しつつ中級クエストを実行するために必要なダイヤの消費個数が10個であることをユーザに説明する第3テキストとを含む。メッセージ70には、ダイヤの第1個数「10」が関連付けられている。ボタン71は、第1条件により中級クエストを実行することを可能とするための第1操作を受け付けるユーザインタフェースである。ここでは、第1条件はダイヤの消費である。ボタン72は、第1条件により中級クエストを実行することをキャンセルするための操作を受け付けるユーザインタフェースである。ステップS14において、操作受付部111は、ボタン61に対するタップ操作を、第1条件により中級クエストを実行することを可能とする第1操作として受け付ける。
スタミナ回復部114は、第1操作に応答して、メッセージ70に関連付けられるダイヤの第1個数「10」を特定する。ダイヤの第1個数「10」は、スタミナを第1回復値「50」だけ回復可能な個数である。ステップS15において、スタミナ回復部114は、第1操作に応答して、中級クエストの実行に必要なスタミナの第1消費値「15」からスタミナの現在値「5」を減算することによって、スタミナの第2消費値「10」を特定する。ステップS16において、スタミナ回復部114は、第1個数「10」に応じた第1回復値「50」から第2消費値「10」を減算することによって、スタミナの第2回復値「40」を特定する。ステップS17において、クエスト実行部112は、第1操作に応答して、第1条件に応じた処理として、ダイヤを第1個数「10」だけ消費する。その際、スタミナ回復部114は、記憶部120に記憶されるダイヤの個数「100」から、ダイヤの第1個数「10」を減算することによって、記憶部120に記憶されるダイヤの個数を90に更新する。ステップS18において、クエスト実行部112は、第1操作に応答して、スタミナを現在値「5」だけ消費することによって、中級クエストを実行する。その際、スタミナ回復部114は、記憶部120に格納されるスタミナの現在値「5」から、現在値「5」を減算することによって、記憶部120に格納されるスタミナの現在値をゼロに更新する。このように、クエスト実行部112は、ダイヤの消費という第1条件が満たされた場合、クエストを実行する。
図23は、ある実施の形態に係るダイヤ表示欄43およびスタミナ表示欄44を示す図である。図23(A)は、スタミナが消費された直後のダイヤ表示欄43およびスタミナ表示欄44を示し、図23(B)は、第1条件により中級クエストが実行された後のダイヤ表示欄43およびスタミナ表示欄44を示す。表示制御部116は、ダイヤおよびスタミナが消費された場合、中級クエストの実行前に、ダイヤ表示欄43およびスタミナ表示欄44を図23(A)に示すように更新する。表示制御部116は、詳細には、表示制御部116は、ダイヤ表示欄43に表示されるダイヤの個数を90に更新すると共に、スタミナ表示欄44に表示されるスタミナの現在値をゼロに更新する。表示制御部116は、さらに、スタミナバー46の全体を第2色に着色する。このように、表示制御部116は、スタミナの現在値がいったんゼロまで減少したことを、クエストの開始前にユーザに通知する。クエスト実行部112は、スタミナ表示欄44が図23(A)に示すように更新された後、中級クエストを実行する。
ステップS19において、スタミナ回復部114は、第1操作に応答して、スタミナを、上限値「50」に満たない値まで回復する。図23の例では、スタミナ回復部114は、スタミナを第2回復値「40」だけ回復することによって、スタミナを40まで回復する。表示制御部116は、中級クエストの終了後、スタミナ表示欄44に表示されるスタミナの現在値を、図23に示すように40に更新する。表示制御部116は、さらに、スタミナバー46の全体のうち、スタミナの現在値「40」に相当する部分を第1色に着色し、残りを第2色に着色する。
(主要な作用効果)
クエスト実行部112は、スタミナの現在値「5」が、中級クエストの実行に必要なスタミナの第1消費値「15」を下回る場合であっても、スタミナを現在値「5」だけ消費することによって、中級クエストを実行する。したがって、ユーザは、中級クエストをプレイするためのスタミナが足りない場合でも、中級クエストをプレイすることができる。これにより、スタミナを消費してプレイできるクエストをユーザがプレイする機会を増やすことができる。
スタミナ回復部114は、スタミナの現在値が「5」であるときにダイヤが10個消費された場合、スタミナの現在値をいったんゼロまで減少させ、その後に40まで回復させる。したがって、スタミナは、ダイヤの消費に基づいて上限値「50」を超えて回復されることはない。ユーザは、スタミナが5からいったんゼロまで減少した後に40まで回復することを視認するので、スタミナが上限値を超えて回復しなかったことを認識する。
スタミナ回復部114は、スタミナを第1回復値「50」だけ回復可能な第1操作に応答して、スタミナを第2回復値「40」だけ回復させる。この際、中級クエストの実行のためにスタミナを現在値「5」だけ消費しているので、第1回復値「50」のうちの残りのスタミナ値「10」は、事実上、中級クエストの実行に充当されている。ユーザは、スタミナ回復に充当されなかった残りのスタミナ値「10」を、結果的に無駄にせずに済んでいるので、スタミナが十分に回復されなかったとの不満を覚えずに済む。
ユーザは、中級クエストのプレイに必要なスタミナが足りなくても、ダイヤを消費すれば中級クエストをプレイすることができる。したがって、ゲームシステム1は、積極的にダイヤを消費することをユーザに動機付けることができる。
(変形例)
図24は、ある実施の形態に係るダイヤ表示欄43およびスタミナ表示欄44を示す図である。図24(A)は、中級クエストが実行される前のダイヤ表示欄43およびスタミナ表示欄44を示し、図24(B)は、中級クエストが実行された後のダイヤ表示欄43およびスタミナ表示欄44を示す。図24の例では、制御部110は、第1操作に応答して、以下の一連の処理を実行する。スタミナ回復部114は、第1回復値「50」から第1消費値「15」を減算することによって、スタミナの第2回復値「35」を特定する。クエスト実行部112は、第1操作に応答して、第1条件に応じた処理として、ダイヤを10個だけ消費する。クエスト実行部112は、スタミナを消費することなく、中級クエストを実行する。表示制御部116は、中級クエストの実行前に、図24(A)に示すようにダイヤ表示欄43に表示されるダイヤの個数を90に更新する。表示制御部116は、スタミナ表示欄44に表示されるスタミナの現在値を更新しないことによって、クエストの実行時にスタミナが消費されないことをユーザに通知する。
クエスト実行部112は、ダイヤ表示欄43が図24(A)に示すように更新された後、中級クエストを実行する。スタミナ回復部114は、クエストの実行後、スタミナを第2回復値「35」だけ回復することによって、スタミナを40まで回復する。表示制御部116は、スタミナ表示欄44に表示されるスタミナの現在値を、図24(B)に示すように40に更新する。表示制御部116は、さらに、スタミナバー46の全体のうち、スタミナの現在値「40」に相当する部分を第1色に着色し、残りを第2色に着色する。
図24の例では、スタミナ回復部114は、スタミナの現在値が「5」のときにダイヤが10個消費された場合、スタミナを40まで回復させる。したがって、スタミナ回復部114は、ダイヤの消費に基づいてスタミナを上限値「50」を超えて回復させることはない。ユーザは、図24に示すようにスタミナの現在値が5から40に変化することを視認するので、スタミナが上限値「50」を超えて回復しないことを把握する。
図24の例では、スタミナ回復部114は、スタミナを第1回復値「50」だけ回復可能な第1操作に応答して、スタミナを第2回復値「35」だけ回復させる。この際、中級クエストの実行のためにスタミナを消費していないので、第1回復値「50」のうちの残りのスタミナ値「15」は、事実上、中級クエストの実行に充当されている。ユーザは、スタミナ回復に充当されなかった残りのスタミナ値「15」を、結果的に無駄にせずに済んでいるので、スタミナが十分に回復されなかったとの不満を覚えずに済む。
(その他の例)
第1条件は、ユーザにより支払われる対価の消費であってもよい。例えば、ユーザが100円を支払うことによって、5個のダイヤを得ることができるとする。200円の支払いで回復可能なスタミナ値は50である。操作受付部111は、ダイヤを消費せずに200円を直接支払ってスタミナを50だけ回復させるための第1操作を、現在値「5」が第1消費値「15」を下回っているときにユーザから受け付ける。クエスト実行部112は、第1操作に応答して、第1条件に応じた処理として、200円を消費する処理を実行する。ここでいう200円を消費する処理とは、ユーザに200円を課金する処理を意味する。クエスト実行部112は、課金処理が実行されたことに応答して、スタミナを現在値「5」だけ消費することによって、中級クエストを実行する。スタミナ回復部114は、課金処理が実行されたことに応答して、スタミナを、第1消費値「15」から現在値「5」を減算したスタミナの第2消費値「10」を第1回復値「50」から減算したスタミナの第2回復値「40」だけ回復させる。
スタミナ回復部114は、第1操作に応答して、ダイヤを消費することなくスタミナを回復することもできる。アイテム付与部115は、例えば、スタミナを50だけ回復可能な回復アイテムを、無償でユーザに付与する。操作受付部111は、回復アイテムを1個消費することによってスタミナを50だけ回復させるための第1操作を受け付ける。スタミナ回復部114は、回復アイテムを1個消費することによって、スタミナを第2回復値「40」だけ回復する。この例では、ユーザは無償でスタミナを回復しつつ、中級クエストをプレイすることができる。
スタミナ回復部114は、第1条件により実行されるクエストのプレイにユーザが失敗した場合、スタミナを上限値まで回復させることができる。スタミナ回復部114は、詳細には、第1操作に応答してスタミナを第2回復値「40」だけ回復した後、第1条件により実行される中級クエストのクリアにユーザが失敗した場合、スタミナを、第1消費値「15」から現在値「5」を減算した第3回復値「10」だけさらに回復する。これにより、ユーザがクエストのプレイに失敗した場合、スタミナは、上限値「50」を超えることなく、上限値「50」まで回復される。ユーザは、クエストのクリアに失敗した場合、第1消費値「50」のうちスタミナ回復に充当されなかった分を無駄に失わずに済む。
スタミナ回復部114は、時間経過に従って、スタミナを、スタミナの上限値を超えない範囲で自動的に回復することができる。スタミナは、第1操作に応じて回復される場合、スタミナの上限値を超えて回復されることがない。したがって、本開示のある局面によれば、スタミナをオーバーフロー回復する従来技術に比べて、スタミナが自動回復される機会が多くなるので、クエストをプレイできる機会をユーザにより多く与えることができる。
〔実施形態3〕
(処理フロー)
図25は、ある実施の形態に係るユーザ端末100が、ゲームプログラム131に基づいて実行する処理の流れを示すフローチャートである。図26は、ある実施の形態に係るゲーム画面31を示す図である。図25に示す一連の処理の一部または全部が、サーバ200によって実行されてもよい。
表示制御部116は、ゲームのプレイ中に、例えば図26に示すゲーム画面31を表示部152に表示する。図26に示すゲーム画面31は、図5に示すゲーム画面31と同一であるため、その詳細な説明を繰り返さない。
ステップS21において、操作受付部111は、ゲームにおいてプレイ可能な複数のクエストのうちいずれかをユーザに選択させる。ここでは、中級クエストが選択されたものとする。ステップS22において、クエスト実行部112は、スタミナの現在値「20」が、中級クエストの実行に必要なスタミナの第1消費値「15」以上であるか否かを判定する。ここでは現在値「20」>第1消費値「15」であるため、ステップS22の判定結果はYESとなる。その結果、ステップS23において、クエスト実行部112は、スタミナを第1消費値「15」だけ消費することによって、中級クエストを実行する。本実施形態では、記憶部120にテーブル134は記憶されていない。スタミナの現在値は、記憶部120に記憶されている。クエスト実行部112は、記憶部120に記憶されているスタミナの現在値「20」から、第1消費値「5」を減算することによって、記憶部120に記憶されているスタミナの現在値を5に更新する。
図27は、ある実施の形態に係るスタミナ表示欄44を示す図である。表示制御部116は、ステップS23において中級クエストが実行された場合、スタミナ表示欄44に表示されるスタミナの現在値を、図27に示すように、記憶部120に記憶されているスタミナの現在値「5」に更新する。表示制御部116は、さらに、スタミナバー46の全体のうち、スタミナの現在値「5」に相当する部分を第1色に着色し、残りを第2色に着色する。
ステップS23において中級クエストが実行された場合、ステップS26において、スタミナ回復部114は、スタミナの現在値がゼロ以上であるか否かを判定する。ここでは、スタミナの現在値は5であるため、ステップS26の判定結果はYESとなる。これにより、ステップS27において、スタミナ回復部114は、時間経過に従って、スタミナを上限値「50」を超えない範囲で自動的に回復する。スタミナ回復部114は、現在値がゼロ以上である第1状態のとき、スタミナを第1回復速度で自動的に回復する。その際、スタミナ回復部114は、記憶部120に格納されるスタミナの現在値に、基準時間が経過するたびに1を加算することによって、記憶部120に格納されるスタミナの現在値を更新する。第1時点での記憶部120に格納されるスタミナの現在値が、図27(A)に示すように5であるとする。スタミナ回復部114は、第1時点から基準時間が経過した場合、記憶部120に格納されるスタミナの現在値「5」に1を加算することによって、記憶部120に格納されるスタミナの現在値を6に更新する。スタミナ回復部114は、スタミナの現在値が6に自動回復してから、さらに基準時間が経過した場合、記憶部120に格納されるスタミナの現在値「6」に1を加算することによって、記憶部120に格納されるスタミナの現在値を7に更新する。
図28は、ある実施の形態に係るスタミナ表示欄44を示す図である。図28(A)は、第1時点でのスタミナ表示欄44を示し、図28(B)は、スタミナが自動回復した時点でのスタミナ表示欄44を示し、図28(C)は、スタミナがさらに自動回復した時点でのスタミナ表示欄44を示す。表示制御部116は、時間経過に従ってスタミナが自動回復された場合、スタミナ表示欄44に表示されるスタミナの現在値を、図28に示すように自動回復後の値に随時更新する。表示制御部116は、記憶部120に格納されるスタミナの現在値の更新に連動して、スタミナ表示欄44に表示されるスタミナの現在値を更新する。表示制御部116は、第1時点では、記憶部120に格納されるスタミナの現在値「5」を、図28(A)に示すようにスタミナ表示欄44に表示する。表示制御部116は、記憶部120に格納されるスタミナの現在値が6に更新された場合、スタミナ表示欄44に表示されるスタミナの現在値を、図28(B)に示すように6に更新する。表示制御部116は、記憶部120に格納されるスタミナの現在値が7に更新された場合、スタミナ表示欄44に表示されるスタミナ現在値を、図28(C)に示すように7に更新する。
スタミナの現在値が5であるときに、ユーザが新たに中級クエストを選択したとする。この場合、現在値「5」<第1消費値「15」であるため、ステップS22の判定結果はNOとなる。これにより、ステップS24において、クエスト実行部112は、スタミナの現在値「5」から第1消費値「15」を減算することによって、スタミナのマイナス値「-10」を特定する。ステップS25において、クエスト実行部112は、スタミナをマイナス値「-10」まで減少させると共に、中級クエストを実行する。その際、クエスト実行部112は、記憶部120に格納されるスタミナの現在値「5」を、-10に更新する。クエスト実行部112は、結果的に、スタミナを現在値「5」だけ消費することによって、中級クエストを実行する。
図29は、ある実施の形態に係るスタミナ表示欄44を示す図である。表示制御部116は、ステップS25において中級クエストが実行された場合、スタミナ表示欄44を図29に示すように更新する。表示制御部116は、詳細には、スタミナ表示欄44に表示されるスタミナの現在値を、記憶部120に記憶されているスタミナの現在値「-10」に更新する。表示制御部116は、さらに、スタミナバー46の全体を第2色に着色する。表示制御部116は、スタミナバー46を、スタミナのマイナス値「-10」に応じた態様で表示することによって、スタミナの現在値がゼロを下回っていることをユーザに通知することもできる。
ステップS25において中級クエストが実行された場合、ステップS26において、スタミナ回復部114は、スタミナの現在値がゼロ以上であるか否かを判定する。ここでは、スタミナの現在値は-10であるため、ステップS26の判定結果はNOとなる。これにより、ステップS28において、スタミナ回復部114は、現在値がゼロを下回る第2状態のとき、時間経過に従うスタミナの自動回復を、第1状態のときと比較してユーザにとって不利にさせる。図30の例では、スタミナ回復部114は、第2状態のときのスタミナの自動回復の第2回復速度をゼロする。これにより、スタミナの自動回復が停止される。スタミナ回復部114は、時間経過に関わらず、スタミナの現在値「-10」を同一値「-10」のまま維持する。したがって、スタミナ回復部114は、記憶部120に格納されるスタミナの現在値「-10」を、基準時間が経過しても更新しない。
図30は、ある実施の形態に係るスタミナ表示欄44を示す図である。図30(A)は、第1時点でのスタミナ表示欄44を示し、図28(B)は、基準時間が経過した時点でのスタミナ表示欄44を示し、図28(C)は、基準時間がさらに経過した時点でのスタミナ表示欄44を示す。表示制御部116は、時間経過に従ってスタミナが自動回復しない場合、スタミナ表示欄44に表示されるスタミナの現在値を、図27(A)~(C)に示すように、時間経過に関わらず更新しない。ユーザは、図27に示すように時間経過に関わらずスタミナの現在値が-10から増えないことを視認することによって、スタミナがゼロを下回る場合にはスタミナが時間経過に従って自動回復しないことを認識する。
図31は、ある実施の形態に係るメッセージ80を示す図である。ステップS29において、操作受付部111は、第2状態のとき、不利を緩和または解消するための第1操作をユーザから受け付ける。操作受付部111は、まず、スタミナ表示欄44に対するユーザのタップ操作を受け付ける。表示制御部116は、このタップ操作に応答して、図30に示すメッセージ80をゲーム画面31内の任意の位置に表示する。メッセージ80は、ユーザへの通知テキストと、ボタン81および82とを含む。通知テキストは、スタミナを自動回復させることをユーザに問い合わせる内容の第1テキストと、その実現のために必要なダイヤの消費個数が1個であることをユーザに説明する内容の第2テキストとを含む。ボタン81は、第1操作を受け付けるためのユーザインタフェースである。ボタン62は、スタミナを自動回復させる処理をキャンセルするための操作を受け付けるためのユーザインタフェースである。操作受付部111は、ボタン81に対するタップ操作を、不利を緩和または解消するための第1操作をとして受け付ける。
ステップS30において、スタミナ回復部114は、ステップS29において受け付けられた第1操作に応答して、ダイヤを1個消費することによって、不利を解消する。図32の例では、スタミナ回復部114は、第2状態のときの第2回復速度を、第1状態のときの第1回復速度に一致させることによって、不利を解消する。ステップS31において、スタミナ回復部114は、第2状態のときに、時間経過に従って、スタミナを上限値「50」を超えない範囲で、第2回復速度で自動的に回復する。その際、スタミナ回復部114は、記憶部120に格納されるスタミナの現在値に、基準時間が経過するたびに1を加算することによって、記憶部120に格納されるスタミナの現在値を更新する。第1時点での記憶部120に格納されるスタミナの現在値が、図27(A)に示すように-10であるとする。スタミナ回復部114は、第1時点から基準時間が経過した場合、記憶部120に格納されるスタミナの現在値「-10」に1を加算することによって、記憶部120に格納されるスタミナの現在値を-9に更新する。スタミナ回復部114は、スタミナの現在値が-9に自動回復してから、さらに基準時間が経過した場合、記憶部120に格納されるスタミナの現在値「-9」に1を加算することによって、記憶部120に格納されるスタミナの現在値を-9に更新する。
図32は、ある実施の形態に係るスタミナ表示欄44を示す図である。図32(A)は、第1時点でのスタミナ表示欄44を示し、図32(B)は、スタミナが自動回復した時点でのスタミナ表示欄44を示し、図32(C)は、スタミナがさらに自動回復した時点でのスタミナ表示欄44を示す。表示制御部116は、時間経過に従ってスタミナが自動回復された場合、スタミナ表示欄44に表示されるスタミナの現在値を、図32に示すように自動回復後の値に随時更新する。表示制御部116は、記憶部120に格納されるスタミナの現在値の更新に連動して、スタミナ表示欄44に表示されるスタミナの現在値を更新する。表示制御部116は、第1時点では、記憶部120に格納されるスタミナの現在値「5」を、図32(A)に示すようにスタミナ表示欄44に表示する。表示制御部116は、記憶部120に格納されるスタミナの現在値が6に更新された場合、スタミナ表示欄44に表示されるスタミナの現在値を、図32(B)に示すように6に更新する。表示制御部116は、記憶部120に格納されるスタミナの現在値が7に更新された場合、スタミナ表示欄44に表示されるスタミナ現在値を、図32(C)に示すように7に更新する。
(主要な作用効果)
スタミナの現在値が中級クエストの実行に必要なスタミナの第1消費値を下回る場合でも、スタミナはマイナス値「-10」まで減少するが、中級クエストのプレイは可能である。したがって、ユーザは、中級クエストをプレイするためのスタミナが足りない場合でも、中級クエストをプレイすることができる。これにより、スタミナを消費してプレイできるクエストをユーザがプレイする機会を増やすことができる。
スタミナの現在値がゼロを下回ると、スタミナの自動回復がユーザにとって不利にされるので、スタミナが足りない場合にむやみにクエストをプレイしようとすることに歯止めを掛けることができる。第2状態のときのスタミナの自動回復がユーザにとって不利にされているときに、ダイヤを消費すれば、不利が緩和または解消されるので、ゲームシステム1は、積極的にダイヤを消費することをユーザに動機付けることができる。
(変形例)
図33は、ある実施の形態に係るスタミナ表示欄44を示す図である。図33(A)は、第1時点でのスタミナ表示欄44を示し、図33(B)は、スタミナの自動回復が禁止されたまま第1時間が経過した時点でのスタミナ表示欄44を示し、図33(C)は、第1時間が経過した時点でスタミナの自動回復禁止が解除された場合のスタミナ表示欄44を示す。図33の例では、スタミナ回復部114は、ダイヤを1個消費することによって、スタミナを、スタミナがマイナス値「-10」まで減少された時点からダイヤが消費された時点までの経過時間に応じたスタミナの第1消費値だけ回復させる。スタミナ回復部114は、まず、図33(A)に示すようにスタミナがマイナス値「-10」まで減少された第1時点を特定する。ここで、第1時点から、スタミナの自動回復が禁止されたまま第1時間が経過したとする。表示制御部116は、第1時間が経過した時点で、図33(B)に示すようにスタミナ表示欄44に表示されるスタミナの現在値を-10のまま更新しない。
操作受付部111は、第1時間が経過した直後、不利を緩和または解消するための第1操作をユーザから受け付ける。スタミナ回復部114は、第1操作が受け付けられた第2時点を特定する。スタミナ回復部114は、第1時点から第2時点までの経過時間である第1時間を特定する。第1時間として、基準時間の40倍の時間が特定されたとする。この場合、第1時間の経過に従って自動回復可能なスタミナの合計値である第1回復値は40である。スタミナ回復部114は、第1操作に応答して、ダイヤを1個消費することによって、スタミナを第1時間に応じた第1回復値「40」だけ回復する。その際、スタミナ回復部114は、記憶部120に格納されるスタミナの現在値「-10」に、第1回復値「40」を加算することによって、記憶部120に格納されるスタミナの現在値を30に更新する。表示制御部116は、スタミナ表示欄44に表示されるスタミナの現在値を、図33(C)に示すように30に更新する。表示制御部116は、さらに、スタミナバー46の全体のうち、スタミナの現在値「30」に相当する部分を第1色に着色し、残りを第2色に着色する。
スタミナの現在値がゼロ以上であれば、第1時間の経過に従ってスタミナが最大で第1回復値「40」だけ自動的に回復される。図33の例では、スタミナが自動回復せずに第1時間が経過した時点でダイヤが消費された場合、第1時間の経過中には回復されなかった第1回復値「40」が、スタミナの現在値に加算される。これにより、ゲームシステム1は、スタミナの現在値がゼロを下回る間の自動回復禁止を、ダイヤの消費によって事実上無かったものとすることができる。したがって、ダイヤを消費して自動回復の不利を緩和または解消することを、より強くユーザに動機付けることができる。
図34は、ある実施の形態に係るメッセージ90を示す図である。操作受付部111は、スタミナを回復させるための第2操作を受け付けることができる。操作受付部111は、例えば、スタミナ表示欄44に対するユーザのタップ操作を受け付ける。表示制御部116は、スタミナ表示欄44に対するタップ操作が受け付けられた場合、図34に示すメッセージ90をゲーム画面31内の任意の位置に表示する。メッセージ90は、スタミナ回復のために用いるダイヤの個数をユーザに問い合わせるテキストと、複数の選択肢91および92とを含む。選択肢91および92は、スタミナを回復するために消費されるダイヤの個数に対応する。選択肢91および92は、具体的には、5個および10個のダイヤにそれぞれ対応する。
操作受付部111は、選択肢91または92を選択するための操作を、スタミナを回復させるための第2操作として受け付ける。操作受付部111は、ユーザによって選択された選択肢に対応するダイヤの個数を、ユーザによって指定された第1個数として特定する。操作受付部111は、選択肢91が選択された場合、ユーザによって5個のダイヤが指定されたことを特定する。操作受付部111は、選択肢92が選択された場合、ユーザによって10個のダイヤが指定されたことを特定する。
図35は、ある実施の形態に係るスタミナ表示欄44を示す図である。図35(A)は、スタミナ回復前のスタミナ表示欄44を示し、図35(B)は、スタミナ回復後のスタミナ表示欄44を示す。図35(A)では、スタミナの現在値は-10である。ここで、ユーザによって選択肢92が選択されたとする。スタミナ回復部114は、第2操作に応答して、スタミナを第1回復値「50」だけ回復可能な第1個数「10」だけダイヤを消費することによって、スタミナの現在値に関わらず第1回復値「50」までスタミナを回復させる。その際、スタミナ回復部114は、記憶部120に格納されるスタミナの現在値「-10」を、50に更新する。表示制御部116は、スタミナ表示欄44に表示されるスタミナの現在値を、図35(B)に示すように50に更新する。表示制御部116は、さらに、スタミナバー46の全体を第1色に着色する。
図35の例では、スタミナ回復部114は、ダイヤを10個だけ消費することによって、スタミナを50よりも多い60だけ回復する。この際、スタミナがゼロを下回る場合、ダイヤ1個当たりのスタミナの回復効率は、スタミナがゼロ以上の場合の回復効率よりも高い。したがって、ゲームシステム1は、スタミナがゼロを下回る場合に積極的にダイヤを消費してスタミナを回復させることをユーザに動機付けることができる。
(その他の例)
スタミナ回復部114は、第2状態のとき、時間経過に従うスタミナの自動回復を、第1状態のときと比較してユーザにとって任意の程度に不利にさせることができる。スタミナ回復部114は、例えば、第2回復速度を第1回復速度よりも遅くすることによって、時間経過に従う自動回復を不利にすることができる。上述した第2回復速度をゼロにする処理は、第2回復速度を第1回復速度よりも遅くする処理の一例である。クエスト実行部112は、第2回復速度を、ゼロよりは大きいが第1回復速度よりは小さい任意の速度に遅くすることもできる。この場合、第2状態のときにはスタミナが第1状態のときに比べてゆっくりと自動回復するので、第2状態のときの時間経過に従う自動回復はユーザにとって不利になる。
スタミナ回復部114は、第1操作に応答して、第2状態のときの自動回復の不利を緩和または解消することができる。上述した第2回復速度を第1回復速度に一致させる処理は、自動回復の不利を解消する処理の一例である。この場合、第2状態のときに第1状態のときと同一の速度でスタミナが自動回復されるので、ユーザにとって自動回復の不利は生じない。スタミナ回復部114は、他にも、第2回復速度を第1回復速度に一致させないが第1回復速度に近づけることによって、自動回復の不利を緩和することができる。この場合、第2状態のスタミナの回復速度が第1操作の応答前に比べて速くなるので、自動回復の不利が緩和される。
スタミナ回復部114は、第1操作に応答して、ダイヤを消費することなく、不利を緩和または解消することもできる。アイテム付与部115は、例えば、不利を緩和または解消させるゲームアイテムを、無償でユーザに付与する。スタミナ回復部114は、第1操作に応答して、ダイヤの代わりにこのゲームアイテムを1個消費することによって、スタミナの現在値がゼロを下回る場合のスタミナの自動回復の不利を緩和または解消することができる。この場合、ユーザは、有償のダイヤの消費を節約することができる。
クエスト実行部112は、スタミナの現在値がゼロ以上である場合に限り、クエストを実行できるようにすることもできる。クエスト実行部112は、例えば、スタミナの現在値がゼロを下回る場合、新たなクエストの実行を禁止する。これにより、ユーザがスタミナを回復させずにクエストを無制限にプレイすることを防止できるので、ゲームバランスを適正に維持することができる。さらに、クエストを再びプレイできるようにするためにスタミナを回復させることをユーザに動機付けることができる。
表示制御部116は、第2状態のとき、スタミナの自動回復がユーザにとって不利にされていることを、任意の態様でユーザに通知することができる。表示制御部116は、例えば、スタミナの自動回復が不利にされていることを説明するテキストまたは画像等の情報を、ゲーム画面31内の任意の位置(好ましくはスタミナ表示欄44内の位置)に表示する。これにより、スタミナの自動回復がユーザにとって不利にされていることを、ユーザに分かりやすく把握させることができる。
〔ソフトウェアによる実現例〕
制御部110および210の制御ブロックは、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、制御部110、もしくはその両方を備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラム及び各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)又は記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
〔付記事項〕
本発明の一側面に係る内容を列記すると以下の通りである。
(項目1) ゲームプログラムを説明した。本開示のある局面によると、ゲームプログラム(131)は、プロセッサ(10)およびメモリ(11)を備えるコンピュータ(ユーザ端末100)により実行される。ゲームプログラムは、プロセッサに、第1パラメータの現在値が、第1ゲーム処理の実行に必要な第1パラメータの第1消費値以上である場合、第1パラメータを第1消費値だけ消費することによって、第1ゲーム処理を実行するステップ(S13)と、現在値が第1消費値を下回るときに、第1ゲーム処理の実行を抑制すると共に、第1条件により第1ゲーム処理を実行することを可能とする第1操作をユーザから受け付けるステップ(S14)と、第1操作に応答して、第1条件に応じた処理および第1ゲーム処理を実行すると共に、第1パラメータを、第1パラメータの上限値に満たない値まで回復するステップ(S17,S18,S19)とを実行させる。
(項目2) (項目1)において、回復するステップでは、第1パラメータを、上限値に満たない値であって、上限値から第1消費値を減算した値以上の値まで回復する。
(項目3) (項目2)において、受け付けるステップでは、第1パラメータを第1パラメータの第1回復値だけ回復させるための第1操作を受け付け、回復するステップでは、第1操作に応答して、第1パラメータを現在値だけ消費することによって、第1ゲーム処理を実行し、第1操作に応答して、第1パラメータを、第1消費値から現在値を減算した第1パラメータの第2消費値を第1回復値から減算した第1パラメータの第2回復値だけ回復する。
(項目4) (項目2)において、受け付けるステップでは、第1パラメータの第1回復値だけ第1パラメータを回復させるための第1操作を受け付け、回復するステップでは、第1操作に応答して、第1パラメータを消費することなく第1ゲーム処理を実行し、第1パラメータを、第1回復値から第1消費値を減算した第1パラメータの第2回復値だけ回復する。
(項目5) (項目2)~(項目4)のいずれかにおいて、回復するステップでは、第1操作に応答して、第1条件に応じた処理として、ユーザにより支払われる対価または当該対価の支払いにより得られるゲームアイテムである回復媒体を消費する処理を実行する。
(項目6) (項目2)~(項目5)のいずれかにおいて、ゲームプログラムは、プロセッサに、第1操作に応答して実行された第1ゲーム処理のクリアにユーザが失敗した場合、第1パラメータを、第1消費値から現在値を減算した第1パラメータの第3回復値だけ回復するステップを実行させる。
(項目7) (項目1)~(項目6)のいずれかにおいて、ゲームプログラムは、プロセッサに、時間経過に従って、第1パラメータを上限値を超えない範囲で自動的に回復するステップを実行させるステップを実行させる。
(項目8) ゲームプログラムを実行する方法を説明した。本開示のある局面によると、ゲームプログラム(131)は、プロセッサ(10)およびメモリ(11)を備えるコンピュータ(ユーザ端末100)により実行される。方法は、プロセッサが(項目1)に記載の各ステップを実行する方法である。
(項目9) 情報処理装置を説明した。本開示のある局面によると、情報処理装置(ユーザ端末100)は、(項目1)に係るゲームプログラム(131)を記憶するメモリ(11)と、ゲームプログラムを実行することにより、情報処理装置の動作を制御するプロセッサ(10)と、を備える。