首页> 中国专利> 受缓存影响的视频游戏

受缓存影响的视频游戏

摘要

大致描述了涉及受缓存影响的视频游戏的技术。在一些示例中,如视频游戏的玩家所体验的视频游戏输出的内容可以被适应性地修改,以更高效地使用加载在计算系统缓存中的数字资产。受缓存影响的视频游戏可以通过在视频游戏内相对于不在缓存中的资产(例如,在磁盘上或数据库存储中的资产)增加使用缓存中的数字资产来增加缓存使用。缓存存储的数字资产相对于存储在别处的资产能够被更高效地获取,因此视频游戏性能可以被改善。

著录项

  • 公开/公告号CN105246567A

    专利类型发明专利

  • 公开/公告日2016-01-13

    原文格式PDF

  • 申请/专利权人 英派尔科技开发有限公司;

    申请/专利号CN201380077113.5

  • 发明设计人 E·克鲁格里克;

    申请日2013-05-31

  • 分类号A63F13/00;A63F13/35;A63F13/60;A63F13/795;A63F13/63;A63F13/47;A63F13/33;

  • 代理机构北京市铸成律师事务所;

  • 代理人孟锐

  • 地址 美国特拉华州

  • 入库时间 2023-12-18 13:38:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-09-14

    授权

    授权

  • 2016-02-10

    实质审查的生效 IPC(主分类):A63F13/00 申请日:20130531

    实质审查的生效

  • 2016-01-13

    公开

    公开

说明书

背景技术

除非在此处进行说明,否则此处所描述的材料不是本申请权利要求的 现有技术并且不因包含在该部分中而承认是现有技术。

现今的视频游戏通常是令人印象深刻的视听艺术作品,视频游戏玩家 可能在其中遇到数字资产,例如建筑物、背景、人物、车辆、武器等等。 视频游戏玩家还可以被提供包括为游戏或任务建立场景的短的类似电影 的片段的数字资产。提供给视频游戏玩家的数字资产可能偶尔以高清格式 提供,并且可能进一步以二维(2D)和/或三维(3D)格式提供。提供这 种数字资产使得大量使用计算机存储器资源,例如缓存和磁盘或数据库存 储。

而且,视频游戏越来越多地在网络(例如因特网)上被访问。在玩视 频游戏时,视频游戏内容或者视频游戏内容的部分(包括如上所列举的那 些数字资产)可以被下载和/或流入到游戏玩家的计算设备。在一些情况中, 大型多玩家在线游戏(MMOG)可以容许多个视频游戏玩家在包括相同或 类似组数字资产的环境中与另一个实时或以其他方式互动。

因此,通过示例的方式,在行业中存在改善关于为视频游戏提供数字 资产的技术的持续需求,无论这种游戏是在网络上访问的多玩家游戏还是 其他。

概述

本公开大致描述了关于受缓存影响的视频游戏的技术,包括设备、方 法和计算机可读媒介。缓存存储的数字资产相对于存储在别处(例如磁盘 上或数据库中)的数字资产能够大致更高效地被获取,因此视频游戏性能 可以通过增加缓存存储的数字资产的重复使用率而被改善。

一些示例方法可以包括提供受缓存影响的视频游戏,其适于通过在视 频游戏中相对于不在缓存中的数字资产提高缓存中的数字资产的使用概 率而增加计算系统中数字资产的重复使用率。方法可以包括由计算系统识 别缓存中的一个或多个数字资产;通过相对于不在缓存中的数字资产提高 与缓存中的数字资产相关联的概率来调整视频游戏内数字资产的相对使 用概率;通过使用经调整的数字资产的相对概率以增加缓存中数字资产的 重复使用率来选择数字资产,以包括在视频游戏输出中;以及提供包括所 选数字资产的视频游戏输出用于视频游戏回放。

在一些实施例中,受缓存影响的视频游戏可以包括由网络服务器支持 的多玩家在线游戏,由网络服务器访问的缓存可以包括缓存层,例如在托 管多玩家在线游戏的数据中心中的缓存层。加载在缓存层中用于多玩家在 线游戏的第一玩家的数字资产可以影响多玩家在线游戏中其他玩家的资 产选择概率,例如,增加加载在缓存层中的数字资产被选择以包括在视频 游戏输出中用于多个玩家的概率。而且,一些实施例可以控制视频游戏内 容的多样性,同时还得益于增加的缓存使用,例如通过相对于其他数字资 产提高与一些数字资产相关联的概率,以使被选择以包括在视频游戏输出 中的数字资产多样化。

一些示例方法可以包括执行受缓存影响的视频游戏任务选择。一组任 务输入参数(例如玩家参数、难度参数和/或派别参数)可以被用于生成多 个不同视频游戏任务。多个不同视频游戏任务的缓存性能可以被评分,例 如通过识别由视频游戏任务使用的数字资产、以及确定所识别的数字资产 是否在计算系统缓存中。对于包括多个不同路径的视频游戏任务,可以针 对视频游戏任务内可用的多个不同路径对缓存性能进行评分。缓存性能评 分可以被使用,任选地酌情连同其它标准(例如多样性);以在多个不同 视频游戏任务之中选择视频游戏任务,从而增加缓存中数字资产的重复使 用率。所选视频游戏任务可以被提供用于视频游戏回放。

还公开了计算设备和具有执行本文中描述的各种技术的指令的计算 机可读媒介。示例计算机可读媒介可以包括非暂态计算机可读存储媒介, 其具有可由处理器执行的计算机可执行指令,当该指令被处理器执行时, 使得处理器执行本文中提供的各种方法的任意组合。示例计算设备可以包 括被配置为执行本文中所述方法的处理器、存储器和受缓存影响的视频游 戏技术。

前面的概述仅仅是示例性的,而不意在以任何方式进行限制。通过参 考附图以及下面的详细说明,除了上文所描述的示例性的方案、实施例和 特征之外,另外的方案、实施例和特征将变得清晰可见。

附图说明

通过下面结合附图给出的详细说明和随附的权利要求,本公开的前述 特征以及其它特征将变得更加清晰。应理解的是,这些附图仅描绘了依照 本公开的多个实施例,因此,不应视为对本发明范围的限制,将通过利用 附图结合附加的具体描述和细节对本公开进行说明,在附图中:

图1是示出与数据中心中的网络服务器交互以进行多玩家视频游戏的 示例玩家终端的框图;

图2是示出与数据中心中的视频游戏应用交互以进行多玩家视频游戏 的示例玩家终端的框图;

图3是示出包括受缓存影响的视频游戏的示例网络服务器的框图;

图4是示出包括受缓存影响的视频游戏的示例网络服务器的框图;

图5是作为被配置为提供受缓存影响的视频游戏的计算系统的一个示 例的计算设备的框图;

图6是示出用于提供受缓存影响的视频游戏的示例方法的流程图;以 及

图7是示出用于提供受缓存影响的视频游戏的示例方法的流程图;

以上全部都是根据本公开的至少一些实施例设置。

具体实施方式

在下面的详细说明中,将参考附图,附图构成了详细说明的一部分。 在附图中,除非上下文指出,否则相似的符号通常表示相似的部件。在详 细说明、附图和权利要求中所描述的示例性实施例不意在限制。可以使用 其它实施例,并且可以做出其它改变,而不偏离本文呈现的主题的精神或 范围。将易于理解的是,如本文大致描述且如图中所图示的,本公开的方 案能够以各种不同配置来布置、替代、组合、分离和设计,所有这些都在 本文中明确地构思出。关于本文中基本上任何复数和/或单数术语的使用, 本领域技术人员能够根据上下文和/或应用适当地从复数变换成单数和/或 从单数变换成复数。为了清晰的目的,本文中明确地阐明了各单数/复数的 置换。

本公开大致尤其涉及关于受缓存影响的视频游戏的技术,包括方法、 设备、系统和/或配置在其中的计算机可读媒体。在一些示例中,作为视频 游戏的玩家经历的视频游戏内容输出可以被适应性地修改,以更有效利用 加载在计算系统缓存中的数字资产。受缓存影响的视频游戏可以通过在视 频游戏内相对于不在缓存中的数字资产(例如,在磁盘上或者数据库存储 中的资产)增加使用缓存中的数字资产而增加缓存使用。缓存存储的数字 资产相比于存储在别处的数字资产能够被更高效地获取,因此视频游戏性 能可以得到改善。

