U.S. Pat. No. 11,806,631

GAMING CONTENT RECOMMENDATION FOR A VIDEO GAME

AssigneeRovi Guides, Inc.

Issue DateMay 11, 2020

Illustrative Figure

Abstract

Systems and methods for providing game content recommendation of a video game based on player's performance are disclosed. Prior to an actual video game play, a performance metric is calculated based on a stored player data and video settings of the game. The performance metric is evaluated to further calculate a performance metric of video game play session content indicative of aspects of actual video game play. A metrics data of each player in determined from the video game play session content. The player metrics data is analyzed relative to the stored player data and the video settings of the game to determine whether to recommend the video game play session content.

Description

DETAILED DESCRIPTION FIG.1shows an illustrative block diagram of system100for recommending game play session content for a video game, in accordance with some embodiments of the disclosure. System100includes server102, video gaming devices104, communication network106, content source or database108, video game settings database110, metadata database112and computing device114. AlthoughFIG.1shows content source108, video game settings database110, and metadata database112as individual components and as separate from server102, in some embodiments, any of those components may be combined and/or integrated as one device with server102. In one embodiment, server102is communicatively coupled to video gaming devices104, content source108, the video game settings database110and metadata database112by way of additional communication paths, which may be included in communication network106or may be separate from communication network106. Communication network106may be any type of communication network, such as the Internet, a mobile phone network, mobile voice or data network (e.g., a 4G or LTE network), cable network, public switched telephone network, or any combination of two or more of such communication networks. Communication network106includes one or more communication paths, such as a satellite path, a fiber-optic path, a cable path, a path that supports Internet communications (e.g., IPTV), free-space connections (e.g., for broadcast or other wireless signals), or any other suitable wired or wireless communication path or combination of such paths, such as a proprietary communication path and/or network103. Network106, in various aspects, may include the Internet or any other suitable network or group of networks. In one embodiment, the server102is communicably coupled to the computing device114by way of the communication network106. Some example types of computing device102include, without limitation, a gaming device (such as a PLAYSTATION device, an XBOX device, or any other gaming device), a smartphone, a tablet, a personal computer, a set-top box (STB), a digital video recorder (DVR), and/or the like, that provides various user interfaces configured to ...

DETAILED DESCRIPTION

FIG.1shows an illustrative block diagram of system100for recommending game play session content for a video game, in accordance with some embodiments of the disclosure. System100includes server102, video gaming devices104, communication network106, content source or database108, video game settings database110, metadata database112and computing device114. AlthoughFIG.1shows content source108, video game settings database110, and metadata database112as individual components and as separate from server102, in some embodiments, any of those components may be combined and/or integrated as one device with server102. In one embodiment, server102is communicatively coupled to video gaming devices104, content source108, the video game settings database110and metadata database112by way of additional communication paths, which may be included in communication network106or may be separate from communication network106. Communication network106may be any type of communication network, such as the Internet, a mobile phone network, mobile voice or data network (e.g., a 4G or LTE network), cable network, public switched telephone network, or any combination of two or more of such communication networks. Communication network106includes one or more communication paths, such as a satellite path, a fiber-optic path, a cable path, a path that supports Internet communications (e.g., IPTV), free-space connections (e.g., for broadcast or other wireless signals), or any other suitable wired or wireless communication path or combination of such paths, such as a proprietary communication path and/or network103. Network106, in various aspects, may include the Internet or any other suitable network or group of networks.

In one embodiment, the server102is communicably coupled to the computing device114by way of the communication network106. Some example types of computing device102include, without limitation, a gaming device (such as a PLAYSTATION device, an XBOX device, or any other gaming device), a smartphone, a tablet, a personal computer, a set-top box (STB), a digital video recorder (DVR), and/or the like, that provides various user interfaces configured to receive and view content and/or interact with the server102and/or the video gaming device(s)104. In some examples, computing device102provides a display, which is configured to display information via a graphical user interface.

In one embodiment, the server102is configured to aggregate over communication network106, from a variety sources, such video gaming devices104, content that helps to evaluate the video game play session content of the video game for a particular genre at a particular level. Some different types of genres of video games include action, adventure, horror, sports, role play, strategy, puzzle, board, and any combinations of these genres. Server102evaluates the video game play session content based on how the game was played. For example, server102may receive content, such as challenge tutorials or video clips of actual game play played in the video gaming devices104, that shows how the game was played by player(s) and/or the entire team in particular video games or segments thereof. In some embodiments, the server102functions to recommend video game play session content to a user of a computing device114. In one embodiment, the recommendation is based on sequential order of pre-game analysis, in-game analysis, and post-game analysis of the video game play content. The server102compares information in the post-game analysis with information in the post-game analysis to determine whether to recommend the video game play content.

In some embodiments, during the pre-game analysis, the server102retrieves player data from the content108. In one embodiment, the player data includes names/characters of one or more players and player meta data. In one example, the player metadata includes aggregated statistics of combined measurement of performance skills of the player(s) prior to the game play (e.g.FIG.9). In some embodiments, the server retrieves stored video game settings110of the video game. Some different types of settings include physical, temporal, emotional, ethical, and environmental. The settings may vary depending on the genre of the game, in one embodiment, the server102calculates in-game performance metrics based on the player data and the video game settings. In one example, the pre-game performance metrics measures performance of the team(s) using the existing player data and the video settings. The pre-game performance metric measures performance of the teams with respect to the skills of their respective players prior to the actual game play. The pre-game performance metric measures performance of the teams prior to the actual game play (e.g.FIG.8). The pre-game performance metric is compared to a pre-game threshold (pre-determined) to determine likelihood of a video game session of interest. In one embodiment, upon determination of the likelihood of the video game session of interest, stored player data of the video game is used for post-game analysis as described below.

