多玩家视频游戏匹配优化的制作方法

文档序号:11240626阅读:257来源:国知局
多玩家视频游戏匹配优化的制造方法与工艺



背景技术:

软件开发者通常期望他们的软件使用户尽可能长久地参与。用户参与软件的时间越长,软件越有可能成功。关于视频游戏,用户的参与时长与软件的成功之间的关系尤其如此。用户玩特定视频游戏的时间越长,用户享受该游戏的可能性越大,因此用户继续玩该游戏的可能性越大。

参与的原则并不限于单玩家游戏,并且还可以应用于多玩家视频游戏。向用户提供令人享受的多玩家体验的视频游戏较可能使用户再次玩这些视频游戏。相反,向用户提供不佳的多玩家体验的视频游戏不太可能维持高数量的用户。因此,视频游戏开发的挑战之一在于提供一种确保或提高令人享受的多玩家体验的几率的机制。



技术实现要素:

本公开内容的系统、方法和设备各自具有若干创新方面,它们中没有一个单独诠释本文公开的所有期望属性。在附图和下文描述中阐明了本说明书描述的主题的一种或多种实施方式的细节。

在某些实施方案中,公开了一种计算机实施的方法,该方法可以由下述交互计算系统实施,该交互计算系统配置有特定的计算机可执行指令,用以至少从等待玩视频游戏的实例的用户队列中选择多个用户。视频游戏的实例的至少第一部分可以在用户队列中的至少一个用户的用户计算设备上执行,而视频游戏的实例的第二部分可以在所述交互计算系统上执行。对于所述多个用户中的每个用户,该方法可以包括访问与对应用户相关联的一组输入数据。该组输入数据可以包括与该对应用户同视频游戏的交互相关联的用户交互数据。另外,该方法可以包括:至少部分地基于所述多个用户中的每个用户的一组输入数据来确定所述多个用户中的每个用户的预测保留(retention,留存)率。预测保留率可以指示所述多个用户中的每个用户将玩该视频游戏的时间的量。此外,该方法可以包括确定所述多个用户的预测保留率是否满足保留阈值。响应于预测保留率满足保留阈值,该方法可以包括:以所述多个用户作为所述视频游戏的实例的玩家开始所述视频游戏的实例。

在一些实施方案中,响应于预测保留率不满足保留阈值,该计算机实施的方法还包括从等待玩所述视频游戏的实例的玩家队列中选择新的多个用户。此外,所述多个用户中的至少一个用户可以包括在该新的多个用户中。在一些情况下,所述多个用户包括包含在所述用户队列中的用户子组。此外,所述多个用户可以是基于一个或多个选择准则选择的。选择准则可以包括下述中的一个或多个:用户在队列中的时长;用户的地理位置;用户包含在黑名单中;距宿留所述视频游戏的实例的第二部分的交互计算系统的主机服务器的地理距离;或者距主机服务器的网络距离。

对于一些实施方案,确定所述多个用户中的每个用户的预测保留率可以包括:对于所述多个用户中的每个用户,将所述一组输入数据提供至参数函数。参数函数可以是至少部分地基于机器学习算法生成的。此外,该方法可以包括至少部分地基于参数函数的输出来确定所述多个用户中的每个用户的预测保留率。在一些情况下,生成参数函数可以包括至少访问训练输入数据。训练输入数据与玩所述视频游戏的第二多个用户相关联。此外,该方法可以包括访问所述第二多个用户的一组输出数据。所述输出数据可以与所述第二多个用户的保留率相关联。另外,该方法可以包括:使用机器学习算法、至少部分基于所述一组输入数据和所述一组输出数据来确定参数函数。此外,该方法可以包括至少部分地基于下述中的一个或多个将不利因素(penalty,不利、惩罚)与参数函数相关联:参数函数中包括的变量的数量;与参数函数相关联的数学算法的复杂度;或者参数函数的输出相比于所述输出数据的准确度。在一些情况下,该方法可以包括:至少部分地基于与多个参数函数中的至少一些参数函数相关联的不利值(penaltyvalue,惩罚值)从多个参数函数中选择参数函数。

根据一些实施方案,该方法可以包括:接收所述多个用户中的第一用户和第二用户期望玩所述视频游戏的同一实例的指示。响应于预测保留率不满足保留阈值,该方法可以包括:将所述多个用户中的至少一些用户用不同的用户替换,而将第一用户和第二用户保持在所述多个用户中。在一些情况下,用户交互数据包括下述中的一个或多个:玩法风格;技能水平;人物选择历史;或角色历史。此外,该方法可以包括:响应于确定所述多个用户中的一用户与少于同所述视频游戏的阈值量交互历史相关联,将一组特定的用户交互数据与该用户相关联。

在本公开内容的某些实施方案中,公开了一种系统,该系统包括被配置为存储视频游戏的用户的用户交互数据的电子数据存储器。该系统还可以包括与电子数据存储器通信的硬件处理器。硬件处理器可以被配置为执行特定的计算机可执行指令,以至少从等待玩视频游戏的用户队列中选择一组用户。所述视频游戏的至少第一部分可以宿留(host)在用户队列中的至少一个用户的用户计算设备上,而所述视频游戏的第二部分可以由服务器系统宿留。另外,该系统可以基于该组用户生成匹配计划。每个匹配计划可以包括该组用户中的第一队用户以及该组用户中的第二队用户。对于该组用户中的每个用户,所述系统可以访问与该用户相关联的一组用户交互数据。该组用户交互数据可以从电子数据器储库访问。另外,该系统可以至少部分地基于与该组用户中的每个用户相关联的所述一组用户交互数据来确定匹配计划的参与得分。该系统还可以确定参与得分是否满足参与得分阈值。响应于确定参与得分满足参与得分阈值,该系统可以使用匹配计划开始所述视频游戏的实例。

在一些实施方案中,匹配计划可以是多个匹配计划中的一个。此外,硬件处理器还可以被配置为执行特定的计算机可执行指令,以至少:至少部分地基于每个匹配计划参与得分,从多个匹配计划中选择匹配计划。响应于确定参与得分不满足参与得分阈值,硬件处理器还可以被配置为执行特定的计算机可执行指令,以至少用用户队列中的另一用户替代该组用户中的至少一个用户。在一些情况下,将至少第一用户和第二用户指定为用户对,并且用用户队列中的另一用户替代该组用户中的至少一个用户可以包括保持该用户对。在一些情况下,参与得分阈值至少部分地基于用户队列中包括的用户的数量而变化。

本文公开的某些实施方案与存储计算机可执行指令的非暂态计算机可读存储介质相关,所述计算机可执行指令在由一个或多个计算设备执行时配置所述一个或多个计算设备进行包括下述的操作:从等待玩视频游戏的实例的用户队列中选择多个用户,以形成用于玩所述视频游戏的实例的匹配计划。对于所述多个用户中的每个用户,上述操作可以包括访问与该用户同所述视频游戏的交互相关联的一组用户交互数据。此外,上述操作可以包括至少部分地基于所述多个用户中的每个用户的所述一组用户交互数据来确定匹配计划的预测保留率。预测保留率可以对应于所述多个用户中特定数量的用户停止玩所述视频游戏的几率。此外,上述操作可以包括确定预测保留率是否满足保留阈值。响应于预测保留率满足保留阈值,上述操作可以包括选择所述匹配计划来玩所述视频游戏的实例。

在一些实施方案中,确定预测保留率可以包括将匹配计划的每个用户的所述一组用户交互数据提供给至少部分地基于机器学习算法生成的参数函数。上述操作还可以包括至少部分地基于参数函数的输出来确定匹配计划的预测保留率。在一些情况下,参数函数的输出包括匹配计划的预测保留率和与不满足第二保留阈值的保留率相关联的多个用户的身份。在一些情况下,保留阈值与第二保留阈值可以不同。

虽然本文公开了某些实施方案和实施例,但发明主题超出具体公开的实施方案延伸至其他可替代的实施方案和/或使用,并延伸至其修改和等同方案。

附图说明

贯穿所有附图,重复使用附图标记以指示所引用元件之间的对应关系。附图被提供用以说明本文所描述主题的实施方案,而非限制其范围。

图1a示出了可以实施用于视频游戏的动态用户匹配系统的一种或多种实施方案的联网计算环境的实施方案。

图1b示出了图1a的模型生成系统的实施方案。

图1c示出了图1a的保留分析系统的实施方案。

图2呈现了预测模型生成过程的实施方案的流程图。

图3呈现了多玩家匹配过程的实施方案的流程图。

图4呈现了群集(cluster)创建过程的实施方案的流程图。

图5呈现了针对用户的群集分配过程的实施方案的流程图。

图6呈现了对手匹配过程的实施方案的流程图。

图7呈现了队友选择过程的实施方案的流程图。

图8呈现了组合队友和对手选择的过程的实施方案的流程图。

图9示出了用户计算系统的实施方案。

图10示出了用于图9的用户计算系统的硬件配置的实施方案。

具体实施方式

介绍

一般期望的是视频游戏吸引大量的用户。该原则对于多玩家视频游戏同样适用。多玩家视频游戏可以包括两个用户(或更多个)彼此对战的视频游戏、两个用户(或更多个)在同一队伍玩游戏的视频游戏、以及多个用户的队伍彼此对战的视频游戏。

具有不佳的匹配算法的多玩家游戏可能导致较低的用户参与。换言之,匹配不佳的对手和/或队友可能导致用户停止玩视频游戏,或者导致与具有较好的匹配算法的多玩家游戏相比,用户较不经常玩该视频游戏。不佳的匹配可以包括尤其是将具有不同技能水平或不同玩法风格偏好的用户匹配在一起。

本文呈现的实施方案使用机器学习算法来确定多玩家视频游戏的匹配计划可能对匹配计划中包括的各个用户的保留造成的影响。此外,本文的某些实施方案涉及确定将两个或更多个玩家分组为队友和/或对手是否可能导致玩家中之一较有可能停止玩视频游戏。本文呈现的系统可以使用参数函数或预测模型来至少部分地基于特定匹配计划的配置以及用户的与用户同视频游戏的交互相关的用户交互数据来预测或评估用户的流失(churn)率或保留率。匹配计划可以包括识别:用户和/或队伍的数量;队伍中用户的数量;两个(或更多个)用户是队友还是对手;以及每个用户在视频游戏或比赛中的一个或多个角色。角色可以包括:用户使用的游戏内的或可玩的人物的身份,和/或可玩人物的角色,诸如进攻人物(诸如足球游戏中的前锋)、防守人物(诸如橄榄球游戏中的角卫)、坦克人物(或被设计为承受大量游戏内损伤的人物)、治愈人物、远战人物、伙伴等。

在一些实施方案中,将历史用户信息反馈至用以生成预测模型的机器学习系统,该预测模型预测例如玩游戏的预期持续时间、预期流失率、保留率、用户预期玩游戏的时长,或者用户预期的相对于之前玩过该游戏的历史用户组的玩游戏时间的指示。在匹配过程期间,将预测模型应用于与用户和被匹配为该用户的对手和/或队友的其他用户相关的信息,以预测在使用识别的匹配计划的情况下用户的预期玩游戏持续时间。基于预期的持续时间,系统可以确定是用选择的匹配计划开始游戏的实例还是生成新的匹配计划。在一些实施方案中,将预测模型单独应用于每个用户。在一些这样的实施方案中,至少部分地基于将预测模型应用于每个个人用户的结果来生成匹配计划。

本文呈现的某些另外的实施方案包括用于针对玩特定视频游戏的不同用户群组识别对手偏好和队友偏好中的一个或多个的系统和方法。可以基于用户的对手和/或队友偏好将用户分为不同的群集。通过使用一个或多个机器学习算法来分析一个用户群组在一定时间段内的用户交互数据进而识别不同类型的对手和/或队友偏好,可以确定不同的群集。例如,机器学习算法可以确定一些用户群组偏好具有特定技能水平和/或特定玩法风格的对手和/或队友。此外,机器学习算法可以识别用户的特定特征与用户的特定偏好之间的关系。例如,机器学习算法可以确定具有较低技能水平的一些用户偏好与其他具有对应的低技能水平的用户玩游戏,以使用户能够公平地参与游戏。然而,机器学习算法可以确定具有较低技能水平的一些其他用户偏好与具有较高技能水平的其他用户玩游戏,以增加学习机会和/或获胜的可能性。如上面所表明的以及本文进一步要表明的,本文描述的另外的或可替代的实施方案可以通过使用一个或多个参数函数或预测模型来确定用于开始视频游戏的多玩家实例的一个或多个匹配计划。在一些情况下,预测模型可以与群集组合。在其他实施方案中,可以使用预测模型,而非群集。

此外,在本文描述的某些实施方案中,可以至少部分地基于在用户的对手和/或队友偏好与同一个或多个用户群集中的每一个相关联的偏好之间的相似度来将该用户分组于上述一个或多个用户群集。可以通过分析关于视频游戏的用户交互信息来确定用户的对手和/或队友偏好。例如,如果对用户的用户交互信息的分析表明用户倾向于与使用近战人物的其他用户一起玩视频游戏,但在与使用远战(range-focused)人物的用户配对时以高于平均值的比率退出游戏或比赛,则可以将该用户与表明队友偏好于使用近战人物的用户的用户群集相关联。

此外,在本文描述的某些实施方案中,可以至少部分地基于与用户相关联的用户群集将该用户在视频游戏的实例中与另一用户配对为对手或队友。例如,继续前面的实施例,可以将用户与在玩视频游戏时倾向于选择近战(melee-based)人物的另一用户匹配。无论选择的用户是否为等待玩视频游戏的用户队列中的下一用户,均可以形成这种匹配。有利地,在某些实施方案中,通过使用机器学习来识别对手和/或队友偏好并通过使用偏好信息来选择被分组为队友或对手的用户,用户的参与和/或保留水平相比于其他匹配系统可以得到提高。

为了简化讨论,主要关于视频游戏来描述本公开内容。然而,本公开内容并不限于此,而是可以应用于其他类型的应用。例如,本文公开的实施方案可以应用于教育应用(例如帮助用户学习新语言的应用)或可以将两个或更多个用户配对为一个群组的其他应用。

示例性联网计算环境

图1a示出了可以实施用于视频游戏112的动态用户匹配系统的一种或多种实施方案的联网计算环境100的实施方案。联网计算环境100包括可以经由网络104与交互计算系统130通信的用户计算系统110。此外,联网计算环境100可以包括多个另外的用户计算系统102。用户计算系统102中的至少一些可以与用户计算系统110相同或类似地进行配置。

用户计算系统110可以包括、宿留或执行视频游戏112。在一些实施方案中,用户计算系统110可以宿留或执行视频游戏112的一部分,并且应用主机系统138可以宿留和/或执行视频游戏112的一部分。当用户开始在用户计算系统110上执行视频游戏112时,可以建立与交互计算系统130的网络连接,并且视频游戏112的两部分可以连同彼此一起执行。例如,应用主机系统138可以宿留并执行视频游戏112的包括视频游戏环境的部分,而用户计算系统110可以执行视频游戏112的使用户能够使用例如可玩游戏内人物与视频游戏环境进行交互的部分。视频游戏环境可以包括在线的或数字的持久世界,该持久世界可以在用户计算系统110的用户与应用主机系统138断开连接后保持。作为另一示例,视频游戏可以是包括客户端部分和服务器部分的大型多玩家在线角色扮演游戏(mmorpg),该客户端部分由用户计算系统110执行,而该服务器部分由可以被包括作为交互计算系统130的一部分的一个或多个应用主机系统(未示出)执行。

如之前所提及的,应用主机系统138可以宿留和/或执行视频游戏112的至少一部分。可替代地或另外地,应用主机系统138可以宿留或执行用户计算系统110无法宿留或执行的视频游戏144。然而,在一些情况下,用户可以使用用户计算系统110与视频游戏144交互。

用户计算系统110可以包括用于通过通信网络104建立通信的硬件和软件部件。例如,用户计算系统110可以配备有便于经由网络(例如互联网)或内联网进行通信的联网设备和网络软件应用(例如网页浏览器)。用户计算系统110可以具有不同的本地计算资源,诸如中央处理单元和架构、存储器、大容量存储装置、图形处理单元、通信网络可用性和带宽等等。此外,用户计算系统110可以包括任何类型的计算系统。例如,用户计算系统110可以包括任何类型的计算设备,诸如台式计算机、膝上型计算机、视频游戏平台、电视机机顶盒、电视(例如网络电视)、网络上使用的自助服务终端、汽车控制台设备、计算机化器具、可穿戴设备(例如具有计算功能的智能手表和眼镜)和无线移动设备(例如智能电话、pda、平板计算机等),仅举几例。在一些实施方案中,用户计算系统110可以包括下文关于图9和图10描述的实施方案中的一种或多种。

如之前所讨论的,可能期望维持或提高用户参与视频游戏112的水平。用于维持或提高用户参与视频游戏112的水平的一种方案包括:将用户与具有如下玩法特征或应用交互特征的其他用户相匹配,这样的玩法特征或应用交互特征是该用户在对手和/或队友方面期望或倾向于偏好的。这些玩法特征包括与技能水平、玩法风格(例如玩防御方、玩进攻方、扮演支持角色、偏好隐秘攻击、偏好使用魔法能力或偏好使用近战能力等的用户)和/或运动道德(例如,作为幸运赢家或作为输家的用户是合群的、不合群的、或不侮辱其他用户等)有关的特征。应当注意的是,虽然使用了术语“玩法特征”,但玩法特征并不一定受限于与玩视频游戏112有关的特征。在一些实施方案中,玩法特征可以包括与针对多玩家游戏匹配用户有关的一个或多个另外的或可替代的特征。这些另外的或可替代的特征可以包括与提高用户在多玩家游戏中的游戏体验有关的特征。例如,另外的或可替代的特征可以包括用户地理位置、用户在网络中的位置、用户的用户计算系统110的特征以及与用户的用户计算系统110通信的网络的一部分的网络特征(诸如最后一英里或用户的家庭网络)等等。

可以至少部分地基于一个或多个用户的用户交互数据来确定玩法特征。此外,可以至少部分地基于用户的用户交互数据来确定该用户在对手和/或队友方面期望或倾向于偏好的玩法特征。

交互计算系统130可以包括用于便利对视频游戏112的特定用户的玩法特征的确定和对视频游戏112的该特定用户对对手和/或队友用户的期望玩法特征的确定的多个系统或子系统。此外,交互计算系统130可以包括用于便利至少部分地基于视频游戏112的用户的玩法特征来匹配这些用户的多个系统和子系统。这些系统或子系统可以包括用户匹配系统132、用户群集系统134、技能评估系统136、应用主机系统138、用户数据储存库142、保留分析系统140和模型生成系统146。这些系统中的每一个均可以以硬件、软件或者硬件和软件的组合来实施。此外,这些系统中的每一个均可以被实施为包括计算机硬件的单个计算系统,或者被实施为一个或多个分离的或分布式的计算系统。此外,虽然图1a中示出的这些系统在交互计算系统130上存储或执行,但要认识到的是,在一些实施方案中,这些系统中的部分或全部可以在用户计算系统110上存储或执行。

用户匹配系统132识别两个或更多个用户或将他们匹配在一起,以用于玩视频游戏112。上述两个或更多个用户可以被匹配为对手、队友或者对手和队友的组合。为了匹配多个用户,用户匹配系统132可以访问与多个用户中的每个用户相关联的用户群集,以确定这些用户中的每个用户的玩法特征和/或这些用户中的每个用户对对手和/或队友的期望玩法特征。可以从用户数据储存库142访问用户群集。

模型生成系统146可以使用一个或多个机器学习算法来生成一个或多个预测模型或参数函数。这些参数函数中的一个或多个可以用于基于一组输入来确定预期的值或发生率(occurrence)。例如,预测模型可以用于基于该预测模型的一个或多个输入例如用户的历史用户交互信息来确定用户将停止玩视频游戏112的流失率或几率。作为另一示例,预测模型可以用于基于该预测模型的一个或多个输入来确定用户在购买视频游戏的游戏内物品(item)方面花费的预期金钱量。在一些情况下,预测模型可以被称为预测模型的原因在于例如输出可以是对动作或事件的预测或者与对动作或事件的预测有关,诸如对用户继续玩视频游戏112的预测。机器学习系统140可以使用多种不同类型的算法。例如,本文的某些实施方案可以使用逻辑回归模型。然而,其他模型也是可能的,诸如线性回归模型、离散选择模型或广义线性模型。

机器学习算法可以被配置为基于由模型生成系统146接收的新输入随时间适应性地发展和更新模型。例如,当新的用户信息可用时,可以定期地重新生成模型,以在用户信息随时间演变时帮助模型中的预测保持较准确。本文将较详细地描述模型生成系统146。在生成模型后,可以将模型提供至保留分析系统140。

可以用于生成和更新参数函数或预测模型的机器学习算法的一些非限制性示例可以包括监督式和非监督式机器学习算法,包括回归算法(诸如普通的最小二乘回归)、基于实例的算法(诸如学习矢量量化)、决策树算法(诸如分类树和回归树)、贝叶斯算法(诸如朴素贝叶斯)、群集算法(诸如k均值群集)、关联规则学习算法(诸如apriori算法)、人工神经网络算法(诸如感知机)、深度学习算法(诸如深度玻尔兹曼机)、降维算法(诸如主成分分析)、集成算法(诸如层叠泛化)和/或其他机器学习算法。

保留分析系统140可以包括用于基于将一用户的用户交互数据和匹配计划中包括的另外用户的用户交互数据应用于由模型生成系统140生成的预测模型来确定该用户的预测流失率或保留率的一个或多个系统。在一些情况下,用户匹配系统132可以使用由保留分析系统140确定的预测保留率来针对玩视频游戏112的实例确定是选择匹配计划还是生成新的匹配计划。在一些情况下,确定是否选择匹配计划包括将保留率与储存库(未示出)中指示是否选择新匹配计划的数据进行匹配。

此外,下文将关于保留分析系统140进一步详细地描述参数函数或预测模型的生成和应用以及它们在创建匹配计划或确定是否选择匹配计划来玩视频游戏112的实例方面的用途。在某些实施方案中,用户匹配系统132可以是模型生成系统146或者可以包括模型生成系统。此外,在一些情况下,用户匹配系统132可以是保留分析系统140或者可以包括保留分析系统。

在一些实施方案中,保留分析系统140可以接收特定匹配计划以及与该匹配计划中包括的每个用户相关联的用户交互数据、特征和/或元数据。然后,保留分析系统140可以输出匹配计划中包括的每个个人用户以及/或者匹配计划本身的保留率和/或预测花费量。例如,保留分析系统140可以接收在一个队伍包括用户a1、a2和a3以及在另一队伍包括用户b1、b2和b3的匹配计划。使用这六个用户中的每个用户的用户交互数据,保留分析系统140可以确定每个用户的保留率、匹配计划的保留率、每个用户的预测花费量和/或匹配计划的总预测花费量。

如上所述,本文可以使用的机器学习算法的一个非限制性示例为群集算法。用户群集系统134可以便利群集算法的执行。用户群集系统134至少部分地基于用户关于视频游戏112或关于用户访问的其他视频游戏的技能水平或其他玩法特征来将一组用户分组或划为多个群组。此外,用户群集系统134可以至少部分地基于每个用户对对手和/或队友的期望玩法特征将一组用户分组或划为多个群组。在一些实施方案中,用户可以与单个用户群集相关联,该单个用户群集与该用户的玩法特征和该用户在玩视频游戏112时对对手和/或队友的期望玩法特征二者相关联。在其他情况下,用户可以与多个用户群集相关联。用户群集中的一些可以与用户的玩法特征相关联,而用户群集中的一些可以与该用户在玩视频游戏112时对对手和/或队友的期望玩法特征相关联。可替代地或另外地,用户群集系统134可以基于与用户中的一个或多个相关联的、影响用户对视频游戏112或对用户访问的其他视频游戏的参与水平的一个或多个准则来对用户进行分组或群集。

技能评估系统136评估访问或玩视频游戏112的用户的技能水平。可以至少部分地基于与用户对视频游戏112的访问有关的用户交互数据来确定用户的技能水平。在一些情况下,技能评估系统136可以确定玩视频游戏112的用户的一般技能。在其他情况下,技能评估系统136可以评估与玩视频游戏112相关联的多个不同技能。这些技能可以基于视频游戏的类型而不同。例如,在运动类游戏中,技能可以与用户在玩视频游戏112时选择正确玩法、最佳玩法或最佳玩法策略的能力有关。作为另一示例,第一人称射击游戏,技能可以与用户在视频游戏112中射中敌人的准确度有关。与用户相关联的技能水平可以是确定将与用户相关联的用户群集的因素。此外,技能水平信息可以在用户数据储存库142处与用户相关联。

用户数据储存库142可以存储与一个或多个用户同视频游戏112和/或一个或多个其他视频游戏的交互相关联的用户交互信息。该用户交互信息或数据可以包括可以用于确定用户的玩法特征(诸如技能水平)和用户对对手和/队友的期望玩法特征的任何类型的信息。此外,用户交互信息可以用于确定用户在和与各种玩法特征相关联的用户合作或对战时对视频游戏112的参与水平。例如,用户交互信息的一些非限制性示例可以包括与下述有关的信息:用户在视频游戏112中采取的动作;用户的成功水平;用户在视频游戏112中的进度的度量;用户是否在视频游戏112中成功执行特定动作或是否在视频游戏112中成功完成特定目标;用户完成特定目标花费了多长时间;用户尝试了几次才完成特定目标;用户关于视频游戏112花费了多少金钱,这可以包括为获得对视频游戏112的访问所花费的金钱的量和除去为获得对视频游戏112的访问所花费的金钱的量之外关于视频游戏112所花费的金钱的量中的一者或二者;用户访问视频游戏112的频率;用户玩视频游戏112多长时间;用户是否在游戏会话(session,场次)中于战败或不实现目标后继续玩,等等。可以至少部分地基于与用户合作或对战的其他用户的玩法特征来收集、划分、加权和/或表征这些类型的用户交互信息中的每一种。例如,与用户在玩视频游戏112时的成功水平有关的用户交互信息可以基于队友的玩法特征不同地进行加权或分类。例如,基于队友的玩法特征表明该队友具有的技能水平比用户低还是高,该用户的成功水平可以被较高或较低地进行加权。

一般地,可以由交互计算系统130的各系统监测和/或获得用户交互信息。然而,在一些情况下,用户计算系统110可以监测和/或获得用户交互信息中的至少一些。在这样的情况下,用户计算系统110可以经由网络104与交互计算系统130共享用户交互信息。在一些实施方案中,用户交互信息中的一些或全部并非由视频游戏112存储,而是提供给在视频游戏112外部的用户计算系统110的另一部分或者由用户计算系统的另一部分和/或交互计算系统130确定。此外,用户数据储存库142可以存储与由用户群集系统134生成的一个或多个群集相关联的用户群集信息。本文描述的储存库中的每一个均可以包括非易失性存储器或者易失性和非易失性存储器的组合。

网络104可以包括任何类型的通信网络。例如,网络104可以包括广域网(wan)、局域网(lan)、蜂窝网络、自组网、卫星网络、有线网络、无线网络等中的一个或多个。此外,在一些情况下,网络104可以包括互联网。

示例性模型生成系统

图1b示出了图1a的模型生成系统146的实施方案。模型生成系统146可以用于基于多个用户的历史数据152来确定一个或多个预测模型160。通常,虽然不一定,但历史数据152包括与大量用户相关联的数据,诸如上百、上千、成千上万或更多的用户。然而,本公开内容并不限于此,并且上述多个用户可以包括任何数量的用户。此外,历史数据152可以包括从一个或多个数据源接收的数据,上述数据源诸如为应用主机系统(未示出)和/或一个或多个用户计算系统102。此外,历史数据152可以包括来自不同数据源的数据、不同的数据类型以及通过一个或多个用户与视频游戏112的交互生成的任何数据。在一些实施方案中,历史数据152可以包括非常多的数据点,诸如上百万数据点,上述数据点可以聚合为一个或多个数据集。在一些情况下,可以从用户数据储存库142访问历史数据152。在一些实施方案中,历史数据152受限于关于视频游戏的历史信息,但在其他实施方案中,历史数据152可以包括来自一个或多个其他视频游戏的信息。此外,在一些实施方案中,历史数据的一个或多个子集受日期限制,诸如受限于包括仅过去6个月的数据。

历史数据152可以包括用于关于视频游戏112的用户交互数据。此外,历史数据152可以包括与用户的对手和/或队友有关的信息。

在一些情况下,模型生成系统146还可以接收反馈数据154。该数据可以被接收作为监督式模型生成过程的一部分,这使用户诸如管理员可以向模型生成系统146提供可以用于便利预测模型160的生成的另外的输入。例如,如果历史数据152存在异常,则用户可以标记异常数据,从而使模型生成系统146能够以不同的方式处理标记的数据,诸如向该数据施加不同的权重或将该数据从模型生成过程排除。

此外,模型生成系统146可以接收控制数据156。该控制数据156可以识别模型形成系统146将针对其来确定模型的一个或多个特性或特征。此外,在一些情况下,控制数据156可以指示控制数据156中被识别的一个或多个特性的值。例如,假设控制数据156指示将使用历史数据152来生成用以确定用户玩视频游戏112的时长的预测模型。如果每个用户玩该游戏的时间量是已知的,则可以提供该数据作为控制数据156的一部分,或者作为历史数据152的一部分。作为另一示例,如果要生成用以例如基于用户玩视频游戏112是否达阈值时间段或是否在特定的阈值时间段后继续玩视频游戏112来估计要确定的保留率的预测模型,则控制数据156可以包括其数据被包括在历史数据152中的用户的保留率、对手数据和/或队友数据。

模型生成系统146大体上可以包括用于生成预测模型160的模型生成规则集170。规则集170可以包括一个或多个参数162。可以使用一个或多个数学函数将参数162的每个集合相组合,以获得参数函数。此外,可以用权重164对一个或多个特定参数进行加权。在一些情况下,可以通过将参数的集合与相应的权重164的集合相组合来获得参数函数。基于用于训练目的的特定输入数据(诸如历史数据152、反馈数据154和控制数据156)以及可以包括在控制数据156中的限定输出准则,可以在训练过程期间得出预测模型160和/或预测模型160的相应参数162。模型生成规则集170可以限定具体的机器学习规则和/或算法,模型生成系统146使用这些规则和/或算法、基于限定的目标函数诸如确定流失率来生成模型。在一些实施方案中,可以在模型生成过程的开始期间手动地提供初始参数162和权重164。可以在模型生成阶段更新和修改参数162和权重164,以生成预测模型160。

模型生成系统146可以根据数据的各种特征和参数对历史数据集合进行过滤和分类。例如,数据可以按数据源(诸如游戏应用数据、主机应用数据或用户简档数据)、信息类型(诸如玩游戏信息、交易信息、交互信息或游戏账号信息)、对手数据(诸如对手的技能、对手选择或扮演的角色或相对于对手的成功率)、队友数据(诸如队友的技能、队友选择或扮演的角色或当与特定队友合作时的成功率)或与数据相关联的其他类别进行分类。模型生成系统146可以过滤信息,以识别用于进一步处理的信息。在一些实施方案中,模型生成系统146被配置为在进行进一步处理之前将历史数据152过滤和分离为多种数据类型或类别。此外,在一些情况下,基于与不满足由模型生成系统146确定的阈值相关性的相关性相关联的数据,可以将历史数据152中的一些从历史数据152中过滤掉或移除。

可选地,预测模型160中的一个或多个可以与不利因素166相关联。这些不利因素166可以用于便利基于用于得出不利因素的一个或多个因素来生成或选择特定预测模型160。例如,包括在特定预测模型160中的数学复杂度或参数的数量可以用于生成该特定预测模型160的不利因素,该不利因素可以影响模型的生成和/或选择特定预测模型160的选择算法或选择几率。

在生成预测模型160之后,可以在保留分析系统140和/或用户匹配系统132的运行时间期间使用该模型以批准、拒绝或选择用于玩视频游戏112的实例的匹配计划。在一些情况下,预测模型160可以用于便利匹配计划的生成。在其他情况下,预测模型160可以用于确认特定匹配计划是否满足一组条件,诸如特定的阈值保留率。

示例性保留分析系统

图1c示出了图1a的保留分析系统140的实施方案。保留分析系统140可以应用或使用模型生成系统146生成的预测模型160中的一个或多个。虽然被示为单独的系统,但在一些情况下,保留分析系统140可以被包括作为用户匹配系统132的一部分。保留分析系统140可以使用一个或多个预测模型160a、160b、160n(其可以被统称为“多个预测模型160”或单数形式的“预测模型160)来处理输入数据172,以获得输出数据174。

在开始玩游戏期间或在视频游戏112的特定实例的比赛期间,保留分析系统140可以应用预测模型160。在一些实施方案中,可以在游戏的开端应用预测模型160以生成匹配计划或确认该匹配计划是否满足特定条件,诸如保留率或用户花费特定量的游戏内货币或现实世界货币(例如美元或欧元)的可能性。在其他实施方案中,在游戏期间的不同时间和/或在游戏的不同阶段应用预测模型160。在视频游戏112的实例开始期间或者在选择一组用户作为队友和/或对手期间,保留分析系统140接收可以应用于预测模型160中的一个或多个的输入数据172。输入数据172可以包括与正在玩视频游戏112或已指示期望玩视频游戏112的实例的用户相关联的一条或多条数据。该数据可以包括视频游戏112的用户交互数据、用户的简档数据以及可以应用于预测模型160以确定用户的保留率或流失率的任何其他数据。此外,输入数据172可以包括与可以被选择作为用户的对手和/或队友的一个或多个另外的用户相关联的一条或多条数据。与另外的用户相关联的数据可以包括:与关于所述用户所接收的为相同类型的数据;关于所述用户所接收的数据的子组类型数据;和/或与关于所述用户所接收的数据相比为另外类型的数据。在一些实施方案中,可以在将输入数据172提供给保留分析系统140之前对该输入数据进行过滤。

在一些实施方案中,可以存在单个预测模型160用于保留分析系统140。然而,如上所述,保留分析系统140可以包括多个预测模型160。保留分析系统140可以基于输入数据172和/或与输入数据172相关联的另外的标识符来确定使用哪个预测模型,诸如模型160a-160n中的任一个。另外,所选择的预测模型160可以是基于作为输入数据172提供的特定数据而选择的。作为输入数据172的一部分的特定类型数据的可用性可能会影响对预测模型160的选择。例如,将人口统计数据(例如年龄、性别、第一语言)纳入为输入数据的一部分可能导致使用预测模型160a。然而,如果特定用户的人口统计数据不可用,则可以替代地使用预测模型160b。

如上所述,预测模型160中的一个或多个可能是利用不利因素166生成的或者可能与不利因素相关联。不利因素可以用于影响模型的生成或对供保留分析系统140使用的预测模型的选择。

输出数据174可以是与一用户或一组用户停止玩视频游戏112的预测相关联的保留率或流失率。例如,在一些实施方案中,保留率可以在0至100之间,表明与被包括作为输入数据172的类似或相同数据相关联的用户将在阈值时间段内停止玩视频游戏112的预测百分比。在一些情况下,输出数据174还可以识别保留率的原因。例如,保留分析系统140可以表明特定用户的90%的保留率是至少部分地基于在玩视频游戏112时花费的金钱量。然而,保留分析系统140可以表明另一用户90%的保留率是至少部分地基于该用户所在地理区域处于零下温度。作为另一示例,保留分析系统140可以表明用户的20%的保留率可能至少部分地基于在25%以下的获胜比率。作为又一示例,保留分析系统140可以表明用户的25%的保留率可能至少部分地基于匹配计划中用户的队友和/或对手的技能水平不满足技能水平阈值。

预测模型160a、160b、160n大体上可以分别包括一个或多个参数162a、162b、162n的集合(其可以被统称为“参数162”)。可以使用一个或多个数学函数将参数162的每个集合(诸如参数162a)相组合,以获得参数函数。此外,可以通过权重164a、164b、164n(其可以被统称为“权重164”)对来自参数162a、162b、162n的一个或多个具体参数进行加权。在一些情况下,可以通过将参数的集合(诸如参数162a)与相应的权重164的集合(诸如权重164a)相组合来获得参数函数。可选地,预测模型160a、160b、160n中的一个或多个可以分别与不利因素166a、166b、166n(其可以被统称为“不利因素166”)相关联。

示例性预测模型生成过程

图2呈现了预测模型生成过程200的实施方案的流程图。过程200可以由可以生成包括一个或多个参数的一个或多个参数函数或预测模型的任何系统实施。在一些情况下,过程200用作基于历史数据或其他已知数据来开发一个或多个参数函数或预测模型的训练过程。过程200的整体或部分可以由例如交互计算系统130、用户匹配系统132、用户群集系统134、技能评估系统136、保留分析系统140、模型生成系统146或用户计算系统110及其他来实施。虽然任何数量的系统均可以整体地或部分地实施过程200,但为了简化讨论,将关于特定系统来描述过程200。此外,应当理解的是,可以随时间更新或重复执行过程200。例如,可以每月重复一次过程200,使得添加或发布新视频游戏,或者使得添加可用于进行分析或可用于玩视频游戏112的阈值数量的新用户。然而,可以更频繁地或更不频繁地执行过程200。

过程200始于框202处,在其处模型生成系统146接收包括视频游戏112的多个用户的用户交互数据的历史数据152。该历史数据152可以用作用于模型生成系统146的训练数据,并且可以包括用户人口统计资料或特征,诸如年龄、地理位置、性别或社会经济阶层。可替代地或另外地,历史数据152可以包括与下述相关的信息:一个或多个用户的玩法风格;玩视频游戏112所花费的金钱量;用户关于视频游戏112的成功或失败信息(例如用户获胜比率);玩视频游戏112的游戏频率;使用特定的可选游戏元素(例如可用的加强道具(boost)、跳级、游戏内提示、能力提升(powerup)等)的频率;针对视频游戏112购买游戏内物品所花费的真币的量(例如美元或欧元),等等。另外,历史数据152可以包括与同多个用户中的一用户一起玩视频游戏112的一个或多个其他用户有关的数据。在一些情况下,历史数据152可以包括多组用户的用户交互数据以及其他用户或视频游戏相关数据,其中每组用户包括一起作为对手、队友或作为对手和队友二者来玩视频游戏的多玩家实例的用户群组。用户或视频游戏数据不仅可以包括上述数据,还可以包括每个用户关于视频游戏112的技能信息和/或可以在视频游戏112中进行的一个或多个动作和/或视频游戏112的一个或多个元素(诸如等级或障碍)。另外,数据可以包括游戏内人物选择偏好、角色偏好以及可以用于区分不同用户的玩法风格、偏好或技能的其他信息。

在框204处,模型生成系统146接收指示对应于历史数据152的期望预测准则的控制数据156。该控制数据156可以指示模型生成系统146将针对其来确定模型的一个或多个特性或特征。可替代地或另外地,控制数据156可以包括与所接收的历史数据152相关联的特性或特征的值。例如,控制数据156可以将流失率或保留率识别作为待由下述模型预测的期望特性,该模型为待由模型生成系统146生成的模型。流失率或保留率可以对应于与历史数据152相关联的用户停止玩视频游戏112的百分比。此外,控制数据156可以识别与历史数据相关联的保留率。例如,控制数据156可以指示其数据被包括在历史数据152中的用户中的某些用户的保留率为60%。在一些实施方案中,控制数据156可以包括待由下述模型预测的多个特征或特性,该模型为待由模型生成系统146生成的模型。例如,控制数据156可以识别其数据被提供作为历史数据152的用户的保留率以及该保留率的原因(诸如,对手的技能水平相异不止一个阈值技能差值,或者高于阈值百分比的队友和/或对手在比赛完成之前退出视频游戏112的实例)二者,或者识别其数据被提供作为历史数据152的用户的保留率和花费的平均金钱量。

在框206处,模型生成系统146基于历史数据152和控制数据156生成一个或多个预测模型160。预测模型160可以包括一个或多个变量或参数162,上述变量或参数可以通过使用数学算法或模型生成规则集170相组合,以基于历史数据152以及在一些情况下还基于控制数据156来生成预测模型160。此外,在某些实施方案中,框206可以包括施加一个或多个反馈数据154。例如,如果预测模型160被生成作为监督式机器学习过程的一部分,则用户(例如管理员)可以在生成预测模型160时和/或为了改善预测模型160的生成过程而向模型生成系统146提供一个或多个输入。例如,用户可以意识到特定地区或地理区域出现断电。在这样的情况下,用户可以提供反馈数据154,以减少历史数据152中可能对应于来自在断电期间受影响地理地区的用户的部分的权重。此外,在一些情况下,可以使用例如权重164对变量或参数中的一个或多个进行加权。变量的权重的值可以至少部分地基于该变量就生成满足或在阈值差异内满足控制数据156和/或历史数据152的预测模型160方面具有的影响。在一些情况下,可以使用变量和权重的组合来生成预测模型160。

可选地,在框208处,模型生成系统146将不利因素应用于在框206处生成的一个或多个预测模型160中的至少一些或者将不利因素166与在框206处生成的一个或多个预测模型160中的至少一些相关联。与一个或多个预测模型160中的每一个相关联的不利因素可以不同。此外,用于预测模型160中的每一个的不利因素可以至少部分地基于:预测模型160的模型类型,和/或用于将预测模型160的参数162相组合的数学算法以及包括在参数函数中的参数的数量。例如,当生成预测模型160时,可以应用不赞成对该模型施加大量变量或较大量处理能力的不利因素。作为另一示例,使用的参数或变量比另一预测模型多的预测模型160可以与比上述使用较少变量的预测模型的不利因素大的不利因素166相关联。作为又一示例,使用与另一预测模型相比需要更大量的处理能力进行计算的模型类型或数学算法的预测模型可以与比使用需要较少量的处理能力进行计算的模型类型或数学算法的预测模型的不利因素大的不利因素相关联。

在框210处,模型生成系统146至少部分地基于预测模型160的准确度和任何相关联的不利因素来选择预测模型160。在一些实施方案中,模型生成系统146选择与比另一预测模型160低的不利因素相关联的预测模型160。然而,在一些实施方案中,如果例如预测模型160的输出与同较低不利因素相关联的预测模型相比在阈值程度(thresholddegree)内更准确,则模型生成系统146可以选择与较高不利因素相关联的预测模型。在某些实施方案中,框210可以是可选的或被省略。例如,在一些情况下,预测模型160可以不与不利因素相关联。在一些这样的情况下,可以基于预测模型生成的输出的准确度来从多个预测模型中选择预测模型,或者可以随机地从多个预测模型中选择预测模型。

示例性多玩家匹配过程

图3呈现了多玩家匹配过程300的实施方案的流程图。过程300可以由可以创建两个或多个用户的匹配计划的任何系统实施,上述两个或多个用户可以作为对手、队友或对手和队友二者的组合玩视频游戏112。过程300的整体或部分可以由例如交互计算系统130、用户匹配系统132、用户群集系统134、技能评估系统136、保留分析系统140、模型生成系统146或用户计算系统110及其他来实施。虽然任何数量的系统均可以整体地或部分地实施过程300,但为了简化讨论,将关于特定系统描述过程300。此外,应当理解的是,可以随时间更新或重复执行过程300。例如,可以针对视频游戏112的每个游戏会话或视频游戏112的每个回合重复过程300。然而,可以更频繁地或更不频繁地执行过程300。

过程300始于框302处,于其处用户匹配系统132选择待包括在用于多玩家视频游戏112的匹配计划中的多个用户。用户匹配系统132可以使用任何类型的系统或过程来识别要被分组在一起作为队友、对手或队友和对手二者的组合的用户。例如,用户匹配系统132可以基于等待玩视频游戏的玩家队列中的技能水平和/或位置来识别用户。作为另一示例,用户匹配系统132可以在一定时间窗内随机地选择用户。该时间窗可以与一组用户已在用户队列中等待的时长有关。此外,时间窗可以基于用户队列中的用户的数量而变化。此外,在一些情况下,可以基于上述多个用户中的至少一些用户已经表明期望一起玩视频游戏112的指示来选择上述多个用户中的至少一些用户。

在框304处,对于在框302处识别的多个用户中的每一个,保留分析系统140接收包括多玩家视频游戏112的用户的用户交互数据的一组输入数据(诸如输入数据172)。该输入数据172通常——然而也不一定必需——是特定于用户的数据。此外,该组输入数据172可以包括用户的历史用户交互数据和近期用户交互数据二者。历史用户交互数据可以包括来自非当前游戏会话的用户交互数据和/或满足阈值时段或比特定阈值时间段长久的用户交互数据。例如,历史用户交互数据可以包括至少一周或一个月的用户交互数据。可替代地或另外地,历史用户交互数据可以包括时间上来自在5个或10个游戏会话以前的游戏会话的用户交互数据。

相反,近期用户交互数据可以包括满足阈值时段或比特定阈值时间段更近的用户交互数据。例如,近期用户交互数据可以包括时间上在一周或一个月以内的用户交互数据。可替代地或另外地,近期用户交互数据可以包括来自时间上在3个、5个或10个游戏会话以下的游戏会话的用户交互数据。

在一些实施方案中,历史用户数据和近期用户数据可以在预测模型160内被不同地加权。在一些情况下,可以重复预测模型160内的每个参数162。例如,参数的一个版本可能基于历史用户数据并且可能与一个权重164相关联,而参数的另一版本可能基于近期用户数据并且可能与不同的权重164相关联。此外,在一些实施方式中,可以基于浮动(scaling)比例或累进程度(graduated)来施加权重。例如,较近的历史用户数据可以与较高的权重164相关联,而较不近的历史用户数据。

用户交互数据可以包括同用户与视频游戏112的交互有关的任何数据,包括:例如用户选择的游戏内人物的身份;用户扮演角色的域值百分比次数(诸如治愈者或防御者);用户玩视频游戏所花费的时间量;用户关于视频游戏112所花费的金钱量;与用户相关联的技能水平等。此外,框304可以包括接收与之前同用户一起玩的对手或队友有关的数据。该另外的数据可以包括之前与用户一起玩的对手或队友的用户交互数据。在一些情况下,用户的用户交互数据可以包括与对手或队友相关的数据。例如,用户的用户交互数据可以指示:当用户的队友的技能水平比该用户高时,该用户通常(例如比阈值百分比更频繁)作为治愈者玩视频游戏112。然而,用户的用户交互数据可以指示:当用户的队友的技能水平比该用户低时,该用户通常作为近战攻击人物玩视频游戏112。

在某些实施方案中,对于未与用户交互数据相关联的用户或者其相关联的用户交互数据是从少于阈值数量的比赛或少于阈值量的玩视频游戏112得出的用户,可以向参数函数提供特定值(诸如默认值)。有利地,在一些这样的实施方案中,通过对用户使用特定值,可以对玩视频游戏112的新用户或者与少于阈值量的比赛或少于阈值量的玩视频游戏112的时间相关联的用户使用过程300。

在框306处,保留分析系统140使用参数函数或预测模型160、至少部分地基于上述多个用户中的每个用户的一组输入数据以及上述多个用户中的每个其他用户的输入数据来确定该用户的预测保留。预测保留可以是包括在匹配计划中的用户中的每一个或用户群组继续玩视频游戏112达特定时间段的几率。可替代地或另外地,预测保留对于包括在匹配计划中的每个用户或用户群组可以是值“是”或“否”,在特定的阈值几率下指示用户是会继续玩视频游戏112还是会停止玩视频游戏112。在一些情况下,每个用户的该组输入数据可以变化,并且可以包括不同类型的数据。例如,一个用户的偏好人物类别可能是已知的并且被包括在用户交互数据中,但另一用户的偏好人物类别可能是未知的并因此可能从该另一用户的用户交互数据中省略。此外,在一些情况下,可以向预测模型160提供详细说明哪些玩家是队友哪些玩家是对手的特定匹配计划,以确定上述多个用户中的每一个的保留。在一些这样的情况下,除了保留之外或代替保留,预测模型160可以输出使该组用户的保留率最大化的匹配计划或可替代匹配计划。在一些情况下,提供至参数函数的该组输入数据可以识别要被分组在一起作为队友或对手的两个或更多个用户。例如,虽然可以使用特定的匹配程序在框302处选择两个玩家,但两个其他玩家可以指示他们期望一起比赛。因此,在一些情况下,提供至参数函数的匹配计划可以指示匹配计划中所识别的保持角色的用户,并且可以指示匹配计划中未被分配固定角色的其他用户。

可选地,在框308处,保留分析系统140使用预测模型160以至少部分地基于上述多个用户中的每个用户的一组输入数据以及上述多个用户中的每个其他用户的输入数据来确定该用户的预测保留的可能原因。例如,可以在预测模型160的生成期间确定包括不止一个治愈者的用户队伍与比在人物成员中包括一个或更少治愈者的用户队伍低的保留率相关联。因此,在一些这样的情况下,预测模型160可以指示低保留率或在特定阈值以下的保留率可能是由于包括在匹配计划中的用于特定队伍的多个用户倾向于选择治愈型人物(或在视频游戏112中被配置为作为治愈者的人物)。在一些情况下,保留率可以指示特定匹配的保留值。在其他情况下,保留率可以指示在一时间段内玩视频游戏112的长期或总体保留。

在判定框310处,保留分析系统140确定用户中的一个或多个用户的预测保留是否满足保留阈值。如果用户中的一个或多个用户的预测保留满足保留阈值,则应用主机系统138使用该匹配计划开始视频游戏112的可玩实例。如果用户中的至少一个用户的预测保留不满足保留阈值,则过程300可以返回至框302,于其处可以选择一组新的或不同的用户或者多个新的或不同的用户。在一些情况下,可以在框302处选择一组完全不同的用户。在其他情况下,可以在框302处选择一组并非完全不同的用户。例如,在一些情况下,可以用其他用户替换仅具有在阈值以下的保留水平的用户。在其他情况下,被选择进行代替的用户可以是基于一个或多个另外因素进行选择的,诸如用户已在队列中等待玩视频游戏112的时长。在一些实施方案中,在选择新的多个用户之前,可能需要阈值数量的用户不满足保留阈值。例如,在一种使用情况下,如果包括在匹配计划中的十个用户中有八个或更多个用户与满足保留阈值的保留相关联,则过程300进行至框312。因此,在该非限制性示例使用情况下,与不满足保留阈值的保留相关联的单个用户可能不会阻止该匹配计划在框312处被用于开始视频游戏的可玩实例。

在一些实施方案中,单独的保留阈值可以与匹配计划和包括在匹配计划中的每个用户的相关联。两个保留阈值可以是相同的或者可以是不同的。在一些情况下,在匹配计划被选择用于玩视频游戏的实例之前,应当满足两个保留阈值。在其他情况下,匹配计划或一组用户中的每个用户满足保留阈值可能就足够了。在一个示例中,各个用户的保留值的聚合可以用于创建匹配计划保留值。在一些情况下,作为判定框310的一部分,将聚合的保留值与匹配计划保留阈值进行比较。此外,如果满足匹配计划保留阈值,但是包括在匹配计划中的阈值数量的用户与不满足保留阈值的保留率相关联,那么该匹配计划可能不会被选择用于玩视频游戏的实例。在一些实施方式中,每个用户可以都满足保留阈值,但是匹配计划可能不满足保留阈值,从而导致匹配计划不被选择。

在某些实施方案中,预测模型160可以考虑指示期望一起玩视频游戏112的实例的用户。例如,与指示期望一起玩的第一用户和第二用户之间的关系相关联的预测模型160的参数可以以与针对未指示他们期望一起玩的用户所进行的不同的方式进行加权。有利地,在某些实施方案中,通过修改与指示期望一起玩的用户的交互相关联的参数的权重,保留率可以考虑可能在匹配计划中是不期望的但是指示期望一起玩的用户。例如,两兄弟姐妹(siblings)可能具有不同的玩法风格或者技能水平,这导致预测模型160输出低保留率。然而,保留分析系统140可以修改参数函数的参数的权重,以考虑兄弟姐妹期望一起玩的指示。

在一些情况下,在框302处选择的用户的数量等于将要玩视频游戏112的实例的用户的数量。在其他情况下,在框302处选择的用户的数量多于将要玩视频游戏112的用户的数量。在一些这样的情况下,选择匹配计划中包括的具有最高保留的用户。在一些其他这样的情况下,可以使用一个或多个另外的选择准则来选择匹配计划。例如,可以选择满足保留阈值并且包括已经在用户队列中等待玩视频游戏112超过阈值时间段的一个或多个用户的匹配计划。

在一些情况下,上述实施方案中的一个或多个可以与群集组合,以便于确定用于一组用户在多玩家视频游戏中的匹配计划。在下文中更详细地描述了可以与本公开内容一起使用的群集的一些示例性实施方案。

示例性群集实施方案

在一些实施方案中,群集处理可以用于对共享一个或多个特征的用户进行分组,这可以用于识别关于视频游戏112的多玩家匹配偏好。群集可以包括共享一个或多个特征的一个或多个用户。匹配偏好可以与每个群集相关联,以便于识别与群集相关联的用户的一个或多个对手或队友。其特征与特定群集匹配的用户可以被分配给该特定群集。可以基于与群集相关联的匹配偏好来针对用户选择对手或队友。下文描述使得能够使用群集来进行多玩家匹配的某些非限制性示例过程。

示例性群集创建过程

图4呈现了群集创建过程400的实施方案的流程图。过程400可以由可以基于每个用户与视频游戏的交互以及与每个用户相关联的参与水平来创建多个用户群集或群组的任何系统实施。例如,过程400的整体或部分可以由交互计算系统130、用户匹配系统132、用户群集系统134、技能评估系统136或用户计算系统110及其他来实施。虽然任何数量的系统均可以整体地或部分地实施过程400,但为了简化讨论,将关于特定系统来描述过程400。

此外,应当理解的是,可以随时间更新或重复执行过程400。例如,可以每月重复一次过程400,使得添加或发布新视频游戏,或者使得添加可用于进行分析或者可用于玩视频游戏112的阈值数量的新用户。然而,可以更频繁地或更不频繁地执行过程400。此外,可以重复过程400,以基于玩家的能力或玩法特征来识别一个或多个用户群集,并且基于用户对对手和/或队友的期望玩法特征来识别一个或多个用户群集。在一些情况下,基于用户的选择,该用户可以与不同的用户群集相关联。例如,用户在选择近战人物(诸如使用剑进行战斗的人物)时可以与一个用户群集相关联,而在选择远战人物(诸如使用弓弩进行战斗的人物)时可以与另一用户群集相关联。

过程400始于框402,在其处用户群集系统134识别视频游戏112的一组用户。为了简化讨论,主要关于单个视频游戏诸如视频游戏112来描述过程400。然而,本公开内容不限制于此,并且过程400可以被实施用于多个视频游戏。在一些情况下,多个视频游戏中的每一个可以具有相同的种类(genre),或者可以共享共同的一个或多个特征。在其他情况下,多个视频游戏可以跨多个种类分布。种类可以基于主题和/或游戏类型(例如,开放式世界游戏、角色扮演游戏、第一人称射击游戏、侧滚游戏、模拟、太空战斗、西部游戏等)。此外,在一些情况下,过程400包括分析跨另外的视频游戏的数据,以确认或精炼基于对视频游戏112的分析所创建的群集。

在框404处,针对在框402处识别的每个用户,用户群集系统134监测用户随时间与视频游戏112的交互,以获得该用户的用户交互数据。这种监测可以通过下述方式进行:通过检阅(review)不同时间段内用户的多组用户交互数据;或者通过实时地从视频游戏112拉出数据并存储该数据以用于后续检阅。该用户交互数据可以包括之前关于图1所描述的信息中的任一种。此外,用户交互数据可以包括与下述有关的数据:用户在视频游戏中的进度;用户在成功完成一个级别或目标时所采取的动作;用户未成功完成一个级别或目标时所采取的动作;基于用户在一目标处成功所花费的时长的、用户所采取动作的差异;用户每次玩视频游戏的时长或用户玩视频游戏的平均时长;用户通常玩游戏达短时间段还是长时间段;用户在玩视频游戏时是否花费现实世界货币(与游戏内货币不同),这可以被用作用以识别用户参与水平(例如,与未在玩视频游戏上花费金钱的用户相比,在玩视频游戏时花费金钱的用户更可能再次玩该游戏)的因素;以及可以用于度量用户在与其他用户合作和/或对战时对视频游戏的参与水平的任何其他准则。此外,用户交互数据还可以包括:与用户为了访问视频游戏所使用的用户计算系统110的类型有关的信息;基于用于访问视频游戏的用户计算系统110的类型,存在的差异(如果有的话)以及用户如何与视频游戏交互;用户是否使用多个用户计算系统110来访问视频游戏,等等。此外,如之前所提及的,用户群集系统134可以基于用户的对手或队友的特征来对用户交互数据进行分类或以其他方式进行界定(delineate)。

在一些情况下,用户群集系统134将其用户交互数据不满足最小的交互准则集合的用户过滤掉。该最小的交互准则集合可以与用户玩游戏的时长有关,或者与用户玩该视频游戏是否达多个游戏会话有关。例如,玩视频游戏少于阈值量的时间或者少于阈值数量的游戏会话的用户可能不能提供充足的数据来确定该用户的玩法特征和/或对队友和/或对手的玩法特征的偏好。此外,最小的交互准则集合可以与用户在视频游戏112中采取的动作的类型有关,与视频游戏112的类型有关以及与用户在视频游戏112中进行的进度有关。在一些情况下,其用户交互数据不满足最小交互准则集合的用户可以被保持,但是与用户交互数据满足最小交互准则集合的用户相比被较低程度地加权。

在框406处,对于该组用户中的每个用户,技能评估系统136至少部分地基于该用户的用户交互数据来识别该用户的技能水平和玩法风格中的一个或多个。确定用户的技能水平和玩法风格可以包括确定用户在玩视频游戏112时的成功率和/或用户在玩视频游戏112时所采取的游戏内动作的类型。

在框408处,对于该组用户中的每个用户,用户群集系统134至少部分地基于该用户的用户交互数据和参与水平来识别该用户偏好的对手和/或队友。用户交互数据可以包括指示用户是否与同特定玩法特征相关联的对手和/或队友完成了视频游戏112的比赛或一部分的数据。此外,用户交互数据可以包括指示用户是否与同特定玩法特征相关联的特定的对手和/或队友玩了视频游戏112的另外的比赛或部分的数据。此外,框408可以包括确定用户的对手和/或队友的玩法特征。

此外,确定用户的参与水平可以包括确定用户在玩视频游戏时是否花费了金钱和/或花费了多少金钱。在一些情况下,确定用户的参与水平可以包括基于针对该用户收集的用户交互数据来确定用户将再次玩视频游戏的几率。在一些情况下,确定用户的参与水平可以包括确定用户关于视频游戏的技能。此外,执行与框406和框408中的一个或多个相关联的操作可以包括应用使用用户交互数据作为输入的一个或多个机器学习算法,以基于与用户一起玩视频游戏112的对手和/或队友来确定用户继续或停止玩该视频游戏的几率。这些机器学习算法可以包括任何类型的机器学习算法,包括分级群集算法和群集分析算法,诸如k均值算法。在一些情况下,机器学习算法的执行可以包括使用人工神经网络。通过使用机器学习技术,可以分析大量(诸如太字节或者拍字节)的用户交互数据,以识别用户偏好。这些用户偏好可以是使用历史数据离线确定的。此外,然后可以实时地使用确定的偏好来选择与未使用本文所公开技术的其他匹配系统相比提供增加的用户享受和后续参与的匹配计划(如下文更详细描述的)。

在框410处,基于用户的技能水平、玩法风格、偏好的对手和/或偏好的队友中的一个或多个,用户群集系统134确定多个用户群集。确定用户群集可以包括基于如根据在框404处监测的用户交互数据所确定的用户的行为来对用户进行分组。此外,将用户分组成用户群集可以包括基于针对用户所收集的指示对视频游戏的参与水平的用户交互数据来识别与每个用户相关联的特征。例如,假设当具防御意识的队友被选择时,系统确定多个用户通常玩视频游戏112达五次或更多次比赛。此外,假设当与具攻击意识队友配对时,这些用户通常在单次比赛之后停止玩视频游戏。这样的多个用户可以被一起群集到针对下述用户的用户群集中,其中上述用户偏好与更加感兴趣于使用防御玩法风格来玩视频游戏112的队友合作。相反,当与更具攻击意识的队友配对时倾向于玩视频游戏112达更多游戏会话的其他玩家群组可以被一起群集到单独的用户群集中。作为另一示例,当与使用相同人物类型的用户匹配时倾向于退出视频游戏112或者特定比赛、但是当与使用不同人物类型的用户匹配时倾向于完成比赛的用户可以与用户交互数据并未指示对手偏好的用户单独地群集。可以使用一个或多个机器学习算法,以至少部分地基于该组用户的用户交互数据来识别用户的群集。

在一些情况下,框410可以包括在每个群集中生成子群集。例如,一个群集可以包括倾向于偏好与使用坦克型风格的队友玩的用户,这样的队友可以包括其游戏内人物可能会在战败之前受大量损伤的队友。在该群集内,可以存在两个子群集。一个子群集可以用于倾向于偏好与使用坦克型风格的队友一起玩的用户,而与用户所选择的人物无关。另一个子群集可以用于下述用户:这样的用户在选择具有低生命值的魔法型人物时倾向于偏好使用坦克型风格的队友,但在选择坦克风格的人物时偏好不同类型的队友。

示例性群集分配过程

图5呈现了针对用户的群集分配过程500的实施方案的流程图。过程500可以由可以基于用户与视频游戏的交互来识别与用户相关联的用户群集的任何系统实施。例如,过程500的整体或部分可以由交互计算系统130、用户匹配系统132、用户群集系统134、技能评估系统136或用户计算系统110及其他来实施。虽然任何数量的系统均可以整体地或部分地实施过程500,但为了简化讨论,将关于特定系统来描述过程500。此外,还应当理解的是,可以随时间更新或重复执行过程500。例如,过程500可以每月重复一次,可以自过程500的先前性能以来用户进行阈值数量的游戏会话之后被重复,或者可以在玩家玩新视频游戏之后被重复。然而,可以更频繁地或更不频繁地执行过程500。

过程500始于框502处,于其处用户群集系统134识别视频游戏112的用户。可以基于用户账号信息诸如用户登陆信息、或者基于与用户的头像相关联的信息诸如屏幕名称来识别用户。可替代地或另外地,可以基于与用户的用户计算系统110相关联的信息诸如因特网协议(ip)地址来识别用户。

在框504处,用户群集系统134监测用户在一时间段内与视频游戏112的交互,以获得该用户的用户交互数据。这种监测可以通过下述方式进行:通过检阅不同时间段内用户的多组用户交互数据;或者通过实时地从视频游戏112拉出数据并存储该数据以用于后续检阅。通常,时间段是可以包括用户在多个游戏会话中与视频游戏112的交互的历史时间段。此外,时间段的长度可以被选择为满足或超过最小时间阈值。例如,时间段可以被选择成至少为或者超过一个月、两个月、半年等。在一些情况下,代替监测用户在一时间段内与视频游戏的交互或除了监测用户在一时间段内与视频游戏的交互之外,用户群集系统134可以被配置为监测用户在阈值数量的游戏会话中的交互。例如,用户群集系统134可以被配置为监测用户的第一数量(例如,五个、十个、十二个等)的游戏会话,或者监测用户的最近几个游戏会话。在一些情况下,框504可以包括监测用户与多个视频游戏的交互。多个视频游戏可以是与视频游戏112相同类型的视频游戏。在其他情况下,多个视频游戏可以不限于特定类型的视频游戏。在一些实施方案中,时间段可以是或者可以包括用户于其间玩与视频游戏112一起包括的训练部分或交互教程的时间。

在框506处,用户群集系统134访问用于一组群集的群集定义。访问用于该组群集的群集定义可以包括访问用户数据储存库142。群集定义可以包括与一组用户的用户交互数据相关或者从该组用户的用户交互数据得出的一组特征。此外,该组特征可以识别与该用户群集相关联的用户偏好的对手和/或队友的类型。另外,该组特征可以识别或者包括与用户群集相关联的用户的特征。

在框508处,使用在框506处访问的群集定义和在框504处获得的用户交互数据,用户群集系统134从该组群集中识别群集。从该组群集中识别群集可以包括将用户交互数据的特征与同该组群集中的每一个相关联的特征进行匹配。例如,如果用户交互数据指示用户偏好在夺旗风格的射击游戏中留在后方并且保护旗帜,那么用户群集系统134可以识别与下述用户相关联的用户群集:上述用户在夺旗风格的射击游戏中偏好倾向于花费较多时间以尝试夺旗的队友。作为另一示例,如果用户交互数据指示用户与玩特定视频游戏的其他用户相比在玩该视频游戏方面具有相对较低的技能水平并且当对手具有的技能水平比该用户高时该用户倾向于退出比赛,那么用户群集系统134可以识别与下述低技能用户相关联的用户群集,上述低技能用户偏好与同视频游戏中与其他用户相比具有低技能的其他用户对战。

在一些情况下,从该组群集中确定群集可以包括识别用户在视频游戏中对事件的动作或反应,包括用户如何响应游戏中的障碍。另外,从该组群集中确定群集可以包括识别用户在游戏中对其他用户的动作或反应。这些动作或反应可以包括确定用户在与同特定特征相关联的用户合作或对战时是否过早地退出游戏或比赛或者过早地退出游戏或比赛的频率。此外,上述动作或反应可以与用户在和同特定特征相关联的用户合作或对战时的玩法风格或玩法风格的变化有关。

通过分析从用户交互数据获得的用户的动作或反应,可以确定用户的参与水平以及各种相关的参与特征。这些参与特征可能与用户偏好与他们玩视频游戏112的对手和队友的类型有关。此外,从用户与视频游戏的交互得出的与用户有关的这些参与特征和/或其他特征可以与同该组群集相关联的特征相比较,以识别与该用户相关联的对应群集。参与特征的一些非限制性示例可以包括:用户技能水平;对对手的期望技能水平;对队友的期望技能水平;用户的人物选择偏好;对对手的期望人物选择;对队友的期望人物选择;用户的玩法风格;对对手的期望玩法风格;以及对队友的期望玩法风格。

在一些实施方案中,参与特征可以呈现给用户,并且作为响应,用户群集系统134可以接收来自用户的关于参与特征的输入。例如,用户可以指示该用户是否同意该分析。作为另一示例,用户可以指示他或她正在试用其计划或并不计划继续使用的新玩法风格。在又一示例中,用户可以指示他或她不同意期望的对手或队友特征,原因在于例如该用户出于个人原因正在与非偏好的对手或者队友玩(例如非偏好的对手或队友是朋友或亲属)。用户群集系统134可以使用用户输入来调整或确认其对特定用户群集的选择。在一些情况下,可以基于用户群集系统134已在框504处获得的数据的量对用户输入进行加权。例如,对于具有较少历史(诸如两个或三个游戏会话)的用户而言可以较重地对用户输入进行加权,而对于具有大量历史(诸如五十或一百个游戏会话)的用户而言可以较轻地对用户输入进行加权。

在一些情况下,交互计算系统130可以使滑动条或一些其他用户接口元件显示于用户,以在幅度(spectrum)上指示用户的参与特征。例如,滑动条可以指示用户倾向于偏好玩防御性游戏计划或者使用远战武器的时间的百分比。虽然对用户交互数据的分析可以呈现给用户,但可以向用户通知或不向用户通知该信息正被用于调整队友或对手与该用户的匹配。

在用户已经玩视频游戏112的比赛或一部分之后,用户群集系统134可以询问用户以帮助确定用户偏好,或者获得关于用户如何看待对队友或对手的选择的信息。一般地,虽然不是必需的,但是呈现给用户的问题涉及当与具有一个或多个识别的特征的用户玩时对视频游戏的享受度和/或参与水平,上述一个或多个识别的特征是与视频游戏的已完成比赛或部分的队友或者对手共享的。换言之,一般地,虽然不是必需的,但所呈现的问题被设计成避免对其他用户的人身攻击。可以在用户指示其正在结束游戏会话之后询问该用户。因此,可以在不中断用户的游戏体验的情况下询问该用户关于他或她的体验。此外,用户群集系统134可以解析用户的聊天消息数据,以确定用户的参与水平和/或用户对队友或对手的观点,包括队友或对手的玩法风格或人物选择。在一些情况下,解析聊天消息数据可以用于确定是否应当将一个用户列入黑名单以防止其在视频游戏112的会话中与其他用户匹配。

在框510处,用户群集系统134将用户与所识别的群集相关联。将用户与所识别的群集相关联可以包括将用户与所识别的群集之间的关联存储在用户数据储存库142处。

在一些实施方案中,过程500可以用于确定用户停止玩视频游戏112的可能性。该确定有时可以被称为“流失率”或“流失”,并且可以与用户切换视频游戏或停止玩某些视频游戏的频率相关联。例如,倾向于玩视频游戏持续一个或两个游戏会话然后转移到另一视频游戏的用户可能具有高流失率。通过识别这样的用户,可以在生成匹配或匹配计划时修改用户对队友或对手的选择,以减小某些用户的流失率。例如,如果确定将用户与在玩法风格上更具防御意识的队友匹配而导致与其他的匹配计划相比该用户以更高的比率停止玩视频游戏112或退出比赛,那么该用户可以与偏好同较快的玩家或较具攻击意识的玩家玩的用户的群集相关联。

在一些情况下,用户可以与识别对手和队友偏好二者的一个用户群集相关联。可替代地,用户可以与识别对手和队友偏好二者的多个用户群集相关联。在又一实施方案中,用户可以与识别对手偏好的一个或多个用户群集相关联以及与识别队友偏好的一个或多个单独的用户群集相关联。在一些这样的情况下,过程500可以执行一次或多次以确定与用户相关联的识别对手偏好的一个或多个用户群集,并且过程500可以被另外执行一次或多次以确定与用户相关联的识别队友偏好的一个或多个用户群集。此外,在一些实施方案中,可以执行过程500以基于技能水平、玩法风格、用户位置、用户的用户计算系统110的特性以及与用户玩视频游戏112相关联的其他特征来识别待与用户相关联的一个或多个用户群集。该用户群集关联可以用于便利基于其他用户的偏好来识别是否在匹配计划期间将用户与其他用户匹配。因此,用户可以与基于用户偏好的一个或多个用户群集相关联,并且与基于用户特征的一个或多个另外的用户群集相关联,以便于创建既满足用户的偏好又满足匹配计划中包括的其他用户的偏好的匹配计划。

示例性对手匹配过程

图6呈现了对手匹配过程600的实施方案的流程图。过程600可以由可以将用户与对手匹配以用于玩视频游戏的任何系统实施。例如,过程600的整体或部分可以由交互计算系统130、用户匹配系统132、用户群集系统134、技能评估系统136或用户计算系统110及其他来实施。虽然任何数量的系统可以整体地或部分地实施过程600,但为了简化讨论,将关于特定系统来描述过程600。此外,过程600可以被执行一次或多次,以识别用以与用户和/或与用户及他或她的队友匹配的一个或多个对手。

过程600始于框602处,于其处用户匹配系统132选择要玩视频游戏112的队列中的多个用户。用户匹配系统132可以选择从队列中的第一位置开始直至队列中的阈值位置的第一总量(quantity)或阈值数量的用户。例如,用户匹配系统132可以选择队列中的前10、20或50个用户。可替代地,用户匹配系统132可以从队列中选择阈值数量的用户,他们可以包括或者可以不包括第一阈值数量的用户。例如,如果用户匹配系统132要选择50个用户,所选择的用户可以是或可以不是队列中的前50个用户,而可以包括例如从队列中的前100个用户中选择50个用户。从队列中选择用户可以至少部分地基于下述中的一个或多个:用户已经在队列中等待的时间的量;用户包含在黑名单中;用户请求与另一特定用户合作或对战;用户的地理和/或网络位置;或者与用户相关联的网络特征(例如用户的本地网络的速度或者丢包率)。

在框604处,对于在框602处选择的用户中的每一个,用户群集系统134识别与该用户相关联的用户群集。识别与该用户相关联的用户群集可以包括从用户数据储存库142访问一组用户群集。可以至少部分地基于用户账号名称、用户头像名称、用户ip地址或者用户的可以用于识别与该用户相关联的用户群集的任何其他识别信息来识别与该用户相关联的用户群集。在一些情况下,框604可以包括针对每个用户识别多个用户群集。例如,可以关于用户的对手偏好来识别用户群集,并且可以关于用户的用户特征诸如用户的技能水平或玩法风格来识别另一用户群集。

在框606处,对于在框602处识别的用户中的每一个,用户匹配系统132至少部分地基于与该用户相关联的用户群集来确定该用户的对手偏好。在一些实施方案中,在框604处对用户群集的识别和/或在框606处对对手偏好的确定可以至少部分地基于用户对在视频游戏112中的可玩人物的选择。例如,用户可以在选择具有远战武器的人物时与指示特定对手偏好的一个用户群集相关联,而该用户可以在选择具有近战武器的人物时与指示不同的对手偏好的另一用户群集相关联。

在框608处,用户匹配系统132至少部分地基于在框606处针对用户中的每一个确定的对手偏好从在框602处选择的多个用户中选择一对用户。在一些情况下,框608可以包括选择不止一对用户。例如,在以2×2、3×3、1×1×1、5×5×5或2×2×2×2配置匹配玩家的视频游戏中,可以在框608处选择不止一对用户。

此外,至少部分地基于对手偏好选择一对用户可以包括:至少部分地基于每个用户的匹配或满足另一用户的对手偏好的特征来生成该对用户的参与得分,上述对手偏好是至少部分地基于与用户中的每一个相关联的用户群集确定的。该参与得分可以被计算作为与每个用户相关联的单独参与得分的组合。例如,如果所选择的对手满足十分之七的偏好,那么针对用户计算的参与得分可以为七。此外,如果用户满足对手十分之八的偏好,那么针对对手计算的参与得分可以为八。针对该匹配或该对用户的参与得分可以通过对两个参与得分求平均来计算,以获得7.5的参与得分。

在一些情况下,如果参与得分满足阈值参与得分,那么可以选择该对用户来玩比赛。例如,如果阈值参与得分为七,来自之前示例的一对用户就可以被选择用以玩比赛。然而,阈值参与得分为八,来自之前示例中的一对用户不可以被选择用以玩比赛。基于队列中等待玩视频游戏的用户的数量和/或基于在所选择的一对用户中的一个或多个用户已经在队列中的时间,该阈值参与得分可以变化。在用户的队伍被匹配为作为彼此的对手对战的情况下,队伍中每个用户的参与得分可以被聚合到一起以确定是否满足阈值参与得分。

计算对手配对的参与得分可以包括对匹配或不匹配用户中的一个用户的对手偏好的一个或多个特征进行加权。例如,如果用户群集指示与选择特定人物的对手相比,用户更重视高技能的对手,则在确定配对用户是否满足阈值参与得分的过程中,对手的技能水平可以比对手的人物选择更高地进行加权。

在框610处,使用在框608处选择的一对用户作为对手,用户匹配系统132开始视频游戏112的可玩实例。在一些情况下,视频游戏112的一部分可能已经针对所选择用户中的每一个在执行。例如,在过程600之前执行视频游戏112的使用户能够选择可玩人物以请求与作为对手的另一用户匹配的部分。因此,框610可以包括开始视频游戏112的另一部分或者用户之间的匹配,而不是开始执行整个视频游戏112。然而,在某些实施方案中,框610可以包括开始整个视频游戏112。例如,在单独的应用执行过程600的情况下,框610可以包括用所选择的一对用户开始视频游戏112。

在一些实施方案中,过程600选择单对用户作为视频游戏112中的对手进行游戏。然后可以重复过程600以选择另一对用户在视频游戏112的另一实例中作为对手进行游戏。然而,在一些情况下,过程600的单次执行可以引起多对用户被选择,并且基于所选择的多对用户开始视频游戏112的多个实例。例如,如果执行关于框608的操作引起每对均满足参与得分阈值的20对用户被选择,则在框610处可以开始视频游戏112的20个可玩实例。

示例性队友选择过程

图7呈现了队友选择过程的实施方案的流程图。过程700可以由可以将用户与队友匹配以用于玩视频游戏的任何系统实施。例如,过程700的整体或部分可以由交互计算系统130、用户匹配系统132、用户群集系统134、技能评估系统136或用户计算系统110及其他来实施。虽然任何数量的系统均可以整体地或部分地实施过程700,但为了简化讨论,将关于特定系统来描述过程700。此外,过程700可以被执行一次或多次,以识别用以与用户匹配的一个或多个队友。

过程700始于框702处,于其处用户匹配系统132选择要玩视频游戏112的队列中的多个用户。在一些实施方案中,框702可以包括上面关于框602描述的实施方案中的一个或多个。在一些情况下,所选择用户中的至少一些可以是次序颠倒地选择的,原因在于例如一对用户请求将其放在同一队伍。

在704处,对于在框702处选择的用户中的每一个,用户群集系统134识别与该用户相关联的用户群集。在一些实施方案中,框704可以包括上面关于框604描述的实施方案中的一个或多个。此外,如之前所描述的,在框704处识别的用户群集可以是相同的用户群集,或者当确定用户的对手偏好时识别不同的用户群集。

在框706处,对于在框702处识别的用户中的每一个,用户匹配系统132至少部分地基于与该用户相关联的用户群集来确定该用户的队友偏好。在一些实施方案中,框706可以包括上面关于框606所描述实施方案中的一个或多个。在框708处,对于多个用户中请求成为队友的用户,用户匹配系统132可以聚合在框706处识别的队友偏好,以获得聚合的队友偏好。类似地,可以聚合请求成为队友的用户的特征。在选择另外的队友或对手中,出于确定与其他的队友和/或对手组合相比可能提供更高程度的参与的另外的队友和/或对手的目的,请求成为队友的用户可以被密结(glue)到一起或被处理作为单个用户。在一些实施方案中,框708可以是可选的或被省略。例如,在没有用户请求一起玩的情况下,框708可以是可选的或被省略。

在框710处,用户匹配系统132至少部分地基于每个用户的队友偏好和/或聚合的队友偏好(如果有的话)从多个用户中选择一组用户。在一些实施方案中,框710可以包括上面关于框608所描述实施方案中的一个或多个。

在框712处,使用在框710处选择的该组用户作为队友,用户匹配系统132开始视频游戏112的可玩实例。在一些实施方案中,框712可以包括至少部分地基于选择作为队友的该组用户来选择一个或多个计算机控制的对手。此外,在一些实施方案中,框712可以包括上面关于框610所描述实施方案中的一个或多个。

示例性组合队友和对手选择的过程

图8呈现了组合队友和对手选择的过程800的实施方案的流程图。过程800可以由可以将用户与一个或多个队友以及一个或多个对手匹配以用于玩视频游戏的任何系统实施。例如,过程800的整体或部分可以由交互计算系统130、用户匹配系统132、用户群集系统134、技能评估系统136或用户计算系统110及其他来实施。虽然任何数量的系统均可以整体地或部分地实施过程800,但为了简化讨论,将关于特定系统来描述过程800。

过程800始于框802处,于其处用户匹配系统132选择要玩视频游戏112的队列中的多个用户。在一些实施方案中,框802可以包括上面关于框602所描述实施方案中的一个或多个。在一些情况下,所选择用户中的至少一些可以是次序颠倒地选择的,原因在于例如一对用户请求将其放在同一队伍或者匹配作为对手。

在框804处,对于在框802处选择的用户中的每一个,用户群集系统134识别与该用户相关联的对手用户群集。在框806处,对于在框802处选择的用户中的每一个,用户群集系统134识别与该用户相关联的队友用户群集。在一些情况下,在框804处针对用户选择的对手用户群集和在框806处针对用户选择的队友用户群集是相同的用户群集。在其他实施方案中,上述用户群集是不同的。此外,在某些实施方案中,框804和806可以包括上面关于框604所描述实施方案中的一个或多个。

在框808处,用户匹配系统132至少部分地基于上述用户中的每一个的对手用户群集和队友用户群集来生成匹配计划。生成匹配计划可以包括选择多组一个或多个用户来玩视频游戏112的实例或者玩视频游戏112的实例中的回合或比赛。因此,例如匹配计划可以包括每个群组中2个玩家的两个群组、或者每个群组中四个玩家的三个群组、或者群组和每个群组中玩家数量的任何其他组合,包括每个群组中玩家数量不平衡的群组的组合。

此外,生成匹配计划可以包括考虑用户对对手和/或队友的选择。例如,假设视频游戏112匹配两个均具有四个玩家的群组彼此对战。如果两个用户指示他们期望在同一队伍(“队伍1”)与对手队伍(“队伍2”)中的一个其他用户对战,则用户匹配系统132可以选择两个其他用户与这两个用户一起在队伍1中,而选择三个其他用户与上述一个其他用户一起在队伍2中。

在框810处,基于包括在匹配计划中的用户中的每一个的对手用户群集和队友用户群集,用户匹配系统132计算每个队伍的参与得分和该匹配计划的参与得分。计算每个队伍的参与得分可以包括:对于队伍中的每个用户,基于与该用户相关联的队友用户群集来确定该用户的队友是否与该用户期望的他或她的队友的特征相关联。此外,计算每个队伍的参与得分可以包括:对于队伍中的每个用户,基于与该用户相关联的对手用户群集来确定对手队伍中的用户是否与该用户期望的他或她的对手的特征相关联。

在一些实施方案中,代替逐个用户地计算参与得分,可以针对队伍以合计的方式计算队友和/或对手的参与得分。例如,假设一个特征涉及对对手的期望技能水平。可以对队伍中每个用户对对手的期望技能水平求平均,然后将其与对手队伍中各个用户的或合计的技能水平进行比较。可以通过对各个队伍的参与得分进行聚合和/或求平均来计算匹配计划的参与得分。

在判定框812处,用户匹配系统132确定在框810处计算的参与得分是否满足阈值得分。在一些情况下,判定框812确定匹配计划的参与得分是否满足匹配计划得分阈值。可替代地或另外地,判定框812确定与被选择作为队友的用户有关的和/或与被选择作为对手的用户有关的一个或多个参与得分是否匹配参与得分阈值,其可以与匹配计划得分阈值不同或相同。

如果在判定框812处确定在框810处计算的一个或多个参与得分匹配对应的参与得分阈值,则用户匹配系统132使用匹配计划开始视频游戏的可玩实例814。在一些实施方案中,开始视频游戏的可玩实例可以包括将用户的身份提供给应用主机系统138,以开始视频游戏112或者与所选择的用户队伍的匹配。此外,在一些实施方案中,框814可以包括上面关于框610所描述实施方案中的一个或多个。

如果在判定框812处确定在框810处计算的至少一个参与得分与对应的参与得分阈值不匹配,则在判定框816处,用户匹配系统132确定匹配选择时间是否已经超过时间阈值。如果是,则过程800使用当前的匹配计划或者具有最高匹配计划参与得分的匹配计划行进到框814。

如果在判定框816处确定匹配选择时间尚未超过时间阈值,则过程800返回在其处生成可替代的匹配计划的框808。生成可替代的匹配计划可以包括:用包括在框802处所选择的用户中的不同用户来替换原始的或之前的匹配计划中的一个或多个用户。在一些情况下,用户匹配系统132可以替换参与得分距参与得分阈值最远的一个或多个用户。在其他情况下,用户匹配系统132可以随机地或者使用特定的用户选择算法来替换用户。如果用户匹配系统132未识别到满足参与得分阈值的匹配计划,则用户匹配系统132可以增加或调整在框802处选择的玩家的数量。可替代地或另外地,用户匹配系统132可以用队列中的其他玩家替换在框802处选择的一个或多个玩家。

在某些实施方案中,用户匹配系统132可以随机地或者使用特定的选择算法来选择用户玩视频游戏112的一个或多个实例。用户匹配系统132可以定期地在不使用过程800的情况下选择用户,以便例如生成或确认用于生成匹配计划的用户群集和用户特征的准确性。

计算系统的概述

图9示出了也被称为游戏系统的用户计算系统110的实施方案。如所示出的,用户计算系统110可以是可以包括多个元件的单个计算设备。然而,在一些情况下,用户计算系统110可以包括多个设备。例如,用户计算系统110可以包括:包括中央处理单元和图形处理单元的一个设备,包括显示器的另一设备,以及包括输入机构诸如键盘或鼠标的另一设备。

用户计算系统110可以是可以执行游戏系统的计算系统的实施方案。在图9的非限制性实施例中,用户计算系统110是能够经由触摸屏显示器902从用户接收输入的可触摸计算设备。然而,用户计算系统110并不限于此,而是可以包括非触摸的实施方案,其并不包括触摸屏显示器902。

用户计算系统110包括触摸屏显示器902和触摸屏接口904,并且被配置为执行游戏应用910。该游戏应用可以是视频游戏112,或者是连同视频游戏112一起执行或支持该视频游戏的应用,诸如视频游戏执行环境。虽然被描述为游戏应用910,但是在一些实施方案中,应用910可以是可以至少部分地基于用户的偏好或能力而具有可变的执行状态的另一种类型的应用,诸如教学软件。尽管用户计算系统110包括触摸屏显示器902,要意识到的是,可以另外地使用多种输入设备或使其代替触摸屏显示器902。

用户计算系统110可以包括一个或多个处理器,诸如中央处理单元(cpu)、图形处理单元(gpu)和加速处理单元(apu)。此外,用户计算系统110可以包括一个或多个数据存储元件。在一些实施方案中,用户计算系统110可以是出于执行游戏应用910的目的创建的专用计算设备。例如,用户计算系统110可以是视频游戏控制台。由用户计算系统110执行的游戏应用910可以是使用特定的应用程序接口(api)创建的,或者可以被编译为可以特定于用户计算系统110的特定指令集。在一些实施方案中,用户计算系统110可以是能够执行游戏应用910和非游戏应用的通用计算设备。例如,用户计算系统110可以是具有集成触摸屏显示器的膝上型计算机或者具有外部触摸屏显示器的台式计算机。关于图8更详细地描述了用户计算系统110的示例性实施方案的部件。

触摸屏显示器902可以是被配置成从用户接收触觉输入——也被称为触摸输入——的电容性触摸屏、电阻式触摸屏、表面声波触摸屏或其他类型的触摸屏技术。例如,可以经由手指触摸屏幕、多个手指触摸屏幕、触控笔或者可以用于在触摸屏显示器902上表达触摸输入的其他刺激来接收触摸输入。触摸屏接口904可以被配置为将触摸输入转化成数据并且输出数据,使得其可以被用户计算系统110的部件——诸如操作系统和游戏应用910——解读。该触摸屏接口904可以将触觉触摸输入转化成触摸输入数据。触摸输入的一些示例性特征可以包括形状、大小、压力、位置、方向、动量、持续时间和/或其他特征。触摸屏接口904可以被配置为确定触摸输入的类型,诸如轻击(例如,在单个位置处触摸并释放)或者滑动(例如,在单个触摸输入中移动通过触摸屏上的多个位置)。触摸屏接口904可以被配置成检测和输出与同时地或基本上并行地发生的多个触摸输入相关联的触摸输入数据。在一些情况下,同时的触摸输入可以包括以下实例:在这样的实例中,用户维持在触摸屏显示器902上的第一触摸,同时随后在触摸屏显示器902上执行第二触摸。触摸屏接口904可以被配置为检测触摸输入的移动。可以将触摸输入数据传输到用户计算系统110的部件以用于处理。例如,可以将触摸输入数据直接传输到游戏应用910以用于处理。

在一些实施方案中,在被输出到游戏应用910之前,触摸输入数据可以经受由触摸屏接口904、操作系统或者其他部件进行的处理和/或过滤。作为一个示例,可以从触摸输入中捕获原始触摸输入数据。可以对原始数据进行过滤以移除背景噪声,可以测量与输入相关联的压力值,以及可以计算与触摸输入相关联的位置坐标。提供给游戏应用910的触摸输入数据的类型可以取决于触摸屏接口904和与触摸屏接口904相关联的特定api的具体实现。在一些实施方案中,触摸输入数据可以包括触摸输入的位置坐标。可以以限定的频率输出触摸信号数据。处理触摸输入可以每秒计算许多次,并且可以将触摸输入数据输出到游戏应用以用于进一步处理。

游戏应用910可以被配置成在用户计算系统110上执行。游戏应用810还可以被称为视频游戏、游戏、游戏代码和/或游戏程序。游戏应用应当被理解为包括用户计算系统110可以使用以提供供用户玩的游戏的软件代码。游戏应用910可以包括向用户计算系统110通知要执行的处理器指令的软件代码,但还可以包括在玩游戏中使用的数据,诸如与常量、图像和其他数据结构有关的数据。例如,在所示出的实施方案中,游戏应用包括游戏引擎912、游戏数据914以及游戏状态信息916。

用户计算系统110的触摸屏接口904或另一部件诸如操作系统可以提供用户输入诸如触摸输入至游戏应用910。在一些实施方案中,用户计算系统110可以包括可替代的或者另外的用户输入设备,诸如鼠标、键盘、相机、游戏控制器等。用户可以经由触摸屏接口904和/或一个或多个可替代的或另外的用户输入设备与游戏应用910交互。游戏引擎912可以被配置为在用户计算系统110内执行游戏应用910的操作的各方面。游戏应用内的游戏玩法(gameplay)的各方面的执行可以至少部分地基于所接收的用户输入、游戏数据914以及游戏状态信息916。游戏数据914可以包括游戏规则、预录的运动捕获姿势/路径、环境设置、约束、动画参考曲线、骨架模型和/或其他游戏应用信息。此外,游戏数据914可以包括用于设置或调整游戏应用910的难度的信息。

游戏引擎912可以根据游戏规则来执行游戏内的游戏玩法。游戏规则的一些示例可以包括用于打分、可能的输入、动作/事件、响应于输入的运动等的规则。其他部件可以控制接受何种输入和游戏如何进展,以及游戏玩法的其他方面。在游戏应用910的执行期间,游戏应用910可以存储游戏状态信息916,该游戏状态信息可以包括人物状态、环境状态、场景对象存储和/或与游戏应用910的执行状态相关联的其他信息。例如,游戏状态信息916可以及时识别游戏应用在特定点处的状态,诸如人物位置、人物动作、游戏级别属性以及有助于游戏应用状态的其他信息。

游戏引擎912可以接收用户输入,并且确定适于游戏应用910的游戏内事件,诸如动作、碰撞、奔跑、投掷、攻击和其他事件。在操作期间,游戏引擎912可以读取游戏数据914和游戏状态信息916,以便确定合适的游戏内事件。在一个实施例中,在游戏引擎912确定人物事件之后,这些人物事件可以被传送到运动引擎,该运动引擎可以确定人物响应于该事件应当做出的合适运动,并将那些运动传递到动画引擎。动画引擎可以确定人物的新姿势,并且将新姿势提供到皮肤和渲染引擎。皮肤和渲染引擎又可以将人物图像提供至对象组合器,以便将有生命对象、无生命对象和背景对象组合成完整场景。可以将该完整场景传送至渲染器,该渲染器可以生成用于显示给用户的新帧。在执行游戏应用期间,可以重复该过程以用于渲染每一帧。虽然在人物的情景中描述了该过程,但是该过程可以应用于用于处理事件和渲染用于显示给用户的输出的任何过程。

计算系统的示例性硬件配置

图10示出了用于图9的用户计算系统的硬件配置的实施方案。用户计算系统110的其他变型可以用本文明确呈现的实施例来代替,诸如移除用户计算系统110的部件或向用户计算系统添加部件。用户计算系统110可以包括专用游戏设备、智能手机、平板计算机、个人计算机、台式计算机、膝上型计算机、智能电视、汽车控制台显示器等。此外,(虽然没有在图8中明确地示出)如参照图9所描述的,用户计算系统110可以可选地包括触摸屏显示器902和触摸屏接口904。

如所示出的,用户计算系统110包括处理单元20,该处理单元与用户计算系统110的其他部件相互作用并且还与在用户计算系统110外部的部件相互作用。可以包括可以与游戏媒介12通信的游戏媒介读取器22。游戏媒介读取器22可以是能够读取光盘(诸如cd-rom或者dvd)的光盘读取器,或者可以是可以从游戏媒介12接收和读取数据的任何其他类型的读取器。在一些实施方案中,游戏媒介读取器22可以是可选的或者被省略。例如,可以经由网络i/o38通过网络访问游戏内容或应用,从而致使游戏媒介读取器22和/或游戏媒介12是可选的。

用户计算系统110可以包括单独的图形处理器24。在一些情况下,图形处理器24可以诸如以apu的形式内置于处理单元20中。在一些这样的情况下,图形处理器24可以与处理单元20共享随机存取存储器(ram)。可替代地或另外地,用户计算系统110可以包括与处理单元20分离的分立图形处理器24。在一些这样的情况下,图形处理器24可以具有与处理单元20分离的ram。此外,在一些情况下,图形处理器24可以连同一个或多个另外的图形处理器和/或连同嵌入的或非分立的图形处理单元一起工作,该嵌入的或非分立的图形处理单元可以被嵌入到主板中并且有时被称为板载图形芯片或设备。

用户计算系统110还包括用于使得能够输入/输出的各种部件,诸如i/o32、用户i/o34、显示i/o36和网络i/o38。如之前所描述的,在一些情况下,输入/输出部件可以包括触控设备。i/o32与存储元件40交互,并且通过设备42与可移除存储媒介44交互,以便提供用于计算设备800的存储装置。处理单元20可以通过i/o32进行通信以存储数据,诸如游戏状态数据和任何共享的数据文件。除了存储装置40和可移除存储媒介44之外,计算设备800还被示出包括rom(只读存储器)46和ram48。ram48可以用于被频繁访问的数据,诸如当正在玩游戏时。

用户i/o34用于在处理单元21与用户设备诸如游戏控制器之间发送和接收命令。在一些实施方案中,用户i/o34可以包括触摸屏输入。如之前所描述的,触摸屏可以是电容性触摸屏、电阻式触摸屏或者被配置为通过触觉输入从用户接收用户输入的其他类型的触摸屏技术。显示i/o36提供用于显示来自正在玩的游戏的图像的输入/输出功能。网络i/o38用于针对网络的输入/输出功能。在执行游戏期间,诸如当正在线玩游戏或者在线访问游戏时,可以使用网络i/o38。

显示输出信号可以由显示i/o36产生,并且可以包括用于在显示设备上显示由计算设备800产生的可视内容的信号,诸如图形、用户界面、视频和/或其他视觉内容。用户计算系统110可以包括被配置为接收由显示i/o36产生的、可以被输出以用于显示给用户的显示输出信号的一个或多个集成显示器。根据一些实施方案,由显示i/o36产生的显示输出信号还可以被输出到在计算设备800外部的一个或多个显示设备。

用户计算系统110还可以包括可以与游戏一起使用的其他特性,诸如时钟50、闪存52以及其他部件。音频/视频播放器56还可以用于播放视频序列,诸如电影。应当理解的是,可以在用户计算系统110中设置有其他部件,并且本领域技术人员将会意识到用户计算系统110的其他变型。

程序代码可以存储在rom46、ram48或者存储装置40(其可以包括硬盘、其他磁存储装置、光存储装置、固态驱动器和/或其他非易失性储存装置或者它们的组合或变型)中。程序代码的至少一部分可以存储在可编程的rom(rom、prom、eprom、eeprom等)中、存储在存储装置40中和/或存储在可移除媒介诸如游戏媒介12(其可以是cd-rom、磁带盒(cartridge)、存储器芯片等,或者可以根据需要通过网络或其他电子通道获得)上。通常,可以发现程序代码体现在有形的非暂态信号承载(signal-bearing)媒介中。

随机存取存储器(ram)48(以及可能的其他存储装置)能够存储所需的变量以及其他游戏和处理器数据。使用ram,其保存在玩游戏期间生成的数据,并且其一部分还可以被预留用于帧缓存、游戏状态和/或对于解读用户输入和生成游戏显示而言所需要的或可用的其他数据。一般地,ram48是易失性储存装置,并且当用户计算系统110被关闭或者断电时,存储在ram48内的数据可能会丢失。

当用户计算系统110读取游戏媒介12并提供游戏时,可以从游戏媒介12读取信息并且将信息存储在存储设备诸如ram48中。另外地,来自储存装置40、rom46、经由网络访问的服务器(未示出)、或可移除存储媒介46的数据可以被读取且加载到ram48中。虽然描述了在ram48中得到数据,但将理解的是,数据不必非要存储在ram48中,而是可以存储在处理单元20可访问的其他存储器中,或者分布在若干媒介诸如游戏媒介12和储存装置40中。

另外的实施方案

在某些实施方案中,公开了可以由交互计算系统实施的计算机实施的方法,该交互计算系统被配置有特定的计算机可执行指令,以至少从等待玩视频游戏的实例的用户队列中选择多个用户。视频游戏的实例的至少第一部分可以在用户队列中的至少一个用户的用户计算机设备上执行,而视频游戏的实例的第二部分可以在交互计算系统上执行。对于所述多个用户中的第一用户,该方法可以包括至少部分地基于第一用户的第一用户身份来识别多个用户群集中与第一用户相关联的第一用户群集。第一用户群集可以与视频游戏的第一组匹配偏好相关联。对于所述多个用户中的第二用户,该方法可以包括至少部分地基于第二用户的第二用户身份来识别所述多个用户群集中与第二用户相关联的第二用户群集。第二用户群集可以与视频游戏的第二组匹配偏好相关联。在一些情况下,该方法可以包括至少部分地基于第一组匹配偏好和第二组匹配偏好从所述多个用户中选择第一用户和第二用户。此外,该方法可以包括以第一用户和第二用户作为视频游戏的实例的玩家,开始该视频游戏的实例。

在一些实施方案中,第一组匹配偏好和第二组匹配偏好与对手偏好有关,并且第一用户和第二用户在视频游戏的实例中被设计为对手。在其他实施方案中,第一组匹配偏好和第二组匹配偏好与队友偏好有关,并且第一用户和第二用户在视频游戏的实例中被设计为队友。在一些情况中,所述多个用户包括包含在用户队列中的用户子组,并且所述多个用户是基于一个或多个选择准则被选择的。此外,选择准则可以包括下述中的一个或多个:用户在队列中时长;用户的地理位置;用户包含在黑名单中;距宿留视频游戏的实例的第二部分的交互计算系统的主机服务器的地理距离;或者距所述机主服务器的网络距离。在一些情况下,第一组匹配偏好和第二组匹配偏好相同。

在某些实施方式中,从所述多个用户中选择第一用户和第二用户包括:至少部分地基于与第一组匹配偏好和与第二用户相关联的第一组特征来确定第一用户的第一参与得分。此外,该方法可以包括:至少部分地基于第二组匹配偏好和与第一用户相关联的第二组特征来确定第二用户的第二参与得分。另外,该方法可以包括:聚合第一参与得分和第二参与得分以获得聚合的参与得分,并且确定该聚合的参与得分是否满足参与阈值。响应于确定该聚合的参与得分满足参与阈值,该方法可以包括从所述多个用户中选择第一用户和第二用户。在一些情况下,所述第一组特征和所述第二组特征包括下述中的一个或多个:玩法风格;技能水平;或期望的对手技能水平。此外,第一参与得分可以成反比地对应于第一用户停止玩视频游戏的几率,第二参与得分可以成反比地对应于第二用户停止玩视频游戏的几率,并且聚合的参与得分可以成反比地对应于第一用户或第二用户中的至少一个停止玩视频游戏的几率。

在一些实施方案中,从所述多个用户中选择第一用户和第二用户包括接收第三用户和第一用户要被分配到视频游戏的同一实例中的指示。此外,该方法可以包括至少部分地基于第一组匹配偏好、与第三用户相关联的第三组匹配偏好以及与第二用户相关联的第一组特征来确定第一参与得分。此外,该方法可以包括至少部分地基于第二组匹配偏好、与第一用户相关联的第二组特征以及与第三用户相关联的第三组特征来确定第二参与得分。该方法还可以包括:聚合第一参与得分和第二参与得分以获得聚合的参与得分,并且确定该聚合的参与得分是否满足参与阈值。响应于确定该聚合的参与得分满足参与阈值,该方法可以包括从所述多个用户中选择第一用户、第二用户以及第三用户。在一些情况下,该方法还可以包括至少部分地基于通过监测第一用户在一时间段内与视频游戏的交互所获得用户交互数据将第一用户与第一用户群集相关联。

本公开内容的另外的实施方案涉及一种系统,该系统包括:被配置为存储用于视频游戏的用户的用户群集数据的电子数据存储器,以及与电子数据存储器通信的硬件处理器。硬件处理器可以被配置为执行特定的计算机可执行指令,以至少从等待玩视频游戏的用户队列中选择一组用户。视频游戏的至少第一部分可以由宿留在用户队列中的至少一个用户的用户计算机设备上,而视频游戏的第二部分由服务器系统宿留。此外,该系统可以基于该组用户来生成多个匹配计划。每个匹配计划可以包括该组用户中的第一队用户和该组用户中的第二队用户。对于所述多个匹配计划中的每个匹配计划,该系统可以至少部分地基于与第一队用户中的至少一些用户相关联的匹配偏好以及与第二队用户中的至少一些用户相关联的特征数据来生成第一队用户的第一参与得分,上述匹配偏好和上述特征数据是从用户群集数据获得的。此外,该系统可以至少部分地基于与第二队用户中的至少一些用户相关联的匹配偏好以及与第一队用户中的至少一些用户相关联的特征数据来生成第二队用户的第二参与得分。在一些情况下,该系统可以确定所述多个匹配计划中的至少一个匹配计划的第一参与得分和第二参与得分是否满足参与得分阈值。响应于确定所述多个匹配计划中的至少一个匹配计划的第一参与得分和第二参与得分满足参与得分阈值,该系统可以选择所述多个匹配计划中满足参与得分阈值的匹配计划用于视频游戏。

在一些实施方式中,响应于确定所述多个匹配计划中的至少一个匹配计划的第一参与得分和第二参与得分满足参与得分阈值,硬件处理器还被配置成执行特定的计算机可执行指令,以至少选择出具有最高参与得分的匹配计划。此外,响应于确定所述多个匹配计划中的至少一个匹配计划的第一参与得分和第二参与得分不满足参与得分阈值,硬件处理器还可以被配置为执行特定的计算机可执行指令,以至少用用户队列中的另一用户替代该组用户中的至少一个用户。此外,至少第一用户和第二用户可以被指定为用户对,并且生成多个匹配计划可以包括:针对所述多个匹配计划中的每一个,将第一用户和第二用户保持在第一队用户中。此外,参与得分阈值可以至少部分地基于包括在用户队列中的用户的数量而变化。

在本公开内容的另一方面,公开了一种可以存储计算机可执行指令的非暂态计算机可读存储介质,上述计算机可执行指令在由一个或多个计算设备执行时配置所述一个或多个计算设备执行操作,包括从等待玩视频游戏的用户队列中选择多个用户。对于所述多个用户中的第一用户,上述操作可以包括至少部分地基于第一用户的第一用户身份来识别多个用户群集中与第一用户相关联的第一用户群集。第一用户群集可以与视频游戏的第一组匹配偏好相关联。对于所述多个用户中的第二用户,上述操作可以包括至少部分地基于第二用户的第二用户身份来识别所述多个用户群集中与第二用户相关联的第二用户群集。第二用户群集可以与视频游戏的第二组匹配偏好相关联。此外,上述操作可以包括:至少部分地基于第二组匹配偏好从所述多个用户中选择第一用户,以及至少部分地基于第一组匹配偏好从所述多个用户中选择第二用户。

在某些实施方案中,上述操作还包括以第一用户和第二用户开始视频游戏的游戏会话。此外,上述操作还可以包括:通过至少监测第一用户在一时间段内对视频游戏的访问至少获得的第一用户的用户交互数据,将第一用户与第一用户群集相关联。此外,上述操作可以包括:至少部分地基于用户交互数据来确定与第一用户相关联的匹配偏好,以及访问多个用户群集的群集定义。每个群集定义可以识别与对应用户群集相关联的用户的多个匹配偏好。另外,上述操作可以包括:通过将第一用户的匹配偏好与同第一用户群集相关联的群集定义的多个匹配偏好在至少阈值程度上进行匹配,从所述多个用户群集中选择第一用户群集。另外,上述操作可以包括将第一用户与第一用户群集相关联。

在一些实施方案中,从所述多个用户中选择第一用户和第二用户包括至少部分地基于第一组匹配偏好和与第二用户相关联的第一组特征来确定第一用户的第一参与得分。此外,上述操作可以包括至少部分地基于第二组匹配偏好和与第一用户相关联的第二组特征来确定第二用户的第二参与得分。另外地,上述操作可以包括:确定第一参与得分是否满足参与阈值,并且确定第二参与得分是否满足参与阈值。上述操作还可以包括:响应于确定第一参与得分满足参与阈值以及第二参与得分满足参与阈值,从所述多个用户中选择第一用户和第二用户。

要理解的是,根据本文描述的任何具体实施方案不一定可以实现所有的目标或优点。因此,例如本领域技术人员将意识到某些实施方案可以被配置为以如下方式进行操作,上述方式使得实现或优化如本文所教示的一个优点或一组优点,而不一定实现如本文可能教示或建议的其他目标或优点。

本文描述的所有过程均可以体现在软件代码模块中或者经由软件代码模块完全自动化,该软件代码模块由包括一个或多个计算机或处理器的计算系统执行。上述代码模块可以被储存在任何类型的非暂态计算机可读介质或其他计算机存储设备中。上述方法中的一些或全部可以以专用的计算机硬件来实施。

根据本公开内容将明了除本文描述的那些之外的许多其他变型。例如,根据实施方案,本文描述的算法中任一个的某些动作、事件或功能均可以以不同的顺序执行,可以被添加、合并或一并被遗弃(例如,对于算法的实现而言,并非所有描述的动作或者事件都是必需的)。此外,在某些实施方案中,动作或事件可以被同时执行,例如通过多线程处理、中断处理、或者多处理器或处理器芯或在其他并行架构上,而不是被顺序地执行。此外,不同的任务或处理可以由可以一起运作的不同机器和/或计算系统来执行。

结合本文公开的实施方案描述的各种说明性逻辑框和模块可以由机器实施或执行,上述机器诸如为处理单元或处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其他可编程逻辑期间、分立门或晶体管逻辑、分立的硬件部件或它们被设计成执行本文描述的功能的的任何组合。处理器可以是微处理器,但可替代地,处理器可以是控制器、微控制器、或者状态机器一级它们的组合等。处理器可以包括被配置为处理计算机可执行指令的电路。在另一实施方案中,处理器包括执行逻辑操作而不处理计算机可执行指令的fpga或其他可编程器件。处理器还可以作为计算设备的组合来实施,例如dsp和微处理器的组合、多个微处理器的组合、一个或多个微处理器连同dsp芯的组合或者任何其他这样的配置。虽然本文主要是关于数字技术进行描述的,但处理器还可以包括主要是模拟性的部件。计算环境可以包括任何类型的计算机系统,包括但不限于基于微处理器、大型计算机、数字信号处理器、便携式计算设备、设备控制器或者器具内的计算引擎等的计算机系统,仅举几例。

除非另外特别说明,否则条件性用语,诸如“能够(can)”、“可(could)”、“可能(might)”或“可以(may)”及其他,在上下文中要被另外如通常所使用的进行理解,以表达某些实施方案包括——而其他实施方案不包括——的某些特征、元件和/或步骤。因此,这样的条件性用语通常并不意在暗示:特征、元件和/或步骤以任何方式是一个或多个实施方案所需要的,或者一个或多个实施方案必需包括用于判定——在具有或不具有用户输入或提示的情况下——这些特征、元件和/或步骤是否包括在任何特定的实施方案中或要在任何特定的实施方案中执行的逻辑。

除非另外特别说明,否则析取性(disjunctive)用语,诸如短语“x、y或z中的至少一个”在上下文中要被另外如通常所使用的进行理解,以表示项、术语等可以是x、y或z,或它们的任何组合(例如,x、y和/或z)。因此,这样的析取性用语通常并不意在并且不应当暗示某些实施方案需要至少一个x、至少一个y或至少一个z均存在。

在本文中描述的和/或在附图中描绘的流程图中的任何过程描述、元件或框均应当被理解为潜在地表示包括用于在过程中实施特定的逻辑功能或元件的一个或多个可执行指令的代码模块、代码段或代码部分。在本文描述的实施方案的范围内包括可替代的实施方式,在这样的实施方式中,元件可以被删除、与所示出的或讨论的次序颠倒地执行,包括基本上同时执行或以相反的顺序执行,这取决于如本领域技术人员将理解的所涉及的功能。

除非另外明确说明,否则冠词,诸如“一个”或“一”,通常应被解释为包括一个或多个所描述的项目。因此,诸如“被配置成…的设备”的措辞意在包括一个或多个所叙述的设备。这样的一个或多个叙述的设备还可以被共同配置成执行所述列举项(recitation)。例如,“被配置为执行列举项a、b和c的处理器”可以包括被配置为执行列举项a的第一处理器,该第一处理器连同被配置为执行列举项b和c的第二处理器一起工作。

应当强调的是,可以对上述实施方案做出许多变型和修改,这些变型和修改要素要被理解为在其他可接受实施例中。所有这样的修改和变型都意在包括在本公开内容的范围内。

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