基于游戏内位置的游戏进行伴随应用的制作方法

文档序号:16811344发布日期:2019-02-10 13:41阅读:199来源:国知局
基于游戏内位置的游戏进行伴随应用的制作方法

本公开涉及视频游戏。尤其,本公开描述了用于支持进行游戏应用的用户的游戏进行的基于位置的伴随应用的方法和系统。



背景技术:

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

然而,由于视频游戏的复杂性,用户可能发现越来越难以导航和/或完成视频游戏。例如,视频游戏可能变得更加广泛,并且包括数百万甚至数万亿的用户可用的可用选项。因此,用户甚至不可能尝试每个可用选项,或甚至不了解哪些选项可用。在其他情况下,用户可能到达视频游戏中看似无法导航或解决的点。对于用户而言,这经常发生,其中用户由于难以或无法推进游戏并且最终退出视频游戏而越来越对游戏感到沮丧。例如,在视频游戏的游戏进行中,用户可能试图通过明显的网关到达游戏世界的另一部分以便推进游戏进行。为了说明,用户可能需要经历作为网关的瀑布,并且在尝试通过时似乎已经用尽了所有可用选项。然而,即使解决方案可用且简单(如果已知)(例如,拾起稳定岩石并穿过瀑布),无论出于何种原因,用户都无法找到正确的路径或操作顺序以获得进入。经过数小时的徒劳无益,因为用户无法前进,所以用户可能最终退出游戏。

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



技术实现要素:

本公开的实施例涉及基于位置的伴随界面,其支持进行游戏应用的用户的游戏进行。下面描述本公开的几个发明实施例。

在一个实施例中,公开了一种用于游戏的方法。所述方法包括接收进行在第一计算设备上显示的游戏应用的用户的游戏进行的基于位置的信息,其中基于位置的信息是参考用户的游戏进行中的角色在与游戏应用相关联的游戏世界中的位置来确定。所述方法包括接收和聚合进行游戏应用的多个用户的多个游戏进行的基于位置的信息。所述方法包括基于多个游戏进行的基于位置的信息生成关于角色位置的情境相关信息。所述方法包括生成包括情境相关信息的伴随界面。所述方法包括将伴随界面发送到与用户相关联的第二计算设备,以与用户的游戏进行同时进行显示。

在另一个实施例中,公开了一种用于游戏的方法。所述方法包括与用户的游戏进行相关联地实例化游戏应用的第一实例。所述方法包括通过第一通信信道将表示用户的游戏进行的数据传递给第一计算设备以供用户进行交互。所述方法包括确定用户游戏进行中的角色的基于位置的信息,其中,位置信息参考与游戏应用相关联的游戏世界来确定。所述方法包括聚合进行游戏应用的多个用户的多个游戏进行的基于位置的信息。所述方法包括基于多个游戏进行的基于位置的信息生成关于角色位置的情境相关信息。所述方法包括生成包括情境相关信息的伴随界面。所述方法包括通过第二通信信道将伴随界面发送到与用户相关联的第二计算设备,以与用户的游戏进行同时进行显示。

在又另一个实施例中,公开了另一种用于游戏的方法。所述方法包括与用户的游戏进行相关联地实例化游戏应用的第一实例。所述方法包括通过第一通信信道将表示用户的游戏进行的数据传递给第一计算设备以供用户进行交互。所述方法包括确定用户游戏进行中的角色的基于位置的信息,其中,位置信息参考与游戏应用相关联的游戏世界来确定。所述方法包括基于基于位置的信息生成关于角色位置的情境相关信息,其中情境相关信息包括完成用户的游戏进行中的任务的提议。所述方法包括生成包括情境相关信息的伴随界面。所述方法包括通过第二通信信道将伴随界面发送到与用户相关联的第二计算设备,以与用户的游戏进行同时进行显示。所述方法包括接收提议的接受。所述方法包括基于在第一实例的执行期间生成的第一快照在第一跳跃游戏进行中实例化游戏应用的第二实例。第一快照包括第一实例的第一游戏状态和基于位置的信息,其中第一跳跃游戏进行从游戏应用中与第一快照对应的点开始。所述方法包括在游戏应用的第二实例的执行期间生成第二快照,并且包括第二实例的第二游戏状态。第二实例由专家控制,并且其中任务在第一跳跃游戏进行中完成。所述方法包括基于第二快照在第二跳跃游戏进行中实例化游戏应用的第三实例,其中第三实例由用户控制,其中任务在第二跳跃游戏进行中完成。

在另一实施例中,公开了一种存储用于游戏的计算机程序的非暂时性计算机可读介质。所述计算机可读介质包括用于接收进行在第一计算设备上显示的游戏应用的用户的游戏进行的基于位置的信息的程序指令,其中基于位置的信息是参考用户的游戏进行中的角色在与游戏应用相关联的游戏世界中的位置来确定。所述计算机可读介质包括用于聚合进行游戏应用的多个用户的多个游戏进行的基于位置的信息的程序指令。计算机可读介质包括用于基于多个游戏进行的基于位置的信息生成关于角色位置的情境相关信息的程序指令。所述计算机可读介质包括用于生成包括情境相关信息的伴随界面的程序指令。所述计算机可读介质包括用于将伴随界面发送到与用户相关联的第二计算设备以与用户的游戏进行同时显示的程序指令。

通过以下结合附图进行的详细描述,本公开的其他方面将变得明显,通过示例的方式示出了本公开的原理。

附图说明

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

图1a示出根据本公开的一个实施例的用于实现基于位置的伴随界面的系统,所述伴随界面支持对应用户的游戏进行,其中游戏应用可以在本地计算设备上或通过云游戏网络执行。

图1b示出根据本公开的一个实施例的向正在进行一个或多个游戏应用的一个或多个用户提供游戏控制的系统,所述一个或多个游戏应用对于对应用户是在本地执行的,并且其中后端服务器支持可以实现支持对应用户的游戏进行的基于位置的伴随界面。

图1c示出了根据本公开的一个实施例的对一个或多个用户提供游戏控制的系统,所述一个或多个用户正在进行通过云游戏网络执行的游戏应用,并且其中后端服务器支持可以实现支持对应用户的游戏进行的基于位置的伴随界面。

图2示出根据本公开的一个实施例的用于启用访问和进行游戏云系统(gcs)中的游戏应用以及支持对应用户的游戏进行的基于位置的伴随界面的实现的系统图。

图3是示出根据本公开的一个实施例的用于实现支持对应用户的游戏进行的基于位置的伴随界面的方法中的步骤的流程图。

图4a示出了根据本公开的一个实施例的进行游戏应用的用户的游戏进行的测绘,其中所述测绘指示第二用户(例如,用户的朋友)在用户的游戏进行中的角色的位置附近,其中第二用户具有与用户的游戏进行相关的消息。

图4b示出了根据本公开的一个实施例的图4a中介绍的用户的游戏进行的测绘,并且包括由第二用户留下的基于位置的消息,其中所述消息与用户的游戏进行相关。

图4c示出了根据本公开的一个实施例的图4a和图4b中介绍的用户的游戏进行的测绘,并且包括显示由第二用户留下的基于位置的消息的窗口。

图5a示出了根据本公开的一个实施例的进行游戏应用的用户的游戏进行的测绘,其中所述测绘指示第二用户正在接近由所述测绘定义的区域。

图5b示出了根据本公开的一个实施例的图5a中介绍的用户的游戏进行的测绘,其中所述测绘指示第二用户正在接近用户的游戏进行中的角色的位置的附近,从而第二用户正在接近测绘的外边界。

图5c示出了根据本公开的一个实施例的图5a-5b中介绍的用户的游戏进行的测绘,其中所述测绘指示第二用户现在已经到达测绘的外边界。

图5d示出了根据本公开的一个实施例的图5a-5c中介绍的用户的游戏进行的测绘,并且包括显示关于第二用户的信息的窗口,其中所述窗口包括加入与第二用户的对话的邀请。

图5e示出了根据本公开的一个实施例的图5a-5d中介绍的用户的游戏进行的测绘500,并且包括显示用户和另一玩家之间的双向对话的窗口535'。

图6是示出了根据本公开的一个实施例的用于实现支持对应用户的游戏进行的基于位置的伴随界面的方法中的步骤的流程图,其中伴随界面包括提供推进游戏进行的辅助的提议。

图7是示出了根据本公开的实施例的示出的头戴式显示器的组件的图。

图8是根据本发明的各种实施例的游戏系统的框图。游戏系统被配置为经由网络向一个或多个客户端提供视频流。

具体实施方式

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