本文具体公开两个示例技术方法,应当理解,本领域技术人员得益于 本公开将能够想到所公开的方法的变型和/或组合。在第一技术方法中,受 缓存影响的视频游戏可以通过相对于不在缓存中的数字资产提高使用缓 存中的数字资产的概率而增加缓存使用。在第二技术方法中,受缓存影响 的视频游戏可以通过受缓存影响的视频游戏任务选择而增加缓存使用。这 些技术方法中的每一个在本文中进一步具体描述。所公开的技术方法中的 任一个或两者可以被用于多玩家在线游戏的环境中,或者单机计算设备 (其可以但不必需连接至网络)的环境中。所公开的实施例大致在多玩家 在线游戏的环境下描述;应当理解,本领域技术人员将认识到本公开的教 示可以适于在单机设备的环境中使用。

在根据第一技术方法的实施例中,受缓存影响的视频游戏可以通过相 对于不在缓存中的数字资产提高使用缓存中的数字资产的概率而增加缓 存使用。例如,视频游戏可以包括遇到数字资产,例如,建筑物、背景元 素(例如树或火)、人物、车辆、武器、短电影片段或者其他数字资产。 在这一示例中假定数字资产是人物。在可能遇到多个人物中的任一个的情 形中,视频游戏可以适于相对于不在缓存中的一个不同的人物而使用存在 于缓存中的人物,或者可以相对于不在缓存中的一个不同的人物而采用使 用存在于缓存中的人物的更高概率。

根据第一技术方法的示例方法可以包括通过计算系统识别缓存中的 一个或多个数字资产。当视频游戏包括多玩家在线游戏时,计算系统可以 包括一个或多个网络服务器,并且缓存可以包括可以由网络服务器访问的 缓存层。数字资产可以被加载在缓存层中,用于在由其中多个玩家中的任 一个进行多玩家在线游戏期间使用。例如,视频游戏可以将第一个玩家遇 到的人物加载在缓存层中。缓存层中人物的存在可以被识别,其可以使得 视频游戏增加其他玩家也遇到如本文中所描述的人物的概率。

在缓存中识别数字资产可以通过任何期望的技术进行。在一些实施例 中,直接查询技术可以通过查询缓存来识别缓存中的数字资产,从而获取 与缓存中的数字资产相对应的秘钥。在一些实施例中,缓存跟踪技术可以 维护数据结构,其通过在数字资产被加载在缓存中时更新数据结构、以及 任选地在数字资产老化时从数据结构中移除数字资产、或者使用直接查询 技术不定期更新数据结构而识别缓存中的数字资产。

在数字资产在缓存中被识别之后,实施例可以在视频游戏内调整使用 所识别的数字资产的相对概率。使用在缓存中识别的数字资产的概率可以 相对于不在缓存中的数字资产被提高。将认识到,多种技术可以被用于调 整使用的概率。在一些实施例中,调整数字资产的相对概率可以包括维护 识别数字资产的资产概率表以及数字资产经调整的相对概率。经调整的相 对概率可以包括权重、评分、百分比或者任何其他可调节的变量。在一些 实施例中,概率可以在1和0之间切换,以反映数字资产是否在缓存中。 在其他实施例中,例如在适于将基于概率的缓存与其他参数组合以产生整 体最佳数字资产选择的实施例中,可以实施更复杂的评分,其涉及额外的 概率水平,例如0、25%、50%、75%和100%以及介于之间的任何一个。

在一些实施例中,数字资产的相对概率可以另外被调节,以考虑除缓 存中数字资产的可用性之外的因素。例如,实施例可以另外调节数字资产 的相对概率,以使得提供在视频游戏输出中的数字资产多样化,例如,以 提供更多样且有趣的回放体验。与一些数字资产(例如,不在缓存中的数 字资产、最近不在缓存中的数字资产和/或具有低历史使用率的数字资产) 相关联的概率可以相对于其他数字资产被提高,以使得被选择用于包括在 视频游戏输出的数字资产多样化。这种实施例可以获得增加的缓存重复使 用率,同时维持视频游戏输出中数字资产的多样性。

选择数字资产以包括在数字游戏输出中可以使用数字资产经调整的 相对概率,由此产生缓存中数字资产增加的重复使用率。视频游戏还可以 在数字资产选择中使用超出在缓存中的数字资产的存在或缺乏的任意宽 范围的其他因素。选择数字资产以包括在视频游戏输出中可以使用数字资 产基于缓存的经调整的相对概率结合另外的变量(例如视频游戏任务/等 级、玩家历史、玩家身份以及玩家技能)。

在一些场景下,视频游戏内的数字资产会不是可选择的,即,该视频 游戏可以强迫使用特定数字资产。例如,视频游戏的特定任务或“等级” 可以包含遇到特定人物。这种场景不需要考虑基于缓存的经调整的相对概 率。

在一些场景下,视频游戏内的数字资产可以被约束为有限的数字资产 选项组。例如,视频游戏的特定任务或“等级”可以包含遇到选自一组十 个可用人物的人物,只要玩家之前没有遇到过该人物。这种场景可以使用 基于缓存的经调整的相对概率,以从如按照游戏任务和玩家历史约束条件 确定的该组可用人物中选择人物。玩家身份、玩家技能和/或任何其他约束 条件也可以结合基于缓存的经调整的相对概率被应用在数字资产选择中。

包括所选数字资产的视频游戏输出可以被提供用于视频游戏回放。对 于在线访问的视频游戏(例如多玩家视频游戏),视频游戏输出可以通过 经由网络将视频游戏输出流向或者以其他方式传输至玩家终端来提供。对 于在单机计算设备上进行的视频游戏,视频游戏输出可以例如通过在与计 算设备联接的显示器上显示视频游戏输出来提供。

在根据第二技术方法的实施例中,计算系统可以至少部分通过进行受 缓存影响的视频游戏任务选择处理以选择视频游戏任务从而提供受缓存 影响的视频游戏。受缓存影响的视频游戏任务选择处理可以包括使用一组 任务输入参数,以生成多个不同的视频游戏任务。任务输入参数可以包括 由视频游戏使用以生成任务的任意一个或多个参数。任务输入参数可以包 括例如任务在其中发生的地图、区域或环境参数、难度参数(其可以例如 从玩家优选设置获取)、识别特定玩家或玩家属性的玩家参数、和/或识别 一组玩家或玩家团队或者其属性的派别参数(例如,该派别中玩家的数 量)。任务输入参数可以定制以适合个人视频游戏,并且本公开不限于本 文中公开的示例任务输入参数。

在一些实施例中,一组任务输入参数可以被包括在任务请求中,并且 任务请求可以被提交至程序化任务生成器多次。程序化任务生成器可以适 于使用具有使角色被例如对手、同盟以及地点填充的任务模板。该程序化 任务生成器可以适于基于任务输入参数填充那些角色。作为一个实践示 例,模板选择器可以选择一个模板,例如“玩家将导航至<2个地点>、面 对<2个对手>、与<1个同盟>合作并且实现<1个目标>”,其中地点、对手、 同盟和目标的角色中的每一个可以具有标签和/或与它们关联的难度等级。

程序化任务生成器可以响应于多个任务请求中的每一个生成视频游 戏任务,由此生成多个不同的视频游戏任务。所生成的视频游戏任务可以 通过任务输入参数被约束,但可以通过其他方式彼此不同,例如,通过选 择不同的模板和/或填入具有不同的地点、对手、同盟和目标的所选角色的 模板进而使用不同的数字资产。

实施例可以至少部分地通过识别由视频游戏任务使用的数字资产以 及确定所识别的数字资产是否在缓存中来对多个不同的所生成的视频游 戏任务的缓存性能进行评分。例如,可以生成或获取秘钥清单,以识别由 特定的所生成的任务使用的数字资产。该秘钥清单可以与识别存储在缓存 中的数字资产的缓存表相比较。缓存评分可以包括与已经在缓存中的数字 资产占任务的比例相对应的缓存重复使用率。用于生成缓存评分的其他技 术可以被应用于一些实施例中,并且可以考虑例如已经在缓存中的组合的 数字资产占任务的整体尺寸(例如,千字节(kB)或兆字节(MB))和/ 或已经不在缓存中的组合的数字资产占任务的整体尺寸的因素。

