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

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

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

特表2023-531418ロケーションベースゲームのためのプレイヤデバイスの近接検出
<>
  • 特表-ロケーションベースゲームのためのプレイヤデバイスの近接検出 図1
  • 特表-ロケーションベースゲームのためのプレイヤデバイスの近接検出 図2
  • 特表-ロケーションベースゲームのためのプレイヤデバイスの近接検出 図3
  • 特表-ロケーションベースゲームのためのプレイヤデバイスの近接検出 図4
  • 特表-ロケーションベースゲームのためのプレイヤデバイスの近接検出 図5
  • 特表-ロケーションベースゲームのためのプレイヤデバイスの近接検出 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-07-24
(54)【発明の名称】ロケーションベースゲームのためのプレイヤデバイスの近接検出
(51)【国際特許分類】
   A63F 13/216 20140101AFI20230714BHJP
   A63F 13/79 20140101ALI20230714BHJP
   A63F 13/795 20140101ALI20230714BHJP
   A63F 13/30 20140101ALI20230714BHJP
【FI】
A63F13/216
A63F13/79 520
A63F13/795
A63F13/30
A63F13/79
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022577238
(86)(22)【出願日】2021-06-07
(85)【翻訳文提出日】2023-02-15
(86)【国際出願番号】 IB2021054997
(87)【国際公開番号】W WO2021255576
(87)【国際公開日】2021-12-23
(31)【優先権主張番号】16/902,150
(32)【優先日】2020-06-15
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ZIGBEE
(71)【出願人】
【識別番号】519087723
【氏名又は名称】ナイアンティック, インコーポレイテッド
【氏名又は名称原語表記】NIANTIC,INC.
【住所又は居所原語表記】One Ferry Building,Suite 200 San Francisco,CA 94111 United States of America
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ゴードン ポール ジェフェリー ザ サード
(57)【要約】
ロケーションベースゲームのプレイヤに関連付けられたクライアントデバイスは、プレイヤデバイスの近くにいる他のプレイヤに関連付けられたクライアントデバイスを検出する。他のプレイヤのクライアントデバイスのこの検出は、プレイヤ間のゲーム要素の交換、プレイヤのゲーム進行、ゲーム特徴へのアクセス、またはプレイヤ間の接続の確立など、さまざまなゲームアクションが発生させ得る。プレイヤデバイスの検出は、Bluetoothなどの、クライアントデバイスのパーソナルエリアネットワークデバイスを使用して実行され得る。近接検出は、プレイヤのクライアントデバイスが、ロケーションベースゲームをホストするオンラインシステムから切断されたときに発生でき、後に、検出は、一方または両方のデバイスによってオンラインシステムに報告される。
【特許請求の範囲】
【請求項1】
ロケーションベースゲーム内でゲームアイテムを交換するためのコンピュータ実装方法であって、
前記ロケーションベースゲームの第1のプレイヤに関連付けられた第1のゲームアイテムをトレードに利用可能であると識別することと、
前記第1のプレイヤに関連付けられた第1のクライアントデバイスによって、前記第1のクライアントデバイスの近接内の第2のクライアントデバイスを検出することであって、前記第2のクライアントデバイスは、前記ロケーションベースゲームの第2のプレイヤに関連付けられている、ことと、
前記第2のクライアントデバイスの検出に応答して、前記第1のクライアントデバイスによって、前記第2のプレイヤの識別子を格納することと、
前記第2のプレイヤの前記識別子を、前記ロケーションベースゲームをホストするオンラインシステムに提供することと、
前記オンラインシステムから、第2のゲームアイテムに対する前記第1のゲームアイテムの交換を示すゲームデータを受信することと、
を含む、コンピュータ実装方法。
【請求項2】
前記ゲームデータを受信することに応答して、前記第1のクライアントデバイスのスクリーン上に前記交換を説明する通知を表示することをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記第2のクライアントデバイスを検出することは、ローカルネットワークを介して前記第2のプレイヤの前記識別子を受信することを含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記第2のクライアントデバイスを検出することは、パーソナルエリアネットワークを介して前記第2のプレイヤの前記識別子を受信することを含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
トレードに利用可能であると前記第1のゲームアイテムを識別することは、
前記第1のクライアントデバイスによって、前記第1のプレイヤに関連付けられた1つまたは複数のゲームアイテムの選択を受信することであって、前記1つまたは複数のゲームアイテムは、前記第1のゲームアイテムを含む、ことと、
前記1つまたは複数のゲームアイテムの前記選択を、他のプレイヤとのトレードに利用可能である前記第1のプレイヤに関連付けられたアイテムのリストに含めるために前記オンラインシステムに提供することと、
を含む、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記第1のクライアントデバイスが前記オンラインシステムへの接続性を有しない間に前記第2のクライアントデバイスが検出され、前記第2のプレイヤの前記識別子を前記オンラインシステムに提供することは、
前記第1のクライアントデバイスがネットワークを介して前記オンラインシステムへの接続性を有することを検出することと、
前記ネットワークを介して前記オンラインシステムに前記第2のクライアントデバイスの前記識別子を送信することと、
を含む、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記第2のプレイヤの前記識別子を格納することは、
前記第2のプレイヤの前記識別子を1つまたは複数の以前に格納されたプレイヤ識別子と比較することであって、前記1つまたは複数の以前に格納されたプレイヤ識別子が、いつ前記1つまたは複数のプレイヤ識別子が前記第1のクライアントデバイス上に格納されたかを示す対応するタイムスタンプに関連付けられている、ことと、
前記第2のプレイヤの前記識別子が時間間隔内に前記クライアントデバイスに以前に格納されていなかったと決定することに応答して、前記プレイヤ識別子を現在のタイムスタンプとともに格納することと、
を含む、請求項6に記載のコンピュータ実装方法。
【請求項8】
前記ロケーションベースゲームは並行現実ゲームである、請求項1に記載のコンピュータ実装方法。
【請求項9】
命令を格納した非一時的コンピュータ可読記憶媒体であって、前記命令は、第1のクライアントデバイスによって実行されると、前記第1のクライアントデバイスに、
前記第1のクライアントデバイスによって、他のクライアントデバイスについてパーソナルエリアネットワークをスキャンすることと、
前記スキャンに基づいて、前記パーソナルエリアネットワークを介して第2のクライアントデバイスから識別子を受信することであって、前記識別子は、前記第1のクライアントデバイスおよび第2のクライアントデバイスにインストールされた対話型アプリケーションに関連付けられている、ことと、
前記第1のクライアントデバイスによって、前記第2のクライアントデバイスに関連付けられた前記識別子を格納することと、
前記対話型アプリケーションをホストするオンラインシステムに前記識別子を提供することと、
前記オンラインシステムから、前記対話型アプリケーションに関連する前記オンラインシステムによって実行されるアクションを記述するデータを受信することであって、前記アクションは前記識別子に基づいている、ことと、
を含む動作を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項10】
前記対話型アプリケーションは、ロケーションベースゲームである、請求項9に記載の非一時的コンピュータ可読記憶媒体。
【請求項11】
前記第1のクライアントデバイスは、前記ロケーションベースゲームのプレイヤカウントに関連付けられており、前記データは、前記プレイヤカウントのゲームアイテム、前記プレイヤカウントのゲーム進行状況、前記プレイヤカウントのゲーム特徴、または1つまたは複数の他のプレイヤカウントのゲーム活動を説明する情報を説明する、請求項10に記載の非一時的コンピュータ可読記憶媒体。
【請求項12】
前記パーソナルエリアネットワークをスキャンすることは、
前記パーソナルエリアネットワークを介して前記第1のクライアントデバイスに関連付けられた第2の識別子を共有することであって、前記第2の識別子は、前記パーソナルエリアネットワークに接続された他のクライアントデバイスによって識別可能である、ことと、
を含む請求項9に記載の非一時的コンピュータ可読記憶媒体。
【請求項13】
前記第1のクライアントデバイスが前記オンラインシステムへの接続性を有しない間に前記識別子が受信され、前記第1のクライアントデバイスに関連付けられた前記識別子を提供することは、
前記第1のクライアントデバイスが前記パーソナルエリアネットワークを介して前記オンラインシステムへの接続性を有することを検出することと、
前記第1のクライアントデバイスが接続性を有することに応答して、前記識別子を前記オンラインシステムに提供することと、
を含む請求項9に記載の非一時的コンピュータ可読記憶媒体。
【請求項14】
前記パーソナルエリアネットワークをスキャンすることは、
前記第1のクライアントデバイスのユーザによるインタラクションに応答して前記スキャンを開始することと、
を含む請求項9に記載の非一時的コンピュータ可読記憶媒体。
【請求項15】
前記パーソナルエリアネットワークがBluetooth Low Energyネットワークである、請求項9に記載の非一時的コンピュータ可読記憶媒体。
【請求項16】
前記第1のクライアントデバイスによって、前記第2のクライアントデバイスの前記識別子の前記受信を記述する通知を表示することと、をさらに含む、請求項9に記載の非一時的コンピュータ可読記憶媒体。
【請求項17】
オンラインシステムであって、
ロケーションベースゲームのゲームデータを格納するデータベースであって、前記ゲームデータが複数のゲームアイテムを含む、データベースと、
動作を実行するように構成されたゲームアクションモジュールと、
を含み、
前記動作は、
前記ロケーションベースゲームの第1のプレイヤに関連付けられた前記複数のゲームアイテムの第1のゲームアイテムをトレードに利用可能であると識別することと、
前記ロケーションベースゲームの第2のプレイヤに関連付けられた前記複数のゲームアイテムの第2のゲームアイテムをトレードに利用可能であると識別することと、
前記第1のプレイヤに関連付けられた第1のクライアントデバイスから、前記第2のプレイヤの識別子を受信することであって、前記識別子は、前記第1のクライアントデバイスが、前記第2のプレイヤに関連付けられた第2のクライアントデバイスの近接内に以前にあったことを示す、ことと、
前記受信した識別子に基づいて、前記第1のゲームアイテムおよび第2のゲームアイテムの交換を反映するように前記ゲームデータを更新することであって、前記交換は、前記第1のゲームアイテムが前記第2のプレイヤに関連付けられ、前記第2のゲームアイテムが前記第1のプレイヤに関連付けられることをもたらす、ことと、
前記更新されたゲームデータを前記第1のクライアントデバイスに提供することと、
を含む、オンラインシステム。
【請求項18】
トレードに利用可能であると前記第1のゲームアイテムを識別することは、
前記第1のプレイヤに関連付けられた1つまたは複数のゲームアイテムの選択を、前記第1のクライアントデバイスから、受信することであって、前記1つまたは複数のゲームアイテムは、前記第1のゲームアイテムを含む、ことと、
前記1つまたは複数のゲームアイテムを、他のプレイヤとトレードに利用可能である前記第1のプレイヤに関連付けられたアイテムのリストに割り当てることと、
を含む、請求項17に記載のオンラインシステム。
【請求項19】
前記第1のゲームアイテムおよび第2のゲームアイテムの交換を反映するように前記ゲームデータを更新することは、
前記第1のゲームアイテムの第1の値と、前記第2のゲームアイテムの第2の値とを識別することと、
前記第1の値と前記第2の値との間の差が閾値内にあることに応答して、前記交換を反映するように前記ゲームデータを更新することと、
を含む請求項17に記載のオンラインシステム。
【請求項20】
第2のデバイスが第1のデバイスに近接している間に、前記第1のデバイスは、パーソナルエリアネットワークを介して前記第2のデバイスの前記識別子を受信した、請求項17に記載のオンラインシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、デバイスの近接検出に関し、特に、ロケーションベースゲームで使用するためにローカルエリアネットワークを介してプレイヤデバイスを検出することに関する。
【背景技術】
【0002】
ロケーションベースゲームは、ロケーションベースゲームの地理として現実世界を使用する。並行現実ゲームは、現実世界の地理に平行する仮想世界を使用するロケーションベースゲームの1つのタイプである。平行仮想世界は現実世界全体に広がることがあり、世界中のプレイヤが、現実世界でナビゲートしてアクションを実行することによって、相互作用して、平行仮想世界で様々なゲーム目的を実行し得る。同様の位置にあるプレイヤは、組織化されたコミュニティゲームアクション(例えば、特定の地理的な位置に関連付けられたライブゲームアクション)に参加することなどによって、現実世界の同じ物理的な位置で一緒にプレイし得る。しかし、計画されたゲームアクションの外では、同様に位置するプレイヤは、互いに認識することなく、日常生活の間に物理的な世界において、道ですれ違うことがある。例えば、2人のプレイヤは、並行現実ゲームをプレイするために使用されるそれぞれのモバイルデバイスを持って、パブリックスペースで互いにすれ違うことがある。したがって、プレイヤは、プレイヤが遭遇する動的な相互作用のためのプレイヤコミュニティおよび機会に気づき得ない。
【0003】
[概要]
ロケーションベースゲームのプレイヤに関連付けられたクライアントデバイス間の近接検出のための方法、システム、およびコンピュータ可読記憶媒体を開示する。プレイヤのクライアントデバイスは、プレイヤデバイスの近接内にある他のプレイヤに関連付けられたクライアントデバイスを検出し得る。他のプレイヤのクライアントデバイスの近接検出は、プレイヤまたはそのクライアントデバイス間のゲームデータの交換、プレイヤのゲーム進行、ゲーム機能へのアクセス、またはプレイヤ間の接続の確立など、検出に対応するゲームアクションをもたらし得る。実施形態において、プレイヤデバイスの検出は、Bluetooth(登録商標)デバイスまたはWi-Fi(登録商標)ダイレクトデバイスなどのクライアントデバイスのパーソナルエリアネットワークデバイスを使用して実行される。同じまたは異なる実施形態では、プレイヤのクライアントデバイスがロケーションベースゲームをホストするオンラインシステムから切断されたときに、近接検出は発生することができる。このケースでは、プレイヤデバイスは、他のプレイヤのクライアントデバイスの近接検出を格納し、オンラインシステムに接続した後に(例えば、インターネットを介して)、検出を記述する情報をオンラインシステムに提供できる。次いで、オンラインシステムは、受信した近接検出を記述する情報に基づいてゲームアクションを実行する。
【0004】
いくつかの実施形態では、トレードに利用可能な並行現実ゲームの第1のプレイヤに関連付けられた第1のゲームアイテムが識別される。第1のプレイヤに関連付けられたクライアントデバイスは、第1のクライアントデバイスの近接内にある並行現実ゲームの第2のプレイヤに関連付けられた第2のクライアントデバイスを検出する。第2のクライアントデバイスの検出に応答して、第1のクライアントデバイスは、第2のプレイヤの識別子を格納する。第1のクライアントデバイスは、並行現実ゲームをホストするオンラインシステムに第2のプレイヤの識別子を提供する。第1のクライアントデバイスは、識別子に基づいて、オンラインシステムから第2のゲームアイテムに対する第1のゲームアイテムの交換を示す更新されたゲームデータを受信する。
【0005】
いくつかの実施形態では、第1のプレイヤデバイスは、パーソナルエリアネットワークに接続された他のクライアントデバイスのためにパーソナルエリアネットワークをスキャンする。スキャンに基づいて、第1のプレイヤデバイスは、パーソナルエリアネットワークに接続された第2のプレイヤデバイスに関連付けられた識別子を識別する。特に、この識別子は、第2のクライアントデバイス上のアプリケーションに関連付けられる。クライアントデバイスは、クライアントデバイスに関連付けられた識別子を格納する。識別子を格納した後、クライアントデバイスは、アプリケーションをホストするオンラインシステムに識別子を提供する。提供された識別子の識別に基づいて、第1のプレイヤデバイスは、アプリケーションによる処理のためのアプリケーションデータをオンラインシステムから受信する。
【0006】
これらおよび他の特徴、態様および利点は、以下の説明および添付の特許請求の範囲を参照すると、よりよく理解され得る。添付の図面は、特定の実施形態を図示し、説明と共に、様々な原理を説明するのに役立つ。しかし、図面は、限定すると考えられるべきではない。むしろ、保護の範囲は、特許請求の範囲から決定されるべきである。
【図面の簡単な説明】
【0007】
図1図1は、一実施形態による、ロケーションベースゲームシステムのためのコンピューティング環境を示すブロック図である。
図2図2は、一実施形態による、図1に示されるクライアントデバイスのブロック図である。
図3図3は、一実施形態による、図1に示されるゲームサーバのブロック図である。
図4図4は、一実施形態による、デバイス近接検出の方法を示すフローチャートである。
図5図5は、一実施形態による、デバイス近接検出の方法を用いてゲームアイテムをトレードする方法500を示すフローチャートである。
図6図6は、一実施形態による、図1のコンピューティング環境での使用に適した例示的なコンピュータを示すブロック図である。
【発明を実施するための形態】
【0008】
[詳細な説明]
ここで、いくつかの実施形態の参照を行い、その例を添付の図面に示す。実行可能な限り、類似または同様の機能を示すために、図面において類似または同様の参照番号が使用されていることに留意されたい。また、類似の要素が文字に続く参照番号によって識別される場合、続く説明において番号のみへの言及は、すべてのそのような要素、任意の1つのそのような要素、またはそのような要素の任意の組み合わせを指し得る。当業者は、以下の説明から、記載された原理から逸脱することなく、構造および方法の代替的な実施形態が使用され得ることを容易に認識するであろう。
【0009】
[例示的なロケーションベースの並行現実ゲームシステム]
プレイヤデバイスの近接検出が並行現実ゲームのコンテキストで実行される様々な実施形態が説明される。並行現実ゲームは、現実世界でのプレイヤの動きおよびアクションが仮想世界におけるアクションに影響を与えるような、現実世界の地理の少なくとも一部に平行する仮想世界の地理を有するロケーションベースゲームである。しかし、本開示の主題は、他のタイプのゲームまたは対話型アプリケーションなどの他のロケーションベースのアプリケーションに等しく適用可能であり得る。
【0010】
図1は、ロケーションベースゲームシステム100のためのコンピューティング環境の一実施形態を示すブロック図である。図示された実施形態では、ロケーションベースゲームシステム100は、現実世界に平行な地理を有する仮想世界における複数のプレイヤの対話を提供する。特に、現実世界における地理的なエリアを、仮想世界における対応するエリアに直接リンクまたはマッピングできる。プレイヤは、現実世界の様々な地理的な位置に移動することによって、仮想世界の中を移動できる。例えば、システム100は、現実世界におけるプレイヤの位置を追跡し、現実世界におけるプレイヤの現在の位置に基づいて仮想世界におけるプレイヤの位置を更新できる。例えば、現実世界の座標システム(例えば、経度および緯度)は、仮想世界の座標システム(例えば、x/y座標、仮想の経度および緯度など)にマッピングされ得る。
【0011】
図1に示す実施形態では、システム100は、ゲームサーバ110がネットワーク130を介して1つまたは複数のクライアントデバイス120と通信するクライアントサーバアーキテクチャを有する。図1には3つのクライアントデバイス120が示されているが、任意の数のクライアントデバイス120がネットワーク130を介してゲームサーバ110に接続できる。他の実施形態では、分散ロケーションベースゲームシステム100は、異なるまたは追加の要素を含む。さらに、機能は、説明したのとは異なる方法で要素間に分散され得る。
【0012】
ゲームサーバ110は、ロケーションベースゲームのマスター状態をホストし、プレイヤのクライアントデバイス120にゲーム状態の更新を提供する(例えば、ゲーム内の他のプレイヤによって取られたアクション、現実世界のコンディションの変化、ゲーム状態またはコンディションの変化などに基づく)。ゲームサーバ110は、ロケーションベースゲーム内のプレイヤからの入力を受信し、処理する。プレイヤは、プレイヤのクライアントデバイス120がプレイヤの入力と共にゲームサーバ110に送信するユーザ名またはプレイヤID(例えば、一意の番号または英数文字列)によって識別され得る。いくつかの実施形態において、ゲームサーバは、いくつかのロケーションベースゲーム、他のタイプのゲーム、または他のアプリケーションをホストする。
【0013】
様々な実施形態において、ゲームサーバ110は、現実世界において互いを検出するクライアントデバイス120に基づいてゲームアクションを処理する。ゲームサーバ110は、クライアントデバイス120(例えば、クライアントデバイス120A)が別のクライアントデバイス(例えば、クライアントデバイス120B)に近接していたことを示す情報をクライアントデバイス120から受信する。特に、この情報は、プレイヤのユーザ名またはID、またはデバイスIDなど、関連するクライアントデバイス120に関連付けられた1人以上のプレイヤを識別する。近接検出は、クライアントデバイス120および図2を参照して以下により詳細に説明される。ゲームサーバ110は、さらに、別のクライアントデバイス120の検出を記述するクライアントデバイス120から受信した情報に基づいて、様々なゲームアクションを実行する。デバイス近接検出およびゲームサーバ110の様々な実施形態に基づくゲームアクションは、図3を参照して以下により詳細に説明される。
【0014】
クライアントデバイス120は、プレイヤがゲームサーバ110と対話できるコンピューティングデバイスである。例えば、クライアントデバイス120は、スマートフォン、ポータブルゲームデバイス、タブレット、携帯情報端末(PDA)、携帯電話、ナビゲーションシステム、ハンドヘルドGPSシステム、または他のそのようなデバイスとすることができる。3つのクライアントデバイスのみが図1に示されているが(すなわち、クライアントデバイス120A、120B、および120C)、ロケーションベースゲームシステム100は、任意の数のクライアントデバイス120を含み得る。クライアントデバイス120は、クライアントゲームアプリケーションなどの、サーバ110によってホストされるロケーションベースゲームに関連付けられたソフトウェアを実行して、プレイヤが仮想世界と対話することを可能にする。クライアントデバイス120はまた、チャットルームのためのユーザインターフェースを提供するためのハードウェア、ソフトウェア、またはその両方を含み得る。クライアントデバイス120は、他のクライアントデバイス120が物理的世界において互いに近接している場合に、そのデバイスを検出するように構成される(すなわち、デバイス近接検出)。実施形態において、クライアントデバイス120は、パーソナルエリアネットワーク(PAN)デバイスおよび関連付けられた通信プロトコル(例えば、Bluetooth、ZigBee、赤外線、超広帯域、近接場通信、Wi-Fiダイレクトなど)を使用して近接検出を実行する。クライアントデバイス120は、物理世界における他のクライアントデバイス120の検出を記述する情報(例えば、検出されたクライアントデバイスのユーザに関連付けられたプレイヤ識別子または検出されたクライアントデバイスに関連付けられたデバイス識別子)を格納し得る。クライアントデバイス120は、検出に対応する格納された情報をゲームサーバ110に提供し得る。クライアントデバイス120の様々な実施形態について、図2を参照して以下により詳細に説明する。
【0015】
クライアントデバイス120が他のクライアントデバイス120の近接検出を実行できる距離範囲は、使用される技術またはデバイスに応じて変化し得る。上述したように、クライアントデバイス120が近接検出にPANデバイスを使用する場合、近接検出のための距離範囲は、特定のPANデバイスが別のPANデバイスを検出することが可能な範囲である。例えば、Bluetooth Low Energy(LE)のケースでは、Bluetooth LEデバイスは、約60メートルの範囲で他のBluetooth LEデバイスを検出または接続できる。別の例として、Wi-Fiダイレクトのケースでは、Wi-Fiダイレクトデバイスは、約100メートルの範囲で他のWi-Fiダイレクトデバイスを検出または接続できる。同じまたは異なる実施形態では、クライアントデバイス120は、他のデバイスまたは技術を使用して、他のクライアントデバイス120の近接検出を実行し得る。一例として、クライアントデバイス120は、クライアントデバイス120上のGPS受信機を使用して決定されたクライアントデバイス120の地理座標を使用し得る。このケースでは、近接検出の距離範囲は、確率された閾値距離(例えば、20m)とし得る。別の例として、クライアントデバイス120は、Wi-Fiネットワークなどのローカルエリアネットワーク(LAN)に接続し、同じLANに接続された他のデバイスを識別し得る。このケースでは、近接検出の距離範囲は、クライアントデバイス120が特定のLANに接続できる範囲であり得、そのLANを提供する関連するソフトウェアおよびハードウェア(例えば、使用される無線LANルータのタイプ)によって影響され得る。
【0016】
ネットワーク130は、ローカルエリアネットワーク(例えば、イントラネット)、ワイドエリアネットワーク(例えば、インターネット)、またはそれらの一部の組み合わせなど、任意のタイプの通信ネットワークとすることができる。ネットワークはまた、クライアントデバイス120とゲームサーバ110との間の直接接続を含むことができる。一般に、ゲームサーバ110とクライアントデバイス120との間の通信は、様々な通信プロトコル(例えば、TCP/IP、HTTP、S1v1TP、FTP)、エンコーディングまたはフォーマット(例えば、HTML、JSON、XML)、および/または保護スキーム(例えば、VPN、secureHTTP、SSL)を使用して、任意のタイプの有線および/または無線接続を使用するネットワークインタフェースを介して実行できる。
【0017】
図2は、図1に示したクライアントデバイス120Aの一実施形態のブロック図である。クライアントデバイス120Aは、並行現実ゲームのプレイヤに関連付けられている。他のクライアントデバイス(例えば、クライアントデバイス120Bおよび120C)は、同じまたは類似のアーキテクチャを有し、並行現実ゲームの他のプレイヤに関連付けられている。ゲームシステム100は、ロケーションベースゲームのためのものであるため、クライアントデバイス120は、好ましくは、スマートフォンまたは他のポータブルデバイスなどのポータブルコンピューティングデバイスであり、容易に持ち運ぶこと、またはそうでなければプレイヤと一緒に輸送することができる。プレイヤは、クライアントデバイス120を実際の世界に持ち運ぶか、または輸送するだけで、仮想世界と対話できる。図示の実施形態では、クライアントデバイス120Aは、デバイス近接モジュール210と、ゲームモジュール220と、ユーザインターフェースモジュール230と、デバイス検出データストア240と、ローカルデータストア250とを含む。他の実施形態では、クライアントデバイス120Aは、追加の、または図2に示されたコンポーネントとは異なるコンポーネントを含む。
【0018】
デバイス近接モジュール210は、プレイヤが現実世界でクライアントデバイス120Aと共に動き回るにつれて、ロケーションベースゲームのプレイヤ(すなわち、プレイヤデバイス)に関連付けられたクライアントデバイス120Aに近接した他のクライアントデバイス120を検出する。いくつかの実施形態では、デバイス近接モジュール210は、PANデバイスを含む。これらの実施形態では、PANデバイスは、ブロードキャストクライアントデバイス120の近接内の他のクライアントデバイス120がブロードキャスト情報を受信できるように、ブロードキャストクライアントデバイス120またはブロードキャストクライアントデバイス120に関連付けられたプレイヤを記述する情報をブロードキャストする。さらに、PANデバイスは、他のクライアントデバイス120のPANデバイスによってブロードキャストされた情報を識別するスキャナを含む。例えば、PANデバイスがBluetooth LEデバイスである場合、Bluetooth LEデバイスは、1つまたは複数のチャネルを使用して、そのBluetooth LEデバイスに対応する汎用一意識別子(UUID)と、プレイヤの識別子(例えば、プレイヤIDまたはユーザ名)を含むメッセージとを含む広告データパケットを連続的にブロードキャストし得る。Bluetooth LEデバイスは、上述したように、広告データパケットをブロードキャストするために使用される1つまたは複数のチャネルを周期的または連続的に聴取し得る。
【0019】
同一または異なる実施形態では、別のクライアントデバイス120が検出された後、デバイス近接モジュール210は、検出を記述する情報をデバイス検出データストア240に格納する。特に、デバイス近接モジュール210は、PANデバイスによって受信されたプレイヤを識別する情報、または検出がいつ行われたかを示すタイムスタンプなどの他のコンテキスト情報を格納する。デバイス近接モジュール210は、デバイス検出に対応する情報をゲームモジュール220に提供する。代替の実施形態では、デバイス近接モジュール210は、デバイス検出に対応する情報をゲームサーバ110に直接提供する。
【0020】
いくつかの実施形態では、デバイス近接モジュール210は、デバイス近接検出を記述する情報をデバイス検出データストア240に格納する、または情報をゲームモジュール220に提供する前に、特定のデバイス近接検出が1つまたは複数の基準を満たすことを検証する。例えば、デバイス近接モジュール210は、デバイス近接検出の時間、デバイス近接検出の地理的な位置、検出されたデバイスに関連付けられたプレイヤ、または他のコンテキスト情報に対応する基準に基づいて、デバイス近接検出を検証し得る。一実施形態では、デバイス近接モジュール210は、検出されたクライアントデバイス120または検出されたクライアントデバイス120に関連付けられたプレイヤが、以前の時間間隔(例えば、前の時間、前日、前の週など)内に検出されていないことを検証する。例えば、ロケーションベースゲームは、時間間隔ごとに1回だけ、同じクライアントデバイス120の近接検出に基づいてゲームアクションを実行し得る。このようにして、ロケーションベースゲームは、クライアントデバイス120がある期間にわたって同じ物理的な位置にあるか、またはそうでなければ、ある時間間隔で複数回互いを検出する2人のプレイヤに対する複数のまたは頻繁なゲームアクションを防止できる。デバイス近接検出が1つまたは複数の基準を満たすことを検証することによって、デバイス近接モジュール120は、ゲームサーバ110に提供された後に追加のゲームアクションをもたらさない近接検出の重複する格納を防止する。代替の実施形態では、デバイス近接モジュール210は、すべてのデバイス近接検出を記述する情報を格納し、代わりに、デバイス近接検出は、ゲームモジュール220またはゲームサーバ110によって上述のように1つまたは複数の基準に基づいて検証される。
【0021】
ゲームモジュール220は、ゲームサーバ110がホストする並行現実ゲームのためのクライアントサイドのゲームアプリケーションを動作させる。実施形態では、ゲームモジュール220は、仮想世界に関する情報をユーザインターフェースモジュール230と通信して、仮想世界に関連付けられたコンテンツを表示するなどする。ゲームモジュール220は、さらに、ゲームサーバ110からゲームデータを受信または取得する。例えば、ゲームモジュール220は、クライアントデバイス120の位置に基づいて利用可能なゲームコンテンツ(例えば、ゲームアイテム)、他のプレイヤに関連付けられたデバイスの地理的な位置、または今後のコミュニティイベント(例えば、競争トーナメント)を記述したゲームデータをゲームサーバ110から受信し得る。同一または異なる実施形態では、ゲームモジュール220は、デバイス近接モジュール210によって行われた、またはデバイス検出データストア240に格納されたデバイス近接検出を記述する情報を、ゲームサーバ110に送信する。このケースでは、ゲームモジュール220は、ゲームモジュール220によってゲームサーバ110に提供されるデバイス近接検出を記述する情報に基づいて、1つまたは複数のゲームアクションを記述するゲームデータをゲームサーバ110から受信または取得する。デバイス検出に基づくゲームアクションは、図3を参照して以下により詳細に説明される。
【0022】
いくつかの実施形態において、ゲームモジュール220は、特定のイベントの発生に基づいて、デバイス検出を記述する情報をゲームサーバ210に送信する。例えば、ゲームモジュール220がゲームサーバ110から切断された場合(例えば、クライアントデバイス120がインターネットに接続されていない場合)、デバイス近接モジュール210は、ゲームモジュール220が切断された期間に発生した任意のデバイス検出を記述する情報を格納し得る。このケースでは、ゲームモジュール220がゲームサーバ110に再接続した後(例えば、ネットワーク130を介して)、ゲームモジュール220は、その期間中に発生したデバイス検出の一部または全部を送信し得る。別の例として、ゲームモジュール220は、ゲームサーバ110によってホストされるロケーションベースゲームに関連付けられたクライアントゲームアプリケーションをユーザが起動または再開するなど、クライアントデバイス120との特定のユーザインタラクションに応答して、1つまたは複数のデバイス近接検出を記述する情報を送信し得る。さらに別の例として、クライアントデバイス120に関連付けられたプレイヤは、クライアントデバイス120とのユーザインタラクションを通じて、格納されたデバイス検出を提供する要求を手動で示し得る。同一または異なる実施形態では、ゲームモジュール220は、1つまたは複数の格納されたデバイス検出を記述する情報を、ゲームサーバ110に対して、予め定義された時間間隔(例えば、毎分)などで定期的に提供する。
【0023】
クライアントデバイス120のユーザインターフェースモジュール230は、クライアントデバイス120のユーザインターフェースのコンポーネントを構築し、表示する。いくつかの実施形態では、ユーザインターフェースは、ゲームモジュール220から受信した仮想要素および仮想経験などの仮想世界のコンポーネントを含む仮想世界の描写をユーザに表示する。ユーザインターフェースモジュール230はまた、仮想世界におけるチャットルームの場所、およびチャットルーム内のユーザ間で送信されたメッセージを表示し得る。ユーザは、クライアントデバイス120と対話して、仮想要素に関与し、仮想体験に参加し、またはチャットルーム内で会話し得る。例えば、ユーザインターフェースモジュール230は、関心のあるポイント、チャットルーム、および他の仮想体験を描写する仮想世界のビューを表示し得る。クライアントデバイス120のユーザは、ユーザインターフェースを介してこれらのコンポーネントと対話して、タスクを完了する、チャットルームに参加する、または他のアクションの中でも競合に参加することができる。
【0024】
いくつかの実施形態では、ユーザインターフェースモジュール230は、1つまたは複数の他のクライアントデバイス120の近接検出に関連するユーザインターフェースを提供する。例えば、ユーザインターフェースモジュール230は、別のクライアントデバイス120が検出されたことを示す通知と、検出されたデバイスに関連付けられたプレイヤのプレイヤIDまたは検出が発生した時刻などの検出に関連する情報とを表示し得る。同じまたは異なる実施形態では、ユーザインターフェースモジュール230は、クライアントデバイス120のユーザが、他のクライアントデバイスの近接検出に基づいて何が起こるかを決定することを可能にする要素を提供する。例えば、ユーザインターフェースモジュール230は、近接検出プリファレンスを調整する(例えば、デバイス近接検出を有効または無効にする)、デバイス検出データストア240に格納されたデバイス近接検出を記述する情報の送信を開始する、デバイス検出データストア240に格納されたデバイス近接検出をレビューする、または近接検出に基づいて可能なゲームアクションから選択するための要素を含むユーザインターフェースを提供し得る。特に、ユーザインターフェースモジュール230は、「他のプレイヤの検索」要素(例えば、ボタン)のような、近接検出を開始するための要素を含むインタフェースを提供し得る。
【0025】
デバイス検出データストア240は、クライアントデバイス120によるデバイス近接検出を記述する情報を格納するように構成された1つまたは複数のコンピュータ可読媒体である。デバイス検出データストア240によって格納される情報は、クライアントデバイス120から受信される、またはそうでなければゲームサーバ110によって取得または決定さ得る。実施形態において、デバイス検出データストア240は、デバイス近接検出に基づいて検出されたデバイスに関連付けられたプレイヤの識別子を、少なくとも格納する。デバイス検出データストア240は、さらに、デバイス近接検出がいつ発生したかを示すタイムスタンプ、またはデバイス近接検出がどこで発生したかを示す地理的な位置(例えば、GPS座標)などの、デバイス近接検出を記述するコンテキスト情報を格納し得る。ゲームサーバ110が複数のゲームをホストするいくつかの実施形態では、デバイス検出データストア240は、所与のデバイス近接検出に対応する1つまたは複数のゲームを記述する情報(例えば、ゲーム名または識別子)を格納する。さらに別の実施形態では、デバイス検出データストア240は、不正確なまたは不正な近接検出を防止するセキュリティ情報、近接検出が発生した時間の間隔(例えば、別のデバイスが検出された時間の量)、または近接検出に関連するプレイヤまたはデバイスを記述する他の情報を格納する。
【0026】
ローカルデータストア250は、クライアントデバイス120によって使用されるデータを格納するように構成された1つまたは複数のコンピュータ可読媒体である。例えば、ローカルデータストア250は、ポジショニングデバイス210によって追跡されたプレイヤ位置情報、並行現実ゲームの現在の状態のローカルコピー、または任意の他の適切なデータを格納し得る。ローカルデータストア250は、単一のエンティティとして示されているが、データは、複数の媒体にわたって分割され得る。さらに、データは、他の場所(例えば、分散データベース)に格納され、ネットワーク130を介してリモートでアクセスされ得る。
【0027】
図3は、ロケーションベースの並行現実ゲームをホストするゲームサーバ110の一実施形態を示す。図示された実施形態では、ゲームサーバ110は、ユニバーサルゲームモジュール310、ゲームアクションモジュール320、およびゲームデータベース330を含む。他の実施形態では、ゲームサーバ110は、異なるまたは追加の要素を含む。さらに、機能は、説明されたのとは異なる方法で要素間に分散され得る。
【0028】
ゲームサーバ110は、1つまたは複数のクライアントデバイス120から(例えば、リモートプロシージャコール(RPC)を介して)ゲームデータの要求を受信し、ネットワーク130を介してそれらの要求に応答するように構成できる。例えば、ゲームサーバ110は、1つまたは複数のデータファイルにゲームデータをエンコードし、そのデータファイルをクライアントデバイス120に提供できる。さらに、ゲームサーバ110は、ネットワーク130を介して1つまたは複数のクライアントデバイス120からゲームデータ(例えば、プレイヤの位置、プレイヤのアクション、プレイヤの入力など)を受信するように構成できる。例えば、クライアントデバイス120は、プレイヤの入力、プレイヤの位置、およびその他のアップデートをゲームサーバ110に定期的に送信するように構成でき、これは、ゲームサーバ110がゲームデータベース330内のゲームデータを更新し、変更されたゲームのコンディションを反映するために使用する。また、ゲームサーバ110は、他のプレイヤの位置、チャットルームの位置、または仮想要素の位置などのゲームデータをクライアントデバイス120に送信し得る。
【0029】
ユニバーサルゲームモジュール310は、プレイヤのためにロケーションベースゲームをホストし、ロケーションベースゲームの現在の状態に対する権威ソース(the authoritative source)として機能する。ユニバーサルゲームモジュール310は、クライアントデバイス120からゲームデータ(例えば、プレイヤ入力、プレイヤの位置、プレイヤのアクション、プレイヤの状態、ランドマーク情報など)を受信し、受信したゲームデータを、ロケーションベースゲームのすべてのプレイヤのための全体的なロケーションベースゲームに組み込む。ゲームデータと共に、ユニバーサルゲームモジュール310は、ゲームモジュール220内のローカルゲーム状態を更新するために、クライアントデバイス120に送信できるゲームの全体的なゲーム状態を格納する。ユニバーサルゲームモジュール310はまた、ネットワーク130を介したクライアントデバイス120へのゲームデータの配信を管理できる。
【0030】
ゲームアクションモジュール320は、ユニバーサルゲームモジュール310の一部であるか、または別個とすることができる。ゲームアクションモジュール320は、クライアントデバイス120によって実行される近接検出に基づいてゲームアクションを実行するように構成される。ゲームアクションモジュール320は、クライアントデバイス120から近接検出を記述する情報を受信する。受信した近接検出情報を使用して、ゲームアクションモジュール320は、ゲームデータを作成、変更、またはそうでなければ処理するゲームアクションを実行する。ゲームアクションモジュール320は、ゲームアクションをもたらすゲームアクションモジュール320に近接検出情報を提供したクライアントデバイス120など、実行されたゲームアクションに基づいて、クライアントデバイス120にゲームデータを提供できる。例えば、ゲームアクションモジュール320は、ゲームデータベース330を参照して以下に説明するゲームデータの任意の組み合わせ(例えば、タイプ(1)乃至(9)のゲームデータ)など、ロケーションベースゲームのプレイヤに対応するゲームデータ(例えば、プレイヤのプロファイルまたはアカウントに関連付けられている)を処理するゲームアクションを実行する。一例として、プレイヤAに関連付けられたクライアントデバイス120が、プレイヤBに関連付けられた別のクライアントデバイス120を検出した場合、ゲームアクションモジュール320は、ゲームアクションに基づいて、プレイヤAまたはプレイヤBのプレイヤプロファイルを修正し得る。いくつかの実施形態において、ゲームアクションモジュール320は、ゲームアクションを実行するために、ユニバーサルゲームモジュール310と通信する。例えば、ゲームアクションモジュール320は、ユニバーサルゲームモジュール310と通信して、受信した近接検出情報または他のコンテキスト情報(例えば、現在時刻またはゲーム特徴)に基づいて、どのゲームアクションが実行できるかを決定し得る。同じまたは異なる実施形態では、ゲームアクションモジュール320は、1つまたは複数のゲームアクションに対応するゲームデータに対して実行される処理を記述する情報など、クライアントデバイス120に対して実行される1つまたは複数のゲームアクションを記述する情報を提供する。実行された1つまたは複数のゲームアクションを記述する情報は、例えば、ゲームアクションが発生したことを示すまたはゲームアクションを記述する通知などの、クライアントデバイス120上に表示するための通知を含み得る。
【0031】
様々な実施形態では、ゲームアクションモジュール320は、デバイス近接検出に対応する一方または両方のプレイヤのゲームデータを処理するゲームアクションを実行する。いくつかの実施形態では、ゲームアクションモジュール320は、近接検出を記述する情報(すなわち、検出デバイス)を提供したクライアントデバイス120に関連付けられたプレイヤのためのゲームアクションを実行する。例えば、クライアントデバイス120Aがクライアントデバイス120Bのデバイス近接検出を記述する情報を提供した場合、ゲームアクションモジュール320は、クライアントデバイス120Aに関連付けられたプレイヤのためのゲームデータに影響を与えるゲームアクションを実行することができる。このようなゲームアクションは、プレイヤに報酬としてゲームアイテムを提供し、プレイヤにゲーム経験を提供し、(例えば、プレイヤに関連付けられたゲームキャラクタをレベルアップする)、プレイヤに友人リクエストを他のプレイヤに送信することを推奨するゲームアクションモジュール320、またはプレイヤに固有の他のゲームアクションを含み得る。同一または異なる実施形態では、ゲームアクションモジュール320は、検出されたデバイス(例えば、前の例ではクライアントデバイス120B)に関連付けられたプレイヤのゲームデータを処理するゲームアクションを実行する。ゲームアクションモジュール320は、検出デバイスに関連付けられたプレイヤに対して実行されるものと同じまたは異なる、検出されたデバイスに関連付けられたプレイヤに対するゲームアクションを実行し得る。さらに、同じまたは異なる実施形態では、ゲームアクションモジュール320は、検出デバイスに関連付けられたプレイヤおよび検出されたデバイスに関連付けられたプレイヤの両方(例えば、上記の例では、クライアントデバイス120Aおよびクライアントデバイス120Bの両方)のゲームデータを処理するゲームアクションを実行する。両プレイヤのゲームデータに影響を与えるゲームアクションモジュール320によって実行されるゲームアクションは、プレイヤ間でゲーム要素(例えば、ゲームアイテム、画像、メッセージ、ゲーム状態など)を交換すること、一方のプレイヤから他方のプレイヤにゲーム要素を提供すること、両方のプレイヤのゲーム内イベント(例えば、戦闘)を開始すること、もう一方のプレイヤが既に関与している既存の拡張現実体験に一方のプレイヤを追加すること、プレイヤの一方または両方に関連付けられたゲーム内マップを更新すること、またはプレイヤ間の接続を確立するために相手プレイヤ(the opposite player)を記述する情報を提供することを含み得る。
【0032】
いくつかの実施形態では、ゲームアクションモジュール320は、近接検出に関与する両方のクライアントデバイス120からデバイス近接検出を記述する情報をゲームアクションモジュール320が受信したかどうかに基づいて、実行する1つまたは複数のゲームアクションを決定する。例えば、ゲームアクションモジュールがクライアントデバイス120Aからクライアントデバイス120Bの検出を記述する情報を受信した場合、ゲームアクションモジュール320は、クライアントデバイス120Bからクライアントデバイス120Aの検出を記述する情報も受信したかどうかに基づいて、実行する1つまたは複数のゲームアクションを決定し得る。他の実施形態では、ゲームアクションモジュール320は、単一のクライアントデバイス120から受信したデバイス近接検出情報に基づいて、実行する1つまたは複数のゲームアクションを決定する。
【0033】
いくつかの実施形態では、ゲームアクションモジュール320によって実行されるゲームアクションは、ロケーションベースゲームの2人のプレイヤ間のゲームアイテムの交換(すなわち、ゲームアイテムの交換)である。例えば、第1のプレイヤと第2のプレイヤとの間の近接検出を記述する情報を受信したことに応答して、ゲームアクションモジュール320は、第2のプレイヤに関連付けられた1つまたは複数のゲームアイテムとトレードするために、第1のプレイヤに関連付けられた1つまたは複数のゲームアイテムを取得できる。一実施形態では、プレイヤは、他のプレイヤとのトレードを希望する1つまたは複数のゲームアイテム(例えば、プレイヤプロファイルまたはアカウントに関連付けられたゲームアイテム)を指定することが可能である。一例として、プレイヤは、デバイスの近接検出が発生したときに他のプレイヤとでトレードできるゲームアイテムのグループに追加されるように、ロケーションベースゲームをプレイすることによって収集したゲームアイテムのセットから選択し得る。この選択は、プレイヤに関連付けられたクライアントデバイス120、またはゲームサーバ110と通信することができる別のデバイス(例えば、ラップトップまたはデスクトップコンピュータ)を使用して、プレイヤによって行われ得る。次いで、ゲームアクションモジュール320は、受信したデバイス近接検出情報によって示されるように、関連付けられたクライアントデバイス120の一方または両方が現実世界で他のデバイスを検出したときに、2人のプレイヤ間のトレードを実行できる。例えば、クライアントデバイス120Aがクライアントデバイス120Bを検出した場合、ゲームアクションモジュール320は、1つまたは複数のゲームアイテムを、クライアントデバイス120Aに関連付けられたプレイヤおよびゲームクライアントデバイス120Bに関連付けられたプレイヤと交換できる。ゲームアクションモジュール320は、ゲームアイテムを交換する際に、ゲームデータベース330内のゲームデータを更新する。ゲームアクションモジュール320は、追加的にまたは代替的に、ユニバーサルゲームモジュール310と通信して、ゲームアイテムのトレードを実行する、またはゲームアイテムのトレードが発生したことを伝達し得る。一実施形態では、ゲームアクションモジュール320は、トレードが発生したことを示すか、またはトレードの詳細を記述する表示のための通知を、ゲームアイテムのトレードに関与するクライアントデバイス120の一方または両方に提供する。
【0034】
様々な実施形態では、ゲームアクションモジュール320は、ゲームアイテムのトレードを実行するために追加の処理を実行する。一実施形態では、ゲームアクションモジュール320は、デバイスの近接検出に対応するプレイヤによってトレードのために指定されたゲームアイテムに関連付けられた値を決定または識別する。ゲームアイテムの値は、ゲームアイテムの特性、実際のまたはゲーム内の通貨でのゲームアイテムの価格、ゲームアイテムの価値の他の指標、またはそれらの組み合わせに対応し得る。ゲームアクションモジュール320は、デバイス近接検出に対応する各プレイヤに対して1つまたは複数のゲームアイテムを選択してトレードするために、ゲームアイテムの値を使用する。例えば、ゲームアクションモジュール320は、同じ値またはトレード閾値内の差のある値を有するゲームアイテムを交換し得る。ゲームアクションモジュール320がプレイヤ間のトレードを実行する際に考慮し得る情報の他の例は、ロケーションベースゲームにおけるプレイヤ間の関連付け(例えば、プレイヤは友達であるか、両方ともチームなどのゲーム内組織に関連付けられているか)またはゲームアイテムの特徴(例えば、ゲームアイテムタイプ)含む。
【0035】
ゲームデータベース330は、ネットワーク130を介してクライアントデバイス120にサービスまたは提供されるロケーションベースゲームで使用されるゲームデータを格納するように構成された1つまたは複数の機械可読媒体を含む。実施形態では、ゲームデータベース330に格納されるゲームデータは、(1)ロケーションベースゲームにおける仮想世界に関連付けられたデータ(例えば、表示デバイス上で仮想世界をレンダリングするために使用される画像データ、仮想世界における位置の地理座標など)、(2)プレイヤプロファイルまたはアカウントデータなどのロケーションベースゲームのプレイヤに関連付けられたデータ(例えば、プレイヤ情報、プレイヤ経験レベル、プレイヤ通貨、プレイヤインベントリ、仮想世界/現実世界における現在のプレイヤ位置、プレイヤエネルギーレベル、プレイヤ嗜好、チーム情報など)、(3)ゲーム目標に関連付けられたデータ(例えば、現在のゲーム目標、ゲーム目標の状態、過去のゲーム目標、将来のゲーム目標、所望のゲーム目標などに関連付けられたデータ)、(4)仮想世界における仮想要素に関連付けられたデータ(例えば、仮想要素の位置、仮想要素のタイプ、仮想要素に関連付けられたゲーム目標、仮想要素に対応する実際の世界位置情報、仮想要素の挙動、仮想要素の関連性など)、(5)現実世界オブジェクトに関連付けられたデータ、ランドマーク、仮想世界要素にリンクされた位置(例えば、現実世界オブジェクト/ランドマークの位置、現実世界オブジェクト/ランドマークの説明、現実世界オブジェクトにリンクされた仮想要素の関連性など)、(6)ゲーム状態(例えば、現在のプレイヤ数、ゲーム目標の現在の状態、プレイヤリーダーボードなど)、(7)プレイヤアクション/入力に関連付けられたデータ(例えば、現在のプレイヤ位置、過去のプレイヤ位置、プレイヤ移動、プレイヤ入力、プレイヤクエリ、プレイヤ通信など)、(8)仮想経験に関連付けられたデータ(例えば、仮想経験の位置、仮想経験に関連付けられたプレイヤアクション、襲撃などの仮想イベントなど)、および(9)ロケーションベースゲームの実行中に使用され、関連し、または取得される任意の他のデータを、含むことができる。ゲームデータベース330に格納されたゲームデータは、オフラインまたはリアルタイムのいずれかで、システム管理者によって、またはネットワーク130を介して1つまたは複数のクライアントデバイス120などからプレイヤから受信したデータによって、入力できる。
【0036】
ゲームデータベース330はまた、現実世界データを格納し得る。現実世界データは、現実世界における個人の集合位置を記述する人口密度データ、現実世界におけるプレイヤの集合位置を記述するプレイヤ密度データ、文化的価値または商業的価値の位置に関連付けられたプレイヤアクション、地理的エリアにおけるゲームアクションの分布を記述するプレイヤヒートマップデータ、仮想世界における仮想要素の位置に対応する現実世界の位置を記述する関心点データ、大水域、山、峡谷などの様々な地形および生態のコンディションの位置を記述する地形データ、道路、高速道路および水路の位置を提供するマップデータ、個々のプレイヤの現在および過去の位置、ハザードデータ、気象データ、イベントカレンダーデータ、プレイヤの活動データ(例えば、移動距離、運動時間など)、および、その他の適切なデータを含み得る。現実世界データは、任意の適切なソースから収集または取得できる。例えば、ゲームデータベース330は、マップサービスによってアクセスされる1つまたは複数のマップデータベースなどのマップ情報を格納するマップデータベースに結合される、含む、または一部とすることができる。別の例として、ゲームサーバ110は、人口データ、ハザードデータ、気象データ、イベントカレンダーデータなどを定期的に提供する1つまたは複数の外部データソースまたはサービスに結合できる。
【0037】
図3に示したモジュール以外の他のモジュールをゲームサーバ110と共に使用することができる。任意の数のモジュールは、本明細書に記載するサーバサイドの機能を実行するようにプログラムされる、またはそうでなければ構成することができる。さらに、サーバサイド上の様々なコンポーネントを再配置できる。他の構成は、本開示に照らして明らかになるであろうが、本開示は特定の任意の構成に限定されることを意図しない。
【0038】
[デバイス近接検出方法]
図4は、デバイス近接検出のための方法400の実施形態を示すフローチャートである。示された実施形態において、図4のステップは、方法400を実行するクライアントデバイス120の観点から示されている。しかし、ステップの一部または全部は、他のエンティティまたはコンポーネントによって実行され得る。さらに、いくつかの実施形態は、異なるステップを実行する、または異なる順序で、もしくは並列にステップの一部を実行し得る。
【0039】
図4に示された実施形態では、方法400は、第1のクライアントデバイス(例えば、クライアントデバイス120A)が他のクライアントデバイスのためにPANをスキャン(410)することから始まる。例えば、第1のクライアントデバイスは、デバイス近接検出を行うために、PANデバイスのスキャナを使用して、他のクライアントデバイス120のPANデバイスによってブロードキャストされる情報をスキャンし得る。スキャンに基づいて、第1のクライアントデバイスは、第2のクライアントデバイス上のアプリケーションに対応するPANを介して第2のクライアントデバイス(例えば、クライアントデバイス120B)から識別子を受信する(420)。例えば、第1のクライアントデバイスは、第2のクライアントデバイスに関連付けられたロケーションベースゲームのプレイヤのプレイヤIDを含む、第2のクライアントデバイスによってブロードキャストされた情報を受信することによって(例えば、デバイス近接モジュール210を使用して)、第2のクライアントデバイスの近接検出を実行し得る。第1のクライアントデバイスは、第2のクライアントデバイスから受信した識別子を格納する(430)。例えば、第1のクライアントデバイスは、デバイス検出データストア240に識別子を格納し得る。
【0040】
第1のクライアントデバイスは、アプリケーションに対応するオンラインシステムに識別子を提供する(440)。例えば、第1のクライアントデバイスは、ゲームサーバ110に識別子を提供し得る(例えば、ゲームモジュール220を使用して)。第1のクライアントデバイスは、第1のクライアントデバイスによる識別子の受信に基づいてオンラインシステムによって実行されるアクションに対応するアプリケーションに関するデータを受信する(450)。例えば、第1のクライアントデバイスは、ゲームサーバ110によって実行されるゲームアクションに対応するゲームデータを受信し得る。
【0041】
図5は、デバイス近接検出を使用してゲームアイテムをトレードする方法500の一実施形態を示すフローチャートである。示される実施形態では、図5のステップは、方法500を実行するクライアントデバイス120の観点から示される。しかし、ステップの一部または全部は、他のエンティティまたはコンポーネントによって実行され得る。さらに、いくつかの実施形態は、異なるステップを実行する、または異なる順序でもしくは並行してステップの一部を実行し得る。
【0042】
図5に示す実施形態では、方法500は、第1のクライアントデバイス(例えば、クライアントデバイス120A)に関連付けられたロケーションベースゲームの第1のプレイヤのための第1のゲームアイテムを、トレードに利用可能であるとして識別すること(510)から始まる。例えば、第1のプレイヤは、第1のプレイヤのためのゲームデータに含まれる1つまたは複数のゲームアイテムを、トレード可能であるとして指定し得る。第1のクライアントデバイスは、第1のクライアントデバイスの近接内にある第2のプレイヤに関連付けられた第2のクライアントデバイス(例えば、クライアントデバイス120B)を検出する(520)。特に、第1のクライアントデバイスは、第2のクライアントデバイスの近接検出に基づいて第2のプレイヤの識別子を受信する。例えば、第1のクライアントは、デバイス近接モジュール210を使用して第2のクライアントデバイスの近接検出を実行し得る。第1のクライアントデバイスは、第2のプレイヤの識別子を格納する(530)。例えば、第1のクライアントデバイスは、デバイス検出データストア240にプレイヤ識別子を格納し得る。
【0043】
第1のクライアントデバイスは、ロケーションベースゲームをホストするオンラインシステムに識別子を提供する(540)。例えば、第1のクライアントデバイスは、ゲームサーバ110に識別子を提供し得る(例えば、ゲームモジュール220を使用して)。これに応答して、第1のクライアントデバイスは、第2のゲームアイテムに対する第1のゲームアイテムの交換を示すゲームデータをオンラインシステムから受信する(550)。例えば、第1のクライアントデバイスは、交換が発生したことを示すか、または第1のプレイヤが受信したゲームアイテムを記述するプッシュ通知をゲームサーバ110から受信し得る。
【0044】
図6は、一実施形態による、図1のネットワークコンピューティング環境での使用に適した例示的なコンピュータを示すブロック図である。具体的には、図6は、コンピュータシステム600の例示的な形態におけるマシンの図式表現を示す。コンピュータシステム600は、ゲームサーバ110またはクライアントデバイス120のコンポーネント(またはモジュール)と関連付けられ、説明されるものを含む、本明細書に記載される方法(またはプロセス)の任意の1つまたは複数をマシンに実行させるための命令624(例えば、プログラムコードまたはソフトウェア)を実行するために使用できる。
【0045】
マシンは、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、スマートフォン、ネットワークルータ、スイッチまたはブリッジ、セルフォンタワー、またはそのマシンが取るべきアクションを指定する命令624(順次またはその他)を実行することが可能な任意のマシンとし得る。さらに、単一のマシンのみが示されているが、「マシン」という用語は、開示された方法のいずれかを実行するために命令624を個別にまたは共同で実行するマシンの任意の集合も含むものとする。
【0046】
例示的なコンピュータシステム600は、1つまたは複数の処理ユニット(一般に1つまたは複数のプロセッサ602)を含む。プロセッサ602は、例えば、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、コントローラ、状態マシン、1つまたは複数の特定用途向け集積回路(ASIC)、1つまたは複数の無線周波数集積回路(RFIC)、またはこれらの任意の組み合わせである。プロセッサ602への任意の参照は、単一のプロセッサまたは複数のプロセッサを指し得る。コンピュータシステム600はまた、メインメモリ604を含む。コンピュータシステムは、ストレージユニット616を含み得る。プロセッサ602、メモリ604、およびストレージユニット616は、バス608を介して通信する。
【0047】
また、コンピュータシステム600は、スタティックメモリ606、ディスプレイドライバ610(例えば、プラズマディスプレイパネル(PDP)、液晶ディスプレイ(LCD)、またはプロジェクタを駆動するための)を含むことができる。また、コンピュータシステム600は、英数字入力デバイス612(例えば、キーボード)、カーソル制御デバイス614(例えば、マウス、トラックボール、ジョイスティック、モーションセンサ、または他のポインティング機器)、信号生成デバイス618(例えば、スピーカ)、およびネットワークインタフェースデバイス620を含み得、これらもバス608を介して通信するように構成される。
【0048】
ストレージユニット616は、本明細書に記載される方法または機能のいずれかを実行するための命令624(例えば、ソフトウェア)を格納し得る機械可読媒体622を含む。命令624はまた、コンピュータシステム600による実行中に、完全にまたは部分的にメインメモリ604内またはプロセッサ602内(例えば、プロセッサのキャッシュメモリ内)に存在し得る。メインメモリ604およびプロセッサ602も機械可読媒体を構成する。命令624は、ネットワークインタフェースデバイス620を介してネットワーク130上で送信または受信され得る。
【0049】
機械可読媒体622は、例示的な実施形態では単一の媒体であるように示されているが、「機械可読媒体」という用語は、命令624を格納することが可能な単一の媒体または複数の媒体(例えば、集中型または分散型データベース、または関連付けられたキャッシュおよびサーバ)を含むと理解されるべきである。「機械可読媒体」という用語はまたマシンによる実行のための命令624を格納することが可能であり、本明細書に開示された方法または機能の任意の1つまたは複数をマシンに実行させる任意の媒体を含むと理解されるべきである。用語「機械可読媒体」は、ソリッドステートメモリ、光学媒体、および磁気媒体の形態のデータリポジトリを含むが、これらに限定されない。
【0050】
本主題は、特定の例示的な実施形態およびその方法に関して詳細に説明されたが、当業者であれば、前述を理解することにより、そのような実施形態の変更、変形、および均等物を容易に作成できることが理解さ得る。したがって、本開示の範囲は、限定ではなく例示によるものであり、本開示は、当業者に容易に明らかであるような、本主題に対するそのような修正、変形、または追加の包含を排除するものではない。
【0051】
[その他の考慮事項]
上記の説明のいくつかの部分は、アルゴリズムプロセスまたは演算に関して実施形態を説明する。これらのアルゴリズムの記述および表現は、計算技術分野の当業者によって、その作業の内容を、他の当業者に効果的に伝えるために一般的に使用される。これらの動作は、機能的、計算的、または論理的に説明されるが、プロセッサまたは等価な電気回路、マイクロコードなどによる実行のための命令を含むコンピュータプログラムによって実装されることが理解される。さらに、一般性を失うことなく、機能的動作のこれらの構成をモジュールと呼ぶことが、時には便利であることも分かっている。
【0052】
本明細書で使用される場合、「1つの実施形態」または「一実施形態」への任意の言及は、その実施形態に関連して記載された特定の要素、特徴、構造、または特徴が少なくとも1つの実施形態に含まれることを意味する。本明細書の様々な場所における「1つの実施形態において」という語句の出現は、必ずしもすべてが同じ実施形態を指すわけではない。同様に、要素またはコンポーネントに先行する「a」または「an」の使用は、単に便宜上行われる。この説明は、別の意味であることが明白でない限り、要素またはコンポーネントの1つまたは複数が存在することを意味すると理解されるべきである。
【0053】
値が「近似的」または「実質的」(またはそれらの派生物)として記載される場合、そのような値は、他の意味がコンテキストから明らかでない限り、正確な+/-10%として解釈されるべきである。例えば、「約10」は「9から11の範囲内」を意味すると理解されるべきである。
【0054】
本明細書中で使用される場合、用語「含む(comprises)」、「含む(comprising)」、「含む(includes)」、「含む(including)」、「有する(has)」、および「有する(having)」またはそれらの任意の他の変形は、非排他的な包含をカバーすることを意図する。例えば、要素のリストを含むプロセス、方法、物品または装置は、必ずしもそれらの要素のみに限定されるものではなく、明示的に列挙されていない、またはそのようなプロセス、方法、物品または装置に固有でない他の要素を含み得る。さらに、反対に明示的に述べられていない限り、「または(or)」は包括的な「または(or)」を意味し、排他的な「または(or)」を意味しない。例えば、条件AまたはBは、Aが真(または存在する)でBが偽(または存在しない)、Aが偽(または存在しない)でBが真(または存在する)、およびAとBの両方が真(または存在する)のいずれか1つによって満たされる。
【0055】
本開示を読むと、当業者は、記載された技術およびアプローチを採用するために使用され得るさらなる代替の構造的および機能的設計を理解されるであろう。したがって、特定の実施形態および用途を図示して説明したが、説明した主題は、開示された正確な構造およびコンポーネントに限定されないことを理解されたい。保護の範囲は、以下の請求項によってのみ限定されるべきである。
図1
図2
図3
図4
図5
図6
【手続補正書】
【提出日】2023-02-16
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0011
【補正方法】変更
【補正の内容】
【0011】
図1に示す実施形態では、システム100は、ゲームサーバ110がネットワーク130を介して、クライアントデバイス120A乃至120Cを含む、1つまたは複数のクライアントデバイス120と通信するクライアントサーバアーキテクチャを有する。図1には3つのクライアントデバイス120が示されているが、任意の数のクライアントデバイス120がネットワーク130を介してゲームサーバ110に接続できる。他の実施形態では、分散ロケーションベースゲームシステム100は、異なるまたは追加の要素を含む。さらに、機能は、説明したのとは異なる方法で要素間に分散され得る。
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】図2
【補正方法】変更
【補正の内容】
図2
【国際調査報告】