JP2010540002A - 後で統合されたコードを使用するソフトウエア・エグゼクタブルからの出力の独立に定義された変更 - Google Patents
後で統合されたコードを使用するソフトウエア・エグゼクタブルからの出力の独立に定義された変更 Download PDFInfo
- Publication number
- JP2010540002A JP2010540002A JP2010521956A JP2010521956A JP2010540002A JP 2010540002 A JP2010540002 A JP 2010540002A JP 2010521956 A JP2010521956 A JP 2010521956A JP 2010521956 A JP2010521956 A JP 2010521956A JP 2010540002 A JP2010540002 A JP 2010540002A
- Authority
- JP
- Japan
- Prior art keywords
- game
- executable
- computer
- file
- client
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/61—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor using advertising information
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/33—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
- A63F13/335—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/20—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
- A63F2300/209—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform characterized by low level software layer, relating to hardware management, e.g. Operating System, Application Programming Interface
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/40—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
- A63F2300/407—Data transfer via internet
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/5506—Details of game data or player data management using advertisements
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/5526—Game data structure
- A63F2300/5533—Game data structure using program state or machine event data, e.g. server keeps track of the state of multiple players on in a multiple player game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
本出願は35U.S.C.119§(e)に従って2007年8月20日出願の米国仮特許出願第60/956,837号に優先権を請求するものであり、その出願の全体が本開示の一部としてここに組み入れられている。
1.(分野)
本開示は、ソフトウエア・エグゼクタブルから独立して定義され、ソフトウエア・エグゼクタブルが既に定義されている後で生じるプロセス内でそれに統合される変更スキームに従って、変更された出力を提供するソフトウエア・エグゼクタブルからのオリジナル出力の変更に関連している。
クライアント・コンピュータ上にインタラクティブ・ビデオ・ディスプレーを提供するさまざまなコンピュータ・プログラム、たとえば、インタラクティブ・ゲーム・プログラムが従来技術で知られている。ゲーム・プレー中に指示されたソースから広告材料を呼び出す関数をプログラミングすることによりこのようなゲームのプレー中に広告を挿入して、ビデオ・ゲームのプレー中に広告が現れるようにすることができる。たとえば、広告はモデル化されたビデオ・ゲーム環境内に存在するモデル化掲示板上に現れるようにすることができる。広告内容は実行時に指示された更新可能なソースから呼び出すことができ、したがって、ゲーム・プログラムが配布された後で更新することができる。
本開示は、変更スキームに従って変更出力を提供する実行可能なソフトウエア・アプリケーションからのオリジナル出力の独立して定義された変更に関連している。ソフトウエア、たとえば、実行可能なコンピュータ・ゲームは特定のハードウェア環境内で操作する時にユーザ入力に応答してオリジナル出力を作り出すように構成される。ソフトウエアは高水準言語からコンパイルされてコンピュータ・オペレーティング・システムにより実行可能と認識される、あるいは適用可能なハードウェア環境内で実行可能な他の離散静的コード、たとえば2進コード、として認識される実行可能なファイルを含むことができる。したがって、ソフトウエアは実行可能な形式であり、ここでは、しばしば「エグゼクタブル」と呼ばれる。オリジナル出力は、たとえば、ソフトウエア・エグゼクタブルを実行しているプロセッサに接続されたオーディオ、ビデオ、または電子的出力を含むことができる。ソフトウエア・エグゼクタブルはユーザ入力に応答して特定の定義された出力を生じさせるように構成することができる。たとえば、ジョイスティックからのユーザ入力に応答して、エグゼクタブルによりレンダリングされたスプライトまたはアバターはモデル化ゲーム環境内のジョイスティックにより指示される方向へ移動されることがあり、次に、それはグラフィクス・エンジンにより出力としてレンダリングされ、ディスプレー画面上に表示される。ソフトウエア・エグゼクタブルは、たとえば、スタンドアロン・モードで作動して、遠隔ノードとのリアルタイムまたはニア・リアルタイム通信を行うことなく、クライアント・ノード上にゲーム・プレーを提供するように設計することができる。ソフトウエア・エグゼクタブルは、1つ以上の遠隔ノードとのリアルタイムまたはニア・リアルタイム通信が行われる、ネットワーク・マルチプレーヤ・モードで機能することもできる。
1.テクスチュア、ジオメトリ、オーディオ・ストリーム等のグラフィカルまたはオーディオ関連ゲーム・オブジェクトの1つまたは組合せ、
2.ゲーム・スコア、健康、等の任意の参照データの値、
3.グラフィカル出力の性質、または、
4.マウス、キーボード、ウェブカム、マイクロホン、等の周辺装置の使用。
1.イン・およびアラウンド・ゲーム広告、
2.ハイ・スコア検出等のイン・ゲーム・コミュニティ機能、または、
3.ゲーム・イン・ア・ゲーム機能、たとえば、ゲーム環境内の非表示アイテムをユーザが探すようにダイナミックに付加する。
4.先進的なゲーム解析
本出願は、コンピュータ・ゲーム等の、ソフトウエア・エグゼクタブルからの出力の独立的に定義された変更に対する異なる新しい機能について記述する。主要機能はすぐ後の節で概説され、明細書の残りにより詳細に記載されている。各機能は本技術の他の機能と組み合わせることができ、1つ以上の機能を他の機能とは独立に実現することができる。本明細書はゲームまたはゲーム・エグゼクタブルを使用する操作を参照するが、ここに記載された概念および技術は他のタイプのソフトウエア・エグゼクタブルにも応用することができる。
1.スマート・ランタイム・クライアント技術
a.一般
i.別個のプロセスとしてではなく、ゲーム・プロセス内部のエンジン・クライアント・コードの操作を促進するための終了したゲームまたは他のソフトウエア・エグゼクタブルの準備。
ii.市場普及が判るまで広告または付加ゲーム機能の開発を遅延、変化または更新する能力。
b.イベント・ストリーム ここで使用されるように、「イベント・ストリーム」は、ユーザ入力に応答してゲーム・エンジンの操作により生じる任意のクライアント・アクティビティを含む、クライアント・ノード上のゲーム出力である。イベント・ストリームは下記の機能を実施するためにクライアント側変更エンジンにより処理される。
i.ゲームへの入力、たとえば、マウス、キーボード、ジョイスティック、スピーチ、その他の入力の存在および使用を検出する。
ii.ゲーム・プロセスの出力、たとえば、グラフィクス・カード、サウンド・カード、またはOS(operating system)へ向けられる出力を解析し検出する。
iii.イン・ゲーム・オブジェクトに対応するメモリ場所をモニタし、特定のクリエティブ・オブジェクトがインデクスできるようにテストを行う。
iv.ゲームまたは他のエグゼクタブル・プロセスからの「イベント・ストリーム」をダイナミックにダウンロードされたビジネス・ロジックへの入力として使用する。
v.任意の定義されたイベントまたはイベントのロジカル(たとえば、ブール)組合せを使用してゲーム状態またはイベントを定義する。組合せ内のイベントはコンフィギュラブル・タイム・トレランス内に生じるものに限定することができる。たとえば、イベント‘A’および‘B’は互いに2ms以内に生じてアクション‘C’をトリガしなければならない。
vi.ハードウェアまたはソフトウエア・バック・バッファをサンプリングしてあるグラフィカル性質を検出し、ゲーム・イベントを定義する(たとえば、レベル・ブレークス)。
vii.ゲーム参照値(すなわち、スコア、健康、等)の場所を見分け、その後モニタし、ビジネス・ロジックに従って更新する。
viii.ゲーム・オブジェクトが移動しているかアニメーション化されるかを検出する。
ix.オブジェクトへの仮想カメラ近接または画面上の2つのオブジェクト間の距離を検出する。
x.カメラとオブジェクト間または画面上の2つのオブジェクト間の衝突を検出する。
xi.画面上のオブジェクトのサイズ、たとえば、画面面積のパーセンテージまたは専有ピクセル数を検出する。
xii.カメラに対するオブジェクトの視角を検出する。
xiii.オブジェクトが画面上であって閉塞されていないかを検出する。
xiv.画面内の特定のオブジェクト、テクスチュア、またはジオメトリを検出する。
c.ダイナミック・ビジネス・ロジック
i.クライアント技術の挙動を支配するビジネス・ロジックは、いつでもクライアント・ノードへ配布することができる、インターネットまたは他のワイドエリア・ネットワークからダウンロードするように構成された小さな構成ファイル内に収納することができる。この構成はゲーム・エンジン操作をいつでも変化できるように(少なくとも断続的な接続を想定して)使用することができる。
ii.各クライアントの特定コンテキスト、たとえば、場所、1日の時間、曜日、等に従ってダイナミック・ビジネス・ロジックを目標とする。
iii.ゲーム公開後のある時間まであるクリエティブまたはビジネス決定(たとえば、イン・ゲーム広告およびコミュニティ機能イネーブルメントの選出部)を遅延させる、またはゲーム公開後にこのような決定を変えてゲーマおよび広告市場デマンドへの「ぎりぎりの時間」までの集中応答を可能にして開発出費を延期する。
d.イベント・ストリームに応答しかつ予め定義されたビジネス・ロジックを使用して、ゲーム実行中にクライアント側変更エンジンにより実現されるアクション。
i.イン・ゲーム・オブジェクト(たとえば、テクスチュアおよびジオメトリ)に対するメモリ場所をオーバライトしてゲーム内に表示する他のクリエティブ情報内にスワップする。
ii.支持サーバへ後でアップロードするための1つ以上の追跡ファイル内でのイベントの発生を検出し記録する。
iii.新しいまたは既存のオブジェクトのアニメーションまたはモーションを付加または修正する。
iv.カメラからのオブジェクトの距離に基づいて音を変調する(「3D音」)、たとえば、オーディオ広告がなされる音量はゲーム・オブジェクトがクライアントのカメラ展望からどれだけ離れているかによって決まる。
v.グローバル・ゲーム・コントロールの操作を変える、たとえば、「ポーズ」、「エグジット」、等。
vi.ゲーム基準値、たとえば、プレーヤ・スコア、「健康」、武器、等を変える。
vii.新しいテクスチュアおよびジオメトリを含む新しいオブジェクトをゲームに付加し、新しいオブジェクトでゲーム・パフォーマンスを追跡する。
viii.広告メッセージを含む情報をゲーム・グラフィクスを介して引き出す。
ix.カスタム・マウス・テクスチュアの存在を検出し、カスタム・テクスチュアが常に全てのネイティブおよび新しいグラフィカル情報を示すことを保証する。
e.ホスト−レベル機能
i.クライアント上のビジネス・ロジックを支配する構成ファイルをホスティングし配布する。
ii.クライアントからアップロードされた追跡ファイルを受け入れて追跡データベース内に置く。
iii.デモグラフィック・データ、ユーザの嗜好、推論されたユーザ特性、クライアント場所、クライアント1日の時間、または他の個人的な特性に基づいてビジネス・ロジックを個別のユーザ・レベルへ選択的に目標として設定する。
iv.分散したゲーム・クライアントから集めた情報をゲーマ消費用集中ユーザ・インターフェイス内へ集約する。
v.ポイント・ベース・システムをイン・ゲーム・イベントへ割り当て、ディスプレー用集中データベース内のポイント・スコアをゲーマのコミュニティへ集約する。
f.変更エンジン用構成ツール 変更エンジンを構成するためのソフトウエア・ツールが記述される。これらのツールは限定はしないが下記する事項を含むケーパビリティおよび機能を有することができる。
i.ゲーム・プレー中の潜在的な広告スポットまたはゲームの直接内側の付加ジオメトリに対するアンカー・ポイントとして使用するゲーム・テクスチュアのマーキングを促進する。
ii.ビジネス・ロジック・アクションにリンクするイベントまたはイベントの組合せを定義する。
iii.新しいオブジェクトに対するオフセット座標を出力する使い易いユーザ・インターフェイス内の新しいジオメトリを操作する。
1)ゲーム環境内でその周りに飲料のモデル化ボトルを置くビジネス/クリエティブ決定を行う。これらの決定は特定のゲームまたは利用されるゲームに精通している飲料会社のマーケッティング担当者が行う。
2)ゲームの公開されたバージョン内に飲料ボトルが置かれる全てのゲーム・シーン内の「アンカー」オブジェクト(たとえば、ゲーム・テクスチュアおよび/またはジオメトリ)を識別する。これは、一般に公開した後の任意の時間を含む、ゲーム・エグゼクタブルが完全に開発された後の任意の時間に実施することができる。アンカー・オブジェクトの識別はここに記載されている構成ツールを使用して、ここでは「オペレータ」と呼ばれるホスト・レベルにおけるゲーム・アドミニストレータまたはスペシャリストが行うことができる。
3)識別されたアンカー・オブジェクトに基づいて、オペレータは構成ツールを使用して、オブジェクトが常駐する各アンカー・オブジェクトおよびオブジェクトに対する特定のオリエンテーションからオフセット(たとえば、ゲーム環境内のx,y,zオフセット)を設定することができる。これはゲーム内の飲料ボトルの各配置に対して繰り返すことができる。
4)構成ツールはホスト場所において投函される構成ファイルを発生することができ、それは前述の変化を実現する。ゲームがクライアント・ノードで実行されると、変更エンジンはファイルを得てそのイベント/アクション・マッピングを更新する。構成ツールは変更エンジンとゲーム・コードを統合して統合されたクライアント・エグゼクタブルを準備するのに使用することができる。クライアント・エグゼクタブルは適切な構成ファイルを有するクライアントへ配布することができ、あるいは構成ファイルを実行時にダウンロードすることができる。
5)更新された構成ファイルを有する各クライアント上でゲームが実行され、かつアンカー・オブジェクトがエンジンにより検出されると(すなわち、「イベント」が生じる)、エンジンはさらにグラフィクスAPI呼出しを行って、アンカー・オブジェクトおよびオフセットにより定義される適切な場所内に飲料ボトルを置くことができる(すなわち、イベントに応答してアクションがとられる)。
クライアント側技術を、この節に記述されている特定のプロセスを介して、使用してビデオ・ゲームまたは他のエグゼクタブルからの出力をその実行中にダイナミック・ビジネス・ロジックへの入力として働く「イベント・ストリーム」として解析し、次に、それはゲームのユーザ入力への明白な応答を変更するあるいはエンド・ユーザには明白であったりなかったりするイン・ゲーム・アクションをトリガする。このケーパビリティはゲーム・エグゼクタブルと協力して独立に作動するクライアント側エンジンにより提供される。クライアント側エンジンの構成はゲーム・エグゼクタブルに対するソース・コードへのアクセス、またはなんらかの変更、を必要としない。クライアント側エンジンの構成はゲーム・エグゼクタブルに対するソース・コードへのアクセス、またはなんらかの変更、を必要としない。クライアント側エンジンは、クライアント装置へゲーム・エグゼクタブルを発行または配布する前に、構成ツールを使用してゲーム・エグゼクタブル・ファイルと統合することができる。
1)ゲームからグラフィクスおよびサウンドAPIへのマルチメディアAPI呼出しの存在、
2)正規動作に対するランタイム時にゲームが必要とするOSまたは他の関数への呼出しの存在、
3)周辺装置、キーボード、ホットキー、マウス、等の使用のようなゲーム入力、
4)エンジンにより検出される1つのオブジェクトまたはオブジェクトの組合せ(テクスチュア/ジオメトリ)のゲームによる使用、
5)ゲームブーツ以来の経過時間のようなグローバル・パラメータ、
6)グラフィクス・バッファ内のあるグラフィカル性質の存在、
7)ある予め定められた値と比べた、健康、スコア、等のメモリ内に保持された任意の基準データの値(すなわち、スコア>=100k)、
8)たとえば、近接および衝突等のオブジェクト間の相互作用、
9)画面上のサイズ、カメラへの入射角度、画面上の持続時間または露光時間に対する最小または最大閾値を生成する前記したものの任意の組合せ等のオブジェクトに対する追跡情報、
10)たとえば、画面上の1つ以上の場所をサンプリングしかつ予め定められたグラフィク・サンプルと比較して決定することができる画面ビデオ・バッファ内の特定エリアのコンテンツ、および、
11)ゲーム「状態」を定義することができる複雑な関係を生成する前記いずれかの組合せ関係。
ソース・コード統合の無いゲーム・イベントの検出を可能にする技術に関する詳細は下記の「ランタイム・クライアント側技術の概要」節に記述されている。
ゲーム・イベントが検出されると、クライアント側エンジンは予め定義されたアクションを起こすことができる。起こすことができる種類のアクションを駆動できるビジネス・アプリケーションに制限は無いが、今日のゲーミング産業の状態が与えられた場合、これらのアクションは最も一般的に下記の事柄に関連している。
1)広告
2)スポンサーシップ
3)コミュニティ機能
4)アドホック・トーナメント生成ケーパビリティ
5)ゲームが市場に出た後でフルパッチを行うまたはソース・コードを変更することなく、発行者がゲーム機能、マップ、レベル、ルック・アンド・フィール等を変えられるようにするゲーム・コンテンツ管理システム(たとえば、ゲーム・コミュニティからのポストランチ帰還がゲームが難しすぎることであれば、発行者はこの発明を使用してゲーマーに前進ベースでより健康を与えることができる)、および、
6)将来のゲーム開発を知らせるのに使用できるまたは前の応用で記述したコンテンツ管理システムと共に使用できる報告のような、ゲームがゲーマーによりどのようにプレーされるかを報告するゲーム解析。
1)ゲームを一時停止する、
2)コマーシャル・ビデオまたはイン・ゲーム・メッセージのようなゲーム・グラフィクスを介して情報を提示する、
3)メモリ内のオブジェクト・クリエティブ情報を新しいクリエティブ情報でオーバライトする、
4)ユーザのスコアまたは健康のようなメモリ内の基準データをオーバライトする、
5)シーンに新しいオブジェクト(テクスチュア/ジオメトリ)を加える、
6)ゲームに新しいサウンドを加える、
7)基準オブジェクトへのユーザの近接に基づいてサウンドを変調する、
8)ログに追跡情報を書き込む、
9)ゲームを最小限に抑えウェブ・ブラウザを特定のURLに起動させる(たとえば、ゲーム画面上にクリック・スルー広告を挿入することにより)
本質的に2ステージ・プロセスを使用してゲームをここに記述された技術でイネーブルすることができる。これらのステップは同時にまたは不特定の遅延を有して行うことができる。
ステージ1 第1のステージは変更エンジンをゲーム・コードに付けることである。この技術が既存のゲーム・コードのコンテキスト内で働くために、クライアント・エンジン・コードをゲームのプロセス・コード内に取り付ける方法が必要である。図1A−Bに示すように、ゲーム内に取り付けることにはゲーム・ソフトウエアおよび変更エンジン・コードをクライアント・ノードへ別々に配布する必要がなく、変更エンジン・コードをゲーム・エグゼクタブルの2進操作を介してゲーム・プロセスと共に実行するという利点がある。
1)アプリケーション・エントリ・ポイント102を見つける。アプリケーション・エントリ・ポイントはエグゼクタブル・コード108の開始アドレスである。
2)エグゼクタブル100の端部に新しいコード部112を付加する。このコード部112はクライアント変更エンジン118を初期化するのに使用されるファンクション・コード120および変更エンジン118を含んでいる。変更エンジンは1つ以上の構成ファイル124内に入れることができるような外部データへの呼出しを含むことができる。
3)ポインタ114を構成することにより、アドレス116にある新しいコード部120を指すようにエグゼクタブル・エントリ・ポイント106を変える。
4)初期化された後で、コードがオリジナル・エントリ・ポイント102へジャンプするようにクライアント・エンジン120を構成する。
5)結合さた修正コード100’と付加エグゼクタブル・コード120を結合エグゼクタブル・ファイル122に書き込む。随意、この結合ファイル122を従来技術で知られているように暗号化または「ラップ」することができる。
1.クライアント側変更エンジン・コードは配布されてゲーム・コードが詰められ、別個のプログラムをダウンロードしてユーザ・マシン上にインストールする必要がない。
2.余分なプロセスは必要がないという事実により、クライアント・エンジン・コードを識別したりファイヤウォールその他のアドウェア/スパイウェア・ブロッキング・ツールを使用してそれをブロックするのが困難になる。
一度第1ステージが完了すると、ゲームはこの技術によりイネーブルされその時だけその操作命令が必要となる−ここではダイナミック・ビジネス・ロジックと呼ばれる。このビジネス・ロジックはそれら自体をインターネットを介した迅速な送信に適合させる小型フラット・スクリプト・ファイル(たとえば、暗号化XMLファイル)内に収容することができる。これらの構成ファイルの構造および配布はこの第2ステップの目的であり、ゲームがユーザのマシンへダウンロードされた後であっても、任意の時間または多くの時間に行うことができる。これらの構成ファイルがスワップ・アウトされると(たとえば、サーバから再ダウンロードされる)、ゲームは前の構成から残っている任意の残留挙動も無く新しいルールの元で作動する。また、構成ファイルは構成または省略して、変更エンジンがデフォールト・モードで作動するようにすることができる。ある実施例では、変更エンジンがデフォールト・モードで作動している時はゲーム出力に明白な変化はない。
1.異なるオブジェクト(広告のような)により置換することができるゲーム・オブジェクト(テクスチュア、ジオメトリ・バッチのような)をピックする。このプロセスは反復することができ(時間の経過とともに変化)、異なるグラフィカル場所に対して異なって設定することができる。
2.ゲーム内の特定の状態を識別する1つ以上のゲーム・オブジェクトのマーキングを含む、イベントの定義に使用されるゲーム状態の識別。次に、1つ以上の応力アクションを特定のイベントにリンクすることができる。たとえば、オブジェクトA、BおよびCが同時に検出されれば(イベント)、エンジンはゲームを一時停止させ(アクション1)特定場所(すなわち、ゲームの主メニュー上)内の画面上に広告オブジェクトを表示することができる(アクション2)。
1.ゲーム環境内のダイナミック広告に対する光学的場所を識別する、
2.特定の広告キャンペーンの特定の特性を定義する、
3.ホスト場所への報告の目的で興味あるゲーム・フレー中に生じる結果およびユーザ挙動を識別する、
4.たとえば、ユーザのスコアがある値を超える時に付加コミュニティ機能をトリガしなければならないゲーム・プレー中に生じる結果およびユーザ挙動を識別する、
5.あるイベントがもたらすべき利益の量、たとえば、ダイナミックに置かれたオブジェクトが見つかったらプレーヤの健康スコアをどれだけ増すかを定義する。
より技術的かつクリエティブな決定は、限定はしないが、下記の事柄を含むことができる。
1.配置、サイズ、透明性、アニメーション、ユーザ応答ケーパビリティおよびイン・ゲーム広告テクスチュアおよびジオメトリのクリエティブ・リフレッシュ間隔を決定する、
2.ゲーム・グラフィクスの上に描かれたアラウンド・ゲーム広告テクスチュアおよびジオメトリの配置、サイズ、透明性、アニメーション、ユーザ応答ケーパビリティおよびクリエティブ・リフレッシュ間隔を決定する、
3.シーン内に書き込まれた任意の新しいオブジェクトのサイズおよび挿入されたオブジェクトが所望の外観を有することを確認するためにシーンに加えられた任意の新しいオブジェクトに対するオフセット座標(既存のオブジェクトからの)を決定する、
4.クリエティブ回転周波数や透明性のようなダイナミック広告機能を支配することができるパラメータを決定する。
1.ユーザがキーボード上のあるキーまたはキーの組合せを押下する、
2.ゲームがOSにファイルを要求する、
3.ゲームがゲーム・オブジェクトの設定またはローディングを超えて関心のある任意のグラフィカル/サウンドAPI呼出しを行う、
4.たとえば、マイクロホン、カメラ、ジョイスティック、等の任意の非キーボード/マウス周辺装置の使用。
1.メモリ場所をオーバライトする(すなわち、テクスチュア情報を新しいクリエティブでオーバライトし、ユーザのスコアを増分する、等)、
2.ゲームを一時停止する、
3.マウス・テクスチュアをオーバライトする、
4.新しいグラフィクスAPI呼出しを介してシーン内に新しいオブジェクトを生成する、
5.ゲーム・プレーヤを介して情報を書き込む、または、
6.追跡ファイル内にイベントの発生をロギングする。
クライアント側変更エンジン・コードが初期化され構成されると、それはクライアント上で作動して、エンジンにより利用される方法論に従って、関連するAPI呼出しを検出かつ「フック」する。このコンテキストにおいて、「フッキング」または「フック」するはゲーム・プロセスのメモリ・アドレス・スペース内の関数を異なる関数で置換することを意味する。ほとんどの場合、新しい関数は入力をオリジナル関数およびビジネス・ロジックへ転送して情報を処理する。予期されたゲーム挙動を維持するために、最終ステージはエンジンに対してオリジナル・フック関数を呼び出すことである。
ビジネス・ロジックへの入力
1)I/Oフィルタ、
2)クェリー・メモリおよび/またはハードウェア、
3)メモリ内のゲーム・オブジェクトを識別し解析する、
アクション
1)メモリ・バッファを新しいデータでオーバライトする、
2)新しいジオメトリを加える、
他のモジュール
1)ビジネス・ロジック
2)メディア・データベース
3)追跡データベース、および、
4)HTTPインターフェイス。
1)ディスクI/Oに限定はしないが、ネットワークI/O、タイマおよびクロック等を含むオペレーティング・システムへの呼出し、
2)グラフィクスAPIへの呼出し、および、
3)サウンドAPIへの呼出し。
予約された入力呼出しの例として下記の事柄が含まれる、
1)キーボード/マウス入力、
2)ジョイスティックまたはゲーム・コントローラ、
3)オーディオ入力(たとえば、マイクロホン)、および、
4)視覚入力(たとえば、カメラからの)。
(2)モデル化されたゲーム・スペース内のオブジェクト場所間の定量的距離を計算する。各ジオメトリ・バッチに対して、好ましい計算方法は3Dスペース内のバッチの場所を見つけることである。これは3Dスペース内でジオメトリを位置決めまたは回転させるのに使用されるモデル・マトリクスを検索して(たとえば、DirectX ID3DXEffect::SetMatrix関数呼出しをフッキングして)、またはジオメトリ・バッチを表示するのに使用される頂点シェーダから情報を検索して行うことができる。3Dスペース内の所望のオブジェクトの場所が決定されると、各オブジェクトのバウンディング・ボックスの中心間距離、または他の興味ある距離を計算するのは容易である。3Dスペース内の特定のオブジェクトとカメラの現在の場所(ユーザ視点)間の距離も計算することができる。多くのゲームにおいて、カメラの場所は3D環境内のプレーヤの場所を示す。たとえば、ゲームのメイン・キャラクタ(それはゲーム・ストーリ−すなわち、車、人間、外国人、等に基づいていくつかの形をとることができる)とゲーム内の「ピックアップ」3Dオブジェクト(ゲームに対してネイティブであるかまたはここに記述された方法およびシステムにより加えられる)間のこの推定距離を知ることにより、ビジネス・ロジックはゲーム状態数を評価することができる。たとえば、このようなアイテムは下記の事柄を含むことができる。
(3)衝突検出−これによりここに記述された方法およびシステムは2つ以上のオブジェクトが世界で衝突するか検出することができる。この情報はいくつかの応用を有することができる。たとえば、ゲーム・キャラクタと挿入されたオブジェクト間の衝突が検出されると、エンジンは挿入されたオブジェクトがピックアップされたか選出されたか考え、それに基づいてアクションをとることができる。たとえば、エンジンはメモリ内のユーザのスコアまたは健康情報を更新してユーザへの利益を生じることができる。同様に、ユーザが車を看板に衝突させると、エンジンはゲーム・プレーヤに見えるアクションをとる、またはこの相互作用をその看板に対する広告主により見られる報告書に単純に記録する。
(4)近接検出 これによりエンジンは、実際に衝突することなく、ユーザがマークされたオブジェクトに「近い」時を検出することができる。たとえば、ユーザのゲーム・アバターが予め定義されたイン・ゲーム・モデル化された距離(すなわち、<ゲーム・モデル内5フィート)内で動く公開される映画に対する静止看板に近づくと、アクションをとることができる。1つのこのようなアクションは隣接オブジェクトを新しいクリエティブでリフレッシュすることであり、たとえば、その対応するサウンド音量が看板からのユーザのアバターの看板からの距離の関数として変調されるビデオ移動トレーラである。
(5)オブジェクト・モーション/アニメーション 画面上のその動きに関して決定するためにオブジェクトの動きまたは外観の変化を検出する。
(6)可視オブジェクトに対する視角を計算する 所望オブジェクトの場所およびバウンシング・ボックスが突き止められると、ユーザが挿入された広告のような可視オブジェクト上にあるコンテンツを見る視角を決定することができる。視角を決定するために、広告の正面を表す表面から表面方法線を計算することができる。次に、法線およびカメラが直面している方向を表すベクトル間の角度を決定することができる。この角度はイン・ゲーム広告を見るユーザの機会を推定するのに有用である。カメラから情報の表示までの角度が非常に高い入射角度であれば、ユーザはデータを吸収するのが困難となることがあり、したがって、広告主はこのような露呈に対して低料金を課せられることがある。
(7)オクルージョン確認 グラフィクスAPIへ送られる全てのオブジェクトが画面上にレンダリングされるわけではない。どのオブジェクトをユーザが見る機会があるかを検出する能力は、特に、広告を表示するのに重要である。このような検出はグラフィクス・ハードウェア・オクルージョン・クエリ呼出し(DirectXIDirect3DQuery9)、または他の適切な方法を使用してオクルージョン・カリング(occlusion culling)により行うことができる。
(8)オブジェクト・サイズ 画面上のオブジェクトのサイズはさまざまな理由から重要となることがある。たとえば、ディスプレー広告と共に、プライシング・モデルはしばしばユーザへのオブジェクトのサイズの関数である。実世界における看板広告と同様に、メッセージが大きいほど広告主にとってより価値があり、そのスペースのオーナーにより多く課金することができる。本システムは任意適切な方法を使用してオブジェクトのサイズを決定することができ、たとえば、
(a)グラフィクス・カードにオクルージョン・クエリを使用して特定のオブジェクトが画面上で占める正確なピクセル数を引き出す、および/または
(b)オブジェクトのバウンシング・ボックスおよび3Dスペース内の変換/回転マトリクスを使用して、オブジェクトを2D画面へカメラ投影マトリクスを使用して投影し、次に、投影されたオブジェクトが画面上で占有する面積を計算する。
1.ゲーム・スコア、
2.健康、
3.パワー、
4.速度、
5.アイテム在庫、
6.スペル、
7.寿命、または
8.トラクション(レーシング・ゲームに対する)
本技術は今日のゲーミング市場で直面する問題を解決して新しい機会を提供する。オンライン・ゲーム発行はしばしば熾烈な競争によりマークされる。多くのゲームが互いに非常に似ている機構および筋書きを有するだけでなく、発行者(またはポータルのような類似の他のアグリゲータ)さえも全く同じゲームを有し、そのユーザにそのライバルとして提供する。したがって、発行者はゲーム・プレーの収益を上げる代替方法を見つける動機を与えられることがある。これらの代替方法はゲーマに売り込む製品およびサービス(すなわち、イン・ゲーム商品販売)またはユーザにより資金供給されないもの(すなわち、広告)とすることができる。
1)クライアント・エンジン・ファイルを有するゲームをイネーブルし市場に流通する前に実行可能なオリジナル・ゲームを変更することによりその起動を可能にする。
2)ビジネス・ニーズに従って(広告挿入注文、アチーブメントの追加要望、等)エンジニアではないオペレータがルール−ベース・ツールを使用して定められたタイトルに追加するように注意する正確な機能を定義することができる。これらのツールによりユーザは地理ごとに異なる機能、曜日、一日の時間、または定められたユーザについて知ることができる任意他の情報を、必要ではないが必要に応じて、定義することができる。これらのルールが定義されると、ビジネス・ロジックおよび任意のクリエティブ・ファイルの場所を収容するダウンロード可能なデータベースが準備され、割り当てられていることがある任意のターゲティングに従って展開される。
ランタイム統合ツールは未熟練オペレータが、ゲームのコードを実際に変える必要なしに、ビデオまたはオーバレイ等のオブジェクトをゲーム中に迅速かつ容易にインプリメントすることができるようにするために提供することができる。統合ツールは変更エンジンを構成する必要がある全てのステップを実施し、それを統合された組合せエグゼクタブル内のゲーム・エグゼクタブルと統合することができる。また、このツールはビジネス・ロジック・ファイルへの更新を構成するオペレータをアシストすることができる。この節は適切なツールの典型的な操作について記述する。
A.New Project 612−新しいプロジェクトを生成する。
B.Open Project 614−既存のプロジェクトを開く。
C.Save Project 616−プロジェクトをセーブする。
D.Save Project as...618−プロジェクトを新しい名称でセーブする。
E.Delete 620−プロジェクトを削除する。
F.Launch 622−選出されたランチ・モードを使用してゲームを起動する。
G.Stop game 624−ゲーム・プレーを停止する。
H.Clean game 626−ゲームをクリーンなオリジナル非注入状態へ戻す。
I.Open texture controller 628。
GameBegin−ゲームの第1のフレームがゲーム・エンジンによりレンダリングされる時にアクティブとなる状態。この状態はプリゲーム・コマーシャル・ブレークを表示するのに最も使用される。
GameEnd−プレーヤがゲームを去る時にアクティブとなる状態。それはポストロール・コマーシャル・ブレークを表示するのに使用される。
Idle−これはデフォールト状態であり、他の状態がイナクティブである時にアクティブとなる。
この状態はオペレータがコマーシャルをゲーム中に常に現れるようにしたい時に有用である。
(1)Update DT、エンジンが画面内のサンプルの検出を試みる前に過ぎる時間の量を表す値、秒または他の単位。
(2)Min Match Time、エンジンがどれだけ長くゲーム画面をスクリーン・ショット・サンプルと比較するかを決定するのに使用される値、秒または他の単位。
(3)Min Match Percentage、ゲーム画面および画面サンプル間でエンジンにより行われる比較の精度を決定するのに使用される値。オペレータが意図していなかった場所で状態が検出される場合にはより高いパーセンテージを使用することができる。
(1)Target Texture、広告オブジェクトにより、全部または一部、置換されるイン・ゲーム・テクスチュアに対する識別子、
(2)Name 広告オブジェクトに対して割り当てられた名称、
(3)Description (オプショナル)広告オブジェクトのテクスチュアルな記述、
(4)Use Default Creative 広告オブジェクトにキャンペーンが割り当てられていない時にデフォールト・クリエティブ(テクスチュア)が表示されるか否かを決定するのに使用される変数。
(5)Default Creative デフォールト・クリエティブ(テクスチュア)に対する識別子。
Claims (25)
- ゲーム・プログラムを操作している分散されたクライアント・ノードから広告を出力させる方法であって、
ゲーム・アプリケーション内に含まれる定義されたエグゼクタブル・ファイルを受信するステップであって、前記ゲーム・アプリケーションは前記定義されたエグゼクタブル・ファイルにより定義されるクライアント入力に応答してクライアント・ノード上にビデオ出力を提供するように構成され、前記定義されたエグゼクタブル・ファイルは前記クライアント・ノード上で独立操作を行ってコンピュータ・ゲームを実行することができるステップと、
前記定義されたエグゼクタブル・ファイルの受信に応答して、前記定義されたエグゼクタブル・ファイルを前記クライアント・ノード上の前記定義されたエグゼクタブル・ファイルの操作中に生じるイベントを検出しかつ前記イベントに応答して各定義されたアクションを実施するように操作できる付加エグゼクタブル・コードと統合するステップであって、前記各定義されたアクションは前記ゲーム・アプリケーションの操作中の広告情報を含むステップと、
前記ゲーム・アプリケーション、前記付加エグゼクタブル・コード、および前記広告情報を前記クライアント・ノードに提供するステップであって、前記広告情報はその上の前記定義されたエグゼクタブル・ファイルの操作中に前記クライアント・ノードの出力装置から出力されるステップと、
を含む方法。 - 請求項1記載の方法であって、前記定義されたエグゼクタブル・ファイルを前記付加エグゼクタブル・コードと統合するステップは、前記定義されたエグゼクタブル・ファイルを操作して前記付加エグゼクタブル・コードに関数呼出しを加え、前記定義されたエグゼクタブル・ファイルの前に前記クライアント・ノードにおいて操作するように前記付加エグゼクタブル・コードを構成するステップを含む方法。
- 請求項2記載の方法であって、前記定義されたエグゼクタブル・ファイルを統合するステップは、さらに、統一されたエグゼクタブル・ファイル内の前記定義されたエグゼクタブル・ファイルと共に前記付加エグゼクタブル・コードを含む方法。
- 請求項1記載の方法であって、さらに、前記クライアント・ノードに変更スキーム・データを提供するステップを含み、前記変更スキーム・データは前記付加エグゼクタブル・コードにより使用され、前記イベントに応答して前記クライアント・ノードにおいて自動的に行われる前記各定義されたアクションを識別するように構成される方法。
- 請求項4記載の方法であって、前記クライアント・ノードに前記変更スキーム・データを提供するステップは、前記付加エグゼクタブル・コードとは別個で、それにより参照されることがあるファイル内の前記変更スキーム・データを提供して達成される方法。
- 請求項1記載の方法であって、さらに、前記定義されたエグゼクタブル・ファイルと付加エグゼクタブル・コードの統合をコントロールするのに使用される入力を受信するように操作する統合ツールを提供するステップを含む方法。
- ユーザ入力に応答して、
エグゼクタブル・ゲーム・ファイルを選出するステップと、
広告コントロール・コードに使用するため、前記エグゼクタブル・ゲーム・ファイルの操作中に生じると予期される少なくとも1つのゲーム状態を定義するステップと、
前記広告コントロール・コードに使用するため、少なくとも1つのゲーム状態の発生を検出する基準を定義するステップと、
前記広告コントロール・コードに使用するため、少なくとも1つのゲーム状態を広告に対する定義された出力モードと関連付けるステップと、
前記エグゼクタブル・ゲーム・ファイルと前記広告コントロール・コードを統合して統合されたエグゼクタブル・ファイルとするステップと、
前記統合されたエグゼクタブル・ファイルをクライアント・コンピュータへ配布するために出力するステップと、
をコンピュータに実施させるようにされた命令でエンコードされたコンピュータ読取可能メモリ。 - 請求項7記載のコンピュータ読取可能メモリであって、さらに、前記エグゼクタブル・ゲーム・ファイルは前記エグゼクタブル・ゲーム・ファイルを前記広告コントロール・コードと統合するための選出された方法とコンパチブルであることを検証するための命令でエンコードされるメモリ。
- 請求項7記載のコンピュータ読取可能メモリであって、さらに、ゲーム情報を配布するように構成されたサーバに前記エグゼクタブル・ゲーム・ファイルを登録するための命令でエンコードされるメモリ。
- 請求項7記載のコンピュータ読取可能メモリであって、さらに、前記エグゼクタブル・ゲーム・ファイルにより使用されるグラフィクスAPIを識別するための命令でエンコードされるメモリ。
- 請求項7記載のコンピュータ読取可能メモリであって、さらに、前記統合されたファイルに対する動作パラメータを設定するための命令でエンコードされるメモリ。
- 請求項7記載のコンピュータ読取可能メモリであって、さらに、前記広告コントロール・コードにより呼び出される広告の前記表示をコントロールする外観パラメータを定義するための命令でエンコードされるメモリ。
- 請求項7記載のコンピュータ読取可能メモリであって、さらに、それを介して前記統合されたファイルがクライアント・ノードに配布される配布チャネルを定義するための命令でエンコードされるメモリ。
- 請求項7記載のコンピュータ読取可能メモリであって、さらに、前記統合されたファイルとゲーム情報を配布するように構成されたサーバ間の通信モードをコントロールする通信パラメータを定義するための命令でエンコードされるメモリ。
- ソフトウエア・エグゼクタブルからの出力の独立定義された変更を提供するシステムであって、
コンピュータ読取可能メモリ内にエンコードされユーザ入力に応答するコンピュータ・ゲーム出力を決定するように操作可能なソフトウエア・エグゼクタブルと、
前記コンピュータ読取可能メモリ内に前記ソフトウエア・エグゼクタブルでエンコードされ前記ソフトウエア・エグゼクタブルと協力するようにされたイベント・モニタリング・エグゼクタブルであって、前記ソフトウエア・エグゼクタブルが操作している間に生じる定義されたマシン・イベントを定義するように操作可能で、独立コンピュータ出力を前記定義されたマシン・イベントの検出に応答して前記ソフトウエア・エグゼクタブルにより決定されるものとは異なるようにするイベント・モニタリング・エグゼクタブルと、
を含むシステム。 - 請求項15記載のシステムであって、さらに、前記ソフトウエア・エグゼクタブルおよび前記イベント・モニタリング・エグゼクタブルとは別個のファイル内の前記コンピュータ読取可能メモリ内にエンコードされた相互参照データを含み、前記相互参照データは前記定義されたマシン・イベントおよび異なるタイプの前記独立コンピュータ出力間の関連を定義するシステム。
- 請求項16記載のシステムであって、前記相互参照データ内の独立コンピュータ出力の前記異なるタイプはグラフィカルゲーム出力を介して表示するように構成されたディスプレーを含むシステム。
- 請求項16記載のシステムであって、前記相互参照データ内の独立コンピュータ出力の前記異なるタイプは前記ソフトウエア・エグゼクタブルにより選出されたグラフィカル・レンダリング・テクスチュアの代わりに表示するように構成されたグラフィカル・レンダリング・テクスチュアを含むシステム。
- 請求項15記載のシステムであって、前記イベント・モニタリング・エグゼクタブルは、前記ソフトウエア・エグゼクタブルの操作に応じて、グラフィカルAPI呼出し、オーディオAPI呼出し、およびグラフィクス出力内の定義されたグラフィクス・テクスチュアの存在から選出された少なくとも1つのタイプのマシン・イベントを検出するようにされているシステム。
- 請求項15記載のシステムであって、前記イベント・モニタリング・エグゼクタブルは、独立コンピュータ出力に付加情報に対するネットワーク・アドレスを参照させるように構成されているシステム。
- 請求項20記載のシステムであって、さらに、前記イベント・モニタリング・エグゼクタブルを操作している遠隔クライアントからの要求に応答して前記付加情報を提供するようにされているサーバを含むシステム。
- 請求項20記載のシステムであって、さらに、時々前記ソフトウエア・エグゼクタブルおよび前記イベント・モニタリング・エグゼクタブルとは別個のファイル内の前記コンピュータ読取可能メモリ内でエンコードするための更新された相互参照データを提供するサーバを含み、前記相互参照データは前記定義されたマシン・イベントおよび前記独立コンピュータ出力の異なるタイプ間の関連を定義するシステム。
- コンピュータに、
クライアント・コンピュータ上でコンピュータ・ゲームの操作を開始させ、
前記コンピュータ・ゲームの操作により生じるコンピュータ出力イベントを検出させ、
各検出されたコンピュータ出力イベントに応答して行われる定義された応答アクションを選出させ、前記定義された応答アクションは前記コンピュータ出力イベントとは異なり前記クライアント・コンピュータによる広告材料の出力を含み、かつ、
前記クライアント・コンピュータに前記定義された応答アクションを行わせて前記コンピュータ・ゲームの操作中に前記クライアント・コンピュータから前記広告材料のビデオ出力を生じさせる、
ように操作可能な命令でエンコードされるコンピュータ読取可能メモリ。 - 修正可能なイベント定義に応答してコンピュータ・ゲームの操作中に修正可能な広告の表示を検出トリガする方法であって、
コンピュータ・ゲームの操作により生じるコンピュータ・出力をモニタリングして修正可能なイベント定義に適合するコンピュータ・出力イベントの発生を検出するステップと、
各検出されたコンピュータ出力イベントに応答して行われる定義された応答アクションを選出し、前記定義された応答アクションは前記コンピュータ・ゲームの操作により生じる前記コンピュータ出力とは別の応答出力を生じ、かつ、
前記クライアント・コンピュータに前記定義された応答アクションを行わせて前記コンピュータ・ゲームの操作中に前記クライアント・コンピュータから修正可能な広告材料のビデオ出力を生じさせる、
ステップを含む方法。 - 請求項24記載の方法であって、さらに、前記修正可能なイベント定義、前記応答アクションを定義するデータ、および遠隔ソースからの前記修正可能な広告材料から選出されたデータを時々前記クライアント・コンピュータに提供して、ダイナミックで独立して決定されたロジックに従って前記コンピュータ・ゲームの明白な操作を変更するステップを含む方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US95683707P | 2007-08-20 | 2007-08-20 | |
PCT/US2008/073428 WO2009026198A1 (en) | 2007-08-20 | 2008-08-18 | Independently-defined alteration of output from software executable using later-integrated code |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010540002A true JP2010540002A (ja) | 2010-12-24 |
JP2010540002A5 JP2010540002A5 (ja) | 2011-10-06 |
Family
ID=40378561
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010521956A Abandoned JP2010540002A (ja) | 2007-08-20 | 2008-08-18 | 後で統合されたコードを使用するソフトウエア・エグゼクタブルからの出力の独立に定義された変更 |
JP2010521989A Abandoned JP2010537319A (ja) | 2007-08-20 | 2008-08-20 | 配布された変更エンジンを使用するソフトウエア・エグゼクタブルからの出力の独立に定義された変更 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010521989A Abandoned JP2010537319A (ja) | 2007-08-20 | 2008-08-20 | 配布された変更エンジンを使用するソフトウエア・エグゼクタブルからの出力の独立に定義された変更 |
Country Status (4)
Country | Link |
---|---|
US (2) | US20090054117A1 (ja) |
EP (2) | EP2191346B1 (ja) |
JP (2) | JP2010540002A (ja) |
WO (2) | WO2009026198A1 (ja) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090198573A1 (en) * | 2008-01-31 | 2009-08-06 | Iwin, Inc. | Advertisement Insertion System and Method |
US8127236B2 (en) * | 2008-09-12 | 2012-02-28 | International Business Machines Corporation | Virtual universe subject matter expert assistance |
US20110184805A1 (en) * | 2008-09-25 | 2011-07-28 | Tictacti Ltd. | System and method for precision placement of in-game dynamic advertising in computer games |
US9723319B1 (en) * | 2009-06-01 | 2017-08-01 | Sony Interactive Entertainment America Llc | Differentiation for achieving buffered decoding and bufferless decoding |
KR101168108B1 (ko) * | 2009-06-23 | 2012-07-25 | 엔에이치엔(주) | 온라인 게임을 이용한 광고 방법, 및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체 |
US20120100915A1 (en) * | 2009-06-25 | 2012-04-26 | Tictacti Ltd. | System and method for ad placement in video game content |
US9324085B2 (en) | 2009-09-15 | 2016-04-26 | International Business Machines Corporation | Method and system of generating digital content on a user interface |
US8872823B2 (en) * | 2009-10-09 | 2014-10-28 | Microsoft Corporation | Automatic real-time shader modification for texture fetch instrumentation |
US9582919B2 (en) * | 2009-10-09 | 2017-02-28 | Microsoft Technology Licensing, Llc | Automatic run-time identification of textures |
US20110276491A1 (en) * | 2009-12-31 | 2011-11-10 | Douglas Elliott | Methods and systems for in-game advertising |
US8583798B2 (en) * | 2010-01-15 | 2013-11-12 | Oracle International Corporation | Unidirectional resource and type dependencies in oracle clusterware |
US8438573B2 (en) * | 2010-01-15 | 2013-05-07 | Oracle International Corporation | Dependency on a resource type |
US9098334B2 (en) * | 2010-01-15 | 2015-08-04 | Oracle International Corporation | Special values in oracle clusterware resource profiles |
US20110179173A1 (en) * | 2010-01-15 | 2011-07-21 | Carol Colrain | Conditional dependency in a computing cluster |
US8949425B2 (en) * | 2010-01-15 | 2015-02-03 | Oracle International Corporation | “Local resource” type as a way to automate management of infrastructure resources in oracle clusterware |
US9207987B2 (en) * | 2010-01-15 | 2015-12-08 | Oracle International Corporation | Dispersion dependency in oracle clusterware |
US9069619B2 (en) * | 2010-01-15 | 2015-06-30 | Oracle International Corporation | Self-testable HA framework library infrastructure |
US20110202397A1 (en) * | 2010-02-12 | 2011-08-18 | Disney Enterprises, Inc. | Systems and Methods to Deliver Event-Driven Content |
US9038038B1 (en) * | 2010-06-01 | 2015-05-19 | Google Inc. | Just in time cloud compilation |
WO2012024389A1 (en) * | 2010-08-17 | 2012-02-23 | Comscore, Inc. | Detecting visible display of content |
US9256888B2 (en) | 2011-04-04 | 2016-02-09 | Zynga Inc. | Matching advertising to game play content |
US9152984B1 (en) | 2011-07-14 | 2015-10-06 | Zynga Inc. | Personal ad targeting |
US20140031118A1 (en) * | 2012-07-30 | 2014-01-30 | Michael A. Liberty | Interactive virtual farming video game |
US9333426B1 (en) | 2012-08-21 | 2016-05-10 | Google Inc. | Using game data for providing content items |
US9497142B2 (en) * | 2012-11-30 | 2016-11-15 | T-Mobile Usa, Inc. | Triggering actions on a computing device |
US9649556B1 (en) | 2013-08-30 | 2017-05-16 | Aftershock Services, Inc. | System and method for dynamically inserting tutorials in a mobile application |
SG2014000889A (en) * | 2014-01-03 | 2015-08-28 | Creative Tech Ltd | A system suitable for one or both of audio processing and graphics processing and a method of processing in association therewith |
US9468853B2 (en) * | 2014-01-15 | 2016-10-18 | Dell Products Lp | Systems and methods for executable file identity capture during indirect application launch |
US10346942B2 (en) | 2015-02-02 | 2019-07-09 | Electronic Arts Inc. | Method for event detection in real-time graphic applications |
CA2978536A1 (en) * | 2015-03-04 | 2016-09-09 | Rocketchicken Interactive Inc. | Systems for rapid development and delivery of interactive content |
US9632807B2 (en) * | 2015-05-14 | 2017-04-25 | Creative Technology Ltd | System and method of processing for flexible interception of communication between system layers |
US9904943B1 (en) * | 2016-08-12 | 2018-02-27 | Trivver, Inc. | Methods and systems for displaying information associated with a smart object |
US11130064B2 (en) * | 2017-07-17 | 2021-09-28 | Neuromotion, Inc. | Systems and methods for biofeedback gameplay |
US11269820B1 (en) * | 2018-06-11 | 2022-03-08 | Modelop, Inc. | Integration of model execution engine containers with a model development environment |
CN109544663B (zh) * | 2018-11-09 | 2023-01-06 | 腾讯科技(深圳)有限公司 | 应用程序的虚拟场景识别与交互键位匹配方法及装置 |
CN111598976B (zh) * | 2019-02-01 | 2023-08-22 | 华为技术有限公司 | 场景识别方法及装置、终端、存储介质 |
JP7081066B2 (ja) * | 2019-07-08 | 2022-06-07 | 株式会社コナミデジタルエンタテインメント | サーバ装置、サーバ装置のプログラム、サーバ装置の制御方法、及び、配信システム |
US11123634B1 (en) * | 2020-03-17 | 2021-09-21 | Valve Corporation | Tracking file system read operations for instant play of video games, and for client-side discarding and prefetching of game data |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002083219A (ja) * | 2000-07-04 | 2002-03-22 | Sony Computer Entertainment Inc | コンテンツ内広告方法、コンテンツ内広告用サーバ及びコンテンツ内広告を実現するためのプログラムの伝送媒体 |
JP4040117B2 (ja) * | 1995-06-30 | 2008-01-30 | ソニー株式会社 | ゲーム機及びゲーム機制御方法 |
US6196920B1 (en) * | 1998-03-31 | 2001-03-06 | Masque Publishing, Inc. | On-line game playing with advertising |
JP4155691B2 (ja) * | 2000-03-07 | 2008-09-24 | 富士通株式会社 | 3次元インタラクティブゲームシステムおよびそれを用いた広告システム |
AU5871701A (en) * | 2000-05-17 | 2001-11-26 | Technoline Inc. | System and method for playing a partly off-line, partly on-line interactive game |
US8843590B2 (en) * | 2000-05-31 | 2014-09-23 | Ebm/Ip, Llc | Systems, methods and computer program products for facilitating display of content within application programs executing on electronic devices |
JP2002053539A (ja) * | 2000-05-31 | 2002-02-19 | Orient Chem Ind Ltd | モノアゾ含金化合物含有組成物及びその関連技術 |
US9047609B2 (en) * | 2000-11-29 | 2015-06-02 | Noatak Software Llc | Method and system for dynamically incorporating advertising content into multimedia environments |
WO2004034235A2 (en) * | 2002-10-11 | 2004-04-22 | Walker Digital, Llc | Method and apparatus for outputting a message at a game machine |
US7729946B2 (en) * | 2003-01-24 | 2010-06-01 | Massive Incorporated | Online game advertising system |
US7124145B2 (en) * | 2003-03-27 | 2006-10-17 | Millennium It (Usa) Inc. | System and method for dynamic business logic rule integration |
US7000423B2 (en) * | 2003-10-24 | 2006-02-21 | Carrier Corporation | Dual economizer heat exchangers for heat pump |
TWI340060B (en) * | 2003-11-20 | 2011-04-11 | Doi Toshiro | Polishing apparatus and method of polishing work piece |
JP2007528030A (ja) | 2004-03-08 | 2007-10-04 | マッシブ インコーポレーテッド | 複数のビデオゲーム内への広告の配信 |
US20060105841A1 (en) * | 2004-11-18 | 2006-05-18 | Double Fusion Ltd. | Dynamic advertising system for interactive games |
US8849701B2 (en) * | 2004-12-13 | 2014-09-30 | Google Inc. | Online video game advertising system and method supporting multiplayer ads |
US20060247039A1 (en) * | 2005-05-02 | 2006-11-02 | Byron Lerner | Systems and methods for providing targeted information in the context of electronic gaming |
US20070129990A1 (en) * | 2005-12-01 | 2007-06-07 | Exent Technologies, Ltd. | System, method and computer program product for dynamically serving advertisements in an executing computer game based on the entity having jurisdiction over the advertising space in the game |
-
2008
- 2008-08-18 JP JP2010521956A patent/JP2010540002A/ja not_active Abandoned
- 2008-08-18 US US12/193,224 patent/US20090054117A1/en not_active Abandoned
- 2008-08-18 WO PCT/US2008/073428 patent/WO2009026198A1/en active Application Filing
- 2008-08-18 EP EP08827857A patent/EP2191346B1/en not_active Not-in-force
- 2008-08-20 WO PCT/US2008/073669 patent/WO2009026336A1/en active Application Filing
- 2008-08-20 JP JP2010521989A patent/JP2010537319A/ja not_active Abandoned
- 2008-08-20 US US12/194,757 patent/US8075398B2/en not_active Expired - Fee Related
- 2008-08-20 EP EP08798235A patent/EP2191347A4/en not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
US20090054140A1 (en) | 2009-02-26 |
EP2191346B1 (en) | 2012-08-08 |
US8075398B2 (en) | 2011-12-13 |
EP2191346A4 (en) | 2010-12-22 |
EP2191347A4 (en) | 2010-12-22 |
EP2191346A1 (en) | 2010-06-02 |
JP2010537319A (ja) | 2010-12-02 |
EP2191347A1 (en) | 2010-06-02 |
WO2009026198A1 (en) | 2009-02-26 |
WO2009026336A1 (en) | 2009-02-26 |
US20090054117A1 (en) | 2009-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2191346B1 (en) | Independently-defined alteration of output from software executable using later-integrated code | |
JP7295195B2 (ja) | コンソールゲームデータをキャプチャし共有するためのシステム及び方法 | |
US9737812B2 (en) | Method of interacting with an interactive game program | |
US7729946B2 (en) | Online game advertising system | |
US8328640B2 (en) | Dynamic advertising system for interactive games | |
US7596536B2 (en) | System, method and computer program product for dynamically measuring properties of objects rendered and/or referenced by an application executing on a computing device | |
US8629885B2 (en) | System, method and computer program product for dynamically identifying, selecting and extracting graphical and media objects in frames or scenes rendered by a software application | |
US7963839B2 (en) | Regulated gaming exchange | |
AU2007327889C1 (en) | Regulated gaming-compartmented freelance code | |
US20070129990A1 (en) | System, method and computer program product for dynamically serving advertisements in an executing computer game based on the entity having jurisdiction over the advertising space in the game | |
US20080132331A1 (en) | Regulated gaming - virtual display | |
US20100210357A1 (en) | Overlay content in a gaming environment | |
Fulton et al. | Creating a Viral Game: Tunnel Panic | |
AU2013211493A1 (en) | Regulated gaming exchange |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110818 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110818 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110818 Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110818 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20121024 |