CN105246567A - 受缓存影响的视频游戏 - Google Patents
受缓存影响的视频游戏 Download PDFInfo
- Publication number
- CN105246567A CN105246567A CN201380077113.5A CN201380077113A CN105246567A CN 105246567 A CN105246567 A CN 105246567A CN 201380077113 A CN201380077113 A CN 201380077113A CN 105246567 A CN105246567 A CN 105246567A
- Authority
- CN
- China
- Prior art keywords
- video
- game
- digital asset
- buffer memory
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/33—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
- A63F13/47—Controlling the progress of the video game involving branching, e.g. choosing one of several possible scenarios at a given point in time
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/63—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
- A63F13/795—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for finding other players; for building a team; for providing a buddy list
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
大致描述了涉及受缓存影响的视频游戏的技术。在一些示例中,如视频游戏的玩家所体验的视频游戏输出的内容可以被适应性地修改,以更高效地使用加载在计算系统缓存中的数字资产。受缓存影响的视频游戏可以通过在视频游戏内相对于不在缓存中的资产(例如,在磁盘上或数据库存储中的资产)增加使用缓存中的数字资产来增加缓存使用。缓存存储的数字资产相对于存储在别处的资产能够被更高效地获取,因此视频游戏性能可以被改善。
Description
背景技术
除非在此处进行说明,否则此处所描述的材料不是本申请权利要求的现有技术并且不因包含在该部分中而承认是现有技术。
现今的视频游戏通常是令人印象深刻的视听艺术作品,视频游戏玩家可能在其中遇到数字资产,例如建筑物、背景、人物、车辆、武器等等。视频游戏玩家还可以被提供包括为游戏或任务建立场景的短的类似电影的片段的数字资产。提供给视频游戏玩家的数字资产可能偶尔以高清格式提供,并且可能进一步以二维(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可以获取由资产ID335从缓存层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中的数字资产(例如由数字资产ID305标识的数字资产),以及可能在资产选择之后被加载至缓存层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”的可能性。
尽管在此使用各个方法和系统已经描述并且示出了某些示例性技术,本领域技术人员应该理解的是可以不脱离请求保护的主题而可以做出多个其他修改例并且可以替换等价形式。此外,可以不脱离在此所述的中心概念而做出许多修改例以适用在请求保护主题教导下的特定情形。因此,请求保护的主题意在并非限定于所述特定示例,而是这些请求保护的主题也可以包括落入所附权利要求范围内的所有实施方式及其等价形式。
Claims (60)
1.一种用于由计算系统提供受缓存影响的视频游戏的方法,所述受缓存影响的视频游戏适于通过在所述视频游戏内相对于不在缓存中的数字资产提高在缓存中的数字资产的使用概率来增加计算系统缓存中的数字资产的重复使用率,所述方法包括:
由所述计算系统识别计算系统缓存中的一个或多个数字资产;
由所述计算系统通过相对于不在缓存中的数字资产提高与缓存中的所述一个或多个数字资产相关联的概率来调整所述视频游戏内数字资产的相对使用概率;
由所述计算系统通过使用增加缓存中的数字资产的重复使用率的数字资产的经调整的相对概率来选择数字资产以包括在视频游戏输出中;以及
由所述计算系统提供包括所选数字资产的所述视频游戏输出用于视频游戏回放。
2.根据权利要求1所述的方法,其中所述数字资产包括模型、人物、地图或任务中的一个或多个。
3.根据权利要求2所述的方法,其中所述视频游戏包括多玩家在线游戏。
4.根据权利要求3所述的方法,其中所述计算系统包括一个或多个网络服务器,并且其中所述缓存包括由所述一个或多个网络服务器可访问的缓存层。
5.根据权利要求4所述的方法,其中所述缓存层中的一个或多个数字资产被加载在所述缓存层中供在所述多玩家在线游戏进行期间使用。
6.根据权利要求1所述的方法,其中识别缓存中的数字资产包括查询所述缓存以获取与所述缓存中的数字资产相对应的秘钥。
7.根据权利要求6所述的方法,进一步包括通过在数字资产被加载在所述缓存时更新数据结构来维护识别所述缓存中的数字资产的数据结构。
8.根据权利要求1所述的方法,进一步包括通过相对于其他数字资产提高与一个或多个数字资产相关联的概率来另外调整数字资产的相对概率以使被选择包括在视频游戏输出中的数字资产多样化。
9.根据权利要求1所述的方法,其中调整数字资产的相对概率包括维护识别数字资产以及数字资产的经调整的相对概率的资产概率表。
10.根据权利要求1所述的方法,其中选择数字资产以包括在视频游戏输出中结合选自包括玩家历史、玩家身份和玩家技能的组的一个或多个额外变量来使用数字资产的经调整的相对概率,以选择数字资产。
11.一种非暂态计算机可读存储介质,其具有由处理器可执行的计算机可执行指令,当由所述处理器执行时,所述指令实施受缓存影响的视频游戏,所述受缓存影响的视频游戏适于通过在所述视频游戏内相对于不在缓存中的数字资产提高在缓存中的数字资产的使用概率来增加计算系统缓存中数字资产的重复使用率,其中所述受缓存影响的视频游戏使得所述处理器:
识别计算系统缓存中的一个或多个数字资产;
通过相对于不在缓存中的数字资产提高与缓存中的所述一个或多个数字资产相关联的概率来调整所述视频游戏内数字资产的相对使用概率;
通过使用增加缓存中的数字资产的重复使用率的数字资产的经调整的相对概率来选择数字资产以包括在视频游戏输出中;以及
提供包括所选数字资产的所述视频游戏输出用于视频游戏回放。
12.根据权利要求11所述的非暂态计算机可读存储介质,其中所述数字资产包括模型、人物、地图或任务中的一个或多个。
13.根据权利要求12所述的非暂态计算机可读存储介质,其中所述视频游戏包括多玩家在线游戏。
14.根据权利要求13所述的非暂态计算机可读存储介质,其中所述缓存包括由一个或多个网络服务器可访问的缓存层。
15.根据权利要求14所述的非暂态计算机可读存储介质,其中所述缓存层中的一个或多个数字资产被加载在所述缓存层中供在所述多玩家在线游戏进行期间使用。
16.根据权利要求11所述的非暂态计算机可读存储介质,其中识别缓存中的数字资产包括查询所述缓存以获取与所述缓存中的数字资产相对应的秘钥。
17.根据权利要求16所述的非暂态计算机可读存储介质,进一步包括使得所述处理器通过在数字资产被加载在所述缓存时更新数据结构来维护识别所述缓存中的数字资产的数据结构的指令。
18.根据权利要求11所述的非暂态计算机可读存储介质,进一步包括使得所述处理器通过相对于其他数字资产提高与一个或多个数字资产相关联的概率来另外调整数字资产的相对概率以使被选择包括在视频游戏输出中的数字资产多样化的指令。
19.根据权利要求11所述的非暂态计算机可读存储介质,其中调整数字资产的相对概率包括维护识别数字资产以及数字资产的经调整的相对概率的资产概率表。
20.根据权利要求11所述的非暂态计算机可读存储介质,其中选择数字资产以包括在视频游戏输出中结合选自包括玩家历史、玩家身份和玩家技能的组的一个或多个额外变量来使用数字资产的经调整的相对概率,以选择数字资产。
21.一种被配置为提供受缓存影响的视频游戏的计算系统,所述受缓存影响的视频游戏适于通过在所述视频游戏内相对于不在缓存中的数字资产提高在缓存中的数字资产的使用概率来增加计算系统缓存中的数字资产的重复使用率,所述计算系统包括:
处理器;
存储器;以及
受缓存影响的视频游戏,其被存储在所述存储器中并且由所述处理器可执行,其中所述受缓存影响的视频游戏被配置为:
识别计算系统缓存中的一个或多个数字资产;
通过相对于不在缓存中的数字资产提高与缓存中的所述一个或多个数字资产相关联的概率来调整所述视频游戏内数字资产的相对使用概率;
通过使用增加缓存中的数字资产的重复使用率的数字资产的经调整的相对概率来选择数字资产以包括在视频游戏输出中;以及
提供包括所选数字资产的所述视频游戏输出用于视频游戏回放。
22.根据权利要求21所述的计算系统,其中所述数字资产包括模型、人物、地图或任务中的一个或多个。
23.根据权利要求22所述的计算系统,其中所述视频游戏包括多玩家在线游戏。
24.根据权利要求23所述的计算系统,其中所述计算系统包括一个或多个网络服务器,并且其中所述缓存包括由所述一个或多个网络服务器可访问的缓存层。
25.根据权利要求24所述的计算系统,其中所述缓存层中的一个或多个数字资产被加载在所述缓存层中供在所述多玩家在线游戏进行期间使用。
26.根据权利要求21所述的计算系统,其中识别缓存中的数字资产包括查询所述缓存以获取与所述缓存中的数字资产相对应的秘钥。
27.根据权利要求26所述的非计算系统,其中所述受缓存影响的视频游戏被配置为通过在数字资产被加载在所述缓存时更新数据结构来维护识别所述缓存中的数字资产的数据结构。
28.根据权利要求21所述的计算系统,其中所述受缓存影响的视频游戏被配置为通过相对于其他数字资产提高与一个或多个数字资产相关联的概率来另外调整数字资产的相对概率以使被选择包括在视频游戏输出中的数字资产多样化。
29.根据权利要求21所述的计算系统,其中调整数字资产的相对概率包括维护识别数字资产以及数字资产的经调整的相对概率的资产概率表。
30.根据权利要求21所述的计算系统,其中选择数字资产以包括在视频游戏输出中结合选自包括玩家历史、玩家身份和玩家技能的组的一个或多个额外变量来使用数字资产的经调整的相对概率,以选择数字资产。
31.一种用于由计算系统提供受缓存影响的视频游戏的方法,所述方法包括:
由计算系统执行受缓存影响的视频游戏任务选择处理以选择视频游戏任务,所述受缓存影响的视频游戏任务选择处理包括:
使用一组任务输入参数以生成多个不同视频游戏任务;
至少部分地通过识别由所述视频游戏任务使用的数字资产以及确定所识别的数字资产是否在计算系统缓存中来对所述多个不同视频游戏任务的缓存性能评分;以及
从所述多个不同视频游戏任务之中选择视频游戏任务,其中选择视频游戏任务使用所述视频游戏任务的缓存性能评分以选择视频游戏任务从而增加所述缓存中的数字资产的重复使用率;以及
由计算系统提供所选视频游戏任务用于视频游戏回放。
32.根据权利要求31所述的方法,其中所述组任务输入参数包括玩家参数、难度参数或派别参数中的一个或多个。
33.根据权利要求31所述的方法,其中所述多个不同视频游戏任务通过向程序化任务生成器提交多个任务请求而生成。
34.根据权利要求31所述的方法,其中对所述多个不同视频游戏任务的缓存性能评分包括对所述视频游戏任务中的至少一个内的可用的多个不同路径的缓存性能评分。
35.根据权利要求31所述的方法,进一步包括对多个不同视频游戏任务的多样性评分,并且其中选择视频游戏任务使用所述视频游戏任务的多样性评分以选择所述视频游戏任务。
36.根据权利要求31所述的方法,其中选择视频游戏任务通过将所述缓存性能评分与阈值缓存性能评分相比较来使用所述视频游戏任务的缓存性能评分以选择所述视频游戏任务。
37.根据权利要求31所述的方法,其中选择视频游戏任务通过将所述缓存性能评分与其他视频游戏任务的缓存性能评分相比较来使用所述视频游戏任务的缓存性能评分以选择所述视频游戏任务。
38.根据权利要求31所述的方法,其中所述数字资产包括在所述视频游戏任务中使用的模型、人物或地图中的一个或多个。
39.根据权利要求31所述的方法,其中所述视频游戏包括多玩家在线游戏。
40.根据权利要求39所述的方法,其中所述计算系统包括一个或多个网络服务器,并且其中所述缓存包括由所述一个或多个网络服务器可访问的缓存层。
41.一种非暂态计算机可读存储介质,其具有由处理器可执行的计算机可执行指令,当由所述处理器执行时,所述指令实施受缓存影响的视频游戏,其使得所述处理器:
执行受缓存影响的视频游戏任务选择处理以选择视频游戏任务,所述受缓存影响的视频游戏任务选择处理包括:
使用一组任务输入参数以生成多个不同视频游戏任务;
至少部分地通过识别由所述视频游戏任务使用的数字资产以及确定所识别的数字资产是否在计算系统缓存中来对所述多个不同视频游戏任务的缓存性能评分;以及
从所述多个不同视频游戏任务之中选择视频游戏任务,其中选择视频游戏任务使用所述视频游戏任务的缓存性能评分以选择视频游戏任务从而增加所述缓存中的数字资产的重复使用率;以及
提供所选视频游戏任务用于视频游戏回放。
42.根据权利要求41所述的非暂态计算机可读存储介质,其中所述组任务输入参数包括玩家参数、难度参数或派别参数中的一个或多个。
43.根据权利要求41所述的非暂态计算机可读存储介质,其中所述多个不同视频游戏任务通过向程序化任务生成器提交多个任务请求而生成。
44.根据权利要求41所述的非暂态计算机可读存储介质,其中对所述多个不同视频游戏任务的缓存性能评分包括对所述视频游戏任务中的至少一个内的可用的多个不同路径的缓存性能评分。
45.根据权利要求41所述的非暂态计算机可读存储介质,其中所述受缓存影响的视频游戏的指令指示所述处理器对多个不同视频游戏任务的多样性评分,并且其中选择视频游戏任务使用所述视频游戏任务的多样性评分以选择所述视频游戏任务。
46.根据权利要求41所述的非暂态计算机可读存储介质,其中选择视频游戏任务通过将所述缓存性能评分与阈值缓存性能评分相比较来使用所述视频游戏任务的缓存性能评分以选择所述视频游戏任务。
47.根据权利要求41所述的非暂态计算机可读存储介质,其中选择视频游戏任务通过将所述缓存性能评分与其他视频游戏任务的缓存性能评分相比较来使用所述视频游戏任务的缓存性能评分以选择所述视频游戏任务。
48.根据权利要求41所述的非暂态计算机可读存储介质,其中所述数字资产包括在所述视频游戏任务中使用的模型、人物或地图中的一个或多个。
49.根据权利要求41所述的非暂态计算机可读存储介质,其中所述视频游戏包括多玩家在线游戏。
50.根据权利要求49所述的非暂态计算机可读存储介质,其中所述缓存包括由一个或多个网络服务器可访问的缓存层。
51.一种被配置为提供受缓存影响的视频游戏的计算系统,其包括:
处理器;
存储器;以及
受缓存影响的视频游戏,其被存储在所述存储器中并且由所述处理器可执行,其中所述受缓存影响的视频游戏被配置为:
执行受缓存影响的视频游戏任务选择处理以选择视频游戏任务,所述受缓存影响的视频游戏任务选择处理包括:
使用一组任务输入参数以生成多个不同视频游戏任务;
至少部分地通过识别由所述视频游戏任务使用的数字资产以及确定所识别的数字资产是否在计算系统缓存中来对所述多个不同视频游戏任务的缓存性能评分;以及
从所述多个不同视频游戏任务之中选择视频游戏任务,其中选择视频游戏任务使用所述视频游戏任务的缓存性能评分以选择视频游戏任务从而增加所述缓存中的数字资产的重复使用率;以及
提供所选视频游戏任务用于视频游戏回放。
52.根据权利要求51所述的计算系统,其中所述组任务输入参数包括玩家参数、难度参数或派别参数中的一个或多个。
53.根据权利要求51所述的计算系统,其中所述多个不同视频游戏任务通过向程序化任务生成器提交多个任务请求而生成。
54.根据权利要求51所述的计算系统,其中对所述多个不同视频游戏任务的缓存性能评分包括对所述视频游戏任务中的至少一个内的可用的多个不同路径的缓存性能评分。
55.根据权利要求51所述的计算系统,其中受缓存影响的视频游戏使得所述处理器对多个不同视频游戏任务的多样性评分,并且其中选择视频游戏任务使用所述视频游戏任务的多样性评分以选择所述视频游戏任务。
56.根据权利要求51所述的计算系统,其中选择视频游戏任务通过将所述缓存性能评分与阈值缓存性能评分相比较来使用所述视频游戏任务的缓存性能评分以选择所述视频游戏任务。
57.根据权利要求51所述的计算系统,其中选择视频游戏任务通过将所述缓存性能评分与其他视频游戏任务的缓存性能评分相比较来使用所述视频游戏任务的缓存性能评分以选择所述视频游戏任务。
58.根据权利要求51所述的计算系统,其中所述数字资产包括在所述视频游戏任务中使用的模型、人物或地图中的一个或多个。
59.根据权利要求51所述的计算系统,其中所述视频游戏包括多玩家在线游戏。
60.根据权利要求59所述的计算系统,其中所述计算系统包括一个或多个网络服务器,并且其中所述缓存包括由所述一个或多个网络服务器可访问的缓存层。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/043575 WO2014193403A1 (en) | 2013-05-31 | 2013-05-31 | Cache-influenced video games |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105246567A true CN105246567A (zh) | 2016-01-13 |
CN105246567B CN105246567B (zh) | 2016-09-14 |
Family
ID=51985730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380077113.5A Expired - Fee Related CN105246567B (zh) | 2013-05-31 | 2013-05-31 | 受缓存影响的视频游戏 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9079108B2 (zh) |
CN (1) | CN105246567B (zh) |
WO (1) | WO2014193403A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113474781A (zh) * | 2020-01-17 | 2021-10-01 | 辉达公司 | 用于游戏事件的可扩展词典 |
CN114761097A (zh) * | 2019-11-18 | 2022-07-15 | 索尼互动娱乐股份有限公司 | 视频游戏中的帮助图的基于服务器的生成 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9682315B1 (en) * | 2011-09-07 | 2017-06-20 | Zynga Inc. | Social surfacing and messaging interactions |
US9079108B2 (en) | 2013-05-31 | 2015-07-14 | Empire Technology Development Llc | Cache-influenced video games |
US20150165310A1 (en) * | 2013-12-17 | 2015-06-18 | Microsoft Corporation | Dynamic story driven gameworld creation |
US10154072B2 (en) * | 2014-09-17 | 2018-12-11 | Microsoft Technology Licensing, Llc | Intelligent streaming of media content |
TWI729288B (zh) | 2017-04-21 | 2021-06-01 | 美商時美媒體公司 | 用於藉由預測運動向量及/或快取重複運動向量的玩家輸入運動補償的系統及方法 |
GB2576662B (en) | 2017-04-21 | 2020-10-28 | Zenimax Media Inc | Systems and methods for encoder-guided adaptive-quality rendering |
KR20210148381A (ko) | 2017-04-21 | 2021-12-07 | 제니맥스 미디어 인크. | 게임-생성된 모션 벡터들을 위한 시스템들 및 방법들 |
US10225564B2 (en) | 2017-04-21 | 2019-03-05 | Zenimax Media Inc | Systems and methods for rendering and pre-encoded load estimation based encoder hinting |
BR112019021627A2 (pt) | 2017-04-21 | 2020-05-12 | Zenimax Media Inc. | Sistemas e métodos para pós-processos diferidos de codificação em vídeo |
US10987587B2 (en) * | 2017-12-22 | 2021-04-27 | Take-Two Interactive Software, Inc. | System and method for game object and environment generation |
US11033824B2 (en) * | 2019-06-14 | 2021-06-15 | Roblox Corporation | Predictive data preloading |
US11765235B2 (en) | 2020-03-12 | 2023-09-19 | Samsung Electronics Co., Ltd. | System and method of disk sharing for cloud content storage |
US11782833B2 (en) | 2020-03-12 | 2023-10-10 | Samsung Electronics Co., Ltd. | System and method of determining available bandwidth in disaggregated tiered cache for cloud content storage |
US20210311871A1 (en) | 2020-04-06 | 2021-10-07 | Samsung Electronics Co., Ltd. | System and method for aggregating server memory |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050131825A1 (en) * | 2003-12-15 | 2005-06-16 | Vasu Vijay | Distributed knowledge management system |
US20070006275A1 (en) * | 2004-02-17 | 2007-01-04 | Wright David H | Methods and apparatus for monitoring video games |
US20080261680A1 (en) * | 2003-07-11 | 2008-10-23 | Dugac Remote Systems, Llc | Method and system for dynamically leveling game play in electronic gaming environments |
CN102255930A (zh) * | 2010-05-21 | 2011-11-23 | 国际商业机器公司 | 用于提供虚拟世界的场景数据的方法和系统 |
US20130137518A1 (en) * | 2011-11-29 | 2013-05-30 | Keith V. Lucas | System for Pre-Caching Game Content Based on Game Selection Probability |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6333180B2 (ja) * | 2012-02-07 | 2018-05-30 | エンパイア テクノロジー ディベロップメント エルエルシー | オンラインゲーム |
US8790184B2 (en) * | 2012-03-29 | 2014-07-29 | Empire Technology Development Llc | Resource management for data center based gaming |
US9101834B2 (en) * | 2012-09-05 | 2015-08-11 | Zynga Inc. | Methods and systems for generating tailored game challenges |
US9630115B2 (en) * | 2013-01-23 | 2017-04-25 | Zynga Inc. | Shared social asset in game |
US9079108B2 (en) | 2013-05-31 | 2015-07-14 | Empire Technology Development Llc | Cache-influenced video games |
-
2013
- 2013-05-31 US US14/119,171 patent/US9079108B2/en not_active Expired - Fee Related
- 2013-05-31 WO PCT/US2013/043575 patent/WO2014193403A1/en active Application Filing
- 2013-05-31 CN CN201380077113.5A patent/CN105246567B/zh not_active Expired - Fee Related
-
2015
- 2015-06-02 US US14/728,645 patent/US9358466B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080261680A1 (en) * | 2003-07-11 | 2008-10-23 | Dugac Remote Systems, Llc | Method and system for dynamically leveling game play in electronic gaming environments |
US20050131825A1 (en) * | 2003-12-15 | 2005-06-16 | Vasu Vijay | Distributed knowledge management system |
US20070006275A1 (en) * | 2004-02-17 | 2007-01-04 | Wright David H | Methods and apparatus for monitoring video games |
CN102255930A (zh) * | 2010-05-21 | 2011-11-23 | 国际商业机器公司 | 用于提供虚拟世界的场景数据的方法和系统 |
US20130137518A1 (en) * | 2011-11-29 | 2013-05-30 | Keith V. Lucas | System for Pre-Caching Game Content Based on Game Selection Probability |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114761097A (zh) * | 2019-11-18 | 2022-07-15 | 索尼互动娱乐股份有限公司 | 视频游戏中的帮助图的基于服务器的生成 |
CN113474781A (zh) * | 2020-01-17 | 2021-10-01 | 辉达公司 | 用于游戏事件的可扩展词典 |
Also Published As
Publication number | Publication date |
---|---|
CN105246567B (zh) | 2016-09-14 |
US9079108B2 (en) | 2015-07-14 |
WO2014193403A1 (en) | 2014-12-04 |
US9358466B2 (en) | 2016-06-07 |
US20150258437A1 (en) | 2015-09-17 |
US20140357379A1 (en) | 2014-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105246567A (zh) | 受缓存影响的视频游戏 | |
CN104321116B (zh) | 用于虚拟物品交易的游戏系统 | |
US9662584B2 (en) | Method and system for controlling game AI which copies input pattern of gamer and playing the game | |
US9724611B2 (en) | Method and system for synchronizing an online application and a portable device | |
US20130344966A1 (en) | Method and system for providing video game content | |
US8961315B1 (en) | Providing tasks to users during electronic game play | |
US8632412B2 (en) | Video game title profile awards | |
CN102750435A (zh) | 用于动态配对群体召集的系统和方法 | |
US20080045340A1 (en) | Method For Providing On-Line Game Which Systematically Maintains Monster's Aggro Points Against Player Character and System Thereof | |
CN102214272A (zh) | 在集中式市场中保护游戏相关内容 | |
CN118632732A (zh) | 用于授予nft支持的数字资产的所赢得游戏内动作的自动追踪 | |
JP7031811B2 (ja) | 空間二元化を利用してスポーツゲームのプレイヤーキャラクタを育成する方法およびシステム | |
CN101080256A (zh) | 用于提升游戏能力的游戏系统和方法 | |
Adams et al. | Pandora's box: social and professional issues of the information age | |
JP2022082269A (ja) | ゲームプログラム、ゲーム装置、ゲームシステム | |
Redmond | The videogame commons remakes the transnational studio | |
JP4992242B2 (ja) | ゲームシステム及びゲームシステム制御方法 | |
CN113946604B (zh) | 分阶段围棋教学方法、装置、电子设备及存储介质 | |
KR20070071849A (ko) | 공유메모리를 이용한 서버 시스템 | |
CN106775460A (zh) | 一种游戏成就数据的处理方法、装置及系统 | |
Vanderhoef | NES homebrew and the margins of the retro-gaming industry | |
Teoh | Game theory in the gaming industry: The disruption of non-fungible tokens (NFTs) and blockchain technology | |
Keogh | Triple-A Games | |
US7204413B2 (en) | Judgment systems and methods | |
Victor | Game Development and Agglomeration in Finland |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160914 Termination date: 20200531 |