一般而言,本公开的各种实施例描述了实现基于位置的伴随界面的系统和方法,所述伴随界面被配置为支持用户的游戏进行。本公开的实施例通过基于位置的伴随界面提供游戏应用的附加使用。伴随界面包括基于用户的游戏进行中的角色的位置生成的情境相关信息(例如,消息、辅助信息等)。基于位置的信息包括定义针对在用户进行游戏期间定期收集的快照生成的参数。具体地,快照包含关于用户的游戏进行的元数据和/或信息,并且可配置成在游戏应用中对应于所述快照的跳跃点处启用对应游戏应用的另一个实例。情境相关信息还包括在进行同一游戏应用的其他用户进行这个游戏进行期间收集的信息。以这种方式,用户能够基于用户的当前进度(例如,游戏世界中的位置等)来接收情境相关信息。例如,情境相关信息可以在用户进行游戏时提供辅助,其中所述信息可以基于进行游戏的位置、过去的游戏进行和预期的游戏进行。此外,伴随界面可以用于从用户创建消息。例如,消息可以是帮助请求,其中消息被传递给目标用户或广播到定义的组(例如,用户的朋友),并且可在对应的伴随界面内显示。伴随界面可以包括由进行游戏应用的其他用户创建的用于用户的消息。在其他实例中,可以创建消息并将其传递给一个或多个目标用户以增强游戏进行。例如,可以在发生事件时(例如到达游戏世界中的地理位置,或者击败首领等)触发消息以在目标用户的伴随界面中显示。消息也可以被个性化以允许用于个人对个人的游戏或用户之间的通信。即,游戏应用可以通过对应的伴随界面在多玩家环境中使用,其中在进行游戏应用的两个或多个用户之间启用实时通信,并且每个伴随界面提供与另一用户的游戏进行相关的信息。情境相关信息可以包括来自专家的辅助以引导用户完成用户的游戏进行或者让专家完成用户的游戏进行中的任务的提议。

以上是对各种实施例的一般理解,现在将参考各种附图来描述实施例的示例细节。

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

图1a示出了根据本公开的一个实施例的用于实现被配置成支持进行游戏应用的用户的游戏进行的基于位置的伴随界面的系统10,其中游戏应用可以在本地计算设备上或通过云游戏网络执行。伴随界面可以用于创建供进行游戏应用的其他用户进行交互的内容(例如,辅助信息、消息等),其中交互可以通过对应的伴随界面。内容基于在进行游戏应用的用户的游戏进行期间捕获的基于位置的信息(例如快照信息)来创建。伴随界面还可以被配置为通过基于用户的过去游戏进行、进行同一游戏应用的多个用户的聚合的游戏进行、用户游戏进行的位置信息和用户游戏进行的当前进度(包括包括资产和技能累积、任务完成、等级完成等)向用户提供情境相关信息为用户的游戏进行提供辅助。

如图1a所示,游戏应用可以在用户5的客户端设备100本地执行,或者可以在后端游戏执行引擎211执行,所述后端游戏执行引擎211在云游戏网络或游戏云系统的后端游戏服务器205处运行。游戏执行引擎211可以在游戏服务器205的多个游戏处理器201中的一个内运行。在任一情况下,云游戏网络被配置为提供基于位置的伴随界面,其支持进行游戏应用的一个或多个用户的游戏进行。此外,游戏应用可以以单玩家模式或多玩家模式执行,其中本发明的实施例为两种操作模式提供多玩家增强(例如,辅助、通信等)。

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

如图所示,系统10包括执行游戏处理器模块201的游戏服务器205,所述游戏处理器模块提供对多个交互式游戏应用的访问。游戏服务器205可以是云中可用的任何类型的服务器计算设备,并且可以被配置为在一个或多个主机上执行的一个或多个虚拟机,如前所述。例如,游戏服务器205可以管理支持游戏处理器201的虚拟机。游戏服务器205还被配置成向用户5提供附加服务和/或内容。例如,游戏服务器可配置成提供可显示给用户5的伴随界面,以便生成和/或接收情境相关信息,如下文将进一步描述的。

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

客户端设备100被配置用于接收渲染图像,并且用于在显示器12上显示渲染图像。例如,通过基于云的服务,可以由与用户5相关联地在游戏服务器205的游戏执行引擎211上执行的游戏应用的实例来传送渲染图像。在另一个示例中,通过本地游戏处理,可以由本地游戏执行引擎111来传送渲染图像。在任一情况下,客户端设备100被配置成诸如通过用于驱动游戏进行的输入命令,与用户5的游戏进行相关联地与执行引擎211或111进行交互。

此外,客户端设备100被配置成与游戏服务器205进行交互以便在进行游戏应用时捕获和存储用户5的游戏进行的快照,其中每个快照包括与游戏进行相关的信息(例如,游戏状态等)。例如,快照可以包括与用户5的游戏进行的游戏世界中的角色的位置相对应的基于位置的信息。此外,快照使得对应用户能够在游戏应用中对应于捕获快照的跳跃点处跳跃到保存的游戏进行中。这样,用户5可以在对应于所选快照的跳跃点处跳跃到他或她自己保存的游戏进行中,另一个用户可以跳跃到用户5的游戏进行中,或者用户5可以在与所选快照相对应的跳跃点处跳跃到另一个用户保存的游戏进行中。此外,客户端设备100被配置成与游戏服务器205进行交互以显示来自伴随界面生成器213的基于位置的伴随界面,其中伴随界面被配置成接收和/或生成情境相关内容,诸如辅助信息、消息传递、交互式任务和挑战等。具体地,包含在用户5进行游戏期间捕获的快照中的信息,诸如与游戏进行相关的基于位置的信息,以及在其他用户进行游戏期间捕获的信息,用于生成情境相关内容。

更具体地,游戏服务器205的游戏处理器201被配置成在用户5进行游戏应用时生成和/或接收所述用户的游戏进行的快照。例如,快照可以由客户端设备100上的本地游戏执行引擎111生成,通过网络150输出并传送到游戏处理器201。另外,快照可以由游戏处理器201内的游戏执行引擎211生成,诸如通过在引擎211上执行的游戏应用的实例。此外,与其他虚拟机相关联的游戏服务器205的其他游戏处理器被配置成执行与其他用户的游戏进行相关联的游戏应用的实例并且在这些游戏进行期间捕获快照,其中这些附加信息可以用于创建情境相关信息。

快照生成器212被配置成捕获从用户5的游戏进行生成的多个快照。每个快照提供的信息使得能够从与对应快照相关联的视频游戏中的点开始执行视频游戏的实例。在用户5对游戏应用的游戏进行期间自动地生成快照。在实施例中,每个快照的部分存储在独立配置或配置在数据存储区140下的相关数据库中。在另一个实施例中,可以通过用户5的指令手动地生成快照。以这种方式,任何用户通过选择对应快照可以在游戏应用中与对应快照相关联的点处跳跃到用户5的游戏进行中。另外,还可以捕获进行多个游戏应用的其他用户的游戏进行的快照。这样,游戏处理器201被配置成访问数据库140中的信息,以便能够基于对应的快照跳跃到任何用户保存的游戏进行中。也就是说,请求用户能够使用生成并保存快照的原始用户的游戏进行的游戏角色在与所选快照相对应的跳跃点处开始进行视频游戏。

关于快照的创建和使用的完整讨论在标题为"methodandsystemforsavingasnapshotofgameplayandusedtobeginlaterexecutionofthegameplaybyanyuserasexecutedonagamecloudsystem"的美国申请序列号15/411,421中提供,所述申请先前通过引用整体并入。以下是创建和实现快照的简要说明。

具体地,每个快照包括元数据和/或信息,以使得能够在游戏应用中与快照相对应的点处开始执行游戏应用的实例。例如,在用户5的游戏进行中,可以在游戏应用的进展中的特定点处(诸如在等级中间)生成快照。相关快照信息存储在数据库140的一个或多个数据库中。指针可以用于关联与特定快照相对应的每个数据库中的信息。以这种方式,希望体验用户5的游戏进行的另一用户或希望重新体验他或她之前的游戏进行的同一用户5可以选择与感兴趣的游戏应用中的点相对应的快照。

可以提供和/或分析每个快照中的元数据和信息以提供与用户的游戏进行相关的附加信息。例如,快照可以帮助确定用户(例如,用户的角色)已经在游戏应用内的位置、用户在游戏应用中的位置、用户已经做了什么、用户已经积累了什么资产和技能、以及用户将进入游戏应用的位置。所述附加信息可以用于生成情境相关内容以在伴随应用界面中显示给用户(例如,辅助信息),或者可以用于生成被配置用于与其他用户交互的内容(例如,请求、挑战、消息等等)。另外,可以基于从进行游戏应用的其他用户的其他游戏进行中收集的其他信息(例如,基于位置的信息)生成情境相关内容。

快照包括在这个点处渲染的场景的快照图像。快照图像存储在快照图像数据库146中。以时间线中的缩略图的形式呈现的快照图像提供了在用户通过视频游戏的进展中的对应点处对用户的游戏进行的视图。

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

快照还包括用户保存数据。一般来说,用户保存数据包括为对应用户个性化视频游戏的信息。这包括与用户的角色相关联的信息,使得视频游戏以对于这个用户可能是唯一的角色(例如,形状、外观、服装、武器等)渲染。以这种方式,用户保存数据使得能够生成用于对应用户的游戏进行的角色,其中所述角色具有对应于视频游戏中与快照相关联的点的状态。例如,用户保存数据可以包括用户5在进行游戏时选择的游戏难度、游戏等级、角色属性、角色位置、剩余生命数、可用的可能生命总数、护甲、战利品、时间计数器值以及其他资产信息等。例如,用户保存数据还可以包括识别用户5的用户简档数据。用户保存数据存储在数据库141中。

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

以这种方式,希望体验用户5的游戏进行的另一用户可以选择与视频游戏中的感兴趣的点相对应的快照。例如,用户选择时间线中呈现的快照图像或节点图中的节点使得游戏处理器201的跳跃执行引擎216能够访问对应的快照,基于快照实例化视频游戏的另一个实例,并且从视频游戏中与快照相对应的点处开始执行视频游戏。以这种方式,快照使得请求用户能够在与快照相对应的点处跳跃到用户5的游戏进行中。另外,用户5可以使用对应的快照访问其他用户的游戏进行,或者甚至访问他或她自己在相同或其他游戏应用中的先前游戏进行。具体地,用户5对快照的选择(例如,在时间线中或通过消息等)使得执行引擎216能够从各种数据库(例如,从数据库140)收集快照(例如,元数据和/或信息),以便在对应游戏应用中捕获对应快照的点处开始执行对应的游戏应用。

游戏处理器201包括基于位置的伴随应用生成器213,其被配置为在进行游戏应用时生成支持用户5的游戏进行的伴随界面。生成器213可用于创建基于用户5的游戏进行的要传送到用户5或从用户5接收的情境相关信息(例如,辅助信息、消息等),其中使用基于位置的信息(例如,快照)创建情境相关信息。情境相关信息还可以基于从进行游戏应用的其他用户的游戏进行中收集的信息。具体地,生成器213可配置成针对游戏进行的特定情境(例如,角色的当前位置、游戏状态信息等)来确定用户5对特定游戏应用的游戏进行的进度(例如,基于快照),并且确定可以传送到伴随界面的情境相关信息,所述伴随界面可在与显示用户5的游戏进行的设备分开的设备11上显示。例如,情境相关信息可以提供在通过游戏应用的进展中提供辅助的信息。情境相关信息可以考虑由预测引擎214提供的信息,所述预测引擎被配置成预测用户5的游戏进行将去往的位置,包括角色将拜访哪些区域、推进游戏进行所需的任务、为了推进游戏进行所需的资产(例如,完成要求的任务所需的资产)等。伴随界面也可以用于由用户5创建情境相关内容以供其他用户进行交互。例如,在伴随界面中示出的基于位置的信息(例如,雷达测绘、航路点等)可以促进创建交互式内容(例如,任务、挑战、消息等)的创建。也就是说,用户5可以使用基于位置的信息(例如,快照)来创建交互式情境相关内容。在另一示例中,伴随界面可用于创建来自用户的消息,其中消息可以向用户的朋友请求帮助或促进交互式通信(例如,用于多玩家游戏、嘲弄等)。伴随界面可用于显示来自其他用户的消息。伴随界面还可用于显示提供辅助的提议。

例如,在实施例中,基于位置的信息可以基于在众包环境中进行相同游戏应用的多个用户的当前和/或过去的游戏进行,使得可以通过观察和/或分析多个游戏进行来确定信息。以这种方式,可以在游戏进行过程中发现众包内容,其中内容可以有助于进行同一游戏应用的其他玩家,或者为这些其他玩家提供增强的用户体验。在另一个实施例中,伴随界面中提供的信息可以与同时进行同一游戏应用的用户的游戏进行相关(例如,信息与同时进行所述游戏应用的用户的朋友的游戏进行有关,其中信息提供朋友之间的实时交互),其中信息推进用户的游戏进行或提供增强的用户体验。也就是说,各个伴随界面提供用户之间的实时交互。在又另一个实施例中,用户正在单独进行游戏应用(例如,单独进行),并通过伴随界面接收信息,所述信息有助于推进第一用户的游戏进行,或者用于提供增强的用户体验。在单机情况下,信息(例如,帮助、指导等)可以以记录的视频、图像和/或文本内容的形式传送。所述信息可以不是实时生成的,并且可以由与游戏开发者相关联的某人(例如,由游戏发行者、控制台制造者等雇用)生成,其作用是为用户的利益生成通过各自的伴随界面传达的信息。此外,第三方(营利性、非营利性等)可以为了游戏公众的利益自己生成信息。此外,所述信息可以仅为了所述玩家或组中的朋友的利益由第一用户的朋友生成。而且,所述信息可以由进行游戏界面的其他相关和/或不相关的用户生成(例如,众包)。此外,用于实现伴随界面的组件可以包括在用户本地的游戏处理器内(例如,位于设备11或客户端设备100上),或者可以包括在后端服务器(例如,游戏服务器2015)中。

如图所示,伴随界面被传送到设备11(例如,平板电脑)以用于显示和交互,其中设备11可以是与客户端设备100分开的,其被配置成执行和/或支持与用于用户5进行交互的游戏应用的执行。例如,可以在游戏服务器205与客户端设备100之间建立第一通信信道,并且可以在游戏服务器205与设备11之间建立单独的第二通信信道。

图1b示出根据本公开的一个实施例的向进行一个或多个游戏应用的一个或多个用户提供游戏控制的系统106b,所述一个或多个游戏应用对于对应用户正在本地执行,并且其中后端服务器支持(例如,可通过游戏服务器205访问)可以实现基于位置的伴随界面,所述伴随界面支持对应用户的游戏进行。在一个实施例中,系统106b与图1a的系统10和图2的系统200一起工作,以实现支持对应用户的游戏进行的基于位置的伴随界面。现在参考附图,相同的附图标记表示相同或对应的部分。

如图1b所示,多个用户115(例如,用户5a、用户5b……用户5n)正在进行多个游戏应用,其中每个游戏应用在对应用户的对应客户端设备100(例如,游戏控制台)上本地执行。另外,多个用户115中的每一个都可以访问设备11,所述设备先前已经介绍,其被配置成接收和/或生成用于显示在设备11上的伴随界面,所述伴随界面为进行对应游戏应用的对应用户提供情境相关信息,如前所述。客户端设备100中的每一个可以类似地配置,因为它们执行对应游戏应用的本地执行。例如,用户5a可能正在对应的客户端设备100上进行第一游戏应用,其中第一游戏应用的实例由对应的游戏标题执行引擎111执行。实现第一游戏应用的游戏逻辑126a(例如,可执行代码)存储在对应的客户端设备100上,并且用于执行第一游戏应用。出于说明的目的,可以通过便携式介质(例如,闪存驱动器、光盘等)或通过网络(例如,通过互联网150从游戏提供商下载)将游戏逻辑传送到对应的客户端设备100。另外,用户5b正在对应的客户端设备100上进行第二游戏应用,其中第二游戏应用的实例由对应的游戏标题执行引擎111执行。第二游戏应用可以与针对用户5a执行的第一游戏应用相同,或者是不同的游戏应用。实现第二游戏应用的游戏逻辑126b(例如,可执行代码)如前所述存储在对应的客户端设备100上,并且用于执行第二游戏应用。此外,用户115n正在对应的客户端设备100上进行第n游戏应用,其中第n游戏应用的实例由对应的游戏标题执行引擎111执行。第n游戏应用可以与第一游戏应用或第二游戏应用相同,或者可以是完全不同的游戏应用。实现第三游戏应用的游戏逻辑126n(例如,可执行代码)如前所述存储在对应的客户端设备100上,并且用于执行第n游戏应用。

如前所述,客户端设备100可以从各种类型的输入设备接收输入,诸如游戏控制器、平板计算机、键盘、由摄影机捕获的手势、鼠标、触摸板等。客户端设备100可以是任何类型的计算设备,其至少具有存储器以及能够通过网络150连接到游戏服务器205的处理器模块。此外,对应用户的客户端设备100被配置用于生成由本地或远程执行的游戏标题执行引擎111执行的渲染图像,并且用于在显示器上显示所述渲染图像。例如,渲染图像可以与在用户5a的客户端设备100上执行的第一游戏应用的实例相关联。例如,对应的客户端设备100被配置成与本地或远程执行的对应游戏应用的实例进行交互,以便诸如通过用于驱动游戏进行的输入命令实现对应用户的游戏进行。

在一个实施例中,针对正在进行游戏应用的对应用户,客户端设备100以单玩家模式操作。根据本公开的一个实施例,经由游戏服务器205实现的后端服务器支持可以提供支持对应用户的游戏进行的基于位置的伴随界面服务,如下文将描述的。

在另一个实施例中,针对每个正在进行特定游戏应用的对应用户,多个客户端设备100以多玩家模式操作。在这种情况下,经由游戏服务器实现的后端服务器支持可以提供多玩家功能,诸如通过多玩家处理引擎119。具体地,多玩家处理引擎119被配置用于控制特定游戏应用的多玩家游戏会话。例如,多玩家处理引擎130与多玩家会话控制器116通信,所述多玩家会话控制器被配置成与参与多玩家游戏会话的每个用户和/或玩家建立和维持通信会话。以这种方式,会话中的用户可以在多玩家会话控制器116的控制下彼此通信。

此外,多玩家处理引擎119与多玩家逻辑118通信,以便在每个用户的对应游戏环境内实现用户之间的交互。具体地,状态共享模块117被配置成管理多玩家游戏会话中的每个用户的状态。例如,状态数据可以包括游戏状态数据,其定义在特定点处对应用户的(游戏应用的)游戏进行的状态。例如,游戏状态数据可以包括游戏角色、游戏对象、游戏对象属性、游戏属性、游戏对象状态、图形叠加等。以这种方式,游戏状态数据允许生成在游戏应用中的对应点处存在的游戏环境。游戏状态数据还可以包括用于渲染游戏进行的每个设备的状态,诸如cpu的状态、gpu的状态、存储器的状态、寄存器值、程序计数器值、可编程dma状态、dma的缓冲数据、音频芯片状态、cd-rom状态等。游戏状态数据还可以识别需要加载可执行代码的哪些部分以便从这个点执行视频游戏。游戏状态数据可以存储在图1c和图2的数据库140中,并且可通过状态共享模块117访问。

