Systems and methods for training an artificial intelligence model for competition matches

A method for training a character for a game is described. The method includes facilitating a display of one or more scenes of the game. The one or more scenes include the character and virtual objects. The method further includes receiving input data for controlling the character by a user to interact with the virtual objects and analyzing the input data to identify interaction patterns for the character in the one or more scenes. The interaction patterns define inputs to train an artificial intelligence (AI) model associated with a user account of the user. The method includes enabling the character to interact with a new scene based on the AI model. The method includes tracking the interaction with the new scene by the character to perform additional training of the AI model.

FIELD

The present disclosure relates to systems and methods for training an artificial intelligence (AI) model for competition matches.

BACKGROUND

A video game, these days, is accessed over a computer network. For example, Fortnite™ game is played by many players from different parts of the world. One player controls a first avatar and another player controls a second avatar. Each avatar collects weapons and cuts wood during the game. The avatars are then forced to be confined within a virtual circle. If the avatars are left behind outside the virtual circle, the avatars virtually die in the game. When both the avatars are in the circle, they find each other and then battle against each other with their weapons. Only one of the two avatars survive.

However, during a play of the game in which millions of players are playing the game worldwide, there is an increase in network traffic.

SUMMARY

Embodiments of the present disclosure provide systems and methods for training an artificial intelligence (AI) model for competition matches.

Other aspects of the present disclosure will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of embodiments described in the present disclosure.

The systems and methods described herein enable players to setup matches against artificial intelligence (AI) models of other users. For example, an artificial intelligence model is constructed over time to match a player's or user's game skills, and other artificial intelligence models are constructed for other players or users. The user may wish to find out if his/her artificial intelligence model can beat the an artificial intelligence model of his/her friend, and then the user and his/her friend watch the virtual characters that represent the artificial intelligence models compete. This provides for custom matches that are set up and passively watched by the users.

In an embodiment, a method for training a character for a game is described. The method includes facilitating a display of one or more scenes of the game. The one or more scenes include the character and virtual objects. The method further includes receiving input data for controlling the character by a user to interact with the virtual objects and analyzing the input data to identify interaction patterns for the character in the one or more scenes. The interaction patterns define inputs to train an AI model associated with a user account of the user. The method includes enabling the character to interact with a new scene based on the AI model. The method includes tracking the interaction by the character with the new scene to perform additional training of the AI model.

In one embodiment, a server for training a character for a game is described. The server includes a processor configured to facilitate a display of one or more scenes of the game. The one or more scenes include the character and virtual objects. The processor receives input data for controlling the character by a user to interact with the virtual objects and analyzes the input data to identify interaction patterns for the character in the one or more scenes. The interaction patterns define inputs to train an AI model associated with a user account of the user. The processor enables the character to interact with a new scene based on the AI model. The character interacts with the new scene in accordance with the AI model. The processor tracks the interaction by the character with the new scene to perform additional training of the AI model. The server includes a memory device coupled to the processor and the memory device is configured to store the AI model.

In an embodiment, a computer readable medium containing program instructions is described. An execution of the program instructions by one or more processors of a computer system causes the one or more processors to carry out a plurality of operations including facilitating a display of one or more scenes of the game. The one or more scenes include the character and virtual objects. The plurality of operations further include receiving input data for controlling the character by a user to interact with the virtual objects and analyzing the input data to identify interaction patterns for the character in the one or more scenes. The interaction patterns define inputs to train an AI model associated with a user account of the user. The plurality of operations includes enabling the character to interact with a new scene based on the AI model. The plurality of operations includes tracking the interaction by the character with the new scene to perform additional training of the AI model.

Some advantages of the herein described systems and methods include that actions performed by a user during a play of the game are monitored so that an artificial intelligence model can learn from the actions. Also, the artificial intelligence model learns by itself during execution of a game program of the game, learns from other artificial intelligence models during execution of the game program, and learns from new scenes of the game. These types of learning by the artificial intelligence model reduces an amount of input data being transferred during the play of the game between a client device, such as a hand-held controller or a head-mounted display or a computing device, and one or more servers while at the same time providing a better gaming experience to the user. The reduction in the amount of input data reduces an amount of network traffic being transferred between the client device and the one or more servers. The reduction in the amount of network traffic increases the speed of transfer of network data between the client and the one or more servers. As such, when the artificial intelligence mall is trained, the input data that is transferred via a computer network is reduced to decrease network latency.

Also, the generation of the input data is less predictable than use of the artificial intelligence model during execution of the game program. For example, a human user may take a long time to select a button on a hand-held controller or to make a gesture or takes breaks during gameplay. This makes generation and transfer of input data from the client device to one or more of the servers less predictable. As such, management of network traffic by the one or more servers or by the computer network becomes less predictable. With use of the artificial intelligence model, the human factor becomes less important and predictability of network traffic increases to achieve better network traffic management.

DETAILED DESCRIPTION

Systems and methods for training an artificial intelligence (AI) model for competition matches are described. It should be noted that various embodiments of the present disclosure are practiced without some or all of these specific details. In other instances, well known process operations have not been described in detail in order not to unnecessarily obscure various embodiments of the present disclosure.

FIG.1A-1is a diagram of an embodiment of a system10to illustrate an artificial intelligence model AI1A. The system10includes a virtual scene12, another virtual scene14, the AI model AI1A, and another virtual scene16. The virtual scenes12,14, and16illustrated inFIG.1A-1are displayed on a head mounted display or on another display device, such as a television or a computer or a smart phone or a tablet, during a play of a video game or an interactive game. In the virtual scene12, a character C1wields a weapon towards another character CA. The character C1moves towards the character CA in a pattern26to virtually kill the character CA.

Similarly, in the virtual scene14, the character C1climbs on top of a virtual mountain and takes a dive in virtual water that is at the other side of the virtual mountain. The character C1follows a pattern28of movement to climb on top of the virtual mountain and to dive in the virtual water.

The AI model AI1A receives the pattern26as an AI input18and the pattern28as an AI input20, and learns from the patterns26and28to generate an AI output22, which is a learned method. The AI output22is applied by the AI model AI1A to the virtual scene16as an AI input. For example, the character C1, who has no virtual weapon in the virtual scene16, is controlled by the AI model AHA to climb on top of a virtual mountain in the virtual scene16but not take a dive. The character C1descends down the virtual mountain to meet the character CA and fights the character CA with its bare fist. In the virtual scene16, there is no virtual water but there is the virtual mountain and the character CA on the other side of the virtual mountain.

While interacting with the virtual scene16via the character C1, the AI model AI1A determines that a game level, such as a number of virtual coins or game points, increases when the character C1climbs the virtual mountain the virtual scene16and defeats the character CA with its bare first compared to when the character C1climbs the virtual mountain but does not defeat the character CA or compared to when the character C1does not climb the virtual mountain but goes elsewhere in the virtual scene16. Based on the determination regarding the game level, the AI model AHA learns an interaction pattern24, e.g., climbing the virtual mountain and fighting with the character CA bare-fisted. The AI model AHA applies the interaction pattern24to itself to learn or train from the interaction pattern for another instance of the video game or the interactive game.

FIG.1A-2is a diagram of an embodiment of a system100to illustrate training of the AI model AHA by a user A so that the artificial intelligence model AHA reacts in the same or similar manner in which the user A reacts during a play of the game. As an example, an artificial intelligence model, as described herein, is a neural network of neural nodes. Each neural node may be a server or a processor. The neural nodes are coupled to each other via connections. For example, two adjacent neural nodes are connected to each other via a connection. As another example, two server nodes are coupled to each other via a network cable or two processors are connected to each other via a cable. An AI input is fed into the neural network to produce an AI output. The system100includes multiple servers A, B, and C. Moreover, the system100includes a computer network102and a computing device104. Also, the system100includes a head-mounted display (HMD)106and a hand-held controller108.

As used herein, a server includes one or more processors and one or more memory devices. For example, the server1includes a processor118and a memory device120. The processor118is coupled to the memory device120. One or more memory devices of one or more of the servers A, B, and C store one or more AI models, described herein. Examples of a processor include an application specific integrated circuit (ASIC), a programmable logic device (PLD) a microprocessor, and a central processing unit. Examples of a memory device include a read-only memory device (ROM) and a random access memory device (RAM). To illustrate, a memory device is a nonvolatile memory device or a volatile memory device. Illustrations of a memory device include a redundant array of independent disks (RAID) and a flash memory. Examples of a hand held controller, as described herein, include a PlayStation Move™ controller, a joystick, a gun-shaped controller, and a sword-shaped controller.

The computer network102is a wide area network, such as Internet, or a local area network, or a combination thereof. Examples of a computing device, described herein, include a game console or a computer, such as a desktop or laptop or a smartphone. The HMD106is coupled to the computing device104via a wired or wireless connection and the hand-held controller108is coupled to the computing device104or the HMD106via a wired or wireless connection. Examples of a wired connection, as used herein, between a hand-held controller and a computing device or between an HMD and the computing device or between a camera and the computing device include a coaxial cable connection or a universal serial bus (USB) cable connection. Examples of a wireless connection, as used herein, between a hand-held controller and a computing device or between an HMD and the computing device of between the HMD and the hand-held controller or between a camera and the computing device include a Wi-Fi connection or a Bluetooth connection or a short-range wireless connection. The computing device104is coupled via the computer network102to the servers A, B and C.

The user A logs into a user account1, which is assigned to the user A, to access a game session of a game. For example, a user identification (ID) is authenticated by one or more of the servers A, B, and C to allow the user A to log into the user account1. Data regarding a user account is stored in one or more memory devices of the one or more servers A, B, and C. For example, the user ID of the user account1is stored in the memory device120, a user ID of another user account2is stored in the memory device120, and a user ID of another user account3is stored in the memory device120. The user account2is assigned to another user B and the user account3is assigned to yet another user C. After logging into the user account1, during the game session, a game program is executed by one or more of the servers A, B, and C, such as by the processor118, to provide cloud gaming. When the game program is executed by one or more of the servers A, B, and C, one or more image frames for displaying a virtual scene are produced by the one or more of the servers A, B, and C. An example of a virtual scene, as used herein, includes a virtual reality (VR) scene.

The image frames are sent from one or more of the servers A, B, and C to the HMD106via the computer network102and the computing device104for display of the virtual scene on a display device of the HMD106. Examples of a display device include a liquid crystal display (LCD) and a light emitting diode display (LED).

Upon viewing the virtual scene, the user A operates the hand-held controller108to select one or more buttons on the hand-held controller108and/or to move one or more joysticks on the hand-held controller108. The hand-held controller108is operated by the user A to generate input data116.

The input data116is sent from the hand-held controller108via the wired or wireless connection to the computing device104. The computing device104applies a network communication protocol, such as an Internet protocol or a Transmission Control Protocol (TCP)/IP protocol, to packetize the input data to generate one or more packets and sends the one or more packets via the computer network102to one or more of the servers A, B, and C. The one or more of the servers A, B, and C apply the network communication protocol to obtain the input data116from the packets. One or more of the servers A, B, and C execute the game program to analyze the input data116to generate one or more image frames of a virtual scene110in which the character C1, which represents the artificial intelligence model AI1A, is shooting a virtual object112instead of another virtual object114in the virtual scene110. For example, when the user A uses the hand-held controller108to generate the input data116, one or more of the servers A, B, and C determine that the character C1that represents the artificial intelligence model AI1A shoots the virtual object112before shooting the virtual object114in the virtual scene110to generate the one or more image frames for the display of the virtual scene110.

Examples of a virtual object include a virtual character, a game character, a virtual weapon, a virtual vehicle, a virtual airplane, a virtual box, a virtual balloon, and an avatar that represents a user. The character C1when controlled by the artificial intelligence model AI1A is a non-player character (NPC). The virtual object112is a character that uses a virtual parachute and is about to land on ground within the virtual scene110. Also, the virtual object114is a character that is about to shoot the character C1. The artificial intelligence model AI1A is associated with, for example, is mapped with or linked to, the user account1by one or more of the servers A, B, and C. Similarly, another artificial intelligence model AI2is associated with the user account2by one or more of the servers A, B, and C, and yet another artificial intelligence model AI3is associated with the user account3by one or more of the servers A, B, and C.

The one or more of the servers A, B, and C analyze the input data116to determine or identify one or more interaction patterns119of the character C1associated with the input data116. As an example, the one or more interaction patterns119that are determined or identified indicate that in the virtual scene110, the character C1shoots the virtual object112before shooting the virtual object114. The character C1shoots the virtual object112when the user A uses a joystick of the hand-held controller108to point to the virtual object112and selects a button on the hand-held controller108to shoot at the virtual object112. In the virtual scene110, the character C1that represents the artificial intelligence model AI1A is facing the virtual object112, who is about to land, and also faces the other virtual object114, who is about to shoot the character C1. As yet another example, the one or more interaction patterns119that are determined indicate that for a majority of instances of a virtual scene in which the character C1faces virtual object, who is flying, and also faces another virtual object, who is about to shoot the character C1, it is more likely that the character C1will shoot the flying virtual object before shooting the other virtual object.

One or more of the servers A, B, and C store the one or more interaction patterns119within one or more memory devices of the one or more servers A, B, and C as a training program to train the artificial intelligence model AI1A. For example, the one or more interaction patterns119are provided as inputs to the artificial intelligence model AI1A to enable the artificial intelligence model AI1A to learn from the one or more interaction patterns119, and the learned methods or operations are applied by the artificial intelligence model AI1A to new virtual scenes, which are different from the virtual scene110. The new virtual scenes are displayed from image frames that are generated by execution of the game program by one or more of the servers A, B, and C. The learned methods or operations may also be applied to virtual scenes that are similar to or the same as the virtual scene110.

One or more of the servers A, B, and C apply the network communication protocol to packetize the one or more image frames for the virtual scene110in which the character C1shoots the virtual object112instead of the virtual object114to generate one or more packets, and sends the packets via the computer network102to the computing device104. The computing device104applies the network communication protocol to depacketize the one or more packets to obtain the one or more image frames and sends the one or more image frames via the wired or wireless connection to the HMD106for display of the virtual scene110that illustrates the shooting on the display device of the HMD106.

In an embodiment, one or more of the servers A, B, and C associate the one or more interaction patterns119with the virtual scene110having the character C1, the virtual object112, and the virtual object114or with another virtual scene that is similar to the virtual scene110in which one virtual object is flying and another virtual object is about to land on virtual ground. For example, one or more of the servers A, B, and C generate an identifier of the one or more interaction patterns119and establish a mapping, such as a one-to-one correspondence or a link, between the identifier the one or more interaction patterns119and an identifier of the virtual scene110. The mapping is stored within one or more memory devices of one or more of the servers A, B, and C for access by the artificial intelligence model AI1A for its training.

In one embodiment, the HMD106communicates with the computer network102via a wireless network interface controller (WNIC) and there is no need for the computing device104for the HMD106to communicate with the computer network102.

In an embodiment, an HMD or a computing device, described herein, communicates with one or more of the servers A, B, and C via the computer network102using a fifth-generation (5G) network protocol. Like the earlier generation second-generation (2G), third-generation (3G), and fourth-generation (4G) mobile networks, 5G networks are digital cellular networks in which a service area covered by providers is divided into a mosaic of small geographical areas called cells. Analog signals representing sounds and images are digitized in a computing device or an HMD by being converted by an analog to digital converter in the computing device or the HMD, and transmitted as a stream of bits via the computer network102to one or more of the servers A, B, and C. All 5G wireless devices, including the computer or the HMD, in a cell have transceivers that communicate via radio waves with a local antenna array and with a low power automated transceiver in the cell, over frequency channels assigned by the low power automated transceiver from a common pool of frequencies, which are reused in geographically separated cells. The local antennas are connected with a telephone network and the computer network102by a high bandwidth optical fiber or wireless backhaul connection. When a user crosses from one cell to another, the HMD or the computing device is automatically handed off seamlessly to the antenna in the new cell. An advantage is that 5G networks achieve much higher data rate than previous cellular networks, which achieve up to 10 Gbit/s, and is 100 times faster than the 4G long term evolution (LTE) cellular technology.

In an embodiment, the computing device104, such as a smart phone, is a part of the HMD106. For example, a display device of the computing device104is used as a display device of the HMD106.

In one embodiment, instead of the HMD106, the game is displayed on the computing device104or a television, which is coupled to the computing device104via a wireless or wired connection.

In an embodiment, instead of a hand-held controller, one or more glove controllers or one or more ring controllers or no controllers are used. For example, the glove controllers are worn on hands of a user and the ring controllers are worn on fingers of the hands of the user. When no controllers are used, the user makes gestures of one or more of his/her body parts and the gestures are captured by an image capture device, such as a camera. Examples of the camera include a depth camera, a video camera, and a digital camera. The image capture device is placed in the same real-world environment, such as a room or a warehouse or a building or a house, in which the user is located. The camera is coupled via a wired or wireless connection to a computing device to communicate input data, which includes gesture data identifying the gestures, via the computing device and the computer network102to the servers A, B, and C. In the embodiment in which the computing device is not used, the camera includes a network interface controller, such as a network interface card (NIC) or a wireless network interface card, to communicate with the servers A, B, and C.

In one embodiment, an HMD includes one or more cameras that capture gestures that are made by hands of a user to output gesture data.

In one embodiment, the operations, described herein, as being performed by one or more of the servers A, B, and C are performed by one or more processors within the one or more of the servers.

In an embodiment, all artificial intelligence models, such as the artificial intelligence models AI1A, AI2, and AI3, described herein are executed by one or more of the servers A, B, and C. For example, each server is a node of the artificial intelligence model. As another example, two or more servers form a node of the artificial intelligence model. A connection between any two servers is a connection between any two nodes of the artificial intelligence model. In one embodiment, an artificial intelligence, described herein, is a combination of one or more of the servers A, B, and C and a computer operation that is executed by one or more of the servers A, B, and C. In an embodiment, an artificial intelligence model, described herein, learns from one or more interaction patterns and the learned operations of the artificial intelligence model are applied by one or more of the servers A, B, and C to achieve a result.

It should be noted that all operations described herein with reference to the virtual scene110apply equally to multiple virtual scenes that are displayed on the HMD106.

FIG.1Bis a diagram of an embodiment to illustrate training of the artificial intelligence model AI1A. One or more of the servers A, B, and C analyze the input data116to identify functions, such as f1, f2, f3through fn, associated with the input data116. For example, the input data116is analyzed to determine that a button, labeled X, of the hand-held controller108is selected by the user A or that a joystick is moved in an upward direction by the user A, or that the user A slides his/her finger across a touchscreen of the hand-held controller108, or a gesture is made by the user A. Examples of the function associated with the input data116include a selection of a button or movement of a finger across a touchscreen or a directional or rotational movement of a joystick, of the hand-held controller108that is operated by the user A. To further illustrate, examples of the function associated with the input data116include a selection of a button on the hand-held controller108, a movement of a joystick of the hand-held controller108in a direction, a pointing gesture made by the user A, and a shooting gesture made by the user A, etc.

Each function f1through fn the function associated with the input data116is a different function or a different gesture that is performed by the user A. For example, the function f1is a selection of a button marked “O” on the hand-held controller108and the function f2is a selection of another button marked “X” on the hand-held controller108. As another example, the function f1is a pointing gesture that is performed by a forefinger of a left hand of the user A and the function f2is a shooting gesture that is performed by the forefinger and a middle finger of the left hand of the user A.

Based on the functions associated with the input data116and the virtual scene110, one or more of the servers A, B, and C determine features, such as fe1, fe2until fen, of the virtual scene110and classify the features to output classifiers, such as Cl1, Cl2, Cl3through Cln. An example of a feature of the virtual scene110is the character C1who is moving and shooting. Another example of the feature of the virtual scene110is the virtual object112who is flying with a virtual parachute in virtual air. Yet another example of the feature of the virtual scene110is the virtual object114who is holding a virtual gun. An example of a classifier includes a function or movement or operation or a combination thereof that is performed by the character C1based on an operation of the hand-held controller108or based on one or more gestures that are made by the user A. To illustrate, examples of a classifier include that the character C1shot the virtual object112or opened a treasure chest of the game or landed on a virtual building of the game or shot a virtual airplane in the game. To further illustrate, an example of the classifier Cl2is that the character C1moves towards the virtual object112. An example of the classifier Cl3is that the character C1shot the virtual object112. An example of the classifier Cl4is that the character C1did not shoot the virtual object114and an example of the classifier Cln is that the virtual object114shot the virtual object114after shooting the virtual object112. Each classifier identifies a movement or an operation performed by the character C1when present in the virtual scene110. Each classifier Cl1through Cln corresponds to a different function or movement or a combination thereof that is performed by the character C1in the virtual scene110. For example, the classifier Cl1is a shooting function and the classifier Cl2is a jumping function in the virtual scene110.

The classifiers are provided as AI inputs to the artificial intelligence model AI1A by one or more of the servers A, B, and C to train the artificial intelligence model AI1A. For example, the processor118identifies the one or more interaction patterns119within the classifiers for the virtual scene110. To illustrate, upon determining from the one or more interaction patterns119that the character C1shoots the virtual object112instead of shooting the virtual object114when the character C1is placed in the virtual scene110in which the virtual object112flies towards the character C1and the virtual object114is about to shoot the character C1, one or more of the servers A, B, and C train the AI model AI1A to determine that it is more likely than not that when the character C1is faced with the same situation or a similar situation in another instance of execution of the game program, the character C1will shoot or will try to shoot at a virtual object that is flying first instead of shooting another virtual object on ground. An example of the similar situation is one in which a virtual object is flying towards the character C1and another virtual object is on ground ready to shoot the character C1. Another example of the similar situation in one which a pre-determined number, such as a majority, of virtual objects are performing the same functions as that performed by the virtual objects112and114in the virtual scene110. As another illustration, the processor118trains the AI model AI1A to determine that it is more likely than not that when the character C1is presented with an instance in the game in which the character C1is faced with shooting a virtual airplane that is flying towards the character C1or a virtual weapon on ground that is about to shoot the character C1, the character C1will shoot the virtual airplane that is flying towards the character C1. As yet another illustration, the processor118trains a neural network of the AI model AI1A to determine that given an input in which a virtual object is flying towards the character C1and an input that another virtual object is about to shoot the character C1, it is more likely than not that an output will be that the character C1will shoot the virtual object flying towards the character C1first before shooting the other virtual object. As another illustration, one or more of the servers A, B, and C train the AI model AI1A by using the classifiers to determine that given a different or new virtual scene in which no virtual object is flying or trying to shoot at the character C1, the character C1does not shoot at any of the virtual objects but dances in front of them or exchanges virtual weapons with them. An example of the different or new virtual scene is one in which a pre-determined number, such as a majority, of virtual objects are performing different functions than those performed in the virtual scene110. To illustrate, a virtual object in the new or different virtual scene is collecting wood or is dancing and does not have a virtual weapon pointed towards the character C1.

The one or more interaction patterns119that are identified are applied as AI inputs by one or more of the servers A, B, and C to the AI model AI1A. For example, the AI model AI1A is a set of computer operations that are executed by the processor118or by one or more of the servers A, B, and C. The set of computer operations are not written or coded by a human user but are learned by the AI model AI1A from virtual scenes or from other AI models or from operations performed by users via hand-held controllers or gestures or from competitions or a combination thereof.

FIG.2is a diagram of an embodiment of a virtual scene202to illustrate training of the artificial intelligence model AI1A by the artificial intelligence model AI2. The virtual scene202is generated in a similar manner in which the virtual scene110is generated by one or more of the servers A, B, and C during a play of the game. For example, image frames for displaying the virtual scene110are generated by one or more of the servers A, B, and C and sent via the computer network102and the computing device104to the HMD106for display of the virtual scene202on the HMD106. However, it is not necessary for the virtual scene202to be displayed or the image frames regarding the virtual scene202to be generated for the artificial intelligence model AI1A to learn from the artificial intelligence model AI2.

The artificial intelligence model AI1A requests permission from the artificial intelligence model AI2to train itself based on the artificial intelligence model AI2. For example, the processor118executes the artificial intelligence model AI1A to generate a request for the permission and sends the request via the user account2to the artificial intelligence model AI2. Upon receiving the request for the permission via the user account2, one or more of the servers A, B, and C determine whether the request is to be granted. For example, the user B uses a hand-held controller to send data to the one or more of the servers A, B, and C indicating that the artificial intelligence model AI2is not to be granted access to other users or is to be granted access to a selected group of users or is to be granted access to a private group of users or is to be granted access to all users that request access or is to be granted access to all users independent of whether the users request access to the artificial access model AI2. The data regarding the indication of the access to the artificial intelligence model is associated with, such as linked to or mapped to, to the user account2. The artificial intelligence model AI2is associated with the user account2and is created by the user B in a manner similar to a manner in which the artificial intelligence model AI1A is created by the user A.

Upon determining that the request is to be granted, one or more additional patterns204or additional classifiers of the artificial intelligence model AI2are sent from one or more of the servers A, B, and C that execute the artificial intelligence model AI2to one or more of the servers A, B, and C that execute the artificial intelligence model AI1A. The one or more additional patterns204used to train the artificial intelligence model AI2are interaction patterns and are created by one or more of the servers A, B, and C in a similar manner in which the one or more interaction patterns119and other interaction patterns of the artificial intelligence model AI1A are created by one or more of the servers A, B, and C. The one or more additional patterns204are applied by one or more of the servers A, B, and C to train the artificial intelligence model AI2.

Upon receiving the one or more additional patterns204, one or more of the servers A, B, and C provide the one or more additional patterns204as AI inputs to the artificial intelligence model AI1A to train the artificial intelligence model AI1A based on the one or more additional patterns204. The artificial intelligence model AI1A learns from the one or more additional patterns204. For example, the artificial intelligence model AI1A instead of controlling the character C1to shoot the virtual object112that is flying towards the character C1learns to control the character C1to open a virtual object206, such as a virtual box or virtual container, after the virtual object206lands on virtual ground. The virtual object206includes virtual weapons, such as guns and bullets, and virtual medicines and bandages. A character C2that is controlled by the artificial intelligence AI2assigned to the user account2also applies the one or more additional patterns204to open the virtual object206. The virtual object206, as illustrated, is a box that is attached to a balloon. The character C2when controlled by the artificial intelligence model AI2is an NPC.

In one embodiment, the artificial intelligence model AI2has additional types of training, described herein, such as by training itself, or training from other artificial intelligence models, or from new virtual scenes.

In an embodiment, some characters in the game are controlled by users and the remaining characters in the game are NPCs, which are controlled by corresponding artificial intelligence models.

FIG.3-1is a diagram of embodiments of the virtual scene110to illustrate that the artificial intelligence model AI1A trains itself. For example, regardless of whether the user A is logged into the user account1, the artificial intelligence model AI1A learns from one or more other patterns302, which are interaction patterns, to increase a skill level associated with the user account1. To illustrate, when the user A is logged out of the user account1, the artificial intelligence model AI1A logs into the user account1and requests the processor118to execute the game program. When the game program is executed, the artificial intelligence model AI1A determines that a skill level, such as a game score or a game level or a number of virtual coins, of the game will increase when the character C1is placed in the virtual scene110and the character C1shoots the virtual object114first before shooting the virtual object112. The one or more other patterns302indicate that when the character C1is presented with the virtual scene110in which the virtual object112is flying towards the character C1and the virtual object114is about to shoot the character C1, the character C1should shoot the virtual object114first before shooting the virtual object112to increase the skill level associated with the user account1. The skill level is increased compared to another skill level associated with the user account1and is an example of an AI output of the artificial intelligence model AI1A. The other skill level corresponds to training of the artificial intelligence model AI1A by applying the one or more interaction patterns119, as illustrated with respect toFIGS.1A-2and1B. The artificial intelligence model AI1A trains itself by applying the one or more other patterns302as AI inputs, which are inputs to the AI model AI1A.

As another illustration, when the user A is logged into the user account1and the virtual scene110is displayed on the display device of the HMD106, the user A controls the hand-held controller108to shoot the virtual object112first instead of shooting the virtual object114. The artificial intelligence model AI1A applies machine learning to determine that a skill level associated with the user account1increases when the character C1shoots the virtual object114before shooting the virtual object112to learn from the one or more other patterns302.

FIG.3-2is a diagram of an embodiment to illustrate an analysis by the artificial intelligence model AI1A to determine that an application of the one or more other patterns302as an AI input produces better outcomes or results compared to an application of the one or more interaction patterns119as an AI input. When the artificial intelligence model AI1A is trained to apply the one or more interaction patterns119, multiple outputs O1, O2through On are generated during execution of the game program by one or more of the servers A, B, and C. Examples of each output O1, O2through On include a number of points accumulated during execution of the game program, a number of virtual character kills accumulated during execution of the game program, and a health level of the character C1.

Similarly, when the artificial intelligence model AI1A is trained to apply the one or more other patterns302, multiple outputs O11, O12through O11nare generated during execution of the game program by one or more of the servers A, B, and C. Examples of each output O11, O12through O11ninclude a number of points accumulated during execution of the game program, a number of virtual character kills accumulated during execution of the game program, and a health level of the character C1. The artificial intelligence model AI1A learns by applying the one or more other patterns302during execution of the game program to achieve the outputs O11through O11nand determining that the outputs O11through O11ncorrespond to a skill level that is greater than a skill level corresponding to the outputs O1through On. Upon determining that the outputs O11through O11ncorrespond to a skill level that is greater than a skill level corresponding to the outputs O1through On, the artificial intelligence model AI1A determines to apply the one or more other patterns302instead of the one or more interaction patterns119.

During additional instances of execution of the game program, the artificial intelligence model AI1A applies the one or more other patterns302instead of applying the interaction patterns119. For example, during an additional instance of execution of the game program, when a virtual scenario is displayed on the HMD106in which a virtual character is about to shoot the character C1and another virtual character is about to land in front of the character C1, the artificial intelligence model AI1A controls the character C1to shoot the character that is about to shoot the character C1first, and then shoot the virtual character who is about to land.

In one embodiment, the artificial intelligence model AI1A requests permission from the user A before applying one or more interaction patterns, described herein. For example, during a display of the virtual scene110, one or more of the servers A, B, and C generate image frames including the request for permission and applies the network communication protocol to packetize the image frames to generate one or more packets, and sends the packets via the computer network102to the computing device104. The computing device104applies the network communication protocol to depacketize the packets to obtain the image frames and sends the image frames to the HMD106via the wired or wireless connection for display of the request for permission. The user A uses the hand-held controller108to indicate whether the request is granted or denied. Upon receiving a positive indication that the request is granted, the positive indication is packetized by the computing device104to generate one or more packets, which are sent by the computer network102to the one or more servers A, B, and C. The one or more servers A, B, and C apply the network communication protocol to the packets to obtain the positive indication and send the positive indication to the artificial intelligence model AI1A. Upon receiving the positive indication, the artificial intelligence model AI1A applies the one or more interaction patterns.

On the other hand, upon receiving a negative indication that the request is denied, the negative indication is packetized by the computing device104to generate one or more packets, which are sent by the computer network102to the one or more servers A, B, and C. The one or more servers A, B, and C apply the network communication protocol to the packets to obtain the negative indication and send the negative indication to the artificial intelligence model AI1A. Upon receiving the negative indication, the artificial intelligence model AI1A does not apply the one or more interaction patterns.

FIG.4is a diagram of an embodiment of a new virtual scene400to illustrate that the new virtual scene400is used to train the artificial intelligence model AI1A. The new virtual scene400is generated when one or more of the servers A, B, and C execute the game program to generate one or more image frames and apply the network communication protocol to packetize the image frames to generate one or more packets. As an example, the artificial intelligence model AI1A requests one or more of the servers A, B, and C to execute the game program to generate one or more image frames for displaying the new virtual scene400. The packets are sent by one or more of the servers A, B, and C via the computer network102to the computing device104. The computing device104applies the network communication protocol to extract the image frames from the packets and sends the image frames to the HMD106for display of the virtual scene400. The virtual scene400includes the character C1, the virtual object112, and another virtual object402but excludes the virtual object114. The virtual object402is an airplane in which a virtual object404is seated and is shooting at the character C1. The virtual object404uses virtual guns of the virtual object402to shoot at the character C1. The virtual scene400has not been presented to the user A during a play of the game. For example, the user A has not reached a level during execution of the game program, and the level includes the virtual objects402and404.

The artificial intelligence model AI1A that has learned from any interaction patterns described herein, such as the one or more interaction patterns119, the one or more additional patterns204, or the one or more other patterns302, or a combination thereof, applies its learned operations to control the character C1to shoot at the virtual object402or the virtual object404first instead of shooting the virtual object112. For example, the artificial intelligence model AI1A determines that by shooting first at one or more of the virtual objects402and404, a skill level associated with the user account1increases compared to a skill level achieved by shooting first the virtual object112. The skill level that is increased is an example of reaction data406. For example, the skill level that is increased includes a number of virtual coins corresponding to the user account1, a virtual score corresponding to the user account1, or a combination thereof.

Based on the reaction data406, the artificial intelligence model AI1A determines or learns that following one or more additional interaction patterns408helps achieve the higher skill level. An example of the one or more additional interaction patterns408include shooting at the virtual object402or the virtual object404first then shooting of the virtual object112. Upon determining so, the artificial intelligence model AI1A trains itself to apply the one or more additional interaction patterns408during a next or following instance of execution of the game program. For example, when faced with an instance of execution of the game program in which a flying virtual vehicle is approaching the character C1and simultaneously a virtual character is about to land on a virtual ground, the artificial intelligence model AI1A controls the character C1to shoot at the flying virtual vehicle first and then shoot at the virtual character now on the virtual ground.

When the artificial intelligence model AI1A is presented with the new virtual scene400, the artificial intelligence model AI1A trains itself in a manner similar to that described above with reference toFIG.3-2. For example, when presented with the new virtual scenario400, the artificial intelligence model AI1A determines whether shooting down the virtual object402or the virtual object404before shooting the virtual object112increases a game level, such as a number of virtual points or a game score within the game. The increase in the game level is higher compared to an amount of an increase in the game level when the virtual object112is shot first by the character C1before shooting the virtual object402or404. Upon determining so, the artificial intelligence model AI1A learns to shoot a flying virtual airplane first before shooting a flying virtual character that is attached to a parachute. On the other hand, upon determining that the increase in the game level is lower compared to the amount of the increase in the game level when the virtual object112is shot first by the character C1compared to shooting the virtual object402or404, the artificial intelligence model AI1A learns to shoot a flying virtual character that is attached to a parachute first than shooting a flying virtual airplane.

