U.S. Pat. No. 10,864,443

Video Game Content Aggregation, Normalization, and Publication Systems and Methods

AssigneeActivision Publishing, Inc.

Issue DateApril 16, 2018

Illustrative Figure

Abstract

The present specification describes a system and method for aggregating user results, rankings and statistical data associated with playing video games across two or more games, normalizing the aggregated data to unified values and presenting the aggregated and unified data via an interface, such that data from one game may be fairly combined and/or compared to data from another game. The present system allows a user to obtain a unified ranking across multiple games, especially when the games are of a similar genre.

Description

DETAILED DESCRIPTION In various embodiments, the present specification describes a system and method for aggregating, normalizing and publishing a user's cross-game performance data indicative of the user's overall unified ranking or skill level across different games to identify other players with similar skill levels for a match and enable the user to start a new game at a level commensurate with the user's overall ranking or skill level. In various other embodiments, the present specification also describes methods of normalizing and publishing trading values or scores for a plurality of virtual items acquired by the user and enabling trading of the virtual items amongst players. In an embodiment, the present specification describes a system and method for aggregating user results, rankings and other statistical data associated with playing video games across two or more games, normalizing the aggregated data to unified values and presenting or publishing the aggregated and unified data via a single interface, such that data from one game may be fairly combined, traded, and/or compared to data from another game. In an embodiment, the present system allows a user to obtain a unified ranking, score or metric across multiple games, especially when the games are of a similar genre. In an embodiment, the present system also allows game programs to match players, that is, put together players of similar strengths or rankings for matches or multiplayer game events without the need for gathering performance data from the game that the players wish to play. Thus, a player's universal performance data may be used to match players in a new game for which the players may not have yet generated performance data. In yet another embodiment, the present system accesses a user's unified overall ranking or skill level to allow the user to start playing a new game ...

DETAILED DESCRIPTION

In various embodiments, the present specification describes a system and method for aggregating, normalizing and publishing a user's cross-game performance data indicative of the user's overall unified ranking or skill level across different games to identify other players with similar skill levels for a match and enable the user to start a new game at a level commensurate with the user's overall ranking or skill level. In various other embodiments, the present specification also describes methods of normalizing and publishing trading values or scores for a plurality of virtual items acquired by the user and enabling trading of the virtual items amongst players.

In an embodiment, the present specification describes a system and method for aggregating user results, rankings and other statistical data associated with playing video games across two or more games, normalizing the aggregated data to unified values and presenting or publishing the aggregated and unified data via a single interface, such that data from one game may be fairly combined, traded, and/or compared to data from another game.

In an embodiment, the present system allows a user to obtain a unified ranking, score or metric across multiple games, especially when the games are of a similar genre. In an embodiment, the present system also allows game programs to match players, that is, put together players of similar strengths or rankings for matches or multiplayer game events without the need for gathering performance data from the game that the players wish to play. Thus, a player's universal performance data may be used to match players in a new game for which the players may not have yet generated performance data.

In yet another embodiment, the present system accesses a user's unified overall ranking or skill level to allow the user to start playing a new game at a level according to the user's overall ranking or skill level.

In other embodiments, the present system allows users of one game to trade game-related virtual items with users of another game. This is enabled by providing a normalized score or value for virtual items, based upon item attributes such as, but not limited to, rarity level, power level and/or community use level, that allows virtual items associated with one game to be fairly compared against virtual items of another game.

While aspects of the present specification may be described herein with reference to particular types of video game genres, the system and method described in detail herein may be used in any genre of single or multiplayer video games.

The present specification is directed towards multiple embodiments. The following disclosure is provided in order to enable a person having ordinary skill in the art to practice the invention. Language used in this specification should not be interpreted as a general disavowal of any one specific embodiment or used to limit the claims beyond the meaning of the terms used therein. The general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the invention. Also, the terminology and phraseology used is for the purpose of describing exemplary embodiments and should not be considered limiting. Thus, the present invention is to be accorded the widest scope encompassing numerous alternatives, modifications and equivalents consistent with the principles and features disclosed. For purpose of clarity, details relating to technical material that is known in the technical fields related to the invention have not been described in detail so as not to unnecessarily obscure the present invention.

In the description and claims of the application, each of the words “comprise” “include” and “have”, and forms thereof, are not necessarily limited to members in a list with which the words may be associated. It should be noted herein that any feature or component described in association with a specific embodiment may be used and implemented with any other embodiment unless clearly indicated otherwise.

As used herein, the indefinite articles “a” and “an” mean “at least one” or “one or more” unless the context clearly dictates otherwise. The term “plurality of programmatically separate video games” means more than one video game where each of the video games comprises one or more separate executable files and can be fully played and engaged with independent of any other video game.

Exemplary System Architecture

FIG. 1illustrates a gaming system100, in accordance with an embodiment of the present specification. The system100comprises client-server architecture, where one or more game servers105,106are in communication with one or more remotely located client devices110over a network115. Users may access the system100via the client devices110that may include, but not be limited to, personal or desktop computers, laptops, Netbooks, handheld devices such as smartphones, tablets, and PDAs, gaming consoles and/or any other computing platform known to persons of ordinary skill in the art. Although three client devices110are illustrated inFIG. 1, any number of client devices110can be in communication with the one or more game servers105,106over the network115. The one or more game servers105,106are responsible for hosting, running, or executing a video game, and the remotely located client devices110are configured to execute an instance of the video game.

The video game may be from any video game genre. Video game genres include 1) action games, such as platform, shooter, fighting, stealth, survival, and rhythm games, 2) action-adventure, games, such as survival horror or metroidvania games, 3) adventure games, such as text, graphic, visual, interactive or real-time 3D adventures, 4) role-playing games, such as action RPG, MMORPG, Roguelikes, tactical RPG, sandbox RPG, first-person party-based RPG, cultural differences, choices, or fantasy games, 5) simulation games, construction and management simulation, life simulation, or vehicle simulation games, 6) strategy games, such as 4×, artillery, real-time strategy, real-time tactics, multiplayer online battle arena, tower defense, turn based strategy, turn based tactics, wargame, or grand strategy games, 7) sports games, such as racing, competitive, basketball, football, baseball, soccer, hockey, or sports-based fighting, or 8) the following other genres: MMO, casual, party, programming, logic, trivia, board, card, advergame, art, or educational.

Game Servers105,106

