用于保存游戏娱乐的快照并且用于在游戏云系统上执行时开始任何用户进行的游戏娱乐的稍后执行的方法和系统与流程

文档序号:16811339发布日期:2019-02-10 13:41阅读:241来源:国知局
用于保存游戏娱乐的快照并且用于在游戏云系统上执行时开始任何用户进行的游戏娱乐的稍后执行的方法和系统与流程

基于云的系统使用计算资源(硬件和软件)经由网络(例如,互联网)输送服务。所述服务在游戏情形下使得内容能够流式传输到远程客户端,其中大多数处理是在服务器上完成,所述服务器可以是分布式的。在远程客户端处提供的输入将进而驱动视频游戏的执行,而在所述客户端的位置处不需要专用的游戏硬件。因此,基于云的游戏越来越受欢迎,因为用户发现更容易访问更多视频游戏名称而不受复杂硬件的限制,并且游戏供应商发现更容易从集中位置管理游戏代码。

当用户正在通过视频游戏的游戏娱乐前进时,所述视频游戏可呈现多个给出不同结果的选项,可能难以决定在哪个方向上引导游戏娱乐。例如,虽然用户可能想要在游戏娱乐中避开不提供任何明显前进的方向,但是在没有通过外部来源得到的先验知识的情况下,用户不能避开导致死胡同的特定方向。在一些情况下,在发现给出使游戏娱乐前进的结果的适当方向之前,用户可能要试完视频游戏可在游戏的某一部分中呈现的所有可能的方向。可能希望在视频游戏中避免玩所有可能的方向。

本公开的实施方案正是在这样的背景下产生。



技术实现要素:

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

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

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

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

在另一个实施方案中,公开一种用于浏览游戏世界的方法。所述方法包括经由流式游戏服务执行视频游戏,所述视频游戏被再现在通过网络通信的用户设备的显示器上,所述用户设备与第一用户相关联。所述方法包括为所述用户设备的所述显示器生成所述视频游戏的多个场景,所述场景通过所述视频游戏的不同路径前进。所述方法包括生成时间线以用于与当前再现场景一起显示,其中所述时间线包括多个第一缩略图,所述多个第一缩略图展示与所述第一用户通过所述视频游戏的进展相关联的快照图像,其中所述时间线包括多个第二缩略图,所述多个第二缩略图展示与第二用户通过所述视频游戏的未来进展相关联的快照图像,其中对所述多个第二缩略图中的第一缩略图的选择使得能够跳转到针对所述第二用户再现的所述视频游戏的未来状态中。

根据以下结合附图进行的详细描述,本公开的其他方面将变得显而易见,以下详细描述通过举例的方式来说明本公开的原理。

附图说明

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

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

图2示出根据本公开的一个实施方案的用于使得能够访问并玩存储在游戏云系统(gcs)中的视频游戏、存储与游戏娱乐相关联地生成的快照、经由快照预览已存储的游戏娱乐、经由快照浏览视频游戏、以及经由快照跳转到已存储的游戏娱乐中的系统图。

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

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

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

图4b是根据本公开的一个实施方案的一个或时间线的图解,所述时间线中的每一个展示至少一个用户的视频游戏的游戏娱乐的快照图像,其中对快照的选择启用快照图像的放大视图。

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

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

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

图5d是根据本公开的一个实施方案的展示与在视频游戏的游戏娱乐期间捕获的快照相关联地生成的快照节点的阶层的节点图表的扩展图解,所述视频游戏具有非线性进展部分。

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

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

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

图7是根据本公开的一个实施方案的在视频游戏的游戏娱乐期间捕获的快照、以及将所述快照中的每一个存储在快照数据库的一个或多个主文件中的图解。

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

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

图10是示出根据本公开的一个实施方案的头戴式显示器的部件的图。

图11是根据本发明的各种实施方案的游戏系统的框图。游戏系统被配置来通过网络将视频流提供到一个或多个客户端。

具体实施方式

虽然出于说明的目的,以下详细描述包含许多具体细节,但是本领域的普通技术人员将会了解,以下细节的许多变化和更改在本公开的范围内。因此,在阐明以下所描述的本公开的各个方面时,此描述的随附权利要求书的概括性没有任何损失,并且不对此权利要求书施加任何限制。

一般来说,本公开的各种实施方案描述系统和方法,所述系统和方法提供用于保存在多个用户的视频游戏的游戏娱乐期间生成的快照、浏览视频游戏、预览视频游戏、以及在视频游戏中跳转到选定的点以体验另一个用户的游戏娱乐,尤其是在基于云的游戏系统上执行时。可以在针对玩视频游戏的用户的时间线中显示快照。时间线中的选定的快照含有元数据和/或信息,所述元数据和/或信息使得能够在视频游戏中对应于选定的快照的跳转点处实例化视频游戏的实例。在跳转点处开始的视频游戏的实例是与在先前执行的游戏娱乐中生成选定的快照的原始用户相关联地执行,尽管请求用户可能不同于原始用户。本公开的实施方案提供一种加载并执行相同或另一个用户的视频游戏的实例的方式,这在先前是不可用的。以所述方式,用户能够在不妨碍他或她自己的游戏娱乐的情况下主动预览其他用户的游戏娱乐。另外,用户能够在不妨碍他或她自己的当前游戏娱乐的情况下主动预览他或她自己的先前游戏娱乐。本公开的实施方案正是在这样的背景下产生。

因此,本公开的实施方案提供游戏应用程序的另外用途。例如,本公开的实施方案提供用于用户基于游戏应用程序的先前游戏娱乐跳转到所述游戏应用程序的任何部分中。例如在一些实施方案中,通过对快照图像(例如,屏幕截图)的选择,访问对应的快照信息以使得能够跳转到所述游戏应用程序中。以所述方式,用户能够为了乐趣快速玩游戏应用程序的微小部分,或者能够发现如何成功地浏览游戏应用程序的困难部分。对微小部分的访问是在用户不必使用初始启动序列来加载游戏应用程序的情况下实现的。此外,不再受欢迎的更旧的应用程序将生成新的兴趣,因为用户不需要玩整个游戏来到达感兴趣的部分(例如,战斗级别的怪兽,或终极怪兽),而是可以直接到达那些感兴趣的部分以便立即玩游戏。另外其他的实施方案提供以上成就,并且提供另外的益处和优点,包括对游戏服务器的更好利用,因为游戏服务器仅需要直接从中间点或跳转点开始执行游戏应用程序,而不是从一开始执行初始化序列(例如,当用户第一次从头开始加载游戏应用程序时)。因而,通过直接上载从选定的跳转点开始游戏所必需的代码,游戏服务器跳过初始化序列、以及任何另外的可执行序列以导航到游戏应用程序中的跳转点。

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

遍及本说明书,提到“视频游戏”意在表示通过执行输入命令加以指导的任何类型的交互式应用程序。仅出于说明的目的,交互式应用程序包括用于游戏、文字处理、视频处理、视频游戏处理等的应用程序。此外,术语视频游戏和游戏应用程序是可互换的。

图1示出根据本公开的一个实施方案的系统,所述系统用于保存在经由云游戏网络执行的多个用户的视频游戏的游戏娱乐期间生成的快照、预览一个或多个用户的视频游戏的游戏娱乐、浏览视频游戏、以及跳转到视频游戏中的选定的点以体验相同或另一个用户的游戏娱乐。

