Context-aware AI non-player character for video game interactivity

By applying context-aware logic to NPCs using game state data and machine learning, the interaction of NPCs with players is made relevant to the user's context, addressing the issue of repetitive actions and enhancing engagement.

JP7881678B2Active Publication Date: 2026-06-29SONY INTERACTIVE ENTERTAINMENT LLC

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
SONY INTERACTIVE ENTERTAINMENT LLC
Filing Date
2024-11-18
Publication Date
2026-06-29

AI Technical Summary

Technical Problem

Existing video games often fail to provide context-aware non-player characters (NPCs) that interact with players in a way that is not unique to the user's context, leading to distraction and decreased interest over time due to repetitive actions.

Method used

Implement context-aware logic in NPCs using game state data and machine learning to dynamically adjust their behavior, allowing them to interact contextually with the player character, providing timely information and assistance.

Benefits of technology

Enhances player engagement by making NPC interactions relevant to the user's context, reducing distraction and maintaining interest through dynamic and contextually appropriate interactions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007881678000001
    Figure 0007881678000001
  • Figure 0007881678000002
    Figure 0007881678000002
  • Figure 0007881678000003
    Figure 0007881678000003
Patent Text Reader

Abstract

To generate nonplayer characters that are context-aware in video games.SOLUTION: A video game is executed to enable gameplay using a player character controlled by a player. During execution of the video game, scene interactivity data is identified from game state data produced by the gameplay. The scene interactivity data is filtered based on filtering settings, with the filtering being configured to identify target interactivity data that is processed to generate context-aware logic. The context-aware logic is applied to an NPC associated with a current scene of the gameplay, and transforms the behavior of the NPC to be contextually interactive with the player character during the gameplay by the player.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Background technology]

[0001] Video games often include both player characters and non-player characters. Player characters are video game characters controlled by the player of the video game. Non-player characters (NPCs) are video game characters controlled by the game logic. Typically, NPCs participate in pre-planned actions that are carried out regardless of the objectives that the user controlling the player character is trying to achieve in the video game scene. For example, NPCs may move around in a video game scene in a predefined pattern. In a game scene set in a bar, an NPC might enter the bar, go to the bar, order a drink, drink it, and then leave the bar without interacting with the player character located in the bar. Alternatively, the NPC might briefly interact with the player character in the bar by uttering a simple message such as "hello" or "good evening." In either scenario, the NPC's pre-planned actions are a set of actions that are not unique to the user. Therefore, the NPC essentially functions as a generic "extra" in a game scene. Hence, the NPC's pre-planned actions do not take the user's context into consideration, and the NPC's actions are not related to what the user is trying to achieve in the game. As a result, the presence of NPCs in a game may be distracting to the user or may detract from the user's enjoyment of playing the game.

[0002] Furthermore, in some video games, the pre-planned actions of NPCs are changed by randomly selecting the action(s) to be performed by the NPC using a random number seed generator. For example, the action to be performed by the NPC can be randomly selected from a group of actions. However, the number of actions included in the group is usually relatively small. Therefore, although the pre-planned actions of the NPC change based on random selection, when the user plays the video game regularly, the user will eventually experience the NPC participating in repetitive actions. This is because the number of potential actions performed by the NPC is relatively small. As a result of experiencing the NPC participating in repetitive actions, for example, even if the user hears the NPC convey the same series of dialogues many times, the user's level of interest in playing the game may decrease over time.

[0003] This embodiment has been made under such a background.

Summary of the Invention

[0004] In an exemplary embodiment, a method is provided for generating context-aware non-player characters, or context-aware non-player characters, in a video game. The method includes running the video game to enable gameplay using a player-controlled player character, the gameplay generating game state data. The method also includes identifying scene interactivity data from the game state data while the video game is running. The method further includes filtering the scene interactivity data based on filtering settings, the filtering configured to identify target interactivity data to be processed to generate context-aware logic. Furthermore, the method applies the context-aware logic to a non-player character (NPC) associated with the current scene of the gameplay, the context-aware logic transforms the NPC's behavior to be contextually interactive with the player character during gameplay by the player.

[0005] In one embodiment, context-aware logic is compiled and instrumented to run alongside NPC interactivity logic, and NPC behavior is transformed over the period during which the context-aware logic is applied. In one embodiment, the gameplay mode defines when the context-aware logic is applied.

[0006] In one embodiment, the actions of an NPC are transformed to be contextually interactive with the player character by having the NPC participate in voice communication with the player character. In another embodiment, the actions of an NPC are transformed to be contextually interactive with the player character by having the NPC perform actions related to the player character. In yet another embodiment, the actions of an NPC are transformed to be contextually interactive with the player character by having the NPC perform actions related to the player character.

[0007] In one embodiment, the method further includes applying an activity setting that defines whether to apply low-level or high-level context-aware logic to the NPC. In this embodiment, applying low-level context-aware logic to the NPC reduces the degree to which the NPC contextually interacts with the player character during the player's gameplay, while applying high-level context-aware logic to the NPC increases the degree to which the NPC contextually interacts with the player character during the player's gameplay. In one embodiment, while the video game is running, target interactivity data is generated sequentially for the current scene of gameplay, and the processing of the target interactivity data involves running a contextual interactivity model that analyzes the classified features of the target interactivity data to generate a descriptive interactivity context for the current scene.

[0008] In one embodiment, the method further processes a generative artificial intelligence (AI) model that uses inputs relating to the descriptive interactivity context of the current scene, game training data from a video game, and user profile data, the generative AI model being configured to generate context-aware logic. In one embodiment, the video game is an online or non-online game with one or more spectators. In one embodiment, the target interactivity data includes comments from one or more spectators, and the NPC's actions are translated by having the NPC communicate the emotions of one or more spectators to the player character. In one embodiment, the method further includes applying mode settings to adjust the amount and type of emotions of one or more spectators that the NPC communicates to the player character.

[0009] In another exemplary embodiment, a method is provided for generating non-player characters in a video game. The method includes running a video game, which includes non-player characters (NPCs). The NPCs are configured to interact with the video game scenes without controlling the real player of the video game. The method also processes game state data to identify the context of gameplay by the video game's player character during the video game's run and applies context-aware logic to the NPCs. The context-aware logic applied to the NPCs is configured to translate the NPCs' behavior to be contextually interactive with the player character.

[0010] In one embodiment, the actions of an NPC that are contextually interactive with the player character are represented by having the NPC generate comments to the player character regarding actions that occur during the execution of the video game. In another embodiment, the actions of an NPC that are contextually interactive with the player character are represented by having the NPC generate comments regarding chat observed by one or more spectators regarding actions that occur during the execution of the video game.

[0011] In one embodiment, the application of context-aware logic to an NPC occurs over the period during which the player character is present within the NPC's halospace in the video game scene. In this embodiment, the NPC's behavior is translated to be contextually interactive with the player character over the period during which the context-aware logic is applied.

[0012] In yet another exemplary embodiment, a non-temporary computer-readable medium is provided which includes program instructions for generating non-player characters in a video game. The execution of the program instructions by one or more processors of a computer system causes one or more processors to perform the following actions: run a video game in which the video game includes non-player characters (NPCs) configured to interact in the video game scenes without controlling the real player of the video game; process game state data to identify the context of gameplay by the player character of the video game while the video game is running; apply context-aware logic to the NPCs, configured to translate the behavior of the NPCs to be contextually interactive with the player character.

