Server-based generation of help maps in video games

Through the computer system, a unified graphical user interface is generated to display the activity completion status of multiple video game players, solving the user experience differences and improving the consistency and quality of video game experience.

CN114761097BActive Publication Date: 2024-12-24SONY INTERACTIVE ENTERTAINMENT LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202080080204.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-11-18
Filing Date
2020-10-23
Publication Date
2024-12-24
Estimated Expiration
2040-10-23

AI Technical Summary

Technical Problem

The user experience varies between different video games and computing devices, and the display of specific parts of the video games is unique, resulting in inconsistent user experience.

Method used

Through the computer system, the activity events in video games are collected and processed, a unified graphical user interface is generated, and the activity completion status of multiple video game players is displayed, activity suggestions and help are provided, and the consistency of the game experience is improved.

Benefits of technology

It realizes a unified user experience on different video games and computing devices, improving the game's graphical user interface functionality and player experience quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114761097B_ABST
    Figure CN114761097B_ABST
Patent Text Reader

Abstract

Techniques for improving graphical user interfaces are described. In one example, a computer system receives event data from a plurality of user devices. Each event data includes an identifier of an activity in a video game, completion data indicating completion of the activity, and location data indicating where in the video game the activity was completed. The identifier may be predefined in program code of the video game. The event data may be received based on execution of the program code. The event data is processed to determine a possible location in the video game where the activity was completed. The possible location is shown as a graphical user interface element in a map.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application is a continuation of U.S. application No. 16 / 687,372 filed on November 18, 2019, which is incorporated herein by reference in its entirety for all purposes. Background Art

[0003] The video games may be available on different computing devices. For example, a user operates a video game console and a mobile device to play a first video game and a second video game, respectively. Additionally, the video games may be available from different sources. For example, a video game console may be operable to play multiple video games from two or more different video game developers.

[0004] Given the increase in the number of video games and their availability on different computing devices and from different sources, the user experience often varies. For example, the manner in which gameplay assistance may be sought may differ significantly between video games. Additionally, the manner in which particular portions of a video game are displayed as playable on a computing device may be unique to a particular video game.

[0005] Therefore, the user experience may vary from video game player to video game player. 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 used 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 one example, the operation includes receiving an activity identifier for an activity completed by a first video game player in a video game and location information for a location within the video game where the activity was completed. The activity identifier is predefined in a program code of the video game. The activity identifier and the location information are received based on execution of the program code. The operation also includes storing the activity identifier and the location information in a data store. The operation also includes determining that a plurality of video game players completed the activity in the location based on a lookup of the data store using the activity identifier and the location information, and including a first graphical user interface element corresponding to the location in a map. The first graphical user interface element indicates an estimated location where the activity was completed by the plurality of video game players in the location. The operation also includes presenting the map to a second video game player, the map showing the first graphical user interface element in the location.

[0008] In one example, the location is a zone. In this example, the operations further include: receiving a first location of the first video game player within the zone when the first video game player completed the activity; storing the first location in the data storage area; determining that the plurality of video game players completed the activity within a predefined threshold distance of each other based on the locations of the plurality of video game players stored in the data storage area; and setting the first graphical user interface element in the map based on the locations of the plurality of video game players. In this example, the estimated location is a center of the location. The first graphical user interface element is set at the center. In this example, the first graphical user interface element comprises a heat map of the location.

[0009] In one example, the operations further include receiving an event indicating that the first video game player completed the activity. The event includes an outcome of the activity and a first location of the first video game player within the location. The outcome is one of a success or a failure. The operations further include storing data from the event in the data storage area; determining that the multiple video game players successfully completed the activity within a predefined threshold distance of each other based on data from events received for the multiple video game players stored in the data storage area; and setting the first graphical user interface element in the map based on the locations of the multiple video game players. In this example, the location is a zone. The location information is a zone identifier for the zone. The event also includes the activity identifier and the zone identifier.

[0010] In one example, the map is presented in a window above a portion of video game content for the video game. The video game content shows the location. The window includes an option to show the map adjacent to the video game content. In this example, the operations also include receiving the activity identifier in conjunction with the second video game player playing the video game, receiving a location of a virtual player within the video game content. The virtual player corresponds to the second video game player. The operations also include including a second graphical user interface element in the map. The second graphical user interface element indicates the location on the map. The presented map also shows the second graphical user interface element in the location. The operations also include receiving an updated location of the virtual player, and updating the presentation of the map by updating the second graphical user interface element to show the updated location and maintaining the first graphical user interface element.

[0011] In one example, when the map is selected in the window, the map is expanded and presented over the video game content.

[0012] In one example, the location is a zone. The location information is a zone identifier for the zone. The window also includes a link to a video associated with the activity identifier and the zone identifier. In this example, when the link is selected for the first time while the map continues to be presented in the window, the video is played in the window. Additionally, upon a second selection of the link, the video is presented above the video game content.

[0013] In one example, the location is a zone. The location information is a zone identifier for the zone. The window also includes information about using a mechanism to complete the activity. The mechanism is associated with the activity identifier and the zone identifier. In this example, the information about using the mechanism 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.

[0014] In one example, the operations further include presenting video game content of the video game while continuing to present the map. The video game content shows a graphical user interface object including a plurality of levels. The location and the map correspond to one of the plurality of levels.

[0015] In one example, the video game includes a progression campaign, an open campaign, and a competitive campaign. The map is accessed based on whether the campaign is one of the progression campaign or the open campaign.

[0016] In one example, the operation also includes presenting a window to the second video game player in a first state. The window identifies a second activity and is presented above the video content of the video game. The operation also includes presenting the window in an expanded state when the second activity is selected. The task in the expanded state identifies the second activity. The operation also includes updating the window in the expanded state to show the map when the activity is selected from the tasks. In this example, the location is a zone. The location information is a zone identifier for the zone. The window is updated to further show a link to a video and information about using a mechanism to complete the activity. The link and the information are associated with the activity identifier and the zone identifier and are shown simultaneously with the map. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] 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.

[0018] Figure 2 An example of a system architecture for providing contextual information about available gaming activities to a user according to an embodiment of the present disclosure is shown.

[0019] Figure 3 Another example of a system architecture according to an embodiment of the present disclosure is shown.

[0020] Figure 4 An example of a system for providing a data model for a common data platform according to an embodiment of the present disclosure is shown.

[0021] Figure 5 An example of an activity hierarchy according to an embodiment of the present disclosure is shown.

[0022] Figure 6 Depicted is an example of a user interface presented by a video game console in accordance with an embodiment of the present disclosure.

[0023] Figure 7 An example of presenting video game help in a user interface according to an embodiment of the present disclosure is shown.

[0024] Figure 8 A user interface presented on a display is shown according to an embodiment of the present disclosure.

[0025] Fig. 9 An example of displaying video game help through a user interface according to an embodiment of the present disclosure is shown.

[0026] Fig.10 An example of presenting video game help in a user interface according to an embodiment of the present disclosure is shown.

[0027] Fig.11 An example of determining an activity completion location by associating an event of a video game with a map location according to an embodiment of the present disclosure is shown.

[0028] Fig.12 Another example of determining an activity completion location by associating an event of a video game with a map location according to an embodiment of the present disclosure is shown.

[0029] Fig.13 An example of a process for presenting a map including graphical user interface elements to a video game player is shown according to an embodiment of the present disclosure.

[0030] Fig.14 An example of a process for determining a location of an activity completion location within a zone of a video game is shown according to an embodiment of the present disclosure.

[0031] Fig.15 An example of a process for presenting a map including a graphical user interface element depicting a location where an activity was completed is shown according to an embodiment of the present disclosure.

[0032] Fig.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

[0033] 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 to, among other things, multiple video game functionalities, such as for 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 a change in the way video games are developed, nor does it require a universal approach to video game development. Instead, a tool that relies on various events in 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, and provide video game help at the client level, and customize such video game functionality at the client level as needed.

[0034] For example, a video game includes multiple activities. When an instance of a video game is executed for a video game player (whether locally on the video game player's computing device or remotely on the video game platform), the video game platform receives events about the played activities and location information of the virtual player corresponding to the video game player in the zone of the game world. The video game platform stores such events as event data. For the played activities, the associated event data includes an activity identifier of the activity and indicates its type, its start time, its end time, its potential results (e.g., success or failure), the zone where the activity is performed, and / or the location where the activity is completed within the zone. Based on the event data associated with the played activities, the video game platform can determine the location where the video game player completes the activity. The location can be defined as a zone at low resolution or as a location within a zone at high resolution.

[0035] Similarly, the video game platform receives and stores in a data storage area event data associated with a plurality of activities and received from computing devices of a plurality of video game players. In view of the activity identifier of the activity, the video game platform retrieves the event data associated with the activity (e.g., event data including the activity identifier) ​​from the data storage area, and performs statistical analysis on the retrieved event data. Based on the statistical analysis, the video game platform determines that a certain number of video game players (e.g., a certain percentage of video game players playing the activity exceeding a predefined threshold) have completed the activity in the zone. Therefore, the video game platform can associate the activity with the zone to indicate that the activity can be completed in the zone as a low-resolution location. In addition and based on the statistical analysis, the video game platform determines that most of the video game players playing the activity in the zone (e.g., a certain percentage exceeding the same or different thresholds) have completed the activity at a location within a threshold distance from each other and derive an estimated location of the activity completion from these locations (e.g., the estimated location can be an average value). Therefore, the video game platform can also associate the activity with the estimated location to indicate that the activity can be completed at the estimated location as a high-resolution location. The video game platform provides a zone map for presentation in a user interface. A first graphical user interface (GUI) element is shown in the map to indicate the estimated location. The current location of the user playing the activity may also be shown on the map as a second GUI element.

[0036] In addition, the map in the user interface can be updated based on the user's game play process. The user's current location is updated in the map, while the first GUI element remains unchanged in the map.

[0037] Embodiments of the present disclosure provide many technical advantages over existing video game platforms. For example, the functionality of the graphical user interface (GUI) is improved. Specifically, by collecting events for each activity, video game, and video game player and across different types of computing devices, the video game platform of the present disclosure can accurately estimate the possible location (e.g., location within a zone or zone) of each activity and each game. Help diagrams can be generated and presented in the GUI in a universal style in different types of devices and video games. Each of such help diagrams provides relevant help in the GUI and improves the quality of playing the game.

[0038] 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. Video games can be used by the video game console 110 from the video game developer system 170 through the video game platform 150. Video content (such as a help video demonstrating how to play a video game activity) can also be used by the video game platform 150 from the third-party system 190 for the video game console 110. 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 functionality, including, for example, suggesting video game activities, estimating the completion time of such activities, and providing video game help.

[0039] In one example, video game console 110 represents a computing device that can be used by user 112 and is operable to interact with one or more applications including video games. Display 140 communicatively coupled or integrated with video game console 110 can present video game related data, including video game content 142, to user 112. User 112 may use other types of computing devices including, for example, a smartphone, tablet computer, laptop computer, desktop computer, or other device with suitable memory and processor.

[0040] Video game console 110 may execute the video game locally to present video game content 142 on display 140. Additionally or alternatively, video game console 110 may receive video game content 142 based on executing 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.

[0041] In addition, the video game console 110 can download or stream video content from the third-party system 190 directly or through the video game platform 150 for presentation on the display 140. Examples of video content include video files generated by the video game developer 170 and uploaded to the third-party system 190, where the video file demonstrates how a video game can be played, a set of activities in the video game can be performed, or a set of mechanisms in the activity can be used to perform the activity. Mechanisms generally represent at least one of a set of tools, a set of abilities, or a set of skills that can be used to perform 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 directly or through the video game platform 150, where the video file records the game play process 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.

[0042] In one example, video game player device 130 represents a computing device of a video game player, who may, but need not, include user 112. Similar functionality may be provided on each of the video game player device and video game console 110.

[0043] In one example, video game system 170 represents a computer system that includes a set of computing resources for developing video games and that can be used by video game developers. Specifically, 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.

[0044] The video game software 172 of the video game is a program code that is executable to present and interact with the video game content of the video game. The program code may include predefined tools that generate events when the program code is executed. Specifically, the program code includes a set of event definitions 174, wherein the event definition represents an identifier that defines an event and a code that is to report data for the event. Examples of such event definitions 174 are further described below and are predefined in the program code of the video game according to event templates that can be obtained from the video game platform 150. Such event templates can be defined by a service provider of the video game platform 150 and can be common in multiple video game developer systems 170.

[0045] In one example, third-party system 190 represents a computer system, such as one or more content servers, that is used to provide video content 192 to video game console 110, either directly or indirectly through video game platform 150. As explained herein above, video content 192 may include video files that demonstrate how a video game may be played, a set of activities in a video game may be performed, or an activity may be performed using a set of mechanics in an activity. Video content 192 may be uploaded to third-party system 190 from one or more of video game developer system 170, video game console 110, and / or video game player device 130, either directly or indirectly through video game platform 150.

[0046] In one example, video game platform 150 represents a computer system that provides various video game related functionality to video game console 110. For example, video game platform 150 is provided as a hub between video game console 110, video game player device 130, video game developer system 170, and third party system 190. Specifically, video game software 172 and video content 192 may be downloaded to video game console 110 via video game platform 150. An instance of a video game based on the video game software stored on video game platform 150 may be instantiated for video game console 110. Video files may be streamed to video game console 110 via video game platform 150. Additionally, communication data (e.g., messages, commands, etc.) may be exchanged between video game console 110 and video game player device 130 via video game platform 150.

[0047] 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 and send any of an activity time estimate 162, an activity suggestion 164, and an activity help 166 to the video game console 110 for presentation on the display 140.

[0048] 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, wherein 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 a video game, which may be referred to herein as a completion time. Activity suggestion 164 represents information suggesting activities that are available to user 112 in the video game and that user 112 has not previously performed or completed. Activity help 166 includes information about completing an activity in a video game or using a mechanism in at least a portion of an activity, such as a video file, a text description, and / or a graphical description. Processor 156 executes, for example, logic for performing statistical analysis across a subset of event data 154 associated with an activity to generate activity time estimate 162, activity suggestion 164, and activity help 166. Additionally, processor 156 may execute logic to customize any of activity time estimates 162 , activity suggestions 164 , and activity help 166 based on the context of user 112 within the video game and / or platform and based on the type of video game console 110 .

[0049] Typically, an activity is a gameplay unit inherent to the structure of a video game. There are different categories of activities, including progress activities, competitive activities, challenge activities, and open activities. An activity can be defined in a program code as an object with multiple attributes. The attributes include an activity identifier, a name, and a category. An activity identifier is a unique identifier for an 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 for the activity. Other attributes are possible, including, for example, 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 can be repeated in the video game, and nested tasks (child activities, also referred to as sub-activities herein). Multiple events about an activity are possible.

[0050] An example of an event about 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 blocks for those activities (where activities with spoilers may not be displayed to the video game player). The properties of this event include, for example, a list (e.g., an array) of currently available activities.

[0051] 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-level activity). The attributes of the event include, for example, an activity identifier of the activity. Another attribute may optionally be a time corresponding to the start of participation in the activity.

[0052] An example of an event about an activity may indicate the end of an activity or task (e.g., a child activity). Attributes of the event include, for example, an activity identifier for the activity. Another attribute may optionally be a time corresponding to the end of participation in the activity. Yet another attribute may optionally be an outcome of the activity, such as completion, failure, or abandonment.

[0053] The video game platform 150 can also collect data about zones in the video game, where the data is reported similarly to events based on pre-definitions in the program code of the video game. 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 can have a two-dimensional (2D) map image associated with it, which is used to display locations on the zone. A zone can be defined in the program code as an object with multiple attributes. The attributes 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 attributes are possible, including, for example, an indication of whether the object should be considered hidden for a spoiler block use case (which can be set to "no" by default), a map (e.g., a high-resolution image of a zone 2D map), a view projection (e.g., a matrix (4×4) for converting from three-dimensional (3D) working coordinates to 2D map locations), and an image (e.g., a display image of the zone, if different from the map). Multiple events about a zone are possible.

[0054] An example of an event about a zone may indicate an update to a video game player's current in-game location. The event may be reported periodically, or whenever a significant change in the player's in-game location occurs. Attributes of the event include a zone identifier. Other attributes are possible, such as optionally a 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 an orientation (e.g., an x, y, z vector indicating the direction of the video game player character).

[0055] Another example of an event about a zone may indicate the zone, location, and orientation of a video game player when starting an activity. This event may enable location-based help. The attributes of this event include an activity identifier. Other attributes are possible, such as an optional zone identifier and the location and orientation of the video game player character in the video game.

[0056] Another example of an event about a zone may indicate the zone, location, and orientation of the video game player when the activity was completed. This event may also enable location-based help. The attributes of this event include an activity identifier. Other attributes are possible, such as optionally the result of the activity, a zone identifier, and the position and orientation of the video game player character in the video game.

[0057] The video game platform 150 can also collect data about characters in the video game, where the data is reported similarly to events based on pre-definitions in the program code of the video game. A character represents an entity with behavior in a video game. A character can be player-controlled or game-controlled, and this can change dynamically during the game play process. A character can be defined in the program code as an object with multiple attributes. The attributes 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 attributes are possible, including, for example, an indication of whether the object should be considered hidden for a spoiler block use case (which can be set to "no" by default), an image of the character, and a brief description of the character. Multiple events about the character are possible.

[0058] An example of an event about a character may indicate a change in a video game player's selection of a character. The selected character represents the character that the video game player controls in the video game, and may be displayed on the video game player's profile and other presentation spaces. More than one character may be selected at a time. The video game should replace the character list when loading save data. The properties of this event include a list (e.g., an array) of the characters currently selected by the video game player.

[0059] The video game platform 150 can also collect data about mechanisms in the video game, where the data is reported similarly to events based on predefined definitions in the program code of the video game. Mechanisms represent items (e.g., tools), abilities, skills, or effects (e.g., bows, arrows, stealth attacks, fire damage) that can be used by video game players or video games to affect the gameplay process. The mechanisms generally do not include items (e.g., collectibles) that do not affect the gameplay process. Mechanisms can be defined in the program code as objects with multiple attributes. The attributes include a mechanism identifier and a name. The mechanism identifier is a unique identifier for the mechanism. The name can be a short localized name for the mechanism. Other attributes are possible, including, for example, an indication of whether the object should be considered hidden for a spoiler block use case (which can be set to "no" by default), an image of the mechanism, and a short description of the mechanism. Multiple events about mechanisms are possible.

[0060] An example of an event about a mechanic may indicate that a mechanic available to a video game player has changed. The availability of a mechanic indicates that the mechanic is available to the video game player in the game world, but may require the video game player to complete some steps to get it into an inventory (e.g., download from a store, pick it up from the world), and then use it. This event may also be used to indicate that spoiler blocks on mechanic objects should be unblocked, and help tips should be filtered to avoid suggesting the use of unavailable mechanics. The video game should replace the list of mechanics when loading save data. The properties of this event include a list (e.g., an array) of the currently available mechanics.

[0061] Another example of an event regarding mechanics may 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 steps in the video game prior to use. Inventory information may be used to estimate the player's readiness for an activity. A video game should replace the inventory list when loading save data. The properties of this event include a list (e.g., an array) of mechanics that are currently in the inventory.

[0062] Yet another example of an event regarding mechanics may indicate that a video game player's equipment has changed. Equipment represents the mechanics most directly accessible to the video game player, and is a subset of the inventory that is displayable to the video game player. The video game should replace the list of mechanics when loading save data. The properties of this event include a list (e.g., an array) of mechanics that are now part of the active equipment.

[0063] Another example of an event about a mechanic may indicate that the mechanic has been used by a video game player or used against a video game player. Attributes of the event include a list (e.g., array) of mechanics used (e.g., rockets, fire damage) and whether the mechanic was used by a video game player or used against a video game player. Other attributes are possible, such as optionally an initiator character identifier (e.g., an identifier of a character that initiated the use of the mechanic), a zone identifier of the initiator character, and a location of the initiator character.

[0064] Another example of an event about a mechanic may indicate that the mechanic had an effect on the gameplay (e.g., an arrow hit a target). The attributes of the event include a list (e.g., an array) of the mechanics used (e.g., rockets, fire damage) and whether the mechanic was used by a video game player or against a video game player. Other attributes are possible, such as optionally an initiator character identifier, a zone identifier for the initiator character, a location of the initiator character, a target character identifier (e.g., an identifier of a character targeted by the mechanic), a target zone identifier, a location of the target character, and an identifier of a mechanic that mitigated the initiator mechanic.

[0065] The video game platform 150 can also collect data about game media in the video game, wherein the data is reported similarly to an event based on a predefined in the program code of the video game. Game media represents a media segment (text, audio, video, image) related to the video game provided by the game developer. Game media may exist in the game (e.g., plot screen, audio log, book) or may not exist in the game (e.g., developer comment). Game media can be defined as an object with multiple attributes in the program code. The attributes include game media identifier, name, format, category, unlocking rules and uniform resource locator (URL). Game media identifier is a unique identifier of game media. The name can be a localized name of game media. Format can indicate media format, such as whether game media is image, audio, video, text, etc. Category indicates the type of game media, such as whether game media is plot screen, audio log, poster, developer comment, etc. Unlocking rules indicate whether game media should be unlocked for all video game players or unlocked based on activities or specific game media events. URL references media files provided by a server, wherein the server can be a part of the game developer system 170 or the video game platform 150. Other attributes are possible, including, for example, an indication of whether the object should be considered hidden for a spoiler block use case (which may be set to "no" by default), entitlements (e.g., indicating that only video game players with a particular video game entitlement can unlock the game media), and campaign identifiers (e.g., associating the game media with a particular campaign). Multiple events are possible regarding the game media.

[0066] An example of an event about gaming media may indicate that a particular gaming media segment has been unlocked for a video game player. The attributes of the event include a gaming media identifier.

[0067] Another example of an event about gaming media may indicate that a particular gaming media segment has been started in a video game. The gaming media object should be considered unlocked for the video game player at the corresponding time. The attributes of the event include a gaming media identifier.

[0068] Another example of an event about gaming media may indicate that a particular gaming media segment has ended in a video game. The attributes of the event include a gaming media identifier.

[0069] Figure 2An example of a system architecture for providing contextual information about available gaming activities to a user according to an embodiment of the present disclosure is shown. In some embodiments, the exemplary system architecture 200 includes a game client 205, a universal data system (UDS) software development kit (SDK) 210, console system software 215, a local rule 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) tags 250, and other services 255. The help service 240 may also receive information from other data sources 260. Some components of the system architecture 200 are Figure 1 Examples of components of video game platform 150. For example, UDS server 225 and game server 230 are components of video game platform 150.

[0070] The game client 205 and the game server 230 provide context information about at least one application to the UDS server 225 via a UDS data model that describes the logical structure of the UDS data used by the Universal Data System (UDS) SDK 210. The UDS data model enables a platform (e.g., a video game platform 150) to implement remote networking services such as a help service 240, a game plan 245, UGC tags 250, and other services 255 that require game data without the need to patch the game separately to support the service. The UDS data model assigns context information to a portion of the information across games in a unified manner. The context 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 should be understood that the game client 205, the UDS SDK 210, the console system software 215, and the local rule engine 220 can be run on a computer or other suitable hardware for executing at least one application.

[0071] The UDS server 225 receives context information from at least one application from the game client 205 and the game server 230 and stores the context information. It is to be understood that the UDS server 225 can receive context information from multiple game clients and game servers for multiple users. The information can be processed uniformly 235 and then received by multiple remote networking services 240, 245, 250, and 255.

[0072] Figure 3Another example of a system architecture 300 according to an embodiment of the present disclosure is shown. A game client 305 sends context information to a UDS server 310, which provides the context information to a variety of 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.

[0073] Figure 4 An example of a system 400 for providing a data model for 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 430 . In an exemplary embodiment, the 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. The common data platform 410 may be executed on one or more servers. The common data platform 410 may include a data model unified in a 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 the metadata 412 and the events 414 may be associated with a user profile. The common data platform 410 may be configured to receive application data from at least one device 430 and store the application data in the data model. The system 400 may also include a plurality of remote networking services 420, which are configured to access application data from the common data platform 410 using the data model.

[0074] In various embodiments, metadata 412 may include: a list of all activities that a user can perform in the application, the name of the activity, a description of the activity, the status of the activity (whether it is available, started or completed), whether the activity requires completion of a goal or campaign, a reward for completing the activity, an opening or ending cutscene, a location in the game, one or more conditions that must be met before the activity becomes available, and a parent activity that contains the activity as a child activity. Metadata 412 may also include: a list of abilities that the user can perform, the effects of each action, telemetry indicating when the actions and effects occur, including corresponding timestamps and locations, an in-game coordinate system, a list of forking situations in the game, and telemetry indicating when a forking situation is encountered and which option the user selects. A list of in-game statistics, items, lore, in-game zones, and corresponding properties for each statistic, item, lore, or zone may likewise be included in metadata 412. In addition, 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.

[0075] Events 414 may be triggered in response to a number of various trigger conditions. For example, such trigger conditions may include: a previously unavailable activity becomes available, a user starts an activity, a user ends an activity, an opening or closing cutscene of an activity starting or ending, a user's in-game location or zone changes, in-game statistics change, an item or lore is acquired, an action is performed, an effect occurs, a user interacts with a character, item, or other in-game entity, and an activity, entity, setting, result, action, effect, location, or attribute is discovered. Events 414 may include other information about the state of the application when event 414 is triggered, such as a timestamp when a user starts or ends an activity, difficulty settings and character statistics, success or failure of an activity, or a score or duration associated with a completed activity. It should be understood that metadata 412 and events 414 may include any and all contextual information related to the activities described in the present disclosure.

[0076] Figure 5The example of activity hierarchy according to the embodiment of the present disclosure is shown.As shown in the figure, activity 510 can include multiple nested tasks forming hierarchy 500, which are referred to as sub-activities herein.Activity 510 can be a node (e.g., a root node) at the top of hierarchy 500 and can have a group of child sub-activities 520A to 520K at the next level of hierarchy 500.Conversely, each of sub-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 hierarchy.For example, sub-activity 520K is a parent node of a group of sub-activities 530A to 530L.This type of association between nodes (each representing a sub-activity) can be repeated at different levels of hierarchy 500.A group of mechanisms can be associated with each node, indicating that such mechanisms can be available or available in the activity corresponding to the node.

[0077] As explained above in this paper, activity 510 has an activity identifier. Each sub-activity also represents an activity and therefore also has an activity identifier. Similarly, each of the mechanisms has a mechanism identifier. The association between the activity identifier itself and between the activity identifier and the mechanism identifier can be defined based on the hierarchy 500. Such association can be stored in an object defining an activity (or sub-activity) and / or defining a mechanism and / or can be stored in an event related to such an object. For example, the activity identifier of sub-activity 520K can be associated with the activity identifier of activity 510 and / or the activity identifier of sub-activity 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 identifier of mechanism 540A to 540M. In addition, the mechanism identifier of the mechanism can be associated with the activity identifier.

[0078] Figure 6 Depicted is a video game console (e.g., Figure 1 10). The user interface 600 presents a map 602 of an area of ​​a video game including a player location 604, a first activity completion location 606, and a second activity completion location 608. The map is obtained from a video game platform (e.g., Figure 1 The video game platform 150) receives and shows the location where the activity is completed in the area.

[0079] like Figure 6As shown, a map 602 of the user interface 600 presents an area of ​​a video game having two locations where other players have completed corresponding activities. The video game platform generates a first activity completion location 606 associated with an activity identifier (e.g., activity A), and a second activity completion location 608 associated with a different activity identifier (e.g., activity B). The user interface may also receive user input (e.g., mouse clicks, controller buttons, touch gestures) at the presented location to obtain additional information about the location. Other data may be shown in the user interface 600. For example, the user interface 600 may present, simultaneously with the map 602, a portion of video content showing the user how to complete one of the activities within the video game (e.g., activity A or activity B) and / or information (e.g., text) about completing the activity using a mechanism.

[0080] The video game platform may additionally generate points of interest corresponding to mechanical locations, optional bonus features, or other video game events unrelated to activity completion. The user interface may present various additional points of interest based on personalized factors such as game progress percentage, user skill level, or user completion of other bonus activities.

[0081] Figure 7 An example of presenting video game help in a user interface according to an embodiment of the present disclosure is shown. In some embodiments, a user interface 700 depicts video game content 702. The user interface 700 may display a map 706 superimposed on at least a portion of the video game content 702. The map 706 may show a current position 710 of a video game player that may be updated based on the interaction of the video game player with the user interface 700. The current position 710 of the video game player may reorient or traverse the map 706 while maintaining other map features, such as an activity completion location 704. The user interface 700 may orient the map 706 to a cardinal direction upward, or orient the direction of travel of the video game player upward or orient the movement based on the orientation of the view of the video game player (e.g., locking to the first-person perspective of the map). In some cases, when a specific user interacts with the map 706 (e.g., double-clicking), the map 706 may be displayed above the video game content 702 using an expanded format (e.g., full screen). In this case, the video game content 702 may be paused.

[0082] Figure 8 An embodiment of the present disclosure is shown in a display (eg, Figure 1120). The user interface 800 shows various information and functionality related to the video game. In one example, video game content 802 can be presented in a portion of the display. The user interface 800 can also display related activity cards on a portion of the user interface 800. Each activity card can be presented as a window, icon, or some other GUI element, includes information about the activity, and can be selected to start the activity or request help about the activity.

[0083] In one example, a video game has three activities that are relevant to the video game player. These and other activities can be determined based on one or more activities that the video game player participates in in the video game or other applications available from the video game console and / or video game platform. Thus, the user interface 800 displays three activity cards, each corresponding to one of the activities (in Figure 8 806, activity B 808, and activity C 810). In some cases, user interface 800 may present average or expected times in activity cards to assist the user in selecting an activity card.

[0084] Fig. 9 An example of displaying video game help through a user interface 900 according to an embodiment of the present disclosure is shown. Initially, the user interface 900 presents an activity card 910 for an activity. When a user interacts with the activity card 910, the user interface 900 presents an expanded activity card 930 showing sub-activities of the activity. When the user selects a sub-activity, the user interface 900 presents a help card 950 that includes a map showing the current user location and an area where the activity is completed for the selected sub-activity (or more generally, a selected activity), as well as a link to a video portion showing how the sub-activity can be performed.

[0085] In one example, activity card 910 includes a title portion 912, an activity identifier 914, and an activity description 920 about the activity. In contrast, expanded activity card 930 includes additional information related to the activity. Fig. 9 In the example shown, the expanded activity card 930 includes a list of some available sub-activities 940 that are available to the video game player. The user interface 900 can receive a selection of a sub-activity 942 within the expanded activity card 930. In the current example, the user interface 900 receives a selection of the sub-activity 942 "Get a car" from the list of sub-activities 940. Either the activity card 910 or the expanded activity card 930 can include information or one or more indicators indicating whether help is available for the activity. Such information and / or indicators can be presented as a selectable graphical user interface element that triggers the presentation of available help (e.g., presentation of a help card 950).

[0086] In response to the selection, user interface 900 displays a help card 950 including additional details and help specific to sub-activity 942. Help card 950 includes a title 952 of sub-activity 942, a map 954 of the activity, and links to portions of video content 956 and 958. Map 954 is Figure 6 An example of a map 602 of FIG. Links may be to specific completion locations shown in or within a zone (e.g., Figure 7 A video of another player's game play process of completing the sub-activity 942 at the activity completion location 704 of the game, wherein the link can be obtained based on the association between the video and the activity identifier 914 of the sub-activity 942, the zone identifier of the zone, and / or the location identifier (e.g., location data) of the completion location. The link can be presented as a thumbnail in the help card 950. When the user selects the link (e.g., clicks on the thumbnail), the video can be played in the help card 950 while continuing to present the map 954. When the link is selected for the second time (e.g., double-clicking on the thumbnail), the video can be expanded to full screen (e.g., to cover the video content 956). Whether it is via a user selection from the help card 950 or via a video portion selected by the user for the activity completion location 704, the relevant video portion can be presented. In addition, the help card 950 can also include other information, such as text, graphics, or video links about using the mechanism to complete the activity. This information is available based on the association between the mechanism and the activity identifier 914 of the sub-activity 942 and / or the zone identifier of the zone.

[0087] Fig.10 An example of presenting video game help in a user interface according to an embodiment of the present disclosure is shown. In some embodiments, the user interface receives a request for a help card (e.g., Fig. 9 The user interface selects a help card 950 (for example, a help card 950 for the video game content 1006) and presents a configuration menu 1002 displaying configuration options. In some examples, the option to lock to one side from the configuration menu 1002 corresponds to showing the help card 950 or a map (e.g., map 954) from the help card 950 in the side pane 1004. If this option is selected, the user interface presents the help card 950 or map in a window adjacent to the window showing the video game content 1006 while the video game continues to execute. In addition, a picture-in-picture option is available from the configuration menu 1002. This option corresponds to showing the help card 950 or map superimposed on the video game content 1006 in the picture-in-picture 1008 window while the video game continues to execute.

[0088] Fig.11 An example of determining an activity completion location by associating a video game event with a map location according to an embodiment of the present disclosure is shown. For example, a video game platform (e.g., Figure 1 160) from multiple computing devices of video game players (e.g., Figure 1 The video game player device 130) receives events about the activity and uses these events as event data (e.g., Figure 1 The event data 154) is stored in a data storage area (e.g., Figure 1 The event data includes, among other things, an activity identifier, a zone identifier, the outcome of the activity, the position (x, y, z) of the virtual player corresponding to the video game player, and the combination of Figure 1 Other data described.

[0089] In one example, for a zone with a zone identifier, the video game platform uses the zone identifier to look up a data storage area to determine event data that includes the zone identifier. The video game platform determines activity identifiers for activities performed in the zone, results of the activities, and locations where the activities are completed based on the event data. For activities among these activities that are progression activities or open-ended activities, the video game platform determines whether the number of video game players who have completed the activity exceeds a predefined threshold number. If so, the video game platform associates the activity with the zone to indicate at a low resolution that the activity can be completed in the zone. In addition, if a certain number of locations are in the zone and are within a certain threshold distance relative to each other, and if the number exceeds the predefined threshold number, the video game platform generates an estimated completion location for the activity within the zone. The video game platform associates the activity with the estimated completion location in the zone to indicate at a high resolution a specific location in the zone where the activity can be completed. In addition, the video game platform determines a map of the zone based on properties of the objects that define the zone, such as in combination with Figure 1 The estimated location may be shown as a GUI element (eg, a pin, a circle, etc.) overlaid on the map.

[0090] exist Fig.11In the illustrative example of , the video game platform determines that two activities were performed in zone 1100. For the first activity, the video game platform determines from the event data that only one location 1102 of the video game player was observed in zone 1100. Because the number (e.g., one) is insufficient (e.g., below a predefined threshold), the video game platform does not associate zone 1100 with the activity. In contrast, for the second activity, the video game platform determines from the event data that a large number (e.g., exceeding a predefined threshold) of video game players completed the activity while being at locations 1104A through 1104F within zone 1100. Therefore, the video game platform associates zone 1100 with the second activity to indicate that the activity can be completed in zone 1100. Additionally, the video game platform determines that locations 1104B through 1104F are within a predefined threshold distance 1106 of each other, while location 1104A is outside of the predefined threshold distance 1106. Because the number of locations within the threshold distance 1106 (e.g., locations 1104B to 1104F) is large (e.g., exceeds a predefined threshold) and the number of locations not within the threshold distance (e.g., location 1104A) is small (e.g., less than a predefined threshold), the video game platform generates an estimated location from locations 1104B to 1104F, wherein the estimated location corresponds to a place in area 1100 where the second activity can be completed. In one example, the estimated location is an average of locations 1104B to 1104F. In another example, the estimated location is set to the center of a circle containing locations 1104B to 1104F and having a radius less than or equal to the threshold distance 1108. In yet another example, the estimated location is set to an area on a map, wherein the area corresponds to a circle or a heat map corresponding to locations 1104B to 1104F.

[0091] The above examples are provided for illustrative purposes. The embodiments of the present disclosure are not limited thereto. Specifically, the video game platform may associate a location (area or position) with multiple activities, activity combinations, and a set of tasks for an activity (e.g., combining Figure 5 Any combination of described sub-activities, mechanics, areas, illustrated characters, illustrated objectives, and / or objects defined in the program code of the video game and which receive and store events thereof.

[0092] In one example, a zone may include multiple areas or levels (e.g., a zone may correspond to a building having multiple levels). A map may be generated by zone or level. Analysis of event data used to determine completion locations may also be refined to zone or level.

[0093] In addition, the map presented in the user interface may include one or more zones. For example, a user is performing an activity associated with a first zone. However, the user's virtual player is not currently in a second, different zone. In this example, the map may include at least the first zone and the second zone, so that the user can view their current location in the first zone and one or more activity completion locations in the second zone in one map.

[0094] In addition, an activity can be associated with one or more zones. For example, completion of an activity occurs in multiple zones (e.g., an activity has multiple completion locations, and these locations are distributed in multiple zones). In this example, the video game platform can associate an activity with multiple zones, or associate an activity with one or more zones in multiple zones where a predetermined number or more of activity completions occur. In this case, the map can include multiple zones or one or more zones.

[0095] Fig.12 Another example of determining an activity completion location by associating a video game event with a map location according to an embodiment of the present disclosure is shown. Here, and in combination with Fig.11 Similar to the determination described, video game platforms (e.g. Figure 1 The video game platform 150 of the embodiment of the present invention determines from the event data that the zone 1200 is associated with an activity, wherein the locations 1204A to 1204F in which a large number of activities are completed (e.g., a number exceeding a predefined threshold) belong to the zone 1200. However, and in conjunction with Fig.11 Unlike the determination described above, the video game platform determines that a large number of these locations (e.g., locations 1204A-1204C and 1204F) are not within a predefined threshold distance of each other. Therefore, the video game platform can generate an association at a low resolution indicating that the activity can be completed within zone 1200, but cannot generate an association at a high resolution indicating that the estimated location of completion is in zone 1200 because such an estimated location cannot be determined. In other words, at Fig.11 In the example of FIG. 1 , the video game platform may provide a map indicating a zone and an estimated location for completing an activity within the zone, while the video game platform may provide a map indicating the zone but not the estimated location. In both maps, the map may be updated (e.g., based on specific user input at an input device requesting to do so) to indicate various locations where other players complete activities.

[0096] Figures 13 to 15An exemplary process for providing a map including graphical elements as a help aid 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 (such as a video game console and / or video game platform) of a computer system. As implemented, the instructions represent a module including circuits or codes that can be executed by a processor of a computer system. The execution of such instructions configures the computer system to perform specific operations described herein. Each circuit or code combined with the processor represents a device for performing a corresponding operation. Although the operations are shown in a particular order, it should be understood that a particular order is not required and certain operations can be omitted.

[0097] Fig.13 An example of a process for presenting a map including graphical user interface elements to a video game player according to an embodiment of the present disclosure is shown. In one example, the process includes operation 1302, wherein a computer system receives an activity identifier of an activity completed in a video game by a first video game player. The computer system also receives location information of a location where the activity is completed within the video game. For example, the first video game player may operate a video game console to play the video game. The video game console sends event data to a video game platform when executing the program code of the video game. The video game platform receives the event data, and the event data includes an activity identifier and location information. The location information may be any one of a zone identifier of a zone where the activity is completed and / or a location where the activity is completed within the zone. The event data may include information such as an activity identifier, a mechanism identifier, etc. The activity identifier and the zone identifier may be predefined in the program code of the video game.

[0098] In one example, the process includes operation 1304, where the computer system stores the activity identifier and the location information in a data store. For example, the computer system stores multiple as part of the event data. The computer system stores similar event data for events received from multiple computing devices operated by one or more video game players.

[0099] In one example, the process includes operation 1306, wherein the computer system determines that multiple video game players have completed an activity in the location based on searching the data storage area using the activity identifier and the location information. For example, the video game platform determines the number (or percentage) of video game players who have completed the activity in the area based on the event data. By determining that the number (or percentage) exceeds a predefined threshold, the computer system determines that the completion of the activity may occur in the area. Therefore, the computer associates the area with the completion of the activity by storing the area identifier in association with the activity identifier in the data storage area. In another illustration, the computer system determines the number (or percentage) of video game players who have completed the activity when they are in a position in the area within a predefined threshold based on the event data. By determining that the number (or percentage) exceeds the predefined threshold, the computer system determines that the completion of the activity may occur at an estimated location in the area. The computer system can set the estimated location to, for example, the average value or center of the location. In addition, the computer associates the estimated location with the completion of the activity by storing the estimated location and the area identifier in association with the activity identifier in the data storage area.

[0100] In one example, the process includes operation 1308, where the computer system includes a first graphical user interface element corresponding to the location in a map. For example, the map is associated with the zone identifier in a data store. The computer system retrieves the map from the data store based on a lookup using the zone identifier. In addition, the computer system updates the map to include the first graphical user element at the estimated location.

[0101] In one example, the process includes operation 1310, where a computer system presents a map to a second video game player. For example, the map is sent to a computing device (e.g., a video game console) of the second video player and the video game console presents it on a display. As presented, the map shows a first graphical user interface element. The map may show the first graphical user interface element as described above in conjunction with Figures 6 to 9 For example, the second video game player's current location in the zone (or more generally in the video game) can be determined based on the second video game player's event. The map can be updated locally by the computing device or remotely by the video game player to also show a second graphical user interface element corresponding to the second video game player's current location.

[0102] Fig.14An example of a process for determining the location of an activity completion location within a zone of a video game according to an embodiment of the present disclosure is shown. In one example, the process includes operation 1402, where a computer system receives an activity identifier for an activity of a video game, a zone identifier for a zone, an activity result (e.g., indicating that the activity was completed in the zone), and the location of multiple video game players within the zone. For example, such data can be received in an event from a computing device (e.g., a video game console) of a video game player and can be stored as event data over time in a data storage area.

[0103] In one example, the process includes operation 1404, where the computer system determines the number of video game players who have completed an activity in the zone. For example, the computer system determines the number based on a lookup of a data storage area.

[0104] In one example, the process includes operation 1406, where the computer system determines whether the number of video game players exceeds a predefined threshold. If so, the process proceeds to operation 1408. Otherwise, the process proceeds to operation 1409.

[0105] In one example, the process includes operation 1408, where the computer system identifies the zone as a location for completing the activity associated with the activity identifier. The computer system can store the identification as an association between the zone identifier and the activity identifier in a data storage area. The association is used to provide a map of the zone, indicating that the zone is a location where the activity can be completed.

[0106] In one example, the flow includes operation 1409, where the computer system does not generate an association indicating that the zone is a location for completing an activity. If this is not done, a map cannot be provided as an example of the indication.

[0107] In one example, the process includes operation 1410, where a computer system determines a location of a video game player within a zone, where the location corresponds to a specific place where an activity is completed. For example, the location is determined based on a lookup of a data store. If the number of locations is small (e.g., less than a predefined threshold number), operation 1415 can be performed. Otherwise, operation 1410 is followed by operation 1412.

[0108] In one example, the process includes operation 1412, where the computer system determines whether the positions of the video game players are within a threshold distance of each other. If a majority of the positions (or a certain number of positions exceeding a predefined threshold number) are within the threshold distance, then operation 1412 is followed by operation 1414. Otherwise, operation 1415 may be performed.

[0109] In one example, the process includes operation 1414, where the computer system determines an estimated location within the zone for completing the activity. For example, the estimated location is calculated as an average, center, or heat map of locations within a threshold distance of each other. The computer system can generate an association between the estimated location, the zone identifier, and the activity identifier and store it in a data storage area. The association can be used to provide a zone map indicating that the estimated location is a specific place where the activity can be completed.

[0110] In one example, the process includes operation 1415, in which the computer system does not generate an estimated location. If this is not done, a map showing the estimated location cannot be provided.

[0111] Fig.15 An example of a process for presenting a map including a graphical user interface element depicting a location where an activity was completed according to an embodiment of the present disclosure is shown. If operation 1415 is performed instead of operation 1414, the map may only show the area, or if operation 1414 is performed, the map may show an estimated location.

[0112] In one example, the process includes operation 1502, where a computer system determines an activity and / or zone in a video game currently being played by a video game player. For example, an event is received from a computing device (e.g., a video game console) of the user and the event includes an activity identifier for the activity and / or a zone identifier for the zone.

[0113] In one example, the process includes operation 1504, where the computer system determines that a map is available for an activity and / or a zone. For example, the computer system determines the map based on a lookup of a data store using an activity identifier and / or a zone identifier. The data store stores one or more associations between the activity identifier and / or the zone identifier and the map.

[0114] In one example, the flow includes operation 1506, where the computer system determines a current position of a video game player in the video game. For example, the computer system receives the current position in the event from a computing device.

[0115] In one example, the process includes an operation 1508 in which a computer system provides a map to a computing device of a user. In the illustration, the computer system updates the map to show the current location of the video game player in the map as a graphical user interface element. In another illustration, the computer system sends the map to the computing device, and the computing device then updates the map to show the current location. In both illustrations, the computing device presents the map on a display. The map may also show an estimated location for completing the activity (if available) as another graphical user interface element.

[0116] In one example, the process includes operation 1510 as a replacement for or before activity 1508. At operation 1510, the computer system suggests an activity. For example, at operation 1502, a zone identifier is received but an activity indicating that the video game player is in the zone but not performing the activity is not received. The computer system can determine the distance difference between the current location of the video game player and the estimated completion location for completing the activity. Optionally, the computer system can also estimate the travel time from the current location to the estimated location. If the distance difference and / or the travel time are less than a predefined threshold, the activity can be suggested to the video game player. Therefore, the computer system sends suggestion information to the computing device to be presented on a display to identify the activity and optionally present a map showing the completion location.

[0117] Fig.16 An example of a hardware system 1600 suitable for implementing a computer system according to an embodiment of the present disclosure is shown. Computer system 1600 represents, for example, a video game console, a 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 running 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 device 1606 provides non-volatile storage devices and other computer-readable media for applications and data and can include fixed disk drives, removable disk drives, flash memory devices and CD-ROM, DVD-ROM, Blu-ray discs, HD-DVD or other optical storage devices, as well as signal transmission and storage media. User input device 1608 transmits user input from one or more users to computer system 1600, examples of which may include keyboards, mice, joysticks, touch pads, touch screens, still cameras or video cameras, and / or microphones. 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 local area networks and wide area networks such as the Internet. The audio processor 1612 is adapted to generate analog or digital audio output from 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.

[0118] The graphics subsystem 1630 is further connected to the data bus 1660 and the components of the computer system 1600. The graphics subsystem 1630 includes a graphics processing unit (GPU) 1632 and a graphics memory 1634. The graphics memory 1634 includes a display memory (e.g., a frame buffer) for storing pixel data for each pixel of an output image. The graphics memory 1634 may be integrated in the same device as the GPU 1632, connected to the GPU 1632 as a separate device, and / or implemented in the memory 1604. The pixel data may be provided directly from the CPU 1602 to the graphics memory 1634. Alternatively, the CPU 1602 provides the GPU 1632 with data and / or instructions defining the desired output image, and the GPU 1632 generates pixel data for one or more output images according to the data and / or instructions. The data and / or instructions defining the desired output image may be stored in the memory 1604 and / or the graphics memory 1634. In an embodiment, GPU 1632 includes 3D rendering capabilities for generating pixel data for an output image according to 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.

[0119] Graphics subsystem 1630 periodically outputs pixel data of 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 a signal from computer system 1600, including CRT, LCD, plasma, and OLED displays. Computer system 1600 may provide analog or digital signals to display device 1650.

[0120] 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 particularly suitable for highly parallel and computationally intensive applications such as media and interactive entertainment applications.

[0121] The components of the system can be connected via a network, which can be any combination of the following: 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 in different embodiments. The network can include both wired and wireless connections, including optical links. Many other examples are possible and obvious to those skilled in the art in light of this disclosure. In the discussion herein, the network may or may not be specifically indicated.

[0122] In the above description, the present invention is described with reference to its specific embodiments, but those skilled in the art will recognize that the present invention is not limited thereto. The various features and aspects of the above invention can be used alone or in combination. In addition, without departing from the broader spirit and scope of this specification, the present invention can be used in any number of environments and applications beyond those described herein. Therefore, the description and drawings are considered to be illustrative rather than restrictive.

[0123] 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 appropriately omit, replace, or add various processes or components. For example, it should be understood that in alternative embodiments, the methods may be performed in an order different from the order described, and various steps may be added, omitted, or combined. Moreover, 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.

[0124] Specific details are given in the description to provide a thorough understanding of the embodiments. However, it should be understood by those skilled in the art that the embodiments may be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques have been shown without unnecessary detail to avoid obscuring the embodiments.

[0125] Moreover, it should be noted that the embodiments may be described as processes depicted as flow charts or block diagrams. Although each operation may be described as a sequential process, many operations may be performed in parallel or simultaneously. In addition, the order of the operations may be rearranged. The process may have additional steps not included in the figure.

[0126] In addition, as disclosed herein, the term "memory" or "memory unit" may 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 media, optical storage media, flash memory devices, or other computer-readable media for storing information. The term "computer-readable medium" includes, but is not limited to, portable or fixed storage devices, optical storage devices, wireless channels, SIM cards, other smart cards, and various other media capable of storing, containing, or carrying instructions or data.

[0127] In addition, the embodiments may be implemented by hardware, software, firmware, middleware, microcode, hardware description language, or any combination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments for performing the necessary tasks may be stored in a computer-readable medium such as a storage medium. A processor may perform the necessary tasks.

[0128] Unless otherwise indicated, all measurements, values, ratings, positions, sizes, dimensions and other specifications set forth in this specification (including in the appended claims) are approximate and not exact. They are intended to have a reasonable range consistent with the functions to which they relate and the customary practices in the fields to which they belong. "Approximately" includes within a tolerance range of ±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, a value otherwise known in the art.

[0129] Having described several embodiments, those skilled in the art will recognize that various modifications, alternative configurations, and equivalents may be used without departing from the spirit of the present invention. For example, the above elements may be merely components of a larger system, in which other rules may take precedence over the application of the present invention or otherwise modify the application of the present invention. In addition, multiple steps may be taken before, during, or after considering the above elements. Therefore, the above description should not be viewed as limiting the scope of the present invention.

Claims

1. A method implemented by a computer system, the method comprising: receiving an activity identifier for an activity completed by a first video game player in a video game and location information for a location within the video game where the activity was completed, wherein the activity identifier is predefined in program code of the video game, and wherein the activity identifier and the location information are received based on execution of the program code; storing the activity identifier and the location information in a data storage area; determining, based on a lookup of the data store using the activity identifier and the location information, that a plurality of video game players completed the activity at the location; including in the map a first graphical user interface element corresponding to the location, the first graphical user interface element indicating estimated locations at which the activity was completed by the plurality of video game players in the location; as well as The map is presented to a second video game player, the map showing the first graphical user interface element in the location.

2. The method of claim 1, wherein the location is a district, and the method further comprises: receiving a first location of the first video game player within the zone when the first video game player completed the activity; storing the first position in the data storage area; determining, based on the locations of the plurality of video game players stored in the data store, that the plurality of video game players completed the activity within a predefined threshold distance of one another; as well as The first graphical user interface element is positioned in the map based on the locations of the plurality of video game players. 3 . The method of claim 2 , wherein the estimated location is a center of the location, and wherein the first graphical user interface element is disposed at the center. The method of claim 2 , wherein the first graphical user interface element comprises a heat map of the location.

5. The method according to claim 1, further comprising: receiving an event indicating that the first video game player completed the activity, wherein the event includes an outcome of the activity and a first position of the first video game player within the location, wherein the outcome is one of a success or a failure; storing data from the event in the data store; determining, based on data stored in the data store from events received for the plurality of video game players, that the plurality of video game players successfully completed the activity within a predefined threshold distance of one another; and The first graphical user interface element is positioned in the map based on the locations of the plurality of video game players. 6 . The method of claim 5 , wherein the place is a zone, wherein the place information is a zone identifier of the zone, and wherein the event further comprises the activity identifier and the zone identifier.

7. The method of claim 1 , wherein the map is presented in a window above a portion of video game content of the video game, wherein the video game content shows the location, and wherein the window includes an option to show the map adjacent to the video game content.

8. The method according to claim 7, further comprising: receiving the activity identifier in conjunction with the second video game player playing the video game; receiving a location of a virtual player within the video game content, the virtual player corresponding to the second video game player; including in the map a second graphical user interface element, the second graphical user interface element indicating the location on the map, wherein the map presented also shows the second graphical user interface element in the location; receiving an updated position of the virtual player; as well as The presentation of the map is updated by updating the second graphical user interface element to show the updated location and maintaining the first graphical user interface element.

9. The method of claim 7, wherein when the map is selected in the window, the map is expanded and presented above the video game content.

10. The method of claim 7, wherein the place is a zone, wherein the place information is a zone identifier of the zone, wherein the window further comprises a link to a video associated with the activity identifier and the zone identifier.

11. The method of claim 10, wherein the video is played in the window when the link is first selected while the map continues to be presented in the window.

12. The method of claim 11, wherein upon a second selection of the link, the video is presented over the video game content.

13. The method of claim 7, wherein the location is a zone, wherein the location information is a zone identifier of the zone, wherein the window further includes information about using a mechanism to complete the activity, wherein the mechanism is associated with the activity identifier and the zone identifier.

14. The method of claim 13, wherein the information about using the mechanism 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.

15. A 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 location information for a location within the video game where the activity was completed, wherein the activity identifier is predefined in program code of the video game, and wherein the activity identifier and the location information are received based on execution of the program code; storing the activity identifier and the location information in a data storage area; determining, based on a lookup of the data store using the activity identifier and the location information, that a plurality of video game players completed the activity at the location; including in the map a first graphical user interface element corresponding to the location, the first graphical user interface element indicating estimated locations at which the activity was completed by the plurality of video game players in the location; as well as The map is presented to a second video game player, the map showing the first graphical user interface element in the location.

16. The computer system of claim 15, wherein said execution of said computer readable instructions further configures said computer system to: Video game content for the video game is presented while continuing to present the map, wherein the video game content shows a graphical user interface object including a plurality of levels, wherein a location and the map correspond to one of the plurality of levels.

17. The computer system of claim 15, wherein the video game includes a progression campaign, an open campaign, and a competitive campaign, wherein the map is accessed based on whether the campaign is one of the progression campaign or the open campaign.

18. One or more non-transitory computer-readable storage media storing instructions that, when executed on a computer system, 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 location information for a location within the video game where the activity was completed, wherein the activity identifier is predefined in program code of the video game, and wherein the activity identifier and the location information are received based on execution of the program code; storing the activity identifier and the location information in a data storage area; determining, based on a lookup of the data store using the activity identifier and the location information, that a plurality of video game players completed the activity at the location; including in the map a first graphical user interface element corresponding to the location, the first graphical user interface element indicating estimated locations at which the activity was completed by the plurality of video game players in the location; as well as The map is presented to a second video game player, the map showing the first graphical user interface element in the location.

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 a player of the second video game in a first state, the window identifying the second activity and presented over video 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 map when the activity is selected from the task.

20. One or more non-transitory computer-readable storage media according to claim 19, wherein the place is a zone, wherein the place information is a zone identifier for the zone, wherein the window is updated to further show a link to a video and information about using a mechanism to complete the activity, and wherein the link and the information are associated with the activity identifier and the zone identifier and are shown simultaneously with the map.