Automatic isolation of cheating players from game interactions
The system identifies and penalizes cheating in multiplayer games by moving players to different sessions or servers, using machine learning and AI surrogates to maintain gameplay continuity and fairness.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-11-29
- Publication Date
- 2026-03-16
AI Technical Summary
The challenge in multiplayer video games is addressing inappropriate or unfair actions by players, including cheating, harassment, and other disruptive behaviors that degrade the gaming experience for others.
A system and method that utilizes a server computer to process game state data, identify fraudulent gameplay activities, apply corrective actions, and impose penalties, including moving cheating players to different sessions or servers, using machine learning models to analyze gameplay in real-time, and employing AI surrogates to maintain gameplay continuity.
Effectively isolates cheating players, minimizes disruption, and maintains a fair gaming environment by seamlessly transferring them to different sessions or servers, ensuring other players can continue their gameplay uninterrupted.
Smart Images

Figure 0007830607000001 
Figure 0007830607000002 
Figure 0007830607000003
Abstract
Description
Technical Field
[0001] The present disclosure relates to a system and method for automatically separating unauthorized players from game interactions in multiplayer video games.
Background Art
[0002] An area that is continuously being developed in the gaming industry is the area of multiplayer games that can provide a collective gaming experience to players located in geographically separated locations. An expanding area of the gaming industry is the area of sharing game play videos and spectating game play. Currently, users can record and share game play via websites, social media, etc. Further, users often live stream their game play and other users can watch the game play as if it were occurring in substantially real time.
[0003] Another recent trend in the gaming industry is the shift to cloud gaming. Cloud gaming provides advantages to end users by enabling the remote execution of video games in a data center that can guarantee video game resources. The video generated by the remotely executed video game is streamed to the user's device and the input from the user is relayed back to the data center. This eliminates the need for the end user to own specific hardware to run the game itself. Instead, the end user only needs to own hardware sufficient to stream the game play and can still enjoy a high-quality gaming experience. Further, in theory, cloud gaming enables games from anywhere where a network connection is available.
[0004] The ongoing trends in the video game industry are the increasing sophistication of graphics and the availability of computing resources to meet the demands of modern game engines. As video games evolve, their resolution and frame rates continue to increase, enabling the rendering of highly realistic and detailed virtual environments. Furthermore, the popularity of cloud gaming continues to grow, and the shift to video games running in the cloud is providing greater access to high-quality gaming experiences.
[0005] Embodiments of this disclosure arise within the scope of this context. [Overview of the Initiative]
[0006] Embodiments of this disclosure provide a system and method for automatically isolating cheating players from game interactions in a multiplayer video game.
[0007] In some embodiments, a method is provided which is performed by at least one server computer and includes processing game state data during interactive gameplay of a multiplayer video game to identify a player's gameplay activity as fraudulent, and in response to the identification of a gameplay activity as fraudulent, applying a corrective action to that player during interactive gameplay, wherein the corrective action includes applying a corrective action that points out to the player of the gameplay activity identified as fraudulent, and after applying the corrective action, further processing game state data to identify additional gameplay activity by the player as fraudulent, and in response to the identification of additional gameplay activity as fraudulent, imposing a penalty on the player.
[0008] In some embodiments, the corrective action includes a warning indicating a penalty to the player.
[0009] In some embodiments, the penalty includes reducing the player's gameplay capabilities.
[0010] In some embodiments, the penalty includes moving the player to a different session or server of a multiplayer video game.
[0011] In some embodiments, the penalty involves identifying breakpoints in interactive gameplay, and moving is performed when a breakpoint is reached.
[0012] In some embodiments, identifying a player's gameplay activity as fraudulent includes receiving a flag in response to the player's gameplay activity that was initiated by a second player in a multiplayer video game.
[0013] In some embodiments, identifying a player's gameplay activity as fraudulent involves using a machine learning model to analyze the interactive gameplay of a multiplayer video game in real time.
[0014] In some embodiments, a method is provided which is performed by at least one server computer and includes processing game state data during interactive gameplay of a first session of a multiplayer video game to identify a player's gameplay activity as fraudulent, and, in response to the identification of the gameplay activity as fraudulent, moving the player to a second session of the multiplayer video game.
[0015] In some embodiments, in response to identifying a gameplay activity as fraudulent, identifying and moving an interactive gameplay breakpoint is performed when the breakpoint is reached.
[0016] In some embodiments, a breakpoint is defined by one or more of the following: completion of a stage or event in a multiplayer video game, a player transitioning between virtual environment spaces, or the death of a player in interactive gameplay.
[0017] In some embodiments, moving a player involves capturing the settings associated with the player in the first session and starting the player in the second session using the captured settings.
[0018] In some embodiments, moving a player includes capturing the state of a first session of a multiplayer video game and configuring a second session to substantially replicate at least a portion of the state of the first session in the second session, without the presence of other players in the first session.
[0019] In some embodiments, identifying a player's gameplay activity as fraudulent includes receiving a flag in response to the player's gameplay activity that was initiated by a second player in a multiplayer video game.
[0020] In some embodiments, identifying a player's gameplay activity as fraudulent involves using a machine learning model to analyze the interactive gameplay of a multiplayer video game in real time.
[0021] In some embodiments, a method is provided which is performed by at least one server computer and, in response to the gameplay activity of a second player during interactive gameplay of a first session of a multiplayer video game, receives a flag initiated by the first player of the multiplayer video game, the flag being configured to identify that the gameplay activity of the second player may be fraudulent; in response to receiving the flag, processes the recorded gameplay of the multiplayer video game to verify that the gameplay activity of the second player is fraudulent; and in response to verifying that the gameplay activity of the second player is fraudulent, moves the second player to a second session of the multiplayer video game.
[0022] In some embodiments, in response to further verifying that a second player's gameplay activity is fraudulent, identifying and moving an interactive gameplay breakpoint is performed when the breakpoint is reached.
[0023] In some embodiments, a breakpoint is defined by one or more of the following: completion of a stage or event in a multiplayer video game, a transition between virtual environment spaces by a second player, or the death of a second player in interactive gameplay.
[0024] In some embodiments, moving a second player includes capturing the settings associated with the second player in the first session and starting the second player in the second session using the captured settings.
[0025] In some embodiments, moving the second player includes capturing the state of a first session of a multiplayer video game and configuring a second session to substantially replicate at least a portion of the state of the first session without the other players of the first session.
[0026] In some embodiments, verifying that the gameplay activity of the second player is unauthorized includes analyzing the interactive gameplay activity of the second user by a machine learning model.
[0027] Other aspects and advantages of the present disclosure will become apparent from the following detailed description, which illustrates the principles of the present disclosure in conjunction with the accompanying drawings.
Brief Description of the Drawings
[0028] The present disclosure may be best understood by reference to the following description taken in conjunction with the accompanying drawings, in which further advantages are shown.
[0029] [Figure 1] Conceptually shows the automatic movement of an unauthorized player to different servers / sessions of a multiplayer video game according to an embodiment of the present disclosure.
[0030] [Figure 2] Conceptually shows the detection of important events or transition points for moving an unauthorized player from an existing multiplayer game session according to an embodiment of the present disclosure.
[0031] [Figure 3] Conceptually shows determining when to move an unauthorized player to another server / session using the spatial relationships of the unauthorized players according to an embodiment of the present disclosure.
[0032] [Figure 4]This disclosure conceptually illustrates an implementation of an offline copy server that enables the completion of interactions by unauthorized players.
[0033] [Figure 5] This disclosure conceptually demonstrates the use of a machine learning model to substitute for a fraudulent player according to embodiments of this disclosure.
[0034] [Figure 6] This disclosure conceptually illustrates a player behavior system for detecting and responding to cheating in a multiplayer video game, according to embodiments of this disclosure.
[0035] [Figure 7A] An embodiment of the present disclosure shows a player view of a video game scene, where the player is flagged for cheating or malicious activity.
[0036] [Figure 7B] Figure 7A shows the player view of the video game after analysis of the captured data according to the embodiment.
[0037] [Figure 8A] This disclosure illustrates the application of an automated recognition system that identifies potential cheating behavior to facilitate reporting by players during gameplay. [Figure 8B] This disclosure illustrates the application of an automated recognition system that identifies potential cheating behavior to facilitate reporting by players during gameplay.
[0038] [Figure 9A] This disclosure illustrates an exemplary system used to load game files for games available through a cloud gaming site, according to embodiments of this disclosure.
[0039] [Figure 9B]This flowchart conceptually illustrates the various operations performed to stream a cloud video game to a client device according to embodiments of the present disclosure.
[0040] [Figure 10] This disclosure shows an embodiment of an information service provider architecture according to the present disclosure. [Modes for carrying out the invention]
[0041] The following description provides some specific details to ensure a complete understanding of the disclosure. However, it will be apparent to those skilled in the art that the disclosure can be implemented without some or all of these specific details. In other instances, well-known process steps are not described in detail to avoid obscuring the disclosure.
[0042] A common problem in multiplayer gameplay concerns how to address inappropriate or unfair actions by a given player. Such actions may include gameplay that violates the spirit or principles of video games, or harassment and inappropriate activities towards other players. Therefore, embodiments of this disclosure provide methods and systems for detecting and addressing unfair gameplay. Such methods and systems may help in influencing the correction of inappropriate behavior so that players can collectively promote a better gameplay experience.
[0043] In some embodiments, cheaters are detected by player flagging, which allows video game players to flag cheating behavior for system follow-up. In some embodiments, a machine learning model is trained to recognize cheating behavior and may further offer players the option to flag suspected cheating behavior when it is detected.
[0044] In some embodiments, cheating players are automatically isolated from a given multiplayer session or server of a video game. For example, in response to detection of cheating on the cheating player's side, the cheating player can be moved to a different session or server. Such a move of a cheating player can be managed to be seamless for the cheating player and other players in the video game, or to cause only minimal disruption. In some embodiments, cheaters are allowed to play the game, but in those games, the cheater is separated from normal players who focus on playing together and follow game mechanics and cooperate to progress through the game. It is possible to switch cheating players to a different server or a different game instance or world, and such reassignment can be done in the background and is not fully known to the cheating player.
[0045] Figure 1 conceptually illustrates the automatic transfer of an unauthorized player to a different server / session in a multiplayer video game according to an embodiment of the present disclosure.
[0046] In the illustrated embodiment, the game service 100 is configured to enable multiplayer gameplay of a video game. The game service 100 is typically accessed through a player device operated by each player of the video game, over a network such as the Internet. In some embodiments, the multiplayer video game is a cloud video game run by the game service 100, with the video and audio of the gameplay streamed to the player device. In other embodiments, each instance of the video game runs locally on the player device, the multiplayer gameplay is facilitated by the game service 100, and the sessions are synchronized through the game service.
[0047] As shown in the illustrated embodiment, the game service hosts various servers 102, 106, and 110 that run multiplayer gameplay sessions 104, 108, and 112, respectively. In some embodiments, the game service 100 further includes a matchmaking server 120 configured to provide a matchmaking service for multiplayer gameplay of a video game. That is, the matchmaking server 120 receives requests from players to join a multiplayer session of a video game, assigns players to a particular session of the video game based on criteria such as the players' respective skill levels or experience, and balances team competitiveness, players' geographical location, language, etc.
[0048] For example, in some embodiments, players 122, 124, and 126 are assigned to a multiplayer gameplay session 104 by a matchmaking server 122. In other embodiments, players can organize themselves and decide which players to allow to join a given session, such as by having the first player form a team, host a multiplayer gameplay session, or invite other players to join. Thus, in the illustrated embodiment, players 122, 124, and 126 are connected to a multiplayer gameplay session 104 and participate in multiplayer gameplay of a video game.
[0049] As mentioned above, a problem with multiplayer games is that certain players may engage in cheating or inappropriate behavior. The actions of a cheating player degrade the gameplay experience of other players of the video game. Therefore, it is important to detect and address cheating in multiplayer video games. For this purpose, the game service 100 further includes a player behavior system 114 configured to detect and address cheating through various mechanisms. The player behavior system 114 includes a behavior detection unit 116, which is configured to determine when cheating occurred by a given player. In some embodiments, the behavior detection unit 116 detects cheating based at least in part on receiving flags or reports from players in a given session of the video game. In some embodiments, the behavior detection unit 116 detects cheating by at least in part using a machine learning model.
[0050] Broadly speaking, cheating can include any kind of inappropriate gameplay, malicious gameplay activity, or inappropriate conduct that occurs during gameplay by a given player. Examples of cheating include, but are not limited to, not playing the game or being "AFK" (away from keyboard), playing in a way that harms or is detrimental to one's own team or teammates, playing maliciously or not following game mechanics, "griefing" or intentionally using aspects of the game in an unintended way to annoy / harass / inconveniencing / harm other players, text / voice chat harassment (e.g., using abusive or offensive language or images), and spamming text or voice chat channels.
[0051] In the illustrated embodiment, player 126 is identified as a cheating player who has performed a cheating / inappropriate action in a multiplayer session 104 of a video game. The cheating / inappropriate action is detected by the action detection unit 116. In response, the player action system 114 may take various measures, such as warning player 126 that a cheating action has been detected, advising the player to cease such action, and notifying the player of any penalties that may be imposed on the player. This disclosure describes various types of penalties, including the transfers described below, that may be imposed in response to the detection and verification of cheating. Naturally, in some embodiments, such penalties may be imposed after the cheating has been repeated at least once (detected more than once), or after the player has received at least one warning.
[0052] In some embodiments, the player behavior system 114 includes move logic 118 configured to move a cheating player to a different session of the video game. Continuing with the illustrated embodiment, in response to detecting cheating by player 126, the move logic 118 moves player 126 to a different multiplayer session 108 running by server 106. In this way, cheating player 126 is isolated from the other players 122 and 124, so that player 126 cannot perform harmful or disruptive cheating against players 122 and 124. As will be described in more detail below, the move of cheating player 126 can be configured to minimize disruption to the gameplay of players 122 and 124, as well as to cheating player 126.
[0053] In some embodiments, the server 106 to which the fraudulent player 126 is moved is selected or configured in such a way that it does not allow the player 126 to perform any further fraudulent acts. Such a configuration can take various forms depending on the fraudulent acts performed by the player 126. For example, in some embodiments, it may be desirable to restrict contact between the fraudulent player and other players in order to limit the ability of the fraudulent player to take inappropriate actions against other players. Therefore, the server to which the fraudulent player is moved can be selected or configured as a server with a significantly smaller number of players, a small number of players, widely distributed players, or no other players at all, thereby reducing the likelihood of the fraudulent player coming into contact with other players and thereby reducing the opportunity for the fraudulent player to take inappropriate actions that affect other players.
[0054] In some embodiments, cheating may involve abusing or intentionally misusing specific game mechanics of a video game in a way that is detrimental to other players on the same team or that frustrates other players. For example, a cheating player may abuse an object in a particular setting or abuse the mechanics of a given location in a malicious way that contradicts proper gameplay. With this in mind, the server to which a cheating player is moved may be selected or configured not to present scenarios that would lead to such cheating. For example, in some embodiments, the server to which a cheating player is moved may be selected or configured to present a substantially different location / scenario / scene / setting / world / level of the video game from the previous server, or one that does not contain any object or setting that was previously abused by the cheating player.
[0055] In some embodiments, a cheating player is moved to a new server based at least partially on the characteristics of players on the new server and / or the characteristics of players on the previous server. For example, a cheating player may engage in cheating that makes less experienced players more susceptible and less susceptible to experienced players. Therefore, in some embodiments, a cheating player is moved to a server where players have a higher skill level than players on the previous server. Extending the concept, player characteristics that determine susceptibility to a given type of cheating can be analyzed and correlated. Then, when a given type of cheating by a cheating player is detected, the cheating player can be moved to a server with players exhibiting characteristics that make them less susceptible to the detected type of cheating. In this way, the cheating player is moved to a session where it is more difficult for the cheating player to exploit other players in the same way.
[0056] Extending the above concept broadly, it is naturally possible, in various embodiments, to move a cheating player to a server / session configured with conditions for a multiplayer video game that reduce the likelihood of the cheating player engaging in the same type of cheating previously detected in the previous server / session.
[0057] In some embodiments, cheating players are moved to the same session / server so that other cheating players can play together. For example, in the illustrated embodiment, another multiplayer session 112 of the video game is instantiated by server 110. Players 128, 130, and 132 are participating in the gameplay of the video game in multiplayer session 112. During gameplay, cheating by player 128 is detected by the behavior detection unit 116. In response, cheating player 128 is moved to server 106. In this way, cheating player 128 is moved to the same server as cheating player 126, so that other cheating players are concentrated in the same session. By having other cheating players play together in the same session, they are unable to take inappropriate actions against other players who are trying to play the video game honestly according to the proper gameplay mechanics.
[0058] In some embodiments, the reassignment of a cheating player to a different server / session is carried out in a manner that preserves game continuity for the cheating player and / or other players. It may be undesirable to suddenly terminate a cheating player's game, as the cheating player may still want to end the game. However, the cheating player may be required to move because they have been identified and, for example, are with other players who tend to be targets for cheating, or are in a situation where they tend to play in a manner that does not follow game mechanics. Therefore, in some embodiments, aspects of the existing session are duplicated / clone / copied to the new session to which the cheating player is moved.
[0059] For example, in some embodiments, a fraudulent player's digital inventory is duplicated from the previous session, so that when the transfer occurs, the fraudulent player possesses the same weapons, skins, armor, digital currency, virtual objects, etc., that they owned in the previous session. In this way, the fraudulent player perceives the continuity of their digital inventory even when transferred to a new session.
[0060] In some embodiments, the illegitimate player is moved in the new session to the same virtual location in the game world as their last location in the previous session at the time the move occurred. In some embodiments, the illegitimate player has the same orientation as their last orientation in the previous session in the new session. In some embodiments, other aspects of the illegitimate player's previous gameplay experience in the previous session are replicated in the new session to which the illegitimate player is moved. Such other aspects may include, but are not limited to, the presence and composition of enemies or virtual characters, the presence / location / conditions of virtual objects, weather, music, game settings, etc.
[0061] Naturally, if a cheating player is moved, the remaining players will not move with the cheating player, thus isolating the cheating player from the others. In some embodiments, to further maintain the continuity of the cheating player's gameplay and make the move more transparent, an AI surrogate character (or bot) is instantiated in the new session in place of the other players who are not moved to the new session. The AI surrogate character can be configured to have the same or similar configuration to the other players in the previous session, such as having the same or similar appearance, skin, weapons, objects, etc. Furthermore, in some embodiments, the AI surrogate character is configured to perform in a similar manner to the player being surrogated. For example, the AI surrogate character can be configured to have similar gameplay to the player being surrogated, such as similar skill levels and playstyle. This can make the move experience even more transparent to the cheating player.
[0062] Figure 2 conceptually illustrates the detection of a critical event or transition point that moves an unauthorized player from an existing multiplayer game session, according to an embodiment of the present disclosure. The multiplayer session 104 is hosted by the game service 100 as described above, and players 122, 124, and 126 participate in the gameplay. Naturally, video game players connect to the multiplayer session 104 via a player device, such as a game console, personal computer, laptop computer, tablet, mobile phone, or other computing device local to the player. Gameplay video is typically rendered on a display device, which may be integrated into the player device or separate from the player device. In the illustrated embodiment, players 122, 124, and 126 operate player devices 218, 222, and 226, respectively, which communicate with the multiplayer session 104 via the network 216.
[0063] Player devices 218, 222, and 226 run local sessions 220, 224, and 228 of the video game, respectively. Depending on the multiplayer game architecture, more or less processing and handling of the video game's game state can be handled by local sessions on the player devices or by multiplayer sessions on the server. In some embodiments, the video game runs entirely in the cloud, with gameplay video (including image and audio data) from multiplayer session 104 streamed over the network to the player devices, and the local sessions present the video (e.g., via displays and speakers), collect input, and send it back to the multiplayer sessions. In some embodiments, the video game runs primarily by local sessions, each local session maintaining a local copy of the game state, and multiplayer session 104 enables synchronization of the game state across player devices. In some embodiments, the video game runs partially by local sessions on the player devices and partially by multiplayer sessions on the server.
[0064] As described above, when a cheating player is detected, in some embodiments, the cheating player is moved to a different server / session. However, in order to maintain the continuity of the current session of the video game, in some embodiments, the move of the cheating player does not necessarily occur immediately after it is decided that the cheating player should be moved. Rather, an appropriate time or breakpoint in the game is determined for the move to minimize disruption to either the cheating player or the remaining players in the multiplayer session, and to maintain the continuity of the event with minimal interruption to existing gameplay. In this way, the migration of the cheating player can be done in an unobtrusive manner that may even be transparent to the cheating player and / or other players.
[0065] One or more eligible transition / critical / breakpoint events are detected, and any malformed players are migrated to a new server / session when an eligible transition event occurs. The execution of a multiplayer session generates a continuously updating server game state 200 that drives gameplay using user input applied to the game engine. To detect events occurring during gameplay, game state data 202 (and / or game telemetry data) is retrieved from the server game state 200 and analyzed using an event detection process 204 to identify when an eligible transition event occurs. In some embodiments, game state data 202 may further include game state data and / or game telemetry data from any of the players' local sessions.
[0066] Non-exclusive examples of eligible transition events or breakpoints include the death of a cheating player or another player (reference number 206), traversing or transitioning from one area of the game to another (reference number 208, e.g., opening or moving through a door / gate / entrance / partition, crossing a boundary, jumping between locations on the game map), completing significant activities within the game story (reference number 210, e.g., completing a stage / chapter / level / major event, defeating a boss character, solving a puzzle, entering a new area of the game space, one team defeating another, one team scoring against another, etc.), periods of low activity or low player interaction (e.g., periods without combat or weapon use by a cheating player and / or other players in the game, combat below a threshold level, etc.), and pausing the game (reference number 212). When such an eligible transition event is detected, the subsequently detected cheating player is moved to a new session / server (reference number 214). In other words, the transfer of a detected fraudulent player does not necessarily occur immediately after detection; it is delayed until a suitable transfer event occurs, after which the transfer is processed.
[0067] Thus, the movement of malfeased players is performed at the moment of game transition to minimize disruption caused by the transition. For example, if a malfeased player dies, they may be respawned in a new session / server. For example, if a malfeased player passes through a door, they are moved and, in some embodiments, arrive at an intended location in the game space (e.g., on the other side of the door), although in a different session / server.
[0068] Figure 3 conceptually illustrates, in an embodiment of the disclosure, how the spatial relationships of a rogue player are used to determine when to move the rogue player to a different server / session. As described, it is generally desirable to minimize disruption caused by moving a rogue player. Therefore, in some embodiments, the spatial relationships between a rogue player and other players can be used to determine when to move a rogue user.
[0069] For example, in the illustrated embodiment, the position / location of the rogue player 126 relative to other players 122 and 124 in the virtual space is shown. The rogue player 126 is placed at a first distance 300 from the nearest player 122. In some embodiments, at this stage, even if the rogue player 126 is identified as rogue and is scheduled to be moved, it is not moved because the rogue player 126 is too close to the nearest player 122. In other words, in some embodiments, if the rogue player is within a predetermined distance from the nearest other player, no movement occurs. However, if the rogue player 126 moves to the position indicated by reference numeral 126a, the rogue player 126 is moved to a new server / session. In other words, in some embodiments, if the rogue player 126 moves beyond a predetermined distance from the nearest other player, the rogue player is moved from the current session to a new session. Thus, if it is determined that the fraudulent player 126 is sufficiently isolated or sufficiently far from the vicinity of other players, the fraudulent player 126 is moved.
[0070] In some embodiments, when an unauthorized player 126 moves from one region of the virtual space to another region of the virtual space, the movement is initiated. For example, in the illustrated embodiment, player 126 moves from region 308 to region 310 of the virtual space. In some embodiments, when the movement to region 310 is detected, the unauthorized player's movement is initiated.
[0071] In some embodiments, the gaze direction or field of view of an illegal player is analyzed and used, at least in part, to determine when the illegal player should be moved. For example, initially, illegal player 126 is shown to have a gaze direction 304 directed at at least player 124, and its field of view may further include player 122. In some embodiments, no movement of the illegal player occurs while the illegal player's gaze direction or field of view is directed towards another player, or while the illegal player's field of view in the virtual space includes other players. However, movement occurs when the illegal player's gaze direction changes, for example, to gaze direction 306 in the illustrated embodiments. That is, the illegal player is moved if the illegal player's gaze direction is away from other players, or if the illegal player's field of view does not include other players.
[0072] In some embodiments, the movements of the illegal player and / or other players, and / or the relative movements of players are analyzed and used at least in part to determine when the illegal player should be moved. For example, in some embodiments, the illegal player is not moved until it is determined that the illegal player and all players within a given neighborhood of the illegal player are moving away from each other. This may be based on the determination that the illegal player is moving away from one or more other players, and / or that one or more other players are moving away from the illegal player. In some embodiments, the velocity and / or acceleration of the players' movements are also considered when determining when the illegal player should be moved. For example, the velocity and / or acceleration of the relative movements of players may amplify the effect of such movements when determining when the illegal player should be moved.
[0073] Naturally, in some embodiments, the above concepts can be combined. For example, in some embodiments, the distance of the fraudulent player from the next nearest player, the direction of the fraudulent player's gaze or field of view, and the movement of players relative to each other are factors used to determine when to move the fraudulent player. For example, such factors can be quantified and combined into a score, and when the score exceeds a threshold, the fraudulent user is moved. In some embodiments, the distance of the fraudulent player from the nearest player is positively correlated with the likelihood of movement, and as the distance increases, the likelihood of the fraudulent player being moved also increases. In some embodiments, the degree to which the fraudulent player's gaze is directed towards other players, or the degree to which their field of view includes other players, is negatively correlated with the likelihood of movement, and the more the fraudulent player's gaze is directed towards other players, or the more other players the fraudulent player's field of view includes, the higher the likelihood of the fraudulent player being moved. In some embodiments, if a cheating player and at least one other player move relative to each other, the likelihood of the cheating player moving increases.
[0074] Figure 4 conceptually illustrates an embodiment of an offline copy server that enables the completion of an interaction by a cheating player according to an embodiment of the present disclosure. For example, a cheating player may be in the middle of a battle but has received enough flags to warrant / need to move, or has committed enough cheating. Therefore, it is desirable to appropriately move the cheating player to another server while allowing the cheating player to complete the battle or major interaction. Thus, in some embodiments, a temporary offline copy server 400 is instantiated locally on the player device 226 to substantially replicate the gameplay experience of the cheating player's multiplayer session.
[0075] The copy server 400 acquires or copies at least a portion of the server game state 200 to substantially replicate aspects of the rogue player's gameplay, and the local session 228 switches from communicating with the multiplayer session 104 to communicating with the copy server 400. In this way, the rogue player 126's local session 228 no longer communicates with the multiplayer session 104, and therefore the rogue player 126 is unable to interact with the multiplayer session 104. Nevertheless, the rogue player 126 can continue gameplay in substantially the same continuous manner and complete battles or other major interactions in that world. Naturally, since the copy server 400 provides similar functionality to the multiplayer session 104, the rogue player's local session 228 does not need to make any significant adjustments other than being redirected to the copy server 400.
[0076] In some embodiments, the copy server 400 instantiates an AI bot to replace other players from the multiplayer session 104. In some embodiments, the AI bot is configured to make it appear to the fraudulent player 126 that other players are still playing in the same session.
[0077] In some embodiments, after combat or other major interactions in the game world are completed using the copy server 400, the illegitimate player is returned to the live server / session in which the actual player is participating. For example, the initial local session 228 may be terminated, and a new local session 402 may be instantiated to connect to a different multiplayer session 404. In other embodiments, local session 228 continues and transitions to multiplayer session 404. In some embodiments, aspects from the copy server 400 are merged or added to the server game state 406 of multiplayer session 404.
[0078] Although the copy server 400 is described as running locally, in some embodiments the copy server may be cloud-based, accessible over a network, and / or be part of the game service 100.
[0079] Figure 5 conceptually illustrates the use of a machine learning model to substitute for a cheating player according to an embodiment of the present disclosure. In the illustrated embodiment, the cheating player 126 is identified and moved to a different session / server so that the cheating player 126 no longer engages in cheating in the current multiplayer session 104. However, this raises the question of how the remaining players 122 and 124 continue gameplay in the absence of the cheating player 126 in the illustrated embodiment. Therefore, in some embodiments, an AI player 504 replaces the moved cheating player 126.
[0080] To provide an AI player 504, in some embodiments, a player AI / machine learning model 502 is trained to behave like a cheating player 126. Telemetry data and / or game state data 202 are taken from a game session, such as a multiplayer session 104, and stored as player data 500. The player data 500 includes data about the cheating player's gameplay. The AI / machine learning model 502 is then trained to behave like a cheating player with respect to gameplay using the player data 500. That is, the machine learning model 502 is trained using the cheating player 126's recorded gameplay to perform gameplay actions similar to those performed by the cheating player 126. For example, given recorded inputs provided by a cheating player in response to game situations and scenarios, the machine learning model 502 can be trained to provide the same or similar inputs in response to the same / similar situations and scenarios.
[0081] Naturally, the player data 500 includes data describing the game scenarios faced by the player 126 and data describing the player's responses, such as controller inputs or other inputs. In some embodiments, the player data 500 further includes video of the player's gameplay, and the machine learning model 502 is trained using the video to mimic the player 126's gameplay in response to the scenes depicted by the video.
[0082] Naturally, the machine learning model 502 is trained using the recorded gameplay of player 126, but the training of the machine learning model 502 is configured to avoid training the machine learning model 502 to perform cheating. For this purpose, in some embodiments, data indicating scenarios in which cheating occurred is identified and removed from the training dataset.
[0083] Therefore, in some embodiments, a trained machine learning model 502 is used to instantiate an AI player 504 in a multiplayer session 104 to replace a cheating player 126 that has moved to another session. Thus, the AI player 504 is configured to participate in the gameplay of the multiplayer session 104 in a style similar to that of the cheating player 126. Naturally, the AI player 504 can be configured to have the same appearance and inventory as the moved cheating player 126, and can be inserted into the same position at the same time that the cheating player 126 moves out of the multiplayer session, and the replacement of the cheating player 126 with the AI player 504 is transparent to the other players 122 and 124 in the multiplayer session.
[0084] In some embodiments, when an invalid player 126 is removed from the multiplayer session 104, a new player is allowed to join the multiplayer session 104 in place of player 126. For example, in some embodiments, the game service may implement a player queue 506 that queues players waiting to join the video game's multiplayer session. Thus, in some embodiments, when an invalid player 126 is removed from the session, a new player 508 is added to the multiplayer session 104 from the player queue 506. In other embodiments, players who may be interested in joining the multiplayer session 104 are notified and invited to join, perhaps through a messaging service implemented by the game service.
[0085] Naturally, since a new player 508 joins a multiplayer session in which other players are already playing, the new player may be at a disadvantage compared to the other players who are already playing. Therefore, in some embodiments, the new player 508 may be provided with contextual information about the multiplayer session 104 so that they can enter the session with knowledge of the session and its gameplay. For example, the new player 508 may be given the setting / location / scene of the video game in which the gameplay is taking place in the multiplayer session 104, a description of the events that occurred, statistics about other players, and other information. In some embodiments, the new player 508 may be shown a video of previous gameplay in the multiplayer session 104 so that they can understand the events that have occurred in the multiplayer session 104 before joining.
[0086] In some embodiments, a new player 508 joins the multiplayer session 104 by taking over control of a character (or other representative virtual object) controlled by an unauthorized player 126 in the multiplayer session 104. Thus, the character associated with the unauthorized player 126 remains present in the multiplayer session 104, but is now operated and controlled by a different player. This helps minimize disruption to gameplay from the perspective of other players in the multiplayer session 104.
[0087] Figure 6 conceptually illustrates a player behavior system for detecting and responding to cheating in a multiplayer video game according to an embodiment of the present disclosure. In some embodiments, the player behavior system 114 is implemented by the game service 100 as described above. The components of the player behavior system 114 will be described with reference to exemplary embodiments. As described above, the player behavior system 114 includes a behavior detection unit 116 for detecting player-side cheating in a multiplayer video game.
[0088] In some embodiments, a user / player can report malicious or cheating behavior by other players (e.g., AFK, chat harassment, griefing, spam, etc.). For this purpose, the behavior detection unit 116 includes a flagging system 600, which is configured to allow a player to flag cheating when they encounter it. For example, during gameplay, if a player wants to flag another player for cheating, they may press a button or open an interface to begin flagging the other player. In some embodiments, the interface may allow the player to input information describing the nature of the recognized cheating. In some embodiments, such an interface may include predetermined options that the recording player can select.
[0089] Furthermore, once a flagging event is initiated, game state and video captures can be recorded as evidence of potential cheating. For example, in some embodiments, in response to the reporting player initiating flagging, the reporting player is provided with an interface to identify the portion of gameplay video that indicates the suspected cheating they are reporting. In some embodiments, the interface allows the reporting player to trim existing buffered / recorded gameplay video to identify the portion selected for flagging. In addition, corresponding game state data, such as game state data corresponding to the timecode of the selected gameplay video identified by the reporting player, is captured.
[0090] In some embodiments, when a player initiates flagging, gameplay video and / or game state from a predetermined period prior to the flagging initiation is automatically captured, for example, by a game state / video capture unit 606 and stored in the cheating data storage 614. For example, in some embodiments, the N seconds immediately preceding the video and / or game state (e.g., N=5, 10, 20, 30, 45, 60, 90, 120, etc.) can be captured. In some embodiments, the duration captured and associated with the flagging event depends on an analysis of the interactions occurring in the gameplay. For example, if the flagging event identifies a potentially cheating player, the captured duration may be determined by analyzing the game state to identify the duration of the interaction involving the cheating player and the reporting player immediately preceding the flagging initiation. In other embodiments, the captured duration is determined by analyzing the game state to identify the duration of the activity immediately preceding the flagging initiation (e.g., combat activity or other game interaction).
[0091] In some embodiments, the captured gameplay video and / or game state may further include gameplay video and / or game state that occurred after the reporting player initiated the flagged event, such as for a predetermined period after flagging, or until the game activity in which the reporting player was involved ended or completed (e.g., battle, completion of a critical event).
[0092] Naturally, a given player may mistakenly identify another player as exhibiting cheating behavior. Therefore, in some embodiments, the behavior detection unit 116 further includes verification logic 604 configured to verify whether the flagged behavior was actually malicious or cheating. In some embodiments, the verification logic 604 employs a machine learning model 602 to determine whether the reported behavior was actually malicious or cheating. In some embodiments, the machine learning model is trained using a dataset of cheating behaviors so that the machine learning model can determine whether a given scenario constitutes cheating.
[0093] In some embodiments, the verification logic 604 is configured to verify whether the reported conduct was cheating by surveying other players in the game, such as players on the same team as the player alleged to be cheating, players on the opposing team, or a combination of players from both teams. Specifically, players may be presented with recorded gameplay video showing the alleged cheating and asked to provide input indicating whether they believe the alleged cheating occurred. In some embodiments, the alleged cheating is verified if the majority of the surveyed players indicate that they believe the conduct was indeed cheating.
[0094] In some embodiments, a combination of machine learning models and investigations of other players is used to determine whether cheating has occurred. For example, in some embodiments, the machine learning model is used as a tiebreaker when an equal number of players indicate cheating and non-cheating. In some embodiments, the machine learning model and player accusations are weighting factors used to determine whether the reported behavior was cheating. For example, a player on the same team as the player accused of cheating may be weighted more heavily than an accusation from a player on the opposing team. In some embodiments, a highly reputable player may be given a higher weight than an accusation from a less reputable player. In various embodiments, the machine learning model's decisions may weight some or all of the player accusations more or less than or equal to the total number of accusations.
[0095] In some embodiments, the behavior detection unit 116 can automatically report or flag a player for malicious behavior. For example, a machine learning model 602 can be trained to recognize cheating and then run in the current multiplayer game session and applied to flag malicious behavior. In some embodiments, alleged cheating flagged by the machine learning model is verified by verification logic 604, for example, by presenting the flagged behavior to the alleged player's teammates (e.g., by presenting a video) and asking the teammates to decide whether they believe the flagged behavior was indeed cheating.
[0096] Naturally, video and / or game state captures can be performed for actions flagged by the machine learning model and stored in the cheating data storage 614. Captured data of identified cheating (whether identified by the player or by the machine learning model), and particularly verified cheating, can be used to further train the machine learning model, so that over time, the machine learning model improves its recognition of cheating in both scope and accuracy.
[0097] As explained, in some embodiments, when cheating is detected, the move logic 608 is involved in moving the cheating player to a different session / server.
[0098] In some embodiments, when cheating is detected, a corrective action unit 610 implements a corrective action. The corrective action is configured to prevent the cheating from recurring or to motivate the cheating player to refrain from cheating. In some embodiments, the cheating player can be notified that malicious behavior has been reported (for example, if the behavior has been verified as malicious by a machine learning model). In some embodiments, the cheating player is notified of what they were determined to have done wrong. This can be configured so that they learn from their mistake, or are banned (for example, temporarily or permanently) if they do not learn.
[0099] In some embodiments, a video game can access the above-mentioned functions and data via API 618, so that the video game can implement its own corrective measures and systems. For example, a video game may implement its own "three strikes" system.
[0100] In some embodiments, the game service system may take corrective action and temporarily ban the game service or a specific game due to malicious activity.
[0101] Naturally, in various embodiments, various corrective actions can be taken in response to the detection and / or verification of cheating. For example, in some embodiments, certain features of the cheating player, such as text / keyboard chat, voice / microphone chat, camera, and microphone, may be reduced, disabled, or turned off. In some embodiments, such features may be disabled for a predetermined period until a significant event occurs or the session ends. In some embodiments, such features may be disabled specifically with respect to a given player who is a victim of cheating or who has reported the cheating. For example, the cheating player may not be allowed to participate in keyboard chat or voice chat with the victim or reporting player.
[0102] In some embodiments, cheating players are masked from other players (victims or reporting players) or otherwise excluded from socializing with them. In some embodiments, cheating players are made invisible or transparent so that other players cannot see them in the game. In some embodiments, other players are made invisible to cheating players so that cheating players cannot see them.
[0103] In some implementations, cheating players are removed from social interaction by being moved to a different location in the game world.
[0104] In some embodiments, the appearance of a cheating player is altered, such as by coloring or changing the appearance of their avatar in some way that can serve as an indicator of bad reputation.
[0105] In some embodiments, the respawn of a cheating player may take time or experience a delay. In some embodiments, before respawning, the cheating player is presented with a tutorial explaining why they received a penalty.
[0106] In some embodiments, cheating players are given a lower priority in the game queue by taking longer, being delayed, or being held back from joining the multiplayer matchmaking queue. In some embodiments, cheating players are prevented from joining or held back from joining sessions that have characteristics or players with which the cheating player has previously cheated.
[0107] In some embodiments, the tooltips for cheating players are modified to include hints on how to avoid being rude or how to prevent cheating.
[0108] Naturally, the specific corrective action applied to a given instance may depend on the specific misconduct detected. For example, the selected corrective action may be configured to prevent the recurrence of the misconduct. In some embodiments, a mapping is established between various types of misconduct situations and the various types of corrective actions applied accordingly.
[0109] Furthermore, the degree of corrective action can be adjusted depending on the severity of the misconduct or circumstances. For example, in some embodiments, the length or scope of feature disabling increases depending on the severity of the misconduct, so that in the case of more serious misconduct, feature / feature disabling may be imposed for a longer period or on more features, and in the case of less serious misconduct, feature / feature disabling may be imposed for a shorter period or on fewer features. In the case of transfers, the transfer of a cheating player may be more sudden or less sudden depending on the severity of the misconduct, so that more serious misconduct deserves a more sudden transfer, and less serious misconduct deserves a more transparent and fluid transfer.
[0110] A similar concept can be applied to cheating players who continue to engage in cheating despite one or more warnings. For example, cheating by a violator after one or more warnings may be considered more serious than the first instance of cheating without prior warnings.
[0111] Furthermore, there may be different levels of behavior that the system considers to be cheating. This can be implemented, for example, through machine learning models and / or verification processes. Behavior detection can be adjusted to be more sensitive or less sensitive to cheating by, for example, a video game, or the host player of a given session. In some embodiments, the severity of the behavior can be adjusted based on various factors. For example, if a player is accused of cheating for the first time by a small number of players, such behavior may be considered less serious than if the player is a repeat offender after receiving a warning.
[0112] Players may have varying levels of sensitivity in what they perceive as malicious behavior. Therefore, in some embodiments, player reports / flags can be tracked and analyzed to determine how sensitive a given player is to different types of behavior. Thus, a reporting player's sensitivity may be a factor or weight used when considering whether an alleged misconduct incident has occurred and the severity of such an incident. For example, some players may be overly sensitive and prone to making false accusations. Therefore, by adjusting the sensitivity level of such players, the system can more effectively filter out false accusations.
[0113] In some embodiments, flexible penalties for cheating may exist. For example, in some embodiments, cheating players may be offered options to encourage better behavior. For instance, if the penalty is a delayed respawn, a cheating player may be offered the option of (a) accepting the delayed respawn, or (b) being respawned immediately if they agree not to cheat again, but agreeing to a harsher penalty (e.g., a longer delayed respawn or removal from the session) if further cheating is detected. In this way, cheating players have the option to mitigate or eliminate penalties for recent behavior in exchange for agreeing to accept worse penalties if cheating is detected in the future.
[0114] It can also be important to protect a given player from retaliation for flagging other players. Therefore, in some embodiments, the reporting player may be hidden from the view of the misbehaving player. In some embodiments, the reporting player's screen name may be blurred or otherwise made invisible. In some embodiments, the reporting player may be notified about their privacy settings because their public profile may contain information. Therefore, the reporting player may be notified about information in their public profile that could expose them to retaliation.
[0115] In some embodiments, the player behavior system implements a reputation system 612 that manages the player's reputation. In some embodiments, the reputation system 612 is a point-based system in which players earn reputation points, with higher reputation points indicating a better reputation and lower reputation points indicating a worse reputation. In some embodiments, players who exhibit good behavior or are not involved in bad behavior earn positive reputation points for their good behavior. Conversely, players who exhibit bad behavior earn negative reputation points and their reputation points decrease. In some embodiments, to deter players from making false reports, a player may be punished (e.g., by receiving negative reputation points) if they mistakenly accuse another player of bad behavior. In some embodiments, the reputation system 612 stores information about the player's reputation in a player behavior registry, including the player's reputation information / points, the player's reputation history, and any incidents / events of bad behavior.
[0116] Naturally, it is important to provide a mechanism for cheating players to rebuild / recover their reputation so that they are not permanently affected by penalties for their cheating. Therefore, in some embodiments, players can improve their reputation by demonstrating good conduct, and if they do not cheat / flag for a long period of time, their reputation will automatically increase, for example, by adding points to their reputation. Thus, cheating players can recover their reputation over time by not engaging in cheating.
[0117] Figure 7A shows a player view of a video game scene according to an embodiment of the present disclosure, in which the player is flagged for cheating or malicious conduct. The illustrated embodiment shows a player view of a scene 700 of a multiplayer video game. The player is represented by a virtual character 702 that the player controls or manipulates during gameplay.
[0118] In the illustrated embodiment, a player is reported / flagged for cheating or malicious behavior, and accordingly, pop-up notifications 704 and 706 appear in the player's view. The player may have been reported by another player or by the behavior detection system itself, which uses a machine learning model. Notification 704 indicates that malicious behavior has been reported, and notification 706 further indicates that the captured data of the alleged malicious behavior is being analyzed, for example, to determine and verify the nature of the malicious behavior. Pop-up notifications / messages can be displayed as soon as the player is flagged, so the player is notified about the reported behavior as soon as malicious behavior is reported. Naturally, the pop-up notifications may be small in-game notifications so as not to overly disrupt the player's gameplay or obscure too much of the player's field of view.
[0119] Figure 7B shows the player view of the video game after analysis of captured data according to the embodiment of Figure 7A. As shown in the figure, if an action is identified / verified as constituting cheating, more information is displayed to the player. For example, a larger notification 708 is presented with further explanation. Such a larger notification 708 may be presented after the game has ended or at a time when there is little activity (e.g., little or no combat activity) that is unlikely to interfere with gameplay. In some embodiments, additional information about the misconduct may also be sent to the player via other messaging platforms, such as the game platform messaging system, email, telephone text messages, social network messages, chat services, or other electronic inboxes. Naturally, in some embodiments, notifications and information about cheating may be communicated using audio, which can be presented to the player during or after gameplay.
[0120] In the illustrated embodiment, notification 708 indicates to the player that malicious activity has been flagged during a particular game. A more detailed description of the specific activity deemed malicious is provided. It also indicates the consequences of the activity, such as the player being temporarily suspended from the game service / network, once a certain number of instances of malicious activity have been reached. Notification 708 further includes a link to further details or a link to view a video of what the player was reported to be doing. In some embodiments, the video can be accessed by pressing a controller button.
[0121] Furthermore, Notice 708 further indicates that the user may indicate that they do not agree. In some embodiments, the player may press a button to indicate that they believe they have received a false report. In some embodiments, indicating such a discrepancy may trigger further verification, such as verifying whether the action was fraudulent by questioning other players. In some embodiments, to prevent abuse of such options, if the player indicates that they do not agree and additional verification subsequently confirms that the alleged fraudulent activity was fraudulent, the penalty may be more severe.
[0122] As explained, in some embodiments, a weighting function is applied to determine whether an action is considered malicious or unethical and / or the severity of the penalty imposed. For example, a complaint from a third party may not be given as much weight as a complaint / flag from a member of the player's own team. Also, different actions (e.g., AFK, griefing, chat abuse, etc.) may be weighted differently.
[0123] Furthermore, in some embodiments, a machine learning model may be applied to an earlier part of the gameplay to identify previous instances of cheating. Presumably, the time the instance was reported was the last or most recent time it occurred. However, previous instances may exist, and the machine learning model can identify them. Naturally, analyzing an entire video or game state capture from a game session can be highly resource-intensive. Therefore, in some embodiments, to reduce the processing load, the machine learning system may determine the timing of player-to-player interactions (e.g., between the accused player and any other players) to determine when cheating could have occurred. Similarly, the machine learning system may determine another time in a specific situation or condition where a particular malicious act could occur, and analyze such times to determine where such act occurred.
[0124] Figures 8A and 8B illustrate the application of an automated recognition system to identify potential cheating behavior in order to facilitate reporting by players during gameplay, according to embodiments of the present disclosure. For example, Figure 8A shows a player view of scene 800 of a multiplayer video game. The player view is the view of a first player, represented in the illustrated embodiment by a first virtual character 802. The player view also shows another virtual character 804 of a second player. As a non-limiting example, the second player may currently be "griefing" or no longer trying to help win the match in the multiplayer game. The problem with reporting cheating is that it is generally cumbersome, requires the time and attention of the reporting player, which is impractical in-game and can be difficult to input and describe, especially when using console game systems without a keyboard.
[0125] Therefore, in some embodiments, the player behavior system implements automatic recognition of potentially cheating behavior during gameplay and draws the attention of one or more players in the game. For example, as shown in Figure 8B, the system determines that a second player may be involved in malicious behavior, so a pop-up notification 806 appears in the first player's player view. The notification 806 indicates that the second player appears to be griefing and asks if the first player wants to report it. In a non-limiting example, a specific button can be pressed to proceed with reporting the second player or not report it.
[0126] In this way, reports of malicious activity by other players can be made less frictional, as they are automatically recognized, eliminating the need for players to even identify what the cheating players are doing. This is important because reporting cheating is otherwise very frictional, and many instances of cheating are not reported simply because of the hassle of submitting a report. Naturally, in some embodiments, a machine learning system can collect data (e.g., game state and video captures) as players flag other players to form a training dataset, allowing machine learning to be trained to recognize and classify various types of cheating in virtually real-time during an active game session. Furthermore, because the machine learning model automatically recognizes cheating, player reporting becomes significantly less frictional.
[0127] In some embodiments, when a player indicates cheating has occurred, such as by pressing a button, the previous period (e.g., the previous 30 seconds) is analyzed by a machine learning model to determine whether cheating occurred and what type of cheating occurred. Again, the reporting player does not need to precisely identify what kind of cheating occurred; the machine learning system can determine the type and details of the cheating and present the results to the reporting player for confirmation.
[0128] In some embodiments, other triggers for potentially malicious behavior can be recognized. For example, a player may verbally express dissatisfaction or anger towards another player involved in cheating. Therefore, in some embodiments, the player's verbal expressions are recognized by the system (e.g., using speech recognition through the player's microphone / headset), which triggers analysis by a machine learning model to determine whether and what kind of cheating occurred. In some embodiments, other player cues, such as gestures or facial expressions, are recognized (e.g., using face / gesture recognition through a camera facing the player).
[0129] In some embodiments, a machine learning model can be trained from previous gameplay to understand the proper mechanics of a given scenario in a video game. Thus, the machine learning model can recognize when a player's actions deviate from the proper mechanics and may constitute malicious or unfair behavior.
[0130] Embodiments of this disclosure may be included as part of a game engine. Broadly speaking, a game engine is a software development framework that provides features enabling the efficient development of video games. A game engine may include a software library with reusable modules for handling various aspects of game functionality, which, in non-limiting examples, include graphics rendering (e.g., vertex processing, polygon processing, shading, lighting, texturing, etc.), sound, physical phenomena (including collision handling), animation, scripting, artificial intelligence, networking, streaming, memory management, threading, localization support, scene graphs, cinematics, and the like.
[0131] Game engines can be optimized for various hardware platforms, including game consoles, mobile devices, and personal computers. As a non-limiting example, a game engine may optimize memory usage depending on the platform (e.g., how to prioritize different tasks within the graphics pipeline). In some embodiments, the hardware may be a blade version of some specific processing entity, such as a game console. Thus, a user may be assigned to a specific blade, which provides the same hardware optimized for the console game.
[0132] Naturally, there may also be game server logic to provide streaming and / or other services (such as packetization, encoding, quality of service (QoS) monitoring, bandwidth testing, and access to social networks / friends).
[0133] In some embodiments, the cloud infrastructure may run a hypervisor, which provides a virtual machine framework that abstracts the hardware and can load an operating system (OS). Thus, the stack may include applications / video games that run on the OS, loaded into virtual machines (VMs) instantiated by the hypervisor, which are loaded onto the underlying hardware. In this way, application execution is not necessarily tied to specific hardware.
[0134] In some embodiments, applications / video games may run on containers, which are abstracted at the application layer and package code and dependencies together, enabling OS and hardware platform-independent software development and facilitating software portability across platforms.
[0135] In some embodiments, a distributed game engine is employed, where different parts of the game engine are handled by different computational entities. For example, game engine functions such as the physics engine, rendering engine (2D / 3D graphics), sound, scripting, animation, AI, networking, streaming (encoding), memory management, and threading can be divided into different functional processing blocks and / or services that are distributed among many different computations. Naturally, in the case of a distributed game engine, low-latency communication is required to avoid latency problems. To maintain the desired frame rate, the total time of computation and communication must satisfy certain constraints. Therefore, it may or may not be efficient to divide certain tasks depending on whether it is possible to complete the process in a shorter time.
[0136] The advantage of using a distributed game engine is the availability of elastic computing, which allows computing resources to be scaled up or down as needed. For example, in a large-scale multiplayer game that traditionally ran on a single hardware server, if, for example, around 100 players joined, the hardware resources would be limited, and it would be impossible to add any more players. The game might queue additional players, meaning players would have to wait to join the game. However, with a distributed game engine, by using elastic cloud computing resources, more computing nodes can be added to meet the demand, and therefore, thousands of players can play, for example. The game is no longer constrained by the limitations of a specific hardware server.
[0137] Therefore, cloud game engines can distribute functionality across different processing entities. Naturally, different functions can be run on different frameworks. For example, some functions (e.g., social features) may be easier to run within containers, while graphics may be better run using a GPU-attached VM.
[0138] To facilitate the distribution of cloud game engine functionality, a distributed / synchronous layer can manage job distribution, such as sending jobs, receiving data, identifying which tasks run when, and handling queuing if a job finishes earlier than necessary. In some embodiments, a given task may be dynamically subdivided as needed. For example, animation may have lighting, and if the lighting is particularly complex, the lighting may be subdivided into three lighting jobs, which can be sent for computing, returned, and then reconstructed. Thus, game engine functionality can be subdivided when further work is required.
[0139] A cloud service provider provides computing at a specific performance level, for example, in terms of input / output operations per second ("IOPS"). Therefore, a game provider may specify VMs, dedicated processing power, memory size, etc., from the cloud service provider and instantiate a distributed cloud game engine using the cloud service provider's system.
[0140] In some embodiments, the library module and update handler may be one or more components or modules of the game engine. In some embodiments, the library module and update handler may be separate components or may be integrated. In some embodiments, the library module and update handler may operate as additions to the game engine. In some embodiments, the game engine may be a distributed game engine as described above.
[0141] As described above, embodiments of this disclosure can be applied to cloud gaming systems. An example of a cloud gaming system is the PlayStation® Now cloud gaming system. In such a system, the client device may be a game console such as a PlayStation® 4 or PlayStation® 5 game console, or another device such as a personal computer, laptop, tablet, mobile phone, or mobile device.
[0142] Broadly speaking, to enable cloud gaming, when a user request is received for a game title, several operations are performed by one or more servers in a data center associated with the cloud gaming site. When the cloud gaming site receives a user request, it identifies the data center hosting the game associated with the selected game title and sends a request to the identified data center to instantiate the game of the selected game title. In response to the request, the servers in the data center identify the game code, load the identified game code, and initialize the files associated with the game code in preparation for presenting the game content to the user. Game data associated with a game may include general game data and user-specific game data. Therefore, initializing files may include identifying, loading, and initializing both general and user-specific game data. Initializing general game data may include initializing the graphics engine, installing graphics data, initializing sound files, installing artwork, etc. Initializing user-specific data may include searching for, transferring, and installing user data, user history, game history, etc.
[0143] While general game data is loading and initializing, a "splash" screen may be provided for rendering on the client device. The splash screen may be designed to provide a representative image of the game being loaded, allowing the user to preview the type of game being loaded. Once general game data is loaded, certain initial content may be rendered, and a selection / navigation screen may be presented for user selection and customization. User selection inputs provided on the selection / navigation screen may include game level selection, game icon selection, game mode selection, game prizes, and other user-related data that may require uploading additional game content. In some embodiments, game content is made available by streaming the game content from a game cloud system to the user's computing device for viewing and interaction. In some embodiments, game content becomes available for gameplay after user-specific data has been loaded.
[0144] Figure 9A shows an exemplary system used to load game files for games available through a cloud gaming site. The system includes multiple client devices 900 that are communicably connected to a cloud gaming site 904 via a network 902, where the network 902 may include any other type of data network, including LAN, wired, wireless, cellular (e.g., 4G, 5G, etc.), or the internet. When a request to access the cloud gaming site 904 is received from a client device 900, the cloud gaming site 904 accesses user account information 906 stored in a user data store 908 to identify the user associated with the client device from which the request was initiated. In some embodiments, the cloud gaming site may also verify the identified user to determine all games that the user is permitted to view / play. Following user account identification / verification, the cloud gaming site accesses a game title data store 910 to identify game titles available on the game cloud site for the user account that initiated the request. The game title data store 910 then interacts with a game database 912 to retrieve all game titles available for the cloud gaming site. When a new game is introduced, the game database 912 is updated with the game code, and the game title information of the newly introduced game is provided to the game title data store 910. The client device from which the request was initiated may or may not be registered with the cloud gaming site at the time the request was initiated. If the user of the client device that initiated the request is not a registered user, the cloud gaming site may identify that user as a new user and select a game title appropriate for the new user (for example, from the default set of game titles). As shown in Figure 9A, the identified game title is returned to the client device for presentation on the display screen 900-a.
[0145] A user interaction is detected in one of the game titles rendered on the client device, and a signal is sent to the cloud gaming site. The signal includes information about the game title in which the user interaction was detected and the user interaction registered in the game title. In response to the signal received from the client device, the cloud gaming site proactively determines the data center where the game is hosted and sends a signal to the identified data center to load the game associated with the game title in which the user interaction was detected. In some embodiments, multiple data centers may host the game. In such embodiments, the cloud gaming site may determine the geographical location of the client device that initiated the request, identify a data center geographically close to the client device, and send a signal to that data center to preload the game. The user's geographical location may be determined using, to name a few examples, a Global Positioning System (GPS) mechanism within the client device, the client's IP address, or the client's ping information. Of course, the above-described methods for detecting the user's geographical location are illustrative, and other types of mechanisms or tools may be used to determine the user's geographical location. Identifying a data center close to the client device can minimize latency during user interaction with the game. In some embodiments, the identified data center may not have the necessary bandwidth / processing capacity to host the game, or it may be overused. In these embodiments, the cloud gaming site may identify a second data center geographically closer to the client device. Loading the game includes loading the game code and running an instance of the game.
[0146] In response to receiving a signal from a cloud gaming site, the identified data center may select a server within the data center to instantiate the game on the server. The server is selected based on the available hardware / software capabilities and the game requirements. The server may include multiple game consoles, and the server may decide which of the multiple game consoles to use to load the game. The game console may be similar to a standalone game console, or it may be a rack-mount server or a blade server. A blade server may then include multiple server blades, each blade having the necessary circuitry to instantiate a single dedicated application, such as a game. Of course, the game consoles described above are illustrative and should not be considered limiting. Other types of game consoles, including game stations, and other forms of blade servers may also be used to host the identified game.
[0147] Once the game console is identified, general game-related code for the game is loaded onto the game console, and a signal identifying the game console on which the game will be instantiated is sent back to the client device via the cloud gaming site over the network. Thus, the loaded game becomes available to the user.
[0148] Figure 9B is a flowchart conceptually illustrating the various operations performed to stream a cloud video game to a client device according to embodiments of the present disclosure. The game system 918 runs the video game and generates raw (uncompressed) video 920 and audio 922. The video 920 and audio 922 are captured and encoded for streaming purposes, as shown by reference numeral 924 in the illustrative figure. Encoding can provide compression of the video and audio streams to reduce bandwidth usage and optimize the gaming experience. Examples of encoding formats include H.265 / MPEG-H, H.264 / MPEG-4, H.263 / MPEG-4, H.262 / MPEG-2, WMV, VP6 / 7 / 8 / 9, etc.
[0149] The encoded audio 926 and encoded video 928 are further packetized into network packets, as shown in reference no. 932, for transmission over a network such as the Internet. The network packet encoding process may also employ a data encryption process, thereby providing enhanced data security. In the illustrated embodiment, audio packets 934 and video packets 936 are generated for transport over the network, as shown in reference no. 940.
[0150] The game system 918 further generates haptic feedback data 930, which is also packetized into network packets for network transmission. In the illustrated embodiment, the haptic feedback packets 938 are generated for transport over the network, as further shown by reference numeral 940.
[0151] The aforementioned operations—generating raw video and audio and haptic feedback data, encoding the video and audio, and packetizing the encoded audio / video and haptic feedback data for transport—are performed on one or more servers that collectively define the cloud gaming service / system. As shown in reference no. 940, the audio, video, and haptic feedback packets are transported over a network, such as the Internet, and / or including the Internet. As shown in reference no. 942, the audio packet 934, video packet 936, and haptic feedback packet 938 are decrypted / reconstructed by the client device to define encoded audio 946, encoded video 948, and haptic feedback data 950 on the client device. If the data is encrypted, the network packets are also decrypted. The encoded audio 946 and encoded video 948 then generate client-side raw audio and video data for rendering on the display device 952, as shown in reference no. 944. The haptic feedback data 950 can be processed / communicated to generate haptic feedback effects using a controller device 956 or other interface device that can render haptic effects. An example of a haptic effect is vibration or rumble of the controller device 956.
[0152] Naturally, the video game responds to user input, and as a result, the transmission and processing of user input follows a similar procedure flow as described above, but can be performed in the reverse direction from the client device to the server. As shown in the figure, a user operating the controller device 956 may generate input data 958. This input data 958 is packetized on the client device for transport over the network to the cloud game system. The input data packet 960 is decompressed and reconstructed by the cloud game server to define input data 962 on the server side. The input data 962 is supplied to the game system 918, which processes the input data 962 to update the game state of the video game.
[0153] During the transport of audio packets 934, video packets 936, and haptic feedback packets 938 (reference number 940), data transmission over the network can be monitored to ensure the quality of service of the cloud game stream. For example, as shown in reference number 964, network conditions, including both upstream and downstream network bandwidth, can be monitored, and the game streaming can be adjusted in response to changes in available bandwidth. That is, the encoding and decoding of network packets can be controlled based on current network conditions, as shown in reference number 966.
[0154] Figure 10 shows an embodiment of an information service provider architecture. An information service provider (ISP) 1070 delivers numerous information services to users 1082 who are geographically distributed and connected via a network 1086. The ISP can deliver only one type of service, such as stock price updates, or a variety of services, such as broadcast media, news, sports, and games. Furthermore, the services provided by each ISP are dynamic; that is, services can be added or removed at any time. Therefore, the ISP that provides a particular type of service to a particular individual may change over time. For example, while a user is in their local area, they may be served by a local ISP, and when the user moves to another town, they may be served by a different ISP. The local ISP transfers the necessary information and data to the new ISP, so that user information "follows" the user to the new town, and the user is closer to the data and more easily able to access it. In another embodiment, a master-server relationship may be established between a master ISP that manages user information and a server ISP that interfaces directly with the user under the control of the master ISP. In another embodiment, as a client travels around the world, data is transferred from one ISP to another, and the ISP that is better located to serve the user becomes the ISP that provides these services.
[0155] ISP1070 includes Application Service Providers (ASPs)1072, which provide computer-based services to customers over a network (including, in non-limiting examples, any wired or wireless network, LAN, WAN, WiFi®, broadband, cable, fiber optic, satellite, cellular (e.g., 4G, 5G, etc.), the Internet, etc.). Software provided using the ASP model is sometimes called on-demand software or Software as a Service (SaaS). Standard protocols such as HTTP are used for simple forms that provide access to specific application programs (such as customer relationship management). The application software resides on the vendor's system and is accessed by users through a web browser using HTML, by dedicated client software provided by the vendor, or by other remote interfaces such as thin clients.
[0156] Services delivered across a wide geographical area often utilize cloud computing. Cloud computing is a computing style in which dynamically scalable, often virtualized, resources are delivered as a service over the internet. Users do not need to be experts in the technical infrastructure of the "cloud" that supports them. Cloud computing can be divided into various services such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). Cloud computing services often provide common business applications online, accessed through a web browser, but the software and data are stored on servers. The term "cloud" is used as a metaphor for the internet (using, for example, servers, storage, and logic), based on how the internet is depicted in computer network diagrams, and is an abstract concept of the complex infrastructure that the internet hides.
[0157] Furthermore, ISP1070 includes a game processing server (GPS)1074 used by game clients to play single and multiplayer video games. Most video games played over the internet operate via a connection to a game server. Typically, games use a dedicated server application that collects data from players and distributes it to other players. This is more efficient and effective than a peer-to-peer configuration, but requires a separate server to host the server application. In another embodiment, the GPS establishes communication between players, and each player's gameplay device exchanges information independently of a centralized GPS.
[0158] A dedicated GPS is a server that operates independently of the client. Such servers typically run on dedicated hardware located in a data center, providing greater bandwidth and dedicated processing power. Dedicated servers are the preferred method for hosting game servers for most PC-based multiplayer games. Large-scale multiplayer online games usually run on dedicated servers hosted by the software company that owns the game title, allowing the dedicated server to control and update the content.
[0159] The broadcast processing server (BPS) 1076 distributes audio or video signals to viewers. Broadcasting to a very narrow audience is sometimes called narrowcasting. The final stage of broadcast distribution is how the signal reaches the listener or viewer, which can reach antennas and receivers via terrestrial waves, as with radio or television stations, or via cable television or cable radio (or "wireless cable") through a station, or directly from a network. The internet can also deliver radio or television to recipients, particularly using multicast, which can share signals and bandwidth. Historically, broadcasts have been defined by geographical area, such as national or local broadcasts. However, with the proliferation of high-speed internet, broadcasts are no longer defined by geography, as content can reach almost every country in the world.
[0160] Storage Service Provider (SSP) 1078 provides computer storage space and related management services. SSPs also offer regular backups and archiving. By providing storage as a service, users can order more storage as needed. Another significant advantage is that SSPs include backup services, ensuring that users do not lose all their data even if their computer's hard drive fails. Furthermore, multiple SSPs can hold full or partial copies of user data, allowing users to access their data efficiently regardless of their location or the device used to access it. For example, a user can access personal files on their home computer and similarly access them on their mobile phone while on the go.
[0161] A communications provider 1080 provides connectivity to users. One type of communications provider is an Internet Service Provider (ISP), which provides access to the Internet. ISPs connect customers using data transmission technologies suitable for providing Internet Protocol datagrams, such as dial-up, DSL, cable modem, fiber, wireless, or dedicated high-speed interconnects. Communications providers may also provide messaging services such as email, instant messaging, and SMS text. Another type of communications provider is a Network Service Provider (NSP), which sells bandwidth or network access by providing direct backbone access to the Internet. Network Service Providers may consist of telecommunications companies, data carriers, wireless communication providers, Internet Service Providers, and cable television operators providing high-speed internet access.
[0162] The data exchange unit 1088 interconnects several modules within the ISP 1070 and connects these modules to the user 1082 via the network 1086. The data exchange unit 1088 can cover a small area where all modules of the ISP 1070 are in close proximity, or it can cover a large geographical area when different modules are geographically dispersed. For example, the data exchange unit 1088 may include high-speed Gigabit Ethernet (or faster) or an intercontinental virtual area network (VLAN) within a data center cabinet.
[0163] User 1082 accesses the remote service using a client device 1084 that includes at least a CPU, memory, display, and I / O. The client device may be a PC, mobile phone, netbook, tablet, game system, PDA, etc. In one embodiment, ISP 1070 recognizes the type of device used by the client and adjusts the communication method to employ. In other cases, the client device accesses ISP 1070 using a standard communication method such as HTML.
[0164] Embodiments of this disclosure may be implemented in a variety of computer system configurations, including handheld devices, microprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, and mainframe computers. This disclosure can also be implemented in distributed computing environments in which tasks are performed by remote processing devices linked via wired or wireless networks.
[0165] In some embodiments, communication may be facilitated using wireless technology. Such technology may include, for example, 5G wireless communication technology. 5G is the fifth generation of cellular network technology. A 5G network is a digital cellular network in which the service area covered by a provider is divided into small geographical areas called cells. Analog signals representing voice and images are digitized by the telephone, converted by an analog-to-digital converter, and transmitted as a bitstream. All 5G wireless devices within a cell communicate radio waves with local antenna arrays and low-power automatic transceivers (transmitters and receivers) within the cell via frequency channels allocated by transceivers from a pool of frequencies reused by other cells. The local antennas are connected to the telephone network and the internet by high-bandwidth optical fiber or wireless backhaul connections. As with other cell networks, mobile devices moving from one cell to another are automatically transferred to the new cell. Of course, a 5G network is merely an example of a type of communication network, and embodiments of this disclosure may also use previous generations of wireless or wired communications, as well as later generations of wired or wireless technologies that come after 5G.
[0166] Considering the embodiments described above, it is natural that the Disclosure can employ a variety of computer operations involving data stored in a computer system. These operations require the physical manipulation of physical quantities. Any of the operations described herein that form part of the Disclosure are useful machine operations. The Disclosure also relates to devices or apparatus for performing these operations. The apparatus may be configured specifically for a required purpose, or the apparatus may be a general-purpose computer selectively operated or configured by computer programs stored in the computer. In detail, various general-purpose machines may be used with computer programs written in accordance with the teachings herein. Alternatively, it may be more convenient to construct an apparatus more specialized to perform the required operations.
[0167] This disclosure can also be embodied as computer-readable code on a computer-readable medium. Alternatively, the computer-readable code may be downloaded from a server using the aforementioned data exchange interconnect. The computer-readable medium is any data storage device capable of storing data that can then be read by a computer system. Examples of computer-readable mediums include hard drives, network-attached storage (NAS), read-only memory, random-access memory, CD-ROMs, CD-Rs, CD-RWs, magnetic tapes, and other optical and non-optical data storage devices. The computer-readable medium may include computer-readable tangible media distributed on a network-connected computer system so that the computer-readable code is stored and executed in a distributed manner.
[0168] Although the method operations have been described in a specific order, naturally, other housekeeping operations may be performed between operations, or operations may be coordinated to occur at slightly different times, or they may be distributed within a system that allows the operation to occur at various intervals related to the operation, as long as the processing of the overlay operations is performed in the desired manner.
[0169] While the foregoing disclosure has been described in some detail for the purpose of clarifying understanding, it will be clear that certain changes and modifications can be implemented within the scope of the appended claims. Therefore, this embodiment should be considered illustrative rather than restrictive, and this disclosure should not be limited to the details described herein, but may be modified within the scope of the described embodiments and their equivalents.
Claims
1. A method that is performed by at least one server computer, During interactive gameplay in multiplayer video games, the system processes game state data to identify fraudulent player gameplay activities, Applying corrective action to the player during interactive gameplay in response to the identification of the gameplay activity as fraudulent, wherein the corrective action is to notify the player of the gameplay activity identified as fraudulent; After applying the aforementioned corrective measures, the game state data is further processed to identify any additional gameplay activity by the player as fraudulent, In response to the identification of the aforementioned additional gameplay activity as fraudulent, the player shall be penalized. Includes, The penalty includes moving the player to a different session or server of the multiplayer video game. The penalty includes identifying a breakpoint event in the interactive gameplay, and the move is performed when the breakpoint event is detected, rather than immediately after identifying the additional gameplay activity as fraudulent. A method in which the breakpoint event is defined by one or more actions among the following: the player moving beyond a predetermined distance from another player; the player moving from one area of the virtual space to another area of the virtual space; and the player moving away from another player in their line of sight or field of view.
2. The method according to claim 1, wherein the corrective action includes a warning to the player indicating the penalty.
3. The method according to claim 1, wherein the penalty includes reducing the player's gameplay capabilities.
4. The method according to claim 1, wherein identifying the player's gameplay activity as fraudulent includes receiving a flag initiated by a second player of the multiplayer video game in response to the player's gameplay activity.
5. The method according to claim 1, wherein identifying the player's gameplay activity as fraudulent includes analyzing the interactive gameplay of the multiplayer video game in real time using a machine learning model.
6. A method that is performed by at least one server computer, During the first session of interactive gameplay in a multiplayer video game, the system processes game state data to identify a player's gameplay activity as fraudulent, In response to the identification of the aforementioned gameplay activity as fraudulent, the player is moved to a second session of the multiplayer video game. Includes, Further in response to identifying the aforementioned gameplay activity as fraudulent, the process further includes identifying the breakpoint event of the aforementioned interactive gameplay, the movement being performed not immediately after identifying the aforementioned gameplay activity as fraudulent, but upon detection of the breakpoint event. A method in which the breakpoint event is defined by one or more actions among the following: the player moving beyond a predetermined distance from another player; the player moving from one area of the virtual space to another area of the virtual space; and the player moving away from another player in their line of sight or field of view.
7. The method according to claim 6, wherein moving the player includes capturing the settings associated with the player in the first session and starting the player in the second session using the captured settings.
8. The method according to claim 6, wherein moving the player includes capturing the state of the first session of the multiplayer video game, and configuring the second session to substantially replicate at least a portion of the state of the first session in the absence of other players in the first session.
9. The method according to claim 6, wherein identifying the player's gameplay activity as fraudulent includes receiving a flag initiated by a second player of the multiplayer video game in response to the player's gameplay activity.
10. The method according to claim 6, wherein identifying the player's gameplay activity as fraudulent includes analyzing the interactive gameplay of the multiplayer video game in real time using a machine learning model.
11. A method that is performed by at least one server computer, Receiving a flag initiated by the first player of a multiplayer video game in response to the gameplay activity of a second player during interactive gameplay of a first session of the multiplayer video game, wherein the flag is configured to identify the second player's gameplay activity as potentially fraudulent, In response to receiving the aforementioned flag, the recorded gameplay of the multiplayer video game is processed to verify that the second player's gameplay activity is fraudulent. In response to the verification that the second player's gameplay activity is fraudulent, move the player to a second session of the multiplayer video game. Includes, Further in response to verifying that the second player's gameplay activity is fraudulent, the process further includes identifying the breakpoint event of the interactive gameplay, which is performed not immediately after verifying that the second player's gameplay activity is fraudulent, but when the breakpoint event is detected. A method in which the breakpoint event is defined by one or more actions among the following: the second player moving beyond a predetermined distance from another player; the second player moving from one region of the virtual space to another region of the virtual space; and the second player moving away from the other player in terms of line of sight or field of view.
12. The method according to claim 11, wherein moving the second player includes capturing the settings associated with the second player in the first session and starting the second player in the second session using the captured settings.
13. The method according to claim 11, wherein moving the second player includes capturing the state of the first session of the multiplayer video game and configuring the second session to substantially replicate at least a portion of the state of the first session in the absence of other players in the first session.
14. The method according to claim 11, wherein verifying that the second player's gameplay activity is fraudulent includes analyzing the second player's interactive gameplay activity using a machine learning model.
Citation Information
Patent Citations
Shuttle running apparatus in circular knitting machine
JP1984036748A
Moderation of cheating in on-line gaming sessions
US20090113554A1
Machine-learned trust scoring for player matchmaking
US20200078688A1