CN115605278A - 游戏流传输系统中的级别改变 - Google Patents

游戏流传输系统中的级别改变 Download PDF

Info

Publication number
CN115605278A
CN115605278A CN202080100865.9A CN202080100865A CN115605278A CN 115605278 A CN115605278 A CN 115605278A CN 202080100865 A CN202080100865 A CN 202080100865A CN 115605278 A CN115605278 A CN 115605278A
Authority
CN
China
Prior art keywords
game
instance
game program
executing
assets
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.)
Pending
Application number
CN202080100865.9A
Other languages
English (en)
Inventor
史蒂芬·D·戈高林
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN115605278A publication Critical patent/CN115605278A/zh
Pending legal-status Critical Current

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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • 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
    • 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/5526Game data structure
    • A63F2300/5533Game 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
    • 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/5526Game data structure
    • A63F2300/554Game data structure by saving game or status data

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

游戏流传输系统(100)同时执行游戏程序(109)的不同实例(111、112),每个实例采用不同硬件资源集合,包括不同本地存储器(432、433),诸如不同服务器(102、103)或不同的GPU的硬件资源。基于游戏状态,游戏流传输系统将渲染帧从与游戏级别相关联的第一硬件资源集合流传输到客户端设备,在该客户端设备中,渲染帧描绘虚拟环境的一部分。响应于来自游戏程序的游戏级别改变到新游戏级别的指示,游戏流传输系统将玩家状态(108)传输到另一硬件资源集合,并且开始从该另一硬件资源向客户端设备流传输渲染帧。

Description

