游戏浏览

申请号 CN201380038730.4 申请日 2013-07-19 公开(公告)号 CN104470600B 公开(公告)日 2017-07-11
申请人 微软技术许可有限责任公司; 发明人 J·R·贾斯提斯; A·A-A·基普曼; K·A·洛伯;
摘要 本 发明 的 实施例 允许玩家通过在线服务即时地接入并开始玩游戏。为了使游戏即时可用,在线服务使游戏的实例保持在主动 存储器 中运行,等待玩家被添加。在主动存储器中运行的游戏实例不被附加至玩家简档或来自游戏客户端的I/O通道。一旦玩家 请求 游戏,玩家的玩家简档就被加载到正在运行的游戏实例中,I/O通道从游戏客户端被映射至游戏实例。从玩家的 角 度,预加载的游戏实例允许玩家以非常小的延迟逐游戏地直接浏览。为了优化 服务器 侧资源的使用,可以分析历史使用数据来预测对不同游戏的需求。
权利要求

1.一种在多个游戏的玩游戏之间浏览的方法,所述方法包括:
将多个游戏的每一个游戏的游戏实例预加载至游戏服务器上的主动存储器内的运行状态,所述游戏实例从所述游戏服务器中在游戏客户端上是可玩的,其中每一游戏的游戏实例的数目是基于以下至少一者确定的:对该游戏的预测需求、所述游戏服务器的位置以及所述游戏服务器所服务的玩家;
在所述预加载之后,在所述游戏服务器处从所述游戏客户端接收玩第一游戏的第一请求;以及
通过将玩家简档信息添加至所述第一游戏的预加载的实例而将所述游戏客户端连接至所述第一游戏的所述预加载的实例的可玩部分。
2.如权利要求1所述的方法,其特征在于,连接还包括将用于游戏控制的输入和输出通道添加至所述第一游戏的所述预加载的实例。
3.如权利要求1所述的方法,其特征在于,所述可玩部分是所述第一游戏的等级的中间部分。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
从所述游戏客户端接收加入第二游戏的第二请求;
将所述第一游戏中作出的任何进度记录至所述玩家简档信息;以及
通过将玩家简档信息添加至所述第二游戏的预加载的实例而将所述游戏客户端连接至所述第二游戏的所述预加载的实例的可玩部分。
5.一种游戏服务内的即时开启游戏可用性的方法,包括:
将多个游戏实例预加载至主动存储器中的运行状态,所述多个游戏实例在没有玩家专用信息或到游戏控制I/O通道的连接的情况下运行,所述多个游戏实例是用于多个游戏的,并且不同数量的游戏实例是基于对单独游戏的预测需求、游戏服务器的位置以及所述游戏服务器所服务的玩家中的至少一者而被预加载的。
6.如权利要求5所述的方法,其特征在于,预加载的游戏实例包括玩游戏的至少一部分所需的全部游戏对象,除了玩家简档信息和所述连接以外。
7.如权利要求6所述的方法,其特征在于,所述玩家简档信息包括指定以什么语言呈现游戏特征的语言包。
8.一种在多个游戏的玩游戏之间浏览的方法,所述方法包括:
从游戏客户端输出游戏浏览界面以供显示;
接收玩在所述游戏浏览界面上所显示的第一游戏的第一请求;
将冲浪至所述第一游戏的所述第一请求从所述游戏客户端传递至游戏服务器,所述游戏服务器将所述第一游戏的正在运行的实例维持在主动存储器中,所述第一游戏的正在运行的实例的数目是基于以下至少一者确定的:对所述第一游戏的预测需求、所述游戏服务器的位置以及所述游戏服务器所服务的玩家;
在所述传递所述第一请求的两秒内,接收来自所述第一游戏的已呈现图像,其人物通过命令被立即操纵,所述命令通过所述游戏客户端和所述游戏服务器之间的输入和输出通道被传递。
9.如权利要求8所述的方法,其特征在于,所述方法还包括:
在所述第一游戏正在玩时,接收玩所述游戏浏览界面上所显示的第二游戏的第二请求;
将冲浪至所述第二游戏的第二请求从所述游戏客户端传递至游戏服务器,所述游戏服务器将所述第二游戏的正在运行的实例维持在主动存储器中;以及
在所述传送所述第二请求的两秒内,接收来自所述第二游戏的已呈现图像,其人物通过命令被立即操纵,所述命令通过所述游戏客户端和所述游戏服务器之间的输入和输出通道被传递。

说明书全文

游戏浏览

背景技术