In some embodiments, during the in-game analysis, the server102retrieves metadata112corresponding to video game play session content, which indicates aspects of game play. The metadata includes game play metadata of the video game session. The game play metadata includes parameters that measure abilities of the teams during actual game play. In one embodiment, the server102uses the game play metadata to calculate in-game performance metrics of the game play based on game progression during the video game session. The in-game performance metrics measures various skills performed during the video game session of the actual game play. Some examples of the in-game performance skills include character positioning (CP), route followed (RF), reaction time (RT) etc. The in-game performance metric is compared to an in-game threshold (pre-determined) to determine a compelling game play. In one embodiment, the server determines an aggregated statistics of each of the skills of each of the players from video game play session content. In one example, the aggregated statistics is combined measurement of performance skills of the player(s) during the video game session of the actual game play. In one example, the aggregated statistics is combined measurement of performance skills of the teams during the video game session of the actual game play (e.g.FIGS.10A,10B &10C).

In some embodiments, during the post-game analysis, the server102compares the aggregated statistics from the video game play session content of the in-game analysis with the aggregated statistics prior to the game play stored in the player data of the video game selected in the pre-game analysis. In one embodiment, the server determines that the aggregated statistics from the video play session content is approximately equivalent to the aggregated statistics of the player data and recommends the video play session content to a user of the computing device114.

FIG.2shows an illustrative block diagram of system200for recommending content based on mobile online battle arena multiplayer (MOBA) video game, in accordance with some embodiments of the disclosure. In various embodiments, system200includes some components described above in connection with system100. In particular, system200includes server102, video gaming devices104, communication network106, content source108, video game settings database110, metadata database112and the computing device114. AlthoughFIG.2shows content source108, video game settings database110, and metadata database112as individual components and as separate from server102, in some embodiments, any of those components may be combined and/or integrated as one device with server102. As shown, server102is communicatively coupled to gaming devices104by way of communication network106and is communicatively coupled to content source108, metadata database110, gaming log database202by way of additional communication paths, which may be included in communication network106or may be separate from communication network106.

As illustrated inFIG.2, in one embodiment, the content108includes MOBA content208, which includes player data corresponding to a MOBA video game. In one example, the MOBA content includes player data such as aggregated pre-game metrics for each of the players in the teams (e.g.FIG.9). The aggregated pre-game metrics is a combined measurement of performance skills (e.g. defense skills, attack skills, damage skills, healing skills, control skills) of the player(s) prior to the MOBA video game play. Some examples of the pre-game metrics include pre-game damage metrics, pre-game attack metrics, pre-game defense metrics, pre-game crowd control metrics, pregame global ability metrics etc. In one embodiment, the video settings110include MOBA video game settings210. In one example the MOBA video game setting is a battle ground with two separate teams of multiple players. In one embodiment, the metadata212includes MOBA metadata of a game map and parameters of the MOBA video game play. Some of the parameters include character positioning, route followed, reaction time, objective captured, time elapsed in objective capturing and target destroyed. The character positioning includes positioning of the characters as soon as the game starts for both the teams. The route followed is the route followed by the players in the teams. The reaction time is time it takes for the player/team to reach objectives and participate in fights. The objective captured is the number of objectives captured by the players/teams. Time elapsed is the time it took for the player/teams to capture the objective.

In one embodiment, the server102executes a pre-game analysis of the MOBA video game play to evaluate a MOBA video game play session content. For example, the server102determines in the pre-game analysis whether the MOBA video game is interesting or not. The server utilizes the MOBA video game setting212and the aggregated pre-game metrics from MOBA content208for each of the players in the team to determine pre-game performance metric of each of the teams. In one example, the server102utilizes a graph including the aggregated pre-game metrics (e.g.FIG.9) of the pre-game analysis of three players in a team. The pre-game performance metric measures performance of the teams prior to the actual MOBA video game play (e.g.FIG.8). The pre-game performance metric is compared to a pre-game threshold (pre-determined) to determine likelihood of a MOBA video game session of interest. In one embodiment, upon determination of the likelihood of the MOBA video game session of interest, the aggregated pre-game metrics of the video game is used for post-game analysis as described below.

In one embodiment, the server102executes an in-game analysis of the MOBA video game. The server102utilizes the game map and the parameters from the MOBA metadata212to evaluate the MOBA video game session content in an actual MOBA video game session. Specifically, the server102calculates in-game performance metrics of video game session content utilizing the game map and the parameters. Some examples of the in-game performance metrics include route calculation, number of objectives captured etc. In one example, the server102utilizes the route followed parameter to calculate the route that was followed to reach the target. In another example, the sever102utilizes the objective captured parameter to calculate number of objects captured by the players/teams. In one example, the in-game performance metrics is compared to an in-game threshold (pre-determined) to determine a compelling game play. In one embodiment, the server102determines in-game performance metrics of each of the teams from MOBA video game play session content. The in-game performance metrics are measurement of team's performance during the actual MOBA video game play. The in-game performance metrics correspond to the team's skills during the MOBA video game play session. In one embodiment, the server102calculates an in-game metrics of each of the teams during the MOBA video game session of the actual MOBA game play (e.g.FIG.10A). The in-game metrics represent the teams' skills during the actual MOBA video game play. Some examples of the in-game metrics include in-game damage metrics, in-game attack metrics, in-game defense metrics, in-game crowd control metrics, in-game global ability metrics etc. The server combines the in-game metrics of each of the teams to calculated aggregated statistics from the video game play session content in-game analysis (e.g.FIGS.10B &10C).

