以下、図面を参照して本発明の実施形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。即ち、本発明は、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、以下の図面の記載において、同一または類似の部分には同一または類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
図1乃至図14は、実施形態を説明するための図である。以下、これらの図を参照しながら、以下の流れに沿って実施形態を説明する。まず、「1」で実施形態に係るゲームシステムの概要を説明する。続いて「2」で情報処理装置であるゲーム制御サーバの機能構成を説明し、「3」でゲーム制御サーバの処理の流れを説明する。「4」では、ゲーム制御サーバを実装可能なハードウェア構成の具体例を説明する。最後に、「5」以降で、本実施形態に係る効果などを説明する。
(1. 概要)
(1.1. ゲームシステムの概要)
まず、図1を参照しながら、実施形態に係るゲームシステム1の構成及び処理の概要を説明する。ゲームシステム1は、例えばゲーム運営会社により管理されるゲーム制御サーバ(情報処理装置)10と、課金サーバ20と、各ユーザの携帯型端末30A、30B乃至30N(以下、総称して携帯型端末30とも呼ぶ。)とを含む。ゲーム制御サーバ10と、課金サーバ20と、携帯型端末30とは、それぞれネットワークNを介して有線又は無線により、相互に通信可能である。本ゲームシステム1において、ユーザは携帯型端末30にインストールされたゲームアプリケーション(以下、アプリケーションをアプリとも呼ぶ。)を用いて、オンラインゲームをプレイすることができる。ゲーム制御サーバ10は、携帯型端末30と逐次通信することにより、当該携帯型端末30にインストールされたゲームアプリのゲームの進行を逐次制御する。
ゲーム制御サーバ10は、先述の通り、携帯型端末30との間でコマンドを通信することにより、当該携帯型端末30にインストールされたゲームアプリ上でのゲームの進行を制御する。また、ゲーム制御サーバ10はゲームの実行及び進行に必要な各種データを管理すると共に、それらのデータを携帯型端末30に配信可能である。
課金サーバ20は、携帯型端末30又はゲーム制御サーバ10からの要求に応じて、ゲーム内での課金処理を行うサーバである。課金によりユーザは、例えばゲーム内で提供される何らかのアイテムを取得するための抽選(以下、「ガチャ」とも呼ぶ。)を引いたり、或いはゲームを進行する際に必要となるパラメータ(以下、「スタミナ」とも呼ぶ。)を回復させたりするための媒体(アイテム)を取得することが可能となる。
携帯型端末30は、先述の通りゲームアプリがインストールされており、当該ゲームアプリを実行することにより、ユーザはゲームをプレイすることができる。ゲームアプリが実行されると、携帯型端末30はネットワークNを介してゲーム制御サーバ10や課金サーバ20に接続し、オンラインゲームサービスをユーザに提供することが可能となる。携帯型端末30は、例えばいわゆるスマートフォンと呼ばれる携帯電話や、タブレット型端末、PDA(Personal Digital Assistant)、パーソナルコンピュータ、ゲーム機等により実現することができる。
ネットワークNは、先述の通りゲーム制御サーバ10、課金サーバ20、及び携帯型端末30を相互に通信可能に接続する。ネットワークNは、例えばインターネット等により実現することができ、内部に無線LANのアクセスポイントや携帯電話の基地局等を含むことができる。
(1.2. オンラインゲームの概要)
ここで、ゲームシステム1において提供されるオンラインゲームは、例えば、複数のユーザ間で戦ったり、或いは複数のユーザが協力して敵と戦ったりする対戦型ゲームであることが考えられる。ここでは、ゲームシステム1が提供するオンラインゲームが、複数のユーザが協力して、コンピュータが制御する敵と戦うことのできるゲームである場合を中心に説明する。
複数のユーザで協力して敵と戦う場合には、一緒にプレイするユーザのマッチングを図る必要がある。例えば4人のキャラクタにより、いわゆるクエストと呼ばれるミニゲームにおいてコンピュータが制御する敵と戦う場合には、最大4名のユーザをマッチングし、グループを作る必要がある。ここでは、ホストとなるユーザがクエストをプレイするためのグループ(以下、「ルーム」とも呼ぶ。)を作り、ゲストとなる他のユーザが当該グループに加入することによりマッチングを図る場合を例に説明する。
なお、以下の説明では、4人のキャラクタが協力して、コンピュータが制御する敵と戦うことができる場合を中心に説明する。しかしながらオンラインゲームの形態はこれに限られるものではなく、3人以下又は5人以上のキャラクタが協力して戦うことができるようにしても良い。また、各ユーザがコンピュータにより制御される敵に対して協力して戦わずとも、各ユーザが操作するプレイヤキャラクタ間で戦えるようにしても良い。
(1.2.1. クエスト表示画面200)
図2に、ホストとなるユーザの携帯型端末30のディスプレイに表示される画面の具体例を示す。図2は、ホストとなるユーザがクエストでプレイする際に表示されるクエスト表示画面200の具体例を示す図である。
図2のクエスト表示画面200は、ユーザ情報表示領域210と、クエスト情報表示領域220とを含む。ユーザ情報表示領域210には、当該ゲーム中におけるユーザの各種情報が示される。図2の例では、ユーザがゲーム中で使用するプレイヤ名情報211、レベル情報213、ゲーム中での経験値に関する経験値情報215、及びプレイヤがミニゲームを使用する際に消費するスタミナに関するスタミナ情報217等が、ユーザ情報表示領域210に提示されている。
プレイヤ名情報211は、オンラインゲーム中で各ユーザを識別するためにユーザ自身がつけるプレイヤ名であり、ユーザが設定した任意の文字列(図2の例では「ユーザX」)により構成される。オンラインゲームでプレイする各ユーザは、例えば後述のグループマッチング等の際に、当該プレイヤ名情報211により、他のユーザを識別することができる。
レベル情報213は、ゲーム内でのユーザのランクを示す。例えば、経験値情報215で示されるゲーム内の経験値が増加し、各レベル毎に設定された一定の閾値に達するとユーザのレベルが上昇する。
経験値情報215は、ユーザのゲーム内での経験値、及び次のレベルに達するために必要な閾値となる経験値であり、図2の例では、経験値が「**/***」という「/」で区切られた数値の表記、及び割合を示す棒グラフとして示される。例えば、ユーザが当該オンラインゲームにおいてミニゲームであるクエストをクリアすると、それに応じてユーザに対して所定の経験値が付与される。前述のとおり、経験値情報215で示される経験値が所定の閾値に達すると、レベル情報213で示されるユーザのレベルが上昇する。
スタミナ情報217は、ユーザがクエストでプレイする際に消費するパラメータであるスタミナに関する情報である。より具体的には、スタミナ情報217では、ユーザが現在保有するスタミナ、及びユーザが通常時に最大有することのできるスタミナの上限値の情報が「**/**」という「/」で区切られた数値の表記、及び割合を示す棒グラフとして示される。スタミナは、例えば一定時間ごとに1ずつ回復するように構成され、ユーザのレベルに応じた上限値までスタミナを溜めることが可能である。オンラインゲーム内のミニゲームである各クエストには、プレイする際に必要となる消費スタミナ値が設定されている。図2の画面例では、消費クエスト情報221において、消費スタミナ値が「5」であることが示されている。ユーザは、スタミナ情報217で示される保有スタミナ値が、クエストに設定された消費スタミナ値以上でない限り、当該クエストでプレイすることはできない。つまり、ユーザは、クエストを連続して無制限にプレイできないようになっている。
クエスト情報表示領域220は、ユーザがプレイするために選択したクエストの詳細を示すための領域である。図2の例では、クエスト情報表示領域220には、クエストの名称(「********」)、クエストの難易度、クエストをプレイする際に必要な消費クエスト情報221、出現モンスターの情報、ユーザがクリアした回数(「0」)、ユーザがクリアしたタイムの最小値、及びユーザのフレンドとして登録されている他のユーザがクリアしたタイムの最小値等の情報が示される。
更に、クエスト情報表示領域220には、ソロプレイボタン223と、マルチプレイボタン225とがそれぞれ選択可能に表示されている。ユーザがソロプレイボタン223を選択すると、ユーザはクエスト表示画面200に紐付けられるクエストを、ユーザ1人でプレイすることができる。その際には、例えばユーザがゲーム内で保有するメインキャラクタ1体及びサブキャラクタ2体で構成されるユーザの3体のキャラクタと、当該ユーザが助っ人として選択した他のユーザのメインキャラクタのパラメータが設定されたキャラクタ1体の計4体のキャラクタから構成されるパーティにより、ユーザはクエストをプレイすることができる。
一方、マルチプレイボタン225を選択するとユーザは他のユーザとグループ(ルーム)を構成し、自身のキャラクタ及び他のユーザが操作するキャラクタを含む4体のキャラクタにより、クエストでプレイすることができる。その際、ユーザ間でグループを構成するためのマッチングを行う必要がある。そこで、図3に示すルーム表示画面300が表示される。
なお前述のとおり、ユーザはクエストをソロプレイ又はマルチプレイのいずれによってもプレイすることが可能であるが、マルチプレイによりプレイした方が、ユーザはクリア後に高い報酬(例えばゲーム内金銭(ゴールド)、経験値、獲得アイテム等を報酬に含むことができる)を獲得することができる。これは、ユーザにとっては、ソロプレイよりもマルチプレイでプレイする動機付けとなるため、当該オンラインゲームを運営するゲーム運営会社にとってはユーザ数の拡大を図ることが可能となる。
(1.2.2. ルーム表示画面300)
本実施形態において、グループ(ルーム)は最大4名のユーザにより構成される。グループにゲストとして参加することのできるユーザは、原則としてホストとしてグループを構成しようとしているユーザの位置の近くにいるユーザに限られる。具体的には、ゲーム制御サーバ10は、たとえばユーザが操作する携帯型端末30からGPS(Global Positioning System)等による位置情報を取得した上で、当該位置から一定範囲以内にあるという端末間関係をもつ携帯型端末30を操作するユーザを「ユーザの位置の近くにいるユーザ」と判定する。その上でゲーム制御サーバ10は、そのユーザをマッチング中のグループに加入(参加)可能とすることができる。このようにグループにゲストとして参加可能なユーザを、ホストとなるユーザの近くにいるユーザのみに限定することにより、顔見知り以外とマルチプレイをすることは困難になるため、マルチプレイによりクエストをプレイしたいユーザは、近くにいる友人を誘わざるを得ない状況となる。この結果、オンラインゲームの提供者側には、ユーザ数の拡大を図ることができるメリットが生まれる。
しかしながら、このように位置情報に応じた端末間の関係に基づくマッチングのみを行う場合には、従前よりゲームをプレイしているユーザにとっては、マッチングされるユーザ数が限定され、結果としてプレイする機会が限定されてしまうという課題がある。例えば、ユーザが過疎地域に旅行すると、周辺に同じゲームをプレイしているユーザや誘うことのできる友人がおらず、結果としてゲームでプレイすることができないという状況になる。
そこで本実施形態に係るゲームシステム1では、位置情報によるマッチングに加え、ユーザが実世界において実際に交流があるとして登録されているユーザ(以下、「リアフレ」(リアルフレンドの略)とも呼ぶ。)については、位置に関わらずマッチング対象とする。これにより、例えばユーザが1人旅行などして周囲に友人がいないような状況となったとしても、リアフレとして登録されているユーザと、マルチプレイを楽しむことができる。また、「フレンド」についてはユーザと実世界において直接交流がなくとも登録可能であるところ、本実施形態のように遠距離マッチングの対象をリアフレとして登録されているユーザに限定することで、ゲーム運営会社は位置情報による限定したマッチングシステムを通じたユーザ数の拡大を図ることができる。
なお、本実施形態におけるゲームシステム1では、上述の通り、マッチング可能なユーザを、各ユーザが操作する携帯型端末30の距離が一定範囲内にあるという端末間関係を持つユーザと、例えば「リアフレ」として登録したユーザ間関係を持つユーザとに限定している。ここで、マッチングの際に利用可能な端末間の関係は、例えば、2台の携帯型端末30間の相対的な位置関係であって、それが判別可能なものであれば良い。従って、例えば近距離無線通信等による端末間の通信等により互いの端末が近くにいることが判別できるか否かも、端末間の関係ということができる。
また、マッチングの際に利用可能なユーザ間の関係は、例えば、前述のようにユーザが「フレンド」や「リアフレ」として登録した等、ゲーム制御サーバ10側で判別可能なユーザ間の関係性である。よって、例えば、ユーザが明示的に登録した関係性でなくとも、頻繁に一緒にプレイしている場合等も、両ユーザ間に何らかの関係性があると判別することも考えられる。
先述の通り、クエストをプレイする際には、クエスト毎に定められた値のスタミナを消費する。よって、マルチプレイによりクエストをプレイする際には、どのユーザのスタミナをどのように消費させるかが問題となる。本実施形態では、クエストをプレイした際に、当該クエストに対して定められた数値のスタミナをホストユーザが保有するスタミナから消費させる場合を中心に説明する。換言すると、ゲストとしてグループに参加してクエストをプレイしたユーザのスタミナは消費させない。
以下、図2のクエスト表示画面200においてユーザがマルチプレイボタン225を選択した場合に表示されるルーム表示画面300の具体例を図3を参照しながら説明する。図3は、ルームと呼ばれるグループを構成する際に表示されるルーム表示画面300の具体例を示す図である。ルーム表示画面300は、ユーザ情報表示領域210、参加プレイヤ情報表示領域310A乃至310D(以下、総称して参加プレイヤ情報表示領域310とも呼ぶ。)と、取消ボタン320、及びクエスト開始ボタン330を含む。
ユーザ情報表示領域210については図2に示したクエスト表示画面200に含まれていたものと同様である。
参加プレイヤ情報表示領域310は、当該グループ(ルーム)への参加状況を示すための領域である。ルーム表示画面300の例では、ホストとしてグループを構成しようとしている「ユーザX」のプレイヤキャラクタとなるメインキャラクタに関する情報が参加プレイヤ情報表示領域310Aに示されている。より具体的には、参加プレイヤ情報表示領域310Aには、「ユーザX」の使用するキャラクタの画像、レベル、各種パラメータ(総合力/HP/攻撃力)、使用する武器の属性(図3の例ではハンマーが図示されている)等が示されている。
前述のとおり、本実施形態におけるオンラインゲームのマルチプレイでは、最大4名のユーザによりクエストをプレイすることができる。ルーム表示画面300の例では、参加プレイヤ情報表示領域310B乃至310Dは「参加受付中」となっており、「マッチングは近くにいる人又はリアフレとのみおこないます」と記載されている。つまり、このグループには、ホストである「ユーザX」以外にはまだ誰も参加していない。また、当該グループには、ホストである「ユーザX」の近傍にいるユーザ、又は当該「ユーザX」と「リアフレ」として登録されているユーザが参加可能である。もし参加可能な他のユーザがゲストとして当該グループに参加した場合には、当該他のユーザのプレイヤキャラクタとなるメインキャラクタの情報が順次参加プレイヤ情報表示領域310B乃至310Dに表示される。
当該「ユーザX」がホストとなるグループに他のユーザが参加する際に、当該他のユーザの携帯型端末30のディスプレイ上に表示される表示画面については、図4を参照しながら後述する。
取消ボタン320は、ユーザが当該グループによるマルチプレイを行わない場合に選択されるユーザインタフェースである。もしグループのホストであるユーザ(図3の例では「ユーザX」)が取消ボタン320を選択すると、当該グループは解散となる。すなわち、既にグループにゲストとして参加していた他のユーザについても、そのグループへの加入状態が解除される。
また、もしグループのゲストであるユーザが取消ボタン320を選択すると、他のユーザのグループへの参加が維持されたまま、そのユーザのみがグループのメンバから外れる。すなわちルーム表示画面300上から、当該取消ボタン320を押したユーザのキャラクタが表示されなくなる。
クエスト開始ボタン330は、当該グループに参加しているメンバでホストであるユーザがクエストを開始する際に選択されるユーザインタフェースである。本実施形態において、各クエストは4人のキャラクタでプレイすることになっているため、例えば2名のユーザ(ホスト及びゲスト1名ずつ)しかグループに参加していない状態でホストであるユーザがクエスト開始ボタン330を選択した際には、ホストであるユーザの有するメインキャラクタ1体及びサブキャラクタ1体、及びゲストであるユーザの有するメインキャラクタ1体及びサブキャラクタ1体でクエストをプレイすることになる。また、3名のユーザ(ホスト及びゲスト1名ずつ)しかグループに参加していない状態でホストであるユーザがクエスト開始ボタン330を選択した際には、ホストであるユーザの有するメインキャラクタ1体及びサブキャラクタ1体、及びゲストである2名のユーザがそれぞれ有するメインキャラクタ1体ずつでクエストをプレイすることになる。もし4人のユーザがグループに参加した状態でホストであるユーザがクエスト開始ボタン330を選択した際には、全ユーザ4名の有するメインキャラクタ1体ずつで構成される4体のキャラクタでクエストをプレイする。
なお、マルチプレイは複数のユーザで構成されるグループ(ルーム)によりプレイするモードであるため、1名以上のゲストとなるユーザがグループに参加していない場合には、クエスト開始ボタン330は選択不可状態となる。ホストであるユーザを含む2名以上のユーザがグループに参加すると、クエスト開始ボタン330は選択可能なアクティブ状態となる。
(1.2.3. ルーム選択画面400)
続いて、図4を参照しながら、ホストであるユーザが構成しようとするグループ(ルーム)に、他のユーザがゲストとして参加したい場合に表示される、グループ選択のための表示画面の具体例を図4を参照しながら説明する。図4は、ユーザがグループに参加する際に表示されるルーム選択画面400の具体例を示す図である。ルーム選択画面400は、ユーザ情報表示領域210、ルーム情報表示領域410A乃至410C(以下、総称してルーム情報表示領域410と呼ぶ。)、及びスクロールバー420を含む。
ユーザ情報表示領域210については、対象とするユーザに違いはあるものの、内容は図2に示したクエスト表示画面200及び図3に示したルーム表示画面300に含まれていたものと同様である。図4の例では、プレイヤ名情報211に示されるユーザのプレイヤ名は「プレイヤP」であり、レベル情報213に示される当該ユーザのレベルは「Lv10」である。
各ルーム情報表示領域410は、ホストとなるユーザが構成しようとするグループの情報をそれぞれ選択可能に示している。ユーザがルーム選択画面400において複数あるルーム情報表示領域410の中の1を選択すると、選択されたルーム情報表示領域410に対応するグループに当該ユーザが操作するプレイヤキャラクタがゲストとして参加することになる。その際に当該ユーザの操作する携帯型端末30のディスプレイには、新たに参加したユーザを参加プレイヤ情報表示領域310に含む形で、図3に示したルーム表示画面300と同様の構成を持つ表示画面が表示される。
ルーム情報表示領域410は、ホスト情報表示領域411と、クエスト情報415と、ステータス情報417とを含む。
ホスト情報表示領域411は、グループ(ルーム)をホストとして構成しようとしているユーザの情報を示している。ホスト情報表示領域411には、ホストとなるユーザのプレイヤキャラクタの画像、プレイヤ名、パラメータ(図4の例ではレベル及び総合力)等が含まれる。更に、ルーム情報表示領域410には、ユーザと、ホスト情報表示領域411に示されるホストユーザとのユーザ間の関係を示すようにしても良い。ルーム情報表示領域410A及び410Bの例では、ユーザと、ホスト情報表示領域411に示されるホストユーザとの関係が「リアフレ」であることが、ユーザ関係情報413として示されている。本実施形態において、各ユーザ間の関係としては「リアフレ」の他「フレンド」もあり得るため、ユーザ関係情報413には「フレンド」である旨を表示しても良い。これによりユーザは、「リアフレ」又は「フレンド」であるユーザがホストとなっているグループを識別及び選択しやすくなる。なお、本実施形態においては、前述のとおりマルチプレイをプレイする際にグループとしてマッチング可能なユーザは、位置的に近傍にいるユーザ又はリアルフレンドとして登録されているユーザに限られる。よって、もしユーザ関係情報413に「フレンド」の表記がなされた場合には、当該「フレンド」として表記されているホストユーザは、ゲストとして参加しようとしているユーザの近くにいることを意味する。
なお、図4に示すようにルーム選択画面400においては、複数のルーム情報表示領域410がリスト上に表示される。ここで、例えば「リアフレ」として登録されたユーザがホストとなっているグループや「フレンド」として登録されたユーザがホストとなっているグループに係るルーム情報表示領域410を上部に表示するようにしても良い。これにより、「リアフレ」や「フレンド」として登録した他のユーザのグループを検索しやすくなる。
クエスト情報415は、各グループがプレイしようとしているクエストの情報を示す。例えば、クエストの名称(ルーム情報表示領域410Aの例では「********」)、及び難易度(ルーム情報表示領域410Aの例では「初級」)等をクエスト情報415に含むことができる。
ステータス情報417は、当該グループへのメンバの参加状況を示す。ルーム情報表示領域410Aの例では、4名参加可能なグループに対し、現時点で1名しか参加していないことを示している。
スクロールバー420は、ルーム選択画面400上に示されるルーム情報表示領域410のリスト中の、ルーム選択画面400に表示される領域をスムーズに移動させるためにユーザが操作可能なユーザインタフェースである。ユーザがスクロールバー420を操作することにより、当該ユーザはリストに含まれる多数のルーム情報表示領域410を確認し、それらの中から希望するルーム情報表示領域410を選択することが可能となる。
(1.2.4. クエスト結果表示画面500)
本実施形態におけるオンラインゲームのように、マッチングされた複数のユーザにより、オンラインゲーム中のクエストをプレイ(マルチプレイ)するものがある(例えば、非特許文献である<株式会社セガホールディングス、“[公式]モンスターギア|モンギア(SEGA)”、[online]、[平成27年6月12日検索]、インターネット〈URL:https://monstergear.sega-net.com/〉>参照)。非特許文献で示されるオンラインゲームでは、クエストをプレイする際に必要となるパラメータ(スタミナ)を、マッチングにより形成されたグループを構成する複数のユーザのうち1のユーザのみから消費させ、他のユーザのスタミナを消費させないようにすることにより、ユーザがマルチプレイによりプレイする動機付けとしている。
ここで、オンラインゲーム中のミニゲームであるクエストを、ユーザが何度も繰返しプレイしたい(周回したい)と考える場合がある。例えば、クエストをクリアすることで一定の確率で所定の報酬を得られる場合に、その報酬を得られるまでそのクエストを繰り返す場合や、クエストをクリアすると高い報酬が得られるために、その報酬をできるだけたくさん得る目的でクエストを繰り返す場合等である。
ここで、非特許文献で示されるオンラインゲームでは、マルチプレイによりクエストをプレイすると、グループを解散するようになっている。よって、マルチプレイによりクエストをプレイしたユーザが、同じメンバで同じクエストを連続的にプレイしたいと考える場合であっても、例えばホストとなるユーザが再度グループを構成し、ゲストとなるユーザがそのグループを検索し、ゲストとなるユーザがそのグループに参加した上でクエストをチャレンジしなければならない。すなわち、マルチプレイによりクエストを再チャレンジする操作が煩雑であった。
そこで本実施形態においては、マルチプレイによるクエストの再チャレンジに係る煩雑性を抑制することのできるプログラム及び情報処理装置を提供する。以下、この点について詳細に説明する。
「1.2.3.」までで説明してきたような流れでグループを構成した複数のユーザによりクエストをプレイし、当該クエストが終了すると、図5に具体例を示すクエスト結果表示画面500が表示される。図5は、マルチプレイによるクエストプレイ後に表示されるクエスト結果表示画面500の具体例を示す図である。クエスト結果表示画面500は、クエスト結果表示領域510、再チャレンジボタン520、及び終了ボタン530を含む。
クエスト結果表示領域510には、ユーザがクエストをプレイした結果を示す情報が示される。図5の例では、クエスト結果表示領域510には、プレイしたクエストの名称(「********」)、ユーザがクリアに要した時間、当該ユーザのフレンドとして登録されている他のユーザが同じクエストをクリアするのに要した時間のベストタイム、ユーザがクエストクリアにより獲得したゲーム内のパラメータ及びアイテム(ゴールド、経験値、装備、素材)等の情報が含まれる。
再チャレンジボタン520は、現在グループを構成する同じメンバで同じクエストのマルチプレイを希望する場合にユーザが選択するユーザインタフェースである。また、終了ボタン530は、現在グループを構成する同じメンバでの同じクエストのマルチプレイを希望しない場合にユーザが選択するユーザインタフェースである。
もし、現在グループを構成する全ユーザが再チャレンジボタン520を選択した場合には、全く同じメンバ構成の周回用(再チャレンジ用)のグループが再構成される。これにより、ユーザの操作する携帯型端末30のディスプレイ上では、図3に具体例を示したルーム表示画面300の表示に遷移し(但し、当該全ユーザの情報が、それぞれ参加プレイヤ情報表示領域310に表示される)、全く同じメンバでの再チャレンジが可能となる。
また、もしホストであるユーザを含む一部のユーザが再チャレンジボタン520を選択し、他のゲストであるユーザが終了ボタン530を選択した場合には、再チャレンジボタン520を選択したユーザのみでグループを構成するルーム表示画面300が、それらのユーザの携帯型端末30のディスプレイ上に表示される。すなわち、再チャレンジボタン520を選択したユーザのみが参加するグループで、再度同じクエストをプレイすることが可能となる。なお、当該グループには、新たに参加する他のユーザを加える事も考えられる。
一方、ホストであるユーザが終了ボタン530を選択した場合には、他のユーザも含めてグループを解散すれば良い。
しかしながら、これに限られるものではなく、ホストであるユーザが終了ボタン530を押した場合には、従来ゲストとしてグループに参加していたいずれかのユーザをホストとして、従来ゲストであったユーザのみで新たに同じクエストをプレイするためのグループを構成しても良い。また、ホストであるかゲストであるかに関わらず、いずれかのユーザが終了ボタン530を選択した段階で、当該ルームメンバからなるグループを解散することも考えられる。もしくは、再チャレンジボタン520を押したユーザの中で、ホストとなるユーザを順に入れ替えていくことも考えられる。
このような構成とすることにより、マルチプレイによりクエストを周回したいとユーザが考える場合には、グループを再構成するための操作を行うことなく(例えば図2や図4に具体例を示したクエスト表示画面200やルーム選択画面400を再度ユーザの携帯型端末30に表示させることなく)、クエストをプレイすることができる。つまり、マルチプレイによるクエストの再チャレンジに係る煩雑性を抑制することが可能である。
また先述の通り、本実施形態においては、クエストをマルチプレイによりプレイする際には、当該クエストに割り当てられた分の消費スタミナを、グループ内の1名(例えばホスト)のユーザの保有するスタミナから消費させる。ここで、同じメンバでクエストを周回する際に、スタミナを消費させるユーザを決定するステップを入れても良い。スタミナを消費させるユーザの決定方法としては複数考えられるが、例えば、クエストをプレイする度に、まずはホストとなるユーザのスタミナを消費させ、ホストとなるユーザのスタミナがクエストをプレイする際に必要な消費スタミナを下回った場合には、グループに参加している他のユーザからスタミナを消費させるユーザを決定することが考えられる。また、最も保有スタミナ数の多いユーザからスタミナを消費させても良い。或いは、全ユーザの有するスタミナを平均的に消費させたり、クエストに挑戦する際にスタミナを消費させるユーザをユーザ側に選択させたりすることも考えられる。このように実装することで、最大、全ユーザの保有するスタミナの合計値を、クエストを1回プレイするのに必要な消費スタミナの数値で除算した回数まで、同じメンバでクエストを周回することが可能となる。
或いは、前述のとおり、ユーザがレベルアップした際にはスタミナは全回復するため、クエストをクリアするとレベルアップすると考えられるユーザを特定した上で、当該ユーザの保有スタミナを消費させることも考えられる。
(2. 機能構成)
以下、図6を参照しながら、本実施形態に係るゲーム制御サーバ10の機能構成を説明する。図6は、ゲーム制御サーバ10の機能構成の具体例を示す機能ブロック図である。ゲーム制御サーバ10は、通信部1100と、データベース(DB)1200と、ユーザ情報管理部1300と、グループ管理部1400と、クエスト制御部1500とを含む。
通信部1100は、例えばユーザの操作する携帯型端末30や課金サーバ20等とネットワークNを介して通信する。例えば、ルームと呼ばれるグループを形成するためにホストとなるユーザによる作成要求や、当該グループへのゲストとなるユーザによる参加要求などは、通信部1100が携帯型端末30から受信する。また、ゲストとなるユーザが参加可能なグループに関する情報などは、通信部1100が携帯型端末30へ送信する。
DB1200は、ユーザ情報1210、グループ情報1220、及びクエスト情報1230を含む各種情報を管理する。
ユーザ情報1210は、ゲーム制御サーバ10が提供するオンラインゲームの各ユーザに係る情報である。図7に、ユーザ情報1210の具体例を示す。図7の例では、各行はそれぞれ1人のユーザに対応する。各ユーザ情報1210には、ユーザID、ユーザ名、レベルやスタミナ等の各種パラメータ、ユーザがフレンドやリアルフレンド等として登録しているユーザ関係情報等が含まれる。
ユーザIDは、各ユーザを識別するためにゲーム制御サーバ10側で各ユーザに割り当てる識別子である。図7の例では「user001」「user002」等の識別子が欠くユーザに割り当てられている。
ユーザ名は、各ユーザが自身でつけることのできるオンラインゲーム中で使用する名前であり、任意の文字列により構成される。図7の例では、「ユーザX」「プレイヤP」等の文字列がユーザ名として登録されている。
レベルやスタミナ等の各種パラメータは、ユーザがオンラインゲーム中でのステータス等を示す値である。例えばレベルは、ゲーム内でクエスト等をクリアすることにより割り当てられる経験値が、各レベル毎に割り当てられた閾値を上回ると上昇する値である。
スタミナは、ユーザがクエストをプレイする際に消費するパラメータである。ユーザがクエストをプレイする際には、当該クエストに対して予め設定された消費スタミナ分、ユーザが保有するスタミナから消費される。これによりユーザは、クエストを無制限に連続してプレイすることはできない。スタミナは、例えば一定時間ごとに所定数分が増加する等、時間経過に応じて回復する他、レベル上昇時にはスタミナが全回復するようになっている。またユーザは、課金等の手段により入手できる媒体を消費することによりスタミナを回復させることもできる。本実施形態において、マルチプレイにおいては、ルームと呼ばれるグループを構成する複数のユーザのうち1人分のユーザのスタミナのみが減少するようになっている。よって、マルチプレイによれば、ソロプレイの時よりもクエストをプレイできる回数が増える。これによりユーザがマルチプレイによりプレイする動機付けとすることができる。
ユーザ関係情報は、各ユーザが「フレンド」や「リアルフレンド」として登録したユーザ間の情報を示す。図7の例では、「フレンド」や「リアルフレンド」として登録されたユーザの識別子が、それぞれ「フレンド」「リアルフレンド」の項目で管理されている。以下、「フレンド」及び「リアルフレンド」について説明する。なお、本実施形態においては、「フレンド」や「リアルフレンド」として登録したユーザの情報としてユーザIDを用いているがこの限りではない。例えば、ユーザが使用する端末ID、ゲーム内で同一な名称の使用を禁止する場合におけるユーザ名など、ユーザに対して一意に割り当てられたものをユーザの識別子に用いることができる。
例えばユーザがソロプレイによりクエストをプレイする際には、当該ユーザの保有するキャラクタ3体に加え、他のユーザのパラメータを利用したキャラクタ1体を「助っ人」として選択可能である。ユーザは、助っ人と共にクエストをプレイすると、そのクリア後に、当該助っ人として選択した他のユーザに対し、「フレンド」となる申請を送ることができる。当該他のユーザが当該申請を承認すれば、当該2人のユーザは互いに「フレンド」であるものとして登録される。つまり、「フレンド」については実世界における関係の有無に関わらず登録可能であり、「フレンド」になるためには位置情報を使用することなく登録することができる。「フレンド」として登録していると、ユーザがソロプレイによりクエストに挑戦する際に、助っ人として選択可能なユーザのリストで上位になる。すなわちユーザは、強いパラメータを有する他のユーザを「フレンド」として登録しておけば、当該ユーザを「助っ人」に選びやすくなるというメリットが有る。更に、ユーザが「フレンド」として登録している他のユーザと共にクエストをプレイした場合には、クエストのクリアに伴い、通常時よりも高い報酬を得ることができる。
「リアルフレンド」は、実世界において交流があるものとしてユーザに登録された他のユーザに係る情報である。リアルフレンドとしての登録方法の具体例を、以下図8を参照しながら説明する。
リアルフレンドとしてお互いに登録したい2人のユーザは、携帯型端末30を操作し、図8に具体例を示すリアルフレンド登録画面800をディスプレイに表示させる。リアルフレンド登録画面800には、ユーザ情報表示領域210に加え、タップ領域810が表示される。タップ領域810には「『リアルフレンド』になりたいお友達と同時に画面をタップ!」という、2人のユーザの同時操作を促す文章が示されている。リアルフレンドとしてお互いに登録したい両ユーザは、当該リアルフレンド登録画面800において、タップ領域810を同時にタップする。またこれと併せて携帯型端末30のゲームアプリは、現在位置情報をGPSから取得する。ゲームアプリは、ユーザにタップ領域810がタップされると、現在時刻情報及び現在位置情報を含む、リアルフレンド登録要求をゲーム制御サーバ10へと送信する。ゲーム制御サーバ10は、当該リアルフレンド登録要求を受信すると、現在時刻情報で示される時刻が一定範囲内であり、かつ取得された現在位置情報で示される位置が一定範囲内にあるリアルフレンド登録要求のペアの有無を探す。その結果、時刻及び位置が近似するリアルフレンド登録要求が2つあれば、ゲーム制御サーバ10は当該2つの携帯型端末30に対し、リアルフレンドの登録可否を問い合わせる。これを受けて両ユーザの携帯型端末30は、リアルフレンドとしての登録を承諾するか否かを確認するための「承諾」ボタンを配置した表示画面をディスプレイに表示する。その結果、両ユーザ双方の承諾を得られた場合にのみ、ゲーム制御サーバ10は両ユーザのユーザ情報1210に両者がリアルフレンドであるとして登録する。
このように、本実施形態に係るゲームシステム1においては、近似する時刻に、互いに近い位置にある2つの携帯型端末に所定の操作が行われたことに応じて、それらの携帯型端末30に係るユーザをリアルフレンドとして登録する。このような操作は、両ユーザが時間と場所を示し合わせて行わなければならないため、これらのユーザは実世界において交流があるものと考えられる。このような「リアルフレンド」の登録制度を設け、実世界におけるユーザの交流を促すことにより、本ゲームシステム1で提供されるオンラインゲームにおいては、ユーザ数の増加を図ることができる。
なお、図8のリアルフレンド登録画面800の例ではタップ操作によりリアルフレンドの登録要求を行うようにしているがこれに限られるものではない。例えば所定のパターンのなぞり操作を行ったり、或いは携帯型端末30を振ったりする等の操作により、携帯型端末30はゲーム制御サーバ10に対してリアルフレンドの登録要求を行うことも考えられる。また、位置情報を使って、所定の範囲内に位置する端末同士でマッチングして一緒にオンラインゲームをプレイした後に、申請・承認の過程を経てリアルフレンドを登録することも考えられる。
「リアルフレンド」として登録していると、ユーザがソロプレイによりクエストに挑戦する際に、「助っ人」として選択可能なユーザのリストで、他のユーザや「フレンド」として登録されているユーザよりも上位になる。更に、ユーザが「リアルフレンド」として登録している他のユーザと共にクエストをプレイした場合には、クエストのクリアに伴い、通常時や「フレンド」として登録されている場合よりも高い報酬を得ることができる。更に本実施形態においては、「リアルフレンド」として登録されているユーザについては、たとえプレイ時に両ユーザが近傍におらずとも、マルチプレイによりプレイすることが可能となる。
再び図6に戻り、DB1200はグループ情報1220を管理する。当該グループ情報1220は、例えばホストとなるユーザがマルチプレイを選択した際に作成される各グループの情報である。図9にグループ情報1220の具体例を示す。図9の例では、各行はそれぞれ1つのグループ(ルーム)に対応する。ホストとなるユーザがマルチプレイを選択し、携帯型端末30がゲーム制御サーバ10に対してルーム作成要求を送信すると、ゲーム制御サーバ10はゲーム制御サーバ10は新たなグループ情報1220を作成する。また、各ユーザがグループによるマルチプレイによりクエストをクリアした際には、ゲーム制御サーバ10は、当該グループを解散し、グループ情報1220を削除する。しかしながら、ユーザが例えば図5に示したクエスト結果表示画面500において、ユーザが再チャレンジボタン520を選択した場合には、グループに参加していたユーザの内、再チャレンジボタン520を選択したユーザのみを含む新たなグループに係るグループ情報1220が作成される。
各グループ情報1220には、ルームID、ホストユーザ情報、及びゲストユーザ情報が含まれる。
ルームIDは各グループを識別するために割り当てられる識別子である。
ホストユーザ情報は、各グループのホストとなるユーザに関する情報である。ホストユーザ情報には、ユーザを識別するためのユーザIDやユーザ名のほか、レベルや総合力等の各種パラメータを含むことができる。また、ホストユーザ情報には、ホストの現在位置情報を含むことができる。
ここで、現在位置情報は、各ユーザが操作する携帯型端末30から取得される位置である。例えば、ユーザがクエストをプレイする際にマルチプレイを選択すると、グループ作成要求が当該携帯型端末30からゲーム制御サーバ10へと送信される。その際、携帯型端末30はGPSにより現在位置情報を取得し、その情報をグループ作成要求と共に送信する。ゲーム制御サーバ10は、当該現在位置情報を、グループ情報1220に登録する。他のユーザがマルチプレイへのゲストとして参加する際には、当該他のユーザが参加可能な参加可能グループ情報をゲーム制御サーバ10は当該他のユーザに係る携帯型端末30へ送信する。その際、ゲーム制御サーバ10は、当該他のユーザの携帯型端末30から位置情報を取得した上で、当該位置とグループ情報1220に含まれるホストユーザ情報の現在位置が一定距離内にあるか否か、すなわち両携帯型端末30が一定範囲内という端末間関係を満たすか否かを判断する。またゲーム制御サーバ10は、当該他のユーザとホストユーザ情報で登録されている各ホストユーザが、ユーザ情報1210においてリアルフレンドと登録されているか否かを確認する。その結果、当該他のユーザとリアルフレンドとして登録されているユーザがホストとなっているグループ、或いは一定距離内にあると判断されるユーザがホストとなっているグループを、当該他のユーザが参加可能なグループとして判定できる。これによりゲーム制御サーバ10は、ユーザがマルチプレイによりプレイ可能な相手を、限定することが可能である。
再び図6に戻り、DB1200はクエスト情報1230を管理する。クエスト情報1230は、ユーザがオンラインゲーム中でプレイすることのできるミニゲームであるクエストに係る情報である。クエスト情報1230には、例えばクエスト名、難易度、プレイする際にユーザが消費する消費スタミナ量、出現モンスター、クリアした際に得ることのできる報酬等の情報を含むことができる。
ユーザ情報管理部1300は、ユーザ情報1210を管理する。ユーザ情報管理部1300は、ユーザ情報登録部1310、スタミナ情報管理部1320、及びユーザ関係情報登録部1330を含む。
ユーザ情報登録部1310は、ユーザが新規に携帯型端末30にゲームアプリをインストールし、当該ゲームアプリを起動した旨を携帯型端末30から受信した場合に、DB1200に当該ユーザに係るユーザ情報1210を作成する。その際、ユーザ情報登録部1310は当該ユーザに識別のためのユーザIDを割り当てるほか、携帯型端末30から、任意の文字列からなるユーザ名等の情報を受信し、当該情報をユーザ情報1210に登録する。
スタミナ情報管理部1320は、ユーザ情報1210に含まれるスタミナの値を管理する。例えば、ユーザが携帯型端末30においてゲームアプリを起動すると、当該ゲームアプリは前回のアプリ終了時刻の情報をゲーム制御サーバ10へ送信する。当該通知をゲーム制御サーバ10の通信部1100が受信すると、スタミナ情報管理部1320は当該ユーザの直近のアプリ終了時からの経過時間を計算する。スタミナ情報管理部1320は、ユーザ情報1210にスタミナ情報として登録された直近のスタミナの値に、当該経過時間に応じたスタミナを加算する。更にスタミナ情報管理部1320は、当該更新後のスタミナ値に係るスタミナ情報を携帯型端末30へ送信する。アプリ起動後においても、スタミナ情報管理部1320はアプリ起動後の経過時間に応じて、逐次ユーザ情報1210に含まれるスタミナ値を更新し、必要に応じて携帯型端末30との間でスタミナ更新について通信する。
また、スタミナ情報管理部1320は、ユーザがクエストのプレイを開始した旨の通知をクエスト制御部1500より受けると、当該クエストに応じた消費スタミナの値分だけ、ユーザが保有するスタミナの値を減算する。このとき、特にユーザがマルチプレイによりゲームを行う場合には、スタミナ情報管理部1320は、グループを構成する複数のユーザのうち、例えばホストユーザの保有スタミナ値だけを減算し、ゲストユーザの保有スタミナ値は維持することができる。
ユーザ関係情報登録部1330は、ユーザ情報1210に含まれるユーザ関係情報を登録/更新する。より具体的には、例えば、ユーザが他のユーザを「助っ人」として選択した上でソロプレイによりクエストをプレイする場合を考える。このとき、ユーザがソロプレイをクリアすると、当該助っ人である他のユーザを「フレンド」とする申請を送るか否かの表示画面が携帯型端末30のディスプレイ上に表示される。ユーザが「フレンド」の申請を行う旨の操作を行うと、ユーザ関係情報登録部1330は、当該フレンド申請を当該他のユーザの携帯型端末30に対して送信する。その後、当該他のユーザがフレンド申請を承認すれば、ユーザ関係情報登録部1330は、両ユーザ間の関係が「フレンド」だとしてユーザ情報1210に登録する。つまり、「フレンド」については実世界における関係の有無に関わらず登録可能である。
また、ユーザ関係情報登録部1330は、「リアルフレンド」についてもユーザ情報1210に登録可能である。前述のとおり、ユーザが図8に示したリアルフレンド登録画面800を携帯型端末30のディスプレイを表示させた状態でタップすると、携帯型端末30は現在時刻情報及び現在位置情報を含むリアルフレンド登録要求をゲーム制御サーバ10へと送信する。当該リアルフレンド登録要求を受信したユーザ関係情報登録部1330は、現在時刻情報で示される時刻差が一定範囲内であり、かつ取得された位置が一定範囲内であるリアルフレンド登録要求のペアの有無を判定する。その結果、時刻及び位置が近似するリアルフレンド登録要求のペアがあれば、ユーザ関係情報登録部1330は、当該2つの携帯型端末に係る両ユーザ間の関係が「リアルフレンド」がとしてユーザ情報1210に登録する。
グループ管理部1400は、グループ情報1220を管理する。グループ管理部1400は、新規グループ作成部1410、参加可能グループ抽出部1420、グループ解散部1430、周回グループ作成部1440、及びスタミナ消費ユーザ決定部1450を含む。
新規グループ作成部1410は、DB1200に逐次グループ情報1220を登録する。前述のとおり、図2に具体例を示したクエスト表示画面200において、ユーザがマルチプレイボタン225を選択すると、携帯型端末30はゲーム制御サーバ10にルーム作成要求を送信する。新規グループ作成部1410は、当該ルーム作成要求を受信すると、当該要求を送信した携帯型端末30に係るユーザをホストとして含む新たなグループ(ルーム)に係るグループ情報1220をDB1200に登録する。また新規グループ作成部1410は、新しいグループ(ルーム)を形成した旨を携帯型端末30へ通知し、携帯型端末30は図3に具体例を示したルーム表示画面300を表示する。
参加可能グループ抽出部1420は、ゲストとなるユーザの携帯型端末30から、参加可能なグループの問い合わせを受信した際に、当該携帯型端末30に係るユーザが参加可能なグループをグループ情報1220から抽出し、それらの情報を参加可能グループ情報として携帯型端末30に送信する。より具体的には、ユーザがゲストとしてグループに参加しようとする際には、当該ユーザに係る携帯型端末30は、GPS等から取得可能な現在位置情報と共に、参加可能グループを問い合わせる要求をゲーム制御サーバ10へと送信する。参加可能グループ抽出部1420は、当該要求を受けて、受信した当該携帯型端末30に係る現在位置情報で示される位置から所定範囲内にあるホストユーザに係るグループのグループ情報1220を抽出する。また参加可能グループ抽出部1420は、当該携帯型端末30に係るユーザと、リアルフレンドとして登録されたユーザがホストユーザとなっているグループのグループ情報1220も抽出する。参加可能グループ抽出部1420は、このようにして抽出されたグループに係るグループ情報1220のリストを携帯型端末30に送信する。これを受けて、携帯型端末30は図4に具体例を示したルーム選択画面400をディスプレイに表示する。
グループ解散部1430は、クエストをプレイし終わったグループに係るグループ情報1220をDB1200から削除する。
周回グループ作成部1440は、図5に示したクエスト結果表示画面500において、ユーザが再チャレンジボタン520を押した際に、周回用の新たな新規ルーム(グループ)を形成する。例えば周回グループ作成部1440は、グループを構成していた各ユーザがクエスト結果表示画面500において再チャレンジボタン520を選択したか終了ボタン530を選択したかに係るプレイ継続情報を受信し、再チャレンジボタン520を選択したユーザにより構成される周回用の新たな新規グループを形成すると共に、グループ解散部1430にグループを解散させる。これにより、例えば4人のグループを構築し、全ユーザが再チャレンジボタン520を選択すると、ユーザの携帯型端末30のディスプレイ上では、グループの解散/再結成の操作を行うことなく、新たな周回用のグループを形成することが可能となる。このとき、例えばホストであったユーザが再チャレンジボタン520を選択せず、終了ボタン530を選択した場合には、周回グループ作成部1440は新たなグループを構築せずに、グループ解散部1430に元のグループを解散させても良い。
スタミナ消費ユーザ決定部1450は、周回グループ作成部1440が周回用の新たなグループを作成した際に、当該グループでクエストをプレイする際に必要となるスタミナを消費させるユーザを決定する。例えば、スタミナ消費ユーザ決定部1450は、ホストであるユーザからスタミナを消費させ、ホストであるユーザのスタミナが無くなった場合に他のユーザのスタミナを消費させるようにしても良い。或いは、スタミナ消費ユーザ決定部1450は、グループを構成する各ユーザのスタミナを順番に消費させるようにしても良いし、最も多くスタミナを保有するユーザからスタミナを消費させるようにしても良い。若しくは、グループを構成する各ユーザのスタミナを、例えば同数ずつ消費させるようにすることも考えられる。或いは、グループを構成する各ユーザの内、スタミナを消費させるユーザを、グループを構成するユーザに選択させるようにしても良い。
クエスト制御部1500は、ユーザによるクエストプレイを制御する。クエスト制御部1500は、クエスト開始制御部1510、及び報酬付与部1520を含む。
クエスト開始制御部1510は、例えば図2に具体例を示したクエスト表示画面200においてユーザがソロプレイボタン223を選択し、助っ人となる他のユーザを選択すると、新たなクエストを開始させる。またクエスト開始制御部1510は、クエスト表示画面200においてユーザがマルチプレイボタン225を選択し、ルーム表示画面300においてクエスト開始ボタン330を選択すると、新たなクエストを開始させる。このとき、クエスト開始制御部1510はユーザ情報管理部1300に、新たなクエストを開始した旨を伝える。当該通知を受けたスタミナ情報管理部1320は、当該クエストに対して割り当てられた消費スタミナの値だけ、ユーザ情報1210に格納されるスタミナを減らす。このとき、特にマルチプレイにおいては、スタミナ情報管理部1320は、スタミナ消費ユーザ決定部1450により決定されたユーザについて、スタミナの値を更新する。
報酬付与部1520は、クエスト終了時に、各ユーザに対して報酬を付与する。例えばユーザがクエストを成功裏にクリアした際には、報酬付与部1520はクリアしたユーザに、経験値やゴールド、アイテム(例えば装備や進化用の素材等を含む)等を付与することができる。このとき、例えばユーザがマルチプレイによりクエストをプレイしており、更にマルチプレイを戦ったグループにフレンド又はリアルフレンドが含まれている場合には、報酬付与部1520は、報酬を通常時よりも高く設定することができる。
(3. 処理の流れ)
以下、ゲーム制御サーバ10の処理の流れを、図10乃至図13を参照しながら説明する。図10乃至図13は、本実施形態に係るゲーム制御サーバ10の処理の流れを示すフローチャートである。
なお、後述の各処理ステップは、処理内容に矛盾を生じない範囲で、任意に順番を変更して若しくは並列に実行することができ、また、各処理ステップ間に他のステップを追加しても良い。更に、便宜上1つのステップとして記載されているステップは複数のステップに分けて実行することもでき、便宜上複数に分けて記載されているステップを1ステップとして実行することもできる。
(3.1. リアルフレンド登録処理)
まず、リアルフレンド登録に係る処理を図10を参照しながら説明する。図10は、ユーザ情報1210に、リアルフレンドとしてユーザ関係情報を登録する際の処理の流れを示すフローチャートである。
携帯型端末30は、リアルフレンド登録画面800においてユーザが所定の操作を行うと、携帯型端末30の現在位置情報及び現在時刻情報を含むリアルフレンド登録要求をゲーム制御サーバ10へと送信する。
ゲーム制御サーバ10のユーザ関係情報登録部1330はリアルフレンド登録要求を携帯型端末30から受信すると(S1001のYES)、当該リアルフレンド登録要求に含まれる現在位置情報及び現在時刻情報を抽出する(S1003)。
続いてユーザ関係情報登録部1330は、他の携帯型端末30から受信しているリアルフレンド登録要求を検索し、それらのリアルフレンド登録要求の中に、位置情報で示される位置及び時刻情報で示される時刻が近似するものがあるか否かを確認する(S1005)。もし、位置情報で示される位置の間の距離が一定の閾値以下であり、且つリアルフレンド登録要求が送信された時刻の差異が一定閾値以下であるリアルフレンド登録要求のペアがあれば(S1005のYES)、ユーザ関係情報登録部1330は、それらのリアルフレンド登録要求を送信した携帯型端末30に係るユーザの組をリアルフレンドであるものとしてユーザ情報1210に登録する(S1007)。この際、ユーザ関係情報登録部1330は、リアルフレンドとしての登録前に、登録を承諾するか否かを問い合わせる要求を携帯型端末30に送信することも考えられる。この場合、携帯型端末30はリアルフレンドとして登録するか否かを、相手のユーザ名の情報など共に確認する画面をディスプレイに表示し、ユーザが承諾若しくは承諾しない旨を操作により選択できるようにすれば良い。その結果、リアルフレンドとしての登録の承諾が得られた旨の情報が両ユーザの携帯型端末30から得られた場合には、ユーザ関係情報登録部1330は、両ユーザのユーザ間関係がリアルフレンドであるものとしてユーザ情報1210に登録することができる。
ユーザ関係情報登録部1330は、両ユーザ間の関係をリアルフレンドとして登録すると、登録した旨を携帯型端末30へと通知する(S1009)。携帯型端末30は当該通知を受けて、リアルフレンドとして登録した旨、及びリアルフレンドとして登録されたユーザの情報をディスプレイに表示することで、ユーザにそれらの情報を伝える。
もしS1005において、位置情報で示される位置の間の距離が一定の閾値以下であり、且つリアルフレンド登録要求が送信された時刻の差異が一定閾値以下であるリアルフレンド登録要求のペアが見つからなかった場合には、ユーザ関係情報登録部1330は、リアルフレンドとして登録すべきユーザが見つからなかった旨を携帯型端末30へと通知する(S1011)。携帯型端末30は当該通知を受けて、リアルフレンドの登録処理が失敗した旨をディスプレイに表示することで、ユーザにその旨を報知する。
(3.2. マルチプレイ開始処理)
続いて、マルチプレイによりクエストを開始する際の処理を、図11及び図12を参照しながら説明する。以下、ホストとなるユーザの処理、及びゲストとなるユーザの処理にそれぞれ分けて説明する。
(3.2.1. ホストユーザに対する処理)
まず、ホストとなるユーザに係るマルチプレイ開始時の処理を、図11を参照しながら説明する。図11は、ホストとなるユーザに係るマルチプレイ開始時に係るゲーム制御サーバ10の処理の流れを示すフローチャートである。
図2に示したクエスト表示画面200において、ユーザが何らかの操作を行った場合には、当該操作に応じた要求がゲーム制御サーバ10へと送信される。もしソロプレイボタン223等、マルチプレイボタン225以外のボタンがユーザに選択され、当該選択に応じた要求を受信した場合には(S1101のNO)、ゲーム制御サーバ10は当該要求に応じた(すなわちユーザ操作に応じた)処理を行う(S1103)。
一方、ユーザがマルチプレイボタン225を選択した場合には、携帯型端末30はグループ(ルーム)作成要求を、現在位置情報と共にゲーム制御サーバ10へと送信する。ゲーム制御サーバ10の新規グループ作成部1410は当該グループ作成要求を受信すると(S1101のYES)、当該グループ作成要求に含まれる携帯型端末30の現在位置情報を抽出する(S1105)。更に新規グループ作成部1410は、当該携帯型端末30に係るユーザをホストとするグループ情報1220を作成し、DB1200へ登録する(1107)。また新規グループ作成部1410は、携帯型端末30へ、図3に具体例を示したルーム表示画面300を表示するために必要なグループ情報1220を通知する(S1109)。
その後、他のユーザがゲストユーザとして当該グループに参加した場合には(S1111のYES)、新規グループ作成部1410は新規参加ユーザをメンバとしてグループ情報1220へ登録する(S1113)。また新規グループ作成部1410は、当該更新されたグループ情報1220に基づくルーム表示画面300を表示するために必要なグループ情報1220を携帯型端末30へと送信する(S1115)。また、ゲストユーザの携帯型端末からグループから脱退する旨の要求を受信した場合にも(S1111YES)、新規グループ作成部1410は、当該ユーザに係る情報をグループ情報1220から削除する(S1113)。また新規グループ作成部1410は、当該更新されたグループ情報1220に基づくルーム表示画面300を表示するために必要なグループ情報1220を携帯型端末30へと送信する(S1115)。
ルーム表示画面300において、ユーザがクエスト開始ボタン330を選択した場合には、携帯型端末30はゲーム制御サーバ10に対してクエスト開始要求を送信する。ゲーム制御サーバ10は、当該クエスト開始要求を受信すると(S1117のYES)、クエスト開始制御部1510は、クエスト情報1230を参照してクエストをプレイする際に必要となる消費スタミナ量を確認する(S1119)。またスタミナ消費ユーザ決定部1450は、グループを構成するユーザの内、いずれのユーザのスタミナを消費させるかを決定する(S1121)。スタミナ情報管理部1320は、当該スタミナ消費ユーザ決定部1450が決定したユーザの保有スタミナの値から、S1119で確認したクエストのプレイに必要となる消費スタミナの値を減少させるべく、ユーザ情報1210を更新する(S1123)。これらの処理が終わると、クエスト制御部1500はクエストのプレイに係る制御を、携帯型端末30と適宜通信しながら開始する(S1125)。
(3.3.2. ゲストユーザに対する処理)
続いて、ゲストとなるユーザに係るマルチプレイ開始時の処理を、図12を参照しながら説明する。図12は、ゲストとなるユーザに係るマルチプレイ開始時に係るゲーム制御サーバ10の処理の流れを示すフローチャートである。
携帯型端末30においてマルチプレイへのゲストとしての参加をする旨の操作入力がユーザからなされると、携帯型端末30はゲーム制御サーバ10に対して参加可能グループの問合せ要求を、GPS等から取得される現在位置情報と共に送信する。
ゲーム制御サーバ10は、当該参加可能グループの問合せ要求を携帯型端末30から受信すると(S1201のYES)、まず参加可能グループ抽出部1420は当該要求に含まれる位置情報を抽出する(S1203)。また参加可能グループ抽出部1420は、当該要求に係るユーザのユーザ情報1210を確認し、当該ユーザとリアルフレンドとして登録されているユーザの識別子を取得する(S1205)。
その上で参加可能グループ抽出部1420は、ゲストとして参加しようとしている当該ユーザの位置情報に係る位置から、ホストであるユーザの位置までの距離が一定範囲内にあるグループのグループ情報1220、及びゲストとして参加しようとしている当該ユーザとリアルフレンドとして登録されているユーザがホストとなっているグループのグループ情報1220を抽出する(S1207)。当該抽出が終わると、参加可能グループ抽出部1420は、それらの抽出されたグループ情報1220に係る情報を携帯型端末30へと送信する(S1209)。これにより携帯型端末30は、図4に具体例を示したルーム選択画面400を表示することができる。
その後、ユーザが携帯型端末30の表示するルーム選択画面400においてルーム情報表示領域410を選択すると、グループ情報取得要求が携帯型端末30からゲーム制御サーバ10へと送信される。ゲーム制御サーバ10の新規グループ作成部1410が当該グループ情報取得要求を受信すると(S1211のYES)、新規グループ作成部1410は、当該ユーザをゲストとしてグループ情報1220に追加する(S1213)。当該処理は、図11に示したS1113の処理に対応する。また新規グループ作成部1410は、当該更新されたグループ情報1220に基づくルーム表示画面300を表示するために必要なグループ情報1220を、携帯型端末30へと送信する(S1215)。当該処理は、図11に示したS1115の処理に対応する。
(3.4. マルチプレイ周回に係る処理)
以下、マルチプレイによるクエスト終了時の処理を、図13を参照しながら説明する。図13は、マルチプレイヤよりクエストを終了した際の処理の流れを示すフローチャートである。
クエスト制御部1500による制御の下、マルチプレイによるクエストが終了すると(S1301のYES)、報酬付与部1520は、マルチプレイでプレイした各ユーザに対して報酬を付与し、ユーザ情報登録部1310は当該付与された情報に基づきユーザ情報1210を更新する(S1303)。また、報酬付与部1520は、各ユーザの携帯型端末30に対して付与した報酬にかかる情報やクリアに要した時間等の情報を通知する(S1305)。携帯型端末30は当該通知を受け、図5に具体例を示したクエスト結果表示画面500をディスプレイに表示する。
クエスト結果表示画面500には、前述のとおり、再チャレンジボタン520と終了ボタン530とが選択可能に配置される。ユーザが再チャレンジボタン520を選択した場合には、携帯型端末30は、同一のクエストを同じグループにより再チャレンジする、すなわち周回すること示すプレイ継続情報をゲーム制御サーバ10へ通知する。また、ユーザが終了ボタン530を選択した場合には、携帯型端末30は、同一のクエストに係る周回を終了する旨のプレイ継続情報をゲーム制御サーバ10へ通知する。
クエスト周回を終了する旨のプレイ継続情報を、ホストであるユーザを含む1以上のユーザの携帯型端末30から受信した場合には(S1307のNO)、グループ解散部1430はそれらのユーザが属していたグループに係るグループ情報1220をDB1200から削除する(S1309)。
一方、同一のクエストの同じグループにより再チャレンジする旨のプレイ継続情報を、ホストであるユーザを含む1以上のユーザの携帯型端末30から受信した場合には(S1311のYES)、まずグループ解散部1430が、それらのユーザが属していたグループに係るグループ情報1220をDB1200から削除する(S1311)。その上で周回グループ作成部1440は、再チャレンジを選択したユーザをメンバとする新たなグループを作成し、当該グループに係るグループ情報1220をDB1200へ登録する(S1313)。当該周回用のグループは、S1311で解散させたグループに所属していたユーザの内、少なくともホストであったユーザを含む1以上のユーザで構成される。また、周回グループ作成部1440は当該グループに係る情報を携帯型端末30へと通知する(S1315)。
また、スタミナ消費ユーザ決定部1450は、作成した周回用のグループを構成するユーザのうち、いずれのユーザのスタミナを消費させるかを決定する(S1317)。当該スタミナの決定手法としては種々考えられるが、例えば、ホストであるユーザをスタミナ消費対象としても良い。或いは、ホストであるユーザのスタミナの残量が当該クエストのプレイに不足している場合には他のユーザからスタミナを消費させるようにしても良い。このとき、例えば最も保有スタミナの多いユーザを選択するようにしても良い。また、グループを構成する各ユーザから均等にスタミナを消費させても良いし、スタミナ消費対象を、ユーザからの指示に併せて変更することもできる。
なお、図13では、クエストを周回するか否かの選択が、ホストであるユーザの判断に依存するようになっているがこれに限られるものではない。例えばホストがクエストの周回を終了すると判断した場合には、他の周回を続けるユーザのみで周回用のグループを作成してもよい。その際には、いずれのユーザを周回用のグループのホストとするかを決める必要があるが、それは例えば周回グループ作成部1440がユーザによる選択なしに決めても良いし、或いはユーザが誰をホストにするかを切り替えられるようにしても良い。
(4. ハードウェア構成)
次に、ゲーム制御サーバ10を実現可能なハードウェア構成について図14を参照しながら説明する。図14は、実施形態に係るゲーム制御サーバ10のハードウェア構成の具体例を示す図である。図14に示すように、ゲーム制御サーバ10は、制御部101と、通信インタフェース(I/F)部105と、記憶部107と、表示部113と、入力部115とを含み、各部はバスライン117を介して接続される。
制御部101は、CPU(Central Processing Unit。図示せず)、ROM(Read Only Memory。図示せず)、RAM(Random Access Memory)103等を含む。制御部101は、記憶部107に記憶される制御プログラム109を実行することにより、一般的な情報処理装置としての機能に加え、上述したオンラインゲームに係る処理を実現可能に構成される。例えば、図6を参照しながら説明した通信部1100、ユーザ情報管理部1300、グループ管理部1400、及びクエスト制御部1500は、RAM103に一時記憶された上で、CPU上で動作する制御プログラム109として実現可能である。
また、RAM103は、制御プログラム109に含まれるコードの他、図6に示したユーザ情報1210、グループ情報1220、及びクエスト情報1230の一部又は全部を一時的に保持する。更にRAM103は、CPUが各種処理を実行する際のワークエリアとしても使用される。
通信I/F部105は、課金サーバ20や携帯型端末30を含む外部の装置との間で、有線又は無線によるネットワークNを介したデータ通信を行うためのデバイスである。図6で示したユーザ情報管理部1300、グループ管理部1400、及びクエスト制御部1500が携帯型端末30との間でおこなう通信は、全て通信部1100による制御のもと、通信I/F部105が行う。
記憶部107は、例えばHDD(Hard Disk Drive)やフラッシュメモリ等の不揮発性の記憶媒体である。記憶部107は、一般的な情報処理装置としての機能を実現するためのオペレーションシステム(OS)やアプリケーション及びデータ(図施設)を記憶する。また記憶部107は、制御プログラム109及びDB1200を記憶する。
制御プログラム109は、上述のオンラインゲームに係る処理を行うためのプログラムであり、携帯型端末30からの要求に基づいて、ゲームの進行を制御するためのプログラムである。前述のとおり、図6に示した通信部1100、ユーザ情報管理部1300、グループ管理部1400、及びクエスト制御部1500は、制御プログラム109に含まれる。
データベース1200は、オンラインゲームに必要な各種データ、例えばユーザ情報1210、グループ情報1220、及びクエスト情報1230などを含むことができる。DB1200に含まれる各種データは、必要に応じてRAM103などにロードされ、制御部101に含まれるCPUから参照される。
表示部113は、管理者に情報を提示するためのディスプレイ装置である。表示部113の具体例としては、例えば液晶ディスプレイや有機EL(Electro−Luminescence)ディスプレイ等が挙げられる。入力部115は、管理者から入力を受け付けるためのデバイスである。入力部115の具体例としては、キーボードやマウス、タッチパネル等を挙げることができる。
なお、ゲーム制御サーバ10は、表示部113及び入力部115を必ずしも備える必要はない。また表示部113及び入力部115は、USB(Universal Serial Bus)やディスプレイポート等の各種インタフェースを介して外部からゲーム制御サーバ10に接続されても良い。
(5. 本実施形態の効果)
以上説明したように、本実施形態に係るゲームシステム1では、マルチプレイによりクエストをプレイする際に、位置的に近くにいるユーザに加えて、友人関係(リアルフレンド)として例えば位置情報に基づいて登録されたユーザについては、マルチプレイの際のグループマッチングの対象として抽出される。これにより、無制限なマッチングを避けることにより友人関係を通じたユーザ数の拡大を果たしつつ、例えばユーザが過疎地域に旅行した際にマッチングされるユーザが極めて限定的になってしまう等の課題を避ける事ができる。
更に、本実施形態係るゲームシステム1では、同じメンバでマルチプレイによりクエストを連続周回したい際に、クエスト終了時に表示されるクエスト結果表示画面500への操作のみで新たに周回用のグループが作成される。またクエストプレイの際に必要となるパラメータであるスタミナをどのように消費するかも決められる。これにより、クエストをクリアする度にグループを解散し、新たに作成する作業をユーザに行わせる必要がないため、周回に係るユーザ操作の煩雑性を低減することが可能である。
(6 付記事項)
なお、上述の実施形態の構成は、組み合わせたり或いは一部の構成部分を入れ替えたりしてもよい。また、本発明の構成は上述の実施形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加えてもよい。
上述の実施形態では、位置に関係なくマッチング可能な対象を「リアルフレンド」であるユーザのみに限定としているが、これに限られない。例えば、「リアルフレンド」に比べて顔見知り以外にも範囲が拡大するという懸念はあるが、事前に関係性が構築されている「フレンド」にまで範囲を拡大することも考えられる。
また、上述の実施形態では、GPS等による位置情報を取得することで「ユーザの位置の近くにいるユーザ」を判定する例を説明したがこれに限られない。例えば、端末間でBluetooth(登録商標)や赤外線通信などの近距離無線通信を介した情報のやり取りが行われた事を示す情報をサーバに送信したり、一方の端末の表示画面上に表示した識別コードの情報を、もう一方の端末が読み込んで、読み込んだ情報をサーバに送信したりすることで、複数の端末を操作するユーザ同士が近くにいると判定してもよい。
また、上述の実施形態では、ホストである「ユーザX」の近傍にいるユーザ又は当該「ユーザX」と「リアフレ」として登録されているユーザが参加可能となっている例を説明した。他の実施形態として、たとえば、「ユーザX」の近傍にいる又は当該「ユーザX」と「リアフレ」として登録されているという参加条件を満たす新たな「ユーザY」がルームに参加した場合に、「ユーザY」を基準に新たな参加条件を設定/追加することも考えられる。例えば、元からいた「ユーザX」に加えて新たに「ユーザY」がルームに参加した後は、当該ルームに参加可能な他のユーザの条件を、「ユーザXまたはユーザYのいずれか」の近傍にいる、又は「ユーザXまたはユーザYのいずれか」と「リアフレ」として登録されているという参加条件に変更することが考えられる。或いは、「ユーザXまたはユーザY」の近傍にいるユーザ、又は「ユーザX」と「リアフレ」として登録されているユーザを、参加可能とすることも考えられる。さらに、以上のような参加条件の変更を、ルームの参加ユーザが増減する毎に実行してもよい。加えて、参加条件の変更の基準となる「ユーザY」となり得るユーザを、「ユーザX」のリアフレに限定してもよい。この場合、「ユーザX」の近傍にいるユーザがルームに参加した場合には参加条件は変更されず、「ユーザX」と「リアフレ」として登録されているユーザがルームに参加した場合には参加条件が変更される。
また、上述の実施形態では、ホストである「ユーザX」の近傍にいるユーザ又は当該「ユーザX」と「リアフレ」として登録されているユーザが常に参加可能となっている例を説明した。他の実施形態として、「ユーザX」の近傍にいるユーザと「リアフレ」として登録されているユーザの、それぞれの参加可能状態を変更できるようにしても良い。例えば、「ユーザX」の近傍にいるユーザの人数と閾値を比較して、「リアフレ」であるユーザとマッチングできるかどうかを決めることができる。より具体的には、「ユーザX」の近傍にいるユーザが一定数以上の場合に、「リアフレ」であるユーザのルームへの参加を禁止する。これにより、ルーム作成時に現実に顔を合わせているユーザが近くにいる場合には、近くにいるユーザを優先してグループを作成することができる。
また、上述の実施形態では、マルチプレイを戦ったグループにフレンド又はリアルフレンドが含まれている場合には、報酬付与部1520は、報酬を通常時よりも高く設定する例を説明した。他の実施形態として、フレンド又はリアルフレンドの中でも特定の条件を満たすユーザが含まれているか否かで、異なる報酬を設定することができる。例えば、ホストである「ユーザX」の「リアルフレンド」として登録されており、且つ「ユーザX」の近傍にいるユーザに対しては、「ユーザX」の「リアルフレンド」でありながら「ユーザX」の近傍にいないユーザに比べて高い報酬を付与することができる。また、「ユーザX」の「リアルフレンド」であるユーザが、「ユーザX」から遠距離にいる状態でマルチプレイを行った後に、当該ユーザが「ユーザX」の近傍にいる状態でマルチプレイを行った場合には通常の報酬とは別の特典を付与することも考えられる。さらにこの時、「ユーザX」から遠距離にいる状態でマルチプレイを行った回数の多さや、前回「ユーザX」の近傍にいる状態でマルチプレイを行なってから経過した期間の長さによって、特典の数を増やしたり、特典をより価値の高いものにしたりすることもできる。
なお、上述の実施形態の一部又は全部は、以下の付記のようにも記載されうる。しかしながら、以下には限られない。また、本発明のプログラムは、上述の実施形態で説明した各動作を、コンピュータに実行させるプログラムであれば良い。
(付記1)
ゲームのプレイに応じて消費されるパラメータをユーザ毎に管理する処理と、
複数の端末を操作する複数のユーザが第1のグループとしてプレイするゲームを制御する処理と、
前記ゲームのプレイに応じて、前記第1のグループを構成する前記複数のユーザのうち、少なくとも一部のユーザに係る前記パラメータを減らす処理と、
前記ゲームの終了後、前記複数のユーザのそれぞれが同一の前記ゲームの再度のプレイを希望するか否かに関するプレイ継続情報を前記複数の端末から受信する処理と、
前記プレイ継続情報に基づき、前記複数のユーザのうち前記ゲームを再度プレイする1以上のユーザにより構成される第2のグループのグループ情報を、当該1以上のユーザの操作する各端末に送信する送信処理と、
前記第2のグループとして前記ゲームをプレイする際に、前記第2のグループを構成するユーザのうち、いずれのユーザに係る前記パラメータを減らすかを決める決定処理と
を情報処理装置に実行させるためのプログラム。
(付記2)
前記第1のグループを構成するためのグループ作成要求を第1のユーザに係る第1の端末から受信する処理
を更に前記情報処理装置に実行させ、
前記送信処理において、前記ゲームの再度のプレイを希望する旨の前記プレイ継続情報を少なくとも前記第1の端末から受信した場合に、前記第2のグループのグループ情報を少なくとも前記第1の端末に送信する、
付記1記載のプログラム。
(付記3)
前記決定処理において、前記第2のグループに含まれる前記第1のユーザに係るパラメータを減らすことを決める、
付記2記載のプログラム。
(付記4)
前記決定処理において、前記第2のグループを構成するユーザに係る端末の少なくともいずれかからの要求又は前記複数のユーザが保有するパラメータ状態の少なくとも一方に応じて、前記パラメータを減らすユーザを決定する、
付記1又は付記2のいずれか1項記載のプログラム。
(付記5)
ゲームのプレイに応じて消費されるパラメータをユーザ毎に管理する手段と、
複数の端末を操作する複数のユーザが第1のグループとしてプレイするゲームを制御する手段と、
前記ゲームのプレイに応じて、前記第1のグループを構成する前記複数のユーザのうち、少なくとも一部のユーザに係る前記パラメータを減らす手段と、
前記ゲームの終了後、前記複数のユーザのそれぞれが同一の前記ゲームの再度のプレイを希望するか否かに関するプレイ継続情報を前記複数の端末から受信する手段と、
前記プレイ継続情報に基づき、前記複数のユーザのうち前記ゲームを再度プレイする1以上のユーザにより構成される第2のグループのグループ情報を、当該1以上のユーザの操作する各端末に送信する手段と、
前記第2のグループとして前記ゲームをプレイする際に、前記第2のグループを構成するユーザのうち、いずれのユーザに係る前記パラメータを減らすかを決める手段と
を備える情報処理装置。