自动人工智能(AI)个人助理法的制作方法

文档序号:17287570发布日期:2019-04-03 03:41阅读:587来源:国知局
自动人工智能(AI)个人助理法的制作方法

本公开涉及视频游戏。除了其他方面,本公开描述了方法和系统,所述方法和系统用于监测进行游戏应用的用户的游戏进行,获知游戏应用内可用的各种路径以及这些用户如何沿着这些路径进行,并且基于用户的过去表现、用户的当前表现以及进行游戏应用的其他用户的历史表现来向用户提供辅助。



技术实现要素:

本公开的实施例涉及用于基于与进行游戏应用的其他用户的游戏进行相比的用户的熟练度向进行游戏应用的用户提供游戏辅助的系统和方法。用户熟练度考虑到当前游戏进行期间用户的表现、与一般或特定类型的多个游戏应用相关联的过去游戏进行的用户的历史表现、与一般或特定类型的多个游戏应用相关联的用户的游戏风格。本公开的其他实施例涉及用于基于预测模型向进行多玩家游戏应用的成员的团队提供游戏辅助的系统和方法,所述预测模型基于成员的游戏配置文件、任务集和当前游戏环境来确定所述团队针对对团队成员的任务分配的各种组合完成任务集的成功概率。具体地,游戏配置文件定义了对应成员的游戏熟练度,并且基于当前游戏进行期间用户的表现、与一般或特定类型的多个游戏应用相关联的过去游戏进行的用户的历史表现、与一般或特定类型的多个游戏应用相关联的用户的游戏风格。

在一个实施例中,公开了一种用于辅助游戏进行的方法。所述方法包括监测进行游戏应用的用户的游戏进行,其中用户具有要完成的定义的任务。所述任务可与定义类似配置的任务的任务类型相关联。所述方法还包括基于承担任务类型的多个任务的多个玩家的结果来确定任务类型熟练度规则。所述方法包括基于任务类型熟练度规则来确定用于完成任务的玩家熟练度得分。玩家熟练度得分考虑到当前游戏进行期间用户的表现、与一般或特定类型的多个游戏应用相关联的过去游戏进行的用户的历史表现、与一般或特定类型的多个游戏应用相关联的用户的游戏风格。所述方法包括基于玩家熟练度得分、任务类型熟练度规则以及任务来确定完成所述任务的用户预测成功率。在一些实施例中,还考虑到游戏环境。所述方法包括基于用户预测成功率来确定对用户的建议。

在另一个实施例中,公开了一种用于提供游戏辅助的方法。所述方法包括监测进行多个游戏应用的多个玩家的多个游戏进行。多个游戏进行包括要完成的多个任务,其中多个任务与多个任务类型相关联。所述方法包括注册团队的多个团队成员。所述方法包括确定多个团队成员的与多个任务类型相关联的多个评级。这可包括访问团队成员的用户配置文件以访问游戏熟练度评级。所述方法包括针对来自相关任务集的任务分配的多个组合,基于所述多个评级、任务集以及游戏应用的游戏环境的当前条件来确定所述团队完成所述任务集的多个预测成功率。所述方法包括将所述相关任务集中的任务分配给多个团队成员,使得所述团队完成所述任务集的预测成功率最高。

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

附图说明

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

图1a展示了根据本公开的一个实施例的向进行本地执行的游戏应用的用户提供个人辅助的系统。

图1b展示了根据本公开的一个实施例的向进行在云游戏网络上执行的游戏应用的用户提供个人辅助的系统。

图1c展示了根据本公开的一个实施例的图1a的自动人工智能(ai)个人辅助系统。

图1d展示了根据本公开的一个实施例的用于训练剖析器引擎的示例性神经网络。

图2展示了根据本公开的一个实施例的用于向进行在云游戏网络上执行的游戏应用的用户提供自动ai个人辅助的系统图200。

图3展示了根据本公开的一个实施例的分配给参与多玩家游戏应用的团队成员的任务和子任务。

图4是展示了根据本公开的一个实施例的用于辅助进行游戏应用的用户的游戏进行的方法中的步骤的流程图。

图5是展示了根据本公开的一个实施例的用于基于预测模型将任务分配给参与多玩家游戏应用的团队的团队成员的方法中的步骤的流程图,所述预测模型评估团队基于当执行相同类型的任务时团队成员的过去的表现完成所呈现的任务的成功。

图6是展示了根据本公开的实施例的头戴式显示器的部件的图。

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

具体实施方式

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

一般而言,本公开的各种实施例描述了向在单玩家或多玩家配置中进行游戏应用的用户提供辅助的系统和方法。具体地,用户的游戏进行的输入历史和多个玩家的游戏进行的比较历史被用于对在进行游戏应用时或者在进行一种类型的游戏应用时或者在游戏应用内完成任务或子任务时的用户的熟练度进行评级。此外,参与多玩家游戏应用的团队的团队成员的熟练度可用于预测团队成功的概率(例如,在竞争性游戏竞技场中实现的游戏应用中赢得竞赛,完成游戏应用,并且完成游戏应用内的任务和/或子任务等),考虑到游戏环境的条件,这基于团队成员的角色(例如,分配的任务)和团队构建(例如,团队成员)的兼容性。以所述方式,可为正在进行游戏应用的用户量化用户的效率和/或熟练度,并且效率和/或熟练度可进一步用于平衡用户或团队成员的游戏进行(例如,推荐下一个任务、子任务或动作),并且/或者用于预测用户和/或团队成员的游戏进行中的任务、子任务、动作的满意度和/或完成度。具体地,人工智能可用于连续地检查进行各种类型(例如,变化的游戏数据)的多个游戏应用的多个玩家的游戏进行以获知玩家的游戏风格、技能和习惯,以便确定在以单玩家模式或多玩家模式进行游戏应用时单个用户或团队的团队成员或者团队成功的预测结果。以所述方式,预测模型可适应单玩家模式或多玩家模式中的一个或多个玩家的玩家角色的变化,可适应游戏环境的背景的变化,并且可适应团队的团队成员的表现变化的变化。正是在这种背景下出现本公开的实施例。

因此,本公开的实施例为参与游戏应用的用户提供了更好的游戏体验,因为以游戏辅助的形式提供建议来帮助指导用户,而不是在游戏应用的艰难部分中挣扎或者退出游戏应用。另外,其他实施例提供了上述成就,并且还通过使用从参与游戏应用的用户的游戏进行中收集的分析来提供游戏应用的更有效的开发。提供给游戏开发者的反馈识别用户对游戏应用失去兴趣(例如,通过困难、无聊等)的位置,开发者可使用这些反馈来创建避免这些问题的新的游戏应用。