The one or more game servers105,106can be any computing device having one or more processors and one or more computer-readable storage media such as RAM, hard disk or any other optical or magnetic media. The one or more game servers105,106include a plurality of hardware, software, and/or firmware components operating together to provide or implement a plurality of functional, operational or service-oriented modules. In some embodiments, the one or more game servers105,106include or are in communication with a game database system (not shown). In one embodiment, each game server is associated with a separate game database system. In another embodiment, a common database system may serve two or more game servers. The game database system stores a plurality of game data associated with one or more games that are served or provided to the client devices110over the network115. In one embodiment, the game database system comprises a plurality of databases, each storing a different kind of data. For example, data associated with leaderboard or gameplay results may be stored in a different database, while error reports associated with a game may be stored in a different database. In some embodiments, the one or more game servers105,106may be implemented by a cloud of computing platforms operating together as game servers. In embodiments, a game server is another home console, a personal computing device, such as a laptop or tablet PC, or a dedicated server.

In one embodiment, the gaming system100comprises a plurality of distributed video game servers, wherein each of the distributed video game servers is configured to host and manage a video game title. As defined herein, the distributed game servers refer to a system of computing platforms that are capable of communicating and coordinating with one another. In one embodiment, the computing platforms comprising the distributed servers are hosted on the cloud. For the purpose of the present specification, a video game title is defined as an electronic game that involves interaction with a user interface to generate visual feedback on a display device.

In accordance with aspects of the present specification, the one or more game servers105,106provide or implement a plurality of modules such as, but not limited to, a master game module120and a master leaderboard module130. In one embodiment, the various modules are hosted on a cloud of computing platforms, collectively known as the backend. In the following description, the terms ‘game server’ and ‘backend’ are used interchangeably. In some embodiments, the one or more client devices110are configured to implement or execute one or more of the plurality of modules that are the same as or similar to the modules of the one or more game servers105. For example, in some embodiments the client devices110execute a client-side game module120′.

It should be appreciated that the term ‘module’ refers to computer logic utilized to provide a desired functionality, service or operation. In various embodiments, a module can be implemented in hardware, firmware and/or software controlling a general purpose processor. In one embodiment, the modules are programmatic codes or computer executable instructions stored on a storage system, such as the game database system, and executed by a processor.

Master Game Module120

In embodiments, the master game module120is configured to execute an instance of an online game to facilitate interaction of the users with the game. In embodiments, the instance of the game executed may be synchronous, asynchronous, and/or semi-synchronous. For the purpose of the present specification, an instance of a video game title is defined as the version of the video game running locally on a client device, wherein said video game title is hosted on a remote server. That is, the client device is in communication with the remote server to execute a local version of the video game title hosted on the remote server.

The master game module120controls aspects of the game for all users and receives and processes each user's input in the game. In other words, the master game module120hosts the online game for all users, receives game data from the client devices110and transmits updates to all client devices110based on the received game data so that the game, on each of the client devices110, represents the most updated or current status with reference to interactions of all users with the game. Thus, the master game module120transmits the game data over the network115to the client devices110for use by the game module120′ at the client devices110to provide local versions and current status of the game to the users.

On the client-side, each of the one or more client devices110implements the game module120′ that operates as a gaming application to provide a user with an interface between the user and the game. The game module120′ generates the interface to render a virtual environment, virtual space or virtual world associated with the game and enables the user to interact in the virtual environment to perform a plurality of game tasks and objectives. The game module120′ accesses game data received from the game server110to provide an accurate representation of the game to the user. The game module120′ captures and processes user inputs and interactions within the virtual environment and provides updates to the game server110over the network115. In embodiments, the game module120′ captures and stores a plurality of statistical data or leaderboard data generated as a result of the user's interactions with the virtual environment of the game. The captured and stored leaderboard data is communicated back or uploaded to the game server110in real-time, periodically (such as through batch updates) during a game and/or at an end of the game.

In one embodiment, the gaming system100comprises a programmable clock (not shown) configured to generate a time-based trigger, which is used for synchronizing communication between the distributed video game servers and also between the servers and the remotely located client devices. In one embodiment, the communication between various components of the distributed gaming system100is facilitated by one or more game server interface call modules in data communication with the programmable clock. In one embodiment, each video game server is associated with an interface call module. The interface modules are configured to generate and transmit interface calls to one or more game servers based upon said time-based trigger, and are configured to receive game server data from the one or more game servers based upon the interface calls. As known in the art, interface calls provide a means for communication between components of a distributed system. The interface calls allow functions to be executed in a remote system or computing platform and provide a way for an external program to obtain data from a server.

In one embodiment, the game database system that stores a plurality of game data associated with one or more games hosted by the distributed video game servers is in data communication with one or more game server interface call modules, to allow external programs or modules to obtain requested data from a game server.

Video Game Content Aggregation Module135

The present system further comprises a video game content aggregation module135, which interfaces with the master game module120and the master leaderboard module130in the game servers to obtain game data for a plurality of games. In one embodiment, the aggregation module135communicates with the master game module120and the master leaderboard module130in the game servers to obtain game data from the associated database, by means of one or more interface call modules. In one embodiment, the aggregation module runs on one of the game servers105,106from which it obtains game data. In another embodiment, the aggregation module is executed on a third party server or device107, that is, on a device other than the server(s) providing game data. In one embodiment, the aggregation module runs on a dedicated server or computing device. In another embodiment, the aggregation module runs on a computing platform hosted on cloud.

Game data accessed by the aggregation module135may be broadly categorized into a first set of data referred to as game-rendering data and a second set of data referred to as leaderboard data. The game-rendering data is associated with rendering, execution or implementation of the online game to all users on their corresponding client devices. In embodiments, the game-rendering data comprises data such as, but not limited to:

a) data associated with the virtual environment or simulation space of the game. For example, audio-visual and/or graphics data and virtual objects, items or virtual elements data such as the various types, objectives and behaviors of virtual elements, objects, items and characters associated with the game;

b) game target data including data related to the current game targets, goals or objectives as well as data related to the past, present and future status of the targets, goals or objectives of the game;

c) data related to the users or players of the game. For example, user's identification data (such as a unique login or username and password), user's geographical location data (such as an IP address of the client device of the user), user's experience level or expertise with reference to playing the game, user's preferences, user-controlled virtual character or avatar and its permissible behaviors as well as customizations at various levels of the game, current number of users; and

d) game identification data related to identification of an instance of the game being played by the users including the timestamp related to when a particular game instance was played by a particular user.

The leaderboard data is associated with a plurality of user related metrics, scoring or statistics and/or in-game event data generated as a result of the user's interactions with the virtual environment of the game. In embodiments, the leaderboard data comprises data such as, but not limited to:

a) data related to a plurality of scoring events that occur during a match. For example, high scores, kills or captures, fastest time periods to achieve certain scores, achievement of specific game levels and/or winning of specific matches by a set of ‘N’ number of top performing users, or ranking of the user with reference to the top ‘N’ users; and,

b) data associated with in-game events such as, but not limited to, movement of the user throughout the virtual environment or topographical map of the game, interaction of the user's avatar with various virtual characters or elements in the game, virtual elements or items used and/or won, damage taken, perks acquired. It should be appreciated that the leaderboard data will vary depending upon the type, nature and objectives of the game and therefore encompasses any gameplay data relevant to and defined for a particular type of game and its objectives.

