用于通过使用分布式游戏引擎来预测状态的系统和方法技术方案

技术编号:31228948 阅读:43 留言:0更新日期:2021-12-08 09:45
描述了一种减少游戏的执行中的延迟的方法。所述方法包括经由计算机网络接收与所述游戏相关联的用户输入,以及根据所述用户输入来确定所述游戏的当前状态。在正在确定所述游戏的所述当前状态时,所述方法包括基于所述用户输入和一个或多个预测的用户输入来预测所述游戏的下一状态。所述方法还包括:根据所述下一状态来生成一个或多个预测的图像帧;确定是否经由所述计算机网络接收到所述一个或多个预测的用户输入;以及响应于接收到所述一个或多个预测的用户输入而发送所述一个或多个预测的图像帧,以减少所述游戏的执行中的所述延迟。迟。迟。

【技术实现步骤摘要】
【国外来华专利技术】用于通过使用分布式游戏引擎来预测状态的系统和方法


[0001]本公开涉及用于通过使用分布式游戏引擎来预测状态的系统和方法。

技术介绍

[0002]现今,通过计算机网络来访问视频游戏。例如,来自世界各地的许多玩家都在玩Fortnite
TM
游戏。一个玩家控制第一化身,并且另一个玩家控制第二化身。每个化身在游戏期间收集武器并砍伐木材。然后,这些化身被迫被约束在虚拟圆圈内。如果化身留在虚拟圆圈之外,则化身实际上会在游戏中死亡。当两个化身都在该圆圈中时,他们会找到对方并且然后用他们的武器跟对方战斗。两个化身中仅一个存活。
[0003]由于经由计算机网络访问视频游戏,因此生成与视频游戏相关联的大量信息。信息量的增加会增加视频游戏的执行的延迟。

技术实现思路