在整个说明书中,术语游戏应用描述了允许与用户交互的应用。在一种实现方式中,游戏应用包括视频游戏。本公开的实施例向参与游戏应用的用户提供游戏辅助。本公开的其他实施例向与任何类型的应用交互的用户提供辅助,诸如文字处理、计算机辅助设计等。

在整个说明书中,术语用户和玩家可互换使用,并且旨在描述参与游戏应用的人或者任何其他类型的应用。在一些情况下,在游戏云系统210内进行游戏应用的“用户”以及同样在游戏云系统210内单独进行一个或多个游戏应用的一个或多个“玩家”的背景中描述本公开的实施例,其中用户可或可不与其他玩家交互(例如,单玩家模式或多玩家模式)。

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

图1a展示了根据本公开的一个实施例的向进行游戏应用的用户提供个人辅助的系统105a,所述游戏应用在对应用户的本地执行,并且其中后端服务器支持(例如,可通过游戏服务器205访问)出于向进行游戏应用的对应用户提供游戏辅助的目的可提供一个或多个用户的游戏进行数据的分析。

如图1a所示,多个用户115(例如,用户115a、用户115b、......用户115n)正在进行多个游戏应用,其中每个游戏应用在对应用户的对应客户端设备100(例如,游戏控制台)上本地执行。可类似地配置每个客户端设备100,因为执行对应游戏应用的本地执行。例如,用户115a可在对应的客户端设备100上进行第一游戏应用,其中第一游戏应用的实例由对应的游戏名称执行引擎130a来执行。实现第一游戏应用的游戏逻辑117a(例如,可执行代码)被存储在对应的客户端设备100上,并且用于执行第一游戏应用。出于说明的目的,游戏逻辑117a可通过便携式介质(例如,闪存驱动器、光盘等)或通过网络(例如,通过互联网150从游戏提供商下载)传递到对应的客户端设备100。此外,用户115b正在对应的客户端设备100上进行第二游戏应用,其中第二游戏应用的实例由对应的游戏名称执行引擎130a来执行。第二游戏应用可与针对用户115a执行的第一游戏应用相同或是不同的游戏应用。实现第二游戏应用的游戏逻辑117b(例如,可执行代码)如前所述存储在对应的客户端设备100上,并且用于执行第二游戏应用。此外,用户115n正在对应的客户端设备100上进行第n游戏应用,其中第n游戏应用的实例由对应的游戏名称执行引擎130a来执行。第n游戏应用可与第一游戏应用或第二游戏应用相同,或者可为完全不同的游戏应用。实现第三游戏应用的游戏逻辑117c(例如,可执行代码)如前所述存储在对应的客户端设备100上,并且用于执行第n游戏应用。

出于清楚和说明的目的,可参考用户115a来描述本公开的实施例,其中用户115a代表多个用户115中的任何用户。

客户端设备100可从各种类型的输入设备接收输入,诸如游戏控制器、平板计算机、键盘、由视频摄像机捕获的手势、鼠标触摸板等。客户端设备100可为具有至少存储器以及处理器模块的能够通过网络150连接到游戏服务器205的任何类型的计算设备。客户端设备100的一些示例包括个人计算机(pc)、游戏控制台、家庭影院设备、通用计算机、移动计算设备、平板电脑、电话或者可与游戏服务器205交互以提供后端功能(诸如游戏辅助或多玩家会话管理等)的任何其他类型的计算设备。

对应用户的客户端设备100被配置用于生成由本地执行的游戏名称执行引擎130a执行的渲染图像,并且用于在显示器上显示渲染图像。例如,渲染图像可与在用户115a的客户端设备100上执行的第一游戏应用的实例相关联。具体地,对应的客户端设备100被配置成诸如通过用于驱动游戏进行的输入命令与本地执行的对应游戏应用的实例交互以实现对应用户的游戏进行。

在一个实施例中,客户端设备100针对正在进行本地执行的特定游戏应用的对应用户以单玩家模式操作。如以下将更全面地描述的,经由游戏服务器205的后端服务器支持可诸如通过剖析器引擎145向用户提供游戏辅助。

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

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

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

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

此外,经由游戏服务器205的后端服务器支持可诸如通过剖析器引擎145和ai个人助理120提供游戏辅助功能。具体地,游戏云系统210中的剖析器引擎145被配置成向诸如以单玩家模式或多玩家模式参与多个游戏应用的一个或多个用户提供游戏辅助。通常,人工智能(ai)个人助理120与剖析引擎145一起工作以向一个或多个用户提供游戏辅助。在一个实施例中,ai个人助理120被定位到对应用户的客户端设备,因为它出于请求和/或接收个人辅助的目的向用户提供界面。在另一个实施例中,ai个人助理远离对应用户的客户端设备。例如,在一个实施例中,当确定用户正在他或她的游戏进行中低效率地进行和/或挣扎时,向以单玩家模式进行游戏应用的单个玩家提供辅助。当被请求时或者当确定玩家需要辅助时,也可向正在多玩家游戏会话中进行的玩家提供辅助。在另一个实施例中,向以多玩家模式进行游戏应用的成员团队提供辅助,以增加团队将完成目标的成功概率,诸如完成任务或子任务或动作的集合、在竞争性竞技场中对抗其他团队赢得竞赛、完成游戏应用等。

具体地,ai个人助理120被配置成与对应用户115的客户端设备100密切合作以收集关于对应用户115的当前和过去游戏进行的数据。此外,ai个人助理120被配置成提供界面给对应用户115,使得可提供辅助。例如,可通过界面提供由剖析器引擎145生成的建议,其中所述建议在对应用户115的当前游戏进行期间提供辅助。在一个实施例中,ai个人助理120可在对应用户115的客户端设备100内本地地配置。另外,在另一个实施例中,定位的ai个人助理120可被配置成远离客户端设备100并且独立于游戏云系统210。例如,可通过网络150(例如,局域网、互联网等)访问ai个人助理120。在又一个实施例中,ai个人助理120可被配置成远离客户端100在游戏云系统210内。在所述情况下,个人助理120可直接与游戏云系统210内的剖析器引擎145耦合。