[0013] In one embodiment, the actions of an NPC that are contextually interactive with the player character are represented by having the NPC generate comments to the player character regarding actions that occur during the execution of the video game. In another embodiment, the actions of an NPC that are contextually interactive with the player character are represented by having the NPC generate comments regarding chat observed by one or more spectators regarding actions that occur during the execution of the video game.

[0014] In one embodiment, the application of context-aware logic to an NPC occurs over the period during which the player character is present within the NPC's halospace in the video game scene. In this embodiment, the NPC's behavior is translated to be contextually interactive with the player character over the period during which the context-aware logic is applied.

[0015] Other aspects and advantages of the disclosure herein will become apparent from the following detailed description, which illustrates the principles of the disclosure, in conjunction with the accompanying drawings. [Brief explanation of the drawing]

[0016] [Figure 1] This is a simplified schematic diagram illustrating a video game that includes multiple non-player characters. [Figure 2] This is a simplified schematic diagram illustrating a video game in which the actions of non-player characters (NPCs) are transformed by applying context-aware logic to the NPCs, according to one embodiment. [Figure 3] This is a simplified schematic diagram illustrating the details of adding a context-aware NPC logic generator according to one embodiment. [Figure 4] This is a simplified schematic diagram illustrating the additional details of filtering scene interactivity data according to one embodiment. [Figure 5]This is a simplified schematic diagram illustrating the use of activity settings to adjust the degree to which context-aware logic is applied to NPCs, according to one embodiment. [Figure 6A] This is a simplified schematic diagram illustrating a mode switch that occurs when a player character moving within the game space encounters an NPC, according to one embodiment of the system. [Figure 6B] Figure 6A is a diagram summarizing the mode switching of NPC1, NPC2, and NPC3 shown. [Figure 7] The following are exemplary device components that can be used to perform various embodiments of the present disclosure. [Modes for carrying out the invention]

[0017] The following description includes several specific details to provide a complete understanding of the exemplary embodiments. However, it will become clear to those skilled in the art that the exemplary embodiments can be practiced without some of these specific details. In other examples, process operation and details of embodiments are not described in detail if they are already well known.

[0018] Embodiments of the present invention provide a method for generating non-player characters in a video game. In one embodiment, the game logic can be modified using one or more machine learning systems. Some machine learning systems are useful for learning the context of game activities occurring in a particular game, identifying what types of activities are occurring in the game, and determining the context of game activities to the player character in the scene. In some embodiments, non-player characters (NPCs) are introduced into the game scene using context-aware logic (CAL), which allows the NPCs to be dynamically programmed to understand the context of the game environment, as well as the context of the game environment related to the player character. By providing NPCs with intelligence that can be modified during gameplay, they can react to the game scene in real time and provide the player character with timely and useful information, such as feedback on activities occurring in the game, coaching on how to play the game, and explanations of the game's progression. Furthermore, the way in which NPCs interact with the player character can be set up so that NPCs are actively participating with the player character, rather than simply performing random or pre-planned actions. This can be achieved by making the player character visible to the NPC during the interaction, and, where appropriate, by having the NPC perform movements related to the interaction, such as pointing to a relevant object or pointing in a relevant direction.

[0019] In some embodiments, the extent to which an NPC interacts with the player character can be set to either a high or low degree, depending on the game context or the user's profile. If the user's profile indicates that the user does not want to interact extensively with NPCs so as not to be distracted from playing the game, the NPC can be programmed not to interact with the user's player character. The types of game activities in which the player prefers to interact with NPCs, whether to a high or low degree, can be learned over time using machine learning. In some embodiments, large-scale language models can be used in conjunction with generative artificial intelligence (AI) processing to provide NPCs with the linguistic ability to communicate with player characters (e.g., to engage in two-way conversations about activities occurring in the game). Various embodiments are described herein that provide methods for transforming NPC behavior so that NPCs can be contextually interactive with player characters (and thus the player), rather than being limited to performing only random and / or pre-planned actions.

[0020] Figure 1 is a simplified schematic diagram showing a video game containing multiple non-player characters (NPCs). As shown in Figure 1, video game 100 contains multiple NPCs 102a to 102n. The number of NPCs included in video game 100 can vary to suit the needs of a particular game. For example, a video game may contain 2 NPCs, 10 NPCs, 100 NPCs, etc. Each NPC 102 has appearance graphics, physical properties, rigging, animation files, and physical attributes, and these components are used to render the NPC in the video game. As is known to those skilled in the art, player characters also have appearance graphics, physical properties, rigging, animation files, and physical attributes used to render the player character in the video game. A game engine, which is a software framework underlying video games, provides the core functions necessary to handle graphics, physics, audio, and input processing. Game logic includes game-specific code that defines game play rules, character behavior, game objectives, and event handling. The game engine and game logic interact to create a video game. This interaction between the game engine and game logic usually follows a loop. The game engine runs the main game loop, which processes core tasks such as frame rendering, updating physics simulations, input processing, and triggering game events. During each iteration of the loop, the game logic is executed to update the game state based on player input and the rules of the game.

[0021] Each NPC 102 includes NPC interaction logic 104 that contains code defining the pre-planned actions of each NPC. As shown in FIG. 1, NPC 102a includes corresponding NPC interaction logic 104a, and NPC 102n includes corresponding NPC interaction logic 104n. The pre-planned actions of NPC 102 can include various different actions, such as moving within a video game scene in a predetermined pattern or sending a scripted series of dialogues when the player character approaches. These simple and repetitive actions are not specific to the user, i.e., the player who controls the player character. This is because the NPC interaction logic 104 does not recognize the context of the user in the game. Furthermore, these actions are carried out regardless of the presence of the user in the game scene. As a result, the pre-planned actions of each NPC 102 are not related to what the user is trying to achieve in the game scene, such as completing a quest, obtaining points, defeating a boss, etc.

[0022] Figure 2 is a simplified schematic diagram showing a video game in which the behavior of an NPC is transformed by applying context recognition logic to the NPC. As shown in Figure 2, video game 100 includes an NPC 102 to which NPC interactivity logic 104 is provided. As described herein, NPC interactivity logic 104 includes code that defines the pre-planned actions of NPC 102. During the execution of video game 100, game state data is continuously generated, and this game state data is continuously communicated to context recognition-based NPC logic generator 106. As known to those skilled in the art, game state data provides a stream of metadata that describes everything that is happening in the game. As an example, the metadata may include what the user has done in the game, which buttons have been pressed, how the buttons have been pressed, and what the user has achieved (e.g., whether the user has won, lost, etc.). As known to those skilled in the art, game state data includes all of the game-related data necessary for the game engine to reproduce the game play of the user of the game (in conjunction with the game logic). Also, the game state data may include other data that is not directly involved in the game play of the game, for example, as other data, data from the user's camera generated while the user is playing the game, audio data generated while the user is playing the game, for example, two-way chat with one or more other players, and data generated by spectators who watch the user's play (spectator), for example, comments made by the spectators in the chat section of the game's spectators.

