IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ナイアンティック, インコーポレイテッドの特許一覧

特表2022-548175地域チャットに対するプレイヤー密度を基にした地域区分
<>
  • 特表-地域チャットに対するプレイヤー密度を基にした地域区分 図1
  • 特表-地域チャットに対するプレイヤー密度を基にした地域区分 図2
  • 特表-地域チャットに対するプレイヤー密度を基にした地域区分 図3
  • 特表-地域チャットに対するプレイヤー密度を基にした地域区分 図4A
  • 特表-地域チャットに対するプレイヤー密度を基にした地域区分 図4B
  • 特表-地域チャットに対するプレイヤー密度を基にした地域区分 図5A
  • 特表-地域チャットに対するプレイヤー密度を基にした地域区分 図5B
  • 特表-地域チャットに対するプレイヤー密度を基にした地域区分 図5C
  • 特表-地域チャットに対するプレイヤー密度を基にした地域区分 図6
  • 特表-地域チャットに対するプレイヤー密度を基にした地域区分 図7
  • 特表-地域チャットに対するプレイヤー密度を基にした地域区分 図8
  • 特表-地域チャットに対するプレイヤー密度を基にした地域区分 図9
  • 特表-地域チャットに対するプレイヤー密度を基にした地域区分 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-11-16
(54)【発明の名称】地域チャットに対するプレイヤー密度を基にした地域区分
(51)【国際特許分類】
   G06Q 50/10 20120101AFI20221109BHJP
   G06Q 50/00 20120101ALI20221109BHJP
