(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0007】
[0015] 本明細書では、ライバル表示との非同期ゲームプレーについて説明する。ユーザーがゲームにおいてあるイベントをプレーするとき、そのイベントにおけるユーザーのパフォーマンスに関するデーターが格納される。特定のユーザーが、そのイベントにおいて非同期にプレーする他のユーザー(ライバル)を選択することができる。そのイベントをプレーしたことがある種々の他のユーザーを識別するリストを、この特定のユーザーに表示することができ、このリストは種々の手法でフィルターリングすることができる(例えば、特定のユーザーの友人、ユーザーの採点等に基づいて)。特定のユーザーは、リストにおける他のユーザーをライバルとして選択し、特定のユーザーがイベントをプレーする間、このライバルを表すオブジェクト(例えば、ライバルの車両)が表示される。ライバルを表すオブジェクトは、イベントにおけるライバルのパフォーマンスと共に表示され、このライバルが以前にそのイベントを実際にプレーしたかのように、このライバルとそのイベントをプレーする体験を、この特定のユーザーに提供する。ライバルを表すオブジェクトは、ライバルによって行われるカスタム化と共に表示される(例えば、車両に対する特定の着色または設計、車両に貼られる特定のステッカー等)。特定のユーザーがそのイベントにおいてライバルの得点を凌いだ場合、通貨(currency)または他のクレジットが特定のユーザーに授与される。この授与される通貨またはクレジットは、そのイベントにおける特定のユーザーのパフォーマンスおよびライバルの採点に基づくものである。加えて、特定のユーザーがイベントにおいてライバルの得点を凌いだ場合、このイベントにおいてこの特定のユーザーによってライバルが負かされたことを彼または彼女に知らせる通知を、ライバルに提供することができる。この通知はリンクを含み、このリンクをライバルが選択することにより、ライバルがイベントにジャンプするか、または特定のユーザーよりも高い得点を得る試みにおいて再度そのイベントをプレーすることができる。
【0008】
[0016]
図1は、本発明の実施形態にしたがって、ライバル表示との非同期ゲームプレーを実現するシステム100の一例を示す。システム100は、複数(x個)のゲーミング・デバイス102と、オンライン・ゲーミング・サービス104とを含み、これらはネットワーク106を介して互いに通信することができる。ネットワーク106は、インターネット、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、パーソナル・エリア・ネットワーク(PAN)、電話回線、イントラネット、他の公衆および/または企業固有のネットワーク、これらの組み合わせ等を含む種々のネットワークとすることができる。
【0009】
[0017] 各ゲーミング・デバイス102は、ユーザーにゲーム(競走ゲーム、スポーツ・ゲーム、戦略ゲーム、アドベンチャー・ゲーム、シミュレーション・ゲーム等)をプレーさせる種々のタイプのデバイスとすることができる。個別のゲーミング・デバイス102のそれぞれは、同じまたは異なるタイプのデバイスであることができる。例えば、ゲーミング・デバイス102は、ゲーミング・コンソール、セルラまたは他のワイヤレス電話機、テレビジョンまたは他のディスプレイ・デバイス、ディスプレイ・デバイスに通信可能に結合されるセット・トップ・ボックス、デスクトップ・コンピューター、ラップトップまたはネットブック・コンピューター、タブレットまたはノートパッド・コンピューター、移動局、娯楽機器、車両用コンピューター等とすることができる。
【0010】
[0018] オンライン・ゲーミング・サービス104は、ゲーミング・デバイス102のユーザーによる1つ以上の異なるゲームのプレーを容易にする。ゲーミング・サービス104は、ゲーミング・デバイス102がネットワーク106を介して該サービス104(および/または他のゲーミング・デバイス102)にアクセスすることから、オンライン・サービスである。オンライン・ゲーミング・サービス104は、アカウント・アクセス・サービス110、ゲームプレー・サービス112、および任意にマッチメーク・サービス(matchmaking service)114を含み、これらの各々は互いに通信することができる。サービス110、112、および114は、オンライン・ゲーミング・サービス104内で、および/またはゲーミング・デバイス102を介して互いに通信することができる。
【0011】
[0019] アカウント・アクセス・サービス110は、オンライン・ゲーミング・サービス104のユーザー・アカウントをサポートする種々の機能を提供する。個別のユーザーおよび/またはゲーミング・デバイス102は、通例、オンライン・サービス104とは異なるアカウントを有し、アカウント・アクセス・サービス110を介して彼らのアカウントにログインすることができる。ユーザーまたはゲーミング・デバイス102は、ID(例えば、ユーザー名、電子メール・アドレス、ゲーマー・タグ等)、スマートカードからのディジタル証明書または他のデーター等というような、信任情報を提供する。アカウント・アクセス・サービス110は、この信任情報を検証または認証し、信任情報が検証または認証された場合、ユーザーまたはゲーミング・デバイス102がアカウントにアクセスすることを許可し、信任情報が検証または認証されない場合、ユーザーまたはゲーミング・デバイス102がアカウントにアクセスすることを禁止する。ユーザーの信任情報が認証されたならば、ユーザーは、オンライン・ゲーミング・サービス104によって提供される他のサービスを使用することができる。また、アカウント・アクセス・サービス110は、信任情報に対する変更を許可する、新しいアカウントを作る、アカウントを削除する等というような、種々の追加のアカウント管理機能も提供することができる。
【0012】
[0020] ゲームプレー・サービス112は、ゲーミング・デバイス102のユーザーによる1つ以上の異なるゲームのプレーをサポートする種々の機能を提供する。異なるゲーム・タイトルをゲームプレー・サービス112によってサポートすることができる(例えば、1つ以上の異なる競走ゲーム・タイトル、1つ以上の異なるスポーツ・ゲーム・タイトル、1つ以上の異なる戦略ゲーム・タイトル等)。ゲーム・タイトルとは、実行されるとゲームを実現する特定の1組の命令のことを意味する(例えば、特定の販売業者からの競走ゲームのための1組の命令、特定の販売業者からの特定のテニス・ゲームのための1組の命令等)。ゲーム・タイトルの特定の実行もゲームと呼ぶ。同じゲーム・タイトルの複数のゲームを同時に異なるユーザーによってプレーすることができ、各ゲームは、そのゲーム・タイトルの別個の実行となる。ゲームは、単一プレーヤによるゲームとして実行しプレーすることができ、この場合、ゲーミング・デバイス102の1人のユーザーがそのゲームをプレーし、このゲームにおける1つ以上のキャラクターまたは他の物体を制御し、ゲームにおける他のキャラクターまたはオブジェクトは、ゲーム自体によって制御される。また、ゲームは、多数のプレーヤによるゲームとして実行しプレーすることもでき、この場合、1つ以上のゲーミング・デバイス102の複数のユーザーが同じゲームをプレーし、各ユーザーがこのゲームにおける1つ以上のキャラクターまたは他のオブジェクトを制御する。多数プレーヤによるゲームでは、1つ以上の追加のキャラクターまたは他のオブジェクトをゲーム自体によって制御することもできる。
【0013】
[0021] ゲームは、通例、1つ以上のプログラムを実行することによって行われる。これらのゲームを行うために実行されるプログラムは、ゲーミング・デバイス102および/またはゲームプレー・サービス112において実行することができる。ゲーミング・デバイス102は、ゲームのために1つ以上のプログラムを実行し、ゲームをプレーしている間にゲーミング・デバイス102のユーザー間における通信を容易にするため、および/またはゲームをプレーするために追加のデーター(および/またはプログラム)を提供または入手するために、ゲームプレー・サービス112と通信することができる。あるいは(または加えて)、ゲームプレー・サービス112はゲームのために1つ以上のプログラムを実行し、ゲーミング・デバイス102のユーザーからの入力を受け取り、表示または他の提示のために表示される出力を示すデーターを、ゲーミング・デバイス102のユーザーに返送することができる。
【0014】
[0022] 1つ以上の実施形態では、ゲームはゲーミング・デバイス102において実行されるプログラムであり、ゲーミング・サービス112は、異なるゲーミング・デバイス102間における通信を管理する。他の実施形態では、ゲームはゲーミング・デバイス102において実行されるプログラムであり、ゲームプレー・サービス112は、異なるゲーミング・デバイス間における通信を容易にする。2つのゲーミング・デバイス102間において通信が設定された後は、ゲームプレー・サービス112を巻き込むことなく、これら2つのゲーミング・デバイス102間において通信を行うことができる。
【0015】
[0023] ゲームプレー・サービス112は、非同期ゲームプレー調整モジュール120を含む。ゲームをプレーしている間、ユーザーを表すオブジェクトがゲーム内にある。このオブジェクトは、競走ゲームにおける車両(例えば、自動車、飛行機、ボート、宇宙船等)、射撃ゲームにおけるキャラクター(例えば、人、宇宙人、怪物等)を表す絵図等というように、ゲームのタイプに基づいて変化することができる。非同期ゲームプレー調整モジュール120は、ユーザーが、ゲームのイベントを互いに対して容易に非同期でプレーできるようにする。非同期に互いに対抗してイベントをプレーする複数のユーザーは、異なる時点でゲームのイベントをプレーする複数のユーザーのことである。1人のユーザー(例えば、ユーザーA)がゲームにおいてあるイベントをプレーし、このイベントにおけるユーザーAのパフォーマンスが記録される。他のユーザー(例えば、ユーザーB)が後の時点でその同じイベントをプレーし、ユーザーAのパフォーマンスの記録に対抗してプレーすることができる。このように、双方のユーザーが同じイベントをプレーするが、異なる時点においてそれを行う。これらのユーザーは、両者共にオンライン・ゲーミング・サービス110にログインすることができるが、異なる時点においてゲームのイベントをプレーする、および/または1人のユーザーは、他方のユーザーがオンライン・ゲーミング・サービス110にログインしていないときに、ゲームのイベントをプレーすることができる。非同期ゲームプレー調整モジュール120は、ゲームプレー・サービス112の一部に含まれるように図示されているが、その代わりに、ゲーミング・デバイス102内に部分的または全体を実装することもできる。
【0016】
[0024] マッチメーク・サービス114は、オンライン・ゲーミング・サービス104に含まれるとき、ゲーミング・デバイス102のユーザーがゲームをプレーすることができる相手となる他のユーザーの発見を容易にする種々の機能を有している。マッチメーク・サービス114は、特定のユーザーがゲームをプレーすることができる相手となる他のユーザーを、ゲーミング・デバイス102の物理的位置、ゲーミング・デバイス102のユーザーの習熟度、および/またはゲーミング・デバイス102および/またはゲーミング・デバイス102のユーザーの他の特性に基づいて等のようにして、種々の異なるやり方で特定する。マッチメーク・サービス114は、アカウント・アクセス・サービス110が知っているユーザー・アカウントに基づいて、特定の時点においてアカウントにログインしたユーザーに基づいて(例えば、アカウント・アクセス・サービス110によって示される)、他のサービス(例えば、マッチメーク・サービス114が通信することができるソーシャル・ネットワーキング・サービス)からのアカウントに基づいて等で、他のユーザーを特定することができる。マッチメーク・サービス114は、ゲーミング・デバイス102のユーザーがゲームをプレーすることができる相手となる他のユーザーを、同じおよび/または異なるタイプのゲーミング・デバイス102に跨がって特定することができる(例えば、デスクトップ・コンピューターの1人以上のユーザーおよびゲーム・コンソールの1人以上のユーザー、電話機の1人以上のユーザーおよびゲーム・コンソールの1人以上のユーザー等)。同様に、マッチメーク・サービス114は、ゲーミング・デバイス102のユーザーがゲームをプレーすることができる相手となる他のユーザーを、同じおよび/または異なるサービス(例えば、ゲームプレー・サービス112の1人以上のユーザー、およびオンライン・ゲーミング・サービス104の他のサービスの1人以上のユーザー)に跨がって特定することができる。また、非同期ゲームプレー調整モジュール120は、ゲーミング・デバイス102のユーザーがゲームのイベントを非同期にプレーすることができる相手となる他のユーザーの発見も容易にする。これについては、以下で更に詳しく説明する。マッチメーク・サービス114による他のユーザーの発見はいずれも、他のユーザーを発見する非同期ゲームプレー調整モジュール120に追加される。
【0017】
[0025] サービス110、112、および114の各々は、1つ以上のコンピューター・デバイスを使用して実現することができる。通例、これらのコンピューター・デバイスはサーバ・コンピューターであるが、種々の異なるタイプのコンピューター・デバイスの任意のものを、代わりに使用することができる(例えば、ゲーミング・デバイス102を参照して先に説明したタイプのデバイスの内任意のもの)。サービス110、112、および114の各々は、異なるコンピューター・デバイスを使用して実現することができ、または、サービス110、112、および114の内1つ以上は、同じコンピューター・デバイスを使用して実現することもできる。
【0018】
[0026] 加えて、サービス110、112、および114は別のサービスとして例示されているが、代わりに、これらのサービスの内1つ以上を1つのサービスとして実現することもできる。例えば、ゲームプレー・サービス112およびマッチメーク・サービス114を1つのサービスとして実現することができる。更に、サービス110、112、および114の内1つ以上の機能を複数のサービスに分離することもできる。加えて、オンライン・ゲーミング・サービス104の機能を複数のサービスに分離することもできる。例えば、オンライン・ゲーミング・サービス104は、アカウント・アクセス・サービス110およびゲームプレー・サービス112を含んでもよく、異なるサービス(例えば、ソーシャル・ネットワーキング・サービス)がマッチメーク・サービス114を含むことができる。
【0019】
[0027]
図2は、1つ以上の実施形態によるゲーミング・デバイスおよびディスプレイの一例を更に詳しく示す。
図2は、ディスプレイ・デバイス204(例えば、テレビジョン)に結合されたゲーミング・デバイス202を示す。ゲーミング・デバイス202は、
図1のゲーミング・デバイス102である。ゲーミング・デバイス202およびディスプレイ・デバイス204は、有線接続および/または無線接続により通信することができる。ゲーミング・デバイス202は、非同期ゲームプレー調整モジュール212と、入力/出力(I/O)モジュール214とを含む。非同期ゲームプレー調整モジュール212は、
図1の非同期ゲームプレー調整モジュール120に類似するが、オンライン・ゲーミング・サービス内ではなく、ゲーミング・デバイス202内に実装されるものとして示されている。
【0020】
[0028] 入力/出力モジュール214は、ゲーミング・デバイス202による入力の認識および/または(例えば、ディスプレイまたは他のプレゼンテーションの)出力の提供に関する機能を設ける。例えば、入力/出力モジュール214は、キーボードまたはマウスからの入力を受け、ジェスチャーを識別し、このジェスチャーに対応する動作を実行させる等というように構成することができる。入力は、入力/出力モジュール214によって種々の異なる方法で検出することができる。
【0021】
[0029] 入力/出力モジュール214は、図示のコントローラー216のような、ハードウェア・デバイスとのタッチ相互作用によって、1つ以上の入力を受けるように構成することができる。タッチ相互作用は、ボタンを押す、ジョイスティックを動かす、トラック・パッドを横切る動き、ディスプレイ・デバイス204またはコントローラー216のタッチ・スクリーンの使用(例えば、ユーザーの手の指またはスタイラスの検出)、動き検出コンポーネントによって認識される他の物理的入力(例えば、デバイスを振る、デバイスを回転させる等)等を含んでもよい。タッチ入力の認識は、ゲームと相互作用するため、ゲーミング・デバイス202の1つ以上の設定値を変更するため等というように、ゲーミング・デバイス202によって出力されるユーザー・インターフェースと相互作用するために、入力/出力モジュール214によって利用することができる。デバイスとのタッチ相互作用を伴う種々の他のハードウェア・デバイスも考えられる。このようなハードウェア・デバイスの例には、カーソル制御デバイス(例えば、マウス)、リモコン(例えば、テレビジョンのリモコン)、移動体通信デバイス(例えば、ゲーミング・デバイス202の1つ以上の動作を制御するように構成されたワイヤレス電話機)、およびユーザーまたはオブジェクトの一部上のタッチを伴う他のデバイスが含まれる。
【0022】
[0030] また、入力/出力モジュール214は、タッチや物理的接触を伴わない他のやり方で1つ以上の入力を受けるように構成することもできる。例えば、入力/出力モジュール214は、マイクロフォン(例えば、ゲーミング・デバイス202の一部として含まれる、または結合される)の使用によってオーディオ入力を受けるように構成することができる。他の例では、入力/出力モジュール214は、ジェスチャー、提示される物体、画像等を、カメラ218の使用によって認識するように構成することができる。また、画像は、特定のユーザー(例えば、顔認識によって)、物体等を識別する技法というような、ゲーミング・デバイス202が種々の他の機能を設けるために利用することもできる。
【0023】
[0031] また、ゲーミング・デバイス202は、1人以上のユーザー(例えば、4人のユーザーを同時に)を追跡して動き分析を行うための人体の特定点(例えば、48ヶ所の骨格点)の特徴抽出と共に、骨格マッピングを実行するためにカメラ218を利用することもできる。例えば、カメラ218は、画像を取り込むことができ、これらの画像が入力/出力モジュール214またはゲーミング・デバイス202において実行するゲームによって分析され、ユーザーによって行われる1つ以上の動きを認識する。この認識には、どの身体部分が動きを行うために使用されるか、そしてどのユーザーがその動きを行ったかが含まれる。これらの動きは、入力/出力モジュール214または実行中のゲームによってジェスチャーとして認識され、対応する動作を開始することができる。
【0024】
[0032]
図3は、1つ以上の実施形態にしたがって、ライバル表示との非同期ゲームプレーを実現するシステム300の一例を示す。システム300は、非同期ゲームプレー調整モジュール302(
図1の非同期ゲームプレー調整モジュール120または
図2の非同期ゲームプレー調整モジュール212)、ゲーム304、およびゲーム306を含む。システム300は、種々の異なるデバイスにおいて実現することができる。例えば、システム300は、
図1のゲーミング・デバイス102において、
図1のオンライン・ゲーミング・サービス104において、または、部分的にゲーミング・デバイス102でかつ部分的にオンライン・ゲーミング・サービス104において実現することができる。
【0025】
[0033] ゲーム304は、1つ以上のゲーム・モジュール308を含み、ゲーム306は、1つ以上のゲーム・モジュール310を含む。ゲーム304および306は、同じゲーム・タイトルの異なるゲームである(例えば、同じ自動車競走ゲーム・タイトルであるが異なるゲーム)。ゲーム・モジュール308および310はそれぞれ、ゲーム304および306のために種々の機能を実行し、ゲーム・モジュール308および310によって実行される具体的な機能は、少なくとも部分的に特定のゲーム・タイトルに基づいて変化する。
【0026】
[0034] 1つ以上の実施形態では、非同期ゲームプレー調整モジュール302は、ゲーム304および306とは別に実装され、これらに利用可能なサービスの一部として実現される。あるいは、非同期ゲームプレー調整モジュール302をゲーム304および306内に実装する(少なくとも部分的に)こともできる。このように、例えば、モジュール308および/または310は、非同期ゲームプレー調整モジュール302の1つ以上のモジュールを含むことができ、または非同期ゲームプレー調整モジュール320によって実行されるものとして本明細書において説明される機能の少なくとも一部を実現することができる。
【0027】
[0035] ゲーム304は、ゲーム・データー・ストア314に種々のゲーム・データーを格納し、ゲーム306は、ゲーム・データー・ストア316に種々のゲーム・データーを格納する。動作中、ゲームの種々のイベントにおけるユーザーの好み、ゲームプレーの間にユーザーによって蓄積された品目またはポイント等というような、ユーザーに関する種々の情報をゲーム・データーとして格納することができる。別々のゲーム・データー・ストアとして図示されるが、ゲーム・データー・ストア314およびゲーム・データー・ストア316は、同じゲーム・データー・ストアとすることができる(例えば、オンライン・ゲーミング・サービス104によって実現される)。
【0028】
[0036] ゲーム304および306は、ユーザーがプレーすることができる1つ以上のイベントを有する。イベントとは、ユーザーによってプレーされるゲームの特定部分のことである。特定のイベントの性質は、個々のゲームに依存する。例えば、競走ゲームのイベントは、競走に使われる特定のトラックまたはコースとすることができる。他の例では、射撃ゲームのイベントは、特定の獲物射撃コースとすることができる。尚、1つのゲームが1つのイベントを有することができる。
【0029】
[0037] ユーザーがゲーム304のイベントをプレーするに連れて、このイベントをプレーするユーザーのパフォーマンスに関するデーターが記録され、ゲーム・データー・ストア314にゲーム・データーとして格納される。同様に、ユーザーがゲーム306のイベントをプレーするに連れて、このイベントをプレーするユーザーのパフォーマンスに関するデーターが記録され、ゲーム・データー・ストア316にゲーム・データーとして格納される。イベントをプレーするユーザーのパフォーマンスに関するデーターとは、ユーザーがそのイベントをどのようにプレーしたかを示すデーターを指し、個々のゲームに基づいて変わる可能性がある。イベントをプレーするユーザーのパフォーマンスに関するデーターにより、ユーザーによるイベントのプレーを後の時点において再生する(リプレーする)ことを可能にする。例えば、イベントが競走ゲームにおけるトラックである場合、このイベントをプレーするユーザーのパフォーマンスは、このトラックの種々の位置におけるユーザーの車両の速度に関する情報、トラック上の種々の位置においてユーザーの車両が向かっていく方向、トラック上の種々の位置におけるユーザーの車両の位置、ユーザーの車両がぶつかったあらゆる障害物等を含むことができる。
【0030】
[0038] 1つ以上の実施形態では、イベントをプレーするユーザーのパフォーマンスに関するデーターが記録され、イベントをプレーするユーザーの1つのパフォーマンスに関するデーターがゲーム・データー・ストア314または316に保持される。ユーザーがそのイベントを複数回プレーする場合、ゲームによって(または代わりにユーザーによって)最高と見なされるユーザーのパフォーマンスが、記憶保持されるパフォーマンスとなる。どのパフォーマンスが最高であると見なされるかは、ユーザーがそのイベントに対して最短時間を得たパフォーマンス、ユーザーがそのイベントに対して最高得点を得たパフォーマンス等というように、異なる手法で判断することができる。あるいは、イベントをプレーしたユーザーの任意の数のパフォーマンスに関するデーターも、ゲーム・データー・ストア314または316に記憶保持することもできる。
【0031】
[0039] 先に説明したように、ゲーム304または306をプレーするユーザーのために、このユーザーを表すオブジェクトがゲーム内に存在する。ユーザーは、任意に、ユーザーを表す複数のオブジェクトを有することができ、ゲームの特定のイベントをプレーするときに、これら複数のオブジェクトから1つ以上を選択することができる。このオブジェクトは、例えば、車両(例えば、自動車、ボート、タンク、オートバイ、宇宙船等)、キャラクター(例えば、人間、宇宙人、怪物等)、オーブ(orb)または他のシンボル等とすることができる。ユーザーは、当該ユーザーを表すオブジェクトを種々のやり方でカスタム化することができる。オブジェクトのカスタム化は、通例、オブジェクトの外観を変化させるのであるが、ライバルの種々の特徴または能力もカスタム化によって変化させることができる(例えば、車両またはキャラクターのパフォーマンスを変化させることができ、車両またはキャラクターの兵器または防衛特性を変化させること等ができる)。例えば、車両は、特定の着色作業(例えば、色、模様等)が施されるように、車両上に特定のステッカーまたは文字が書かれるように、特定のコンポーネント(例えば、クローム・ドア・ハンドル、双排気、特定の車輪等)を含むように等というように、カスタム化することができる。他の例では、特定の衣服を着用し、特定の表情(例えば、顎髭、めがね等)を有し、特定の品目(例えば、特定のタイプの銃または他の兵器)を有するというように、キャラクターをカスタム化することができる。ユーザーを表すオブジェクトをカスタム化する方法を示すデーターは、ゲーム・データーとして、ゲーム・ストア314または316に格納される。これらデーターは、後に引き出すことができ、ユーザーを表すカスタム化されたオブジェクトを、後に表示することを可能にする。
【0032】
[0040] また、ゲーム304および306は、種々の行為すなわちアクションに対してユーザーに報償授与される通貨(例えば、ゲーム内通貨)またはクレジットもサポートする。この通貨またはクレジットは、ユーザーを表すオブジェクトのために追加のカスタム化選択肢を獲得する(例えば、車両に追加することができる異なるコンポーネント、異なる兵器)、ユーザーを表す追加のオブジェクト(例えば、異なる車両)を獲得するため等というように、異なるやり方で使用することができる。
【0033】
[0041] 通貨またはクレジットに加えて、ゲーム304および306は、ゲームをプレーしたことに対してユーザーに授与される体験ポイント・システムもサポートすることができる。これらの体験ポイントは、ユーザーがゲームをプレーする時間量、ユーザーがゲームをプレーするやり方(例えば、ユーザーがプレーするイベント)、ゲームにおいて走破した距離(例えば、ユーザーが競走したトラックのマイル数)等に基づいて、授与することができる。
【0034】
[0042] また、ゲーム304および306は、ユーザーが属することができる種々のグループまたはクラブもサポートすることができる。どのグループまたはクラブにユーザーが加入することができるかは、異なる方法で決定することができる。例えば、ユーザーが望む任意のグループまたはクラブにユーザーが加入することを許可してもよく、グループまたはクラブを創設した特定のユーザーが、他のユーザーの内誰がそのグループまたはクラブに加入できるか判断するのでもよく、既にグループまたはクラブの会員であるユーザーが、他のユーザーがグループまたはクラブに加入できるか否か判断するために投票を行うことができる等である。ユーザーが会員になっているグループまたはクラブは、ゲーム・データー・ストア314または316に格納することができる。
【0035】
[0043] 尚、ユーザーの種々のリストを、非同期ゲームプレー調整モジュール302または他のシステム(例えば、
図1のゲームプレー・サービス112、あるいは
図1のオンライン・ゲーミング・サービス104の他のサービスまたはこれにアクセス可能な他のサービス)によって記憶保持することができる。これらのリストは、ゲーム・データー・ストア314または316に保持することができ、あるいは他のデーター・ストア(例えば、非同期ゲームプレー調整モジュール302の一部として実装されるか、または非同期ゲームプレー調整モジュール302にアクセス可能に実装される)に保持することができる。これらのユーザー・リストは、例えば、特定のユーザー毎に、特定のユーザーの友人である他のユーザーのリストを含むことができる。特定のユーザーは、他のユーザーを友人として特定する種々の入力を供給することができ、他のユーザーにより、特定のユーザーの友人のリストに追加される前に、彼または彼女が特定のユーザーの友人であることが確認できるようにすることもできる。また、特定のユーザーの友人は、ソーシャル・ネットワーキング・サービス(例えば、
図1のオンライン・ゲーミング・サービス104にアクセス可能な ソーシャル・ネットワーキング・サービス)からというように、他の方法で特定することもできる。また、これらのリストは、例えば、特定のユーザー毎に、その特定のユーザーのお気に入りのリストも含むことができる。特定のユーザーのお気に入りとは、特定のユーザーがお気に入りとして特定した他のユーザー(例えば、特定のユーザーが、対戦するのが楽しいまたはゲームをプレーするのを見るのが楽しいことを示した他のユーザー)を指す。他のユーザーは、任意に、特定のユーザーのお気に入りのリストに追加される前に、彼または彼女が特定のユーザーのお気に入りになることができることを確認することができる。
【0036】
[0044] 非同期ゲームプレー調整モジュール302は、ゲーム・データー共有モジュール322、ライバル選択モジュール324、および通知モジュール326を含む。一般に、非同期ゲームプレー調整モジュール302は、ユーザーに、非同期で他のユーザーに対抗してイベントをプレーさせる。システム300について、ゲーム306のユーザーに対抗して非同期でイベントをプレーするゲーム304のユーザーが存在する場合について、説明する。なお、ゲーム306のユーザーは同様にゲーム304のユーザーに対抗して非同期でイベントをプレーできること、ゲーム304のユーザーも同様にゲーム304の他のユーザーと対抗して非同期にイベントをプレーできること、またはゲーム306のユーザーがゲーム306の他のユーザーと対抗して非同期でイベントをプレーできることは、もちろんである。
【0037】
[0045] ゲーム・データー共有モジュール322は、異なるユーザーについてのゲーム・データーの共有を容易にして、1人のユーザーが、他のユーザーによるイベントの以前に記録されたプレーに対抗してこのイベントをプレーすることを可能にする。ライバル選択モジュール324は、非同期でイベントをプレーする相手となる他のユーザーをユーザーが容易に選択できるようにする。通知モジュール326は、非同期にプレーされたイベントにおいてユーザーが他のユーザーに倒されたときに、該ユーザーにそれを容易に通知し、更に、通知されたユーザーが、それに挑戦するために、再度イベントをプレーできるようにすることを促進する。
【0038】
[0046] ユーザーが他のユーザー(すなわちライバル)に対抗して非同期でイベントをプレーすることを望むとき、このユーザーはライバルを選択することを要求する入力をする。非同期ゲームプレー調整モジュール302は、ゲームのイベント毎に、そのイベントをプレーしたことがあるユーザーのリスト、およびそのイベントをプレーしたユーザーの得点を保持している。また、モジュール302は、ユーザーがイベントをプレーした日付けおよび/または時間、イベントをプレーしたときにユーザーを表すオブジェクトが開始および/または終了した場所または位置等のような、ユーザーに関連する種々の追加情報も記憶保持することができる。また、このユーザー・リストは、イベントに対する各ユーザーの格付けすなわちランク付けのインディケーターも含む(明示的または暗示的に)ことができる(例えば、得点が高いユーザー程、得点が低いユーザーよりもランクが高くなる)。ユーザーの得点は、ユーザーによってイベントを完了するのに要した特定の時間、イベントをプレーしたときにユーザーによって蓄積されたポイント数というような、種々の形態をなすことができる。イベントに対してライバルを選択することを要求するユーザー入力に応答して、ライバル選択モジュール324は、このイベントをプレーしたことがあるユーザーの識別子およびこのイベントに対する彼らの得点のリストにアクセスする。
【0039】
[0047] 1つ以上の実施形態では、ユーザーがイベントに対するライバルを選択する要求を入力したことに応答して、ライバル選択モジュール324は、非同期にユーザーがプレーするライバルを自動的に選択する。ライバル選択モジュール324は、種々の判断基準を使用して自動的にライバルを選択することができる。例えば、要求元ユーザーの次に高い得点(例えば、次に早い時間)を有する他のユーザーを、ライバルとして自動的に選択することができる。他の例では、要求元ユーザーよりも所定の閾値量だけ高い得点(例えば、要求元ユーザーよりも2秒速い時間、要求元ユーザーの時間の97%の時間等)を有する他のユーザーが、ライバルとして自動的に選択される。
【0040】
[0048] 他の実施形態では、ユーザーがイベントに対してライバルを選択する要求を入力したことに応答して、ライバル選択モジュール324は、そのイベントをプレーしたことがあるユーザーの識別子(および任意にそのイベントに対するこれらのユーザーの得点)のリストの少なくとも一部を表示するか、またはそれ以外の方法で提示する。識別子のリスト全体を表示することができ、またはフィルター判断基準を満たすユーザーの識別子が表示されるように、種々のフィルター判断基準に基づいて、識別子のリストをフィルターリングすることができる。ゲーム304または306によってサポートされる任意のユーザー分類方法を、フィルター判断基準として使用することができる。要求元ユーザーは、異なるフィルター判断基準に基づいて識別子のリストをフィルターリングさせる要求を入力することができる。例えば、フィルター判断基準は、要求元ユーザーの友人であるユーザー(要求元ユーザーによってそのユーザーの友人であるとシステム300に特定された友人、他のサービス(例えば、ソーシャル・ネットワーキング・サービス)によって友人として特定された友人等)、特定のグループの会員であるユーザー(特定の自動車クラブ、特定のファン・クラブ)、要求元ユーザーがお気に入りとして特定したユーザー、そのイベントに対して上位の得点を有するユーザー(例えば、上位10得点または上位50得点のユーザー)、要求元ユーザーよりも少なくとも閾値量だけ高い得点をそのイベントに対して有するユーザー(例えば、要求元ユーザーよりも2秒速い時間、要求元ユーザーの時間の97%である時間等)、要求元ユーザーの得点に近い得点をそのイベントに対して有するユーザー(例えば、要求元ユーザーよりも高いおよび/または低い最も接近した得点、閾値量以内で要求元ユーザーよりも高い得点を有するユーザー)等とすることができる。要求元ユーザーは、ユーザー・インターフェースの一部として表示されるボタンまたはフィルター判断基準の他の識別子を選択することによって、各々異なるフィルター判断基準に関連する複数のボタンの内1つをコントローラー上で選択することによって、異なるフィルター判断基準を巡回するコントローラー上でボタンを選択することによって等、異なる方法で異なるフィルター判断基準に基づいて識別子のリストをフィルターリングさせる要求を入力することができる。
【0041】
[0049]
図4および
図5は、1つ以上の実施形態にしたがって、ユーザーが非同期にイベントをプレーする相手となるライバルをユーザーに選択させるユーザー・インターフェースの例を示す。
図4は、一例のライバル選択ユーザー・インターフェース(UI)402を示し、この例では、要求元ユーザー用のライバルが自動的に選択されている。次に高い得点を有するユーザーが、「ユーザーG」として識別され、そのユーザーの得点(2分8秒47を意味する2:08:47の時間(またはその代わりに、2時間8分47秒というような他の時間)が表示される。あるいは、そのユーザーの得点抜きでそのユーザーの識別子を表示することができ、および/またはユーザーに関連する種々の追加情報と共に表示することができる(例えば、ユーザーがそのイベントをプレーした日付けおよび/または時間、イベントをプレーしたときにユーザーを表すオブジェクトが開始および/または終了した場所または位置等)。ユーザーは、ユーザーGを選択するために種々のユーザー入力を供給し、ユーザーGと対抗して非同期にイベントをプレーし始めることができる。また、ライバル選択UI402は、任意に、要求元ユーザーの識別子(例えば、「ユーザーA」として識別される)および/または要求元ユーザーの得点を表示することもできる。
【0042】
[0050] ライバル変更ボタン404も、ライバル選択UI402の一部として表示される。要求元ユーザーは、ライバル変更ボタン404を選択して、別のライバルを選択することができる(例えば、上で説明したような異なるフィルター判断基準に基づいて)。ボタン404として図示されているが、別のライバルを選択することを要求する入力は、種々の異なるやり方でユーザーにより入力することができる(例えば、コントローラー上の特定のボタンを押す、特定の手振りを行う等)。ライバル変更ボタン404の選択に応答して、
図5のライバル選択UI502が表示される。
【0043】
[0051] ライバル選択UI502は、イベントに対して種々のユーザーおよび彼らに関連する得点をリスト表示する。あるいは、ユーザーの識別子を、これらのユーザーの得点抜きで表示することができ、および/またはユーザーに関連する種々の追加情報と共に表示することができる(例えば、ユーザー毎に、ユーザーがイベントをプレーした日付けおよび/または時間、イベントをプレーしたときにユーザーを表すオブジェクトが開始および/または終了した場所または位置等)。ユーザーは、表示されたユーザーから1人を選択するために、種々のユーザー入力を供給することができ、識別されたユーザーと対抗して非同期でイベントをプレーし始めることができる。また、ライバル選択UI502は、任意に、要求元ユーザーの識別子(例えば、「ユーザーA」)および/または要求元ユーザーの得点の得点を表示することもできる。ライバル選択UI502におけるユーザーは、1つ以上のフィルター判断基準を満たす。図示する例では、これは友人フィルター判断基準になっている。1つ以上の実施形態では、
図3のライバル選択モジュール324は、友人フィルター判断基準を満たすユーザーを表示するようにデフォルトに設定されるが、その代わりに、他のライバル選択モジュール324が他のフィルター判断基準を満たすユーザーを表示するようにデフォルトで設定することもできる。
【0044】
[0052] また、ライバル選択UI502は、友人ボタン504、上位10ボタン506、クラブ1ボタン508、同程度(near me)ボタン510、お気に入りボタン512、および自動ボタン514も表示する。友人ボタン504は友人フィルター判断基準に対応し、ユーザーがボタン504を選択したことに応答して、ライバル選択UI502は、要求元ユーザーの友人として識別されたユーザーを表示する。なお、図中、友人ボタン504は、友人フィルター判断基準が現在選択されていることを示すために、網掛けして図示されている。
【0045】
[0053] 上位10ボタン506は、イベントに対して上位10得点を有するユーザーを特定するフィルター判断基準に対応し、ユーザーがボタン510を選択したことに応答して、ライバル選択UI502は、イベントに対して上位10得点を有するユーザーを表示する。クラブ1ボタン508は、「クラブ1」として識別されるクラブまたはグループ内においてユーザーを特定するフィルター判断基準に対応し、ユーザーがボタン508を選択したことに応答して、ライバル選択UI502は、「クラブ1」として識別されるクラブまたはグループにおけるユーザーを表示する。同程度ボタン510は、要求元ユーザーの得点に近い得点をイベントに対して有するユーザーを特定するフィルター判断基準に対応し、ユーザーがボタン510を選択したことに応答して、ライバル選択UI502は、要求元ユーザーの得点に近い得点をイベントに対して有するユーザーを表示する。お気に入りボタン512は、要求元ユーザーのお気に入りを特定するフィルター判断基準に対応し、ユーザーがボタン512を選択したことに応答して、ライバル選択UI502は、要求元ユーザーのお気に入りとして特定されたユーザーを表示する。
[0054] 自動ボタン514は、ライバルの自動選択に対応するものであり、ユーザーがボタン514を選択すると、ライバル選択UI502は
図4のライバル選択UI402を表示する。
【0046】
[0055] フィルター判断基準は、ユーザー・インターフェースにおいてユーザーによって選択することができる別個のボタンとして図示されるが、種々の他のやり方でも選択することができる。例えば、コントローラー上のボタンをユーザーが繰り返し選択したことに応答して、UI502は異なるフィルター判断基準に基づくユーザーを巡回表示することができる(例えば、第1のボタン選択に応答して、イベントに対して上位10得点を有するユーザーを表示し、次のボタン選択に応答して、「クラブ1」として識別されたクラブまたはグループ内におけるユーザーを表示する等)。他の例では、特定のフィルター判断基準を選択する、異なるフィルター判断基準を巡回する等のために、種々のハンド・ジェスチャーを使用することができる。
【0047】
[0056]
図3を参照すると、ゲーム・データー共有モジュール322は、異なるユーザーについてのゲーム・データーを共有することにより、1人のユーザーが、以前に記録された他のユーザーによるイベントのプレーに対抗して、このイベントをプレーすることを可能にする。ゲーム304のユーザーがライバルを選択したことに応答して、ライバル選択モジュール324は、このライバルの指示をゲーム・データー共有モジュール322に伝える。一方、ゲーム・データー共有モジュール322は、そのイベントに対するライバルについてのゲーム・データーを得て(例えば、ゲーム・データー・ストア316から)、そのイベントに対するライバルについてのゲーム・データーをゲーム304に供給する。ライバルについてのゲーム・データーは、イベントに対するライバルのパフォーマンス、およびライバルを表すオブジェクトがカスタム化された態様を示すデーターを含む。
【0048】
[0057] ゲーム304は、ユーザーにそのイベントをプレーさせる処理に進み、彼または彼女自身がプレーするかのように(また、他のユーザーと対抗してリアル・タイムで)、そのイベントにおいて彼または彼女のオブジェクトを制御する。また、ゲーム304は、ユーザーがイベントをプレーしている間、得られたライバルについてのゲーム・データーの一部であるパフォーマンス・データーに基づいて、ライバルを表すオブジェクトを再生する。つまり、ライバルのパフォーマンスの記録が再生されている(つまり、イベントが非同期でプレーされている)にも拘わらず、ライバルを表すオブジェクトは、ユーザーがゲームをプレーしている間表示され、あたかもユーザーがリアル・タイムでこのライバルに対抗してプレーしているかのような体験をユーザーに提供する。尚、ライバルを表すオブジェクトの行動は、得られたライバルについてのゲーム・データーの一部であるパフォーマンス・データーに基づいており、包括的な行動や他の実行知能(AI)で生成した行動ではない。
【0049】
[0058] 加えて、ゲーム304によってイベントのために再生されるライバルを表すオブジェクトは、そのライバルによってカスタム化されたオブジェクトである。つまり、ライバルを表す包括的なオブジェクトではなく、ライバルによってカスタム化されたオブジェクトが、ライバルを表すものとして表示される。つまり、何らかの共通したオブジェクトや包括的なオブジェクトではなく、ライバル特定のオブジェクトに対抗してプレーする体験がユーザーに提供される。
【0050】
[0059] 例えば、イベントが自動車競走ゲームの特定のトラックであることもあり、ユーザーは、彼または彼女の自動車をその特定のトラック上で競走させることによって、そのイベントをプレーする。ユーザーは、ライバルを選択し、ライバルによってカスタム化された自動車を、彼または彼女がそのトラック上で対抗して競走する他の自動車として表示させることができる。トラック上におけるライバルのカスタム化された自動車のパフォーマンスは、ライバルがそのトラック上で以前に競走したときにおけるそのトラック上の自動車のパフォーマンスとなる。
【0051】
[0060] 更に、ライバルを表すオブジェクトに加えて、ゲームによって制御される1つ以上の追加のオブジェクト、またはAIで生成された振る舞いに基づく1つ以上の追加のオブジェクトも表示することができる。以前の例を続けると、ライバルのカスタム化された自動車に加えて、1つ以上の追加の自動車も表示することができ、ユーザーは、ライバルのカスタム化された自動車だけでなく、これら1つ以上の追加の自動車とも対抗して競走することになる。
【0052】
[0061] 1つ以上の実施形態では、ライバルを表すオブジェクトは、このライバルを表すオブジェクトとユーザーを表すオブジェクトとの間のゲームにおける近接度に基づいて、外観を変化させる。これらのオブジェクトが互いに近づくに連れて、ライバルを表すオブジェクトは増々透明になり、これらのオブジェクトが互いから遠ざかるに連れて、ライバルを表すオブジェクトは透明でなくなる(不透明になる)。
【0053】
[0062] ライバルを表すオブジェクトの透明度を決定するためには、種々の異なる判断基準またはアルゴリズムを使用することができる。1つ以上の実施形態では、ゲームにおいてライバルを表すオブジェクトが少なくとも閾値距離(例えば、ゲームにおける競走トラック上で50フィート、ゲームにおいてユーザーを表すオブジェクトのある寸法の長さまたはサイズ等)だけユーザーを表すオブジェクトから離れている場合、ライバルを表すオブジェクトは不透明になる。ゲームにおいてライバルを表すオブジェクトがユーザーを表すオブジェクトよりも閾値距離も離れていない場合、ライバルを表すオブジェクトは透明になる。透明度の程度は、線形的に決定することができ(例えば、ゲームにおいてライバルを表すオブジェクトがユーザーを表すオブジェクトに50フィード未満に近づくと、1フィート毎に2%透明度が高くなる)、あるいは他の式を使用して決定することもできる。つまり、ライバルを表すオブジェクトがユーザーを表すオブジェクトに近づいて来る程、ライバルを表すオブジェクトは増々透明になり、ライバルを表すオブジェクトがユーザーを表すオブジェクトから遠ざかるように動く程、ライバルを表すオブジェクトは透明でなくなる(閾値距離だけ離間すると、その時点で、ライバルを表すオブジェクトは不透明になる)。あるいは、1つの透明度設定値(例えば、80%透明)を使用してもよく、ライバルを表すオブジェクトがゲームにおいてユーザーを表すオブジェクトから少なくとも閾値距離だけ離れた場合にライバルを表すオブジェクトは不透明になり、ライバルを表すオブジェクトがゲームにおいてユーザーを表すオブジェクトから少なくとも閾値距離だけ離れていない場合、ライバルを表すオブジェクトは透明になる(単一の透明度設定値がどんな値でもよい)。
【0054】
[0063] 例えば、イベントが自動車競走ゲームの特定のトラックであってもよく、ユーザーは、彼または彼女の自動車をその特定のトラック上で競走させることによって、そのイベントをプレーする。ライバルに対抗して非同期にゲームをプレーしている間、ライバルの自動車がユーザーの自動車に接近する程、ライバルの自動車は一層透明になり、こうして、ユーザーが彼または彼女の自動車がどこにあるのかについての混乱を回避するのに役立つ。しかしながら、ライバルの自動車がユーザーの自動車から離れて行くに連れて、ライバルの自動車が不透明になる地点まで、ライバルの車は透明でなくなって行く。したがって、ライバルの自動車が不透明であるとき、ユーザーには、彼または彼女がリアル・タイムでライバルに対抗して競走しているように見える。
【0055】
[0064] あるいは、ライバルを表すオブジェクトの透明度を決定するためには、他の判断基準またはアルゴリズムを使用することができる。たとえば、近い閾値距離(例えば、ゲームにおける競走トラック上の20フィート)、および遠い閾値距離(例えば、激しいトラック・ゲーム(racking track game)上の50フィート)というように、2つの閾値距離を使用することができる。ゲームにおいてライバルを表すオブジェクトがユーザーを表すオブジェクトよりも少なくとも遠い閾値距離だけ離れている場合、ライバルを表すオブジェクトは不透明になる。ゲームにおいてライバルを表すオブジェクトがユーザーを表すオブジェクトから近い閾値距離だけも離れていない場合、ライバルを表すオブジェクトは特定の透明度レベル(例えば、90%透明)になる。そして、透明度レベルは、遠い閾値距離と近い閾値距離との間で変化する(例えば、遠い閾値距離から近い閾値距離まで距離が変化するに連れて、線形にまたは何らかの他の計算にしたがって高くなる)。
【0056】
[0065] 尚、ゲーム304は、ユーザーがイベントをプレーしている間、ライバルについて得られたゲーム・データーの一部であるパフォーマンス・データーに基づいて、ライバルを表すオブジェクトを再生するので、ユーザーを表すオブジェクトおよびライバルを表すオブジェクトがときどき重複する可能性がある。例えば、ユーザーを表すオブジェクトが、ライバルを表す自動車と競走トラック上の同じ位置にある可能性があり、またはユーザーを表す自動車が、ライバルを表す自動車に十分に接近したために、2つの自動車が重複する可能性がある(例えば、一方の自動車のフロント・エンドが他方の自動車のバック・エンドと競走トラック上で同じ位置になる)。しかしながら、ライバルの自動車がユーザーの自動車に近づいて来るに連れて、ライバルの自動車は、先に説明したように、増々透明になるので、ユーザーが彼または彼女の車がどこにあるかについての混乱を避けるのに役立つ。
【0057】
[0066] また、ユーザーは複数のライバルに対抗して同時に非同期でイベントをプレーできる。ユーザーは、先に説明したライバルの選択と同様に、複数のライバルを選択することができる。これら複数のライバルの各々についてのゲーム・データーが得られ、ユーザーがイベントをプレーしている間、複数のライバルの各々に対して、そのライバルについて得られたゲーム・データーの一部であるパフォーマンス・データーに基づいて、ライバルを表すオブジェクトが再生される。つまり、例えば、イベントが自動車競走ゲームの特定のトラックであってもよく、ユーザーは、彼または彼女の自動車をその特定のトラック上で競走させることによって、このイベントをプレーする。ユーザーは、複数のライバルを選択し、彼または彼女がそのトラックにおいて対抗して競走する他の自動車として、ライバルによってカスタム化された自動車を表示させることができる。複数のライバルの各々について、そのライバルのカスタム化された自動車のそのトラックにおけるパフォーマンスは、そのライバルが以前にそのトラック上で競走したときの、そのトラック上における自動車のパフォーマンスとなる。
【0058】
[0067] 1つ以上の実施形態において、ライバルを特定する追加情報を、このライバルに対抗して非同期にイベントをプレーしている間、ユーザーに表示することができる。この追加情報は、ライバルについてのゲーム・データーと共にゲーム304に提供することができる。例えば、ライバルの識別子(例えば、ゲーマー・タグまたは他の識別子)をユーザーに表示することができる。この識別子は、ライバルを表すオブジェクト上に、またはこれに近接して(例えば、ライバルの車両の上、または真上)表示することができ、あるいは代わりにどこにでも表示することができる。
【0059】
[0068]
図6および
図7は、1つ以上の実施形態にしたがってライバルを表すオブジェクトの透明度を変化させる例を示す。
図6は、ゲームのユーザーを表す自動車602とライバルを表す自動車604とを含む競走ゲームのための一例のゲームUI600を示す。ゲームUI600では、自動車602および604間の距離は、少なくとも閾値量だけあるので、自動車604は不透明に表示される。しかしながら、
図7は、自動車602および604を含む競走ゲームのための一例のゲームUI700を示し、ここでは、自動車602および604間の距離は、少なくとも閾値量ではない。したがって、自動車604は透明に表示される。
【0060】
[0069]
図3を参照する。1つ以上の実施形態では、ユーザーは、イベントをプレーしたときの彼または彼女のパフォーマンス、またはライバルを倒す難しさの格付けに基づいて、報償(bounty)または報酬(reward)を受ける。この報償または報酬は、ゲームによってサポートされる通貨またはクレジットを使用して与えられる。イベントをプレーしたときのユーザーのパフォーマンスは、ユーザーが非同期にイベントをプレーしている相手であるライバルをユーザーが倒したか否か(例えば、ライバルよりも短い時間量でイベントを終了した、またはそれ以外でライバルよりも高い得点を得た)に単に基づいてというように、種々の手法で測定することができる。また、ユーザーがライバルを倒した程度(例えば、イベントに対するユーザーおよびライバルの時間差または得点差)に基づいて、ユーザーがどの程度近くまでライバルを倒すところまで来たか(例えば、ユーザーの時間または得点がライバルのイベントに対する時間または得点にどの位近かったか)、ゲームの実行中における特定の動作(例えば、回避した障害物)等に基づいてというように、ユーザーのパフォーマンスは、他のやり方で測定することもできる。ライバルを倒す難しさのランキング付けは、ライバルのランキング、ユーザーとライバルとの間におけるランキングの差等というように、種々の手法で測定することができる。
【0061】
[0070] 報償または報酬の額を、少なくとも部分的に、イベントをプレーしたときのユーザーのパフォーマンス、および/またはライバルを倒すことの難しさのランキング付けに基づいて、変化させることができる。例えば、ライバルが1番目のランキングを有する場合、ユーザーには50,000クレジットの報償または報酬を与えることができるが、ライバルが100番目のランキングを有する場合には、1,000クレジットの報酬しか与えないようにしてもよい。他の例では、ユーザーには、ランキングの差を10倍した額に等しい報償または報酬を与えるようにしてもよい(例えば、ユーザーが900番目のランキングでライバルが850番目のランキングの場合、報償または報酬は500クレジットとなる(すなわち、900−850=50、これに10をかけて500クレジットとなる))。更に他の例では、ユーザーがライバルを倒せなかったが、ライバルがイベントを終了したときの時間量または得点の閾値量以内の時間量または得点でイベントを終了した場合、ユーザーに50クレジットの報償または報酬を与えるのでもよい。
【0062】
[0071] 1つ以上の実施形態では、ユーザーがイベントをプレーしたことに対して報償または報酬を受けるか否かには関係なく、イベントをプレーしたことに対してユーザーには体験ポイントが授与される。この体験ポイントは、先に説明したように、ユーザーがイベントをプレーした時間量、イベントをプレーしたときに到達した距離等に基づいてといように、種々の手法で授与することができる。
【0063】
[0072] 加えて、非同期ゲームプレー調整モジュール302は通知モジュール326を含む。ユーザーがイベントにおいてライバルを倒したとき、通知モジュール326は、ライバルに、彼または彼女が倒されたことの通知を送る。通知モジュール326は、ユーザーがライバルを倒したことの指示をゲーム304または306から受ける、ユーザーがライバルを倒したことの指示を
図1のゲームプレー・サービス112のモジュールから受ける等というように、ライバルが倒されたときを、種々のやり方で判定することができる。通知モジュール326から送られる通知は、ゲームプレー・サービス112によって設けられるメッセージング・システムを使用する、ゲーム304または306によって設けられるメッセージング・システムを使用する、他のサービス(例えば、ソーシャル・ネットワーキング・サービス)によって設けられるメッセージング・システムを使用する等というように、種々の手法で送信することができる。特定のメッセージング・システムを使用して特定のユーザーにどのように通知するかの指示は、ユーザーによって与えられて、
図1のアカウント・アクセス・サービス110によって維持されるというように、種々の方法で得ることができる。
【0064】
[0073] 通知モジュール326によって送られる通知は、ライバルが倒されたイベントへのユーザー選択可能なリンク(例えば、ハイパーリンク)を含み、ユーザー(ライバル)はリンクを選択するために種々の入力を供給することができる。このリンクは、
図1のゲームプレー・サービス112の位置または機能を特定し(例えば、非同期ゲームプレー調整モジュール120の)、ライバルが倒されたイベントの識別子は、このリンクに埋め込まれるか、またはそれ以外の方法でリンクされる位置または機能と関連付けられる。ユーザーがこのリンクを選択したことに応答して、ゲームプレー・サービス112は、ゲーム304または306に、ライバルが倒されたイベントにジャンプするように通知し、ゲームが未だ実行されていない場合、ゲーム304または306を実行し始める(または
図1のゲーミング・デバイス102にゲーム304または306を実行し始めるように通知する)。これにより、ライバルがイベントをプレーし、彼または彼女の得点を高めようとすることができる(例えば、もっと高い得点を得る)。ライバルは、イベントを1人でプレーすることができ、またはその代わりに、1人以上のユーザーに対抗してリアル・タイムでまたは非同期にプレーすることができる(例えば、ライバルは、イベントを非同期にプレーするライバルとして他のユーザーを選択することができ、非同期にイベントをプレーするライバルとなる他のユーザー(例えば、ライバルを倒した結果、通知が通知モジュール326によって送られたユーザー)を自動的に選択すること等ができる)。
【0065】
[0074] この通知には、ユーザー選択可能なリンクに加えて、種々の追加情報が含まれるようにすることができる。例えば、この通知に、ライバルを倒したユーザーの識別子、ユーザーがライバルを倒したイベントの識別子、ライバルを倒したユーザーによって得られたイベントにおける得点の指示、イベントにおいてライバルによって得られた得点の指示等を含ませることができる。
【0066】
[0075] 例えば、イベントが自動車競走ゲームの特定のトラックである場合、ユーザーは、その特定のトラック上において彼または彼女の自動車を競走させることによって、そのイベントをプレーする。ユーザーがライバルを倒した(例えば、ライバルよりも短い時間量でトラックを走破した)ことに応答して、通知がライバルに送られる。ライバルは、彼または彼女のゲーミング・デバイスにおいて、彼または彼女がイベントにおいて倒されたことの通知を受ける。この通知は、ライバルが選択することができるボタンまたは他のリンクを含み、選択に応答して、彼または彼女のゲーミング・デバイスは競走ゲームを実行し始めて、ライバルが倒されたイベントにジャンプする。これにより、ライバルは、そのトラックをもっと短い時間量で走破しようとして、彼自身または彼女自身でイベントをプレーし始めることができる。このように、ライバルに通知を表示することができ、この通知におけるボタンまたはリンクを単に選択することによって、ライバルは、彼または彼女が倒されたイベントをプレーし始めることができる。
【0067】
[0076] 以上の説明は、ライバルが既に倒されたことの通知をこのライバルに送ることに言及したが、同様の通知を他の時点で送ることもできる。例えば、ライバルが殆ど倒されかけている場合(例えば、ユーザーが、イベントにおいてライバルを倒す閾値時間量、得点等以内でゲームしている場合)に、通知をライバルに送ることにより、彼または彼女がイベントにおいて殆ど倒されかけていることをこのライバルに通知することができ、また通知は、ライバルが殆ど倒されかけているイベントへのユーザー選択可能なリンク(例えば、ハイパーリンク)を含むことができる。
【0068】
[0077]
図8は、1つ以上の実施形態にしたがって、ライバル表示との非同期ゲームプレーを実現するプロセス例800を示すフローチャートである。プロセス800は、
図3のシステム300等のシステムによって実行され、ソフトウェア、ファームウェア、ハードウェア、またはその組み合わせで実現することができる。プロセス800は、1組の動作として示されるが、種々の動作の処理を実行するために示される順序は限定されない。プロセス800は、ライバル表示との非同期ゲームプレーを実現するプロセスの例である。ライバル表示との非同期ゲームプレーを実現することの追加の説明が、異なる図を参照して、本明細書に含まれる。
【0069】
[0078] プロセス800では、イベントに対して非同期で対抗してプレーするライバルを選択するユーザー要求を受ける(動作802)。このイベントは、先に説明したように、種々のタイプのゲームのイベントである。
[0079] ユーザー要求に応答して、ライバル選択ユーザー・インターフェースを表示する(動作804)。ライバル選択ユーザー・インターフェースは、選択することができる1人以上のユーザーの識別を含み、更に任意に、先に説明したように選択することができる1つ以上のフィルター判断基準を含む。ライバル選択ユーザー・インターフェースは、ライバルとして自動的に選択されたユーザーを表示することができ、または代わりに、先に説明したように、特定のフィルター判断基準を満たす1人以上のユーザーを表示することができる。
【0070】
[0080] これら1人以上のユーザーから1人を選択したユーザー選択を受ける(動作806)。このユーザー選択は、先に説明したように、ライバル選択ユーザー・インターフェースにおいて特定されたユーザーからの1人の選択である。
[0081] 選択されたユーザーは、前述のイベントに対して非同期でプレーするライバルとして使用される(動作808)。動作802においてユーザー要求が受け入れられたユーザーは、そのイベントに対して非同期でライバルと対抗してプレーすることができ、先に説明したように、ユーザーがそのイベントをプレーすると、以前に記録されたライバルのパフォーマンスすなわち振る舞いが再生される。
【0071】
[0082]
図9は、1つ以上の実施形態にしたがって、ライバル表示との非同期ゲームプレーを実現する一例のプロセス900を示すフローチャートである。プロセス900は、
図3のシステム300のようなシステムによって実行され、ソフトウェア、ファームウェア、ハードウェア、またはその組み合わせで実現することができる。プロセス900は、1組の動作(act)として示されるが、種々の動作の処理を実行するために示される順序に限定されない。プロセス900は、ライバル表示との非同期ゲームプレーを実現するプロセス例であり、ライバル表示との非同期ゲームプレーを実現することの追加の説明が、異なる図を参照して、本明細書に含まれる。
【0072】
[0083] プロセス900では、イベントに対して非同期でライバルに対抗してプレーするユーザー要求を受ける(動作902)。このユーザー要求は、例えば、先に説明したようなライバルのユーザー選択とすることができる。
[0084] このイベントに対するライバルについてのゲーム・データーを得る(動作904)。このゲーム・データーは、先に説明したように、そのイベントにおけるライバルのパフォーマンス、およびライバルのオブジェクトがこのライバルによってカスタム化された態様を示すデーターの双方を含むことができる。
[0085] ユーザーがそのイベントをプレーしている間、得られたゲーム・データーに基づいてライバルを表すオブジェクトを再生する(動作906)。先に説明したように、ライバルを表すオブジェクトは、ライバルによってカスタム化されて、そしてイベントにおけるライバルのパフォーマンスに基づいて再生される。
【0073】
[0086]
図10は、1つ以上の実施形態にしたがって通知を使用するプロセス例1000を示すフローチャートである。プロセス1000は、
図3のシステム300のようなシステムによって実行され、ソフトウェア、ファームウェア、ハードウェア、またはその組み合わせで実現することができる。プロセス1000は、1組の動作(act)として示されるが、種々の動作の処理を実行するために示される順序に限定されない。プロセス1000は、通知を使用するプロセス例であり、通知を使用することの追加の説明が、異なる図を参照して、本明細書に含まれる。
【0074】
[0087] プロセス1000において、イベントにおいてライバルが倒されたことがあると判断する(動作1002)。この判断は、先に説明したように、種々の方法で行うことができる。
[0088] 動作1002において行われた判断に応答して、そのイベントへのリンクを含む通知をライバルに送る(動作1004)。この通知は、先に説明したように、種々のメッセージング・システムを使用して送ることができる。
【0075】
[0089] ライバルによってそのリンクが選択されたという通知を受ける(動作1006)。この指示は、例えば、ゲーミング・デバイスによって、ライバルによって使用されるゲーミング・デバイスの非同期ゲームプレー調整モジュール(または、ゲームプレー・サービスの他のモジュール)によって等で、受けることができる。
[0090] ライバルがそのイベントをプレーできるように、ライバルが倒されたイベントにジャンプする(動作1008)。このイベントへのジャンプは、ゲームを実行し(未だ実行していない場合)、先に説明したように、ライバルが倒されたイベントまでゲームがジャンプすることを含む。
【0076】
[0091] 本明細書では、通信する、受信する、送る、記録する、格納する、生成する、得る等というような、種々のモジュールによって実行される種々の動作(action)について説明した。本明細書において、ある動作を実行すると説明された特定のモジュールは、その動作を実行するその特定のモジュール自体を含み、あるいは代わりにその動作を実行する(またはその特定のモジュールと共にその動作を実行する)他のコンポーネントまたはモジュールを呼び出すまたはそうでなければアクセスするその特定のモジュールを含む。つまり、ある動作を実行する特定のモジュールは、その動作を実行するその特定のモジュール自体、および/またはその動作を実行するその特定のモジュールによって呼び出されるまたそうでなければアクセスされる他のモジュールを含む。
【0077】
[0092]
図11は、1つ以上の実施形態にしたがって、ライバル表示との非同期ゲームプレーを実現するように構成することができる一例のコンピューター・デバイス1100を示す。コンピューター・デバイス1100は、例えば、
図1のゲーミング・デバイス102とすることができ、
図1のオンライン・ゲーミング・サービス104の少なくとも一部を実現することができ、
図2のゲーミング・デバイス202とすることができ、または
図3のシステム300の少なくとも一部を実現することができる。
【0078】
[0093] コンピューター・デバイス1100は、1つ以上のプロセッサーまたは処理ユニット1102、1つ以上のメモリーおよび/または記憶コンポーネント1106を含むことができる1つ以上のコンピューター読み取り可能媒体1104、1つ以上の入力/出力(I/O)デバイス1108、ならびに種々のコンポーネントおよびデバイスが互いに通信することを可能にするバス1110を含む。コンピューター読み取り可能媒体1104および/または1つ以上のI/Oデバイス1108は、コンピューター・デバイス1100の一部として含むことができ、またはその代わりにコンピューター・デバイス1100に結合されるのでもよい。プロセッサー1102、コンピューター読み取り可能媒体1104、デバイス1108の1つ以上、および/またはバス1110は、任意に、1つのコンポーネントまたはチップ(例えば、チップ上のシステム)として実現することができる。バス1110は、様々なタイプのバス構造の内1つ以上を表し、メモリー・バスまたはメモリー・コントローラー、周辺バス、加速グラフィクス・ポート、プロセッサーまたはローカル・バス等を含み、種々の異なるバス・アーキテクチャーを使用する。バス1110は、有線バスおよび/またはワイヤレス・バスを含むことができる。
【0079】
[0094] メモリー/記憶コンポーネント1106は、1つ以上のコンピューター記憶媒体を表す。コンポーネント1106は、揮発性媒体(ランダム・アクセス・メモリー(RAM)のような媒体)および/または不揮発性媒体(リード・オンリー・メモリー(ROM)、フラッシュ・メモリー、光ディスク、磁気ディスク等)を含むことができる。コンポーネント1106は、リムーバブル媒体(例えば、フラッシュ・メモリー・ドライブ、リムーバブル・ハード・ドライブ、光ディスク等)だけでなく、固定媒体(例えば、RAM、ROM、固定ハード・ドライブ等)も含むことができる。
[0095] 本明細書において説明した技法は、ソフトウェアで実現することができ、命令が1つ以上の処理ユニット1102によって実行される。尚、異なる命令は、処理ユニット1102内、処理ユニット1102の種々のキャッシュ・メモリー内、デバイス1100の他のキャッシュ・メモリー(図示せず)内、というように、コンピューター・デバイス1100の異なるコンポーネント内、他のコンピューター読み取り可能媒体上等に格納することができる。加えて、命令がコンピューター・デバイス1100内において格納される位置は、時間経過とともに変化する可能性があることも認められるであろう。
【0080】
[0096] 1つ以上の入力/出力デバイス1108は、ユーザーにコマンドおよび情報をコンピューター・デバイス1100に入力させ、更に情報をユーザーおよび/または他のコンポーネントまたはデバイスに提示させる。入力デバイスの例には、キーボード、カーソル制御デバイス(例えば、マウス)、マイクロフォン、スキャナー等が含まれる。出力デバイスの例には、ディスプレイ・デバイス(例えば、モニターまたはプロジェクター)、スピーカー、プリンター、ネットワーク・カード等が含まれる。
【0081】
[0097] 本明細書では、種々の技法がソフトウェアまたはプログラム・モジュールという一般的なコンテキストで説明されることがある。一般に、ソフトウェアは、ルーチン、プログラム、アプリケーション、オブジェクト、コンポーネント、データー構造等を含み、特定のタスクを実行するか、または特定の抽象データー型を実装する。これらのモジュールおよび技法の実現例は、何らかの形態のコンピューター読み取り可能媒体において格納すること、またはそれを介して送信することができる。コンピューター読み取り可能媒体は、計算デバイスによってアクセスすることができる、利用可能な1つ以上の媒体の内任意のものにすることができる。一例として、そして限定ではなく、コンピューター読み取り可能媒体は、「コンピューター記憶媒体」および「通信媒体」を含むことができる。
【0082】
[0098] 「コンピューター記憶媒体」は、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含み、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、または他のデーターというような、任意の情報の格納方法または技術で実現される。コンピューター記憶媒体は、RAM、ROM、EEPROM、フラッシュ・メモリーまたは他のメモリー技法、CD−ROM、ディジタル・バーサタイル・ディスク(DVD)または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたは他の磁気記憶デバイス、あるいは所望の情報を格納するために使用することができコンピューターによってアクセスすることができる任意の他の媒体を含むが、これらに限定されるのではない。コンピューター記憶媒体とは、単なる信号送信、搬送波、または信号自体とは対照的に、情報の格納媒体を指す。つまり、コンピューター記憶媒体は、非信号支持媒体(non-signal bearing media)を指し、通信媒体ではない。
【0083】
[0099] 「通信媒体」は、通例、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、または他のデーターを、搬送波または他の伝達メカニズムというような、変調データー信号内に具体化する。また、通信媒体は、任意の情報配信媒体も含む。「変調データー信号」という用語は、その信号内に情報をエンコードするようなやり方で、その特性の1つ以上が設定または変更された信号を意味する。一例として、そして限定ではなく、通信媒体は、有線ネットワークまたは直接有線接続というような有線媒体と、音響、RF、赤外線、および他のワイヤレス媒体というような、ワイヤレス媒体とを含む。以上の内任意のものの組み合わせも、コンピューター読み取り可能媒体の範囲に含まれる。
【0084】
[00100] 一般に、本明細書において説明した機能または技法の内任意のものが、ソフトウェア、ファームウェア、ハードウェア(例えば、固定論理回路)、手動処理、またはこれらの実現例の組み合わせを使用して実現することができる。「モジュール」および「コンポーネント」という用語は、本明細書において使用される場合、一般に、ソフトウェア、ファームウェア、ハードウェア、またはその組み合わせを表す。ソフトウェアの実現例の場合、モジュールまたはコンポーネントは、プログラム・コードを表し、プロセッサー(例えば、1つまたは複数のCPU)において実行されると、指定されたタスクを実行する。プログラム・コードは、1つ以上のコンピューター読み取り可能メモリー・デバイス内に格納することができ、これについてのこれ以上の説明は、
図11を参照すると見つけることができる。ハードウェアの実現例の場合、モジュールまたはコンポーネントは、指定されたタスクを実行する機能ブロックまたは他のハードウェアを表す。例えば、ハードウェアの実現例では、モジュールまたはコンポーネントは、特定用途集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、複合プログラマブル論理デバイス(CPLD)等とすることができる。本明細書において説明したライバル表示との非同期ゲームプレーの特徴は、プラットフォームに依存しないということであり、本技法は種々のプロセッサーを有する種々の商用計算プラットフォームにおいて実現できることを意味する。
【0085】
[00101] 以上、本主題について構造的特徴および/または方法論的動作に特定の文言で説明したが、添付した特許請求の範囲において定められる主題は、必ずしも以上で説明した具体的な特徴や動作には限定されないことは言うまでもない。逆に、以上で説明した具体的な特徴および動作は、特許請求の範囲を実現する形態例として開示したまでである。