In one embodiment, during the post-game analysis, the server102compares the aggregated statistics from the in-game analysis with the aggregated statistics of the pre-game analysis. In one embodiment, the server determines that the aggregated statistics of the in-game analysis from the video play session content is approximately equivalent to the aggregated statistics from pre-game analysis and recommends the MOBA video play session content to a user of the computing device114.

FIG.3is an illustrative block diagram showing additional details of system100(FIG.1) and/or system200(FIG.2), in accordance with some embodiments of the disclosure. In various embodiments, system200includes some components described above in connection with system100. AlthoughFIG.3shows certain numbers of components, in various examples, system300may include fewer than the illustrated components and/or multiples of one or more illustrated components. Server102includes control circuitry302and I/O path308, and control circuitry302includes storage304and processing circuitry306. Computing device104, which may correspond to video gaming device104ofFIG.1andFIG.2, may be a gaming device, such as a video game console, user television equipment such as a set-top box, user computer equipment, a wireless user communications device such as a smartphone device, or any device on which video games may be played. Computing device104includes control circuitry310, I/O path316, speaker318, display320, and user input interface322. Control circuitry310includes storage312and processing circuitry314. Control circuitry302and/or310may be based on any suitable processing circuitry such as processing circuitry306and/or314. As referred to herein, processing circuitry should be understood to mean circuitry based on one or more microprocessors, microcontrollers, digital signal processors, programmable logic devices, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), etc., and may include a multi-core processor (e.g., dual-core, quad-core, hexa-core, or any suitable number of cores). In some embodiments, processing circuitry may be distributed across multiple separate processors, for example, multiple of the same type of processors (e.g., two Intel Core i9 processors) or multiple different processors (e.g., an Intel Core i7 processor and an Intel Core i9 processor).

Each of storage304, storage312, and/or storages of other components of system300(e.g., storages of content source108, video game settings110, metadata database112, and/or the like) may be an electronic storage device. As referred to herein, the phrase “electronic storage device” or “storage device” should be understood to mean any device for storing electronic data, computer software, or firmware, such as random-access memory, read-only memory, hard drives, optical drives, digital video disc (DVD) recorders, compact disc (CD) recorders, BLU-RAY disc (BD) recorders, BLU-RAY3D disc recorders, digital video recorders (DVRs, sometimes called personal video recorders, or PVRs), solid state devices, quantum storage devices, gaming consoles, gaming media, or any other suitable fixed or removable storage devices, and/or any combination of the same. Each of storage304, storage312, and/or storages of other components of system300may be used to store various types of content, metadata, gaming data, media guidance data, and or other types of data. Non-volatile memory may also be used (e.g., to launch a boot-up routine and other instructions). Cloud-based storage may be used to supplement storages304,312or instead of storages304,312. In some embodiments, control circuitry302and/or310executes instructions for an application stored in memory (e.g., storage304and/or312). Specifically, control circuitry302and/or310may be instructed by the application to perform the functions discussed herein. In some implementations, any action performed by control circuitry302and/or310may be based on instructions received from the application. For example, the application may be implemented as software or a set of executable instructions that may be stored in storage304and/or312and executed by control circuitry302and/or310. In some embodiments, the application may be a client/server application where only a client application resides on computing device104, and a server application resides on server102.

The application may be implemented using any suitable architecture. For example, it may be a stand-alone application wholly implemented on computing device104. In such an approach, instructions for the application are stored locally (e.g., in storage312), and data for use by the application is downloaded on a periodic basis (e.g., from an out-of-band feed, from an Internet resource, or using another suitable approach). Processing circuitry314may retrieve instructions for the application from storage312and process the instructions to perform the functionality described herein. Based on the processed instructions, processing circuitry314may determine what action to perform when input is received from user input interface322.

In client/server-based embodiments, control circuitry310may include communication circuitry suitable for communicating with an application server (e.g., server102) or other networks or servers. The instructions for carrying out the functionality described herein may be stored on the application server. Communication circuitry may include a cable modem, an integrated services digital network (ISDN) modem, a digital subscriber line (DSL) modem, a telephone modem, an Ethernet card, or a wireless modem for communication with other equipment, or any other suitable communication circuitry. Such communication may involve the Internet or any other suitable communication networks or paths (e.g., communication network106). In another example of a client/server-based application, control circuitry310runs a web browser that interprets web pages provided by a remote server (e.g., server102). For example, the remote server may store the instructions for the application in a storage device. The remote server may process the stored instructions using circuitry (e.g., control circuitry302) and generate the displays discussed above and below. Computing device104may receive the displays generated by the remote server and may display the content of the displays locally via display320. This way, the processing of the instructions is performed remotely (e.g., by server102) while the resulting displays, such as the display windows described elsewhere herein, are provided locally on computing device104. Computing device104may receive inputs from the user via input interface322and transmit those inputs to the remote server for processing and generating the corresponding displays.

A user may send instructions to control circuitry302and/or310using user input interface322. User input interface322may be any suitable user interface, such as a gaming controller, a remote control, trackball, keypad, keyboard, touchscreen, touchpad, stylus input, joystick, voice recognition interface, or other user input interfaces. User input interface322may be integrated with or combined with display320, which may be a monitor, a television, a liquid crystal display (LCD), an electronic ink display, or any other equipment suitable for displaying visual images.