[0004]本公开的实施方案提供了用于通过使用分布式游戏引擎来预测状态的系统和方法,以减少游戏云上的应用程序的执行中的延迟。
[0005]从以下结合附图的详细描述中,本公开的其他方面将变得显而易见,附图以示例的方式示出了本公开中描述的实施方案的原理。
[0006]本文描述的系统和方法通过使用深度学习来帮助减少处理游戏的延迟和/或帮助分布式游戏引擎的工作分配。深度学习是用于近似原本可能难以使用算法来计算的函数的技术。函数难以计算,因为算法是未知的或使用该算法的计算很复杂。
[0007]通常,许多游戏成功地执行并且这些游戏的算法通常是已知的和自动化的。然而,在本文所描述的游戏中,由于处理游戏场景的帧的多个状态之间的关系,有时难以将游戏中的诸如虚拟对象或虚拟角色等组分彼此分离。例如,用户输入用于驱动游戏中的虚拟角色。该虚拟角色的动作可根据物理定律将游戏中的人工智能非玩家角色(AI NPC)驱动为特定行为或触发效果。为了说明,当接收到用户输入时,引爆爆炸物或AI NPC移动或虚拟对象移动。AI NPC、物理定律以及用户视点的变化都会导致游戏场景的渲染的变化。这说明了游戏引擎内的不同函数的一些相互依赖。
[0008]神经网络可用于预测不同函数的输出,以便可更早地机会性地处理后续函数。在神经网络的预测不正确的情况下,可中止基于预测的早期处理,并且可重新开始基于实际函数输出的正确处理。
[0009]在一个实施方案中,系统和方法可“当然纠正”预测中的错误。作为示例,预测器可能错误地决定不需要渲染虚拟对象或虚拟角色,并且在没有虚拟对象的情况下机会性地渲染场景。稍后在帧的处理期间,由于物理定律的影响,确定虚拟对象将被推入视野。本文描述的系统和方法此时提供两种选择。选择之一是系统和方法可放弃其预处理中的一些或全部,并且重新渲染存在虚拟对象的场景。另一个选择是系统和方法可独立地渲染虚拟对象并将其合成到场景中。
[0010]在一个实施方案中,本文描述的系统和方法有助于跨计算资源分配工作。例如,物理引擎通常被分解为多个部件。这些部件的示例包括碰撞检测系统、碰撞解决系统或求解器以及更新系统。碰撞检测是昂贵的过程并且可进一步分成子部件,例如,诸如对虚拟对象是否发生碰撞进行粗略估计的宽相位检测操作,以及在计算上更昂贵且计算虚拟对象之间的精确接触点的窄相位检测操作。当宽相位检测操作正在运行时,根据宽相位检测操作的先前结果训练的神经网络可预测哪些虚拟对象极有可能、略有可能以及根本不可能碰撞。对于被预测为极有可能的那些虚拟对象,可将窄相位检测操作分派到其他计算资源。一旦宽相位检测操作完成,略有可能碰撞的那些虚拟对象将被解决并被分派或不分派。
[0011]在一个实施方案中,系统和方法更新场景的复杂背幕,诸如复杂背景。例如,可训练神经网络以基于诸如用户输入、AI状态、物理状态和其他游戏状态的多种因素来决定高分辨率背幕何时可能需要重新渲染,该高分辨率背幕是适当静态但计算起来是计算密集的。可通过神经网络来预测用于渲染高分辨率背幕的状态值,诸如强度值、颜色值、阴影值、纹理值等,使得可在预期高分辨率背幕的情况下分派远程渲染工作。
[0012]虽然游戏能够及时地更新所有这些内容是重要的,但神经网络为系统提供了移动任务的一定的自由度。考虑在分布式游戏引擎上运行的游戏,该分布式游戏引擎是基于云的分布式游戏引擎。分布式游戏引擎的单个节点能够为单个用户处理合理质量的输出,但不能处理高质量输出。这可能是例如因为节点上的资源不足。分布式游戏引擎的一些节点具有能够对计算密集型部件进行高质量图形渲染的非常快的图形处理单元(GPU),并且分布式游戏引擎的其他节点具有能够以极高分辨率的纹理渲染物品但相比之下计算能力较低的具有大量内存的GPU,而分布式游戏引擎的其他节点具有专门的物理或AI部件。游戏可在分布式游戏引擎的一个通用节点上以合理的质量运行,或者如果及早地预期,则可将高质量工作分配给分布式游戏引擎的不太繁忙或更专门的节点,以返回高质量输出。深度学习预测器可决定何时分派这些高质量工作。如果预测晚,则在通用节点处本地计算合理的质量。如果预测早,高质量输出在它被应用时失效并被丢弃。然而,如果正确地预测,例如既不晚也不早或准时,则高质量输出将及时返回,以与其他中间结果组合来提供更高质量的体验。即使分布式游戏引擎的所有节点都以类似的方式配置,但在一个实施方案中,在各情况下在节点之间应用负载平衡。在负载平衡中,并非在所有节点上都使用相同量的所有资源。
[0013]在一个实施方案中,描述了一种减少游戏的执行中的延迟的方法。所述方法包括经由计算机网络接收与所述游戏相关联的用户输入,以及根据所述用户输入来确定所述游戏的当前状态。在正在确定所述游戏的所述当前状态时,所述方法包括基于所述用户输入和一个或多个预测的用户输入来预测所述游戏的下一状态。所述方法还包括:根据所述下一状态来生成一个或多个预测的图像帧;确定是否经由所述计算机网络接收到所述一个或多个预测的用户输入;以及响应于接收到所述一个或多个预测的用户输入而发送所述一个或多个预测的图像帧,以减少所述游戏的执行中的所述延迟。
[0014]在一个实施方案中,描述了一种减少游戏的执行中的延迟的系统。所述系统包括第一节点和第二节点。所述第一节点经由计算机网络接收与所述游戏相关联的用户输入,并且根据所述用户输入来确定所述游戏的当前状态。所述第二节点耦合到所述第一节点。所述第二节点从所述第一节点接收与所述游戏相关联的所述用户输入,并且在正在确定所
述游戏的所述当前状态时,基于所述用户输入和一个或多个预测的用户输入来预测所述游戏的下一状态。所述第二节点还根据所述下一状态来生成一个或多个预测的帧,确定是否经由所述计算机网络接收到所述一个或多个预测的用户输入,并且响应于接收到所述一个或多个预测的用户输入而发送所述一个或多个预测的帧,以减少在所述游戏的执行期间的所述延迟。
[0015]在一个实施方案中,描述了一种计算机可读介质,所述计算机可读介质包含用于减少游戏的执行中的延迟的程序指令。计算机系统的一个或多个处理器对所述程序指令的执行致使所述一个或多个处理器执行上述用于减少游戏的执行中的延迟的方法的多个操作。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种减少游戏的执行中的延迟的方法,所述方法包括:经由计算机网络接收与所述游戏相关联的用户输入;根据所述用户输入来确定所述游戏的当前状态;在正在确定所述游戏的所述当前状态时,基于所述用户输入和一个或多个预测的用户输入来预测所述游戏的下一状态;根据所述下一状态来生成一个或多个预测的帧;确定是否经由所述计算机网络接收到所述一个或多个预测的用户输入;以及响应于接收到所述一个或多个预测的用户输入而发送所述一个或多个预测的帧,以减少所述游戏的执行中的所述延迟。2.如权利要求1所述的方法,其中在接收到所述一个或多个预测的用户输入之前执行所述预测所述游戏的所述下一状态和所述生成所述一个或多个预测的帧,以减少所述游戏的所述执行中的所述延迟。3.如权利要求1所述的方法,其中所述确定是否接收到所述一个或多个预测的用户输入包括确定经由所述计算机网络接收到与所述一个或多个预测的用户输入不同的用户输入,所述方法还包括:根据与所述一个或多个预测的用户输入不同的所述用户输入来生成游戏状态;根据所述游戏状态来生成一个或多个帧;以及发送所述游戏状态的所述一个或多个帧,而不是发送所述一个或多个预测的帧。4.如权利要求3所述的方法,其中在所述预测所述游戏的所述下一状态期间接收到与所述一个或多个预测的用户输入不同的所述用户输入,其中所述根据所述用户输入来生成所述游戏状态和根据所述游戏状态来生成所述一个或多个帧被提供比所述预测所述游戏的所述下一状态更高的优先级。5.如权利要求3所述的方法,其中在所述生成所述一个或多个预测的帧期间接收到与所述一个或多个预测的用户输入不同的所述用户输入,其中所述根据所述用户输入来生成所述游戏状态和根据所述游戏状态来生成所述一个或多个帧被提供比所述生成所述一个或多个预测的帧更高的优先级。6.如权利要求1所述的方法,其中所述预测所述游戏的所述下一状态是基于所述游戏的所述当前状态的输出。7.如权利要求1所述的方法,其中所述确定是否接收到所述一个或多个预测的用户输入包括确定经由所述计算机网络接收到与所述一个或多个预测的用户输入不同的用户输入,所述方法还包括:识别所述游戏的游戏状态的未被包括在所述下一状态内的一个或多个元素;根据与所述一个或多个预测的用户输入不同的所述用户输入来生成所述游戏状态的所述一个或多个元素;根据所述游戏状态的所述一个或多个元素来生成一个或多个帧;以及发送所述游戏状态的所述一个或多个元素的所述一个或多个帧以允许显示一个或多个合成图像,其中所述一个或多个合成图像具有叠加在所述一个或多个预测的帧上的所述游戏状态的所述一个或多个元素。8.如权利要求1所述的方法,所述方法还包括:
确定在所述预测所述游戏的所述下一状态时是否要确定复杂物理状态;向节点提供所述确定所述复杂物理状态的任务;以及在所述预测所述游戏的所述下一状态时保留确定简单物理状态的任务。9.如权利要求8所述的方法,其中所述复杂物理状态包括所述游戏中的两个虚拟对象的碰撞的接触点,并且所述简单物理状态包括所述碰撞的发生。10.如权利要求1所述的方法,其中所述一个或多个预测的帧具有简单图形状态,所述方法还包括:确定在所述预测所述游戏的所述下一状态时是否要确定复杂图形状态;向节点提供所述确定所述复杂图形状态的任务;从所述节点接收所述复杂图形状态的一个或多个图像帧;以及将所述复杂图形状态的所述一个或多个帧与所述一个或多个预测的帧组合。11.如权利要求1所述的方法,所述方法还包括:确定在所述预测所述游戏的所述下一状态时是否要确定复杂人工智能状态;向节点提供所述确定所述复杂人工智能状态的任务;以及在所述预测所述游戏的所述下一状态时保留确定简单人工智能状态的任务。12.如权利要求1所述的方法,其中所述帧包括图像帧或音频帧或图像帧和音频帧两者。13.一种用于减少游戏的执行中的延迟的系统,所述系统包括:第一节点,所述第一节点被配置为:经由计算机网络接收与所述游戏相关联的用户输入;根据所述用户输入来确定所述游戏的当前状态;第二节点,所述第二节点耦合到所述第一节点,其中所述第二节点被配置为:从所述第一节点接收与所述游戏相关联的所述用户输入;在正在确定所述游戏的所述当前状态时,基于所述用户输入和一个或多个预测的用户输入来预测所述游戏的下一状态;根据所述下一状态来生成一个或多个预测的帧;确定是否经由所述计算机网络接收到所述一个或多个预测的用户输入;以及响应于接收到所述一个或多个预测的用户输入而发送所述一个或多个预测的帧,以减少在所述游戏的执行期间的所述延迟。14.如权利要求13所述的系统,其中...

【专利技术属性】
技术研发人员:S奥斯曼
申请(专利权)人:索尼互动娱乐股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1