SYSTEM AND METHOD FOR ENABLED INTERACTIVE GAME ASSISTANCE DURING GAME PLAY - Patent application

The adaptive gaming support system addresses the challenge of complex electronic games by providing interactive assistance through haptic cues and adjustable game difficulty, enhancing player experience and maintaining a fair ranking system.

JP2025514249APending Publication Date: 2025-05-02SONY INTERACTIVE ENTERTAINMENT LLC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024563454
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-05-27
Filing Date
2023-05-16
Publication Date
2025-05-02

AI Technical Summary

Technical Problem

As electronic games have become more complex, players often face difficulties that require assistance to progress through the game, but existing systems lack effective methods for providing interactive and adaptive support.

Method used

The system provides adaptive gaming support by determining when a player is struggling and automatically adjusting the game difficulty. This is achieved through haptic cues, such as vibrations in the game controller or headset, which provide tactile feedback to guide the player. Additionally, the system allows players to enable adaptive support before gameplay and recognizes achievements made with or without assistance.

Benefits of technology

The adaptive gaming support system enhances player experience by allowing them to succeed in challenging parts of the game, while also maintaining a ranking system that distinguishes players who complete tasks without assistance. This approach reduces frustration and improves gameplay efficiency, leading to a more enjoyable and balanced gaming experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025514249000001_ABST
    Figure 2025514249000001_ABST
Patent Text Reader

Abstract

A method for providing adaptive gaming assistance during gameplay is described. The method includes providing access to play a game of a game session by a user via a game controller, and accessing a profile model of the user during the game session. The profile model is a machine learning model used to predict gaming skills from selected game contexts within the game. The method further includes detecting a context within the game session in which the profile model predicts that the user lacks gaming skills to progress in the game, and activating a haptic cue to the game controller, the haptic cue being a vibration to a particular area of ​​the game controller. The vibration to the particular area suggests a type of input to be made using the game controller to progress in the game.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to systems and methods that enable interactive assistance during game play. [Background technology]

[0002] Electronic games have grown in popularity and complexity over the years. Once limited to text interfaces and bitmapped graphics, modern electronic video games are increasingly capable of offering stunning two-dimensional and three-dimensional high-resolution graphics, complex gameplay, and challenging puzzles. Entire genres of electronic video games have been created that can provide higher quality and increasingly complex gameplay experiences. As a result of this increased complexity, players of electronic games may require assistance while playing the game.

[0003] It is against this background that embodiments of the present invention arise. Summary of the Invention

[0004] SUMMARY OF THE DISCLOSURE Embodiments of the present disclosure provide systems and methods that enable interactive assistance during game play.

[0005] In embodiments, it may be determined that a user is having difficulty with a particular portion of a game or context of a game, and a process may be automatically triggered to adaptively adjust the game downwards to enable the user to succeed at a particular level or game sequence.

[0006] In one embodiment, the adaptive game assistance can be enabled by the user prior to game play, and game achievements noted during the game can be credited as having been achieved using the adaptive game assistance. In this manner, when comparing success between players, players who complete a particular task or level without assistance may be ranked higher. However, players who would not be successful without the adaptive game assistance can still play the game successfully and enjoy the game.

[0007] In some embodiments, adaptive gaming assistance may be triggered automatically only for sections or portions of a game where the user is detected to be having problems completing a task or achieving a function.

[0008] In one embodiment, adaptive game assistance can be provided using haptic cues. Haptic cues can be presented in the form of haptic feedback generated on the user's controller or peripheral. For example, if the user is slow to detect the direction in which they should move to achieve a goal, a haptic cue can be provided by moving the controller to the right, e.g., by vibrating the right handle of the controller.

[0009] In one embodiment, haptic cues can help provide feedback to the user when a danger is approaching, when not to turn left or right, or when to press a particular button. Haptic cues can also vibrate input buttons on the controller to let the user know which buttons they should or shouldn't press.

[0010] In one embodiment, the tactile cue can disable or automatically press the button for users in difficult situations.

[0011] In an embodiment, the haptic cue may prompt the player to go right, or left, or straight ahead by providing haptic vibrations to the controller in a particular format or sequence.

[0012] In one embodiment, haptic cues may be provided to the HMD headset, and the HMD may vibrate on the right, top, bottom, or left side, or entirely, to provide some signal or indicator to the user. Also, in an embodiment, the haptic cues of the HMD may be on the side where the user should focus their attention, such as where to look and / or where to focus, based on the context of the game or interactive scene.

[0013] In an embodiment, the user is prompted to use controller input, such as directional haptic input, to provide assistance to the user similar to adaptive driving assistance, where the controller input guides the user in a particular direction.

[0014] In one embodiment, feedback data is provided to coordinate on-screen activity with user input or lack thereof, such as providing an indicator of a button press on the display screen but not on the controller, and the feedback data proactively prompts the user based on historically obtained user reaction times.

[0015] In an embodiment, a sliding scale of help or button presses is provided to the user based on settings or input provided by the user.

[0016] In one embodiment, the inducement is via haptic cues on the controller, for example the controller tilting in a particular direction or emitting a vibration sound.

[0017] In an embodiment, the controller or another peripheral includes lights that indicate where the user should move or focus. In some cases, some buttons on the controller may light up to indicate to the user which button to press.

[0018] In one embodiment, a method for providing adaptive gaming assistance during gameplay is described. The method includes providing access to play a game of a game session by a user via a game controller, and accessing a profile model of the user during the game session. The profile model is a machine learning model used to predict gaming skills from selected game contexts within the game. The method further includes detecting a context within the game session in which the profile model predicts that the user lacks gaming skills to progress in the game, and activating a haptic cue to the game controller. The haptic cue is a vibration to a specific area of ​​the game controller. The vibration to the specific area suggests a type of input to be made using the game controller to progress in the game.

[0019] In an embodiment, a method for providing adaptive game assistance during game play is described. The method includes providing access to play a game of a game session by a user via a game controller, and accessing a profile model of the user during the game session. The profile model is dynamically generated based on one or more interactive game sessions by the user. The profile model processes a relationship between an interaction by the user in a selected game context and a performance metric of the interaction. The method further includes detecting a context during the game session in which the profile model predicts that the user needs to receive assistance to progress in the game. The method includes activating a haptic cue to the game controller. The haptic cue is a vibration to a specific area of ​​the controller. The vibration to the specific area suggests a type of input to be made using the game controller to progress in the game.

[0020] In one embodiment, a method for providing adaptive game assistance during game play is described. The method includes providing access to play a game of a game session by a user via a game controller and accessing a profile model of the user during the game session. The profile model is dynamically generated based on one or more interactive game sessions by the user. The profile model processes a relationship between interactions by the user in a selected game context and performance metrics of the interactions. The method includes detecting a context during the game session in which the profile model predicts that the user needs assistance to progress through the game. The method includes modifying the context to provide assistance to the user to progress through the game.

[0021] Some advantages of the systems and methods described herein include providing predictive assistance to a user while playing a game. Providing predictive assistance improves network traffic efficiency and server efficiency. When the predictive assistance is provided, the user interacts with the game and progresses through the game. Without predictive assistance, the user is unable to progress through the game and continues to manipulate the controller in an improper manner. Manipulating the controller in an improper manner generates improper inputs. The improper inputs are then sent to the server, which increases network traffic between the server and the controller. Also, the load on the server increases. Providing predictive assistance to a user improves server efficiency by reducing the likelihood of generating improper inputs. Also, the likelihood of network traffic congestion is reduced. In the event of potential network traffic congestion, network efficiency is improved.

[0022] Other aspects of the present disclosure will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, which illustrate, by way of example, the principles of the embodiments described in the present disclosure. [Brief description of the drawings]

[0023] The various embodiments of the present disclosure are best understood by referring to the following description taken in conjunction with the accompanying drawings.

[0024] [Figure 1] FIG. 1 illustrates an embodiment of a game context showing multiple activities presented to a user to enable the user to play a game.

[0025] [Diagram 2] 1 is a graph showing the activity level during each activity undertaken by a user and the time it took the user to complete the activity.

[0026] [Diagram 3]1 is a graph illustrating the collection of state data by one or more processors of a gaming system as a user participates in an activity within a gaming context.

[0027] [Figure 4] FIG. 1 illustrates an embodiment of a system illustrating generation of predictive indicators based on state data determined from a user's engagement in multiple game contexts.

[0028] [Diagram 5] FIG. 1 is a diagram of an embodiment of a system illustrating the use of a handheld controller (HHC) and a gaming system to provide haptic feedback data to a user via the HHC based on a predictive indicator.

[0029] [Figure 6] FIG. 13 is a diagram of an embodiment of a system illustrating that haptic feedback data is generated and transmitted to one or more different areas of an HHC.

[0030] [Figure 7] 1 illustrates components of an exemplary device that can be used to implement aspects of various embodiments of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0031] A system and method for enabling interactive assistance during game play is described. It should be noted that various embodiments of the present disclosure may be practiced without some or all of these specific details. In other instances, well known process operations have not been described in detail so as not to unnecessarily obscure various embodiments of the present disclosure.

[0032] 1 is a diagram of an embodiment of a game context 100 illustrating multiple activities A1, A2, A3, and A4 presented to a user 102 to enable the user 102 to play a game. An example of a game context described herein is one or more virtual scenes, such as a virtual reality (VR) scene having one or more activities. Illustratively, the game context 100 is a virtual scene that includes multiple virtual objects, such as a virtual character 106, a virtual mountain 108, a virtual cave 110, a virtual bear 112, and a virtual car 114, as well as the positions and orientations of the virtual objects relative to one another within the virtual scene. Illustratively, each virtual object is identified by the shape, size, and color of the virtual object.

[0033] A user 102 plays a game using a handheld controller (HHC) 104. The HHC 104 is an example of a game controller. By using the HHC 104, the user 102 logs into a user account 1 assigned to the user 102 and accesses a game session of the game from a game system, such as a cloud system or a computing device, through the user account 1. In one example, the game system includes one or more processors and one or more memory devices. The one or more processors are coupled to the one or more memory devices. Examples of the processor include an application specific integrated circuit (ASIC), a programmable logic device (PLD), a microcontroller, or a microprocessor. Examples of the memory device include a read only memory (ROM), or a random access memory device (RAM), or a combination thereof. In one example, the memory device is a flash memory, or a hard disk, or a redundant array of independent disks (RAID). Examples of the computing device include a desktop computer, a laptop computer, a smart TV, a tablet, a head mounted display (HMD), a game console, and a smartphone. An example of a cloud system includes one or more servers.

[0034] It should be noted that the HHC 104 and / or the computing devices are examples of client devices and the cloud system is an example of a server system. The client devices are coupled to the server system via a computer network, such as the Internet, an intranet, or a combination thereof.

[0035] A game session is accessed when a game program, such as game code, is executed by one or more processors of the game system. Upon accessing the game session, a game context 100 is displayed on a display device of the client device. During the game session, the user 102 encounters multiple activities, such as activities A1-A4, within the game context 100. For example, the user 102 controls the virtual character 106 using the HHC 104 to cross a virtual mountain 108. In this example, the virtual character 106 crossing the virtual mountain 108 is an example of activity A1 within the game context 100. Further, in this example, the user 102 then controls the virtual character 106 using the HHC 104 to venture into a virtual cave 110. In this example, the virtual character 106 ventures into the virtual cave 110 is an example of activity A2. Also in this example, after participating in activity A2, for example, after the virtual character 106, controlled by the user 102 via the HHC 104, emerges from the virtual cave 110, the virtual character 106 encounters a virtual bear 112. In this example, the user 102 controls the HHC 104 to control the virtual character 106 to fight, escape, or encounter or engage the virtual bear 112. In this example, the encounter between the virtual character 106 and the virtual bear 112 is an example of activity A3. Further in this example, after activity A3, the user 102 controls the virtual character 106 via the HHC 104 to get into a virtual car 114 and drive away. In this example, the action of the virtual character 106 getting into the virtual car 114 and driving away is an example of activity A4. In this example, game context data for generating the game context 100 is generated by one or more processors of the game system for display on a display device of the client device. At the end of the game session, user 102 uses HHC 104 to log out of user account 1. Logging out of user account 1 ends the game session.

[0036] Similarly, user 104 accesses additional game sessions of this game or other games through user account 1. As user 102 accesses additional game sessions, one or more processors of the gaming system create game contexts 116, and user 102 engages in a number of activities provided by game contexts 116 in each of the additional game sessions. In one example, one or more of game contexts 116 are for the same game as game context 100. Illustratively, game context 100 is for a game with game title Fortnite™, and one or more of game contexts 116 are for the same game with game title Fortnite™. In another example, one or more of game contexts 116 are for a different game than game 100. Illustratively, game context 100 is for a game with game title Fortnite™, and one or more of game contexts 116 are for a different game with game title Apex Legends™. Note that each of the additional game sessions is accessed by user 102 after logging into user account 1, and each of the additional game sessions ends after user 102 logs out of user account 1.

[0037] In an embodiment, a game session ends when a user 102 achieves a final outcome in the game session.

[0038] In one embodiment, a game session of a game ends when the game ends or is controlled to end by the user 102. After the game ends, the game session of the same game or a different game is accessed from one or more processors of the gaming system for game play by the user 102.

[0039] In one embodiment, the one or more virtual scenes include one or more augmented reality (AR) scenes.

[0040] In an embodiment, the user 102 uses multiple handheld controllers instead of the HHC 104 to play a game. For example, the user 102 holds a first handheld controller in his left hand and a second handheld controller in his right hand to play a game. Each of the handheld controllers may be referred to herein as a game controller.

[0041] In one embodiment, the game context includes any other number of activities, for example, the game context includes one activity, or two activities, or ten activities.

[0042] In one embodiment, instead of the HHC 104, an HMD is used as the controller.

[0043] In an embodiment, the HMD is used as a controller in addition to the HHC 104. In this embodiment, the HHC 104 and the HMD are referred to herein as the controller.

[0044] FIG. 2 is a graph 200 illustrating activity levels, such as difficulty levels between each of activities A1-A4, and the time t taken by user 102 to complete the activities. Graph 200 plots activity levels on the y-axis and time t on the x-axis. Time t ranges from time t0 to time t18. Note that the duration between any two consecutive times between times t0-t18 is equal. For example, the duration from time t0 to t1 is equal to the duration from time t1 to t2. Activity levels range from 0 to 6, increasing from 0 to 6. 0 is an easy activity level, 6 is a difficult or strenuous activity level, and activity levels from 1 to 5 range between easy and difficult levels. Activity levels are assigned by a game program executed by one or more processors of the game system.

[0045] As shown in graph 200, one or more processors of the gaming system assign activity level 3 to activity A1 and determine that user 102 (FIG. 1) takes a first time period from time t0 to time t5 to complete activity A1. For example, one or more processors of the gaming system may include or have access to a clock source and determine, based on a clock signal generated by the clock source, that user 102 takes a first time period to climb virtual mountain 108 (FIG. 1) via user account 1. Similarly, one or more processors of the gaming system assign activity level 2 to activity A2 and determine that user 102 takes a time period from time t5 to time t8 to complete activity A2, assign activity level 6 to activity A3 and determine that user 102 takes a time period from time t8 to time t14 to complete activity A3, and assign activity level 4 to activity A4 and determine that user 102 takes a time period from time t14 to time t18 to complete activity A4. For example, the one or more processors of the gaming system determine, based on the clock signal, that it takes a second time period for the user 102 to venture into the virtual cave 110 (FIG. 1) via user account 1. In this example, the second time period is the time it takes for the virtual character 106 (FIG. 1) to enter the virtual cave 110 and emerge from the virtual cave 110. In this example, the one or more processors of the gaming system further determine that the second time period is less than the first time period. Similarly, the one or more processors of the gaming system determine an activity level for an activity completed by the user 102 during the game context 116 (FIG. 1).

[0046] 3 is a graph 300 illustrating the collection of state data 302 by one or more processors of the gaming system as the user 102 (FIG. 1) participates in activities A1-A4 within the game context 100. Examples of state data are shown below: The one or more processors of the gaming system collect state data 302 during each of the activities A1-A4. For example, as the user 102 participates in the activities A1-A4, the one or more processors of the gaming system obtain, such as determine, identify, or access, the state data 302 and store the state data 302 in one or more memory devices of the gaming system.

[0047] It should be noted that the state data 302 is obtained and stored on the fly. For example, immediately after the virtual character 106 finishes climbing the virtual mountain 108 (FIG. 1), the one or more processors of the game system determine that the virtual character 106 has finished climbing the virtual mountain 108 based on the position and orientation of the virtual character 106 relative to the virtual mountain 108, and identify a number of virtual achievements, such as a number of virtual points, or a number of virtual kills, or a combination thereof, assigned to the user account 1 once the position and orientation of the virtual character 106 is obtained. In this example, the position of the virtual character 106 is at the bottom of the virtual mountain 108 in the game context 100 and is to the right of the virtual mountain 108 (FIG. 1). Further, in this example, the one or more processors of the game system identify the activity level of the activity A1 as 3 and calculate a first time period. In this example, the position and orientation of the virtual character 106, the number of virtual achievements, the activity level, and the first time period are examples of state data 302, and the one or more processors store the number of virtual achievements, the activity level, and the first time period in one or more memory devices of the gaming system. Further, in this example, the one or more processors of the gaming system identify a skill level assigned to the user 102 within the user account 1 while engaged in activities A1-A4. For example, the skill level is beginner, average, or expert. In this example, the skill level is assigned to the user 102 by the one or more processors based on the performance level of the user 102 during gameplay preceding the gameplay using the context 100 and during the gameplay using the context 100. In this example, the skill level is an example of state data 302.

[0048] Further, in this example, the one or more processors of the gaming system track the time taken to press or advance each of the buttons of the HHC 104 ( FIG. 1 ) to engage in activity A1, or the time taken to move the HHC 104 between two of a plurality of consecutive positions and orientations of the HHC 104, or a combination thereof. In this example, the time taken to move each of the buttons is an example of state data 302. Also, in this example, the time taken to move the HHC 104 between two of a plurality of consecutive positions and orientations is an example of state data 302. Further, in this example, the one or more processors of the gaming system track multiple movements, such as pressing or advancing a button of the HHC 104, to engage in activity A1, and store the time and the number of button movements in one or more memory devices of the gaming system. In this example, the number of movements is an example of state data 302. Illustratively, the one or more processors of the gaming system determine that it took 5 seconds from the time that an activity A1, such as a virtual mountain 108, was displayed on the display device until the user 102 pressed the joystick of the HHC 104 to control the virtual character 106 and thereby begin climbing the virtual mountain 108 (FIG. 1). In the illustrative example, the one or more processors of the gaming system determine that it took 10 seconds from the time the joystick was pressed until the user 102 released the joystick, and that zero button presses of the HHC 104 were required to move the virtual character 106 up the virtual mountain 108. In the illustrative example, the joystick is an example of one of the buttons of the HHC 104. Further, in the illustrative example, the one or more processors of the gaming system determine multiple successive positions and orientations of the HHC 104 while moving the virtual character 106 to overcome the virtual mountain 108 based on inertial sensor data received from inertial sensors, such as a magnetometer, an accelerometer, and a gyroscope, of the HHC 104. To further illustrate, the multiple consecutive positions and orientations include a first position (x1, y1, z1), a first orientation (θ1, φ1, γ1), a second position (x2, y2, z2), and a second orientation (θ2, φ2, γ2).In a further example, x1 and x2 are respective distances along the x-axis from a reference coordinate of the client device, y1 and y2 are respective distances along the y-axis from the reference coordinate, z1 and z2 are respective distances along the z-axis from the reference coordinate, θ1 is an angle between the x-axis and a first position, θ2 is an angle between the x-axis and a second position, φ1 is an angle between the y-axis and the first position, φ2 is an angle between the y-axis and the second position, γ1 is an angle between the z-axis and the first position, and γ2 is an angle between the z-axis and the second position. Further, in this example, the one or more processors determine a plurality of successive positions and orientations of the HHC 104.

[0049] In this example, one or more processors of the gaming system identify each moved button of the HHC 104 and distinguish it from other buttons of the HHC 104 that have been moved or not moved. Also, in this example, one or more processors of the gaming system determine a sequence, such as the order in which the buttons of the HHC 104 are moved by the user 102 while engaging in activity A1. In this example, the multiple successive positions and orientations of the HHC 104, the identity of each of the buttons of the HHC 104 that are moved, and the sequence are examples of state data 302.

[0050] Similarly, state data 302 relating to activities A2-A4 of game context 100 is obtained by one or more processors of the game system and stored in one or more memory devices of the game system. Similarly, state data relating to game context 116 (FIG. 1) is obtained by one or more processors of the game system and stored in one or more memory devices of the game system.

[0051] 4 is a diagram of an embodiment of a system 400 illustrating generation of a predictive indicator 426, such as a predicted outcome, based on state data 418 determined from a user's 102 engagement with the game context 100 and the game context 116. The system 400 includes a metadata processor 402, a context labeler 404, an action labeler 406, a metric labeler 408, a context classifier 410, an action classifier 412, a metric classifier 414, and a profile model 416. By way of example, each of the context labeler 404, the action labeler 406, the metric labeler 408, the context classifier 410, the action classifier 412, the metric classifier 414, and the profile model 416 is a hardware or software component. By way of example, each of the context labeler 404, the action labeler 406, the metric labeler 408, the context classifier 410, the action classifier 412, the metric classifier 414, and the profile model 416 is a software program or part of a software executed by an artificial intelligence (AI) processor. For further illustration, the profile model 416 is a machine learning model, or a neural network, or an artificial intelligence model. For another illustration, each of the context labeler 404, the action labeler 406, the metric labeler 408, the context classifier 410, the action classifier 412, the metric classifier 414, and the profile model 416 is a hardware circuit portion of an ASIC or a PLD. The AI ​​processor and metadata processor 402 are examples of one or more processors of a gaming system. The system 400 further includes state data 418, a game context 420, user interactions 422, and performance metrics 424. Examples of the state data 418 include a combination of the state data 302 (FIG. 3) and state data generated based on the user's 102 engagement with the game context 116.

[0052] The one or more processors of the game system collect the state data 418 on the fly. For example, the one or more processors of the game system do not pause a game program being executed to generate one of the game contexts 420 while obtaining the state data 418 from one or more of the user interactions 422 with one of the game contexts 420.

[0053] Examples of game contexts 420 include game context 100 and game context 116 (FIG. 1). Examples of user interactions 422 include the time it takes to move a button of the HHC 104, the time it takes to move the HHC 104 between two of a plurality of successive positions and orientations of the HHC 104, the number of button movements, the identity of the button moved, the sequence in which the buttons of the HHC 104 are moved, and a plurality of successive positions and orientations of the HHC 104 during user interactions 422 with each of the game contexts 420. Additionally, examples of performance metrics 424 include a number of virtual achievements collected during each of the game contexts 420, or a value determined based on the skill level of the user 102 during each of the game contexts 420, or a combination thereof during each of the game contexts 420. For example, the one or more processors of the gaming system generate a first performance metric based on a weighted combination of the average skill level of the user 102 during activities A1-A4 of the game context 100 and a first number of virtual achievements achieved by the user 102 via user account 1 during the game context 100. In this example, the one or more processors of the gaming system generate a second performance metric based on a weighted combination of the expert skill level of the user 102 during one of the game contexts 116 and a second number of virtual achievements achieved by the user 102 via user account 1 during one of the game contexts 116. In this example, the second performance metric is a value that is greater than or less than the value of the first performance metric. Further, in this example, the one or more processors of the gaming system assign a first identifier PM1 to the first performance metric and assign a second identifier PM2 to the second performance metric. In this example, the first identifier and the second identifier PM1 and PM2 are part of the state data 418.

[0054] The one or more processors of the gaming system assign different identifiers to the game context 420 than to the user interactions 422 and the performance metrics 424. For example, the one or more processors of the gaming system assign identifiers to the game context 420, each of the identifiers having the term GC. Further, in this example, the one or more processors of the gaming system assign identifiers to the user interactions 422, each of the identifiers having the term UI. Also, in this example, the one or more processors of the gaming system assign identifiers to the performance metrics 424, each of the identifiers having the term PM. The identifiers for the game context 420, the user interactions 422, and the performance metrics 424 are part of the state data 418.

[0055] The one or more processors of the game system also assign different identifiers to each of the game contexts 420. For example, the game context 100 is assigned an identifier such as GC1, and one of the game contexts 116 is assigned an identifier such as GC2 to distinguish the game context 100 from one of the game contexts 116.

[0056] The one or more processors of the gaming system further assign different identifiers to each button of the HHC 104 and each different type of button movement. For example, the one or more processors of the gaming system assign identifier BT1 to a first button of the HHC 104 and identifier LJT to a left joystick of the HHC 104. Further, in this example, the one or more processors of the gaming system assign identifier 1BP to a press of the first button and identifier LPU to a push of the left joystick. For example, the one or more processors of the gaming system assign identifier BT2 to a second button of the HHC 104 and identifier RJT to a right joystick of the HHC 104. Further, in this example, the one or more processors of the gaming system assign identifier 2BP to a press of the second button and identifier RPU to a push of the right joystick. The identifiers of the buttons of the HHC 104 and the identifiers of the types of button movements are part of the state data 418.

[0057] Additionally, the one or more processors of the gaming system provide correspondence identifiers between the buttons of the HHC 104, the types of button movement, and the game context 420. For example, the one or more processors of the gaming system assign a correspondence identifier CI1 to identify a unique relationship between an identifier of the game context 100, one or more identifiers of one or more buttons of the HHC 104 moved during the user's 102 engagement with the game context 100, and one or more identifiers of one or more movement types of the one or more buttons during engagement. The correspondence identifier is also part of the state data 418.

[0058] The metadata processor 402 is coupled to a context labeler 404, an action labeler 406, and a metric labeler 408. The context labeler 404 is also coupled to a context classifier 410, the action labeler 406 is coupled to an action classifier 412, and the metric labeler 408 is coupled to a metric classifier 414. The context classifier 410, the action classifier 412, and the metric classifier 414 are coupled to a profile model 416. The context labeler 404 is coupled to the action labeler 406 and the metric labeler 408.

[0059] The metadata processor 402 accesses state data 418 from one or more memory devices of the gaming system and analyzes the state data 418 to identify game context 420, user interactions 422, and performance metrics 424. For example, the metadata processor 402 reads each row of the state data 418 to distinguish between the game context 420, the user interactions 422, and the performance metrics 424. By way of example, the metadata processor 402 distinguishes between the game context 420, the user interactions 422, and the performance metrics 424 based on the identifiers GC, UI, and PM. By way of further example, the metadata processor 402 determines that the row of state data 418 having the identifier GC is one of the game contexts 420 and that the row of state data 418 having the identifier UI is one of the user interactions 422.

[0060] The context labeler 404 receives the game contexts 420 from the metadata processor 402 and identifies and labels each of the game contexts 420. For example, the context labeler 404 determines that the game context 100 includes a set of virtual objects that is different from the set of virtual objects in one of the game contexts 116. By way of example, the context labeler 404 identifies each virtual object in the game context based on the size, shape, color, or a combination thereof of the virtual objects, and further determines from the identifiers of the virtual objects in the game context that the game context 100 includes a set of virtual objects that is different from the set of virtual objects in one of the game contexts 116. By way of further example, the context labeler 404 identifies that the game context 100 includes a virtual character 106, a virtual mountain 108, a virtual cave 110, a virtual bear 112, and a virtual car 114. In a further example, the context labeler 404 identifies that one of the game contexts 116 includes a virtual avatar, a virtual desktop monitor, a virtual pencil holder, and a virtual desk. In a further example, the set of the virtual character 106, the virtual mountain 108, the virtual cave 10, the virtual bear 112, and the virtual car 114 is different from the set of the virtual avatar, the virtual desktop monitor, the virtual pencil holder, and the virtual desk. As another example, the context labeler 404 determines that a different identifier, such as GC1, is assigned to the game context 100 by one or more processors of the gaming system to distinguish the game context 100 from one of the game contexts 116, as distinct from an identifier, such as GC2, assigned to one of the game contexts 116. The respective labeling of the game contexts 420 distinguishes one of the game contexts 420 from another one of the game contexts 420. The context labeler 404 provides the labels of the game contexts 420 to the action labeler 406 and the metric labeler 408.

[0061] The action labeler 406 receives the user interactions 422 from the metadata processor 402 and the labels of the game contexts 420 from the content labeler 404, and identifies and labels each of the user interactions 422 during each of the game contexts 420. For example, the action labeler 406 distinguishes a button from the rest of the buttons of the HHC 104 based on an identifier of the button of the HHC 104, and distinguishes a type of movement of a button from another type of movement of a button of the HHC 104 during one of the game contexts 420 based on an identifier of the type of movement of the button.

[0062] The metric labeler 408 receives the performance metrics 424 from the metadata processor 402 and the labels of the game contexts 420 from the content labeler 404, identifies each of the performance metrics 424 during each of the game contexts 420, and labels each of the performance metrics 424. For example, the metric labeler 408 distinguishes a first performance metric from a second performance metric based on the identifier of the performance metric during one of the game contexts 420.

[0063] Each label is an identifier, i.e., a sequence of alphanumeric characters that distinguishes one label from another.

[0064] The context classifier 410 receives the labels of the game contexts 420 from the context labeler 404 and classifies each of the game contexts 420 to output a game context classification. For example, the context classifier 410 determines that the game context 100 includes a predetermined number of activities, such as A3 and A4, and each activity has an activity level that exceeds a predetermined level, such as 3.5. In this example, the context classifier 410 classifies the context 100 as a difficult context. In this example, the difficult context is one example of a context classification. As another example, the context classifier 410 determines that one of the game contexts 116 does not have a predetermined number of activities, and each activity has an activity level that exceeds a predetermined level. In this example, the context classifier 410 determines that one of the game contexts 116 is an easy context. In this example, the easy context is one example of a context classification.

[0065] Similarly, the action classifier 412 receives the labels of the user interactions 422 from the action labeler 406, classifies each of the user interactions 422, and outputs an action classification. For example, the action classifier 412 determines that the time taken for the user 102 to press a button on the HHC 104 to start climbing the virtual mountain 108 after the virtual mountain 108 is displayed in the game context 100 (FIG. 1) is longer than a predetermined time, and thus classifies one of the user interactions of pressing a button 422 as a difficult interaction. As another example, the action classifier 412 determines that the user 102 pressed the right joystick instead of the left joystick to step into the virtual cavern 110 (FIG. 1), and thus classifies one of the user interactions of pressing the right joystick 422 as a difficult interaction. In this example, the left joystick is predetermined as the joystick to be pressed. As yet another example, the action classifier 412 determines that the user 102 selected a sequence of buttons on the HHC 104 that differs from a predetermined sequence of buttons on the HHC 104 to fight the virtual bear 112 and classifies one of the user interactions 422 as a difficult interaction. In the preceding three examples, a difficult interaction is an example of an action classification. As yet another example, the action classifier 412 determines that after the virtual mountain 108 is displayed in the game context 100 (FIG. 1), it takes the user 102 to press a button on the HHC 104 to begin climbing the virtual mountain 108 within a predetermined time or less, and thus classifies one of the user interactions 422 of pressing a button as an easy interaction. As another example, the action classifier 412 determines that the user 102 pressed the left joystick to step into the virtual cave 110 and therefore classifies one of the user interactions 422, pressing a predetermined joystick, the left joystick, as a simple interaction.As yet another example, the action classifier 412 classifies one of the user interactions 422 as a simple interaction by determining that the user 102 selects a predefined sequence of buttons on the HHC 104 to fight a virtual bear 112. In the preceding three examples, a simple interaction is an example of an action classification.

[0066] Further, the metric classifier 414 receives the labels of the performance metrics 424 from the metric labeler 408 and classifies each of the performance metrics 424 to output a metric classification. For example, the metric classifier 414 determines that a first performance metric is above a predefined threshold to determine that the user 102 has a high performance metric while interacting with the activities A1-A4 of the game context 100. In this example, the metric classifier 414 determines that a second performance metric is below a predefined threshold to determine that the user 102 has a low performance metric while interacting with the activities A1-A4 of the game context 100. Further, in this example, the metric classifier 414 determines that the second performance metric is above a predefined threshold to determine that the user 102 has an average or low performance metric while interacting with the activities A1-A4 of the game context 100. In this example, the high, low, and average performance metrics are examples of metric classifications.

[0067] Each classification is a level. For example, a difficult context is a classification level and an easy context is another classification level. As another example, a difficult interaction is a classification level and an easy interaction is a classification level. As yet another example, a high performance metric is a classification level and an average or low performance metric is a classification level.

[0068] The action classifier 412 provides labels of the user interactions 422 to the profile model 416. For example, the action classifier 412 provides labels indicating which button of the HHC 104 was moved by the user 102, the position and orientation of the HHC 104, and the type of movement, such as a button press or a button advance. The profile model 416 also receives the context classification from the context classifier 410, the action classification from the action classifier 412, and the metric classification from the metric classifier 414 to generate a predictive indicator 426. For example, the profile model 416 identifies from the metric classification that the metric classification is a high performance metric in a number of game contexts 420 that is greater than a pre-set threshold. Furthermore, in this example, the profile model 416 identifies from the context classification received from the context classifier 410 that each of the plurality of game contexts 420 is a difficult context. Furthermore, in this example, the profile model 416 identifies that the interaction by the user 102 while engaged in the plurality of game contexts 420 is an easy interaction. In this example, the correspondence between high performance metrics, difficult contexts, and easy interactions are examples of relationships. In this example, the profile model 416 generates a favorable predictive indicator for the user 102 indicating that the user 102 will achieve high performance metrics in future game sessions in which game contexts similar to one or more of the plurality of game contexts 420 are displayed.

[0069] In one example, each of the predictive indicators 426 is an indicator of the gaming skill of the user 102. In another example, each of the predictive indicators 426 indicates whether the user 102 will achieve a goal of a game context similar to one or more of the plurality of game contexts 420. In an example, the goal is to perform one or more of the activities A1-A4 of the similar game context. In an example, if the goal is not achieved, the user 102 will not progress or advance in the game having the similar game context. In a further example, if the user 102 cannot complete the activities A1-A4 of the similar game context of the game, the one or more processors of the game system cannot display another game context of the game. In a further example, the other game contexts will follow the similar game contexts in succession according to the game. In another example, the goal is to earn a predetermined number of virtual points by interacting with the similar game context. In an example, if the goal is not achieved, the user 102 will not progress in the game having the similar game context. To further illustrate, if the user 102 fails to earn a predetermined number of virtual points in a similar game context, the one or more processors of the gaming system may not display another game context of the game.

[0070] As another example, the profile model 416 identifies from the metric classifications that in a number of game contexts 420 greater than a preset threshold, the metric classifications are average or low performance metrics. Further, in this example, the profile model 416 identifies from the context classifications received from the context classifier 410 that each of the plurality of game contexts 420 is a difficult or easy context. Further, in this example, the profile model 416 identifies that an interaction by the user 102 while engaged in the plurality of game contexts 420 is a difficult interaction. In this example, the correspondence between the average or low performance metrics, the difficult or easy contexts, and the difficult or easy interactions are examples of relationships. In this example, the profile model 416 generates an unfavorable predictive indicator for the user 102 indicating that the user 102 achieves a low or average performance metric during a game session in which a game context similar to one or more of the plurality of game contexts 420 is displayed. In this example, the unfavorable predictive indicator indicates a lack of one or more game skills of the user 102. To illustrate, an unfavorable predictive indicator may indicate that user 102 will press a different sequence of buttons on HHC 104 from the predetermined sequence to achieve a goal in a future game context similar to one or more of game contexts 420. As another example, an unfavorable predictive indicator may indicate that user 102 will tilt the left handle of HHC 104 more than the right handle of HHC 104 to achieve a goal in a future game context similar to one or more of game contexts 420.

[0071] As yet another example, the profile model 416 identifies from the metric classifications that the metric classifications are high performance metrics in a number of game contexts 420 that are equal to or less than a pre-defined threshold. Further, in this example, the profile model 416 identifies from the context classifications received from the context classifier 410 that each of the plurality of game contexts 420 is a difficult context. Further, in this example, the profile model 416 identifies that interactions by the user 102 while engaged in the plurality of game contexts 420 are easy interactions. In this example, the profile model 416 generates an unfavorable predictive indicator for the user 102 indicating that the user 102 will achieve low performance metrics during a game session in which a game context similar to one or more of the game contexts 420 is displayed.

[0072] As yet another example, the profile model 416 identifies from the metric classifications that the metric classifications are high performance metrics in a number of game contexts 420 that are equal to or less than a pre-defined threshold. Further, in this example, the profile model 416 identifies from the context classifications received from the context classifier 410 that each of the plurality of game contexts 420 is an easy context. Further, in this example, the profile model 416 identifies that interactions by the user 102 while engaged in the plurality of game contexts 420 are difficult interactions. In this example, the profile model 416 generates an unfavorable predictive indicator for the user 102 indicating that the user 102 will achieve low performance metrics during game sessions in which game contexts similar to one or more of the game contexts 420 are displayed.

[0073] In one embodiment, the metadata processor 402 does not access the state data 418 from one or more memory devices of the game system. Rather, in this example, the metadata processor 402 accesses the state data 418 directly from one or more processors of the game system that obtain the state data 418 during user interaction 422 with the game context 420.

[0074] In embodiments, the terms game context and selection context are used interchangeably herein.

[0075] In one embodiment, a high performance metric is generated by one or more processors of the gaming system when a predetermined number of activities of a preset number of game contexts 420 are completed by user 102 via user account 1 and HHC 104. In this embodiment, a low performance metric is generated by one or more processors of the gaming system when a predetermined number of activities of a preset number of game contexts 420 are not completed by user 102 via user account 1 and HHC 104.

[0076] In embodiments, difficult interactions may be referred to herein as inappropriate interactions, and easy interactions may be referred to herein as appropriate interactions.

[0077] 5 is a diagram of an embodiment of a system 500 illustrating the use of a gaming system 502 and an HHC 104 to provide haptic feedback data 506 to a user 102 via the HHC 104 based on a predictive indicator 426. The system 500 includes a gaming system 502, such as a computing device or a cloud system.

[0078] The gaming system 502 includes state data 418, metadata processor 402, performance metrics 424, profile model 416, haptic feedback data generator 504, haptic feedback data 506, game program 510 of the game, current game play data 508, and game assistant functions 512. In one example, the game having the game program 510 may be the same as or different from one or more of the games based on which the predictive indicators 426 are generated. An example of the haptic feedback data generator 504 is one or more processors of the gaming system 502.

[0079] Examples of the gaming support functionality 512 are hardware or software. For example, the gaming support functionality 512 is a software program executed by one or more processors of the gaming system 502. As another example, the gaming support functionality 512 is an ASIC, or a PLD, or another integrated circuit of the gaming system 502.

[0080] Similarly, examples of the haptic feedback data generator 504 are hardware or software. By way of example, the haptic feedback data generator 504 is a software program executed by one or more processors of the gaming system 502. As another example, the haptic feedback data generator 504 is an ASIC, or a PLD, or another integrated circuit of the gaming system 502.

[0081] The profile model 416 is coupled to a game support function 512, which is coupled to the game program 510. The profile model 416 provides a predicted indicator 426 to the game support function 512. For example, one or more processors of the game system 502 executing the game support function 512 receive the predicted indicator 426 from the profile model 416. The haptic feedback data generator 504 is also coupled to the profile model 416 and the game support function 512. The game support function 512 and the game program 510 are coupled to the HHC 104. The haptic feedback data generator 504 is coupled to the game program 510.

[0082] During or after the occurrence of the game session for which the predictive indicators 426 are generated, the user 102 logs into user account 1. When the user 102 logs into user account 1 and generates and transmits a request to access a game including the game program 510 using the HHC 104, one or more processors of the game system 502 transmit a request to the client device to display a prompt on a display device of the client device to determine whether the user 102 desires to use the game assist features 512 while the game program 510 is running. The user 102 indicates using the HHC 104 that the user 102 desires to use the game assist features 512, and the HHC 104 transmits the indication to the game system 502. Upon receiving the indication from the HHC 104, the game program 510, along with the game assist features 512, are executed by one or more processors of the game system 502 to initiate a current game session of the game. The game assist features 512 receive the predictive indicators 426 from the profile model 416 and apply the predictive indicators 426. If the user 102 receives another indication that he does not want to apply the game assist features 512, the game program 510 executes without applying the game assist features 512.

[0083] During a current game session, as the game program 510 executes, one or more processors of the game system 502 generate current game play data 508. Illustratively, the current game play data 508 includes a current game context of a game having the game program 510, a plurality of user interactions of the user 102 with the current game context, and performance metrics determined by the one or more processors of the game system 502 based on the user interactions with the current game context.

[0084] When it is determined that the user 102 is about to interact with a current game context similar to the preset amount of the game context 420 based on the game context 420 from which the predictive indicator 426 of the unfavorable preset amount is generated, the one or more processors of the game system 502 decide to modify the current game context to apply the game assistance function 512 to further provide the adaptive game assistance to the user 102 via the user account 1. For example, the one or more processors of the game system 502 modify one or more portions of the current game context to downwardly adjust the game program 510 before the current game context is displayed on the computing device. In this example, one or more portions of the current game context are modified to output one or more modified current game contexts, thereby enabling the user 102 to increase performance metrics while interacting with the current game context. To illustrate, one or more processors of game 502 modify the current game context to remove an activity, such as activity A3, or modify the functionality of one or more virtual objects, such as modifying the functionality of virtual bear 112 (FIG. 1) to attack virtual character 106 (FIG. 1) less than a predetermined number of times, or replace the activity with another easy activity. In an example, the activity has an activity level above a predetermined level, such as 4, and the easy activity has an activity level below the predetermined level. As another example, one or more processors of game 502 modify the current game context to reduce the speed at which one or more virtual objects move within the current game context.

[0085] The user 102 interacts with the current game context that may be adjusted downwardly using the HHC 104 to achieve a predetermined performance metric. For example, the user 102 may complete all activities of the current game context or achieve a score above a predetermined score by interacting with the current game context. The one or more modified current game contexts are transmitted by one or more processors of the game system 502 to a computing device to display the one or more modified current game contexts on a display device of the computing device.

[0086] Further, during or prior to the current game session based on which the current gameplay data 508 is generated, the haptic feedback data generator 504 accesses the profile model 416 to receive the predicted indicator 426 from the profile model 416. For example, the haptic feedback data generator 504 requests the predicted indicator 426 from the profile model 416. In this example, the profile model 416 sends the predicted indicator 426 to the haptic feedback data generator 504 in response to the request. The haptic feedback data generator 504 then processes, e.g., analyzes, the predicted indicator 426 to generate or output the haptic feedback data 506. For example, the haptic feedback data generator 504 receives an unfavorable predicted indicator generated based on one or more of the user interactions 422 with one or more of the game contexts 420. In this example, the haptic feedback data 506 is generated to modify the unfavorable predicted indicator to a favorable predicted indicator. In this example, the haptic feedback data generator 504 communicates with the game program 510 to generate the haptic feedback data 506 to modify the unfavorable predictive indicators to favorable predictive indicators. Illustratively, the haptic feedback data generator 504 identifies that the user 102 selected the right joystick instead of the left joystick during one or more of the preset amounts of the game context 420 based on the labels of the user interactions 422 received from the action classifier 412. In the illustrative example, the haptic feedback data generator 504 communicates with the game program 510 to determine that the left joystick should be moved instead of the right joystick to modify one or more unfavorable predictive indicators over one or more of the preset amounts of the game context 420 to one or more favorable predictive indicators. Further, in the illustrative example, the haptic feedback data generator 504 generates the haptic feedback data 506 to indicate, such as to suggest, to the user 102 that the user 102 selects the left joystick instead of the right joystick during or immediately prior to the current game context.In the illustration, left joystick selection is an example of an input type.

[0087] As another example, the haptic feedback data generator 504 identifies, based on the label of the user interaction 422 received from the action classifier 412, that the user 102 has moved the HHC 104 to tilt the HHC 104 such that the right handle of the HHC 104 is at a lower level than the left handle of the HHC 104. In the illustrated example, the haptic feedback data generator 504 communicates with the game program 510 to determine that the left handle should be moved to a lower level than the right handle to modify one or more unfavorable predictive indicators over one or more of the pre-set amounts of the game context 420 to one or more favorable predictive indicators. In the illustration, the haptic feedback data generator 504 generates haptic feedback data 506 that suggests (e.g., indicates) to the user 102 to move the left handle to a lower level than the right handle. In the illustrated example, moving the left handle to a lower level than the right handle is an example of a type of input.

[0088] As yet another example, the haptic feedback data generator 504 identifies, based on the label of the user interaction 422 received from the action classifier 412, that the user 102 manipulates the HHC 104 to select a set of buttons of the HHC 104 according to a first sequence or a first sequential order. In the example, the haptic feedback data generator 504 communicates with the game program 510 to determine that a set of buttons of the HHC 104 is selected according to a second sequence or a second sequential order to modify one or more unfavorable predictive indicators over one or more of the pre-set amounts of the game context 420 to one or more favorable predictive indicators. In the example, the haptic feedback data generator 504 generates the haptic feedback data 506 to indicate, e.g., suggest to the user 102 that the user 102 selects a set of buttons according to the second sequence during or immediately prior to the current game context. In the example, the selection of a set of buttons according to the second sequence is an example of an input type.

[0089] As another example, upon receiving a preset amount of favorable predictive indicators 426 for the game context 420 , the haptic feedback data generator 504 does not output haptic feedback data 506 for providing to the game assistance function 512 .

[0090] During the current game session, haptic feedback data generator 504 provides haptic feedback data 506 to game assistance functionality 512. Game assistance functionality 512 is executed by one or more processors of game system 502 to receive haptic feedback data 506 and apply haptic feedback data 506 to modify user interactions during execution of game program 510 for game play in the current game session.

[0091] While the user 102 is playing a game based on which the current gameplay data 508 is generated, the game support functionality 512 analyzes, e.g., processes, the predictive indicators 426 and the current gameplay data 508 to determine whether to transmit the haptic feedback data 506 to the HHC 104. For example, the game support functionality 512 receives the unfavorable predictive indicators generated based on one or more of the user interactions 422 with one or more of the game contexts 420. In this example, the game support functionality 512 obtains the gameplay data 508 from the game program 510, identifies, e.g., detects from the gameplay data 508 a current game context with which the user 102 is interacting, and determines whether the current game context is similar to the preset amount of the game context 420 based on which the unfavorable predictive indicator is generated. By way of example, the game support functionality 512 determines whether a preset amount of virtual objects in the current game context matches a preset amount of virtual objects in each of the preset amounts of the game contexts 420 based on which the unfavorable predictive indicator is generated. In the example, the predetermined amount of virtual objects are identified based on the size, shape, and color of the virtual objects. Further, in the example, if the game support functionality 512 determines that the predetermined amount of virtual objects in the current game context match the predetermined amount of virtual objects in the predetermined amount of game context 420, the game support functionality 512 determines that the current game context is similar to the predetermined amount of game context 420 and determines to transmit haptic feedback data 506 to the HHC 104. On the other hand, in the example, if the game support functionality 512 determines that the predetermined amount of virtual objects in the current game context do not match the predetermined amount of virtual objects in the predetermined amount of game context 420, the game support functionality 512 determines that the current game context is not similar to the predetermined amount of game context 420 and does not transmit haptic feedback data 506 for the current game context to the HHC 104.

[0092] Continuing with the example, when the game assistance function 512 determines that the current game context resembles the preset amount of the game context 420 based on which the predictive indicator 426 is generated, it activates a haptic cue, such as sending haptic feedback data 506 to the HHC 104. In this example, the haptic feedback data 506 is sent to modify a potentially unfavorable predictive indicator to a favorable predictive indicator for the current game context. To illustrate, the haptic feedback data generator 504 identifies, based on the label of the user interaction 422 received from the action classifier 412, that the user 102 selected the right joystick instead of the left joystick during the preset amount of the game context 420 based on which the unfavorable predictive indicator is generated. To illustrate, the haptic feedback data generator 504 provides the haptic feedback data 506 to the game assistance function 512. In the illustrated example, the game assistant function 512 transmits haptic feedback data 506 to the HHC 104 to indicate to the user 102 that the user 102 selected the right joystick instead of the left joystick before the user 102 attempts to interact with the current game context. In the illustrated example, the haptic feedback data 506 is transmitted after the current game context is generated but before the user 102 interacts with the current game context. In the illustrated example, the haptic feedback data 506 is transmitted from the game system 502 to the HHC 104 via a computer network if the game system 502 is a cloud system. Further, in the illustrated example, the haptic feedback data 506 is transmitted from the game system 502 to the HHC 104 via a wired or wireless communication medium if the game system 502 is a computing device. An example of a wired communication medium is a cable, and an example of a wireless communication medium is a medium that applies a wireless protocol for communication, such as Bluetooth® or Wi-Fi®.

[0093] As another example, the haptic feedback data generator 504 identifies, based on the labels of the user interactions 422 received from the action classifier 412, that during one or more game contexts 420 similar to the current game context, the user 102 moved the HHC 104 to tilt the HHC 104 such that the right handle of the HHC 104 was at a lower level than the left handle of the HHC 104. In the example, the haptic feedback data generator 504 identifies that one of the predictive indicators 426 corresponding to the tilt is unfavorable. In the example, the haptic feedback data generator 504 provides the haptic feedback data 506 to the game assistance function 512. In the example, before the user 102 attempts to interact with the current game context, the game assistance function 512 transmits the haptic feedback data 506 to the HHC 104 to indicate to the user 102 that the user 102 moved the left handle to a lower level than the right handle.

[0094] As yet another example, the haptic feedback data generator 504 identifies that the user 102 manipulated the HHC 104 to select a set of buttons on the HHC 104 according to a first sequence or a first sequential order during one or more of the game contexts 420 that are similar to the current game context based on the labels of the user interactions 422 received from the action classifier 412. In the example, the haptic feedback data generator 504 identifies that one of the predictive indicators 426 corresponding to the selection of the set of buttons according to the first sequence is unfavorable. In the example, the haptic feedback data generator 504 provides the haptic feedback data 506 to the game assistance function 512. In the example, the game assistance function 512 transmits the haptic feedback data 506 to the HHC 104 to indicate, e.g., indicate to the user 102 that the user 102 selected a set of buttons according to a second sequence before the user 102 attempts to interact with the current game context. When the haptic feedback data 506 is transmitted to the HHC 104 , adaptive gaming assistance is provided to the user 102 via User Account 1 and the HHC 104 .

[0095] In an embodiment, when the user 102 indicates that the game assist function 512 is applied to the game program 510, a first rank of the user 102 is generated by one or more processors of the game system 502 based on a first performance metric. The first performance metric is generated based on the user 102's interaction with the current game context. The first rank is lower than the second rank. The second rank is generated by one or more processors of the game system 502 based on the second performance metric. The second performance metric is generated based on another user's interaction with the current game context that is not modified by the game assist function 512. In this embodiment, the game assist function 512 applies a predictive index that is generated based on previous interactions with previous game contexts of other users. Each of the first rank and the second rank is an example of a skill level.

[0096] In one embodiment, the game support functions 512 are integrated with the game program 510. For example, one or more processors of the game system 502 execute a program including the game support functions 512 and the game program 510 in a time-shared manner.

[0097] In an embodiment, two or more of the haptic feedback data generator 504, the haptic feedback data 506, the game support functions 512, and the game program 510 are integrated with one another. For example, one or more processors of the game system 502 execute programs including the haptic feedback data generator 504, the game support functions 512, and the game program 510 in a time-shared manner.

[0098] 6 is a diagram of an embodiment of a system 600 illustrating that haptic feedback data 506 is generated and transmitted to multiple different areas of an HHC 104. System 600 includes a display device 602 and an HHC 104. Examples of the display device 602 include a desktop computer display device, a laptop computer display device, an HMD display device, a smart television display device, and a smartphone display device.

[0099] The HHC 104 includes a left handle 602 and a right handle 604. The HHC 104 further includes a directional pad 606 including directional buttons such as an up button, a down button, a right button, and a left button. The HHC 104 also includes an X button, an O button, a triangle button, and a square button. The HHC 104 has a left joystick and a right joystick. The HHC 104 has an L1 button and an R1 button. Each of the buttons on the HHC 104 is an example of a component of the HHC 104. Additionally, each of the left handle 602 and the right handle 604 is an example of a component of the HHC 104. Additionally, each of the joysticks on the HHC 104 is an example of a component of the HHC 104. Each of the components on the HHC 104 is an example of a region of the HHC 104.

[0100] The HHC 104 further includes a processor coupled to each component of the HHC 104 via a respective driver and a respective motor. For example, the processor of the HHC 104 is coupled to the left handle 602 via a first driver and a first motor, and is coupled to the right handle 604 via a second driver and a second motor. In this example, the processor of the HHC 104 is coupled to the X button via a third driver and a third motor, and is coupled to the O button via a fourth driver and a fourth motor. Furthermore, in this example, the processor of the HHC 104 is coupled to the L1 button via a fifth driver and a fifth motor, and is coupled to the R1 button via a sixth driver and a sixth motor. An example of a driver includes one or more transistors coupled to each other. An example of a motor includes an electric motor, such as a vibration motor.

[0101] The processor of the HHC 104 receives haptic feedback data 506 (FIG. 5) from the game system 502 (FIG. 5). The haptic feedback data 506 is received by the processor of the HHC 104 before the user 102 attempts to interact with the game context 610. The haptic feedback data 506 instructs the processor of the HHC 104 to vibrate the left handle 602, instructing the user 102 to move the left handle 602 to a lower level than the right handle 604. Upon receiving the haptic feedback data 506 instructing the user 102 to move the left handle 602, the processor of the HHC 104 sends a control signal to the first driver. Upon receiving the control signal, the first driver generates a drive signal and sends the drive signal to the first motor. Upon receiving the drive signal, the first motor located in the area of ​​the left handle 602 is activated to vibrate the left handle 602. For example, the first motor is surrounded by the left handle 602. For example, the first motor is located in a compartment housed in the left handle 602 of the HHC 602. When the user 102 moves the left handle to a lower level than the right handle 604, the virtual character 612 is controlled by the user 102 to move left to prevent the virtual character 612 from being shot by the virtual character 614 of the game context 610.

[0102] Similarly, haptic feedback data 506 is received by HHC 104 before user 102 attempts to interact with game context 616. Haptic feedback data 506 instructs a processor of HHC 104 to vibrate the X button to indicate, e.g., suggest, user 102 to select, e.g., press, the X button. Selection of the X button helps user 102 advance game context 616. For example, selection of the X button increases the number of virtual points earned through user account 1. As another example, selection of the X button helps virtual character 612 stay alive in game context 616, allowing virtual character 616 to advance game context 618. Upon receiving haptic feedback data 506 indicating selection of the X button, the processor of HHC 104 sends a control signal to the fourth driver. Upon receiving the control signal, the fourth driver generates a drive signal and sends the drive signal to the fourth motor. Upon receiving the drive signal, the fourth motor coupled to the X button is actuated to vibrate the X button. When the user 102 selects the X button, the virtual character 612 is controlled by the user 102 to jump to prevent the virtual character 612 from being shot by the virtual character 614 of the game context 616 .

[0103] Also, the haptic feedback data 506 is received by the HHC 104 before the user 102 attempts to interact with the game context 618. The haptic feedback data 506 instructs the processor of the HHC 104 to vibrate the L1 button to indicate, e.g., suggest, the user 102 to select, e.g., press, the L1 button. Upon receiving the haptic feedback data 506 indicating the selection of the L1 button, the processor of the HHC 104 sends a control signal to the sixth driver. Upon receiving the control signal, the sixth driver generates a drive signal and sends the drive signal to the sixth motor. Upon receiving the drive signal, the sixth motor coupled to the L1 button is activated to vibrate the L1 button. When the user 102 selects the L1 button, the virtual character 612 is controlled by the user 102 to duck to prevent the virtual character 612 from being shot by the virtual character 614 of the game context 618.

[0104] It should be noted that state data generated from a current game context, such as one of game contexts 610, 616, and 618, user interactions during the current game context, and performance metrics generated based on user interactions with the current game context become part of state data 418 (FIG. 4) to dynamically update, such as constantly or continuously, profile model 416. For example, metadata processor 402 analyzes state data 418 to distinguish game contexts 610, 616, and 618 from user interactions with game contexts 610, 616, and 618, and from performance metrics achieved by the user interactions. Game contexts 610, 616, and 618, user interactions with the game contexts, and performance metrics achieved by the user interactions are then labeled by labelers 404-408 and then classified by classifiers 410-414 to provide classifications to profile model 416 (FIG. 4). The profile model 416 generates additional predictive indices to add to or update the predictive indices 426 based on the classification and one or more of the labels.

[0105] In one embodiment, based on the haptic feedback data 506, one or more buttons on the HHC 104 are locked or otherwise rendered inoperable.

[0106] In one embodiment, a button on the HHC 104 is pressed, etc., moved by a processor in the HHC 104 via drivers and motors based on the haptic feedback data 506. The button is moved to be pressed from the perspective of the user 102.

[0107] In one embodiment, the HMD is controlled in the same manner as the HHC 104 based on the haptic feedback data 506. For example, a particular area may be vibrated, such as vibrating the right side of the HMD, or vibrating the left side of the HMD, or vibrating the top side of the HMD, or vibrating the bottom side of the HMD, based on the haptic feedback data 506. In this example, the vibration of one of the four sides instructs the user 102 to look in the direction of one of the four sides to interact with the game context displayed on the HMD.

[0108] In an embodiment, the feedback data is displayed on a display device to provide assistance to the user 102 with regard to playing the game.

[0109] In one embodiment, the feedback data is displayed on a display device to provide a sliding scale of help or button presses based on settings or input provided by the user 102 .

[0110] In an embodiment, one or more buttons on the HHC 104 or HMD are controlled based on the feedback data and include lights that indicate where the user 102 should move or where the user 102 should focus.

[0111] In embodiments, the embodiments described herein apply to one or more games, however, the embodiments apply to multimedia contexts of one or more interactive spaces, such as the Metaverse, as well.

[0112] FIG. 7 illustrates components of an exemplary device 700 that can be used to implement aspects of various embodiments of the present disclosure. The block diagram illustrates device 700, which can incorporate or be a personal computer, video game console, personal digital assistant, server, or other digital device suitable for implementing embodiments of the present disclosure. Device 700 includes a central processing unit (CPU) 702 for executing software applications and optionally an operating system. CPU 702 includes one or more homogeneous or heterogeneous processing cores. For example, CPU 702 is one or more general-purpose microprocessors having one or more processing cores. Further embodiments can be implemented using one or more CPUs with a microprocessor architecture that is particularly adapted for highly parallel and computationally intensive applications, such as interpreting queries, identifying contextually relevant resources, and immediately implementing and rendering contextually relevant resources within a video game. Device 700 can be one of many servers that are localized to a player playing a game segment (e.g., a game console) or that are remote from the player (e.g., a back-end server processor), or that use virtualization in a game cloud system for remote streaming of game play to clients.

