特許法第30条第2項適用 平成30年7月18日~10月11日にウェブサイトにゲームプログラムに関する情報を掲載することにより、馬場功淳及び大黒行彦が発明した「ゲームプログラム、方法、情報処理装置」によるゲーム概要について公開した。
特許法第30条第2項適用 平成30年8月21日、22日にメディアに対してゲーム・アプリケーション「バクレツモンスター」について説明するとともに体験の機会を提供し、該メディアがレビュー記事を公衆に閲覧可能に公開することにより、馬場功淳及び大黒行彦が発明した「ゲームプログラム、方法、情報処理装置」によるゲーム概要について公開した。
特許法第30条第1項適用 平成30年8月24日~10月6日に一般ユーザおよびメディアに対し、出願人株式会社コロプラがゲーム・アプリケーション「バクレツモンスター」を提供し、上記一般ユーザおよびメディアがプレイ動画を公衆に閲覧可能に公開することにより、馬場功淳及び大黒行彦が発明した「ゲームプログラム、方法、情報処理装置」によるゲーム概要について公開した。
〔実施形態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(表示部)と、カメラ17と、測距センサ18とを備える。ユーザ端末100が備えるこれらの構成は、通信バスによって互いに電気的に接続される。なお、ユーザ端末100は、タッチスクリーン15に代えて、または、加えて、ユーザ端末100本体とは別に構成されたディスプレイ(表示部)を接続可能な入出力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とサーバ200との協働により実現されるゲームは、一例として、ユーザ端末100において起動されたブラウザ上で実行されるゲームであってもよい。あるいは、該プログラムは、該ゲームを複数のユーザ端末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は、例えば、マウスまたはキーボード等の情報入力機器である入力部と、画像を表示出力する機器である表示部とを含み得る。
ユーザ端末100のタッチスクリーン15は、入力部151と表示部152とを組み合わせた電子部品である。入力部151は、例えばタッチセンシティブなデバイスであり、例えばタッチパッドによって構成される。表示部152は、例えば液晶ディスプレイ、または有機EL(Electro-Luminescence)ディスプレイ等によって構成される。
入力部151は、入力面に対しユーザの操作(主にタッチ操作、スライド操作、スワイプ操作、およびタップ操作等の物理的接触操作)が入力された位置を検知して、位置を示す情報を入力信号として送信する機能を備える。入力部151は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式または抵抗膜方式等のどのような方式を採用したものであってもよい。
図示していないが、ユーザ端末100は、該ユーザ端末100の保持姿勢を特定するための1以上のセンサを備えていてもよい。このセンサは、例えば、加速度センサ、または、角速度センサ等であってもよい。ユーザ端末100がセンサを備えている場合、プロセッサ10は、センサの出力からユーザ端末100の保持姿勢を特定して、保持姿勢に応じた処理を行うことも可能になる。例えば、プロセッサ10は、ユーザ端末100が縦向きに保持されているときには、縦長の画像を表示部152に表示させる縦画面表示としてもよい。一方、ユーザ端末100が横向きに保持されているときには、横長の画像を表示部に表示させる横画面表示としてもよい。このように、プロセッサ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の撮影画像によるユーザの手の検出結果に基づいて、ユーザが指をはじくようなジェスチャを検出した場合に、当該ジェスチャを、マウスのクリックまたはタッチパネルへのタップ操作に対応する操作として認識してもよい。
<ゲーム概要>
ゲームシステム1は、一例として、第1キャラクタと、第2キャラクタとを戦わせる、いわゆる格闘要素を含むゲームを実行するためのシステムである。以降、第1キャラクタと第2キャラクタとを総称して、「キャラクタ」と記載する場合がある。ゲームシステム1は、一例として、ゲーム空間を定義し、該ゲーム空間に第1キャラクタ、第2キャラクタ、およびオブジェクトを配置する。オブジェクトは、第1キャラクタおよび第2キャラクタと接触(衝突)し得る。ゲームシステム1は、一例として、該ゲーム空間に複数のオブジェクトを配置する。オブジェクトの一例としては、地面、床、地面および床以外の足場、壁、天井などであるが、この例に限定されるものではない。
一例として、第1キャラクタおよび第2キャラクタには、第1キャラクタと第2キャラクタとの対戦の勝敗を決定するためのパラメータ(第3パラメータ)が関連付けられている。該パラメータは、例えば、第1キャラクタおよび第2キャラクタそれぞれの体力を示すパラメータである。以降、該パラメータを「体力」と称する。第1キャラクタによる第2キャラクタを対象とした攻撃が成功した場合、ゲームシステム1は、一例として、第2キャラクタに関連付けられた体力の値を減少させる。また、第2キャラクタによる第1キャラクタを対象とした攻撃が成功した場合、ゲームシステム1は、一例として、第1キャラクタに関連付けられた体力の値を減少させる。
また、ゲームシステム1は、一方のキャラクタを対象とした、他方のキャラクタの攻撃が成功した場合、該一方のキャラクタを強制的に移動させる(ふっ飛ばす)構成であってもよい。キャラクタが強制的に移動した結果、オブジェクトと衝突した場合、該キャラクタに関連付けられた体力の値を減少させてもよい。別の局面において、ゲームシステム1は、攻撃が成功し、かつ、所定の条件が成立した場合、攻撃の対象となったキャラクタを強制的に移動させる構成であってもよい。該所定の条件は、例えば、「攻撃に応じて特定される数値(以下、「ふっ飛びパラメータ」と記載する)が、所定の閾値以上であること」であってもよい。
ゲームシステム1は、一例として、第2キャラクタに関連付けられた体力が所定の閾値(第2閾値)以下となった場合、第2キャラクタが戦闘に敗北し、第1キャラクタが戦闘に勝利したと判定する。また、ゲームシステム1は、一例として、第1キャラクタに関連付けられた体力が所定の閾値(第2閾値)以下となった場合、第1キャラクタが戦闘に敗北し、第2キャラクタが戦闘に勝利したと判定する。
<ユーザ端末100の機能的構成>
図2は、ゲームシステム1に含まれるユーザ端末100の機能的構成を示すブロック図である。ユーザ端末100は、図示しない、一般的なコンピュータとして機能する場合に必要な機能的構成、および、ゲームにおける公知の機能を実現するために必要な機能的構成を含み得る。
ユーザ端末100は、ユーザの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。ユーザ端末100は、プロセッサ10、メモリ11、ストレージ12、通信IF13、および入出力IF14等の協働によって、制御部110および記憶部120として機能する。
記憶部120は、ゲームプログラム131、ゲーム情報132およびユーザ情報133を格納する。ゲームプログラム131は、ユーザ端末100が実行するゲームプログラムである。ゲーム情報132は、制御部110および制御部210がゲームプログラムを実行する際に参照するデータである。ユーザ情報133は、ユーザのアカウントに関するデータである。
制御部110は、記憶部120に格納されたゲームプログラム131を実行することにより、ユーザ端末100を統括的に制御する。例えば、制御部110は、ゲームプログラム131およびユーザの操作にしたがって、ゲームを進行させる。また、制御部110は、ゲームを進行させている間、必要に応じて、サーバ200と通信して、情報の送受信を行う。
制御部110は、ゲームプログラム131の記述に応じて、制御部110は、ゲームプログラム131の記述に応じて、操作受付部111、能力差算出部112、スキルポイント管理部113、スタミナ管理部114、ゲーム実行部115、および、表示制御部116として機能する。制御部110は、実行するゲームの性質に応じて、ゲームを進行させるために、図示しないその他の機能ブロックとしても機能することができる。例えば、制御部110は、体力算出部、攻撃成否判定部、および、能力値管理部として機能してもよい。
操作受付部111は、入力部151に対するユーザの入力操作を検知し受け付ける。操作受付部111は、タッチスクリーン15およびその他の入出力IF14を介したコンソールに対してユーザが及ぼした作用から、いかなる操作が入力されたかを判別し、その結果を制御部110の各要素に出力する。
例えば、操作受付部111は、入力部151に対する入力操作を受け付け、該入力操作位置の座標を検出し、該操作の種類を特定する。操作受付部111は、操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、操作受付部111は、連続して検知されていた入力操作が途切れると、入力操作が解除されたことを検知する。
表示制御部116は、タッチスクリーン15の表示部152に対して、制御部110の各要素によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部116は、ゲームの種々の操作に必要なユーザインターフェース(以下、「UI」と称する)を、ゲーム画面に重畳するように描画してもよい。
ゲーム実行部115は、ユーザの入力操作に基づいてキャラクタの動作結果を決定することにより、ゲームを進行させる。以降、第1キャラクタがユーザの入力操作に基づいて動作するキャラクタであるとして説明する。換言すれば、第1キャラクタは、ユーザ端末100のユーザに関連付けられるキャラクタである。また、以降、第2キャラクタは、ゲームプログラムに基づいて動作する、いわゆるNPC(non player character)であるものとして説明する。
ゲームシステム1に基づくゲーム(以下、「本ゲーム」と記載する)は、ゲームのストーリーを進行させながら第1キャラクタと第2キャラクタとを対戦させる構成であってもよい。ここでの第2キャラクタは、ストーリーの進行に伴い、第1キャラクタの敵として登場する、複数の敵キャラクタの総称である。本ゲームは、モードの1つとして、ゲームのストーリーを進行させながら第1キャラクタと第2キャラクタとを対戦させるストーリーモードを備えていてもよい。
ストーリーモードは、一例として、複数のクエストから構成され、各クエストにおいて、第1キャラクタと第2キャラクタとを対戦させる(戦闘を行わせる)。該戦闘において、第1キャラクタが第2キャラクタに勝利することにより、ストーリーモードが進行する。1つのクエストは、複数の戦闘を含んでいてもよい。複数の戦闘を含むクエストの一例として、複数の第1キャラクタと、複数の第2キャラクタとを順番に、1対1で戦闘させるものであってもよい。以降、各戦闘を、「ラウンド」と記載する場合がある。このクエストは、例えば、複数の第1キャラクタがすべて勝利したとき、クリアとなるものであってもよい。以降、本実施形態に係るクエストは、この形式で行われるものとして説明する。また、以降、この形式のクエストを「全勝戦」と称する。
能力差算出部112は、第1キャラクタ301と第2キャラクタ302との能力差を算出する。スキルポイント管理部113は、後述するスキルポイントを管理する。スタミナ管理部114は、後述するスタミナ(第6パラメータ)を管理する。
<対戦の具体例>
図3~6は、表示部152に表示されるゲーム画面の具体例を示す図である。より詳細には、図3~6は、本実施形態に係る、第1キャラクタと第2キャラクタとの対戦(戦闘)を描画する画面(対戦画面)の具体例を示す図である。対戦画面は、一例として、第1キャラクタ301、第2キャラクタ302、オブジェクトを含む。
第1キャラクタ301は、ユーザによる入力操作に基づいて動作する。具体的には、ゲーム実行部115は、操作受付部111が特定した入力操作に応じて、第1キャラクタ301を動作させる。
一例として、ゲーム実行部115は、対戦画面(すなわち、タッチスクリーン15)へのタップ操作に応じて、第1キャラクタ301に第1動作を実行させる。第1動作は、第2キャラクタ302に関連付けられた、対戦の勝敗を決定するためのパラメータを、第1キャラクタ301が対戦において有利になるように変動させるための動作である。換言すれば、第1動作は、図3に示すように、第2キャラクタ302の体力を減少させるために、第2キャラクタ302を攻撃する攻撃動作である。
また、一例として、ゲーム実行部115は、対戦画面へのスワイプ操作またはフリック操作などに応じて、第1キャラクタ301を移動させる。該移動の態様は、歩行および走行などの、いわゆる横方向の移動であってもよいし、ジャンプなどの、いわゆる縦方向の移動であってもよい。例えば、ゲーム実行部115は、左右方向のスワイプ操作またはフリック操作に応じて、第1キャラクタ301を歩行または走行させる。例えば、ゲーム実行部115は、上方向のスワイプ操作またはフリック操作に応じて、第1キャラクタ301をジャンプさせる。なお、所定の方向のスワイプ操作またはフリック操作の場合、ゲーム実行部115は、第1キャラクタ301を移動させず、別の動作を行わせてもよい。例えば、ゲーム実行部115は、下方向のスワイプ操作またはフリック操作に応じて、第1キャラクタ301をしゃがませてもよい。
また、対戦画面は、一例として、第1キャラクタ301の体力を示す体力ゲージ305A、および、第2キャラクタ302の体力を示す体力ゲージ305Bを含む。以降、体力ゲージ305Aおよび体力ゲージ305Bを総称して、「体力ゲージ305」と記載する場合がある。
体力ゲージ305Aは、第1キャラクタ301に関連付けられている。例えば、体力ゲージ305Aは、第1キャラクタ301の近傍(図3の例では頭部の上)に配置される。同様に、体力ゲージ305Bは、第2キャラクタ302に関連付けられている。例えば、体力ゲージ305Bは、第2キャラクタ302の近傍(図3の例では頭部の上)に配置される。ゲーム実行部115は、体力ゲージ305Aおよび体力ゲージ305Bそれぞれを、第1キャラクタ301および第2キャラクタ302の移動に追随して移動させてもよい。
図3に示す体力ゲージ305Aは、その全体が第1色に着色されている。第1色は、第1キャラクタ301および第2キャラクタ302の、現在の体力の値、換言すれば、第1キャラクタ301および第2キャラクタ302の残りの体力を示す。なお、図3の例では、第1色を黒塗りで示している。図3に示すように、体力ゲージ305Aの全体が第1色に着色されていることにより、ユーザは、第1キャラクタ301の体力が、初期値(最大値)であることを認識する。
図3に示すように、第1キャラクタ301による、第2キャラクタ302への攻撃が成功すると、体力算出部が、第2キャラクタ302の体力を減少させる。ゲーム実行部115は、この体力の減少に合わせて、体力ゲージ305Bを更新する。
一例として、ゲーム実行部115は、図3に示すように、体力ゲージ305Bの第1色に着色された領域のうち、体力の減少量に応じた面積を第1色と異なる第2色で着色する。換言すれば、ゲーム実行部115は、体力ゲージ305Bにおける第1色に着色された領域の面積を、減少後の体力に基づいて減少させる。第2色は、第1キャラクタ301および第2キャラクタ302が攻撃を受けたことに基づいて算出された体力の減少量、換言すれば、第1キャラクタ301および第2キャラクタ302に与えられたダメージの合計値を示す。なお、図3の例では、第2色を白抜きで示している。このように体力ゲージ305Bを更新することにより、ユーザは、第1キャラクタ301の攻撃により、第2キャラクタ302の体力が減少したこと、および、第2キャラクタ302の残りの体力を認識する。
また、対戦画面は、一例として、戦闘の残り時間をカウントダウンするカウンタ304、ユーザの入力操作を受け付けるUI303A~303Dを含む。以降、UI303A~303Dを総称して、「UI303」と記載する場合がある。
UI303AおよびUI303B(第2UI部品)は、第1動作と比較して体力の減少量が大きい第2動作を第1キャラクタ301へ実行させるためのUIである。UI303Aは、第2動作の一種である、「サブスキルを使用する攻撃動作」(以下、サブスキル動作)の実行のためのUIである。UI303Bは、第2動作の一種である「メインスキルを使用する攻撃動作」(以下、メインスキル動作)の実行のためのUIである。メインスキル動作による攻撃が成功した場合の体力の減少量は、サブスキル動作による攻撃が成功した場合の体力の減少量に比べて大きい。
UI303AおよびUI303Bには、それぞれ、所定の条件(第2条件)を満たした場合に増加するポイントであるスキルポイント(第1パラメータ)が関連付けられており、UI303AおよびUI303Bは、それぞれ、現在のスキルポイントを示すスキルゲージ306Aおよびスキルゲージ306Bを含む。一例として、UI303AおよびUI303Bは、図3に示すように、中心が同じであって大きさの異なる2つの円からなるUIであり、2つの円の外縁に挟まれた領域がスキルゲージ306Aおよびスキルゲージ306Bである。ただし、UI303A、UI303B、スキルゲージ306A、およびスキルゲージ306Bの形状は一例であって、該形状は図3の例に限定されるものではない。
スキルポイントを増加させるための条件は、例えば、図3に示すように、第1キャラクタ301の第1動作により、第2キャラクタ302の体力を減少させたことであってもよい。該条件が満たされた場合、スキルポイント管理部113は、スキルポイントを増加させる。ゲーム実行部115は、UI303AおよびUI303Bに関連付けられたスキルゲージ306Aおよびスキルゲージ306Bを、スキルポイントの増加に合わせて更新する。
スキルゲージ306Aおよびスキルゲージ306Bは、対戦の開始時点では、その全体が第3色に着色されている。図3の例では、第3色を白抜きで示している。スキルゲージ306Aおよびスキルゲージ306Bの全体が第3色で着色されていることは、すなわち、スキルポイントが初期値であることを示す。
ゲーム実行部115は、図3に示すように、スキルゲージ306Aの第3色に着色された領域のうち、スキルポイントの増加量に応じた面積を第3色と異なる第4色で着色する。また、ゲーム実行部115は、図3に示すように、スキルゲージ306Bの第3色に着色された領域のうち、スキルポイントの増加量に応じた面積を第4色で着色する。UI303Aに関連付けられたスキルポイントと、UI303Bに関連付けられたスキルポイントとは、図3に示すように増加量が異なっていてもよい。
換言すれば、ゲーム実行部115は、スキルゲージ306Aおよびスキルゲージ306Bにおける第4色に着色された領域の面積を、それぞれ、増加後のスキルポイントに基づいて増加させる。第4色は、現時点でのスキルポイントの合計値を示す。なお、図3の例では、第4色を黒塗りで示している。このようにスキルゲージ306Aおよびスキルゲージ306Bを更新することにより、ユーザは、現時点でのスキルポイントを認識する。なお、ゲーム実行部115は、スキルゲージ306Aを第4色で着色し、スキルゲージ306Bを第4色とは異なる第5色で着色してもよい。
ゲーム実行部115は、第2キャラクタ302を、ゲームプログラム131に基づいて動作させる。一例として、ゲーム実行部115は、図4に示すように、第2キャラクタ302に、第1キャラクタ301を対象とする第1動作を実行させる(第1キャラクタ301を攻撃させる)。
該攻撃が成功した場合、体力算出部が第1キャラクタ301の体力を減少させる。これに伴い、ゲーム実行部115は、図4に示すように、体力ゲージ305Bの第1色に着色された領域のうち、体力の減少量に応じた面積を第2色で着色する。これにより、ユーザは、第2キャラクタ302の攻撃により、第1キャラクタ301の体力が減少したこと、および、第1キャラクタ301の残りの体力を認識する。
また、スキルポイント管理部113は、第2キャラクタ302の第1動作により、第1キャラクタ301の体力が減少したことにより、スキルポイントを増加させてもよい。換言すれば、第2キャラクタ302の第1動作による第1キャラクタ301の体力の減少が、スキルポイントを増加させる条件であってもよい。これにより、ゲーム実行部115は、図4に示すように、スキルゲージ306Aおよびスキルゲージ306Bにおける第4色に着色された領域の面積を、増加後のスキルポイントに基づいてさらに増加させている。
スキルポイントが所定の閾値(第3閾値)以上となった場合、ゲーム実行部115は、第1キャラクタ301を、第2動作を実行可能な状態とする。なお、本実施形態では、所定の閾値は、スキルポイントの最大値であるとする。第1キャラクタ301がサブスキル動作を実行可能な特殊状態となった場合、スキルゲージ306Aは、その全体が第4色に着色された状態となる。これにより、ユーザは、第1キャラクタ301がサブスキル動作を実行可能であることを認識する。また、第1キャラクタ301がメインスキル動作を実行可能な状態となった場合、スキルゲージ306Bは、その全体が第4色に着色された状態となる。これにより、ユーザは、第1キャラクタ301がメインスキル動作を実行可能であることを認識する。
第1キャラクタ301がサブスキル動作を実行可能な状態となった場合、一例として、ゲーム実行部115は、UI303Aへのタップ操作に応じて、図5に示すように、第1キャラクタ301にサブスキル動作を実行させる。また、第1キャラクタ301がメインスキル動作を実行可能な状態となった場合、一例として、ゲーム実行部115は、UI303Bへのタップ操作に応じて、図6に示すように、第1キャラクタ301にメインスキル動作を実行させる。サブスキル動作、メインスキル動作を第1キャラクタ301に実行させることにより、第2キャラクタ302の体力を大きく減少させることができる。
第2動作が実行されると、第1キャラクタ301の特殊状態は終了する。これにより、スキルポイント管理部113は、スキルポイントを初期値に戻す。このためユーザは、第2キャラクタ302との戦闘において、第1キャラクタ301を操作しながら所定の条件を満たすことで再度スキルポイントを増加させ、第2動作の再度の実行を目指す。
スキルポイントが初期値に戻ったことに伴い、ゲーム実行部115は、スキルゲージ306A、スキルゲージ306Bの全体を第3色で着色する。スキルポイントは、一例として、サブスキル動作およびメインスキル動作によって、第2キャラクタ302の体力を減少させたことにより増加してもよい。この例の場合、ゲーム実行部115は、スキルゲージ306A、スキルゲージ306Bの全体を、第2動作の実行に伴い第3色で着色した後、スキルポイントの増加量に応じて第4色で着色する(図5、図6参照)。
UI303Cは、第1動作、すなわち通常攻撃動作の実行のためのUIである。UI303Dは、第1キャラクタ301を無制限状態とするためのUIである。無制限状態とは、例えば、特殊状態が、第2動作の実行後も継続する状態である。つまり、ユーザは、第1キャラクタ301が無制限状態となることにより、所定時間、メインスキル動作およびサブスキル動作を、第1キャラクタ301に実行させ続けることができる。これにより、ユーザは、第2キャラクタ302の体力をさらに大きく減少させることができる。従って、ユーザは、第1キャラクタ301を無制限状態とすることにより、対戦に勝利できる可能性を高めることができる。
UI303Dには、第1キャラクタ301を無制限状態とするための特別ポイントが関連付けられており、UI303Dは、現在の特別ポイントを示すゲージ306Dを含む。一例として、UI303Dは、図5などに示すように、中心が同じであって大きさの異なる2つの円からなるUIであり、2つの円の外縁に挟まれた領域がゲージ306Dである。ただし、UI303Dおよびゲージ306Dの形状は一例であって、該形状は図5等の例に限定されるものではない。UI303Dおよびゲージ306Dは、例えば、UI303Aおよびスキルゲージ306Aと異なる形状であってもよい。
スキルポイント管理部113は、一例として、スキルポイントと同じ条件が満たされた場合に特別ポイントを増加させてもよい。この例において、特別ポイントは、スキルポイントより増加量が小さくてもよい。ゲージ306Dは、対戦の開始時点では、その全体が第6色に着色されている。図3などの例では、第6色を白抜きで示している。ゲージ306Dの全体が第6色で着色されていることは、すなわち、特別ポイントが初期値であることを示す。
ゲーム実行部115は、図3などに示すように、ゲージ306Dの第6色に着色された領域のうち、特別ポイントの増加量に応じた面積を第6色と異なる第7色で着色する。図3などの例では、第7色を黒塗りで示している。このようにゲージ306Dを更新することにより、ユーザは、現時点での特別ポイントを認識する。
特別ポイントが所定の閾値以上となった場合、ゲーム実行部115は、第1キャラクタ301を無制限状態とする。なお、本実施形態では、該所定の閾値は、特別ポイントの最大値であるとする。特別ポイントが最大値となった場合、ゲージ306Dは、その全体が第7色に着色された状態となる。これにより、ユーザは、第1キャラクタ301を無制限状態とすることが可能であることを認識する。ゲーム実行部115は、特別ポイントが最大値となった状態でUI303Dへのタップ操作を受け付けることにより、第1キャラクタ301を無制限状態とする。
UI303は、図3などに示すように、対戦画面の端部に配置されることが好ましく、対戦画面の下端部に配置されることがより好ましい。これにより、ユーザは、第1キャラクタ301を第2キャラクタ302と対戦させながら、容易にUI303をタップすることができる。
なお、図2に示すユーザ端末100の機能は一例にすぎない。サーバ200は、ユーザ端末100が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末100およびサーバ200以外の他の装置をゲームシステム1の構成要素とし、該他の装置にゲームシステム1における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、ユーザ端末100、サーバ200、および他の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
<ストーリーモードのサイクル>
図7は、本実施形態に係るゲームプログラムに基づいて、ユーザ端末において実行される処理の流れを示すフローチャートである。換言すれば、図7は、本ゲームにおけるストーリーモードのサイクルを示すフローチャートである。ステップS701において、制御部110は、マップ移動処理を実行する。ステップS702において、制御部110は、クエスト実行処理を実行する。ストーリーモードは、一例として、これら2つの処理を繰り返すことにより進行する。
(マップ移動処理の流れ)
図8は、図7に示すマップ移動処理の流れを示すフローチャートである。図9は、表示部152に表示されるゲーム画面の具体例を示す図である。より詳細には、図9は、マップ移動処理の実行時に表示される画面例を示す図である。以降、マップ移動処理の実行時に表示される画面を「マップ画面」と記載する。
ゲーム実行部115は、ゲームが開始されると、マップ画面を表示部152に表示する。マップ画面は、マップ40、スタミナゲージ401、およびスタミナカウンタ402を含む。マップ40は、平面的に配置される複数の区画42を少なくとも含み、第1キャラクタ301が、区画42間を移動することにより、ストーリーモードは進行する。
スタミナゲージ401は、ユーザに関連付けられたパラメータであるスタミナ(第6パラメータ)の現在値と最大値との差を示すUIである。スタミナは、第1キャラクタ301をマップ40上で移動させるために必要なパラメータである。換言すれば、スタミナは、第1キャラクタ301が区画42間を移動する度に減少する。スタミナの現在値が最大値である場合、スタミナゲージ401は、その全体が第8色で着色されている。図9の例では、第8色を黒塗りで示している。ゲーム実行部115は、スタミナが減少すると、スタミナゲージ401の第8色に着色された領域のうち、その減少量に応じた面積を第8色と異なる第9色で着色する。図9の例では、第9色を白抜きで示している。これにより、ユーザは、現時点でのスタミナを認識する。スタミナカウンタ402は、スタミナの現在値と最大値とを数値で示すUIである。これにより、ユーザは、現時点でのスタミナをより正確に認識することができる。図9の例では、スタミナの最大値は100であり、スタミナの現在値は40である。
区画42は、一例として、図9に示すように、区画42A~42Dに分類される。区画42Aは、第1キャラクタ301がまだ移動していない区画である。区画42Bは、第1キャラクタ301が移動したことのある区画であり、その旨を示すアイコン46を含む。
区画42Cは、チェックポイントであり、その旨を示すフラッグ44を含む。フラッグ44は、「○」が記載されたフラッグ44Aと、「×」が記載されたフラッグ44Bとを含む。区画42Cの詳細については後述する。
区画42Dは、その区画に移動することでアイテムを獲得することができる区画であり、その旨を示すアイコン45を含む。アイコン45は、配置された区画が、その区画に移動することでアイテムを獲得することができる区画であることをユーザに認識させる形状であることが望ましい。一例として、アイコン45は、図9に示すように宝箱のアイコンであってもよい。
第1キャラクタ301は、現在配置された区画42から、該区画42に隣接する区画42へ移動することができる。ゲーム実行部115は、その旨をユーザに認識させるために、第1キャラクタ301が配置された区画42から、隣接する6つの区画42にそれぞれ向かう6つの矢印161~166をマップ画面に含めてもよい。
ステップS801において、操作受付部111は、移動先の選択操作(第4操作)を受け付ける。一例として、操作受付部111は、移動先の選択操作として、第1キャラクタ301が移動可能な区画42へのタップ操作、あるいは、矢印161~166のいずれかへのタップ操作を受け付ける。ここでは、図9の矢印161が示す区画42が移動先として選択されたとする。
ステップS802において、スタミナ管理部114は、現在のスタミナが、移動に必要なスタミナ(第5閾値)以上であるか否かを判定する。ここで、本ゲームでは、1回の移動にスタミナが「2」必要であるとする。図9の例の場合、現在のスタミナは40であるので、スタミナ管理部114は、現在のスタミナが、移動に必要なスタミナ以上であると判定する。この場合、マップ移動処理は、ステップS803に進む。
図10は、表示部152に表示されるゲーム画面の具体例を示す図である。より詳細には、図10は、マップ移動処理の実行時に表示される画面例を示す図である。ステップS803において、ゲーム実行部115は、第1キャラクタ301を選択した移動先へ移動させる。これにより、第1キャラクタ301は、図10に示すように、別の区画42へ移動する。図9の例において、移動先として選択された区画42は区画42Aであったため、ゲーム実行部115は、第1キャラクタ301の移動に伴い、該区画42を、アイコン46を含む区画42Bとする。
また、スタミナ管理部114は、第1キャラクタ301の移動に伴い、スタミナを、1回の移動に必要なスタミナの分だけ減少させる。本実施形態では、1回の移動に必要なスタミナは「2」であるので、スタミナ管理部114は、スタミナを「2」減少させる。これにより、スタミナの現在値は「40」から「38」となる。ゲーム実行部115は、スタミナの減少に応じて、スタミナゲージ401およびスタミナカウンタ402を更新する。ゲーム実行部115は、一例として、スタミナゲージ401の第8色に着色された領域のうち、スタミナの減少量である「2」に応じた面積を第9色で着色する。また、ゲーム実行部115は、スタミナカウンタ402を、図9に示す「40/100」から、図10に示す「38/100」に更新する。
ステップS804において、ゲーム実行部115は、移動先の区画42にクエストが対応付けられているか否かを判定する。換言すれば、ゲーム実行部115は、移動先の区画42にてクエストがあるか否かを判定する。図11は、ゲーム情報132に含まれる情報の一例を示す図である。一例として、ゲーム実行部115は、図11(A)に示す区画とクエストとの対応付け情報321(以下、単に「対応付け情報321」と記載する)を参照して、移動先の区画42にてクエストがあるか否かを判定する。
対応付け情報321の「区画」のカラムの各セルには、区画42を識別するための区画IDが格納されている。また、「クエスト」のカラムの各セルには、クエストを識別するためのクエストIDが格納されている。区画IDおよびクエストIDは図11(A)の例に示すような4桁の数字に限定されるものではない。なお、「クエスト」のカラムには、「-」が格納されたセルが存在する。「-」はクエストが無いことを示す情報である。つまり、該情報と対応付けられた区画IDが示す区画42には、クエストがない。
ゲーム実行部115は、一例として、移動先の区画42を示す区画IDに、クエストIDが対応付けられているか、または、「-」が対応付けられているかを判定する。ここで、移動先の区画42の区画IDは「0001」であるとする。この場合、区画ID「0001」にはクエストID「0001」が対応付けられている。このため、ゲーム実行部115は、移動先の区画42にてクエストがあると判定する。この場合、マップ移動処理は、ステップS805に進む。
図12は、表示部152に表示されるゲーム画面の具体例を示す図である。より詳細には、図12は、マップ移動処理の実行時に表示される画面例、具体的には、クエスト開始画面を示す図である。ステップS805において、ゲーム実行部115は、クエスト開始画面を表示部152に表示する。クエスト開始画面は、第1キャラクタ301が移動した区画42で開始されるクエストの内容を示すととともに、クエストを開始するためのユーザの操作を受け付けるための画面である。ゲーム実行部115は、ゲーム情報132に含まれるクエスト情報を参照して、クエスト開始画面を生成し、表示部152に表示する。
クエスト情報とは、各クエストIDが示すクエスト、換言すれば、各区画42に対応付けられたクエストの内容を示す情報である。クエスト情報は、一例として、図11(B)に示すクエスト情報322であってもよい。ここで、クエスト情報322は、図10に示す例において、第1キャラクタ301が移動した区画42に対応付けられた、クエストIDが「0001」のクエストの内容を示す情報である。
クエスト情報322は、クエストID、クエストの戦闘ルールおよびクリア条件、クエストに登場する第2キャラクタ302(すなわち、敵キャラクタ)を示す情報、各第2キャラクタ302のレベルを示す情報を含む。図11(B)の例では、クエストIDとして「0001」が格納され、クエストの戦闘ルールおよびクリア条件として「全勝戦」が格納されている。また、第2キャラクタ302を示す情報として、第2キャラクタ302を識別するためのキャラクタIDが格納されている。一例として、クエスト情報322が示すクエストでは、5体の第2キャラクタ302が登場する。このため、クエスト情報322は5つのキャラクタIDが格納されている。なお、クエストに登場する第2キャラクタの数は、この例に限定されない。また、キャラクタIDは、図11(B)に示す4桁の数字に限定されない。また、クエスト情報322では、各第2キャラクタ302のキャラクタIDと対応付けて、レベルを示す数字が格納されている。なお、「レベル」とは、キャラクタの総合的な能力(強さ)を数値化したものである。
クエスト開始画面は、領域181~184、UI185(第4UI部品)、UI186、および領域187を含む。
領域181は、クエストの戦闘ルールおよびクリア条件をユーザに通知する領域である。図12の例では、領域181は「全勝戦」とのテキストを含む。つまり、図12に示す領域182は、クエストが、複数の第1キャラクタ301と、複数の第2キャラクタ302とを順番に、1対1で戦闘させるものであり、複数の第1キャラクタ301がすべて勝利したとき、クリアとなるものであることを示している。
領域182は、クエストに登場する第2キャラクタ302がアイコンとして配置される領域である。図12の例では、領域182は、クエスト「0001」に登場する5体の第2キャラクタ302それぞれを示すアイコン61~65を含んでいる。アイコン61~65の配置順は、クエストの各ラウンドに登場する第2キャラクタ302の順番に一致する。一例として、領域182の左端に示すアイコン61の第2キャラクタ302が最初のラウンド(第1ラウンド)に登場する。以降、アイコン62の第2キャラクタ302が第2ラウンド、アイコン63の第2キャラクタ302が第3ラウンド、アイコン64の第2キャラクタ302が第4ラウンド、アイコン65の第2キャラクタ302が第5ラウンドに登場する。
領域183は、クエストにおいて各第2キャラクタ302と戦闘させる第1キャラクタ301がアイコンとして配置される領域である。図12の例では、領域183は、5体の第2キャラクタ302それぞれと対戦する第1キャラクタ301を示すアイコン51~55を含んでいる。アイコン51~55の配置順は、クエストの各ラウンドにおいて、搭乗する第2キャラクタ302と戦闘させる第1キャラクタ301の順番に一致する。一例として、領域182の左端に示すアイコン51の第1キャラクタ301が第1ラウンドにて、アイコン61が示す第2キャラクタ302と戦闘する。アイコン52の第1キャラクタ301が第2ラウンドにて、アイコン62が示す第2キャラクタ302と戦闘する。アイコン53の第1キャラクタ301が第3ラウンドにて、アイコン63が示す第2キャラクタ302と戦闘する。アイコン54の第1キャラクタ301が第4ラウンドにて、アイコン64が示す第2キャラクタ302と戦闘する。アイコン55の第1キャラクタ301が第5ラウンドにて、アイコン65が示す第2キャラクタ302と戦闘する。
なお、以降、クエストに参加する第1キャラクタ301のグループを「デッキ」と記載する。ユーザは、デフォルトのデッキを事前に編成できる。領域183に含まれるアイコン51~55は、デフォルトのデッキに含まれる第1キャラクタ301を示す。また、領域183には、デッキの手動編成に関する機能がさらに設定されている。一例として、制御部110は、アイコン51~55の何れかへのタップ操作を受け付けると、ユーザが所有する第1キャラクタ301のアイコンの一覧を表示する。また、制御部110は、該一覧におけるアイコンの何れかへのタップ操作を受け付けると、該アイコンが示す第1キャラクタ301を、先にタップされたアイコンが示す第1キャラクタ301と入れ替える。すなわち、制御部110は、ユーザの操作に基づいて、デッキに含める第1キャラクタ301を変更する。
領域184は、ユーザによって選択された第1キャラクタ301をユーザに通知する領域である。領域184は、ユーザによって選択された第1キャラクタ301を示すアイコン174を含む。該第1キャラクタ301は、一例として、各ラウンドにおいてユーザが所定の操作を入力した場合に、該ラウンドにて戦闘を行っている第1キャラクタ301を助けるキャラクタである。
領域187は、クエストを開始するために必要なスタミナをユーザに通知する領域である。本ゲームでは、区画42間の移動の他、クエストを開始するためにもスタミナが必要である。本ゲームでは、領域187に示すように、クエストの開始にはスタミナが「10」必要であるとする。
UI186は、ユーザのタップ操作を受け付ける。UI186に対するタップ操作を受け付けると、制御部110は、デッキの自動編成を実行する。制御部110は、一例として、クエスト「0001」に登場する5体の第2キャラクタ302それぞれが有する各パラメータと、ユーザが所有する第1キャラクタ301それぞれが有する各パラメータとを互いに比較する。制御部110は、比較結果に基づいて、ユーザが所持する第1キャラクタ301のうち、各第2キャラクタ302の対戦相手として適切な第1キャラクタ301を5体選択する。
制御部110は例えば、ある第2キャラクタ302の対戦相手として、該第2キャラクタ302が有する第1属性に対して有利な第2属性を有する第1キャラクタ301を選択する。また、制御部110は例えば、ある第2キャラクタ302の対戦相手として、該第2キャラクタ302が有する攻撃力(第4パラメータ)よりも高い攻撃力を有する第1キャラクタ301を選択する。また、制御部110は例えば、ある第2キャラクタ302の対戦相手として、該第2キャラクタ302が有する防御力(第5パラメータ)よりも高い防御力を有する第1キャラクタ301を選択する。
ここで、攻撃力とは、通常攻撃動作、サブスキル動作、メインスキル動作に基づく攻撃が成功した場合に、対戦相手に与えるダメージ(すなわち、体力の変動量)を決定するためのパラメータである。また、防御力とは、通常攻撃動作、サブスキル動作、メインスキル動作に基づく攻撃を受けた場合のダメージを決定するためのパラメータである。すなわち、攻撃によるダメージは、攻撃を実行したキャラクタの攻撃力と、攻撃を受けたキャラクタの防御力とに基づいて決定される。
UI185は、クエストを開始するためのユーザのタップ操作(第3操作)を受け付ける。該タップ操作を受け付けると、スタミナ管理部114は、ステップS806において、現在のスタミナが、クエストを開始するために必要なスタミナ(第4閾値)以上であるか否かを判定する。本実施形態の例では、図10に示すように、スタミナの現在値は38であり、図12に示すように、クエストを開始するために必要スタミナは10であるので、スタミナ管理部114は、現在のスタミナが、クエストの開始に必要なスタミナ以上であると判定する。
この場合、スタミナ管理部114は、スタミナを、クエストを開始するために必要なスタミナの分だけ減少させる。本実施形態では、クエストを開始するために必要なスタミナは「10」であるので、スタミナ管理部114は、スタミナを「10」減少させる。これにより、スタミナの現在値は「38」から「28」となる。ゲーム実行部115は、スタミナの減少に応じて、スタミナゲージ401およびスタミナカウンタ402を更新する。そして、マップ移動処理は終了し、本ゲームは、図7に示すクエスト実行処理に進む。
換言すれば、スタミナの現在値が、クエストを開始するために必要なスタミナ以上である場合、クエストを開始するとともに、スタミナを、クエストを開始するために必要なスタミナ分だけ減少させる。
なお、スタミナ管理部114は、所定の条件が満たされた場合、スタミナを増加させる(回復させる)。一例として、スタミナ管理部114は、所定時間が経過する度に、スタミナを所定量増加させる。また、一例として、スタミナ管理部114は、ユーザが、本ゲームにおいて所定のアイテムを使用した場合に、スタミナを所定量増加させる。該アイテムは、クエストをクリアした報酬としてユーザに与えられる(ユーザに関連付けられる)ものであってもよいし、ユーザが課金を行うことによりユーザに与えられるものであってもよい。
以下の場合、マップ移動処理はステップS801に戻る。(1)ステップS802において、現在のスタミナが移動に必要なスタミナ未満であると判定された場合。(2)ステップS804において、移動先にクエストが無いと判定された場合。(3)ステップS806において、現在のスタミナがクエスト開始に必要なスタミナ未満であると判定された場合。
(区画42C)
ここで区画42Cについて説明する。一例として、ゲーム実行部115は、「×」が記載されたフラッグ44Bを含む区画42Cに第1キャラクタ301が移動した場合、フラッグ44Bを「○」が記載されたフラッグ44Aに変更する。第1キャラクタ301は、フラッグ44Aを含む区画42C間を、スタミナの減少無しで移動することができる。一例として、ユーザは、第1キャラクタがフラッグ44Aを含む区画42Cに第1キャラクタ301が配置された状態で、フラッグ44Aを含む別の区画42Cへのタップ操作を入力する。これにより、ゲーム実行部115は、第1キャラクタ301を、該別の区画42Cへ移動させる。
(クエスト実行処理の流れ)
図13は、図7に示すクエスト実行処理の流れを示すフローチャートである。クエスト実行処理は、一例として、スタミナの現在値がクエスト開始に必要なスタミナ以上である状態で、ユーザが図12に示すUI185へのタップ操作を入力した場合に開始される。
ステップS1301において、能力差算出部112は、対戦するキャラクタ間の能力差を算出する。図14は、ゲーム情報132に含まれる情報の一例を示す図である。一例として、能力差算出部112は、ゲーム情報132に含まれる、第1キャラクタ301のパラメータを示す第1キャラクタ情報、および、第2キャラクタ302のパラメータを示す第2キャラクタ情報を参照して、能力差を算出する。
図14(A)に示す第1キャラクタ情報323は、一例として、第1キャラクタ301を識別するキャラクタID、該キャラクタIDが示す第1キャラクタ301のレベル、体力(HP)、攻撃力、および、防御力を含む。図14(B)に示す第2キャラクタ情報324は、一例として、第2キャラクタ302を識別するキャラクタID、該キャラクタIDが示す第2キャラクタ302のレベル、体力(HP)、攻撃力、および、防御力を含む。能力差算出部112は、一例として、第1キャラクタ301の攻撃力および防御力、並びに、第2キャラクタ302の攻撃力および防御力を計算式「(第1キャラクタ301の攻撃力+第1キャラクタ301の防御力)/(第2キャラクタ302の攻撃力+第2キャラクタの防御力)」に代入することで能力差を算出する。この計算式によれば、算出された値が大きいほど、第1キャラクタ301が第2キャラクタ302に比べて能力が高いことを示す。
ステップS1302において、能力差算出部112は、算出した能力差が第1閾値以上であるか否かを判定する。ステップS1302の処理は、能力差が、(1)第1キャラクタ301が第2キャラクタ302に比べて能力が高いことを示し、(2)第1閾値以上であるとの第1条件を満たすか否かを判定する、と表現することもできる。
ステップS1302でYESの場合、すなわち、能力差算出部112が、能力差が第1閾値以上であると判定した場合、ステップS1303において、スキルポイント管理部113は、スキルポイントを最大値にする。なお、本実施形態では、スキルポイント管理部113はさらに、特別ポイントをも最大値にする。
ステップS1304において、ゲーム実行部115は対戦画面を生成する際、対戦画面にボーナス通知を追加する。ステップS1305において、表示制御部116は、ゲーム実行部115が生成した対戦画面を表示部152に表示する。
図15は、表示部152に表示されるゲーム画面の具体例を示す図である。より詳細には、図15は、ラウンドの開始時点における対戦画面の具体例を示す図である。図15に示す対戦画面は、UI311(第3UI部品)およびUI312(第1UI部品)を含む。
また、図15に示す対戦画面では、UI303Aおよび303Bが、スキルポイントが最大値となったことを示す態様となっている。すなわち、スキルゲージ306Aおよび306Bの全体が第4色で着色されている。これにより、ユーザは、戦闘開始時点において、すぐにサブスキル動作およびメインスキル動作を実行できることを認識する。また、図15に示す対戦画面では、UI303Dが、特別ポイントが最大値となったことを示す態様となっている。すなわち、ゲージ306Dの全体が第7色で着色されている。これにより、ユーザは、戦闘開始時点で第1キャラクタが無制限状態であることを認識する。つまり、ユーザは、戦闘開始直後から、所定時間が経過するまで、サブスキル動作およびメインスキル動作を第1キャラクタ301に連続して実行させ続けることができる。これにより、ユーザは、第1キャラクタ301を短い時間で勝利させることができる。
UI311は、対戦が開始されたことをユーザに通知するUIである。UI311は、一例として、図15に示すように「FIGHT!」とのテキストであってもよい。UI311は、一例として、対戦画面の略中央(第2位置)に配置される。これにより、ユーザは、対戦が開始されたことをすぐに認識することができる。
UI312は、能力差が第1条件を満たしたことをユーザに通知するUIである。UI311は、一例として、図15に示すように「ザコボーナス発生!」とのテキストであってもよい。UI311は、一例として、UI303の近傍に配置される。換言すれば、UI311は、対戦画面の端部(第1位置)に配置される。UI311がUI303の近傍に配置されることにより、ユーザは、能力差が第1条件を満たしたことのボーナスとして、スキルポイントおよび特別ポイントが最大値になったことをすぐに認識することができる。
UI311およびUI312が表示され続けると、対戦画面の視認性が低下するため、ゲーム実行部115は、UI311およびUI312の表示開始から第1時間が経過した場合、UI311およびUI312を非表示とする。
ステップS1306において、ゲーム実行部115は、開始された戦闘(ラウンド)において、戦闘処理を実行する。戦闘処理の詳細については、図3~図6を参照して既に説明しているため、ここでは繰り返さない。戦闘処理を実行した結果、そのラウンドにおける勝敗、すなわち、第1キャラクタ301が、第2キャラクタ302に勝利したか、あるいは敗北したかが決定される。
ステップS1307において、ゲーム実行部115は、クエストのクリア条件を満たしたか否かを判定する。本実施形態に係る例において、クエスト「0001」は全勝戦であるため、ゲーム実行部115は、5ラウンドすべてにおいて、第1キャラクタ301が勝利したか否かを判定する。ステップS1307でYES、すなわち、クリア条件を満たしていると判定した場合、ゲーム実行部115は、ステップS1308において、クリア後処理を実行し、クエスト実行処理は終了する。ゲーム実行部115は、例えば、クリア後処理において、クエストをクリアしたことを示す画面を表示してもよい。該画面は、例えば、クエストをクリアしたことによる報酬を示す画像を含んでいてもよい。
ステップS1307でNO、すなわち、クエストのクリア条件を満たしていないと判定した場合、ゲーム実行部115は、ステップS1309において、ユーザがクエストのクリアに失敗したか否かを判定する。本実施形態に係る例において、クエスト「0001」は全勝戦であるため、ゲーム実行部115は、一例として、直近のラウンドで第1キャラクタ301が敗北したか否かを判定することにより、クリアに失敗したか否かを判定する。ステップS1309でYES、すなわち、クリアに失敗したと判定した場合、ゲーム実行部115は、ステップS1310において、クリア失敗処理を実行し、クエスト実行処理は終了する。ゲーム実行部115は、例えば、クリア失敗処理において、クエストのクリアに失敗したことを示す画面を表示してもよい。
本ゲームは、クエスト実行処理が終了すると、図7に示すように、マップ移動処理に戻る。すなわち、クリア後処理またはクリア失敗処理が実行された後、表示部152にはマップ画面が表示され、マップ移動処理が実行される。
ステップS1309でNO、すなわち、クリアに失敗していないと判定した場合、ゲーム実行部115は、クエストが終了していないと判定する。そして、クエスト実行処理は、ステップS1301に戻る。すなわち、能力差算出部112は、次のラウンドに登場する第1キャラクタ301の第1キャラクタ情報、および、第2キャラクタ302の第2キャラクタ情報を参照して、能力差を算出する。
ステップS1302でNOの場合、すなわち、能力差算出部112が、能力差が第1閾値未満であると判定した場合、ステップS1303およびS1304の処理は実行されず、ステップS1305の処理、すなわち、対戦画面を表示する処理が行われる。図16は、表示部152に表示されるゲーム画面の具体例を示す図である。より詳細には、図16は、ラウンドの開始時点における対戦画面の具体例を示す図である。
能力差が第1閾値未満であると判定された場合、ラウンドの開始時点における対戦画面は、図16に示すように、UI311およびUI312のうち、UI311のみを含む。また、図16に示すように、UI303Aおよび303Bが、スキルポイントが初期値であることを示す態様となっている。すなわち、スキルゲージ306Aおよび306Bの全体が第3色で着色されている。また、図16に示すように、UI303Dが、特別ポイントが初期値であることを示す態様となっている。すなわち、ゲージ306Dの全体が第6色で着色されている。
つまり、能力差が第1閾値未満であると判定された場合、スキルポイントおよび特別ポイントを最大値にする処理が行われずにラウンドが開始される。このため、ユーザは、対戦開始直後にサブスキル動作やメインスキル動作を第1キャラクタ301に実行させることができない。
<作用効果>
以上のように、ユーザ端末100のプロセッサ10は、ゲームプログラム131を実行することにより、第1キャラクタ301と第2キャラクタ302との能力差を算出する。そして、該能力差が、第1キャラクタ301が第2キャラクタ302に比べて能力が高いことを示し、かつ、第1閾値以上であるとの第1条件を満たす場合、スキルポイントおよび特別ポイントを最大値とする。
これにより、ユーザは、ラウンドの開始直後に、第1キャラクタ301にサブスキル動作やメインスキル動作を実行させることができる。つまり、ユーザは、ラウンドの開始直後に第2キャラクタ302に大きなダメージを与えることができる。これにより、第1キャラクタ301と第2キャラクタ302の対戦において、第1キャラクタ301が短時間で勝利する可能性が高くなる。つまり、プロセッサ10は、第1キャラクタ301に比べて弱い第2キャラクタ302との対戦において、短時間で第1キャラクタ301を勝利させて終わらせることができる。これにより、ユーザにとって興趣性の低い対戦は短時間で終わらせることができるため、ユーザのゲームをプレイする意欲を維持することができる。
本ゲームは、複数のクエストから構成され、各クエストにおける第1キャラクタ301と第2キャラクタ302との対戦に、第1キャラクタ301が勝利することによりゲームが進行する。つまり、短時間で第1キャラクタを勝利させて終わらせることにより、ユーザは、ゲームをスムーズに進行させることができる。結果として、ゲームの興趣性が向上する。
また、プロセッサ10は、対戦開始時点の対戦画面において、画面の略中央に、対戦が開始されたことをユーザに通知するUI311を表示し、画面の端部に配置されたUI303の近傍に、能力差が第1条件を満たしたことをユーザに通知するUI312を表示する。UI311およびUI312は、表示開始から第1時間が経過すると非表示となる。ここで、UI311とUI312とが互いに近くに表示されると、ユーザは、これらのUIが1つの情報を通知していると勘違いするおそれがある。つまり、ユーザに2つの情報を正しく理解させることができないおそれがある。これに対し、UI311とUI312とを離して表示することにより、ユーザに、限られた時間で2つの情報を迅速かつ正確に理解させることができる。
また、プロセッサ10は、ユーザによるクエストを開始するための操作、すなわち、UI185へのタップ操作を受け付けた場合、スタミナの現在値と、該クエストを開始するために必要なスタミナとを比較する。そして、スタミナの現在値が、クエストを開始するために必要なスタミナ以上である場合、クエストを開始するとともに、スタミナを、クエストを開始するために必要なスタミナ分だけ減少させる。
第2キャラクタ302が第1キャラクタ301に比べて弱い場合、スキルポイントや特別ポイントが最大値となるので、このキャラクタ同士の対戦は、第1キャラクタ301が短時間で勝利して終わる可能性が高い。これにより、クエストのクリアにかかる時間が短くなるので、ユーザは、より多くのクエストをプレイすることができる。一方で、より多くのクエストをプレイすると、スタミナを多く消費することとなる。結果として、第2キャラクタ302が第1キャラクタ301に比べて弱い場合、スキルポイントや特別ポイントが最大値とすることにより、ユーザに、高い頻度で、スタミナを回復するための操作を行わせることができる。
また、プロセッサ10は、第1キャラクタ301をマップ40上で移動させるための操作を受け付けた場合、スタミナの現在値と、移動に必要なスタミナとを比較する。そして、スタミナの現在値が、移動に必要なスタミナ以上である場合、第1キャラクタ301をマップ40上で移動させるとともに、スタミナを、移動に必要なスタミナ分だけ減少させる。これにより、さらにスタミナが消費されることとなるので、ユーザに、より高い頻度で、スタミナを回復するための操作を行わせることができる。
図12に示すクエスト開始画面は、各第1キャラクタ301の攻撃力および防御力、並びに、各第2キャラクタ302の攻撃力および防御力を示す画像を含まない。つまり、ユーザは、第2キャラクタ302の攻撃力および防御力を確認しながら、スキルポイントおよび特別ポイントが最大値となるようなキャラクタを、各第2キャラクタ302の対戦相手として選択する、といったデッキの構成を行うことができない。これにより、対戦が開始したときに、スキルポイントおよび特別ポイントが最大値となった場合、ユーザの喜びをより大きなものとすることができる。
なお、図12に示すクエスト画面は一例である。例えば、クエスト画面は、各第1キャラクタ301の攻撃力および防御力を示す画像を含んでいてもよい。また、例えば、クエスト画面は、各第1キャラクタ301および各第2キャラクタ302のレベルを示す画像を含んでいてもよい。また、例えば、クエスト画面は、各第1キャラクタ301および各第2キャラクタ302の属性を示す画像を含んでいてもよい。
〔実施形態2〕
本実施の形態に係る、ゲームシステム1に基づくゲームは、ユーザ端末100のユーザ(第1ユーザ)の入力操作に基づいて動作する第1キャラクタ301と、別のユーザ端末100のユーザ(第2ユーザ)の入力操作に基づいて動作する第2キャラクタ302とが協力して、敵キャラクタ(第3キャラクタ)と戦闘する。一例として、該ゲームのストーリーモードは、第1キャラクタ301と第2キャラクタ302とが敵キャラクタに勝利することにより進行する。以降、第1キャラクタ301と第2キャラクタ302とが協力して敵キャラクタと戦闘することを「共闘する」と記載する。
本実施形態では、サーバ200は、ユーザ端末100および別のユーザ端末100からそれぞれ受信した、第1キャラクタ301の動作に関する情報、および、第2キャラクタ302の動作に関する情報(以下、「動作情報」と記載する)を一旦記憶する。そして、サーバ200は、これらの動作情報を統合し、ユーザ端末100および別のユーザ端末100に送信する。これにより、同期処理が実行される。該同期処理により、ユーザ端末100および別のユーザ端末100は、互いの戦闘情報をほぼ同じタイミングで共有することができる。
(クエスト実行処理の流れ)
図17は、本実施形態に係るクエスト実行処理の流れを示すフローチャートである。なお、図13に示すクエスト実行処理と同じ処理を実行するステップについては、ここでは説明を繰り返さない。
ステップS1701において、能力差算出部112は、共闘するキャラクタ間の能力差を算出する。一例として、能力差算出部112は、ゲーム情報132に含まれる、第1キャラクタ301の第1キャラクタ情報を読み出す。また、能力差算出部112は、サーバ200を介して、別のユーザ端末100から、第2キャラクタ302の第2キャラクタ情報を取得する。そして、能力差算出部112は、第1キャラクタ情報および第2キャラクタ情報を参照して、能力差を算出する。なお、能力差の算出方法の詳細は、図13を参照しながら既に説明しているため、ここでは繰り返さない。
ステップS1702でYESの場合、すなわち、能力差算出部112が、能力差が第1閾値以上であると判定した場合、ステップS1703において、スキルポイント管理部113は、操作キャラクタ、すなわち、第1キャラクタ301のスキルポイントを最大値にする。なお、本実施形態では、スキルポイント管理部113はさらに、第1キャラクタ301の特別ポイントをも最大値にする。
このように、本実施形態に係るユーザ端末100のプロセッサ10は、ゲームプログラム131を実行することにより、共闘する第1キャラクタ301と第2キャラクタ302との能力差を算出する。そして、該能力差が、第1キャラクタ301が第2キャラクタ302に比べて能力が高いことを示し、かつ、第1閾値以上であるとの第1条件を満たす場合、スキルポイントおよび特別ポイントを最大値とする。
つまり、ユーザ端末100のユーザは、自身が使用する第1キャラクタ301に比べて弱い第2キャラクタ302を使用するユーザと協力してゲームをプレイすることにより、敵キャラクタとの戦闘を、スキルポイントおよび特別ポイントが最大値となった状態で行うことができる。これにより、ユーザに、弱いキャラクタを使用する別のユーザ(初心者など)と協力してゲームをプレイする動機づけを与えることができる。
〔実施形態3〕
本実施の形態に係る、ゲームシステム1に基づくゲームは、1つのラウンドに複数の第2キャラクタ(敵キャラクタ)302が登場する(存在する)。すなわち、第1キャラクタ301は、複数の第2キャラクタ302と対戦する。
(クエスト実行処理の流れ)
図18は、本実施形態に係るクエスト実行処理の流れを示すフローチャートである。なお、図13に示すクエスト実行処理と同じ処理を実行するステップについては、ここでは説明を繰り返さない。
ステップS1801において、能力差算出部112は、これから開始するラウンドに登場する第2キャラクタ302それぞれと、第1キャラクタ301との能力差を算出する。
ステップS1802において、能力差算出部112は、算出した能力差が第1閾値以上となる第2キャラクタ302が存在するか否かを判定する。
ステップS1802でYESの場合、すなわち、能力差算出部112が、能力差が第1閾値以上である第2キャラクタ302が存在すると判定した場合、ステップS1803において、制御部110は、能力値管理部として、能力差が第1閾値以上である第2キャラクタ302の数に応じて、第1キャラクタ301の攻撃力を上昇させる。一例として、制御部110は、能力差が第1閾値以上である第2キャラクタ302の数が多いほど、第1キャラクタ301の攻撃力の上昇量を大きくする。
このように、本実施形態に係るユーザ端末100のプロセッサ10は、ゲームプログラム131を実行することにより、複数の第2キャラクタ302のうち、第1キャラクタ301に比べて弱い第2キャラクタ302の数に応じて、第1キャラクタ301の攻撃力を上昇させる。これにより、第1キャラクタ301が第2キャラクタ302に与えるダメージが大きくなるので、プロセッサ10は、第1キャラクタ301に比べて弱い第2キャラクタ302がいる対戦において、短時間で第1キャラクタ301を勝利させて終わらせることができる。
〔実施形態4〕
本実施の形態に係る、ゲームシステム1に基づくゲームは、実施形態3に係るゲームと同様に、1つのラウンドに複数の第2キャラクタ(敵キャラクタ)302が登場する。
(クエスト実行処理の流れ)
図19は、本実施形態に係るクエスト実行処理の流れを示すフローチャートである。なお、図13に示すクエスト実行処理と同じ処理を実行するステップについては、ここでは説明を繰り返さない。
ステップS1901において、能力差算出部112は、これから開始するラウンドに登場する第2キャラクタ302それぞれと、第1キャラクタ301との能力差を算出する。
ステップS1902において、能力差算出部112は、全ての第2キャラクタ302について、算出した能力差が第1閾値以上となるか否かを判定する。
ステップS1902でYESの場合、すなわち、能力差算出部112が、全ての第2キャラクタ302について、能力差が第1閾値以上であると判定した場合、ステップS1903において、スキルポイント管理部113は、スキルポイントを最大値にする。なお、本実施形態では、スキルポイント管理部113はさらに、特別ポイントをも最大値にする。
このように、本実施形態に係るユーザ端末100のプロセッサ10は、ゲームプログラム131を実行することにより、全ての第2キャラクタ302が第1キャラクタ301に比べて弱い場合のみ、スキルポイントおよび特別ポイントを最大値とする。これにより、強い第2キャラクタ302(例えば、クエストのボスとして登場する第2キャラクタ302)と、弱い第2キャラクタ302とが登場するラウンドでは、スキルポイントおよび特別ポイントは最大値とならない。一方、弱い第2キャラクタ302のみが登場するラウンドでは、スキルポイントおよび特別ポイントは最大値となる。これにより、ボスと対戦するラウンドまでは迅速にゲームを進行させ、ボスと対戦するラウンドでは、ユーザの技量や戦術を駆使した対戦を行わせることができる。これにより、ゲームの興趣性が向上する。
〔変形例〕
能力差が、第1条件を満たす場合の処理は、上述した、第1キャラクタ301に関連付けられたスキルポイントおよび特別ポイントを最大値としたり、攻撃力を上昇させたりする処理に限定されない。該処理は、第1キャラクタ301が第2キャラクタ302に比べてゲームをさらに有利に進行させることができるように調整する処理であればよい。ゲームプログラム131に基づくゲームが、複数のキャラクタを対戦させるゲームである場合、該処理は、例えば、第1キャラクタ301が対戦に勝利しやすくなるように調整する処理であれば良い。該処理は、例えば、第1キャラクタ301と第2キャラクタ302とを対戦させるゲームにおいて、第2キャラクタ302の攻撃力、防御力、体力などのパラメータ(第2パラメータ)の少なくとも1つを低下させる処理であってもよい。また、該処理は、例えば、第1キャラクタ301と第2キャラクタ302とを対戦させるゲームにおいて、第2キャラクタがふっ飛びやすいように、ふっ飛びパラメータに関連付けられた所定の閾値を低下させる処理であってもよい。
能力差算出部112による能力差の算出方法は、上述した例に限定されない。例えば、能力差算出部112は、攻撃力、防御力の他、各キャラクタの体力にも基づいて、能力差を算出してもよい。あるいは、能力差算出部112は、各キャラクタのレベル差を能力差として用いてもよい。
UI312は、第1キャラクタ301が第2キャラクタ302に比べてゲームをさらに有利に進行させることができるように調整する処理が実行されたことを示すものであればよく、能力差が第1条件を満たしたことを示す物に限定されない。例えば、UI312は、「スキル実行可能!」といった、サブスキル動作およびメインスキル動作を実行可能であることを直接的に示すテキストであってもよい。
対戦画面において、UI311およびUI312を配置する位置は、それぞれ、対戦画面の略中央、および、対戦画面の端部に限定されない。UI311およびUI312は配置する位置が互いに離れていればよい。つまり、UI311およびUI312を配置する位置は、それぞれ、対戦画面における第1位置、および、対戦画面における、第1位置と異なる第2位置と表現することができる。
〔ソフトウェアによる実現例〕
制御部110の制御ブロックは、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、制御部110を備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
〔付記事項〕
本発明の一側面に係る内容を列記すると以下のとおりである。
(項目1) ゲームプログラムを説明した。本開示のある局面によると、ゲームプログラム(131)は、プロセッサ(10)を備えたコンピュータ(ユーザ端末100)により実行される。ゲームプログラムは、プロセッサに、第1ユーザの操作に基づいて動作する第1キャラクタ(301)と、第1キャラクタと異なる第2キャラクタ(302)との能力差を算出するステップ(S1301)と、能力差が、第1キャラクタが第2キャラクタに比べて能力が高いことを示し、かつ、第1閾値以上であるとの第1条件を満たす場合、第1キャラクタに関連付けられた第1パラメータ、および、第2キャラクタに関連付けられた第2パラメータの少なくとも一方を、第1キャラクタが第2キャラクタに比べてゲームをさらに有利に進行させることができるように調整するステップ(S1303)と、を実行させる。
(項目2) (項目1)において、ゲームは、複数のクエストから構成され、各クエストにおいて、第1キャラクタおよび第2キャラクタを含む複数のキャラクタによる対戦に、第1キャラクタが勝利することにより、ゲームが進行する。第1キャラクタの対戦相手は、ゲームプログラムに基づいて動作するキャラクタである。第1パラメータおよび第2パラメータは、対戦に関するパラメータである。調整するステップでは、能力差が第1条件を満たす場合、第1パラメータおよび第2パラメータの少なくとも一方を、第1キャラクタが対戦に勝利しやすくなるように調整する。
(項目3) (項目2)において、対戦相手は、第2キャラクタである。ゲームは、第1キャラクタが第2キャラクタとの対戦に勝利することにより進行する。
(項目4) (項目2)において、第2キャラクタは、第1ユーザと異なる第2ユーザの操作に基づいて動作するキャラクタである。対戦相手は、第1キャラクタおよび第2キャラクタと異なる第3キャラクタである。ゲームは、第1キャラクタおよび第2キャラクタが第3キャラクタとの対戦に勝利することにより進行する。調整するステップでは、能力差が第1条件を満たす場合、第1パラメータを、第1キャラクタが対戦に勝利しやすくなるように調整する。
(項目5) (項目2)から(項目4)において、ゲームプログラムは、プロセッサに、調整するステップが実行されたことを示す第1ユーザインターフェース(UI)部品を表示するステップ(S1304)をさらに実行させる。
(項目6) (項目5)において、複数のキャラクタのそれぞれには、対戦の勝敗を決定するための第3パラメータがさらに関連付けられている。ゲームプログラムは、プロセッサに、複数のキャラクタのうちのいずれかのキャラクタに、該キャラクタの対戦相手を対象とする、第1動作を実行させるステップと、第1動作に応じて、該第1動作の対象となったキャラクタの第3パラメータを、第1動作を実行したキャラクタが対戦において有利になるように変動させるステップと、変動後の第3パラメータが、第2閾値に到達した場合、第1動作を実行したキャラクタの対戦における勝利を確定させるステップと、をさらに実行させる。
(項目7) (項目6)において、複数のキャラクタのそれぞれには、自身が実行した第1動作の対象となったキャラクタの第3パラメータの変動量を決定するための第4パラメータと、第1動作の対象となった自身の第3パラメータの変動量を決定するための第5パラメータと、がさらに関連付けられている。能力差を算出するステップでは、少なくとも、第1キャラクタに関連付けられた第4パラメータおよび第5パラメータと、第2キャラクタに関連付けられた第4パラメータおよび第5パラメータと、に基づいて、能力差を算出する。
(項目8) (項目6)または(項目7)において、調整するステップは、対戦の開始までに実行される。第1パラメータは、第1キャラクタによる、対戦相手を対象とする、第1動作と比較して第3パラメータの変動量が大きい第2動作の実行に関するパラメータである。ゲームプログラムは、プロセッサに、対戦中に第2条件を満たした場合に、第1パラメータを増加させるステップと、第1パラメータが第3閾値以上となった場合、第1キャラクタを、第2動作を実行可能な状態とするステップと、をさらに実行させる。調整するステップでは、第1パラメータを第3閾値以上とする。
(項目9) (項目8)において、ゲームプログラムは、プロセッサに、対戦を描画する対戦画面とともに、第1パラメータの現在値と第3閾値との差を示す第2UI部品を表示するステップをさらに実行させる。第1UI部品は、能力差が第1条件を満たしたことを示すUIである。第1UI部品を表示するステップでは、第1UI部品を、対戦の開始時に、第2UI部品の近傍に表示する。
(項目10) (項目9)において、第2UI部品は、第1ユーザによる、第2動作を第1キャラクタに実行させるための第2操作を受け付けるものである。第2UI部品を表示するステップでは、第2UI部品を対戦画面の第1位置に表示する。ゲームプログラムは、プロセッサに、対戦の開始時に、対戦が開始したことを示す第3UI部品を、対戦画面の、第1位置と異なる第2位置に表示するステップ(S1305)と、第1UI部品および第3UI部品の表示開始から第1時間が経過した場合、第1UI部品および第3UI部品を非表示とするステップと、をさらに実行させる。
(項目11) (項目3)において、調整するステップでは、対戦相手として複数の第2キャラクタが存在する場合において、いずれかの第2キャラクタとの能力差が第1条件を満たす場合、第1パラメータおよび第2パラメータの少なくとも一方を、第1キャラクタが前記対戦に勝利しやすくなるように調整する。
(項目12) (項目11)において、調整するステップでは、能力差が第1条件を満たす第2キャラクタの数が多いほど、第1パラメータおよび第2パラメータの少なくとも一方の調整量を大きくする。
(項目13) (項目3)において、調整するステップでは、対戦相手として複数の第2キャラクタが存在する場合において、全ての第2キャラクタとの能力差が第1条件を満たす場合、第1パラメータおよび第2パラメータの少なくとも一方を、第1キャラクタが対戦に勝利しやすくなるように調整する。
(項目14) (項目2)から(項目13)のいずれかにおいて、第1ユーザには、クエストを開始するために必要な第6パラメータが関連付けられている。ゲームプログラムは、プロセッサに、第1ユーザによる、クエストを開始するための第3操作を受け付けた場合、第6パラメータの値と、該クエストに関連付けられた第4閾値とを比較するステップ(S806)と、第6パラメータが第4閾値以上である場合、クエストを開始するとともに、第6パラメータを、第4閾値分減少させるステップと、を実行させる。
(項目15) (項目14)において、ゲームプログラムは、プロセッサに、第1キャラクタが移動可能なマップ(40)を描画したマップ画面を表示するステップと、マップ画面が表示された状態で、第1ユーザによる、第1キャラクタをマップ上で移動させるための第4操作を受け付けた場合、第6パラメータの値と、第1キャラクタの移動に関連付けられた第5閾値とを比較するステップ(S802)と、第6パラメータが第5閾値以上である場合、第1キャラクタをマップ上で移動させるとともに、第6パラメータを、第5閾値分減少させるステップ(S803)と、第1キャラクタの移動先にクエストが関連付けられている場合、第3操作を受け付ける第4UI部品を表示するステップ(S805)と、を実行させる。
(項目16) 情報処理装置を説明した。本開示のある局面によると、情報処理装置(ユーザ端末100)は、ゲームプログラム(131)を記憶する記憶部(メモリ11)と、ゲームプログラムを実行することにより、情報処理装置の動作を制御する制御部(プロセッサ10)と、を備える。制御部は、第1ユーザの操作に基づいて動作する第1キャラクタ(301)と、第1キャラクタと異なる第2キャラクタ(302)との能力差を算出し、能力差が、第1キャラクタが第2キャラクタに比べて能力が高いことを示し、かつ、第1閾値以上であるとの第1条件を満たす場合、第1キャラクタに関連付けられた第1パラメータ、および、第2キャラクタに関連付けられた第2パラメータの少なくとも一方を、第1キャラクタが第2キャラクタに比べてゲームをさらに有利に進行させることができるように調整する。
(項目17) ゲームプログラムを実行する方法を説明した。本開示のある局面によると、ゲームプログラム(131)は、プロセッサ(10)を備えたコンピュータ(ユーザ端末100)によって実行される。方法は、プロセッサが、第1ユーザの操作に基づいて動作する第1キャラクタ(301)と、第1キャラクタと異なる第2キャラクタ(302)との能力差を算出するステップ(S1301)と、能力差が、第1キャラクタが第2キャラクタに比べて能力が高いことを示し、かつ、第1閾値以上であるとの第1条件を満たす場合、第1キャラクタに関連付けられた第1パラメータ、および、第2キャラクタに関連付けられた第2パラメータの少なくとも一方を、第1キャラクタが第2キャラクタに比べてゲームをさらに有利に進行させることができるように調整するステップと、を含む。