用于通过在游戏云系统上执行的视频记录访问先前所存储游戏情节的方法和系统与流程

文档序号:17733376发布日期:2019-05-22 03:00阅读:209来源:国知局
用于通过在游戏云系统上执行的视频记录访问先前所存储游戏情节的方法和系统与流程

本公开涉及视频游戏。此外,本公开描述用于保存由视频游戏或游戏应用程序的多个用户在游戏情节期间的各个点处生成的快照的方法和系统,其中一个用户可以使用所述快照通过游戏情节的视频记录跳转至另一个用户的先前保存的游戏情节中。

发明背景

使用计算资源(硬件和软件)的基于云的系统通过网络(例如,因特网)传递服务。在游戏的背景下,所述服务实现将内容流式传输至远程客户端,其中大多数处理在可以是分布式的服务器上完成。远程客户端处提供的输入又将推动视频游戏的执行,而无需客户端位置处的专用游戏硬件。因此,基于云的游戏越来越受欢迎,因为用户发现更容易访问更多视频游戏标题而没有复杂的硬件限制,并且游戏供应商发现更容易从集中位置管理游戏代码。

当用户前进通过可能呈现给出不同结果的多个选项的视频游戏的游戏情节时,可能难以决定引导游戏情节的方向。例如,尽管用户可能想要避免在游戏情节中不提供任何明显推进的方向,但是在没有通过外部源获得的先验知识的情况下,用户无法避免导致死胡同的特定方向。在一些情况下,用户可能耗尽视频游戏可能在游戏的特定部分中呈现的所有可能方向,之后才发现给出推进游戏情节的结果的正确方向。可能希望避免在视频游戏中播放所有可能的方向。

正是在这种背景下,出现了本公开的实施方案。



技术实现要素:

本公开的实施方案涉及系统和方法,其用于保存由视频游戏的多个用户在游戏情节期间的各个点处生成的快照,生成在视频游戏的游戏情节期间可向用户显示的时间线,并且其中同一用户或另一个用户使用快照从对应于选定快照的点开始跳转至游戏情节。下文描述本公开的若干发明性实施方案。

在一个实施方案中,公开了一种用于在游戏世界中导航的方法。所述方法包括捕获从与多个用户相关联地执行的视频游戏的多个实例生成的多个快照。所述方法还包括显示玩视频游戏的第一用户的第一时间线,其中所述第一时间线包括前进通过视频游戏的至少一个用户相对于与所述第一用户相关联地执行的视频游戏的第一实例的当前渲染图像的快照图像。所述方法还包括在第一时间线中以多个第一缩略图显示与第一用户相关联的多个第一快照图像,其中多个第一快照包括与当前渲染图像相比示出第一用户的过去进程的至少一个渲染图像。所述方法还包括以多个第二缩略图显示与第二用户相关联的多个第二快照,其中所述多个第二快照包括示出视频游戏中在当前渲染图像之后的点处第二用户的进程的至少一个渲染图像。

在另一个实施方案中,公开了一种用于在游戏世界中导航的方法。所述方法包括与玩视频游戏的第一用户相关联地在游戏云系统上执行视频游戏的第一实例。所述方法包括捕获与执行视频游戏的第一实例相关联地生成的第一多个渲染图像的多个第一快照,其中每个第一快照与视频游戏中的唯一进程点相关联。所述方法还包括捕获与同玩视频游戏的第二用户相关联地执行视频游戏的第二实例相关联地生成的第二多个渲染图像的多个第二快照。所述方法还包括显示示出玩视频游戏的第一用户和第二用户的进程的时间线,所述时间线与从执行第一实例生成的当前渲染图像同时显示。

在又一个实施方案中,公开了一种被配置用于在游戏世界中导航的游戏云系统。所述游戏云系统包括被配置成管理多个虚拟游戏引擎的游戏服务器,所述虚拟游戏引擎被配置成与玩视频游戏的多个用户相关联地执行视频游戏的多个实例,其中所述虚拟游戏引擎被配置成捕获从执行所述多个实例生成的渲染图像的多个快照,其中对应快照实现从所述对应快照开始执行视频游戏的实例。所述游戏云系统包括用于存储多个快照的快照数据存储装置。所述游戏云系统包括被配置成与第一用户相关联地执行视频游戏的第一实例的第一虚拟游戏引擎,其中所述第一虚拟游戏引擎被配置成生成玩视频游戏的第一用户的第一时间线,其中所述第一时间线包括:多个第一快照图像,所述多个第一快照图像包括与第一实例的当前渲染图像相比示出第一用户的过去进程的至少一个渲染图像;以及与第二用户相关联的多个第二快照,其中所述多个第二快照包括示出视频游戏中在当前渲染图像之后的点处第二用户的进程的至少一个渲染图像。

在另一个实施方案中,公开了一种用于在游戏世界中导航的方法。所述方法包括通过流式游戏服务执行视频游戏,所述视频游戏在通过网络通信的用户装置的显示器上渲染,所述用户装置与第一用户相关联。所述方法包括生成用于显示用户装置的视频游戏的多个场景,所述场景前进通过视频游戏的不同路径。所述方法包括生成用于与当前渲染场景一起显示的时间线,其中所述时间线包括多个第一缩略图,所述多个第一缩略图示出与第一用户在视频游戏中的进程相关联的快照图像,其中所述时间线包括示出与第二用户在视频游戏中的未来进程相关联的快照图像的多个第二缩略图,其中选择所述多个第二缩略图中的第一缩略图使得能够跳转至为第二用户渲染的视频游戏的未来状态。

在一个实施方案中,公开一种用于游戏的方法。所述方法包括从与用户相关联的客户端装置接收对游戏应用程序的玩家的游戏情节的视频记录的选择。所述方法包括将所述视频记录流式传输至客户端装置,其中所述视频记录与在玩家的游戏情节中的第一点处捕获的快照相关联。所述方法包括从客户端装置接收对所记录游戏情节中的跳转点的选择,并基于快照起始游戏应用程序的实例,其中所述实例将跳转游戏情节实例化。所述方法包括访问与快照相关联并用于指导游戏情节的输入命令序列。所述方法包括基于所述输入命令序列而在游戏应用程序的实例处生成多个图像帧,以用于在客户端装置处渲染,其中所述多个图像帧从所述第一点至所述跳转点重放所述游戏情节。所述方法包括在游戏应用程序的所述实例处从所述跳转点开始处理来自客户端装置的输入命令。

在一个实施方案中,公开一种用于游戏的方法。所述方法包括通过网络向与用户相关联的客户端装置传递游戏应用程序的玩家的游戏情节的视频记录,其中所述视频记录与在所述玩家的游戏情节中的第一点处捕获的快照相关联。所述方法包括从客户端装置接收对游戏情节中的跳转点的选择。所述方法包括基于快照起始游戏应用程序的实例,其中所述实例将跳转游戏情节实例化。所述方法包括访问用于指导游戏情节的输入命令序列,其中所述输入命令序列与所述快照相关联。所述方法包括基于所述输入命令序列而在游戏应用程序的所述实例处生成多个图像帧,以用于在客户端装置处渲染。所述多个图像帧从所述第一点至所述跳转点重放所述玩家的所述游戏情节。所述方法包括在所述游戏应用程序的所述实例处从所述跳转点开始处理来自客户端装置的输入命令。

公开另一种用于游戏的方法。所述方法包括基于在玩家的游戏情节中的第一点处捕获的起始快照而起始游戏应用程序的实例。所述方法包括访问与快照相关联并用于指导游戏情节的输入命令序列。所述方法包括基于所述输入命令序列而在游戏应用程序的所述实例处生成多个图像帧,以用于在用户的客户端装置处渲染,其中所述多个图像帧从游戏情节中的所述点开始重放游戏情节。所述方法包括从客户端装置接收与所述多个图像帧中的第一图像帧相对应的开始跳转游戏的起始请求,其中所述第一图像帧对应于游戏情节中的跳转点。所述方法包括在执行跳转游戏情节的游戏应用程序的所述实例处从所述跳转点开始处理来自客户端装置的输入命令。

在另一个实施方案中,公开一种被配置用于游戏的游戏云系统。所述游戏云系统包括游戏服务器,所述游戏服务器被配置成管理多个虚拟游戏引擎,所述多个虚拟游戏引擎被配置成与玩所述游戏应用程序的多个用户相关联地执行游戏应用程序的多个实例,其中所述虚拟游戏引擎被配置成捕获从执行所述多个实例生成的渲染图像的多个快照,并捕获与所述多个快照中的每一个相关的信息,其中与对应快照相关的信息实现从对应快照开始执行游戏应用程序的实例。所述游戏云系统包括快照数据存储装置,用于存储所述多个快照;以及用户数据存储装置,用于存储所述信息。所述游戏云系统包括虚拟游戏引擎,所述虚拟游戏引擎被配置成通过网络向与用户相关联的客户端装置传递游戏应用程序的玩家的游戏情节的视频记录。所述视频记录与在所述玩家的游戏情节中的第一点处捕获的快照相关联。所述虚拟游戏引擎被配置成从客户端装置接收对游戏情节中的跳转点的选择。所述虚拟游戏引擎被配置成基于快照起始游戏应用程序的实例,其中所述实例将跳转游戏情节实例化。所述虚拟游戏引擎被配置成访问用于指导游戏情节的输入命令序列,其中所述输入命令与所述快照相关联。所述虚拟游戏引擎被配置成基于所述输入命令序列而在游戏应用程序的所述实例处生成多个图像帧,以用于在客户端装置处渲染。所述图像帧从所述第一点至所述跳转点重放所述游戏情节。所述虚拟游戏引擎被配置成在执行跳转游戏情节的游戏应用程序的实例处从所述跳转点开始处理来自客户端装置的输入命令。

通过以下结合附图的详细描述,本公开的其它方面将变得显而易见,附图通过实例的方式示出了本公开的原理。

附图说明

通过参考结合附图的以下描述可以最佳地理解本公开,附图中:

图1示出根据本公开的一个实施方案的系统,所述系统用于保存在云游戏网络上执行的多个用户的视频游戏的游戏情节期间生成的快照。

图2示出根据本公开的实施方案的系统图,所述系统用于实现访问并玩存储在游戏云系统(gcs)中的视频游戏,存储与游戏情节相关联地生成的快照,通过快照预览所存储游戏情节,通过快照在视频游戏中导航,以及通过快照跳转至所存储游戏情节中。

图3a是根据本公开的一个实施方案的在用户进行视频游戏的游戏情节期间显示的时间线以及另一个用户的游戏情节的快照图像的图示,其中所述时间线示出用户的游戏情节的快照图像。

图3b是根据本公开的一个实施方案的在用户进行视频游戏的游戏情节期间显示的一个或多个时间线的图示,其中时间线示出一个或多个用户的视频游戏的游戏情节的快照图像。

图4a是根据本公开的一个实施方案的时间线的图示,所述时间线示出至少一个用户的视频游戏的游戏情节的快照图像,其中对快照的选择实现快照图像的放大视图。

图4b是根据本公开的一个实施方案的一个或时间线的图示,每个时间线示出至少一个用户的视频游戏的游戏情节的快照图像,其中对快照的选择实现快照图像的放大视图。

图5a是根据本公开的一个实施方案的视频游戏的游戏情节的节点图的图示,其中所述节点图与用户进行视频游戏的游戏情节期间的时间线以及另一个用户的游戏情节的快照图像一起显示,其中所述时间线示出所述用户的游戏情节的快照图像。

图5b是根据本公开的一个实施方案的通用节点图或节点树的图示,其示出视频游戏中可用的所有可能路径。

图5c是根据本公开的一个实施方案的节点图的图示,所述节点图示出与在视频游戏的游戏情节期间捕获的快照相关联地生成的节点层次结构,其中所述节点图与用户进行视频游戏的游戏情节期间的时间线以及另一个用户的游戏情节的快照图像一起显示,其中所述时间线示出所述用户的游戏情节的快照图像。

图6a是根据本公开的一个实施方案的与选定快照节点紧密且线性对准的快照节点集群的图示,其中可以通过时间线或节点图来选择所述快照节点。

图6b是根据本公开的一个实施方案的与选定快照节点紧密且非线性对准的快照节点集群的图示,其中可以通过时间线或节点图来选择所述快照节点。

图6c至图6f是根据本公开的一个实施方案的对应于与选定快照节点紧密对准的快照节点群集的快照图像的图示。

图7是根据本公开的一个实施方案的在视频游戏的游戏情节期间捕获的快照,以及将这些快照中的每个快照存储在快照数据库的一个或多个主文件中的图示。

图8是根据本公开的一个实施方案的视频游戏的用户的游戏情节的多个片段的图示,包括所述用户基于在视频游戏的另一游戏情节期间由同一或另一用户捕获的快照而进入单独跳转游戏情节的中间跳转。

图9是根据本公开的一个实施方案的流程图,其示出用于在游戏世界中导航的方法中的步骤。

评论说明:此处开始为第二种情况

图10示出根据本公开的一个实施方案的用于通过视频记录进行游戏情节访问的系统的组件,,所述系统允许用户基于在玩家的游戏情节期间由系统生成和捕获的快照而跳转至参与游戏应用程序的任何玩家的所存储游戏情节中。

图11是根据本公开的一个实施方案的流程图,其示出用于游戏的方法中的步骤,并且更具体地,允许用户基于在游戏情节期间生成和捕获的快照而跳转至参与游戏应用程序的玩家的所存储游戏情节中的方法中的步骤,其中可以通过所存储游戏情节的视频记录来选择快照。

图12a是根据本公开的一个实施方案的参与游戏应用程序的玩家的所存储游戏情节的视频记录中的多个视频帧的图示,其中一些视频帧与对应的快照相关联,其中对视频帧的选择基于在玩家的游戏情节期间捕获的相关快照而实例化游戏应用程序的实例以执行跳转游戏情节,使得可由请求用户玩跳转游戏情节。

图12b是根据本公开的一个实施方案的在用户进行游戏应用程序的游戏情节期间显示的时间线的图示,其中时间线示出玩家进行游戏应用程序的游戏情节的快照图像,其中在时间线中对快照图像的选择提供用于显示大致对应于与快照图像相关联的游戏情节中的点的游戏情节的视频记录,并且其中对视频记录中的视频帧的选择基于在玩家的游戏情节期间捕获的快照而实例化游戏应用程序的实例以执行跳转游戏情节,使得可由用户玩跳转游戏情节。

图13a是根据本公开的一个实施方案的先前用于指导参与游戏应用程序的玩家的所存储游戏情节的多个输入命令的图示,其中输入命令的一部分(例如,序列)用于实施跳转游戏情节的重放部分。

图13b是根据本公开的一个实施方案的对应于跳转游戏情节的跳转点的图像帧的图示,其中自动执行跳转游戏情节以使用指导游戏情节的所保存输入命令重放玩家的游戏情节直到跳转点,之后跳转游戏情节通过处理来自请求用户的输入命令变成直播。

图14是根据本公开的一个实施方案的在跳转游戏情节期间呈现的输入命令序列的图示,所述跳转游戏情节基于在参与游戏应用程序的玩家的游戏情节期间捕获的快照而实例化,其中自动执行所述输入命令序列以重放玩家的游戏情节直到跳转点,之后跳转游戏情节通过处理来自请求用户的输入命令变成直播,并且其中请求用户可以模仿输入命令序列,以指导与对应图像帧中的原始和对应对象一起呈现的重影对象。

图15a至图15e是根据本公开的一个实施方案的在跳转游戏情节期间的图像帧序列中,由所存储游戏情节的所保存输入命令指导的模仿对应对象的移动的重影对象的图示,所述跳转游戏情节基于在与参与游戏应用程序的玩家相关联的所存储游戏情节期间捕获的快照而实例化,其中自动执行所保存输入命令以重放游戏情节直到跳转点,之后跳转游戏情节通过处理来自请求用户的输入命令变成直播。

图16是根据本公开的一个实施方案的用于引导玩家至跳转游戏情节中的跳转点的特征的图示,所述跳转游戏情节基于在与参与游戏应用程序的玩家相关联的所存储游戏情节期间捕获的快照而实例化。

图17是根据本公开的一个实施方案的流程图,其示出用于游戏的方法中的步骤,并且更具体地,允许用户基于在游戏情节期间生成和捕获的快照而跳转至参与游戏应用程序的玩家的所存储游戏情节中的方法中的步骤。

图18是根据本公开的实施方案的示出抬头显示器的组件的图。

图19是根据本公开的各种实施方案的游戏系统的框图。游戏系统被配置成通过网络向一个或多个客户端提供视频流。

具体实施方式

尽管出于说明的目的,以下详细描述包含许多具体细节,但是所属领域的普通技术人员将理解,对以下细节的许多变化和改变都在本公开的范围内。因此,阐述了下面描述的本公开的各方面,而不失一般性且不对本说明书所附的权利要求书施加限制。

一般而言,本公开的各种实施方案描述特别是当在基于云的游戏系统上执行时的系统和方法,其提供用于保存在多个用户的视频游戏的游戏情节期间生成的快照,在视频游戏中导航,预览视频游戏,以及跳转至视频游戏中的选定点以体验另一个用户的游戏情节。快照可以在玩视频游戏的用户的时间线中显示。所述时间线中的选定快照包含元数据和/或信息,所述元数据和/或信息实现在对应于选定快照的视频游戏中的跳转点处实例化视频游戏的实例。即使请求用户可能与原始用户不同,也与在先前执行的游戏情节中生成选定快照的原始用户相关联地执行在跳转点开始的视频游戏的实例。本公开的实施方案提供了加载和执行先前不可用的同一用户或另一个用户的视频游戏的实例的方式。以此方式,用户能够主动预览其它用户的游戏情节,而不会有损其自己的游戏情节。此外,用户能够主动预览其自己先前的游戏情节,而不会有损其自己当前的游戏情节。正是在这种背景下,出现了本公开的实施方案。

因此,本公开的实施方案提供游戏应用程序的附加用途。例如,本公开的实施方案提供用于用户基于游戏应用程序的先前游戏情节跳转至所述游戏应用程序的任何部分。例如,在一些实施方案中,通过选择快照图像(例如,屏幕截图),访问对应的快照信息以实现跳转至所述游戏应用程序中。其它实施方案还提供用于用户基于游戏应用程序的先前游戏情节的视频记录而跳转至所述游戏应用程序的任何部分。例如,通过从视频记录中选择视频图像(例如,所述视频图像可以对应于快照图像),访问与所述视频图像(或快照图像)相关联的对应快照信息以实现跳转至所述游戏应用程序中。以此方式,用户能够快速玩游戏应用程序的迷你部分以享受游戏乐趣,或探索如何成功地在游戏应用程序的困难部分中导航。无需用户使用初始启动序列加载游戏应用程序就可以访问迷你部分。此外,不受欢迎的旧应用程序将产生新的兴趣,因为用户不需要玩整个游戏来进入有趣的部分(例如,与有级别的boss、或最终boss对战),而是可以直接去往即时游戏情节的有趣部分。其它实施方案提供了上述成就,并提供了包括更好地利用游戏服务器的附加益处和优点,因为不是从头开始执行初始化序列(例如,当用户首次从头开始加载游戏应用程序时),游戏服务器仅需要从中点或跳转点开始执行游戏应用程序。因此,通过从选定跳转点直接加载开始游戏所需的代码,游戏服务器跳过初始化序列,并且还跳过任何其它可执行序列以导航至游戏应用程序中的跳转点。

通过以上对各种实施方案的一般理解,现在将参考各附图描述实施方案的实例细节。

在整个说明书中,对“视频游戏”的引用旨在表示通过执行输入命令进行指导的任何类型的交互式应用程序。仅出于说明目的,交互式应用程序包括用于游戏、文字处理、视频处理、视频游戏处理等的应用程序。此外,术语视频游戏和游戏应用程序是可互换的。