此外,状态数据可以包括用户保存数据,所述用户保存数据包括为对应玩家个性化视频游戏的信息。这包括与用户扮演的角色相关联的信息,使得视频游戏以对于这个用户可能是唯一的角色(例如,位置、形状、外观、服装、武器等)渲染。以这种方式,用户保存数据使得能够生成用于对应用户的游戏进行的角色,其中所述角色具有与游戏应用中对应用户当前体验的点相对应的状态。例如,用户保存数据可以包括对应用户115a在进行游戏时选择的游戏难度、游戏等级、角色属性、角色位置、剩余生命数、可用的可能生命总数、护甲、战利品、时间计数器值等。例如,用户保存数据还可以包括识别对应用户115a的用户简档数据。用户保存数据可以存储在数据库140中。

以这种方式,使用状态共享数据117和多玩家逻辑118的多玩家处理引擎119能够将对象和角色叠加/插入到参与多玩家游戏会话的用户的每个游戏环境中。例如,第一用户的角色被叠加/插入到第二用户的游戏环境中。这允许多玩家游戏会话中的用户之间的经由他们各自的游戏环境(例如,如在屏幕上显示的)中的每一个进行的交互。

另外,经由游戏服务器205实现的后端服务器支持可以提供基于位置的伴随应用服务,所述伴随应用服务通过由伴随应用生成器213生成的伴随界面提供。如前所介绍,生成器213被配置为创建要传送到用户5或从用户5接收的情境相关信息(例如,辅助信息、消息等)。信息基于用户5对特定应用的游戏进行(例如,基于快照中提供的信息)生成。以这种方式,生成器213能够确定用户5的游戏进行的情境,并提供可传送到可在设备11(例如,与显示用户5的游戏进行的设备分开)上显示的伴随界面的情境相关信息。

图1c示出了根据本公开的一个实施例的对多个用户115(例如,用户5l,5m......5z)提供游戏控制的系统106c,所述多个用户进行通过云游戏网络执行的游戏应用。在一些实施例中,云游戏网络可以是游戏云系统210,其包括在主机的管理程序上运行的多个虚拟机(vm),其中一个或多个虚拟机被配置成利用主机的管理程序可用的硬件资源来执行游戏处理器模块。在一个实施例中,系统106c与图1a的系统10和/或图2的系统200一起工作,以实现支持对应用户的游戏进行的基于位置的伴随界面。现在参考附图,相似的参考数字指定相同或对应的部分。

如图所示,游戏云系统210包括游戏服务器205,其提供对多个交互式视频游戏或游戏应用的访问。游戏服务器205可以是云中可用的任何类型的服务器计算设备,并且可以被配置为在一个或多个主机上执行的一个或多个虚拟机。例如,游戏服务器205可以管理支持游戏处理器的虚拟机,其为用户实例化游戏应用的实例。这样,游戏服务器205的与多个虚拟机相关联的多个游戏处理器被配置成执行与多个用户115的游戏进行相关联的游戏应用的多个实例。以这种方式,后端服务器支持向多个对应用户提供多个游戏应用的游戏进行的媒体(例如,视频、音频等)的流传输。

多个用户115经由网络150访问游戏云系统210,其中用户(例如,用户5l、5m……5z)经由对应的客户端设备100'访问网络150,其中客户端设备100'可以与图1a-1b的客户端设备100类似地配置(例如,包括游戏执行引擎111等),或者可以被配置为瘦客户端,其提供与提供计算功能的后端服务器(例如,包括游戏执行引擎211)的接口。另外,多个用户115中的每一个都可以访问设备11,所述设备先前已经介绍,其被配置成接收和/或生成用于显示在设备11上的伴随界面,如前所述,所述伴随界面为进行对应游戏应用的对应用户提供情境相关信息。具体地,对应用户5l的客户端设备100'被配置用于通过网络150(诸如互联网)请求对游戏应用的访问,并且用于渲染由游戏服务器205执行并传送到与对应用户5l相关联的显示设备的游戏应用(例如,视频游戏)的实例。例如,用户5l可以通过客户端设备100'与在游戏服务器205的游戏处理器上执行的游戏应用的实例进行交互。更具体地,游戏应用的实例由游戏标题执行引擎211执行。实现游戏应用的游戏逻辑(例如,可执行代码)通过先前描述的数据存储区140存储且可访问,并且用于执行游戏应用。如图所示,游戏标题处理引擎211能够使用多个游戏逻辑177支持多个游戏应用。

如前所述,客户端设备100'可以从各种类型的输入设备接收输入,诸如游戏控制器、平板计算机、键盘、由摄影机捕获的手势、鼠标、触摸板等。客户端设备100'可以是任何类型的计算设备,其至少具有存储器以及能够通过网络150连接到游戏服务器205的处理器模块。此外,对应用户的客户端设备100'被配置用于生成由本地或远程执行的游戏标题执行引擎211执行的渲染图像,并且用于在显示器上显示所述渲染图像。例如,渲染图像可以与在用户5l的客户端设备100'上执行的第一游戏应用的实例相关联。例如,对应的客户端设备100'被配置与本地或远程执行的对应游戏应用的实例进行交互,以便诸如通过用于驱动游戏进行的输入命令实现对应用户的游戏进行。

在另一个实施例中,先前描述的多玩家处理引擎119提供用于控制游戏应用的多玩家游戏会话。具体地,当多玩家处理引擎119正在管理多玩家游戏会话时,多玩家会话控制器116被配置成与多玩家会话中的每个用户和/或玩家建立和维持通信会话。以这种方式,会话中的用户可以在多玩家会话控制器116的控制下彼此通信。

此外,多玩家处理引擎119与多玩家逻辑118通信,以便在每个用户的对应游戏环境内实现用户之间的交互。具体地,状态共享模块117被配置成管理多玩家游戏会话中的每个用户的状态。例如,状态数据可以包括游戏状态数据,其定义在特定点处对应用户115a的(游戏应用的)游戏进行的状态,如前所述。此外,状态数据可以包括用户保存数据,所述用户保存数据包括为对应玩家个性化视频游戏的信息,如前所述。例如,状态数据包括与用户的角色相关联的信息,使得视频游戏以对于这个用户可能是唯一的角色(例如,形状、外观、服装、武器等)渲染。以这种方式,使用状态共享数据117和多玩家逻辑118的多玩家处理引擎119能够将对象和角色叠加/插入到参与多玩家游戏会话的用户的每个游戏环境中。这允许多玩家游戏会话中的用户之间的经由他们各自的游戏环境(例如,如在屏幕上显示的)中的每一个进行的交互。

另外,经由游戏服务器205实现的后端服务器支持可以提供基于位置的伴随应用服务,所述伴随应用服务通过由伴随应用生成器213生成的伴随界面提供。如先前所介绍的,生成器213被配置成创建要传送到对应用户(例如,用户5l)或从对应用户接收的情境相关信息(例如,辅助信息、消息等)。信息基于用户对特定应用的游戏进行(例如,基于快照中提供的信息)生成。以这种方式,生成器213能够确定对应用户的游戏进行的情境,并提供可传送到可在设备11(例如,与显示用户5l的游戏进行的设备分开)上显示的伴随界面的情境相关信息。

图2示出根据本公开的实施例的用于启用访问和进行存储在游戏云系统(gcs)210中的游戏应用的系统图200。一般来说,游戏云系统gcs210可以是通过网络220操作以支持多个用户的云计算系统。另外,gcs210被配置成保存在多个用户的游戏应用的游戏进行期间生成的快照,其中快照可以用于为请求用户启动游戏应用的实例、从游戏应用中对应于所述快照的点处开始。例如,快照生成器212被配置用于生成和/或捕获进行游戏应用的一个或多个用户的游戏进行的快照。快照生成器212可以在游戏服务器205的外部或内部执行。另外,gcs210通过使用快照而使得用户能够浏览游戏应用,并预览游戏应用的过去和未来场景。此外,快照使得请求用户能够通过对应的快照跳跃到视频游戏中的所选定点以体验另一用户的游戏进行。具体地,系统200包括gcs210、一个或多个社交媒体提供商240和用户设备230,所有这些都经由网络220(例如,互联网)连接。一个或多个用户设备可以连接到网络220以访问由gcs210和社交媒体提供商240提供的服务。

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

用户u0能够经由游戏会话管理器285访问由gcs210提供的服务,其中用户u0可以代表图1的用户5。例如,账户管理器274启用用户u0认证和访问gcs210。账户管理器274存储关于成员用户的信息。例如,每个成员用户的用户简档可以由账户管理器274管理。以这种方式,账户管理器274可以使用成员信息用于认证目的。例如,账户管理器2274可用于更新和管理与成员用户相关的用户信息。另外,成员用户拥有的游戏标题可以由账户管理器274管理。以这种方式,存储在数据存储区264中的游戏应用可供拥有那些游戏应用的任何成员用户使用。

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

用户设备230包括显示器232,其充当用户u0发送输入命令236和显示从gcs210和社交媒体提供商240接收的数据和/或信息235的接口。显示器232可被配置为触摸屏、或者通常由平板显示器、阴极射线管(crt)或能够渲染显示器的其他设备提供的显示器。可替代地,用户设备230可以具有与设备分开的显示器232,类似于台式计算机或膝上型计算机。为了实现基于位置的伴随界面,附加设备231(例如,图1a的设备11)可供用户u0使用。

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

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

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

在进行游戏期间,游戏会话管理器285可以与游戏服务器205的游戏处理器201通信以便传送和获得用户输入命令236,所述用户输入命令用于影响游戏应用的对应游戏进行的结果。由用户u0输入的输入命令236可以从用户设备230发送到gcs210的游戏会话管理器285。输入命令236(包括用于驱动游戏进行的输入命令)可以包括用户交互式输入,诸如包括标签内容(例如,文本、图像、视频记录剪辑等)。游戏输入命令以及任何用户游戏度量(用户进行游戏的时间等)可以存储在游戏网络用户存储区中。选择与游戏应用的游戏进行相关的信息可以用于启用用户可用的多个特征。

