Warning: copy(.htaccess): failed to open stream: Permission denied in /home/jp321/public_html/header.php on line 8
ロールプレイシステム - マイクロソフト コーポレーション
米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> スポ−ツ;娯楽 -> マイクロソフト コーポレーション

発明の名称 ロールプレイシステム
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2007−75608(P2007−75608A)
公開日 平成19年3月29日(2007.3.29)
出願番号 特願2006−244203(P2006−244203)
出願日 平成18年9月8日(2006.9.8)
代理人 【識別番号】100077481
【弁理士】
【氏名又は名称】谷 義一
発明者 坂口 博信 / 上永吉 岳宏
要約 課題

マップシーン内のプレイヤー制御のアイコンが、キャラクターのグループまたはパーティーを表し、アイコンがマップシーン上の位置へ入ることに応答して、そのアイコンを様々なキャラクターを表す複数のアイコンに自動的に分散させることによって表わされるビデオゲームシステムおよび方法を開示する。

解決手段
特許請求の範囲
【請求項1】
複数のキャラクターを表す、プレイヤー制御のアイコンを含むマップシーンを表示するステップと、
前記マップシーン上の場所に前記アイコンを移動させるユーザーのリクエストを受け取るステップと、
前記アイコンが前記場所へ入ることに応答して、前記場所の複数のエリアを含む前記場所のより近いビューを示すロケーションシーンを表示するステップと、
前記複数のキャラクター用の趣向情報にアクセスするステップと、
前記嗜好情報に基づいて、前記場所シーンの異なる場所に前記複数のキャラクターを自動的に分散させるステップと
をビデオゲーム内で実行するためのコンピュータ実行可能命令を格納する1または複数のコンピュータ可読媒体。
【請求項2】
前記場所における制御のために前記複数のキャラクターの選択された最初の1つのユーザー指示を受け取るための命令をさらに備えたことを特徴とする請求項1のメディア。
【請求項3】
前記場所の前記プレイヤー制御のキャラクターの対話のための命令と、前記命令に続いて従って、前記場所の複数のキャラクターの第2のキャラクターへ制御を切り替えるためのユーザーコマンドを受け取るための命令をさらに備えたことを特徴とする請求項2のメディア。
【請求項4】
前記第2のキャラクターの視点から前記対話を続けるための命令をさらに備えたことを特徴とする請求項3のメディア。
【請求項5】
前記第1のキャラクターを含む前記第1の対話を記録するための命令をさらに備えたことを特徴とする請求項3のメディア。
【請求項6】
前記命令に続いて、前記複数のキャラクターの第2のキャラクターに制御を切り替え、前記第2のキャラクターの視点から前記命令をリプレイするために時間を戻すユーザー要求を受け取るための命令をさらに備えたことを特徴とする請求項5のメディア。
【請求項7】
第2のキャラクターに前記記録された対話の結果を変えさせるユーザーコマンドを受けとるための命令をさらに備えたことを特徴とする請求項6のメディア。
【請求項8】
第3のキャラクターを使用して3回目の前記対話をリプレイするためのユーザー要求を受けとり、前記要求に応答して前記対話をリプレイする命令をさらに備えたことを特徴とする請求項7のメディア。
【請求項9】
第1のプレイヤー制御によるキャラクターおよびコンピュータ制御のキャラクターを有するシーンを表示するステップと、
プレイヤーコマンドに応答して、前記プレイヤー制御のキャラクターと前記コンピュータ制御のキャラクター間の対話を表示し、前記対話を記録するステップと、
ユーザーコマンドに応答して、プレイヤーの制御を第2のキャラクターに切り替えるステップと、
前記第2のキャラクターの視点を通して前記対話をリプレイするステップと
をビデオゲーム内で、前記以下のステップを実行するコンピュータ実行可能命令を格納する1つまたは複数のコンピュータ可読媒体。
【請求項10】
前記第2のキャラクターの行動に応答して、前記記録された対話の結果を変化させるための命令をさらに備えたことを特徴とする請求項9のメディア。
【請求項11】
前記変えられた結果を有する前記リプレイされた対話を記録するための命令をさらに備えたことを特徴とする請求項10のメディア。
【請求項12】
第3のキャラクターに制御を変更するユーザーコマンドを受けとり、前記第3のキャラクターの視点から前記リプレイされた対話をリプレイするための命令をさらに備えたことを特徴とする請求項11のメディア。
【請求項13】
前記リプレイするステップの後に、前記第1のキャラクターに制御を切り替えるための追加のユーザーコマンドを受けとるための命令をさらに備えたことを特徴とする請求項9のメディア。
【請求項14】
前記リプレイするステップの後に、前記第3のキャラクターに制御を切り替える追加のユーザーコマンドを受けとるための命令をさらに備えたことを特徴とする請求項9のメディア。
【請求項15】
ユーザーコマンドに応答して、マップシーンを通して、複数のキャラクターを表すアイコンを移動させることと、
前記マップシーン内の既定のエリアに前記アイコンが入ることに応答して、前記キャラクターを表す複数のアイコンに前記アイコンを、自動的に分散させることと
のための命令をさらに含むことを特徴とする請求項9のメディア。
【請求項16】
前記自動的な分散は、前記キャラクターの格納された嗜好データに基づくことを特徴とする請求項15のメディア。
【請求項17】
前記既定のエリアは、前記ゲーム内の町を表すことを特徴とする請求項15のメディア。
【請求項18】
複数のキャラクターを表す、プレイヤー制御のアイコンを含むマップシーンを表示するステップと、
ユーザーコマンドに応答して、前記アイコンを前記マップシーン内の既定の場所のアイコンへ移動させるステップと、
前記マップシーンを前記既定の場所のアイコンに対応する場所シーンに置き換えるステップと、
前記キャラクターの格納された嗜好情報に基づいて、前記アイコンを、前記場所シーン内の異なる場所に前記複数のキャラクターを表す複数のアイコンへ分散させるステップと
を備えたことを特徴とするビデオゲーム方法。
【請求項19】
前記嗜好情報は、嗜好の強さを示すことを特徴とする請求項18の方法。
【請求項20】
前記第1のキャラクターがプレイヤー制御の下にいる間、前記複数のキャラクターのうちの前記第1のキャラクターを含む第1の対話を表示するステップと、
前記第1の対話を記録するステップと、
前記第1の対話を第2のキャラクターの視点からリプレイするステップと
をさらに備えたことを特徴とする請求項18の方法。
発明の詳細な説明
【技術分野】
【0001】
コンピュータによるRPG(Role−Playing Games)は、最も人気のあるビデオゲームの種類として、ビデオゲーム産業において、それらの安定した位置を有する。アトラクションは、通常、ゲームの中で伝えられる全体的なストーリー(または複数のストーリー)と、基礎となるゲーム構造との混在(たとえば、どのようにキャラクターがゲームの進行中で強化されるか、どのように戦闘が行われるかなどによってもたらされる)。
【背景技術】
【0002】
いくつかのRPGにおいて、プレイヤーは、ストーリーのメインキャラクターの制御を与えられ、さらなる脇役キャラクターは、ストーリーの進行として、メインキャラクターに加わってもよい。脇役キャラクターは、その展開として、ストリーリに重要であってもよく、RPGの開発者は、通常、(メインおよび脇役の両方の)キャラクターに考慮し得る思考および配慮を与え、それらに固有の体裁およびそれらの歴史を説明する背景ストーリーを与える。
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかし、通常のRPGは、メインキャラクターに焦点を当て続ける。いくつかのRPGは、ゲームが行われる世界を描くマップシーンを使用し、メインキャラクターは、マップシーン内に表示される。プレイヤーは、マップシーンに示される環境を通してそれらのメインキャラクターを動かし、シーン内の様々な生物、キャラクター、およびまたはオブジェクトと対話してもよい。メインキャラクターが1または複数の脇役キャラクターを伴う場合、パーティーを形成し、脇役キャラクターはマップシーン内で重要な役割を行わず、多くの注目は与えられない。メインキャラクタ(またはパーティ)がマップシーンを介して移動し、町などのシーンの場所に入るとき、プレイヤーはメインキャラクターを制御したままで、この場合も、パーティーの脇役キャラクーをほとんど無視する。
【課題を解決するための手段】
【0004】
この課題を解決するための手段は、詳細な説明内の以下にさらに説明する概念の選択を簡略化された形式で紹介するために提供される。この課題を解決するための手段は、特許請求の範囲の主題の鍵となる機能または重要な機能を識別することを意図しない、また特許請求の範囲とされた主題の範囲の決定の補助として使用されることを意図しない。
【0005】
上記のように、RPGは、マップシーン上に、ゲームが行われる環境、およびプレイヤーのキャラクターが対話する1つまたは複数の生物、キャラクター、および/またはオブジェクトと共に、第1のキャラクターを表示するかもしれない。マップシーン上に表示された第1のキャラクターは、キャラクターのパーティー全体を表して、立っているかもしれない。いくつかの態様において、パーティーの各キャラクターは、ゲーム内の他の生物/キャラクター/オブジェクトに影響を与えるかもしれない、興味、嫌悪、体裁、装備などの個々の特質を有すようにプログラムされている。
【0006】
プレイヤーはマップシーンに表示されている第1のキャラクターの動きを制御し、マップシーン内の場所に入ると(たとえば、町へ入ること)、パーティーの様々なキャラクターは、彼らの個々の特質による場所へ自動的に分散するかもしれない。
【0007】
プレイヤーは、その場所にいる間制御するための、パーティーのキャラクターの一人を選択するオプションを与えられるかもしれない。キャラクターが選択された後、プレイヤーは場所をナビゲートし、選択されたキャラクターを使用して、場所において他の生物/キャラクター/オブジェクトと対話するかもしれない。そしてこれらの対話は、(対話する生物/キャラクター/オブジェクトの特質と共に、)選択されたキャラクターの特質によるかもしれない。
プレイヤーは、選択されたキャラクターから、パーティーからの異なるキャラクターへ制御を切り替えるオプションも与えられるかもしれない。プレイヤーは、ゲームの生物/キャラクター/オブジェクトと対話し、異なる状況を扱うのに、異なるキャラクターの特質を活用するかもしれない。
【0008】
ゲームは、プレイヤーの選択したキャラクターの動作および行動を記録するようプログラムされていて、異なるキャラクターへの切り替え、および異なるキャラクターの視点からの同じ対話のリプレイのオプションをプレイヤーに与えるかもしれない。この方式において、プレイヤーは、ゲーム内で時間を遡って旅をしてきて現れ、最初に選択されたキャラクターの対話を変えるために異なるキャラクターを使用するかもしれない。
これらおよび他の態様は、より楽しめる体験をプレイヤーに提供するのを助けるかもしれず、それは本書でより詳細な記述される。
【発明を実施するための最良の形態】
【0009】
様々な態様の以下の記述において、これに関する一部を形成し、実行されるかもしれないとして本書で説明される様々な機能を示す目的で示される、添付の図面を参照する。他の実施形態が使用されてもよく、構造的および機能的修正がなされてもよいことを、理解されたい。
【0010】
図1は、コンピュータゲーム、ビデオゲーム、および他の電子ゲーム(本書ではまとめて、コンピュータゲームと呼ぶ)がプレイされるのに適したゲームシステム環境100の一例を示す。ゲームシステム環境100は、適当なコンピュータ環境の一例に過ぎず、本書に説明される使用の範囲または機能の機能性としてのあらゆる制限を提案することを意図しない。または、ゲームシステム環境100は、ゲームシステム環境100の具体的な動作において示される構成要素の任意の1つまたは組合せに関して、依存性または必要性を有するとして解釈されるべきでない。
【0011】
本書で説明される態様は、他の多くの一般的な目的、あるいは特別の目的コンピューティングシステム環境または構成で動作可能である。使用に適した、よく知られたコンピューティングシステム、環境、および/または構成の例は、パーソナルコンピュータ、サーバコンピュータ、PDA(Personal Assistant)、タブレットPC、またはラップトップPCなどのポータブルおよび携帯型デバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家電、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、任意の上記システムおよびデバイスを含む分散コンピュータ環境である電子ゲームコンソールなどを含むが、それに制限されない。
【0012】
本書の態様は、コンピュータによって実行されるプログラムモジュールなどの、コンピュータ実行可能命令の一般的なコンテキストにおいて説明される。一般に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含み、そしてそれは、特定のタスクを実行するか、または特定のオブジェクトデータタイプを実装する。本書で説明される機能は、タスクが通信ネットワークを介してリンクされる遠隔処理デバイスによって実行される分散コンピューティング環境においても実行されてもよい。分散コンピューティング環境において、プログラムモジュールは、ローカル、およびメモリストレージデバイスを含む遠隔のコンピューターストレージメディアの両方に位置づけられるかもしれない。
【0013】
図1は、ゲームシステム100の一例を示す。ゲームシステム100は、ゲームコンソール102、コントローラ104(1)および104(2)で表される複数のコントローラを含んでもよい。ゲームコンソール102は、内部のハードディスクドライブ、および光学ストレージディスク108によって表されるような、ポータブルストレージメディアの様々な形式をサポートするポータブルメディアドライブ106を装備している。適合するポータブルストレージメディアの例は、DVD,CD−ROM、ゲームディスクなどを含む。
【0014】
ゲームコンソール102は、最大4つのコントローラをサポートするために、その前面に4つのスロット110を有すが、スロットの数および配置は修正されるかもしれない。電源ボタン112および取り出しボタン114もまた、ゲームコンソール102の前面に位置づけられる。電源ボタン112は、ゲームコンソールの電力を切り替え、取り出しボタン114は、ストレージディスク108の挿入及び取出すための、ポータブルメディアドライブ106のトレイを交互に開閉する。
【0015】
ゲームコンソール102は、A/Vインターフェースケーブル120を通して、テレビまたは他のディスプレイ(示されていない)へ接続してもよい。電源ケーブル122は、ゲームコンソールに電力を提供する。ゲームコンソール102はさらに、インターネットなどのネットワークへのアクセスを促進するケーブルまたはモデムコネクタ124によって表されるように、ブロードバンドネットワーク機能で構成されてもよい。
【0016】
各コントローラ104は、有線または無線インターフェースを通って、ゲームコンソール102と結合されてもよい。示された実装において、コントローラは、USB(Universal Serial Bus)互換であり、USBケーブル130を通って、コンソール102と接続される。コントローラ102は、任意の多種多様のユーザー対話装置を装備してよい。図1に示されるように、各コントローラ104は、2つの親指スティック131(1)および132(2)、方向パッド134、ボタン136(たとえば、「A」、「B」、「X」、「Y」)、および2つのトリガ138を有する。これらの構造は、単に典型で、他の既知のゲームの構造は、図1に示されるものに代えられる。
【0017】
MU(Memory Unit)140は、追加およびポータブルストレージを提供するためにコントローラ104に挿入されてもよい。ポータブルメモリユニットは、ユーザーが、ゲームパラメータおよびユーザーのアカウントを格納、および他のコンソール上でのプレイを移植できるようにする。ヘッドセット142は、オーディオ通信機能を提供するために、コントローラ104またはゲームコンソール102に接続されるかもしれない。ヘッドセット142は、音声インプットのためのマイクロフォンおよび音声出力のための1または複数のスピーカを含むかもしれない。
【0018】
ゲームシステム100は、たとえば、ゲーム、音楽、およびビデオのプレイを可能である。異なるストレージの提供で、タイトルは、ハードディスクドライブあるいはドライブ106内のポータブルメディア108から、オンラインソースから、またはメモリユニット140から、プレイできる。セキュリティのため、いくつかの実施形態において実行可能なコードは、ポータブルメディア108からのみ実行できる。ゲームシステム100が再生可能なものの例には、CDおよびDVDディスクから、ハードディスクドライブから、またはオンラインソースから再生されるゲームタイトル、ポータブルメディアドライブ106のCDから、ハードディスクドライブ上のファイル(たとえばWMA(Windows Media Audio)フォーマット)から、またはオンラインストリーミングソースから再生されるデジタル音楽、ポータブルメディアドライブ106のDVDディスクから、ハードディスクドライブ上のファイルから(たとえば、アクティブストリーミングフォーマット)、またはオンラインストリーミングソースから再生されるデジタルオーディオ/ビデオを含む。
【0019】
図2は、ゲームシステム100の機能的な構成要素をより詳細に示す。ゲームコンソール102は、CPU(Central Processing Unit)200、および、プロセッサが、フラッシュROM(読取り専用メモリ)、RAM(Randam Access Memory)206、ハードディスクドライブ208、およびポータブルメディアドライブ106を含む様々な種類のメモリにアクセスすることを促進するメモリコントローラ202を有する。CPU200は、一時的にデータを格納し、従ってメモリアクセスサイクルの回数を減らし、これによって、処理スピードとスループットを改善するために、レベル1キャッシュ210およびレベル2キャッシュ212を装備する。
【0020】
CPU200、メモリコントローラ202、および様々なメモリデバイスは、シリアルおよびパラレルバス、メモリバス、周辺機器バス、および、バスアーキテクチャの任意の種類を使用するプロセッサまたはローカルバスを含む、1つまたは複数のバスを介して、相互接続される。例えば、そのようなアーキテクチャは、ISA(Industry Standard Architecture)バス、MSA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、およびMezzanineバスとも知られるPCI(Peripheral Component Interconnects)バスを含むことができる。
【0021】
1つの好適な例として、CPU200、メモリコントローラ202、ROM204、およびRAM206は、共通モジュール214に統合される。この実装において、ROM204は、メモリコントローラ202およびROMバス(示されていない)に接続されるフラッシュROMとして構成される。ROM206は、分離しているバス(示されていない)を解して、メモリコントローラ202によって独立して制御される複数のDDR SDRAM(Double Data Rate Synchronous Dynamic RAM)として構成される。ハードディスクドライブ208およびポータブルメディアドライブ206は、PCIバスおよびATA(AT Attachment)バス216を介してメモリコントローラに接続される。
【0022】
3Dグラフィックプロセシングユニット220およびビデオエンコーダ222は、グラフィック処理の高スピードおよび高解像度のためのピデオプロセッシングパイプラインを形成する。データは、デジタルビデオバス(示されていない)を介して、グラフィックプロセシングユニット220からビデオエンコーダ222へ運ばれる。オーディオプロセッシングユニット224およびオーディオコーデック(コーダ/デコーダ)226は、ハイファイおよびステレオ処理と対応するオーディオプロセッシングパイプラインを形成する。オーディオデータは、通信リンク(示されていない)を介して、オーディオプロセッシングユニット224およびオーディオコーデック226の間に運ばれる。ビデオおよびオーディオプロセッシングパイプラインは、テレビまたは他のディスプレイへの送信のために、A/V(Audio/Video)ポート228へ、データを出力する。示された実装において、ビデオおよびオーディオプロセッシングコンポーネント220−228は、モジュール214に搭載される。
【0023】
また、モジュール214上に実装されるのは、USBホストコントローラ230およびネットワークインターフェース232である。USBホストコントローラ230は、バス(例えば、PCIバス)を介して、CPU200およびメモリコントローラ202と結合され、および周辺機器のコントローラ104(1)〜104(4)のためのホストの役目をする。ネットワークインターフェース232は、ネットワークへのアクセスを提供し(たとえば、インターネット、ホームネットワークなど)、イーサーネット(登録商標)カード、モデム、Bluetoothモジュール、ケーブルモデムなどの多種多様な有線または無線インターフェースコンポーネントの任意であってよい。
【0024】
ゲームコンソール102は、2つのデュアルなコントローラサポートのサブアセンブリ240(1)および240(2)を有し、それぞれのサブアセンブリは2つのゲームコントローラ104(1)〜104(4)をサポートする。フロントパネルI/Oサブアセンブリ242は、電源ボタン112およびイジェクトボタン114、ならびに任意のLED(Light Emitting Diodes)または他のゲームコンソールの外側の表面上にある他の表示器の機能をサポートする。サブアセンブリ240(1)、240(2),および242は、1つまたは複数のケーブルアセンブリ244を介して、モジュール214へ結合される。
【0025】
8つのメモリユニット140(1)〜140(8)は、4つのコントローラ104(1)〜104(4)に接続可能であるとして示されている。つまり、各コントローラに2つのメモリユニットである。各メモリユニット140は、ゲーム、ゲームパラメータ、および他のデータが格納されるかもしれない追加のストレージを提供する。コントローラに挿入されるとき、メモリユニット140は、メモリコントローラ202によってアクセスされうる。
【0026】
システムパワーサプライモジュール250は、ゲームシステム100のコンポーネントウェ電力を提供する。ファン252は、ゲームコンソール102内の回路を冷やす。
【0027】
ゲームコンソール102は、一貫したユーザインターフェース、および様々なエンターテイメントエリアを通してユーザーを動かすナビゲーション階層を提供する一定のメディアポータルモデルを実装する。ポータルモデルは、ポータブルメディアドライブ106に挿入されたメディアタイプに関わらず、ゲームデータ、オーディオデータ、ビデオデータなどの複数のメディアタイプからコンテンツにアクセスする便利な方法を提供する。
【0028】
一定のメディアポータルモデルを実装するためにコンソールUI(User Interface)アプリケーション260は、ハードディスクドライブ208に格納される。ゲームコンソールの電源が入ると、コンソールアプリケーション260の様々な部分は、RAM206および/またはキャッシュ210、212にロードされ、CPU200上で実行される。コンソールアプリケーション260は、ゲームコンソール上で利用可能な異なるメディアタイプをナビゲートするとき一定のユーザー体験を提供するグラフィカルユーザインターフェースを表す。
【0029】
ゲームシステム100は、システムをテレビまたは他のディスプレイに単に接続することによって、スタンドアロンシステムとして動作してもよい。このスタンドアロンモードにおいて、ゲームシステム100は、一人または複数のプレイヤーが、ゲームをプレイする、映画を見る、または音楽を聴くことを可能にする。しかし、ブロードバンド接続性がネットワークインターフェース232を介して利用可能とされると、ゲームシステム100はさらに、より大きいネットワークゲームコミュニティにおける参加者として動作してもよい。ネットワークゲーム環境は次に説明される。
【0030】
図3は、ネットワーク302を介して、複数のゲームシステム100(1)、…、100(g)を相互接続する例示的ネットワークゲーム環境300を示す。ネットワーク302は、多種多様の任意のデータ通信ネットワークを表す。それは、パブリック部(たとえばインターネット登録商標)ならびにプライベート部(たとえば、宅内のLAN(Local Area Network))、ならびにパブリックおよびプライベート部の組合せを含んでもよい。ネットワーク302は、有線および無線メディアの両方を含む多種多様の従来の通信メディアの任意の1つまたは複数を使用して実装されてもよい。多種多様の通信プロトコルは、ネットワーク302を介して、パブリックおよび私有のプロトコルの両方を含むデータを通信するのに使用できる。そのようなプロトコルの例は、TCP/IP、IPX/SPX、NetBEUIなどを含む。
【0031】
ゲームシステム100に加えて、1つまたは複数のオンラインサービス304(1)、…、304(s)は、ネットワーク302を介してアクセス可能であってよく、オンラインゲームのホスティング、ダウンロード可能な音楽またはビデオファイルの提供、ゲーム対戦のホスティング、ストリーミング音声/ビデオファイルの提供などのような、様々なサービスを参加者のために提供する。ネットワークゲーム環境300は、鍵配布センタ306をさらに伴う。個々のプレイヤーおよび/またはゲームシステム100の互いに、ならびにオンラインサービス304の認証の役割を果たす。配布センタ306は、有効な参加者のための鍵とサービスチケットを配布し、それはその後、複数のプレイヤーの間のゲームを形成し、オンラインサービス304からのサービスを購入するのに使用されてもよい。
【0032】
ネットワークゲーム環境300は、個々のゲームシステム100に利用可能な別のメモリソースを導入する−オンラインストレージ。ポータブルストレージメディア108、ハードディスクドライブ208、およびメモリユニット140に加えて、ゲームシステム100は、オンラインサービス304におけるリモートストレージ308によって例示されるように、ネットワーク302を介して、リモートストレージロケーションで利用可能なデータファイルにもまた、アクセスできる。
【0033】
図4は、他のオンラインゲーム環境400(たとえばワシントン州レドモンドのマイクロソフト社によるXBOX(商標登録)LIVE)を示すブロック図である。複数のゲームコンソール402(1)、402(2)、…、402(n)は、ネットワーク406を介して、セキュリティゲートウェイ404と結合する。各ゲームコンソール402は、たとえば図1または図2のゲームコンソール102とすることができる。ネットワーク406は、1または複数の種類の従来型データ通信ネットワークを表す。ネットワーク406は、通常、パケット交換ネットワークを含むが、回線交換ネットワークもまた含むだろう。ネットワーク406は、有線および/または無線部を含むことができる。一つの例示的実装において、ネットワーク406は、インターネットを含み、1つまたは複数のLAN(Local Area Network)および/またはWAN(Wide Area Network)を随意的に含んでもよい。少なくともネットワーク406の一部は、パブリックネットワークであって、公衆にアクセス可能であるネットワークのことをいう。実質的に、誰もが、パブリックネットワークへアクセスできる。
【0034】
いくつかの状況において、ネットワーク406は、ゲームコンソール402およびセキュリティゲートウェイ404の間に位置づけられたルーティングデバイスと共に、LAN(たとえば、ホームネットワーク)を含む。このルーティングデバイスは、NAT(Network Address Translation)を実行してもよく、LAN上の複数のデバイスがインターネット上で同じIPアドレスを共有することを可能にし、インターネットを介して悪意または害のあるユーザーによるアクセスから、LAN上のデバイスを保護するためのファイアウォールとしても動作する。
【0035】
セキュリティゲートウェイ404は、パブリックネットワーク406およびプライベートネットワーク408の間のゲートウェイとして動作する。プライベートネットワーク408は、ローカルエリアネットワークなどの広い種類の任意の従来型ネットワークであってよい。プライベートネットワーク408ならびに以下でより詳細に述べられる他のデバイスは、セキュリティゾーンとして動作するデータセンタ410内にある。データセンタ410は、信頼できる通信を介して、信頼できるデバイス通信で構成されている。このように、セキュリティゾーン410内での暗号化および認証は必要ない。ネットワーク408の非公開特性(Private Nature)は、ネットワーク408の制限されたアクセス可能性のことをいう−ネットワーク408へのアクセスは、ある個人のみに制限されている(たとえば、データセンタ410の所有者またはオペレータによって制限される)。
【0036】
セキュリティゲートウェイ404は、1つまたは複数のセキュリティゲートウェイコンピューティングデバイスのクラスタである。これらのセキュリティゲートウェイコンピューティングデバイスは、セキュリティゲートウェイ404をまとめて実装する。セキュリティゲートウェイ404は、セキュリティゲートウェイコンピューティングデバイスによって処理される要求をそれらのコンピューティングデバイスの適切な1つへ向けるよう動作する1または複数の従来型ロードバランスデバイスを随意的に含む。このディレクティングおよびロードバランシングは、様々なセキュリティゲートウェイコンピューティングデバイス上の負荷のバランスを、概して同じに、(または代わりに、いくつかの他の基準によって)とろうとする方式で実行される。
【0037】
データセンタ410内も、1または複数のモニタリングサービス、1つまたは複数のプレゼンスおよび通知フロントドア414、1つまたは複数のプレゼンスサーバ416、通知サーバ418、プロフィールストア428(まとめてプレゼンスおよび通知サービスまたはシステム430を実装する)、1つ又は複数のマッチフロントドア420、1つまたは複数のマッチサーバ422(まとめてマッチサービスを実装する)、1つまた複数の統計フロントドア424、および1つ又は複数の統計サーバ426(まとめて、統計サービスを実装する)がある。サーバ416、418、422、および426は、ゲームコンソール402へサービスを提供し、このようにサービスデバイスといわれうる。他のサービスデバイスもまた、サーバ416、418、422、および426に追加しておよび/または代わりに、含まれてもよい。追加して、図4においてたった1つのデータしか示されていないが、代わりに複数のデータセンタが存在してもよく、ゲームコンソール402が通信できる。これらのデータセンタは、独立して動作してもよく、または代わりに、まとめて動作してもよい(たとえば、ゲームコンソール102、402に利用可能なひとつの大きいデータセンタを作ること)。
【0038】
ゲームコンソール402は、データセンタ410から離れて置かれ、ネットワーク406を介してデータセンタへアクセスする。データセンタ内の1つまたは複数のデバイスと通信することを望むゲームコンソール402は、データセンタへログインし、コンソール402とセキュリティゲートウェイ404間のセキュア通信チャネルを構築する。ゲームコンソール402およびセキュリティゲートウェイ404は、行ったり来たりするデータパケットを暗号化し認証し、これにより、データパケットが、暗号を破ることなしにデータパケットをとらえ、またはコピーするかもしれない他の任意のデバイスによって理解されることなし、それらの間で、セキュアに送信されることを可能にする。ゲームコンソール402からセキュリティゲートウェイ404、またはセキュリティゲートウェイ404からゲームコンソール402へ通信される各データパケットは、そこの埋め込まれたデータを有することができる。この組み込まれたデータは、コンテンツまたはパケットのデータコンテンツとよばれる。追加の情報は、パケットの種類に基づくパケット内に本来的に含まれる(たとえば、ハートビートパケット)。
【0039】
コンソール402とセキュリティゲートウェイ404の間のセキュア通信チャネルは、セキュリティチケットに基づく。コンソール402は、鍵配布センタ428に対してそれ自身およびコンソール402の現在のユーザーを認証し、鍵配布センタ428からセキュリティチケットを取得する。コンソール402はその後、セキュリティゲートウェイ404とのセキュアな通信を確立するためにこのセキュリティチケットを使用する。セキュリティゲートウェイ404とのセキュアな通信チャネルの構築の際、ゲームコンソール402およびセキュリティゲートウェイ404は、お互いにそれら自身を認証し、特定のゲームコンソール402およびセキュリティゲートウェイ404のみに知られているセションセキュリティ鍵を構築する。このセションセキュリティ鍵は、ゲームコンソール402とセキュリティゲートウェイ404間、およびセキュリティゲートウェイクラスタ404で送信されるデータを暗号化するのに使用され、他のデバイス(他のゲームコンソール402を含む)は、データを読むことができない。セションセキュリティ鍵もまた、データパケットによって送信元であると主張するセキュリティゲートウェイ404またはゲームコンソール402からのものであるとして、そのデータパケットを認証するために使用される。このように、そのようなセションセキュリティ鍵を使用することで、セキュア通信チャネルが、セキュリティゲートウェイ404および様々なゲームコンソール402間で構築できる。
【0040】
セキュア通信チャネルが、ゲームコンソール402とセキュリティゲートウェイ404間で構築されると、暗号化されたデータパケットは、2者間でセキュアに送信されうる。ゲームコンソール402がデータセンタ410内の特定のサービスデバイスへデータを送ることを望むならば、ゲームコンソール402は、データを暗号化し、データパケットによる目的とされる特定のサービスデバイスへ転送されることを要求するセキュリティゲートウェイ404へそれを送る。セキュリティゲートウェイ404は、データパケットを受信し、データペットを認証および復号化した後、プライベートネットワーク408を介して適切なサービスへ送るために、パケットのデータコンテンツを他のメッセージへカプセル化する。セキュリティゲートウェイ404は、データパケットによって目的とされる要求されたサービスに基づいて、メッセージのための適切なサービスを決定する。
【0041】
同様に、データセンタ410のサービスデバイスが、ゲームコンソール402へデータを通信することを望むとき、データセンタは、プライベートネットワーク408を介してセキュリティゲートウェイ404へメッセージを送り、それは、ゲームコンソール402へ送られるデータコンテンツ、ならびにデータコンテンツが送られる特定のゲームコンソール402の指示を含む。セキュリティゲートウェイ404は、データコンテンツをデータパケットへ組み込み、その後、データパケットを暗号化するので、特定のゲームコンソール402によってのみ復号化され、セキュリティゲートウェイ404からのデータパケットの認証もする。
【0042】
ゲームコンソール402とセキュリティゲートウェイ404間で、主として暗号化データパケットを通信することとして本書で述べられているが、代わりに、いくつかのデータパケットが部分的に暗号化されてもよい(データパケットのいくつかの部分は暗号化される一方で、他の部分が暗号化されない)。データパケットのどの部分が暗号化され、どの部分がされないかは、データセンタ410および/またはゲームコンソール402の設計の要望に基づいて変えることができる。たとえば、設計者は、ボイスデータがコンソール402の間で通信することを可能にすることを選択してもよいので、コンソール402のユーザーは、お互いに話すことができる−設計者はさらに、パケットの任意の他のデータが暗号化されている間、ボイスデータが暗号化されないことを可能にすることを選択してもよい。さらに、他の代替において、いくつかのデータパケットは、暗号化されている部分を有さなくてもよい(つまりデータパケット全体は暗号化されていない)。データパケットが暗号化されるか、または部分的に暗号化されていたとしても、データパケットのすべては、まだ認証することは可能であることを理解されたい。
【0043】
ゲートウェイ404の各セキュリティゲートウェイデバイスは、通常、1または複数のゲームコンソール402とのセキュアな通信チャネルに関与し、このように各セキュリティゲートウェイデバイスは、1つまたは複数のゲームコンソールの管理または扱いに関与するよう見ることができる。様々なセキュリティゲートウェイデバイスは、それぞれ他と通信し、お互いにメッセージを通信してもよい。たとえば、管理に関与しないゲームコンソールへデータパケットを送る必要のあるセキュリティゲートウェイデバイスは、そのゲームコンソールへ送られるデータと共に、すべての他のセキュリティゲートウェイデバイスへメッセージを送ってもよい。このメッセージは、そのゲームコンソールの管理に関与し、適切なデータをそのゲームコンソールへ送るセキュリティゲートウェイデバイスによって受け取られる。代わりに、セキュリティゲートウェイデバイスは、どのゲームコンソールが、どのセキュリティゲートウェイデバイスによって扱われているかを知ってもよい−これは、各セキュリティゲートウェイデバイスが、他のセキュリティゲートウェイデバイスによって扱われるゲームコンソールのテーブルを保持する明示的、または変わりにゲームコンソールの識別子に基づいてどのセキュリティゲートウェイデバイスが特定のゲームコンソールに関与するかを決定するような潜在的なものであってもよい。
【0044】
モニタリングサービス412は、利用可能なゲームコンソール402または利用不能なセキュリティゲートウェイ404のセキュリティゲートウェイデバイスのデータセンタ410内のデバイスを知らせるために動作する。ゲームコンソール402は、ハードウェアまたはソフトウェアの障害、データセンタ410のログアウトなしにコンソールの電源が落ちること、コンソール402へのネットワーク接続ケーブルがコンソール402へ接続されていないこと、他のネットワークの問題(たとえば、コンソール402が故障中)などのような、様々な異なる理由で利用不能となることがある。同様に、セキュリティゲートウェイ404のセキュリティゲートウェイデバイスは、ハードウェアまたはソフトウェアの障害、デバイスの電源が落ちること、デバイスへのネットワーク接続ケーブルがデバイスから接続されていないこと、他のネットワークの問題などのような、様々な異なる理由で利用不能となることがある。
【0045】
セキュリティゲートウェイ404の各セキュリティゲートウェイデバイスは、1つまたは複数のモニタリングサーバ412によって監視され、それは、いつセキュリティゲートウェイのうちの1つが利用可能になったかを検知する。セキュリティゲートウェイデバイスが利用不能となる場合に、モニタリングサーバ412は、データセンタ410における他のデバイス(サーバ、フロントドアなど)のそれぞれにセキュリティゲートウェイデバイスがもはや利用可能でない旨のメッセージを送る。他のデバイスのそれぞれは、適切と思われるようにこの情報に基づいて動作できる(たとえば、セキュリティゲートウェイサービスによって管理されている特定のゲームコンソールは、もはやデータセンタ410と通信せず、それによって様々なクリーンアップ動作を実行すると仮定してもよい。)。代わりに、あるデバイスだけは、モニタリングサーバ412からそのようなメッセージを受け取ってもよい(たとえばセキュリティゲートウェイデバイスが利用かどうかに関するこれらのデバイスのみ)。
【0046】
セキュリティゲートウェイ404は、個々のゲームコンソール402を監視し、ゲームコンソール402の1つが利用不能となるときに検知する。セキュリティゲートウェイ404が、ゲームコンソールがもはや利用可能でないことを検知するとき、セキュリティゲートウェイは、利用不能なゲームコンソールを識別するモニタリングサーバ412へメッセージを送る。応答して、モニタリングサーバ412は、データセンタ410の他のデバイスのそれぞれに(または代わりに、選択されたデバイスのみに)ゲームコンソールがもはや利用可能でない旨のメッセージを送る。他のデバイスのそれぞれは、適切と思われるようにこの情報に基づいてそれらを動作できる。
【0047】
プレゼンスサーバ416は、オンラインゲームのために、データセンタ410へログインした所与のユーザーのログインの状態またはプレゼンスに関するデータを維持し、処理する。通知サーバ418は、データセンタ410へログインしたプレイヤー宛の出力
メッセージの複数の通知キューを保持する。プレゼンスおよび通知フロントドア414は、セキュリティゲートウェイ404およびサーバ416、418間で中継として動作する1または複数のサーバデバイスである。1または複数のロードバランシンングデバイス(示されていない)は、フロントドア414として動作する複数のサーバデバイス間で、負荷のバランスをとるために、プレゼンスおよび通知フロントドア414に含まれてもよい。セキュリティゲートウェイ404は、サーバ416、418のためにフロントドア414へメッセージを通信し、フロントドア414は、どの特定サーバ416または特定サーバ418とメッセージが通信するかを識別する。フロントドア414を使用することによって、どのユーザーに関して、どのサーバがデータを管理するのに関与するかなどの、サーバ416および418の実際の実装は、セキュリティゲートウェイ404から抽象化される。セキュリティゲートウェイ404は、プレゼンスおよび通知サービスを目的とするメッセージを、プレゼンスおよび通知フロントドア414へ単に転送し、サーバ416およびサーバ418の適切な1つにメッセージを向けるために、フロントドア414に依存する。
【0048】
マッチサーバ422は、オンラインプレイヤーをお互いにマッチすることに関するデータを持ち、処理する。オンラインユーザは、ゲームの様々なキャラクターとともに、プレイすることが利用可能であるゲームを公表することができる(たとえば、フットボールゲームがプレイできるだろう場所、日中または夜にゲームがプレイされるかどうか、ユーザーの技術レベルなど)。これらの様々なキャラクター特徴はその後、ゲームを一緒にプレイする異なるオンラインユーザと対戦する基準として使用されうる。マッチフロントドア420は、1つまたは複数のサーバデバイス(、および随意的にロードバランシングデバイス)を含み、サーバ416およびサーバ418を抽象化するフロントドア414と類似の方法で、セキュリティゲートウェイ404からマッチサーバ422を抽象化するために動作する。
【0049】
統計サーバ426は、オンラインゲームのための様々な統計に関するデータを持ち、処理する。特定の統計サーバは、ゲーム設計者の希望に基づいて変えることができる(たとえば、トップ10のスコアと時間、そのゲームのすべてのオンラインプレイヤーの世界ランキング、もっともアイテムを見つけたユーザーまたはもっともプレイに時間を費やしたユーザーのリストなど)。統計フロントドア426は、1つまたは複数のサーバデバイス(、および随意的にロードバランシングデバイス)を含み、サーバ416およびサーバ418を抽象化するフロントドア414に類似の方法で、セキュリティゲートウェイ404から統計サーバ426を抽象化するために動作する。
【0050】
このように、セキュリティゲートウェイ404は、信頼性のないパブリックネットワーク406から、データセンタ410のセキュアゾーン内のデバイスを保護するために動作することを理解されたい。データセンタ410のセキュアゾーン内の通信は、データセンタ410内のすべてのデバイスは信頼性があるので、暗号化される必要がない。しかし、セキュリティゲートウェイクラスタ404を通って、データセンタ内のデバイスからゲームコンソール402へ、任意の情報が通信され、それは、情報によって目的とされるゲームコンソール402によってのみ復号化されうるような方式で、暗号化される。
【0051】
本書で説明される1つまたは複数の機能は、RAMメモリ206、不揮発性メモリ108、208、308、またはゲームコンソール102上の他の任意の常駐メモリに格納されるコンピュータ実行可能命令(つまり、ソフトウェア)に組み込まれてもよい。一般に、ソフトウェアモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含み、特定のタスクを実行するか、コンピュータまたは他のデバイスのプロセッサによって実行されるとき、特定のオブジェクトデータタイプを実装する。コンピュータ実行可能命令は、1つまたは複数のハードディスク208、リムーバブルストレージメディア108(たとえば、CD−ROM、DVD、ディスクなど)、半導体メモリ、RAM206などのような、コンピュータ可読メディア上に格納されてもよい。当業者によって理解されるように、ソフトウェアモジュールの機能性は、様々な実装に望まれるように、結合または分配されてよい。さらに、機能性は、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などの、ファームウェアまたはハードウェア環境に、全部または一部で実装されてよい。
【0052】
本書の態様は、コンソールコンピューティング環境に限られない。本当に、これらの態様は、PC(Personal Commputer)上で動作するビデオゲームにもまた、実装してよい。図5は、本書で説明される機能を実装してもよい適合するコンピューティングシステム環境500の例を示す。コンピューティングシステム環境500は、適合するコンピューティングシステムの一例にすぎず、本書で説明される使用の範囲または機能の機能性に関して、制限を提案することを意図しない。また、コンピューティングシステム環境500が、例示的コンピューティングシステム環境500に示される構成要素の任意の1つまたは組合せに関する任意の依存または要求を有すとして解釈されるべきでもない。
【0053】
本書の機能は、多くの他の一般的な目的または特定の目的のコンピューティングシステム環境または構成で動作できる。使用に適していてもよい、よく知られているコンピューティングシステム、環境、および/または構成の例は、パーソナルコンピュータ、サーバコンピュータ、携帯またはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家電、ネットワークPC、マイクロコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスの任意を含む分散コンピューティング環境などを含むが、これらに限られない。
【0054】
本書の機能は、コンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的なコンテキストで説明されてもよい。一般的に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含むみ、特定のタスクを実行するか、特定のオブジェクトデータタイプの実装をする。機能は、タスクが通信ネットワークを通ってリンクされるリモート処理デバイスによって実行される、分散コンピューティング環で実行されてもよい。分散コンピューティング環境において、プログラムモジュールは、メモリストレージを含む、ローカルおよびリモートコンピュータのストレージメディアの両方に位置づけられてよい。
【0055】
図5を参照すると、本書で説明される機能を実装するための例示的システムは、コンピュータ510の形式で、一般的な目的のコンピューティングデバイスを含む。コンピュータ510のコンポーネントは、プロセッシングユニット520、システムメモリ530、および、システムメモリを含む様々なシステムコンポーネントをプロセッシングニット520に結合するシステムバス521を含んでもよいが、それらに限られない。システムバス521は、メモリバスまたはメモリコントローラ、周辺機器バス、および様々なバス構造の任意を使用するローカルバスを含む多くの種類のバスの任意であってよい。例えば、そしてそれに限られず、そのようなバス構造は、ISA(Industry Standard Architecture)バス、MSA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、およびMezzanineバスとも知られるPCI(Peripheral Component Interconnects)バスを含む。
【0056】
コンポーネント510は、様々なコンピュータ可読メディアを含む。コンピュータ可読メディアは、コンピュータ510によってアクセス可能な任意の利用可能メディアとすることができ、揮発性と不揮発性メディアの両方、リムーバブルおよびリムーバブルでないメディアを含む。例えば、そしてそれに限られず、コンピュータ可読メディアは、コンピュータのストレージメディアおよび通信メディアを構成してもよい。コンピュータのストレージメディアは、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報のストレージのための任意の方法および技術で実装される、揮発性と不揮発性の両方、リムーバブルおよびリムーバブルでないメディアを含む。コンピュータのストレージメディアは、RAM、ROM,EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、DVD(Digital Versatile Disk)または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、あるいは他の磁気ストレージデバイス(単数または複数)、または望む情報を格納するのに使用され、コンピュータ510によってアクセスされうる他の任意のメディアを含むが、それらに限られない。通信メディアは、通常、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の伝送メカニズムなどの変調データ信号内に組み込み、任意の情報を運ぶメディアを含む。「変調データ信号」という言葉は、信号内に符号化された情報に関するそのような方法で設定または変えられるその特徴の1つまたは複数を有する信号を意味する。例によって、そしてそれに限られず、通信メディアは、有線ネットワークまたは直接有線接続などの有線メディア、およびアコースティック、RF、赤外線、および他の無線メディアなどの無線メディアを含む。上記の任意の組合せも、コンピュータ可読メディアの範囲内に含まれるべきである。
【0057】
システムメモリ530は、ROM(Read Only Memory)531およびRAM(Random Access Memory)532などの、揮発性および/または不揮発性メモリの形式でコンピュータのストレージメディアを含む。スタートアップの間などのコンピュータ510内の要素間での情報を送るのを助ける基本のルーチンを含むBIOS(Basic Input/Output System)533は、通常、ROM531に格納される。RAM532は、通常、すぐにアクセス可能で、および/またはプロセッシングユニット520によって現在動作されているデータおよび/またはプログラムモジュールを含む。
【0058】
コンピュータ510は、他のリムーバブル/リムーバブルでない、揮発性/不揮発性のコンピュータのストレージメディアもまた含む。例のみによると、図5は、リムーバブルでなく不揮発性の磁気メディアから読み出しまたは書き込むハードディスクドライブ541、リムーバブルで不揮発性の磁気ディスク552から読み出しまたは書き込む磁気ディスクドライブ551、CDROMまたは他の光メディアなどのリムーバブルで不揮発性の光ディスク556から読み出しまたは書き込む光ディスクドライブ555を示す。例示的動作環境内で使用されうる、他のリムーバブル/リムーバブルでない、揮発性/不揮発性のコンピュータのストレージメディアは、磁気テープカセット、フラッシュメモリーカード、ディジタル多目的ディスク、ディジタルビデオテープ、半導体RAM、半導体ROmなどのようなものを含むがそれらに限られない。ハードディスクドライブ541は、通常、インターフェース540などのリムーバブルでないメモリインターフェースを通して、システムバス521へ接続され、磁気ディスクドライブ551および光ディスクドライブ555は、通常、インターフェース550などのリムーバブルメモリインターフェースによってシステムバス521へ接続される。
【0059】
上記で述べられ、図5で示されたドライブおよびそれらに関連したコンピュータのストレージメディアは、コンピュータ可読命令、データ構造、プログラムモジュール、および他のコンピュータ510のためのデータのストレージを提供する。図5において、たとえば、ハードディスクドライブ541は、オペレーティングシステム544、アプリケーションプログラム545、他のプログラムモジュール546、およびプログラムデータ547を格納するとして示される。これらのコンポーネントは、オペレーティングシステム534、アプリケーションプログラム535、他のプログラムモジュール536、およびプログラムデータ537と同じか、または異なるかどちらにでもなり得ることに留意されたい。オペレーティングシステム544、アプリケーションプログラム545、他のプログラムモジュール546、およびプログラムデータ547は、最小でそれらが異なるコピーであることを示す異なる番号を与えられる。ユーザーは、キーボード562およびポインティングデバイス561、一般にマウスとよばれる、トラックボールまたはタッチパッドなどの入力デバイスを介して、コンピュータへコマンドおよび情報を入力してもよい。他の入力デバイス(示されていない)は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、またはそのようなものを含んでもよい。これらおよび他の入力デバイスは、システムバスへ連結されるユーザー入力インターフェース560を介してプロセッシングユニット520へしばしば接続されるが、パラレルポート、ゲームポート、またはUSB(Universal Serial Bus)などの他のインターフェースおよびバスによって接続されてもよい。モニター591または他の種類のディスプレイデバイスもまた、ビデオインターフェース590などのインターフェースを介して、システムバス521へ接続される。モニターに追加して、コンピュータもまた、スピーカー597、プリンター596などの他の周辺機器の出力デバイスを含んでもよく、それは出力の周辺機器インターフェース595を介して接続されてもよい。
【0060】
コンピュータ510は、リモートコンピュータ580などの1つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク化された環境で動作してもよい。リモートコンピュータ580は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードであってよく、通常は、図5にはメモリストレージデバイス581のみが示されているが、コンピュータ510に関する上記の多くまたはすべての要素を含む。図5に描かれている論理接続は、LAN(Local Area Network)571およびWAN(Wide Area Network)573を含むが、他のネットワークを含んでもよい。そのようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットにおいて、一般的である。
【0061】
LANネットワーキング環境において使用される場合、コンピュータ510は、ネットワークインターフェースまたはアダプタ570を介してLAN571へ接続される。WANネットワーキング環境で使用される場合、コンピュータ510は、通常、モデム572、またはインターネットなどのWAN573上の通信を確立するための他の方法を含む。内部または外部であってよいモデム572は、ユーザー入力インターフェース560または他の適当なメカニズムを介して、システムバス521に接続されてもよい。ネットワーク化された環境において、コンピュータ510に関連して描かれたプログラムモジュール、またはその一部は、リモートメモリストレージデバイスに格納されてもよい。例えば、そしてそれに限られず、図5は、メモリデバイス581に在るとして、リモートアプリケーションプログラム585を示す。示されるネットワーク接続、およびコンピュータ間の通信リンク確立の他の方法を使用してもよいことが理解されるだろう。
【0062】
図6はRPGなどのビデオゲームのマップシーン例を示す。マップシーン601において、プレイヤーのキャラクターを表すアイコン602を表示してもよい。アイコン602は、ゲームのストーリー内の個々のキャラクターを表してもよく、またはパーティーを形成する複数のキャラクターを表してもよい。インディシア(indicia)602は、プレイヤーによって制御され、シーン601内を動き回り、ゲーム環境内の様々な要素との対話を行ってもよい。例えば、マップシーン601は、第1の町を表すアイコン603、第2の町を表す第2のアイコン604、森を表す第3のアイコン605、要塞を表す4番目のアイコン606のように、ゲーム世界内の様々な場所を表す複数のアイコンを含んでもよい。ストーリーの中身によって、任意の数のアイコンがマップシーン601に示されてもよい。
【0063】
キャラクター602はプレイヤーの制御の下、マップシーン601を動き回ることができる。例えば、コントローラ104上の方向ボタンを押すと、キャラクター602は、シーン601内の対応する方向に移動し、1または複数の場所(たとえば、アイコン603〜606)に、その場所に入るために近づくことができる。
【0064】
町604などの場所に入ると、RPGは、図7に示されるように、シーンが変更され、ロケーションシーン700が表示されるかもしれない。ロケーションシーン700は町604をより近づいて、より詳しく示してもよく、町604内でプレイヤーのキャラクターが対話できるエリアを表すアイコン702〜704を含んでもよい。上記のように、プレイヤーのパーティーは複数のキャラクターで構成されており、場所に入ると、パーティーは分散してもよい。図7に示されるように、複数のアイコン701a〜dが表示され、プレイヤーのパーティー内の様々なキャラクターに対応し、例えばアニメーションやフェード効果などによって、様々なキャラクターが町604内の様々なエリアに分散されるのを示してもよい。
【0065】
分散は、個々のキャラクターの属性に基づいてもよい。例えば、大酒飲みのキャラクターは自動的に町のパブやバーに向かうかもしれない。信仰心の厚いキャラクター701Cは町の寺院703に向かうかもしれない。キャラクターの様々な嗜好や傾向は、RAM206、ディスクドライブ208、システムメモリ530などのゲーム装置のメモリ内にデータ構造として格納されてもよい。データ構造は任意の形式でよく、図8で示すような種類のデータを保持してもよい。例えば、プレイヤーのパーティーにいる4人のキャラクターそれぞれのデータレコード(801〜804)があってよい。レコードはキャラクター識別子801a(キャラクター名など)を格納するかもしれない。レコードは、キャラクターの興味801b情報を格納してもよく、例えば、キャラクターを惹きつけるオブジェクトの種類、エリア、生物、人格などの、キャラクターの特有の興味を識別してもよい。興味の情報は、興味の種類、ならびに興味の度合い(興味が弱い、興味が強いなど)を識別してもよい。同様に、レコードは、嫌悪情報801cも記憶可能で、例えばそのキャラクターが嫌いなオブジェクトの種類、エリア、生物、人格などのキャラクターの嫌悪を識別し、また嫌悪の度合い(嗜好性が弱い、嗜好性が強いなど)もまた識別してもよい。レコードは、(肌の色、髪、目など)のキャラクターの身体の体裁を識別する容姿情報801d、キャラクターによって所持および/または装備されている装備品を識別する装備情報801d、キャラクターの他の望ましい属性を識別する他の情報801eもまた格納してもよい。
【0066】
RPGは、町エリアのような場所にある様々な要素の属性を識別するデータ構造805・806も格納してもよい。例えば、第1の場所805が寺院703に対応してもよく、場所のデータ構造は、この場所の種類を示してもよい。キャラクターの属性を場所の属性と比較し、町に入った際に、特定のキャラクターが訪れたい場所またはエリアを自動的に決定してもよい。
【0067】
キャラクター602が町604などの場所に入ると、プレイヤーは、パーティーから制御するキャラクターを選択するオプションが与えられてもよい。例えば、プレイヤーは利用可能なキャラクターのリストを表示されてもよく、プレイヤーは、町にいる間、制御するキャラクターを選ぶことができる。その場所または町にいる間、パーティー内の別の一人のキャラクターへ動的に制御を切り替えてもよい。例えば、システムは、パーティーのキャラクターをリストアップするキャラクターデータ構造807を格納してもよく、コントローラ104の既定のボタンを押すことによって、リストの次のキャラクターに制御を切り替えてもよい。
【0068】
キャラクター間の制御を切り替えることは、プレイヤーが、別の視点からイベントを体験することを可能にする。例えば、第1のキャラクターを使用して、障害に出くわす場合、プレイヤーは、その状況を助けるために別のキャラクターに制御を切り替えることができる。図9a〜dは、このような状況が起きる時の一連の画面一例である。第1に、図9aにおいて、プレイヤーのキャラクター901が避けて通れない敵の守衛902と遭遇するかもしれない。第2のキャラクター903に制御を切り替えることによって、図9bに示すように守衛902の注意をそらすため第2のキャラクター903をその場面に連れてくることができる。プレイヤーは、図9cに示すように、守衛902をその持ち場から離れるように、第2のキャラクター903を仕向けてもよい。守衛902が持ち場を離れたら、プレイヤーは、第1のキャラクター901に制御を切り替えて戻し、守衛902に邪魔されずに第1のキャラクター901を通過させる。
【0069】
図9a〜dで示される例において、プレイヤーがキャラクターを切り替えた後の時間でシーンが進行し続けた。キャラクターの切り替え後、第1のキャラクター901は、プレイヤーがそのキャラクターの制御に切り替えて戻すまで、単に同じ位置のままでもよい。代わりに、プレイヤーがキャラクターを切り替える際に、プレイヤーは、時間を戻って、前に起きたシーンを再生することを選択してもよい。例えば、プレイヤーが、キャラクター901を使用して守衛902をすり抜けようとし、失敗(たとえば、守衛がキャラクター901を捕え、拘禁する)した場合、プレイヤーは、別のキャラクター903に制御を切り替え、第1のキャラクター901の失敗の試みを目撃し、その結果を変えるためにその失敗の試みを、試すおよび介入するために、時間を戻すオプションを与えられてもよい。
【0070】
これは、第1の対話の試みにおいて、第1のキャラクター903と守衛902によってとられる様々なアクションを識別する第1の記録データによって達成されてもよい。次にプレイヤーがキャラクター903に切り替えるとき、システムは、前回の対話中のキャラクター901と守衛902が表示するために、この記録されたデータをロードでき、プレイヤー(第2のキャラクター902を制御中)は、移動し、前回記録されたシーンと対話できる。もちろん、記録されたシーンは、第1の時とまったく同じに起こる必要はなく、キャラクター901および/または守衛902は、第2のキャラクター903のとった新規の行動に対応することができる。例えば、2回目の対話の間、プレイヤーは守衛902がキャラクター901を捕えようとしているところにキャラクター903を出会わせ、その後キャラクター903を逃走させる。守衛902がキャラクター901を捕え続ける代わりにキャラクター903を追ってきたら、プレイヤーは次に、プレイヤー901に制御を戻して、そのキャラクターにゲートを通過させるよう移動させてもよい。
【0071】
図10は本書で説明する1または複数の機能を実装する方法の一例を示す。ステップ1001において、プレイヤーは、キャラクターのパーティーを表すアイコン602を制御し、マップシーン602を介してアイコンを動かし、町604などの町に入ってもよい。ステップ1002において、プレイヤーは、町にいる間パーティーのどのキャラクターを制御したいかの選択のオプションが与えられてもよい。たとえば、利用可能なキャラクターのリストをユーザーに表示し、一人の選択を受け取ることによって、これはなされる。
【0072】
プレイヤーは、制御するキャラクターを選ぶと、システムは、ステップ1003に進み、パーティー内のキャラクターの分散を示してもよい。プレイヤーによって制御するよう選択されていないキャラクターは、キャラクターの嗜好(上で述べたような興味や嫌悪など)に最も合致した町のエリアに自動的に向かう。次にステップ1004において、プレイヤーは、選択したキャラクターを制御し、プレイヤーの制御の下、町中を移動させてもよく、プレイヤーの望むように、様々な生物/キャラクター/オブジェクトと対話する。この対話の間、プレイヤーは最初に選択したキャラクターの視点からイベントを見るだろう。
【0073】
ステップ1005(代替的にステップ1004の一部として行うことも可能)において、プレイヤーおよび選択したキャラクターの様々な行動は、システムのメモリに記録されてもよい。この記録は、コマンド、方向、およびプレイヤーが操作するキャラクターおよびプレイヤーが対話した様々な生物/キャラクター/オブジェクトの行動を格納してもよい。
【0074】
ステップ1006において、システムは、キャラクターを変更することおよび時間をさかのぼることが望まれることを示すコマンドを、プレイヤーが入力したかどうかを確認してもよい。これは、例えばプレイヤーが別のキャラクターの視点から以前のシーンをリプレイしたい場合に起きるかもしれない。プレイヤーがそのような変更をしたいと望む場合、プレイヤーは、ステップ1007において次のキャラクターを選択することができる。ステップ1008において、システムは、プレイヤーの前の対話の、前に記録されたデータ(上記のように、キャラクター901の守衛902を通り抜けようとする試みの失敗したことなど)をロードするかもしれない。前の対話のロードと共に、処理はステップ1009に移動してもよく、そこでプレイヤーは、別のキャラクターの視点から、以前のシーンをリプレイする機会を有する。例えば、シーンのリプレイ中にプレイヤーは別のキャラクターを制御してそのシーンに介入したり結果を変えたりできる(上で説明した守衛902の注意をそらすことなど)。
【0075】
シーンの巻き戻しおよびリプレイは複数回起きてもよい。ステップ1010において、システムは、プレイヤーがさらに別のキャラクターの視点からシーンをもう一度試したいかどうか確かめてもよい。例えば、前のステップ1009は、前回のシーンの記録と、初期の試み(たとえば、ステップ1004から)、ならびに、別のキャラクターの試み(たとえば、ステップ1009から)も含むこともできる。ステップ1010において、プレイヤーが別のキャラクター(たとえば、ステップ1004で使用したのと同じキャラクター、または完全に別のキャラクター)に切り替えたい場合、システムは、ステップ1007に戻って別のキャラクターの視点からそのシーンをやり直すことができる。
【0076】
ステップ1010において、プレイヤーが時間を巻き戻すことを望まない場合、システムは、ステップ1011において、プレイヤーが、キャラクターを切り替え、現在のタイムラインを続行することを望んだかどうかを決定するためにチェックしてもよく、これによって、その現在の位置からそのシーンを続行する。プレイヤーが、そのような変更をすることを望む場合、処理は、ステップ1004に戻ってそのシーンを続行してもよい。プレイヤーがキャラクターの変更を望まない場合、その後、処理はステップ1012に進んでもよく、プレイヤーが与えられたシーンで終了するかどうかを決定する。プレイヤーが終了する場合、処理は終了する。プレイヤーが終了しない場合、処理は、ステップ1004に戻ってそのシーンを続行する。
【0077】
ステップ1006において、プレイヤーが時間を巻き戻すことを望まない場合、処理はステップ1013に進み、プレイヤーがキャラクターを変更し、そのシーンを続行したいかどうかをチェックしてもよい。プレイヤーが続行したい場合、処理は、ステップ1004に戻ってそうしてもよい。プレイヤーが続行したくない場合、ステップ1012に移動し、プレイヤーが上記のように、現在のシーンを終了するかどうか決定してもよい。
【0078】
プレイヤーがキャラクター間で切り替えられることによって、RPGはプレイヤーにとってさらに魅力的な体験を提供することができる。これを促進するために、ゲームソフトウェアは、多くの異なるキャラクターの視点からの単一の対話またはイベントを示すカットシーンデータを含んでもよい。システムは、制御されたキャラクターの個性によってカットシーンを単に選択してもよい。以前の対話の対話的なリプレイを可能にするため、システムは、対話がリプレイされるとき変更が許可されるような方式で前の対話を格納してもよい。例えば、システムは、シーン内にいるキャラクターのために既定された挙動アルゴリズムを格納してもよく、初期の対話としての実行を引き起こすコマンドを格納してもよい。その後、対話がリプレイされるとき、同じコマンドが、挙動アルゴリズムに供給されてもよいが、プレイヤーが、第2のキャラクターにそれらのコマンドを妨害または変更を引き起こす場合、結果の挙動(および妨害)が応答して変化するだろう。
【0079】
上述の機能は、パーソナルコンピュータやビデオゲーム機などの演算装置で実行できる実行可能命令としてコンピュータソフトウェアにエンコードされるのが望ましく、図で示される画面で表示される結果となる。実行可能命令は、1または複数のコンピュータディスク、RAM、CD−ROM、DVD、ゲームカートリッジなどのコンピュータ可読媒体上に格納されてもよい。また、様々な機能が上で説明されてきたが、それらすべて同じ実施形態で実行する必要はない。代わりに、様々な組合せおよび副結合は、望むように実装でき、本発明の本当の範囲は、請求項によってのみに制限されるべきである。
【0080】
主題は構造的機能および/または方法論的行為に特定した言語で説明されてきたが、添付の請求項で定義された主題は、上記の特定の特または行為に制限される必要性はない。むしろ、上記の特定の機能および行為は、特許請求の範囲の実装の例示的形式として開示される。
【図面の簡単な説明】
【0081】
【図1】本書で説明する1または複数の機能と実行するかもしれないゲームシステムを示す。
【図2】図1で示されるゲームシステムのブロック図を示す。
【図3】本書で説明する1または複数の機能を実装するかもしれないネットワークゲームシステムのブロック図を示す。
【図4】本書で説明する1または複数の機能が実装されるかもしれないオンラインゲーム環境のブロック図である。
【図5】本書で説明する1または複数の機能が実装されるかもしれない一般的なコンピュータシステムのブロック図である。
【図6】主要なキャラクターを示すマップシーンの一例を示す。
【図7】プレイヤーのパーティーが、マップシーンシから入った場所に分散するロケーションシーンの一例を示す。
【図8】本書で説明する1または複数の機能を促進するために格納されるかもしれないデータ構造およびコンテンツの一例を示す。
【図9a】プレイヤーがキャラクター制御を切り替える画面の一例を示す。
【図9b】プレイヤーがキャラクター制御を切り替える画面の一例を示す。
【図9c】プレイヤーがキャラクター制御を切り替える画面の一例を示す。
【図9d】プレイヤーがキャラクター制御を切り替える画面の一例を示す。
【図10】本書で説明する1または複数の機能を採用する方法の一例を示す。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013