FIG.5Ais a diagram of an embodiment to illustrate that the artificial intelligence model AI1A can apply any skill level ranging from 1 through 5 during a competition of the game. As an example, all training of the artificial intelligence model AI1A described herein is performed with intent to train the artificial intelligence model AI1A to compete against the artificial intelligence model AI3in the game. In the competition, one or more virtual objects or virtual characters of the game compete to achieve a victory within the game, a pre-determined number of kills of other virtual characters in the game, a pre-determined number of virtual points in the game, or to survive, or a combination thereof. All the skill levels 1 through 5 are stored in a data file, which is stored in one or more memory devices of one or more of the servers A, B, and C. An example of the skill level 1 is a skill level before the user A trains the artificial intelligence model AI1A, as illustrated inFIGS.1A-2and1B, and an example of the skill level 2 is a skill level after the user A trains the artificial intelligence model AI1A. An example of the skill level 2 is a skill level before the artificial intelligence model AI1A is trained by the artificial intelligence model AI2, as illustrated inFIG.2, and an example of the skill level 3 is a skill level after the artificial intelligence model AI1A is trained by the artificial intelligence model AI2. Also, an example of the skill level 3 is a skill level before the artificial intelligence model AI1A trains itself, as illustrated inFIG.3-1, and an example of the skill level 4 is a skill level after the artificial intelligence model AI1A trains itself. An example of the skill level 4 is a skill level before the new scene400, illustrated inFIG.4A, is used to train the artificial intelligence model AI1A and an example of the skill level 5 is a skill level after the new scene400is used to train the artificial intelligence model AI1A. The skill levels 1 through 5 are assigned to, such as mapped to or linked to, the artificial intelligence model AI1A by one or more of the servers A, B, and C.

The skill level 2 is greater than the skill level 1. Moreover, the skill level 3 is greater than the skill level 2, the skill level 4 is greater than the skill level 3, and the skill level 5 is greater than the skill level 4. For example, the skill level 1 is a low skill level, the skill level 2 is a medium skill level, the skill level 3 is a high skill level, and the skill level 4 is an excellent skill level, and the skill level 5 is the best skill level. The artificial intelligence model AI1A accesses any one of the skill levels 1 through 5 from the data file to apply during execution of the game program. There is an increase in the skill level of the artificial intelligence model AI1A with time t.

In one embodiment, the skill levels illustrated inFIG.5Aare skill levels of the artificial intelligence model AI1A and are also skill levels associated with the user account1.

In an embodiment, the artificial intelligence model AI1A competes with the artificial intelligence model AI3that controls a character C3.

In one embodiment the user account3and the artificial intelligence model AI3are assigned to the user C other than the user B.

FIG.5Bis a diagram of an embodiment of a virtual scene508in which the character C1is competing with the character C3during execution of the game program. The character C3that is controlled by an artificial intelligence AI3assigned to the user account3applies one or more interaction patterns, similar to the interaction patterns described herein, to compete against the character C3. The character C3when controlled by the artificial intelligence model AI3is an NPC. The user C logs into his/her user account3to access the virtual scene508. The virtual scene508is displayed on the HMD106and also on an HMD510to provide a shared virtual environment. The user C wears the HMD510on his or her head in a similar manner in which the user A wears the HMD106on his or her head. In the virtual scene508, the user C controls the character C3by using a hand-held controller512or the artificial intelligence model AI3controls the character C3, and the user A controls the character C1by using the hand-held controller108or the artificial intelligence model AI1A controls the character C1. The characters C1and C3compete with or against each other during execution of the game program for achieving a number of virtual rewards, such as number of virtual coins or a number of virtual points or a number of kills or a game level within the game.

The user C selects, via the hand-held controller512, a skill level similar to the skill level 3 be applied by the character C3or the artificial intelligence model AI3. For example, the user C selects the skill level of the character C3during the competition by selecting a button on the hand-held controller512. Data indicating the selection is sent via a wired or wireless connection between the hand-held controller512and a computing device514to the computing device514. The computing device514applies the network communication protocol to packetize the selection data to generate one or more packets and sends the packets via the computer network102to one or more servers A, B, and C. The one or more of the servers A, B, and C receive the packets and apply the network communication protocol to the packets to obtain the selection data and analyze the selection data to determine that the user C wishes to apply the skill level of the character C3, and one or more interaction patterns corresponding to the skill level that is selected by the user C are selected by the artificial intelligence model AI3to be applied during the competition. One or more of the servers A, B, and C apply the artificial intelligence model AI3to further apply the one or more interaction patterns that correspond to the skill level selected by the user C. For example, when the character C3is within the virtual scene202ofFIG.2, the character C3will access the virtual object206instead of shooting at the virtual object112.

The artificial intelligence model AI1A sends a request to the artificial intelligence model AI3for determining the skill level of the character C3. For example, one or more of the servers A, B, and C that apply or execute the artificial intelligence model AI1A send the request with an identity of a user account3, an identity of the character C3, and an identity of a game session of execution of the game program to one or more of the servers A, B, and C that apply or execute the artificial intelligence model AI3. The artificial intelligence model AI3executed by one or more of the servers A, B, and C receives the identities of the user account3, the character C3, and the game session with the request to determine that the request corresponds to the user account3, the character C3, and the game session, and is for an identity of the skill level of the character C3. The artificial intelligence model AI3accesses from a database that is stored within one or more of the memory devices of the one or more servers A, B, and C to determine whether there is a permission within the user account3to provide the skill level of the character C3to the artificial intelligence model AI1A. For example, the user C uses the hand-held controller512to provide the permission to all artificial intelligence models or to one or more specific artificial intelligence models to access the skill level of the character C3. The permission is sent from the hand-held controller512via the wired or wireless connection to the computing device514. The computing device514applies the network communication protocol to packetize the permission to generate one or more packets and sends the one or more packets via the computer network102to the one or more servers A, B, and C. The one or more servers A, B, and C associate, such as establish a link between or a one-to-one correspondence between or a mapping between, the permission and the artificial intelligence model AI3or the user account3.

Upon determining that the artificial intelligence model AI1A is to be allowed to access the skill level of the character C3, the artificial intelligence model AI3provides the permission to the artificial intelligence model AI1A. Upon receiving the permission from the artificial intelligence model AI3, the artificial intelligence model AI1A determines to apply the skill level 3 to the character C1during the competition. The skill level 3 is similar or substantially the same or the same as the skill level of the character C3. As an example, skill levels are substantially the same or similar when the skill levels are within a predetermined range from each other. To illustrate, a skill level of 2.5 is within the pre-determined range from the skill level of 2 and a skill level of 3.4 is within the pre-determined range from the skill level of 3. The artificial intelligence model AI1A accesses patterns that correspond to the skill level 3 of the character C3, such as the one or more additional patterns204. The artificial intelligence model AI1A applies the patterns that correspond to the skill level 3 to the character C1during the competition within the game.

In one embodiment, the user C selects the skill level of the character C3during the competition by making a gesture. Data indicating the gesture is captured by a camera placed in the real-world environment in which the user C is located and sent via a wired or wireless connection between the camera and the computing device514to the computing device514. The computing device514applies the network communication protocol to packetize the gesture data to generate one or more packets and sends the packets via the computer network102to one or more servers A, B, and C. One or more of the servers A, B, and C receive the packets and apply the network communication protocol to the packets to obtain the gesture data and analyze the gesture data to determine that the user C wishes to apply the skill level of the character C3, and one or more interaction patterns corresponding to the skill level that is selected by the user C are selected by the artificial intelligence model AI3to be applied during the competition.