在一些实施例中,对视频游戏任务的缓存性能评分可以包括对视频游 戏任务内多个不同可用路径的缓存性能评分。例如,任务可以具有玩家可 选择进行的多个不同选项(路径)。该玩家沿不同路径中的每一个可能遇 到不同的数字资产。可以针对每个路径识别数字资产,可以针对缓存性能 对每个路径评分,并且多个不同路径的缓存性能评分可以被组合以确定任 务的整体缓存性能评分。基于缓存内容和包括在路径中的数字资产,一些 路径可能具有“良好”缓存评分,其指示已经在缓存中的数字资产的高使 用率(高缓存重复使用率);同时其他路径可能具有“差”缓存评分,其 具有低缓存重复使用率。任务缓存性能评分可以包括对多个不同路径的缓 存性能评分,例如通过对单个任务内的多个不同路径评分,以及例如除以 不同路径的总数以获得对包括在任务中的路径的平均缓存重复使用率指 示。其他实施例可以酌情对任务中的不同路径的缓存性能评分作出其他组 合,以对视频游戏任务的缓存性能作为整体评分。

实施例可以通过使用视频游戏任务的缓存性能评分来从多个不同视 频游戏任务之中选择视频游戏任务。例如,在一些实施例中,具有与缓存 中数字资产的最高重复使用率相对应的最佳缓存性能评分的视频游戏任 务可以被选择。所选择的视频游戏任务可以被提供用于视频游戏回放。

在一些实施例中,缓存性能评分可以与阈值缓存性能评分比较,并且 具有满足或超过阈值的缓存性能评分(例如,基于特定实施方式,在阈值 缓存性能评分之上或者之下)的任意任务可以具有供选择的资格,同时具 有不满足或超过阈值的缓存性能评分的任务可以被丢弃。

在一些实施例中,选择视频游戏任务可以结合缓存性能评分考虑另外 的因素。例如,实施例可以对视频游戏任务的多样性评分。多样性评分可 以与缓存性能评分结合使用,以选择视频游戏任务。多样性可以被测量, 例如,通过将视频游戏任务中的数字资产与视频游戏玩家之前遇到的数字 资产相比较,例如,通过参考玩家历史信息。在一些实施例中,多样性可 以通过将视频游戏任务中的数字资产与在给定时间间隔(例如,时间间隔 包括5分钟、10分钟、15分钟、1小时、或者在多样性测量之前的其他时 间间隔)期间任意视频游戏输出中使用的数字资产相比较。

图1是示出根据本公开的至少一些实施例设置的与数据中心中的网络 服务器交互以进行多玩家视频游戏的示例玩家终端的框图。图1包括玩家 终端101、玩家终端102、网络180以及数据中心110。数据中心110包括 网络服务器111、网络服务器112、示例数据库121,122和123以及示例计 算系统缓存131,132,133。

在图1中,视频游戏玩家可以操作玩家终端101和102,其可以包括 例如家用个人电脑(PC)系统、视频游戏控制台(例如在and/or商标下销售的控制台)、或者移动设 备(例如智能手机和平板设备)。经由网络180(例如因特网),玩家终端 101和102可以将视频游戏输入105发送至数据中心110,并且可以从数据 中心110接收视频游戏输出115。数据中心110可以包括例如适于支持视 频游戏应用的任意组的计算设备。在一些实施例中,数据中心110可以由 视频游戏公司管理,例如尤其是流行多玩家在线视频游戏WORLDOF 的制造商BLIZZARD在一些实施例 中,数据中心110可以包括托管视频游戏应用和其他应用的数据中心,例 如支持AMAZONWEB或其他云计算服务的数据中心。

视频游戏输入105可以包括例如玩家选择和移动/动作信息,视频游戏 输出115可以包括例如数字资产(例如,场景、声音、人物、地图、模型、 车辆等等)以及其他玩家的移动/动作信息。数据中心110中的网络服务器 111和112可以支持适于处理视频游戏输入105的视频游戏应用(在图1 中未显示)、获取数字资产(例如数字资产135和数字资产155)、并且将 数字资产135和155包括在视频游戏输出115中。网络服务器111和112 可以例如从数据库121,122和123中的一个或多个获取数字资产135,例 如,经由数字请求125。网络服务器111和112可以例如从缓存131,132 和133例如经由资产请求145获取数字资产155。从缓存131,132和133 获取数字资产与从数据库121,122和123获取数字资产相比通常更快且成 本更低。因此,本公开的实施例可以适于通过增加将存储在缓存131,132 和133中的数字资产(例如155)包括在视频游戏输出115中而改善缓存 重复使用率。

图2是示出根据本公开的至少一些实施例设置的与数据中心中的视频 游戏应用交互以进行多玩家视频游戏的示例玩家终端的框图。图2提供以 上联系图1描述的架构和交互的另一视图。与图1类似,图2包括玩家终 端101、玩家终端102、网络180以及数据中心110。在图2中,数据中心 110的所示出方面包括负载平衡器211、包括视频游戏应用213的应用层 212、包括区块215的缓存层214以及数据库216。

在图2中,从玩家终端101和102进来的连接201被负载平衡器211 酌情分配至网络服务器(在图2中未示出)。网络服务器可以通过托管应 用(例如视频游戏应用213)支持应用层212。应用213可以通过接收视 频游戏输入105和将视频游戏输出115提供至玩家终端(例如,提供至玩 家终端101)而与玩家终端101和102交互。应用(例如213)可以通过 资产请求/数字资产交互225获取数字资产,其中数字资产可以由应用213 请求,并且所请求的数字资产可以被返回至应用213。资产请求/数字资产 交互225可以例如从包括缓存层214和数据库216的存储器子系统请求数 字资产。如果所请求的数字资产存在于缓存层214中,所请求的数字资产 可以从缓存层214直接返回至应用213,而不需要与数据库216的资产请 求/数字资产交互226。如果所请求的数字资产不存在于缓存层214中,与 数据库216的资产请求/数字资产交互226可以被采用,以从磁盘或其他存 储获取所请求的数字资产,该数字资产可以被返回至应用213。本公开的 实施例可以与本领域中已知或者可能改进的任意存储器子系统架构一起 使用。

缓存层214可以包括一个或多个类型和/或等级的缓存。可以使用包括 多个缓存等级的架构,被称为1级缓存、2级缓存、3级缓存等。一些实 施例可以采用被称为分布式缓存(发音为Mem-Cache-Dee)的缓存架构。 从数据库或存储系统请求的对象可以被加载在分布式缓存中并且随后从 分布式缓存中获取。分布式缓存以分布式方式自动运行,其通过秘钥存储 数据并将内容存储在存储器中用于快速存取。一些实施例可以采用被称为 弹性缓存的缓存架构,例如通过AMAZONWEB可用的缓存。

数据中心架构可以被分成多个层(如图2中所示),并且需求的管理 和那些层之间的交换可以包括优化数据中心110性能的部分。例如,很多 数据中心架构可能受到它们通过从大存储数据库(例如数据库216)读取 数据的响应速度的限制。这一问题可以通过添加缓存层214来解决。缓存 层214可以存储被重复存取的数据,其提供更佳的数据中心110性能以及 减小的数据库216或存储系统负载。从缓存层214的所得通常是重要的。 缓存层214不仅通常快速返回数据、加速命中缓存层214的请求,而且缓 存层214降低数据库216需求,并且由此还加速对不在缓存层214中的数 字资产的请求。

多媒体在线游戏以及尤其是MMOG具有多个架构挑战。这些中的一 个就是,玩家期望快速的加载和响应时间,但这种视频游戏的性质可能包 括许多“随机”元素和事件,其降低对于设计者利用像缓存层214那样的 工具改善性能可用的手段(leverage)。因此,容许来自缓存层214的高性 能手段的视频数据架构可以对视频游戏应用(例如213)的性能具有重大 影响,尤其是在其中视频游戏应用213包括多玩家在线游戏或MMOG的 实施例中。