在一些实施方案中,云游戏网络可包括在主机的虚拟机监控程序(hypervisor)上运行的多个虚拟机(vm),其中一个或多个虚拟机被配置来利用可供主机的虚拟机监控程序利用的硬件资源执行游戏处理器模块,以支持单玩家或多玩家视频游戏。在其他实施方案中,云游戏网络被配置来支持多个本地计算设备,所述多个本地计算设备支持多个用户,其中每个本地计算设备可执行视频游戏的一个实例,诸如在单玩家或多玩家视频游戏中。例如,在多玩家模式下,当视频游戏正在本地执行时,云游戏网络同时从每个本地计算设备接收信息(例如,游戏状态数据),并且因此遍及本地计算设备中的一个或多个分发所述信息,使得每个用户能够与多玩家视频游戏的游戏环境中的其他用户交互(例如,通过视频游戏中的对应角色)。以所述方式,云游戏网络针对多玩家游戏环境内的用户中的每一个对游戏娱乐进行协调和组合。

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

客户端设备100被配置来用于经由诸如互联网的网络150请求对视频游戏的访问,并且用于再现由游戏服务器205执行并且被输送到与用户5相关联的显示设备12的视频游戏的实例。例如,用户5可以通过客户端设备100与在游戏处理器210上执行的视频游戏的实例交互。客户端设备100还可以包括游戏执行引擎111,所述游戏执行引擎111被配置来用于视频游戏的本地执行。客户端设备100可以从各种类型的输入设备,诸如游戏控制器6、平板计算机11、键盘、由摄像机捕获的手势、鼠标、触摸板等接收输入。客户端设备100可以是能够经由网络150连接到游戏服务器205的至少具有存储器和处理器模块的任何类型的计算设备。客户端设备100的一些实例包括个人计算机(pc)、游戏控制台、家庭影院设备、通用计算机、移动计算设备、平板计算机、电话、或可以与游戏服务器205交互以执行视频游戏的实例的任何其他类型的计算设备。

客户端设备100被配置来用于接收由游戏服务器205输送的或由游戏执行引擎111在本地输送的再现图像,并且用于将再现图像显示在显示器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,所述时间线生成器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示出根据本公开的一个实施方案的用于使得能够访问并玩存储在游戏云系统(gcs)201中的视频游戏的系统图200。一般来说,游戏云系统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,所述社交图表245展示用户的社交网络关系。

用户u0能够经由游戏会话管理器285访问由gcs201提供的服务,其中用户u0可表示图1的用户5。例如,帐户管理器274实现用户u0的验证和对gcs201访问。帐户管理器274存储关于成员用户的信息。例如,每个成员用户的用户配置文件可由帐户管理器274管理。以所述方式,成员信息可由帐户管理器274用于验证的目的。例如,帐户管理器2274可用来更新并且管理与成员用户有关的用户信息。另外,成员用户拥有的游戏名称可由帐户管理器274管理。以所述方式,使存储在数据存储264中的视频游戏可供拥有所述视频游戏的任何成员用户利用。

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

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

在一个实施方案中,用户设备130被配置来与gcs201通信以使用户u0能够玩视频游戏。在一些实施方案中,gcs201可包括在主机的虚拟机监控程序上运行的多个虚拟机(vm),其中一个或多个虚拟机被配置来利用可供主机的虚拟机监控程序利用的硬件资源执行游戏处理器模块。例如,用户u0可以经由游戏选择引擎275选择(例如,通过游戏名称等)视频游戏数据存储264中可用的视频游戏。可以在单玩家游戏环境中或在多玩家游戏环境中玩视频游戏。以所述方式,启用并加载选定的视频游戏以便由游戏服务器205在gcs201上执行。在一个实施方案中,游戏娱乐主要在gcs201中执行,使得用户设备230将从gcs201接收游戏视频帧235的流,并且用于驱动游戏娱乐的用户输入命令236被传输回到gcs201。在用户设备230的显示器232中展示来自流式游戏娱乐的所接收视频帧235。在其他实施方案中,gcs201被配置来支持多个本地计算设备,所述多个本地计算设备支持多个用户,其中每个本地计算设备可执行视频游戏的一个实例,诸如在单玩家视频游戏或多玩家视频游戏中。例如,在多玩家游戏环境中,当视频游戏正在本地执行时,云游戏网络同时从每个本地计算设备接收信息(例如,游戏状态数据),并且因此遍及本地计算设备中的一个或多个分发所述信息,使得每个用户能够与多玩家视频游戏的游戏环境中的其他用户交互(例如,通过视频游戏中的对应角色)。以所述方式,云游戏网络针对多玩家游戏环境内的用户中的每一个对游戏娱乐进行协调和组合。

在一个实施方案中,在用户u0选择了要玩的可用游戏名称后,用户u0可以通过游戏会话管理器285启动针对所选择游戏名称的游戏会话。游戏会话管理器285首先访问数据存储140中的游戏状态存储,以检索由用户u0玩的上一次会话(针对选定的游戏)的已保存的游戏状态(如果有的话),使得用户u0可以从先前的游戏娱乐停止点重新开始游戏娱乐。一旦恢复点或开始点被识别,则游戏会话管理器285可以告知游戏处理器210中的游戏执行引擎执行来自游戏代码存储261的所选择游戏名称的游戏代码。在游戏会话启动后,游戏会话管理器285可以将游戏视频帧235(即,流式视频数据)通过网络接口290传送给用户设备(例如,用户设备230)。

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

在游戏娱乐期间,游戏会话管理器285可以与游戏处理器204通信,以输送并获得用户输入命令236,所述用户输入命令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能够访问对应的快照,基于快照实例化视频游戏的另一个实例,并且从视频游戏中对应于快照的点开始执行视频游戏。

在窗口350a中显示时间线310a。一般来说,可以在窗口350a中显示多个时间线,所述多个时间线包括一个或多个用户的一个或多个游戏娱乐的快照图像。如图3a中所示,窗口350a可显示单个时间线310a,其中时间线310a包括用户进行的游戏娱乐的快照图像以及另一个用户进行的游戏娱乐的快照图像。快照图像是以缩略图和/或窗口来呈现的,并且是关于用户的游戏娱乐中的视频游戏的当前再现图像来显示。例如,发生在视频游戏中由当前再现图像305表示的点之前的快照图像可以显示在空白缩略图340c的左侧,并且发生在所述点之后的快照图像可以显示在缩略图340c的右侧。窗口350a还可以显示另外的时间线,所述时间线包括一个或多个用户进行的视频游戏的一个或多个游戏娱乐的快照图像,如将关于图3b进一步描述。时间线展示通过视频游戏的进展,而不一定示出对用户玩了多久视频游戏的测量。

具体地,时间线310a包括针对用户进行的游戏娱乐的快照图像。例如,对应于在用户进行的游戏娱乐期间捕获的快照的多个快照图像(例如,图像340a、340b,……)以缩略图和/或窗口显示在时间线310a中。合并起来看,所述快照图像给出用户的游戏娱乐的快速历史。例如,快照图像340a展示角色306骑着摩托车跳下斜坡或悬崖。在游戏中的这个点处,角色306具有2条可能的生命,如快照图像340a的左上角的两个圆圈所指示。此后,在用户通过视频游戏的进展中,快照图像340b展示角色306(仍然具有两条可能的生命)骑着摩托车穿过森林并且正在接近山岭。窗口300中所示的当前再现图像305展示角色306已经到达山岭,并且已经接近落石307。在这一点处,角色306具有两条可能的生命。