[0001] 为了切换至新的视频游戏,媒体需要从游戏控制台被移除,且新媒体被插入。一旦插入了新媒体,在玩家能开始玩游戏之前,游戏就可以从被动或辅助存储器(例如,游戏媒体)被加载到游戏控制台的主动存储器。当前,类似过程发生于在线游戏服务。一旦玩家作出通过在线服务玩游戏的请求,提供该在线游戏服务的服务器就将所请求的游戏的实例从辅助存储器加载至服务器的主动存储器。然后,一旦游戏处于主动存储器中,玩家就可以玩游戏。发明内容
[0002] 提供本概述以便以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。该发明内容不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在独立地用于帮助确定所要求保护的主题的范围。
[0003] 本发明的实施例允许玩家通过在线服务即时地接入并开始玩游戏。为了使游戏即时可用,在线服务使游戏的实例保持在主动存储器中运行,以等待玩家被添加。在主动存储器中运行的游戏实例没有被附加到玩家简档或来自游戏客户端的I/O通道。一旦玩家请求游戏,玩家的玩家简档就被加载至正在运行的游戏实例,且I/O通道从游戏客户端被映射至游戏实例。由此,游戏实例可以在没有玩家简档或I/O通道的情况下运行。玩家简档可以包括语言包,语言包指定应以其呈现游戏特征的语言。这允许单个预加载的游戏实例容纳不同的语言需求。
[0004] 从玩家的度,预加载的游戏实例允许玩家以极少的延迟逐游戏地直接浏览。玩家几乎即时地进入活动玩游戏状态,而不是等待游戏被加载至主动存储器中。这也允许玩家逐一浏览游戏,类似于在各电视频道间冲浪。在一个实施例中,玩家能够在他们已购买或者已通过订阅游戏服务而具有玩游戏许可证的各游戏的完整版本之间浏览。在另一实施例中,玩家能够在可能受限于特定特征等级或特征组的各游戏演示之间冲浪。
[0005] 为了优化服务器侧资源的使用,可以分析历史使用数据来预测对不同游戏的需求。具有较高需求的游戏可具有较多的游戏实例准备好供玩家参加。具有较少需求的游戏可具有较少的正在运行的活动游戏实例等待玩家参加。各个游戏的实例数目可基于特定服务器的位置以及该服务器所服务的玩家而不同。附图说明
[0006] 以下参考附图详细描述了本发明的实施例,附图中:
[0007] 图1是适用于实现本发明的实施例的示例性计算环境的框图
[0008] 图2是根据本发明一实施例的在线游戏环境的示图;
[0009] 图3是根据本发明一实施例的用于游戏浏览和即时开启(instant-on)可用性的游戏服务的示图;
[0010] 图4是根据本发明一实施例的游戏执行环境的示图,该游戏执行环境正在运行具有已连接的玩家的活动游戏实例以及不具有已连接的玩家的预加载的活动游戏实例;
[0011] 图5是示出根据本发明一实施例的、在游戏执行环境内添加新玩家的示图,该游戏执行环境正在运行具有已连接的玩家的活动游戏实例以及不具有已连接的玩家的预加载的活动游戏实例;
[0012] 图6是示出根据本发明一实施例的、在游戏执行环境内将玩家从一个等级移至第二等级的示图,该游戏执行环境正在运行具有已连接的玩家的活动游戏实例以及不具有已连接的玩家的预加载的活动游戏实例;
[0013] 图7是示出根据本发明一实施例的游戏执行环境内的资源分配的示图,该游戏执行环境正在运行具有已连接的玩家的活动游戏实例以及不具有已连接的玩家的预加载的活动游戏实例;
[0014] 图8是示出根据本发明一实施例的游戏执行环境内的经更新的资源分配的示图,该游戏执行环境正在运行具有已连接的玩家的活动游戏实例以及不具有已连接的玩家的预加载的活动游戏实例;
[0015] 图9是示出根据本发明一实施例的、在多个游戏的玩游戏之间的浏览的流程图
[0016] 图10是示出根据本发明一实施例的、在游戏服务内的即时开启游戏浏览的流程图;以及
[0017] 图11是示出根据本发明一实施例的、在多个游戏的玩游戏之间的浏览的流程图。

具体实施方式

