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

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

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

<>
  • 特許-仮想キャラクターの移動 図1
  • 特許-仮想キャラクターの移動 図2
  • 特許-仮想キャラクターの移動 図3
  • 特許-仮想キャラクターの移動 図4
  • 特許-仮想キャラクターの移動 図5
  • 特許-仮想キャラクターの移動 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-25
(45)【発行日】2025-03-05
(54)【発明の名称】仮想キャラクターの移動
(51)【国際特許分類】
   A63F 13/65 20140101AFI20250226BHJP
   A63F 13/216 20140101ALI20250226BHJP
   A63F 13/35 20140101ALI20250226BHJP
   A63F 13/55 20140101ALI20250226BHJP
【FI】
A63F13/65
A63F13/216
A63F13/35
A63F13/55
【請求項の数】 20
【外国語出願】
(21)【出願番号】P 2021124795
(22)【出願日】2021-07-29
(65)【公開番号】P2022153228
(43)【公開日】2022-10-12
【審査請求日】2021-09-06
【審判番号】
【審判請求日】2023-08-18
(31)【優先権主張番号】17/215,859
(32)【優先日】2021-03-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519087723
【氏名又は名称】ナイアンティック, インコーポレイテッド
【氏名又は名称原語表記】NIANTIC,INC.
【住所又は居所原語表記】One Ferry Building,Suite 200 San Francisco,CA 94111 United States of America
(74)【代理人】
【識別番号】100110928
【弁理士】
【氏名又は名称】速水 進治
(74)【代理人】
【識別番号】100127236
【弁理士】
【氏名又は名称】天城 聡
(72)【発明者】
【氏名】近野 昇平
(72)【発明者】
【氏名】筒井 啓太
(72)【発明者】
【氏名】野村 達雄
(72)【発明者】
【氏名】淺川 浩紀
(72)【発明者】
【氏名】宮本 茂
(72)【発明者】
【氏名】矢野 幹樹
【合議体】
【審判長】長井 真一
【審判官】藤田 年彦
【審判官】澤田 真治
(56)【参考文献】
【文献】米国特許第8968099(US,B1)
【文献】特開2018-740(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F13/00-13/98,9/24
G06T19/00
(57)【特許請求の範囲】
【請求項1】
コンピュータにより実行される、キャラクターが仮想世界を移動できるようにする方法であって、
サーバにおいて、プレーヤーが実世界の異なる地理的位置へ移動することによって前記プレーヤーに対応するキャラクターが前記仮想世界を移動することができるように、前記実世界の少なくとも一部と並行した地理を有する前記仮想世界に関連付けられた並行現実ゲームをホストすることと、
前記サーバにおいて、第1の位置に位置する第1のプレーヤーのクライアントデバイスから、前記第1のプレーヤーが前記実世界で物理的に移動することなく仮想キャラクターを前記第1の位置から指定された遠隔位置に送るリクエストを受信し、前記第1のプレーヤーに対応する第1のキャラクターは前記第1の位置に対応する前記仮想世界内の位置に表示されることと、
前記仮想世界についての情報を使用して、前記仮想キャラクターが前記遠隔位置に到着するのにかかる移動時間を判定することと、
前記移動時間を使用して、前記仮想キャラクターが前記遠隔位置に到着したことを判定することと、
前記仮想キャラクターの前記遠隔位置への到着に応じて、前記仮想キャラクターの表現を、前記遠隔位置に位置する第2のプレーヤーのクライアントデバイスに表示させ、前記第2のプレーヤーに対応する第2のキャラクターは前記遠隔位置に対応する前記仮想世界内の位置に表示されることと、を含み、
前記第1のキャラクターと前記第2のキャラクターは、前記第1のプレーヤーまたは前記第2のプレーヤーがそれぞれ前記実世界において移動する際に、前記仮想世界内の要素と相互作用し、
前記第2のプレーヤーは、前記第2のプレーヤーが前記遠隔位置に位置している間、前記第2のプレーヤーの前記クライアントデバイスを用いて前記仮想キャラクターと相互作用することができる、
方法。
【請求項2】
前記仮想世界における前記仮想キャラクターの現在位置から前記指定された遠隔位置に到達するために前記仮想キャラクターがとる前記仮想世界での経路を判定することと、
前記仮想キャラクターの前記指定された遠隔位置への前記経路を含むように、ゲームデータベースをアップデートすることと、
前記経路の特性に基づき、前記仮想キャラクターの移動速度を判定することと、
前記仮想キャラクターが、前記判定された移動速度で、前記判定された経路に従って、前記指定された遠隔位置へ移動できるようにすることと、をさらに含む、
請求項1に記載の方法。
【請求項3】
前記仮想キャラクターの前記経路に沿って実世界の状況を判定することと、
前記実世界の状況に基づいて、前記仮想キャラクターの表現の特性を修正することと、をさらに含む、
請求項2に記載の方法。
【請求項4】
前記実世界の状況を判定することは、前記実世界において移動する前記経路の閾値距離内における実世界のビジネスを特定するために、ビジネスデータベースに問い合わせることを含み、
前記仮想キャラクターの前記特性を修正することは、前記実世界のビジネスに関連付けられたアイテムを含むように、前記仮想キャラクターの前記表現の見た目を変更することを含む、
請求項3に記載の方法。
【請求項5】
前記仮想キャラクターの移動経路は、前記第1のプレーヤーの前記クライアントデバイスの現在位置から前記指定された遠隔位置までの直線である、
請求項2に記載の方法。
【請求項6】
前記指定された遠隔位置に前記仮想キャラクターが決められた期間存在することに応じて、前記仮想キャラクターを前記第1のプレーヤーの元に帰還させる、
請求項2に記載の方法。
【請求項7】
前記仮想キャラクターが前記遠隔位置にいる前記決められた期間は、前記第1のプレーヤーによって設定されるか、ランダムであるか、又は、前記仮想キャラクターが前記指定された遠隔位置にてプレーヤーらと持つ相互作用の数によって判定される、
請求項6に記載の方法。
【請求項8】
ある期間に亘って、プレーヤーのクライアントデバイスから位置データを受信することと、
前記位置データを使用して、前記実世界を通じた、少なくとも一部が交差点で交差する通過可能な道を判定することと、をさらに含み、
前記仮想キャラクターのための前記経路を判定することは、前記現在位置から前記遠隔位置までの前記通過可能な道の一部を通るルートを特定することを含み、
前記移動ルートは、交差点にて、第1の通過可能な道から第2の通過可能な道へシフトする、
請求項2に記載の方法。
【請求項9】
前記仮想キャラクターの前記表現は、拡張現実環境に表示され、
前記方法は、
前記仮想キャラクターとの相互作用を要求する、前記第2のプレーヤーの前記クライアントデバイスからの入力を受信することと、
前記仮想キャラクターとの前記相互作用の指示を含むように、ゲームデータベースをアップデートすることと、をさらに含む、
請求項1に記載の方法。
【請求項10】
前記仮想キャラクターとの相互作用には、前記第2のプレーヤーが前記仮想キャラクターに仮想アイテムを提供することが含まれ、前記仮想キャラクターは、前記仮想アイテムを前記第1のプレーヤーに持ち帰る、
請求項9に記載の方法。
【請求項11】
動経路は、実世界のルーティングアルゴリズムを使用して判定されたルートである、
請求項1に記載の方法。
【請求項12】
前記指定された遠隔位置への経路から閾値距離内における仮想アイテムを特定することと、
前記仮想アイテムの特定に応じて、前記仮想キャラクターが前記仮想アイテムを運んでいることを示すように、ゲームデータベースをアップデートすること、とにより、
前記仮想キャラクターが前記経路上を移動しながら仮想アイテムを収集する、
請求項1に記載の方法。
【請求項13】
演算装置による実行時に前記演算装置に動作を行わせる、キャラクターの仮想世界での移動を可能にする命令を記憶した非一時的なコンピュータ可読媒体であって、前記動作は、
プレーヤーが実世界の異なる地理的位置へ移動することによって前記プレーヤーに対応するキャラクターが前記仮想世界を移動することができるように、前記実世界の少なくとも一部と並行した地理を有する前記仮想世界に関連付けられた並行現実ゲームをホストすることと、
第1の位置に位置する第1のプレーヤーのクライアントデバイスから、前記第1のプレーヤーが前記実世界で物理的に移動することなく仮想キャラクターを前記第1の位置から指定された遠隔位置に送るリクエストを受信し、前記第1のプレーヤーに対応する第1のキャラクターは前記第1の位置に対応する前記仮想世界内の位置に表示されることと、
前記仮想世界についての情報を使用して、前記仮想キャラクターが前記遠隔位置に到着するのにかかる移動時間を判定することと、
前記移動時間を使用して、前記仮想キャラクターが前記遠隔位置に到着したことを判定することと、
前記仮想キャラクターの前記遠隔位置への到着に応じて、前記仮想キャラクターの表現を、前記遠隔位置に位置する第2のプレーヤーのクライアントデバイスに表示させ、前記第2のプレーヤーに対応する第2のキャラクターは前記遠隔位置に対応する前記仮想世界内の位置に表示されることと、を含み、
前記第1のキャラクターと前記第2のキャラクターは、前記第1のプレーヤーまたは前記第2のプレーヤーがそれぞれ前記実世界において移動する際に、前記仮想世界内の要素と相互作用し、
前記第2のプレーヤーは、前記第2のプレーヤーが前記遠隔位置に位置している間、前記第2のプレーヤーの前記クライアントデバイスを用いて前記仮想キャラクターと相互作用することができる、
非一時的なコンピュータ可読媒体。
【請求項14】
前記動作は、
前記仮想世界における前記仮想キャラクターの現在位置から前記指定された遠隔位置に到達するために前記仮想キャラクターがとる前記仮想世界での経路を判定することと、
前記仮想キャラクターの前記指定された遠隔位置への前記経路を含むように、ゲームデータベースをアップデートすることと、
前記経路の特性に基づき、前記仮想キャラクターの移動速度を判定することと、
前記仮想キャラクターが、前記判定された移動速度で、前記判定された経路に従って、前記指定された遠隔位置へ移動できるようにすることと、をさらに含む、
請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項15】
前記動作は、
前記仮想キャラクターの前記経路に沿って実世界の状況を判定することと、
前記実世界の状況に基づいて、前記仮想キャラクターの表現の特性を修正することと、をさらに含む、
請求項14に記載の非一時的なコンピュータ可読媒体。
【請求項16】
前記実世界の状況を判定することは、前記実世界における移動経路の閾値距離内における実世界のビジネスを特定するために、ビジネスデータベースに問い合わせることを含み、
前記仮想キャラクターの前記特性を修正することは、前記実世界のビジネスに関連付けられたアイテムを含むように、前記仮想キャラクターの前記表現の見た目を変更することを含む、
請求項15に記載の非一時的なコンピュータ可読媒体。
【請求項17】
前記動作は、
ある期間に亘って、プレーヤーのクライアントデバイスから位置データを受信することと、
前記位置データを使用して、前記実世界を通じた、少なくとも一部が交差点で交差する通過可能な道を判定することと、をさらに含み、
前記仮想キャラクターのための前記経路を判定することは、前記現在位置から前記遠隔位置までの前記通過可能な道の一部を通るルートを特定することを含み、
前記移動ルートは、交差点にて、第1の通過可能な道から第2の通過可能な道へシフトする、
請求項14に記載の非一時的なコンピュータ可読媒体。
【請求項18】
前記仮想キャラクターの前記表現は、拡張現実環境に表示され、
前記動作は、
前記仮想キャラクターに仮想アイテムを提供することを要求する、前記第2のプレーヤーの前記クライアントデバイスからの入力を受信することと、
前記仮想キャラクターが前記仮想アイテムを有する旨の指示を含むように、ゲームデータベースをアップデートすることと、をさらに含み、
前記仮想キャラクターは、前記仮想アイテムを前記プレーヤーに持ち帰る、
請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項19】
前記指定された遠隔位置への経路から閾値距離内における仮想アイテムを特定することと、
前記仮想アイテムの特定に応じて、前記仮想キャラクターが前記仮想アイテムを運んでいることを示すように、ゲームデータベースをアップデートすること、とにより、
前記仮想キャラクターが前記経路上を移動しながら仮想アイテムを収集する、
請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項20】
演算装置による実行時に前記演算装置に動作を行わせる、キャラクターの仮想世界での移動を可能にする命令を記憶した非一時的なコンピュータ可読媒体であって、前記動作は、
プレーヤーが仮想キャラクターを送る遠隔位置を選択できるように、画面上にコントロールを表示することであって、
前記プレーヤーは、前記仮想世界におけるキャラクターと対応しており、
前記キャラクターは、前記プレーヤーの前記演算装置の現在位置に対応する前記仮想世界の位置に表示され、
前記キャラクターは、前記プレーヤーが実世界を移動すると、前記仮想世界内の要素と相互作用し、
前記プレーヤーは、前記プレーヤーが実世界を物理的に移動することなく前記演算装置を用いて前記仮想キャラクターを移動できる、
ことと、
前記仮想キャラクター前記演算装置の前記現在位置から前記遠隔位置へ移動させるための指示前記プレーヤーの前記演算装置からサーバに送ることと、
前記仮想キャラクターがとる前記遠隔位置までの経路情報であって、前記仮想世界の情報を使用して決定される、前記仮想キャラクターが前記遠隔位置に到着するのにかかる移動時間を含む前記経路情報を前記サーバから受信し、前記仮想キャラクターは前記演算装置の現在位置、前記経路情報の経路沿い、または前記遠隔位置に位置する他のプレーヤーと相互作用可能であることと、
前記仮想キャラクターが仮想アイテムのある前記遠隔位置から戻った旨の指示を前記サーバから受信することと、
前記仮想キャラクターが戻った旨の通知と、前記仮想アイテムの仮想表現とを表示することと、を含む非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般的に並行現実ゲームに関し、特に、並行現実ゲームにおけるキャラクターの移動に関する。
【背景技術】
【0002】
並行現実ゲームは、実世界の地理の少なくとも一部を反映した仮想的な地理を有する。並行現実ゲームでは、プレーヤーが実世界を移動することにより、仮想世界の要素と相互作用することができる。プレーヤーのキャラクターは、実世界における自身の位置を反映した仮想世界中の位置に現わされる。プレーヤーは、仮想世界内で、関心地点を訪れるため、または、自身の現在位置において利用できない仮想アイテムと相互作用を持つために、仮想世界内を移動したい場合がある。通常、並行現実ゲームにおいて、プレーヤーがある仮想位置への移動を希望すれば、その仮想位置に反映させる実世界上の位置へ物理的に動かなければならない。ある状況下においては、プレーヤーは対応する実世界の位置に自身の物理的存在を確立することができないため、仮想要素がプレーヤーにとって利用不能な場合がある。例えば、プレーヤーの位置がGPSを通じて確立される場合、大きな建物内に位置する仮想要素に物理的存在を確立することは困難又は不可能な場合がある。他の例として、日々の営業時間、季節によるアクセス制限等により、或る時間に或る位置へのアクセスができない場合がある。
【発明の概要】
【0003】
並行現実ゲームのプレーヤーは、自身の実世界上の地理的位置を動かす必要なく、仮想世界の遠隔位置に仮想キャラクターを送ることができる。プレーヤーは、仮想キャラクターを移動させたい位置を選択することができる。ゲームシステムは、仮想キャラクターが仮想世界内で移動して仮想目的地に到着する経路を判定する。仮想目的地においては、仮想キャラクターは、実世界の地理的位置がその仮想目的地の地理的位置を反映した他のプレーヤーらと相互作用することができる。例えば、他のプレーヤーらは、仮想キャラクターに仮想アイテム又はその他のギフトを与えることができる。いくつかの実施形態において、仮想キャラクターは、仮想目的地で、又は、その移動経路付近の位置で、仮想アイテムを集めることもできる。仮想キャラクターは、(例えば、移動を開始したプレーヤーへの移動経路に沿って移動することにより)プレーヤーのもとに戻ってもよく、プレーヤーのもとに戻るべく移動する際に集めたいずれのアイテムも持ち帰ってよい。本開示の他の例示的実装は、プレーヤーに並行現実ゲーム内での仮想キャラクターの移動を提供するシステム、装置、非一時的なコンピュータ可読媒体、デバイス、及びユーザインタフェースに関連する。
【0004】
これら及び他の特徴、態様及び利点は、以下の説明及び添付の特許請求の範囲を参照することにより、よりよく理解され得る。添付の図面は、特定の実施形態を示し、その説明とともに、様々な原理を説明するのに役立つ。ただし、図面は限定的なものと見なされるべきでない。むしろ、保護の範囲は、クレームにより決定されるものでなければならない。
【図面の簡単な説明】
【0005】
図1】一実施形態に係る、並行現実ゲームを実施するコンピュータベースシステムを示す図である。
【0006】
図2】一実施形態に係る、実世界と並行する地理を有した仮想世界の表現を示す図である。
【0007】
図3】一実施形態に係る、並行現実ゲームの例示的ゲームインタフェースを示す図である。
【0008】
図4】一実施形態に係る、図1のクライアントのキャラクター移動モジュールのブロック図である。
【0009】
図5】仮想キャラクターが遠隔仮想位置に移動する方法を示すフローチャートである。
【0010】
図6】一実施形態に係る、図1のコンピュータベースシステムにおける使用に好適な例としてのコンピュータを示すブロック図である。
【発明を実施するための形態】
【0011】
以下、種々の実施形態を詳細に参照するが、そのうちの1つ以上の例が図示されている。各例は、記載の実施形態の説明によって提供されるものであり、クレームを限定するものでない。実際、当業者にとって、記載の原則から逸脱することなく、種々の修正及び変更が可能であることは明らかであろう。例えば、一実施形態の一部として図示又は説明した特徴を、他の実施形態とともに使用することで、さらに他の実施形態を創出することができる。従って、本開示は、添付の請求項及びその同等物の範囲内に収まるこのような修正及び変更を網羅することが意図されている。
【0012】
<概要>
本開示は、実世界上の位置にマップされた仮想世界において起こる並行現実ゲーム全般に関する。仮想世界は、仮想オブジェクト、仮想アイテム、仮想エネルギー、仮想キャラクター、及びその他の仮想要素といった、実世界の少なくとも一部と並行する仮想世界を有する並行現実ゲームのプレーヤーによって使用又は収集可能な仮想要素を取り込む体験等、実世界での行動に関連する体験を有する。特に、仮想世界における体験は、1つ以上の実世界上の行動に関連付けられたデータに基づき、判定される。このように、仮想体験は、実世界上の行動に対応して、ゲームプレイをより没入感のあるものにすることができる。さらに、実世界上の行動及び条件に関連付けられたデータに基づいて、仮想世界内に仮想体験を位置づけることで、並行する仮想世界と実世界との間の繋がりを向上させ、さらに、仮想世界が、並行現実ゲームを通じてプレーヤーが把握及び相互作用することのできる現実世界の他の次元であるという幻想を強める。
【0013】
ゲームサーバは、実世界の地理の少なくとも一部と並行する地理を備えた仮想環境を含むプレーヤーゲーミング領域を有した位置ベースの並行現実ゲームをホストすることができる。プレーヤーは、実世界において対応する地理的空間を移動することにより、仮想世界内の仮想空間を移動することができる。特に、プレーヤーは、実世界上の地理的座標の範囲を移動することにより、仮想世界における仮想空間を規定する座標範囲を移動することができる。
【0014】
一態様において、プレーヤーの位置は、例えば、プレーヤーの携帯型コンピューティングデバイス(例えば、携帯電話、スマートフォン、ゲーミングデバイス、又はその他のデバイス)に関連付けられた測位システム(例えば、GPSシステム)を使用して、監視又は追跡可能である。プレーヤーが実世界で動き回る際、プレーヤーの位置情報を、ネットワーク経由で並行現実ゲームをホストするゲームサーバに提供することができる。ゲームサーバは、並行する仮想世界におけるプレーヤーの位置をアップデートして、実世界におけるプレーヤーの位置に対応させることができる。
【0015】
並行現実ゲームには、並行現実ゲームの過程でプレーヤーが相互作用可能な1つ以上の仮想要素が含まれ得る。仮想要素と相互作用するために、プレーヤーは、実世界において仮想要素の対応位置まで移動して、並行現実ゲームの中で何らかの必要な相互作用を実施しなければならない場合がある。本開示の態様によると、仮想体験は、実世界での行動に関連付けられたデータに基づいて、仮想世界の中において生成可能である。実世界での行動に関連付けられたデータは、仮想世界における体験を判定するために解析され得る。例えば、実世界での行動は、実世界での行動の結果として生じる仮想世界での体験をもたらす。
【0016】
仮想体験を実世界での行動に結び付けることにより、プレーヤーをより惹きつける体験を可能にする。このように、本開示の主題は、実世界と並行する仮想世界との間の繋がりを向上するような並行現実ゲームにおける仮想体験の生成を可能にする、並行現実ゲームの改善されたコンピュータベースの実装を提供するという技術的効果を発揮することができる。
【0017】
一実施形態において、並行現実ゲームに関連付けられたゲームサーバは、実世界における個人の位置に関連付けられたデータにアクセスすることができる。実世界での個人の位置に関連付けられたデータは、任意の好適なソースから取得または導出することができる。実世界での個人の位置に関連付けられたデータには、実世界でのモバイルデバイスユーザの位置を含めることができる。特に、スマートフォン等のモバイルデバイスのユーザは、特定の位置ベースの特徴またはその他の機能を強化するために、実世界での地理的位置に関して、任意で位置情報を提供することができる。モバイルデバイスのユーザによって任意で提供される情報は、いずれも、任意で場所情報を提供したユーザのプライバシーを保護するために、匿名の条件で提供され得る。
【0018】
実世界での個人の位置に関連付けられたデータには、並行現実ゲームのプレーヤーの位置に関連付けられたデータも含めることができる。特に、ゲームサーバは、並行現実ゲームのプレイ中に複数のプレーヤーのそれぞれから位置情報を受信することで、ゲームサーバが並行現実ゲームに関連付けられた並行する仮想世界におけるプレーヤーの場所を更新できるようにする。
【0019】
ゲームサーバは、実世界での個人の位置に関連付けられたデータを解析し、そのようなデータに基づいて、仮想体験を生成することができる。例えば、ゲームサーバは、ユーザ(又は他の異なるユーザ)が実世界内の特定位置に移動するときに収集された、ユーザのための仮想世界における仮想要素を配置することができる。或る態様において、仮想要素は、実世界における体験を強化するために使用可能である。例えば、仮想要素は、実世界における1つ以上の商品又はサービスに対して交換又は提示可能である。実世界での行動に基づく仮想世界での仮想体験の生成により、プレーヤーに、実世界での特定位置に移動させる理由を提供することができる。
【0020】
特定の実装において、特定の実世界での行動を、仮想世界における体験に直接及び/又は間接的にマッピングすることができる。例えば、実世界の気象データは、仮想世界の仮想気象に直接マッピングすることができる。同様に、実世界の気象データは、実世界の気象条件が雨を示しているときに特定の仮想要素を見つけるのをより困難にする等、仮想世界に間接的にマッピングすることができる。本明細書に記載の通り、このようなマッピングは、任意の実世界での行動を含むことができ、そのような体験が実世界での行動に関連するか否かに関わらず、仮想世界での1つ以上の体験に直接及び/又は間接的にマッピングすることができる。他の例として、実世界での日食は、仮想世界に間接的にマッピングされ、結果として、仮想世界のすべてのプレーヤーの仮想エネルギーが増加する仮想体験をもたらすことができる。代替として、又は、前述の例と組み合わせて、日食を仮想世界に直接マッピングし、仮想世界で見える仮想日食を発生させることができる。このようにして、ゲームサーバは、実世界での行動から仮想世界における仮想体験を生成することができる。
【0021】
ゲームサーバは、実世界での行動に関連付けられた他のデータに基づき、並行する仮想世界における仮想体験を生成することができる。例えば、ゲームサーバは、文化的、レクリエーション的、又は商業的な価値のあるアイテム、マップデータ、ハザードデータ、気象データ、イベントカレンダーデータ、及びその他の好適なデータに関連付けられた実世界での行動に基づき、仮想体験を創出することができる。一例として、ゲームサーバは、公共の芸術作品、観光名所、風光明媚な景色、図書館、又はハイキングトレイル等、公共、教育、商業、又はレクリエーションとしての価値のある位置に対応する実世界でのアイテムに関連付けられた行動に基づく、仮想世界での仮想体験を含むことができる。
【0022】
実世界での行動に関連付けられたデータの他の例示的な適用には、仮想世界における1つ以上の目標を達成するために、2名以上のユーザが実世界で協同することを仮想体験として含み得る。一例として、仮想世界における仮想体験には、実世界における特定位置に、2名以上が集合するといった、仮想体験の共有を含むことができる。これら2名以上のユーザは、その後、仮想世界において互いの目的を達成するために協力してもよい。
【0023】
実世界での行動に関連付けられたデータのさらに他の例示的な適用には、実世界の位置に移動する第1のユーザと第2のユーザとが、仮想世界における仮想要素を互いに交換することを含み得る。仮想要素は、メッセージ、アイテム等とすることができる。例えば、第1のユーザは、実世界で或る位置に移動し、第2のユーザのために、仮想世界における仮想要素を残すことができる。第2のユーザは、その後、その実世界における位置に移動し、仮想世界における仮想要素を収集することができる。
【0024】
本開示の特定の態様によると、本明細書に記載のような2つ以上の行動を組み合わせ、結果として1つ以上の仮想体験を生じることができる。例えば、2つ以上の仮想要素を仮想世界全体に分布させることができ、2名以上のユーザにこのような仮想要素を収集するために1つ以上の実世界上の位置を訪れるという実世界での行動に関わることを要求することができる。ユーザらが仮想要素をすべて収集すると、ゲームサーバは、そのユーザらが実世界上の或る位置に集まったときに仮想体験を提供することができる。代替の実装として、ユーザは、別のユーザに自らの各仮想要素を提供することができ、この別のユーザは、その後、実世界の或る位置で他のユーザらと集まることができる。
【0025】
仮想キャラクターは、仮想行動を実施することのできる種別の仮想要素である。仮想キャラクターは、並行現実ゲームのプレーヤーによって制御されてもされなくてもよく、プレーヤーを表現したものであってもなくてもよい。仮想キャラクターは、仮想世界におけるプレーヤーの位置が実世界におけるプレーヤーの位置に対応するように、仮想世界におけるプレーヤーの位置を現わす仮想要素であってもよい。仮想キャラクターは、他の仮想キャラクターと相互作用したり、アイテムを収集及び交換したり、仮想の位置に移動したりすることができる。仮想世界内での仮想キャラクターの移動は、実世界でのプレーヤーの関連した移動に伴うものであってもよいが、これは必須ではない。例えば、仮想キャラクターは、プレーヤーが実世界内の対応する位置まで動く必要なく、プレーヤーによって仮想世界内の遠隔位置に送られてもよい。仮想キャラクターの行動は、プレーヤーによって制御されてもよいが、ゲームサーバによっても判定されてよい。
【0026】
一実施形態において、プレーヤーは、そのプレーヤーが収集したか、さもなければ制御する仮想キャラクターを、特定された遠隔位置に(例えば、遠隔位置の選択を行うために、ゲームの実行中に自身のクライアントデバイス120のスクリーンに表示されたコントロールを使用して)送ってもよい。この遠隔位置は、選択可能な遠隔位置の組(例えば、プレーヤーがかつて何らかの時点で実際に訪れたことのある場所、プレーヤーの現在位置から閾値距離内にある場所、又は、ゲーム内でのプレーヤーの連絡先又はチームの構成員が実際に訪れたことがあるか、もしくは現在居る場所等)から選択されてもよい。仮想キャラクターは、プレーヤーの現在位置からその遠隔位置までのルートに沿って移動するのに一定の時間を所用するが、これは、ルートの長さ、ルート沿いの地理、ルート沿いの気象等の要因に影響を受ける。遠隔位置にある時、仮想キャラクターは、他のプレーヤーによって視認可能であり、相互作用することができる。仮想キャラクターは、その仮想キャラクターがその遠隔位置に到達する際にとったルートと同じルート、又は異なるルート(例えば、仮想キャラクターが戻る時のプレーヤーの現在位置であって、仮想キャラクターがその仮想位置へ出発した際のそのプレーヤーの位置とは異なっていてもよい位置までのルート)に沿って、その仮想キャラクターを遠隔位置に送ったプレーヤーのもとに戻ってもよい。仮想キャラクターは、その仮想キャラクターが相互作用を行った他のプレーヤーからのギフト、遠隔位置付近からのアイテム、又は、仮想キャラクターが遠隔位置へ向かう際又は遠隔位置から戻る際にとったルートの付近からのアイテム等、1つ以上の仮想アイテムを持って戻ってもよい。
【0027】
<例示的な位置ベースの並行現実ゲーミングシステム>
以下、本開示の例示的な実施形態に係る、コンピュータ実装位置ベースゲーミングシステムの例について述べる。本主題については、並行現実ゲームを参照して検討する。並行現実ゲームは、実世界におけるプレーヤーの動き及び行動が仮想世界での行動に影響し、また逆も然りとなるように、実世界の地理の少なくとも一部と並行する仮想世界の地理を有した位置ベースのゲームである。当業者は、本明細書において提供される開示を使用して、本開示の主題が他のゲーミングシステムにも適用されてよいことを理解しなければならない。さらに、コンピュータベースシステムに本来備わった柔軟性により、システム構成要素間のタスク及び機能について様々な構成、組み合わせ、及び分割が可能となる。例えば、本開示の態様に係るゲームデータを修正又は検証するシステム及び方法は、単一の演算装置を使用して、又は多数の演算装置に亘って実装することができる。
【0028】
図1は、一実施形態において構成された例示的なコンピュータ実装位置ベースゲーミングシステム100を示している。位置ベースゲーミングシステム100は、実世界と並行する地理を有した仮想世界において複数のプレーヤーとの相互作用を提供する。特に、実世界における地理的領域は、仮想世界の対応する領域に直接リンク又はマッピング可能である。プレーヤーは、実世界の種々の地理的位置に移動することにより、仮想世界内を動き回ることができる。例えば、システム100は、実世界におけるプレーヤーの位置を追跡し、実世界におけるプレーヤーの現在の位置に基づいて、仮想世界でのプレーヤーの位置を更新することができる。
【0029】
図2は、本開示の例示的な実施形態に係る位置ベースゲームのプレーヤーのゲームボードとして振る舞うことのできる、実世界200に並行する仮想世界210の概念図を示している。図示の通り、仮想世界210は、実世界200の地理に並行する地理を含むことができる。特に、実世界200における地理的領域又は空間を規定する座標の範囲が、仮想世界210における仮想空間を規定する座標の対応する範囲にマッピングされる。実世界200の座標の範囲は、町、地区、市、キャンパス、地域、国、大陸、全世界、又は他の地理的領域と関連付けることができる。実世界200における地理的の範囲における各地理的座標は、仮想世界210の仮想空間において対応する座標にマッピングされる。
【0030】
仮想世界210におけるプレーヤーの位置は、実世界200におけるプレーヤーの位置に対応する。例えば、実世界200の位置212に配置されたプレーヤーAは、仮想世界210において対応する位置222を有する。同様に、実世界200の位置214に配置されたプレーヤーBは、仮想世界において対応する位置224を有する。プレーヤーらが実世界の地理的座標の範囲内で動き回ると、プレーヤーらは、仮想世界210の仮想空間を規定する座標の範囲内でも動き回ることとなる。特に、プレーヤーによって携帯されるモバイルデバイスに関連付けられた測位システム(例えば、GPSシステム)を使用して、プレーヤーが実世界200内の地理的座標の範囲を移動する際、プレーヤーの位置を追跡することができる。実世界200におけるプレーヤーの位置に関連付けられたデータを使用して、仮想世界210の仮想空間を規定する座標の対応する範囲におけるプレーヤーの位置をアップデートする。このように、プレーヤーらは、必ずしも実世界200における特定の具体的な位置にチェックインしたり、又は位置情報を定期的にアップデートしたりする必要なく、実世界200において地理的座標の対応する範囲の間で単に移動することにより、仮想世界210の仮想空間を規定する座標の範囲において継続的な追跡と共に移動することができる。
【0031】
位置ベースゲームは、種々の仮想要素、及び/又は、仮想世界の種々の仮想位置に分散された仮想オブジェクトへの移動、及び/又は、それらとの相互作用をプレーヤーに要求する複数のゲーム目標を含むことができる。プレーヤーは、実世界において、仮想要素又は対象物の対応位置に移動することにより、これらの仮想位置へ移動することができる。例えば、測位システムは、プレーヤーが継続して実世界を移動する際、そのプレーヤーが継続して並行する仮想世界も移動するように、プレーヤーの位置を継続的に追跡することができる。プレーヤーは、その後、特定の位置にて種々の仮想要素、及び/又は、オブジェクトと相互作用し、1つ以上のゲーム目標を達成又は実施することができる。
【0032】
例えば、ゲーム目標は、プレーヤーが仮想世界210における種々の仮想位置に配置された仮想要素230と相互作用するか、さもなければ、その所有権を主張することを含み得る。これらの仮想要素230は、実世界200におけるランドマーク、地理的位置、又はオブジェクト240とリンクさせることができる。実世界のランドマーク又はオブジェクト240は、美術作品、モニュメント、建物、企業、図書館、博物館、又はその他の好適な実世界のランドマーク又はオブジェクトとすることができる。これらの仮想要素230を獲得するために、プレーヤーは、実世界において仮想要素230とリンクされたランドマーク又は地理的位置240に移動し、仮想世界210における仮想要素230と相互作用してもよい。例えば、図2のプレーヤーAは、特定のランドマーク240とリンクされた仮想要素230と相互作用するために、実世界200におけるランドマーク240に移動してもよい。仮想要素230との相互作用は、写真を撮影したり、及び/又は、仮想要素230に関連付けられたランドマーク又はオブジェクト240についての他の情報を検証、取得、又は獲得するなど、実世界での行為に結び付けられ得る。他の例において、プレーヤーは、特定の遠隔仮想位置のランドマーク240に仮想キャラクターを送り、その仮想キャラクターがそこで仮想要素230、オブジェクト240、又は他のプレーヤー214と相互作用できるようにしてもよい。
【0033】
ゲーム目標には、プレーヤーが、位置ベースゲーム内でプレーヤーによって収集された1つ以上の仮想アイテムを使用することが含まれ得る。例えば、プレーヤーは、ゲーム目標を完遂するのに有用となり得る仮想アイテム(例えば、武器、食べ物、医療品、兵士、生き物、又はその他のアイテム)を求めて、仮想世界を移動してもよい。これらの仮想アイテムは、実世界の異なる位置に移動することにより、又は、仮想世界もしくは実世界のいずれかにおいて、種々の行動を完遂することにより、発見又は収集できる。例えば、プレーヤーは、仮想世界の仮想要素230と相互作用して、仮想アイテムを得てもよい。図2に示される実施形態において、プレーヤーは、仮想アイテム232を使用して、1つ以上の仮想要素230を獲得する。特に、プレーヤーは、仮想要素230に近接した仮想世界210の位置に仮想アイテム232を展開することができる。仮想要素230に近接した1つ以上の仮想アイテム232を展開することで、結果として、特定のプレーヤー又はプレーヤーのチーム、及び/又は、派閥のために、仮想要素230を獲得することができる。
【0034】
特定の一実装において、プレーヤーは、位置ベースゲームの一部として仮想エネルギーを集めてもよい。図2に示される通り、仮想エネルギー250は、仮想世界210の異なる位置に分散可能である。プレーヤーは、実世界200において仮想エネルギー250の対応位置に移動することにより、仮想エネルギー250を収集することができる。仮想エネルギー250を使用して、仮想アイテムへのパワー供給、及び/又は、ゲーム内の種々のゲーム目標を実施することができる。すべての仮想エネルギー250を失ったプレーヤーは、ゲームから一時的に切断され得る。
【0035】
本開示の態様によると、位置ベースゲームは、ゲーム中のすべての参加者が同一の仮想世界を共有する巨大なマルチプレーヤー位置ベースゲームとすることができる。プレーヤーらは、別のチーム又は派閥に分けられ、仮想要素の所有権を獲得したり主張したりする等、1つ以上のゲーム目標を達成するために、協働することができる。便宜上、このようなプレーヤーのグループ化をすべて、本明細書中ではチームという。このように、位置ベースゲームは、本質的に、ゲームのプレーヤー間での協力を促すソーシャルゲームであり得る。対抗するチームのプレーヤーは、位置ベースゲーム中、互いに対抗して働くことができる。プレーヤーは、仮想アイテムを使用して、対抗するチームのプレーヤーを攻撃したり、進捗を遅らせたりすることができる。いくつかの例において、別のチームのプレーヤーは、或る共有の仮想体験(例えば、ボスとの戦い)において協調して、共通の目的を達成してもよい。
【0036】
位置ベースゲームは、位置ベースゲーム内でのゲームプレイを向上及び促進する種々の特徴を有することができる。例えば、プレーヤーらは、ゲーム内で使用可能な仮想通貨又はその他の仮想報酬を蓄積することができる。プレーヤーらは、1つ以上のゲーム目標を完遂し、ゲーム内での体験を得ることで、様々なレベルに進むことができる。プレーヤーらは、ゲーム内で提供される1つ以上の通信インタフェースを通じて互いに通信可能である。プレーヤーらは、ゲーム内でゲーム目標を完遂するために使用可能な、増強された「パワー」又は仮想アイテムも得ることができる。当業者は、本明細書中に提供される開示を使用して、本開示の範囲から逸脱しない限りにおいて、他の種々のゲーム特徴が位置ベースゲームに含まれ得ることを理解しなければならない。
【0037】
図1を再び参照すると、図示されたコンピュータ実装位置ベースゲーミングシステム100は、ゲームサーバ110がネットワーク130を通じて1つ以上のクライアント120と通信する、クライアント-サーバアーキテクチャを含む。図1では2つのクライアント120が示されているが、任意の数のクライアント120がネットワーク130を通じてゲームサーバ110に接続可能である。サーバ110は、プレーヤーに対する位置ベースゲームの態様を制御し、位置ベースゲーム内のプレーヤーからの入力を受信及び処理するユニバーサルゲームモジュール112をホストすることができる。クライアントサイドにおいて、各クライアント120は、ユーザにシステム100へのインタフェースを提供するゲーミングアプリケーションとして動作するゲーミングモジュール125を含むことができる。ゲームサーバ110は、クライアント120のゲーミングモジュール125によって使用されるゲームデータをネットワーク130を通じてクライアント120に送信し、ゲームのローカルバージョン(例えば、プレーヤーの位置に特定の仮想世界の部分)をゲームサーバ110から離れた位置にいるプレーヤーに提供する。
【0038】
「モジュール」という用語は、所望の機能を提供するために利用されるコンピュータロジックをいうものと理解される。従って、モジュールは、汎用プロセッサを制御するハードウェア、ファームウェア、及び/又はソフトウェアにおいて実装可能である。一実施形態において、モジュールは、記憶装置に記憶されるか、メモリにロードされてプロセッサにより実行されるプログラムコードファイルであるか、又は、RAM、ハードディスク、又は光学又は磁気媒体等、有形コンピュータ可読記憶媒体に記憶された、例えば、コンピュータ実行可能な命令等、コンピュータプログラム製品から提供可能である。
【0039】
ゲームサーバ110は、任意の演算装置とすることができ、プロセッサ及びメモリを備えることができる。メモリは、プロセッサに動作を実施させる命令を記憶することができる。ゲームサーバ110は、ゲームデータベース115を備えるか、又はこれと通信することができる。ゲームデータベース115は、ネットワーク130を通じてクライアント120に供給又は提供される、位置ベースゲームにおいて使用されるゲームデータを記憶する。
【0040】
ゲームデータベース115に記憶されたゲームデータには、(1)位置ベースゲームにおける仮想世界と関連付けられたデータ(例えば、表示装置上の仮想世界のレンダリングに使用される描画データ、仮想世界内の位置の地理的座標等)、(2)位置ベースゲームのプレーヤーに関連付けられたデータ(例えば、プレーヤー情報、プレーヤー経験レベル、プレーヤー通貨、プレーヤーアイテム目録、仮想世界/実世界におけるプレーヤーの現在の位置、プレーヤーのエネルギーレベル、プレーヤーの趣向、チーム情報等)、(3)ゲーム目標に関連付けられたデータ(例えば、現在のゲーム目標に関連付けられたデータ、ゲーム目標のステータス、過去のゲーム目標、将来のゲーム目標、所望のゲーム目標等)、(4)仮想世界内の仮想要素に関連付けられたデータ(例えば、仮想要素の位置、仮想要素の種別、仮想要素に関連付けられたゲーム目標、仮想要素に対して対応する実世界の位置情報、仮想要素の振る舞い、仮想要素の関連性等)、(5)仮想世界の要素にリンクされた実世界のオブジェクト、ランドマーク、位置に関連付けられたデータ(例えば、実世界のオブジェクト/ランドマークの位置、実世界のオブジェクト/ランドマークの説明、実世界の対象物にリンクされた仮想要素の関連性等)、(6)ゲームステータス(例えば、現在のプレーヤー数、ゲーム目標の現在のステータス、プレーヤーのリーダーボード等)、(7)プレーヤーの行為/入力に関連付けられたデータ(例えば、現在のプレーヤーの位置、過去のプレーヤーの位置、プレーヤーの動き、プレーヤーの入力、プレーヤーのクエリ、プレーヤーの通信等)、及び(8)位置ベースゲームの実施中に使用されるか、これに関連するか、又は得られた他の任意のデータが含まれ得る。ゲームデータベース115に記憶されたゲームデータは、システム管理者によって、及び/又は、1つ以上のクライアント120等、システム100のユーザ/プレーヤーからネットワーク130を通じて受信したデータによって、オフライン又はリアルタイムのいずれかで追加可能である。
【0041】
以下にさらに詳細に検討するように、ゲームサーバ110は、実世界状況データベース117を備えるか、又はこれとも通信することができる。実世界状況データベース117は、ゲームデータベース115の一部であってもよいし、これと一体化されていてもよいし、又はこれとは別個のものであってもよい。実世界状況データベース117は、実世界におけるプレーヤーの個々、及び/又は、集団としての位置、文化的価値又は商業的価値のある場所に関連付けられた行動、道路、高速道路、水路の場所を提供するマップデータ、個々のプレーヤーの現在及び過去の位置、ハザードデータ、気象データ、イベントカレンダーデータ、その他の好適なデータ等、実世界の状況に関連付けられたデータを記憶する。実世界状況データベース117に記憶されたデータは、任意の好適なソースより収集又は取得することができる。例えば、一態様において、実世界状況データベース117は、マッピングサービスによってアクセスされる1つ以上のマップデータベース等、マップ情報を記憶したマップデータベースと連結されるか、これを備えるか、又はこの一部とすることができる。他の例示的な態様によると、実世界状況データベース117は、例えば、ゲームデータベース115から、プレーヤーの過去及び現在の位置に関連付けられたデータを取得又はこれにアクセスすることができる。さらに他の例示的な態様によると、実世界状況データベース117は、人口データ、ハザードデータ、気象データ、イベントカレンダーデータ、又はその他のデータを実世界状況データベース117に定期的に提供する、1つ以上の外部のデータソース又はサービスに連結可能である。
【0042】
ゲームサーバ110は、1つ以上のクライアント120から(例えば、リモートプロシージャコール(Remote Procedure Calls:RPCs)を介して)のゲームデータのリクエストを受信し、ネットワーク130を介してこれらのリクエストに応答するように構成可能である。例えば、ゲームサーバ110は、ゲームデータを1つ以上のデータファイルに符号化し、このデータファイルをクライアント120に提供することができる。さらに、ゲームサーバ110は、ネットワーク130を介して、1つ以上のクライアント120からゲームデータ(例えば、プレーヤーの位置、プレーヤーの行為、プレーヤーの入力等)を受信するように構成可能である。例えば、クライアントデバイス120は、ゲームサーバ110にプレーヤーの入力、プレーヤーの位置、及びその他のアップデートを定期的に送るように構成可能であり、ゲームサーバ110は、これを使用して、ゲームデータベース115内のゲームデータをアップデートし、ゲーム状況の変更を反映させる。
【0043】
図示の通り、ゲームサーバ110は、ユニバーサルゲームモジュール112を備えることができる。ユニバーサルゲームモジュール112は、すべてのプレーヤーに対して位置ベースゲームをホストし、すべてのプレーヤーに対する位置ベースゲームの現在のステータスについて、権限を備えたソースとして振る舞う。ユニバーサルゲームモジュール112は、クライアント120からゲームデータ(例えば、プレーヤーの入力、プレーヤーの位置、プレーヤーの行為、プレーヤーのステータス、ランドマーク情報等)を受信し、位置ベースゲームのすべてのプレーヤーのために、受信したゲームデータを位置ベースゲーム全体に組み込む。ユニバーサルゲームモジュール112は、ネットワーク130を介したクライアント120へのゲームデータの伝送も管理することができる。
【0044】
図1に示される実施形態において、ゲームサーバ110は、ロケータモジュール114も備える。ロケータモジュール114は、ユニバーサルゲームモジュール112の一部であってもよいし、又はこれと別個のものであってもよい。ロケータモジュール114は、実世界の行為に関連付けられたデータにアクセスし、このデータを解析し、実世界での行為に関連付けられたデータに基づいて仮想世界での仮想体験を判定するように構成される。例えば、ロケータモジュール114は、実世界での行為に関連付けられたデータに基づき、ゲームデータベース115内に記憶されたゲームデータを修正して、仮想世界に仮想体験を配置することができる。
【0045】
図1に示される通り、ゲームサーバ110は、キャラクター移動モジュール116も備えることができる。キャラクター移動モジュール116により、仮想世界における仮想キャラクターの目的地に対応する実世界での位置にプレーヤーが仮想キャラクターを同伴させなくとも、仮想キャラクターは仮想位置に移動することができる。一実施形態において、キャラクター移動モジュール116により、プレーヤーは、遠隔の実世界の位置(すなわち、プレーヤーが現在位置していない実世界上の位置)に関連付けられた仮想位置に仮想キャラクターを送ることができる。キャラクター移動モジュール116は、ロケータモジュール114からの入力を受け、プレーヤーの実世界での地理的な位置、すなわちキャラクターの移動開始地点を判定する。キャラクター移動モジュールは、実世界状況データベース117からの入力も受け、キャラクターの移動の速度、移動時間、外見、仮想要素との相互作用等、その移動の特性を判定することができる。キャラクター移動モジュール116は、ゲームデータベース115からの入力を受け、且つ、ゲームデータベース115にデータを記憶することができる。ゲームデータベース115からの入力は、他のキャラクターの行路、又は、仮想世界からの他の測定値からの移動データであってもよい。さらに、キャラクター移動モジュール116は、ゲームデータベース115に記憶されるキャラクター移動データを出力してもよい。キャラクター移動モジュール116の種々の実施形態について、図4を参照して、以下にさらに詳細に説明する。
【0046】
他のモジュールがゲームサーバ110とともに使用可能である。任意の数のモジュールが、本明細書に記載のサーバ側の機能を実施するようにプログラム可能であるか、構成可能である。さらに、サーバ側の種々の構成要素が再配置可能である。例えば、ゲームデータベース115は、ゲームサーバ110内に一体化可能である。本開示に照らして、他の構成も明らかであり、本開示はいずれか特定の構成に限定されることを意図されたものでない。
【0047】
クライアント120は、プレーヤーによって使用され、ゲーミングシステム100と相互作用することができる任意の演算装置である。例えば、クライアント120は、無線デバイス、携帯情報端末(personal digital assistant:PDA)、携帯ゲーミングデバイス、携帯電話、スマートフォン、タブレット、ナビゲーションシステム、ハンドヘルドGPSシステム、又はその他同様のデバイスとすることができる。要するに、クライアント120は、プレーヤーが仮想世界と相互作用できるように、ゲーミングモジュール125を実行することのできる任意の演算装置又はシステムとすることができる。
【0048】
クライアント120によって実行されるゲーミングモジュール125は、プレーヤーと位置ベースゲームとの間のインタフェースを提供する。ゲーミングモジュール125は、ゲームに関連付けられた仮想世界を表示してユーザが種々のゲーム目標を実行するために仮想世界で相互作用できるように、クライアント120と関連付けられた表示装置上にユーザインタフェースを提示することができる。ゲーミングモジュール125は、他の様々な出力も制御することができ、プレーヤーが表示画面を見る必要なく、ゲームと相互作用できるようにする。例えば、ゲーミングモジュール125は、プレーヤーが表示画面を見ることなくゲームをプレイすることができるように、様々な音声、振動、又はその他の通知を制御することができる。ゲーミングモジュール125は、ゲームサーバ110から受信したゲームデータにアクセスして、ゲームの正確な表現をユーザに提供することができる。ゲーミングモジュール125は、プレーヤーの入力を受信及び処理し、ネットワーク130を通じてゲームサーバ110にアップデートを提供することができる。
【0049】
ゲーミングシステム100は、位置ベースゲーム用であるため、クライアント120は、プレーヤーが容易に携帯できるか、さもなければ運搬できる、スマートフォン又はその他の携帯デバイス等の携帯演算装置であることが好ましい。プレーヤーは、単に実世界においてクライアント120を携帯又は運搬することにより、仮想世界と相互作用することができる。クライアント120は、ゲームのプレイ中、プレーヤーの位置を監視する測位装置128を備えることができる。測位装置128は、クライアント120の位置を監視する任意のデバイス又は回路とすることができる。例えば、測位装置128は、三角測量、及び/又は、携帯中継塔やWiFiホットスポットへの近接、及び/又は、その他の好適な位置判定技術を使用して、IPアドレスに基づき、衛星ナビゲーション測位システム(例えば、GPSシステム、ガリレオ測位システム、グローバルナビゲーション衛星システム(Global Navigation satellite system:GLONASS)、BeiDou衛星ナビゲーション測位システム)、慣性ナビゲーションシステム、デッドレコニングシステムを使用して、実際の位置又は相対的な位置を判定することができる。
【0050】
プレーヤーがクライアント120と共に実世界を動き回ると、測位装置128は、プレーヤーの位置を追跡し、プレーヤーの位置情報をゲーミングモジュール125に提供する。ゲーミングモジュール125は、実世界におけるプレーヤーの実際の位置に基づき、仮想世界におけるプレーヤーの位置をアップデートする。特に、仮想世界におけるプレーヤーの位置は、実世界におけるプレーヤーの位置に対応するものとすることができる。ゲーミングモジュール125は、ユニバーサルゲームモジュール112がゲームを通じてプレーヤーの位置を追跡し続けるように、ネットワーク130を通じてゲームサーバ119にプレーヤーの位置情報を提供することができる。
【0051】
ネットワーク130は、ローカルエリアネットワーク(例えば、イントラネット)、ワイドエリアネットワーク(例えば、インターネット)、又はこれらの何らかの組み合わせ等、任意の種別の通信ネットワークとすることができる。このネットワークは、クライアント120とゲームサーバ110との間の直接的な接続も含むことができる。通常、ゲームサーバ110とクライアント120との間の通信は、任意の種別の有線、及び/又は、無線接続を使用し、様々な通信プロトコル(例えば、TCP/IP、HTTP、S1v1TP、FTP)、符号化又はフォーマット(例えば、HTML、JSON、XML)、及び/又は、保護方式(例えば、VPN、セキュアHTTP、SSL)を使用して、ネットワークインタフェースを介して実施可能である。
【0052】
本明細書において検討する技術は、サーバ、データベース、ソフトウェアアプリケーション、及びその他のコンピュータベースシステムとともに、とられた行動およびこのようなシステムとの間で送られた情報を参照する。当業者は、コンピュータベースシステムに本来備わった柔軟性により、構成間で様々なタスクの構成、組み合わせ、及び分割が可能となることを認識するであろう。例えば、本明細書において検討されるサーバの処理は、単一のサーバ、又は、組み合わせで動作する多数のサーバを使用して実装されてもよい。データベース及びアプリケーションは、単一のシステム上に実装されてもよく、又は多数のシステムに分配されてもよい。分配された構成要素は、順次、又は、並行して動作してもよい。
【0053】
また、本明細書において検討するシステム及び方法が、位置情報等、ユーザについての個人情報にアクセス及び解析するか、個人情報を使用する状況において、ユーザには、プログラム又は機能が情報を収集するか否かを制御し、システム又は他のアプリケーションからコンテンツを受信するか否か、及び/又は、いかにして受信するかを制御する機会が与えられてもよい。ユーザに、何の情報が収集され、いかにしてその情報が使用されるかについて、意味のある通知が提供されるまで、このような情報又はデータは、収集又は使用されることはない。この情報は、ユーザの同意がなければ、収集又は使用されることはなく、この同意もユーザによって随時無効化又は変更可能である。従って、ユーザは、ユーザについての情報がいかにして収集されるのか、アプリケーション又はシステムによっていかにして使用されるのかを制御することができる。また或る情報又はデータを、記憶又は使用前に1つ以上の方法で取り扱うことができ、個人を識別可能な情報を除外するようにする。例えば、ユーザの同定は、ユーザのために個人を識別可能な情報が判定できないように取り扱われてもよい。
【0054】
<例示的なゲームインタフェース>
図3は、プレーヤーとゲーミングシステム100との間のインタフェースの一部として、クライアント120のディスプレイに提示可能なゲームインタフェース300の特定の一実施形態を示している。ゲームインタフェース300は、仮想世界210におけるプレーヤーの位置222、仮想要素230の位置、仮想アイテム232の位置、及び仮想エネルギー250の位置といった、仮想世界210とゲームの様々な態様とを表示するのに使用可能な表示ウィンドウ310を備える。ユーザインタフェース300は、ゲームデータ情報、ゲーム通信、プレーヤー情報、及びゲームに関連付けられた他の情報といった、他の情報も表示可能である。例えば、ユーザインタフェースは、プレーヤーの名前、経験レベル、及び他の情報といった、プレーヤー情報315を表示することができる。ユーザインタフェース300は、種々のゲーム設定及びゲームに関連付けられた他の情報およびにアクセスするためのメニュー320を備えることができる。ユーザインタフェース300は、ゲームシステムとプレーヤーとの間および位置ベースゲームの1名以上のプレーヤー間で、通信を可能にする通信インタフェース330も備えることができる。
【0055】
本開示の態様によると、プレーヤーは、単に実世界でクライアントデバイスを携帯することにより、位置ベースゲームと相互作用することができる。例えば、プレーヤーは、単に、スマートフォン上で位置ベースゲームに関連付けられたアプリケーションにアクセスし、そのスマートフォンを持って実世界を動き回ることにより、位置ベースゲームをプレイすることができる。この点に関して、プレーヤーは、位置ベースゲームをプレイするために、表示画面上の仮想世界の視覚的表現を見続ける必要はない。結果として、ユーザインタフェース300は、ユーザがゲームと相互作用できるように、複数の非視覚的要素を含むことができる。例えば、ゲームインタフェースは、プレーヤーがゲーム内の仮想要素又はオブジェクトに接近しているとき、又は位置ベースゲーム内で重要なイベントが起こるとき、プレーヤーに聴覚通知を提供することができる。プレーヤーは、オーディオコントロール340でこのような聴覚通知を制御することができる。仮想要素又はイベントの種別に応じて、異なる種別の聴覚通知をユーザに提供することができる。聴覚通知は、プレーヤーの仮想要素又はオブジェトに対する近接に応じて、周波数又は音量を増減させることができる。振動通知又はその他好適な通知、又は信号等、ユーザに他の非視覚的通知及び信号を提供することができる。
【0056】
当業者は、本明細書において提供される開示を使用して、本開示に照らすと、多数のゲームインタフェースの構成と基礎となる機能が明らかとなることを理解しなければならない。本開示は、いずれか特定の一構成に限定されることが意図されるものでない。
【0057】
<例示的なキャラクター移動モジュール>
図4は、図1のゲームサーバ110のキャラクター移動モジュール116の一実施形態を示す。図4に示される実施形態において、キャラクター移動モジュール116は、経路判定モジュール410、移動時間判定モジュール420、近接表示モジュール430、拡張現実モジュール440、キャラクター外観モジュール450、目的地継続時間モジュール460、アイテム収集モジュール470、及びローカルデータストア480を備える。他の実施形態において、キャラクター移動モジュール116は、異なる、及び/又は、追加の要旨を含む。また、これらの機能は、記載とは異なる方法で各要素に分配されてもよい。
【0058】
経路判定モジュール410は、仮想キャラクターがその所望の目的地に到達する際に移動するルート(すなわち、移動経路)と、その目的地から出発点となったプレーヤーのところまで戻る際にとるルートとを判定する。経路判定モジュール410は、判定した経路をキャラクター移動モジュール116の1つ以上の他のモジュールに出力する。経路判定モジュール410は、移動経路を判定するために、ゲームデータ及び実世界状況を使用してもよい。ゲームデータは、ゲームサーバ110のゲームデータベース115に由来する。経路判定モジュール410は、仮想世界中のランドマーク及び他の仮想要素の位置、又は過去に移動した他の仮想キャラクターからの移動経路等のゲームデータを使用してもよい。経路判定モジュール410は、仮想キャラクターの移動経路を判定するため、実世界におけるビジネス及びその他の関心地点の気象又は位置等、実世界の状況を使用してもよい。
【0059】
一実施形態において、移動経路は、実世界に存在する潜在的な地理的障害物については考慮に入れず、キャラクターの出発地点から所望の目的地までの直線(すなわち、球面状世界における円弧)である。例えば、仮想キャラクターは、直線(すなわち、A市の或る地点とB市の或る地点との間の世界の球状表現の最短円弧)に沿って、その経路に交わる建物、山、川等に関わらず、A市の或る地点からB市の或る地点まで移動してもよく、仮想世界では動きを妨げられることなく、これらを通過して単純に移動する。
【0060】
他の実施形態において、移動経路は、キャラクターが移動してもよい通過可能な道(例えば、ゲームデータベース115に記憶される)に制限されてもよい。この通過可能な道は、予め設定されている(例えば、マップ上に示された道路及び経路)か、又は、プレーヤー位置データから推定されてもよい。通過可能な道は、プレーヤーが以前に移動したことのあるルートを特定することにより、プレーヤー位置データから推定されてもよい。例えば、プレーヤーが公園を横切る際のGPS座標のセットは、各GPS座標を繋げて線を形成することで、通過可能な道として推定可能である。推定された通過可能な道は、その通過可能な道を最初に通過した時間の限定期間、例えば、1時間以内、1日以内、1週間以内、又は1か月以内等の間、有効であってもよい。この通過可能な道が厳密にはいかにして規定されたかということに関わらず、これらは、仮想キャラクターが移動してもよい道のネットワークであると集合的に規定するものであり、道が交差する(又は、互いの閾値距離内に来る)地点でのみ道を変更する。従って、経路判定モジュール410は、出発地点から目的地への通過可能な道のネットワークを通じて経路を発見することにより、キャラクターの移動経路を判定してもよい。例えば、経路判定モジュール410は、通過可能な道のネットワークを通じて最短経路を発見し、それを移動経路として選択してもよい。他の例として、通過可能な道がマップ上の道路及びその他のルートである場合、ルートは、実世界のルーティングアルゴリズムを使用して判定されてもよい。
【0061】
さらに他の実施形態において、経路判定モジュール410は、実世界におけるランダムなGPS座標を集めたものを使用して、出発地点から所望の目的地までの移動経路を生成し、キャラクターが任意の経路によって仮想世界中の各座標表現に移動することを要求してもよい。ランダムに選択されたGPS座標は、出発位置及び目的地のおおよそ周辺における領域に制限されてもよい。例えば、GPS座標は、出発地点、目的地、又はそれらの間の直線ルートから閾値距離(例えば、300メートル)以内の領域に制限されてもよい。
【0062】
移動時間判定モジュール420は、キャラクターが出発地点からその目的地まで移動するのに掛かる時間を判定する。移動時間判定モジュール420は、仮想キャラクターの1つ以上の移動速度を使用して、特定の距離を移動するのに掛かる時間を判定する。移動時間判定モジュール420は、経路判定モジュール410から経路情報を受け取り、ゲームデータベース115又は実世界状況データベース117から情報を検索して、キャラクターの移動速度を判定する。
【0063】
一実施形態において、移動速度は、すべてのキャラクターについて一定である。或いは、各キャラクターに移動速度が割り当てられてもよい。これらのような場合、キャラクターの移動時間は、ルートの長さを速度で割ることで判定される。他の実施形態において、キャラクターの速度は、1つ以上の外的要因に影響を受けてもよい。例えば、ルートの異なる箇所で異なる速度(これは、キャラクターのデフォルト速度に対する絶対値又は変更因子として表現されてもよい)を有してもよい。ルートのある箇所での速度がルートのその箇所に対応する実世界の地理(例えば、道路に沿ったルートの箇所、川を超える箇所、建物内の箇所等)に影響を受けてもよい。ルートの或る箇所の速度は、そのルートのその箇所が通り抜ける実世界の領域に対する気象データの影響も受けてよい(例えば、キャラクターの速度は、雨の場合10%、雪の場合20%遅くなる等)。複数の外的要因が組み合わせられて、ルートの或る箇所の最終速度に影響してもよい(例えば、雨の場合、道路に沿って移動するキャラクターよりも、野原を横切るキャラクターの速度をより低下させてもよい)。ルートの或る箇所での速度がいかにして判定されるかに関わらず、移動時間判定モジュール420は、ルートの各箇所の長さを対応する速度で割って、結果を足し合わせることによって合計移動時間を判定する。
【0064】
実施形態によっては、移動時間判定モジュール420の出力は、キャラクターの出発に先立って判定されるか、又は動的にアップデートされてもよい。例えば、移動時間判定モジュール420は、仮想キャラクターが時速60マイルの一定速度で実世界の40マイルと同等の距離を移動していることから、仮想キャラクターは目的地に移動するまで40分かかる旨、出力してもよい。この例は、一定の移動時間及び一定の速度を含む一定の出力を構成している。しかしながら、別の例では、移動時間判定モジュール420は、新たなゲーム及び実世界の状況に直面する際、キャラクターの行路に沿って数回アクティブになってもよい。この例において、キャラクターは、厳しい気象を経験する位置を通ってその経路に沿って移動してもよく、結果として、移動時間判定モジュール420は、この位置でのキャラクターの速度を動的に低下させ、出発後に合計移動時間を増加させる。
【0065】
近接表示モジュール430は、実施形態によっては、仮想キャラクターから閾値距離内に居るいずれかのプレーヤーが、移動中であるか、又は仮想キャラクターが付近に居る自らの所望の目的地に居るとき、通知を送る。便宜上、ある位置から閾値距離(例えば、50メートル)内にあるプレーヤー又は仮想キャラクターをその位置「に」居るものという。プレーヤー又はキャラクターがある位置に居ると判定される閾値は、文脈によって変動してもよい。一実施形態において、他のプレーヤーには、仮想キャラクターが到着してから帰還するまでの間の時間、目的地に居る仮想キャラクターが見えるだけであってもよい。他の実施形態において、プレーヤーは、キャラクターがその目的地との途中に居るときに追加的又は代替的にそのキャラクターが見えてもよい。これができるようにするには、近接表示モジュール430は、経路判定モジュール420からの入力を受け、仮想キャラクターがその移動経路上のどこに現在位置しているのかを判定する。現在キャラクターが位置するところから閾値距離内に他のプレーヤーが居る場合、そのキャラクターの視覚的表現をそのプレーヤーのクライアント120に表示してもよい。いくつかの実施形態において、近接表示モジュール430は、キャラクターの現在位置又は(移動経路に基づいて)予測される位置から閾値距離内に居るプレーヤーのクライアント120に送るプッシュ通知を生成し、そのプレーヤーに新たな仮想キャラクターが付近に居ることを知らせ、ゲームを開始するよう促してもよい。
【0066】
拡張現実モジュール440は、拡張現実環境において仮想キャラクターを付近のプレーヤーに表示する。一実施形態において、移動中の仮想キャラクター付近にいるプレーヤーは、自身のクライアント120上でゲームの拡張現実モードを入力してもよい。このモードでは、デバイスのカメラで撮影した画像が画面に表示され、仮想キャラクターがまるでその場に物理的に存在するかのように、移動中のキャラクターの仮想表現等、1つ以上の仮想要素と重ね合わせられる。仮想キャラクターがその目的地に向かって、又はその目的地から移動中の場合、拡張現実モジュール440は、その移動経路に沿って移動している(例えば、歩いている、走っている、飛んでいる等)キャラクターの視覚的表現を描画してもよい。従って、プレーヤーは、その目的地までそのキャラクターに着いていくこともできる。仮想キャラクターが送られた場所である遠隔位置に存在する場合、固定位置(例えば、仮想キャラクターが送られた関心地点)として描画されてもよく、その位置の周辺の所定ルートに沿って移動しているように描画されてもよく、又はその位置の近傍を(例えば、関心地点から50メートル等、閾値距離内)ランダム又は疑似ランダム的に移動しているように示されてもよい。キャラクターがいかにして移動するかは、その位置の3Dマップから判定されてもよい(例えば、キャラクターは、既知の障害物を回避しながら歩き回ってもよい)。
【0067】
キャラクター外観モジュール450は、移動中の仮想キャラクターの外観属性を判定してもよい。一実施形態において、キャラクター外観モジュール450は、経路判定モジュールからの入力を受け、キャラクターがその移動経路上のどこに居るのか、又はどこに居たのかを判定する。このモジュールも、ゲームデータ及び実世界状況を考慮して、仮想キャラクターの外観を判定する。例えば、仮想キャラクターが現在フランスを移動していれば、バゲットを手にするか、ベレー帽を被って現れるようにしてもよく、またキャラクターが現在移動している位置で雨が降っていれば、レインコートを着るか、傘を持つか、又は濡れた状態で現れるようにしてもよい。キャラクター外観モジュール450もまた、仮想キャラクターから閾値距離内(又は、仮想キャラクターのとった移動経路から閾値距離内)にあるビジネス及びその他の関心地点について、(例えば、ゲームデータベース115又は実世界状況データベース117から)データを取ってもよい。キャラクター外観モジュール450は、周辺のビジネス及び関心地点、又はキャラクターが移動中に通り過ぎたビジネス及び関心地点に関連するように、キャラクターの外観を変更してもよい。例えば、キャラクターは、ウォーターパーク付近に居れば水着を着ていてもよく、現在の位置までの途中にキャンディストアを通り過ぎれば、ロリポップを手にしていてもよい。
【0068】
目的地継続時間モジュール460は、仮想キャラクターがその所望の目的地に留まる継続時間を判定する。一実施形態において、出発地点となったプレーヤーは、仮想キャラクターに移動をリクエストした時に、移動するキャラクターの所望の目的地での滞在継続時間を判定してもよく、この情報が目的地継続時間モジュール460によって記憶及び実行される。例えば、或るプレーヤーは、仮想キャラクターのために所望の目的地を選び、1時間そこに留まるように指示してもよい。この継続時間は、ゲーム要素又は実世界の状況によっても判定されてよい。仮想キャラクターの目的地での滞在継続時間を決定し得るゲーム要素には、その仮想キャラクターがプレーヤー、他の仮想キャラクター、又は関心地点のアイテム等の他の仮想要素と相互作用した回数が含まれてもよい。仮想キャラクターの目的地での滞在継続時間を決定し得る実世界の状況には、気象、地形、又は目的地におけるプレーヤーの存在が含まれてもよい。仮想キャラクターは、目的地での滞在継続時間を判定した、出発地点のプレーヤーによって設定された目標を有してもよい。このような目標は、移動のリクエスト中に出発地点のプレーヤーによって設定され、収集するアイテムの必要数、相互作用するプレーヤーの数、又はその他の目標が含まれてもよい。
【0069】
アイテム収集モジュール470は、キャラクターが移動中、及び、その所望の目的地に居る間に、アイテムを収集することができるようにする。アイテム収集モジュール470は、仮想キャラクターの現在位置から閾値距離内に仮想アイテムを検索し、キャラクターは特定された仮想アイテムを拾うことができる。仮想キャラクターは、出発地点のプレーヤーのもとに戻る間に収集した仮想アイテムを持って行ってもよく、その後、出発地点のプレーヤーは、これらのアイテムをアイテム目録に追加することができる。一実施形態において、キャラクターは、移動中に閾値距離内を通過した任意のアイテムを(可能であれば、そのキャラクターが運ぶことのできる最大数まで)拾うことができる。他の実施形態において、出発地点のプレーヤーは、そのプレーヤーがキャラクターに拾って欲しい特定のアイテム、又は、アイテム種別を指定してもよく、キャラクターは、指定されたアイテム、又は、アイテム種別のみを拾うこととなる。
【0070】
ローカルデータストア480は、キャラクター移動モジュール116の他の構成要素によって使用されるデータを記憶するように構成された1つ以上のコンピュータ可読媒体を備える。一実施形態において、ローカルデータストア480は、仮想キャラクターのとる行為のリストを記憶し、これらの行為のゲームデータベース115への書き込みが失敗した場合、その行為が後に上書きできるようにする。同様に、行為が直ちに、又は、後に(例えば、出発地点のプレーヤーがゲームを終了した場合、そのキャラクターの行為のアップデートは、プレーヤーがゲームを次に開始した時に送信されてもよく、仮想キャラクターが行路を完遂したり、リクエストされたアイテムを発見したりというような、重要なタスクを実施した場合、プッシュ生成がなされて、クライアント120に送られてもよい)出発地点のプレーヤーのクライアント120に送信されてもよい。当業者は、ゲーミング体験のパフォーマンス、又は、ロバスト性を向上すべく、ローカルデータストア480に他の形式のデータが記憶されてもよいことを認識してもよい。
【0071】
<例示的なキャラクター移動プロセス>
図5は、仮想キャラクターが遠隔の仮想位置に移動する方法500を示すフローチャートである。図示の実施形態において、ゲームサーバ110は、仮想世界に関連付けられた並行現実ゲームをホストする(510)。並行現実ゲームでは、仮想キャラクターを制御し、クライアントデバイス(すなわち、スマートフォン、タブレット等)を使用して、アイテムと相互作用したり、これを収集することのできるプレーヤーが存在する。サーバ110は、並行現実ゲームのプレーヤーのクライアント120からリクエストを受信し、仮想キャラクターを遠隔位置(例えば、プレーヤーが現在位置していない実世界上の位置における仮想表現)に送る(520)。ゲームサーバ110のキャラクター移動モジュール116は、キャラクターがそのサブモジュールとともに移動できるようにする。
【0072】
経路判定モジュール410は、キャラクターがその所望の目的地(すなわち、遠隔位置)に到達するためにとる移動経路を判定する(530)。移動時間判定モジュール420は、仮想キャラクターが遠隔位置に到達するのにかかる移動時間を判定する(540)。移動時間は、キャラクターのデフォルト速度、移動経路に沿った地理的特徴、移動経路に沿った気象、及びプレーヤーが以前にとった経路等、1つ以上の要因の影響を受けてもよい。判定された移動時間の継続後、経路判定モジュール410は、仮想キャラクターが遠隔位置に到着したと判定する(540)。近接表示モジュール430は、その後、遠隔位置に位置する他のプレーヤーに仮想キャラクターを表示する(550)。いくつかの実施形態において、仮想キャラクターは、目的地までの途中に居る間にも、他のプレーヤーに表示されてもよい。
【0073】
図5は、仮想キャラクターが移動する途中に発生し得るすべてのステップを総合的に表示したものではない。ステップの一部は異なる順に実施されてもよく、並行して実施されてもよく、又は全く実施されなくてもよい。さらに、この方法には、上述のプロセスフロー前、プロセスフロー中、又はプロセスフロー後に、他のモジュール及びステップを使用することが含まれてもよい。例えば、仮想キャラクターが遠隔位置に移動している間、その外観は、実世界の状況及びゲームデータから引き出されるキャラクター外観モジュール450に基づいて変更されてもよい。仮想キャラクターは、移動の間、及び、目的地継続時間モジュール460によって判定される遠隔位置に居る持続時間中、アイテム収集モジュール470を使用してアイテムを収集してもよい。さらに、仮想キャラクターは、拡張現実モジュール440を使用して、遠隔位置の他のプレーヤーに表示されてもよく(550)、仮想キャラクターの移動に関連付けられたいずれのデータもローカルデータストア480に記憶される。
【0074】
一旦キャラクターが出発地点のプレーヤーによって特定された遠隔位置に移動し、判定された持続時間中、その位置に留まると、キャラクターがそこに到達するのにとったのと同じ経路、又は、経路判定モジュール410が判定した異なる経路に沿って、出発地点のプレーヤーのもとに戻ってもよい。移動時間判定モジュール420は、仮想キャラクターの移動時間と、出発地点のプレーヤーに戻る速度とをさらに判定する。仮想キャラクターを目的地に移動させることのできるいずれのモジュールも、仮想キャラクターを出発地点のプレーヤーの位置まで戻すことができてもよい。ゲームデータベース115は、同一、又は、他のキャラクターが後に移動できるように、仮想キャラクターの移動に関連付けられたデータを記憶する。
【0075】
<例としての演算装置アーキテクチャ>
図6は、機械可読媒体から命令を読み取り、プロセッサ(又はコントローラ)内でそれらを実行可能な例としての機械の構成要素を示すブロック図である。具体的には、図6は、コンピュータシステム600の例としての形態における機械の図示表現を示している。コンピュータシステム600を使用して、ゲームサーバ110及び/又はクライアント120の構成要素(又はモジュール)との関連で合わせて説明したものを含む、本明細書中に記載の方法論(又はプロセス)のいずれか1つ以上を機械に実施させるための命令624(例えば、プログラムコード又はソフトウェア)を実行することができる。
【0076】
この機械は、その機械によってとられる行為を特定する命令624を実行可能な、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(personal computer:PC)、タブレットPC、セットトップボックス(set-top box:STB)、スマートフォン、ネットワークルータ、スイッチ又はブリッジ、携帯電話中継塔、又は任意の機械であってもよい。さらに、単一の機械のみを示したが、「機械」という用語は、本明細書中に検討された方法論のうちのいずれか1つ以上を実施するために命令624を個々に、又は、共同して実行する複数の機械の集合も含んで捉えられるべきである。
【0077】
例としてのコンピュータシステム600は、1つ以上の処理部(一般的に、1つ以上のプロセッサ602)を備える。プロセッサ602は、例えば、中央処理装置(central processing unit:CPU)、グラフィクス処理装置(graphics processing unit:GPU)、デジタル信号プロセッサ(ditital signal processor:DSP)、コントローラ、ステートマシン、1つ以上の特定用途向け集積回路(application specific integrated circuits:ASICs)、1つ以上の無線周波数集積回路(radio-frequency integrated circuits:RFICs)、又はこれらの任意の組み合わせである。本明細書中でのプロセッサ602についての言及はいずれも、単一のプロセッサ又は複数のプロセッサをいうものであってよい。コンピュータシステム600は、メインメモリ604も備える。コンピュータシステムは、記憶部616を備えてもよい。プロセッサ602、メモリ604、及び記憶部616は、バス608を介して通信する。
【0078】
またコンピュータシステム600は、静的メモリ606、ディスプレイドライバ610(例えば、プラズマディスプレイパネル(plasma display panel:PDP)、液晶ディスプレイ(liquid crystal display:LCD)、又はプロジェクタ)を備えることができる。コンピュータシステム600は、英数字入力装置612(例えば、キーボード)、カーソル制御装置614(例えば、マウス、トラックボール、ジョイスティック、モーションセンサ、又は他のポインティングデバイス)、信号生成装置618(例えば、スピーカ)、及びネットワークインタフェース装置620も備えてよく、これらもバス608を介して通信するように構成される。
【0079】
記憶部616は、本明細書に記載の方法論又は機能のうちのいずれか1つ以上を実現する命令624(例えば、ソフトウェア)を記憶した機械可読媒体622を備える。命令624は、コンピュータシステム600による実行中、完全又は少なくとも一部がメインメモリ604又はプロセッサ602内(例えば、プロセッサのキャッシュメモリ内)に存在し、これらメインメモリ604及びプロセッサ602も機械可読媒体を構成している。命令624は、ネットワークインタフェース装置620を介して、ネットワーク670を通じて送受信されてもよい。
【0080】
機械可読媒体622について、例としての実施形態においては、単一の媒体として示したが、「機械可読媒体」という用語は、命令624を記憶可能な単一の媒体又は複数の媒体(例えば、集中型又は分散型のデータベース、又は関連のキャッシュ又はサーバ)を含むものとして捉えられなければならない。「機械可読媒体」という用語は、機械によって実行されるように命令624を記憶可能であり、本明細書に開示の方法論のうちのいずれか1つ以上を機械に実施させるいずれかの媒体を含むものとしても捉えられるべきである。「機械可読媒体」という用語は、固体メモリ、光学媒体、及び磁気媒体の形態のデータリポジトリを非限定的に含む。
【0081】
<追加の考慮事項>
以上の説明の一部は、アルゴリズムプロセス又は演算に関する実施形態を説明するものであった。これらのアルゴリズムの説明及び表現は、演算分野の当業者が同分野の他の当業者に効果的に自らの作業を伝達する際に共通して使用されるものである。これらの演算は、機能的、計算的、又は論理的に説明されているが、プロセッサ、又は同等の電気回路、マイクロコード等によって実行される指示を備えたコンピュータプログラムによって実装されるものと理解される。さらに、時として、一般性を失うことなく、これらの機能演算の段取りをモジュールと称することが便利であることも証明されている。
【0082】
本明細書において使用される「一実施形態」「実施形態」という任意の言及は、その実施形態との関連で説明された特定の要素、特徴、構造、又は特性が少なくとも1つの実施形態に含まれることを意味する。本明細書中の種々の箇所に「一実施形態において」というフレーズが現れるのは、必ずしもすべて同一の実施形態をいうものでない。同様に、要素又は構成要素に先立って不定冠詞を使用するのは、単に便宜的理由によるものである。この記載は、否定する内容が明らかにされていない限り、それらの要素又は構成要素のうちの1つ以上が存在することを意味するものと理解されなければならない。
【0083】
値が「約」や「略」(又はこれらの派生語)として記載される場合、このような値は、文脈から他の意味が明らかでない限り、精密には±10%として解釈されるべきである。例えば、「約10」は、「9~11の範囲内」という意味であると理解されなければならない。
【0084】
本明細書において使用される用語の「備える」「備えている」「含む」「含んでいる」「有する」「有している」又はこれらの他の任意の変化形は、非排他的包含を網羅するものと意図されている。例えば、ある要素のリストを備えるプロセス、方法、物、又は装置は、必ずしもこれらの要素のみに限定されるものでなく、明示的に列挙されていないか、又はこのようなプロセス、方法、物、装置に対して本来備わっている他の要素も含んでよい。さらに、反対の内容が明示的に言及されない限り、「又は」は、包含的な「又は」をいうものであって、排他的な「又は」ではない。例えば、条件A又はBは、以下のいずれかによって満たされる。すなわち、Aが真(又は存在する)でBが偽(又は存在しない)である、Aが偽(又は存在しない)でBが真(又は存在する)である、および、AもBも真である(又は存在する)のいずれかによって満たされる。
【0085】
本主題について特定の例示的な実施形態及びその方法を参照して詳細に説明してきたが、当業者は、前述についての理解を達成すれば、このような実施形態に対する代替物、変更物、及び同等物を容易に作成され得ることが理解されるであろう。従って、本開示の範囲は、例として述べられたものであり、限定として述べられたものでなく、本主題の開示は、当業者にとって容易に明らかとなるような本主題に対する修正、変更、及び/又は追加の包含を排除するものでない。
図1
図2
図3
図4
図5
図6