快照捕获和游戏情节访问

图1示出根据本公开的一个实施方案的系统,所述系统用于保存在云游戏网络上执行的多个用户的视频游戏的游戏情节期间生成的快照,预览一个或多个用户的视频游戏的游戏情节,在视频游戏中导航,以及跳转至视频游戏中的选定点以体验同一用户或另一个用户的游戏情节。在一些实施方案中,云游戏网络可以包括在主机的管理程序上运行的多个虚拟机(vm),其中一个或多个虚拟机被配置成利用可用于主机的管理程序的硬件资源来执行游戏处理器模块。

如图所示,系统10包括执行游戏处理器模块210的游戏服务器205,所述游戏处理器模块提供对多个交互式视频游戏的访问。游戏服务器205可以是云中可用的任何类型的服务器计算装置,并且可以被配置为在一个或多个主机上执行的一个或多个虚拟机。例如,游戏服务器205可以管理支持游戏处理器210的虚拟机。

客户端装置100被配置用于请求通过例如因特网的网络150访问视频游戏,以及用于渲染由游戏服务器205执行并传递至与用户5相关联的显示装置12的视频游戏的实例。例如,用户5可以通过客户端装置100与在游戏处理器210上执行的视频游戏的实例进行交互。客户端装置100可以接收来自例如游戏控制器6、平板计算机11、键盘的各种类型的输入装置的输入,以及由摄像机、鼠标、触摸板等捕获的手势。客户端装置100可以是具有能够通过网络150连接至游戏服务器205的至少存储器和处理器模块的任何类型的计算装置。客户端装置100的一些实例包括个人计算机(pc)、游戏控制台、家庭影院装置、通用计算机、移动计算装置、平板电脑、电话,或可以与游戏服务器205交互以执行视频游戏的实例的任何其它类型的计算装置。

客户端装置100被配置用于接收由游戏服务器205传递的渲染图像,并用于在显示器12上显示渲染图像。例如,渲染图像可以与在同用户5相关联的游戏服务器205的游戏执行引擎211上执行的视频游戏的实例相关联。具体地,客户端装置100被配置成例如通过用于推进游戏情节的输入命令与同用户5的游戏情节相关联的视频游戏的实例交互。

此外,客户端装置100被配置成与游戏服务器205交互以在玩视频游戏时捕获和存储用户5的游戏情节的快照。另外,客户端装置100被配置成与游戏服务器205交互以显示时间线,所述时间线包括用户5的游戏情节的快照以及玩同一视频游戏的其它用户的所保存游戏情节的快照。在一个实施方案中,每个快照使用户5能够在对应于选定快照的视频游戏中的跳转点处跳转至所保存游戏情节中,其中所保存游戏情节可以与不同于用户5的另一个用户相关联。

更具体地,游戏服务器205的游戏处理器210被配置成在用户5玩视频游戏时生成所述用户的游戏情节的快照。与其它虚拟机相关联的游戏服务器205的其它游戏处理器被配置成执行与其它用户的游戏情节相关联的视频游戏的实例并在那些游戏情节期间捕获快照。如前所述,视频游戏的实例与用户5的游戏情节相关联地在游戏执行引擎211上执行。

快照生成器212被配置成捕获从用户5的游戏情节生成的多个快照。每个快照提供实现从与对应快照相关联的视频游戏中的点开始执行视频游戏的实例的信息。在视频游戏的游戏情节期间由用户5自动生成快照。在实施方案中,每个快照的部分存储在独立配置或在数据存储装置140下配置的相关数据库中。在另一个实施方案中,可以通过用户5的指令手动生成快照。以此方式,任何用户通过选择对应快照可以在与对应快照相关联的视频游戏中的点处跳转至用户5的游戏情节中。游戏处理器210被配置成访问数据库140中的信息,以便实现基于对应快照跳转至任何用户的所保存游戏情节中。也就是说,请求用户能够使用生成并保存快照的原始用户的游戏情节的游戏角色在与选定快照相对应的跳转点开始玩视频游戏。

具体地,每个快照包括元数据和/或信息,以实现在与快照相对应的视频游戏中的点处开始执行视频游戏的实例。例如,在用户5的游戏情节中,可以在视频游戏的进程中的特定点处,例如在级别的中间生成快照。相关快照信息存储在数据库140的一个或多个数据库中。指针可以用于使对应于特定快照的每个数据库中的信息相关。以此方式,希望体验用户5的游戏情节的另一个用户可以选择与感兴趣的视频游戏中的点相对应的快照。

快照包括在所述点处渲染的场景的快照图像。所述快照图像存储在快照图像数据库146中。以时间线中的缩略图形式呈现的快照图像提供用户在视频游戏中的进程中的对应点处所述用户的游戏情节的视图。

快照还包括定义所述点处的游戏状态的游戏状态数据。例如,游戏状态数据可以包括游戏角色、游戏对象、游戏对象属性、游戏属性、游戏对象状态、图形叠加等。以此方式,游戏状态数据允许生成视频游戏中的对应点处存在的游戏环境。游戏状态数据还可以包括用于渲染游戏情节的每个装置的状态,例如cpu的状态、gpu的状态、存储器的状态、寄存器值、程序计数器值、可编程dma状态,dma的缓冲数据、音频芯片状态、cd-rom状态等。游戏状态数据还可以识别需要加载可执行代码的哪些部分以从所述点执行视频游戏。并非所有游戏状态数据都需要被捕获和存储,只有足以使可执行代码在对应于快照的点处起始游戏的数据才被捕获和存储。游戏状态数据存储在游戏状态数据库145中。

快照还包括用户保存数据。通常,用户保存数据包括为对应用户个性化视频游戏的信息。这包括与用户角色相关联的信息,以便用对于用户可能是唯一的角色(例如,形状、外观、衣服、武器等)来渲染视频游戏。以此方式,用户保存数据实现生成对应用户的游戏情节的角色,其中所述角色具有对应于与快照相关联的视频游戏中的点的状态。例如,用户保存数据可以包括用户5在玩游戏时选择的游戏难度、游戏级别、角色属性、角色位置、剩余生命数、可用生命总数、护甲、奖品、时间计数器值等。用户保存数据还可以包括例如标识用户5的用户配置文件数据。用户保存数据存储在数据库141中。

另外,快照还包括由人工智能(ai)模块215生成的随机种子数据。随机种子数据可以不是原始游戏代码的一部分,但是可以叠加方式添加以使游戏环境看起来更真实和/或吸引用户。也就是说,随机种子数据为存在于用户的游戏情节中的对应点处的游戏环境提供附加特征。例如,ai角色可以随机生成并以叠加方式提供。ai角色不与玩游戏的任何用户相关联,而是被放置在游戏环境中以增强用户的体验。作为说明,这些ai角色可以在城市场景中随机地走在街道上。另外,可以生成其它对象并以叠加方式呈现。例如,可以生成背景中的云和在空间中飞行的鸟并以叠加方式呈现。随机种子数据存储在随机种子数据库143中。

以此方式,希望体验用户5的游戏情节的另一用户可以选择与感兴趣的视频游戏中的点相对应的快照。例如,用户选择在时间线或节点图中的节点中呈现的快照图像使得游戏处理器210的跳转执行引擎216能够访问对应快照,基于快照实例化视频游戏的另一个实例,以及从对应于快照的视频游戏中的点开始执行视频游戏。以此方式,快照使请求用户能够在对应于快照的所述点处跳转至用户5的游戏情节中。

游戏处理器210包括时间线生成器213,其显示玩视频游戏的用户5的时间线。所述时间线包括前进通过视频游戏的至少一个用户(例如,用户5和/或其它用户)的快照图像,其中所述快照图像相对于与用户5相关联地执行的视频游戏的实例的当前渲染图像呈现。每个快照图像对应于用户5在视频游戏中的进度中的特定点处捕获的特定快照。例如,与用户5的游戏情节相关联地生成的快照和快照图像对应于在与用户5的游戏情节相关联地执行的视频游戏的实例的当前渲染图像之前出现的视频游戏中的点。也就是说,用户5先前玩过视频游戏中的那些点,并且对应于那些点生成了多个快照和快照图像。

另外,与第二用户的游戏情节相关联地生成的快照及其对应的快照图像可以对应于在用户5的游戏情节的当前渲染的图像之前或之后出现的视频游戏中的点。也就是说,当玩视频游戏时,第二用户可能比用户5更进一步前进。因此,对应于第二用户的游戏情节的快照可以出现在与用户5的游戏情节相关联的当前渲染图像之前的视频游戏中的点处,或者可以出现在当前渲染图像之后的点处。时间线可以包括与当前渲染图像之后出现的视频游戏中的点相对应的快照图像,和/或可以包括与当前渲染图像之前出现的视频游戏中的点相对应的快照图像。

在一个实施方案中,在时间线中呈现的快照可以用于由用户5访问其它用户的游戏情节。也就是说,在时间线中选择选定快照使得用户5能够在对应于所述快照的点处跳转至另一个用户的游戏情节中。例如,跳转游戏执行引擎216从各种数据库(例如,从数据库140)收集快照(例如,元数据和/或信息),以便在对应于选定快照的点处开始执行视频游戏。在一个实施方案中,用户5的游戏情节不受跳转至另一个用户的游戏情节的影响。

在另一个实施方案中,用户5可以使用时间线中呈现的快照来访问在当前渲染图像之前出现的用户自己的游戏情节中的点。例如,可以在用户5的游戏情节中生成快照,并在时间线中呈现快照。用户5对快照的选择使得执行引擎216能够从各种数据库(例如,从数据库140)收集快照(例如,元数据和/或信息),以便在对应于选定快照的前一点处开始执行视频游戏。以此方式,用户5可以返回并重放视频的某些部分(例如,前一级)。在一个实施方案中,用户5的当前游戏情节不受跳转至同一用户的前一游戏情节的影响。

游戏处理器210还包括节点图生成器214。当用户5前进通过视频游戏时,生成通过游戏的路径。另一个用户可以生成通过视频游戏的不同路径,尤其是在视频游戏很复杂的情况下。路径可以是由视频游戏建立的通用逻辑路径的一部分,其中通用逻辑路径包括任何用户在玩视频游戏时可以采用的所有路径。因此,与用户5的游戏情节相关联的路径可以是通用逻辑路径的子集,并且定义用户5在视频游戏中的进程。可以在通用逻辑路径中的各个点处定义逻辑节点。例如,通过图示的方式,可以在游戏开始、级别开始、游戏结束、级别结束、允许用户在两个或更多个可选路径之间进行选择的分叉、视频游戏中的关键点等处建立节点。

另外,可以在与用户5的游戏情节相关联的路径中的各个点处定义节点,或者更一般地,在与任何用户的游戏情节相关联的路径中的各个点处定义节点。例如,可以与快照相关联地定义节点。可以周期性间隔(例如,每分钟、5分钟、10分钟等)定义这些节点。另外,可以由用户手动定义这些节点。为了说明,也可以在游戏开始、级别开始、游戏结束、级别结束、允许用户在两个或更多个可选路径之间进行选择的分叉、视频游戏中的关键点等处建立这些节点。

图2示出根据本公开的实施方案的系统图200,所述系统用于实现访问并玩存储在游戏云系统(gcs)201中的视频游戏。一般而言,游戏云系统gcs201可以是在网络220上操作以支持多个用户的云计算系统。另外,gcs201被配置成保存在多个用户的视频游戏的游戏情节期间生成的快照,其中可以使用快照在对应于所述快照的视频游戏的点处开始起始请求用户的视频游戏的实例。另外,gcs201通过使用快照使用户能够在视频游戏中导航,并预览视频游戏的过去和未来场景。此外,快照使请求用户能够通过对应快照跳转至视频游戏中的选定点以体验另一个用户的游戏情节。具体来说,系统200包括gcs201、一个或多个社交媒体提供者240和用户装置230,所有这些都通过网络220(例如,因特网)连接。一个或多个用户装置可以连接至网络220以访问由gcs201和社交媒体提供者240提供的服务。

在一个实施方案中,游戏云系统201包括游戏服务器205、视频记录器271、标签处理器273和包括用户配置文件管理器的账户管理器274、游戏选择引擎275、游戏会话管理器285、用户访问逻辑280、网络接口290和社交媒体管理器295。gcs201还可以包括多个游戏存储系统,例如游戏状态存储装置、随机种子存储装置、用户保存数据存储装置、快照存储装置,其一般可以存储在数据存储装置140中。其它游戏存储系统可以包括游戏代码存储装置261、所记录游戏存储装置262、标签数据存储装置263、视频游戏数据存储装置264和游戏网络用户存储装置265。在一个实施方案中,gcs201是可以提供游戏应用程序、服务、游戏相关数字内容以及系统、应用程序、用户和社交网络之间的互连性的系统。gcs201可以经由网络接口290通过社交媒体管理器295与用户装置230和社交媒体提供者240通信。社交媒体管理器295可以被配置成使一个或多个朋友相关。在一个实施方案中,每个社交媒体提供者240包括示出用户社交网络连接的至少一个社交图245。

用户u0能够通过游戏会话管理器285访问由gcs201提供的服务,其中用户u0可以代表图1的用户5。例如,账户管理器274使用户u0能够认证和访问gcs201。账户管理器274存储关于成员用户的信息。例如,每个成员用户的用户配置文件可以由账户管理器274管理。以此方式,账户管理器274可以使用成员信息用于认证目的。例如,账户管理器2274可以用于更新和管理与成员用户相关的用户信息。另外,成员用户拥有的游戏标题可以由账户管理器274管理。以此方式,存储在数据存储装置264中的视频游戏可用于拥有所述视频游戏的任何成员用户。

在一个实施方案中,用户(例如,用户u0)可以通过网络220上的连接借助用户装置230访问由gcs201和社交媒体提供者240提供的服务。用户装置230可以包括具有处理器和存储器的、有线或无线的、便携式或不是便携式的任何类型的装置。在一个实施方案中,用户装置230可以是智能电话、平板计算机的形式或以便携式形状因子提供触摸屏功能的混合形式。一个示例性装置可以包括便携式电话装置,其运行操作系统并且访问可以通过网络220获得并且在本地便携式装置(例如,智能电话、平板电脑、膝上型计算机、台式机等)上执行的各种应用程序(app)。

用户装置230包括显示器232,其充当用户u0发送输入命令236以及显示从gcs201和社交媒体提供者240接收的数据和/或信息235的界面。显示器232可以被配置成触摸屏,或通常由平板显示器、阴极射线管(crt)或能够渲染显示器的其它装置提供的显示器。替代地,用户装置230可以使其显示器232与所述装置分离,类似于台式计算机或膝上型计算机。

在一个实施方案中,用户装置130被配置成与gcs201通信以使用户u0能够玩视频游戏。例如,用户u0可以通过游戏选择引擎275选择(例如,通过游戏标题等)在视频游戏数据存储装置264中可用的视频游戏。以此方式,启用并加载选定视频游戏,以由游戏服务器205在gcs201上执行。在一个实施方案中,游戏情节主要在gcs201中执行,使得用户装置230将从gcs201接收游戏视频帧235的流,并且用于推进游戏情节的用户输入命令236被传输回gcs201。在用户装置230的显示器232中示出来自流式游戏情节的所接收视频帧235。

在一个实施方案中,在用户u0选择要玩的可用游戏标题之后,用户u0可以通过游戏会话管理器285起始所选游戏标题的游戏会话。游戏会话管理器285首先访问数据存储装置140中的游戏状态存储装置以检索用户u0(对于选定游戏)所玩的最后一个会话的所保存游戏状态(如果有的话),以便用户u0可以从前一游戏情节停止点重新开始游戏情节。一旦识别出恢复或开始点,游戏会话管理器285就可以通知游戏处理器210中的游戏执行引擎执行来自游戏代码存储装置261的所选游戏标题的游戏代码。在起始游戏会话之后,游戏会话管理器285可以通过网络接口290将游戏视频帧235(即,流式视频数据)传递至用户装置,例如用户装置230。

在游戏情节期间,游戏会话管理器285可以与游戏处理器210、记录引擎271和标签处理器273通信以生成或保存游戏情节或游戏情节会话的记录(例如,视频)。在一个实施方案中,游戏情节的视频记录可以包括在游戏情节期间输入或提供的标签内容,以及其它游戏相关的元数据。标签内容也可以通过快照保存。游戏情节的视频记录以及对应于所述游戏情节的任何游戏度量可以保存在所记录游戏存储装置262中。任何标签内容可以保存在标签数据存储装置263中。

在游戏情节期间,游戏会话管理器285可以与游戏处理器204通信以传递和获得用户输入命令236,所述用户输入命令用于影响视频游戏的对应游戏情节的结果。由用户u0输入的输入命令236可以从用户装置230传输至gcs201的游戏会话管理器285。输入命令236,包括用于推进游戏情节的输入命令可以包括用户交互式输入,例如包括标签内容(例如,文本、图像、视频记录剪辑等)。游戏输入命令以及任何用户玩游戏度量(用户玩游戏的时间等)可以存储在游戏网络用户存储装置中。选择与视频游戏的游戏情节相关的信息可以用于启用用户可用的多个特征。

因为通过多个用户在gcs201上执行游戏情节,所以从那些游戏情节生成并存储的信息使得任何请求用户都能够体验其它用户的游戏情节,特别是当通过gcs201执行游戏情节时。具体来说,gcs201被配置成保存通过gcs201由玩视频游戏的用户的游戏情节生成的快照。在用户u0的情况下,用户装置提供允许用户u0在游戏情节期间与视频游戏交互的界面。生成用户u0进行的游戏情节的快照并将其保存在gcs201上。

此外,用户装置130被配置成提供允许用户u0使用快照预览视频游戏的界面。例如,通过观看游戏情节或一个或多个用户的快照图像,用户u0能够在视频游戏中的任何点处预览视频游戏的一个或多个部分,只要另一个用户已经玩过所述点并且生成快照。另外,用户装置130被配置成提供允许用户u0在视频游戏中导航的界面。例如,快照可以用于生成节点图,所述节点图示出前进通过视频游戏的一个或多个用户所采用的路径。

此外,用户装置130被配置成使用在用户u0或另一个用户的游戏情节中生成的快照来提供实现跳转至视频游戏中的选定点的界面。以此方式,用户u0能够体验任何其它用户的游戏情节,或者返回并查看和/或重放其自己的游戏情节。也就是说,通过对应游戏情节的快照,请求用户使用在所述游戏情节中使用并对应于所述游戏情节的角色来玩视频游戏。

在玩视频游戏的用户的背景下描述图3至图8。通常,视频游戏可以是对用户输入作出响应的任何交互式游戏。仅出于说明的目的,关于图3至图8描述的视频游戏可以是冒险游戏,其中角色在穿越世界时遇到各种障碍和挑战。角色可以在视频游戏中徒步旅行或通过任何机械化手段旅行。此外,角色可能会遇到一个或多个挑战,这些挑战可能会在从开始至结束前进通过视频游戏时导致延迟。

在整个说明书中,在图3至图8的一个或多个时间线中的时间的使用旨在示出视频游戏中的进程,而不一定是用户玩视频游戏多长时间的度量。

图3a是根据本公开的一个实施方案的在用户进行视频游戏的游戏情节期间显示的时间线310a以及另一个用户的游戏情节的快照图像的图示,其中所述时间线示出用户的游戏情节的快照图像。此外,在一个实施方案中,时间线310a由gcs201的游戏服务器205的游戏处理器210的时间线生成器213生成。时间线310a可以用于快速预览用户进行的先前游戏情节,以及一个或多个其它用户的游戏情节。