如图所示,剖析器引擎145被配置成提供游戏辅助的后端服务器处理。具体地,通过游戏云系统210,剖析器引擎145能够特别是当游戏云系统210正在为多个用户115执行一个或多个游戏应用的实例时收集并分析进行多个游戏应用的多个用户的游戏进行。例如,当对应的用户115a正在进行任何游戏应用时,剖析器引擎145能够收集并分析用户数据。随着时间的推移,剖析器引擎145能够一般地和/或针对特定类型的游戏应用来获知对应用户115a的游戏风格。此外,剖析器引擎145能够基于用户数据、一个或多个游戏应用的游戏规则125以及一个或多个游戏应用的游戏逻辑126来对对应用户115a的熟练度进行评级。在一个实施例中,熟练度针对特定游戏应用给出并且基于参与游戏应用的用户的当前游戏进行、参与游戏应用的用户的过去游戏进行,并且可考虑参与相同类型(例如,游戏风格)的游戏应用的用户的历史游戏进行。在另一个实施例中,熟练度针对一种类型的游戏应用给出并且基于参与游戏应用的用户的游戏进行,并且可考虑参与相同类型(例如,游戏风格)的游戏应用的用户的历史游戏进行。在又一个实施例中,熟练度针对一种或多种类型的游戏应用给出并且基于参与游戏应用的用户的游戏进行,并且可考虑参与相同类型(例如,游戏风格)的游戏应用的用户的历史游戏进行。多个用户115中的每一个的熟练度评级被包括在存储在用户账户199数据库中的对应游戏配置文件中。

因此,剖析器引擎145能够基于对应用户的游戏进行并且与其他用户的熟练度和游戏配置文件比较对对应用户的熟练度进行评级,并且为多个用户115中的每一个构建游戏配置文件。在从多个用户的游戏进行中收集更多数据时,剖析器引擎145能够获知(例如,通过应用深度学习或人工智能技术)应当如何进行特定的游戏应用(通常或在给定等级、子等级或给定问题的背景中)或者成功用户和/或其他不成功用户正如何进行特定的游戏应用(例如,从错误中获知)。如由分析器引擎145获知的应当进行游戏应用的方式将随着时间的推移而发展,因为关于进行所述游戏应用的用户的游戏进行收集了更多数据。以所述方式,特别是当检测到正在进行游戏应用的单个用户115a卡在游戏进行中或者在他或她的游戏进行中低效地进行游戏时,可对用户115a提出建议。此外,用户熟练度评级可用于预测成员团队成功完成目标。可建议以最大化成功完成团队目标的概率并且基于每个团队成员的熟练度评级、所涉及的任务以及可能的游戏环境的方式来分配任务。

图1b展示了根据本公开的一个实施例的向进行在云游戏网络上执行的游戏应用的用户提供个人辅助的系统。在一些实施例中,云游戏网络可为游戏云系统210,所述游戏云系统包括在主机的管理程序上运行的多个虚拟机(vm),其中一个或多个虚拟机被配置成利用主机的管理程序可用的硬件资源来执行游戏处理器模块。

如图所示,游戏云系统210包括游戏服务器205,所述游戏服务器提供对多个交互式视频游戏或游戏应用的访问。游戏服务器205可为云中可用的任何类型的服务器计算设备,并且可配置为在一个或多个主机上执行的一个或多个虚拟机。例如,游戏服务器205可管理支持游戏处理器的虚拟机,所述游戏处理器为特定用户115a实例化游戏应用的实例。因此,与多个虚拟机相关联的游戏服务器205的多个游戏处理器被配置成执行与多个用户115的游戏进行相关联的游戏应用的多个实例。

如图所示,多个用户115经由网络150访问游戏云系统210,其中用户115经由对应的客户端设备100访问网络150。例如,对应用户115a的客户端设备100被配置用于通过诸如互联网的网络150请求访问游戏应用,并且用于渲染由游戏服务器205执行的游戏应用(例如,视频游戏)的实例并将其传送到与对应用户115a相关联的显示设备。例如,用户115a可通过客户端设备100与在游戏服务器205的对应游戏处理器上执行的游戏应用的实例进行交互。更具体地,游戏应用的实例由游戏名称执行引擎130b来执行。实现特定游戏应用的游戏逻辑(例如,可执行代码)可通过数据存储区140存储和访问,并且用于执行游戏应用。在一个实施例中,一个或多个游戏名称执行引擎130b可被配置成支持多个游戏应用的多个实例。因此,如图所示,游戏名称执行引擎130b能够使用多个游戏逻辑177支持多个游戏应用。

客户端设备100可从各种类型的输入设备接收输入,诸如游戏控制器、平板计算机、键盘、由视频摄像机捕获的手势、鼠标、触摸板等。如前所述,客户端设备100可为具有至少存储器以及处理器模块的能够通过网络150连接到游戏服务器205的任何类型的计算设备。客户端设备100的一些示例包括个人计算机(pc)、游戏控制台、家庭影院设备、通用计算机、移动计算设备、平板电脑、电话或者可与游戏服务器205交互以执行游戏应用的实例的任何其他类型的计算设备。

用户115a的客户端设备100被配置用于接收由游戏服务器205递送的渲染图像,并且用于在显示器上显示渲染图像。例如,渲染图像可与在与对应用户115a相关联的游戏服务器205上执行的游戏应用的实例相关联。具体地,客户端设备100被配置成诸如通过用于驱动游戏进行的输入命令与和用户115a的游戏进行相关联的游戏应用的实例交互。

游戏云系统210中的剖析器引擎145被配置成向以单玩家模式或多玩家模式参与一个或多个游戏应用的一个或多个用户提供游戏辅助。具体地,人工智能(ai)个人助理120与剖析器引擎145一起工作以向一个或多个用户提供游戏辅助。例如,在一个实施例中,当确定用户正在他或她的游戏进行中低效率地进行和/或挣扎时,向以单玩家模式或多玩家模式进行游戏应用的单个玩家提供辅助。在另一个实施例中,向以多玩家模式进行游戏应用的成员团队提供辅助,以增加团队将完成目标的成功概率,诸如完成任务或子任务或动作的集合、在竞争性竞技场中对抗其他团队赢得竞赛、完成游戏应用等。

具体地,ai个人助理120被配置成与对应用户115a的客户端设备100密切合作以收集关于对应用户115a的当前和过去游戏进行的数据。此外,ai个人助理120被配置成提供界面给对应用户115a,使得可提供辅助。例如,可通过界面提供由剖析器引擎145生成的建议,其中所述建议在对应用户115a的当前游戏进行期间提供辅助。在一个实施例中,ai个人助理120可在对应用户115a的客户端设备100内本地地配置。另外,在另一个实施例中,定位的ai个人助理120可被配置成远离客户端设备100、独立于游戏云系统210。例如,可通过网络150(例如,局域网、互联网等)访问ai个人助理120。在又一个实施例中,定位的ai个人助理120可被配置成远离客户端100在游戏云系统210内。在所述情况下,个人助理120可直接与游戏云系统210内的剖析器引擎145耦合。

