特許法第30条第2項適用 2018年11月27日~2019年4月19日 ウェブサイト(https://colopl.co.jp/colopl_babel/)にて発表
特許法第30条第2項適用 2018年11月27日~2019年4月19日 ウェブサイト(https://twitter.com/colopl_babel)にて発表
特許法第30条第2項適用 2019年4月10日 ウェブサイト(https://gamewith.jp/gamedb/article/game/show/4446/5531?from=ios)により公開
特許法第30条第2項適用 2019年4月10日 ウェブサイト(https://www.inside-games.jp/article/2019/04/10/121650.html)により公開
特許法第30条第2項適用 2019年4月10日 ウェブサイト(https://dengekionline.com/elem/000/001/902/1902248/)により公開
特許法第30条第2項適用 2019年4月10日 ウェブサイト(https://www.4gamer.net/games/442/G044207/20190401133/)により公開
本開示に係るゲームシステムは、ユーザにゲームを提供するためのシステムである。以下、ゲームシステムについて図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
(ゲームシステム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として機能する。
記憶部120は、ゲームプログラム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は、ゲームを進行させるための各種の処理を実行する。キャラクタ制御部113は、ゲーム中のキャラクタの挙動を制御する。パラメータ管理部114は、ゲームに用いられる各種のパラメータを管理する。スタミナ回復部115は、ゲームに用いられるスタミナを回復する。スタミナとは、本実施形態において所定の条件を満たすことによって第1のゲームパラメータを回復させるパラメータの一種である。本実施形態において、スタミナは、後述の回復パラメータの一例であり、例えば、スタミナを消費することによって、所定の位置にあるキャラクタの第1ゲームパラメータを特定量回復する。
本実施形態における後述の処理例でのゲームでは、ゲームプレイ中に用いることが可能なスタミナが、ユーザに提供される。スタミナは、HP及びSPを回復させるために必要なパラメータである。HP及びSPはゲーム中のユーザのゲームプレイに従って減少し得るパラメータであり、ユーザはスタミナを用いることによってHP及びSPを回復することができる。スタミナの使用時には、HP及びSPの回復に伴って一定量のスタミナが消費される。本実施形態ではユーザは基本的に最大で3つのスタミナを所持することができ(例外あり)、各スタミナを個別に使用することでHP及びSPを回復させる。詳しくは後述するように、スタミナを使用できる機会は無制限に与えられるのではなく、ゲームを構成するゲーム空間内に設けられる回復ポイントでしかスタミナを用いることができない。当該ゲームにはスタミナ自体を回復させる仕様が導入されており、詳細には、消費されたスタミナはスタミナの最大値を超えない範囲で時間経過に従って自動的に回復する。以上のように、本実施形態では、スタミナはゲームにおけるキャラクタの行動(例えばクエストへの参加)に伴って消費されるものではなく、ゲームにおけるキャラクタの行動(例えば戦闘行動)に使用されるパラメータ(HP、SP)を回復させるために用いられるものである。
表示制御部116は、タッチスクリーン15の表示部152に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部116は、各種オブジェクトのモーションを示すアニメーションを含むゲーム画面を、表示部152に表示してもよい。また、表示制御部116は、UI(User Interface)オブジェクトを、ゲーム画面に重畳して描画してもよい。
図2に示すユーザ端末100の機能は、一例にすぎない。サーバ200は、ユーザ端末100が備える機能の少なくとも一部を備えていてもよい。また、ユーザ端末100は、サーバ200が備える機能の少なくとも一部を備えていてもよい。更に、ユーザ端末100及びサーバ200以外の他の装置をゲームシステム1の構成要素とし、該他の装置にゲームシステム1における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、ユーザ端末100、サーバ200、及び他の装置のいずれであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
(ゲーム概要)
ゲームシステム1に基づくゲームは、例えば、ユーザによって操作されるキャラクタ(味方キャラクタ)が登場する任意のゲームである。このゲームは、例えば、ユーザによって操作されるキャラクタと、ゲームシステム1によって制御される他のキャラクタ(敵キャラクタ)とが戦闘するゲームである。ユーザは、複数の異なるキャラクタを保有することができる。ユーザは、有償又は無償の手段によって、ゲームにおいて利用可能な味方キャラクタ及びその他のゲーム媒体を取得することができる。
ゲームシステム1に基づくゲームは、戦闘ゲームに限らず、スポーツゲームなどの任意のジャンルのゲームであってよい。ゲームシステム1は、特定のプレイ形態に限らず、あらゆるプレイ形態のゲームを実行するためのシステムであってもよい。例えば、単一のユーザによるシングルプレイゲーム、及び、複数のユーザによるマルチプレイゲーム、また、マルチプレイゲームの中でも、複数のユーザが対戦する対戦ゲーム、及び、複数のユーザが協力する協力プレイゲームなどであってもよい。
(処理の詳細)
図3は、本発明の一実施形態に係るユーザ端末100がゲームプログラム131に基づいて実行する処理の流れの一例を示すフローチャートである。図3に示す一連の処理の一部又は全部が、サーバ200によって実行されてもよい。
<ジョブ、武器、アクセサリの装備>
ステップS301において、制御部110は、ユーザの操作に応じて、キャラクタにジョブ、武器、及びアクセサリを装備する。ジョブ、武器、及びアクセサリは、ゲーム媒体の一例である。但し、ゲーム媒体はこれに限定されず、キャラクタに関連付けることが可能なものであればよい。
キャラクタは、ユーザに関連付けられている。例えば、操作受付部111がユーザの所定の操作を受け付けると、表示制御部116が、ユーザに関連付けられ得るキャラクタの一覧を表示し、操作受付部111は当該一覧中のいずれかのキャラクタを指定するユーザの操作を受け付けると、キャラクタ制御部113が、ユーザによって指定されたキャラクタをユーザに関連付けられたキャラクタと特定する。キャラクタとユーザとの関連付けは、ユーザ情報133として記憶部120に記憶される。ユーザ端末100は、ゲームプログラムに基づくゲームに登場するキャラクタを上記のようにしてユーザに関連付ける。
ステップS301において、例えば、操作受付部111は、ユーザの操作を検出し、表示制御部116は、例えば図4に示される画面を表示する。
図4は、キャラクタにジョブを装備するための画面の一例を模式的に示す図である。図4に示される画面は、キャラクタ画像401、第1ウインドウ402、第2ウインドウ403、第1UI404及び第2UI405を含んでいる。キャラクタ画像401は、例えば、後述のゲーム画面中におけるキャラクタ32を表す画像である。
第1ウインドウ402は、キャラクタ名411、レベル412、レベルゲージ413、HPゲージ414及びSPゲージ415を含んでいる。
キャラクタ名411は、キャラクタ画像401で表示されているキャラクタの名称である。レベル412は、表示されているキャラクタのレベルである。レベルゲージ413は、次のレベルまでの経過を示しており、例えば、次のレベルまでの経験値に対する経験値の現在値を示している。レベルゲージ413では、現在値に相当する部分が第1色に着色され、残りの部分が、第1色と異なる第2色に着色されている。なお、以下の他のゲージにおいても同じルールで着色されている。レベルゲージ413には、例えば、次のレベルまでの経験値を分母とし、経験値の現在値を分子とする数字での表示が付されている。
HPゲージ414は、キャラクタ画像401のキャラクタのHPにおける最大値に対する現在値の割合を示している。HPゲージ414にも、HPの最大値を分母とし、現在値を分子とする数字での表示が付されている。ここで表示されているキャラクタのHPは、ゲーム媒体と関連付け状態が制御されたキャラクタのHPであり、第1ゲームパラメータの一例である。以下、合計HPとも言う。なお、HPは、当該HPの現在値が閾値以上であることを条件にゲームを進行させることが可能となるパラメータである。このように、合計HPは、ゲームを進行させるために必要なパラメータである。
SPゲージ415は、キャラクタ画像401のキャラクタのSPにおける最大値に対する現在値の割合を示している。SPゲージ415にも、SPの最大値を分母とし、現在値を分子とする数字での表示が付されている。SPも第1ゲームパラメータになり得る。
第2ウインドウ403は、第1タブ421、第2タブ422、メインジョブUI423、第1サブジョブUI424及び第2サブジョブUI425を含んでいる。
第1タブ421は、第2ウインドウ403に、キャラクタ画像401のキャラクタのジョブに関する情報を表示するためのUIである。第2タブ422は、第2ウインドウ403に、キャラクタ画像401のキャラクタの武器及びアクセサリに関する情報を表示するためのUIである。ジョブ、武器及びアクセサリは、いずれも、キャラクタに関連付けられることによってゲームにおけるキャラクタの特性を規定するものである。
メインジョブUI423は、メインジョブを選択、表示するためのUIである。当初はブランクである。例えば、操作受付部111がメインジョブUI423へのユーザのタッチ操作を受け付けると、表示制御部116は、キャラクタ画像401のキャラクタに装備可能な一又は二以上のジョブのUIを表示する。そして、操作受付部111がいずれかのUIへのユーザのタッチ操作を受け付けると、表示制御部116は、当該UIが示すジョブをメインジョブUI423に表示する。このようにして、ユーザ端末100は、メインジョブについて、キャラクタに対するゲーム媒体の関連付け状態を、非装備から装備に制御する。
第1サブジョブUI424及び第2サブジョブUI425は、それぞれ、キャラクタ画像401のキャラクタが装備可能なジョブのうち、メインジョブ以外のサブジョブ(サブジョブ1、サブジョブ2)を表示する。ここで、本実施形態において、メインジョブとは、ジョブに固有の特殊効果の全てを、キャラクタを用いるゲームプレイにおいて発現可能に設定されるジョブである。また、サブジョブとは、ジョブに固有の特殊効果の一部のみを、キャラクタを用いるゲームプレイにおいて発現可能に設定されるジョブである。
第1サブジョブUI424及び第2サブジョブUI425も、当初はブランクである。サブジョブ1、サブジョブ2のそれぞれも、メインジョブと同様にしてユーザによって選択される。本実施形態において、メインジョブ及び二つのサブジョブは、同じジョブであってもよいし、異なるジョブであってもよい。
このように、本実施形態においては、ゲーム媒体はキャラクタに関連付けられる複数のジョブを含み、当該ジョブは同一のジョブの複数を同一のキャラクタに関連付けることが可能である。よって、本実施形態では、ジョブの種類以上にジョブの組み合わせが存在し、ゲーム媒体の組み合わせによるキャラクタのゲームにおける能力値をより精密に設定することが可能となる。したがって、ゲームの戦略性をより一層高めることができる。
操作受付部111が第2タブ422へのユーザのタッチ操作を受け付けると、表示制御部116は、図5に示されるように、第2ウインドウ403を、武器、アクセサリに関する情報を表示するウインドウに切り替えて表示する。図5は、キャラクタに武器、アクセサリを装備するための画面の一例を模式的に示す図である。図5における第2ウインドウ403は、第1タブ421及び第2タブ422の他に、武器UI431、第1アクセサリUI432及び第2アクセサリUI433を含んでいる。これらの武器及びアクセサリについても、当該UIは当初はブランクであり、メインジョブと同様にしてユーザによって選択される。
このようにして、ユーザ端末100は、ジョブ、武器及びアクセサリについて、キャラクタに対するゲーム媒体の関連付け状態を、非装備から装備に制御する。
パラメータ管理部114は、合計HPの最大値を特定する。合計HPは、キャラクタに加え、キャラクタに装備されるジョブ、武器及びアクセサリに応じて特定される。図6は、ジョブ、武器及びアクセサリを装備しているキャラクタのHPの内訳の一例を示す図である。図6中の数値はHPであり、分母はHPの最大値を、分子は現在値をそれぞれ表している。図6における「キャラクタ」の列に記載の数値は、「キャラクタHP」である。キャラクタHPは、キャラクタに固有に設定されているHPである。このように、ユーザ端末100は、例えばユーザとキャラクタとの関連付けに応じて、キャラクタHPの最大値を特定する。キャラクタHPは、第3ゲームパラメータの一例である。
図6中のメインジョブ、サブジョブ1、サブジョブ2、武器・アクセサリの列に記載の数値は、「ジョブ等HP」である。ジョブ等HPは、例えばゲーム媒体の種類に応じて設定されている、個々のゲーム媒体に固有のHPである。このように、ユーザ端末100は、キャラクタに装備されているジョブ等のそれぞれについて、ジョブ等HPの最大値を特定する。ジョブ等HPは、第2ゲームパラメータの具体例である。
図6中の合計の列に記載の数値は、合計HPである。合計HPの最大値の特定は、以下のようにして実行される。例えば、キャラクタにメインジョブのみが関連付けられている場合では、合計HPは、キャラクタに固有のキャラクタHPの最大値、及び、関連付けられているメインジョブのジョブ等HPの最大値、の合算値として特定される。例えば、上記の場合、キャラクタの合計HPの最大値は、キャラクタHPの最大値(100)と同じである。ユーザがメインジョブにジョブ「剣士」を選択すると、ジョブ「剣士」がメインジョブとしてキャラクタと関連付けられ、「剣士」に設定されているジョブ等HPの最大値(50)がキャラクタHPの最大値(100)に加算されて、合計HPは150となる。このように、キャラクタにジョブ等が関連付けられている状態における合計HPの最大値は、ジョブ等HPの最大値とキャラクタHPの最大値との合算値に特定される。
以下、メインジョブと同様に、サブジョブ1、サブジョブ2、武器、アクセサリ1及びアクセサリ2をそれぞれ選択する。この場合の合計HPは、それぞれのジョブ等HPの最大値とキャラクタHPの最大値との合算値に特定される。こうして、パラメータ管理部114は、合計HPの最大値を例えば「200」に特定する。
本処理例では、キャラクタはダメージを全く受けていない状態を初期状態としている。よって、パラメータ管理部114は、合計HPの現在値を合計HPの最大値と同じに特定する。キャラクタに関するHPの現在値の特定については、後述する戦闘イベントの後に説明する。
<探索パートの実行>
図3に戻り、ゲームにおける探索パートを説明する。なお、本処理例におけるゲームは、アクションロールプレイングゲーム(RPG)である。より詳しくは、本処理例におけるゲームは、オープンワールド方式のアクションRPGである。当該アクションRPGは、ゲームフィールド内で自由に操作可能なゲームパートとして「探索パート」と、敵キャラタクと戦闘する「戦闘イベント」とを含む。ゲームフィールドには、合計HPを回復する「回復ポイント」が配置されている。なお、キャラクタ32、33は、いずれもユーザに関連付けられたキャラクタである。主にキャラクタ32について説明するが、キャラクタ33についてもキャラクタ32と同様に処理され得る。
図3におけるステップS302において、ゲーム実行部112は、ゲームのプレイ中にゲームの探索パートを実行する。探索パートは、ジョブ等を装備したキャラクタがゲームを構成するゲーム空間内で移動可能なゲームパートの一例である。表示制御部116は、ゲームのプレイ中に、例えば図7に示すゲーム画面を表示部152に表示する。図7は、本実施形態における探索パートのゲーム画面の一例を模式的に示す図である。
図7に示すゲーム画面では、探索パートに用いられるゲームフィールドの背景、回復ポイント31、キャラクタ32、33、スタミナ表示欄40、キャラクタ表示欄50及びキャラクタ表示欄60が表示される。回復ポイント31は、キャラクタ32、33のHP及びSPを回復可能なゲームフィールド内の所定位置である。キャラクタ32、33は、ユーザに関連付けられるキャラクタである。スタミナ表示欄40は、ユーザが所持するスタミナ41が表示される欄である。図7では、3つのスタミナ41がスタミナ表示欄40に表示される。
キャラクタ表示欄50は、キャラクタ32に関する情報を表示する欄であり、図7では、キャラクタ画像51、HPバー52、及びSPバー53がキャラクタ表示欄50に表示される。キャラクタ画像51は、キャラクタ32の一部を示す画像である。HPバー52は、キャラクタ32のHPの現在値及び最大値を視覚的にユーザに提示する表示情報である。
図7において、HPバー52の左端はキャラクタ32のHPの最低値に対応し、HPバー52の右端はキャラクタ32のHPの最大値に対応する。HPバー52における着色のルールは、前述したゲージのものと同じである。ユーザは、スタミナ表示欄40を視認することによってスタミナの現在値を直感的に把握することができる。SPバー53は、キャラクタ32のSPの現在値及び最大値を視覚的にユーザに提示する表示情報である。SPバー53も、前述のHPバー52と同様のルールが適用されて表示されている。キャラクタ表示欄60は、キャラクタ33に関する情報を表示する欄であり、キャラクタ表示欄50と同じルールが適用されて表示されている。
探索パートにおいて、ユーザは、探索パートのプレイ中に、タッチスクリーン15に対する操作に基づいて、キャラクタ32、33をゲームフィールド内で移動させることができる。
<戦闘イベントの実行>
ステップS303において、ゲーム実行部112は、戦闘イベントを実行する。探索パートにおけるキャラクタ32、33の移動時に、戦闘イベントを発生させるための所定条件が成立すると、表示制御部116は、戦闘イベントの画面を表示し、ゲーム実行部112は、探索パートの実行を中断すると共に戦闘イベントを実行する。所定条件は、例えば、キャラクタ32、33がゲームフィールド内の移動中に敵キャラクタ34と遭遇すること(いわゆるランダムエンカウント)である。
図8は、本発明の一実施形態における戦闘イベントのゲーム画面の一例を模式的に示す図である。図8のゲーム画面において、キャラクタ32、33がゲーム画面内の右側に表示され、敵キャラクタ34がゲーム画面内の左側に表示される。表示制御部116は、ゲーム画面にキャラクタ表示欄50及びキャラクタ表示欄60を表示する。ユーザは、戦闘イベントのゲーム画面を視認しながら、戦闘イベントをプレイする。ユーザは、キャラクタ32又は33に敵キャラクタ34を攻撃させるための操作をタッチスクリーン15に入力する。キャラクタ制御部113は、この操作に応答して、キャラクタ32又は33に敵キャラクタ34を攻撃させる。敵キャラクタ34は、所定のアルゴリズムに基づいて、キャラクタ32又は33を自動的に攻撃する。
<HPの更新>
戦闘イベントにおいて、敵キャラクタ34の攻撃が成功した場合、キャラクタ32又は33のHPが減少する。このようなHP、SPの減少、消費は、更新イベントの一例である。このようにして、ゲーム実行部112は、合計HPの更新イベントを実行する。
ユーザは、キャラクタ32又は33にスキルを発動させるための操作をタッチスクリーン15に入力することもできる。キャラクタ制御部113は、この操作に応答して、キャラクタ32又は33のSPを消費することによって、キャラクタ32又は33に所定の動作を実行させることでスキルを発動させる。スキルは、例えば敵キャラクタ34にダメージを与える行動である。以上のように、キャラクタ32、33のHP及びSPは、戦闘イベントでのユーザのゲームプレイに基づいて減少し得る。敵キャラクタ34の攻撃が成功することによるキャラクタ32、33の合計HPの減少量、SPの消費量は、所定の設定に基づいて特定される。このようにして、パラメータ管理部114は、当該更新イベントの実行に応じて合計HPの更新量を特定し、第1ゲームパラメータの現在値を特定する。
ゲーム実行部112は、戦闘イベントに規定されるクリア条件を満たした場合、キャラクタ32、33が敵キャラクタ34との戦闘に勝利したとして、戦闘イベントを終了する。クリア条件は、例えば、敵キャラクタ34のHPを最低値以下に減少させることである。
ステップS304において、ゲーム実行部112は、戦闘イベントの終了後、探索パートを再開する。再開された探索パートでは、表示制御部116は、HPバー52等の表示状態を、戦闘イベントによって減少した後のHP等の現在値を反映した状態に更新している。このように、戦闘イベントにおいて減少したHP及びSPの現在値が、探索パートの再開後に引き継がれている。
キャラクタに関するHPの現在値は、以下のようにして特定される。例えば、キャラクタ画像401のキャラクタ32は、先の戦闘イベントでダメージを受けており、合計HPは、図6における「戦闘イベント終了時」に記載されているように、合計HPが当初の200からその70%(3割減)となる140に更新されている。また、SPは、当初の100から、その50%(半減)となる100まで減少している。このように、パラメータ管理部114は、合計HPの更新量に基づいて、戦闘イベントでダメージを受けた後の合計HPの現在値を特定する。例えば、キャラクタに対するジョブ等の関連付け状態が「装備」に制御されている状態における合計HPの現在値は、ジョブ等HPの現在値とキャラクタHPの現在値との合算値になる。
パラメータ管理部114は、図6における「戦闘イベント終了時」に記載されているように、ジョブ等HPの現在値について、ジョブ等HPの最大値に対する現在値の割合が、戦闘イベントでダメージを受けた後の合計HPの最大値に対する現在値の割合となるように、ジョブ等HPの現在値を特定する。例えば、図6に示されるように、メインジョブ、サブジョブ1、サブジョブ2及び武器・アクセサリのHPの現在値(分子)は、いずれも、当該HPの最大値(分母)に対する割合が70%となるように特定されている。これは、戦闘イベントでダメージを受けた後の合計HPの最大値に対する現在値の割合と同じである。
同様に、パラメータ管理部114は、図6における「戦闘イベント終了時」に記載されているように、キャラクタHPについて、キャラクタHPの最大値に対する現在値の割合が、戦闘イベントでダメージを受けた後の合計HPの最大値に対する現在値の割合(すなわち70%)となるように、キャラクタHPの現在値を「70」に特定する。
このように、パラメータ管理部114は、合計HPが例えば変動前(第1状態)の値に対して変動後(第2状態)において3割減で変動すれば、ジョブ等HP及びキャラクタHPのそれぞれについても、変動後(第2状態)の値を変動前(第1状態)から3割減の値に特定する。
<ジョブ等の変更>
探索パート中において、操作受付部111がユーザによる所定の操作を受け付けると、表示制御部116は、ジョブ等を変更するための画面を表示する。例えば、ユーザが次の戦闘イベントに備えてジョブを変更する場合を例に、ジョブ等の変更について説明する。図9は、戦闘イベント終了時にキャラクタのジョブを変更する前の画面の一例を模式的に示す図である。
ステップS305において、操作受付部111が所定の操作を受け付けることに応じて表示制御部116は図9に示すような画像を表示する。図9の画像は、レベルゲージ413、HPゲージ414及びSPゲージ415において、経験値、合計HP及びSPが、前述の戦闘イベントによるゲームプレイの結果に応じて更新されている以外は、図4の画面と同じである。ジョブ等の変更は、例えば以下のようにして実行される。
パラメータ管理部114は、当該画面が表示された場合に、合計HPの最大値に対する現在値の割合(すなわち70%)をユーザ情報133として記憶する。
一方で、ユーザはサブジョブ2を「魔法使い」から「ウォーリア」に変更しようとする。操作受付部111はがユーザによる第2サブジョブUI425へのタッチ操作を受け付けると、表示制御部116は第2サブジョブUI425を空欄として表示する。
パラメータ管理部114は、図6における「ジョブ変更」の「一部解除」に示されるように、サブジョブ2のHPの現在値及び最大値のいずれもをゼロと特定する。パラメータ管理部114は、サブジョブ2の関連付け状態を「非装備」に制御したキャラクタの合計HPについて、キャラクタHP及びジョブ等HPの最大値の合算値を合計HPの最大値とし、キャラクタHP及びジョブ等HPの現在値の合算値を合計HPの現在値とする。
このようにして、ユーザ端末100は、キャラクタに対する「魔法使い」の関連付け状態を「装備」(関連付けられている状態)から「非装備」(関連付けられていない状態)に制御する。パラメータ管理部114は、合計HPの最大値の特定において、「魔法使い」のキャラクタに対する関連付け状態が「装備」である場合の合計HPの最大値(200)と、「魔法使い」のHPの最大値(10)とに基づいて、「魔法使い」のキャラクタに対する関連付け状態が「非装備」である場合の合計HPの最大値(190)を特定する。そして、合計HPの現在値については、パラメータ管理部114は、上記非装備状態の場合における合計HPの最大値に対する現在値の割合が上記装備状態の場合における合計HPの最大値に対する現在値の割合となるように、上記非装備状態の場合における合計HPの現在値を特定する。
次いで、表示制御部116はサブジョブの候補となるジョブのUIを表示する。操作受付部111が当該UIのうちの「ウォーリア」のUIへのタッチ操作を受け付けると、表示制御部116は、第2サブジョブUI425に「ウォーリア」を表示する。
パラメータ管理部114は、キャラクタに装備された「ウォーリア」のHPの最大値を「100」と特定し、キャラクタHP及びキャラクタに装備されているジョブ等HPの全てについて、その最大値の合算値を合計HPの最大値と特定する。
パラメータ管理部114は、ユーザ情報133として記憶部120に格納されている、「ウォーリア」の関連付け状態を「装備」に制御する前のサブジョブ2のHPの最大値に対する現在値の割合(70%)に応じて、図6の「再装備」に記載されているように、「ウォーリア」のHPの現在値を、最大値に対する割合が上記の70%と同じになるように、すなわち「70」と特定する。そして、キャラクタHP及びジョブ等HPの現在値の合算値(203)を、サブジョブ2を「ウォーリア」に変更した後のキャラクタの合計HPの現在値として特定する。
図10は、キャラクタのジョブを変更した後の画面の一例を模式的に示す図である。表示制御部116は、図10に示されるように、パラメータ管理部114が特定したサブジョブ2変更後の合計HPの最大値及び現在値を画面に表示する。
このようにして、ユーザ端末100は、「魔法使い」の関連付け状態が「非装備」に制御された状態から、「ウォーリア」の関連付け状態が「装備」に制御された状態とする。パラメータ管理部114は、合計HPの最大値の特定において、キャラクタに対する「魔法使い」の関連付け状態が「非装備」に制御された場合における合計HPの最大値(190)と、「ウォーリア」のHPの最大値とに基づいて、キャラクタに対する「ウォーリア」の関連付け状態が「装備」に制御された場合の合計HP値の最大値(290)を特定する。そして、合計HPの現在値については、パラメータ管理部114は、上記装備の場合における合計HPの最大値に対する現在値の割合が上記非装備状態の場合における合計HPの最大値に対する現在値の割合となるように、上記装備状態の場合における合計HPの現在値を特定する。
図10は、第2サブジョブUI425に表示されているジョブ名ならびにHPゲージ414及びSPゲージ415に付されている数値以外は、図9と同じである。すなわち、HPゲージ414において、その絶対量である最大値及び現在値の数値は、サブジョブ2の変更に伴い変更したが、サブジョブ2の最大値に対する現在値の割合を示しているHPゲージ414における第1色及び第2色による表示は変わらない。
図9及び図10に示されるように、表示制御部116は、合計HPの最大値及び現在値をHPゲージ414で表示する。このため、サブジョブ2における変更前後での合計HPの量の割合が実質的に変化していないことが明示される。よって、サブジョブ2を変更した後でも、サブジョブ2を変更する前の状態が引き継がれていることについて、ユーザの納得感を十分に得ることができる。
本実施形態において、キャラクタに関する合計HPについて上記のように特定することにより、キャラクタに対するジョブ等の関連付け状態が変わっても、当該関連付け状態が変わる前のキャラクタについて、ゲームプレイの継続性が実質的に引き継がれる。よって、当該関連付け前後でのゲームの連続性が高められ、ゲームの興趣性が適切に高められる。
ここで、本実施形態におけるHPの特定による効果について、キャラクタに対するジョブ等の装備、非装備を、以下の第一態様から第四態様まで変更した場合を例にさらに説明する。第一態様は、ジョブ等を装備したキャラクタであって、合計HPの最大値が200であるときの現在値が80であるキャラクタを表す。第二態様は、第一態様のキャラクタからHPの最大値が50であるジョブ等を非装備とした状態である。第三態様は、第二態様のキャラクタからHPの最大値が100であるジョブ等を非装備とした状態である。第四態様は、第三態様のキャラクタに、最大値が150のジョブ等を装備した状態である。
本実施形態におけるHPの特定方法によれば、第一態様における最大値に対する現在値の割合は40%であり、この割合のまま態様が変わっていく。このため、現在値を分子に、最大値を分母に表示すると、本実施形態では、第一態様は80/200、第二態様は60/150、第三態様は20/50、そして第四態様は80/200となる。このように、変更前の合計HPの最大値と同じ最大値になるようにジョブ等を変更した場合に、変更後の現在値は必ず変更前の現在値と同じになる。
一方で、上記の場合に、変更前の合計HPの現在値を基準にジョブ等の変更時における合計HPを特定すると、第一態様は80/200、第二態様は30/150、第三態様は、合計HPの最低値は通常「1」なので1/50、そして第四態様は151/200となる。このように、変更前の合計HPの現在値を基準とすると、変更後の合計HPが変更前のそれと同じであっても、ジョブ等の種類によっては、変更後の合計HPの現在値が変更前のそれよりも大きくなる、すなわち合計HPが大きく回復してしまうという問題が生じることがある。
あるいは、上記の場合に、変更前の合計HPの最大値を基準にジョブ等の変更時における合計HPを特定すると、第一態様は80/200、第二態様は80/150、第三態様は、最大値が変更前の現在値を下回るので変更後の最大値が現在値となり50/50、そして第四態様は50/200となる。このように、変更前の合計HPの最大値を基準とすると、変更後の合計HPが変更前のそれと同じであっても、HPが低いジョブ等に一度でも変更してしまうと、変更後のジョブ等を変更前のそれに戻しても合計HPの現在値が変更前を下回る、すなわち、合計HPが元に戻らず、取り返しがつかなくなるという問題がある。
以上の説明から明らかなように、本実施形態における、変更前後において合計HPの最大値に対する現在値の割合が一定となるように合計HPを特定する方法では、変更前の合計HPの現在値または最大値を基準として合計HPを特定する他の方法による上記のような問題は生じない。よって、本実施形態における上記の方法は、キャラクタに対するジョブ等の関連付け状態を頻繁に変更可能なゲームにおいてより有利であり、またより適切である。
なお、本実施形態では、SPについても、HPと同様に設定される。サブジョブ2を「魔法使い」から「ウォーリア」に変更したことにより、合計SPの最大値は例えば100から50に変更され、合計SPの現在値は、変更前の最大値に対する現在値の割合(50%)が変更後の合計SPに乗じられて特定される。
<探索パートの再開>
操作受付部111がサブジョブの変更を確定するユーザの操作を受け付けると、ステップS306において、ゲーム実行部112は、探索パートを再開する。図11は、本発明の一実施形態において、ジョブ変更後に再開した探索パートのゲーム画面の一例を模式的に示す図である。探索パートは、サブジョブ2の変更後も変更前と同じく、合計HPの現在値が最大値の70%の状態から再開される。再開した探索パートにおいてキャラクタ32、33の移動中に再びランダムエンカウントが発生すると、上記の合計HPの状態で次の戦闘イベントが開始される。
<合計HPの回復>
ここで、探索パートを再開した時に(キャラクタ32のサブジョブ2を変更する前から)、キャラクタ33のHPがほぼゼロであるとする。この場合、次の戦闘イベントでは敵キャラクタとの戦闘に勝てる見込みは非常に小さい。このままではユーザはゲームのプレイを継続することが困難である。そこでユーザは、キャラクタ32、33を回復ポイント31まで移動させるための操作を、タッチスクリーン15に入力する。
操作受付部111がユーザによる上記の操作を受け付けると、ステップS307において、キャラクタ制御部113は、ユーザの操作に基づいて、図11に示すように、回復ポイント31までキャラクタ32、33を移動させる。このように、ユーザ端末100は、ゲームパートの実行中に、合計HPの回復が許可されるゲーム空間内の所定位置である回復ポイント31にキャラクタ32を移動させる。
図11に示されるように、キャラクタ32が回復ポイント31に配置され、キャラクタ33はキャラクタ32の側に配置される。この配置に基づいて、スタミナを用いたHP及びSPの回復が許可される。
ステップS308において、操作受付部111は、HP及びSPを回復するための操作をユーザから受け付ける。この操作は、例えば、スタミナ表示欄40に表示されるいずれかのスタミナ41をタップする操作である。ここでは、左端のスタミナ41がタップされたものとする。
ステップS309において、パラメータ管理部114は、ユーザの操作に応答して、スタミナ41を1つ消費することによって、キャラクタ32、33のHP及びSPを回復する。操作受付部111が上記のタップ操作を受け付けると、表示制御部116は、3つのスタミナ41の左端のスタミナ41が消えた画面を表示し、パラメータ管理部114は、キャラクタ32、33の合計HP及び合計SPを増やす。
回復による合計HP及び合計SPの増加量は、ダメージ量又は回復前の状態(戦闘不能状態など)に応じて決めてよい。例えば、キャラクタ33が戦闘不能の状態であり、この状態でキャラクタのHP及びSPを回復させる場合には、最大値の9割を上限とする、という制約があってもよい。
図12は、本実施形態においてスタミナを用いたHP及びSPの回復を実行した後のゲーム画面の一例を模式的に示す図である。上記の制約に基づいて、パラメータ管理部114は、図6の「回復時」に示されるように、キャラクタHP及びジョブ等HPの現在値を、それらのHPの最大値に上記の回復の上限割合(9割)を乗じた値に特定する。また、パラメータ管理部114は、それぞれのHPの現在値を合算した値に、回復後の合計HPの現在値を特定する。
表示制御部116は、スタミナ41の消費に応答して、図12に示すように、キャラクタ32、33のHPゲージ及びSPゲージのゲームのそれぞれについて、9割のエリアを第1色で、残りの1割のエリアを第2色で表示するように、画面を更新する。このようにして、ユーザ端末100は、キャラクタ32が回復ポイント31に配置されることを条件として、スタミナを消費することによって、合計HPを回復する。
<スタミナの自動回復>
前述のように、回復後では、スタミナ41が1つ消費されており、残りのスタミナは2つである。キャラクタ32のHP及びSPのいくらか使用済みであり、それぞれの現在値は最大値よりも低くなっている。ユーザ端末100は、時間経過に従って、スタミナの最大値を超えない範囲でスタミナを自動的に回復する。
ステップS310において、スタミナ回復部115は、時間経過に従って、スタミナを自動的に回復する。例えば、スタミナを一つ消費した状態から一定時時間が経過した場合、スタミナ回復部115は、消費された1つのスタミナ41の一部を回復する。表示制御部116は、スタミナ回復部115が一つのスタミナを回復したことに応じて、スタミナ表示欄40内の左端部に、完全に回復された状態のスタミナ41を表示する。これにより、ユーザが使用可能なスタミナ41が1つ増加する。
したがって、ユーザは、仮にスタミナ41が全て無くなったとしても、ゲームを中断してしばらく待つことによって、新たなスタミナ41を取得することができる。よって、その後、ゲームを再びプレイすることができるようになる。なお、スタミナ41の自動回復は、残りのスタミナ41がゼロになった場合にのみ有効化してもよい。
なお、HP及びSPは、時間経過に従って自動的に回復しない。よって、時間経過に従ってスタミナ41が回復する際も、各キャラクタにおけるHP及びSPはそれぞれの現在値を維持し続ける。
上記の「合計HPの回復」及び「スタミナの自動回復」によれば、合計HPの回復に制約があるゲームであっても、ジョブ等の変更に伴う合計HPの最大値に対する現在値の割合が実質的に変化しないので、ユーザは、キャラクタが装備するジョブ等を積極的に変更することができる。よって、合計HPの回復に制約があるゲームにおいて、ジョブ等を変更することによるゲームの興趣性を高めることができる。
〔変形例〕
(レベルアップによるHP及びSPの回復)
本実施形態において、ユーザ端末100は、第3イベントにおけるユーザのゲームプレイの結果としてキャラクタがレベルアップしたことに応答して、キャラクタに設定される第1パラメータを回復してもよい。
例えば、キャラクタ32及びキャラクタ33は、図7に示す戦闘イベントで勝利した場合、戦闘イベントに設定される経験値を獲得する。キャラクタ制御部113は、キャラクタ32の累積の獲得経験値が閾値を超えた場合、キャラクタ32をレベルアップさせる。パラメータ管理部114は、このレベルアップに応答して、キャラクタ32のHP及びSPをそれぞれ最大値まで回復させる。キャラクタ33の場合も事情は同様である。レベルアップによってHP及びSPが全回復するので、ユーザはゲームプレイを継続することができる。したがって、キャラクタ32、33をレベルアップさせることをユーザに動機付けることができる。
キャラクタ32、33のレベルが低い場合はレベルアップ間隔を短くしてもよく、このように設定のされる態様ではキャラクタ32のHPが無くなる前にキャラクタ32が次々とレベルアップすることになる。これにより、ユーザはゲームの序盤ではスタミナ41を使用することなく、ゲームを次々と先に進めることができる。
〔ソフトウェアによる実現例〕
制御部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ゲームパラメータ(合計HP)の最大値を特定するステップと、第1ゲームパラメータの現在値を特定するステップと、キャラクタに対するゲーム媒体(ジョブ、武器及びアクセサリ)の関連付け状態を第1状態(解除した状態/装備した状態)から第2状態(装備した状態/解除した状態)に制御するステップと、ゲーム媒体に関する第2ゲームパラメータ(ジョブ等HP)の最大値を特定するステップと、を実行させる。そして、第1ゲームパラメータの最大値を特定するステップでは、関連付け状態が第1状態の場合における第1ゲームパラメータの最大値、及び第2ゲームパラメータの最大値に基づいて、関連付け状態が第2状態の場合における第1ゲームパラメータの最大値を特定し、第1ゲームパラメータの現在値を特定するステップでは、関連付け状態が第2状態の場合における第1ゲームパラメータの最大値に対する現在値の割合が、関連付け状態が第1状態の場合における第1ゲームパラメータの最大値に対する現在値の割合となるように、関連付け状態が第2状態の場合における第1ゲームパラメータの現在値を特定する。この構成によれば、ゲーム媒体をキャラクタに関連付ける前後で第1ゲームパラメータの最大値に対する現在値の割合が一定に保たれる。このため、ゲーム媒体をキャラクタに関連付けることの効果がゲームプレイに顕著に現われ、また、ゲーム媒体を関連付ける前後における第1ゲームパラメータについて、ユーザの納得感が得られやすい。よって、ゲーム媒体をキャラクタに関連付けることによりゲームを有利に進行させる楽しみが高められ、ゲームの興趣性を高めることができる。
(項目2) (項目1)において、ゲームプログラムは、プロセッサに、第2ゲームパラメータの最大値に対する現在値の割合が、第1ゲームパラメータの最大値に対する現在値の割合となるように、第2ゲームパラメータの現在値を特定するステップを更に実行させてもよい。この構成によれば、キャラクタに関連付けるゲーム媒体を変更した場合に、異なるゲーム媒体の間において、第2ゲームパラメータも、第1ゲームパラメータと同様の割合で変動する。よって、ゲーム媒体をキャラクタに関連付けた後における第1ゲームパラメータの現在値に対するユーザの納得感がより一層得られやすい。
(項目3) (項目2)において、ゲームプログラムは、プロセッサに、キャラクタに固有に設定されている第3ゲームパラメータの最大値を特定するステップと、第3ゲームパラメータの現在値を特定するステップと、を更に実行させてもよい。そして、第1状態がキャラクタにゲーム媒体が関連付けられている状態である場合、第2状態はキャラクタにゲーム媒体が関連付けられていない状態であり、第1状態がキャラクタにゲーム媒体が関連付けられていない状態である場合、第2状態はキャラクタにゲーム媒体が関連付けられている状態であってもよい。また、キャラクタにゲーム媒体が関連付けられている状態における第1ゲームパラメータの最大値は、第2ゲームパラメータの最大値と第3ゲームパラメータの最大値との合算値であり、キャラクタにゲーム媒体が関連付けられている状態における第1ゲームパラメータの現在値は、第2ゲームパラメータの現在値と第3ゲームパラメータの現在値との合算値であってもよい。更に、キャラクタにゲーム媒体が関連付けられていない状態における第1ゲームパラメータの最大値は、第3ゲームパラメータの最大値であり、キャラクタにゲーム媒体が関連付けられていない状態における第1ゲームパラメータの現在値は、第3ゲームパラメータの現在値であってもよい。この構成によれば、更に、キャラクタとゲーム媒体との組み合わせによって第1ゲームパラメータの最大値を様々に設定することが可能となる。よって、ゲーム媒体をキャラクタに関連付けた後における第1ゲームパラメータの現在値に対するユーザの納得感がより一層得られやすく、またゲームの興趣性をより一層高めることができる。
(項目4) (項目3)において、ゲームプログラムは、プロセッサに、第1ゲームパラメータの更新イベントを実行するステップと、更新イベントの実行に応じて、第1ゲームパラメータの更新量を特定するステップと、を更に実行させてもよい。そして、第1ゲームパラメータの現在値を特定するステップでは、第1ゲームパラメータの更新量に基づいて、更新イベント後の第1ゲームパラメータの現在値を特定し、第2ゲームパラメータの現在値を特定するステップでは、第2ゲームパラメータの最大値に対する現在値の割合が、更新イベント後の第1ゲームパラメータの最大値に対する現在値の割合となるように、第2ゲームパラメータの現在値を特定する。また、第3ゲームパラメータの現在値を特定するステップでは、第3ゲームパラメータの最大値に対する現在値の割合が、更新イベント後の第1ゲームパラメータの最大値に対する現在値の割合となるように、第3ゲームパラメータの現在値を特定してもよい。この構成によれば、更に、第1ゲームパラメータを更新した場合に、第2ゲームパラメータ及び第3ゲームパラメータのいずれも、第1ゲームパラメータと同じ割合で更新される。このように、ゲーム中における各ゲームパラメータの更新がゲーム媒体の変更時と同様に行われるので、ゲームプレイ中の第1ゲームパラメータの現在値について、ユーザの納得感をより高める観点から効果的である。
(項目5) (項目1)~(項目4)のいずれかにおいて、第1ゲームパラメータは、ゲームを進行させるために必要なパラメータであり、第1ゲームパラメータの現在値が閾値以上であることを条件にゲームを進行させられてもよい。
(項目6) (項目1)~(項目5)のいずれかにおいて、第1ゲームパラメータは、キャラクタのヒットポイントであってよい。
(項目7) (項目1)~(項目6)のいずれかにおいて、ゲーム媒体は、キャラクタに関連付けられる複数のジョブを含み、ジョブは、同一のジョブの複数を同一のキャラクタに関連付けることが可能であってもよい。
(項目8) (項目1)~(項目7)のいずれかにおいて、ゲームプログラムは、プロセッサに、キャラクタが、ゲームを構成するゲーム空間内で移動可能なゲームパートを実行するステップと、ゲームパートの実行中に第1ゲームパラメータの回復が許可されるゲーム空間内の所定位置にキャラクタを移動させるステップと、キャラクタが所定位置に配置されることを条件として、回復パラメータを消費することによって、第1ゲームパラメータを回復するステップと、時間経過に従って、回復パラメータの最大値を超えない範囲で、回復パラメータを自動的に回復するステップと、更に実行させてもよい。
(項目9) (項目1)~(項目8)のいずれかにおいて、ゲームプログラムは、プロセッサに、第1ゲームパラメータの最大値及び現在値をゲージで表示するステップを更に実行させてもよい。
(項目10) ゲームプログラムを実行する方法を説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ及びメモリを備えるコンピュータにより実行される。該方法は、プロセッサが(項目1)に記載の各ステップを実行する方法である。
(項目11) 情報処理装置を説明した。本開示のある局面によると、該情報処理装置は、(項目1)に係るゲームプログラムを記憶するメモリ(メモリ11、記憶部120)と、該ゲームプログラムを実行することにより、情報処理装置(ユーザ端末100)の動作を制御するプロセッサ(プロセッサ10、制御部110)とを備える。