【FI】
G06Q50/10
G06Q50/00 300
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022525968
(86)(22)【出願日】2020-10-29
(85)【翻訳文提出日】2022-07-01
(86)【国際出願番号】 IB2020060189
(87)【国際公開番号】W WO2021090131
(87)【国際公開日】2021-05-14
(31)【優先権主張番号】16/676,287
(32)【優先日】2019-11-06
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】519087723
【氏名又は名称】ナイアンティック, インコーポレイテッド
【氏名又は名称原語表記】NIANTIC,INC.
【住所又は居所原語表記】One Ferry Building,Suite 200 San Francisco,CA 94111 United States of America
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ジアホワン リウ
(72)【発明者】
【氏名】ミンリャン ウェイ
(72)【発明者】
【氏名】ダニエル カサデヴァル ピーノ
(72)【発明者】
【氏名】チャル ジャンキド
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC11
5L049CC18
(57)【要約】
ロケーションベースゲームにおけるプレイヤーの仮想ロケーションは、プレイヤーのクライアントデバイスの実世界のロケーションから決定される。ロケーションベースゲームは、ロケーションに基づいて1つまたは複数のチャットルームへのアクセスをプレイヤーに提供する。チャットルームのロケーションを決定するために、サーバーは、ジオグラフィックリージョンにおけるプレイヤーロケーションを分析し、プレイヤーロケーションをクラスタリングしてセントロイドを識別し、制約に基づいてクラスタを調整する。サーバーは、各チャットルームによって提供される地理的な領域のサイズに関する1つまたは複数の制限を満たすと同時に、各チャットルームにおけるプレイヤーの数をより均等に平均させるために、チャットルームロケーションを(例えば、ポイントオブインタレストにおいて)選択する。
【特許請求の範囲】
【請求項1】
チャットルームに対してロケーションを検索することであって、前記ロケーションは、
モバイルアプリケーションのユーザーに対してプレイヤーデータを検索することであって、前記プレイヤーデータは、ユーザーロケーションを説明する、こと、
クラスタリングアルゴリズムを適用して、ユーザーロケーションのクラスタを作ることであって、各クラスタは、セントロイドに割り当てられる、こと、
前記セントロイドに対応する地理的な領域を識別すること、
前記割り当てられたユーザーロケーションに基づいて前記地理的な領域を調整すること、
前記調整された地理的な領域に基づいて前記セントロイドを更新すること、および
前記セントロイドに基づいて前記地理的な領域内のチャットルームロケーションを決定すること
によって決定された、ことと、
ユーザーに対して前記チャットルームのうちの1つを選択することと、
前記選択されたチャットルームに関連付けられたメッセージを前記ユーザーへの表示に提供することと
を備えることを特徴とする方法。
【請求項2】
前記プレイヤーデータは、前記モバイルアプリケーション内のポイントオブインタレストとのユーザーのインタラクションをさらに説明し、前記ユーザーロケーションをクラスタリングすることは、
マップにおけるセルに各ユーザーロケーションを割り当てることと、
セルロケーションと、前記セルに割り当てられたユーザーロケーションの数を示す重みとを有する各セルに対して単一の点を作成することと、
前記セルのロケーションおよび重みに基づいて、前記セルの点を前記マップにおける点にクラスタリングすることと
を含むことを特徴とする請求項1に記載の方法。
【請求項3】
チャットルームに対して前記ロケーションを決定することは、前記モバイルアプリケーション内のポイントオブインタレストにさらに基づくことを特徴とする請求項1に記載の方法。
【請求項4】
訓練された機械学習モデルがチャットルームの前記ロケーションを決定することを特徴とする請求項1に記載の方法。
【請求項5】
前記ユーザーに対して前記チャットルームのうちの1つを選択することは、
前記ユーザーのロケーションを受信することと、
前記チャットルームロケーションが前記ユーザーロケーションに最も接近したチャットルームを選択することと
を含むことを特徴とする請求項1に記載の方法。
【請求項6】
前記ユーザーに対して前記チャットルームのうちの1つを選択することは、
前記ユーザーのユーザーロケーションを受信することと、
前記対応するチャットルームロケーションが前記ユーザーロケーションに最も接近した、予め決められた数のチャットルームを識別することと、
前記ユーザーのクライアントデバイスから前記複数のチャットルームのうちの1つの選択を受信することと
を含むことを特徴とする請求項1に記載の方法。
【請求項7】
前記セルは、マップを割りふる粒状ポリゴンであり、前記マップは、前記物理的な世界の2次元表現であることを特徴とする請求項1に記載の方法。
【請求項8】
前記セントロイドは、各ユーザーロケーションから、前記最も近いセントロイドまでの平均距離が最小化されるように反復して調整されることを特徴とする請求項1に記載の方法。
【請求項9】
前記地理的な領域内のチャットルームロケーションを決定することは、
前記地理的な領域内のポイントオブインタレストに対応する物体ロケーションを検索することと、
前記対応するセントロイドに最も近い物体ロケーションにおいて、地理的な領域に対してチャットルームを配置することと
を含むことを特徴とする請求項1に記載の方法。
【請求項10】
前記地理的な領域内のチャットルームロケーションを決定することは、
前記地理的な領域内のポイントオブインタレストに対応する物体ロケーションを検索することと、
各地理的な領域に対して、
前記地理的な領域内の複数の物体ロケーションを決定することと、
前記複数の物体ロケーションから、最も多いユーザーインタラクションを有する前記物体ロケーションにおいて前記チャットルームを配置することと
を含むことを特徴とする請求項1に記載の方法。
【請求項11】
プロセッサーによって実行可能な命令を含む非一時的なコンピューター読取り可能記録媒体であって、前記命令は、
チャットルームに対してロケーションを検索するための命令であって、前記ロケーションは、
モバイルアプリケーションのユーザーに対してプレイヤーデータを検索する命令であって、前記プレイヤーデータは、ユーザーロケーションを説明する、命令、
前記ユーザーロケーションをクラスタリングするための命令、
制約に基づいて前記セントロイドを調整するための命令、
前記セントロイドに対応するジオグラフィックリージョンを識別するための命令、および
前記対応するセントロイド内の前記ユーザーロケーションに基づいて、前記ジオグラフィックリージョン内のチャットルームロケーションを決定するための命令
によって決定された、命令と、
ユーザーに対して前記チャットルームのうちの1つを選択するための命令と、
前記選択されたチャットルームに関連付けられたメッセージを前記ユーザーへの表示に提供するための命令と
を含むことを特徴とする非一時的なコンピューター読取り可能記録媒体。
【請求項12】
前記プレイヤーデータは、前記モバイルアプリケーション内のポイントオブインタレストとのユーザーのインタラクションをさらに説明し、前記ユーザーロケーションをクラスタリングするための前記命令は、
マップにおけるセルに各ユーザーロケーションを割り当てるための命令と、
セルロケーションと、前記セルに割り当てられたユーザーロケーションの数を示す重みとを有する各セルに対して単一の点を作成するための命令と、
前記セルのロケーションおよび重みに基づいて、前記セルの点を前記マップにおける点にクラスタリングするための命令と
を含むことを特徴とする請求項11に記載の非一時的なコンピューター読取り可能記録媒体。
【請求項13】
チャットルームに対して前記ロケーションを決定するための命令は、前記モバイルアプリケーション内のポイントオブインタレストにさらに基づくことを特徴とする請求項11に記載の非一時的なコンピューター読取り可能記録媒体。
【請求項14】
訓練された機械学習モデルがチャットルームの前記ロケーションを決定することを特徴とする請求項11に記載の非一時的なコンピューター読取り可能記録媒体。
【請求項15】
前記ユーザーに対して前記チャットルームのうちの1つを選択するための前記命令は、
前記ユーザーのロケーションを受信することと、
前記チャットルームロケーションが前記ユーザーロケーションに最も接近したチャットルームを選択することと
を含むことを特徴とする請求項11に記載の非一時的なコンピューター読取り可能記録媒体。
【請求項16】
前記ユーザーに対して前記チャットルームのうちの1つを選択するための前記命令は、
前記ユーザーのユーザーロケーションを受信するための命令と、
前記対応するチャットルームロケーションが前記ユーザーロケーションに最も接近した、予め決められた数のチャットルームを識別するための命令と、
前記ユーザーのクライアントデバイスから前記複数のチャットルームのうちの1つの選択を受信するための命令と
を含むことを特徴とする請求項11に記載の非一時的なコンピューター読取り可能記録媒体。
【請求項17】
前記セルは、マップを割りふる粒状ポリゴンであり、前記マップは、前記物理的な世界の2次元表現であることを特徴とする請求項11に記載の非一時的なコンピューター読取り可能記録媒体。
【請求項18】
前記セントロイドは、各ユーザーロケーションから、前記最も近いセントロイドまでの平均距離が最小化されるように反復して調整されることを特徴とする請求項11に記載の非一時的なコンピューター読取り可能記録媒体。
【請求項19】
チャットルームに対してロケーションを決定するための前記命令は、
前記モバイルアプリケーション内のポイントオブインタレストに対応する物体ロケーションを検索するための命令と、
最も近い物体ロケーションにおいてロケーションクラスタに対してチャットルームを配置するための命令と
をさらに含むことを特徴とする請求項13に記載の非一時的なコンピューター読取り可能記録媒体。
【請求項20】
チャットルームに対してロケーションを決定するための前記命令は、
前記モバイルアプリケーション内のポイントオブインタレストに対応する物体ロケーションを検索するための命令と、
各クラスタに対して、
前記クラスタに対応するジオグラフィックリージョン内の複数の物体ロケーションを決定するための命令と、
前記複数の物体ロケーションから、最も多いユーザーインタラクションを有する前記物体ロケーションにおいて前記チャットルームを配置するための命令と
をさらに含むことを特徴とする請求項13に記載の非一時的なコンピューター読取り可能記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、ロケーションベースゲーミング(location-based gaming)に関し、特に、上記ゲームにおけるチャットルームロケーション(chat room location)を決定することに関する。
【背景技術】
【0002】
ロケーションベースゲーム(location-based game)は、現実世界を地理として用いる。パラレルリアリティゲーム(parallel reality game)は、実世界の地理とパラレルである仮想世界を用いるロケーションベースゲームの類型である。プレイヤーは、現実世界において、進むことと活動を行うこととによって、パラレルな仮想世界において、インタラクションし、種々のゲームオブジェクティブ(game objective)を遂行することが可能である。パラレルリアリティゲーム内にてコミュニケーションをとるために、プレイヤーは、仮想世界じゅうくまなく設けられるチャットルームにおいて会話することがある。例えば、プレイヤーは、1つのチャットルームに合流して、レイド(raid)の間、他のプレイヤーとコミュニケーションをとることがある。しかしながら、プレイヤーが、現実世界内の新しいロケーションに移動して、プレイヤーの異なるグループとの他の仮想体験に参加するならば、レイドの近くに設けられた元のチャットルームは、他のチャットルームを使っていることがある、現実世界におけるすぐ近くの他のプレイヤーと接続されないだろう。さらに、プレイヤーが元のチャットルームから離れた所で短い距離を移動するだけの場合でさえ、すぐ近くの仮想体験およびプレイヤーは、プレイヤーの元のロケーションにおけるのと異なることがある。
【発明の概要】
【0003】
ロケーションベースのパラレルリアリティゲームにおいて、プレイヤーは、たとえば、スマートフォンなど、ロケーションアウェア(location-aware)のクライアントデバイスにより現実世界を通じて仮想世界を進む。プレイヤーは、仮想体験における特色に対して仮想世界を進む、または仮想要素とインタラクションするときに、仮想世界内に戦略的に設けられるチャットルームを介して互いにチャットすることがある。今述べたチャットルームは、プレイヤーロケーション(player location)の観測される密度の大きい地理的なロケーションの近くに設けられるように、仮想世界において地域的に配置されることがある。さらに、チャットルームは、たとえば、仮想要素または仮想体験など、パラレルリアリティゲーム内のポイントオブインタレスト(points of interest)の近くに設けられることもある。
【0004】
パラレルリアリティゲームにおいてプレイヤーによって用いられる多くのクライアントデバイスは、プレイヤーが現実世界じゅうくまなく移動すると同時にパラレルリアリティゲームをプレイするときに、プレイヤーロケーション情報をトラッキングする測位デバイスを含むことがある。種々の態様において、クライアントデバイスは、プレイヤーロケーション情報を、パラレルリアリティゲームをホストするサーバーに送る。ゲームサーバーは、プレイヤーロケーション情報に基づいてチャットルームのロケーションを決定する。
【0005】
一態様では、ゲームサーバーは、ジオグラフィックリージョン(geographic region)内のプレイヤーロケーションをセントロイド領域に反復してクラスタリングし、クラスタを調整して、各セントロイド領域に関連付けられたプレイヤーの数をより均等に平均させるのと同時に、現実世界におけるプレイヤーの自然なグループ分けを考慮にいれるやり方にてチャットルームをさらに散らすことによって、ジオグラフィックリージョンに対してチャットルームロケーションを決定する。チャットルームのロケーションが決定されれば、ゲームサーバーは、ゲーム内の現在のロケーションに基づいて個々のユーザーに対してチャットルームを選択し、チャットルームからのメッセージをユーザーに提供することがある。
【0006】
今述べたこと、ならびに他の特徴、様相、および利点は、後に続く説明および添付の特許請求の範囲に関して、よりよく理解されることがある。添付の図面は、特定の態様を示す図であり、説明とともに、種々の原理を説明するのに役立つ。しかしながら、図面は、限定とみなすべきではないだろう。むしろ、保護の範囲は、特許請求の範囲から決定されるべきだろう。
【図面の簡単な説明】
【0007】
図1】一態様に係るロケーションベースゲームを動作させるのに適したネットワーク接続されたコンピューティング環境を例示するブロック図である。
図2】一態様に係る図1に示されるクライアントデバイスのブロック図である。
図3】一態様に係る図1に示されるゲームサーバーのブロック図である。
図4A】一態様に係るセントロイドをさらに決定するのに用いられるジオグラフィックリージョン内の集約点にグループ分けされたプレイヤーロケーションの例である。
図4B】一態様に係るセントロイドをさらに決定するのに用いられるジオグラフィックリージョン内の集約点にグループ分けされたプレイヤーロケーションの例である。
図5A】一態様に係るチャットルームロケーションを決定するための処理の種々の段階におけるセントロイドを示す図である。
図5B】一態様に係るチャットルームロケーションを決定するための処理の種々の段階におけるセントロイドを示す図である。
図5C】一態様に係るチャットルームロケーションを決定するための処理の種々の段階におけるセントロイドを示す図である。
図6】一態様に係るジオグラフィックリージョン内のポイントオブインタレストを有するチャットルームロケーションの例である。
図7】一態様に係るチャットルームからユーザーへのメッセージを提供するための方法を描くフローチャートである。
図8】一態様に係るチャットルームロケーションを決定するための方法を描くフローチャートである。
図9】一態様に係る集約点をマップにおけるセントロイドにグループ分けするための方法を描くフローチャートである。
図10】一態様に係る図1のネットワークコンピューティング環境における使用に適した例示的なコンピューターを例示するブロック図である。
【発明を実施するための形態】
【0008】
図面および後に続く説明は、例示のみとして、ある態様を説明する。当業者であれば、後に続く説明から、構造および方法の代替態様が、説明される原理から逸脱することなく、利用されることがあることを容易に認めるだろう。ところで、参照は、添付の図面に例示されている、いくつかの態様、例に対してなされるだろう。実際に使用できるときはどこでも、類似したまたは同様の参照符号は、類似したまたは同様の機能性を示すのに、図面において用いられるということが特筆される。さらに、類似の要素が、文字が続く参照符号によって識別される場合、続く説明において単独の符号への言及は、すべての上記の要素を、いずれか1つの上記の要素を、または上記の要素のどんな組み合わせでも、引用することもある。
【0009】
概要
一般に、本開示は、現実世界のロケーションにマッピングされる仮想世界に起こるパラレルリアリティゲームに対してチャットルームロケーションを決定することに関する。
【0010】
ゲームサーバーは、実世界の地理の少なくとも一部にパラレルである地理を有する仮想環境を含むプレイヤーゲーミング領域を有するロケーションベースのパラレルリアリティゲームをホストすることが可能である。プレイヤーは、現実世界において対応する地理的な空間を進むことによって、仮想世界において仮想空間を進むことが可能である。特に、プレイヤーは、現実世界において地理座標の範囲を進むことによって、仮想世界において仮想空間を定義する座標の範囲を進むことが可能である。
【0011】
一様相では、例として、プレイヤーの位置は、プレイヤーのモバイルコンピューティングデバイス(例えば、携帯電話、スマートフォン、ゲーミングデバイス、または他のデバイス)に関連付けられた測位システム(例えば、GPSシステム)を用いて、監視されるまたはトラッキングされることが可能である。プレイヤーが、現実世界において、あちこちと移動するときに、プレイヤーロケーション情報は、ネットワークを介してパラレルリアリティゲームをホストするゲームサーバーに提供されることが可能ある。ゲームサーバーは、パラレルな仮想世界におけるプレイヤーロケーションを、現実世界におけるプレイヤーロケーションと対応させるように、更新することが可能である。
【0012】
さらに、パラレルリアリティゲームは、プレイヤーが、パラレルリアリティゲームの進行の間、インタラクションすることが可能である1つまたは複数のポイントオブインタレストを含むことも可能である。ポイントオブインタレストは、限定されないが、仮想要素、仮想物体、仮想体験などを含むことがある。さらに、ポイントオブインタレストは、ランドマーク、店舗、レクリエーションエリア、またはプレイヤーに対して興味をひくものであり得る他の実世界の特徴に対応する実世界のロケーションに仮想ロケーションに設けられることもある。ポイントオブインタレストとインタラクションするために、プレイヤーは、現実世界において、ポイントオブインタレストに対応するロケーションに行き、パラレルリアリティゲームにてポイントオブインタレストを選択することがある。
【0013】
プレイヤーは、仮想世界を進み、仮想世界とインタラクションするときに、仮想世界じゅうくまなく設けられるチャットルームを通じて、互いにコミュニケーションをとることがある。プレイヤーは、チャットルームに合流するとき、チャットルームにおいて、他のプレイヤーとメッセージを送り受信することがある。チャットルームは、ポイントオブインタレストのサブセットに設けられることがある。本開示の様相に係るチャットルームロケーションは、仮想世界を進むときにゲームプレイヤーのクライアントデバイスによって寄せ集められたプレイヤーロケーションデータに基づいて決定されることが可能である。データが分析されて、各チャットルームにおけるプレイヤーの数を等しくすることにより、プレイヤーロケーションと、最も近いチャットルームとの平均距離を最小にすることを平均させるチャットルームロケーションを決定することが可能である。
【0014】
一態様では、パラレルリアリティゲームに関連付けられたゲームサーバーは、現実世界における個人のロケーションに関連付けられたデータにアクセスすることが可能である。現実世界における個人のロケーションに関連付けられたデータは、どんな適切なソースからでも、取得されるまたは導出されることが可能である。現実世界における個人のロケーションに関連付けられたデータは、個人に関連付けられたモバイルデバイスの実世界の位置を含めることが可能である。特に、たとえばスマートフォンなどのモバイルデバイスのユーザーは、現実世界における地理的なロケーションに関して、あるロケーションベースの特徴または他の機能を強化するために、位置情報をオプションとして提供することが可能である。モバイルデバイスユーザーによってオプションとして提供されるどんな情報でも、位置情報をオプションとして提供するユーザーのプライバシーを保護する匿名という条件にて提供されることが可能である。
【0015】
さらに、現実世界における個人のロケーションに関連付けられたデータは、パラレルリアリティゲームのプレイヤーのロケーションに関連付けられたデータを含むことも可能である。特に、ゲームサーバーは、パラレルリアリティゲームのプレイヤーの各クライアントデバイスから、与えられた時間におけるデバイス位置情報のスナップショットを受信することが可能である。ゲームサーバーは、スナップショットを分析して、現実世界における個人のロケーションを決定し、上記のデータに基づいてチャットルームロケーションを生成することが可能である。ゲームサーバーは、与えられた一定期間(例えば、1日、1か月、1年など)、今述べたチャットルームロケーションを用いることがあり、プレイヤーデバイス情報の新しいスナップショットを用いて、チャットルームロケーションを周期に更新することがある。
【0016】
例示的なロケーションベースのパラレルリアリティゲーミングシステム
本開示の例示的な態様に係る例示的なコンピューター実装のロケーションベースゲーミングシステム(location-based gaming system)がただちに説明されるだろう。本主題は、パラレルリアリティゲームに関して述べられるだろう。パラレルリアリティゲームは、実世界におけるプレイヤーの移動およそ活動が仮想世界における活動に影響を与え、また与えられるような、実世界の地理の少なくとも一部にパラレルである仮想世界の地理を有するロケーションベースゲームである。当業者は、本明細書に提供される開示を用いて、本開示の主題が、他のゲーミングシステムに等しく適用可能であることを理解すべきだろう。
【0017】
図1は、態様にしたがって構成された例示的なコンピューター実装のロケーションベースゲーミングシステム100を示す図である。ロケーションベースゲーミングシステム100は、現実世界とパラレルである地理を有する仮想世界における複数のプレイヤーのインタラクションに対して提供する。特に、現実世界における地理的な領域は、仮想世界において対応する領域に直接的にリンクされるまたはマッピングされることが可能である。プレイヤーは、現実世界における種々の地理的なロケーションに対して移動することによって、仮想世界において、あちこちと移動することが可能である。例として、システム100は、現実世界におけるプレイヤーの位置をトラッキングし、現実世界におけるプレイヤーの現在位置に基づいて、仮想世界におけるプレイヤーの位置を更新することが可能である。例えば、現実世界における座標系(例えば、経度および緯度)は、仮想世界の座標系(x/y座標、仮想経度および仮想緯度など)にマッピングされることがある。
【0018】
図1に示される態様では、システム100は、クライアントサーバーアーキテクチャを有し、ゲームサーバー110が、ネットワーク130を介して1つまたは複数のクライアントデバイス120と通信する。3台のクライアントデバイス120が図1に例示されるが、何台のクライアントデバイス120でも、ネットワーク130を介してゲームサーバー110に接続されることが可能である。他の態様では、分散されたロケーションベースゲーミングシステム100が、異なったまたは追加の要素を含む。その上さらに、機能は、説明されるのとは異なるように、要素の間に、分散されることがある。
【0019】
ゲームサーバー110は、ロケーションベースゲームのマスター状態をホストし、プレイヤーのクライアントデバイス120にゲーム状況の更新を提供する(例えば、ゲームにおいて他のプレイヤーによってされた活動、実世界の周囲の状況の変化、ゲーム状態または条件における変化などに基づいて)。ゲームサーバー110は、ロケーションベースゲームにおけるプレイヤーからの入力を受信し、処理する。プレイヤーは、プレイヤーのクライアントデバイス120が、プレイヤーの入力と結合して、ゲームサーバー110に送るユーザー名またはプレイヤーID(例えば、固有の番号または英数字列)によって識別されることがある。
【0020】
例えば、ゲームサーバー110は、現実世界における多数のプレイヤーロケーションを示すデバイス位置情報のスナップショットに基づいて、チャットルームに対してロケーションを決定することがある。ゲームサーバー110は、マップのジオグラフィックリージョン(geographic region)をセル(例えば、Sセル(S-cell))に細分し、各セル内のプレイヤーロケーションの数によって重み付けされた集約点(aggregated point)を作成する。ゲームサーバーは、クラスタリングアルゴリズム(例えば、イテレーティブk-meansクラスタリング(iterative k-means clustering)アルゴリズム)と、反復される境界の調整とを用いて、セントロイドを決定する。ゲームサーバーは、セントロイドに基づいてチャットルームロケーションを決定する。チャットルームロケーションは、たとえば、記念碑、店舗、公共の建物、彫刻、または他の識別可能な実世界のロケーションなど、マップにおけるポイントオブインタレストであり得る。仮想世界内に設けられる各チャットルームに対して、ゲームサーバー110は、パラレルリアリティゲームのプレイヤーを選択し、メッセージを提供することがある。ゲームサーバー110の種々の態様は、図3に関して、以下により詳細に説明される。
【0021】
クライアントデバイス120は、プレイヤーがゲームサーバー100とインタラクションすることが可能であるコンピューティングデバイスである。例として、クライアントデバイス120は、スマートフォン、ポータブルゲーミングデバイス、タブレット、パーソナルデジタルアシスタント(PDA)、携帯電話、ナビゲーションシステム、ハンドヘルドGPSシステム、または他のデバイスであることが可能である。クライアントデバイス120は、ソフトウェア(例えば、ゲーミングアプリケーションまたはアプリ)を実行して、プレイヤーに、仮想世界とインタラクションすることを可能にすることがある。さらに、クライアントデバイス120は、チャットルームにユーザーインターフェースを提供するためのハードウェア、ソフトウェア、または両方を含むこともある。ユーザーは、ユーザーインターフェースを通じて、チャットルームに合流し、メッセージを送り受信することを選ぶことがある。クライアントデバイス120の種々の態様は、図2に関して、以下により詳細に説明される。
【0022】
ネットワーク130は、いずれかのタイプの通信ネットワーク、たとえば、ローカルエリアネットワーク(例えばイントラネット)、ワイドエリアネットワーク(例えばインターネット)、またはそれらのいくつかの組み合わせなどであることが可能である。さらに、ネットワークは、クライアント120とゲームサーバー110との間の直接接続を含むことも可能である。一般に、ゲームサーバー110とクライアント120との間の通信は、いろいろの通信プロトコル(例えば、TCP/IP、HTTP、S1v1TP、FTP)、エンコーディングまたはフォーマット(例えば、HTML、JSON、XML)、および/または保護スキーム(例えば、VPN、セキュアHTTP、SSL)を用いて、ワイヤードおよび/またはワイヤレス接続のどのタイプでも用いて、ネットワークインタフェースを介して行うことが可能である。
【0023】
図2は、一態様に係る図1に示されるクライアントデバイス120のブロック図である。ゲーミングシステム100がロケーションベースゲームに対してであるので、好ましくは、クライアントデバイス120は、たとえば、スマートフォンまたは他のポータブルデバイスなど、プレイヤーが容易に持って行くないしは他のやり方により運ぶことが可能であるポータブルコンピューティングデバイスである。プレイヤーは、実際の世界において、単に、クライアントデバイス120を持っていくことまたは運ぶことによって、仮想世界とインタラクションすることが可能である。クライアントデバイス120は、現実世界におけるクライアントデバイス120の位置を監視する測位デバイス210を含むことが可能である。測位デバイス210は、クライアント120の位置を監視するためのいずれかのデバイスまたは回路であることが可能である。例えば、測位デバイス210は、衛星ナビゲーション測位システム(例えば、GPSシステム、ガリレオ測位システム、グローバルナビゲーション衛星システム(Global Navigation satellite system:GLONASS)、BeiDou衛星ナビゲーションおよび測位システム)、慣性ナビゲーションシステム、デッドレコニングシステム、IPアドレスに基づいて、三角測量および/またはセルラータワーもしくはWiFiホットスポットへの近接を用いることによって、および/または位置を決定する他の適切な技法を用いて、実際のまたは相対的な位置を決定することが可能である。
【0024】
プレイヤーが現実世界においてクライアント120を持って動き回るときに、測位デバイス210は、プレイヤーのクライアントデバイス120の位置をトラッキングし、クライアントデバイスの位置情報をゲームモジュール220に提供する。ゲームモジュール220は、現実世界におけるプレイヤーのクライアントデバイス120の位置の座標に基づいて、仮想世界におけるプレイヤーのロケーションを更新する。ゆえに、ゲームモジュール220は、クライアントデバイス120における仮想世界のローカル状態を維持する。ゲームモジュール220は、ゲームサーバー110が、更新されたプレイヤーロケーションを有する全体的なゲーム状態を維持し、局所的なゲーム状態が全体的なゲーム状態を反映することが可能であるような周期な更新をゲームモジュール220に提供するように、ネットワーク130を介してプレイヤーロケーション情報をゲームサーバー110に提供することが可能である。
【0025】
ゲームモジュール220は、仮想世界についての情報を、ユーザーインターフェース230と通信する。クライアントデバイス120のユーザーインターフェース230は、クライアントデバイス120のユーザーインターフェースのコンポーネントを構築し表示する。ユーザーインターフェースは、ゲームモジュール220から受信されている、たとえば仮想要素および仮想体験など、仮想世界のコンポーネントを含む仮想世界の描写をユーザーに表示することがある。さらに、ユーザーインターフェース230は、仮想世界におけるチャットルームロケーションを、チャットルームにおいてユーザー間で送られたメッセージも同様に、表示することもできる。ユーザーは、クライアントデバイス120とインタラクションして、仮想要素とかみ合い、仮想体験に参加し、またはチャットルームにおいて会話することがある。例えば、ユーザーインターフェース230は、ポイントオブインタレスト、チャットルーム、および他の仮想体験を描く仮想世界のビューを表示することがある。クライアントデバイス120のユーザーは、ユーザーインターフェースを介して今述べたコンポーネントとインタラクションして、タスクを完了する、チャットルームに合流する、またはレイドに、他の活動に、参加することが可能である。
【0026】
ローカルデータストア240は、クライアントデバイス120によって用いられるデータを格納するように構成された1つまたは複数のコンピューター読取り可能媒体である。例えば、ローカルデータストア240は、測位デバイス210によってトラッキングされたプレイヤーロケーション情報を、パラレルリアリティゲームの現在の状態のローカルコピーを、または他のどんな適切なデータでも、格納することがある。ローカルデータストア240が単一のエンティティとして示されるが、データは、複数の媒体にわたって分配されることがある。その上さらに、データは、他のところに(例えば、分散データベースにおいて)格納され、ネットワーク130を介してリモートアクセスされることがある。
【0027】
図3は、ロケーションベースの並列現実(parallel-reality)ゲームをホストするのに適したゲームサーバー110の一態様を示す図である。示される態様では、ゲームサーバー110は、ユニバーサルゲームモジュール310と、ロケーターモジュール320と、チャットルームモジュール330と、ゲームデータベース340とを含む。他の態様では、ゲームサーバー110は、異なったまたは追加の要素を含む。さらに、機能は、説明されるのとは異なるように、要素の間に、分散されることがある。
【0028】
ゲームサーバー110は、1つまたは複数のクライアントデバイス120から(例として、リモートプロシージャコール(RPC)を介して)ゲームデータに対する要求を受信し、ネットワーク130を介してそれらの要求に応答するように構成されることが可能である。例として、ゲームサーバー110は、ゲームデータを1つまたは複数のデータファイルにエンコードし、データファイルをクライアントデバイス120に提供することが可能である。さらに、ゲームサーバー110は、ネットワーク130を介して1つまたは複数のクライアントデバイス120からゲームデータ(例えば、プレイヤーロケーション、プレイヤー活動、プレイヤー入力など)を受信するように構成されることが可能である。例として、クライアントデバイス120は、ゲームサーバー110が、ゲームに対して変化した周囲の状況を反映するためにゲームデータベース340においてゲームデータを更新するのに用いるプレイヤー入力、プレイヤーロケーション、および他の更新を、ゲームサーバー110に周期に送るように構成されることが可能である。さらに、ゲームサーバー110は、たとえば他のプレイヤーロケーション、チャットルームロケーション、仮想要素ロケーションなど、クライアントデバイス120に対するゲームデータを送ることもある。
【0029】
ユニバーサルゲームモジュール310は、プレイヤーに対してロケーションベースゲームをホストし、ロケーションベースゲームの現在の状態に対して権威あるソースとして作動する。ユニバーサルゲームモジュール310は、クライアントデバイス120からのゲームデータ(例えば、プレイヤー入力、プレイヤーロケーション、プレイヤー活動、プレイヤー状態、ランドマーク情報など)を受信し、受信したゲームデータを、ロケーションベースゲームの全プレイヤーに対して、全体のロケーションベースゲームに組み入れる。ゲームデータにより、ユニバーサルゲームモジュール310は、ゲームモジュール220において局所的なゲーム状態を更新するクライアントデバイス120に送られることが可能であるゲームの全体的なゲーム状態を格納する。さらに、ユニバーサルゲームモジュール310は、ネットワーク130を介して、クライアントデバイス120へのゲームデータの配信を管理することも可能である。
【0030】
ロケーターモジュール320は、ユニバーサルゲームモジュール310の一部である、またはユニバーサルゲームモジュール310から分離されることが可能である。ロケーターモジュール320は、現実世界の活動に関連付けられたデータにアクセスし、データを分析し、現実世界の活動に関連付けられたデータに基づいて仮想世界における仮想体験を決定するように構成される。例として、ロケーターモジュール320は、ゲームデータベース340に格納されたゲームデータを修正して、現実世界の活動に関連付けられたデータに基づいて仮想世界における仮想体験を設けることが可能である。一例として、スポンサーの仮想要素は、スポンサーの店舗、レストラン、アウトレットなどの実世界のロケーションに対応する仮想ロケーションにおいてあり得る。プレイヤーが、購入する、実世界のロケーションにおいて利用可能になるコードを入力する、または指定された基準を満たす実世界ロケーションにおける活動の活動をとるならば、特別の仮想体験は、並列現実(parallel-reality)ゲームにおいてプレイヤーに利用可能になることがある。
【0031】
チャットルームモジュール330は、プレイヤーロケーションに基づいて、仮想世界におけるチャットルームロケーションを決定する。チャットルームロケーションは、現実世界におけるポイントオブインタレストに対応することがある。チャットルームモジュール330は、ユニバーサルゲームモジュール310のクライアントデバイス120から寄せ集められたプレイヤーロケーションを分析し、クラスタリングメソッドと、境界の調整のメソッドとを用いて、各々、地理的な領域に対応するプレイヤーのグループを識別する。チャットルームモジュール330は、各地理的な領域におけるポイントオブインタレストを、その領域におけるプレイヤーについてのデータに基づいて(例えば、プレイヤーロケーションのセントロイドをポイントオブインタレストのロケーションと比較することによって、またはプレイヤーとポイントオブインタレストに位置される仮想要素との間のインタラクションならば頻度または量を分析することによってなど)、チャットルームロケーションとして識別することがある。チャットルームモジュール330は、チャットルームロケーションを周期に(例えば、毎日、毎週、毎月など)、またはゲームサーバー110を介してプロバイダによってトリガーされるとき、更新することがある。チャットルームモジュール330は、チャットルームロケーションをユニバーサルゲームモジュール310に提供し、全体的なゲーム状態においてチャットルームを含み、チャットルームのユーザー間のメッセージを提供する。
【0032】
種々の態様において、チャットルームモジュール330は、反復される境界の調整の前にイテレーティブk-meansクラスタリングを行って、チャットルームロケーションを決定する。単独のk-meansクラスタリングを用いることは、他のセントロイドよりも、より多数のプレイヤーに対応するいくつかのセントロイドに帰着することがある。例えば、高密度のリージョンにおける(例えば、都市内の)チャットルームは、割り当てられた多数のプレイヤーを有することがあり、会話がプレイヤーに対して速すぎて容易についていけない混雑したチャットルームに帰着する。反対に、低密度のリージョン(例えば、地方圏)におけるチャットルームは、相対的に少ないプレイヤーを含むことがあり、プレイヤーは、インタラクションの欠如により失望させられることになることがある。境界の調整は、より接近した各チャットルームに関連付けられたプレイヤーの数を均等であることに至らせることによって、今述べたことを抑止する。チャットルームは、ゲームサーバー110が、チャットルームロケーションを更新するチャットルームモジュール330をトリガーするまで(例えば、ある一定期間が過ぎたとき)、仮想世界において決定されたチャットルームロケーションにとどまることがある。
【0033】
一般に、チャットルームロケーションを決定するために、チャットルームモジュール330は、(例えば、ゲームデータベース330からの)ジオグラフィックリージョンに対するプレイヤーロケーションにアクセスする。プレイヤーロケーションは、マップにおける点として表現されることがあり、ただし、マップは、物理的な世界の2次元表現である。チャットルームモジュール330は、プレイヤーロケーションをマップにおける集約点(aggregated point)にグループ分けする。
【0034】
一態様では、プレイヤーロケーションをグループ分けするために、チャットルームモジュール330は、地理的な領域の一部を覆う多数のセル(例えば、Sセル)にマップを細分する。セルは、ジオグラフィックリージョンを割りふる幾何学的なかたちである。セルのサイズは、プロバイダからの入力を介して、またはコンテンツもしくはジオグラフィックリージョンのユーザー人口に基づいて、決定されることがある。チャットルームモジュール330は、各プレイヤーロケーションをマップにおけるセルに割り当て、各セルに対して特異点(「集約点」と呼ばれる)を作成し、チャットルームモジュール330は、集約点を、その特定のセルに割り当てられたプレイヤーロケーションの数によって重み付けをする。一般に、ポイントウエート(point weight)は、その集約点に関連付けられたプレイヤーの数により増加する。例えば、割り当てられた20のプレイヤーロケーションを有するセルに対する集約点は、割り当てられた3つのプレイヤーロケーションだけを有するセルに対する集約点よりも高いポイントウエートを有することがある。ポイントウエートは、集約点に関連付けられたプレイヤーの数(すなわち、先の例の集約点は、それぞれ、20のポイントウエートと、3のポイントウエートとを有するだろう)、またはプレイヤーの数の他の関数であり得る。さらに、チャットルームモジュール330は、集約点を、セルに対応するジオグラフィックリージョンにおけるロケーション(例えば、セルの中央、または、集約点によって表されるプレイヤーロケーションの中間)も割り当てる。ゆえに、集約点は、集約点に関連付けられたセル内に位置される1人または複数のユーザーを表す。
【0035】
チャットルームモジュール330は、集約点において反復的なクラスタリングを用いて、セントロイドと、対応する集約点との間の距離に基づいてセントロイドを決定する。便利にするために、本明細書は、k-meansクラスタリング が用語「イテレーティブk-meansクラスタリング」を用いることを説明する。しかしながら、他のクラスタリングアルゴリズムが用いられることがある。
【0036】
イテレーティブk-meansクラスタリングを始めるために、チャットルームモジュール330は、セントロイドになる、ジオグラフィックリージョンにおける複数のロケーションをランダムに選択する。いくつかの態様では、チャットルームモジュール330は、ランダムグリッドジェネレーター(random grid generator)、またはk-means++イニシャライゼーション(k-means++ initialization)を用いて、ロケーションの数を選択する。プロバイダは、ゲームサーバー110を介して、チャットルームモジュール330が用いるセントロイドの数を指定することがある、またはチャットルームモジュール330は、ジオグラフィックリージョンに対する重み付けされた集約点の数に基づいて、用いるセントロイドの数を決定することがある。チャットルームモジュール330は、各集約点を、最も近いセントロイドに割り当てる。セントロイドに割り当てられた集約点は、セントロイド領域を定義する。例えば、セントロイドに割り当てられた集約点に対応するすべてのSセルから作り上げられる地理的な領域。チャットルームモジュール330は、各セントロイド領域に対して割り当てられた集約点の平均のロケーションを決定し、対応する平均のロケーションにあるようにセントロイドを更新する。チャットルームロケーションモジュール330は、1つまたは複数の完了基準が満たされるまで、更新されたセントロイドを用いて、今述べた処理を反復する。
【0037】
チャットルームモジュール330は、k-meansクラスタリングを用いて反復するために、複数の異なる完了基準を利用することが可能である。一態様では、チャットルームモジュール330は、1つの反復と次の反復との間において1つのセントロイド領域から別のセントロイド領域に移動する集約点がないとき、反復を終える。他の態様では、完了基準は、各集約点からそのセントロイドまでの平均距離がしきい値未満である、または指定された回数の反復が完了したとき、満たされる。
【0038】
チャットルームモジュール330は、反復される境界の調整を行って、k-meanクラスタリングを用いて決定されたセントロイド領域を修正する。イテレーティブk-meansクラスタリングの最後の反復から生成されたセントロイド領域を用いて、チャットルームモジュール330は、割り当てられた集約点のポイントウエートに基づいて、各セントロイド領域のクラスタ重み(cluster weight)を決定する。一態様では、セントロイド領域に対するクラスタ重みは、関連付けられたプレイヤーの累積数である。例えば、セントロイド領域は、3つの集約点が割り当てられ、それぞれ、関連付けられた10、17、および5つのプレイヤーロケーションを有する。それゆえ、クラスタ重みは32だろう。
【0039】
チャットルームモジュール330は、セントロイドの間で集約点を再割り当てして、セントロイドのクラスタ重みを、より近く平均させる。チャットルームモジュール330は、1つまたは複数の条件に基づいて、反復される境界の調整の各反復に対して集約点をどのように再割り当てするかを決定する。一態様において、チャットルームモジュール330は、セントロイドのペアがソースセントロイドおよびシンクセントロイドを含み、ソースセントロイドが最小サイズより大きいセントロイド領域を有するならば、集約点を再割り当てする。セントロイドは、クラスタ重み(セントロイドに関連付けられたプレイヤーロケーションの数を表す)がすべてのセントロイドの平均(例えば、中間)クラスタ重みより高いならば、ソースセントロイドであり、クラスタ重みがすべてのセントロイドの平均(例えば、中間)クラスタ重みより低いならば、シンクセントロイドである。他の態様では、セントロイドは、クラスタ重みが最大しきい値より上であるならば、ソースセントロイドであり、クラスタ重みが最小しきい値より下であるならば、シンクセントロイドである。今述べたしきい値は、プロバイダによって与えられる数が設定されることがある、またはプレイヤー人口についてのある百分率であり得る。今述べた条件は、チャットルームモジュール330が、高いクラスタ重みのセントロイドから低いクラスタ重みのセントロイドまでプレイヤーを移動するのを防ぐことに役立つことによって、決定されたチャットルームロケーションにおけるプレイヤーロケーションの影響を平均させる。条件に基づいて、チャットルームモジュール330は、セントロイド間を移動させる集約点のセットを決定し、集約点を移動させることについての移動コストを算出し、最も低い移動コストを有する集約点を移動させる。
【0040】
反復される境界の調整の各反復に対して、チャットルームモジュール330は、1つのセントロイドがソースセントロイドであり、他のセントロイドがシンクセントロイドであり、セントロイド領域がジオグラフィックリージョンにおいて互いに直接的に隣り合った隣接セントロイドペア(neighboring centroid pair)を見つけ出す。各隣接セントロイドペアに対して、チャットルームモジュール330は、ソースセントロイドが最小サイズより上であるかどうかを決定する。ソースセントロイドのサイズは、ジオグラフィックリージョンにおける対応する領域の物理的なサイズ、クラスタ重み、または両方の組み合わせ(例えば、領域および重みは両方とも対応するしきい値より上でなければならない)であり得る。いくつかの態様において、チャットルームモジュール330は、セントロイドペアに対する最小領域サイズと最大領域サイズとの間のセントロイド領域を有するセントロイドのみを用いて、密集した都市部においてともに近すぎるチャットルームを作成することを避ける。今述べた条件を満たす隣接セントロイドペアに対して、チャットルームモジュール330は、隣接セントロイドペアのソースセントロイドからシンクセントロイドまで移動させる集約点のセットを識別し、ソースセントロイドからシンクセントロイドまで集約点のセットを移動させることについての移動コストを算出する。
【0041】
移動コストは、集約点がシンクセントロイドに再割り当てされるならば、各集約点とソースセントロイドと間の平均距離における増加の関数である。例えば、セントロイドペアについての2つのセントロイド領域の間の境界に接近した集約点は、ソースセントロイドのセントロイド領域の中心に接近した集約点よりも低い移動コストを有するだろう。いくつかの態様では、移動コストは、集約点のポイントウエートに基づく。チャットルームモジュール330は、移動コストがしきい値移動値より下であることが与えられる、最も低い移動コストを有する隣接セントロイドペアのセントロイド間で集約点を移動させ、反復される境界の調整の反復ごとに1つの移動をさせる。さらなる態様では、チャットルームモジュール330は、反復ごとに集約点の複数のセットを移動させる。
【0042】
いくつかの態様において、チャットルームモジュール330は、集約点のセットを移動させることが移動コストしきい値を満たすかどうかを検査する。チャットルームモジュール330は、集約点のセットの移動コストを決定し、移動コストが移動コストしきい値より上である(すなわち、平均距離が増えすぎた)ならば、チャットルームモジュール330は、集約点のセットの再割り当てをしない。そうでなければ、チャットルームモジュール330は、集約点のセットを再割り当てする。移動コストしきい値は、プロバイダによって決定されることがある、またはジオグラフィックリージョン内のプレイヤーの人口に基づいて、他のやり方の全体にわたって、決定されることがある。
【0043】
チャットルームモジュール330は、イテレーティブk-meansクラスタリングにより行われたように、新たに割り当てられた集約点を有するセントロイドの平均から、新たなセントロイドを決定する。チャットルームモジュール330は、基準のセットが満たされるまで、セントロイドのクラスタ重みを決定することと、集約点を再割り当てすることと、新しいセントロイドを決定することとを通じて反復する。今述べた基準は、ソースセントロイドとシンクセントロイドとの両方を有する隣接セントロイドペアがないこと、最小領域サイズより上のソースセントロイドがないこと、最小クラスタ重みより上のソースセントロイドがないこと、移動コストがしきい値移動値より下の有効なセントロイドペアがないことを含むことがある。さらなる態様では、チャットルームモジュール330は、プロバイダによって入力されることがある固定数の反復の後、反復される境界の調整を通じて反復することを終える。さらに、チャットルームモジュール330は、隣接するペアのすべてのセントロイド領域が最小しきい値と最大しきい値との間の数のプレイヤーロケーションを含めば、反復することを終えることもある。
【0044】
チャットルームモジュール330は、セントロイドに対応する地理的な領域に対して、仮想世界においてチャットルームを作成する。チャットルームは、セントロイドに対応する地理的な領域内のポイントオブインタレストに設けられることがある。種々の態様において、チャットルームモジュール330は、各セントロイドに対応する1つのチャットルームを配置する。与えられたセントロイドに対して、チャットルームモジュール330は、ゲームデータベース340からセントロイド領域内のポイントオブインタレストのロケーションを検索する。一態様では、チャットルームモジュール330は、セントロイドに対するチャットルームを、セントロイドに最も接近したセントロイド領域のポイントオブインタレストにおいて配置する。代替えとして、チャットルームモジュール330は、最も多いプレイヤーインタラクションを有する、またはセントロイドに対応するプレイヤーロケーションまでの最も短い平均(例えば、中間)距離を有する、セントロイド領域のポイントオブインタレストにおいてチャットルームを配置することがある。さらに別の態様では、チャットルームモジュール330は、必ずしもチャットルームがポイントオブインタレストにまたはポイントオブインタレストの近くに設けられないように、チャットルームをセントロイドに配置する。チャットルームモジュール330は、チャットルームロケーションにおけるプレイヤー間の会話を容易にし、チャットルームロケーションと会話とを説明する情報をゲームデータベース340に格納する。
【0045】
ゲームデータベース340は、ネットワーク130を介してクライアントデバイス120に供されるまたは提供されるロケーションベースゲームに用いられるゲームデータを格納するように構成された1つまたは複数のマシン読取り可能媒体を含む。ゲームデータベース340に格納されるゲームデータは、(1)ロケーションベースゲームにおける仮想世界に関連付けられたデータ(例えば、ディスプレイデバイスにおいて仮想世界をレンダリングするのに用いられるイメージデータ、仮想世界におけるロケーションの地理座標など)、(2)ロケーションベースゲームのプレイヤーに関連付けられたデータ(例えば、プレイヤー情報、プレイヤー体験レベル、プレイヤー通貨、プレイヤーインベントリ、仮想世界/現実世界における現在のプレイヤーロケーション、プレイヤーエネルギーレベル、プレイヤープリファレンス、チーム情報など)、(3)ゲームオブジェクティブに関連付けられたデータ(例えば、現在のゲームオブジェクティブ、ゲームオブジェクティブの状態、過去のゲームオブジェクティブ、将来のゲームオブジェクティブ、望ましいゲームオブジェクティブに関連付けられたデータなど)、(4)仮想世界における仮想要素関連のデータ(例えば、仮想要素の位置、仮想要素の種類、仮想要素に関連付けられたゲームオブジェクティブ、仮想要素に対応する現実世界の位置情報、仮想要素の挙動、仮想要素の関連性など)、(5)仮想世界の要素にリンクした現実世界の物体、ランドマーク、位置に関連付けられたデータ(例えば、現実世界の物体/ランドマークのロケーション、現実世界の物体/ランドマークの説明、現実世界の物体にリンクした仮想要素の関連性など)、(6)ゲーム状態(プレイヤーの現在の数、ゲームオブジェクティブの現在の状態、プレイヤーリーダーボードなど)、(7)プレイヤーの活動/入力に関連付けられたデータ(例えば、現在のプレイヤーロケーション、過去のプレイヤーロケーション、プレイヤー移動、プレイヤー入力、プレイヤー問い合わせ、プレイヤー通信など)、(8)仮想体験に関連付けられたデータ(例えば。仮想体験のロケーション、仮想体験に関するプレイヤー活動、たとえばレイドなどの仮想イベント)、および(9)ロケーションベースゲームの実装の間、用いられる、関係する、または取得される他のデータを含むことが可能である。ゲームデータベース340に格納されたゲームデータは、システム管理者によってオフラインかまたはリアルタイムにかのいずれか、またはたとえばネットワーク130を介して1つまたは複数のクライアントデバイスl20からなどのプレイヤーから受信したデータによって、入力されることが可能である。
【0046】
さらに、ゲームデータベース340は、実世界の状況データを格納することもある。実世界の状況データは、現実世界におけるプレイヤーの集約ロケーションと、文化的価値または商業的価値のあるロケーションに関連付けられたプレイヤーの活動と、道路、高速道路、および水路のロケーションを与えるマップデータと、個々のプレイヤーの現在および過去のロケーションと、ハザードデータと、ウエザーデータと、イベントカレンダーデータと、プレイヤーに対する活動データ(例えば、行った距離、運動した時間単位の分など)と、他の適切なデータとを含むことがある。実世界の状況データは、どんな適切なソースからでも収集されるまたは取得されることが可能である。例えば、ゲームデータベース340は、たとえばマッピングサービスによってアクセスされる1つまたは複数のマップデータベースなどのマップ情報を格納するマップデータベースに結合される、含まれる、またはマップデータベースの一部であることが可能である。別の例として、ゲームサーバー110は、人口データ、ハザードデータ、ウエザーデータ、イベントカレンダーデータなどを周期に提供する1つまたは複数の外部データソースまたはサービスに結合されることが可能である。
【0047】
図3に示されるモジュール以外の他のモジュールは、ゲームサーバー110により用いられることが可能である。どんな数のモジュールでも、本書に説明されるサーバー側の機能性を実行するのに、プログラミングされるないしは他の方法により構成されることが可能である。さらに、サーバー側の種々のコンポーネントは、再配置されることが可能である。他の構成は、本開示に照らして明らかだろうし、本開示は、どんな特定の構成にも限定されることを意図しない。
【0048】
チャットルームロケーションクラスタリング例
図4A~4Bは、一態様に係るセントロイドをさらに決定するのに用いられるジオグラフィックリージョン内の集約点にグループ分けされたプレイヤーロケーションの例である。図4Aにおいて、ジオグラフィックリージョンのサブセット400は、セル410じゅうくまなく分散するプレイヤーロケーション420を有する4つのセル410を含む。各セル410は、その中に位置されるプレイヤーロケーション420を有し、各セル410は、集約点430に関連付けられるので。集約点430は、セル410におけるプレイヤーロケーション420の数によって重み付けされる。今述べた例では、ポイントウエート440は、プレイヤーロケーション420の数、たとえば左上のセル410に対して6、または右下のセル410に対して5である。図4Bは、セントロイド470のセントロイド領域460とジオグラフィックリージョン450のサブセット400とを含む、図4Bのジオグラフィックリージョン450全体を示す。セントロイド領域460は、ジオグラフィックリージョン450の一部のみを覆う。セントロイド470は、セントロイド領域460内の各セル410に対するポイントウエート440に基づいて、セントロイド領域460内に位置される。特に、セントロイド470は、セントロイド領域460内に、大きいポイントウエートを有するロケーションに位置される。
【0049】
図5A~5Cは、一態様に係るイテレーティブk-meansクラスタリングおよび反復される境界の調整を行う処理の初めから終わりまでのセントロイド500を示す図である。図5Aは、ジオグラフィックリージョン510に対してチャットルームモジュール330によってランダムに生成されたセントロイド500Aの初期のセットを示す。図5Bは、チャットルームモジュール330が、イテレーティブk-meansクラスタリングを行った後のセントロイド500Bを示す。ここでは、セントロイド500Bは、ジオグラフィックリージョン510の右上の1つの領域に、より密集している。図5Cは、チャットルームモジュール330が、反復される境界の調整を行った後のセントロイドを示す。ここで、セントロイド500Cは、図5Bのセントロイド500Bよりも、ジオグラフィックリージョン510の右上に群がっている。今述べたことは、ジオグラフィックリージョン510のその部分にプレイヤーロケーション420が高密度に存在する可能性が高いことを示す。
【0050】
図6は、一態様に係るジオグラフィックリージョン内のポイントオブインタレスト600に関連付けられたチャットルームロケーション610の例である。チャットルームロケーションは、チャットルームロケーション610Aのようにポイントオブインタレスト600に設けられることがある、またはチャットルームロケーション610Bのようにポイントオブインタレスト600が密集しているジオグラフィックリージョン510の部分内に設けられることがある。チャットルームモジュール330は、関連する集約点またはセルにおけるポイントオブインタレストの数によってセントロイドを重み付けすること通じてか、高いユーザーアクティビティを有するポイントオブインタレストにおいて、ある数のチャットルームを設けることを通じてかのいずれかによって、ポイントオブインタレスト600のロケーションに基づいてチャットルームロケーション610を決定することがある。
【0051】
チャットルームロケーションを決定し選択するための例示的なフロー図
図7は、一態様に係るチャットルームからユーザーへのメッセージを提供するための方法を描くフローチャートである。ゲームサーバー110は、チャットルームロケーションを検索し710、合流する仮想現実ゲームのユーザーに対してチャットルームを選択する720。いくつかの態様では、ゲームサーバー110は、ユーザーのロケーションを受け取り、ユーザーに最も接近した場所に設けられるチャットルームを選択する。他の態様では、ゲームサーバー110は、ユーザーの現在のロケーション、望ましい道筋、仮想要素、ユーザーが好きである他のユーザーに基づいてまたは他のどんな基準にでも基づいて、ユーザーに複数のチャットルームオプションを提供する。ゲームサーバー110は、ユーザーのクライアントデバイス120のユーザーインターフェースモジュール230を通じて、チャットルームからのメッセージをユーザーに提供する730。
【0052】
図8は、一態様に係るチャットルームロケーションを決定するための方法710を描くフローチャートである。ゲームサーバー110は、チャットルームモジュール330を介してチャットルームロケーションを決定することがあり、いくつかの態様では、チャットルームモジュール330は、機械学習モデルを利用して、チャットルームロケーションを決定する。ゲームサーバー110は、プレイヤーロケーション情報を説明するゲームデータベース340からプレイヤーデータを検索する810。いくつかの態様では、同じ方法710が、たとえばポイントオブインタレストロケーションなど、他のゲームデータを用いて行われる。ゲームサーバーは、チャットルームロケーションに対するジオグラフィックリージョンを、プレイヤーロケーションによって重み付けされたセルに細分することによって、プレイヤーロケーションを集約点にクラスタリングする820。ゲームサーバー110は、割り当てられた集約点を有するセントロイドのセットを生成し、たとえば、集約点のセントロイドまでの距離およびセントロイドのクラスタ重みなどの制約に基づいて、セントロイドを反復して調整する830。いくつかの態様では、今述べたことは、反復される境界の調整が後に続くイテレーティブk-meansクラスタリングを通じて行われる。ゲームサーバー110は、たとえば、反復の間、セントロイド間を移動する集約点がないことなど、基準のセットが満たされるまで、セントロイドを反復して調整する。追加の基準は、ソースセントロイドとシンクセントロイドとの両方を有する隣接セントロイドペアがないこと、最小領域サイズより上のソースセントロイドがないこと、最小クラスタ重みより上のソースセントロイドがないこと、移動コストがしきい値移動値より下の有効なセントロイドペアがないことを含むことがある。さらなる態様では、ゲームサーバー110は、割り当てられた集約点までのセントロイドからの平均距離をしきい値量によって増加させることなく、各セントロイドのクラスタ重みがすべてのセントロイドに対する平均にできるだけ近くなるように、各セントロイドのクラスタ重みを調整する。
【0053】
最後に、ゲームサーバー110は、調整の後のセントロイドに基づいて、チャットルームロケーションを決定する840。さらに、いくつかの態様では、ゲームサーバー110は、仮想現実ゲームにおけるポイントオブインタレストのロケーションを検索し、ポイントオブインタレストのロケーションにチャットルームロケーションも配置する。さらに、別の態様に係る、ゲームサーバーは、ユーザーインタラクション数が最も多いポイントオブインタレストロケーションにのみチャットルームロケーションを配置することがある。
【0054】
図9は、一態様に係るプレイヤーロケーションをマップにおける集約点にクラスタリングするための方法820を描くフローチャートである。本態様では、ゲームサーバー110は、セルに、各プレイヤーロケーションを割り当てる910。セルは、ジオグラフィックリージョンを割りふる幾何学的なかたちである(例えばSセル)。ゲームサーバー110は、ポイントウエートと、ジオグラフィックリージョンにおけるロケーションとに関連付けられる、集約点として知られている、特異点を各セルに対して作成する920。ゲームサーバー110は、クラスタリングアルゴリズム(例えば、k-meansクラスタリング)を用いて、セントロイドに集約点をクラスタリングする930。
【0055】
一態様に係る図1のネットワークコンピューティング環境における使用に適した例示的なコンピューターを例示するブロック図である。具体的には、図10は、コンピューターシステム1000の例示的なかたちにおけるマシンの図式的な表現を示す。コンピューターシステム1000は、ゲームサーバー110またはクライアントデバイス120のコンポーネント(またはモジュール)に関連付けられ、説明されるものを含む、本明細書に説明されるメソドロジー(またはプロセス)のいずれか1つまたは複数をマシンに行わせるための命令1024(例えば、プログラムコードまたはソフトウェア)を実行可能するのに用いられることが可能である。
【0056】
マシンは、サーバーコンピューター、クライアントコンピューター、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、スマートフォン、ネットワークルータ、スイッチまたはブリッジ、携帯電話タワー、またはそのマシンによってとられる作動を指定する命令1024を(連続的にまたは別のやり方により)実行する性能があるどんなマシンでもあり得る。さらに、単一のマシンのみが示されているが、用語「マシン」は、開示された方法のいずれかを行う命令1024を個別にまたは共同で実行するマシンのどんな集まりでも含むとも受け取られるべきである。
【0057】
例示的なコンピューターシステム1000は、1つまたは複数の処理ユニット(一般に、1つまたは複数のプロセッサー1002)を含む。プロセッサー1002は、例えば、中央処理装置(CPU)、GPU(graphics processing unit)、デジタル信号プロセッサー(DSP)、コントローラー、ステートマシン、1つまたは複数の特定用途向け集積回路(ASIC)、1つまたは複数のRFIC(radio-frequency integrated circuit)、またはこれらのいずれかの組み合わせである。プロセッサー1002へのどんな参照でも、単一のプロセッサーまたは複数のプロセッサーを引用することがある。さらに、コンピューターシステム1000は、メインメモリー1004も含む。コンピューターシステムは、ストレージユニット1016を含むことがある。プロセッサー1002、メモリー1004、およびストレージユニット1016は、バス1008を介して通信する。
【0058】
さらに、コンピューターシステム1000は、スタティックメモリー1006、ディスプレイドライバー1010(例えば、プラズマディスプレイパネル(PDP)、液晶ディスプレイ(LCD)、またはプロジェクタを駆動するために)を含むことが可能である。さらに、コンピューターシステム1000は、英数字入力デバイス1012(例えば、キーボード)、カーソル制御デバイス1014(例えば、マウス、トラックボール、ジョイスティック、モーションセンサー、または他のポインティング機器)、信号生成デバイス1018(例えば、スピーカー)、およびネットワークインターフェースデバイス1020も含むことがあり、さらにこれらはバス1008を介して通信するようにも構成される。
【0059】
ストレージユニット1016は、本明細書に説明される方法または機能のいずれかを行うための命令1024(例えば、ソフトウェア)を格納することがあるマシン読取り可能媒体1022を含む。さらに、命令1024は、コンピューターシステム1000による実行中に、完全にまたは部分的に、メインメモリー1004内にまたはプロセッサー1002内に(例えば、プロセッサーのキャッシュメモリ内に)常駐することもある。さらに、メインメモリー1004およびプロセッサー1002は、マシン読取り可能媒体も構成する。命令1024は、ネットワークインターフェースデバイス1020を介して、ネットワーク130によって送信されるまたは受信されることがある。
【0060】
マシン読取り可能媒体1022は、例示的な態様では単一の媒体であるように示されるが、用語「マシン読取り可能媒体」は、命令1024を格納することができる単一の媒体または複数の媒体(例えば、集中データベースもしくは分散データベース、または関連するキャッシュおよびサーバー)を含むことを受け取られるべきだろう。さらに、用語「マシン読取り可能媒体」は、マシンによる実行のための命令1024を格納する性能があり、マシンに、本明細書に開示された方法または機能のいずれか1つまたは複数を行わせるどんな媒体でも含むことも受け取られるべきである。用語「マシン読取り可能媒体」は、限定されないが、ソリッドステートメモリー、光学媒体、磁気媒体のかたちにおいてデータリポジトリを含む。
【0061】
本主題は、特定の例示的な態様および方法に関して詳細に説明されているが、当業者は、前述の理解を達するとすぐに、上記の態様に対する変更、変形、および均等を容易に作り出すことがあることを理解されるであろう。したがって、本開示の範囲は、限定としてのものよりもむしろ例としてのものであり、主題の開示は、当業者に容易に明らかだろう本主題に対する上記の修正、変形または追加の包含を妨げない。
【0062】
補足的な考慮すべき事柄
上記の説明のいくつかの部分は、アルゴリズム処理または操作に関して態様を説明する。通例、今述べたアルゴリズム説明および表現は、効果的に他の当業者に研究内容を伝達するコンピューティング技術の当業者によって用いられる。今述べた動作は、機能的に、計算的に、または論理的に説明される一方、プロセッサーまたは同等の電気回路、マイクロコードなどによる実行のための命令を含むコンピュータープログラムによって実装されることが理解される。その上さらに、機能動作の今述べた配置をモジュールと呼ぶことは、一般性を損なわずにときどき便利であることが示されている。
【0063】
サーバー、データベース、ソフトウェアアプリケーション、および他のコンピュータベースシステムへの言及は、上記のシステムに対してとられる作動および送信情報への言及も同様に、種々の概念を説明するのに提供される。当業者であれば、コンピュータベースシステムに固有の柔軟性が、2つのコンポーネント間および3つ以上のコンポーネント間のタスクおよび機能性のバラエティに富む可能な構成、組み合わせ、および分割を考慮することを認めるだろう。例として、サーバー処理は、単一のサーバー、または協働してはたらく複数のサーバーによって実装されることがあり、データベースおよびアプリケーションは、単一のシステムに実装される、または複数のシステムにわたって分散されていることがあり、分散コンポーネントは、シーケンシャルにまたはパラレルに動作することがある。
【0064】
システムおよび方法が、たとえばロケーション情報など、プレイヤーについての個人情報にアクセスし分析する状況では、プレイヤーは、プログラムまたは特徴が情報を収集するかどうかを制御する機会を提供されることがある。プレイヤーが、どの情報が収集され、どのように情報が用いられるかについての意味のある通知を提供されるまで、収集されるまたは用いられる上記の情報はない。情報は、プレイヤーが、プレイヤーによっていつでも取り消せるまたは修正されることが可能である同意を提供しない限り、収集されないまたは用いられない。ゆえに、プレイヤーは、プレイヤーについての情報がアプリケーションまたはシステムによってどのように収集され用いられるかに対する制御を有することが可能である。さらに、ある情報またはデータは、匿名化されるように、格納されるまたは用いられる前に1つまたは複数のやり方により扱われることが可能である。例えば、プレイヤーの身元は、プレイヤーに対して決定されることが可能である個人的に識別可能な情報がないように、扱われることがある。
【0065】
本明細書に用いられている、「一態様」または「ある態様」へのどんな言及でも、態様に関連して説明される特定の要素、特徴、構造、または特性が、少なくとも1つの態様に含まれることを意味する。本明細書の種々の場所にて語句「一態様では」の出現は、必ずしも同じ態様をすべて言及することではない。同様に、要素またはコンピューティングの前の「a」または「an」の使用は、単に便利にするためになされる。今述べた説明は、そうは意味されないことが明白でない限り、1つまたは複数の要素またはコンポーネントが存在していることを意味することが理解されるべきだろう。
【0066】
値が「おおよその」または「実質的に」(または、それらの派生語)として記述される場合、上記の値は、別の意味が文脈から明らかでない限り、正確な±10%として構築されるべきだろう。例えば、「およそ10」は、「9から11の範囲にある」ことを意味することを理解されるべきだろう。
【0067】
本明細書に用いられている、用語「備える」、「備えている」、「含む」、「含んでいる」、「有する」、「有している」またはどんな変形でも、非排他的な包含に及ぶよう意図される。例えば、要素のリスト含む処理、方法、物品、または装置は、必ずしもそれらの要素のみに限定されず、明白にリストアップされない他の要素、または上記の処理、方法、物品、または装置に固有の他の要素を含むことがある。さらに、明白に反対のことが述べられない限り、「または」は、包括的な「または」に言及し、排他的な「または」に言及しない。例えば、条件AまたはBは、次の、Aが真である(または存在する)かつBが偽である(または存在しない)、Aが偽である(または存在しない)かつBが真である(または存在する)、ならびに、AおよびBの両方が真である(または存在する)、のうちのいずれか1つによって満たされる。
【0068】
本開示を読むとすぐに、依然として、当業者は、トランザクションを処理するアドホックニューラルネットワークを用いて、システムおよび処理に対して追加の代替の構造的なおよび機能的な設計を理解するだろう。ゆえに、特定の態様および適用が例示され説明された一方、説明された主題は、開示された厳密な構造およびコンポーネントに限定されないことが理解されることである。保護の範囲は、次の特許請求の範囲によってのみ制限されるべきだろう。
図1
図2
図3
図4A
図4B
図5A
図5B
図5C
図6
図7
図8
図9
図10
【手続補正書】
【提出日】2022-07-01
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピューターに実装される方法であって、
サーバーによって、チャットルームに対してロケーションを検索することであって、前記サーバーは、
モバイルアプリケーションのユーザーに対してユーザーデータを検索することであって、前記ユーザーデータは、ユーザーロケーションを説明する、こと、
クラスタリングアルゴリズムを適用して、ユーザーロケーションのクラスタを作ることであって、各クラスタは、セントロイドに割り当てられる、こと、
前記セントロイドに対応する地理的な領域を識別すること、
前記割り当てられたユーザーロケーションに基づいて前記地理的な領域を調整すること、
前記調整された地理的な領域に基づいて前記セントロイドを更新すること、および
前記地理的な領域内のポイントオブインタレストに属する関心のロケーションを検索することと、
各地理的な領域に対して、
前記地理的な領域内の前記関心のロケーションのサブセットを識別することと、
前記地理的な領域内の関心のロケーションの前記サブセットのうち、最も多くのユーザーインタラクションを有する関心のロケーションを選択することと、
前記選択された関心のロケーションにおいて前記チャットルームを設置することと
によって、前記セントロイドに基づいて前記地理的な領域内のチャットルームロケーションを決定すること
によって前記チャットルームに対して前記ロケーションを自動的に決定した、ことと、
前記サーバーによって、前記モバイルアプリケーションに対して、前記サーバーに接続されたクライアントデバイスのユーザーに対して前記チャットルームのうちの1つを選択することと
前記サーバーによって、前記クライアントデバイスに、前記モバイルアプリケーション内における前記ユーザーへの表示のために前記選択されたチャットルームに関連付けられたメッセージを自動的に提供することと
を備えることを特徴とする方法。
【請求項2】
前記ユーザーデータは、前記モバイルアプリケーション内のポイントオブインタレストとのユーザーのインタラクションをさらに説明し、前記ユーザーロケーションをクラスタリングすることは、
マップにおけるセルに各ユーザーロケーションを割り当てることと、
セルロケーションと、前記セルに割り当てられたユーザーロケーションの数を示す重みとを有する各セルに対して単一の点を作成することと、
前記セルのロケーションおよび重みに基づいて、前記セルの点を前記マップにおける点にクラスタリングすることと
を含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記セルは、マップを割りふる粒状ポリゴンであり、前記マップは、前記物理的な世界の2次元表現であることを特徴とする請求項2に記載の方法。
【請求項4】
前記ユーザーに対して前記チャットルームのうちの1つを選択することは、
前記ユーザーの現在のロケーションを受信することと、
前記チャットルームロケーションが前記ユーザーの現在のロケーションに最も接近したチャットルームを選択することと
を含むことを特徴とする請求項1に記載の方法。
【請求項5】
前記ユーザーに対して前記チャットルームのうちの1つを選択することは、
前記ユーザーの現在のロケーションを受信することと、
前記対応するチャットルームロケーションが前記ユーザーの現在のロケーションに最も接近した、予め決められた数のチャットルームを識別することと、
前記ユーザーのクライアントデバイスから、前記予め決められた数のチャットルームのうちの1つの選択を受信することと
を含むことを特徴とする請求項1に記載の方法。
【請求項6】
前記セントロイドは、各ユーザーロケーションから、前記最も近いセントロイドまでの平均距離が最小化されるように反復して調整されることを特徴とする請求項1に記載の方法。
【請求項7】
前記モバイルアプリケーションは、前記現実世界とパラレルである仮想世界を含むパラレルリアリティゲームであり、前記パラレルリアリティゲームのプレイヤーは、ロケーションアウェアのクライアントデバイスを有して前記現実世界において移動することによって前記仮想世界を進むことを特徴とする請求項1に記載の方法。
【請求項8】
プロセッサーによって実行可能な命令を含む非一時的なコンピューター読取り可能記録媒体であって、前記命令は、
サーバーによって、チャットルームに対してロケーションを検索するための命令であって、前記サーバーは、
モバイルアプリケーションのユーザーに対してユーザーデータを検索することであって、前記ユーザーデータは、ユーザーロケーションを説明する、こと、
前記ユーザーロケーションをクラスタリングして、ロケーションのクラスタを生成すること、
制約条件に基づいてロケーションのクラスタのセントロイドを調整すること、
前記セントロイドに対応するジオグラフィックリージョンを識別すること、および
前記地理的な領域内のポイントオブインタレストに属する関心のロケーションを検索することと、
各地理的な領域に対して、
前記地理的な領域内の前記関心のロケーションのサブセットを識別することと、
前記地理的な領域内の関心のロケーションの前記サブセットのうち、最も多くのユーザーインタラクションを有する関心のロケーションを選択することと、
前記選択された関心のロケーションにおいて前記チャットルームを設置することと
によって、前記セントロイドに基づく前記対応する地理的な領域内の前記ユーザーロケーションに基づいて、前記ジオグラフィックリージョン内のチャットルームロケーションを決定すること
によって前記チャットルームに対して前記ロケーションを自動的に決定した、命令と、
前記サーバーによって、前記モバイルアプリケーションに対して、前記サーバーに接続されたクライアントデバイスのユーザーに対して前記チャットルームのうちの1つを選択するための命令と、
前記サーバーによって、前記クライアントデバイスに、前記モバイルアプリケーション内における前記ユーザーへの表示のために前記選択されたチャットルームに関連付けられたメッセージを自動的に提供するための命令と
を含むことを特徴とする非一時的なコンピューター読取り可能記録媒体。
【請求項9】
前記ユーザーデータは、前記モバイルアプリケーション内のポイントオブインタレストとのユーザーのインタラクションをさらに説明し、前記ユーザーロケーションをクラスタリングするための前記命令は、
マップにおけるセルに各ユーザーロケーションを割り当てるための命令と、
セルロケーションと、前記セルに割り当てられたユーザーロケーションの数を示す重みとを有する各セルに対して単一の点を作成するための命令と、
前記セルのロケーションおよび重みに基づいて、前記セルの点を前記マップにおける点にクラスタリングするための命令と
を含むことを特徴とする請求項8に記載の非一時的なコンピューター読取り可能記録媒体。
【請求項10】
前記セルは、マップを割りふる粒状ポリゴンであり、前記マップは、前記物理的な世界の2次元表現であることを特徴とする請求項9に記載の非一時的なコンピューター読取り可能記録媒体。
【請求項11】
前記ユーザーに対して前記チャットルームのうちの1つを選択するための前記命令は、
前記ユーザーの現在のロケーションを受信することと、
前記チャットルームロケーションが前記ユーザーの現在のロケーションに最も接近したチャットルームを選択することと
を含むことを特徴とする請求項8に記載の非一時的なコンピューター読取り可能記録媒体。
【請求項12】
前記ユーザーに対して前記チャットルームのうちの1つを選択するための前記命令は、
前記ユーザーの現在のロケーションを受信するための命令と、
前記対応するチャットルームロケーションが前記ユーザーの現在のロケーションに最も接近した、予め決められた数のチャットルームを識別するための命令と、
前記ユーザーのクライアントデバイスから、前記予め決められた数のチャットルームのうちの1つの選択を受信するための命令と
を含むことを特徴とする請求項8に記載の非一時的なコンピューター読取り可能記録媒体。
【請求項13】
前記セントロイドは、各ユーザーロケーションから、前記最も近いセントロイドまでの平均距離が最小化されるように反復して調整されることを特徴とする請求項8に記載の非一時的なコンピューター読取り可能記録媒体。
【請求項14】
サーバーによって、チャットルームに対してロケーションを検索することであって、前記サーバーは、
モバイルアプリケーションのユーザーに対してユーザーデータを検索することであって、前記ユーザーデータは、ユーザーロケーションを説明する、こと、
クラスタリングアルゴリズムを適用して、ユーザーロケーションのクラスタを作ることであって、各クラスタは、セントロイドに割り当てられる、こと、
前記セントロイドに対応する地理的な領域を識別すること、
前記割り当てられたユーザーロケーションに基づいて前記地理的な領域を調整すること、
前記調整された地理的な領域に基づいて前記セントロイドを更新すること、および
前記地理的な領域内のポイントオブインタレストに属する関心のロケーションを検索することと、
前記対応するポイントオブインタレストに最も近い物体ロケーションにおいて、地理的な領域に対してチャットルームを配置することと
によって、前記セントロイドに基づいて前記地理的な領域内のチャットルームロケーションを決定すること
によって前記チャットルームに対して前記ロケーションを自動的に決定した、ことと、
前記サーバーによって、前記モバイルアプリケーションに対して、前記サーバーに接続されたクライアントデバイスのユーザーに対して前記チャットルームのうちの1つを選択することと、
前記サーバーによって、前記クライアントデバイスに、前記モバイルアプリケーション内における前記ユーザーへの表示のために前記選択されたチャットルームに関連付けられたメッセージを提供することと
を備えることを特徴とする方法。
【請求項15】
前記ユーザーデータは、前記モバイルアプリケーション内のポイントオブインタレストとのユーザーのインタラクションをさらに説明し、前記ユーザーロケーションをクラスタリングすることは、
マップにおけるセルに各ユーザーロケーションを割り当てることと、
セルロケーションと、前記セルに割り当てられたユーザーロケーションの数を示す重みとを有する各セルに対して単一の点を作成することと、
前記セルのロケーションおよび重みに基づいて、前記セルの点を前記マップにおける点にクラスタリングすることと
を含むことを特徴とする請求項14に記載の方法。
【請求項16】
前記セルは、マップを割りふる粒状ポリゴンであり、前記マップは、前記物理的な世界の2次元表現であることを特徴とする請求項15に記載の方法。
【請求項17】
前記ユーザーに対して前記チャットルームのうちの1つを選択することは、
前記ユーザーの現在のロケーションを受信することと、
前記チャットルームロケーションが前記ユーザーの現在のロケーションに最も接近したチャットルームを選択することと
を含むことを特徴とする請求項14に記載の方法。
【請求項18】
前記ユーザーに対して前記チャットルームのうちの1つを選択することは、
前記ユーザーの現在のロケーションを受信することと、
前記対応するチャットルームロケーションが前記ユーザーの現在のロケーションに最も接近した、予め決められた数のチャットルームを識別することと、
前記ユーザーのクライアントデバイスから、前記予め決められた数のチャットルームのうちの1つの選択を受信することと
を含むことを特徴とする請求項14に記載の方法。
【請求項19】
前記セントロイドは、各ユーザーロケーションから、前記最も近いセントロイドまでの平均距離が最小化されるように反復して調整されることを特徴とする請求項14に記載の方法。
【請求項20】
前記モバイルアプリケーションは、前記現実世界とパラレルである仮想世界を含むパラレルリアリティゲームであり、前記パラレルリアリティゲームのプレイヤーは、ロケーションアウェアのクライアントデバイスを有して前記現実世界において移動することによって前記仮想世界を進むことを特徴とする請求項14に記載の方法。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0003
【補正方法】変更
【補正の内容】
【0003】
ロケーションベースのパラレルリアリティゲームにおいて、プレイヤーは、たとえば、スマートフォンなど、ロケーションアウェア(location-aware)のクライアントデバイスにより現実世界を通じて仮想世界を進む。プレイヤーは、仮想体験において参加する仮想世界を進む、または仮想要素とインタラクションするときに、仮想世界内に戦略的に設けられるチャットルームを介して互いにチャットすることがある。今述べたチャットルームは、プレイヤーロケーション(player location)の観測される密度の大きい地理的なロケーションの近くに設けられるように、仮想世界において地域的に配置されることがある。さらに、チャットルームは、たとえば、仮想要素または仮想体験など、パラレルリアリティゲーム内のポイントオブインタレスト(points of interest)の近くに設けられることもある。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0030
【補正方法】変更
【補正の内容】
【0030】
ロケーターモジュール320は、ユニバーサルゲームモジュール310の一部である、またはユニバーサルゲームモジュール310から分離されることが可能である。ロケーターモジュール320は、現実世界の活動に関連付けられたデータにアクセスし、データを分析し、現実世界の活動に関連付けられたデータに基づいて仮想世界における仮想体験を決定するように構成される。例として、ロケーターモジュール320は、ゲームデータベース340に格納されたゲームデータを修正して、現実世界の活動に関連付けられたデータに基づいて仮想世界における仮想体験を設けることが可能である。一例として、スポンサーの仮想要素は、スポンサーの店舗、レストラン、アウトレットなどの実世界のロケーションに対応する仮想ロケーションにおいてあり得る。プレイヤーが、購入する、実世界のロケーションにおいて利用可能になるコードを入力する、または指定された基準を満たす実世界ロケーションにおける活動をとるならば、特別の仮想体験は、並列現実(parallel-reality)ゲームにおいてプレイヤーに利用可能になることがある。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0031
【補正方法】変更
【補正の内容】
【0031】
チャットルームモジュール330は、プレイヤーロケーションに基づいて、仮想世界におけるチャットルームロケーションを決定する。チャットルームロケーションは、現実世界におけるポイントオブインタレストに対応することがある。チャットルームモジュール330は、ユニバーサルゲームモジュール310のクライアントデバイス120から寄せ集められたプレイヤーロケーションを分析し、クラスタリングメソッドと、境界の調整のメソッドとを用いて、各々、地理的な領域に対応するプレイヤーのグループを識別する。チャットルームモジュール330は、各地理的な領域におけるポイントオブインタレストを、その領域におけるプレイヤーについてのデータに基づいて(例えば、プレイヤーロケーションのセントロイドをポイントオブインタレストのロケーションと比較することによって、またはポイントオブインタレストに位置されるプレイヤーと仮想要素との間のインタラクション頻度または量を分析することによってなど)、チャットルームロケーションとして識別することがある。チャットルームモジュール330は、チャットルームロケーションを周期に(例えば、毎日、毎週、毎月など)、またはゲームサーバー110を介してプロバイダによってトリガーされるとき、更新することがある。チャットルームモジュール330は、チャットルームロケーションをユニバーサルゲームモジュール310に提供し、全体的なゲーム状態においてチャットルームを含み、チャットルームのユーザー間のメッセージを提供する。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0033
【補正方法】変更
【補正の内容】
【0033】
一般に、チャットルームロケーションを決定するために、チャットルームモジュール330は、(例えば、ゲームデータベース340からの)ジオグラフィックリージョンに対するプレイヤーロケーションにアクセスする。プレイヤーロケーションは、マップにおける点として表現されることがあり、ただし、マップは、物理的な世界の2次元表現である。チャットルームモジュール330は、プレイヤーロケーションをマップにおける集約点(aggregated point)にグループ分けする。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0035
【補正方法】変更
【補正の内容】
【0035】
チャットルームモジュール330は、集約点において反復的なクラスタリングを用いて、セントロイドと、対応する集約点との間の距離に基づいてセントロイドを決定する。便利にするために、本明細書は、k-meansクラスタリングを説明し、用語「イテレーティブk-meansクラスタリング」を用い。しかしながら、他のクラスタリングアルゴリズムが用いられることがある。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0036
【補正方法】変更
【補正の内容】
【0036】
イテレーティブk-meansクラスタリングを始めるために、チャットルームモジュール330は、セントロイドになる、ジオグラフィックリージョンにおける複数のロケーションをランダムに選択する。いくつかの態様では、チャットルームモジュール330は、ランダムグリッドジェネレーター(random grid generator)、またはk-means++イニシャライゼーション(k-means++ initialization)を用いて、ロケーションの数を選択する。プロバイダは、ゲームサーバー110を介して、チャットルームモジュール330が用いるセントロイドの数を指定することがある、またはチャットルームモジュール330は、ジオグラフィックリージョンに対する重み付けされた集約点の数に基づいて、用いるセントロイドの数を決定することがある。チャットルームモジュール330は、各集約点を、最も近いセントロイドに割り当てる。セントロイドに割り当てられた集約点は、セントロイド領域を定義する。例えば、地理的な領域は、セントロイドに割り当てられた集約点に対応するすべてのSセルから作り上げられる。チャットルームモジュール330は、各セントロイド領域に対して割り当てられた集約点の平均のロケーションを決定し、対応する平均のロケーションにあるようにセントロイドを更新する。チャットルームロケーションモジュール330は、1つまたは複数の完了基準が満たされるまで、更新されたセントロイドを用いて、今述べた処理を反復する。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0048
【補正方法】変更
【補正の内容】
【0048】
図4A~4Bは、一態様に係るセントロイドをさらに決定するのに用いられるジオグラフィックリージョン内の集約点にグループ分けされたプレイヤーロケーションの例である。図4Aにおいて、ジオグラフィックリージョンのサブセット400は、セル410じゅうくまなく分散するプレイヤーロケーション420を有する4つのセル410を含む。各セル410は、その中に位置されるプレイヤーロケーション420を有し、各セル410は、集約点430に関連付けられる。集約点430は、セル410におけるプレイヤーロケーション420の数によって重み付けされる。今述べた例では、ポイントウエート440は、プレイヤーロケーション420の数、たとえば左上のセル410に対して6、または右下のセル410に対して5である。図4Bは、セントロイド470のセントロイド領域460とジオグラフィックリージョン450のサブセット400とを含む、図4Bのジオグラフィックリージョン450全体を示す。セントロイド領域460は、ジオグラフィックリージョン450の一部のみを覆う。セントロイド470は、セントロイド領域460内の各セル410に対するポイントウエート440に基づいて、セントロイド領域460内に位置される。特に、セントロイド470は、セントロイド領域460内に、大きいポイントウエートを有するロケーションに位置される。
【国際調査報告】