Server-based mechanisms that aggregate user data help determine
By collecting and processing user data through the video game platform and generating unified game help prompts, the problem of different video game experience on different computing devices is solved, and the possibility of users successfully completing activities and the consistency of experience are increased.
Patent Information
- Application Number
- CN202080080198.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-11-18
- Filing Date
- 2020-11-06
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2040-11-06
AI Technical Summary
When users play video games on different computing devices, the experience varies greatly, and there is a lack of unified video game functional commonality, resulting in inconsistent gameplay assistance methods.
The video game platform collects and processes the activity and mechanism data of multiple users to generate unified video game help tips, including mechanism recommendations, activity suggestions and completion time estimates, which are adapted to different computing devices and user characteristics.
Improves the consistency of users' video game experience, provides personalized game help tips, and increases the possibility of users successfully completing different video games.
Smart Images

Figure CN114786788B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application is a continuation-in of U.S. application No. 16 / 687,389, filed on November 18, 2019, which is incorporated herein by reference in its entirety for all purposes. Background Art
[0003] Video games may be available on different computing devices. For example, a user may operate a video game console and a mobile device to play a first video game and a second video game, respectively. Furthermore, video games may be available from different sources. For example, a video game console may be operated to play multiple video games from two or more different video game developers.
[0004] Given the ever-increasing number of video games available and the fact that they are available on different computing devices and from different sources, the user experience often varies. For example, the method for seeking help with gameplay may differ significantly between video games. Furthermore, the way in which a particular portion of a video game is rendered playable on a computing device may be unique to that particular video game.
[0005] As a result, the user experience may differ between video game players.There is a need to improve the user experience so that some commonality in video game functionality is possible regardless of the underlying video game. Summary of the Invention
[0006] Techniques for improving a user's video game experience are described. In one example, a computer system is configured to present video game-related information. The computer system includes one or more processors and one or more non-transitory computer-readable storage media (e.g., one or more memories) storing instructions that, when executed by the one or more processors, cause the computer system to perform operations.
[0007] In an example, the operations include receiving an activity identifier for an activity completed by a first video game player in a video game and a mechanic identifier for a mechanic used in the video game during the activity. The mechanic includes at least one of a set of tools, a set of abilities, or a set of skills available in the video game. The activity identifier and the mechanic identifier are predefined in program code of the video game and are received based on the execution of the program code. The operations also include storing the activity identifier and the mechanic identifier in a data storage area. The operations also include determining, based on the activity identifiers and mechanic identifiers of multiple video game players stored in the data storage area, that the multiple video game players used the mechanic in the activity. The operations also include generating information about the mechanic used to complete the activity; and presenting the information in a user interface to a second video game player of the video game who has not yet completed the activity.
[0008] In an example, the operations further include determining that the mechanic is available to the second video game player. The information is presented based on the mechanic being available.
[0009] In an example, the information includes at least one of a text description, a link to a graphical animation, a link to a video file, or a link to an audio file. The information is presented in a window above at least a portion of the video game content of the video game. In this example, the window includes a first option for displaying the information adjacent to the video game content and a second option for displaying the information in a picture-in-picture window above the video game content. The window also includes a link to a video about completing the activity using the mechanism. In addition, the window also includes a map corresponding to an area within the video game content. The area shows the estimated locations of the multiple video game players completing the activity and the current location of a virtual player within the video game content. The virtual player corresponds to the second video game player.
[0010] In an example, determining that the plurality of video game players used the mechanism includes generating a score for the mechanism based on the frequency of the mechanism identifier during the activity based on data stored in the data store for the plurality of video game players. In this example, the operations further include, after presenting the information and before receiving a second activity identifier, receiving the activity identifier, the mechanism identifier, and a result of the second video game player completing the activity; determining that the result was a successful completion; and updating the score based on the successful completion. Furthermore, the operations include ranking the mechanism relative to one or more other mechanisms that could be used to complete the activity based on the score; and selecting a mechanism to present to the second video game player based on the ranking.
[0011] In an example, the mechanism is used in the video game during the activity to at least one of: (i) assist the first video game player in improving at least one of the set of tools, the set of abilities, or the set of skills, or (ii) assist the first video game player in playing against another video game player or interacting with video game objects. The video game is associated with a video game developer. In this example, the operations further include: receiving confirmation from the video game developer that the information is valid before presenting the information about the mechanism.
[0012] In an example, determining that the plurality of video game players used the mechanism includes accessing data about the plurality of video game players from the data store. The data includes the activity identifier, the mechanism identifier, and a successful completion or failed completion for each of the plurality of video game players. Determining that the plurality of video game players used the mechanism also includes determining, based on the data, that a successful completion rate of the activity using the mechanism is above a predefined threshold. The information indicates that the activity was completed using the mechanism.
[0013] In an example, determining that the plurality of video game players used the mechanism includes accessing data about the plurality of video game players from the data store. The data includes the activity identifier, the mechanism identifier, and a successful completion or failed completion for each of the plurality of video game players. Determining that the plurality of video game players used the mechanism also includes determining, based on the data, that a failed completion rate for completing the activity using the mechanism is above a predefined threshold. The information indicates that the mechanism should be avoided for completion.
[0014] In an example, determining that the plurality of video game players used the mechanism includes accessing data of the plurality of video game players from the data store. The data includes the activity identifier, the mechanism identifier, and a successful completion or a failed completion of each of the plurality of video game players. Determining that the plurality of video game players used the mechanism further includes determining, from the data, that a rate of successful completion of the activity using the mechanism is higher than a predefined threshold when a condition is present in the activity. The information indicates completing the activity using the mechanism when the condition is present.
[0015] In an example, the operations further include ranking the mechanism for the second video game player relative to one or more other mechanisms available to complete the activity based on at least one of: an availability of the mechanism from an account of the second video game player, a spoiler included in the mechanism about the activity or the video game, an availability of the mechanism from an application store, or a history of the second video game player using the mechanism.
[0016] In an example, generating the information includes determining a history of the second video game player using the mechanism, and personalizing the information for the second video game player based on the history.
[0017] In an example, generating the information includes determining an availability of the mechanism from an in-game store, an application store, or a platform store, and personalizing the information for the second video game player based on the availability.
[0018] In an example, the operations further include accessing data of the plurality of video game players from the data store. The data includes the activity identifier, the mechanism identifier, and a difficulty setting of playing the video game. The operations further include associating the information about the mechanism with the difficulty setting.
[0019] In an example, the activity is a task from a plurality of tasks that form a second activity. In this example, the operations further include presenting a window to the second video game player in a first state. The window identifies the second activity and is presented above the video game content of the video game. The operations further include presenting the window in an expanded state upon selection of the second activity. The window in the expanded state identifies the task of the second activity. The operations further include updating the window in the expanded state to show the information about the mechanic upon selection of the activity from the tasks. In this example, the operations further include: determining a second mechanic that can be used to complete the activity; determining that the mechanic is ranked higher than the second activity; and presenting the information in the window in the expanded state based on the higher ranking. The window further includes an option to replace the presentation of the information with the presentation of second information about the second mechanic.
[0020] In an example, the operations further include receiving a first event indicating that the first video game player used the mechanic during the activity and a second event indicating an impact of using the mechanic on gameplay in the activity. The information is further generated based on the first event and the second event. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 An example of a computing environment for collecting and processing video game events according to embodiments of the present disclosure is shown.
[0022] Figure 2 An example of a system architecture for providing contextual information about available gaming activities to a user is shown, according to an embodiment of the present disclosure.
[0023] Figure 3 Another example of a system architecture according to an embodiment of the present disclosure is shown.
[0024] Figure 4 An example of a system for providing a data model of a common data platform according to an embodiment of the present disclosure is shown.
[0025] Figure 5 An example of an activity hierarchy according to an embodiment of the present disclosure is shown.
[0026] Figure 6 An example of a user interface for presenting information about help tips according to an embodiment of the present disclosure is shown.
[0027] Figure 7 An example of a user interface for presenting information about a video game is shown, according to an embodiment of the present disclosure.
[0028] Figure 8 An example of a user interface for presenting information about suggested help tips is shown according to an embodiment of the present disclosure.
[0029] Figure 9 An example of a help hint display through a user interface according to an embodiment of the present disclosure is shown.
[0030] Figure 10 An example of a help hint display configuration according to an embodiment of the present disclosure is shown.
[0031] Figure 11 An example of an expanded video player display through a user interface is shown according to an embodiment of the present disclosure.
[0032] Figure 12 An example of a mechanic type is shown, according to an embodiment of the present disclosure, presenting a help hint window containing hints for the mechanic selected for the player.
[0033] Figure 13 An example of a mechanism prompt type according to an embodiment of the present disclosure is shown.
[0034] Figure 14 An example of a process for presenting information about mechanics to assist a video game player in successfully completing activities in a video game is shown, according to an embodiment of the present disclosure.
[0035] Figure 15 An example of a process for generating a list of mechanism hints for a given activity is shown.
[0036] Figure 16 An example of a hardware system suitable for implementing a computer system according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0037] In general, systems and methods for improving a user's video game experience are described. In one example, the user's video game experience is improved by providing a unified approach for multiple video game features, such as suggesting video game activities, estimating completion times for such activities, and presenting video game help, regardless of the underlying video game. This unified approach does not require changes to the way video games are developed, nor does it require a universal method for video game development. Instead, it relies on tools for various events within a video game, where a video game platform (e.g., a server-based video game service) can collect and process such events based on the execution of the video game to suggest video game activities, estimate completion times, present client-level video game help, and customize such video game features for the client as needed.
[0038] For example, a video game platform collects event data, including mechanic identifiers and activity identifiers associated with the successful completion of an activity. This data, collected from many users of the video game platform, is aggregated and processed to identify the most influential mechanics associated with the successful outcome of an activity. The platform then determines which mechanic or mechanics are most correlated with a player successfully completing a given activity, as well as which mechanics should be avoided and which high-impact goals the player should choose when using mechanics. Furthermore, the platform determines mechanic mitigation information, such as identifying which mechanic to use in response to a specific action within the activity.
[0039] The video game platform can generate recommendations for mechanics, goals, avoidance strategies, and mitigation strategies to help players successfully complete an activity. From multiple available mechanics associated with an activity, the video game platform ranks the mechanics based on impact and effectiveness.
[0040] Furthermore, mechanic prompts can be customized based on data associated with a particular video game player and / or input device. In particular, the video game platform can determine player-specific information, including mechanic availability, historical data regarding prior use of the mechanic, the user's current in-game characteristics (including inventory and equipment), and the hardware configuration used by the player during activity (e.g., playing on a video game console, a personal computer with a keyboard and mouse, a mobile device, etc.). For example, the video game platform can filter mechanic prompts based on the player's current state by removing unavailable mechanics, and then prioritize mechanics that best match the player's propensity to accept prompts. Finally, for example, the video game platform can modify mechanic help prompts by including language that references the player's history of using the relevant mechanic to account for the player's prior use of the mechanic.
[0041] To illustrate, consider the example of a video game activity involving capturing or defeating a non-player character opposing the player in a combat activity. The activity may include multiple sub-activities, such as entering a location containing an opponent character and clearing obstacles from the location. The video game platform determines that multiple video game players have used a specific skill to enter the location, used a tool to clear obstacles, and used an ability to capture the opponent. The video game platform also determines that the player is susceptible to an ability used by the non-player character during the combat activity and displays a mechanic avoidance prompt for the player to avoid the ability when used. The video game platform also determines that the player does not have a specific skill available, but rather identifies different skills that are highly correlated with successfully completing the entry sub-activity, including determining the player's proficiency with the different skills. Finally, the video game platform presents a graphical user interface for the player to request and receive help information, including personalized mechanic prompts.
[0042] The embodiments of the present disclosure provide many technical advantages that are superior to existing video game platforms. For example, the functionality of user interfaces such as graphical user interfaces (GUIs) is improved. In particular, by collecting events for each activity, video game, and video game player, the video game platform of the present disclosure can accurately determine the most appropriate mechanism to increase the likelihood of successfully completing the activity. Because accurate determinations can be generated, multiple user interface functions become possible. In particular, a help prompt window in the video game can be presented on the user interface to present mechanism prompts. In addition, the presentation can follow a common style across different activities (in the video game and other video games) and on different types of computing devices (for example, the same information can be displayed on a video game console and a mobile device).
[0043] Figure 1 An example of a computing environment for collecting and processing video game events according to an embodiment of the present disclosure is shown. As shown, the computing environment includes a video game console 110, a video game player device 130, a video game platform 150, a video game developer system 170, and a third-party system 190. The video game console 110 can obtain video games from the video game developer system 170 via the video game platform 150. The video game console 110 can also obtain video content (such as help videos demonstrating how to play video game activities) from the third-party system 190 via the video game platform 150. The video game platform 150 collects, stores, and processes events from the video game player device 130 and the video game console 110 to provide various video game-related functions, such as suggesting video game activities, estimating the completion time of such activities, and presenting video game help.
[0044] In the example, video game console 110 represents a computing device that a user 112 can use and operate to interact with one or more applications, including video games. Display 120, communicatively coupled or integrated with video game console 110, can present video game-related data, including video game content 122, to user 112. User 112 can use other types of computing devices, including, for example, smartphones, tablet computers, laptop computers, desktop computers, or other devices with suitable memory and processors.
[0045] Video game console 110 may execute the video game locally to present video game content 122 on display 120. Additionally or alternatively, video game console 110 may receive video game content 122 based on execution of an instance of a video game application on video game platform 150, video game developer system 170, or another remote computer system. Video games may also be downloaded to video game console 110 from such systems.
[0046] In addition, the video game console 110 can download or stream video content from a third-party system 190, either directly or through the video game platform 150, for presentation on the display 120. Examples of video content include video files generated by a video game developer 170 and uploaded to a third-party system 190, wherein the video files demonstrate how a video game can be played, how a set of activities in a video game can be played, or how a set of mechanics in an activity can be used to play the activity. A mechanic typically represents at least one of the following: a set of tools, a set of abilities, or a set of skills that can be used to play an activity or a portion of an activity. Another example of video content includes a video file generated by one of the video game player devices and uploaded to the third-party system 190, either directly or through the video game platform 190, wherein the video file records the gameplay of the video game player operating the video game player device. Similarly, similar video files can be uploaded from the video game console 110 to the third-party system 190.
[0047] In the example, video game player device 130 represents a computing device of a video game player, who may, but does not necessarily, include user 112. Similar functionality may be provided on each of the video game player device and video game console 110.
[0048] In the example, video game system 170 represents a computer system that includes a set of computing resources for developing video games and that is available to video game developers. In particular, video game system 170 can store video game software 172, upload such software 172 to video game platform 150, and / or download such software 172 to video game console 110.
[0049] The video game software 172 of a video game is program code that is executable to present and interact with the video game content of the video game. The program code may include predefined detections for generating events when the program code is executed. In particular, the program code includes a set of event definitions 174, where an event definition represents code that defines an identifier for an event and the data to be reported for the event. Examples of such event definitions 174 are further described below and are predefined in the program code of the video game based on event templates available from the video game platform 150. Such event templates can be defined by the service provider of the video game platform 150 and can be common across multiple video game developer systems 170.
[0050] In the example, third-party system 190 represents a computer system (such as one or more content servers) for providing video content 192 to video game console 110 directly or indirectly through video game platform 150. As described above, video content 192 can include video files that demonstrate how a video game can be played, how a set of activities in a video game can be played, or how a set of mechanics in an activity can be used to play the activity. Video content 192 can be uploaded to third-party system 190 directly or indirectly through video game platform 150 from one or more of video game developer system 170, video game console 110, and / or video game player device 130.
[0051] In the example, video game platform 150 represents a computer system that provides various video game-related functions to video game console 110. For example, video game platform 150 is configured as a hub between video game console 110, video game player device 130, video game developer system 170, and third-party system 190. In particular, video game software 172 and video content 192 can be downloaded to video game console 110 via video game platform 150. Instances of video games based on the video game software stored on video game platform 150 can be instantiated for video game console 110. Video files can be streamed to video game console 110 via video game platform 150. And communication data (e.g., messages, commands, etc.) can be exchanged between video game console 110 and video game player device 130 via video game platform 150.
[0052] In addition, the video game platform receives event data 114 from the video game console 110 and event data 132 from the video game player device 130 and stores such received data as event data 154 in the data storage area 152. An event processor 156 of the video game platform 150 processes the event data 154 to generate any of an activity time estimate 162, an activity suggestion 164, and an activity help 166 and sends it to the video game console 110 for presentation on the display 120.
[0053] The received event data (either event data 114 or event data 132) represents data reported for an event from a device (e.g., video game console 110 or one of video game player devices 130 as an application) based on execution of program code for a video game, where the program code includes an event definition for the event. Activity time estimate 162 represents an estimated length of time to complete an activity in the video game, which may be referred to herein as a completion time. Activity suggestions 164 represent information suggesting activities available to user 112 in the video game that have not been previously performed or completed by user 112. Activity help 166 includes information, such as video files, textual descriptions, and / or graphical descriptions, regarding completing an activity in the video game or using mechanisms in at least a portion of an activity. Processor 156 executes logic, for example, that performs statistical analysis across a subset of event data 154 associated with the activity to generate activity time estimate 162, activity suggestions 164, and activity help 166. Furthermore, processor 156 can execute logic that customizes any of activity time estimates 162 , activity suggestions 164 , or activity help 166 based on the context of user 110 in the video game and / or within the platform and the type of video game console 110 .
[0054] Typically, an activity is a gameplay unit inherent to the structure of a video game. There are different categories of activities, including progression activities, competitive activities, challenge activities, and open activities. An activity can be defined in program code as an object with multiple attributes. These attributes include an activity identifier, a name, and a category. The activity identifier is a unique identifier for the activity. When an event about an activity is reported to the video game platform 150, the corresponding event data refers to the activity identifier. The name can be a short localized name of the activity. Other attributes are also possible, for example, including a description (e.g., a longer description of the activity), an image of the activity, default availability (e.g., whether the activity is available to all video game players before starting the video game), whether the activity needs to be completed to complete the video game, whether the activity in the video game can be played repeatedly, and nested tasks (child activities, also referred to as sub-activities herein). Multiple events about an activity are also possible.
[0055] An example of an event related to activities may indicate a change in the availability of activities for a video game player (e.g., user 112). This is primarily used to decide which activities to display and remove spoiler boxes for those activities (where activities with spoilers may not be displayed to the video game player). For example, the properties of the event include a list (e.g., an array) of currently available activities.
[0056] An example of an event about an activity may indicate that the video player is currently participating in an activity or task (e.g., a sub-activity). For example, the attributes of the event include an activity identifier of the activity. Optionally, another attribute may be a time corresponding to the start of participation in the activity.
[0057] An example of an event for an activity may indicate the end of an activity or task (e.g., a child activity). For example, attributes of the event include an activity identifier for the activity. Alternatively, another attribute may be a time corresponding to the end of participation in the activity. Alternatively, yet another attribute may be the outcome of the activity, such as completion, failure, or abandonment.
[0058] The video game platform 150 can also collect data about zones in the video game, where the data is reported in a manner similar to events based on pre-defined definitions in the video game's program code. A zone represents an area of the game world (e.g., a virtual world) of a video game with a single coordinate system. A zone may have a two-dimensional (2D) map image associated with it that displays locations on the zone. A zone can be defined in the program code as an object with multiple properties. These properties include a zone identifier and a name. The zone identifier is a unique identifier for the zone. The name can be a short localized name for the zone. Other properties are also possible, including, for example, an indication of whether the object should be considered a hidden object for spoiler box use cases (which can be set to "no" by default), a map (e.g., a high-resolution image of a 2D map of the zone), a view projection (e.g., a matrix (4×4) used to convert from three-dimensional (3D) working coordinates to 2D map locations), and an image (e.g., a displayed image of the zone, if different from the map). Multiple events related to a zone are also possible.
[0059] An example of an event related to a zone may indicate an update to the current in-game location of a video game player. This event may be reported periodically, or whenever a significant change occurs to the player's in-game location. Attributes of this event include a zone identifier. Other attributes are also possible, such as position (e.g., the x, y, z position of a video game player character (the video game player's virtual player) in a zone) and orientation (e.g., an x, y, z vector indicating the direction of the video game player character).
[0060] Another example of a zone event might indicate the zone, location, and orientation of a video game player when they started an activity. This event can enable location-based help. The event's attributes include an activity identifier. Other attributes are also possible, such as the zone identifier and the location and orientation of the video game player character within the video game.
[0061] Another example of a zone-related event might indicate the zone, location, and orientation of a video game player at the time of completing an activity. This event might also enable location-based help. The event's attributes might include an activity identifier. Other attributes are also possible, such as the outcome of the activity, a zone identifier, and the position and orientation of the video game player character within the video game.
[0062] The video game platform 150 can also collect data about characters in the video game, where the data is reported in an event-like manner based on predefined definitions in the video game's program code. A character represents an entity with behavior in the video game. A character can be player-controlled or game-controlled, and this can change dynamically during gameplay. A character can be defined in the program code as an object with multiple properties. These properties include a character identifier and a name. The character identifier is a unique identifier for the character. The name can be a localized name for the character. Other properties are also possible, including, for example, an indication of whether the object should be considered a hidden object for spoiler box use cases (which can be set to "no" by default), an image of the character, and a brief description of the character. Multiple events related to the character are also possible.
[0063] An example of a character-related event might indicate a change in a video game player's character selection. The selected character represents the character controlled by the video game player in the video game and can be displayed in the video game player's profile and other presentation spaces. More than one character can be selected at a time. The video game should replace the character list when loading save data. The attributes of this event include the video game player's currently selected character list (e.g., an array).
[0064] The video game platform 150 can also collect data about mechanics in the video game, where the data is reported in an event-like manner based on predefined definitions in the video game's program code. A mechanic represents an item (e.g., a tool), ability, skill, or effect (e.g., a bow, arrow, stealth attack, fire damage) that a video game player or video game can use to affect gameplay. Mechanisms typically do not include items that do not affect gameplay (e.g., collectibles). Mechanisms can be defined in the program code as objects with multiple properties. These properties include a mechanic identifier and a name. The mechanic identifier is a unique identifier for the mechanic. The name can be a short, localized name for the mechanic. Other properties are also possible, for example, including an indication of whether the object should be considered a hidden object for a spoiler box use case (which can be set to "no" by default), an image of the mechanic, and a short description of the mechanic. Multiple events about the mechanic are also possible.
[0065] An example of an event related to a mechanic might indicate that a change has occurred to the mechanics available to the video game player. A mechanic's availability indicates that the mechanic is available to the video game player in the game world, but may require the video game player to go through some steps to obtain it in their inventory (e.g., download it from a store, pick it up from the world) before using it. This event can also be used to indicate that spoiler boxes on mechanic objects should be dismissed and help tips should be filtered to avoid suggesting unavailable mechanics. A video game should replace the list of mechanics when loading a save. The properties of this event include a list (e.g., an array) of the currently available mechanics.
[0066] Another example of a mechanic-related event might indicate that a video game player's inventory has changed. Inventory refers to mechanics that are immediately available to the video game player, without requiring additional in-game steps before use. Inventory information can be used to estimate the player's readiness for an activity. A video game should replace the inventory list when loading a save. The event's properties include a list (e.g., an array) of mechanics currently in the inventory.
[0067] Another example of an event related to mechanics might indicate that a video game player's equipment has changed. Equipment represents the most directly available mechanics to the video game player and is a subset of the inventory that is displayed to the video game player. The video game should replace the list of mechanics when loading a save. The properties of this event include a list (e.g., an array) of mechanics that are now part of the active equipment.
[0068] Another example of an event about a mechanic may indicate that the mechanic has been used by or against a video game player. Attributes of this event include a list (e.g., an array) of the mechanics used (e.g., rockets, fire damage) and whether the mechanics were used by or against a video game player. Other attributes are also possible, such as an initiator character identifier (e.g., an identifier of the character that initiated the mechanic's use), an initiator character's zone identifier, and an initiator character's location.
[0069] Another example of an event related to a mechanic may indicate that the mechanic had an effect on gameplay (e.g., an arrow hit a target). Attributes for this event include a list (e.g., an array) of mechanics used (e.g., fire arrows, fire damage) and whether or not these mechanics were used by the video game player. Other attributes are also possible, such as, for example, an initiator character identifier, an initiator character's zone identifier, an initiator character's location, a target character identifier (e.g., an identifier of the character targeted by the mechanic), a target's zone identifier, a target character's location, and an identifier of a mechanic that mitigated the initiator mechanic.
[0070] The video game platform 150 can also collect data about game media in the video game, where the data is reported in a similar manner to events based on pre-definisions in the program code of the video game. Game media represents a piece of media (text, audio, video, image) related to the video game provided by the game developer. Game media can or can not exist in-game (e.g., cutscene, audio log, book), Game media can be defined in the program code as an object with multiple attributes. These attributes include a game media identifier, a name, a format, a category, an unlock rule, and a uniform resource locator (URL). The game media identifier is a unique identifier for the game media. The name can be a localized name for the game media. The format can indicate the media format, such as whether the game media is an image, audio, video, text, etc. The category indicates the type of game media, such as whether the game media is a cutscene, audio log, poster, developer comment, etc. The unlock rule indicates whether the game media should be unlocked for all video game players or unlocked based on an activity or a specific game media event. The URL references a media file provided by a server, which can be part of the game developer system 170 or the video game platform 150. Other attributes are also possible, for example, including an indication of whether the object should be treated as a hidden object for spoiler frame use cases (which can be set to "no" by default), entitlements (e.g., indicating that only video game players with a specific video game entitlement can unlock the game media), and activity identifiers (e.g., to associate the game media with a specific activity). Multiple events about game media are also possible.
[0071] An example of an event about game media can indicate that a specific game media clip has been unlocked for a video game player. The attributes of this event include a game media identifier.
[0072] Another example of an event about game media can indicate that a specific game media clip has started in the video game. The game media object should be treated as having been unlocked for the video game player at the corresponding time. The attributes of this event include a game media identifier.
[0073] Yet another example of an event about game media can indicate that a specific game media clip has ended in the video game. The attributes of this event include a game media identifier.
[0074] Figure 2An example of a system architecture for providing contextual information about available game activities to users according to embodiments of the present disclosure is shown. In some embodiments, the example system architecture 200 includes a game client 205, a Universal Data System (UDS) Software Development Kit (SDK) 210, console system software 215, a local rules engine 220, a UDS server 225, a game server 230, processed data 235, and one or more other remote networked services, including a help service 240, a game plan 245, user generated content (UGC) tagging 250, and other services 255. The help service 240 can also receive information from other data sources 260. Some components of the system architecture 200 are examples of components of the video game platform 150. Figure 1 For example, the UDS server 225 and the game server 230 are components of the video game platform 150.
[0075] The game client 205 and the game server 230 provide contextual information about at least one application to a Universal Data System (UDS) server 225 via a UDS data model that describes the logical structure of UDS data used by the UDS SDK 210. The UDS data model enables the platform (e.g., the video game platform 150) to implement remote networked services, such as the help service 240, the game plan 245, the UGC tagging 250, and other services 255 that require game data, without needing to patch games individually to support the services. The UDS data model assigns contextual information to a portion of information in a uniform manner across games. The contextual information from the game client 205 and the UDS SDK 210 is provided to the UDS server 225 via the console system software 215. It will be understood that the game client 205, the UDS SDK 210, the console system software 215, and the local rules engine 220 can run on a computer or other suitable hardware for executing at least one application.
[0076] The UDS server 225 receives contextual information from at least one application from the game client 205 and the game server 230 and stores the contextual information. It is contemplated that the UDS server 225 can receive contextual information from multiple game clients and game servers for multiple users. The information can be processed uniformly 235 and then received by multiple remote networked services 240, 245, 250, and 255.
[0077] Figure 3Another example of a system architecture 300 according to an embodiment of the present disclosure is shown. A game client 305 sends contextual information to a UDS server 310, which provides the contextual information to multiple remote networked services in a unified data model, including profile statistics 315, game plans 320, sessions 325, matches 330, attendance 335, and a help system 340.
[0078] Figure 4 An example of a system 400 for providing a data model of a common data platform 410 according to an embodiment of the present disclosure is shown. Some components of the common data platform 410 are Figure 1 4. In one example embodiment, system 400 may include at least one device 430 configured to execute at least one of a plurality of applications 432, each having an application data structure. Common data platform 410 may be executed on one or more servers. Common data platform 410 may include a data model that is unified across the plurality of application data structures. The data model may include metadata 412 corresponding to at least one object indicated in the data model, and events 414 corresponding to trigger conditions associated with at least one metadata entry. The values of metadata 412 and events 414 may be associated with a user profile. Common data platform 410 may be configured to receive application data from at least one device 430 and store the application data within the data model. System 400 may also include a plurality of remote networked services 420 configured to access application data from common data platform 410 using the data model.
[0079] In various embodiments, metadata 412 may include: a list of all activities a user can perform in the application, the activity name, a description of the activity, the status of the activity (whether it is available, started, or completed), whether the activity is required to complete a goal or campaign, the reward for completing the activity, the opening or ending cutscenes, in-game locations, one or more conditions that must be met before the activity becomes available, and parent activities that contain the activity as a child. Metadata 412 may also include: a list of abilities a user can perform, the effects of each action, telemetry indicating when actions and effects occur, including corresponding timestamps and locations, the in-game coordinate system, a list of in-game forking situations, and telemetry indicating when a forking situation is encountered and which option the user selected. A list of in-game statistics, items, lore, in-game zones, and corresponding properties for each statistic, item, lore, or zone may also be included in metadata 412. Additionally, metadata 412 may indicate whether a particular activity, entity (such as a character, item, ability, etc.), setting, result, action, effect, location, or property should be marked as hidden.
[0080] Events 414 may be triggered in response to a number of various triggering conditions. For example, such triggering conditions may include: a previously unavailable activity becoming available, a user starting an activity, a user ending an activity, an opening or closing cutscene indicating the start or end of an activity, a user changing their in-game location or zone, a change in in-game statistics, acquiring an item or lore, performing an action, an effect occurring, a user interacting with a character, item, or other in-game entity, and discovering an activity, entity, setting, result, action, effect, location, or attribute. Events 414 may include other information about the state of the application at the time event 414 was triggered, such as a timestamp when the user started or ended the activity, difficulty settings and character statistics, success or failure of the activity, or a score or duration associated with a completed activity. It will be understood that metadata 412 and events 414 may include any and all contextual information related to the activities described in this disclosure.
[0081] Figure 5An example of an activity hierarchy according to an embodiment of the present disclosure is shown. As shown, activity 510 can include multiple nested tasks, referred to herein as sub-activities, that form a hierarchy 500. Activity 510 can be a node (e.g., a root node) at the top of the hierarchy 500 and can have a group of child sub-activities 520A to 520K at the next level of the hierarchy 500. Conversely, each of child activities 520A to 520K can be a child node of activity 510 and may be a parent node of a group of sub-activities at the next level of the hierarchy. For example, sub-activity 520K is a parent node of a group of sub-activities 530A to 530L. This type of association relationship between nodes (each node represents a sub-activity) can be repeated at different levels of the hierarchy 500. A set of mechanisms can be associated with each node, indicating that such mechanisms can be available or can be used in the activity corresponding to the node.
[0082] As described above, activity 510 has an activity identifier. Each sub-activity also represents an activity and therefore has an activity identifier. Similarly, each of the mechanisms has a mechanism identifier. The association relationships between the activity identifiers themselves and between the activity identifiers and the mechanism identifiers can be defined based on the hierarchical structure 500. Such association relationships can be stored in objects that define activities (or sub-activities) and / or define mechanisms, and / or can be stored in events related to such objects. For example, the activity identifier of sub-activity 520K can be associated with the activity identifier of activity 510 and / or the activity identifiers of sub-activities 530A to 530L. Similarly, the activity identifier of sub-activity 530L can be associated with the activity identifier of sub-activity 520L and / or the mechanism identifiers of mechanisms 540A to 540M. In addition, the mechanism identifier of a mechanism can be associated with the activity identifier.
[0083] Figure 6 An example of a user interface for presenting information about help tips according to an embodiment of the present disclosure is shown. In particular, a video game platform generates a graphical user interface to present help tips to a user (e.g., a video game player), including information about mechanics available to the user and interactive content describing the mechanics.
[0084] In some embodiments, a video game platform (e.g., Figure 1 The video game platform 150) sends information for the help prompt to the video game console (e.g., Figure 1 video game console 110) to display the Figure 1 The information is presented in a help window 600 on the display 120 of the computer. The help window 600 includes graphical content, such as a graphic that includes information identifying the ongoing activity and sub-activities (e.g., Figure 5530A) and a text title 610. In the illustrative example, the title 610 includes an icon or badge associated with a video game. Alternatively, the icon or badge can represent an ongoing activity. In some embodiments, the help tip window 600 also includes a mechanic tip 620 that describes using a mechanic to help the user successfully complete the activity.
[0085] In addition, the help hint window 600 may include several interactive elements, including, but not limited to, audiovisual content 630, a link 640 for presenting the audiovisual content 630 in a large-scale viewer, and a carousel control 650 for cycling through a number of available mechanic hints 620. For example, the video game platform may determine that for a given activity, three mechanics associated with successful completion of the given activity are available to the video game player. The carousel control 650 allows the player to view the mechanic hints 620 and audiovisual content 630 for each mechanic in a single help hint window 600. In some embodiments, the title 610 is static for each carousel control 650 selection.
[0086] In some embodiments, audiovisual content 630 includes still frames of in-game graphics obtained from the game itself. Additionally, audiovisual content 630 may include, but is not limited to, user-generated video and audio recordings of video game content leading up to successful completion of an activity, which is retrieved from a data store (e.g., Figure 1 In some embodiments, the audiovisual content 630 is uploaded from the user device to the video game platform. Alternatively, the audiovisual content 630 may be identified from the data of multiple video game players stored in the data store 152. Figure 1 The audiovisual content 630 is identified by the event data 154 of the event data, which may include an activity identifier, a mechanism identifier, an estimated length of time for the activity and timestamp information, and other data, which may be processed to generate an appropriate audio or video recording. The processing may be done automatically. In some embodiments, the audiovisual content 630 is processed so that the help hint window 600 presents only a fragment of a larger media file. For example, the help hint window 600 may include a tracking bar 670 that shows the total duration of the audiovisual content 630 in one color (e.g., black), and a section of the tracking bar 670 indicates an area of the audiovisual content 630 that contains information related to the mechanism hint 620 in a second color (e.g., white). In some embodiments, the audiovisual content 630 is processed from a third-party system (e.g., Figure 1 The data received by the third-party system 190 in the video game platform 600 includes spoiler content, including but not limited to in-game narrative scenes immediately following successful completion of an activity. The video game platform can exclude such spoiler content from the audio-visual content 630 by limiting the segment of the audio-visual content 630 presented in the help hint window 600, as shown in the tracking bar 670.
[0087] To illustrate, multiple video game players may have played a video game and recorded video content showing their playtime. For each of these players, the video game platform receives video content and event data. The event data indicates the use of a mechanic, timing information about that use, and the impact of that use on the activity (e.g., based on events related to the activity and mechanic). The video game platform associates the timing with keyframes in the video content to generate a link to a specific portion of the video content (e.g., between two keyframes) showing the use of the mechanic. Such associations can be stored for multiple activities, mechanics, and video content recorded by multiple video game players. When generating a help window 630 for a specific user regarding a mechanic in an activity, the video game platform can select one or more of the video sections to add to the help window 630. Specifically, the video game platform identifies specific video sections associated with the activity and mechanic as a set of candidate video sections. The candidate video sections are ranked according to a set of ranking factors. For example, for each candidate video section, the video game platform can search for the corresponding event data and determine whether the activity was completed or whether the mechanic had a positive impact. The video game platform can also determine a match between the video game player who recorded the candidate video portion and the user, such as whether the language of the recorded audio matches the language of the user, whether the in-game characteristics of the video game player match the in-game characteristics of the user, whether the video game player plays activities at the same difficulty level as the user, etc. The candidate video portions are ranked based on how the ranking factors are met. The highest-ranked candidate video portion can be presented as audiovisual content 630.
[0088] Figure 7 An example of a user interface for presenting information about a video game according to an embodiment of the present disclosure is shown. In particular, a video game console (e.g., Figure 1 ) to the user of the video game (e.g., Figure 1 The video game related functionality is presented to the user 112. User input may be received to initiate an activity after the presentation mechanism.
[0089] like Figure 7 As shown, the video game console displays a Figure 1 A user interface 700 is presented on the display 120 of the user interface 120. The user interface 700 includes a video game page that displays various information and functions related to the video game. In this example, a brief description 710 of the video game is presented (e.g., the game name, developer, and version of the video game). A selectable option 720 for launching the video game is also presented. Other information and functions are also possible.
[0090] Additionally, a set of activity suggestions 730 are presented. Each of the activity suggestions 730 can be presented within the user interface 700 as a window, icon, overlay, or any other graphical user interface element. The activity suggestions 730 can identify activities in the video game that are available to the user and that the user has not previously attempted or completed. For example, the activity suggestions 730 include a textual description and image of the activity, where such data can be obtained from objects that define the activity. User selection of a suggested activity can trigger the video game console (e.g., locally or remotely based on an instance of the video game on the video game platform) to launch the activity. Video game content related to the activity can be presented in the user interface 700.
[0091] Figure 8 An example of a user interface for presenting information about suggested help tips in accordance with an embodiment of the disclosure is shown. In particular, a video game console (e.g., the video game console 110 of Figure 1 presents various functions to a user (e.g., the user 112 of Figure 1 correspond to different applications that are executing locally on the video game console, remotely on a video game platform (e.g., the video game platform 150 of Figure 1 ), or distributed between the video game console and the video game platform. These functions can be related to any of the following: a video game, a video stream, an audio stream, a social media communication, an application and / or title download, an application and / or title installation, and / or other available applications.
[0092] As shown in Figure 8 , the video game console presents a user interface 800 on a display (e.g., the display 120 of Figure 1 ). In some embodiments, the video game console generates the user interface 800 as an overlay on video game content 810. Based on user input at an input device (e.g., selection of a particular button on a video game controller, a user utterance received by an audio sensor, a user gesture detected by an optical sensor, etc.), a menu 812 is presented in the user interface 800. The presentation can include the menu 812 as an overlay on at least a portion of the video game content 810 while continuing to execute the application.
[0093] The menu 812 can display a selection of available activities, for example, as one or more activity options 820 overlaid on the game content 810. At least one of the activity options can be determined based on one or more activities that the user has engaged in in a video game or other application available from a video game console and / or video game platform. Each activity option 820 can include information about the game and activity, including but not limited to a badge 822 representing the game or activity, such as a brand logo, the game name, and a top-level activity 824 and sub-activities 826. In some embodiments, the activity option 820 includes a progress bar 828 that displays the progress of completion of the corresponding top-level activity 824 or sub-activity 826. The activity option 820 can also include help information / indicator 830 indicating that help tips are available for the sub-activity 826.
[0094] A user selection of any of the suggested activities presented in menu 812 may be received. The corresponding activity may be launched. In addition, a user selection of a help function linked to any of the suggested activities presented in menu 812 may be received. The corresponding help function may be launched.
[0095] In some embodiments, the user interface 800 also includes a system interface 850 that links to the video game platform. The system interface 850 can include a home button 860 and a library button 870 that link to the platform-level interface, as well as a user profile icon 880 and other system information 890, including but not limited to a clock, network information, and a battery level indicator.
[0096] Figure 9 An example of a help hint display through a user interface according to an embodiment of the present disclosure is shown. In some embodiments, the video game platform links the activity options 820 displayed as part of the user interface 800 overlay to a hint menu 920. The hint menu 920 may include title information 930, including but not limited to identification of the ongoing game and activity, and a progress bar showing the player's progress towards completion of the activity. In some embodiments, the hint menu 920 presents a list of available hints in a menu interface of selectable options 940. In some embodiments, the selectable options 940 display the name of the activity and other information, including but not limited to the duration associated with the activity or help content. In some embodiments, the video game platform receives a user selection of one of the selectable options 940 and, in response, displays an appropriate help hint window (e.g., Figure 6 As mentioned above, refer to the help prompt window 600. Figure 6 ,The help tip window can contain text and audio-visual content ,demonstrating the successful completion of the sub-activity using the ,mechanism.
[0097] Figure 10An example of a help hint display configuration according to an embodiment of the present disclosure is shown. In some embodiments, the video game platform receives user input to display a help hint window (e.g., Figure 6 10). The video game platform may present a configuration menu 1010 displaying configuration options. For example, in response to user input, the video game platform may present help information in a side pane 1020, wherein the help window occupies a portion of the display area, while the video game content 1040 is presented in the remainder of the display area. Alternatively, the help information may be presented in a picture-in-picture 1030 configuration, superimposed on the video game content 1040. In both examples (e.g., pinned to one side and picture-in-picture), the video game content 1040 may continue at normal or partial speed while the help information is presented, so that the video game player may read the help or view the audio-visual content while also attempting to complete an activity. Alternatively, the audio-visual content may be paused, for example, while playing in the help window or while playing while occupying the entire display area.
[0098] In some embodiments, a mechanic hint can be combined with personalized text 1050 that reflects the video game player's history of using the corresponding mechanic. For example, when a player frequently uses a mechanic (e.g., a new tire), the mechanic hint can include text referencing that usage history (e.g., "The new tire has been used before. Try it again!"). In some embodiments, based on analysis of event data from multiple video game players, personalized text 1050 includes references to new goals for the mechanic or alternative uses of the mechanic.
[0099] Figure 11 An example of an expanded video player display through a user interface according to an embodiment of the present disclosure is shown. In some embodiments, the video game platform receives a user selection to display audiovisual content (e.g., Figure 6 630) is expanded to the expanded video player 1110 (e.g., via Figure 6 640). The video game platform can display the expanded video player 1110 as a graphical user interface 1100 that is overlaid on the video game content while occupying most of the display area. Alternatively, the expanded video player 1110 can occupy the entire display area (e.g., playing the audio-visual content in "full screen" mode). In some embodiments, the video game content is paused while the expanded video player 1110 is displayed. The expanded video game player 1110 can include several video controls 1120 along with the audio-visual content. In some embodiments, the video controls 1120 present additional information including, but not limited to, a video title 1130 identifying activities and mechanics, an expanded tracking bar (e.g., Figure 6Tracking bar 670 for displaying the activity), a skip button 1140 for skipping forward to audiovisual content describing alternative mechanisms also associated with the activity, a carousel control for reproducing a help hint window (e.g., Figure 6 Carousel controls 650), video playback controls, and controls for returning to a previous reference Figure 10 A minimize button 1150 is depicted as one of the viewing options.
[0100] Figure 12 An example of a mechanic type according to an embodiment of the present disclosure is shown, presenting a help hint window containing a mechanic hint for a player to select. In some embodiments, a mechanic is an ability or set of abilities 1210 that allows a player to successfully complete an activity or sub-activity (in this example, attaching a spare tire). In some embodiments, a mechanic is a set of tools 1220 (in one example, road spikes). In some embodiments, a mechanic is a set of skills 1230 (in one example, drifting).
[0101] Figure 13 Examples of mechanic hint types according to embodiments of the present disclosure are shown. In some embodiments, the video game platform determines a mechanic usage hint (e.g., "use fireball"), as shown in FIG. Figures 6 to 12 . In some embodiments, the video game platform determines that there is a condition based on the event data, for which the video game platform will generate a condition-specific prompt. The condition may include, but is not limited to, event data associated with video game content specific to an environment or challenge in the video game (e.g., a specific opponent non-player character, or an in-game obstacle). In some embodiments, the video game platform generates prompt types 1300, including, but not limited to, mechanic use, mechanic avoidance (e.g., "avoid using sword attacks" or "don't use fireballs"), mechanic use with a target character (e.g., "use fireballs against bosses"), basic mechanic mitigation (e.g., "use blocking against sword attacks"), and mechanic mitigation (e.g., "use a shield when a boss uses a sword attack").
[0102] In some embodiments, each mechanism prompt includes information (text, audio, video, etc.) describing how to implement the prompt. For example, a mechanism usage prompt may include text and video demonstrating the successful completion of an activity using the mechanism, such as a reference to a Figures 6 to 12Described. Similarly, mechanism avoidance prompts can include information describing avoidance techniques (e.g., a video tutorial demonstrating the use of virtual player movement controls to avoid incoming swordplay attacks in a video game). In some embodiments, mechanism prompts for identifying a target or target character include information describing the use of a mechanism for the target. For example, a mechanism prompt with a target character can include an image of the target character obtained from a screenshot in the game, and a video tutorial demonstrating the use of a mechanism for the target character to successfully complete an activity. Basic mechanism mitigation prompts can provide information to help the user identify mitigation targets (e.g., swordplay attacks) and demonstrate the use of mechanisms to counteract mitigation targets (e.g., blocking skills). In addition, mechanism mitigation prompts can provide information to identify target characters (e.g., bosses) and mitigation targets (e.g., swordplay attacks), and demonstrate the use of mechanisms (e.g., shields) to counteract mitigation targets when the target character uses mitigation targets.
[0103] like Figure 13 As shown, each of the mechanics hint types can be generated by the video game platform based on event data from multiple video game players. The specific event data varies depending on the hint type 1300, as described below. In some embodiments, the video game platform determines the mechanics hint to display to the user by first determining a master list of mechanics hints that are valid for a given activity for all users, and then personalizing the mechanics help hint to the specific user. In some embodiments, the video game platform generates condition-specific hints based on event data that reflects the existence of conditions in the video game content. The master list of mechanics hints can be provided to a video game developer system (e.g., Figure 1 video game developer system 170), so the developer system can suppress one or more mechanic hints, also known as mechanic hint verification.
[0104] In some embodiments, to generate mechanic usage hints, the video game system first determines a master list of mechanics that are valid for a given activity based on event data, including but not limited to activity identifiers, mechanic identifiers, activity outcomes, mechanic effects, and conditional presences collected from multiple video game players, as described in
[15] ,
[16] ,
[17] ,
[18] ,
[19] ,
[20] ,
[21] ,
[22] ,
[23] ,
[24] , Figure 1 As discussed. In some embodiments, different mechanic hint types are generated by referencing additional event data specific to the mechanic hint type. The video game platform then determines the effectiveness of each mechanic in the overall list to achieve successful completion of the activity. In some embodiments, the effectiveness of each mechanic is determined by a successful completion rate, which is determined based on event data stored in the data store. The successful completion rate can then be used to rank effective mechanics, thereby allowing the selection of appropriate mechanics to provide mechanic hint information to help complete the associated activity.
[0105] About mechanism target type, video game platform can generate mechanism prompt, and described mechanism prompt includes the mechanism target that uses mechanism for it.In some embodiments, the successful completion of activity is associated with the use of mechanism for one or more specific targets.Specific targets include but are not limited to non-player characters and environmental effects (for example, terrain barriers, weather effects, hindering navigation, puzzles, metal gloves, traps, etc.).Video game platform may consider target when generating effective mechanism list by reference to event data that associates mechanism impact with one or more mechanism targets.As illustrative example, the successful completion of activity (such as, crossing insurmountable obstacles) may be highly correlated with the use of specific tool mechanism (such as, rope) on specific environmental target (such as, being positioned at the protruding wooden beam above obstacle).In another illustrative example, the successful completion of activity (such as, negotiation) may be highly correlated with the use of specific skills or abilities (such as, inspiration, persuasion, intimidation or magic) when used for one or more target non-player characters before or during the activity.It should be understood that, in addition to the two illustrative examples described here, many other types of targets are also possible.
[0106] Regarding the mechanism avoidance type, the video game platform can limit the mechanism suggestions to exclude mechanisms with a success completion rate below a predefined threshold from the ranking. Alternatively, when the success completion rate is below a predefined threshold, the video game platform can generate a mechanism prompt to avoid using the mechanism in relation to the corresponding activity. To illustrate this concept in an example, a video game player may try to complete a combat activity (e.g., a boss battle, where the activity requires the video game player to defeat a non-player character in a simulated battle) using a bladed weapon tool, and the combat opponent is resistant to the weapon tool or is invulnerable (e.g., the boss battle is characterized by the opponent being a heavily armored opponent). In response, the video game platform can generate an avoidance prompt (e.g., "Don't use sword attacks on the boss") that associates the use of the mechanism with the failure result of the activity.
[0107] In some embodiments, the event data indicates that one or more mechanics, when used against a video game player, have a highly negative impact on successfully completing the associated activity. In this case, the video game platform may generate an avoidance prompt to instruct the video game player to avoid using the mechanic. As an illustrative example, the mechanic prompt may advise the video game player to avoid using powerful bladed weapon attacks during combat activities.
[0108] In some embodiments, the video game platform personalizes mechanic hints for a specific user by filtering the list of all valid mechanics to account for mechanic availability, re-ranking the available mechanics based on the user's propensity to accept the mechanic, and personalizing the hint presentation. Figure 1 As discussed, according to the information provided to the video game platform (e.g. Figure 1 video game platforms) to determine mechanic availability.
[0109] Regarding a user's propensity to accept mechanic suggestions, event data for a particular video game player may indicate that the player prefers a given mechanic over a higher-ranked mechanic. The video game platform may adjust the mechanic ranking to account for the video game player's history of using the mechanic and the player's propensity to accept mechanic suggestions, as indicated by the event data corresponding to the player. For example, a player may be less likely to accept a suggestion suggesting a mechanic that is not currently in the player's equipment or inventory than a suggestion suggesting a frequently used mechanic that is already in the player's equipment.
[0110] With respect to personalizing the presentation of hints, the video game platform may add modifiers to hints to reflect the video game player's prior use of the mechanic (e.g., Figure 10 In some embodiments, a mechanic prompt may be generated for the player to obtain a mechanic that is not currently in the player's inventory but is otherwise available, such as in conjunction with Figure 1 discussed.
[0111] Figures 14 and 15 An example process for generating a mechanism to help video game players complete activities in a video game is shown. The operations of the process can be implemented as hardware circuits and / or stored as computer-readable instructions on a non-transitory computer-readable medium of a computer system (such as a video game console and / or video game platform). As implemented, the instructions represent a module including circuits or codes that can be executed by a processor of the computer system. The execution of such instructions configures the computer system to perform the specific operations described herein. Each circuit or code combined with the processor represents a device for performing the corresponding operation. Although these operations are described in a specific order, it should be understood that no specific order is required and some operations can be omitted.
[0112] Figure 14An example of a process for presenting information about mechanics to help a video game player successfully complete an activity in a video game according to an embodiment of the present disclosure is shown. In the example, the process includes operation 1402, in which a computer system receives an identifier for an activity, an identifier for a mechanic used during the activity, and completion data indicating that the video game player completed the activity. As described above, the activity identifier and mechanic identifier are predefined in the program code of the video game. For example, the activity identifier, mechanic identifier, and completion data are received based on the execution of the program code on a video game console, video game platform, and / or remote system. For example, the activity identifier, mechanic identifier, and completion data are received as events. Each of these events includes an activity identifier as an attribute, a mechanic identifier as an attribute, the start or end of the activity as an attribute, and optionally, the result of the activity.
[0113] In the example, the process includes operation 1404, in which the computer system stores the activity identifier, the mechanism identifier, and the completion data in a data store. For example, the received event is stored as event data in the data store. The data store may store similar events for multiple other video game players, each of which indicates the activity or another activity (which may be in the video game or in another video game).
[0114] In the example, the process includes operation 1406, in which the computer system determines, from the data storage area, completion data for activities of a plurality of video game players. For example, the activity identifier is used to look up stored event data and retrieve an event that references the activity identifier. Similarly, the mechanism identifier is used to determine, based on the data, that the mechanism was used during the activity. For each of the video game players, the event data may indicate the use of the mechanism during the activity, the results of the activity, and the impact of using the mechanism during the activity, such as referenced Figure 1 The description of the use of the mechanism, its impact, the results of the activity, and any additional information, including but not limited to target identifiers, mitigation target identifiers, and avoidance identifiers, collectively representing completion data.
[0115] In an example, the process includes operation 1408, where the computer system generates information about the mechanism used to complete the activity based on the determined completion data. The information may include mechanism avoidance information, information identifying one or more mechanism targets, mechanism mitigation information, and mechanism mitigation target information.
[0116] In an example, the process includes operation 1410, in which a computer system presents the generated information including the mechanism suggestion to a user who has not yet completed the activity on a user device associated with the user. The computer system (e.g., a video game platform) sends the information to the video game console, which then presents the information on a graphical user interface, such as that shown in FIG. Figures 6 to 12 described.
[0117] Figure 15 An example of a process for generating a list of mechanism prompts for a given activity is shown. In the example, the process includes operation 1502, where the computer system generates a list of mechanisms associated with the activity or sub-activity as a whole. Figure 13 As described, the computer system generates a list of mechanic hints based in part on event data for a plurality of video game players stored in a data store and based on associations of mechanics with successful outcomes for given activities.
[0118] In an example, the process includes operation 1504, where the computer system provides the list of mechanisms to the video game developer system for verification. The video game developer system may suppress one or more mechanisms from the list based on criteria including, but not limited to, quality, such as reference Figure 13 described.
[0119] In an example, the process includes operation 1506, in which the computer system ranks the mechanism prompts on the list. The ranking can be combined with the mechanism impact and effectiveness data from the data store. The system can rank the mechanism prompts based in part on the success rate determined based on the event data associated with the activity results, the event data including but not limited to the target identifier, mechanism identifier, etc., as shown in the reference Figure 13 described.
[0120] In an example, the process includes operation 1508, where the computer system determines the availability of mechanics prompts for a particular video game player and filters the list to remove unavailable mechanics. In some embodiments, for example, availability is determined based on event data, such as in inventory and equipment, such as reference Figure 1 described.
[0121] In an example, the process includes operation 1510, where the computer system determines the user's propensity to accept mechanic prompts and re-ranks the available mechanic prompts to account for the propensity. The propensity may include previous use of the mechanic and the presence of the mechanic in the player's inventory, as shown in FIG. Figure 13 described.
[0122] In an example, the process includes operation 1512, where the computer system generates a personalized hint presentation modifier to indicate the previous use or inventory status of a particular video game player's mechanic. The personalized hint presentation modifier may include a modified textual mechanic hint to indicate that the user has a history of using the mechanic. For example, a word such as "again" or "continue to use" may be added to the mechanic use hint, as in reference to a game. Figure 10 and Figure 13 Alternatively, the system may add text and other information to assist the user in obtaining mechanisms that are available but not currently in the user's inventory or equipment, such as references to Figure 13 described.
[0123] Figure 16 An example of a hardware system suitable for implementing computer system 1600 according to an embodiment of the present disclosure is shown. For example, computer system 1600 represents a video game console, video game platform, or other type of computer system. Computer system 1600 includes a central processing unit (CPU) 1602 for running software applications and, optionally, an operating system. CPU 1602 can be composed of one or more homogeneous or heterogeneous processing cores. Memory 1604 stores applications and data for use by CPU 1602. Storage 1606 provides non-volatile storage and other computer-readable media for applications and data and can include fixed disk drives, removable disk drives, flash memory devices, and CD-ROMs, DVD-ROMs, Blu-ray Discs, HD-DVDs, or other optical storage devices, as well as signal transmission and storage media. User input devices 1608 transmit user input from one or more users to computer system 1600. Examples of such user input devices may include a keyboard, mouse, joystick, touchpad, touch screen, still or video camera, and / or microphone. The network interface 1610 allows the computer system 1600 to communicate with other computer systems via an electronic communications network, and may include wired or wireless communications over a local area network and a wide area network such as the Internet. The audio processor 1612 is adapted to generate analog or digital audio output based on instructions and / or data provided by the CPU 1602, memory 1604, and / or storage device 1606. The components of the computer system 1600, including the CPU 1602, memory 1604, data storage device 1606, user input device 1608, network interface 1610, and audio processor 1612, are connected via one or more data buses 1660.
[0124] Graphics subsystem 1630 is also connected to data bus 1660 and components of computer system 1600. Graphics subsystem 1630 includes a graphics processing unit (GPU) 1632 and graphics memory 1634. Graphics memory 1634 includes display memory (e.g., a frame buffer) for storing pixel data for each pixel of an output image. Graphics memory 1634 can be integrated into the same device as GPU 1632, connected to GPU 1632 as a separate device, and / or implemented within memory 1604. Pixel data can be provided directly to graphics memory 1634 from CPU 1602. Alternatively, CPU 1602 provides data and / or instructions defining a desired output image to GPU 1632, and GPU 1632 generates pixel data for one or more output images based on the data and / or instructions. The data and / or instructions defining the desired output image can be stored in memory 1604 and / or graphics memory 1634. In an embodiment, GPU 1632 includes 3D rendering capabilities for generating pixel data for an output image based on instructions and data that define the geometry, lighting, shading, texturing, motion, and / or camera parameters of a scene. GPU 1632 may also include one or more programmable execution units capable of executing shader programs.
[0125] Graphics subsystem 1630 periodically outputs pixel data for an image from graphics memory 1634 for display on display device 1650. Display device 1650 may be any device capable of displaying visual information in response to signals from computer system 1600, including CRT, LCD, plasma, and OLED displays. Computer system 1600 may provide analog or digital signals to display device 1650.
[0126] According to various embodiments, CPU 1602 is one or more general-purpose microprocessors having one or more processing cores. Additional embodiments may be implemented using one or more CPUs 1602 having a microprocessor architecture that is particularly well-suited for highly parallel and computationally intensive applications such as media and interactive entertainment applications.
[0127] The components of the system can be connected via a network, which in various embodiments can be any combination of the Internet, an IP network, an intranet, a wide area network ("WAN"), a local area network ("LAN"), a virtual private network ("VPN"), a public switched telephone network ("PSTN"), or any other type of network that supports data communication between the devices described herein. The network can include wired and wireless connections, including optical links. Many other examples are possible and apparent to those skilled in the art in light of this disclosure. In the discussion herein, a network may or may not be specifically referred to.
[0128] In the foregoing description, the present invention has been described with reference to specific embodiments of the present invention, but those skilled in the art will recognize that the present invention is not limited thereto. The various features and aspects of the foregoing invention may be used individually or in combination. In addition, the present invention may be used in any number of environments and applications other than those described herein without departing from the broader spirit and scope of this specification. Therefore, this specification and accompanying drawings should be considered illustrative and not restrictive.
[0129] It should be noted that the methods, systems, and devices discussed above are intended to be examples only. It must be emphasized that various embodiments may omit, replace, or add various procedures or components where appropriate. For example, it should be understood that in alternative embodiments, the methods may be performed in an order different from that described, and steps may be added, omitted, or combined. In addition, the features described with respect to certain embodiments may be combined in various other embodiments. Different aspects and elements of the embodiments may be combined in a similar manner. In addition, it should be emphasized that technology is constantly evolving and, therefore, many elements are examples and should not be interpreted as limiting the scope of the invention.
[0130] Specific details are given in the description to provide a thorough understanding of the embodiments. However, one of ordinary skill in the art will appreciate that the embodiments can be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques are shown without unnecessary detail to avoid obscuring the embodiments.
[0131] In addition, it should be noted that the embodiments may be described as processes depicted as flow charts or block diagrams. Although each may describe operations as a sequential process, many operations may be performed in parallel or simultaneously. Furthermore, the order of the operations may be rearranged. The process may have additional steps not included in the figure.
[0132] Furthermore, as disclosed herein, the term "memory" or "memory unit" can refer to one or more devices for storing data, including read-only memory (ROM), random access memory (RAM), magnetic RAM, core memory, magnetic disk storage mediums, optical storage mediums, flash memory devices, or other computer-readable mediums for storing information. The term "computer-readable medium" includes, but is not limited to portable or fixed storage devices, optical storage devices, wireless channels, a SIM card, other smart cards, and various other mediums capable of storing, containing, or carrying instruction or data.
[0133] Furthermore, embodiments can be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks can be stored in a computer-readable medium such as a storage medium. A processor(s) can perform the necessary tasks.
[0134] Unless otherwise stated, all measurements, values, ratings, positions, magnitudes, sizes, and other specifications that are set forth in this specification are approximate, not exact. They are intended to have a reasonable range that is consistent with the functions to which they relate and with what is customary in the art before the application at issue was invented. "Approximately" includes within its scope of tolerance ±0.01%, ±0.1%, ±1%, ±2%, ±3%, ±4%, ±5%, ±8%, ±10%, ±15%, ±20%, ±25%, or as otherwise known in the art. "Substantially" means more than 66%, 155%, 80%, 90%, 95%, 99%, 99.9%, or, depending on the context in which the term substantially appears, values otherwise known in the art.
[0135] Having described several embodiments, one skilled in the art will recognize that other modifications, substitutions, and alternatives are possible. For example, the elements described above can merely be a part of a larger system, wherein other rules can take precedence over, or otherwise modify, the application of the application. Further, a number of steps can be taken before, during, or after consideration of the above elements. Therefore, the above description should not be taken as limiting on the scope of the application.
Claims
1. A method implemented by a computer system, the computer system being configured to provide at least one unified video game service across a plurality of video games, the method comprising: receiving an activity identifier for an activity completed by a first video game player in a video game and a mechanic identifier for a mechanic used by the first video game player in the video game during the activity, wherein the mechanic comprises at least one of: a set of tools, a set of abilities, or a set of skills available in the video game, and wherein the activity identifier and the mechanic identifier are predefined in program code of the video game according to a unified data model used by a plurality of video games and are received based on execution of the program code; storing the activity identifier and the mechanism identifier in a data store; determining, based on activity identifiers and mechanic identifiers for a plurality of video game players stored in the data store, that the plurality of video game players used the mechanic in the activity; generating information regarding said mechanism for accomplishing said activity; as well as The information is presented in a user interface via a help service independent of the video game to a second video game player of the video game who has not yet completed the activity.
2. The method according to claim 1, further comprising: A determination is made that the mechanic is available to the second video game player, wherein the information is presented based on the mechanic being available.
3. The method of claim 1 , wherein the information comprises at least one of: a text description, a link to a graphical animation, a link to a video file, or a link to an audio file, and wherein the information is presented in a window above at least a portion of the video game content of the video game.
4. The method of claim 3 , wherein the window includes a first option for showing the information adjacent to the video game content and a second option for showing the information in a picture-in-picture window above the video game content, and wherein the window also includes a link to a video about completing the activity using the mechanism.
5. The method of claim 3 , wherein the window further comprises a map corresponding to an area within the video game content, wherein the area illustrates estimated locations where the plurality of video game players completed the activities and a current location of a virtual player within the video game content, and wherein the virtual player corresponds to the second video game player.
6. The method of claim 1 , wherein determining that the plurality of video game players utilized the mechanism comprises: Based on the data stored in the data store for the plurality of video game players, a score is generated for the mechanic based on a frequency of the mechanic identifier during the activity.
7. The method according to claim 6, further comprising: After presenting the information and before receiving a second activity identifier, receiving the activity identifier, the mechanic identifier, and a result of the second video game player completing the activity; determining that the result is a successful completion; as well as The score is updated based on the successful completion.
8. The method according to claim 6, further comprising: ranking the mechanism relative to one or more other mechanisms that may be used to complete the activity based on the score; as well as A mechanic is selected to be presented to the second video game player based on the ranking.
9. The method of claim 1 , wherein the mechanism is used in the video game during the activity to at least one of: (i) assist the first video game player in improving at least one of the set of tools, the set of abilities, or the set of skills, or (ii) assist the first video game player in playing against another video game player or interacting with video game objects, and wherein the video game is associated with a video game developer, and the method further comprising: Prior to presenting the information regarding the mechanic, receiving confirmation from the video game developer that the information is valid.
10. The method of claim 1 , wherein determining that the plurality of video game players utilized the mechanism comprises: accessing data for the plurality of video game players from the data store, wherein the data includes the activity identifier, the mechanic identifier, and a successful completion or failed completion for each of the plurality of video game players; as well as determining, based on the data, that a success rate of completing the activity using the mechanism is above a predefined threshold, The information indicates that the activity is completed using the mechanism.
11. The method of claim 1 , wherein determining that the plurality of video game players utilized the mechanism comprises: accessing data for the plurality of video game players from the data store, wherein the data includes the activity identifier, the mechanic identifier, and a successful completion or failed completion for each of the plurality of video game players; as well as determining, based on the data, that a failure completion rate for completing the activity using the mechanism is above a predefined threshold, The information indicates to avoid using the mechanism to complete the activity.
12. The method of claim 1 , wherein determining that the plurality of video game players utilized the mechanism comprises: accessing data for the plurality of video game players from the data store, wherein the data includes the activity identifier, the mechanic identifier, and a successful completion or failed completion for each of the plurality of video game players; as well as determining, based on the data, that a successful completion rate of completing the activity using the mechanism when a condition exists in the activity is above a predefined threshold, The information indicates that the activity is completed using the mechanism when the condition exists.
13. The method of claim 1, further comprising: The mechanism is ranked for the second video game player relative to one or more other mechanisms that can be used to complete the activity based on at least one of the following: availability of the mechanism from the second video game player's account, spoilers about the activity or the video game included in the mechanism, availability of the mechanism from an app store, or a history of use of the mechanism by the second video game player.
14. The method of claim 1 , wherein generating the information comprises: determining a history of use of the mechanic by the second video game player; as well as The information is personalized for the second video game player based on the history.
15. The method of claim 1 , wherein generating the information comprises: Determining the availability of said mechanism from an in-game store, app store, or platform store; as well as The information is personalized for the second video game player based on the availability.
16. A computer system configured to provide at least one unified video game service across a plurality of video games, the computer system comprising: one or more processors; as well as one or more memories storing computer-readable instructions that, when executed by the one or more processors, configure the computer system to: receiving an activity identifier for an activity completed by a first video game player in a video game and a mechanic identifier for a mechanic used by the first video game player in the video game during the activity, wherein the mechanic comprises at least one of: a set of tools, a set of abilities, or a set of skills available in the video game, and wherein the activity identifier and the mechanic identifier are predefined in program code of the video game according to a unified data model used by a plurality of video games and are received based on execution of the program code; storing the activity identifier and the mechanism identifier in a data store; determining, based on activity identifiers and mechanic identifiers for a plurality of video game players stored in the data store, that the plurality of video game players used the mechanic in the activity; generating information regarding said mechanism for accomplishing said activity; as well as The information is presented in a user interface via a help service independent of the video game to a second video game player of the video game who has not yet completed the activity.
17. The computer system of claim 16, wherein execution of the computer-readable instructions further configures the computer system to: accessing data for the plurality of video game players from the data store, wherein the data includes the activity identifier, the mechanic identifier, and a difficulty setting for playing the video game; and The information about the mechanic is associated with the difficulty setting.
18. One or more non-transitory computer-readable storage media storing instructions that, when executed on a computer system configured to provide at least one unified video game service across multiple video games, cause the computer system to perform operations comprising: receiving an activity identifier for an activity completed by a first video game player in a video game and a mechanic identifier for a mechanic used by the first video game player in the video game during the activity, wherein the mechanic comprises at least one of: a set of tools, a set of abilities, or a set of skills available in the video game, and wherein the activity identifier and the mechanic identifier are predefined in program code of the video game according to a unified data model used by a plurality of video games and are received based on execution of the program code; storing the activity identifier and the mechanism identifier in a data store; determining, based on activity identifiers and mechanic identifiers for a plurality of video game players stored in the data store, that the plurality of video game players used the mechanic in the activity; generating information regarding said mechanism for accomplishing said activity; as well as The information is presented in a user interface via a help service independent of the video game to a second video game player of the video game who has not yet completed the activity.
19. The one or more non-transitory computer-readable storage media of claim 18, wherein the activity is a task from a plurality of tasks forming a second activity, wherein the operations further comprise: presenting a window to the second video game player in a first state, the window identifying the second activity and presented over video game content of the video game; presenting the window in an expanded state upon selection of the second activity, the window in the expanded state identifying the task of the second activity; as well as The window in the expanded state is updated to show the information about the mechanism when the activity is selected from the task.
20. The one or more non-transitory computer-readable storage media of claim 19, wherein the operations further comprise: identifying a second mechanism that can be used to accomplish the activity; determining that the mechanism is ranked higher than the second activity; as well as The information is presented in the window in the expanded state based on a higher ranking, wherein the window further includes an option to replace presentation of the information with presentation of second information regarding the second mechanism.
21. The one or more non-transitory computer-readable storage media of claim 18, wherein the activity is a task from a plurality of tasks forming a second activity, wherein the operations further comprise: A first event indicating that the first video game player used the mechanic during the activity and a second event indicating an impact of using the mechanic on gameplay in the activity are received, wherein the information is further generated based on the first event and the second event.
Citation Information
Patent Citations
Placement of user information in a game space
CN106964155A
User analysis system and method
CN110337319A