(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-31
(45)【発行日】2022-09-08
(54)【発明の名称】マッチングシステム、プログラム、情報処理端末及びサーバ
(51)【国際特許分類】
A63F 13/795 20140101AFI20220901BHJP
A63F 13/55 20140101ALI20220901BHJP
A63F 13/69 20140101ALI20220901BHJP
【FI】
A63F13/795
A63F13/55
A63F13/69 510
(21)【出願番号】P 2020189630
(22)【出願日】2020-11-13
【審査請求日】2020-11-13
(73)【特許権者】
【識別番号】000135748
【氏名又は名称】株式会社バンダイ
(74)【代理人】
【識別番号】110003281
【氏名又は名称】特許業務法人大塚国際特許事務所
(74)【代理人】
【識別番号】100076428
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100115071
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100112508
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100116894
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【氏名又は名称】下山 治
(72)【発明者】
【氏名】福居 知憲
【審査官】坪内 優佳
(56)【参考文献】
【文献】特開2019-037305(JP,A)
【文献】特開2007-325630(JP,A)
【文献】特開2013-088878(JP,A)
【文献】特開2020-157147(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98
A63F 9/24
G06Q 50/00
(57)【特許請求の範囲】
【請求項1】
複数のプレイヤ間の対戦ゲームのゲームプレイを提供する外部サービスについて、前記対戦ゲームのプレイヤをマッチングするマッチングシステムであって、
情報通信端末からの接続を受け付ける受付手段と、
接続中の情報通信端末について、該情報通信端末の利用者に対応するアバタを仮想空間に移動可能に配置し、その状態を管理する管理手段と、
前記管理手段により管理されている前記アバタの状態の情報に基づいて、前記接続中の情報通信端末の表示手段に前記仮想空間を表示させる表示制御手段と、
前記仮想空間において所定数の前記アバタの状態が第1の態様であることを条件として、該所定数のアバタに対応する利用者を前記対戦ゲームのプレイヤとしてマッチングし、前記外部サービスに登録する登録手段と、
を備えるマッチングシステム。
【請求項2】
前記登録手段により前記外部サービスに登録された利用者について、前記外部サービスの提供に係る接続先を取得する取得手段と、
前記外部サービスに登録された利用者の情報通信端末を前記取得手段により取得された前記接続先に接続させることで、該利用者を前記外部サービスに移行させる移行手段と、
をさらに備え、
前記管理手段は、前記移行手段により前記外部サービスに移行された利用者に対応する前記アバタについて、前記外部サービスに移行中の状態とする
請求項1に記載のマッチングシステム。
【請求項3】
前記外部サービスにおいて行われた前記対戦ゲームの結果を受信する受信手段をさらに備え、
前記管理手段は、前記移行手段により前記外部サービスに移行された利用者について前記受信手段により前記対戦ゲームの結果が受信されたことを条件として、該利用者に対応する前記アバタを前記外部サービスに移行中の状態から復帰させる
請求項2に記載のマッチングシステム。
【請求項4】
前記管理手段は、
前記外部サービスに移行中の状態である前記アバタを、前記仮想空間において移動不可能な状態とし、
前記外部サービスに移行中の状態から復帰した前記アバタを、前記仮想空間において移動可能な状態とする
請求項3に記載のマッチングシステム。
【請求項5】
前記表示制御手段は、前記外部サービスに移行中の状態から復帰した前記アバタに係る情報通信端末の前記表示手段に、前記仮想空間と、移行中に行われた前記対戦ゲームの結果と、を表示させる請求項3または4に記載のマッチングシステム。
【請求項6】
前記接続中の情報通信端末のそれぞれについて、該情報通信端末の利用者のプロフィールの入力を受け付ける入力手段をさらに備え、
前記表示制御手段は、前記第1の態様である前記所定数のアバタに対応する利用者に互いのプロフィールを確認させるための通知であって、前記対戦ゲームのゲームプレイに合意するか否かの選択肢を含む通知を、該所定数のアバタのそれぞれに係る情報通信端末の前記表示手段に表示させ、
前記登録手段は、前記通知を経て前記対戦ゲームのゲームプレイに合意する旨の選択がなされた場合に、前記第1の態様である前記所定数のアバタに対応する利用者を前記対戦ゲームのプレイヤとしてマッチングする
請求項2乃至5のいずれか1項に記載のマッチングシステム。
【請求項7】
前記第1の態様は、前記仮想空間に配置されたテーブルの外周において、前記所定数のアバタが該テーブルを挟んで対向する位置に配置された状態である請求項2乃至6のいずれか1項に記載のマッチングシステム。
【請求項8】
前記管理手段は、1つの前記テーブルに係り前記第1の態様にできる前記アバタの数を2体に制限する請求項7に記載のマッチングシステム。
【請求項9】
前記表示制御手段は、前記第1の態様となった前記所定数のアバタが配置された前記テーブルについて、該所定数のアバタが前記外部サービスに移行中の状態である期間、対戦中であることを示す演出を付して提示させる請求項7または8に記載のマッチングシステム。
【請求項10】
前記外部サービスは、行われている前記対戦ゲームについての観戦機能を提供し、
前記マッチングシステムは、前記対戦中であることを示す演出が付された前記テーブルに係り行われている前記対戦ゲームについての観戦要求を、前記接続中の情報通信端末から受け付ける観戦手段をさらに備え、
前記移行手段は、前記観戦手段により観戦要求が受け付けられたことを条件として、該テーブルに対応する前記接続先に、該観戦要求を行った情報通信端末を接続させることで、該情報通信端末の利用者を観戦者として前記外部サービスに移行させる
請求項9に記載のマッチングシステム。
【請求項11】
前記管理手段は、前記観戦要求を行った情報通信端末に係る前記アバタの状態を第2の態様に変更する請求項10に記載のマッチングシステム。
【請求項12】
前記第2の態様は、前記観戦要求を行った情報通信端末に係る前記アバタが、前記対戦中であることを示す演出が付された前記テーブルの近傍に配置された状態である請求項11に記載のマッチングシステム。
【請求項13】
前記アバタは、予め定められた複数種類の外観のうちのいずれかを有しており、
前記マッチングシステムは、前記接続中の情報通信端末の利用者の各々に対して、前記複数種類の外観のうちから抽選処理で選ばれた外観を有する前記アバタを割り当てる割当手段をさらに備える
請求項1乃至12のいずれか1項に記載のマッチングシステム。
【請求項14】
前記抽選処理は複数回実行可能に構成され、
前記割当手段は、複数回の前記抽選処理で選ばれた複数の外観について、いずれの外観を有する前記アバタを割り当てるかの選択を受け付ける
請求項13に記載のマッチングシステム。
【請求項15】
前記マッチングシステムは、複数種類の前記対戦ゲームについてマッチングを行うことが可能であり、
利用者がマッチングを所望する前記対戦ゲームの種類を受け付ける手段をさらに備え、
前記管理手段は、前記マッチングを所望する対戦ゲームの種類が受け付けられたことを条件として、該当の利用者に対応する前記アバタを、該種類の前記対戦ゲームについて設けられた前記仮想空間に配置する
請求項1乃至14のいずれか1項に記載のマッチングシステム。
【請求項16】
前記管理手段は、1つの種類の前記対戦ゲームについて複数の前記仮想空間を設けており、
前記マッチングシステムは、利用者が配置を所望する前記仮想空間の選択を受け付ける選択手段をさらに備え、
前記管理手段は、前記配置を所望する仮想空間の選択が受け付けられたことを条件として、該当の利用者に対応する前記アバタを、選択がなされた前記仮想空間に配置する
請求項15に記載のマッチングシステム。
【請求項17】
1つの前記仮想空間には、配置可能な前記アバタの数に上限が定められており、
前記選択手段は、利用者により選択された種類の前記対戦ゲームについて設けられた前記複数の仮想空間のうちの、既に配置されている前記アバタの数が上限に至っていない前記仮想空間について、選択を受け付ける
請求項16に記載のマッチングシステム。
【請求項18】
前記表示制御手段は、前記アバタが配置される位置に応じて定まる、前記仮想空間の一部の領域のみを表示させる請求項1乃至17のいずれか1項に記載のマッチングシステム。
【請求項19】
複数のプレイヤ間の対戦ゲームのゲームプレイを提供する外部サービスについて、前記対戦ゲームのプレイヤをマッチングするコンピュータに、
情報通信端末からの接続を受け付ける処理と、
接続中の情報通信端末について、該情報通信端末の利用者に対応するアバタを仮想空間に移動可能に配置し、その状態を管理する処理と、
管理されている前記アバタの状態の情報に基づいて、前記接続中の情報通信端末の表示手段に前記仮想空間を表示させる処理と、
前記仮想空間において所定数の前記アバタの状態が第1の態様であることを条件として、該所定数のアバタに対応する利用者を前記対戦ゲームのプレイヤとしてマッチングし、前記外部サービスに登録する処理と、
を実行させるプログラム。
【請求項20】
複数のプレイヤ間の対戦ゲームのゲームプレイを提供する外部サービスについて、前記対戦ゲームのプレイヤをマッチングするマッチングサービスを提供するサーバであって、
情報通信端末からの接続を受け付ける受付手段と、
接続中の情報通信端末について、該情報通信端末の利用者に対応するアバタを仮想空間に移動可能に配置し、その状態を管理する管理手段と、
前記管理手段により管理されている前記アバタの状態の情報に基づいて、前記接続中の情報通信端末の表示手段に前記仮想空間を表示させる表示制御手段と、
前記仮想空間において所定数の前記アバタの状態が第1の態様であることを条件として、該所定数のアバタに対応する利用者を前記対戦ゲームのプレイヤとしてマッチングし、前記外部サービスに登録する登録手段と、
を備えるサーバ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マッチングシステム、プログラム、情報処理端末及びサーバに関し、特にオンラインでの複数人対戦を実現する電子ゲームに関する。
【背景技術】
【0002】
近年、複数の端末をオンラインで接続し、対戦ゲームの機会を提供するゲームサービスが存在する。プレイヤは、例えば知己のプレイヤと事前に約束しておくことで、このようなゲームサービスを互いに利用して対戦ゲームをプレイすることができる。より詳しくは、約束した複数のプレイヤのうちのいずれかがホストとなってゲームサービス内で接続先(ルーム)を作成し、他のプレイヤが当該接続先に接続することで、これらのプレイヤ間での対戦ゲームを実現することができる(カスタムマッチング方式、プライベートマッチング方式)。
【0003】
また、プレイヤ同士が対戦相手を事前に決定しておらずとも、同時に接続中の他の端末のプレイヤを探し出してマッチングする方式(フリーマッチング方式)を採用しているゲームサービスもある(特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述したカスタムマッチング方式は、知己のプレイヤが存在しないプレイヤにとっては対戦ゲームの実現が困難であった。これに対し、ソーシャルネットワーキングサイト等を介して対戦相手の募集を行うことで、ネットワーク上の他のプレイヤと対戦ゲームを実現することも可能であるが、募集に係るやり取りや調整が煩雑である点や面識のないプレイヤと自発的にコミュニケーションを行う必要がある点で、一部のプレイヤにとっては好適なものではなかった。
【0006】
また、特許文献1のようなフリーマッチング方式では、同程度のプレイレベル(能力、腕前、レート)のプレイヤがサーバ装置によってマッチングされて対戦ゲームに移行するが、特にゲームプレイ回数が少ない初心者等、プレイレベルの判定が適正でないこともあり得、実現される対戦ゲームがプレイヤの所望しない内容になることがあった。また、好適でないマッチングは、プレイ途中での試合放棄や故意の通信切断を導き得、このようなマッチングが常習化するとゲームサービスの利用者全体の関心が低減する虞があった。
【0007】
本発明は、複数人対戦を実現する外部サービスについて、好適なマッチングを実現するマッチングシステム、プログラム、情報処理端末及びサーバを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明のマッチングシステムは、複数のプレイヤ間の対戦ゲームのゲームプレイを提供する外部サービスについて、対戦ゲームのプレイヤをマッチングするマッチングシステムであって、情報通信端末からの接続を受け付ける受付手段と、接続中の情報通信端末について、該情報通信端末の利用者に対応するアバタを仮想空間に移動可能に配置し、その状態を管理する管理手段と、管理手段により管理されているアバタの状態の情報に基づいて、接続中の情報通信端末の表示手段に仮想空間を表示させる表示制御手段と、仮想空間において所定数のアバタの状態が第1の態様であることを条件として、該所定数のアバタに対応する利用者を対戦ゲームのプレイヤとしてマッチングし、外部サービスに登録する登録手段と、を備える。
【発明の効果】
【0009】
本発明によれば、複数人対戦を実現する外部サービスについて、好適なマッチングを実現することが可能となる。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施形態及び変形例に係るマッチングシステムの構成を例示した図
【
図2】本発明の実施形態及び変形例に係るサーバ100の機能構成を例示したブロック図
【
図3】本発明の実施形態及び変形例に係る利用者端末200の機能構成を例示したブロック図
【
図4】本発明の実施形態及び変形例に係るマッチングサービスにおいて、ルーム選択に係り表示されるユーザインタフェースを例示した図
【
図5】本発明の実施形態及び変形例に係るマッチングサービスの利用中に提示されるルームの表示を説明するための図
【
図6】本発明の実施形態及び変形例に係るマッチングサービスにおいて、マッチング対象となる利用者アバタの状態を説明するための図
【
図7】本発明の実施形態及び変形例に係るマッチングサービスにおいて、対戦する利用者間の意思確認に係り表示されるユーザインタフェースを例示した図
【
図8】本発明の実施形態及び変形例に係るマッチングサービスの利用中に提示されるルームの表示を説明するための別の図
【
図9】本発明の実施形態及び変形例に係るマッチングサービスにおいて、外部サービスで行われた対戦ゲームの結果表示を例示した図
【
図10】本発明の実施形態及び変形例に係るマッチングサービスにおいて、運営アバタの行動に起因する表示を例示した図
【
図11】本発明の実施形態及び変形例に係るサーバ100で実行される提供処理を例示したフローチャート
【
図12】本発明の実施形態及び変形例に係るサーバ100で実行されるマッチング処理を例示したフローチャート
【
図13】本発明の実施形態及び変形例に係るマッチングサービスにおいて、管理者端末で表示されるユーザインタフェースを例示した図
【
図14】本発明の実施形態及び変形例に係るマッチングシステムで用いられる各種情報のデータ構成を例示した図
【発明を実施するための形態】
【0011】
[実施形態1]
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴のうち二つ以上の特徴は任意に組み合わされてもよい。また、同一若しくは同様の構成には同一の参照番号を付し、重複した説明は省略する。
【0012】
以下に説明する一実施形態は、マッチングシステムの一例としての、利用者端末からの接続を受け付けるサーバが、外部サービスにおいて提供される2人対戦の対戦ゲームについてのマッチングを仮想空間を介して実現するサービスを提供するシステムに、本発明を適用した例を説明する。しかし、本発明は、外部サービスにおいて提供される対戦ゲームについてのマッチングを仮想空間を介して行うことが可能な任意の機器構成で実現されるシステムに適用可能である。
【0013】
また、本明細書において、「利用者」とは、本マッチングシステムにおいてサーバが提供するサービス(マッチングサービス)を利用するユーザを指し、「プレイヤ」とは、”外部サービス”を利用して対戦ゲームを行っているユーザ、もしくは、対戦ゲームを行うことが確定したユーザを指すものとして説明する。
【0014】
《マッチングシステムの構成》
図1は、本実施形態に係るマッチングシステムの構成を示した図である。図示されるように、マッチングシステムでは、ネットワーク300を介することでサーバ100と複数の利用者端末200とが通信接続可能に構成されている。サーバ100は、接続中の利用者端末200の利用者を、外部サービスにより実現される対戦ゲームのプレイヤとしてマッチングするマッチングサービスを提供する。
【0015】
本実施形態では、外部サービスは、遠隔のプレイヤ間での対戦ゲームの実行を支援するサービスであり、サービス提供にあたり該当数のプレイヤを抽出してマッチングさせるフリーマッチング方式のマッチング機能を有していないサービスであるものとして説明する。例えば、外部サービスは、ホストとなるプレイヤが作成したルーム(接続先)に対し、対戦ゲームに必要な人数のプレイヤが利用者端末200を用いてアクセスすることで、利用者端末200のカメラとマイクを利用したビデオチャット機能が利用可能となり、プレイヤの存在する環境(現実世界)において展開されたゲーム用物品の状況をプレイヤ間で共有しながら進行するトレーディングカードゲーム(TCG)のゲームプレイを実現するサービスであってよい。
【0016】
しかしながら、本発明の実施はこれに限られるものではなく、外部サービスは、登録された複数のプレイヤに係る利用者端末200間について、ネットワーク300を介した対戦ゲームのゲームプレイを提供するサービスであればよく、その他の種類の対戦ゲームを実現するものであってもよいことは言うまでもない。また外部サービスは、フリーマッチング方式のマッチング機能を有していないものに限られるものではなく、マッチング機能の一態様として、特定の接続先に接続された利用者端末200のユーザをプレイヤとしてマッチングするカスタムマッチング方式を含むものであればよい。
【0017】
詳細は後述するが、マッチングサービスの利用者は、使用する利用者端末200をサーバ100に接続させることで、該利用者に対応するアバタが配置されたマッチングサービスに係る仮想空間(以下、ルームとして言及)の閲覧が可能となる。利用者は、操作を行うことで該ルームに配置されたアバタを移動させ、他の利用者とアバタを介したコミュニケーション(テキストチャット等)を行い、そして外部サービスで提供される対戦ゲームについて対戦相手とマッチングすることができる。
【0018】
また、外部サービスは、行われている対戦ゲームについて観戦を受け付ける機能が設けられているものとし、マッチングシステムの利用者は、ルームにおいて対戦中の状態のアバタを把握した上で、該アバタに対応付けられた利用者によって行われている対戦ゲームを観戦することが可能であるものとする。
【0019】
また本実施形態のマッチングシステムは、複数種類のゲームタイトルについて対戦ゲームのマッチングが可能に構成されているものとする。複数種類のゲームタイトルの対戦ゲームは、それぞれ異なる外部サービスにより提供されるものであってもよいし、1つの外部サービスにより複数提供されるものであってもよい。詳細は後述するが、マッチングの効率性を高めるべく、ルームはゲームタイトルごとに独立して設けられており、利用者に対応するアバタは対戦を所望するゲームタイトルのルームに配置される。また各ルームにおけるマッチング機会を担保すべく、ルームに配置されるアバタ数には上限数を設け、利用者数が多いゲームタイトルについては複数種類のルームが選択可能に設けられているものとする。
【0020】
〈サーバ100の機能構成〉
本実施形態のサーバ100の機能構成について、
図2のブロック図を参照して説明する。
【0021】
制御部101は、例えばCPUであり、サーバ100が有する各ブロックの動作を制御する。具体的には制御部101は、例えば記録媒体102に記録されている各ブロックの動作プログラムを読み出し、メモリ103に展開して実行することにより各ブロックの動作を制御する。
【0022】
記録媒体102は、例えば不揮発性メモリやHDD等の、恒久的にデータを保持可能な記録装置である。記録媒体102は、サーバ100が有する各ブロックの動作プログラムに加え、各ブロックの動作において必要となるパラメータ等の情報を記憶する。メモリ103は、例えば揮発性メモリ等の一時的なデータ記憶に使用される記憶装置である。メモリ103は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力されたデータ等を一時的に記憶する格納領域としても用いられる。
【0023】
利用者DB104は、本実施形態のマッチングシステムに係るマッチングサービスの利用者に係る情報(利用者情報)を管理するデータベースである。利用者情報は、例えば
図14(a)に示されるように、利用者を一意に特定する利用者ID1401に関連付けて、メールアドレス等の該利用者を識別可能な識別情報1402、該利用者に対応付けられたアバタの外観を特定するアバタ外観情報1403、該利用者について設定されたプロフィールを示すプロフィール情報1404、及び外部サービスにおいて該利用者が行った対戦ゲームの戦績を示す戦績情報1405を含んで構成されるものであってよい。本実施形態のマッチングシステムでは、各利用者は、使用する利用者端末200を始めて接続させた際、即ち、マッチングサービスの初回利用時に利用者登録(利用者の識別情報と利用者ID1401の対応付け)を行うものとし、該利用者に係る利用者情報が利用者DB104に追加される。また、次回以降の接続時には、該利用者の識別情報を入力することで同利用者情報を用いてサービスの提供がなされる。
【0024】
対応サービスDB105は、本実施形態のマッチングシステムにおいてマッチング対象となっている外部サービスに係る情報(外部サービス情報)を管理するデータベースである。外部サービス情報は、例えば
図14(b)に示されるように、外部サービスを一意に特定するサービスID1411に関連付けて、該外部サービスでゲームプレイが提供される対戦ゲームに必要なプレイヤの人数を示す必要プレイヤ数1412、及びマッチングしたプレイヤの情報の登録時(対戦ゲームの接続先の作成要求)に使用される該外部サービスのアクセス先を示すアクセス情報1413を含んで構成されるものであってよい。外部サービス情報は、連携可能な外部サービスについて予め構成され、対応サービスDB105に追加されているものとする。
【0025】
状態管理DB106は、本実施形態のマッチングシステムにおいてマッチング機能の提供がなされる仮想空間の状態を示す状態管理情報を管理する。状態管理情報は、例えば
図14(c)に示されるように、ルームを一意に特定するルームID1421に関連付けて、該ルームにおいてマッチングがなされる対戦ゲームを提供する外部サービスを特定するサービスID1422、及び該ルームに配置された各アバタの状態を示す配置アバタ情報1423を含んで構成されるものであってよい。
【0026】
ここで、1体のアバタについて管理される配置アバタ情報1423は、例えば
図14(d)に示されるように、ルーム内で該アバタを一意に特定するアバタID1431に関連付けて、該アバタに対応付けられた利用者の利用者ID1432、ルームにおける該アバタの配置位置1433、該アバタが対戦ゲームのマッチング対象である(マッチング待機状態である)か否かを示す対象フラグ1434、該アバタ(または該アバタに対応付けられた利用者)がルームに対応する外部サービスにおいて対戦ゲームの実行中(対戦中)であるか否かを示す対戦中フラグ1435、及びルーム内の他のアバタが実行中の対戦ゲームの観戦中であるか否かを示す観戦中フラグ1436を含んで構成されるものであってよい。対象フラグ1434、対戦中フラグ1435及び観戦中フラグ1436は、論理型の情報であってよい。
【0027】
配置アバタ情報1423は、該当の利用者のアバタがルームに配置されている期間、該利用者が利用者端末200において行った操作に応じて、または定期的に状態取得が行われて更新される。また、詳細は後述するが、配置アバタ情報1423が状態を管理するアバタは、利用者に対応付けられたアバタ(利用者アバタ)に限られるものではなく、マッチングサービスの運営側に係り配置されるアバタ(運営アバタ)も含まれる。本実施形態では運営アバタは、利用者に対応付けられていない、即ち、利用者端末200においてなされた操作によって行動が制御されるアバタではない、所謂NPC(Non-Player Character)であるものとして説明する。なお、運営アバタに係る配置アバタ情報1423の利用者ID1432は、null、もしくは利用者に提供されないIDが用いられるものであってよい。
【0028】
推定部107は、マッチングサービスの利用者について、ルームにおける該利用者に対応するアバタの状態遷移に基づいて、対戦ゲームのゲームプレイを所望する状態であるかを推定する。推定部107による推定については後述するが、本実施形態のマッチングシステムでは利用者間のコミュニケーションに消極的な利用者であっても対戦ゲームのゲームプレイがしやすいよう、適宜状態を確認して、対戦ゲームの成立までを支援する仕組みを有する。
【0029】
行動制御部108は、各ルームに配置された運営アバタの行動を制御する。上述したように、運営アバタは利用者端末200においてなされた操作によって行動が制御されるアバタではないため、行動制御部108がルームにおける配置アバタの状態に基づいて該制御を行う。
【0030】
マッチング部109は、ルームにおいてマッチング待機状態にある所定数(外部サービスの対戦ゲームの必要プレイヤ数)のアバタについて、該アバタに対応する利用者をマッチングさせる。またマッチング部109は、ルームに対応する外部サービスにて新たな対戦ゲームに係る接続先を設けさせるべく、マッチングしたアバタに係る利用者の情報を登録する。即ち、本実施形態のマッチングシステムにおいてマッチング部109は、利用者が直接外部サービスを利用して対戦ゲームを行う際の手続き(対戦相手の決定、接続先設定に係る登録手続きを含む)を代行する役割を担う。
【0031】
通信部110は、サーバ100が有する、他の装置との通信を行うための通信インタフェースである。通信部110は、有線無線を問わず、所定の通信方式によりネットワーク300を介して外部機器に接続し、データの送受信を行う。
【0032】
〈利用者端末200の機能構成〉
次に、本実施形態の利用者端末200の機能構成について、
図3のブロック図を参照して説明する。なお、本実施形態では利用者端末200は、上述した態様で遠離したプレイヤ間でのTCGの対戦プレイを実現すべく、カメラとマイクとを備えたスマートフォンであるものとして説明するが、本発明の実施において利用者端末200がスマートフォンに限られるものでないことは容易に理解されよう。即ち、利用者端末200として利用する機器は、情報通信機能、及び外部サービスを介して実現される対戦ゲームについて定められた必須構成、を具備するものであればよく、スマートフォンのように初期構成として全てを具備している機器に限定されるものではない。また、利用者端末200の機能構成の説明において、サーバ100が有する構成と同様の機能を実現する構成については、サーバ100の構成と峻別するために、「利用」との接頭語を付して示すものとする。
【0033】
利用制御部201は、例えばCPUであり、利用者端末200が有する各ブロックの動作を制御する。具体的には利用制御部201は、例えば利用記録媒体202に記録されている各ブロックの動作プログラムや支援アプリケーションに係るプログラムを読み出し、利用メモリ203に展開して実行することにより各ブロックの動作を制御する。
【0034】
利用記録媒体202は、例えば不揮発性メモリやHDD等の、恒久的にデータを保持可能な記録装置である。利用記録媒体202は、利用者端末200が有する各ブロックの動作プログラムに加え、各ブロックの動作において必要となるパラメータ等の情報や、ブラウジングアプリケーションのプログラム等を記憶する。利用メモリ203は、例えば揮発性メモリ等の一時的なデータ記憶に使用される記憶装置である。利用メモリ203は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力されたデータ等を一時的に記憶する格納領域としても用いられる。
【0035】
カメラ204は、例えばCCDやCMOSセンサ等の撮像素子を有する撮像装置ユニットであり、外部サービスを利用した対戦ゲームのゲームプレイ時において、利用者端末200を使用するプレイヤに係り展開されるゲーム用実物品一式の情報取得に用いられる。詳細は省略するが、カメラ204は対戦ゲームのゲームプレイがなされている期間、所定のタイミングにて間欠的に撮像を行うよう動作し、得られた撮像画像を順次出力する。
【0036】
マイク205は、検出した音声を電気信号に変換するユニットであり、外部サービスを利用した対戦ゲームのゲームプレイ時において、利用者端末200を使用するプレイヤがゲーム用実物品の操作に際して行った宣言の取得に用いられる。マイク205は、カメラ204同様に、対戦ゲームのゲームプレイがなされている期間、所定のタイミングにて間欠的に音声検出を行い、音声検出がなされている間は、順次変換して得られた音声信号を出力するよう動作する。
【0037】
提示制御部206は、利用者端末200における利用者への各種情報提示の制御を司る。本実施形態の利用者端末200では、利用者への各種情報提示の手段として、画面(ゲーム画面、その他OSメニュー画面等)表示を行うディスプレイ210、及び音声出力を行うスピーカ220を備えるものとして説明するが、情報提示の手段はこれらに限られるものではなく、代替あるいは追加が可能であることは言うまでもない。ディスプレイ210は、例えがLCD等の利用者端末200が備える表示装置であり、提示制御部206により表示内容の制御が行われる。本実施形態ではディスプレイ210は、利用者端末200に内蔵される表示装置であるものとして説明するが、利用者端末200の外部に着脱可能に接続される表示装置であってもよいことは言うまでもない。
【0038】
操作入力部207は、例えばタッチパネルやボタン等の利用者端末200が有するユーザインタフェースである。操作入力部207は、利用者によりなされた操作入力を検出すると、該操作入力に対応する制御信号を利用制御部201に出力する。
【0039】
利用通信部208は、利用者端末200が有する、他の装置との通信を行うための通信インタフェースである。利用通信部208は、有線無線を問わず、所定の通信方式によりネットワーク300を介して外部機器に接続し、データの送受信を行う。
【0040】
《マッチングサービス概要》
以下、上述のような構成のマッチングシステムで提供されるマッチングサービスについて、その概要を説明する。
【0041】
本実施形態に係るマッチングサービスの利用者への提供は、利用者端末200において実行されたブラウジングアプリケーション(以下、ブラウザとして言及)を介して行われるものとする。即ち、利用者は、ブラウザを用いてマッチングサービスに係り設けられたサイト(以下、提供サイトとして言及)に利用者端末200をアクセスさせることで、ディスプレイ210に表示されるブラウザの画面を介してマッチングサービスの提供を受けることが可能になる。より詳しくは、利用者は、提供サイトについて利用者登録を行い、サービスログインに係る手続きを行うことで、外部サービス情報の利用が可能な状態となる。ここで、利用者登録は、利用者がマッチングサービスにおいて使用するニックネームを含む、他の利用者に対して公開するプロフィールの入力(テキスト入力、あるいは人物紹介に係り予め設けられた項目のうちから該当する項目の選択)を含むものとする。サーバ100は、サービスログインがなされた後は該当の利用者端末200と通信接続を保持する状態に遷移し、該利用者端末200における表示に必要な情報の送信、及び該利用者端末200においてなされた操作に応じた制御や種々の情報の更新等の処理を行う。
【0042】
〈ルームの決定〉
利用者(以下、利用開始者として言及)によるサービスログインに係る手続きが完了すると、まず該利用開始者に係る利用者アバタを配置するルームの決定がなされる。ルームの決定は、利用開始者による、マッチング(もしくは観戦)を所望するゲームタイトルの選択、及び選択されたゲームタイトルについて設けられた複数のルームのうちの利用(入室)するルームの選択を経て行われる。前者の選択は、対応サービスDB105に登録された外部サービスを利用することでゲームプレイを行うことが可能な複数種類のゲームタイトルの一覧がブラウザ上に表示され、利用開始者がこのうちのいずれかの選択操作を行うことによりなされる。また後者の選択は、例えば
図4に示されるように、選択されたゲームタイトルについて設けられている複数のルームの一覧がブラウザ上に表示され、利用開始者がこのうちのいずれかの選択操作を行うことによりなされる。
【0043】
このとき、上述したように1つのルームには配置可能なアバタの数(該ルームを介してマッチングサービスを利用可能な利用者数、即ち入室者数)に上限が定められているため、制御部101は、後者の選択を受けて入室可能であるか否かの判断を行い、入室可能である場合にのみ、該当のルームに利用開始者に係る利用者アバタを配置させるよう制御を行う。
【0044】
なお、利用開始者のルーム選択を容易ならしめるべく、後者の選択の際に表示される複数のルームには、それぞれ上限に至っているかを判断可能な通知が付加されるものであってよい。当該通知は、例えば「(入室者数)/(上限数)」や入室率(百分率)をテキスト表示するものであってもよいし、入室率を示した画像を表示するものであってもよいし、上限に至っているルームを選択不可能な態様で表示することにより通知を行ってもよい。あるいは、入室不可能なルームについてはブラウザで表示されないよう、利用者端末200に送信する情報を制御することで、利用開始者のルーム選択の利便性を向上させるものとしてもよい。
【0045】
ルームの決定がなされると、決定されたルームに利用開始者に対応する利用者アバタが配置され、利用者端末200のブラウザ上に、
図5(a)に示されるような、ルームに係るフィールド(アバタが移動可能な空間)が表示される。より詳しくは、制御部101は、決定されたルームに係る状態管理情報に、利用開始者に係る配置アバタ情報1423を追加することで、該利用開始者及び同ルームを利用する他の利用者の利用者端末200において、利用開始者の利用者アバタが配置された態様のルームを確認可能にせしめる。
【0046】
なお、マッチングサービスでの興趣性を向上させるべく、各利用者端末200のブラウザにおいて
図5(a)のようなルームの全体は表示されず、
図5(b)のようにルームの一部の領域のみが表示されるよう表示制御がなされる。表示されるルームの領域は、図示されるように、各利用者端末200に対応する利用者アバタのルーム内の位置に応じて(例えば該アバタの位置を中心として)決定されるものであってよい。当該表示制御は、サーバ100から利用者端末200に対して送信する表示用の情報の構成を異ならせることにより実現されるものであってもよいし、利用者端末200において提示制御部206が表示内容を異ならせることにより実現されるものであってもよい。
【0047】
〈配置されるアバタ〉
次に、ルームに配置されるアバタの種類について、該アバタに対して実行権限が割り当てられた、ルームにて実行可能な行動を含めて詳細を説明する。上述したように、本実施形態のマッチングシステムでは、各ルームには本発明に係る第1の種別のアバタとしての利用者アバタと、第2の種別のアバタとしての運営アバタの2種類が配置される。利用者アバタと運営アバタとは、ブラウザにルームが表示される際に、識別可能な態様で表される。
【0048】
(利用者アバタ)
利用者アバタは、サーバ100に接続中の利用者端末200の利用者に対応付けられたアバタである。利用者アバタは、対応する利用者の利用者端末200においてなされた移動操作に応じて、ルーム内の位置を変更可能(移動可能)に構成される。利用者アバタの外観は、例えば利用者登録後に初めてサービスログインしたときに決定されて利用者情報に登録され、以後のサービス利用においてルームに配置される際には当該情報を参照して外観が再現されるものであってよい。
【0049】
ここで、利用者アバタの外観は、例えば顔、輪郭、髪型、体型、服装等の要素の組み合わせで構成され、利用者は各要素について複数設けられたパーツを選択することで所望の外観を形成できる。換言すれば、利用者アバタの外観として選択可能な組み合わせの種類は、各要素について設けられたパーツの数に応じて定まるものであり、利用者アバタには予め定められた複数種類の外観のうちのいずれかが割り当てられることになる。なお、利用者の外観設定に係る設定を簡易化するべく、制御部101が抽選処理を行うことで、各要素についてランダムに抽出したパーツを組み合わせた外観が候補として利用者に提示されるものとしてもよい。この場合、利用者は候補の外観が好みであった場合は確定に係る操作を行うことで、使用する利用者アバタの外観を当該候補の組み合わせに決定可能であるものとする。また、候補の外観の抽選処理を複数回実行可能とし、例えば複数回の抽選処理で得られた複数の候補を保持した上で、このうちから利用者に好みの外観を選択させるよう構成してもよい。また利用者に対して、候補の外観をベースに、少なくとも一部の要素のパーツを変更可能な編集機能を提供し、最終的な利用者アバタの外観を決定可能なものとしてもよい。
【0050】
利用者アバタには、ルーム内の移動行動の実行権限だけでなく、メッセージの発信、及びマッチングの成立に係る行動の実行権限が付与される。即ち、利用者は、自身に対応付けられてルームに配置された利用者アバタについて、ルーム内の移動に係る操作に加えて、特定の利用者もしくはルーム内の全利用者に対して発信するメッセージの入力操作、及び他の利用者との対戦を受け付ける状態に利用者アバタを移行させる、他の利用者に対して対戦を申し込む、他の利用者からの対戦の申し込みを受諾する等のマッチングの成立に係る種々の操作を、利用者端末200において行うことができる。本実施形態のマッチングサービスでは、特に外部サービスにおける複数人で行われる対戦ゲームを成立させることを目的とするものであるため、マッチングの対象となるアバタはルームに配置された利用者アバタに限定される。
【0051】
ここで、利用者アバタについて実行権限が付与されているマッチングの成立に係る行動、及び該行動をもとにサーバ100において行われるマッチング処理について説明する。なお、以下では、発明の理解を容易にすべく、ルームに対応する外部サービスでゲームプレイが提供される対戦ゲームは、2人のプレイヤ(1人 対 1人)により実現され、マッチング処理により2人の利用者がプレイヤとしてマッチングされるものとして説明する。
【0052】
本実施形態のマッチングサービスでは、対戦ゲームに係るマッチング処理は、ルーム内に配置されたテーブルの外周の所定の位置に、少なくとも1体の利用者アバタが配置されたことを契機として開始される。
図6(a)に示されるように、テーブル601の外周には椅子602が2脚配置され、移動操作の結果、利用者アバタが該椅子602の位置に配置された際に、該利用者アバタの状態がマッチング対象として管理される。
【0053】
1つのテーブルにマッチング対象の利用者アバタ(以下、待機アバタとして言及)が配置されると、他の利用者は、
図6(b)に示されるように、該テーブルの他方の椅子602の位置に使用する利用者アバタ(以下、申込アバタとして言及)を配置させることで、待機アバタの利用者に対して対戦の申し込みを行うことができる。即ち、対戦の申し込みは、図示されるように待機アバタが存在するテーブルの外周において、申込アバタと待機アバタとが、本発明に係る第1の態様としての、該テーブルを挟んで対向する位置に配置された状態になったことをもって可能になる。申込アバタも待機アバタと同様に、移動操作の結果、待機アバタが配置されていない椅子602の位置に配置された際に、状態がマッチング対象として管理される。
【0054】
申込アバタの状態がマッチング対象になると、該申込アバタに係る利用者の利用者端末200には、
図7(a)に示されるような、待機アバタに係る利用者のプロフィールと戦績、及び該待機アバタの利用者に対して対戦を申し込むか否かの意思確認を含む通知701が表示される。その後、申込アバタに係る利用者により該通知701の対戦を申し込む旨の項目に対する選択操作がなされると、待機アバタに係る利用者の利用者端末200において、
図7(b)に示されるような、申込アバタに係る利用者のプロフィールと戦績、及び対戦申し込みを受諾するか否かの意思確認を含む通知702が表示される。そして、待機アバタに係る利用者により該通知702の対戦を受け付ける旨の項目に対する選択操作がなされると、待機アバタに係る利用者と申込アバタに係る利用者との間でゲームプレイの合意がなされたものとし、これら利用者が対戦ゲームのプレイヤとしてマッチングされる(マッチングが成立する)。
【0055】
マッチングが成立すると、成立した2人の利用者(成立利用者)の利用者情報に基づいて外部サービスへのプレイヤの登録がなされ、成立利用者による外部サービスの利用が開始する。より詳しくは、サーバ100から外部サービスのサーバに対して、成立利用者の情報とともに対戦ゲームの接続先の作成要求が送信されることで、外部サービスにおいて新たな対戦ゲームに係る接続先が作成され、該接続先の情報がサーバ100に返送される。接続先の情報は、例えばルームのテーブル601を特定する情報に関連付けられて、メモリ103に格納されるものとする。そして、返送された接続先の情報が、成立利用者の利用者端末200に転送命令とともに伝送され、これを受信した利用者端末200のブラウザにおいて外部サービスに係る接続先への転送動作がなされる。このようにすることで、成立利用者自身が直接外部サービスに登録手続き等を行わなくとも、マッチングサービスにおいてマッチングされた他方の成立利用者との対戦ゲームを開始することができる。
【0056】
本実施形態では、各成立利用者が対戦を終了した後にマッチングサービスに容易に復帰可能なよう、外部サービスに移行中(外部サービスにおいて対戦ゲームのゲームプレイの提供を受けている期間)もマッチングサービスのログイン状態は保持される。より詳しくは、例えば成立利用者の利用者端末200において外部サービスに係る接続先の情報が受信された場合には、ブラウザの別タブ(または別ウィンドウ)を開いて該接続先に接続が行われ、該タブが主として表示される(表示タブとして選択される、または別ウィンドウが最前に表示される)ことにより、マッチングサービスから外部サービスへの一時的な移行が実現される。このとき、マッチングサービスに係るタブは移行中も存在しているため、各成立利用者は、マッチングサービスに係るルームの状況と外部サービスに係る対戦ゲームのプレイ画面とを並行して確認することができる。
【0057】
なお、本実施形態では外部サービスへの移行の一態様として、対戦ゲームの接続先の作成要求時に利用者情報の送信が必要であるものとして説明するが、本発明の実施はこれに限られるものではなく、外部サービスの仕様により適宜変更されるものであってよい。例えば、作成要求時には成立利用者に係る情報を必要とせず、例えば利用者端末200から接続先に接続する際にプレイヤ名等の利用者情報を外部サービスに提供する構成としてもよい。
【0058】
マッチングが成立すると、2名の成立利用者に対応する利用者アバタの状態が、マッチング対象の状態から対戦中の状態に変更されて管理される。ここで、対戦中の状態は、厳密に成立利用者が対戦ゲームのゲームプレイを行っていることを条件とするものではなく、成立利用者が外部サービスに移行したことを条件として設定されるものであってよい。
【0059】
また、マッチングが成立して2名の成立利用者に対応する利用者アバタの状態が対戦中になると、成立利用者間で対戦ゲームが行われていること、即ち、当該成立利用者が外部サービスに移行中であることを、ルーム内の全利用者に把握可能ならしめる表示がなされる。本実施形態では、1つのテーブル601において、2つの椅子602に配置された利用者アバタが対戦中となった場合、該テーブル601に対して対戦中であることを示す演出を付すことで当該表示がなされる。当該演出は、ルームに対応付けられた外部サービスに応じて異なるものであってもよく、例えば外部サービスでゲームプレイが提供される対戦ゲームがTCGである場合、
図8(a)に示されるようにテーブル601上にカードのオブジェクトを配置するものであってよい。
【0060】
なお、1つのテーブル601に係り、利用者アバタがマッチング対象の状態または対戦中の状態にある期間、椅子602の位置に配置された利用者アバタ(待機アバタ及び申込アバタ)は移動不可能に制御されるものとする。より詳しくは、待機アバタであれば、椅子602の位置に配置されてから対戦の申し込みがなされるまでは待機を中止する旨の操作がなされない限り、対戦の申し込みがなされてからマッチングの成立が確定するまでは申し込みを断り、かつ待機を中止する旨の操作がなされない限り、マッチングが成立してからは外部サービスでの対戦ゲームが終了しない限り、該待機アバタに対して移動に係る操作がなされたとしても椅子602の位置から移動しないよう制御される。また、申込アバタであれば、椅子602の位置に配置されてから対戦の申し込みを行うまでは申し込みを行わない操作がなされない限り、対戦の申し込みを行ってからマッチングの成立が確定するまでは申し込みが断られない限り、マッチングが成立してからは外部サービスでの対戦ゲームが終了しない限り、該申込アバタに対して移動に係る操作がなされたとしても椅子602の位置から移動しないよう制御される。
【0061】
また、ルームにおいて、移動不可能な状態となっている利用者アバタの位置(椅子602の位置)に対する、他の利用者アバタの進入を排他する制御がなされる。換言すれば、1つのテーブル601に係りマッチング対象にできる利用者アバタの数は2体に制限される。これにより、1つのテーブル601について特にマッチングの意思確認に係る処理が重複してなされることを回避しつつ、利用者間でのルームの表示の不整合をなくすことができる。
【0062】
また成立したマッチングに係る対戦ゲームについては、他の利用者(対戦中でない利用者。以下、観戦利用者として言及)による観戦を受け付け可能に構成される。観戦は、観戦利用者の利用者端末200において、対戦中の状態の利用者アバタが配置されたテーブル(対戦中の演出が付されたテーブル)を選択する操作がなされたことに応じて表示される、実行中の対戦ゲームを観戦するか否かの意思確認を含む通知により受け付けられる。そして、該通知において観戦する旨の項目に対する選択操作がなされたことを条件として、選択されたテーブルに係り外部サービスで行われている対戦ゲームの観戦が確定する。
【0063】
観戦が確定すると、観戦利用者の利用者端末200に、対象のテーブルについて行われている対戦ゲームに係る接続先の情報が転送命令とともに伝送され、これを受信した利用者端末200のブラウザにおいて外部サービスに係る接続先への転送動作がなされる。ここで、観戦利用者の利用者端末200に伝送される接続先の情報は、例えば、外部サービスが同一の接続先について接続順の早い2名をプレイヤとする態様であれば、成立利用者の利用者端末200に対して伝送された情報と同一であってよいし、外部サービスがプレイヤ用と観戦者用とで異なる接続先を設ける態様であれば、後者の接続先の情報が提供されればよい。このようにすることで、実行されている対戦ゲームに係る接続先の情報を成立利用者が入手していなくとも、ルームを介して外部サービスに観戦者として移行し、実行されている対戦ゲームの観戦を容易に行うことができる。
【0064】
観戦時も対戦時と同様に、各成立利用者が対戦を終了した後、もしくは観戦利用者が観戦終了した後にマッチングサービスに容易に復帰可能なよう、外部サービスに移行中(外部サービスにおいて行われている対戦ゲームを観戦している期間)もマッチングサービスのログイン状態は保持される。より詳しくは、例えば観戦利用者の利用者端末200において外部サービスに係る接続先の情報が受信された場合には、ブラウザの別タブを開いて該接続先に接続が行われ、該タブが主として表示されることにより、マッチングサービスから外部サービスへの一時的な移行が実現される。このとき、マッチングサービスに係るタブは移行中も存在しているため、観戦利用者は、マッチングサービスに係るルームの状況と外部サービスに係る対戦ゲームの観戦画面とを並行して確認することができる。
【0065】
また観戦が確定すると、観戦利用者に対応する利用者アバタの状態は、観戦中として管理される。ここで、観戦中の状態は、対戦中の状態と同様に、厳密にゲームプレイが開始している対戦ゲームを観戦していることを条件とするものではなく、観戦利用者が外部サービスに移行したことを条件として設定されるものであってよい。
【0066】
また、観戦利用者に対応する利用者アバタの状態が観戦中になると、ルームにおける該利用者アバタの表示態様が、本発明に係る第2の態様としての観戦中状態に変更され、ルーム内の全利用者に把握可能ならしめる表示になる。ここで、観戦中状態の利用者アバタの表示態様は、例えば
図8(b)に示されるように、観戦の対象であるテーブル601の近傍に配置(801)され、いずれのテーブルの観戦を行っているかを第三者が把握可能な態様であればよい。また、観戦利用者が外部サービスに接続して観戦中である場合、上述したように外部サービスに係るタブを主に確認していることが想定されるため、他の利用者アバタからのコンタクトが不可能な状態とするのが好ましい。従って、
図8(b)の例では、観戦中状態の利用者アバタは、該利用者アバタについて割り当てられた外観ではなく、単色等、いずれの利用アバタであるかを識別不可能な態様に変更され、該利用者アバタに対するプロフィールの確認操作や該利用者アバタを指定したコミュニケーション機能の利用操作を実行できない状態にされている。
【0067】
また1つのテーブル601に係り行われている対戦ゲームの観戦利用者が多い場合に、観戦利用者の数だけ観戦中状態の利用者アバタをテーブル601の近傍に配置することが困難になることもあるため、観戦中状態で配置される利用者アバタの数は、観戦利用者の数と一致していなくともよい。好適には、観戦中状態で配置される利用者アバタの数は、観戦利用者の数に比例した数が配置されるものとしてよい。
【0068】
なお、本実施形態では対戦中の利用者アバタが配置されたテーブル601を選択する操作を行うことで観戦の受付が可能であるものとして説明するが、本発明の実施はこれに限られるものではない。観戦の受け付けは、例えば対戦中の利用者アバタ(成立利用者に対応する利用者アバタ)を選択する操作に応じて可能なように構成されるものであってもよい。
【0069】
外部サービスに移行した成立利用者間の対戦ゲームが終了すると、外部サービスの利用が終了し、当該成立利用者はマッチングサービスに復帰する。外部サービスの利用が終了したことの把握は、少なくともいずれかの成立利用者の利用者端末200からサーバ100にその旨の情報が提供されることによりなされるものであってもよいし、外部サービスからサーバ100に直接その旨の情報が提供されることによりなされるものであってもよい。本実施形態のマッチングシステムでは、外部サービスにおいて行われた対戦ゲームが終了した場合に、該対戦ゲームの結果が外部サービスに係るサーバからサーバ100に提供されるものとし、当該結果の受信をもって外部サービスの利用終了が把握されるものとして説明する。
【0070】
成立利用者間で行われた対戦ゲームの結果が受信されると、該成立利用者に対応する利用者アバタについて、対戦中の状態を解除し、ルーム内を移動可能な状態とする処理がなされる。また当該結果に基づいて、成立利用者に係る利用者情報の戦績情報1405が更新され、各成立利用者の利用者端末200に対し、結果に応じた勝敗通知がなされる。勝敗通知は、例えば勝者側には
図9(a)、敗者側には
図9(b)のように異なる内容でなされるものであってよい。
【0071】
(運営アバタ)
一方、運営アバタは、任意の利用者に割り当てられるアバタではなく、マッチングシステム運営側の配置アバタとして、サービス提供に係る種々の機能を実現する対象としてルームに移動可能に配置される。即ち、本実施形態のマッチングシステムを介して提供されるマッチングサービスでは、例えば不適切な利用者の排除(追放)等の、マッチングシステムの運営側が行う少なくとも一部の機能については、ルームに配置されている配置アバタにより行われるものとして、ルームの表示を介して各利用者に提示される。
【0072】
なお、運営アバタの外観は、いずれの利用者にも対応付けられていないアバタであることを知らしめるために、
図5(a)に501で示されるように、利用者アバタの外観として選択され得ないパーツで構成され、利用者が識別可能な態様で表示されるものとする。また運営アバタは、サーバ100において管理されるルームの各々に少なくとも1体配置されるものとする。
【0073】
従来の仮想空間を用いるコミュニケーションシステムでは、例えば、他の利用者に対する嫌がらせを行う、サービス本来の趣旨と異なる方法で利用する、といった不適切な利用者が存在した場合には、当該利用者の行為について他の利用者からの通報が行われた後、時間をおいて、該当の利用者に係る行動ログに基づく運営側の判断がなされた後に該当の利用者アカウントの停止(追放)処理がなされる。つまり、不適切な利用者が存在したとしても当該利用者の利用が停止されるまでには時間を要してしまい、好適な利用が妨げられた利用者のサービスに対する関心が薄れ、利用者減にもつながり得るものであった。
【0074】
これに対し、本実施形態のマッチングシステムは、機械的に善し悪しが判断可能な一部の不適切行為については運営アバタの機能として検出し、該当の利用者をルームから退出させる(利用者アバタをルームから追放する)処理を行い、その旨をルーム内の他の利用者にも報知するよう構成される。本実施形態のマッチングシステムでは、ルームにおける運営アバタの行動は行動制御部108により制御されるものであり、行動制御部108は、予め定められた追放対象の検出ルールに基づいて該当する行為を行った利用者を検出し、該利用者に係る利用者アバタをルームから追放する処理(追放処理)を行う。
【0075】
追放対象となる行為は、他の利用者またはルーム全体に対する特定の文言(誹謗中傷等の他者を不快にさせ得る内容のもの)を含んだメッセージの送信行為、及び、サービスログインしている状態ではあるが放置状態とする行為を含むものであってよい。ここで、前者の行為は、利用者から発信されたメッセージのテキスト中に、予め設定されたNGキーワードが含まれているか否かを行動制御部108が判定することにより検出される。また後者の行為は、利用者アバタがルームに配置されてはいるが、外部サービスを利用していない状態で、かつ、ルーム内で移動していない状態または単調な移動のみを繰り返す状態で所定の期間経過したか否かを行動制御部108が判定することにより検出される。この他、行動制御部108は、利用者ごとに集計された他の利用者からの通報数の多寡に応じて、追放対象とするかの判定を行うものであってもよい。
【0076】
そして行動制御部108は、追放対象の行為を行った利用者を検出すると追放処理を実行し、該利用者アバタをルームから追放する、即ち、対応する状態管理情報を削除してルームに配置させず、かつ、ブラウザにおける該ルームの表示も中止させる。このとき、追放対象に係る利用者の利用者端末200には、例えば
図10(a)に示されるような、退出させられた旨及びその理由を示す通知を表示させるよう、サーバ100から必要な情報が提供される。また追放処理は、例えば
図5(b)の表示下部に設けられたお知らせ表示を用い、ルームに係る他の利用者の利用者端末200に追放を行った旨の通知を表示させる処理も含むことで、不適切な利用を抑止しつつ、運営側のルーム管理が機能していることを利用者に知らしめることができる。
【0077】
また行動制御部108は、マッチングサービスの提供中、運営アバタにルーム内を移動させるよう行動制御を行う。当該制御は、運営アバタを単にルームに配置されたNPCとして認識させない(運営側の管理者により操作されているものとして認識させる)ためのものであり、ルーム内の全体を移動可能範囲として、不規則に移動させるよう行われるものであってよい。あるいは、上述した追放処理の実行の条件を、追放対象となる行為の複数回検出を条件に行う態様においては、実行に至らない回数の検出時に、該当の利用者アバタの周囲の位置に運営アバタを移動させる(また、加えて警告を行う)ように行われるものであってもよい。このようにルームにおいて運営アバタを移動させることで、不適切な利用がなされることをより抑止できる。
【0078】
なお、運営アバタは、あくまでも各ルームにおける好適なサービス提供を実現するマッチングシステムの機能であるため、他の利用者と対戦ゲームをプレイするためのマッチングの成立に係る行動の実行権限は付与されず、マッチング対象の状態にはならないよう制御される。即ち、ルームを利用するいずれの利用者も、運営アバタに対して対戦の申し込みを行うことができないよう制御される。
【0079】
この他、運営アバタには、利用者を対戦ゲームのゲームプレイに誘導する行動の実行権限が付与される。
【0080】
本実施形態のマッチングサービスのように、利用者が自発的に利用者アバタを特定の状態にさせたことを条件としてマッチングを行う態様では、特にゲームを始めて間もなく、ゲームプレイに不慣れである利用者等、利用者によってはマッチングの条件を満たす状態にさせること自体を躊躇させてしまうことが考えられる。このため、推定部107は、対戦中ではない利用者アバタのうち、対戦ゲームのゲームプレイを躊躇していると推定される利用者の利用者アバタを誘導対象として特定する。そして行動制御部108が、
図10(b)に示されるように、運営アバタからの案内として、該利用者の利用者端末200に対戦ゲームに招待する旨の通知を行う。ここで、誘導対象の利用者アバタは、例えばルームにおいて所定の期間内に移動してはいるものの、他の利用者アバタから直接発信されたメッセージ(ルーム全体に対してではなく、一部の利用者に限定して発信されたメッセージ)に応答する内容のメッセージを発信していない利用者アバタや、対戦ゲームのプレイ回数が閾値を下回り、かつ、所定の期間における他の利用者アバタに係るプロフィールの閲覧回数が閾値を上回る利用者アバタ等が該当するものとして定められてよい。
【0081】
そして、行動制御部108は、いずれの利用者アバタも配置されていない椅子602の位置に誘導対象の利用者アバタを移動させ、マッチング対象の状態に遷移させる。このとき、対戦ゲームが実行されやすいよう、行動制御部108は、該誘導対象の利用者アバタの利用者に対してマッチングさせる他の利用者を、例えば対戦履歴や対戦レート等の情報を参照して決定し、対戦相手に係る椅子602の位置に移動させる処理を行ってもよい。
【0082】
《提供処理》
このような構成をもつ本実施形態のサーバ100において、接続された1台の利用者端末200の利用者に対するマッチングサービスを提供する提供処理について、
図11のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、制御部101が、例えば記録媒体102に記憶されている対応する処理プログラムを読み出し、メモリ103に展開して実行することにより実現することができる。
【0083】
なお、以下に示す本提供処理の説明において、理解を容易にするために、提供処理の対象である利用者を「対象利用者」、該対象利用者が使用する利用者端末200を「対象端末」、該対象利用者に対応する利用者アバタを「対象アバタ」、該対象利用者がサービスを利用するルームを「対象ルーム」として言及する。
【0084】
また本提供処理は、例えば対象端末がサーバ100に接続し、対象利用者に係るサービスログインの処理が実行され、1つのルーム(対象ルーム)が選択されたことに応じて開始されるものとして説明する。このとき、対象アバタに係る配置アバタ情報1423が構成され、該当するルームの状態管理情報に追加される。また本提供処理は、所定の終了条件が満たされるまでは繰り返し実行されるものとし、都度、対象端末に対して、対象ルームの状態管理情報に基づいた表示用情報が構成されて送出され、対象ルームのうちの対象アバタに基づいて定まる領域が、対象端末で表示されるブラウザを介して対象利用者に提示される。
【0085】
S1101で、制御部101は、対象ルームの他の利用者アバタについてなされた操作(配置位置の変更、各種フラグに係る状態変更)に基づいて、対象ルームに係る状態管理情報を更新する。
【0086】
S1102で、制御部101は、対象アバタがマッチング対象の状態であるか否かを判断する。本ステップの判断は、対象アバタの配置アバタ情報1423に含まれる対象フラグ1434に応じて行われればよい。制御部101は、対象アバタがマッチング対象の状態であると判断した場合は処理をS1114に移し、マッチング対象の状態ではないと判断した場合は処理をS1103に移す。
【0087】
S1103で、制御部101は、対象アバタについて配置位置の変更に係る操作がなされていれば、該操作の内容に基づいて、対象ルームに係る状態管理情報を更新する。より詳しくは、制御部101は、なされた移動操作の内容に基づいて、対象アバタの配置アバタ情報1423に含まれる配置位置1433を更新する。
【0088】
S1104で、制御部101は、対象アバタの配置位置が対象ルームに配置された椅子602の位置であるか否かを判断する。制御部101は、対象アバタの配置位置が椅子602の位置であると判断した場合は、対象アバタの配置アバタ情報1423に含まれる対象フラグ1434をTrueに変更してマッチング対象の状態に設定し、処理をS1101に戻す。また制御部101は、対象アバタの配置位置が椅子602の位置ではないと判断した場合は処理をS1105に移す。
【0089】
S1105で、制御部101は、マッチングが成立した利用者アバタが配置されているテーブル601について、対戦ゲームの観戦要求に係る操作がなされたか否かを判断する。より詳しくは、対象ルームに配置されたテーブル601のうち、2体の利用者アバタが椅子602の位置に配置され、かつ、該利用者アバタの対戦中フラグ1435がいずれもTrueであるテーブル601に対し、対象利用者から対戦ゲームの観戦要求に係る操作がなされたか否かを、制御部101は判断する。制御部101は、対戦ゲームの観戦要求に係る操作がなされたと判断した場合は処理をS1106に移し、なされていないと判断した場合は処理をS1108に移す。
【0090】
S1106で、制御部101は、対象利用者を観戦者として対象ルームに係る外部サービスに移行させるための種々の処理を実行する。より詳しくは、制御部101は、対象アバタの配置アバタ情報1423に含まれる観戦中フラグ1436をTrueに変更し、対象アバタに対する配置位置の変更に係る操作を無効にするよう制御する。また制御部101は、観戦要求がなされたテーブル601について格納されている接続先の情報を、転送命令とともに対象端末に送信する。
【0091】
なお、本実施形態の提供処理の説明では発明の理解を容易にすべく、外部サービスに移行中は、対象端末におけるマッチングサービスに係るブラウザ(タブ)の表示は、移行直前の状態で保持されるものとし、移行中に係る他の利用者アバタやテーブル601の表示制御は行わないものとして説明する。即ち、本ステップの場合、対象端末の該当タブの表示は、対象アバタが観戦中状態で配置された際の対象ルームの状態を示す表示で保持される。しかしながら、本発明の実施はこれに限られるものではなく、外部サービスに移行中も、対象ルームに生じた状態管理情報の変化に応じて表示制御されるものであってもよい。
【0092】
S1107で、制御部101は、対象利用者が外部サービスから復帰したか否かを判断する。本ステップの判断は、該当のテーブル601に係り実行されていた対戦ゲームの結果の情報を受信したか否かに基づいて行われるものであってよい。制御部101は、対象利用者が外部サービスから復帰したと判断した場合は、対象アバタの配置アバタ情報1423に含まれる観戦中フラグ1436をFalseに変更して移動可能な状態に設定し、処理をS1101に戻す。また制御部101は、対象利用者が外部サービスから復帰していないと判断した場合は、本ステップの処理を繰り返す。
【0093】
一方、S1105において対戦ゲームの観戦要求に係る操作がなされていないと判断された場合、行動制御部108はS1108で、制御部101の制御の下、対象アバタの行動履歴に基づいて、対象利用者に係る種々の判定を行う。本ステップで行われる判定は、上述した、対象利用者が追放対象に該当するかの判定と、推定部107の対象利用者が対戦ゲームのゲームプレイを躊躇しているかの推定に基づく判定である。
【0094】
S1109で、制御部101は、S1108の判定結果に基づき、対象利用者が追放対象に該当するか否かを判断する。制御部101は、対象利用者が追放対象に該当すると判断した場合は処理をS1110に移し、該当しないと判断した場合は処理をS1111に移す。
【0095】
S1110で、行動制御部108は制御部101の制御の下、対象利用者の追放処理を実行する。追放処理は、上述したように状態管理情報から対象アバタに係る配置アバタ情報1423の削除、対象端末に対する対象ルームから退出させられた旨の通知に係る表示用情報の送信、及び、対象ルーム全体への追放を行ったことの通知を含む。上述したように、追放処理に係る通知は運営アバタの行動として行われる。行動制御部108による追放処理が終了すると、制御部101は本提供処理を完了し、対象利用者の対象ルームに係るサービス利用を強制的に終了させることができる。
【0096】
一方、S1109において対象利用者が追放対象に該当しないと判断した場合、制御部101はS1111で、S1108の判定結果に基づき、対象利用者が対戦ゲームのゲームプレイを躊躇していると推定されるか否かを判断する。制御部101は、対象利用者が対戦ゲームのゲームプレイを躊躇していると推定される場合は処理をS1112に移し、推定されない場合は処理をS1113に移す。
【0097】
S1112で、行動制御部108は制御部101の制御の下、対象利用者を対戦ゲームのゲームプレイに誘導する処理を実行する。該誘導する処理は、対戦端末に対する対戦ゲームへ招待する旨の通知に係る表示用情報の送信する処理、対象アバタに係る配置アバタ情報1423について、配置位置1433を対象ルーム内のいずれかの椅子602の位置に変更する処理、及び、対象フラグ1434をTrueに変更して対象アバタをマッチング対象の状態とする処理を含む。制御部101は、誘導する処理が終了すると、処理をS1101に戻す。
【0098】
またS1113で、制御部101は、対象利用者に対する対象ルームに係るサービス提供を終了するか否かを判断する。本ステップの判断は、対象ルームの退出に係る処理が対象端末において行われたか、即ち、退出要求を対象端末から受信したか否かに基づいて行われる。制御部101は、対象ルームに係るサービス提供を終了すると判断した場合は本提供処理を完了し、終了しないと判断した場合は処理をS1101に戻す。
【0099】
一方、S1102において対象アバタがマッチング対象の状態であると判断した場合、制御部101はS1114で、マッチング処理を実行する。
【0100】
〈マッチング処理〉
ここで、本ステップで行われるマッチング処理について、
図12を参照して詳細を説明する。
【0101】
S1201で、制御部101は、対象アバタの配置位置に対応するテーブル601の他方の椅子602の位置に、他の利用者アバタ(待機アバタ)が既に配置されていたか否かを判断する。即ち、制御部101は、対象アバタが申込アバタに該当するか否かを判断する。制御部101は、待機アバタが既に配置されていたと判断した場合は処理をS1202に移し、配置されていないと判断した場合は処理をS1205に移す。
【0102】
S1202で、制御部101は、待機アバタの利用者への対戦の申し込みを行うか否かを判断する。具体的には制御部101は、待機アバタの利用者に係るプロフィール情報1404及び戦績情報1405に基づいて構成された表示用情報を対象端末に送信することで、待機アバタの利用者に対して対戦を申し込むか否かの意思確認の通知を該対象端末で表示させる。そして制御部101は、該通知に対してなされた操作の情報に基づいて本ステップの判断を行う。制御部101は、待機アバタの利用者への対戦の申し込みを行うと判断した場合は処理をS1203に移し、行わないと判断した場合は処理をS1208に移す。
【0103】
S1203で、制御部101は、待機アバタの利用者により対戦の申し込みが受諾されたか否かを判断する。具体的には制御部101は、対象利用者に係るプロフィール情報1404及び戦績情報1405に基づいて構成された表示用情報を待機アバタに係る利用者端末200に送信することで、対象利用者からの対戦の申し込みを受けるか否かの意思確認の通知を該利用者端末200で表示させる。そして制御部101は、該通知に対してなされた操作の情報に基づいて本ステップの判断を行う。制御部101は、待機アバタの利用者により対戦の申し込みが受諾されたと判断した場合はマッチングが成立したとして処理をS1204に移し、受諾されなかったと判断した場合は処理をS1208に移す。
【0104】
S1204で、マッチング部109は制御部101の制御の下、2人の成立利用者(一方は対象利用者)をマッチングし、外部サービスに移行させる処理を行い、本マッチング処理を完了する。具体的にはマッチング部109は、2人の成立利用者に対応する利用者アバタ(一方は対象アバタ)の配置アバタ情報1423について、対象フラグ1434をFalse、対戦中フラグ1435をTrueに変更する。またマッチング部109は、成立利用者に係る利用者情報に基づいてプレイヤ登録に係る情報を構成し、接続先の作成要求とともに外部サービスに送信し、新たな対戦ゲームに係る接続先の情報を外部サービスから受信する。そしてマッチング部109は、受信した接続先の情報を転送命令とともに成立利用者に係る利用者端末200(一方は対象端末)に送信し、外部サービスに移行させる。このとき、マッチング部109は、受信した接続先の情報を、マッチング処理の対象であるテーブル601を識別する情報に関連付けてメモリ103に格納する。
【0105】
一方、S1201において待機アバタが既に配置されていないと判断した場合、即ち、利用者アバタが待機アバタとなる場合、制御部101はS1205で、対象利用者への対戦の申し込みがなされたか否かを判断する。換言すれば、本ステップは、対象アバタの配置されたテーブル601の外周において、いずれかの利用者アバタ(申込アバタ)が対象アバタと対向する位置の椅子602に配置され、該申込アバタの利用者により、対象利用者への対戦の申し込みがなされたか否かを制御部101は判断する。制御部101は、対象利用者への対戦の申し込みがなされたと判断した場合は処理をS1206に移し、なされていないと判断した場合は処理をS1207に移す。
【0106】
S1206で、制御部101は、対象利用者により対戦の申し込みが受諾されたか否かを判断する。具体的には制御部101は、申込アバタの利用者に係るプロフィール情報1404及び戦績情報1405に基づいて構成された表示用情報を対象端末に送信することで、申込アバタの利用者からの対戦の申し込みを受けるか否かの意思確認の通知を対象端末で表示させる。そして制御部101は、該通知に対してなされた操作の情報に基づいて本ステップの判断を行う。制御部101は、対象利用者により対戦の申し込みが受諾されたと判断した場合は処理をS1204に移し、受諾されなかったと判断した場合は処理をS1207に移す。
【0107】
S1207で、制御部101は、対象アバタのマッチング対象の状態を解除するか否かを判断する。本ステップの判断は、対象端末においてマッチングに係る待機を中止する旨の操作がなされたか否かに応じて行われる。制御部101は、対象アバタのマッチング対象の状態を解除すると判断した場合は処理をS1208に移し、解除しないと判断した場合は処理をS1205に戻す。
【0108】
S1208で、制御部101は、対象アバタのマッチング対象の状態を解除する処理を行い、本マッチング処理を完了する。具体的には制御部101は、対象アバタの配置アバタ情報1423に含まれる対象フラグ1434をFalseに変更し、対象ルームを移動可能な状態に変更する。このとき、制御部101は、対象アバタの配置位置を、それまで配置されていた椅子602の位置と異なる位置に変更し、他の利用者アバタが該椅子602の位置に移動可能なよう制御する。
【0109】
このようにマッチング処理が完了すると、制御部101は提供処理のS1115で、対象利用者が外部サービスに移行したか否かを判断する。具体的には制御部101は、対象アバタに係る対戦中フラグ1435に基づいて本ステップの判断を行う。制御部101は、対象利用者が外部サービスに移行したと判断した場合は処理をS1116に移し、移行していないと判断した場合は処理をS1101に戻す。
【0110】
S1116で、制御部101は、対象利用者が外部サービスからマッチングサービスに復帰したか否かを判断する。本ステップの判断は、例えば外部サービスにおいて行われた対戦ゲームの結果の情報を受信したか否かに基づいてなされるものであってよい。制御部101は、対象利用者がマッチングサービスに復帰したと判断した場合は処理をS1117に移し、復帰していない(移行中)と判断した場合は本ステップの処理を繰り返す。
【0111】
S1117で、制御部101は、対戦ゲームの結果表示に係る処理を行う。具体的には制御部101は、受信した対戦ゲームの結果の情報に基づいて、対象利用者に係る戦績情報1405を更新する。そして、制御部101は、受信した対戦ゲームの結果の情報に基づく結果表示に係る表示用情報を対象端末に送信し、結果表示を対象端末において行わせる。また制御部101は、対戦アバタに係る対象フラグ1434をFalseに変更し、対象ルームを移動可能なよう制御する。制御部101は、結果表示に係る処理を終了すると、処理をS1101に戻す。
【0112】
このようにすることで、本実施形態のマッチングシステムによれば、複数人対戦を実現する外部サービスについて、好適なマッチングを実現することができる。
【0113】
[実施形態2]
上述した実施形態1では、サーバ100が備える行動制御部108が運営アバタの行動制御を行う態様について説明したが、本発明の実施はこれに限られるものではない。例えば、マッチングサービスの各ルームの管理を有人で行う態様において、管理者に対して運営アバタの行動制御に係るユーザインタフェースを提供する態様としてもよい。即ち、運営アバタは、利用者アバタと同様に、サーバ100に接続した管理者の情報通信端末(以下、管理者端末として言及)でなされた操作に基づいて行動制御がなされるものであってもよい。
【0114】
ここで、管理者端末は、利用者端末200と同様の機能構成、もしくは、例えばカメラ204やマイク205を除いた機能構成であってよく、ブラウザを介して管理者としてサービスログインをしたことに応じて、運営アバタを操作して一部の運営側機能の実行権限が付与される。より詳しくは、管理者端末には、サーバ100からルームの状態管理情報に基づいた表示用情報が送出され、管理者端末で表示されるブラウザを介して対戦ルームが表示される。管理者端末においてなされる表示は、管理者の状況把握を容易にすべく、利用者端末200とは異なり、運営アバタの配置位置に依らず全体ルームの全領域を提示するものであってよい。
【0115】
管理者に提供されるユーザインタフェースは、ルーム内における運営アバタの移動操作を行うものに加え、例えば
図13に示されるように、選択された利用者アバタについて、対戦ゲームのゲームプレイへの誘導、及び、追放の指示を受け付けるものを含んでいてよい。
図13に示したユーザインタフェースに係る機能については、管理者の状況把握を補助すべく、推定部107による推定結果や行動制御部108により行われた不適切な利用の判定結果に基づいて、該当の利用者アバタのサジェストする機能を設けていてもよい。
【0116】
このようにマッチングシステムを構成することで、例えば特定の日程を決めて実施されるオンラインの対戦イベント等において、柔軟で円滑なマッチングサービスの運営を行うためのユーザインタフェースを管理者に対して提供することができる。
【0117】
[変形例]
上述した実施形態では、利用者アバタがルームの特定の位置(椅子602の位置)に配置されたことを条件としてマッチング対象の状態とし、ゲームプレイについての利用者間での合意を経た上でマッチングする態様について説明したが、本発明の実施はこれに限られるものではない。例えば、ルームのいずれの位置に配置されている利用者アバタについても対戦の申し込みを可能にし、マッチングの合意がなされた場合に成立利用者に係る利用者アバタを同一のテーブル601に係る椅子602の位置に配置し、外部サービスに移行させる態様としてもよい。
【0118】
[その他の実施形態]
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から逸脱することなく、発明の要旨の範囲内で種々の変形・変更が可能である。また本発明に係るマッチングシステムは、1以上のコンピュータを該マッチングシステムの各装置として機能させるプログラムによっても実現可能である。該プログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供/配布することができる。
【符号の説明】
【0119】
100:サーバ、101:制御部、102:記録媒体、103:メモリ、104:利用者DB、105:対応サービスDB、106:状態管理DB、107:推定部、108:行動制御部、109:マッチング部、110:通信部、200:利用者端末、201:利用制御部、202:利用記録媒体、203:利用メモリ、204:カメラ、205:マイク、206:提示制御部、210:ディスプレイ、220:スピーカ、207:操作入力部、208:利用通信部、300:ネットワーク