因为游戏进行是由多个用户在gcs210上执行的,所以从这些游戏进行中生成和存储的信息使得任何请求用户都能够体验其他用户的游戏进行,特别是当通过gcs210执行游戏进行时。具体地,gcs210的快照生成器212被配置成保存由进行通过gcs210提供的游戏应用的用户的游戏进行生成的快照。在用户u0的情况下,用户设备提供允许用户u0在进行游戏期间参与游戏应用的接口。生成用户u0的游戏进行的快照并将其保存在gcs210上。快照生成器212可以在游戏服务器205外部执行,如图2所示,或者可以在游戏服务器205内部执行,如图1a所示。

另外,从这些游戏进行中收集的信息可以用于生成在对应的伴随应用中提供给用户u0的情境相关信息。例如,如先前所介绍的,伴随应用生成器213被配置用于实现被配置为支持用户u0的游戏进行的基于位置的伴随界面,其中伴随界面包括情境相关信息(例如,消息、辅助信息、帮助提议等),其基于用户u0的游戏进行中的角色的位置生成。伴随应用生成器213可以在游戏服务器205外部执行,如图2所示,或者可以在游戏服务器205内部执行,如图1a所示。在这些实现方式中,可以通过网络220将情境相关信息传送到用户设备231,以便显示包括情境相关信息的伴随应用界面。在另一个实施例中,伴随应用生成器213对于用户可以是本地的(例如,在用户设备231内实现)并且被配置用于生成和显示情境相关信息两者。在这个实现方式中,用户设备231可以通过本地网络(或通过外部网络220)直接与用户设备230通信以实现伴随应用界面,其中用户设备231可以向用户设备231传送基于位置的信息,并且其中设备230被配置用于生成和显示包括情境相关信息的伴随应用界面。

此外,用户设备230被配置成提供界面,所述界面使得能够使用在用户u0或另一用户的游戏进行中生成的快照而跳跃到游戏应用中的所选点。例如,跳跃游戏执行引擎216被配置用于访问对应的快照,基于快照实例化游戏应用的实例,并且在游戏应用中与快照相对应的点处开始执行游戏应用。以这种方式,快照使得请求用户能够在与快照相对应的点处跳跃到对应用户的游戏进行中。例如,用户u0能够体验任何其他用户的游戏进行,或者返回并观看和/或重新进行他或她自己的游戏进行。也就是说,请求用户通过对应游戏进行的快照,使用在这个游戏进行中使用并且对应于这个游戏进行的角色来进行游戏应用。跳跃游戏执行引擎216可以在游戏服务器205外部执行,如图2所示,或者可以在游戏服务器205内部执行,如图1a所示。

在用户进行游戏应用的情境中描述了图3-8。通常,游戏应用可以是响应用户输入的任何交互式游戏。具体地,图3-8描述了基于位置的伴随界面,其被配置为支持用户的游戏进行,其中伴随界面包括基于用户的游戏进行中的角色的位置生成的情境相关信息(例如,消息、辅助信息等)。

通过对通过网络进行通信的游戏服务器和客户端设备的各种模块的详细描述,根据本公开的一个实施例,现在结合图3的流程图300描述用于实现支持对应用户的游戏进行的基于位置的伴随界面的方法。流程图300示出了游戏服务器侧所涉及的操作的过程和数据流,以便生成包含在通过网络传输以在用户的客户端设备上显示的伴随界面内的基于位置的信息,其中客户端设备可以与显示进行游戏应用的用户的游戏进行的另一设备分开。具体地,流程图300的方法可以至少部分地由图1和图2的伴随应用生成器213执行。

尽管从游戏服务器侧的角度描述了如图3所公开的本发明的实施例,但是本发明的其他实施例非常适合于在本地用户系统内实现基于位置的伴随界面,所述本地用户系统包括被配置用于执行游戏应用以支持用户的游戏进行并被配置用于生成游戏进行的基于位置的信息的游戏处理器,和被配置用于通过本地网络接收基于位置的信息并用于显示情境相关信息的另一设备的伴随应用生成器。例如,伴随界面在本地和隔离系统内实现,其中来自其他用户的游戏进行的信息可能不一定用于生成情境相关信息。在另一实现方式中,来自其他用户的游戏进行的信息可以通过另一网络从后端游戏服务器接收,并用于生成情境相关信息。

流程图300包括用于执行游戏应用并生成进行游戏应用的用户的游戏进行的基于位置的信息的操作305、310和315。具体地,在操作305处,所述方法包括与用户的游戏进行相关联地实例化游戏应用的第一实例。如前所述,在一个实施例中,游戏应用的实例可以在用户的客户端设备处本地执行。在其他实施例中,游戏应用的实例可以在后端游戏服务器的后端游戏执行引擎处执行,其中所述服务器可以是云游戏网络或游戏云系统的一部分。在操作310处,所述方法包括通过第一通信信道将代表用户的游戏进行的数据传送到第一计算设备以便与用户进行交互。通信信道可以例如通过网络(诸如互联网)来实现。这样,渲染图像可以被传送以便在第一计算设备处显示,其中渲染图像是由游戏应用的实例响应于与用户的游戏进行相关联地作出的输入命令而生成的。

在操作315处,所述方法包括确定用户的游戏进行中的角色的基于位置的信息。具体地,基于位置的信息是参考在与游戏应用相关联的游戏世界中用户的游戏进行中的角色的位置来确定的。如前所述,基于位置的信息可以包括在用户进行游戏期间生成、捕获和/或存储的快照内。例如,每个快照包括参考角色的位置生成的元数据和/或信息。在一个实施例中,元数据和/或信息被配置成使得能够在游戏应用中与快照相对应的点处开始执行游戏应用的实例(例如,从与捕获快照时的游戏进行状态相对应的跳跃点处开始,所述跳跃点反映在游戏进行中角色的位置)。例如,快照包括游戏进行的基于位置的信息,以及定义对应点处的游戏进行状态的游戏状态数据(例如,游戏状态数据包括游戏角色、游戏对象、对象属性、图形叠加、角色的资产、角色的技能集、游戏应用中角色的任务完成的历史、游戏世界中角色的当前地理位置、用户的游戏进行中通过游戏应用的进展、角色的游戏进行的当前状态,等等),使得游戏状态数据允许生成在游戏进行中的对应点处存在的游戏环境。快照可以包括用于为用户个性化游戏应用的用户保存数据,其中所述数据可以包括用于个性化游戏进行中的角色(例如,形状、外观、服装、武器、游戏难度、游戏等级、角色属性等)的信息。快照还可以包括与游戏状态相关的随机种子数据,如前所述。

流程图300的其余操作可以通过伴随应用生成器执行,所述伴随应用生成器可以是本地执行的或者是云游戏网络的后端服务器,如前所述。具体地,在操作320处,所述方法包括接收进行游戏应用的用户的游戏进行的基于位置的信息。在游戏应用在第一计算设备本地执行的情况下,可以通过网络从本地化的第一计算设备接收在游戏进行期间生成的基于位置的信息。例如,基于位置的信息可以由第一计算设备在本地生成和存储。在游戏应用在云游戏网络或游戏云系统的后端游戏服务器处操作的游戏执行引擎处执行的情况下,在游戏进行期间生成的基于位置的信息可以从后端游戏服务器在内部接收,其中云游戏网络被配置用于执行游戏应用并生成伴随界面,或者在外部接收,其中云游戏网络被配置用于执行游戏应用,而另一服务器生成伴随界面。

在操作325处,所述方法包括接收和/或聚合进行游戏应用的多个用户的多个游戏进行的基于位置的信息。例如,正如在用户游戏进行期间捕获快照一样,可以在其他用户游戏进行期间捕获快照,其中快照包括与其他用户的游戏进行有关的基于位置的信息,如前所述。快照和/或这些快照中包含的基于位置的信息可以在用户设备本地生成,并传送到云游戏网络或游戏云系统的后端服务器,或者快照可以在云游戏网络的后端服务器生成,所述后端服务器也执行游戏应用的实例以支持其他游戏进行。基于位置的信息也从后端服务器接收,或者通过本地网络(其中服务器用于执行游戏应用的实例,并生成伴随应用),或者通过远程网络(其中云游戏网络的后端服务器独立于伴随应用的生成作用)。

这些快照,包括其他用户游戏进行期间生成的快照中包含的或者从所述快照推断出的元数据/信息,可以与基于位置的信息(在用户的游戏进行期间获得)组合,以提供与用户的游戏进行相关的附加信息。例如,在用户的游戏进行过程中产生的基于位置的信息可用于确定角色在游戏进行中的位置,角色在游戏进行中完成的任务,角色的当前资产和技能,角色当前所处的位置(例如,在游戏世界中)等。将用户游戏进行期间产生的基于位置的信息与其他用户游戏进行期间生成的快照中包含的或者从所述快照推断出的元数据/信息组合和分析,可以统计地确定(例如,通过预测引擎确定)推进用户的游戏进行所需的动作/资产,例如游戏进行中的角色将要去哪里,哪些任务即将到来和/或需要哪些任务推进游戏进行,以及角色完成这些任务所需的资产或技能等。