[0023] The context-aware NPC logic generator 106 processes game state data to identify the context of the player character's gameplay in the video game 100 while the video game is running. In one embodiment, the context-aware NPC logic generator 106 has logic relating to the video game 100, which enables the context-aware NPC logic generator to use the game state data to identify what is happening in the game. Specifically, for any given moment during the running of the video game 100, the game state data provides a snapshot of the gameplay at that point in time, from which the context-aware NPC logic generator 106 can identify the context of the gameplay. For example, if the game state data provides a snapshot of the game scene including, in particular, clouds, birds, a path, a dog, and a player with a shield, the logic of the context-aware NPC logic generator 106 regarding the video game 100 may determine that the context of gameplay includes a dog chasing the player character at level 5 of the game, and that the player character is likely to be bitten by the dog soon. Once the context of gameplay is identified, the context-aware NPC logic generator 106 can generate appropriate logic to transform the actions of NPC 102 so that they are contextually interactive with the player character. For example, the actions of NPC 102 can be transformed to be contextually interactive with the player character by having the NPC participate in voice communication with the player character, by having the NPC perform actions related to the player character, or by having the NPC provide assistance to the player character.

[0024] In one embodiment, the actions of an NPC are translated to be contextually interactive with the player character by having the NPC provide comments to the player character regarding actions that occur during gameplay. For example, in a game scene where a dog is chasing the player character, NPC 102 may provide assistance to the player character by giving commands to the player character, for example, by telling the player character that the dog is backing away when the player character raises their shield and moves toward the dog. Alternatively, NPC 102 may provide assistance to the player character by taking actions such as interacting with the dog to give the player character time to move away from it.

[0025] In another embodiment, the actions of NPC102 are translated to be contextually interactive with the player character by having the NPC provide comments to the player based on data that is not directly related to the game's gameplay. For example, if game state data generated during game execution includes data from the user's camera indicating that the user's room is messy, NPC102 may comment to the player character prompting them to clean the room and / or make the bed. In another example, if game state data generated during game execution includes data from the game's audience chat section, NPC102 may send comments to the player character that reflect the sentiment of the chat observed by one or more audience members during game execution. For example, if the chat indicates that the audience believes the user is unaware of a monster hiding in the mountains, NPC102 may tell the player character to be careful of the monster before heading into the mountains.

[0026] In scenarios involving voice communication (e.g., speaking) with a player character, the context-aware NPC logic generator 106 communicates with a large-scale language model (LLM) 108, a type of artificial intelligence (AI) algorithm capable of generating human-like text or speech. As is known to those skilled in the art, LLMs are typically trained on large amounts of data, usually in text or speech form, which they use to understand, summarize, generate, and predict new content. By communicating with the LLM 108 during the execution of the video game 100, the context-aware NPC logic generator 106 can dynamically generate the context-aware logic necessary to enable NPC 102 to participate in voice communication with the player character. For example, in a game scene taking place in a bar, NPC 102 can approach the player character in the bar and participate in a conversation with the player character.

[0027] The context-aware logic generated by the context-aware NPC logic generator 106 is continuously transmitted to the context-aware NPC logic 110 during the execution of the video game 100. In one embodiment, the context-aware logic received by the context-aware NPC logic 110 is code, such as a script, that defines how the actions of NPCs 102 are translated to be contextually interactive with the player character. As described above with reference to Figure 1, the NPC interactivity logic 104 includes code that defines the pre-planned actions of each NPC 102. Therefore, in order to translate the actions of NPCs 102 to be contextually interactive with the player character, the NPC interactivity logic 104 needs to be modified to include new context-aware code that defines the translated actions of the NPCs. For this purpose, the context-aware NPC logic 110 also includes instructions for modifying the NPC interactivity logic 104 to include the new context-aware code.

[0028] In one embodiment, context-aware logic is compiled and instrumented to run together with the NPC interactivity logic. In one embodiment, the context-aware NPC logic 110 first identifies the code of the NPC interactivity logic 104 that will be replaced, i.e., the code that defines the NPC's pre-planned actions. In this embodiment, the context-aware NPC logic 110 then inserts a jump instruction into the code of the NPC interactivity logic 104 to execute the new context-aware code (from the context-aware NPC logic generator 106) instead of the code that will be replaced. In another embodiment, the context-aware NPC logic 110 recompiles the code of the NPC interactivity logic 104 with the new context-aware code instead of the code that will be replaced. In this example, when the code of the NPC interactivity logic is executed, the code that is executed includes the new context-aware code, not the code that will be replaced (the code that defines the NPC's pre-planned actions).

[0029] As shown in Figure 2, the addition of context-aware code to the NPC interactivity logic 104 by the context-aware NPC logic 110 transforms the NPC interactivity logic 104 into NPC interactivity logic 104'. The execution of the context-aware code in NPC interactivity logic 104' transforms the actions of NPC 102 so that they are contextually interactive with the player character during gameplay by the user. As an example, and as will be described in more detail herein, the actions of NPC 102 can be transformed to be contextually interactive with the player character by having the NPC participate in voice communication with the player character, by having the NPC perform actions related to the player character, or by having the NPC provide assistance to the player character. Furthermore, during gameplay by the user, the context-aware code of the NPC interactivity logic 104' is continuously modified based on context-aware logic dynamically generated by the context-aware NPC logic generator 106. The context-aware NPC logic generator 106 continuously receives and processes state data generated during gameplay. By continuously modifying the context-aware code of the NPC interactivity logic 104', the actions of NPC 102 can be dynamically adjusted as needed, so that the NPC's behavior remains contextually interactive with the player character during gameplay. For example, in a game scene where NPC 102 approaches the player character at the bar and starts a conversation, the NPC's actions can be dynamically adjusted so that the NPC remains contextually interactive with the player character during the conversation. For example, the NPC maintains appropriate eye contact with the player character, maintains an appropriate distance from the player character, and responds appropriately to the player character when they speak to the NPC.

[0030] Figure 3 is a simplified schematic diagram showing additional details of a context-aware NPC logic generator according to one embodiment. As shown in Figure 3, in operation 112, the context-aware NPC logic generator 106 receives game state data generated during the execution of the video game 100. In one embodiment, the game state data is received via a suitable application programming interface (API) and stored in memory for use. As is known to those skilled in the art, the game state data provides a stream of metadata that describes everything happening in the game. For example, the metadata describes the actions occurring in the game, the game context, the tracking history, and state variables, which can be used by the game engine not only to replay the game but also to analyze interactivity, actions, progress, etc.

[0031] In operation 114, while the video game 100 is running, scene interactivity data is sequentially identified from the game state data. Generally speaking, scene interactivity data is obtained by sequentially parsing the game state data to identify what activities are happening in the game scene at a given moment, and then determining whether such activities constitute important events that should be identified as scene interactivity data. In one embodiment, snapshots of the game state data are taken periodically, for example, every 3 seconds, every 5 seconds, every 10 seconds, etc., and these snapshots of the game state data are processed by the game engine (in conjunction with the game logic) to determine what activities are happening in the game scene at the time of the snapshot. For example, activities occurring in a game scene may be determined to be a player character walking along a river, a player character earning 50 points to complete a quest, a player character driving a car, or a player character failing to defeat a boss three times in a row. Next, a set of rules is applied to the activities occurring in the game scene to determine whether the activity constitutes a significant event. In one embodiment, an activity occurring in a game scene is considered a significant event if the activity involves a player character actively controlled by the user, and each significant event is identified as interactivity data for the scene. On the other hand, if the activity in a game scene does not involve a player character actively controlled by the user, for example, if the player character passively observes the occurrence of other game activities, those activities are not considered important events and are not identified as scene interactivity data. In other embodiments, scene interactivity data is not limited to important events occurring in a game scene. As an example, as will be described in more detail below with reference to Figure 4, in these other embodiments, scene interactivity data may include audio data, game progress data, audience comments, and camera views.

