U.S. Pat. No. 12,168,182
INTERACTION BASED SKILL MEASUREMENT FOR PLAYERS OF A VIDEO GAME
AssigneeElectronic Arts Inc.
Issue DateAugust 13, 2021
Illustrative Figure
Abstract
Skill measurement systems and methods include interaction pairs and an interaction uncertainty. The interaction pairs are pairwise matches corresponding to instances of interactions between players. The interaction uncertainty variable corresponds to the instance of interaction and is based in part on the uncertainties of a player, player team, and/or gameplay aspects. The interaction pairs and interaction uncertainty are used to more accurately determine a skill rating of a player based in part on interaction data among gameplay data from a gameplay session of a video game.
Description
DETAILED DESCRIPTION The present systems and methods describe an interaction-based skill measurement system that monitors gameplay data of a gameplay session of a video game to detect instances of interactions between players. These instances of interactions are used to create interaction pairwise matches (or simply “interaction pairs”) for evaluating players' skill. These systems and methods also describe an uncertainty corresponding to the instance of interaction that is accounted for, algorithmically, in the evaluation of player skill. As described herein, interaction data correlates to instances of interactions in gameplay among players. These instances of interactions among players can be interactions by or through player characters and/or player teams associated with a player account. Interaction data includes a variety of gameplay telemetry and statistics that define, describe, or indicate the events or circumstances, in gameplay, of player interaction in one or more instances of interactions. As such, the gameplay performance of players can be evaluated from interaction data corresponding to one or more instances of interactions to determine a measurement of skill, or skill rating. The determination of skill may occur from a collection of interaction data corresponding to one or more instances of interactions in one or more gameplay sessions of a video game. A skill measurement system can use interaction data to associate or create subsets of players as interaction pairs for evaluating gameplay performance of players to determine player skill. The subsets of players, or interaction pairs, are or represent an interaction-based pairwise match of player characters and/or player teams involved in an instance of interaction (e.g., the players' or player teams' interacting with one another during gameplay). The use of interaction pairs enables the determination of skill to be relative, or corresponding to, the players involved in the instance of interaction and the players, or player teams, involved ...
DETAILED DESCRIPTION
The present systems and methods describe an interaction-based skill measurement system that monitors gameplay data of a gameplay session of a video game to detect instances of interactions between players. These instances of interactions are used to create interaction pairwise matches (or simply “interaction pairs”) for evaluating players' skill. These systems and methods also describe an uncertainty corresponding to the instance of interaction that is accounted for, algorithmically, in the evaluation of player skill.
As described herein, interaction data correlates to instances of interactions in gameplay among players. These instances of interactions among players can be interactions by or through player characters and/or player teams associated with a player account. Interaction data includes a variety of gameplay telemetry and statistics that define, describe, or indicate the events or circumstances, in gameplay, of player interaction in one or more instances of interactions.
As such, the gameplay performance of players can be evaluated from interaction data corresponding to one or more instances of interactions to determine a measurement of skill, or skill rating. The determination of skill may occur from a collection of interaction data corresponding to one or more instances of interactions in one or more gameplay sessions of a video game.
A skill measurement system can use interaction data to associate or create subsets of players as interaction pairs for evaluating gameplay performance of players to determine player skill. The subsets of players, or interaction pairs, are or represent an interaction-based pairwise match of player characters and/or player teams involved in an instance of interaction (e.g., the players' or player teams' interacting with one another during gameplay).
The use of interaction pairs enables the determination of skill to be relative, or corresponding to, the players involved in the instance of interaction and the players, or player teams, involved therein. For example, for a given subset of players, or interaction pair, a skill measurement system can determine a skill rating for a player team (or for the players thereof) in relation to another player team (or players thereof) within the subset. For simplicity, the terms “interaction based pairwise match”, “interaction pairs”, and “subsets” are used interchangeably herein.
Additionally, an uncertainty corresponding to the instance of interaction can be used by a skill measurement system in the evaluation of gameplay performance (i.e., within an instance of interaction) to determine a skill rating. The uncertainty corresponding to the instance of interaction can correspond to, or be based at least in part on, a player uncertainty, a player team uncertainty, and a gameplay uncertainty.
By virtue of the systems and methods herein, interaction pairs can provide a skill measurement that can measure player skill with more granularity, in contrast to existing systems and methods, including those that use full pairwise matches or partial pairwise matches, which compare all players and player teams of a gameplay session holistically.
In video games where no two players or player teams are guaranteed to interact, the interaction data and interaction pairs described herein enable the present skill measurement systems and methods to evaluate player skill more accurately. For example, in a battle royale game consisting of multiple player teams of one or more players, it is often the case that each player team interacts with a small number of other player teams and not the remainder of them. Furthermore, the amount of player teams interacted or engaged with during gameplay does not necessarily correspond to the placement result of a given player team.
As such, the interaction data and interaction pairs enable the present skill measurement systems and methods to evaluate player skill based on actual gameplay. This is an improvement over existing systems and methods, including those for example that use full or partial pairwise matches and thereby create inferences or presumptions of player skill that do not accurately reflect the gameplay of a gameplay session.
For example, and for non-limiting purposes of illustration, assume the following in a scenario in a team (or squad) based game, such as a battle royale. Player Team A may have seven instances of interactions with seven other player teams in a given gameplay session. Player Team A may have engaged in the most instances of interactions in the gameplay session, however, it can also be the case that Player Team A was defeated by Player Team N in the seventh instance of interaction, such that Player Team A placed fifth in the placement results. Player Team N defeating Player Team A may have been the first instance of interaction for Player Team N.
In existing skill measurement systems, including those that use full or partial pairwise matches, there would be an inference or presumption that Player Team N is more skilled than Player Team A. However, this fails to account for (i) the circumstances under which Player Team N defeated Player Team A, and (ii) the gameplay performances each player team had in the gameplay session. For example, if at the time Player Team N defeated Player Team A, Player Team N had three players actively playing at full health and Player Team A only had one player actively playing at low health (such that the other player teammates in Player Team A were eliminated or knocked down) and one active player from Player Team N eliminated the last active player of Player Team A with a single long distance attack, an inference or presumption of Player Team N being better than Player Team A does not necessarily correlate or correspond to the actual circumstances or events in gameplay.
Additionally, in existing systems, there could also be an inference or presumption that Player Team N is more skilled than all other player teams that Player Team A defeated. Similarly, in existing systems, there could also be an inference or presumption that all other player teams placing higher in the placement results than Player Team A are more skilled.
The inferences and presumptions of existing player skill systems and algorithms fail to accurately or optimally account for and measure the gameplay experience since the partial and full pairwise matching does not properly evaluate players who interacted with one another, which leads to inaccurate or less optimal skill rating measurements. Interaction pairs address this problem by providing a skill measurement system with interaction-based context around which players and player teams can be evaluated against others in the determination of their skill ratings.
This can in turn help address “third party” gameplay scenarios in the determination of player skill. As used herein, “third party” can refer to one or more player teams becoming involved in the ongoing gameplay, or instance of interaction, between two other player teams, so as to take advantage of the situation (e.g., distracted or already-engaged player teams) and defeat one or both of the two other player teams more easily.
Additionally, the determination of player skill can also be based in part on an uncertainty corresponding to the instance of interaction. The uncertainty corresponding to the instance of interaction may be based in part on player uncertainties and/or player team uncertainties of the players or player teams within the interaction pairs, and may also be based in part on an uncertainty corresponding to the gameplay session itself or uncertainty corresponding to one or more aspects of gameplay. In some implementations, each instance of interaction within a gameplay session can have a different value for the uncertainty corresponding to it.
As such, interaction data and interaction pairs, as described herein, can provide a proper basis for the evaluation of gameplay performance in a variety of gameplay circumstances and scenarios, such that each instance of interaction between player characters and/or player teams is evaluated in its own right, such that the interactions or battles between player teams are evaluated on an individual basis. Therefore, interaction data and interaction pairs enable or facilitate a skill rating to be determined based on part of actual gameplay circumstances.
Furthermore, skill measurement systems and methods can also include one or more uncertainty variables, or parameters to account for (algorithmically) one or more aspects of uncertainty corresponding to players and/or gameplay. For example, uncertainty variables can correspond to gameplay sessions, players, player teams, and instances of interactions, among of things of the like.
For example, in the battle royale genre, each gameplay session can include uncertainty in the deployment pattern, weapon and gear drops, and/or the changing closure or confrontation patterns affecting the playable area over the course of a gameplay session (such as the “Ring” in Apex Legends), among other in-game events. As such, a gameplay uncertainty (σG) can be defined to account for one or more aspects of uncertainty in gameplay.
In some embodiments, gameplay uncertainty (σG) can be configured with a value that corresponds to one or more aspects of uncertainty in gameplay. In some embodiments, each unique gameplay session type (or gameplay mode) of a video game can receive a different value to assign gameplay uncertainty (σG) based in part on the uncertainty of the particular gameplay session.
A player uncertainty can also be defined (for example, as σP) to account for one or more aspects of uncertainty corresponding to a player. In some embodiments, player uncertainty (σP) can correspond to (i) a player's fluctuation in skill and/or (ii) the player population's fluctuation in skill. In some embodiment, player uncertainty (σP) can also be based in part on player skill rating, the skill ratings of the players among the player population of a video game, the skill ratings of the players in a gameplay session, the skill ratings of player teams in a gameplay session, a competitive ranking, and other gameplay telemetry and statistics of the like.
A player's fluctuation in skill, or player skill, occurs on the player level such that it affects a particular player's gameplay experience. For example, in a gameplay session of a video game that requires players to choose player characters (e.g., legends, heroes, or other predefined playable characters of the like), if a player plays with an unpreferred player character (e.g., a character with which the player is less capable and/or has less experience), then the player may experience a fluctuation in their skill within that gameplay session. As such, the player may experience a fluctuation (e.g., decrease) in their skill based in part on one or more characteristics, abilities, or mechanics of the player character that the player is unfamiliar with, such that hinders the player from using player character effectively during gameplay.
In such cases, the system can, for that particular player, assign a value to player uncertainty (σP) corresponding to the observed fluctuation in player skill. As such, each player (by way of a user account or player account) can receive a unique or individualized value for player uncertainty (σP) based in part on an observed fluctuation, among other things, for one or more gameplay sessions of a video game.
Additionally, a player's absence from engagement with a video game for a period of time may also affect a particular player's gameplay experience. This can correspond to a player becoming unfamiliar with one or more aspects of gameplay over time. In video games with live services updates, or a video game as a service, aspects of gameplay can also change over time (e.g., the period or seasons of services) such that a returning player may be unfamiliar with one or more of the changed aspects during gameplay. As such, a returning player, who was absent from engagement for some time, may have perceivable, notable, or observable fluctuation in skill upon returning to gameplay. In such cases, the system can, for that particular player, assign a value to player uncertainty (σP) corresponding to; (i) the period of absence, (ii) the change in one or more aspects of gameplay over the period of absence, and/or (iii) any an observed fluctuation in skill in a gameplay session, among other factors.
Player population fluctuation in skill, or player skill, can correspond to natural fluctuations in player skill among a player base, in whole or in part, of a video game. In such cases, the value of player uncertainty (σP), or portion thereof corresponding to fluctuation, can be same for all players and/or the players associated with the player base observed. Additionally, the value corresponding to the natural fluctuation in players among the player base can dynamically change over time as more gameplay sessions of the video game are played and/or as the skill of the players becomes more certain over time.
In some embodiments, a value of player uncertainty (σP) can also correspond to other factors, such as, but not limited to, player rankings among one or more competitive seasons, the size of the player base, the types of gameplay modes or gameplay sessions.
A player team uncertainty (σT) can also be defined to account for one or more aspects of uncertainty of player teams. In some embodiments, player team uncertainty (σT) can correspond to the player uncertainty (σP) of the players associated with the player team. For example, player team uncertainty (σT) can be a summation of the player uncertainty (σP) of the players associated with the player team. In some embodiments, the squared value of player team uncertainty (σT) is equal to the summation of the squared values of the player uncertainty (σP) of the players associated with the player team (σT2=ΣiσPi2). In some embodiments, one or more players of the player team may have a different value for player uncertainty (σP).
An interaction uncertainty (σI) can be defined to provide uncertainty for one or more instances of interactions in gameplay sessions of a video game. In some embodiments, an interaction uncertainty (σI) can be determined for each instance of interactions that occur between players and/or player teams in gameplay sessions of a video game.
For example, an interaction uncertainty (σI) of an instance of interaction can correspond to: (i) the player team uncertainties (σT) of the player teams involved and (ii) the gameplay uncertainty (σG). In some embodiments, the squared value of the interaction uncertainty (σI) is equal to the squared values of: (i) the player team uncertainties (σT) of the player teams involved and (ii) the gameplay uncertainty (σG), such that: σI2=ΣiσTi2+σG2.
In video games or gameplay sessions without player teams, an interaction uncertainty (σI) of an instance of interaction can correspond to: (i) the player uncertainties (σP) of the players involved and (ii) the gameplay uncertainty (σG). In some embodiments, the squared value of the interaction uncertainty (σI) is equal to the squared values of: (i) the player uncertainties (σP) of the players involved and (ii) the gameplay uncertainty (σG), such that σI2=ΣiσPi2+σG2.
The systems and methods described herein provide a skill measurement system that can more accurately determine skill ratings for players and player teams. These also make it possible to provide a video game or a video game service with better data (e.g., player skill ratings) to matchmake players. As a result, a more engaging gameplay experience can be provided to players as they will be matched against other players who are more closely (e.g., more accurately measured) at a similar skill level.
System Overview
FIG.1illustrates an example embodiment of a system overview100. In some embodiments, system overview100corresponds or represents a computing environment for deploying an interaction-based player skill measurement system to evaluate gameplay data of gameplay sessions of a video game.
As shown, the system overview100is an environment including users105(A),105(B),105(C), and105(D) (collectively referred to herein as “105” or “users105”) of respective computing devices110(A),110(B),110(C), and110(D) (collectively referred to herein as “110or “computing devices110”). The computing devices are communicatively coupled to game server devices130over a network120, for playing a video game.
Users105are players or users of video games on computing devices110. In some embodiments, there is a one-to-one correspondence between the users105and the computing devices110. In some embodiments, there is an N to one or one to N (wherein “N” is an arbitrary real value) correspondence between the users105and the computing devices110. It should be understood that as described in the present disclosure, a “user” on or of a computing device playing a video game refers to or is synonymous with a “player” of the video game.
Computing devices110are some examples of hardware devices capable of or configured for playing or executing a video game. As illustrated in the example embodiment ofFIG.1, computing device110(A) is a video game console; computing device110(B) is a mobile device; computing device110(C) is a personal computer; and computing device110(D) is a display device. In some embodiments, computing devices110have dedicated hardware components that can run a video game locally. In some embodiments, two or more of the computing devices110are similar to one another—e.g., of a same type. In some embodiments, the computing devices110can run or execute video games through a cloud gaming service, as known to those of skill in the art.
In some embodiments, computing devices110connect to a gameplay session of a video game by way of being communicatively coupled to a game server device130over a network120. Network120communicatively couples computing devices110and game server devices130. In some embodiments, a network105can be any method of connectivity or communication between devices known in the arts, such as, but not limited to, a direct wired connection, Near Field Communication (NFC), Local Area Network (LAN), an internet connection, or other communication methods of the like.
Game server devices130provide the backend infrastructure of services for a video game. In some embodiments, game server devices130provide services for video games such as, but not limited to: game platform services, matchmaking, skill measurement, authentication, player account services, fraud detection, game state management, datastores, and other video game services of the like.
Game server devices130include one or more hardware devices with one or more processors, graphic processors, memory, and storage, in addition to networking capabilities. The one or more hardware devices of game server devices130can be communicatively coupled to one or more computing devices110over a network120. The one or more hardware devices of game server devices130can be configured with one or more modules or components for providing services to computing devices110over a network120. The one or more hardware devices of server devices130can be configured to execute software applications, such as video games, and provide streaming and/or cloud-based access and control to one or more computing devices110.
Gameplay Environment
FIG.2illustrates an example embodiment of a gameplay computing environment200. In some embodiments, the gameplay environment200corresponds to a computing environment of a video game including a skill measurement system222. The skill measurement system222can evaluate gameplay data212of a gameplay session211to determine skill ratings for players.
Gameplay computing environment200includes player accounts205(A) to205(N) (described in further detail below) (collectively referred to as “player account(s)205”) that can be associated with game clients210(collectively referred to as “game client(s)210”), and game platform230. Game clients210can be communicatively coupled to game platform230and gameplay services220.
Player Account
Player accounts205can be accounts of, corresponding to and/or representing players or users of video games. The player accounts205can be associated with one or more of the game clients210and/or the game platform230. In some embodiments, player accounts205include data, such as usernames or identifiers, for identifying or defining players in a gameplay session211. In some embodiments, data from one or more gameplay sessions of a video game (e.g., gameplay data) can be associated with a player account205. In some embodiments, gameplay data212associated with a player account205can be used to determine a skill rating for player account205, which can also be communicated to and/or stored within a gaming platform230.
A game client210and/or game platform230can require players (such as users105fromFIG.1) to use a player account205to access one or more features of game client210, such as for accessing gameplay sessions and determining skill ratings, in some embodiments.
Game Client
Game clients210are software applications that define or include a video game, which can be played through a computing device, such as the computing devices110ofFIG.1. In some embodiments, the game clients210can connect players (e.g., player accounts205) to a shared gameplay session211in which gameplay data212is produced through gameplay.
In some embodiments, game clients210can be of the same video game and elements211,212,213,214,215, and216of game client210(A) apply through game client210(N). Game clients210may include variations among one another in some embodiments, such as, including different software instructions, components, or data for supporting different platforms or performance settings.
For example, game client210(A) and210(N) can be of the same video game wherein210(A) includes variations for support on a video game console (such as computing device110(A) inFIG.1), while game client210(N) includes variations for support on a mobile device (such as computing device110(B) inFIG.1). Game clients210(A) and210(N) can connect to gameplay session211to play together by being communicatively coupled to gameplay services220.
Game client210components (e.g., game engine213, gameplay systems215, game assets216, and engine extensions214) are portions or subparts of, corresponding to and/or associated with game client210that provide the underlying frameworks and software that support and facilitate features of the video game.
In some embodiments, a game engine213is an underlying software framework that runs a video game. The game engine213includes, among other things, a renderer, a simulator, and a stream layer. The renderer is a graphics framework that manages the production of graphics.
The simulator is an animation framework that manages the production of animations. The stream layer is a software layer that allows a renderer and simulator to run independently of each other by providing a common execution stream for graphics and animations to be produced at runtime. In some embodiments, the game engine includes an audio engine that synchronizes audio playback with the common execution of a stream layer, among other things.
Gameplay systems215can be used in conjunction with a game engine213to facilitate and manage gameplay logic and other features of a game client210.
In some embodiments, the game engine213and/or gameplay systems215references game assets216to produce a gameplay session211. Game assets216are digital assets that correspond to or can be used to create the virtual interactive environments of a game client210, such as menus and gameplay sessions. In some embodiments, the game assets216can include game objects, textures, terrain maps, geometry scripts, animation files, audio files, character models, video files, font libraries, visual effects, and other digital assets of video games of the like.
In some embodiments, engine extensions214are used in conjunction with a game engine213. Engine extensions214are software components that can support the game engine213and gameplay systems215. For example, engine extensions can include Software Development Kits (SDKs), Application Program Interfaces (APIs), and software libraries such as shims and/or Dynamically Linked Libraries (DLLs) that enable a variety of functionality such as providing additional graphics, audio, or communication support, establishing, and maintaining service connections, performing authorizations, and providing anti-cheat and anti-fraud detection, among other things.
Gameplay Session
The gameplay session211is an instance of a virtual environment of a video game, such as game client210. In some embodiments, the gameplay session211is shared among game clients210to connect player accounts205to an instance of a virtual environment. In the gameplay session211, player accounts205(and/or players, via their respective player accounts) can play cooperatively and/or competitively with one another, through controllable player characters and, potentially, in association with one or more player teams. For example, the gameplay session211can be a multiplayer team-based battle royale match of a video game in which multiple teams are each made up of multiple players.
The gameplay session211may include player characters. Player characters of gameplay session211can refer to player controllable character models used to facilitate or perform gameplay or other in-game actions. In some embodiments, a player account205of a game client210can control one or more player characters in a gameplay session211, through a controller or similar input device. In some embodiments, a player character can be a configurable character model that is uniquely associated with a player account205. A player character can also be a predefined or premade character model that is accessible for use in-game by one or more of the player accounts205.
The gameplay session211may include player objects. Player objects of gameplay session211can refer to player controllable objects, or models, used to facilitate or enable gameplay or other in-game actions. It should be understood that, as used herein, “player controllable” refers to the characteristic of being able and/or configured to be controlled (e.g., moved, modified, etc.) through a controller or other input device by a player or user. Player objects may be, for example, vehicles, vessels, aircraft, ships, tiles, cards, dice, pawns, and other in-game items of the like known to those of skill in the art. In some embodiments, a player account205of a game client210can control one or more player objects in a gameplay session211, including, in some instances, by controlling player characters which in turn causes the objects to be controlled.
Player characters and player objects controlled (and/or manipulated) by a player account205during gameplay session211can be associated with player account205. For simplicity, player characters and player objects are collectively referred to herein as player characters in some embodiments.
The gameplay session211includes gameplay data212. Gameplay data212is data representing the gameplay experience among player accounts205over the course of gameplay session211. The gameplay actions of players, player accounts and, in turn, player characters, can produce updates or changes to the gameplay data212.
In some embodiments, gameplay actions of a player character and/or player team interacting or engaging with another player character and/or player team are referred to as “instances of interactions.” These instances of interactions are captured as or in “interaction data” within the gameplay data212. It should be understood that an instance of interaction can be of any time length desired or deemed optimal, for example, for skill measurement. Interaction data can be included in gameplay data212when an instance of interaction occurs—those instances of interactions including, but not being limited to: completing an objective or portion thereof; moving from one position of a level to another; eliminating, damaging, buffing, debuffing, identifying, or aiding another player character; or communicating with another player character.
Captures or inclusions of interaction data within gameplay data212can include data corresponding to the instance of interaction. Those captures or inclusions of interaction data can be or include, for example, the players involved in the instance of interaction, the gameplay actions of all players involved during (and/or at one or more times adjacent to the interaction), the location and movement of the players, and the outcome of the instance of interaction, among others. The outcome of an instance of interaction can be the elimination of a player character and/or player team by another player character and/or player team.
In some embodiments, gameplay data212also includes information about, but not limited to: (i) connected player accounts205and game clients210, (ii) player characters and/or player teams associated with player accounts205, (iii) status, position, and gameplay actions of player characters and/or player teams, (iv) the status and position of virtual objects, (v) the status of one or more gameplay objectives, (vi) the gameplay services220, and/or other gameplay telemetry and statistics of the gameplay session known to those of skill in the art.
In some embodiments, gameplay data212is periodically or continuously updated and/or produced over the course of the gameplay session211. In some embodiments, game clients210and/or gameplay services220are configured to store gameplay data212of a gameplay session211periodically, continuously, or at the occurrence of some event or trigger.
In some embodiments, gameplay data212is stored at the end of a respective gameplay session. In some embodiments, gameplay data212is versioned, such that a number of versions or states of gameplay data212are stored over the course of gameplay. The storing of gameplay data212allows gameplay services220to evaluate and measure player skill in gameplay session211, such as by skill update system222that can provide skill rating for a video game as a service.
Gameplay Services
Gameplay services220are backend services of a video game. In some embodiments, gameplay services220are provided by game server devices130ofFIG.1. In some embodiments, an interaction-based player skill measurement system can be a service among the gameplay services220for game client210. In some embodiments gameplay services220includes a skill measurement system222, matchmaking system224, datastore226, and game platform services230(A), among other components or modules.
Skill measurement system222is an interaction-based player skill measurement system that provides skill rating updates based at least in part on one or more of interaction data, win probabilities, skill ratings, and placement results corresponding to player accounts, player characters and/or player teams, among others.
Win probabilities correspond to a likelihood of success for a player team, player character, and/or player account205in a given gameplay session, such as gameplay session211. For example, in a team based multiplayer video game, each player team in a gameplay session can be assigned a win probability for that respective gameplay session. A win probability can be determined by a matchmaking service, such as matchmaking system224, or other gameplay service at the initialization or start of a multiplayer gameplay session. In some embodiments, player accounts205, player characters, and/or player teams connecting to or engaged in a gameplay session211are evaluated against one another in the determination of win probabilities that correspond to gameplay session211. The evaluation of a win probability can be based in part on the skill rating(s) associated with player accounts205and/or player teams, among other things.
A skill rating is a persistent, semi-persistent, or temporary value (such as a data type) associated with a player character, player team, and/or player account205. In some embodiments, a skill rating is an indication of skill of the respective player character, player team and/or player account in a video game. Skill ratings can be defined by numerical values, or character-based data types, and the like as known to those of skill in the art. Skill ratings can be presented in game in a number of ways, including, but not limited to, a score, a rank, a category, or other in-game indication of the like.
The skill rating updates provided and/or determined by skill measurement system222determine, alter, modify, increment, decrement, scale, substitute or replace a skill rating of a player account, player character, and/or player team of the video game.
For example, skill measurement system222can determine a skill rating update corresponding to a player team in gameplay session211based in part on gameplay data212. Thereafter, the skill rating update for the player team can be used to determine a skill rating update for one or more of the player accounts205associated with the player team. The determination of a skill rating update for a player account205can be proportionally based in part on the contribution of gameplay actions by the player account205or associated player character; as indicated for example by interaction data within gameplay data212.
In some embodiments, skill measurement system222determines a skill rating update for a player account205and/or player character independent and/or irrespective of a skill rating update determined for a player team. In some embodiments, skill measurement system222can apply skill rating updates to player accounts205. In some embodiments, the skill measurement system222can provide gameplay services220and/or game platform services230(A) with one or more skill rating updates to apply to one or more player accounts205.
Skill measurement system222can be configured or based in part on a player skill determination algorithm, such as, for example, a Bayesian based algorithm. In some embodiments, the skill measurement system222can utilize interaction data to create or associate subsets (e.g., pairwise matches) of player teams, player characters and/or player accounts. The subsets created are interaction based pairwise matches (“interaction pairs”) that indicate which player accounts205, player characters, and/or player teams interacted with another in an instance of interaction.
The following example is presented solely for purposes of illustration. The subsets or interaction pairs represent two or more player teams (and/or player characters and/or player accounts) involved in each instance of interaction, as provided by interaction data from gameplay data212. In some embodiments, skill measurement system222creates or associates these subsets in response to the detection of interaction data, such that each instance of interaction has a corresponding subset. In some embodiments, interaction data is configured to be produced with or include interaction pairs or subsets already indicated or determined.
For example, an instance of interaction in which player character A (associated with player account205(A) and player team A) attacked and eliminated player character B (associated with player account205(B) and player team B) can represented in a subset as:INTERACTION PAIR 0 {PLAYER TEAM A, PLAYER TEAM B;PLAYER CHARACTER A, PLAYER CHARACTER B;PLAYER ACCOUNT205(A), PLAYER ACCOUNT205(B);}
In some embodiments, one or more subsets can be associated for each instance of interaction. For example, when three player teams are involved in a single instance of interaction, the skill measurement system222can associate three interaction subsets to capture the interactions that occur between pairs of teams, such as:INTERACTION PAIR 1 {PLAYER TEAM A, PLAYER TEAM B;}INTERACTION PAIR 2 {PLAYER TEAM A, PLAYER TEAM C;}INTERACTION PAIR 3 {PLAYER TEAM C, PLAYER TEAM B;}
In some embodiments, subsets may include two or more player teams. Alternatively, in some embodiments, game client210can be configured to produce interaction data between two teams at most. Subsets may also include other data such as the rank, skill, or player character(s) of the player accounts and/or player teams in the subset.
In some embodiments, subsets temporarily exist and/or are stored in the memory of a respective computing device (such as a server device) during the processing of gameplay data212. In some embodiments, interaction subsets may also or alternatively be stored in datastore226of gameplay services220.
In some embodiments, skill measurement system222(or the algorithm(s) thereof) includes one or more uncertainty variables (such as the aforementioned σP, σT, σG, and σI) in addition to other variables that are traditionally used to categorize ranking or skill measurement in existing Bayesian based player skill measurement algorithms.
In some embodiments, each instance of interaction in a gameplay session has interaction uncertainty (σI). The value of an interaction uncertainty can be based in part on the player uncertainties (σP) and/or player team uncertainties (σT) of the respective players or player teams in an instance of interaction. The value of an interaction uncertainty can also be based in part on a gameplay uncertainty (σG).
In some embodiments, skill measurement system222includes a gameplay uncertainty (σG) that represents an uncertainty in gameplay, such as, for example, the randomness associated with each gameplay session of a battle royale video game. As mentioned above, in some embodiments, uncertainty can be caused by the design of the game. In some embodiments, The gameplay uncertainty (σG) would have a value that is applicable to the gameplay sessions of game client210.
In some embodiments, one or more gameplay sessions of game client210can be associated with a different value for the gameplay uncertainty (σG). For example, a different value may be assigned or provided a gameplay uncertainty (σG) when the gameplay session of a video game corresponds to a new gameplay mode. The new gameplay mode can include one or more unique gameplay mechanics or aspects, and/or one or more modifications, alterations, or changes, to existing game mode type. The different value assigned or provided to a gameplay uncertainty (σG) can be used to accommodate how players experience new or changed content or aspects of gameplay in the new game mode, as it may impact play skill during the gameplay session. Additionally, the value of gameplay uncertainty (σG) can change over the course of a gameplay session, based in part on one or more in-game events.
In some embodiments, skill measurement system222includes a player uncertainty (σP). A player uncertainty (σP) can account for how player skill can fluctuate. Player skill may fluctuate in a number of ways, including, but not limited to, an absence from gameplay engagement or a change in one or more aspects of gameplay.
In some embodiments, the value of a player uncertainty (σP) is the same for all players. In some embodiments, the value of a player uncertainty (σP) can vary among players. As such, the value of player uncertainty may be a value that reflects or estimates uncertainty associated with a player and/or uncertainty associated among the player base in whole, or in part.
In some embodiments, each player team in a gameplay session has a player team uncertainty (σT), wherein the value corresponds to the player uncertainties (σP) of the players. As such, each player team in a gameplay session may have a different value for their respective player team uncertainty (σT), based in part on the unique or individual values of the player uncertainties (σP) of the players. The value of the player team uncertainty (σT) may be determined by an average, median, sum, summation, or other algorithmic calculation of the player uncertainties (σP) of the respective players of a player team. Alternatively, the value of the player team uncertainty (σT) may be arbitrary. To simplify, but not limit, the disclosure, the squared value of player team uncertainty (σT) is equal to the summation of the squared values of the player uncertainty (σP) of the players associated with the player team (σT2=ΣiσPi2).
In some embodiments, uncertainty variables (σP, σT, σG, and σI) can correspond to, and be determined with, other gameplay related factors or aspects, such as player population, player rankings, and gameplay modes of a video game. To simplify, but not limit, the disclosure, the squared value of the interaction uncertainty (σI) is equal to the squared values of: (i) the player uncertainties (σP) of the players involved and (ii) the gameplay uncertainty (σG), such that σI2=ΣiσPi2+σG2.
In some embodiments, each instance of interaction in a gameplay session has a unique value for the interaction uncertainty (σI). In some embodiments, one or more instances of interactions in a gameplay session have the same value for the interaction uncertainty (σI). In some implementations, similar instances of interactions in separate gameplay sessions of a game can have the same value, or a different value, for the interaction uncertainty (σI).
In some embodiments, game client210can be configured to provide gameplay services220and/or skill measurement system222with the values for uncertainty variables (σP, σT, σG, and σI). In some embodiments, skill measurement system222can be configured, with a deterministic logic or machine learning system, to determine the values of the uncertainty variables (σP, σT, σG, and σI). In some embodiments, skill measurement system222is configured with values to provide uncertainty variables (σP, σT, σG, and σI).
By virtue of the uncertainty variables (σP, σT, σG, and σI) and interactions pairs described herein in enhance or improve skill measurement systems by providing players with more accurate skill measurements for complex or varying gameplay scenarios that may occur within a gameplay session (e.g., battle royale games). That is, in these games, players, through their player characters and/or player teams, are free and/or able to engage in combat in any manner with the randomly distributed loot they are able to acquire and have their player skill more accurately evaluated based in part on the instances of interactions that occur as a result.
A matchmaking system224is a backend service that matches and connects players to a gameplay session of a video game. Matchmaking system224can determine matches based in part on a variety of criteria including, but not limited to, skill ratings of a player account205and player teams, a gameplay session type, networking conditions, and other factors of the like known to those of skill in the art.
Game platform services230(A) are services to or for the game platform230. In some embodiments, the game platform230is a software client that utilizes game platform services230(A) to perform networking functionality, such as creating and validating player accounts205, establishing authentication for player accounts205, providing social services on a platform or in-game level for player accounts205and/or game clients210, and other platform functionalities of the like.
Game clients210and game platform230can communicate with gameplay services220over a network; such as network120illustrated inFIG.1. In some embodiments, gameplay services220establish and maintain connections among game clients210and player accounts205to facilitate a multiplayer gameplay for gameplay session211. Gameplay data212of the gameplay session211can be stored within a datastore226.
Gameplay Data
FIG.3illustrates an example embodiment of gameplay data300from a gameplay session211of a video game. In some embodiments, the illustration of gameplay data300represents gameplay data212at the completion of gameplay session211. In some embodiments, gameplay data300is accessible to the skill measurement system222for determining skill rating updates, such as for player accounts205and/or player teams.
Gameplay data300includes data of player teams involved in a respective gameplay session. The data of player teams is illustrated as player teams310(A),310(B),310(C),310(D), and310(E) (collectively referred to herein as “310” or “player team(s)310”) that each include three player characters. In some embodiments, more or fewer player teams310and/or player characters may be included in the gameplay data300.
Gameplay data300can also include data or information corresponding to each player team310, such as, but not limited to: player accounts205associated with player characters, gameplay scores and statistics, gameplay telemetry, player character statistics, skill ratings, win probabilities, and other game related data of the like.
Gameplay data300can also include skill rating data320which contains the skill ratings associated with each player team310in a gameplay session. In some embodiments, the skill ratings of player teams310are based at least in part on the skill rating(s) of the one or more player accounts associated with the respective player team310. For example, the skill rating of a player team310may be the sum, average, or median of the skill ratings of each player account205associated with the player team310.
In some embodiments, the skill ratings are based in part on historical gameplay from the respective player accounts associated with each player team310. For example, the skill rating of a player account may be derived or aggregated from the overall gameplay experience associated with the player account, such as, for example, from all of the gameplay sessions the player account has ever participated in. In some embodiments, a skill rating may be based in part on one or more specific gameplay modes of a video, such that only the player accounts participation in gameplay sessions of those gameplay modes are used to determine the skill rating. In some embodiments, a player account may have one or more skill ratings associated with it. In some embodiments, the skill rating associated with a player account can be reset and/or done in a periodic or other incremental manner.
Gameplay data300can also include win probability data330containing the win probability values for player teams310in a gameplay session. In some embodiments, the win probabilities are based in part on the skill ratings of the player teams310. In some embodiments, the win probabilities are based in part on win probabilities of each player account205associated with the player team310.
Gameplay data300can also include placement result data340that indicates the final placements of each player account and/or player team310in a gameplay session. Gameplay data300can also include other data from gameplay session211, such as the player accounts and/or player teams with the most or least damage, eliminations, assists, revives, respawns, points, and other gameplay statistics of the like.
In some embodiments, the gameplay data300includes interactions pairs350that corresponds to subsets of player teams, such as the interaction based pairwise matches described inFIG.2. In some embodiments, skill measurement system222can monitor gameplay data300to detect interaction data to determine interaction pairs350. To illustrate, the arrows between player teams310provide a visualization of the interaction pairs detected among the interaction data provided in gameplay data300. In some embodiments, interaction pairs350can simply be provided as part of gameplay data300, such that interaction data is provided with interaction pairs350.
In some embodiments, the gameplay data300includes player team uncertainty360that corresponds to the uncertainties of player teams310. The values of the uncertainties of player teams310may be based in part on the uncertainties of the respective players of the player team. In some implementations, the player team uncertainties360may be determined in or for each gameplay session of a video game. For example, in a team based multiplayer gameplay session of a video game, players may be assigned to a player team upon entering a multiplayer gameplay session, such that the player teams are uniquely chosen or assigned in each gameplay session.
In some embodiments, the value of a player team's uncertainty may change over the course of gameplay, when, for example, one or more players of the player teams leaves the gameplay session early and reduces the total number of players in a player team. In gameplay sessions with a designated number of players for player teams, a player team with more or less than the designated number of players may be assigned a value that differs more than the average player team in the gameplay session, so as to further account for the odds of success.
In some embodiments, gameplay data300can be used by a skill measurement system222to determine a skill rating for each player team for each instance of interaction that occurred during gameplay session211. In some embodiments, gameplay data300can be used by a skill measurement system222to determine an interaction uncertainty for each instance of interaction that occurred during the gameplay session211. In some embodiments, a gameplay uncertainty can also be used by skill measurement system222to determine an interaction uncertainty for each instance of interaction that occurred during the gameplay session211. In some embodiments, a gameplay uncertainty of an instance of interaction factors into, algorithmically, the determination of a skill rating for player or player team from an instance of interaction. For example, the interaction uncertainty can alter, modify, scale, reduce, and/or otherwise algorithmically affect the value of a skill rating determined for each instance of interaction.
In some embodiments, gameplay data300includes the data (e.g., text data) from310,320,330,340,350and/or360without the characters, arrows, or tables as illustrated. It should be understood that the illustrations do limit the disclosure to particular data types, organizations, structures, or formats for gameplay data. In some embodiments, gameplay data300consists of text data that describes a variety of gameplay telemetry, statistics, and other aspects of a gameplay session.
Instance of Interaction
FIG.4is an illustration400of an example embodiment of an instance of interaction between player teams in a gameplay session of a video game. In some embodiments,400illustrates an instance of interaction in gameplay session211on game client210, such that the instance of interaction is included in gameplay data212as interaction data.
Illustration400is in the first perspective of player character410, such that hands wielding a weapon illustrate player character410. In some embodiments, player character410and player character420are of different player teams in a gameplay session of a video game. Player character410and player character420are each associated to a player account, in some embodiments.
The instance of interaction between player character410and player character420illustrated in400is an instance of damage inflicted to player character420from player character410. Damage indicator424is an indication of damage infliction on player character420by player character410. Damage amount426is a damage value associated with the damage infliction on player character420. In some embodiments, data of the damage inflicted and the damage value associated with damage indicator424and damage amount426becomes part of the gameplay data of the respective gameplay session. In some embodiments, gameplay data of a gameplay session can, at or after the occurrence of the instance of interaction illustrated in400, include data indicating that player character410inflicted “90” damage on player character420.
In some embodiments, gameplay data of a gameplay session can include data that provides context for each instance of interaction included in the gameplay data, such as each player character involved each instance of interaction, the player teams associated with each player character, the player accounts the player characters and/or player teams are associated with, the location where the instance of interaction occurred, the distance between the player characters, the weapons, items, attack or other gameplay action or element of the like associated with each instance of interaction, the locations on the player characters where damage is inflicted, the occurrence of a player character being knocked down or eliminated as a result of an instance of interaction, the occurrence of a player team and/or player character advancing a gameplay objective as a result of an instance of interaction, among other gameplay telemetry.
Illustration400provides one example of an instance of interaction in a gameplay session of a video game. Instances of interactions in a gameplay session of a video game may also include gameplay actions in which one player character and/or player team applies a buff, debuff, revives, identifies, tags, indicates, stuns, flashes, disables, burns, bamboozles, misguides, flanks, blinds, suppresses, stops, blocks, damages, or heals another player character and/or player team.
Illustration400also provides one example of an instance of interaction in a gameplay session of a video game that would have an interaction uncertainty corresponding to, or associated with it. The interaction uncertainty may be based in part on the uncertainties associated with, or corresponding to, player character410and player character420; such as a player team uncertainty or a player uncertainty.
Skill Measurement
FIG.5illustrates an example embodiment of a process500for measuring or evaluating player skill by determining a skill rating update. The measurement or evaluation of player skill by process500can be based in part on gameplay data including the skill ratings, win probabilities, placement results, and interaction data of player teams (and associated player accounts). The measurement or evaluation of player skill by process500can also be based in part on subsets (e.g., interaction pairs) and an uncertainty variable, such as those described above with reference to at leastFIG.2,FIG.3, andFIG.4.
In some embodiments, process500can correspond to determination of skill rating updates made by skill measurement system222. At step510, skill measurement system222monitors gameplay data212of a gameplay session211. At step512, skill measurement system222detects interaction data corresponding to instances of interactions between two or more player characters and/or player teams.
The skill measurement system222can monitor gameplay data212to detect interaction data, among other data, by any common implementations known to a person of ordinary skill in the art, including, but not limited to: scripts configured to deterministically or logically identify, detect, and/or retrieve data from one or more data fields of data base or other data source; machine learning networks configured to identify, detect, and/or retrieve data from one or more data fields of data base or other data source; and/or other common data analysis, scanning, or auditing of methods of the like.
At step514, the skill measurement system222associates or creates subsets (e.g., interaction pairs) of player characters and/or player teams involved in an instance of interaction, based at least in part on the interaction data detected. In some embodiments, the player accounts associated with the player characters and/or player teams may also be included in the subset or be associated into a separate subset.
In some embodiments, the association or creation of subsets is performed in response to the detection of interaction data between two or more teams. For example, when detecting an instance of interaction where one player character of a player team attacks another player character of another player team—such as in illustration400ofFIG.4—the skill measurement system may associate both player characters and/or all player characters within both respective player teams within a subset.
In some embodiments, gameplay data212can be configured to include subsets as part of interaction data. As such, the detection of interaction data would directly provide the skill measurement system222with subsets, allowing the step of associating subsets to be omitted from process500.
The subsets serve as pairwise matches for skill measurement system222to evaluate gameplay data212. In some embodiments, the subsets provide context to each instance of interaction evaluated by skill measurement system222. The subsets inform skill measurement system222which player teams and/or player accounts where involved in a specific instance of interaction. This in turn, ensures that the player teams and/or player accounts within the subset are evaluated against one another in the evaluation of instances of interaction.
As such, a subset or interaction pair enables each instance of interaction to be evaluated independently, such player skill is evaluated contextually with respect to gameplay that actually occurred during the gameplay session.
In some embodiments, skill measurement system222can also associate, or create an interaction uncertainty to each instance of interaction that is based at least in part on a gameplay uncertainty and the player uncertainties and/or player team uncertainties corresponding to the subset. In some implementations, the associations or creations of interaction uncertainties can occur in another step of process500.
At step516, skill measurement system222determines player team skill rating updates. In some embodiments, player team skill rating updates are determined for each player team in each subset. The determination of player team skill rating is based at least in part on (i) the outcomes of instances of interactions corresponding to each subset and (ii) interaction uncertainties, in some embodiments.
For example, if Player Team A defeats Player Team B in an instance of interaction, the outcome is the defeat of Player Team B by Player Team A, or inversely, the victory of Player Team A over Player Team B. Skill measurement system222can be configured to provide some value or weight for a victory, defeat, or draw as outcome in the determination of a player team skill rating update.
Where a player team engaged in multiple instances of interactions in a single gameplay session, the skill measurement system222can produce a player team skill rating update that is the aggregate of each evaluated outcome.
In some embodiments, the skill measurement system222can also utilize the other data among gameplay data212to determine player team skill rating updates, including, but not limited to (i) the skill ratings of player accounts associated with the player teams in each subset, (ii) the skill ratings of player teams in each subset, (iii) win probabilities of player teams in each subset, (iv) placement results of player teams in each subset, and/or (v) gameplay actions of player characters associated with the player teams in each subset.
In some embodiments, the skill measurement system222can be configured to provide a unique value or weight to each of the aforementioned data types in the determination of a player team skill rating update.
At step518, the skill measurement system222determines player account skill rating updates. In some embodiments, the determination of player account skill ratings is based at least in part on (i) the outcomes of instances of interactions corresponding to each subset that the player account is associated with, and (ii) interaction uncertainties. Skill measurement system222can be configured to provide a value or weight for a victory, defeat, or draw outcome for each instance of interaction the player account engaged in.
Where a player account engaged in multiple instances of interactions in a single gameplay session, the skill measurement system222can produce a player account skill rating update that is the aggregate of each evaluated outcome. In some embodiments, instances of interactions a player engaged in across multiple gameplay sessions may be aggregated to determine skill rating update. In some implementations, a skill measurement system222can be configured to make the determination on gameplay session basis or on a periodic basis, such as over the course of a period of time and/or after an amount of gameplay sessions.
In some embodiments, skill measurement systems222can also utilize the other data among gameplay data212to determine player team account rating updates, including, but not limited to (i) the skill ratings of player accounts associated in each subset, (ii) the skill ratings of player teams corresponding to player accounts in subset, (iii) the win probabilities of player accounts in each subset, (iv) the placement results of player accounts or corresponding player teams in each subset, (v) the gameplay actions of player characters associated with the player accounts in each subset, and/or (vi) the uncertainty variables (e.g., σP, σT, σG, and σI).
In some embodiments, the skill measurement system222can be configured to provide a unique value or weight to each of the aforementioned data types in the determination of a player account skill rating update.
In some embodiments, the determination of player team skill rating updates516and player account skill ratings updates518can be accomplished through a Bayesian based algorithm where the subsets serve as pairwise matches. In some embodiments, the determination of player team skill rating updates516and player account skill ratings updates518can be accomplished through a Bayesian based algorithm where an uncertainty variable, such as described inFIG.2, provides a range of permitted deviation from an algorithmic curve that is utilized to determine skill in a video game.
In some embodiments, the determination of a player account skill rating update518can be based in part on a respective player team skill rating update at block516. For example, a player account skill rating update may be based partly on the gameplay contributions made by a respectively associated player character, such that the player account receives a portion of the total value of a player team skill rating update that corresponds to the contribution the player account made towards the total value in gameplay.
At step520, the skill measurement system222can update the skill ratings of player teams and/or player accounts based in part on the results of steps516and518. In some embodiments, another service among gameplay service220can update the respective skill ratings.
The steps of process500may be configured in different orders or arrangements, such that one step is performed in substitution of, or in conjunction with, another step. In some embodiment, process500includes either step516or518, but not both. In some embodiments, steps516and518occur as a single step.
Computing Device
FIG.6illustrates an embodiment of the resources within a computing device10. In some embodiments, computing devices110ofFIG.1are similar to and/or include portions or components of the computing device10.
Other variations of the computing device10may be substituted for the examples explicitly presented herein, such as removing or adding components to the computing device10. The computing device10may include a video game console, a smart phone, a tablet, a personal computer, a laptop, a smart television, a server, and the like.
As shown, the computing device10includes a processing unit20that interacts with other components of the computing device10and external components. A media reader22is included that communicates with computer readable media12. The media reader22may be an optical disc reader capable of reading optical discs, such as DVDs or BDs, or any other type of reader that can receive and read data from computer readable media12. One or more of the computing devices may be used to implement one or more of the systems disclosed herein.
Computing device10may include a graphics processor24. In some embodiments, the graphics processor24is integrated into the processing unit20, such that the graphics processor24may share Random Access Memory (RAM) with the processing unit20. Alternatively, or in addition, the computing device10may include a discrete graphics processor24that is separate from the processing unit20. In some such cases, the graphics processor24may have separate RAM from the processing unit20. Computing device10might be a video game console device, a general-purpose laptop or desktop computer, a smart phone, a tablet, a server, or other suitable system.
Computing device10also includes various components for enabling input/output, such as an I/O32, a user I/O34, a display I/O36, and a network I/O38. I/O32interacts with storage element40and, through a device42, removable storage media44in order to provide storage for computing device10. Processing unit20can communicate through I/O32to store data. In addition to storage40and removable storage media44, computing device10is also shown including ROM (Read-Only Memory)46and RAM48. RAM48may be used for data that is accessed frequently during execution of software.
User I/O34is used to send and receive commands between processing unit20and user devices, such as keyboards or game controllers. In some embodiments, the user I/O34can include a touchscreen. The touchscreen can be a capacitive touchscreen, a resistive touchscreen, or other type of touchscreen technology that is configured to receive user input through tactile inputs from the user. Display I/O36provides input/output functions that are used to display images. Network I/O38is used for input/output functions for a network. Network I/O38may be used during execution, such as when a client is connecting to a server over a network.
Display output signals produced by display I/O36comprising signals for displaying visual content produced by computing device10on a display device, such as graphics, graphical user interfaces (GUIs), video, and/or other visual content. Computing device10may comprise one or more integrated displays configured to receive display output signals produced by display I/O36. According to some embodiments, display output signals produced by display I/O36may also be output to one or more display devices external to computing device10, such a display16.
The computing device10can also include other features, such as a clock50, flash memory52, and other components. An audio/video player56might also be used to play a video sequence, such as a movie. It should be understood that other components may be provided in computing device10and that a person skilled in the art will appreciate other variations of computing device10.
Program code can be stored in ROM46, RAM48or storage40(which might comprise hard disk, other magnetic storage, optical storage, other non-volatile storage or a combination or variation of these). Part of the program code can be stored in ROM that is programmable (ROM, PROM, EPROM, EEPROM, and so forth), part of the program code can be stored in storage40, and/or on removable media such as media12(which can be a CD-ROM, cartridge, memory chip or the like, or obtained over a network or other electronic channel as needed). In general, program code can be found embodied in a tangible non-transitory signal-bearing medium.
Random access memory (RAM)48(and possibly other storage) is usable to store variables and other processor data as needed. RAM can hold data that is generated during the execution of an application and portions thereof might also be reserved for frame buffers, application state information, and/or other data needed or usable for interpreting user input and generating display outputs. Generally, RAM48is volatile storage and data stored within RAM48may be lost when the computing device10is turned off or loses power.
As computing device10reads media12and provides an application, information may be read from media12and stored in a memory device, such as RAM48. Additionally, data from storage40, ROM46, servers accessed via a network (not shown), or removable storage media46may be read and loaded into RAM48. Although data is described as being found in RAM48, it will be understood that data does not have to be stored in RAM48and may be stored in other memory accessible to processing unit20or distributed among several media, such as media12and storage40.
Some portions of the detailed descriptions above are presented in terms of symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
The disclosed subject matter also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, each coupled to a computer system bus.
The disclosed subject matter may be provided as a computer program product, or software, that may include a machine-readable medium having stored thereon instructions, which may be used to program a computer system (or other electronic devices) to perform a process according to the disclosed subject matter. A machine-readable medium includes any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). For example, a machine-readable (e.g., computer-readable) medium includes a machine (e.g., a computer) readable storage medium (e.g., read only memory (“ROM”), random access memory (“RAM”), magnetic disk storage media, optical storage media, flash memory devices, etc.).
It should be understood that the original applicant herein determines which technologies to use and/or productize based on their usefulness and relevance in a constantly evolving field, and what is best for it and its players and users. Accordingly, it may be the case that the systems and methods described herein have not yet been and/or will not later be used and/or productized by the original applicant. It should also be understood that implementation and use, if any, by the original applicant, of the systems and methods described herein are performed in accordance with its privacy policies. These policies are intended to respect and prioritize player privacy, and to meet or exceed government and legal requirements of respective jurisdictions. To the extent that such an implementation or use of these systems and methods enables or requires processing of user personal information, such processing is performed (i) as outlined in the privacy policies; (ii) pursuant to a valid legal mechanism, including but not limited to providing adequate notice or where required, obtaining the consent of the respective user; and (iii) in accordance with the player or user's privacy settings or preferences. It should also be understood that the original applicant intends that the systems and methods described herein, if implemented or used by other entities, be in compliance with privacy policies and practices that are consistent with its objective to respect players and user privacy.
Certain example embodiments are described above to provide an overall understanding of the principles of the structure, function, manufacture and use of the devices, systems, and methods described herein. One or more examples of these embodiments are illustrated in the accompanying drawings. Those skilled in the art will understand that the descriptions herein and the accompanying drawings are intended to be illustrative, and not restrictive. Many other implementations will be apparent to those of skill in the art based upon the above description. Such modifications and variations are intended to be included within the scope of the present disclosure. The scope of the present disclosure should, therefore, be considered with reference to the claims, along with the full scope of equivalents to which such claims are entitled. The features illustrated or described in connection with one exemplary embodiment may be combined with the features of other embodiments. In some instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the disclosed subject matter.
Claims
- A system comprising: one or more processors;and a computer-readable storage medium including machine-readable instructions that, when executed by the one or more processors, cause the one or more processors to: monitor gameplay data of a gameplay session of a video game, the gameplay data comprising interaction data corresponding to instances of interactions among a plurality of player teams connected to the gameplay session;detect, based on the monitoring, a first interaction of at least one or more instances of interactions between two or more player teams among the plurality of player teams, and a first outcome to the first interaction;determine subsets of the plurality of player teams involved in the first interaction;determine an interaction uncertainty for the first interaction based at least in part on gameplay data associated with the first interaction, wherein the interaction uncertainty is determined after the first outcome of the first interaction;and determine, for each player team involved in the first interaction, a skill rating update based at least in part on the (i) first outcome and (ii) the interaction uncertainty for the first interaction, wherein the skill rating update includes: (i) a player team skill rating update, wherein the player team skill rating is a skill rating associated with the combination of player accounts included within the player team, and (ii) a player account skill rating update for one or more of the player accounts associated with each player team.
- The system of claim 1, wherein the gameplay data associated with the first interaction includes gameplay actions of player characters and in-game status of player characters.
- The system of claim 2, wherein each player team includes a plurality of player characters, wherein each player account associated with each player team is associated with at least one player character of the player team and wherein the gameplay data further comprises: (i) skill ratings of player accounts, wherein the skill ratings of player accounts are values indicating the skill rating of a player account;(ii) skill ratings of player teams, wherein the skill ratings of player teams are based at least in part on the skill ratings of player accounts associated with each respective player team, (iii) win probabilities of player teams, wherein the win probabilities of each player team is based at least in part on the skill ratings of one or more player teams participating in the gameplay session, or (iv) placement results of players teams, the placement results corresponding to the placement each player team achieves in the gameplay session.
- The system of claim 3, wherein determining the skill rating updates from an outcome of an instance of interaction is further based in part on at least one of the following gameplay data corresponding to one or more of the player teams associated with a respective subset: (i) the skill ratings of player accounts, (ii) the skill ratings of player teams, (iii) win probabilities of player teams, (iv) placement results, or (v) gameplay actions of player characters.
- The system of claim 4, wherein the interaction uncertainty to each of the respective instances of interactions is based at least in part on one of the following: (i) player uncertainty, wherein player uncertainty corresponds to an uncertainty in skill of a player, (ii) player team uncertainty, wherein player team uncertainty corresponds to an uncertainty in skill among the player team, or (iii) a gameplay uncertainty, wherein the gameplay uncertainty corresponds to the gameplay session.
- The system of claim 5, wherein the gameplay uncertainty is based at least in part on an uncertainty corresponding to one or more aspects of gameplay in the gameplay session.
- The system of claim 6, wherein the interaction uncertainty affects a skill rating determination from an outcome of an instance of interaction.
- A computer implemented method to measure player skill in a video game, the method comprising: monitoring gameplay data of a gameplay session of a video game, the gameplay data comprising interaction data corresponding to instances of interactions among a plurality of player teams connected to the gameplay session;detecting, based on the monitoring, a first interaction of at least one or more instances of interactions between two or more player teams among the plurality of player teams, and a first outcome to the first interaction;determining subsets of the plurality of player teams involved in the first interaction;determining an interaction uncertainty for the first interaction based at least in part on gameplay data associated with the first interaction, wherein the interaction uncertainty is determined after the first outcome of the first interaction;determining, for each player team involved in the first interaction, a skill rating update based at least in part on the (i) first outcome and (ii) the interaction uncertainty for the first interaction, wherein the skill rating update includes: (i) a player team skill rating update, wherein the player team skill rating is a skill rating associated with the combination of players accounts included within the player team, and (ii) a player account skill rating update for one or more of the player accounts associated with each player team.
- The computer implemented method of claim 8, wherein the gameplay data associated with the first interaction includes gameplay actions of player characters and in-game status of player characters.
- The computer implemented method of claim 9, wherein each player team includes a plurality of player characters, wherein each player account associated with each player team is associated with at least one player character of the player team and wherein gameplay data further comprises: (i) skill ratings of player accounts, wherein the skill ratings of player accounts are values indicating the skill rating of a player account;(ii) skill ratings of player teams, wherein the skill ratings of player teams are based at least in part on the skill ratings of player accounts associated with each respective player team, (iii) win probabilities of player teams, wherein the win probabilities of each player team is based at least in part on the skill ratings of one or more player teams participating in the gameplay session, or (iv) placement results of players teams, the placement results corresponding to the placement each player team achieves in the gameplay session.
- The computer implemented method of claim 10, wherein determining skill rating updates from an outcome of an instance of interaction is further based in part on at least one of the following gameplay data corresponding to one or more of the player teams associated with a respective subset: (i) the skill ratings of player accounts, (ii) the skill ratings of player teams, (iii) win probabilities of player teams, (iv) placement results, or (v) gameplay actions of player characters.
- The computer implemented method of claim 11, wherein the interaction uncertainty to each of the respective instances of interactions is based at least in part on one of the following: (i) player uncertainty, wherein player uncertainty corresponds to an uncertainty in skill of a player, (ii) player team uncertainty, wherein player team uncertainty corresponds to an uncertainty in skill among the player team, or (iii) a gameplay uncertainty, wherein the gameplay uncertainty corresponds to the gameplay session.
- The computer implemented method of claim 12, wherein the gameplay uncertainty is based at least in part on an uncertainty corresponding to one or more aspects of gameplay in the gameplay session.
- The computer implemented method of claim 13, wherein the interaction uncertainty affects a skill rating determination from an outcome of an instance of interaction.
- A non-transitory computer readable medium comprising machine-readable instructions to measure player skill in a video game by: monitoring gameplay data of a gameplay session of a video game, the gameplay data comprising interaction data corresponding to instances of interactions among a plurality of player teams connected to the gameplay session;detecting, based on the monitoring, a first interaction of at least one or more instances of interactions between two or more player teams among the plurality of player teams, and a first outcome to the first interaction;determining subsets of the plurality of player teams involved in the first interaction;determining an interaction uncertainty for the first interaction based at least in part on gameplay data associated with the first interaction, wherein the interaction uncertainty is determined after the first outcome of the first interaction;determining, for each player team involved in the first interaction, a skill rating update based at least in part on the (i) first outcome and (ii) the interaction uncertainty for the first interaction, wherein the skill rating update includes: (i) a player team skill rating update, wherein the player team skill rating is a skill rating associated with the combination of players accounts included within the player team, and (ii) a player account skill rating update for one or more of the player accounts associated with each player team.
- The non-transitory computer readable medium of claim 15, wherein the gameplay data associated with the first interaction includes gameplay actions of player characters and in-game status of player characters.
- The non-transitory computer readable medium of claim 16, wherein each player team includes a plurality of player characters, wherein each player account associated with each player team is associated with at least one player character of the player team and wherein gameplay data further comprises: (i) skill ratings of player accounts, wherein the skill ratings of player accounts are values indicating the skill rating of a player account;(ii) skill ratings of player teams, wherein the skill ratings of player teams are based at least in part on the skill ratings of player accounts associated with each respective player team;(iii) win probabilities of player teams, wherein the win probabilities of each player team is based at least in part on the skill ratings of one or more player teams participating in the gameplay session;or (iv) placement results of players teams, the placement results corresponding to the placement each player team achieves in the gameplay session.
- The non-transitory computer readable medium of claim 17, wherein determining skill rating updates from an outcome of an instance of interaction is further based in part on at least one of the following gameplay data corresponding to one or more of the player teams associated with a respective subset: (i) the skill ratings of player accounts, (ii) the skill ratings of player teams, (iii) win probabilities of player teams, (iv) placement results, or (v) gameplay actions of player characters.
- The non-transitory computer readable medium of claim 18, wherein the interaction uncertainty to each of the respective instances of interactions is based at least in part on one of the following: (i) player uncertainty, wherein player uncertainty corresponds to an uncertainty in skill of a player, (ii) player team uncertainty, wherein player team uncertainty corresponds to an uncertainty in skill among the player team, or (iii) a gameplay uncertainty, wherein the gameplay uncertainty corresponds to the gameplay session.
- The non-transitory computer readable medium of claim 18, wherein the gameplay uncertainty is based at least in part on an uncertainty corresponding to one or more aspects of gameplay in the gameplay session.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.