〔実施形態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以上のキャラクタが属する自チームと、相手ユーザが操作する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に対して実施する操作のことである。
本実施形態に係る通信対戦野球ゲームにおいて、各ユーザには、対戦の結果に基づいて増減されるレーティングが付与される。ゲームシステム1は、該レーティングに基づいて対戦相手のマッチングを実行する。
本実施形態に係るゲームシステム1に含まれる各装置(ユーザ端末100およびサーバ200)は、上述の通信対戦野球ゲーム(以下、本ゲーム)において、ユーザの対戦プレイを促進するためのイベントを実施する。該イベントを実施するための各装置の各構成については、以下で詳細に説明する。
<各装置のハードウェア構成要素>
プロセッサ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は、サーバ200との間でデータの送受信を行って、相手ユーザとの対戦を進行させる。また、対戦進行部115は、UI制御部113およびアニメーション生成部114と連携して、ユーザが通信対戦野球ゲームをプレイするために必要な上述の各種UIを提供する。各種UIは、例えば、対戦進行部115が、UI制御部113に、UIオブジェクトを含むゲーム画面を生成させること、および、表示制御部112が、該ゲーム画面を表示部152に表示させることにより実現される。また、対戦進行部115は、サーバ200と連携して、通信対戦野球ゲームにおいて、定期的にまたは不定期に開催されるイベントを実行する。イベントの内容については後に詳述する。
なお、図2に示すサーバ200およびユーザ端末100の機能は一例にすぎない。サーバ200は、ユーザ端末100が備える機能の少なくとも一部を備えていてもよい。また、ユーザ端末100は、サーバ200が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末100およびサーバ200以外の他の装置をゲームシステム1の構成要素とし、該他の装置にゲームシステム1における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、ユーザ端末100、サーバ200、および他の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
<通信対戦野球ゲームについて>
本実施形態に係るゲームシステム1によって提供される通信対戦野球ゲーム(以下、本ゲーム)について説明する。まず、ユーザが操作する1以上の選手キャラクタから成る自チームが編成される。例えば、自チームは、スターティングメンバーとしての選手キャラクタ少なくとも9人を含む。自チームには、例えば、実在のプロリーグ球団の名称またはエンブレムなどが設定されてもよく、ユーザが、希望の球団を選択できるようになっていてもよい。
次に、自チームが拠点とする地区が設定される。本実施形態では、一例として、拠点地区は、48地区設定される。具体的には、48地区は、日本全国の47都道府県のうち、東京を除く46道府県のそれぞれを1地区とする46地区と、東京を第1地区および第2地区に分けた2地区とで構成される。地区ごとに、対戦会場となる球場が設定されている。球場は、野球の対戦が進行される仮想空間を定義する。対戦は、ユーザまたは相手ユーザが選択している拠点地区に設定されている球場のいずれかにおいて進行する。対戦中に表示されるゲーム画面において、球場固有の外観が背景に表示されてもよい。
<マッチングについて>
本実施形態では、対戦相手のマッチングは、ユーザに付与されているレーティング(評価値)に基づいて、サーバ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に含まれるサーバ200およびユーザ端末100は、本ゲームにおいて、ユーザに対戦を継続してプレイしてもらうためのイベントを実施する。一例として、自分より強い相手との対戦を促すための強者挑戦対戦というイベントを実施する。該イベントは、例えば、開催期間(第1期間)が定められ、定期的にまたは不定期で何度開催されてもよい。
強者挑戦対戦とは、本ゲーム内で開催されるイベントである。具体的には、予め定められたイベントの開催期間内に、ゲームシステム1を利用して本ゲームをプレイする他のユーザと対戦を行い、行った対戦の結果に応じてポイント(得点)を集め、集まったポイントに応じた報酬を獲得するイベントである。本実施形態では、強者挑戦対戦のイベントは、開催期間が、さらに複数の所定期間(第2期間)に区切られる。ユーザは、所定期間内に所定数の勝ち星を上げることを目指すことになる。また該イベントでは、所定期間において、ポイントの記録の対象となる対戦の数に上限が設けられている。一例として、本実施形態では、所定期間として1日で3勝を目指すものとし、1日につき勝ち星が3つ(所定個)まで記録される。すなわち、記録の対象となる対戦の数は3戦までと定められている。本実施形態では、1回のイベントの開催期間において、複数の所定期間ごとのポイントの累計に応じて、報酬が付与される。
1つの対戦の1つの勝ち星につき、ユーザは、ポイントを獲得できる。本実施形態では、一例として、該対戦で負かした相手ユーザのレーティングがそのまま、獲得されるポイントとなる。3つの勝ち星におけるそれぞれの負かした相手ユーザのレーティングの合計が、その日1日について獲得されたポイント小計(得点小計)となる。ここで、本実施形態では、レーティングがそのままポイントとして獲得されるのは、勝利したユーザのレーティングよりも負かした相手ユーザのレーティングが高い場合に限られる。したがって、ユーザよりも下のレーティングを持つ相手ユーザに勝利したとしても、該ユーザによって獲得されるポイントは0である。
また、同じ1日のうちで、すでに記録されている3つのポイントよりも、高いポイントが獲得された場合、記録されている3つの勝ち星のポイントのうち、最も低いポイントが、上述の高いポイントに上書きされる。すなわち、レーティングがすでに記録されている3つのポイントより上の対戦相手に勝利した場合、その日のポイント小計の最高記録を更新できる。したがって、よりレーティングの高い対戦相手に勝利することが、より多くのポイントを獲得するためのカギとなる。
1回のイベントにつき、上述の所定期間は、複数回設定される。本実施形態では、一例として、1日×7回、すなわち、イベントの開催期間は、1週間と定められている。また、本実施形態では、開催期間中の、日ごとのポイント小計を合計したポイント累計(得点累計)が算出され、該ポイント累計に応じた報酬がユーザに付与される。例えば、ポイント累計が所定のポイントに到達したときに、到達したポイントに応じた報酬が付与されてもよい。
別の実施形態では、例えば、1日3勝できたときに、それに応じた報酬が付与されてもよい。あるいは、1つの所定期間のポイント小計が所定のポイントに到達した場合に、該所定期間終了後に、それに応じた報酬が付与されてもよい。あるいは、サーバ200は、ポイント小計またはポイント累計に基づいて、各ユーザをランク付けし、所定期間または開催期間が終了した後に、所定位以上の上位ランカーに対して、報酬を付与してもよい。
一般に、レーティングに基づき対戦相手がマッチングされるような対戦ゲームにおいては、レーティングが高い相手との対戦は、勝利しにくいため敬遠される。とりわけ、勝利数または連勝数などの記録を重視するユーザにとっては、レーティングが高い相手との対戦は、メリットが少ない。従来の対戦ゲームでは、ユーザがプレイを重ねるにつれて、レーティングが一定の高さに到達すると、実力が拮抗する、ある程度高いレーティングの相手とばかりマッチングされることになる。そして、ユーザは、強い相手とばかり対戦することにメリットを感じなくなり、次第に、プレイへの動機付けが損なわれるという問題があった。
しかし、本実施形態に係る強者挑戦対戦のイベントのように、レーティングが高い相手と対戦することにメリットがある仕組みを構築すれば、強い相手と対戦するようにユーザを促すことができる。結果として、本ゲームを継続的にプレイすることをユーザに動機付けることが可能となる。
ユーザへのポイントの付与は、一例として、ポイントの量を示す数値情報を、ユーザ識別情報に対応付けて、ゲームシステム1に含まれる少なくともいずれかのメモリに記憶させ、該数値情報を、獲得されたポイントに応じて加算していくことにより実現される。
<データ構造>
図3は、ユーザデータのデータ構造の一例を示す図である。ユーザデータは、通信対戦で参照されるユーザに係る情報を管理するためのデータであり、ユーザごとに作成される。ユーザデータは、記憶部120において、ユーザ情報133として格納されている。ユーザ情報133は、サーバ200の記憶部220にも格納されていてもよい。
ユーザデータは、複数の項目を含む。一例として、少なくとも、ユーザ名およびレーティングの各項目を含む。
「ユーザ名」は、ユーザの名称を示す。ユーザ名は、相手ユーザなどがユーザを識別するために利用する。さらに、ユーザデータは、ゲームシステム1の各装置がユーザを識別するための「ユーザID」を含んでいてもよい。「レーティング」は、ユーザに設定されているレーティングを示す。
ユーザデータは、さらに、自チームが拠点とする地区、自チームの名称、自チームのエンブレム、自チームの成績(例えば、打率、防御率など)、または、自チームのスターティングメンバーのオーダーなどを含んでいてもよい。
図4は、管理データのデータ構造の一例を示す図である。管理データは、1回のイベントでユーザによって獲得されたポイントを管理するためのデータである。ユーザ端末100の対戦進行部115は、イベントごと、かつ、ユーザごとに、該管理データを作成する。管理データは、記憶部120において、ゲーム情報132として格納されている。同じゲーム情報132が、サーバ200の記憶部220にも格納されていてもよい。
管理データは、イベントの開催期間(1週間)において定められている複数の所定期間(1日)ごとに、3つの勝ち星それぞれのポイントを格納するカラムと、該3つのポイントの小計を格納するカラムとが対応付けられている構成である。また、管理データは、該所定期間ごとのポイント小計を合計したポイント累計を含む。
図4に示す例では、対戦進行部115は、イベントの1日目を終了させ、現在、2日目を進行させている。1日目に勝利した対戦の中で、負かした対戦相手のレーティングの上位3つが、2095、2091、および、2033であった。そのため、対戦進行部115は、これらのレーティングが示す値を、そのまま、勝ち星それぞれについて獲得されたポイントとして、1位から3位までの各カラムに格納する。したがって、対戦進行部115は、1日目のポイント小計を、6219ポイントと算出し、記録している。
現在、イベントの2日目が進行中であるが、この日、対戦には、まだ1勝しかしていない。したがって、対戦進行部115は、該対戦で負かした相手のレーティング「2185」を、暫定で、1位のカラムに格納する。
図4に示すとおり、現在進行中の所定期間において、勝利数が所定回数(3回)に満たない場合、1位から3位までのカラムのうち未勝利のカラムには、初期値として0ポイントが格納されている。また、進行していない所定期間における、1位から3位までのカラムには、初期値として0ポイントが格納されている。
図4に示す例では、すでに終了した所定期間(1日目)において、6219ポイントが獲得され、現在進行している所定期間(2日目)において、1勝され、2185ポイントが獲得されている。したがって、対戦進行部115は、ポイント累計「8404」を算出し、これを、ポイント累計のカラムに格納する。本実施形態では、対戦進行部115は、対戦が終了する度に、対戦結果に応じて、その日の1位〜3位のカラムを更新し、ポイント小計を更新し、最後に、ポイント累計を更新する。
本実施形態では、対戦進行部115は、所定期間の勝利数が所定回数に到達した後も、その後の対戦の結果に応じて、該所定期間のポイント小計の最高記録を更新してもよい。例えば、同じ所定期間内で、ユーザが、よりレーティングの高い相手ユーザに勝利した場合には、すでに記録されている3位のポイント(最低点)に代えて、それよりも高い、上述の最新のレーティングに相当するポイントに差し替える。これにより、ポイント小計の最高記録が更新される。この更新の手順は、特に限定されない。一例として、対戦進行部115は、3位のカラムに格納されているポイントに上書きする形で、上述の最新の高いレーティングに相当するポイントを格納する。その後、対戦進行部115は、3つのポイントを値の高い順に、1位から3位までのカラムに順にソートして格納する。こうして、3勝したあとも、その日のポイント小計の最高記録をさらに更新するために、対戦をプレイすることを、ユーザを促すことができる。
<画面例>
図5は、ユーザ端末100の表示部152に表示されるゲーム画面の具体例を示す図である。該ゲーム画面は、対戦を開始するためのマッチングをサーバ200に対して要求するための操作をユーザに行わせるためのUI画面である。該UI画面は、一例として、図5に示すマッチング要求画面600(第1画面)である。マッチング要求画面600は、対戦進行部115の指示にしたがって、UI制御部113によって生成され、表示制御部112によって表示部152に表示される。
マッチング要求画面600は、マッチングをサーバ200に対して要求するためのUIとして、対戦指示ボタン617(第1ユーザインターフェース部品)を含んでいる。例えば、ユーザが対戦指示ボタン617をタップすると、操作受付部111が該タップ操作を受け付ける。対戦進行部115は、対戦指示ボタン617に対するタップ操作が受け付けられたことに応じて、サーバ200に対して、マッチングを要求する。
マッチング要求画面600は、好ましくは、目標勝利数613(第2UI部品)を含んでいる。目標勝利数613は、所定期間における目標の勝利数を示す。本実施形態では、所定期間としての1日の目標を勝利数は3勝であるので、目標勝利数613は、3つの星で表現されている。このように、該目標の勝利数は、該所定期間におけるポイント小計に反映される最大勝利数と一致していることが好ましい。図示の例では、この日1勝しているので、1つの星だけ強調表示されている。未勝利である残りの2つの星は、非表示でもよいし、シルエットだけが表示されていてもよい。UI制御部113は、この日の1位から3位までのカラムに0より多い値が入っているカラムの数に基づいて目標勝利数613を生成する。目標勝利数613を見て、ユーザは、その日の勝利数が所定回数に到達したか否かを確認することができる。
また、マッチング要求画面600は、好ましくは、ポイント累計611(第3UI部品)を含んでいる。UI制御部113は、図4に示すポイント累計のカラムに格納されている値を、ポイント累計611に反映する。ポイント累計611を見て、ユーザは、今回のイベントで自身が獲得したポイント累計を確認することができる。
また、マッチング要求画面600は、好ましくは、報酬一覧ボタン612(第4UI部品)を含んでいる。報酬一覧ボタン612は、ポイント累計に応じて付与される報酬の一覧を呼び出すためのUIである。例えば、ユーザが、報酬一覧ボタン612をタップすると、対戦進行部115は、後述する報酬一覧画面を表示部152に表示させる。
さらに好ましくは、マッチング要求画面600は、所定期間小計614(第5UI部品)を含んでいる。これにより、ユーザは、現在進行中の所定期間(例えば1日)において、獲得されたポイントの合計(図示の例では、小計「2185pt」)を対戦前に確認することができる。さらに好ましくは、所定期間小計614の内訳、すなわち、1位から3位までのそれぞれのポイントのうち、少なくとも、3位のポイント(以下、第3位ポイント618)を含んでいる。これにより、ユーザは、その日のポイント小計の最高記録を更新するために、何ポイントより上のレーティングの相手ユーザと対戦しなければならないのかをすぐに知ることができる。つまり、第3位ポイント618(第6UI部品)は、最高記録を更新できるかどうかの基準として機能する。そのため、ポイント小計の最高記録更新を目指すユーザにとって、利便性が高まる。
なお、マッチング要求画面600は、例えば、対戦を行おうとしている地区(図示の例では茨城地区)におけるユーザの、過去に達成された最高連勝数615、および、該ユーザのレーティング616を含んでいてもよい。
以上のとおり、本実施形態では、対戦を開始するためのマッチング要求画面600において、ポイント累計611、報酬一覧ボタン612、目標勝利数613、所定期間小計614、および、第3位ポイント618の少なくとも1つを併せて表示する。これにより、強者挑戦対戦をプレイすることへのユーザの動機付けをより一層強化することが可能となる。
図6は、表示部152に表示される報酬一覧画面の具体例を示す図である。報酬一覧画面700(第2画面)は、図5に示すマッチング要求画面600において、報酬一覧ボタン612がユーザによって操作された場合に、表示部152に表示される画面である。報酬一覧画面700は、報酬リスト701(報酬のリスト)および閉じるボタン702を含んでいる。報酬一覧画面700は、必要に応じて、ポイント累計611を含んでいてもよい。
報酬リスト701は、ポイント累計が所定ポイントに到達した場合に付与される報酬を一覧するためのものである。具体的には、報酬リスト701において、目標となる所定ポイントに対応付けて付与される報酬が表示される。報酬は、例えば、ゲーム上で利用可能なデジタルコンテンツであるゲーム媒体としてユーザに提供される。ゲーム媒体は、例えば、ユーザが操作するキャラクタが対応付けられたカードまたはフィギア、特殊な効果を持つアイテム、もしくは、キャラクタに身に付けさせることができる能力などである。あるいは、ゲーム媒体は、ゲーム上でユーザが行使できる権利(キャラクタを強化する権利、特殊なクエストをプレイする権利、アイテム所持枠を拡張する権利、ロックされているクエストまたはアイテムを解除する権利またはキャラクタ編成コスト上限を拡張する権利)などであってもよい。
報酬としてのゲーム媒体をユーザに付与することは、一例として、使用可能なステータスの該ゲーム媒体を、ユーザ識別情報に対応付けて、ゲームシステム1に含まれる少なくともいずれかのメモリに記憶させることにより実現される。
報酬リスト701において、すでに達成された目標、すなわち、付与が完了している報酬については、「達成済」または「付与済」であることが分かる識別情報が表示されていることが好ましい。
さらに、報酬リスト701において、直近に達成される予定の目標とそのとき付与される報酬とを強調表示することが好ましい。これにより、目下目指すべき目標を、ユーザに確認させることができる。また、ポイント累計611を併せて表示することにより、目標の達成進捗をユーザに確認させることができる。結果として、対戦へのユーザの動機付けを維持または強化することが可能となる。
閉じるボタン702は、報酬一覧画面700を閉じるためのボタンである。例えば、ユーザは、報酬一覧画面700における閉じるボタン702をタップすることで、報酬一覧画面700を閉じて、マッチング要求画面600へと表示部152の表示を戻すことができる。
図7は、対戦開始の直前に、ユーザ端末100の表示部152に表示されるゲーム画面の具体例を示す図である。該ゲーム画面は、サーバ200から提供された対戦に係る各種情報を対戦開始前にユーザに提供するための画面である。該画面は、一例として、図7に示すマッチング結果画面800(第3画面)である。図5に示す対戦指示ボタン617がユーザにより操作されたことにしたがって、対戦進行部115がマッチングをサーバ200に対して要求した結果、対戦相手が見つかってマッチングが成立したとする。この場合、対戦進行部115は、UI制御部113などを制御して、図7に示すマッチング結果画面800を表示部152に表示させる。
マッチング結果画面800は、一例として、対戦開始のタイミングをユーザに知らせるためのカウントダウン805を含んでいてもよい。また、マッチング結果画面800は、会場変更通知806を含んでいてもよい。また、マッチング結果画面800は、ユーザ自身のユーザ名801、対戦相手である相手ユーザのユーザ名802、ユーザ自身のレーティング803、および、相手ユーザのレーティング804(第7UI部品)を含んでいてもよい。
相手ユーザのレーティング804がマッチング結果画面800に表示されていることにより、ユーザは、事前に、相手ユーザに勝利した場合に獲得できるポイントの値を知ることができる。ここで、レーティング804が、第3位ポイント618よりも高い場合は、ユーザは、勝利することで、その日の最高記録を更新できるということを対戦前に知ることができる。そのため、ユーザは、勝利への意欲を高めて、対戦プレイをより一層楽しむことができる。
<処理フロー>
図8は、ユーザ端末100が、ゲームプログラム131に基づいて実行する処理の流れを示すフローチャートである。一連の処理は、例えば、操作受付部111が、図5に示すマッチング要求画面600を呼び出すためのユーザ操作を受け付けることにより開始される。
ステップS1にて、表示制御部112は、対戦進行部115の指示にしたがって、マッチング要求画面600を表示部152に表示する。ステップS2にて、操作受付部111が、対戦指示ボタン617に対するユーザ操作、すなわち、対戦開始指示を受け付けた場合、対戦進行部115は、ステップS2のYESからステップS3に進む。一方、操作受付部111が対戦開始指示を受け付けなかった場合、対戦進行部115は、ステップS2のNOからステップS9に進み、別の指示が受け付けられたかを判定する。
ステップS3にて、対戦進行部115は、サーバ200と通信して相手ユーザとの対戦を進行させる。対戦進行部115は、対戦において勝負の決着が着いて終了するまで、ステップS4のNOからステップS3に戻り、対戦の進行を継続する。
対戦が終了した場合、対戦進行部115は、ステップS4のYESからステップS5に進み、対戦成績に応じたポイント付与処理を行う。ステップS5の詳細は、図9を参照して後述するが、一例として、対戦進行部115は、対戦に勝利した場合、対戦で負かした相手ユーザのレーティングに相当するポイントをユーザに付与する。ここで、必要に応じて、第1位〜第2位のポイント、第3位ポイント618、所定期間小計614、および、ポイント累計611が更新される。
ステップS6にて、ユーザがこれまでに獲得しているポイント累計611が、報酬付与の条件である目標のポイントに到達した場合、対戦進行部115は、ステップS6のYESからステップS7に進む。そして、達成されたポイント累計611に応じた報酬をユーザに付与する。最新のポイント累計611によって、未達の目標に到達しなかった場合、ステップS7は省略される。
ステップS8にて、表示制御部112は、マッチング要求画面600を更新する。具体的には、図5に示す、ポイント累計611、目標勝利数613、第1位〜第2位のポイント、第3位ポイント618、所定期間小計614、最高連勝数615、および、ユーザのレーティング616のうち、先の対戦で更新された項目について、更新後の値を反映する。
一方、ステップS9にて、操作受付部111が、マッチング要求画面600の報酬一覧ボタン612に対するユーザ操作を受け付けた場合、表示制御部112は、ステップS9のYESからステップS10に進む。すなわち、報酬一覧表示指示がユーザから入力された場合、表示制御部112は、対戦進行部115の指示にしたがって、図6に示す報酬一覧画面700を表示部152に表示する。報酬一覧表示指示が入力されない間は、例えば、表示制御部112は、ステップS9のNOからステップS1に戻り、マッチング要求画面600の表示を継続すればよい。
ステップS11にて、操作受付部111が、図6に示す閉じるボタン702に対するユーザ操作を受け付けた場合、表示制御部112は、報酬一覧画面700を非表示にする。具体的には、ステップS11のYESからステップS1に戻り、報酬一覧画面700からマッチング要求画面600に切り替える。報酬一覧を閉じる指示が入力されない間は、例えば、表示制御部112は、ステップS11のNOからステップS10に戻り、報酬一覧画面700の表示を継続すればよい。
図9は、ユーザ端末100が、ゲームプログラム131に基づいて実行するポイント付与処理の流れを示すフローチャートである。図9に示す各処理は、図8に示すステップS5のポイント付与処理に対応する。
ステップS3で進行された対戦で、ユーザが相手ユーザに勝利した場合、対戦進行部115は、ステップS101のYESからステップS102に進み、負かした相手ユーザのレーティングを取得する。
ステップS103にて、対戦進行部115は、取得した相手ユーザのレーティングと、該当期間における、負かした相手ユーザのレーティングに相当するポイント上位3つとを比較する。該当期間とは、ステップS3で対戦が進行された時点を含む所定期間を指す。
ステップS104にて、対戦進行部115は、ステップS102で取得したレーティングが、同じ所定期間につき記録されているポイント上位3つのいずれかを超えているか否かを判断する。
取得したレーティングが上位3つのポイントのいずれも超えていない場合、対戦進行部115は、ステップS104のNOからステップS105に進み、ステップS3で進行された対戦については、ユーザにポイントを付与しない。本実施形態では、「ポイントを付与しないこと」は、「0ポイントをユーザに付与すること」、または、「0ポイントをユーザに獲得させること」を含む。なお、本実施形態では、ユーザが相手ユーザに勝利しなかった場合、つまり、敗北したか、引き分けた場合にも、対戦進行部115は、ステップS101のNOからステップS105に進み、ポイントをユーザに付与しない。いずれの場合も、対戦進行部115は、ステップS105を経て、一連のポイント付与処理を終了する。
一方、ステップS102で取得したレーティングが上位3つのポイントの少なくともいずれかを超える場合、対戦進行部115は、ステップS104のYESからステップS106に進む。対戦進行部115は、該取得したレーティングをそのままポイントとしてユーザに付与する。本実施形態では、同じ所定期間のポイントは、上位3つまでしか記録されない。そこで、対戦進行部115は、ステップS104で比較された上位3つのポイントのうち、最も値が低いポイントを、ステップS106にて付与したポイントと差し替える。上述したとおり、対戦進行部115は、差し替え後、図4に示す1位から3位までのカラムの各ポイントを、値の大きい順に、すなわち、降順にソートする。
ステップS107にて、対戦進行部115は、差し替えられた後の上位3つのポイントに基づいて、ステップS3にて対戦が進行された時点が属するある所定期間(1日)におけるポイント小計を更新する。
ステップS108にて、対戦進行部115は、ステップS107にて、上述の所定期間におけるポイント小計が更新されたことに基づいて、現時点までのすべての所定期間において獲得されたポイント累計を更新する。これにより、ポイント累計の最高記録が更新される。
<効果>
上述の構成および方法によれば、対戦することに対するユーザの動機付けを維持することができる。具体的には、所定期間につき対戦を繰り返しプレイすること、および、このことを、該所定期間が設けられた複数回分、繰り返すことをユーザに動機付けることができる。
また、イベントの開催期間における累計ポイントは、対戦がプレイされる度に、対戦結果に応じて更新される。そして、更新後の累計ポイントが目標を達成したときに、報酬が付与される。このとおり、報酬は、こまめにユーザに付与されるので、複数回の所定期間、すなわち、イベント開催期間がすべて終了するまで報酬が獲得されない構成と比較して、対戦することに対するユーザの動機付けを維持しやすい。
さらに、図9に示す方法によれば、レーティングの高い相手に勝利することによって、ユーザは、より多くのポイント獲得できるゲームシステムを構築することが可能となる。結果として、ユーザに、強い相手と対戦することを動機付けることができる。また、ユーザは、レーティングの高い相手との対戦にメリットを感じてプレイに臨むことができるため、ゲームの興趣性を向上させることが可能となる。
さらに、本実施形態にゲームシステムでは、レーティングが近いユーザ同士がマッチングされる。ユーザは、多くのポイントを獲得するために、高いレーティングの対戦相手をマッチングされることを望み、そのために、自分自身のレーティングを高めようとする。自分自身のレーティングを高めるためには、対戦をプレイして勝利を重ねる必要がある。結果として、ユーザに、動機付けを減衰させることなく継続して対戦をプレイさせることができる。
〔実施形態2〕
実施形態1では、サーバ200は、レーティングが比較的近いユーザ同士をマッチングさせる。したがって、マッチングの要求元のユーザ(以下、注目ユーザ)は、自分よりレーティングが低い相手ユーザとマッチングされる可能性がある。
本実施形態では、サーバ200は、注目ユーザの対戦相手として、該注目ユーザのレーティングより上のレーティングを持つ相手ユーザを探索する。これにより、強者挑戦対戦のイベントをプレイして、ポイント累計の最高記録を狙っているユーザについて、対戦の動機付けを一層強化する。
例えば、サーバ200は、注目ユーザについて、同じ所定期間において記録されている、3つのポイント、すなわち、負かした相手のレーティングの上位3つのうち、最も低い第3位のレーティングを基準にして、相手ユーザを探索する。具体的には、第3位のレーティングより上のレーティングを持つ相手ユーザを、該注目ユーザの対戦相手としてマッチングする。
これにより、注目ユーザは、勝てば、所定期間におけるポイント小計を必ず更新できる対戦相手と対戦することができる。結果として、注目ユーザが、強者挑戦対戦のイベントにおいて目標を達成することを、支援または促進することができる。
本実施形態におけるゲームシステム1の処理の流れを説明すると以下のとおりである。
ユーザ端末100の操作受付部111は、例えば、図5に示す対戦指示ボタン617に対するタップ操作を注目ユーザから受け付ける。この操作にしたがって、対戦進行部115は、例えば、図3に示すユーザ名などの、注目ユーザのユーザ識別情報および注目ユーザのレーティングをサーバ200に送信する。本実施形態では、対戦進行部115は、さらに、その日のポイント小計の内訳のうち、3位のポイントを該マッチング要求に含める。例えば、図4を参照して、今、イベント開催期間のうちの1日目である場合(ここでは、2日目はまだ進行していないとする)、対戦進行部115は、基準のレーティングとして、「2033ポイント」を、マッチング要求に含めてサーバ200に通知する。
サーバ200の対戦支援部211は、注目ユーザのユーザ端末100から上述のマッチング要求を受け付けると、要求を受け付けた他のユーザの中から、対戦相手となる相手ユーザを探索する。具体的には、対戦支援部211は、上述の基準のレーティングを上回るレーティングを持つユーザを探索する。対戦支援部211は、基準のレーティングを上回るユーザをランダムに探索してもよいし、注目ユーザのレーティングとの差が所定範囲内のレーティングを持つユーザを優先的に探索してもよいし、注目ユーザのレーティングと最も近い、すなわち、基準のレーティングを上回るユーザの中で最も低いレーティングを持つユーザを対戦相手の第1候補としてもよい。
上述の条件を満たす相手ユーザが見つかった場合、対戦支援部211は、マッチングが成立した旨のマッチング結果を、注目ユーザのユーザ端末100および上述の相手ユーザのユーザ端末100のそれぞれに通知する。この通知を受けた各ユーザ端末100は、サーバ200から供給された各種情報に基づいて、図7に示すマッチング結果画面800を表示部152に表示することができる。
上述の条件を満たす相手ユーザが見つからない場合であって、探索開始から所定時間が経過した場合、対戦支援部211は、一例として、基準のレーティングを問わず、実施形態1と同様に、注目ユーザのレーティングとの差が所定範囲内のレーティングを持つユーザを探索する。レーティングの条件を緩和したことにより、相手ユーザが見つかった場合、対戦支援部211は、同様に、マッチング結果を各ユーザ端末100に通知する。
〔実施形態3〕
実施形態2では、サーバ200は、注目ユーザについて、該注目ユーザよりも高いレーティングを持つ相手ユーザをマッチングさせる。したがって、注目ユーザの希望どおりにマッチングを成立させると、相手ユーザは、かならず、低いレーティングのユーザと対戦することになり、相手ユーザにとって希望どおりのマッチング結果が得られない可能性がある。
本実施形態では、強者挑戦対戦のイベントが開催されている期間、ユーザは、ユーザ端末100を用いてサーバ200にマッチング要求を送信するとき、マッチング手法について2種類のモードの中から所望のモードを指定できる。これにより、希望どおりのマッチング結果が得られないユーザを減らすことが可能である。
一例として、本実施形態では、UI制御部113は、図5に示すマッチング要求画面600において、対戦指示ボタン617に代えて、通常対戦指示ボタンと、強者挑戦対戦指示ボタンとを設ける。通常対戦指示ボタンは、例えば、「通常モードで対戦する」などとテキストが付されたUIボタンである。強者挑戦対戦指示ボタンは、例えば、「強者挑戦モードで対戦する」などとテキストが付されたUIボタンである。
通常モードとは、実施形態1において説明された方法でマッチングを行うことを、サーバ200に対して要求するモードである。すなわち、対戦進行部115は、通常対戦指示ボタンがタップされた場合に、実施形態1と同様に、注目ユーザのレーティングを含むマッチング要求をサーバ200に送信する。該マッチング要求は、通常モードが指定されていることを示す識別子を含んでいてもよい。サーバ200は、該マッチング要求に応じて、実施形態1において説明された方法にてマッチングを実行する。すなわち、注目ユーザのレーティングとの差が所定範囲内のレーティングを持つユーザを対戦相手として探索する。
強者挑戦モードとは、注目ユーザよりも高いレーティングの相手ユーザとのマッチングを行うことを、サーバ200に対して要求するモードである。すなわち、対戦進行部115は、強者挑戦対戦指示ボタンがタップされた場合に、実施形態2と同様に、注目ユーザのレーティングと、基準のレーティング(第3位のポイントに相当するレーティング)とを含むマッチング要求をサーバ200に送信する。該マッチング要求は、強者挑戦モードが指定されていることを示す識別子を含んでいてもよい。サーバ200は、該マッチング要求に応じて、第3位のポイントに相当するレーティングを超えるレーティングを持つユーザを対戦相手として探索する。ここで、実施形態2と異なる点は、サーバ200は、
対戦相手として、さらに、通常モードで対戦することを指定してマッチング要求を行ったユーザであることを条件に加えて探索する点である。
これにより、強者挑戦モードを指定したユーザ同士がマッチングされるという機会を大幅に減らすことができ、一方の希望が叶わないという事態を回避することが可能となる。
<処理フロー>
図10は、本実施形態に係るゲームシステム1に含まれる各装置が実行する処理の流れを示すフローチャートである。なお、図10に示す処理のうち、ユーザ端末100が実行するステップS201〜S204およびステップS209は、図8に示すステップS3の対戦進行処理の一部に対応する。したがって、図10に示す一連の処理は、ステップS2にて、操作受付部111が、上述の通常対戦指示ボタンまたは強者挑戦対戦指示ボタンを介して入力される対戦開始指示をユーザから受け付けることにより開始される。
ステップS201にて、ユーザ端末100の対戦進行部115は、操作受付部111が受け付けた対戦開始指示が、通常モードを指定しているのか、強者挑戦モードを指定しているのかを判定する。具体的には、対戦進行部115は、通常対戦指示ボタンがタップされたのか、強者挑戦対戦指示ボタンがタップされたのかを判定する。
通常対戦指示ボタンがタップされた場合、対戦進行部115は、ステップS201のNOからステップS202へ進む。ステップS202にて、対戦進行部115は、注目ユーザのレーティングを図3に示すユーザデータから取得する。
通常対戦指示ボタンがタップされた場合、対戦進行部115は、ステップS201のYESからステップS203へ進む。ステップS203にて、対戦進行部115は、現在進行中の所定期間における、獲得されたポイントの第3位、すなわち、負かした相手ユーザのレーティングのうち第3位(以下、基準のレーティング)を、図4に示す管理データから取得する。
ステップS204にて、対戦進行部115は、ステップS202またはステップS203にて取得したレーティングを含むマッチング要求をサーバ200に送信する。対戦進行部115は、ステップS202を経た場合、通常モードが指定されたことを示す識別子を該マッチング要求に含めてもよい。また、対戦進行部115は、ステップS203を経た場合、強者挑戦モードが指定されたことを示す識別子および注目ユーザのレーティングを該マッチング要求に含めてもよい。
ステップS205にて、サーバ200の対戦支援部211は、マッチング要求を受信し、いずれのモードが指定されているのかを判定する。対戦支援部211は、マッチング要求に含まれている識別子に基づいて、モードを判定してもよいし、該マッチング要求に、基準のレーティングが含まれているか否かに基づいて、モードを判定してもよい。
例えば、対戦支援部211は、マッチング要求に基準のレーティングが含まれている場合に、ステップS205のYESからステップS206へ進む。ステップS206にて、対戦支援部211は、基準のレーティングを超えるレーティングを持つ相手ユーザを探索する。
一方、対戦支援部211は、マッチング要求に基準のレーティングが含まれていない場合に、ステップS205のNOからステップS207へ進む。ステップS207にて、対戦支援部211は、注目ユーザのレーティングとの差が所定範囲内となるレーティングを持つ相手ユーザを探索する。
ステップS208にて、対戦支援部211は、ステップS206またはステップS207に基づいて実行したマッチングのマッチング結果をユーザ端末100に通知する。対戦相手が見つかってマッチングが成立した場合、サーバ200の対戦支援部211は、ステップS208以降、ユーザ端末100と通信し、ユーザ端末100が対戦を進行させるのを支援する。対戦相手が見つからず、タイムアウトした場合には、対戦支援部211は、ステップS208以降、一連の処理を終了する。
ステップS209にて、対戦進行部115は、上述のマッチング結果を受信する。マッチング結果がマッチング成立を示している場合、対戦進行部115は、サーバ200との通信を継続して、図8に示すステップS3にて対戦を進行させる。マッチング結果がマッチング不成立を示している場合、対戦進行部115は、図10に示す一連の処理を終了して、図8に示すステップS1に戻る。
〔変形例〕
別の実施形態では、ステップS101にて対戦に敗北または引き分けた場合であっても、対戦進行部115は、ステップS105に代えて、0より大きい値のポイントをユーザに付与するステップを実行してもよい。この場合、対戦進行部115は、付与するポイントを、対戦に勝利した場合に得られるポイントと比較して、非常に少ない値に決定することが好ましい。これにより、対戦に勝利できず、対戦をプレイしているのに1ポイントも獲得できないという事態を無くし、敗北または引き分けが続くユーザが抱く不満を緩和できるという効果を奏する。また、対戦に勝利した場合には、非常に多くのポイントを獲得できるので、対戦に勝利したいというユーザの意欲が削がれることもない。
別の実施形態では、ステップS104にて負かした相手ユーザが、勝利したユーザのレーティングより低い場合であっても、対戦進行部115は、ステップS105に代えて、0より大きい値のポイントをユーザに付与するステップを実行してもよい。例えば、相手ユーザのレーティングの半分の値がポイントとして付与されてもよい。これにより、対戦に勝利したのに、相手が格下であるために1ポイントも獲得できないという事態を無くし、勝利したユーザが抱く不満を緩和できるという効果を奏する。
ユーザは、対戦前に、対戦相手のレーティングが、自分より下だと分かった場合に、勝利しても1ポイントも獲得できないと悟り、対戦が開始される前から対戦プレイへの意欲が著しく削がれる事態が想定される。上述の別の実施形態によれば、このような事態を回避して、ユーザの対戦への動機付けを維持することができる。
別の実施形態では、ステップS106に代えて、対戦進行部115は、ユーザ自身よりレーティングが上の相手に勝利した回数に応じて、獲得できるポイントが固定されていてもよい。例えば、1日で、レーティングが上の相手に1勝すれば、1500ポイント、2勝すれば、2000ポイント、3勝すれば、3000ポイントと決まっていてもよい。このような構成によれば、強い相手との対戦をユーザに動機付けることができる。
別の実施形態では、ステップS106に代えて、対戦進行部115は、対戦相手のレーティングに、対戦成績を加味して、ユーザに獲得させるポイントを算出してもよい。例えば、対戦がスポーツの試合である場合、対戦進行部115は、試合の内容を加味して、ポイントを算出してもよい。試合の内容とは、例えば、得点差、得点、失点、打撃成績(ヒット数、ホームラン数、打率、防御率)などが想定される。また、対戦進行部115は、得点差、ホームラン数などの試合の内容に係る各項目に所定の係数を掛け合わせたポイントをユーザに付与してもよい。
別の実施形態では、ユーザの本ゲームにおける強さを示す指標として、ユーザごとに設定されているレベル、等級(段位/階級)、および、称号などが採用されてもよい。
レベルは、ユーザが対戦をプレイした経験の多さを示す値であり、レベルが高いほど数多く対戦をこなしていることを意味する。レベルは、対戦をプレイした後に付与される経験値に基づいて上がっていく。対戦を多くこなしているユーザほど、対戦に強いと推測できる。対戦進行部115は、レベルの値をそのまま獲得ポイントとして決定してもよいし、レベルに応じて算出された値を獲得ポイントとして決定してもよい。このような構成によれば、対戦の経験が豊富な強い相手との対戦をユーザに動機付けることができる。
等級は、本ゲームをプレイするユーザの母集団を、対戦成績に基づいて、いくつかの小集団にグルーピングした場合に、どの小集団に属するのかを示すものである。等級は、例えば、対戦成績の良い小集団から順に、十段、九段、・・・二段、初段、一級、二級、・・・などのように定められている。等級は、規定のレーティングを持つ対戦相手と行う対戦の勝利数、連勝数などに応じて設定されてもよい。規定のレーティングが高いほど、また、勝利数または連勝数が多いほど、高い等級が設定される。よって、等級が高いユーザほど、対戦に強いと推測できる。対戦進行部115は、負かした相手ユーザの等級をポイントに換算してもよい。負かした相手の等級が高いほど、獲得ポイントが多くなるように換算される。このような構成によれば、高い等級の強い相手との対戦をユーザに動機付けることができる。
称号は、本ゲームにおいて出題される所定の課題(または条件)をユーザがクリアしたか否かを示すものである。称号は、難易度の異なる課題をユーザがクリアした場合に、該難易度に応じた称号が該ユーザに設定される。高い難易度の課題をクリアしたユーザほど、対戦に強いと推測できる。対戦進行部115は、負かした相手ユーザの称号をポイントに換算してもよい。負かした相手の称号に相当する難易度が高いほど、獲得ポイントが多くなるように換算される。このような構成によれば、難しい課題をクリアしている強い相手との対戦をユーザに動機付けることができる。
〔ソフトウェアによる実現例〕
制御部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) ゲームプログラム(131)について説明した。本開示のある局面によると、ゲームプログラムに基づくゲームは、ユーザが対戦相手である相手ユーザと対戦を行うゲームである。該ゲームプログラムは、プロセッサ(10)、メモリ(11)、操作部(入力部151など)および表示部(152)を備える、ユーザのコンピュータ(ユーザ端末100)および相手ユーザのコンピュータ(ユーザ端末100)の少なくともいずれか1つにより実行される。ゲームプログラムは、プロセッサに、所定の第1期間(イベントの開催期間、1週間)の間、ユーザによってプレイされた対戦の結果に基づいて、該対戦につき該ユーザに獲得させる得点(ポイント)を決定するステップ(S102、S105、S106)と、第1期間は複数の第2期間(所定期間、1日)に区切られており、決定された得点が所定の条件を満たす場合に、該得点に基づいて、第2期間における得点小計(ポイント小計)を更新するステップ(S107)と、更新された得点小計に基づいて、第2期間ごとの得点小計を合計した、第1期間における得点累計(ポイント累計)を更新するステップ(S108)と、更新された得点累計に基づいて、ユーザに対して報酬を付与するステップ(S7)とを実行させる。これにより、対戦をプレイすることへのユーザの動機付けを維持できるという効果を奏する。具体的には、第2期間につき所定の条件を満たすべく対戦を繰り返しプレイすること、および、このことを、該第2期間が設けられた複数回分、第1期間において繰り返すことをユーザに動機付けることができる。また、対戦がプレイされるごとに更新された得点累計に基づいて、報酬がこまめに付与されるので、第1期間が終了するまで報酬がもらえない構成と比較して、対戦の動機付けをより維持しやすい。
(項目2) (項目1)において、相手ユーザのそれぞれには、該ゲームでの強さ(レーティング、等級、階級、段位、称号、レベル)が設定されており、得点を決定するステップでは、対戦した相手ユーザの強さが強いほど、多くの得点をユーザに獲得させるように得点を決定することが好ましい。これにより、ユーザに、自身よりも強い相手ユーザとの対戦を動機付けることが可能となる。
(項目3) (項目2)において、上述の強さとは、対戦に勝利すると値が上がるように更新される評価値であり、得点を決定するステップでは、対戦した相手ユーザの評価値を、得点として決定することが好ましい。これにより、ユーザに、自身よりも強い相手ユーザとの対戦を動機付けることが可能となる。
(項目4) (項目3)において、ゲームにおいて、ユーザの対戦相手として、ユーザに設定されている評価値との差が所定範囲内の評価値が設定されている相手ユーザが優先的に決定されることが好ましい。これにより、自分の評価値が高ければ、より評価値の高い相手とマッチングされる可能性が高まり、その結果、より多くの得点を獲得できるという循環を、ゲームシステムにもたらすことができる。結果として、ユーザの、対戦をプレイすることへの動機付けをより一層強化できる。
(項目5) (項目3)または(項目4)において、得点小計を更新するステップでは、1つの第2期間にプレイされた各対戦につき決定された得点のうち、上位の所定個(3つ)の得点の合計を、該第2期間における得点小計としてもよい。これにより、より強い相手ユーザと対戦して条件を満たすことにより、第2期間の得点小計の最高記録を際限なく更新できるシステムを構築することができる。つまり、第2期間において定められた上限数(上述の所定個)の対戦について条件を満たしたら終わりとはならずに、ユーザに継続して対戦をプレイすることを動機付けることができる。
(項目6) (項目5)において、ゲームプログラムは、プロセッサに、ユーザが対戦相手のマッチングを指示するための第1ユーザインターフェース(以下、UI)部品(対戦指示ボタン617)を含む第1画面(マッチング要求画面600)を、表示部に表示するステップを実行させることが好ましい。これにより、対戦をプレイするユーザに、必ず第1画面を確認させることができる。
(項目7) (項目6)において、第1画面は、第2期間における、所定個を上限とする勝利数を表す第2UI部品(目標勝利数613)を含んでいることが好ましい。これにより、対戦をプレイするユーザが必ず目にする第1画面において、第2期間における目標の勝利数を、該ユーザに確実に確認させることが可能となる。また、第2期間の得点小計の最高記録更新を重要視しているユーザにとっての利便性を高めることができる。
(項目8) (項目6)または(項目7)において、第1画面は、更新された得点累計を表す第3UI部品(ポイント累計611)を含んでいることが好ましい。これにより、対戦をプレイするユーザが必ず目にする第1画面において、第1期間における得点累計を、該ユーザに確実に確認させることが可能となる。また、得点累計の最高記録更新および得点累計に応じて付与される報酬を重要視しているユーザにとっての利便性を高めることができる。
(項目9) (項目6)から(項目8)までのいずれか1項目において、第1画面は、得点累計に応じてユーザに付与される報酬のリスト(報酬リスト701)を含む第2画面(報酬一覧画面700)を表示することをユーザが指示するための第4UI部品(報酬一覧ボタン612)を含んでいることが好ましい。これにより、対戦をプレイするユーザが必ず目にする第1画面において、第1期間において対戦をプレイすることにより獲得される報酬を確認するように、該ユーザを誘導できる。また、得点累計の最高記録更新および得点累計に応じて付与される報酬を重要視しているユーザにとっての利便性を高めることができる。
(項目10) (項目6)から(項目9)までのいずれか1項目において、第1画面は、第2期間における、上位の所定個の得点の合計を得点小計として表す第5UI部品(所定期間小計614)を含んでいることが好ましい。これにより、対戦をプレイするユーザが必ず目にする第1画面において、第2期間において実際に獲得された得点小計を、該ユーザに確実に確認させることが可能となる。また、第2期間の得点小計の最高記録更新を重要視しているユーザにとっての利便性を高めることができる。
(項目11) (項目6)から(項目10)までのいずれか1項目において、第1画面は、上位の所定個の得点のうちの少なくとも最低点(3位のポイント)を表す第6UI部品(第3位ポイント618)を含んでいることが好ましい。最低点は、この点を超える評価値を持つユーザと対戦することにより、得点小計を更新できることを意味する基準の得点である。したがって、該最低点を、対戦をプレイするユーザが必ず目にする第1画面において示すことにより、第2期間の得点小計の最高記録更新を重要視しているユーザにとっての利便性を高めることができる。
(項目12) (項目2)から(項目11)までのいずれか1項目において、ゲームプログラムは、プロセッサに、ユーザが対戦相手のマッチングを指示したことに応答してマッチングが成立した場合に、その旨を通知する第3画面(マッチング結果画面800)を表示部に表示するステップを実行させ、第3画面は、マッチングされた相手ユーザの該ゲームでの強さを表す第7UI部品(相手ユーザのレーティング804)を含んでいることが好ましい。これにより、第2期間の得点小計の最高記録更新を重要視しているユーザにとっての利便性を高めることができる。
(項目13) (項目12)において、相手ユーザのそれぞれには、対戦に勝利すると値が上がるように更新される評価値が設定されており、第7UI部品は、評価値を表していることが好ましい。これにより、第2期間の得点小計の最高記録更新を重要視しているユーザにとっての利便性を高めることができる。
(項目14) (項目1)から(項目13)までのいずれか1項目において、得点を決定するステップでは、ユーザに、対戦した相手ユーザの前記強さに応じた得点を獲得させ、前記ユーザが対戦に敗北した場合に獲得できる前記得点を、前記ユーザが対戦に勝利した場合よりも少なくすることが好ましい。これにより、ユーザの、対戦、とりわけ、強い相手との対戦で勝利したいという意欲を高め、ゲームの興趣性を向上させることが可能になる。一方で、対戦に勝利できなくとも、対戦をプレイしたということに対する報酬として、勝利した場合よりも少なくはあるが、得点をユーザに獲得させることができる。これにより、対戦プレイへの動機付けが損なわれることを防止できる。
(項目15) ゲームプログラム(131)について説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ(20)、および、メモリ(21)を備えるサーバ(200)により実行される。該サーバは、上述の(項目5)に記載のゲームプログラムを実行する、クライアントとしての複数のコンピュータと通信して対戦を支援するサーバである。ゲームプログラムは、該サーバのプロセッサに、ユーザのコンピュータから、上位の所定個の得点のうち最低点を含むマッチング要求を受信するステップ(S205)と、マッチング要求の送信元であるユーザの対戦相手として、最低点よりも値が高い評価値が付与されているユーザを探索するステップ(S206)とを実行させる。これにより、強い相手と対戦することへのユーザの動機付けをより一層強化できる。具体的には、第2期間における得点小計の最高記録を更新することを望んでいるユーザの希望に適ったマッチングを実行することが可能となる。
(項目16) ゲームプログラムを実行する方法を説明した。本開示のある局面によると、該ゲームプログラムに基づくゲームは、ユーザが対戦相手である相手ユーザと対戦を行うゲームである。該ゲームプログラムは、プロセッサ、メモリ、操作部および表示部を備える、ユーザのコンピュータおよび相手ユーザのコンピュータの少なくともいずれか1つにより実行される。該方法は、プロセッサが、所定の第1期間の間、ユーザによってプレイされた対戦の結果に基づいて、該対戦につき該ユーザに獲得させる得点を決定するステップと、プロセッサが、第1期間は複数の第2期間に区切られており、決定された得点が所定の条件を満たす場合に、該得点に基づいて、第2期間における得点小計を更新するステップと、プロセッサが、更新された得点小計に基づいて、第2期間ごとの得点小計を合計した、第1期間における得点累計を更新するステップと、プロセッサが、更新された得点累計に基づいて、ユーザに対して報酬を付与するステップとを含む。(項目16)に係る方法は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。
(項目17) ゲームプログラムを実行する方法を説明した。本開示のある局面によると、ゲームプログラムは、プロセッサおよびメモリを備えるサーバにより実行される。該サーバは、上述の(項目5)に記載のゲームプログラムを実行する、クライアントとしての複数のコンピュータと通信して対戦を支援するサーバである。該方法は、該サーバのプロセッサが、ユーザのコンピュータから、上位の所定個の得点のうち最低点を含むマッチング要求を受信するステップと、該サーバのプロセッサが、マッチング要求の送信元であるユーザの対戦相手として、最低点よりも値が高い評価値が付与されているユーザを探索するステップとを含む。(項目17)に係る方法は、(項目15)に係るゲームプログラムと同様の作用効果を奏する。
(項目18) 情報処理装置を説明した。本開示のある局面によると、該情報処理装置(ユーザ端末100)は、ゲームプログラムを記憶する記憶部(120)と、ゲームプログラムを実行することにより、情報処理装置の動作を制御する制御部(110)と、操作部と、表示部とを備える。ゲームプログラムに基づくゲームは、ユーザが対戦相手である相手ユーザと対戦を行うゲームである。ユーザのコンピュータおよび相手ユーザのコンピュータの少なくともいずれか1つが情報処理装置として機能する。制御部は、所定の第1期間の間、ユーザによってプレイされた対戦の結果に基づいて、該対戦につき該ユーザに獲得させる得点を決定し、第1期間は複数の第2期間に区切られており、決定された得点が所定の条件を満たす場合に、該得点に基づいて、第2期間における得点小計を更新し、更新された得点小計に基づいて、第2期間ごとの得点小計を合計した、第1期間における得点累計を更新し、更新された得点累計に基づいて、ユーザに対して報酬を付与する。(項目18)に係る情報処理装置は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。
(項目19) サーバを説明した。本開示のある局面によると、該サーバは、ゲームプログラムを記憶する記憶部(220)と、ゲームプログラムを実行することにより、サーバ(200)の動作を制御する制御部(210)とを備える。該サーバは、上述の(項目5)に記載のゲームプログラムを実行する、クライアントとしての複数のコンピュータと通信して対戦を支援するサーバである。該サーバの制御部は、ユーザのコンピュータから、上位の所定個の得点のうち最低点を含むマッチング要求を受信し、マッチング要求の送信元であるユーザの対戦相手として、最低点よりも値が高い評価値が付与されているユーザを探索する。(項目19)に係るサーバは、(項目15)に係るゲームプログラムと同様の作用効果を奏する。