在一些实施例中,本文中描述的技术可以修改使用数字资产(例如3D 模型、地图、人工智能(AI)和/或人物)的概率,以增加存在于缓存层 214中的数字资产重复使用的概率。实施例可以检验缓存层214并通过改 变用于分配任务和/或以其他方式生成视频游戏输出115的概率提高缓存 层214中数字资产的使用概率,从而使得视频游戏应用213更可能生成任 务和/或具有更大缓存命中比例的其他视频游戏输出115。这与现有的视频 游戏任务生成相比,现有的视频游戏任务生成基于选择或程序化,其不会 基于数字资产是否在缓存层214中而改变数字资产使用的概率。本文呈现 的实施例的优点包括更好地执行还更低成本地操作的视频游戏应用,因为 从缓存层214获取数字资产与从数据库216或其他存储获取数字资产相比 更快且更便宜。

如今的视频游戏中很多具有强烈的画面感并且与很多运动部件的交 互。在桌面和控制平台上支持稳健图像与在网络服务器上相比更加可行, 这是由于高密度媒体(数字多用光盘(DVD))的可用性还有由本地存储 和固态驱动提供的快速读/写速度。然而,稳健图像通常超出甚至快速的本 地存储的极限。而且,随着更多视频游戏被创建为在网络上进行,视频游 戏应用面临的挑战是,为视频游戏玩家提供优良的游戏体验同时最小化等 待数字资产从数据中心中的存储器子系统和网络服务器的其他集合定位 和访问的延迟。

在一些实施例中,视频游戏应用213可以包括任务/请求脚本和模板 库,脚本可以经由类似非玩家人物(NPC)、“代理”系统或者任务在其中 出现的日志的各种机构来给予玩家。这种任务可以包括将玩家带到游戏世 界中的不同地点以面临挑战的指令,并且任务本身可以通过从库中随机选 择或者游戏组件及其相关联的数字资产的伪随机算法装配而以算法方式 生成。尽管这从历史上在利用缓存的方面是架构的弱点,因为随机数字资 产通常需要使得较少利用缓存层,这也能够被看作是一个机会,因为视频 游戏玩家可能对任务接下来可能发生什么不具有特定期望(超出代理或位 置环境),所以概率可能被操控为如本文中所公开的有利于受缓存影响的 视频游戏架构。

在一些实施例中,视频游戏应用213可观测缓存层214的内容,以管 理将视频游戏输出115中的任务和数字资产递送至玩家终端101和102, 从而增大平均缓存使用,由此改善视频游戏应.用213的性能。一旦数字资 产被加载到缓存层214中由此可快速获取并且不需要存储/数据库调用,视 频游戏应用213可以增加那些数字资产的使用概率,例如,通过增加被提 供的特定任务的概率、将缓存层214中的数字资产填入任务中、或者在已 经加载在缓存层214中的地域范围内维持任务。这导致更高性能,因为更 多的视频游戏应用213数据请求从缓存层214读取而不是从存储层(例如, 而不是数据库216)读取,并且由于从存储层请求的整体数据更少因此操 作视频数据应用213的成本更低。

图3是示出根据本公开的至少一些实施例设置的包括受缓存影响的视 频游戏的示例网络服务器的框图。图3包括示例网络服务器111和缓存层 214。网络服务器111包括计算机可读介质300,计算机可读介质300包括 示例视频游戏应用301。视频游戏应用301是图2中视频游戏应用213的 一个示例实施例,其中视频游戏应用301可以大致实施本文所描述的第一 技术方法。视频游戏应用301包括检验缓存内容组件310、提高缓存中资 产概率组件320(下文称提高概率组件320)、资产概率表330、资产选择 组件340、输出生成器350、其他资产选择输入345以及内容修改引擎360。

在图3中,检验缓存内容组件310可以被配置为在缓存层214中识别 数字资产标识(ID)305,例如通过从缓存层214获取数字资产ID305。 提高概率组件320可以适于访问所获得的数字资产ID305,并且在资产概 率表330中进行概率调整315,例如通过调整概率表330中的概率值。资 产概率表330可以包括数字资产ID305以及任选地还包括不在缓存层214 中的数字资产的数字资产ID。在一些实施例中,资产概率表330可以包括 所有或者大致所有可由视频游戏应用301使用的数字资产的数字资产ID, 其中数字资产ID可以基于它们在缓存层214中的可用性被分配有不同的 概率值。

资产选择组件340可以被配置为选择用于包括在视频游戏输出中的数 字资产。资产选择组件340可以被配置为使用从资产概率表330获取的资 产概率325,任选地连同使用其他资产选择输入345,以选择资产ID335。 资产选择组件340可以将资产ID335提供至输出生成器350。输出生成器 350可以生成视频游戏输出115,其酌情包括由资产ID335识别的数字资 产以及其他数字资产和视频游戏内容。输出生成器350可以获取由资产ID 335从缓存层214识别的数字资产345,输出生成器350可以从存储(例 如,从如图1和图2中所示的数据库)获取任意其他数字资产。视频游戏 输出115可以被提供用于回放,例如,通过将视频游戏输出115发送至玩 家终端。在一些实施例中,资产ID335还可以被提供至内容修改引擎360。 内容修改引擎可以被配置为在资产概率表330内做出另外的概率调整355, 例如,以使被选择用于包括在视频游戏输出115中的数字资产随时间多样 化。

在一些实施例中,检验缓存内容组件310可以被配置为检验缓存层214 中的缓存内容。检验缓存内容组件310可以直接查询缓存层214,并且可 以任选地还维护反映缓存层214的相关内容的平行数据结构。提高概率组 件320可以通过修改资产概率表330提高视频游戏输出115内已经在缓存 层214中由数字资产ID305标识的数字资产的发生概率。资产概率表330 可以在字面上将概率与数字资产相关联,或者可以通过改变使用数字资产 的活动或组件的概率来改变数字资产概率。资产概率表330可以由资产选 择组件340和输出生成器350使用,以生成视频游戏输出115,例如通过 提供为算法任务选择或生成提供资产概率325。视频游戏输出115可以如 所示的被递送至玩家终端。

检验缓存内容组件310和提高概率组件320能够以多种方式被实施。 在一些实施例中,缓存层214中的数字资产能够被识别,例如使用针对秘 钥清单的memcache.get。例如,以下代码可以以python语言运行组件310 和320,假定存在称为“all_keys”相关秘钥(以字符串格式)清单,并且 在给定作为参数的秘钥时,其功能为增加和减小资产概率表330中的概率, 分别称为“increase_probability_of_asset”and “decrease_probability_of_asset”:

上述代码在被调用时循环访问所有秘钥(all_keys),取得每个秘钥并检 查以查看其是否在缓存层214中,并且之后在资产概率表330中适当向上 或向下调整相应的资产概率。这种实施例的优点是,在查询缓存层214时 的稳健性是知晓缓存层214的内容的一种稳健方式;其缺点在于,这种检 验在某种程度上加载缓存,虽然其可以通过仅仅不定期地更新检验而被保 持在一个小的程度。

在一些实施例中,检验缓存内容组件310可以适于进行初始缓存检验, 例如,在缓存填入时。每个memcache.add命令可以之后与将所添加的秘钥 的记录添加到字典变量(dictvariable)(为相关的元组提供快速散列查找结 构的字典变量)配对。这种实施例具有的优点是,缓存层214中的数字资 产的识别不需要加载缓存。字典变量可以在缓存中保持关于生存时间 (time-to-live)的信息并适当移除在缓存中到期的项目。在一些实施例中,混 合式版本可以将加载缓存的缓存检验与更新的跟踪变量的使用组合,以延 长检验之间的时间。

在一些实施例中,资产选择组件340和/或输出生成器350可以被配置 为在视频游戏应用301中的“故事引擎(storyengine)”内和/或在其中与 “故事引擎”合作。故事引擎可以考虑各种变量,以通过算法方式生成持 续任务。故事引擎可以接受影响任务或请求生成的变量。这种变量可以包 括例如玩家的派别和身份、玩家技能和特长,以及甚至历史方面,类似玩 家可能交互的非玩家人物。在一些实施例中,故事引擎可以被修改,以适 应本文中所描述的技术,例如,以从资产概率表330接受资产概率325, 其中资产概率325用于调整所生成的任务,以更好地利用缓存层214。例 如,如果特定怪兽的模型和AI已经在缓存层214中,那么能够通过使用 资产概率325而使得与这种模型和AI相遇更常见。例如,如果特定区域 在缓存层214中被充分体现,则任务可以优先被指向或者通过该区域。