游戏流传输系统中的级别改变
技术领域
背景技术
诸如游戏控制台或个人计算机的视频游戏系统允许用户与由游戏程序所生成的虚拟环境交互。用户经由游戏控制器或其它输入设备与游戏程序交互,并且响应于用户输入,游戏程序修改与游戏相关联的游戏状态。基于游戏内容,游戏程序改变针对用户所显示的虚拟环境的方面。因此,通过改变游戏状态的一系列输入,用户玩与游戏程序相关联的游戏。
为了为用户生成和显示虚拟环境,游戏程序采用游戏资产,例如存储的图形对象、纹理、声音文件等。为了快速访问游戏资产并且由此提供满意的用户体验,游戏程序通常将必要的资产存储在相对快速的存储器中,例如动态随机存取存储器(DRAM)。然而,许多游戏程序实现大的虚拟环境,其中与整个虚拟环境相关联的所有游戏资产不能存储在相对快速的存储器中。这种游戏程序通常采用“均衡(leveling)”方法,其中虚拟环境被分成相对离散的级别或世界。游戏程序将与虚拟环境相关联的整个资产集合存储在相对慢速的存储器中,例如一个或多个磁盘驱动器,而仅将与用户当前正在交互的级别相关联的那些资产加载到快速的存储器中。
响应于用户改变级别(即,用户提供指示要切换游戏级别的游戏输入),游戏程序将与新级别(被切换到的级别)相关联的游戏资产从慢速的存储器传输到快速的存储器。然而,该传输过程可能需要相对大量的时间,从而需要游戏程序暂停游戏流,诸如例如通过在传输发生的同时向用户显示“加载屏幕”。游戏流中的这种中断会负面地影响用户的游戏体验。
附图说明
通过参考附图,可以更好地理解本公开,并且其许多特征和优点对于本领域技术人员来说是明显的。在不同的附图中使用相同的附图标记表示相似或相同的项目。
图1是根据一些实施例的响应于游戏级别改变而在同时执行的游戏实例之间传输玩家状态信息的游戏流传输系统的框图。
图2是图示根据一些实施例的响应于游戏级别改变而传输玩家状态信息的图1的游戏流传输系统的示例的框图。
图3是根据一些实施例的与图1的游戏流传输系统的游戏程序相关联的玩家状态信息的框图。
图4是图示根据一些实施例的将与不同游戏级别相关联的资产预加载到不同服务器的图1的游戏流传输系统的示例的框图。
图5是根据一些实施例的响应游戏级别改变而在同时执行的游戏实例之间传输玩家状态信息的游戏流传输系统的方法的流程图。
具体实施方式
图1至图5图示了根据一些实施例的用于在游戏流传输系统中的级别切换期间改善用户体验的技术。游戏流传输系统同时执行游戏程序的不同实例,每个实例采用不同的硬件资源集合,包括不同的本地存储器,例如不同服务器或不同GPU的硬件资源。每个游戏实例将不同游戏级别的资源加载到对应的本地存储器。基于指示给定游戏级别的游戏状态,游戏流传输系统将渲染帧从与游戏级别相关联的第一硬件资源集合流传输到客户端设备,在客户端设备中渲染帧描绘虚拟环境的一部分。响应于来自游戏程序的游戏级别改变到新游戏级别的指示,游戏流传输系统将玩家状态传输到与新游戏级别相关联的第二硬件资源集合,并且开始将渲染帧从第二硬件资源集合传输到客户端设备。因此,游戏流传输系统减少或消除了游戏流被中断的时间量,从而改善了用户体验。
为了通过示例进一步说明,在一些实施例中,游戏流传输系统包括两个服务器,出于示例的目的被指定为服务器A和服务器B,并且在服务器A和服务器B中的每一个处同时执行游戏程序的实例。服务器A和B中的每一个将被分别指定为级别A和级别B的不同游戏级别的资产加载到本地DRAM存储器,使得可以快速地访问这些资产以渲染帧以用于流传输。客户端设备(例如,计算机或视频流传输设备)的用户发起游戏,并且最初访问级别A。因此,游戏流传输系统采用在服务器A处执行的游戏实例来基于存储在服务器A的本地存储器处的资产来生成表示与级别A相关联的虚拟环境的渲染帧,并且将这些渲染帧从服务器A流传输到客户端设备。此外,服务器A保持玩家状态信息,该玩家状态信息表示关于用户在当前游戏会话期间与游戏的交互的信息。
响应于要求游戏程序发起到级别B的级别改变的用户交互,游戏流传输系统将玩家状态传输到服务器B。服务器B处的游戏实例开始基于存储在服务器B的本地存储器处的资产来生成表示与级别B相关联的虚拟环境的渲染帧,并且将这些渲染帧从服务器B流传输到客户端设备。游戏流传输系统渲染帧的源中的改变从服务器A同步到服务器B,使得服务器中的改变对于客户端设备的用户来说是透明的。此外,因为服务器B已经将与级别B相关联的资产预加载到对应的本地存储器,所以服务器B可以开始相对快速地生成与级别B相关联的渲染帧。相反,常规系统必须从相对慢速的数据存储装置(例如,硬盘驱动器)加载每个新级别的资产,从而要求用户在从数据存储装置加载资产时暂停与游戏的交互。因此,通过将玩家状态传输到具有预加载的级别资产的不同游戏实例,游戏流传输系统减少了与改变游戏级别相关联的时间,从而改善了用户体验。
图1图示了根据一些实施例的游戏流传输系统100,其通常被配置成将所渲染的游戏内容从服务器集合101流传输到客户端设备104,并且响应于游戏级别改变而在同时执行的游戏实例之间传输玩家状态信息。
在所描绘的示例中,服务器集合101和客户端设备104经由网络110通信,其中网络110是分组交换网络或其它通常被配置成经由一个或多个路由器、服务器、通信塔(例如蜂窝通信塔)等或它们的任何组合传输数据(包括视频数据)的网络。因此,在各种实施例中,网络110是广域网(例如,因特网)、局域网等或它们的任何组合。
服务器集合101和客户端设备104通常被配置成共同地实现流传输的游戏会话,其中交互式游戏内容从服务器集合101流传输到客户端设备104。服务器集合101包括多个服务器,例如所图示的服务器102和103。服务器102、103中的每一个可以是实现本文进一步描述的功能的任何类型的计算机设备,诸如机架式服务器、集群服务器(即,在服务器设备的集群中实现的服务器设备)、移动服务器设备等或它们的组合。客户端设备104可以是能够向用户显示视频帧并且能够接收用户输入的任何计算机设备,并且因此可以是台式计算机或膝上型计算机、数字媒体播放器(例如,流媒体播放器)、游戏控制台、智能电话、平板计算机等。
为了支持在流传输的游戏会话期间将游戏内容流传输到客户端设备104,服务器102、103中的每一个包括多个处理单元,诸如中央处理单元(CPU)和图形处理单元(GPU)。CPU是处理单元,其通常被配置成执行以计算机程序的形式组织的通用指令集,以代表服务器执行任务。这种计算机程序的示例包括操作系统、虚拟机、数据安全程序(例如数据加密/解密程序)、网页、数据库程序等。
GPU是处理单元,其通常被配置成基于从CPU接收到的命令执行与图形和向量处理相关联的操作。例如,在执行一个或多个通用程序的过程中,CPU生成用于生成和操纵图形模型以用于显示的命令,并且将这些命令提供给GPU。作为响应,GPU通过执行一个或多个对应的图形操作来执行这些命令,从而操纵图形模型生成一个或多个帧以用于显示。在一些实施例中,由GPU生成的帧是准备好在显示设备处显示的渲染帧。
为了支持流传输的游戏内容的接收和显示,客户端设备104包括CPU和GPU(未图示)。这些模块中的每一个都类似于服务器102、103的对应模块。因此,例如,客户端设备104的CPU通常被配置成代表客户端设备104执行通用指令,诸如执行操作系统、web浏览器等中的一个或多个。应当理解,在一些实施例中,客户端设备104相对于服务器102、103来说通常具有相对较小的计算能力。因此,游戏流传输系统100利用服务器102、103的计算能力来将游戏内容流传输到客户端设备104,其中这些游戏内容的质量高于能够由客户端设备104单独生成的质量。
在操作中,客户端设备104响应于用户经由在客户端设备104处执行的计算机程序(未示出)(诸如经由web浏览器,专用游戏流传输程序,视频流传输服务程序等)请求游戏会话而发起游戏流传输会话。响应于用户请求,客户端设备经由网络110向服务器102发送游戏会话请求。作为响应,服务器102发起游戏程序109的执行。在一些实施例中,服务器102被配置成执行游戏程序库中的任何一个,并且由客户端设备104提供的请求指示要执行的游戏程序中的特定一个。
为了支持游戏流中减少的中断,响应于游戏会话请求,服务器102、103中的每一个发起游戏程序109的单独实例(分别指定为实例111和112)的执行。在一些实施例中,实例111和112中的每一个都包括要执行的游戏程序109的相同指令,但是采用不同的游戏资产来实现不同的游戏级别,如本文进一步描述的。特别地,在所图示的示例中,假设服务器102、103中的每一个被指定为采用不同的游戏资产(例如,不同的图形对象、纹理、音频文件等)来实现不同的游戏级别。
响应于用户发起游戏程序109,服务器102、103中的每一个分别发起实例111和112,并且将对应的游戏级别的资产从数据存储装置加载到本地存储器(图1中未示出),在本地存储器中可以相对快速地访问该资产。实例111和112中的每一个确定与用于当前游戏会话的游戏程序相关联的最初游戏级别。在一些实施例中,最初游戏级别可以是固定游戏级别。在其它实施例中,最初游戏级别可以由用户指示,或由所存储的游戏状态信息(例如保存文件)指示。与最初游戏级别相关联的服务器执行对应的游戏实例以生成用于流传输到客户端设备104的帧集合。另一个服务器可以进入暂停状态以等待玩家状态信息的传输,如下面进一步描述的。出于示例的目的,假定服务器102与最初游戏级别相关联。
在执行期间,实例111维护数据的集合,称为游戏状态,其表示游戏的条件或状态。客户端设备104的用户采用输入设备来提供输入数据。输入设备可以是键盘、游戏控制器、麦克风或其它输入设备,或它们的任意组合。客户端设备104经由网络110将输入数据通信到实例111。响应于输入数据,实例111根据由游戏程序109实现的特定游戏的规则来修改游戏状态。
基于游戏状态,并且根据所实现的游戏的规则,实例111采用服务器102的CPU和GPU来生成渲染帧,这些渲染帧表示诸如虚拟环境、游戏板、选择屏幕、平视显示器(HUD)等或它们的任何组合的可视游戏信息。服务器102将这些渲染帧(指定为流传输帧115)提供给网络110,以用于通信到客户端设备104。客户端设备104接收流传输帧115的至少一个子集,并且采用GPU来在显示器(未示出)处显示接收到的帧。因此,客户端设备104向用户显示视觉游戏信息,作为响应,该用户使用游戏控制器或其它输入设备来提供进一步输入数据,从而导致由游戏程序109维持的游戏状态的进一步改变以及帧流115的帧的对应改变。以此方式,客户端设备104的用户与游戏程序109交互从而玩在服务器102处执行的游戏。
当用户玩游戏时,实例111维持指定的玩家状态108的数据结构(例如,数据文件),其表示与当前游戏会话、与客户端设备104的用户、或与它们的任意组合唯一地相关联的游戏状态的一个方面。玩家状态108因此可以表示玩家分值、游戏角色的进展或状态、由用户所收集或修改的游戏项目、与游戏相关联的非玩家角色的状态等或它们的任何组合。
在玩游戏的同时,客户端设备的用户可以以与游戏程序109相关联的游戏级别的改变的一种或多种指示指定方式与游戏实例111交互。在一些实施例中,不同级别由游戏程序109的设计者或程序员确定,并且因此由程序本身响应于游戏级别改变指示来识别。游戏级别改变指示的示例包括用户经由输入设备选择特定游戏级别、指示指定进展的游戏角色的进展(例如,游戏角色移动到虚拟环境的新的或不同的部分)等。
在一些实施例中,当实例111确定新的或不同的游戏资产将被加载到本地存储器中时,指示游戏级别改变。例如,实例111可以保持生成流传输帧115所需的游戏资产的清单(manifest),并且可以基于游戏状态来更新清单。响应于确定清单中列出的游戏资产没有存储在本地存储器中,实例111可以识别出级别改变。
出于图1的示例的目的,假设游戏级别改变指示对与服务器103相关联的级别的改变。因此,响应于识别级别改变,游戏实例111将玩家状态108传输到服务器103。在一些实施例中,游戏实例111通过经由网络(例如网络110或连接服务器集合101的局域网)将玩家状态108通信到服务器103来传输玩家状态108。在一些实施例中,游戏实例111提供随玩家状态108的级别改变的指示。此外,游戏实例111可以向客户端设备104提供以下命令或其它指示:与游戏程序109相关联的用户输入将被定向到服务器103;以及客户端设备104将从服务器103接收与游戏程序109相关联的流传输帧。
响应于接收到玩家状态108,实例112发起游戏的执行。特别地,以与上述关于服务器102的方式类似的方式,实例112维持游戏的游戏状态,并且基于由客户端设备104所提供的输入数据来修改游戏状态,其中输入数据基于用户与输入设备的交互。基于游戏状态,并且根据所实现的游戏的规则,实例112采用服务器103的CPU和GPU,使用存储在对应的本地存储器处的游戏资产来生成渲染帧,并且将这些渲染帧(被指定为流传输帧116)提供给网络110,以用于通信到客户端设备104。客户端设备104接收流传输帧116的至少一个子集,并且采用GPU在显示器处显示接收到的帧。因此,服务器103处的游戏实例112继续先前由游戏实例111在服务器102处执行的游戏会话。
游戏实例112采用所传输的玩家状态108来继续游戏会话,并且具体地使用所传输的玩家状态来维持整个游戏状态并且生成流传输帧116。这确保了执行游戏程序109的服务器中的改变对于客户端设备104的用户是不可见的。也就是说,传输玩家状态108允许实例111和112共同地执行游戏程序109,就好像游戏程序109在单个服务器或其它硬件资源集合上执行一样。实例111和112中的每一个采用对应的服务器(分别是服务器102和103)的硬件资源来实现对应的游戏级别,但是执行游戏程序109的特定硬件资源中的改变对于客户端设备104的用户是不可见的。
应当理解,图1的游戏流传输系统100是示例,并且在其它实施例中,系统100可以包括服务器集合101中的附加服务器。例如,在一些实施例中,游戏程序109可以实现N个不同的游戏级别,并且服务器集合101包括N个不同的服务器,其中每个服务器被指派为实现N个游戏级别中的不同一个。响应于识别出游戏级别从第一级别到第二级别的改变,实现第一级别的服务器可以识别并选择与第二级别相关联的服务器,并且将玩家状态108传输到第二服务器。第二服务器执行游戏程序109的实例以基于所传输的玩家状态来实现第二级别。响应于识别出游戏级别从第二级别到第三级别的改变,第二服务器将玩家状态传输到与第三级别相关联的服务器。以这种方式,游戏流传输系统100可以在集合101的服务器之间传输玩家状态108,以实现不同游戏级别,从而减少级别加载时间并且改善用户对游戏的体验。
在其它实施例中,单个服务器可以实现多于一个游戏级别,但是包括多个硬件资源集合,其中每个硬件资源集合被指派为实现不同的游戏级别。例如,在一些实施例中,单个服务器包括N个GPU,每个GPU被指派为生成与关联于游戏程序的N个级别中的不同级别相关联的帧。响应于游戏程序109指示级别改变,服务器将生成帧的GPU改变成指派给新级别的GPU。
在一些实施例中,服务器103在接收玩家状态108之前在本地存储器之前预加载用于对应的游戏级别的资产,从而支持流传输帧116的更快渲染。为了说明,为了生成用于给定游戏级别的流传输帧116,服务器103采用游戏资产,诸如表示游戏对象、纹理等的数据结构。渲染一个或多个流传输帧116所需的特定资产可以基于玩家状态108而变化。通过在接收玩家状态108之前将一级别的资产预加载到本地存储器,服务器103减少了那些资产的加载时间,并且可以响应于从服务器102接收到玩家状态108,使用预加载的资产快速发起渲染,从而改善用户体验。
图2图示了根据一些实施例的传输玩家状态108的图1的游戏流传输系统100的示例。在所描绘的示例中,服务器102执行游戏程序109的实例111以实现游戏级别220。特别地,实例111通过基于如由从客户端设备104接收到的用户输入所修改的游戏状态并且基于与游戏级别220相关联的游戏资产来生成流传输帧115,从而实现游戏级别220。例如,在一些实施例中,游戏状态指示生成用于流传输帧所需的特定资产,例如表示虚拟环境中的对于游戏角色来说可见或可感知的部分的资产(例如,游戏角色可见的图形对象和纹理)。实例111使用这些资产来生成帧以可视地表示虚拟世界的一部分,并且经由流传输帧115将该帧提供给客户端设备104。
响应于与游戏的指定用户交互,实例111确定级别改变指示225。在一些实施例中,级别改变指示225是指示游戏程序109将改变游戏级别的任何用户输入或一系列用户输入。例如,在一些实施例中,级别改变指示225是指示用户从由实例111呈现给用户的游戏级别列表中的选择的用户输入或一系列用户输入。在其它实施例中,级别改变指示是以下用户输入或一系列用户输入,该用户输入或一系列用户输入指示游戏角色已经退出与游戏级别220相关联的虚拟环境的一部分并且已经进入与指定为游戏级别222的不同游戏级别相关联的虚拟环境的不同部分。
响应于级别改变指示225,实例111通过将玩家状态118传输到在服务器103处执行的实例112来发起级别改变。此外,实例111向客户端设备104提供后续用户输入将被定向到服务器103的指示,以及与游戏109相关联的后续流传输帧将从服务器103被接收的指示。例如,在一些情况下,在客户端设备104处执行的客户端程序(未示出)向游戏程序109提供接口,包括存储正在执行当前游戏级别的游戏程序109的实例的服务器的网络地址(称为“目标服务器地址”)。客户端程序使用该网络地址来引导在客户端设备104处接收到的用户输入,并且引导到接收到的流传输帧以进行显示。响应于级别改变指示225,实例111将服务器103的网络地址提供给客户端程序,该客户端程序将接收到的地址存储为目标服务器地址。
实例112从服务器102接收玩家状态118,并且作为响应,开始使用接收到的玩家状态118来实现游戏级别222。在一些实施例中,实例112采用补丁技术来并入接收到的玩家状态118。例如,在一些实施例中,实例111提供玩家状态118作为二进制代码文件,并且实例112在实例112的指定位置处插入玩家状态118的二进制代码,从而允许玩家状态118被用于根据游戏程序109所实现的规则来生成流传输帧。在其它实施例中,实例112包括指向预期存储玩家状态118的存储器位置的指针,并且实例112通过将接收到的玩家状态108存储在指定的存储器位置处来并入玩家状态108。
在一些实施例中,游戏流传输系统100通过仅传输玩家状态的相对于所存储的基本状态的改变来减少在服务器或其它硬件资源之间传输的玩家状态信息的数量。根据一些实施例,在图3中图示了示例。在所描绘的示例中,玩家状态108包括基本状态328和状态更新信息329。基本状态328包括表示玩家的基本状态的玩家状态信息,而不受游戏程序109的特定实例的修改。例如,在一些实施例中,当用户终止游戏程序109的游戏会话时,游戏程序109的当前执行的实例(例如,实例111)将当前玩家状态存储为基本状态328。
响应于用户随后在客户端设备104处发起另一个游戏会话,集合101的每个服务器将对应的游戏实例,以及要在服务器处实现的游戏级别的资源预加载到本地存储器。此外,集合101的每个服务器将基本状态328预加载到本地存储器。
当游戏程序109的实例正在执行,包括生成渲染帧以用于流传输时,该实例识别对玩家状态108的改变,并且存储指示这些改变的信息作为状态更新信息329。这些改变的示例包括对玩家分值的改变、对与用户相关联的玩家角色的方面的改变(例如,对玩家角色的装备、玩家角色属性和特性的改变,对玩家角色的外观的化妆改变)等。
响应于识别出级别改变,执行的实例仅传输状态更新信息329,而不是整个玩家状态108。例如,再次参考图2,响应于级别改变指示225,实例111将状态更新信息329传输到实例112,并且省略基本状态328,因为该基本状态信息已经被预加载到服务器103的本地存储器。通过仅传输状态更新信息329,而不是具有基本状态328的整个玩家状态108,游戏流传输系统100减少了在集合101的服务器之间的通信开销,并且可以进一步减少级别加载时间。
响应于接收到状态更新信息328,实例112在本地存储器处访问基本状态信息328并且修改基本状态信息328以反映由状态更新信息所指示的改变。服务器103处的玩家状态信息108因此被更新以反映在实例111正实现游戏级别220的同时发生的玩家状态的改变。
图4是图示根据一些实施例的预加载用于对应的游戏级别的资产的服务器102和103的框图。在所描绘的实施例中,服务器102和103中的每一个可以访问存储用于游戏程序109的游戏资产的数据存储装置428。数据存储装置428被假定为相对慢速地访问的相对大数据存储装置。例如,在一些实施例中,数据存储装置428是一个或多个非易失性存储器(NVM)设备,诸如一个或多个硬盘驱动器、一个或多个闪存驱动器等,或它们的任何组合。在所描绘的实施例中,服务器102和103中的每一个可以访问相同的数据存储装置428,但在其它实施例中,服务器102和103中的每一个包括单独的数据存储装置。
服务器102和103中的每一个分别包括指定为存储器432和存储器433的本地存储器。本地存储器432和433各自包括比数据存储装置428更少的总存储空间,但是被假定为相对快速地访问。因此,例如,在一些实施例中,本地存储器432和433是动态随机存取存储器(DRAM),其可以比数据存储装置428的NVM设备更快速地被访问。
响应于客户端设备104的用户发起游戏程序109的游戏会话,服务器102和103中的每一个发起执行对应的游戏实例(分别是实例111和112)。每个实例111和112从数据存储装置428检索游戏资产以实现指派给服务器的游戏级别。因此,实例111将游戏资产430从数据存储装置428加载到存储器432。在游戏级别220的实现期间,实例111访问存储在存储器432处的游戏资产430,以生成流传输帧115。类似地,实例112将游戏资产431从数据存储装置428加载到存储器433。在游戏级别221的实现期间,实例112访问存储在存储器433处的游戏资产431以生成流传输帧116。
在一些实施例中,实例111和112中的每一个通过在实现对应的游戏级别之前(例如,在客户端设备104从对应的服务器请求帧之前或者在生成用于流传输到客户端设备104的帧之前)预加载资产来将游戏资产430和游戏资产431分别预加载到存储器432和存储器433。例如,实例112可以在实现游戏级别221之前将玩家状态108预加载到存储器433,例如通过在实例111实现游戏级别220的同时或之前加载玩家状态108。通过预加载玩家状态108,实例112可以响应于接收玩家状态108而快速地实现游戏级别221,从而减少与级别改变相关联的游戏流中的中断。
图5图示了根据一些实施例将玩家状态从游戏程序的一个实例传输到游戏程序的另一个实例的方法500的流程图。出于描述的目的,参考在图1的游戏流传输系统100处的示例实现方式来描述方法500。在框502处,客户端设备104的用户通过在客户端设备104处输入指定的输入或输入序列来发起游戏会话。作为响应,客户端设备104经由网络110向集合101的服务器中的指定服务器发送游戏发起请求。出于该示例的目的,假定客户端设备104向服务器102发送游戏发起请求。
响应于游戏发起请求,服务器102的操作系统发起游戏程序109的实例111的执行。响应于该发起,实例111向集合101的其它服务器发送请求,以使这些其它服务器发起对它们自己的游戏程序109的实例的执行。例如,实例111向服务器103发送请求,该服务器103作为响应发起对游戏程序109的实例112的执行。由实例111所发送的每个请求指示将由对应的实例所实现的游戏级别。在框502处,每个执行的实例将该实例的指派的级别的资产从数据存储装置428加载到对应的服务器的本地存储器。
在框504处,用于当前游戏会话的最初级别的游戏实例通过响应于用户输入和如上所述的游戏状态生成渲染帧以用于流传输,来实现最初级别。游戏实例使用存储在服务器的本地存储器处的资产来实现级别。在框506处,在实现当前级别的过程中,服务器维持玩家状态108,包括做出对由游戏程序109所实现的游戏的规则所要求的玩家状态的任何修改。
在框508处,实现当前级别的服务器确定它是否已经接收到级别改变的指示,例如通过用户在客户端设备104输入导致指示级别改变的游戏状态的输入。如果没有指示级别改变,则方法流程返回到框504,并且服务器继续实现游戏程序109的当前级别。
响应于框508处的级别改变的指示,方法流移动到框510,并且当前服务器确定由级别改变所指示的目标级别(即,作为级别改变的结果而将被实现的级别)。当前服务器识别被指派以实现目标级别的服务器(出于描述的目的被称为目标服务器),并且将玩家状态108发送到该目标服务器。目标服务器准备接收到的玩家状态以用于实现目标级别,例如通过将接收到的玩家状态打补丁到游戏实例,通过将玩家状态存储在指定的存储器地址处等。该方法返回到框510,并且目标服务器的实例使用接收到的玩家状态和存储在目标服务器的本地存储器处的游戏资产来实现目标级别。
在第一方面,一种方法可以包括:基于玩家状态来执行游戏程序的第一实例,以生成用于流传输到客户端设备的第一渲染帧集合;预加载与所述游戏程序相关联的第一游戏资产集合以供所述游戏程序的第二实例使用;响应于用于所述游戏程序的游戏级别改变的指示,将所述玩家状态的至少一部分传输到所述游戏程序的第二实例;以及基于所述预加载的第一资产并且基于所述玩家状态的所传输的部分来执行所述游戏程序的第二实例,以生成用于流传输到所述客户端设备的第二渲染帧集合。
在第一方面的一个实施例中,所述玩家状态包括基本状态和对所述基本状态的改变,对所述基本状态的改变基于执行所述游戏程序的第一实例。在特定实施例中,该方法包括传输所述玩家状态的所述至少一部分包括传输对所述基本状态的改变并且从所述传输中省略所述基本状态。在更具体的实施例中,该方法包括响应于所述游戏级别改变的所述指示在所述游戏程序的第二实例处加载所述基本状态。在又一个特定实施例中,该方法包括在所述游戏级别改变的所述指示之前,在所述游戏程序的第二实例处加载所述基本状态。
在第一方面的另一个实施例中,该方法包括执行所述第二游戏实例包括将所述第一游戏资产集合从数据存储装置预加载到第一存储器;以及执行所述第一游戏实例包括将第二游戏资产集合从所述数据存储装置加载到第二存储器,所述第二游戏资产集合不同于所述第一游戏资产集合。在特定实施例中,该方法包括加载所述第二游戏资产集合包括预加载所述第二游戏资产集合。在另一实施例中,该方法包括执行所述游戏程序的第一实例包括在第一图形处理单元(GPU)处生成所述第一渲染帧集合;以及执行所述游戏程序的第二实例包括在不同于所述第一GPU的第二GPU处生成所述第二渲染帧集合。在又一实施例中,该方法包括执行所述游戏程序的第一实例包括在第一服务器处生成第一渲染帧集合;以及执行所述游戏程序的第二实例包括在不同于所述第一服务器的第二服务器处生成第二渲染帧集合。
在第二方面,一种方法可以包括:在执行游戏程序的第一实例以生成用于流传输到客户端设备的第一渲染帧集合的同时,识别与所述游戏程序相关联的玩家状态中的第一改变;响应于用于所述游戏程序的第一游戏级别改变的指示,将指示所述玩家状态中所识别的第一改变的第一改变文件传输到所述游戏程序的第二实例;以及基于所传输的第一改变文件来执行所述游戏程序的第二实例,以生成用于流传输到所述客户端设备的第二渲染帧集合。
在第二方面的一个实施例中,该方法包括在执行所述游戏程序的第二实例的同时,识别所述玩家状态中的第二改变;响应于用于所述游戏程序的第二游戏级别改变的指示,将指示所述玩家状态中所识别的第二改变的第二改变文件传输到所述游戏程序的第三实例;以及基于所传输的第二改变文件来执行所述游戏程序的第三实例,以生成用于流传输到所述客户端设备的第三渲染帧集合。
在第三方面中,一种非暂时性计算机可读介质可以包括实施可执行指令集合,所述可执行指令集合用于操纵至少一个处理器以:基于玩家状态来执行游戏程序的第一实例,以生成用于流传输到客户端设备的第一渲染帧集合;预加载与所述游戏程序相关联的第一游戏资产集合以供所述游戏程序的第二实例使用;响应于用于所述游戏程序的游戏级别改变的指示,将所述玩家状态的至少一部分传输到所述游戏程序的第二实例;以及基于所述预加载的第一资产并且基于所述玩家状态的所传输的部分来执行所述游戏程序的第二实例,以生成用于流传输到所述客户端设备的第二渲染帧集合。
在第三方面的一个实施例中,计算机可读介质包括所述玩家状态包括基本状态和对所述基本状态的改变,对所述基本状态的改变基于执行所述游戏程序的第一实例。在特定实施例中,计算机可读介质包括传输所述玩家状态的所述至少一部分包括传输对所述基本状态的改变并且从所述传输中省略所述基本状态。在更特定实施例中,计算机可读介质包括所述可执行指令集合还包括用于以下的指令:响应于所述游戏级别改变的所述指示在所述游戏程序的第二实例处加载所述基本状态。在又一个实施例中,计算机可读介质包括所述可执行指令集合还包括用于以下的指令:在所述游戏级别改变的所述指示之前,在所述游戏程序的第二实例处加载所述基本状态。
在第三方面的另一个实施例中,计算机可读介质包括:执行所述第二游戏实例包括将所述第一游戏资产集合从数据存储装置预加载到第一存储器;以及执行所述第一游戏实例包括将第二游戏资产集合从所述数据存储装置加载到第二存储器,所述第二游戏资产集合不同于所述第一游戏资产集合。在特定实施例中,计算机可读介质包括加载所述第二游戏资产集合包括预加载所述第二游戏资产集合。在另一个实施例中,计算机可读介质包括执行所述游戏程序的第一实例包括在第一图形处理单元(GPU)处生成所述第一渲染帧集合;以及执行所述游戏程序的第二实例包括在不同于所述第一GPU的第二GPU处生成所述第二渲染帧集合。在又一实施例中,计算机可读介质包括执行所述游戏程序的第一实例包括在第一服务器处生成第一渲染帧集合;以及执行所述游戏程序的第二实例包括在不同于所述第一服务器的第二服务器处生成第二渲染帧集合。
在第一方面,一种方法可以包括:基于玩家状态来执行游戏程序的第一实例,以生成用于流传输到客户端设备的第一渲染帧集合;预加载与所述游戏程序相关联的第一游戏资产集合以供所述游戏程序的第二实例使用;响应于用于所述游戏程序的游戏级别改变的指示,将所述玩家状态的至少一部分传输到所述游戏程序的第二实例;以及基于所述预加载的第一资产并且基于所述玩家状态的所传输的部分来执行所述游戏程序的第二实例,以生成用于流传输到所述客户端设备的第二渲染帧集合。
在第一方面的一个实施例中,所述玩家状态包括基本状态和对所述基本状态的改变,对所述基本状态的改变基于执行所述游戏程序的第一实例。在特定实施例中,该方法包括传输所述玩家状态的所述至少一部分包括传输对所述基本状态的改变并且从所述传输中省略所述基本状态。在更具体的实施例中,该方法包括响应于所述游戏级别改变的所述指示在所述游戏程序的第二实例处加载所述基本状态。在又一个特定实施例中,该方法包括在所述游戏级别改变的所述指示之前,在所述游戏程序的第二实例处加载所述基本状态。
在第一方面的另一个实施例中,该方法包括执行所述第二游戏实例包括将所述第一游戏资产集合从数据存储装置预加载到第一存储器;以及执行所述第一游戏实例包括将第二游戏资产集合从所述数据存储装置加载到第二存储器,所述第二游戏资产集合不同于所述第一游戏资产集合。在特定实施例中,该方法包括加载所述第二游戏资产集合包括预加载所述第二游戏资产集合。在另一实施例中,该方法包括执行所述游戏程序的第一实例包括在第一图形处理单元(GPU)处生成所述第一渲染帧集合;以及执行所述游戏程序的第二实例包括在不同于所述第一GPU的第二GPU处生成所述第二渲染帧集合。在又一实施例中,该方法包括执行所述游戏程序的第一实例包括在第一服务器处生成第一渲染帧集合;以及执行所述游戏程序的第二实例包括在不同于所述第一服务器的第二服务器处生成第二渲染帧集合。
在第二方面,一种方法可以包括:在执行游戏程序的第一实例以生成用于流传输到客户端设备的第一渲染帧集合的同时,识别与所述游戏程序相关联的玩家状态中的第一改变;响应于用于所述游戏程序的第一游戏级别改变的指示,将指示所述玩家状态中所识别的第一改变的第一改变文件传输到所述游戏程序的第二实例;以及基于所传输的第一改变文件来执行所述游戏程序的第二实例,以生成用于流传输到所述客户端设备的第二渲染帧集合。
在第二方面的一个实施例中,该方法包括在执行所述游戏程序的第二实例的同时,识别所述玩家状态中的第二改变;响应于用于所述游戏程序的第二游戏级别改变的指示,将指示所述玩家状态中所识别的第二改变的第二改变文件传输到所述游戏程序的第三实例;以及基于所传输的第二改变文件来执行所述游戏程序的第三实例,以生成用于流传输到所述客户端设备的第三渲染帧集合。
在第三方面中,一种非暂时性计算机可读介质可以包括实施可执行指令集合,所述可执行指令集合用于操纵至少一个处理器以:基于玩家状态来执行游戏程序的第一实例,以生成用于流传输到客户端设备的第一渲染帧集合;预加载与所述游戏程序相关联的第一游戏资产集合以供所述游戏程序的第二实例使用;响应于用于所述游戏程序的游戏级别改变的指示,将所述玩家状态的至少一部分传输到所述游戏程序的第二实例;以及基于所述预加载的第一资产并且基于所述玩家状态的所传输的部分来执行所述游戏程序的第二实例,以生成用于流传输到所述客户端设备的第二渲染帧集合。
在第三方面的一个实施例中,计算机可读介质包括所述玩家状态包括基本状态和对所述基本状态的改变,对所述基本状态的改变基于执行所述游戏程序的第一实例。在特定实施例中,计算机可读介质包括传输所述玩家状态的所述至少一部分包括传输对所述基本状态的改变并且从所述传输中省略所述基本状态。在更特定实施例中,计算机可读介质包括所述可执行指令集合还包括用于以下的指令:响应于所述游戏级别改变的所述指示在所述游戏程序的第二实例处加载所述基本状态。在又一个实施例中,计算机可读介质包括所述可执行指令集合还包括用于以下的指令:在所述游戏级别改变的所述指示之前,在所述游戏程序的第二实例处加载所述基本状态。
在第三方面的另一个实施例中,计算机可读介质包括:执行所述第二游戏实例包括将所述第一游戏资产集合从数据存储装置预加载到第一存储器;以及执行所述第一游戏实例包括将第二游戏资产集合从所述数据存储装置加载到第二存储器,所述第二游戏资产集合不同于所述第一游戏资产集合。在特定实施例中,计算机可读介质包括加载所述第二游戏资产集合包括预加载所述第二游戏资产集合。在另一个实施例中,计算机可读介质包括执行所述游戏程序的第一实例包括在第一图形处理单元(GPU)处生成所述第一渲染帧集合;以及执行所述游戏程序的第二实例包括在不同于所述第一GPU的第二GPU处生成所述第二渲染帧集合。在又一实施例中,计算机可读介质包括执行所述游戏程序的第一实例包括在第一服务器处生成第一渲染帧集合;以及执行所述游戏程序的第二实例包括在不同于所述第一服务器的第二服务器处生成第二渲染帧集合。
在一些实施例中,上述技术的某些方面可以由执行软件的处理系统的一个或多个处理器来实现。该软件包括存储在或以其它方式有形地包含在非暂时性计算机可读存储介质上的一个或多个可执行指令集合。该软件可以包括指令和某些数据,这些指令和某些数据在由所述一个或多个处理器执行时操纵所述一个或多个处理器以执行上述技术的一个或多个方面。非暂时性计算机可读存储介质可以包括,例如,磁盘或光盘存储设备,诸如闪存、高速缓存、随机存取存储器(RAM)之类的固态存储设备或其它一个或多个非易失性存储设备等。存储在非暂时性计算机可读存储介质上的可执行指令可以是源代码、汇编语言代码、目标代码、或者其它由一个或多个处理器解释或以其它方式可执行的指令格式。
计算机可读存储介质可以包括在使用期间由计算机系统可访问以向计算机系统提供指令和/或数据的任何存储介质或存储介质的组合。这种存储介质可以包括,但不限于,光学介质(例如,光盘(CD)、数字多功能盘(DVD)、蓝光盘)、磁介质(例如,软盘、磁带或硬磁盘驱动器)、易失性存储器(例如,随机存取存储器(RAM)或高速缓存)、非易失性存储器(例如,只读存储器(ROM)或闪存)、或基于微机电系统(MEMS)的存储介质。计算机可读存储介质可以嵌入计算系统(例如,系统RAM或ROM)中,固定地附接到计算系统(例如,磁硬盘驱动器),可移除地附接到计算系统(例如,光盘或基于通用串行总线(USB)的闪存),或经由有线或无线网络(例如,网络可访问存储器(NAS))耦合到计算机系统。
注意,除了所描述的那些以外,不需要上面一般性描述中描述的所有活动或要素,可以不需要特定活动或设备的一部分,并且可以执行一个或多个另外的活动或包括的要素。此外,列出活动的顺序不一定是它们执行的顺序。此外,已经参考特定实施例描述了这些概念。然而,本领域的普通技术人员应当理解,在不脱离如所附权利要求中阐述的本公开的范围的情况下,可以进行各种修改和改变。因此,说明书和附图被认为是说明性的而不是限制性的,并且所有这样的修改旨在包括在本公开的范围内。
上面已经结合具体实施例描述了益处、其它优点和问题的解决方案。然而,益处、优点、问题的解决方案以及可导致任何益处、优点,或解决方案出现或变得更显著的任何特征不应被解释为任何或所有权利要求的关键的,必需的,或必要的特征。此外,以上公开的特定实施例仅是说明性的,因为所公开的主题可以以不同但等效的方式进行修改和实践,这对于受益于本文的教导的本领域技术人员来说是明显的。除了在所附权利要求中所描述的之外,这里所示出的结构或设计的细节不是限制性的。因此,明显的是,可以改变或修改以上公开的特定实施例,并且所有这样的变化被认为在所公开的主题的范围内。因此,在本文所寻求的保护在所附权利要求中阐述。