[0018] 此处用细节来描述本发明的各实施例的主题以满足法定要求。然而,该描述本身并非旨在限制本专利的范围。相反,发明人已设想所要求保护的主题可结合其它当前或未来技术以其它方式来实施,以包括不同的步骤或类似于本文中所描述的步骤的步骤组合。此外,尽管术语“步骤”和/或“框”可在此处用于指示所采用的方法的不同元素,但除非而且仅当明确描述了各个步骤的顺序时,该术语不应被解释为意味着此处公开的各个步骤之中或之间的任何特定顺序。。
[0019] 本发明的实施例允许玩家通过在线服务即时地接入和开始玩游戏。为使游戏即时可用,在线服务使游戏的实例保持在主动存储器中运行,以等待玩家被添加。在运行状态,主动存储器中的游戏对象可由执行该游戏的处理设备访问和操纵。主动存储器与辅助存储器对比,在辅助存储器中,游戏对象被被动地存储,同时它们在游戏动作中是不可操纵的。
[0020] 主动存储器中运行的游戏实例没有被附加到玩家简档或来自游戏客户端的I/O通道。一旦玩家请求了游戏,玩家的玩家简档就被加载到正在运行的游戏实例中,并且I/O通道从游戏客户端被映射至游戏实例。由此,游戏实例可以在没有玩家简档或I/O通道的情况下运行。玩家简档可以包括语言包,语言包规定应以其来呈现游戏特征的语言。这允许单个预加载的游戏实例容纳不同的语言需求。
[0021] 从玩家的角度,预加载的游戏实例允许玩家以极少的延迟逐游戏地直接浏览。玩家几乎即时地进入活动玩游戏状态,而不是等待游戏被加载到主动存储器中。这也允许玩家逐游戏地浏览,类似于在各电视频道之间冲浪。在一个实施例中,玩家能够在他们已购买或者已通过订阅游戏服务而具有玩游戏许可证的各游戏的完整版本之间浏览。在另一实施例中,玩家能够在可能受限于特定特征等级或特征组的各游戏演示之间冲浪。在仅选择单个游戏时,本发明的实施例可以被描述为向用户提供即时开启的体验,而不是在各游戏之间切换。
[0022] 为了优化服务器侧资源的使用,可以分析历史使用数据来预测对不同游戏的需求。具有较高需求的游戏可具有较多的游戏实例准备好供玩家参加。具有较少需求的游戏可具有较少的正在运行的活动游戏实例以等待玩家参加。各个游戏的实例数目可基于特定服务器的位置以及该服务器所服务的玩家而不同。
[0023] 在已简要描述了本发明的实施例的概览后,以下描述适用于实现本发明实施例的示例性操作环境。
[0024] 示例性操作环境
[0025] 概括地参考附图,并首先具体参考图1,示出了用于实现本发明的各实施例的示例性操作环境,并将其概括地指定为计算设备100。计算设备100只是合适的计算环境的一个示例,并且不旨在对本发明的使用范围或功能提出任何限制。也不应该将计算设备100解释为对所示出的任一组件或其组合有任何依赖性或要求。
[0026] 本发明可以在由计算机或诸如个人数据助理或其他手持式设备之类的其他机器执行的计算机代码或机器可使用指令(包括诸如程序组件之类的计算机可执行指令)的一般上下文中描述。一般而言,包括例程、程序、对象、组件、数据结构等的程序组件指的是执行特定任务或实现特定抽象数据类型的代码。本发明的各实施方式可以在各种系统配置中实施,这些系统配置包括手持式设备、消费电子产品、通用计算机、专用计算设备等等。本发明也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实施。
[0027] 继续参考图1,计算设备100包括直接或间接耦合以下设备的总线110:存储器112、一个或多个处理器114、一个或多个呈现组件116、输入/输出(I/O)端口118、I/O组件120、和说明性电源122。总线110表示可以是一条或多条总线(诸如地址总线数据总线、或其组合)。虽然为了清楚起见利用线条示出了图1的各框,但是实际上,各组件的轮廓并不是那样清楚,并且比喻性地来说,线条更精确地将是灰色的和模糊的。例如,可以将诸如显示设备的呈现组件认为是I/O组件120。而且,处理器也具有存储器。发明人关于此点认识到这是本领域的特性,并重申,图1的图示只是可以结合本发明的一个或多个实施方式来使用的示例性计算设备的说明。诸如“工作站”、“服务器”、“膝上型计算机”、“手持式设备”等分类之间没有区别,它们全部都被认为是在图1的范围之内并且被称为“计算机”或“计算设备”。
[0028] 计算设备100通常包括各种计算机可读介质。计算机可读介质可以是可由计算设备100访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模或其他数据的信息的任何方法和技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或能用于存储所需信息且可以由计算设备100访问的任何其他介质。计算机存储介质不包括被传播的数据信号。通信介质通常以诸如载波或其他传输机制之类的已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传送介质。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述的任意组合也应包含在计算机可读介质的范围内。
[0029] 存储器112包括易失性和/或非易失性存储器形式的计算机存储介质。存储器112可以是可移动的、不可移动的、或其组合。示例性存储器包括固态存储器、硬盘驱动器、光盘驱动器等等。计算设备100包括从诸如总线110、存储器112或I/O组件120之类的各种实体读取数据的一个或多个处理器114。呈现组件116向玩家或其他设备呈现数据指示。示例性呈现组件116包括显示设备、触摸屏、扬声器、打印组件、振动组件等等。I/O端口118允许计算设备100在逻辑上耦合至包括I/O组件120的其他设备,其中某些设备可以是内置的。说明性I/O组件120包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、触摸屏、扫描仪打印机、无线设备等等。
[0030] 示例性在线游戏环境
[0031] 现在转至图2,示出了根据本发明一实施例的在线游戏环境200。在线游戏环境200包括通过网络220连至游戏服务230的各个游戏客户端。示例性游戏客户端包括游戏控制台210、平板212和个人计算机214。其他游戏客户端(诸如智能电话)的使用也是可能的。游戏控制台210可具有通信耦合到它的一个或多个游戏控制器。在一个实施例中,平板212可以充当游戏控制台210或个人计算机214的输入设备。在另一实施例中,平板212是独立的游戏客户端。网络220可以是广域网,诸如因特网。
[0032] 游戏服务230包括彼此通信耦合的多个计算设备。在一个实施例中,游戏服务230用一个或多个服务器场来实现。各服务器场可以遍布于各个地理区域,包括遍及全球的城市。在该场景中,游戏客户端可以连接至最近的服务器场。本发明的实施例不限于此设置。
[0033] 游戏服务230允许游戏在游戏服务230所提供的计算设备内执行。游戏服务和游戏客户端之间的通信会话将输入话务送入游戏服务230,并且返回所呈现的游戏图像。在该实施例中,作为游戏服务一部分的计算设备使用与各个游戏客户端相关联的输入设备所生成的控制流来执行视频游戏代码。所呈现的视频游戏然后通过网络被传递至游戏客户端,在游戏客户端处输出所呈现的游戏以供显示。
[0034] 用于游戏浏览和即时开启可用性的示例性游戏服务
[0035] 现在转至图3,示出了根据本发明一实施例的用于游戏浏览和即时开启可用性的示例性游戏服务300。本领域普通技术人员将理解和领会,图2所示的计算环境仅仅是一个合适计算环境的示例,而不旨在对本发明的使用或功能范围提出任何限制。该计算环境也不应被解释为对此处示出的任意单个组件/模块或组件/模块的组合有任何依赖性或要求。游戏服务300可类似于之前参照图2描述的游戏服务230。游戏服务300包括连接管理器310、玩家简档数据存储320、浏览体验管理器330、游戏管理器340、游戏数据存储350、游戏需求组件360以及游戏执行环境370。
[0036] 连接管理器310管理游戏服务300和连至该游戏服务的各个游戏客户端之间的连接。连接管理器310可以设立和授权游戏服务300和游戏客户端之间的通信会话。此外,连接管理器310可以认证玩家并且授予对游戏服务300所提供的一些或全部体验的访问。连接管理器310可以执行各种安全和加密功能。例如,连接管理器310可以管理授权玩家的口令和玩家名。连接管理器310还可以将玩家路由至在玩家位置的地理邻域内的服务器场。玩家的位置可以通过IP地址或其他机制来标识,包括玩家简档。贯穿该说明书,互换地使用术语玩家和各玩家。
[0037] 玩家简档数据存储320可以结合连接管理器310工作以构建和存储玩家信息。玩家简档的一部分可以包括人口统计和金融信息,诸如玩家姓名、地址和信用卡信息或用于支付或购买游戏服务300所提供的游戏和体验的其他机制。此外,玩家简档数据存储320可以存储玩家在一单独游戏内的进度。随着玩家在游戏中前进,可以存储玩家的分数以及玩家接入游戏的等级。而且,玩家简档数据存储320可以包括与诸如语言偏好之类的个别玩家偏好有关的信息。与玩家的游戏客户端和网络连接速度有关的信息也可以被存储,并且被用来优化游戏体验。例如,在一个实施例中,当地理上邻近的服务器场忙碌时,具有较高等待时间因特网连接的玩家可以优先被连至邻近服务器场,而具有较低等待时间连接的玩家可以被连至较远的服务器场。这样,具有最能处理附加等待时间的网络连接的玩家被连至通过其位置创建附加等待时间的服务器场。
[0038] 玩家简档数据存储320还可以存储单独玩家的使用历史。可以追踪并存储玩家购买游戏、采样游戏或通过不要求购买游戏的游戏服务来玩游戏的历史。该使用信息可被用于向单独玩家建议他们可能感兴趣的游戏。在一个实施例中,购买历史可以包括并非通过游戏服务购买的游戏。例如,购买历史可以通过玩家输入来自零售商店购买的游戏的密钥来扩充。在一些实施例中,玩家然后可既在其游戏客户端上接入该游戏、又在他们不再位于其游戏客户端上时通过游戏服务来接入该游戏。
[0039] 浏览体验管理器330为玩家启用浏览功能。尽管被描述为浏览界面,但该界面也可以提供对游戏的即时开启接入。即时开启接入是选择游戏的单个实例,而浏览可以重复即时开启接入过程以允许用户在各游戏或各游戏等级之间切换。浏览功能允许玩家直接冲浪到各个游戏。如已简要说明且随后更详细说明的,玩家可以选择一游戏并且进入该游戏的处于可玩状态的正在运行的实例。如此处使用的,“可玩”意指能够操纵所选游戏内的游戏人物和对象。可玩不意味着示出比游戏的主要部分少的预览视频或某些其他预览功能。
[0040] 浏览体验管理器330生成浏览界面,玩家可以通过该浏览界面选择游戏。浏览界面可由游戏服务器生成,并且被传递至游戏客户端。在另一实施例中,浏览应用被下载至游戏客户端,且浏览数据被传递至该应用。本发明的实施例不受在客户端上生成浏览界面的方式所限。浏览界面向玩家提供用于选择通过游戏服务可用的游戏的机制。浏览界面可允许玩家按类别选择游戏。而且,浏览界面可以基于玩家能完全接入的游戏(诸如已购买或是游戏计划一部分的游戏、以及可被预览并在将来购买的游戏、以及可以是扩展游戏包的一部分的游戏)来分离游戏。在一个实施例中,玩家的游戏历史和偏好可被用于示出玩家最可能感兴趣来玩的游戏。玩家可能能够显式地选择最喜欢的游戏。浏览界面也可以提供各种游戏实用功能,诸如暂停游戏、保存游戏以及设置玩家偏好的能
[0041] 在一个实施例中,浏览界面可以在几种不同的状态下显示。例如,可以存在完全状态,玩家可以通过该完全状态访问偏好及其他实用工具。可以存在较轻的状态,该状态占用较少的显示区域,可以通过该较轻的状态向玩家示出游戏预览并且玩家可选择游戏。而且,可以存在最小化状态,该最小化状态占据极少显示空间,或在某些情况下不占据显示空间。例如,浏览界面可以被最小化为在总体游戏体验中可见的图标。在另一实施例中,最小化的浏览界面在玩家输入显式命令后出现,且不示出任何图标。在另一实施例中,在选择游戏时可以关闭浏览界面,并且按下菜单按钮或某些其他功能会使浏览界面出现以允许玩家作出另一选择。
[0042] 在各游戏之间浏览时,玩家的进度被保存。例如,玩家可以选择第一游戏并且进入它。一旦玩家玩了几分钟并且前进通过一个等级或获得其他成就,玩家就可以简单地浏览第二游戏,玩家立即进入该第二游戏并且第一游戏中的进度被自动保存。玩家不需要明确请求保存进度。如前所述,游戏进度可以在玩家简档数据存储320内被更新。这样,玩家可以快速地在各游戏间导航,而无须保存游戏或指定开始该游戏的进度点。游戏可以恰在玩家离开处继续。
[0043] 游戏管理器340管理玩家到活动游戏中的连接,并且使不活动游戏维持在对玩家准备好的运行状态。不活动游戏可以被描述为被预加载至主动存储器中的活动状态。在一个实施例中,对于通过游戏服务可用的每个游戏,存在各单独的游戏管理器。取单个游戏作示例,游戏管理器会预加载准备好供玩家进入以立即玩游戏的指定数量的游戏,指定数量的游戏可能由游戏需求组件360确定。游戏管理器340也管理活动游戏。在一个实施例中,玩家可以通过游戏管理器340连接至游戏。换言之,游戏管理器340可以充当用于各单独游戏实例之间的通信和连接的卫。当玩家退出游戏时,指令可以到达游戏管理器以检索玩家的进度,并且将玩家的进度保存到玩家简档数据存储320内的玩家简档中。一旦玩家退出游戏,该游戏就可以被游戏管理器340关闭,新的预加载的游戏可以被激活以代替被关闭的游戏。
[0044] 游戏数据存储350存储可用的游戏。游戏可以从数据存储中检索,并且通过主动存储器被激活。游戏数据存储350可以被描述为被动或辅助存储器。通常,可能不能离开游戏数据存储350来玩游戏。然而,在一些实施例中,辅助存储器可以被用作虚拟存储器,在这种情况下,游戏数据存储350的各部分也可以用作主动存储器。这说明了主动存储器不必要由特定的硬件组件定义,而是由游戏资源主动操纵和访问存储器内的对象以执行游戏的能力来定义。
[0045] 游戏需求组件360分析使用数据以确定特定游戏应当有多少预加载的实例是可用的,以及其他。通常,具有高需求的游戏会具有游戏的更多预加载实例可用。将游戏预加载至主动存储器中可能需要一分钟到两分钟;因此,具有高流入流出的游戏也可需要游戏的更多预加载实例可用。也可以考虑将游戏预加载至主动存储器中所需的时间量。加载相对快的游戏可能在主动存储器中需要较少,因为随着需求变化以及随着玩家选择游戏,附加游戏可以更快地被添加至主动存储器。换言之,具有较慢加载时间的游戏需要更多可用的游戏。
[0046] 游戏需求组件360也可以提供由游戏管理器340或其他组件使用以将服务器资源分配给特定游戏的信息。被分配给特定游戏的服务器资源包括执行并供玩家玩的许多活动游戏实例以及没有玩家连接的预加载的游戏实例所需的资源。随着对各个游戏的需求随时间变化,可以调整对游戏的资源分配。而且,可以使用历史使用数据来预测变化。例如,如果与在白天被更多地玩的第二游戏相比,第一游戏在晚上10点和午夜之间被更多地玩,则资源可以在晚上10点到午夜的时间段内在第二游戏和第一游戏之间切换。
[0047] 游戏需求组件360可以基于可能被服务器场服务的玩家的人口统计,向不同的服务器场提供预加载的游戏和计划的总体游戏使用的不同分配。例如,如果特定游戏在美国西北部流行,则可以向位于西北部的服务器场内的该游戏分配更多资源。另一方面,在东南部更流行的游戏可能使得分配相对多的资源以便在位于东南部的服务器场内运行那些游戏。
[0048] 游戏需求组件360可以向游戏管理器以及浏览体验管理器330提供游戏需求信息。在一个实施例中,当分配给特定游戏的资源超出最大值因此玩家暂时不能立即进入该游戏时,浏览体验管理器330被通知,该游戏暂时从浏览界面被移除。这防止玩家选择游戏并且在玩游戏之前具有延迟。一旦新游戏已被游戏管理器340添加,则发送新通知,且该游戏被添加至通过浏览界面可用的游戏列表。基于玩家当前连接至的服务器场,可用性分析可以非常精细。在另一实施例中,整个游戏服务上的需求和使用以及包括该游戏服务的所有服务器场被评估,并且在选择游戏时,玩家可以转换至可以玩该游戏的一个不同的服务器场。
转换可由连接管理器310处理。
[0049] 游戏执行环境370包括执行游戏的实例所需的游戏资源。这些是以上描述的由游戏管理器340及其他组件管理的资源。游戏执行环境370包括主动存储器连同计算和视频处理。游戏执行环境370通过I/O通道接收游戏控制,并且使游戏根据其编程被操纵和进展。在一个实施例中,游戏执行环境370输出所呈现的视频流,所呈现的视频流被传递至游戏客户端。在其他实施例中,游戏执行环境370输出游戏几何形状或其他表示,游戏几何形状或其他表示可以与游戏客户端上的本地对象组合以呈现游戏视频。
[0050] 现在转至图4,示出了根据本发明一实施例的游戏执行环境428,游戏执行环境428正在运行具有已连接的玩家的活动游戏实例以及不具有已连接的玩家的预加载的活动游戏实例。游戏执行环境428可类似于之前描述的游戏执行环境370。游戏执行环境428可以是诸如之前参照图2和3描述的游戏服务的一部分。为简洁起见,未示出游戏服务内的其他组件。游戏执行环境428通过网络420连至各个游戏客户端。如前所述,诸如授权和连接管理组件以及游戏管理器这样的其他组件可以在网络420和游戏执行环境428之间路由通信。
[0051] 如图所示,客户端设备410上的玩家A、客户端设备412上的玩家B以及客户端设备414上的玩家C被连接至游戏执行环境428。具体而言,玩家A连接至等级一的游戏实例一
430。游戏实例二432与玩家B连接并且处于等级二。游戏实例三434处于等级五并且与玩家C连接。如前所述,在玩家连接时,他们的玩家简档信息以及其他I/O通道细节可以被并入活动游戏以允许他们实际上玩该游戏。
[0052] 几个活动游戏实例在游戏执行环境428内运行,但没有已连接的玩家。在各个情况下,没有玩家,并且没有与活动地运行的游戏相关联的I/O通道。游戏实例四440正在活动地运行,并且在游戏开始处等待。游戏实例五442类似地在没有玩家的情况下等待,并且在游戏开始处等待。游戏实例六444也在游戏开始处等待。游戏实例七446在等级十活动地运行。这意味着进入游戏实例七446的玩家会立即能玩该游戏的等级十。
[0053] 一些游戏很大,并且这种游戏的仅各部分被保持在主动存储器中。具有不同等级下的游戏的活动实例可允许玩家逐等级地直接浏览,而无需等待新等级加载至主动存储器中。游戏实例八448被预加载,并且在没有玩家且没有I/O连接的情况下在等级十二活动地运行。
[0054] 现在转至图5,示出了根据本发明一实施例的、向游戏执行环境428添加新玩家,即玩家D 514。如图所示,图5的大多数特征类似于之前参照图4描述的特征。玩家A、B和C全部连接至与之前连接至的游戏实例相同的游戏实例。在该情况下,客户端设备514上的玩家D已被进入之前的游戏实例四440。在图5中,该游戏实例被示出为游戏实例540,其中玩家D已连接。既然玩家已被进入预加载的游戏实例之一,预加载的游戏的新实例(未示出)可由游戏管理器或其他组件激活,以维持相同数量的待命游戏。
[0055] 现在转至图6,示出了根据本发明一实施例的、玩家在游戏的不同等级之间浏览。在图6中,玩家A通过改变游戏实例,从游戏一的等级一移至游戏一的等级十。玩家可能已经通过在玩家的游戏客户端410处显示的浏览界面上的选择,请求了新等级。浏览界面可以示出要玩的不同游戏以及供玩家选择的各个游戏的不同等级。
[0056] 一旦接收到对改变等级的请求,玩家A被连接至在所请求的等级下运行的游戏一的预加载的活动实例。在该情况下,玩家被添加至实例十一446,实例十一446被预加载以在等级十运行。经修改的游戏实例646(示为玩家A已连接)示出了玩家A已在新游戏实例中连接至等级十。一旦已连接,玩家就能够在无延迟的情况下在等级十玩游戏。无延迟意味着自作出请求起小于两秒。经更新的游戏实例一630指示玩家被丢弃。作为丢弃过程的一部分,玩家的I/O通道被移除,并且可以被转移至游戏实例十一646,并且玩家的进度可以被保存。
[0057] 一旦玩家已从活动游戏实例被移除,该游戏实例就可以被重置至其默认位置以等待新玩家,例如在游戏开始处,或者可以被完全拆卸。如果被拆卸,游戏的新实例可以在默认等级处被起转或激活,诸如在游戏开始处。一旦玩家浏览至等级十,则游戏一的处于等级十的新的预加载实例可以被预加载到主动存储器中。该实例未在图6中示出。
[0058] 在一个实施例中,是否要使各游戏实例在不同等级处可用的确定是基于游戏的大小和复杂度以及不同的游戏等级来确定的。作为等级大小的结果,在各等级间切换的时间越长,可以使越多的游戏实例在不同等级下可用。例如,如果默认地前九个等级被加载至主动存储器中,且游戏长度为二十个等级,则在等级十处开始的游戏实例可以待命。如果整个游戏被加载到主动存储器中且各等级易于切换,则预加载的游戏实例可以仅仅在开始处等待。在一个实施例中,使用示出人们在哪个等级开始的历史使用数据来确定预加载的游戏实例应当在什么等级处等待。
[0059] 现在转至图7,示出了根据本发明一实施例的、游戏环境700内游戏资源的管理。游戏环境700可以类似于之前描述的游戏环境。在该情况下,资源被分配给四个不同的游戏。为简洁起见仅示出四个游戏。如上所述,资源可以包括服务器、服务器的各部分、以及被分配给特定游戏的资源的其他部分。
[0060] 在图7中,游戏一710被分配了特定数量的资源,允许游戏一运行十个活动游戏712,三个在开始处待命的不活动游戏实例714,一个在等级二待命716,一个在等级三待命
718,一个在等级四待命720。游戏二730具有运行25个活动游戏732必要的资源,其中十个在开始处待命734,一个在等级二待命736,两个在等级四待命738,十个在等级九待命740,两个在等级二十待命742。
[0061] 游戏三750具有可使八个活动游戏752和两个不活动游戏实例待命754的资源。游戏四760可具有为运行五个活动游戏762而分配的资源,十个不活动游戏实例在开始764处待命,一个在等级二766待命,两个在等级三768待命,四个在等级四770待命,一个在等级五772待命,一个在等级六774待命。
[0062] 图7所示的分配可由需求分析来指导,需求分析考虑当前使用和历史使用两者。需求分析可以从历史使用开始,以确定应当为特定游戏预期的活动游戏和待命游戏的数量。然而,当实际使用偏离预期使用超过阈值量时,为运行各个游戏的实例而分配的资源可以被重新分配给已经经历大于预期使用量的其他游戏。该调整在图8示出。
[0063] 现在转至图8,示出根据本发明一实施例的经调整的资源分配800。在该情况下,为运行游戏四760的实例而分配的资源已被重新分配以运行游戏三750的实例。特别是,游戏三现在具有资源以运行在开始处待命的三个游戏854以及在等级二856待命的两个游戏。已经减少了被分配给游戏四760的资源,使得仅有在开始处待命的三个实例864。
[0064] 即时开启和游戏浏览方法
[0065] 现在转至图9,示出根据本发明一实施例、用于在多个游戏的玩游戏之间浏览的方法900。如前所述,可以通过在游戏客户端上显示的界面作出浏览请求。界面可由游戏服务生成,或者在游戏客户端上运行的应用上生成。
[0066] 在步骤910,多个游戏的每一个游戏的游戏实例被使用游戏服务器上的主动存储器预加载至运行状态,游戏实例可从游戏服务器在游戏客户端上可玩。如前所述,游戏客户端可以通过网络连接至游戏服务器。在允许游戏客户端与游戏服务器连接之前,可以使用各种认证过程。而且,游戏客户端可由与玩家简档相关联的玩家来操作。玩家简档可以针对特定的游戏会话与游戏客户端相关联。如前所述,在运行状态中,主动存储器中的游戏对象可由执行该游戏的处理设备访问或操纵。主动存储器与辅助存储器相对,在辅助存储器中,游戏对象被被动地存储,同时它们在游戏动作中不可操纵。
[0067] 在预加载之后,在步骤920,在游戏服务器处从游戏客户端接收到玩第一游戏的请求。如图所述,请求可以通过游戏浏览界面来生成。在游戏实例已被预加载并且准备好供玩家玩之后,接收到游戏请求。
[0068] 在步骤930,通过将玩家简档信息添加至第一游戏的预加载实例,游戏客户端连接至第一游戏的预加载实例的可玩部分。第一游戏的预加载实例是在步骤910内描述的预加载的游戏实例之一。在一个实施例中,玩家简档信息包括第一游戏的玩家偏好和进度。添加简档信息允许玩家基于以前的进度开始第一游戏。玩家简档信息也可以包括语言偏好,在该情况下,作为添加玩家简档信息的一部分,语言包被访问并被添加至第一游戏的预加载实例。此外,建立游戏客户端和第一游戏的实例之间的输入输出通道。这允许玩家通过控制器操纵第一游戏,控制器或者是游戏客户端的一部分、或者连接至游戏客户端。由于玩家简档可以包括游戏进度,因此玩家可以进入该游戏,并且立即移至在游戏进度中指示的游戏的特定等级或部分的中间部分。
[0069] 如前所述,在步骤910加载的游戏实例的数量可以通过经由分析历史玩游戏信息生成对多个游戏的预测需求来确定。历史需求可用于为每个游戏指定被加载的每个游戏实例的游戏数量,除它们可以等待的等级之外。除历史需求以外,预测的需求可以通过事件意识来调节。例如,当没有历史使用数据可用时,对新发布游戏的需求可以基于该游戏或类似游戏的前一版本的使用来设置。在另一情况下,对足球视频游戏的需求可以增加以便与足球季的开始重合。
[0070] 在本发明的实施例中,在玩家仍在玩第一游戏的同时可以接收到来自客户端的加入第二游戏的请求。此时,第一游戏中作出的任何进度可以被记录在玩家的玩家简档中,且他们可以连接至第二游戏的预加载实例的可玩部分。同样,玩家简档信息可以被添加至第二游戏的预加载实例以允许玩家玩第二游戏。
[0071] 现在转至图10,示出了根据本发明一实施例的、游戏服务内的即时开启游戏可用性的方法1000。在步骤1010,多个游戏实例被预加载到主动存储器中的运行状态,其中没有玩家专用信息或者到游戏控制I/O通道的连接。换言之,游戏实例在主动存储器中运行,且一旦添加了来自游戏客户端的I/O通道并且添加了玩家专用信息就准备好被玩。预加载的信息可以包括玩游戏的至少一部分所需的全部游戏对象例如前几个等级,除了玩家专用信息和I/O通道连接以外。不同游戏的不同数量的游戏实例可以根据对单独游戏的预测需求被加载。一旦游戏被预加载,就可以接收到来自游戏客户端的请求。在接收到请求之后,游戏客户端可以连接至游戏的预加载实例之一。在另一实施例中,从游戏客户端接收到玩预加载游戏的特定等级的请求,且他们被添加至游戏的在该等级运行的预加载实例。
[0072] 现在转至图11,示出了根据本发明一实施例的、在多个游戏的玩游戏之间浏览的方法1100。在步骤1110,输出游戏浏览界面以供在游戏客户端上显示。如前所述,游戏浏览界面可由运行于游戏客户端上的应用生成并且经由网络连接至游戏服务,或者浏览界面可由游戏服务生成并被下载至游戏客户端。
[0073] 在步骤1120,接收到玩游戏浏览界面上所显示的第一游戏的请求。在步骤1130,将冲浪到第一游戏的第一请求从游戏客户端传递至游戏服务器,该游戏服务器将第一游戏的正在运行的实例维持在主动存储器中。在步骤1140,在传递第一请求的两秒内,接收到来自第一游戏的已呈现图像,其具有通过命令立即操纵的人物,命令通过第一设备和游戏服务器之间的I/O通道被传递。一旦被接收,玩家就立即能以所请求的等级玩该游戏。在一个实施例中,在第一游戏正在玩时,在客户端设备处接收到玩游戏浏览界面上所显示的第二游戏的请求。然后,第二请求从游戏客户端被传递至游戏服务器,以冲浪至第二游戏。在两秒内,玩家能够通过他们的游戏客户端操纵第二游戏内的人物。换言之,在两秒内,玩家在能够玩新游戏的时刻进入该新游戏。类似地,在另一实施例中,玩家能够冲浪或浏览至他们正在玩的游戏的不同等级,而无须等待该游戏的该部分被投入主动存储器,因为他们被加入等待在该等级的预加载的游戏实例。
[0074] 本发明的各实施例已被描述为说明性的而非限制性的。可理解的是,某些特征和子组合是有用的,并且可以加以利用而无需参考其它特征和子组合。这由权利要求所构想的,并在权利要求的范围内。
QQ群二维码
意见反馈