在一些实施例中,视频游戏输出115可以包括在由资产选择组件340 进行资产选择之前加载在缓存层214中的数字资产(例如由数字资产ID 305标识的数字资产),以及可能在资产选择之后被加载至缓存层214中的 其他数字资产(例如,为了生成视频游戏输出115的所有方面的目的)。视 频游戏输出115的生成和递送可以因此导致对缓存层214的改变,例如, 在视频游戏玩家在缓存区域之外漫游、冒险脚本命令改变或者随机内容生 成与已经在缓存层214中的数字资产不匹配时。这种改变可以随时间修改 缓存内容,导致通过检验缓存内容组件310的连续操作与数字资产ID305 不同的数字资产ID的最终识别。

缓存层214中新加载的数字资产的存在可以影响随后由检验缓存内容 组件310获取的数字资产ID,由此改变资产概率表330中的概率并且任选 地导致由资产选择组件340选择的数字资产的逐渐周转。在一些实施例中, 内容修改引擎360可以适于调整资产概率表330中的概率,以促使和/或保 证缓存层214中这种数字资产的缓存周转。内容修改引擎360可以例如明 确地随着时间改变资产概率,以确保包括在视频游戏输出115中数字资产 的最低多样化,或者以提供与随时间改变的玩家受众匹配的数字资产。

关于通常的内容修改引擎360,增加在一些场景中可应用的缓存重复 利用率的一个可能的副作用在于,视频游戏应用301可能使视频游戏玩家 重复循环到更小区域并且由于使用从有限缓存层选择的数字资产和任务 的增加的概率而使视频游戏玩家参加数字资产的整体更小选择。大缓存和 大玩家以及任务总量可以产生足够的新缓存层内容,以生成改变缓存内容 的良性循环,然而在一些实施例中,还存在以下风险:缓存层中内容的增 加的使用概率可能导致以降低玩家满意度的方式过分使用有限的内容。由 此,实施例可以结合增加的缓存重复使用率来控制内容多样性。将认识到, 得益于本公开,可以使用用于控制内容多样性的多种技术方法。内容修改 引擎360示出了一个示例方法。

在一些实施例,内容修改引擎360可以通过调节概率表330中的值来 影响资产选择340从而增强内容多样性。例如,内容修改引擎360可以周 期性地调整与概率表330中低概率值数字资产的一部分相关联的概率值, 将其替换为具有高概率值。这种调整可以导致连锁反应,其导致这种新的 高概率值数字资产的使用增加。例如,这种高概率值数字资产可以通过资 产选择340被选择、通过输出生成器350被加载在缓存层214中供使用、 通过检验缓存内容组件210在数字资产ID305中识别、以及通过提高概率 组件320在资产概率表330中被分配更高概率值。

内容修改引擎360可以以任意频率调整概率表330中数字资产的任意 部分的概率值。在一些实施例中,内容修改引擎360可以作出适应性的修 改,以达到缓存层214、数字资产ID305和/或资产ID345的内容随时间 的目标改变率。通过确定随时间的改变率目标,内容修改引擎360可以使 用刷新缓存内容的度量,并且在很多不同的玩家群体上应用。例如,平均 每10分钟5%的改变率将大约每2个小时置换出缓存内容。内容修改引擎 360可以确定任意的缓存改变率目标,例如每个时间间隔1%至99%,间隔 可以是例如每分钟、多个分钟、小时或多个小时的时间段。

内容修改引擎360可以作出适应性的修改,以达到目标改变率,例如, 通过测量缓存层214、数字资产ID305和/或资产ID345中的改变率,以 及基于所测量的改变率选择多个数字资产用于概率值调整。当所测量的改 变率为目标改变率或者超过目标改变率时,例如为每10分钟5%或超过每 10分钟5%,内容修改引擎360可以不作任何动作,因为已经自然发生了 目标改变率。当所测量的改变率低于目标改变率时,例如低于每10分钟 5%,内容修改引擎360可以选择多个数字资产用于概率值调整,所选择的 数量可以随着所测量的改变率与目标改变率之间的差而增长。

在一些实施例中,可以例如通过资产选择组件340的操作促进内容多 样性。资产选择组件340的操作可以与内容修改引擎360的操作结合或者 独立于内容修改引擎360的操作。在一些实施例中,资产选择模块340可 以例如采用“未修改”任务选择/数字资产选择用于任务/数字资产选择的 部分。未修改选择可以不考虑资产概率表330中的概率值,由此影响不在 缓存层214中的而在视频游戏输出115中的数字资产数量的受控制增加。

在一些实施例中,资产选择模块340可以被配置为保持和/或访问由每 个玩家遇到的任务和/或数字资产的记录,并且资产选择模块340可以选择 如通过使用任意期望的时间间隔被确定的玩家还未遇到、或者“最近”还 未遇到的的内容,即使在资产选择导致数字资产的选择具有更差的缓存性 能评分时。在缓存层214中新的数字资产的获取/加载从玩家体验立场而言 可能最高效时,这种实施例可以进行从缓存层214外部选择数字资产,并 且随后在缓存层214中加载所选择的数字资产,同时仍然随时间刷新缓存 层214。

图4是示出根据本公开的至少一些实施例设置的包括受缓存影响的视 频游戏的示例网络服务器的框图。图4包括示例网络服务器111和缓存层 214。网络服务器111包括计算机可读介质400,计算机可读介质400包括 示例视频游戏应用401。视频游戏应用401是图2中视频游戏应用213的 另一示例实施例,其中视频游戏应用401可以大致实施本文描述的第二技 术方法。视频游戏应用401包括任务输入参数405、程序化任务生成器410、 多个任务415、路径评估器420和缓存评分器430。视频游戏应用401还 包括检验缓存内容组件310和缓存表440。视频游戏应用401还包括任务 选择组件450和输出生成器460。

在图4中,检验缓存内容组件310可以被配置为从缓存层214获取数 字资产标识符(ID)305,如参考图3中所描述的。所获取的数字资产ID305 可以被放置在缓存表440中。在一些实施例中,除了数字资产ID305之外 的数字资产ID可以从缓存表440中被移除。在一些实施例中,缓存表440 可以包括例如可供视频游戏应用401使用的所有数字资产的ID以及指示 缓存表440中的哪些数字资产存在于缓存层214中的数据。在一些实施例 中,缓存表440可以以类似于资产概率表330的方式实施,如参考图3所 描述的。

视频游戏应用401可以例如响应于所接收的请求新任务的视频游戏输 入生成任务输入参数。视频游戏应用401可以将任务输入参数405提交至 程序化任务生成器410。在一些实施例中,视频游戏应用401可适用于多 次提交任务输入参数405,以使得程序化任务生成器410生成多个任务 415。在一些实施例中,程序化任务生成器410可以适于响应于包括任务 输入参数405的任务请求自动生成多个任务415。

在一些实施例中,程序化任务生成器410可以被配置为至少部分地根 据填入空格模型操作。程序化任务生成器410可以例如对于对手、同盟和 位置挑选将填入的角色的模板,并且可以选择数字资产以基于特定特性填 入那些角色。例如,模板选择器可以挑选模板,例如“玩家将导航至<2个 地点>、面对<2个对手>、与<1个同盟>合作并且实现<1个目标>”,其中 地点、对手、同盟和目标的角色中的每一个可以具有标签和/或与它们关联 的难度等级。程序化任务生成器410可以在数据库中查询具体填入的地点、 对手、同盟和目标等中的每一个的属性。由于生成程序化任务可以包括轻 量级活动(该轻量级活动包括少量数据库调用),因此方案可以通过生成 多个不同的填入程序化场景(即,多个任务415)并且评价每一个(包括 酌情进行路径评价以考虑可能在任务期间穿过和/或拜访的不同路径或位 置)来提供有效的处理。