Server102and computing device104may receive content and data via input/output (hereinafter “I/O”) paths308and316, respectively. For instance, I/O path316may include a communication port configured to receive a live content stream from server102and/or content source108via a communication network106. Storage312may be configured to buffer the received live content stream for playback and display320may be configured to present the buffered content, navigation options, alerts, and/or the like via a primary display window and/or a secondary display window. I/O paths308,316may provide content (e.g., a live stream of content, broadcast programming, on-demand programming, Internet content, content available over a local area network (LAN) or wide area network (WAN), and/or other content) and data to control circuitry302,310. Control circuitry302,310may be used to send and receive commands, requests, and other suitable data using I/O paths308,316. I/O paths308,316may connect control circuitry302,310(and specifically processing circuitry306,314) to one or more communication paths (described below). I/O functions may be provided by one or more of these communication paths but are shown as single paths inFIG.3to avoid overcomplicating the drawing.

Content source108may include one or more types of content distribution equipment including a television distribution facility, cable system headend, satellite distribution facility, programming sources (e.g., television broadcasters, such as NBC, ABC, HBO, etc.), intermediate distribution facilities and/or servers, Internet providers, on-demand media servers, and other content providers. NBC is a trademark owned by the National Broadcasting Company, Inc.; ABC is a trademark owned by the American Broadcasting Company, Inc.; and HBO is a trademark owned by the Home Box Office, Inc. Content source108may be the originator of content (e.g., a television broadcaster, a Webcast provider, etc.) or may not be the originator of content (e.g., an on-demand content provider, an Internet provider of content of broadcast programs for downloading, etc.). Content source108may include cable sources, satellite providers, on-demand providers, Internet providers, over-the-top content providers, or other providers of content. Content source108may also include a remote media server used to store different types of content (e.g., including video content selected by a user) in a location remote from computing device104. Systems and methods for remote storage of content and providing remotely stored content to user equipment are discussed in greater detail in connection with Ellis et al., U.S. Pat. No. 7,761,892, issued Jul. 20, 2010, which is hereby incorporated by reference herein in its entirety.

Content and/or data delivered to computing device104may be over-the-top (OTT) content. OTT content delivery allows Internet-enabled user devices, such as computing device104, to receive content that is transferred over the Internet, including any content described above, in addition to content received over cable or satellite connections. OTT content is delivered via an Internet connection provided by an Internet service provider (ISP), but a third party distributes the content. The ISP may not be responsible for the viewing abilities, copyrights, or redistribution of the content, and may transfer only IP packets provided by the OTT content provider. Examples of OTT content providers include YOUTUBE, NETFLIX, and HULU, which provide audio and video via IP packets. YouTube is a trademark owned by Google LLC; Netflix is a trademark owned by Netflix, Inc.; and Hulu is a trademark owned by Hulu, LLC. OTT content providers may additionally or alternatively provide media guidance data described above. In addition to content and/or media guidance data, providers of OTT content can distribute applications (e.g., web-based applications or cloud-based applications), or the content can be displayed by applications stored on computing device104.

Having described system100, reference is now made toFIG.4, which depicts an illustrative flowchart of process400for recommending content for a video game that may be implemented by using system300, in accordance with some embodiments of the disclosure. In various embodiments, individual steps of process400, or any process described herein, may be implemented by one or more components of system300. Although the present disclosure may describe certain steps of process400(and of other processes described herein) as being implemented by certain components of system300, this is for purposes of illustration only, and it should be understood that other components of system300may implement those steps instead.

At step402, control circuitry302calculates a pre-game performance metric based on stored player data and on stored settings for the video game. The pre-game performance metric measures performance of the teams with respect to their skills. In one example, the video game is a MOBA video game and the stored settings include MOBA video game settings. In one example the stored player data includes skills of each of the players. Such skills in the MOBA video game includes power skills, defense skills, attack skills, damage skills, healing skills, control skills etc. In one example, stored player data includes ability power (AP) scores such as AP defense (AP Def) score, ability power attack (APA) score, attack damage (AD) score, attack damage defense (AD Def) score, crowd control (CC) scores such as CC Done score, CC defense (CC Def) score, healing score etc. of each of the players of the teams. At step404, the control circuitry302determines that the pre-game performance metric meets a pre-game threshold. In one embodiment, the pre-game threshold is pre-determined based on pre-game performance metrics measured for the games that were previously played with the same teams. In one embodiment, steps402and404are part of the pre-game analysis performed by the control circuitry302additional details of which are provided below in connection withFIG.5.

At step406, in response to determining that the pre-game performance metric meets the pre-game threshold, the control circuitry302calculates an in-game performance metric based on stored metadata associated with the video game play session content that is indicative of aspects of game play. The in-game performance metric measures performance of the teams with respect to their skills during the actual game play. At step408, the control circuitry determines that the in-game performance metric meets an in-game performance threshold. In one embodiment, the in-game performance threshold is pre-determined based on video analysis of the games that were played by the same players with the same teams. In one embodiment, steps406and408are part of the in-game analysis performed by the control circuitry302additional details of which are provided below in connection withFIG.6.

At step410, the control circuitry302calculates a post-game aggregated statistics from the video game play session content. In one embodiment, the aggregated statistics are calculated by combining the in-game metrics of each players determined during in-game analysis of the video game play session. At step412, the control circuitry determines that the post-game aggregated statistics meets a post-game threshold. At step414, the control circuitry302analyzes the aggregated statistics relative to the stored player data and stored settings for the video game. In one embodiment, the control circuitry302analyzes the aggregated statistics of in-game analysis with the aggregated statistics of the pre-game analysis stored in the player data. At step416based on the analyzing, the control circuitry302determines whether the video game play session content is to be recommended. In one embodiment, the control circuitry302determines that the aggregated in-game analysis is approximately same as the aggregated pre-game analysis. In one embodiment, steps410,412,414and416are part of the post-game analysis performed by the control circuitry302additional details of which are provided below in connection withFIG.7.