如图所示,剖析器引擎145被配置成提供游戏辅助的后端服务器处理。具体地,通过游戏云系统210,剖析器引擎145能够特别是当游戏云系统210正在为用户115执行游戏应用的实例时收集并分析进行多个游戏应用的多个用户115的游戏进行。例如,当对应的用户115a正在进行任何游戏应用时,剖析器引擎145能够收集并分析用户数据。随着时间的推移,剖析器引擎145能够一般地和/或针对特定类型的游戏应用来获知对应用户115a的游戏风格。此外,剖析器引擎145能够基于用户数据、一个或多个游戏应用的游戏规则125以及一个或多个游戏应用的游戏逻辑126来对对应用户115a的熟练度进行评级。在一个实施例中,用户115a的熟练度针对特定游戏应用给出并且基于参与游戏应用的用户115a的当前游戏进行、参与游戏应用的用户115a的过去游戏进行,并且可考虑参与相同类型(例如,游戏风格)的游戏应用的用户115a的历史游戏进行。在另一个实施例中,用户115a的熟练度针对一种类型的游戏应用给出并且基于参与游戏应用的用户115a的游戏进行,并且可考虑参与相同类型(例如,游戏风格)的游戏应用的用户115a的历史游戏进行。在又一个实施例中,115a的熟练度针对一种或多种类型的游戏应用给出并且基于参与游戏应用的用户115a的游戏进行,并且可考虑参与一种或多种类型(例如,总体游戏风格的证据)的游戏应用的用户115a的历史游戏进行。多个用户115中的每一个的熟练度评级被包括在存储在用户账户199数据库中的对应游戏配置文件中。

因此,剖析器引擎145能够基于对应用户115a的游戏进行并且与其他用户的熟练度和游戏配置文件比较对对应用户115a的熟练度进行评级,并且为用户115a构建游戏配置文件。在从多个用户的游戏进行中收集更多数据时,剖析器引擎145能够获知(例如,通过应用深度学习或人工智能技术)应当如何进行特定的游戏应用(通常或在给定等级、子等级或给定问题的背景中)或者成功用户和/或其他不成功用户正如何进行特定的游戏应用(例如,从错误中获知)。如由剖析器引擎145获知的应当进行游戏应用的方式将随着时间的推移而发展,因为关于进行所述游戏应用的用户的游戏进行收集了更多数据。以所述方式,特别是当检测到正在进行游戏应用的单个用户115a卡在游戏进行中或者在他或她的游戏进行中低效地进行游戏时,可对用户115a提出建议。此外,用户熟练度评级可用于预测成员团队成功完成目标。可建议以最大化成功完成团队目标的概率并且基于每个团队成员的熟练度评级、所涉及的任务以及可能的游戏环境的方式来分配任务。

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

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

图1c展示了根据本公开的一个实施例的自动人工智能(ai)个人辅助系统129,其包括图1a-图1b的剖析器引擎145和ai个人助理120。ai个人助理系统129被配置成基于对应的一个或多个用户与进行游戏应用的其他玩家的游戏进行相比的熟练度来对以单玩家模式或多玩家模式进行游戏应用的一个或多个用户提供游戏辅助。如前所述,如图所示,系统129的ai个人助理120和剖析器引擎145一起工作以提供游戏辅助,并且可一起或远离彼此定位。在一个实施例中,在组合中,每个用户由单独的ai个人助理系统129支持,所述个人助理系统至少包括由后端剖析器引擎145支持的专用ai个人助理120。例如,如图1c所示,用户115s由ai个人助理120a支持,所述ai个人助理与剖析器引擎145的用户游戏进行剖析器145a通信。类似地,另一个用户(未示出)可由ai个人助理120b支持,所述ai个人助理与剖析器引擎145的用户游戏进行剖析器145a通信。又一个用户(未示出)可由ai个人助理120c支持,所述ai个人助理与剖析器引擎145的用户游戏进行剖析器145a通信。

如图所示,ai个人助理系统129被配置用于监测进行游戏应用的用户的游戏进行。具体地,ai个人助理120被配置用于监测用户的游戏进行,并且收集可用于人工智能(ai)目的的用户数据。在游戏进行中,当前用户具有要完成的定义的任务301。如以下图3中进一步描述的,如任务301内的散列标记所指示的,所述任务可包括单个动作或子任务或者多个动作或子任务。另外,任务可不包括动作或子任务。此外,任务由任务类型定义,使得类似的任务可在单个任务类型下进行分组。这些任务可具有类似的目标,执行类似的动作或子任务来完成任务,或者共享其他相似之处。通过在任务类型下对任务进行分组,可分析处理任务类型的任务的用户的游戏进行以获知要采取的适当动作、要避免的动作、游戏进行的最佳风格以及游戏进行的最有效风格,以用于针对特定游戏应用、针对一种类型的游戏应用或者针对一般的游戏应用成功地完成那些任务。

在另一个实施例中,由ai个人助理120监测用户的游戏进行。也就是说,监测进行多个游戏应用的用户的多个游戏进行。游戏进行包括要处理和/或完成的多个任务。监测的每个任务都由对应的任务类型来定义。以所述方式,尤其是在处理当前任务时可分析相同类型的任务以确定用户的游戏风格、游戏习惯和熟练度。所述信息有助于确定在处理特定任务类型的当前任务时用户需要和/或想要的辅助类型(如果有的话)和辅助程度。

因此,对于由客户端设备100的用户115a进行以处理任务或子任务或动作的每个响应,动作状态121、动作度量122和动作结果123由对应的ai个人助理120(本地或远程定位)收集。响应可一般地定义并且包括由用户115a做出的战略决策(例如,现在与后来的攻击、努力地或较差地收集硬币等)、在游戏进行中采取的方针(例如,前往城市1与前往城市2)、进行的选择(装备盔甲1或盔甲2)。另外,响应可被定义成特定于任务,诸如用户115a如何处理动作或子任务(例如,以什么顺序、成功完成子任务等)。

具体地,动作状态121定义在游戏应用的背景或游戏环境中处理的动作、子任务或任务。游戏环境将有助于确定哪种动作类型描述了所述任务。例如,取决于游戏环境,可对某些动作不同地进行分类。当游戏环境放松时(例如,通常从一个位置横贯到另一个位置),所述动作可在第一类型下分类,但是在游戏环境紧张(例如,与头目作战)时,在第二类型下分类。此外,动作度量122由对应的ai个人助理125收集。这些度量与用户115a在处理任务、子任务或动作时所采取的响应相关联。另外,动作结果123由对应的ai个人助理125收集。例如,结果123包括用户115a是否成功完成任务、子任务或动作。另外,结果123可定义用户115a在处理任务、子任务或动作方面执行得有多好(例如,效率)。

