(57)【要約】  動的に構成可能なコンテキストゲーマーオプションメニューがオンラインゲームプレイヤーにオプションを提供する。ゲームオプションは、プレイ中のゲームの機能、およびゲームプレイヤー間の関係として判定される。ゲームオプションは、関係およびコンテキストの変化に応じて動的に更新、追加、および／または削除される。【選択図】  図７
2010523206.tif 000002
【特許請求の範囲】
【請求項１】
第１のゲームプレイヤーと少なくとも第２のゲームプレイヤー間の関係（６４、６５）に応じた少なくとも１つのゲームオプションを有するメニュー（６６）を動的に指定するステップを含み、
前記少なくとも１つのゲームオプションが前記関係の変化に応じて動的に変更可能であり、
前記少なくとも１つのゲームオプションがゲームアプリケーションによって指定される、
ゲームオプションを指定するための方法。
【請求項２】
前記少なくとも１つのゲームオプションの各それぞれの１つを表す表示可能な表示を提供するステップ（６８）をさらに含み、
表示可能な表示の個数は、前記関係に応じ、
表示可能な表示の前記個数は、前記関係の変化に応じて動的に変更可能である、
請求項１に記載の方法。
【請求項３】
前記ゲームアプリケーションによって、ユーザーインターフェースイベントの発生の通知を受信するステップ（６９）と、
前記ゲームアプリケーションによって、前記ユーザーインターフェースイベントに関連する関係情報を取得するステップ（６４、６５）と、
前記ゲームアプリケーションによって、前記関係情報に関するゲームオプションが指定されるべきかを判定するステップ（７０）と、
（７０）前記関係情報に関するゲームオプションが指定されるべき場合、前記関係情報に関する前記ゲームオプションを指定するステップ（７１、７２、７３）と
をさらに含む、請求項１に記載の方法。
【請求項４】
前記少なくとも１つのゲームオプションからゲームオプションを選択するステップと、
前記ゲームアプリケーションによって、前記選択されたゲームオプションの表示を受信するステップと、
前記ゲームアプリケーションによって、前記選択されたゲームオプションに関連するアクションを判定するステップと、
前記ゲームアプリケーションによって、前記判定されたアクションを実行するステップと
をさらに含む、請求項１に記載の方法。
【請求項５】
前記第１のプレイヤーに前記第２のプレイヤーのプロファイルをレンダリングするステップと、
前記プロファイルに応じて前記少なくとも１つのゲームオプションの少なくとも１つをレンダリングするステップと
をさらに含み、
前記少なくとも１つのゲームオプションの前記少なくとも１つが前記プロファイルの変化に応じて動的に変更可能である、
請求項１に記載の方法。
【請求項６】
前記少なくとも１つのゲームオプションが、プレイされているゲームにさらに応じ、
前記少なくとも１つのゲームオプションが前記ゲームの変化に応じて動的に変更可能である、
請求項１に記載の方法。
【請求項７】
前記第２のプレイヤーがグループのメンバーでない場合、前記少なくとも１つのゲームオプションの１つが前記第２のプレイヤーを前記グループに参加するように招待するためのゲームオプションを有し、
前記第２のプレイヤーがグループのメンバーである場合、前記グループに参加するための招待を有するゲームオプションはレンダリングされない、
請求項１に記載の方法。
【請求項８】
第１のゲームプレイヤーと少なくとも第２のゲームプレイヤー間との関係を判定し、
前記関係に応じて少なくとも１つのゲームオプションを判定する
ように構成された処理部（７８、５２１）と、
前記少なくとも１つのゲームオプションを有するメニューを動的にレンダリングするように構成されたディスプレイ部（３２、５４７、５４９）と
を有し、前記少なくとも１つのゲームオプションが前記関係の変化に応じて動的に変更可能である、ゲームオプションを指定するためのシステム（７６、５６０、５４９）。
【請求項９】
前記ディスプレイ部を介して、前記少なくとも１つのゲームオプションの各それぞれの１つを表す表示可能な表示をレンダリングするようにさらに構成され、
レンダリングされる表示可能な表示の個数は、前記関係に応じ、
表示可能な表示の前記個数は、前記関係の変化に応じて動的に変更可能である、
請求項８に記載のシステム（７６、５６０、５４９）。
【請求項１０】
前記処理部がゲームアプリケーションを実行するようにさらに構成され、前記ゲームアプリケーションが、
ユーザーインターフェースイベントの発生の通知を受信し、
前記ユーザーインターフェースイベントに関連する関係情報を取得し、
前記関係情報に関するゲームオプションが指定されるべきかを判定し、
前記関係情報に関するゲームオプションが指定されるべき場合、前記ディスプレイ部を介して、前記関係情報に関する前記ゲームオプションをレンダリングする
ように構成された、請求項８に記載のシステム（７６、５６０、５４９）。
【請求項１１】
前記処理部が、
前記少なくとも１つのゲームオプションからゲームオプションを選択し、
前記ゲームアプリケーションに、前記選択されたゲームオプションの表示を提供し、
前記ゲームアプリケーションを介して、前記選択されたゲームオプションに関連するアクションを判定し、
前記ゲームアプリケーションによって、前記判定されたアクションを実行する
ようにさらに構成された、請求項８に記載のシステム（７６、５６０、５４９）。
【請求項１２】
前記ディスプレイ部を介して、前記第１のプレイヤーに前記第２のプレイヤーのプロファイルをレンダリングし、
前記ディスプレイ部を介して、前記プロファイルに応じて前記少なくとも１つのゲームオプションの少なくとも１つをレンダリングする
ようにさらに構成され、前記少なくとも１つのゲームオプションの前記少なくとも１つが前記プロファイルの変化に応じて動的に変更可能である、
請求項８に記載のシステム（７６、５６０、５４９）。
【請求項１３】
前記少なくとも１つのゲームオプションが、プレイされているゲームにさらに応じ、
前記少なくとも１つのゲームオプションが前記ゲームの変化に応じて動的に変更可能である、
請求項８に記載のシステム（７６、５６０、５４９）。
【請求項１４】
前記第２のプレイヤーがグループのメンバーでない場合、前記少なくとも１つのオプションの１つが前記第２のプレイヤーを前記グループに参加するように招待するためのオプションを有し、
前記第２のプレイヤーがグループのメンバーである場合、前記グループに参加するための招待を有するオプションはレンダリングされない、
請求項８に記載のシステム（７６、５６０、５４９）。
【請求項１５】
第１のゲームプレイヤーと少なくとも第２のゲームプレイヤー間の関係に応じた少なくとも１つのゲームオプションを有するメニューを動的に指定するためのコンピューター実行可能な命令を記憶し、前記少なくとも１つのゲームオプションが前記関係の変化に応じて動的に変更可能であるコンピューター可読メディア（８０、５６２、５２７、５２８、５３０、５５０）。
【請求項１６】
前記コンピューティング実行可能な命令が、前記少なくとも１つのゲームオプションの各それぞれの１つを表す表示可能な表示をさらに指定し、
レンダリングされる表示可能な表示の個数は、前記関係に応じ、
表示可能な表示の前記個数は、前記関係の変化に応じて動的に変更可能である、
請求項１５に記載のコンピューター可読メディア（８０、５６２、５２７、５２８、５３０、５５０）。
【請求項１７】
前記コンピューター実行可能な命令が、
前記第１のプレイヤーに前記第２のプレイヤーのプロファイルをさらに提供し、
前記プロファイルに応じて前記少なくとも１つのゲームオプションの少なくとも１つをさらに提供し、
前記少なくとも１つのゲームオプションの前記少なくとも１つが前記プロファイルの変化に応じて動的に変更可能である、
請求項１５に記載のコンピューター可読メディア（８０、５６２、５２７、５２８、５３０、５５０）。
【請求項１８】
前記少なくとも１つのゲームオプションが、プレイされているゲームにさらに応じ、
前記少なくとも１つのオプションが前記ゲームの変化に応じて動的に変更可能である、
請求項１５に記載のコンピューター可読メディア（８０、５６２、５２７、５２８、５３０、５５０）。
【請求項１９】
前記第２のプレイヤーがグループのメンバーでない場合、前記少なくとも１つのゲームオプションの１つが前記第２のプレイヤーを前記グループに参加するように招待するためのゲームオプションを有し、
前記第２のプレイヤーがグループのメンバーである場合、前記グループに参加するための招待を有するゲームオプションはレンダリングされない、
請求項１５に記載のコンピューター可読メディア（８０、５６２、５２７、５２８、５３０、５５０）。
【請求項２０】
前記コンピューター実行可能な命令が、
前記ゲームアプリケーションによって、ユーザーインターフェースイベントの発生の通知をさらに受信し、
前記ゲームアプリケーションによって、前記ユーザーインターフェースイベントに関連する関係情報をさらに取得し、
前記ゲームアプリケーションによって、前記関係情報に関するゲームオプションが指定されるべきかをさらに判定し、
前記関係情報に関するゲームオプションが指定されるべき場合、前記関係情報に関する前記ゲームオプションをさらに指定する、
請求項１５に記載のコンピューター可読メディア（８０、５６２、５２７、５２８、５３０、５５０）。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術分野は概してコンピューター処理に関し、より具体的にはオンラインゲームプレイに関する。
【背景技術】
【０００２】
オンラインゲームは、ゲームシステムに追加機能および柔軟性を要求する、絶えず高度化するプレイヤーが存在する巨大成長事業である。現在のゲームおよびゲームシステムの問題は、メニューが静的なことである。現在のメニューは、プレイヤーを所定のメニュー選択項目に静的に限定し、プレイヤーがゲームをプレイしているコンテキストを考慮しない。一般的に、ゲームサービスのユーザーインターフェースとゲームコンソールのユーザーインターフェース間の対話は限定される。ゲームサービスが特定のプレイヤーに提供したい特殊なアクションは、ゲームコンソールのユーザーインターフェース内に表示する必要があり、ゲーム開発者側の追加作業が不可欠であり、かつゲームプレイ体験全体の質を低下させる可能性がある。
【発明の概要】
【０００３】
以下で、発明を実施するための形態でさらに説明される概念の抜粋を簡潔な形で紹介する。この課題を解決するための手段は、特許請求される主題の主要または重要な特徴を特定することは意図されておらず、また、特許請求される主題の範囲を限定するために使用されることも意図されていない。
【０００４】
動的に構成可能なコンテキストゲーマーオプションメニューは、オプションを、プレイ中のゲームの機能、およびゲームプレイヤー間の関係としてゲームプレイヤーに提供する。メニュー内のオプションの数およびオプションの種類は、プレイ中のゲームの変化およびゲームプレイヤー間の関係の変化に応じて動的に変更可能である。
【０００５】
前述の概要および以下の詳細な説明は、添付の図面と関連付けて読めば、よりよく理解できるであろう。コンテキストゲーマーオプションメニューを示す目的で、その例示の構成が図面に示されている。ただし、コンテキストゲーマーオプションメニューは、開示される特定の方法および手段だけに限定されない。
【図面の簡単な説明】
【０００６】
【図１】動的コンテキストゲーマーオプションメニューの実施態様を示したシステム例の図である。
【図２】動的コンテキストゲーマーオプションメニュー例の図である。
【図３】動的コンテキストゲーマーオプションメニュー例の別の図である。
【図４】動的アクションを示した動的コンテキストゲーマーオプションメニュー例の別の図である。
【図５】ゲームプレイヤーに別のゲームプレイヤーのゲーム固有の情報へのアクセスを許可するゲームオプションを示した動的コンテキストゲーマーオプションメニュー例の図である。
【図６】ゲームプレイヤーに別のゲームプレイヤーへのカスタムメッセージの送信を許可するゲームオプションを示した動的コンテキストゲーマーオプションメニュー例の図である。
【図７】動的コンテキストゲーマーオプションメニューを介してゲームオプションをレンダリングするためのプロセス例の流れ図である。
【図８】動的コンテキストゲーマーオプションメニューが実施できるゲームコンソール例のブロック図である。
【図９】動的コンテキストゲーマーオプションメニューを実施するための例示のプロセッサーの図である。
【図１０】動的コンテキストゲーマーオプションメニューが実施できる適切なコンピューティング環境例の図である。
【発明を実施するための形態】
【０００７】
動的に構成可能なコンテキストゲーマーオプションメニューは、オプションをプレイ中のゲームの機能、およびゲームプレイヤー間のコンテキスト関係としてゲームプレイヤーに提供する。メニュー上の様々なボタンが、プレイヤー間の関係という種類の機能およびプレイヤーの状況として生成および／または変更される。第１のプレイヤーは第２のプレイヤーのゲーマープロファイルを見ることができ、特定のゲームのコンテキストでは、動的に構成可能なコンテキストゲーマーオプションメニュー上のオプションは、第１のプレイヤーおよび第２のプレイヤーに関連付けられた情報に基づいて生成される。例えば、第１のプレイヤーがゲーム（例えば、ＨＡＬＯ  ２）内でチームのメンバーである場合、第１のプレイヤーは、第２のプレイヤーを第１のプレイヤーのチームに加わるように招待することができる。招待オプションは、動的に構成可能なコンテキストゲーマーオプションメニューを介してレンダリングされる。動的に構成可能なコンテキストゲーマーオプションメニューは、第２のプレイヤーのゲームデバイス（例えば、ＸＢＯＸ（登録商標）３６０などの専用ゲームコンソール、ＰＣなどの汎用プロセッサー）上でレンダリングされる。ゲームデバイスとしてＸＢＯＸ（登録商標）３６０を使用する実施形態例では、動的に構成可能なコンテキストゲーマーオプションメニューは、プレイヤーのゲームカードの一部としてレンダリングされる。
【０００８】
ゲームオプションは、ゲームアプリケーションによって動的コンテキストゲーマーオプションメニューに追加、削除、および／または修正される。ゲームアプリケーションは、第１のプレイヤーが第２のプレイヤーに関する情報を提供されていることを示す情報をゲームサービス／システムから受信する。ゲームは、ゲームによって判定される、ゲームに関係のある追加カスタムアクションを指定することができる。ゲームは、第２のプレイヤーに関して第１のプレイヤーによってカスタムアクションが実行されたことを、ゲームサービス／システムによって通知される。実施形態の一例では、ゲームオプションは、ゲームを実行し、ゲームサービス／システムに接続され、第２のプレイヤーを表示するアクションを実行する第１のプレイヤーによって使用可能にされる。しかし、第２のプレイヤーが、ゲームサービス／システムに知られていること以外、ゲームサービス／システム上で特定の状況であることは必要ない。第２のプレイヤーは、オンラインまたはオフラインでよい。
【０００９】
ゲームオプションは、ユーザー毎に動的コンテキストゲーマーオプションメニューに追加、削除、および／または修正できる。実施形態の一例では、第１のプレイヤーが第２のプレイヤーのプロファイルを見る場合、ゲームは、第２のプレイヤーのプロファイル上の、第１のプレイヤーが使用できるアクションの種類を第１および第２のプレイヤー間の関係のコンテキストに基づいて修正することができる。例えば、第２のプレイヤーが第１のプレイヤーの友人でない（例えば、第１のプレイヤーの友人リスト上にない）場合、第１のプレイヤーの動的コンテキストゲーマーオプションメニューに「友人の追加」などのゲームオプションが動的にレンダリングされ、第１のプレイヤーが第２のプレイヤーを第１のプレイヤーの友人リストに加わるように招待できるようになる。別の例として、第２のプレイヤーが第１のプレイヤーのギルドまたはチーム内にいない場合、第１のプレイヤーの動的コンテキストゲーマーオプションメニューで「ギルドへの招待」または「チームへの招待」などのゲームオプションが動的にレンダリングされ、第１のプレイヤーが第２のプレイヤーを第１のプレイヤーのギルドまたはチームに加わるように招待できるようになる。２人のプレイヤーが同じチームにいて、プレイヤー１がチームのキャプテンであり、プレイヤー２がそのチームにいる別の例では、オプションは「副キャプテンに昇格」および「チームから除去」を含むことができる。
【００１０】
図１は、動的コンテキストゲーマーオプションメニューが利用できるシステム例の図である。ゲームサービス１２は、ネットワーク２０を介してデバイス１４、１６、１８にゲームサービスを提供する。ゲームサービス１２は、例えば、オンラインゲームサービスなどのサービスの一部であってよい。ゲームサービス１２は、デバイス１４、１６、１８にゲームサービスを提供するように構成された任意の適切なプロセッサー、またはプロセッサーの組合せを備えることができる。構成の一例では、ゲームサービス１２は、Ｒｅｄｍｏｎｄ、ＷａｓｈｉｎｇｔｏｎのＭＩＣＲＯＳＯＦＴ  ＣＯＲＰＯＲＡＴＩＯＮによって提供される、例えば、ＸＢＯＸ（登録商標）ＬＩＶＥ（商標）などのオンラインマルチプレイヤーゲームと関連するサービスを提供するように構成された１つまたは複数のサーバーを備える。ネットワーク２０は、例えば、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク、インターネット、ホームネットワーク、企業ネットワーク、またはそれらの組合せなど、任意の適切なネットワークを備えることができる。
【００１１】
デバイス１４、１６および１８は、動的コンテキストゲーマーオプションメニューをレンダリングするように構成された１つまたは複数の任意の適切なデバイスを表す。実施形態の一例では、本明細書で説明されているように、ゲームオプションをレンダリングすることは、ゲームオプションの表示可能な表示を含む。デバイス１４、１６および１８は、単一のデバイスを表すこともできる。デバイス１４、１６および１８は、複数のデバイスを表すこともできる。各デバイス１４、１６および１８は、動的コンテキストゲーマーオプションメニューをレンダリングすることができる、例えば、汎用プロセッサー、ラップトップ、ＰＣ、デスクトップ、サーバー、セットトップボックス、携帯電話、携帯娯楽デバイス、パーソナルデジタルアシスタント（ＰＤＡ）、専用ゲームコンソール（例えば、ＸＢＯＸ（登録商標）３６０）など、任意の適切なプロセッサーを備えることができる。ゲームサービス１２ならびにデバイス１４、１６および１８は、それぞれ、インターフェース２２、２４、２６、２７および２８を介してネットワーク２０に結合される。インターフェース２２、２４、２６、２７および２８は、無線インターフェース、有線インターフェース、またはそれらの組合せなど、任意の適切なインターフェースを表す。デバイス１４、１６、１８は、ネットワーク２０を介してそれら相互間で通信できる。デバイス１４、１６、１８は、ネットワーク２０およびゲームサービス１２を介してそれら相互間で通信できる。
【００１２】
プロセッサー２５は、ゲームプレイヤーおよびゲームについての情報（例えば、関係、アクション）に関する情報をデバイス１４、１６、１８に提供するように構成された任意の適切なプロセッサーを表す。例えば、プロセッサー２５は、汎用プロセッサー、ＸＢＯＸ（登録商標）Ｌｉｖｅ  Ｓｅｒｖｅｒ  Ｐｌａｔｆｏｒｍ（ＸＬＳＰ）、デバイス１４、１６、１８の一部（例えば、プロセッサー２５は、ゲームコンソールの一部であってよい）、またはそれらの組合せを備えることができる。実施形態の一例では、デバイス１４、１６、１８は、ゲームサービス１２に接続することができ、動的ゲームオプションメニューは、関係を判定して、その結果、レンダリングするオプションのリストを判定するために、プロセッサー２５にアクセスして、ゲームサービス１２の外で記憶されている情報を取得する。実施形態の一例では、ゲームサービス１２は、ゲームデバイス１４、１６、１８にゲームオプションを提供する。例えば、ゲームデバイス１４、１６、１８とゲームサービス１２との間に双方向通信が確立できる。ゲームデバイス１４、１６、１８は、ゲームサービス１２にコンテキスト（例えば、これは、プレイヤー２について問い合わせているプレイヤー１である）を提供し、ゲームサービス１２は、ゲームデバイス１４、１６、１８に、プレイヤー１とプレイヤー２間の関係のために実行できるゲームオプションのセットを提供する。
【００１３】
シナリオの一例では、デバイス１４、１６、１８がＸＢＯＸ（登録商標）３６０ゲームコンソールを備えていて、ゲームサービス１２がＸＢＯＸ（登録商標）ＬＩＶＥサービスを備えている場合、第１のプレイヤーは第１のＸＢＯＸ（登録商標）３６０ゲームコンソール上でオンラインマルチプレイヤーゲームＸをプレイしていてよいし、第２のプレイヤーは、第２のＸＢＯＸ（登録商標）３６０ゲームコンソール上で同じオンラインマルチプレイヤーゲームＸをプレイしていてよい。ゲームＸは、どのプレイヤーが表示していて、どのプレイヤーが表示されているかの通知を受信し、ゲームは、任意の適切なプロセッサー（例えば、プロセッサー２５、ＸＬＳＰサーバーなど）に連絡して、プレイヤーとゲーム間の関係に関する情報を要求する。プロセッサーは関係情報を返し、ゲームは、ＡＰＩ（アプリケーションプログラムインターフェース）を呼び出して、動的コンテキストゲーマーオプションメニューに適切なゲームオプションをレンダリングする（適切なボタンを設定する）。第１のプレイヤーは、動的コンテキストゲーマーオプションメニューからゲームオプションを選択できる。第１のプレイヤーによって選択されたゲームオプションの通知を（ユーザーインターフェースＵＩおよび／またはゲームコンソールのオペレーティングシステムから）受信すると、ゲームアプリケーションは、第１のプレイヤーが選択したゲームオプションに基づいて、実行すべき適切なアクションを判定する。その後、ゲームアプリケーションは適切なアクションを実行する。
【００１４】
実施形態の一例では、デバイス１４、１６、１８は、ゲームコンソールまたはパーソナルコンピューター（ＰＣ）などの汎用プロセッサーを備えることができるが、そのゲームコンソール／ＰＣは、ゲームアプリケーションとは別のシステムソフトウェアを備える。この実施形態例では、システムソフトウェアは、ゲームコンソール／ＰＣ上で発生するユーザーインターフェース（ＵＩ）イベント（例えば、他のプレイヤーに関連する情報を表示する）を検出する。システムソフトウェアは、ゲームアプリケーションにＵＩイベントの通知を提供する。ゲームアプリケーションはその通知を受信して、ＵＩイベントに関連する関係情報を取得する。ゲームアプリケーションは、例えば、ゲームサービス１２、プロセッサー２５、ゲームデバイス１４、１６、１８またはそれらの組合せなど、任意の適切なソースから、別のゲームプレイヤーについてのＵＩイベントに関する関係情報を取得できる。ゲームアプリケーションは、関係情報を受信すると、動的コンテキストゲーマーオプションメニューにその関係情報に関するゲームオプションが指定されるべきかを判定する。ゲームアプリケーションが、動的コンテキストゲーマーオプションメニューにゲームオプションが指定されるべきであると判定した場合、そのゲームオプションは動的コンテキストゲーマーオプションメニューに表示される。
【００１５】
図２は、動的コンテキストゲーマーオプションメニュー例３０の図である。図１は、ゲームシステムオプションを含むメニュー３０の「スクリーンショット」例を示している。以下で説明されるように、図２に示されたゲームオプションのリストに、動的に生成されるコンテキストゲームオプションが追加できる。動的コンテキストゲーマーオプションメニュー３０は、ディスプレイ３２にレンダリングされるものとして示されている。ディスプレイ３２は、デバイス１４、１６、１８のディスプレイなど、任意の適切なディスプレイを備えることができる。動的コンテキストゲーマーオプションメニュー３０は、ディスプレイ３２上の任意の適切な場所にレンダリングできる。動的コンテキストゲーマーオプションメニュー３０は、次のような様々なゲームオプションを備える。すなわち、「ゲームへの招待」３４、「プライベートチャットへの招待」３６、「ビデオチャットへの招待」３８、「メッセージの送信」４０、「ゲームの比較」４２、「プレイヤーレビューの提出」４４、「ファイル苦情」４６、「ミュート」４８、および「友人の除去」５０である。任意の適切な数のオプションおよびオプションの種類がレンダリングできる。メニュー３０にレンダリングされるオプションは、レンダリングされるオプションが、プレイ中のゲームの種類およびプレイヤー間の関係に依存するという意味で、コンテキスト方式である。動的コンテキストゲーマーオプションメニュー３０は、表示されている第２のプレイヤーに関してどのようなオプションが使用可能であるかを第１のプレイヤーに知らせるゲーマーオプションのメニューである。メニュー３０は、システムオプションが、ゲームによって見られているコンテキストに応じて使用可能にできるという意味で、コンテキスト方式である。メニュー３０は、ゲームが、現在のプレイヤーの関係／ゲームコンテキストに応じてメニュー３０にゲームオプションを設定する機能を有するという意味で、動的である。
【００１６】
図３は、動的コンテキストゲーマーオプションメニュー例３０の別の図である。「データーの検索」５２としてレンダリングされるゲームオプション５２は、そのアクションが実施中であることの表示である。「データーの検索」オプション５２は、ゲームがオプションを追加するまで、またはタイムアウトになるまで、レンダリングされている。これは、プレイヤーに、ゲームオプションのリストに何か他のものが現れる可能性があることを示している。「データーの検索」オプション５２は、メニュー３０のゲームオプションが設定されるまで、プレースホルダーとしてレンダリングされている。ゲームオプションが設定されたら（例えば、「ボタンの設定」ＡＰＩが呼び出されたら）、「データーの検索」オプション５２は除去され、ゲームシステムが提供するゲームオプションと共にゲームオプションの新リストがレンダリングされる。動的コンテキストゲーマーオプションメニュー３０のゲームオプションは動的にレンダリングされる。すなわち、動的コンテキストゲーマーオプションメニュー３０のゲームオプションは、ゲームコンテキストおよび／またはプレイヤー間の関係がレンダリングを保証した場合、レンダリングが可能であり、ゲームコンテキストおよび／またはプレイヤー間の関係がレンダリングを保証しない場合、ゲームオプションはレンダリングされない。
【００１７】
図４は、動的アクションを示した動的コンテキストゲーマーオプションメニュー例３０の図である。図４に示されているように、第１のプレイヤー「Ｐａｐａ  Ｇｒｕｆｆ」は、第２のプレイヤー「ＭｏｎｓｔｅｒＣｈｉｅｆ」とのＰａＰａＧｒｕｆｆの関係、およびゲーム「Ａｘｅｓ  ＆  Ａｌｌｅｙｓ」とのＭｏｎｓｔｅｒ  Ｃｈｉｅｆの関係に依存するゲームオプションを選択することができる。例えば、Ｐａｐａ  Ｇｒｕｆｆは、ＭｏｎｓｔｅｒＣｈｉｅｆをゲームオプション５４によって長官に昇格させることができ、ゲームオプション５６によって副官に降格させることができ、ゲームオプション５８によってギルドから追放することができる。ＭｏｎｓｔｅｒＣｈｉｅｆがすでに長官または副官の場合、ゲームオプション５５および５６は、ディスプレイ３２の動的コンテキストゲーマーオプションメニュー３０にレンダリングされない。ＭｏｎｓｔｅｒＣｈｉｅｆがギルドに属していない場合、ゲームオプション５８は、ディスプレイ３２の動的コンテキストゲーマーオプションメニュー３０にレンダリングされない。代わりに、「ギルドへの招待」などのゲームオプションがディスプレイ３２の動的コンテキストゲーマーオプションメニュー３０にレンダリングされる。
【００１８】
図５は、ゲームプレイヤー「Ｐａｐａ  Ｇｕｆｆ」に別のゲームプレイヤー「ＳｕｐｅｒＤｅｅＤｕｐｅｒ」のゲーム固有の情報へのアクセスを許可するゲームオプション６０を示した動的コンテキストゲーマーオプションメニュー例３０の図である。ギルド情報および人物統計などの他のゲーム固有の情報は、動的コンテキストゲーマーオプションメニュー３０のゲームオプションを介してアクセスできる。ゲームオプション６１「ギルド情報の表示」は、動的ゲームオプションの別の例である。「人物統計の表示」６０または「ギルド情報の表示」６１など、動的ゲームオプションを選択すると、選択されたゲームオプションに基づいて、ゲームはアクションを実行する。
【００１９】
図６は、ゲームプレイヤー「Ｐａｐａ  Ｇｕｆｆ」に別のゲームプレイヤーの「ＥｖｉｌＢｅａｓｔｉｅ」へのトーナメント参加への招待の送信を許可するゲームオプション６２を示した動的コンテキストゲーマーオプションメニュー例３０の図である。実施形態の一例では、例えば、ゲームオプション６２などのカスタムゲームオプションは、メニュー３０の最上部にレンダリングされる。
【００２０】
動的コンテキストゲーマーオプションメニューに指定できるゲームオプションの数および種類は、制限がない。いくつかのゲームオプション例として、「チームへの招待」、「チームからの除去」、「副キャプテンへの昇格」、「人物の表示」、「ベストタイムの表示」、「破壊の追跡」、「マイビデオの表示」、「ゲーム中の顔の表示」および「クリップの送信」があるが、それらに限定されるわけではない。
【００２１】
実施形態の一例では、「チームへの招待」は、あるチームメンバーがそのメンバーのチームにいない人を表示しているときに現れる。「チームへの招待」ゲームオプションが選択されると、プロファイルＵＩはクローズされ、ゲームは、ＡＰＩを呼び出して、チームの招待として準備されたカスタムメッセージを送信する。「チームへの招待」は、動的コンテキストゲーマーオプションメニューに適用可能なチーム管理ゲームオプションの一例にすぎない。「チームからの除去」および「副キャプテンへの昇格」は、プレイヤーがチームを管理できるようにしたゲームオプションの例である。
【００２２】
「人物の表示」、「ベストタイムの表示」および「破壊の追跡」は、プレイヤーが他のプレイヤーの情報を表示できるようにしたゲームオプションの例である。「人物の表示」は、プレイヤーが、演ずる人物（１人または複数）の形成に多くの時間を費やし、その人物の統計、能力、および資質がゲームの要点の一部である役割遊びゲームに適用可能である。「人物の表示」ゲームオプションが選択されると、システムＵＩはクローズされ、ゲーム（ゲームサービスと対照されている）は、適宜、人物データーをレンダリングする。「ベストタイムの表示」は、プレイヤーがコース毎に時間を追跡できるレーシングゲーム（例えば、ＮＡＳＣＡＲ、デューンバギー、オートバイ、スピードボートなど）に適用可能である。「ベストタイムの表示」ゲームオプションが選択されると、システムＵＩはクローズされ、ゲームは、追跡時間を適切な方法でレンダリングする。「破壊の追跡」は、主観視点のシューティングゲームに適用可能である。ゲームは、長期にわたる各プレイヤーの進歩を追跡し、様々なマップ上に、各種武器による各プレイヤーの能力に関するデーターおよび各プレイヤーの最も印象に強い戦闘関連の統計を保持する。「破壊の追跡」ゲームオプションが選択されると、システムＵＩはクローズされ、ゲームは、複数のナビゲート可能なページでグラフなどを用いて統計をレンダリングする。
【００２３】
「マイビデオの表示」ゲームオプションは、ゲームがプレイヤーに自分たちの演技のビデオを記録または記憶できるようにしたカラオケまたはダンシングゲームに適用可能である。「マイビデオの表示」ゲームオプションが選択されると、システムＵＩはクローズされ、ゲームは、（例えば、ＸＬＳＰサーバーから）表示されるプレイヤーの演技のカタログを入手し、そのカタログをレンダリングして、プレイヤーがそこから選択できるようにする。カタログから選択されると、ゲームは、選択されたビデオを取り出してレンダリングする。
【００２４】
「ゲーム中の顔の表示」ゲームオプションは、カメラ（例えば、ＸＢＯＸ（登録商標）カメラ技術）を用いてプレイヤーの顔を撮影し、プレイヤーが自分の顔をゲーム内に表示させることができるようにするゲームに適用可能である。実施形態の一例では、プレイヤーは、自分の顔の画像をＸＬＳＰサーバー上などに記憶することもできる。「ゲーム中の顔の表示」ゲームオプションが選択されると、システムＵＩはクローズされ、ゲームは、ゲーム中に各プレイヤーが他のプレイヤーの頭を見ることができるように、それぞれのプレイヤーの頭を交代させる表示に切り替える。
【００２５】
実施形態の一例では、「クリップの送信」ゲームオプションは、「マイビデオの表示」ゲームオプションの反対として表示できる。ゲームは、表示されるプレイヤーの全ビデオのリストを表示する代わりに、表示するプレイヤーの全ビデオのリストを示し、送信すべきビデオが選択されると、ゲームはＡＰＩを呼び出して、クリップ推奨として準備されたカスタムメッセージを作成する。さらに一般的には、ゲームは、他のプレイヤーへの選択されたクリップに適切なアクションを実行する。
【００２６】
図７は、動的コンテキストゲーマーオプションメニューを介してゲームオプションをレンダリングするためのプロセス例の流れ図である。上述のように、ステップ６４において、ゲームプレイヤー間のコンテキスト関係が判定される。ステップ６５において、プレイヤーとゲーム間のコンテキスト関係が判定される。表示するゲームプレイヤーが使用できるゲームオプションは、ステップ６６で指定される。上述のように、ゲームオプションは、ステップ６４および６５で判定されたコンテキスト関係に応じて指定される。ゲームオプションは、ステップ６７で、適切なゲームプレイヤーに提供される。上述のように、それぞれのゲームオプションは、ステップ６８において、表示するゲームプレイヤー用に動的コンテキストゲーマーオプションメニューを介してレンダリングされる。コンテキストは、継続して監視できる。したがって、プレイヤー間の関係、またはプレイヤーとゲーム間の関係が変化すると、ゲームオプションは、適宜、変更される。したがって、ステップ６９において、コンテキストおよび／または関係に変化があるかが判定される。変化が起きている場合、プロセスはステップ６４に進み、上述のように引き続いてゲームオプションを再判定し、再判定されたゲームオプションを動的コンテキストゲーマーオプションメニューを介してレンダリングする。このように、ゲームオプションは、関係およびコンテキストが変化すると、動的に更新、追加、および／または削除される。変化が起こらない場合（ステップ６９）、ステップ７０において、ゲームオプションが選択されているかが判定される。ゲームオプションが選択されていない場合（ステップ７０）、プロセスはステップ６９に進む。ゲームオプションが選択されている場合（ステップ７０）、ゲームアプリケーションを実行しているプロセッサーのオペレーティングシステムなどが、そのゲームオプションの選択に関する情報をゲームアプリケーションに提供する。ゲームアプリケーションは、ステップ７２において、実行すべき適切なアクションを判定し、その適切なアクションがステップ７３でゲームアプリケーションによって実行される。
【００２７】
上述のように、ゲームデバイス（例えば、図１のデバイス１４、１６、１８）は、ＰＣ、汎用プロセッサー、移動体デバイス、ＰＤＡ、専用ゲームコンソール、またはそれらの組合せを備えることができる。図８は、動的コンテキストゲーマーオプションメニューが実施できるゲームコンソール例４００のブロック図である。ゲームコンソール４００は、本明細書で説明される他のデバイス、例えば、表示デバイスなどと共に、上述のように動的コンテキストゲーマーオプションメニューを判定およびレンダリングするために必要な機能を実行することができる。ゲームコンソール４００は専用ホストシステムの例であるが、上記のように、ゲームコンソールは、専用ホストデバイスの一例にすぎない。一般的なゲームコンソールは、使用シナリオの中核セットをサポートするように特別に設計されたハードウェアおよびソフトウェアを備える。
【００２８】
ゲームコンソール４００は、レベル１（Ｌ１）キャッシュ４０２、レベル２（Ｌ２）キャッシュ４０４、およびフラッシュＲＯＭ（読取り専用メモリー）４０６を備えた中央処理装置（ＣＰＵ）４０１を有する。レベル１キャッシュ４０２およびレベル２キャッシュ４０４は、一時的にデーターを記憶し、したがって、メモリーアクセスサイクルの数を減らし、それにより、処理速度およびスループットを向上させる。フラッシュＲＯＭ  ４０６は、ゲームコンソール４００の初期電源投入時のブートプロセスの初期フェーズ中にロードされる実行可能コードを記憶することができる。別法として、初期ブートフェーズ中にロードされる実行可能コードは、ＦＬＡＳＨメモリーデバイス（図示せず）に記憶することもできる。さらに、ＲＯＭ  ４０６は、ＣＰＵ  ４０１とは分離して配置することができる。ゲームコンソール４００は、任意であるが、マルチプロセッサーシステムであってよい。例えば、ゲームコンソール４００は、プロセッサー４０３および４０５がプロセッサー４０１と類似または同一の構成要素を有する３つのプロセッサー４０１、４０３および４０５を備えることができる。
【００２９】
図形処理装置（ＧＰＵ）４０８およびビデオエンコーダー／ビデオコーデック（コーダー／デコーダー）４１４は、高速および高解像度図形処理用のビデオ処理パイプラインを形成する。データーは、図形処理装置４０８からビデオエンコーダー／ビデオコーデック４１４へバスを経由して運ばれる。ビデオ処理パイプラインは、テレビジョンまたは他の表示デバイスへ伝送するためにデーターをＡ／Ｖ（オーディオ／ビデオ）ポート４４０に出力する。メモリーコントローラー４１０がＧＰＵ４０８およびＣＰＵ４０１に接続され、様々な種類のメモリー４１２、例えば、これに限らないが、ＲＡＭ（ランダムアクセスメモリー）へのプロセッサーアクセスを容易にする。
【００３０】
ゲームコンソール４００は、入出力コントローラー４２０、システム管理コントローラー４２２、オーディオ処理装置４２３、ネットワークインターフェースコントローラー４２４、第１のＵＳＢホストコントローラー４２６、第２のＵＳＢコントローラー４２８、およびモジュール４１８上に実装できるフロントパネル入出力サブアセンブリー４３０を備える。ＵＳＢコントローラー４２６および４２８は、周辺コントローラー４４２（１）〜８４２（２）、無線アダプター４４８、外部メモリーユニット４４６（例えば、フラッシュメモリー、外部ＣＤ／ＤＶＤ  ＲＯＭドライブ、リムーバブルメディアなど）のためのホストの役割を果す。ネットワークインターフェース４２４および／または無線アダプター４４８は、ネットワーク（例えば、インターネット、ホームネットワークなど）にアクセスできるようにし、イーサネット（登録商標）カード、モデム、Ｂｌｕｅｔｏｏｔｈモジュール、ケーブルモジュールなど、多種多様な有線または無線インターフェース構成要素のいずれであってもよい。
【００３１】
システムメモリー４４３は、ブートプロセス中にロードされるアプリケーションデーターを記憶するために設けられている。メディアドライブ４４４が設けられており、ＤＶＤ／ＣＤドライブ、ハードドライブ、または他のリムーバブルメディアドライブなどを備えることができる。メディアドライブ４４４は、ゲームコンソール４００の内部または外部にあってよい。メディアドライブ４４４が、リムーバブルメディア（リムーバブル光ディスク、フラッシュカートリッジなど）用のドライブまたは読取り装置である場合、メディアドライブ４４４は、メディアが読取り用にマウント可能なインターフェースの例である。アプリケーションデーターは、ゲームコンソール４００によって、実行、再生などのためにメディアドライブ４４４を介してアクセスできる。メディアドライブ４４４は、シリアルＡＴＡバスまたは他の高速接続（例えば、ＩＥＥＥ  ４３９４）などのバスを介して入出力コントローラー４２０に接続される。メディアドライブ４４４は、一般的には様々なストレージ実施形態（例えば、ハードディスク、リムーバブル光ディスクドライブなど）を指してよいが、ゲームコンソール４００は、具体的にはハードディスク４５２を備えることができ、そのハードディスクは、ゲームデーター、アプリケーションデーター、または他の種類のデーターを記憶するために使用することができ、そのハードディスク上に、図４および４に示されたファイルシステムが実装できる。
【００３２】
システム管理コントローラー４２２は、ゲームコンソール４００の可用性の保証に関連する様々なサービス機能を提供する。オーディオ処理装置４２３およびオーディオコーデック４３２は、本明細書で説明される主題の態様に従った、高忠実度、４Ｄ、サラウンド、およびステレオオーディオ処理に関する、対応するオーディオ処理パイプラインを形成する。オーディオデーターは、オーディオ処理装置４２３とオーディオコーデック４２６間を通信リンクを介して運ばれる。オーディオ処理パイプラインは、オーディオ機能を有する外部のオーディオ再生装置またはオーディオデバイスによる再生のためにＡ／Ｖポート４４０にデーターを出力する。
【００３３】
フロントパネル入出力サブアセンブリー４３０は、電源ボタン４５０およびイジェクトボタン４５２、ならびに任意のＬＥＤ（発光ダイオード）、またはゲームコンソール４００の外側表面に露出している他の標識の機能をサポートする。システム電源モジュール４３６は、ゲームコンソール４００の構成要素に電力を提供する。ファン４３８は、ゲームコンソール４００内の回路を冷却する。
【００３４】
ＣＰＵ  ４０１、ＧＰＵ  ４０８、メモリーコントローラー４１０、およびゲームコンソール４００内の様々な他の構成要素は、シリアルおよびパラレルバス、メモリーバス、周辺バス、および様々なバスアーキテクチャの任意のものを使用するプロセッサーまたはローカルバスなどを含む１つまたは複数のバスを介して相互接続される。
【００３５】
ゲームコンソール４００が電源投入またはリブートされると、アプリケーションデーターが、システムメモリー４４３からメモリー４１２および／またはキャッシュ４０２、４０４にロードでき、ＣＰＵ  ４０１で実行できる。アプリケーションは、ゲームコンソール４００上で使用可能な種々のメディアタイプにナビゲートするとき、一貫したユーザー体験を提供するグラフィカルユーザーインターフェースを提示することができる。動作中、アプリケーション、および／またはメディアドライブ４４４に収納されている他のメディアは、メディアドライブ４４４から開始または再生できて、ゲームコンソール４００に追加機能を提供することができる。
【００３６】
ゲームコンソール４００は、単純にそのシステムをテレビジョンまたは他のディスプレイに接続することにより、独立システムとして稼働させることができる。この独立モードでは、ゲームコンソール４００は、１人または複数のユーザーがシステムと対話する、映画を見る、音楽を聴くなどができるようになっている。しかし、ブロードバンドの接続の統合がネットワークインターフェース４２４または無線アダプター４４８を介して使用可能にされるので、ゲームコンソール４００は、より大きいネットワークコミュニティの参加者としてさらに稼働させることができる。
【００３７】
上述のように、ゲームサービス（例えば、図１のゲームサービス１２）は、１つのプロセッサーまたはプロセッサーの組合せを備えることができる。図９は、動的コンテキストゲーマーオプションメニューを生成および提供するための例示のプロセッサー７６の図である。プロセッサー７６は、処理部７８、メモリー部８０、および入出力部８２を備える。処理部７８、メモリー部８０、および入出力部８２は、それらの間の通信を可能にするために結合されている（図９に結合は図示せず）。入出力部８２は、上述のように、動的コンテキストゲーマーオプションメニューを実施するために使用される構成要素を提供および／または受信することができる。例えば、入出力部８２は、上述のように、ゲームプレイヤーの関係に関連する情報、ゲームプレイヤーとゲーム間の関係に関連する情報、ゲームオプション、動的コンテキストゲーマーオプションメニュー、またはそれらの組合せを提供および受信することができる。
【００３８】
処理部７８は、上述のように、動的コンテキストゲーマーオプションメニューを実施することができる。例えば、処理部７８は、上述のように、ゲームプレイヤー相互間のコンテキスト関係の判定、ゲームプレイヤーとゲーム間のコンテキスト関係の判定、プレイヤー相互間の関係に応じたゲームオプションの判定、ゲームプレイヤーとゲーム間の関係に応じたゲームオプションの判定、関係の変化に応じたゲームオプションの更新、動的コンテキストゲーマーオプションメニューの生成、またはそれらの組合せを行うことができる。
【００３９】
プロセッサー７６は、クライアントプロセッサーおよび／またはサーバープロセッサーとして実装できる。基本的な構成では、プロセッサー７６は、少なくとも１つの処理部７８およびメモリー部８０を備えることができる。メモリー部８０は、動的コンテキストゲーマーオプションメニューと関連して使用される任意の情報を記憶することができる。例えば、メモリー部８０は、上述のように、ゲームプレイヤー相互間のコンテキスト関係に関連する情報、ゲームプレイヤーとゲーム間のコンテキスト関係に関連する情報、ゲームオプション、動的コンテキストゲーマーオプションメニュー、またはそれらの組合せを記憶することができる。プロセッサーの正確な構成および種類に応じて、メモリー部８０は、揮発性（ＲＡＭなど）８４、不揮発性（ＲＯＭ、フラッシュメモリーなど）８６、またはそれらの組合せであってよい。プロセッサー７６は、追加の特徴／機能を有することができる。例えば、プロセッサー７６は、これらに限らないが、磁気または光ディスク、テープ、フラッシュ、スマートカード、またはそれらの組合せなどの追加ストレージ（リムーバブルストレージ８８および／または非リムーバブルストレージ９０）を備えることができる。メモリー部８０、８４、８６、８８および９０などのコンピューターストレージメディアは、コンピューター可読命令、データー構造、プログラムモジュール、または他のデーターなどの情報のストレージとして任意の方法または技術で実装される揮発性および不揮発性、リムーバブルおよび非リムーバブルメニューメディアを含む。コンピューターストレージメディアは、これらに限らないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリーまたは他のメモリー技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、ユニバーサルシリアルバス（ＵＳＢ）互換メモリー、スマートカード、または所望の情報を記憶するために使用できて、プロセッサー７６によってアクセスできる任意の他のメディアを含む。任意のそのようなコンピューターストレージメディアは、プロセッサー７６の一部であってよい。
【００４０】
プロセッサー７６は、プロセッサー７６が、例えば、他のデバイスと通信できるようにする通信接続（複数可）９６も備えることができる。通信接続（複数可）９６は、通信メディアの例である。通信メディアは、一般的に、コンピューター可読命令、データー構造、プログラムモジュールまたは他のデーターを搬送波あるいは他の輸送機構などの変調データー信号で実施し、任意の情報配信メディアを含む。用語「変調データー信号」は、その特性の１つまたは複数が、信号内の情報を符号化するなどの方法で設定または変更された信号を意味する。例であって、限定ではないが、通信メディアは、有線ネットワークまたは直接有線接続などの有線メディア、および音波、ＲＦ、赤外線および他の無線メディアなどの無線メディアを含む。用語「コンピューティング可読メディア」は、本明細書で使用された場合、ストレージメディアおよび通信メディアの両方を含む。プロセッサー７６は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの入力デバイス（複数可）９４も備えることができる。ディスプレイ、スピーカー、プリンターなどの出力デバイス（複数可）９２も備えられてよい。
【００４１】
図１０および以下の説明は、動的コンテキストゲーマーオプションメニューが実施できる適切なコンピューティング環境例の簡潔な概説を提供する。必須ではないが、動的コンテキストゲーマーオプションメニューの様々な態様は、クライアントワークステーションまたはサーバーなどのコンピューターによって実行されるプログラムモジュールなどのコンピューター実行可能な命令の一般的なコンテキストで説明できる。一般的には、プログラムモジュールには、特定のタスクを実行する、または特定の抽象データー型を実施するルーチン、プログラム、オブジェクト、構成要素、データー構造などがある。その上、動的コンテキストゲーマーオプションメニューの実施は、ハンドヘルドデバイス、マルチプロセッサーシステム、マイクロプロセッサーベースの、またはプログラマブルコンシューマー電子機器、ネットワークＰＣ、ミニコンピューター、メインフレームコンピューターなど、他のコンピューターシステム構成で実行できる。さらに、動的コンテキストゲーマーオプションメニューは、タスクが通信ネットワークを介してリンクされたリモート処理デバイスによって実行される分散コンピューティング環境でも実施できる。分散コンピューティング環境では、プログラムモジュールは、ローカルおよびリモート両方のメモリーストレージデバイスに配置できる。
【００４２】
コンピューターシステムは、大ざっぱには次の３つの構成要素グループに分割できる。すなわち、ハードウェア構成要素、ハードウェア／ソフトウェアインターフェースシステム構成要素、およびアプリケーションプログラム構成要素（「ユーザー構成要素」または「ソフトウェア構成要素」とも呼ばれる）である。コンピューターシステムの様々な実施形態において、ハードウェア構成要素は、中央処理装置（ＣＰＵ）５２１、メモリー（ＲＯＭ  ５６４およびＲＡＭ  ５２５の両方）、基本入出力システム（ＢＩＯＳ）５６６、および数ある中でも特にキーボード５４０、マウス５４２、モニター５４７、および／またはプリンター（図示せず）など、様々な入出力（Ｉ／Ｏ）デバイスを備えてよい。ハードウェア構成要素は、コンピューターシステムの基本的物理基盤を構成する。
【００４３】
アプリケーションプログラム構成要素は、これらに限らないが、コンパイラー、データーベースシステム、ワードプロセッサー、ビジネスプログラム、ビデオゲームなど、様々なソフトウェアプログラムを備える。アプリケーションプログラムは、問題を解決するため、ソリューションを提供するため、および様々なユーザー（マシン、他のコンピューターシステムおよび／またはエンドユーザー）のためにデーターを処理するためにコンピューターリソースが使用される手段を提供する。実施形態の一例では、アプリケーションプログラムは、上述のように、動的コンテキストゲーマーオプションメニューの実施に関連付けられた機能を実行する。
【００４４】
ハードウェア／ソフトウェアインターフェースシステム構成要素は、ほとんどの場合にそれ自体がシェルおよびカーネルを含むオペレーティングシステムを備える（一部の実施形態では、オペレーティングシステムのみから成る）。「オペレーティングシステム」（ＯＳ）は、アプリケーションプログラムとコンピューターハードウェア間で仲介役として機能する特殊なプログラムである。ハードウェア／ソフトウェアインターフェースシステム構成要素は、仮想マシンマネージャー（ＶＭＭ）、Ｃｏｍｍｏｎ  Ｌａｎｇｕａｇｅ  Ｒｕｎｔｉｍｅ（ＣＬＲ）もしくはその機能的均等物、Ｊａｖａ（登録商標）仮想マシン（ＪＶＭ）もしくはその機能的均等物、またはコンピューターシステム内でオペレーティングシステムの代わりの、もしくはオペレーティングシステムに加えた他の同様のソフトウェア構成要素を備えてもよい。ハードウェア／ソフトウェアインターフェースシステムの目的は、ユーザーがアプリケーションプログラムを実行できる環境を提供することである。
【００４５】
ハードウェア／ソフトウェアインターフェースシステムは一般的には始動時にコンピューターシステムにロードされ、その後、コンピューターシステム内のすべてのアプリケーションプログラムを管理する。アプリケーションプログラムは、アプリケーションプログラムインターフェース（ＡＰＩ）を介してサービスを要求することにより、ハードウェア／ソフトウェアインターフェースシステムと対話する。一部のアプリケーションプログラムは、エンドユーザーが、コマンド言語またはグラフィカルユーザーインターフェース（ＧＵＩ）などのユーザーインターフェースを介してハードウェア／ソフトウェアインターフェースシステムと対話できるようにする。
【００４６】
ハードウェア／ソフトウェアインターフェースシステムは、伝統的にはアプリケーションのための様々なサービスを実行する。複数のプログラムが同時に実行できるマルチタスキングハードウェア／ソフトウェアインターフェースシステムでは、ハードウェア／ソフトウェアインターフェースシステムは、どのアプリケーションがどの順序で実行されるべきか、および順番待ちの別のアプリケーションに切り替わるまでに各アプリケーションにどれだけの時間が許されるべきかを判定する。ハードウェア／ソフトウェアインターフェースシステムは、複数のアプリケーション間での内部メモリーの共用も管理し、ハードディスク、プリンター、およびダイヤルアップポートなど、接続されたハードウェアデバイスとの間の入力および出力も扱う。また、ハードウェア／ソフトウェアインターフェースシステムは、各アプリケーション（および、場合によっては、エンドユーザー）に、動作の状況および発生した可能性のあるすべてのエラーに関するメッセージを送信する。また、ハードウェア／ソフトウェアインターフェースシステムは、開始アプリケーションがそのときの作業から開放され、他の処理および／または動作を再開できるように、バッチジョブ（例えば、印刷）の管理をオフロードすることができる。また、パラレル処理を行えるコンピューターでは、ハードウェア／ソフトウェアインターフェースシステムは、プログラムが同時に２つ以上のプロセッサーで実行されるようにプログラムを分割することを管理する。
【００４７】
ハードウェア／ソフトウェアインターフェースシステムのシェル（「シェル」と呼ばれる）は、ハードウェア／ソフトウェアインターフェースシステムとの対話式エンドユーザーインターフェースである。（シェルは、「コマンドインタープリター」、またはオペレーティングシステムでは「オペレーティングシステムシェル」と呼ばれることもある）。シェルは、アプリケーションプログラムおよび／またはエンドユーザーによって直接アクセスできる、ハードウェア／ソフトウェアインターフェースシステムの外側レイヤーである。シェルとは対照的に、カーネルは、ハードウェア構成要素と直接対話する、ハードウェア／ソフトウェアインターフェースシステムの最も内側のレイヤーである。
【００４８】
図１０に示されているように、例示の汎用コンピューティングシステムは、処理装置５２１、システムメモリー５６２、およびシステムバス５２３を備え、システムバス５２３はシステムメモリーなどの様々なシステム構成要素を処理装置５２１に結合する、従来のコンピューティングデバイス５６０などを備える。システムバス５２３は、メモリーバスまたはメモリーコントローラー、周辺バス、および様々なバスアーキテクチャの任意のものを使用するローカルバスを含む、いくつかの種類のバス構造の任意のものでよい。システムメモリーは、読取り専用メモリー（ＲＯＭ）５６４およびランダムアクセスメモリー（ＲＡＭ）５２５を備える。基本入出力システム５６６（ＢＩＯＳ）は、始動中などにコンピューティングデバイス５６０内の要素間で情報を転送するのを助ける基本ルーチンを有し、ＲＯＭ  ５６４に記憶されている。コンピューティングデバイス５６０は、ハードディスク（ハードディスクは図示せず）から読み取るため、およびそこに書き込むためのハードディスクドライブ５２７、リムーバブル磁気ディスク５２９（例えば、フロッピー（登録商標）ディスク、リムーバブルストレージ）から読み取るため、またはそこに書き込むための磁気ディスクドライブ５２８（例えば、フロッピー（登録商標）ドライブ）、およびＣＤ  ＲＯＭまたは他の光メディアなどのリムーバブル光ディスク５３１から読み取るため、またはそこに書き込むための光ディスクドライブ５３０をさらに備えてよい。ハードディスクドライブ５２７、磁気ディスクドライブ５２８、および光ディスクドライブ５３０は、それぞれ、ハードディスクドライブインターフェース５３２、磁気ディスクドライブインターフェース５３３、および光ドライブインターフェース５３４によってシステムバス５２３に接続される。これらのドライブおよびそれらに関連するコンピューター可読メディアは、コンピューター可読命令、データー構造、プログラムモジュールおよびコンピューティングデバイス５６０のための他のデーターの不揮発性ストレージを提供する。本明細書で説明される例示の環境は、ハードディスク、リムーバブル磁気ディスク５２９およびリムーバブル光ディスク５３１を使用するが、当業者は理解できようが、磁気カセット、フラッシュメモリーカード、デジタルビデオディスク、Ｂｅｒｎｏｕｌｌｉカートリッジ、ランダムアクセスメモリー（ＲＡＭ）、読取り専用メモリー（ＲＯＭ）など、コンピューターによってアクセス可能なデーターを記憶できる他の種類のコンピューター可読メディアも例示の動作環境で使用することができる。同様に、例示の環境は、熱センサーおよび安全または火災警報システムなどの多くの種類の監視装置、ならびに情報の他のソースを含むこともできる。
【００４９】
オペレーティングシステム５３５、１つまたは複数のアプリケーションプログラム５３６、他のプログラムモジュール５３７およびプログラムデーター５３８など、多数のプログラムモジュールがハードディスク、磁気ディスク５２９、光ディスク５３１、ＲＯＭ  ５６４またはＲＡＭ５２５に記憶できる。ユーザーは、コマンドおよび情報をキーボード５４０およびポインティングデバイス５４２（例えば、マウス）などの入力デバイスからコンピューティングデバイス５６０に入力することができる。他の入力デバイス（図示せず）として、マイクロフォン、ジョイスティック、ゲームパッド、衛星ディスク、スキャナーなどがある。これらおよび他の入力デバイスは、多くの場合、システムバスに結合されたシリアルポートインターフェース５４６を介して処理装置５２１に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースによって接続されてもよい。モニター５４７または他の種類のディスプレイデバイスも、ビデオアダプター５４８などのインターフェースを介してシステムバス５２３に接続される。モニター５４７に加えて、コンピューティングデバイスとして、一般的に、スピーカーおよびプリンターなどの他の周辺出力デバイス（図示せず）がある。また、図１０の例示の環境は、ホストアダプター５５５、スモールコンピューターシステムインターフェース（ＳＣＳＩ）バス５５６、およびＳＣＳＩバス５５６に接続された外部ストレージデバイス５６２を備える。
【００５０】
コンピューティングデバイス５６０は、リモートコンピューター５４９などの１つまたは複数のリモートコンピューターとの論理接続を用いて、ネットワークされた環境で動作できる。リモートコンピューター５４９は、別のコンピューティングデバイス（例えば、パーソナルコンピューター）、サーバー、ルーター、ネットワークＰＣ、ピアデバイスまたは他の普通のネットワークノードであってよく、一般的には、コンピューティングデバイス５６０との関連で上述された要素の多くまたは全部を備えるが、図１０では、メモリーストレージデバイス５５０（フロッピー（登録商標）ドライブ）のみが例示されている。図１０に示された論理接続は、ローカルエリアネットワーク（ＬＡＮ）５５１およびワイドエリアネットワーク（ＷＡＮ）５５２を含む。そのようなネットワーキング環境は、事務所、企業全体のコンピューターネットワーク、イントラネット、およびインターネットでありふれたものである。
【００５１】
ＬＡＮネットワーキング環境で使用される場合、コンピューティングデバイス５６０は、ネットワークインターフェースまたはアダプター５５３を介してＬＡＮ５５１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピューティングデバイス５６０は、モデム５５４、またはインターネットなどのワイドエリアネットワーク５５２による通信を確立するための他の手段を備えることができる。モデム５５４は、内部または外部にあってよいが、シリアルポートインターフェース５４６を介してシステムバス５２３に接続される。ネットワークされた環境では、コンピューティングデバイス５６０に関連して示されたプログラムモジュール、またはその一部分は、リモートメモリーストレージデバイスに記憶できる。示されたネットワーク接続は例であって、コンピューター間に通信リンクを確立する他の手段が使用されてよいことが理解できよう。
【００５２】
動的コンテキストゲーマーオプションメニューの多くの実施形態がコンピューター化されたシステムに特によく適合することが想像されるが、本明細書の記載は、本発明をそのような実施形態に限定することはまったく意図されていない。それどころか、本明細書で使用された場合、用語「コンピューターシステム」は、情報を記憶および処理できて、および／または記憶された情報を使用して、そのデバイスが電子的、機械的、論理的、または本質的に仮想であるかに関係なく、そのデバイス自体の動作または実行を制御できる任意およびすべてのデバイスを包含するように意図されている。
【００５３】
本明細書で説明される様々な手法は、ハードウェアまたはソフトウェア、または該当する場合、両方の組合せに関連付けて実施できる。したがって、動的コンテキストゲーマーオプションメニューまたはその特定の態様もしくはその一部を実施するための方法および装置は、フロッピー（登録商標）ディスケット、ＣＤ−ＲＯＭ、ハードドライブ、または任意の他の機械可読記憶メディアなどの有形メディアで実装されるプログラムコード（すなわち、命令）の形をとることができ、プログラムコードがコンピューターなどのマシンにロードされ、マシンによって実行されるとき、そのマシンは、動的コンテキストゲーマーオプションメニューを実施するための装置になる。
【００５４】
プログラム（複数可）は、所望される場合、アセンブリー言語または機械言語で実装できる。どの場合も、言語は、コンパイルまたは解釈される言語が可能であり、ハードウェア実施態様と組み合わせることができる。動的コンテキストゲーマーオプションメニューを実施するための方法および装置は、電気配線またはケーブル布線などの何らかの伝送メディアによって、光ファイバー伝送技術によって、または任意の他の伝送方式を介して伝送されるプログラムコードの形で実装される通信を介して実施することができ、プログラムコードが受信され、ＥＰＲＯＭ、ゲートアレイ、プログラマブルロジックデバイス（ＰＬＤ）、クライアントコンピューターなどのマシンにロードされて、そのマシンによって実行されるとき。汎用プロセッサー上に実装される場合、プログラムコードはプロセッサーと結合して、動的コンテキストゲーマーオプションメニューの機能を起動するように動作する固有な装置を提供する。さらに、動的コンテキストゲーマーオプションメニューに関連付けて使用されるどの記憶手法も、不変的にハードウェアとソフトウェアの組合せであってよい。
【００５５】
動的コンテキストゲーマーオプションメニューが様々な図面の実施形態の例に関連付けて説明されているが、動的コンテキストゲーマーオプションメニューの同じ機能を実行するために、説明された実施形態から逸脱することなく他の同様の実施形態が使用できる、または説明された実施形態に変更および追加が行えることを理解されたい。したがって、本明細書で説明される動的コンテキストゲーマーオプションメニューは、どの単一の実施形態にも限定されるべきではなく、添付の特許請求の範囲に従った幅および範囲で解釈されるべきである。
【図１】
2010523206.tif 000003
【図７】
2010523206.tif 000004
【図８】
2010523206.tif 000005
【図９】
2010523206.tif 000006
【図１０】
2010523206.tif 000007
【図２】
2010523206.tif 000008
【図３】
2010523206.tif 000009
【図４】
2010523206.tif 000010
【図５】
2010523206.tif 000011
【図６】
2010523206.tif 000012
【国際調査報告】
2010523206.tif 000013
2010523206.tif 000014