FIG.5depicts an illustrative flowchart of a process500for performing the pre-game analysis of a video game in accordance with some embodiments of the disclosure. Process500, in various embodiments, may correspond to steps402and404ofFIG.4. At step502, the system calculates a pre-game performance metric of each of a first team and a second team of a video game. An example of the pre-game performance metrics of each team is shown inFIG.8.FIG.8illustrates a table800, which includes team A802and team B804. The table800also includes a plurality of scores806such as defense score, crowd control (CC) score, ability power (AP) score, attack damage (AD) score indicative of the pre-game performance metric of each of the team A802and team B804. As shown, the scores806of team A802are approximately equivalent to the scores806of team B804. In one embodiment, the pre-game performance metric is determined based on the stored player data. An example of the stored player data includes aggregated pre-game metrics for each player in the team A802as illustrated inFIG.9.FIG.9depicts a graph900illustrating pre-game analysis of three players of team A802. As shown, the x-axis includes the three players, player1902, player2904and player3906and y-axis illustrates the scores of the pre-game metrics908. As shown the aggregated pre-game metric score includes AP Def score908a, AD Def score908b, attack damage (AD) score908c, CC Done score908d, CC Def score908e, APA score908fand healing score908gof each of the player1,902, player2904and player3906. Although, not shown, a similar graph can be generated illustrating pre-game performance of the three players of team B804.

At step504, the system computes an average value of aggregated pre-game performance metrics of each of the first and the second teams. For example, the average value808of the each of the team A802and team B804is determined to be8i.e. as illustrated inFIG.8. At step506, the system compares this average value of each of the teams with a pre-game threshold average value. The pre-game threshold average value is pre-determined based on pre-game performance metrics measured for the games that were previously played with the same teams. At step508, it is determined whether the average value is greater than a pre-game threshold average value.

In one embodiment, if at step506, it is determined that the average value is greater than the pre-game threshold average value, then, the pre-game threshold average value is updated with the average value at step510. At step512, the control circuitry selects the stored player data of the pre-game performance metrics of the video game for post-game analysis. In one example, the stored player data selected is the aggregated pre-game metrics908illustrated inFIG.9.

In one embodiment, if at step508, it is determined that the average value is not greater than the pre-game threshold average value, then at step514, the video game is discarded and another video-game is selected for performing a pre-game analysis repeating from step502. Accordingly, pre-game analysis of the video game is trained over time on different videos of the same game and database is updated with the updated pre-game threshold average values.

FIG.6depicts an illustrative flowchart of a process600for performing an in-game analysis of a video game in accordance with some embodiments of the disclosure. Process600, in various embodiments, may correspond to steps406and408ofFIG.4. At step602, the control circuitry302calculates an in-game performance metric of a game play of each of the first team and a second team of a video game. The in-game performance metric measures game performance of the teams with respect to their skills during the actual game play session during time intervals. As discussed above, in one example, the in-game performance metric for each is determined based on game map and parameters stored in the metadata of the MOBA video game. Some of the parameters include character positioning (CP), route followed (RF), reaction time (RT), objective captured (OC), time elapsed in objective capturing (TOC), target destroyed (TD), minion management (MM), team fight (TF), and advanced techniques (AT). In one example, character positioning is analyzed as soon as the game starts for both the team and a chart prepared to compare the positioning. In one example, route is followed to determine strategy of each of the teams. In one example, reaction time includes time taken to reach to objectives and participate in fights. Time for both the teams may be calculated and compared. A best game may be where both the teams have reached the place/fights with comparable time so that they can fight to claim advantage. In one example, objective captured is number of objectives that were captured. In one example, objective captured is amount of time taken to capture an objective. In one example, target destroyed includes number of enemy targets destroyed and time taken to destroy the target. In one embodiment, the time taken to destroy the targets are calculated for both teams and compared to identify optimal time. In one example, the minion management includes minion spawn and minion target. In one example, team fight includes ability of each team regarding attacks. In one example advanced techniques include execution of a particular task in the game.

In one embodiment, the control circuitry302utilizes the parameters and the game map to analyze game progression during the MOBA video game session. In one example, the game map includes the location of targets and objectives (that are spawned at a particular time), different routes/paths to reach that target/objective. Such targets are towers that need protection while playing game. If the main tower is destroyed, game is over. Each team needs to protect their tower while attacking the opponent tower. The objectives are special items that are spawned at a particular time and capturing them gives an advantage to the team that has captured it. Thus, in route analysis, the video game analysis is mainly concentrated on what route a player has taken while reaching the target/objective. Since there are multiple routes to the target/objective a best game will be determined in which the players have taken the best route to the target/objective based on their current position. In another example, each MOBA video game includes objectives that are special items that are spawned at a particular time and capturing them gives an advantage to the to the team that has captured it. During the in-game analysis, the efficiency with which each team has reached the objective and captured the objective is analyzed. For example, an objective is going to spawn soon, and both the team are aware of this. Each of the teams is to reach the place and capture it as soon as possible. Data will be collected based on how individual team has played while reaching and capturing that objective. Such data includes how the players have tackled the current engagement (fight in progress), which route is taken to reach the objective, how team has collaborated (strategy) and capture the target, what formation is used around the target and time take to reach and capture the target. Thus, the control circuitry302calculates the in-game performance metric based on this analysis associated with the video game play session content that is indicative of aspects of game play. Some examples of the in-game performance metrics include in-game damage metrics, in-game attack metrics, in-game defense metrics, in-game crowd control metrics, in-game global ability metrics etc.