[0032] In operation 116, the scene interactivity data is filtered based on the filtering settings. In one embodiment, as will be described in more detail below, the filtering settings are configured to identify target interactivity data to be processed in order to generate context-aware logic. Generally speaking, the filtering operation analyzes the scene interactivity data to exclude any data from the scene interactivity that is not relevant to the problem of identifying where NPCs should go in the game scene in order to be contextually interactive with the player character. For example, in a game scene where a player character is playing ball with a dog, the scene typically includes other elements that are not relevant to the NPC's ability to identify where to go in the scene, such as birds, trees, and clouds. Therefore, the filtering operation will exclude these other elements from the scene's interactivity data. Data that is not excluded from the scene's interactivity data by the filtering operation includes data related to the problem of the NPC identifying where to go in the game scene, and this data is identified as target interactivity data.

[0033] The target interactivity data generated in operation 116 by filtering game state data is fed to the context interactivity model 118. The context interactivity model 118 is trained on many previous games to build a model that understands scene interactivity and scene context. The context interactivity model 118 processes the classified features of the target interactivity data to generate a descriptive interactivity context for the current game scene. For example, if the context interactivity model 118 receives target interactivity data indicating that the current game scene includes a player character driving a car on a winding road in level 3 of a racing game, the context interactivity model 118 processes the classified features of the target interactivity and generates based on the most likely outcomes of this game scene. If the processing of the classified features determines, based on training the model in many previous games, that the player character is likely to slide into a wall as they are about to round an upcoming hairpin turn, the context interactivity model 118 generates descriptive interactivity indicating that the player character's car is about to slide into a wall as they are about to round a hairpin in level 3 of the game. The descriptive interactivity context generated by the context interactivity model 118 is output to the generative artificial intelligence (AI) model 120. In one embodiment, the context interactivity model 118 outputs the descriptive interactivity context in the form of a text sentence that is optimized to include as much descriptive information as possible about the context interactivity.

[0034] The generative artificial intelligence (AI) model 120 is designed to generate context-aware logic for controlling NPCs. The generative AI model 120 understands video games 100 from the game training data used to build the model and can access user profile data. The generative AI model 120 also understands the context of what is happening in the game by receiving a descriptive interactivity context of the current game scene, generated by the context interactivity model 118, as input. The generative AI model processes inputs regarding the descriptive interactivity context of the current game scene, game training data from the game, and user profile data to generate context-aware logic that can be applied to NPCs. For illustrative purposes, in an example where a player character is driving a car on a winding road, the descriptive interactivity context of the current game scene is that the player's car is sliding or slipping towards a wall as they attempt to turn a hairpin turn in game level 3. The user profile data indicates that the user is a fairly skilled player who accepts in-game assistance from the game. The generative AI model 120 is trained using game training data, which includes many previous games of the racing game played by the user. The generative AI model 120 processes these inputs to generate appropriate context-aware logic to control the NPCs so that they provide assistance to the player character. Specifically, in this example, the generative AI model 120 generates context-aware logic that requests the NPC to give the player character the following commands: double-click trigger R2 and pull back both joysticks just before entering the hairpin turn that is approaching in the next three seconds. These commands are created by the generative AI model 120 to help the player character not slide into the wall while trying to round the hairpin turn. For example, the NPC could be a pit boss for the player character, wearing a headset and providing voice commands to the player character. To further assist the user, the NPC could appear on the user's screen, for example, in a pop-up window or split-screen view, and while giving commands, the NPC could face either the user or the player character. In another example, the NPC could appear on a display panel inside the car, or as a head-up display inside the car, and speak directly to the player character who is driving the car while giving commands.

[0035] Continuing to refer to Figure 3, the context-aware logic generated by the generative AI model 120 of the context-aware NPC logic generator 106 is output to the context-aware NPC logic 110 (also shown in Figure 2). The context-aware logic generated by the generative AI model 120 can be output to the context-aware NPC logic 110 in the form of code, instructions, or a combination of code and instructions. As described above with reference to Figure 2, the context-aware NPC logic 110 modifies the code of the NPC interactivity logic 104 according to the context-aware logic from the context-aware NPC logic generator 106. This converts the NPC interactivity logic 104 into NPC interactivity logic 104', and the execution of the context-aware code in NPC interactivity logic 104' converts the actions of the NPC 102 to be contextually interactive with the player character during gameplay by the user. In an example where the player character is driving a car on a winding road, the actions of the NPC pit boss are translated from performing randomly pre-planned actions in the pit area to providing timely assistance to help the player character avoid crashing into the wall while navigating hairpin turns. As indicated by the circular arrows in Figure 3, and as described in detail above with reference to Figure 2, the game state data generated during the execution of the video game 100 is continuously processed to dynamically generate context-aware logic to translate the actions of the NPC 102 during gameplay by the user. This makes it possible to dynamically adjust the actions of the NPC 102 as needed, and as a result, the NPC's actions remain contextually interactive with the player character during gameplay by the user.

[0036] In one embodiment, the gameplay mode defines when context-aware logic is applied to NPC102. In this embodiment, the gameplay mode can be set either by the user, for example, through a suitable graphical user interface (GUI), or by the game system. For example, the user can select a gameplay mode that requests the application of context-aware logic to NPC102 when the user is playing a difficult part of the game, and as a result, the NPC may provide assistance to the user's player character. In this example, the actions of NPC102 are translated to the period during which the context-aware logic is applied, i.e., the difficult part of the game. When the user finishes playing the difficult part of the game, the context-aware logic is no longer applied to NPC102. In another embodiment, the game system may recognize that the user may benefit from assistance in a future part of the game, and may automatically select a gameplay mode that requests the application of context-aware logic to NPC102 during that part of the game.

[0037] Figure 4 is a simplified schematic diagram illustrating additional details of filtering scene interactivity data according to one embodiment. As shown in Figure 4, in operation 116 (also shown in Figure 2) in which scene interactivity data is filtered, the scene interactivity data to be filtered includes action data 122, audio data 124, game progress data 126, audience comments 128 (optional), and camera views 130 (optional). Action data 122 includes action data generated in the game being played by the user. Audio data 124 may include audio data from the user (e.g., audio data of the user talking to other players in the scene) and audio data generated by the game (e.g., audio data of an NPC talking to another NPC, or audio data of an NPC talking to the player character). Game progress data 126 includes data from the game that reflects the user's progress in the game (e.g., clearing a boss three times in a row and currently being level 4). Optionally included in the interactivity data of the filtered scene are audience comments 128, which include audience comments made during or about a game scene (e.g., audience comments made in the game's audience chat section). Optionally included in the interactivity data of the filtered scene are camera views 130, which may include data from the user's camera generated while the user is playing the game. Data from the user's camera may include camera views that show items of interest to the user in the background. Examples of such items include posters of baseball players or pop music stars, a collection of books on a bookshelf, a tennis racket, etc.