In an embodiment, each of the artificial intelligence models AI1A and AI3collect output data, such as information that includes game scores or virtual points, during the competition, and based on the output data determine patterns that will facilitate training of the artificial intelligence model to win the competition. For example, during the competition, the artificial intelligence model AI1A receives data that the character C3controlled by the artificial intelligence model AI3jumps when shot at for a majority of instances. The artificial intelligence model AI1A determines from the data an interaction pattern in which the artificial intelligence model AI3controls the character C3to jump. The artificial intelligence model AI1A learns that by controlling the character C1to jump when the character C3jumps, the character C3can be killed easily. During a next competition, the artificial intelligence model AI1A applies its learned operations to control the character C1to jump and shoot at the character C3when the character C3jumps.

FIG.5Cis an embodiment of the virtual scene508to illustrate that the users A and B watch the competition between the characters C1and C3without controlling the characters C1and C3. For example, during the competition, the artificial intelligence model AI1A controls the character C1and the artificial intelligence model AI3controls the character C3. To illustrate, during the competition, the one or more interaction patterns119, or the one or more additional patterns202, or the one or more other patterns302, or the one or more additional interaction patterns408, or a combination thereof, are applied by the artificial intelligence model AI1A to control the character C1. Similarly, during the competition, one or more interaction patterns that correspond to the user account3and the artificial intelligence model AI3are applied by the artificial intelligence model AI3to control the character C3.

There is no control of the character C1by the user A via the hand-held controller106or by using gestures and there is no control of the character C3by the user C via the hand-held controller512or by using gestures. For example, there is no input data being sent from the hand-held controller106via the computing device104and the computer network102to one or more of the servers A, B, and C to control movement or actions, such as shooting or exploring or retrieving or obtaining or searching, performed by the character C1. Also, there is no input data being sent from the hand-held controller512via the computing device514and the computer network102to one or more of the servers A, B, and C to control movement or actions performed by the character C3. The users A and C are passively watching the competition via their corresponding HMDs106and510without controlling the corresponding characters C1and C3. The characters C1and C3are being controlled by the corresponding artificial intelligence models AI1A and AI3without reception of input data. The input data is not generated when a user does not use a hand-held controller or does not make gestures.

FIG.6is a diagram of an embodiment of a system600to illustrate a notification510displayed on a display device of the HMD602to indicate to the user C that the user A is not available to play the game and that the artificial intelligence model AI1A can play the game with the user C. The user C selects one or more buttons on the hand-held controller512to generate input data, which includes a request and an identification of the user account3to send via the user account1to the user A to play the game. The input data is sent from the hand-held controller512the wired or wireless connection via to the computing device514. The computing device514applies the network communication protocol to the input data to generate one or more packets having the input data, and sends the packets via the computer network102to the user account1having user account information stored in one or more memory devices of one or more of the servers A, B, and C.

When the request is received by the user account1, the user A is logged out of the user account1and is not playing the game. For example, the user A logs out of the user account1by using the hand-held controller108to select a log out button displayed on the display device of the HMD106. When the log out button is selected, input data indicating the selection of the log out button is generated by the hand-held controller108and is sent from the hand-held controller108via the wired or wireless connection to the computing device104. The computing device104packetizes the input data to generate one or more packets and sends the packets and the computer network102to one or more of the servers A, B, and C to indicate to one or more of the servers A, B, and C that the user A has logged out of the user account1. As another example, the user A logs out of the user account by selecting a power off button on the computing device104.

One or more of the servers A, B, and C generate a response to the request received from the user account3to indicate that the user A is logged out of the user account1and that the artificial intelligence model AI1A that corresponds to, such as linked to or mapped to, the user account1is available to play the game. One or more of the servers A, B, and C apply the network communication protocol to the response to generate one or more packets and sends the packets via the computer network102to the computing device514. The computing device514applies the network communication protocol to the packets to obtain the response from the packets and sends data for displaying the response via a wired or wireless connection to the HMD510.

The HMD510displays the response as a notification610to indicate to the user C that the user A is not available to play the game and instead the artificial intelligence model AI1A is available to play the game. The notification610also includes a question for the user C whether the user C wishes for the artificial intelligence model AI1A to play the game instead of the user A. The user C selects one or more buttons on the hand-held controller512to provide an answer the question to generate input data, which is sent from the hand-held controller512via the wired or wireless connection to the computing device514. The computing device514applies the network communication protocol to packetize the input data including the answer to generate one or more packets and sends the packets via the computer network102to the user account1stored within one or more of the servers A, B, and C. One or more of the servers A, B, and C apply the network communication protocol to the packets to obtain the data including the answer, and send the answer to the artificial intelligence model AI1A.

Upon receiving the answer, the artificial intelligence model AI1A plays the game with the user C. For example, one or more servers A, B, and C that are trained based on the one or more interaction patterns119, the one or more additional patterns204, or the one or more other patterns302, or the one or more additional interaction patterns408, or a combination thereof apply their learned methods from the training to play the game with the user C.

FIG.7is a diagram of an embodiment to illustrate a selection of the artificial intelligence model AI1A from multiple artificial intelligence models AI1A, AI2A, and AI3A, all of which correspond to the user account1. For example, the artificial intelligence model AI2A is trained based on one or more interaction patterns to control another character C11during execution of the game program and the artificial intelligence model AI3A is trained based on one or more interaction patterns to control yet another character C12during execution of the game program. As another example, the artificial intelligence model AI1A controls the character C1having the skill level 2, the artificial intelligence model AI2A controls the character C1having the skill level 3 or 4, and the artificial intelligence model AI3A controls the character C1having the skill level 5. The artificial intelligence models AI2A and AI3A are generated in a similar manner in which the artificial intelligence model AI1A is generated, and is executed by one or more of the servers A, B, and C.

The one or more servers A, B, and C generate one or more image frames including data for displaying a virtual scene702. One or more of the servers A, B, and C apply the network communication protocol to the image frames to generate one or more packets and send the packets via the computer network102to the computing device104. The computing device104applies the network communication protocol to the packets to obtain the image frames and sends the image frames via the wired or wireless connection to the HMD106for display of the virtual scene702on the display device of the HMD106.

Upon viewing the virtual scene702during execution of the game program, the user A uses the hand-held controller108to select one or more buttons to select the artificial intelligence model AI1A for playing the game. Input data that includes the selection is sent from the hand-held controller108via the wired or wireless connection to the computing device104. The computing device104applies the network communication protocol to packetize the selection to generate one or more packets and sends the packets via the computer network102to one or more of the servers A, B, and C.

One or more of the servers A, B, and C apply the network communication protocol to the packets to obtain the selection and determine to apply the artificial intelligence model AI1A for the play of the game. Similarly, other artificial intelligence models AI2A and AI3A are selected by the user A via the hand-held controller108. When the artificial intelligence model AI1A is applied, the character C1is controlled by the artificial intelligence model AI1A during execution of the game program.

In an embodiment, one of the artificial intelligence models AI1A, AI2A, and AI3A are selected by the user A by making gestures, which are captured by the camera in the real-world environment to generate gesture data. The gesture data is sent from the camera to the computing device104via the wired or wireless connection between the camera and the computing device104. The computing device104generates and sends one or more packets including the gesture data via the computer network102to one or more of the servers A, B, and C.