因为再现图像305当前被显示,并且表示用户通过视频游戏的进展,所以仅显示了表示用户进行的先前游戏娱乐的快照图像。这些快照图像通常表示游戏中发生在由当前显示的再现图像305表示的点之前的点。仅出于说明的目的,角色的可能的生命总数给出对用户通过视频游戏的进展的粗略估计。然而,在用户玩视频游戏时,一些视频游戏可以允许用户来回前进。在一个实施方案中,在任何情况下,可以在针对用户的时间线310a中仅显示对应于先前再现图像的快照图像。这些快照图像是在时间线310a中关于当前再现图像305来显示,所述当前再现图像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)进行的游戏娱乐的快照图像。例如,对应于在第二用户进行的游戏娱乐期间捕获的快照的多个快照图像(例如,图像360d、360e、360f,……)以缩略图和/或窗口显示在时间线310a中。这些快照图像是关于当前再现图像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加以布置,如先前所描述。更具体地,在用户的快照图像(例如,340a、340b,……)下方也可以任选地包括发生在视频游戏中在当前再现图像附近或之前的点处的、对应于朋友f1进行的游戏娱乐的快照图像(例如,快照图像360a、360b和360c)。发生在视频游戏进展中在当前再现图像之前的点处的快照图像(例如,360a、360b,……)可被布置在空白缩略图340c的左侧。作为游戏进展的指示,快照图像360a-c展示角色具有两条可能的生命。快照图像360c大致与当前再现图像305发生在通过视频游戏的进展的相同点处,并且大致位于空白缩略图340c下方。例如,快照图像360c和当前再现图像305两者展示对应的角色各自具有两条可能的生命。此外,时间线310b中的快照图像一般可布置成使得第一快照图像位于稍后发生的快照图像的左侧,如先前所描述。箭头399可连结与第二用户(朋友f1)相关联的快照图像。

合并起来看,所述快照图像给出第一朋友f1的游戏娱乐的快速历史。例如,在快照图像360a中首先展示朋友f1的角色308正在市中心街道上骑摩托车。此后,在朋友f1通过视频游戏的进展中,快照图像360b展示角色308(具有两条可能的生命)骑着摩托车穿过森林并且正在接近山岭。在视频游戏中进一步向前前进,角色308在快照图像360c中正在山路上骑摩托车。例如,朋友f1的角色308可能已绕过用户的角色306当前在再现图像305中遇到的落石。稍后,在快照图像360d中展示角色308(具有三条可能的生命)正在接近河流。更进一步向前前进,角色308(具有四条可能的生命)在快照图像360e中正在与熊战斗,然后在快照图像360f中展示角色308(具有五条可能的生命)正在驾驶汽车穿过沙漠。

窗口350b展示另一个时间线320,所述时间线320与诸如第二朋友f2的另一个用户的游戏娱乐相关联。如所示,时间线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中展示角色309正在乘船横渡湖泊。

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

合并起来看,所述快照图像给出第三朋友f3的游戏娱乐的快速历史。例如,朋友f3的角色303首先在快照图像380a中骑着摩托车穿过森林。此后,在朋友f3通过视频游戏的进展中,快照图像380b展示角色303(具有两条可能的生命)正在涉水过河。更进一步向前前进,在快照图像380c中展示角色3039(具有三条可能的生命)正划着皮划艇沿瀑布而下。再后来,在快照图像380d中展示角色303正在乘摩托艇横渡湖泊,然后在快照图像390e中展示角色303正在将船停靠在码头。在进展中甚至更后来,在快照图像380f中展示角色303(具有五条可能的生命)正在乘飞机去往下一个目的地。

虽然被称为不同的时间线,但是窗口中的所有时间线可被称为属于玩视频游戏的用户的一个时间线。另外,在一个实施方案中,可将与其他用户相关联的时间线(例如,时间线320、330,和310的部分)替换为新用户的时间线。以所述方式,可向用户展示旋转用户的快照图像。在另一个实施方案中,可展示更多的时间线,或者为了清晰性,可以展示更少数量的时间线。

在又一个实施方案中,窗口350a或350b中的时间线可以显示与完全不同的游戏或内容相关联的快照图像。例如,可以展示时间线以诱使用户预览并尝试另一个视频游戏或者查看其他内容。在另一个实施方案中,可以向对玩视频游戏感兴趣的新用户展示一个或多个用户的一个或多个时间线。新用户可能不一定在玩视频游戏,但是对预览正在玩视频游戏的其他人的游戏娱乐感兴趣。在其他情况下,新用户可能刚刚开始视频游戏。作为说明,根据本公开的一个实施方案,用于预览游戏世界的方法可以在具有线性或非线性进展的视频游戏中实现。具体地,所述方法包括捕获从玩视频游戏的多个用户的多个游戏娱乐生成的多个快照。如先前所描述,每个快照使得能够从视频游戏中对应于那个快照的点(诸如视频游戏中捕获那个快照时所在的点)开始执行视频游戏的实例。所述方法包括生成第一用户的第一时间线以用于显示,其中所述第一时间线包括多个第一缩略图,所述多个第一缩略图包括通过视频游戏前进的第一用户的游戏娱乐的多个第一快照图像。所述方法可包括呈现其他时间线。例如,所述方法可包括生成第二用户的第二时间线以用于显示,其中所述第二时间线包括多个第二缩略图,所述多个第二缩略图包括通过视频游戏前进的第二用户的游戏娱乐的多个第二快照图像。

在实施方案中,针对一个或多个用户生成的时间线可以与具有线性进展、多个线性进展、非线性进展或其组合的视频游戏相关联。例如,在具有线性进展的视频游戏中,视频游戏中的点可关于彼此线性地发生,使得第一点在对应的线性进展中的第二点之前。分叉可以呈现两个或更多个线性延伸,所述两个或更多个线性延伸中的每一个与它自己的线性进展相关联。在其他实施方案中,在具有非线性进展的视频游戏中,视频游戏中的点可能彼此没有任何关系,这是由于在通过视频游戏前进方面的非线性。例如,非线性视频游戏可具有在彼此没有任何关系的情况下并行操作的多个故事情节,诸如探索世界的不同部份或不同宇宙的视频游戏,并且可以具有或可以不具有首要目标。在所述情况下,针对特定用户展示的时间线可对应于用户所涉及的相同故事情节,或者可对应于其他故事情节。此外,故事情节可以在彼此没有任何关系的情况下操作,使得即使在世界的被探索的部分或被探索的宇宙中,也可以非线性方式生成对应的故事情节。在非线性视频游戏的情况下,在针对另一个玩家的特定时间线中展示的快照可关于针对用户的当前再现图像、针对用户的时间线、或针对其他玩家的时间线任意地布置。在另外其他的实施方案中,视频游戏可以包括线性和非线性的部分。例如,在以非线性方式探索世界的不同部份或不同宇宙的视频游戏的情况下,在世界的特定部分或一个宇宙内的探索可遵循线性进展。