[0038] In operation 132, features are extracted from the scene interactivity data, which may include all or part of the action data 122, audio data 124, game progress data 126, audience comments 128, and camera view 130. In one embodiment, features are extracted by a feature extractor or feature extraction unit that includes code for determining which data is particularly relevant to the game scene. Specifically, the feature extractor extracts data that is determined to be particularly relevant to the game scene and excludes data that is determined to be less relevant to the game scene. The feature extractor then divides the extracted data into smaller data groups by identifying features that describe the data in each group. In operation 134, the features extracted in operation 132 are labeled by a feature classifier for use in a machine learning model, such as a filtering model 136. Specifically, each feature classifier adds an appropriate label to each of the extracted features that it considers useful for training the filtering model 136. The classified features, i.e., the interactivity data of the extracted scenes tagged with labels, are fed into filtering model 136.

[0039] In addition to interactivity data of scenes tagged with labels, the filtering model 136 also receives a filtering mode setting 138 as input. The filtering mode setting can be set by the user or by the game system. In one embodiment, the filtering mode setting is set by the user via any suitable graphical user interface, such as a slider. Depending on the input received from the filtering mode setting 138, the filtering model 136 filters the interactivity data of the tagged scenes with relatively high filtering, moderate filtering, or no filtering at all. In one embodiment, relatively high filtering removes interactivity data of scenes that do not focus on the main interactivity occurring in the game scene. For example, if the main interactivity in a game scene involves the player character kicking a soccer ball, only the interactivity data for the scene related to the player character kicking the soccer ball would be retained. Moderate filtering would remove interactivity data for scenes containing remote interactivity from the main interactivity in the game scene, but retain interactivity data for scenes close to the main interactivity occurring in the game scene. In the soccer example, the retained scene interactivity data includes not only the interactivity data for the player character kicking the soccer ball, but also the interactivity data for other player characters and NPCs in close proximity to the player character kicking the soccer ball. If no filtering is applied, the scene interactivity data remains unchanged. In one embodiment, filtering model 136 is a machine learning model that learns over time which scene interactivity data is more important and which scene interactivity data is not. Interactive data of scenes that pass through filtering model 136 are identified as target interactivity data. Of all interactivity data associated with game scenes, target interactivity data is interactivity data associated with game scenes used to influence the behavior of NPCs. In addition to action data generated during gameplay by the user, target interactivity data may also include, for example, voice (e.g., audio data), chat (e.g., audience comments), the user's level of success or failure in the game, and the user's need for help in the game.

[0040] In one embodiment where an NPC communicates emotions from the audience to the player character, a mode setting, such as a filtering mode setting, is applied to adjust or moderate the amount and type of audience emotions communicated to the NPC. In a game environment that primarily values ​​audience emotions providing either positive comments or positive criticism, the mode setting can be configured to allow such emotions to be communicated to the player character. On the other hand, in a game environment that disrespects audience emotions in that they include a relatively large number of negative comments from so-called trolls, the mode setting can be configured to block or otherwise prevent such emotions from being communicated to the player character.

[0041] Figure 5 is a simplified schematic diagram illustrating the use of an activity setting to adjust the degree to which context-aware logic is applied to an NPC, according to one embodiment. As shown in Figure 5, the video game 100 communicates with an activity setting 140 that defines the degree to which context-aware logic is applied to an NPC. In one embodiment, the activity setting 140 includes a low activity setting 140a and a high activity setting 140b. The low activity setting 140a applies a lower degree of context-aware logic to the NPC, thereby reducing the degree to which the NPC is contextually interactive with the player character during gameplay by the user. The high activity setting 140b applies a higher degree of context-aware logic to the NPC, thereby increasing the degree to which the NPC is contextually interactive during gameplay by the user. In one embodiment, the video game 100 transmits a command to the activity setting 140 to select either a low activity setting 140a or a high activity setting 140b. As will be described in more detail below, the command can be generated based on user input or generated by the video game 100. As will be described in more detail above with reference to Figures 2 and 3, the activity setting 140 communicates the selected activity setting to the context-aware NPC logic 110, which in turn incorporates the selected activity setting into context-aware code added to the NPC interactivity logic 104, and can convert the NPC interactivity logic into NPC interactivity logic 104'.

[0042] To illustrate how low activity setting 140a and high activity setting 140b differ in a game scene, consider an example of a game scene that takes place in a bar, where NPC 102 approaches the player character in the bar and initiates a conversation. If low activity setting 140a is selected, NPC 102 will typically approach the player character relatively slowly, maintain an appropriate distance from the player character, and speak to the player character occasionally. On the other hand, if high activity setting 140b is selected, NPC 102 will typically approach the player character relatively quickly, assume a physically close position to the player character, and speak to the player character frequently. In some game scenes, the video game 100 will automatically select the activity setting based on the nature of the game scene. For example, if the player character is about to make a crucial shot in a target shooting game, the video game 100 may automatically select a low activity setting 140a so that the NPC 102 does not distract the player character during the shooting process. Alternatively, if a high activity setting 140b is selected and the NPC 102 repeatedly approaches the player character in a game scene, causing the player character to become frustrated with the NPC 102 and annoyed, telling them to "go away" or "leave me alone," the video game 100 may respond to the player character's frustration by automatically changing the activity setting to a low activity setting 140a, so that the NPC stops interfering with the player character.

[0043] Figure 6A is a simplified schematic diagram illustrating a mode switch that occurs when a player character moving within a game space encounters an NPC, according to one embodiment. As shown in Figure 6A, the player character 200, along with three NPCs including NPC1, NPC2, and NPC3, are located within the game space of a video game, for example, the video game 100 shown and described herein. The player character 200 moves within the game space along a path comprising seven legs, including legs A through G. As the player character 200 approaches NPC1 along leg A, NPC1 remains stationary but is surrounded by a halospace 201, as seen in Figure 6A. The halospace 201 surrounding NPC1 defines a region in which, with respect to the use of context-aware logic, NPC1 is switched from off mode to on mode. In one embodiment, the size of the halospace 201 is a function of the interactivity that occurs in proximity to NPC1. Furthermore, the size of the halospace 201 can be dynamically adjusted as the interactivity that occurs in proximity to NPC1 changes over time. Along leg B, the player character 200 is within the region defined by the halospace 201. Thus, while the player character 200 is moving within the halospace 201, NPC1 is switched from off mode to on mode. As seen in Figure 6A, the player character 200 then leaves the halospace 201 and proceeds towards NPC3 along leg C. When the player character 200 is outside the halospace 201, NPC1 returns from on mode to off mode.

[0044] As player character 200 approaches NPC3 along leg C, NPC3 remains stationary, surrounded by halospace 203. Along leg D, player character 200 is within the area defined by halospace 203, and as a result, NPC3 switches from off mode to on mode. As player character 200 moves outside of halospace 203 along leg E, NPC3 returns from on mode to off mode. NPC2, surrounded by halospace 202, approaches player character 200 as the player character moves along leg E. As seen in Figure 6A, halospace 202 moves with NPC2 as NPC2 approaches player character 200. Along leg F, as player character 200 is within the area defined by halospace 202 (shown as a dashed circle in Figure 6A), NPC2 switches from off mode to on mode. When player character 200 moves outside of halospace 202 along leg G, NPC3 switches from on mode to off mode.