在一些实施例中,多个任务415中的每一个可以由路径评价器420处 理。路径评价器420可以被配置为识别在多个任务415中的每个中使用的 数字资产。路径评价器420可以是通过识别数字资产而不管它们在任务内 不同路径中使用的“路径盲”、或者是通过基于每个路径识别任务内的数 字资产的“路径已知”。在一些实施例中,路径评价器420可以被配置为 评估路径(例如从任务中的多个路径选项之中),并且被配置为识别在所 评估的路径中使用的数字资产。

多个任务415中的每一个的数字资产ID425可以被提交至缓存评分器 430。在“路径已知”实施例中,数字资产ID425可以附带有路径信息。 通过确定每个任务的缓存重复使用率,缓存评分器430可以对多个任务415 中的每一个评分,并且可以任选地对任务内的不同路径评分。存在多种方 法可以用于确定缓存重复使用率,并且本公开不限于任意特定方法。通常, 用于确定缓存重复使用率的方法可以确定数字资产ID425中的哪一个与 数字资产ID305重叠。换句话说,用于确定缓存重复使用率的方法可以确 定数字资产ID425中的哪一个存在于缓存层214中。数字资产ID445可 以因此包括例如存在于数字资产ID425和数字资产ID305两者中的数字 资产ID。在一些实施例中,存在于数字资产ID445中的ID数量、数字资 产ID445占数字资产ID425的比例、由数字资产ID445表示的数字资产 的组合尺寸、和/或任意其他度量可以由缓存评分器439生成作为缓存评 分,以评价多个任务415中的每一个的缓存重复使用率。在一些实施例中, 例如,当针对多个任务415的缓存评分不可接受时,缓存评分器430可以 适于重新启动程序化任务生成器410,以使用任务输入参数405生成进一 步的任务,其中进一步的任务可以如上所述的被评分。

在一些实施例中,缓存评分器430可以将任务缓存评分435提供至任 务选择组件450。任务选择组件450可以适于使用任务缓存评分435,任 选地连同使用其他任务选择输入455,以识别所选任务465。任务选择组 件450可以将所选任务465提供至输出生成器460。输出生成器460可以 从缓存层214获取数字资产475,并且还可以从其他存储获取其他数字资 产,以生成包括所选任务465的视频游戏输出115。

图5是示出了根据本公开至少一些实施例设置的作为被配置为提供受 缓存影响的视频游戏的计算系统的一个示例的计算设备的框图。在非常基 本的配置结构501中,计算设备500可以包括一个或多个处理器510和系 统存储器520。存储器总线530可以用于在处理器510与系统存储器520 之间的通信。

取决于所需配置结构,处理器510可以是任何类型,包括但不限于微 处理器(μP)、微控制器(μC)、现场可编程门阵列(FPGA)、数字信号处 理器(DSP)、或者其任意组合。处理器510可以包括一级或多级缓存,诸 如一级缓存511和二级缓存512,处理器核心513以及寄存器514。处理器 核心513可以包括运算逻辑单元(ALU)、浮点单元(FPU)、数字信号处 理核心(DSP核心)、或者其任意组合。存储器控制器515也可以用于处 理器510,或者在一些实施方式中存储器控制器515可以是处理器510的 内部部件。

取决于所需配置结构,系统存储器520可以是任何类型,包括但不限 于易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等等), 或者其任意组合。系统存储器520通常包括操作系统521,一个或多个应 用522以及程序数据525。在一些实施例中,操作系统521可以包括由虚 拟机管理器(VMM)管理的虚拟机。应用522可以包括例如视频游戏应 用301和/视频游戏应用401。程序数据525可以包括资产概率表330、缓 存表440和/或可以分别由应用301和401使用的任意其他数据。

计算设备500可以具有额外的特征或功能,以及额外的接口以促进在 基本配置结构501与任何所需装置和接口之间的通信。例如,总线/接口控 制器540可以用于促进经由存储接口总线541而在基本配置501与一个或 多个数据存储装置550之间的通信。数据存储装置550可以是可移除装置 551,非可移除存储装置552,或者其任意组合。仅列举少数,可移除存储 和非可移除存储装置的示例包括诸如软盘驱动器和硬盘驱动器(HDD)的 磁盘装置,诸如小型盘(CD)驱动器或数字通用盘(DVD)驱动器的光 盘驱动器,固态驱动器(SSD)和磁带驱动器。示例性的计算机存储媒介 可以包括在用于存储信息的任何方法或技术中实施的易失性和非易失性、 可移除和非可移除的媒介,诸如计算机可读指令、数据结构、程序模块或 其他数据。

一级缓存511、二级缓存512、系统存储器520、可移除存储装置551 和非可移除存储装置552是计算机存储媒介的所有示例。计算机存储媒介 包括但不限于RAM、ROM、EEPROM、闪存或其他存储技术,CD-ROM、 数字通用盘(DVD)或其他光学存储装置,磁带盒、磁带、磁盘存储或其 他磁性存储装置,或者可以用于存储所需信息并且可以由计算设备500访 问的任何其他媒介。任何这种计算机存储媒介可以是装置500的一部分。

计算设备500也可以包括用于促进从各个接口装置(例输出接口、外 围接口和通信接口)经由总线/接口控制器540至基本配置501的通信的接 口总线542。示例性输出装置560包括图像处理单元561和音频处理单元 562,其可以配置用以经由一个或多个A/V端口563通信至诸如显示器或 扬声器的各个外部装置。示例性外围接口570可以包括串行接口控制器571 或并行接口控制器572,其可以配置用于经由一个或多个I/O端口573通 过有线或者无限连接而与诸如输入装置(例如键盘、鼠标、手写笔、语音 输入装置、触摸输入装置等等)或其他外围装置(例如打印机、扫描仪等 等)的外部装置通信。其他传统的I/O装置也可以连接诸如鼠标、键盘等 等。示例性通信装置580包括网络控制器581,其可以设置以促进经由一 个或多个通信端口582而在网络通信之上与一个或多个其他计算设备590 通信。

计算机存储媒介可以是通信媒介的一个示例。通信媒介可以通常由计 算机可读指令、数据结构、程序模块或在诸如载波或其他传输机制的已调 制数据信号中的其他数据而实现,并且包括任何信息传输媒介。“已调制 数据信号”可以是具有以在信号中编码信息的方式设置或者改变其一个或 多个特性的信号。借由示例但是非限定的方式,通信媒介可以包括诸如有 线网络或直接有线连接的有线媒介,以及诸如声、射频(RF)、红外(IR) 的无限媒介和其他无限媒介。

计算设备500可以实施为数据中心中的网络服务器或者以其他方式支 持多玩家在线视频游戏。计算设备500还可以被实施为装备有本地视频游 戏应用的PC、智能手机或者平板类型设备,其实施为包括膝上型电脑和非 膝上型电脑配置的个人或商用电脑。

图6是示出根据本公开的至少一些实施例设置的用于提供受缓存影响 的视频游戏的示例方法的流程图。该示例流程图可以包括如方框601-605 所示的视频游戏301的一个或多个操作/模块,其表示了如在计算设备500 中方法、功能模块中执行的操作,和/或如记录在计算机可读介质650上的 指令。

在图6中,方框601-605示出为顺序执行,其中方框601首先执行, 且方框605最后执行。然而,应当认识到,为了方便可以重新设置以适用 于特定实施例并且这些方框或者其一部分在一些实施例中可以同时执行。 还应当认识到的是,在一些示例中,各个方框可以消除、划分为额外方框、 和/或与其他方框组合。

图6示出了示例方法,计算设备500可以通过该示例方法提供受缓存 影响的视频游戏301,该游戏适于通过在视频游戏301内相对于不在缓存 中的数字资产的使用概率提高缓存中的数字资产的使用概率而增加计算 系统缓存中数字资产的重复使用率。例如,通过使用根据图6的方法,与 数字资产不在缓存中存储时相比,在数字资产在缓存中存储时,视听数字 资产(例如,人物)更可能在视频游戏301进行期间出现。

如本文中所述,在一些实施例中,计算设备500可以包括计算系统, 其包括网络服务器,并且计算系统可以适于存取包括可由网络服务器访问 的缓存层的计算系统缓存。视频游戏301可以包括多玩家在线游戏,由视 频游戏301缓存存储的数字资产可以包括模型、人物、地图、任务、建筑 物、场景、车辆、武器、短电影片段和/或其他数字的视听数字资产。计算 设备500和视频游戏301还可以被设置为除了网络服务器之外,在一些实 施例中,例如,计算设备500和视频游戏301可以包括单机计算设备和单 玩家视频游戏。