An example of the in-game performance metrics of each team is shown inFIG.10A.FIG.10Aillustrates a table1000, which includes the team A802and the team B804. The table1000also includes time interval (time)1004and a plurality of scores1006such as CP score, RF score, RT score, OC score, TOC score, TD score, MM score, TF score and AT score indicative of the in-game performance metric of each of the team A802and team B804during each time interval (time)1004. An example of time interval1004is 10 minutes. An average score1008is also calculated for each of the team A802and team B804during each time1004. As shown, the scores1006of team A802are approximately equivalent to the scores1006of team B804during each of the time intervals. Also, the average score1008of team A802is approximately equivaled to the average score1008of team B804during each of the time intervals. Thus, in-game performance metric measures game performance of the teams with respect to their skills during the actual game play session during each of the time intervals.

In one embodiment, an average of the video game progression in a time interval1004(e.g. 10 mins) is computed.FIG.10Billustrates a table1020, which includes the average score1022of the team A802and the average score1024of team B804, the time1004and average/median score1026of the game. The average score1022of each of the teams A802and B804is calculated using the average scores1008of the teams A802and B804respectively from the table1000inFIG.10A. The average/median score1026is calculated using the average scores1022and1024of each of the teams A802and B804, respectively. In one embodiment, an adequate information about duration when the game was most exciting is determined by the average/median score106. Thus, a better prediction of the quality of the game is determined, which is utilized to recommend the video game.FIG.10Cdepicts a graph1030illustrating in-game analysis of the team A802and team B804. As shown, the x-axis includes the team A802and team B804and y-axis includes their respective average scores1022and1024during each of the times1004.

At step604, the control circuitry302compares each of the in-game performance metrics with its corresponding in-game threshold among the plurality of in-game thresholds. The in-game thresholds are pre-determined based on video analysis of the games that were played by the same players with the same teams. For example, an in-game threshold for the MOBA video game includes route analysis threshold. In another example, an in-game threshold for the MOBA video game includes object capture threshold. At step606, it is determined whether at least one of the in-game performance metrics less than its corresponding in-game thresholds. If it is determined that none of the in-game performance metrics is less than its corresponding in-game threshold, then player data of the in-game performance metrics of the video game is selected for post-game analysis at step608. In one embodiment, if at step606, it is determined that at least one of the in-game performance metrics less than its corresponding in-game threshold, then the video game is discarded and another video game is selected for performing in-game analysis repeating from step602. Accordingly, in-game analysis of the video game is trained over time on different video of the same game to select the video game for the post-game analysis.

FIG.7depicts an illustrative flowchart of process700for performing a post-game analysis of a video game in accordance with some embodiments of the disclosure. Process700in various embodiments, may correspond to steps410,412,414and416ofFIG.4.

At step704, compare player data of the in-game performance metrics with player data of the pre-game performance metrics. An example of the post-game analysis of the three players is shown in graphFIG.11A.FIG.11Ashows a graph1100. The y-axis discloses a percentage of each of the scores AP Def score1108a, AD Def score1108b, attack damage (AD) score1108c, CC Done score1108d, CC Def score1108e, APA score1108fand healing score1108gof each of the player1,902, player2904and player3906. The in-game metrics of the players is used in the post-game analysis. An example of the post-game analysis of each player in the first team utilizing data from scores inFIG.11Ais shown in graph1100inFIG.11B. The graph1100of the aggregated metrics of each player in the first team is generated by combining the data of the metrics of the graph1000inFIG.11A. The graph1100shows the aggregated metrics of three players of team A802. As shown, the x-axis includes the three players, player1902, player2904and player3906and y-axis illustrates the scores of the metrics1108. As shown the aggregated metrics score includes AP Def score1108a, AD Def score1108b, attack damage (AD) score1108c, CC Done score1108d, CC Def score1108e, APA score1108fand healing score1108gof each of the player1,902, player2904and player3906. Although, not shown, a similar graph can be generated illustrating the post-game analysis of the three players of team B804.

An example of post-game analysis of each teams is shown inFIG.11C.FIG.11Cillustrates a table1130, which includes the team A802and team B804. The table1130also includes a plurality of scores1136such as AP def score, AD Def score, AD score, CC done score, CC Def score and Healing score indicative of the performance metric of each of the team A802and team B804. As shown, the average scores1138of team A802are relatively equivalent to the scores1138of team B804. In one embodiment, the video game content of this game would be considered a compelling game play for recommendation.

At step704, it is determined whether the in-game performance metrics is approximately equivalent to the pre-game performance metrics. In one example, the post-game analysis of each of the teams as shown inFIG.11Cis used to determine whether the in-game performance metrics is approximately equivalent to the pre-game performance metrics. In one example, the post-game analysis of each of the players as shown inFIG.11Bis used to determine whether the in-game performance metrics is approximately equivalent to the pre-game performance metrics. If at step706, it is determined that the in-game performance metrics is approximately equivalent to the pre-game performance metrics, then the video game play session content of the video game is recommended at step708. If at step706it is determined that the in-game performance metrics is not approximately equivalent to the pre-game performance metrics, then at step710, the video game is discarded and the in-game analysis of video game session content of another video game is selected for in-game analysis. Accordingly, post-game analysis of the video game is trained over time on different video of the same game to select the video game play session of the video game for recommendation.