Claims (20)

1.一种方法,包括:
基于玩家状态(108)来执行游戏程序(109)的第一实例(111),以生成用于流传输到客户端设备(104)的第一渲染帧集合(115);
预加载与所述游戏程序相关联的第一游戏资产集合(432)以供所述游戏程序的第二实例(112)使用;
响应于用于所述游戏程序的游戏级别改变的指示(225),将所述玩家状态的至少一部分传输到所述游戏程序的所述第二实例;以及
基于所预加载的第一资产并且基于所述玩家状态的所传输的部分来执行所述游戏程序的所述第二实例,以生成用于流传输到所述客户端设备的第二渲染帧集合(116)。
2.根据权利要求1所述的方法,其中:
所述玩家状态包括基本状态(328)和对所述基本状态的改变(329),对所述基本状态的改变基于执行所述游戏程序的所述第一实例。
3.根据权利要求2所述的方法,其中,传输所述玩家状态的所述至少一部分包括传输对所述基本状态的改变并且从所述传输中省略所述基本状态。
4.根据权利要求3所述的方法,还包括:
响应于所述游戏级别改变的所述指示在所述游戏程序的所述第二实例处加载所述基本状态。
5.根据权利要求3所述的方法,还包括:
在所述游戏级别改变的所述指示之前,在所述游戏程序的所述第二实例处加载所述基本状态。
6.根据权利要求1所述的方法,其中:
执行所述第二游戏实例包括将所述第一游戏资产集合从数据存储装置(428)预加载到第一存储器(433);以及
执行所述第一游戏实例包括将第二游戏资产集合(430)从所述数据存储装置加载到第二存储器(432),所述第二游戏资产集合不同于所述第一游戏资产集合。
7.根据权利要求6所述的方法,其中,加载所述第二游戏资产集合包括预加载所述第二游戏资产集合。
8.根据权利要求1所述的方法,其中:
执行所述游戏程序的所述第一实例包括在第一图形处理单元GPU处生成所述第一渲染帧集合;以及
执行所述游戏程序的所述第二实例包括在不同于所述第一GPU的第二GPU处生成所述第二渲染帧集合。
9.根据权利要求1所述的方法,其中:
执行所述游戏程序的所述第一实例包括在第一服务器(102)处生成所述第一渲染帧集合;以及
执行所述游戏程序的所述第二实例包括在不同于所述第一服务器的第二服务器(103)处生成所述第二渲染帧集合。
10.一种方法,包括:
在执行游戏程序(109)的第一实例(111)以生成用于流传输到客户端设备(104)的第一渲染帧集合(115)的同时,识别与所述游戏程序相关联的玩家状态(108)中的第一改变(329);
响应于用于所述游戏程序的第一游戏级别改变的指示(225),将指示所述玩家状态中所识别的第一改变的第一改变文件传输到所述游戏程序的第二实例(112);以及
基于所传输的第一改变文件来执行所述游戏程序的所述第二实例,以生成用于流传输到所述客户端设备的第二渲染帧集合(116)。
11.根据权利要求10所述的方法,还包括:
在执行所述游戏程序的所述第二实例的同时,识别所述玩家状态中的第二改变;
响应于用于所述游戏程序的第二游戏级别改变的指示,将指示所述玩家状态中所识别的第二改变的第二改变文件传输到所述游戏程序的第三实例;以及
基于所传输的第二改变文件来执行所述游戏程序的所述第三实例,以生成用于流传输到所述客户端设备的第三渲染帧集合。
12.一种包含可执行指令集合的非暂时性计算机可读介质,所述可执行指令集合用于操纵至少一个处理器以:
基于玩家状态(108)来执行游戏程序(109)的第一实例(111),以生成用于流传输到客户端设备(104)的第一渲染帧集合(115);
预加载与所述游戏程序相关联的第一游戏资产集合(432)以供所述游戏程序的第二实例(112)使用;
响应于用于所述游戏程序的游戏级别改变的指示(225),将所述玩家状态的至少一部分传输到所述游戏程序的第二实例(112);以及
基于所预加载的第一资产并且基于所述玩家状态的所传输的部分来执行所述游戏程序的所述第二实例,以生成用于流传输到所述客户端设备的第二渲染帧集合(116)。
13.根据权利要求12所述的计算机可读介质,其中:
所述玩家状态包括基本状态(328)和对所述基本状态的改变(329),对所述基本状态的改变基于执行所述游戏程序的所述第一实例。
14.根据权利要求13所述的计算机可读介质,其中,传输所述玩家状态的所述至少一部分包括传输对所述基本状态的改变并且从所述传输中省略所述基本状态。
15.根据权利要求14所述的计算机可读介质,其中,所述可执行指令集合还包括用于以下的指令:
响应于所述游戏级别改变的所述指示在所述游戏程序的所述第二实例处加载所述基本状态。
16.根据权利要求14所述的计算机可读介质,其中,所述可执行指令集合还包括用于以下的指令:
在所述游戏级别改变的所述指示之前,在所述游戏程序的所述第二实例处加载所述基本状态。
17.根据权利要求12所述的计算机可读介质,其中:
执行所述第二游戏实例包括将所述第一游戏资产集合从数据存储装置(428)预加载到第一存储器(433);以及
执行所述第一游戏实例包括将第二游戏资产集合(430)从所述数据存储装置加载到第二存储器(432),所述第二游戏资产集合不同于所述第一游戏资产集合。
18.根据权利要求17所述的计算机可读介质,其中,加载所述第二游戏资产集合包括预加载所述第二游戏资产集合。
19.根据权利要求12所述的计算机可读介质,其中:
执行所述游戏程序的所述第一实例包括在第一图形处理单元GPU处生成所述第一渲染帧集合;以及
执行所述游戏程序的所述第二实例包括在不同于所述第一GPU的第二GPU处生成所述第二渲染帧集合。
20.根据权利要求12所述的计算机可读介质,其中:
执行所述游戏程序的所述第一实例包括在第一服务器(102)处生成所述第一渲染帧集合;以及
执行所述游戏程序的所述第二实例包括在不同于所述第一服务器的第二服务器(103)处生成所述第二渲染帧集合。
CN202080100865.9A 2020-05-13 2020-05-13 游戏流传输系统中的级别改变 Pending CN115605278A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/032665 WO2021230862A1 (en) 2020-05-13 2020-05-13 Level changing in a game streaming system