In the present specification, the leaderboard data may be referred to as a) client-side or user-specific leaderboard data generated and stored at a client device110(as a result of a user playing a game) and communicated back or uploaded to at least one game server105,106or backend, and b) master leaderboard data stored at a game server or backend as a result of processing of leaderboard data received from all client devices of all users. The master leaderboard data is updated with client-side leaderboard data received from all client devices and therefore is representative of a comprehensive leaderboard data encompassing all that is or has happened as a result of an interaction of all the users with the virtual environment of a game.

After obtaining data from the master game module120and master leaderboard module130for a plurality of games played by a user, the aggregation module135, in one embodiment, normalizes data across the plurality of games, to generate corresponding unified data for the plurality of games. As known in the art, normalization of statistical data, such as ratings, involves adjusting values measured on different scales to a notionally common scale, often prior to averaging. The normalization process applied by the aggregation module in the present specification allows data from one game to be fairly combined or compared with data from another game—comparisons which are not conventionally able to be made since data from the respective games have no unifying or common basis that would facilitate a valid comparison. Thus, for example, on obtaining data regarding ranking or levels achieved for a player who plays four different combat based games, the aggregation module may produce a single universal ranking or a unified level position applicable to all four games played by the player in the genre. Therefore, in an embodiment, the universal ranking is not game-dependent but rather is associated with the player and more representative of the player's overall gaming skill agnostic to any single specific game.

In some embodiments, the aggregation module135obtains data related to virtual objects and items associated with various games, and normalizes the data to achieve a unified item score, or value, for an item or a category of items. The unified item scores or values for virtual items or objects are used to enable fair trade between virtual items across different games.

Recommendation Module140

The present system further comprises a recommendation module140, which interfaces with the aggregation module135to obtain normalized data such as but not limited to, for example, universal ranking data reflecting a plurality of players' performance or expertise level across all games played in a genre and unified item scores, or values, for virtual items/objects or categories of virtual items/objects. In an embodiment, the recommendation module140is configured to use the normalized data to recommend a new game to a player based on the player's universal ranking and expertise level. In some embodiments, the new game may be from a genre within which the universal ranking has been generated by the aggregation module135. In some embodiments, the new game may be from a different genre which is correlated or similar to the genre for which the universal ranking has been generated by the aggregation module135. In another embodiment, the recommendation module140is configured to use the normalized data to recommend a second virtual item for trade based on a unified item value of a first virtual item owned by a player. In some embodiments, the first and second virtual items are associated with one or more video games in which the player is already registered. In some embodiments, the second virtual item is associated with a new video game that the player does not have or currently is not registered with or is currently not playing, thus incentivizing the player to both conduct a trade and engage in a new game.

In one embodiment, the recommendation module140communicates with the aggregation module135by means of one or more interface call modules. In one embodiment, the recommendation module runs on at least one of game servers105,106. In another embodiment, the recommendation module is executed on the server or device107, that is, on the device executing the aggregation module135. In one embodiment, the recommendation module runs on a dedicated server or computing device. In another embodiment, the recommendation module runs on a computing platform hosted on cloud.

Normalization Process

In an embodiment, the process of normalization, executed by the aggregation module, involves obtaining an average of data across all the games played, after taking into consideration the number of matches played for each. In other embodiments, the normalization process may involve making adjustments to data to bring the entire probability distributions of adjusted values into alignment. Other approaches to normalization may include aligning distributions of data to a normal distribution, and quantile normalization, where the quantiles of the different measures are brought into alignment.

The process of normalization may also involve creation of shifted and scaled versions of game statistics to allow the comparison of corresponding normalized values for different datasets in a way that eliminates the effects of certain gross influences or anomalies. Some types of normalization may involve rescaling, to arrive at values relative to some size variable. In one embodiment, the aggregation module determines the normalization process to be applied to the game server data, based upon a portion of the game server data. Thus, the method of normalization applied may be determined on the basis of the type of data available. One of ordinary skill in the art would appreciate that any method of normalization may be applied to the obtained game data, so long as it serves the purpose of combining or unifying data from various games in an equitable manner.

In an exemplary embodiment, a process of normalization may involve acquiring at least a plurality of performance data or metrics of a player for a game. The performance data may comprise any game data known to persons of ordinary skill in the art. For example, in a first-person shooter genre, the metrics may comprise, without limitation, kills per minute (KPM), kill/death ratio, win/loss ratio, the player's experience level, shot accuracy, and any other metric as applicable to the game genre. As another example, in a basketball game, the metrics may comprise, without limitation, the player's win/loss ratio, points per game, steals per game, assists per game, blocks per game, turnovers per game, three-point shooting percentage, and/or two-point shooting percentage, among other data. In a racing simulation, the metrics may comprise, without limitation, win/loss ratio, percentage of placements in the player's most recent races, time taken to complete various races, among other data. One of ordinary skill will recognize various metrics may used to determine a player's skill or ranking in a particular game.

In some embodiments, a numerical score is assigned to one or more metrics applicable to a player's skill or ranking within the game, wherein the score is on a common scale of, for example, 1 to 10. In some embodiments, a total score is obtained for the player for the game across all matches or sessions of that particular game played. In other embodiments, the total score is obtained based on a sample of the most recent matches or sessions played by the player (e.g., matches or sessions played within a certain time period such as the past 1, 3, 6 months or any other time period or the most recent 5, 10, 15 matches or sessions or any other number of matches or sessions). In some embodiments, the total score is based on matches or sessions played in a particular mode of the game (e.g., a ranked mode). This process may be repeated for one or more of the different games played by the player, for example all games played by the player, games within a particular genre, or some other subset of games played by the player. In some embodiments, the total scores corresponding to the different games played may be weighted depending upon a level of similarity or correlation of the games with a genre. In some embodiments, an internal weighted average score is calculated across the totality of games played by the player for the genre. In some embodiments, a universal average score is calculated for all games played, by a universe of players, relevant to the genre. In some embodiments, this universal average score is calculated using performance data obtained from external sources such as data accessed via game system APIs of third party games or by scraping websites of game developers available online or delivered via their game server(s). In some embodiments, the internal weighted average score of the player is compared with the universal average score to determine or predict a unified or overall ranking and skill level of the player for a game relevant to the genre.

In another exemplary embodiment, a process of normalization may involve obtaining a player's first average score for a plurality of matches of a first game associated with a genre. In an example, the genre may be a card game genre and the first game may be, without limitation, bridge. In some embodiments, depending upon the player's first average score and respective average scores of a plurality of other players (for the first game), a ranking is generated. Accordingly, in some embodiments, the player is accorded a first ranking on the first game of the genre. Similarly, the player's second average score is obtained for a plurality of matches of a second game associated with the genre. In an example, the second game may, without limitation, be whist (similar to spades or hearts). In some embodiments, depending upon the player's second average score and respective averages scores of a plurality of other players (for the second game), a ranking is generated. Accordingly, the player is accorded a second ranking on the second game of the genre. The same process may be repeated to obtain the player's ranking in a number of games associated with the genre.

Using the non-limiting example of obtaining first and second rankings of the player for the first and second games, in some embodiments, the first and second rankings of the player are aggregated, added or summed up to obtain a first aggregate ranking score of the player. For example, if the first and second rankings of the player are 2 and 3, respectively, then the first aggregate ranking score of the player is 2+3, which equals 5. First and second rankings are similarly obtained and summed up for each player who plays the first and the second games. Thus, a second player may have first and second rankings as 1 and 1, respectively, so the second player's aggregate ranking score would be 1+1, which equals 2. Accordingly, the third aggregate ranking score for a third player may be 7 (as an example, based on the sum of rankings as described above). Finally, in some embodiments, a universal ranking list is generated wherein all players are listed along with their aggregate scores. In some embodiments, the universal ranking list may be presented in a sorted fashion, such as by player handle name, an ascending order, or a descending order. If presented in ascending order, in the example above, the player with the second aggregate ranking score (2) will be on top, followed by the player with the first aggregate ranking score (5) and finally, followed by the player with the third aggregate ranking score (7). The universal ranking list indicates that the player with the second aggregate ranking score is the highest ranking player in the genre. In some embodiments, a universal ranking of, say, 1 is formally associated with the player of the second aggregate ranking score, a universal ranking of 2is associated with the player of the first aggregate ranking score and a universal ranking of 3 is associated with the player of the third aggregate ranking score.

In one embodiment, after normalization, the aggregation module presents or publishes the unified results to the user by means of one or more GUIs (Graphical User Interface). In one embodiment, the GUIs for presenting the aggregated results are integrated with the GUI(s) of one or all of the games being played, for which the results are aggregated. In another embodiment, the aggregation module GUI is associated with a third party (outside of the games) website or application, from where users can access their unified data. In one embodiment, the third party app or website allows a user to create a profile and a login, such that each user may access their individual and unified game results across all the games they play. The GUI accesses updated or most current game data from the aggregation module and presents or displays the accessed data to the user.

In one embodiment, the system100further comprises a publication module (not shown) in data communication with the video game content aggregation module, wherein the publication module is configured to format and transmit the normalized video game content and data to a plurality of electronic addresses. That is, the publication module is responsible for converting the normalized data into suitable formats to be delivered by means of GUIs to various user devices.

As known to persons of ordinary skill in the art, there are several websites that track user results and statistics across several games. Examples of such game tracking websites include Codtracker.net, Destinytracker.com, Battlefieldtracker.com and Gametracker.com. However, the data displayed by these tracker sites is specific to a game. For example, in FPS games, the tracker sites would display rankings individually for games such as Call of Duty, Quake Live, or Battlefield Hardline. In contrast however, the present system collects distinct types of data from a game system and then normalizes the data to a set of standards that are specific to that game or genre of games to create an adjusted and weighted figure to normalize across multiple games. Thus, the present system would display an overall, normalized ranking that takes into account players' performance in all the FPS games played by them, which may include one or more of Call of Duty, Quake Live, Battlefield Hardline, or other games in the same genre.

FIG. 2illustrates an exemplary GUI screen that displays aggregated results to a user. Referring toFIG. 2, GUI screen200shows a list of player or user names201and each user's corresponding scores in three games—Game A202, Game B203and Game C204. Alongside, the GUI screen also shows the ‘overall rank’205, which is the unified, normalized rank produced by the aggregation module of the present system. The GUI screen200further displays an ‘overall level’206for each user, which is a normalized value for levels achieved by the user in the three games.

FIG. 3is a flowchart illustrating the present method of aggregating and normalizing data across different games, to achieve unified data values. Referring toFIG. 3, in the first step301the aggregation module running on one of the game servers or another device in the gaming system, accesses the game module and the master leaderboard module of one or more games played by a user. In one embodiment, the access is secure and based on a suitable access security protocol, such as but not limited to public/private key authentication. In the next step302, the aggregation module obtains relevant game data and leaderboard data. In embodiments, game and leaderboard data is obtained via game system APIs or the data may be scraped from websites of developers of the one or more games. In accordance with aspects of the present specification, as described above, a plurality of game data is communicated from the game module and leaderboard module to the aggregation module. In one embodiment, the data obtained by the aggregation module also includes information such as user ID, console or device ID on which the game was played, device OS details, game version, gameplay or match duration and timestamp, and the detailed statistics generated from the game play. In one embodiment, data provided to the aggregation module from the game module and master leaderboard module is encrypted, such that it can be decrypted only by the aggregation module. Exemplary algorithms that may be used to encrypt and/or sign information payloads before transmission from the leaderboard module or game module to the aggregation module include JOSE JWS Signing (HMAC using SHA-256 hash algorithm) and Public Key Encryption. It may be noted that any encryption methods known in the art may be employed for the purpose, so long as they serve the purpose of securing the data such that it cannot be tampered with and only accessed by an authorized aggregation module. In the next step,303, the aggregation module normalizes data for all games played by a user using any of the methods for normalization described above. Preferably, the normalization process is performed for all games belonging to the same genre, that is, game data and results are grouped together genre-wise. Finally, in step304, the aggregation module generates a common or unified ranking for all the games of one genre played by a user and transmits data indicative of the common or unified ranking to one or more user interfaces. In one embodiment, different common or unified rankings are generated for different genres of games played by a user, such genres including, but not limited to, squad-based FPS, FPS (First Person Shooter), TPS (Third Person Shooter), fighting games, real-time strategy games, platform games, survival games, RPG (Role-Playing Game), rhythm games, individual sports games, racing games, and tower defense games.

Ranking of Players

As described above, the present method and system allows ranking a player based on multiple games. Thus, for example, for a user who plays several first person shooter (FPS games), the present system generates an aggregate universal ranking reflecting the player's performance in all of the FPS games played by that player. The overall ranking not only helps users identify their strengths and compare themselves against other players, but also assists the gaming system in matching players of similar ranks or strengths, when users compete against each other in online multiplayer games or in e-sports competitions.

The present system of generating an overall ranking for a player on a genre-by-genre basis is also useful when a player starts playing a new game. For example, if a user downloads a new kind of card game, the gaming system associated with that new card game does not have data indicative of how that person will play in that particular game. However, if an overall ranking for the card games already played or being played by the user is available, the game system corresponding to the new game can import the player's overall ranking in card games and, based on the player's performance in games already played, can put the player at a suitable level to start the game and not necessarily at the beginner level. In this manner, the player does not have to build up performance data from scratch to be placed at an appropriate skill level in a game.

In embodiments, the publication module formats and displays normalized video game content and performance data as webpages on a website. In some embodiments, the data on the website is accessible for free (without charge) while in other embodiments, the data is accessible for a fee. In some embodiments, a third party game system may include functionality that enables a user to input her user-name or identification information and a URL or pointer to the website. Based on the input, the third party game system may access the user's normalized data from the website. In some embodiments, the website may issue a digital certificate to the user, comprising at least user identification information and a pointer to the website's back-end database system. The digital certificate may be issued either at no charge or for a fee. In some embodiments, the third party game system may enable the user to input their digital certificate, based on which the third party game system may access the user's normalized data. In other embodiments, the third party game system may automatically scrape the website for the user's data.

In embodiments, a player's performance or game play data is accessed from the game servers105,106(FIG. 1), game system APIs of third party card games that allow such data to be accessed, and/or by scraping websites of developers or public blockchain records. The system of the present specification scans websites and/or public blockchain records for specific phrases and data sets, copies the data and imports or enters the data into the database systems of the present specification.

In some embodiments, where a player's performance or game play data for a particular new game, such as the card game, is not available from internal and/or external sources the system of the present specification may scan internal data (that is, data present on servers105,106of the system100) for the player's relevant performance data in other games within the genre of the card game or within related genre(s). In some embodiments, the internal data may comprise data that is modified using correlation between genres. Thus, the degree of similarity between genres may be employed to gather internal data related to a player's performance. For example, a trading card game may correlate more closely with a strategy game than with a fighting game. Similarly, a sports game may correlate more closely with each other (unrelated sports), multi-player online battle arena games (MOBAs), and fighting games. In addition, games within the vehicle simulation genre may also correlate more closely with one another than they do with FPS games, for example. Next, the system may scan external data (that is, data accessed via game system APIs of third party card games, or by scraping websites of developers or public blockchain records) for the player's performance within the genre of the card game or within related genre(s). Thereafter, the system normalizes the data to generate the player's prediction score (that is, the score that predicts the player's estimated level of performance for the card game, for example). The prediction score is converted to a corresponding Elo ranking/level for the card game (the new game). The system may match the player with other players at that Elo ranking/level.

The method of implementation of the above embodiment is illustrated by means of a flowchart inFIG. 5. Referring toFIG. 5, in the first step501, a user downloads a new game and is registered with the gaming system associated with the new game. In the next step502, the gaming system checks if it has data related to the user's game play. If data for that user is available with the gaming system, it proceeds in accordance with the rules of the game, as shown in step503. If however, the gaming system has no data associated with the user available, the server of the gaming system communicates with the aggregation module of the present specification to check if any game play data for that user is available. This is shown in step504. If the desired data is available, the game server imports data from the aggregation module, as shown in step505. The imported data may include game play performance statistics and overall ranking of the user with respect to other games of the same genre. The game system then proceeds in accordance with the rules of the game, and may optionally allow the user to start playing the new game at a game level in line with the user's overall ranking. This is shown in step506.

To facilitate communication of various game servers with the aggregation module, in one embodiment the aggregation module is equipped with a system call interface which intercepts function calls coming in from various game servers and invokes the necessary system call within the aggregation module to allow a game server to access the required data. In another embodiment, video game servers may make use of interface call modules (described earlier in the specification) to communicate with the aggregation module. In one embodiment, the call interface is available only to authorized gaming systems. In one embodiment, only gaming systems or servers which subscribe to the present system of data aggregation and generation of unified rankings are authorized to access data from the aggregation module via interface call mechanisms. In one embodiment, data is supplied by the aggregator module to the game servers requesting the data, for a charge or payment.

In one embodiment, the overall ranking generated may be used to predict how a player will perform in a yet unknown game. In one aspect of the present specification, the present system automatically interfaces with game system APIs to extract relevant data and produce a new updated ranking for a player, which is applicable to a plurality of games played by the same player. In one embodiment, the present system employs suitable data scraping techniques, which enable the aggregation module to extract data from game system modules.

In one embodiment, the game and match results obtained by the aggregation module are stored using a decentralized and distributed method and system, such as a blockchain. As known in the art, a blockchain is a continuously growing list of records, called blocks, which are linked and secured using cryptography. Each block typically contains a hash pointer as a link to a previous block, a timestamp and transaction data. By design, blockchains are inherently resistant to modification of the data. A blockchain is typically managed by a peer-to-peer network collectively adhering to a protocol for validating new blocks. Once recorded, the data in any given block cannot be altered retroactively without the alteration of all subsequent blocks, which needs a collusion of the network majority. Since blockchains are secure by design and based on a distributed computing system, it is suitable for storing match and game data for a large number of players who play a variety of games. In one embodiment, the system of the present specification applies data scraping techniques to blockchain storage, to extract game data for processing and normalization.

It may be appreciated that the system and method of present specification may have several applications for video game makers and organizers of competitive video gaming events or e-sports events. In one application, the present system may be used as an effective means to scout general talent in a given genre of sports. For example, if a live competitive gaming event for an FPS game, such as ‘Call of Duty’ is being organized, the organizers may invite players having top overall rankings in the FPS games category to participate in the event. The overall ranking is based on aggregated play results of all the games played by a player, and may be obtained from the user interface or GUI associated with the present system, as described earlier in the specification.

In another application, the overall ranking generated by the present system may be used to match players for playing matches in online multiplayer games, or in live video gaming competitions. This would avoid players with vastly varying skill, expertise or experience to be pitched together for matches.FIG. 6is a flowchart illustrating an exemplary method of implementing player matching in an embodiment of the system of the present specification. Referring toFIG. 6, in the first step601, the aggregation module running on one of the game servers or another device within the gaming system, accesses the game module and the master leaderboard module of one or more games played by a user. In the next step602, the aggregation module obtains relevant game data and leaderboard data. In accordance with aspects of the present specification, the obtained data includes detailed statistics generated from the game play. In the next step,603, the aggregation module normalizes data for all games played by a user using any of the methods for normalization described above. Preferably, the normalization process is performed for all games belonging to the same genre, that is, game data and results are grouped together genre-wise. In step604, the aggregation module generates a common or unified ranking for all the games of one genre played by a user and transmits data indicative of the common or unified ranking to one or more user interfaces. In one embodiment, different common or unified rankings are generated for different genres of games played by a user. In the next step605, unified ranking data is obtained by the game server of the gaming system, which desires to make use of the data to match players for playing matches. The system comprises a matchmaker module, wherein the matchmaker module is configured to obtain the unified ranking data from the aggregation module by means of interface call mechanisms, as explained above. In the next step606, the matchmaker module uses the overall ranking of players to match players of similar ranking for playing matches of the game. Alternatively, in another embodiment (not shown), the aggregation module itself produces player matches for each game based on the players' unified overall ranking in that game or genre of games. A gaming system then simply obtains this player matching data from the aggregation module. In yet another embodiment, video game makers may use the data and results generated by the present system for skill-based marketing or targeted advertising. For example, if a player who plays FPS games has a certain rank or level, certain advertisements for other games of the same or related genre which require a similar level of skill for playing may be pushed to that player. The advertisements may be delivered in-game when the user is playing a game, or online via some other website or app. Similarly, advertisements for merchandise related to games in which a user is doing well and/or has been playing for a certain length of time may be shown to the user. As another example, data regarding rank or level of users in certain categories of games may be used to select users for targeted marketing of virtual objects associated with one or more games, such as tools, weapons, assets, reward packs, accessories, items and supplies, which the user may purchase to achieve better performance and higher levels in one or more games.

FIG. 9is a flowchart illustrating a method for generating recommendations for a new game to a player, based on that player's universal ranking or expertise level, in accordance with an embodiment of the present specification. At step905, the recommendation module accesses normalized video game content and/or data and, at step910, obtains (from the aggregation module) a universal ranking of a player in a genre. At step915, the recommendation module generates a recommendation for a new game for the player based on that player's universal ranking. In some embodiments, the new game may be from the same genre for which the universal ranking has been received from the aggregation module. In some embodiments, the new game may be from a different genre which is similar to or correlated with the genre for which the universal ranking has been received from the aggregation module. Finally, at step920, the recommendation module displays or presents, to the player, the recommendation of the new game on a GUI.

Valuation of Items and Virtual Trading

In another embodiment, the method and system of the present specification may be used to implement a virtual trading system between different games. A virtual trading system would allow for trading of virtual objects associated with one or more games, between players in different games. Thus for example if Player A and Player B both play the games “Call of Duty” and “Destiny”, then Player A may be able to exchange one of their “Call of Duty” weapons with one of Player B's items from Destiny. Virtual objects or items available for trade between users across different games may include tools, weapons, assets, reward packs, supplies, accessories and any other items associated with the corresponding games. For example, virtual items may include hand-held weapons such as, but not limited to, handguns, shotguns, assault rifles, sniper rifles, launchers, light machine guns, grenades, axes, knives, and bombs; defensive items such as, but not limited to armor and shields; attachments such as, but not limited to, sights, scopes, scanners and variable zooms; vehicles such as, but not limited to helicopters, airplanes, ground-vehicles and drones; emplaced weapons; additional characters, team members, squad members, or reinforcements; gadgets such as, but not limited to, optical camouflage, ammunition, binoculars, and sensors; equipment such as, but not limited to, uniforms, exoskeleton and medical kits. It should be appreciated that the type of virtual items will depend upon the genre of the game and therefore the above list of virtual items is only exemplary and in no way limiting.

To facilitate trade between virtual items across different games, in one embodiment, the aggregation module of the present system (as shown and explained with reference toFIG. 1) obtains data related to virtual objects and items associated with various games, and normalizes the data to achieve a unified score, or value, for an item or a category of items. This is used to ensure fair trade, such that only items of similar score or ranking may be traded. It further serves to educate users on what an objective value for their item, relative to other items in other games for which they may not be familiar, would be, thereby facilitating trade.

In one embodiment, the valuation of items is based on a plurality of factors, such as an item's rarity—that is, whether the item is common, rare, exotic, epic, or legendary; the percentage of users who have the item; the cost of purchasing the item using virtual game currency or other in-game objects; the level at which the item is available for purchase or as a reward; whether the item is achieved only as a reward after winning a certain number of matches; and any other factors in line with the rules and environment of the games under consideration.

FIG. 4is a flowchart illustrating the method of aggregating and normalizing data across different games, to achieve a unified score or ranking for various items associated with the games. Referring toFIG. 4in conjunction withFIG. 1, in the first step401the aggregation module135running on one of the game servers or another device in the gaming system, accesses the game module of one or more games played by a user. In one embodiment, the access is secure and based on a suitable access security protocol, such as public/private key authentication. In the next step402, the aggregation module obtains relevant game data pertaining to the virtual items associated with the game environment that can be traded. Preferably, the data obtained by the aggregation module also includes information such as user ID, console or device ID on which the game was played, device OS details, game version, gameplay or match duration and timestamp, and the detailed statistics generated from the game play. In one embodiment, data provided to the aggregation module from the game module is encrypted, such that it can be decrypted only by the aggregation module. Exemplary algorithms that may be used to encrypt and/or sign information payloads before transmission from the leaderboard module or game module to the aggregation module include JOSE JWS Signing (HMAC using SHA-256 hash algorithm) and Public Key Encryption. It may be noted that any encryption methods known in the art may be employed for the purpose, so long as they serve the purpose of securing the data such that it cannot be tampered with.

In the next step,403, the aggregation module normalizes item data obtained for all the games using any of the methods for normalization described above. In one embodiment, the normalization process is performed for all the items belonging to the same genre or category. That is, item data are grouped together category-wise, or genre-wise, before normalization. The categories may be based on item rarity, percentage of users having the item, and other factors as described previously. The process of normalization involves adjusting values measured on different scales to a notionally common scale. The normalization process applied by the aggregation module in the present specification allows virtual items from one game to be fairly compared with virtual items from another game.

Finally, in step404, the aggregation module generates a score for each item and/or category of items, such that different items across different games may be fairly compared and traded. It may be understood that the generated score reflects the value of each item, which in turn is based on a plurality of factors, some of which have been delineated above—such as an item's rarity, cost of the item in terms of virtual game currency or other in-game objects, level at which the item is available, reward value of item, and any other factors in line with the rules and environment of the games under consideration.

By way of example, in an embodiment, item data is categorized based on factors such as, but not limited to, percentage of users having the item, item rarity, power level, damage per second (DPS) associated with the item, micro-transaction (MTX) cost associated with the item, cost of the item in terms of virtual game currency or other in-game objects, level at which the item is available and reward value of the item. Thereafter, the item is given a score, for each relevant factor, on a common scale such as a scale of 1 to 10. In some embodiments, the scores attributed to certain factors such as, for example, rarity level and the in-game currency cost are given higher weights compared to the scores of other factors. Finally, a weighted average of the scores across all relevant factors is calculated to assign or determine a unified trade value or score of the item.

In one embodiment, after normalization, the unified item scores are presented to the user by means of one or more GUIs (Graphical User Interface). In one embodiment, the GUIs for presenting the normalized item scores are integrated with the GUI(s) of one or all of the games being played, for which the item data is aggregated and normalized. In one embodiment, the same GUI is also used to trade items with other users. In another embodiment, the GUI is associated with a third party (outside of the games) website or application, from where users can access unified game-wise item scores and trade items. In one embodiment, the third party app or website allows a user to create a profile and a login, such that each user may access scores for all the items they possess, across all the games they play. The GUI accesses updated or most current game data from the aggregation module and presents or displays the accessed data to the user. Thus, in one embodiment, the GUI acts as a “universal vault” or cross game inventory, from where users can see the value or score associated with their game items, across all the games they play.

As mentioned above, the same GUI may be used to view items scores, as well as to trade items. The trade may be facilitated through in-game software in one embodiment, or via an external app, console lobby software, or website. In one embodiment, the trading experience is presented by the GUI to a user in such a manner that it appears that the users are trading directly. However, the accounting and corresponding addition or deletion of items to a game environment following a trade is done on the back end or game server. For example, the GUI may enable a first player to input an offer exchange of a first item in lieu of a second item. The offer of the first player along with his identification/username may either be displayed or broadcasted on the GUI for visualization by all other users and/or the first player may specifically communicate his offer to a second player that is likely to be in possession of the second item. If a player, such as the second player, accepts the first player's offer the back-end system deletes the first item from an account of the first player and adds the first item to the second player's account. Simultaneously, the system deletes the second item from the second player's account and adds the second item to the account of the first player.

FIGS. 7A and 7Bare exemplary GUIs showing and enabling trading of normalized virtual items, in accordance with an embodiment of the present specification.FIG. 7Ashows GUI705of a first user who wishes to offer a first item710in exchange for a second item715. The GUI705presents the first user with the first and second items710,715along with a third item720. In an embodiment, items710,715and720are normalized items (items that have been normalized such that they are considered of equal trading value) and eligible for trade with one another. Accordingly, the first user's trade offer is generated in screen area707. In some embodiments, if the first user clicks button725, the trade offer is broadcasted automatically to at least one second user in possession of the second item715. In some embodiments, the first user may specifically choose one or more users to whom the first user would like to send the trade offer.FIG. 7Bshows GUI730of the second user who receives the trade offer in his screen area735. The GUI730also presents the first and second items710,715that are part of the trade offer. On clicking button740, the second user may accept the trade offer. Conversely, the second user may decline the offer by clicking another button or simply ignore the offer. Based on the second user's acceptance of the offer, the back-end system deletes the first item from the first user's account and adds it to the second user's account. Simultaneously, the second item is deleted from the second user's account and added to the first user's account.

In one embodiment, the cross-game virtual trading system of the present specification allows players to convert their items in one game into some value in the next game they plan to play. For example, if Player A plans to start playing a game “Destiny 2”, he or she can trade virtual items from the current game they are playing for items relevant to Destiny 2. This would give the player an initial advantage when they start playing Destiny 2, as they will have to play less number of matches (or no matches) to obtain the same game items, compared to another player who starts playing Destiny 2 from scratch. This would further help Player A achieve match targets and game levels more quickly.

In one embodiment, the video game company may charge a transactional fee for trading items between games. This charge may be facilitated through the game GUI in the same manner as in-game purchases are made. In one embodiment, trading GUI is merged with the in-game GUI. In another embodiment, the game GUI communicates with the trading GUI, the latter being a separate entity and/or hosted via a separate app, website or server.

In one embodiment, the game GUI in conjunction with the trading GUI provides proactive notifications to the user on their device to facilitate item trade. For example, if a user has collected multiple items of same category—such as weapons of a given rarity, the game GUI may prompt the user to trade some of those items. In one embodiment, the trading GUI provides notifications and updates regarding scores of the items acquired in game by a user from time to time. In one embodiment, the GUI notifications also suggest trade options or deals for trading the items in possession of a user. For example, the GUI may suggest that a user trade an item they have not used in a long time. The GUI may also suggest an item to acquire based on the current playing level of the user in a game, and may provide notifications if items of interest are available for trade by other users.

In another embodiment, the game or trading GUI enables a user to trade their items at even value, when the user wants to quit a first game (game A) and start playing another game (game B). In this case, the GUI may allow the user to give up their items in game A for items of corresponding value of game B.

In one embodiment, the GUI facilitates the purchase of an item that a user is in search of, by matching with users who have that item and want to trade it for some other item. In one embodiment, the cross-game virtual trading system of the present specification allows two users to directly connect with each other and agree on trading items. In one embodiment, the GUI of the system is also integrated with a chat or messaging interface that allows users to communicate with each other. In another embodiment, or the cross game virtual trading system of the present specification functions as a marketplace, where a user wishing to trade an item or a user wishing to acquire an item can enlist their requirement. The system then matches users based on supply and demand of items for trade and allows them to communicate with each other.FIG. 8is a screenshot of an exemplary cross-game virtual trading marketplace800, in accordance with an embodiment. As shown a listing805provides a plurality of users810along with their respective demand virtual items815(items required by the users) as well as supply virtual items820(items available for exchange or supply from the users). In the present embodiment, the back-end system automatically identifies and matches users based on supply and demand of items. For example, a demand of user6for item825is matched with a supply of the item825from user2. Similarly, a demand of user7for item830is matched with a supply of the item830from user5.

FIG. 10is a flowchart illustrating a method of generating recommendations for trading a virtual item, based on a unified value of another virtual item owned by a player, in accordance with an embodiment of the present specification. At step1005, the recommendation module accesses normalized video game content and/or data and, at step1010, obtains (from the aggregation module) a unified or uniform item value of a first virtual item possessed by a player corresponding to a game in a genre. At step1015, the recommendation module generates a recommendation of a second virtual item, based on the unified item value of the first virtual item, for potential trading with the first virtual item. In some embodiments, the first and second virtual items are associated with one or more video games in which the player is already registered as a player. In some embodiments, the second virtual item is associated with a new video game that the player does not have or currently is not registered with for play. In some embodiments, the new video game is of the same genre as that of the game corresponding to the first virtual item. In some embodiments, the new video game is of a genre different from that of (yet similar to or correlated with) the game corresponding to the first virtual item. Finally, at step1020, the recommendation module displays, to the player, the recommendation of the potential trade offer involving the first and second virtual items, on a GUI.

The above examples are merely illustrative of the many applications of the system and method of present specification. Although only a few embodiments of the present specification have been described herein, it should be understood that the present specification might be embodied in many other specific forms without departing from the spirit or scope of the specification. Therefore, the present examples and embodiments are to be considered as illustrative and not restrictive, and the specification may be modified within the scope of the appended claims.

Claims

  1. A video game content aggregation, normalization, and publication system for aggregating, normalizing, and publishing data acquired by, and stored within, a plurality of distributed video game servers, wherein each of said plurality of distributed video game servers is configured to host and manage a video game of a plurality of programmatically separate video games and wherein each of said plurality of distributed video game servers is in data communication with remotely located client devices configured to execute an instance of a video game of the plurality of programmatically separate video games, the system comprising: a programmable clock configured to generate a time-based trigger;one or more game server interface call modules, wherein the one or more game server interface call modules are in data communication with the programmable clock, are configured to generate and transmit interface calls to one or more game servers of the plurality of distributed video game servers based upon said time-based trigger, and are configured to receive game server data from the one or more game servers of the plurality of distributed video game servers based upon said interface calls;a database in data communication with the one or more game server interface call modules, wherein the database is configured to receive and store the game server data;a video game content aggregation module in data communication with the database, wherein the video game content aggregation module is configured to acquire game server data from the database, determine a type of game associated with the game server data, determine a normalization process to be applied to the game server data based upon the type of game associated with the game server data and to apply the determined normalization process to a portion of the game server data to generate normalized video game content;and a publication module in data communication with the video game content aggregation module, wherein the publication module is configured to format and transmit the normalized video game content to a plurality of electronic addresses.
  1. The video game content aggregation, normalization, and publication system of claim 1 wherein each of the plurality of programmatically separate video games belongs to the same genre.
  2. The video game content aggregation, normalization, and publication system of claim 1 wherein the normalization process comprises determining a weighted average of scores generated by players of the plurality of programmatically separate video games.
  3. The video game content aggregation, normalization, and publication system of claim 1 wherein the normalized video game content comprises a ranking of players of the plurality of programmatically separate video games.
  4. The video game content aggregation, normalization, and publication system of claim 4 further comprising a matchmaker module, wherein the matchmaker module is configured to match a first player and a second player for a future game and wherein the match is based on the normalized video game content comprising the ranking of players.
  5. The video game content aggregation, normalization, and publication system of claim 1 further comprising a recommendation module, wherein the recommendation module is configured to recommend a new game to a player based on the normalized video game content and wherein the normalized video game content is indicative of an expertise level of the player.
  6. A method for aggregating and normalizing data across a plurality of different video games to achieve uniform data values, wherein each of said plurality of different video games is executed by at least one game server and rendered on a plurality of client devices and configured to played by users of said plurality of client devices and wherein said at least one game server is in communication with a database that stores game data, the method comprising: accessing said at least one game server to obtain game data for each of said plurality of different video games, wherein the game data comprises information pertaining to gameplay;determining a type of game associated with the game data, determining a normalization process to be applied to the game data based upon the type of game associated with the game data;apply the determined normalization process to normalize the game data across all the plurality of different video games played by a single user;and generating a unified ranking for said user, wherein said unified ranking is indicative of the single user's aggregated performance in gameplay sessions played across all the plurality of different video games.
  7. The method of claim 7 , wherein said method is executed by an aggregation module comprising a plurality of programmatic instructions, wherein the aggregation module is executed by server device comprising a processor and a non-transient memory and wherein said aggregation module accesses the game data stored in a database associated with said at least one game server.
  8. The method of claim 7 wherein each of the plurality of different video games belong to the same genre.
  9. The method of claim 7 wherein normalizing the game data comprises determining a weighted average of scores generated by users of the plurality of different video games.
  10. The method of claim 7 further comprising normalizing the game data across all the plurality of different video games played by all users and generating a unified ranking for all users, wherein said unified ranking is indicative of all users' aggregated performances in gameplay sessions played across all the plurality of different video games.
  11. The method of claim 11 further comprising using a matchmaker module, wherein the matchmaker module is configured to match a first player and a second player for a future game and wherein the match is based on the unified ranking for all users.
  12. The method of claim 7 further comprising using a recommendation module to recommend a new game to the single user based on the unified ranking.
  13. A non-transitory computer program product for aggregating, normalizing, and publishing data acquired by, and stored within, a plurality of distributed video game servers, wherein each of said plurality of distributed video game servers is configured to host and manage a video game of a plurality of programmatically separate video games and wherein each of said plurality of distributed video game servers is in data communication with remotely located client devices configured to execute an instance of a video game of the plurality of programmatically separate video games, the product comprising: a programmable clock configured to generate a time-based trigger;one or more game server interface call modules, wherein the one or more game server interface call modules are in data communication with the programmable clock, are configured to generate and transmit interface calls to one or more game servers of the plurality of distributed video game servers based upon said time-based trigger, and are configured to receive game server data from the one or more game servers of the plurality of distributed video game servers based upon said interface calls;a database in data communication with the one or more game server interface call modules, wherein the database is configured to receive and store the game server data;a video game content aggregation module in data communication with the database, wherein the video game content aggregation module is configured to acquire game server data from the database, determine a type of game associated with the game server data, determine a normalization process to be applied to the game server data based upon the type of game associated with the game server data and to apply the determined normalization process to a portion of the game server data to generate normalized video game content;and a publication module in data communication with the video game content aggregation module, wherein the publication module is configured to format and transmit the normalized video game content to a plurality of electronic addresses.
  14. The non-transitory computer program product of claim 14 wherein each of the plurality of programmatically separate video games belongs to the same genre.
  15. The non-transitory computer program product of claim 14 wherein the normalization process comprises determining a weighted average of scores generated by players of the plurality of programmatically separate video games.
  16. The non-transitory computer program product of claim 14 wherein the normalized video game content comprises a ranking of players of the plurality of programmatically separate video games.
  17. The non-transitory computer program product of claim 17 further comprising a matchmaker module, wherein the matchmaker module is configured to match a first player and a second player for a future game and wherein the match is based on the normalized video game content comprising the ranking of players.
  18. The non-transitory computer program product of claim 14 further comprising a recommendation module, wherein the recommendation module is configured to recommend a new game to a player based on the normalized video game content and wherein the normalized video game content is indicative of an expertise level of the player.
  19. The video game content aggregation, normalization, and publication system of claim 1 , further comprising a module configured to acquire game data from data displayed on one or more websites, wherein the database is further configured to receive and store the game data with the game server data and wherein the video game content aggregation module is further configured to acquire game data from the database, to determine a normalization process to be applied to the game data, and to apply the determined normalization process to the game data to generate the normalized video game content.
  20. The method for aggregating and normalizing data of claim 7 , further comprising accessing website game data from data displayed on one or more websites, determining a normalization process to be applied to the website game data, and applying the determined normalization process to normalize the website game data across all the plurality of different video games played by a single user.
  21. The non-transitory computer program product of claim 14 , further comprising a module configured to acquire game data from data displayed on one or more websites, wherein the database is further configured to receive and store the game data with the game server data and wherein the video game content aggregation module is further configured to acquire game data from the database, to determine a normalization process to be applied to the game data, and to apply the determined normalization process to the game data to generate the normalized video game content.

Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.