在操作330处,所述方法包括生成关于角色位置的情境相关信息,其中基于多个游戏进行(包括用户的游戏进行)的基于位置的信息实时生成情境相关信息。在一些实现方式中,基于如上所述的统计预测,在实施例中,情境相关信息可以在游戏应用的进展和/或推进中提供辅助。

例如,情境相关信息可以以消息的形式提供,其中消息可以用于提供推进游戏进行的有用信息(例如,指导用户完成所需任务的步骤,通知即将发生的事情,或)。在一个实现方式中,根据角色在游戏世界中的位置和/或移动来生成一系列相关消息,诸如生成提供作为较大指令集的一部分的块大小指令的逐步指令,每块当角色到达对应位置时被传递。具体地,可以在统计上预测任务,其中需要任务来推进用户的游戏进行。可以确定完成任务的一个或多个解决方案。这些解决方案是根据先前收集的其他用户的多个游戏进行的信息(例如,快照)来确定的,这些信息可以提供对用户未来游戏进行的洞察。例如,所收集的信息可以示出上述任务通常由其他用户在游戏进行中的同一点处在其他游戏进行中解决,并且那些用户找到一个或多个完成所述任务的解决方案。这些解决方案可能包括完成这些任务所需的资产。此外,所分析的收集信息可以由用户进一步过滤。例如,用户可能对来自所有游戏进行(例如,默认),来自著名专家的游戏进行,来自用户的朋友的一个或多个所选游戏进行等的解决方案感兴趣。

所述消息可以包括提供辅助的提议,例如来自专家或朋友或第三方的提示,或者打开双向交互通信的链接,允许朋友或专家在他或她的游戏进行中引导用户等。在一些实施例中,所述消息包括在跳跃游戏中针对用户进行游戏应用以完成任务的提议,如将结合图6进一步描述的。在一些实施例中,消息响应于触发而生成,诸如识别用户无法推进游戏应用中的特定点。在其他示例中,情境相关信息可以包括接收或购买可下载内容(dlc)的提议,用户需要这些可下载内容以完成即将到来的任务从而推进游戏进行。

在又其他实施例中,情境相关信息可以最初由用户生成。例如,所述消息可以用于向其他用户广播(例如,帮助标记),并且包括针对来自游戏应用的其他玩家的辅助的请求。此外,包括针对辅助的请求的消息可以针对用户的朋友,或者递送给已知专家或提供游戏辅助的第三方-其中朋友、专家和第三方可以同时或可以不同时进行游戏应用。在其他实现方式中,所述消息还可以包括由用户产生的打开与用户的双向通信的提议,并且可以针对用户的朋友。在又其他实现方式中,所述消息包括打开与另一用户的双向通信的提议,其中所述消息由另一用户生成。

为了说明,可以响应于从用户接收帮助请求而生成广播消息,其中用户可能处于推进他或她的游戏进行的僵局。所述消息可以由后端服务器(例如,执行伴随应用生成器213的服务器)接收。例如,与帮助请求相关联的信标和/或标记可以在用户的正在进行游戏应用的一个或多个朋友的一个或多个伴随界面上广播。信标可以被插入到一个或多个雷达测绘中,所述雷达测绘在一个或多个用户界面中示出了游戏世界,每个信标位于与游戏世界中用户的角色的位置相对应的点处。后端服务器可以接收对请求的接受,其中接受可以由用户的朋友生成。在一个实施例中,表示用户的游戏进行的数据被流式传输到与朋友相关联的第三计算设备。也就是说,用户的游戏进行可以经由对应的伴随界面流式传输给朋友。此外,可以建立双向通信会话(例如,经由伴随界面、语音等的消息传递),以便用户和朋友可以进行通信。以这种方式,当用户正在进行游戏应用时,朋友可以帮助实时提供引导。

在其他实现方式中,情境相关信息还可以提供所提供的其他类型的信息以增加用户体验。所述信息可以与用户的游戏进行相关,例如通常是有帮助的、支持性的、有趣的等。例如,所述信息可以提供进行游戏应用的其他用户的位置(例如,其他用户的角色位于游戏世界的雷达测绘内的位置),尤其是那些位于用户角色附近的。情境相关信息可以包括导航指针、有趣的游戏特征及其位置、图标或到其他特征(例如,快照、跳跃游戏实例等)的链接。

在又其他实现方式中,情境相关信息可以包括来自其他用户的消息(例如,包含来自用户的朋友的信息或陈述的蛋滴,包括嘲弄陈述、鼓励的话语等)。为了说明,可以在用户的游戏进行中检测预定义事件。预定义事件可以包括角色到达游戏世界内的位置。在检测时,可以访问来自用户的朋友的先前生成的消息。所述消息可以作为情境相关信息传递给用户。例如,所述消息可以包括来自朋友的嘲弄(例如,“哈哈。我以为你永远不会到达这里!”)。作为另一个示例,所述消息可以包括来自朋友的鼓励词语(例如,“祝贺,你终于成功了!我花了很长时间才到达这里。快速完成下一部分,并在翻转侧碰头(在游戏中)。”)。例如,图4a-4c示出了由朋友生成并在进行游戏应用的用户的伴随界面中传递的消息,如下所述。

在330处,所述方法包括生成伴随界面,所述伴随界面包括基于来自多个游戏进行(例如,快照信息)和来自用户的游戏进行的基于位置的信息的情境相关信息,并且其中生成基于用户的游戏进行中的角色的位置的信息(例如,基于位置的情境相关信息)。也就是说,通常伴随界面提供支持用户的游戏进行的特征,并且使得用户或任何其他观看者能够实时访问通常对在进行游戏应用时的用户有帮助的信息。

例如,在一个实施例中,伴随界面包括显示游戏应用的游戏世界的至少一部分的雷达测绘,其中雷达测绘至少包括位于游戏世界内的对象/特征,以及用户和其他玩家的角色的位置。附加信息也可以包括在雷达测绘内或附近,例如提供增加用户体验的一般信息的消息,或者实现推进用户游戏进行所需的预测任务的解决方案。在先前介绍的示例中,其中在统计上预测并选择解决方案以在伴随界面中呈现给用户,

可以选择至少一个解决方案作为情境相关信息呈现给用户,其中所述解决方案可以包括完成所述任务所必需的一系列步骤。一系列步骤可以进一步与用户的游戏进行中的位置和/或动作相关联,使得第一步骤可以与第一位置/第一动作的组合相关联,第二步骤可以与第二位置/第二动作的组合相关联等。解决方案中的每个步骤还可以与对应的消息相关联,其中每个消息可以在伴随应用中呈现,这取决于用户的游戏进行中所显示的角色的位置和/或动作。例如,系列中的第一步骤可以在伴随界面中的第一消息中呈现。作为说明,第一步骤可以包括角色完成所述任务所需的资产,以及获得这些资产的指令。所述方法包括确定第一步骤在用户的游戏进行中完成,其中完成可以进一步与角色的第一位置和/或角色采取的第一动作相关联。此时,系列中的第二步骤可以在伴随界面中的第二消息中呈现。

在340处,所述方法包括将伴随界面发送到与用户相关联的第二计算设备,以与用户的游戏进行同时进行显示。例如,在一个实施例中,可以存在两个传递信息的通信信道,例如建立用于将表示用户的游戏进行的数据传递给第一计算设备的第一通信信道,以及建立用于传递与伴随界面相关联的数据的第二通信信道(例如,提供界面的传递,以及控制界面的输入命令)。在另一个实施例中,伴随界面可以与表示用户的游戏进行的数据一起被传递,例如通过包括显示游戏进行的第一屏幕和显示伴随界面的第二屏幕的分屏。更具体地,伴随界面是实时生成的,并且与用户的游戏进行同时传递,使得通过界面提供的信息支持用户的游戏进行。以这种方式,可以利用伴随界面提供的信息来增强用户的游戏进行。

图4a-4c示出了由朋友生成并在进行游戏应用的用户的伴随界面中传递的消息,如先前所介绍的。可以在测绘400(例如,雷达测绘)内提供消息,所述测绘400示出了用户的角色在游戏应用的游戏世界中的位置。可以响应于事件触发(例如,用户的角色到达游戏世界中的特定位置)来呈现消息。在图4a-4c所示的每个雷达测绘400中,方向指针450表示角色在游戏世界中的位置,并且位于雷达测绘400的中心。此外,方向指针450还给出角色的方向(例如,角色在游戏世界中的视点)。

具体地,图4a示出了进行游戏应用的用户的游戏进行的测绘400,其中测绘400指示第二用户(例如,用户的朋友)的角色在用户游戏进行中角色的位置的附近。可以在图4a中的窗口430内提供测绘400。第二用户由图标420表示,其指示第二用户在游戏世界中的位置。其他用户的其他角色405和410也在测绘400所示的附近。此外,消息450可以与第二用户相关联,其中所述消息与用户的游戏进行有关。所述消息可以与图标420一起呈现在选择窗口425中。选择窗口可以具有标题441(例如,“来自johndoenavich的注释”),其指示所述消息可从游戏应用的另一个玩家获得。选择窗口425可以包括消息450的预览442。以这种方式,使用户知道消息450可获自来自游戏应用的另一个玩家johndoenavich的选择,其中john可能是所述用户的朋友。

在另一个实施例中,另一个用户的角色不需要在用户的角色附近。在那种情况下,消息450可以以蛋滴的形式呈现。具体地,图4b示出了根据本公开的一个实施例的图4b中介绍的用户的游戏进行的测绘400,并且包括由第二用户johndoenavich留下的基于位置的消息450,其中消息450涉及用户的游戏进行。如图所示,在窗口430中呈现的测绘400包括消息图标421。测绘400内的消息图标421的位置可以指示与在创建消息450时johndoenavich的游戏进行相关联的游戏世界中的角色的位置。所述消息可以与图标421一起呈现在选择窗口425'中,其中选择窗口425'类似于图4a中呈现的选择425。选择窗口可以具有相同的标题441(例如,“来自johndoenavich的注释”),其指示所述消息可从游戏应用的另一个玩家获得。选择窗口425'可以包括消息450的相同预览442。以这种方式,使用户知道消息450可获自来自游戏应用的另一个玩家johndoenavich的选择,其中john可能是用户的朋友。

图4c示出了根据本公开的一个实施例的图4a和图4b中介绍的用户的游戏进行的测绘400,并且包括显示由另一玩家(例如,johndoenavich)留下的基于位置的消息450的窗口435。在分屏中,在另一个玩家的角色不在用户所进行的角色附近并且由方向指针450表示的情况下,在用户致动的选择窗口425'之后,窗口430'包括测绘400,其包括图标421。关于图4a,当另一个玩家的角色在用户所进行的角色附近时,图标421可以用先前在图4a中介绍的角色图标420代替。更特定地,窗口435示出了标题441,并且还包括消息450的整个主体。此外,图标445和446允许用户保存或丢弃消息450。

图5a-5e示出了根据本公开的一个实施例的进行游戏应用的用户的伴随界面590,其中伴随界面促进游戏应用的两个或更多个玩家之间的双向通信。可以在测绘500(例如,雷达测绘)内提供实例化和继续双向通信的机会,所述测绘500示出了用户的角色在游戏应用的游戏世界中的位置。在图5a-4e所示的每个雷达测绘500中,方向指针550表示角色在游戏世界中的位置,并且位于雷达测绘500的中心。此外,方向指针550还给出角色的取向(例如,游戏世界中角色的视点)。

具体地,图5a示出了根据本公开的一个实施例的进行游戏应用的用户的游戏进行的测绘500,其中所述测绘指示另一玩家(例如,在图4a-4c的示例中首次介绍的johndoenavich)当前正在进行游戏应用。可以在图5a中的窗口530内示出测绘。弧560位于由测绘500定义的区域之外,其中弧560示出了游戏世界中的另一玩家的角色相对于由位于测绘500中心的方向箭头550表示的用户的角色的位置的大致方向。弧560在测绘500之外以指示另一个玩家的角色不在用户角色的附近(由测绘500的内部指示),但是现在正在进行游戏应用。其他角色505、510和520被示为在用户的角色附近(由测绘500的内部表示)。在伴随界面590内还提供信息窗口570,并信息窗口通知用户另一个玩家johndoenavich正在进行游戏应用。

图5b示出了根据本公开的一个实施例的图5a中介绍的用户的游戏进行的测绘500,其中所述测绘表示另一个玩家正在接近用户的游戏进行中角色的位置的附近,其中附近由测绘500的内部定义。包括测绘500的窗口350被更新以示出另一个玩家的角色正在接近测绘500的外边界501,但是没有突破边界。具体地,图标561被示出邻近边界501,在测绘500内的位置,其示出了另一个玩家的角色正在接近位于测绘500中心的由方向指针550指示的用户角色的位置的附近的大致方向。图标561可以表示影响范围(例如,由测绘500内的2d圆圈表示),其以游戏世界内的另一玩家的角色的位置为中心。图标561显示为半圆,因为另一个玩家的角色仍然在由测绘500定义的区域之外。随着所述角色越来越接近由测绘500定义的附近,图标561在测绘500内可能变得更大或更暗并开始完成整圆,如测绘500所示。

图5c示出了根据本公开的一个实施例的图5a-5b中介绍的用户的游戏进行的测绘500,其中所述测绘指示另一玩家现在已经到达所述测绘的外边界501。包括测绘500的窗口350被更新以显示第二玩家的角色现在被认为是在用户的角色的附近内,或者在测绘500内。因为图5a-5e中所示的伴随界面590的焦点用于打开用户与游戏应用的另一个玩家之间的通信,所以图标562表示人(例如,johndoenavich作为另一个玩家),并且不一定是由另一个玩家所进行的游戏应用内的角色。

图5d示出了根据本公开的一个实施例的在图5a-5c中介绍的用户的游戏进行的测绘500,并且包括显示关于另一玩家的信息的窗口535。在分屏中,窗口530'包括测绘500,其包括位于外边界501处的图标562。基本上,测绘500在图5c和图5d中都是相同的。另外,窗口535显示关于另一个玩家johndoenavich的信息,并且包括用户名568(“supercooluser88”)、可供另一个用户使用的游戏控制台(例如,sonyps3和sonyps4)、由另一个玩家说出的语言等。重要的是,窗口535包括加入与另一个玩家johndoenavich的对话的邀请,其中邀请被呈现在选择图标570内,当启用时,其实例化用户和另一玩家之间的双向通信。

图5e示出了根据本公开的一个实施例的图5a-5d中介绍的用户的游戏进行的测绘500,并且包括显示用户与另一玩家johndoenavich之间的双向对话的窗口535'。在分屏中,窗口530'包括测绘500,其包括位于外边界501处的图标562。图5e中所示的测绘500类似于图5c和图5d中所示的测绘500,但是可以根据图5e所示的用户和另一个玩家之间的对话期间所花费的持续时间进行更新。具体地,窗口535'示出了在用户和另一个玩家johndoenavich之间的运行对话期间进行的文本输入。在对话中,用户和另一个玩家正试图在游戏世界中将他们的两个角色聚集在一起。

通过在网络上通信的游戏服务器和客户端设备的各种模块的详细描述,根据本公开的一个实施例,现在结合图6的流程图600描述用于实现支持对应用户的游戏进行的基于位置的伴随界面的另一种方法,其中伴随界面包括提供推进游戏进行的辅助的提议。流程图300示出了游戏服务器侧所涉及的操作的过程和数据流,以便生成包含在通过网络传输以在用户的客户端设备上显示的伴随界面内的基于位置的信息,其中客户端设备可以与显示进行游戏应用的用户的游戏进行的另一设备分开。具体地,流程图300的方法可以至少部分地由图1和图2的伴随应用生成器213执行。

在610处,所述方法包括生成关于进行游戏应用的用户的游戏进行中的角色的位置的情境相关信息。例如,游戏应用的实例可以与用户的游戏进行相关联地执行,其中表示游戏进行的数据被传递到用户的第一计算设备。数据通过第一通信信道传递以供用户交互。可以生成和捕获角色的基于位置的信息,例如包括在快照内,其中位置信息是参考与游戏应用相关联的游戏世界确定的。如前所述,每个快照还包括能够生成与视频游戏中的点相对应的环境的信息(例如,元数据、游戏状态数据),使得基于快照,可以在游戏应用的另一个实例中生成对应的场景和环境。也就是说,在对应于与捕获对应快照时的游戏进行状态相对应的跳跃点的游戏应用中的点处开始执行跳跃游戏。

另外,还生成、接收和/或捕获进行游戏应用的其他用户的多个游戏进行的基于位置的信息。也就是说,在其他用户的游戏进行过程中捕获的快照包括与那些游戏进行相关的基于位置的信息,例如元数据/信息、游戏状态等。例如,可以从与多个用户相关联地执行的游戏应用的多个实例中生成多个快照。当正在执行视频游戏的每个实例时,捕获一个或多个快照,其中快照使得能够从对应于所述快照的视频游戏中的点开始执行视频游戏的实例,如前所述。可以分析从多个游戏进行(包括用户的游戏进行)中收集的基于位置的信息,以确定与用户的游戏进行相关的附加情境相关信息,如前所述。例如,通过组合和分析在用户的游戏进行期间生成的基于位置的信息与包含在其他玩家的多个游戏进行的快照中的元数据/信息,可以通过预测引擎在统计上确定推进用户的游戏进行所需的动作/资产。所述情境相关信息是实时生成的,例如,以便向在进行游戏应用时的用户提供进行和/或推进他或她的游戏进行的实时辅助。

在一个实施例中,在所述方法内,确定在用户的游戏进行中要完成的任务。另外,还基于在其他玩家的游戏进行中收集和分析的元数据/信息,并且还基于用户的游戏进行中的角色的位置,来确定被配置为完成任务的解决方案,如前所述。例如,所述解决方案可以包括由角色或用户执行的作为游戏进行内的输入的一系列步骤。

在615处,所述方法包括生成包括情境相关信息的伴随界面。伴随界面提供支持用户的游戏进行的特征,并使用户或任何其他观看者能够实时访问信息。在一个实施例中,伴随界面包括先前介绍的完成任务的提议,其中可能需要完成任务以推进用户的游戏进行。

在620处,方法包括将伴随界面发送到与用户相关联的第二计算设备,以与用户的游戏进行同时显示。例如,可以存在第一通信信道,其被建立以将表示用户的游戏进行的数据传递到第一计算设备,以及第二通信信道,其被建立以传递与伴随界面相关联的数据(例如,提供界面的传递,和控制界面的输入命令)。以这种方式,可以利用伴随界面提供的信息来增强用户的游戏进行。