[0045] Figure 6B is a diagram summarizing the mode switching of NPC1, NPC2, and NPC3 shown in Figure 6A. As shown in Figure 6B, NPC1 is in ON mode while the player character 200 is in Leg B of the path it follows. For the other Legs (Legs A and C-G), NPC1 is in OFF mode. NPC2 is in ON mode during Leg F and OFF mode for the other Legs (Legs A-E and G). NPC3 is in ON mode for Leg D and OFF mode for the other Legs (Legs A-C and Legs E-G). In Off mode, the actions of NPC1, NPC2, and NPC3 are controlled by code that defines randomly pre-planned actions for each NPC, such as NPC interactivity logic 104 (see, for example, Figures 1-3). In On mode, the actions of NPC1, NPC2, and NPC3 are controlled by code, such as NPC interactivity logic 104' (see, for example, Figures 2 and 3), which is modified to include context-aware logic that translates the actions of NPCs to be contextually interactive with the player character. For example, when NPC2 is in On Mode while in Leg F shown in Figure 6A, NPC2 may approach the player character 200 and give the player character advice about the game, give the player character hints about the game, for example, hints about future gameplay, send the player character personalized messages, or give the player character praise, for example, praise for recent game actions that the player character has performed well.

[0046] Therefore, to summarize the mode switching, context-aware logic is applied to NPCs for the duration that the player character is either near or within the NPC's halospace in the game scene. Context-aware logic is also applied to other NPCs in the game scene when the player character is either near or within the respective halospace of another NPC in the game scene. The NPC's behavior is translated to be contextually interactive with the player character for the duration that context-aware logic is applied to the NPC.

[0047] Figure 7 shows components of an exemplary device 700 that can be used to perform various embodiments of the present disclosure. Specifically, the block diagram of Figure 7 shows device 600, which may or may be a personal computer, video game console, personal digital assistant, server, or other digital device suitable for performing embodiments of the present disclosure. Device 600 includes a central processing unit (CPU) 602 for running software applications and, optionally, an operating system. CPU 602 may consist of one or more homogeneous or heterogeneous processing cores. For example, CPU 602 is one or more general-purpose microprocessors having one or more processing cores. Further embodiments may be implemented using one or more CPUs with a microprocessor architecture particularly suited to highly parallel and computationally intensive applications, such as interpreting queries, identifying contextually relevant resources, and immediately executing and rendering contextually relevant resources in a video game. Device 600 may be localized to a player playing a game segment (e.g., a game console), or remote from the player (e.g., a backend server processor), or one of many servers using virtualization in a game cloud system for remote streaming of gameplay to clients, or in a cloud system implementing a virtual reality space.

[0048] Memory 604 stores applications and data used by the CPU 602. Storage 606 provides non-volatile storage and other computer-readable media for applications and data, and may include fixed disk drives, removable disk drives, flash memory devices, and CD-ROMs, DVD-ROMs, Blu-ray®, HD-DVDs, or other optical storage devices, as well as signal transmission and storage media. User input device 608 communicates user input from one or more users to device 600, and examples of user input device 608 may include keyboards, mice, joysticks, touchpads, touchscreens, still recorders / cameras or video recorders / cameras, tracking devices for recognizing gestures, and / or microphones. The network interface 614 enables device 600 to communicate with other computer systems via an electronic communication network, which may include wired or wireless communication over a local area network and a wide area network such as the Internet. The audio processor 612 adapts instructions and / or data provided by the CPU 602, memory 604, and / or storage 606 to generate analog or digital audio output. The components of device 600, including the CPU 602, memory 604, data storage 606, user input device 608, network interface 614, and audio processor 612, are connected via one or more data buses 622.

[0049] The graphics subsystem 620 is further connected to the data bus 622 and the components of device 600. The graphics subsystem 620 includes a graphics processing unit (GPU) 616 and graphics memory 618. The graphics memory 618 includes display memory (e.g., a frame buffer) used to store pixel data for each pixel of the output image. The graphics memory 618 can be integrated into the same device as the GPU 616, connected as a separate device from the GPU 616, and / or implemented within memory 604. Pixel data can be provided directly from the CPU 602 to the graphics memory 618. In another embodiment, the CPU 602 provides the GPU 616 with data and / or instructions defining a desired output image, and the GPU 616 generates pixel data for one or more output images from that data and / or instructions. The data and / or instructions defining the desired output image can be stored in memory 604 and / or graphics memory 618. In one embodiment, the GPU 616 includes a 3D rendering function for generating pixel data for an output image from instructions and data defining the scene geometry, lighting, shading, texturing, motion, and / or camera parameters. The GPU 616 may further include one or more programmable execution units capable of executing shader programs.

[0050] The graphics subsystem 620 periodically outputs pixel data of an image from the graphics memory 618 and displays it on the display device 610. The display device 610 may be any device capable of displaying visual information in response to signals from device 600, including CRT, LCD, plasma, and OLED displays. Device 600 can, for example, provide analog or digital signals to the display device 610.

[0051] It should be noted that access services delivered across a wide geographical area, such as providing access to virtual reality spaces and games in this embodiment, often utilize cloud computing. Cloud computing is a dynamically scalable style of computing in which virtualized resources are often provided 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 classified into different 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 applications such as online video games accessed from a web browser, while the software and data are stored on servers in the cloud. The term "cloud" is used as a metaphor for the internet, based on how the internet is depicted in computer network diagrams, and is an abstract concept of concealing complex infrastructure.

[0052] In some embodiments, a game server may be used to operate a persistent information platform for video game players. Most video games played over the internet operate via a connection to a game server. Typically, the game uses a dedicated server application to collect data from players and distribute it to other players. In other embodiments, the video game may run on a distributed game engine. In these embodiments, the distributed game engine may run on multiple processing entities (PEs), with each PE executing a given functional segment of the game engine on which the video game runs. Each processing entity is viewed by the game engine as simply a computing node. The game engine typically performs a functionally diverse set of operations to run a video game application along with additional services experienced by the user. For example, the game engine implements game logic and performs game calculations, physical analysis, geometry transformation, rendering, lighting, shading, audio, and additional in-game or game-related services. Additional services may include, for example, messaging, social utilities, voice communication, gameplay playback functionality, and help functions. The game engine may sometimes run on an operating system virtualized by a hypervisor on a specific server, but in other embodiments, the game engine itself may be distributed among multiple processing entities, each residing in a different server unit of a data center.

[0053] According to this embodiment, each processing entity for performing an operation may be a server unit, a virtual machine, or a container, depending on the needs of each game engine segment. For example, if a game engine segment is responsible for camera transformations, it will perform a large number of relatively simple mathematical operations (e.g., matrix transformations), so that particular game engine segment may be provisioned with a virtual machine associated with a graphics processing unit (GPU). A small number of other game engine segments that require more complex operations may be provisioned with processing entities associated with one or more higher-powered central processing units (CPUs).

[0054] Distributing the game engine provides it with flexible computing characteristics that are not constrained by the capabilities of physical server units. Instead, the game engine is provisioned with a large or small number of computing nodes to meet the demands of the video game as needed. From the perspective of the video game and the video game player, a game engine distributed across multiple computing nodes is indistinguishable from a non-distributed game engine running on a single processing entity. This is because the game engine manager or supervisor distributes the workload and seamlessly integrates the results to deliver the video game output components to the end user.