图4a是根据本公开的一个实施方案的呈现在窗口350a中的时间线310a的图解,其中时间线310a首先已在图3a中介绍,其展示至少一个用户的视频游戏的游戏娱乐的快照图像,其中对快照的选择启用快照图像的放大视图。如先前所描述,窗口300展示用户进行的视频游戏的游戏娱乐的当前再现图像305。时间线310a包括在通过视频游戏的进展中发生在当前再现图像305之前的点处的、(扮演角色306的)用户进行的游戏娱乐的快照图像(340a、340b,……)。时间线310还包括在通过视频游戏的进展中发生在当前再现图像305之后的点处的、另一个用户(例如,扮演角色308的朋友f1)进行的游戏娱乐的快照图像(360d、360e、360f,……)。

更具体地,通过缩略图在时间线310a中呈现快照图像。因而,取决于缩略图的大小,再现图像可能太小而不能展示很多细节。用户可以选择用于放大的快照。例如,在一个实施方案中,用户可以将光标490a移到呈现快照图像360e的缩略图上。支持其他方法来选择用于放大的快照图像,诸如在触摸屏上触摸所显示的快照图像。窗口410被生成并显示在选定的缩略图的大致相同的区域中。窗口410显示再现的快照图像360e,其中窗口410具有足够的大小以给予用户对快照图像360e的更好查看。

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

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

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

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

图5a是视频游戏的游戏娱乐的节点图表530的图解,其中所述节点图表是在用户进行的视频游戏的游戏娱乐期间与窗口350b中的时间线310b、320和330一起显示,所述时间线310b、320和330在首先已在图3b中介绍。具体地,时间线310b展示在各个点处的扮演角色306的用户的游戏娱乐的快照图像、以及另一个用户(例如,扮演角色308的朋友f1)的游戏娱乐的快照图像,时间线320展示扮演角色309的朋友f2进行的游戏娱乐的快照图像,并且时间线330展示扮演角色303的朋友f3进行的游戏娱乐的快照图像。所述时间线中的每一个中的快照图像是关于当前再现图像305(例如,如空白缩略图340c所表示)来呈现的,如先前所描述。窗口300还展示用户进行的视频游戏的游戏娱乐的当前再现图像305。

如图5a中所示,在时间线310b中选择快照图像360e(例如,通过对应的缩略图的交互)以用于放大。快照图像360e与在游戏中发生在当前再现图像305之后(未来)的点处的、朋友f1的游戏娱乐相关联。具体地,在一个实施方案中,用户可以将光标590a移到在时间线310b中呈现快照图像360e的缩略图上。支持其他方法来选择用于放大的快照图像,诸如在触摸屏上触摸所显示的快照图像。窗口410展示放大的快照图像360e,如先前所描述。

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

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

如所示,可响应于用户选择时间线310a中的快照图像360e以用于放大而自动地突出显示(例如,加粗、放大、着色等)节点图表530中的节点572。节点572大致对应于快照图像360e的位置,并且给出针对快照图像360e的在视频游戏的宇宙内的情形。也就是说,因为用户对快照图像360e感兴趣,所以通过选择时间线310b中的快照图像360e,呈现展示快照图像360e的更大视图的窗口410,并且在节点图表530中突出显示节点572。也可以通过用户在节点图表530中手动地选择节点来突出显示节点572。

概括地说,可自动地或响应于用户请求而在窗口510中呈现节点图表530,其中节点图表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也可包括节点的子集。例如,节点图表530(它是通用节点图表550的子集)包括对应于在图5b的时间线310b中显示的快照图像的节点和路径。节点图表530也展示在图5a的窗口510中。

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

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

通过视频游戏的进展通常可由通用时间线529定义,所述通用时间线529在与开始点551相关联的时间或标志521处开始,并且在与结束点552相关联的时间或标志522处结束。时间线529中的时间的使用意在展示通过视频游戏的进展,而并不一定是对用户玩了多久视频游戏的测量。当用户从节点到节点移动通过通用节点图表530时,代表性时间或标志可位于时间线529上。例如,节点501可在时间线529中被表示为标志523并且节点503可被表示为标志524。可从左到右沿着时间线529测量进展。作为说明,在通过视频游戏的进展中,节点501发生在节点503之前。因而,表示节点501的标志523显示在表示节点503的标志524的左侧。此外,可通过与用户相关联的各种角色值来与时间线529和节点图表550相关联地进一步说明进展,如先前所描述。例如,可通过多少条可能的生命可供角色利用,或角色已经积累了多少点或现金,来测量进展。

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

具体地,快照节点对应于视频游戏的游戏娱乐中捕获快照时所在的点。一般来说,快照可以是在通用节点图表550的节点处捕获的。因而,快照节点可以与通用节点图表550中的节点对准。然而,一些快照节点可以不与通用图表550中的节点对准,诸如当快照是在通用图表的两个节点之间(例如,在逻辑路径中间)被捕获时。例如,快照节点561可以是在通用节点图表550中的两个节点(对应于节点560和562)之间被捕获。

节点图表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中的位置),用户能够理解在视频游戏中与当前再现图像相关联的点附近哪些路径可供用户利用。因而,用户能够在视频游戏的通用节点图表550和节点图表530内对角色306进行定向。以所述方式,用户能够在游戏中从一个点导航到另一个点。在一个实施方案中,虽然在图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以后或未来的路径,所述快照节点562对应于视频游戏中与当前再现图像305相关联的点,但是已重新调整回到快照节点562。例如,在快照节点562以后采取的并且在快照节点564处结束的第一路线可能已到达死胡同。另外,在快照节点562以后采取的并且在节点569处结束的第二路线可能无法令用户满意。在时间线310b中未展示对应于发生在与用户相关联的当前再现图像305以后的快照节点的快照图像,但是在其他实施方案中可以展示所述快照图像。

用户在游戏进展中已经返回到节点562,因为用户可能在这个区域中已听到关于视频游戏的刺激部分(遇到熊)的传闻,但是到目前为止已错过了行动。用户相信,通过节点562可以某种方式到达刺激部分。本公开的实施方案通过预览其他用户的游戏娱乐,并安排一条可能的路线以在视频游戏中采取来到达视频游戏的刺激部分,来为用户提供发现通过视频游戏的替代路径的方式。例如,用户可以在时间线310b中预览扮演角色308的朋友f1的快照图像,并且发现遇到熊是与快照节点507相关联地发生,所述快照节点507对应于快照图像360e。为了参考,在方框509中展示快照图像360e。在没有介绍呈现在时间线中的快照图像和/或节点图表的情况下,用户将难以预览和/或发现这些感兴趣的区域。

具体地,用户可能已通过查看时间线310b中的快照图像发现快照图像360e,或者可能已通过探索节点图表530发现所述快照图像360e。例如,在图5c的节点图表530中的快照节点572旁边展示标签507,所述标签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(所述跳转节点572对应于快照图像360e)的点开始玩朋友f1的游戏娱乐的实例化。因而,用户能够在最刺激的部分处跳转到游戏娱乐中。

用户在体验朋友f1的游戏娱乐之后可能决定尝试导航到先前由朋友f1的游戏娱乐捕获的相同快照节点572(遇到熊)。节点图表530提供对朋友f1所采取的路线的查看,以便从用户的当前位置到达快照节点572,所述当前位置是与当前再现图像305相关联的节点562。例如,节点图表展示,节点562与快照节点572之间的行进可能通过快照节点565和570。

图5d是根据本公开的一个实施方案的节点图表540的扩大图解,其展示与在视频游戏的游戏娱乐期间捕获的快照相关联地生成的快照节点的阶层。节点图表540可与图5c的节点图表有关,但是用来说明在具有非线性进展部分的视频游戏中使用的时间线。例如,一个级别内的游戏娱乐可能与另一个级别内的游戏娱乐无关。另外,不同用户在单个级别内的游戏娱乐在通过视频游戏的进展方面也可能彼此无关。