在625处,所述方法包括接收提议的接受。例如,尽管重复努力,但是用户可能对他或她的游戏进行进程感到沮丧,这可能反映出无法通过游戏应用中的某个点。用户可以选择接收在提议中提供的专家辅助,而不是采取放弃游戏的严格措施(对于进行任何游戏应用的某些玩家来说是已知问题),其中辅助可以包括让专家为用户完成任务。具体地,在630处,所述方法包括基于在执行用户的游戏进行的第一实例期间生成的第一快照在跳跃游戏进行中实例化游戏应用的第二实例。具体地,第一快照包括第一实例的第一游戏状态和用户的游戏进行中的角色的基于位置的信息。第一跳跃游戏进行从对应于第一快照的游戏应用中的点开始,使得快照中的游戏状态数据能够生成对应于游戏应用中的点的环境,包括角色生成和随机种子数据,从而游戏应用从对应于快照的游戏应用中的点(现在标识为跳跃点)开始执行。

以这种方式,专家能够跳跃到用户的游戏进行中。例如,专家能够在跳跃游戏中指导用户的游戏进行中使用的角色,并完成跳跃游戏进行中的任务。另外,在635处,所述方法包括在执行游戏应用的第二实例(执行跳跃游戏)期间生成和/或捕获第二快照,并且包括第二实例的第二游戏状态,其中第二实例由专家控制,并且其中任务在第二快照中捕获的跳跃游戏进行中完成。此时,与跳跃游戏进行相关联的第二快照可以供用户使用。在选择第二快照时,在640处,所述方法包括基于第二快照在第二跳跃游戏进行中实例化游戏应用的第三实例。第三实例由用户控制,其中任务在第二跳跃游戏进行中完成。以这种方式,用户能够继续由游戏应用的第三实例执行的他或她的游戏进行,其中现在游戏进行包括完成任务。

虽然已经提供了特定实施例来演示基于位置的伴随界面的生成和实现,所述伴随界面被配置为支持用户的游戏进行,其中所述伴随界面包括情境相关信息(例如,消息、辅助信息、辅助提议等),其基于用户的游戏进行中的角色的位置生成,但是这些是以示例方式而不是以限制方式来描述的。阅读了本公开的本领域技术人员将认识到落入本公开的精神和范围内的附加的实施例。

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

游戏客户端使用游戏处理服务器(gps)(或简称为“游戏服务器”)来进行单玩家和多玩家视频游戏。通过互联网进行的大多数视频游戏经由与游戏服务器的连接进行操作。通常,游戏使用从玩家收集数据并将所述数据分布到其他玩家的专用服务器应用。这比对等布置更有效且高效,但这需要单独的服务器来托管服务器应用。在另一个实施例中,gps建立玩家与他们各自的游戏设备之间的通信,以便在不依赖于集中式gps的情况下交换信息。

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

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

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

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

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

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

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

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

示出了图7,即示出根据本公开的实施例的头戴式显示器750的组件的图。头戴式显示器750包括用于执行程序指令的处理器700。存储器702提供用于存储目的,并且可以包括易失性和非易失性存储器两者。包括显示器704,其提供用户可以观看的视觉界面。提供电池706作为头戴式显示器750的电源。运动检测模块708可以包括各种类别的运动敏感硬件中的任何一种,诸如磁力计710、加速度计712和陀螺仪714。

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

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

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

摄像机716提供用于捕获真实环境的图像和图像流。头戴式显示器750中可以包括一个以上的摄像机,包括后向式摄像机(当用户正在观看头戴式显示器750的显示器时背离用户)和前向式摄像机(当用户正在观看头戴式显示器750的显示器时指向用户)。另外,可以在头戴式显示器750中包括深度摄像机718,用于感测对象在真实环境中的深度信息。

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

头戴式显示器750包括用于提供音频输出的扬声器720。此外,可以包括传声器722以用于从真实环境捕获音频,所述音频包括来自周围环境的声音、由用户发出的语音等。头戴式显示器750包括用于向用户提供触觉反馈的触觉反馈模块724。在一个实施例中,触觉反馈模块724能够引起头戴式显示器750的移动和/或振动,以便向用户提供触觉反馈。

提供led726作为头戴式显示器750的状态的视觉指示器。例如,led可以指示电池量、电源通电等。提供读卡器728以使得头戴式显示器750能够从存储器卡读取信息和向存储器卡写入信息。包括usb接口730作为接口的一个示例,所述接口用于实现到外围设备的连接或到其他设备(诸如其他便携式设备、计算机等)的连接。在头戴式显示器750的各种实施例中,可以包括各种类别的接口中的任何一个,以实现头戴式显示器750的更大连接性。

包括wi-fi模块732,以用于实现经由无线网络技术到互联网的连接。此外,头戴式显示器750包括蓝牙模块734,以用于实现与其他设备的无线连接。还可以包括通信链路736以便连接到其他设备。在一个实施例中,通信链路736利用红外传输进行无线通信。在其他实施例中,通信链路736可以利用各种无线或有线传输协议中的任何一种来与其他设备通信。

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

包括生物传感器742以使得能够检测来自用户的生理数据。在一个实施例中,生物传感器742包括一个或多个干电极,其用于通过用户的皮肤来检测用户的生物电信号。

已经将头戴式显示器750的前述组件仅作为头戴式显示器750中可以包括的示例性组件进行描述。在本公开的各种实施例中,头戴式显示器750可以包括或可以不包括各种前述组件中的一些。为了便于如本文所述的本公开的各方面的目的,头戴式显示器750的实施例可以另外包括目前未描述但本领域中已知的其他组件。

本领域技术人员将理解,在本公开的各种实施例中,前述的手持式设备可以结合显示器上显示的交互式应用来利用,以提供各种交互功能。本文描述的示例性实施例仅以示例而非限制的方式提供。

图8是根据本公开的各种实施例的游戏系统800的框图。游戏系统800被配置成经由网络815将视频流提供到一个或多个客户端810。游戏系统800通常包括视频服务器系统820和任选的游戏服务器825。视频服务器系统820被配置成以最低的服务质量向一个或多个客户端810提供视频流。例如,视频服务器系统820可以接收改变视频游戏的状态或视频游戏内的视角的游戏命令,并且以最小的滞后时间为客户端810提供反映这种状态改变的更新的视频流。视频服务器系统820可以被配置成以各种各样替代的视频格式提供视频流,包括尚待定义的格式。此外,视频流可以包括被配置用于以各种各样的帧速率呈现给用户的视频帧。典型的帧速率是每秒30帧、每秒60帧以及每秒820帧。尽管在本公开的替代实施例中包括更高或更低的帧速率。

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

客户端810被配置成经由网络815接收视频流。网络815可以是任何类型的通信网络,包括电话网络、互联网、无线网络、电力线网络、局域网、广域网、专用网络等。在典型的实施例中,通过诸如tcp/ip或udp/ip的标准协议来传达视频流。可替代地,通过专有标准来传达视频流。

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

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

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

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

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

视频服务器系统820至少包括视频源830、i/o设备845、处理器850以及非暂时性存储装置855。视频服务器系统820可以包括一个计算设备,或分布在多个计算设备之中。这些计算设备任选地经由通信系统(诸如局域网)连接。

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

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

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

在替代实施例中,视频源830包括视频记录设备,诸如摄像机。这种摄像机可以用于生成可以包括在计算机游戏的视频流中的延迟视频或实况视频。所得的视频流任选地包括渲染的图像和使用静止摄像机或摄影机记录的图像两者。视频源830还可以包括被配置成存储先前记录的将要包括在视频流中的视频的存储设备。视频源830还可以包括被配置成检测对象(例如,人)的运动或定位的运动或定位感测设备,以及被配置成基于所检测的运动和/或定位来确定游戏状态或产生视频的逻辑。

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

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

i/o设备845被配置用于视频服务器系统820以便发送和/或接收信息,所述信息诸如视频、命令、对信息的请求、游戏状态、凝视信息、设备运动、设备位置、用户运动、客户端身份、玩家身份、游戏命令、安全信息、音频等。i/o设备845通常包括通信硬件,诸如网卡或调制解调器。i/o设备845被配置成与游戏服务器825、网络815和/或客户端810通信。

处理器850被配置成执行本文讨论的视频服务器系统820的各种组件内所包括的逻辑,例如软件。例如,处理器850可以编程有软件指令,以便执行视频源830、游戏服务器825和/或客户端限定器860的功能。视频服务器系统820任选地包括处理器850的一个以上的实例。处理器850还可以编程有软件指令,以便执行由视频服务器系统820接收的命令或协调本文讨论的游戏系统800的各种元件的操作。处理器850可以包括一个或多个硬件设备。处理器850是电子处理器。

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

视频服务器系统820任选地还包括客户端限定器860。客户端限定器860被配置用于远程确定客户端(诸如客户端810a或810b)的能力。这些能力可以包括客户端810a本身的能力以及介于客户端810a与视频服务器系统820之间的一个或多个通信信道的能力两者。例如,客户端限定器860可以被配置成测试通过网络815实现的通信信道。

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

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

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

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

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

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

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

尽管以特定次序描述了方法操作,但是应当理解,可以在操作之间执行其他内务处理操作,或可以调整操作使得所述操作在略微不同的时间处出现,或可以在系统中分布,所述系统允许处理操作以与处理相关联的各种间隔出现,条件是叠加操作的处理以期望方式执行。

尽管为了清楚理解的目的,已经相当详细地描述了前述公开内容,但是明显的是,可以在所附权利要求书的范围内实施某些改变和修改。因此,本发明的实施例应当被认为是说明性的而非限制性的,并且本公开的实施例不限于本文给出的细节,而是可以在所附权利要求书的范围和等效物内进行修改。

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