(57)【特許請求の範囲】
【請求項１】
方法であって、
第１ユーザーのソーシャル・グラフに基づいて、前記第１ユーザーと関連のある１人以上の他のユーザーを特定するステップと、
少なくとも１人の前記１人以上の他のユーザーの内のそれぞれについて、当該他のユーザーのアバターを入手するステップと、
前記少なくとも１人の前記１人以上の他のユーザーの内のそれぞれについて、入手した当該他のユーザーのアバターを、前記第１ユーザーがプレーしているゲーム内の非プレーヤー・キャラクターとして含ませるステップと、
前記１人以上の他のユーザーの内特定の１人について前記入手したアバターと対話する前記第１ユーザーのユーザー要求を受けて、前記特定の１人のユーザーに前記ゲームへの参加を誘うステップと
を含む、方法。
【請求項２】
請求項１記載の方法において、前記含ませるステップが、各入手したアバターを、前記ゲーム内で前記第１ユーザーのアバターを応援する非プレーヤー・キャラクターとして含ませるステップを含む、方法。
【請求項３】
請求項１記載の方法において、前記含ませるステップが、前記１人以上の他のユーザーの内の１人について前記入手したアバターを、前記ゲームの以前のプレーの間に前記第１ユーザーが進んだ前記ゲーム内の経路を辿るゴースト・アバターとして含ませるステップを含む、方法。
【請求項４】
請求項１記載の方法において、前記含ませるステップが、前記入手したアバターを有する前記他の１人のユーザーが以前にゲームをプレーしていた間に、前記ゲーム内で前記入手したアバターが死んだ位置に、前記１人以上の他のユーザーの内の１人について前記入手したアバターの多数のコピーを、死んだアバターとして含ませるステップを含む、方法。
【請求項５】
請求項１記載の方法において、前記第１ユーザーがオンライン・ゲーミング・サービスにログインしており、前記１人以上の他のユーザーの内の少なくとも１人が、前記オンライン・ゲーミング・サービスに現在はログインしていないユーザーを含む、方法。
【請求項６】
請求項１記載の方法において、前記含ませるステップが、前記他のユーザーの内の１人が前記第１ユーザーと同じオンライン・ゲーミング・サービスにログインしている場合に、当該他のユーザーについて前記入手したアバターを、特定の外観を有するように表示し、前記他のユーザーの内の前記１人が前記第１ユーザーと同じオンライン・ゲーミング・サービスに現在はログインしていない場合に、当該他のユーザーについて前記入手したアバターを、異なる外観を有するように表示するステップを含む、方法。
【請求項７】
請求項１記載の方法において、前記ユーザー要求が、可聴呼び出し(audible call)を含む、方法。
【請求項８】
請求項１記載の方法において、前記ユーザー要求が、前記第１ユーザーのアバターと、前記第１ユーザーによってプレーされているゲーム内の非プレーヤー・キャラクターとして含められる前記特定の１人のユーザーについての前記アバターとの間の対話を含む、方法。
【請求項９】
請求項１記載の方法であって、更に、
前記特定の１人のユーザーが誘いを受理したことに応答して、前記第１ユーザーおよび前記特定の１人のユーザーを前記ゲーム内に参加させるステップを含む、方法。
【請求項１０】
方法であって、
第１ユーザーのソーシャル・グラフに基づいて特定される第２ユーザーのアバターを、前記第１ユーザーがプレーしている第１ゲーム内の非プレーヤー・キャラクターとして含ませるステップと、
前記第１ゲーム内で前記第２ユーザーのアバターと対話または意思疎通するために、前記第１ユーザーのユーザー要求を受けるステップであって、該ユーザー要求は、前記第２ユーザーが前記第１ユーザーと共にゲーム内に参加するための誘いを含む、ステップと、
前記第２ユーザーがプレーしている第２ゲーム内で、前記第２ユーザーに対する提示のために前記誘いの指示を供給するステップと
を含む、方法。
【請求項１１】
請求項１０記載の方法において、前記第２ゲームが前記第1ゲームとは異なるゲームである、方法。
【請求項１２】
請求項１０記載の方法において、前記第１ゲームが第１ゲーム・タイトルのゲームであり、前記第２ゲームが前記第1ゲーム・タイトルとは異なるゲーム・タイトルのゲームである、方法。
【請求項１３】
請求項１０記載の方法において、前記含ませるステップが、前記第２ユーザーが第１ユーザーと同じオンライン・ゲーミング・サービスにログインしている場合にのみ、前記第１ゲーム内で非プレーヤー・キャラクターとして前記第２ユーザーのアバターを含めるステップを含む、方法。
【請求項１４】
請求項１０記載の方法において、前記含ませるステップが、前記第２ユーザーが第１ユーザーと同じオンライン・ゲーミング・サービスにログインしていることを示す外観と共に、前記第２ユーザーのアバターを表示するステップを含む、方法。
【請求項１５】
請求項１０記載の方法において、前記第２ユーザーが前記ソーシャル・グラフにおいて前記第１ユーザーの複数の友達の内の１人として特定されている、方法。
【請求項１６】
請求項１０記載の方法において、前記ユーザー要求が可聴入力(audible input)を含む、方法。
【請求項１７】
請求項１０記載の方法において、前記ユーザー要求が、前記第２ユーザーのアバターと対話するように、前記第１ユーザーのアバターを制御するユーザー入力を含む、方法。
【請求項１８】
請求項１０記載の方法であって、更に、前記第２ユーザーからの前記誘いの受理の指示を受けたことに応答して、前記第１ユーザーおよび前記第２ユーザーをゲーム内に参加させるステップを含む、方法。
【請求項１９】
複数の命令を格納した１つ以上のコンピューター・ストレージ媒体であって、１つ以上のプロセッサーによって実行されると、該１つ以上のプロセッサーに、
第１ユーザーのソーシャル・グラフに基づいて、前記第１ユーザーと関連のある複数の他のユーザーを特定させ、
少なくとも１人の前記複数の他のユーザーのそれぞれについて、当該他のユーザーのアバターを入手させ、
前記少なくとも１人の前記複数の他のユーザーのそれぞれについて、前記入手した当該他のユーザーのアバターを、前記第１ユーザーがプレーしている第１ゲーム内の非プレーヤー・キャラクターとして含ませ、
第２ユーザーのアバターと対話または意思疎通するために、前記第１ユーザーのユーザー要求を受けさせ、前記第２ユーザーが前記複数の他のユーザーの内の１人であり、前記ユーザー要求は、前記第２ユーザーが前記第１ユーザーと共にゲーム内に参加する誘いを含み、前記誘いが、前記第１ユーザーのアバターおよび前記第２ユーザーのアバターの間の対話であり、
前記第２ユーザーが前記第1ゲームとは異なるゲームをプレーしている間に、前記第２ユーザーへの誘いの指示を提示させる、
コンピュータ−・ストレージ媒体。
【請求項２０】
請求項１８記載の方法において、前記参加させるステップが、前記第１ユーザおよび前記第２ユーザを前記第１ゲーム内に参加させるステップを含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  オンライン・ゲーミング・サービスは、ユーザーに、彼ら自身でゲームをプレーしたり、または彼らの友人の１人以上と一緒にゲームをプレーすることを可能にする。多くのユーザーにとって、友人と一緒にゲームをプレーすることは非常に楽しいことであるが、それに問題がない訳ではない。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
このような問題の１つは、ユーザーが一緒にゲームをプレーしようとする友人を選択することが、煩わしいプロセスになり得ることであり、多くの場合１つ以上のメニューを伴い、ユーザーは一緒にゲームをプレーする友人を選択するために、これらのメニューを通してナビゲートする。このような煩わしいプロセスは、ユーザーが苛々する可能性があり、ユーザーにとってゲームの馴染みやすさが損なわれる。
【課題を解決するための手段】
【０００３】
[0002]  この摘要は、詳細な説明の章において以下で更に説明する概念から選択したものを簡略化された形式で紹介するために、設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定するために使用されることを意図するのでもない。
【０００４】
[0003]  １つ以上の態様によれば、特定のユーザーに対して、この特定のユーザーのソーシャル・グラフに基づいて、この特定のユーザーと関連のある１人以上の他のユーザーを特定する。他のユーザーの内少なくとも１人のアバターを得て、特定のユーザーがプレーしているゲームにおいて、非プレーヤー・キャラクターとして含ませる。
【０００５】
[0004]  １つ以上の態様によれば、第１ユーザーがプレーしているゲームにおいて、第２ユーザーのアバターを、非プレーヤー・キャラクターとして含ませる。第１ユーザーから、第２ユーザーのアバターと対話または意思疎通するユーザー要求を受ける。このユーザー要求は、第２ユーザーに対して、第１ユーザーと一緒にゲームに参加することの誘いであり、その指示が第２ユーザーに提示される。
【０００６】
[0005]  図面全体において、同様の特徴を示すときには、同じ番号を用いる。
【図面の簡単な説明】
【０００７】
【図１】図１は、１つ以上の実施形態にしたがって、友人のアバターを非プレーヤー・キャラクターとして実装するシステム例を示す。
【図２】図２は、１つ以上の実施形態によるゲーミング・デバイスおよびディスプレイの一例を更に詳細に示す。
【図３】図３は、１つ以上の実施形態にしたがって友人のアバターを非プレーヤー・キャラクターとして実装する他のシステム例を示す。
【図４】図４は、１つ以上の実施形態にしたがって友人のアバターを非プレーヤー・キャラクターとして実装するプロセス例を示すフローチャートである。
【図５】図５は、１つ以上の実施形態にしたがって、ユーザーに、他のユーザーをゲームに参加するように誘うことを可能にするプロセス例を示すフローチャートである。
【図６】図６は、１つ以上の実施形態にしたがって友人のアバターを非プレーヤー・キャラクターとして実装するように構成することができる計算デバイス例を示す。
【発明を実施するための形態】
【０００８】
[0012]  本明細書では、非プレーヤー・キャラクターを演ずる友人のアバターについて論ずる。ゲーミング・サービスの特定のユーザー毎に、この特定のユーザーのソーシャル・グラフにおける他のユーザー（例えば、この特定のユーザーの友人、この特定のユーザーの友人の友人等）を特定する。これら他のユーザーのアバターを、特定のユーザーがプレーしているゲームにおいて、非プレーヤー・キャラクターとして含ませる。他のユーザーは、当該ユーザーのゲームにおいて実際にはプレーしていないが、当該ユーザーは他のユーザーのアバターを非プレーヤー・キャラクターとして見る（例えば、この特定のユーザーを励ます群衆）。また、特定のユーザーは、これら他のユーザーのアバターの内１つと対話するために入力を供給し、アバターと対話させているユーザーに、当該ユーザーとゲームに参加することを要請することもできる。この対話は、他のユーザーの名前を聞こえるように呼ぶ、他のユーザーのアバターの肩を叩く等というように、種々の形態をなすことができる。次いで、当該ユーザー、およびこのユーザーが対話しているアバターのユーザーは、一緒にゲームに参加してプレーすることができる。
【０００９】
[0013]  図１は、１つ以上の実施形態にしたがって、友人のアバターを非プレーヤー・キャラクターとして実装するシステム例１００を示す。システム１００は、多数（ｘ台）のゲーミング・デバイス１０２、およびオンライン・ゲーミング・サービス１０４を含み、これらはネットワーク１０６を通じて互いに通信することができる。ネットワーク１０６は、種々の異なるネットワークとすることができ、インターネット、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、パーソナル・エリア・ネットワーク（ＰＡＮ）、電話ネットワーク、イントラネット、他の公衆および／または企業固有のネットワーク、これらの組み合わせ等を含む。
【００１０】
[0014]  各ゲーミング・デバイス１０２は、ユーザーにゲーム（スポーツ・ゲーム、戦略ゲーム、アドベンチャー・ゲーム、シミュレーション・ゲーム等）をプレーさせる種々の異なるタイプのデバイスとすることができる。異なるゲーム・デバイス１０２の１つ１つは、同じタイプのデバイスでも、または異なるタイプのデバイスでも可能である。例えば、ゲーミング・デバイス１０２は、ゲーム・コンソール、セルラーまたは他のワイヤレス電話機、テレビジョンまたは他のディスプレイ・デバイス、ディスプレイ・デバイスに通信可能に結合されるセット・トップ・ボックス、デスクトップ・コンピューター、ラップトップまたはネットブック・コンピューター、タブレットまたはノートパッド・コンピューター、移動局、娯楽機器、自動車用コンピューター等とすることができる。
【００１１】
[0015]  オンライン・ゲーミング・サービス１０４は、ゲーミング・デバイス１０２のユーザーによる１つ以上の異なるゲームのプレーをやり易くする。ゲーミング・デバイス１０４は、ゲーミング・デバイス１０２がネットワーク１０６を通じてサービス１０４（および／または他のゲーミング・デバイス１０２）にアクセスすることから、オンライン・サービスと呼ばれる。オンライン・ゲーミング・サービス１０４は、アカウント・アクセス・サービス１１０，ゲーム・プレー・サービス１１２、および任意に対戦仲介サービス１１４を含み、これらの各々は互いに通信することができる。サービス１１０、１１２、および１１４は、オンライン・ゲーミング・サービス１０４内部で、および／またはゲーミング・デバイス１０２を通じて、互いに通信することができる。
【００１２】
[0016]  アカウント・アクセス・サービス１１０は、オンライン・ゲーミング・サービス１０４のユーザー・アカウントをサポートする種々の機能を設ける。異なるユーザーおよび／またはゲーミング・デバイス１０２は、通例、オンライン・ゲーミング・サービス１０４に対して異なるアカウントを有し、アカウント・アクセス・サービス１１０を通じて彼らのアカウントにログインすることができる。ユーザーまたはゲーミング・デバイス１０２は、ｉｄ（例えば、ユーザー名、電子メール・アドレス等）およびパスワードのような証明書情報、デジタル証明書またはスマートカードからの他のデータ等を提示してログインする。アカウント・アクセス・サービス１１０は、この証明書情報を検証または認証して、この証明書情報が検証または認証されたならば、ユーザーまたはゲーミング・デバイス１０２がアカウントにアクセスすることを許可し、証明書情報が検証されないまたは認証されない場合には、ユーザーまたはゲーミング・デバイス１０２がアカウントにアクセスすることを禁止する。一旦ユーザーの証明書情報が認証されたなら、ユーザーは、オンライン・ゲーミング・サービス１０４が提供する他のサービスを用いることができる。また、アカウント・アクセス・サービス１１０は、証明書情報に対する変更を許可する、新たなアカウントを作成する、アカウントを削除する等というような、種々の追加のアカウント管理機能も設けることができる。
【００１３】
[0017]  ゲーム・プレー・サービス１１２は、ゲーミング・デバイス１０２のユーザーによる１つ以上の異なるゲームのプレーをサポートする種々の機能を設ける。異なるゲーム・タイトルをゲーム・プレー・サービス１１２によってサポートすることができる（例えば、１つ以上の異なるスポーツ・ゲーム・タイトル、１つ以上の異なる戦略ゲーム・タイトル等）。ゲーム・タイトルとは、特定の１組の命令を指し、これを実行するとゲームが行われる（例えば、特定の販売業者からのテニス・ゲームのための１組の命令、特定の販売業者からの特定の競走ゲームのための１組の命令等）。特定のゲーム・タイトルの実行も、ゲームと呼ぶ。同じゲーム・タイトルの多数のゲームを同時に異なるユーザーによってプレーすることができ、各ゲームは、ゲーム・タイトルの別個の実行となる。ゲームは、１プレーヤー・ゲームとして実行しプレーすることができ、この場合、ゲーミング・デバイス１０２の１人のユーザーがゲームをプレーし、このゲームにおける１つ以上のキャラクターを制御し、ゲームにおける他のキャラクターはゲーム自体によって制御される（これら他のキャラクターは、非プレーヤー・キャラクターとも呼ばれる）。また、ゲームは、多プレーヤー・ゲームとして実行しプレーすることもでき、この場合、１つ以上のゲーミング・デバイス１０２の多数のユーザーが同じゲームをプレーしており、各ユーザーがゲームにおける１つ以上のキャラクターを制御している。多プレーヤー・ゲームでは、１つ以上の追加のキャラクターをゲーム自体によって制御することもできる。
【００１４】
[0018]  ゲームは、通例、１つ以上のプログラムを実行することによって動作する。これらのゲームを動作させるために実行されるプログラムは、ゲーミング・デバイス１０２および／またはゲーム・プレー・サービス１１２上で実行することができる。ゲーミング・デバイス１０２は、ゲームのための１つ以上のプログラムを実行し、ゲーム・プレー・サービス１１２と通信して、ゲームをプレーしている間ゲーミング・デバイス１０２のユーザー間における意思疎通(communication)を促進すること、および／またはゲームをプレーするための追加データ（および／またはプログラム）を供給するまたは入手することができる。あるいは（または、加えて）、ゲーム・プレー・サービス１１２は、ゲームのための１つ以上のプログラムを実行し、ゲーミング・デバイス１０２のユーザーから入力を受け取り、ゲーミング・デバイス１０２のユーザーに対する表示またはその他の提示のために生成すべき出力を示すデータを戻すことができる。
【００１５】
[0019]  １つ以上の実施形態では、ゲームはゲーミング・デバイス１０２上で実行するプログラムであり、ゲーム・プレー・サービス１１２は、異なるゲーミング・デバイス１０２間における通信を管理する。他の実施形態では、ゲームは、ゲーミング・デバイス１０２上で実行するプログラムであり、ゲーム・プレー・サービス１１２は、異なるゲーミング・デバイス１０２間において通信を確立し易くする。２つのゲーミング・デバイス１０２間において通信が確立された後、ゲーム・プレー・サービス１１２を関与させることなく、これら２つのゲーミング・デバイス１０２間において通信を行うことができる。
【００１６】
[0020]  ゲーム・プレー・サービス１１２は、アバター調整モジュール１２０を含む。ゲームをプレーしている間、ユーザーを表すオブジェクト(object)がゲーム内にあり、これをアバターと呼ぶ。アバターは、多くの場合、ユーザーのグラフィック表示であるが、代わりに、車両、球体(orb)等のような、種々の他の形態をなすこともできる。アバター調整モジュール１２０は、１つ以上のゲームに跨がる異なるユーザーのアバター共有、および／または１つ以上のゲームに跨がるアバター間の意思疎通を容易にする。アバターは、異なるゲーム・タイトルに跨がって共有することができ、更に同じゲーム・タイトルの異なるゲームに跨がって共有することもできる。同様に、アバター間の意思疎通は、異なるゲーム・タイトルに跨がって行うことができ、更に同じゲーム・タイトルの異なるゲーム間で行うこともできる。加えて、ユーザーのアバターは、ユーザーがオンライン・ゲーミング・サービス１１０にログインしている間、および／またはユーザーがオンライン・ゲーミング・サービス１１０にログインしていないときにも共有することができる。このアバターの共有については、以下で更に詳しく論ずる。アバター調整モジュール１２０は、ゲーム・プレー・サービス１１２の一部として含まれるように示されているが、代わりに、少なくとも部分的にゲーミング・デバイス１０２に実装することもできる。
【００１７】
[0021]  対戦仲介サービス１１４は、オンライン・ゲーミング・サービス１０４に含まれるときには、ゲーミング・デバイス１０２のユーザーがゲームをプレーすることができる相手となる他のユーザーの発見を容易にする種々の機能を設ける。対戦仲介サービス１１４は、ゲーミング・デバイス１０２の物理的位置、ゲーミング・デバイス１０２のユーザーの習熟度、および／またはゲーミング・デバイス１０２および／またはゲーミング・デバイス１０２のユーザーのその他の特性に基づいてというように、種々の異なるやり方で、特定のユーザーがゲームをプレーすることができる相手となる他のユーザーを特定する。対戦仲介サービス１１４は、アカウント・アクセス・サービス１１０が知っているユーザー・アカウントに基づいて、ユーザーが特定の時点に彼らのアカウントにログインしたことに基づいて（例えば、アカウント・アクセス・サービス１１０によって示される）、他のサービスからのアカウントに基づいて（例えば、対戦仲介サービス１１４が通信することができるソーシャル・ネットワーキング・サービス）等によって、他のユーザーを特定することができる。対戦仲介サービス１１４は、ゲーミング・デバイス１０２のユーザーが同じおよび／または異なるタイプのゲーミング・デバイス１０２（例えば、デスクトップ・コンピューターの１人以上のユーザーおよびゲーム・コンソールの１人以上のユーザー、電話機の１人以上のユーザーおよびゲーム・コンソールの１人以上のユーザー等）に跨がってゲームをプレーすることができる相手となる他のユーザーを特定することができる。同様に、対戦仲介サービス１１４は、ゲーミング・デバイス１０２のユーザーが同じおよび／または異なるサービス（例えば、ゲーム・プレー・サービス１１２の１人以上のユーザー、およびオンライン・ゲーミング・サービス１０４の他のサービスの１人以上のユーザー）に跨がってゲームをプレーすることができる相手となる他のユーザーを特定することができる。また、アバター調整モジュール１２０も、以下で更に詳しく論ずるように、ユーザーのソーシャル・グラフに基づいて、ゲーミング・デバイス１０２のユーザーがゲームをプレーすることができる相手となる他のユーザーを特定することができる。対戦仲介サービス１１４が他のユーザーを発見したときはいずれも、アバター調整モジュール１２０が発見した他のユーザーに追加される。
【００１８】
[0022]  サービス１１０、１１２、および１１４の各々は、１つ以上の計算デバイスを用いて実現することができる。通例、これらの計算デバイスはサーバー・コンピューターであるが、種々の異なるタイプの計算デバイスのいずれでも、代わりに用いることができる（例えば、ゲーミング・デバイス１０２を参照して先に論じたタイプのデバイスのいずれか）。サービス１１０、１１２、および１１４の各々は、異なる計算デバイスを用いて実現することができ、または代わりに、サービス１１０、１１２、および１１４の１つ以上を、同じ計算デバイスを用いて実現することもできる。
【００１９】
[0023]  加えて、サービス１１０、１１２、および１１４は別個のサービスのように図示されているが、代わりに、これらのサービスの１つ以上を１つのサービスとして実現することもできる。例えば、ゲーム・プレー・サービス１１２および対戦仲介サービス１１４を１つのサービスとして実現することができる。更に、サービス１１０、１１２，および１１４の１つ以上の機能を多数のサービスに分離することもできる。加えて、オンライン・ゲーミング・サービス１０４の機能を多数のサービスに分離することもできる。例えば、オンライン・ゲーミング・サービス１０４は、アカウント・アクセス・サービス１１０およびゲーム・プレー・サービス１１２を含むのでもよく、異なるサービス（例えば、ソーシャル・ネットワーキング・サービス）が対戦仲介サービス１１４を含むこともできる。
【００２０】
[0024]  図２は、１つ以上の実施形態によるゲーミング・デバイスおよびディスプレイの一例を更に詳細に示す。図２は、ゲーミング・デバイス２０２を示し、これは図１のゲーミング・デバイス１０２とすることができ、ディスプレイ・デバイス２０４（例えば、テレビジョン）に結合されている。ゲーミング・デバイス２０２およびディスプレイ・デバイス２０４は、有線接続および／またはワイヤレス接続を介して通信することができる。ゲーミング・デバイス２０２は、アバター調整モジュール２１２、および入力／出力（Ｉ／Ｏ）モジュール２１４を含む。アバター調整モジュール２１２は、図１のアバター調整モジュール１２０に類似しているが、オンライン・ゲーミング・サービス内ではなく、ゲーミング・デバイス２０２内に実装されていることが示されている。
【００２１】
[0025]  入力／出力モジュール２１４は、入力の認識および／またはゲーミング・デバイス２０２による出力の供給（例えば、表示またはその他の提示）に関する機能を設ける。例えば、入力／出力モジュール２１４は、キーボードまたはマウスから入力を受け取り、ジェスチャーを特定し、このジェスチャーに対応する動作を実行させる等というように構成することができる。入力は、入力／出力モジュール２１４によって種々の異なる方法で検出することができる。
【００２２】
[0026]  入力／出力モジュール２１４は、図示されているコントローラー２１６のような、ハードウェア・デバイスとの接触相互作用によって、１つ以上の入力を受け取るように構成することができる。接触相互作用は、ボタンを押すこと、ジョイスティックを動かすこと、トラック・パッドを横切る移動、ディスプレイ・デバイス２０４またはコントローラー２１６のタッチ・スクリーンの使用（例えば、ユーザーの手の指またはスタイラスの検出）、動き検出コンポーネントによって認識される他の物理的入力（例えば、デバイスを揺する、デバイスを回転させる等）等を伴うのでもよい。接触入力の認識は、入力／出力モジュール２１４によって、ゲームと対話処理するため、ゲーミング・デバイス２０２の１つ以上の設定を変更するため等に、ゲーミング・デバイス２０２によって出力されるユーザー・インターフェースと対話処理するために利用することができる。また、デバイスとの接触相互作用を伴う種々の他のハードウェア・デバイスも考えられる。このようなハードウェア・デバイスの例には、カーソル制御デバイス（例えば、マウス）、リモコン（例えば、テレビジョンのリモコン）、移動体通信デバイス（例えば、ゲーミング・デバイス２０２の１つ以上の動作を制御するように構成されているワイヤレス電話機）、およびユーザーまたはオブジェクトの一部における接触を伴う他のデバイスが含まれる。
【００２３】
[0027]  また、入力／出力モジュール２１４は、接触（touch）即ち物理的コンタクト(contact)を伴わない他のやり方で１つ以上の入力を受け取るように構成することもできる。例えば、入力／出力モジュール２１４は、マイクロフォン（例えば、ゲーミング・デバイス２０２の一部として含まれるか、またはこれに結合されている）の使用によって、オーディオ入力を受け取るように構成することができる。他の例として、入力／出力モジュール２１４は、ジェスチャー、提示されたオブジェクト、画像等を、カメラ２１８の使用によって認識するように構成することができる。また、ゲーミング・デバイス２０２によって画像を利用して、特定のユーザー（例えば、顔認識によって）、オブジェクト等を識別する技法というような、種々の他の機能を設けることもできる。
【００２４】
[0028]  また、ゲーミング・デバイス２０２は、カメラ２１８を利用して、人体の特定点（例えば、４８ヶ所の骨格点）の特徴抽出と共に骨格マッピングを実行して、１人以上のユーザー（例えば、同時に４人のユーザー）を追跡し、動き分析を行うこともできる。例えば、カメラ２１８は画像を取り込むことができ、この画像を入力／出力モジュール２１４またはゲーミング・デバイス２０２上で動作するゲームによって分析して、ユーザーによって行われる１つ以上の動きを認識する。ユーザーの動きは、どの身体部分を用いてその動きを行ったのか、そしてどのユーザーがその動きを行ったのかを含む。これらの動きは、入力／出力モジュール２１４または動作中のゲームによってジェスチャーとして特定され、対応する動作を開始することができる。
【００２５】
[0029]  図３は、１つ以上の実施形態にしたがって友人のアバターを非プレーヤー・キャラクターとして実装するシステム例３００を示す。システム３００は、アバター調整モジュール３０２（図１のアバター調整モジュール１２０、または図２のアバター調整モジュール２１２とすることができる）、ソーシャル・ネットワーク管理モジュール３０４、ソーシャル・ネットワーク・データ・ストア３０６、ゲーム３１０の１つ以上のゲーム・モジュール３０８、およびゲーム３１４の１つ以上のゲーム・モジュール３１２を含む。
【００２６】
[0030]  ソーシャル・ネットワーク管理モジュール３０４は、システム３００のユーザー（例えば、図１のオンライン・ゲーミング・サービス１０４のアカウントを有するユーザー）のためにソーシャル・ネットワーク・データを管理する。この管理は、ユーザーのソーシャル・グラフにおいて他のユーザーを特定することを含む。システム３００の異なるユーザーのために、ソーシャル・ネットワーク・データ・ストア３０６に異なるソーシャル・ネットワーク・データを維持する。システム３００のユーザー毎に、そのユーザーの友人の記録を維持する。友人は、個人的な知り合い、仕事仲間、家族の構成員等というような、種々の異なる形態をなすことができる。ソーシャル・ネットワーク管理モジュール３０４は、ユーザーが他のユーザーを友人として特定することを可能にし、これらの友人の指示を、ユーザー毎にデータ・ストア３０６に格納する。ユーザーは、この特定のユーザーのユーザー名またはアカウント識別子を入力する、リストからこの特定のユーザーを選択する等というように、 友人である特定のユーザーを異なるやり方で特定することができる。任意に、他のユーザーが特定のユーザーの友人になりたがっていることを確認した場合にのみ、他のユーザーを特定のユーザーの友人として示すことができる。また、ソーシャル・ネットワーキング・サービス（例えば、図１のオンライン・ゲーミング・サービス１０４の外部にある）にアクセスする、他のコンポーネントまたはモジュールから友人の指示を受け取る等によってというように、他のやり方で特定のユーザーの友人を識別することもできる。
【００２７】
[0031]  ユーザーのソーシャル・グラフとは、そのユーザーの友人、そして任意に１つ以上の追加のレベルまたはステップの友人を指す。各レベルまたはステップとは、直前のレベルまたはステップにおける各ユーザーの友人のグループを意味する。例えば、第１レベルまたはステップは、ユーザーの友人であり、第２レベルまたはステップはそのユーザーの友人の友人であり、第３レベルまたはステップはユーザーの友人の友人の友人である等となる。つまり、特定のユーザーについてのソーシャル・グラフは、その特定のユーザーに知られている他のユーザー、そして任意に追加のユーザー（例えば、友人の友人）を含むことができる。また、特定のユーザーのソーシャル・グラフにおけるユーザーは、その特定のユーザーに関連があるとも言う。ソーシャル・ネットワーク管理モジュール３０４は、ユーザーのソーシャル・グラフを、アバター調整モジュール３０２に利用可能にし、任意に他のモジュールまたはプログラム（例えば、１つ以上のゲーム）にも利用可能にすることができる。
【００２８】
[0032]  ゲーム・モジュール３０８は、ゲーム３１０のモジュールであり、ゲーム・モジュール３１２は、ゲーム３１４のモジュールである。図示する例では、ゲーム３１０および３１４は、異なるユーザーがプレーしているゲームである。ゲーム３１０および３１４は、異なるゲーム・タイトルであることができ（例えば、一方はスポーツ・ゲームであり、他方はアドベンチャー・ゲームであることができる）、または代わりに、同じゲーム・タイトルの異なるゲームであることもできる。
【００２９】
[0033]  アバター調整モジュール３０２は、アバター共有モジュール３３２およびアバター通信モジュール３２４を含む。アバター共有モジュール３２２は、特定のユーザーがプレーしているゲームの中に、他のユーザーのアバターを表示することを、この特定のユーザーに可能にする機能を設ける。特定のユーザーがプレーしているゲームの中に、他のユーザーのアバターの内どれを表示できるかは、少なくとも部分的に、ソーシャル・ネットワーク・データ・ストア３０６におけるデータに基づく。これについては、以下で更に詳しく論ずる。アバター通信モジュール３２４は、異なるゲーム・タイトルおよび／または同じゲーム・タイトルの異なるゲームに跨がる異なるユーザーのアバター間における意思疎通を可能にする機能を設ける。
【００３０】
[0034]  アバターとは、ゲームにおいてユーザーを表す（および／またはユーザーによって制御される）オブジェクトである。アバターは、多くの場合、人間の外観を有する、ユーザーのグラフィック表現であり、ユーザーと同様の特徴（例えば、髪の毛の色、身長、体重等）を含むことができ、または代わりに異なる特徴を含むのでもよい。あるいは、アバターは、車両（例えば、車または宇宙船）、幾何学的形状（例えば、球体）等のような、人以外の他のオブジェクトとすることもできる。各ユーザーは、彼または彼女自身のアバターを有し、異なるユーザーのアバターは異なる特徴を有することができる。
【００３１】
[0035]  システム３００は、種々の異なるデバイスにおいて実現することができる。例えば、システム３００は、図１のゲーミング・デバイス１０２において、図１のオンライン・ゲーミング・サービス１０４において、部分的にゲーミング・デバイス１０２において、そして部分的にオンライン・ゲーミング・サービス１０４において実現することができる。
【００３２】
[0036]  １つ以上の実施形態では、アバター調整モジュール３０２は、ゲーム３１０および３１４とは離れて、これらに利用可能とされるサービスの一部として実装されている。あるいは、アバター調整モジュール３０２は、ゲーム３１０および３１４内に（少なくとも部分的に）実装することもできる。つまり、例えば、モジュール３０８はアバター共有モジュール３２２および／またはアバター通信モジュール３２４を含むことができ、あるいはアバター共有モジュール３２２および／またはアバター通信モジュール３２４によって実行されるように本明細書で論ずる機能の少なくとも一部を実現することができる。同様に、一例として、モジュール３１２はアバター共有モジュール３２２および／またはアバター通信モジュール３２４を含むことができ、あるいはアバター共有モジュール３２２および／またはアバター通信モジュール３２４によって実行されるように本明細書で論ずる機能の少なくとも一部を実現することができる。
【００３３】
[0037]  アバター共有モジュール３２２は、特定のユーザーが、他のユーザーのアバターを、この特定のユーザーがプレーしているゲーム３１０の中に表示することを可能にする。図３は、ゲーム３１０をプレーしている特定のユーザーを参照しながら論ずるが、本明細書において論ずる技法は、ゲーム３１４だけでなく他のゲームのユーザーにも適用される。他のユーザーのアバターを表示しようとするとき、特定のユーザーのソーシャル・グラフに基づいて、これらのユーザーを決定する。ソーシャル・グラフに含まれるレベルまたはステップの数は、様々に変化する可能性があり、特定のユーザーに基づいて決定することができる。例えば、特定のユーザーは、彼または彼女のグラフにどれ位のレベルまたはステップを含ませようとしているのかを示す構成値を設定することができる。
【００３４】
[0038]  アバター共有モジュール３２２は、特定のユーザーのソーシャル・グラフを（例えば、ソーシャル・ネットワーク管理モジュール３０４から）入手し、表示しようとするユーザーのアバター（またはアバターの指示）を、ゲーム３１０のモジュール３０８に供給する。ユーザーのアバターは、ソーシャル・ネットワーク・データ・ストア３０６または他のストアのような、アバター共有モジュール３２２にアクセス可能なデータ・ストアに維持することができる。アバター共有モジュール３２２は、表示しようとするユーザーのアバターを入手し、これらのアバターをモジュール３０８に供給することができる。あるいは、アバター共有モジュール３２２は、表示しようとするアバターのユーザーの識別子をモジュール３０８に供給することができ、次いで、ゲーム３１０自体がユーザーを識別してそのアバターを入手することができる。
【００３５】
[0039]  次いで、 ゲーム３１０は、これらのユーザーのアバターをゲーム３１０において非プレーヤー・キャラクター（ＮＰＣ）として表示する。非プレーヤー・キャラクターとは、その動作がユーザーではなくゲームによって制御されるキャラクターを指す。非プレーヤー・キャラクターは、通例、対戦中にユーザーのアバターを支援する、ゲームにおいてユーザーを支援するためにユーザーのアバターと交流する(interact)、ユーザーに対して戦闘または競走を挑む、ユーザーのために（またはユーザーの敵を(against)）応援する等というような、種々の行為をゲームにおいて行う。このため、ランダムにあるいは他の何らかの規則または判断基準にしたがって生成または選択された特性で非プレーヤー・キャラクターを表示するのではなく、ゲーム３１０は、少なくも一部の非プレーヤー・キャラクターを、特定のユーザーのソーシャル・グラフ（例えば、特定のユーザーの友人の非プレーヤー・キャラクター）に基づいて選択されたアバターとして表示する。アバターは、特定のユーザーのソーシャル・グラフからランダムに（または擬似ランダムに）選択する、そのアバターが他のアバターに対して最近選択されたのがいつだったのかに基づいて選択する、異なる規則または判断基準にしたがって選択する等というように、異なるやり方で選択することができる。
【００３６】
[0040]  ゲーム３１０は、これらのアバターを同様に表示し、他の非プレーヤー・キャラクターと同じ行為を行うアバターが表示される。例えば、アバターは、特定のユーザーを応援する群衆における非プレーヤー・キャラクターとして、レースにおいて特定のユーザーと競走する非プレーヤー・キャラクターとして、特定のユーザーが仮想世界を探検しているときに遭遇した非プレーヤー・キャラクターとして、レベルの終端においてラウンジに座っている非プレーヤー・キャラクターとして、降下地帯または停留所における非プレーヤー・キャラクターとして、空からパラシュートで降りてくる非プレーヤー・キャラクターとしてというように表示することができる。他の例として、１つ以上の実施形態では、ゲーム３１０は、ユーザーにゴースト・アバター(ghost avatar)と競走させる。ゴースト・アバターとは、多くの場合、ユーザーが以前にゲームをプレーしたときにユーザーが進んだ経路に従うユーザーのアバターのイメージである（例えば、以前にゲームをプレーしたときにユーザーが進んだ特定の経路）。このような実施形態では、ユーザーのアバターの画像ではなく、ゴースト・アバターは、特定のユーザーのソーシャル・グラフに基づいて選択したアバターとすることができる。つまり、ユーザーのアバターがこのユーザーのアバターのゴースト・アバターと競走するのではなく、ユーザーのアバターは、ユーザーのソーシャル・グラフにおける他のユーザーのアバター（以前のゲーム・プレーにおいてユーザーが進んだ経路に従う）のゴースト・イメージと競走することができる。
【００３７】
[0041]  尚、ユーザーのアバターが非プレーヤー・キャラクターとしてゲーム３１０において表示されているとき、これらのユーザーは、その同じゲーム・タイトルの他のゲームをプレーしている必要はない（しかし、することはできる）。これらのユーザーは、以前にゲーム３１０をプレーしたことがある必要はなく（しかし、したことがある可能性はある）、今後もゲーム３１０をプレーする必要はない（しかし、することはできる）。更に、これらのユーザーは、オンラインになっている必要がない（しかし、オンラインにすることはできる）（例えば、オンライン・ゲーミング・サービス１０４にログインする必要はない）。ゲーム３１０をプレーしていない、および／またはオンラインでないにも拘わらず、これらのユーザーのアバターは、ゲーム３１０をプレーしている特定のユーザーのソーシャル・グラフの中にこれらのユーザーが入っているために、ゲーム３１０において非プレーヤー・キャラクターとしてなおも表示される。
【００３８】
[0042]  他の実施形態では、特定のユーザーがプレーしているゲームにおいて非プレーヤー・キャラクターとして表示されるアバターは、非プレーヤー・キャラクターとしてアバターが表示されるプレーヤーがそのゲームをプレーした方法に応じたやり方で表示される。これらのユーザーは、現在特定のユーザーがプレーしているゲームの前に、そのゲームをプレーしたことがある可能性があり、および／または特定のユーザーが現在プレーしているゲームと同時にゲームをプレーしていることも可能である。アバターを表示するやり方は、アバターを表示する位置、および／またはアバターを生体として表示するかまたは死体として表示するかを含んで、様々に変化させることができる。
【００３９】
[0043]  ユーザーがゲームをプレーする方法に応じたやり方でアバターを非プレーヤー・キャラクターとして表示する状況では、アバターを非プレーヤー・キャラクターとして表示するやり方を、ゲームの１つ以上のモジュールによって追跡することができる。例えば、１人のユーザー、ユーザーＡがゲーム３１０をプレーしている間、モジュール３０８は、特定のイベントが発生する場所の記録を維持することができる（例えば、ユーザーのアバターが死ぬ毎に）、この記録は、ソーシャル・ネットワーク・データ・ストア３０６に格納することができ、または代わりにどこにでも格納することができる。他のユーザー、ユーザーＢがゲーム３１４をプレーしており、ユーザーＡがユーザーＢのソーシャル・グラフに含まれている場合、モジュール３１２は、このゲームにおけるユーザーＢのアバターの位置を監視する。ゲームにおけるユーザーＢのアバターの位置が、イベントが発生したときにユーザーＡのアバターがいた位置と同じであるとき（例えば、閾値距離以内）、ユーザーＢのアバターを、発生したイベントの指示と共に表示することができる。例えば、ユーザーＡのアバターが特定の場所で死んだ場合、ユーザーＡの死んだアバターを、その特定の場所に表示することができる。更に、１つの特定の場所で多数のイベントが発生した場合、ユーザーＡのアバターを多数回表示することができる。例えば、ユーザーＡのアバターがある特定の場所で数回死んだ場合、ユーザーＡの死んだアバターを数個（任意に、異なる姿勢で、同じアバターの多数のコピー）その特定の場所に表示することができる。
【００４０】
[0044]  更に、１つ以上の実施形態では、特定のユーザーのソーシャル・グラフの中にあるユーザーについて、ゲーム３１０において非プレーヤー・キャラクターとして表示されているアバターを利用して、これらのユーザーを特定のユーザーと共にゲームに参加させることができる。任意に、非プレーヤー・キャラクターとして表示されているユーザーのアバターは、アバターが非プレーヤー・キャラクターとして表示されているユーザーの内誰が現在オンライン（例えば、図１のオンライン・ゲーミング・サービス１０４にログインしている。これは、特定のユーザーと同じオンライン・ゲーミング・サービスである）になっているか示すように表示することができる。例えば、現在オンラインになっているユーザーのアバターのみを、非プレーヤー・キャラクターとして表示することができる。他の例として、アバターが表示されているプレーヤーが現在オンラインになっているか否か示すように、アバターの外観を変更することができる（例えば、現在オンラインになっているユーザーのアバターは、現在オンラインになっていないユーザーのアバターよりも大きく表示することができ、現在オンラインになっているユーザーのアバターは、何らかのやり方で拡大するまたは強調されるように表示することができる）。
【００４１】
[0045]  特定のユーザーは、非プレーヤー・キャラクターとして表示されているユーザーのアバターと、種々のやり方で対話または意思疎通して、特定のユーザーと一緒にゲームに参加するように、そのユーザーを誘うことができる。アバター通信モジュール３２４は、この対話または意思疎通を容易にし、ユーザーがプレーしているゲーム（および／またはユーザーによって使用されている他のプログラム）間の対話または意思疎通のためのデータを受け渡す。この対話または意思疎通は、種々の形態を取ることができる。例えば、意思疎通は、特定のユーザーが聞こえるように他のユーザーの名前を呼び上げるというように、聞くことができる呼び出し(audible call)とすることができる。他の例として、対話は、特定のユーザーが他のユーザーのアバターの肩を叩くように彼または彼女のアバターを制御する、特定のユーザーが他のユーザーのアバターにハイ・ファイブ(high-five)を与える等というような、アバター間の「物理的な」対話とすることができる。この対話または意思疎通に応答して、２人のユーザーを自動的にゲームに参加させることができ、または代わりに、特定のユーザーおよび他のユーザーを、他のユーザーが誘いを受け入れたことに応答して、ゲームに参加させることができる（例えば、彼または彼女にアバターにハイ・ファイブを返させることによって、彼または彼女のアバターに特定のユーザーのアバターと握手させることによって等）。
【００４２】
[0046]  例えば、ユーザーＡおよびユーザーＢが双方ともオンラインになっており（例えば、図１のオンライン・ゲーミング・サービス１０４のような、同じオンライン・ゲーミング・サービスにログインした）、ユーザーＢがユーザーＡのソーシャル・グラフの中にあり、ユーザーＢのアバターがユーザーＡのゲームにおいて非プレーヤー・キャラクターとして表示されていると仮定する。ユーザーＡは、ユーザーＢの名前を呼び上げることによって、ユーザーＢにユーザーＡとゲームに参加するように誘うことができる。ユーザーＡがユーザーＢの名前を呼び上げる可聴データが、ユーザーＡのゲーミング・デバイスに記録され、ユーザーＢのゲーミング・デバイスにおいて再生される。このように、異なるゲーム・タイトル（またはユーザーＡがプレーしている同じゲーム・タイトルの異なるゲーム）をプレーしているが、ユーザーＢはユーザーＡがユーザーＢの名前を呼ぶのが聞こえる。すると、ユーザーＢは、任意に、この誘いを受け入れる何らかの行為（ユーザーＡの名前を呼び上げる、特定のキー・シーケンスを押す等）を行うことができ、これに応答して、ユーザーＡおよびユーザーＢは同じゲームに参加する。このように、ユーザーＡはユーザーＢのアバターがユーザーＡのゲームにおいて非プレーヤー・キャラクターとして存在することに基づいて、ゲームに参加するようにユーザーＢを誘うことができる。
【００４３】
[0047]  他の例として、再度、ユーザーＡおよびユーザーＢが双方ともオンラインになっており（例えば、図１のオンライン・ゲーミング・サービス１０４のような同じオンライン・ゲーミング・サービスにログインした）、ユーザーＢがユーザーＡのソーシャル・グラフの中にあり、ユーザーＢのアバターがユーザーＡのゲームにおいて非プレーヤー・キャラクターとして表示されていると仮定する。ユーザーＡは、ユーザーＢのアバターの肩を叩くようにユーザーＡのアバターを制御することによって、ユーザーＢにユーザーＡとゲームに参加するように誘うことができる。この誘いの指示は、ユーザーＡのアバター（例えば、アバター共有モジュール３２２から得られる）をユーザーＢのゲームにおいて、ユーザーＢがゲームにおいてユーザーＡに加わることを要求するダイアログ・ボックスと共に、非プレーヤー・キャラクターとして表示する、ユーザーＡのアバターをユーザーＢのゲームにおいて非プレーヤー・キャラクターとして表示し、ユーザーＡのアバターがユーザーＢにゲームにおいてユーザーＡに加わる要求を聞こえるように話す、ユーザーＢのゲームにおいて非プレーヤー・キャラクターとして表示されているユーザーＡのアバターが、ゲームに加わる誘いを示すジェスチャーを行う（例えば、ユーザーAのアバターがユーザーBのアバターの肩を叩く、またはユーザーＢにハイ・ファイブを与える）等というように、異なるやり方で提示することができる。すると、ユーザーＢは、任意に、この誘いを受け入れる何らかの行為を行うことができ（ユーザーＡの名前を呼び上げる、特定のキーを押す、ユーザーＡのアバターの肩を叩くようにユーザーＢのアバターを制御する等）、これに応答して、ユーザーＡおよびユーザーＢは同じゲームに参加することができる。
【００４４】
[0048]  特定のデータの提示（例えば、可聴データの再生、ゲームに加わる要求の表示等）は、アバター通信モジュール３２４および／またはユーザー（またはユーザーが用いている他のプログラム）がプレーしているゲームのモジュールによって管理することができる。例えば、ユーザーＡがユーザーＢの名前を呼び上げた場合、この呼び上げの可聴データは、アバター通信モジュール３２４によって受信することができ、アバター通信モジュール３２４は、ユーザーＢが用いているゲーミング・デバイス上でこの可聴データを再生することができる。他の例として、ユーザーＡがユーザーＢの名前を呼び上げた場合、この呼び上げの可聴データは、ユーザーＡがプレーしているゲームによって、アバター通信モジュール３２４に供給することができ、一方、アバター通信モジュール３２４は、この可聴データを、ユーザーＢ（またはユーザーＢが用いている他のプログラム）がプレーしているゲームに供給する。すると、このユーザーＢ（またはユーザーＢが用いている他のプログラム）がプレーしているゲームは、この可聴データを、ユーザーＢが用いているゲーミング・デバイス上で再生することができる。
【００４５】
[0049]  １人のユーザーがゲームに参加するように他のユーザーを誘うと、これら２人のユーザーを自動的に同じゲームに参加させることができ、また代わりに、誘われた側からの誘いの受け入れを受けた後に、これらのユーザーを同じゲームに参加させることができる。誘われた側が、誘った側がプレーしているゲームに参加することができ、誘った側が、誘われた側がプレーしているゲームに参加することができ、または代わりに、新たなゲームを作成し、誘った側および誘われた側の双方がこの新たなゲームに参加することができる。加えて、２人のユーザーは直ちにゲームに参加することができ（１０〜３０秒というような閾値時間量を用いる）、これによって、ユーザーの一方または双方のゲームを終了させることができる（例えば、ユーザーのゲームを途中で停止してもよい）。あるいは、２人のユーザーは、双方がそれぞれのゲームにおいてしかるべき停止点または一時停止点に達した後に、ゲームに参加することもできる。しかるべき停止点または一時停止点の性質(nature)は、ゲームによって様々に異なることが可能である。例えば、２人のユーザーは、双方がそれぞれのゲームのあるレベルを完了したとき、双方がそれぞれのゲームのチェックポイントにおいて停止したとき等に、ゲームに参加することができる。
【００４６】
[0050]  ２人のユーザーが同じゲームに参加することを決定したとき、双方のユーザーが参加したゲームの管理およびゲーム・プレーは、図１のオンライン・ゲーミング・サービス１０４（例えば、ゲーム・プレー・サービス１１２）および／またはこれらのユーザーがプレーしているゲーム（例えば、図３のゲーム３１０および３１２）によって調整することができる。多数のユーザーが同じゲームをプレーしているときには、種々の異なる従来のやり方でユーザーを管理することができる。
【００４７】
[0051]  尚、ここで注記すべきは、１人のユーザーが他のユーザーのアバターと意思疎通または対話して、他のユーザーに当該１人のユーザーをゲームに加わらせることができるが、この他のユーザーのアバターは、この１人のユーザーがプレーしているゲームでは非プレーヤー・キャラクターであるということである。このアバターは、１人のユーザーがプレーしているゲームでは、他のユーザーによって制御されているのではない。また、他のユーザーは、ゲームに参加することを誘われるために、１人のユーザーと同じゲームをプレーしている必要はなく、逆に、他のユーザーは、異なるゲームをプレーしていても、ゲームにおいて特定のユーザーに加わる誘いを受けることができる。
【００４８】
[0052]  加えて、本明細書における種々の論述では、２人のユーザーがゲームに参加することについて論じたが、本明細書において論じた、友人のアバターを非プレーヤー・キャラクターとする技法は、いずれの数のユーザーでもゲームに参加させるために用いることができることも注記してしかるべきである。例えば、特定のユーザーが彼または彼女の友人の内５人の名前を呼び上げて、この特定のユーザーと共にゲームに参加するように、５人全てを誘うことができる。
【００４９】
[0053]  更に、１つ以上の実施形態では、特定のユーザーのアバターが他のユーザーのゲームにおいて非プレーヤー・キャラクターとして表示されるのは、特定のユーザーがそうすることの同意を受けた後だけである。このユーザーの同意は、オプトイン同意(opt-in consent)とすることができ、この場合、ユーザーは、彼または彼女のアバターを他のユーザーのゲームにおいて非プレーヤー・キャラクターとして使用することを要求するために、肯定的行為（例えば、ラジオ・ボタン、メニュー項目等の選択）を行う。あるいは、このユーザー同意は、オプトアウト同意(opt-out consent)とすることができ、この場合、ユーザーは、彼または彼女のアバターが他のユーザーのゲームにおいて非プレーヤー・キャラクターとして使用されないことを要求するために肯定的行為（例えば、ラジオ・ボタン、メニュー項目等の選択）を行う。ユーザーが、彼または彼女のアバターを他のユーザーのゲームにおいて非プレーヤー・キャラクターとして使用させることをオプトアウトする選択を行わない場合、彼または彼女のアバターを他のユーザーのゲームにおいて非プレーヤー・キャラクターとして使用することを許可することのユーザーによる暗黙の同意となる。
【００５０】
[0054]  図４は、１つ以上の実施形態にしたがって、友人のアバターを非プレーヤー・キャラクターとして実装するプロセス例４００を示すフローチャートである。プロセス４００は、図３のシステム３００のようなシステムによって実行され、ソフトウェア、ファームウェア、ハードウェア、またはその組み合わせで実現することができる。プロセス４００は、１組の動作(act)として示されており、種々の動作の処理を実行するために示す順序に限定されるのではない。プロセス４００は、友人のアバターを非プレーヤー・キャラクターとして実装するプロセスの一例であり、友人のアバターを非プレーヤー・キャラクターとして実装することについては、異なる図を参照する追加の論述が本明細書に含まれる。
【００５１】
[0055]  プロセス４００において、あるユーザーと関連がある１人以上の他のユーザーを、当該ユーザーのソーシャル・グラフに基づいて特定する（動作４０２）。このソーシャル・グラフは、先に論じたように、いずれの数のステップまたはレベルでも含むことができる。
【００５２】
[0056]  動作４０２において特定した１人以上の他のユーザーの内少なくとも１人について、この他のユーザーのアバターを入手する（動作４０４）。１人以上の他のユーザーの各々にアバターを入手することができ、または代わりに、１人以上の他のユーザーから選択した者のアバターだけを入手することもできる（例えば、他のユーザーの内オンラインになっている者のアバター、閾値数のアバター（例えば、５つのアバター、動作４０２において特定した他のユーザーの数の２０％等））。
【００５３】
[0057]  動作４０４において入手したアバターを、ユーザーがプレーしているゲームにおいて、非プレーヤー・キャラクターとして含ませる（動作４０６）。これらの非プレーヤー・キャラクターは、先に論じたように、ゲームにおいて種々の動作(action)を行うことができる。加えて、ユーザーは、先に論じたように、アバターが非プレーヤー・キャラクターとして表示されているユーザーに、当該ユーザーと共にゲームに参加することを誘うために、非プレーヤー・キャラクターと対話または意思疎通することができる。
【００５４】
[0058]  図５は、１つ以上の実施形態にしたがって、ユーザーに、ゲームに参加するように他のユーザーを誘うことを可能にするプロセス例５００を示すフローチャートである。プロセス５００は、図３のシステム３００のような、システムによって実行され、ソフトウェア、ファームウェア、ハードウェア、またはその組み合わせで実現することができる。プロセス５００は、１組の動作(act)として示されており、種々の動作の処理を実行するために示す順序には限定されない。プロセス５００は、ユーザーに、ゲームに参加するように他のユーザーを誘うことを可能にするプロセス例であり、ゲームに参加するように他のユーザーを誘うことを可能にすることについては、異なる図を参照する追加の論述が本明細書に含まれる。
【００５５】
[0059]  プロセス５００では、第１ユーザーがプレーしているゲームにおいて、第２ユーザーのアバターを非プレーヤー・キャラクターして含ませる（動作５０２）。これらの非プレーヤー・キャラクターは、先に論じたように、ゲームにおいて種々の動作を行うことができる。先に論じたように、第２ユーザーは第１ユーザーのソーシャル・グラフに含まれている。
【００５６】
[0060]  第１ユーザーの第２ユーザーのアバターと対話または意思疎通する要求を受ける（動作５０４）。この要求は、先に論じたように、第２ユーザーに第１ユーザーと一緒にゲームに参加することの誘いまたは要求である。対話または意思疎通は、先に論じたように、聞くことができる要求、アバターの肩を叩く等というような、種々の異なる形態をなすことができる。
【００５７】
[0061]  この誘いの指示を第２ユーザーに提示する（動作５０６）。先に論じたように、聴くことができる再生、第１ユーザーのアバターがジェスチャーを行う等というように、この誘いの指示は異なるやり方で提示することができる。
【００５８】
[0062]  本明細書では、通信、受信、格納、生成、入手等というような、 種々のモジュールによって実行する種々の動作について論じた。尚、これら種々のモジュールがこのような動作を実行させることができることは、注記してしかるべきである。動作を実行させる特定のモジュールには、その動作を実行する特定のモジュール自体が含まれ、または代わりに、その動作を実行する（または、その特定のモジュールと共に動作を実行する）他のコンポーネントまたはモジュールを呼び出す、あるいはそうでなければアクセスする特定のモジュールが含まれる。
【００５９】
[0063]  このように、本明細書において論じた、友人のアバターを非プレーヤー・キャラクターとする技法は、種々の使用想定場面をサポートする。ユーザーは、ゲームをプレーするときに、他のランダム・キャラクターの代わりに、彼らの友人（または友人の友人）を非プレーヤー・キャラクターに用いることができる。更に、ユーザーは、他のユーザーの非プレーヤー・キャラクターのアバターと対話または意思疎通して（例えば、ユーザーのアバターを通じて）、ゲームに参加するように他のユーザーを誘うことができる。このように、他のユーザーをゲームに参加するように誘うために１つ以上のメニューをくまなくナビゲートするのではなく、ユーザーは、アバター間の単なる対話（または他のユーザーのアバターとの意思疎通）によって、ゲームに参加するように他のユーザーを誘うことができる。
【００６０】
[0064]  図６は、１つ以上の実施形態にしたがって、友人のアバターを非プレーヤー・キャラクターとして実装するように構成することができる計算デバイス例６００を示す。例えば、計算デバイス６００は、図１のゲーミング・デバイス１０２であること、図１のオンライン・ゲーミング・サービス１０４の少なくとも一部を実装すること、図２のゲーミング・デバイス２０２であること、または図３のシステム３００の一部を実装することができる。
【００６１】
[0065]  計算デバイス６００は、１つ以上のプロセッサーまたは演算装置６０２、１つ以上のメモリーおよび／または記憶コンポーネント６０６を含むことができる１つ以上のコンピューター読み取り可能媒体６０４、１つ以上の入力／出力（Ｉ／Ｏ）デバイス６０８、ならびにこれら種々のコンポーネントおよびデバイスが互いに通信することを可能にするバス６１０を含む。コンピューター読み取り可能媒体６０４および／または１つ以上のＩ／Ｏデバイス６０８は、計算デバイス６００の一部として含めることができ、または代わりに計算デバイス６００に結合されてもよい。バス６１０は、種々の異なるバス・アーキテクチャーを用いる、メモリー・バスまたはメモリー・コントローラー、周辺バス、加速グラフィクス・ポート、プロセッサーまたはローカル・バスなどを含む、様々なタイプのバス構造の内１つ以上を表す。バス６１０は、有線バスおよび／またはワイヤレス・バスを含むことができる。
【００６２】
[0066]  メモリー／記憶コンポーネント６０６は、１つ以上のコンピューター記憶媒体を表す。コンポーネント６０６は、揮発性媒体（ランダム・アクセス・メモリー（ＲＡＭ）のような媒体）および／または不揮発性媒体（リード・オンリー・メモリー（ＲＯＭ）、フラッシュ・メモリー、光ディスク、磁気ディスク等のような媒体）を含むことができる。コンポーネント６０６は、固定媒体（例えば、ＲＡＭ、ＲＯＭ、固定ハード・ドライブ等）、およびリムーバブル媒体（例えば、フラッシュ・メモリー・ドライブ、リムーバブル・ハード・ドライブ、光ディスク等）を含むことができる。
【００６３】
[0067]  本明細書において論じた技法は、ソフトウェアで実現することができ、１つ以上の演算装置６０２によって命令を実行する。尚、演算装置６０２、演算装置６０２の種々のキャッシュ・メモリー、デバイス６００（図示せず）の他のキャッシュ・メモリー、他のコンピューター読み取り可能媒体等のような、計算デバイス６００の異なるコンポーネントに、異なる命令を格納できることは認められてしかるべきである。加えて、命令が計算デバイス６００において格納される場所も、ときの経過と共に変更する可能性があることも認められてしかるべきである。
【００６４】
[0068]  １つ以上の入力／出力デバイス６０８は、ユーザーにコマンドおよび情報を計算デバイス６００に入力させ、更に情報をユーザーおよび／または他のコンポーネントやデバイスに提示させる。入力デバイスの例には、キーボード、カーソル制御デバイス（例えば、マウス）、マイクロフォン、スキャナー等が含まれる。出力デバイスの例には、ディスプレイ・デバイス（例えば、モニターまたはプロジェクター）、スピーカー、プリンター、ネットワーク・カード等が含まれる。
【００６５】
[0069]  本明細書では、ソフトウェアまたはプログラム・モジュールという一般的なコンテキストで、種々の技法について説明することができる。一般に、ソフトウェアはルーチン、プログラム、アプリケーション、オブジェクト、コンポーネント、データ構造等を含み、特定のタスクを実行するか、または特定の抽象データ・タイプを実装する。これらのモジュールおよび技法の一実施態様は、何らかの形態のコンピューター読み取り可能媒体上に格納すること、またはそれを通じて送信することもできる。コンピューター読み取り可能媒体は、計算デバイスによってアクセスすることができる入手可能な１つまたは複数の媒体であればいずれでも可能である。一例として、そして限定ではなく、コンピューター読み取り可能媒体は、「コンピューター記憶媒体」および「通信媒体」を含むことができる。
【００６６】
[0070]  「コンピューター記憶媒体」は、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含み、コンピューター読み取り可能命令、データ構造、プログラム・モジュール、またはその他のデータというような情報の格納方法または技術のいずれかで実現される。コンピューター記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリーまたはその他のメモリー技術、ＣＤ−ＲＯＭ、ディジタル・バーサタイル・ディスク（ＤＶＤ）またはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたは他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができコンピューターによってアクセスすることができる他のいずれの媒体も含まれるが、これらに限定されるのではない。
【００６７】
[0071]  「通信媒体」は、通例、コンピューター読み取り可能命令、データ構造、プログラム・モジュール、またはその他のデータを、搬送波のような変調データ信号、またはその他の伝達メカニズムに具体化する。また、通信媒体はあらゆる情報配信媒体も含む。「変調データ信号」という用語は、この信号の中に情報をエンコードするようなやり方で、その特性の１つ以上が設定または変更されている信号を意味する。一例として、そして限定ではなく、通信媒体は、有線ネットワークまたは直接有線接続というような有線媒体、ならびに音響、ＲＦ、赤外線、およびその他のワイヤレス媒体というようなワイヤレス媒体を含む。以上の品目のいずれの組み合わせも、コンピューター読み取り可能媒体の範囲内に含まれるものとする。
【００６８】
[0072]  一般に、本明細書において説明した機能または技法は、ソフトウェア、ファームウェア、ハードウェア（例えば、固定論理回路）、手動処理、またはこれらの実施態様の組み合わせを用いて実現することができる。「モジュール」および「コンポーネント」という用語は、本明細書において用いる場合、ソフトウェア、ファームウェア、ハードウェア、またはその組み合わせを総合的に表す。ソフトウェアの実施態様の場合、モジュールまたはコンポーネントは、プロセッサー（例えば、ＣＰＵまたは複数のＣＰＵ）上で実行したときに、指定されたタスクを実行するプログラム・コードを表す。プログラム・コードは、１つ以上のコンピューター読み取り可能メモリー・デバイスに格納することができる。これについてのこれ以上の説明は、図６を参照すると分かるであろう。本明細書において説明した友人のアバターを非プレーヤー・キャラクターとする技法の特徴は、プラットフォーム独立ということであり、これが意味するのは、本技法は、種々のプロセッサーを有する種々の商用計算プラットフォーム上で実現できるということである。
【００６９】
[0073]  以上、構造的特徴および／または方法論的動作に特定的な文言で主題について説明したが、特許請求の範囲において定められる主題は、以上で説明した具体的な特徴や動作には必ずしも限定されないことは言うまでもない。逆に、以上で説明した具体的な特徴および動作は、特許請求の範囲を実現する形態例として開示したまでである。
【図１】
0005993449.tif 000002
【図２】
0005993449.tif 000003
【図３】
0005993449.tif 000004
【図４】
0005993449.tif 000005
【図５】
0005993449.tif 000006
【図６】
0005993449.tif 000007