FIG.12is your flowchart of process1200for recommending content for a video game that may be implemented by using system300, in accordance with some embodiments of the disclosure. In various embodiments, individual steps of process1200, or any process described herein, may be implemented by one or more components of system300. Although the present disclosure may describe certain steps of process1200(and of other processes described herein) as being implemented by certain components of system300, this is for purposes of illustration only, and it should be understood that other components of system300may implement those steps instead.

At step1202, the control circuitry304analyzes stored player data for each player of each team associated with the video game play session and stored settings for the MOBA video game. In one embodiment, the player data includes metrics related to attack metrics, defense metrics, and damage metrics to determine to evaluate the video game play session content. As discussed above, the player data includes pre-game metrics of each of the players in each of the teams. In one embodiment, the step1202of analyzing stored data is performed by the control circuitry302additional details of which are provided below in connection withFIG.13. At step1204, the control circuitry304analyzes an in-game performance of each player of each team in the video game play session content based on a game map of the video game play session content and on in-game metrics for each player of each team determined from the video game play session content. The in-game metrics includes in-game attack metrics, in-game defense metrics, and in-game damage metrics. In one embodiment, the in-game performance is the in-game metrics discussed in detail above. In one embodiment, the step1204of analyzing in-game performance is performed by the control circuitry302additional details of which are provided below in connection withFIG.14. At step1206, the control circuitry304analyzes the aggregated performance metrics after end of the video game play session to determine post-game metrics in terms of player data for evaluation of the video game session content. In one example, the player data includes attack, defense, and damage metrics. In one example, the stored player data indicates that the player1killed 20 dragons in 30 minutes and thus would find the game interesting. In one example, the in-game performance indicates that the player1killed 19 dragons in 30 minutes and thus this would be also considered to be good game and the control circuitry304would recommend a user to watch the video of the MOBA video game play. At step1208, the control circuitry304recommends the video game play session content based on the in-game performance of each player of each team.

FIG.13depicts an illustrative flowchart of a process1300for analyzing stored data in pre-game analysis in accordance with some embodiments of the disclosure. Process1300, in various embodiments, may correspond to step1202ofFIG.12

At step1302, the control circuitry304retrieves stored player of each of the two teams of the video game play session of the MOBA video game. The player data includes pre-game metrics of each player in each of the first and the second teams. For example, the player data is the pre-game metrics of each of the three players in the first team as illustrated in the graph inFIG.9. At step1304, the control circuitry, compares the pre-game metrics of each of the players in the first team with the pre-game metrics of each player in the second team. At step1306it is determined whether the pre-game metrics of each of the players in the first team is equivalent to the pre-game metrics of each player in the second team. If at step1306, it is determined that the pre-game metrics of each of the players in the first team is equivalent to the pre-game metrics of each player in the second team then the process1300leads to in-game analysis where the pre-game metrics of each player is compared to the in-game metrics. If however, at step1306, it is determined that the pre-game metrics of each of the players in the first team is not equivalent to the pre-game metrics of each player in the second team, then at step1308, the control circuitry selects stored player data of video game session of another MOBA video game and process1300is repeated starting at step1302. Accordingly, pre-game analysis of the video game is trained over time on different video of the same game to select the stored player data of the video game content for the in-game analysis.

FIG.14depicts an illustrative flowchart of a process1400for analyzing in-game performance in in-game analysis in accordance with some embodiments of the disclosure. Process1400, in various embodiments, may correspond to step1204ofFIG.12

At step1402, the control circuitry304compares the in-game metrics of each player in the first team and the second teams with the pre-game metrics of each corresponding player in the first and the second teams. In one example, such comparison is executed during post-game analysis as discussed above with respect toFIGS.11A,11B and11C. At step1404, it is determined whether the in-game metrics is approximately equivalent to stored in-game threshold metrics. It at step1404, it is determined that the in-game metrics is approximately equivalent to the stored in-game threshold metrics process1400leads to further post-game analysis. If at step1404, it is determined that the in-game metrics is not approximately equivalent to the stored in-game threshold metrics, then at step1406, the control circuitry304selects in-game metrics of another MOBA video game and process1400is repeated starting at step1402. Accordingly, in-game analysis of the video game is trained over time on different video of the same game to select in-game metrics of the video game play session content to recommend the video game play session content of the MOBA video game.

FIG.15depicts an illustrative flowchart of a process1500of post-game analysis of analyzing data of the video game content in accordance with some embodiments of the disclosure.

At step1502, the control circuitry304retrieves real time calculated aggregated player data of each of two teams upon end of the video game play session. At step1504, it is determined whether the post-game metrics is comparable to pre-game metrics and approximately equivalent to stored post-game threshold metrics. If at step1504, it is determined that the post-game metrics is comparable to pre-game metrics and approximately equivalent to stored post-game threshold metrics, then at step1506, the video game play session content of the MOBA video game is recommended. However, it at step1504, it is determined that the post-game metrics is not comparable to pre-game metrics and not approximately equivalent to the stored post-game threshold metrics, then at step1508, a different MOBA video game is selected and process1500is repeated starting at step1502.

The systems and processes discussed above are intended to be illustrative and not limiting. One skilled in the art would appreciate that the actions of the processes discussed herein may be omitted, modified, combined, and/or rearranged, and any additional actions may be performed without departing from the scope of the invention. More generally, the above disclosure is meant to be exemplary and not limiting. Only the claims that follow are meant to set bounds as to what the present disclosure includes. Furthermore, it should be noted that the features and limitations described in any one embodiment may be applied to any other embodiment herein, and flowcharts or examples relating to one embodiment may be combined with any other embodiment in a suitable manner, done in different orders, or done in parallel. In addition, the systems and methods described herein may be performed in real time. It should also be noted that the systems and/or methods described above may be applied to, or used in accordance with, other systems and/or methods.

