Adaptive difficulty calibration for skill-based activity in virtual environments
By analyzing user game performance data and automatically adjusting the game difficulty, the problem of the fixed difficulty level in the existing technology cannot be dynamically adjusted, and the user experience and game participation are improved.
Patent Information
- Application Number
- CN202380038891.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-05-31
- Filing Date
- 2023-05-02
- Publication Date
- 2024-12-17
AI Technical Summary
The fixed difficulty level of existing computer games cannot be adjusted dynamically, resulting in users not being able to obtain corresponding challenges when their skill levels change, resulting in poor user experience, which may cause players to lose interest and stop the game.
By analyzing the user's game performance data, comparing the user's performance level with the expected level, automatically updating the game difficulty parameters until the two correspond, and repeating this process as the user's skills change.
Dynamically adjust the difficulty of the game to ensure that users always face the right challenges in the game, thereby improving user experience and satisfaction and extending gamers' participation time.
Smart Images

Figure CN119156244A_ABST
Abstract
Description
Background of the Invention 1. Technical field:
[0002] The present disclosure generally relates to adjusting the difficulty level of a game based on the skills associated with a user. More specifically, the present disclosure relates to improving user satisfaction by calibrating an interactive session for a specific user at his or her specific skills.
[0003] 2. Description of related technologies:
[0004] In recent years, the field of computer games has developed to include many different types of games and many different types of gaming devices.Usually, computer games have different fixed difficulty levels.These difficulty levels may include simple level, medium level and difficult level, wherein each corresponding level provides a larger challenge usually associated with the theme of the game to the user.For example, for first-person shooter games, the user's character usually confronts the character moving in the battle space, because the user attempts to shoot each corresponding opponent character to achieve the goal of the game.Here, the lower difficulty level may include fewer opponent characters moving at a slower speed, and the higher level may include more opponent characters moving at a faster speed.Compared to the opponent characters associated with the lower level of the game, the higher level of the game may also include the opponent character that is more resistant to damage while operating more skillfully.
[0005] When the game level transitions from one level to another (e.g., from a medium level to a high level), the challenges provided to the user may cause a user who performs very well at a medium difficulty level to perform very poorly at a high difficulty level. Since today's games have fixed difficulty levels, a user who enjoys playing games at one level may not enjoy playing games at a higher difficulty level as much. In some cases, a user may think that one difficulty level is too easy for the user, and the user may think that the next level is too difficult. In addition, a user may be highly skilled and experienced in one type of challenge, but lack skills and experience in another type of challenge, and both situations may exist in the same game or session. Therefore, a high difficulty may result in an inability to compete due to lack of skill, while a low difficulty does not provide much challenge. In such a case, the user may simply stop playing the game due to boredom and frustration.
[0006] What is needed is a new approach that allows the difficulty of an interactive session to be dynamically adjusted based on the user's current ability and to change as the user's ability changes over time. Summary of the invention
[0007] The presently claimed invention relates to a method, a non-transitory computer-readable storage medium, or a device that performs functions consistent with the present disclosure to help users improve their performance when playing games. In a first embodiment, a method consistent with the present disclosure may include the following steps: identifying a user performance level based on an analysis of collected game performance data; comparing the user performance level to a user desired level; identifying that the user performance level does not correspond to the user desired level based on the comparison; and selecting a game difficulty parameter to be updated based on its association with changing the user performance level. The game difficulty parameter may then be updated, after which the user continues to play the game. The method may also include identifying that the updated user performance level corresponds to the user desired level based on an analysis of additional game performance data, wherein the additional game performance data is collected after the game difficulty parameter is updated.
[0008] In a second embodiment, the presently claimed method may be implemented as a non-transitory computer-readable storage medium, wherein a processor executes instructions from a memory. Here, the method may also include the following steps: identifying a user performance level based on an analysis of the collected game performance data; comparing the user performance level to a user desired level; identifying that the user performance level does not correspond to the user desired level based on the comparison; and selecting a game difficulty parameter to be updated based on its association with changing the user performance level. The game difficulty parameter may then be updated, after which the user continues to play the game. The method may also include identifying that the updated user performance level corresponds to the user desired level based on an analysis of additional game performance data, wherein the additional game performance data is collected after the game difficulty parameter is updated. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Figure 1 A network environment is shown in which a system for computer gaming may be implemented.
[0010] Figure 2 An exemplary unified data system (UDS) that may be used to provide data to a system for updating functionality of a gaming device is shown.
[0011] Figure 3 Shown is a series of steps that may be performed when maintaining or updating parameters related to game difficulty based on how a user performs at playing the game.
[0012] Figure 4 Shown is a series of steps that may be performed when one or more parameters associated with game performance may be updated based on how a particular user performs during game play.
[0013] Figure 5 is a block diagram of an exemplary electronic entertainment system that may be used in embodiments of the present invention. DETAILED DESCRIPTION
[0014] When making a determination as to whether the difficulty of a game should be changed, the method of the present disclosure can collect data when a user plays one or more different types of games. The collected data can be evaluated to identify whether the user's game performance level corresponds to the desired performance level. When the user's game performance level does not correspond to the desired performance level, the parameters that change the difficulty of the game can be automatically changed. Parameters related to movement speed, delay or hesitation, character strength, number of competitors, or other metrics can be gradually changed until the current user performance level corresponds to the desired level of the specific user currently playing the game. At this point, the user's desired level can be changed, and the process can be repeated as the user's skills develop over time.
[0015] Figure 1 A network environment in which a system for computer gaming may be implemented is shown. Network environment 100 may include one or more interactive content servers 110 providing streaming content (e.g., interactive videos, podcasts, etc.), one or more platform servers 120, one or more user devices 130, and one or more databases 140.
[0016] The interactive content server 110 may maintain, stream, and host interactive media that may be streamed on a user device 130 via a communication network. Such an interactive content server 110 may be implemented in the cloud (e.g., one or more cloud servers). Each media may include one or more sets of object data that may be used by a user to participate (e.g., watch an activity or interact with an activity). Data about objects shown in the media may be stored by the media streaming server 110, the platform server 120, and / or the user device 130 in an object file 216 ("object file"), such as storing information about the objects shown in the media. Figure 2 A and Figure 3 Discuss in detail.
[0017] The platform server 120 may be responsible for communicating with different interactive content servers 110, databases 140, and user devices 130. Such platform servers 120 may be implemented on one or more cloud servers. The streaming server 110 may communicate with multiple platform servers 120, but the media streaming server 110 may be implemented on one or more platform servers 120. The platform server 120 may also perform instructions such as receiving user requests from users to stream streaming media (i.e., games, activities, videos, podcasts, user-generated content ("UGC"), publisher content, etc.) and computer games. The platform server 120 may also perform instructions such as streaming streaming content titles. Such streaming media may have at least one object set associated with at least a portion of the streaming media. Each set of object data may have data about an object displayed during at least a portion of the streaming media (e.g., activity information, zone information, actor information, mechanism information, game media information, etc.).
[0018] The streaming media and the associated at least one set of object data may be provided through an application programming interface (API) 160, which allows various types of media streaming servers 110 to communicate with different platform servers 120 and different user devices 130. The API 160 may be specific to a particular computer programming language, operating system, protocol, etc. of the media streaming server 110 providing the streaming content title, the platform server 120 providing the media and the associated at least one set of object data, and the user device 130 receiving the media and the associated at least one set of object data. In a network environment 100 that includes a plurality of different types of media streaming servers 110 (or platform servers 120 or user devices 130), a corresponding number of APIs 160 may likewise exist.
[0019] The user device 130 may include a variety of different types of computing devices. For example, the user device 130 may include any number of different game consoles, mobile devices, laptops, and desktop computers. In another example, the user device 130 may be implemented in the cloud (e.g., one or more cloud servers). Such user devices 130 may also be configured to access data from other storage media, such as, but not limited to, a memory card or disk drive that may be appropriate in the case of a downloaded service. Such devices 130 may include standard hardware computing components, such as, but not limited to, network and media interfaces, non-temporary computer-readable storage devices (memory), and processors for executing instructions that may be stored in memory. These user devices 130 may also be run using a variety of different operating systems (e.g., iOS, Android), applications, or computing languages (e.g., C++, JavaScript). An example of a user device 130 is a computer game console.
[0020] The database 140 may be stored in the platform server 120, the media streaming server 110, the server 218 ( Figure 2 A) on any one of the same server, on different servers, on a single server, across different servers, or on any one of the user devices 130. Such a database 140 may store streaming media and / or a set of associated object data. Such streaming media may depict one or more objects (e.g., activities) in which a user may participate and / or UGC (e.g., screenshots, videos, comments, mashup content, etc.) created by peers, publishers of media content titles, and / or third-party publishers. Such UGC may include metadata for searching such UGC. Such UGC may also include information about media and / or peers. Such peer information may be obtained from data collected during peer interaction with an object of an interactive content title (e.g., video games, interactive books, etc.), and may be "bound" to the UGC and stored with it. Such binding enhances the UGC because the UGC may be deeply linked (e.g., directly launched) to the object, may provide information about the object and / or peer of the UGC, and / or may allow the user to interact with the UGC. One or more user profiles may also be stored in the database 140. Each user profile may include information about the user (eg, the user's progress in an activity and / or media content title, user id, user game character, etc.) and may be associated with media.
[0021] Figure 2 An exemplary universal or unified data system (UDS) that can be used to provide data to a system for updating the functionality of a gaming device is shown. Based on the data provided by the UDS, a gaming server can know which in-game objects, entities, activities, and events a user has participated in, and thus supports analysis and coordination of in-game activities. Each user interaction can be associated with metadata for the type of in-game interaction, the position in the in-game environment, and the time point in the in-game timeline, as well as other players, objects, entities, etc. involved. Therefore, metadata can be tracked for any of the various user interactions that may occur during a gaming session, including associated activities, entities, settings, results, actions, effects, positions, and character statistics. Such data can also be aggregated, applied to a data model, and analyzed. This UDS data model can be used to assign context information to each information portion across games in a unified manner.
[0022] like Figure 2, an exemplary console 228 (e.g., user device 130) and exemplary servers 218 (e.g., streaming server 220, activity feed server 224, user generated content (UGC) server 232, and object server 226) are shown. In one example, console 228 may be implemented on platform server 120, cloud server, or on any of server 218. In an exemplary example, content recorder 202 may be implemented on platform server 120, cloud server, or on any of server 218. Such content recorder 202 receives content (e.g., media) from interactive content title 230 and records the content on content ring buffer 208. Such ring buffer 208 may store multiple content segments (e.g., v1, v2, and v3), the start time of each segment (e.g., V1_START_TS, V2_START_TS, V3_START_TS), and the end time of each segment (e.g., V1_END_TS, V2_END_TS, V3_END_TS). Such segments may be stored by the console 228 as a media file 212 (e.g., MP4, WebM, etc.). Such media files 212 may be uploaded to the streaming server 220 for storage and subsequent streaming or use, but the media files 212 may be stored on any server, cloud server, any console 228, or any user device 130. Such start and end times for each segment may be stored by the console 228 as a content timestamp file 214. Such content timestamp files 214 may also include a streaming ID that matches the streaming ID of the media file 212, thereby associating the content timestamp file 214 to the media file 212. Such content timestamp files 214 may be uploaded and stored to the active feed server 224 and / or the UGC server 232, but the content timestamp files 214 may be stored on any server, cloud server, any console 228, or any user device 130.
[0023] Concurrently with the content recorder 202 receiving and recording content from the interactive content title 230, the object library 204 receives data from the interactive content title 230, and the object recorder 206 tracks the data to determine when an object starts and ends. The object library 204 and the object recorder 206 may be implemented on the platform server 120, the cloud server, or on any of the servers 218. When the object recorder 206 detects the start of an object, the object recorder 206 receives object data (e.g., whether the object is an activity, user interaction with the activity, activity ID, activity start time, activity end time, activity results, activity type, etc.) from the object library 204 and records the activity data on the object ring buffer 210 (e.g., ActivityID1, START_TS; ActivityID2, START_TS; ActivityID3, START_TS). Such activity data recorded on the object ring buffer 210 may be stored in the object file 216. Such object files 216 may also include the activity start time, activity end time, activity ID, activity results, activity type (e.g., competition, quest, mission, etc.), user or peer data related to the activity. For example, object files 216 may store data about items used during the activity. Such object files 216 may be stored on object server 226, but object files 216 may be stored on any server, cloud server, any console 228, or any user device 130.
[0024] Such object data (e.g., object files 216) may be associated with content data (e.g., media files 212 and / or content timestamp files 214). In one example, the UGC server 232 stores the content timestamp file 214 and associates the content timestamp file with the object file 216 based on a match between the streaming ID of the content timestamp file 214 and the corresponding activity ID of the object file 216. In another example, the object server 226 may store the object file 216 and may receive a query for the object file 216 from the UGC server 232. Such a query may be performed by searching for the activity ID of the object file 216 that matches the streaming ID of the content timestamp file 214 transmitted with the query. In another example, the query may be performed by matching the start time and end time of the content timestamp file 214 with the start time and end time of the corresponding object file 216 transmitted with the query for the stored content timestamp file 214. Such object files 216 may also be associated with matching content timestamp files 214 by the UGC server 232, but the association may also be performed by any server, cloud server, any console 228, or any user device 130. In another example, the object files 216 and content timestamp files 214 may be associated by the console 228 during the creation of each file 216, 214.
[0025] Figure 3 A series of steps that may be performed when maintaining or updating parameters related to game difficulty based on how a user performs when playing a game are shown. The user information may uniquely identify the user and may include a username and / or login information. Next, in step 320, the user information is stored as part of a set of user profile information, and then in step 330, data may be collected as the user plays one or more games. Step 330 may also include monitoring and collecting metrics associated with game performance.
[0026] Figure 3Step 340 may include generating and evaluating game performance data. This may include identifying whether the goal of the game currently being played by the user meets a threshold level or a certain predetermined level (that is, the expected user performance level). For example, in a racing game, a metric may be related to the ability of the user to drive a vehicle in the game to prevent other vehicles from overtaking his vehicle. The metric of this racing game may also be related to the percentage of successful overtaking attempts associated with the user. Here, the median performance level may correspond to the user successfully preventing his vehicle from being overtaken by another vehicle in 80% of the time. This median level also corresponds to a 50% overtaking success rate. Such a overtaking success rate may correspond to the user having one successful overtaking of another vehicle in every two overtaking attempts within the game time span. In this case (when the user expectation level is set to this median level), the user should be able to prevent other vehicles from overtaking his vehicle at least 8 times out of 10, and the user should be able to successfully overtake at least half of the vehicles that he attempts to overtake. Otherwise, the current performance level of the user will not correspond to the current user expectation level.
[0027] Determining step 350 may identify whether the difficulty parameters of the game should be changed. This may include identifying whether the user's current user performance level meets or exceeds (i.e., corresponds to) the current user desired level. When determining step 350 identifies that the difficulty parameters should not be changed, program flow may move back to step 330, where additional data is collected and stored. When determining step 350 identifies that the difficulty parameters should be updated, program flow moves to step 360, where one or more difficulty parameters are updated.
[0028] In some cases, it may be necessary to authorize changes to parameters based on user feedback. This may include providing a prompt to the user identifying that the game difficulty may be increased or decreased based on the user's performance when using the current set of game difficulty parameters. The user may then confirm whether an increase or decrease in the game difficulty should be initiated. Alternatively, the user may provide a command to change the difficulty parameter. This may include receiving an impromptu instruction from the user via a user interface to increase or decrease the game difficulty. Here, the user may simply press a button to instruct the game system to update the difficulty level. In yet other cases, the game system difficulty parameters may be automatically updated based on the rules of a machine learning or artificial intelligence program code set.
[0029] When the user's driving does meet the desired level, and possibly when the user agrees, determination step 350 may identify specific difficulty parameters of the game that should be changed in step 360. After step 360, program flow may move back to step 330 where additional data may be collected and stored.
[0030] With respect to the above example, determining step 350 may identify that the difficulty parameter should be updated when the user's driving meets or exceeds an 80% prevented overtaking level and meets or exceeds a 50% successful overtaking level. The difficulty parameter assigned to the user may be in different categories, which may include speed categories, sensitivity categories, proficiency categories, and possibly the number of competitors. Such a speed category metric may be associated with a mobility parameter related to the speed at which the opponent can move in a linear direction, or an agility parameter related to the speed at which the opponent can change direction. The sensitivity category metric may be associated with a reaction time parameter (e.g., reflex reaction time) or a delay parameter (e.g., thinking or concentration time). The proficiency category metric may be associated with an expected parameter, which is related to predicting the next action that the user may take and initiating countermeasures based on the prediction. These proficiency category metrics may also include endurance or strength parameters and possibly toughness parameters. The number of competitors metric may be used to set the number of competitors (e.g., virtual vehicles) that the user confronts in the game.
[0031] Figure 4 Shown is a series of steps that may be performed when one or more parameters associated with game performance may be updated based on how a particular user performs during game play. Figure 4 Beginning at step 410, game performance data is accessed. This data may indicate how well the user performed in the game. Figure 3 As discussed, the game performance level may correspond to the frequency with which the user playing the driving game prevents other vehicles from overtaking the vehicle he is driving and the success rate of the user overtaking other vehicles. In a first-person shooter game, the game performance data may be related to the number of targets hit in multiple shots to the target. Other examples of game performance data may be related to the degree of success with which the user has been destroying the target or the degree of success with which the user has been meeting other game goals. Next, in step 420, the ranking of user skills may be identified. A user of a hand-to-hand shooting game may be good at using a sniper rifle, have medium skills in using an automatic rifle, and have poor skills in hand-to-hand combat. Such skills and related skill levels may be determined based on an evaluation of the game performance data accessed.
[0032] Then you can Figure 4The game parameter data may be accessed in step 430 of . The game parameter data may include the metric categories discussed above, such as metrics for speed categories, sensitivity categories, and proficiency categories. Additionally, the parameter data may include the number of competitors discussed above. Then, a determination step 440 may evaluate the game performance data, skill ranking data, and game parameter data to see whether the current set of difficulty parameter settings should be maintained or changed. When the determination step 440 identifies that the current set of parameter settings should be maintained, the program flow may move back to step 410, where the process is repeated as the user continues to play the game.
[0033] When determination step 440 identifies that the current set of difficulty parameter settings should not be maintained, program flow may move to step 450 where the specific difficulty parameter settings that should be updated are identified and may then be updated. Figure 4 In step 460, these difficulty parameter settings are updated. In some cases, the difficulty parameter settings identified in step 450 may be determined based on the user skill ranking in step 420. For example, when a user playing a first-person shooter game has good skills using a sniper rifle, medium skills using an automatic rifle, and poor skills in hand-to-hand combat, speed, sensitivity, and / or proficiency parameters may be used to slow down the performance metrics associated with the competitor's actions in the game scene using an automatic rifle and engaging in hand-to-hand combat. This may cause the opponent to move slower, be less agile, have a slower, less accurate, or weaker reaction time to stimuli (the user's character's actions or aiming a rifle). Such adjustments will make the user of the game more skilled in playing the game. As the game continues to be played, one or more of these parameters may be changed to gradually increase the capabilities of the opponent the user is fighting against. Here, the opponent may move slightly faster, but still have limited agility and a slower reaction time. In the next update, the opponent may have better agility, but still have a slower reaction time to stimuli. As described above with respect to Figure 3 As mentioned, the difficulty parameters may be updated automatically, updated based on user consent, or updated by user command. After step 460, program flow may move back to step 410, where the game may continue to be played when using an updated set of difficulty parameters.
[0034] In some cases, skills associated with one game may correspond to talents for another game. For example, someone who is skilled at moving to new locations in a first-person shooter game may correspond to someone who runs fast in a racing game. Alternatively, a weakness of a person playing a first-person game may include taking too long to aim accurately, and this weakness may be associated with a tendency for the person to not react quickly when a vehicle attempts to overtake the person's vehicle in a racing game. This means that data collected from one game can be used to help select difficulty parameters to update when the person plays a different game.
[0035] Figure 5 is a block diagram of an exemplary electronic entertainment system 500 . Figure 5 The entertainment system 500 includes a main memory 505, a central processing unit (CPU) 510, a vector unit 58, a graphics processing unit 520, an input / output (I / O) processor 525, an I / O processor memory 530, a controller interface 535, a memory card 540, a universal serial bus (USB) interface 545, and an IEEE interface 550. The entertainment system 500 also includes an operating system read-only memory (OS ROM) 555, a sound processing unit 560, an optical disk control unit 570, and a hard disk drive 565, which are connected to the I / O processor 525 via a bus 575.
[0036] The entertainment system 500 may be an electronic game console. Alternatively, the entertainment system 500 may be implemented as a general purpose computer, a set-top box, a handheld gaming device, a tablet computing device, or a mobile computing device or a mobile phone. The entertainment system may contain more or fewer operating components depending on the particular form factor, purpose, or design.
[0037] Figure 5 The CPU 510, vector unit 58, graphics processing unit 520 and I / O processor 525 communicate via the system bus 585. In addition, Figure 5 The CPU 510 communicates with the main memory 505 via a dedicated bus 580 , while the vector unit 58 and the graphics processing unit 520 may communicate via a dedicated bus 590 . Figure 5 The CPU 510 executes programs stored in the OS ROM 555 and the main memory 505 . Figure 5 The main memory 505 may contain pre-stored programs and programs transferred from a CD-ROM, DVD-ROM or other optical disk (not shown) via the I / O processor 525 using the optical disk control unit 570. Figure 5 The I / O processor 525 may also allow for the introduction of content transmitted via wireless or other communication networks (e.g., 4$, LTE, 3G, etc.). Figure 5 The I / O processor 525 mainly controls data exchange between various devices of the entertainment system 500 (including the CPU 510, the vector unit 58, the graphics processing unit 520 and the controller interface 535).
[0038] Figure 5 The graphics processing unit 520 executes graphics instructions received from the CPU 510 and the vector unit 58 to generate images for display on a display device (not shown). For example, Figure 5The vector unit 58 may transform the object from three-dimensional coordinates to two-dimensional coordinates and send the two-dimensional coordinates to the graphics processing unit 520. In addition, the sound processing unit 560 executes instructions to generate sound signals, which are output to an audio device, such as a speaker (not shown). Other devices may be connected to the entertainment system 500 via the USB interface 545 and the IEEE 1394 interface 550 (such as a wireless transceiver), which may also be embedded in the system 500 or as part of some other component (such as a processor).
[0039] Figure 5 A user of the entertainment system 500 provides instructions to the CPU 510 via the controller interface 535. For example, the user may instruct the CPU 510 to store certain game information on the memory card 540 or other non-transitory computer-readable storage medium, or instruct a character in the game to perform a certain specified action.
[0040] The present invention may be implemented in an application program that can be operated by a variety of end-user devices. For example, an end-user device may be a personal computer, a home entertainment system (e.g., a Sony or Sony or Sony ), portable gaming devices (e.g., Sony or Sony ) or a different inferior manufacturer's home entertainment system. It is fully contemplated that the present method described herein can be operated on a variety of devices. The present invention can also be implemented in a cross-title neutral situation, where embodiments of the present system can be utilized across a variety of titles from a variety of publishers.
[0041] The present invention may be implemented in applications that may be operated using a variety of devices. Non-transitory computer-readable storage media refers to any one or more media that participate in providing instructions to a central processing unit (CPU) for execution. Such media may take many forms, including but not limited to non-volatile and volatile media, such as optical or magnetic disks and dynamic memory, respectively. Common forms of non-transitory computer-readable media include, for example, floppy disks, flexible disks, hard disks, magnetic tapes, any other magnetic media, CD-ROM disks, digital video disks (DVDs), any other optical media, RAM, PROM, EPROM, FLASHEPROM, and any other memory chip or cassette.
[0042] Various forms of transmission media may be involved in transmitting one or more sequences of one or more instructions to the CPU for execution. The bus transmits the data to the system RAM, from which the CPU retrieves and executes the instructions. The instructions received by the system RAM may optionally be stored on a fixed disk before or after execution by the CPU. Various forms of storage devices and the necessary network interfaces and network topologies may likewise be implemented to achieve the same purpose.
[0043] The foregoing detailed description of the technology has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the technology to the precise form disclosed. In view of the above teachings, many modifications and variations are possible. The described embodiments are selected in order to best explain the principles of the technology, its practical application, and to enable others skilled in the art to utilize the technology in various embodiments and make various modifications suitable for the intended specific use. It is intended that the scope of the technology be defined by the claims.
Claims
1. A method for cross-skill adaptive difficulty, the method comprising: storing data indicative of a user's performance level identified based on an analysis of collected game performance data associated with the user's performance of a plurality of different skills in a virtual environment of a digital content title; comparing the user performance level to a specified expected level associated with the digital content title; predicting one or more deviations between the user performance level and the specified desired level based on the comparison, the predicted deviations corresponding to one or more upcoming events of the current interactive session; selecting a gaming difficulty parameter from a set of gaming difficulty parameters to be applied to each of the upcoming events based on the predicted deviation, wherein the gaming difficulty parameter is selected based on one or more of the different skills associated with the respective upcoming event; and The selected game difficulty parameter is dynamically applied to an associated event during the interactive session, wherein the user is challenged to exercise the skill associated with the event in accordance with the dynamically applied game difficulty parameter.
2. The method of claim 1 further comprising identifying whether an updated user performance level corresponds to a user expected level based on an analysis of game performance data regarding the event, and dynamically adjusting the game difficulty parameter based on whether the user performance level is more or less than a threshold amount than the specified expected level.
3. The method of claim 1, wherein the game difficulty parameter corresponds to the speed or strength of the user's character or an opponent's game character.
4. The method of claim 1, wherein the game difficulty parameter corresponds to a time delay or an adjustment to the timing of the time.
5. The method of claim 1, further comprising generating a ranking of the skills based on the collected game performance data, wherein the game difficulty parameter is selected based on the ranking of the skills.
6. The method of claim 5, further comprising: evaluating the game performance data collected when the user conducts a second interactive session associated with the same or a different digital content segment; identifying that the assessed gaming performance data corresponds to exercising one or more of the skills associated with the user; and The stored game performance data is updated based on the evaluated game performance data associated with the one or more skills exercised in the second interactive session.
7. The method of claim 1, wherein the stored performance data regarding the different skills of the user includes game data associated with a plurality of different digital content titles.
8. The method of claim 1, wherein a plurality of selected game difficulty parameters are dynamically applied to different events during the interactive session to adjust the difficulty level of each of the different events according to associated skills.
9. The method of claim 1, wherein differently selected game difficulty parameters are selected for different users associated with different user performance levels across the different skills.
10. The method of claim 1, wherein the user performance levels include a plurality of different user performance levels for each of the different skills.
11. A system for cross-skill adaptive difficulty, the system comprising: a memory storing data indicative of a user's performance level identified based on an analysis of collected game performance data associated with the user's performance of a plurality of different skills in a virtual environment of a digital content title; and a processor that executes instructions stored in the memory, wherein the processor executes the instructions to: comparing the user performance level to a specified expected level associated with the digital content title; predicting one or more deviations between the user performance level and the specified desired level based on the comparison, the predicted deviations corresponding to one or more upcoming events of the current interactive session; selecting a gaming difficulty parameter from a set of gaming difficulty parameters to be applied to each of the upcoming events based on the predicted deviation, wherein the gaming difficulty parameter is selected based on one or more of the different skills associated with the respective upcoming event; and The selected game difficulty parameter is dynamically applied to an associated event during the interactive session, wherein the user is challenged to exercise the skill associated with the event in accordance with the dynamically applied game difficulty parameter.
12. A system as described in claim 11, wherein the processor executes additional instructions to identify whether an updated user performance level corresponds to a user expected level based on an analysis of game performance data regarding the event, and dynamically adjust the game difficulty parameter based on whether the user performance level is more or less than a threshold amount than the specified expected level.
13. The system of claim 11, wherein the game difficulty parameter corresponds to the speed or strength of the user's character or an opponent's game character.
14. The system of claim 11, wherein the game difficulty parameter corresponds to a time delay or an adjustment to the timing of the time.
15. The system of claim 11, wherein the processor executes further instructions to generate a ranking of the skills based on the collected game performance data, wherein the game difficulty parameter is selected based on the ranking of the skills.
16. The system of claim 15, wherein the processor executes further instructions to: evaluating the game performance data collected when the user conducts a second interactive session associated with the same or a different digital content segment; identifying that the assessed gaming performance data corresponds to exercising one or more of the skills associated with the user; and The stored game performance data is updated based on the evaluated game performance data associated with the one or more skills exercised in the second interactive session.
17. The system of claim 11, wherein the stored performance data regarding the different skills of the user includes game data associated with a plurality of different digital content titles.
18. The system of claim 11, wherein a plurality of selected game difficulty parameters are dynamically applied to different events during the interactive session to adjust the difficulty level of each of the different events according to associated skills.
19. The system of claim 11, wherein differently selected game difficulty parameters are selected for different users associated with different user performance levels across the different skills.
20. The system of claim 11, wherein the user performance levels include a plurality of different user performance levels for each of the different skills.
21. A non-transitory computer-readable storage medium having a program embodied thereon, the program being executable by a processor to perform a method for cross-skill adaptive difficulty, the method comprising: storing data indicative of a user's performance level identified based on an analysis of collected game performance data associated with the user's performance of a plurality of different skills in a virtual environment of a digital content title; comparing the user performance level to a specified expected level associated with the digital content title; predicting one or more deviations between the user performance level and the specified desired level based on the comparison, the predicted deviations corresponding to one or more upcoming events of the current interactive session; selecting a gaming difficulty parameter from a set of gaming difficulty parameters to be applied to each of the upcoming events based on the predicted deviation, wherein the gaming difficulty parameter is selected based on one or more of the different skills associated with the respective upcoming event; and The selected game difficulty parameter is dynamically applied to an associated event during the interactive session, wherein the user is challenged to exercise the skill associated with the event in accordance with the dynamically applied game difficulty parameter.