在方框601“识别缓存中的数字资产”,计算设备500可以识别缓存中 的一个或多个数字资产,例如,在可由网络服务器访问的缓存层。缓存层 中的数字资产可以被加载在缓存层中,用于在多玩家在线游戏进行期间使 用,例如,在将数字资产提供至多玩家在线游戏中的多个玩家中的任一个 中使用。多种方法中的任一种可以被用于识别缓存中的数字资产。例如, 在一些实施例中,方框601可以包括查询缓存,以获取与缓存中的数字资 产相对应的秘钥。在一些实施例中,方框601可以包括通过在数字资产被 加载在缓存中时更新数据结构而维护识别缓存中的数字资产的数据结构。 方框601之后可为方框602。

在方框602“提高在视频游戏中缓存存储的数字资产的使用概率”,计 算设备500可以调整在视频游戏301内(即,在被提供至视频游戏玩家的视 频游戏输出内)数字资产的相对使用概率。数字资产的使用概率可以通过相 对于不在缓存中的数字资产提高与缓存中的数字资产相关联的概率。用于 调整概率的任意方法可以被使用,并且不同的方法可以被定制,以对数字 资产选择具有任意期望的影响,例如,从相对小的影响(受缓存影响的视 频游戏与不受缓存影响的视频游戏之间的差异极小)至相对大的影响(受 缓存影响的视频游戏与不受缓存影响的视频游戏之间的差异显著)。用于 调节数字资产的相对概率的示例方法可以包括维护识别数字资产的资产 概率表,调整资产概率表中的相对概率。方框602之后可为方框603。

在方框603“多样化测量/调整”,计算设备500可以通过相对于其他 数字资产提高与一个或多个数字资产相关联的概率来另外调整数字资产 的相对概率,以使得被选择包括在视频游戏输出中的数字资产多样化。再 次,用于调整概率的任意方法可以被使用,并且不同的方法可以被定制, 以对数字资产选择具有任意期望的影响。如本文描述的,实施例可以例如 通过跟踪提供给每个视频游戏玩家的数字资产和基于每个玩家多样化来 使数字资产多样化,和/或确定缓存周转率的目标。方框603之后可为方框 604。

在方框604“资产选择”,计算设备500可以通过使用由方框602的操 作建立的经调整的数字资产的相对概率,任选地结合方框603作出的调整, 选择数字资产以包括在视频游戏输出中。方框604可以由此以有效增加缓 存中的数字资产重复使用率的方式来选择数字资产。方框604的资产选择 还可以考虑另外的变量,例如玩家历史、玩家身份以及玩家技能。实施例 可以采用任意受缓存影响等级,并且期望不同视频游戏将建立用于合并在 何时和何种程度上受缓存影响的资产选择是合适的不同方法。方框604之 后可为方框605。

在方框605“提供视频游戏输出”,计算设备500可以提供视频游戏输 出,其包括所选的数字资产用于视频游戏回放。例如,计算设备500可以 使视频游戏输出经由网络流向玩家终端。在一些实施例中,例如,在计算 设备500是单机设备时,计算设备500可以通过将输出显示在与计算设备 500联接的显示器上而提供视频游戏输出。

图7是示出根据本公开的至少一些实施例设置的用于提供受缓存影响 的视频游戏的示例方法的流程图。该示例流程图可以包括如方框701-705 所示的视频游戏401的一个或多个操作/模块,其表示了如在计算设备500 中方法、功能模块中执行的操作,和/或如记录在计算机可读介质650上的 指令。

在图7中,方框701-706示出为顺序执行,其中方框701首先执行, 且方框706最后执行。然而,应当认识到,为了方便可以重新设置以适用 于特定实施例并且这些方框或者其一部分在一些实施例中可以同时执行。 还应当认识到的是,在一些示例中,各个方框可以消除、划分为额外方框、 和/或与其他方框组合。

图7示出了示例方法,计算设备500可以通过该示例方法提供受缓存 影响的视频游戏401,例如,通过执行受缓存影响的视频游戏任务选择处 理以选择视频游戏任务。与更少使用存储在缓存中的数字资产的其他任务 相比,根据图7的方法可以选择更多使用存储在计算系统缓存中的数字资 产(例如人物、建筑物、场景等)的任务。

如上参考图6所述,在一些实施例中,计算设备500可以包括计算系 统,其包括网络服务器,并且计算系统可以适于访问包括可由网络服务器 访问的缓存层的计算系统缓存。在图7中,视频游戏401可以包括多玩家 在线游戏,由视频游戏401缓存存储的数字资产可以包括模型、人物、地 图、任务、建筑物、场景、车辆、武器、短电影片段和/或其他数字的视听 数字资产。计算设备500和视频游戏401还可以被设置为除了网络服务器 之外,在一些实施例中,例如,计算设备500和视频游戏401可以包括单 机计算设备和单玩家视频游戏。

在方框701“识别缓存中的数字资产”,计算设备500可以识别缓存(例 如,在可由网络服务器访问的缓存层)中的一个或多个数字资产,如参考图 6中方框601所述。而且,计算设备500可以维护包括最近缓存存储的数 字资产的ID的缓存表。方框701可以以连续、周期性或者以其他方式随 时间重复更新缓存表的方式执行,从而使得缓存表大致保持当前状况。如 参考方框703所述,缓存表可以用于例如对任务缓存性能评分。方框701 之后为方框702。

在方框702“生成多个任务”,计算设备500可以使用一组任务输入参 数,以生成多个不同的视频游戏任务。在一些实施例中,方框702可以包 括将多个任务请求提交至视频游戏401中的程序化任务生成器。在一些实 施例中,多个任务请求中的每一个可以包括相同组的任务输入参数。而且, 生成多个任务和基于缓存性能选择任务的更宽目标可以在一些实施例中 满足,而不必需使用相同组的任务输入参数。例如,一些实施例可以使用 经修改的任务输入参数,用于生成多个不同的视频游戏任务。方框702之 后可为方框703。

在方框703“对任务的缓存性能评分”,计算设备500可以对在方框 702生成的多个不同视频游戏任务的缓存性能评分。在方框703对缓存性 能评分可以根据多种不同技术实现。评分可以至少部分地包括识别由视频 游戏任务使用的数字资产,以及确定所识别的数字资产是否在缓存中。例 如,包括在任务中的获取或生成的数字资产清单可以与在方框701中维护 的缓存表比较,以确定所列数字资产是否在缓存中。一些实施例可以考虑 例如缓存中数字资产的整体数量、百分比或者组合尺寸的因素。一些实施 例可以考虑例如数字资产被加载在其中的缓存等级的缓存类型。一些实施 例可以对视频游戏任务内可用的多个不同路径的缓存性能评分、或者计算 最常见或最像路径、以及对所计算的路径评分。方框703之后可为方框704。

在方框704“对多样化评分”,计算设备500可以对在方框702生成的 多个不同视频游戏任务的多样性评分。例如,在一些实施例中,计算设备 500可以将任务中的数字资产与标识视频游戏玩家之前遇到的数字资产的 玩家历史清单相比较。这里,低数量的匹配将指示更高多样性评分(更高 多样性);而高数量的匹配将指示更低多样性。在另一示例中,计算设备 500可以对任务中每个数字资产分配多样性变量,例如从数字资产之前被 包括在视频游戏输出中开始的时间量,并且多样性变量可以被求和或者以 其他方式组合用于任务,以计算对任务的多样性评分。在方框705的任务 选择期间,除了缓存性能评分之外,多样性评分可以任选地被使用。方框 704之后可为方框705。

在方框705“任务选择”,计算设备500可以从方框702生成的多个不 同的视频游戏任务之中选择视频游戏任务。任务选择可以尤其使用对在方 框702生成的视频游戏任务进行在方框703生成的缓存性能评分,以选择 视频游戏任务。通过使用缓存性能评分选择任务,视频游戏401可以增加 缓存中的数字资产的重复使用率。

