〔実施形態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が備えるこれらの構成は、通信バスによって互いに電気的に接続される。また、図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とは異なる入力装置(図示せず)から出力される信号をユーザの入力操作として特定し、受け付ける。
<ゲーム概要>
ゲームシステム1は、一例として、ユーザが対戦相手である相手ユーザと対戦するモード(第1ゲームモード)を含むゲームを実行するためのシステムである。
ゲームシステム1は、特定のジャンルに限らず、あらゆるジャンルのゲームを実行するためのシステムであってもよい。例えば、テニス、卓球、ドッジボール、野球、サッカーおよびホッケーなどのスポーツを題材としたゲーム、パズルゲーム、クイズゲーム、RPG、アドベンチャーゲーム、シューティングゲーム、シミュレーションゲーム、育成ゲーム、ならびに、アクションゲームなどであってもよい。
ゲームシステム1は、一例として、野球の試合を進行させる野球ゲームを実行する。具体的には、ゲームシステム1は、ユーザが操作する1以上のキャラクタが属する自チームと、相手ユーザが操作する1以上のキャラクタが属する相手チームとを対戦させる対戦モード(第1ゲームモード)を含む、対人対戦型の野球ゲームを実行する。なお、以降、対人対戦型の野球ゲームを、対戦型野球ゲームと称する場合がある。
一例として、対戦型野球ゲームが実行されるゲームシステム1において、サーバ200を介して通信する第1のユーザ端末100と第2のユーザ端末100とによって、それぞれのチームが操作される。そして、対戦型野球ゲームは、1イニングにつき、表と裏でチームの攻守が入れ替わりつつ進行する。以下では、あるイニングの表または裏において、守備側のチームを操作するユーザ端末100と、攻撃側のユーザ端末100とを互いに区別する必要がある場合、前者を投球側ユーザ端末100A、後者を打撃側ユーザ端末100Bと称する。両者を区別する必要がない場合には、単に、ユーザ端末100と称する。投球側ユーザ端末100Aのユーザを、投球側ユーザ、打撃側ユーザ端末100Bのユーザを、打撃側ユーザと称する。ただし、両ユーザを特に区別する必要がない場合、および、その区別が明らかな場合には、単にユーザと称する。投球側ユーザは、投球側ユーザ端末100Aを用いて、投手キャラクタによる投球を操作し、攻撃側ユーザは、打撃側ユーザ端末100Bを用いて、打者キャラクタによる打撃を操作する。
投球側ユーザ端末100Aは、投球側ユーザから受け付けた投球操作に応じて投球結果を決定し、該投球結果を含むデータ(図1に示す投球結果D1)を生成し、サーバ200に送信する。投球結果D1は、サーバ200を介して、対戦相手の打撃側ユーザ端末100Bに送信される。投球操作とは、投球側ユーザが、投手キャラクタに投球させるために、投球側ユーザ端末100Aの入力部151に対して実施する操作のことである。
打撃側ユーザ端末100Bは、打撃側ユーザから受け付けた打撃操作に応じて打撃結果を決定し、該打撃結果を含むデータ(図1に示す打撃結果D2)を生成し、サーバ200に送信する。打撃結果D2は、サーバ200を介して、対戦相手の投球側ユーザ端末100Aに送信される。打撃操作とは、打撃側ユーザが、打者キャラクタにボールを打撃させるために、打撃側ユーザ端末100Bの入力部151に対して実施する操作のことである。
本実施形態に係る対戦型野球ゲームにおいて、対戦に参加しているユーザ端末100のそれぞれは、投球結果D1と、打撃結果D2とに基づいて、対戦会場としての球場を模して定義された仮想空間(以下、ゲーム空間)についての計算を実行し、対戦を進行させる。投球結果D1および打撃結果D2は、一方が、自端末において生成されたものであり、他方が、相手ユーザが操作するユーザ端末100において生成されたものである。ゲーム空間についての計算には、例えば、投球されたボールの移動経路、振られたバットの位置、および、打撃後のボールの飛翔経路などを計算する処理、および、バットがボールに当たったか否か判定する処理などが含まれる。
本実施形態に係る通信対戦野球ゲームにおいて、各ユーザには、対戦の結果に基づいて増減されるレーティングが付与される。ゲームシステム1は、該レーティングに基づいて対戦相手のマッチングを実行する。
また、本実施形態に係る対戦型野球ゲームは、対戦モードと異なるモードであって、対戦モードにて使用される操作と同一の操作を用いるモード(第2ゲームモード)を含む。一例として、該モードは、打者キャラクタにボールを打撃させ、ホームランを狙うモードである。以降、このモードを「ホームランフェス」と称する場合がある。なお、ホームランフェスは、所定の開催期間のみプレイ可能な、いわゆるイベントであってもよい。この場合、ホームランフェスは、定期的にまたは不定期で何度開催されてもよい。なおホームランフェスの詳細については、以下で説明する。
<各装置のハードウェア構成要素>
プロセッサ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は、例えば、マウスまたはキーボード等の情報入力機器である入力部と、画像を表示出力する機器である表示部とを含み得る。
ユーザ端末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の機能的構成>
図2は、ゲームシステム1に含まれるサーバ200およびユーザ端末100の機能的構成を示すブロック図である。サーバ200およびユーザ端末100のそれぞれは、図示しない、一般的なコンピュータとして機能する場合に必要な機能的構成、および、ゲームにおける公知の機能を実現するために必要な機能的構成を含み得る。
ユーザ端末100は、ユーザの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。ユーザ端末100は、プロセッサ10、メモリ11、ストレージ12、通信IF13、および入出力IF14等の協働によって、制御部110および記憶部120として機能する。
サーバ200は、各ユーザ端末100と通信して、各ユーザ端末100が通信対戦ゲームを進行させるのを支援する機能を有する。サーバ200は、プロセッサ20、メモリ21、ストレージ22、通信IF23、および入出力IF24等の協働によって、制御部210および記憶部220として機能する。
記憶部120および記憶部220は、ゲームプログラム131、ゲーム情報132およびユーザ情報133を格納する。ゲームプログラム131は、ユーザ端末100およびサーバ200で実行するゲームプログラムである。ゲーム情報132は、制御部110および制御部210がゲームプログラム131を実行する際に参照するデータである。ユーザ情報133は、ユーザのアカウントに関するデータである。記憶部220において、ゲーム情報132およびユーザ情報133は、ユーザ端末100ごとに格納されている。
(サーバ200の機能的構成)
制御部210は、記憶部220に格納されたゲームプログラム131を実行することにより、サーバ200を統括的に制御する。例えば、制御部210は、ユーザ端末100に各種データおよびプログラム等を送信する。制御部210は、ゲーム情報もしくはユーザ情報の一部または全部をユーザ端末100から受信する。ゲームがマルチプレイゲームである場合には、制御部210は、ユーザ端末100からマルチプレイの同期の要求を受信して、同期のためのデータをユーザ端末100に送信してもよい。
制御部210は、ゲームプログラム131の記述に応じて、対戦支援部211として機能する。制御部210は、実行するゲームの性質に応じて、ユーザ端末100におけるゲームの進行を支援するために、図示しないその他の機能ブロックとしても機能することができる。
対戦支援部211は、各ユーザ端末100が通信対戦ゲームを進行させるのを支援する。具体的には、対戦支援部211は、対戦する各ユーザ端末100と通信して、ユーザ端末100同士のやりとりを仲介する。さらに、対戦支援部211は、対戦相手のマッチング、対戦の進行状況の同期をとるための同期制御などを実行する。
(ユーザ端末100の機能的構成)
制御部110は、記憶部120に格納されたゲームプログラム131を実行することにより、ユーザ端末100を統括的に制御する。例えば、制御部110は、ゲームプログラム131およびユーザの操作にしたがって、ゲームを進行させる。また、制御部110は、ゲームを進行させている間、必要に応じて、サーバ200と通信して、情報の送受信を行う。
制御部110は、ゲームプログラム131の記述に応じて、操作受付部111、表示制御部112、UI制御部113、アニメーション生成部114、および、ゲーム進行部115として機能する。制御部110は、実行するゲームの性質に応じて、ゲームを進行させるために、図示しないその他の機能ブロックとしても機能することができる。
操作受付部111は、入力部151に対するユーザの入力操作を検知し受け付ける。操作受付部111は、タッチスクリーン15およびその他の入出力IF14を介したコンソールに対してユーザが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部110の各要素に出力する。
例えば、操作受付部111は、入力部151に対する入力操作を受け付け、該入力操作の入力位置の座標を検出し、該入力操作の種類を特定する。操作受付部111は、入力操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、操作受付部111は、連続して検知されていた入力が途切れると、タッチスクリーン15から接触入力が解除されたことを検知する。
UI制御部113は、ユーザインターフェース(以下、UI)を構築するために表示部152に表示させるUIオブジェクトの表示態様を制御する。UIオブジェクトは、ユーザが、ゲームの進行上必要な入力をユーザ端末100に対して行うためのツール、または、ゲームの進行中に出力される情報をユーザ端末100から得るためのツールである。UIオブジェクトは、例えば、アイコン、ボタン、リスト、メニュー画面等である。
また、対戦進行中、とりわけ、投球操作、または、打撃操作を支援するためのUI部品の表示態様を制御する。打撃操作を支援するUI部品としては、例えば、打撃の良好なタイミングを示すタイミングヒントオブジェクト、投手キャラクタから投げられたボール、投球の進行方向の変化を示す方向ヒントオブジェクト、投球の到達予定位置を示す位置ヒントオブジェクト、および、バットとボールとの当たりを判定するためのミートカーソル等がある。投球操作を支援するUIオブジェクトとしては、例えば、球種選択オブジェクト、コース提示オブジェクト、コース選択オブジェクト、および、投球タイミングオブジェクト等がある。
アニメーション生成部114は、各種オブジェクトの制御態様に基づいて、各種オブジェクトのモーションを示すアニメーションを生成する。例えば、投手キャラクタの投球動作のアニメーション、打者キャラクタの打撃動作のアニメーション、該打者キャラクタが振るバットのアニメーション、投手キャラクタによって投げられたボールのアニメーション、打者キャラクタによって打たれたボールのアニメーション、走者キャラクタの走塁動作のアニメーション、および、野手キャラクタの捕球動作および送球動作のアニメーション等を生成してもよい。
表示制御部112は、タッチスクリーン15の表示部152に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部112は、アニメーション生成部114によって生成されたアニメーションを含むゲーム画面を表示部152に表示してもよい。また、表示制御部112は、上述のUIオブジェクトを、該ゲーム画面に重畳して描画してもよい。
ゲーム進行部115は、本実施形態に係る対戦型野球ゲームを進行させる。一例として、ゲーム進行部115は、対戦モードにおいて、サーバ200との間でデータの送受信を行って、相手ユーザとの対戦を進行させる。また、ゲーム進行部115は、ホームランフェスを進行させる。また、ゲーム進行部115は、UI制御部113、アニメーション生成部114および表示制御部112を制御して、ユーザが本野球ゲームをプレイするために必要な上述のUIをユーザに提供する。
以下で参照する図示された各ゲーム画面は、UI制御部113が生成するUI部品、アニメーション生成部114が生成するアニメーション、または、これらを組み合わせによって構成される。UI制御部113またはアニメーション生成部114によって生成されたゲーム画面は、表示制御部112によって、ユーザ端末100の表示部152に表示される。表示制御部112、UI制御部113およびアニメーション生成部114は、ゲーム進行部115の制御下で、ゲーム画面を表示部152に表示するための処理を実行する。よって、「ゲーム進行部115が、ゲーム画面を表示部152に表示する」という記載は、「ゲーム進行部115が、UI制御部113またはアニメーション生成部114を制御して、UI部品またはアニメーションを生成させ、表示制御部112を制御して、生成されたUI部品またはアニメーションを含むゲーム画面を表示部152に表示させる」ことを意味する。
なお、図2に示すサーバ200およびユーザ端末100の機能は一例にすぎない。サーバ200は、ユーザ端末100が備える機能の少なくとも一部を備えていてもよい。また、ユーザ端末100は、サーバ200が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末100およびサーバ200以外の他の装置をゲームシステム1の構成要素とし、該他の装置にゲームシステム1における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、ユーザ端末100、サーバ200、および他の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
<マッチングについて>
本実施形態では、対戦相手のマッチングは、ユーザに付与されているレーティング(評価値)に基づいて、サーバ200の対戦支援部211によって実行される。
レーティングとは、対戦におけるユーザの強さを表す指標である。レーティングは、所定の演算式に基づき、ユーザ同士の対戦の結果(具体的には、勝敗)と、各ユーザの対戦前のレーティングの差分とに基づいて更新される。
レーティングの算出および更新の処理は、サーバ200の対戦支援部211が実行してもよいし、ユーザ端末100(クライアント、コンピュータ)のゲーム進行部115が実行してもよい。いずれにしても、ユーザに付与されている最新のレーティングは、サーバ200とユーザ端末100との間で共有されている。
以下では、一例として、ユーザに付与されているレーティングの更新は、サーバ200によって行われるものとして説明する。
対戦支援部211は、対戦相手をマッチングするために参照するレーティングをユーザごとに管理する。対戦支援部211は、例えば、マッチングにより対戦をプレイしたユーザ同士について、対戦前の各ユーザのレーティングの差分値と、対戦の勝敗とに基づいて、対戦後の各ユーザのレーティングを更新する。
対戦支援部211は、例えば、初期値として値「1500」を各ユーザに設定する。ユーザXとユーザYとが対戦し、ユーザXが勝利し、ユーザYが敗北した場合に、
以下の式1および式2に従って、対戦後のレーティングが更新される。
〔式1〕 対戦後の勝利側のユーザ(ユーザX)のレーティング = 勝利側のユーザ(ユーザX)の対戦前のレーティング + 32 + (敗北した側(ユーザY)のレーティング − 勝利した側(ユーザX)のレーティング)×0.04
〔式2〕 対戦後の敗北側のユーザ(ユーザY)のレーティング = 敗北側のユーザ(ユーザY)の対戦前のレーティング − 32 + (敗北した側(ユーザY)のレーティング − 勝利した側(ユーザX)のレーティング)×0.04
対戦前後において変動するレーティングに幅(上限値および下限値)を設けてもよい。例えば、変動するレーティングの幅として、最大値「64」、最小値「4」などと設定してもよい。対戦するユーザ間のレーティングの差が過度に大きい場合、式1または式2に従ってレーティングを計算すると、レーティングが高い方のユーザが、勝利したにもかかわらずレーティングが減少し、勝利したユーザが納得できないという事態が生じ得る。そこで、対戦前のレーティングから変動する幅に最大値および最小値を設定することで、そのような事態を回避し、ユーザの納得感を向上させることができる。
上述のとおり、本実施形態では、対戦相手を探索するために、ユーザのレーティングが参照される。そのため、ユーザは、自身のレーティングを上げれば上げるほど、レーティングの高い、すなわち、強い相手と戦いやすくなる。本実施形態によれば、この仕組みを利用することにより、対戦をプレイすることのユーザの動機付けを維持できる。さらには、強い相手と対戦することの動機付けを強化できる。
<ホームランフェスについて>
ユーザは、ゲームシステム1を利用して本対戦型野球ゲームをプレイする他のユーザと、対戦モードにおける対戦を行い、行った対戦の結果に応じてポイントを獲得する。そして、獲得したポイントの累計(ポイント累計)が所定値に到達すると、ユーザは、ホームランフェスをプレイすることができる。換言すれば、ゲームシステム1は、ポイント累計が所定値に到達したとき、ユーザに、ホームランフェスをプレイする権利を与える。すなわちユーザは、対戦モードにおける対戦を繰り返し、ポイントを集めることで、ホームランフェスをプレイする権利の獲得を目指すことになる。
一例として、対戦を行った結果ユーザに付与されるポイントは、対戦モードでの対戦の勝敗に基づいて決定されてもよい。また、該ポイントは、相手ユーザのレーティングに基づいて決定されてもよい。具体的には、対戦に勝利した場合、相手ユーザのレーティングの数値がポイントとして付与されてもよい。また、対戦に敗北した場合、相手ユーザのレーティングの三分の一の数値がポイントとして付与されてもよい。つまり、この例の場合、対戦を行った結果ユーザに付与されるポイントは、対戦した相手ユーザのレーティングが高いほど多くなる。また、該ポイントは、対戦における、ユーザのチームに属するキャラクタによるホームランの数に基づいて決定されてもよい。また、該ポイントは、対戦において、ゲームプログラムに基づくオート制御によりキャラクタを制御するモード(以下、オートモード)が選択されたか否かに基づいて決定されてもよい。一例として、オートモードが選択されていた時間が長いほど、該ポイントは少なく付与されてもよい。
本実施形態に係るホームランフェスは、ゲームプログラムに基づきユーザ端末100によって制御された投手キャラクタが投球するボールを、打者キャラクタに打撃させ、ホームランを狙う。ユーザは、打者キャラクタにボールを打撃させる打撃操作を入力することで、打者キャラクタにボールを打撃させる。
ホームランフェスの打者キャラクタは、自チームに属するキャラクタから1または複数のキャラクタが選択される。ホームランフェスはホームランを狙うモードであるため、当然、打撃したボールを遠くに飛ばす力(以下、「打撃力」と称する)が高いキャラクタが選択されることが好ましい。一例として、対戦モードにおける直近の対戦にて4番打者だった打者キャラクタが選択されてもよい。また、ホームランフェスが開始される前に、ユーザが自チームに属するキャラクタから打者キャラクタを選択してもよい。
ボールには、ゲームを有利に進めるために利用することができる報酬が関連付けられており、打者キャラクタがボールを打撃した打撃結果がホームランである場合、ユーザには、該ボールに対応付けられた報酬が付与される。これにより、ユーザにホームランフェスをプレイする動機づけを与えることができる。上述したように、ホームランフェスは対戦モードにおける対戦を行うことによりプレイする権利が与えられるため、報酬によってホームランフェスをプレイする動機づけを与えることにより、対戦モードにおける対戦を行う動機づけをも与えることができる。
報酬は、例えば、ゲーム上で利用可能なデジタルコンテンツであるゲーム媒体としてユーザに提供される。ゲーム媒体は、例えば、ユーザが操作するキャラクタが対応付けられたカードまたはフィギア、特殊な効果を持つアイテム、もしくは、キャラクタに身に付けさせることができる能力などである。あるいは、ゲーム媒体は、ゲーム上でユーザが行使できる権利(キャラクタを強化する権利、特殊なクエストをプレイする権利、アイテム所持枠を拡張する権利、ロックされているクエストまたはアイテムを解除する権利またはキャラクタ編成コスト上限を拡張する権利)などであってもよい。
報酬としてのゲーム媒体をユーザに付与することは、一例として、使用可能なステータスの該ゲーム媒体を、ユーザ識別情報に対応付けて、ゲームシステム1に含まれる少なくともいずれかのメモリに記憶させることにより実現される。
打撃結果がホームランである場合、ホームランフェスは継続される。すなわち、打撃結果がホームランである場合、再度、投手キャラクタがボールを投球する。一方、打撃結果がホームランでない場合、ホームランフェスは終了する。一例として、ホームランフェスにおけるボールの投球数(以下、球数)には、上限が設定されていてもよい。該上限は、例えば10球であってもよい。この例の場合、ホームランフェスは、1球目から上限として設定された球数まで連続してホームランを打った場合にも終了する。また、ホームランフェスは、一例として、上限として設定された球数すべてを打撃するものであってもよい。この例の場合、最終的なホームランの数に応じた報酬がユーザに付与されてもよい。
各ボールに関連付けられる報酬は、すべて同じであってもよいし、少なくとも1つが異なっていてもよい。2球目以降の所定球数目のボールに、それ以外のボールより価値が高い報酬が関連付けられていてもよい。例えば、5球目と10球目のボールに、1〜4球目および6〜9球目のボールより価値が高い報酬が関連付けられていてもよい。
また、各ボールを打撃する打者キャラクタが異なってもよい。一例として、ホームランフェスの打者キャラクタとして、対戦モードにおける直近の対戦にて3〜5番打者だった打者キャラクタが選択され、1、4、7、10球目を3番打者だった打者キャラクタ、2、5、8球目を4番打者だった打者キャラクタ、3、6、9球目を5番打者だった打者キャラクタが打撃するとしてもよい。
ユーザがホームランフェスをプレイする権利を有している場合、対戦モードにおける対戦が終了した後に、ホームランフェスをプレイするための操作をユーザに行わせるための画面が表示される。すなわち、対戦を行った後、該対戦によって獲得したポイントによりポイント累計が所定値に到達した場合、ユーザは、該戦に続いてホームランフェスをプレイすることができる。
また、一度ホームランフェスをプレイした後、再度ホームランフェスをプレイすることを希望するユーザは、対戦モードにおける対戦を行う必要がある。一例として、ホームランフェスのプレイにより、ポイント累計およびホームランフェスをプレイする権利はリセットされない。そして、ユーザがホームランフェスをプレイする権利を有している場合、対戦モードにおける対戦が所定回数行われた後、ホームランフェスは再度プレイ可能となる。このように構成することで、ホームランフェスに対するユーザのモチベーションの低下を防ぐとともに、対戦モードにおける対戦を行う動機づけをより強く与えることができる。なお、再度ホームランフェスをプレイするために必要な対戦数は、ホームランフェスをプレイする権利を獲得するために必要とした対戦数、すなわち、ポイントの累計が0から所定値に到達するまでに必要とした対戦数より少ないことが望ましい。一例として、該対戦数は1回であってもよい。また、ユーザが再度ホームランフェスをプレイするために必要な対戦数の対戦を行なって、再度ホームランフェスをプレイする場合、該ホームランフェスは、前回のホームランフェスにおいてホームランを打てなかったボールから再開されてもよい。このように構成することにより、ユーザは、獲得していない報酬を獲得しやすくなる。
ポイント累計、獲得していない報酬、および、ホームランフェスをプレイする権利は、所定の時刻(例えば15時)にリセットされてもよい。ポイント累計およびホームランフェスをプレイする権利がリセットされると、ユーザは、ホームランフェスをプレイするために、ポイント累計が0から所定値に到達するまで、対戦モードにおける対戦を行う必要がある。また、報酬がリセットされることで、ユーザは、その報酬を獲得することができなくなる。このため、ユーザは、リセットされる前に全ての報酬を獲得するために、積極的にホームランフェスをプレイしようとする。つまり、このように構成することで、対戦モードにおける対戦を行う動機づけを、ユーザにより強く与えることができる。
<画面例>
図3から図11は、ユーザ端末100の表示部152に表示されるゲーム画面の一具体例を示す図である。
(マッチング要求画面)
図3に示すゲーム画面は、対戦モードにおける対戦を開始するためのマッチングをサーバ200に対して要求するための操作をユーザに行わせるためのUI画面である。該UI画面は、一例として、図3に示すマッチング要求画面300(マッチング画面)である。マッチング要求画面300は、ゲーム進行部115の指示にしたがって、UI制御部113によって生成され、表示制御部112によって表示部152に表示される。
マッチング要求画面300は、マッチングをサーバ200に対して要求するためのUIとして、対戦指示ボタン301(第1ユーザインターフェース部品)を含んでいる。例えば、ユーザが対戦指示ボタン301をタップすると、操作受付部111が該タップ操作を受け付ける。ゲーム進行部115は、対戦指示ボタン301に対するタップ操作が受け付けられたことに応じて、サーバ200に対して、マッチングを要求する。
マッチング要求画面300は、さらに、ポイント累計と所定値との差を表すポイントゲージ302を含む。ポイントゲージ302は、一例として、ポイントゲージ302の横方向の長さが、所定値を示している。ポイント累計が0の場合、ポイントゲージ302の色は、左端から右端まで同色(図示の例では白色)である。対戦が行われたことによりポイントが付与され、ポイント累計が0より大きい値となった場合、ゲーム進行部115は、ポイントゲージ302の左端(バットのグリップ側の端部)から、ポイント累計に応じた長さの領域の色を変化させる(図示の例では、色の変化を斜線のパターンで示している)。つまり、ポイント累計が所定値に到達したとき、ポイントゲージ302は、全ての領域の色が変化した状態となる。
これにより、ユーザは、ポイントゲージ302を見て、対戦モードでの対戦を行うか否か、行う場合、ホームランフェスをプレイ可能とするために何回対戦を行う必要があるか、などを想定することができる。これにより、ユーザは、該対戦後にホームランフェスをプレイ可能とするために、目標を設定しつつプレイすることとなるので、対戦の興趣性が向上する。また、ユーザは、対戦を行う場合、対戦指示ボタン301をタップすることで、すぐに対戦を開始することができる。すなわち、マッチング要求画面300がポイントゲージ302を含むことにより、ホームランフェスを行うモチベーションを持ったユーザに、すぐに対戦モードでの対戦を行わせることができる。
また、マッチング要求画面300は、好ましくは、ポイント累計が所定値に到達するために必要なポイントを示す残りポイント表示303を含んでいる。これにより、ユーザは、ポイント累計と所定値との差をより明確に理解することができる。また、マッチング要求画面300は、好ましくは、ポイント累計がリセットされるまでの残り時間を示す残り時間表示304を含んでいる。これにより、ユーザは、ポイント累計がリセットされるまでの残り時間を認識することができる。また、残り時間を示すことで、ユーザに、対戦モードでの対戦を積極的に行わせることができる。
(マッチング結果画面)
図4は、対戦開始の直前に、ユーザ端末100の表示部152に表示されるゲーム画面の具体例を示す図である。該ゲーム画面は、サーバ200から提供された対戦に係る各種情報を対戦開始前にユーザに提供するための画面である。該画面は、一例として、図4に示すマッチング結果画面400である。図3に示す対戦指示ボタン301がユーザにより操作されたことに従って、ゲーム進行部115がマッチングをサーバ200に対して要求した結果、対戦相手が見つかってマッチングが成立したとする。この場合、ゲーム進行部115は、UI制御部113などを制御して、図4に示すマッチング結果画面400を表示部152に表示させる。
マッチング結果画面400は、一例として、対戦開始のタイミングをユーザに知らせるためのカウントダウン405を含んでいてもよい。また、マッチング結果画面400は、会場変更通知406を含んでいてもよい。また、マッチング結果画面400は、ユーザ自身のユーザ名401、対戦相手である相手ユーザのユーザ名402、ユーザ自身のレーティング403、および、相手ユーザのレーティング404を含んでいてもよい。なお、ゲーム進行部115は、対戦指示ボタン617がユーザにより操作されてから、対戦相手が決定されるまで、マッチング結果画面400の前に、マッチング中画面(不図示)を表示させてもよい。一例として、マッチング中画面は、カウントダウン405、会場変更通知406、相手ユーザのユーザ名402、相手ユーザのレーティング404を含まないことを除けば、図4に示すマッチング結果画面と同じ画面であってもよい。
対戦により付与されるポイントが相手ユーザのレーティングに基づく場合、相手ユーザのレーティング404がマッチング結果画面400に表示されていることにより、ユーザは、事前に、相手ユーザに勝利した場合に獲得できるポイントの値を知ることができる。ここで、レーティング404が、ポイントゲージ302が示すポイント累計と所定値との差、および、ポイント表示303が示す数値よりも高い場合は、ユーザは、勝利することで、ホームランフェスをプレイする権利を獲得できることを対戦前に知ることができる。そのため、ユーザは、勝利への意欲を高めて、対戦プレイをより一層楽しむことができる。
(獲得ポイント画面)
図5は、対戦が終了した後に、ユーザ端末100の表示部152に表示されるゲーム画面の具体例を示す図である。該ゲーム画面は、対戦によってユーザが獲得したポイント、該ポイントによって更新されるポイント累計、および、更新後のポイント累計と所定値との差といった各種情報を、ユーザに提供するための画面である。該画面は、一例として、図5に示す獲得ポイント画面500である。獲得ポイント画面500は、ゲーム進行部115の指示に従って、対戦が終了した後にUI制御部113によって生成され、表示制御部112によって表示部152に表示される。具体的には、ゲーム進行部115は、対戦結果に基づいて、ユーザに獲得させるポイントを決定するとともに、決定されたポイントに基づいて、ポイント累計を更新する。そして、ゲーム進行部115は、決定したポイントおよび更新したポイント累計に基づいて、UI制御部113に獲得ポイント画面500を生成させる。
獲得ポイント画面500は、一例として、対戦の勝敗に応じて決定された、ユーザに付与されるポイントを示す勝敗ポイント表示501を含んでもよい。また、獲得ポイント画面500は、対戦における、ユーザのチームに属するキャラクタによるホームランの数に応じて決定された、ユーザに付与されるポイントを示すホームランポイント表示502を含んでもよい。また、獲得ポイント画面500は、更新後のポイント累計と所定値との差を示すポイントゲージ503を含んでもよい。なお、ポイントゲージ503は、更新前のポイント累計に獲得したポイントが加算されたことにより、ポイントゲージ503のポイント累計を示す部分(色が変化している部分)の端部(図示の例では右端部)が移動するアニメーションの結果として表示されてもよい。該アニメーションは、ゲーム進行部115の指示に従って、アニメーション生成部114によって生成され、表示制御部112によって、獲得ポイント画面500に組み込まれて表示部152に表示される。
図5では、ポイントが付与されたことにより、ポイント累計が所定値に到達した場合のポイントゲージ503を示している。一方、ポイント累計が所定値に到達していない場合、獲得ポイント画面500は、ポイントゲージ503に代えて、異なる態様のポイントゲージを含んでもよい。一例として、該ポイントゲージは、図5に示すポイントゲージ503が有する「ゲージMAX!」という画像を含まないものであってもよい。
(ホームランフェス開始要求画面)
図6は、図5に示すようにポイント累計が所定値に到達した場合、獲得ポイント画面500に引き続いてユーザ端末100の表示部152に表示されるゲーム画面の具体例を示す図である。該ゲーム画面は、ホームランフェスを開始するための操作をユーザに行わせるためのUI画面である。該UI画面は、一例として、図6に示すホームランフェス開始要求画面510である。ホームランフェス開始要求画面510は、ポイント累計が所定値に到達した場合、換言すれば、ホームランフェスをプレイする権利がユーザに与えられた場合、ゲーム進行部115の指示に従って、UI制御部113によって生成される。ホームランフェス開始要求画面510は、一例として、獲得ポイント画面500の表示から所定時間が経過した後に、表示制御部112によって、獲得ポイント画面500に代えて表示部152に表示される。
ホームランフェス開始要求画面510は、ホームランフェスの開始を要求するためのUIとして、開始指示ボタン511(第2UI部品)を含んでいる。例えば、ユーザが開始指示ボタン511をタップすると、操作受付部111が該タップ操作を受け付ける。ゲーム進行部115は、開始指示ボタン511に対するタップ操作が受け付けられたことに応じて、ホームランフェスを開始する。
ホームランフェス開始要求画面510は、一例として、ホームランフェスによって獲得できる報酬を示す報酬画像512を含んでもよい。これにより、ユーザは、ホームランフェスを開始する前に、獲得できる報酬を知ることができる。そのため、ユーザは、ホームランフェスに対する意欲を高めて、ホームランフェスをより一層楽しむことができる。
また、ユーザは、対戦によって獲得したポイントに応じて、報酬を獲得可能であってもよい。このため、ホームランフェス開始要求画面510は、該報酬を獲得するためのゲーム画面(報酬獲得画面、不図示)を表示させるための報酬獲得ボタン513を含んでもよい。
該報酬は、獲得するために必要なポイントと関連付けられて、ゲーム情報132としてユーザ端末100の記憶部120に記憶されている。また、該報酬は、関連付けられたポイントをポイント累計から減算することで、ユーザに付与されるものであってもよいし、減算を必要とせずにユーザに付与されるものであってもよい。後者の場合、ポイント累計が、予め設定された複数の値のいずれかに到達するごとに、報酬と交換する権利がユーザに与えられると表現することもできる。
また、報酬獲得画面において獲得することができる報酬は、ホームランフェスによって獲得できる報酬と同じであってもよいし、異なっていてもよい。また、ホームランフェスによって獲得できる報酬は、報酬獲得画面において獲得することができる報酬より価値が高いものであってもよい。このように構成することにより、ユーザがホームランフェスを行う動機づけを強化することができる。
また、ホームランフェス開始要求画面510は、ホームランフェスを行わないことを要求するためのUIとして、省略指示ボタン514を含んでもよい。例えば、ユーザが省略指示ボタン514をタップすると、操作受付部111が該タップ操作を受け付ける。ゲーム進行部115は、省略指示ボタン514に対するタップ操作が受け付けられたことに応じて、例えば、図3に示すマッチング要求画面を表示部152に表示させる。
なお、ホームランフェスは、対戦終了後に必ず行われるものであってもよい。この場合、ホームランフェス開始要求画面510は、開始指示ボタン511および省略指示ボタン514を含まず、ゲーム進行部115は、ホームランフェス開始要求画面510の表示から所定時間が経過した後に、ホームランフェスを開始するための画面遷移を行なってもよい。
(ルール画面)
図7は、ホームランフェス開始の直前に、ユーザ端末100の表示部152に表示されるゲーム画面の具体例を示す図である。該ゲーム画面は、ユーザにホームランフェスのルールを説明するための画面である。該画面は、一例として、図7に示すルール画面600である。ルール画面600は、図6に示す開始指示ボタン511がユーザにより操作されたことに従って、ゲーム進行部115の指示により、UI制御部113によって生成され、表示制御部112によって表示部152に表示される。
ルール画面600は、ホームランフェスのルールを記載したルール画像601を含んでいる。また、ルール画面600は、図7の(A)に示すように、ホームランフェスの開始を要求するためのUIとして、確認完了ボタン602を含んでもよい。また、ルール画面600は、図7の(B)に示すように、確認完了ボタン602を含まないものであってもよい。この場合、ゲーム進行部115は、ルール画面600の表示から所定時間が経過した後に、ホームランフェスを開始してもよい。
また、ルール画面600は、図7の(B)に示すように、打撃結果がホームランとなる打撃を打者キャラクタに行わせるための打撃操作のコツをユーザに教示する、ヒント画像603を含んでもよい。これにより、ユーザが報酬を獲得しやすくなり、ホームランフェスに対するユーザのモチベーションを高めることができる。また、打撃操作という、対戦モードにおける対戦においても重要な操作について、ユーザの習熟度を上げることができる。
なお、図示してはいないが、確認完了ボタン602とヒント画像603との両方が、ルール画面600に含まれていてもよい。
(ホームランフェスにおける打撃画面)
図8は、ホームランフェスの進行中に、ユーザ端末100の表示部152に表示されるゲーム画面の具体例を示す図である。該ゲーム画面は、ゲーム進行部115の指示に従って、UI制御部113が生成したUI部品と、アニメーション生成部114が生成したアニメーションとを含んで生成される。生成された該ゲーム画面は、表示制御部112によって表示部152に表示される。
図8に示すゲーム画面は、具体的には、ユーザが打撃操作を入力することにより、打者キャラクタにボールを打撃させるための打撃画面610である。該打撃画面610には、球場を模した仮想空間をある視点(例えば、捕手キャラクタまたは主審の視点)から捉えた場面が描出され、該仮想空間に配置されている各種オブジェクトも併せて描出される。
具体的には、仮想空間には、ユーザ自身が操作する打者キャラクタ611、打者キャラクタ611が操作するバット612、ゲームプログラムに基づきユーザ端末100によって制御される投手キャラクタ613、および、ホームベース607等が配置されている。なお、ボールは、仮想空間内に配置されているが、図8に示す打撃画面610が表示されているタイミングでは、投手キャラクタ613のグローブの中に配置されており、図示されていない。これらのオブジェクトのアニメーションは、アニメーション生成部114によって制御される。
さらに、打撃画面610には、ユーザが打者キャラクタを操作したり、各種情報を得たりするための各種UIオブジェクトが重畳表示されてもよい。例えば、ミートカーソル614、タイミングヒントオブジェクト615、打者キャラクタ情報621、投手総合パラメータ625、ホームラン数表示626、報酬情報627などが重畳表示されてもよい。
本実施形態において、打者キャラクタ611に打撃動作を行わせる方法は、特に限定されてないが、一例として、以下のような方法が採用される。仮想空間である球場において、投手キャラクタ613が立っている位置(以下、第1位置)と、図示しない捕手キャラクタが立っている位置(以下、第2位置)との間に、ホームベース616が配置されている。ゲーム進行部115は、ホームベース616上に、第1位置から第2位置に向かう方向に交差する方向に延在する交差面を設定する。交差面は、例えば、ストライクゾーンと、該ストライクゾーンの外側に配置されるボールゾーンとを含んでいてもよい。これらのゾーンは、可視化され、打席画面に描出されてもよい。
さらに、ミートカーソル614およびタイミングヒントオブジェクト615が交差面に配置され、打撃画面610に描出される。ミートカーソル614は、バット612がスイングされた際に、交差面においてボールに作用を与え得る領域を示す標識である。ミートカーソル614は、バット612がスイングされたときの到達予定位置に設定される領域であり、特に良好な打撃力によってボールに作用を与えることができる領域である。
本実施形態において、打者キャラクタ611に打撃動作を行わせるための打撃操作は、少なくとも、ミートカーソル614の位置を指定するためのスワイプ操作と、ミートカーソル614の該位置に向けてバット612を振るタイミングを指定するためのフリック操作(またはタップ操作)とを含む。つまり、スワイプ操作が、投球に対して打撃を行う位置を指定する操作であり、フリック操作またはタップ操作が、該打撃を行うタイミングを指定する操作である。
なお、タイミングヒントオブジェクト615は、一例として、ミートカーソル614の中心と一致する中心を有し、ミートカーソルを内包する円である。タイミングヒントオブジェクト615は、フリック操作によってミートカーソル614とともに移動する。
また、タイミングヒントオブジェクト615は、円の大きさが、ボールが第1位置にあるときに最も大きく設定され、ボールが交差面に到達するときに最も小さく(例えば、ボールと同じ大きさに)設定される。タイミングヒントオブジェクト615は、ボールが第2位置に近づくにつれて、中心に向かって小さくなるように描出される。タイミングヒントオブジェクト615が中心に向かって徐々に小さくなるアニメーションは、アニメーション生成部114によって生成される。ユーザは、タイミングヒントオブジェクト615の大きさを確認することにより、打撃操作を入力するベストタイミングを知ることができる。例えば、ユーザは、タイミングヒントオブジェクト615が徐々に収縮してボールと大きさが一致したときをベストタイミングと認識すればよい。
打者キャラクタ情報621は、打者キャラクタ名622、打者キャラクタの打撃力623、および打者キャラクタの総合パラメータ624を含んでいる。
総合パラメータとは、打撃力などのキャラクタのスキルの種別に関係なく、キャラクタの総合的な強さを数値化したものであり、キャラクタごとに設定される。一例として、総合パラメータは、ホームランフェスにおいて、打者キャラクタ611と投手キャラクタ613との強さを比較するために参照されてもよい。具体的には、総合パラメータが相手を上回ったキャラクタが有利となるような処理がなされてもよい。
一例として、図示のように、打者キャラクタ611の総合パラメータ624が、投手キャラクタ613の投手総合パラメータ625より高い場合、打者キャラクタ611の打撃力を増加させてもよい。これにより、よりホームランが出やすくなり、ユーザが報酬を獲得しやすくなる。一方、打者キャラクタ611の総合パラメータ624が、投手キャラクタ613の投手総合パラメータ625より低い場合、打者キャラクタ611の打撃力を減少させてもよい。
ホームラン数表示626は、現時点で打者キャラクタ611が打ったホームランの数を示す。ホームラン数表示626は、一例として、図示のように、上限として設定された球数(α)のうち、ホームランを打った球数(β)を「β/α」のように示してもよい。図示の打撃画面610は、1球目のボールを投球する前の画面であるため、ホームラン数表示626は、「0/10」となっている。換言すれば、ホームラン数表示626は、現時点でユーザが獲得した報酬の数と表現することもできる。
報酬情報627は、打者キャラクタ611が打撃した結果(打撃結果)がホームランとなったとき、ユーザが獲得することができる報酬を示す。報酬情報627は、一例として、図示のように3つの四角形の枠からなる。中央の枠内には、今から投球されるボールに対する打撃結果がホームランである場合に、ユーザが獲得することができる報酬が示される。つまり、図示の例の場合、1球目のボールの打撃結果がホームランである場合に、ユーザが獲得することができる報酬のアイコンが表示されている。また、右側の枠内には、今から投球されるボールの次に投球されるボールの打撃結果がホームランである場合に、ユーザが獲得することができる報酬のアイコンが表示される。つまり、図示の例の場合、2球目のボールの打撃結果がホームランである場合に、ユーザが獲得することができる報酬のアイコンが表示されている。なお、左側の枠内には、直前に獲得した報酬のアイコンが表示されるが、図示の例では、今から投球されるボールが1球目であるため、報酬のアイコンは表示されていない。
ゲーム進行部115は、操作受付部111が打撃操作、より具体的にはフリック操作またはタップ操作を受け付けると、打撃結果がホームランであるか否かを判定する。ホームランであると判定した場合、ゲーム進行部115は、直近に投球されたボールが、最後のボールであるか否かを判定する。図8の例の場合、ゲーム進行部115は、10球目であるか否かを判定する。最後のボールでない場合、ゲーム進行部115は、ホームランフェスを継続する。
図9は、ホームランフェスの進行中に、ユーザ端末100の表示部152に表示されるゲーム画面の具体例を示す図である。具体的には、図8に示す打撃画面610、すなわち、1球目のボールの打撃結果がホームランである場合に、図8に示す打撃画面610の後に表示される打撃画面610である。より具体的には、投手キャラクタ613が、2球目のボールを投球する前の打撃画面610である。
図9に示す打撃画面610が、図8に示す打撃画面610と異なる点は、まず、ホームラン数表示626が、ホームランを1本打ったことを示す画像となっている点、報酬情報627において、中央の枠内に、図8では右側の枠内に示されていた報酬のアイコンが表示されている点である。図8において中央の枠内に示されていた報酬のアイコンは、図9では、獲得したことを認識可能な態様で、左側の枠内に表示されている。なお、獲得したことを認識可能な態様とは、例えば、図示のように、「GET」と記載されたアイコンを報酬のアイコンに重畳させたものであってもよい。
また、図9に示す打撃画面610では、投手キャラクタ613の総合パラメータが、図8に示す打撃画面と比べて増加している。このように、ゲーム進行部115は、ホームランフェスが進行するごとに、具体的には、球数が増えていくごとに投手キャラクタ613の総合パラメータを増加させてもよい。これにより、球数が増えていくごとに難易度が上がり、ホームランフェスの興趣性を向上させることができる。
なお、ゲーム進行部115は、球数が増えていくごとに、投手キャラクタ613が投球するボールのコースおよび球種の少なくとも一方を、よりホームランを打ちづらいものにしてもよい。例えば、1球目は真ん中にスローボールを投げさせる一方、10球目には外角低めにカーブを投げさせてもよい。
(結果画面)
ゲーム進行部115が、打撃結果がホームランであると判定し、かつ、直近に投球されたボールが最後のボールでないと判定した場合、ホームランフェスは継続する一方、打撃結果がホームランでないと判定した場合、または、直近に投球されたボールが、最後のボールであると判定した場合、ゲーム進行部115はホームランフェスを終了させる。
図10は、ホームランフェスが終了したときに、ユーザ端末100の表示部152に表示されるゲーム画面の具体例を示す図である。該ゲーム画面は、ホームランフェスの結果に関する各種情報を、ユーザに提供するための画面である。該画面は、一例として、図10の(A)に示す結果画面630、または、図10の(B)に示す結果画面640である。結果画面630および結果画面640は、ゲーム進行部115の指示に従って、ホームランフェスが終了したときにUI制御部113によって生成され、表示制御部112によって表示部152に表示される。
結果画面630および結果画面640は、一例として、ユーザがホームランフェスをプレイしたことにより獲得した報酬を示す獲得報酬画像631を含んでもよい。
図10の(A)に示す結果画面630は、ゲーム進行部115が、打撃結果がホームランでないと判定したことに基づきホームランフェスが終了した場合に表示される結果画面である。つまり、ユーザは、予め提示された報酬をすべて獲得することができていない。このため、結果画面630に含まれる獲得報酬画像631は、一部の報酬のアイコンについて、獲得されていないことを示す態様で表示されている。なお、図示の例では、「GET」と記載されたアイコンが重畳している報酬のアイコンは、ユーザが獲得した報酬を示し、「GET」と記載されたアイコンが重畳していない報酬のアイコンは、ユーザが獲得していない報酬を示している。
これに対して、図10の(B)に示す結果画面640は、ゲーム進行部115が、直近に投球されたボールが、最後のボールであると判定したことに基づきホームランフェスが終了した場合に表示される結果画面である。つまり、ユーザは、予め提示された報酬をすべて獲得している。このため、結果画面640に含まれる獲得報酬画像631は、すべての報酬のアイコンについて、獲得したことを示す態様で表示されている。なお、以降、結果画面640をコンプリート画面640と称する場合がある。
また、結果画面630および結果画面640は、該画面からの画面遷移をユーザ端末100に対して要求するためのUIとして、遷移指示ボタン632を含んでいてもよい。例えば、ユーザが遷移指示ボタン632をタップすると、操作受付部111が該タップ操作を受け付ける。ゲーム進行部115は、遷移指示ボタン632に対するタップ操作が受け付けられたことに応じて、例えば、図3に示すマッチング要求画面を表示部152に表示させる。
また、結果画面630および結果画面640は、対戦モードにおける対戦を開始するために、マッチングをサーバ200に対して要求するためのUIとして、対戦指示ボタン633を含んでいてもよい。上述したように、一度ホームランフェスをプレイした後、再度ホームランフェスをプレイすることを希望するユーザは、対戦モードにおける対戦を行う必要がある。このため、結果画面630および結果画面640に対戦指示ボタン633を含めることにより、ユーザは該画面から直接対戦を開始するためのマッチングを行うことができる。よって、対戦モードにおける対戦を再度行うために、一度マッチング要求画面300を表示させるという煩わしさをユーザに感じさせることなく、対戦モードにおける対戦を行わせることができる。
例えば、ユーザが対戦指示ボタン633をタップすると、操作受付部111が該タップ操作を受け付ける。ゲーム進行部115は、対戦指示ボタン633に対するタップ操作が受け付けられたことに応じて、サーバ200に対して、マッチングを要求する。そして、マッチングが成立した場合、ゲーム進行部115は、図4に示すマッチング結果画面400を表示部152に表示させる。
(ホームランフェスの再開)
図11は、ユーザがホームランフェスをプレイした後に、ユーザ端末100の表示部152に表示されるゲーム画面の具体例を示す図である。図11の(A)は、ユーザがホームランフェスをプレイした後、ホームランフェスをプレイする権利がリセットされる前に対戦モードにおける対戦を行い、該対戦が終了した後に表示されるホームランフェス開始要求画面510である。
図11の(A)に示すホームランフェス開始要求画面510が、図6に示すホームランフェス開始要求画面510と異なる点は、まず、報酬画像512において、直近にユーザがプレイしたホームランフェスでユーザが獲得した報酬のアイコンは、獲得したことを示す態様で表示されている点である。また、報酬獲得ボタン513に含まれるポイント累計が、直近の対戦に基づいてポイントを獲得したことにより更新されている点である。
ゲーム進行部115は、開始指示ボタン511に対するタップ操作が受け付けられたことに応じて、ホームランフェスを開始する。具体的には、ゲーム進行部115は、図7に示すルール画面を表示した後、図11の(B)に示す打撃画面610を表示する。
図11の(B)に示す打撃画面610において、ホームラン数表示626は、「7/10」となっている。すなわち、図11の(B)に示す打撃画面610は、投手キャラクタ613が、8球目のボールを投球する前の打撃画面である。換言すれば、ゲーム進行部115は、直近のホームランフェスのプレイにおいて終了した時点から、今回のホームランフェスを再開させる。
具体的には、ゲーム進行部115は、ホームランフェスが終了した時点で、該ホームランフェスをプレイした結果のデータ(以下、「挑戦データ」と称する)を、ゲーム情報132として記憶部120へ格納する。挑戦データは、例えば、最後にホームランと判定されたボールが何球目であったかを示すデータ、獲得した報酬のデータ、ホームランと判定されなかったボールを投球したときの投手キャラクタ613の総合パラメータ、などを含む。
ゲーム進行部115は、図11の(A)に示す開始指示ボタン511に対するタップ操作が受け付けられた場合、記憶部120から挑戦データを読み出し、該挑戦データに基づいて打撃画面610を生成する。これにより、図11の(B)に示すように、直近のホームランフェスのプレイにおいて終了した時点の打撃画面610が、表示部152に表示される。
なお、ゲーム進行部115は、所定の時刻になったとき、ホームランフェスをプレイする権利のリセットともに、挑戦データを消去する。これにより、所定の時刻を超えた後に開始されるホームランフェスは、1球目から行われることとなる。
<ホームランフェス開始処理フロー>
図12は、ユーザ端末100が、ゲームプログラム131に基づいて実行する処理の流れの一例を示すフローチャートである。ステップS101にて、ゲーム進行部115は、ポイントゲージ302を含むマッチング要求画面300を表示部152に表示させる。ステップS102にて、操作受付部111がマッチング要求操作、すなわち、対戦指示ボタン301へのタップ操作を受け付けると、ステップS103にて、ゲーム進行部115は、サーバ200に対して、マッチングを要求する。これにより、対戦モードにおける対戦相手が決定され、ステップS104にて対戦が開始される。
ステップS105にて、ゲーム進行部115は、サーバ200と通信して相手ユーザとの対戦を進行させる。ゲーム進行部115は、対戦において勝負の決着が着いて終了するまで、ステップS106のNOからステップS105に戻り、対戦の進行を継続する。
対戦が終了した場合、ゲーム進行部115は、ステップS106のYESからステップS107へ進み、獲得ポイント画面500を表示部152に表示させる。そして、ゲーム進行部115は、ステップS107にて、対戦成績に応じたポイント付与を行い、ステップS108にて、付与したポイントに応じてポイント累計を更新する。
ステップS109にて、ポイント累計が所定値に到達した場合、ゲーム進行部115は、ステップS109のYESからステップS110へ進む。そして、ゲーム進行部115は、ステップS110にて、ホームランフェス開始要求画面510を表示部152に表示させる。
ステップS111にて、操作受付部111が開始要求操作、すなわち、開始指示ボタン511へのタップ操作を受け付けると、ステップS112にて、ゲーム進行部115は、ホームランフェス進行処理を実行する。ステップS112の詳細は、図13を参照して後述する。なお、ステップS112が終了すると、ホームランフェス開始処理フローはステップS101へ戻る。
また、ステップS109にて、ポイント累計が所定値に到達していない場合、ゲーム進行部115は、ステップS109のNOからステップS101へ戻る。また、ステップS110にて、開始要求操作を受け付けなかった場合、すなわち、省略指示ボタン514へのタップ操作を受け付けた場合、ゲーム進行部115は、ステップS110のNOからステップS101へ戻る。
<ホームランフェス進行処理フロー>
図13は、ユーザ端末100が、ゲームプログラム131に基づいて実行する処理の流れの一例を示すフローチャートである。図13に示す各処理は、図12に示すステップS112のホームランフェス進行処理に対応する。なお、ゲーム進行部115は、ステップS201の処理を開始する前に、ルール画面600を表示部152に表示させる。
ステップS201にて、ゲーム進行部115は、前回のホームランフェスの挑戦データが記憶されているか否かを判定する。挑戦データがあると判定した場合、ゲーム進行部115は、ステップS201のYESからステップS202へ進む。ステップS202にて、ゲーム進行部115は、該挑戦データに基づき、ホームランフェスを、前回失敗した時点から再開する。
一方、挑戦データが無いと判定した場合、ゲーム進行部115は、ステップS201のNOからステップS203へ進む。ステップS203にて、ゲーム進行部115は、ホームランフェスを1球目から開始する。
ステップS204にて、ゲーム進行部115は、投手キャラクタ613の投球動作のアニメーションを表示部152へ表示させる。これにより、投手キャラクタ613がボールを捕手キャラクタに向かって投球する。なお、ステップS204の前に、ゲーム進行部115は、打者キャラクタ611の総合パラメータと投手キャラクタ613の総合パラメータとを比較し、打者キャラクタ611の打撃力の調整を行ってもよい。
ステップS205にて、操作受付部111が打撃操作を受け付けると、ゲーム進行部115は、打者キャラクタ611の打撃操作のアニメーションを表示部152へ表示させる。これにより、打者キャラクタ611がボールを打撃するためにバット612をスイングする。
ステップS206にて、ゲーム進行部115は、打撃結果の判定を行う。なお、打者キャラクタ611がボールを打撃したと判定した場合、ゲーム進行部115は、打撃されたボールが移動するアニメーションを表示部152に表示させる。ゲーム進行部115はさらに、打撃結果がホームランであるか否かの判定を行う。打撃結果がホームランであると判定した場合、ゲーム進行部115は、ステップS206のYESからステップS207に進む。
ステップS207にて、ゲーム進行部115は、直近に投球されたボールが10球目であったか否かを判定する。10球目であったと判定した場合、ゲーム進行部115は、ステップS207のYESからステップS208へ進む。ステップS208にて、ゲーム進行部115は、ホームランフェスを終了し、コンプリート画面640を表示部152に表示させる。一方、10球目でないと判定した場合、ゲーム進行部115は、ステップS207のNOからステップS204へ戻る。
ステップS206にて、打撃結果がホームランでないと判定した場合、ゲーム進行部115は、ステップS206のNOからステップS209へ進む。ステップS209にて、ゲーム進行部115は、挑戦データを生成し、記憶部120へ記憶する。続いて、ステップS210にて、ゲーム進行部115は、結果画面630を表示部152に表示させる。
ステップS211にて、ゲーム進行部115は、ホームランフェスの結果に応じた報酬をユーザに付与する。なお、ステップS211の処理は、ステップS208、ステップS209、またはステップS210の処理の前に行われてもよい。
ステップS212にて、操作受付部111は、対戦開始操作を受け付けたか否かを判定する。つまり、操作受付部111は、対戦指示ボタン633へのタップ操作を受け付けたか、または、遷移指示ボタン632へのタップ操作を受け付けたかを判定する。操作受付部111が対戦指示ボタン633へのタップ操作を受け付けた場合、ゲーム進行部115は、ステップS212のYESから、図12に示すステップS103へ進む。一方、操作受付部111が遷移指示ボタン632へのタップ操作を受け付けた場合、ゲーム進行部115は、ホームランフェス進行処理を終了する。具体的には、ゲーム進行部115は、ステップS212のNOから、図12に示すステップS101へ戻る。
〔ソフトウェアによる実現例〕
制御部210の制御ブロック(特に、対戦支援部211)、ならびに、制御部110の制御ブロック(特に、操作受付部111、表示制御部112、UI制御部113、アニメーション生成部114およびゲーム進行部115)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、制御部210および/または制御部110を備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)等を備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路等を用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
〔付記事項〕
本発明の一側面に係る内容を列記すると以下のとおりである。
(項目1) プロセッサ(10)、メモリ(11)、操作部(151)および表示部(152)を備えるコンピュータ(ユーザ端末100)において実行されるゲームプログラム(131)について説明した。本開示のある局面によると、ゲームプログラムに基づくゲームは、ユーザが対戦相手である相手ユーザと対戦する第1ゲームモードを含む。ゲームプログラムは、プロセッサに、ユーザが対戦相手とのマッチングを指示するための第1ユーザインターフェース(以下、UI)部品(対戦指示ボタン301)を含むマッチング画面(マッチング要求画面300)を、表示部に表示させるステップ(S101)と、ユーザが第1ゲームモードにて行った対戦に基づいて、該ユーザに獲得させるポイントを決定するステップ(S107)と、決定されたポイントに基づいて、ポイントを合計した、ポイント累計を更新するステップ(S108)と、更新されたポイント累計が所定値に到達したとき、ユーザに第1ゲームモードにて使用される操作と同一の操作を用いる第2ゲームモードをプレイする権利を与えるステップ(S110)と、を実行させる。マッチング画面は、さらに、所定値と、更新されたポイント累計との差を表す累計画像(ポイントゲージ302)を含む。これにより、ユーザは対戦後のポイント累計を予想しつつ、対戦を開始することができるので、相手ユーザとの対戦の興趣性を向上させることができる。
(項目2) (項目1)において、決定するステップでは、第1ゲームモードでの対戦の勝敗に基づいてユーザに獲得させるポイントを決定してもよい。これにより、ユーザに、対戦の勝敗についての目標を設定させることができるので、対戦の興趣性を向上させることができる。
(項目3) (項目1)または(項目2)において、相手ユーザのそれぞれには、第1ゲームモードにおける強さが設定されており、決定するステップでは、第1ゲームモードにて対戦した相手ユーザの強さが強いほど、多くのポイントをユーザに獲得させるようにポイントを決定してもよい。これにより、より強い相手に挑戦することの動機付けをユーザに与えることができる。
(項目4) (項目1)から(項目3)のいずれか1項目において、ゲームプログラムは、プロセッサに、第1ゲームモードの対戦が終了した後、第2ゲームモードをプレイする権利がユーザに与えられている場合、第2ゲームモードを選択する第2選択操作を受け付けるための第2UI部品(開始指示ボタン511)をさらに表示させるステップ(S110)を実行させてもよい。これにより、第2ゲームモードは、第1ゲームモードの対戦後にプレイ可能となるので、第1ゲームモードの対戦を行うことの動機づけをユーザに与えることができる。
(項目5) (項目1)から(項目4)のいずれか1項目において、ゲームプログラムは、プロセッサに、ポイント累計が、予め設定された複数の値のいずれかに到達するごとに、ゲームを有利に進めるために利用することができる報酬と交換する権利を与えるステップを実行させてもよい。これにより、第1ゲームモードの対戦を行うことの動機づけをユーザにさらに与えることができる。
(項目6) (項目1)から(項目5)のいずれか1項目において、ゲームプログラムに基づくゲームは、第1ゲームモードにおいて、ユーザが操作する1以上のキャラクタが属する自チームと、相手ユーザが操作する1以上のキャラクタが属する相手チームとを対戦させる野球ゲームである。第2ゲームモードは、キャラクタ(打者キャラクタ611)にボールを打撃させ、ホームランを狙うモードである。ゲームプログラムは、プロセッサに、第2ゲームモードにおいて、キャラクタにボールを打撃させる打撃操作を受け付けるステップ(S205)と、キャラクタがボールを打撃した打撃結果が、ホームランであるか否かを判定するステップ(S206)と、を実行させてもよい。これにより、野球ゲームにおいて、相手ユーザとの対戦の興趣性を向上させることができる。
(項目7) (項目6)において、ボールには、ゲームを有利に進めるために利用することができる報酬が関連付けられている。ゲームプログラムは、プロセッサに、判定するステップにて打撃結果がホームランであると判定した場合、ホームランとなったボールに関連付けられた報酬をユーザに付与するステップ(S211)を実行させてもよい。これにより、ユーザに、第2のゲームモードを行うことの動機づけを与えるとともに、第1のゲームモードの対戦を行うことの動機づけをも与えることができる。
(項目8) (項目7)において、打撃操作を受け付けるステップは、判定するステップにて打撃結果がホームランであると判定された場合、再度実行されるものである。2回目以降の所定回数目に実行される打撃操作を受け付けるステップにおいて、ボールには、所定回数目以外に実行される打撃操作を受け付けるステップにおけるボールより価値が高い報酬が関連付けられていてもよい。これにより、第2のゲームモードをプレイすることについて、ユーザのモチベーションを高めることができる。
(項目9) (項目7)または(項目8)において、ポイント累計および第2ゲームモードをプレイする権利は、第2ゲームモードのプレイによりリセットされない一方、所定の時刻にリセットされるものである。ゲームプログラムは、プロセッサに、権利をユーザが有している場合、第1ゲームモードの対戦が所定回数行われた後、第2ゲームモードを再度プレイ可能とするステップ(S110)を実行させる。該所定回数は、ポイント累計がリセットされた後、ポイント累計が所定値に到達するまでに必要とした対戦の回数より少なくてもよい。これにより、第2のゲームモードをプレイすることについて、ユーザのモチベーションを維持することができるとともに、ユーザに第1のゲームモードの対戦を行うことの動機付けを与えることができる。
(項目10) (項目9)において、再度プレイ可能とするステップにてプレイ可能となった第2ゲームモードは、前回プレイされた第2ゲームモードにおいて、打撃結果が、判定するステップにてホームランでないと判定された、打撃操作を受け付けるステップから開始されてもよい。これにより、ユーザは未獲得の報酬を獲得しやすくなるので、第2のゲームモードをプレイすることについて、ユーザのモチベーションを維持することができる。
(項目11) (項目6)から(項目10)のいずれか1項目において、ゲームプログラムは、プロセッサに、第2ゲームモードにおいて、打撃結果がホームランとなる打撃をキャラクタに行わせるための打撃操作のコツをユーザに教示する画像(ヒント画像603)を表示させるステップを実行させてもよい。これにより、第2のゲームモードをプレイすることについて、ユーザのモチベーションを維持することができる。また、ユーザに、打撃操作の習熟を促すことができる。
(項目12) (項目6)から(項目11)のいずれか1項目において、決定するステップでは、第1ゲームモードの対戦における、自チームに属するキャラクタによるホームランの数に基づいて、ユーザに獲得させるポイントを決定してもよい。これにより、ユーザに、対戦における目標を設定させることができるので、対戦の興趣性を向上させることができる。
(項目13) ゲームプログラムを実行する方法を説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ、メモリ、操作部および表示部を備えるコンピュータにより実行される。該方法は、プロセッサが(項目1)に記載の各ステップを実行する方法である。(項目13)に係る方法は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。
(項目14) 情報処理装置を説明した。本開示のある局面によると、該情報処理装置は、(項目1)に係るゲームプログラムを記憶する記憶部(120)と、該ゲームプログラムを実行することにより、情報処理装置(ユーザ端末100)の動作を制御する制御部(110)とを備える。(項目14)に係る情報処理装置は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。