[0055] Users access remote services via a client device that includes at least a CPU, display, and I / O. The client device may be a PC, mobile phone, netbook, PDA, etc. In one embodiment, the network running on the game server recognizes the type of device the client is using and adjusts the communication method employed. In other cases, the client device accesses the application on the game server via the internet using standard communication methods such as HTML. It should be noted that a given video game, game application, or virtual reality space may be developed for a specific platform and specific associated controller device. However, when such games or virtual reality spaces become available through a game cloud system, or a cloud system that implements a virtual reality space, users may access the video game or virtual reality space with different controller devices. For example, a game or virtual reality space may be developed for a game console and its associated controllers, while a user may access a cloud-based version of the game or virtual reality space from a personal computer using a keyboard and mouse. In such scenarios, input parameter settings can define a mapping from inputs that can be generated by the user's available controller devices (in this case, keyboard and mouse) to inputs that are acceptable for running the video game or interacting with the virtual reality space.

[0056] In another example, a user may access a cloud gaming system or cloud system that implements a virtual reality space via a tablet computing device, a touchscreen smartphone, or other touchscreen-driven device. In this case, the client device and controller device are integrated together on the same device, and input is provided by detected touchscreen inputs / gestures. For such a device, input parameter settings may define specific touchscreen inputs corresponding to game inputs for the video game or virtual reality space. For example, buttons, directional pads, or other types of input elements may be displayed or overlaid during video gameplay, indicating locations on the touchscreen where the user can touch to generate game input. Gestures, such as swiping in a specific orientation or specific touch motions, may also be detected as game input or input for interaction in a virtual reality space. In one embodiment, to familiarize the user with control actions on the touchscreen, a tutorial showing how to input gameplay via the touchscreen may be provided to the user, for example, before starting gameplay of a video game.

[0057] In some embodiments, the client device functions as a connection point to the controller device. That is, the controller device communicates with the client device via a wireless or wired connection and transmits inputs from the controller device to the client device. The client device, in turn, processes these inputs and may then transmit the input data to the cloud game server via a network (accessed, for example, via a local network device such as a router). However, in other embodiments, the controller itself may be a network device capable of communicating input directly to the cloud game server over the network without requiring such input to be communicated via a client device first. For example, the controller may connect to a local network device (such as the aforementioned router), send data to the cloud game server, and receive data from there. Thus, while the client device may still be required to receive video output from the cloud-based video game and render it on a local display, input latency can be reduced by enabling the controller to send input directly to the cloud game server over the network, bypassing the client device.

[0058] In one embodiment, a networked controller and client device can be configured to send certain types of input directly from the controller to the cloud game server, and other types of input via the client device. For example, detection inputs that do not depend on any additional hardware or processing other than the controller itself can be sent directly from the controller to the cloud game server over the network, bypassing the client device. Such inputs may include button inputs, joystick inputs, and built-in motion detection inputs (e.g., accelerometers, magnetometers, gyroscopes), etc. However, inputs that utilize additional hardware or require processing by a client device can be sent to the game cloud server by the client device. These may include video or audio captured from the game environment, which may be processed by the client device before being sent to the cloud game server. Furthermore, input from controller motion detection hardware may be processed by the client device in conjunction with captured video to detect the controller's position and motion, which will then be communicated to the cloud game server by the client device. It should also be noted that controller devices according to various embodiments may also receive data (e.g., feedback data) from the client device or directly from the cloud game server.

[0059] In one embodiment, various technical examples can be realized using a virtual environment via a head-mounted display (HMD). An HMD may also be called a virtual reality (VR) headset. As used herein, the term “virtual reality” (VR) generally refers to user interaction with a virtual space / virtual environment, including viewing a virtual space via an HMD (or VR headset) in real time in response to the movement of the HMD (controlled by the user) to give the user the feeling of being in a virtual space or metaverse. For example, a user may see a three-dimensional (3D) view of the virtual space when facing a given direction, and similarly, when the user turns to the side, changing the orientation of the HMD, that lateral view of the virtual space is rendered on the HMD. An HMD can be worn like glasses, goggles, or a helmet and is configured to display video games or other metaverse content to the user. By being close to the user's eyes and providing a display mechanism, an HMD can provide the user with a highly immersive experience. Therefore, HMDs can provide each of the user's eyes with a display area that occupies a large portion, or even the entirety, of the user's field of view, and can also provide viewing with three-dimensional depth and perspective.

[0060] In one embodiment, the HMD may include an eye-tracking camera configured to capture images of the user's eyes while the user interacts with the VR scene. The gaze information captured by the eye-tracking camera(s) may include information relating to the user's gaze direction and specific virtual objects and content items in the VR scene that the user is paying attention to or is interested in interacting with. Thus, based on the user's gaze direction, the system may detect specific virtual objects and content items, such as game characters, game objects, game items, etc., that could be potential points of interest for the user if the user is interested in interacting with and participating.

[0061] In some embodiments, the HMD may include outward-facing cameras (may include more than one) configured to capture images of the user's real-world space, such as the user's body movements, and images of any real-world objects that may be located in that real-world space. In some embodiments, the images captured by the outward-facing cameras can be analyzed to determine the location / orientation of real-world objects relative to the HMD. Using the known location / orientation of the HMD, real-world objects, and inertial sensor data from the objects, the user's gestures and movements can be continuously monitored and tracked during the user's interaction with the VR scene. For example, while interacting with a game scene, the user may perform various gestures, such as pointing to a specific content item in the scene and walking towards it. In one embodiment, the gestures can be tracked and processed by the system to generate predictions of interactions with specific content items in the game scene. In some embodiments, machine learning can be used to facilitate or assist these predictions.

[0062] While using the HMD, various types of one-handed and two-handed controllers can be used. In some embodiments, the controller itself can be tracked by tracking lights contained within the controller, or by tracking shape, sensors, and inertial data associated with the controller. Using these various types of controllers, or even simple hand gestures recognized and captured by one or more cameras, it becomes possible to interface, control, manipulate, interact with, and participate in virtual reality environments or metaverses rendered on the HMD. In some cases, the HMD can be wirelessly connected to cloud computing and gaming systems via a network. In one embodiment, the cloud computing and gaming system maintains and runs the video game being played by the user. In some embodiments, the cloud computing and gaming system is configured to receive input from the HMD and interface objects over a network. The cloud computing and gaming system is configured to process the input to affect the game state of the running video game. Output from the running video game, such as video data, audio data, and haptic feedback data, is transmitted to the HMD and interface objects. In other embodiments, the HMD may communicate wirelessly with the cloud computing and gaming system via an alternative mechanism or channel, such as a cellular network.

[0063] Furthermore, while embodiments of this disclosure may be described in relation to head-mounted displays, it will be recognized that in other embodiments, non-head-mounted displays, including but not limited to portable device screens (e.g., tablets, smartphones, laptops, etc.) or any other type of display, may be used instead, which can be configured to render video and / or provide a display of an interactive scene or virtual environment according to this embodiment. It should be understood that the various embodiments defined herein may be combined or assembled into a particular embodiment using the various features disclosed herein. Thus, the examples provided are only a few possible examples and are not limited to the various embodiments that may be defined by combining various elements. In some examples, some embodiments may include a small number of elements without departing from the spirit of the disclosed embodiments or equivalent embodiments.

[0064] Embodiments of the 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. Embodiments of the Disclosure may also be implemented in a distributed computing environment in which tasks are performed by remote processing devices linked via a wired-based or wireless network.