当游戏处理器210的游戏执行引擎211实例化视频游戏的实例时,显示窗口350a和时间线310a。例如,窗口300示出在针对特定视频游戏的用户的游戏情节期间的渲染图像305。所述渲染图像与用户在视频游戏中的进程中的当前点相关联。如图所示,在渲染图像305中,表示游戏情节中的用户的角色306在摩托车上。角色306骑在通过山区的道路上,但是遇到了落石307。在用户的游戏情节中,角色选择为头发短而直的男性,如渲染图像305中所示。此时,用户可能对在视频游戏中的进展感到沮丧,并且可能想要探索落石周围进行操纵的道路。例如,用户可能想要预览其它用户的游戏情节以探索允许用户经过落石的解决方案,并且探索视频游戏中超出用户的当前进程的点处的未来体验,如渲染图像305中所呈现的那样。可以通过时间线310a,更具体地通过如时间线310a中所显示的快照图像及其对应的快照来启用对这些其它游戏情节的探索。如先前所介绍,快照实现从与对应快照相关联的视频游戏中的点开始执行对应视频游戏的实例。具体地,用户进一步选择在时间线或节点图中的节点中呈现的快照图像使得游戏处理器210的跳转执行引擎216能够访问对应快照,基于快照实例化视频游戏的另一个实例,并且在对应于快照的视频游戏中的点处开始执行视频游戏。

时间线310a显示在窗口350a中。通常,可以在窗口350a中显示包括一个或多个用户进行的一个或多个游戏情节的快照图像的多个时间线。如图3a所示,窗口350a可以显示单个时间线310a,其中时间线310a包括用户进行的游戏情节的快照图像,以及另一个用户的游戏情节的快照图像。快照图像以缩略图和/或窗口呈现,并且相对于用户的游戏情节中的视频游戏的当前渲染图像显示。例如,在由当前渲染图像305表示的视频游戏中的点之前出现的快照图像可以显示在空白缩略图340c的左侧,并且在所述点之后出现的快照图像可以显示在缩略图340c的右侧。窗口350a还可以显示包括一个或多个用户的视频游戏的一个或多个游戏情节的快照图像的附加时间线,如将关于图3b进一步描述。时间线示出在视频游戏中的进程,而不一定是用户玩视频游戏多长时间的度量。

具体地,时间线310a包括用户进行的游戏情节的快照图像。例如,对应于在用户进行的游戏情节期间捕获的快照的多个快照图像(例如,图像340a、340b、...)以缩略图和/或窗口显示在时间线310a中。一起观看快照图像可快速了解用户的游戏情节的历史情况。例如,快照图像340a示出角色306使摩托车从斜坡或悬崖上跳下。此时在游戏中,角色306有2次可能生命,如快照图像340a的左上角中的两个圆圈所示。此后,在用户在视频游戏中的进程中,快照图像340b示出角色306(仍然有2次可能生命)骑着摩托车穿过森林并且正在接近山区。窗口300中所示的当前渲染图像305示出角色306已到达山区,并且已接近落石307。此时,角色306有两次可能生命。

因为当前显示渲染图像305,并且所述渲染图像表示用户在视频游戏中的进程,所以仅显示表示用户进行的先前游戏情节的快照图像。这些快照图像通常表示在由当前显示的渲染图像305表示的点之前出现的游戏中的点。仅出于说明目的,角色的可能生命总数给出了用户在视频游戏中的进程的粗略估计。然而,当用户玩视频游戏时,一些视频游戏可允许用户来回前进。在一个实施方案中,在任何情况下,在时间线310a中仅可以为用户显示对应于先前渲染图像的快照图像。这些快照图像相对于时间线310a中的当前渲染图像305显示,所述当前渲染图像由空白缩略图340c表示。例如,快照图像可以显示在空白缩略图340c的左侧。通过将在视频游戏中的第一点处捕获的第一快照图像显示在第二快照图像的左侧,可以实现两个快照图像之间的进一步排序,所述第二快照图像在用户在视频游戏中的一般进程中的第一点之后出现的第二点处出现。在另一实施方案中,缩略图340c可以用渲染图像305填充以显示用户在时间线310a中的当前进程。

表示在当前渲染图像305之前出现的视频游戏中的点的快照图像可以按某种方式显示,所述方式将所述快照图像区别于表示在当前渲染图像305之后出现的视频游戏中的点(即,未来点)的快照图像。在一个实施方案中,快照图像可以变灰。也就是说,与当前渲染图像305之前出现的点相对应的快照图像以比与在视频游戏中的进程中稍后出现的点相对应的快照图像更低的强度和/或分辨率显示。支持其它实施方案,例如示出具有交叉影线的快照图像,或模糊快照图像等。

此外,时间线310a包括由另一个用户进行的游戏情节的快照图像。在一个实施方案中,此另一用户可以是通过社交媒体管理器295发现的朋友。快照图像还可以对应于随机用户或高兴趣用户(例如视频游戏中具有高分的用户)的游戏情节。仅出于说明的目的,在关于图3至图8提供的实例中,这些其它用户被称为当前用户的朋友,例如第一朋友f1、第二朋友f2和第三朋友f3。第一朋友f1正在玩角色308,所述角色被描绘为长头发的女性。第二朋友f2正在玩角色309,所述角色被描绘为满头头发的男性。第三朋友f3正在玩角色303,所述角色被描绘为秃头男性。

具体地,时间线310a包括由第二用户(例如,玩女性角色308的朋友f1)进行的游戏情节的快照图像。例如,在缩略图和/或窗口中在时间线310a中显示与第二用户在游戏情节期间捕获的快照相对应的多个快照图像(例如,图像360d、360e、360f、...)。这些快照图像相对于当前渲染图像305显示。例如,显示在空白缩略图340c右侧的快照图像360d、360e和360f出现在视频游戏中当前渲染图像305之后的点处。尽管在时间线310a中未示出,但还可以可选地示出在视频游戏中当前渲染图像周围或之前的点处出现的快照图像(例如,快照图像360a、360b和360c),并且关于在图3b的窗口350b中显示的时间线310b进一步描述所述快照图像。

一起观看快照图像快速了解未来在当前渲染图像305之后出现的点处第二用户(例如,朋友f1)的游戏情节的历史情况。例如,快照图像360d示出角色308考虑如何过河并具有三次可能生命。沿着视频游戏进一步前进,在快照图像360e中,现在具有四次可能生命的角色308正与熊战斗。沿着视频游戏更进一步前进,在快照图像360f中示出现在具有五次可能生命的角色308正驾驶汽车穿过沙漠。

在一个实施方案中,可以根据用户在视频游戏中的进程和可用的快照图像来修改时间线。例如,可能不会显示相对于当前渲染图像305过去出现得太早的快照图像(例如,对于用户或其它用户),也可能不会显示未来太晚出现的快照图像(例如,对于其它用户)。此外,当更改和/或替换其它用户时,在时间线中更新对应快照图像。

图3b是根据本公开的一个实施方案的在用户进行视频游戏的游戏情节期间显示的多个时间线的图示,其中时间线示出一个或多个用户的视频游戏的游戏情节的快照图像。在窗口350b中显示时间线。在一个实施方案中,窗口350b与用户的游戏情节中的当前渲染图像305一起显示。例如,在一个实施方案中,时间线310b、320和330显示在窗口350b中,并且由gcs201的游戏服务器205的游戏处理器210的时间线生成器213生成。时间线可以用于快速预览用户进行的先前游戏情节,以及一个或多个其它用户(例如,朋友、随机用户、感兴趣的用户等)的游戏情节。

如图所示,时间线310b包括用户进行的游戏情节的快照图像(例如,340a、340b、...),如先前关于图3a所讨论。这些快照图像可以缩略图显示,如图3b所示,并且相对于当前渲染图像305布置。例如,这些快照图像显示在当前渲染图像305的左侧,并且通常布置有位于稍后出现的快照图像左侧的第一快照图像,如前所述。

此外,时间线310b包括与第二用户(例如,玩女性角色308的第一朋友f1)进行游戏情节期间捕获的快照相对应的多个快照图像(360a、360b、360c、360d、360e、360f、...)。这些快照图像以缩略图显示在时间线310b中,并且相对于当前渲染图像305布置,如前所述。更具体地,在视频游戏中当前渲染图像周围或之前的点处出现的对应于朋友f1进行游戏情节的快照图像(例如,快照图像360a、360b和360c)也可以可选地包括在所述用户的快照图像(例如,340a、340b、...)下方。视频游戏进程中在当前渲染图像之前的点处出现的快照图像(例如,360a、360b、...)可以被布置在空白缩略图340c的左侧。作为游戏进程的指示,快照图像360a-c示出具有两次可能生命的角色。快照图像360c大致在视频游戏中的进程中与当前渲染图像305相同的点处出现,并且大致位于空白缩略图340c下方。例如,快照图像360c和当前渲染图像305都示出对应角色,每个角色具有两次可能生命。此外,时间线310b中的快照图像通常可以布置成使得第一快照图像位于稍后出现的快照图像的左侧,如前所述。箭头399可以链接与第二用户(朋友f1)相关联的快照图像。

一起观看时,快照图像快速了解第一朋友f1的游戏情节的历史情况。例如,首先在快照图像360a中示出朋友f1的角色308在市中心的城市街道上骑摩托车。此后,在朋友f1在视频游戏中的进程中,快照图像360b示出角色308(有两次可能生命)骑着摩托车穿过森林并且正在接近山区。沿着视频游戏进一步前进,在快照图像360c中角色308骑着摩托车在山路上。例如,朋友f1的角色308可以在渲染图像305中用户的角色306当前遇到的落石周围进行操纵。稍后,在快照图像360d中示出角色308(有三次可能生命)正接近河流。沿着视频游戏更进一步前进,在快照图像360e中角色308(有四次可能生命)正与熊战斗,然后在快照图像360f中示出角色308(有五次可能生命)正驾驶汽车穿过沙漠。

窗口350b示出与另一个用户(例如第二朋友f2)的游戏情节相关联的另一个时间线320。如图所示,时间线320包括朋友f2进行游戏情节的快照图像(370a、370b、370c、370d、370e、...)。在一个实施方案中,这些快照图像可以缩略图显示,并且相对于当前渲染图像305布置。例如,在视频游戏进程中在当前渲染图像之前的点处出现的快照图像(例如,370a、370b、...)大致布置在空白缩略图340c的左侧。如前所述,可以通过使所显示内容变灰来容易地识别这些快照图像。快照图像370c大致在视频游戏中的进程中与当前渲染图像305相同的点处出现,并且大致位于空白缩略图340c下方。在视频游戏进程中在当前渲染图像之后的点处出现的快照图像(例如,370d、370e、...)大致布置在空白缩略图340c的右侧。此外,时间线320中的快照图像通常可以布置成使得第一快照图像位于稍后出现的快照图像的左侧,如前所述。

一起观看时,快照图像快速了解第二朋友f2的游戏情节的历史情况。例如,首先在快照图像370a中示出朋友f2的角色309(有两次可能生命)正涉水过河。此后,在朋友f2在视频游戏中的进程中,快照图像370b示出角色309步行穿过森林,并接近一排高山。沿着视频游戏更进一步前进,在快照图像370c中示出角色309(有两次可能生命)在虚拟山峰登顶。再后来,在快照图像370d中示出角色309(有四次可能生命)自由攀爬山的一面,然后在快照图像370e中示出所述角色乘船穿过湖。

窗口350b示出与另一个用户(例如第三朋友f3)的游戏情节相关联的另一个时间线330。如图所示,时间线330包括朋友f3进行的游戏情节的快照图像(380a、380b、380c、380d、380e、380f、...)。在一个实施方案中,这些快照图像可以缩略图显示,并且相对于当前渲染图像305布置。例如,在视频游戏进程中在当前渲染图像之前的点处出现的快照图像(例如,380a、380b、...)大致布置在空白缩略图340c的左侧。如前所述,可以通过使所显示内容变灰来容易地识别这些快照图像。快照图像380c大致在视频游戏中的进程中与当前渲染图像305相同的点处出现,并且大致位于空白缩略图340c下方。在视频游戏进程中在当前渲染图像之后的点处出现的快照图像(例如,380d、380e、380f、...)大致布置在空白缩略图340c的右侧。此外,时间线320中的快照图像通常可以布置成使得第一快照图像位于稍后出现的快照图像的左侧,如前所述。

一起观看时,快照图像快速了解第三朋友f3的游戏情节的历史情况。例如,首先在快照图像380a中示出朋友f3的角色303(有两次可能生命)正骑摩托车穿过森林。此后,在朋友f3在视频游戏中的进程中,快照图像380b示出角色303(有两次可能生命)正涉水过河。沿着视频游戏更进一步前进,在快照图像380c中示出角色3039(有三次可能生命)划皮划艇顺流而下。再后来,在快照图像380d中示出角色303乘摩托艇穿过湖,然后在快照图像390e中示出角色303正在码头停船。在进展中更稍后,在快照图像380f中示出角色303(有五次可能机会)将乘飞机飞往下一个目的地。

尽管被称为不同的时间线,但是窗口中的所有时间线可以被称为属于玩视频游戏的用户的一个时间线。另外,在一个实施方案中,与其它用户相关联的时间线(例如,时间线320、330以及310的部分)可以用新用户的时间线替换。以此方式,可以向用户展示轮流用户的快照图像。在另一个实施方案中,可以示出更多的时间线,或为了清楚起见可以示出更少数量的时间线。

在又一个实施方案中,窗口350a或350b中的时间线可以显示与完全不同的游戏或内容相关联的快照图像。例如,可以示出时间线以吸引用户预览并尝试另一种视频游戏或观看其它内容。

图4a是根据本公开的一个实施方案的在窗口350a中呈现的时间线310a的图示,其中在图3a中首先介绍了时间线310a,显示至少一个用户的视频游戏的游戏情节的快照图像,其中对快照的选择实现快照图像的放大视图。如前所述,窗口300示出用户进行视频游戏的游戏情节的当前渲染图像305。时间线310a包括在视频游戏中的进程中在当前渲染图像305之前出现的点处用户(玩角色306)进行游戏情节的快照图像(340a、340b、...)。时间线310还包括在视频游戏中的进程中在当前渲染图像305之后出现的点处另一个用户(例如,玩角色308的朋友f1)进行游戏情节的快照图像(360d、360e、360f、...)。

更具体地,在时间线310a中通过缩略图呈现快照图像。因此,取决于缩略图的大小,渲染图像可能太小而不能显示很多细节。用户可以选择快照进行放大。例如,在一个实施方案中,用户可以在呈现快照图像360e的缩略图上滚动光标490a。支持其它方法来选择快照图像进行放大,例如触摸在触摸屏上显示的快照图像。生成窗口410并在选定缩略图的大致相同区域中显示。窗口410显示渲染的快照图像360e,其中窗口410具有足够的大小以使用户能够更好地观看快照图像360e。

为了清楚起见,在框420中呈现快照图像360e的放大图。然而,在一个实施方案中,通过进一步选择窗口410和/或快照图像360e,框420可以显示为示出比窗口410中呈现的快照图像更大的快照图像360e的窗口。如前所述,快照图像360e与另一个用户(例如,玩女性角色308的朋友f1)的游戏情节相关联,并且示出角色308遇到了熊。通过滚动时间线310a中呈现的快照图像并观看放大的图像,用户可以预览朋友f1的游戏情节。以此方式,用户进一步选择由用户在时间线310a和/或节点图中的节点(下文描述)中呈现的选定快照图像使得游戏处理器210的跳转执行引擎216能够访问对应快照,基于所述快照实例化视频游戏的另一个实例,并从对应于所述快照的视频游戏中的点处开始执行视频游戏。例如,用户可以体验另一个用户(例如,朋友f1)的游戏情节,或者返回并重新体验和/或重放其自己的游戏情节。

图4b是根据本公开的一个实施方案的在窗口350b中呈现的一个或时间线的图示,每个时间线示出至少一个用户的视频游戏的游戏情节的快照图像,其中对快照的选择实现快照图像的放大视图。先前关于图3b描述了图4b中所示的时间线,并且所述时间线包括时间线310b、320和330。具体地,时间线310b包括在视频游戏中的进程中在当前渲染图像305之前出现的点处玩角色306的用户进行游戏情节的快照图像。时间线310b还包括与在视频游戏中的进程中在当前渲染图像305之前、大致同时或之后出现的点处玩角色308的朋友f1进行游戏情节期间捕获的快照相对应的快照图像。在一个实施方案中,快照图像以缩略图呈现。时间线320包括与在视频游戏中的进程中在当前渲染图像305之前、大致同时或之后出现的点处玩角色309的朋友f2进行游戏情节期间捕获的快照相对应的快照图像(370a、370b、370c、370d、370e、...)。时间线330包括与在视频游戏中的进程中在当前渲染图像305之前、大致同时或之后出现的点处玩角色303的朋友f3进行游戏情节期间捕获的快照相对应的快照图像。如图4b中所示,进一步描述与时间线320的快照图像的交互,并且因此为了便于理解,未标记时间线310b和330中的快照图像。

更具体地,在时间线310b、320和330中通过缩略图呈现快照图像。因此,取决于缩略图的大小,渲染图像可能太小而不能显示很多细节。用户可以选择任何时间线中的快照进行放大。图4a示出选择与用户相关联的时间线中的快照图像,而图4b示出选择对应于朋友的一个时间线中的快照图像进行放大。例如,在一个实施方案中,用户可以在呈现时间线320中的快照图像370d的缩略图上滚动光标490b。支持其它方法来选择快照图像进行放大,例如触摸在触摸屏上显示的快照图像。生成放大的窗口460并在选定缩略图的大致相同区域中显示所述窗口。窗口460显示渲染的快照图像370d,其中窗口460具有足够的大小(例如,大于对应的缩略图)以使用户能够更好地观看快照图像370d。

为了清楚和理解起见,在框465中呈现快照图像370d的放大图。然而,在一个实施方案中,通过进一步选择窗口460和/或快照图像370d,框465可以显示为示出比窗口460中呈现的快照图像更大的快照图像370d的窗口。如前所述,快照图像370d与朋友f2的游戏情节相关联,并且示出角色309正自由攀爬陡峭的岩壁。通过滚动时间线320中呈现的快照图像并观看放大的图像,用户可以预览朋友f2的游戏情节。以此方式,用户进一步选择由用户在时间线320或对应节点图中的节点(下文进一步详细描述)中呈现的选定快照图像使得游戏处理器210的跳转执行引擎216能够访问对应快照,基于选定快照实例化视频游戏的另一个实例,并从对应于所述选定快照的视频游戏中的点处开始执行视频游戏。

图5a是视频游戏的游戏情节的节点图530的图示,其中所述节点图与首先在图3b中介绍的在用户进行视频游戏的游戏情节期间窗口350b中的时间线310b320和330一起显示。具体地,时间线310b示出在点处玩角色306的用户的游戏情节的快照图像,以及另一个用户(例如,玩角色308的朋友f1)的游戏情节的快照图像,时间线320示出玩角色309的朋友f2进行游戏情节的快照图像,且时间线330示出玩角色303的朋友f3进行游戏情节的快照图像。如前所述,每个时间线中的快照图像相对于当前渲染图像305呈现(例如,如空白缩略图340c所示)。窗口300还示出用户进行视频游戏的游戏情节的当前渲染图像305。

如图5a所示,选择快照图像360e(例如,通过对应缩略图的交互)以在时间线310b中放大。快照图像360e与在当前渲染图像305之后(例如,未来)出现的游戏中的点处朋友f1的游戏情节相关联。具体地,在一个实施方案中,用户可以在呈现时间线310b中的快照图像360e的缩略图上滚动光标590a。支持其它方法来选择快照图像进行放大,例如触摸在触摸屏上显示的快照图像。如前所述,窗口410示出放大的快照图像360e。

