(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-06
(54)【発明の名称】スパニングツリーを用いたセル結合による領域分割 本開示は、一般に、領域分割に関し、特に、位置情報ゲームで使用するための異なる地域の特定に関するものである。
(51)【国際特許分類】
A63F 13/216 20140101AFI20221129BHJP
A63F 13/65 20140101ALI20221129BHJP
【FI】
A63F13/216
A63F13/65
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022535831
(86)(22)【出願日】2020-12-03
(85)【翻訳文提出日】2022-08-15
(86)【国際出願番号】 IB2020061415
(87)【国際公開番号】W WO2021116840
(87)【国際公開日】2021-06-17
(32)【優先日】2019-12-13
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】519087723
【氏名又は名称】ナイアンティック, インコーポレイテッド
【氏名又は名称原語表記】NIANTIC,INC.
【住所又は居所原語表記】One Ferry Building,Suite 200 San Francisco,CA 94111 United States of America
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】キャサリン エリザベス ラホルグー
(57)【要約】
位置情報のパラレルリアリティゲームは、仮想要素の分散方法、仮想体験の位置、及び/又はゲームオブジェクトの定義を決定するために、領域を使用し得る。地理的エリアの領域を決定するために、サーバーは、地理的エリアをセルに分割する。サーバーは、実世界のデータを各セルに割り当て、セルに基づいてノードとエッジのグラフを構築する。各ノードがセルに対応し、各エッジが隣接するセルに対応するノード間を結ぶ。サーバーは、実世界のデータに基づいて、グラフを連続セグメントに分割する。サーバーは、連続セグメントに基づいて地理的エリアの領域を定義し、定義された領域をデータストアに格納する。サーバーは、各領域が一連の基準を満たすまで、領域をより高次の領域に階層的に分割し得る。
【特許請求の範囲】
【請求項1】
地理的エリアを領域に分割する方法であって、
前記地理的エリアをセルに分割し、セルの各々は前記地理的エリアの一部分に対応することと、
実世界データを前記セルに割り当て、セルに対する前記実世界データは、前記地理的エリアの前記対応する一部分の特性を示すことと、
ノードとエッジを含むグラフを構築し、前記ノードは前記セルに対応し、前記エッジは隣接するセルに対応するノードを接続することと、
前記実世界データに基づいて、前記グラフを連続セグメントに分割することと、
前記グラフの前記連続セグメントに基づいて、前記地理的エリアの領域を定義することと、
前記定義された領域をデータストアに格納することと、
を備える方法。
【請求項2】
前記実世界データは、前記セルに対応する人口密度データを含み、前記グラフを連続セグメントに分割することは、前記人口密度データから前記連続セグメントの少なくとも一部の総人口を決定することを含む、請求項1に記載の方法。
【請求項3】
前記実世界データは、プレイヤ密度データを含み、前記プレイヤ密度データは、前記地理的エリアにおけるパラレルリアリティゲームのプレイヤの位置を記述し、連続セグメントの各々は、少なくとも最小数のプレイヤを含む領域に対応する、請求項1に記載の方法。
【請求項4】
前記実世界データは地形データを含み、前記地形データは前記地理的エリア内の水の位置を記述し、前記地理的エリアの前記領域を定義することは、前記地理的エリアのうち水に対応する部分を前記領域から除去することを備える、請求項1に記載の方法。
【請求項5】
前記実世界データは、関心ポイントのデータを含み、前記関心ポイントのデータは、仮想世界における仮想要素の位置に対応する実世界の位置を記述し、連続セグメントの各々は、少なくとも最小数の関心ポイントを含む領域に対応する、請求項1に記載の方法。
【請求項6】
前記実世界データに基づいて前記グラフを連続セグメントに分割することは、反復プロセスであり、前記反復プロセスは、
前記グラフを一次連続セグメントのセットに分割することと、
一次連続セグメントに対して、前記一次連続セグメントを二次連続セグメントのセットに分割することと、
を含む、請求項1に記載の方法。
【請求項7】
前記グラフの連続セグメントに基づいて前記地理的エリアの領域を定義することは、
結合されたセグメントを得るために、前記グラフの連続セグメントのペアを結合することと、
前記結合されたセグメントを再分割されたセグメントのペアに再分割することと、
前記再分割されたセグメントが1つまたは複数の基準を満たすことに応じて、前記地理的エリアの領域を定義するために、前記再分割されたセグメントを保持することと、
を備える、請求項1記載の方法。
【請求項8】
前記実世界データに基づいて前記グラフを連続セグメントに分割することは、反復プロセスを備え、前記反復プロセスは、
前記グラフから一次連続セグメントを生成することと、
前記一次連続セグメントが1つまたは複数の基準を満たすことに応答して、前記一次連続セグメントを前記グラフから削除することと、
残りのグラフから二次連続セグメントを生成することと、
を備える、請求項1に記載の方法。
【請求項9】
前記グラフから前記一次連続セグメントを生成することは、
前記グラフのノードを選択することと、
前記選択されたノードに接続されたノードを前記選択されたノードに反復的にマージすることであって、前記反復の各々は、
前記選択されたノードに接続されたノードのセットを決定し、前記ノードが前記グラフのエッジによって接続されることと、
前記ノードのセットと前記選択されたノードを接続するエッジの重み付けに基づいて、前記ノードのセットを前記選択されたノードにマージすることと、
を含むことと、
を備える、請求項8に記載の方法。
【請求項10】
前記エッジが前記実世界データによって重み付けされ、前記グラフから前記一次連続セグメントを生成することが、前記一次連続セグメントが1つまたは複数の基準を満たさないことに応答して、
前記グラフ内の前記エッジに対して新しい重みを生成することと、
前記新しい重みに基づいて、前記一次連続セグメントを再生成することと、
を備える、請求項9に記載の方法。
【請求項11】
プロセッサにより実行可能な指令を備えた非一時的コンピュータ可読媒体であって、前記指令は、
前記地理的エリアをセルに分割するための指令であって、セルの各々は前記地理的エリアの一部分に対応することと、
実世界データを前記セルに割り当てるための指令であって、セルに対する前記実世界データは、前記地理的エリアの前記対応する一部分の特性を示すことと、
ノードとエッジを含むグラフを構築するための指令であって、前記ノードは前記セルに対応し、前記エッジは隣接するセルに対応するノードを接続することと、
前記実世界データに基づいて、前記グラフを連続セグメントに分割するための指令と、
前記グラフの前記連続セグメントに基づいて、前記地理的エリアの領域を定義するための指令と、
前記定義された領域をデータストアに格納するための指令と、
を備える非一時的コンピュータ可読媒体。
【請求項12】
前記実世界データは、前記セルに対応する人口密度データを含み、前記グラフを連続セグメントに分割するための指令は、前記人口密度データから前記連続セグメントの少なくとも一部の総人口を決定するための指令を含む、請求項11に記載の非一時的コンピュータ可読媒体。
【請求項13】
前記実世界データは、プレイヤ密度データを含み、前記プレイヤ密度データは、前記地理的エリアにおけるパラレルリアリティゲームのプレイヤの位置を記述し、連続セグメントの各々は、少なくとも最小数のプレイヤを含む領域に対応する、請求項11に記載の非一時的コンピュータ可読媒体。
【請求項14】
前記実世界データは地形データを含み、前記地形データは前記地理的エリア内の水の位置を記述し、前記地理的エリアの前記領域を定義するための指令は、前記地理的エリアのうち水に対応する部分を前記領域から除去するための指令を備える、請求項11に記載の非一時的コンピュータ可読媒体。
【請求項15】
前記実世界データは、関心ポイントのデータを含み、前記関心ポイントのデータは、仮想世界における仮想要素の位置に対応する実世界の位置を記述し、連続セグメントの各々は、少なくとも最小数の関心ポイントを含む領域に対応する、請求項11に記載の非一時的コンピュータ可読媒体。
【請求項16】
前記実世界データに基づいて前記グラフを連続セグメントに分割するための指令は、
前記グラフを一次連続セグメントのセットに分割するための指令と、
一次連続セグメントに対して、前記一次連続セグメントを二次連続セグメントのセットに分割するための指令と、
を備える、請求項11に記載の非一時的コンピュータ可読媒体。
【請求項17】
前記地理的エリアの領域を定義するための指令は、
結合されたセグメントを得るために、前記グラフの連続セグメントのペアを結合するための指令と、
前記結合されたセグメントを再分割されたセグメントのペアに再分割するための指令と、
前記再分割されたセグメントが1つまたは複数の基準を満たすことに応じて、前記地理的エリアの領域を定義するために、前記再分割されたセグメントを保持するための指令と、
を備える、請求項11に記載の非一時的コンピュータ可読媒体。
【請求項18】
前記グラフを連続セグメントに分割するための指令は、
前記グラフから一次連続セグメントを生成するための指令と、
前記一次連続セグメントが1つまたは複数の基準を満たすことに応答して、前記一次連続セグメントを前記グラフから削除するための指令と、
残りのグラフから二次連続セグメントを生成するための指令と、
を備える、請求項11に記載の非一時的コンピュータ可読媒体。
【請求項19】
前記グラフから前記一次連続セグメントを生成するための指令は、
前記グラフのノードを選択するための指令と、
前記選択されたノードに接続されたノードを前記選択されたノードに反復的にマージするための指令であって、前記反復の各々は、
前記選択されたノードに接続されたノードのセットを決定し、前記ノードが前記グラフのエッジによって接続されることと、
前記ノードのセットと前記選択されたノードを接続するエッジの重み付けに基づいて、前記ノードのセットを前記選択されたノードにマージすることと、
を含むことと、
を備える、請求項18に記載の非一時的コンピュータ可読媒体。
【請求項20】
前記エッジが前記実世界データによって重み付けされ、前記グラフから前記一次連続セグメントを生成するための指令が、
前記一次連続セグメントが1つまたは複数の基準を満たさないことに応答して、前記グラフ内の前記エッジに対して新しい重みを生成するための指令と、
前記新しい重みに基づいて、前記一次連続セグメントを再生成するための指令と、
を備える、請求項19に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【0001】
位置情報ゲームは、現実の世界を地理として用いる。パラレルリアリティゲームは、現実の地理と平行した仮想世界を用いる、位置情報ゲームの一種である。パラレルな仮想世界は実世界の全域に及ぶこともあり、世界中のプレイヤが実世界を移動してアクションを起こすことで、パラレルな仮想世界で様々なゲームオブジェクトと相互作用し、及び実行し得る。同じような場所にいるプレイヤが互いに相互作用できるように、仮想世界(又は仮想世界内の地理的エリア)は、それぞれが異なる仮想要素及びゲームオブジェクトに関連付けられる領域に分割得る。しかしながら、ゲームプレイは、仮想世界のある領域が他の領域よりも密に配置されてもよい。領域がエリアのみに基づいて決定される場合、領域はアンバランスになり、ある領域は他の領域よりも少ないゲームプレイしかカバーしないことになり得る。
【発明の概要】
【0002】
位置情報付きパラレルリアリティゲームでは、プレイヤはスマートフォンなどの位置情報付きクライアントデバイスで実世界を移動しながら、仮想世界を移動する。プレイヤは仮想世界を移動すると、仮想要素と相互作用及び仮想体験に参加し得る。これらの仮想要素および仮想体験は、仮想世界内の戦略的に配置された領域に配置され得る。領域は、人口密度データ、プレイヤの活動ヒートマップ、関心ポイントの位置、及び地形データなど、仮想世界にマッピングされた実世界の位置に対応する実世界のデータを考慮して、同じように位置するプレイヤ間のゲームプレイを合理化し得る。
【0003】
パラレルリアリティゲームでプレイヤが使用する多くのクライアントデバイスは、プレイヤがパラレルリアリティゲームをプレーしながら実世界全体を移動し、パラレルリアリティゲーム内の仮想要素と相互作用する際にプレイヤ位置情報を追跡する測位デバイスを含み得る。様々な実施形態において、クライアントデバイスは、プレイヤ位置情報を、パラレルリアリティゲームをホストするサーバーに送信する。ゲームサーバは、このプレイヤ位置情報を他の実世界データと共に使用して、ゲームプレイのために仮想世界を領域どのように分割するべきかを決定し得る。
【0004】
一実施形態では、ゲームサーバは、地理的エリアをセルに分割し、各セルに実世界のデータを割り当て、エッジ及びノードのグラフを構築することによって、地理的エリアの領域を決定する。ゲームサーバは、実世界データに基づいてグラフを連続セグメントに分割し、連続セグメントに基づいて地理的エリアの領域を定義し得る。ゲームサーバは、ゲームデータベースなどのデータストアに領域を格納し、時間の経過とともにより多くの実世界データを受信すると領域を更新し得る。
【0005】
これら及び他の特徴、態様、及び利点は、以下の説明及び添付の特許請求の範囲を参照することにより、より良く理解され得る。添付の図面は、特定の実施形態を示し、説明と合わせて、様々な原理を説明するのに役立つ。しかしながら、図面は、限定的であると考えるべきではない。むしろ、保護範囲は、特許請求の範囲から決定されるべきである。
【図面の簡単な説明】
【0006】
【
図1】一実施形態による、位置情報ゲームを動作させるのに適したネットワーク化されたコンピューティング環境を示すブロック図である。
【
図2】一実施形態による、
図1に示されるクライアントデバイスのブロック図である。
【
図3】一実施形態による、
図1に示されるゲームサーバのブロック図である。
【
図4A】一実施形態による、地理的エリアのサブセットのセルをノードとエッジのグラフに変換することを説明する図である。
【
図4B】一実施形態による、地理的エリアのサブセットのセルをノードとエッジのグラフに変換することを説明する図である。
【
図5A】一実施形態による、地理的エリアのグラフを連続セグメントに分割する例を示した図である。
【
図5B】一実施形態による、地理的エリアのグラフを連続セグメントに分割する例を示した図である。
【
図5C】一実施形態による、地理的エリアのグラフを連続セグメントに分割する例を示した図である。
【
図5D】一実施形態による、地理的エリアのグラフを連続セグメントに分割する例を示した図である。
【
図5E】一実施形態による、地理的エリアのグラフを連続セグメントに分割する例を示した図である。
【
図5F】一実施形態による、地理的エリアのグラフを連続セグメントに分割する例を示した図である。
【
図5G】一実施形態による、地理的エリアのグラフを連続セグメントに分割する例を示した図である。
【
図5H】一実施形態による、地理的エリアのグラフを連続セグメントに分割する例を示した図である。
【
図6A】一実施形態による、2次グラフを決定するために1次グラフを分割する例を示した図である。
【
図6B】一実施形態による、2次グラフを決定するために1次グラフを分割する例を示した図である。
【
図6C】一実施形態による、2次グラフを決定するために1次グラフを分割する例を示した図である。
【
図6D】一実施形態による、2次グラフを決定するために1次グラフを分割する例を示した図である。
【
図6E】一実施形態による、2次グラフを決定するために1次グラフを分割する例を示した図である。
【
図6F】一実施形態による、2次グラフを決定するために1次グラフを分割する例を示した図である。
【
図6G】一実施形態による、2次グラフを決定するために1次グラフを分割する例を示した図である。
【
図7】一実施形態による、地理的エリアを領域に分割する処理を示すフローチャートである。
【
図8】一実施形態による、
図1のネットワークコンピューティング環境における使用に適したコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【0007】
いくつかの実施形態について参照し、その例を添付の図に示す。可能な限り、類似のまたは同様の符号が、類似の又は同様の機能を示すために図中で使用されていることに留意されたい。また、類似の要素が符号の後に文字が続くことによって識別される場合、以下の説明において符号だけへの言及は、すべてのそのような要素、いずれか1つのそのような要素、またはそのような要素の任意の組み合わせを指す場合がある。当業者であれば、以下の説明から、記載された原理から逸脱することなく、構造及び方法の代替的な実施形態を採用され得ることを容易に認識するだろう。
【0008】
(概要説明)
一般に、本開示は、地理的エリアの領域を決定することに関する。様々な実施形態において、パラレルリアリティゲームは、仮想世界(ひいては実世界)が領域に分割されている実世界の場所にマッピングされた仮想世界で生じる。パラレルリアリティゲームの特徴は、領域に関連していてもよい。例えば、各領域は独自のチャットルームを有していてもよく、ゲームの目的は、異なる領域のプレイヤが互いに競争すること(例えば、所定の期間に最も多くのポイントを獲得する領域を決定し、勝利した領域のプレイヤに報酬を提供すること)であってもよく、領域に存在する仮想要素は異なっていてもよい(例えば、領域の仮想要素の種類は、都市/農村、標高、水の存在、緑地の存在など、領域の実世界の性質に結びついていてもよい)。当業者であれば、世界を領域に分割することに全面的又は部分的に基づいて決定され得るパラレルリアリティゲームの他の特徴を認識し得る。
【0009】
ゲームサーバは、実世界の地形の少なくとも一部に平行する地理を有する仮想環境を含むプレイヤゲーム領域を有する位置ベースのパラレルリアリティゲームをホストすることができる。プレイヤは、実世界の対応する地理的空間を移動することによって、仮想世界における仮想空間を移動することができる。特に、プレイヤは、実世界の地理的座標の範囲を移動することによって、仮想世界の仮想空間を定義する座標の範囲を移動することができる。
【0010】
一実施形態では、パラレルリアリティゲームに関連付けられたゲームサーバは、仮想世界内の地理的エリアを領域に分割し得る。ゲームサーバは、仮想要素及び/又は仮想体験を仮想世界全体に分散させるために領域を使用し得る。地理的エリアに対する領域を決定するために、ゲームサーバは、地理的エリアを記述する実世界データにアクセスしてもよい。実世界データは、人口密度データ、プレイヤ密度データ、関心ポイントのデータ、及び地形データを含み得る。
【0011】
ゲームサーバは、地理的エリアを、地理的エリアの一部分を表すセルに分割し、セルに実世界データを割り当て得る。ゲームサーバは、セル及びそれぞれの実世界データを使用して、地理的エリアを表すノード及びエッジのグラフを構築する。各ノードはセルに対応する実世界データの部分集合を表し、各辺はその辺が接続するセル間の実世界データの差を表す。グラフのノードの1つから始めて、ゲームサーバは、グラフの最大スパニングツリーを作成することによって、グラフの連続セグメントを作成し得る。ゲームサーバは、最大スパンツリーにおいて互いに接続されたノードを、集合的に一連の基準を満たすノード群にグループ化する。ゲームサーバは、グラフのすべてが連続セグメントに分割されるまで、グラフの残りの部分について新しい連続セグメントを作成し得る。ゲームサーバは、各連続セグメントを領域と定義してもよいし、連続セグメントに対応する地理的エリアについて新しいグラフを作成し、さらに新しい連続セグメントの集合に分割してもよい。
【0012】
(例示的な位置情報付きパラレルリアリティゲームシステム)
次に、本開示の例示的な実施形態による、例示的なコンピュータ実装の位置情報ゲームシステムについて述べる。本主題は、パラレルリアリティゲームを参照して説明される。パラレルリアリティゲームは、実世界におけるプレイヤの移動及び行動が仮想世界における行動に影響を与え、その逆もまた然りであるように、実世界の地理の少なくとも一部に平行する仮想世界の地理を有する位置情報ゲームである。本明細書に提供される開示を用いる当業者は、本開示の主題が他のゲームシステムにも同様に適用可能であることを理解すべきである。
【0013】
図1は、実施形態に従って構成された例示的なコンピュータ実装の位置情報ゲームシステム100を示した図である。位置情報ゲームシステム100は、実世界と平行する地理を有する仮想世界における複数のプレイヤの相互作用を提供する。特に、実世界の地理的エリアは、仮想世界の対応する領域に直接リンク又はマッピングされることができる。プレイヤは、実世界の様々な地理的位置に移動することによって、仮想世界内を移動することができる。例えば、システム100は、実世界におけるプレイヤの位置を追跡し、実世界におけるプレイヤの現在の位置に基づいて仮想世界におけるプレイヤの位置を更新することができる。例えば、実世界における座標系(例えば、経度及び緯度)を仮想世界における座標系(例えば、x/y座標、仮想経度及び緯度等)にマッピングされ得る
【0014】
図1に示される実施形態では、システム100はクライアント-サーバアーキテクチャを有し、ゲームサーバ110はネットワーク130を介して1つまたは複数のクライアントデバイス120と通信する。
図1では3つのクライアントデバイス120が図示されているが、任意の数のクライアントデバイス120がネットワーク130を介してゲームサーバ110と接続されることができる。他の実施形態では、分散型の位置情報ゲームシステム100は、異なる又は追加の要素を含む。さらに、その機能は、説明されたのとは異なる方法で要素間に分散され得る。
【0015】
ゲームサーバ110は、位置情報ゲームのマスター状態をホストし、プレイヤのクライアントデバイス120にゲーム状態の更新を提供する(例えば、ゲーム内の他のプレイヤが取った行動、実世界の状況の変化、ゲーム状態または条件の変化などに基づいて)。ゲームサーバ110は、位置情報ゲームにおけるプレイヤからの入力を受信し、処理する。プレイヤは、プレイヤのクライアントデバイス120がプレイヤの入力と連動してゲームサーバ110に送信するユーザー名又はプレイヤID(例えば、固有の番号又は英数字列)によって識別され得る。
【0016】
様々な実施形態において、ゲームサーバ110は、実世界におけるプレイヤの位置を示すデバイス位置情報を含む実世界データのスナップショットに基づいて、パラレルリアリティゲームのための領域を決定する。ゲームサーバ110は、パラレルリアリティゲームの地理的エリアをセル(例えば、S2-セル)に分割し、各セルに実世界データを割り当てる。ゲームサーバ110は、セルと対応した実世界のデータに基づいて、ノードとエッジのグラフを作成する。ゲームサーバ110は、ノードを選択し、グラフ内のエッジによってそれぞれ接続された接続ノード集合を決定する。ゲームサーバ110は、選択されたノード及び接続されたノードのセットを一緒に連続セグメントにマージする。ゲームサーバ110は、連続セグメントをパラレルリアリティゲームのための領域として使用してもよく、連続セグメントをさらに分割してもよく、又は1つまたは複数の基準を満たすように連続セグメントを調整してもよい。ゲームサーバ110の様々な実施形態は、
図3を参照しながら、以降において、より詳細に説明される。
【0017】
クライアントデバイス120は、プレイヤがゲームサーバ110と相互作用することができるコンピューティングデバイスである。例えば、クライアントデバイス120は、スマートフォン、携帯ゲームデバイス、タブレット、パーソナルデジタルアシスタント(PDA)、携帯電話、ナビゲーションシステム、携帯型GPSシステム、又は他のそのようなデバイスとすることができる。クライアントデバイス120は、ソフトウェア(例えば、ゲームアプリケーション又はアプリ)を実行して、プレイヤが仮想世界と相互作用することを可能にし得る。クライアントデバイス120は、チャットルーム用のユーザーインターフェースを提供するためのハードウェア、ソフトウェア、又はその両方を含み得る。ユーザーは、チャットルームに参加することを選択し、ユーザーインターフェースを介してメッセージを送受信し得る。クライアントデバイス120の様々な実施形態は、
図2を参照しながら、以降において、より詳細に説明される。
【0018】
ネットワーク130は、ローカルエリアネットワーク(例えばイントラネット)、ワイドエリアネットワーク(例えばインターネット)、又はそれらいくつかの組み合わせなど、任意のタイプの通信ネットワークとすることができる。また、ネットワークは、クライアント120とゲームサーバ110との間の直接接続を含むことができる。一般に、ゲームサーバ110とクライアント120との間の通信は、様々な通信プロトコル(例えば、TCP/IP、HTTP、S1v1TP、FTP)、エンコーディング又はフォーマット(例えば、HTML、JSON、XML)、及び/又は保護スキーム(例えば、VPN、安全なHTTP、SSL)を用い、任意のタイプの有線及び/又は無線接続を用いてネットワークインターフェース経由で実行されることが可能である。
【0019】
図2は、一実施形態による、
図1に示されるクライアントデバイス120のブロック図である。ゲームシステム100は位置情報ゲームのためのものであるため、クライアントデバイス120は、スマートフォン又はプレイヤとともに容易に携帯またはその他の方法で運搬できるポータブルデバイスのようなポータブルコンピューティングデバイスであることが好ましい。プレイヤは、実世界でクライアントデバイス120を携帯又は運搬するだけで、仮想世界と相互作用することができる。クライアントデバイス120は、実世界におけるクライアントデバイス120の位置を監視する測位デバイス210を含むことができる。測位デバイス210は、クライアント120の位置を監視するための任意のデバイス又は回路とすることができる。例えば、測位デバイス210は、衛星ナビゲーション測位システム(例えば、GPSシステム、ガリレオ測位システム、グローバルナビゲーション衛星システム(GLONASS)、BeiDou衛星ナビゲーション及び測位システム)、慣性ナビゲーションシステム、推測航法システム、IPアドレスに基づいた三角測量及び/又はセルラータワー又はWiFiホットスポットへの近接を使用することにより、及び/又は位置を決定する他の適切な技術によって実際の位置又は相対位置を決定することができる。
【0020】
プレイヤが実世界でクライアント120と共に移動すると、測位デバイス210はプレイヤのクライアントデバイス120の位置を追跡し、クライアントデバイス位置情報をゲームモジュール220に提供する。ゲームモジュール220は、実世界におけるプレイヤのクライアントデバイス120の位置の座標に基づいて、仮想世界におけるプレイヤの位置を更新する。このように、ゲームモジュール220は、クライアントデバイス120上の仮想世界のローカル状態を維持する。ゲームモジュール220は、ゲームサーバ110が更新されたプレイヤ位置を有する総ゲーム状態を維持し、ローカルゲーム状態が総ゲーム状態を反映できるように、ゲームモジュール220に定期的な更新を提供するように、ネットワーク130を介してプレイヤ位置情報をゲームサーバ110に提供することができる。
【0021】
ゲームモジュール220は、仮想世界に関する情報をユーザーインターフェースモジュール230と通信する。クライアントデバイス120のユーザーインターフェースモジュール230は、クライアントデバイス120のユーザーインターフェースのコンポーネントを構築及び表示する。ユーザーインターフェースは、ゲームモジュール220から受信した仮想要素及び仮想体験などの仮想世界のコンポーネントを含む仮想世界の描写をユーザーに対して表示し得る。ユーザーインターフェースモジュール230は、仮想世界内のチャットルームの位置、及びチャットルーム内のユーザー間で送信されたメッセージも表示し得る。ユーザーは、クライアントデバイス120と相互作用し、仮想要素に関与し、仮想体験に参加し、又はチャットルームで会話し得る。例えば、ユーザーインターフェースモジュール230は、関心ポイント、チャットルーム、及び他の仮想体験を描写する仮想世界の視界を表示し得る。クライアントデバイス120のユーザーは、ユーザーインターフェースを介してこれらのコンポーネントと相互作用し、タスクを完了する、チャットルームに参加する、又はレイドに参加するなどの動作を行うことができる。
【0022】
ローカルデータストア240は、クライアントデバイス120によって使用されるデータを格納するように構成された、1つまたは複数のコンピュータ可読媒体である。例えば、ローカルデータストア240は、測位デバイス210によって追跡されたプレイヤ位置情報、パラレルリアリティゲームの現在の状態のローカルコピー、または他の任意の適切なデータを格納し得る。ローカルデータストア240は単一の実体として示されているが、データは複数の媒体に分割されてもよい。さらに、データは、他の場所(たとえば、分散型データベース)に格納され、ネットワーク130を介してリモートでアクセスされてもよい。
【0023】
図3は、位置情報付きパラレルリアリティゲームをホストするのに適したゲームサーバ110の一実施形態を示している。図示される実施形態では、ゲームサーバ110は、ユニバーサルゲームモジュール310、ロケータモジュール320、領域分割モジュール330、及びゲームデータベース340を含む。他の実施形態では、ゲームサーバ110は、異なる又は追加の要素を含む。さらに、その機能は、説明とは異なる方法で要素間に分散され得る。
【0024】
ゲームサーバ110は、(例えば、リモートプロシージャコール(RPC)を介して)1つまたは複数のクライアントデバイス120からゲームデータに対する要求を受信し、ネットワーク130を介してそれらの要求に応答するように構成されることができる。例えば、ゲームサーバ110は、ゲームデータを1つまたは複数のデータファイルでエンコードし、データファイルをクライアントデバイス120に提供することができる。さらに、ゲームサーバ110は、ネットワーク130を介して1つまたは複数のクライアントデバイス120からゲームデータ(例えば、プレイヤ位置、プレイヤ行動、プレイヤ入力など)を受信するように構成されることができる。例えば、クライアントデバイス120は、プレイヤ入力、プレイヤ位置、及び他の更新をゲームサーバ110に定期的に送信するように構成することができ、ゲームサーバ110は、ゲームの変更条件を反映するためにゲームデータベース340内のゲームデータを更新するためにそれを使用する。ゲームサーバ110は、他のプレイヤ位置、チャットルームの位置、仮想要素の位置などのゲームデータをクライアントデバイス120に送信してもよい。
【0025】
ユニバーサルゲームモジュール310は、プレイヤのために位置情報ゲームをホストし、位置情報ゲームの現在の状態についての命令的なソースとして機能する。ユニバーサルゲームモジュール310は、クライアントデバイス120からゲームデータ(例えば、プレイヤ入力、プレイヤ位置、プレイヤ行動、プレイヤ状態、ランドマーク情報など)を受信し、受信したゲームデータを位置情報ゲームの全プレイヤのための位置情報ゲーム全体に組み込んでいる。ゲームデータと共に、ユニバーサルゲームモジュール310は、ゲームモジュール220内のローカルゲーム状態を更新するためにクライアントデバイス120に送信することができるゲームのトータルゲーム状態を格納する。ユニバーサルゲームモジュール310は、ネットワーク130を介してクライアントデバイス120へのゲームデータの配信を管理することもできる。
【0026】
ロケータモジュール320は、ユニバーサルゲームモジュール310の一部とすることも、切り離されたものとすることもできる。ロケータモジュール320は、実世界の行動に関連付けられたデータにアクセスし、データを分析し、実世界の行動に関連付けられたデータに基づいて仮想世界における仮想体験を決定するように構成される。例えば、ロケータモジュール320は、ゲームデータベース340に格納されたゲームデータを修正し、実世界の行動に関連付けられたデータに基づいて仮想世界における仮想体験を位置付けることができる。一例として、スポンサーの仮想要素は、スポンサーの店舗、レストラン、アウトレットなどの実世界の場所に対応する仮想場所にあり得る。プレイヤが購入を行うか、実世界の場所で利用可能にされたコードを入力するか、又は実世界の場所での行動が所定の基準を満たす他の行動を取る場合、特別な仮想体験が、パラレルリアリティゲームにおいてプレイヤに提供され得る。
【0027】
領域分割モジュール330は、仮想世界内の領域を決定する。領域分割モジュール330は、実世界のデータに基づいて仮想世界の地理的エリアを領域に分割し得る。いくつかの実施形態では、仮想世界の地理的エリアは、実世界全体に対応し得る。他の実施形態では、地理的エリアは、領域分割モジュール330によって以前に決定された領域又はオペレータによって(例えば、リングフェンスを使用して)特定された領域など、実世界のより小さい部分に対応する。
【0028】
領域分割モジュール330は、地理的エリアを、地理的エリアの一部分をカバーするセルに分割する。セルは、地理的エリアをより小さな地理的エリアに分割する幾何学形状である。セルの大きさは、プロバイダからの入力を介して、又は地理的エリアの大きさに基づいて決定され得る。一部の実施形態では、セルはS2-セルであり、球状の領域を分割する階層的なセルである。
【0029】
領域分割モジュール330は、ゲームデータベース340から地理的エリアに対する実世界データにアクセスする。実世界データは、人口データ、プレイヤ密度データ、関心ポイントデータ、及び地形データを含み得、地理的エリア内の場所に対応し得る。実世界データは、ゲームデータベース340に関連してさらに説明される。
【0030】
領域分割モジュール330は、地理的エリア内のセルに実世界データを割り当て、セルに基づいてエッジ及びノードのグラフを構築する。領域分割モジュール330は、各セルに(例えば、セルの地理的中心に)ノードを配置し、実世界データを用いて各ノードに重み付けを行う。各ノードは、対応するセルの人口サイズであるノード重みによって重み付けされる。いくつかの実施形態において、領域分割モジュール330は、ノード重みのために異なる又は追加の実世界データを使用し得る。例えば、一実施形態では、ノード重み領域は、対応するセルの人口データ、プレイヤ密度データ、地形データ、及び/又は関心ポイントの数の重み付けされた組み合わせである。他の実施形態では、ノード重みは、セルの国または都市化レベルに基づくセルごとのユーザー参加率の推定値によって再重み付けされた世界人口データを含み得る。領域分割モジュール330は、隣接するセルのノードをエッジで接続し、各エッジをエッジ重みで重み付けする。一実施形態では、エッジの重みは、エッジが接続するノードのノード重みの差である。あるいは、エッジの重みは、接続されたノードの隣接するセルの各々に割り当てられた実世界データの異なる要素(例えば、プレイヤ密度及び人口密度)の差の加重結合であり得る。領域分割モジュール330によって作成されるグラフの構造は、
図4A-
図4Bに関連してさらに説明される。
【0031】
領域分割モジュール330は、地理的エリアのグラフからスパニングツリー(例えば、最大スパニングツリー)を構築する。最大スパニングツリーは、最大スパニングツリー内の全てのエッジの総エッジ重みが最大になるように、グラフのエッジのサブセットによって接続されたグラフのノードを含む。さらに、最大スパニングツリーは、ノード間のループを有さず、これは、最大スパニングツリーのエッジのセットが、同じノードのペアを接続する2つの異なる経路を作る場合に発生する。グラフのノードをフォレストとして開始し、領域分割モジュール330は、フォレスト内のノードを接続するエッジを追加して、最大スパニングツリーを構築する。
【0032】
一実施形態では、領域分割モジュール330は、クラスカル法のアルゴリズムを使用して、フォレストに追加するエッジを決定する。この実施形態では、領域分割モジュール330は、フォレスト内のノード間のループを形成しない、最も高い重み(すなわち、人口の差)を有するグラフのエッジを決定し、そのエッジをフォレストに追加する。そして、領域分割モジュール330は、グラフの中で次に重みが大きいエッジを決定し、そのエッジがループを形成していない場合、そのエッジをフォレストに追加する。グラフがループを形成しない次に高い重みの多様なエッジを含む場合、領域分割モジュール330は、エッジの1つをランダムに選択し、フォレストに追加し得る。領域分割モジュール330は、フォレスト内のすべてのノードが接続され、最大スパニングツリーを形成するまで、フォレストにエッジを追加して反復する。
【0033】
別の実施形態では、領域分割モジュール330は、プリム法のアルゴリズムを使用して、フォレストに追加するエッジを決定する。この実施形態では、領域分割モジュール330は、グラフのノードをランダムに親ノードとして選択する。グラフのノードのフォレストから再び開始し、領域分割モジュール330は、親ノードに接続されたエッジのうち、ループを形成しない最も高い重みを有するエッジを決定し、そのエッジをフォレストに追加する。次に、領域分割モジュール330は、フォレスト内の任意のノードに接続された次に高い重みを有するエッジを決定し、フォレスト内のノード間のループを形成しない限り、そのエッジをフォレストに追加する。領域分割モジュール330は、フォレスト内のすべてのノードが接続され、最大スパニングツリーを形成するまで、フォレストへのエッジの追加を反復する。さらなる実施形態において、領域分割モジュール330は、スパニングツリーを生成するために他のアルゴリズムを使用し得る。
【0034】
いくつかの実施形態において、領域分割モジュール330は、最大スパニングツリーを構築する前に、実世界のデータに基づいてグラフからノードを除去する。例えば、領域分割モジュール330は、地理的エリアのどのセルが、地理的エリアの対応する部分が水に覆われていることを示す地形データに関連付けられているかを決定し、そのセルに関連するノードをグラフから削除する。いくつかの実施形態において、領域分割モジュール330は、地理的エリアの対応する部分における水の閾値パーセンテージに関連するノードのみを除去する。さらなる実施形態では、領域分割モジュール330は、山や峡谷など、プレイヤが横断するのが困難な地形を示す地形データに関連するノードも除去する。次いで、領域分割モジュール330は、水に覆われたパラレルリアリティゲームのための領域を決定しないように、残りのグラフからのノードを使用して最大スパニングツリーを構築する。領域分割モジュール330は、最大スパニングツリーを連続セグメントに分割する。連続セグメントは、最大スパニングツリー内の連結ノードのグルーピングである。各連続セグメントは、連続セグメントのノードのセルによって覆われる地理的エリアの部分に対応する。領域分割モジュール330は、最大スパニングツリーが分割される連続セグメントの数を決定し、総人口及び連続セグメントの数に基づいて、各連続セグメントが対応する最小人口を決定する。したがって、各連続セグメントは、連続セグメントのノードの重みに基づいて、最小の母集団のサイズに対応する。いくつかの実施形態では、各連続セグメントは、最小数のプレイヤまたは最小数の関心ポイントを含むなど、ノード重みに関連する他の基準を満足する。さらなる基準は、連続セグメントが最小のエリアサイズまたは特定の地形データに対応することを必要とする場合がある。
【0035】
一実施形態では、連続セグメントを形成するために、領域分割モジュール330は、最大スパニングツリーの各リーフノードを選択する。リーフノードは、リーフノードの親ノードとして知られる最大スパニングツリーの1つの他のノードにのみ接続される最大スパニングツリーのノードである。領域分割モジュール330は、各リーフノードのノード重みを最小母数(又は他のノード重みに関連する基準)と比較する。リーフノードが最小母数より大きいノード重みを有する場合、領域分割モジュール330は、最大スパニングツリーからリーフノードを削除し、連続セグメントを形成する。そうでない場合、領域分割モジュール330は、リーフノードを最大スパニングツリー内のその親ノードとマージする。リーフノードをその親ノードにマージするために、領域分割は、リーフノードのノード重みと親ノードのノード重みとの和のノード重みを有する親ノードの代わりにマージされたノードを作成する。このプロセスは、
図5A-
図5Hに関連してさらに示されている。領域分割モジュール330は、閾値数の連続セグメントが形成されるまで、リーフノードのノード重みを最小母数と比較し、リーフノードを削除するか、またはマージすることを継続する。領域分割モジュール330は、最大スパニングツリーの残りのノードを最終的な連続セグメントとして使用する。
【0036】
いくつかの実施形態において、領域分割モジュール330が、最大スパニングツリーから連続セグメントを分割するためにマージするリーフノードがなくなった場合、領域分割モジュール330は、残りのグラフから(すなわち、連続セグメントの削除したノードなしで)新しい最大スパニングツリーを生成し、そこから連続セグメントを分割する。残りの最大スパニングツリーのグラフを使用して、領域分割モジュール330は、グラフの各エッジを再重み付けする。いくつかの実施形態では、領域分割モジュール330は、各エッジを、その前のエッジ重みのランダムな割合であるエッジ重みで重み付けし直す。領域分割モジュール330は、再重み付けされたグラフを使用して新しい最大スパニングツリーを生成し、新しい最大スパニングツリーから連続セグメントを分割する。
【0037】
領域分割モジュール330は、各連続セグメントに関連する地理的エリアの部分の形状を改善するために、連続セグメントを調整する。連続セグメントの各ペアについて、領域分割モジュール330は、ペアの連続セグメントを新しいグラフに結合し、重みに基づいてグラフの最大スパニングツリーを形成し、最大スパニングツリーを2つの新しい連続セグメントに分割する。領域分割モジュール330は、新しい連続セグメントが、連続セグメントのペアによってカバーされる地理的領域の部分のコンパクト性を改善するかどうかを決定するために、コンパクトネススコアで各新しい連続セグメントとペアからの各連続セグメントをスコアリングする。いくつかの実施形態では、領域分割モジュール330は、(式1)を用いて、各連続セグメントのコンパクトネススコアを決定し、nsegmentは、連続セグメントのセルの数であり、nbounddaryは、連続セグメントの内部に内部境界を作成する連続セグメントのセルの数である。
【0038】
【0039】
他の実施形態では、領域分割モジュール330は、(式2)を用いて、各連続セグメントのコンパクトネススコアを決定し、ここで、Rは連続セグメントであり、Ωは連続セグメントの内部の境界を形成する連続セグメントのセルの集合であり、Wvは連続セグメント内の各ノードのノード重みである。
【0040】
【0041】
領域分割モジュール330は、新しい連続セグメントとペアの連続セグメントのコンパクトネススコアを比較する。新しい連続セグメントがペアの連続セグメントよりも高いコンパクトネススコアを有する場合、領域分割モジュール330は、ペアの連続セグメントを新しい連続セグメントと置き換える。いくつかの実施形態では、領域分割モジュール330は、新しい連続セグメントとペアからの連続セグメントとの平均コンパクトネススコアを決定し、平均コンパクトネススコアを使用して、ペアからの連続セグメントを維持するか置き換えるか決定する。いくつかの実施形態において、領域分割モジュール330は、各連続セグメントが閾値コンパクトネススコアに達するまで、連続セグメントを調整する。他の実施形態では、領域分割モジュール330は、領域分割モジュール330が、連続セグメントのいずれかを置き換えることなく、連続セグメントの各ペアについてコンパクトネススコアを計算するまで、連続セグメントを調整する。
【0042】
領域分割モジュール330は、制約のセットを満たさない隣接する連続セグメントをマージする。制約のセットは、各連続セグメントに関連する最小面積と、最小人口サイズとを含む。いくつかの実施形態では、制約のセットは、連続セグメントに関連する地理的エリアの部分に関連する関心ポイントの最小数、又は地形データに基づく連続セグメントに関連する横断可能な領域の最小量をさらに含み得る。領域分割モジュール330は、制約のセットを満たさない連続セグメントを特定し、その隣接する(すなわち、グラフ内で連続セグメントを取り囲む)連続セグメントの各々と合併する。領域分割モジュール330は、マージされた連続セグメントを、マージされた連続セグメントの数よりも1つ少ない連続セグメント、最小面積制約を与えられたマージされた連続セグメントの地理的エリアの部分について可能な連続セグメントの数、又は最小人口制約を与えられたマージされた連続セグメントの地理的エリアの部分について可能な連続セグメントの数のいずれかにより連続セグメントの新しいセットへ再分割する。
【0043】
領域分割モジュール330は、各連続セグメントに対応する地理的エリアを決定し、各地理的エリアをパラレルリアリティゲームのための領域と定義する。領域分割モジュール330は、各領域をゲームデータベース340に、又はいくつかの実施形態では、別のデータストアに格納する。領域分割モジュール330は、所定の期間(例えば、1日、1ヶ月、1年など)領域を使用してもよく、ゲームサーバ110がより多くの実世界データを受信すると、領域を定期的に更新し得る。
【0044】
いくつかの実施形態では、領域分割モジュール330は、定義された領域を一次領域のセットとして扱い、各一次領域に対して一次領域のセットを決定する。各一次領域について、領域分割モジュール330は、一次領域を、一次領域に使用されるセルよりもサイズが小さい二次セルに分割する。領域分割モジュール330は、実世界データをセルに割り当て、ノードとエッジの二次グラフを構築し、二次グラフから二次最大スパニングツリーを生成する。領域分割モジュール330は、連続セグメントの数のファクターだけ小さくてもよい、より小さい最小母数を用いてグラフを二次連続セグメントの集合に分割し、二次連続セグメントに対応する地理的エリアを二次領域として定義して格納する。領域分割モジュール330は、地理的エリアの閾値未満の部分をカバーする、又は閾値未満の人口サイズに対応するなどの一連の基準が満たされるまで、以前に決定された領域の高次の領域を決定することを繰り返し得る。いくつかの実施形態では、領域分割モジュール330は、それぞれが基準のセットを満たす領域の閾値の数に達するまで、異なる順序でパラレルリアリティゲームのための領域を定義し得る。例えば、領域分割モジュール330は、一次領域のセットのサブセットが基準のセットを満たすと判定し、一次領域のセットのうち基準のセットを満たさない領域に対して二次領域のセットのみを判定し得る。領域分割モジュール330は、すべての定義された領域が基準のセットを満たすまで、高次の領域のセットを決定することによって地理的エリアを階層的に分割し続け得る。
【0045】
領域分割モジュール330は、チャットルーム又は他の任意の適切なゲーム要素、経験、又は仕組みを領域に割り当て得る。例えば、一実施形態では、領域分割モジュール330は、プレイヤが現在位置する領域に割り当てられたチャットルームに参加してよい、又は他の領域に移動する際に異なるチャットルームに参加してよいように、各領域にチャットルームを作成する。別の例では、領域分割モジュール330は、領域内のプレイヤが報酬を得るために互いに競争できるに、各領域に仮想競技会を割り当てる。さらなる実施形態では、領域分割モジュール330は、定期的に各領域のスコアを計算し(例えば、領域内の全てのプレイヤ、又はチーム内の全てのプレイヤが獲得したスコアを合計することによって)、対応するスコアが閾値を超える、又は1つまたは複数の隣接する領域のスコアを超える領域内に報酬を提供する。当業者であれば、パラレルリアリティゲームにおいて領域が使用され得る多数の方法を認識するであろう。
【0046】
ゲームデータベース340は、ネットワーク130を介してクライアントデバイス120に供給または提供される位置情報ゲームで使用されるゲームデータを格納するように構成された1つまたは複数の機械可読媒体を含む。ゲームデータベース340に格納されるゲームデータは、(1)位置情報ゲームにおける仮想世界に関連付けられたデータ(例えば、ディスプレイデバイス上で仮想世界をレンダリングするために使用される画像データ、仮想世界における場所の地理的座標など)、(2)位置情報ゲームのプレイヤに関連付けられたデータ(例えば、プレイヤ情報、プレイヤ経験値、プレイヤ通貨、プレイヤーインベントリ、仮想世界/実世界における現在のプレイヤ位置、プレイヤエネルギーレベル、プレイヤ優先権、チーム情報など)、(3)ゲームオブジェクトに関連付けられたデータ(現在のゲームオブジェクト、ゲームオブジェクトのステータス、過去のゲームオブジェクト、将来のゲームオブジェクト、望ましいゲームオブジェクトに関するデータなど)、(4)仮想世界における仮想要素に関付けられたデータ(例えば、仮想要素の位置、仮想要素の種類、仮想要素に関連付けられたゲームオブジェクト、仮想要素に対応する実世界の位置情報、仮想要素の動作、仮想要素の関連性など)、(5)実世界のオブジェクト、ランドマーク、仮想世界の要素に関連付けられた位置に関するデータ(例えば、実世界のオブジェクト/ランドマークの位置、実世界のオブジェクト/ランドマークの説明、実世界のオブジェクトにリンクした仮想要素の関連性など)、(6)ゲームの状況(現在のプレイヤ数、ゲームオブジェクトの現在の状況、プレイヤのリーダーボードなど)、(7)プレイヤの行動/入力に関連付けられたデータ(現在のプレイヤの位置、過去のプレイヤの位置、プレイヤの移動、プレイヤ入力、プレイヤ質問、プレイヤコミュニケーションなど)、(8)仮想体験に関連付けられたデータ(例えば、仮想体験の場所、仮想体験に関連するプレイヤの行動、レイドなどの仮想イベント)、及び(9)位置情報ゲームの実施中に使用、関連、又は取得される他のデータなどを含むことができる。ゲームデータベース340に格納されたゲームデータは、システム管理者によってオフラインまたはリアルタイムで、またはネットワーク130を介して1つまたは複数のクライアントデバイスl20からなど、プレイヤから受信したデータによって入力されることができる。
【0047】
ゲームデータベース340は、実世界のデータも格納し得る。実世界データは、実世界における個人の位置の総和を表す人口密度データ、実世界におけるプレイヤ位置の総和であるプレイヤ密度データ、文化的価値や商業的価値のある場所に関連付けられたプレイヤ行動、地理的エリアにおけるゲームアクションの分布を表すプレイヤヒートマップデータ、仮想世界における仮想要素の位置に対応する実世界の位置を表す関心ポイントのデータ、大きな水辺、山、渓谷など様々な地形や生態系の位置が記述された地形データ、道路、高速道路、水路の位置を示すマップデータ、プレイヤ個人の現在および過去の位置、ハザードデータ、天候データ、イベントカレンダーデータ、プレイヤ活動データ(移動距離、運動時間など)、およびその他の適切なデータ、を含み得る。実世界のデータは、任意の適切なソースから収集または取得することができる。例えば、ゲームデータベース340は、マッピングサービスによってアクセスされる1つまたは複数のマップデータベースなどのマップ情報を格納するマップデータベースに結合されること、それを含むこと、またはその一部とすることができる。別の例として、ゲームサーバ110は、人口データ、ハザードデータ、天候データ、イベントカレンダーデータなどを定期的に提供する1つまたは複数の外部データソース又はサービスに結合されることができる。
【0048】
図3に示されるモジュール以外の他のモジュールもゲームサーバ110と共に使用されることができる。任意の数のモジュールが、本明細書で説明するサーバー側の機能を実行するようにプログラムされる、または他の方法で構成されることができる。さらに、サーバー側の様々なコンポーネントは再配置されることができる。他の構成は、本開示に照らして明らかになり、本開示は、いかなる特定の構成にも限定されることを意図するものではない。
【0049】
(例示的な領域分割)
図4A-
図4Bは、一実施形態による、地理的エリアのサブセット400のセル410をノード420及びエッジ450のグラフに変換することを示す図である。
図4Aには地理的エリアのサブセットのみが示されているが、領域分割モジュール330は、地理的エリア全体を、それぞれが地理的エリアの一部分をカバーするセル410のセットに分割する。領域分割モジュール330は、地理的エリアの各セル410の中心にノード420を配置し、ゲームデータベース340からの実世界データを使用して各ノードに重み付けを行う。この実施形態では、実世界データは、各セル410内のプレイヤ位置を記述し、各ノード重み430は、関連するセル内のプレイヤ位置440の数である。
図4Bに示されるように、領域分割モジュール330は、地理的エリア内の各ノード420をエッジ450で接続して、地理的エリアのグラフを作成する。領域分割モジュール330は、各エッジ450を、本実施形態におけるノード重み420の差であるエッジ重み460で重み付けする。
【0050】
図5A-5Hは、一実施形態による、地理的エリアのグラフ600を連続セグメントに分割する例を示す図である。領域分割モジュール330は、
図5Aに示されるように、地理的エリアをノード420及びエッジ450のセットにマッピングし、グラフ500を作成する。対応するセルの人口などの実世界のデータに基づくノード重み430に関連付けられた各ノードは、エッジ450が接続するノード420のノード重み430の差であるエッジ重み460に関連付けられ、各エッジ450は、エッジ450が接続するノード重み430の差である。
【0051】
領域分割モジュール330は、
図5Bに示されるように、グラフ500から最大スパニングツリー510Aを作成する。最大スパニングツリーは、最も高いエッジ重み450を有するエッジ450のサブセットを用いて、グラフ500の全てのノード420を接続する。領域分割モジュール330は、最大スパニングツリー510Aを作成するために異なる方法を採用してもよいため、他の実施形態では、領域分割モジュール330は、同じグラフ500から異なるバージョンの最大スパニングツリー510Aを生成してもよい。
【0052】
グラフ500から分割する連続セグメントを決定するために、領域分割モジュール330は、
図5Cに示される最大スパニングツリー510Bのリーフノード520Aのそれぞれを分析する。各リーフノード520Aは、リーフノード520Aの親ノード530Aである1つの他のノードにのみ接続されている。領域分割モジュール330は、各リーフノード520Aのノード重み430が、最小母数などのノード重み関連基準より大きいか否かを決定する。この例では、領域分割モジュール330は、ノード重み関連基準に最小ノード重量20を使用している。
【0053】
最大スパニングツリー510Aのリーフノード520Aはいずれもノード重み関連基準を満たさないので、領域分割モジュール330は、各リーフノード520Aをその親ノード530Aにマージし、
図5Dに示される新しい最大スパニングツリー510Cとする。最大スパニングツリー510Cは、新しいリーフノード520B及び親ノード530Bのセットを有する。新しいリーフノード520Bの各々は、以前の対応するリーフノード520A及び親ノード530Aのノード重み430の組み合わせであるノード重み430を有する。以前のリーフノード520Aの各々は、グラフ500の一部をカバーするが、最大スパニングツリー510Cに重みを与えないマージされたノード540Aによって表される。
【0054】
再び、最大スパニングツリー510Bのリーフノード520Bのいずれもノード重み関連基準を満たさないので、領域分割モジュール330は各リーフノード520Bをその親ノード530Bにマージし、
図5Eにされる、リーフノード520Cと親ノード530Cの新しいセットを有する新しい最大スパニングツリー510Dに至る。最大スパニングツリー510Eはまた、リーフノード520ではないが、1つまたは複数のマージされたノード540に接続されているノード420であるブランチノード550を含む。
【0055】
最大スパニングツリー510Dは、ノード重み関連基準を満たす(すなわち、20以上のノード重みを有する)リーフノード520Cを含むため、領域分割モジュール330は、
図5Fに示されるように、最大スパニングツリー510Cからノード重み関連基準を満たすリーフノード520Cを切り離す。これらのリーフノード520C及び連結されたマージされたノード540は、2つの連続セグメント560を形成する。残りのノード420及びエッジ450は、新たなリーフノード520D及び親ノード530Dを有する残りの最大スパニングツリー510Eを形成する。
【0056】
この例では、領域分割モジュール330は、最大スパニングツリー510Eを連続セグメント560に分割し続け、3つの連続セグメント560の閾値数に到達させる。
図5Gに示されるように、領域分割モジュール330は、各リーフノード520Dをその親ノード530Dにマージし、その結果、リーフノード520Eと親ノード530Eの新しいセットを有する新しい最大スパニングツリー510Fになる。最大スパニングツリー510Fは、ノード重み関連基準を満たす1つのリーフノード520Eを有するため、領域分割モジュール330は、そのリーフノード520Eを切り離して、
図5Hに示される新しい連続セグメント560Cを作成する。領域分割モジュール330は、3つの連続セグメント560の閾値数に達したため、領域分割モジュール330は、残りのノードを最終的な連続セグメント560Dに形成する。
【0057】
図6A-
図6Gは、一実施形態による、二次グラフを決定するために一次グラフを分割する例を示している。地理的エリアをカバーする一次領域について、領域分割モジュール330は、
図6Aに示されるように、一次領域を分割するセルに対応するノード420及びエッジ450の一次グラフ600を作成する。いくつかの実施形態では、一次領域は実世界全体にまたがってもよく、一次グラフを作成するために用いられるセルは、球状の一次領域(すなわち、地球)をマッピングすることができるS2-セルであってもよい。
【0058】
領域分割モジュール330は、一次グラフ600を使用して、
図6Bに示される一次最大スパニングツリー610を作成する。最大スパニングツリー610は、一次グラフ600のノード420の全てを含むが、一次グラフ600のエッジ450のサブセットのみを含む。
図6Cに示されるように、領域分割モジュール330は、一次最大スパニングツリー610を連続セグメント640に分割する。本実施形態では4つの連続セグメントのみが示されているが、他の実施形態では、領域分割モジュール330は、閾値に基づいて最大スパニングツリーをより多くの連続セグメント又はより少ないセグメントに分割してもよい。
【0059】
図6Dに示されるように、各連続セグメントは、それぞれが一次領域650の地理的エリアをカバーする一次領域650の一次セル660の集合にマッピングされる。領域分割モジュール330は、各連続セグメント640の一次セル660によってカバーされる地理的エリアの部分を、二次領域670として定義する。
図6Eの二次領域670について、領域分割モジュール330は、一次領域650の閾値未満の部分をカバーする、又は一次領域650の人口の閾値未満の割合に対応するなど、一連の基準をそれぞれが満たすかどうかを決定する。
【0060】
一連の基準を満たす各二次領域670について、領域分割モジュール330は、その二次領域をパラレルリアリティゲーム用の領域としてゲームデータベース340に格納し得る。そうでなければ、領域分割モジュール330は、
図6Fの二次領域670Aに示されるように、残りの二次領域670のそれぞれを二次セル680に分割し得る。領域分割モジュール330は、
図6Gに示されるように、ノード420及びエッジ450を用いて、二次セル680に基づく二次領域670Aに対する二次グラフ690を作成する。領域分割モジュール330は、各領域が基準のセットを満たすまで、より高い次数の領域を階層的に決定するこのプロセスを継続し得る。
【0061】
図7は、一実施形態による、地理的エリアを領域に分割するプロセス700を示すフローチャートである。領域分割モジュール330は、地理的エリアをセルに分割し710、各セルは地理的エリアの一部分に対応する。いくつかの実施形態では、セルはS2-セルである。領域分割モジュール330は、ゲームデータベース340にアクセスして実世界のデータを取得し、実世界のデータをセルの各々に割り当てる720。実世界データは、セルに対応する人口密度データ、地理的エリア内のパラレルリアリティゲームのプレイヤ位置を記述するプレイヤ密度データ、地理的エリア内の水の位置を記述する地形データ、及び/又は仮想世界内の仮想要素の位置に対応する実世界の位置を記述する関心ポイントのデータを含み得る。
【0062】
領域分割モジュール330は、地理的エリアのセルに基づいて、ノードとエッジを含むグラフを構築する730。各ノードは、セルに対応し、各エッジは、地理的エリアの隣接するセルに対応するノードを接続する。領域分割モジュール330は、実世界データに基づいて、グラフを連続セグメントに分割する740。いくつかの実施形態では、各連続セグメントは、少なくとも最小数のプレイヤを含む領域及び/又は少なくとも最小数の関心ポイントを含む領域に対応する。他の実施形態では、グラフを分割している間、領域分割モジュール330は、人口密度データから、連続セグメントの少なくとも一部の総人口を決定する。
【0063】
領域分割モジュール330は、グラフの連続セグメントに基づいて、地理的エリアの領域を定義する750。いくつかの実施形態において、領域を定義するとき、領域分割モジュール330は、領域内の水に対応する地理的エリアの部分を除去する。他の実施形態では、領域を定義するとき、領域分割モジュール330は、グラフの連続セグメントのセットを結合(又はマージ)したセグメントにマージし、結合したセグメントを一対の再分割されたセグメントに再分割する。再分割されたセグメントが1つまたは複数の基準を満たす場合、領域分割モジュール330は、再分割されたセグメントを保持し、再分割されたセグメントを使用して地理的エリアの領域を定義する。領域分割モジュール330は、ゲームデータベース340に領域を格納する760。いくつかの実施形態では、領域分割モジュール330は、ゲームサーバ110に関連する別のデータストアに領域を格納する。
【0064】
いくつかの実施形態では、
図7のプロセス700は反復的である。これらの実施形態において、領域分割モジュール330は、グラフを一次連続セグメントのセットに分割する。各一次セグメントについて、領域分割モジュール330は、一次連続セグメントを二次連続セグメントのセットに分割する。さらに、反復プロセス700は、領域分割モジュール330を使用して、グラフから一次連続セグメントを生成し得る。一次連続セグメントを生成するために、領域分割モジュール330は、グラフのノードを選択する。領域分割モジュール330は、選択されたノードに接続されたノードを選択されたノードに反復的にマージする。各反復について、領域分割モジュール330は、グラフ上のエッジによって選択されたノードに接続されたノードのセットを決定し、ノードのセットを選択されたノードに接続するエッジのエッジ重みに基づいて、ノードのセットのノードを選択されたノードに併合する。領域分割モジュール330は、領域分割モジュール330が一次連続セグメントを形成するまでノードをマージする。
【0065】
領域分割モジュール330は、一次連続セグメントが1つまたは複数の基準を満たすか否かを決定する。連続セグメントが1つまたは複数の基準を満たす場合、領域分割モジュール330は、グラフから一次連続セグメントを除去し、残りのグラフから二次連続セグメントを生成する。いくつかの実施形態では、連続セグメントが1つまたは複数の基準を満たさない場合、領域分割モジュール330は、グラフのエッジに対する新しいエッジ重みを生成し、新しいエッジ重みに基づいて一次連続セグメントを再生成する。
【0066】
図8は、一実施形態による、
図1のネットワークコンピューティング環境において使用するのに適した例示的なコンピュータを示すブロック図である。具体的には、
図8は、コンピュータシステム800の例示的な形態の機械を図式的に示している。コンピュータシステム800は、ゲームサーバ110またはクライアントデバイス120のコンポーネント(またはモジュール)に関連し、説明されるものを含む、本明細書に記載される方法論(またはプロセス)のいずれか1つまたは複数を機械に実行させるための指令824(例えば、プログラムコードまたはソフトウェア)を実行するために使用することができる。
【0067】
マシンは、サーバーコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、スマートフォン、ネットワークルータ、スイッチまたはブリッジ、携帯電話タワー、またはそのマシンによって行われるべき動作を指示する指令824(連続またはその他)を実行できる任意のマシンであり得る。さらに、単一のマシンのみが示されているが、用語「マシン」は、開示された方法のいずれかを実行するために、個別にまたは共同で指令824を実行するマシンの任意の集合体を含むとも解釈されるものとする。
【0068】
例示的なコンピュータシステム800は、1つまたは複数の処理ユニット(一般に、1つまたは複数のプロセッサ1002)を含む。プロセッサ802は、例えば、中央処理装置(CPU)、グラフィックス処理装置(GPU)、デジタル信号プロセッサ(DSP)、コントローラ、状態マシン、1つまたは複数の特定用途向け集積回路(ASIC)、1つまたは複数の高周波集積回路(RFIC)、またはこれらの任意の組合せである。プロセッサ802へのいかなる言及も、単一のプロセッサまたは複数のプロセッサを指し得る。コンピュータシステム800はまた、メインメモリ804を含む。コンピュータシステムは、ストレージユニット816を含んでもよい。プロセッサ802、メモリ804、及びストレージユニット816は、バス808を介して通信する。
【0069】
さらに、コンピュータシステム800は、静的メモリ806と、ディスプレイドライバ810(例えば、プラズマディスプレイパネル(PDP)、液晶ディスプレイ(LCD)、またはプロジェクタを駆動するためのもの)とを含むことができる。コンピュータシステム800はまた、英数字入力装置812(例えば、キーボード)、カーソル制御装置814(例えば、マウス、トラックボール、ジョイスティック、モーションセンサー、または他のポインティング機器)、信号生成装置818(例えば、スピーカー)、およびネットワークインターフェース装置820も含むことができ、これらもバス808を介して通信するように構成される。
【0070】
ストレージユニット816は、本明細書に記載される方法または機能のいずれかを実行するための指令824(例えば、ソフトウェア)を格納し得る機械可読媒体822を含む。指令824はまた、コンピュータシステム800による実行中に、完全にまたは部分的に、メインメモリ804内またはプロセッサ802内(例えば、プロセッサのキャッシュメモリ内)に存在し得る。メインメモリ804及びプロセッサ802は、機械可読媒体も構成する。指令824は、ネットワークインターフェース装置820を介してネットワーク130上で送信又は受信され得る。
【0071】
機械可読媒体822は、例示的な実施形態では単一の媒体であるように示されているが、用語「機械可読媒体」は、指令824を格納することができる単一の媒体または多様な媒体(例えば、集中または分散データベース、または関連キャッシュおよびサーバー)を含むように解釈されるべきである。また、「機械可読媒体」という用語は、機械による実行のための指令824を格納することができ、機械に本明細書に開示される方法または機能のうちの任意の1つまたは複数を実行させる任意の媒体を含むと解釈されるべきである。「機械可読媒体」という用語は、固体メモリ、光学媒体、及び磁気媒体の形態のデータリポジトリを含むが、これらに限定されない。
【0072】
本主題は、特定の例示的な実施形態及びその方法に関して詳細に説明されてきたが、当業者は、前述の理解に達した時点で、そのような実施形態に対する変更、変形、及び同等物を容易に作成し得ることが理解される。したがって、本開示の範囲は、限定によるのではなく、例示によるものであり、主題の開示は、当業者に容易に明らかになるような本主題に対する変更、変形または追加を含めることを排除するものではない。
【0073】
(追加的な考慮事項)
上記の説明のいくつかの部分は、アルゴリズム的なプロセスまたは操作の観点から実施形態を説明している。これらのアルゴリズム的な記述および表現は、コンピューティング技術の当業者によって、当業者に自分の仕事の実質を効果的に伝えるために一般的に使用されている。これらの動作は、機能的、計算的、または論理的に記述されているが、プロセッサまたは同等の電気回路、マイクロコード等による実行のための指令を含むコンピュータプログラムによって実行されると理解される。さらに、一般性を損なうことなく、機能的動作のこれらの配置をモジュールと呼ぶことも、時に便利であることが証明されている。
【0074】
サーバー、データベース、ソフトウェアアプリケーション、および他のコンピュータベースのシステム、ならびにそのようなシステムとの間で取られる動作および送信される情報への言及は、様々な概念を説明するために提供される。当業者であれば、コンピュータベースシステムの固有の柔軟性により、コンポーネント間およびコンポーネント間のタスクおよび機能の非常に多様な可能な構成、組み合わせ、および分割が可能であることを認識するであろう。例えば、サーバープロセスは、単一のサーバーまたは組み合わせて動作する複数のサーバーを使用して実装することができ、データベースおよびアプリケーションは、単一のシステム上に実装することも、複数のシステムに分散することもでき、分散コンポーネントは、順次または並行して動作することができる。
【0075】
システム及び方法が位置情報のようなプレイヤの個人情報にアクセスし分析する状況において、プレイヤは、プログラム又は機能が情報を収集するかどうかを制御する機会を提供され得る。どのような情報が収集され、その情報がどのように使用されるかについてプレイヤに意味のある通知がなされるまでは、そのような情報又はデータは収集又は使用されない。プレイヤからの同意がない限り、情報は収集または使用されず、その同意はプレイヤによっていつでも撤回または変更することができる。このように、プレイヤは、アプリケーションまたはシステムによってプレイヤに関する情報がどのように収集され、使用されるかを制御することができる。さらに、特定の情報またはデータは、格納または使用される前に、1つまたは複数の方法で処理され、匿名化されることができる。例えば、プレイヤの身元は、個人を特定できる情報を特定できないように処理することができる。
【0076】
本明細書で使用される場合、「一実施形態」又は「一実施形態」への任意の言及は、実施形態に関連して説明される特定の要素、特徴、構造、又は特性が、少なくとも1つの実施形態に含まれることを意味する。本明細書における様々な場所での「一実施形態における」という表現の出現は、必ずしも全てが同じ実施形態を指しているわけではない。同様に、要素または構成要素の前に「a」または「an」を使用することは、単に便宜上行われるものである。この記述は、そうでないことを意味することが明らかでない限り、その要素またはコンポーネントの1つまたは複数が存在することを意味すると理解されるべきである。
【0077】
値が「近似」または「実質的に」(またはその派生)と記述されている場合、文脈から別の意味が明らかでない限り、そのような値は+/-10%と解釈されるべきである。例えば、「およそ10」は、「9から11の範囲」を意味すると理解されるべきである。
【0078】
本明細書で使用されるように、用語「comprise」、「comprising」、「includes」、「has」、「having」又はそれらの他の変形は、非排他的な包含をカバーすることを意図している。例えば、要素のリストから構成されるプロセス、方法、物品、または装置は、必ずしもそれらの要素のみに限定されず、明示的にリスト化されていない他の要素またはかかるプロセス、方法、物品、または装置に固有の要素を含んでもよい。また、「または」は、特に断りのない限り、包括的な「または」を意味し、排他的な「または」を意味するものではない。例えば、条件AまたはBは、以下のいずれか1つによって満たされる。例えば、条件AまたはBは、Aが真(または存在)でBが偽(または存在しない)、Aが偽(または存在しない)でBが真(または存在)、AおよびBの両方が真(または存在)であることのいずれかによって満たされる。
【0079】
本開示を読めば、当業者は、処理するためにアドホックニューラルネットワークを使用するためのシステムおよびプロセスに関するさらに追加の代替構造および機能設計を理解するであろう。したがって、特定の実施形態および用途が図示され、説明されてきたが、説明された主題は、開示された正確な構造および構成要素に限定されないことが理解される。保護範囲は、以下の特許請求の範囲によってのみ限定されるべきものである。
【手続補正書】
【提出日】2022-08-15
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
地理的エリアを領域に分割する方法であって、
前記地理的エリアをセルに分割し、セルの各々は前記地理的エリアの一部分に対応することと、
実世界データを前記セルに割り当て、セルに対する前記実世界データは、
前記セルの前記地理的エリアの前記対応する一部分の
人口密度データ及び/又はプレイヤ密度データを示し、
前記プレイヤ密度データは、前記地理的エリア内のパラレルリアリティゲームのプレイヤの位置を記述することと、
ノードとエッジを含むグラフを構築し、前記ノードは前記セルに対応し、前記エッジは隣接するセルに対応するノードを接続することと、
前記実世界データに基づいて、前記グラフを連続セグメントに分割することとであって、
前記人口密度データから前記連続セグメントの少なくとも一部分の総人口を決定すること、及び/又は前記連続セグメントの1つまたは複数が少なくとも最小数のプレイヤに対応すると決定することを備えることと、
前記グラフの前記連続セグメントに基づいて、前記地理的エリアの領域を定義することと、
前記定義された領域をデータストアに格納することと、
を備える方法。
【請求項2】
前記実世界データに基づいて前記グラフを連続セグメントに分割することは、反復プロセスであり、前記反復プロセスは、
前記グラフを一次連続セグメントのセットに分割することと、
一次連続セグメントに対して、前記一次連続セグメントを二次連続セグメントのセットに分割することと、
を含む、請求項1に記載の方法。
【請求項3】
前記グラフの前記連続セグメントに基づいて前記地理的エリアの領域を定義することは、
結合されたセグメントを得るために、前記グラフの連続セグメントのペアを結合することと、
前記結合されたセグメントを再分割されたセグメントのペアに再分割することと、
前記再分割されたセグメントが1つまたは複数の基準を満たすことに応じて、前記地理的エリアの領域を定義するために、前記再分割されたセグメントを保持することと、
を備える、請求項1記載の方法。
【請求項4】
前記実世界データに基づいて前記グラフを連続セグメントに分割することは、反復プロセスを備え、前記反復プロセスは、
前記グラフから一次連続セグメントを生成することと、
前記一次連続セグメントが1つまたは複数の基準を満たすことに応答して、前記一次連続セグメントを前記グラフから削除することと、
残りのグラフから二次連続セグメントを生成することと、
を備える、請求項1に記載の方法。
【請求項5】
前記グラフから前記一次連続セグメントを生成することは、
前記グラフのノードを選択することと、
前記選択されたノードに接続されたノードを前記選択されたノードに反復的にマージすることであって、前記反復の各々は、
前記選択されたノードに接続されたノードのセットを決定し、前記ノードが前記グラフのエッジによって接続されることと、
前記ノードのセットと前記選択されたノードを接続するエッジの重み付けに基づいて、前記ノードのセットを前記選択されたノードにマージすることと、
を含むことと、
を備える、請求項
4に記載の方法。
【請求項6】
前記エッジが前記実世界データによって重み付けされ、前記グラフから前記一次連続セグメントを生成することが、前記一次連続セグメントが1つまたは複数の基準を満たさないことに応答して、
前記グラフ内の前記エッジに対して新しい重みを生成することと、
前記新しい重みに基づいて、前記一次連続セグメントを再生成することと、
を備える、請求項
5に記載の方法。
【請求項7】
プロセッサにより実行可能な指令を備えた非一時的コンピュータ可読媒体であって、前記指令は、
前記地理的エリアをセルに分割するための指令であって、セルの各々は前記地理的エリアの一部分に対応することと、
実世界データを前記セルに割り当てるための指令であって、セルに対する前記実世界データは、前記地理的エリアの前記対応する一部分の特性を示すことと、
ノードとエッジを含むグラフを構築するための指令であって、前記ノードは前記セルに対応し、前記エッジは隣接するセルに対応するノードを接続することと、
前記実世界データに基づいて、前記グラフを連続セグメントに分割するための指令
であって、前記グラフを一次連続セグメントのセットに分割する指令、及び一次連続セグメントの各々に対して、前記一次連続セグメントを二次連続セグメントに分割する指令を備えることと、
前記グラフの前記連続セグメントに基づいて、前記地理的エリアの領域を定義するための指令と、
前記定義された領域をデータストアに格納するための指令と、
を備える非一時的コンピュータ可読媒体。
【請求項8】
前記実世界データは、前記セルに対応する人口密度データを含み、前記グラフを連続セグメントに分割するための指令は、前記人口密度データから前記連続セグメントの少なくとも一部の総人口を決定するための指令を含む、請求項
7に記載の非一時的コンピュータ可読媒体。
【請求項9】
前記実世界データは、プレイヤ密度データを含み、前記プレイヤ密度データは、前記地理的エリアにおけるパラレルリアリティゲームのプレイヤの位置を記述し、連続セグメントの各々は、少なくとも最小数のプレイヤを含む領域に対応する、請求項
7に記載の非一時的コンピュータ可読媒体。
【請求項10】
前記実世界データは地形データを含み、前記地形データは前記地理的エリア内の水の位置を記述し、前記地理的エリアの前記領域を定義するための指令は、前記地理的エリアのうち水に対応する部分を前記領域から除去するための指令を備える、請求項
7に記載の非一時的コンピュータ可読媒体。
【請求項11】
前記実世界データは、関心ポイントのデータを含み、前記関心ポイントのデータは、仮想世界における仮想要素の位置に対応する実世界の位置を記述し、連続セグメントの各々は、少なくとも最小数の関心ポイントを含む領域に対応する、請求項
7に記載の非一時的コンピュータ可読媒体。
【請求項12】
前記地理的エリアの領域を定義するための指令は、
結合されたセグメントを得るために、前記グラフの連続セグメントのペアを結合するための指令と、
前記結合されたセグメントを再分割されたセグメントのペアに再分割するための指令と、
前記再分割されたセグメントが1つまたは複数の基準を満たすことに応じて、前記地理的エリアの領域を定義するために、前記再分割されたセグメントを保持するための指令と、
を備える、請求項
7に記載の非一時的コンピュータ可読媒体。
【請求項13】
前記グラフを
一次連続セグメント
のセットに分割するための指令は、
前記グラフから一次連続セグメントを生成するための指令と、
前記一次連続セグメントが1つまたは複数の基準を満たすことに応答して、前記一次連続セグメントを前記グラフから削除するための指令と、
残りのグラフから二次連続セグメントを生成するための指令と、
を備える、請求項
7に記載の非一時的コンピュータ可読媒体。
【請求項14】
前記グラフから前記一次連続セグメントを生成するための指令は、
前記グラフのノードを選択するための指令と、
前記選択されたノードに接続されたノードを前記選択されたノードに反復的にマージするための指令であって、前記反復の各々は、
前記選択されたノードに接続されたノードのセットを決定し、前記ノードが前記グラフのエッジによって接続されることと、
前記ノードのセットと前記選択されたノードを接続するエッジの重み付けに基づいて、前記ノードのセットを前記選択されたノードにマージすることと、
を含むことと、
を備える、請求項
13に記載の非一時的コンピュータ可読媒体。
【請求項15】
前記エッジが前記実世界データによって重み付けされ、前記グラフから前記一次連続セグメントを生成するための指令が、
前記一次連続セグメントが1つまたは複数の基準を満たさないことに応答して、前記グラフ内の前記エッジに対して新しい重みを生成するための指令と、
前記新しい重みに基づいて、前記一次連続セグメントを再生成するための指令と、
を備える、請求項
14に記載の非一時的コンピュータ可読媒体。
【請求項16】
地理的エリアを領域に分割するための指令を備える非一時コンピュータ可読媒体であって、前記指令はプロセッサにより実行可能であり、
前記地理的エリアをセルに分割し、セルの各々は前記地理的エリアの一部分に対応するための指令と、
実世界データを前記セルに割り当て、セルに対する前記実世界データは、前記セルの前記地理的エリアの前記対応する一部分の人口密度データ及び/又はプレイヤ密度データを示し、前記プレイヤ密度データは、前記地理的エリア内のパラレルリアリティゲームのプレイヤの位置を記述するための指令と、
ノードとエッジを含むグラフを構築し、前記ノードは前記セルに対応し、前記エッジは隣接するセルに対応するノードを接続するための指令と、
前記実世界データに基づいて、前記グラフを連続セグメントに分割するための指令であって、前記人口密度データから前記連続セグメントの少なくとも一部分の総人口を決定、及び/又は前記連続セグメントの1つまたは複数が少なくとも最小数のプレイヤに対応することを決定することを備えることと、
前記グラフの前記連続セグメントに基づいて、前記地理的エリアの領域を定義するための指令と、
前記定義された領域をデータストアに格納するための指令と、
を備える非一時コンピュータ可読媒体。
【請求項17】
前記実世界データに基づいて前記グラフを連続セグメントに分割するための指令は、
前記グラフを一次連続セグメントのセットに分割するための指令と、
一次連続セグメントに対して、前記一次連続セグメントを二次連続セグメントのセットに分割するための指令と、
を備える、請求項16に記載の非一時コンピュータ可読媒体。
【請求項18】
前記グラフの前記連続セグメントに基づいて前記地理的エリアの領域を定義するための指令は、
結合されたセグメントを得るために、前記グラフの連続セグメントのペアを結合するための指令と、
前記結合されたセグメントを再分割されたセグメントのペアに再分割するための指令と、
前記再分割されたセグメントが1つまたは複数の基準を満たすことに応じて、前記地理的エリアの領域を定義するために、前記再分割されたセグメントを保持するための指令と、
を備える、請求項16記載の非一時コンピュータ可読媒体。
【請求項19】
前記実世界データに基づいて前記グラフを連続セグメントに分割するための指令は、
前記グラフから一次連続セグメントを生成するための指令と、
前記一次連続セグメントが1つまたは複数の基準を満たすことに応答して、前記一次連続セグメントを前記グラフから削除することと、
残りのグラフから二次連続セグメントを生成するための指令と、
を備える、請求項16に記載の非一時コンピュータ可読媒体。
【請求項20】
前記グラフから前記一次連続セグメントを生成するための指令は、
前記グラフのノードを選択するための指令と、
前記選択されたノードに接続されたノードを前記選択されたノードに反復的にマージするための指令であって、前記反復の各々は、
前記選択されたノードに接続されたノードのセットを決定し、前記ノードが前記グラフのエッジによって接続されることと、
前記ノードのセットと前記選択されたノードを接続するエッジの重み付けに基づいて、前記ノードのセットを前記選択されたノードにマージすることと、
を含むことと、
を備える、請求項19に記載の非一時コンピュータ可読媒体。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0049
【補正方法】変更
【補正の内容】
【0049】
(例示的な領域分割)
図4A-
図4Bは、一実施形態による、地理的エリアのサブセット400のセル410をノード420及びエッジ450のグラフに変換することを示す図である。
図4Aには地理的エリアのサブセットのみが示されているが、領域分割モジュール330は、地理的エリア全体を、それぞれが地理的エリアの一部分をカバーするセル410のセットに分割する。領域分割モジュール330は、地理的エリアの各セル410の中心にノード420を配置し、ゲームデータベース340からの実世界データを使用して各ノードに重み付けを行う。この実施形態では、実世界データは、各セル410内のプレイヤ位置を記述し、各ノード重み430は、関連するセル内のプレイヤ位置440の数である。
図4Bに示されるように、領域分割モジュール330は、地理的エリア内の各ノード420をエッジ450で接続して、地理的エリアのグラフを作成する。領域分割モジュール330は、各エッジ450を、本実施形態におけるノード重み4
30の差であるエッジ重み460で重み付けする。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0051
【補正方法】変更
【補正の内容】
【0051】
領域分割モジュール330は、
図5Bに示されるように、グラフ500から最大スパニングツリー510Aを作成する。最大スパニングツリーは、最も高いエッジ重み4
60を有するエッジ450のサブセットを用いて、グラフ500の全てのノード420を接続する。領域分割モジュール330は、最大スパニングツリー510Aを作成するために異なる方法を採用してもよいため、他の実施形態では、領域分割モジュール330は、同じグラフ500から異なるバージョンの最大スパニングツリー510Aを生成してもよい。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0068
【補正方法】変更
【補正の内容】
【0068】
例示的なコンピュータシステム800は、1つまたは複数の処理ユニット(一般に、1つまたは複数のプロセッサ802)を含む。プロセッサ802は、例えば、中央処理装置(CPU)、グラフィックス処理装置(GPU)、デジタル信号プロセッサ(DSP)、コントローラ、状態マシン、1つまたは複数の特定用途向け集積回路(ASIC)、1つまたは複数の高周波集積回路(RFIC)、またはこれらの任意の組合せである。プロセッサ802へのいかなる言及も、単一のプロセッサまたは複数のプロセッサを指し得る。コンピュータシステム800はまた、メインメモリ804を含む。コンピュータシステムは、ストレージユニット816を含んでもよい。プロセッサ802、メモリ804、及びストレージユニット816は、バス808を介して通信する。
【国際調査報告】