[0065] While the operation of this method has been described in a specific order, please understand that other housekeeping operations may occur between operations, or operations may be coordinated to occur at slightly different times, or operations may be distributed in a system that allows processing operations to occur at various intervals associated with the processing, as long as the processing of telemetry and game state data is performed in the desired manner.

[0066] One or more embodiments may also be made as computer-readable code on a computer-readable medium. A computer-readable medium is any data storage device capable of storing data that can later 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. A computer-readable medium may include computer-readable tangible media distributed across a network-attached computer system, thereby allowing the computer-readable code to be stored and executed in a distributed manner.

[0067] In one embodiment, the video game runs on a game console, locally on a personal computer, or on a server. In some cases, the video game runs on one or more servers in a data center. When a video game is run, some instances of the video game may be simulations of the video game. For example, the video game may run by an environment or server that generates a simulation of the video game. In some embodiments, the simulation is an instance of the video game. In other embodiments, the simulation may be generated by an emulator. In any case, if the video game is represented as a simulation, that simulation can be run to render interactive content that can be interactively streamed, run, and / or controlled by user input.

[0068] Accordingly, the disclosure of exemplary embodiments is intended to illustrate, but not limit, the scope of the Disclosure set forth in the following claims. While the exemplary embodiments of the Disclosure are described in some detail for clarity, it will be apparent that certain changes and modifications can be made within the scope of the following claims and equivalents. In the following claims, elements and / or steps do not suggest any particular sequence of operations unless expressly stated in the claims or implicitly required by the Disclosure.

Claims

1. A method for generating context-aware non-player characters in a video game, A video game is run to enable gameplay using a player character controlled by the player, and the gameplay generates game state data. During the execution of the aforementioned video game, the interactivity data of the scene is identified from the game state data, Based on the filtering settings, the system is configured to filter the scene's interactivity data by running a machine learning-based filtering model that takes the extracted scene's interactivity data as input data and target interactivity data to influence the behavior of non-player characters (NPCs) as output data, thereby identifying the target interactivity data to be processed in order to generate context recognition logic. A method comprising applying the context recognition logic to a non-player character (NPC) associated with the current scene of gameplay, wherein the context recognition logic transforms the NPC's behavior so that it is contextually interactive with the player character during the player's gameplay.

2. The method according to claim 1, wherein the context-aware logic is compiled and instrumented to run together with the interactivity logic of the NPC, and the actions of the NPC are transformed over the period in which the context-aware logic is applied.

3. The method according to claim 2, wherein the gameplay mode defines when the context-aware logic is applied.

4. The method according to claim 1, wherein the actions of the NPC are transformed to be contextually interactive with the player character by having the NPC participate in voice communication with the player character.

5. The method according to claim 1, wherein the actions of the NPC are transformed to be contextually interactive with the player character by having the NPC perform actions related to the player character.

6. The method according to claim 1, wherein the actions of the NPC are translated to be contextually interactive with the player character by having the NPC provide assistance to the player character.

7. Apply an activity setting that defines whether a lower or higher level of context awareness logic is applied to the NPC. The method according to claim 1, wherein applying a lower level of context-aware logic to the NPC reduces the degree to which the NPC contextually interacts with the player character during gameplay by the player, and applying a higher level of context-aware logic to the NPC increases the degree to which the NPC contextually interacts with the player character during gameplay by the player.

8. The method according to claim 1, wherein, during the execution of the video game, the target interactivity data is continuously generated for the current scene of gameplay, and the processing of the target interactivity data involves running a context interactivity model that analyzes the classified features of the target interactivity data to generate a descriptive interactivity context for the current scene.

9. Furthermore, it processes a generative artificial intelligence (AI) model using the input regarding the descriptive interactivity context of the current scene, game training data from the video game, and user profile data. The method according to claim 8, wherein the generative AI model is configured to generate the context recognition logic.

10. The method according to claim 1, wherein the video game is an online game or a non-online game with one or more viewers.

11. The method according to claim 10, wherein the target interactivity data includes comments from one or more spectators, and the actions of the NPC are translated by having the NPC communicate the emotions of the one or more spectators to the player character.

12. The method according to claim 11, further comprising applying a mode setting to adjust the amount and type of emotions of the one or more spectators that the NPC communicates with the player character.

13. A system for generating context-aware non-player characters in video games, A video game is run to enable gameplay using a player character controlled by the player, and the gameplay generates game state data. During the execution of the aforementioned video game, the interactivity data of the scene is identified from the game state data, Based on the filtering settings, the system is configured to filter the scene's interactivity data by running a machine learning-based filtering model that takes the extracted scene's interactivity data as input data and target interactivity data to influence the behavior of non-player characters (NPCs) as output data, thereby identifying the target interactivity data to be processed in order to generate context recognition logic. The context recognition logic is applied to a non-player character (NPC) associated with the current scene of gameplay, and the context recognition logic transforms the NPC's behavior so that it is contextually interactive with the player character during the player's gameplay. One or more processors included in the system perform an operation that includes the following: system.

14. The system according to claim 13, wherein the actions of the NPC, which are contextually interactive with the player character, are represented by causing the NPC to generate comments to the player character regarding actions that occur during the execution of the video game.

15. The system according to claim 13, wherein the actions of the NPC, which are contextually interactive with the player character, are represented by causing the NPC to generate comments relating to chat observed by one or more spectators regarding actions occurring during the execution of the video game.

16. The system according to claim 13, wherein the application of the context recognition logic to the NPC occurs over the period during which the player character is present within the NPC's halospace in the video game scene, and the NPC's actions are translated to be contextually interactive with the player character over the period during which the context recognition logic is applied.

17. A computer-readable medium containing program instructions for generating context-aware non-player characters in a video game, wherein the execution of the program instructions by one or more processors of a computer system results in the one or more processors being able to A video game is run to enable gameplay using a player character controlled by the player, and the gameplay generates game state data. During the execution of the aforementioned video game, the interactivity data of the scene is identified from the game state data, Based on the filtering settings, the system is configured to filter the scene's interactivity data by running a machine learning-based filtering model that takes the extracted scene's interactivity data as input data and target interactivity data to influence the behavior of non-player characters (NPCs) as output data, thereby identifying the target interactivity data to be processed in order to generate context recognition logic. The context recognition logic is applied to a non-player character (NPC) associated with the current scene of gameplay, and the context recognition logic transforms the NPC's behavior so that it is contextually interactive with the player character during the player's gameplay. A computer-readable medium that performs the following action.

18. The computer-readable medium according to claim 17, wherein the actions of the NPC, which are contextually interactive with the player character, are represented by causing the NPC to generate comments to the player character regarding actions that occur during the execution of the video game.

19. The computer-readable medium according to claim 17, wherein the actions of the NPC, which are contextually interactive with the player character, are represented by causing the NPC to generate comments relating to chat observed by one or more spectators regarding actions occurring during the execution of the video game.

20. The computer-readable medium according to claim 17, wherein the application of the context-aware logic to the NPC occurs over the period during which the player character is present within the NPC's halospace in the video game scene, and the NPC's actions are translated to be contextually interactive with the player character over the period during which the context-aware logic is applied to the NPC.

21. The method according to claim 1, wherein, during the execution of the video game, the target interactivity data is generated for the current scene of gameplay, and the processing of the target interactivity data involves running a context interactivity model that analyzes the features of the target interactivity data to generate context recognition logic.