此外,在窗口510中呈现节点图530。在一个实施方案中,节点图530包括多个节点,其对应于在用户前进通过视频游戏时角色可以选择的各种路径。在一个实施方案中,节点图530可以在窗口510中呈现为示出视频游戏的所有节点的通用图,如将在图5b中进一步描述。在一个实施方案中,节点图530可以呈现为包括通用图的节点的子集,其示出特别感兴趣的节点,如将关于图5c进一步描述。例如,节点子集可以对应于在一个或多个时间线中显示的快照图像。

虽然窗口510显示在右下角,但应理解,窗口510可位于窗口300中的任何位置。此外,窗口510可具有足够的大小以提供适于观看的信息。进一步的选择可以将窗口510显示为窗口300内的放大窗口,或全屏显示。

如图所示,响应于用户选择时间线310a中的快照图像360e进行放大,可以自动突出显示(例如,加粗、放大、着色等)节点图530中的节点572。节点572大致对应于快照图像360e的位置,并且在视频游戏的领域内为快照图像360e提供背景。也就是说,因为用户对快照图像360e感兴趣,所以通过选择时间线310b中的快照图像360e,呈现窗口410,其示出快照图像360e的较大视图,并且在节点图530中突出显示节点572。还可以通过由用户手动选择节点图530中的节点来突出显示节点572。

总之,节点图530可以自动地或者响应于用户请求而在窗口510中呈现,其中节点图530包括与时间线310a中呈现的快照图像相对应的节点子集。此外,可以呈现并突出显示节点572,其中节点572示出与快照图像360e相对应的视频游戏的游戏情节中的点的大致位置。另外,可以在窗口520中呈现对应于节点372的快照图像360e,其中窗口520大于窗口410,并且可以示出快照图像360e的甚至更大的视图。

以此方式,向用户呈现视频游戏的多维视图。例如,通过渲染图像305向用户呈现其自己的游戏情节的当前视图。用户的游戏情节(例如,通过渲染图像305和用户时间线中的快照图像)也与一个或多个用户的一个或多个时间线一起呈现,其示出在视频游戏中的各个进程点中快速预览其它用户的游戏情节。快照图像可以与节点图一起呈现,其示出与时间线中的快照图像相关联的视频游戏中的路径,或视频游戏中的所有可能路径。

图5b是根据本公开的一个实施方案的通用节点图550或节点树的图示,其示出视频游戏中可用的所有可能路径。通用节点图550可以在图5a的窗口510中显示。例如,视频游戏可以包括由节点551指示的开始点和由节点552指示的结束点。尽管示出一个端点,但是通常通用节点图可以具有一个或多个端点,表示完成视频游戏的一个或多个选项。此外,视频游戏可以具有在对应的通用节点图中表示的一个或多个开始点。

通用节点图550包括多个节点(例如,逻辑节点),其定义在用户前进通过视频游戏时角色可以选择的各种逻辑路径(在说明书中也称为“路径”)。例如,在节点502与503之间定义逻辑路径511。此外,通用节点图550还可以包括节点的子集。例如,作为通用节点图550的子集的节点图530包括与图5b的时间线310b中显示的快照图像相对应的节点和路径。节点图530也在图5a的窗口510中示出。

多个逻辑路径可以被配置成以线性方式从节点至节点前进通过通用图550。例如,用户沿着逻辑路径514和511在节点501至503之间(例如,从节点510至节点502,然后至节点503)以线性方式移动通过节点图530。也就是说,在节点501与节点503之间穿过时没有其它逻辑路径可以采用。

另外,多个逻辑路径可以被配置成以非线性方式从节点前进至节点。例如,当沿着逻辑路径511到达节点503时,用户以非线性方式移动通过节点图550。具体地,在节点503处有两个选项可用,其中在第一选项中,角色可以采用路径512,并且在第二选项中,角色可以采用路径513。采用两个不同的路径可能会产生不同的结果。

在视频游戏中的进程通常可以由通用时间线529定义,所述通用时间线在与开始点551相关联的时间或标记521处开始,并且在与结束点552相关联的时间或标记522处结束。在时间线529中时间的使用旨在示出视频游戏中的进程,而不一定是用户玩视频游戏多长时间的度量。当用户从节点至节点移动通过通用节点图530时,代表性时间或标记可以位于时间线529上。例如,节点501可以表示为时间线529中的标记523,并且节点503可以表示为时间线529中的标记524。可以沿着时间线529从左至右度量进程。作为说明,节点501在视频游戏中的进程中出现在节点503之前。因此,表示节点501的标记523显示在表示节点503的标记524的左侧。此外,如前所述,可以通过与用户相关联的各种角色值与时间线529和节点图550相关联地进一步说明进程。例如,可以通过角色可用的可能生命数量、或角色累积的点数或现金来度量进程。

图5c是根据本公开的一个实施方案的首先在图5a中介绍的节点图530的图示,其示出与在视频游戏的游戏情节期间捕获的快照相关联地生成的快照节点层次结构。在一个实施方案中,节点图530与在用户进行视频游戏的游戏情节期间的一个或多个时间线(例如,时间线310b、320和330)一起显示。例如,节点图530可以显示在图5a的窗口510中,或可以在更大的窗口中显示。图5c中出于说明的目的示出在窗口510中显示的节点图530的展开视图。图5c中呈现参考快照图像和节点图530中的对应快照节点的窗口350b的轮廓。

具体地,快照节点对应于已捕获快照的视频游戏的游戏情节中的点。通常,可以在通用节点图550的节点处捕获快照。因此,快照节点可以与通用节点图550中的节点对准。然而,一些快照节点可能不与通用图550中的节点对准,例如当在通用图的两个节点之间(例如,在逻辑路径的中间)捕获快照时。例如,可以在通用节点图550中的两个节点(对应于节点560和562)之间捕获快照节点561。

节点图530包括多个快照节点,其定义角色在对应用户的游戏情节期间已经采用的各种实际路径。例如,在快照节点560与561之间定义路径579。路径579示为已经在用户的游戏情节以及朋友f1的游戏情节中采用。节点图530可以示出线性和非线性路径中的一个或两个,如在一个或多个用户的游戏情节中所定义。

在一个实施方案中,节点图530对应于在窗口350中显示的时间线310b、320和330中所示的快照图像。例如,快照节点562对应于表示用户的当前渲染图像305的框340c,快照节点507对应于朋友f1的快照图像360e,快照节点595对应于朋友f2的快照图像370a,且快照节点565对应于朋友f3的快照图像380d。以此方式,向用户呈现相关的视频游戏的至少两个或更多个视图,例如时间线中的快照图像和当前渲染图像以及节点图530中的快照节点。通过交叉引用当前渲染图像305(连同其在节点图530中的位置)与其它快照图像(以及它们在节点图530中的位置),用户能够理解在与当前渲染图像相关联的视频游戏中的点周围用户可用的路径。因此,用户能够将角色306定向在通用节点图550和视频游戏的节点图530内。以此方式,用户能够在游戏中从一个点导航至另一个点。在一个实施方案中,尽管在图5c中示出快照节点,但节点图530可以包括定义由通用节点图550定义的逻辑路径的节点。

更具体地,用户玩角色306所采用的路径由精细分辨率的虚线a示出。例如,用户已经在快照节点560、561和562之间行进。从快照节点562,用户的角色306已经采用从快照节点562向上行进通过快照节点563和564的第一路线,以及从快照节点562向下行进通过快照节点565至569(例如,从节点565至节点566至节点567至节点568以及至节点569)的第二路线。朋友f1的角色308所采用的路径由实线b示出。例如,朋友f1的角色308沿着由快照节点560、561、562、565、570、571、572、573和574定义的路径行进。此外,朋友f2的角色308所采用的路径由粗分辨率的虚线c示出。例如,朋友f2的角色308沿着由快照节点595、596、597、598、599和569定义的路径行进。朋友f3的角色303所采用的路径由线d示出,并示出角色303已沿着由快照节点560、581、582、583、565、584、585和568定义的路径行进。

在视频游戏的进程中,用户已经采用快照节点562之外或未来出现的路径,其对应于与当前渲染图像305相关联的视频游戏中的点,但已经重新调整回快照节点562。例如,在快照节点562之外采用并且在快照节点564处结束的第一路线可能已经到达死胡同。而且,在快照节点562之外采用并且在节点569处结束的第二路线对于用户来说可能是不令人满意的。与在同用户相关联的当前渲染图像305之外出现的快照节点相对应的快照图像未在时间线310b中示出,但是可能在其它实施方案中示出。

用户已经在游戏进程中返回至节点562,因为用户可能已经听过关于此区域中视频游戏令人兴奋的部分(遇到熊)的传闻,但迄今为止错过了战斗。用户认为通过节点562能以某种方式到达令人兴奋的部分。本公开的实施方案提供了一种方式,其用于用户通过预览其它用户的游戏情节并且布置在视频游戏中到达视频游戏的令人兴奋的部分所采用的潜在路线来发现在视频游戏中的替代路径。例如,用户可以预览时间线310b中玩角色308的朋友f1的快照图像,并且发现与快照节点507相关联地发生遇到熊,所述快照节点对应于快照图像360e。作为参考,快照图像360e在框509中示出。在没有引入时间线和/或节点图中呈现的快照图像的情况下,用户将难以预览和/或发现这些感兴趣的区域。

具体地,用户可以通过观看时间线310b中的快照图像来发现快照图像360e,或者可以通过探索节点图530来发现所述快照图像。例如,在图5c的节点图530中的快照节点572旁边示出标签507,其可能引起了用户的注意。通过与节点图530中的节点572交互,可以例如在图5a的窗口520中向用户呈现快照图像360e的视图。而且,通过选择节点图530中的快照节点572,可以突出显示(例如,加粗)时间线310b中的对应快照图像360e以引起注意。以此方式,用户可以翻转相应的缩略图以观看快照图像360e的放大版本。如前所述。在另一实施方案中,如果节点图530呈现在其自己的主导窗口(例如,全屏或叠加窗口300)中,则与快照节点572的交互可以在另一窗口(未示出)中调出快照图像360e。

在预览朋友f1的游戏情节和节点图530之后,用户可能希望进一步探索对应于快照图像360e的视频游戏,更具体地是朋友f1的游戏情节。如前所述,本公开的实施方案使用户能够跳转至朋友f1的游戏情节中。具体地,用户通过时间线310b或节点图53进一步选择快照图像360e使得游戏处理器210的跳转执行引擎216能够访问对应于快照图像360e的快照,基于所述快照实例化视频游戏的另一个实例,并且在视频游戏中对应于快照及其快照图像360e的点(现在识别为跳转点)处开始执行视频游戏。以此方式,用户可以通过朋友f1的游戏情节在节点507(遇到熊)处完全体验视频游戏。也就是说,用户在跳转节点572跳转至朋友f1的角色308,并且在对应于跳转节点572(其对应于快照图像360e)的视频游戏的点处开始玩朋友f1的游戏情节的实例化。因此,用户能够在最令人兴奋的部分跳转至游戏情节中。

在体验朋友f1的游戏情节之后,用户可以决定尝试导航至通过朋友f1的游戏情节先前捕获的相同快照节点572(遇到熊)。节点图530提供了朋友f1为了从用户的当前位置(即,与当前渲染图像305相关联的节点562)到达快照节点572所采用的路线的视图。例如,节点图示出在节点562与快照节点572之间的行进可以通过快照节点565和570进行。