收集的数据(例如,动作状态121、动作度量122和动作结果123)被传递到剖析器引擎145以便进行进一步的分析(例如,提供建议)。具体地,收集的数据被传递到用户游戏进行剖析器145a,所述用户游戏进行剖析器在进行游戏应用、一种类型的游戏应用或者一般的游戏应用时,并且特别是在处理特定任务类型的任务时,将为用户115a收集的数据与用户115a的当前和历史表现以及其他用户的历史表现进行比较。以所述方式,用户游戏进行剖析器145a能够为每个用户构建游戏配置文件,如由游戏云系统210内的数据存储区143中存储的对应玩家id所标识的。游戏配置文件基于对应的用户数据、一个或多个游戏应用中的一个或多个游戏应用的游戏规则125,其中游戏规则125存储在数据存储区140中。

在一个实施例中,由一个或多个ai个人助理系统129监测多个用户的多个游戏进行。游戏进行与多个游戏应用相关联。如前所述,游戏进行包括要处理和/或完成的多个任务,其中每个任务由对应的任务类型定义。因此,如前所述,收集的数据可用于为多个用户构建游戏配置文件。此外,任务类型熟练度规则和/或玩家熟练度得分是基于处理任务类型的多个任务的多个玩家的结果(例如,玩家的表现)来确定的。

具体地,游戏配置文件131a-n由用户游戏进行剖析器145创建。出于说明的目的,游戏配置文件可包括用户a在处理多个任务时的历史表现。每个任务可被赋予表现等级。例如,用户115a的游戏配置文件131a示出了用于任务/子任务/动作1的等级1、用于任务/子任务/动作2的等级2、用于任务/子任务/动作3的等级3等等。如下所述,这些等级可用于确定用户115a当处理任何类型的任何任务时的总体熟练度,或者确定用户115a在处理特定类型的任务时的熟练度。

游戏配置文件131a-n中的数据可被反馈回用户游戏进行剖析器145的深度学习引擎146。深度学习引擎146利用人工智能,包括深度学习算法、强化学习或者其他基于人工智能的算法。关于图1d提供了关于深度学习的讨论。以所述方式,可连续地执行对收集数据的分析,以提供用于向用户提供辅助的更新的分析。例如,可升级任务类型熟练度规则以反映新数据。

此外,收集的数据可用于确定用户在处理特定任务类型的任务时的熟练度(例如,用户熟练度得分)。具体地,任务类型进一步通过任务类型熟练度规则定义,其中基于任务类型熟练度规则确定用户的熟练度。基于处理任务类型的多个任务的多个用户的结果来确定规则。也就是说,分析来自处理一个或多个游戏应用中的任务类型的多个任务的多个用户的数据(例如,动作状态121、动作度量122和动作结果123)以生成任务类型熟练度规则。例如,所述规则可定义对所述任务类型的任务的平均响应,其中所述平均响应包括完成任务所花费的平均时间、或者完成任务所需的命令的平均数量等。可将规则调整为更具有侵略性或者不那么具有侵略性,使得更具有侵略性的规则定义了优于一般用户和/或玩家的响应,并且不那么具有侵略性的规则定义了差于一般用户的响应。

在一个实施例中,用户在处理特定任务时的熟练度(例如,用户熟练度得分)可针对特定游戏应用确定并且基于参与游戏应用的用户的当前游戏进行、参与游戏应用的用户的过去游戏进行,并且可考虑参与相同类型(例如,游戏风格)或者多种类型(例如,总体游戏风格)的游戏应用的用户的历史游戏进行。例如,用户熟练度得分可基于用户在遇到用户面临的多个任务时的过去的表现。在另一个实施例中,用户熟练度得分可基于用户在遇到任务时的当前表现,其中仅考虑此特定游戏应用中的用户的游戏进行。在一个实施例中,用户熟练度得分基于用户当遇到任务类型的多个任务时的过去的表现,并且基于用户当遇到当前任务时的当前表现。

在另一个实施例中,熟练度针对一种类型的游戏应用给出并且基于参与游戏应用的用户的游戏进行,并且可考虑参与相同类型(例如,游戏风格)的游戏应用的用户的历史游戏进行。在又一个实施例中,熟练度针对处理一种或多种类型的多个游戏应用的任务类型的任何任务给出并且基于参与游戏应用的用户的游戏进行,并且可考虑参与相同类型(例如,游戏风格)的游戏应用的用户的历史游戏进行。

当确定未来的熟练度得分时,当前的熟练度得分也包括在用户的过去表现中。也就是说,在确定未来的熟练度得分时存储并考虑用户的当前表现。

用户游戏进行剖析器145a的深度学习引擎146能够通过社交网络收集数据141(例如,互联网数据)以识别游戏应用内的问题、游戏进行困难等。例如,用户可向游戏博客发帖询问关于如何击败游戏应用的特定部分的问题。深度学习引擎146可使用所述数据来识别困难任务以构建数据库,包括由多个玩家进行的任务的各种方法以及在处理那些任务时他们的相对成功和/或失败。另外,如前所述,游戏名称处理引擎130的用户游戏进行剖析器145a被配置成分析特定用户的通信142或者用户之间的通信,以用于识别游戏应用内的问题、游戏进行困难等。

此外,用户游戏进行剖析器145a能够基于用户熟练度得分、给定任务类型熟练度规则以及呈现给用户的任务来确定完成任务的用户预测成功率。预测成功率可考虑用户体验的给定游戏环境。

因此,建议引擎135被配置用于基于当前任务的用户预测成功率来确定对用户的建议。也就是说,基于用户的熟练度生成建议,其中所述熟练度可考虑以下各项中的一项或多项:当前游戏进行期间用户的表现、与一般或特定类型的多个游戏应用相关联的过去游戏进行的用户的历史表现、与一般或特定类型的游戏应用相关联的用户的游戏风格。在一个实施例中,所述建议包括有助于完成任务的用户的建议动作或响应。建议引擎135将一个或多个建议传递给在用户客户端设备100上显示的定位的ai个人助理125。例如,所述建议可包括动作意见124。

在一个实施例中,用户游戏进行剖析器145a被配置成向被给予要完成的任务集的成员团队提供辅助。因为用户游戏进行剖析器145a能够确定和/或访问每个团队成员的游戏进行配置文件,所以配置文件中的信息可用于确定如何最好地利用团队成员来成功地完成所述任务集,并且更重要地将任务分配给团队成员,使得以最有效的方式完成任务和/或将任务分配给团队成员,以便最大化完成相关目标(例如,完成任务集、赢得竞赛、完成游戏应用等)的成功概率。也就是说,用户游戏进行剖析器145a被配置成基于预测模型提供游戏辅助,所述预测模型确定团队在完成任务集时的成功概率。针对分配给团队成员的每个任务组合来确定成功概率,其中基于成员的游戏配置文件、任务集以及当前游戏环境来确定成功概率。

图1d展示了根据本公开的一个实施例的用于训练深度学习引擎146以支持ai个人辅助系统120的一个或多个模块的示例性神经网络190。例如,神经网络190表示用于分析由用户游戏进行剖析器145a用于确定多个用户115的游戏进行配置文件的数据集的自动分析工具的示例。具体地,神经网络190的实例可用于训练用户游戏进行剖析器145a以确定多个用户115的游戏进行配置文件和/或在特定用户的游戏进行期间提供建议。

不同类型的神经网络190是可能的。在示例中,神经网络190支持可由深度学习引擎146实现的深度学习。因此,可实现深度神经网络、卷积深度神经网络和/或使用监督或非监督训练的递归神经网络。在另一示例中,神经网络190包括支持强化学习的深度学习网络。例如,神经网络190被设置为支持强化学习算法的马尔可夫决策过程(mdp)。

通常,神经网络190表示互连节点的网络,诸如人工神经网络。每个节点从数据中获知一些信息。可通过互连在节点之间交换知识。对神经网络190的输入激活一组节点。进而,这组节点激活其他节点,从而传播关于输入的知识。在其他节点上重复所述激活过程直到提供输出为止。

如图所示,神经网络190包括节点的分级结构。在最低分级结构水平处,存在输入层191。输入层191包括一组输入节点。这些输入节点中的每一个被映射到用户游戏进行配置文件特征(例如,特定于用户与视频游戏的交互、进行视频游戏的用户、视频游戏等的特征)。

在最高分级结构水平处,存在输出层193。输出层193包括一组输出节点。例如,输出节点表示与用户游戏进行剖析器的一个或多个部件相关的决定。如前所述,输出节点可识别问题、困难任务、完成游戏应用内的特定任务的方法、游戏应用内的其他游戏进行困难,从而预测用户关于特定类型的任务或特定任务的成功率,预测被给予要完成的任务集的成员团队的成功率,确定用户和/或团队的熟练度得分,确定建议,提供辅助等。神经网络190中的节点获知可用于做出这种决策的模型的参数。

隐藏层192存在于输入层191与输出层193之间。隐藏层192包括“n”个数量的隐藏层,其中“n”是大于或等于一的整数。进而,每个隐藏层还包括一组隐藏节点。

输入节点与隐藏节点互连。同样,隐藏节点与输出节点互连。然而,输入节点不直接与输出节点互连。如果存在多个隐藏层,那么输入节点互连到最低隐藏层的隐藏节点。进而,这些隐藏节点互连到下一个隐藏层的隐藏节点,依此类推。下一个最高隐藏层的隐藏节点与输出节点互连。

互连连接两个节点。互连具有可获知的数字权重。(例如,基于用户游戏进行部析器、建议数据集等)使神经网络190适用于输入并且能够获知。

通常,隐藏层192允许在对应于输出节点的所有任务之间共享关于输入节点的知识。为此,通过隐藏层192将变换f应用于输入节点。在示例中,变换f是非线性的。不同的非线性变换f可用,包括例如整流器函数f(x)=max(0,x)。

神经网络190还使用成本函数c来找到最优解。成本函数测量由神经网络190针对给定输入x输出的定义为f(x)的预测与地面实况或目标值y之间的偏差。最优解表示没有解的成本低于最优解的成本的情况。对于这种地面实况标签可用的数据,成本函数的示例是预测和地面实况之间的均方误差。在获知过程期间,神经网络190可使用反向传播算法来采用不同的优化方法来获知最小化成本函数的模型参数。这种优化方法的示例是随机梯度下降。

在示例中,神经网络190的训练数据集来自同一数据域。例如,神经网络190被训练用于特定游戏应用。在所述图示中,数据域包括针对玩家与视频游戏的交互而收集的游戏会话数据。在另一示例中,训练数据集来自不同的数据域。例如,神经网络190被针对一种类型的游戏应用训练。

因此,神经网络190可定义预测模型,所述预测模型用于预测用户关于特定类型的任务或特定任务的基于用户熟练度得分和任务类型熟练度规则的成功率。此外,神经网络190可定义预测模型,所述预测模型用于预测被给予要完成的任务集的成员团队的成功率。基于这些预测结果,可向用户或成员团队提供一个或多个建议。

图2展示了根据本公开的实施例的用于使得能够访问和进行存储在游戏云系统(gcs)210中的视频游戏的系统图200。一般而言,游戏云系统gcs210可为在网络220上操作以支持多个用户的云计算系统。此外,gcs210被配置成使用游戏名称处理引擎130和定位的ai个人助理120向以单玩家模式或多玩家模式进行游戏应用的一个或多个用户提供辅助。此外,gcs210的游戏名称处理引擎130和一个或多个ai个人助理120(本地或远程)被配置成向成员团队提供游戏辅助,使得向成员分配任务或子任务或动作以增加成功完成目标(例如,完成任务集、赢得游戏竞赛、赢得游戏应用等)的概率。具体地,系统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可被配置成管理成员用户的游戏配置文件。例如,成员信息可由账户管理器274用于认证目的。例如,账户管理器274可用于更新和管理与成员用户相关的用户信息。此外,成员用户拥有的游戏名称可由账户管理器274管理。以所述方式,存储在数据存储区264中的视频游戏可用于拥有那些视频游戏的任何成员用户。

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

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

在一个实施例中,用户设备130被配置成与gcs210通信以使得用户u0能够进行视频游戏或游戏应用。例如,用户u0可经由游戏选择引擎275(例如,通过游戏名称等)选择在视频游戏数据存储区264中可用的视频游戏。以所述方式,选择的视频游戏被启用并加载以便由游戏服务器205在gcs210上执行。在一个实施例中,游戏进行主要在gcs210中执行,使得用户设备230将从gcs210接收游戏视频帧235的流,并且用于驱动游戏进行的用户输入命令236被发送回gcs210。来自流式游戏进行的接收的视频帧235在用户设备230的显示器232中显示。

在一个实施例中,在用户u0选择要进行的可用游戏名称之后,用户u0可通过游戏会话管理器285发起针对所选择的游戏名称的游戏会话。游戏会话管理器285首先访问数据存储区140中的游戏状态存储区,以检索用户u0(针对所选择的游戏)进行的最后一个会话的保存的游戏状态(如果有的话),使得用户u0可从先前的游戏进行停止点重新开始游戏进行。一旦识别出恢复或起始点,游戏会话管理器285就可通知游戏处理器210中的游戏执行引擎执行来自游戏代码存储区261的选择的游戏名称的游戏代码。在发起游戏会话之后,游戏会话管理器285可经由网络接口290将游戏视频帧235(即,流式视频数据)传送到用户设备,例如用户设备230。在另一个实施例中,游戏会话管理器285可独立于图1a的多玩家会话控制器121或与其结合来提供多玩家会话管理。

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

在游戏进行期间,游戏会话管理器285可与游戏处理器204通信以传递和获得用于影响视频游戏的对应游戏进行的结果的用户输入命令236。由用户u0输入的输入命令236可从用户设备230发送到gcs210的游戏会话管理器285。输入命令236,包括用于驱动游戏进行的输入命令,可包括用户交互输入,诸如包括标签内容(例如,文本、图像、视频记录剪辑等)。游戏输入命令以及任何用户游戏进行度量(用户进行游戏的时间长度等)可存储在游戏网络用户存储区165中。选择与视频游戏的游戏进行相关的信息可用于使得多个特征可用于用户。例如,在各实施例中,与参与视频游戏或者游戏应用的类型或者一般游戏应用的对应用户的熟练度有关的数据通常可被收集并存储在游戏网络用户存储区265中。因为游戏进行是由多个用户在gcs210上执行的,所以可为每个用户生成游戏配置文件。以所述方式,可将用户的游戏进行与多个用户的游戏进行进行比较,以确定用户正在进行视频游戏进行得有多好,以及用户是否可受益于由游戏名称处理引擎130和定位的ai个人助理120提供的建议。对在单玩家模式或多玩家模式下的用户的辅助可通过促进有效的游戏进行并且通过帮助用户通过游戏应用的较难和/或不可能的部分来增强进行游戏应用或视频游戏的用户的体验。在用户u0的情况下,用户设备提供接口,所述接口允许用户u0从后端服务器(例如,在用户u0的游戏进行期间提供游戏辅助的gcs210的游戏名称处理引擎130)接收通信。

图3展示了根据本公开的一个实施例的可分配给参与多玩家游戏应用的团队成员的任务和子任务。如前所述,基于预测模型来确定任务分配以提供完成给予团队成员的任务集的最高成功概率。例如,所述团队由三名成员组成:用户a、用户b和用户c。任务a已分配给用户a,其中任务a包括n个子任务。每个子任务可包括一个或多个动作。例如,任务a的子任务1包括三个动作(如由三个散列标记所示),子任务2包括一个动作,子任务3包括4个动作,......,并且子任务n包括3个动作。如图所示,子任务可包括一个或多个动作,但一些子任务可不包括动作。此外,任务b已被分配给用户b,其中任务b包括2个子任务:任务b的子任务1包括1个动作,并且任务b的子任务2包括5个动作。另外,任务c已分配给用户c,其中任务c包括n个子任务。例如,任务c的子任务1包括3个动作,子任务2包括1个动作,子任务3包括3个动作,......,并且子任务n包括2个动作。

尽管图3示出了分配给团队的团队成员的任务和子任务,但是分配给团队的一个成员的任务可代表呈现给参与游戏应用的用户的任务,其中如先前在本公开的实施例中描述的,可基于用户的熟练度向用户提供游戏辅助。

根据本公开的一个实施例,利用在网络上通信的游戏服务器和客户端设备的各种模块的详细描述,现在关于图4的流程图400描述用于提供游戏辅助的方法。流程图400展示了人工个人助理系统129所涉及的操作的过程和数据流,以用于辅助参与游戏应用的用户的游戏进行的目的。

在410处,所述方法包括监测进行游戏应用的用户的游戏进行,其中用户具有要完成的定义的任务,并且其中所述任务由任务类型定义。以所述方式,与用户的表现有关的数据是在游戏应用的当前游戏进行期间。随着时间的推移并且对用户的多个游戏进行进行监测,可收集并随后分析与用户在与同一游戏应用、一般或特定类型的多个游戏应用相关联的过去的游戏进行期间的历史表现、与一般或特定类型的多个游戏应用相关联的用户的游戏风格相关的数据。对于历史游戏进行集合,监测用户的多个游戏进行,其中用户参与特定游戏应用和/或多个游戏应用。游戏进行包括要完成的多个任务,每个任务由任务类型定义。可定义另一多个任务,每个任务由另一个任务类型定义。

在一个实施例中,任务类型限于任务本身,其可进一步标识为任务类型。因此,收集和分析的数据基于用户和/或其他玩家对用户和其他玩家的游戏应用的游戏进行中呈现的特定任务的响应。在另一个实施例中,任务类型包括在游戏应用的多个游戏进行中遇到的任务。在又一个实施例中,任务类型包括在多个游戏应用的多个游戏进行中遇到的任务。

在420处,所述方法包括基于处理任务类型的多个任务的多个玩家的结果来确定针对所述任务类型的任务类型熟练度规则。例如,监测玩家的游戏进行,其中玩家正在进行多个游戏应用。游戏进行包括要完成的多个任务,每个任务由任务类型定义。以所述方式,任务类型熟练度规则定义了在处理所呈现的任务时用户应当如何行动或响应的基线。任务类型熟练度规则可特定于所呈现的任务,或者通常可应用于一种任务类型的任务。任务类型熟练度规则可定义玩家熟练度得分或阈值得分。

在430处,所述方法包括基于任务类型熟练度规则来确定用于完成任务的用户熟练度得分。用户熟练度得分可基于用户在多个游戏应用中遇到多个任务时的过去表现,其中任务属于所述任务类型。在一个实施例中,用户熟练度得分可基于用户在遇到任务时的当前表现,使得仅考虑来自游戏应用的游戏进行的数据。另外,在其他实施例中,用户熟练度得分可基于用户在遇到任务时的当前表现以及用户在遇到多个游戏应用中的相同任务类型的多个任务时的过去表现的组合。

在440处,所述方法包括基于用户熟练度得分、任务类型熟练度规则以及任务来确定完成所述任务的用户预测成功率。还可考虑游戏环境。例如,如果用户的熟练度差,并且任务非常困难,那么预测的成功率可能低(例如,低于25%);然而,如果用户的熟练度高,特别是如果任务难度适中,那么预测成功率可能高(例如,高于70%)。

在450处,所述方法包括基于用户预测成功率来确定对用户的建议。同样,遵循以上被呈现困难任务的具有差熟练度的用户的示例,可向用户呈现建议。所述建议可包括关于用户在处理任务、子任务或动作时应当如何响应的意见。例如,所述建议可包括对促进完成任务的命令或动作集的建议响应。所述建议是根据用户的熟练度定制的。例如,给予具有低熟练度的用户的建议可为非常详细的(例如,逐步指令),而给予具有高熟练度的用户的建议可能非常有限或者非常简短,其目的仅在于给予用户提示,或者不包括建议。

此外,给出的建议可由从用户接收的敏感度因数控制,其中敏感度因数指示用户是否有兴趣接收建议,并且可在极其热情、漠不关心、轻度反对、极端敌对等的范围内。例如,如果用户高度敏感,那么给予很少建议或者不给予建议。另一方面,如果用户不敏感,这表示希望接收建议,那么可向请求用户给予更多建议。

图5是展示了根据本公开的一个实施例的用于基于预测模型将任务分配给参与多玩家游戏应用的团队的团队成员的方法中的步骤的流程图,所述预测模型评估团队基于当执行相同类型的任务时团队成员的过去的表现完成所呈现的任务的成功。也就是说,游戏辅助被提供给在多玩家游戏环境中进行游戏应用的成员团队。基于预测模型生成和提供辅助,所述预测模型确定团队针对给团队成员的任务分配的各种组合来完成任务集的成功概率。预测模型考虑了成员的游戏配置文件、任务集和当前游戏环境。

在510处,所述方法包括监测进行多个游戏应用的多个玩家的多个游戏进行。多个游戏进行包括要完成的多个任务,并且多个任务与多个任务类型相关联。以所述方式,可基于与游戏应用或者多个游戏应用相关联的对应玩家的表现、对应玩家的历史表现来生成玩家的游戏配置文件。另外,可为玩家确定游戏风格。此外,可基于其他玩家在遇到一种任务类型的任务或者一种或多种任务类型的任务时的表现来确定玩家的熟练度评级。

在520处,所述方法包括注册团队的多个团队成员。可访问每个团队成员的游戏配置文件。

在530处,所述方法包括确定多个团队成员的与多个任务类型相关联的多个评级。也就是说,确定团队成员的用户熟练度评级。这些评级可用于基于哪个成员最适合完成某项任务来为团队成员分配任务。

在540处,所述方法包括基于多个评级将相关任务集的任务分配给多个团队成员,使得所述团队完成所述任务集的预测成功率最高。具体地,针对来自相关任务集的多个任务分配组合,确定团队完成所述任务集的预测成功率。基于多个评级、任务集以及游戏应用的游戏环境的当前条件来确定预测率。随后,可以选定的组合将所述相关任务集中的任务分配给团队成员,使得团队完成所述任务集的对应的预测成功率最高。

当所述任务集改变或更新时,可执行所述过程。例如,可将所述相关任务集重新定义为要完成的第二相关任务集,其中所述任务集根据多个事件(例如,失去团队成员、经过一段时间、完成来自任务集的任务、添加新的团队成员等)而改变。可基于多个评级根据所选择的组合将第二多个任务中的任务分配给多个团队成员,使得所述团队完成所述任务集的预测成功率最高。

虽然已提供展示了向以单玩家模式或多玩家模式参与游戏应用的一个或多个用户提供游戏辅助的特定实施例,但是这些实施例是通过示例而非限制的方式描述的。阅读了本公开的本领域技术人员将认识到落入本公开的精神和范围内的另外的实施例。

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

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

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

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

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

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

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

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

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

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

图6是展示了根据本公开的实施例示出的头戴式显示器650的部件的图。头戴式显示器650包括用于执行程序指令的处理器600。提供存储器602用于存储目的,并且可包括易失性存储器和非易失性存储器两者。包括显示器604,所述显示器提供用户可观看的可视界面。提供电池606作为头戴式显示器650的电源。运动检测模块608可包括诸如磁力计610、加速度计612和陀螺仪614的各种运动敏感硬件中的任何一种。

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

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

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

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

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

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

提供led626作为头戴式显示器650的状态的视觉指示器。例如,led可指示电池电量、上电等。提供读卡器628以使得头戴式显示器650能够从存储器卡读取信息并且将信息写入存储器卡。包括usb接口630作为用于实现外围设备的连接或者与其他设备(诸如其他便携式设备、计算机等)的连接的接口的一个示例。在头戴式显示器650的各种实施例中,可包括各种类型的接口中的任何一种,以实现头戴式显示器650的更大连接性。

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

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

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

头戴式显示器650的前述部件已仅仅被描述为可包括在头戴式显示器650中的示例性部件。在本公开的各种实施例中,头戴式显示器650可包括或可不包括上述各种部件中的一些部件。出于有助于本文所述的本公开的各方面的目的,头戴式显示器650的实施例可另外包括当前未描述但在本领域中已知的其他部件。

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

图7是根据本公开的各种实施例的游戏系统700的框图。游戏系统700被配置成经由网络715向一个或多个客户端710提供视频流。游戏系统700通常包括视频服务器系统720以及可选的游戏服务器725。视频服务器系统720被配置成以最小的服务质量向一个或多个客户端710提供视频流。例如,视频服务器系统720可接收改变视频游戏内的状态或视点的游戏命令,并且以最小的滞后时间向客户端710提供反映所述状态改变的更新的视频流。视频服务器系统720可被配置成以各种替代视频格式(包括尚未定义的格式)提供视频流。此外,视频流可包括被配置用于以各种帧速率呈现给用户的视频帧。典型的帧速率是每秒30帧、每秒60帧和每秒720帧。但是在本公开的替代实施例中包括更高或更低的帧速率。

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

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

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

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

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

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

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

视频服务器系统720至少包括视频源730、i/o设备745、处理器750和非暂时性存储装置755。视频服务器系统720可包括一个计算设备或者分布在多个计算设备中。这些计算设备可选地经由诸如局域网的通信系统连接。

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

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

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

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

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

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

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

处理器750被配置成执行逻辑,例如包括在本文讨论的视频服务器系统720的各种部件内的软件。例如,处理器750可用软件指令编程以便执行视频源730、游戏服务器725和/或客户端限定器760的功能。视频服务器系统720可选地包括处理器750的多于一个实例。处理器750还可用软件指令编程,以便执行由视频服务器系统720接收的命令,或者协调本文讨论的游戏系统700的各种元件的操作。处理器750可包括一个或多个硬件设备。处理器750是电子处理器。

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

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

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

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

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

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

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

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

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

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

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

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