〔実施形態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が実現するゲームにログインするためのアカウントを割り当てる。以降、特段の記載が無い限り、ゲームシステム1によって実現されるゲームを、本ゲームと称する。ユーザは、割り当てられたアカウントを用いてゲームにログインすることで、本ゲームをプレイすることができる。
ゲームシステム1は、1名のユーザに対して1つ以上のアカウントを割り当てる。本実施形態では、1名のユーザに対し、1つのアカウントが割り当てられることとする。つまり、ユーザとアカウントは1対1で対応していることとする。
本ゲームのアカウントは、該アカウントでログイン可能な1台以上の装置と対応付けられていてもよい。本実施形態では、サーバ200が、1つのアカウントを1台のユーザ端末100と対応付けて記憶していることとする。したがって、本実施形態では、ユーザは、特定のユーザ端末100を介して、特定のアカウントで、本ゲームにログインする。
<ゲーム概要>
本ゲームは、特定のジャンルに限らず、あらゆるジャンルのゲームであってよい。例えば、テニス、卓球、ドッジボール、野球、サッカーおよびホッケーなどのスポーツを題材としたゲーム、パズルゲーム、クイズゲーム、RPG(Role Playing Game)、アドベンチャーゲーム、シューティングゲーム、シミュレーションゲーム、育成ゲーム、ならびに、アクションゲームなどであってもよい。
本ゲームは、複数のユーザが同時にログインしてプレイすることが可能な、マルチプレイに対応しているゲームである。本ゲームは、ユーザ間での交流を可能にするための機能を有している。具体的には、本ゲームは、マルチプレイ対戦を実行する機能と、フレンド登録を実行する機能とを有する。
(対戦機能)
マルチプレイ対戦とは、複数のユーザが参加する対戦である。マルチプレイ対戦における対戦形式、進行方法、および勝敗の条件は、特に限定されない。本ゲームには、マルチプレイ対戦を実行する対戦パートが含まれる。以降、特段の記載が無い限り、対戦パートで実施されるマルチプレイ対戦のことを、単に対戦と称する。なお、スポーツゲームにおける試合も対戦に含まれる。
対戦に参加する複数のユーザの立場関係は特に限定されない。例えば、対戦に参加する複数のユーザは、味方または協力関係にあってもよいし、敵対関係にあってもよいし、互いの勝敗に干渉しない関係であってもよい。また、対戦に参加する複数のユーザは、味方陣営と敵陣営とに分かれていてもよい。
対戦に1名以上のNPC(non player character)が参加してもよい。NPCと各ユーザとの立場関係も特に限定されない。例えば、NPCと各ユーザとは、味方または協力関係にあってもよいし、敵対関係にあってもよい。また、対戦に参加する複数のNPCが味方陣営と敵陣営に分かれていてもよい。
本実施形態では、本ゲームが、対戦パートを含むテニスゲームである例について説明する。テニスゲームでは、ユーザはユーザ端末100に対し入力操作を行うことで、ゲーム内のキャラクタを操作してテニスをプレイする。以降の説明では「入力操作に基づいて動作する操作可能なキャラクタ」を「操作キャラクタ」と称する。
各ユーザは、それぞれの操作キャラクタを動かして、テニスの試合に参加する。つまり、テニスゲームにおけるマルチプレイ対戦とは、例えばユーザ対ユーザのシングルスの試合、および、複数のユーザを少なくとも含む、ダブルスの試合を意味する。ダブルスの試合とは、対戦への参加者を募集したホストユーザ(第1ユーザ)と、対戦相手となる該ユーザ以外の1名以上のユーザである参加ユーザ(第3ユーザ)とのペアと、ペア以外の他のユーザ、およびNPC(non player character)の少なくとも一方を含むペアとの、試合である。このようにペア対ペアの試合を提供することで、対戦の戦略性をより高めることができるため、本ゲームの興趣性を向上させることができる。
ゲームシステム1は、実際のテニスのルールに基づく所定のルールに則ったテニスの試合を進行させる。以降の説明では、実際のテニスのルールについて詳細な説明は省略する。
(フレンド登録機能)
また、本ゲームでは、ユーザは、他のユーザをフレンド登録することができる。フレンド登録とは、本ゲームで提供されるコミュニケーション機能の一種であって、本ゲームのユーザ同士を対応付ける機能である。ユーザは、ユーザ端末100に対して所定の操作を行うことによって、自分以外の他のユーザをフレンド登録することができる。フレンド登録の処理の詳細は後述する。本ゲームにおいて、フレンド登録機能は、多数存在する自分以外の他のユーザを、ブックマークする機能として利用することができる。
本実施形態では、各ユーザが、自分以外の他のユーザを一方的にフレンド登録することが可能である例について説明する。しかしながら、本ゲームにおいてフレンド登録を行うためには、フレンド登録される側のユーザの承認が必要であってもよい。例えば、あるユーザが他のユーザにフレンド登録の申請を行い、該他のユーザが申請を承認した場合にのみ、フレンド登録が成立することとしてもよい。
本実施形態では、あるユーザが他のユーザを一方的にフレンド登録した場合、該他のユーザは、該あるユーザのフレンドである、と称する。一方、あるユーザと、他のユーザとが相互にフレンド登録をした場合、両者は相互フレンドである、と称し、単なるフレンドと区別して扱う。
(チーム機能)
本ゲームは、いずれかのユーザが設立したチームを、該チームに所属するユーザが協力して強化するという、ユーザ間の交流要素を含んだゲームであってもよい。チームとは、1名以上のユーザから成る集団である。各ユーザは自己の操作キャラクタを介してゲームに参加しているため、チームは、1体以上のキャラクタが所属する集団であるともいえる。本実施形態では、1名のユーザは1つのチームに所属可能であるとする。しかしながら、本ゲームでは、1名のユーザが複数のチームに所属可能であってもよい。
ユーザ端末100は、チームを設立するための所定の手順の操作を受け付けた場合、ユーザが所属するチームを設立する。ユーザ端末100は、テニスゲームにおいて特定の条件が満たされている場合にチームの設立を許可してもよい。「特定の条件」とは、例えば、テニスゲームにおけるユーザまたは操作キャラクタのレベル等のパラメータが所定値を超えていることであってもよい。また「特定の条件」とは、ユーザ情報123が示すゲーム内通貨が所定値以上あることであってもよい。
ユーザ端末100は、チームに加入するための所定の手順の操作を受け付けた場合、該ユーザ端末100に対応するユーザを、他のユーザが設立したチームに加入させる。また、ユーザ端末100は所定の操作に応じて、ユーザを設立または加入したチームから脱退させることもできる。また、ユーザ端末100はユーザが所属するチームに、他のユーザを加入させることができる。また、ユーザ端末100は設立したチームから、他のユーザを脱退させることができる。なお、ユーザは必ずしもチームへ所属する必要はない。
<ゲームシステム1の機能的構成>
図2は、ゲームシステム1に含まれるサーバ200およびユーザ端末100の機能的構成を示すブロック図である。サーバ200およびユーザ端末100のそれぞれは、図示しない、一般的なコンピュータとして機能する場合に必要な機能的構成、および、ゲームにおける公知の機能を実現するために必要な機能的構成を含み得る。
ユーザ端末100は、ユーザの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。ユーザ端末100は、プロセッサ10、メモリ11、ストレージ12、通信IF13、および入出力IF14等の協働によって、制御部110および記憶部120として機能する。
サーバ200は、各ユーザ端末100と通信して、ユーザ端末100がゲームを進行させるのを支援する機能を有する。ゲームがマルチプレイゲームである場合には、サーバ200は、ゲームに参加する各ユーザ端末100と通信して、ユーザ端末100同士のやりとりを仲介する機能を有していてもよい。サーバ200は、プロセッサ20、メモリ21、ストレージ22、通信IF23、および入出力IF24等の協働によって、制御部210および記憶部220として機能する。
記憶部120および記憶部220は、ゲームプログラム131、ゲーム情報132、およびユーザ情報133を格納する。ゲームプログラム131は、ユーザ端末100およびサーバ200が実行するゲームプログラムである。
ゲーム情報132は、制御部110および制御部210がゲームプログラム131を実行する際に参照するデータである。ゲーム情報は、ユーザリスト132Aを含む。ユーザリスト132Aは、本ゲームにおける全ユーザのアカウントに関する情報である。
ユーザリスト132Aは少なくとも、各ユーザのアカウントを一意に特定する識別子と、アカウントの登録時期を示す情報と、を含んでいる。
(ユーザリスト)
図3は、ユーザリスト132Aのデータ構造の一例を示す図である。図3の例では、ユーザリスト132Aは、1つのアカウント、すなわち1名のユーザに関する情報を、データテーブルの1レコードとして保持している。図3の例では、ユーザリスト132Aは、「ユーザID」列と、「ユーザ名」列と、「レベル」列と、「リーダー」列と、「所属チーム」列と、「登録日」列と、「最終ログイン時刻」列と、「メッセージ」列と、を含む。なお、「ユーザID」列と、「登録日」列以外の列は、ユーザリスト132Aに含まれていなくてもよい。
「ユーザID」列には、ユーザを一意に特定するための識別情報であるユーザIDを示す情報が格納される。ゲームシステム1は、ユーザIDをサーバ200またはユーザ端末100で自動的に設定してもよいし、アカウントの登録時に、ユーザにユーザIDを選択または入力させてもよい。
「ユーザ名」列には、ユーザの名称を示す情報が格納される。本実施形態では、「ユーザ名」列の情報は、ユーザが自由に決定および変更可能な情報である。アカウントの登録時に、ユーザがユーザ名を入力しなかった場合、サーバ200またはユーザ端末100は、「メッセージ」列に予め定められた標準名を格納してユーザ情報132Aを生成してもよい。
「レベル」列には、ユーザのレベルを示す情報が格納される。レベルとは、該ユーザのゲームの進行度合いを示す指標値である。どのような条件でレベルが変化するのかは、ゲームの特徴に応じて適宜設計されてよい。例えば、サーバ200またはユーザ端末100は、あるアカウントでゲームをプレイした場合のスコアに応じて、該あるアカウントに経験値を付与してもよい。そして、サーバ200またはユーザ端末100は、あるアカウントにおいて経験値が一定値を超えた場合に、レベルを1つ増加させることとしてもよい。
「リーダー」列には、ゲームにおいて各ユーザが使用可能なキャラクタのうち、ユーザが代表として指定したキャラクタを特定する情報が格納される。なお、ゲームの性質に応じて、人または動物等のキャラクタの代わりに、アイテム、建物などを示す情報をこの列に格納してもよい。
「所属チーム」列には、各ユーザが所属するチームを示す情報が格納される。なお、図3における「所属チーム」列が空欄である場合、そのレコードが示すユーザが、どのチームにも所属していない、無所属のユーザであることを示している。
「登録日」列には、各ユーザのアカウントの登録日を示す情報が格納される。本実施形態では、図示の通り、各アカウントの登録時期を日単位で管理することとする。しかしながら、ゲームシステム1は、各アカウントの登録時期を、月単位、または年単位等、任意の時間的単位で管理してもよい。または、ゲームシステム1は、各アカウントの登録時期を、本ゲームにおける任意の期間の区切りで管理してもよい。例えば、ユーザリスト132Aには、アカウントの登録日の代わりに、またはアカウントの登録日とともに、アカウント登録時のゲームプログラム131のバージョン、またはゲーム内で開催されているイベントのフェーズ等が記録されていてもよい。
「最終ログイン時刻」列には、ユーザが最後にログインした時期を示す情報が格納される。例えば、「最終ログイン時刻」列には、ユーザが最後にログインした時刻が格納されていてもよい。
「メッセージ」列には、ユーザが設定したメッセージの文字列を示す情報が格納される。本実施形態では、「メッセージ」列の情報は、ユーザが自由に決定および変更可能な情報である。詳細は後述するが、設定されたメッセージは、他のユーザに公開され得る。ユーザは、例えば他のユーザへの挨拶、または自己紹介などをメッセージとして設定しておく。アカウントの登録時にユーザがメッセージを入力しなかった場合、サーバ200またはユーザ端末100は、「メッセージ」列の情報として、予め定められた標準メッセージを格納してもよい。また、「メッセージ」列に情報が格納されていないアカウントがあってもよい。
ユーザ情報133は、ユーザのアカウント毎に管理される情報である。ユーザ情報133は、フレンドリスト133Aを含む。フレンドリスト133Aは、各ユーザがフレンド登録しているユーザを示すデータである。フレンドリスト133Aは少なくとも、各フレンドのアカウントを一意に特定するための識別情報を含んでいる。
(フレンドリスト)
図4は、フレンドリスト133Aのデータ構造の一例を示す図である。図4の例では、フレンドリスト133Aは、ある1名のフレンドに関する情報を、データテーブルの1レコードとして保持している。図4の例では、フレンドリスト133Aは、「フレンドID」列と、「フレンド名」列と、「相互フラグ」列と、「新規登録フラグ」列と、「報酬付与フラグ」列と、を含む。なお、「フレンドID」列以外の列は、フレンドリスト133Aに含まれていなくてもよい。
「フレンドID」列には、フレンドの識別情報が格納される。図示の例では、本列にはフレンドのユーザIDが格納されている。
「フレンド名」列には、フレンドのユーザ名を示す情報が格納される。
「相互フラグ」列には、フレンドが相互フレンドであるか否かを示す情報が格納される。図示の例においては、本列にチェックが入っているフレンドは、相互フレンドである。一方、本列にチェックが入っていないフレンドは、ユーザが一方的にフレンド登録しているフレンドである。
「新規フラグ」列には、フレンドが、新規ユーザであるか否かを示す情報が格納される。図示の例においては、本列にチェックが入っているフレンドは、新規ユーザである。一方、本列にチェックが入っていないフレンドは、新規ユーザではない。新規ユーザ(第2ユーザ)とは、本ゲームにアカウント登録してからの経過時間が所定時間内であるユーザを示す。所定時間は、例えば1ヵ月、3か月、または6ヵ月等、ゲームの仕様に応じて適宜設定されてよい。
「報酬付与フラグ」列には、ユーザ情報133が示すユーザに対し、各レコードに示されるフレンドとのフレンド対戦報酬を付与したか否かを示す情報が格納される。図示の例において、本列にチェックが入っている場合、記憶部110のユーザ情報133が示すユーザと、チェックが入っているレコードが示すフレンドとの間の対戦報酬が付与済みであることを示す。一方、本列にチェックが入っていない場合、ユーザと該レコードが示すフレンドとの対戦報酬が未付与であることを示す。
対戦報酬とは、ユーザが相互フレンドかつ新規ユーザであるユーザと対戦した場合に付与される報酬を示す。本実施形態において、対戦報酬はホストユーザに付与される。換言すると、対戦報酬は、ホストユーザであって、かつ対戦相手に1人以上の相互フレンドが含まれていたユーザに付与される。なお、対戦相手に複数の相互フレンドが含まれていた場合、相互フレンドの人数に応じて付与する対戦報酬の質または量が変化してもよい。
対戦報酬は、例えば、ゲーム内通貨、ゲーム内アイテム、またはキャラクタもしくはカード等のゲーム媒体であってもよい。また、対戦報酬は、有価データであってもよい。対戦報酬としてユーザに付与されるアイテムまたは有価データは、ゲームをプレイする上で使用可能なゲーム媒体を獲得するために消費されるアイテムまたは有価データであってもよい。
これにより、ユーザに、新規ユーザと相互フレンドになること、および、相互フレンドになった新規ユーザと対戦を行うことの動機をより強く与えることができる。そのため、新規ユーザの対戦への参加を促進させることができる。新規ユーザにとっては、本ゲームの対戦の面白さを体感する機会が増える。したがって、新規ユーザに継続的にゲームをプレイする動機を与えることができる。
記憶部110は、ユーザ端末100に対応するアカウントのユーザ情報133を記憶する。一方、記憶部220は、各ユーザ端末100から収集したユーザ情報133をまとめて記憶する。
(サーバ200の機能的構成)
制御部210は、記憶部220に格納されたゲームプログラム131を実行することにより、サーバ200を統括的に制御する。例えば、制御部210は、ユーザ端末100に各種データおよびプログラム等を送信する。制御部210は、ゲーム情報もしくはユーザ情報の一部または全部をユーザ端末100から受信する。制御部210は、あるユーザ端末100からマルチプレイの同期の要求を受信した場合、同期のためのデータを、該あるユーザ端末100、および他のユーザ端末100に送信してもよい。
制御部210は、ゲームプログラム131の記述に応じて、送受信部211、サーバ処理部212、および、データ管理部213として機能する。制御部210は、実行するゲームの性質に応じて、ユーザ端末100におけるゲームの進行を支援するために、図示しないその他の機能ブロックとしても機能することができる。
送受信部211は、ユーザ端末100から各種データおよびリクエストを受信する。例えば、送受信部211は、ゲーム情報132もしくはユーザ情報133の一部または全部を、ユーザ端末100から受信する。例えば、送受信部211は、ゲーム情報132の一部であるユーザリスト132Aを、ユーザ端末100から受信してもよい。また例えば、送受信部211は、ユーザ情報133の一部であるフレンドリスト133Aを、ユーザ端末100から受信してもよい。
送受信部211は、ユーザ端末100に対し各種データおよびリクエストを送信する。例えば、送受信部211は、ユーザリスト132Aをユーザ端末100に送信してもよい。また例えば、送受信部211は、特定のユーザのユーザ情報133に含まれているフレンドリスト133Aを、ユーザ端末100に送信してもよい。
サーバ処理部212は、ゲームを提供するために必要な演算処理を行う。サーバ処理部212は送受信部211に対し、各種データの送信を指示する。サーバ処理部212は、データ管理部213に対し、ゲーム情報132、およびユーザ情報133に含まれる各種情報の追加、更新、または削除を指示する。
データ管理部213は、記憶部220に格納されているデータを管理する。データ管理部213は、サーバ処理部212からの指示に応じてゲーム情報132およびユーザ情報133に含まれる各種情報の、追加、更新、または削除を実行する。データ管理部213は、サーバ処理部212の指示に従って、記憶部220からゲーム情報132およびユーザ情報133のうち少なくとも一方の情報を読み出してもよい。データ管理部213は、ゲームプログラム131のうち、あるユーザ端末100で実行する分のプログラムを記憶部220から読み出して、該ユーザ端末100に送信してもよい。
同期処理部214は、複数のユーザ端末100と通信して、ユーザ端末100同士のデータのやりとりを仲介する。例えば、同期処理部214は、対戦を行うユーザのユーザ端末100同士の、該対戦に係る同期処理を仲介または実行する。同期処理部214は、対戦相手のマッチングに係る処理、および、対戦の進行状況の同期処理などを実行してもよい。
(ユーザ端末100の機能的構成)
制御部110は、記憶部120に格納されたゲームプログラム131を実行することにより、ユーザ端末100を統括的に制御する。例えば、制御部110は、ゲームプログラム131およびユーザの操作にしたがって、ゲームを進行させる。また、制御部110は、ゲームを進行させている間、必要に応じて、サーバ200と通信して、情報の送受信を行う。
制御部110は、ゲームプログラム131の記述に応じて、操作受付部111、ゲーム進行部112、オブジェクト制御部113、表示制御部114、および通信部115として機能する。制御部110は、実行するゲームの性質に応じて、ゲームを進行させるために、図示しないその他の機能ブロックとしても機能することができる。
操作受付部111は、入力部151に対するユーザの入力操作を検知し受け付ける。操作受付部111は、タッチスクリーン15およびその他の入出力IF14を介したコンソールに対してユーザが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部110の各要素に出力する。
例えば、操作受付部111は、入力部151に対する入力操作を受け付け、該入力操作の入力位置の座標を検出し、該入力操作の種類を特定する。操作受付部111は、入力操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、操作受付部111は、連続して検知されていた入力が途切れると、タッチスクリーン15から接触入力が解除されたことを検知する。
通信部115は、サーバ200に対し各種データおよびリクエストを送信する。例えば、通信部115はサーバ200に対し、ゲーム情報132もしくはユーザ情報133の一部または全部を送信する。通信部115はサーバ200に対して、ゲーム情報132の一部としてユーザリスト132Aを送信してもよい。通信部115はサーバ200に対して、ユーザ情報133の一部としてフレンドリスト133Aを送信してもよい。
通信部115は、サーバ200から各種データおよびリクエストを受信する。例えば、通信部115はサーバ200から、ゲーム情報132もしくはユーザ情報133の一部または全部を受信する。通信部115は、通信部115は、サーバ200からユーザリスト132Aおよびフレンドリスト133Aを受信してもよい。
ゲーム進行部112は、ゲームの進行に係る各種処理を行う。例えば、ゲーム進行部112は、操作受付部111が受け付けた入力操作の位置の座標と、操作の種類と、ゲームの進行状況とに基づいて、ユーザの指示内容を特定する。
例えば、ゲーム進行部112は、ユーザのゲームへのログインを受け付けて、ログインに係る一連の処理を実行する。例えば、操作受付部111がユーザのログインに係る一連の入力操作(ログイン操作)を受け付けると、ゲーム進行部112は、該操作に基づいて、ログイン要求を受けたと判定する。ゲーム進行部112はログイン要求を受けた場合、ログイン操作から特定可能な情報(例えば、ユーザ端末100の機種ID、ユーザID、パスワード等)に基づいて、ログイン認証を行う。
ゲーム進行部112は、ユーザIDおよびパスワードが特定のアカウントのものと一致する場合に、該アカウントについてログイン認証が成功したと判定してもよい。また、ユーザ端末100とアカウントとが対応付けされるゲームの場合、ゲーム進行部112は、特定した機種IDに対応付けされたアカウントが存在する場合に、該アカウントについてログイン認証が成功したと判定してもよい。ゲーム進行部112は、ログイン認証が成功したアカウントで、ユーザをゲームにログインさせる。
ゲーム進行部112は、ゲームの進行に係る各種判定処理を行う。また、ゲーム進行部112は、記憶部120に記憶されたゲーム情報132およびユーザ情報133に含まれる、各種情報の追加、更新、または削除を行う。ゲーム進行部112は、マッチング部112A、対戦実行部112B、フレンド管理部112C、および報酬付与部112Dを含む。
マッチング部112Aは、マッチングに係る処理を実行する。本実施形態において、マッチングとは、ホストユーザに対し、1名以上の参加ユーザを対応付けることを示す。なお、ここで述べる「対戦相手」とは、ホストユーザの敵とは限らず、ホストユーザの味方、またはホストユーザと中立関係になるユーザも含まれ得る。
マッチング部112Aは、操作受付部111が第1入力操作を受け付けると、ホストユーザと、1人以上の参加ユーザとをマッチングする。本実施形態において、マッチング部112Aは、1度にホストユーザと1人の参加ユーザとをマッチングすることとする。したがって、複数の参加ユーザを交えて対戦する場合は、マッチング部112Aはホストユーザと参加ユーザとのマッチングを複数回行うこととする。しかしながら、マッチング部112Aは1度にホストユーザと複数の参加ユーザとをマッチングしてもよい。
対戦実行部112Bは、ホストユーザおよび参加ユーザを含んだ対戦を実行する。対戦に係る処理の詳細は後述する。例えば、対戦実行部112Bは、ホストユーザと、他の1名の参加ユーザとの1対1のPvP(Player vs Player)対戦を実行してもよい。また、対戦実行部112Bは、ホストユーザと、1名以上の参加ユーザとから成る味方陣営と、ゲームプログラム131で規定された動作を行う1名以上のNPC(non player character)から成る敵陣営とのCOM(computer)対戦を実行してもよい。また、対戦実行部112Bは、ホストユーザと1名以上の参加ユーザとから成る味方陣営と、味方陣営以外の参加ユーザを含む敵陣営との対戦を実行してもよい。
フレンド管理部112Cは、ユーザのフレンドを管理する。例えば、フレンド管理部112Cは、特定のゲーム画面を表示している場合に、操作受付部111が、登録対象ユーザ指定操作を受け付けた場合、指定されたユーザをフレンド登録する。登録対象ユーザ指定操作とは、ユーザ端末100のユーザによる、フレンド登録するユーザを指定する入力操作を意味する。また、フレンド登録とは、ユーザの識別情報に、フレンド登録の対象となるユーザの識別情報を対応付けて、記憶部110または記憶部220に記憶させることを意味する。フレンド登録に係る処理の詳細は後述する。
フレンド管理部112Cは、操作受付部111が登録解除指示を受け付けた場合に、該指示によって指定されたフレンドを、ユーザ端末100のユーザのフレンドリスト133Aから削除してもよい。すなわち、フレンド管理部112Cは、ユーザ端末100のユーザの識別情報と、指定されたユーザの識別情報との対応付けを解除してもよい。
報酬付与部112Dは、ユーザに対戦報酬を付与する。報酬付与部112Dは、参加ユーザに新規ユーザが1人以上含まれていた場合に、ホストユーザに対して対戦報酬を付与する。
オブジェクト制御部113は、ゲーム情報132に含まれるオブジェクトの設定情報に基づき、ゲーム画面における2Dまたは3Dのオブジェクトの配置を決定する。また、オブジェクト制御部113は、ゲーム画面に配置したオブジェクトを制御する。例えば、オブジェクト制御部113は、配置したオブジェクトの位置、向き、形状、色等を変更したり、該オブジェクトに所定の一連の動作を行わせたりする。例えば、オブジェクト制御部113は、キャラクタをゲーム進行部112が決定した移動方向、移動速度、および移動距離で移動させる。
表示制御部114は、表示部152にゲーム画面の画像を表示させる。表示制御部114は、例えば、オブジェクト制御部113が制御するオブジェクトと、該オブジェクトの背景となる背景画像とを含む画像を生成して、表示部152に表示させる。
なお、オブジェクト制御部113または表示制御部114は、UI(user interface)を構築するための2Dまたは3Dのオブジェクト(UIオブジェクト)を制御してもよい。例えば、表示制御部114は、背景画像にアイコン、ボタン、リスト、メニュー画面等、ゲームの種々の操作に必要なUIオブジェクトを重畳したゲーム画面を表示させてもよい。UIオブジェクトとは、ユーザが、ゲームの進行上必要な入力をユーザ端末100に対して行うためのツールである。また、UIオブジェクトとは、ユーザが、ゲームの進行中に出力される情報をユーザ端末100から得るためのツールである。
なお、図2に示すサーバ200およびユーザ端末100の機能は一例にすぎない。サーバ200は、ユーザ端末100が備える機能の少なくとも一部を備えていてもよい。また、ユーザ端末100は、サーバ200が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末100およびサーバ200以外の他の装置をゲームシステム1の構成要素とし、該他の装置にゲームシステム1における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラム131を実行するコンピュータは、ユーザ端末100、サーバ200、および他の装置のいずれであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
<フレンド登録>
(トップ画面)
図5は、トップ画面の一例を示す図である。本ゲームへのログインが完了すると、図5に示すようなトップ画面300が、ゲーム画面としてタッチスクリーン15に表示される。ユーザ端末100およびサーバ200は、トップ画面300に含まれる種々のUIに対して入力操作が行われた場合、対戦パートをはじめとする、本ゲームにおける各パートおよび各機能をユーザに提供する。
トップ画面300は、少なくとも、対戦パートへの移行を指示するためのオブジェクト302およびボタン303のいずれかを含む。トップ画面300には、ユーザの操作キャラクタ301が含まれていてもよい。また、トップ画面300には、フレンド検索画面への遷移を指示するためのボタン304、ゲームに関する通知の閲覧を指示するためのボタン305が含まれていてもよい。また、トップ画面300には、メニューの表示を指示するためのボタン306が含まれていてもよい。また、トップ画面300には、ログインしたユーザのユーザ名を表示する欄307と、該ユーザの有価データの保有量を表示する欄308とが設けられていてもよい。
(フレンド検索画面)
図6は、フレンド検索画面の一例を示す図である。フレンド検索画面400は、あるユーザがフレンド登録するユーザを検索するためのゲーム画面である。ゲーム進行部112は、ボタン304を選択する入力操作を受け付けると、フレンド検索画面400を作成するようオブジェクト制御部113および表示制御部114に指示する。
図6の状態(A)は、フレンド検索画面400に含まれる情報の一例を示す図である。トップ画面300等からフレンド検索画面400に遷移した場合、フレンド検索画面400には、ユーザのフレンドでない他のユーザの中からランダムで所定数、または所定の基準で所定数選出された他のユーザに関する情報が提示されてよい。図6の状態(A)の例では、フレンド検索画面400は、他のユーザに関する情報が表示される欄402A〜402Dを含んでいる。1つの欄は、1名のユーザに関する情報を提示する。以下、欄402Dを例にとり、各欄の記載項目について説明する。
フレンド検索画面400は、他のユーザに関する情報として、例えば、ユーザ名403、リーダーに設定しているキャラクタのアイコン404、所属チーム名405、該ユーザが設定しているメッセージ406、を提示する。また、各欄には、その欄で示されるユーザを指定してフレンド登録を指示するためのボタン407が含まれている。
なお、フレンド検索画面400には、欄402A〜402Dで示されたユーザ、すなわちフレンド登録可能なユーザが、新規ユーザか否かが区別可能な状態で表示されてもよい。例えば、新規ユーザには、新規ユーザであることを示すアイコン409が付されていてもよい。これにより、フレンド登録するユーザを検索する際に、フレンド登録の候補となるユーザが新規ユーザであるか否かを容易に判別することができる。したがって、ユーザが新規ユーザをフレンド登録する機会を増加させることができる。
フレンド検索画面400には、検索基準を切り替えるためのタブ401と、トップ画面300等、遷移前の画面に戻るためのボタン408とが含まれていてもよい。図6の状態(A)の場合は、「おすすめ」タブが選択されている。この場合、タブ401には、例えば、ユーザ名で他のユーザを検索するためのタブが含まれていてもよい。図6の状態(A)に示すフレンド検索画面400において、操作受付部111が「おすすめ」タブから「名前検索」タブへの切替えを指示する入力操作を受け付けると、ゲーム進行部112は、ユーザ検索ポップアップ410を表示するよう、表示制御部114に指示する。
図6の状態(B)は、ユーザ検索ポップアップ411が表示されたフレンド検索画面400を示す図である。ユーザ検索ポップアップ411には、文字列を入力する欄411と、ユーザ検索の実行を指示するためのボタン412と、ユーザ検索ポップアップ411を閉じるボタン413とが含まれている。操作受付部111がボタン412を押下する入力操作を受け付けた場合、ゲーム進行部112は、欄411に入力されている文字列をキーとして、ユーザリスト132Aを検索する。なお、欄411が空欄の場合、表示制御部114は、検索が実行できない旨をポップアップ等でユーザに通知してもよい。
具体的には、ゲーム進行部112は、ユーザリスト132Aに含まれるユーザのうち、ユーザ名が欄411に入力された文字列と部分一致または全一致するユーザを特定する。さらに、ゲーム進行部112は、特定したユーザから、フレンドリスト133Aに含まれるユーザ、すなわちフレンドのユーザを除いたユーザに関する情報を、フレンド検索画面400に表示させる。このように、ユーザはフレンド検索画面400を用いて、まだフレンド登録していないユーザを検索することができる。
(フレンド登録処理)
図7は、フレンド登録に係る処理の流れの一例を示す図である。ステップS10において、操作受付部111は、登録対象ユーザ指定操作を受け付ける。該入力操作は、例えば、フレンド検索画面400において、いずれかの欄に設けられたボタン407を押下する入力操作である。ボタン407が押下されると、フレンド管理部112Cは、そのボタン407に対応するユーザをフレンド登録の対象となるユーザとして特定する。以降、フレンド登録の対象となるユーザのことを、対象ユーザと称する。
ステップS12において、フレンド管理部112Cは、対象ユーザをフレンド登録する。より詳しくは、フレンド管理部112Cは、特定した対象ユーザを、ユーザのフレンドリストに追加する。換言すると、フレンド管理部112Cは、ユーザのユーザIDに、特定した対象ユーザのユーザIDを対応付けて、記憶部110に記憶させる。フレンド管理部112Cは、サーバ200に対し、対象ユーザのフレンドリスト133Aを送るよう要求する。フレンド管理部112Cはサーバ200から対象ユーザのフレンドリスト133Aを取得する。
ステップS14において、フレンド管理部112Cは取得した対象ユーザのフレンドリスト133Aを参照する。ステップS16において、フレンド管理部112Cは、対象ユーザのフレンドリスト133Aに、ステップS12において体対象ユーザをフレンド登録したユーザが含まれているか否かを判定する。換言すると、フレンド管理部112Cは、該ユーザが対象ユーザのフレンドとして登録されているか否かを判定する。S14でYESの場合、すなわち、両者が相互フレンドである場合、フレンド管理部112CはステップS16の処理を実行する。
ステップS18において、フレンド管理部112Cは、ユーザのフレンドリスト133Aおよび対象ユーザのフレンドリスト133Aの、相互フラグにチェックを入れる。フレンド管理部112Cは、相互フラグを更新した、対象ユーザのフレンドリスト133Aをサーバ200に送る。サーバ200のデータ管理部213は、更新された対象ユーザのフレンドリスト133Aを、記憶部220のユーザ情報133に記憶させる。
一方、S16でNOの場合、すなわち、ユーザと対象ユーザとが相互フレンドでない場合、フレンド管理部112CはステップS18を実行せずに処理を終了する。
以上の処理によれば、ユーザは指定した他のユーザをフレンド登録することができる。また、フレンド登録したユーザが、すでにユーザをフレンド登録済であった場合、両者が相互フレンドであることが、フレンドリスト133Aに記録される。
(対戦トップ画面)
図8は、対戦トップ画面の一例を示す図である。対戦トップ画面500は、対戦パートにおける各種機能を使用するためのUIを含むゲーム画面である。トップ画面300において、オブジェクト302またはボタン303が選択されると、ゲーム進行部112はゲームを対戦パートに移行させるとともに、表示制御部114に対戦トップ画面500を作成させる。
対戦トップ画面500は、少なくとも、対戦ルームの作成を指示する入力操作を受け付けるためのボタン501を含む。本ゲームにおける対戦を行うためには、あるユーザがホストユーザとなって、対戦ルームを作成する必要がある。対戦ルームとは、ホストユーザと、対戦相手となる参加ユーザとのマッチングを実施するための、ゲーム上の一機能である。本ゲームでは、対戦ルームは、あたかも1つの「部屋」であるかのように表現されるが、対戦ルームとして必ずしもゲーム空間を割り当てる必要はない。
対戦ルームは、ホストユーザと参加ユーザとをマッチングするために、記憶部110、記憶部210、サーバ処理部212、またはゲーム進行部112に設けられる、一時的な記憶領域を示す。したがって、対戦ルームを作成する、とは、上述の一時的な記憶領域を、ホストユーザに対して割り当てることを示す。
対戦トップ画面500は、対戦ルームの番号の入力画面に遷移するためのボタン502を含んでいてもよい。ホストユーザ以外のユーザは、対戦ルームに入室する、すなわち、ホストユーザと対戦においてマッチングされるためには、対戦ルームを特定するための識別番号を入力する必要がある。操作受付部111がボタン502を押下する入力操作を受け付けた場合、ゲーム進行部112は、対戦ルームの識別番号を入力するための画面またはポップアップ等をタッチスクリーン15に表示させ、ユーザに該識別番号を入力させる。これにより、ユーザは他のユーザが作成した対戦ルームに入室することができる。また、対戦トップ画面500は、フレンド検索画面400に遷移するためのボタン503を含んでいてもよいし、遷移前の画面に戻るためのボタン504を含んでいてもよい。
(対戦ルーム画面)
図9は、対戦ルーム画面の一例を示す図である。図9の状態(A)は、シングルスのテニスの試合を行う場合の対戦ルーム画面を示しており、図9の状態(B)は、ダブルスのテニスの試合を行う場合の対戦ルームを示している。なお、図9の状態(A)と(B)とで同じ部材番号を付した箇所は、同じ情報が表示される。
対戦ルーム画面600は、マッチングおよび対戦の開始に係るUIを含むゲーム画面である。例えば対戦トップ画面500においてボタン501が選択されると、ゲーム進行部112は対戦ルーム画面600を表示制御部114に作成させて、タッチスクリーン15に表示させる。このとき、マッチング部112Aは、対戦ルームの識別番号を採番し、該識別番号と、ホストユーザの識別情報とを、通信部115を介してサーバ200の同期処理部214に送信する。例えば、図9の状態(A)の例では、対戦ルームの識別番号は90703である。同期処理部214は、受信した識別番号を、対戦ルームの識別番号として一時的に記憶する。
対戦ルーム画面600は、マッチングおよび対戦実行までに必要な各種情報を提示可能であれば、そのレイアウト、表示内容等は特に限定されない。対戦ルーム画面600は、例えば、ホストユーザの操作キャラクタのオブジェクト604と、ホストユーザのユーザ名を表示する欄605と、対戦相手となる参加ユーザの名称を表示する欄602とを含んでいてもよい。
また、対戦ルーム画面600は、対戦ルームの識別番号を表示するラベル601を含んでいてもよい。また、対戦ルーム画面600は、対戦のステージおよびルール等、対戦に係る情報を表示する欄603を含んでいてもよい。また、対戦ルーム画面600は、遷移前の画面に戻るためのボタン607を含んでいてもよいまた、対戦ルーム画面600は、ゲーム内またはゲーム外の連携アプリケーションシステム等で、対戦ルームの識別番号を他のユーザに通知するためのボタン606を含んでいてもよい。
なお、図9の状態(A)に示すようにシングルスの試合のための対戦ルームの場合、参加ユーザの名称を表示する欄502は1枠だけである。一方、ダブルスの試合のための対戦ルームの場合、図9の状態(B)に示すように、参加ユーザの名称を表示する欄602は3枠となる。この場合、例えば左側の1枠には、ホストユーザのパートナー、すなわち味方となる参加ユーザの名称が表示され、右側の2枠には、敵陣営の2名のユーザの名称が表示される。なお、予め所定数のNPCを対戦に含めておく場合、欄602にはNPCの名称が表示されてもよい。
参加ユーザが参加ユーザ端末を介して対戦ルームの識別番号を入力した場合、参加ユーザ端末のマッチング部112Aは、サーバ200の同期処理部214に対して、入力された識別番号を送信する。同期処理部214は、参加ユーザ端末から受信した識別番号が、記憶している識別番号のいずれかと一致するか否か判定する。一致しない場合、同期処理部214は、参加ユーザ端末にエラーを返す。一方、一致した場合、同期処理部214は、参加ユーザ端末に、該識別番号が示す対戦ルームのホストユーザの識別情報を伝える。参加ユーザ端末のマッチング部112Aは、受信した識別情報に基づいて、ホストユーザのユーザ端末100にマッチングを要求する。該要求には、例えば、参加ユーザの識別情報が含まれている。ホストユーザのユーザ端末100のマッチング部112Aは、該要求を受信すると、該要求に含まれる識別情報から参加ユーザおよび参加ユーザのユーザ端末100を特定して、ホストユーザと参加ユーザとのマッチングを成立させる。ホストユーザのユーザ端末100は、マッチングが成立すると、参加ユーザのユーザ端末100に、マッチングが成立した旨を通知する。以降、ホストユーザのユーザ端末100をホストユーザ端末、参加ユーザのユーザ端末100を参加ユーザ端末とも称する。
図10は、図9の状態(A)に示した対戦ルーム画面600が示す対戦ルームに、参加ユーザが入室した場合の対戦ルーム画面600の一例を示す図である。参加ユーザが対戦ルームに入室すると、ゲーム進行部112は、参加ユーザの識別情報をキーとしてユーザリスト132Aを検索することで、参加ユーザのユーザ名を特定する。表示制御部114は、欄602に参加ユーザのユーザ名を表示した対戦ルーム画面600をタッチスクリーン15に表示させる。なお、対戦ルーム画面600に、参加ユーザの操作キャラクタ608が表示されてもよい。また、ゲーム進行部112は、参加ユーザの識別情報をキーとしてユーザリスト132Aを検索することで、参加ユーザが新規ユーザであるか否かを特定してもよい。また、ゲーム進行部112は、参加ユーザの識別情報をキーとしてフレンドリスト133Aを検索することで、参加ユーザが、ホストユーザが対戦することで対戦報酬が得られるユーザであるか否かを特定してもよい。換言すると、ゲーム進行部112は、フレンドリストにおいて相互フラグにチェックが入っており、かつ、報酬付与フラグにチェックが無いユーザであるか否かを、特定してもよい。
図10に示すように、対戦に必要な人数が揃った場合、対戦実行部112Bは、所定時間の経過、またはホストユーザの対戦の開始を指示する入力操作等に応じて、対戦を開始させる。
(対戦実行処理)
図11は、対戦に係る処理の流れの一例を示すフローチャートである。ステップS30において、ホストユーザ端末の操作受付部111は、対戦ルームの作成を指示する入力操作を受け付ける。例えば、操作受付部111は、対戦トップ画面500のボタン501を押下する入力操作を、対戦ルームの作成を指示する入力操作として受け付ける。
ステップS32において、マッチング部112Aは、対戦ルームを作成する。マッチング部112Aは対戦ルームの作成時に、該対戦ルームの識別番号を採番し、ホストユーザの識別情報とともにサーバ200の同期処理部214に伝える。
ステップS34において、マッチング部112Aは、対戦ルーム画面600の表示中に、操作受付部111が他端末からマッチングの要求を受け付けたか否かを判定する。ステップS34でNOの場合、すなわち、他端末からマッチングの要求を受け付けていない場合、ホストユーザ端末のマッチング部112Aは待機する。
ステップS34においてYESの場合、すなわち、他端末からマッチングの要求を受け付けた場合、マッチング部112AはステップS36を実行する。ステップS36において、ホストユーザ端末のマッチング部112Aは、該要求に含まれる他端末のユーザ、すなわち参加ユーザの識別情報に基づいて、ホストユーザと参加ユーザとをマッチングする。
ホストユーザとある参加ユーザとのマッチングが成立すると、マッチング部112Aは、ステップS38の判定を実行する。ステップS38において、マッチング部112Aは、ホストユーザとマッチングした参加ユーザとの合計人数が、対戦に参加可能な人数の上限に達したか否かを判定する。例えば、テニスのシングルスの試合の場合、対戦に参加可能な人数の上限は、2人である。また、テニスのダブルスの試合の場合、対戦に参加可能な人数の上限は4人である。なお、対戦にNPCが含まれる場合、NPC1体をユーザ1人として換算してよい。
ステップS38でNOの場合、マッチング部112Aは、再びステップS34〜S36の処理を繰り返す。すなわち、他端末、すなわち参加ユーザ端末からのマッチング要求を待ち、マッチング要求を受信した場合は、ホストユーザと参加ユーザとのマッチングを行う。ステップS38でYESの場合、対戦実行部112Bは、ホストユーザと1人以上の参加ユーザとを、対戦に参加させるユーザに決定する。
ステップS40において、対戦実行部112Bは、ホストユーザと参加ユーザとを含む対戦を実行する。対戦にNPCが含まれる場合、該NPCも対戦に参加する。対戦のルール、1回の対戦の進行の仕方、対戦の勝敗の条件等は特に限定されない。
対戦が終了すると、対戦実行部112Bは対戦が終了した旨と、対戦に参加させたユーザのユーザIDとを報酬付与部112Dに通知する。ステップS42において、報酬付与部112Dは、参加ユーザに相互フレンドの新規ユーザが含まれているか否かを判定する。
具体的には、報酬付与部112Dは、通知されたユーザIDをキーとしてフレンドリスト133Aを検索する。報酬付与部112Dは、以下の(1)〜(3)の条件全てに合致するレコードが存在する場合、参加ユーザに相互フレンドの新規ユーザが含まれていると判定する。
(1)「ユーザID」列が示すユーザIDが通知されたユーザIDのいずれかと一致する
(2)「相互フラグ」列にチェックが入っている
(3)「新規フラグ」列にチェックが入っている
ステップS42でYESの場合、報酬付与部112Dは、ステップS44を実行する。ステップS44において、報酬付与部112Dは、ホストユーザに対戦報酬を付与する。一方、ステップS42でNOの場合、報酬付与部112DはステップS44を実行せず、処理を終了する。
フレンドリスト133Aに「報酬付与フラグ」列が含まれる場合、報酬付与部112Dは、ステップS42でYESの場合、かつ、上記(1)〜(3)の条件全てを満たしたレコードの「報酬付与フラグ」列にチェックが入っていない場合のみ、ステップS44を実行して対戦報酬を付与することとしてもよい。
ステップS42の判定は、対戦後ではなく、対戦実行部112Bが対戦に参加させるユーザを決定した段階で行われてもよい。すなわち、ステップS42の判定は、ステップS38とステップS40との間、またはステップS40と並行して実行されてもよい。しかしながら、ステップ44における対戦報酬の付与は、対戦の終了後、すなわち、ステップS40の後に実行されることが望ましい。これにより、ホストユーザに、最後まで対戦をプレイする動機を与えることができる。
新規ユーザは、ゲームへの登録から時間が経っていないため、対戦に参加させる操作キャラクタのレベル等のパラメータ、装備品等のゲーム内アイテムの所持状況が、古参ユーザのそれに比べ、劣っている可能性が高い。また、新規ユーザはゲームに慣れていない可能性が高いため、対戦で勝利するための操作の習熟度、および、対戦において有利に立ち回るための知識が不足している可能性が高い。
したがって、全てのユーザが参加し得る対戦、特に、古参ユーザが含まれる対戦では、新規ユーザは敬遠される傾向がある。また、古参ユーザは、上述のような面で劣っている新規ユーザと交流を持つ意義は薄いと考える傾向がある。
これに対し、上記の処理によれば、ユーザは、新規ユーザと相互フレンドになり、かつ、該相互フレンドの新規ユーザと対戦することで対戦報酬を得ることができる。したがって、ユーザに対し、フレンド登録をする、およびされることで新規ユーザと互いに交流を持つこと、および、該新規ユーザと対戦することを促すことができる。
したがって、新規ユーザが他のユーザと交流する機会、および、新規ユーザが対戦する機会を増加させることができる。これにより、新規ユーザに他のユーザと交流することの面白さ、および対戦の面白さを体感させることができる。したがって、新規ユーザに継続的にゲームをプレイする動機を与えることができる。
〔実施形態2〕
ゲーム進行部112は、あるユーザがフレンド登録したユーザの一覧画面、または、該あるユーザをフレンド登録しているユーザの一覧画面を作成して表示させるよう、表示制御部114に指示してもよい。
また、ゲーム進行部112は、これらの一覧画面において、あるユーザと相互フレンドであるユーザを、相互フレンドでないユーザとを区別可能に表示させてもよい。また、ゲーム進行部112は、これらの一覧画面において、新規ユーザを、新規ユーザでないユーザと区別可能に表示させてもよい。以下、本発明の実施形態2について説明する。なお、実施形態1にて説明した内容と同じ内容については、その説明を繰り返さない。
図12は、フレンド一覧画面の一例を示す図である。フレンド一覧画面700は、あるユーザがフレンド登録したユーザを一覧表示するためのゲーム画面である。フレンド一覧画面700には、トップ画面300等からボタン306を押下する入力操作を受け付けた場合、その後所定の操作を行うことで遷移することができる。フレンド一覧画面700には、ユーザのフレンドに関する情報が一覧表示される。図12の例では、フレンド一覧画面700は、フレンドに関する情報が表示される欄701A〜701Dを含んでいる。1つの欄は、1名のユーザに関する情報を提示する。以下、欄701Cを例にとり、各欄の記載項目について説明する。
フレンド一覧画面700は、フレンドに関する情報として、例えば、ユーザ名702、リーダーに設定しているキャラクタのアイコン703、所属チーム名704、該フレンドが設定しているメッセージ705、を提示する。また、フレンド一覧画面700は、各欄が示すフレンドが新規ユーザである場合は、新規ユーザであることを示すアイコン706を提示する。また、フレンド一覧画面700は、各欄が示すフレンドが相互フレンドである場合は、相互フレンドであることを示すアイコン707を提示する。また、各欄には、その欄で示されるフレンドをチームに招待するためのボタン708と、該欄で示されるフレンドについての登録解除指示を受け付けるためのボタン709が含まれていてもよい。
図13は、被登録フレンド一覧画面の一例を示す図である。被登録フレンド一覧画面800は、あるユーザをフレンド登録しているユーザを一覧表示するためのゲーム画面である。被登録フレンド一覧画面800には、トップ画面300等からボタン306を押下する入力操作を受け付けた場合、その後所定の操作を行うことで遷移することができる。被登録フレンド一覧画面800には、ユーザをフレンド登録しているユーザに関する情報が一覧表示される。図12の例では、被登録フレンド一覧画面800は、ユーザに関する情報が表示される欄801A〜801Dを含んでいる。1つの欄は、1名のユーザに関する情報を提示する。以下、欄801Cを例にとり、各欄の記載項目について説明する。
被登録フレンド一覧画面800は、ユーザに関する情報として、例えば、ユーザ名802、リーダーに設定しているキャラクタのアイコン803、所属チーム名804、該ユーザが設定しているメッセージ805、を提示する。また、被登録フレンド一覧画面800は、各欄が示すユーザが新規ユーザである場合は、新規ユーザであることを示すアイコン806を提示する。また、被登録フレンド一覧画面800は、各欄が示すユーザが相互フレンドである場合は、相互フレンドであることを示すアイコン807を提示する。また、各欄には、その欄で示されるユーザからのフレンド登録の解除を指示するためのボタン808と、該欄で示されるユーザをフレンド登録するボタン809、または該欄で示されるユーザについての登録解除指示を受け付けるためのボタン810が含まれていてもよい。
これにより、あるユーザがフレンド登録している、またはあるユーザをフレンド登録している他のユーザを確認する際に、該他のユーザが新規ユーザであるか否か、および、相互フレンドであるか否かを確認することができる。換言すると、あるユーザは、共に対戦を行うことで対戦報酬を得られるユーザを確認することができる。したがって、該あるユーザの、相互フレンドかつ新規ユーザとの対戦を促進させることができる。
〔実施形態3〕
ゲーム進行部112は、ユーザと相互フレンドである新規ユーザが1人以上存在する場合、所定のタイミングで、対戦ルームの作成を指示する入力操作を促す画像を表示させてもよい。
例えば、ゲーム進行部112は、ユーザのフレンド登録により、該ユーザと対象ユーザとが相互フレンドとして対応付けられた場合であって、該対象ユーザが新規ユーザであった場合に、対戦ルームの作成を指示する入力操作を行うよう促す画像を表示させてもよい。
具体的には、フレンド管理部112Cは、ステップS18において「相互フラグ」列にチェックを入れた後に、フレンドリスト133Aの「新規フラグ」列、または対象ユーザのユーザIDに対応するユーザリスト132Aのレコードの「登録日」列の情報に基づいて、対象ユーザが新規ユーザであるか否かを特定してもよい。そして、対象ユーザが新規ユーザであった場合、フレンド検索画面400において、対戦ルームの作成を指示する入力操作を行うよう促す画像を表示させてもよい。
図14は、フレンド検索画面に、対戦ルームの作成を指示する入力操作を行うよう促す画像を表示させる場合のゲーム画面の一例を示す図である。図示の例では、フレンド検索画面400にポップアップ画像450が重畳表示されている。ポップアップ画像450には、相互フレンドになった新規ユーザとの対戦を促す通知451と、対戦ルームの作成を指示する入力操作を受け付けるためのボタン452とが含まれる。また、ポップアップ画像450には、対戦報酬が獲得できる期間が決まっている場合は、該期間の通知453が含まれていてもよい。
これにより、ユーザと、該ユーザと少なくともフレンド登録を互いに行ったという点で交流がある新規ユーザとの対戦を促すことができる。したがって、新規ユーザが対戦に参加する機会を増やすことができる。
また例えば、ゲーム進行部112は、ユーザが本ゲームにログインしたときに、ユーザの相互フレンドとして1人以上の新規ユーザが対応付けられている場合、該ユーザが操作するユーザ端末100の表示部に、対戦ルームの作成を指示する入力操作を行うよう促す画像を表示させてもよい。
具体的には、ゲーム進行部112は、ユーザのログイン時に、該ユーザのフレンドリスト133Aにおいて「新規フラグ」列および「相互フラグ」列にチェックが入っているレコードが存在するか否かを特定してもよい。そして、両列にチェックが入っているレコードが存在する場合、ゲーム進行部112は、トップ画面300を表示させる際に、対戦ルームの作成を指示する入力操作を行うよう促す画像を併せて表示させてもよい。
図15は、トップ画面に、対戦ルームの作成を指示する入力操作を行うよう促す画像を表示させる場合のゲーム画面の一例を示す図である。図示の例では、トップ画面300にポップアップ画像370が重畳表示されている。ポップアップ画像370には、相互フレンドの新規ユーザとの対戦を促す通知371と、対戦ルームの作成を指示する入力操作を受け付けるためのボタン374とが含まれる。なお、ポップアップ画像370には、フレンド検索画面400への遷移を指示するためのボタン373が含まれていてもよい。また、ポップアップ画像370には、対戦報酬が獲得できる期間が決まっている場合は、該期間の通知372が含まれていてもよい。
これにより、ユーザと、該ユーザと少なくともフレンド登録を互いに行ったという点で交流がある新規ユーザとの対戦を促すことができる。したがって、新規ユーザが対戦に参加する機会を増やすことができる。
なお、ゲーム進行部112は、「新規フラグ」列および「相互フラグ」列にチェックが入っているレコードが存在する場合、該レコードの「報酬付与」列にチェックが入っているか否かを確認してもよい。そして、「報酬付与」列にチェックが入っている場合、ポップアップ画像370は表示しないこととしてもよい。これにより、対戦報酬が受け取れない場合に対戦を促すことを防止することができる。
〔実施形態4〕
対戦実行部112Bは、マッチングされた参加ユーザの中に新規ユーザが1人以上含まれており、かつ、対戦において新規ユーザを含む第1陣営と、新規ユーザを含まない2陣営とが存在する場合、第1陣営の対戦における勝利条件を、第2陣営の対戦における勝利条件よりも達成容易な条件に設定してもよい。
例えば、対戦がスポーツの試合である場合、対戦における勝利条件とは、1試合に勝利するために必要な得点数である。この場合、対戦実行部112Bは第1陣営が勝利するために必要な得点数を、第2陣営が勝利するために必要な得点数より少なくしてもよい。また例えば、対戦がアクションのステージクリアの速さを競うものである場合、対戦における勝利条件とは、ステージを最も少ないクリアタイムでクリアすることである。この場合、対戦実行部112Bは、第1陣営の実際のステージクリアのタイムから所定時間を差し引いたものを、第1陣営のクリアタイムとして第2陣営のクリアタイムと比較して勝敗を決定してよい。
このように、新規ユーザの有無に応じて各陣営の勝利の容易さに差を生じさせることで、新規ユーザを含んだ陣営が、対戦において勝ちやすくなるようにすることができる。これにより、本ゲームのユーザ、特に古参ユーザに対して、操作習熟度等の面から敬遠されがちな新規ユーザを陣営に加えて対戦を行う動機を与えることができる。一方、対戦に参加した新規ユーザには、本ゲームの対戦の面白さを体感させることができる。したがって、新規ユーザに継続的にゲームをプレイする動機を与えることができる。
対戦実行部112Bは、第1陣営と第2陣営とが存在する場合、対戦において、第1陣営に有利な効果が起こる頻度を、第2陣営に有利な効果が起こる頻度よりも高くしてもよい。
例えば、対戦がテニスの試合であって、テニスの試合を行う各キャラクタに、体力値の最大値が予め設定されていると仮定する。また、対戦実行部112Bは対戦中の各キャラクタの動作に応じて、該キャラクタの現在の体力値の値を示すパラメータを、該体力値の最大値と同一の値から徐々に減少させていくことと仮定する。そして、体力値の現在の値が、試合における各キャラクタの移動速度等の性能に影響することと仮定する。
この場合、対戦実行部112Bは、第1陣営のいずれかのユーザのキャラクタの、現在の体力値を回復させる効果を、第2陣営の該効果よりも高頻度で発生させてもよい。または、対戦実行部112Bは、第1陣営に対して、いずれかのユーザのキャラクタの、現在の体力値を回復させる効果引き起こすためのトリガとなるアイテムを、第2陣営よりも高頻度で付与してもよい。
また例えば、対戦が、第1陣営と第2陣営とのパズルでの対戦であると仮定する。この場合、対戦実行部112Bは、第1陣営がパズルを解くために有利な効果を、第2陣営がパズルを解くために有利な効果よりも高頻度で発生させてもよい。また、対戦実行部112Bは、第1陣営がより多くのスコアを得るために有利な効果を、第2陣営がより多くのスコアを得るために有利な効果よりも高頻度で発生させてもよい。また、対戦実行部112Bは、第2陣営がパズルを解くために不利な効果、すなわち、間接的に第1陣営が有利になる効果を、第1陣営がパズルを解くために不利な効果よりも高頻度で発生させてもよい。
例えば、対戦が、第1陣営と第2陣営との戦闘である場合、対戦における勝利条件とは、例えば第1陣営に所属する各ユーザおよびNPCが、第2陣営に所属する各ユーザおよびNPCの体力を0にすることである。この場合、対戦実行部112Bは、第1陣営に所属する各ユーザおよびNPCの体力または戦闘に係る各種パラメータを強化させた状態で、第1陣営と第2陣営との戦闘を進行させてもよい。
このように、新規ユーザの有無に応じて各陣営に、対戦における有利不利の差を生じさせることで、新規ユーザを含んだ陣営が、対戦において有利になるようにすることができる。これにより、本ゲームのユーザ、特に古参ユーザに対して、操作習熟度等の面から敬遠されがちな新規ユーザを陣営に加えて対戦を行う動機を与えることができる。一方、対戦に参加した新規ユーザには、本ゲームの対戦の面白さを体感させることができる。したがって、新規ユーザに継続的にゲームをプレイする動機を与えることができる。
対戦実行部112Bは、各陣営に含まれている新規ユーザの人数に応じて、対戦における勝利条件、および各陣営に有利な効果が起こる頻度の少なくとも一方を変更してもよい。例えば、本ゲームが3つの陣営を含むマルチプレイ対戦を提供する場合であって、第1陣営が新規ユーザを2人含み、第2陣営が新規ユーザを含んでおらず、第3陣営が新規ユーザを1人含んでいると仮定する。
この仮定の場合、対戦実行部112Bは、第1陣営に対し最も達成容易な勝利条件を設定し、かつ、第2陣営に対し最も達成困難な勝利条件を設定してもよい。さらに、対戦実行部112Bは、第3陣営の勝利条件を、第1陣営の勝利条件よりも達成困難ではあるが、第3陣営の勝利条件よりも達成容易な条件に設定してもよい。
また、この仮定の場合、対戦実行部112Bは、第1陣営に有利な効果を最も高頻度で発生させ、かつ、第2陣営に有利な効果を最も低頻度で発生させる、または第2陣営には該有利な効果が発生しないようにしてもよい。さらに、対戦実行部112Bは、第3陣営に有利な効果を、第1陣営に有利な効果が起こる頻度と、第2陣営に有利な効果が起こる頻度の間の頻度で発生させてもよい。
このように、新規ユーザの人数に応じて各陣営に有利不利の差をつけることによって、新規ユーザを陣営に含む利点を生み出すことができる。したがって、古参ユーザに対し、新規ユーザを交えて対戦を行うより強い動機を与えることができる。そして、対戦に参加した新規ユーザに本ゲームの面白さ、特に対戦の面白さを体感させることができる。したがって、新規ユーザに継続的にゲームをプレイする動機を与えることができる。
〔ソフトウェアによる実現例〕
制御部210の制御ブロック(特に、送受信部211、サーバ処理部212、およびデータ管理部213)、ならびに、制御部110の制御ブロック(特に、操作受付部111、ゲーム進行部112、オブジェクト制御部113、表示制御部114、および通信部115)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、制御部210または制御部110、もしくはその両方を備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
〔付記事項〕
本発明の一側面に係る内容を列記すると以下のとおりである。
(項目1) ゲームプログラム(131)について説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ(10、20)およびメモリ(11、21)を備えるコンピュータ(ユーザ端末100およびサーバ200の少なくとも一方)により実行される。ゲームプログラムは、プロセッサに、第1ユーザの識別情報と、ゲームプログラムに基づくゲームへの登録からの経過時間が所定時間内である第2ユーザ(新規ユーザ)の識別情報と、を互いに対応付けて記憶部(110)に記憶させるステップ(S14)と、第1ユーザの第1入力操作を受け付けるステップ(S30)と、第1入力操作を受け付けた場合、第1ユーザと、第1ユーザ(ホストユーザ)以外の1人以上の第3ユーザ(参加ユーザ)とをマッチングするステップ(S36)と、マッチングするステップにおいてマッチングされた第1ユーザおよび第3ユーザを含む対戦を実行するステップ(S40)と、第3ユーザに、記憶させるステップにおいて記憶させた第2ユーザが1人以上含まれていた場合、第1ユーザに対して報酬を付与するステップ(S44)と、を実行させる。
これにより、第1ユーザは、互いに対応付けられた第2ユーザを対戦に含めることで報酬を得ることができる。したがって、第1ユーザに対し、第2ユーザとの対応付けおよび対戦を促すことができる。
ここで、第2ユーザとは、ゲームへの登録からの経過時間が所定時間内であるユーザである。換言すると、第2ユーザとは、比較的新しい新規ユーザである。したがって、上記の処理によれば、新規ユーザが、他のユーザと交流および対戦する機会を増加させることができる。これにより、新規ユーザに他のユーザと交流することの面白さ、および対戦の面白さを体感させることができる。したがって、新規ユーザに継続的にゲームをプレイする動機を与えることができる。
(項目2) (項目1)において、報酬を付与するステップでは、ゲームをプレイする上で使用可能なゲーム媒体を獲得するために消費されるゲーム内アイテムまたは有価データを、報酬として第1ユーザに付与してもよい。
これにより、第1ユーザに、新規ユーザとの識別情報の相互の対応付け、および、対戦を行う動機をより強く与えることができるため、新規ユーザの対戦への参加を促進させることができる。したがって、新規ユーザが本ゲームの対戦の面白さを体感する機会が増え、よって新規ユーザに継続的にゲームをプレイする動機を与えることができる。
(項目3) (項目1)または(項目2)において、対戦を実行するステップは、第1ユーザおよび1名の第3ユーザのペアと、ペア以外の他のユーザ、およびゲームプログラムで規定された動作を行うNPC(non player character)の少なくとも一方を含むペアとの、対戦を実行してもよい。
これにより、ゲームプログラムは、第1ユーザおよび第3ユーザにペア対ペアの対戦を提供することができる。したがって、各ユーザは競って、あるいは協力して対戦を行うことになる。これにより、対戦をより戦略性の高いものとすることができるため、ゲームの興趣性を向上させることができる。
(項目4) (項目1)から(項目3)までのいずれか1項目において、ゲームプログラムは、プロセッサに、さらに、記憶させるステップにおける対応付けが可能なユーザを、第1ユーザが操作する第1ユーザ端末の表示部に、該ユーザが第2ユーザであるか否かが区別可能な状態で表示させるステップを実行させてもよい。
これにより、第1ユーザが対応付け可能なユーザが新規ユーザであるか否かを容易に判別することができる。したがって、第1ユーザと新規ユーザとの対応付けが行われる機会を増加させることができる。
(項目5) (項目1)から(項目4)までのいずれか1項目において、ゲームプログラムは、プロセッサに、さらに、記憶させるステップの後に、第1ユーザが操作する第1ユーザ端末の表示部に、第1入力操作を促す画像を表示させるステップを実行させてもよい。
これにより、第1ユーザと、該第1ユーザと交流がある第2ユーザとの対戦を促すことができる。したがって、新規ユーザが対戦に参加する機会を増やすことができる。
(項目6) (項目1)から(項目5)までのいずれか1項目において、ゲームプログラムは、プロセッサに、さらに、第1ユーザが前記ゲームにログインしたときに、該第1ユーザに第2ユーザが1人以上対応付けられている場合、該第1ユーザが操作する第1ユーザ端末の表示部に、第1入力操作を促す画像を表示させるステップを実行させてもよい。
これにより、第1ユーザと、該第1ユーザと交流がある第2ユーザとの対戦を促すことができる。したがって、新規ユーザが対戦に参加する機会を増やすことができる。
(項目7) (項目1)から(項目6)までのいずれか1項目において、対戦を実行するステップは、マッチングするステップにおいてマッチングされた第3ユーザの中に前記第2ユーザが1人以上含まれており、かつ、対戦において第2ユーザを含む陣営と、前記第2ユーザを含まない陣営とが存在する場合、第2ユーザを含む陣営の前記対戦における勝利条件を、第2ユーザを含まない陣営の対戦における勝利条件よりも達成容易な条件に設定してもよい。
このように、新規ユーザの有無に応じて各陣営の勝利の容易さに差を生じさせることで、新規ユーザを含んだ陣営が、対戦において勝ちやすくなるようにすることができる。これにより、新規ユーザの対戦への参加を促進させることができる。したがって、新規ユーザが本ゲームの対戦の面白さを体感する機会が増え、よって新規ユーザに継続的にゲームをプレイする動機を与えることができる。
(項目8) (項目1)から(項目7)までのいずれか1項目において、対戦を実行するステップは、マッチングするステップにおいてマッチングされた第3ユーザの中に第2ユーザが1人以上含まれており、かつ、対戦において第2ユーザを含む陣営と、第2ユーザを含まない陣営とが存在する場合、対戦において、第2ユーザを含む陣営に有利な効果が起こる頻度を、第2ユーザを含まない陣営に有利な効果が起こる頻度よりも高くしてもよい。
このように、新規ユーザの有無に応じて各陣営に、対戦における有利不利の差を生じさせることで、新規ユーザを含んだ陣営が、対戦において有利になるようにすることができる。これにより、新規ユーザの対戦への参加を促進させることができる。したがって、新規ユーザが本ゲームの対戦の面白さを体感する機会が増え、よって新規ユーザに継続的にゲームをプレイする動機を与えることができる。
(項目9) ゲームプログラムを実行する方法を説明した。本開示のある局面によると、ゲームプログラムは、プロセッサおよびメモリを備えるコンピュータにより実行される。該方法は、プロセッサが(項目1)に記載の各ステップを実行する方法である。(項目9)に係る方法は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。
(項目10) 情報処理装置を説明した。本開示のある局面によると、該情報処理装置は、(項目1)に係るゲームプログラムを記憶する記憶部(120)と、該ゲームプログラムを実行することにより、情報処理装置(ユーザ端末100)の動作を制御する制御部(110)とを備える。(項目10)に係る情報処理装置は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。