用于处理分布式游戏引擎的系统的制作方法

文档序号:36598703发布日期:2024-01-06 23:08阅读:30来源:国知局
用于处理分布式游戏引擎的系统的制作方法

本公开涉及用于使用分布式游戏引擎的系统和方法。


背景技术:

1、已经开发了用于玩游戏的各种装置。例如,各种游戏公司已经创造出游戏控制台,以向用户提供独特的游戏体验。为了说明,用户可以玩战争游戏、功夫游戏、跳舞游戏等。

2、一些游戏公司已经开发出在用户的头部上方并向用户提供游戏显示的显示装置。在使用此类显示装置以玩游戏期间,用户感觉他/她好像身处游戏中。

3、但是,随着与游戏相关联的图形和与游戏相关联的处理的增加,游戏控制台的处理能力无法增加。


技术实现思路

1、本公开的实施方案提供用于使用分布式游戏引擎的系统和方法。

2、本公开的其它方面将从结合附图进行的以下详细描述中变得清楚,所述详细描述通过举例说明本公开中描述的实施方案的原理。

3、对于游戏和科学计算,总是渴望增加计算能力的量。单个服务器的计算能力受到芯片制造商组装时可用的计算机零件限制。对于给定计算机世代,由于晶体管数目和能力的技术限制,计算机芯片制造商受限于每个芯片一定数目个中央处理单元(cpu)或图形处理单元(gpu)内核。这些技术壁垒每几年就会根据摩尔定律而上升。但是,有时瞬间需要更高量的计算能力。获得更多计算能力的一种方法是在单个服务器中使用多个cpu插槽并添加更多gpu板。但是,随着添加更多cpu插槽和更多gpu板,单个服务器内的空间变得有限。获得更多计算能力的另一种方法是使用额外服务器并将工作负载分散到多个服务器上。

4、在一个实施方案中,描述了一种高速、低等待时间系统,其中可选地由游戏控制台组成的多个服务器被互连。这项技术是弹性计算架构的基础,弹性计算架构例如用于包括云游戏的游戏目的。所述实施方案允许对计算节点(例如,游戏控制台、虚拟机、服务器等)进行群集,以获得以其他方式可用的更大量的计算容量。将计算节点捆绑在一起的方式允许编写游戏引擎的方式,其中例如单玩家游戏或多玩家游戏等游戏在多个计算节点上运行。所述系统提供了允许不同类型的游戏的群集技术。

5、鉴于用于弹性计算的硬件架构,描述各种应用以利用计算能力。一个用例是为单个用户提供多个计算节点的计算能力。例如,游戏引擎横跨多个计算节点。这可以多种方式进行。为了说明,每个计算节点渲染不同帧,例如,节点1渲染帧1+n且节点2渲染帧2+n,其中n是节点数目。一些游戏引擎共享来自物理和gpu缓冲器的帧信息。例如,当被给予具有关于数据可用性等的存储器地址的通知时,每个节点从其他节点存储器读取帧信息。为了说明,一个节点向另一节点发送中断,并从另一节点内的共享寄存器读取帧信息。这比网络数据包快几个量级。作为共享帧信息的另一示例,通用数据报协议/传输控制协议(udp/tcp)网络数据包用以读取帧信息。作为又另一说明,每个计算节点渲染帧的一部分,例如,四分之一或预定数目条线。作为又另一说明,在主从架构中,一个节点是主节点并在计算节点之间委派计算任务。作为另一示例,一个节点向另一节点发送中断,并将帧信息写入到另一节点内的共享寄存器。这可以比网络数据包快几个量级。作为共享帧信息的另一示例,使用udp/tcp协议以写入帧信息。一些任务比其他任务利用更多或更少时间,因此主机是调度器。在主机上完成一些物理计算,并将游戏的状态广播到从机。

6、如果如上所述的单个用户配置用于云游戏,则在如何管理通过输入装置(例如,游戏板或键盘或鼠标)接收到的输入以及如何管理音频和/或视频流方面存在挑战。在云游戏中,只有单个客户端,所述客户端将输入发送到许多节点且客户端从各种节点接收音频和/或视频。节点中的一个被标记为流节点,所述流节点处理与客户端的连接并接收输入并将输入传播到其他节点。此节点还将所有压缩的音频和视频数据发送到客户端。此节点还代表所有节点处理音频和视频编码,或者每个节点都可以自己完成编码。但是,对于音频和视频编码,通常使用先前帧数据,因此在节点之间共享先前帧数据。例如,如果每个节点处理图像的一个角且每个角是其自有视频流,那么也可以使用多个视频流。客户端将角缝合在一起并使其同步。在视频帧之间的接缝中使用某一形式的混合,以避免出现难看的边缘。