Publications (1)

Publication Number Publication Date
CN115605278A true CN115605278A (zh) 2023-01-13

Family

ID=70919223

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080100865.9A Pending CN115605278A (zh) 2020-05-13 2020-05-13 游戏流传输系统中的级别改变

Country Status (6)

Country Link
US (1) US20230173382A1 (zh)
EP (1) EP4149644A1 (zh)
JP (1) JP7493621B2 (zh)
KR (1) KR20230005377A (zh)
CN (1) CN115605278A (zh)
WO (1) WO2021230862A1 (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8961302B2 (en) 2012-07-20 2015-02-24 Microsoft Technology Licensing, Llc Game browsing
RU2617914C2 (ru) 2012-11-16 2017-04-28 Сони Компьютер Энтертейнмент Америка Ллк Системы и способы облачной обработки и наложения содержимого на потоковые видеокадры удаленно обрабатываемых приложений
EP3791943B1 (en) 2015-03-06 2023-08-02 Sony Interactive Entertainment LLC Predictive instant play for an application over the cloud
CN109152955B (zh) 2015-12-30 2022-09-23 索尼互动娱乐美国有限责任公司 云游戏中的用户保存数据管理方法
WO2019074952A2 (en) * 2017-10-10 2019-04-18 Google Llc GAMING PROFILING BASED ON DISTRIBUTED SAMPLE WITH GAME AND MEASUREMENT METADATA, AND GAME API PLATFORM SUPPORTING THIRD CONTENT
US10576380B1 (en) * 2018-11-05 2020-03-03 Sony Interactive Entertainment LLC Artificial intelligence (AI) model training using cloud gaming network

Also Published As

Publication number Publication date
JP2023525335A (ja) 2023-06-15
JP7493621B2 (ja) 2024-05-31
US20230173382A1 (en) 2023-06-08
KR20230005377A (ko) 2023-01-09
EP4149644A1 (en) 2023-03-22
WO2021230862A1 (en) 2021-11-18

Similar Documents

Publication Publication Date Title
US10293251B2 (en) Pre-loading translated code in cloud based emulated applications
US9623327B2 (en) Determining triggers for cloud-based emulated games
US11977918B2 (en) Methods, systems and computer program products for optimizing computer system resource utilization during in-game resource farming
US7984122B2 (en) Dedicated processor core request
US20080090659A1 (en) Virtual world event notification from a persistent world game server in a logically partitioned game console
US20200380259A1 (en) Response to a Real World Gesture in an Augmented Reality Session
US11064049B2 (en) Predictive cloud-based presimulation
US11660534B2 (en) Pre-loading translated code in cloud based emulated applications
CN118176049A (zh) 用于游戏相关数字资产的碎片化非同质化代币
US11544115B2 (en) Methods, systems and computer program products for optimizing computer system resource utilization during in-game resource farming
CN112799801B (zh) 一种模拟鼠标指针绘制方法、装置、设备和介质
US20230173382A1 (en) Level changing in a game streaming system
KR100469820B1 (ko) 화면 갱신 방법 및 그 시스템
KR20200044195A (ko) 클라우드 컴퓨터를 이용한 게임 플레이 동영상 제공 시스템
US11386872B2 (en) Experiencing a virtual object at a plurality of sizes
US11876685B1 (en) Locally predicting state using a componentized entity simulation
US20240033619A1 (en) Impaired player accessability with overlay logic providing haptic responses for in-game effects
US10293250B2 (en) Game device, game system, control method, and control program
WO2021221612A1 (en) Adjusting rendered content for display at a client
KR20220161882A (ko) 퀘스트 관리 서비스 제공 장치 및 방법
JP2022188633A (ja) 情報処理装置、プログラム、及びゲーム画像生成方法
US20140370981A1 (en) Reducing the bandwidth requirements of multiplayer gaming sessions
KR20060000732A (ko) 화면 갱신 방법 및 그 시스템

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination