JP6026169B2 - プログラム、記録媒体、情報処理装置及び制御方法 - Google Patents

プログラム、記録媒体、情報処理装置及び制御方法 Download PDF

Info

Publication number
JP6026169B2
JP6026169B2 JP2012170334A JP2012170334A JP6026169B2 JP 6026169 B2 JP6026169 B2 JP 6026169B2 JP 2012170334 A JP2012170334 A JP 2012170334A JP 2012170334 A JP2012170334 A JP 2012170334A JP 6026169 B2 JP6026169 B2 JP 6026169B2
Authority
JP
Japan
Prior art keywords
data
screens
needs
order
detailed information
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.)
Active
Application number
JP2012170334A
Other languages
English (en)
Other versions
JP2012245363A5 (ja
JP2012245363A (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.)
Square Enix Holdings Co Ltd
Original Assignee
Square Enix Holdings Co Ltd
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 Square Enix Holdings Co Ltd filed Critical Square Enix Holdings Co Ltd
Publication of JP2012245363A publication Critical patent/JP2012245363A/ja
Publication of JP2012245363A5 publication Critical patent/JP2012245363A5/ja
Application granted granted Critical
Publication of JP6026169B2 publication Critical patent/JP6026169B2/ja
Active 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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • 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
    • 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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • 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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • 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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • 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
    • 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
    • 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/60Generating 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/63Generating 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 by the player, e.g. authoring using a level editor
    • 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/60Generating 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/65Generating 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 automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • A63F13/655Generating 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 automatically by game devices or servers from real world data, e.g. measurement in live racing competition by importing photos, e.g. of the player
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • 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/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • 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/50Features 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/53Features 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 details of basic data processing
    • A63F2300/538Features 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 details of basic data processing for performing operations on behalf of the game client, e.g. rendering
    • 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/50Features 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/55Details of game data or player data management
    • A63F2300/5593Details of game data or player data management involving scheduling aspects
    • 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/6615Methods for processing data by generating or executing the game program for rendering three dimensional images using models with different levels of detail [LOD]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Description

本発明は、プログラム、記録媒体、情報処理装置及び制御方法に関し、特にネットワーク接続されたクライアント機器に対して、描画した画面を提供する技術に関する。
ネットワーク接続可能なパーソナルコンピュータ(PC)等のクライアント機器が普及している。このような機器の普及により、インターネットにおけるネットワーク人口は増加している。近年では、ネットワークユーザに対する、インターネットを利用した様々なサービスが展開されており、ゲーム等のエンターテインメントサービスも提供されている。
ネットワークユーザに対するサービスの1つとして、MMORPG(Massively Multiplayer Online Role-Playing Game)等の多人数同時参加型のネットワークゲームがある。多人数同時参加型のネットワークゲームでは、ユーザは使用するクライアント機器を、ゲームを提供するサーバ機器に接続することで、該サーバ機器に接続されているクライアント機器を使用するユーザとの対戦プレイや協力プレイを行うことができる。
一般的な多人数参加型のネットワークゲームでは、クライアント機器はサーバ機器との間でゲームの描画に必要なデータの送受信を行う。クライアント機器は、受信した描画に必要なデータを用いて描画処理を実行し、生成したゲーム画面をクライアント機器に接続された表示装置に提示することで、ユーザにゲーム画面を提供する。また、ユーザが入力インタフェースを操作することで入力された情報はサーバ機器に送信され、サーバ機器における演算処理に使用されたり、サーバ機器に接続された他のクライアント機器に伝送されたりする。
しかしながら、このようなクライアント機器で描画処理を行うネットワークゲームの中は、ユーザが十分な描画性能を行うPCや専用のゲーム機の使用が必要となるものがある。このため、ネットワークゲーム(1コンテンツ)のユーザ数は、コンテンツが要求するクライアント機器の性能に依存してしまう。即ち、例えば美麗なグラフィックを提供するゲーム等の高い描画性能が要求されるゲームでは、ユーザ数を増加させることが困難である。
これに対し、近年ではクライアント機器の描画性能等の処理能力に依存せずに、ユーザがプレイ可能なゲームも提供されている(特許文献1)。
国際公開第2009/138878号パンフレット
特許文献1のようなゲームでは、サーバ機器はクライアント機器においてなされた操作の情報を取得し、該情報を用いて描画処理を実行して得られたゲーム画面を、クライアント機器に対して提供している。即ち、クライアント機器においてなされた操作に応じて描画処理をサーバ機器において行う場合、ユーザがストレスなくプレイを行うためにはレスポンスを速く、つまり操作を反映したゲーム画面の提供を速くする必要がある。
特に、多人数同時参加型のネットワークゲームでは、サーバ機器は複数のクライアント機器に対して提供するゲーム画面を同時に生成するため、複数のゲーム画面の描画処理に要する時間を低減することが望まれる。しかしながら、特許文献1にはゲーム画面の描画処理の効率化についての具体的な方法については言及されていなかった。
本発明は、上述の問題点に鑑みてなされたものであり、1以上のクライアント機器に対してゲーム画面を提供する描画システムにおいて、応答性に優れた効率的な描画処理を行うことを目的とする。
前述の目的を達成するために、本発明のプログラムは、複数の画面の描画処理を並行実行する1以上の描画手段を有するコンピュータを含む1以上のコンピュータに、複数の画面のうち、1つの描画手段の描画対象とする少なくとも2つの画面を指定する処理と、指定された少なくとも2つの画面の各々の描画処理において展開が必要となるデータを特定する処理と、共通する属性を有するデータの描画順が連続するように、少なくとも2つの画面の描画処理を並行実行する際の、特定された展開が必要となるデータの描画順を決定する処理と、を実行させるプログラムであって、展開が必要となるデータは、画面の生成に用いられる描画オブジェクトの識別情報、及び該描画オブジェクトの描画において展開が必要となるデータを示す詳細情報であって該描画オブジェクトの描画に必要となる複数の属性を含む詳細情報、を含み、決定する処理において、詳細情報に含まれる少なくとも一部の属性が共通である描画オブジェクトに対して連続する描画順が割り当てられ、優先度が高い属性が共通である描画オブジェクトに対して描画順が優先的に割り当てられる
また前述の目的を達成するために、本発明の情報処理装置は、複数の画面の描画処理を並行実行する1以上の描画手段の動作を制御する情報処理装置であって、複数の画面のうち、1つの描画手段の描画対象とする少なくとも2つの画面を指定する指定手段と、指定手段により指定された少なくとも2つの画面の各々の描画処理において展開が必要となるデータを特定する特定手段と、共通する属性を有するデータの描画順が連続するように、少なくとも2つの画面の描画処理を並行実行する際の、特定された展開が必要となるデータの描画順を決定する決定手段と、を有し、展開が必要となるデータは、画面の生成に用いられる描画オブジェクトの識別情報、及び該描画オブジェクトの描画において展開が必要となるデータを示す詳細情報であって該描画オブジェクトの描画に必要となる複数の属性を含む詳細情報、を含み、決定手段は、詳細情報に含まれる少なくとも一部の属性が共通である描画オブジェクトに対して連続する描画順を割り当て、優先度が高い属性が共通である描画オブジェクトに対して描画順を優先的に割り当てる。
このような構成により本発明によれば、1以上のクライアント機器に対してゲーム画面を提供する描画システムにおいて、応答性に優れた効率的な描画処理を行うことが可能となる。
本発明の実施形態に係る描画システムのシステム構成を示した図 本発明の実施形態に係る描画サーバ100の機能構成を示したブロック図 本発明の実施形態に係るセンタサーバ200の機能構成を示したブロック図 本発明の実施形態に係るセンタサーバ200のゲーム処理を例示したフローチャート 本発明の実施形態に係る操作入力の情報及び描画命令のデータ構造を例示した図 本発明の実施形態に係る描画サーバ100の描画処理を例示したフローチャート 本発明の実施形態に係る描画サーバ100の描画順決定処理を例示したフローチャート 本発明の実施形態に係る描画順決定処理を説明するための図 本発明の実施形態に係る描画順決定処理を説明するための別の図 本発明の実施形態に係る描画順決定処理により決定された描画順を説明するための図 本発明の変形例に係る描画サーバ100の描画順決定処理を例示したフローチャート
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、描画システムの一例としての、1以上のクライアント機器の接続を受け付け可能なセンタサーバと、1以上のクライアント機器の各々に提供する画面を同時に生成可能な描画サーバとに、本発明を適用した例を説明する。しかし、本発明は、1以上のクライアント機器に提供する画面を同時に作成することが可能な任意の機器及びシステムに適用可能である。
また、本明細書において、センタサーバがクライアント機器に対して提供する「サービス」とは、上述したような多人数同時参加型のネットワークゲームであるものとする。描画システムでは、クライアント機器に対して提供するゲーム画面が描画サーバにおいて生成され、該ゲーム画面はセンタサーバを介してクライアント機器に配信されるものとする。しかしながら、描画システムはこのようなサービスの提供に限らず、クライアント機器に対して、画面を描画して配信する構成であればよい。
<描画システムの構成>
図1は、本発明の実施形態に係る描画システムのシステム構成を示す図である。
図示されるように、サービス提供を受けるクライアント機器300a乃至eと、サービス提供を行うセンタサーバ200とは、インターネット等のネットワーク400を介して接続されている。また同様にクライアント機器300に対して提供する画面を描画する描画サーバ100は、ネットワーク400を介してセンタサーバ200に接続されている。なお、以下の説明では特に指定のない限り「クライアント機器300」と称した場合は、クライアント機器300a乃至eの全てを指すものとする。
クライアント機器300は、例えばPC、家庭用ゲーム機、携帯ゲーム機に限らず、携帯電話、PDF、タブレット等の機器であってよい。本実施形態の描画システムは、クライアント機器においてなされた操作入力に応じたゲーム画面を描画サーバ100が生成し、センタサーバ200がクライアント機器300に配信する。このため、クライアント機器300はゲーム画面の生成を行う描画機能を有するものでなくてよい。即ち、クライアント機器300は、操作入力を行うユーザインタフェース及び画面の表示を行う表示装置を有する機器、あるいは該ユーザインタフェース及び表示装置が接続可能な機器であって、受信したゲーム画面を、表示装置を用いて表示可能な機器であればよい。つまり本発明は、ゲーム画面の生成に係る描画処理がビデオストリームのデコードに係る処理に比べて多くのハードウェアリソースを使用することに着目し、サーバ側で生成したゲーム画面をクライアント機器に送信することで、クライアント機器の有する描画性能に依存しないゲームの提供を行う。
センタサーバ200は、ゲーム処理プログラムの実行及び管理、描画サーバ100への描画処理命令、クライアント機器300とのデータ送受信を行う。具体的にはセンタサーバ200では、クライアント機器300に対して提供するサービスである、多人数同時参加型ネットワークゲームのゲーム処理が実行される。
センタサーバ200は、例えば各クライアント機器のユーザが操作するキャラクタのマップ上の位置や方向、各キャラクタに対して提供するイベント等の情報を管理する。そしてセンタサーバ200は、管理しているキャラクタの状態に応じたゲーム画面の生成を描画サーバ100に実行させる。例えばセンタサーバ200に対して、接続されている各クライアント機器においてなされたユーザの操作入力の情報がネットワーク400を介して入力されると、センタサーバ200では該情報を管理しているキャラクタの情報に反映させる処理が実行される。そしてセンタサーバ200は、操作入力の情報が反映されたキャラクタの情報に基づいてゲーム画面に描画する描画オブジェクトを決定し、描画サーバ100に対して描画命令を行う。
描画サーバ100は、描画処理の実行を担うサーバであり、本実施形態では後述するように4つのGPUを有する。描画サーバ100は、センタサーバ200より受けた描画命令に応じてゲーム画面の描画を行い、生成したゲーム画面をセンタサーバ200に出力する。なお、描画サーバ100は、複数のゲーム画面を同時に作成可能であるものとする。描画サーバ100は、各ゲーム画面について描画サーバ100から受信した、ゲーム画面に含まれる描画オブジェクトの識別情報、及び各描画オブジェクトの描画に必要なデータを示す詳細情報に基づいて、GPUでゲーム画面の描画処理を実行する。
本実施形態では、「描画オブジェクトの描画に必要なデータを示す詳細情報」には次の属性のデータを示す情報が含まれるものとする。
・モデルデータを特定する識別情報
・テクスチャデータを特定する識別情報
・使用する描画用プログラムの指定情報(シェーダ等)
・描画用プログラムで用いられる演算用データの指定情報(光源強度、光源ベクトル、
回転行列等)
なお、本実施形態では上記の情報を含む詳細情報がセンタサーバ200から描画サーバ100に伝送されるものとして説明するが、詳細情報に含まれる情報は上記に限られない。例えば、詳細情報には上記の5つの情報の少なくともいずれかが含まれていてもよいし、上記以外に描画オブジェクトの描画処理において用いられる情報が含まれていてもよい。また演算用データとは、描画処理において演算に用いられる定数や変数等の数値を含むものとして、以下説明する。
センタサーバ200は、送信した描画オブジェクトの識別情報及び詳細情報を含む描画命令に応じて描画サーバ100から受信したゲーム画面を、対応するクライアント機器に対して配信する。このようにすることで、本実施形態の描画システムはクライアント機器においてなされた操作入力に応じたゲーム画面を生成し、クライアント機器の表示装置を介してユーザにゲーム画面を提供することができる。
なお、本実施形態では描画システムは、1つの描画サーバ100と1つのセンタサーバ200とで構成されるものとして説明するが、本発明の実施はこれに限られない。例えば、複数のセンタサーバ200に対して1つの描画サーバ100が割り当てられている構成であってもよいし、複数のセンタサーバ200に対して複数の描画サーバ100が割り当てられている構成であってもよい。またセンタサーバ200は、描画サーバ100あるいは描画サーバ100の各GPUにおいて同時生成しているゲーム画面の数の情報に応じて、描画命令を行う描画サーバ100あるいは描画サーバ100のGPUを指定してもよい。
<描画サーバ100の構成>
図2は、本発明の実施形態に係る描画サーバ100の機能構成を示すブロック図である。
CPU101は、描画サーバ100が有する各ブロックの動作を制御する。具体的にはCPU101は、例えばROM102や記録媒体104に記憶されている描画処理の動作プログラムを読み出し、RAM103に展開して実行することにより、各ブロックの動作を制御する。
ROM102は、例えば書き換え可能な不揮発性メモリである。ROM102は、描画処理の動作プログラムに加え、他の動作プログラムや描画サーバ100が有する各ブロックの動作において必要となる定数等の情報を記憶する。
RAM103は、揮発性メモリである。RAM103は、動作プログラムの展開領域としてだけでなく、描画サーバ100が有する各ブロックの動作において出力された中間データ等を一時的に記憶する格納領域としても用いられる。
記録媒体104は、例えばHDD等の、描画サーバ100に着脱可能に接続される記録装置である。本実施形態では記録媒体104には、描画処理において画面の生成に用いる、以下のデータが記憶されているものとする。
・モデルデータ
・テクスチャデータ
・描画用プログラム
・描画用プログラムで用いられる演算用データ
通信部113は、描画サーバ100が備える通信インタフェースである。通信部113は、ネットワーク400を介して接続したセンタサーバ200等の、他の機器間でのデータ送受信を行う。データ送信時には通信部113は、ネットワーク400あるいは送信先の機器との間で定められたデータ伝送形式にデータを変換し、送信先の機器へのデータ送信を行う。またデータ受信時には通信部113は、ネットワーク400を介して受信したデータを、描画サーバ100において読み取り可能な任意のデータ形式に変換し、例えばRAM103に記憶させる。
第1GPU105、第2GPU106、第3GPU107、及び第4GPU108は、描画処理においてクライアント機器300に対して提供するゲーム画面の生成を行う。GPUの各々は、ゲーム画面の描画領域としてビデオメモリ(第1VRAM109、第2VRAM110、第3VRAM111、及び第4VRAM112)が接続されている。また各GPUはキャッシュメモリを有している。各GPUは、接続されたVRAMに対して描画を行う場合、描画オブジェクトのキャッシュメモリへの展開を行なった後、該展開後の描画オブジェクトを対応するVRAMに書き込む。なお、本実施形態では1つのGPUに対して1つのビデオメモリが接続されるものとして説明するが、本発明の実施はこれに限られない。即ち、GPUに対して接続されるビデオメモリの数は、任意の数であってよい。
<センタサーバ200の構成>
また、本実施形態のセンタサーバ200の機能構成について説明する。図3は、本発明の実施形態に係るセンタサーバ200の機能構成を示すブロック図である。
センタCPU201は、センタサーバ200が有する各ブロックの動作を制御する。具体的にはセンタCPU201は、例えばセンタROM202やセンタ記録媒体204からゲーム処理のプログラムを読み出し、センタRAM203に展開して実行することにより各ブロックの動作を制御する。
センタROM202は、例えば書き換え可能な不揮発性メモリである。センタROM202は、ゲーム処理のプログラムに限らず他のプログラムが記憶されていてもよい。またセンタROM202は、センタサーバ200が有する各ブロックの動作において必要となる定数等の情報を記憶する。
センタRAM203は、揮発性メモリである。センタRAM203は、ゲーム処理のプログラムの展開領域としてだけでなく、センタサーバ200が有する各ブロックの動作において出力された中間データ等を一時的に記憶する格納領域としても用いられる。
センタ記録媒体204は、例えばHDD等の、センタサーバ200に着脱可能に接続される記録装置である。本実施形態ではセンタ記録媒体204は、ゲームを利用するユーザやクライアント機器を管理するデータベース、接続された各クライアント機器に提供するゲーム画面の生成に必要となるゲーム上の各種情報を管理するデータベース等として用いられる。
センタ通信部205は、センタサーバ200が備える通信インタフェースである。センタ通信部205は、ネットワーク400を介して接続した描画サーバ100やクライアント機器300との間で、データ送受信を行う。なお、センタ通信部205は通信部113と同様に、通信仕様に従ったデータ形式の変換を行う。
<ゲーム処理>
このような構成をもつ本実施形態の描画システムのセンタサーバ200において実行される基本的なゲーム処理について、図4のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、センタCPU201が、例えばセンタ記録媒体204に記憶されている対応する処理プログラムを読み出し、センタRAM203に展開して実行することにより実現することができる。
なお、本ゲーム処理は、例えばセンタサーバ200が起動された際に開始され、提供するゲームの1フレームごとに繰り返し実行されるものとして説明する。また、以下の説明ではクライアント機器300a乃至eは既にセンタサーバ200に対して接続しているものとする。センタサーバ200は本ゲーム処理において、各クライアント機器に対してゲーム画面の提供を行う。
S401で、センタCPU201は、各クライアント機器300においてなされた操作入力の情報を受信したか否かを判断する。具体的にはセンタCPU201は、センタ通信部205において受信されてセンタRAM203に記憶された情報が、クライアント機器300においてなされた操作入力の情報であるか否かを判断する。
クライアント機器300においてなされた操作入力の情報は、例えば図5(a)に示されるようなデータ構造であってよい。本実施形態では操作入力の情報は、図5(a)に示されるように、
・操作入力がなされたクライアント機器の識別情報(IPアドレスやユーザ識別情報等

・操作入力により入力された移動量及び移動方向
・選択されたアクションの識別情報
・ゲーム画面の描画範囲(カメラパラメータ等)
・クライアント機器の表示装置における表示設定(画面表示解像度、色数等)
等の情報が含まれるものとする。なお、センタサーバ200が各クライアント機器300においてなされた操作入力として受信する情報のデータ構造はこれに限られるものではなく、ゲームによって予め定められたデータ構造であってよい。
また本実施形態では、クライアント機器300において例えばユーザによりなされた操作を、ゲーム内での数値やパラメータに変換した情報がセンタサーバ200に送信されるものとして説明するが、これに限られるものではない。即ち、操作入力の情報は、ユーザがボタン等を操作することによりクライアント機器で検出された入力信号を示す情報であってもよい。この場合、センタCPU201が受信した入力信号を示す情報と、クライアント機器の種類に応じて、ゲーム内での数値やパラメータに変換する処理を行えばよい。
センタCPU201は、クライアント機器300においてなされた操作入力の情報を受信したと判断した場合は処理をS402に移し、受信していないと判断した場合は処理をS403に移す。
S402で、センタCPU201は、S402で受信したクライアント機器300における操作入力の情報に基づいて、ゲーム情報を更新する。具体的にはセンタCPU201は、例えば該クライアント機器300のユーザの操作対象であるゲーム内のキャラクタに対応する状態情報をセンタ記録媒体204から読み出す。キャラクタの状態情報は、例えばマップ上のキャラクタの位置(座標情報)やキャラクタの視線方向、キャラクタ動作等、ユーザの操作により変更可能なキャラクタの動作や容姿の情報を指すものとする。
センタCPU201は受信した操作入力の情報を参照し、状態情報に含まれるパラメータのうちの操作入力により変化するパラメータを、受信した操作入力の情報で更新する。このようにすることで、センタCPU201は、クライアント機器300においてなされた操作入力の情報を、ゲームに反映させることができる。
なお、センタCPU201は、S402で受信したクライアント機器300における操作入力の情報のうち、キャラクタの状態情報の更新に用いられない情報については、クライアント機器の識別情報に関連付けて例えばセンタ記録媒体204に記録するものとする。
S403で、センタCPU201は、各クライアント機器300のユーザの操作対象のキャラクタ以外の、ゲーム内で状態を管理する描画オブジェクトの状態情報を更新する。ゲーム内で状態を管理する描画オブジェクトは、例えばNPC(Non Player Character)と呼ばれるユーザの操作非対象のキャラクタ、地形等の背景オブジェクト等である。ゲーム内で状態を管理する描画オブジェクトは、時間経過やユーザの操作対象のキャラクタの動作によって変化する。このためセンタCPU201は、本ステップにおいて時間経過やS402で更新したキャラクタの状態情報に応じて、ゲーム内で状態を管理する描画オブジェクトの状態情報を更新する。
S404で、センタCPU201は、各クライアント機器300に対して提供するゲーム画面に含まれる描画オブジェクトを特定する。ゲーム画面に含まれる描画オブジェクトは、上述したゲーム内で状態を管理する描画オブジェクト、及びユーザの操作対象のキャラクタの描画オブジェクトである。
具体的にはセンタCPU201は、現在センタサーバ200に接続されているクライアント機器300を1つずつ選択し、該クライアント機器300の識別情報が関連付けられたゲーム画面の描画範囲の情報を、センタ記録媒体204から読み出す。上述したようにゲーム画面の描画範囲の情報は、ゲーム画面についてのカメラパラメータを含んでいる。センタCPU201は該カメラパラメータを参照し、該カメラによる描画範囲に状態情報の座標情報が含まれるキャラクタ等の描画オブジェクトを、ゲーム画面に含まれる描画オブジェクトとして特定する。なお、描画オブジェクトには識別情報が割り当てられており、センタCPU201は、特定したゲーム画面に含まれる描画オブジェクトの識別情報を、クライアント機器の識別情報に関連付けてセンタ記録媒体204に記録する。
S405で、センタCPU201は、全クライアント機器300に対して提供するゲーム画面の描画命令を描画サーバ100に送信し、描画サーバ100に描画処理を実行させる。具体的にはまずセンタCPU201は、各クライアント機器300の識別情報に関連付けてセンタ記録媒体204に記録されている、該クライアント機器300に提供するゲーム画面に含まれる描画オブジェクトの識別情報を読み出す。またセンタCPU201は、ゲーム画面に含まれる描画オブジェクトの各々に設定されている詳細情報をセンタ記録媒体204より読み出す。そしてセンタCPU201は、各クライアント機器300に提供するゲーム画面に含まれる描画オブジェクトの識別情報、及び各描画オブジェクトの詳細情報を、クライアント機器300の識別情報に関連付け、描画命令としてセンタ通信部205を介してセンタサーバ200に送信する。このとき、センタCPU201は、各クライアント機器の識別情報に関連付けられた、ゲーム画面の描画範囲の情報及びクライアント機器の表示装置における表示設定の情報をセンタ記録媒体204より読み出し、同様に描画サーバ100に送信するものとする。
即ち、1つのクライアント機器に対して提供するゲーム画面の描画のためにセンタサーバ200に対して送信される描画命令は、図5(b)に示されるように、該クライアント機器の識別情報に関連付けられた、
・ゲーム画面に含まれる各描画オブジェクトの識別情報
・ゲーム画面に含まれる各描画オブジェクトについての詳細情報
・ゲーム画面に含まれる各描画オブジェクトの状態情報
・ゲーム画面の描画範囲及び表示設定の情報
を含んでいる。なお、ゲーム画面の描画範囲となるカメラパラメータや表示設定の情報等は、例えばカメラ位置が変化しないゲームや表示解像度が固定のゲームの場合、描画命令に含まれなくてもよい。
なお、本実施形態ではクライアント機器300ごとに描画命令が描画サーバ100に送信されるものとして説明するが、複数あるいは全てのクライアント機器300についての描画命令が同時に送信されてもよいことは容易に理解されよう。
S406で、センタCPU201は、描画命令に応じて描画サーバ100が生成したゲーム画面を、描画サーバ100から受信したか否かを判断する。具体的にはセンタCPU201は、描画サーバ100が生成して出力した各クライアント機器300のゲーム画面を、センタ通信部205が受信したか否かを判断する。センタCPU201は、ゲーム画面を受信したと判断した場合は処理をS407に移し、受信していないと判断した場合は本ステップの処理を繰り返す。即ち、本ステップでは各クライアント機器300のゲーム画面を受信するまで待機する。
なお、本ステップにおいて受信するゲーム画面は、直前のS404において描画サーバ100に送信された描画命令によって生成されたゲーム画面であることが好ましいが、これに限られなくてもよい。即ち、本ゲーム処理は1フレームごとに実行されるため、ゲーム画面の描画が提供するゲームのフレームレートで規定される1フレーム時間内に完了しない場合、本ステップで受信されるゲーム画面は、現フレームよりも数フレーム前のフレームで送信された描画命令に応じて生成された画面であってもよい。
S407で、センタCPU201は、S406で受信したゲーム画面を対応するクライアント機器300に対して配信する。具体的にはセンタCPU201は、センタ通信部205が受信してセンタRAM203に記憶されたゲーム画面の例えばヘッダ部に含まれるクライアント機器300の識別情報を参照する。そしてセンタCPU201は、該識別情報で示されるクライアント機器300に対して、センタ通信部205を介してゲーム画面を送信し、本ゲーム処理を完了する。
このように、センタサーバ200は描画サーバ100に対して描画命令を行うことで、各クライアント機器300においてなされた操作入力が反映されたゲーム画面を生成させ、得られたゲーム画面を各クライアント機器300に配信することができる。
しかしながら、クライアント機器300の数や描画範囲に含まれる描画オブジェクトの数によっては、クライアント機器300においてなされた操作入力が反映されたゲーム画面の生成に時間を要することになる。このことは、クライアント機器300のユーザに対してゲームのレスポンスが悪いという印象を与えてしまうことにつながる。本実施形態では、以下に示すように描画命令に含まれる描画オブジェクトの詳細情報を判断することで、描画サーバ100における描画処理に要する時間を短縮する方法について説明する。
描画処理では、各描画オブジェクトについて、詳細情報に含まれる「モデルデータを特定する識別情報」、「テクスチャデータを特定する識別情報」、「描画用プログラムの指定情報」、及び「描画用プログラムで用いられる演算用データ」を読み出して描画処理を行う。即ち、ゲーム画面に含まれる描画オブジェクトが複数存在する場合、描画オブジェクトを1つずつ選択して詳細情報を読み出し、該詳細情報に応じて描画を行なった後、次の描画オブジェクトについての描画が行われる。つまり、描画サーバ100では描画処理中、描画する描画オブジェクトを切り替える度に、モデルデータやテクスチャデータのGPUへの転送及びコンバート、描画用プログラムの読み出し、演算用データの設定等、初期化に係る処理が実行されることになる。このように1つのゲーム画面の描画処理においては、1つの描画オブジェクトの描画における初期化に係る処理の時間(切り替えコスト)が、ゲーム画面の描画範囲に含まれる描画オブジェクトの数だけ必要となる。また複数のクライアント機器300に配信するゲーム画面を同時に生成する場合は、切り替えコストはさらに多くなる。
一方、ゲーム画面の生成においては、特に背景等に、詳細情報により示される少なくとも一部のデータが共通である描画オブジェクトが存在することがある。例えばゲーム画面内に含まれる樹木のオブジェクト等は、数パターンのモデルデータに対して1つのテクスチャデータを使い回して描画されている。また、例えば共通の材質や質感を有するオブジェクトや、同一の光源下に存在するオブジェクトについては、同一の描画用プログラムや演算用データが使用されている。また、異なるクライアント機器に提供されるゲーム画面であっても、例えばゲーム内のマップ上におけるカメラ位置や方向が類似するゲーム画面については、描画範囲に存在する描画オブジェクトは共通しており、詳細情報も同一である可能性がある。
本実施形態の描画処理では、このように詳細情報により示される少なくとも一部のデータが共通する描画オブジェクトについては連続する描画順を割り当てることで、描画処理中の切り替えコストを抑える。即ち、描画する描画オブジェクトを切り替える際に、先に描画した描画オブジェクトについて行われた演算結果や読み出されたデータを利用することで、共通する処理に要する時間を短縮し、切り替えコストを低減する。
<描画処理>
以下、本実施形態の描画サーバ100の描画処理について、図6のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、CPU101が、例えばROM102に記憶されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。なお、本描画処理は、例えばセンタサーバ200からの描画命令を受信した際に開始されるものとして説明する。なお、以下の説明では、上述のゲーム処理と同様に5台のクライアント機器300a乃至eに提供するゲーム画面の生成を、描画サーバ100が行うものとして説明する。
S601で、CPU101は、クライアント機器300a乃至eに提供するゲーム画面の生成を、描画サーバ100が有するGPUに分類する。即ち、本ステップにおいてCPU101は受信した描画命令を、第1GPU105、第2GPU106、第3GPU107、及び第4GPU108のうち、いずれのGPUで処理するかを決定する。
1つのGPUに対してゲーム画面の生成を割り当てるクライアント機器の分類方法については、例えば以下の方法が考えられる。
1.ゲーム画面を規定するカメラパラメータ(描画範囲)
各クライアント機器300に提供するゲーム画面は、カメラパラメータによりゲーム画面の描画範囲(視野)が規定される。1つのカメラについての視野は、通常四角錐あるいは四角錐台で規定されるが、該視野が重複するゲーム画面については、同一の描画オブジェクトが含まれると考えられる。このため、同一のGPUにゲーム画面の生成を割り当てるクライアント機器は、視野の重複を考慮して分類することで描画処理の効率化が望める。具体的には、例えば視野で規定される四角錐を2次元平面に投影した三角形を、各クライアント機器に提供するゲーム画面を規定するカメラの座標及び方向に従って算出し、該三角形の範囲が所定の割合以上重複するゲーム画面を1つのグループとして分類し、同一のGPUに描画処理を割り当てればよい。
また簡易的には、ゲーム画面を規定するカメラ座標が近いクライアント機器については、ゲーム画面の描画内容が類似することが期待される。このため、ゲーム画面を規定するカメラ座標の距離が所定距離以内のゲーム画面を1つのグループとして分類し、同一のGPUに描画処理を割り当ててもよい。
またゲーム内のマップでは、例えば、山、森、海等、同様の背景オブジェクトが使用されるエリアが存在する。即ち、ゲーム画面を規定するカメラの座標が、このような背景オブジェクトが配置された特定のエリアに存在する、あるいはカメラの方向が該特定のエリアの方向を向いている場合、生成されるゲーム画面には共通の背景オブジェクトが含まれる。つまり、共通の背景オブジェクトが含まれるゲーム画面については1つのグループとして、同一のGPUに描画処理を割り当てることで、描画処理の効率化が望める。
また、背景についてはゲーム内のマップの様々なエリアにおいて同一の描画オブジェクトが使用される可能性がある。即ち、ゲーム画面を規定するカメラの座標及び方向が異なっていたとしても、同一の背景オブジェクトが描画範囲に含まれることもあるため、1つのGPUで生成するゲーム画面のカメラ位置等は必ずしも近接していなくてもよい。
割り当てるGPUの情報は、例えばカメラの座標及び方向情報の組み合わせについて、描画処理を行うGPUを予め定めた情報が、ルックアップテーブルとして記録媒体104に記録されていてもよい。また割り当てるGPUの情報は、例えばカメラの位置及び方向の値を引数とする関数によって、処理を行うGPUの情報が得られるように構成されてもよい。
2.描画範囲に含まれる描画オブジェクトの詳細情報の組み合わせ
描画処理における切り替えコストは、描画順が連続する描画オブジェクトについて、詳細情報の一致度が高いほど低減される。このためセンタCPU201は、全クライアント機器300に提供するゲーム画面の各々について、ゲーム画面に含まれる全描画オブジェクトの詳細情報を参照し、ゲーム画面間での描画オブジェクトの一致度を詳細情報レベルで算出する。そして該一致度が高いゲーム画面の生成を1つのグループに分類し、同一のGPUに描画処理を割り当てればよい。
なお、詳細情報の一致度については、例えば各ゲーム画面に含まれる描画オブジェクトを、詳細情報のうちのテクスチャデータやモデルデータ等の組み合わせで分布をとり、該分布の類似性として求めてもよい。また、例えば各ゲーム画面に含まれる描画オブジェクトのうち、詳細情報により示される特定の属性のデータについて分類し、各集合に属する描画オブジェクトの数が閾値以上の分類についてのみ、ゲーム画面間において総当たりで詳細情報を比較することで、詳細情報の一致度を算出してもよい。
3.ユーザの操作対象のキャラクタのイベント参加有無
ゲームにおいては、マップ上の特定のポイントに存在する等、特定の条件を満たした場合にイベントが発生し、ゲーム画面が通常とは異なる画面に強制的に遷移することがある。例えば敵キャラクタ等との戦闘イベントでは、ユーザの操作対象のキャラクタは戦闘専用のフィールドにおいて敵キャラクタとの戦闘を行うことになる。このようなイベントは、マップ上の任意の位置において同時発生することが考えられるため、同一種類のイベントが発生しているクライアント機器300に提供するゲーム画面については1つのグループとして、同一のGPUに描画処理を割り当てることで、切り替えコストの低減が見込める。
4.ゲーム進行状況
またストーリー進行が定められている種類のゲームについては、ゲーム進行状況によって描画されるオブジェクトの種類が限定されることが考えられる。例えばフィールドが建物内→広場→草原→森のように進行するストーリーの場合、フィールドが切り替わるごとにグループを分類しなおし、異なるGPUにゲーム画面の描画を割り当ててもよい。
このように、ゲーム画面に含まれる描画オブジェクトの類似性を判断基準として、描画内容が類似する複数のグループに分類し、1つのグループについてゲーム画面の描画を同一のGPUに割り当てる。そして、後述する描画順決定処理を実行することにより、各GPUにおけるゲーム画面の生成をより効率的に行うことができる。なお、上記のクライアント機器300に提供するゲーム画面の生成を行うGPUの決定方法は例示を目的としたものであり、これ以外にも描画内容が類似していると思われるゲーム画面の描画を同一のGPUに割り当てることで描画処理の効率化が望める方法が用いられてよい。
本実施形態では、ゲーム画面を規定するカメラの位置及び座標情報に応じて描画処理を行うGPUを決定する、上記1の方法を使用するものとして説明する。また以下では、5つのクライアント機器300a乃至eに提供するゲーム画面の生成は1つのグループに分類され、第1GPU105で全て行われるものとする。なお、1つのグループに分類されるゲーム画面の数(クライアント機器の数)は、GPUの処理能力及びVRAMの容量により決定される。また各グループに分類されたクライアント機器の情報は、例えば1つのグループIDを有するテーブルに、クライアント機器の識別情報が追加されてRAM103に記憶されることにより管理されればよい。
S602で、CPU101は、各GPUに割り当てられたグループの各々について、描画する全てのゲーム画面に含まれる描画オブジェクトを対象として、描画オブジェクトの描画順を決定する描画順決定処理を実行する。
(描画順決定処理)
ここで、本実施形態の描画順決定処理について、図7のフローチャートを用いて詳細を説明する。なお、以下の説明では第1GPU105で描画を行う1つのグループのゲーム画面を対象として、該ゲーム画面に含まれる描画オブジェクトに対して描画順を決定する処理について説明するが、他のGPUについても同様に処理すればよいことは容易に理解されよう。
S701で、CPU101は、第1GPU105で描画を行う1つのグループのゲーム画面に含まれる全描画オブジェクトについて、2つの描画オブジェクトで構成される全ての組み合わせのペアを作成する。
S702で、CPU101は、S701で作成された全てのペアについて、詳細情報の優先度が高い属性の順に傾斜配分された得点を用いて、2つの描画オブジェクトの詳細情報の一致度をスコアリングする。本実施形態では詳細情報により示される各データの属性について、以下の順番で優先度が設けられる。
1.テクスチャデータを特定する識別情報
2.モデルデータを特定する識別情報
3.使用する描画用プログラムの指定情報
4.描画用プログラムで用いられる演算用データの指定情報
詳細情報により示される各データの属性の優先度は、該属性のデータを読み出してキャッシュメモリに展開した際の、メモリ上のデータサイズに応じて定められている。上位の属性のデータほどデータサイズが大きく、異なるデータに切り替えた際にキャッシュメモリへの展開、キャッシュメモリからの新規読み出し、及びパラメータの設定等に時間を要する、即ち切り替えコストが高い属性のデータとなる。つまり、優先度の高い属性のデータについて切り替え頻度を低くする(再利用頻度を高くする)描画順で描画を行うことで、切り替えコストを効率的に低減することができる。
即ち、本ステップのスコアリングにより、詳細情報の一致度が高い、即ち優先度の高い属性データについて最利用頻度を高くすることで切り替えコストが低くなる描画オブジェクトのペアほど、高いスコアが付される。
S703で、CPU101は、全てのペアについての一致度のスコアを参照し、第1GPU105で描画を行う1つのグループのゲーム画面に含まれる全描画オブジェクトの描画順を決定する。具体的にはCPU101は、全描画オブジェクトを描画順に並べた場合に連続する描画オブジェクトの組み合わせについてのスコアの総和が最も高くなる描画順を決定する。
ここで、具体的な描画順の決定手順について図を用いて詳細を説明する。なお、以下では説明を簡単にするために、上述した詳細情報の4つの属性のうち、テクスチャデータ及びモデルデータの一致度を考慮して描画順を決定する方法について説明する。
図8は、S703における描画オブジェクトの描画順決定手順の例に用いられる、各クライアント機器に提供するゲーム画面に含まれる描画オブジェクトを示している。図8の例では3つのクライアント機器に提供するゲーム画面を同一のGPUで生成する場合を示しており、各ゲーム画面に2つの描画オブジェクト、計6つの描画オブジェクトの描画をGPUが行う。
CPU101により、全てのオブジェクトについて組み合わせ可能なペアを生成すると、その数は=15になる。即ち、CPU101は15通りのペアの全てについて、一致度のスコアリングを行う。本実施形態では、詳細情報の各属性が一致した場合の加点は、テクスチャデータの一致を2点、モデルデータの一致を1点として計算する。このとき、各ペアのスコアは図9のようになる。
CPU101は、まず最高点3のスコアを有するペアに着目する。本例では、最高点3を有するペアは(A−1,B−1)、(A−1,C−2)、及び(B−1,C−2)の3つである。このとき最高点を有するペアの数と、該ペアを構成する描画オブジェクト(3点オブジェクト)の数が等しいため、該ペアは全て同一の詳細情報を有する3点オブジェクトで構成されていることがわかる。そしてCPU101は、3点オブジェクトの各々について、該オブジェクトを含む他のペアのスコアを参照し、まず3点オブジェクトの描画順を決定する。
3点オブジェクトを含む他のペアのスコアは、図9に示されるように次点の2か、A−2とのペアのスコア0である。即ち、描画順において3点オブジェクトに続く描画オブジェクトとして、A−2以外の描画オブジェクトを割り当てる場合は、描画オブジェクトに依らず切り替えコストは同一になる。このためCPU101は、上述した3つの3点オブジェクトの描画順を特に考慮せず、例えば識別情報のソート順で順番を決定する。
なお、このとき次点を有するペアが1つしかなかった場合は、3つの3点オブジェクトのうち、該ペアに含まれる描画オブジェクトが3点オブジェクトの描画順において最後である3番目に決定され、4番目に該ペアに含まれる他方の描画オブジェクトが割り当てられる。
同様にCPU101は、次点のペアに含まれる3点オブジェクト以外の描画オブジェクト(2点オブジェクトB−2,C−1)についての描画順を決定する。図9に示されるように、2点オブジェクトを含む次点以下のペアは、描画オブジェクトA−2とのペアのみである。図示されるように描画オブジェクトA−2は2点オブジェクトのB−2とのペアのスコアのみ1である。このため、2点オブジェクトのうち描画オブジェクトB−2は、2点オブジェクトの中で最後の描画順である5番目に決定され、描画オブジェクトA−2は6番目に決定される。
CPU101は、このような判断を繰り返すことにより、1つのグループのゲーム画面に含まれる全ての描画オブジェクトについて、描画順を決定できる。本例では、最終的には図10に示されるようにA−1→B−1→C−2→C−1→B−2→A−2として、CPU101は描画順を決定する。
このようにすることで、1つのグループに分類されたゲーム画面に含まれる全描画オブジェクトに対して、切り替えコストを抑えた描画順を割り当てることができる。なお、描画順の割り当てについては、例えば描画順に描画オブジェクトの識別情報を関連付け、リストとして例えばRAM103に記憶すればよい。
S602における描画順決定処理が完了した後、CPU101はS603で、決定した描画順に従って描画オブジェクトの描画を行い、各クライアント機器300に提供するゲーム画面を生成する。具体的にはCPU101は、描画順に従って描画オブジェクトの詳細情報を参照し、該詳細情報により特定されるデータを記録媒体104から読み出して描画を行うGPUに転送する。このときCPU101は、既に展開領域に展開されているデータと異なるデータのみを読み出して転送し、既に展開されているデータと共通のデータについては読み出しを行わず、既に展開されているデータを利用する。
なお、ゲーム画面の生成には、各描画オブジェクトの座標情報や動作情報を含む状態情報、及びカメラパラメータを含むゲーム画面の描画範囲及び表示設定の情報が使用されるが、これらの使用は公知の処理内容であるため説明を省略する。
S604で、CPU101は、各GPUが生成したゲーム画面について、ヘッダ部に提供するクライアント機器の識別情報を付し、通信部113を介してセンタサーバ200に送信する。
このようにすることで、切り替えコストを抑えて描画処理を行えるため、ユーザの操作入力に対して、より応答性に優れたゲーム画面を、クライアント機器を操作するユーザに提供することができる。
なお、本実施形態では単に「ゲーム画面」をセンタサーバ200からクライアント機器300に対して送信するものとして説明した。しかしながら「ゲーム画面」は、単に静止画像データであってもよいが、フレーム間予測等の更にデータサイズを減少させる符号化処理が適用された、動画データのフレーム画像データとして送信されてもよい。符号化処理については、描画サーバ100及びセンタサーバ200のいずれで行われてもよいことは言うまでもない。
また、本実施形態では多人数同時参加型のネットワークゲームを例に、本発明の実施を説明した。しかしながら上述したように、本発明は1以上のクライアント機器に提供する画面を同時に作成することが可能な任意の機器及びシステムに適用可能なものであり、本発明の実施はこれに限られるものではない。例えば、描画システムにおいて、各クライアント機器に対してシングルユーザ対応のゲームコンテンツを独立して提供する場合、複数のクライアント機器には類似するゲーム画面が出力される可能性がある。即ち、マップ上の位置や方向が類似する、ゲームの進行が類似する、あるいは同一の動作を実行している場合に提供されるゲーム画面内には、共通する描画オブジェクトが含まれると考えられるため、本発明の適用により描画処理に係る効率化が図れる。
また、本実施形態では描画システムにおいて描画サーバ100とセンタサーバ200とは分離されているものとして説明したが、本発明の実施はこれに限られない。即ち、本発明は描画サーバ100及びセンタサーバ200の機能を有する1つのサーバによって実施されてもよい。
以上説明したように、本実施形態の描画制御装置は、1以上のクライアント機器に対してゲーム画面を提供する描画システムにおいて、応答性に優れた効率的な描画処理を行うことができる。具体的には描画制御装置は、クライアント機器に対して提供する画面の生成に用いられる複数の描画オブジェクトの各々について、識別情報と描画に必要となるデータを示す詳細情報とを取得する。そして複数の描画オブジェクトの各々の詳細情報を参照して、詳細情報により示される少なくとも一部のデータが共通である描画オブジェクトに対して連続する描画順を割り当てるように、全描画オブジェクトの描画順を決定する。描画制御装置は、描画順に従って描画オブジェクトの詳細情報により示されるデータを読み出し、GPUに転送する。このとき、描画順において連続する描画オブジェクトの詳細情報により示されるデータのうち、既にGPUに転送されたデータと共通でないデータについてのみ読み出して転送する。
このようにすることで、ゲーム画面の描画処理に要する時間を低減し、効率的な描画を行うことができる。
[変形例]
上述した実施形態では、1つのグループに分類されたゲーム画面に含まれる全ての描画オブジェクトについて、全組み合わせのペアを作ってスコアリングした上で、描画順を決定する描画順決定処理について説明した。本変形例では、詳細情報の優先度が高い属性の順に描画オブジェクトをソートして分類することにより、簡易的にスコアリングを行う方法について説明する。
(描画順決定処理)
以下、本変形例の描画順決定処理について、図11のフローチャートを用いて詳細を説明する。なお、以下の説明では第1GPU105で描画を行う1つのグループのゲーム画面を対象として、該ゲーム画面に含まれる描画オブジェクトに対して描画順を決定する処理について説明するが、他のGPUについても同様に処理すればよいことは容易に理解されよう。
S1101で、CPU101は、第1GPU105で描画を行う1つのグループのゲーム画面に含まれる全描画オブジェクトについて、詳細情報により示される、優先度が高い属性の順に傾斜配分された得点によるスコアリングを1番高い属性のデータで分類する。本変形例でも詳細情報により示される各データの属性については、以下の順番で優先度が設けられる。
1.テクスチャデータを特定する識別情報
2.モデルデータを特定する識別情報
3.使用する描画用プログラムの指定情報
4.描画用プログラムで用いられる演算用データの指定情報
即ち、本ステップではCPU101は、テクスチャデータを特定する識別情報で全描画オブジェクトを分類する。
S1102で、CPU101は、S1101での分類により生成された同一のテクスチャデータを使用する描画オブジェクトの各集合について属するメンバ数を参照し、メンバ数が1である集合を特定する。そしてCPU101は、メンバ数が1である集合の描画オブジェクトを1つの集合(テクスチャ不一致集合)に統合する。
S1103で、CPU101は、同一のテクスチャデータを使用する描画オブジェクトの集合及びテクスチャ不一致集合について、優先度が2番目に高いモデルデータを特定する識別情報で各集合の描画オブジェクトを分類する。即ち、本ステップにより、同一のテクスチャデータを使用する描画オブジェクトの集合及びテクスチャ不一致集合の各々に属する描画オブジェクトは、同一のモデルデータを使用する描画オブジェクトの子集合に分類される。
S1104で、CPU101は、S1103での分類により生成された同一のモデルデータを使用する描画オブジェクトの各集合について属するメンバ数を参照し、メンバ数が1である集合を特定する。そしてCPU101は、同一のテクスチャデータを使用する描画オブジェクトの集合及びテクスチャ不一致集合の各々において、メンバ数が1である集合の描画オブジェクトを1つの集合(モデル不一致集合)に統合する。
S1105で、CPU101は、集合分類が行われていない属性が存在するか否かを判断する。集合分類が行われていない属性が存在する場合、CPU101は集合分類が行われていない属性を優先度順に選択し、処理をS1103に戻す。即ち、次は同一のモデルデータを使用する描画オブジェクトの集合及びモデル不一致集合について、描画用プログラムの指定情報で各集合の描画オブジェクトを分類する。
このように、S1101、S1102、及びS1103乃至S1105の繰り返し処理を行うことで詳細情報により示される各データの属性ごとに分類を行い、最終的に詳細情報により示されるデータのうち、少なくともいずれかのデータが一致する描画オブジェクトを集合にまとめることができる。
なお、本ステップにおいてCPU101は、集合分類が行われていない属性が存在しないと判断した場合は、処理をS1106に移す。
S1106で、CPU101は、第1GPU105で描画を行う1つのグループのゲーム画面に含まれる、全描画オブジェクトに対して描画順を決定する。つまりCPU101は、S1101乃至S1105で行われた描画オブジェクトの分類の情報に従い、切り替えコストが低い描画順を決定する。
具体的にはCPU101は、まず優先度が1番高い「テクスチャデータを特定する識別情報」について分類された集合のうち、テクスチャ不一致集合以外の1つの集合を選択する。そして該集合に含まれる子集合を順に選択して、該子集合内の描画オブジェクトに描画順を割り当てていく。このとき子集合の選択順は、例えば2進数を用いて集合を表し、該値の降順に集合を選択すればよい。例えば、優先度が2番目に高い属性が同一である集合については2、優先度が3番目に高い属性が同一である集合については2、優先度が4番目に高い属性が同一である集合については2、優先度が1番低い属性が同一である集合については2を加点するスコアリングを行い、スコアの降順で描画順を決定すればよい。
また、1つの「テクスチャデータを特定する識別情報」について分類された集合に対して、描画オブジェクトの描画順の決定が完了した場合、次の同一のテクスチャデータを使用する集合について同様に描画順を決定する。また、テクスチャ不一致集合以外の集合に対して、描画オブジェクトの描画順の決定が完了した場合、テクスチャ不一致集合に含まれる描画オブジェクトについても同様に描画順を決定する。
このようにすることで、全描画オブジェクトに対して、切り替えコストを抑えた描画順を割り当てることができる。

Claims (15)

  1. 複数の画面の描画処理を並行実行する1以上の描画手段を有するコンピュータを含む1以上のコンピュータに、
    前記複数の画面のうち、1つの前記描画手段の描画対象とする少なくとも2つの画面を指定する処理と、
    指定された前記少なくとも2つの画面の各々の描画処理において展開が必要となるデータを特定する処理と、
    共通する属性を有するデータの描画順が連続するように、前記少なくとも2つの画面の描画処理を並行実行する際の、特定された前記展開が必要となるデータの描画順を決定する処理と、
    を実行させるプログラムであって、
    前記展開が必要となるデータは、画面の生成に用いられる描画オブジェクトの識別情報、及び該描画オブジェクトの描画において展開が必要となるデータを示す詳細情報であって該描画オブジェクトの描画に必要となる複数の属性を含む詳細情報、を含み、
    前記決定する処理において、
    前記詳細情報に含まれる少なくとも一部の属性が共通である描画オブジェクトに対して連続する描画順が割り当てられ、
    優先度が高い属性が共通である描画オブジェクトに対して描画順が優先的に割り当てられるプログラム
  2. 前記優先度は、前記詳細情報により示される属性に対応するデータのデータ量が大きい属性ほど高く設定される請求項に記載のプログラム。
  3. 複数の画面の描画処理を並行実行する1以上の描画手段を有するコンピュータを含む1以上のコンピュータに、
    前記複数の画面のうち、1つの前記描画手段の描画対象とする少なくとも2つの画面を指定する処理と、
    指定された前記少なくとも2つの画面の各々の描画処理において展開が必要となるデータを特定する処理と、
    共通する属性を有するデータの描画順が連続するように、前記少なくとも2つの画面の描画処理を並行実行する際の、特定された前記展開が必要となるデータの描画順を決定する処理と、
    を実行させるプログラムであって、
    前記展開が必要となるデータは、画面の生成に用いられる描画オブジェクトの識別情報、及び該描画オブジェクトの描画において展開が必要となるデータを示す詳細情報であって該描画オブジェクトの描画に必要となる複数の属性を含む詳細情報、を含み、
    前記決定する処理において、
    前記詳細情報に含まれる少なくとも一部の属性が共通である描画オブジェクトに対して連続する描画順が割り当てられ、
    共通する属性の数が多い描画オブジェクトに対して描画順が優先的に割り当てられるプログラム。
  4. 複数の画面の描画処理を並行実行する1以上の描画手段を有するコンピュータを含む1以上のコンピュータに、
    前記複数の画面のうち、1つの前記描画手段の描画対象とする少なくとも2つの画面を指定する処理と、
    指定された前記少なくとも2つの画面の各々の描画処理において展開が必要となるデータを特定する処理と、
    共通する属性を有するデータの描画順が連続するように、前記少なくとも2つの画面の描画処理を並行実行する際の、特定された前記展開が必要となるデータの描画順を決定する処理と、
    を実行させるプログラムであって、
    前記展開が必要となるデータは、画面の生成に用いられる描画オブジェクトの識別情報、及び該描画オブジェクトの描画において展開が必要となるデータを示す詳細情報であって該描画オブジェクトの描画に必要となる複数の属性を含む詳細情報、を含み、
    前記複数の属性の各々には異なる点数が設定され、
    前記決定する処理において、
    前記詳細情報に含まれる少なくとも一部の属性が共通である描画オブジェクトに対して連続する描画順が割り当てられ、
    異なる描画オブジェクトの組み合わせについて共通する属性の点数を総和して得られた得点に基づいて描画順が決定されるプログラム。
  5. 前記決定する処理において、前記得られた得点の高い順に描画順が決定される請求項に記載のプログラム。
  6. 前記指定する処理において、前記複数の画面のうち描画に係る所定の条件が共通する画面が前記少なくとも2つの画面として指定される請求項1乃至5のいずれか1項に記載のプログラム。
  7. 前記描画に係る所定の条件は、描画範囲を規定するカメラパラメータ、描画範囲に含まれる描画オブジェクトの属性、画面に係るゲームコンテンツにおいて発生しているイベント情報、及び画面に係るゲームコンテンツにおける進行状況の少なくともいずれかである請求項に記載のプログラム。
  8. 決定された描画順に基づいて前記展開が必要となるデータを読み出す処理をさらに前記1以上のコンピュータに実行させる請求項1乃至のいずれか1項に記載のプログラム。
  9. 請求項1乃至のいずれか1項に記載のプログラムを記録したコンピュータが読み取り可能な記録媒体。
  10. 複数の画面の描画処理を並行実行する1以上の描画手段の動作を制御する情報処理装置であって、
    前記複数の画面のうち、1つの前記描画手段の描画対象とする少なくとも2つの画面を指定する指定手段と、
    前記指定手段により指定された前記少なくとも2つの画面の各々の描画処理において展開が必要となるデータを特定する特定手段と、
    共通する属性を有するデータの描画順が連続するように、前記少なくとも2つの画面の描画処理を並行実行する際の、特定された前記展開が必要となるデータの描画順を決定する決定手段と、を有し、
    前記展開が必要となるデータは、画面の生成に用いられる描画オブジェクトの識別情報、及び該描画オブジェクトの描画において展開が必要となるデータを示す詳細情報であって該描画オブジェクトの描画に必要となる複数の属性を含む詳細情報、を含み、
    前記決定手段は、
    前記詳細情報に含まれる少なくとも一部の属性が共通である描画オブジェクトに対して連続する描画順を割り当て、
    優先度が高い属性が共通である描画オブジェクトに対して描画順を優先的に割り当てる情報処理装置。
  11. 複数の画面の描画処理を並行実行する1以上の描画手段の動作を制御する情報処理装置であって、
    前記複数の画面のうち、1つの前記描画手段の描画対象とする少なくとも2つの画面を指定する指定手段と、
    前記指定手段により指定された前記少なくとも2つの画面の各々の描画処理において展開が必要となるデータを特定する特定手段と、
    共通する属性を有するデータの描画順が連続するように、前記少なくとも2つの画面の描画処理を並行実行する際の、特定された前記展開が必要となるデータの描画順を決定する決定手段と、を有し、
    前記展開が必要となるデータは、画面の生成に用いられる描画オブジェクトの識別情報、及び該描画オブジェクトの描画において展開が必要となるデータを示す詳細情報であって該描画オブジェクトの描画に必要となる複数の属性を含む詳細情報、を含み、
    前記決定手段は、
    前記詳細情報に含まれる少なくとも一部の属性が共通である描画オブジェクトに対して連続する描画順を割り当て、
    共通する属性の数が多い描画オブジェクトに対して描画順を優先的に割り当てる情報処理装置。
  12. 複数の画面の描画処理を並行実行する1以上の描画手段の動作を制御する情報処理装置であって、
    前記複数の画面のうち、1つの前記描画手段の描画対象とする少なくとも2つの画面を指定する指定手段と、
    前記指定手段により指定された前記少なくとも2つの画面の各々の描画処理において展開が必要となるデータを特定する特定手段と、
    共通する属性を有するデータの描画順が連続するように、前記少なくとも2つの画面の描画処理を並行実行する際の、特定された前記展開が必要となるデータの描画順を決定する決定手段と、を有し、
    前記展開が必要となるデータは、画面の生成に用いられる描画オブジェクトの識別情報、及び該描画オブジェクトの描画において展開が必要となるデータを示す詳細情報であって該描画オブジェクトの描画に必要となる複数の属性を含む詳細情報、を含み、
    前記複数の属性の各々には異なる点数が設定され、
    前記決定手段は、
    前記詳細情報に含まれる少なくとも一部の属性が共通である描画オブジェクトに対して連続する描画順を割り当て、
    異なる描画オブジェクトの組み合わせについて共通する属性の点数を総和して得られた得点に基づいて描画順決定する情報処理装置。
  13. 複数の画面の描画処理を並行実行する1以上の描画手段の動作の制御方法であって、
    前記複数の画面のうち、1つの前記描画手段の描画対象とする少なくとも2つの画面を指定し、
    指定された前記少なくとも2つの画面の各々の描画処理において展開が必要となるデータを特定し、
    共通する属性を有するデータの描画順が連続するように、前記少なくとも2つの画面の描画処理を並行実行する際の、特定された前記展開が必要となるデータの描画順を決定する制御方法であって、
    前記展開が必要となるデータは、画面の生成に用いられる描画オブジェクトの識別情報、及び該描画オブジェクトの描画において展開が必要となるデータを示す詳細情報であって該描画オブジェクトの描画に必要となる複数の属性を含む詳細情報、を含み、
    前記描画順の決定において、
    前記詳細情報に含まれる少なくとも一部の属性が共通である描画オブジェクトに対して連続する描画順が割り当てられ、
    優先度が高い属性が共通である描画オブジェクトに対して描画順が優先的に割り当てられる制御方法
  14. 複数の画面の描画処理を並行実行する1以上の描画手段の動作の制御方法であって、
    前記複数の画面のうち、1つの前記描画手段の描画対象とする少なくとも2つの画面を指定し、
    指定された前記少なくとも2つの画面の各々の描画処理において展開が必要となるデータを特定し、
    共通する属性を有するデータの描画順が連続するように、前記少なくとも2つの画面の描画処理を並行実行する際の、特定された前記展開が必要となるデータの描画順を決定する制御方法であって、
    前記展開が必要となるデータは、画面の生成に用いられる描画オブジェクトの識別情報、及び該描画オブジェクトの描画において展開が必要となるデータを示す詳細情報であって該描画オブジェクトの描画に必要となる複数の属性を含む詳細情報、を含み、
    前記描画順の決定において、
    前記詳細情報に含まれる少なくとも一部の属性が共通である描画オブジェクトに対して連続する描画順が割り当てられ、
    共通する属性の数が多い描画オブジェクトに対して描画順が優先的に割り当てられる制御方法。
  15. 複数の画面の描画処理を並行実行する1以上の描画手段の動作の制御方法であって、
    前記複数の画面のうち、1つの前記描画手段の描画対象とする少なくとも2つの画面を指定し、
    指定された前記少なくとも2つの画面の各々の描画処理において展開が必要となるデータを特定し、
    共通する属性を有するデータの描画順が連続するように、前記少なくとも2つの画面の描画処理を並行実行する際の、特定された前記展開が必要となるデータの描画順を決定する制御方法であって、
    前記展開が必要となるデータは、画面の生成に用いられる描画オブジェクトの識別情報、及び該描画オブジェクトの描画において展開が必要となるデータを示す詳細情報であって該描画オブジェクトの描画に必要となる複数の属性を含む詳細情報、を含み、
    前記複数の属性の各々には異なる点数が設定され、
    前記描画順の決定において、
    前記詳細情報に含まれる少なくとも一部の属性が共通である描画オブジェクトに対して連続する描画順が割り当てられ、
    異なる描画オブジェクトの組み合わせについて共通する属性の点数を総和して得られた得点に基づいて描画順が決定される制御方法。
JP2012170334A 2011-05-25 2012-07-31 プログラム、記録媒体、情報処理装置及び制御方法 Active JP6026169B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161489761P 2011-05-25 2011-05-25
US61/489761 2011-05-25
JP2011260976A JP5076132B1 (ja) 2011-05-25 2011-11-29 描画制御装置、その制御方法、プログラム、記録媒体、描画サーバ、及び描画システム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011260976A Division JP5076132B1 (ja) 2011-05-25 2011-11-29 描画制御装置、その制御方法、プログラム、記録媒体、描画サーバ、及び描画システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015040655A Division JP5937711B2 (ja) 2011-05-25 2015-03-02 プログラム、記録媒体、情報処理装置及び制御方法

Publications (3)

Publication Number Publication Date
JP2012245363A JP2012245363A (ja) 2012-12-13
JP2012245363A5 JP2012245363A5 (ja) 2014-10-16
JP6026169B2 true JP6026169B2 (ja) 2016-11-16

Family

ID=47262860

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2011260976A Active JP5076132B1 (ja) 2011-05-25 2011-11-29 描画制御装置、その制御方法、プログラム、記録媒体、描画サーバ、及び描画システム
JP2012170334A Active JP6026169B2 (ja) 2011-05-25 2012-07-31 プログラム、記録媒体、情報処理装置及び制御方法
JP2015040655A Active JP5937711B2 (ja) 2011-05-25 2015-03-02 プログラム、記録媒体、情報処理装置及び制御方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2011260976A Active JP5076132B1 (ja) 2011-05-25 2011-11-29 描画制御装置、その制御方法、プログラム、記録媒体、描画サーバ、及び描画システム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2015040655A Active JP5937711B2 (ja) 2011-05-25 2015-03-02 プログラム、記録媒体、情報処理装置及び制御方法

Country Status (7)

Country Link
US (2) US8698813B2 (ja)
EP (1) EP2556493A4 (ja)
JP (3) JP5076132B1 (ja)
KR (1) KR101342228B1 (ja)
CN (1) CN103098099B (ja)
CA (1) CA2768900C (ja)
WO (1) WO2012161102A1 (ja)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9044677B2 (en) * 2011-07-11 2015-06-02 Roblox Corporation System for optimizing processing capacity for a group of gaming appliances engaged in play of an online game
JP5155462B2 (ja) 2011-08-17 2013-03-06 株式会社スクウェア・エニックス・ホールディングス 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
JP5937957B2 (ja) 2011-12-05 2016-06-22 株式会社スクウェア・エニックス リアルタイム大局照明レンダリングシステム
KR101640904B1 (ko) 2012-02-07 2016-07-19 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 온라인 게이밍 경험을 제공하기 위한 컴퓨터 기반 방법, 기계 판독가능 비일시적 매체 및 서버 시스템
CN103392189B (zh) 2012-02-23 2017-10-31 史克威尔·艾尼克斯控股公司 动态图像传输服务器、动态图像播放装置以及控制方法
KR20150003406A (ko) 2012-04-12 2015-01-08 가부시키가이샤 스퀘어.에닉스.홀딩스 동화상 배포 서버, 동화상 재생 장치, 제어 방법, 기록 매체, 및 동화상 배포 시스템
US9751011B2 (en) * 2012-05-25 2017-09-05 Electronics Arts, Inc. Systems and methods for a unified game experience in a multiplayer game
JP2014008158A (ja) 2012-06-28 2014-01-20 Square Enix Holdings Co Ltd ゲームシステム及びその制御方法
US8961302B2 (en) 2012-07-20 2015-02-24 Microsoft Technology Licensing, Llc Game browsing
US9381432B2 (en) 2012-08-24 2016-07-05 Microsoft Technology Licensing, Llc Game migration
US9717982B2 (en) 2012-12-21 2017-08-01 Microsoft Technology Licensing, Llc Client rendering of latency sensitive game features
US9526980B2 (en) 2012-12-21 2016-12-27 Microsoft Technology Licensing, Llc Client side processing of game controller input
WO2014123127A1 (en) * 2013-02-06 2014-08-14 Square Enix Holdings Co., Ltd. Image processing apparatus, method of controlling the same, program and storage medium
CA2860177A1 (en) * 2013-02-06 2014-08-14 Square Enix Holdings Co., Ltd. Information processing apparatus, method of controlling the same, program, and storage medium
JP6232423B2 (ja) * 2013-03-05 2017-11-15 株式会社スクウェア・エニックス・ホールディングス 情報処理装置、描画装置、方法及びプログラム
US9564102B2 (en) 2013-03-14 2017-02-07 Microsoft Technology Licensing, Llc Client side processing of player movement in a remote gaming environment
US9694277B2 (en) 2013-03-14 2017-07-04 Microsoft Technology Licensing, Llc Client side processing of character interactions in a remote gaming environment
EP3000232A4 (en) * 2013-05-23 2017-01-25 Kabushiki Kaisha Square Enix Holdings (also trading as Square Enix Holdings Co., Ltd) Dynamic allocation of rendering resources in a cloud gaming system
EP3025769A4 (en) * 2013-07-25 2017-03-22 Square Enix Holdings Co., Ltd. Image processing program, server device, image processing system, and image processing method
CN105453051B (zh) 2013-08-06 2018-12-28 史克威尔·艾尼克斯控股公司 信息处理设备、控制方法、程序以及记录介质
CN105556574A (zh) * 2013-09-11 2016-05-04 史克威尔·艾尼克斯控股公司 渲染设备、其渲染方法、程序和记录介质
EP3046079B1 (en) * 2013-09-13 2021-02-24 Square Enix Holdings Co., Ltd. Rendering device
US9582904B2 (en) 2013-11-11 2017-02-28 Amazon Technologies, Inc. Image composition based on remote object data
US9634942B2 (en) 2013-11-11 2017-04-25 Amazon Technologies, Inc. Adaptive scene complexity based on service quality
US9805479B2 (en) 2013-11-11 2017-10-31 Amazon Technologies, Inc. Session idle optimization for streaming server
US9641592B2 (en) 2013-11-11 2017-05-02 Amazon Technologies, Inc. Location of actor resources
US9604139B2 (en) 2013-11-11 2017-03-28 Amazon Technologies, Inc. Service for generating graphics object data
EP3068504A4 (en) * 2013-11-11 2017-06-28 Amazon Technologies Inc. Data collection for multiple view generation
US9374552B2 (en) 2013-11-11 2016-06-21 Amazon Technologies, Inc. Streaming game server video recorder
US9773293B2 (en) 2013-12-24 2017-09-26 Empire Technology Development Llc Composition data dispatcher
JP6310073B2 (ja) * 2013-12-26 2018-04-11 株式会社スクウェア・エニックス・ホールディングス 描画システム、制御方法、及び記憶媒体
WO2015097726A1 (ja) * 2013-12-26 2015-07-02 株式会社スクウェア・エニックス 描画システム、制御方法、プログラム、及び記録媒体
US9344733B2 (en) 2013-12-27 2016-05-17 Samsung Electronics Co., Ltd. Feature-based cloud computing architecture for physics engine
WO2015104847A1 (en) * 2014-01-09 2015-07-16 Square Enix Holdings Co., Ltd. Online game server architecture using shared rendering
JP6265337B2 (ja) * 2014-06-03 2018-01-24 株式会社スクウェア・エニックス プログラム、記録媒体及び描画装置決定方法
US20160044139A1 (en) * 2014-08-07 2016-02-11 Hsiu-Ping Lin Methods and systems for communications between apps and virtual machines
JP6308299B2 (ja) * 2014-08-12 2018-04-11 ソニー株式会社 情報処理装置の制御方法、撮像装置、及びプログラム
WO2016073035A1 (en) * 2014-11-05 2016-05-12 Super League Gaming, Inc. Game system
US20160259453A1 (en) * 2015-03-06 2016-09-08 Sony Computer Entertainment America Llc Dynamic adjustment of cloud game data streams to output device and network quality
US11071919B2 (en) * 2015-06-30 2021-07-27 Amazon Technologies, Inc. Joining games from a spectating system
US20170140570A1 (en) * 2015-11-13 2017-05-18 Intel Corporation Facilitating efficeint centralized rendering of viewpoint-agnostic graphics workloads at computing devices
US10456672B2 (en) 2016-05-19 2019-10-29 Google Llc Methods and systems for facilitating participation in a game session
CN106227709B (zh) * 2016-07-14 2019-03-29 北京小米移动软件有限公司 细线绘制方法、装置及终端
CN107789836B (zh) * 2016-09-06 2021-03-26 盛趣信息技术(上海)有限公司 一种在线游戏千人同屏的实现方法以及客户端
JP6550418B2 (ja) * 2017-04-03 2019-07-24 エンパイア テクノロジー ディベロップメント エルエルシー オンラインゲーム
US10290141B2 (en) 2017-04-17 2019-05-14 Intel Corporation Cloud based distributed single game calculation of shared computational work for multiple cloud gaming client devices
CN110678239B (zh) 2017-10-10 2024-02-09 谷歌有限责任公司 利用游戏元数据和量度的分布式基于样本的游戏剖析以及支持第三方内容的游戏api平台
US11140207B2 (en) 2017-12-21 2021-10-05 Google Llc Network impairment simulation framework for verification of real time interactive media streaming systems
JP7005763B2 (ja) 2018-03-22 2022-01-24 グーグル エルエルシー オンラインインタラクティブゲーミングセッションのコンテンツをレンダリングおよび符号化するための方法およびシステム
KR20230017925A (ko) 2018-04-02 2023-02-06 구글 엘엘씨 대화형 클라우드 게임용 방법, 디바이스 및 시스템
EP3740292A2 (en) 2018-04-02 2020-11-25 Google LLC Input device for an electronic system
US11077364B2 (en) 2018-04-02 2021-08-03 Google Llc Resolution-based scaling of real-time interactive graphics
KR102614649B1 (ko) * 2018-04-10 2023-12-14 구글 엘엘씨 게이밍 렌더링에서의 메모리 관리
US11260295B2 (en) 2018-07-24 2022-03-01 Super League Gaming, Inc. Cloud-based game streaming
EP3807766B1 (en) 2018-11-16 2021-10-27 Google LLC Shadow tracking of real-time interactive simulations for complex system analysis
US20220212100A1 (en) * 2021-01-04 2022-07-07 Microsoft Technology Licensing, Llc Systems and methods for streaming interactive applications

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3548396B2 (ja) 1997-09-24 2004-07-28 キヤノン株式会社 描画処理装置、描画処理方法、及び記憶媒体
JP3078792B1 (ja) * 1999-03-31 2000-08-21 株式会社スクウェア ポリゴン画像生成装置、ポリゴン画像生成方法、コンピュータ読取可能な記録媒体及びコンピュータデータ信号
JP3605317B2 (ja) 1999-06-07 2004-12-22 株式会社ソニー・コンピュータエンタテインメント 画像描画方法、画像描画装置及び記録媒体
JP2001067062A (ja) * 1999-08-24 2001-03-16 Enix Corp 画像表示装置、方法および記録媒体
JP3871011B2 (ja) 1999-09-06 2007-01-24 富士ゼロックス株式会社 情報処理装置および情報処理方法
US7184038B2 (en) 1999-09-24 2007-02-27 Sun Microsystems, Inc. Using render bin parallelism for rendering scene graph based graphics data
US6734852B2 (en) * 1999-09-24 2004-05-11 Sun Microsystems, Inc. Using rendering molecules to manage scene-based rendering
JP2001331792A (ja) 2000-05-18 2001-11-30 Canon Inc 画像処理装置及び画像処理方法、記憶媒体
JP4047011B2 (ja) * 2002-01-10 2008-02-13 三菱電機株式会社 サーバ及び伝送システム及び歩行方向予測方法及び移動方向予測方法
JP4409956B2 (ja) * 2002-03-01 2010-02-03 ティーファイヴ ラブズ リミテッド 集中型対話グラフィカルアプリケーションサーバ
JP2004258264A (ja) * 2003-02-25 2004-09-16 Matsushita Electric Works Ltd 画面作成方法、画面作成装置、表示器
JP4424008B2 (ja) * 2004-03-03 2010-03-03 ソニー株式会社 プログラム、データ処理装置およびその方法
KR100452089B1 (ko) 2004-06-23 2004-10-13 엔에이치엔(주) 게임 화면을 갱신하기 위한 오브젝트를 로딩하는 이미지리소스 로딩 시스템 및 이미지 리소스 로딩 방법
JP2006252292A (ja) * 2005-03-11 2006-09-21 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
JP4663363B2 (ja) * 2005-03-18 2011-04-06 シャープ株式会社 表示装置、表示プログラム、および表示プログラムを記録する記録媒体
WO2007004837A1 (en) * 2005-07-01 2007-01-11 Nhn Corporation Method for rendering objects in game engine and recordable media recording programs for enabling the method
US20070013694A1 (en) * 2005-07-13 2007-01-18 Microsoft Corporation Optimized meshlet ordering
EP1958163A4 (en) 2005-12-08 2011-08-17 Agency 9 Ab METHOD FOR REPRODUCING A ROOT-FREE SCENE GRAPH WITH A USER-CONTROLLED ORDER OF THE PLAYBACK
US8319781B2 (en) * 2007-11-23 2012-11-27 Pme Ip Australia Pty Ltd Multi-user multi-GPU render server apparatus and methods
US8117617B2 (en) 2007-11-26 2012-02-14 Xerox Corporation Energy-aware print job management
JP2009132082A (ja) * 2007-11-30 2009-06-18 Canon Inc 画像形成装置
US8154553B2 (en) 2008-05-22 2012-04-10 Playcast Media System, Ltd. Centralized streaming game server
US8264493B2 (en) 2008-05-12 2012-09-11 Playcast Media Systems, Ltd. Method and system for optimized streaming game server
EP2364190B1 (en) 2008-05-12 2018-11-21 GameFly Israel Ltd. Centralized streaming game server
CN101369345B (zh) * 2008-09-08 2011-01-05 北京航空航天大学 一种基于绘制状态的多属性对象绘制顺序优化方法
US8411319B2 (en) 2009-03-30 2013-04-02 Sharp Laboratories Of America, Inc. Methods and systems for concurrent rendering of graphic-list elements

Also Published As

Publication number Publication date
US20140168226A1 (en) 2014-06-19
KR20130028084A (ko) 2013-03-18
EP2556493A1 (en) 2013-02-13
CN103098099A (zh) 2013-05-08
US20120299938A1 (en) 2012-11-29
JP2012245363A (ja) 2012-12-13
US9649561B2 (en) 2017-05-16
JP2012245347A (ja) 2012-12-13
KR101342228B1 (ko) 2013-12-16
CN103098099B (zh) 2016-06-22
CA2768900C (en) 2015-09-29
CA2768900A1 (en) 2012-11-25
EP2556493A4 (en) 2016-08-31
JP5076132B1 (ja) 2012-11-21
JP2015146198A (ja) 2015-08-13
JP5937711B2 (ja) 2016-06-22
US8698813B2 (en) 2014-04-15
WO2012161102A1 (en) 2012-11-29

Similar Documents

Publication Publication Date Title
JP6026169B2 (ja) プログラム、記録媒体、情報処理装置及び制御方法
JP7259033B2 (ja) 機械学習によって推進されるリソース配分
JP5977023B2 (ja) 描画システム、プログラム、及び記録媒体
JP6181917B2 (ja) 描画システム、描画サーバ、その制御方法、プログラム、及び記録媒体
CN109885367B (zh) 互动聊天实现方法、装置、终端和存储介质
JP5952403B2 (ja) 共有描画を用いるオンラインゲームサーバ構造
US9724610B2 (en) Creation and prioritization of multiple virtual universe teleports in response to an event
JP5559445B1 (ja) 描画システム、制御方法、プログラム、及び記録媒体
US11724191B2 (en) Network-based video game editing and modification distribution system
US11305193B2 (en) Systems and methods for multi-user editing of virtual content
CN103150699A (zh) 图形指令生成装置和图形指令生成方法
US8938681B2 (en) Method and system for filtering movements between virtual environments
JP3581673B2 (ja) 群集の移動を表現する方法、記憶媒体、および情報処理装置
JP7368770B1 (ja) 情報処理システム、情報処理装置およびプログラム
US9894145B2 (en) Method and system for filtering movements between virtual environments
KR100469820B1 (ko) 화면 갱신 방법 및 그 시스템
CN114885199B (zh) 实时互动方法、装置、电子设备、存储介质及系统
JP6265337B2 (ja) プログラム、記録媒体及び描画装置決定方法
JP6054677B2 (ja) 処理システム、情報処理装置、制御方法、プログラム、及び記録媒体
JP2022188633A (ja) 情報処理装置、プログラム、及びゲーム画像生成方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140829

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160506

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160513

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: 20161003

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161012

R150 Certificate of patent or registration of utility model

Ref document number: 6026169

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250