7、弹性计算群集的一种用途是用于新型多玩家游戏。当所有用户都连接到此群集内托管的同一虚拟场景时,会玩出更具响应性类型的游戏。另外,如果消除了冗余计算,那么可以在弹性计算中实现节能。在常规多玩家游戏中,当用户在同一世界中玩游戏时,必须针对每个用户的游戏引擎(本地)实例重复许多物理计算。有可能执行一次计算,从而节能。

8、在一个方面中,描述一种用于使用分布式游戏引擎的方法。所述方法包括:通过计算机网络从用户帐户接收玩游戏的请求,标识用于所述用户帐户的处理能力分配,以及基于所述处理能力分配确定用于所述用户帐户的节点组合件以利用两个或更多个处理节点来玩所述游戏。所述方法还包括针对所述用户帐户初始化所述两个或更多个处理节点以执行所述游戏。执行所述初始化操作以设置所述游戏的处理节点从所述两个或更多个处理节点中的一个到两个或更多个处理节点中的另一个的传送。所述方法包括定义所述两个或更多个处理节点之间的内部通信信道,以交换所述游戏的状态信息。执行所述状态信息交换,以使得所述两个或更多个节点能够以共享方式处理所述游戏。持续进行所述两个或更多个节点之间的所述状态信息交换,以使得所述两个或更多个节点用作聚合节点。

9、在另一方面中,描述一种用于处理分布式游戏引擎的方法。所述方法包括:通过用户帐户和计算机网络从客户端装置接收玩游戏的请求,分配数个服务器节点来玩所述游戏,以及向所述服务器节点发送信息以使所述节点能够使用通信协议来彼此通信以便于玩所述游戏。所述方法包括在所述服务器节点之间分布游戏引擎来玩所述游戏。

10、在另一方面中,描述一种用于处理分布式游戏引擎的系统。所述系统包括云游戏服务器和耦合到所述云游戏服务器的节点组合件服务器,所述云游戏服务器被配置为通过用户帐户和计算机网络从客户端装置接收玩游戏的请求。所述节点组合件服务器分配数个服务器节点来玩所述游戏。所述节点组合件服务器向所述服务器节点发送信息以使所述服务器节点能够使用通信协议来彼此通信以便于玩所述游戏。所述服务器节点中的一个在所述服务器节点之间分布游戏引擎来玩所述游戏。



技术特征:

1.一种用于处理分布式游戏引擎的系统,其包括:

2.如权利要求1所述的系统,其中所述状态信息交换包括从所述两个或更多个处理节点中的所述另一个向所述两个或更多个处理节点中的所述一个传送第一帧,以允许所述两个或更多个处理节点中的所述一个构建第二帧。

3.如权利要求1所述的系统,其中所述状态信息交换包括从所述两个或更多个处理节点中的所述另一个向所述两个或更多个处理节点中的所述一个传送帧的第一帧部分,以允许所述两个或更多个处理节点中的所述一个构建所述帧的第二帧部分。

4.如权利要求1所述的系统,其中所述处理代码是用于玩所述游戏的游戏引擎,其中所述内部通信信道是所述两个或更多个处理节点将使用的通信协议。

5.如权利要求1所述的系统,其中每个处理节点是虚拟机或游戏控制台或服务器。

6.一种用于处理分布式游戏引擎的系统,包括:

7.一种用于处理分布式游戏引擎的系统,包括:

8.一种用于处理分布式游戏引擎的系统,包括:

9.根据权利要求8所述的系统,

10.根据权利要求9所述的系统,其中,所述帧部分信息包括背景信息,并且所述附加帧部分信息包含虚拟对象的位置和定向信息。

11.一种用于处理分布式游戏引擎的系统,包括:

12.一种用于处理分布式游戏引擎的系统,包括:

13.一种用于处理分布式游戏引擎的系统,包括:


技术总结
一种用于处理分布式游戏引擎的系统包括:云游戏服务器,被配置为经由计算机网络从第一用户账户接收玩游戏的请求;节点组装服务器,耦合到所述云游戏服务器,其中所述节点组装服务器被配置为标识用于所述第一用户账户的处理能力分配,其中用于所述第一用户账户的所述处理能力分配不同于分配给第二用户账户的处理能力的量。所述节点组装服务器被配置为基于处理能力分配利用两个或更多个处理节点来玩所述游戏,其中所述两个或更多个处理节点被用于所述第一用户账户。

技术研发人员:R·R·科伦布兰德
受保护的技术使用者:索尼互动娱乐美国有限责任公司
技术研发日:
技术公布日:2024/1/5
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1