This application relates to U.S. Application No.______ filed Feb. 28, 2024, which is titled “SYSTEMS AND METHODS FOR GENERATING AND MANAGING NON-FUNGIBLE TOKENS,” and U.S. Application No.______ filed Feb. 28, 2024, which is titled “SYSTEMS AND METHODS FOR DISPLAYING PLAYER MATCHUPS WITH DYNAMICALLY SELECTED DIFFICULTY LEVELS.” The contents of both of these related applications are incorporated herein in their entirety by reference.
Certain gaming systems may enable players to interact with one another over a network. For example, a gaming system may provide and/or implement a multiplayer video game involving multiple players located remotely from one another. In this example, the gaming system may include and/or represent multiple clients operated by the players matched up against one another and a server that coordinates inputs, instructions, and/or commands submitted by the players for integration into a single game environment.
In certain types of video games, the gaming systems may apply different strength levels to bots that control features of the game environment. For example, a gaming system may provide and/or implement a single-player video game in which a single player fights and/or competes against a game environment controlled by a bot. In this example, the gaming system may modify the strength of the bot controlling the game environment based on certain criteria, such as a player selection, etc.
New types of video games may introduce new considerations that implicate and/or impact strength selections. For example, a new type of video game may implement player matchups in which a player's performance against features of the player's in-game environment are evaluated relative to one another. Unfortunately, conventional techniques for selecting strength levels of the bot controlling such features may be incompatible and/or inadequate for such a video game. The instant disclosure, therefore, identifies and addresses a need for systems and methods for displaying player matchups with dynamically selected bots of varying strength levels.
As will be described in greater detail below, the instant disclosure generally relates to systems and methods for displaying player matchups with dynamically selected bots of varying strength levels. In one example, a system for accomplishing such a task may include and/or implement circuitry configured to implement a video game that involves a first player-versus-environment (PVE) match whose player side is controlled by a human player and a second PVE match whose player side is controlled by a bot player. In this example, the circuitry may be further configured to select, based at least in part on a rating of the human player, the bot player that controls the player side of the second PVE match. Additionally or alternatively, the system may include and/or implement a graphics processing unit (GPU) configured to render a user interface that presents one or more digital elements of the video game that involves the first PVE match and the second PVE match in response to at least one instruction received from the circuitry. The GPU may be further configured to render, in the user interface, at least one player-side character controlled by the bot player in response to the at least one instruction.
In some examples, the circuitry may be further configured to search a database that identifies available human players for an additional human player to control the player side of the second PVE match. In such examples, the circuitry may be further configured to determine, based at least in part on the search, that no additional human player that satisfies a certain threshold of suitability is identified in the database. Additionally or alternatively, the circuitry may be further configured to select the bot player to control the player side of the PVE match in response to determining that no human player that satisfies the certain threshold of suitability is identified in the database.
In some examples, the circuitry may be further configured to determine, based at least in part on the search, that the database indicates that no additional human players are currently available to control the player side of the second PVE match. In one example, the circuitry may be further configured to select the bot player to control the player side of the second PVE match in response to determining that the database indicates that no additional human players are currently available to control the player side of the second PVE match.
In some examples, the circuitry may be further configured to determine, based at least in part on the search, that no additional human players with a rating sufficiently similar to the rating of the human player are currently available to control the player side of the second PVE match. In such examples, the circuitry may be further configured to select the bot player to control the player side of the PVE match in response to determining that no additional human players with a rating sufficiently similar to the rating of the human player are currently available to control the player side of the second PVE match.
In some examples, the circuitry may be further configured to select, based at least in part on the rating of the human player and a rating of the bot player, the bot player from a group of bot players that have varying ratings or are programmed to compete with varying levels of skill. In one example, the circuitry may be further configured to increase or decrease the ratings of the bot players included in the group based at least in part on one or more performances of the bot players.
In some examples, the circuitry may be further configured to analyze one or more gameplay behaviors of human players competing in the video game. In one example, the circuitry may be further configured to generate the bot player to compete similar to one or more of the human players based at least in part on the one or more gameplay behaviors.
In some examples, the gameplay behaviors may include and/or represent a behavior associated with initiating a surge operation in which an increased number or frequency of opponent-side characters is applied to an opponent side of one or more additional PVE matches. Additionally or alternatively, the gameplay behaviors may include and/or represent a behavior associated with initiating a boost operation in which an increased level of skill, strength, or performance is applied to an opponent side of one or more additional PVE matches.
In some examples, the circuitry may be further configured to implement an artificial intelligence (AI) model to analyze the one or more gameplay behaviors of the human players or generate the bot player. In one example, the circuitry may be further configured to train the AI model with training data that includes samples of gameplay representative of the human players competing in the video game. Additionally or alternatively, the bot player may include and/or represent an AI bot that controls the player side of the second PVE match.
In some examples, the circuitry may be further configured to facilitate synchronous playing of the first PVE match and the second PVE match such that the human player and the bot player indirectly compete against each other in view of performances by the human player in the first PVE match and the bot player in the second PVE match. In one example, the rating may be based at least in part on the human player's performance in at least one player-versus-player (PVP) match. Additionally or alternatively, the rating may be based at least in part on the human player's performance in at least one prior PVE match.
In some examples, the first PVE match may involve a first opponent side that includes one or more opponent-side characters controlled by a further bot player. Additionally or alternatively, the second PVE match may involve a second opponent side that includes one or more additional opponent-side characters controlled by an additional bot player.
In some examples, the circuitry is further configured to identify one or more features of a first opponent-side character in the second PVE match and then, upon defeat of the first opponent-side character, spawn a second opponent-side character that has the one or more features in the first PVE match and is controlled by an additional bot player in the first PVE match. In one example, the GPU may render, in the user interface, the second opponent-side character in the first PVE match in response to the defeat of the first opponent-side character.
Similarly, a corresponding computer-implemented method may include implementing, by circuitry, a video game that involves a first PVE match whose player side is controlled by a human player and a second PVE match whose player side is controlled by a bot player. In one example, the corresponding computer-implemented method may also include selecting, by the circuitry, the bot player that controls the player side of the second PVE match based at least in part on a rating of the human player. In this example, the corresponding computer-implemented method may further include rendering, by a GPU, a user interface that presents one or more digital elements of a video game that involves the first PVE match and the second PVE match in response to at least one instruction received from the circuitry. Additionally or alternatively, the corresponding computer-implemented method may include rendering, in the user interface by the GPU, at least one player-side character controlled by the bot player in response to the at least one instruction.
In some examples, a non-transitory computer-readable medium that facilitates and/or implements the above-identified method may include one or more computer-executable instructions. When executed by at least one hardware processor of a computing device, the computer-executable instructions may cause the hardware processor to implement a video game that involves a first PVE match whose player side is controlled by a human player and a second PVE match whose player side is controlled by a bot player and then select the bot player that controls the player side of the second PVE match based at least in part on a rating of the human player. In one example, when executed by the hardware processor of the computing device, the computer-executable instructions may direct a GPU to render a user interface that presents one or more digital elements of a video game that involves the first PVE match and the second PVE match and then render, in the user interface, at least one player-side character controlled by the bot player.
Features from any of the above-mentioned embodiments may be used in combination with one another in accordance with the general principles described herein. These and other embodiments, features, and advantages will be more fully understood upon reading the following detailed description. While the exemplary embodiments described herein are susceptible to various modifications and alternative forms, specific embodiments will be described in detail herein. However, the exemplary embodiments described herein are not intended to be limited to the particular forms disclosed. Rather, the instant disclosure covers all modifications, equivalents, and alternatives falling within this disclosure.
The accompanying drawings illustrate a number of exemplary embodiments and are a part of the specification. Together with the following description, these drawings demonstrate and explain various principles of the instant disclosure.
Throughout the drawings, identical reference characters and descriptions may indicate similar, but not necessarily identical, elements. While the exemplary embodiments described herein are susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and will be described in detail herein. However, the exemplary embodiments described herein are not intended to be limited to the particular forms disclosed. Rather, the instant disclosure covers all modifications, equivalents, and alternatives falling within the scope of the appended claims.
The present disclosure describes various systems and methods for displaying player matchups with dynamically selected bots of varying strength levels. As will be explained in greater detail below, embodiments of the present disclosure may improve the operation of computing systems when generating, coordinating, rendering, and/or displaying images that, in at least some cases, form part of a video game. For example, the present disclosure may align, equalize, standardize, and/or shorten the duration of one or more matches in a player matchup of a video game. These improvements may manifest as fewer GPU cycles to render the image frames, less memory being used during such rendering, and/or fewer communications transferred over hardware memory controllers and/or over hardware input/output (I/O) controllers. This process of graphics generation will be described in greater detail below.
In some examples, a networked gaming system may facilitate, support, and/or provide a video game that involves two or more PVE matches. In such examples, the video game may correspond to, represent, and/or provide a PVE matchup that includes and/or involves at least two different players that compete against each other in an indirect way. For example, rather than fighting against each other directly in the video game, the players may fight against different sets of enemies within their respective in-game environments. In this example, the video game may establish playable characters and/or selectable pieces, maps, heroes, enemies, or interactive elements within those in-game environments.
In some examples, the in-game environments may include and/or represent the maps, enemies, and/or interactive elements with which the playable characters or selectable pieces interact (by, e.g., fighting, competing, etc.). In certain examples, the playable characters and/or selectable pieces may be strategically used to fight against the enemies and/or interactive elements, thus pitting the players against their respective in-game environments. Thus, a PVE matchup may include two or more PVE matches, where each PVE match involves a player facing off against their own in-game environment. In one example, the winning player may be the one who performs best against the corresponding enemies in the PVE matches. Additionally or alternatively, the video game may implement an evaluation scheme that accounts for the players' respective performances, their ratings, and/or the difficulty levels of their respective enemies to determine and/or identify the winning player.
In some examples, one of the players involved in a PVE matchup may be a bot implemented by a computing device, as opposed to a human player operating a client device. In one example, the video game may select such a bot to face off against a human player in a PVE matchup when there are no suitable human opponents available for the human player (e.g., due to a shortage of human players, a shortage of human opponents with ratings sufficiently similar to the human player, etc.). As a specific example, the networked gaming system may include and/or represent a server and/or a client device operated by a human player of the video game. In one example, the server and/or the client device may include and/or represent circuitry (e.g., one or more hardware processors and/or central processing units) that identifies the rating of the human player, who is preparing to control the player side of a first PVE match in the video game. In this example, the circuitry may select a bot player with a rating that falls within a certain threshold and/or range of the human player's rating to control the player side of a second PVE match in the video game.
In some examples, the circuitry may select the bot player from a group of bot players that have varying ratings or are programmed to compete with varying skill and/or strength levels. In one example, the circuitry may strategically select a certain bot player to increase the likelihood that the PVE matches of the human player and the bot player last for similar or identical durations.
In some examples, the server and/or the client device may include and/or represent a GPU that renders a graphical user interface (GUI) that presents one or more digital elements involved in the first PVE match and a second PVE match of the video game in response to one or more instructions received from the circuitry. In response to the instruction(s), the GPU may also render at least one player-side character controlled by the bot player in the GUI.
In some examples, if the ratings of the human and bot players differ significantly from one another, one of those players may be able to complete and/or finish the corresponding PVE match, or certain rounds of the PVE match, faster than the other player. To increase the likelihood that the first and second PVE matches conclude at similar times instead of one being prolonged much longer than the other, the circuitry may select a bot player whose rating is sufficiently similar to the human player's rating. In doing so, the circuitry may improve the operation, functionality, and/or performance of the networked gaming system by reducing the number of GPU cycles needed to render the image frames involved in the video game, using less memory in connection with rendering those image frames, and/or decreasing the amount of communications transferred over one or more hardware memory controllers and/or hardware I/O controllers.
In some examples, the circuitry may select one or more difficulty levels associated with and/or applied to the enemies involved in the different PVE matches based at least in part on the rating of the human player and/or the rating of the bot player. In one example, the difficulty levels associated with and/or applied to those enemies may be strategically selected to increase the likelihood that the PVE matches last for similar or identical durations.
The following will provide, with reference to
In some examples, circuitry 104 may select the most appropriate and/or suitable bot player for PVE match 120(N) from the group of bot players 110(1)-(N). In one example, circuitry 104 may make and/or arrive at this selection of the most appropriate and/or suitable bot player based at least in part on rating 108 of the human player that controls the player side of PVE match 120(1). For example, circuitry 104 may select bot player 110(N) to control the player side of PVE match 120(N) because a rating 116 of bot player 110(N) is the closest and/or most proximate to rating 108 of the human player among all of bot players 110(1)-(N). In other words, of all the ratings of bot players 110(1)-(N), the rating of bot player 110(N) may be closest and/or most proximate to rating 108 of the human player that controls the player side of PVE match 120(1). Accordingly, bot player 110(N) may be the most appropriate and/or suitable opponent for the human player in the PVE match.
In some examples, circuitry 104 may search a database 114 for a human player to control the player side of PVE match 120(N). In such examples, database 114 may include and/or represent information and/or data that identifies human players available to play in PVE match 120(N). In one example, circuitry 104 may determine, based at least in part on the search, that no additional human player that satisfies a certain threshold of suitability is identified in database 114.
In some examples, circuitry 104 may determine, based at least in part on the search, that database 114 indicates that no additional human players are currently available to control the player side of PVE match 120(N). In one example, circuitry 104 may select bot player 110(N) to control the player side of PVE match 120(N) in response to determining that database 114 indicates that no additional human players are currently available to control the player side of PVE match 120(N).
In some examples, circuitry 104 may determine, based at least in part on the search, that no additional human players with a rating sufficiently similar to rating 108 of the human player are currently available to control the player side of PVE match 120(N). For example, circuitry 104 may apply a certain threshold and/or range from rating 108 to determine whether any of the human players identified in database 114 are suitable opponents for the human player that controls PVE match 120(1). In this example, circuitry 104 may determine that no human players identified in database 114 have ratings that satisfy the threshold and/or are within the range from rating 108, thereby indicating that no human players identified in database 114 are suitable opponents for the human player that controls PVE match 120(1). In one example, circuitry 104 may select bot player 110(N) to control the player side of PVE match 120(N) in response to determining that no additional human players with a rating sufficiently similar to rating 108 of the human player are currently available to control the player side of PVE match 120(N).
In some examples, the ratings of bot players 110(1)-(N) may be calculated, computed, and/or determined based at least in part on one or more performances in past PVE matches and/or player-versus-player (PVP) matches. For example, circuitry 104 may calculate, compute, and/or determine ratings for bot players 110(1)-(N) in a way that is similar and/or identical to how rating 108 is calculated, computed, and/or determined for the human player. In one example, rating 108 of the human player may be calculated, computed, and/or determined based at least in part on one or more performances in past PVE matches and/or PVP matches.
In some examples, video game 118 may involve and/or provide PVE matchups that each include and/or represent multiple PVE matches. In one example, each PVE match may include a player side controlled by either a human player or a bot player as well as an opponent side controlled by another bot implemented by a computing device (e.g., circuitry 104). In this example, the player side controlled by either the human player or the bot player may include and/or represent certain characters and/or heroes, such as heroes 202(1)-(N) in
In some examples, video game 118 may include and/or involve synchronous and/or simultaneous playing of PVE matches 120(1)-(N). In one example, circuitry 104 may facilitate and/or support synchronous and/or simultaneous playing of PVE matches 120(1)-(N) such that the players indirectly compete against each other in view of their respective performances in PVE matches 120(1)-(N). In certain implementations, circuitry 104 may determine and/or identify the winning player as the one who performs best against the corresponding enemies in PVE matches 120(1)-(N). Additionally or alternatively, circuitry 104 may implement an evaluation scheme that accounts for the players' respective performances, their ratings, and/or the difficulty levels of their respective enemies to determine and/or identify the winning player.
In some examples, circuitry 104 may monitor, analyze, and/or evaluate one or more gameplay behaviors of human players competing in video game 118. In one example, circuitry 104 may generate one or more of bot players 110(1)-(N) to compete similar to one or more of the human players based at least in part on the one or more gameplay behaviors. Examples of such gameplay behaviors include, without limitation, behaviors associated with initiating surge operations in which an increased number or frequency of opponent-side characters is applied to an opponent side of one or more prior PVE matches, behaviors associated with initiating boost operations in which an increased level of skill and/or strength is applied to an opponent side of one or more prior PVE matches, combinations or variations of one or more of the same, and/or any other suitable gameplay behaviors.
In some examples, one or more of bot players 110(1)-(N) may be configured and/or programmed to behave like a human player with a similar rating, skill level, and/or strength level. For example, circuitry 104 may configure and/or program bot players 110(1)-(N) to initiate, execute, and/or perform surge operations and/or boost operations like a human player with a similar rating, skill level, and/or strength level. Specifically, bot players 110(1)-(N) may initiate, execute, and/or perform such operations with similar or identical timing, patterns, strategies (e.g., event-based triggers) as a human player with a similar rating, skill level, and/or strength level.
In some examples, circuitry 104 may implement an artificial intelligence (AI) model (e.g., AI 122) to monitor, analyze, and/or evaluate the gameplay behaviors of the human players. Additionally or alternatively, circuitry 104 may implement an AI model to generate, create, and/or build one or more of bot players 110(1)-(N). In one example, circuitry 104 may train the AI model with training data 124 that includes samples of gameplay representative of the human players who compete in and/or play video game 118.
In some examples, one or more of bot players 110(1)-(N) may include and/or represent AI bots. In one example, circuitry 104 may train such AI bots via training data 124 to play like human players. In this example, such AI bots may exhibit and/or demonstrate various levels of skill and/or performance versus human players and/or enemies in different environments. In certain implementations, the ratings and/or rankings of bot players 110(1)-(N) may rise and/or fall based at least in part on their performance in PVE and/or PVP matches.
In some examples, GPU 106 may receive instructions 112 from circuitry 104. In one example, GPU 106 may generate and/or render GUI 128 that presents one or more digital elements 130(1)-(N) of video game 118 in response to instructions 112. For example, GPU 106 may generate and/or render player-side characters (e.g., heroes and/or titans) controlled by the player to fight, compete, and/or defend against opponent-side characters (e.g., enemies) in GUI 128. In this example, GUI 128 may correspond to, represent, and/or involve PVE matches 120(1)-(N). In certain implementations, GPU 106 may also generate and/or render the player-side and/or opponent-side characters involved in PVE matches 120(1)-(N) in GUI 128 in response to instructions 112. The opponent-side characters may be automated to perform and/or function according to a certain level of difficulty.
In some examples, circuitry 104 may identify one or more features (e.g., strength, skill, armor, etc.) of an opponent-side character in PVE match 120(1) and then, upon defeat of the opponent-side character, spawn a corresponding opponent-side character in PVE match 120(N). In one example, the newly spawned opponent-side character in PVE match 120(N) may exhibit and/or have the same one or more features as the opponent-side character defeated in PVE match 120(1). In this example, the newly spawned opponent-side character in PVE match 120(N) may be controlled by an additional bot player. In certain implementations, GPU 106 may render, in GUI 128, the newly spawned opponent-side character in PVE match 120(N) in response to the defeat of the opponent-side character in PVE match 120(1).
Similarly, circuitry 104 may identify one or more features (e.g., strength, skill, armor, etc.) of an opponent-side character in PVE match 120(N) and then, upon defeat of the opponent-side character, spawn a corresponding opponent-side character in PVE match 120(1). In one example, the newly spawned opponent-side character in PVE match 120(1) may exhibit and/or have the same one or more features as the opponent-side character defeated in PVE match 120(N). In this example, the newly spawned opponent-side character in PVE match 120(1) may be controlled by an additional bot player. In certain implementations, GPU 106 may render, in GUI 128, the newly spawned opponent-side character in PVE match 120(1) in response to the defeat of the opponent-side character in PVE match 120(N).
In some examples, circuitry 104 may include and/or represent one or more electrical and/or electronic circuits capable of processing, applying, modifying, transforming, displaying, transmitting, receiving, and/or executing data for system 100. In one example, circuitry 104 may access and/or analyze data stored in memory to determine and/or identify rating 108 of the player. Additionally or alternatively, circuitry 104 may launch, perform, and/or execute certain executable files, code snippets, and/or computer-readable instructions to facilitate and/or support displaying player matchups with dynamically selected bots of varying strength levels.
Although illustrated as a single unit in
In some examples, GPU 106 may include and/or represent one or more hardware devices and/or electrical or electronic circuits capable of processing, generating and/or rendering graphical representations (e.g., GUIs, graphics, graphical and/or visual elements, etc.) for presentation on one or more displays, monitors, and/or graphics screens. In one example, GPU 106 may deliver and/or provide such graphical representations to the displays, monitors, and/or graphics screens in connection with video game 118. In certain implementations, GPU 106 may be included and/or incorporated in a server and/or one or more client devices of system 100.
In some examples, ratings 108 and 116 may each include and/or represent any type or form of data, metric, and/or number that corresponds to and/or is commensurate with the player's skill and/or past performances in video game 118 and/or other video games. In one example, ratings 108 and 116 may each include and/or represent an Elo rating and/or a ranking relative to other players (e.g., matchmaking rankings). Additionally or alternatively, ratings 108 and 116 may each be generated and/or calculated based at least in part on the player's past performances in one or more PVP matches and/or in one or more prior PVE matches and/or matchups. Although
In some examples, the opponent-side characters may perform and/or function according to a certain level of difficulty. Such levels of difficulty may implicate and/or govern the strength, performance, and/or skill of the enemies involved in PVE matches 120(1)-(N). In one example, circuitry 104 may execute and/or implement one or more bots that controls the enemies in PVE matches 120(1)-(N) in accordance with the corresponding difficulty levels. In this example, the players operating digital elements 130(1)-(N) in PVE matches 120(1)-(N) may attempt to fight, compete, and/or defend against those enemies.
In some examples, video game 118 may correspond to, represent, and/or provide a PVE matchup that includes and/or involves at least two different players that compete against each other in an indirect way. For example, rather than fighting against each other in video game 118, the players may fight against different sets of enemies within their respective in-game environments. In this example, video game 118 may establish playable characters and/or selectable pieces, maps, enemies, or interactive elements within those in-game environments. The in-game environments may include and/or represent the maps, heroes, enemies, and/or interactive elements with which the playable characters or selectable pieces interact (by, e.g., fighting, competing, etc.). In some cases, the playable characters and/or selectable pieces may be strategically used to fight against the enemies and/or interactive elements, thus pitting the players against their respective in-game environments. Thus, a PVE matchup may include PVE matches 120(1)-(N), where each PVE match involves a player facing off against their own in-game environment.
In some examples, each in-game environment may include and/or represent one or more enemies that proceed along a track from an inlet and/or a source to an outlet, a goal, and/or a destination (e.g., a gate or castle). As a player faces off against the enemies within the corresponding in-game environment, the player may receive or otherwise have access to heroes, titans, and/or other digital elements with special abilities and/or functions. In one example, the player may decide how those digital elements with special abilities are placed within their environment. Additionally or alternatively, the player may further decide which abilities are used, which powerups are applied, whether to purchase additional elements, and/or how those elements are upgraded.
In some examples, these digital elements with special abilities may become overly powerful relative to a given environment and/or relative to another player who is playing against their own in-game environment. In such examples, circuitry 104 may modify or adjust the difficulty levels and/or strengths associated with the enemies or other elements involved in PVE matches 120(1)-(N). In one example, circuitry 104 may dynamically update and/or modify the level of difficulty associated with the enemies over time (e.g., after completing certain rounds) within video game 118. For example, circuitry 104 may perform such dynamic modifications each round, each matchup, and/or on a periodic (e.g., hourly, daily, weekly) basis. In certain implementations, modifying and/or selecting the level of difficulty associated with and/or applied to the enemies may include and/or involve dynamically changing one or more characteristics of the enemies. Examples of such characteristics include damage levels, armor levels, health levels, combinations or variations of one or more of the same, and/or any other suitable characteristics that implicate the difficulty level of the enemies.
In some examples, changes to the level of difficulty may apply whether the player is a human player or an artificial intelligence (AI) player (e.g., a bot). In one example, bots may exhibit and/or demonstrate various levels of skill and/or performance versus human players and/or enemies in different environments. Accordingly, the dynamic changes to the level of difficulty within a PVE match may apply to bot players as well as human players.
In some examples, the player's experience may be less enjoyable and/or impaired if PVE match 120(1) lasts much longer than PVE match 120(N) or vice versa. Moreover, the performance of system 100 and/or its underlying components may be impaired and/or weakened if the duration of one of PVE matches 120(1)-(N) lasts much longer than the other because the longer-lasting PVE match will extend the overall duration of the PVE matchup. In this case, the extension of the overall duration of the PVE matchup may impose a certain workload and/or bandwidth requirement on system 100. If system 100 is scaled to support several instances of PVE matchups and/or video game 118 simultaneously, the workload and/or bandwidth requirement imposed by the extension of the overall duration of one of PVE matches 120(1)-(N) may impair and/or weaken the performance of system 100 not only for PVE matches 120(1)-(N) but also for the other instances of PVE matchups and/or video game 118.
To address and/or solve these technological problems, system 100 may implement certain features and/or functions to align, equalize, standardize, and/or shorten the overall duration of the PVE matchup and/or the duration of one or more of PVE matches 120(1)-(N). For example, circuitry 104 may estimate a likely duration of PVE match 120(1) and then select a bot for PVE match 120(N) based on certain criteria. As a specific example, circuitry 104 may estimate a likely duration of PVE match 120(1) based at least in part on the rating of the player involved in PVE match 120(1), the difficulty level associated with and/or applied to the enemies involved in PVE match 120(1), and/or the historical durations of the player's prior PVE matches. In this example, circuitry 104 may select a certain bot from bot players 110(1)-(N) based at least in part on the rating of the player involved in PVE match 120(1) and/or the likely duration of PVE match 120(1). Circuitry 104 may perform the selection of the bot player and/or certain difficulty levels with the goal and/or objective of aligning, equalizing, and/or standardizing the durations of PVE matches 120(1)-(N). In other words, circuitry 104 may select the bot player and/or the difficulty levels applied to one or more of PVE matches 120(1)-(N) with the goal and/or objective of aligning and/or equalizing the likely duration of PVE match 120(N) and the likely duration of PVE match 120(1).
In some examples, player side 214(1) may include and/or represent heroes 202(1), and opponent side 206(1) may include and/or represent enemies 204(1) with a level of difficulty 210(1). Additionally or alternatively, player side 214(N) may include and/or represent heroes 202(1), and opponent side 206(1) may include and/or represent enemies 204(N) with a level of difficulty 210(N). In one example, levels of difficulty 210(1) and 210(N) may be similar and/or identical to one another. In another example, levels of difficulty 210(1) and 210(N) may be different and/or distinct from one another.
In some examples, enemies 204(1) may be assigned level of difficulty 210(1), and enemies 204(N) may be assigned level of difficulty 210(N). In one example, enemies 204(1) may perform and/or operate according to level of difficulty 210(1), and enemies 204(N) may perform and/or operate according to level of difficulty 210(N). In this example, heroes 202(1) may be controlled by human player 218, and heroes 202(N) may be controlled by bot player 110(N).
In some examples, heroes 202(1) and enemies 204(1) may face off and/or battle in PVE match 120(1) on the left side of map 302. In one example, heroes 202(N) and enemies 204(N) may face off and/or battle in PVE match 120(N) on the right side of map 302.
In some examples, the various systems, components, and/or features described in connection with
In some examples, the phrase “to couple” and/or the term “coupling”, as used herein, may refer to a direct connection and/or an indirect connection. For example, a direct coupling between two components may constitute and/or represent a coupling in which those two components are directly connected to each other by a single node that provides continuity from one of those two components to the other. In other words, the direct coupling may exclude and/or omit any additional components between those two components.
Additionally or alternatively, an indirect coupling between two components may constitute and/or represent a coupling in which those two components are indirectly connected to each other by multiple nodes that fail to provide continuity from one of those two components to the other. In other words, the indirect coupling may include and/or incorporate at least one additional component between those two components.
In some examples, one or more components and/or features illustrated in
As illustrated in
Method 400 may also include the step of selecting, by the circuitry, the bot player that controls the player side of the second PVE match based at least in part on a rating of the human player (420). Step 420 may be performed in a variety of ways, including any of those described above in connection with
Method 400 may further include the step of rendering, by a GPU, a user interface that presents one or more digital elements of a video game that involves the first PVE match and the second PVE match in response to at least one instruction received from the circuitry (430). Step 430 may be performed in a variety of ways, including any of those described above in connection with
Method 400 may further include the step of rendering, in the user interface by the GPU, at least one player-side character controlled by the bot player in response to the at least one instruction (440). Step 440 may be performed in a variety of ways, including any of those described above in connection with
In some examples, system 100 in
Server system 1010 generally represents any services, hardware, software, or other infrastructure components configured to deliver gaming content to players. For example, server system 1010 includes content aggregation systems, media transcoding and packaging services, network components, and/or a variety of other types of hardware and software. In some cases, server system 1010 is implemented as a highly complex distribution system, a single media server or device, or anything in between. In some examples, regardless of size or complexity, server system 1010 includes at least one physical processor 1012 and at least one memory 1014. One or more modules 1016 are stored or loaded into memory 1014 to enable adaptive streaming, as discussed herein.
Client device 1020 generally represents any type or form of device or system capable of playing audio and/or video content that has been provided by server system 1010. Examples of client device 1020 include, without limitation, gaming platforms, mobile phones, tablets, laptop computers, desktop computers, televisions, set-top boxes, digital media players, virtual reality headsets, augmented reality glasses, and/or any other type or form of device capable of rendering digital content. As with server system 1010, client device 1020 includes a physical processor 1022, memory 1024, and one or more modules 1026. Some or all of the adaptive streaming processes described herein is performed or enabled by modules 1026, and in some examples, modules 1016 of server system 1010 coordinate with modules 1026 of client device 1020 to provide adaptive streaming of multimedia gaming content.
In certain embodiments, one or more of modules 1016 and/or 1026 in
In addition, one or more of the modules, processes, algorithms, or steps described herein transform data, physical devices, and/or representations of physical devices from one form to another. For example, one or more of the modules recited herein receive audio data to be encoded, transform the audio data by encoding it, output a result of the encoding for use in an adaptive audio bit-rate system, transmit the result of the transformation to a content player, and render the transformed data to an end user for consumption. Additionally or alternatively, one or more of the modules recited herein transform a processor, volatile memory, non-volatile memory, and/or any other portion of a physical computing device from one form to another by executing on the computing device, storing data on the computing device, and/or otherwise interacting with the computing device.
Physical processors 1012 and 1022 generally represent any type or form of hardware-implemented processing unit capable of interpreting and/or executing computer-readable instructions. In one example, physical processors 1012 and 1022 access and/or modify one or more of modules 1016 and 1026, respectively. Additionally or alternatively, physical processors 1012 and 1022 execute one or more of modules 1016 and 1026 to facilitate adaptive streaming of multimedia gaming content. Examples of physical processors 1012 and 1022 include, without limitation, microprocessors, microcontrollers, central processing units (CPUs), field-programmable gate arrays (FPGAs) that implement softcore processors, application-specific integrated circuits (ASICs), portions of one or more of the same, variations or combinations of one or more of the same, and/or any other suitable physical processor.
Memory 1014 and 1024 generally represent any type or form of volatile or non-volatile storage device or medium capable of storing data and/or computer-readable instructions. In one example, memory 1014 and/or 1024 stores, loads, and/or maintains one or more of modules 1016 and 1026. Examples of memory 1014 and/or 1024 include, without limitation, random access memory (RAM), read only memory (ROM), flash memory, hard disk drives (HDDs), solid-state drives (SSDs), optical disk drives, caches, variations or combinations of one or more of the same, and/or any other suitable memory device or system.
As shown, storage 1110 may store a variety of different items including content 1112, user data 1114, and/or log data 1116. Content 1112 includes video games, GUIs, user-generated content, and/or any other suitable type or form of content. User data 1114 includes personally identifiable information (PII), payment information, preference settings, language and accessibility settings, and/or any other information associated with a particular user or content player. Log data 1116 includes gaming history information, network throughput information, and/or any other metrics associated with a player's connection to or interactions with server system 1010.
Services 1120 includes personalization services 1122, transcoding services 1124, and/or packaging services 1126. Personalization services 1122 personalize recommendations, content streams, and/or other aspects of a user's experience with server system 1010. Encoding services compress media at different bitrates which, as described in greater detail below, enable real-time switching between different encodings. Packaging services 1126 package encoded video before deploying it to a delivery network, such as network 1130, for streaming.
Network 1130 generally represents any medium or architecture capable of facilitating communication or data transfer. Network 1130 facilitates communication or data transfer using wireless and/or wired connections. Examples of network 1130 include, without limitation, an intranet, a wide area network (WAN), a local area network (LAN), a personal area network (PAN), the Internet, power line communications (PLC), a cellular network (e.g., a global system for mobile communications (GSM) network), portions of one or more of the same, variations or combinations of one or more of the same, and/or any other suitable network. For example, as shown in
Communication infrastructure 1202 generally represents any type or form of infrastructure capable of facilitating communication between one or more components of a computing device. Examples of communication infrastructure 1202 include, without limitation, any type or form of communication bus (e.g., a peripheral component interconnect (PCI) bus, PCI Express (PCIe) bus, a memory bus, a frontside bus, an integrated drive electronics (IDE) bus, a control or register bus, a host bus, etc.).
As noted, memory 1024 generally represents any type or form of volatile or non-volatile storage device or medium capable of storing data and/or other computer-readable instructions. In some examples, memory 1024 stores and/or loads an operating system 1208 for execution by physical processor 1022. In one example, operating system 1208 includes and/or represents software that manages computer hardware and software resources and/or provides common services to computer programs and/or applications on client device 1020.
Operating system 1208 performs various system management functions, such as managing hardware components (e.g., graphics interface 1226, audio interface 1230, input interface 1234, and/or storage interface 1238). Operating system 1208 also provides process and memory management models for playback application 1210. The modules of playback application 1210 includes, for example, a content buffer 1212, an audio decoder 1218, and a video decoder 1220.
Playback application 1210 is configured to retrieve digital content via communication interface 1222 and play the digital content through graphics interface 1226. Graphics interface 1226 is configured to transmit a rendered video signal to graphics device 1228. In some examples, playback application 1210 may receive a request from a user to play a specific video game. Playback application 1210 then identifies one or more encoded video and audio streams associated with the requested video game. After playback application 1210 has located the encoded streams associated with the requested title, playback application 1210 downloads sequence header indices associated with each encoded stream associated with the requested title from server system 1010. A sequence header index associated with encoded content includes information related to the encoded sequence of data included in the encoded content.
In one embodiment, playback application 1210 begins downloading the content associated with the requested title by downloading sequence data encoded to the lowest audio and/or video playback bitrates to minimize startup time for playback. The requested digital content file may then be downloaded into content buffer 1212, which is configured to serve as a first-in, first-out queue. In one embodiment, each unit of downloaded data includes a unit of video data or a unit of audio data. As units of video data associated with the requested digital content file are downloaded to the client device 1020, the units of video data are pushed into the content buffer 1212. Similarly, as units of audio data associated with the requested digital content file are downloaded to the client device 1020, the units of audio data are pushed into the content buffer 1212. In one embodiment, the units of video data are stored in video buffer 1216 within content buffer 1212 and the units of audio data are stored in audio buffer 1214 of content buffer 1212.
A video decoder 1220 reads units of video data from video buffer 1216 and outputs the units of video data in a sequence of video frames corresponding in duration to the fixed span of playback time. Reading a unit of video data from video buffer 1216 effectively de-queues the unit of video data from video buffer 1216. The sequence of video frames is then rendered by graphics interface 1226 and transmitted to graphics device 1228 to be displayed to a user.
An audio decoder 1218 reads units of audio data from audio buffer 1214 and output the units of audio data as a sequence of audio samples, generally synchronized in time with a sequence of decoded video frames. In one embodiment, the sequence of audio samples is transmitted to audio interface 1230, which converts the sequence of audio samples into an electrical audio signal. The electrical audio signal is then transmitted to a speaker of audio device 1232, which, in response, generates an acoustic output.
In situations where the bandwidth of server system 1010 is limited and/or variable, playback application 1210 downloads and buffers consecutive portions of video data and/or audio data from video encodings with different bit rates based on a variety of factors (e.g., scene complexity, audio complexity, network bandwidth, device capabilities, etc.). In some embodiments, video playback quality is prioritized over audio playback quality. Audio playback and video playback quality are also balanced with each other, and in some embodiments audio playback quality is prioritized over video playback quality.
Graphics interface 1226 is configured to generate frames of video data and transmit the frames of video data to graphics device 1228. In one embodiment, graphics interface 1226 is included as part of an integrated circuit, along with physical processor 1022. Alternatively, graphics interface 1226 is configured as a hardware accelerator that is distinct from (i.e., is not integrated within) a chipset that includes physical processor 1022.
Graphics interface 1226 generally represents any type or form of device configured to forward images for display on graphics device 1228. For example, graphics device 1228 is fabricated using liquid crystal display (LCD) technology, cathode-ray technology, and light-emitting diode (LED) display technology (either organic or inorganic). In some embodiments, graphics device 1228 also includes a virtual reality display and/or an augmented reality display. Graphics device 1228 includes any technically feasible means for generating an image for display. In other words, graphics device 1228 generally represents any type or form of device capable of visually displaying information forwarded by graphics interface 1226.
As illustrated in
Client device 1020 also includes a storage device 1240 coupled to communication infrastructure 1202 via a storage interface 1238. Storage device 1240 generally represents any type or form of storage device or medium capable of storing data and/or other computer-readable instructions. For example, storage device 1240 is a magnetic disk drive, a solid-state drive, an optical disk drive, a flash drive, or the like. Storage interface 1238 generally represents any type or form of interface or device for transferring data between storage device 1240 and other components of client device 1020.
Many other devices or subsystems are included in or connected to client device 1020. Conversely, one or more of the components and devices illustrated in
A computer-readable medium containing a computer program is loaded into client device 1020. All or a portion of the computer program stored on the computer-readable medium is then stored in memory 1024 and/or storage device 1240. When executed by physical processor 1022, a computer program loaded into memory 1024 causes physical processor 1022 to perform and/or be a means for performing the functions of one or more of the example embodiments described and/or illustrated herein. Additionally or alternatively, one or more of the example embodiments described and/or illustrated herein are implemented in firmware and/or hardware. For example, client device 1020 is configured as an Application Specific Integrated Circuit (ASIC) adapted to implement one or more of the example embodiments disclosed herein.
As detailed above, the computing devices and systems described and/or illustrated herein broadly represent any type or form of computing device or system capable of executing computer-readable instructions, such as those contained within the modules described herein. In their most basic configuration, these computing device(s) may each include at least one memory device and at least one physical processor.
In some examples, the term “memory device” generally refers to any type or form of volatile or non-volatile storage device or medium capable of storing data and/or computer-readable instructions. In one example, a memory device may store, load, and/or maintain one or more of the modules described herein. Examples of memory devices include, without limitation, Random Access Memory (RAM), Read Only Memory (ROM), flash memory, Hard Disk Drives (HDDs), Solid-State Drives (SSDs), optical disk drives, caches, variations or combinations of one or more of the same, or any other suitable storage memory.
In some examples, the term “physical processor” generally refers to any type or form of hardware-implemented processing unit capable of interpreting and/or executing computer-readable instructions. In one example, a physical processor may access and/or modify one or more modules stored in the above-described memory device. Examples of physical processors include, without limitation, microprocessors, microcontrollers, Central Processing Units (CPUs), Field-Programmable Gate Arrays (FPGAs) that implement softcore processors, Application-Specific Integrated Circuits (ASICs), portions of one or more of the same, variations or combinations of one or more of the same, or any other suitable physical processor.
The preceding description has been provided to enable others skilled in the art to best utilize various aspects of the exemplary embodiments disclosed herein. This exemplary description is not intended to be exhaustive or to be limited to any precise form disclosed. Many modifications and variations are possible without departing from the spirit and scope of the present disclosure. The embodiments disclosed herein should be considered in all respects illustrative and not restrictive. Reference may be made to any claims appended hereto and their equivalents in determining the scope of the present disclosure.
Unless otherwise noted, the terms “connected to” and “coupled to” (and their derivatives), as used in the specification and/or claims, are to be construed as permitting both direct and indirect (i.e., via other elements or components) connection. In addition, the terms “a” or “an,” as used in the specification and/or claims, are to be construed as meaning “at least one of.” Finally, for ease of use, the terms “including” and “having” (and their derivatives), as used in the specification and/or claims, are interchangeable with and have the same meaning as the word “comprising.”
This application claims priority to U.S. Provisional Application No. 63/597,290 filed Nov. 8, 2023, the disclosure of which is incorporated in its entirety by this reference.
| Number | Date | Country | |
|---|---|---|---|
| 63597290 | Nov 2023 | US |