图6a是根据本公开的一个实施方案的与选定快照节点(例如,与快照图像360e相关联的快照节点572)紧密且线性对准的快照节点集群的图示,其中可以通过时间线310a或节点图530来选择所述快照节点。具体地,时间线310a包括在视频游戏中的进程中在当前渲染图像305之前出现的点处用户进行游戏情节的快照图像(340a、340b、...)(如空白缩略图340c所表示。时间线310a还包括与朋友f1进行游戏情节期间捕获的快照相对应的快照图像(360d、360e、360f、...),如前所述。此外,每个快照图像对应于快照节点,例如节点图530中呈现的那些快照节点。

时间线310a可以示出来自在用户和朋友f1的游戏情节期间捕获的多个快照的选定快照图像。朋友f1的快照和快照图像用于说明具有粗且更高分辨率的快照图像的呈现。出于说明的目的,在朋友f1的游戏情节期间捕获了一百个快照,并且可以按照捕获所述快照的次序将其编号为1至100。时间线310a可能没有足够的空间来示出与所捕获快照相对应的所有快照图像。因此,在时间线310中仅呈现快照图像的子集。此外,可以不连续地和/或依序地捕获在时间线310a中并排呈现的快照图像。例如,如图6a的时间线310a中所示,快照图像360e以捕获的次序编号为50,并且正右方的快照图像是快照图像360f,编号为60。因此,在快照图像360e与快照图像360f之间捕获了九个快照图像,但是未在时间线310a中示出。

在一个实施方案中,可以基于所捕获快照生成并呈现更精细分辨率的快照图像进行显示。具体地,通过时间线310a或通过节点图530进一步选择例如图像360e的快照图像将实现呈现具有更高分辨率的快照图像。此外,在一个实施方案中,以节点图/树配置呈现快照图像,示出用户(例如,朋友f1)在游戏情节期间所采用的路径。也就是说,每个快照图像代表一个节点,并且以节点图配置呈现快照图像。例如,窗口可以通过其对应的图像显示快照节点,其中快照节点在对应于选定快照图像360e的快照之前和/或之后依序地捕获。快照图像360e对应于用户选择的用于起始朋友f1的游戏情节的跳转点,如前所述。在选择为跳转点之前或之后,用户可能想要看到与快照图像360e相关联的各种快照图像。

如图6a所示,相对于选定快照图像360e以各种缩略图呈现快照图像的线性进程。如前所述,快照图像360e及其对应的快照也被称为跳转点(jp)。选定快照图像360e和jp以所捕获快照的次序与编号为50的快照相关联。图6a示出四个快照图像610、360e、615和620,并且所述快照图像对应于在jp之前捕获的一个快照(快照jp-1)、jp和在jp之后捕获的两个快照(快照jp+1和jp+2)。也就是说,快照图像对应于连续编号的快照49至52。例如,快照图像610(jp-1)、快照图像360e(jp)、快照图像615(jp+1)和快照图像620(jp+2)连续排序为49至52。以此方式,用户能够以更高的分辨率观看节点图配置中快照图像360e周围的朋友f1的游戏情节中的动作。

图6b是根据本公开的一个实施方案的与选定快照节点(例如,对应于快照图像360e的快照节点572)紧密且非线性对准的快照节点集群的图示,其中可以通过先前关于图6a介绍的时间线310a或节点图530来选择所述快照节点。图6a示出对应于快照图像360e的跳转点jp周围的视频游戏中的线性进程,图6b示出jp周围的视频游戏中的非线性进程。

例如,以节点图/树配置呈现快照图像,示出朋友f1在游戏情节期间所采用的路径。也就是说,每个快照图像代表一个节点,并且以节点图配置呈现快照图像。如图6b所示,相对于选定快照图像360e以各种缩略图呈现快照图像的非线性进程,也称为jp,次序编号为50。示出八个快照图像。具体地,快照图像605对应于具有次序48的快照节点jp-2。此外,快照图像610对应于具有次序49的快照节点jp-1,其中快照节点jp-1是示出非线性配置的决策节点。如次序编号50a-b所表示,有两种选择可用。源自快照节点jp-1的一个选择转至具有次序50b的快照图像613。源自快照节点jp-1的另一选择路由至快照节点jp,其对应于快照图像360e且次序编号为50a。此路线继续通过连续编号的快照jp+1(与快照图像615和次序编号51相关)和快照jp+2(与快照图像620和次序编号52相关)。

图6c至图6f是根据本公开的一个实施方案的对应于与选定快照节点紧密对准且关于图6a至图6b描述的快照节点群集的快照图像的图示。例如,图6c示出快照图像610并且示出朋友f1的游戏情节中使用的角色308在熊离开熊的洞穴时首次遇到熊。快照图像610对应于次序编号为49的快照节点jp-1。图6d示出快照图像360e(与快照节点jp相关且次序编号为50)并且示出角色308与熊紧密接触地交战。角色308示为手拿一盘绳索,这可能是角色308可用的唯一工具和/或武器。图6e示出快照图像615(与快照节点jp+1相关且次序编号为51)并且示出角色308通过使用绳索将熊的每条腿绑在树上来制服熊。图6f示出快照图像620(与快照节点jp+2相关且次序编号为52)并且示出角色308享受其制服熊的战利品:武器和可以获取的其它奖励物品(例如,游戏币、宝石等)。

图7是根据本公开的一个实施方案的在视频游戏的游戏情节期间捕获的快照,以及将这些快照中的每个快照存储为数据存储装置750的单独主文件的图示。当用户前进通过视频游戏时,这些主文件不会被自动擦除或叠加,这在行业中是典型的。以此方式,可以随时容易地访问与每个快照相关的信息和元数据,以呈现快照图像(例如,在时间线中)、节点图并且实现跳转至同一用户或其它用户的游戏情节中的跳转点。

例如,捕获与特定用户的游戏情节相关的多个快照。按捕获的次序对快照连续地编号(即,1至n)。如图7中所示,捕获至少快照711(次序20)、快照712(次序31)、快照713(次序32)和快照714(次序33)。

每个快照包括足以从对应于快照的视频游戏中的点开始加载和执行视频游戏的实例的信息和/或元数据。例如,如先前所描述,每个快照包括存储在数据库145中的至少游戏状态数据、存储在数据库146中的快照图像数据、存储在数据库143中的随机种子数据,以及存储在数据库141中的用户保存数据。在一个实施方案中,元数据包括用于在两个连续排序的快照处及其之间推进视频游戏的实例的输入命令。每个快照存储在数据存储装置750中的对应主文件中,其中对应于特定快照的主文件可以包括指向这些数据库中的每个数据库以用于相关访问的指针。如图所示,快照711存储在主文件751中,快照712存储在主文件752中,快照713存储在主文件753中,以及快照714存储在主文件754中。

图8是根据本公开的一个实施方案的视频游戏的用户的游戏情节的多个片段的图示,包括所述用户基于在视频游戏的另一游戏情节期间由同一用户或另一用户捕获的快照而进入单独跳转游戏情节的中间跳转。例如,用角色306玩游戏的用户可以选择在由快照图像360e定义的跳转点(jp)处跳转至朋友f1(具有角色308)的游戏情节中,所述角色306的当前渲染图像305显示在窗口300上,如先前关于图3至图6所描述。时间线310a和/或310b向用户提供快照图像360e的预览。此外,节点图530向视频游戏内的快照图像提供上下文,因为快照图像360e可以与快照节点572处的其对应位置相关联(例如,通过突出显示等),如先前所描述。基于在朋友f1的原始游戏情节期间在快照节点572处捕获的快照,实现由用户起始跳转至朋友f1和角色308的游戏情节中。跳转的起始可以通过进一步选择时间线310a或310b中的快照图像360e实现,或通过选择节点图530中的节点572来实现。可以通过任何手段或方法(例如,跳转选择窗口等)来实现对起始跳转至同一用户或另一用户的游戏情节中的支持。

在一个实施方案中,在跳转游戏情节中捕获多个快照。此外,可以捕获并存储跳转游戏情节的视频记录以供稍后访问。以此方式,任何用户可以通过跳转游戏情节中的任何快照来玩跳转游戏情节。在一个实施方案中,将跳转游戏情节的快照图像放置在时间线中,可以通过所述时间线实例化跳转游戏情节,如先前所描述。

可以关于用户的游戏情节830的片段描述用户与视频游戏的交互。如图所示,用户的游戏情节830包括第一片段831和第二片段832。具体地,用户的游戏情节830的第一片段831定义用户与视频游戏的当前或初始交互。因此,图3a的当前渲染图像305可以与第一片段831相关联。为了说明,快照节点图810示出先前关于图5c描述的节点图530的一部分。用户的游戏情节830的第一片段831中的角色306所采用的路线由虚线811示出并且包括快照节点560、561和562。出于说明和清楚的目的,当前渲染图像305与快照节点562相关联并指示第一片段831的末端,即使快照节点图810示出角色306已通过一个路径812进一步进入快照节点562的右侧(例如,进一步前进)到达节点563和564,并且通过第二路径813到达节点565和566。角色306所采用的路线(以快照节点562结束)的此部分也在节点图820中重复,所述节点图示出使用角色306的直到第一片段831的末端的用户的游戏情节。

在快照节点562处,用户可以选择探索视频游戏中的其它节点,并且选择跳转至朋友f1的游戏情节中(例如,进一步选择快照图像360e),如先前所描述。朋友f1的游戏情节由快照节点图810的粗体实线899示出。此时,暂停用户的游戏情节830的第一片段831,并且用户在对应于快照节点572的点处跳转至朋友f1的游戏情节中。为了说明,跳转游戏情节开始于角色与熊紧密接触的点。具体地,暂停执行用户的游戏情节830的视频游戏的实例(例如,第一片段831的末端),并且基于在快照节点572处捕获的对应快照而实例化在跳转点(快照节点572)处开始执行朋友f1的跳转游戏情节的视频游戏的实例。通过弯箭头891示出跳转至节点572的表示。跳转游戏情节由跳转片段840定义。

在另一实施方案中,在开始跳转游戏情节之前,在第一片段831的末端保存并终止用户的游戏情节830。以此方式,用户可以在将来返回至视频游戏,并且从对应于快照节点562的点(例如,第一片段831的末端)恢复。也就是说,用户可以有效地恢复暂停的游戏。

在一个实施方案中,执行用户的游戏情节830的视频游戏的实例与执行跳转游戏情节的视频游戏的实例分开,用户通过所述跳转游戏情节交互,其中所述跳转游戏情节基于朋友f1的原始游戏情节。为了说明,快照节点图850示出在用户所玩的跳转游戏情节的跳转片段840中角色308所采用的路线,其中通过朋友f1的游戏情节最初地创建和定义跳转游戏情节中的角色308。跳转游戏情节中所采用的路线通过粗体虚线896示出。

如节点图850中示出的跳转游戏情节中的角色308所采用的路线开始于快照节点572处并且连续地继续至节点851、852和末端节点859。末端节点859指示执行跳转游戏情节的视频游戏的实例的终止。重要的是应注意,如通过虚线896所示的跳转游戏情节(包括节点572、851、852和859)中的角色308所采用的路线不同于节点图810中所示的朋友f1的游戏情节中的角色308所采用的路线897(包括节点572、573和574)。也就是说,由用户执行的跳转游戏情节不同于朋友f1的先前所存储游戏情节,因为用户正提供新的输入命令来指导跳转游戏情节。例如,在跳转游戏情节中,可能不会与熊成功相遇,因为用户可能在此时快速预览游戏,以决定是否在其自己的游戏情节830中玩视频游戏的此部分。另一方面,发现f1的游戏情节可能示出与熊的成功相遇。

在一个实施方案中,在跳转游戏情节期间,可以在跳转片段840中所示的每个节点(例如,节点572、851、852和859)处捕获快照。可以存储跳转游戏情节以及其相关联快照以供稍后访问。例如,用户可能希望查看并实例化由用户创建并与视频游戏相关联的跳转游戏情节。在其它实施方案中,用户可能希望查看并实例化与其它视频游戏相关联的跳转游戏情节,其中跳转游戏情节由用户或其它用户创建。

在执行跳转游戏情节之后,可以恢复用户的游戏情节830。用户现在已经预览朋友f1的游戏情节,并且可能希望其自己的角色306到达与跳转点相关联的快照节点572。以此方式,用户的游戏情节830可以包括指向跳转点使得用户的游戏情节中的角色将具有相同的熊相遇的路线。

快照节点图820示出现在恢复的用户游戏情节830中的角色所采用的路线。游戏情节830的恢复由第二片段832定义,其中所恢复的游戏情节由粗体虚线809定义。因此,用户进行的整个游戏情节830由第一片段8310(虚线811)和第二片段832(粗体虚线809)示出。在一个实施方案中,游戏情节830的第二片段832继续暂停的视频游戏的实例。在另一实施方案中,游戏情节830的第二片段832在开始于与快照562相关联的视频游戏的点处的视频游戏的新实例上执行,因为第一片段831终止。第二片段832开始于快照节点562处并且连续地继续至快照节点821、822、823、824和829。

在节点图820中,快照节点823粗略地对应于与跳转点相关联的快照节点572。例如,用户想要在其游戏情节830中遇到熊。具体地,用户可以通过快照节点图530和/或通用节点图550导航至用户的游戏情节中的快照节点572。具体地,用户能够通过查看快照节点图530来发现其它用户(例如,朋友f1)遇到的快照节点562与快照节点572之间可用的可能路径。另外,用户能够通过查看通用节点图550来发现快照节点562与快照节点572之间可用的通用逻辑路径。以此方式,用户能够导航至快照节点823(例如,通过节点821和822)并遇到熊。重要的是应注意,节点821和822与最初在朋友f1的游戏情节期间捕获的但可能不相同的快照节点565和570粗略地对准。

快照节点823、824和829等示出在第二片段832中在用户的游戏情节830中所采用的路线,其中角色306现在正遇到熊并与熊交战。在快照节点823(包括节点824、829等)处与熊初始相遇之后采用的路线与跳转游戏中的路线(例如,节点572、851、852和859)不相同,也与朋友f1的游戏情节中的路线(例如,节点572、573和574)不相同。这是因为用户的游戏情节830具有其自己的推进视频游戏的独特输入命令。

通过详细描述通过网络通信的游戏服务器和客户端装置的各种模块,现在根据本公开的一个实施方案关于图9的流程图900描述用于在游戏网络上执行的视频游戏的游戏世界中导航的方法。流程图900示出出于生成通过网络显示在客户端装置处的信息的目的在游戏服务器侧涉及的操作的过程和数据流。

方法开始于操作910处,并且包括捕获从与多个用户相关联地执行的视频游戏的多个实例生成的多个快照。具体地,视频游戏的实例由图1的一个或多个游戏服务器205的一个或多个游戏处理器210执行。当正执行视频游戏的每个实例时,捕获一个或多个快照,其中快照实现从对应于所述快照的所述视频游戏中的点开始执行视频游戏的实例,如先前所描述。

具体地,快照包括快照图像,所述快照图像包括由与对应用户的游戏情节相关联地执行的视频游戏的实例生成的渲染图像。渲染图像示出对应于视频游戏中的点的视频游戏的场景,其中所述点示出在视频游戏中的用户的游戏情节进程。

另外,快照还包括游戏状态数据,所述游戏状态数据实现生成对应于所述视频游戏中的点的环境。也就是说,基于快照生成对应场景和环境,其中指示角色通过用户的游戏情节与环境交互。

此外,快照包括为场景和环境提供附加特征的随机种子数据,如先前所描述。例如,可以唯一地生成一个或多个通用角色的云配置和移动,以包括在与用户的游戏情节相关联的场景和环境中。因此,对于视频游戏的每个实例,一个或多个通用角色的云配置和移动可以不同。

而且,快照包括用户保存数据,所述用户保存数据实现对应用户的游戏情节的角色的生成。角色具有与捕获快照的视频游戏中的点对应的第一状态。例如,第一状态定义角色的外观和类型、角色穿的衣服、角色达到的级别、角色可用的武器、角色在所述点处的生命状态等。

在操作920处,所述方法包括生成用于显示玩视频游戏的第一用户的第一时间线。第一时间线包括前进通过视频游戏的至少一个用户(第一用户和/或其它用户)的快照图像。相对于与第一用户相关联地执行的视频游戏的第一实例的当前渲染图像显示时间线中的快照图像。每个快照图像可以交叉参考对应快照。当前渲染图像与第一用户在视频游戏进程中的当前点相关联。

在操作930处,所述方法包括生成用于在第一时间线中显示多个第一缩略图,所述多个第一缩略图包括与第一用户相关联的多个第一快照图像。也就是说,第一缩略图示出前进通过第一用户的视频游戏。具体地,多个第一快照包括至少一个渲染图像,所述至少一个渲染图像示出与当前渲染图像相比第一用户的过去进程。

在操作940处,所述方法包括生成用于在第一时间线中显示多个第二缩略图,所述多个第二缩略图包括与第二用户相关联的多个第二快照图像。也就是说,第二缩略图示出通过第二用户的视频游戏的进程。具体地,多个第二快照图像包括至少一个渲染图像,所述至少一个渲染图像示出在当前渲染图像之后的视频游戏中的点处第二用户的未来进程中的进程。

在其它实施方式中,多个第二快照图像示出第二用户的过去和/或当前进程。例如,第二快照包括至少一个渲染图像,所述至少一个渲染图像示出在生成用于显示在第一用户的客户端装置处的当前渲染图像之前的视频游戏中的点处第二用户的进程。

在其它实施方案中,可以生成显示在客户端装置处的附加时间线。例如,生成第三用户的第二时间线以供显示。第二时间线包括第三用户的多个第三快照图像。第二时间线包括多个渲染图像,所述多个渲染图像示出在与第一用户的游戏情节相关联的当前渲染图像之前和之后的视频游戏中的多个点处,在视频游戏的游戏情节期间第三用户的进程。

如先前所描述,选定快照图像使游戏处理器210的跳转执行引擎216能够访问对应于快照图像的快照,基于快照而实例化视频游戏的另一实例,以及在对应于快照的视频游戏中的点(现在识别为跳转点)开始执行视频游戏。例如,游戏处理器210接收第一用户从第一时间线中的多个第二快照对选定快照图像的选择,其中选定快照图像与第二用户的游戏情节相关联。此外,游戏处理器被配置成将与第一用户的游戏情节相关联地执行的视频游戏的第一实例的执行跳转至与选定快照图像相关联的视频游戏中的跳转点。在一个实施方式中,暂停和/或终止视频游戏的第一实例,并且基于选定快照图像的快照而实例化视频游戏(即跳转游戏)的另一实例。

以此方式,第一用户能够跳转至第二用户的游戏情节中。例如,第一用户能够在跳转游戏中指示用于第二用户的游戏情节中的角色。选定快照图像的对应快照包括第二用户保存数据,所述第二用户保存数据实现生成用于第二用户的游戏情节中并且还用于跳转游戏中第一用户的跳转游戏情节的角色。第二用户保存数据和第二角色源自第二用户的游戏情节。因此,第一用户在跳转游戏的执行期间创建跳转游戏。

在第一用户完成跳转游戏之后,可以恢复视频游戏的第一实例。也就是说,终止执行跳转游戏的视频游戏的第二实例,并且恢复与第一用户的游戏情节相关联的视频游戏的第一实例。以此方式,第一用户可以恢复视频游戏中其自己的游戏情节。

第一用户还可以选择在第一用户的先前游戏情节中的快照图像。例如,游戏处理器可以被配置成接收对与先前游戏情节相关联的多个第一快照图像中的选定快照图像的选择。将视频游戏的第一实例的执行跳转至与选定快照图像相关联的视频游戏中的跳转点。在一个实施方式中,基于对应于选定快照图像的快照,通过视频游戏的另一实例实现跳转。在另一实施方式中,通过视频游戏的第一实例实现跳转。

另外,可以生成节点图以显示在客户端装置处。节点图包括对应于显示在时间线中的快照图像的多个快照节点,如先前所描述。多个快照节点定义多个路径,其中路径和节点与第一用户和第二用户的游戏情节相关联。节点图中的每个节点与对应快照相关联。

此外,节点图可以允许由第一用户跳转至同一用户或另一用户的游戏情节中。例如,游戏处理器被配置成接收对节点图中的选定快照节点的选择。快照节点与对应快照相关联。可以任选地生成对应于选定快照节点的选定快照图像,以显示在客户端装置处。具体地,对选定快照节点和/或对应快照图像的选择实现将与第一用户的游戏情节相关联地执行的视频游戏的第一实例的执行跳转至与选定节点相关联的视频游戏中的跳转点。

通过视频记录的游戏情节访问

一般而言,本公开的各种实施方案描述尤其在基于云的游戏系统上执行时提供用于用户通过所存储游戏情节的流式视频记录跳转至参与游戏应用程序的玩家的所存储游戏情节中的系统和方法。视频记录包括或引用在游戏情节期间最初捕获的多个快照,其中快照包括实现在对应于快照捕获的点处实例化游戏应用程序的实例的元数据和/或信息。快照允许任何请求用户实例化和指导游戏应用程序的实例,即使请求用户可能不是生成所存储游戏情节的玩家。视频记录可以通过包括所存储游戏情节的一个或多个快照图像的时间线选择,其中每个快照图像对应于快照,并且其中快照图像以向观看者提供玩家在游戏应用程序中的进程的感觉的方式显示。当用户在玩游戏应用程序时可以呈现时间线,由此通过预览其它玩家的游戏情节而向用户提供用户的游戏情节中的可能性的感觉。对流式视频记录中的视频帧的选择识别跳转点,其中选定视频帧与用于实例化跳转游戏情节的对应快照相关联。选定视频帧可以不对应于快照,并且可以位于一个或多个快照处、或附近或之间。自动地执行跳转游戏情节以重放玩家的游戏情节,直到使用先前用于指导玩家的游戏情节的所保存输入命令达到跳转点,之后跳转游戏情节对于请求用户变成直播(即,由用户输入命令引导跳转游戏情节)。

提供用于用户通过视频记录跳转至参与游戏应用程序的玩家的所存储游戏情节中的本公开的实施方案可以实施于先前描述的图1至图2的系统内。

图10示出根据本公开的一个实施方案的用于通过流式传输至客户端装置的视频记录进行游戏情节访问的系统的组件,所述系统允许用户基于在玩家的游戏情节期间由系统生成和捕获的快照而跳转至参与游戏应用程序的任何玩家的所存储游戏情节中。例如,在一些实施方案中,用于通过流式传输的视频记录进行游戏情节访问的组件可以包括在游戏服务器205的游戏处理器210内,如先前在图1中介绍。此外,在其它实施方案中,游戏服务器205包括在图2的游戏云系统(gcs)201内,使得gcs201可配置成通过视频记录提供游戏情节访问。

具体地,游戏处理器210包括各种组件,所述组件被配置成基于在参与游戏应用程序的玩家的前一游戏情节期间捕获的快照而实例化游戏应用程序的实例。游戏处理器210先前在图1中介绍,并且包括游戏执行引擎211、快照生成器212、时间线生成器213、节点图生成器214、ai叠加模块215和跳转游戏执行引擎216。另外,如图10中所示,游戏处理器210还包括被配置成将视频记录流式传输至客户端装置的视频播放器1010、重放引擎1015、跳转游戏输入管理器1020、重放开始点选择器1025、重影引擎1030以及引导引擎1035。游戏处理器210的一个或多个组件单独或组合配置成提供用于通过所存储游戏情节的流式视频记录跳转至参与游戏应用程序的玩家的所存储游戏情节中。此外,在本公开的其它实施方案中,游戏处理器210的一个或多个组件提供用于通过例如gcs201的基于云的游戏系统内的视频记录进行游戏情节访问。

具体地,图1的系统10包括执行游戏处理器模块210的游戏服务器205,所述游戏服务器提供对多个交互式视频游戏或游戏应用程序的访问,且更具体地,例如通过流式传输至客户端装置的游戏情节的视频记录提供对游戏应用程序的所存储游戏情节的交互式访问。如图1中所示,客户端装置100被配置用于以跳转游戏情节的形式请求访问玩家的特定游戏情节。访问请求可以通过流式传输至客户端装置的玩家的游戏情节的视频记录进行,使得通过视频记录包括和/或引用的相关联快照用于实例化跳转游戏情节。具体地,游戏服务器2015执行游戏应用程序的实例,以基于快照实例化跳转游戏情节并且生成传递至客户端装置100的渲染图像以供显示。

例如,视频播放器1010被配置用于当播放参与游戏应用程序的玩家的选定游戏情节的视频记录时生成多个视频帧。视频播放器1010可以独立于视频记录器271或与视频记录器271协同工作,以生成、保存、访问和/或播放游戏情节的记录(例如,视频、音频等),以及对应于所述游戏情节的任何游戏度量。在一个实施方案中,所存储游戏情节的视频记录可通过所存储游戏情节的一个或多个快照图像选择,所述快照图像通过渲染用于显示在客户端装置100上的时间线呈现,其中呈现快照图像以示出游戏应用程序中的游戏情节的进程。也就是说,对在游戏情节期间捕获的一个快照图像的选择提供对所存储游戏情节的视频记录的选择和播放。视频记录的图像帧通过网络流式传输和/或传递至用户的客户端装置以供显示。

此外,视频记录包括或引用在游戏情节期间捕获的多个快照,其中快照包括实现在游戏情节中对应于快照捕获的点处实例化游戏应用程序的实例的元数据和/或信息。因此,对视频记录中跳转点的选择(例如,通过视频帧)提供用于实例化在跳转点开始的跳转游戏情节。具体地,重放引擎1015被配置成创建和执行游戏应用程序的实例以实例化跳转游戏情节。游戏应用程序的实例基于通过跳转点的选择确定的相关联快照而实例化,其中跳转点可以直接对应于相关联快照,或其中跳转点位于相关联快照附近,或相关联快照与另一快照之间。因此,相关联快照用于实例化跳转游戏情节。在一个实施方式中,重放引擎1015独立于跳转游戏执行引擎216或协同跳转游戏执行引擎216工作,以提供对所存储游戏情节的交互式访问。

具体地,重放开始点选择器1025被配置成确定跳转游戏情节的重放部分的开始点。也就是说,在选择跳转点之后,选择合适和相关联的起始快照以起始和/或实例化用于执行玩家的游戏情节的游戏应用程序的实例,其中跳转点可能不对应于游戏情节中捕获起始快照的点。在跳转游戏情节的重放部分期间,所存储游戏情节从游戏情节中捕获起始快照的点至跳转点自动地重放至跳转点,之后跳转游戏情节对于请求用户变成直播,使得重放引擎1015和/或跳转游戏执行引擎216处理来自请求用户的客户端装置100的输入命令。

具体地,在跳转游戏情节的重放部分期间,跳转游戏输入管理器1020确定和访问用于由游戏应用程序的实例执行的多个输入命令。所述多个输入命令先前用于指导玩家的所记录或所存储(可互换地使用)游戏情节。与在玩家的所存储游戏情节期间生成的一个或多个快照相关联地捕获和存储(例如,在图1的数据存储装置140的数据库1040中)所述多个输入命令。例如,快照可以存储最多使用的输入命令且可以包括捕获对应快照的点,并且可以从与前一个和最近的快照相关联的点开始收集。也就是说,对应快照的所存储输入命令将游戏情节从前一快照带入对应快照。而且,快照可以存储在捕获对应快照的点处和/或之后使用的输入命令,从而在与下一和/或最近快照相关联的点处结束。也就是说,对应快照的所存储输入命令将游戏情节从对应快照带入下一快照。在另一实施方式中,快照可以存储在捕获对应快照的点之前和之后使用的输入命令。

通过详细描述通过网络150通信的游戏服务器205和客户端装置10的各种模块,现在根据本公开的一个实施方案关于流程图1100描述用于游戏的方法。具体地,流程图1100示出方法中的步骤,所述步骤例如通过流式传输至用户的客户端装置的游戏情节的视频记录提供对参与游戏应用程序的玩家的所存储游戏情节的交互式访问。更具体来说,流程图1100的方法公开一种提供用于用户基于在游戏情节期间生成和捕获的快照而跳转至所存储游戏情节中的方法,其中所述快照可通过流式传输至客户端装置的所存储游戏情节的视频记录选择。流程图1100示出出于生成通过网络150显示在客户端装置200处的信息的目的在基于云的游戏系统201(例如,gcs201)的游戏服务器205侧涉及的操作的过程和数据流。

所述方法中的操作1105包括从与用户相关联的客户端装置接收对游戏应用程序的玩家的游戏情节的视频记录的选择。例如,视频记录可以是玩家的游戏情节的一部分的视频剪辑。玩家可以确定游戏的所述部分是重要的(例如,包含相关信息,涉及打boss等),并且可以选择生成和存储视频记录中游戏情节的所述部分。视频记录可以存储在数据库中,由此允许其它用户观看玩家的所记录或所存储游戏情节。也就是说,其它用户和/或玩家可以访问(例如,通过流式传输)视频记录并在对应客户端装置上播放视频记录。数据库可以存储与多个游戏应用程序的多个游戏情节相关联的多个视频记录,由此创建可由多个用户访问的所存储游戏情节的存储库。

在一个实施方案中,通过时间线选择视频记录,所述时间线包括游戏情节的一个或多个快照图像。如先前关于图1至图9所描述,当用户参与游戏应用程序时,可以与用户的游戏情节同时呈现时间线。也就是说,当用户正玩游戏应用程序时,用户可能希望通过流式传输至用户的客户端装置的所述游戏情节的视频记录,以及进一步通过其它玩家的所存储游戏情节的交互式访问预览另一用户的游戏情节。而且,当用户正玩游戏应用程序时,用户可能希望通过也流式传输至用户的客户端装置的用户的所存储游戏情节的视频记录,以及进一步通过用户的所存储游戏情节的交互式访问预览其游戏情节。也就是说,时间线中的快照图像以跳转游戏情节的形式提供与对应视频记录的关联性以及对对应视频记录的访问和/或对所存储游戏情节的交互式访问。

所述方法中的操作1110包括通过网络将包括所记录或所存储游戏情节的视频记录流式传输至与用户相关联的客户端装置。所存储游戏情节用于参与游戏应用程序的玩家。用户可访问所存储游戏情节进行观看,其中游戏情节可以是除了用户之外的玩家的游戏情节,或可以是作为用户的玩家的游戏情节。

在1120处,所述方法包括通过视频记录从客户端装置接收对所存储游戏情节中的跳转点的选择。也就是说,视频记录中的选定点定义跳转点,请求用户想要从所述跳转点开始与基于玩家的游戏情节的跳转游戏情节的交互式访问。换句话说,请求用户希望通过跳转游戏情节获得对玩家的游戏情节的交互式访问。

在1130处,所述方法包括基于例如起始快照的快照而实例化和/或起始游戏应用程序的实例。游戏应用程序的实例将跳转游戏情节实例化。具体地,视频记录与在玩家的游戏情节期间捕获的一个或多个快照相关联,所述快照包括在玩家的游戏情节中的第一点处捕获的起始快照。在一个实施方案中,视频记录至少与在所记录游戏情节中的开始点处(即,视频记录的开始)捕获的开始快照以及在所存储和/或所记录游戏情节中的结束点处(即,视频记录的结束)捕获的结束快照相关联。在实施方案中,起始快照可以对应于开始快照或结束快照中的一个,或对应于位于开始快照与结束快照之间的快照,或对应于在游戏情节中的点处捕获的快照,所述点在外部但仍与视频记录的所记录游戏情节相关联。快照包括实现在对应于快照捕获的点处实例化和/或起始游戏应用程序的实例的元数据和/或信息。例如,快照包括快照图像,所述快照图像包括由与玩家的游戏情节相关联地执行的游戏应用程序的第一实例生成的渲染图像。快照图像对应于视频帧,所述视频帧对应于玩家的游戏情节中的某一点。

为了说明,起始快照包括第一快照图像,所述第一快照图像对应于视频记录的第一视频帧,所述第一视频帧还对应于游戏情节的第一点。快照还包括游戏状态数据,所述游戏状态数据实现生成对应于游戏情节中的第一点的环境,如先前所描述。快照还包括为环境提供附加特征的随机种子数据,如先前所描述。快照还包括用户保存数据,所述用户保存数据实现生成所述玩家的游戏情节的角色,其中所述角色具有对应于所述游戏情节中的第一点的第一状态。例如,用户保存数据可以包括玩家所选择的游戏难度、游戏级别、角色属性、角色位置、剩余生命数、可用生命总数、护甲、奖品、时间计数器值等。快照还包括输入命令序列中的至少一个输入命令,其中捕获并存储与快照相关联的输入命令(例如,引导至快照或远离快照引导)。

因此,游戏应用程序在对应于起始快照的捕获的点处开始,并且基于先前由玩家的所存储游戏情节(例如,场景、角色等)定义的游戏环境。例如,起始快照实现在玩家的游戏情节中的第一点处开始实例化和/或起始游戏应用程序的实例。

在一个实施方案中,跳转点可以对应于所捕获快照,其中所捕获快照可以用于实例化和/或起始跳转游戏情节,如先前所描述。例如,当跳转点直接对应于起始快照(以及第一点)时,起始快照可以用于在跳转点处开始实例化和/或起始跳转游戏情节,并且其中通过执行来自请求用户的输入命令而使跳转游戏情节对请求用户立即变成直播。

在另一实施方案中,跳转点可能不对应于用于实例化跳转游戏情节的快照。也就是说,基于起始快照通过游戏应用程序的实例来实例化和执行跳转游戏情节,但是跳转点可能不直接对应于玩家的游戏情节中的第一点,其中第一点直接对应于起始快照。然而,跳转点与用于实例化和/或起始跳转游戏情节的起始快照(例如,最接近跳转点的快照)相关联,使得跳转游戏情节可以用于到达跳转点。具体地,跳转游戏情节包括重放部分和直播部分。因此,跳转游戏情节可以通过重放部分自动地执行以到达跳转点(例如,使用来自所存储游戏情节的所保存输入命令),之后跳转游戏情节通过执行来自请求用户的输入命令而对请求用户变成直播。

具体来说,在重放部分期间,在操作1140处,所述方法包括访问与起始快照和/或跳转点相关联的多个输入命令和/或输入命令序列。输入命令用于先前指导玩家的所存储或所记录游戏情节。

在重放部分期间,当由将跳转游戏情节的游戏应用程序实例化的实例执行时,输入命令从第一点至跳转点重放玩家的所存储游戏情节。具体地,在操作1150处,所述方法包括基于输入命令序列而在游戏应用程序的实例处生成多个图像帧,以用于在客户端装置处渲染。多个图像帧从第一点至跳转点重放玩家的游戏情节(在跳转游戏情节中)。例如,多个图像帧包括与玩家的游戏情节中的第一点的第一视频帧相对应的第一图像帧;以及与跳转点的第二视频帧相对应的第二图像帧。重放部分在对应于第一点的第一图像帧与对应于跳转点的第二图像帧之间生成图像帧。

在一个实施方案中,所述方法包括前进通过在跳转游戏情节的重放部分期间重放和/或重新创建的玩家的游戏情节。也就是说,输入命令序列在游戏应用程序的实例中以正向次序执行,其中可以出于指导所存储游戏情节的原始执行的目的对输入命令进行依序排序。在另一实施方案中,所述方法包括倒回通过在跳转游戏情节的重放部分期间重放和/或重新创建的玩家的游戏情节。也就是说,输入命令序列在游戏应用程序的实例中以反向次序执行,其中可以出于指导所存储游戏情节的原始执行的目的对输入命令进行依序排序。

在一个实施方案中,所述方法包括对输入命令序列的执行进行超频。也就是说,以快速运动播放跳转游戏情节的重放部分,使得游戏情节被示为从第一点快速前进至跳转点,或游戏情节被示为从第一点快速倒回至跳转点,如下文将关于图13a进一步描述。在一个实施方案中,在重放部分期间,可以向用户展示附加内容(例如,广告、音乐视频、新闻剪辑、其它视频记录等)。

在重放部分之后,跳转游戏情节进行至直播部分。具体地,在操作1160处,所述方法包括处理输入命令,所述输入命令从客户端装置接收并且从跳转点开始在游戏应用程序的实例处执行。先前,在跳转游戏情节的重放部分期间,阻止从客户端装置接收的输入命令由游戏应用程序的实例处理。

在一个实施方案中,提供对主动生成且实时存储的当前游戏情节的访问。具体地,代替视频记录,流式直播视频通过网络传递至客户端装置。也就是说,在流程图1100中,在操作1110中传递的内容是参与游戏应用程序的玩家的直播游戏情节的直播流式视频。以此方式,在直播游戏情节捕获的快照可以是可选择的,以允许用户通过跳转游戏情节体验直播游戏情节。也就是说,用户能够通过流式直播视频的视频帧选择在直播游戏情节捕获的快照,以起始游戏应用程序的实例来执行跳转游戏情节。

图12a是根据本公开的一个实施方案的参与游戏应用程序的玩家的所存储游戏情节的视频记录1201中的多个渲染视频帧的图示,其中视频记录用于对所存储游戏情节进行交互式访问。在一个实施方式中,视频记录1201如在图11的操作1120中描述用于选择跳转点1290,以及如在操作1130中描述用于起始游戏应用程序的实例以实例化跳转游戏情节。出于说明的目的,视频记录1201被示为表示记录的长度以及每个视频帧在视频记录1201内的近似位置的状态栏。

具体地,视频记录1201包括当在客户端装置处渲染时依序显示的多个视频帧。视频记录1201如先前所描述在参与游戏应用程序的玩家的游戏情节期间生成,并且可以具有可选择长度。出于说明的目的,视频记录包括至少位于导航栏1201中所示的各个点处的视频帧1210至1214。应理解,一个或多个附加视频帧可以位于图12a中所示的视频帧中的任何两个视频帧之间。

另外,每个视频帧可以与在玩家的游戏情节期间捕获的至少一个快照相关联。出于说明的目的,图12a示出视频帧与快照之间的紧密相关性,使得示出视频帧1210至1214,因为在游戏情节中生成视频帧的点处或附近捕获快照。重要的是,特定视频帧可能不直接对应于快照,但是可以与快照紧密相关联。例如,视频帧可以与最近捕获的快照相关联。以此方式,视频帧/视频记录与快照之间的关系允许通过关联性进行选择。例如,通过选择快照,其相关联的视频帧和/或视频记录是已知的。而且,通过选择视频记录内的视频帧,其相关联的快照是已知的。

在一个实施方案中,视频记录1201至少与两个快照相关联,包括可以在所存储游戏情节中的开始点处(即,视频记录1210的开始)捕获的开始快照(例如,可以存储为快照图像610的与视频帧1210相关联的ss-1),以及在所存储游戏情节中的结束点处(即,视频记录1210的结束)捕获的结束快照(例如,可以存储为快照图像620的与视频帧1214相关联的ss-2)。在另一实施方案中,视频记录与在视频记录的所存储游戏情节外部捕获的快照相关联。例如,视频记录1202包括跳转点1290,但是位于在玩家的游戏情节期间捕获但在视频记录1202的所存储游戏情节外部的两个快照(例如,与快照图像610相关联的ss-1以及与快照图像620相关联的ss-2)之间。

具体地,视频记录1201包括与所捕获快照ss-1以及其快照图像610紧密相关的视频帧1210。具体地,视频帧1210和快照图像610示出游戏情节中的点,其中角色308(女主人公)首先偶遇在位于森林中的洞穴前游荡的熊。另外,视频记录1201包括与所捕获快照ss-2以及其快照图像360e紧密相关的视频帧1212。具体地,视频帧1212和快照图像360e示出游戏情节中的点,其中角色308正积极地与攻击性的熊交战或战斗,其中角色308被示为具有用作武器的盘绕绳索。视频记录1201包括与所捕获快照ss-3以及其快照图像615紧密相关的视频帧1213。具体地,视频帧1213和快照图像615示出游戏情节中的点,其中角色308已成功制服熊并使用盘绕绳索捆绑了熊的肢体。此外,视频记录1201包括与所捕获快照ss-4以及其快照图像620紧密相关的视频帧1214。具体地,视频帧1214和快照图像620示出游戏情节的点,其中角色在与熊成功战斗之后赢得奖励,包括装满游戏币的宝箱以及可以用于随后战斗的步枪。

另外,视频记录1201包括位于视频帧1210(例如,ss-1)与视频帧1212(例如,ss-2)之间的视频帧1211。也就是说,视频帧1211位于玩家的游戏情节中在两个快照ss-1与ss-2之间的点。可以在视频帧1211与两个快照ss-1和ss-2中的至少一个之间建立紧密关联性,使得快照ss-1或ss-2可以用于提供对玩家的游戏情节的交互式访问。具体地,本发明的实施方案提供对视频帧1211的选择(如通过箭头所示,所述视频帧位于两个快照ss-1与ss-2之间作为中间快照跳转点,并且使用快照ss-1或ss-2来起始跳转游戏情节。跳转游戏情节包括重放部分和直播部分,使得跳转游戏情节可以通过重放部分自动地执行以到达跳转点(例如,使用来自所存储游戏情节的所保存输入命令),之后通过处理来自请求用户的输入命令而使跳转游戏情节对所述用户变成直播。

图12b是根据本公开的一个实施方案的在用户进行游戏应用程序的游戏情节期间显示的时间线310a的图示,其中与时间线310a的被动或主动交互提供玩家的所存储游戏情节的流式视频记录的显示,并且其中与流式视频记录的进一步被动或主动交互提供与玩家的游戏情节的交互式访问。在一个实施方式中,时间线310a如在图11的操作1110中描述用于选择视频记录,如在图11的操作1120中描述用于选择跳转点1290,以及如在操作1130中描述用于起始游戏应用程序的实例,以实例化跳转游戏情节。

如先前所描述,窗口300示出由用户进行的游戏应用程序的游戏情节的当前渲染图像305。时间线310a包括快照图像,所述快照图像包括在通过当前渲染图像305之后发生的游戏应用程序的进程中的点处由玩家(例如,玩角色308的朋友f1)进行的游戏情节的快照图像(例如,360d、360e、360f、……)。例如,快照图像可以通过缩略图呈现在时间线310a中。缩略图的主动或被动选择提供对应快照图像的放大,例如,通过大致在选定缩略图的相同区域中生成和显示的窗口410示出。

在一个实施方案中,与时间线310a的主动或被动交互提供对玩家的游戏情节的视频记录1201的选择。具体地,时间线310a中的快照图像360e的进一步主动或被动选择(例如,通过光标490a)提供对玩家的游戏情节的视频记录1201的选择。例如,快照图像360e的选择可以通过窗口410的主动或被动选择。在一个实施方式中,视频记录1201可以与当前显示图像305同时在窗口1212中示出(例如,通过流式传输)。在其它实施方式中,窗口1212可以独立于窗口300,例如以全屏模式示出。视频记录1201大致对应于游戏情节中与选定快照图像360e相关联的点。例如,视频记录1201中所示的剪辑可以集中于角色308与熊之间的boss大战,并且以角色308首先偶遇熊的视频帧1210开始,并且以角色308在成功作战boss熊之后检查战利品的视频帧1214结束。因此,视频记录1201可以开始播放视频帧1210,或可以通过用户选择开始播放视频记录1201内的任何视频帧,例如,在选定快照360e附近的视频帧。

此外,窗口1212中所示的视频记录1201可以显示由导航栏1260示出并可通过导航栏1260选择的任何视频帧。例如,可移动定位器1265示出视频帧1211在视频记录1201内的近似位置。而且,可移动定位器1265可以指向视频记录1201内的任何点和/或视频帧。因此,视频记录1201可以播放完视频帧(例如,正向、反向、快速、慢速),或在特定视频帧上暂停。例如,在观看整个视频记录1201之后,用户可以通过将定位器1265移动至导航栏1260上的近似位置而选择返回至视频帧1211。也就是说,用户对视频记录1201的内容感兴趣,并且想要交互式地访问玩家的所存储游戏情节,如下文所描述。作为说明,用户想要体验与熊进行boss大战,并且想要在熊攻击性地接近角色308的视频帧1211处开始战斗。

具体地,视频记录的进一步主动或被动选择提供对所存储游戏情节的交互式访问。更具体来说,视频记录1201中的视频帧(例如,帧1211)的进一步主动或被动选择定义跳转点1290,并且实例化游戏应用程序的实例以基于在玩家的游戏情节期间捕获的相关联快照(例如,ss-1或ss-2)而执行跳转游戏情节,使得请求用户可从选定跳转点1290开始玩跳转游戏情节。如先前所描述,跳转游戏情节包括重放部分和直播部分,使得可以通过重放部分自动地执行跳转游戏情节以到达跳转点1290(例如,使用来自所存储游戏情节的所保存输入命令),之后通过处理来自请求用户的输入命令而使跳转游戏情节对所述用户变成直播。尽管相关联快照(例如,ss-1或ss-2)被示为具有视频记录1201内的对应视频帧,但在其它实施方案中,相关联快照可以不对应于视频记录1201的视频帧或不与所述视频帧相关联。也就是说,相关联快照可以在视频记录1201之外。在任何情况下,相关联快照提供对跳转游戏情节中的所存储游戏情节的交互式访问,并且允许用户从跳转点1290开始与跳转游戏情节进行交互式游戏。

图13a是根据本公开的一个实施方案的先前用于指导参与游戏应用程序的玩家的所存储游戏情节1310的多个输入命令1330的图示,其中输入命令的一部分(例如,序列)用于实施跳转游戏情节的重放部分。具体地,所存储游戏情节1310包括多个快照,包括至少ss-1和ss-2,其中快照包括实现在对应于快照捕获的点处实例化游戏应用程序的实例的元数据和/或信息,如先前所描述。在玩家的游戏情节1310期间定义捕获点的快照的近似位置处显示快照ss-1和ss-2。

另外,所存储游戏情节1310包括多个输入命令1330。仅仅为了说明,这些输入命令可以包括通过切换、左前按钮、右前按钮、上、下、右、左发出的方向命令以及由符号(例如,框、三角形、十字形等)或字母定义的其它对应可选择命令等。这些输入命令先前用于指导所存储游戏情节1310。如图所示,在一个实施方案中,可以在命令之间具有或不具有周期性间隔的情况下对输入命令进行依序排序。在其它实施方案中,输入命令可以不进行排序,和/或可以不是依序的。例如,可以跨越不同控制器同时发出多个输入命令来指导多个对象,其中次序可能不重要。

如图13a中所示,在游戏情节1310的上下文内定义跳转点1290。例如,对视频帧(例如,视频帧1211)的选择在游戏情节1310的上下文内以及在新近实例化的跳转游戏情节的上下文内定义跳转点1290。例如,作为实例,跳转点可以定义在ss-1与ss-2之间,并且可通过视频记录1201的对应视频帧1211选择。更具体来说,多个输入命令1330包括在ss-1与跳转点1290之间发出的输入命令序列1335。而且,多个输入命令1330包括在跳转点1290与ss-2之间发出的输入命令序列1337。这些序列1335和1337用于实施和描述跳转游戏情节的重放部分,如下文将进一步描述。在ss-1之前以及在ss-2之后示出附加输入命令。

如先前所描述,对视频记录,且更具体来说对视频帧1211的主动或被动选择使用例如ss-1或ss-2的相关联快照来提供跳转游戏情节的实例化。取决于所选择的快照,跳转游戏情节将前进通过输入命令序列以到达跳转点1290,或倒回通过输入命令序列以到达跳转点1290。

跳转游戏情节1340示出确定ss-1是用于起始游戏应用程序的实例以实例化跳转游戏情节1340的相关联快照。如图所示,跳转游戏情节1340包括由区段a定义的重放部分以及由区段b定义的直播部分。在区段a的重放部分中,跳转游戏情节1340使用来自所存储游戏情节1310的所保存输入命令(例如,输入命令序列1335)自动地执行ss-1与跳转点1290之间的玩家的游戏情节1310。在这种情况下,输入命令序列1335以正向方式执行以到达跳转点1290。在一个实施方案中,对序列1335的执行进行超频,以快速到达跳转点。在到达重放部分中的跳转点1290之后,从区段a的重放部分过渡至由区段b示出的直播部分,其中通过处理来自用户的输入命令而使跳转游戏情节1340变成直播,使得用户交互式地指导跳转游戏情节1340。重要的是应注意,只要用户希望玩跳转游戏,直播部分就会延长,并且在一个实施方案中,可以延长超出玩家的所存储游戏情节中的任何点。

跳转游戏情节1345示出确定ss-2是用于起始游戏应用程序的实例以实例化跳转游戏情节1345的相关联快照。如图所示,跳转游戏情节1345包括由区段c定义的重放部分以及由区段d定义的直播部分。在区段c的重放部分中,跳转游戏情节1345使用来自所存储游戏情节1310的所保存输入命令(例如,输入命令序列1337)自动地执行ss-2与跳转点1290之间的玩家的游戏情节1310。在这种情况下,输入命令序列1337以反向方式执行以到达跳转点1290。在一个实施方案中,对序列1337的执行进行超频,以快速到达跳转点。在到达区段c的重放部分中的跳转点1290之后,从区段c的重放部分过渡至由区段d示出的直播部分,其中通过处理来自用户的输入命令而使跳转游戏情节1345变成直播,使得用户交互式地指导跳转游戏情节1345。

在另一实施方案中,在重放部分期间,当正执行跳转游戏情节1345时,可以在单独窗口(未示出)中显示附加或辅助内容。在一个实施方案中,辅助内容可以叠加正生成的图像帧,以显示在重放部分中。例如,辅助内容可以包括显示为在重放部分期间执行的跳转游戏情节1345的广告。此外,在另一实施方案中,辅助内容可以对用户输入作出响应。例如,辅助内容可以是另一跳转游戏情节。

图13b是根据本公开的一个实施方案的在窗口1390中所示的跳转游戏情节中的图像帧1311的图示,其中视频记录的视频帧的选择基于在玩家的游戏情节期间捕获的相关联快照而实例化游戏应用程序的实例以执行跳转游戏情节,使得跳转游戏情节可由请求用户播放。如图所示,图像帧1311大致对应于与视频记录1201的视频帧1211相关联的跳转点1290。也就是说,图像帧1311示出熊通过朝向角色308转向和行走而攻击性地行动。因此,用户能够在跳转游戏情节的直播部分中交互式地指导大致从图像帧1311开始的窗口1390中所示的跳转游戏情节,所述图像帧大致对应于跳转点1290。

在各种实施方案中,窗口1390可以独立于窗口300或与窗口300同时显示,其中窗口300示出参与游戏应用程序的用户的当前游戏情节。以此方式,跳转游戏情节可以与用户的当前游戏情节同时示出(例如,在窗口1212中所示的窗口叠加中),或跳转游戏情节可以例如以全屏模式独立地示出。在实施方案中,用户的当前游戏情节以及跳转游戏情节可以是相同游戏应用程序或不同游戏应用程序。

在一个实施方案中,跳转游戏情节单独记录并存储在视频记录中。另外,可以在执行跳转游戏情节期间的任何点处在跳转游戏情节期间捕获多个快照。例如,在直播跳转游戏情节中捕获快照ss-00,如在进度条1395中所示,其中以虚线方式示出快照ss-00右侧的未来/预期进度。以此方式,任何用户可以通过所捕获快照以及通过新近实例化的二次跳转游戏情节来体验跳转游戏情节。具体地,在跳转游戏情节期间捕获的选定快照可以用于基于在主要跳转游戏情节期间捕获的选定快照而实例化游戏应用程序的实例,以执行二次跳转游戏情节。以此方式,用户能够体验由同一用户创建的任何先前跳转游戏情节,或可以能够体验其它玩家的所存储跳转游戏情节。

图14是根据本公开的一个实施方案的在跳转游戏情节期间呈现的输入命令序列的图示,所述跳转游戏情节基于在参与游戏应用程序的玩家的游戏情节期间捕获的快照而实例化。通过显示输入命令序列,可以向用户提供附加功能。在一个实施方案中,所显示的输入命令序列可以提供引导特征,所述引导特征有助于将用户引导至跳转点。在另一实施方案中,所显示的输入命令序列可以用于重影目的,其中用户尝试例如以正确且相同的定时模仿输入命令序列。可以提供累积分1460,所述累积分指示用户能够模仿原始游戏情节的程度。

如图所示,窗口1410通过包括图像帧1405的一个或多个图像帧显示跳转游戏情节。在一个实施方案中,跳转游戏情节的重放部分显示在窗口1410中。例如,对象1420显示为跳转游戏情节的可执行重放部分,其中自动地执行输入命令序列1450以重放玩家的游戏情节直到跳转点,之后通过处理来自请求用户的输入命令而使跳转游戏情节变成直播。最初在玩家的游戏情节中生成对象1420。还示出用于指导玩家的游戏情节的输入命令序列1450。可以按有序序列提供序列1450,其中按照由客户端装置生成输入命令的次序呈现输入命令。例如,序列1450叠加在跳转游戏情节的重放部分期间生成的多个图像帧中的每个图像帧上。进度条1430上的定位器1435指示对应于图像帧1405的当前输入命令(例如,向下)。在一个实施方式中,在输入命令序列1450从右向左或从左向右滚动时,定位器1435是静态的。在另一实施方式中,定位器1435还关于输入命令序列1450移动,只要定位器1435提供当前显示的图像帧1405与对应输入命令之间的关系。支持其它实施方式,例如,以自上而下的方式显示序列1450等。

在一个实施方案中,请求用户可以模仿输入命令序列,以指导与对应图像帧中的原始和对应对象一起呈现的重影对象。具体地,重影对象1425对多个模仿的输入命令(未示出)作出响应。重影对象1425叠加显示对象1420的图像帧1405,并且可以不干扰对象1420或图像帧1405中的其它对象的方式呈现。模仿的命令在用户的客户端装置处生成,并且尝试遵循输入命令序列1450。取决于模仿命令遵循输入命令序列1450的接近程度,将确定重影对象1425的位置和移动。模仿命令越遵循序列1450,则重影对象1425与对象1420之间的对准越接近。

基于在命令、命令次序和/或命令定时等方面模仿命令遵循输入命令序列1450的接近程序,可以生成分数1460。分数可以叠加图像帧1405。为了说明,图15a至图15e示出在用户提供遵循输入命令序列1450的模仿命令时,在各种图像帧中在对象1420与重影对象1425之间的关系和/或对准。如图所示,对象之间的对准在图像帧的进程中变得更接近。图15a中的图像帧1501示出对象1420与重影对象1425之间的粗略对准(即,未紧密对准),而图15e中的图像帧1505示出对象之间的精细对准(即,紧密对准)。

在另一实施方案中,输入命令序列1450以教程的形式呈现。也就是说,输入命令指示用户如何前进通过游戏情节的特定部分。例如,在跳转游戏情节期间,重放部分的控制实际上可以由用户指导,而不是自动地重放原始游戏情节。重影对象1425在教程期间可以或可以不在图14中示出。因此,在重放部分期间,可以处理来自客户端装置的输入命令并且使用所述输入命令控制至少对象1420。显示输入命令序列,并且输入命令序列可以有助于指导用户朝向跳转点。此外,为了使跳转游戏情节进入跳转点,来自客户端装置的输入命令可能在处理方面受限,其中受限输入命令不遵循跳转点的路径,并且例如可能不可避免地远离跳转点引导。因此,可以提供输入命令作为对用户的引导(例如,通过输入命令序列),以使跳转游戏情节进入跳转点。

图16是根据本公开的一个实施方案的用于将玩家引导至跳转游戏情节中的跳转点的特征的图示,所述跳转游戏情节基于在与参与游戏应用程序的玩家相关联的所存储游戏情节期间捕获的快照而实例化。如图所示,可以显示输入命令序列1620,所述输入命令序列在执行时有助于在通向跳转点的方向上引导角色308。例如,图像帧1610与快照图像360d紧密对应,所述快照图像在与视频帧1211(正朝着角色308转向和行走的攻击性熊)相关联的跳转点1290之前出现。例如当角色308穿过森林时,用户可以选择在对应于视频帧1210(示出洞穴前面的熊)的ss-1之前出现的点处开始跳转游戏情节。引导特征将通过显示玩家在所存储游戏情节中使用的输入命令序列1620而有助于将角色308引导至跳转点1290。另外,可以呈现例如箭头1630(视觉辅助)的辅助,以有助于将角色308指向正确方向(例如,穿过河流)。

图17是根据本公开的一个实施方案的流程图1700,其示出游戏方法中的步骤,且更具体地,允许用户基于在游戏情节期间生成和捕获的快照而跳转至参与游戏应用程序的玩家的所存储游戏情节中的方法。流程图1700可以由通过网络150通信的游戏服务器205和客户端装置10的各种模块实施。具体地,流程图1700示出提供对参与游戏应用程序的玩家的所存储游戏情节的交互式访问的方法中的步骤。更具体来说,流程图1100的方法公开一种方法,所述方法提供用于用户基于在游戏情节期间生成和捕获的快照而跳转至所存储游戏情节中。流程图1100示出出于生成通过网络150显示在客户端装置200处的信息的目的在基于云的游戏系统201(例如,gcs201)的游戏服务器205侧涉及的操作的过程和数据流。

在操作1710处,所述方法包括基于在玩家的游戏情节中的第一点处捕获的起始快照而起始游戏应用程序的实例。游戏应用程序的实例将跳转游戏情节实例化。起始快照包括实现在与游戏情节中捕获起始快照的位置对应的点处实例化和/或起始游戏应用程序的实例的元数据和/或信息。

起始快照可以通过游戏情节的视频记录选择。在一个实施方式中,视频记录是直播流式视频,使得所存储游戏情节被视为也同时实时存储的直播游戏情节。视频记录中的视频帧可以与在玩家的游戏情节期间生成和捕获的一个或多个快照相关联,包括在玩家的游戏情节中的第一点处捕获的起始快照。例如,快照包括快照图像,所述快照图像包括由与玩家的游戏情节相关联地执行的游戏应用程序的第一实例生成的渲染图像。快照图像对应于与玩家的游戏情节中的点对应的视频帧,并且可以用于从所述点开始起始跳转游戏情节。

在操作1720处,所述方法包括访问与起始快照相关联的输入命令序列,其中所述输入命令序列先前用于指导玩家的所存储游戏情节。

在操作1730处,所述方法包括基于输入命令序列而在游戏应用程序的实例处生成多个图像帧,以用于在用户的客户端装置处渲染。具体地,多个图像帧从游戏情节中的第一点重放游戏情节。此时,跳转游戏情节的重放部分正执行。在一个实施方案中,重放部分执行直到到达跳转点,所述跳转点可以通过视频记录的视频帧的主动或被动选择定义。

在另一实施方案中,在重放部分期间主动地定义跳转点。具体地,在操作1740处,所述方法包括接收起始请求,以在多个图像帧中的选定图像帧处开始跳转游戏情节的直播部分。例如,当在重放部分期间显示多个图像帧时,与第一图像帧的主动或被动交互提供起始请求以开始直播部分,之后通过处理来自用户的客户端装置的输入命令而使跳转游戏情节对用户变成直播。此外,停用重放部分,使得阻止序列中尚未执行的其余输入命令在将跳转游戏情节实例化的游戏应用程序的实例处执行。以此方式,跳转点可以在重放部分期间选择,使得先前定义的跳转点(通过视频记录的视频帧选择)可以在重放部分期间重新定义。例如,用户可能急切地想要在跳转游戏情节内开始主动交互。在另一实施方案中,可以通过与跳转游戏情节的重放部分的交互来初始地定义跳转点。

尽管已提供特定实施方案来展示生成和捕获多个用户的视频游戏的游戏情节中的点的快照,所述快照用于通过游戏情节的视频记录预览和/或跳转至同一用户或另一用户的先前执行的游戏情节,但是这些作为实例而不是作为限制来描述。阅读了本公开的技术人员将认识到落入本公开的精神和范围内的额外实施方案。

应注意,在广泛的地理区域上传递的访问服务,例如提供对当前实施方案的游戏的访问通常使用云计算。云计算是一种计算方式,其中动态可扩展且通常虚拟化的资源作为因特网上的服务提供。用户无需成为支持云计算的“云”中的技术基础架构方面的专家。云计算可以分成不同服务例如,基础架构即服务(iaas)、平台即服务(paas)以及软件即服务(saas)。云计算服务通常提供从网络浏览器访问的在线公共应用程序,例如视频游戏,而软件和数据存储在云中的服务器上。术语“云”基于如何在计算机网络图中描绘因特网而用作因特网的隐喻,并且是其隐藏的复杂基础架构的抽象。

游戏客户端使用游戏处理服务器(gps)(或简称为“游戏服务器”)来玩单人和多人视频游戏。通过因特网播放的大部分视频游戏通过与游戏服务器的连接来操作。通常,游戏使用专用服务器应用程序,所述专用服务器应用程序从玩家收集数据并将数据分发给其它玩家。这比对等布置更有效,但是这需要单独服务器来托管服务器应用程序。在另一实施方案中,gps在玩家之间建立通信,并且其相应游戏装置在不依赖于集中式gps的情况下交换信息。

专用gps是独立于客户端运行的服务器。这些服务器通常在位于数据中心中的专用硬件上运行,从而提供更多带宽和专用处理能力。专用服务器是托管大多数基于pc的多人游戏的游戏服务器的优选方法。大型多人在线游戏在通常由拥有游戏名称的软件公司托管的专用服务器上运行,从而允许专用服务器控制和更新内容。

用户通过客户端装置访问远程服务,所述客户端装置包括至少cpu、显示器和i/o。客户端装置可以是pc、移动电话、上网本、pda等。在一个实施方案中,在游戏服务器上执行的网络识别客户端使用的装置类型并且调整所采用的通信方法。在其它情况下,客户端装置使用例如html的标准通信方法来通过因特网访问游戏服务器上的应用程序。

本公开的实施方案可以用各种计算机系统配置实践,包括手持式装置、微处理器系统、基于微处理器或可编程的消费者电子装置、小型计算机、大型计算机等。本公开还可以在分布式计算环境中实践,其中任务由通过基于有线或无线网络链接的远程处理装置执行。

应了解,可以为特定平台和特定相关联控制器装置开发给定视频游戏。然而,当通过本文所呈现的游戏云系统使此游戏可用时,用户可能正用不同的控制器装置访问视频游戏。例如,可能已为游戏控制台以及其相关联控制器开发了游戏,而用户可能正利用键盘和鼠标从个人计算机访问基于云的游戏版本。在此情形下,输入参数配置可以定义从可以由用户的可用控制器装置(在这种情况下,键盘和鼠标)生成的输入至对于视频游戏的执行可接受的输入的映射。

在另一实例中,用户可以通过平板计算装置、触摸屏智能电话,或其它触摸屏驱动装置访问云游戏系统。在这种情况下,客户端装置和控制器装置一起集成在相同装置中,其中借助于检测到的触摸屏输入/手势提供输入。对于此装置,输入参数配置可以定义与视频游戏的游戏输入对应的特定触摸屏输入。例如,在视频游戏的运行期间可以显示或叠加按钮、方向键盘或其它类型的输入元件,以指示用户可以触摸以生成游戏输入的触摸屏上的位置。例如在特定方向上的滑动或特定触摸动作的手势也可以被检测为游戏输入。在一个实施方案中,可以向用户提供教程,所述教程指示例如在开始视频游戏的游戏情节之前,如何通过游戏情节的触摸屏提供输入,以使用户适应触摸屏上的控件的操作。

在一些实施方案中,客户端装置用作控制器装置的连接点。也就是说,控制器装置通过与客户端装置的无线或有线连接通信,以将输入从控制装置传输至客户端装置。客户端装置进而可以处理这些输入,并且随后通过网络将输入数据传输至云游戏服务器(例如,通过例如路由器的本地联网装置访问)。然而,在其它实施方案中,控制器本身可以是联网装置,具有直接通过网络将输入传送至云游戏服务器的能力,而不需要首先通过客户端装置传送这些输入。例如,控制器可以连接至本地联网装置(例如,上述路由器),以将数据发送至云游戏服务器以及从云游戏服务器接收数据。因此,尽管客户端装置可能仍需要从基于云的视频游戏接收视频输出并在本地显示器上渲染所述视频输出,但是可以通过允许控制器直接通过网络将输入发送至云游戏服务器,绕过客户端装置来减少输入时延。

在一个实施方案中,联网控制器和客户端装置可以被配置成将某些类型的输入直接从控制器发送至云游戏服务器,以及通过客户端装置发送其它类型的输入。例如,其检测不依赖于除控制器本身之外的任何附加硬件或处理的输入可以通过网络直接从控制器发送至云游戏服务器,从而绕过客户端装置。此类输入可以包括按钮输入、操纵杆输入、嵌入式运动检测输入(例如,加速计、磁力计、陀螺仪)等。然而,客户端装置可以将利用附加硬件或需要由客户端装置处理的输入发送至云游戏服务器。这些可以包括可以在发送至云游戏服务器之前由客户端装置处理的从游戏环境捕获的视频或音频。另外,来自控制器的运动检测硬件的输入可以由客户端装置结合所捕获视频处理,以检测控制器的位置和运动,这随后将由客户端装置传送至云游戏服务器。应了解,根据各种实施方案的控制器装置还可以从客户端装置或直接从云游戏服务器接收数据(例如,反馈数据)。

应理解,本文所描述的实施方案可以在任何类型的客户端装置上执行。在一些实施方案中,客户端装置是抬头显示器(hmd)。

图18是根据本公开的实施方案的示出抬头显示器1850的组件的图式。抬头显示器1850包括用于执行程序指令的处理器1800。存储器1802出于存储目的提供,并且可以包括易失性和非易失性存储器两者。包括显示器1804,所述显示器提供用户可以观看的视觉界面。提供电池1806作为抬头显示器1850的电源。运动检测模块1808可以包括各种运动敏感硬件中的任一个,例如磁力计1810、加速计1812和陀螺仪1814。

加速计是用于测量加速度和重力引发的反作用力的装置。单轴和多轴模型可用于检测不同方向上的加速度的量值和方向。加速计用于感测倾斜、振动和冲击。在一个实施方案中,使用三个加速计1812提供重力方向,所述重力方向给出两个角度的绝对参考(世界空间俯仰角和世界空间横滚角)。

磁力计测量在抬头显示器附近的磁场的强度和方向。在一个实施方案中,在抬头显示器中使用三个磁力计1810,从而确保世界空间偏航角的绝对参考。在一个实施方案中,磁力计被设计成跨越±80微特斯拉的地球磁场。磁力计受金属影响,并且通过实际偏航角提供单调的偏航角测量。磁场可能由于环境中的金属而扭曲,这会导致偏航角测量的扭曲。必要时,可以使用来自例如陀螺仪或相机的其它传感器的信息校准这种扭曲。在一个实施方案中,加速计1812与磁力计1810一起用于获得抬头显示器1850的倾斜度和方位角。

陀螺仪是用于基于角动量原理而测量或维持取向的装置。在一个实施方案中,三个陀螺仪1814基于惯性感测提供关于跨越相应轴线(x、y和z)的移动的信息。陀螺仪有助于检测快速旋转。然而,陀螺仪可以在没有绝对参考的情况下超时漂移。这需要定期重置陀螺仪,这可以使用其它可用信息来完成,例如,基于对象的视觉跟踪、加速计、磁力计等的位置/取向确定。

提供相机1816用于捕获真实环境的图像和图像流。抬头显示器1850中可以包括多于一个相机,包括后向的相机(当用户正观看抬头显示器1850的显示器时远离用户),以及前向的相机(当用户正观看抬头显示器1850的显示器时指向用户)。另外,抬头显示器1850中可以包括深度相机1818,用于感测真实环境中的对象的深度信息。

在一个实施方案中,集成在hmd的前面上的相机可以用于提供关于安全性的警告。例如,如果用户正接近墙壁或对象,则可以警告用户。在一个实施方案中,可以向用户提供房间中的物理对象的轮廓视图,以警告用户这些物理对象的存在。例如,轮廓可以是虚拟环境中的叠加。在一些实施方案中,可以向hmd用户提供例如叠加在地板上的参考标记的视图。例如,标记可以向用户提供用户正在其中玩游戏的房间中心的参考。例如,这可以向用户提供用户应移动到的位置的视觉信息,以避免撞击墙壁或房间中的其它对象。还可以向用户提供触觉警告和/或音频警告,以在用户佩戴hmd并通过hmd玩游戏或导航内容时提供更多安全性。

抬头显示器1850包括用于提供音频输出的扬声器1820。而且,可以包括用于从真实环境捕获音频的麦克风1822,所述音频包括来自周围环境的声音、用户发出的语音等。抬头显示器1850包括用于向用户提供触觉反馈的触觉反馈模块1824。在一个实施方案中,触觉反馈模块1824能够引起抬头显示器1850的移动和/或振动,以便向用户提供触觉反馈。

提供led1826作为抬头显示器1850的状态的视觉指示器。例如,led可以指示电池电量、通电等。提供读卡器1828,以使抬头显示器1850能够从存储卡读取信息以及向存储卡写入信息。包括usb接口1830作为用于实现外围装置的连接,或与例如其它便携式装置、计算机等其它装置的连接的接口的一个实例。在抬头显示器1850的各种实施方案中,可以包括各种类型的接口中的任一个以实现抬头显示器1850的更大连接性。

包括wifi模块1832,用于实现通过无线网络技术与因特网的连接。而且,抬头显示器1850包括蓝牙模块1834,用于实现与其它装置的无线连接。还可以包括通信链路1836,用于连接至其它装置。在一个实施方案中,通信链路1836利用红外线传输进行无线通信。在其它实施方案中,通信链路1836可以利用各种无线或有线传输协议中的任一个与其它装置通信。

包括输入按钮/传感器1838,从而为用户提供输入接口。可以包括各种输入接口中的任一个,例如,按钮、触摸板、操纵杆、轨迹球等。可以在抬头显示器1850中包括超声波通信模块1840,用于通过超声波技术促进与其它装置的通信。

包括生物传感器1842,以实现来自用户的生理数据的检测。在一个实施方案中,生物传感器1842包括一个或多个干电极,用于通过用户的皮肤检测用户的生物电信号。

仅作为可以包括在抬头显示器1850中的示例性组件描述了抬头显示器1850的前述组件。在本公开的各种实施方案中,抬头显示器1850可以或可以不包括各种上述组件中的一些组件。出于便于本文所描述的本公开的各方面的目的,抬头显示器1850的实施方案可以另外包括当前未描述但在所属领域中已知的其它组件。

所属领域中的技术人员应了解,在本公开的各种实施方案中,前述手持式装置可以与显示在显示器上的交互式应用程序结合使用,以提供各种交互式功能。本文描述的示例性实施方案仅作为实例,而不是作为限制提供。

图19是根据本公开的各种实施方案的游戏系统1900的框图。游戏系统1900被配置成通过网络1915向一个或多个客户端1910提供视频流。游戏系统1900通常包括视频服务器系统1920和任选的游戏服务器1925。视频服务器系统1920被配置成以最低服务质量将视频流提供给一个或多个客户端1910。例如,视频服务器系统1920可以接收改变视频游戏内的状态或视点的游戏命令,并且以最小时滞向客户端1910提供反映此状态改变的更新视频流。视频服务器系统1920可以被配置成以各种替代视频格式,包括尚未定义的格式提供视频流。此外,视频流可以包括被配置成以各种帧速率呈现给用户的视频帧。典型的帧速率是每秒30帧、每秒60帧以及每秒1920帧。但是在本公开的替代实施方案中包括更高或更低的帧速率。

本文中个别地称为1910a、1910b等的客户端1910可以包括抬头显示器、终端、个人计算机、游戏控制台、平板电脑、电话、机顶盒、信息亭、无线装置、数字键盘、独立装置、手持式游戏装置等。通常,客户端1910被配置成接收编码的视频流(即,压缩的)、对视频流进行解码,以及将所得视频呈现给用户,例如游戏的玩家。接收编码的视频流和/或对视频流进行解码的过程通常包括将个别视频帧存储在客户端的接收缓冲器中。视频流可以在与客户端1910一体的显示器上或在例如监视器或电视的单独装置上呈现给用户。客户端1910任选地被配置成支持多于一个游戏玩家。例如,游戏控制台可以被配置成支持两个、三个、四个或更多个同时的玩家。这些玩家中的每一个可以接收单独的视频流,或单个视频流可以包括专门为每个玩家生成的帧的区域,例如,基于每个玩家的视点生成的帧的区域。客户端1910任选地在地理上分散。在游戏系统1900中包括的客户端数目可以从一个或两个广泛地变化至数千、数万或更多。如本文中所使用,术语“游戏玩家”用于指玩游戏的人,并且术语“游戏装置”用于指用于玩游戏的装置。在一些实施方案中,游戏装置可以指协作以向用户传递游戏体验的多个计算装置。例如,游戏控制台和hmd可以与视频服务器系统1920协作以传递通过hmd观看的游戏。在一个实施方案中,游戏控制台从视频服务器系统1920接收视频流,并且游戏控制台将视频流或对视频的更新转发至hmd以进行渲染。

客户端1910被配置成通过网络1915接收视频流。网络1915可以是任何类型的通信网络,包括电话网络、因特网、无线网络、电力线网络、局域网、广域网、专用网络等。在典型的实施方案中,视频流通过例如tcp/ip或udp/ip的标准协议传送。替代地,视频流通过专有标准传送。

客户端1910的典型实例是个人计算机,包括处理器、非易失性存储器、显示器、解码逻辑、网络通信能力和输入装置。解码逻辑可以包括存储在计算机可读介质上的硬件、固件和/或软件。用于解码(以及编码)视频流的系统在所属领域中是公知的,并且取决于使用的特定编码方案而变化。

客户端1910可以但并非必须进一步包括被配置用于修改所接收视频的系统。例如,客户端可以被配置成执行进一步渲染,以将一个视频图像叠加在另一视频图像上、剪裁视频图像等。例如,客户端1910可以被配置成接收各种类型的视频帧,例如,i-帧、p-帧和b-帧,并将这些帧处理成图像以向用户显示。在一些实施方案中,客户端1910的构件被配置成对视频流执行进一步的渲染、着色、转换成3-d或类似操作。客户端1910的构件任选地被配置成接收多于一个音频或视频流。客户端1910的输入装置可以包括例如,单手游戏控制器、双手游戏控制器、手势识别系统、注视识别系统、语音识别系统、键盘、操纵杆、指示装置、力反馈装置、运动和/或位置感测装置、鼠标、触摸屏、神经接口、相机、尚待开发的输入装置等。

由视频服务器系统1920生成并提供由客户端1910接收的视频流(以及任选地音频流)。如本文其它地方进一步描述,此视频流包括视频帧(以及音频流包括音频帧)。视频帧(例如,所述视频帧包括呈适当数据结构的像素信息)被配置成有意义地促成显示给用户的图像。如本文所使用,术语“视频帧”用于指主要包括被配置成促成,例如实现显示给用户的图像的信息的帧。本文关于“视频帧”的大部分教示也可以应用于“音频帧”。

客户端1910通常被配置成从用户接收输入。这些输入可以包括被配置成改变视频游戏的状态或另外影响游戏情节的游戏命令。可以使用输入装置接收游戏命令和/或可以通过在客户端1910上执行的计算指令自动地生成游戏命令。所接收的游戏命令通过网络1915从客户端1910传送至视频服务器系统1920和/或游戏服务器1925。例如,在一些实施方案中,游戏命令通过视频服务器系统1920传送至游戏服务器1925。在一些实施方案中,游戏命令的单独副本从客户端1910传送至游戏服务器1925和视频服务器系统1920。游戏命令的传送任选地取决于命令的标识。通过用于向客户端1910a提供音频或视频流的不同路线或通信信道,任选地从客户端1910a传送游戏命令。

游戏服务器1925任选地由与视频服务器系统1920不同的实体操作。例如,游戏服务器1925可以由多玩家游戏的发布者操作。在此实例中,视频服务器系统1920任选地被游戏服务器1925视为客户端,并且任选地被配置成从游戏服务器1925的视点显示为执行现有技术游戏引擎的现有技术客户端。视频服务器系统1920与游戏服务器1925之间的通信任选地通过网络1915发生。因此,游戏服务器1925可以是将游戏状态信息发送至多个客户端的现有技术多玩家游戏服务器,其中一个客户端是游戏服务器系统1920。视频服务器系统1920可以被配置成同时与游戏服务器1925的多个实例通信。例如,视频服务器系统1920可以被配置成向不同用户提供多个不同视频游戏。这些不同视频游戏中的每个视频游戏可以由不同游戏服务器1925支持和/或由不同实体发布。在一些实施方案中,视频服务器系统1920的若干地理上分布的实例被配置成向多个不同用户提供游戏视频。视频服务器系统1920的这些实例中的每个实例可以与游戏服务器1925的同一实例通信。视频服务器系统1920与一个或多个游戏服务器1925之间的通信任选地通过专用通信信道发生。例如,视频服务器系统1920可以通过专用于这两个系统之间的通信的高带宽信道连接至游戏服务器1925。

视频服务器系统1920包括至少视频源1930、i/o装置1945、处理器1950和非暂时性存储装置1955。视频服务器系统1920可以包括一个计算装置或分布在多个计算装置之间。这些计算装置任选地通过例如局域网的通信系统连接。

视频源1930被配置成提供视频帧,例如,流式视频或形成运动图像的一系列视频帧。在一些实施方案中,视频源1930包括视频游戏引擎和渲染逻辑。视频游戏引擎被配置成从玩家接收游戏命令并基于所接收命令维护视频游戏的状态的副本。此游戏状态包括游戏环境中的对象的位置以及通常的视点。游戏状态还可以包括对象的属性、图像、颜色和/或纹理。

通常基于游戏规则以及例如移动、转弯、攻击、设置焦点、交互、使用等游戏命令而维持游戏状态。游戏引擎的一部分任选地安置于游戏服务器1925内。游戏服务器1925可以使用地理上分散的客户端基于从多个玩家接收的游戏命令而维护游戏状态的副本。在这些情况下,游戏状态由游戏服务器1925提供至视频资源1930,其中存储游戏状态的副本并且执行渲染。游戏服务器1925可以通过网络1915直接从客户端1910接收游戏命令,和/或可以通过视频服务器系统1920接收游戏命令。

视频源1930通常包括存储在例如存储装置1955的计算机可读介质上的渲染逻辑,例如,硬件、固件和/或软件。此渲染逻辑被配置成基于游戏状态创建视频流的视频帧。所有或部分渲染逻辑任选地安置于图形处理单元(gpu)内。渲染逻辑通常包括处理级,所述处理级被配置用于基于游戏状态和视点而确定对象之间的三维空间关系和/或应用适当的纹理等。渲染逻辑产生原始视频,然后通常对所述原始视频进行编码,之后再传送至客户端1910。例如,可以根据adobe标准、.wav、h.264、h.263、on2、vp6、vc-1、wma、huffyuv、lagarith、mpg-x.xvid.ffmpeg、x264、vp6-8、realvideo、mp3等对原始视频进行编码。编码过程产生视频流,所述视频流任选地被打包以传递至远程装置上的解码器。视频流的特征在于帧大小和帧速率。典型的帧大小包括800x600、1280x720(例如,720p)、1024x768,但是可以使用任何其它帧大小。帧速率是每秒视频帧的数目。视频流可以包括不同类型的视频帧。例如,h.264标准包括“p”帧和“i”帧。i-帧包括用于刷新显示装置上的所有宏块/像素的信息,而p-帧包括用于刷新其子集的信息。p-帧的数据大小通常小于i-帧。如本文所使用,术语“帧大小”意指帧内的像素数目。术语“帧数据大小”用于指存储帧所需的字节数。

在替代实施方案中,视频源1930包括例如相机的视频记录装置。这种相机可以用于生成可以包括在计算机游戏的视频流中的延迟或直播视频。所得视频流任选地包括渲染图像和使用静物照相机或摄像机记录的图像。视频源1930还可以包括存储装置,所述存储装置被配置成存储先前记录的视频以包括在视频流中。视频源1930还可以包括:运动或定位感测装置,所述运动或定位感测装置被配置成检测例如人的对象的运动或位置;以及逻辑,所述逻辑被配置成基于检测到的运动和/或位置而确定游戏状态或产生视频。

视频源1930任选地被配置成提供叠加,所述叠加被配置成放置于另一视频上。例如,这些叠加可以包括命令界面、登录指令、给游戏玩家的消息、其它游戏玩家的图像、其它游戏玩家的视频馈送(例如,网络摄像头视频)。在包括触摸屏界面或注视检测界面的客户端1910a的实施方案中,叠加可以包括虚拟键盘、操纵杆、触摸板等。在叠加的一个实例中,玩家的语音叠加在音频流上。视频源1930任选地还包括一个或多个音频源。

在视频服务器系统1920被配置成基于来自多于一个玩家的输入而维护游戏状态的实施方案中,每个玩家可以具有包括视图位置和方向的不同视点。视频源1930任选地被配置成基于玩家的视点为每个玩家提供单独的视频流。此外,视频源1930可以被配置成向每个客户端1910提供不同帧大小、帧数据大小和/或编码。视频源1930任选地被配置成提供3-d视频。

i/o装置1945被配置用于视频服务器系统1920,以发送和/或接收信息,例如视频、命令、对信息的请求、游戏状态、注视信息、装置运动、装置位置、用户运动、客户端标识、玩家身份、游戏命令、安全信息、音频等。i/o装置1945通常包括例如网卡或调制解调器的通信硬件。i/o装置1945被配置成与游戏服务器1925、网络1915和/或客户端1910通信。

处理器1950被配置成执行包括在本文中所论述的视频服务器系统1920的各种组件内的逻辑,例如软件。例如,处理器1950可以通过软件指令编程,以便执行视频源1930、游戏服务器1925和/或客户端限定器1960的功能。视频服务器系统1920任选地包括处理器1950的多于一个实例。处理器1950也可以通过软件指令编程,以便执行由视频服务器系统1920接收的命令,或协调本文中所论述的游戏系统1900的各种元件的操作。处理器1950可以包括一个或多个硬件装置。处理器1950是电子处理器。

存储装置1955包括非暂时性模拟和/或数字存储装置。例如,存储装置1955可以包括被配置成存储视频帧的模拟存储装置。存储装置1955可以包括计算机可读数字存储装置,例如硬盘驱动器、光学驱动器或固态存储装置。存储装置1915被配置成(例如,通过合适的数据结构或文件系统)存储视频帧、人工帧、包括视频帧和人工帧两者的视频流、音频帧、音频流等。存储装置1955任选地分布在多个装置之间。在一些实施方案中,存储装置1955被配置成存储在本文中其它地方论述的视频源1930的软件组件。这些组件可以以准备好在需要时供应的格式存储。

视频服务器系统1920任选地还包括客户端限定器1960。客户端限定器1960被配置成远程地确定例如客户端1910a或1910b的客户端的能力。这些能力可以包括客户端1910a本身的能力,以及客户端1910a与视频服务器系统1920之间的一个或多个通信信道的能力。例如,客户端限定器1960可以被配置成通过网络1915测试通信信道。

客户端限定器1960可以手动地或自动地确定(例如,发现)客户端1910a的能力。手动确定包括与客户端1910a的用户通信以及要求用户提供能力。例如,在一些实施方案中,客户端限定器1960被配置成在客户端1910a的浏览器内显示图像、文本等。在一个实施方案中,客户端1910a是包括浏览器的hmd。在另一实施方案中,客户端1910a是具有可以显示在hmd上的浏览器的游戏控制台。所显示对象请求用户输入信息,例如,客户端1910a的操作系统、处理器、视频解码器类型、网络连接类型、显示分辨率等。用户输入的信息被传送回客户端限定器1960。

例如,可以通过在客户端1910a上执行代理和/或通过将测试视频发送至客户端1910a来进行自动确定。代理可以包括嵌入在网页中或作为附件安装的计算指令,例如java脚本。代理任选地由客户端限定器1960提供。在各种实施方案中,代理可以发现客户端1910a的处理能力,客户端1910a的解码和显示能力、客户端1910a与视频服务器系统1920之间的通信信道的时滞可靠性和带宽、客户端1910a的显示类型、存在于客户端1910a上的防火墙、客户端1910a的硬件、在客户端1910a上执行的软件、客户端1910a内的注册表条目等。

客户端限定器1960包括存储在计算机可读介质上的硬件、固件和/或软件。客户端限定器1960任选地安置于与视频服务器系统1920的一个或多个其它元件分离的计算装置上。例如,在一些实施方案中,客户端限定器1960被配置成确定客户端1910与视频服务器系统1920的多于一个实例之间的通信信道的特性。在这些实施方案中,客户端限定器发现的信息可以用于确定视频服务器系统1920的哪个实例最适合于将流式视频传递至一个客户端1910。

应理解,可以使用本文公开的各种特征将本文定义的各种实施方案组合或组装成特定实施方式。因此,所提供的实例仅仅是一些可能的实例,而不限于通过组合各种元件以定义更多实施方式而成为可能的各种实施方式。在一些实例中,在不偏离所公开或等效实施方式的精神的情况下,一些实施方式可以包括更少元件。

本公开的实施方案可以用各种计算机系统配置实践,包括手持式装置、微处理器系统、基于微处理器或可编程的消费者电子装置、小型计算机、大型计算机等。本公开的实施方案还可以在分布式计算环境中实践,其中任务由通过基于有线或无线网络链接的远程处理装置执行。

考虑到上述实施方案,应理解,本公开的实施方案可以采用涉及存储在计算机系统中的数据的各种计算机实施的操作。这些操作是需要对物理量进行物理操纵的操作。本文描述的构成本公开的实施方案的一部分的任何操作是有用的机器操作。本公开的实施方案还涉及用于执行这些操作的装置或设备。所述设备可以出于所需目的专门构造,或所述设备可以是由存储在计算机中的计算机程序选择性地激活或配置的通用计算机。具体地,各种通用机器可以与根据本文中的教示写入的计算机程序一起使用,或可以更方便地构造更专用设备来执行所需的操作。

本公开还可以实施为计算机可读介质上的计算机可读代码。计算机可读介质是可以存储数据的任何数据存储装置,所述数据其后可以由计算机系统读取。计算机可读介质的实例包括硬盘驱动器、网络连接存储器(nas)、只读存储器、随机存取存储器、cd-rom、cd-r、cd-rw、磁带以及其它光学和非光学数据存储装置。计算机可读介质可以包括计算机可读有形介质,所述计算机可读有形介质分布在网络耦合的计算机系统上,使得计算机可读代码以分布方式存储和执行。

尽管以特定次序描述方法操作,但是应理解,可以在操作之间执行其它内务操作,或可以调整操作以使它们在稍微不同的时间发生,或可以分布在允许以与处理相关联的各种间隔发生处理操作的系统中,只要以期望的方式执行叠加操作的处理。

尽管出于清楚理解的目的已经在一些细节上描述了前述公开内容,但是显而易见的是,可以在所附权利要求书的范围内实践某些改变和修改。因此,本发明的实施方案被视为说明性的而不是限制性的,并且本公开的实施方案不限于本文给出的细节,而是可以在所附权利要求书的范围和等效物内修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1