FIG.8Ais a diagram of an embodiment of a system800to illustrate capturing of gestures that are made by the user A during execution of the game program to allow the artificial intelligence model AI1A to apply the gestures to the character C1. The system800includes the HMD106, the hand-held controller108, a camera802, the computing device104, the computer network102, and the servers A, B, and C.

The camera802is coupled to the computing device via a wired or wireless connection. During a play of the game, the user A makes one or more gestures. For example, the user106raises his/her right-hand in the air and him shouts loudly “Yes! I won” after killing a virtual character in the game. The camera802records the one or more gestures that are made by the user A during execution of the game program to generate gesture data804, which is an example of input data, and sends the gesture data804via the wired or wireless connection to the computing device104. The gesture data804includes audio data and video data.

The computing device104applies the network communication protocol to the gesture data804to generate one or more packets and sends the packets via the computer network102to one or more of the servers A, B, and C that execute the game program. One or more of the servers A, B, and C apply the network communication protocol to obtain the gesture data804from the packets, and apply the gesture data to train the artificial intelligence model AI1A. For example, one or more of the servers A, B, and C identify patterns808from the gesture data804and integrate, such as add, the patterns808to its methods that are learned from the one or more interaction patterns119, the one or more additional patterns204, one or more other patterns302, and/or the one or more additional interaction patterns408to train the artificial intelligence model AI1A. To illustrate, one or more of the servers A, B, and C train the artificial intelligence model AI1A to move a right hand or a left hand of the character C1in the air after killing a virtual character in the game or after shooting at and destroying a flying virtual vehicle in the game or after winning a virtual point in the game or after increasing a health level during execution of the game program and to move a mouth of the character C1to utter words “Yes! I won” or “I won!” or “Yay!” or “Very nice!”. As another illustration, one or more of the servers A, B, and C train the artificial intelligence model AI1A to control the character C1to dance after a kill or winning a virtual point in the game or after an increase in a health level in the game and to control the mouth of the character C1to utter one or more of the words.

FIG.8Bis a diagram of an embodiment of a virtual scene820that is displayed on the HMD106worn by the user A to illustrate that the character C1performs actions that are similar to that of the user A during the play of the game. As illustrated in the virtual scene820, the character C1raises its right hand and outputs a sound indicating “I have won!” after achieving a game level or a virtual point or a virtual coin or a health level during execution of the game. For example, one or more of the servers A, B, and C determine that during execution of the game, the character C1has won a virtual point or achieved a game level or increased its health level. Upon determining so, one or more of the servers A, B, and C apply the artificial intelligence model AI1A to generate one or more image frames and audio frames that are similar to the actions performed by the user A after a win, such as a kill or a winning a point or achieving a game level or a health level. The image frames and the audio frames are packetized by one or more of the servers A, B, and C by applying the network communication protocol to generate one or more packets. One or more of the servers A, B, and C sends the packets having the image frames and the audio frames via the computer network102to the computing device104. The computing device104applies the network communication protocol to obtain the image frames and the audio frames from the packets, and sends the image frames and the audio frames via the wired or wireless connection to the HMD106. The display device of the HMD106displays the image frames to display the virtual scene820that includes the character C1raising its right hand to celebrate its victory. Moreover, an audio device, which includes one or more audio amplifiers coupled to one or more audio speakers, of the HMD106processes the audio frames to output the sound as being emitted by the character C1.

In an embodiment, any of the interaction patterns described herein are used to train an AI model, described herein, or to help the AI model learn to produce learned methods. The AI model applies its learned methods to output decisions, such as AI outputs, and there is no control of the AI model by a user while applying the learned methods to output the decisions. As an example, the decisions are applied to new virtual scenes.

Although the embodiments, described herein, are described with reference to virtual scenes, in one embodiment, the embodiments apply equally to augmented reality (AR) scenes. For example, the character C1is controlled by the artificial intelligence model AI1A within an AR scene that is displayed on the HMD106and the character C3is controlled by the artificial intelligence model AI3within an AR scene that is displayed on the HMD510. Data including a portion of an AR scene displayed on an HMD is captured by a camera in the same real-world environment in which a user wearing the HMD is located. The portion of the AR scene is a portion of the real-world environment that is in front of the user. The data is sent from the camera via a wired or wireless connection to a computing device. The computing device applies the network communication protocol to packetize the data to generate one or more packets and sends the packets via the computer network102to one or more of the servers A, B, and C. One or more of the servers A, B, and C apply the artificial intelligence model AI1A to generate one or more image frames to overlay the character C1on top of the data captured by the camera that is coupled to the computing device104. Similarly, one or more of the servers A, B, and C apply the artificial intelligence model AI3to generate one or more image frames to overlay the character C3on top of the data captured by the camera that is coupled to the computing device514. The image frames are packetized by one or more of the servers A, B, and C, and sent by the computer network102to the corresponding computing devices104and514. The computing device104applies the network communication protocol to obtain the image frames from the packets and sends the image frames to the HMD106for display of the AR scene on the HMD106. The AR scene displayed on the HMD106includes the portion of the real-world environment in which the user A is located and the character C1that is overlaid on top of the data of the real-world environment. Similarly, the computing device514applies the network communication protocol to obtain the image frames from the packets and sends the image frames to the HMD512for display of the AR scene on the HMD512. The AR scene displayed on the HMD512includes the portion of the real-world environment in which the user C is located and the character C3that is overlaid on top of the data of the real-world environment.

It should be noted that in various embodiments, one or more features of some embodiments described herein are combined with one or more features of one or more of remaining embodiments described herein.

Embodiments described in the present disclosure may be practiced with various computer system configurations including hand-held devices, microprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers and the like. In one implementation, the embodiments described in the present disclosure are practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a wire-based or wireless network.

With the above embodiments in mind, it should be understood that, in one implementation, the embodiments described in the present disclosure employ various computer-implemented operations involving data stored in computer systems. These operations are those requiring physical manipulation of physical quantities. Any of the operations described herein that form part of the embodiments described in the present disclosure are useful machine operations. Some embodiments described in the present disclosure also relate to a device or an apparatus for performing these operations. The apparatus is specially constructed for the required purpose, or the apparatus is a general-purpose computer selectively activated or configured by a computer program stored in the computer. In particular, in one embodiment, various general-purpose machines are used with computer programs written in accordance with the teachings herein, or it may be more convenient to construct a more specialized apparatus to perform the required operations.

In an implementation, some embodiments described in the present disclosure are embodied as computer-readable code on a computer-readable medium. The computer-readable medium is any data storage device that stores data, which is thereafter read by a computer system. Examples of the computer-readable medium include a hard drive, a network-attached storage (NAS), a read-only memory (ROM), a random access memory (RAM), a compact disc ROM (CD-ROM), a CD-recordable (CD-R), a CD-rewritable (CD-RW), a magnetic tape, an optical data storage device, a non-optical data storage device, etc. As an example, a computer-readable medium includes computer-readable tangible medium distributed over a network-coupled computer system so that the computer-readable code is stored and executed in a distributed fashion.

Moreover, although some of the above-described embodiments are described with respect to a gaming environment, in some embodiments, instead of a game, other environments, e.g., a video conferencing environment, etc., is used.