(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-01-17
(54)【発明の名称】検証経路に対応するランドマークの画像データを使用したプレーヤの現実世界のロケーションの検証
(51)【国際特許分類】
A63F 13/71 20140101AFI20220107BHJP
A63F 13/216 20140101ALI20220107BHJP
A63F 13/65 20140101ALI20220107BHJP
A63F 13/213 20140101ALI20220107BHJP
A63F 13/30 20140101ALI20220107BHJP
【FI】
A63F13/71
A63F13/216
A63F13/65
A63F13/213
A63F13/30
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021523747
(86)(22)【出願日】2019-10-30
(11)【特許番号】
(45)【特許公報発行日】2022-01-05
(85)【翻訳文提出日】2021-06-23
(86)【国際出願番号】 IB2019059322
(87)【国際公開番号】W WO2020089814
(87)【国際公開日】2020-05-07
(32)【優先日】2018-10-30
(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のセットを受信する。クライアントは、画像データをキャプチャする間に検証経路に沿って移動するようにプレーヤにプロンプトする前に画像データの第1のセットがランドマークに一致するかどうかを決定する。クライアントは、移動する視点からランドマークの画像データの第2のセットを受信する。クライアントは、画像データの第2のセットがランドマークの視点で予想される変化に一致するかどうかを決定する。検証命令が完了すると、クライアントは、クライアントのロケーションをサーバに確認する。
【特許請求の範囲】
【請求項1】
クライアントデバイスの地理的位置を検証する符号化された命令を有する非一時的コンピュータ可読記憶媒体であって、前記命令は、プロセッサによって実行されると、前記プロセッサに、
前記クライアントデバイスのロケーション情報をサーバに送信し、前記ロケーション情報は、前記クライアントデバイスの地理的位置を規定し、
前記クライアントデバイスの地理的位置に近接するランドマークと前記クライアントデバイスの検証経路とを備える検証命令を前記サーバから受信し、
前記検証命令から、前記ランドマークの画像データをキャプチャするように前記クライアントデバイスのユーザにプロンプトし、
前記クライアントデバイスの最初の視点からの前記ランドマークの画像データの第1のセットを受信し、
前記画像データの第1のセットが前記ランドマークにマッチすることを判定し、
前記検証命令から、前記クライアントデバイスを前記検証経路に沿って移動させるように前記ユーザにプロンプトし、
前記クライアントデバイスの移動する視点からの前記ランドマークの画像データの第2のセットを受信し、
前記画像データの第2のセットが前記ランドマークの視点で予想される変化にマッチするかどうかを判定し、
前記画像データの第2のセットが前記ランドマークの視点で予想される変化にマッチする場合、前記クライアントデバイスが前記地理的位置にいることを確認する
ことを実行させる、非一時的コンピュータ可読記憶媒体。
【請求項2】
前記画像データの第1のセットおよび前記画像データの第2のセットは、前記クライアントデバイスのコンポーネントであるカメラによってキャプチャされる、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項3】
前記画像データの第1のセットは、前記最初の視点からの前記ランドマークの最初のピクチャを含む、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項4】
前記画像データの第2のセットは、カメラの前記移動する視点からの前記ランドマークのビデオを含む、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項5】
前記画像データの第2のセットは、前記ランドマークの新しい視点からの前記ランドマークの新しいピクチャを含み、前記ランドマークの新しいピクチャは、カメラの前記移動する視点にある、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項6】
前記ランドマークの視点で予想される変化は、前記検証命令にあり、前記検証経路に沿った前記クライアントデバイスの移動に従った前記ランドマークの予測される視点である、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項7】
前記画像データの第2のセットが前記ランドマークの視点で予想される変化にマッチするかどうかを判定することは、
カメラの前記移動する視点からの前記画像データの第2のセットが、前記画像データの第1のセットと比較して、前記ランドマークの新しい視点からの新しいピクチャを含むことを判定することを備える、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項8】
前記検証命令から、前記検証経路に沿って移動するように前記ユーザにプロンプトすることは、前記検証経路に沿って移動しながら、前記ランドマークの画像データをキャプチャするようにユーザにプロンプトすることをさらに含む、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項9】
カメラの前記移動する視点は、前記検証経路に沿って移動している間の前記クライアントデバイスの様々な視点に相当する、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項10】
前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記クライアントデバイスの移動センサから一連の移動データを受信し、
前記一連の移動データが前記検証経路に沿って移動している前記クライアントデバイスと一致していることを判定する
ことを実行させる、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項11】
前記移動センサは、前記クライアントデバイスの並進移動を記録する慣性測定ユニットであり、前記一連の移動データは、前記クライアントデバイスの並進移動を含み、前記一連の移動データが前記検証経路にマッチすることを判定することは、前記クライアントデバイスの並進移動が前記検証経路に沿って移動している前記クライアントデバイスと一致していることを判定することを含む、請求項10の非一時的コンピュータ可読記憶媒体。
【請求項12】
前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記クライアントデバイスが前記地理的位置にいることを確認したことを前記サーバに送信し、
前記クライアントデバイスの前記地理的位置に固有の、前記クライアントデバイスに表示するためのコンテンツを前記サーバから受信し、
前記サーバから受信したコンテンツを前記クライアントデバイスに表示する
ことを実行させる、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項13】
前記サーバは、並行現実ゲームをホストするゲームサーバであり、前記コンテンツは、前記クライアントデバイスの前記地理的位置に固有の、前記並行現実ゲームからのゲームコンテンツを含み、前記ユーザは、前記並行現実ゲームのプレーヤである、請求項12の非一時的コンピュータ可読記憶媒体。
【請求項14】
前記画像データの第1のセットが前記ランドマークにマッチすることを判定することは、ランドマーク認識モデルを適用して、前記画像データの第1のセットが前記ランドマークにマッチするかどうかを判定することを備え、前記ランドマーク認識モデルは、前記ランドマークの画像データをトレーニングすることに基づいてトレーニングされ、画像データが前記ランドマークにマッチするかどうかを判定することができる、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項15】
前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記検証経路に沿って移動している間に前記クライアントデバイスに追加入力を提供するように前記ユーザにプロンプトし、
前記検証経路に沿った前記クライアントデバイスの移動の間に前記クライアントデバイスへの追加入力を受信し、
前記追加入力が前記検証経路に沿った移動中のプロンプトされた追加入力にマッチするかどうかを判定する
ことを実行させ、
前記サーバに対して、前記クライアントデバイスが前記地理的位置にいることを確認することは、前記追加入力が前記プロンプトされた追加入力にマッチすることを判定することにさらに基づく、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項16】
前記プロンプトされた追加入力は、音声を含み、受信された前記追加入力は、前記検証経路に沿った前記クライアントデバイスの移動の間に前記クライアントデバイスによって受信された音響信号であり、前記追加入力が前記検証経路に沿った移動中のプロンプトされた追加入力にマッチするかどうかを判定することは、前記音響信号が前記音声にマッチするかどうかを判定することを含む、請求項15の非一時的コンピュータ可読記憶媒体。
【請求項17】
クライアントデバイスの地理的位置を検証する際に前記クライアントデバイスによって使用される検証命令を生成するコンピュータ実行方法であって、
前記クライアントデバイスのロケーション情報をサーバによって受信することであって、前記ロケーション情報は、前記クライアントデバイスの地理的位置を規定する、ことと、
前記サーバによってランドマークデータベースにアクセスすることと、
前記ロケーション情報において受信された前記クライアントデバイスの地理的位置に従って前記ランドマークデータベースからランドマークを検索することと、
前記クライアントデバイスのユーザに対して前記クライアントデバイスによってプロンプトされることになる経路を記述する検証経路を生成することと、
前記ランドマークと前記検証経路とを備える検証命令を生成することと、
前記検証命令を前記クライアントデバイスに送信することと
を備える方法。
【請求項18】
画像データが前記ランドマークにマッチするかどうかを判定するランドマーク認識モデルを検索することであって、前記ランドマーク認識モデルは、前記ランドマークの画像データをトレーニングすることに基づいてトレーニングされる、ことをさらに備え、
前記検証命令はまた、前記ランドマーク認識モデルを含む、
請求項17の方法。
【請求項19】
前記クライアントデバイスが前記地理的位置にいることを確認したことを前記クライアントデバイスから受信することと、
前記クライアントデバイスの前記地理的位置に固有のコンテンツを検索することと、
前記コンテンツを前記クライアントデバイスに表示するために提供することと
をさらに備える、請求項17の方法。
【請求項20】
プロセッサと、
クライアントデバイスの地理的位置を検証する符号化された命令を有するコンピュータ可読記憶媒体と
を備えたシステムであって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記クライアントデバイスのロケーション情報を、並行現実ゲームをホストするゲームサーバに送信し、前記ロケーション情報は、前記クライアントデバイスの地理的位置を規定し、
前記クライアントデバイスの地理的位置に近接するランドマークと前記クライアントデバイスの検証経路とを備える検証命令を前記ゲームサーバから受信し、
前記検証命令から、前記ランドマークの画像データをキャプチャするように前記クライアントデバイスを使用する前記並行現実ゲームのプレーヤにプロンプトし、
前記クライアントデバイスの最初の視点からの前記ランドマークの画像データの第1のセットを受信し、
ランドマーク認識モデルを適用して前記画像データの第1のセットが前記ランドマークにマッチすることを判定することによって、前記画像データの第1のセットが前記ランドマークにマッチすることを判定し、前記ランドマーク認識モデルは、前記ランドマークの画像データをトレーニングすることに基づいてトレーニングされ、画像データが前記ランドマークにマッチするかどうかを判定することができ、
前記検証命令から、前記クライアントデバイスを前記検証経路に沿って移動させるように前記プレーヤにプロンプトし、
前記クライアントデバイスの移動する視点からの前記ランドマークの画像データの第2のセットを受信し、
前記画像データの第2のセットが前記ランドマークの視点で予想される変化にマッチするかどうかを判定し、
前記画像データの第2のセットが前記ランドマークの視点で予想される変化にマッチする場合、前記クライアントデバイスが前記地理的位置にいることを確認し、
前記クライアントデバイスが前記地理的位置にいることを確認したことを前記ゲームサーバに送信し、
前記クライアントデバイスの前記地理的位置に固有の、前記クライアントデバイスに表示するためのゲームコンテンツを前記ゲームサーバから受信し、
前記ゲームサーバから受信したゲームコンテンツを前記クライアントデバイスに表示する
ことを実行させる、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、ロケーションベースのゲームに関し、より詳細には、並行現実ゲーム(parallel reality game)の一部としてプレーヤの現実世界のロケーションを検証するためのシステムおよび方法に関する。
【背景技術】
【0002】
現実世界の少なくとも一部分と並行している共有仮想世界を与える並行現実ゲームは、プレーヤのコミュニティを引きつけ得る様々な対話をホストすることができる。現実世界の少なくとも一部分と並行している地理をもつ仮想世界を与えることにより、プレーヤは、現実世界をナビゲートすることによって仮想世界をナビゲートすることができる。仮想環境中の仮想要素を現実世界中の現実世界のオブジェクト、ロケーションおよび行為にリンクすることは、プレーヤが通常は無視するだろう現実世界中の特徴にプレーヤが進んでそれに気づくことを奨励することができる。カウンターパートである現実世界オブジェクトおよび/または現実世界におけるロケーションと同じ仮想世界中のロケーションに仮想要素を与えることは、仮想要素が現実世界の非表示部分であるという感覚を増加させる。
【0003】
並行現実ゲームは、仮想世界中の他のプレーヤとの社会的対話を通して、仮想世界中の様々なゲーム目的を通してなど、プレーヤが仮想世界中で対話することを奨励するゲーム特徴を含み得る。いくつかのゲーム特徴は、並行仮想世界を現実世界とより密接にリンクするために与えられ得る。並行現実ゲームはまた、例えば、特定の日時に現実世界中の定義された地理的エリア中に集まり、現実世界中に集まっている間に仮想世界中でも互いに対話することによってプレーヤが現実世界と仮想世界との中で同時に対話することを奨励するゲーム特徴を含むことができる。
【0004】
デバイスのロケーションを「なりすましする(spoofing)」と一般に呼ばれる、コンピューティングデバイスに真のロケーションとは異なるものとして自身のロケーションを報告させることを個人が行うことを可能にする技術が存在する。並行現実ゲームをプレイする際にそのような技術を使用するプレーヤは、同様に「なりすまし者(spoofer)」と呼ばれる。これらのプレーヤのデバイスロケーションをなりすましすることにより、これらのプレーヤがその現実世界のロケーションに物理的に存在する必要なしにこれらのプレーヤが特定の現実世界のロケーションに限定されることを目的とする並行仮想世界中の特徴およびイベントにアクセスすることが可能になるため、これらのプレーヤはこれらのゲーム中で問題を生じることがある。これは、現実世界のロケーションに進むための取り組みを行うプレーヤを落胆させ、意図されたようにゲームをプレイする他のプレーヤよりゲーム中で不公平な利点をなりすまし者に与え得る。なりすまし者は、ゲームをプレイする間に任意の特定の物理的ロケーションを訪問する必要がないので、なりすましは、広告主およびスポンサに対する並行現実ゲームの好ましさを低減し得る。例えば、バーモントにあるコーヒーショップが、カリフォルニアに物理的に位置するが、バーモントに位置するかのように見せるためにデバイスのロケーションをなりすましするゲーム中のプレーヤに対して出現する価値はほとんどない。
【発明の概要】
【0005】
上記および他の問題は、プレーヤの現実世界のロケーションを検証するためにプレーヤのコンピューティングデバイスを用いてプレーヤの移動中にキャプチャされたランドマークの画像データを使用することによって対処され得る。仮想世界中のロケーションまたはオブジェクトと対話するかまたはそれに近づく際に、プレーヤのクライアントデバイスは、現実世界において利用可能な情報を使用してそれが対応する現実世界のロケーションにまたはそれの近くに位置することを検証し得る。この情報は、プレーヤに固有であり得るか、またはプレーヤのグループ(例えば、チームの全てのプレーヤ、特定の地理的エリアからの全てのプレーヤ、世界中の全てのプレーヤなど)にわたって共有され得る。
【0006】
一実施形態では、プレーヤのクライアントデバイスのロケーションを検証するための方法およびシステムは、クライアントデバイスによってキャプチャされた画像データと、検証経路に沿ったクライアントデバイスを伴うプレーヤの移動をプロンプトすることとを利用する。検証プロセスは、サーバがクライアントデバイスのロケーションを受信することと、サーバがプレーヤのクライアントデバイスのための検証命令を準備することとを含む。検証命令は、現実世界のロケーションに近接しているランドマークとクライアントデバイスのための検証経路とを含む。クライアントデバイスが検証命令を受信すると、プレーヤのクライアントデバイスは、検証命令によって指定された(ランドマークのピクチャまたはビデオであり得る)ランドマークの最初の画像データをキャプチャするようにプレーヤにプロンプトする。プレーヤのクライアントデバイスは、画像データがランドマークに一致することを検証し得る。次いで、クライアントデバイスは、ランドマークの新しい画像データを断続的にキャプチャする間にクライアントデバイスとともに検証経路に沿って移動するようにプレーヤにプロンプトすることを続ける。プレーヤのクライアントデバイスは、新たにキャプチャされた画像データがランドマークに一致することと、新たにキャプチャされた画像データが最初の画像データとは異なる視点を有することとをもう一度検証する。追加の実施形態では、クライアントデバイスは、検証経路に沿ったデバイスの物理的な移動を表す移動データを1つまたは複数の移動センサから受信する。クライアントデバイスは、移動データが検証経路に一致するのかどうかを決定し得る。新たにキャプチャされた画像データが検証されると、プレーヤのクライアントデバイスは、デバイスがアクセスポイントに対応する現実世界のロケーションにあると結論付け得る。
【0007】
本開示の他の例示的な実装形態は、ロケーションベースの並行現実ゲーム中での活動に基づいてプレーヤの現実世界のロケーションを検証するためのシステム、装置、非一時的コンピュータ可読媒体、デバイス、およびユーザインターフェースを対象とする。
【0008】
以下の説明では、様々な実施形態の態様および利点が説明される。追加の態様および利点は、説明に基づいて当業者には明らかになり得るか、または実施形態の実施を通して明らかになり得る。本明細書の一部に組み込まれ、それを構成する添付図面は、様々な実施形態を示し、説明とともに、関連する原則について説明するのに役立つ。
【図面の簡単な説明】
【0009】
当業者を対象とする実施形態の詳細説明は、添付図面を参照する本明細書に示される。
【
図1】一実施形態による、プレーヤの現実世界のロケーションが並行現実ゲーム内での活動に基づいて検証され得るネットワーク化されたコンピューティング環境のブロック図である。
【
図2】一実施形態による、現実世界と並行している地理を有する仮想世界の表現を示す図である。
【
図3】一実施形態による、並行現実ゲームの例示的なゲームインターフェースを示す図である。
【
図4】一実施形態による、現実世界の活動を並行現実ゲームにリンクするための方法のサーバクライアント間の相互作用図である。
【
図5】一実施形態による、プレーヤのクライアントデバイスの現実世界のロケーションを検証するための検証プロセスの図である。
【
図6】一実施形態による、プレーヤのクライアントデバイスの現実世界のロケーションを検証するための方法のサーバクライアント間の相互作用図である。
【
図7】一実施形態による、
図6の方法におけるゲームインターフェース図である。
【
図8】一実施形態による、コンピューティングデバイスの例示的なアーキテクチャを示す図である。
【発明を実施するための形態】
【0010】
概要
ゲームサーバは、現実世界の地理の少なくとも一部分と並行する地理をもつ仮想世界を含むプレーヤゲームエリアを有する並行現実ゲームをホストすることができる。プレーヤは、現実世界中のある範囲の地理的座標をナビゲートすることによって仮想世界中の仮想空間を定義するある範囲の座標をナビゲートすることができる。特に、プレーヤの位置は、例えば、モバイルコンピューティングデバイスであり得るプレーヤのクライアントデバイスに関連する測位システム(例えば、GPSシステム)を使用して監視または追跡され得る。プレーヤの位置情報は、ネットワークを介して並行現実ゲームをホストするゲームサーバに与えられ得、仮想世界中でのプレーヤロケーションを更新するためにゲームによって使用され得る。従って、プレーヤが、それらのクライアントデバイスとともに現実世界中のある範囲の座標中で連続的に動き回るとき、ゲームサーバは、プレーヤが並行仮想世界中である範囲の座標中で同じく連続的に動き回るように更新し得る。
【0011】
仮想世界は、注目する現実世界のポイントにリンクされた1つまたは複数の仮想要素を含み得る。例えば、仮想世界は、ランドマーク、博物館、芸術作品、図書館、または現実世界中で注目する他のエリアなどの注目するポイントに関連する様々な仮想要素を含むことができる。注目する現実世界のポイントにリンクされた仮想要素は、並行現実ゲームをプレイすることによって仮想世界がプレーヤが対話することができる現実世界の非表示次元であるという錯覚を与えることができる。例えば、プレーヤが現実世界中の地理的座標をナビゲートするときに、プレーヤは、並行仮想世界中に与えられた仮想要素を発見し、対話することができる。様々なゲーム目的は、プレーヤが並行現実ゲームの部分としてこれらの仮想要素と対話することを奨励することができる。いくつかの実施形態では、ゲームサーバは、注目する現実世界のポイントの周りでの並行現実ゲーム中での仮想イベントを編成し得る。
【0012】
現実世界と並行仮想世界との間のリンクを改善するために、いくつかのゲーム特徴は、仮想世界中での行為が現実世界中での行為に基づき、その逆も同様であるという効果を向上させるために、現実世界の商業活動または現実世界のデータ収集活動などの現実世界の活動にリンクされ得、それによって、並行現実ゲーム中でのユーザエクスペリエンスを改善する。現実世界中での商業活動にリンクされたゲーム特徴は、並行現実ゲームをプレイする間のプレーヤの行為が現実世界中での商業活動を奨励または促進するような並行現実ゲーム中に含まれ得る。スポンサ、広告主、企業、および他のエンティティは、並行現実ゲームのプレーヤにそれらのビジネスまたは他のエンティティの露出を増加させるためにいくつかのゲーム特徴を並行現実ゲーム中に含めるように要求することができる。
【0013】
並行現実ゲームをホストするゲームサーバは、並行現実ゲーム中にいくつかのゲーム特徴を含めるように並行現実ゲームに関連するゲームデータベース中に記憶されたゲームデータを変更、更新または追加できる。いくつかの基準を満たすプレーヤ(例えば、指定されたロケーションおよび時間にある特殊イベントのためのチケットホルダ、特定の販売促進オファーに参加したプレーヤ、指定されたゲーム中のタスクを完了したプレーヤ、または任意の他の定義可能なグループ)にのみ利用可能なアクセス制御されたゲーム特徴が含まれ得る。例えば、仮想世界中のゲーム特徴に関連するプレーヤの行為が商業活動につながるかまたはそれを奨励することができるように、ゲーム特徴は、現実世界中のもの(例えば、現実世界のライブイベント、注目する現実世界のポイント)にリンクされ得る。
【0014】
前に説明されたように、なりすまし者がアクセス制御されたゲーム特徴へのアクセスを獲得しないことまたはなりすまし技法を通してゲーム中で不公平な利点を獲得しないことを保証することが望ましい。従って、様々な時間に(例えば、プレーヤがアクセス制御された特徴へのアクセスを要求するときに、ゲームプレイ中に周期的に、プレーヤがあるロケーションの近傍内にあるときなど)、それらのクライアントデバイスをもつプレーヤが対応する現実世界のロケーションに実際にいることを検証するために追加のステップが取られ得る。一実施形態では、ゲームサーバとクライアントデバイスとは、プレーヤの現実世界のロケーションを検証するのを助けるためにプレーヤがクライアントデバイス上の測位システムによって与えられたロケーション情報の上の検証経路に沿って移動する間にランドマークの画像データを利用する。この検証は、なりすまし者がだますことが困難であり、システムをだまそうと試みる際の相対的な投資収益率を低減し、ひいては、なりすまし者の数を低減し得る。従って、ゲームを公平にプレイしている他のプレーヤのためのゲームエクスペリエンスが改善され得る。
【0015】
例示的なロケーションベースの並行現実ゲームシステム
並行現実ゲームは、現実世界中でのプレーヤ移動および行為が仮想世界中での行為に影響を及ぼし、その逆も同様であるような現実世界の地理の少なくとも一部分と並行している仮想世界の地理を有するロケーションベースのゲームである。当業者は、本明細書で提供される開示を使用して、説明される主題がユーザのロケーションを検証することが望ましい他の状況に適用可能なことを理解されよう。さらに、コンピュータベースのシステムの固有の柔軟性は、システムの構成要素の間でのタスクおよび機能の多種多様の可能な構成、組合せ、および分割を可能にする。例えば、本開示の態様によるシステムおよび方法は、単一のコンピューティングデバイスを使用してまたは(例えば、コンピュータネットワーク中で接続された)複数のコンピューティングデバイスにわたって実装され得る。
【0016】
図1は、プレーヤの現実世界のロケーションが並行現実ゲーム内での活動に基づいて検証され得るネットワーク化されたコンピューティング環境100の一実施形態を示す。ネットワーク化されたコンピューティング環境100は、現実世界と並行している地理を有する仮想世界中でのプレーヤの対話を提供する。特に、現実世界中での地理的エリアは、仮想世界中での対応するエリアに直接リンクまたはマッピングされ得る。プレーヤは、現実世界中で様々な地理的ロケーションに移動することによって仮想世界中で動き回ることができる。例えば、現実世界中でのプレーヤの位置は、仮想世界中でのプレーヤの位置を更新するために追跡および使用され得る。一般に、現実世界中でのプレーヤの位置は、プレーヤが仮想世界と対話するクライアントデバイス120のロケーションを発見し、プレーヤが同じ(またはほぼ同じ)ロケーションにいると仮定することによって決定される。例えば、様々な実施形態では、現実世界中でのプレーヤのロケーションが、仮想世界中の仮想要素の仮想ロケーションに対応する現実世界のロケーションの閾値距離(例えば、10メートル、20メートルなど)以内にある場合、プレーヤは仮想要素と対話し得る。便宜上、様々な実施形態は「プレーヤのロケーション」に関して説明されるが、そのような言及がプレーヤのクライアントデバイス120のロケーションを指し得ることを、当業者は諒解されよう。
【0017】
次に、
図2を参照すると、
図2は、一実施形態による、並行現実ゲームのプレーヤのためのゲームボードとして働くことができる現実世界200と並行している仮想世界210の概念図を示す。図示のように、仮想世界210は、現実世界200の地理と並行している地理を含むことができる。特に、現実世界200中の地理的エリアまたは空間を定義するある範囲の座標は、仮想世界210中の仮想空間を定義する対応する範囲の座標にマッピングされる。現実世界200中のある範囲の座標は、町、近傍、都市、構内、場所、国、大陸、地球全体、または他の地理的エリアに関連付けられ得る。ある範囲の地理的座標中の各地理的座標は、仮想世界中の仮想空間中の対応する座標にマッピングされる。
【0018】
仮想世界210中でのプレーヤの位置は、現実世界200中でのプレーヤの位置に対応する。例えば、現実世界200中での位置212に位置するプレーヤAは、仮想世界210中での対応する位置222を有する。同様に、現実世界中での位置214に位置するプレーヤBは、仮想世界中での対応する位置224を有する。プレーヤが、現実世界中のある範囲の地理的座標中で動き回るとき、プレーヤはまた、仮想世界210中の仮想空間を定義するある範囲の座標中で動き回る。特に、プレーヤが、現実世界中のある範囲の地理的座標をナビゲートするとき、プレーヤによって搬送されるモバイルコンピューティングデバイスに関連する測位システム(例えば、GPSシステム)はプレーヤの位置を追跡するために使用され得る。現実世界200中でのプレーヤの位置に関連するデータは、仮想世界210中の仮想空間を定義する対応する範囲の座標中でのプレーヤの位置を更新するために使用される。このようにして、プレーヤは、現実世界200中での特定の個別のロケーションにおいてロケーション情報をチェックインするかまたは周期的に更新する必要なしに現実世界200中の対応する範囲の地理的座標の間を単に進むことによって、仮想世界210中の仮想空間を定義するある範囲の座標中での連続トラックをナビゲートすることができる。
【0019】
ロケーションベースのゲームは、仮想世界中の様々な仮想ロケーションに拡散された様々な仮想要素および/または仮想オブジェクトに進む、および/またはそれと対話することをプレーヤに要求する複数のゲーム目的を含むことができる。プレーヤは、現実世界中で仮想要素またはオブジェクトの対応するロケーションに進むことによってこれらの仮想ロケーションに進むことができる。例えば、測位システムは、プレーヤが現実世界を連続的にナビゲートするとき、プレーヤがまた並行仮想世界を連続的にナビゲートするようにプレーヤの位置を連続的に追跡することができる。プレーヤは、1つまたは複数のゲーム目的を達成または実行するために特定のロケーションにおいて様々な仮想要素および/またはオブジェクトと対話することができる。
【0020】
例えば、ゲーム目的は、仮想世界210中の様々な仮想ロケーションに位置する仮想要素230をキャプチャするかまたはそれの所有権を主張することをプレーヤに要求することができる。これらの仮想要素230は、現実世界200中のランドマーク、地理的ロケーション、またはオブジェクト240にリンクされ得る。現実世界のランドマークまたはオブジェクト240は、芸術作品、モニュメント、建築物、企業、図書館、博物館、または他の好適な現実世界のランドマークもしくはオブジェクトであり得る。これらの仮想要素230をキャプチャするために、プレーヤは、現実世界中で仮想要素230にリンクされたランドマークまたは地理的ロケーション240に進まなければならず、仮想世界210中で仮想要素230との任意の必要な対話を実行しなければならない。例えば、
図2のプレーヤAは、その特定のランドマーク240にリンクされた仮想要素230と対話するかまたはそれをキャプチャするために現実世界200中でランドマーク240に進まなければならないことがある。仮想要素230との対話は、仮想要素230に関連するランドマークまたはオブジェクト240に関する写真を撮ることおよび/またはそれに関する他の情報を検証、取得もしくはキャプチャすることなど、現実世界中での行為を必要とすることができる。いくつかの実施形態では、仮想要素230との対話は、さらに、現実世界200中でのプレーヤのロケーションが仮想世界210中でのプレーヤのロケーションに一致することの検証をプロンプトし得る。
【0021】
ゲーム目的は、プレーヤがロケーションベースのゲーム中でプレーヤによって収集された1つまたは複数の仮想アイテムを使用することを必要とし得る。例えば、プレーヤは、ゲーム目的を完了するのに有用であり得る仮想アイテム(例えば、武器、クリーチャ、パワーアップ、または他のアイテム)を探索して仮想世界210を進み得る。これらの仮想アイテムは、現実世界200中で異なるロケーションに進むことによって、または仮想世界210もしくは現実世界200のいずれかで様々な行為を完了することによって発見または収集され得る。
図2に示された例では、プレーヤは、1つまたは複数の仮想要素230をキャプチャするために仮想アイテム232を使用する。特に、プレーヤは、仮想要素230に近接したまたはそれの内の仮想世界210中のロケーションに仮想アイテム232を展開することができる。このようにして1つまたは複数の仮想アイテム232を展開することにより、特定のプレーヤに対してまたは特定のプレーヤのチーム/派閥に対して仮想要素230のキャプチャをもたらすことができる。
【0022】
特定の一実装形態では、プレーヤは、並行現実ゲームの一部として仮想エネルギーを収集しなければならないことがある。
図2に示されているように、仮想エネルギー250は、仮想世界210中の異なるロケーションに拡散され得る。プレーヤは、実際の世界200中で仮想エネルギー250の対応するロケーションに進むことによって仮想エネルギー250を収集することができる。仮想エネルギー250は、ゲーム中で仮想アイテムにパワー供給するため、および/または様々なゲーム目的を実行するために使用され得る。全ての仮想エネルギー250を失ったプレーヤはゲームから切断され得る。
【0023】
本開示の態様によれば、並行現実ゲームは、ゲーム中のあらゆる参加者が同じ仮想世界を共有する大規模なマルチプレーヤのロケーションベースのゲームであり得る。プレーヤは、別個のチームまたは派閥に分割され、仮想要素の所有権をキャプチャするまたは主張するなどのために1つまたは複数のゲーム目的を達成するために協力することができる。このようにして、並行現実ゲームは、本質的に、ゲーム内のプレーヤ間での協働を奨励するソーシャルゲームであり得る。対立するチームのプレーヤは、並行現実ゲーム中に互いに足を引っ張り合うこと(または、時々、相互目的を達成するために共同すること)ができる。プレーヤは、対立するチーム上のプレーヤを攻撃するか、またはその進行を妨害するために仮想アイテムを使用し得る。場合によっては、プレーヤは、並行現実ゲーム中での協働型または対話型イベントのために現実世界のロケーションに集合するのを奨励される。これらの場合、ゲームサーバは、プレーヤが実際に物理的に存在し、なりすまししていないことを保証しようとする。
【0024】
並行現実ゲームは、並行現実ゲーム内でのゲームプレイを向上または奨励するために様々な特徴を有し得る。例えば、プレーヤは、(例えば、ゲーム中のアイテムを購入するために)ゲーム全体にわたって使用され得る仮想通貨または別の仮想報酬を蓄積できる。プレーヤは、1つまたは複数のゲーム目的を完了し、ゲーム内で経験を獲得するにつれてプレーヤは様々なレベルを通して進化できる。いくつかの実施形態では、プレーヤは、ゲーム中に与えられる1つまたは複数の通信インターフェースを通して互いに通信できる。プレーヤはまた、ゲーム内でゲーム目的を完了するために使用される拡張された「パワー」または仮想アイテムを取得できる。当業者は、本明細書で提供される開示を使用して、様々な他のゲーム特徴が本開示の範囲から逸脱することなく並行現実ゲームとともに含まれ得ることを理解されたい。
【0025】
再び
図1を参照すると、ネットワーク化されたコンピューティング環境100は、クライアントサーバアーキテクチャを使用し、ここで、ゲームサーバ110は、クライアント120においてプレーヤに並行現実ゲームを与えるためにネットワーク130を介して1つまたは複数のクライアント120と通信する。ネットワーク化されたコンピューティング環境100は、スポンサ/広告主システムまたはビジネスシステムなどの他の外部システムを含み得る。ただ1つのクライアント120が
図1に示されているが、任意の数のクライアント120または他の外部システムがネットワーク130を介してゲームサーバ110に接続され得る。さらに、ネットワーク化されたコンピューティング環境100は、異なるまたは追加の要素を含み得、機能は、以下で説明される方式とは異なる方式でクライアント120とサーバ110との間で分散され得る。
【0026】
ゲームサーバ110は、任意のコンピューティングデバイスであり得、1つまたは複数のプロセッサと1つまたは複数のコンピュータ可読媒体とを含み得る。コンピュータ可読媒体は、プロセッサに動作を実行させる命令を記憶できる。ゲームサーバ110は、ゲームデータベース115を含むことができるかまたはそれと通信することができる。ゲームデータベース115は、ネットワーク130を介してサービスされ、クライアント120に与えられるべき並行現実ゲーム中で使用されるゲームデータを記憶する。
【0027】
ゲームデータベース115中に記憶されるゲームデータは、(1)並行現実ゲーム中の仮想世界に関連するデータ(例えば、表示デバイス上に仮想世界をレンダリングするために使用されるイメージデータ、仮想世界中でのロケーションの地理的座標など)、(2)並行現実ゲームのプレーヤに関連するデータ(例えば、限定はしないが、プレーヤ情報、プレーヤの経験レベル、プレーヤの通貨、仮想世界/現実世界中での現在のプレーヤの位置、プレーヤのエネルギーレベル、プレーヤの選好、チーム情報、派閥情報などを含むプレーヤプロファイル)、(3)ゲーム目的に関連するデータ(例えば、現在のゲーム目的、ゲーム目的のステータス、過去のゲーム目的、将来のゲーム目的、所望のゲーム目的などに関連するデータ)、(4)仮想世界中の仮想要素に関連するデータ(例えば、仮想要素の位置、仮想要素のタイプ、仮想要素に関連するゲーム目的、仮想要素のための対応する実際の世界位置情報、仮想要素の挙動、仮想要素の関連性など)、(5)現実世界のオブジェクト、ランドマーク、仮想世界の要素にリンクされた位置に関連するデータ(例えば、現実世界のオブジェクト/ランドマークのロケーション、現実世界のオブジェクト/ランドマークの説明、現実世界のオブジェクトにリンクされた仮想要素の関連性など)、(6)ゲームステータス(例えば、プレーヤの現在の数、ゲーム目的の現在のステータス、プレーヤのリーダーボードなど)、(7)プレーヤの行為/入力に関連するデータ(例えば、現在のプレーヤの位置、過去のプレーヤの位置、プレーヤの移動、プレーヤの入力、プレーヤのクエリ、プレーヤの通信など)、および(8)並行現実ゲームの実装の間に使用されるか、それに関係するか、またはその間に取得される任意の他のデータを含むことができる。ゲームデータベース115中に記憶されるゲームデータは、ネットワーク130を介して1つまたは複数のクライアント120からなどシステム管理者によっておよび/またはシステム100のユーザ/プレーヤから受信されたデータによってオフラインでまたはリアルタイムでのいずれかでポピュレートされ得る。
【0028】
ゲームサーバ110は、(例えば、リモートプロシージャ呼出し(RPC)を介して)1つまたは複数のクライアント120からゲームデータについての要求を受信し、ネットワーク130を介してそれらの要求に応答するように構成され得る。例えば、ゲームサーバ110は、1つまたは複数のデータファイル中のゲームデータを符号化し、クライアント120にデータファイルを与えることができる。さらに、ゲームサーバ110は、ネットワーク130を介して1つまたは複数のクライアント120からゲームデータ(例えば、プレーヤの位置、プレーヤの行為、プレーヤの入力など)を受信するように構成され得る。例えば、クライアント120は、ゲームサーバ110にプレーヤの入力と他の更新とを周期的に送るように構成され得、これをゲームサーバ110は、ゲームのための任意のおよび全ての変更状態を反映するためにゲームデータベース115中のゲームデータを更新するために使用する。
【0029】
図示された実施形態では、サーバ110は、ユニバーサルゲームモジュール112と、商用ゲーム特徴モジュール114と、データ収集モジュール116と、イベントモジュール118とを含む。ゲームサーバ110は、ゲームサーバ110の部分であり得るかまたはリモートでアクセスされ得るゲームデータベース115と対話する(例えば、ゲームデータベース115は、ネットワーク130を介してアクセスされる分散データベースであり得る)。他の実施形態では、ゲームサーバ110は、異なるおよび/または追加の要素を含んでいる。さらに、機能は、説明されたのとは異なる方式で要素の間で分散され得る。例えば、ゲームデータベース115は、ゲームサーバ110に統合され得る。
【0030】
ユニバーサルゲームモジュール112は、全てのプレーヤのための並行現実ゲームをホストし、全てのプレーヤのための並行現実ゲームの現在のステータスのための権威あるソースとして働く。ユニバーサルゲームモジュール112は、クライアント120からゲームデータ(例えば、プレーヤの入力、プレーヤの位置、プレーヤの行為、ランドマーク情報など)を受信し、並行現実ゲームの全てのプレーヤのための全体的な並行現実ゲームに受信されたゲームデータを組み込む。ユニバーサルゲームモジュール112はまた、ネットワーク130を介したクライアント120へのゲームデータの配信を管理することができる。ユニバーサルゲームモジュール112はまた、限定はしないが、クライアント120とゲームサーバ110との間の接続をセキュリティ保護することと、様々なクライアント120間の接続を確立することと、様々なクライアント120のロケーションを検証することとを含むクライアント120のセキュリティ態様を支配することができる。
【0031】
商用ゲーム特徴モジュール114は、それが含まれる実施形態では、ユニバーサルゲームモジュール112とは別個であるか、またはそれの部分であり得る。商用ゲーム特徴モジュール114は、現実世界中での商業活動にリンクされた並行現実ゲーム内の様々なゲーム特徴の包含を管理することができる。例えば、商用ゲーム特徴モジュール114は、並行現実ゲーム中での商業活動にリンクされたゲーム特徴を含めるために(ネットワークインターフェースを介して)ネットワーク130を介してスポンサ/広告主、企業、または他のエンティティなどの外部システムから要求を受信することができる。商用ゲーム特徴モジュール114は、並行現実ゲーム中へのこれらのゲーム特徴の包含を手配することができる。
【0032】
ゲームサーバ110は、データ収集モジュール116をさらに含むことができる。データ収集モジュール116は、それが含まれる実施形態では、ユニバーサルゲームモジュール112とは別個であるか、またはそれの部分であり得る。データ収集モジュール116は、現実世界中でのデータ収集活動にリンクされた並行現実ゲーム内の様々なゲーム特徴の包含を管理することができる。例えば、データ収集モジュール116は、並行現実ゲーム中でのデータ収集活動にリンクされたゲーム特徴を含むようにゲームデータベース115中に記憶されたゲームデータを変更することができる。データ収集モジュール116は、データ収集活動に従ってプレーヤによって収集されたデータを分析し、様々なプラットフォームによるアクセスのためのデータを与えることができる。データ収集モジュール116の様々な実施形態については、
図6を参照しながら以下でより詳細に説明される。
【0033】
イベントモジュール118は、並行現実ゲーム中でのイベントへのプレーヤのアクセスを管理する。「イベント」という用語が便宜のために使用されているが、この用語は、特定のロケーションまたは時間における特定のイベントを指す必要はないことを諒解されたい。むしろ、プレーヤがそのコンテンツにアクセスし得るのかどうかを決定するために1つまたは複数のアクセス基準が使用されるアクセス制御されたゲームコンテンツの任意の提供を指し得る。そのようなコンテンツは、アクセス制御が少ないかないゲームコンテンツを含むより大きい並行現実ゲームの一部であり得るかまたはスタンドアロンのアクセス制御された並行現実ゲームであり得る。
【0034】
クライアント120は、ゲームシステム100とインターフェースするためにプレーヤによって使用され得る任意のポータブルコンピューティングデバイスであり得る。例えば、クライアント120は、ワイヤレスデバイス、携帯情報端末(PDA)、ポータブルゲームデバイス、セルラー電話、スマートフォン、タブレット、ナビゲーションシステム、ハンドヘルドGPSシステム、ウェアラブルコンピューティングデバイス、1つもしくは複数のプロセッサを有するディスプレイ、または他のそのようなデバイスであり得る。要するに、クライアント120は、プレーヤがゲームシステム100と対話することを可能にする任意のコンピュータデバイスまたはシステムであり得る。
【0035】
クライアント120は、1つまたは複数のプロセッサと1つまたは複数のコンピュータ可読媒体とを含み得る。コンピュータ可読媒体は、プロセッサに動作を実行させる命令を記憶できる。クライアント120は、ディスプレイスクリーン、タッチスクリーン、タッチパッド、データ入力キー、スピーカ、カメラ、および/または音声認識に好適なマイクロフォンなど、情報を与え、プレーヤから情報を受信するための様々な入出力デバイスを含むことができる。クライアント120はまた、限定はしないが、移動センサ、加速度計、ジャイロスコープ、他の慣性測定ユニット(IMU)、気圧計、測位システム、温度計、光センサなどを含む、クライアント120からのデータを記録するための他の様々なセンサを含み得る。クライアント120は、ネットワーク130を介した通信を与えるためのネットワークインターフェースをさらに含み得る。ネットワークインターフェースは、例えば、送信機、受信機、ポート、コントローラ、アンテナ、または他の好適な構成要素を含む1つまたは複数のネットワークとインターフェースするための任意の好適な構成要素を含むことができる。
【0036】
ネットワーク化されたコンピューティング環境100がロケーションベースのゲームを与えるので、クライアント120は、好ましくは、容易に携帯される、あるいはスマートフォンまたはタブレットなどのプレーヤとともに運ばれるポータブルコンピューティングデバイスである。
図1に示された実施形態では、各クライアント120は、カメラ126および複数の移動センサ128などの様々な物理構成要素をもつゲームモジュール122および測位モジュール124などのソフトウェア構成要素を含む。他の実施形態では、クライアント120は、(クライアント120の構成要素としてのまたはクライアント120の外部の)ディスプレイ、様々な入力デバイス(例えば、タッチスクリーン、マウス、スタイラス)などの異なるまたは追加の要素を含み得る。
【0037】
ゲームモジュール122は、並行現実ゲームに参加するためのインターフェースをプレーヤに与える。ゲームサーバ110は、ゲームサーバ110から離れたロケーションにいるプレーヤにゲームのローカルバージョンを与えるためにクライアント120においてゲームモジュール122が使用するためにクライアント120にネットワーク130を介してゲームデータを送信する。サーバ110は、ネットワーク130を介した通信を与えるためのネットワークインターフェースを含み得る。ネットワークインターフェースは、例えば、送信機、受信機、ポート、コントローラ、アンテナ、または他の好適な構成要素を含む1つまたは複数のネットワークとインターフェースするための任意の好適な構成要素を含み得る。
【0038】
クライアント120によって実行されるゲームモジュール122は、プレーヤと並行現実ゲームとの間のインターフェースを与える。ゲームモジュール122は、ゲームに関連する仮想世界を表示し(例えば、仮想世界の画像をレンダリングし)、ユーザが、様々なゲーム目的を実行するために仮想世界中で対話することを可能にするクライアント120に関連する表示デバイス上にユーザインターフェースを提示することができる。ゲームモジュール122は、プレーヤがディスプレイスクリーンを閲覧することを必要とすることなしにプレーヤがゲームと対話することを可能にするように様々な他の出力を制御することができる。例えば、ゲームモジュール122は、ディスプレイスクリーンに注目することなしにプレーヤがゲームをプレイすることを可能にする様々な音響、振動、または他の通知を制御することができる。ゲームモジュール122は、ユーザにゲームの正確な表現を与えるためにゲームサーバ110から受信されたゲームデータにアクセスすることができる。ゲームモジュール122は、プレーヤの入力を受信および処理し、ネットワーク130を介してゲームサーバ110に更新を与えることができる。
【0039】
測位モジュール124は、クライアント120の位置を監視する任意のデバイスまたは回路であり得る。例えば、測位モジュール124は、衛星航法測位システム(例えば、GPSシステム、Galileo測位システム、グローバルナビゲーション衛星システム(GLONASS)、BeiDou衛星航法および測位システム)、慣性航法システム、デッドレコニングシステムを使用することによって、IPアドレスに基づいて、セルラータワーもしくはWi-Fiホットスポットに対する三角測量および/もしくは近接度、並びに/または位置を決定するための他の好適な技法を使用することによって実際のまたは相対的な位置を決定することができる。測位モジュール124は、クライアント120のロケーションを正確に測位するのを助け得る様々な他のセンサをさらに含み得る。
【0040】
プレーヤが現実世界中でクライアント120とともに動き回るとき、測位モジュール124は、プレーヤの位置を追跡し、ゲームモジュール122にプレーヤ位置情報を与える。ゲームモジュール122は、現実世界中でのプレーヤの実際の位置に基づいてゲームに関連する仮想世界中でのプレーヤの位置を更新する。従って、プレーヤは、単に現実世界中でクライアント120を携帯するかまたは運ぶことによって仮想世界と対話することができる。特に、仮想世界中でのプレーヤのロケーションは、現実世界中でのプレーヤのロケーションに対応することができる。ゲームモジュール122は、ネットワーク130を介してゲームサーバ110にプレーヤの位置情報を与えることができるので、ユニバーサルゲームモジュール112は、ゲーム全体にわたって全てのプレーヤの位置を追跡する。それに応答して、ゲームサーバ110は、チーターがクライアント120のロケーションをなりすましするのを防ぐためにクライアント120のロケーションを検証するために様々な技法を定め得る。プレーヤのロケーション情報がアクセスされることを必要とすることと、ロケーション情報がゲームのコンテキストでどのように利用されることになるのか(例えば、仮想世界中でのプレーヤの位置を更新するため)とをプレーヤが通知された後に許可が与えられた場合にのみプレーヤに関連するロケーション情報が利用されることを理解されたい。さらに、プレーヤに関連するあらゆるロケーション情報は、プレーヤのプライバシーを保護する方式で記憶され、維持されることになる。
【0041】
ネットワーク130は、ローカルエリアネットワーク(例えば、イントラネット)、ワイドエリアネットワーク(例えば、インターネット)、またはそれらの何らかの組合せなどの任意のタイプの通信ネットワークであり得る。ネットワークはまた、クライアント120とゲームサーバ110との間の直接接続を含み得る。概して、ゲームサーバ110とクライアント120との間の通信は、任意のタイプの有線および/または無線接続を使用して、様々な通信プロトコル(例えば、TCP/IP、HTTP、SMTP、FTP)、符号化またはフォーマット(例えば、HTML、XML、JSON)および/または保護方式(例えば、VPN、セキュアHTTP、SSL)を使用してネットワークインターフェースを介して搬送され得る。
【0042】
本明細書で説明される技術は、サーバ、データベース、ソフトウェアアプリケーションおよび他のコンピュータベースのシステム、並びに取られた行為およびそのようなシステムとの間で送られる情報を参照する。コンピュータベースのシステムの固有の柔軟性は、構成要素間でのタスクおよび機能の多種多様の可能な構成、組合せ、および分割を可能にすることを当業者は認識されよう。例えば、本明細書で説明されるサーバプロセスは、単一のサーバまたは組み合わせて動作する複数のサーバを使用して実装され得る。データベースとアプリケーションとは、単一のシステム上に実装されるか、または複数のシステムにわたって分散され得る。分散された構成要素は、連続的にまたは並行して動作し得る。
【0043】
さらに、本明細書で説明されるシステムおよび方法が、ユーザに関する個人情報にアクセスし、それを分析するか、またはロケーション情報などの個人情報を利用する状況では、ユーザは、プログラムまたは特徴が情報を収集するのかどうかを制御することと、システムまたは他のアプリケーションからコンテンツを受信するのかどうか並びに/またはそれをどのように受信するのかを制御することとを行う機会が与えられ得る。どんな情報が収集されることを必要とするのかと情報がどのように使用されるのかとについてユーザが有意味な通知を与えられるまでそのような情報またはデータは収集も使用もされない。ユーザが、任意の時間にユーザによって取り消されるかまたは変更され得る承諾を与えない限り、情報は収集も使用もされない。従って、ユーザは、情報がユーザに関してどのように収集され、アプリケーションまたはシステムによって使用されるのかについての制御を有することができる。さらに、ある情報またはデータは、それが記憶または使用される前に1つまたは複数の方法で扱われ得、従って、個人情報が除去される。例えば、個人情報がユーザについて決定され得ないようにユーザの識別情報は扱われ得る。
【0044】
例示的なコンピューティングシステム
図8は、一実施形態による、コンピューティングデバイスの例示的なアーキテクチャである。
図8は、本明細書で説明される1つまたは複数のエンティティの一部または全体として使用されるコンピュータの物理構成要素を示すハイレベルのブロック図を示すが、一実施形態によれば、コンピュータは、
図8中に与えられた構成要素の追加の構成要素、それらよりも少ない構成要素、またはそれらの変形形態を有し得る。
図8はコンピュータ800を示すが、図は、本明細書で説明される実装形態の構造概略図としてではなく、コンピュータシステム中に存在し得る様々な特徴の機能的説明として意図される。実際には、当業者によって認識されるように、別々に示されているアイテムが組み合わされていることがあり、いくつかのアイテムは分離され得る。
【0045】
チップセット804に結合された少なくとも1つのプロセッサ802が、
図8に図示されている。また、メモリ806と、ストレージデバイス808と、キーボード810と、グラフィックスアダプタ812と、ポインティングデバイス814と、ネットワークアダプタ816とがチップセット804に結合されている。ディスプレイ818は、グラフィックスアダプタ812に結合されている。一実施形態では、チップセット804の機能は、メモリコントローラハブ820と入出力ハブ822とによって与えられる。別の実施形態では、メモリ806は、チップセット804の代わりにプロセッサ802に直接結合される。いくつかの実施形態では、コンピュータ800は、これらの構成要素を相互接続するための1つまたは複数の通信バスを含む。1つまたは複数の通信バスは、システム構成要素との間の通信を相互接続し、制御する(チップセットと呼ばれることがある)回路を随意に含む。
【0046】
ストレージデバイス808は、ハードドライブ、コンパクトディスク読取り専用メモリ(CD-ROM)、DVD、または固体メモリデバイスもしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、磁気ディスクストレージデバイス、光ディスクストレージデバイス、フラッシュメモリデバイス、または他の不揮発性固体ストレージデバイスなどの任意の非一時的コンピュータ可読記憶媒体である。そのようなストレージデバイス808は、永続メモリと呼ばれることもある。ポインティングデバイス814は、マウス、トラックボール、または他のタイプのポインティングデバイスであり得、コンピュータ800にデータを入力するためにキーボード810と組み合わせて使用される。グラフィックスアダプタ812は、ディスプレイ818上に画像および他の情報を表示する。ネットワークアダプタ816は、ローカルまたはワイドエリアネットワークにコンピュータ800を結合する。
【0047】
メモリ806は、プロセッサ802によって使用される命令とデータとを保持する。メモリ806は、非永続的メモリであり得、その例は、DRAM、SRAM、DDR RAM、ROM、EEPROM、フラッシュメモリ等の高速ランダムアクセスメモリを含む。
【0048】
当技術分野で知られているように、コンピュータ800は、
図13に示されている構成要素とは異なるおよび/または他の構成要素を有することができる。さらに、コンピュータ800は、いくつかの図示された構成要素が欠如していることがある。一実施形態では、サーバとして働くコンピュータ800は、キーボード810、ポインティングデバイス814、グラフィックスアダプタ812、および/またはディスプレイ818が欠如していることがある。さらに、ストレージデバイス808は、(ストレージエリアネットワーク(SAN)内に埋め込まれるなど)コンピュータ800に対してローカルおよび/またはリモートであり得る。
【0049】
当技術分野で知られているように、コンピュータ800は、本明細書で説明される機能を与えるためのコンピュータプログラムモジュールを実行するように適応される。本明細書で使用する、「モジュール」という用語は、指定された機能を与えるために利用されるコンピュータプログラム論理を指す。従って、モジュールは、ハードウェア、ファームウェア、および/またはソフトウェアで実装され得る。一実施形態では、プログラムモジュールは、ストレージデバイス808上に記憶され、メモリ806にロードされ、プロセッサ302によって実行される。
【0050】
例示的なゲームインターフェース
図3は、プレーヤと仮想世界210との間のインターフェースの一部としてクライアント120のディスプレイ上に存在し得るゲームインターフェース300の一実施形態を示す。ゲームインターフェース300は、仮想世界210と、仮想世界210中でのプレーヤの位置222並びに仮想要素230、仮想アイテム232、および仮想エネルギー250のロケーションなどのゲームの様々な他の態様とを表示するために使用され得るディスプレイウィンドウ310を含む。ユーザインターフェース300はまた、ゲームデータ情報、ゲーム通信、プレーヤ情報、クライアントロケーション検証命令、およびゲームに関連する他の情報などの他の情報を表示できる。例えば、ユーザインターフェースは、プレーヤの名前、経験レベルおよび他の情報などのプレーヤ情報315を表示できる。ユーザインターフェース300は、ゲームに関連する様々なゲーム設定および他の情報にアクセスするためのメニュー320を含むことができる。ユーザインターフェース300は、ゲームシステムとプレーヤとの間の、および並行現実ゲームの1人または複数人のプレーヤとの間の通信を可能にする通信インターフェース330を含むことができる。
【0051】
本開示の態様によれば、プレーヤは、単に現実世界中でクライアントデバイス120を持ち歩くことによって並行現実ゲームと対話することができる。例えば、プレーヤは、単にスマートフォン上の並行現実ゲームに関連するアプリケーションにアクセスし、スマートフォンとともに現実世界中で動き回ることによってゲームをプレイすることができる。この点について、プレーヤは、ロケーションベースのゲームをプレイするためにディスプレイスクリーン上で仮想世界の視覚表示を連続的に閲覧する必要がない。従って、ユーザインターフェース300は、ユーザがゲームと対話することを可能にする複数の非視覚的要素を含むことができる。例えば、ゲームインターフェースは、プレーヤがゲーム中の仮想要素またはオブジェクトに接近しているときに、または重要なイベントが並行現実ゲーム中で起こるときにプレーヤに可聴通知を与えることができる。プレーヤは、オーディオ制御340を用いてこれらの可聴通知を制御することができる。仮想要素またはイベントのタイプに応じてユーザに異なるタイプの可聴通知が与えられ得る。可聴通知は、プレーヤの仮想要素またはオブジェクトに対する近接度に応じて周波数またはボリュームを増加または減少することができる。振動通知または他の好適な通知もしくは信号などの他の非視覚的な通知および信号がユーザに与えられ得る。
【0052】
本明細書で提供される開示を使用して、多数のゲームインターフェース構成および基礎をなす機能が本開示に照らして明らかになるであろうことを、当業者は諒解されよう。本開示は、いずれか1つの特定の構成に限定されるものではない。
【0053】
並行現実ゲームの動作のクライアントサーバ間の流れ図
図4は、一実施形態による、現実世界の活動を並行現実ゲームにリンクする方法400のクライアントサーバ間の流れ図を示す。方法400は、
図1のシステム100のクライアントサーバ構成などの任意の好適なコンピューティングシステムを使用して実装され得る。
図4が例示および説明のために特定の順序で実行されるステップを示すが、本明細書で説明される方法は、任意の特定の順序または構成に限定されない。本明細書で提供される開示を使用して、本明細書で開示される方法の様々なステップが、本開示の範囲から逸脱することなく様々な方法で省略され、再構成され、組み合わされ、および/または適応され得ることを、当業者は諒解されよう。本方法はまた、異なるまたは追加のステップを含み得る。
【0054】
図4に示される実施形態では、方法400は、402において開始し、ゲームサーバ110が、複数のクライアントデバイス120のための並行現実ゲームをホストする。プレーヤは、1つまたは複数のクライアントデバイス120を介してネットワーク130を介してゲームサーバ110と通信することによって並行現実ゲームにアクセスすることができる。このようにして、ゲームサーバ110は、並行現実ゲームのためのイベントの権威あるソースとして働き得る。
【0055】
404において、サーバは、ゲーム特徴を含むように並行現実ゲームに関連するゲームデータを変更することができる。例えば、ゲームサーバ110は、ゲーム特徴が並行現実ゲーム中に含まれるようにゲームデータを変更するか、更新するか、またはそれをゲームデータベース115に追加することができる。いくつかのゲーム特徴は、現実世界の活動にリンクされ得る。これらのゲーム特徴は、並行現実ゲームのための全体的なゲーム目的に直接関係しない現実世界中での活動を含む現実世界中でのプレーヤによる活動を促進または奨励するように設計された任意のゲーム特徴であり得る。特定の実施形態では、現実世界の活動にリンクされたゲーム特徴は、現実世界中での商業活動にリンクされたゲーム特徴であり得る。
【0056】
406において、ゲームサーバ110は、ネットワーク130を介して1つまたは複数のクライアントデバイス120にゲーム特徴を含む並行現実ゲームをサービスする。408において、クライアントデバイス120は、ゲーム特徴に関連するデータを含むゲームデータをゲームサーバ110から受信する。クライアントデバイス120は、410においてプレーヤにゲーム特徴を含む並行現実ゲームを提示する。例えば、クライアントデバイス120は、仮想世界の視覚表示を表示することができる。仮想世界は、現実世界中でのプレーヤの活動を奨励または促進するために仮想世界中での特定のロケーションに位置する仮想要素などのゲーム特徴を含むことができる。
【0057】
412において、クライアントデバイス120は、ゲーム特徴とのプレーヤインタラクションに関連するデータを受信することを含む。例えば、クライアントデバイス120は、並行現実ゲーム中でのゲーム特徴に向けられたプレーヤの行為の結果としてデータを受信することができる。プレーヤインタラクションに関連するデータは、プレーヤを特定の仮想要素のロケーションにナビゲートし、仮想要素と対話することに関連するデータを含むことができる。別の例として、プレーヤインタラクションに関連するデータは、プレーヤがゲーム目的またはタスクを完了するように行動を起こすことに関連するデータを含むことができる。別の例として、プレーヤインタラクションに関連するデータは、現実世界の活動にリンクされたゲーム特徴の一部としてプレーヤに与えられるパワーアップまたは他の拡張パワーを使用してプレーヤに関連するデータを含むことができる。414において、クライアントデバイスは、サーバにゲーム特徴とのプレーヤインタラクションに関連するデータを与える。
【0058】
ゲーム特徴とのプレーヤインタラクションに関連するデータは、416においてゲームサーバ110において受信され得る。例えば、ゲームサーバ110は、ネットワーク130を介してクライアントデバイス120からゲーム特徴とのプレーヤインタラクションに関連するデータを受信することができる。ゲームサーバ110は、418においてプレーヤインタラクションに関連するデータに基づいて並行現実ゲーム中で1つまたは複数のゲーム要素を変更することができる。例えば、ゲームサーバ110は、現実世界の活動にリンクされたゲーム特徴とのプレーヤインタラクションを記録するために(ゲームデータベース115中に記憶されるプレーヤプロファイルなどの)プレーヤに関連するゲームデータベース115中に記憶されたゲームデータを更新することができる。さらに、サーバは、ゲーム特徴とインタラクションするための、並行現実ゲームにおいて使用するのに好適な仮想報酬などの報酬を与えるためにゲームデータを更新することができる。仮想報酬は、仮想アイテム、仮想エネルギー、仮想通貨、仮想パワーアップ、拡張パワー、経験ポイント、または任意の他の好適な報酬を含むことができる。
【0059】
プレーヤのクライアントデバイスのロケーション検証
図5は、一実施形態による、プレーヤのクライアントデバイス120のロケーションを検証するプロセスを図示する平面図である。プロセスは、
図1のクライアントデバイス120およびゲームサーバ110など、任意の好適なコンピューティングデバイスまたは好適なコンピューティングデバイスの組合せを使用して実装され得る。この例示的な実施形態では、クライアントデバイス120は、現実世界中でのクライアントデバイスの仮定されたロケーションをゲームサーバ110に(例えば、ネットワーク130を介して測位モジュール124からゲームサーバ110に)報告している。ゲームサーバ110は、クライアントデバイス120が仮定されたロケーションに実際に位置することを検証するプロセスを開始する。本明細書で開示される原則を使用して、本明細書で開示される方法の様々なステップが、本開示の範囲から逸脱することなく様々な方法で省略され、再構成され、組み合わされ、および/または適応され得ることを、当業者は諒解されよう。
【0060】
クライアントデバイス120は、クライアントデバイス120の仮定されたロケーションを決定するために測位モジュール124を利用する。クライアントデバイス120は、クライアントデバイスが仮定されたロケーションにあることをゲームサーバ110に報告していることがあり、報告されたロケーションに固有のコンテンツ(いくつかの例では、アクセス制御されたコンテンツ)を取り出そうと試みていることがある。ゲームサーバ110は、クライアントデバイス120が報告されたロケーションに実際にあることを保証することを目的とする。
【0061】
ゲームサーバ110は、クライアントデバイス120のロケーションを検証するためのクライアントデバイス120に対する検証命令のセットを生成する。仮想世界中のロケーションに対応する現実世界中の様々なロケーションについて、ゲームサーバ110は、プレーヤのクライアントデバイスのロケーションを検証する際に使用するための一意の現実世界のオブジェクトまたはランドマークを記憶し得る。ゲームサーバ110は、現実世界の商業活動が常駐する現実世界のロケーションにクライアントデバイスが存在することによってのみアクセス可能なゲームコンテンツの提供を保証するためにクライアントデバイスのロケーションを検証するためにゲームサーバ110が使用し得る現実世界の商業活動に近接している一意のランドマークを代替的に割り当て得る。例えば、コーヒーショップが並行現実ゲームのスポンサである場合、コーヒーショップに固有のゲームコンテンツを与える前にクライアントデバイスがコーヒーショップの近傍にあることを検証するための一意のランドマークとして近くの像が使用され得る。また、別の例では、ゲームサーバ110は、仮想ゲームイベントがホストされている現実世界のロケーションに一意のランドマークを割り当て得る。ゲームサーバ110は、プレーヤが仮想ゲームイベントに参加するためにクライアントデバイス120がランドマークの近くに位置することを検証し得る。ゲームサーバ110は、ゲームデータベース115中に仮想世界中のロケーションに対応する現実世界中の潜在的なロケーションごとにランドマークを記憶し得る。さらに、ゲームデータベース115中の記憶されたランドマークは、ランドマークの名前、ランドマークのモデル、様々な視点からのランドマークの写真、ランドマークの3Dサラウンディング環境などを含み得る。クライアントデバイス120のロケーションを検証するために、ゲームサーバ110は、その仮想ロケーションにあるコンテンツを取り出すようにクライアントデバイスが要求しているクライアントデバイスのロケーションに対応する記憶されたランドマークについてゲームデータベース115にアクセスする。ゲームサーバ110は、クライアントデバイス120を保持している間に行うようにプレーヤにプロンプトするために一連の移動を説明する検証経路を生成する。検証経路は、プレーヤがプレーヤに対して概して一定にクライアントデバイス120を保持する間のプレーヤの移動とプレーヤがランドマークに対して概して一定のままでいる間のプレーヤによるクライアントデバイス120の移動との任意の組合せについての命令を含み得るクライアントデバイスの一連の移動について効果的に説明する。記憶されたランドマークと検証経路とは、検証命令のセットを構成する。検証命令のセットがクライアントデバイス120に送信される。
【0062】
図5に示される実施形態では、クライアントデバイス120は、検証命令のセットを受信し、クライアントデバイス120のロケーションを検証する。クライアントデバイス120は、最初の位置520において検証命令から受信されたランドマーク510の画像データをキャプチャするようにプレーヤにプロンプトする。プレーヤは、クライアントデバイス120を用いてランドマーク510の画像データをキャプチャする。最初の位置520から、キャプチャされた画像データは、最初の透視平面(perspective plane)525に対して並行になるランドマーク510の視点を有する。最初の位置520における画像データが最初の透視平面525の前または後ろのオブジェクト(例えば、クライアントデバイス120の視錐台内で妨害されていないオブジェクト)を含み得るが、最初の透視平面525は、最初の位置520からの視線に対して直角である。一例では、ランドマーク510は、人の像である。最初の位置520から、最初の透視平面525は、人の真正面像を包含する。クライアントデバイス120は、最初の位置520からのキャプチャされた画像データが検証命令のセットからのランドマーク510のデータに一致するのか否かを決定する。いくつかの実施形態では、クライアントデバイス120は、最初の位置520からのキャプチャされた画像データがランドマーク510を含むのかどうかを決定するために画像認識技法(例えば、機械学習パターン認識アルゴリズム)を利用する。いくつかの実施形態では、クライアントデバイス120は、ゲームサーバ110からのトレーニングされた画像認識モデルを使用する。
【0063】
キャプチャされた画像データがランドマーク510のものであることをクライアントデバイス120が確認する場合、クライアントデバイス120は、検証命令中で検証経路515に従って移動するようにプレーヤにプロンプトする。それに応答して、プレーヤは、検証経路515に沿って相応に移動する。
図5の図では、検証経路515は、ランドマーク510に向かって5メートル前方に移動する第1のステップと、次いで、左に方向転換し、さらに10メートル移動する別のステップと、次いで、右に方向転換し、さらに2メートル移動する最終ステップとを含み得る。他の例では、検証経路515は、他の測定単位、例えば、フィート、ヤードなどを用いてプロンプトされ得るか、またはユーザは、単に方向のオンスクリーン表示(例えば、矢印)を用いてプロンプトされ、次いで、ユーザが必要とされる距離を移動したときに別の表示(例えば、矢印の消滅、停止符号など)が提供され得る。プレーヤの移動経路が検証経路515の移動経路に一致する場合、検証命令は、プレーヤが予想される位置530に到着したことを予期する。クライアントデバイス120はまた、検証経路515に沿った移動中におよび/またはその後にランドマーク510の画像データをキャプチャするようにプレーヤにプロンプトする。
【0064】
クライアントデバイス120が予想される位置530においてランドマーク510の画像データをキャプチャする場合、キャプチャされた画像データは、予想される透視平面535に対して並行になろう。最初の透視平面と同様に、予想される透視平面535は、予想される位置530からの視線に対して直角になる。特に、検証経路515に沿った移動の後の予想される透視平面535は、最初の透視平面525に対して並行にならない。像を用いた例に続いて、予想される透視平面535は、像のオフセット側面像を包含する。クライアントデバイス120は、画像データの最初のセットを補強するためにランドマーク510の新たにキャプチャされた画像データを使用する。クライアントデバイス120は、新たにキャプチャされた画像データがやはりランドマーク510のものであることを確認する。クライアントデバイス120は、新たにキャプチャされた画像データが検証命令に基づいて画像データの最初のセットの異なる視点を有するのかどうかをさらに決定する。例えば、クライアントデバイス120は、予想される位置530におけるランドマーク510の新たにキャプチャされた画像データが像の真正面像であるランドマーク510の最初にキャプチャされた画像データとは異なる像のオフセット側面像であると決定する。いくつかの実施形態では、検証経路515に沿った移動中のおよび/またはそれの後の新たにキャプチャされた画像データは、ランドマーク510のビデオを含む。クライアントデバイス120は、ビデオのフレームがランドマーク510に一致するのかどうか、およびフレームが最初の透視平面525からの様々な視点にあると決定し得る。いくつかの実施形態では、最初のおよび新たにキャプチャされた画像データがランドマーク510に一致することをクライアントデバイス120が確認する場合、クライアントデバイス120は、クライアントデバイス120のロケーションを検証する。
【0065】
追加の実施形態では、クライアントデバイス120は、クライアントデバイス120のロケーションの確認検証より前に検証経路515に沿ってクライアントデバイス120の移動を同じく確認するために移動センサ128を使用する。移動センサ128は、プレーヤが検証経路515に沿って移動することに対応する並進運動移動を検出し、記録し得る。いくつかの実施形態では、クライアントデバイス120は、クライアントデバイス120をもつプレーヤによる並進運動移動を測定する。クライアントデバイス120は、測定された並進移動がプレーヤが検証経路515に沿って移動することに概して対応し得る移動の妥当な閾値内にあるのかどうかを決定し得る。例えば、クライアントデバイス120は、プレーヤによる方向転換のための閾値角度誤差を有し得る。従って、プレーヤが15度の閾値角度誤差で検証経路515に従ってクライアントデバイス120による左方向転換を行うようにプロンプトされると仮定すれば、プレーヤが右方向転換を行った(すなわち、左方向転換のための180度の誤差)と移動センサ128が決定する場合、クライアントデバイス120は、プレーヤによって行われた方向転換が左方向転換を行うための閾値角度誤差を上回る(すなわち、180度の誤差が15度の閾値を上回る)と決定する。別の例では、クライアントデバイス120は、プレーヤによって行われる歩き方のための閾値距離誤差を有し得る。従って、プレーヤが、一方向に5メートル移動するようにプロンプトされると仮定すれば、移動センサ128は、プロンプトされた5メートルとは著しく異なる100メートルの並進運動移動を検出する場合、クライアントデバイス120はやはりプレーヤ移動が検証経路515に一致しないと決定するであろう。移動センサ128が、誤差の閾値を上回る移動に対応する移動誤差を検出する場合、クライアントデバイス120は、クライアントデバイス120のロケーションを拒否し得る。移動センサ128が誤差のための閾値内の移動を検出する場合、クライアントデバイス120は、ランドマーク510の画像データをチェックすることに加えて、クライアントデバイス120のロケーションを検証し得る。
【0066】
図6は、一実施形態による、クライアントデバイス120のロケーションを検証するための方法600のクライアントサーバ間の流れ図を示す。方法600は、
図1のシステム100のクライアントサーバ構成などの任意の好適なコンピューティングシステムを使用して実装され得る。さらに、
図6が例示および説明のために特定の順序でまたは特定のデバイスによって実行されるステップを示すが、本明細書で説明される方法は、任意の特定の順序または構成に限定されない。本明細書で提供される開示を使用して、本明細書で開示される方法の様々なステップが、本開示の範囲から逸脱することなく様々な方法で省略され、再構成され、組み合わされ、および/または適応され得ることを、当業者は諒解されよう。本方法はまた、異なるまたは追加のステップを含み得る。
【0067】
クライアントデバイス120は、方法600の602において、測位モジュール(例えば、測位モジュール124)からロケーション情報を受信する。いくつかの実施形態では、位置モジュールは、IPアドレスに基づいて、セルラータワーまたはWi-Fiホットスポットに対する三角測量および/または近接度を使用することによって、衛星航法測位システム(例えば、GPSシステム、Galileo測位システム、グローバルナビゲーション衛星システム(GLONASS)、BeiDou衛星航法および測位システム)、慣性航法システム、および/またはデッドレコニングシステムなどの1つまたは複数の測位システムを含み得る。クライアントデバイス120のロケーションのロケーション情報は、クライアントデバイス120の全地球測位座標のセットを備え得る。
【0068】
クライアントデバイス120は、方法600の604において、ゲームサーバ110にロケーション情報を送信する。ゲームサーバ110は、606において、クライアントデバイス120のロケーション情報を受信する。ゲームサーバ110がロケーション情報を受信すると、ゲームサーバ110は、ロケーション情報がクライアントデバイス120の物理ロケーションに正確に対応することを検証する必要がある。いくつかの実施形態では、ロケーション情報は、ロケーション情報中で共有されるクライアントデバイス120のロケーションに固有のゲームコンテンツを求める要求とともに受信される。
【0069】
ゲームサーバ110は、方法600の608において、ロケーション情報と対応する検証命令とに基づいてクライアントデバイス120のロケーションの近くのランドマークを取り出す。ゲームサーバ110は、記憶されたランドマークをもつデータベース(例えば、ゲームデータベース115)にアクセスする。ゲームサーバ110は、全ての記憶されたランドマークのロケーションと比較したクライアントデバイス120のロケーションの近接度に基づいてクライアントデバイス120のロケーションの検証のためにどのランドマークを使用すべきかを決定し得る。ゲームサーバ110は、クライアントデバイス120のロケーションに最も近接したランドマークを選定し得る。他の実施形態では、クライアントデバイス120は、現実世界中の特定のロケーションにおいてゲームイベントに参加しようと試みている。ゲームサーバ110は、ゲームイベントに結合されたランドマークを参照し、ゲームイベントに参加しようと試みる全てのクライアントデバイスのロケーションを検証する際にそのランドマークを利用し得る。いくつかの他の実施形態では、ゲームサーバ110は、現実世界の商業活動とインタラクションしているプレーヤにアクセス制御されたゲームコンテンツを与えていることがある。これらの例では、ゲームサーバ110はまた、現実世界の商業活動に結びつけられたランドマークを参照し得る。いくつかの実施形態では、データベースからランドマークを取り出すときに、ゲームサーバ110はまた、クライアントデバイス120のロケーションの存在を検証する際に使用するためのランドマークの画像またはモデルの任意の組合せを取り出し得る。
【0070】
ゲームサーバ110はまた、ステップ608において、検証命令を収集する。いくつかの実施形態では、ゲームサーバ110は、選択されたランドマークに関連するデータベースから事前に生成された検証命令を取り出し得、一方、他の実施形態では、ゲームサーバ110は、1つまたは複数の検証命令をランダムに生成する状態で検証命令のセットを生成する。検証命令は、プレーヤがクライアントデバイス120の最初の位置から選択されたランドマークの画像データをキャプチャするためのプロンプトを含むプロンプトのセットを含む。画像データは、ランドマークのピクチャまたはランドマークのビデオのいずれかを備え得る。検証命令は、クライアントデバイス120によってキャプチャされた画像データがランドマークに確実に一致することを検証することができるランドマーク認識モデルを含む。
【0071】
ランドマーク認識モデルは、ランドマークの2次元(2D)モデル、ランドマークの3Dモデル、またはそれらの組合せを含み得る。2Dモデルを使用する一実施形態では、ランドマーク認識モデルは、ポイントのペア間の相対的な距離に加えてランドマーク上の特徴のポイントを含む。画像データを画像として検証するときに、ランドマーク認識モデルは、ランドマーク上の識別されたポイント間の相対的な距離を計算し、計算された相対的な距離をランドマーク認識モデルにおいて知られている距離と比較し得る。例えば、ランドマークの相対的な高さ対幅がランドマーク認識モデル中に含まれる相対的な高さ対幅に一致しない場合、ランドマーク認識モデルは、画像データが適切なランドマークに一致しないと決定し得る。2Dモデルを使用する別の実施形態では、ランドマーク認識モデルは、ランドマークのトレーニング画像データを用いてトレーニングされた機械学習モデルであり得、キャプチャされた画像データがランドマークのトレーニング画像データのそれに一致することを検証することが可能な機械学習モデルであり得る。3Dモデルを使用するいくつかの実施形態では、ランドマーク認識モデルは、ランドマークの部分的なまたは完全な3D仮想表現を含む。3D仮想表現では、特徴間のおよその距離、およその角度などを含むランドマークのおよその寸法が知られている。
【0072】
検証命令は、プレーヤがクライアントデバイス120とともに検証経路に相応して移動するためのプロンプトのセットを備える検証経路を含む。いくつかの実施形態では、検証命令は、ゲームサーバ110によって事前に生成され得る。他の実施形態では、ゲームサーバ110は、クライアントデバイスのロケーションを検証する各インスタンスのためのランダム検証経路を生成するか、または検証経路は、所定の経路のセットからランダムに選択され得る。検証経路は、クライアントデバイス120をもつプレーヤによる移動のための複数のプロンプトを含み得る。例えば、検証経路は、(メートル、ヤード、フィート、センチメートルなどの測定単位で標示される)各方向転換後に移動すべき距離をもつ方向転換の組合せを含み得る。いくつかの実施形態では、ゲームサーバ110はまた、プレーヤとクライアントデバイス120との移動を検証するための検証命令中の検証経路に従ったクライアントデバイス120による移動の後のランドマークの予想される視点を与える。ゲームサーバ110は、検証経路に沿って移動する間にランドマークの3Dモデルを使用してランドマークの視点を予測することによってランドマークの予想される視点を決定し得る。検証命令はまた、検証経路に沿った移動の間とそれの後との任意の組合せの間にプレーヤがクライアントデバイス120を用いて画像データをキャプチャするためのプロンプトを含む。例Aでは、検証命令は、(1)ランドマークのピクチャをキャプチャすること、(2)ランドマークのビデオをキャプチャしながらランドマークに向かって4メートル前に移動すること、(3)ランドマークのビデオをキャプチャしながら、左に方向転換し、2メートル前に移動すること、および(4)ランドマークの別のピクチャをキャプチャすることを行うためのプロンプトを含む。
【0073】
ゲームサーバ110はまた、ステップ608において検証経路に沿って移動する間におよび/またはその後にプレーヤが他の入力を与えるためのプロンプトを生成し得る。他の入力は、クライアントデバイス120上の他のセンサまたは構成要素を通して受信され得る。一例では、検証命令は、しゃべるようにプレーヤにプロンプトするための命令を含み、これは、クライアントデバイス120上のオーディオマイクロフォンによって検証され得る。この例では、ゲームサーバ110はまた、オーディオマイクロフォンからの音響信号をプロンプトされた音声に一致するための検証命令を含み得る。別の例では、検証命令は、クライアントデバイス120上のボタンに触れるようにプレーヤにプロンプトするための命令を含む。これらの他の命令は、検証経路に沿って移動するようにプレーヤにプロンプトする命令内に点在し得る。例Bでは、検証命令は、(1)ランドマークのピクチャをキャプチャすること、(2)ランドマークのビデオをキャプチャしながらランドマークに向かって10メートル前に移動すること、(3)ランドマークの名前を述べること、(4)ランドマークのビデオをキャプチャしながら、右に方向転換し、3メートル前に移動すること、および(5)ランドマークの別のピクチャをキャプチャすることを行うためのプロンプトを含む。例Cでは、検証命令は、(1)ランドマークのピクチャをキャプチャすること、(2)左に方向転換し、2メートル前に移動すること、(3)クライアントデバイス120上のボタンを押すこと、(4)右に方向転換し、10メートル前に移動すること、および(5)ランドマークの別のピクチャをキャプチャすることを行うためのプロンプトを含む。
【0074】
ゲームサーバ110は、方法600のステップ610において、クライアントデバイス120にランドマークと検証命令とを送信する。本方法は、ステップ612に続き、クライアントデバイス120がランドマークと検証命令とを受信する。クライアントデバイス120は次いで、受信されたランドマークと検証命令とに従ってクライアントデバイスのロケーションを検証することに進む。
【0075】
クライアントデバイス120は、方法600のステップ614において、検証命令に基づいてランドマークの最初の画像データをキャプチャするようにプレーヤにプロンプトする。検証命令は、ランドマークのビデオまたはピクチャを備え得るランドマークの最初の画像データをキャプチャするようにプレーヤにプロンプトする第1のステップを備える。クライアントデバイス120は、検証命令に基づいて、クライアントデバイス120上の電子ディスプレイを介してランドマークの画像データをキャプチャするようにプレーヤにプロンプトする。
【0076】
クライアントデバイス120は、方法600のステップ616において、ランドマークの最初の画像データを受信する。いくつかの実施形態では、クライアントデバイス120は、ランドマークの写真とビデオとの任意の組合せを受信し得る。
【0077】
クライアントデバイス120は、方法600のステップ618において、検証命令を用いてランドマークの最初の画像データを検証する。受信された検証命令は、ランドマークのものであるべきピクチャを確実に識別するためのランドマーク認識モデルを含み得る。クライアントデバイス120がランドマークのビデオを受信する実施形態では、クライアントデバイス120は、ビデオ中のランドマークを確実に識別するためにビデオの1つまたは複数のフレームをランドマーク認識モデルと比較し得る。いくつかの実施形態では、ランドマーク認識モデルは、クライアントデバイス120によって受信されたピクチャまたはビデオ中のランドマークを確実に識別し得るトレーニングされた機械学習モデルを備える。いくつかの追加の実施形態では、クライアントデバイス120は、例えば、ランドマークの2Dモデルとランドマークの3Dモデルとのうちの1つまたは複数を構築するために画像データを使用してランドマーク認識モデルのさらなる改良のためにキャプチャされた画像データをゲームサーバ110に与える。
【0078】
クライアントデバイス120は、方法600のステップ620において、検証命令に従ってランドマークの画像データをキャプチャする間に検証経路に沿ってクライアントデバイスを移動するようにプレーヤにプロンプトする。いくつかの実施形態では、検証命令は、クライアントデバイス120を保持する間のプレーヤによる移動のためのプロンプトのセットを含み、プロンプトされた移動のセットは、検証経路を構成する。いくつかの実施形態では、検証命令は、プレーヤがクライアントデバイス120に入力するためのさらなるプロンプトを含み得る。プロンプトは、電子ディスプレイを介して視覚的に、およびオーディオスピーカを介して口頭で任意の組合せを通してクライアントデバイス120によって提示され得る。クライアントデバイス120はまた、検証経路に沿った移動中におよび/またはその後にランドマークの画像データをキャプチャするようにプレーヤにプロンプトする。一例では、クライアントデバイス120は、検証経路全体にわたって様々なインスタンスにおいてピクチャなどのランドマークの画像データをキャプチャするようにプレーヤにプロンプトし得る。別の例では、クライアントデバイス120は、検証経路に沿った移動全体にわたってランドマークのビデオをキャプチャするようにプレーヤにプロンプトし得る。例Aを確認すると、クライアントデバイス120は、(1)ランドマークのピクチャをキャプチャすること、(2)ランドマークのビデオをキャプチャしながらランドマークに向かって4メートル前に移動すること、(3)ランドマークのビデオをキャプチャしながら、左に方向転換し、2メートル前に移動すること、および(4)ランドマークの別のピクチャをキャプチャすることを行うためのプロンプトをプレーヤに与え得る。いくつかの実施形態では、クライアントデバイス120は、検証経路のためのプロンプトを一斉にまたは漸進的に与え得る。一斉にそうするときに、クライアントデバイス120は、電子ディスプレイ上に検証命令の全てのステップを表示し得る。他のプロンプトおよび命令を用いる実施形態では、クライアントデバイス120はまた、他のプロンプトおよび命令を与え得る。これらのプロンプトおよび命令は、他のプレーヤ入力を与えることを含み得る。
【0079】
いくつかの実施形態では、クライアントデバイス120は、クライアントデバイス120のロケーションを検証するための新しい検証経路を要求し得る。プレーヤは、任意の数の理由のためにクライアントデバイス120にこの要求を与え得る。一例では、検証経路の一部分が、現在、現実世界では妨げられている。この問題は、プレーヤが障害を通して移動する必要を1つのそのような検証経路がなくすまで新しい検証経路を要求することによって克服され得る。この要求により、ゲームサーバ110は、クライアントデバイス120に与えられるべき追加の検証命令を用いて新しいランダム検証経路を生成し得る。新しい検証経路と追加の検証命令とを受信すると、クライアントデバイス120は、新しい検証経路と追加の検証命令とを用いてそれのロケーションを検証することに進み得る。
【0080】
次に
図7を参照すると、
図6の方法でのゲームインターフェースが示されている。クライアントデバイス120は、方法600に従って電子ディスプレイ720上でプレーヤに検証命令730のプロンプトを与える。ステップ620に従って、クライアントデバイス120は、検証命令730に基づいてランドマークの画像データをキャプチャする間に検証経路に沿って移動するようにプレーヤにプロンプトする。この実施形態では、クライアントデバイス120は、電子ディスプレイ720上にプロンプトされた検証命令730を与える。この図に従って、検証経路のステップが、クライアントデバイス120とともに検証経路に沿って移動するようにプレーヤを案内する電子ディスプレイ720の一部分上でプロンプトされる。電子ディスプレイ720は、方法600のステップ614またはステップ620に従ってランドマークの最初にキャプチャされた画像データを含むカメラの視点のリアルタイムビューまたはランドマーク740のキャプチャされた画像データを表示し得る。電子ディスプレイ720はまた、プレーヤがランドマークをキャプチャするための案内を与える十字線750を有し得る。場合によっては、ランドマーク740の画像データが十字線750によって定義された画像データの部分から外れる場合、クライアントデバイス120はプレーヤに警告し得る。クライアントデバイス120は、方法600のさらなるステップに従って検証命令730のステップを漸進的に与えることができる。
【0081】
再び
図6を参照すると、クライアントデバイス120はまた、方法600のステップ622において、検証経路に沿って移動中におよび/またはその後にランドマークの画像データを受信する。画像データは、クライアントデバイス120の1つまたは複数のカメラ部分を介してキャプチャされ得る。画像データは、検証命令に従ってキャプチャのために何のタイプの画像データがプロンプトされるのかに応じてビデオまたはピクチャの任意の組合せを備え得る。
【0082】
クライアントデバイス120は、方法600のステップ624において、検証命令を用いてランドマークの画像データを検証する。クライアントデバイス120は、ランドマークの画像データがランドマークに確実に一致すると決定する。一実施形態では、クライアントデバイス120は、検証経路に沿った移動の間またはその後のキャプチャされたピクチャが(例えば、ランドマーク認識モデルを介して)ランドマークに確実に一致することを検証する。別の実施形態では、クライアントデバイス120は、検証経路に沿った移動中におよび/またはその後にキャプチャされたビデオの1つまたは複数のフレームを選択し、(例えば、ランドマーク認識モデルを介して)1つまたは複数のフレームがランドマークに確実に一致することを検証する。キャプチャされた画像データがランドマークに一致することをクライアントデバイス120が検証した後、クライアントデバイス120は、検証経路に沿った移動中におよび/またはその後にキャプチャされた画像データが最初の画像データと比較して異なる視点からのものであるのかどうかを検証する。最初の画像データがランドマークの最初のピクチャである実施形態では、クライアントデバイス120は、新たにキャプチャされた画像データ(新たにキャプチャされたピクチャまたは新たにキャプチャされたビデオ)が最初のピクチャの視点とは異なる視点を有するのか否かを決定する。いくつかの実施形態では、ランドマーク認識モデルはまた、ランドマークの確実に識別されたピクチャのためのランドマークの視点を決定する。これらの実施形態では、クライアントデバイス120は、決定された視点を最初の画像データの最初の視点に対して比較し得る。新たにキャプチャされた画像データがランドマークに確実に一致することと、新たにキャプチャされた画像データが最初の視点とは異なる視点のものであることとの両方を検証した後に、クライアントデバイス120は、クライアントデバイス120のロケーションが正確であり、検証命令の完了時に検証されていることを確認する。
【0083】
ランドマークのビデオをキャプチャするようにプロンプトする検証命令の実施形態では、クライアントデバイス120は、方法600のステップ624において、ビデオ中の複数のフレームを検証し得る。フレームのそれぞれの後続の検証の後に、クライアントデバイス120は、ランドマークのビデオを依然としてキャプチャする間に検証命令中に含まれる別のプロンプトをプレーヤにプロンプトし得る620。クライアントデバイス120は、クライアントデバイス120によってキャプチャされているビデオのフレームを断続的に受信する622。クライアントデバイス120は、その後、断続的に受信されたフレームを検証し得る624。1つまたは複数の実施形態では、クライアントデバイス120は、ビデオのn番目(例えば、2番目、3番目、4番目、5番目、6番目、7番目、8番目、9番目、10番目など)ごとのフレームを検証する624。
【0084】
代替実施形態では、クライアントデバイス120は、方法600の随意のステップ626において、移動センサからクライアント移動データを受信する。この代替実施形態では、クライアントデバイス120のロケーションが正確であり、検証されたことの確認をクライアントデバイス120が戻す前に、クライアントデバイス120はまた、移動データがプロンプトされた検証経路に一致するのかどうかを検証する。いくつかの実施形態では、クライアントデバイス120の移動データは、最高6つの自由度(すなわち、3つの並進自由度および3つの回転自由度)の移動データを含んでいる。クライアントデバイス上の移動センサは、加速度計、ジャイロスコープ、他の慣性測定ユニットなどの任意の組合せであり得る。
【0085】
方法600の随意のステップ628において、クライアントデバイス120は、検証命令を用いて移動データが検証経路と一致することを検証する。移動データは、上述のように、最高6つの自由度の移動データを備え得る。1つの単純な実施形態では、クライアントデバイス120は、1つまたは複数の自由度が閾値量を上回る移動(並進または回転のいずれか)を有するのかどうかを検証する。別の実施形態では、クライアントデバイス120は、移動データがステップ620においてプロンプトされた移動に正しく対応することを検証する。クライアントデバイス120は、ステップ620においてプロンプトされた検証経路に対して比較され得る方向に進む距離を推定するために移動データを使用し得る。クライアントデバイス120はまた、検証経路の各ステップに応答して進んだ推定距離が、誤差の閾値公差内にあること仮定すれば、移動データが検証経路に一致することを確認し得る。例えば、移動データが、検証経路のいくつかの歩き方の内の推定値を生じる場合、クライアントデバイス120は、移動データが検証経路に一致することを確認する。例Aを確認すると、ステップ(2)のプロンプトに応答してランドマークに向かっておよそ4メートル前に移動し、ステップ(3)のプロンプトに応答して近似的に左に方向転換し、およそ2メートル前に移動することの推定値を移動データが生じる場合、クライアントデバイス120は、移動データが検証経路に一致することを検証し得る。移動データが検証経路に一致することをクライアントデバイス120が確認すると、クライアントデバイス120は、次いで、クライアントデバイス120のロケーションが、正確であり、検証命令の完了に従って検証されていることを確認し得る。
【0086】
検証命令が追加のプレーヤの入力のためのプロンプトを備えるさらなる実施形態では、クライアントデバイス120は、方法600の随意のステップにおいて、検証命令に従って追加のプレーヤの入力がクライアントデバイス120によってプロンプトされた入力に一致することを検証する。この代替実施形態では、クライアントデバイス120は、クライアントデバイス120への追加のプレーヤの入力を受信する。クライアントデバイス120のロケーションが正確であり、検証されたことの確認をクライアントデバイス120が戻す前に、クライアントデバイス120はまた、追加のプレーヤの入力がプロンプトされた検証命令に一致するのかどうかを検証する。クライアントデバイス120は、プロンプトされた検証命令に従って追加のプレーヤの入力がプロンプトされた検証命令に一致することと、追加のプレーヤの入力が時限であることとを検証し得る。例Bを確認すると、クライアントデバイス120は、ステップ(3)に応答して受信された音響信号がプレーヤがランドマークの名前を述べることに一致することを検証し得る。クライアントデバイス120はさらに、プレーヤがランドマークの名前を述べる音響信号がステップ(2)とステップ(4)との間で適切に時限であるのかどうかを検証し得る。例Cを確認すると、クライアントデバイス120は、例Bと同様に、クライアントデバイス120上のボタンの受信されたプレーヤの入力がステップ(3)に一致し、ステップ(2)とステップ(4)との間で適切に時限であることを検証し得る。追加のプレーヤの入力がプロンプトされた命令に確実に一致することを検証すると、クライアントデバイス120は、次いで、クライアントデバイス120のロケーションが、正確であり、検証命令の完了に従って検証されていることを確認し得る。
【0087】
方法600は、クライアントデバイス120がクライアントデバイス120のロケーションを検証する確認受信を準備することを続け得る。いくつかの実施形態では、クライアントデバイス120は、クライアントデバイス120のロケーションを全体的に検証する検証命令内の全てのステップを保留する受信確認のみを送る。他の実施形態では、クライアントデバイス120は、ステップ618および624が検証されることを保留する受信確認を送り得る。ゲームサーバ110は、受信確認を受信し、クライアントデバイス120のロケーションに固有のゲームコンテンツを与えることに進み得る。
【0088】
方法600は、なりすまし者によるなりすましの防止を助ける。なりすまし者は、上述したように、その特定のロケーションに物理的に存在することなしに特定のロケーションに結合されたゲームコンテンツを取り出そうと試みることによってゲームサーバを欺くことを目的とする。方法600は、なりすまし者が回避するのが困難であることがわかる。プレーヤがそれらの仮定されたロケーションに近接しているランドマークのピクチャを単にキャプチャするようにプロンプトされる場合、なりすまし者は、ランドマークのあらかじめキャプチャされた画像を使用することによって検証プロセスを容易にだますことができる。方法600は、画像データをキャプチャする間に検証経路に沿ってプレーヤを移動する追加の命令を与えることでそのようななりすまし者に対して防御する。なりすまし者は、より包括的な画像データを取り出す必要があることになるだけでなく、方法600は、検証のインスタンスごとに検証経路をランダム化することもできる。例えば、なりすまし者は、前の検証経路に従ってランドマークの画像データ(ピクチャまたはビデオ)を探索することによって方法600をだまそうと試み得るが、しかしながら、方法600は、他の検証経路に従って他の画像データをレンダリングすることを役立たなくする新しいランダム化された検証経路を与え得る。追加の命令を用いるさらなる実施形態は、どのような追加の命令がプロンプトされ得るのかをなりすまし者が予測する課題をさらに増加することになり、方法600をだますのを一層難しくしている。方法600は、さらに、並行現実ゲームをプレイする公平なプレーヤに対して最小限に侵襲的であるという利益を得る。それらのクライアントデバイスが特定のロケーションに結合されたゲームコンテンツを要求しているときに特定のロケーションに実際に存在するプレーヤについて、プレーヤは、特定のロケーションに実際に存在するときに迅速に達成され得る少数の短い命令をプロンプトされる。
【0089】
追加の考慮事項
実施形態の上記の説明は、説明の目的で提示されており、網羅的であることまたは開示される正確な形態に特許権を限定することを目的としない。上記の開示に照らして多くの修正および変更が可能であることを、当業者は諒解することができる。
【0090】
本明細書のいくつかの部分は、情報に対する動作のアルゴリズムおよび記号表現に関して実施形態について説明する。これらのアルゴリズムの説明および表現は、他の当業者にそれらの作業の内容を効果的に伝達するためにデータ処理技術分野における当業者によって一般的に使用される。これらの動作は、機能的に、計算量的に、または論理的に説明されているが、コンピュータプログラムまたは等価な電気回路、マイクロコードなどによって実装されると理解される。さらに、一般性を失うことなく、モジュールとして動作のこれらの構成に言及することが時として好都合であるということもわかっている。説明された動作およびそれらの関連するモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せで実施され得る。
【0091】
本明細書で説明されるステップ、動作、またはプロセスのいずれかは、単独でまたは他のデバイスと組み合わせて、1つまたは複数のハードウェアまたはソフトウェアモジュールを用いて実行または実装され得る。一実施形態では、ソフトウェアモジュールは、コンピュータプログラムコードを含んでいるコンピュータ可読媒体を備えるコンピュータプログラム製品を用いて実装され、これは、説明されたステップ、動作、またはプロセスのいずれかまたは全てを実行するためのコンピュータプロセッサによって実行され得る。
【0092】
実施形態はまた、本明細書における動作を実行するための装置に関係し得る。本装置は、必要とされる目的のために特別に構築され得、および/またはコンピュータ中に記憶されたコンピュータプログラムによって選択的にアクティブ化または再構成される汎用コンピューティングデバイスを備え得る。そのようなコンピュータプログラムは、コンピュータシステムバスに結合され得る非一時的、有形コンピュータ可読記憶媒体または電子命令を記憶するのに好適な任意のタイプの媒体中に記憶され得る。さらに、本明細書に記載の任意のコンピューティングシステムは、単一のプロセッサを含み得るか、または増加した計算能力のための複数のプロセッサ設計を採用するアーキテクチャであり得る。
【0093】
実施形態は、本明細書で説明されるコンピューティングプロセスにより生成される製品に関係し得る。そのような製品は、コンピューティングプロセスから生じた情報を備え得る。情報は、非一時的、有形コンピュータ可読記憶媒体上に記憶され、コンピュータプログラム製品または本明細書で説明される他のデータ組合せの任意の実施形態を含み得る。
【0094】
最後に、本明細書において使用された文言は、主に、読みやすさおよび教示目的のために選択されており、特許権を定めるまたは制限するために選択されていないことがある。特許権の範囲は、詳細な説明によってではなく、本明細書に基づく出願上に公表された特許請求の範囲によって限定されることが意図されている。実施形態の本開示は、添付の特許請求の範囲に記載されている特許権の範囲の限定ではなく説明のためのものである。
【手続補正書】
【提出日】2021-06-23
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
クライアントデバイスの地理的位置を検証する符号化された命令を有する非一時的コンピュータ可読記憶媒体であって、前記命令は、プロセッサによって実行されると、前記プロセッサに、
前記クライアントデバイスのロケーション情報をサーバに送信し、前記ロケーション情報は、前記クライアントデバイスの地理的位置を規定し、
前記クライアントデバイスの地理的位置に近接するランドマークと前記クライアントデバイスの検証経路とを備える検証命令を前記サーバから受信し、
前記検証命令から、前記ランドマークの画像データをキャプチャするように前記クライアントデバイスのユーザにプロンプトし、
前記クライアントデバイスの最初の視点からの前記ランドマークの画像データの第1のセットを受信し、
前記画像データの第1のセットが前記ランドマークにマッチすることを判定し、
前記検証命令から、前記クライアントデバイスを前記検証経路に沿って移動させるように前記ユーザにプロンプトし、
前記クライアントデバイスの移動する視点からの前記ランドマークの画像データの第2のセットを受信し、
前記画像データの第2のセットが前記ランドマークの視点で予想される変化にマッチするかどうかを判定し、
前記画像データの第2のセットが前記ランドマークの視点で予想される変化にマッチする場合、前記クライアントデバイスが前記地理的位置にいることを確認する
ことを実行させる、非一時的コンピュータ可読記憶媒体。
【請求項2】
前記画像データの第1のセットおよび前記画像データの第2のセットは、前記クライアントデバイスのコンポーネントであるカメラによってキャプチャされる、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項3】
前記画像データの第1のセットは、前記最初の視点からの前記ランドマークの最初のピクチャを含む、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項4】
前記画像データの第2のセットは、カメラの前記移動する視点からの前記ランドマークのビデオを含む、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項5】
前記画像データの第2のセットは、前記ランドマークの新しい視点からの前記ランドマークの新しいピクチャを含み、前記ランドマークの新しいピクチャは、カメラの前記移動する視点にある、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項6】
前記ランドマークの視点で予想される変化は、前記検証命令にあり、前記検証経路に沿った前記クライアントデバイスの移動に従った前記ランドマークの予測される視点である、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項7】
前記画像データの第2のセットが前記ランドマークの視点で予想される変化にマッチするかどうかを判定することは、
カメラの前記移動する視点からの前記画像データの第2のセットが、前記画像データの第1のセットと比較して、前記ランドマークの新しい視点からの新しいピクチャを含むことを判定することを備える、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項8】
前記検証命令から、前記検証経路に沿って移動するように前記ユーザにプロンプトすることは、前記検証経路に沿って移動しながら、前記ランドマークの画像データをキャプチャするようにユーザにプロンプトすることをさらに含む、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項9】
カメラの前記移動する視点は、前記検証経路に沿って移動している間の前記クライアントデバイスの様々な視点に相当する、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項10】
前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記クライアントデバイスの移動センサから一連の移動データを受信し、
前記一連の移動データが前記検証経路に沿って移動している前記クライアントデバイスと一致していることを判定する
ことを実行させる、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項11】
前記移動センサは、前記クライアントデバイスの並進移動を記録する慣性測定ユニットであり、前記一連の移動データは、前記クライアントデバイスの並進移動を含み、前記一連の移動データが前記検証経路にマッチすることを判定することは、前記クライアントデバイスの並進移動が前記検証経路に沿って移動している前記クライアントデバイスと一致していることを判定することを含む、請求項10の非一時的コンピュータ可読記憶媒体。
【請求項12】
前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記クライアントデバイスが前記地理的位置にいることを確認したことを前記サーバに送信し、
前記クライアントデバイスの前記地理的位置に固有の、前記クライアントデバイスに表示するためのコンテンツを前記サーバから受信し、
前記サーバから受信したコンテンツを前記クライアントデバイスに表示する
ことを実行させる、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項13】
前記サーバは、並行現実ゲームをホストするゲームサーバであり、前記コンテンツは、前記クライアントデバイスの前記地理的位置に固有の、前記並行現実ゲームからのゲームコンテンツを含み、前記ユーザは、前記並行現実ゲームのプレーヤである、請求項12の非一時的コンピュータ可読記憶媒体。
【請求項14】
前記画像データの第1のセットが前記ランドマークにマッチすることを判定することは、ランドマーク認識モデルを適用して、前記画像データの第1のセットが前記ランドマークにマッチするかどうかを判定することを備え、前記ランドマーク認識モデルは、前記ランドマークの画像データをトレーニングすることに基づいてトレーニングされ、画像データが前記ランドマークにマッチするかどうかを判定することができる、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項15】
前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記検証経路に沿って移動している間に前記クライアントデバイスに追加入力を提供するように前記ユーザにプロンプトし、
前記検証経路に沿った前記クライアントデバイスの移動の間に前記クライアントデバイスへの追加入力を受信し、
前記追加入力が前記検証経路に沿った移動中のプロンプトされた追加入力にマッチするかどうかを判定する
ことを実行させ、
前記サーバに対して、前記クライアントデバイスが前記地理的位置にいることを確認することは、前記追加入力が前記プロンプトされた追加入力にマッチすることを判定することにさらに基づく、請求項1の非一時的コンピュータ可読記憶媒体。
【請求項16】
前記プロンプトされた追加入力は、音声を含み、受信された前記追加入力は、前記検証経路に沿った前記クライアントデバイスの移動の間に前記クライアントデバイスによって受信された音響信号であり、前記追加入力が前記検証経路に沿った移動中のプロンプトされた追加入力にマッチするかどうかを判定することは、前記音響信号が前記音声にマッチするかどうかを判定することを含む、請求項15の非一時的コンピュータ可読記憶媒体。
【請求項17】
クライアントデバイスの地理的位置を検証する際に前記クライアントデバイスによって使用される検証命令を生成するコンピュータ実行方法であって、
前記クライアントデバイスのロケーション情報をサーバによって受信することであって、前記ロケーション情報は、前記クライアントデバイスの地理的位置を規定する、ことと、
前記サーバによってランドマークデータベースにアクセスすることと、
前記ロケーション情報において受信された前記クライアントデバイスの地理的位置に従って前記ランドマークデータベースからランドマークを検索することと、
前記クライアントデバイスのユーザに対して前記クライアントデバイスによってプロンプトされることになる経路を記述する検証経路を生成することと、
前記ランドマークと前記検証経路とを備える検証命令を生成することと、
前記検証命令を前記クライアントデバイスに送信することと
を備える方法。
【請求項18】
画像データが前記ランドマークにマッチするかどうかを判定するランドマーク認識モデルを検索することであって、前記ランドマーク認識モデルは、前記ランドマークの画像データをトレーニングすることに基づいてトレーニングされる、ことをさらに備え、
前記検証命令はまた、前記ランドマーク認識モデルを含む、
請求項17の方法。
【請求項19】
前記クライアントデバイスが前記地理的位置にいることを確認したことを前記クライアントデバイスから受信することと、
前記クライアントデバイスの前記地理的位置に固有のコンテンツを検索することと、
前記コンテンツを前記クライアントデバイスに表示するために提供することと
をさらに備える、請求項17の方法。
【請求項20】
プロセッサと、
クライアントデバイスの地理的位置を検証する符号化された命令を有するコンピュータ可読記憶媒体と
を備えたシステムであって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記クライアントデバイスのロケーション情報を、並行現実ゲームをホストするゲームサーバに送信し、前記ロケーション情報は、前記クライアントデバイスの地理的位置を規定し、
前記クライアントデバイスの地理的位置に近接するランドマークと前記クライアントデバイスの検証経路とを備える検証命令を前記ゲームサーバから受信し、
前記検証命令から、前記ランドマークの画像データをキャプチャするように前記クライアントデバイスを使用する前記並行現実ゲームのプレーヤにプロンプトし、
前記クライアントデバイスの最初の視点からの前記ランドマークの画像データの第1のセットを受信し、
ランドマーク認識モデルを適用して前記画像データの第1のセットが前記ランドマークにマッチすることを判定することによって、前記画像データの第1のセットが前記ランドマークにマッチすることを判定し、前記ランドマーク認識モデルは、前記ランドマークの画像データをトレーニングすることに基づいてトレーニングされ、画像データが前記ランドマークにマッチするかどうかを判定することができ、
前記検証命令から、前記クライアントデバイスを前記検証経路に沿って移動させるように前記プレーヤにプロンプトし、
前記クライアントデバイスの移動する視点からの前記ランドマークの画像データの第2のセットを受信し、
前記画像データの第2のセットが前記ランドマークの視点で予想される変化にマッチするかどうかを判定し、
前記画像データの第2のセットが前記ランドマークの視点で予想される変化にマッチする場合、前記クライアントデバイスが前記地理的位置にいることを確認し、
前記クライアントデバイスが前記地理的位置にいることを確認したことを前記ゲームサーバに送信し、
前記クライアントデバイスの前記地理的位置に固有の、前記クライアントデバイスに表示するためのゲームコンテンツを前記ゲームサーバから受信し、
前記ゲームサーバから受信したゲームコンテンツを前記クライアントデバイスに表示する
ことを実行させる、システム。
【請求項21】
クライアントデバイスの地理的位置を検証する命令を格納する非一時的コンピュータ可読記憶媒体であって、前記命令は、プロセッサによって実行されると、前記プロセッサに、
前記クライアントデバイスの地理的位置に近接する現実世界のオブジェクトの画像データをキャプチャする間に前記クライアントデバイスを検証経路に沿って移動させるようにユーザにプロンプトし、
前記クライアントデバイスの移動する視点からの前記オブジェクトの画像データを受信し、
前記画像データが前記オブジェクトの視点で予想される変化にマッチするかどうかを判定し、
前記画像データが前記オブジェクトの視点で予想される変化にマッチすることを判定したことに応答して、前記クライアントデバイスの地理的位置を確認する
ことを含む動作を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項22】
前記オブジェクトの画像データは、前記クライアントデバイスのコンポーネントであるカメラによってキャプチャされる、請求項21の非一時的コンピュータ可読記憶媒体。
【請求項23】
前記画像データは、第1の視点からの第1の画像と、前記第1の視点とは異なる第2の視点からの第2の画像とを少なくとも含む、請求項21の非一時的コンピュータ可読記憶媒体。
【請求項24】
前記オブジェクトの視点で予想される変化は、オブジェクト認識モデルを前記検証経路に適用することによって決定され、前記オブジェクト認識モデルは、前記オブジェクトを表す複数の特徴を含む、請求項23の非一時的コンピュータ可読記憶媒体。
【請求項25】
前記動作は、
前記クライアントデバイスの地理的位置を確認したことに応答して、前記クライアントデバイスの地理的位置に関連付けられる、前記クライアントデバイスに表示するためのコンテンツを提供することをさらに備える、請求項21の非一時的コンピュータ可読記憶媒体。
【請求項26】
前記動作は、
前記クライアントデバイスの地理的位置をサーバに送信することと、
前記サーバから、前記クライアントデバイスの地理的位置に関連付けられる前記コンテンツを受信することと
をさらに備える、請求項25の非一時的コンピュータ可読記憶媒体。
【請求項27】
前記サーバは、並行現実ゲームをホストするゲームサーバであり、前記コンテンツは、前記クライアントデバイスの前記地理的位置に固有の、前記並行現実ゲームからの1つまたは複数の仮想要素を含み、前記ユーザは、前記並行現実ゲームのプレーヤである、請求項26の非一時的コンピュータ可読記憶媒体。
【請求項28】
前記オブジェクトは、現実世界のランドマークである、請求項21の非一時的コンピュータ可読記憶媒体。
【請求項29】
前記動作は、
前記クライアントデバイスの移動センサから移動データを受信することと、
前記移動データが前記検証経路に沿って移動している前記クライアントデバイスと一致していることを判定することと
をさらに備え、
前記クライアントデバイスが前記地理的位置にいることを確認することは、前記移動データが前記検証経路に沿って移動している前記クライアントデバイスと一致していることを判定することにさらに応答する、請求項21の非一時的コンピュータ可読記憶媒体。
【請求項30】
前記動作は、
前記検証経路に沿って移動している間に前記クライアントデバイスに追加入力を提供するように前記ユーザにプロンプトすることと、
前記検証経路に沿った前記クライアントデバイスの移動の間に前記クライアントデバイスへの追加入力を受信することと、
前記追加入力が前記検証経路に沿った移動中のプロンプトされた追加入力にマッチするかどうかを判定することと
をさらに含み、
前記クライアントデバイスが前記地理的位置にいることを確認することは、前記追加入力が前記プロンプトされた追加入力にマッチするという判定にさらに応答する、請求項21の非一時的コンピュータ可読記憶媒体。
【請求項31】
プロンプトをユーザに提示させることであって、前記プロンプトは、クライアントデバイスの地理的位置に近接する現実世界のオブジェクトの画像データをキャプチャする間に前記クライアントデバイスを検証経路に沿って移動させるように前記ユーザに指示する、ことと、
前記クライアントデバイスの移動する視点からの前記オブジェクトの画像データを受信することと、
前記画像データが前記オブジェクトの視点で予想される変化にマッチするかどうかを判定することと、
前記画像データが前記オブジェクトの視点で予想される変化にマッチすることを判定したことに応答して、前記クライアントデバイスの地理的位置を確認することと
を備える方法。
【請求項32】
前記オブジェクトの画像データは、前記クライアントデバイスのコンポーネントであるカメラによってキャプチャされる、請求項31の方法。
【請求項33】
前記画像データは、第1の視点からの第1の画像と、前記第1の視点とは異なる第2の視点からの第2の画像とを少なくとも含む、請求項31の方法。
【請求項34】
前記オブジェクトの視点で予想される変化は、オブジェクト認識モデルを前記検証経路に適用することによって決定され、前記オブジェクト認識モデルは、前記オブジェクトを表す複数の特徴を含む、請求項33の方法。
【請求項35】
前記クライアントデバイスの地理的位置を確認したことに応答して、コンテンツを前記クライアントデバイスに表示させることであって、前記コンテンツは、前記クライアントデバイスの地理的位置に関連付けられる、ことをさらに備える、請求項31の方法。
【請求項36】
前記クライアントデバイスの地理的位置をサーバに送信することと、
前記サーバから、前記クライアントデバイスの地理的位置に関連付けられる前記コンテンツを受信することと
をさらに備える、請求項35の方法。
【請求項37】
前記サーバは、並行現実ゲームをホストするゲームサーバであり、前記コンテンツは、前記クライアントデバイスの前記地理的位置に固有の、前記並行現実ゲームからの1つまたは複数の仮想要素を含み、前記ユーザは、前記並行現実ゲームのプレーヤである、請求項36の方法。
【請求項38】
前記オブジェクトは、現実世界のランドマークである、請求項31の方法。
【請求項39】
前記クライアントデバイスの移動センサから移動データを受信することと、
前記移動データが前記検証経路に沿って移動している前記クライアントデバイスと一致していることを判定することと
をさらに備え、
前記クライアントデバイスが前記地理的位置にいることを確認することは、前記移動データが前記検証経路に沿って移動している前記クライアントデバイスと一致していることを判定することにさらに応答する、請求項31の方法。
【請求項40】
追加のプロンプトをユーザに提示させることであって、前記追加のプロンプトは、前記検証経路に沿って移動している間に前記クライアントデバイスに追加入力を提供するように前記ユーザに指示する、ことと、
前記検証経路に沿った前記クライアントデバイスの移動の間に前記クライアントデバイスへの追加入力を受信することと、
前記追加入力が前記検証経路に沿った移動中のプロンプトされた追加入力にマッチするかどうかを判定することと
をさらに含み、
前記クライアントデバイスが前記地理的位置にいることを確認することは、前記追加入力が前記プロンプトされた追加入力にマッチするという判定にさらに応答する、請求項31の方法。
【国際調査報告】