缓存性能评分可以用于以多种不同方法进行任务选择。在一些实施例 中,缓存性能评分可以与阈值缓存性能评分相比较。例如,显示阈值重复 使用率的任意缓存性能评分或者更佳评分可以被考虑为可接受用于选择 的候选。在缺少具有阈值重复使用率或更佳的任意任务的情况下,实施例 可以适于返回方框702,以生成另外的任务用于评分。在一些实施例中, 对从方框702生成的多个任务的缓存性能评分可以彼此比较,并且具有“最 佳”缓存性能评分(例如,最高重复使用率)的任务可以被选择。

实施例还可以在方框705任务选择中使用多样性评分。例如,一些实 施例可以识别一组具有至少阈值缓存性能评分的任务,如上所述,并且之 后在所识别的具有最高(或最具多样性)的多样性评分的组内选择任务。 一些实施例可以将缓存性能和多样性评分组合,并且选择具有最佳整体组 合评分的任务。方框705之后可为方框706。

在方框706“提供视频游戏输出”,计算设备500可以提供所选的视频 游戏任务用于视频游戏回放。例如,计算设备500可以使包括所选任务的 视频游戏输出经由网络流至玩家终端。在一些实施例中,例如,在计算设 备500是单机设备时,计算设备500可以通过将输出显示在与计算设备500 联接的显示器上而提供视频游戏输出。

在系统的特征方面的硬件和软件实施方式之间几乎没有差别;硬件或 软件的使用通常(但并非总是,其中在某些上下文中硬件和软件之间的选 择可以变得重要)是表示了成本与效率权衡的设计选择。有在此所述的处 理器和/或系统和/或其他技术(例如硬件、软件和/或固件)可以影响的各 种手段,以及优选的手段将随着其中配置了处理器和/或系统和/或其他技 术的上下文而变化。例如,如果实施者确定速度和精度是极为重要的,实 施者可以主要选取硬件和/或固件手段;如果灵活性是极为重要的,实施者 可以主要选择软件实施方式;或者再次备选地,实施者可以选取硬件、软 件和/或固件的一些组合。

之前详述说明书经由使用结构图、流程图和/或示例列举了设备和/或 工序的各个实施例。在包含一个或多个功能和/或操作的这些结构图、流程 图和/或示例的范围内,本领域技术人员应该理解的是这些结构图、流程图 或示例内的每个功能和/或操作可以由大量硬件、软件、固件或其任何虚拟 组合而单独地和/或共同地实施。在一些实施例中,在此所述的主题的多个 部分可以经由专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字 信号处理器(DSP)或其他集成形式来实施。然而,本领域技术人员将认 识的是,在此所述实施例的一些特征方面全部或者部分地可以等价地实施 在集成电路中,作为在一个或多个计算机上运行的一个或多个计算机程序 (例如作为在一个或多个计算机系统上运行的一个或多个程序),作为在 一个或多个处理器上运行的一个或多个程序(例如作为在一个或多个微处 理器上运行的一个或多个程序),作为固件,或者作为其虚拟的任意组合, 并且设计电路和/或对于软件和或固件编写代码将恰好在受到本公开教导 的本领域技术人员的能力范围内。此外,本领域技术人员将知晓的是在此 所述的主题的机制能够以大量各种形式发布作为程序产品,并且应用在此 所述的主题的示例性实施例而不论用于实际执行发布的信号承载介质的 特定类型。信号承载介质的示例包括但不限于以下:诸如软盘、硬盘驱动 (HDD)、小型盘(CD)、数字通用盘(DVD)、数字磁带、计算机存储器 等等的可记录类型媒介;以及诸如数字和/或模拟通信介质的传输类型媒介 (例如光纤电缆、波导、有线通信链路、无线通信链路等等)。

本领域技术人员将知晓的是在本领域内通常以在此列出的方式描述 装置和/或方法,并且此后使用工程设计实践以将这些所述装置和/或方法 集成至数据处理系统中。也即,在此所述的装置和/或方法的至少一部分可 以经由合理量的试验而集成至数据处理系统中。本领域技术人员将知晓的 是典型的数据处理系统通常包括系统单元外壳、视频显示装置、诸如易失 性和非易失性存储器的存储器、诸如微处理器和数字信号处理器的处理 器、诸如操作系统的计算实体、驱动器、图形用户界面、以及应用程序、 诸如触摸垫或触摸屏的一个或多个交互装置、和/或包括反馈回路以及控制 电动机的控制系统(例如用于感测位置和/或速率的反馈;用于移动和/或 调整部件和/或数量的电动机)的一个或多个。典型的数据处理系统可以采 用任何合适的商业可获得部件实施,诸如在数据计算/通信和/或网络计算/ 通信系统中找到的那些。在此所述主题有时示出了包含在不同其他部件内 或者与其连接的不同部件。应该理解的是,这些所示体系架构仅仅是示例 并且实际上可以实施实现了相同功能的许多其他体系架构。在概念意义 上,用以实现相同功能任何部件设置是有效地“关联的”,以使得实现所 需功能。因此,在此组合以实现特定功能的任何两个部件可以视作相互“关 联”以使得实现所需功能,而不论体系架构或中间部件。同样地,如此关 联的任何两个部件也可以视作相互“可操作地连接”或者“可操作地耦合” 以实现所需功能,并且能够如此关联的任何两个部件也可以视作相互“可 操作地可耦合”以实现所需功能。可操作地可耦合的具体示例包括但不限 于物理配对和/或物理交互作用的部件,和/或无线可交互的和/或无线交互 作用的部件,和/或逻辑交互和/或逻辑可交互的部件。

关于在此基本上任何复数和/或单数术语的使用,当对于语境和/或申 请合适时,本领域技术人员可以从复数转换至单数和/或从单数转换至复 数。为了简明起见在此仅仅列出了各个单数/复数的排列。

本领域技术人员应该理解的是通常在此、特别是在所附权利要求(例 如所附权利要求的实体)中使用的术语通常意在作为“开放式”术语(例 如术语“包括”应该解释为“包括但是不限于”,术语“具有”应该解释 为“至少具有”,术语“包含”应该解释为“包含但是不限于”等等)。本 领域技术人员应该进一步理解的是如果引入的权利要求陈述的具体数目 是有意的,这种意图将明确地陈述在权利要求中,并且在没有这种陈述的 情形下不存在这种意图。例如,作为对理解的帮助,以下所附权利要求可 以包含引入性短语“至少一个”和“一个或多个”的使用以引入权利要求 陈述。然而,这些短语的使用不应构造为暗示通过不定冠词“一”而对权 利要求陈述的引入将包含这些引入的权利要求陈述的任何特定权利要求 限定为仅包含一个这种陈述的实施例,即便当相同权利要求包括引入性短 语“一个或多个”或“至少一个”以及诸如“一”的不定冠词时(例如“一” 应该解释为意味着“至少一个”或“一个或多个”);同理适用于对用于引 入权利要求陈述项的定冠词的使用。此外,即便明确地陈述了引入的权利 要求陈述项的具体数目,本领域技术人员将认识到的是这些陈述应该解释 为意味着至少具有所述数目(例如仅陈述了“两个陈述项”而没有其他修 饰,意味着至少两个陈述项,或者两个或更多陈述项)。此外,在那些其 中使用了惯用类比“A、B和C等等的至少一个”的情形中,通常这种构 造意在使得本领域技术人员将理解这种习惯使用(例如“具有A、B和C 的至少一个的系统”将包括但不限于具有单独A、单独B、单独C、A和 B一起、A和C一起、B和C一起、和/或A、B和C一起等等的系统)。 本领域技术人员将进一步理解的是不论在说明书、权利要求书或附图中, 事实上表示两个或多个备选性项目的任何分离性词语和/或短语应该理解 为预期了包括一个项目、任何项目、或者所有项目的可能性。例如,短语 “A或B”应该理解为包括“A”或“B”或“A和B”的可能性。

尽管在此使用各个方法和系统已经描述并且示出了某些示例性技术, 本领域技术人员应该理解的是可以不脱离请求保护的主题而可以做出多 个其他修改例并且可以替换等价形式。此外,可以不脱离在此所述的中心 概念而做出许多修改例以适用在请求保护主题教导下的特定情形。因此, 请求保护的主题意在并非限定于所述特定示例,而是这些请求保护的主题 也可以包括落入所附权利要求范围内的所有实施方式及其等价形式。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号