如节点图表540中所示,视频游戏可包括在视频游戏内可以玩的四个不同级别。在视频游戏中,在级别之间穿过是可能的。例如,用户、朋友1和朋友2的游戏娱乐穿过所有四个级别。朋友3的游戏娱乐穿过三个级别。朋友4的游戏娱乐仅穿过级别2。朋友5的游戏娱乐穿过级别3和4。如图5d中所示,视频游戏可以在任何级别处开始。例如,朋友4的游戏娱乐在级别2处开始并且停留在级别2处,并且朋友5的游戏娱乐在级别3处开始并且继续进行到级别4而不延伸到任何其他级别。虽然一些游戏娱乐可以重叠并且展示某种线性进展部分(例如,用户和朋友1的游戏娱乐),但是图5d中所示的其他游戏娱乐可展示通过视频游戏的非线性进展。例如,通过朋友4的视频游戏的游戏娱乐和进展与通过朋友5的视频游戏的游戏娱乐和进展无关。

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

时间线310a可以展示来自在用户和朋友f1的游戏娱乐期间捕获的多个快照的选定的快照图像。针对朋友f1的快照和快照图像用来说明以粗分辨率和更高分辨率对快照图像的呈现。出于说明的目的,在朋友f1的游戏娱乐期间,捕获了一百个快照,并且可按捕获它们的顺序将它们从1编号到100。时间线310a可能没有足够的空间来展示对应于所捕获的快照的所有快照图像。因而,在时间线310中仅呈现了快照图像的子集。此外,在时间线310a中并排呈现的快照图像可能并不是连续地和/或循序地捕获的。例如,如图6a的时间线310a中所示,快照图像360e按捕获顺序被编号为50,并且紧靠在右侧的快照图像是编号为60的快照图像360f。因而,在快照图像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)紧密地且非线性地对准的一组快照节点的图解,其中快照节点可以是通过时间线310a或节点图表530选择的,如先前关于图6a所介绍。虽然图6a展示在对应于快照图像360e的跳转点jp附近的通过视频游戏的线性进展,但是图6b说明在jp附近的通过视频游戏的非线性进展。

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

图6c-f是根据本公开的一个实施方案的对应于与选定的快照节点紧密地对准并且关于图6a-b描述的一组快照节点的快照图像的图解。例如,图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)的游戏娱乐中,所述游戏的当前再现图像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的一部分。角色306在用户的游戏娱乐830的第一片段831中所采取的路线由虚线811展示,并且包括快照节点560、561和562。当前再现图像305与快照节点562相关联,并且出于说明和清晰的目的指示了第一片段831的结束,尽管快照节点图表810展示角色306已经通过一个路径812向快照节点562的右侧进一步走(例如,进一步前进)到节点563和564,并且通过第二路径813走到节点565和566。角色306所采取的路线的这个部分(以快照节点562结束)也在节点图表820中重复,所述节点图表820说明直到第一片段831的结束为止的使用角色306的用户的游戏娱乐。

在快照节点562处,用户可以选择探索视频游戏中的其他点并且选择跳转到朋友f1的游戏娱乐中(例如,对快照图像360e的进一步选择),如先前所描述。朋友f1的游戏娱乐由快照节点图表810的加粗实线899展示。在这一点处,用户的游戏娱乐830的第一片段831暂停,并且用户在对应于快照节点572的点处跳转到朋友f1的游戏娱乐中。为了说明,跳转游戏娱乐在角色与熊密切交战时所在的点处开始。具体地,执行用户的游戏娱乐830的视频游戏的实例暂停(例如,第一片段831的结束),并且基于在快照节点572处捕获的对应的快照实例化视频游戏的实例,所述实例执行在跳转点(快照节点572)处开始的朋友f1的跳转游戏娱乐。对跳转到节点572的表示由弯曲的箭头891说明。跳转游戏娱乐由跳转片段840定义。

在另一个实施方案中,在开始跳转游戏娱乐之前,用户的游戏娱乐830被保存并且在第一片段831的结束处终止。以所述方式,用户在未来可以返回到视频游戏并且从对应于快照节点562(例如,第一片段831的结束)的点恢复。也就是说,用户可以有效地恢复暂停的游戏。

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

如节点图表850中所说明的由角色308在跳转游戏娱乐中采取的路线在快照节点572处开始并且连续地继续到节点851、852和结束节点859。结束节点859指示执行跳转游戏娱乐的视频游戏的实例的终止。重要的是应注意,如虚线896所展示的由角色308在跳转游戏娱乐中采取的路线(包括节点572、851、852和859)不同于在节点图表810中所展示的由角色308在朋友f1的游戏娱乐中采取的路线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中遇到熊。具体地,在用户的游戏娱乐中导航到快照节点572可能由用户通过快照节点图表530和/或通用节点图表550进行。具体地,用户能够通过回顾快照节点图表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接收第一用户从第一时间线中的所述多个第二快照中对选定的快照图像的选择,其中选定的快照图像与第二用户的游戏娱乐相关联。此外,游戏处理器被配置来使与第一用户的游戏娱乐相关联地执行的视频游戏的第一实例的执行跳转到视频游戏中与选定的快照图像相关联的跳转点。在一个实现方式中,暂停且/或终止视频游戏的第一实例,并且基于选定的快照图像的快照实例化视频游戏的另一个实例(跳转游戏)。

以所述方式,第一用户能够跳转到第二用户的游戏娱乐中。例如,第一用户能够在跳转游戏中指导在第二用户的游戏娱乐中使用的角色。选定的快照图像的对应的快照包括第二用户保存的数据,所述第二用户保存的数据使得能够生成在第二用户的游戏娱乐中使用并且也在跳转游戏中用于第一用户的跳转游戏娱乐的角色。第二用户保存的数据和第二角色来源于第二用户的游戏娱乐。因而,第一用户在跳转游戏的执行期间创建跳转游戏娱乐。

在第一用户完成跳转游戏之后,可以恢复视频游戏的第一实例。也就是说,终止执行跳转游戏的视频游戏的第二实例,并且恢复与第一用户的游戏娱乐相关联的视频游戏的第一实例。以所述方式,第一用户可以恢复他或她自己的视频游戏的游戏娱乐。

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

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

此外,节点图表可允许第一用户跳转到相同或另一个用户的游戏娱乐中。例如,游戏处理器被配置来接收对节点图表中的选定的快照节点的选择。快照节点与对应的快照相关联。对应于选定的快照节点的选定的快照图像可任选地被生成以用于在客户端设备处显示。具体地,对选定的快照节点和/或对应的快照图像的选择使得能够使与第一用户的游戏娱乐相关联地执行的视频游戏的第一实例的执行跳转到视频游戏中与选定的节点相关联的跳转点。

虽然已提供特定实施方案来演示在用于多个用户的视频游戏的游戏娱乐中的点的快照的生成和捕获,所述快照用于预览和/或跳转到相同或另一个用户的先前执行的游戏娱乐,但是这些实施方案是通过举例的方式而不是通过限制的方式来描述的。已阅读本公开的本领域技术人员将实现属于本公开的精神和范围内的另外的实施方案。

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

