JP5129940B2 - ロールプレイシステム - Google Patents

ロールプレイシステム Download PDF

Info

Publication number
JP5129940B2
JP5129940B2 JP2006244203A JP2006244203A JP5129940B2 JP 5129940 B2 JP5129940 B2 JP 5129940B2 JP 2006244203 A JP2006244203 A JP 2006244203A JP 2006244203 A JP2006244203 A JP 2006244203A JP 5129940 B2 JP5129940 B2 JP 5129940B2
Authority
JP
Japan
Prior art keywords
character
computer
player
dialogue
characters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006244203A
Other languages
English (en)
Other versions
JP2007075608A (ja
Inventor
博信 坂口
岳宏 上永吉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2007075608A publication Critical patent/JP2007075608A/ja
Application granted granted Critical
Publication of JP5129940B2 publication Critical patent/JP5129940B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/10
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • A63F13/497Partially or entirely replaying previous game actions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5252Changing parameters of virtual cameras using two or more virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character changes room or displaying a rear-mirror view in a car-driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/63Methods for processing data by generating or executing the game program for controlling the execution of the game in time
    • A63F2300/634Methods for processing data by generating or executing the game program for controlling the execution of the game in time for replaying partially or entirely the game actions since the beginning of the game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/63Methods for processing data by generating or executing the game program for controlling the execution of the game in time
    • A63F2300/636Methods for processing data by generating or executing the game program for controlling the execution of the game in time involving process of starting or resuming a game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6676Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera by dedicated player input
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/807Role playing or strategy games

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Description

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

Claims (19)

  1. 複数のキャラクターを表す、単一のプレイヤー制御のアイコンを含む、ロールプレイングゲーム中のマップシーンを表示するステップと、
    前記マップシーン上の場所に前記単一のプレイヤー制御のアイコンを移動させるユーザーのリクエストを受け取るステップと、
    前記単一のプレイヤー制御のアイコンが前記マップシーン上の前記場所へ入ることに応答して、前記マップシーン上の前記場所の複数の異なるエリアを含む前記マップシーン上の前記場所のより近いビューを表示するステップと、
    前記複数のキャラクターの各々の嗜好情報にアクセスするステップと、
    前記嗜好情報の少なくとも一部に基づいて、前記マップシーン上の前記場所の異なるエリアに前記複数のキャラクターを自動的に分散させるステップと、
    前記異なるエリアの少なくとも一つにおける制御のために前記複数のキャラクターの選択された最初の1つのユーザー指示を受け取るステップと、
    前記異なるエリアの少なくとも一つの第1の対話中に第1のキャラクターを含むステップと、
    前記第1のキャラクターを含む前記第1の対話を記録するステップと、
    前記第1の対話に続いて、前記複数のキャラクターの第2のキャラクターへ制御を切り替えるためのユーザーコマンドを受け取り、前記第2のキャラクターの視点から前記第1の対話を続けるステップと、
    第2の対話の前記第2のキャラクターを含むためのユーザーコマンドを受け取るステップと
    コンピュータに、ビデオゲーム内で実行させるコンピュータ実行可能命令を格納するコンピュータ可読媒体。
  2. 前記第1の対話に続いて、前記複数のキャラクターの第2のキャラクターに制御を切り替え、前記第2のキャラクターの視点から前記第1の対話をリプレイするために時間を戻すユーザー要求を受け取るステップをさらに備えたことを特徴とする請求項1のコンピュータ可読媒体
  3. 前記第2のキャラクターに前記第1の対話の以前の結果を変えさせるユーザーコマンドを受け取るステップをさらに備えたことを特徴とする請求項2のコンピュータ可読媒体
  4. 第3のキャラクターを使用して前記第2の対話をリプレイするための他のユーザー要求を受けとり、前記他のユーザー要求に応答して前記第2の対話をリプレイするステップをさらに備えたことを特徴とする請求項3のコンピュータ可読媒体
  5. コンピュータのプロセッサが、
    第1のプレイヤー制御のキャラクターおよびコンピュータ制御のキャラクターを有するシーンを表示するステップと、
    プレイヤーコマンドに応答して、前記第1のプレイヤー制御のキャラクターと前記コンピュータ制御のキャラクター間の対話を表示し、前記対話を記録するステップと、
    ユーザーコマンドに応答して、プレイヤーの制御を第2のキャラクターに切り替えるス
    テップと、
    前記第2のキャラクターの視点を通して前記対話をリプレイするステップと、
    ユーザーコマンドに応答して、マップシーンを通して、複数のキャラクターを表すアイ
    コンを移動させるステップと、
    前記マップシーン内の既定のエリアに前記アイコンが入ることに応答して、前記複数のキャラクターを表す複数のアイコンに前記アイコンを、自動的に分散させるステップと
    コンピュータに、ビデオゲーム内で実行させるコンピュータ実行可能命令を格納するコンピュータ可読媒体。
  6. 前記第2のキャラクターの行動に応答して、前記記録された対話の結果を変化させるステップをさらに備えたことを特徴とする請求項5のコンピュータ可読媒体
  7. 前記変えられた結果を有する前記リプレイされた対話を記録するステップをさらに備えたことを特徴とする請求項6のコンピュータ可読媒体
  8. 第3のキャラクターにプレーヤー制御を変更するユーザーコマンドを受けとり、前記第3のキャラクターの視点から前記リプレイされた対話をリプレイするステップをさらに備えたことを特徴とする請求項7のコンピュータ可読媒体
  9. 前記リプレイするステップの後に、前記第1のプレイヤー制御のキャラクターに制御を切り替えるための追加のユーザーコマンドを受け取るステップをさらに備えたことを特徴とする請求項5のコンピュータ可読媒体
  10. 前記リプレイするステップの後に、第3のキャラクターにプレーヤー制御を切り替える追加のユーザーコマンドを受け取るステップをさらに備えたことを特徴とする請求項5のコンピュータ可読媒体
  11. 前記自動的な分散は、前記キャラクターの格納された嗜好データに基づくことを特徴と
    する請求項5のコンピュータ可読媒体
  12. 前記既定のエリアは、前記ゲーム内の町を表すことを特徴とする請求項5のコンピュータ可読媒体
  13. コンピュータのプロセッサが、
    ディスプレイデバイスを介して、第1のプレイヤー制御のキャラクターおよびコンピュータ制御のキャラクターを有するシーンを表示するステップと、
    前記第1のプレイヤー制御のキャラクターと前記コンピュータ制御のキャラクター間の対話を表示し、前記対話を記録するステップと、
    ユーザーコマンドに応答して、プレイヤーの制御を第2のキャラクターに切り替えるス
    テップと、
    前記第2のキャラクターの視点を通して前記対話をリプレイするステップと、
    ユーザーコマンドに応答して、マップシーンを通して、複数のキャラクターを表すアイ
    コンを移動させるステップと、
    前記マップシーン内の既定のエリアに前記アイコンが入ることに応答して、前記複数のキャラクターを表す複数のアイコンに前記アイコンを、自動的に分散させるステップと
    を実行することを特徴とするビデオゲーム方法。
  14. 前記第2のキャラクターの行動に応答して、前記記録された対話の以前の結果を変化させるステップをさらに備えたことを特徴とする請求項13の方法。
  15. 前記変えられた結果を有する前記リプレイされた対話を記録するステップをさらに備えたことを特徴とする請求項14の方法。
  16. 第3のキャラクターにプレーヤー制御を変更するユーザーコマンドを受けとり、前記第3のキャラクターの視点から前記リプレイされた対話をリプレイするステップをさらに備えたことを特徴とする請求項13の方法。
  17. 前記リプレイするためのステップの後に、前記第1のプレイヤー制御のキャラクターに制御を切り替えるための追加のユーザーコマンドを受け取るステップをさらに備えたことを特徴とする請求項13の方法。
  18. 前記自動的な分散は、前記複数のキャラクターの格納された嗜好データに基づくことを特徴とする請求項13の方法。
  19. 前記既定のエリアは、前記ゲーム内の町を表すことを特徴とする請求項13の方法。
JP2006244203A 2005-09-09 2006-09-08 ロールプレイシステム Expired - Fee Related JP5129940B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/221,793 US7794315B2 (en) 2005-09-09 2005-09-09 Role play system
US11/221,793 2005-09-09

Publications (2)

Publication Number Publication Date
JP2007075608A JP2007075608A (ja) 2007-03-29
JP5129940B2 true JP5129940B2 (ja) 2013-01-30

Family

ID=37855978

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006244203A Expired - Fee Related JP5129940B2 (ja) 2005-09-09 2006-09-08 ロールプレイシステム

Country Status (2)

Country Link
US (1) US7794315B2 (ja)
JP (1) JP5129940B2 (ja)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8832772B2 (en) * 2002-12-10 2014-09-09 Ol2, Inc. System for combining recorded application state with application streaming interactive video output
US9138644B2 (en) * 2002-12-10 2015-09-22 Sony Computer Entertainment America Llc System and method for accelerated machine switching
US9061207B2 (en) 2002-12-10 2015-06-23 Sony Computer Entertainment America Llc Temporary decoder apparatus and method
US8549574B2 (en) * 2002-12-10 2013-10-01 Ol2, Inc. Method of combining linear content and interactive content compressed together as streaming interactive video
US9108107B2 (en) * 2002-12-10 2015-08-18 Sony Computer Entertainment America Llc Hosting and broadcasting virtual events using streaming interactive video
US10201760B2 (en) * 2002-12-10 2019-02-12 Sony Interactive Entertainment America Llc System and method for compressing video based on detected intraframe motion
US9314691B2 (en) * 2002-12-10 2016-04-19 Sony Computer Entertainment America Llc System and method for compressing video frames or portions thereof based on feedback information from a client device
US8711923B2 (en) 2002-12-10 2014-04-29 Ol2, Inc. System and method for selecting a video encoding format based on feedback data
US9077991B2 (en) * 2002-12-10 2015-07-07 Sony Computer Entertainment America Llc System and method for utilizing forward error correction with video compression
US9192859B2 (en) 2002-12-10 2015-11-24 Sony Computer Entertainment America Llc System and method for compressing video based on latency measurements and other feedback
US20100166056A1 (en) * 2002-12-10 2010-07-01 Steve Perlman System and method for encoding video using a selected tile and tile rotation pattern
US8964830B2 (en) 2002-12-10 2015-02-24 Ol2, Inc. System and method for multi-stream video compression using multiple encoding formats
US8526490B2 (en) * 2002-12-10 2013-09-03 Ol2, Inc. System and method for video compression using feedback including data related to the successful receipt of video content
US8949922B2 (en) * 2002-12-10 2015-02-03 Ol2, Inc. System for collaborative conferencing using streaming interactive video
US20090118019A1 (en) * 2002-12-10 2009-05-07 Onlive, Inc. System for streaming databases serving real-time applications used through streaming interactive video
US20070197295A1 (en) * 2006-02-17 2007-08-23 Diblasi Louis Computer enabled, interactive, role playing entertainment system
JP4125762B2 (ja) * 2006-07-06 2008-07-30 株式会社スクウェア・エニックス オンラインビデオゲーム制御サーバ
US8662975B1 (en) * 2008-07-23 2014-03-04 Mark D. Wieczorek Multiplayer game using multiplayer characters
CN102186545B (zh) * 2008-08-15 2013-05-08 美泰有限公司 电子玩具及与其交互的方法
JP4773492B2 (ja) * 2008-09-12 2011-09-14 任天堂株式会社 ゲーム装置およびゲームプログラム
WO2010041359A1 (ja) 2008-10-08 2010-04-15 株式会社ソニー・コンピュータエンタテインメント ゲーム制御プログラム、ゲーム装置、ゲームサーバ、及びゲーム制御方法
US20100331088A1 (en) * 2009-06-29 2010-12-30 Daniel Jason Culbert Method and System for Real Time Collaborative Story Generation and Scoring
US7955175B1 (en) * 2009-12-17 2011-06-07 Face It Applications LLC Role based game play on a social network
US8382591B2 (en) 2010-06-03 2013-02-26 Ol2, Inc. Graphical user interface, system and method for implementing a game controller on a touch-screen device
US8591334B2 (en) 2010-06-03 2013-11-26 Ol2, Inc. Graphical user interface, system and method for implementing a game controller on a touch-screen device
EP2444133A1 (fr) * 2010-10-19 2012-04-25 Gemalto SA Procédé de sauvegarde de l'état d'une partie d'un jeu et procédé de restauration du jeu correspondant
JP5587800B2 (ja) * 2011-01-12 2014-09-10 株式会社スクウェア・エニックス ネットワークゲームシステム、ゲーム装置、サーバ装置、及びプログラム
US8366554B1 (en) 2011-09-21 2013-02-05 Ryan Luencheen Yuan Customizable, adaptable, multiuser computer-based role-playing method and apparatus therefor
US20140370992A1 (en) * 2013-06-18 2014-12-18 International Business Machines Corporation Player substitution to preserve team balance
KR101608172B1 (ko) 2014-12-22 2016-03-31 주식회사 넥슨코리아 객체를 제어하는 방법 및 장치
TWI598142B (zh) * 2015-04-27 2017-09-11 樂線韓國股份有限公司 控制對象之方法及其裝置
US20170249785A1 (en) * 2016-02-29 2017-08-31 Vreal Inc Virtual reality session capture and replay systems and methods
CN106528020B (zh) * 2016-10-26 2019-05-31 腾讯科技(深圳)有限公司 一种视角模式切换方法及终端
CN107694089B (zh) * 2017-09-01 2019-02-12 网易(杭州)网络有限公司 信息处理方法、装置、电子设备及存储介质
US10341537B2 (en) * 2017-09-29 2019-07-02 Sony Interactive Entertainment America Llc Spectator view into an interactive gaming world showcased in a live event held in a real-world venue
US11169824B2 (en) 2018-03-01 2021-11-09 Vreal Inc Virtual reality replay shadow clients systems and methods
KR102557808B1 (ko) * 2018-05-16 2023-07-20 주식회사 엔씨소프트 게임 서비스 시스템 및 상기 시스템에서의 메모 공유 방법
CN111798260A (zh) * 2019-04-09 2020-10-20 Oppo广东移动通信有限公司 用户行为预测模型构建方法、装置、存储介质及电子设备
CN110180184A (zh) * 2019-05-17 2019-08-30 努比亚技术有限公司 一种角色标记信息的显示方法、移动终端及存储介质
CN110215687B (zh) * 2019-07-04 2023-03-24 网易(杭州)网络有限公司 游戏对象选择方法及装置
JP7233399B2 (ja) * 2020-06-23 2023-03-06 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
CN114504819A (zh) * 2022-01-19 2022-05-17 网易(杭州)网络有限公司 游戏场景控制方法、装置、计算机设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6139434A (en) * 1996-09-24 2000-10-31 Nintendo Co., Ltd. Three-dimensional image processing apparatus with enhanced automatic and user point of view control
DE69832379T2 (de) * 1997-12-19 2006-08-31 Konami Co., Ltd., Kobe Verfahren zur kontrolle von videospielen, videospielgerät und programm zum aufnehmen von videospielen
JP4159491B2 (ja) * 2004-02-23 2008-10-01 任天堂株式会社 ゲームプログラムおよびゲーム装置
US20060205456A1 (en) * 2005-03-14 2006-09-14 Bentz William G Video games and add-on features

Also Published As

Publication number Publication date
JP2007075608A (ja) 2007-03-29
US20070060343A1 (en) 2007-03-15
US7794315B2 (en) 2010-09-14

Similar Documents

Publication Publication Date Title
JP5129940B2 (ja) ロールプレイシステム
JP6434583B2 (ja) 第2のユーザによる第1のユーザのゲームプレーの遠隔制御
US7647560B2 (en) User interface for multi-sensory emoticons in a communication system
US20050245317A1 (en) Voice chat in game console application
US7857701B2 (en) Silent sign-in for offline games
US7214133B2 (en) Method and apparatus for retrieving recorded races for use in a game
US7833096B2 (en) Button encounter system
AU2004201602B2 (en) Method and apparatus for associating game data
US7951000B2 (en) Dynamic frame system
JP6959925B2 (ja) クラウドゲーミングにおけるユーザ保存データ管理方法
US10449457B2 (en) System and method for dynamic matchmaking population herding
US20100035692A1 (en) Avatar closet/ game awarded avatar
US11571628B2 (en) Modifying game content to reduce abuser actions toward other users
JP7366948B2 (ja) ゲームリプレイ方法およびシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120619

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121026

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121105

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5129940

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151109

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees