CN107970612A - 多玩家视频游戏匹配系统和方法 - Google Patents

多玩家视频游戏匹配系统和方法 Download PDF

Info

Publication number
CN107970612A
CN107970612A CN201710983933.0A CN201710983933A CN107970612A CN 107970612 A CN107970612 A CN 107970612A CN 201710983933 A CN201710983933 A CN 201710983933A CN 107970612 A CN107970612 A CN 107970612A
Authority
CN
China
Prior art keywords
user
game
video
data
partially
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
Application number
CN201710983933.0A
Other languages
English (en)
Other versions
CN107970612B (zh
Inventor
薛苏
K·A·扎曼
N·阿格戴尔
J·科隆
陈正兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electronic Arts Inc
Original Assignee
Electronic Arts Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Electronic Arts Inc filed Critical Electronic Arts Inc
Publication of CN107970612A publication Critical patent/CN107970612A/zh
Application granted granted Critical
Publication of CN107970612B publication Critical patent/CN107970612B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/795Game 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/48Starting a game, e.g. activating a game device or waiting for other players to join a multiplayer session
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating 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/67Generating 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 adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/798Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for assessing skills or for ranking players, e.g. for generating a hall of fame
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5566Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history by matching opponents or finding partners to build a team, e.g. by skill level, geographical area, background, play style
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/558Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history by assessing the players' skills or ranking

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本文呈现的系统的实施方案能够使用映射系统和机器学习算法来识别一起玩多玩家视频游戏的用户,以创建提升玩家或用户保留的用于多玩家视频游戏的多组匹配计划。在视频游戏的多玩家实例中,如果等待玩视频游戏的用户与一个或更多个另外的用户相匹配的话,本文呈现的系统的实施方案能够确定该等待玩视频游戏的用户的预测流失率或相反的保留率。

Description

多玩家视频游戏匹配系统和方法
通过引用纳入任意的优先权申请
本公开文本要求于2016年10月21日提交的、标题为“Engagement OptimizedMatchmaking Framework(参与优化的匹配框架)”的美国临时申请No.62/411,452的优先权,该申请的公开内容在此出于所有目的整体通过引用方式明确地纳入本文中。在随本申请所提交的申请数据表中标明的对其要求享有外国或者国内优先权的任意以及所有申请,在此根据37CFR1.57通过引用方式纳入本文。
背景技术
软件开发人员通常期望他们的软件能够尽可能长时间地吸引用户参与。用户参与软件的时间越长,该软件就越有可能成功。在视频游戏方面,用户的参与时间长度与软件的成功性之间的关系尤其如此。用户玩特定视频游戏的时间越长,用户喜欢该游戏的可能性就越大,且因此用户会继续玩该游戏的可能性就越大。
参与原则并不限于单玩家游戏,其还能够应用于多玩家视频游戏。为用户提供有趣的多玩家体验的视频游戏更有可能使得用户再次玩这些视频游戏。相反地,为用户提供不良的多玩家体验的视频游戏不太可能维持高数量的用户。因此,视频游戏开发的挑战之一在于提供一种机制,其确保或增加有趣的多玩家游戏体验的几率。
发明内容
本公开内容的系统、方法和设备各自具有若干创新方面,其中没有任何单独一个能够完全诠释本文公开的所有期望属性。在附图和下文的描述中阐明了本说明书所描述的主题一种或更多种实施方式的详细内容。
本公开文本的某些实施方案涉及一种计算机实施的方法,其能够由配置有特定的计算机可执行指令的交互计算系统来实施。该方法能够包括从用户池中选择多个用户。用户池能够包括可用于选择来玩视频游戏的实例的用户。视频游戏的实例的至少第一部分能够在来自多个用户的至少一个用户的用户计算设备上执行,视频游戏的实例的第二部分能够在该交互计算系统上执行。此外,该方法能够包括创建连接图形,所述连接图形包括多个顶点和多条边。每个顶点能够通过多条边中的至少一条边连接,并且每个顶点能够表示多个用户中的不同用户。该方法能够包括访问多个用户中的每个用户的用户交互数据。用户交互数据能够对应于用户与视频游戏的交互。对于连接图形中的每条边,该方法能够包括至少部分地基于第一用户的第一流失风险和第二用户的第二流失风险给所述边分配权重,其中所述第一用户对应于所述边的第一节点,第二用户对应于所述边的第二节点。第一流失风险能够至少部分地基于第一用户的用户交互数据,并且第二流失风险能够至少部分地基于第二用户的用户交互数据。此外,该方法能够包括至少部分地基于分配给连接图形中的每条边的权重来从连接图形中选择一组边以获得一组选择的边。连接图形中的每个顶点能够连接到所述一组选择的边中的至少一条边。此外,该方法能够包括使用至少一对用户来开始视频游戏的可玩实例,其中,所述至少一对用户对应于包含在所述一组选择的边中的一条或更多条边的顶点。
本公开文本的其他实施方案涉及一种系统,所述系统能够包括电子数据存储器和硬件处理器,所述电子数据存储器被配置为存储视频游戏用户的用户交互数据,所述硬件处理器与所述电子数据存储器通信。硬件处理器能够被配置成执行特定的计算机可执行指令,以至少选择可用于玩视频游戏的实例的多个用户。视频游戏的实例的至少第一部分能够在来自多个用户的至少一个用户的用户计算设备上执行,并且视频游戏的实例的第二部分能够在交互计算系统上执行。此外,硬件处理器能够被配置为执行特定的计算机可执行指令,以至少创建连接图形,其中每个顶点表示多个用户中的不同用户,并且从电子数据存储器访问多个用户中的每个用户的用户交互数据。用户交互数据能够对应于用户与视频游戏的交互。对于连接图形中的每条边,硬件处理器能够被配置为执行特定的计算机可执行指令,以至少部分地基于第一用户的第一流失风险和第二用户的第二流失风险给所述边至少分配权重,其中第一用户对应于所述边的第一节点,第二用户对应于所述边的第二节点。第一流失风险能够至少部分地基于第一用户的用户交互数据,并且第二流失风险能够至少部分地基于第二用户的用户交互数据。此外,硬件处理器能够被配置为执行特定的计算机可执行指令,以至少部分地基于分配给连接图形中的每条边的权重来从连接图形中至少选择一组边。连接图形中的每个顶点都能够连接到所述一组选择的边中的至少一条边。此外,硬件处理器能够被配置为执行特定的计算机可执行指令,以使用至少两个用户来至少开始视频游戏的可玩实例,其中所述至少两个用户对应于包含在所述一组选择的边中的一条或更多条边的顶点。
另外,本公开文本的其他实施方案涉及一种存储计算机可执行指令的非暂态计算机可读存储介质,所述计算机可执行指令在由一个或更多个计算设备执行时,其能够配置所述一个或更多个计算设备来执行如下操作,所述操作包括:从可用于玩视频游戏的实例的用户池选择多个用户。视频游戏的实例的至少第一部分能够在来自多个用户的至少一个用户的用户计算设备上执行,并且视频游戏的实例的第二部分能够在交互计算系统上执行。此外,所述操作能够包括创建连接图形和访问多个用户中的每个用户的用户交互数据,在所述连接图形中每个顶点表示多个用户中的不同用户。用户交互数据能够对应于用户与视频游戏的交互。对于连接图形中的每条边而言,所述操作能够包括至少部分地基于第一用户的第一流失风险和第二用户的第二流失风险给所述边分配权重,其中第一用户对应于所述边的第一节点,第二用户对应于所述边的第二节点。第一流失风险能够至少部分地基于第一用户的用户交互数据,并且第二流失风险能够至少部分地基于第二用户的用户交互数据。此外,所述操作能够包括至少部分地基于分配给连接图形中的每条边的权重来从连接图形中选择一组边。连接图形中的每个顶点都能够连接到一组选择的边中的一条或更多条边。此外,所述操作能够包括使用多个用户来开始视频游戏的实例,所述多个用户对应于包含在所述一组选择的边中的一条或更多条边的顶点。
尽管本文公开了一些实施方案和实施例,但是本发明的主题不限于具体公开的实施方案中的实施例,而是还涉及其他替代实施方案和/或用途,以及其修改和等同变换。
附图说明
贯穿所有附图,附图标记被重复使用以指示参考元件之间的对应关系。附图被提供用于说明本文所描述的主题的实施方案,并非用于限制其范围。
图1A示出能够实施用于视频游戏的动态用户匹配系统的一种或更多种实施方案的网络计算环境的一个实施方案。
图1B示出图1A的模型生成系统的一个实施方案。
图1C示出图1A的保留(retention,留存)分析系统的一个实施方案。
图2示出预测模型生成过程的一个实施方案的流程图。
图3示出用户的连接图形的一个实施方案的实施例。
图4示出多玩家匹配过程的一个实施方案的流程图。
图5示出用户计算系统的一个实施方案。
图6示出用于图5的用户计算系统的硬件配置的一个实施方案。
具体实施方式
介绍
对于视频游戏而言,通常期望吸引大量的用户。这一原则对于多玩家视频游戏也是如此。多玩家视频游戏能够包括两个或更多个用户相互对战的视频游戏、两个或更多个用户在同一队伍中玩的视频游戏和/或多个用户的队伍相互对战的视频游戏。
具有不良的匹配算法的多玩家游戏能够导致用户的参与度降低。换言之,不良匹配的对手和/或队友可能导致用户停止玩视频游戏,或者与具有更好的匹配算法的多玩家游戏的情况相比较,用户较不经常玩该视频游戏。除了其他方面之外,不良的匹配可以包括将具有不匹配的或不适当配对的技能等级或具有相悖的游戏风格偏好的用户加以匹配。对于一些用户而言,与具有不同技能等级或不同游戏风格的用户配对可能是不期望的,并且可能被认为是不良的匹配。然而,对于另一些用户而言,与具有不同技能等级或不同游戏风格的用户匹配可能是期望的。因此,确定匹配是不佳的还是良好的可取决于匹配算法所分析的具体用户。
本文所呈现的实施方案使用图形映射系统和机器学习算法来识别用于优化或增加玩家或用户保留的多玩家视频游戏的多组匹配计划。本文中所呈现的系统能够为等待玩视频游戏的用户针对该用户与在多玩家视频游戏实例中的一个或更多个另外的用户的不同匹配,确定该用户的预测流失率,或者相反的保留率。此外,本文的系统的实施方案能够生成用户的图形拓扑并且至少部分地基于所确定的流失率或保留率来执行一个或更多个边选择算法,以相对于保留率或流失率来优化或者提升玩家匹配质量。在2016年3月8日提交的标题为“MULTIPLAYER VIDEO GAME MATCHMAKING OPTIMIZATION”的美国申请No.15/064,115中描述了能够用于确定保留率并用于使用保留率来生成匹配计划的系统和算法的示例性实施方案,该申请的全部内容在此通过引用方式整体纳入本文并用于所有目的。
为了简化讨论,本公开文本主要聚焦于提升玩多玩家视频游戏的用户的保留率或降低用户的流失率。然而目的不限于此,并且本公开文本的实施方案能够用于优化或提升一个或更多个另外的或可替代的目标的可能性。例如,所述目标能够包括以下内容中的一个或更多个:增加虚拟或真实货币的游戏开支;减少在视频游戏中的不可取行为(例如,其他用户的恶劣语言或骚扰);或减少用户过早退出视频游戏的实例情况的出现。
为了简化讨论,本公开文本主要针对视频游戏进行说明。然而,本公开文本不限于此并且能够应用于其他类型的应用。例如,本文所公开的实施方案能够用于教育应用程序(例如,帮助用户学习新语言的应用程序)或能够将两个或更多个用户配对在一个群中的其他应用程序。
示例性联网计算环境
图1A示出联网计算环境100的一个实施方案,所述环境能够实施用于视频游戏112的动态用户匹配系统的一种或更多种实施方案。联网计算环境100包括能够经由网络104与交互式计算系统130通信的多个用户计算系统110。
用户计算系统110中的至少一些可包括、寄存(host,宿主)或执行视频游戏112。在一些实施方案中,用户计算系统110能够寄存或执行视频游戏112的一部分,并且应用主机系统138能够寄存和/或执行视频游戏112的一部分。当用户在用户计算系统110上开始执行视频游戏112时,与交互计算系统130的网络连接能够建立,并且视频游戏112的两个部分能够彼此结合执行。例如,应用主机系统138能够寄存和执行视频游戏112的包括视频游戏环境的一部分,而用户计算系统110能够执行视频游戏112的使得用户使用例如可玩的游戏中的人物与视频游戏环境交互的一部分。视频游戏环境可包括在线的或数字的永恒世界,该永恒世界在用户计算系统110的用户与应用主机系统138断开连接之后能够继续维持。作为另一示例,视频游戏可以是包括客户端部分和服务器部分的大型多玩家在线角色扮演游戏(MMORPG),该客户端部分由用户计算系统110执行,该服务器部分由能够被包括作为交互计算系统130的一部分的一个或更多个应用主机系统(未示出)执行。
如前所述,应用主机系统138能够寄存和/或执行视频游戏112的至少一部分。可替代地或者另外地,应用主机系统138能够寄存或执行视频游戏112的全部,并且用户能够使用用户计算系统110与视频游戏112交互。
用户计算系统110可包括用于通过通信网络104与另一计算系统——比如交互式计算系统130——建立通信的硬件和软件部件。例如,用户计算系统110可配备有便于经由网络(例如因特网)或内联网进行通信的网络设备和网络软件应用程序(例如,网页浏览器)。用户计算系统110可包括许多本地计算资源,比如中央处理单元和架构、存储器、大容量存储装置、图形处理单元、通信网络可用性和带宽等等。此外,用户计算系统110可包括任意类型的计算系统。例如,用户计算系统110可包括任意类型的计算设备,仅举几例,比如台式机、笔记本电脑、视频游戏平台、电视机顶盒、电视机(例如,互联网电视机)、网络上使用的自助服务终端、汽车控制台设备、计算机化装置、可穿戴设备(例如,具有计算功能的智能手表及眼镜)和无线移动设备(例如,智能手机、掌上电脑、平板电脑等等)。在一些实施方案中,用户计算系统110可包括下文关于图5和图6所描述的一个或更多个实施方案。
如前所述,可能会期望维持或提升用户参与视频游戏112的水平。用于维持或提升用户参与视频游戏112的水平的一种解决方案包括:将用户与具有如下玩法特征或应用交互特征的其他用户相匹配,所述玩法特征或应用交互特征是该用户在对手和/或队友方面期望或倾向于偏好的特征。这些玩法特征可包括与技能水平、玩法风格(例如,防守型用户、进攻型用户、玩支持型角色的用户、偏好隐秘攻击的用户、偏好使用魔法能力的用户或偏好使用近战能力的用户等等)和/或运动道德(例如,是大度的赢家或者输家的用户、合群或不合群的用户、或不侮辱其他用户的用户等等)相关的特征。应当注意,虽然使用了术语“玩法特征”,但是该玩法特征不一定限于与玩视频游戏112相关的特征。在一些实施方案中,玩法特征可包括与为多玩家游戏匹配用户相关联的一个或更多个另外的或可替代的特征。这些另外的或可替代的特征可包括与改善多玩家游戏中的用户的游戏体验相关的特征。例如,另外的或可替代的特征可包括用户的地理位置、用户在网络内的位置、用户的用户计算系统110的特征以及与用户的用户计算系统110通信的网络的一部分的网络特征(比如最后一英里或用户的家庭网络)等等。
可以至少部分地基于对于一个或更多个用户的用户交互数据和/或来自所述一个或更多个用户的明示请求或指示来确定玩法特征。此外,可以至少部分地基于用户的用户交互数据来确定用户在对手和/或队友方面期望或倾向于偏好的玩法特征。
交互计算系统130可以包括用于便于确定视频游戏112的特定用户的玩法特征和/或对于视频游戏112的特定用户而言的对手和/或队友用户的期望玩法特征的多个系统或子系统。此外,交互计算系统130可以包括用于便于至少部分地基于用户的玩法特征来匹配视频游戏112的用户的多个系统或子系统。这些系统或子系统能够包括用户图形生成器120、用户匹配系统132、技能评估系统136、应用主机系统138、用户数据储存库142、保留分析系统140和模型生成系统146。这些系统中的每个都能够以硬件、以及软件、或者硬件和软件的组合实现。此外,这些系统中的每个都能够在包括计算机硬件的单个计算系统中实现,或在一个或更多个单独的或分布式的计算系统中实现。此外,尽管在图1A中示出这些系统存储在交互计算系统130上或在交互计算系统130上执行,但是认识到,在一些实施方案中,这些系统的部分或全部能够存储在用户计算系统110上并在用户计算系统110上来执行。
用户图形生成器120生成正在等待玩视频游戏的实例的一组用户的图形。该一组用户能够包括等待玩该视频游戏的实例的所有用户或者可以使用选择过程被选择的用户的子集,所述选择过程比如先到先服务、或者与技能等级范围相匹配的阈值数目的用户。用户能够由图形中的节点或者顶点来表示,并且潜在的匹配,无论是队友还是对手,都能够由节点或者顶点之间的边来表示。此外,用户图形生成器120能够至少部分地基于一个或更多个所选择的目标对边进行加权。例如,所述边能够基于对于由图形中的边连接的用户的流失率被加权。应当认识到,还能够使用其他数据结构来表示存储在图形中的数据,诸如例如相邻矩阵、矩阵、边列表、相邻列表、节点列表等等。
用户匹配系统132将两个或更多个用户识别或匹配在一起用于玩视频游戏112。所述两个或更多个用户能够被匹配为对手、队友、或对手和队友的组合。为了将待匹配的用户识别为对手或队友,用户匹配系统132能够访问由用户图形生成器120生成的用户图形。另外,用户匹配系统132能够解决由用户图形生成器120生成的图形上的最小或最大权重匹配问题,以识别玩视频游戏112的实例的用户的配对或匹配计划。
模型生成系统146能够使用一个或更多个机器学习算法来生成一个或更多个预测模型或参数函数。这些参数函数中的一个或更多个能够用于基于一组输入来确定期望值或出现概率(occurrence)。例如,预测模型能够用于基于预测模型的一个或更多个输入——比如例如对于用户的历史性用户交互信息——来确定用户将停止玩该视频游戏112的预测流失率或可能性。作为另一示例,预测模型能够用于基于对预测模型的一个或更多个输入来确定用户为了该视频游戏而花费在购买游戏中的物品的预期金额。在某些情况下,预测模型之所以能够被称为预测模型,是因为例如,输出可以是对行动或者事件的预测,或者可以与对行动或者事件的预测相关,比如预测用户会继续玩视频游戏112。模型生成系统146能够使用许多不同类型的算法。例如,本文中的某些实施方案能够使用逻辑回归模型。然而,其他模型是可能的,比如线性回归模型、离散选择模型或广义线性模型。
机器学习算法能够被配置为基于由模型生成系统146接收的新输入来随着时间的推移适应性地开发和更新模型。例如,能够定期地重新生成模型,这是因为用户信息随着时间的推移而变化,新的用户信息可用于帮助保持模型中的预测更准确。本文中更详细地描述了模型生成系统146。在生成模型之后,能够将其提供给保留分析系统140。
能够用于生成并更新参数函数或预测模型的机器学习算法的一些非限制性实施例能够包括监督式的和非监督式的机器学习算法,所述算法包括回归算法(比如,举例而言,普通最小二乘回归法)、基于实例的算法(比如,举例而言,学习向量量化法)、决策树算法(比如,举例而言,分类与回归树法)、贝叶斯算法(比如,举例而言,朴素贝叶斯法)、聚类算法(比如,举例而言,k-means聚类)、关联规则学习算法(比如,举例而言,Apriori算法)、人工神经网络算法(比如,举例而言,Perceptron算法)、深度学习算法(比如,举例而言,深度玻尔兹曼机)、降维算法(比如,举例而言,主成分分析法)、集合算法(比如,举例而言,堆栈泛化法)和/或其他机器学习算法。
保留分析系统140能够包括用于基于将用户的用户交互数据和匹配计划中所包括的其他用户的用户交互数据应用于预测模型来确定该用户的预测流失率或保留率的一个或更多个系统,所述预测模型比如由模型生成系统140生成的预测模型。在一些情况下,用户匹配系统132可以使用由保留分析系统140确定的预测保留率来针对玩视频游戏112的一个实例确定是选择所述匹配计划还是生成新的匹配计划。例如,用户匹配系统132能够基于将预测保留率应用于由用户图形生成器120创建的用户图形的边来求解最小加权问题。在一些情况下,确定是否选择匹配计划包括将保留率与储存库(未示出)中指示是否选择新匹配计划的数据进行匹配。
此外,下文将关于保留分析系统140进一步详细地描述参数函数或预测模型的生成和应用以及它们在创建匹配计划或确定是否选择匹配计划来玩视频游戏112的实例方面的用途。在某些实施方案中,用户匹配系统132可以是模型生成系统146或者可以包括模型生成系统146。此外,在一些情况下,用户匹配系统132可以是保留分析系统140或者用户图形生成器120,或者可以包括保留分析系统140或者用户图形生成器120。
在一些实施方案中,保留分析系统140能够接收特定匹配计划以及与该匹配计划中包括的每个用户相关联的用户交互数据、特征和/或元数据。然后,保留分析系统140能够输出匹配计划中包括的每个个人用户以及/或者匹配计划本身的保留率和/或预测花费量。例如,保留分析系统140能够接收包括在一个队伍中的用户A1、A2和A3以及在另一队伍中的用户B1、B2和B3的匹配计划。使用这六个用户中的每个用户的用户交互数据,保留分析系统140能够确定每个用户的保留率、匹配计划的保留率、每个用户的预测花费量和/或匹配计划的总预测花费量。
技能评估系统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的另一部分或者由用户计算系统110的另一部分和/或由交互计算系统130确定。本文描述的储存库中的每一个均能够包括非易失性存储器或者易失性和非易失性存储器的组合。
网络104能够包括任何类型的通信网络。例如,网络104能够包括广域网(WAN)、局域网(LAN)、蜂窝网络、自组网络、卫星网络、有线网络、无线网络等中的一个或更多个。此外,在一些情况下,网络104能够包括互联网。
示例性模型生成系统
图1B示出图1A的模型生成系统146的一个实施方案。模型生成系统146能够用于基于多个用户的历史数据152来生成或确定一个或更多个预测模型160。通常,但是不一定,历史数据152包括与大量用户相关联的数据,诸如数百、数千、数十万或更多的用户。然而,本公开内容并不限于此,并且用户的数量能够包括任何数量的用户。此外,历史数据152能够包括从一个或更多个数据源接收的数据,所述数据源比如,举例而言,应用主机系统(未示出)和/或一个或更多个用户计算系统112。此外,历史数据152能够包括来自不同数据源的数据、不同数据类型的数据以及通过一个或更多个用户与视频游戏112的交互生成的任何数据。在一些实施方案中,历史数据152能够包括非常多的数据点,比如上百万的数据点,上述数据点能够聚合为一个或更多个数据集。在一些情况下,历史数据152能够从用户数据储存库142来访问。在一些实施方案中,历史数据152限于与所述视频游戏相关的历史信息,但在其他实施方案中,历史数据152能够包括来自一个或更多个其他视频游戏的信息。此外,在一些实施方案中,历史数据的一个或更多个子集受日期限制的约束,比如受限于包括过去6个月、9个月或12个月的数据。
历史数据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的集合相组合来获得参数函数。预测模型160和/或预测模型160的相应参数162能够在训练过程期间基于用于训练目的的特定输入数据(诸如历史数据152、反馈数据154和控制数据156)以及限定输出准则得出,所述限定输出准则可被包括在控制数据156中。模型生成规则集合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之前对该输入数据进行过滤。
在一些实施方案中,对于保留分析系统140而言,可存在单个预测模型160。然而,如上所述,保留分析系统140可以包括多个预测模型160。保留分析系统140能够基于输入数据172和/或与输入数据172相关联的另外的标识符来确定使用哪个预测模型,比如模型160A-160N中的任一个。另外,所选择的预测模型160能够基于被作为输入数据172提供的特定数据来选择。作为输入数据172的一部分的特定类型数据的可用性可能会影响对预测模型160的选择。例如,将人口统计数据(例如年龄、性别、第一语言或首选语言)纳入为输入数据的一部分可能导致使用预测模型160A。然而,如果对于特定用户而言,人口统计数据不可用,则可以替代地使用预测模型160B。
如上所述,预测模型160中的一个或更多个可被生成具有不利因素166或者可与不利因素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)能够通过使用一个或更多个数学函数来组合以获得参数函数。此外,来自参数162A、162B、162N的一个或更多个具体参数能够通过权重164A、164B、164N(所述权重能够被统称为“权重164”)来加权。在一些情况下,参数函数能够通过将参数的集合(比如参数162A)与相应的权重164的集合(比如权重164A)相组合来获得。可选地,预测模型160A、160B、160N中的一个或更多个能够分别与不利因素166A、166B、166N(所述不利因素能够被统称为“不利因素166”)相关联。应当认识到,预测模型160内使用的参数162和/或权重164能够与规则集合170中使用的参数162和/或权重164(部分或全部)不同,以生成或构建预测模型,并且在一些实施方案中,用于生成模型的规则集合的参数和权重与模型内使用的参数和权重不同。
示例性预测模型生成过程
图2呈现了预测模型生成过程200的一个实施方案的流程图。过程200能够由能够生成包括一个或更多个参数的一个或更多个参数函数或预测模型的任何系统来实施。在一些情况下,过程200用作基于历史数据或其他已知数据来开发一个或更多个参数函数或预测模型的训练过程。过程200的全部或部分均能够由例如交互计算系统130、用户匹配系统132、技能评估系统136、保留分析系统140、模型生成系统146或用户计算系统110及其他来实施。虽然任何数量的系统,无论其全部或部分,均能够实施过程200,但为了简化讨论,将关于特定系统来描述过程200。此外,应当理解,过程200能够随时间的流逝来更新或重复执行。例如,过程200能够每月重复一次,使得添加或发布新视频游戏,或者使得添加可用于进行分析或可用于玩视频游戏112的阈值数量的新用户。然而,过程200能够更频繁地或更不频繁地来执行。
过程200始于框202处,在该处模型生成系统146接收包括对于视频游戏112的多个用户的用户交互数据的历史数据152。该历史数据152能够用作用于模型生成系统146的训练数据,并且能够包括用户人口统计资料或特征,诸如年龄、地理位置、性别或社会经济阶层。可替代地或另外地,历史数据152能够包括与下述相关的信息:一个或更多个用户的玩法风格;玩视频游戏112所花费的金钱量;用户关于视频游戏112的成功或失败信息(例如用户获胜比率);玩视频游戏112的游戏频率;使用特定的可选游戏元素(例如可用的加强道具(boost)、跳级、游戏内提示、能量提升(power up)等)的频率;针对视频游戏112购买游戏内物品所花费的真实货币量(例如美元或欧元),等等。另外,历史数据152能够包括与同多个用户中的一用户一起玩视频游戏112的一个或更多个另外的用户有关的数据。在一些情况下,历史数据152能够包括多组用户的用户交互数据以及其他用户或视频游戏相关数据,其中每个组包括一起作为对手、队友或作为对手和队友二者来玩视频游戏的多玩家实例的用户群。用户或视频游戏数据不仅能够包括上述数据,还能够包括每个用户关于视频游戏112的技能信息和/或能够在视频游戏112中进行的一个或更多个动作和/或视频游戏112的一个或更多个元素(比如等级或障碍)。另外,数据能够包括游戏内人物选择偏好、角色偏好以及能够用于区分不同用户的玩法风格、偏好或技能的其他信息。
在框204处,模型生成系统146接收指示对应于历史数据152的期望预测准则的控制数据156。该控制数据156能够指示模型生成系统146将针对其来确定模型的一个或更多个特性或特征。可替代地或另外地,控制数据156能够包括与所接收的历史数据152相关联的特性或特征的值。在一些实施方案中,控制数据156能够包括待由模型生成系统146生成的模型来预测的多个特征或特性。例如,控制数据156能够是预测用户在与一种类型的配对用户玩一种实例的视频游戏之后,继续玩该视频游戏一特定时间段的可能性的请求。作为另一示例,控制数据150能够包括如果用户与作为队友或对手的另一用户配对,该用户将在2小时内完成游戏或连续玩该游戏至少2小时的可能性。控制数据156能够指定用来将流失率或保留率确定为待由模型生成系统146生成的模型预测的期望特性的标准。该标准能够确定个人的流失率和/或个人与另一玩家类型(例如,对手或队友)相关的流失率。流失率或保留率能够对应于与历史数据152相关联的用户停止玩视频游戏112的百分比。此外,控制数据156能够识别用于确定与历史数据相关联的保留率的标准。例如,控制数据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可以不与不利因素相关联,和/或在生成模型时已经考虑了不利因素。在一些这样的情况下,能够基于预测模型生成的输出的准确度从多个预测模型中选择预测模型,或者能够随机地选择预测模型。在其他情况下,执行该块206的结果是使得与块208和块210相关联的操作不必要的单个的预测模型。
示例性匹配目标
在本文描述的实施方案中,匹配能够被应用于正在等待开始或玩1对1比赛的用户或玩家库,P={p1,...,pN}。用户库P的一个这样的示例在图3中示出为用户库302。为了简单起见,描述了1对1的使用案例。然而,应当理解,本文中的实施方案能够被扩展以包括针对多玩家比赛的更多用户。图形G能够被构造用来对等待玩多玩家视频游戏的玩家集合进行建模。图形G的一个这样的示例在图3中被示出为图形304。每个玩家pi能够由图形的顶点或节点来表示,该顶点或节点具有当前玩家状态si。玩家状态si能够表示用户特有的任何数据和用户与视频游戏112的交互。例如,玩家状态si能够表示用户交互数据、用户输赢记录或用户人口统计数据。此外,所使用的玩家状态数据能够根据期望目标函数——比如流失风险或购买游戏中货币的可能性——而变化。如果用户被配对,则两个玩家pi和pj之间的边能够与预期总和目标或参与度量(例如,总和流失风险)相关联。该度量依赖于两个用户的状态,并且能够被表示为函数f(si,sj)。应当注意,G通常是一个完整的图形,其中能够连接所有玩家对。然而,能够执行预计算和预过滤处理来精简图形。用户或玩家元组列表M={(pi,pj)}能够用于表示匹配结果或配对分配,其中P中的所有玩家都被配对并且仅被配对一次。图3中的图形304(图形G的示例)表示来自库302(库P的示例)的十个用户的图形配对。然而,在一些情况下,图形G可被形成用来表示玩家库P中的所有玩家。
本文描述的实施方案尝试找到最佳配对分配M*,该最佳配对分配使整体玩家参与度最大化:
流失风险能够用作具体的非参与度度量。流失风险能够指示玩家在特定时间段内或在利用所选择的比赛计划进行比赛后不玩任何游戏的可能性。使两名玩家的总和参与度最大化能够被认为是相当于使两名玩家或用户的总和流失风险最小化。在玩家pi与玩家pj在视频游戏的实例中匹配之后,玩家pi的流失风险ci,j能够被建模为两名用户或玩家的状态的函数:ci,j=c(si,sj)。应当注意,通常ci,j!=cj,i,因为成对匹配中的两名玩家可能会受到配对在一起的不同影响。例如,由于每名玩家都可能具有不同的匹配偏好,所以一个玩家可能喜欢匹配,而另一名玩家可能并不喜欢该匹配。因此,使用流失风险作为目标函数,并考虑到配对中每名玩家的流失风险可能受到配对的不同影响,能够将方程式1的优化目标函数转换为:
将ci,j+cj,i分配为G的边的权重,能够将优化方程2转换为最小权重完美匹配(MWPM)问题。解决关于图形G的MWPM问题导致利用边的最小加和的权重找到用户P的配对分配。
流失风险的预测
函数ci,j=c(si,sj)能够被模拟为流失预测问题。玩家pi的流失风险ci,j能够取决于玩家自己和他或她的对手的特征。然而,使用两名用户的玩家状态信息或用户交互信息作为对函数ci,j的输入,该函数能够被建模为使用机器学习过程来获得的预测模型的参数函数,将使得该函数的特征维度加倍,其能够使所得到的预测难以理解或者难以确定,这是因为例如,使用机器学习算法来生成参数函数可能比针对单个用户的玩家状态信息所确定的函数需要显著更多的训练数据。
因此,本文所公开的实施方案依赖于单个用户pi的状态信息si来预测ci,j。但是,用户的对手的状态信息sj可能影响用户的状态信息si。例如,在匹配的情况下,能够使用用户pi和对手pj之间的视频游戏的实例的预测匹配结果来影响对ci,j的确定。因此,一旦游戏结果已知,ci,j可能会变得有条件地独立于对手的状态sj
在一个示例性使用实例中,假设游戏结果从有限集合O——比如赢、输和平局——中进行抽样。使用标准技能模型,能够基于两名用户技能预测游戏结果。在某些情况下,这种预测能够不考虑用户状态的其他特征。将玩家pi的技能呈现(例如,经由向量)表示为μi,玩家pi和pj之间的游戏结果oi,j的概率(从pi的角度来看)能够表示为:
Pr(oi,j|si,sj)=Pr(oi,jiμj) (3)
其中,oi,j=W意味着pi赢且pj输,并且其中,oj,i=L表示从pj的角度来看的相同的结果。
配对用户的流失风险能够基于如下的两个等式来有效预测:
其中,第一个等式是游戏结果oi,j的边际化。在第二个等式中,插入方程3。概念c(si|oi,j)能够表示玩家pi在匹配之后的流失风险,其中使用了给定oi,j的情况下ci,j关于sj的有条件的独立性。
概念c(si|oi,j)能够作为流失预测问题被有效地学习。在确定匹配视频游戏结果之后,输入特征能够包括更新的用户状态,分解其中,oi K是最新的K视频游戏结果的向量(例如,当K=5时,oi K=LWLDL),并且表示si中的其他状态信息。状态更新能够表示为:
其中,表明,非匹配结果的状态信息或特征也能够在新的比赛结束后更新。例如,所玩的游戏的总数增加1。本文中的实施方案可修改以基于更新的用户状态信息采用其他流失预测模型。
一旦生成用户的图形,并且基于所选择的目标函数(比如流失风险)将权重施加到边,就能够使用边选择算法来确定视觉配对分配。例如,解决最小权重完美匹配(MWPM)问题能够用来选择如下边,该边导致选择与最低流失风险相关联的用户对。下文中参考图4描述的过程400提供了关于使用增加的参与或流失风险降低过程来选择针对匹配计划的用户的附加细节。
示例性多玩家匹配过程
图4示出多玩家匹配过程400的一个实施方案的流程图。过程400能够由能够创建可能作为对手、队友或对手和队友两者的组合来玩视频游戏112的两名或更多名用户的匹配计划的任何系统来实施。过程400的整体或部分能够由例如交互计算系统130、用户匹配系统132、用户图形生成器120、技能评估系统136、保留分析系统140、模型生成系统146或用户计算系统110等等来实施。虽然任何数量的系统均能够整体地或部分地实施过程400,但是为了简化讨论,将关于特定系统来描述过程400。此外,应当理解的是,能够随着时间的流逝更新或者重复执行过程400。例如,能够针对视频游戏112的每个游戏会话或针对视频游戏112的每个回合重复该过程400。然而,能够更频繁地或者更不频繁地执行过程400。
过程400始于框402处,在该处,用户匹配系统132识别等待玩多玩家视频游戏112的一组用户。所识别的用户组或者玩家池包括潜在地可能被配对或者包含在两名或更多名用户的匹配计划中作为队友、对手或者队友和对手这两者的组合的用户。用户匹配系统132能够使用任何类型的系统或过程来识别潜在地待匹配在一起的用户。例如,用户匹配系统132能够基于用户在等待玩视频游戏112的实例的用户队列中所处的位置或等待时长来识别所述用户。可替代地,用户匹配系统132能够基于技能水平来识别用户。在另一示例中,用户匹配系统132能够在一定的时间窗内随机地选择用户。该时间窗能够与一组用户已在用户队列中等待的时长有关。此外,时间窗能够基于用户队列中的用户的数量而变化。此外,在一些情况下,能够基于上述多名用户中的至少一些用户已经表明期望一起玩视频游戏112的指示来选择上述多名用户中的至少一些用户。
在框404处,用户图形生成器创建完全连接的图形G以对用户建模,其中,在框402处所标识的用户组中的每个用户表示图形中的顶点或节点,并且每个顶点通过边连接到图形中的每个其他顶点。图3示出图形生成过程的一个示例。图3包括用户池302。在图示的示例中,用户池302包括14名用户。此外,在图3所图示的示例中,可以从用户池302中选择10名用户作为在过程400的框402处所执行的操作的一部分。
作为在框404处所执行的操作的一部分,能够生成图形304,其中,图形的每个顶点表示在框402处所选择的10名用户之一。如图3所图示的,图形304是完全连接的图形,其中图形的每个顶点连接到图形的每个其他顶点。换言之,在所图示的示例中,每个顶点连接到图形304中的其他九个顶点。
返回到图4,在框406处,保留分析系统140访问在框402处所识别的每名用户的用户交互数据。能够从用户数据存储库142访问用户交互数据,该用户数据存储库能够包括与每名用户与视频游戏112的交互相关的信息。用户交互数据能够包括当前用户交互数据、历史用户交互数据、或者当前用户交互数据和历史用户交互数据两者的组合。当前用户交互数据能够包括来自当前游戏会话的用户交互数据或比特定阈值时间段更近的用户交互数据。例如,近期用户交互数据能够包括一周或一个月以内的用户交互数据。可替代地或另外地,近期用户交互数据能够包括来自3个、5个或10个游戏会话以内的游戏会话数据。相反地,历史用户交互数据能够包括比特定阈值时间段更早的用户交互数据。例如,历史用户交互数据能够包括至少一周或一个月的用户交互数据。可替代地或另外地,历史用户交互数据能够包括时间上来自5个或10个游戏会话以前的游戏会话的数据。
用户交互数据能够包括同用户与视频游戏112的交互有关的任何数据,包括:例如由用户选择的游戏内人物的身份;用户扮演角色的阈值百分比次数(比如治愈者或防御者);用户玩视频游戏所花费的时间量;用户关于视频游戏112所花费的金钱量;与用户相关联的技能水平等。此外,框406能够包括访问与用户先前已经与之一起玩过的对手或队友有关的数据。在一些情况下,用户的用户交互数据能够包括与对手或队友相关的数据。例如,用户的用户交互数据能够指示:当用户的队友具有比该用户更高的技能水平时,该用户通常(例如比阈值百分比更频繁)作为治愈者玩视频游戏112。然而,用户的用户交互数据能够指示:当用户的队友具有比该用户更低的技能水平时,该用户通常作为近战攻击人物玩视频游戏112。
在某些实施方案中,能够将特定值(比如默认值)分配给未与用户交互数据相关联的用户,或者与从少于阈值数量的比赛或者少于阈值量的玩视频游戏112所得出的用户交互数据相关联的用户。有利地,在一些这样的实施方案中,通过对用户使用特定值,能够对玩视频游戏112的新用户或者与少于阈值量的比赛或少于阈值量地玩视频游戏112的时间相关联的用户使用过程400。
可选地,在框408处,用户图形生成器120至少部分地基于用户的用户交互数据为每个用户执行预计算过程,以对每个用户预测用户所期望的匹配结果。执行预计算过程能够包括基于用户的用户交互数据使用参数函数或预测模型160来预测用户所期望的匹配结果。该预测模型能够是与框414中所使用的模型不同的模型。确定用户所期望的匹配结果能够包括确定用户是否希望赢得或输掉他或她的视频游戏112的下一场比赛,或者用户是否不在乎下一场比赛的结果。例如,已经连续赢得几场比赛的用户可能开始觉得视频游戏112太简单,并且可能希望输掉下一场比赛以保持挑战的感觉。另一位用户可能不喜欢输,并且尽管已经连续赢得几场比赛,但是仍可能希望继续赢得比赛。第三位用户可能已经连续输掉了几场比赛并且可能希望赢得一场比赛。如果第三位用户没有赢得比赛,那么视频游戏112对第三位用户而言可能就是太具挑战性的游戏。第四位用户可能不管结果如何都喜欢玩视频游戏112。
在框410处,用户图形生成器120至少部分地基于在框408处为每个用户确定的用户所期望的匹配结果来对在框404处所创建的完全连接的图形执行预过滤过程,以获得简化图形。执行预过滤过程能够包括去除先前完全连接的图形中的特定用户之间的边。例如,如果确定出一位用户期望赢得下一场比赛而另一位用户期望输掉下一场比赛,则可以将连接代表所述两位用户是潜在队友的一对节点的边从该连接图形中去除。有利地是,在一些实施方案中,通过执行预过滤过程来将完全连接的图形简化为简化图形,执行与过程400中的后续的框相关的操作所需的处理能力的量减少。例如,如下文中将更详细描述的,框418包括求解最小权重匹配问题以识别用于玩视频游戏112的一个或更多个匹配计划。通过执行预过滤处理来简化完全连接的图形,与在完全连接的图形上执行操作相比,在通过预过滤过程获得的简化连接图形上能够更迅速地、并且以更少的计算资源来执行与框418相关联的操作。在一些实施方案中,框410是可选的或省略的,比如当省略框408时。
在框412处,对于简化图形中的每条边,或者完全连接的图形而言,如果省略了框408和410,则保留分析系统140访问对应于由该边连接的顶点对的用户对的用户交互数据。每条边能够表示一对一比赛计划。因此,图形中的边能够被认为是多个潜在的一对一比赛计划。虽然主要是关于识别用户对来玩例如视频游戏112的一对一比赛而描述过程400,但是过程400不限于此。过程400的实施方案能够用于创建包括两个以上的用户的比赛计划。例如,过程400能够用于选择三个或四个用户来包括在比赛计划中。因此,在一些实施方案中,保留分析系统140访问对应于由包括在比赛计划中的一组边所连接的顶点的用户组的用户交互数据。例如,假设特定的视频游戏112支持三个用户与三名非玩家角色(NPCs)对抗比赛。在这种情况下,可以为完全连接的图形或简化图形中的用户三角形选择用户交互数据。
在框414处使用预测模型,保留分析系统140至少部分地基于用户对的用户交互数据为来自连接图形中的每对用户的每个用户计算流失风险。流失风险能够包括用户在与配对用户玩视频游戏112的实例之后继续玩视频游戏112一段特定时间段的概率。在一些情况下,确定每个用户的流失风险包括将用户对之间的匹配的所预测的结果和针对用户的用户交互数据应用于预测模型。可替代地或另外地,确定每个用户的流失风险包括将针对用户的交互数据和针对配对用户或在包含多于两个用户的多玩家匹配的情况下的用户群的交互数据应用于预测模型。
如前所述,用户交互数据能够包括同用户与视频游戏112的交互相关的任何类型的数据,包括:用户在玩视频游戏112时所采取的动作,以及用户正在玩视频游戏112的成功级别。在一些情况下,用户交互数据能够包括与用户在玩视频游戏112时的偏好相关的另外的或可替代的数据。此外,可用于一个用户的用户交互数据可能与可用于另一用户的用户交互数据不同。例如,优选的角色种类对于一个用户而言可能是已知的并且被包括在用户交互数据中,但是其对于另一个用户而言可能是未知的并且因此可能从该另一个用户的用户交互数据中省略。此外,在一些情况下,能够将详细说明哪些玩家是队友以及哪些玩家是对手的特定匹配计划提供给预测模型160以确定多个用户中的每个用户的流失风险。在一些这样的情况下,预测模型160能够输出(另外地或代替流失风险)使该组用户的保留率最大化的匹配计划或替代匹配计划。在一些情况下,用户交互数据能够包括提供附加数据,该附加数据表明待组合在一起作为队友或作为对手的两个或更多个用户。例如,两名玩家可能表明他们期望一起玩比赛。因此,在一些情况下,参数函数能够基于两个或更多个用户已经表明期望一起玩比赛的指示来调整所输出的该用户对或用户群的流失风险。
在框416处,用户图形生成器120基于与由边连接的顶点对相对应的用户对的流失风险之和来给图形的每条边分配权重,例如,将玩家A的流失风险之和与玩家B配对,并且玩家B的流失风险与玩家A配对。在一些情况下,用户对可能表明期望一起玩比赛。在这种情况下,能够调整分配给与已经表明期望一起玩比赛的用户对相关联的边的权重以确保该边被选择作为下文中所描述的与框418相关联的过程的一部分。在已经表明期望一起玩比赛的用户的数量小于玩比赛的用户的总数量的情况下,出于选择玩比赛的另外的用户的目的,将与用户相关联的节点保持在图形中。例如,在四人的多玩家视频游戏112中,如果两位用户表明期望一起玩,那么与该两位用户相关联的节点能够被保持在图形中,并且该两位用户之间的边能够被加权为使得选择两位用户一起玩是有保证的。然而,如果表明期望一起玩多玩家视频游戏112的用户的数量等于能够一起玩多玩家视频游戏112的用户的数量的话,则能够从图形中去除与已经表明期望一起玩的用户相关联的节点和边。在其他情况下,能够用其他用户替换与图中的特定节点相关联的用户。
在框418处,用户匹配系统132使用所分配的权重求解最小权重匹配(MWM)问题或最小权重完美匹配(MWPM)问题以确定一组边。在求解MWM问题的情况下,所选择的边能够将包含在图形中的一个或更多个节点省略。在这种情况下,与被省略的节点相关联的用户能够被包含在具有在过程400的后续执行中的替代用户的另一图形中。换言之,在一些情况下,并非在框402中所识别的所有用户都能够被分配给视频游戏112的实例。在这些情况下,用户能够被放回到等待分配给视频游戏112的实例的用户池中。在解决了MWPM问题的情况下,图形中的每个节点都将与所选择的边相关联。
如前所述,本文所公开的实施方案能够应用于另外的或可替代的目的,并且不限于基于流失风险对用户的选择。例如,在框414处,能够使用预测模型来确定保留率、货币支出率、例如由视频游戏开发商或视频游戏社区确定的正面或负面的用户行为的概率,或者用户单独完成比赛或与另外一个队友类型或对手类型的用户共同完成比赛的概率。在一些情况下,可能需要选择与最高权重相关联的边,而不是与最低权重相关联的边。在这种情况下,框418能够包括求解最大权重匹配问题或最大权重完美匹配问题。
在一些实施方案中,框418还包括识别与该组边的顶点相关联的用户来玩视频游戏112的实例。在一些情况下,与每条边相关联的用户对被识别为玩视频游戏112的单独的实例。在其他情况下,能够选择由图形中的所选择的边连接的三个或更多个用户来玩视频游戏112的实例。例如,在三个玩家的多玩家游戏中,框418能够包括求解针对三条边的群的最小权重匹配问题,而非针对单条边的最小权重匹配问题。能够选择与三条边的每个群或三角形相关联的用户来玩视频游戏的实例112。换言之,能够将过程400从基于用户的状态以及对手的状态确定玩视频游戏的实例的用户修改为分组问题,该分组问题检查被选择在一起玩视频游戏112的实例的三个或更多个用户的预测流失风险。
图4的图形404示出完成求解最小权重匹配问题,如图形404中的用户对之间存在的黑体或加粗线所示。在一些实施方案中,能够对所选择的边进行过滤以去除不符合特定阈值的边。例如,继续图4中所示的示例,求解最小权重匹配问题可能导致选择具有最低相关联的权重的五条边。然而,该五条边中的一些能够与超过特定阈值的权重相关联。在一些这样的情况下,能够将与超过特定阈值的权重相关联的边去除,并且能够将相关联的用户包含在具有来自用户池402的另外的用户的新图形中。
在框420处,用户匹配系统132使用与在框418确定的一组边中选择的边相关联的用户对来开始视频游戏112的可玩实例。在一些情况下,框420能够包括为与来自一组所选择的边中的每条所选择的边相关联的每对用户开始单独的视频游戏112的可玩实例。此外,如关于框418所描述的,能够选择两个以上的用户来玩视频游戏112的实例。能够基于用户与从一组边中选择的一群边的关联来选择对三个或更多个用户的分组。
在一些实施方案中,框420能够包括确定与每条所选择的边相关联的每对用户的流失风险是否满足阈值。对于与确实满足阈值的流失风险相关联的每对用户,能够开始视频游戏112的可玩实例。相反地,对于与不满足阈值的流失风险相关联的每对用户,能够将该对用户放回到等待玩视频游戏112的实例的用户队列中。
在一些实施方案中,能够在触发之前执行与过程400的至少一些框相关联的至少一些操作,以开始视频游戏112的实例。例如,能够在第一时间段期间执行与从框402至框416相关联的操作。在继第一时间段之后的第二时间段期间,在接收到开始一个或更多个多玩家视频游戏112的可玩实例的触发时,能够执行与框418和420相关联的操作。有利地是,通过预先执行至少一些操作,能够使匹配用户以用于玩视频游戏112的实例的过程加速。此外,能够以较低的计算成本来重复过程400的一部分。例如,假设在第一时间段期间执行与框402至框412相关联的操作。此外,假设在框402处识别的一个或更多个用户停止在海外玩等待玩多玩家视频游戏的实例。在这种情况下,能够在第一时间段期间重复与框402至框412相关联的操作,然后在第二时间段期间执行后续的框。通过将对一些框的执行分开在不同的时间段内,能够在检测到可用用户的变化时需重复更少的操作,从而改善对用户选择过程的执行。
计算系统概述
图5示出用户计算系统110的一个实施方案,其也能够被称为游戏系统。尽管图5针对的是用户计算系统110,但是应当理解,用户计算系统114和116能够具有相同或相似的配置。可替代地,用户计算系统114和116中的一个或更多个能够具有彼此不同的配置和/或与用户计算系统110具有不同的配置。如图所示,用户计算系统110能够是单个计算设备,其能够包括多个元件。然而,在一些情况下,用户计算系统110能够包括多个设备。例如,用户计算系统110能够包括:包括中央处理单元和图形处理单元的一个设备、包括显示器的另一设备以及包括输入装置(比如键盘或鼠标)的另一设备。
用户计算系统110能够是能够执行游戏系统的计算系统的一个实施方案。在图5的非限制性示例中,用户计算系统110是能够经由触摸屏显示器502从用户接收输入的可触摸计算设备。然而,用户计算系统110不限于此,而是能够包括不能触摸的实施方案,其不包括触摸屏显示器502。
用户计算系统110包括触摸屏显示器502和触摸屏接口504,并且被配置为执行游戏应用程序。该游戏应用程序能够是视频游戏112,或者是连同视频游戏112一起执行或支持该视频游戏的应用程序,比如视频游戏执行环境。虽然该应用程序被描述为游戏应用程序112,但是在一些实施方案中,应用程序112能够是另一种类型的应用程序,其能够跨越多用户计算系统(比如教育软件或语言软件)与多用户交互。尽管用户计算系统110包括触摸屏显示器502,但是应当认识到,除了触摸屏显示器502以外或者代替触摸屏显示器502,可以使用多种输入设备。
用户计算系统110能够包括一个或更多个处理器,比如中央处理单元(CPU)、图形处理单元(GPU)和加速处理单元(APU)。此外,用户计算系统110能够包括一个或更多个数据存储元件。此外,用户计算系统110能够包括一个或更多个易失性存储器元件,比如随机存取存储器(RAM)。在一些实施方案中,用户计算系统110能够是出于执行游戏应用程序112的目的创建的专用计算设备。例如,用户计算系统110能够是视频游戏控制台。由用户计算系统110执行的游戏应用程序112能够是使用特定的应用程序编程接口(API)来创建的,或者能够被编译成对于用户计算系统110专用的特定指令集。在一些实施方案中,用户计算系统110可以是能够执行游戏应用程序112和非游戏应用程序的通用计算设备。例如,用户计算系统110能够是具有集成的触摸屏显示器的笔记本电脑或者是具有外部触摸屏显示器的台式计算机。关于图6更详细地描述了用户计算系统110的示例性实施方案的部件。
触摸屏显示器502能够是被配置成从用户接收触觉输入(也被称为触摸输入)的电容式触摸屏、电阻式触摸屏、表面声波触摸屏或其他类型的触摸屏技术。例如,能够经由手指触摸屏幕、多个手指触摸屏幕、触控笔或者能够用于在触摸屏显示器502上表达触摸输入的其他刺激来接收触摸输入。触摸屏接口504能够被配置为将触摸输入转化成数据并输出数据,使得所述数据能够被用户计算系统110的部件——比如操作系统和游戏应用程序112——来解读。该触摸屏接口504能够将触觉触摸输入触摸的特征转化成触摸输入数据。触摸输入的一些示例性特征能够包括形状、大小、压力、位置、方向、动量、持续时间和/或其他特征。触摸屏接口504能够被配置为确定触摸输入的类型,比如,举例而言,点击(例如,在单个位置处触摸并释放)或滑动(例如,在单个触摸输入中移动通过触摸屏上的多个位置)。触摸屏接口504能够被配置成检测和输出与同时地或基本上并行地发生的多个触摸输入相关联的触摸输入数据。在一些情况下,同时的触摸输入能够包括这样的实例,其中,用户维持在触摸屏显示器502上的第一触摸,同时随后在触摸屏显示器502上执行第二触摸。触摸屏接口504能够被配置为检测触摸输入的移动。能够将触摸输入数据传输到用户计算系统110的部件以用于处理。例如,能够将触摸输入数据直接传输到游戏应用程序112以用于处理。
在一些实施方案中,在触摸输入数据被输出到游戏应用程序112之前,其能够经受由触摸屏接口504、操作系统或其他部件的处理和/或过滤。作为一个示例,能够从触摸输入中捕获原始触摸输入数据。能够对该原始数据进行过滤以去除背景噪声,能够测量与输入相关联的压力值,并且能够计算与触摸输入相关联的位置坐标。提供给游戏应用程序112的触摸输入数据的类型能够取决于触摸屏接口504和与触摸屏接口504相关联的特定API的具体实现。在一些实施方案中,触摸输入数据能够包括触摸输入的位置坐标。能够以限定的频率输出触摸信号数据。能够每秒计算多次对触摸输入的处理,并且能够将触摸输入数据输出到游戏应用程序以用于进一步处理。
游戏应用程序112能够被配置成在用户计算系统110上执行。游戏应用程序112也能够被称为视频游戏、游戏、游戏代码和/或游戏程序。游戏应用程序应该被理解为包括用户计算系统110能够用来提供供用户玩的游戏的软件代码。游戏应用程序112可以包括向用户计算系统110通知要执行的处理器指令的软件代码,但是也可以包括在玩游戏中所使用的数据,比如与常量、图像和其他数据结构有关的数据。例如,在所图示的实施方案中,游戏应用程序包括游戏引擎512、游戏数据514和游戏状态信息516。如前所述,本文所描述的实施方案能够用于视频游戏之外的应用程序,比如教育软件或视频会议。因此,在一些这样的情况下,能够用可涉及通过网络进行通信的多个用户并且选择服务器或多个用户计算系统中的一个用作主机的其他类型的应用来代替游戏应用程序112。
用户计算系统110的触摸屏接口504或另一部件,比如操作系统,能够向游戏应用程序112提供用户输入,比如触摸输入。在一些实施方案中,用户计算系统110能够包括可替代的或另外的用户输入设备,诸如鼠标、键盘、照相机、游戏控制器等。此外,用户计算系统110能够包括虚拟现实显示器和/或增强现实显示器。用户能够经由触摸屏接口504和/或一个或更多个可替代的或另外的用户输入设备与游戏应用程序112交互。游戏引擎512能够被配置为在用户计算系统110内执行游戏应用程序112的操作的多个方面。游戏应用程序内游戏玩法的多个方面的执行能够至少部分地基于所接收的用户输入、游戏数据514和游戏状态信息516。游戏数据514能够包括游戏规则、预先记录的运动捕捉姿势/路径、环境设置、约束、动画参考曲线、骨架模型和/或其他游戏应用信息。此外,游戏数据514能够包括用于设置或调整游戏应用程序112的难度的信息。
游戏引擎512能够根据游戏规则来执行游戏内的游戏玩法。游戏规则的一些示例能够包括用于评分、可能的输入、动作/事件、响应于输入的运动等的规则。其他部件能够控制接受何种输入和游戏如何进展,以及游戏玩法的其他方面。在游戏应用程序112的执行期间,游戏应用程序112能够存储游戏状态信息516,该游戏状态信息能够包括人物状态、环境状态、场景对象存储和/或与游戏应用程序112的执行状态相关联的其他信息。例如,游戏状态信息516能够及时地识别游戏应用程序在特定时间点处的状态,诸如人物位置、人物动作、游戏级别属性以及有助于游戏应用程序的状态的其他信息。
游戏引擎512能够接收用户输入并确定游戏内事件,诸如动作、碰撞、奔跑、投掷、攻击和适于游戏应用程序112的其他事件。在操作期间,游戏引擎512能够读取游戏数据514和游戏状态信息516,以便确定合适的游戏内事件。在一个实施例中,在游戏引擎512确定人物事件之后,这些人物事件能够被传送到运动引擎,该运动引擎能够确定人物应该响应于该事件做出的合适运动,并将那些运动传递到动画引擎。动画引擎能够确定人物的新姿势,并且将新姿势提供到皮肤和渲染引擎。皮肤和渲染引擎则能够将人物图像提供至对象组合器,以将有生命对象、无生命对象和背景对象组合到完整场景中。完整场景能够被传送至渲染器,该渲染器能够生成用于显示给用户的新帧。在执行游戏应用程序期间,能够重复该过程以用于渲染每一帧。虽然已经在人物的情境中描述了该过程,但是该过程能够应用于用于处理事件的任何过程并且渲染用于向用户显示的输出的任何过程。
在一些情况下,视频游戏引擎512中的至少一些能够驻留在服务器,比如视频游戏服务器152中的一个上。此外,在一些情况下,完整的视频游戏引擎512能够驻留在服务器上。因此,在一些情况下,能够将视频游戏引擎512从寄存在用户计算系统110上的视频游戏应用程序112的部分中省略。类似地,在一些实施方案中,能够将视频游戏状态信息516和视频游戏数据514不仅寄存在用户计算系统110上而且还另外地寄存在服务器上,或者不寄存在用户计算系统110上而是寄存在服务器上。此外,在一些情况下,能够将在视频游戏应用程序112内执行的用户动作发送至正在寄存视频游戏112的一部分的服务器。服务器能够计算或确定用户关于视频游戏应用程序112的交互的结果,诸如冲突、攻击或移动。然后,服务器能够将用户动作的结果发送到用户计算系统110上的视频游戏应用程序112。然后,视频游戏应用程序112能够响应于结果执行动作,比如将结果显示给用户。
计算系统的示例性硬件配置
图6示出用于图5的用户计算系统110的硬件配置的一个实施方案。应当理解,能够将用户计算系统114和116中的每个配置为与用户计算系统110类似或者相同。可替代的,用户计算系统114和116中的一个或更多个能够具有彼此不同的配置和/或与用户计算系统110具有不同的配置。用户计算系统110的其他变形能够替代本文所明确呈现的实施例,比如去除用户计算系统110的部件或向该用户计算系统添加部件。用户计算系统110能够包括专用游戏设备、智能电话、平板计算机、个人计算机、台式计算机、膝上型计算机、智能电视、汽车控制台显示器等。此外,如参照图5所描述的(尽管未在图6中明确示出),用户计算系统110能够可选地包括触摸屏显示器502和触摸屏接口504。
如所示出的,用户计算系统110包括处理单元20,该处理单元与用户计算系统110的其他部件相互交互并且还与用户计算系统110外部的部件相互交互。可以包括能够与游戏介质12通信的游戏介质读取器22。游戏介质读取器22可以是能够读取光盘——比如CD-ROM或DVD——的光盘读取器,或者是能够从游戏介质12接收和读取数据的任何其他类型的读取器。在一些实施方案中,游戏介质读取器22能够是可选的或被省略的。例如,能够经由网络I/O 38通过网络访问游戏内容或应用程序,从而致使游戏介质读取器22和/或游戏介质12是可选的。
用户计算系统110可包括单独的图形处理器24。在一些情况下,图形处理器24能够内置在处理单元20中,比如利用APU内置在处理单元中。在一些这样的情况下,图形处理器24能够与处理单元20共享随机存取存储器(RAM)。可替代地或另外地,用户计算系统110能够包括与处理单元20分开的分立图形处理器24。在一些这样的情况下,图形处理器24能够具有与处理单元20分开的RAM。此外,在一些情况下,图形处理器24能够连同一个或更多个另外的图形处理器和/或连同嵌入式的或非分立的图形处理单元一起工作,该嵌入式的或非分立的图形处理单元能够嵌入到主板中并且有时被称为板载图形芯片或设备。
用户计算系统110还包括用于使得能够输入/输出的各种部件,诸如I/O 32、用户I/O 34、显示器I/O 36和网络I/O 38。如前所述,在一些情况下,输入/输出部件能够包括触控设备。I/O 32与存储元件40交互,并通过设备42与可移除存储介质44交互,以向用户计算系统110提供存储。处理单元20能够通过I/O 32通信以存储数据,比如游戏状态数据以及任意的共享数据文件。除了存储器40和可移除存储介质44之外,用户计算系统110还被示出为包括ROM(只读存储器)46和RAM 48。RAM 48能够用于被频繁访问的数据,比如当正在玩游戏时,或者用于被处理单元20和/或图形处理器24访问的所有数据。
用户I/O 34用于在处理单元20和用户设备(比如游戏控制器)之间发送和接收命令。在一些实施方案中,用户I/O 34能够包括触摸屏输入。如前所述,触摸屏能够是电容式触摸屏、电阻式触摸屏或被配置为通过触觉输入从用户接收用户输入的其他类型的触摸屏技术。显示器I/O 36提供用于显示来自正在玩的游戏的图像的输入/输出功能。网络I/O 38用于针对网络的输入/输出功能。在执行游戏期间,比如当在线玩游戏或者在线访问游戏时,能够使用网络I/O 38。
显示输出信号能够由显示器I/O 36产生,并且能够包括用于在显示设备上显示由用户计算系统110产生的可视内容的信号,诸如图形、用户接口、视频和/或其他视觉内容。用户计算系统110能够包括被配置为接收由显示器I/O 36产生的、可以被输出以用于显示给用户的显示输出信号的一个或更多个集成显示器。根据一些实施方案,由显示器I/O 36产生的显示输出信号也能够被输出到用户计算系统110外部的一个或更多个显示设备。
用户计算系统110还可包括游戏可能使用的其他特征,诸如时钟50、闪存52和其他部件。音频/视频播放器56也可以用于播放视频序列,比如电影。应当理解,能够在用户计算系统110中设置其他部件,并且本领域技术人员将会领会用户计算系统110的其它变型。
程序代码能够存储在ROM 46、RAM 48或存储器40(其可以包括硬盘、其他磁存储器、光存储器、固态驱动器和/或其他非易失性存储器或者它们的组合或变型)中。程序代码的至少一部分能够存储在可编程的ROM(ROM、PROM、EPROM、EEPROM等)中、在存储器40中和/或在可移除介质,比如游戏介质12(其能够是CD-ROM、卡盒、存储器芯片等,或者根据需要通过网络或其他电子渠道获得)上。通常,能够发现程序代码被包含在有形的非暂态信号承载介质中。
随机存取存储器(RAM)48(以及可能的其他存储器)可用于存储变量以及所需的其他游戏和处理器数据。使用RAM,其保存在玩游戏期间生成的数据,并且其一部分还可以被预留用于帧缓存、游戏状态和/或对于解读用户输入和生成游戏显示而言所需的或可用的其他数据。通常,RAM48是易失性存储器,并且当用户计算系统110被关闭或者断电时,RAM48中存储的数据可能会丢失。
当用户计算系统110读取游戏介质12并提供游戏时,能够从游戏介质12读取信息并将信息存储在存储设备,比如RAM 48中。另外地,来自存储器40、ROM 46、经由网络访问的服务器(未示出)、或可移除存储介质46的数据能够被读取并加载到RAM 48中。尽管描述了在RAM 48中发现数据,但是应当理解,数据不必非得存储在RAM 48中,而是能够存储在处理单元20可访问的其他存储器中,或分布在多个介质,比如游戏介质12和存储器40中。
另外的实施方案
应当理解,根据本文所描述的任何具体实施方案不一定能够实现所有的目标或优点。因此,例如,本领域技术人员将认识到,某些实施方案能够被配置为以如下方式来操作,即,使得实现、增加或优化如本文所教导的一个优点或一组优点,而不必实现如本文可能教导或建议的其他目标或优点。
本文描述的所有过程能够以软件代码模块实现并且经由软件代码模块来完全自动化,该软件代码模块由包括一个或更多个计算机或处理器的计算系统执行。所述代码模块能够被存储在任何类型的非暂态计算机可读介质或其他计算机存储设备中。上述方法中的一些或全部能够以专用的计算机硬件来实施。
从本公开内容中可明了除本文所描述的那些之外的许多其他变型。例如,根据实施方案,本文描述的算法中的任一个的某些动作、事件或功能均能够以不同的顺序来执行,其可以被添加、合并或者一并丢弃(例如,对于算法的实现而言,并非所有描述的动作或事件都是必需的)。此外,在某些实施方案中,动作或事件能够被同时执行,例如通过多线程处理、中断处理、或多个处理器或处理器内核或在其他并行架构上同时执行,而不是顺序执行。此外,不同的任务或过程能够由能够一起运作的不同机器和/或计算系统来执行。
结合本文公开的实施方案描述的各种说明性逻辑框和模块能够由机器,诸如处理单元或处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立门或晶体管逻辑电路、分立的硬件部件或它们的被设计成执行本文所描述的功能的任何组合来实施或执行。处理器能够是微处理器,但是在替代方案中,处理器能够是控制器、微控制器、或状态机以及它们的组合等。处理器能够包括被配置为处理计算机可执行指令的电路。在另一实施方案中,处理器包括执行逻辑操作而不处理计算机可执行指令的FPGA或其他可编程设备。处理器还能够被实现为计算设备的组合,例如DSP和微处理器的组合、多个微处理器的组合,一个或更多个微处理器连同DSP内核的组合或任何其他此类的配置。尽管本文主要是关于数字技术进行了描述,但是处理器也能够主要包括模拟部件。计算环境能够包括任何类型的计算机系统,包括但不限于基于微处理器、大型计算机、数字信号处理器、便携式计算设备、设备控制器或者设施内的计算引擎等的计算机系统,仅举几例。
除非另外特别说明,否则条件性用语,诸如“能够”、“可”、“可能”或“可以”及其他,在上下文中应根据通常所使用的进行理解,以表达某些实施方案包括、而其他实施方案不包括某些特征、元件和/或步骤。因此,这样的条件性用语通常并不意在暗示:特征、元件和/或步骤以任何方式是一个或更多个实施方案所需要的,或者该一个或更多个实施方案必需包括用于判定——在具有或不具有用户输入或提示的情况下——这些特征、元件和/或步骤是否包括在任何具体的实施方案中或要在任何具体的实施方案中执行的逻辑。
除非另外特别说明,否则选言性用语,比如短语“X、Y或Z中的至少一个”在上下文中应根据通常所使用的进行理解,以表示项、术语等可以是X、Y或Z,或它们的任何组合(例如,X、Y和/或Z)。因此,这样的析取性用语通常并不意在并且不应当暗示某些实施方案需要至少一个X、至少一个Y或至少一个Z均存在。
本文中描述的和/或在附图中描绘的流程图中的任何过程描述、元件或框均应当被理解为潜在地表示包括用于在过程中实施特定的逻辑功能或元件的一个或更多个可执行指令的代码模块、代码段或代码部分。在本文描述的实施方案的范围内包括替代的实施方式,在这样的替代实施方式中,元件或功能能够被删除、与所示出的或讨论的次序不同地来执行,包括基本上同时执行或以相反的顺序执行,这取决于如本领域技术人员将理解的所涉及的功能。
除非另有明确说明,否则冠词,比如“一个”或“一”,通常应被解释为包括一个或更多个描述的项目。因此,措辞比如“设备配置为……(或者配置为……的设备)”意在包括一个或更多个所述的设备。这样的一个或更多个所述的设备还能够被共同配置成执行列举项。例如,“被配置为执行列举项A、B和C的处理器”能够包括被配置为执行列举项A的第一处理器,该第一处理器连同被配置为执行列举项B和C的第二处理器一起工作。
应当强调的是,能够对上述实施方案做出许多变型和修改,这些变型和修改要素应当被理解为在其他可接受实施例中。所有这样的修改和变型都旨在被包括在本公开内容的范围内。

Claims (20)

1.一种计算机实施的方法,包括:
在由配置有特定的计算机可执行指令的交互计算系统实施时,
从用户池中选择多个用户,所述用户池可用于选择玩视频游戏的实例,其中,所述视频游戏的实例的至少第一部分在来自所述多个用户的至少一个用户的用户计算设备上执行,并且所述视频游戏的实例的第二部分在所述交互计算系统上执行;
创建包括多个顶点和多条边的连接图形,其中,每个顶点通过来自所述多条边的至少一条边连接,并且其中,每个顶点表示所述多个用户中的不同用户;
访问所述多个用户中的每个用户的用户交互数据,所述用户交互数据对应于所述用户与所述视频游戏的交互;
对于连接图形中的每条边,至少部分地基于第一用户的第一流失风险和第二用户的第二流失风险来向所述边分配权重,所述第一用户对应于所述边的第一节点,所述第二用户对应于所述边的第二节点,其中,所述第一流失风险至少部分地基于所述第一用户的用户交互数据,并且所述第二流失风险至少部分地基于所述第二用户的用户交互数据;
至少部分地基于分配给所述连接图形中的每条边的权重来从所述连接图形中选择一组边以获得一组选择的边,其中,所述连接图形中的每个顶点连接到所述一组选择的边中的至少一条边;和
使用对应于包含在所述一组选择的边中的一条或更多条边的顶点的至少一对用户来开始所述视频游戏的可玩实例。
2.根据权利要求1所述的计算机实施的方法,其中,所述连接图形是完全连接图形。
3.根据权利要求1所述的计算机实施的方法,还包括通过将至少所述第一用户的用户交互数据应用于至少部分地基于机器学习算法生成的参数函数来确定所述第一流失风险。
4.根据权利要求1所述的计算机实施的方法,还包括至少部分地基于所述第一用户的用户交互数据和所述第二用户的用户交互数据来预测由所述第一用户和所述第二用户玩的所述视频游戏的具体实例的匹配结果。
5.根据权利要求4所述的计算机实施的方法,还包括通过将至少所述第一用户的用户交互数据和所预测的匹配结果应用于至少部分地基于机器学习算法生成的参数函数来确定所述第一流失风险。
6.根据权利要求1所述的计算机实施的方法,其中,所述权重包括所述第一流失风险和所述第二流失风险的总和或平均值。
7.根据权利要求1所述的计算机实施的方法,其中,选择所述一组边包括至少部分地基于分配给所述连接图形的每条边的权重来求解所述连接图形的最小权重匹配问题。
8.根据权利要求1所述的计算机实施的方法,还包括对于所述多个用户中的每个用户,至少部分地基于该用户的用户交互数据执行预计算过程,以针对该用户确定期望的视频游戏匹配结果。
9.根据权利要求8所述的计算机实施的方法,还包括:
确定完全连接图形,其中,每个顶点表示与所述多个用户中的不同用户;和
至少部分地基于所述多个用户中的每个用户的期望的视频游戏匹配结果来在所述完全连接图形上执行预过滤过程以获得所述连接图形。
10.根据权利要求1所述的计算机实施的方法,其中:
至少所述创建连接图形发生在第一时间段期间;和
至少所述执行边选择过程发生在比所述第一时间段晚的第二时间段期间。
11.根据权利要求10所述的计算机实施的方法,其中,响应于所述多个用户中的至少一个用户的可用性的变化,从所述用户池中选择更新的多个用户,并且使用所述更新的多个用户在所述第一时间段期间重复至少所述创建连接图形。
12.根据权利要求10所述的计算机实施的方法,其中,响应于触发以开始所述视频游戏的可玩实例,所述第二时间段开始。
13.一种系统,包括:
电子数据存储器,其配置为存储用于视频游戏的用户的用户交互数据;
与所述电子数据存储器通信的硬件处理器,所述硬件处理器配置为执行特定的计算机可执行指令,以至少:
选择可用于玩视频游戏的实例的多个用户,其中,所述视频游戏的实例的至少第一部分在来自所述多个用户的至少一个用户的用户计算设备上执行,并且所述视频游戏的实例的第二部分在所述交互计算系统上执行;
创建连接图形,其中,每个顶点表示所述多个用户中的不同用户;
从所述电子数据存储器访问所述多个用户中的每个用户的用户交互数据,所述用户交互数据对应于所述用户与所述视频游戏的交互;
对于连接图形中的每条边,至少部分地基于第一用户的第一流失风险和第二用户的第二流失风险来向所述边分配权重,所述第一用户对应于所述边的第一节点,所述第二用户对应于所述边的第二节点,其中,所述第一流失风险至少部分地基于所述第一用户的用户交互数据,并且所述第二流失风险至少部分地基于所述第二用户的用户交互数据;
至少部分地基于分配给所述连接图形中的每条边的权重来从所述连接图形中选择一组边,其中,所述连接图形中的每个顶点连接到所述一组选择的边中的至少一条边;和
使用对应于包含在所述一组选择的边中的一条或更多条边的顶点的至少两个用户来开始视频游戏的可玩实例。
14.根据权利要求13所述的系统,其中,所述硬件处理器还配置为通过将至少所述第一用户的用户交互数据应用于至少部分地基于机器学习算法生成的参数函数来确定所述第一流失风险。
15.根据权利要求13所述的系统,其中,所述硬件处理器还配置为:
至少部分地基于所述第一用户的用户交互数据和所述第二用户的用户交互数据来预测由所述第一用户和所述第二用户玩的所述视频游戏的具体实例的匹配结果;和
通过将至少所述第一用户的用户交互数据和所预测的匹配结果应用于至少部分地基于机器学习算法生成的参数函数来确定所述第一流失风险。
16.根据权利要求13所述的系统,其中,所述硬件处理器还配置为作为所述边选择过程的一部分,至少部分地基于分配给所述连接图形的每条边的权重来求解所述连接图形的最小权重匹配问题。
17.根据权利要求13所述的系统,其中,所述硬件处理器还配置为通过至少以下方式创建所述连接图形:
创建完全连接图形,其中,每个顶点表示所述多个用户中的不同用户;
至少部分地基于每个用户的用户交互数据来针对每个用户确定期望的视频游戏匹配结果;和
至少部分地基于每个用户的期望的视频游戏匹配结果来过滤所述完全连接图形以获得所述连接图形。
18.一种存储有计算机可执行指令的非暂态计算机可读存储介质,所述计算机可执行指令在由一个或更多个计算设备执行时,配置所述一个或更多个计算设备以执行如下操作,所述操作包括:
从可用于玩视频游戏的实例的用户池中选择多个用户,其中,所述视频游戏的实例的至少第一部分在来自所述多个用户的至少一个用户的用户计算设备上执行,并且所述视频游戏的实例的第二部分在所述交互计算系统上执行;
创建连接图形,其中,每个顶点表示所述多个用户中的不同用户;
访问所述多个用户中的每个用户的用户交互数据,所述用户交互数据对应于所述用户与所述视频游戏的交互;
对于连接图形中的每条边,至少部分地基于第一用户的第一流失风险和第二用户的第二流失风险向所述边分配权重,所述第一用户对应于所述边的第一节点,所述第二用户对应于所述边的第二节点,其中,所述第一流失风险至少部分地基于所述第一用户的用户交互数据,并且所述第二流失风险至少部分地基于所述第二用户的用户交互数据;
至少部分地基于分配给所述连接图形中的每条边的权重从所述连接图形中选择一组边,其中,所述连接图形中的每个顶点连接到所述一组选择的边中的一条或更多条边;和
使用多个用户来开始所述视频游戏的可玩实例,所述多个用户对应于包含在所述一组选择的边中的一条或更多条边的顶点。
19.根据权利要求18所述的非暂态计算机可读存储介质,还包括通过将至少所述第一用户的用户交互数据应用于至少部分地基于机器学习算法生成的参数函数来确定所述第一流失风险。
20.根据权利要求18所述的非暂态计算机可读存储介质,还包括:
至少部分地基于所述第一用户的用户交互数据和所述第二用户的用户交互数据来预测由所述第一用户和所述第二用户玩的所述视频游戏的具体实例的匹配结果;和
通过将至少所述第一用户的用户交互数据和所预测的匹配结果应用于至少部分地基于机器学习算法生成的参数函数来确定所述第一流失风险。
CN201710983933.0A 2016-10-21 2017-10-20 多玩家视频游戏匹配系统和方法 Active CN107970612B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662411452P 2016-10-21 2016-10-21
US62/411,452 2016-10-21
US15/416,961 US10286327B2 (en) 2016-10-21 2017-01-26 Multiplayer video game matchmaking system and methods
US15/416,961 2017-01-26

Publications (2)

Publication Number Publication Date
CN107970612A true CN107970612A (zh) 2018-05-01
CN107970612B CN107970612B (zh) 2021-07-13

Family

ID=61971712

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710983933.0A Active CN107970612B (zh) 2016-10-21 2017-10-20 多玩家视频游戏匹配系统和方法

Country Status (3)

Country Link
US (3) US10286327B2 (zh)
KR (1) KR102127670B1 (zh)
CN (1) CN107970612B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108786117A (zh) * 2018-06-12 2018-11-13 北京智明星通科技股份有限公司 一种手机游戏玩家分组方法、装置和服务器
CN108846438A (zh) * 2018-06-15 2018-11-20 电子科技大学 一种基于现实地理位置的组队匹配方法
CN108970124A (zh) * 2018-07-05 2018-12-11 腾讯科技(深圳)有限公司 组队匹配方法、装置、系统及可读介质
CN109284776A (zh) * 2018-08-24 2019-01-29 小沃科技有限公司 用于防沉迷系统的基于随机森林的自训练学习系统及方法
CN109966744A (zh) * 2019-01-10 2019-07-05 珠海金山网络游戏科技有限公司 一种动态组队匹配的方法和系统
CN110348914A (zh) * 2019-07-19 2019-10-18 中国银行股份有限公司 客户流失数据分析方法及装置
CN110548283A (zh) * 2018-05-31 2019-12-10 索尼互动娱乐有限责任公司 挑战游戏系统
CN111613540A (zh) * 2020-05-09 2020-09-01 安徽安美半导体有限公司 一种高可靠性整流桥及整流模块的生产工艺
CN111803957A (zh) * 2020-07-17 2020-10-23 网易(杭州)网络有限公司 一种网络游戏的玩家预测方法、装置、计算机设备和介质
CN112135671A (zh) * 2018-05-07 2020-12-25 微软技术许可有限责任公司 基于远程用户输入的上下文游戏内元素识别、注释和交互
CN112805076A (zh) * 2018-09-07 2021-05-14 威尔乌集团 用于玩家安排比赛的机器学习的信任度评分
CN114840859A (zh) * 2021-12-21 2022-08-02 许磊 一种通用数据的流媒体化系统
CN114949861A (zh) * 2018-11-05 2022-08-30 索尼互动娱乐有限责任公司 使用云游戏网络的人工智能(ai)模型训练

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7110525B1 (en) 2001-06-25 2006-09-19 Toby Heller Agent training sensitive call routing system
US8038535B2 (en) 2005-05-17 2011-10-18 Electronic Arts Inc. Collaborative online gaming system and method
US9776091B1 (en) 2014-05-16 2017-10-03 Electronic Arts Inc. Systems and methods for hardware-based matchmaking
US9993735B2 (en) 2016-03-08 2018-06-12 Electronic Arts Inc. Multiplayer video game matchmaking optimization
US10729975B1 (en) 2016-03-30 2020-08-04 Electronic Arts Inc. Network connection selection processing system
US10286327B2 (en) 2016-10-21 2019-05-14 Electronic Arts Inc. Multiplayer video game matchmaking system and methods
US10603594B2 (en) * 2016-12-07 2020-03-31 Microsoft Technology Licensing, Llc Online ecosystem-based resource recommendations
US10449458B2 (en) * 2016-12-30 2019-10-22 Microsoft Technology Licensing, Llc Skill matching for a multiplayer session
CN106823376B (zh) 2017-01-24 2020-08-21 腾讯科技(深圳)有限公司 一种实现用户匹配的方法及装置
US10832260B2 (en) * 2017-01-27 2020-11-10 Walmart Apollo Lllc Systems and methods for determining customer lifetime value
US10894215B1 (en) * 2017-06-27 2021-01-19 Amazon Technologies, Inc. Matching players for networked gaming applications
US10807006B1 (en) * 2017-12-06 2020-10-20 Amazon Technologies, Inc. Behavior-aware player selection for multiplayer electronic games
US11651314B1 (en) * 2018-06-26 2023-05-16 Gbt Travel Services Uk Limited Determining customer attrition risk
US11052311B2 (en) 2018-09-07 2021-07-06 Valve Corporation Machine-learned trust scoring based on sensor data
US10960315B1 (en) * 2018-12-03 2021-03-30 Electronic Arts Inc. Mapping identifier values of a gameplay session for application profiling
WO2020153232A1 (ja) * 2019-01-24 2020-07-30 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理装置の制御方法、及びプログラム
US11216742B2 (en) 2019-03-04 2022-01-04 Iocurrents, Inc. Data compression and communication using machine learning
GB2585879A (en) 2019-07-19 2021-01-27 Sony Interactive Entertainment Inc User interaction selection method and apparatus
KR102345723B1 (ko) * 2019-12-06 2021-12-31 넷마블 주식회사 매칭 결정 방법을 제공하기 위한 컴퓨터 프로그램
US11395974B1 (en) * 2020-05-04 2022-07-26 Electronic Arts Inc. Contextually aware active social matchmaking
CN111957053A (zh) * 2020-09-03 2020-11-20 网易(杭州)网络有限公司 游戏玩家匹配方法、装置、存储介质与电子设备
US11478716B1 (en) * 2020-11-05 2022-10-25 Electronic Arts Inc. Deep learning for data-driven skill estimation
US11276127B1 (en) 2021-03-04 2022-03-15 Timothy Dirk Stevens Recommending matches using machine learning

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040097287A1 (en) * 2002-11-14 2004-05-20 Richard Postrel Method and system for gaming over a computer network
US20060258463A1 (en) * 2005-05-13 2006-11-16 Professional Interactive Entertainment, Inc. System and method for network interactive game match-up and server selection
CN101835516A (zh) * 2007-10-26 2010-09-15 微软公司 提供玩家状态和加入游戏的能力的方法
CN102917764A (zh) * 2010-06-04 2013-02-06 科乐美数码娱乐株式会社 游戏系统以及玩家的匹配方法
CN103945912A (zh) * 2011-06-24 2014-07-23 娱乐技术公司 用于实施在线视频游戏联赛的系统和方法
CN104054078A (zh) * 2012-01-18 2014-09-17 阿尔卡特朗讯 用于向社交网络的第二子集的用户提供所述社交网络的第一子集的服务集的方法
CN104063574A (zh) * 2013-06-03 2014-09-24 腾讯科技(深圳)有限公司 队伍对战匹配方法及服务器
US20140357367A1 (en) * 2012-03-30 2014-12-04 Zynga Inc. Graphical user interfaces in computer-implemented multiplayer games
US20160005270A1 (en) * 2014-07-03 2016-01-07 Activision Publishing, Inc. System and method for driving microtransactions in multiplayer video games
CN105307738A (zh) * 2013-02-19 2016-02-03 大卫·瓦勒斯 用于卡图匹配游戏的系统和方法
CN105582673A (zh) * 2015-11-09 2016-05-18 广州多益网络科技有限公司 对象匹配的方法及系统
CN105854301A (zh) * 2016-04-25 2016-08-17 上海云顷信息科技有限公司 一种约战的系统方法

Family Cites Families (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5685774A (en) 1994-07-22 1997-11-11 Webb; Derek J. Method of playing card games
US20020195775A1 (en) 1994-07-22 2002-12-26 Shuffle Master, Inc. Four card poker and associated games
US5813913A (en) 1995-05-30 1998-09-29 Interactive Network, Inc. Game of skill playable by remote participants in conjunction with a common game event where participants are grouped as to skill level
JPH09155065A (ja) 1995-12-12 1997-06-17 Hudson Soft Co Ltd 特定固有データ交換可能な対戦型コンピュータゲームシステム
US6128660A (en) 1996-03-21 2000-10-03 Hearme Network match maker
US6015348A (en) 1996-10-18 2000-01-18 Starwave Corporation Scalable game server architecture
US6038599A (en) 1997-04-23 2000-03-14 Mpath Interactive, Inc. Latency server and matchmaker
US6023729A (en) 1997-05-05 2000-02-08 Mpath Interactive, Inc. Method and apparatus for match making
US5964660A (en) 1997-06-18 1999-10-12 Vr-1, Inc. Network multiplayer game
US6012096A (en) 1998-04-23 2000-01-04 Microsoft Corporation Method and system for peer-to-peer network latency measurement
JP4097240B2 (ja) 1998-10-26 2008-06-11 株式会社バンダイナムコゲームス ゲームシステム及び情報記憶媒体
US6352479B1 (en) 1999-08-31 2002-03-05 Nvidia U.S. Investment Company Interactive gaming server and online community forum
US6755743B1 (en) 1999-12-08 2004-06-29 Kabushiki Kaisha Sega Enterprises Communication game system and processing method thereof
US20010044339A1 (en) 2000-02-17 2001-11-22 Angel Cordero Multi-player computer game, system and method
US7240093B1 (en) 2000-02-29 2007-07-03 Microsoft Corporation Use of online messaging to facilitate selection of participants in game play
US20020119821A1 (en) 2000-05-12 2002-08-29 Sanjoy Sen System and method for joining a broadband multi-user communication session
US6699125B2 (en) 2000-07-03 2004-03-02 Yahoo! Inc. Game server for use in connection with a messenger server
US6829634B1 (en) 2000-07-31 2004-12-07 The Boeing Company Broadcasting network
US6701344B1 (en) 2000-07-31 2004-03-02 The Boeing Company Distributed game environment
US6714966B1 (en) 2000-07-31 2004-03-30 The Boeing Company Information delivery service
US6910069B1 (en) 2000-07-31 2005-06-21 The Boeing Company Joining a broadcast channel
US6732147B1 (en) 2000-07-31 2004-05-04 The Boeing Company Leaving a broadcast channel
US6920497B1 (en) 2000-07-31 2005-07-19 The Boeing Company Contacting a broadcast channel
US20020037767A1 (en) 2000-08-17 2002-03-28 Steven Ebin Gambling system and method through a computer network
US8157654B2 (en) 2000-11-28 2012-04-17 Nintendo Co., Ltd. Hand-held video game platform emulation
US6641481B1 (en) 2000-11-17 2003-11-04 Microsoft Corporation Simplified matchmaking
GB0120135D0 (en) 2001-08-17 2001-10-10 Massey Graham P A system for playing interactive games
US7031473B2 (en) 2001-11-13 2006-04-18 Microsoft Corporation Network architecture for secure communications between two console-based gaming systems
US7133368B2 (en) 2002-02-01 2006-11-07 Microsoft Corporation Peer-to-peer method of quality of service (QoS) probing and analysis and infrastructure employing same
US20040043806A1 (en) 2002-02-08 2004-03-04 Keith Kirby Online vehicle collection and play activity
US20030212597A1 (en) 2002-05-10 2003-11-13 Igt Multi-level point accumulation for a player tracking system and method
JP2004021756A (ja) 2002-06-19 2004-01-22 Hitachi Ltd 情報システム性能の統計的予測方法
US7016942B1 (en) 2002-08-05 2006-03-21 Gary Odom Dynamic hosting
KR20040052131A (ko) 2002-12-13 2004-06-19 한국전자통신연구원 거리기반 분산형 온라인 게임 서버 시스템
US7636719B2 (en) 2002-12-19 2009-12-22 Microsoft Corporation Contact schema
US20040143852A1 (en) 2003-01-08 2004-07-22 Meyers Philip G. Systems and methods for massively multi-player online role playing games
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7846023B2 (en) 2003-03-27 2010-12-07 Microsoft Corporation Application-centric user interface techniques
US7634569B2 (en) 2003-04-23 2009-12-15 Microsoft Corporation Match making based on proximity measures between devices
US7437409B2 (en) 2003-06-13 2008-10-14 Microsoft Corporation Limiting interaction between parties in a networked session
US7169051B1 (en) 2003-07-09 2007-01-30 Tim Mossbarger Player confidence points method and system of implementation in a multiplayer software application
US7288028B2 (en) 2003-09-26 2007-10-30 Microsoft Corporation Method and apparatus for quickly joining an online game being played by a friend
US20050091399A1 (en) 2003-09-30 2005-04-28 Candan Kasim S. Resource-aware adaptive multicasting in a shared proxy overlay network
US8317602B2 (en) 2003-10-21 2012-11-27 Schugar David S Wagering game that allows player to alter payouts based on equity position
US7549125B2 (en) 2003-10-23 2009-06-16 Microsoft Corporation Information picker
US7749078B2 (en) 2003-12-08 2010-07-06 United Tote Company Systems and methods for accessing, manipulating and using funds associated with pari-mutuel wagering
US7287076B2 (en) 2003-12-29 2007-10-23 Microsoft Corporation Performing threshold based connection status responses
US7614955B2 (en) 2004-03-01 2009-11-10 Microsoft Corporation Method for online game matchmaking using play style information
US8870639B2 (en) 2004-06-28 2014-10-28 Winview, Inc. Methods and apparatus for distributed gaming over a mobile device
US7430719B2 (en) 2004-07-07 2008-09-30 Microsoft Corporation Contact text box
US7677970B2 (en) 2004-12-08 2010-03-16 Microsoft Corporation System and method for social matching of game players on-line
US7846024B2 (en) * 2005-01-24 2010-12-07 Micorsoft Corporation Team matching
US20070035548A1 (en) 2005-08-12 2007-02-15 Searete Llc Rating technique for virtual world environment
US7785184B2 (en) 2005-03-23 2010-08-31 Scientific Games International, Inc. Computer-implemented simulated card game
US8066568B2 (en) 2005-04-19 2011-11-29 Microsoft Corporation System and method for providing feedback on game players and enhancing social matchmaking
US8038535B2 (en) 2005-05-17 2011-10-18 Electronic Arts Inc. Collaborative online gaming system and method
US8241129B2 (en) 2005-06-20 2012-08-14 Microsoft Corporation Setting up on-line game sessions out of a game context
US20070066403A1 (en) 2005-09-20 2007-03-22 Conkwright George C Method for dynamically adjusting an interactive application such as a videogame based on continuing assessments of user capability
US20070094279A1 (en) 2005-10-21 2007-04-26 Nokia Corporation Service provision in peer-to-peer networking environment
US20080026846A1 (en) 2006-07-25 2008-01-31 Mcmaster Jason Structured gaming system
US8358579B1 (en) 2006-08-23 2013-01-22 Quiro Holdings, Inc. Controlling quality of service and content quality based on user relationships
US8932124B2 (en) 2006-08-31 2015-01-13 Cfph, Llc Game of chance systems and methods
US8672764B2 (en) * 2007-03-29 2014-03-18 Microsoft Corporation Adaptive matchmaking for games
US8221221B2 (en) 2008-09-15 2012-07-17 Sony Computer Entertainment America Llc Metrics-based gaming operations
US8210931B2 (en) 2007-10-12 2012-07-03 Cfph, Llc Game with chance element and tax indicator
US8177628B2 (en) 2007-10-12 2012-05-15 Cfph, Llc Lot-to-lot roulette combination
US9277004B2 (en) 2008-02-19 2016-03-01 Microsoft Technology Licensing, Llc Prediction of network path quality among peer networking devices
KR20090100628A (ko) * 2008-03-20 2009-09-24 삼성전자주식회사 게임 매치 방법 및 그 방법을 이용하는 전자 장치
US20100041482A1 (en) 2008-08-18 2010-02-18 Collisse Group Ltd Recommendation generator and method for determining affinities to participate in a venture exchange
US8308549B2 (en) 2008-11-14 2012-11-13 Igt Gaming system and method for adjusting the average expected payback associated with a play of a wagering game
US8719336B2 (en) 2009-02-03 2014-05-06 Microsoft Corporation Method and apparatus for thwarting traffic analysis in online games
JP4576463B2 (ja) 2009-02-03 2010-11-10 Jx日鉱日石エネルギー株式会社 コークス製造用粘結材の製造方法およびコークスの製造方法
US8369243B2 (en) 2009-04-28 2013-02-05 Sony Computer Entertainment America Inc. Minimizing bandwidth costs for online games
JP5222863B2 (ja) * 2010-02-10 2013-06-26 株式会社コナミデジタルエンタテインメント ゲームシステム、ゲームシステムの制御方法及びプログラム
US8412833B2 (en) 2010-04-07 2013-04-02 Apple Inc. Apparatus and method for inviting users to online sessions
US20120142429A1 (en) * 2010-12-03 2012-06-07 Muller Marcus S Collaborative electronic game play employing player classification and aggregation
US20130007013A1 (en) * 2011-06-30 2013-01-03 Microsoft Corporation Matching users over a network
US8485901B2 (en) 2011-07-21 2013-07-16 Igt Gaming system and method for providing a multi-dimensional symbol wagering game with rotating symbols
US9289686B2 (en) 2011-07-28 2016-03-22 Zynga Inc. Method and system for matchmaking connections within a gaming social network
US20130045803A1 (en) 2011-08-21 2013-02-21 Digital Harmony Games, Inc. Cross-platform gaming between multiple devices of multiple types
US8360845B1 (en) 2011-11-03 2013-01-29 Tien-Shu Hsu Apparatus for roulette table games with dynamic raised odds
US9132350B2 (en) 2012-02-14 2015-09-15 Empire Technology Development Llc Player matching in a game system
US8882588B2 (en) 2012-03-21 2014-11-11 Sony Computer Entertainment America Llc Method and apparatus for use in reserving a position within a simulation for another user
US20130262203A1 (en) 2012-03-27 2013-10-03 Sirqul, Inc. Location-based task and game functionality
US9044683B2 (en) 2012-04-26 2015-06-02 Steelseries Aps Method and apparatus for presenting gamer performance at a social network
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9120020B2 (en) 2013-03-13 2015-09-01 Microsoft Technology Licensing, Llc Matchmaking in multiplayer gaming
US9474967B2 (en) 2013-08-02 2016-10-25 Activision Publishing, Inc. Internet distance-based matchmaking
US20160255139A1 (en) 2016-03-12 2016-09-01 Yogesh Chunilal Rathod Structured updated status, requests, user data & programming based presenting & accessing of connections or connectable users or entities and/or link(s)
US20150148127A1 (en) 2013-11-22 2015-05-28 Zynga Inc. Systems and methods for matching players of a game
US8782121B1 (en) 2014-01-17 2014-07-15 Maximilian A. Chang Peer-to-peer electronic device handling of social network activity
US9776091B1 (en) 2014-05-16 2017-10-03 Electronic Arts Inc. Systems and methods for hardware-based matchmaking
US9381434B2 (en) 2014-06-30 2016-07-05 Linkedin Corporation Social network interaction via games
US10315113B2 (en) 2015-05-14 2019-06-11 Activision Publishing, Inc. System and method for simulating gameplay of nonplayer characters distributed across networked end user devices
US9993735B2 (en) 2016-03-08 2018-06-12 Electronic Arts Inc. Multiplayer video game matchmaking optimization
US10729975B1 (en) 2016-03-30 2020-08-04 Electronic Arts Inc. Network connection selection processing system
US10286327B2 (en) 2016-10-21 2019-05-14 Electronic Arts Inc. Multiplayer video game matchmaking system and methods
US10091281B1 (en) 2016-12-01 2018-10-02 Electronics Arts Inc. Multi-user application host-system selection system

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040097287A1 (en) * 2002-11-14 2004-05-20 Richard Postrel Method and system for gaming over a computer network
US20060258463A1 (en) * 2005-05-13 2006-11-16 Professional Interactive Entertainment, Inc. System and method for network interactive game match-up and server selection
CN101835516A (zh) * 2007-10-26 2010-09-15 微软公司 提供玩家状态和加入游戏的能力的方法
CN102917764A (zh) * 2010-06-04 2013-02-06 科乐美数码娱乐株式会社 游戏系统以及玩家的匹配方法
CN103945912A (zh) * 2011-06-24 2014-07-23 娱乐技术公司 用于实施在线视频游戏联赛的系统和方法
CN104054078A (zh) * 2012-01-18 2014-09-17 阿尔卡特朗讯 用于向社交网络的第二子集的用户提供所述社交网络的第一子集的服务集的方法
US20140357367A1 (en) * 2012-03-30 2014-12-04 Zynga Inc. Graphical user interfaces in computer-implemented multiplayer games
CN105307738A (zh) * 2013-02-19 2016-02-03 大卫·瓦勒斯 用于卡图匹配游戏的系统和方法
CN104063574A (zh) * 2013-06-03 2014-09-24 腾讯科技(深圳)有限公司 队伍对战匹配方法及服务器
US20160005270A1 (en) * 2014-07-03 2016-01-07 Activision Publishing, Inc. System and method for driving microtransactions in multiplayer video games
CN105582673A (zh) * 2015-11-09 2016-05-18 广州多益网络科技有限公司 对象匹配的方法及系统
CN105854301A (zh) * 2016-04-25 2016-08-17 上海云顷信息科技有限公司 一种约战的系统方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112135671B (zh) * 2018-05-07 2024-05-28 微软技术许可有限责任公司 基于远程用户输入的上下文游戏内元素识别、注释和交互
CN112135671A (zh) * 2018-05-07 2020-12-25 微软技术许可有限责任公司 基于远程用户输入的上下文游戏内元素识别、注释和交互
CN110548283A (zh) * 2018-05-31 2019-12-10 索尼互动娱乐有限责任公司 挑战游戏系统
CN110548283B (zh) * 2018-05-31 2023-08-22 索尼互动娱乐有限责任公司 挑战游戏系统及方法
CN108786117A (zh) * 2018-06-12 2018-11-13 北京智明星通科技股份有限公司 一种手机游戏玩家分组方法、装置和服务器
CN108846438B (zh) * 2018-06-15 2022-05-24 电子科技大学 一种基于现实地理位置的组队匹配方法
CN108846438A (zh) * 2018-06-15 2018-11-20 电子科技大学 一种基于现实地理位置的组队匹配方法
CN108970124A (zh) * 2018-07-05 2018-12-11 腾讯科技(深圳)有限公司 组队匹配方法、装置、系统及可读介质
CN109284776A (zh) * 2018-08-24 2019-01-29 小沃科技有限公司 用于防沉迷系统的基于随机森林的自训练学习系统及方法
CN109284776B (zh) * 2018-08-24 2022-05-03 小沃科技有限公司 用于防沉迷系统的基于随机森林的自训练学习系统及方法
CN112805076A (zh) * 2018-09-07 2021-05-14 威尔乌集团 用于玩家安排比赛的机器学习的信任度评分
CN114949861A (zh) * 2018-11-05 2022-08-30 索尼互动娱乐有限责任公司 使用云游戏网络的人工智能(ai)模型训练
CN109966744A (zh) * 2019-01-10 2019-07-05 珠海金山网络游戏科技有限公司 一种动态组队匹配的方法和系统
CN109966744B (zh) * 2019-01-10 2023-04-18 珠海金山数字网络科技有限公司 一种动态组队匹配的方法和系统
CN110348914A (zh) * 2019-07-19 2019-10-18 中国银行股份有限公司 客户流失数据分析方法及装置
CN111613540A (zh) * 2020-05-09 2020-09-01 安徽安美半导体有限公司 一种高可靠性整流桥及整流模块的生产工艺
CN111803957A (zh) * 2020-07-17 2020-10-23 网易(杭州)网络有限公司 一种网络游戏的玩家预测方法、装置、计算机设备和介质
CN111803957B (zh) * 2020-07-17 2024-02-09 网易(杭州)网络有限公司 一种网络游戏的玩家预测方法、装置、计算机设备和介质
CN114840859A (zh) * 2021-12-21 2022-08-02 许磊 一种通用数据的流媒体化系统

Also Published As

Publication number Publication date
US10751629B2 (en) 2020-08-25
US11344814B2 (en) 2022-05-31
KR20180044191A (ko) 2018-05-02
US20210023455A1 (en) 2021-01-28
CN107970612B (zh) 2021-07-13
US20190262718A1 (en) 2019-08-29
US20180111051A1 (en) 2018-04-26
US10286327B2 (en) 2019-05-14
KR102127670B1 (ko) 2020-06-29

Similar Documents

Publication Publication Date Title
CN107970612A (zh) 多玩家视频游戏匹配系统和方法
US11141663B2 (en) Multiplayer video game matchmaking optimization
CN107158702B (zh) 动态难度调整
CN108499108B (zh) 视频游戏应用程序内玩游戏参数的实时动态修改和优化
CN112169339B (zh) 用于在视频游戏中模仿玩家玩游戏的定制的模型
US10449440B2 (en) Interactive voice-controlled companion application for a video game
US11478713B1 (en) Automated detection of emergent behaviors in interactive agents of an interactive environment
US11110353B2 (en) Distributed training for machine learning of AI controlled virtual entities on video game clients
CN108888958A (zh) 虚拟场景中的虚拟对象控制方法、装置、设备及存储介质
JP7383198B2 (ja) アビューシブな行動を識別するためのゲームアクティビティのクラス分類
CN114307160A (zh) 训练智能体的方法
CN110325965A (zh) 虚拟场景中的对象处理方法、设备及存储介质
CN113509726A (zh) 交互模型训练方法、装置、计算机设备和存储介质
안대환 Two Essays on User Behaviors in Online Games

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant