U.S. Pat. No. 9,616,345

SYSTEMS AND METHODS FOR CROWD-SOURCED GAME STRATEGY

AssigneeElectronic Arts Inc.

Issue DateJuly 1, 2014

Patent Arcade analysis Read the full post

U.S. Patent No. 9,616,345: Systems and methods for crowd-sourced game strategy

U.S. Patent No. 9,616,345: Systems and methods for crowd-sourced game strategy

Issued April 11, 2017, to Electronic Arts Inc.
Priority Date July 1, 2014

Summary:
Playing EA’s Madden can be daunting because of the number of systems and strategies concurrently happening, especially for a person who does not understand American Football. The playcall selection menu can very be confusing to a novice who may not understand the differences between a running play and a passing play. To help the player, Madden will provide suggested playcalls based on the situation, but early incarnations of the suggestion system were all based on pre-programmed suggestions. The game had no way of learning a players habits or adjusting the suggestion based on the opponent. U.S. Patent No.9,616,345 addresses this problem by creating a system and method to collect game play strategy data from online matches and use the data to adjust suggestions accordingly. Now, Madden will provide you suggestions not only based off your previous calls but also what you did in your previous matches as well as how other players handled similar situations. The game will even show you the number of times you have called a play and your success rate. The patent also suggests that this data could be used to alter AI player strategy, but the primary focus of the patent is on playcall suggestions.

Abstract:
Various embodiments provide systems and methods that collect data regarding game strategy decisions by human players during video game, and utilize the collected data to either adjust or replace behaviors of computer players and/or suggest game strategies to human players during video game sessions. The game strategy decisions may be harvested from human-vs-human and human-vs-computer video game sessions. The data may be harvested from online-connected video game sessions, which may be hosted over an online video game network. Depending on the embodiment, the harvested data can include information regarding game strategies used by players during the video game sessions, the game contexts in which the game strategies were respectively used, and the results achieved by the respective use of the game strategies. Systems and methods described herein may facilitate a computer player having behavior that is (at least partially) “crowd-sourced” based on game strategies used by online-connected video game sessions.

Illustrative Claim:
1. A method comprising: as implemented by a processor configured with computer-executable instructions, receiving first data from a first client device, the first data regarding a first game strategy used, by a first game player, in a first game context of a first video game session between the first game player and at least a second game player, the first video game session executing within a video game, the first game strategy being a playcall; updating a game strategy dataset based on the first data, the first data at least including an identity of the first game strategy and an association between the first game context and the first game strategy, the game strategy dataset including a set of one or more previous playcalls used in a set of one or more previous game contexts; receiving gameplay data from a second client device during a second gameplay session, the gameplay data identifying a second game context of the second video game session, the second video game session being between a third player and a fourth player; identifying in the game strategy dataset a set of one or more relevant game strategies based, at least in part, on the second game context during the second video game session, wherein individual game strategies are playcalls available for use within the second video game session; and transmitting to the second client device second data regarding the set of one or more relevant game strategies, the second client device being configured to use the second data to identify at least one suggested game strategy of the set of one or more relevant game strategies for use in the second game context of the second video game session, and generate instructions to output the at least one suggested game strategy within a video game user interface during the second video game session.

Illustrative Figure

Abstract

Various embodiments provide systems and methods that collect data regarding game strategy decisions by human players during video game, and utilize the collected data to either adjust or replace behaviors of computer players and/or suggest game strategies to human players during video game sessions. The game strategy decisions may be harvested from human-vs-human and human-vs-computer video game sessions. The data may be harvested from online-connected video game sessions, which may be hosted over an online video game network. Depending on the embodiment, the harvested data can include information regarding game strategies used by players during the video game sessions, the game contexts in which the game strategies were respectively used, and the results achieved by the respective use of the game strategies. Systems and methods described herein may facilitate a computer player having behavior that is (at least partially) “crowd-sourced” based on game strategies used by online-connected video game sessions.

Description

DETAILED DESCRIPTION OF EMBODIMENTS Various embodiments provide for systems and methods that provide “crowd informed”/“crowd-sourced” game strategy suggestions to human video game players (hereafter, also referred to as “human players”) or computer video game players (hereafter, also referred to as “computer players” or “AI players”) participating in a video game session. As used herein, “game strategy” will be understood to include any form of strategy utilized in a video game, and may differ between different video game titles or video game types. Additionally, as used herein, a video game session will be understood to involve a video game (e.g., a specific video game title) and a human player playing against at least one other human player, against at least one computer player, or both. Systems and methods described herein may be implemented with respect to a sports video game, such as soccer, (American) football, baseball, hockey, tennis, or golf, and may be further implemented with respect to a non-sports video game, such as a role-playing game (RPG) (e.g., MMORPG), a real-time strategy (RTS) game, a simulation, a first person shooter (FPS) game, or an adventure game. The video game may be, in whole or in part, a turn-based game in which players take turns reviewing and then selecting from a set of available game strategies to execute during gameplay. As an example, systems and methods may be implemented with a football video game in which a human player has an opportunity to select an offensive/defensive play (e.g., between hikes) and control a player on the field after a game strategy is selected. Such systems or methods may provide one or more playcall suggestions to a human player when the human player is provided with an opportunity to select a playcall for use during a video game session. Additionally, such systems ...

DETAILED DESCRIPTION OF EMBODIMENTS

Various embodiments provide for systems and methods that provide “crowd informed”/“crowd-sourced” game strategy suggestions to human video game players (hereafter, also referred to as “human players”) or computer video game players (hereafter, also referred to as “computer players” or “AI players”) participating in a video game session. As used herein, “game strategy” will be understood to include any form of strategy utilized in a video game, and may differ between different video game titles or video game types. Additionally, as used herein, a video game session will be understood to involve a video game (e.g., a specific video game title) and a human player playing against at least one other human player, against at least one computer player, or both. Systems and methods described herein may be implemented with respect to a sports video game, such as soccer, (American) football, baseball, hockey, tennis, or golf, and may be further implemented with respect to a non-sports video game, such as a role-playing game (RPG) (e.g., MMORPG), a real-time strategy (RTS) game, a simulation, a first person shooter (FPS) game, or an adventure game. The video game may be, in whole or in part, a turn-based game in which players take turns reviewing and then selecting from a set of available game strategies to execute during gameplay.

As an example, systems and methods may be implemented with a football video game in which a human player has an opportunity to select an offensive/defensive play (e.g., between hikes) and control a player on the field after a game strategy is selected. Such systems or methods may provide one or more playcall suggestions to a human player when the human player is provided with an opportunity to select a playcall for use during a video game session. Additionally, such systems or methods may provide one or more playcall suggestions to a computer player configured to automatically select and utilize one or more playcalls from the playcall suggestions during a video game session. The play call suggestion may include, for example, an effective defensive play for a specified offensive group (e.g., 1RB-1TE-3WR) or an effective offensive play for a specific game situation (e.g., 9 minutes remaining in 4th quarter and the offense is 3rd and long).

In some embodiments, systems or methods generate game strategy suggestions using game context information provided through (human or computer) player telemetry data generated by a video game. Such telemetry data can include game context information regarding game situations and gameplay by players in particular game contexts. For a video game session (involving a specific video game), the telemetry data can describe the current game context experienced by the two or more players participating in the video game session, and can further describe one or more game strategies utilized by the players in the game context. For instance, for the current game context in a football video game, the telemetry data can describe the current game situation, which may include the current down, distance to go (for a completion), current absolute yard line, the identity of an offensive play utilized, identify of a defensive play utilized, results of an offensive or defensive play utilized (e.g., net yards gained by an offensive play utilized), and the like. Using the telemetry data and the like as sources for game context information, systems and methods can sample and save (e.g., into a game strategy dataset): game strategies utilized during game play between players (e.g., save at a database maintained by a server), the game contexts in which such game strategies are utilized, and results associated with such game strategies. Eventually, the sampled and saved data can be used to provide one or more suggested game strategies during future game sessions, based on current game contexts (e.g., current game situations) of those future game sessions. Certain embodiments are implemented with respect to an online video game network or service, such as one offered by Electronic Arts®, that may be capable of sampling and saving game strategies utilized by a plurality of video game sessions communicatively coupled to the online video game network/service. Such an online video game network or service may be one that facilitates head-to-head video game play between two or more remote human players (e.g., over the Internet), which may be located at different video game consoles. An online video game network/service may permit certain embodiments to sample and save 500,000 or more game strategies, and their respective results, each day from game play between players (e.g., over a video game network), thereby utilizing the game strategy decisions of the “crowd” to drive the game strategy suggestions provided to human or computer players.

The sampled and saved game strategies can be analyzed (e.g., to determine the effectiveness of the sampled and saved game strategies) and can provide a set of one or more relevant game strategies (e.g., an list of playcalls ordered according to effectiveness) from which a set of one or more suggested game strategies can be identified for use in a particular game context of a video game session. For some embodiments, sampled and saved game strategies harvested from past video game sessions (e.g., via an online video game network) are analyzed (e.g., at a server), and a set of one or more relevant game strategies is identified (e.g., identify game strategies used by players of a certain rank or skill level, relevant to a particular video game title, or that achieved particular results) based on the analysis. Thereafter, the set of one or more relevant game strategies may be saved to a database or file (e.g., JSON file) for future use in video game sessions as a crowd-source for game strategies (e.g., online video game community-source) from which a set of one or more suggested game strategy can be provided to players. The set of one or more relevant game strategies may comprise, for example, a list of suggested game strategies ordered according to game results achieved based on their respective use (e.g., by game players) in past video game sessions. The file can eventually be provided (e.g., from a server) to a client device that is hosting a human player for a video game session. The set of one or more relevant game strategies may be sent to the client device in advance of or near the beginning of a video game session. Once the video game session has commenced, the client device can filter the set of one or more relevant game strategies, according to the current game context in the video game session (e.g., current game situation), to identify a set of one or more suggested game strategies, which can then be provided for selection by a human player (e.g., display top ranked playcall suggestions next to list of possible playcalls available for player selection), or automatically utilized by a computer player (against which the human player is currently playing). The manner in which the set of one or more relevant game strategies at the client device (e.g., in the file) are filtered can depend on a number of factors, including the resources of the client device, the skill level of the players involved (e.g., human player's skill level or computer player's difficulty level), various video game settings, and the preferences of participating human players.

FIG. 1is a block diagram illustrating an example environment100utilizing a game strategy system in accordance with various embodiments. As shown inFIG. 1, the example environment100can comprise client devices102-1through102-N (hereafter, collectively referred to as “client devices102”), an online video game network106, a game strategy system108, and a computer network104communicatively coupling together each of the client devices102, the online video game network106, and the game strategy system108. It will be understood that for some embodiments, the components or the arrangement of components may differ from what is depicted inFIG. 1. In accordance with some embodiments, the computer network104may be implemented or facilitated using one or more local or wide-area communications networks, such as the Internet, WiFi networks, WiMax networks, private networks, public networks, and the like.

Each of the client devices102, the online video game network106, and the game strategy system108may be implemented using one or more digital devices, which may be similar to the digital devices discussed later with respect toFIG. 8. For example, one or more of the client devices102may be any form of computing device, such as a video game console, capable of executing a video game, presenting a video game user interface through a display coupled to the computing device, receiving user input from a video game player (e.g., entered through a game controller coupled to the computing device), and communicating with various entities in the example environment100through the computer network104. For instance, through the computer network104, the client device102-1can request and subsequently receive data regarding a set of game strategies from the game strategy system108. For some embodiments, such a set of game strategies enables the client device102-1(or like) to provide a set of one or more suggested game strategies to a human game player or computer game player, at the client device102-1, during a video game session for use in a particular game context.

One or more of the client devices102may include a video game console, a portable gaming console, a mobile phone, a tablet computing device, a laptop, a desktop computer, personal digital assistant, a thin client, a set-top box, a portable multi-media player, or any other type of network accessible user device known to those of skill in the art. Further, one or more of the online video game network106and game strategy system108may comprise of one or more servers, which may be operating on or implemented using one or more cloud-based resources (e.g., System-as-a-Service [SaaS], Platform-as-a-Service [PaaS], or Infrastructure-as-a-Service [IaaS]). Depending on the embodiment, a video game session can involve one or more video game players at one of the client devices102and can further involve one or more video game players at another of the client devices102. As described herein, a given video game player may be human game player or computer game player. Additionally, a copy of the video game may be executing at one or more of the client devices102during the video game session. Further, a copy of the video game may be executing at (e.g., hosted on) a server, such as the online video game network106.

According to some embodiments, one or more of the client devices102is communicatively couple to the game strategy system108, and may do so by way of the online video game network106. Through such a coupling, the one or more of the client devices102can provide, and the game strategy system108can receive, and subsequently store, data regarding game strategies used by one or more video game players, at the one or more of the client devices102, during a video game session involving a video game. Additionally, through such a coupling, the one or more of the client devices102may request, and subsequently receive, a set of one or more relevant game strategies for use, at the one or more client devices102, as a set of one or more suggested game strategies. Depending on the embodiment, the set of one or more suggested game strategies may be provided to a human game player (e.g., at the client device102-1), for review, selection, and use within a game context of a video game session. The set of one or more suggested game strategies may be provided to a computer game player (e.g., operating at the client device102-1) for analysis, automatic selection, and use (e.g., against a human player at the client device102-1) within a game context of a video game session.

According to some embodiments, the one or more of the client devices102is communicatively coupled to the game strategy system108, and such coupling may be by way of the online video game network106. Through such a coupling, the game strategy system108may receive, and subsequently store, data from the one or more client devices102regarding game strategy used by a human game player at the one or more of the client device102during a video game session. Additionally, through such a coupling, the one or more client devices102can request, and subsequently receive, data regarding a set of one or more relevant game strategies that can be used at the one or more client devices102as suggested game strategies during video game session. Depending on the embodiments, the suggested game strategies may be provided to a human game player at the one of the client devices102, who may review, select, and use one of the suggested game strategies in a game context during a video game session. Depending on the embodiments, the suggested game strategies may be provided to a computer game player operating at the one of the client devices102, who may review, automatic selection, and use one of the suggested game strategies (e.g., against a human game player at the one of the client device102) in a game context during a video game session.

As shown inFIG. 1, the client device102-1comprises a video game110that includes a game strategy client module112and a computer player module114. Those skilled in the art will appreciate that for some embodiments, either the game strategy client module112or the computer player module114may be separate from the video game110. The video game110may represent a copy of video game software that relates to specific video game title, that executes on the client device102-1, and that is configured to present a user with an user interface of the video game110(i.e., video game user interface) through a display coupled to the client device102-1. The client device102-1may utilize the video game user interface to facilitate interaction between a human game player at the client device102-1and the video game110, which may include the review, selection, and use of game strategies suggested to the human game player.

The game strategy client module112may be configured to facilitate providing game strategies, used at the client device102-1by one or more human players, to the game strategy system108. The game strategy client module112may be configured to facilitate providing suggested game strategies to computer or human game players at the client device102-1. Those skilled in the art will appreciate that the game strategy client module112may be implemented as part of the video game110(as shown) and provide one or more suggested game strategies to the video game110, or may be implemented as a separate module, which may provide one or more suggested game strategies to the video game110and one or more other video games. Depending on the embodiment, the game strategy client module112may receive game player preferences from one or more human game players at the client device102-1and provide game suggested game strategies in accordance with those preferences. The game strategy client module112may monitor a current game context during a video game session involving the video game110, and may utilize the current game context to provide suggested game strategies to a computer or human game player.

According to some embodiments, the game strategy system108may receive data regarding game strategy usage from the client device102-1as follows. The game strategy system108may receive, and the game strategy client module112may provide the game strategy system108with, first data relating to a set of one or more game strategies used by a first human game player at the client device102-1. The set of one or more game strategies may be used in a first game context of a first video game session (e.g., hosted over the online video game network106) between the first human game player and at least one second video game player. The second video game player may be a computer game player operating the client device102-1, another computing device (e.g., the online video game network106), or another one of the client devices102. Additionally, the second video game player may be a human game player playing at the client device102-1with the first human game player, or at another one of the client devices102. The first video game session may involve a specific video game being played between the first human game player and the at least one second game player. For some embodiments, the copy of the video game110at the client device102-1facilitates the first human game players participation in the first video game session, and may further facilitate participation of the at least one second game player when the second game player is another human game player at the client device102-1participating with the first human player or when the second game player is a computer game player implemented via the computer player module114. Those skilled in the art will appreciate that additional copies of the specific video game or other software related to the specific video game may be required (e.g., at individual the client devices102or on the online video game network106) to facilitate the first video game session between the client device102-1and video game players at other client devices102. As described herein, the first video game session may be established over a network connection between the client device102-1and one or more of the other client devices102, and may further involve the online video game network106.

As described herein, the first game context can provide the current parameters of the video game, such as title and version of the video game110or the current settings of the video game110, which can include the difficulty level of in-video game environment and the skill level of any computer game opponents. The first game context can provide the current game situation in the video game110, which may describe the current state of gameplay and describe the one or more of teams playing where applicable (e.g., football, baseball or soccer video game), identify the current quarter in the game where applicable, current score where applicable, time spent or time left in the game where applicable, and the like. The first game context can also provide information regarding video game players participating in the video game, such whether they are human or computer game players, their player skill levels, their player online rating, and the like.

Depending on the embodiment, the video game110may be a sports video game and the first game context may comprise the current game situation in the sports game at a particular time. For example, where the video game110is a football video game, and the first game context comprises a current offensive team, a current defensive team, a current score, a current game quarter, time left in the current game quarter, a current down, current yards to completion, current line of scrimmage, one or more players on the field, current position of one or more players, current weather, current location, or current time of day. Additionally, where the video game110is a football video game, the game strategies involved may relate to football-related playcalls (e.g., a call for an offensive, defensive, pass-related, run-related, special teams, kickoff, on-side kick, or punt return play). Those skilled in the art will appreciate that the video game110may be non-sport game, such as a role-playing game (RPG), a real-time strategy (RTS) game, a simulation, a first person shooter (FPS) game, or an adventure game, and that the game strategies involved may differ between different types of video games or different video game titles.

Subsequent to receiving first data from the game strategy client module112, the game strategy system108may update a game strategy dataset (e.g., stored at the game strategy system108) based on the first data. The first data may at least include an identity of the first game strategy (e.g., name or a unique identifier) and an association between the first game strategy and the first game context in which the first game strategy was utilized by the first human game player. The game strategy dataset may be maintained by the game strategy system108, and may include a set of one or more previous game strategies used in a set of one or more previous game contexts (e.g., in previous video game sessions involving two or more of the client devices102). The first data may further include a set of game results achieved by the first human game player during the first video game session based on use of the first game strategy.

The game strategy system108may identify in the game strategy dataset a set of one or more relevant game strategies based on a set of one or more game strategy criteria. In some embodiment, the use of the one or more game strategy criteria permits the filtering of the game strategies in the game strategy dataset (e.g., filter based on results achieved in the video game, or the video game players who used the game strategies) before such game strategies are provided to a client device for use as suggested game strategies. In doing so, the client devices102can be provided with a dataset smaller than the game strategy dataset maintained by the game strategy system108. This not only saves on the amount of data that needs to be transferred by the game strategy system108to each of the client devices102(e.g., at the start of or in advance of a new video game session), but can reduces the amount of time needed by the client devices102(e.g., the game strategy client module112) to analyze the current game context, identify a set of suggested game strategies, and provide that set to one or more of the video game players.

Depending on the embodiment, the set of one or more game strategy criteria may relate to a result achieved during past use of a given game strategy (e.g., to determine the effectiveness of using the given game strategy, maybe in a specific game context), past use by a set of one or more video game players (e.g., video game players having a certain skill level or having a particular online ranking), when or how often a given game strategy was used. The game strategy system108may analyze game strategies in the game strategy dataset, and may identify in the game strategy dataset a set of one or more relevant game strategies based on a set of one or more game strategy criteria and the analysis results.

Thereafter, the game strategy system108may provide the client device102-2with second data regarding the set of one or more relevant game strategies, and may do so before or at the commencement of a new second video game session by the client device102-2between two or more video game player, such as a third game player and a fourth game player, at least one of which is a human game player. The client device102-2may comprise its own game strategy client module, which may facilitate the reception of the second data from the game strategy system108. The set of one or more relevant game strategies may include those game strategies that are preferred for suggestion to video game players at the client device102-2.

The client device102-2may be configured to use the second data to provide a set of one or more suggested game strategies for use in a second game context of a second video game session (e.g., hosted over an online game network) involving the same video game as the first video game session. The set of suggested game strategies may be smaller than the set of one or more relevant game strategies provided to the client device102-2via the second data. As noted herein, the second data may be provided to the second client device in advance of the second video game session beginning between the third game player and the fourth game player. To provide the set of one or more relevant game strategies to the client device102-2, the second data may at least include a set of one or more identities of the relevant game strategies and a set of game contexts associated with the relevant game strategies. Depending on the embodiment, the second client device102-2may identify the set of one or more suggested game strategies, in the set of one or more relevant game strategies, based on a second game context of the second video game session. The client device102-2may further provide the set of one or more suggested game strategies to one of the third game player, the fourth game player, or both, for use in the second game context. Where both the third game player and the fourth game player are provided with a set of one or more suggested game strategies, the set of one or more suggested game strategies for the third game player may be different from the set of one or more suggested game strategies for the fourth game player. Accordingly, for some embodiments, the process of identifying the set of one or more suggested game strategies for the third game player is independent of the process of identifying the set of one or more suggested game strategies for the fourth game player. In some embodiments, the set of one or more suggested game strategies are those game strategies, in the set of one or more relevant game strategies, having an associated game context that is at least similar to the second game context.

In some embodiments, the game strategy system108may first receive, from the client device102-2, third data regarding the second game context of a second video game session between the third game player and the fourth game player. Thereafter, the game strategy system108may identify the set of one or more suggested game strategies from the game strategy dataset, on behalf of the client device102-2, based on the third data that provides the second game context. The game strategy system108may provide the client device102-2with fourth data regarding the set of one or more suggested game strategies. Subsequently, the client device102-2may use the fourth data to provide the set of one or more suggested game strategies for use by the third game player in the second game context.

The computer player module114may be one configured to implement one or more computer game players at the client device102-1during a video game session involving the video game110. Depending on the embodiment, the computer player module114may implement the one or more computer game players according to video game settings (e.g., video game player preferences), which may determine, for instance, the skill level of the computer game player (e.g., novice or expert), whether the computer game player can utilize suggested game strategies provided by the game strategy client module112, and other behavior by the one or more computer game players implemented by the computer player module114. For some embodiments, the computer player module114implements the one or more computer game players such that they mimic the behavior of a human game player having a particular skill level. Computer game players implemented by the computer player module114may behave according to rules and other pre-programmed settings. By using the suggest game strategies provided by the game strategy client module112, the one or more computer game players implemented by the computer player module114may better mimic behavior of a human player, and do so according to behavior of the human players in an online video game community.

The online video game network106may represent an online game service to which the one or more client devices102communicatively couples before, after, or during a video game session involving the video game110. For some embodiments, the online video game network106is one that facilitates the collection of game strategies used in by human game players at the one or more client devices102. In some embodiments, the online video game network106facilitates a human game player at one of the client devices102to play the video game110against another of the client devices102. Depending on the embodiment, the online video game network106may be one implemented or maintained by the publisher, developer, or seller of the video game110. Additionally, depending on the embodiment, the online video game network106may execute the video game110on behalf of one or more human video game players at the one or more client devices102. Further, the online video game network106may implement one or more computer game players for a video game session involving one or more of the client devices102.

The game strategy system108may be configured to facilitate collection of data regarding video game strategies used during one or more video game sessions involving two or more human game players, or one or more human game players against one or more computer game players. The game strategy system108may analyze collected data regarding video game strategies, may identify a set of one or more relevant video game strategies for use as suggest video game strategies, and may provide the set of one or more relevant video game strategies to one or more of the client devices102for use by computer or human game players at the one or more client devices102.

FIG. 2is a block diagram of the game strategy client module112in accordance with some embodiments of the invention. As shown inFIG. 2, the game strategy client module112can comprise a game context monitoring module200, a game strategy monitoring module202, a game strategy upload module204, a game strategy download module206, a game strategy suggestion module208, a client-side communication module210, and a client-side game strategy datastore212. Those skilled in the art will appreciate that components of the game strategy client module112, and functionality of those components, may differ between various embodiments.

The game context monitoring module200may be configured to monitor or otherwise determine a game context of a video game session involving a video game (e.g., the video game110) executing at a client device, such as client device102-1. The game context monitoring module200may be configured to provide data regarding the game context, which may be provided with game strategy usage data that is reported to a game strategy system (e.g., the game strategy system108) by a client device (e.g., the client device102-1), or which may be utilized when identifying a set of one or more suggested game strategies to be provided to one or more video game players at the client device. The game context monitoring module200may determine the game context at the time a particular game strategy is selected and utilized by a video game player at the client device (e.g., the client device102-1).

The game strategy monitoring module202may be configured to monitor or otherwise determine which game strategies are selected and used, by one or more video game players at a client device (e.g., the client device102-1), in a game context of a video game session involving a video game (e.g., the video game110) executing at the client device. The game strategy monitoring module202may be configured to provide data regarding the game strategies used to a game strategy system (e.g., the game strategy system108), which may collect in a game strategy dataset. The data regarding the game strategies may further include results (e.g., in-game results) achieved by use of the game strategies, by which the game strategy system may determine the effectiveness of the game strategies.

The game strategy upload module204may be configured to upload, or otherwise send, to a game strategy system (e.g., the game strategy system108) data regarding the game strategies used, as provided by the game strategy monitoring module202. As noted above, the data may include results achieved by use of the game strategies. The game strategy upload module204may also be configured to configured to upload, or otherwise send, to the game strategy system data regarding the game contexts associated with the usage of those game strategies, as provide by the game context monitoring module200.

The game strategy download module206may be configured to download a set of one or more game strategies provided by a game strategy system (e.g., the game strategy system108). As noted herein, the game strategy system may provide the game strategy download module206with a set of one or more relevant game strategies, from which a client device (e.g., the client device102-1) may identify a set of one or more suggested game strategies for a video game player, or may provide the game strategy download module206with a set of one or more suggested game strategies identified by the game strategy system for the client device. Depending on the embodiment, the game strategy download module206may be responsible for requesting a set of one or more game strategies from the game strategy system, and may do so at any time before, at begging of, or during a video game session.

The game strategy suggestion module208may be configured to provide a video game player at a client device (e.g., the client device102-1) with a set of one or more suggested game strategies. Depending on the embodiment, the game strategy suggestion module208may be responsible for identifying the set of one or more suggested game from a set of relevant game strategies provided to the client device by the game strategy system, and may do so based on a current game context provided by the game context monitoring module200. In some embodiments, the game strategy suggestion module208may rely on the game strategy system to identify the set of suggested game strategies on behalf of the client device. In some such embodiments, the game strategy system identifies the set of suggested game strategies based on game context data the game strategy client module112passes to the game strategy system (e.g., as provided by the game context monitoring module200).

The client-side communication module210may be configured to facilitate communication of data between the game strategy client module112and a game strategy system (e.g., the game strategy system108). In some embodiments, the client-side communication module210may directly communicate data with the game strategy system, may communicate data by way of an online video game network, or may communicate data by some combination both. In doing so, the client-side communication module210may utilize one or more a network connections with the game strategy system or the online video game network to communicate the data.

The client-side game strategy datastore212may be configured to facilitate storage and future retrieval of data regarding one or more game strategies at the game strategy client module112. Depending on the embodiment, the data stored by the client-side game strategy datastore212can include data regarding one or more game strategies utilized by a video game player at a client device (e.g., the client device102-1), data regard game contexts associated with usage game strategies utilized by a video game player at the client device, data regarding one or more relevant game strategies provided by the game strategy system (from which the client device can identify a set of one or more suggested game strategies), or data regarding one or more suggested game strategies provided to the client device by the game strategy system for a given game context. The client-side game strategy datastore212may further include data regarding settings, game player preferences, or other information that can affect the behavior or operation of the game strategy client module112.

FIG. 3is a block diagram of the game strategy system108in accordance with some embodiments of the invention. As shown inFIG. 3, the game strategy system108can comprise a game strategy aggregation module300, a game strategy management module302, a game strategy analysis module304, a game strategy service module306, a system-side communication module308, and a system-side game strategy datastore310. Those skilled in the art will appreciate that components of the game strategy system108, and functionality of those components, may differ between various embodiments.

The game strategy aggregation module300may be configured to facilitate collection of data regarding game strategies from one or more client devices (e.g., the client devices). For some embodiments, as client devices involved in video game sessions provide the game strategy aggregation module300with data regarding usage of game strategies by the respective video game players they support. As described herein, such data may be accompanied by data regarding game contexts in which those game strategies were utilized, and data regarding results achieved by usage of those game strategies. Depending on the embodiment, the game strategy aggregation module300may collect data regarding game strategy and the like on during the video game session (e.g., at or near real-time or on a periodic basis), or at sometime after the video game session has concluded.

The game strategy management module302may be configured to manage data regarding game strategies, which may include the storage, search, or retrieval of such data. As the game strategy aggregation module300collects data from the client devices, the game strategy management module302may utilize the system-side game strategy datastore310for storage of such data. For some embodiments, the game strategy management module302can index the game strategy data maintained by the game strategy system108according to a number of different indices, including associated game context information and game strategy result information. The game strategy management module302can assist the game strategy service module306in servicing requests from the client devices for sets of one or more game strategies, assist the game strategy analysis module304in analyzing data regarding data collected by the game strategy aggregation module300regarding game strategies, and can otherwise facilitate identification of a set of one or more relevant or suggested game strategies for one or more client devices.

The game strategy analysis module304may be configured to analyze data collected regarding game strategies (hereafter also referred to as “sampled game strategies”) from one or more client devices (e.g., the client device102-1), and may be further configured to identify a set of one or more game strategies to provide to a client device for suggestion to a video game player. Depending on the embodiment, the game strategy analysis module304may utilize statistics, data mining, telemetry, or the like to identify a set of one or more relevant game strategies (e.g., best game strategies for suggestion) from which one or more client devices102can provide a set of one or more suggested game strategies (e.g., based on a current game context) to one or more game players at the one or more client devices102. The analysis data that results from the game strategy analysis module304may be stored in the system-side game strategy datastore310for storage of such data, and may be utilized by the game strategy analysis module304in identifying a set of one or more relevant or suggested game strategies to provide the client devices. The game strategy analysis module304may utilize a set of game strategy criteria, in view of the analysis data, to identify the set of one or more relevant or suggested game strategies. The set of game strategy criteria used may be determined based on or defined according to the algorithm utilized by the game strategy analysis module304analyze and identify the set of one or more relevant or suggested game strategies.

For some embodiments, the game strategy analysis module304performs an algorithm that analyzes sampled game strategies (e.g., saved in a game strategy dataset) by parsing the sampled game strategies to identify a game strategy type, an offense or defense personnel group (e.g., special teams), or a formation name associated with one or more of the sampled game strategies. For instance, with respect to a football video game, the game strategy type identified for the sampled game strategies may include an run, playcall, pass playcall, offense playcall, defense playcall, clock management playcall, special teams playcall (e.g., kick off, punt, field goal), on-side kick playcall, and fake kick playcall. The resulting parsed data can be used in subsequent analysis steps performed by the algorithm.

In some embodiments, the algorithm for analyzing sampled game strategies comprises generating a set of analysis results (e.g., average results) for each of the sampled game strategies (e.g., set of averages yards gained for each offensive or defensive playcall). With respect to defensive game strategies, the algorithm may comprise identifying a set of defensive game strategies used against each sampled offensive game strategy. The algorithm may further comprise determining results achieved against the identified defensive set of game strategies, determining the number of times the identified set of defensive game strategies has been utilized (e.g., in the online gaming community), or determining the number of times the results from the identified set of defensive game strategies exceeds the effectiveness of the sampled offensive game strategy. For instance, with respect to a football video game, the algorithm may determine results achieved against the identified set of defensive game strategies by determining the total number of yards gained against the identified defensive game strategies, average yards gained per play, or the offensive effectiveness percentage (e.g., calculated based on total effective count/total sample size). With respect to offensive game strategies, the algorithm for analyzing sampled game may determine effectiveness for each sampled offensive game strategy based on one or more of the game context, the type of offensive game strategy (e.g., pass, run, special teams playcall), and the results of the offensive game strategy (e.g., actual results observed during gameplay and the analysis of those results).

For some embodiments, the algorithm determines effectiveness by determining whether use of a given game strategy or given type of game strategy achieves a certain result in the video game. For instance, with respect to a football video game, the algorithm for analyzing sampled game strategies may determine effectiveness for each sampled offensive game strategy by: for goal line or red zone pass playcall, determining whether the playcall results in a 1stdown or a gain of at least 8 yards; for goal line or red zone non-pass playcall, determining whether the playcall results in a 1stdown or a gain of at least 4 yards; for a 1stdown or 2nddown pass playcall, determining whether the playcall results in a 1stdown or a gain of at least 8 yards; for a 1stdown or 2nddown non-pass playcall, determining whether the playcall results in a 1stdown or a gain of at least 4 yards; or for a 3rddown or 4thdown playcall, determine whether the playcall results in a 1stdown. For some embodiments, the algorithm for analyzing sampled game strategies comprises aggregating individual game context-based results for a given game strategy and using those aggregated results to calculate an average result achieved for the given game strategy.

In some embodiments, a set of game strategies ordered according to their effectiveness serves as the set of one or more relevant game strategies from which future video game sessions can provide one or more suggested game strategies to human or computer players. In some embodiments, the algorithm for analyzing sampled game strategies comprises filtering or ignoring those game strategies having certain results or other characteristics (e.g., used by top ranked players), thereby providing a set of one or more relevant game strategies that meet a set of specific criteria. Additionally, for some embodiments, the algorithm generates a set of the most effective defensive game strategies (e.g., defensive playcalls) against a specific offensive game strategy (e.g., offensive playcalls), a set of the most effective offensive game strategies against a defensive game strategy, or both.

For instance, with respect to a football video game, the algorithm for analyzing sampled game strategies may determine a set of most effective defensive playcalls against a given offensive playcall by doing one or more of the following: ignoring play results for offensive playcall relating to fake kicks or clock management (e.g., QB kneel, or QB spike); ignoring play results for defensive playcalls relating to a goal line defensive formation or special teams (e.g., kicks, such as punt returns or field goal block); for each offensive playcall, sort a set of defensive playcalls by a total sample size and ignore or discard those having lowest 25% of results with the least number of total samples; and for each offensive playcall, sort a set of defensive playcalls by offense effective percentage (e.g., ascending: lower to higher) and average yards gained (e.g., ascending: lower to higher) to determine the most effective defensive playcalls against each the offensive playcall.

In another example involving a football video game, the algorithm for analyzing sampled game strategies may determine a set of most effective defensive playcalls for a specified defensive formation (e.g., Nickel formation) by doing one or more of the following: aggregate individual game context-based results for a given game strategy and use those aggregated results to calculate an average result achieved for the given game strategy; ignore playcall results for offensive playcalls associated with special teams (e.g., kicks, such as punt or field goal), fake kicks, or clock management (e.g., QB kneel or QB spike); and for each offensive playcall, create or find a result summary for each defensive playcall used against the offensive playcall.

In another example involving a football video game, the algorithm for analyzing sampled game strategies may determine a set of most effective defensive playcalls for a specified offensive personnel group (e.g. 1RB-1TE-3WR) by doing one or more of the following: aggregate individual game context-based results for a given game strategy and use those aggregated results to calculate an average result achieved for the given game strategy; ignore playcall results for offensive playcalls associated with special teams (e.g., kicks, such as punt or field goal), fake kicks, or clock management (e.g., QB kneel or QB spike); ignore playcall results for defensive playcalls associated with special teams (e.g., kicks, such as punt or field goal); for each offensive playcall, create or find a result summary for the offensive personnel group associated with the offensive playcall; and for each defensive playcall result, add the total result counts to a summary record for the offensive personnel group against each individual defensive playcall. The foregoing can produce the average results for all the individual defensive playcalls against a given offensive personnel group. The algorithm can continue by doing one or more of the following: for each offensive personnel group, sort the list of defensive playcalls by total sample size; discard the lower 25% of results with the least number of total samples; and for each offensive personnel group, sort the list of defensive playcalls by offense effective percentage (e.g., ascending: lower to higher) and average yards gained (e.g., ascending: lower to higher) to determine the most effective defensive playcalls against the offensive personnel group.

In another example involving a football video game, the algorithm for analyzing sampled game strategies may determine a set of most effective defensive playcalls for a specified game situation (e.g., 3rd and Long) by doing one or more of the following: determine playcall result averages for each individual game situation; ignore playcall results for offensive playcalls associated with special teams (e.g., kicks, such as punt or field goal), fake kicks, or clock management (e.g., QB kneel or QB spike); process a separate summary for each game situation; for each game situation, create or find a result summary for the game situation; for each offensive playcall, create a result summary for the offensive playcall results; and for each defensive playcall result, add the total result counts to a summary record in the game situation for the offensive playcall against all defensive playcalls. The foregoing can produce the average results for all the individual offensive playcalls in each game situation. The algorithm can continue by doing one or more of the following: for each game situation, sort the list of offensive playcalls by total sample size; discard the lower 25% of results with the least number of total samples; and for each game situation, sort the list of offensive playcalls by offense effective percentage (e.g., descending: higher to lower) and average yards gained (e.g., descending: higher to lower) to determine the most effective offensive playcalls.

Those skilled in the art will appreciate that the operations and algorithms described above are merely examples that can be utilized with a football video game. Those skilled in the art will further appreciate that for some embodiments, the operations above can be adapted for other game strategies and other video games.

The game strategy service module306may be configured to provide a set of game strategies to one or more client devices (e.g., the client device102-1) for use by one or more human or computer game player involved at video game session at the client devices. For some embodiments, the game strategy service module306receives from the client device a request for one or more game strategies. Depending on the embodiment, the request from the client device may provide information regarding a game context of a video game session in which the client device is involved (e.g., the title of the video game110, the type of video game players involved, specific information regarding the one or more video game players to be provided with the suggested game strategies, etc.), and the game strategy service module306may utilize such information to identify the set of one or more relevant game strategies to provided to the client device, or to identify a set of one or more suggested game strategies to be provided to the client device.

The system-side communication module308may be configured to facilitate communication of data between the game strategy system108and a game strategy client module (e.g., the game strategy client module112). In some embodiments, the system-side communication module308may directly communicate data with the game strategy client module, may communicate data by way of an online video game network, or may communicate data by some combination both. In doing so, the system-side communication module308may utilize one or more a network connections with the game strategy client module or the online video game network to communicate the data.

The system-side game strategy datastore310may be configured to configured to facilitate storage and future retrieval of data regarding one or more game strategies at the game strategy system108. Depending on the embodiment, the data stored by the system-side game strategy datastore310may store a game strategy dataset from which the game strategy system108can provide a set of one or more relevant game strategies or a set of one or more suggested game strategies. The system-side game strategy datastore310may include data regarding one or more game strategies utilized by a video game player at a client device (e.g., the client device102-1), data regard game contexts associated with usage game strategies utilized by a video game player at the client device, data regarding one or more relevant game strategies that can be provided to the client device (from which the client device can identify a set of one or more suggested game strategies), or data regarding one or more suggested game strategies provided to the client device by the game strategy system for a given game context. The system-side game strategy datastore310may further include data regarding settings, game player preferences, or other information that can affect the behavior or operation of the game strategy system108.

FIG. 4is a flowchart illustrating an example method400for game strategies in accordance with some embodiments of the invention. As described below, for some embodiments, the method400may perform operations in connection the game strategy system108. The method400may begin at step402, with the game strategy aggregation module300(of the game strategy system108) receiving from a first client device (e.g., the client device102-1) first data regarding a first game strategy used in a first game context of a first game session involving a video game (e.g., a specific football video game). The first data may comprise information regarding the first game strategy and one or more other game strategies. The first game strategy may be one used by one or more human players at the first client device in the first game context during the first game session. Depending on the embodiment, the first data received may be in the form of a file, and the first data may include a structured format (e.g., XML or JSON). Additionally, depending on the embodiment, the system-side communication module308may facilitate receipt of the first data from the first client device.

At step404, the game strategy management module302may update a game strategy dataset based on the first data. In some embodiments, the first data may at least include an identity of the first game strategy, information regarding a first game context in which the first game strategy is used (e.g., for a video game session involving a football game, parameters such as current quarter, current score, time left in quarter, identity of teams, etc.), and information regarding one or more results achieved by utilizing the first game strategy in the first game context (e.g., for a video game session involving a football game, increase in score, yards gained, etc.). In some embodiments, the system-side game strategy datastore310comprises the game strategy dataset, and the system-side game strategy datastore310may be implemented using a database or some other means of computer readable data storage. An update to the game strategy dataset may comprise storing, in the game strategy dataset, information regarding the first game strategy in association with the first game context in which it was used. In the event that the game strategy dataset already includes information regarding the first game strategy exists in association with the first game context, such information may be updated based on the first data.

At step406, the game strategy analysis module304may analyze one or more game strategies stored in the game strategy dataset and, at step408, the game strategy analysis module304may identify a set of one or more relevant game strategies based on a set of criteria. As described herein, the game strategy analysis module304may be configured to analyze game strategies sampled from one or more client devices (e.g., the client device102-1), and may be further configured to identify a set of one or more game strategies to provide to a client device for suggestion to a video game player. The game strategy analysis module304may utilize a set of game strategy criteria, in view of the analysis data, to identify the set of one or more relevant or suggested game strategies. Additionally, the set of game strategy criteria used may be determined based on or defined according to the algorithm utilized by the game strategy analysis module304analyze and identify the set of one or more relevant or suggested game strategies.

At step410, the game strategy service module306may receive, from a second client device (e.g., the client device102-2), a request for a set of game strategies that the second client device can use in a second video game session in which the second client device is involved. For some embodiments, the second video game session involves the same video game as the first video game session. Depending on the embodiment, the request from the second client device may provide information regarding the video game (e.g., title and version) or, more specifically, the a the second video game session (e.g., information regarding current game mode or a second game context) so that the game strategy service module306provides the second client device with game strategies appropriate to the second video game session. Depending on the embodiment, the system-side communication module308may facilitate receipt of the request from the second client device.

At operation412, the game strategy service module306may provide the second client device (e.g., the client device102-2) with second data regarding a set of one or more relevant game strategies, which may have been identified during step410. Depending on the embodiment, the system-side communication module308may enable the game strategy system108to send the second data to the second client device.

Though the operations of method400may be depicted and described above in a certain order, those skilled in the art will appreciate that the order in which the operations are performed may vary between embodiments, including performing certain operations in parallel. Additionally, those skilled in the art will appreciate that the components described above with respect to the method400of the flowchart are merely examples of components that may be used with the method, and for some embodiments other components may also be utilized in some embodiments.

FIG. 5is a flowchart illustrating of an example method500for game strategies in accordance with some embodiments of the invention. As described below, for some embodiments, the method500may perform operations in connection the game strategy client module112. The method500may begin at step502with the game strategy download module206sending a request, to a server (e.g., the game strategy system108), for one or more game strategies. In the request, the game strategy download module206may include game context information that enables the game strategy system108to identify a set of one or more relevant game strategies (or a set of one or more suggested game strategies) that can be provided to the client device in response to the request.

At step504, the game strategy download module206may receive from the server (e.g., the game strategy system108) first data regarding a set of one or more relevant game strategies for a video game. Depending on the embodiment, the first data may be received in response to the request sent at step502, or the first data may be pushed periodically or aperiodically to the game strategy download module206from the server (e.g., when the game strategy dataset at the server is updated). At step506, the game strategy suggestion module208may identify a set of one or more suggested game strategies in the set of one or more relevant game strategies based on the first data and a current game context of a video game session. In some embodiments, the video game session involves the video game relating to the set of one or more relevant game strategies received at step504. At step508, the game strategy suggestion module208may provide the set of one or more suggested game strategies for use by a game player in the current game context of the video game session.

Though the operations of method500may be depicted and described above in a certain order, those skilled in the art will appreciate that the order in which the operations are performed may vary between embodiments, including performing certain operations in parallel. Additionally, those skilled in the art will appreciate that the components described above with respect to the method500of the flowchart are merely examples of components that may be used with the method, and for some embodiments other components may also be utilized in some embodiments.

FIG. 6is a screenshot600of an example user interface for accessing playcalls in a video game in accordance with some embodiments of the present invention. The screenshot600may be one presented to a human game player during a video game session involving a football video game. The screenshot600includes a football game situation bar602, which can display latest situation in the football game being played. The screenshot600further includes a menu604for accessing football playcalls that a human game player can call in gameplay during a video game session. For some embodiments, the menu604may appear between different footballs plays during the video game session. As shown inFIG. 6, the menu604can permit a user to filter football playcalls according to game situation606, formation608, concept610, play type612, personnel614, and user preferences616(e.g., My Plays).

For some embodiments, the football playcalls provided through the menu604includes one or more football playcalls provided by the game strategy system108, which may be provided through the game strategy client module112(e.g., of client device102-1). As described herein, the set of football playcalls provided to the menu604by the game strategy system108may be those used in gameplay between two or more game players during previous video game sessions (e.g., over an online video game network). The set of football playcalls provided by the game strategy system108may be those relevant to the current video game session, and further may be those that provided favorable results in previous video game sessions (e.g., during video game sessions human player versus human player or human player versus computer player). For instance, the football playcalls provided by the game strategy system108may be those crowd-sourced from an online video game network, where football playcalls made during video game sessions involving game players from the online video game network (e.g., online game community). From such an online video game network, the game strategy system108may provide the most successful playcalls or playcalls with the best community results (e.g., in terms of average yards gained for an offensive football playcall or average yards prevented for a defensive football playcall). Based on the set of one or more relevant football playcalls provided by the game strategy system108to the game strategy client module112(e.g., of client device102-1), the game strategy client module112may filter or otherwise identify suggested playcalls from the set of one or more relevant playcalls, and may do based on the current game context (e.g., current game situation, player types involved—human or computer, player skill levels, etc.).

Though the example user interface ofFIG. 6relates to a football video game, those skilled in the art will appreciate that for various embodiments, user interface for accessing playcalls, or other types of game strategies, may differ based on the type of video game or based on the video game title.

FIG. 7is a screenshot700of an example user interface for providing suggested playcalls in a video game in accordance with some embodiments of the present invention. The screenshot700may be one presented to a human game player during a video game session involving a football video game. The screenshot700includes a football game situation bar702, which can display latest situation in the football game being played. The screenshot700further includes a menu704configured to provide a set of one or more suggested playcalls based on at least a current game context (e.g., current situation in the football). As shown inFIG. 7, the menu704can include a set of playcalls708suggested based on usage by one or more expert level video game players (e.g., video game players having a high player rank), and further suggested based on the results of such playcalls (e.g., effectiveness of such playcalls). The menu704can include a set of playcalls710suggested based on usage by a community (e.g., online community) of video game players, and further suggested based on the results of such playcalls (e.g., effectiveness of such playcalls). The menu704can include a set of playcalls712suggested based on the human game players own usage of the suggested playcalls, and further suggested based on the results of such playcalls (e.g., effectiveness of such playcalls). Those skilled in the art will appreciate that for some embodiments, a set of suggested game strategies can be provided to a human player in a manner different from what is illustrated inFIG. 7. The manner in which a set of suggested game strategies are identified or provided may differ between different types of video games or different video game titles.

FIG. 8is a block diagram of a computer system800. The computer system800comprises a processor802, a memory system804, a storage system806, a communication network interface808, an I/O interface810, and a display interface812communicatively coupled to a communication channel814. The processor802is configured to execute executable instructions (e.g., code). In some embodiments, the processor802comprises circuitry and/or any processor capable of processing the executable instructions.

The memory system804is any memory configured to store data. Some examples of the memory system804include storage devices, such as RAM, ROM, RAM cache, etc. In various embodiments, data is stored within the memory system804. The data within the memory system804may be cleared or ultimately transferred to the storage system806.

The storage system806is any storage configured to retrieve and store data. Some examples of the storage system806are flash drives, hard drives, optical drives, and/or magnetic tape. In some embodiments, the computer system800includes a memory system804in the form of RAM and a storage system806in the form of flash. Both the memory system804and the storage system806comprise computer readable media that stores instructions that are executable by the processor802.

The communication network interface (com. network interface)808can be coupled to a network (e.g., computer network116) via the communication channel816. The communication network interface808may support communication over an Ethernet connection, a serial connection, a parallel connection, or an ATA connection, for example. The communication network interface808may also support wireless communication (e.g., 802.11a/b/g/n, WiMax). It will be apparent to those skilled in the art that the communication network interface808can support many wired and wireless standards.

The input/output (I/O) interface810is any device that receives input from the user and outputs data to the user. The display interface812is any device that is configured to output graphics and data to a display. In one example, the display interface812is a graphics adapter. It will be appreciated that not all computer systems800comprise either the I/O interface810or the display interface812.

It will be appreciated by those skilled in the art that the hardware elements of the computer system800are not limited to those depicted. A computer system800may comprise more or less hardware elements than depicted. Further, hardware elements may share functionality and still be within various embodiments described herein. In one example, encoding and/or decoding may be performed by the processor802and/or a co-processor located on a GPU (e.g., Nvidia). The above-described functions and components may comprise instructions stored on a storage medium such as a computer readable medium. The instructions can be retrieved and executed by a processor. Some examples of instructions are software, program code, and firmware. Some examples of storage medium are memory devices, tape, disks, integrated circuits, and servers. The instructions are operational when executed by the processor to direct the processor to operate in accord with embodiments of the present invention. Those skilled in the art are familiar with instructions, processor(s), and storage medium.

It will be appreciated that a “module” as referred to herein may comprise software, hardware, firmware, and/or circuitry. In one example, one or more software programs comprising instructions capable of being executable by a processor may perform one or more of the functions of the engines described herein. In another example, circuitry may perform the same or similar functions. Alternative embodiments may comprise more, less, or functionally equivalent engines and still be within the scope of present embodiments.

It will also be understood that the term “set” as used herein may refer to any collection of elements, whether finite or infinite. The term subset may refer to any collection of elements, wherein the elements are taken from a parent set; a subset may be the entire parent set. The term proper subset refers to a subset containing fewer elements than the parent set. The term sequence may refer to an ordered set or subset. The terms less than, less than or equal to, greater than, and greater than or equal to, may be used herein to describe the relations between various objects or members of ordered sets or sequences; these terms will be understood to refer to any appropriate ordering relation applicable to the objects being ordered.

Those skilled in the art will appreciate that for the various embodiments described herein, any communication of data between entities, such as the client device102-1, the online video game network106, and the game strategy system108, may entail the exchange of a data file, which may include information in a structured format (e.g., XML or JSON).

The present invention is described above with reference to exemplary embodiments. It will be apparent to those skilled in the art that various modifications may be made and other embodiments can be used without departing from the broader scope of the present invention. Therefore, these and other variations upon the exemplary embodiments are intended to be covered by the present invention.

Claims

  1. A method comprising: as implemented by a processor configured with computer-executable instructions, receiving first data from a first client device, the first data regarding a first game strategy used, by a first game player, in a first game context of a first video game session between the first game player and at least a second game player, the first video game session executing within a video game, the first game strategy being a playcall;updating a game strategy dataset based on the first data, the first data at least including an identity of the first game strategy and an association between the first game context and the first game strategy, the game strategy dataset including a set of one or more previous playcalls used in a set of one or more previous game contexts;receiving gameplay data from a second client device during a second gameplay session, the gameplay data identifying a second game context of the second video game session, the second video game session being between a third player and a fourth player;identifying in the game strategy dataset a set of one or more relevant game strategies based, at least in part, on the second game context during the second video game session, wherein individual game strategies are playcalls available for use within the second video game session;and transmitting to the second client device second data regarding the set of one or more relevant game strategies, the second client device being configured to use the second data to identify at least one suggested game strategy of the set of one or more relevant game strategies for use in the second game context of the second video game session, and generate instructions to output the at least one suggested game strategy within a video game user interface during the second video game session.
  1. The method of claim 1 , wherein the first data further includes a set of one or more game results achieved during the first video game session based on use of the first game strategy.
  2. The method of claim 1 , further comprising analyzing game strategies in the game strategy dataset, the identifying in the game strategy dataset a set of one or more relevant game strategies being further based on analysis results from the analyzing.
  3. The method of claim 1 , wherein the at least one suggested game strategy is output to a video game user interface associated with the third game player for use in the second game context.
  4. The method of claim 1 , wherein at least one suggested game strategy is provided to the third game player, wherein the third game player is a computer game player.
  5. The method of claim 5 , wherein the third game player automatically uses in the second game context at least one game strategy from the set of one or more suggested game strategies.
  6. The method of claim 4 , wherein the third game player is a human video game player.
  7. The method of claim 7 , wherein the second client device providing the set of one or more relevant game strategies for use in the second video game session comprises suggesting at least one game strategy, in the set of one or more suggested game strategies, to the third game player as an available game strategy for use in the second game context.
  8. The method of claim 4 , wherein the set of one or more suggested game strategies are those game strategies, in the set of one or more relevant game strategies, having an associated game context that is at least similar to the second game context.
  9. The method of claim 1 , wherein the first game context comprises a first skill level of the first game player or a second skill level of the second game player.
  10. The method of claim 1 , wherein the video game is a sports video game and the first game context comprises a state of the sports game at a specific time.
  11. The method of claim 1 , wherein the video game is a football video game and the first game context comprises a current offensive team, a current defensive team, a current score, a current game quarter, time left in the current game quarter, a current down, current yards to completion, current line of scrimmage, one or more players on the field, current position of one or more players, current weather, current location, or current time of day.
  12. The method of claim 1 , wherein the video game is a football video game, and the first game strategy being a football-related playcall.
  13. The method of claim 1 , wherein the video game is a role-playing game (RPG), a real-time strategy (RTS) game, a simulation, a first person shooter (FPS) game, or an adventure game.
  14. The method of claim 1 , wherein identifying in the game strategy dataset a set of one or more relevant game strategies is further based, at least in part, on a result achieved during past use of a given game strategy.
  15. The method of claim 1 , wherein identifying in the game strategy dataset a set of one or more relevant game strategies is further based, at least in part, on an effectiveness of a given game strategy.
  16. The method of claim 1 , wherein identifying in the game strategy dataset a set of one or more relevant game strategies is further based, at least in part, on past use by a set of one or more video game players.
  17. The method of claim 1 , wherein identifying in the game strategy dataset a set of one or more relevant game strategies is further based, at least in part, on when or how often a given game strategy was used.
  18. The method of claim 1 , wherein the first game player is at the first client device, the second game player is at a different client device, and the first video game session is established over a network connection between the first client device and the different client device.
  19. The method of claim 1 , wherein the third game player is at the second client device, the fourth game player is at a different client device, and the second video game session is established over a network connection between the second client device and the different client device.
  20. The method of claim 1 , wherein the second data at least includes a set of one or more identities of the relevant game strategies and a set of one or more game contexts associated with the relevant game strategies.
  21. The method of claim 1 , wherein the first video game session or the second video game session is hosted over an online video game network.
  22. A system comprising: a processor configured with computer executable instructions to execute functional modules, the modules comprising: a game strategy aggregator module configured to receive first data from a first client device, the first data regarding a first game strategy used, by a first game player, in a first game context of a first video game session between the first game player and a second game player, the first video game session involving a video game;a game strategy management module configured to update a game strategy dataset based on the first data, the first data at least including an identity of the first game strategy and an association between the first game context and the first game strategy, the first game strategy being a playcall, the game strategy dataset including a set of one or more previous playcalls used in a set of one or more previous game contexts;a communication module configured to receive gameplay data from a second client device identifying a second game context of a second video game session, the second video game session being between a third player and a fourth player;a game strategy analysis module configured to identify in the game strategy dataset a set of one or more relevant game strategies based, at least in part, on the second game context during the second video game session, wherein individual game strategies are playcalls available for use within the second video game session;and a game strategy service module configured to provide a second client device with second data regarding the set of one or more relevant game strategies, the second client device being configured to use the second data identify at least one suggested game strategy of the set of one or more relevant game strategies for use in the second game context of the second video game session, and generate instructions to output the at least one suggested game strategy within a video game user interface during the second video game session.
  23. A method comprising: as implemented by a client computing system comprising a processor configured with computer executable instructions executing a video game application, receiving, from a server, first data regarding a set of one or more relevant game strategies identified in a game strategy dataset based on a set of one or more game strategy criteria, the game strategy dataset including a set of one or more previous game strategies used in a set of one or more previous game contexts, the set of one or more relevant game strategies being associated with the video game application, the set of one or more relevant game strategies being identified based on the set of one or more game strategy criteria;receiving gameplay data identifying a current game context of a current video game session;identifying a set of one or more suggested game strategies, in the set of one or more relevant game strategies, based, at least in part, on the first data and on the current game context of the current video game session between a first game player and at least a second game player, wherein individual game strategies are playcalls available for use within the current video game session;generating instructions to output the set of one or more suggested game strategies within a video game user interface;receiving a user selection of a game strategy from the set of one or more suggested game strategies;and generating instructions to implement the user-selected game strategy within the video game session.
  24. The method of claim 24 , further comprising providing the set of one or more suggested game strategies for use by the first game player in the current game context, the first game player being a human game player.
  25. The method of claim 24 , further comprising providing the set of one or more suggested game strategies for use by the first game player in the current game context, the first game player being a computer game player, the third game player automatically using at least one game strategy from the set of one or more suggested game strategies.

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