(57)【特許請求の範囲】
【請求項１】
クライアントデバイスの地理的位置を検証する符号化された命令を有する非一時的コンピュータ可読記憶媒体であって、前記命令は、プロセッサによって実行されると、前記プロセッサに、
前記クライアントデバイスのロケーション情報をサーバに送信し、前記ロケーション情報は、前記クライアントデバイスの地理的位置を規定し、
前記クライアントデバイスの地理的位置に近接するランドマークと前記クライアントデバイスの検証経路とを備える検証命令を前記サーバから受信し、
前記検証命令から、前記ランドマークの画像データをキャプチャするように前記クライアントデバイスのユーザにプロンプトし、
前記クライアントデバイスの最初の視点からの前記ランドマークの画像データの第１のセットを受信し、
前記画像データの第１のセットが前記ランドマークにマッチすることを判定し、
前記検証命令から、前記クライアントデバイスを前記検証経路に沿って移動させるように前記ユーザにプロンプトし、
前記クライアントデバイスの移動する視点からの前記ランドマークの画像データの第２のセットを受信し、
前記画像データの第２のセットが前記ランドマークの視点で予想される変化にマッチするかどうかを判定し、
前記画像データの第２のセットが前記ランドマークの視点で予想される変化にマッチする場合、前記クライアントデバイスが前記地理的位置にいることを確認する
ことを実行させる、非一時的コンピュータ可読記憶媒体。
【請求項２】
前記画像データの第１のセットおよび前記画像データの第２のセットは、前記クライアントデバイスのコンポーネントであるカメラによってキャプチャされる、請求項１の非一時的コンピュータ可読記憶媒体。
【請求項３】
前記画像データの第１のセットは、前記最初の視点からの前記ランドマークの最初のピクチャを含む、請求項１の非一時的コンピュータ可読記憶媒体。
【請求項４】
前記画像データの第２のセットは、カメラの前記移動する視点からの前記ランドマークのビデオを含む、請求項１の非一時的コンピュータ可読記憶媒体。
【請求項５】
前記画像データの第２のセットは、前記ランドマークの新しい視点からの前記ランドマークの新しいピクチャを含み、前記ランドマークの新しいピクチャは、カメラの前記移動する視点にある、請求項１の非一時的コンピュータ可読記憶媒体。
【請求項６】
前記ランドマークの視点で予想される変化は、前記検証命令にあり、前記検証経路に沿った前記クライアントデバイスの移動に従った前記ランドマークの予測される視点である、請求項１の非一時的コンピュータ可読記憶媒体。
【請求項７】
前記画像データの第２のセットが前記ランドマークの視点で予想される変化にマッチするかどうかを判定することは、
カメラの前記移動する視点からの前記画像データの第２のセットが、前記画像データの第１のセットと比較して、前記ランドマークの新しい視点からの新しいピクチャを含むことを判定することを備える、請求項１の非一時的コンピュータ可読記憶媒体。
【請求項８】
前記検証命令から、前記検証経路に沿って移動するように前記ユーザにプロンプトすることは、前記検証経路に沿って移動しながら、前記ランドマークの画像データをキャプチャするようにユーザにプロンプトすることをさらに含む、請求項１の非一時的コンピュータ可読記憶媒体。
【請求項９】
カメラの前記移動する視点は、前記検証経路に沿って移動している間の前記クライアントデバイスの様々な視点に相当する、請求項１の非一時的コンピュータ可読記憶媒体。
【請求項１０】
前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記クライアントデバイスの移動センサから一連の移動データを受信し、
前記一連の移動データが前記検証経路に沿って移動している前記クライアントデバイスと一致していることを判定する
ことを実行させる、請求項１の非一時的コンピュータ可読記憶媒体。
【請求項１１】
前記移動センサは、前記クライアントデバイスの並進移動を記録する慣性測定ユニットであり、前記一連の移動データは、前記クライアントデバイスの並進移動を含み、前記一連の移動データが前記検証経路にマッチすることを判定することは、前記クライアントデバイスの並進移動が前記検証経路に沿って移動している前記クライアントデバイスと一致していることを判定することを含む、請求項１０の非一時的コンピュータ可読記憶媒体。
【請求項１２】
前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記クライアントデバイスが前記地理的位置にいることを確認したことを前記サーバに送信し、
前記クライアントデバイスの前記地理的位置に固有の、前記クライアントデバイスに表示するためのコンテンツを前記サーバから受信し、
前記サーバから受信したコンテンツを前記クライアントデバイスに表示する
ことを実行させる、請求項１の非一時的コンピュータ可読記憶媒体。
【請求項１３】
前記サーバは、並行現実ゲームをホストするゲームサーバであり、前記コンテンツは、前記クライアントデバイスの前記地理的位置に固有の、前記並行現実ゲームからのゲームコンテンツを含み、前記ユーザは、前記並行現実ゲームのプレーヤである、請求項１２の非一時的コンピュータ可読記憶媒体。
【請求項１４】
前記画像データの第１のセットが前記ランドマークにマッチすることを判定することは、ランドマーク認識モデルを適用して、前記画像データの第１のセットが前記ランドマークにマッチするかどうかを判定することを備え、前記ランドマーク認識モデルは、前記ランドマークの画像データをトレーニングすることに基づいてトレーニングされ、画像データが前記ランドマークにマッチするかどうかを判定することができる、請求項１の非一時的コンピュータ可読記憶媒体。
【請求項１５】
前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記検証経路に沿って移動している間に前記クライアントデバイスに追加入力を提供するように前記ユーザにプロンプトし、
前記検証経路に沿った前記クライアントデバイスの移動の間に前記クライアントデバイスへの追加入力を受信し、
前記追加入力が前記検証経路に沿った移動中のプロンプトされた追加入力にマッチするかどうかを判定する
ことを実行させ、
前記サーバに対して、前記クライアントデバイスが前記地理的位置にいることを確認することは、前記追加入力が前記プロンプトされた追加入力にマッチすることを判定することにさらに基づく、請求項１の非一時的コンピュータ可読記憶媒体。
【請求項１６】
前記プロンプトされた追加入力は、音声を含み、受信された前記追加入力は、前記検証経路に沿った前記クライアントデバイスの移動の間に前記クライアントデバイスによって受信された音響信号であり、前記追加入力が前記検証経路に沿った移動中のプロンプトされた追加入力にマッチするかどうかを判定することは、前記音響信号が前記音声にマッチするかどうかを判定することを含む、請求項１５の非一時的コンピュータ可読記憶媒体。
【請求項１７】
クライアントデバイスの地理的位置を検証する際に前記クライアントデバイスによって使用される検証命令を生成するコンピュータ実行方法であって、
前記クライアントデバイスのロケーション情報をサーバによって受信することであって、前記ロケーション情報は、前記クライアントデバイスの地理的位置を規定する、ことと、
前記サーバによってランドマークデータベースにアクセスすることと、
前記ロケーション情報において受信された前記クライアントデバイスの地理的位置に従って前記ランドマークデータベースからランドマークを検索することと、
前記クライアントデバイスのユーザに対して前記クライアントデバイスによってプロンプトされることになる経路を記述する検証経路を生成することと、
前記ランドマークと前記検証経路とを備える検証命令を生成することと、
前記検証命令を前記クライアントデバイスに送信することと
を備える方法。
【請求項１８】
画像データが前記ランドマークにマッチするかどうかを判定するランドマーク認識モデルを検索することであって、前記ランドマーク認識モデルは、前記ランドマークの画像データをトレーニングすることに基づいてトレーニングされる、ことをさらに備え、
前記検証命令はまた、前記ランドマーク認識モデルを含む、
請求項１７の方法。
【請求項１９】
前記クライアントデバイスが前記地理的位置にいることを確認したことを前記クライアントデバイスから受信することと、
前記クライアントデバイスの前記地理的位置に固有のコンテンツを検索することと、
前記コンテンツを前記クライアントデバイスに表示するために提供することと
をさらに備える、請求項１７の方法。
【請求項２０】
プロセッサと、
クライアントデバイスの地理的位置を検証する符号化された命令を有するコンピュータ可読記憶媒体と
を備えたシステムであって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記クライアントデバイスのロケーション情報を、並行現実ゲームをホストするゲームサーバに送信し、前記ロケーション情報は、前記クライアントデバイスの地理的位置を規定し、
前記クライアントデバイスの地理的位置に近接するランドマークと前記クライアントデバイスの検証経路とを備える検証命令を前記ゲームサーバから受信し、
前記検証命令から、前記ランドマークの画像データをキャプチャするように前記クライアントデバイスを使用する前記並行現実ゲームのプレーヤにプロンプトし、
前記クライアントデバイスの最初の視点からの前記ランドマークの画像データの第１のセットを受信し、
ランドマーク認識モデルを適用して前記画像データの第１のセットが前記ランドマークにマッチすることを判定することによって、前記画像データの第１のセットが前記ランドマークにマッチすることを判定し、前記ランドマーク認識モデルは、前記ランドマークの画像データをトレーニングすることに基づいてトレーニングされ、画像データが前記ランドマークにマッチするかどうかを判定することができ、
前記検証命令から、前記クライアントデバイスを前記検証経路に沿って移動させるように前記プレーヤにプロンプトし、
前記クライアントデバイスの移動する視点からの前記ランドマークの画像データの第２のセットを受信し、
前記画像データの第２のセットが前記ランドマークの視点で予想される変化にマッチするかどうかを判定し、
前記画像データの第２のセットが前記ランドマークの視点で予想される変化にマッチする場合、前記クライアントデバイスが前記地理的位置にいることを確認し、
前記クライアントデバイスが前記地理的位置にいることを確認したことを前記ゲームサーバに送信し、
前記クライアントデバイスの前記地理的位置に固有の、前記クライアントデバイスに表示するためのゲームコンテンツを前記ゲームサーバから受信し、
前記ゲームサーバから受信したゲームコンテンツを前記クライアントデバイスに表示する
ことを実行させる、システム。
【請求項２１】
クライアントデバイスの地理的位置を検証する命令を格納する非一時的コンピュータ可読記憶媒体であって、前記命令は、プロセッサによって実行されると、前記プロセッサに、
前記クライアントデバイスの地理的位置に近接する現実世界のオブジェクトの画像データをキャプチャする間に前記クライアントデバイスを検証経路に沿って移動させるようにユーザにプロンプトし、
前記クライアントデバイスの移動する視点からの前記オブジェクトの画像データを受信し、
前記画像データが前記オブジェクトの視点で予想される変化にマッチするかどうかを判定し、
前記画像データが前記オブジェクトの視点で予想される変化にマッチすることを判定したことに応答して、前記クライアントデバイスの地理的位置を確認する
ことを含む動作を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項２２】
前記オブジェクトの画像データは、前記クライアントデバイスのコンポーネントであるカメラによってキャプチャされる、請求項２１の非一時的コンピュータ可読記憶媒体。
【請求項２３】
前記画像データは、第１の視点からの第１の画像と、前記第１の視点とは異なる第２の視点からの第２の画像とを少なくとも含む、請求項２１の非一時的コンピュータ可読記憶媒体。
【請求項２４】
前記オブジェクトの視点で予想される変化は、オブジェクト認識モデルを前記検証経路に適用することによって決定され、前記オブジェクト認識モデルは、前記オブジェクトを表す複数の特徴を含む、請求項２３の非一時的コンピュータ可読記憶媒体。
【請求項２５】
前記動作は、
前記クライアントデバイスの地理的位置を確認したことに応答して、前記クライアントデバイスの地理的位置に関連付けられる、前記クライアントデバイスに表示するためのコンテンツを提供することをさらに備える、請求項２１の非一時的コンピュータ可読記憶媒体。
【請求項２６】
前記動作は、
前記クライアントデバイスの地理的位置をサーバに送信することと、
前記サーバから、前記クライアントデバイスの地理的位置に関連付けられる前記コンテンツを受信することと
をさらに備える、請求項２５の非一時的コンピュータ可読記憶媒体。
【請求項２７】
前記サーバは、並行現実ゲームをホストするゲームサーバであり、前記コンテンツは、前記クライアントデバイスの前記地理的位置に固有の、前記並行現実ゲームからの１つまたは複数の仮想要素を含み、前記ユーザは、前記並行現実ゲームのプレーヤである、請求項２６の非一時的コンピュータ可読記憶媒体。
【請求項２８】
前記オブジェクトは、現実世界のランドマークである、請求項２１の非一時的コンピュータ可読記憶媒体。
【請求項２９】
前記動作は、
前記クライアントデバイスの移動センサから移動データを受信することと、
前記移動データが前記検証経路に沿って移動している前記クライアントデバイスと一致していることを判定することと
をさらに備え、
前記クライアントデバイスが前記地理的位置にいることを確認することは、前記移動データが前記検証経路に沿って移動している前記クライアントデバイスと一致していることを判定することにさらに応答する、請求項２１の非一時的コンピュータ可読記憶媒体。
【請求項３０】
前記動作は、
前記検証経路に沿って移動している間に前記クライアントデバイスに追加入力を提供するように前記ユーザにプロンプトすることと、
前記検証経路に沿った前記クライアントデバイスの移動の間に前記クライアントデバイスへの追加入力を受信することと、
前記追加入力が前記検証経路に沿った移動中のプロンプトされた追加入力にマッチするかどうかを判定することと
をさらに含み、
前記クライアントデバイスが前記地理的位置にいることを確認することは、前記追加入力が前記プロンプトされた追加入力にマッチするという判定にさらに応答する、請求項２１の非一時的コンピュータ可読記憶媒体。
【請求項３１】
プロンプトをユーザに提示させることであって、前記プロンプトは、クライアントデバイスの地理的位置に近接する現実世界のオブジェクトの画像データをキャプチャする間に前記クライアントデバイスを検証経路に沿って移動させるように前記ユーザに指示する、ことと、
前記クライアントデバイスの移動する視点からの前記オブジェクトの画像データを受信することと、
前記画像データが前記オブジェクトの視点で予想される変化にマッチするかどうかを判定することと、
前記画像データが前記オブジェクトの視点で予想される変化にマッチすることを判定したことに応答して、前記クライアントデバイスの地理的位置を確認することと
を備える方法。
【請求項３２】
前記オブジェクトの画像データは、前記クライアントデバイスのコンポーネントであるカメラによってキャプチャされる、請求項３１の方法。
【請求項３３】
前記画像データは、第１の視点からの第１の画像と、前記第１の視点とは異なる第２の視点からの第２の画像とを少なくとも含む、請求項３１の方法。
【請求項３４】
前記オブジェクトの視点で予想される変化は、オブジェクト認識モデルを前記検証経路に適用することによって決定され、前記オブジェクト認識モデルは、前記オブジェクトを表す複数の特徴を含む、請求項３３の方法。
【請求項３５】
前記クライアントデバイスの地理的位置を確認したことに応答して、コンテンツを前記クライアントデバイスに表示させることであって、前記コンテンツは、前記クライアントデバイスの地理的位置に関連付けられる、ことをさらに備える、請求項３１の方法。
【請求項３６】
前記クライアントデバイスの地理的位置をサーバに送信することと、
前記サーバから、前記クライアントデバイスの地理的位置に関連付けられる前記コンテンツを受信することと
をさらに備える、請求項３５の方法。
【請求項３７】
前記サーバは、並行現実ゲームをホストするゲームサーバであり、前記コンテンツは、前記クライアントデバイスの前記地理的位置に固有の、前記並行現実ゲームからの１つまたは複数の仮想要素を含み、前記ユーザは、前記並行現実ゲームのプレーヤである、請求項３６の方法。
【請求項３８】
前記オブジェクトは、現実世界のランドマークである、請求項３１の方法。
【請求項３９】
前記クライアントデバイスの移動センサから移動データを受信することと、
前記移動データが前記検証経路に沿って移動している前記クライアントデバイスと一致していることを判定することと
をさらに備え、
前記クライアントデバイスが前記地理的位置にいることを確認することは、前記移動データが前記検証経路に沿って移動している前記クライアントデバイスと一致していることを判定することにさらに応答する、請求項３１の方法。
【請求項４０】
追加のプロンプトをユーザに提示させることであって、前記追加のプロンプトは、前記検証経路に沿って移動している間に前記クライアントデバイスに追加入力を提供するように前記ユーザに指示する、ことと、
前記検証経路に沿った前記クライアントデバイスの移動の間に前記クライアントデバイスへの追加入力を受信することと、
前記追加入力が前記検証経路に沿った移動中のプロンプトされた追加入力にマッチするかどうかを判定することと
をさらに含み、
前記クライアントデバイスが前記地理的位置にいることを確認することは、前記追加入力が前記プロンプトされた追加入力にマッチするという判定にさらに応答する、請求項３１の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、ロケーションベースのゲームに関し、より詳細には、並行現実ゲーム（parallel reality game）の一部としてプレーヤの現実世界のロケーションを検証するためのシステムおよび方法に関する。
【背景技術】
【０００２】
現実世界の少なくとも一部分と並行している共有仮想世界を与える並行現実ゲームは、プレーヤのコミュニティを引きつけ得る様々な対話をホストすることができる。現実世界の少なくとも一部分と並行している地理をもつ仮想世界を与えることにより、プレーヤは、現実世界をナビゲートすることによって仮想世界をナビゲートすることができる。仮想環境中の仮想要素を現実世界中の現実世界のオブジェクト、ロケーションおよび行為にリンクすることは、プレーヤが通常は無視するだろう現実世界中の特徴にプレーヤが進んでそれに気づくことを奨励することができる。カウンターパートである現実世界オブジェクトおよび／または現実世界におけるロケーションと同じ仮想世界中のロケーションに仮想要素を与えることは、仮想要素が現実世界の非表示部分であるという感覚を増加させる。
【０００３】
並行現実ゲームは、仮想世界中の他のプレーヤとの社会的対話を通して、仮想世界中の様々なゲーム目的を通してなど、プレーヤが仮想世界中で対話することを奨励するゲーム特徴を含み得る。いくつかのゲーム特徴は、並行仮想世界を現実世界とより密接にリンクするために与えられ得る。並行現実ゲームはまた、例えば、特定の日時に現実世界中の定義された地理的エリア中に集まり、現実世界中に集まっている間に仮想世界中でも互いに対話することによってプレーヤが現実世界と仮想世界との中で同時に対話することを奨励するゲーム特徴を含むことができる。
【０００４】
デバイスのロケーションを「なりすましする（spoofing）」と一般に呼ばれる、コンピューティングデバイスに真のロケーションとは異なるものとして自身のロケーションを報告させることを個人が行うことを可能にする技術が存在する。並行現実ゲームをプレイする際にそのような技術を使用するプレーヤは、同様に「なりすまし者（spoofer）」と呼ばれる。これらのプレーヤのデバイスロケーションをなりすましすることにより、これらのプレーヤがその現実世界のロケーションに物理的に存在する必要なしにこれらのプレーヤが特定の現実世界のロケーションに限定されることを目的とする並行仮想世界中の特徴およびイベントにアクセスすることが可能になるため、これらのプレーヤはこれらのゲーム中で問題を生じることがある。これは、現実世界のロケーションに進むための取り組みを行うプレーヤを落胆させ、意図されたようにゲームをプレイする他のプレーヤよりゲーム中で不公平な利点をなりすまし者に与え得る。なりすまし者は、ゲームをプレイする間に任意の特定の物理的ロケーションを訪問する必要がないので、なりすましは、広告主およびスポンサに対する並行現実ゲームの好ましさを低減し得る。例えば、バーモントにあるコーヒーショップが、カリフォルニアに物理的に位置するが、バーモントに位置するかのように見せるためにデバイスのロケーションをなりすましするゲーム中のプレーヤに対して出現する価値はほとんどない。
【発明の概要】
【０００５】
上記および他の問題は、プレーヤの現実世界のロケーションを検証するためにプレーヤのコンピューティングデバイスを用いてプレーヤの移動中にキャプチャされたランドマークの画像データを使用することによって対処され得る。仮想世界中のロケーションまたはオブジェクトと対話するかまたはそれに近づく際に、プレーヤのクライアントデバイスは、現実世界において利用可能な情報を使用してそれが対応する現実世界のロケーションにまたはそれの近くに位置することを検証し得る。この情報は、プレーヤに固有であり得るか、またはプレーヤのグループ（例えば、チームの全てのプレーヤ、特定の地理的エリアからの全てのプレーヤ、世界中の全てのプレーヤなど）にわたって共有され得る。
【０００６】
一実施形態では、プレーヤのクライアントデバイスのロケーションを検証するための方法およびシステムは、クライアントデバイスによってキャプチャされた画像データと、検証経路に沿ったクライアントデバイスを伴うプレーヤの移動をプロンプトすることとを利用する。検証プロセスは、サーバがクライアントデバイスのロケーションを受信することと、サーバがプレーヤのクライアントデバイスのための検証命令を準備することとを含む。検証命令は、現実世界のロケーションに近接しているランドマークとクライアントデバイスのための検証経路とを含む。クライアントデバイスが検証命令を受信すると、プレーヤのクライアントデバイスは、検証命令によって指定された（ランドマークのピクチャまたはビデオであり得る）ランドマークの最初の画像データをキャプチャするようにプレーヤにプロンプトする。プレーヤのクライアントデバイスは、画像データがランドマークに一致することを検証し得る。次いで、クライアントデバイスは、ランドマークの新しい画像データを断続的にキャプチャする間にクライアントデバイスとともに検証経路に沿って移動するようにプレーヤにプロンプトすることを続ける。プレーヤのクライアントデバイスは、新たにキャプチャされた画像データがランドマークに一致することと、新たにキャプチャされた画像データが最初の画像データとは異なる視点を有することとをもう一度検証する。追加の実施形態では、クライアントデバイスは、検証経路に沿ったデバイスの物理的な移動を表す移動データを１つまたは複数の移動センサから受信する。クライアントデバイスは、移動データが検証経路に一致するのかどうかを決定し得る。新たにキャプチャされた画像データが検証されると、プレーヤのクライアントデバイスは、デバイスがアクセスポイントに対応する現実世界のロケーションにあると結論付け得る。
【０００７】
本開示の他の例示的な実装形態は、ロケーションベースの並行現実ゲーム中での活動に基づいてプレーヤの現実世界のロケーションを検証するためのシステム、装置、非一時的コンピュータ可読媒体、デバイス、およびユーザインターフェースを対象とする。
【０００８】
以下の説明では、様々な実施形態の態様および利点が説明される。追加の態様および利点は、説明に基づいて当業者には明らかになり得るか、または実施形態の実施を通して明らかになり得る。本明細書の一部に組み込まれ、それを構成する添付図面は、様々な実施形態を示し、説明とともに、関連する原則について説明するのに役立つ。
【図面の簡単な説明】
【０００９】
当業者を対象とする実施形態の詳細説明は、添付図面を参照する本明細書に示される。
【図１】一実施形態による、プレーヤの現実世界のロケーションが並行現実ゲーム内での活動に基づいて検証され得るネットワーク化されたコンピューティング環境のブロック図である。
【図２】一実施形態による、現実世界と並行している地理を有する仮想世界の表現を示す図である。
【図３】一実施形態による、並行現実ゲームの例示的なゲームインターフェースを示す図である。
【図４】一実施形態による、現実世界の活動を並行現実ゲームにリンクするための方法のサーバクライアント間の相互作用図である。
【図５】一実施形態による、プレーヤのクライアントデバイスの現実世界のロケーションを検証するための検証プロセスの図である。
【図６】一実施形態による、プレーヤのクライアントデバイスの現実世界のロケーションを検証するための方法のサーバクライアント間の相互作用図である。
【図７】一実施形態による、図６の方法におけるゲームインターフェース図である。
【図８】一実施形態による、コンピューティングデバイスの例示的なアーキテクチャを示す図である。
【発明を実施するための形態】
【００１０】
概要
ゲームサーバは、現実世界の地理の少なくとも一部分と並行する地理をもつ仮想世界を含むプレーヤゲームエリアを有する並行現実ゲームをホストすることができる。プレーヤは、現実世界中のある範囲の地理的座標をナビゲートすることによって仮想世界中の仮想空間を定義するある範囲の座標をナビゲートすることができる。特に、プレーヤの位置は、例えば、モバイルコンピューティングデバイスであり得るプレーヤのクライアントデバイスに関連する測位システム（例えば、ＧＰＳシステム）を使用して監視または追跡され得る。プレーヤの位置情報は、ネットワークを介して並行現実ゲームをホストするゲームサーバに与えられ得、仮想世界中でのプレーヤロケーションを更新するためにゲームによって使用され得る。従って、プレーヤが、それらのクライアントデバイスとともに現実世界中のある範囲の座標中で連続的に動き回るとき、ゲームサーバは、プレーヤが並行仮想世界中である範囲の座標中で同じく連続的に動き回るように更新し得る。
【００１１】
仮想世界は、注目する現実世界のポイントにリンクされた１つまたは複数の仮想要素を含み得る。例えば、仮想世界は、ランドマーク、博物館、芸術作品、図書館、または現実世界中で注目する他のエリアなどの注目するポイントに関連する様々な仮想要素を含むことができる。注目する現実世界のポイントにリンクされた仮想要素は、並行現実ゲームをプレイすることによって仮想世界がプレーヤが対話することができる現実世界の非表示次元であるという錯覚を与えることができる。例えば、プレーヤが現実世界中の地理的座標をナビゲートするときに、プレーヤは、並行仮想世界中に与えられた仮想要素を発見し、対話することができる。様々なゲーム目的は、プレーヤが並行現実ゲームの部分としてこれらの仮想要素と対話することを奨励することができる。いくつかの実施形態では、ゲームサーバは、注目する現実世界のポイントの周りでの並行現実ゲーム中での仮想イベントを編成し得る。
【００１２】
現実世界と並行仮想世界との間のリンクを改善するために、いくつかのゲーム特徴は、仮想世界中での行為が現実世界中での行為に基づき、その逆も同様であるという効果を向上させるために、現実世界の商業活動または現実世界のデータ収集活動などの現実世界の活動にリンクされ得、それによって、並行現実ゲーム中でのユーザエクスペリエンスを改善する。現実世界中での商業活動にリンクされたゲーム特徴は、並行現実ゲームをプレイする間のプレーヤの行為が現実世界中での商業活動を奨励または促進するような並行現実ゲーム中に含まれ得る。スポンサ、広告主、企業、および他のエンティティは、並行現実ゲームのプレーヤにそれらのビジネスまたは他のエンティティの露出を増加させるためにいくつかのゲーム特徴を並行現実ゲーム中に含めるように要求することができる。
【００１３】
並行現実ゲームをホストするゲームサーバは、並行現実ゲーム中にいくつかのゲーム特徴を含めるように並行現実ゲームに関連するゲームデータベース中に記憶されたゲームデータを変更、更新または追加できる。いくつかの基準を満たすプレーヤ（例えば、指定されたロケーションおよび時間にある特殊イベントのためのチケットホルダ、特定の販売促進オファーに参加したプレーヤ、指定されたゲーム中のタスクを完了したプレーヤ、または任意の他の定義可能なグループ）にのみ利用可能なアクセス制御されたゲーム特徴が含まれ得る。例えば、仮想世界中のゲーム特徴に関連するプレーヤの行為が商業活動につながるかまたはそれを奨励することができるように、ゲーム特徴は、現実世界中のもの（例えば、現実世界のライブイベント、注目する現実世界のポイント）にリンクされ得る。
【００１４】
前に説明されたように、なりすまし者がアクセス制御されたゲーム特徴へのアクセスを獲得しないことまたはなりすまし技法を通してゲーム中で不公平な利点を獲得しないことを保証することが望ましい。従って、様々な時間に（例えば、プレーヤがアクセス制御された特徴へのアクセスを要求するときに、ゲームプレイ中に周期的に、プレーヤがあるロケーションの近傍内にあるときなど）、それらのクライアントデバイスをもつプレーヤが対応する現実世界のロケーションに実際にいることを検証するために追加のステップが取られ得る。一実施形態では、ゲームサーバとクライアントデバイスとは、プレーヤの現実世界のロケーションを検証するのを助けるためにプレーヤがクライアントデバイス上の測位システムによって与えられたロケーション情報の上の検証経路に沿って移動する間にランドマークの画像データを利用する。この検証は、なりすまし者がだますことが困難であり、システムをだまそうと試みる際の相対的な投資収益率を低減し、ひいては、なりすまし者の数を低減し得る。従って、ゲームを公平にプレイしている他のプレーヤのためのゲームエクスペリエンスが改善され得る。
【００１５】
例示的なロケーションベースの並行現実ゲームシステム
並行現実ゲームは、現実世界中でのプレーヤ移動および行為が仮想世界中での行為に影響を及ぼし、その逆も同様であるような現実世界の地理の少なくとも一部分と並行している仮想世界の地理を有するロケーションベースのゲームである。当業者は、本明細書で提供される開示を使用して、説明される主題がユーザのロケーションを検証することが望ましい他の状況に適用可能なことを理解されよう。さらに、コンピュータベースのシステムの固有の柔軟性は、システムの構成要素の間でのタスクおよび機能の多種多様の可能な構成、組合せ、および分割を可能にする。例えば、本開示の態様によるシステムおよび方法は、単一のコンピューティングデバイスを使用してまたは（例えば、コンピュータネットワーク中で接続された）複数のコンピューティングデバイスにわたって実装され得る。
【００１６】
図１は、プレーヤの現実世界のロケーションが並行現実ゲーム内での活動に基づいて検証され得るネットワーク化されたコンピューティング環境１００の一実施形態を示す。ネットワーク化されたコンピューティング環境１００は、現実世界と並行している地理を有する仮想世界中でのプレーヤの対話を提供する。特に、現実世界中での地理的エリアは、仮想世界中での対応するエリアに直接リンクまたはマッピングされ得る。プレーヤは、現実世界中で様々な地理的ロケーションに移動することによって仮想世界中で動き回ることができる。例えば、現実世界中でのプレーヤの位置は、仮想世界中でのプレーヤの位置を更新するために追跡および使用され得る。一般に、現実世界中でのプレーヤの位置は、プレーヤが仮想世界と対話するクライアントデバイス１２０のロケーションを発見し、プレーヤが同じ（またはほぼ同じ）ロケーションにいると仮定することによって決定される。例えば、様々な実施形態では、現実世界中でのプレーヤのロケーションが、仮想世界中の仮想要素の仮想ロケーションに対応する現実世界のロケーションの閾値距離（例えば、１０メートル、２０メートルなど）以内にある場合、プレーヤは仮想要素と対話し得る。便宜上、様々な実施形態は「プレーヤのロケーション」に関して説明されるが、そのような言及がプレーヤのクライアントデバイス１２０のロケーションを指し得ることを、当業者は諒解されよう。
【００１７】
次に、図２を参照すると、図２は、一実施形態による、並行現実ゲームのプレーヤのためのゲームボードとして働くことができる現実世界２００と並行している仮想世界２１０の概念図を示す。図示のように、仮想世界２１０は、現実世界２００の地理と並行している地理を含むことができる。特に、現実世界２００中の地理的エリアまたは空間を定義するある範囲の座標は、仮想世界２１０中の仮想空間を定義する対応する範囲の座標にマッピングされる。現実世界２００中のある範囲の座標は、町、近傍、都市、構内、場所、国、大陸、地球全体、または他の地理的エリアに関連付けられ得る。ある範囲の地理的座標中の各地理的座標は、仮想世界中の仮想空間中の対応する座標にマッピングされる。
【００１８】
仮想世界２１０中でのプレーヤの位置は、現実世界２００中でのプレーヤの位置に対応する。例えば、現実世界２００中での位置２１２に位置するプレーヤＡは、仮想世界２１０中での対応する位置２２２を有する。同様に、現実世界中での位置２１４に位置するプレーヤＢは、仮想世界中での対応する位置２２４を有する。プレーヤが、現実世界中のある範囲の地理的座標中で動き回るとき、プレーヤはまた、仮想世界２１０中の仮想空間を定義するある範囲の座標中で動き回る。特に、プレーヤが、現実世界中のある範囲の地理的座標をナビゲートするとき、プレーヤによって搬送されるモバイルコンピューティングデバイスに関連する測位システム（例えば、ＧＰＳシステム）はプレーヤの位置を追跡するために使用され得る。現実世界２００中でのプレーヤの位置に関連するデータは、仮想世界２１０中の仮想空間を定義する対応する範囲の座標中でのプレーヤの位置を更新するために使用される。このようにして、プレーヤは、現実世界２００中での特定の個別のロケーションにおいてロケーション情報をチェックインするかまたは周期的に更新する必要なしに現実世界２００中の対応する範囲の地理的座標の間を単に進むことによって、仮想世界２１０中の仮想空間を定義するある範囲の座標中での連続トラックをナビゲートすることができる。
【００１９】
ロケーションベースのゲームは、仮想世界中の様々な仮想ロケーションに拡散された様々な仮想要素および／または仮想オブジェクトに進む、および／またはそれと対話することをプレーヤに要求する複数のゲーム目的を含むことができる。プレーヤは、現実世界中で仮想要素またはオブジェクトの対応するロケーションに進むことによってこれらの仮想ロケーションに進むことができる。例えば、測位システムは、プレーヤが現実世界を連続的にナビゲートするとき、プレーヤがまた並行仮想世界を連続的にナビゲートするようにプレーヤの位置を連続的に追跡することができる。プレーヤは、１つまたは複数のゲーム目的を達成または実行するために特定のロケーションにおいて様々な仮想要素および／またはオブジェクトと対話することができる。
【００２０】
例えば、ゲーム目的は、仮想世界２１０中の様々な仮想ロケーションに位置する仮想要素２３０をキャプチャするかまたはそれの所有権を主張することをプレーヤに要求することができる。これらの仮想要素２３０は、現実世界２００中のランドマーク、地理的ロケーション、またはオブジェクト２４０にリンクされ得る。現実世界のランドマークまたはオブジェクト２４０は、芸術作品、モニュメント、建築物、企業、図書館、博物館、または他の好適な現実世界のランドマークもしくはオブジェクトであり得る。これらの仮想要素２３０をキャプチャするために、プレーヤは、現実世界中で仮想要素２３０にリンクされたランドマークまたは地理的ロケーション２４０に進まなければならず、仮想世界２１０中で仮想要素２３０との任意の必要な対話を実行しなければならない。例えば、図２のプレーヤＡは、その特定のランドマーク２４０にリンクされた仮想要素２３０と対話するかまたはそれをキャプチャするために現実世界２００中でランドマーク２４０に進まなければならないことがある。仮想要素２３０との対話は、仮想要素２３０に関連するランドマークまたはオブジェクト２４０に関する写真を撮ることおよび／またはそれに関する他の情報を検証、取得もしくはキャプチャすることなど、現実世界中での行為を必要とすることができる。いくつかの実施形態では、仮想要素２３０との対話は、さらに、現実世界２００中でのプレーヤのロケーションが仮想世界２１０中でのプレーヤのロケーションに一致することの検証をプロンプトし得る。
【００２１】
ゲーム目的は、プレーヤがロケーションベースのゲーム中でプレーヤによって収集された１つまたは複数の仮想アイテムを使用することを必要とし得る。例えば、プレーヤは、ゲーム目的を完了するのに有用であり得る仮想アイテム（例えば、武器、クリーチャ、パワーアップ、または他のアイテム）を探索して仮想世界２１０を進み得る。これらの仮想アイテムは、現実世界２００中で異なるロケーションに進むことによって、または仮想世界２１０もしくは現実世界２００のいずれかで様々な行為を完了することによって発見または収集され得る。図２に示された例では、プレーヤは、１つまたは複数の仮想要素２３０をキャプチャするために仮想アイテム２３２を使用する。特に、プレーヤは、仮想要素２３０に近接したまたはそれの内の仮想世界２１０中のロケーションに仮想アイテム２３２を展開することができる。このようにして１つまたは複数の仮想アイテム２３２を展開することにより、特定のプレーヤに対してまたは特定のプレーヤのチーム／派閥に対して仮想要素２３０のキャプチャをもたらすことができる。
【００２２】
特定の一実装形態では、プレーヤは、並行現実ゲームの一部として仮想エネルギーを収集しなければならないことがある。図２に示されているように、仮想エネルギー２５０は、仮想世界２１０中の異なるロケーションに拡散され得る。プレーヤは、実際の世界２００中で仮想エネルギー２５０の対応するロケーションに進むことによって仮想エネルギー２５０を収集することができる。仮想エネルギー２５０は、ゲーム中で仮想アイテムにパワー供給するため、および／または様々なゲーム目的を実行するために使用され得る。全ての仮想エネルギー２５０を失ったプレーヤはゲームから切断され得る。
【００２３】
本開示の態様によれば、並行現実ゲームは、ゲーム中のあらゆる参加者が同じ仮想世界を共有する大規模なマルチプレーヤのロケーションベースのゲームであり得る。プレーヤは、別個のチームまたは派閥に分割され、仮想要素の所有権をキャプチャするまたは主張するなどのために１つまたは複数のゲーム目的を達成するために協力することができる。このようにして、並行現実ゲームは、本質的に、ゲーム内のプレーヤ間での協働を奨励するソーシャルゲームであり得る。対立するチームのプレーヤは、並行現実ゲーム中に互いに足を引っ張り合うこと（または、時々、相互目的を達成するために共同すること）ができる。プレーヤは、対立するチーム上のプレーヤを攻撃するか、またはその進行を妨害するために仮想アイテムを使用し得る。場合によっては、プレーヤは、並行現実ゲーム中での協働型または対話型イベントのために現実世界のロケーションに集合するのを奨励される。これらの場合、ゲームサーバは、プレーヤが実際に物理的に存在し、なりすまししていないことを保証しようとする。
【００２４】
並行現実ゲームは、並行現実ゲーム内でのゲームプレイを向上または奨励するために様々な特徴を有し得る。例えば、プレーヤは、（例えば、ゲーム中のアイテムを購入するために）ゲーム全体にわたって使用され得る仮想通貨または別の仮想報酬を蓄積できる。プレーヤは、１つまたは複数のゲーム目的を完了し、ゲーム内で経験を獲得するにつれてプレーヤは様々なレベルを通して進化できる。いくつかの実施形態では、プレーヤは、ゲーム中に与えられる１つまたは複数の通信インターフェースを通して互いに通信できる。プレーヤはまた、ゲーム内でゲーム目的を完了するために使用される拡張された「パワー」または仮想アイテムを取得できる。当業者は、本明細書で提供される開示を使用して、様々な他のゲーム特徴が本開示の範囲から逸脱することなく並行現実ゲームとともに含まれ得ることを理解されたい。
【００２５】
再び図１を参照すると、ネットワーク化されたコンピューティング環境１００は、クライアントサーバアーキテクチャを使用し、ここで、ゲームサーバ１１０は、クライアント１２０においてプレーヤに並行現実ゲームを与えるためにネットワーク１３０を介して１つまたは複数のクライアント１２０と通信する。ネットワーク化されたコンピューティング環境１００は、スポンサ／広告主システムまたはビジネスシステムなどの他の外部システムを含み得る。ただ１つのクライアント１２０が図１に示されているが、任意の数のクライアント１２０または他の外部システムがネットワーク１３０を介してゲームサーバ１１０に接続され得る。さらに、ネットワーク化されたコンピューティング環境１００は、異なるまたは追加の要素を含み得、機能は、以下で説明される方式とは異なる方式でクライアント１２０とサーバ１１０との間で分散され得る。
【００２６】
ゲームサーバ１１０は、任意のコンピューティングデバイスであり得、１つまたは複数のプロセッサと１つまたは複数のコンピュータ可読媒体とを含み得る。コンピュータ可読媒体は、プロセッサに動作を実行させる命令を記憶できる。ゲームサーバ１１０は、ゲームデータベース１１５を含むことができるかまたはそれと通信することができる。ゲームデータベース１１５は、ネットワーク１３０を介してサービスされ、クライアント１２０に与えられるべき並行現実ゲーム中で使用されるゲームデータを記憶する。
【００２７】
ゲームデータベース１１５中に記憶されるゲームデータは、（１）並行現実ゲーム中の仮想世界に関連するデータ（例えば、表示デバイス上に仮想世界をレンダリングするために使用されるイメージデータ、仮想世界中でのロケーションの地理的座標など）、（２）並行現実ゲームのプレーヤに関連するデータ（例えば、限定はしないが、プレーヤ情報、プレーヤの経験レベル、プレーヤの通貨、仮想世界／現実世界中での現在のプレーヤの位置、プレーヤのエネルギーレベル、プレーヤの選好、チーム情報、派閥情報などを含むプレーヤプロファイル）、（３）ゲーム目的に関連するデータ（例えば、現在のゲーム目的、ゲーム目的のステータス、過去のゲーム目的、将来のゲーム目的、所望のゲーム目的などに関連するデータ）、（４）仮想世界中の仮想要素に関連するデータ（例えば、仮想要素の位置、仮想要素のタイプ、仮想要素に関連するゲーム目的、仮想要素のための対応する実際の世界位置情報、仮想要素の挙動、仮想要素の関連性など）、（５）現実世界のオブジェクト、ランドマーク、仮想世界の要素にリンクされた位置に関連するデータ（例えば、現実世界のオブジェクト／ランドマークのロケーション、現実世界のオブジェクト／ランドマークの説明、現実世界のオブジェクトにリンクされた仮想要素の関連性など）、（６）ゲームステータス（例えば、プレーヤの現在の数、ゲーム目的の現在のステータス、プレーヤのリーダーボードなど）、（７）プレーヤの行為／入力に関連するデータ（例えば、現在のプレーヤの位置、過去のプレーヤの位置、プレーヤの移動、プレーヤの入力、プレーヤのクエリ、プレーヤの通信など）、および（８）並行現実ゲームの実装の間に使用されるか、それに関係するか、またはその間に取得される任意の他のデータを含むことができる。ゲームデータベース１１５中に記憶されるゲームデータは、ネットワーク１３０を介して１つまたは複数のクライアント１２０からなどシステム管理者によっておよび／またはシステム１００のユーザ／プレーヤから受信されたデータによってオフラインでまたはリアルタイムでのいずれかでポピュレートされ得る。
【００２８】
ゲームサーバ１１０は、（例えば、リモートプロシージャ呼出し（ＲＰＣ）を介して）１つまたは複数のクライアント１２０からゲームデータについての要求を受信し、ネットワーク１３０を介してそれらの要求に応答するように構成され得る。例えば、ゲームサーバ１１０は、１つまたは複数のデータファイル中のゲームデータを符号化し、クライアント１２０にデータファイルを与えることができる。さらに、ゲームサーバ１１０は、ネットワーク１３０を介して１つまたは複数のクライアント１２０からゲームデータ（例えば、プレーヤの位置、プレーヤの行為、プレーヤの入力など）を受信するように構成され得る。例えば、クライアント１２０は、ゲームサーバ１１０にプレーヤの入力と他の更新とを周期的に送るように構成され得、これをゲームサーバ１１０は、ゲームのための任意のおよび全ての変更状態を反映するためにゲームデータベース１１５中のゲームデータを更新するために使用する。
【００２９】
図示された実施形態では、サーバ１１０は、ユニバーサルゲームモジュール１１２と、商用ゲーム特徴モジュール１１４と、データ収集モジュール１１６と、イベントモジュール１１８とを含む。ゲームサーバ１１０は、ゲームサーバ１１０の部分であり得るかまたはリモートでアクセスされ得るゲームデータベース１１５と対話する（例えば、ゲームデータベース１１５は、ネットワーク１３０を介してアクセスされる分散データベースであり得る）。他の実施形態では、ゲームサーバ１１０は、異なるおよび／または追加の要素を含んでいる。さらに、機能は、説明されたのとは異なる方式で要素の間で分散され得る。例えば、ゲームデータベース１１５は、ゲームサーバ１１０に統合され得る。
【００３０】
ユニバーサルゲームモジュール１１２は、全てのプレーヤのための並行現実ゲームをホストし、全てのプレーヤのための並行現実ゲームの現在のステータスのための権威あるソースとして働く。ユニバーサルゲームモジュール１１２は、クライアント１２０からゲームデータ（例えば、プレーヤの入力、プレーヤの位置、プレーヤの行為、ランドマーク情報など）を受信し、並行現実ゲームの全てのプレーヤのための全体的な並行現実ゲームに受信されたゲームデータを組み込む。ユニバーサルゲームモジュール１１２はまた、ネットワーク１３０を介したクライアント１２０へのゲームデータの配信を管理することができる。ユニバーサルゲームモジュール１１２はまた、限定はしないが、クライアント１２０とゲームサーバ１１０との間の接続をセキュリティ保護することと、様々なクライアント１２０間の接続を確立することと、様々なクライアント１２０のロケーションを検証することとを含むクライアント１２０のセキュリティ態様を支配することができる。
【００３１】
商用ゲーム特徴モジュール１１４は、それが含まれる実施形態では、ユニバーサルゲームモジュール１１２とは別個であるか、またはそれの部分であり得る。商用ゲーム特徴モジュール１１４は、現実世界中での商業活動にリンクされた並行現実ゲーム内の様々なゲーム特徴の包含を管理することができる。例えば、商用ゲーム特徴モジュール１１４は、並行現実ゲーム中での商業活動にリンクされたゲーム特徴を含めるために（ネットワークインターフェースを介して）ネットワーク１３０を介してスポンサ／広告主、企業、または他のエンティティなどの外部システムから要求を受信することができる。商用ゲーム特徴モジュール１１４は、並行現実ゲーム中へのこれらのゲーム特徴の包含を手配することができる。
【００３２】
ゲームサーバ１１０は、データ収集モジュール１１６をさらに含むことができる。データ収集モジュール１１６は、それが含まれる実施形態では、ユニバーサルゲームモジュール１１２とは別個であるか、またはそれの部分であり得る。データ収集モジュール１１６は、現実世界中でのデータ収集活動にリンクされた並行現実ゲーム内の様々なゲーム特徴の包含を管理することができる。例えば、データ収集モジュール１１６は、並行現実ゲーム中でのデータ収集活動にリンクされたゲーム特徴を含むようにゲームデータベース１１５中に記憶されたゲームデータを変更することができる。データ収集モジュール１１６は、データ収集活動に従ってプレーヤによって収集されたデータを分析し、様々なプラットフォームによるアクセスのためのデータを与えることができる。データ収集モジュール１１６の様々な実施形態については、図６を参照しながら以下でより詳細に説明される。
【００３３】
イベントモジュール１１８は、並行現実ゲーム中でのイベントへのプレーヤのアクセスを管理する。「イベント」という用語が便宜のために使用されているが、この用語は、特定のロケーションまたは時間における特定のイベントを指す必要はないことを諒解されたい。むしろ、プレーヤがそのコンテンツにアクセスし得るのかどうかを決定するために１つまたは複数のアクセス基準が使用されるアクセス制御されたゲームコンテンツの任意の提供を指し得る。そのようなコンテンツは、アクセス制御が少ないかないゲームコンテンツを含むより大きい並行現実ゲームの一部であり得るかまたはスタンドアロンのアクセス制御された並行現実ゲームであり得る。
【００３４】
クライアント１２０は、ゲームシステム１００とインターフェースするためにプレーヤによって使用され得る任意のポータブルコンピューティングデバイスであり得る。例えば、クライアント１２０は、ワイヤレスデバイス、携帯情報端末（ＰＤＡ）、ポータブルゲームデバイス、セルラー電話、スマートフォン、タブレット、ナビゲーションシステム、ハンドヘルドＧＰＳシステム、ウェアラブルコンピューティングデバイス、１つもしくは複数のプロセッサを有するディスプレイ、または他のそのようなデバイスであり得る。要するに、クライアント１２０は、プレーヤがゲームシステム１００と対話することを可能にする任意のコンピュータデバイスまたはシステムであり得る。
【００３５】
クライアント１２０は、１つまたは複数のプロセッサと１つまたは複数のコンピュータ可読媒体とを含み得る。コンピュータ可読媒体は、プロセッサに動作を実行させる命令を記憶できる。クライアント１２０は、ディスプレイスクリーン、タッチスクリーン、タッチパッド、データ入力キー、スピーカ、カメラ、および／または音声認識に好適なマイクロフォンなど、情報を与え、プレーヤから情報を受信するための様々な入出力デバイスを含むことができる。クライアント１２０はまた、限定はしないが、移動センサ、加速度計、ジャイロスコープ、他の慣性測定ユニット（ＩＭＵ）、気圧計、測位システム、温度計、光センサなどを含む、クライアント１２０からのデータを記録するための他の様々なセンサを含み得る。クライアント１２０は、ネットワーク１３０を介した通信を与えるためのネットワークインターフェースをさらに含み得る。ネットワークインターフェースは、例えば、送信機、受信機、ポート、コントローラ、アンテナ、または他の好適な構成要素を含む１つまたは複数のネットワークとインターフェースするための任意の好適な構成要素を含むことができる。
【００３６】
ネットワーク化されたコンピューティング環境１００がロケーションベースのゲームを与えるので、クライアント１２０は、好ましくは、容易に携帯される、あるいはスマートフォンまたはタブレットなどのプレーヤとともに運ばれるポータブルコンピューティングデバイスである。図１に示された実施形態では、各クライアント１２０は、カメラ１２６および複数の移動センサ１２８などの様々な物理構成要素をもつゲームモジュール１２２および測位モジュール１２４などのソフトウェア構成要素を含む。他の実施形態では、クライアント１２０は、（クライアント１２０の構成要素としてのまたはクライアント１２０の外部の）ディスプレイ、様々な入力デバイス（例えば、タッチスクリーン、マウス、スタイラス）などの異なるまたは追加の要素を含み得る。
【００３７】
ゲームモジュール１２２は、並行現実ゲームに参加するためのインターフェースをプレーヤに与える。ゲームサーバ１１０は、ゲームサーバ１１０から離れたロケーションにいるプレーヤにゲームのローカルバージョンを与えるためにクライアント１２０においてゲームモジュール１２２が使用するためにクライアント１２０にネットワーク１３０を介してゲームデータを送信する。サーバ１１０は、ネットワーク１３０を介した通信を与えるためのネットワークインターフェースを含み得る。ネットワークインターフェースは、例えば、送信機、受信機、ポート、コントローラ、アンテナ、または他の好適な構成要素を含む１つまたは複数のネットワークとインターフェースするための任意の好適な構成要素を含み得る。
【００３８】
クライアント１２０によって実行されるゲームモジュール１２２は、プレーヤと並行現実ゲームとの間のインターフェースを与える。ゲームモジュール１２２は、ゲームに関連する仮想世界を表示し（例えば、仮想世界の画像をレンダリングし）、ユーザが、様々なゲーム目的を実行するために仮想世界中で対話することを可能にするクライアント１２０に関連する表示デバイス上にユーザインターフェースを提示することができる。ゲームモジュール１２２は、プレーヤがディスプレイスクリーンを閲覧することを必要とすることなしにプレーヤがゲームと対話することを可能にするように様々な他の出力を制御することができる。例えば、ゲームモジュール１２２は、ディスプレイスクリーンに注目することなしにプレーヤがゲームをプレイすることを可能にする様々な音響、振動、または他の通知を制御することができる。ゲームモジュール１２２は、ユーザにゲームの正確な表現を与えるためにゲームサーバ１１０から受信されたゲームデータにアクセスすることができる。ゲームモジュール１２２は、プレーヤの入力を受信および処理し、ネットワーク１３０を介してゲームサーバ１１０に更新を与えることができる。
【００３９】
測位モジュール１２４は、クライアント１２０の位置を監視する任意のデバイスまたは回路であり得る。例えば、測位モジュール１２４は、衛星航法測位システム（例えば、ＧＰＳシステム、Ｇａｌｉｌｅｏ測位システム、グローバルナビゲーション衛星システム（ＧＬＯＮＡＳＳ）、ＢｅｉＤｏｕ衛星航法および測位システム）、慣性航法システム、デッドレコニングシステムを使用することによって、ＩＰアドレスに基づいて、セルラータワーもしくはＷｉ−Ｆｉホットスポットに対する三角測量および／もしくは近接度、並びに／または位置を決定するための他の好適な技法を使用することによって実際のまたは相対的な位置を決定することができる。測位モジュール１２４は、クライアント１２０のロケーションを正確に測位するのを助け得る様々な他のセンサをさらに含み得る。
【００４０】
プレーヤが現実世界中でクライアント１２０とともに動き回るとき、測位モジュール１２４は、プレーヤの位置を追跡し、ゲームモジュール１２２にプレーヤ位置情報を与える。ゲームモジュール１２２は、現実世界中でのプレーヤの実際の位置に基づいてゲームに関連する仮想世界中でのプレーヤの位置を更新する。従って、プレーヤは、単に現実世界中でクライアント１２０を携帯するかまたは運ぶことによって仮想世界と対話することができる。特に、仮想世界中でのプレーヤのロケーションは、現実世界中でのプレーヤのロケーションに対応することができる。ゲームモジュール１２２は、ネットワーク１３０を介してゲームサーバ１１０にプレーヤの位置情報を与えることができるので、ユニバーサルゲームモジュール１１２は、ゲーム全体にわたって全てのプレーヤの位置を追跡する。それに応答して、ゲームサーバ１１０は、チーターがクライアント１２０のロケーションをなりすましするのを防ぐためにクライアント１２０のロケーションを検証するために様々な技法を定め得る。プレーヤのロケーション情報がアクセスされることを必要とすることと、ロケーション情報がゲームのコンテキストでどのように利用されることになるのか（例えば、仮想世界中でのプレーヤの位置を更新するため）とをプレーヤが通知された後に許可が与えられた場合にのみプレーヤに関連するロケーション情報が利用されることを理解されたい。さらに、プレーヤに関連するあらゆるロケーション情報は、プレーヤのプライバシーを保護する方式で記憶され、維持されることになる。
【００４１】
ネットワーク１３０は、ローカルエリアネットワーク（例えば、イントラネット）、ワイドエリアネットワーク（例えば、インターネット）、またはそれらの何らかの組合せなどの任意のタイプの通信ネットワークであり得る。ネットワークはまた、クライアント１２０とゲームサーバ１１０との間の直接接続を含み得る。概して、ゲームサーバ１１０とクライアント１２０との間の通信は、任意のタイプの有線および／または無線接続を使用して、様々な通信プロトコル（例えば、ＴＣＰ／ＩＰ、ＨＴＴＰ、ＳＭＴＰ、ＦＴＰ）、符号化またはフォーマット（例えば、ＨＴＭＬ、ＸＭＬ、ＪＳＯＮ）および／または保護方式（例えば、ＶＰＮ、セキュアＨＴＴＰ、ＳＳＬ）を使用してネットワークインターフェースを介して搬送され得る。
【００４２】
本明細書で説明される技術は、サーバ、データベース、ソフトウェアアプリケーションおよび他のコンピュータベースのシステム、並びに取られた行為およびそのようなシステムとの間で送られる情報を参照する。コンピュータベースのシステムの固有の柔軟性は、構成要素間でのタスクおよび機能の多種多様の可能な構成、組合せ、および分割を可能にすることを当業者は認識されよう。例えば、本明細書で説明されるサーバプロセスは、単一のサーバまたは組み合わせて動作する複数のサーバを使用して実装され得る。データベースとアプリケーションとは、単一のシステム上に実装されるか、または複数のシステムにわたって分散され得る。分散された構成要素は、連続的にまたは並行して動作し得る。
【００４３】
さらに、本明細書で説明されるシステムおよび方法が、ユーザに関する個人情報にアクセスし、それを分析するか、またはロケーション情報などの個人情報を利用する状況では、ユーザは、プログラムまたは特徴が情報を収集するのかどうかを制御することと、システムまたは他のアプリケーションからコンテンツを受信するのかどうか並びに／またはそれをどのように受信するのかを制御することとを行う機会が与えられ得る。どんな情報が収集されることを必要とするのかと情報がどのように使用されるのかとについてユーザが有意味な通知を与えられるまでそのような情報またはデータは収集も使用もされない。ユーザが、任意の時間にユーザによって取り消されるかまたは変更され得る承諾を与えない限り、情報は収集も使用もされない。従って、ユーザは、情報がユーザに関してどのように収集され、アプリケーションまたはシステムによって使用されるのかについての制御を有することができる。さらに、ある情報またはデータは、それが記憶または使用される前に１つまたは複数の方法で扱われ得、従って、個人情報が除去される。例えば、個人情報がユーザについて決定され得ないようにユーザの識別情報は扱われ得る。
【００４４】
例示的なコンピューティングシステム
図８は、一実施形態による、コンピューティングデバイスの例示的なアーキテクチャである。図８は、本明細書で説明される１つまたは複数のエンティティの一部または全体として使用されるコンピュータの物理構成要素を示すハイレベルのブロック図を示すが、一実施形態によれば、コンピュータは、図８中に与えられた構成要素の追加の構成要素、それらよりも少ない構成要素、またはそれらの変形形態を有し得る。図８はコンピュータ８００を示すが、図は、本明細書で説明される実装形態の構造概略図としてではなく、コンピュータシステム中に存在し得る様々な特徴の機能的説明として意図される。実際には、当業者によって認識されるように、別々に示されているアイテムが組み合わされていることがあり、いくつかのアイテムは分離され得る。
【００４５】
チップセット８０４に結合された少なくとも１つのプロセッサ８０２が、図８に図示されている。また、メモリ８０６と、ストレージデバイス８０８と、キーボード８１０と、グラフィックスアダプタ８１２と、ポインティングデバイス８１４と、ネットワークアダプタ８１６とがチップセット８０４に結合されている。ディスプレイ８１８は、グラフィックスアダプタ８１２に結合されている。一実施形態では、チップセット８０４の機能は、メモリコントローラハブ８２０と入出力ハブ８２２とによって与えられる。別の実施形態では、メモリ８０６は、チップセット８０４の代わりにプロセッサ８０２に直接結合される。いくつかの実施形態では、コンピュータ８００は、これらの構成要素を相互接続するための１つまたは複数の通信バスを含む。１つまたは複数の通信バスは、システム構成要素との間の通信を相互接続し、制御する（チップセットと呼ばれることがある）回路を随意に含む。
【００４６】
ストレージデバイス８０８は、ハードドライブ、コンパクトディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、ＤＶＤ、または固体メモリデバイスもしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、磁気ディスクストレージデバイス、光ディスクストレージデバイス、フラッシュメモリデバイス、または他の不揮発性固体ストレージデバイスなどの任意の非一時的コンピュータ可読記憶媒体である。そのようなストレージデバイス８０８は、永続メモリと呼ばれることもある。ポインティングデバイス８１４は、マウス、トラックボール、または他のタイプのポインティングデバイスであり得、コンピュータ８００にデータを入力するためにキーボード８１０と組み合わせて使用される。グラフィックスアダプタ８１２は、ディスプレイ８１８上に画像および他の情報を表示する。ネットワークアダプタ８１６は、ローカルまたはワイドエリアネットワークにコンピュータ８００を結合する。
【００４７】
メモリ８０６は、プロセッサ８０２によって使用される命令とデータとを保持する。メモリ８０６は、非永続的メモリであり得、その例は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ等の高速ランダムアクセスメモリを含む。
【００４８】
当技術分野で知られているように、コンピュータ８００は、図１３に示されている構成要素とは異なるおよび／または他の構成要素を有することができる。さらに、コンピュータ８００は、いくつかの図示された構成要素が欠如していることがある。一実施形態では、サーバとして働くコンピュータ８００は、キーボード８１０、ポインティングデバイス８１４、グラフィックスアダプタ８１２、および／またはディスプレイ８１８が欠如していることがある。さらに、ストレージデバイス８０８は、（ストレージエリアネットワーク（ＳＡＮ）内に埋め込まれるなど）コンピュータ８００に対してローカルおよび／またはリモートであり得る。
【００４９】
当技術分野で知られているように、コンピュータ８００は、本明細書で説明される機能を与えるためのコンピュータプログラムモジュールを実行するように適応される。本明細書で使用する、「モジュール」という用語は、指定された機能を与えるために利用されるコンピュータプログラム論理を指す。従って、モジュールは、ハードウェア、ファームウェア、および／またはソフトウェアで実装され得る。一実施形態では、プログラムモジュールは、ストレージデバイス８０８上に記憶され、メモリ８０６にロードされ、プロセッサ３０２によって実行される。
【００５０】
例示的なゲームインターフェース
図３は、プレーヤと仮想世界２１０との間のインターフェースの一部としてクライアント１２０のディスプレイ上に存在し得るゲームインターフェース３００の一実施形態を示す。ゲームインターフェース３００は、仮想世界２１０と、仮想世界２１０中でのプレーヤの位置２２２並びに仮想要素２３０、仮想アイテム２３２、および仮想エネルギー２５０のロケーションなどのゲームの様々な他の態様とを表示するために使用され得るディスプレイウィンドウ３１０を含む。ユーザインターフェース３００はまた、ゲームデータ情報、ゲーム通信、プレーヤ情報、クライアントロケーション検証命令、およびゲームに関連する他の情報などの他の情報を表示できる。例えば、ユーザインターフェースは、プレーヤの名前、経験レベルおよび他の情報などのプレーヤ情報３１５を表示できる。ユーザインターフェース３００は、ゲームに関連する様々なゲーム設定および他の情報にアクセスするためのメニュー３２０を含むことができる。ユーザインターフェース３００は、ゲームシステムとプレーヤとの間の、および並行現実ゲームの１人または複数人のプレーヤとの間の通信を可能にする通信インターフェース３３０を含むことができる。
【００５１】
本開示の態様によれば、プレーヤは、単に現実世界中でクライアントデバイス１２０を持ち歩くことによって並行現実ゲームと対話することができる。例えば、プレーヤは、単にスマートフォン上の並行現実ゲームに関連するアプリケーションにアクセスし、スマートフォンとともに現実世界中で動き回ることによってゲームをプレイすることができる。この点について、プレーヤは、ロケーションベースのゲームをプレイするためにディスプレイスクリーン上で仮想世界の視覚表示を連続的に閲覧する必要がない。従って、ユーザインターフェース３００は、ユーザがゲームと対話することを可能にする複数の非視覚的要素を含むことができる。例えば、ゲームインターフェースは、プレーヤがゲーム中の仮想要素またはオブジェクトに接近しているときに、または重要なイベントが並行現実ゲーム中で起こるときにプレーヤに可聴通知を与えることができる。プレーヤは、オーディオ制御３４０を用いてこれらの可聴通知を制御することができる。仮想要素またはイベントのタイプに応じてユーザに異なるタイプの可聴通知が与えられ得る。可聴通知は、プレーヤの仮想要素またはオブジェクトに対する近接度に応じて周波数またはボリュームを増加または減少することができる。振動通知または他の好適な通知もしくは信号などの他の非視覚的な通知および信号がユーザに与えられ得る。
【００５２】
本明細書で提供される開示を使用して、多数のゲームインターフェース構成および基礎をなす機能が本開示に照らして明らかになるであろうことを、当業者は諒解されよう。本開示は、いずれか１つの特定の構成に限定されるものではない。
【００５３】
並行現実ゲームの動作のクライアントサーバ間の流れ図
図４は、一実施形態による、現実世界の活動を並行現実ゲームにリンクする方法４００のクライアントサーバ間の流れ図を示す。方法４００は、図１のシステム１００のクライアントサーバ構成などの任意の好適なコンピューティングシステムを使用して実装され得る。図４が例示および説明のために特定の順序で実行されるステップを示すが、本明細書で説明される方法は、任意の特定の順序または構成に限定されない。本明細書で提供される開示を使用して、本明細書で開示される方法の様々なステップが、本開示の範囲から逸脱することなく様々な方法で省略され、再構成され、組み合わされ、および／または適応され得ることを、当業者は諒解されよう。本方法はまた、異なるまたは追加のステップを含み得る。
【００５４】
図４に示される実施形態では、方法４００は、４０２において開始し、ゲームサーバ１１０が、複数のクライアントデバイス１２０のための並行現実ゲームをホストする。プレーヤは、１つまたは複数のクライアントデバイス１２０を介してネットワーク１３０を介してゲームサーバ１１０と通信することによって並行現実ゲームにアクセスすることができる。このようにして、ゲームサーバ１１０は、並行現実ゲームのためのイベントの権威あるソースとして働き得る。
【００５５】
４０４において、サーバは、ゲーム特徴を含むように並行現実ゲームに関連するゲームデータを変更することができる。例えば、ゲームサーバ１１０は、ゲーム特徴が並行現実ゲーム中に含まれるようにゲームデータを変更するか、更新するか、またはそれをゲームデータベース１１５に追加することができる。いくつかのゲーム特徴は、現実世界の活動にリンクされ得る。これらのゲーム特徴は、並行現実ゲームのための全体的なゲーム目的に直接関係しない現実世界中での活動を含む現実世界中でのプレーヤによる活動を促進または奨励するように設計された任意のゲーム特徴であり得る。特定の実施形態では、現実世界の活動にリンクされたゲーム特徴は、現実世界中での商業活動にリンクされたゲーム特徴であり得る。
【００５６】
４０６において、ゲームサーバ１１０は、ネットワーク１３０を介して１つまたは複数のクライアントデバイス１２０にゲーム特徴を含む並行現実ゲームをサービスする。４０８において、クライアントデバイス１２０は、ゲーム特徴に関連するデータを含むゲームデータをゲームサーバ１１０から受信する。クライアントデバイス１２０は、４１０においてプレーヤにゲーム特徴を含む並行現実ゲームを提示する。例えば、クライアントデバイス１２０は、仮想世界の視覚表示を表示することができる。仮想世界は、現実世界中でのプレーヤの活動を奨励または促進するために仮想世界中での特定のロケーションに位置する仮想要素などのゲーム特徴を含むことができる。
【００５７】
４１２において、クライアントデバイス１２０は、ゲーム特徴とのプレーヤインタラクションに関連するデータを受信することを含む。例えば、クライアントデバイス１２０は、並行現実ゲーム中でのゲーム特徴に向けられたプレーヤの行為の結果としてデータを受信することができる。プレーヤインタラクションに関連するデータは、プレーヤを特定の仮想要素のロケーションにナビゲートし、仮想要素と対話することに関連するデータを含むことができる。別の例として、プレーヤインタラクションに関連するデータは、プレーヤがゲーム目的またはタスクを完了するように行動を起こすことに関連するデータを含むことができる。別の例として、プレーヤインタラクションに関連するデータは、現実世界の活動にリンクされたゲーム特徴の一部としてプレーヤに与えられるパワーアップまたは他の拡張パワーを使用してプレーヤに関連するデータを含むことができる。４１４において、クライアントデバイスは、サーバにゲーム特徴とのプレーヤインタラクションに関連するデータを与える。
【００５８】
ゲーム特徴とのプレーヤインタラクションに関連するデータは、４１６においてゲームサーバ１１０において受信され得る。例えば、ゲームサーバ１１０は、ネットワーク１３０を介してクライアントデバイス１２０からゲーム特徴とのプレーヤインタラクションに関連するデータを受信することができる。ゲームサーバ１１０は、４１８においてプレーヤインタラクションに関連するデータに基づいて並行現実ゲーム中で１つまたは複数のゲーム要素を変更することができる。例えば、ゲームサーバ１１０は、現実世界の活動にリンクされたゲーム特徴とのプレーヤインタラクションを記録するために（ゲームデータベース１１５中に記憶されるプレーヤプロファイルなどの）プレーヤに関連するゲームデータベース１１５中に記憶されたゲームデータを更新することができる。さらに、サーバは、ゲーム特徴とインタラクションするための、並行現実ゲームにおいて使用するのに好適な仮想報酬などの報酬を与えるためにゲームデータを更新することができる。仮想報酬は、仮想アイテム、仮想エネルギー、仮想通貨、仮想パワーアップ、拡張パワー、経験ポイント、または任意の他の好適な報酬を含むことができる。
【００５９】
プレーヤのクライアントデバイスのロケーション検証
図５は、一実施形態による、プレーヤのクライアントデバイス１２０のロケーションを検証するプロセスを図示する平面図である。プロセスは、図１のクライアントデバイス１２０およびゲームサーバ１１０など、任意の好適なコンピューティングデバイスまたは好適なコンピューティングデバイスの組合せを使用して実装され得る。この例示的な実施形態では、クライアントデバイス１２０は、現実世界中でのクライアントデバイスの仮定されたロケーションをゲームサーバ１１０に（例えば、ネットワーク１３０を介して測位モジュール１２４からゲームサーバ１１０に）報告している。ゲームサーバ１１０は、クライアントデバイス１２０が仮定されたロケーションに実際に位置することを検証するプロセスを開始する。本明細書で開示される原則を使用して、本明細書で開示される方法の様々なステップが、本開示の範囲から逸脱することなく様々な方法で省略され、再構成され、組み合わされ、および／または適応され得ることを、当業者は諒解されよう。
【００６０】
クライアントデバイス１２０は、クライアントデバイス１２０の仮定されたロケーションを決定するために測位モジュール１２４を利用する。クライアントデバイス１２０は、クライアントデバイスが仮定されたロケーションにあることをゲームサーバ１１０に報告していることがあり、報告されたロケーションに固有のコンテンツ（いくつかの例では、アクセス制御されたコンテンツ）を取り出そうと試みていることがある。ゲームサーバ１１０は、クライアントデバイス１２０が報告されたロケーションに実際にあることを保証することを目的とする。
【００６１】
ゲームサーバ１１０は、クライアントデバイス１２０のロケーションを検証するためのクライアントデバイス１２０に対する検証命令のセットを生成する。仮想世界中のロケーションに対応する現実世界中の様々なロケーションについて、ゲームサーバ１１０は、プレーヤのクライアントデバイスのロケーションを検証する際に使用するための一意の現実世界のオブジェクトまたはランドマークを記憶し得る。ゲームサーバ１１０は、現実世界の商業活動が常駐する現実世界のロケーションにクライアントデバイスが存在することによってのみアクセス可能なゲームコンテンツの提供を保証するためにクライアントデバイスのロケーションを検証するためにゲームサーバ１１０が使用し得る現実世界の商業活動に近接している一意のランドマークを代替的に割り当て得る。例えば、コーヒーショップが並行現実ゲームのスポンサである場合、コーヒーショップに固有のゲームコンテンツを与える前にクライアントデバイスがコーヒーショップの近傍にあることを検証するための一意のランドマークとして近くの像が使用され得る。また、別の例では、ゲームサーバ１１０は、仮想ゲームイベントがホストされている現実世界のロケーションに一意のランドマークを割り当て得る。ゲームサーバ１１０は、プレーヤが仮想ゲームイベントに参加するためにクライアントデバイス１２０がランドマークの近くに位置することを検証し得る。ゲームサーバ１１０は、ゲームデータベース１１５中に仮想世界中のロケーションに対応する現実世界中の潜在的なロケーションごとにランドマークを記憶し得る。さらに、ゲームデータベース１１５中の記憶されたランドマークは、ランドマークの名前、ランドマークのモデル、様々な視点からのランドマークの写真、ランドマークの３Ｄサラウンディング環境などを含み得る。クライアントデバイス１２０のロケーションを検証するために、ゲームサーバ１１０は、その仮想ロケーションにあるコンテンツを取り出すようにクライアントデバイスが要求しているクライアントデバイスのロケーションに対応する記憶されたランドマークについてゲームデータベース１１５にアクセスする。ゲームサーバ１１０は、クライアントデバイス１２０を保持している間に行うようにプレーヤにプロンプトするために一連の移動を説明する検証経路を生成する。検証経路は、プレーヤがプレーヤに対して概して一定にクライアントデバイス１２０を保持する間のプレーヤの移動とプレーヤがランドマークに対して概して一定のままでいる間のプレーヤによるクライアントデバイス１２０の移動との任意の組合せについての命令を含み得るクライアントデバイスの一連の移動について効果的に説明する。記憶されたランドマークと検証経路とは、検証命令のセットを構成する。検証命令のセットがクライアントデバイス１２０に送信される。
【００６２】
図５に示される実施形態では、クライアントデバイス１２０は、検証命令のセットを受信し、クライアントデバイス１２０のロケーションを検証する。クライアントデバイス１２０は、最初の位置５２０において検証命令から受信されたランドマーク５１０の画像データをキャプチャするようにプレーヤにプロンプトする。プレーヤは、クライアントデバイス１２０を用いてランドマーク５１０の画像データをキャプチャする。最初の位置５２０から、キャプチャされた画像データは、最初の透視平面（perspective plane）５２５に対して並行になるランドマーク５１０の視点を有する。最初の位置５２０における画像データが最初の透視平面５２５の前または後ろのオブジェクト（例えば、クライアントデバイス１２０の視錐台内で妨害されていないオブジェクト）を含み得るが、最初の透視平面５２５は、最初の位置５２０からの視線に対して直角である。一例では、ランドマーク５１０は、人の像である。最初の位置５２０から、最初の透視平面５２５は、人の真正面像を包含する。クライアントデバイス１２０は、最初の位置５２０からのキャプチャされた画像データが検証命令のセットからのランドマーク５１０のデータに一致するのか否かを決定する。いくつかの実施形態では、クライアントデバイス１２０は、最初の位置５２０からのキャプチャされた画像データがランドマーク５１０を含むのかどうかを決定するために画像認識技法（例えば、機械学習パターン認識アルゴリズム）を利用する。いくつかの実施形態では、クライアントデバイス１２０は、ゲームサーバ１１０からのトレーニングされた画像認識モデルを使用する。
【００６３】
キャプチャされた画像データがランドマーク５１０のものであることをクライアントデバイス１２０が確認する場合、クライアントデバイス１２０は、検証命令中で検証経路５１５に従って移動するようにプレーヤにプロンプトする。それに応答して、プレーヤは、検証経路５１５に沿って相応に移動する。図５の図では、検証経路５１５は、ランドマーク５１０に向かって５メートル前方に移動する第１のステップと、次いで、左に方向転換し、さらに１０メートル移動する別のステップと、次いで、右に方向転換し、さらに２メートル移動する最終ステップとを含み得る。他の例では、検証経路５１５は、他の測定単位、例えば、フィート、ヤードなどを用いてプロンプトされ得るか、またはユーザは、単に方向のオンスクリーン表示（例えば、矢印）を用いてプロンプトされ、次いで、ユーザが必要とされる距離を移動したときに別の表示（例えば、矢印の消滅、停止符号など）が提供され得る。プレーヤの移動経路が検証経路５１５の移動経路に一致する場合、検証命令は、プレーヤが予想される位置５３０に到着したことを予期する。クライアントデバイス１２０はまた、検証経路５１５に沿った移動中におよび／またはその後にランドマーク５１０の画像データをキャプチャするようにプレーヤにプロンプトする。
【００６４】
クライアントデバイス１２０が予想される位置５３０においてランドマーク５１０の画像データをキャプチャする場合、キャプチャされた画像データは、予想される透視平面５３５に対して並行になろう。最初の透視平面と同様に、予想される透視平面５３５は、予想される位置５３０からの視線に対して直角になる。特に、検証経路５１５に沿った移動の後の予想される透視平面５３５は、最初の透視平面５２５に対して並行にならない。像を用いた例に続いて、予想される透視平面５３５は、像のオフセット側面像を包含する。クライアントデバイス１２０は、画像データの最初のセットを補強するためにランドマーク５１０の新たにキャプチャされた画像データを使用する。クライアントデバイス１２０は、新たにキャプチャされた画像データがやはりランドマーク５１０のものであることを確認する。クライアントデバイス１２０は、新たにキャプチャされた画像データが検証命令に基づいて画像データの最初のセットの異なる視点を有するのかどうかをさらに決定する。例えば、クライアントデバイス１２０は、予想される位置５３０におけるランドマーク５１０の新たにキャプチャされた画像データが像の真正面像であるランドマーク５１０の最初にキャプチャされた画像データとは異なる像のオフセット側面像であると決定する。いくつかの実施形態では、検証経路５１５に沿った移動中のおよび／またはそれの後の新たにキャプチャされた画像データは、ランドマーク５１０のビデオを含む。クライアントデバイス１２０は、ビデオのフレームがランドマーク５１０に一致するのかどうか、およびフレームが最初の透視平面５２５からの様々な視点にあると決定し得る。いくつかの実施形態では、最初のおよび新たにキャプチャされた画像データがランドマーク５１０に一致することをクライアントデバイス１２０が確認する場合、クライアントデバイス１２０は、クライアントデバイス１２０のロケーションを検証する。
【００６５】
追加の実施形態では、クライアントデバイス１２０は、クライアントデバイス１２０のロケーションの確認検証より前に検証経路５１５に沿ってクライアントデバイス１２０の移動を同じく確認するために移動センサ１２８を使用する。移動センサ１２８は、プレーヤが検証経路５１５に沿って移動することに対応する並進運動移動を検出し、記録し得る。いくつかの実施形態では、クライアントデバイス１２０は、クライアントデバイス１２０をもつプレーヤによる並進運動移動を測定する。クライアントデバイス１２０は、測定された並進移動がプレーヤが検証経路５１５に沿って移動することに概して対応し得る移動の妥当な閾値内にあるのかどうかを決定し得る。例えば、クライアントデバイス１２０は、プレーヤによる方向転換のための閾値角度誤差を有し得る。従って、プレーヤが１５度の閾値角度誤差で検証経路５１５に従ってクライアントデバイス１２０による左方向転換を行うようにプロンプトされると仮定すれば、プレーヤが右方向転換を行った（すなわち、左方向転換のための１８０度の誤差）と移動センサ１２８が決定する場合、クライアントデバイス１２０は、プレーヤによって行われた方向転換が左方向転換を行うための閾値角度誤差を上回る（すなわち、１８０度の誤差が１５度の閾値を上回る）と決定する。別の例では、クライアントデバイス１２０は、プレーヤによって行われる歩き方のための閾値距離誤差を有し得る。従って、プレーヤが、一方向に５メートル移動するようにプロンプトされると仮定すれば、移動センサ１２８は、プロンプトされた５メートルとは著しく異なる１００メートルの並進運動移動を検出する場合、クライアントデバイス１２０はやはりプレーヤ移動が検証経路５１５に一致しないと決定するであろう。移動センサ１２８が、誤差の閾値を上回る移動に対応する移動誤差を検出する場合、クライアントデバイス１２０は、クライアントデバイス１２０のロケーションを拒否し得る。移動センサ１２８が誤差のための閾値内の移動を検出する場合、クライアントデバイス１２０は、ランドマーク５１０の画像データをチェックすることに加えて、クライアントデバイス１２０のロケーションを検証し得る。
【００６６】
図６は、一実施形態による、クライアントデバイス１２０のロケーションを検証するための方法６００のクライアントサーバ間の流れ図を示す。方法６００は、図１のシステム１００のクライアントサーバ構成などの任意の好適なコンピューティングシステムを使用して実装され得る。さらに、図６が例示および説明のために特定の順序でまたは特定のデバイスによって実行されるステップを示すが、本明細書で説明される方法は、任意の特定の順序または構成に限定されない。本明細書で提供される開示を使用して、本明細書で開示される方法の様々なステップが、本開示の範囲から逸脱することなく様々な方法で省略され、再構成され、組み合わされ、および／または適応され得ることを、当業者は諒解されよう。本方法はまた、異なるまたは追加のステップを含み得る。
【００６７】
クライアントデバイス１２０は、方法６００の６０２において、測位モジュール（例えば、測位モジュール１２４）からロケーション情報を受信する。いくつかの実施形態では、位置モジュールは、ＩＰアドレスに基づいて、セルラータワーまたはＷｉ−Ｆｉホットスポットに対する三角測量および／または近接度を使用することによって、衛星航法測位システム（例えば、ＧＰＳシステム、Ｇａｌｉｌｅｏ測位システム、グローバルナビゲーション衛星システム（ＧＬＯＮＡＳＳ）、ＢｅｉＤｏｕ衛星航法および測位システム）、慣性航法システム、および／またはデッドレコニングシステムなどの１つまたは複数の測位システムを含み得る。クライアントデバイス１２０のロケーションのロケーション情報は、クライアントデバイス１２０の全地球測位座標のセットを備え得る。
【００６８】
クライアントデバイス１２０は、方法６００の６０４において、ゲームサーバ１１０にロケーション情報を送信する。ゲームサーバ１１０は、６０６において、クライアントデバイス１２０のロケーション情報を受信する。ゲームサーバ１１０がロケーション情報を受信すると、ゲームサーバ１１０は、ロケーション情報がクライアントデバイス１２０の物理ロケーションに正確に対応することを検証する必要がある。いくつかの実施形態では、ロケーション情報は、ロケーション情報中で共有されるクライアントデバイス１２０のロケーションに固有のゲームコンテンツを求める要求とともに受信される。
【００６９】
ゲームサーバ１１０は、方法６００の６０８において、ロケーション情報と対応する検証命令とに基づいてクライアントデバイス１２０のロケーションの近くのランドマークを取り出す。ゲームサーバ１１０は、記憶されたランドマークをもつデータベース（例えば、ゲームデータベース１１５）にアクセスする。ゲームサーバ１１０は、全ての記憶されたランドマークのロケーションと比較したクライアントデバイス１２０のロケーションの近接度に基づいてクライアントデバイス１２０のロケーションの検証のためにどのランドマークを使用すべきかを決定し得る。ゲームサーバ１１０は、クライアントデバイス１２０のロケーションに最も近接したランドマークを選定し得る。他の実施形態では、クライアントデバイス１２０は、現実世界中の特定のロケーションにおいてゲームイベントに参加しようと試みている。ゲームサーバ１１０は、ゲームイベントに結合されたランドマークを参照し、ゲームイベントに参加しようと試みる全てのクライアントデバイスのロケーションを検証する際にそのランドマークを利用し得る。いくつかの他の実施形態では、ゲームサーバ１１０は、現実世界の商業活動とインタラクションしているプレーヤにアクセス制御されたゲームコンテンツを与えていることがある。これらの例では、ゲームサーバ１１０はまた、現実世界の商業活動に結びつけられたランドマークを参照し得る。いくつかの実施形態では、データベースからランドマークを取り出すときに、ゲームサーバ１１０はまた、クライアントデバイス１２０のロケーションの存在を検証する際に使用するためのランドマークの画像またはモデルの任意の組合せを取り出し得る。
【００７０】
ゲームサーバ１１０はまた、ステップ６０８において、検証命令を収集する。いくつかの実施形態では、ゲームサーバ１１０は、選択されたランドマークに関連するデータベースから事前に生成された検証命令を取り出し得、一方、他の実施形態では、ゲームサーバ１１０は、１つまたは複数の検証命令をランダムに生成する状態で検証命令のセットを生成する。検証命令は、プレーヤがクライアントデバイス１２０の最初の位置から選択されたランドマークの画像データをキャプチャするためのプロンプトを含むプロンプトのセットを含む。画像データは、ランドマークのピクチャまたはランドマークのビデオのいずれかを備え得る。検証命令は、クライアントデバイス１２０によってキャプチャされた画像データがランドマークに確実に一致することを検証することができるランドマーク認識モデルを含む。
【００７１】
ランドマーク認識モデルは、ランドマークの２次元（２Ｄ）モデル、ランドマークの３Ｄモデル、またはそれらの組合せを含み得る。２Ｄモデルを使用する一実施形態では、ランドマーク認識モデルは、ポイントのペア間の相対的な距離に加えてランドマーク上の特徴のポイントを含む。画像データを画像として検証するときに、ランドマーク認識モデルは、ランドマーク上の識別されたポイント間の相対的な距離を計算し、計算された相対的な距離をランドマーク認識モデルにおいて知られている距離と比較し得る。例えば、ランドマークの相対的な高さ対幅がランドマーク認識モデル中に含まれる相対的な高さ対幅に一致しない場合、ランドマーク認識モデルは、画像データが適切なランドマークに一致しないと決定し得る。２Ｄモデルを使用する別の実施形態では、ランドマーク認識モデルは、ランドマークのトレーニング画像データを用いてトレーニングされた機械学習モデルであり得、キャプチャされた画像データがランドマークのトレーニング画像データのそれに一致することを検証することが可能な機械学習モデルであり得る。３Ｄモデルを使用するいくつかの実施形態では、ランドマーク認識モデルは、ランドマークの部分的なまたは完全な３Ｄ仮想表現を含む。３Ｄ仮想表現では、特徴間のおよその距離、およその角度などを含むランドマークのおよその寸法が知られている。
【００７２】
検証命令は、プレーヤがクライアントデバイス１２０とともに検証経路に相応して移動するためのプロンプトのセットを備える検証経路を含む。いくつかの実施形態では、検証命令は、ゲームサーバ１１０によって事前に生成され得る。他の実施形態では、ゲームサーバ１１０は、クライアントデバイスのロケーションを検証する各インスタンスのためのランダム検証経路を生成するか、または検証経路は、所定の経路のセットからランダムに選択され得る。検証経路は、クライアントデバイス１２０をもつプレーヤによる移動のための複数のプロンプトを含み得る。例えば、検証経路は、（メートル、ヤード、フィート、センチメートルなどの測定単位で標示される）各方向転換後に移動すべき距離をもつ方向転換の組合せを含み得る。いくつかの実施形態では、ゲームサーバ１１０はまた、プレーヤとクライアントデバイス１２０との移動を検証するための検証命令中の検証経路に従ったクライアントデバイス１２０による移動の後のランドマークの予想される視点を与える。ゲームサーバ１１０は、検証経路に沿って移動する間にランドマークの３Ｄモデルを使用してランドマークの視点を予測することによってランドマークの予想される視点を決定し得る。検証命令はまた、検証経路に沿った移動の間とそれの後との任意の組合せの間にプレーヤがクライアントデバイス１２０を用いて画像データをキャプチャするためのプロンプトを含む。例Ａでは、検証命令は、（１）ランドマークのピクチャをキャプチャすること、（２）ランドマークのビデオをキャプチャしながらランドマークに向かって４メートル前に移動すること、（３）ランドマークのビデオをキャプチャしながら、左に方向転換し、２メートル前に移動すること、および（４）ランドマークの別のピクチャをキャプチャすることを行うためのプロンプトを含む。
【００７３】
ゲームサーバ１１０はまた、ステップ６０８において検証経路に沿って移動する間におよび／またはその後にプレーヤが他の入力を与えるためのプロンプトを生成し得る。他の入力は、クライアントデバイス１２０上の他のセンサまたは構成要素を通して受信され得る。一例では、検証命令は、しゃべるようにプレーヤにプロンプトするための命令を含み、これは、クライアントデバイス１２０上のオーディオマイクロフォンによって検証され得る。この例では、ゲームサーバ１１０はまた、オーディオマイクロフォンからの音響信号をプロンプトされた音声に一致するための検証命令を含み得る。別の例では、検証命令は、クライアントデバイス１２０上のボタンに触れるようにプレーヤにプロンプトするための命令を含む。これらの他の命令は、検証経路に沿って移動するようにプレーヤにプロンプトする命令内に点在し得る。例Ｂでは、検証命令は、（１）ランドマークのピクチャをキャプチャすること、（２）ランドマークのビデオをキャプチャしながらランドマークに向かって１０メートル前に移動すること、（３）ランドマークの名前を述べること、（４）ランドマークのビデオをキャプチャしながら、右に方向転換し、３メートル前に移動すること、および（５）ランドマークの別のピクチャをキャプチャすることを行うためのプロンプトを含む。例Ｃでは、検証命令は、（１）ランドマークのピクチャをキャプチャすること、（２）左に方向転換し、２メートル前に移動すること、（３）クライアントデバイス１２０上のボタンを押すこと、（４）右に方向転換し、１０メートル前に移動すること、および（５）ランドマークの別のピクチャをキャプチャすることを行うためのプロンプトを含む。
【００７４】
ゲームサーバ１１０は、方法６００のステップ６１０において、クライアントデバイス１２０にランドマークと検証命令とを送信する。本方法は、ステップ６１２に続き、クライアントデバイス１２０がランドマークと検証命令とを受信する。クライアントデバイス１２０は次いで、受信されたランドマークと検証命令とに従ってクライアントデバイスのロケーションを検証することに進む。
【００７５】
クライアントデバイス１２０は、方法６００のステップ６１４において、検証命令に基づいてランドマークの最初の画像データをキャプチャするようにプレーヤにプロンプトする。検証命令は、ランドマークのビデオまたはピクチャを備え得るランドマークの最初の画像データをキャプチャするようにプレーヤにプロンプトする第１のステップを備える。クライアントデバイス１２０は、検証命令に基づいて、クライアントデバイス１２０上の電子ディスプレイを介してランドマークの画像データをキャプチャするようにプレーヤにプロンプトする。
【００７６】
クライアントデバイス１２０は、方法６００のステップ６１６において、ランドマークの最初の画像データを受信する。いくつかの実施形態では、クライアントデバイス１２０は、ランドマークの写真とビデオとの任意の組合せを受信し得る。
【００７７】
クライアントデバイス１２０は、方法６００のステップ６１８において、検証命令を用いてランドマークの最初の画像データを検証する。受信された検証命令は、ランドマークのものであるべきピクチャを確実に識別するためのランドマーク認識モデルを含み得る。クライアントデバイス１２０がランドマークのビデオを受信する実施形態では、クライアントデバイス１２０は、ビデオ中のランドマークを確実に識別するためにビデオの１つまたは複数のフレームをランドマーク認識モデルと比較し得る。いくつかの実施形態では、ランドマーク認識モデルは、クライアントデバイス１２０によって受信されたピクチャまたはビデオ中のランドマークを確実に識別し得るトレーニングされた機械学習モデルを備える。いくつかの追加の実施形態では、クライアントデバイス１２０は、例えば、ランドマークの２Ｄモデルとランドマークの３Ｄモデルとのうちの１つまたは複数を構築するために画像データを使用してランドマーク認識モデルのさらなる改良のためにキャプチャされた画像データをゲームサーバ１１０に与える。
【００７８】
クライアントデバイス１２０は、方法６００のステップ６２０において、検証命令に従ってランドマークの画像データをキャプチャする間に検証経路に沿ってクライアントデバイスを移動するようにプレーヤにプロンプトする。いくつかの実施形態では、検証命令は、クライアントデバイス１２０を保持する間のプレーヤによる移動のためのプロンプトのセットを含み、プロンプトされた移動のセットは、検証経路を構成する。いくつかの実施形態では、検証命令は、プレーヤがクライアントデバイス１２０に入力するためのさらなるプロンプトを含み得る。プロンプトは、電子ディスプレイを介して視覚的に、およびオーディオスピーカを介して口頭で任意の組合せを通してクライアントデバイス１２０によって提示され得る。クライアントデバイス１２０はまた、検証経路に沿った移動中におよび／またはその後にランドマークの画像データをキャプチャするようにプレーヤにプロンプトする。一例では、クライアントデバイス１２０は、検証経路全体にわたって様々なインスタンスにおいてピクチャなどのランドマークの画像データをキャプチャするようにプレーヤにプロンプトし得る。別の例では、クライアントデバイス１２０は、検証経路に沿った移動全体にわたってランドマークのビデオをキャプチャするようにプレーヤにプロンプトし得る。例Ａを確認すると、クライアントデバイス１２０は、（１）ランドマークのピクチャをキャプチャすること、（２）ランドマークのビデオをキャプチャしながらランドマークに向かって４メートル前に移動すること、（３）ランドマークのビデオをキャプチャしながら、左に方向転換し、２メートル前に移動すること、および（４）ランドマークの別のピクチャをキャプチャすることを行うためのプロンプトをプレーヤに与え得る。いくつかの実施形態では、クライアントデバイス１２０は、検証経路のためのプロンプトを一斉にまたは漸進的に与え得る。一斉にそうするときに、クライアントデバイス１２０は、電子ディスプレイ上に検証命令の全てのステップを表示し得る。他のプロンプトおよび命令を用いる実施形態では、クライアントデバイス１２０はまた、他のプロンプトおよび命令を与え得る。これらのプロンプトおよび命令は、他のプレーヤ入力を与えることを含み得る。
【００７９】
いくつかの実施形態では、クライアントデバイス１２０は、クライアントデバイス１２０のロケーションを検証するための新しい検証経路を要求し得る。プレーヤは、任意の数の理由のためにクライアントデバイス１２０にこの要求を与え得る。一例では、検証経路の一部分が、現在、現実世界では妨げられている。この問題は、プレーヤが障害を通して移動する必要を１つのそのような検証経路がなくすまで新しい検証経路を要求することによって克服され得る。この要求により、ゲームサーバ１１０は、クライアントデバイス１２０に与えられるべき追加の検証命令を用いて新しいランダム検証経路を生成し得る。新しい検証経路と追加の検証命令とを受信すると、クライアントデバイス１２０は、新しい検証経路と追加の検証命令とを用いてそれのロケーションを検証することに進み得る。
【００８０】
次に図７を参照すると、図６の方法でのゲームインターフェースが示されている。クライアントデバイス１２０は、方法６００に従って電子ディスプレイ７２０上でプレーヤに検証命令７３０のプロンプトを与える。ステップ６２０に従って、クライアントデバイス１２０は、検証命令７３０に基づいてランドマークの画像データをキャプチャする間に検証経路に沿って移動するようにプレーヤにプロンプトする。この実施形態では、クライアントデバイス１２０は、電子ディスプレイ７２０上にプロンプトされた検証命令７３０を与える。この図に従って、検証経路のステップが、クライアントデバイス１２０とともに検証経路に沿って移動するようにプレーヤを案内する電子ディスプレイ７２０の一部分上でプロンプトされる。電子ディスプレイ７２０は、方法６００のステップ６１４またはステップ６２０に従ってランドマークの最初にキャプチャされた画像データを含むカメラの視点のリアルタイムビューまたはランドマーク７４０のキャプチャされた画像データを表示し得る。電子ディスプレイ７２０はまた、プレーヤがランドマークをキャプチャするための案内を与える十字線７５０を有し得る。場合によっては、ランドマーク７４０の画像データが十字線７５０によって定義された画像データの部分から外れる場合、クライアントデバイス１２０はプレーヤに警告し得る。クライアントデバイス１２０は、方法６００のさらなるステップに従って検証命令７３０のステップを漸進的に与えることができる。
【００８１】
再び図６を参照すると、クライアントデバイス１２０はまた、方法６００のステップ６２２において、検証経路に沿って移動中におよび／またはその後にランドマークの画像データを受信する。画像データは、クライアントデバイス１２０の１つまたは複数のカメラ部分を介してキャプチャされ得る。画像データは、検証命令に従ってキャプチャのために何のタイプの画像データがプロンプトされるのかに応じてビデオまたはピクチャの任意の組合せを備え得る。
【００８２】
クライアントデバイス１２０は、方法６００のステップ６２４において、検証命令を用いてランドマークの画像データを検証する。クライアントデバイス１２０は、ランドマークの画像データがランドマークに確実に一致すると決定する。一実施形態では、クライアントデバイス１２０は、検証経路に沿った移動の間またはその後のキャプチャされたピクチャが（例えば、ランドマーク認識モデルを介して）ランドマークに確実に一致することを検証する。別の実施形態では、クライアントデバイス１２０は、検証経路に沿った移動中におよび／またはその後にキャプチャされたビデオの１つまたは複数のフレームを選択し、（例えば、ランドマーク認識モデルを介して）１つまたは複数のフレームがランドマークに確実に一致することを検証する。キャプチャされた画像データがランドマークに一致することをクライアントデバイス１２０が検証した後、クライアントデバイス１２０は、検証経路に沿った移動中におよび／またはその後にキャプチャされた画像データが最初の画像データと比較して異なる視点からのものであるのかどうかを検証する。最初の画像データがランドマークの最初のピクチャである実施形態では、クライアントデバイス１２０は、新たにキャプチャされた画像データ（新たにキャプチャされたピクチャまたは新たにキャプチャされたビデオ）が最初のピクチャの視点とは異なる視点を有するのか否かを決定する。いくつかの実施形態では、ランドマーク認識モデルはまた、ランドマークの確実に識別されたピクチャのためのランドマークの視点を決定する。これらの実施形態では、クライアントデバイス１２０は、決定された視点を最初の画像データの最初の視点に対して比較し得る。新たにキャプチャされた画像データがランドマークに確実に一致することと、新たにキャプチャされた画像データが最初の視点とは異なる視点のものであることとの両方を検証した後に、クライアントデバイス１２０は、クライアントデバイス１２０のロケーションが正確であり、検証命令の完了時に検証されていることを確認する。
【００８３】
ランドマークのビデオをキャプチャするようにプロンプトする検証命令の実施形態では、クライアントデバイス１２０は、方法６００のステップ６２４において、ビデオ中の複数のフレームを検証し得る。フレームのそれぞれの後続の検証の後に、クライアントデバイス１２０は、ランドマークのビデオを依然としてキャプチャする間に検証命令中に含まれる別のプロンプトをプレーヤにプロンプトし得る６２０。クライアントデバイス１２０は、クライアントデバイス１２０によってキャプチャされているビデオのフレームを断続的に受信する６２２。クライアントデバイス１２０は、その後、断続的に受信されたフレームを検証し得る６２４。１つまたは複数の実施形態では、クライアントデバイス１２０は、ビデオのｎ番目（例えば、２番目、３番目、４番目、５番目、６番目、７番目、８番目、９番目、１０番目など）ごとのフレームを検証する６２４。
【００８４】
代替実施形態では、クライアントデバイス１２０は、方法６００の随意のステップ６２６において、移動センサからクライアント移動データを受信する。この代替実施形態では、クライアントデバイス１２０のロケーションが正確であり、検証されたことの確認をクライアントデバイス１２０が戻す前に、クライアントデバイス１２０はまた、移動データがプロンプトされた検証経路に一致するのかどうかを検証する。いくつかの実施形態では、クライアントデバイス１２０の移動データは、最高６つの自由度（すなわち、３つの並進自由度および３つの回転自由度）の移動データを含んでいる。クライアントデバイス上の移動センサは、加速度計、ジャイロスコープ、他の慣性測定ユニットなどの任意の組合せであり得る。
【００８５】
方法６００の随意のステップ６２８において、クライアントデバイス１２０は、検証命令を用いて移動データが検証経路と一致することを検証する。移動データは、上述のように、最高６つの自由度の移動データを備え得る。１つの単純な実施形態では、クライアントデバイス１２０は、１つまたは複数の自由度が閾値量を上回る移動（並進または回転のいずれか）を有するのかどうかを検証する。別の実施形態では、クライアントデバイス１２０は、移動データがステップ６２０においてプロンプトされた移動に正しく対応することを検証する。クライアントデバイス１２０は、ステップ６２０においてプロンプトされた検証経路に対して比較され得る方向に進む距離を推定するために移動データを使用し得る。クライアントデバイス１２０はまた、検証経路の各ステップに応答して進んだ推定距離が、誤差の閾値公差内にあること仮定すれば、移動データが検証経路に一致することを確認し得る。例えば、移動データが、検証経路のいくつかの歩き方の内の推定値を生じる場合、クライアントデバイス１２０は、移動データが検証経路に一致することを確認する。例Ａを確認すると、ステップ（２）のプロンプトに応答してランドマークに向かっておよそ４メートル前に移動し、ステップ（３）のプロンプトに応答して近似的に左に方向転換し、およそ２メートル前に移動することの推定値を移動データが生じる場合、クライアントデバイス１２０は、移動データが検証経路に一致することを検証し得る。移動データが検証経路に一致することをクライアントデバイス１２０が確認すると、クライアントデバイス１２０は、次いで、クライアントデバイス１２０のロケーションが、正確であり、検証命令の完了に従って検証されていることを確認し得る。
【００８６】
検証命令が追加のプレーヤの入力のためのプロンプトを備えるさらなる実施形態では、クライアントデバイス１２０は、方法６００の随意のステップにおいて、検証命令に従って追加のプレーヤの入力がクライアントデバイス１２０によってプロンプトされた入力に一致することを検証する。この代替実施形態では、クライアントデバイス１２０は、クライアントデバイス１２０への追加のプレーヤの入力を受信する。クライアントデバイス１２０のロケーションが正確であり、検証されたことの確認をクライアントデバイス１２０が戻す前に、クライアントデバイス１２０はまた、追加のプレーヤの入力がプロンプトされた検証命令に一致するのかどうかを検証する。クライアントデバイス１２０は、プロンプトされた検証命令に従って追加のプレーヤの入力がプロンプトされた検証命令に一致することと、追加のプレーヤの入力が時限であることとを検証し得る。例Ｂを確認すると、クライアントデバイス１２０は、ステップ（３）に応答して受信された音響信号がプレーヤがランドマークの名前を述べることに一致することを検証し得る。クライアントデバイス１２０はさらに、プレーヤがランドマークの名前を述べる音響信号がステップ（２）とステップ（４）との間で適切に時限であるのかどうかを検証し得る。例Ｃを確認すると、クライアントデバイス１２０は、例Ｂと同様に、クライアントデバイス１２０上のボタンの受信されたプレーヤの入力がステップ（３）に一致し、ステップ（２）とステップ（４）との間で適切に時限であることを検証し得る。追加のプレーヤの入力がプロンプトされた命令に確実に一致することを検証すると、クライアントデバイス１２０は、次いで、クライアントデバイス１２０のロケーションが、正確であり、検証命令の完了に従って検証されていることを確認し得る。
【００８７】
方法６００は、クライアントデバイス１２０がクライアントデバイス１２０のロケーションを検証する確認受信を準備することを続け得る。いくつかの実施形態では、クライアントデバイス１２０は、クライアントデバイス１２０のロケーションを全体的に検証する検証命令内の全てのステップを保留する受信確認のみを送る。他の実施形態では、クライアントデバイス１２０は、ステップ６１８および６２４が検証されることを保留する受信確認を送り得る。ゲームサーバ１１０は、受信確認を受信し、クライアントデバイス１２０のロケーションに固有のゲームコンテンツを与えることに進み得る。
【００８８】
方法６００は、なりすまし者によるなりすましの防止を助ける。なりすまし者は、上述したように、その特定のロケーションに物理的に存在することなしに特定のロケーションに結合されたゲームコンテンツを取り出そうと試みることによってゲームサーバを欺くことを目的とする。方法６００は、なりすまし者が回避するのが困難であることがわかる。プレーヤがそれらの仮定されたロケーションに近接しているランドマークのピクチャを単にキャプチャするようにプロンプトされる場合、なりすまし者は、ランドマークのあらかじめキャプチャされた画像を使用することによって検証プロセスを容易にだますことができる。方法６００は、画像データをキャプチャする間に検証経路に沿ってプレーヤを移動する追加の命令を与えることでそのようななりすまし者に対して防御する。なりすまし者は、より包括的な画像データを取り出す必要があることになるだけでなく、方法６００は、検証のインスタンスごとに検証経路をランダム化することもできる。例えば、なりすまし者は、前の検証経路に従ってランドマークの画像データ（ピクチャまたはビデオ）を探索することによって方法６００をだまそうと試み得るが、しかしながら、方法６００は、他の検証経路に従って他の画像データをレンダリングすることを役立たなくする新しいランダム化された検証経路を与え得る。追加の命令を用いるさらなる実施形態は、どのような追加の命令がプロンプトされ得るのかをなりすまし者が予測する課題をさらに増加することになり、方法６００をだますのを一層難しくしている。方法６００は、さらに、並行現実ゲームをプレイする公平なプレーヤに対して最小限に侵襲的であるという利益を得る。それらのクライアントデバイスが特定のロケーションに結合されたゲームコンテンツを要求しているときに特定のロケーションに実際に存在するプレーヤについて、プレーヤは、特定のロケーションに実際に存在するときに迅速に達成され得る少数の短い命令をプロンプトされる。
【００８９】
追加の考慮事項
実施形態の上記の説明は、説明の目的で提示されており、網羅的であることまたは開示される正確な形態に特許権を限定することを目的としない。上記の開示に照らして多くの修正および変更が可能であることを、当業者は諒解することができる。
【００９０】
本明細書のいくつかの部分は、情報に対する動作のアルゴリズムおよび記号表現に関して実施形態について説明する。これらのアルゴリズムの説明および表現は、他の当業者にそれらの作業の内容を効果的に伝達するためにデータ処理技術分野における当業者によって一般的に使用される。これらの動作は、機能的に、計算量的に、または論理的に説明されているが、コンピュータプログラムまたは等価な電気回路、マイクロコードなどによって実装されると理解される。さらに、一般性を失うことなく、モジュールとして動作のこれらの構成に言及することが時として好都合であるということもわかっている。説明された動作およびそれらの関連するモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せで実施され得る。
【００９１】
本明細書で説明されるステップ、動作、またはプロセスのいずれかは、単独でまたは他のデバイスと組み合わせて、１つまたは複数のハードウェアまたはソフトウェアモジュールを用いて実行または実装され得る。一実施形態では、ソフトウェアモジュールは、コンピュータプログラムコードを含んでいるコンピュータ可読媒体を備えるコンピュータプログラム製品を用いて実装され、これは、説明されたステップ、動作、またはプロセスのいずれかまたは全てを実行するためのコンピュータプロセッサによって実行され得る。
【００９２】
実施形態はまた、本明細書における動作を実行するための装置に関係し得る。本装置は、必要とされる目的のために特別に構築され得、および／またはコンピュータ中に記憶されたコンピュータプログラムによって選択的にアクティブ化または再構成される汎用コンピューティングデバイスを備え得る。そのようなコンピュータプログラムは、コンピュータシステムバスに結合され得る非一時的、有形コンピュータ可読記憶媒体または電子命令を記憶するのに好適な任意のタイプの媒体中に記憶され得る。さらに、本明細書に記載の任意のコンピューティングシステムは、単一のプロセッサを含み得るか、または増加した計算能力のための複数のプロセッサ設計を採用するアーキテクチャであり得る。
【００９３】
実施形態は、本明細書で説明されるコンピューティングプロセスにより生成される製品に関係し得る。そのような製品は、コンピューティングプロセスから生じた情報を備え得る。情報は、非一時的、有形コンピュータ可読記憶媒体上に記憶され、コンピュータプログラム製品または本明細書で説明される他のデータ組合せの任意の実施形態を含み得る。
【００９４】
最後に、本明細書において使用された文言は、主に、読みやすさおよび教示目的のために選択されており、特許権を定めるまたは制限するために選択されていないことがある。特許権の範囲は、詳細な説明によってではなく、本明細書に基づく出願上に公表された特許請求の範囲によって限定されることが意図されている。実施形態の本開示は、添付の特許請求の範囲に記載されている特許権の範囲の限定ではなく説明のためのものである。
【要約】サーバによってホストされる並行現実ゲーム中でのクライアントデバイスのロケーションを検証する方法およびシステム。クライアントは、サーバにそのロケーションを送信し、ランドマークと検証経路を備える検証命令を受信する。クライアントは、ランドマークの画像データをキャプチャするようにプレーヤにプロンプトし、それに応じて、最初の視点からのランドマークの画像データの第１のセットを受信する。クライアントは、画像データをキャプチャする間に検証経路に沿って移動するようにプレーヤにプロンプトする前に画像データの第１のセットがランドマークに一致するかどうかを決定する。クライアントは、移動する視点からランドマークの画像データの第２のセットを受信する。クライアントは、画像データの第２のセットがランドマークの視点で予想される変化に一致するかどうかを決定する。検証命令が完了すると、クライアントは、クライアントのロケーションをサーバに確認する。【図１】
0006989731.tif 000002
【図２】
0006989731.tif 000003
【図３】
0006989731.tif 000004
【図４】
0006989731.tif 000005
【図５】
0006989731.tif 000006
【図６】
0006989731.tif 000007
【図７】
0006989731.tif 000008
【図８】
0006989731.tif 000009