Apparatus and method for user analysis and content selection
By using linear regression models and conditional inference tree technology, the system analyzes players' historical task completion times and relative speeds, dynamically segments player groups, solves the accuracy problem of task completion time prediction in video games, achieves more accurate personalized predictions, and meets the gaming experience needs of different players.
Patent Information
- Application Number
- CN202011079515.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-10-24
- Filing Date
- 2020-10-10
- Publication Date
- 2026-01-13
- Estimated Expiration
- 2041-02-16
AI Technical Summary
Existing technologies struggle to accurately predict when users will complete tasks in video games, especially for players with limited time. The average completion time estimation has a large error, making it impossible to provide a personalized gaming experience.
By employing linear regression models and conditional inference tree techniques, and analyzing players' historical task completion times and relative completion speeds, the system dynamically segments player groups and generates personalized task completion time predictions, thereby reducing errors.
It significantly reduced the mean absolute error of task completion time prediction from 6.22 minutes to 4.6 minutes, providing a more accurate estimate of game objective completion time and meeting the personalized needs of different player groups.
Smart Images

Figure CN112704880B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to apparatus and methods for user analysis and content selection. Background Technology
[0002] Video games are played by people from all demographics, and therefore by people with many different lifestyles. For example, some people might spend an entire day playing games, while others may only play for short periods of time at a time.
[0003] Nevertheless, those with limited time still desire a fulfilling gaming experience across a wide variety of games. Summary of the Invention
[0004] The present invention aims to solve or mitigate this problem.
[0005] In a first aspect, claim 1 provides a method for predicting the completion time of a specific game objective for a specific user.
[0006] In another aspect, claim 14 provides a server operable to predict the completion time of a game objective for a specific user.
[0007] In another aspect, a system is provided according to claim 15.
[0008] Other aspects and features of the invention are defined in the appended claims. Attached Figure Description
[0009] Embodiments of the invention will now be described by way of example with reference to the accompanying drawings, in which:
[0010] Figure 1 This is a schematic diagram of an entertainment device according to an embodiment of the present description.
[0011] Figure 2 This is a schematic diagram of the game objective completion time according to an embodiment of the present description.
[0012] Figure 3 This is a schematic diagram of a linear regression analysis of an in-game variable relating to the prediction of game objective completion time, according to an embodiment of this description.
[0013] Figure 4 This is a schematic diagram of a conditional reasoning tree representing a representative decimal of a user group according to an embodiment of this description.
[0014] Figure 5 This is a schematic diagram of a significant partition in the distribution detected by a t-test according to an embodiment of this description.
[0015] Figure 6This is a schematic diagram of a system for predicting the completion time of a specific game objective for a particular user, according to an embodiment of this description.
[0016] Figure 7 This is a flowchart of a method for predicting the completion time of a specific game objective for a specific user, according to an embodiment of this description. Detailed Implementation
[0017] An apparatus and method for user analysis and content selection are disclosed. In the following description, specific details are presented to provide a thorough understanding of embodiments of the invention. However, it will be apparent to those skilled in the art that these specific details are not necessary to practice the invention. Instead, for clarity, specific details known to those skilled in the art have been omitted where appropriate.
[0018] Devices that implement user analytics and content selection methods can take the form of: video game console devices for hosting users who can play video games, servers operable to communicate with the user's video game console via a network, or a combination of both.
[0019] Therefore, for illustrative purposes, a video game activity search device can be configured to operate under appropriate software instructions. PlayStation or PlayStation The forms of entertainment equipment.
[0020] Figure 1 It illustrates PlayStation The overall system architecture of the entertainment equipment. It provides system unit 10 and various peripheral devices that can be connected to this system unit.
[0021] System unit 10 includes an accelerated processing unit (APU) 20, which is a single chip that instead includes a central processing unit (CPU) 20A and a graphics processing unit (GPU) 20B. The APU 20 can access random access memory (RAM) unit 22.
[0022] The APU 20 may optionally communicate with the bus 40 via an I / O bridge 24, which may be a discrete component of the APU 20 or a part thereof.
[0023] Connected to bus 40 are data storage components, such as hard disk drives 37 and The drive 36 is operable to access data on a compatible optical disc 36A. Additionally, the RAM unit 22 can communicate with the bus 40.
[0024] Optionally, an auxiliary processor 38 is also connected to the bus 40. The auxiliary processor 38 may be provided to run or support an operating system.
[0025] System unit 10 communicates appropriately with peripheral devices via audio / video input port 31, Ethernet port 32, Bluetooth wireless link 33, Wi-Fi wireless link 34, or one or more Universal Serial Bus (USB) ports 35. Audio and video can be output via AV output 39 (e.g., HDMI port).
[0026] Peripheral devices may include monocular or stereo cameras 41 (e.g., PlayStation) ), wand-style video game controllers 42 (e.g., PlayStation) ) and traditional handheld video game controllers 43 (such as DualShock) ), portable entertainment devices 44 (such as PlayStation) and PlayStation ), keyboard 45 and / or mouse 46, media controller 47 (e.g., in the form of a remote control), and headset 48. Other peripheral devices, such as printers or 3D printers (not shown), can be similarly considered.
[0027] GPU 20B (optionally in conjunction with CPU 20A) generates video images and audio for output via AV output 39. Optionally, the audio may be generated together with an audio processor (not shown), or generated by the audio processor instead.
[0028] Video and optional audio can be presented to a television 51. If the television supports it, the video can be stereo. Audio can be presented to the home theater system 52 in one of several formats, such as stereo, 5.1 surround sound, or 7.1 surround sound. Video and audio can also be presented to a head-mounted display unit 53 worn by the user 60.
[0029] During operation, the entertainment device defaults to an operating system, such as a variant of FreeBSD 9.0. The operating system can run on a CPU 20A, a coprocessor 38, or a combination of both. The operating system provides the user with a graphical user interface, such as the PlayStation Dynamic Menu. This menu allows users to access operating system functions and select games and other optional content.
[0030] Now for reference Figure 2The embodiments described herein relate to estimating the time required for a player to complete a given task (i.e., a game objective) in a game. This helps players determine which tasks best suit their schedules, or recommends or selects tasks at appropriate times for users who have declared they want to play the game within a specific timeframe, or recommends or selects tasks at appropriate times for users with time constraints (e.g., due to parental control). In the following text, the terms “task,” “game objective,” “quest,” and “sub-quest” are used interchangeably to refer to a portion of a game having defined start and end conditions.
[0031] Figure 2 This shows the completion time distribution for a specific task in the example game (in this case, Horizon Zero Dawn). The completion time is the time elapsed in the game, not an absolute time. Therefore, it is possible to span several game sessions over several days, while simply adding up the time elapsed in the game to 25 minutes.
[0032] from Figure 2 As can be seen, the time distribution is very wide. Therefore, if we simply obtain the average completion time (10 minutes and 54 seconds), this time will be inaccurate for many players; in this case, the average error (i.e., the average error size, whether too short or too long) is 6 minutes and 13 seconds; this is similar to the initial estimate, making the estimate very poor.
[0033] Clearly, for any given player, the average time it takes to complete a task is not a good predictor of the game's duration.
[0034] Other aspects of the game may help in better estimating completion time, such as the user's accuracy (e.g., more precise shooting means defeating enemies faster) or the number of items the user collects (e.g., if the user spends time collecting more treasure, it may make their mission take longer).
[0035] For the example game Horizon Zero Dawn, data from 10,000 players was collected, including the time they took to complete multiple tasks, and a set of variables recorded up to the start point of each given section, to provide predictive input.
[0036] As a non-restrictive example, the variables used are as follows:
[0037]
[0038]
[0039] Table 1: Example variables that may affect the time to complete game objectives
[0040] It should be understood that different games may have different variables, but these variables may fall into basic groups related to the speed and / or proficiency in defeating enemies, the amount of non-combat activities (such as item collection, non-player character interaction), and the speed of historical mission completion.
[0041] Considering the variables mentioned above, a linear regression model is used to determine the relationship between these input variables and the output variable (task completion time). This model takes all input variables into account and assigns weights to each variable to influence the slope of the best-fit line. The overall goal is to find a set of weights that minimize error (making the actual task completion time as close as possible to the predicted task completion time).
[0042] Figure 3 The diagram shows predictions based on a linear regression model, with the ideal outcome represented by a diagonal line. While it can be seen that there is some relationship between the variables and the target completion time, it is noisy and only loosely clustered around the ideal outcome; many predictions deviate significantly from the actual completion times.
[0043] The mean absolute error of these predictions is 6.01 minutes, compared to a mean absolute error of 6.22 minutes for the average completion time based on the task itself.
[0044] This suggests that predicting this specific task can be extremely difficult.
[0045] A key factor is the inherent variability, arising from the provision of a potentially rich and engaging environment for completing the task, and the different styles and behaviors of players engaging in that task. This variability exists not only among a group of players but also, for an individual player, may depend on their playtime and location, their mood, other distracting factors in the environment, and so on. Measuring or predicting some of these factors may be impossible or unrealistic, thus always introducing a degree of error into any predictions made.
[0046] However, there is still a possibility to further improve the forecast.
[0047] In studying the linear regression technique described above, it was noted that much of the model's predictive power comes from the input variable of "task speed in the most recent 10 tasks." In other words, the speed at which a player recently completed objectives (relative to the broader player base) is the best individual indicator for predicting future game objective completion times.
[0048] Therefore, in the embodiments described herein, time-band classification is performed to identify whether a user belongs to, for example, a fast, medium, or slow player category. Subsequently, the task completion time can be predicted using the average completion time of the corresponding fast, medium, or slow player groups.
[0049] Therefore, by dividing the strongest predictor of task completion time (i.e., historical task completion time) into smaller ranges, the estimation error generated within each category should also become smaller.
[0050] Random forest techniques can be used to perform time-band classification.
[0051] However, alternatively, conditional reasoning trees can be used to perform time-band classification. In particular, conditional reasoning trees can be used to perform dynamic time-band classification.
[0052] A conditional inference tree is a type of decision tree that iteratively searches for split points within the values of the input variables, and only splits if a statistical confidence threshold for the corresponding output variable (e.g., the variable to be subsequently predicted) is met. Once the optimal split point is found (e.g., the one with the highest significance score), it repeats this process on the data on both sides of the split to find further splits that meet the statistical confidence threshold.
[0053] Continue this process until no more partitions are found. This process is called recursive partitioning.
[0054] This method can be used for a given game objective (e.g., a quest, a partial quest, a level completion, a boss fight, or any similar game objective with measurable start / conditions and end / completion conditions) by analyzing scores related to a player's recent objective completion speed and looking for divisions within these values to isolate splits where there are significant differences in objective completion time. This will be described in more detail later in this article.
[0055] Once the recursive partitioning is complete, the final partition points, in the form of "buckets" or performance output nodes, can be used for prediction. The buckets and key metrics for each game objective can then be saved, and personalized time estimates can be generated in response to a given player's request.
[0056] The advantage of this technique is that, because the output nodes are dynamically created due to the generation of the partition points, the scale or quality of the predictions can improve with the scale or quality of the available data. For example, when provided with noisy data, the system can provide a single prediction (overall median), but when the data indicates the existence of such available data, the system can provide very accurate predictions for different groups of players.
[0057] In other words, for games where there is no strong correlation between player ability, style, or environment and game objective completion time (e.g., due to the inherent randomness of the game itself), the technique can degenerate to the overall average level as described above without any significant segmentation. However, if there is a strong correlation between player ability, style, or environment and game objective completion time, this will be reflected in the classification tree, thereby creating game objective completion time prediction data corresponding to different subsets of the player group.
[0058] By applying the same processing to a given group of players to identify the appropriate corresponding subset, and then predicting their completion time more accurately based on the average completion time of that subset within the player population.
[0059] As previously mentioned, a player's relative completion time performance across a set of N previous tasks has particular predictive value. Therefore, in the embodiments described herein, the input variables used for timeband classification should be based on these relative completion time performances, although this is not limiting; alternatively, alternative variables or versions of the variable weighted according to the values of one or more other variables may be considered similarly.
[0060] For time-based variables, such as relative completion time, it should be understood that different objectives will take different amounts of time, and the distribution of absolute completion times may vary significantly across different tasks. Therefore, if the goal is to predict completion time based on, for example, the completion times of the last N tasks, it is preferable to standardize the values from each task so that they can be compared with each other.
[0061] Therefore, instead of using the actual time it took a player to complete a previous objective, players are placed in a decimal place (ranking value from 1 to 10) based on their speed of completing the same objective compared to other players.
[0062] This will yield the N decimal places of the scores for the previous N tasks. The value of N can be any suitable number. Initially in the game, a given player will not complete any tasks; in this case, a “middle” decimal place (decimal place 5) can be assumed for the N tasks (though see the variant embodiments later in this document). As the game progresses, the number of completed tasks increases to or exceeds a target value of N, replacing the old value. N can be any suitable value between, for example, 1 and 100. However, more preferably, the value of N is between 4 and 20, or more preferably between 6 and 15, or more preferably between 8 and 12, or more preferably 10. In this way, the N (e.g., N = 10) decimal places of the score represent the most recent history of the player's relative completion speed compared to the group / other players in the group.
[0063] Players can then be characterized by the average of their current N decimal scores. So, for example, if a player's most recent 10 decimals are (4, 2, 4, 2, 3, 1, 1, 9, 1, 2), then their average decimal score would be 2.9, which can be used as a predicted decimal score for the next attempt at the task.
[0064] It should be understood that other analyses can be performed, such as linear or curve fitting of the N decimal places, to predict any upward or downward trends in the decimal places of the N+1 task (the task under study). An upward trend may occur when a user's improvement rate exceeds the game's average learning curve (e.g., early in the game, or when a new ability is introduced), and this may be related to the early game, assuming decimal places but underestimating the player. Conversely, a downward trend may occur when a user encounters difficulties compared to their peers (e.g., later in the game, combat becomes more complex, or puzzles become more difficult), and this may also be related to the early game, assuming decimal places but overestimating the player.
[0065] Therefore, for example, the most recent 10 deciles listed above show an overall upward trend from slightly above decile 4 to slightly below decile 1, despite one outlier, decile 9. In this case, a linear fit could predict a decile score of 1.9 for the next attempt at the task, rather than the average of 2.9. In the task studied, this might be a more accurate prediction of the user's contrasting performance.
[0066] Therefore, for any player, an indicative / representative decile score can be determined as they approach a given game objective. Thus, to predict a given player's completion time, the representative decile scores of the group of players who have completed the game objective can be used as input to a conditional reasoning tree, with the actual completion time of the game objective as output.
[0067] Then, the conditional inference tree iteratively searches for split points within the input indicative 10th percentile scores of the player group, and splits only if it meets the statistical confidence threshold (significance test) in the output variable (actual completion time). As described above, the search for splits on either side of the first split is then recursively repeated until no more splits are found.
[0068] refer to Figure 4The text describes a recursive tree generated by this technique, serving as an example set of representative decimal scores for the input group of players. At node [1], the data is divided into two groups based on a significance test of the output data (described later in this text), where the mean decimal is ≤5.51 or >5.51. The tree continues to the left branch and is again divided into subsets with a mean decimal of ≤4.83 or >4.83 at node [2]; the tree again starts from the left branch and is again divided into subsets with a mean decimal of ≤3.99 or >3.99 at node [3]. The tree again starts from the left branch, and this time no further division is detected, resulting in the first output node [4] (or “interval” described elsewhere in this text) for the subset of input indicative decimal scores ≤3.99, corresponding to an average output game objective completion time of 11.7 minutes.
[0069] Then the tree returns to the right branch of node [3] and again there is no further split, resulting in another output node [5] for the subset of input representative decimal scores >3.99 and ≤4.83, corresponding to an average output game objective completion time of 15.2 minutes.
[0070] Then the tree returns to the right branch of node [2], where again there is no further splitting, resulting in another output node [6] with a subset of the input representative decimal scores >4.83 and ≤5.51, corresponding to an average output game objective completion time of 18.4 minutes.
[0071] like Figure 4 As shown, the recursion continues and generates three more output nodes [9],
[10] , and
[11] for a subset of the input group, which take longer to complete the game objective.
[0072] The split of each node in nodes [1], [2], [3], [7], and [8] was determined by using a statistical significance test, which provides a confidence score for the completion time on one side of the split as different from the completion time on the other side. The test prioritizes the difference in completion time and the number of available data points (inputs represent decimal places).
[0073] Given the complexity of the factors influencing completion time, we can assume that completion times follow an approximately normal distribution. Therefore, a known significance test called the t-test can be used. See the example at http: / / statstutordevelopment.lboro.ac.uk / resources / uploaded / unpaired-t-test.pdf.
[0074] This will examine candidate split points (e.g., given tenths values) and, for each resulting group (i.e., the left and right groups of the split), calculate a p-value (probability) for the two groups to have different average completion times using the group size and the mean and standard deviation of the completion times of these groups.
[0075] Figure 5 This illustrates a division where the groups on the left and right sides of the division point have different distributions.
[0076] When the p-value reaches a predetermined threshold (the p-value can be higher or lower than the threshold, depending on how the probability is defined—for example, the probability of different outcomes should be high, or the equivalent probability of similar outcomes should be low), a partition is identified, and the groups to the left and right of the partition are separated. Roughly speaking, given the rate of decline between the mean (corresponding to the standard deviation) and statistical significance, and the reliability of these values (corresponding to the group sizes used to generate the mean and standard deviation), the p-value indicates the likelihood that separate means exist between the groups.
[0077] You can choose to search for split points sequentially (e.g., for each distinct value in the decimal place of the average velocity); or, to speed up the search as much as possible, you can search for split points by iteratively dividing these values; jump to the middle value (the value at 1 / 2 of the set) and check for a split; if a split exists, return to the middle of this half (the value at 1 / 4 of the set) and check for a split; if no split exists, jump to the middle of that quarter (the value at 3 / 8 of the set) and check for a split, and so on, until the first value in the set is found to indicate that a split has been found. This process can then be repeated for the resulting left and right groups. This method typically significantly reduces the number of candidate split values.
[0078] In any case, the result is a set of "intervals" or output nodes that represent the range of the mean decimal places, including the mean and standard deviation of the completion time results for players whose mean decimal places fall within the corresponding intervals.
[0079] for Figure 4 The tree in the middle, the result is:
[0080]
[0081] Table 2: Completion Time Statistics of Intervals / Nodes Generated in Example Dynamic Timeband Classification
[0082] Therefore, for player A, whose average decimal score in the first N goals is less than 3.99 (in other words, on average, their average completion time is in the top 39.9% of the group), they are expected to complete the goals in 11.7 minutes, while for player B, whose average decimal score is greater than 6.34, they are expected to complete the goals in 27.1 minutes.
[0083] Furthermore, it should be understood that this method can generate lower and upper quartiles for the time distribution in each interval, thus providing a realistic time range for users to complete game objectives, which varies with different average completion rates.
[0084] Therefore, Player A can complete the objective in 9 to 14 minutes, while Player B can complete the objective in 22 to 33 minutes.
[0085] This allows for a realistic assessment of the time required to complete the game objectives.
[0086] Compared to the overall average error of 6.22 minutes, this dynamic time-band classification method using conditional reasoning trees has an average absolute error of 4.6 minutes. This demonstrates considerable progress.
[0087] However, it should be understood that for players outside the 9th, 10th, or 11th intervals (in this case), the mean absolute error increases further; these are slower players, and numerous in-game and out-of-game influences and latency factors can affect their total time. For faster players in the 4th, 5th, and 6th intervals (in this case), their time to complete the game objective is more likely to depend primarily on their performance in the game, without external distractions or persistent errors, and is therefore more directly related to gameplay. Thus, for focused or skilled players, the mean absolute error of the completion time estimate is likely to be much better than 4.6 minutes.
[0088] Therefore, in addition to the overall improvement in mean absolute error, this method can further improve the mean absolute error of completion time predictions for players who are more likely to complete the objective faster. This also means that the proportion of mean prediction error to the total relevant completion time is more consistent across the two intervals than the mean prediction error derived from the global mean.
[0089] Variant Implementation
[0090] The example above is based on the average of the N decile scores from the previous N tasks. As mentioned earlier, the input variable can optionally be a linear prediction or other prediction of the N decile scores to capture any trend in the N decile scores from the previous N tasks; this can more accurately define the player group with respect to the game objective (i.e., the N+1th task), thus providing better statistics for classification and splitting decisions, leading to more splits and / or better localization, thereby further reducing the mean absolute error of the prediction for each interval / output node.
[0091] Then, the analysis of the current player can be similarly based on linear or other predictions of its N+1 decimal scores to identify relevant output nodes / intervals, from which game objective completion time statistics can be obtained.
[0092] Similarly, alternatively, as mentioned above, the completion times of the first N tasks are strong predictors of the completion time of the (N+1)th task, but not the only predictor. Therefore, input values based on a combination of the decimal places of completion time and some other metric (e.g., kill-to-hit ratio, damage inflicted, items collected, etc., or more generally, indicators of a player's efficiency in completing objectives) can be combined with the average or predicted decimal places of completion time to generate a conditional inference tree. Thus, for example, the aforementioned metrics can be used to generate an efficiency score, which is standardized to an average (e.g., an average equal to 1) and multiplied by the average decimal places of completion time to boost more efficient players and demote less efficient players within the range of input value distributions.
[0093] Alternatively, the conditional inference tree can be based on the average or predicted decimal of the completion time as described above. However, when the interval spans beyond a threshold time period, the user group corresponding to that interval is constrained by a second conditional inference tree based on another metric, such as the player efficiency metric discussed above, and the group is further divided into one or more subsets if there are statistically significant subsets.
[0094] Therefore, for example, while the interquartile range of the first interval [4] is relatively small, between 8.7 and 14, it still covers a range of possible values from 0 minutes (or more realistically, the fastest time or the time range of "pro" players) to approximately 14 minutes. This is a relatively large range compared to intervals 5, 6, 9, and 10.
[0095] Therefore, the group corresponding to the first interval [4] may undergo this supplementary conditional inference tree processing and be divided into two subgroups, for example, resulting in average completion times of 8 minutes and 13 minutes, respectively, and the quartiles spanning smaller ranges, thereby improving the prediction accuracy of these groups.
[0096] Similarly, the last quarter interval
[11] covers most of the time, which is approximately 25 minutes or more, depending on the fact that the dataset may be a long period of time (e.g., many players may need an hour). Therefore, the grouping corresponding to the last interval
[11] may also undergo this supplementary conditional inference tree processing and, for example, be divided into several subgroups that may distinguish between those who try to complete the objective in a focused manner but do not do so well (e.g., have a low hit rate or high damage level) and those who do not complete the objective in a focused manner (e.g., instead collect a large amount of treasure that is not directly related to the objective). This may again improve the prediction accuracy for slower players.
[0097] As previously noted, not all task / game objectives are identical; therefore, the time completion decimal is calculated to eliminate inherent differences in the absolute completion times of the conditional reasoning tree input. However, similarly, since not all task / game objectives are identical, different factors within a given game objective can influence the completion time, depending on the nature of the game objective.
[0098] For example, someone skilled at puzzle-solving or with exceptional observation skills can easily complete the task of collecting four treasures, while someone with good reflexes or accuracy can perform the task of eliminating 50 opponents on the battlefield. Therefore, a game that presents a wide variety of tasks in a relatively random order (or an order that the user can choose) may produce a set of N decimal places that do not necessarily reflect the time it may take to complete the next task, depending on whether the task involves finding more treasures or defeating more opponents.
[0099] Therefore, for different types of tasks, one can choose to compute different sets of N decimal places, where the tasks are categorized according to simple categories; categories could include finding objects / people, reaching locations, defeating enemies, etc., and then an appropriate set of decimal places for the task whose completion time is to be predicted can be selected based on any techniques described elsewhere in this document.
[0100] It should also be understood that conditional inference tree analysis based on a large group of players who have previously completed the game objective allows for statistically robust analysis, but it is very similar to the global average described above; a group of all such players or a random subset of such players effectively simulates the global average player. Therefore, alternatively, as the number of records increases with the number of players, a subset of target players can be selected to form a group; this can be done from the perspective of players and / or the game.
[0101] From a player's perspective, this could involve selecting players of a similar age to the player requesting registration. Similarly, it could involve selecting players with similar playstyles; this could be inferred from the degree of overlap in their respective libraries of games, or the degree of overlap in recently played games, and / or based on the degree of overlap in trophies (or trophy categories) awarded to players, which often reflects different gameplay behaviors, such as a preference for melee or sniping, or a preference for combat or stealth.
[0102] From a game perspective, this can be accomplished, for example, at simple character levels; in a game where players can choose different character classes (e.g., magician or barbarian), the given task might have different effective difficulty for these different character classes—for example, due to different abilities, different routes must be taken to reach the objective, or they might be better at dispatching enemies than solving puzzles, and vice versa. Therefore, a group of players with a subset of character classes similar to the current player might produce a conditional reasoning tree that provides a better estimate of game completion time than a random or full group of players. It should be understood that, potentially, the closer the state of the selected members in the group is to the current player's state, the more representative the result will be. Therefore, alternatively, one could grow a statistically significant group (i.e., a sufficiently large group to provide good results from the conditional reasoning tree) by prioritizing players whose game state or environment is closest to the user's, and then expand the selection from the initial point to the desired group size.
[0103] Of course, it should be understood that this means customizing the generation of group selection and conditional inference trees for a given user, which could be computationally expensive if provided for many users; therefore, the user himself can be similarly categorized as a preferred approximation, for example, just age, or just role category, or role category and level, or current category, level and equipped weapons, or any suitable combination, which allows for the pre-generation of a finite set of group and conditional inference trees, from which selections are made to generate a prediction for the current player.
[0104] Similar to the above approach, the user's average predicted deciles are based on the completion deciles of the first N tasks. This is then used in a conditional reasoning tree, which grows from the similar average or predicted deciles of these players who have completed the game objective under study. However, the probability that they completed the first N tasks (and the next task under study) in the same order as the current player may be small; therefore, while their average or predicted deciles may be based on the last N tasks they completed, these tasks may not all be the same; thus, the resulting set of deciles may not be as representative as they should be. Therefore, alternatively, the population used to generate the conditional reasoning tree can be formed from a subset of players whose task completion sequence is closest to the current player's task completion sequence, preferably starting with all tasks being the same, and where this results in fewer than a threshold number of players in the population, further adding players with the smallest task differences, preferably (e.g., in the case of predicted deciles) adding players for the earliest task in the set of N tasks (e.g., adding players who varied in the earliest task, then the next earliest task, and so on), until there are a sufficient number of players in the population. It should be understood that this method requires the task to be identifiable associated with N decimal places.
[0105] Furthermore, it should be understood that this implies customizing the selection of the population and the generation of conditional inference trees for a given user, which can be computationally expensive if provided for many users. However, games often have clear paths of progression, or may have many tasks associated with specific locations, resulting in certain task sequences or combinations being common. Therefore, conditional inference trees can be generated for the population of players with the most common task sequences or (in cases where averaging rather than prediction) task combinations are needed. Then, the conditional inference tree corresponding to the closest fitted sequence or combination of the current user's N most recent tasks can be selected to predict the completion time of the next task.
[0106] If the task / game objectives can be categorized, then in principle, one can choose to combine a set of N decimals of a given category of task / game objectives from multiple games. For example, this approach can be used when a player does not complete enough tasks in a game to obtain a representative average or predicted value (e.g., if it is necessary to assume N decimals beyond a predetermined proportion, such as decimal 5). Similarly, one can optionally use the average or predicted decimals from users of one game instead of an assumed set of decimals from another game; for example, the first N actual decimals of one game can be used as the initial assumed decimals for a new game. To improve the representativeness of these input decimals, they can be selected from games of the same type or series, or from games previously played within the series.
[0107] The recorded completion time for a task / game objective is typically based on when the start and end conditions occur. However, the user may not immediately be in the necessary start conditions; for example, a task might require first interacting with a non-player character or equipping a specific item that may be far from the user in the game. Therefore, the predicted completion time can have a duration added to it, which includes the predicted time for reaching the start conditions of the game objective; for example, the expected time to traverse the game environment to reach the start conditions (or use a fast travel mechanism to reach the nearest waypoint and then traverse the game environment to reach the start conditions), or equipping the relevant item, and so on.
[0108] Similarly, if a user has partially completed a task and is now resuming their game, their elapsed time can be removed from the estimated completion time. If their elapsed time has exceeded the predicted time, or is already within the slowest decimal place, then an option can be made not to provide a prediction.
[0109] It should be understood that any appropriate combination of the above variations can be used together.
[0110] Output
[0111] The outcome of a given game can be provided in a dedicated task selection menu within the game; thus, for example, when a user selects an active or available task, a predicted time to complete the task can also be provided, allowing the user to choose the task to perform with informed consent.
[0112] Alternatively or additionally, the outcome of a given game can be provided in conjunction with an icon provided by the entertainment device's operating system for the game. For example, one or more game objective names and estimated completion times can be provided near the icon.
[0113] Alternatively or additionally, when the game's icon is hovered over or selected, the outcome of the given game can be provided, offering players more details (such as trophies earned, other friends playing the game, etc.), thus providing additional information to help users evaluate whether to play the game at this moment.
[0114] The number of currently available tasks in the game may be large, and it's best not to evaluate or display all tasks in this way. Therefore, tasks currently open in the game (i.e., tasks actively chosen by the user to complete) can be prioritized. Similarly, tasks whose starting conditions are geographically close to the user in the game, or tasks that can be started without the player relocating, can be prioritized, as these tasks minimize the range of interfering factors that reduce the accuracy of time estimates.
[0115] Optionally, users can specify a preferred playtime within the game itself or the operating system's user interface (e.g., users may know they only have half an hour available, or parental controls have set a playtime limit); thus, the game or operating system can prioritize tasks that can be completed within half an hour; for example, those games whose predicted average or preferred upper quartile for the player is less than 30 minutes. Using the upper quartile reduces the probability that the player will not be able to complete the task within the specified time, especially in the case of a non-zero mean absolute error. Typically, tasks whose completion time or upper quartile is closest to but less than the target time have the highest priority.
[0116] Optionally, if users specify a preferred playtime (whether by themselves or as a result of parental control), games with tasks / objectives expected to require the preferred playtime can be highlighted to enable players to choose; this reduces the need for users to search for suitable activities in the game, as their available playtime may already be short.
[0117] Optionally, if the user specifies a playtime (or sets a time limit for them through parental controls), the game can offer the user the option to open the game and automatically activate the relevant game objective; then, regardless of the mechanism used in the game, the game can continue in the traditional way, guiding the completion of the active game objective towards this game objective.
[0118] Therefore, in the example embodiment, the user can tell the entertainment device, for example, that they have half an hour to play (or that they can have half an hour based on parental control); the entertainment device recommends and / or highlights which games have game objectives that require half an hour to complete, optionally breaks down factors in the time required to reach the start of a task, optionally prioritizes tasks / objectives that are already open or close to the user's in-game location, and optionally opens the game when the task is active (e.g., using the most recent game save).
[0119] Finally, it should be understood that the reference to "deciles" in this paper is merely representative, and any appropriate division can be considered to standardize the input values (e.g., quartiles or percentiles). Therefore, "deciles" as used in this paper should be understood as equivalent to any suitable alternative division.
[0120] system
[0121] Now for reference Figure 6 The system for implementing the above technology may include a server 610 connected to multiple client entertainment devices 10A, 10B, ..., 10M via a network 500 such as the Internet.
[0122] The game objective is to complete the telemetry from the client's entertainment device to the server, thereby creating the player group used in the aforementioned technology.
[0123] Telemetry typically includes a task / quest / target ID, and optionally a game ID, which may not be unique across all games; and a completion time. For embodiments of the above techniques that utilize further filtering of the population (e.g., based on user demographics or game environment), appropriate information may also be sent as part of the telemetry.
[0124] A specific entertainment device (e.g., 10A) then requests a prediction of the target completion time for the user currently logged into that device (different users can log into the same device and play the same game, so individual data can be stored for each user logged into the device).
[0125] If the user is already in the game, the server can be identified by the task / quest / target ID and optional game ID, as needed. To reduce the overall server load, you can choose to send only the first Q tasks to the server (e.g., Q is 1, 2, 3, 4, 5, 6, 7, 8, 9, or 10, or any suitable number). These tasks may include those that are already open, those whose start conditions are near the user, or those identified as core game tasks (i.e., tasks required to complete the game). If fewer than Q tasks are generated, a wildcard request can be randomly selected and added to the list submitted to the server.
[0126] In addition, the user's average or predicted decimal places can be obtained. This can be achieved in several ways. The entertainment device can provide the game target IDs for the first N completed tasks as part of the request, and the server can retrieve the completion times of these tasks or the previously calculated decimal places of the user from its storage, or the entertainment device can send them to the server. Alternatively, the server can track the user's progress and maintain the decimal places of the last N tasks without further identifying these values to be sent; these can be absolute completion times, calculated decimal places, or both (it should be understood that a user's decimal places may change when other players' results are received, and therefore, the user's decimal places can be recalculated periodically from the recorded completion times, as long as these are part of the record of the last N task values). Optionally, the entertainment device may have already received previously calculated decimal places from the server as part of the prediction process (described below) and thus directly provide these decimal places to the server, or calculate and provide the average or predicted decimal places as appropriate.
[0127] In any case, by appropriately using any of the techniques described above, the server receives a request to predict the completion time of a given task for a given user, along with the assumed or actual decimal values of the user's N previous tasks, or the average or predicted values based on these decimal values.
[0128] Then, data from a group of players who have completed a given task and whose completion time is known, along with the average or predicted decimal places of their previous N tasks, can be used to generate completion statistics for one or more output nodes using the conditional reasoning tree technique described herein; then, as described earlier in this paper, the user’s own corresponding average or predicted decimal places of their N previous tasks can be used to obtain the predicted average time and / or time range, for example, based on the lower quartile and the upper quartile.
[0129] It should be understood that for each task in the game, the conditional inference tree can be pre-generated once a sufficiently large player base is available, and can be refreshed only periodically (e.g., if a new record of the threshold number has been obtained for that task). Therefore, in principle, it is not necessary to recalculate the conditional inference tree in response to every request; instead, once the conditional inference tree is generated, the average or predicted decimals associated with the request can be quickly and efficiently used to identify the relevant output nodes, thereby obtaining the prediction.
[0130] It should also be understood that any variations of the methods described herein may be used by the server, and in which additional information, such as identification of previous tasks, may also be included in telemetry.
[0131] Furthermore, it should be understood that for some of these techniques, the conditional reasoning tree can be pre-generated and can be refreshed only periodically.
[0132] Once the server obtains the predicted average time and / or time range for one or more requested tasks, it can return this information to the requesting client device.
[0133] Then, the requesting client device can use these as described above to enhance the game icon or game information panel after interaction with the icon, or to populate or arrange the in-game task menu, or to compare the predicted time with the target game time period and highlight tasks in the game that closely match the target game time period (e.g., those whose upper quartiles are within a predetermined tolerance of the target game time period), or games in the library that contain such tasks, and optionally, for example, to open the game in a way that such tasks are automatically activated when the game is selected by the user.
[0134] Now for reference Figure 7In a summary embodiment of the present invention, a method for predicting the completion time of a specific game objective for a specific user includes:
[0135] First, for other user groups who have already completed the specific game objectives:
[0136] - In the first step s710, determine the decimal places (e.g., N decimal places, as described above) of the completion times of multiple game objectives for a previously predetermined number of other game objectives completed by users in the user group.
[0137] - In the second step s720, a representative decimal place of completion time is derived from the decimal places of the multiple game objective completion times for each user in the user group, as described above, and
[0138] - In the third step s730, the representative tenths digit value is used as an input variable, and the corresponding game objective completion time of the specific game objective is used as an output variable to generate a time band classification, for example, as shown in the coil reference in this paper. Figure 4 The above;
[0139] Secondly, for the specific user:
[0140] - In the fourth step s740, the game objective completion time of the previously predetermined number of other game objectives completed by the specific user is determined in tenths.
[0141] - In the fifth step s750, a representative decimal place of completion time is derived from the decimal places of the multiple game goal completion times for the specific user, and
[0142] - In the sixth step s760, the representative completion time decimal of the specific user is used as the input of the generated time band classification to identify the time band classification of the specific user;
[0143] And then,
[0144] - In the seventh step s770, based on the identified time zone classification, the predicted game objective completion time data for the specific game objective is output to the specific user.
[0145] It will be apparent to those skilled in the art that variations of the above methods, corresponding to the operation of various embodiments of the methods and / or apparatus described and claimed herein, are to be considered within the scope of this disclosure, including but not limited to:
[0146] - The time-band classification described is a dynamic time-band classification using conditional reasoning trees, as previously described in this document.
[0147] - When a threshold confidence level is detected in the respective distributions of the corresponding game objective completion times around two or more means, a partition is formed in the tree structure, as previously described herein, for example, by referring to the t-test.
[0148] - The representative decimal place of completion time is the average of the decimal places of the previously predetermined number of game target completion times, or
[0149] - The representative completion time decimal is a predicted decimal value based on the sequence of the previously predetermined number of game target completion time decimals (e.g., linear prediction as previously described).
[0150] - As previously stated, if the number of game objectives completed by the particular user in the particular game is less than the predetermined number, the decimal places of the game objective completion time for the previously predetermined number of other game objectives include one or more of the following: a hypothetical middle decimal place value (e.g., decimal place 5 as previously described herein); and the decimal places of completion for game objectives from different games.
[0151] - As previously mentioned, new band classifications of different game variables are generated for user groups corresponding to specific output nodes of the generated time band classifications.
[0152] - For example, for one or more time-band classifications, for other user groups classified into each of the respective time-band classifications: determine multiple decimal places of game target game variables for a previously predetermined number of other game objectives completed by users in the user group, wherein the game variables are variables other than completion time; derive a representative decimal place of game variables from the multiple decimal places of game target game variables for each user in the user group; and generate a game variable band classification by using the representative decimal place value as an input variable and the corresponding game target game variable for the specific game objective as the output variable; and for the specific user: determine, for the corresponding game variable, a decimal place of game target game variables for a predetermined number of other game objectives completed by users in the user group. The process involves: deriving representative game variable decimals from the multiple game variable decimals of the specific user, based on the previously predetermined number of other game objectives completed by the specific user; and using the representative game variable decimals of the specific user as input to the generated game variable band classification to identify the specific user's game variable band classification; wherein the step of outputting predicted game objective completion time data for the specific user is based on the identified time band classification and also on the identified game variable band classification, wherein a game variable band classification has already been generated for the identified time band classification.
[0153] - Game objectives are categorized into a predetermined number of classes; and for each class of game objectives, a representative game variable decimal is derived based on the game objective game variable decimal of a previously predetermined number of other game objectives in the corresponding class.
[0154] - Initially filter the other user groups based on one or more of the following lists: demographic similarity to the specific user; similarity to the specific user's gaming preferences; similarity to the specific user's trophy-winning record; and similarity to the specific user's gaming style.
[0155] - Initially filter the other user groups based on one or more of the following lists, which include: the similarity between the game status of the specific game and the game status of the specific user; and the similarity in order of the previously predetermined number of other completed game objectives.
[0156] - The step of outputting predicted game objective completion time data includes: incorporating the predicted time into the game to meet the starting conditions for the specific game objective; and
[0157] The step of outputting predicted game objective completion time data includes selecting one or more of the following lists: displaying the predicted game objective completion time data in association with the game's icon before any game is launched; displaying the predicted game objective completion time data in the game's information panel before any game is launched; displaying the predicted game objective completion time data within the launched game; recommending (e.g., in an options list) or highlighting games with predicted game objective completion time data within a predetermined tolerance of the game duration when the specific user has a specified game duration (e.g., a preferred game duration provided by the user, or a game duration set by parental control); and launching the game with a predicted game objective completion time within a predetermined tolerance of the game duration when the specific user has a specified game duration (again, for example, set or imposed by the user), upon selecting a game to launch.
[0158] It should be understood that the above methods can be implemented via software instructions or via conventional hardware that includes or replaces dedicated hardware.
[0159] Therefore, the required adaptation to existing portions of a conventional equivalent device can be implemented in the form of a computer program product comprising processor-executable instructions stored on a non-transitory machine-readable medium such as a floppy disk, optical disk, hard disk, solid-state disk, PROM, RAM, flash memory, or any combination of these or other storage media, or implemented in hardware as an ASIC (Application-Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array) or other configurable circuitry suitable for adaptation to a conventional equivalent device. Such a computer program can be transmitted independently via data signals over a network such as Ethernet, wireless networks, the Internet, or any combination of these or other networks.
[0160] Therefore, in the summary embodiment of the present invention, server 610 (any suitable server, but for illustrative purposes, as a non-limiting example, PlayStation) As a server operation, it can be used to predict the completion time of a specific game objective for a particular user, comprising: a receiver (e.g., Ethernet port 32) operable to receive a request (e.g., from one of client devices 10A…10M) to predict the completion time of the specific game objective for the particular user; a memory (e.g., RAM 22 or HDD 37) operable to store data of other user groups that have completed the specific game objective; a processor (e.g., CPU 20A) operable (e.g., under appropriate software instructions) to determine for the group a plurality of decimal places of completion times for a previously predetermined number of other game objectives completed by users in the user group; a processor (e.g., CPU 20A) operable (e.g., under appropriate software instructions) operable to derive a representative completion time decimal place for the group from the plurality of completion time decimal places of completion times for each user in the user group; and a processor (e.g., CPU 20A) 20A), operable (e.g., under appropriate software instructions) to use the representative decimal value as an input variable and the corresponding game objective completion time of the specific game objective as an output variable to generate a timeband classification for the group; a processor (e.g., CPU 20A), operable (e.g., under appropriate software instructions) to determine, for the specific user, the decimal place of the game objective completion time of the previously predetermined number of other game objectives completed by the specific user; a processor (e.g., CPU 20A), operable (e.g., under appropriate software instructions) to derive a representative completion time decimal place for the specific user from the multiple game objective completion time decimal places of the specific user; a processor (e.g., CPU 20A), operable (e.g., under appropriate software instructions) to use the representative completion time decimal place of the specific user as input to the generated timeband classification to identify the timeband classification of the specific user; and a transmitter (e.g., Port 32), which is operable to output predicted game objective completion time data of the specific game objective of the specific user to the requesting client based on the identified time band classification.
[0161] It should be understood that a server can execute any technology described and claimed herein under appropriate software instructions.
[0162] Similarly, in the summary embodiment, the system includes the aforementioned server and entertainment device (e.g., by way of a non-limiting example, Sony). Entertainment devices include transmitters (e.g.) port 32 or It is operable to send a request to a specific user for predicting the completion time of a specific game objective (e.g., to a server); and a receiver (e.g., port 32 or The device is operable to receive predicted game objective completion time data for a specific game objective of a particular user; and wherein the entertainment device is operable to perform processing to perform one or more of the following selected from a list including: outputting the predicted game objective completion time data in a manner associated with the game's icon before any game is started; outputting the predicted game objective completion time data in an information panel of the game before any game is started; outputting the predicted game objective completion time data in a manner displayed within the started game; recommending or highlighting games with predicted game objective completion time data within a predetermined tolerance of the game duration when the particular user has a specified game duration; and starting the game in a manner that activates a game objective with a predicted game objective completion time within a predetermined tolerance of the game duration when the particular user has a specified game duration and selects a game to start. It should be understood that this may be a non-exhaustive list of output options.
Claims
1. A method for predicting the completion time of a specific game objective for a specific user, comprising the following steps: For other user groups who have already completed the specific game objectives: Determine the decimal places of the completion times for multiple game objectives, representing a previously predetermined number of other game objectives completed by users within the user group. Derive representative decimal places from the decimal places of the multiple game objective completion times for each user in the user group, and The representative tenths digit is used as the input variable, and the corresponding game objective completion time of the specific game objective is used as the output variable to generate a time band classification. For the specific user: The user interface receives the preferred game time indicated by the specific user. The game objective completion time for the previously predetermined number of other game objectives completed by the specific user is determined in decimal places. Derive representative decimal places from the decimal places of the multiple game goal completion times for the specific user, and The representative completion time decimals of the specific user are used as input to the generated time band classification to identify the time band classification of the specific user; as well as Based on the identified time zone classification, the predicted game objective completion time data of the specific game objective is output to the specific user, wherein the output of the predicted game objective completion time data includes one or both of the following: (i) highlighting games with predicted game objective completion time data within a predetermined tolerance of the preferred game duration, and (ii) launching a game with a predicted game objective completion time within a predetermined tolerance of the preferred game duration when selecting a game to launch.
2. The method according to claim 1, wherein, The time-band classification is a dynamic time-band classification using conditional reasoning trees.
3. The method according to claim 2, wherein, A partition is formed in the tree structure when a threshold confidence level is detected in the respective distributions of the corresponding game objective completion time around two or more means.
4. The method according to claim 1, wherein, The representative completion time decimal is the average of the previously predetermined number of game target completion time decimals.
5. The method according to claim 1, wherein, The representative completion time decimal is a predicted decimal value based on the previously predetermined sequence of game target completion time decimals.
6. The method according to claim 1, wherein, If the number of game objectives completed by the specific user in the specific game is less than the predetermined number, then the decimal places of the game objective completion times for the previously predetermined number of other game objectives include one or more items selected from the following list: i. The assumed middle tenths digit; and ii. Decimals of the stated completion of game objectives from different games.
7. The method according to claim 1, comprising the following steps: For one or more time band classifications To categorize other user groups into various time-series categories: Determine multiple decimal places of game objective game variables for a previously predetermined number of other game objectives completed by users within the user group, wherein the game variables are variables other than completion time. Derive representative decimal places of game variables from the multiple target game variables for each user in the user group, and The representative tenths digit is used as the input variable, and the corresponding game target game variable of the specific game objective is used as the output variable to generate game variable with classification; For the specific user: For the corresponding game variable, determine the decimal places of the game target game variable for the previously predetermined number of other game objectives completed by the specific user. Derive representative decimal places of game variables from the multiple target game variables of the specific user, and The representative decimal places of the game variables of the specific user are used as inputs to the generated game variable band classification to identify the game variable band classification of the specific user; And among them, The step of outputting the predicted game objective completion time data for the specific game objective to the specific user is based on the identified time band classification and also on the identified game variable band classification, wherein the game variable band classification has been generated for the identified time band classification.
8. The method according to claim 1, wherein, Game objectives are categorized into a predetermined number of classes; and For each category of game objectives, the representative game variable decimals are derived based on the game objective game variable decimals of a previously predetermined number of other game objectives in the corresponding category.
9. The method according to claim 1, wherein, The other user groups are initially filtered based on one or more selections from the following list, which includes: i. Demographic similarity to the specific user; ii. Similarity to the specific user's gaming preferences; iii. Similarity to the trophy won by the specific user; and iv. Similarity to the gaming style of the specific user.
10. The method according to claim 1, wherein, The other user groups are initially filtered based on one or more selections from the following list, which includes: i. The similarity between the game state of the specific game and the game state of the specific user; and ii. Similarity in order of the previously predetermined number of other completed game objectives.
11. The method according to claim 1, wherein, The steps for outputting predicted game objective completion time data include: The predicted time is included in the game as a starting condition for achieving the specific game objective.
12. The method according to claim 1, wherein, The step of outputting predicted game objective completion time data includes selecting one or more items from the following list, which includes: i. Before any launch of the game, display the predicted game objective completion time data in a manner associated with the game's icon; ii. Before any start of the game, display the predicted game objective completion time data in the game's information panel; iii. Display the predicted game objective completion time data within the launched game.
13. A non-transitory computer-readable medium having a computer program stored thereon, the computer program comprising computer-executable instructions adapted to cause a computer system to perform the method of any one of claims 1-12.
14. A server operable to predict the completion time of a game objective for a specific user, the server comprising: A receiver operable to receive a request to predict the completion time of a specific game objective for the specific user; A memory operable to store data of other user groups who have completed the specific game objective; A processor operable to determine, for the group, multiple decimal places of the completion times of other game objectives completed by users in the user group for a previously predetermined number of other game objectives; To derive a representative decimal place for the group from the decimal places of the multiple game objective completion times for each user in the user group, and The representative tenths digit is used as an input variable, and the corresponding game objective completion time of the specific game objective is used as an output variable to classify the time bands generated by the group. The control receives the preferred game time for the specific user as instructed by the specific user through the user interface; The decimal places of the game objective completion times for the previously predetermined number of other game objectives completed by the specific user are determined. Derive a representative decimal place of completion time for the specific user from the decimal places of the multiple game goal completion times for the specific user; The representative completion time decimals of the specific user are used as input to the generated time band classification to identify the time band classification of the specific user; as well as A transmitter operable to output predicted game objective completion time data for a specific game objective of a particular user to a requesting client based on the identified time band classification, wherein the output of predicted game objective completion time data includes one or both of the following: (i) highlighting games with predicted game objective completion time data within a predetermined tolerance of the preferred game duration, and (ii) launching a game with a predicted game objective completion time within the predetermined tolerance of the preferred game duration when a game is selected to be launched.
15. A system for predicting the completion time of a specific game objective for a specific user, comprising: The server as described in claim 14; as well as Entertainment equipment, the entertainment equipment including: A transmitter that can be operated to send a request to a specific user to predict the completion time of a game objective for a specific game objective; A receiver operable to receive predicted game objective completion time data for the specific game objective of the specific user; Furthermore, the entertainment device is operable to perform processing to execute one or more of the following lists, which include: i. Before any launch of the game, output the predicted game objective completion time data and display it in a manner associated with the game's icon; ii. Before any start of the game, output the predicted game objective completion time data to be displayed in the game's information panel; iii. Output the predicted game objective completion time data for display within the launched game.
Citation Information
Patent Citations
User analysis system and method
CN110325250A
System, apparatus, and method for configuring gaming experiences
US20070265055A1