[0113] Memory 704 stores applications and data used by CPU 702. Storage 706 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, compact disc ROM (CD-ROM), digital versatile disc ROM (DVD-ROM), Blu-ray, high definition DVD (HD-DVD), or other optical storage devices, as well as signal transmission and storage media. User input devices 708 communicate user input from one or more users to device 700. Examples of user input devices 708 include a keyboard, mouse, joystick, touchpad, touch screen, still or video recorder / camera, gesture-recognizing tracking device, and / or microphone. Network interface 714 enables device 700 to communicate with other computer systems over an electronic communications network, which may include wired or wireless communications over local area networks and wide area networks such as the Internet. The audio processor 712 is adapted to generate analog or digital audio output from instructions and / or data provided by the CPU 702, memory 704, and / or data storage 706. The components of the device 700 including the CPU 702, memory 704, data storage 706, user input device 708, network interface 710, and audio processor 712 are connected via a data bus 722.

[0114] A graphics subsystem 720 is further coupled to a data bus 722 and the components of the device 700. The graphics subsystem 720 includes a graphics processing unit (GPU) 716 and a graphics memory 718. The graphics memory 718 includes a display memory (e.g., a frame buffer) used to store pixel data for each pixel of an output image. The graphics memory 718 may be integrated into the same device as the GPU 716, may be coupled as a separate device from the GPU 716, and / or may be implemented within the memory 704. The pixel data may be provided directly to the graphics memory 718 from the CPU 702. Alternatively, the CPU 702 provides data and / or instructions defining a desired output image to the GPU 716, which generates therefrom the pixel data for one or more output images. The data and / or instructions defining the desired output image may be stored in the memory 704 and / or the graphics memory 718. In one embodiment, GPU 716 includes three-dimensional (3D) rendering capabilities that generate pixel data for output images from instructions and data that define the geometry, lighting, shading, texturing, motion, and / or camera parameters for a scene. GPU 716 may further include one or more programmable execution units capable of executing shader programs.

[0115] Graphics subsystem 714 periodically outputs pixel data of an image from graphics memory 718 for display on display device 710. Display device 710 can be any device capable of displaying visual information in response to signals from device 700, including a cathode ray tube (CRT) display, a liquid crystal display (LCD), a plasma display, and an organic light emitting diode (OLED) display. Device 700 can provide analog or digital signals to display device 710, for example.

[0116] It should be noted that access services distributed over a wide geography, such as providing access to games in the current embodiment, often use cloud computing. Cloud computing is a computing paradigm in which dynamically scalable, often virtualized resources are 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 categorized 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 video games, online, accessed through a web browser, but 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 that hides a complex infrastructure.

[0117] A game server may be used in some embodiments to perform the operation of a persistent information platform for video game players. Most video games played on the Internet operate through a connection to a game server. Typically, the game uses a dedicated server application that collects data from the player and distributes the collected data to other players. In other embodiments, the video game may be executed by a distributed game engine. In these embodiments, the distributed game engine may run on multiple processing entities (PEs), such that each PE executes a functional segment of the given game engine on which the video game is executed. Each processing entity is viewed by the game engine as simply a computational node. A game engine typically performs a functionally diverse set of operations to execute a video game application along with additional services experienced by the user. For example, the game engine implements game logic and performs game calculations, physics, geometry transformations, rendering, lighting, shading, audio, and additional in-game or game-related services. The additional services may include, for example, messaging, social utilities, audio communication, game play playback functions, help functions, and the like. The game engine may run on an operating system virtualized by a hypervisor on a particular server, but in other embodiments the game engine itself may be distributed across multiple processing entities, each of which may reside on a different server unit in a data center.

[0118] According to this embodiment, each processing entity for the execution of operations 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 transformation, since it will be performing a lot of relatively simple mathematical operations (e.g., matrix transformations), that particular game engine segment may be provisioned with a virtual machine associated with a GPU. Other game engine segments, requiring fewer but more complex operations, may be provisioned with processing entities associated with one or more higher-powered CPUs.

[0119] By distributing the game engine, the game engine has elastic computational characteristics that are not bound by the capabilities of a physical server unit. Instead, the game engine is provisioned with more or fewer computation nodes as needed to meet the demands of the video game. From the perspective of the video game and the video game player, a game engine that is distributed across multiple computation nodes is indistinguishable from a non-distributed game engine running on a single processing entity, since a game engine manager or supervisor distributes the workload and seamlessly integrates the results to provide the video game output component to the end user.

[0120] A user accesses a remote service using a client device, which includes at least a CPU, a display, and an input / output (I / O) interface. The client device can be a personal computer (PC), a mobile phone, a netbook, a personal digital assistant (PDA), etc. In one embodiment, a network running on the game server recognizes the type of device used by the client and adjusts the communication method to employ. In another case, the client device accesses an application on the game server over the Internet using a standard communication method such as HTML. It should be understood that a given video game or game application may be developed for a particular platform and a particular associated controller device. However, when making such games available through a game cloud system as presented herein, users may access the video game with different controller devices. For example, a game may have been developed for a game console and its associated controller, but a user may access a cloud-based version of the game from a personal computer utilizing a keyboard and mouse. In such a scenario, the input parameter configuration may define a mapping from inputs that can be generated by the user's available controller device (in this case, a keyboard and mouse) to inputs that are acceptable for execution of the video game.

[0121] In another example, a user may access the cloud gaming system via a tablet computing device, a touchscreen smartphone, or other touchscreen driven device. In this case, the client device and the controller device are integrated together in the same device, and input is provided by detected touchscreen input / gestures. For such devices, the input parameter configuration may define a particular touchscreen input that corresponds to game input for the video game. For example, a button, a directional pad, or other type of input element may be displayed or overlaid during the execution of the video game to indicate locations on the touchscreen that the user may touch to generate game input. Gestures such as swipes in a particular orientation, or particular touch motions may also be detected as game input. In one embodiment, to familiarize the user with control operations on the touchscreen, a tutorial may be provided to the user showing how to input gameplay via the touchscreen, for example, before beginning gameplay of the video game.

[0122] In some embodiments, the client device serves as a connection point for 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 may then process these inputs and then transmit the input data to the cloud gaming server over a network (e.g., a network accessed via a local network device such as a router). However, in other embodiments, the controller itself may be a networked device that has the ability to communicate inputs directly to the cloud gaming server over a network, without the need for such inputs to be communicated through the client device first. For example, the controller may connect to a local network device (such as the aforementioned router) to send and receive data from the cloud gaming server. Thus, input latency may be reduced by allowing the controller to send inputs directly over the network to the cloud gaming server, bypassing the client device, 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.

[0123] In one embodiment, the networked controller and client devices can be configured to transmit certain types of inputs directly from the controller to the cloud gaming server and other types of inputs via the client device. For example, inputs that are not dependent on any additional hardware or processing, apart from the controller itself, can be transmitted directly from the controller to the cloud gaming server over the network, bypassing the client device. Such inputs can include button inputs, joystick inputs, embedded motion detection inputs (e.g., accelerometers, magnetometers, gyroscopes), and the like. However, inputs that utilize additional hardware or require processing by the client device can be transmitted by the client device to the cloud gaming server. These can include video or audio captured from the gaming environment that can be processed by the client device before transmission to the cloud gaming server. In addition, inputs from the controller's motion detection hardware can be processed by the client device in conjunction with the captured video to detect the position and movement of the controller, which is then communicated by the client device to the cloud gaming server. It should be understood that the controller device according to various embodiments can also receive data (e.g., feedback data) from the client device or directly from the cloud gaming server.

[0124] In one embodiment, various examples of the technology can be implemented using a virtual environment via an HMD. An HMD may also be referred to as a virtual reality (VR) headset. As used herein, the term "virtual reality" (VR) generally refers to user interaction with a virtual space / environment, including viewing the virtual space through an HMD (or VR headset) in a way that responds in real time to the (user-controlled) movements of the HMD to provide the user with the sensation of being in the virtual space or metaverse. For example, a user can see a three-dimensional (3D) view of the virtual space when facing a given direction, and when the user turns to the side, thereby similarly changing the orientation of the HMD, a view of that side of the virtual space is rendered on the HMD. The HMD can be worn in a manner similar to glasses, goggles, or helmets, and is configured to display video games or other metaverse content to the user. The HMD can provide a display mechanism in close proximity to the user's eyes, resulting in a highly immersive experience for the user. Thus, an HMD 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.

[0125] In one embodiment, the HMD can 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) can include information related to the user's gaze direction and particular virtual objects and content items in the VR scene that the user is focusing on or is interested in interacting with. Thus, based on the user's gaze direction, the system can detect particular virtual objects and content items, e.g., game characters, game objects, game items, etc., that may be potential focal points for the user if the user is interested in interacting and engaging with them.

[0126] In some embodiments, the HMD may include an outward-facing camera(s) 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 the real-world space. In some embodiments, images captured by the outward-facing cameras may be analyzed to determine the position / orientation of the real-world objects relative to the HMD. With the known position / orientation of the HMD, the real-world objects and inertial sensor data from the user's gestures and movements may be continuously monitored and tracked while the user interacts with the VR scene. For example, while interacting with an in-game scene, the user may perform various gestures, such as pointing at or walking toward a particular content item in the scene. In one embodiment, the gestures may be tracked and processed by the system to generate a prediction of an interaction with a particular content item in the game scene. In some embodiments, machine learning may be used to facilitate or assist in the above predictions.

[0127] Various types of single-handed and two-handed controllers may be used during use of the HMD. In some implementations, the controller itself may be tracked by tracking lights included in the controller or by tracking shape, sensor, and inertial data associated with the controller. These various controllers, or even simple hand gestures performed and captured by one or more cameras, may be used to interface, control, manipulate, interact with, and participate in a virtual reality environment or metaverse rendered on the HMD. In some cases, the HMD may be wirelessly connected to a cloud computing and gaming system via a network. In one embodiment, the cloud computing and gaming system maintains and executes the video game being played by the user. In some embodiments, the cloud computing and gaming system is configured to receive inputs from the HMD and interface objects via the network. The cloud computing and gaming system is configured to process the inputs to affect the game state of the running video game. Outputs, such as video data, audio data, and haptic feedback data from the running video game are sent to the HMD and interface objects. In other implementations, the HMD can communicate with the cloud computing and gaming system wirelessly via alternative mechanisms or channels, such as a cellular network.

[0128] Additionally, although embodiments of the present disclosure may be described with respect to a head-mounted display, it will be understood that in other embodiments, a non-head-mounted display may be used instead, including, but not limited to, a portable device screen (e.g., tablet, smartphone, laptop, etc.) or any other type of display that may be configured to render video and / or provide a display of an interactive scene or virtual environment in accordance with the present embodiments. It will be appreciated that the various embodiments defined herein may be combined or assembled into specific implementations using the various features disclosed herein. Thus, the examples provided are only some of the possible examples and are not intended to limit the various embodiments that may be combined to define many more embodiments by combining various elements. In some examples, an embodiment may include fewer elements without departing from the spirit of the disclosed or equivalent embodiments.

[0129] Embodiments of the present disclosure may be practiced with a variety of computer system configurations including handheld devices, microprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, etc. Embodiments of the present disclosure may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a wire-based or wireless network.

[0130] Although the operations of the method have been described in a particular order, it should be understood that other housekeeping operations may be performed between operations, or operations may be coordinated to occur at slightly different times, or operations may be distributed within the system to allow processing operations to occur at various intervals relative to processing, so long as the processing of telemetry and game state data to generate modified game state is performed in the desired manner.

[0131] One or more embodiments may also be fabricated as computer readable code on a computer readable medium. The computer readable medium may be any data storage device that can store data. The data may then be read by a computer system. Examples of computer readable media include hard drives, network attached storage (NAS), read only memory, random access memory, CD-ROM, CD-R, CD-RW, magnetic tape, and other optical and non-optical data storage devices. The computer readable medium may include computer readable tangible media distributed across network connected computer systems such that the computer readable code is stored and executed in a distributed fashion.

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

[0133] It should be noted that in various embodiments, one or more features of some of the embodiments described herein may be combined with one or more features of one or more of the remaining embodiments described herein.

[0134] Although the foregoing embodiments have been described in some detail for clarity of understanding, it will be apparent that certain changes and modifications can be practiced within the scope of the appended claims. Thus, the present embodiments should be considered as illustrative and not restrictive, and the present embodiments should not be limited to the details set forth herein, but may be modified within the scope of the appended claims and their equivalents.

Claims

1. 1. A method for providing adaptive gaming assistance during game play, comprising: providing access to play a game of the gaming session by a user via a game controller; accessing a profile model of the user during the game session, the profile model being a machine learning model used to predict gaming skill from a selected game context within a game; detecting an in-game context during the game session in which the profile model predicts that the user lacks gaming skills to progress in the game; activating a haptic cue to the game controller, the haptic cue being a vibration to a particular area of ​​the game controller, the vibration to the particular area suggesting a type of input to be made using the game controller to advance the game; A method comprising:

2. The method of claim 1 , wherein the profile model is dynamically generated based on one or more interactive game sessions by the user, and the profile model processes relationships between interactions by the user in the selected game context and performance metrics for the interactions.

3. 3. The method of claim 2, wherein each of the selected game contexts includes a plurality of activities; collecting state data on the fly regarding the selected game context; analyzing the state data to distinguish the selected game context during the one or more interactive game sessions, the interactions by the user with the selected game context, and the performance metrics based on the interactions by the user with the selected game context; The method further comprising:

4. labeling the selected game context to provide an identification to the selected game context; labeling the interaction by the user to provide an identification to the interaction; labeling the performance metric to provide an identification to the performance metric; The method of claim 3 further comprising:

5. classifying the selected game contexts to determine a level for each of the selected game contexts; categorizing the interactions by the user with the selected game context to determine a respective level of the interactions; categorizing the performance metrics to determine a level for each of the performance metrics; Further comprising: The method of claim 4 , wherein the relationship comprises a correspondence between the level of the selected game context, the level of the interaction, and the level of the performance metric.

6. 6. The method of claim 5, wherein detecting the context comprises determining a level of similarity between the context in a game session and one or more of the selected game contexts; determining a predicted outcome that the user will be unable to achieve a performance metric during the context based on the correspondence; The method further comprising:

7. Activating the tactile cue comprises: if it is determined that the user is not able to achieve the predicted outcome during the context, transmitting haptic feedback data to the game controller to provide the adaptive gaming assistance to the user during the context of the game session; The method of claim 6, comprising:

8. The method of claim 1 , wherein the particular area of ​​the controller is a left handle of the game controller, or a right handle of the game controller, or a button of the game controller, or a combination thereof.

9. 1. A method for providing adaptive gaming assistance during game play, comprising: providing access to play a game of the gaming session by a user via a game controller; accessing a profile model of the user during the game session, the profile model being dynamically generated based on one or more interactive game sessions by the user, the profile model processing relationships between interactions by the user in selected game contexts and performance metrics of the interactions; detecting a context during the game session in which the profile model predicts that the user will need assistance to progress in the game; activating a haptic cue to the game controller, the haptic cue being a vibration to a particular area of ​​the controller, the vibration to the particular area suggesting a type of input to be made using the game controller to advance the game; A method comprising:

10. each of the selected game contexts includes a plurality of activities; collecting state data on the fly regarding the selected game context; analyzing the state data to distinguish the selected game context during the one or more interactive game sessions, the interactions by the user with the selected game context, and the performance metrics based on the interactions by the user with the selected game context; The method of claim 9 further comprising:

11. labeling the selected game context to provide an identification to the selected game context; labeling the interaction by the user to provide an identification to the selected game context; labeling the performance metric to provide an identification to the performance metric; The method of claim 10 further comprising:

12. classifying the selected game contexts to determine a level for each of the selected game contexts; categorizing the interactions by the user with the selected game context to determine a respective level of the interactions; categorizing the performance metrics to determine a level for each of the performance metrics; Further comprising: The method of claim 11 , wherein the relationship comprises a correspondence between the level of the selected game context, the level of the interaction, and the level of the performance metric.

13. detecting the context includes determining a level of similarity between the context in a game session and one or more of the selected game contexts; determining a predicted outcome that the user will be unable to achieve a performance metric during the context based on the correspondence; The method of claim 12 further comprising:

14. Activating the tactile cue comprises: if it is determined that the user is unable to achieve the predicted outcome during the context of the game session, transmitting haptic feedback data to the controller to provide the adaptive gaming assistance to the user during the context of the game session; The method of claim 13, comprising:

15. The method of claim 9 , wherein the particular area of ​​the controller is a left handle of the game controller, or a right handle of the game controller, or a button of the game controller, or a combination thereof.

16. 1. A computer system for providing adaptive gaming assistance during game play, comprising:

1. A processor comprising: providing access to play a game of the gaming session by a user via a game controller; accessing a profile model of the user during the game session, the profile model being a machine learning model used to predict gaming skill from a selected context within a game; detecting an in-game context during the game session in which the profile model predicts that the user lacks gaming skills to progress in the game; activating a haptic cue to the game controller, the haptic cue being a vibration to a particular area of ​​the game controller, the vibration to the particular area suggesting a type of input to be made using the game controller to advance the game; The processor is configured to: a memory device coupled to the processor; A computer system comprising:

17. 17. The computer system of claim 16, wherein the profile model is dynamically generated based on one or more interactive game sessions by the user, the profile model processing relationships between interactions by the user in a selected game context and performance metrics for the interactions.

18. Each of the selected game contexts includes a plurality of activities, and the processor: collecting state data on the fly regarding the selected game context; analyzing the state data to identify the selected game context during the one or more interactive game sessions, the interactions by the user with the selected game context, and the performance metrics based on the interactions by the user with the selected game context; 20. The computer system of claim 17 configured to:

19. The processor, labeling the selected game context based on the identification of the selected game context; labeling the interaction by the user with the selected game context; labeling said performance metrics; classifying the selected game contexts to determine a level for each of the selected game contexts; categorizing the interactions by the user with the selected game context to determine a respective level of the interactions; categorizing the performance metrics to determine a level for each of the performance metrics; configured to: The computer system of claim 18 , wherein the relationship comprises a correspondence between the level of the selected game context, the level of the interaction, and the level of the performance metric.

20. 20. The computer system of claim 19, wherein to detect the context, the processor is configured to determine a level of similarity between the context during the game session and one or more of the selected game contexts, and the processor is configured to determine a predicted outcome that the user will be unable to achieve a performance metric during the context based on the correspondence.

21. 1. A method for providing adaptive gaming assistance during game play, comprising: providing access to play a game of the gaming session by a user via a game controller; accessing a profile model of the user during the game session, the profile model being dynamically generated based on one or more interactive game sessions by the user, the profile model processing relationships between interactions by the user in selected game contexts and performance metrics of the interactions; detecting a context during the game session in which the profile model predicts that the user will need assistance to progress in the game; modifying the context to provide the assistance to the user to progress in the game; A method comprising:

22. The method of claim 21 , wherein the context is altered by changing a movement of a virtual object within the context or by removing an activity from the context.

Citation Information

Patent Citations

  • Video game device, its control method, program for video game, and computer-readable storage medium recording this program

    JP2002200341A

  • Method and apparatus for predicting game difficulty by using deep-learning based game play server

    US20210245056A1

  • Method of haptic responses and interacting

    US20210402292A1