(58)【調査した分野】(Int.Cl.,DB名)
更に、前記クライアントコンピューティングプラットフォームにおいて、前記仮想空間の前記二次元描写内の終点選択を受信し、前記一又は複数の所定の進路の各々は前記終点選択に基づいて決定される請求項1の方法。
更に、前記仮想空間の前記二次元描写内の終点選択を受信するよう構成された到達点モジュールを備え、前記一又は複数の所定の進路の各々は前記終点選択に基づいて決定される請求項8のシステム。
【発明の概要】
【0003】
本発明の一態様は、別々のクライアントコンピューティング装置を介して仮想空間の単一のインスタンスの二次元または三次元表示を可能とするシステム及び方法に関する。これは、仮想空間へのアクセス性を拡張し得る。結果として、インターフェイスとして接続する仮想空間の次元にかかわらず、ユーザが相互に交流することを可能とし得る。その他、非限定的な例として、単一のユーザが、クライアントコンピューティング装置上では仮想空間のインスタンスの三次元描写にアクセスし、あまり高性能でないクライアントコンピューティング装置(例えば、モバイルデバイス)上では仮想空間のインスタンスの二次元描写にアクセスすることも考えられる。
【0004】
システムは、仮想空間サーバを含む。仮想空間サーバは、一又は複数の通信チャネルを介して一又は複数のクライアントコンピューティングプラットフォームと通信するよう構成される。仮想空間サーバは、一又は複数のコンピュータプログラムモジュールを実行するよう構成される。コンピュータプログラムモジュールとしては、一又は複数の仮想空間モジュール、ユーザモジュール、進路決定モジュール、及び/又は他のモジュールが含まれる。
【0005】
仮想空間モジュールは、仮想空間のインスタンスを実装し、仮想空間のビジュアル描写を決定するよう構成される。こうした描写の表示を可能とするために構成された仮想空間情報は、ユーザに表示するために、仮想空間サーバから一又は複数のクライアントコンピューティングプラットフォームへ通信される。決定され、所定のクライアントコンピューティングプラットフォームへ送信された仮想空間情報は、所定のクライアントコンピューティングプラットフォームを介してユーザによって操作されているユーザキャラクタに対応するものであり、及び/又は、当該ユーザキャラクタを含む。
【0006】
ユーザモジュールは、システムのユーザに関係する一又は複数のユーザプロファイルにアクセスし、及び/又は、当該ユーザプロファイルを管理するよう構成される。ユーザプロファイルは、例えば、仮想空間内でユーザを識別する情報、仮想空間アカウント情報、仮想空間使用情報、及び/又はその他のユーザに関する情報を含む。一又は複数のユーザプロファイルは、仮想空間サーバ、一又は複数のクライアントコンピューティングプラットフォーム、及び/又は他の記憶する場所によって格納された情報を含む。
【0007】
進路決定モジュールは、仮想空間の二次元描写を見るユーザに関係するユーザキャラクタが、仮想空間の三次元描写でたどる進路を決定するように構成される。進路決定モジュールは、以下で詳述する。
【0008】
各々のクライアントコンピューティングプラットフォームは、一又は複数のコンピュータプログラムモジュールを実行するよう構成される。コンピュータプログラムモジュールは、一又は複数の、通信モジュール、次元決定モジュール、表示モジュール、到達点モジュール、及び/又はその他のモジュールを含む。
【0009】
通信モジュールは、仮想空間情報を受信するよう構成され、例えば、仮想空間サーバから受信する。通信モジュールは、システムの一又は複数のコンポーネントに対して情報を送信するよう構成される。
【0010】
次元決定モジュールは、所定のクライアントコンピューティングプラットフォーム、ユーザプリファレンス、ユーザにより選択可能なセッティング、及び/又は他の要因に関係する一又は複数の尺度(metrics)に基づき、仮想空間描写を二次元または三次元で表示するかを決定するよう構成される。こうした尺度としては、例えば、所定のクライアントコンピューティングプラットフォームの計算能力、所定のクライアントコンピューティングプラットフォームに関する通信バンド幅、所定のクライアントコンピューティングプラットフォームに関するスクリーンの大きさ、及び/又は所定のクライアントコンピューティングプラットフォームに関する他の尺度または特徴を含む。
【0011】
表示モジュールは、所定のクライアントコンピューティングプラットフォームを介して仮想空間描写の表示を支援するよう構成される。一部の実施例に従えば、仮想空間描写は、次元決定モジュールの決定に基づき二次元または三次元で表示される。
【0012】
到達点モジュールは、所定のクライアントコンピューティングプラットフォームに関係するユーザキャラクタにとっての終点選択(end-point selection)を受信するよう構成される。終点は、ユーザキャラクタにとっての仮想空間内の空間的な到達点である。到達点モジュールは、クライアントコンピューティングプラットフォームを介してユーザに表示されるインターフェイスを介して終点選択を受信する。終点選択は、座標、場所、 お気に入りの場所のセット、他のユーザキャラクタの位置、(動いている、及び/又は静止している)オブジェクト、及び/又は仮想空間内の位置を示す他の情報を含む。終点選択は、以下で詳述するように、仮想空間の三次元描写でのこうしたユーザキャラクタのための一又は複数の進路を決定するために、仮想空間サーバの進路決定モジュールによって用いられる。
【0013】
再び仮想空間サーバの進路決定モジュールに関し、当該進路決定モジュールはユーザキャラクタが仮想空間の三次元描写内でたどる一又は複数の進路を決定するように構成される。進路は、仮想空間の二次元描写を見るユーザに関係するユーザキャラクタのために決定される。一部の実施例では、一又は複数の進路の各々は、クライアントコンピューティングプラットフォームの到達点モジュールにより受信される終点選択、ユーザセッティング、仮想空間内のユーザの関係性、ユーザによる過去の使用パターン、及び/又は他の情報に基づいて自動的に決定される。所定の進路は、静的、動的、及び/又は確率的に選択される。
【0014】
仮想空間サーバから受信する仮想空間情報は、仮想空間が二次元または三次元のいずれで描写されるかについて不知である(agnostic)。即ち、クライアントコンピューティングプラットフォームによって表示される仮想空間描写の次元にかかわらず、同一の仮想空間情報がクライアントコンピューティングプラットフォームに送られる。それゆえ、仮想空間の二次元描写及び三次元描写のユーザが、交流し、仮想空間の単一のインスタンスに参加することができる。より具体的には、仮想空間の二次元描写のユーザは、仮想空間の二次元描写の範囲内で、仮想空間の三次元描写のユーザと交流することができるようにされている。反対に、仮想空間の三次元描写のユーザは、仮想空間の三次元描写の範囲内で、仮想空間の二次元描写のユーザと交流することができるようにされている。
【0015】
本発明の上記及び上記以外の特徴及び性質、並びに、関連する構成要素及び各部分の組み合わせの動作方法及び機能、及び、製造の経済性については、添付図面を参照しつつ以下の詳細な説明と添付の特許請求の範囲を検討することによってさらに明らかになる。これらはいずれも本明細書の一部を構成する。本明細書においては、様々な図面において関連する部分は類似の参照符号によって示される。添付図面は例示及び説明のためのものであり、本発明の発明特定事項の定義として用いることは意図されていない。本明細書及び特許請求の範囲における用法によれば、単数形の「a」、「an」及び「the」には複数のものへの言及が含まれるが、文脈上別に解すべきことが明白な場合はこの限りでない。
【発明を実施するための形態】
【0018】
図1は、一又は複数の実施例に従って、クライアントコンピューティングプラットフォームを介して二次元または三次元で仮想空間の単一のインスタンスを表示するよう構成されたシステム100を示す。こうした仮想空間の例としては、仮想世界、ビデオゲーム、ソーシャルゲーム、及び/又はその他の仮想空間を含む。本発明は、文脈上、仮想空間の二次元及び三次元表示として説明されるが、これは,仮想空間の他の表示について考慮することを制限する意図でない。例えば、仮想空間はテキストの形式で描写しても良い。一部の実施例では、システム100は仮想空間サーバ102を含む。仮想空間サーバ102は、クライアント/サーバアーキテクチャに従って一又は複数のクライアントコンピューティングプラットフォーム104と通信するよう構成される。ユーザは、クライアントコンピューティングプラットフォーム104を介してシステム100及び/又は仮想空間にアクセスする。
【0019】
仮想空間サーバ102は、一又は複数のコンピュータプログラムモジュールを実行するよう構成される。コンピュータプログラムモジュールとしては、一又は複数の、仮想空間モジュール106、ユーザモジュール108、進路決定モジュール110、及び/又は他のモジュールが含まれる。
【0020】
仮想空間モジュール106は、仮想空間のインスタンスを実装し、仮想空間のビジュアル描写を決定するよう構成される。こうした描写を表示可能な仮想空間情報は、ユーザに表示するために、(例えば、ストリーミングを介して、オブジェクト/ポジションデータを介して、及び/又は他の情報を介して)仮想空間サーバ102からクライアントコンピューティングプラットフォーム104へと通信される。ここで、仮想空間情報が、仮想空間が二次元または三次元で描写されるかどうかについて知ることができないということは注目すべき点である。即ち、クライアントコンピューティングプラットフォーム104.により表示される仮想空間描写の次元にかかわらず、同一の仮想空間情報がクライアントコンピューティングプラットフォーム104に送られる。決定され、所定のクライアントコンピューティングプラットフォーム104へ送信された仮想空間情報は、所定のクライアントコンピューティングプラットフォーム104を介してユーザにより操作されるユーザキャラクタに対応するものであり、及び/又は当該ユーザキャラクタを含む。決定され、所定のクライアントコンピューティングプラットフォーム104へ送信された仮想空間情報は、仮想空間内の位置(例えば、描写を見ている位置、描写の位置、及び/又は他の位置)、ズーム倍率、オブジェクトの次元、視点、及び/又は視界パラメータ(view parameter)に対応するものとしても良い。一又は複数の視界パラメータはユーザによって選択可能とすることもできる。
【0021】
仮想空間のインスタンスは、クライアントコンピューティングプラットフォーム104を介してユーザによりアクセス可能な模擬空間を備え、この模擬空間がユーザに対して仮想空間描写を表示する。模擬空間は地形(topography)を持ち、一又は複数のユーザにより実行中のリアルタイム交流を表現し、及び/又は地形内での移動が可能であって地形内に位置する一又は複数のオブジェクトを含む。一部のインスタンスでは、地形は2次元地形である。他のインスタンスでは、地形は3次元地形である。地形は、模擬空間の次元、及び/又は模擬空間で「生まれた(native)」表面やオブジェクトの外観の特徴を含み得る。一部のインスタンスでは、地形は、少なくとも模擬空間の実体的な部分を覆う表面(例えば、地面)を描写する。一部のインスタンスでは、地形は、そこに位置する一又は複数の物体と共にその体積(例えば、一又は複数の天体が位置する重力に乏しい空間のシミュレーション)を記述する。ゲームのインスタンスは、同期的、非同期的、及び/又は半同期的とし得る。
【0022】
仮想空間の描写、及び/又はそれと関係する仮想空間情報が仮想空間モジュール106によって決定される方法についての上述した説明は、限定することを意図するものではない。仮想空間モジュール106は、仮想空間を、より制限的なまたは豊富な方法で表現するよう構成することもできる。例えば、仮想空間のために決定される描写は、仮想空間内の所定の場所におけるイベントを描写するグラフィクスの限られたセットから選択されるものとしても良い。描写は、比較的一般的なグラフィクスを超えて、その場所の現在の状態の詳細を記述する追加のコンテンツ(例えば、テキスト、オーディオ、事前記憶型のビデオコンテンツ、及び/又はその他のコンテンツ)を含むものとしても良い。例えば、描写は、立ちはだかる敵対者のテキストの記述を伴う一般的な戦闘グラフィクスを含むものとしても良い。仮想空間内の個々の場所の他の表現も考えられる。
【0023】
仮想空間モジュール106によって実行される仮想空間のインスタンスの範囲内で、ユーザは、仮想空間や他のユーザと相互に交流するために、キャラクターやオブジェクト、模擬的な物理現象(例えば、風、雨、地震、及び/又はその他の現象)、及び/又は仮想空間内の他の要素を操作する。ユーザキャラクタにはアバターが含まれる。ここで用いるように、「ユーザキャラクタ」という用語は、仮想空間内で表示し、個別のユーザを表現するオブジェクト(またはオブジェクトの集合)のことを指す。ユーザキャラクタは、関係するユーザにより操作される。ユーザ管理エレメントは、仮想空間内を移動し、仮想空間と交流する(例えば、仮想空間内のユーザでないキャラクター、及び/又は仮想空間内の他のオブジェクト)。所定のユーザにより操作され、及び/又は、所定のユーザに関係するユーザ管理エレメントは、その所定のユーザにより生成され、及び/又はカスタマイズされる。ユーザは、仮想商品及び/又は仮想通貨の「目録(inventory)」を持つことができる。仮想所品や仮想通貨は、ユーザが仮想空間内で(例えば、ユーザキャラクタや他のユーザ管理エレメント、及び/又は他のアイテムを取り扱うことによって)使用することができる。
【0024】
ユーザは、仮想空間内で利用可能な一又は複数のユーザ管理エレメントを操作することにより仮想空間のインスタンスに参加することができる。操作は、ユーザによるクライアントコンピューティングプラットフォーム104を介した操作入力、及び/又はコマンド入力を介して行われる。ユーザは、仮想空間内で交換される通信を通してお互いに交流することができる。こうした通信は、一又は複数の、テキストのチャット、インスタントメッセージ、プライベートメッセージ、音声通信、及び/又はその他の通信を含む。通信は、ユーザそれぞれのクライアントコンピューティングプラットフォーム104を介してユーザにより受信され入力される。通信は、仮想空間サーバ102を介して(例えば、仮想空間モジュール106を介して)適切なユーザから適切なユーザへと届けられる。
【0025】
ユーザモジュール108は、システム100のユーザに関する一又は複数のユーザプロファイルにアクセスし、及び/又は管理するよう構成される。一又は複数のユーザプロファイルは、仮想空間サーバ102、一又は複数のクライアントコンピューティングプラットフォーム104、及び/又はその他の記憶場所によって記憶されている情報を含む。ユーザプロファイルは、例えば、仮想空間内でユーザを識別する情報(例えば、ユーザ名またはハンドル、番号、識別子、及び/又はその他の識別する情報)、セキュリティログイン情報(例えば、ログインコード、またはパスワード)、仮想空間アカウント情報、サブスクリプション情報、仮想通貨アカウント情報(例えば、ユーザの信用として保持される通貨(currency held in
credit for a user)に関する)、関係性情報(例えば、ゲーム内のユーザ間の関係性に関する情報)、仮想空間の利用情報、ユーザに関する人口統計学情報、仮想空間内のユーザ間の交流履歴、ユーザにより述べられる情報、ユーザの購買情報、ユーザのブラウジング履歴、ユーザに関係するクライアントコンピューティングプラットフォーム識別情報、ユーザに関する電話番号、及び/又はユーザに関係するその他の情報を含む。
【0026】
進路決定モジュール110は、仮想空間の二次元描写のユーザに関するユーザキャラクタが仮想空間の三次元描写内でたどる一又は複数の進路を決定するよう構成されている。進路決定モジュール110については、以下でさらに説明する。
【0027】
各々のクライアントコンピューティングプラットフォーム104は、一又は複数のコンピュータプログラムモジュールを実行するよう構成される。コンピュータプログラムモジュールとしては、一又は複数の、通信モジュール112、次元決定モジュール114、表示モジュール116、到達点モジュール118、及び/又はその他のモジュールが含まれる。
【0028】
通信モジュール112は、仮想空間情報を受信するよう構成される。仮想空間情報は、仮想空間サーバ102、及び/又はシステム100のその他のコンポーネントから受信される。仮想空間情報は、個別のクライアントコンピューティングプラットフォーム104における仮想空間描写の表示を支援するよう構成される。それゆえ、仮想空間情報は、仮想空間の視界、オブジェクト/ポジション情報、及び/又は仮想空間の表示を支援するのに適したその他の情報を含む。通信モジュール112は、仮想空間サーバ102を含むシステム100の一又は複数のコンポーネントに対して情報を送信するよう構成される。
【0029】
次元決定モジュール114は、所定のクライアントコンピューティングプラットフォーム104やユーザプリファレンス、ユーザにより選択可能なセッティング、及び/又はその他の要因に関係する一又は複数の尺度に基づいて二次元または三次元で仮想空間描写を表示するかどうかを決定するよう構成される。こうした尺度としては、例えば、所定のクライアントコンピューティングプラットフォーム104の計算能力、所定のクライアントコンピューティングプラットフォーム104に関する通信バンド幅、所定のクライアントコンピューティングプラットフォーム104に関するスクリーンの大きさ、及び/又は所定のクライアントコンピューティングプラットフォーム104に関するその他の尺度または特徴を含む。
【0030】
通信バンド幅が尺度である一部の実施例によれば、次元決定モジュール114は、所定のクライアントコンピューティングプラットフォーム104に関係するネットワーク接続の一又は複数の特徴を検出するよう構成される。一部の実施例では、仮想空間サーバ102の一又は複数のコンピュータプログラムモジュール(例えば、仮想空間モジュール106)は、所定のクライアントコンピューティングプラットフォーム104に関係するネットワーク接続の一又は複数の特徴を検出するよう構成されている。こうした特徴としては、バンド幅(例えば、データ転送レート)がサービスプロバイダにより計測されるかどうか、データ転送量がサービスプロバイダにより計測されるかどうか、所定のクライアントコンピューティングプラットフォーム104に関係する接続タイプ、及び/又はネットワーク接続に関係するその他の特徴が含まれる。接続タイプの例としては、セルラー、WiFi、及び/又はその他の接続タイプを含む。一部の実施例では、仮想空間サーバ102は、ネットワーク接続の一又は複数の特徴を補うために、動的、及び/又は静的に、所定のクライアントコンピューティングプラットフォーム104に対するデータ転送量、及び/又はデータ転送レートを調整するよう構成される。例えば、仮想空間サーバ102は、バンド幅の使用を低減するために、特定のクライアントコンピューティングプラットフォーム104に対してより少ないデータを送信しても良い。一部の実施例では、クライアントコンピューティングプラットフォーム104は、仮想空間サーバ102により送信されるデータの一部分を無視する。
【0031】
上述したように、クライアントコンピューティングプラットフォーム104が受信する仮想空間情報は、仮想空間が二次元または三次元で描写されるかどうかについて知ることができない。即ち、クライアントコンピューティングプラットフォーム104により表示される仮想空間描写の次元にかかわらず、同一の仮想空間情報が一又は複数のクライアントコンピューティングプラットフォーム104に対して送信される。それゆえ、仮想空間の二次元描写及び三次元描写のユーザは、交流し仮想空間の単一のインスタンスに参加する。より具体的には、仮想空間の二次元描写のユーザは、仮想空間の二次元描写の範囲内で、仮想空間の三次元描写のユーザと交流することができるようにされている。反対に、仮想空間の三次元描写のユーザは、仮想空間の三次元描写の範囲内で、仮想空間の二次元描写のユーザと交流することができるようにされている。
【0032】
ここで説明されている所定のクライアントコンピューティングプラットフォーム104によって表示される仮想空間描写の次元を決定するための方法は、その他の方法について考慮することを制限する意図ではないことが認識される。例えば、一部の実施例では、所定のクライアントコンピューティングプラットフォーム104の一又は複数のハードウェア装置が、仮想空間描写の次元を決定するものとしても良い。これは、カラーテレビ放送にやや類似しており、カラーテレビセットと白黒テレビセットの双方が同じ放送を受信したとしても、カラーテレビセットは放送をカラーで描写し、白黒テレビセットは放送を白黒で描写するのである。
【0033】
表示モジュール116は、クライアントコンピューティングプラットフォーム104を介して仮想空間描写の表示を支援するよう構成される。こうした表示は、クライアントコンピューティングプラットフォーム104に関係する表示装置と一緒に実行される。一部の実施例に従えば、仮想空間描写は、次元決定モジュール114の決定に基づき二次元または三次元で表示される。上述したように、仮想空間描写の次元に関する決定は、次元決定モジュール114以外の手段を用いて行うこともできる。
【0034】
到達点モジュール118は、所定のクライアントコンピューティングプラットフォーム104に関係するユーザキャラクタにとっての終点選択を受信するよう構成される。終点は、ユーザキャラクタにとっての仮想空間内の空間的な到達点である。到達点モジュール118は、クライアントコンピューティングプラットフォーム104を介してユーザに表示されるインターフェイスを介して終点選択を受信する。終点選択は、座標、場所、お気に入りの場所のセット、他のユーザキャラクタの位置、(動いている、及び/又は静止している)オブジェクト、及び/又は仮想空間内の位置を示すその他の情報を含む。終点選択、及び/又はそれと関連する情報は、クライアントコンピューティングプラットフォーム104から仮想空間サーバ102へと通信される。終点選択は、以下で詳述するように 、仮想空間の三次元描写のこうしたユーザキャラクタのために一又は複数の進路を決定するために、仮想空間サーバ102の進路決定モジュール110によって用いられる。
【0035】
再び仮想空間サーバ102の進路決定モジュール110に関し、当該進路決定モジュール110はユーザキャラクタが仮想空間の三次元描写内でたどる一又は複数の進路を決定するように構成される。進路は、仮想空間の二次元描写を見るユーザに関係するユーザキャラクタのために決定される。一部の実施例では、一又は複数の進路の各々は、クライアントコンピューティングプラットフォーム104の到達点モジュール118により受信される終点選択、ユーザセッティング、仮想空間内のユーザの関係性、ユーザによる過去の使用パターン、及び/又はその他の情報に基づいて自動的に決定される。所定の進路は、静的、動的、及び/又は確率的に選択される。
【0036】
一部の実施例では、仮想空間サーバ102、ククライアントコンピューティングプラットフォーム104、及び/又は外部リソース120は、一又は複数の電子的な通信リンクを介して動作可能に連結する。例えば、こうした電子的な通信リンクは、少なくとも一部では、インターネット、及び/又はその他のネットワークのようなネットワークを介して確立される。これは限定することを意図しておらず、本開示の範囲が、仮想空間サーバ102、クライアントコンピューティングプラットフォーム104、及び/又は外部リソース120がその他のいずれかの通信媒体を介して動作可能に連結するような実施例を含むことは認識されるだろう。
【0037】
外部リソース120は、情報源、システム100の外部の仮想空間のホスト及び/又はプロバイダ、システム100に参加する外部エンティティ、及び/又はその他のリソースを含む。一部の実施例では、ここで外部リソース120に帰する機能の一部または全部はシステム100内に含まれるリソースにより提供される。
【0038】
所定のクライアントコンピューティングプラットフォーム104は、電子記憶装置122、一又は複数の処理装置124、及び/又はその他のコンポーネントを含む。クライアントコンピューティングプラットフォーム104は、ネットワーク及び/又は他のコンピューティングプラットフォームと情報を交換することを可能とする通信ライン、または通信ポートを含む。
図1におけるクライアントコンピューティングプラットフォーム104の図は、これに限定することを意図するものではない。クライアントコンピューティングプラットフォーム104は、複数のハードウェア、ソフトウェア、及び/又はファームウェアコンポーネントを含み、これらは、ここでクライアントコンピューティングプラットフォーム104に帰する機能を提供するために一緒に動作する。限定しない例として、所定のクライアントコンピューティングプラットフォーム104には、一又は複数のデスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、ネットブック、スマートフォン、ゲームコンソール、及び/又はその他のコンピューティングプラットフォームが含まれる。
【0039】
電子記憶装置122は、電子的に情報を記憶する電子記憶媒体を備える。電子記憶装置122の電子記憶媒体は、システム記憶装置及び/又はリムーバブル記憶装置の一つまたは双方を含む。ここで、システム記憶装置は、クライアントコンピューティングプラットフォーム104と共に必須なものとして提供され(例えば、実質的に取り外し不能)、リムーバブル記憶装置は、例えば、ポート(例えば、USBポート、firewireポート、など)またはドライブ(例えば、ディスクドライブなど)を介してクライアントコンピューティングプラットフォーム104と着脱可能に接続できる。電子記憶装置122は一又は複数の、光学的に読み取り可能な記憶媒体(例えば、光ディスクなど)、磁気的に読み取り可能な記憶媒体(例えば、磁気テープ、磁気ハードディスク、フロッピードライブなど)、電気的な電荷ベースの記憶媒体(例えば、EEPROM、RAMなど)、ソリッドステート(solid-state)記憶媒体(例えば、フラッシュドライブなど)、及び/又はその他の電子的に読み取り可能な記憶媒体を含む。電子記憶装置122は、一又は複数の仮想記憶リソース(例えば、クラウドストレージ、仮想プライベートネットワーク、及び/又はその他の仮想記憶リソース)を含む。電子記憶装置122は、ソフトウェアアルゴリズム、処理装置124によって決定される情報、クライアントコンピューティングプラットフォーム104によって受信される情報、仮想空間サーバ102によって受信される情報、及び/又はクライアントコンピューティングプラットフォーム104にここで説明するような動作を可能とするその他の情報を格納しても良い。
【0040】
処理装置124は、クライアントコンピューティングプラットフォーム104の情報処理能力を提供するよう構成される。したがって、処理装置124は、一又は複数のデジタルプロセッサ、アナログプロセッサ、情報を処理するよう設計されたデジタル回路、情報を処理するよう設計されたアナログ回路、状態マシン、及び/又は電子的に情報を処理するためのその他のメカニズムを含む。処理装置124は、
図1内では単一の実体として示されているが、これは単に説明上の都合である。一部の実施例では、処理装置124は、複数の処理ユニットを含む。これらの処理ユニットは、物理的に同一の装置内に配置するものとしても良く、または、処理装置124が協調して動作する複数の装置の機能を処理することを示しても良い。処理装置124は、モジュール112、114、116、118、及び/又はその他のモジュールを実行するよう構成される。 処理装置124は、ソフトウェア、ハードウェア、ファームウェア、これらの組合せ(ソフトウェア、ハードウェア、及び/又はファームウェアの組合せ)、及び/又は処理装置124の処理能力を設定する他のメカニズムによって、モジュール112、114、116、118、及び/又はその他のモジュールを実行するよう構成しても良い。
【0041】
モジュール112、114、116、及び118は、
図1内では単一の処理ユニット内に共存するものとして描かれているが、処理装置124が多重処理ユニットを含む実施例では、一又は複数のモジュール112、114、116、及び/又は118は、他のモジュールから離れて配置され得るという点は、認識されるべきである。以下で説明するそれぞれ異なるモジュール112、114、116、及び/又は118によって提供される機能の記載は説明上の都合であって、モジュール112、114、116、及び/又は118が記載と同様の機能を提供するように限定することを意図するものではない。例えば、一又は複数のモジュール112、114、116、及び/又は118は削除しても良く、その機能の一部または全部を、モジュール112、114、116、及び/又は118の他のモジュールによって提供するものとしても良い。その他の例として、処理装置124は、以下でモジュール112、114、116、及び/又は118のいずれかに帰する機能の一部または全部を実行する一又は複数の追加のモジュールを実行するよう構成しても良い。
【0042】
仮想空間サーバ102は、電子記憶装置126、一又は複数の処理装置128、及び/又はその他のコンポーネントを含む。仮想空間サーバ102は、ネットワーク及び/又はその他のコンピューティングプラットフォームと情報を交換することを可能とする通信ライン、または、通信ポートを含む。
図1内における仮想空間サーバ102の図は、これに限定することを意図したものではない。仮想空間サーバ102は、複数のハードウェア、ソフトウェア、及び/又はファームウェアコンポーネントを含み、これらは、ここで仮想空間サーバ102に帰する機能を提供するために一緒に動作する。例えば、仮想空間サーバ102は、仮想空間サーバ102として一緒に動作するコンピューティングプラットフォームのクラウドによって実装するものとしても良い。
【0043】
電子記憶装置126は、電子的に情報を記憶する電子記憶媒体を備える。電子記憶装置126の電子記憶媒体は、システム記憶装置及び/又はリムーバブル記憶装置の一つまたは双方を含む。ここで、システム記憶装置は、仮想空間サーバ102と共に必須なものとして提供され(例えば、実質的に取り外し不能)、リムーバブル記憶装置は、例えば、ポート(例えば、USBポート、firewireポート、など)またはドライブ(例えば、ディスクドライブなど)を介して仮想空間サーバ102と着脱可能に接続できる。電子記憶装置126は一又は複数の、光学的に読み取り可能な記憶媒体(例えば、光ディスクなど)、磁気的に読み取り可能な記憶媒体(例えば、磁気テープ、磁気ハードディスク、フロッピードライブなど)、電気的な電荷ベースの記憶媒体(例えば、EEPROM、RAMなど)、ソリッドステート(solid-state)記憶媒体(例えば、フラッシュドライブなど)、及び/又はその他の電子的に読み取り可能な記憶媒体を含む。電子記憶装置126は、一又は複数の仮想記憶リソース(例えば、クラウドストレージ、仮想プライベートネットワーク、及び/又はその他の仮想記憶リソース)を含む。電子記憶装置126は、ソフトウェアアルゴリズム、処理装置128によって決定される情報、仮想空間サーバ102によって受信される情報、クライアントコンピューティングプラットフォーム104によって受信される情報、及び/又は仮想空間サーバ102にここで説明するような動作を可能とする他の情報を格納しても良い。
【0044】
処理装置128は、仮想空間サーバ102の情報処理能力を提供するよう構成される。したがって、処理装置128は、一又は複数の、デジタルプロセッサ、アナログプロセッサ、情報を処理するよう設計されたデジタル回路、情報を処理するよう設計されたアナログ回路、状態マシン、及び/又は電子的に情報を処理するためのその他のメカニズムを含む。処理装置128は、
図1内では単一の実体として示されているが、これは単に説明上の都合である。一部の実施例では、処理装置128は、複数の処理ユニットを含む。これらの処理ユニットは、物理的に同一の装置内に配置するものとしても良く、または、処理装置128が協調して動作する複数の装置の機能を処理することを示しても良い。処理装置128は、モジュール106、108、110、及び/又はその他のモジュールを実行するよう構成される。 処理装置128は、ソフトウェア、ハードウェア、ファームウェア、これらの組合せ(ソフトウェア、ハードウェア、及び/又はファームウェアの組合せ)、及び/又は処理装置128の処理能力を設定する他のメカニズムによって、モジュール106、108、110、及び/又はその他のモジュールを実行するよう構成しても良い。
【0045】
モジュール106、108、及び110は、
図1内では単一の処理ユニット内に共存するものとして描かれているが、処理装置128が多重処理ユニットを含む実施例では、一又は複数のモジュール106、108、及び/又は110は、他のモジュールから離れて配置され得るという点は、認識されるべきである。以下で説明するそれぞれ異なるモジュール106、108、及び/又は110によって提供される機能の記載は説明上の都合であって、モジュール106、108、及び/又は110が記載と同様の機能を提供するように限定することを意図するものではない。例えば、一又は複数のモジュール106、108、及び/又は110は削除しても良く、その機能の一部または全部を、モジュール106、108、及び/又は110の他のモジュールによって提供するものとしても良い。その他の例として、処理装置128は、以下でモジュール106、108、及び/又は110のいずれかに帰する機能の一部または全部を実行する一又は複数の追加のモジュールを実行するよう構成しても良い。
【0046】
図2は、クライアントコンピューティングプラットフォームを介して二次元または三次元で仮想空間の単一のインスタンスを表示するための方法200を、一又は複数の実施例に基づいて図示する。以下で示す方法200の動作は、説明のためのものである。実施例の一部では、方法200は、ここで説明されていない一又は複数の追加の動作と共に、及び/又は、ここで触れられている一又は複数の動作なしに、完遂することができる。さらに、
図2において図示し、以下で説明する方法200における動作の順序は、これに限定することを意図したものではない。
【0047】
一部の実施例では、方法200は、一又は複数の処理装置(例えば、デジタルプロセッサ、アナログプロセッサ、情報を処理するよう設計されたデジタル回路、情報を処理するよう設計されたアナログ回路、状態マシン、及び/又は電子的に情報を処理するための他のメカニズム)により実装される。一又は複数の処理装置は、電子記憶媒体に電子的に記憶されている指示に応じて、方法200の動作の一部または全部を実行する一又は複数の装置を含む。一又は複数の処理装置は、方法200の一又は複数の動作を実行するようハードウェア、ファームウェア、及び/又はソフトウェアを介して特別に設計され構成された一又は複数の装置を含む。
【0048】
動作202では、仮想空間情報が仮想空間サーバ102から複数のクライアントコンピューティングプラットフォーム104に対して提供される。仮想空間情報は、複数のクライアントコンピューティングプラットフォームの各々に対して、複数のクライアントコンピューティングプラットフォームの各々に関係するユーザに対して仮想空間描写を提供することを許可するよう構成される。
図2は、クライアントコンピューティングプラットフォーム104A(二次元で仮想空間の表示が可能である)およびクライアントコンピューティングプラットフォーム104B(三次元で仮想空間の表示が可能である)により受信される仮想空間情報を図示する。クライアントコンピューティングプラットフォーム104A及びクライアントコンピューティングプラットフォーム104Bの双方によって受信される仮想空間情報は同一である。一部の実施例では、動作202は、仮想空間サーバ102のユーザモジュール106、及び/又は、個別のクライアントコンピューティングプラットフォーム104の通信モジュール112を介して実行される。
【0049】
動作204Aでは、クライアントコンピューティングプラットフォーム104Aにおいて、クライアントコンピューティングプラットフォーム104Aに関係する尺度に基づいて二次元または三次元で仮想空間を表示するかどうかに関する決定がなされる。動作204Bでは、クライアントコンピューティングプラットフォーム104Bにおいて、クライアントコンピューティングプラットフォーム104Bに関係する尺度に基づいて二次元または三次元で仮想空間を表示するかどうかに関する決定がなされる。動作204A及び204Bは、クライアントコンピューティングプラットフォーム104A及びクライアントコンピューティングプラットフォーム104Bの次元決定モジュール114によって、それぞれ実施例に基づき実行される。
【0050】
動作206では、二次元の仮想空間描写は、クライアントコンピューティングプラットフォーム104Aを介して表示され、動作206Bに関しては三次元の仮想空間描写がクライアントコンピューティングプラットフォーム104Bを介して表示される。動作206A及び206Bは、クライアントコンピューティングプラットフォーム104A及びクライアントコンピューティングプラットフォーム104Bの表示モジュール116Aによって、それぞれ実施例に基づき実行される。
【0051】
動作208では、クライアントコンピューティングプラットフォーム104Aに関係するユーザキャラクタのポジション情報は、クライアントコンピューティングプラットフォーム104Aから仮想空間サーバ102に対して通信される。一部の実施例では、動作208は、クライアントコンピューティングプラットフォーム104Aの通信モジュール112によって実行される。
【0052】
動作210では、クライアントコンピューティングプラットフォーム104Aに関係するユーザキャラクタのポジション情報は、仮想空間サーバ102からクライアントコンピューティングプラットフォーム104Bに対して通信される。動作208は、仮想空間サーバ102のユーザモジュール106によって、及び/又は、クライアントコンピューティングプラットフォーム104Bの通信モジュール112によって、実施例に基づき実行される。
【0053】
動作212では、クライアントコンピューティングプラットフォーム104Aに関係するユーザキャラクタは、クライアントコンピューティングプラットフォーム104Bでは、三次元の仮想空間描写として表示される。動作212は、一部の実施例では、クライアントコンピューティングプラットフォーム104Bの表示モジュール116によって実行される。
【0054】
動作214では、クライアントコンピューティングプラットフォーム104Bに関係するユーザキャラクタのポジション情報は、クライアントコンピューティングプラットフォーム104Bから仮想空間サーバ102へと通信される。一部の実施例では、動作214は、クライアントコンピューティングプラットフォーム104Bの通信モジュール112によって実行される。
【0055】
動作216では、クライアントコンピューティングプラットフォーム104Bに関係するユーザキャラクタのポジション情報は、仮想空間サーバ102からクライアントコンピューティングプラットフォーム104Aへと通信される。動作216は、仮想空間サーバ102のユーザモジュール106によって、及び/又は、クライアントコンピューティングプラットフォーム104Aの通信モジュール112によって、実施例に基づき実行される。
【0056】
動作218では、クライアントコンピューティングプラットフォーム104Bに関係するユーザキャラクタは、クライアントコンピューティングプラットフォーム104Aでは二次元仮想空間描写で表示される。動作218は、クライアントコンピューティングプラットフォーム104の表示モジュール116Aによって、一部の実施例において実行される。
【0057】
以上、現時点で最も実用的で望ましいと考えられる態様に基づいて本発明を説明したが、これらの説明は、本発明の説明のみを目的としたものであり、本発明を開示された実施形態に限定することを意図したものではない。一方、これらの説明は、請求項の趣旨及び範囲に含まれる変更及び均等物を含むものである。例えば、任意の実施形態の特徴と他の実施形態の一又は複数の特徴との組み合わせも可能な限り本発明の範囲に含まれる。