游戏处理服务器(gps)(或简称为“游戏服务器”)由游戏客户端用来玩单玩家或多玩家视频游戏。通过互联网玩的大多数视频游戏均经由连到游戏服务器的连接来操作。通常,游戏使用专用的服务器应用程序,所述服务器应用程序收集来自玩家的数据,并且将其分发给其他玩家。这比对等布置更高效率且更有效,但是其需要单独的服务器来托管服务器应用程序。在另一个实施方案中,gps建立玩家与他们的相应的玩演游戏设备之间的通信来交换信息而无需依赖集中化gps。

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

用户利用客户端设备来访问远程服务,所述客户端设备至少包括cpu、显示器和i/o。客户端设备可以是pc、移动电话、上网本、pda等。在一个实施方案中,在游戏服务器上执行的网络辨识由客户端使用的设备的类型并且调整所使用的通信方法。在其他情况下,客户端设备使用标准通信方法(诸如html)来经由互联网访问游戏服务器上的应用程序。

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

应了解,给定的视频游戏可以是针对特定平台和特定相关联的控制器设备所开发的。然而,当这样的游戏通过如本文所呈现的游戏云系统可用时,用户可以利用不同的控制器设备访问视频游戏。例如,可能已针对游戏控制台和它相关联的控制器开发一个游戏,而用户可能正利用键盘和鼠标从个人计算机访问所述游戏的基于云的版本。在这样一种情况下,输入参数配置可以定义可以通过用户的可用控制器设备(在这种情况下,键盘和鼠标)生成的输入到对于执行视频游戏可接受的输入之间的对应关系。

在另一个实例中,用户可以通过平板计算设备、触摸屏智能电话或其他触摸屏驱动式设备访问云游戏系统。在这种情况下,客户端设备和控制器设备在同一个设备中整合在一起,其中输入是通过检测到的触摸屏输入/手势的方式来提供。对于这样一种设备来说,输入参数配置可以定义对应于针对视频游戏的游戏输入的特定触摸屏输入。例如,按钮、方向板或其他类型的输入元件可能在视频游戏的运行期间被显示或叠加,以便指示用户可以触摸来生成游戏输入的在触摸屏上的位置。手势(诸如在特定方向上的轻扫)或特定触摸运动也可以作为游戏输入被检测到。在一个实施方案中,可以(例如)在开始视频游戏的游戏娱乐之前向用户提供指示如何通过触摸屏提供输入以便玩游戏的指南,以便使用户适应在触摸屏上操作控件。

在一些实施方案中,客户端设备充当控制器设备的连接点。也就是说,控制器设备通过无线或有线连接与所述客户端设备通信,以便将输入从控制器设备传输给客户端设备。客户端设备可以进而处理这些输入且随后将输入数据通过网络传输给云游戏服务器(例如,通过诸如路由器的本地联网设备进行访问)。然而,在其他实施方案中,控制器自身可为联网设备,具有直接通过网络向云游戏服务器传递输入的能力,而无需首先通过客户端设备传递此类输入。例如,控制器可能连接到本地联网设备(诸如前述路由器),以向云游戏服务器发送数据并从云游戏服务器接收数据。因此,虽然可能仍需要客户端设备来从基于云的视频游戏接收视频输出并在本地显示器上再现所述视频输出,但可以通过允许控制器绕过客户端设备,直接通过网络向云游戏服务器发送输入来减少输入等待时间。

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

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

图10,展示示出根据本公开的一个实施方案的头戴式显示器1050的部件的图。头戴式显示器1050包括用于执行程序指令的处理器1000。存储器1002被提供用于存储目的,并且可包括易失性存储器和非易失性存储器。包括显示器1004,所述显示器1004提供用户可查看的视觉界面。电池1006被提供为头戴式显示器1050的电源。运动检测模块1008可包括各种运动敏感硬件中的任一种,诸如磁力计1010、加速度计1012和陀螺仪1014。

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

磁力计测量头戴式显示器附近的磁场的强度和方向。在一个实施方案中,在头戴式显示器内使用三个磁力计1010,从而确保针对世界空间偏航角的绝对参考。在一个实施方案中,磁力计被设计来跨越地球磁场,地球磁场为±80微特斯拉。磁力计受金属影响,并且提供随实际偏航单调变化的偏航测量。磁场可由于环境中的金属而扭曲,从而导致偏航测量的偏差。如果必要的话,那么可使用来自其他传感器(诸如陀螺仪或摄像机)的信息来校准此偏差。在一个实施方案中,将加速度计1012与磁力计1010一起使用,以便获得头戴式显示器1050的倾斜度和方位角。

陀螺仪是用于基于角动量的原理来测量或维持定向的设备。在一个实施方案中,三个陀螺仪1014基于惯性感测提供关于越过相应轴线(x、y和z)的移动的信息。陀螺仪帮助检测快速旋转。然而,陀螺仪在不存在绝对参考的情况下可随时间而漂移。这需要定期重新设置陀螺仪,所述重新设置可使用其他可用的信息来完成,所述信息诸如基于对对象、加速度计、磁力计等的视觉追踪的位置/定向确定。

提供摄像机1016来用于捕获真实环境的图像和图像流。头戴式显示器1050中可包括多于一个摄像机,其包括后置摄像机(当用户正在查看头戴式显示器1050的显示时背对用户)和前置摄像机(当用户正在查看头戴式显示器1050的显示时朝向用户)。此外,头戴式显示器1050中可包括深度摄像机1018,以用于感测真实环境中的对象的深度信息。

在一个实施方案中,整合在hmd的前面上的摄像机可以用来提供关于安全的警告。例如,如果用户正在接近墙壁或对象,则用户可能受到警告。在一个实施方案中,可向用户提供房间中的物理对象的轮廓视图,以警告用户所述物理对象的存在。轮廓可以例如是虚拟环境中的叠加。在一些实施方案中,可向hmd用户提供对叠加在例如地板中的参考标示的查看。例如,标示可以为用户提供房间的中心在哪里的参考,用户正在所述房间中玩游戏。这可以向用户提供例如用户应向哪里移动以避免撞上墙壁或房间中的其他对象的视觉信息。可也以向用户提供触觉警告,和/或音频警告,以在用户穿戴hmd并且利用hmd来玩游戏或浏览内容时提供更大安全性。

头戴式显示器1050包括用于提供音频输出的扬声器1020。另外,可以包括麦克风1022以用于从真实环境捕获音频,包括来自周围环境的声音、由用户进行的讲话等。头戴式显示器1050包括用于向用户提供触觉反馈的触觉反馈模块1024。在一个实施方案中,触觉反馈模块1024能够引起头戴式显示器1050的移动和/或振动,以便向用户提供触觉反馈。

led1026被提供为头戴式显示器1050的状态的视觉指示器。例如,led可以指示电池电量、电力开启等。读卡器1028被提供来使头戴式显示器1050能够从存储器卡读取信息并将信息写入到存储器卡。usb接口1030被包括来作为接口的一个实例,所述接口用于实现外围设备的连接,或到其他设备(诸如其他便携式设备、计算机等)的连接。在头戴式显示器1050的各种实施方案中,可包括各种接口中的任一种来实现头戴式显示器1050的更大连接能力。

包括wifi模块1032,以用于实现通过无线联网技术来连接到互联网。另外,头戴式显示器1050包括蓝牙模块1034,以用于实现无线连接到其他设备。还可包括通信链路1036,以用于连接到其他设备。在一个实施方案中,通信链路1036利用红外线传输来进行无线通信。在其他实施方案中,通信链路1036可利用各种无线或有线传输协议中的任一种来与其他设备通信。