Claims

  1. A computer-implemented method for automatically recommending for display video game play session content of a video game, the method comprising: accessing a database of stored pre-game performance metrics for the video game;determining that a pre-game performance metric of a stored player game play session of a plurality of stored game play sessions of the video game meets a pre-game threshold based on stored player data for the video game;receiving at least one game play input, via a user interface, corresponding to the video game play session, the input received via at least one of: a video game controller, a keyboard, or a mouse;in response to determining that the pre-game performance metric of the stored player game play session meets the pre-game threshold, calculating an in-game performance metric based on the at least one received game play input and stored metadata associated with the video game play session content that is indicative of aspects of game play;determining that the in-game performance metric meets an in-game performance threshold;in response to determining that the in-game performance metric meets the in-game performance threshold, determining aggregated statistics from the video game play session content based on the at least one received game play input;analyzing the aggregated statistics relative to the stored player data and stored settings for the video game, wherein the analyzing comprises comparing the in-game performance metrics with the pre-game performance metrics and calculating an average score associated with the in-game performance metrics to determine the quality of the video game play session;and based on the analyzing, automatically generating for display a recommendation to view a segment of the video game play session.
  1. The computer-implemented method of claim 1, further comprising determining a genre of the video game.
  2. The computer-implemented method of claim 2, further comprising calculating the pre-game performance metric and post-game performance metric based on the genre.
  3. The computer-implemented method of claim 1, wherein the determining that the pre-game performance metric meets the pre-game threshold comprises: calculating a plurality of pre-game performance metrics of each member of a first team and for each member of a second team;computing an average value of the pre-game performance metrics of each of the first and the second teams;and comparing the average value with an average pre-game threshold value of the pre-game threshold.
  4. The computer-implemented method of claim 4, further comprising: determining that the average value is greater than the average pre-game threshold value;and in response to determining that the average value is greater than the average pre-game threshold value, updating the average pre-game threshold value with the average value.
  5. The computer-implemented method of claim 1, wherein the determining that the in-game performance metric meets the in-game performance threshold comprises: calculating a plurality of in-game performance metrics for each member of a first team and for each member of a second team at a plurality of time intervals;and comparing, as a player threshold, each of the in-game performance metrics for a first member of the first team with the each of the in-game performance metrics for a respective member of the second team.
  6. The computer-implemented method of claim 1, wherein the player data comprises aggregated pre-game performance metrics of each player among a plurality of players of the video game prior to actual game play of the video game.
  7. The computer-implemented method of claim 7, wherein determining the aggregated statistics comprises: determining aggregated in-game performance metrics of each player among the plurality of players from the video game play session content.
  8. The computer-implemented method of claim 1, further comprising: determining whether the video game play session is to be recommended based on the comparing.
  9. A system for automatically generating for display a recommendation for video game play session content of a video game, comprising: a memory configured to: store player data and settings for the video game;and a control circuitry coupled to the memory and configured to: access the memory to retrieve stored pre-game performance metrics for the video game;determine that a pre-game player performance metric of the stored pre-game performance metrics meets a pre-game threshold based on stored player data for the video game;receiving game play input, via a user interface, corresponding to the video game play session, the input received via at least one of: a video game controller, a keyboard, or a mouse;in response to determining that the pre-game performance metric meets the pregame threshold, calculate an in-game performance metric based on the received game play input and on stored metadata associated with the video game play session content that is indicative of aspects of game play;determine that the in-game performance metric meets an in-game performance threshold;in response to determining that the in-game performance metric meets the in-game performance threshold, determine aggregated statistics from the video game play session content;analyze the aggregated statistics relative to the stored player data and stored settings for the video game, wherein the analyzing comprises comparing the in-game performance metrics with the pre-game performance metrics and calculating an average score associated with the in-game performance metrics to determine the quality of the video game play session;and based on the analysis, automatically generate for display a recommendation to view a segment of the video game play session.
  10. The system of claim 10, wherein the control circuitry is further configured to: determine a genre of the video game.
  11. The system of claim 11, wherein the control circuitry is further configured to: calculate the pre-game performance metric and post-game performance metric based on the genre.
  12. The system of claim 10, wherein to determine that the pre-game performance metric meets a pre-game threshold, the control circuitry is further configured to: calculate a plurality of pre-game performance metrics of each of a first team and a second team;compute an average value of the pre-game performance metrics of each of the first and the second teams;and compare the average value with an average pre-game threshold value of the pre-game threshold.
  13. The system of claim 13, wherein the control circuitry is further configured to: determine that the average value is greater than the average pre-game threshold value;and in response to determining that the average value is greater than the average pre-game threshold value, update the average pre-game threshold value with the average value.
  14. The system of claim 10, wherein to determine that the in-game performance metric meets an in-game performance threshold, the control circuitry is configured to: calculate a plurality of in-game performance metrics for each member of a first team and for member of a second team at a plurality of time intervals;and compare, as a player threshold, each of the in-game performance metrics for each member of the first team with the each of the in-game performance metrics for a respective member of the second team.
  15. The system of claim 10, wherein the player data comprises aggregated pre-game performance metrics of each player among a plurality of players of the video game prior to actual game play of the video game.
  16. The system of claim 16, wherein to determine the aggregated statistics, the control circuitry is configured to: determine aggregated in-game performance metrics of each player among the plurality of players from the video game play session content.
  17. The system of claim 10, wherein the control circuitry is configured to: determine whether the video game play session is to be recommended based on the comparing.

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