包括输入按钮/传感器1038来为用户提供输入接口。可包括各种输入接口中的任一种,诸如按钮、触摸板、操纵杆、轨迹球等。头戴式显示器1050中可包括超声波通信模块1040,以用于促进通过超声波技术与其他设备通信。

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

已将头戴式显示器1050的前述部件描述为仅仅是可包括在头戴式显示器1050中的示例性部件。在本公开的各个实施方案中,头戴式显示器1050可包括或可不包括各种前述部件中的一些部件。出于促进如本文所述的本公开的各方面的目的,头戴式显示器1050的实施方案可另外包括目前未描述、但在本领域已知的其他部件。

本领域技术人员将了解,在本公开的各个实施方案中,可结合显示器上所显示的交互应用程序来利用前述手持式设备,以提供各种交互功能。本文所述的示例性实施方案仅通过举例的方式而不是通过限制的方式提供。

图11是根据本公开的各种实施方案的游戏系统1100的框图。游戏系统1100被配置来通过网络1115将视频流提供到一个或多个客户端1110。游戏系统1100通常包括视频服务器系统1120和任选的游戏服务器1125。视频服务器系统1120被配置来以最低的服务质量向一个或多个客户端1110提供视频流。例如,视频服务器系统1120可接收改变视频游戏的状态或所述视频游戏内的视角的游戏命令,并且以最小的滞后时间向客户端1110提供反映这种状态变化的更新后的视频流。视频服务器系统1120可被配置来以广泛多种替代视频格式(包括还未定义的格式)提供视频流。此外,视频流可包括被配置用于以广泛多种帧速率呈现给用户的视频帧。典型的帧速率是每秒30帧、每秒60帧和每秒1120帧。但是本公开的替代实施方案中包括更高或更低的帧速率。

在本文中单独作为1110a、1110b等被提到的客户端1110可包括头戴式显示器、终端、个人计算机、游戏控制台、平板计算机、电话、机顶盒、网亭、无线设备、数字板、独立设备、手持式玩游戏设备和/或类似设备。通常,客户端1110被配置来接收经编码的视频流(即,压缩的视频流),对视频流进行解码,并且将所得的视频呈现给用户,例如游戏玩家。接收经编码的视频流和/或对视频流进行解码的过程通常包括将个别视频帧存储在客户端的接收缓冲器中。可在与客户端1110成一体的显示器上或在诸如监视器或电视机的单独设备上将视频流呈现给用户。客户端1110任选地被配置来支持多于一个游戏玩家。例如,游戏控制台可被配置来支持两个、三个、四个或更多个同时玩家。这些玩家中的每一个可接收单独的视频流,或单个视频流可包括特别针对每个玩家而生成(例如,基于每个玩家的视角而生成)的帧的区。客户端1110任选地在地理上分散。游戏系统1100中所包括的客户端的数目可从一个或两个广泛变化到几千个、几万个或更多个。如本文所使用的,术语“游戏玩家”用于指玩游戏的人,并且术语“玩游戏设备”用于指用于玩游戏的设备。在一些实施方案中,玩游戏设备可指多个计算设备,所述多个计算设备进行合作来向用户输送游戏体验。例如,游戏控制台和hmd可与视频服务器系统1120合作来输送通过hmd查看的游戏。在一个实施方案中,游戏控制台从视频服务器系统1120接收视频流,并且游戏控制台将视频流或对视频流的更新转发给hmd以便进行再现。

客户端1110被配置来通过网络1115接收视频流。网络1115可以是任何类型的通信网络,其包括电话网络、互联网、无线网络、电力线网络、局域网、广域网、私有网络和/或类似网络。在典型的实施方案中,通过诸如tcp/ip或udp/ip的标准协议来传达视频流。或者,通过专有标准来传达视频流。

客户端1110的典型实例是个人计算机,所述个人计算机包括处理器、非易失性存储器、显示器、解码逻辑、网络通信能力以及输入设备。解码逻辑可包括硬件、固件和/或存储在计算机可读介质上的软件。用于对视频流进行解码(和编码)的系统在本领域中是熟知的,并且根据所使用的具体编码方案而变化。

客户端1110可以(但不需要)还包括被配置来用于修改接收到的视频的系统。例如,客户端可被配置来:执行进一步再现,将一个视频图像叠加在另一个视频图像上,修剪视频图像,和/或类似操作。例如,客户端1110可被配置来接收各种类型的视频帧,诸如i帧、p帧和b帧,并且被配置来将这些帧处理成图像以向用户显示。在一些实施方案中,客户端1110的构件被配置来对视频流执行进一步再现、阴影处理、转换成3-d或类似操作。客户端1110的构件任选地被配置来接收多于一个音频或视频流。客户端1110的输入设备可包括:例如,单手游戏控制器、双手游戏控制器、手势辨别系统、注视辨别系统、语音辨别系统、键盘、操纵杆、指点设备、力反馈设备、运动和/或位置感测设备、鼠标、触摸屏、神经接口、摄像机、还未开发出的输入设备和/或类似设备。

客户端1110所接收的视频流(和任选的音频流)是由视频服务器系统1120生成并提供的。如在本文其他地方进一步描述的,这个视频流包括视频帧(并且音频流包括音频帧)。视频帧(例如,它们在适当数据结构中包括像素信息)被配置来有意义地构成向用户显示的图像。如本文所使用,术语“视频帧”用于指主要包括被配置来构成(例如实现)展示给用户的图像的信息的帧。本文中关于“视频帧”的大部分教义也可适用于“音频帧”。

客户端1110通常被配置来从用户接收输入。这些输入可包括游戏命令,所述游戏命令被配置来改变视频游戏的状态或以其他方式影响游戏娱乐。可使用输入设备接收游戏命令,并且/或者可由在客户端1110上执行的计算指令自动生成游戏命令。将接收到的游戏命令通过网络1110从客户端1115传达到视频服务器系统1120和/或游戏服务器1125。例如,在一些实施方案中,将游戏命令通过视频服务器系统1125传达到游戏服务器1120。在一些实施方案中,将游戏命令的单独副本从客户端1110传达到游戏服务器1125和视频服务器系统1120。游戏命令的传达任选地取决于命令的身份。通过用来向客户端1110a提供音频或视频流的不同路线或通信信道,从客户端1110a任选地传达游戏命令。

游戏服务器1125任选地由不同于视频服务器系统1120的实体来操作。例如,游戏服务器1125可由多玩家游戏的发行商来操作。在这个实例中,视频服务器系统1120任选地被游戏服务器1125视为客户端,并且任选地被配置成(从游戏服务器1125的视角看)表现为执行现有技术游戏引擎的现有技术客户端。视频服务器系统1120与游戏服务器1125之间的通信任选地通过网络1115发生。因此,游戏服务器1125可以是向多个客户端发送游戏状态信息的现有技术多玩家游戏服务器,所述客户端中的一个是视频服务器系统1120。视频服务器系统1120可被配置来同时与游戏服务器1125的多个实例通信。例如,视频服务器系统1120可被配置来向不同用户提供多个不同视频游戏。这些不同视频游戏中的每一个可由不同游戏服务器1125支持和/或由不同实体发行。在一些实施方案中,视频服务器系统1120的一些地理上分布式实例被配置来向多个不同用户提供游戏视频。视频服务器系统1120的这些实例中的每一个可与游戏服务器1125的相同实例通信。视频服务器系统1120与一个或多个游戏服务器1125之间的通信任选地通过专用通信信道发生。例如,视频服务器系统1120可通过高带宽信道连接到游戏服务器1125,所述高带宽信道专门用于这两个系统之间的通信。

视频服务器系统1120至少包括:视频源1130、i/o设备1145、处理器1150以及非暂时性存储设备1155。视频服务器系统1120可包括一个计算设备或分布在多个计算设备当中。这些计算设备任选地通过诸如局域网的通信系统连接起来。

视频源1130被配置来提供视频流,例如,流式视频或形成运动图片的一系列视频帧。在一些实施方案中,视频源1130包括视频游戏引擎和再现逻辑。视频游戏引擎被配置来从玩家接收游戏命令,并基于所接收的命令来维持视频游戏的状态的副本。这个游戏状态包括游戏环境中的对象的位置,并且通常包括视角。游戏状态还可包括对象的性质、图像、颜色和/或纹理。

通常基于游戏规则以及游戏命令(诸如,移动、转动、攻击、设置焦点、交互、使用和/或类似命令)来维持游戏状态。游戏引擎的部分任选地设置在游戏服务器1125内。游戏服务器1125可基于使用地理上分散开的客户端从多个玩家接收到的游戏命令来维持游戏状态的副本。在这些情况下,游戏服务器1125将游戏状态提供给视频源1130,在其中存储游戏状态的副本并且执行再现。游戏服务器1125可通过网络1115直接从客户端1110接收游戏命令,和/或可通过视频服务器系统1120接收游戏命令。

视频源1130通常包括再现逻辑,例如硬件、固件和/或存储在计算机可读介质(诸如存储设备1155)上的软件。这个再现逻辑被配置来基于游戏状态创建视频流的视频帧。所述再现逻辑的全部或部分任选地设置在图形处理单元(gpu)内。再现逻辑通常包括被配置来用于确定对象之间的三维空间关系并且/或者用于基于游戏状态和视角来应用适当的纹理等的处理级。再现逻辑产生原始视频,然后常常对原始视频进行编码,然后传达给客户端1110。例如,可根据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帧。如本文中所使用,术语“帧大小”意在指帧内的像素数。术语“帧数据大小”用来指存储所述帧所需的字节数。

在替代实施方案中,视频源1130包括诸如摄像机的视频录制设备。这个摄像机可用来生成可包括在计算机游戏的视频流中的延迟视频或实况视频。所得的视频流任选地包括再现图像与使用静态摄像机或视频摄像机录制的图像。视频源1130还可包括被配置来存储将要包括在视频流中的先前录制视频的存储设备。视频源1130还可包括:被配置来检测对象(例如,人)的运动或位置的运动或定位传感设备;以及被配置来基于检测到的运动和/或位置来确定游戏状态或产生视频的逻辑。

视频源1130任选地被配置来提供叠加,所述叠加被配置来放在其他视频上。例如,这些叠加可包括命令界面、登入指令、发给游戏玩家的消息、其他游戏玩家的图像、其他游戏玩家的视频馈送(例如网络摄像机视频)。在客户端1110a包括触摸屏界面或注视检测界面的实施方案中,所述叠加可包括虚拟的键盘、操纵杆、触摸板和/或类似物。在叠加的一个实例中,将玩家的语音叠加在音频流上。视频源1130任选地还包括一个或多个音频源。

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

i/o设备1145被配置用于视频服务器系统1120,用来发送和/或接收信息,所述信息诸如:视频、命令、对信息的请求、游戏状态、注视信息、设备运动、设备位置、用户运动、客户端身份、玩家身份、游戏命令、安全信息、音频和/或类似信息。i/o设备1145通常包括诸如网卡或调制解调器的通信硬件。i/o设备1145被配置来与游戏服务器1125、网络1115和/或客户端1110通信。

处理器1150被配置来执行本文中论述的视频服务器系统1120的各种部件内所包括的逻辑,例如软件。例如,处理器1150可用软件指令编程以便执行视频源1130、游戏服务器1125和/或客户端限定器1160的功能。视频服务器系统1120任选地包括处理器1150的多于一个实例。处理器1150还可用软件指令编程以便执行视频服务器系统1120所接收的命令,或协调本文中论述的游戏系统1100的各种元件的操作。处理器1150可包括一个或多个硬件设备。处理器1150是电子处理器。

存储设备1155包括非暂时性模拟和/或数字存储设备。例如,存储设备1155可包括被配置来存储视频帧的模拟存储设备。存储设备1155可包括计算机可读数字存储设备,例如,硬盘驱动器、光盘驱动器或固态存储设备。存储设备1115(例如通过适当的数据结构或文件系统)被配置来存储视频帧、人工帧、包括视频帧与人工帧的视频流、音频帧、音频流和/或类似物。存储设备1155任选地分布在多个设备当中。在一些实施方案中,存储设备1155被配置来存储本文中其他地方所论述的视频源1130的软件部件。这些部件可以在需要时随时可以供应的格式来存储。

视频服务器系统1120任选地还包括客户端限定器1160。客户端限定器1160被配置用于远程确定诸如客户端1110a或1110b的客户端的能力。这些能力可包括客户端1110a本身的能力以及介于客户端1110a与视频服务器系统1120之间的一个或多个通信信道的能力。例如,客户端限定器1160可被配置来测试通过网络1115的通信信道。

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

自动确定可例如通过在客户端1110a上执行代理程序和/或通过向客户端1110a发送测试视频来进行。代理程序可包括嵌入网页中或安装为加载项的计算指令,诸如java脚本。代理程序任选地由客户端限定器1160提供。在各种实施方案中,代理程序可发现:客户端1110a的处理能力、客户端1110a的解码和显示能力、介于客户端1110a与视频服务器系统1120之间的通信信道的滞后时间可靠性和带宽、客户端1110a的显示器类型、客户端1110a上存在的防火墙、客户端1110a的硬件、在客户端1110a上执行的软件、客户端1110a内的注册表项和/或类似物。

客户端限定器1160包括硬件、固件和/或存储在计算机可读介质上的软件。客户端限定器1160任选地安置在与视频服务器系统1120的一个或多个其他元件分离的计算设备上。例如,在一些实施方案中,客户端限定器1160被配置来确定介于客户端1110与视频服务器系统1120的多于一个实例之间的通信信道的特性。在这些实施方案中,客户端限定器所发现的信息可用来确定视频服务器系统1120的哪个实例最适合于向客户端1110中的一个输送流式视频。

应理解,本文所限定的各种实施方案可以组合或组装到使用本文所公开的各种特征的具体实现方式中。因此,所提供的实例只是一些可能的实例,并不限于通过组合各种元件以便限定更多的实现方式来进行的可能的各种实现方式。在一些实例中,在不脱离所公开的实现方式或等效实现方式的精神的情况下,一些实现方式可包括较少的元件。

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

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

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

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

尽管为了理解的清晰性目的而略微详细地描述了前述公开,但很显然,可以在所附权利要求书的范围内做出某些变化和修改。因此,目前的实施方案应被认为是说明性而非限制性的,并且本公开的实施方案不限于本文所给出的细节,而是可在所附权利要求书的范围和等同物内进行修改。

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