Server-based video help in video games

By collecting and processing event data from gamers through video game platforms, and providing activity suggestions and video game assistance, the system addresses the inconsistency in video game experiences across different computing devices and sources, thereby improving user experience and gameplay quality.

CN114867539BActive Publication Date: 2025-11-18SONY INTERACTIVE ENTERTAINMENT LLC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202080089517.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-11-18
Filing Date
2020-11-16
Publication Date
2025-11-18
Estimated Expiration
2040-11-16

AI Technical Summary

Technical Problem

Users experience video games differently on different computing devices and from different sources, and they seek help from different gameplay methods, resulting in inconsistent user experiences.

Method used

By collecting and processing event data from game players through video game platforms, we can generate event time estimates, suggest events, and provide video game assistance. This allows us to improve the user experience in a unified way, including event suggestions, completion time estimates, and video game assistance, independent of the underlying game development.

Benefits of technology

It achieves a consistent user experience across different video games, improves the quality of gameplay and the functionality of the graphical user interface, and helps users better understand and complete activities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114867539B_ABST
    Figure CN114867539B_ABST
Patent Text Reader

Abstract

Techniques for improving user video game experiences are described. In an 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 and data indicating completion of the activity. The identifier can be predefined in program code of the video game. The identifier and completion data can be received based on execution of the program code. The event data is processed to provide a secondary video to improve activity completion rates in the video game. The video can be presented on the plurality of user devices.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications

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

[0003] Video games can be accessed on different computing devices. For example, a user can operate a video game console and a mobile device to play a first video game and a second video game, respectively. Additionally, video games can be accessed from different sources. For instance, a video game console can be operated to play multiple video games from two or more different video game developers.

[0004] Given the increasing number of video games and their availability on different computing devices and from different sources, user experiences often vary. For example, the way to seek help with gameplay can differ significantly between video games. Furthermore, the way a specific part of a video game appears playable on a computing device may be unique to that particular video game.

[0005] Therefore, the user experience can vary among video game players. There is a need to improve the user experience so that some common functionalities in video game gameplay are possible regardless of the underlying game. Summary of the Invention

[0006] Techniques for improving the 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 the example, the operation includes accessing video content showing gameplay by a player in a video game. The video content is associated in a data storage area with an identifier for an activity performed by the player in the video game, along with data indicating the start, end, and result of that activity. The activity identifier is included in the video game's program code. The operation also includes determining that the data indicates the result is a successful completion of the activity. The operation further includes generating information about the activity. This information includes a link to a portion of the video content. This portion corresponds to an activity or set of tasks shown in the video content. The operation also includes presenting this information to the user in a user interface.

[0008] In one example, the operation further includes recording the gameplay of a video game player as video content; receiving one or more events including an identifier, start, end, and result while recording the gameplay; generating one or more associations between the video content and the identifier, as well as portions of the video content and the start and end; and storing the one or more associations in a data storage area. In this example, the operation further includes sending the video content to a content system based on a request from a video game player to share the video content, and storing an indication that the video content is being shared in the data storage area. A link is included in the information based on the indication. Additionally, the information is presented in a window above the video game content of the video game, and the operation further includes receiving a user selection of a link presented in the window, and receiving video content from the content system based on the selection. In this example, the operation further includes presenting the gameplay video content above the video game content of the video game based on the user selection of the video content presented in the window. In this example, the window further includes at least one of the following: (i) a first option to present the gameplay video content adjacent to and simultaneously with the presentation of the video game content of the video game, or (ii) a second option to present the gameplay video content above the presentation of the video game content of the video game and simultaneously in a picture-in-picture window. In this example, the window also includes a map corresponding to a zone within the video game. The map indicates the estimated locations where multiple video game players complete activities within the zone. In this example, the window also includes information about using mechanics to complete activities based on the usage history of multiple video game players.

[0009] In the example, the video content is further associated in the data storage area with identifiers of the mechanisms used by the video game player to complete tasks within the task set of the activity. A portion of the video content corresponds to a task and demonstrates the use of the mechanism.

[0010] In the example, the action also includes ranking the video content relative to one or more other video content displayed in the activity. The ranking is based on the video game player's language settings and the user's language settings. The action also includes selecting video content to include in the information based on the ranking.

[0011] In the example, part of the video content demonstrates how video game players use mechanics to complete activities. In this example, the action also includes ranking the video content relative to one or more other video content showcasing the activities. The ranking of the video content is based on the usability of the mechanics to the user.

[0012] In the example, the operation also includes ranking the video content relative to one or more other video content displayed in the activity. This ranking is based on characteristics of video game players and users within the video game.

[0013] In the example, the operation also includes ranking the video content relative to one or more other video content showcasing the activity. The ranking is based on difficulty settings associated with gameplay in the video game and difficulty settings associated with gameplay in the video game by the user.

[0014] In this example, the start and end times of the activity indicate to the video game player the completion time of the activity. This example also includes ranking the video content relative to one or more other video content displaying the activity. The ranking of video content is based on completion time.

[0015] In the example, the operation also includes ranking the video content relative to one or more other video content showcasing the activity. Microphone audio from video game players can be used in conjunction with the video content to rank it.

[0016] In the example, the operation also includes determining the success rate of the video content. The success rate is determined at least by: receiving second data, including the activity identifier and indicating that the second video game player has successfully completed the activity, after the video content is presented to the second video game player and before receiving another identifier for a different activity completed by the second video game player in the video game, and updating the success rate based on the second data. In this example, the operation also includes ranking the video content relative to one or more other video content displaying the activity. The ranking of the video content is based on the success rate.

[0017] In the example, the activity is a task from a plurality of tasks that form the second activity. In this example, the operation also includes presenting a window in a first state in the user interface. The window recognizes the 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 user selects the second activity. The expanded window recognizes the task of the second activity. The operation also includes updating the expanded window to display information about the activity when the user selects the activity from the tasks of the second activity. In this example, the window is updated to further display at least one of the following: (i) a map of the area of ​​the video game where the activity is completed, or (ii) second information about using the mechanics to complete the activity. At least one of (i) the map or (ii) the second information is displayed simultaneously with a link to a portion of the video content. Attached Figure Description

[0018] Figure 1 An example of a computing environment for collecting and processing video game events according to an embodiment of this disclosure is shown.

[0019] Figure 2 An example of a system architecture for providing users with contextual information about available game activities, according to an embodiment of this disclosure, is shown.

[0020] Figure 3 Another example of a system architecture according to an implementation scheme of this disclosure is shown.

[0021] Figure 4 An example of a system for providing a data model for a general data platform, according to an embodiment of this disclosure, is shown.

[0022] Figure 5 An example of an activity hierarchy according to an embodiment of this disclosure is shown.

[0023] Figure 6 An example of a user interface presented by a video game console according to an embodiment of this disclosure is shown.

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

[0025] Figure 8 An example of displaying video game help via a user interface according to an embodiment of this disclosure is shown.

[0026] Figure 9 An example of presenting video game help in a user interface according to an embodiment of this disclosure is shown.

[0027] Figure 10 An example is shown of the association between a portion of video content and an activity identifier according to an embodiment of this disclosure.

[0028] Figure 11 An example of ranking portions of video content according to an embodiment of this disclosure is shown.

[0029] Figure 12 An example of a process for determining the video portion of a display object from event data, according to an embodiment of this disclosure, is shown.

[0030] Figure 13 Another example is shown of presenting a video portion of video content as an aid to the user, according to an embodiment of this disclosure.

[0031] Figure 14 An example of a hardware system suitable for implementing a computer system according to an embodiment of the present disclosure is shown. Detailed Implementation

[0032] In general, systems and methods for improving the user video game experience are described. In one example, this improvement is achieved by providing a unified approach, particularly for various video game functionalities such as suggesting video game activities, estimating the completion time of such activities, and presenting video game assistance regardless of the underlying video game. This unified approach does not require changes to how video games are developed, nor does it require a universal methodology for video game development. Instead, it relies on tools that utilize various events within the video game, where the video game platform (e.g., a server-based video game service) can collect and process these events based on the video game's execution to suggest video game activities, estimate completion times, provide video game assistance at the client level, and customize such video game functionalities at the client level as needed.

[0033] For example, a video game comprises multiple activities. When an instance of a video game is played for a player (whether locally on the player's computing device or remotely on a video game platform), the platform receives events related to the played activities, as well as recorded video content showing how the player performs these activities. The platform stores these events as event data. For event data associated with a played activity, the event data includes an activity identifier indicating the activity's type, its start time, its end time, and / or its potential outcome (e.g., success or failure). Based on timing information from the event data (e.g., start and end) and the timing information from the video content, the platform determines the portion of the video content that shows the played activity and associates this portion with the activity.

[0034] For example, when receiving video content showcasing gameplay of a video game, the video game platform receives a first event at time "t1" and a second event at time "t2". The first event includes an activity identifier for activity A in the video game and indicates its start. The second event includes the same activity identifier as activity A and indicates its end and successful completion. Therefore, the video game platform determines that activity A was played between times "t1" and "t2" and associates a portion of the video content between times "t1" and "t2" with the activity identifier and successful completion, thereby indicating that this portion of the video shows the activity being successfully played. This association allows the video game platform to link activity A to the video portion. Specifically, the video game platform can generate links to keyframes within the video content at the start and end timestamps (e.g., times "t1" and "t2").

[0035] In the example, a user operating the computing device may not have played Activity A before, may not have successfully completed the activity, or may want to see how other video game players have played Activity A. A help request can be received from the computing device. In response, the video game platform can send a link containing information identifying Activity A to the computing device. By selecting the link, the user is shown a video segment demonstrating how to play Activity A.

[0036] In the example, a video game platform can associate multiple video segments from different video content from multiple video game players with the same activity (e.g., Activity A) in a video game. Upon receiving a request for help about an activity from a user's computing device, the video game platform ranks the user's video segments based on a set of factors and selects one or more of these video segments to return based on the ranking. For the selected video segments, the video game platform returns the corresponding link. These factors are related to the video game player, the user, the context of the video game player and / or user within the video game, and / or the context of the video game player and / or user on the video game platform. Ranking may involve generating a relevance score for each video segment given how the ranking factors are satisfied, and ranking the video segments based on their relevance scores.

[0037] The embodiments disclosed herein offer numerous technical advantages over existing video game platforms. For example, they improve the functionality of the graphical user interface (GUI). Specifically, by collecting events for each activity, video game, and video game player, the video game platform of this disclosure can provide relevant assistance within the GUI and enhance the quality of gameplay.

[0038] Figure 1 An example of a computing environment for collecting and processing video game events according to an embodiment of this 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 made available from the video game developer system 170 to the video game console 110 via the video game platform 150. Video content (e.g., help videos demonstrating how to play video game activities) can also be made available from the third-party system 190 to the video game console 110 via the video game platform 150. The video game platform 150 collects, stores, and processes events from the video game player device 130 and the video game console 110 to provide various video game-related functionalities, including, for example, suggesting video game activities, estimating the completion time of such activities, and providing video game assistance.

[0039] In the example, video game console 110 refers to a computing device that is usable by user 112 and operable to interact with one or more applications, including a video game. A display 120 communicatively coupled to or integrated with video game console 110 can present video game-related data, including video game content 122, to user 112. User 112 may use other types of computing devices, including, for example, smartphones, tablets, laptops, desktop computers, or other devices with suitable memory and processors.

[0040] The video game console 110 can execute a video game locally to display video game content 122 on the monitor 120. Alternatively, the video game console 110 can receive video game content 122 based on the execution of an instance of the video game application on the video game platform 150, the video game developer system 170, or another remote computer system. The video game can also be downloaded to the video game console 110 from such a system.

[0041] Furthermore, the video game console 110 can directly or via the video game platform 150 download or stream video content from the third-party system 190 for display on the monitor 120. Examples of video content include video files generated and uploaded to the third-party system 190 by the video game developer 170, demonstrating how a video game can be played, a set of activities within the video game can be performed, or a set of mechanics can be used to perform an activity. A mechanic typically refers to at least one of the following: a set of tools, a set of abilities, or a set of skills that can be used to play an activity or a part of an activity. Another example of video content includes video files generated by a video game player device and uploaded directly or via the video game platform 190 to the third-party system 190, where the video file records gameplay by 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 refers to a computing device for a video game player, who may, but does not necessarily, include user 112. Similar functionality may be provided on each of the video game player device and the video game console 110.

[0043] In one example, video game system 170 refers to a computer system that includes a set of computing resources for developing video games and is available to 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 executable program code that renders and interacts with the video game content. 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, where each event definition represents code that defines an identifier for an event and data to be reported for said event. Examples of such event definitions 174 are further described below and are predefined in the video game's program code based on event templates available from the video game platform 150. Such event templates may be defined by the service provider of the video game platform 150 and may be common across multiple video game developer systems 170.

[0045] In one example, third-party system 190 refers to a computer system, such as one or more content servers, used to provide video content 192 directly or indirectly to video game console 110 via video game platform 150. As explained above, video content 192 may include video files demonstrating how a video game can be played, a set of activities within the video game can be performed, or activities can be performed using a set of mechanisms within the activities. Video content 192 may be uploaded directly or indirectly 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.

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

[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 this received data as event data 154 in the data storage area 152. The event processor 156 of the video game platform 150 processes the event data 154 to generate any one of the following: an activity time estimate 162, an activity suggestion 164, and an activity help 166, and sends it to the video game console 110 for display on the monitor 120.

[0048] The received event data (either event data 114 or event data 132) represents data reported for events from a device (e.g., a video game console 110 or a video game player device 130 as an application) based on the execution of program code in the video game, wherein the program code includes the event definition of the event. Activity time estimate 162 represents the estimated length of time to complete an activity in the video game, which may be referred to herein as the completion time. Activity suggestion 164 represents information suggesting activities available to user 112 in the video game that user 112 has not previously performed or completed. Activity help 166 includes information about completing activities in the video game or using mechanisms in at least a portion of the activity, such as video files, text descriptions, and / or graphical descriptions. Processor 156 executes logic, such as performing statistical analysis across a subset of the event data 154 associated with the activity, to generate activity time estimate 162, activity suggestion 164, and activity help 166. Additionally, processor 156 can execute logic that customizes any of the following based on the context of user 112 in the video game and / or platform and based on the type of video game console 110: activity time estimation 162, activity suggestion 164, or activity help 166.

[0049] Typically, an activity is a gameplay unit inherent to the structure of a video game. Different categories of activities exist, including progressive activities, competitive activities, challenging activities, and open-ended activities. An activity can be defined in the program code as an object with multiple attributes. These attributes include an activity identifier, a name, and a category. The activity identifier is a unique identifier for the activity. When an event about an activity is reported to the video game platform 150, the corresponding event data refers to the activity identifier. The name can be a short, localized name 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 must be completed to complete the video game, whether the activity can be repeated within the video game, and nested tasks (child activities, also referred to herein as sub-activities). Multiple events about an activity are possible.

[0050] An example of an event related to an activity could indicate changes in activity availability for a video game player (e.g., user 112). This is primarily used to determine which activities to display and which to remove spoilers for (activities with spoilers that might not be shown to the video game player). Properties of this event include, for example, a list (e.g., an array) of currently available activities.

[0051] An example of an event related to an activity could indicate that the video player is currently participating in an activity or task (e.g., a sub-activity). Attributes of this event include, for example, the activity's event identifier. Another attribute could optionally be the time corresponding to the start of participation in the activity.

[0052] An example of an event related to an activity could indicate the end of an activity or task (e.g., a sub-activity). Attributes of this event include, for example, the activity's activity identifier. Another attribute could optionally be the time corresponding to the end of participation in the activity. Yet another attribute could optionally be the result of the activity, such as completion, failure, or abandonment.

[0053] The video game platform 150 can also collect data about zones within the video game, where this data is reported similarly to events based on predefined parameters in the video game's program code. A zone represents an area of ​​the game world (e.g., a virtual world) of the video game with a single coordinate system. A zone may have an associated two-dimensional (2D) map image used to display locations on the zone. A zone can be defined in the program code as an object with multiple attributes. These attributes include a zone identifier and a name. The zone identifier is a unique identifier for the zone. The name may 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 spoiler use cases (which may be set to "no" by default), a map (e.g., a high-resolution image of a 2D map of the zone), a view projection (e.g., a matrix (4×4) used to convert from three-dimensional (3D) working coordinates to 2D map locations), and an image (e.g., a display image of the zone, if different from the map). Multiple events related to a zone are possible.

[0054] An example of an event related to a zone could indicate an update to the video game player's current in-game location. This event can be reported periodically or whenever the player's in-game location changes significantly. Attributes of this event include a zone identifier. Other attributes are possible, such as optional location (e.g., the x, y, z position of the video game player character (the video game player's virtual player) within the zone) and orientation (e.g., x, y, z vectors indicating the direction of the video game player character).

[0055] Another example of an event related to a zone can indicate the zone, location, and orientation of a video game player at the start of an activity. This event can enable location-based assistance. The attributes of this event include an activity identifier. Other attributes are possible, such as an optional zone identifier and the video game player's character's location and orientation within the video game.

[0056] Another example of an event related to a zone can indicate the zone, location, and orientation of a video game player at the end of an activity. This event can also enable location-based assistance. The attributes of this event include an activity identifier. Other attributes are possible, such as the optional outcome of the activity, the zone identifier, and the video game player character's location and orientation within the video game.

[0057] The video game platform 150 can also collect data about characters in the video game, which is reported similarly to events based on predefined elements in the video game's program code. A character represents an entity with behavior in the video game. A character can be player-controlled or game-controlled, and this can change dynamically during gameplay. A character can be defined in the program code as an object with multiple attributes. These 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 spoiler use cases (which can be set to "no" by default), an image of the character, and a brief description of the character. Multiple events related to the character are possible.

[0058] An example of a character-related event can indicate a change in a video game player's character selection. The selected character represents the character the video game player controls in the game and can be displayed on the player's profile and other presentation spaces. More than one character can be selected at a time. The video game should replace the character list when loading saved data. The attributes 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 mechanics in the video game, where this data is reported similarly to predefined events based on the video game's program code. A mechanic represents an item (e.g., a tool), ability, skill, or effect (e.g., a bow, arrow, stealth attack, fire damage) that can be used by the video game player or the video game to influence gameplay. Mechanisms typically do not include items that do not affect gameplay (e.g., collectibles). A mechanic can be defined in the program code as an object with multiple attributes. These attributes include a mechanic identifier and a name. The mechanic identifier is a unique identifier for the mechanic. The name can be a short, localized name for the mechanic. Other 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 mechanic, and a brief description of the mechanic. Multiple events related to the mechanic are possible.

[0060] Examples of events related to mechanics can indicate that the availability of mechanics for a video game player has changed. A mechanic's availability indicates that the mechanic is available to the player in the game world, but it may require the player to complete some steps to acquire it (e.g., download from the store, pick it up from the world) before using it. This event can also be used to indicate the removal of spoilers for mechanic objects and to filter help tips 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 of currently available mechanics (e.g., an array).

[0061] Another example of an event related to mechanics could indicate that a video game player's inventory has changed. Inventory refers to mechanics that are immediately available to the player without requiring additional steps in the game before use. Inventory information can be used to estimate a player's readiness for an event. The video game should replace the inventory list when loading saved data. The attributes of this event include a list (e.g., an array) of mechanics currently in the inventory.

[0062] Another example of an event related to mechanics could indicate that a video game player's gear has changed. Gear represents the mechanics most directly accessible to the video game player and is a subset of their inventory that can be displayed to them. The video game should replace the list of mechanics when loading saved data. The attributes of this event include a list of mechanics that are now part of the active gear (e.g., an array).

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

[0064] Another example of an event related to a mechanic could indicate that a mechanic has an impact on the gameplay (e.g., an arrow hitting a target). Attributes of this event include a list of mechanics used (e.g., arrays) (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, the initiator's character identifier, the initiator's character's area identifier, the initiator's character's location, the target character identifier (e.g., the identifier of the character the mechanic targets), the target's area identifier, the target character's location, and the identifier of the mechanic that mitigates the initiator's mechanic.

[0065] The video game platform 150 can also collect data about game media within the video game, which is reported similarly to predefined events based on the video game's program code. Game media refers to media fragments (text, audio, video, images) related to the video game provided by the game developer. Game media may exist within the game (e.g., story scenes, audio logs, books) or may not exist within the game (e.g., developer comments). Game media can be defined in the program code as objects with multiple attributes. These attributes include a game media identifier, name, format, category, unlocking rules, and a Uniform Resource Locator (URL). The game media identifier is a unique identifier for the game media. The name can be a localized name for the game media. The format can indicate the media format, such as whether the game media is an image, audio, video, text, etc. The category indicates the type of game media, such as whether the game media is a story scene, audio log, poster, developer comments, etc. The unlocking rules indicate whether the game media should be unlocked for all video game players or based on an event or a specific game media event. The URL references a media file provided by a server, which can be part of the game developer system 170 or the video game platform 150. Other attributes are possible, including, for example, whether the object should be treated as hidden for spoiler block use cases (which can be set to "no" by default), rights (e.g., indicating that only video game players with specific video game rights can unlock game media), and event identifiers (e.g., associating game media with a specific event). Multiple events related to game media are possible.

[0066] An example of an event related to game media could indicate that a specific piece of game media has been unlocked for a video game player. The attributes of this event include a game media identifier.

[0067] Another example of an event related to game media could indicate that a specific game media segment has begun in the video game. The game media object should be considered as being unlocked for the video game player at the corresponding time. The attributes of this event include a game media identifier.

[0068] Another example of an event related to game media could indicate that a specific segment of game media has ended in a video game. The attributes of this event include a game media identifier.

[0069] Figure 2 An example of a system architecture for providing users with contextual information about available game activities, according to embodiments of this 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 rules engine 220, a UDS server 225, a game server 230, processed data 235, and one or more other remote networking 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 the video game platform 150. For example, UDS server 225 and game server 230 are components of the video game platform 150.

[0070] Game client 205 and game server 230 provide context information about at least one application to UDS server 225 via a UDS data model that describes the logical structure of UDS data used by the Universal Data System (UDS) SDK 210. The UDS data model enables a platform (e.g., video game platform 150) to implement remote networking services, such as help service 240, game plan 245, UGC tagging 250, and other services 255 that require game data, without requiring separate game patches to support these services. The UDS data model distributes context information across games in a uniform manner. The context information from game client 205 and UDS SDK 210 is provided to UDS server 225 via console system software 215. It should be understood that game client 205, UDS SDK 210, console system software 215, and local rules engine 220 can run on a computer or other suitable hardware to execute at least one application.

[0071] UDS server 225 receives and stores context information from at least one application, including game client 205 and game server 230. It is certain that UDS server 225 can receive context information from multiple game clients and game servers for multiple users. This information can undergo unified processing 235 and then be received by multiple remote networking services 240, 245, 250, and 255.

[0072] Figure 3 Another example of a system architecture 300 according to an embodiment of this disclosure is shown. Game client 305 sends context information to UDS server 310, which provides the context information to various remote networking services in a unified data model, including profile statistics 315, game schedule 320, session 325, match 330, attendance 335, and help system 340.

[0073] Figure 4 An example of a system 400 for providing a data model for a general data platform 410, according to an embodiment of this disclosure, is shown. Some components of the general data platform 410 are... Figure 1 Examples of components of a video game platform 150. In one exemplary embodiment, system 400 may include at least one device 430 configured to execute at least one of a plurality of applications 432, each application having an application data structure. A general data platform 410 may execute on one or more servers. The general data platform 410 may include a unified data model across the plurality of application data structures. The data model may include metadata 412 corresponding to at least one object indicated in the data model, and events 414 corresponding to triggering conditions associated with at least one metadata entry. The values ​​of metadata 412 and events 414 may be associated with user profiles. The general data platform 410 may be configured to receive application data from at least one device 430 and store the application data within the data model. System 400 may also include a plurality of remote networking services 420 configured to access application data from the general data platform 410 using the data model.

[0074] In various implementations, metadata 412 may include: a list of all activities a user can perform in the application, activity names, activity descriptions, activity status (available, started, or completed), whether an activity requires completion of an objective or campaign, activity completion rewards, opening or ending cutscenes, in-game locations, one or more conditions that must be met before an activity becomes available, and parent activities that include the activity as a child activity. Metadata 412 may also include: a list of abilities a user can utilize, the effects of each action, telemetry indicating when actions and effects occur, including corresponding timestamps and locations, the in-game coordinate system, a list of fork points in the game, and telemetry indicating when a fork point occurs and which option the user chooses. Lists of in-game statistics, items, knowledge, game areas, and corresponding characteristics of each statistic, item, knowledge, or area may also be included in metadata 412. Additionally, metadata 412 may indicate whether specific activities, entities (e.g., characters, items, abilities, etc.), settings, results, actions, effects, locations, or characteristics should be marked as hidden.

[0075] Event 414 may be triggered in response to a variety of triggering conditions. For example, such triggering conditions may include: an activity that was previously unavailable becoming available, a user starting an activity, a user ending an activity, an opening or closing scene of an activity, a change in the user's in-game location or area, a change in in-game statistics, acquisition of items or knowledge, performance of an action, occurrence of an effect, interaction between the user and a character, item, or other in-game entity, and discovery of an activity, entity, setting, result, action, effect, location, or characteristic. Event 414 may include additional information about the state of the application when event 414 is triggered, such as a timestamp at the time the user starts or ends an activity, difficulty settings and character statistics, success or failure of the activity, or a score or duration associated with a completed activity. It should be understood that metadata 412 and event 414 may include any and all contextual information relating to the activities described in this disclosure.

[0076] Figure 5An example of an activity hierarchy according to an embodiment of this disclosure is shown. As shown, activity 510 may include multiple nested tasks forming a hierarchy 500, referred to herein as sub-activities. Activity 510 may be a top node (e.g., a root node) of hierarchy 500 and may have a set of child sub-activities 520A to 520K at the next level of hierarchy 500. In turn, each of sub-activities 520A to 520K may be a child node of activity 510 and may be a parent node of a set of sub-activities at the next level of hierarchy. For example, sub-activity 520K is a parent node of a set of sub-activities 530A to 530L. This type of association between nodes (each representing a sub-activity) may be repeated at different levels of hierarchy 500. A set of mechanisms may be associated with each node, indicating that such mechanisms may be available or usable in the activity corresponding to the node.

[0077] As explained above, 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 associations between the activity identifiers themselves and between activity identifiers and mechanism identifiers can be defined based on hierarchy 500. Such associations can be stored in the objects that define activities (or sub-activities) and / or define mechanisms and / or can be stored in events associated with such objects. For example, the activity identifier of sub-activity 520K can be associated with the activity identifier of activity 510 and / or the activity identifiers of sub-activities 530A to 530L. Similarly, the activity identifier of sub-activity 530L can be associated with the activity identifier of sub-activity 520L and / or the mechanism identifiers of mechanisms 540A to 540M. Furthermore, the mechanism identifier of a mechanism can be associated with an activity identifier.

[0078] Figure 6 The following is illustrated: an embodiment of the present disclosure is provided by a video game console (e.g., Figure 1 An example of a user interface presented by a video game console 110. User interface 604 presents a portion of video content 602 associated with an activity identifier in the video game. This video portion is from a video game platform (e.g., Figure 1 The video game platform 150) receives and shows how activities can be carried out.

[0079] like Figure 6As shown, the video content section 602 associated with the event identifier is indicated by a playback bar 606 with a partial start point 607 and a partial end point 608. In some cases, multiple video sections may display the event and may correspond to different video game content for multiple video game players (e.g., video sections corresponding to gameplay for different video game players). The video game platform may generate multiple links, each pointing to one of the video sections from the different video content showcasing the event. Based on the ranking of these video sections, the user interface 604 presents the video sections on different pages, and these pages can be accessed by interacting with the selection bar 610. Figure 6 In the example shown, three video segments can be displayed in user interface 604. Figure 6 In the process, a first video portion is selected for presentation; however, the user interface 604 can receive user input (e.g., mouse click, controller button, touch gesture) at the selection bar 610 to select a second or third video portion. The user interface 604 indicates the selected portion of the video content by adjusting the selection bar 610 (e.g., illuminating the second or third dash of the selection bar 610, respectively).

[0080] User interface 604 can also receive control input from video game players by receiving selections of one or more replay controls 612, which allow the user to play, rewind, fast forward, loop, or resize portions of video content 602 (e.g., full screen, half screen, etc.). Other data may be displayed in user interface 604. For example, user interface 604 may simultaneously present a map corresponding to an area within the video game and / or information (e.g., text) regarding the use of mechanics to complete an activity, along with portions of video content 602. The map indicates estimated locations where multiple video game players complete activities within the areas and can be generated from event data showing the end of activities at certain locations within the areas for these players.

[0081] Figure 7 The following is an illustration of an embodiment of the present disclosure presented on a display (e.g., Figure 1 The user interface 700 is displayed on a monitor 120. The user interface 700 displays various information and functionality related to the video game. In this example, video game content 702 may be presented on a portion of the monitor. The user interface 700 may also display relevant activity cards on a portion of the user interface 700. Each activity card may be presented as a window, icon, or some other GUI element, including information about the activity, and may be selected to start the activity or request help about the activity.

[0082] In one example, the video game has three activities associated with the video game player. These and other activities can be determined based on one or more activities the video game player participates in within the video game or other applications available from the video game console and / or video game platform. Therefore, the user interface 700 displays three activity cards, each corresponding to one of the activities (in...). Figure 7 The activity cards shown are activity A 706, activity B 708, and activity C 710. In some cases, the user interface 700 may display average or expected times in the activity cards to help the user select an activity card.

[0083] Figure 8 An example of displaying video game help via a user interface 800 according to an embodiment of this disclosure is shown. Initially, the user interface presents an activity card 810 (e.g., corresponding to the activity card from...). Figure 7 (The selected activity card in the activity card). When the user interacts with activity card 810, the user interface presents activity card 830, which displays the expanded sub-activities of the activity. When the user interacts with a sub-activity, the user interface presents help card 850, which includes links to a video section showing how to play the sub-activity.

[0084] In one example, activity card 810 includes a title section 812, an activity identifier 814, and an activity description 820. In contrast, expanded activity card 830 includes additional information related to the activity. Figure 8 In the example shown, the expanded activity card 830 includes a list of available sub-activities 840 for the video game player to complete. The user interface can receive a selection of a sub-activity 842 within the expanded activity card 830. In the current example, the user interface 800 receives a selection of sub-activity 842 "Run a warm-up lap" from the list of sub-activities 840.

[0085] The user interface receives a selection for sub-activity 842 and displays a help card 850 that includes additional details and help specific to sub-activity 842. The help card 850 includes a title 852 for sub-activity 842, a video section 854, and video playback controls 856. The organization of the title 852 and the video section can be similar to... Figure 6 .

[0086] Figure 9 An example of presenting video game help in a user interface according to an embodiment of this disclosure is shown. In some embodiments, the user interface receives a request for a help card (e.g., Figure 8The help card 850 is selected and a configuration menu 902 is presented, displaying configuration options. In some examples, the "Lock to One Side" option from configuration menu 902 corresponds to displaying the help card 850 or a video portion from the help card 850 (e.g., video portion 854 in side pane 904). If this option is selected, the user interface presents the help card 850 or the video portion in a window adjacent to the window displaying the video game content 906, while the video game continues to play. The picture-in-picture option from configuration menu 902 corresponds to displaying the help card 850 or the video portion overlaid on the video game content 906 in a picture-in-picture 908 window. The video game content 906 can continue at normal or partial speed, while help information is presented in either the "Lock to One Side" or picture-in-picture setting. Other presentations of the video card 950 or the video portion are possible. For example, the video portion may be displayed in an expanded format (e.g., full screen) when a particular user interacts with the video portion 854 (e.g., double-click). In this case, the video game content 906 can be paused.

[0087] Figure 10 An example of determining the association between portions of video content and activity identifiers according to embodiments of this disclosure is illustrated. For example, a video game platform receives video content (e.g., video clips or a complete video file) showcasing multiple activities or sub-activities, each activity or sub-activity having a unique activity identifier. The video game platform associates the activity identifiers with portions of the video content and generates links pointing to those portions.

[0088] In one example, the video game platform receives video content 1000 from a video game console operated by a video game player. Video content 1000 includes a segment start 1002, various intermediate timestamps (timestamps 1004-1012, collectively referred to as "timestamps," and each timestamp corresponds to a keyframe), and a segment end 1014. Video content 1000 can have any length and can be recorded by the video game console, showcasing the gameplay of the video game player. The video game platform can also receive event data 1020 from the video game console corresponding to various events generated during the execution of the video game. Event data 1020 may include an activity identifier for the activity the video game player is playing in the video game, a zone identifier corresponding to the area in the game world where the activity is played, a mechanism identifier for the mechanism used to play the activity, timing information for each activity (e.g., start and end), presence in the zone, use of the mechanism, and other data related to gameplay (e.g., the outcome of the activity, the impact of the mechanism used, etc.).

[0089] The video game platform associates identifiers for events, zones, and / or mechanics with timestamps 1004-1012 (or corresponding keyframes) to identify the portion of video content 1000 that displays the corresponding event, zone, and / or mechanic. Figure 10 In the example shown, event data 1020 indicates area change 1024 (e.g., a video game player enters a specific area), activity A begins 1026, first mechanism A1 changes 1028 (e.g., a video game player changes to use mechanism A1), second mechanism changes 1030, and activity A ends 1032.

[0090] In this example, the video game platform specifically identifies the first video portion 1050 of the display area of ​​video content 1000, the second video portion 1060 of the display activity A of video content 1000, and the third video portion 1070 of the display mechanism A1 of video content 1000. Specifically, the video game platform determines that area change 1024 corresponds to timestamp 1004, and therefore sets the start of the first video portion 1050 to timestamp 1004 (or the corresponding keyframe). Similarly, the video game platform determines that the start 1026 of activity A corresponds to timestamp 1006 and the end 1032 of activity A corresponds to timestamp 1012, and therefore displays activity A in video game content 1000 between timestamps 1006 and 1012. Therefore, the video game platform sets the start and end of the second video portion 1060 to timestamps 1006 and 1012 (or the corresponding keyframes), respectively. Furthermore, the video game platform determines that mechanism A1 is displayed between mechanism A1 change 1028 and the second mechanism change 1030, and these events correspond to timestamps 1008 and 1010, respectively. Therefore, the video game platform sets the start and end of the third video segment 1070 to timestamps 1008 and 1010 (or corresponding keyframes), respectively. For each of video segments 1050-1070, the video game platform can generate links to video game content 1000, where the links identify the start and end timestamps (or equivalently, start and end keyframes) of the video segment. The video game platform stores the associations between different identifiers and timestamps, the start and end of each video segment, and the associated identifiers, links, and / or metadata describing the content displayed in each video segment in a data storage area (e.g., Figure 1 In the data storage area 152).

[0091] The examples above are provided for illustrative purposes. Embodiments of this disclosure are not limited thereto. Specifically, video game platforms can combine video portions of video game content with different activities, activity combinations, and a set of tasks (e.g., combining...) Figure 5The described sub-activities), mechanisms, zones, indicated characters, indicated targets, and / or any combination of objects that are defined in the video game's program code and receive and store their events.

[0092] Figure 11 An example of ranking portions of video content according to an embodiment of this disclosure is shown. Specifically, video game platforms (e.g., Figure 1 The video game platform 150) processes event data stored in the data storage area (e.g., stored in...). Figure 1 The event data in the data storage area 152 (154) is used to determine the video portions of video content associated with the user's incomplete activities, rank the video portions, and present the relevant video portions based on the ranking.

[0093] In the example, a user request for help with an activity is received. The user request may include an activity identifier. The video game platform uses the activity identifier to determine the video portion associated with the activity identifier when searching the data store. These video portions define a set of candidate video portions. Additionally, the video game platform determines whether any video portion from said set contains spoilers for the user (e.g., based on a combination of...). Figure 1 (The event data described in the spoiler block). If spoilers are included, candidate video portions are removed from the group. The remaining group consists of video portions, which are then ranked and referred to herein as candidate video portions.

[0094] Each candidate video segment can be ranked based on a set of ranking factors. These factors relate to the context of other video game players, users, other video game players and / or users within the application (video game application), and / or the context of other video game players and / or users on the video game platform. Ranking may involve generating a relevance score for the content of each candidate video segment, given how the ranking factors are satisfied, and ranking the candidate video segments based on their relevance scores.

[0095] The user interface can identify the highest-ranking candidate video segments (e.g., the top three or some other numbers) to the user. Specifically, links to these video segments are sent to and displayed on one or more of the user's computing devices, such as in combination with... Figure 7 As shown.

[0096] like Figure 11As shown, the ranking factors include language 1102, mechanic availability 1104, in-game features 1106, difficulty setting 1108, audio presence 1110, completion time 1112, and quality feedback 1114. Each of these factors will be described below. Of course, not all ranking factors are available. Furthermore, other ranking factors related to candidate portions of video content generated based on event data can be defined and used.

[0097] In the example, Language 1102 is a ranking factor indicating the likelihood that a user understands spoken language in a candidate video segment. As mentioned above, the candidate video segment corresponds to the video content of a video game player. Therefore, the video segment may include audio recordings corresponding to the natural language utterances of the video game player. The higher the likelihood that the user's spoken language matches the spoken language of the video game player, the higher the score of this ranking factor (e.g., referred to herein as the Language Score). In the example, the matching between spoken language is determined based on the language settings of the user and the video game player.

[0098] In the example, Mechanism Availability 1104 is a ranking factor indicating the likelihood of a user's interest in using the mechanics shown in the candidate video section. As mentioned above, the candidate video section may display a mechanic and be associated with a corresponding mechanic identifier. The video game platform can determine from the inventory associated with the user whether the inventory includes a mechanic identifier. If so, the score of this ranking factor is increased (e.g., referred to herein as the mechanic score). Furthermore, the video game platform can analyze a user's gaming history to determine the user's familiarity with using the mechanic. The more familiar the user is (e.g., the more frequently the user uses the mechanic and / or the higher the frequency of the mechanic's positive impact on gameplay), the higher the mechanic score.

[0099] In the example, in-game feature 1106 is a ranking factor indicating the likelihood that a user possesses in-game features that match those of a video game player. When a video game player records video content, the player may already be playing a video game with certain in-game features (e.g., at an expert level). If a user is requesting video assistance and also possesses matching in-game features (e.g., the user is also playing the activity at an expert level), the score for this ranking factor (e.g., referred to herein as the in-game feature score) can be set to high.

[0100] In the example, the difficulty setting 1108 is a ranking factor indicating the likelihood that a user will play the activity at the same difficulty level as the video game player. When the video game player records video content, they may have been playing the video game at a certain difficulty setting. If a user requests video assistance while playing at the same difficulty level, the score for this ranking factor (e.g., referred to herein as the difficulty score) can be set to high.

[0101] In the example, the audio presence of 1110 is a ranking factor indicating whether the video segment includes the video game player's microphone audio. The video game player may have used a microphone when recording video content. The resulting microphone audio captures the video game player's natural language speech. If microphone audio is included, this ranking factor is set to high (e.g., referred to as the audio score in this document). Furthermore, the higher the quality of this audio, the higher the audio score.

[0102] In the example, completion time 1112 is a ranking factor indicating the length of time a video game player takes to complete the activity shown in the candidate video segment. Completion time can have upper and lower limits. If it is outside this bounded range (e.g., too long or too short), the candidate video segment has a low score or is even removed from the group of candidate video segments. If it is within the bounded range, the score of this scoring factor is set as a function of the time length (e.g., the reciprocal) (e.g., referred to herein as the completion time score). Completion time can be estimated from event data about the activity. For example, completion time is estimated as the duration between the start and end of the activity.

[0103] In the example, Helpful Feedback 1114 is a ranking factor indicating how helpful a candidate video segment is relative to the activities or mechanisms shown in the candidate video segment. In one illustration, Helpful Feedback 1114 is based on user input from a video game player who has viewed the candidate segment and performed the activity and / or used the mechanism. User input can be received as explicit ratings (e.g., number of stars from a five-star rating, similar numbers, etc.). In this case, the score of this ranking factor (e.g., referred to herein as the Help Score) is set as a function of the explicit ratings (e.g., average star rating, like vs. dislike ratio, etc.). In another example, the Help Score is generated from implicit feedback. Implicit feedback can be determined from event data of multiple video game players who watched the candidate video segment and then performed the activity and / or used the mechanism. Specifically, the success rate of watching the candidate video segment and then successfully completing the activity or using the mechanism can be calculated from the event data. The Help Score can be set as a function of the success rate (e.g., proportional or equal). For example, the event data of a second video game player who watched the candidate segment can be analyzed. The helpful score increases if the event data indicates that this second video game player watched a candidate video segment and immediately (e.g., after the end of this viewing, the event data shows that an event about the activity and / or mechanism was received before any event about another activity and / or mechanism) or within a predefined duration (e.g., after the viewing, the event data shows that an event about the activity and / or mechanism was received before the end of the predefined duration, where events about another activity and / or mechanism may also be received within the predefined duration) performs the activity and / or uses the mechanism and has a successful result and / or positive impact.

[0104] Each of the following scores—language score, mechanics score, in-game feature score, difficulty score, audio score, completion time score, and help score—can be associated with a weight (in...). Figure 11 The weight Wi is shown in the figure, where "i" is between "1" and "7". Weights can be predefined (e.g., based on user settings to personalize weights for users; based on input from video game developers) or set to default values.

[0105] The weighted sum of the scores for each ranking factor (1120) can be calculated to obtain the total score. This total score can then be set as the relevance score (1130). The relevance score (1130) can then be used to rank the candidate video segments relative to other candidate video segments.

[0106] Figures 12 to 13An example flow is shown for providing video content as an adjunct. The operation of the flow can be implemented as hardware circuitry and / or stored as computer-readable instructions on a non-transitory computer-readable medium (e.g., a video game console and / or video game platform) of a computer system. As implemented, the instructions represent modules comprising circuitry or code executable by the processor of the computer system. Execution of such instructions configures the computer system to perform the specific operations described herein. Each circuitry or code combined with the processor represents a means for performing the corresponding operation. Although the operations are shown in a specific order, it should be understood that the specific order is not required and certain operations can be omitted.

[0107] Figure 12 An example of a process for determining the video portion of a display object from event data, according to an embodiment of this disclosure, is shown. The object can be any area, activity, mechanism, and / or combination thereof. Figure 1 Any other object described.

[0108] In the example, the process includes operation 1202, where the computer system accesses video content of a video game player's gameplay within a video game. For example, a video game player might use a video game console to play the game. A gameplay recording option can be presented to the video game player on the user interface. When the user selects this option, the video game console can record the displayed video content and send this video game content to the video game platform, and / or the video game platform can directly record this video content.

[0109] In the example, the process includes operation 1204, where the computer system receives event data while recording gameplay. Event data may include object identifiers, timing information, and possible outcomes. For example, event data may include a zone identifier, an activity identifier, a mechanism identifier, the start of an activity corresponding to the activity identifier, the end of an activity, the outcome of an activity, changes to a mechanism corresponding to the mechanism identifier, the effects of using a mechanism, and changes to another mechanism.

[0110] In the example, the process includes operation 1206, in which the computer system generates a first association between video content and an identifier, and a second association between video portions and timing information. For example, the first association indicates the video content display area, activities, and mechanisms. The second association indicates the video portions of the display area, activities, and mechanisms. This can be combined as described above. Figure 10 As described, various associations and resulting links are generated.

[0111] In the example, the process includes operation 1208, where the computer system stores the association in a data storage area (e.g., Figure 1The data storage area 152 is used for this purpose. For example, the first and second associations are stored together: a user identifier that identifies the video game player and a video game identifier that identifies the video game.

[0112] In the example, the process includes operation 1210, where the computer system sends video content to a content system based on a request from a video game player to share video content. For example, the video content is uploaded to a third-party system (e.g., Figure 1 The third-party system (190) and / or stored in the data storage area.

[0113] In the example, the process includes operation 1212, in which the computer system stores an indication that video content is being shared in a data storage area. Because the video content is shared, this video content, or a portion thereof, can become candidate video content or candidate video portion that can be used to provide assistance to other users. In other words, based on the indication in the data storage area that the video content is shared, links to the video content and / or video portion can be provided to the computing devices of these users.

[0114] Figure 13 Another example is shown of presenting a video portion of video content as an aid to the user, according to an embodiment of this disclosure.

[0115] In the example, the process includes operation 1302, where the computer system determines that the user has not yet completed an activity. For example, the event data stored in association with the user's user identifier does not include the activity identifier for the activity.

[0116] In the example, the process includes operation 1304, where the computer system determines a video segment associated with an activity. For example, the video segment could be obtained from video content showcasing gameplay by other video game players. The computer system uses an activity identifier to locate a data store and identifies the video segment based on the association with the store. Video segments showcasing the activity and excluding spoilers are added to a set of candidate video segments.

[0117] In the example, the process includes operation 1306, where the computer system ranks candidate video segments. For example, many ranking factors (e.g., combining...) Figure 11 The terms described are used to generate a relevance score for each candidate video segment, and the video segments are ranked according to their relevance scores.

[0118] In the example, the process includes operation 1308, where the computer system presents information about the video segments. For example, selecting the top three (or some other number) video segments. Information about each selected video segment includes a link to the video game segment and is sent to the video game console for display in the user interface, such as in... Figures 6 to 9It is presented in the GUI. The description states that each link pointing to the top three video sections can be displayed in... Figure 6 On each page within the user interface 604, the order of the pages can be determined based on the ranking of the video sections (e.g., the highest-ranked video section or its link can be presented on the first page, while the next-ranked video section or its link can be presented on the next page accessible via user interaction with the selection bar 610). In another illustration, multiple links pointing to video sections can be displayed on the same page and presented in a ranking-based order (e.g., the highest-ranked video section or its link can be presented in the left thumbnail of a series of thumbnails on the page).

[0119] Figure 14 An example of a hardware system suitable for implementing computer system 1400 according to embodiments of the present disclosure is shown. Computer system 1400 represents, for example, a video game console, video game platform, or other type of computer system. Computer system 1400 includes a central processing unit (CPU) 1402 for running software applications and optionally an operating system. CPU 1402 may consist of one or more homogeneous or heterogeneous processing cores. Memory 1404 stores applications and data used by CPU 1402. Storage device 1406 provides non-volatile storage and other computer-readable media for applications and data and may include fixed disk drives, removable disk drives, flash memory devices, and CD-ROM, DVD-ROM, Blu-ray discs, HD-DVDs, or other optical storage devices, as well as signal transmission and storage media. User input device 1408 transmits user input from one or more users to computer system 1400. Examples of user input devices may include a keyboard, mouse, joystick, touchpad, touchscreen, still or video camera, and / or microphone. Network interface 1410 allows computer system 1400 to communicate with other computer systems via electronic communication networks and may include wired or wireless communication over local area networks and wide area networks (e.g., the Internet). Audio processor 1412 is adapted to generate analog or digital audio output from instructions and / or data provided by CPU 1402, memory 1404, and / or storage device 1406. Components of computer system 1400 (including CPU 1402, memory 1404, data storage device 1406, user input device 1408, network interface 1410, and audio processor 1412) are connected via one or more data buses 1460.

[0120] The graphics subsystem 1430 is further connected to components of the data bus 1460 and the computer system 1400. The graphics subsystem 1430 includes a graphics processing unit (GPU) 1432 and a graphics memory 1434. The graphics memory 1434 includes display memory (e.g., a frame buffer) for storing pixel data for each pixel of an output image. The graphics memory 1434 may be integrated into the same device as the GPU 1432, connected to the GPU 1432 as a separate device, and / or implemented within memory 1404. Pixel data may be provided directly from the CPU 1402 to the graphics memory 1434. Alternatively, the CPU 1402 provides the GPU 1432 with data and / or instructions defining the desired output image, and the GPU 1432 generates pixel data for one or more output images based on the data and / or instructions. The data and / or instructions defining the desired output image may be stored in memory 1404 and / or graphics memory 1434. In this implementation, GPU 1432 includes 3D rendering capabilities for generating pixel data for an output image based on instructions and data defining the geometry, lighting, shading, texturing, motion, and / or camera parameters of a scene. GPU 1432 may also include one or more programmable execution units capable of executing shader programs.

[0121] The graphics subsystem 1430 periodically outputs pixel data of an image from the graphics memory 1434 for display on the display device 1450. The display device 1450 can be any device capable of displaying visual information in response to signals from the computer system 1400, including CRT, LCD, plasma, and OLED displays. The computer system 1400 can provide analog or digital signals to the display device 1450.

[0122] According to various implementations, CPU 1402 is one or more general-purpose microprocessors having one or more processing cores. Other implementations may use one or more CPU 1402s with a microprocessor architecture specifically suited for highly parallel and computationally intensive applications, such as media and interactive entertainment applications.

[0123] 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 various 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 based on this disclosure. In the discussion herein, the network may or may not be specifically indicated.

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

[0125] It should be noted that the methods, systems, and apparatus discussed above are intended only as examples. It must be emphasized that various processes or components can be appropriately omitted, substituted, or added in various embodiments. For example, it should be understood that in alternative embodiments, the methods can be performed in a different order than described, and various steps can be added, omitted, or combined. Moreover, features described with respect to certain embodiments can be combined in various other embodiments. Different aspects and elements of embodiments can be combined in a similar manner. Furthermore, it should be emphasized that technology is constantly evolving, and therefore many elements are illustrative and should not be construed as limiting the scope of the invention.

[0126] Specific details are given in the description to provide a thorough understanding of the implementation schemes. However, those skilled in the art will understand that these implementation schemes can 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 described implementation schemes.

[0127] Furthermore, it should be noted that the implementation scheme can be described as a process depicted as a flowchart or block diagram. Although each operation can be described as a sequential process, many operations can be performed in parallel or simultaneously. Additionally, the order of operations can be rearranged. The process may have additional steps not included in the diagram.

[0128] Furthermore, as disclosed herein, the term "memory" or "memory cell" can refer to one or more means for storing data, including read-only memory (ROM), random access memory (RAM), magnetic RAM, core memory, disk storage media, optical storage media, flash memory devices, or other computer-readable media for storing information. The term "computer-readable media" includes, but is not limited to, portable or fixed storage devices, optical storage devices, wireless channels, SIM cards, other smart cards, and a variety of other media capable of storing, including, or carrying instructions or data.

[0129] Furthermore, the implementation can be carried out through hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments used to perform the necessary tasks can be stored in a computer-readable medium, such as a storage medium. The processor can then perform the necessary tasks.

[0130] Unless otherwise stated, all measurements, values, ratings, locations, sizes, dimensions, and other specifications set forth in this specification (including in the appended claims) are approximate, not precise. They are intended to have a reasonable range consistent with the functions they relate to and the conventions in the field to which they belong. “Approximately” includes tolerances 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, values ​​otherwise known in the art.

[0131] Several embodiments have been described, and those skilled in the art will recognize that various modifications, alternative constructions, and equivalents can be used without departing from the spirit of the invention. For example, the elements described above may simply be components of a larger system, where other rules may take precedence over or otherwise modify the application of the invention. Furthermore, multiple steps may be taken before, during, or after considering the above elements. Therefore, the above description should not be considered as limiting the scope of the invention.

Claims

1. A method implemented by a computer system, the method comprising: Access video content of gameplay by a video game player in a video game, wherein the video content is associated in a data storage area with an identifier of an activity performed by the video game player in the video game and data indicating the start, end, and result of the activity, and wherein the identifier of the activity is included in the program code of the video game; The data indicates that the result is a successful completion of the activity; Generate information about the activity, wherein the information includes a link to a portion of the video content, wherein the portion corresponds to the activity shown in the video content or a set of tasks within the activity; as well as The information is presented to the user in the user interface.

2. The method of claim 1, further comprising: The gameplay of the video game player is recorded as the video content; While recording the gameplay, the system receives one or more events, including the identifier, the start, the end, and the result. Generate an association between the video content and the identifier, and between the portion of the video content and one or more of the start and end points; as well as The one or more associations are stored in the data storage area.

3. The method of claim 2, further comprising: Based on the request from the video game player to share the video content, the video content is sent to the content system; as well as An indication that the video content is being shared is stored in the data storage area, wherein the link is included in the information based on the indication.

4. The method of claim 3, wherein the information is presented in a window above the video game content of the video game, and the method further comprises: The user selects the link presented in the window; as well as Based on the user's choice, the video content is received from the content system.

5. The method of claim 4, further comprising: Based on the user's selection of the video content presented in the window, the gameplay video content is displayed above the video game content.

6. The method of claim 4, wherein the window further comprises at least one of the following: (i) a first option to present the video content of the gameplay adjacent to and simultaneously with the presentation of the video game content of the video game, or (ii) a second option to present the video content of the gameplay above and simultaneously in a picture-in-picture window of the video game content of the video game.

7. The method of claim 4, wherein the window further includes a map corresponding to an area within the video game, wherein the map indicates the estimated location of a plurality of video game players within the area where they complete the activity.

8. The method of claim 4, wherein the window further includes information about how multiple video game players used the mechanism to complete the activity based on their history of using the mechanism.

9. The method of claim 1, wherein the video content is further associated in the data storage area with an identifier of a mechanism used by the video game player to complete a task in the task set of the activity, wherein the portion of the video content corresponds to the task and demonstrates the use of the mechanism.

10. A computer system, the computer system comprising: One or more processors; as well as One or more memories, the one or more memories storing computer-readable instructions that, when executed by the one or more processors, configure the computer system to: Access video content of gameplay by a video game player in a video game, wherein the video content is associated in a data storage area with an identifier of an activity performed by the video game player in the video game and data indicating the start, end, and result of the activity, and wherein the identifier of the activity is included in the program code of the video game; The data indicates that the result is the successful completion of the activity; Generate information about the activity, wherein the information includes a link to a portion of the video content, wherein the portion corresponds to the activity shown in the video content or a set of tasks within the activity; and The information is presented to the user in the user interface.

11. The computer system of claim 10, wherein the execution of the computer-readable instructions further configures the computer system to: The video content is ranked relative to one or more other video content showcasing the activity, wherein the ranking is based on the video game player's language settings and the user's language settings; and The video content to be included in the information is selected based on the ranking.

12. The computer system of claim 10, wherein the portion of the video content demonstrates the video game player using a mechanism to complete the activity, and wherein the execution of the computer-readable instructions also configures the computer system to: The video content is ranked relative to one or more other video content showcasing the activity, wherein the ranking is based on the user's availability.

13. The computer system of claim 10, wherein the execution of the computer-readable instructions further configures the computer system to: The video content is ranked relative to one or more other video content showcasing the activity, wherein the ranking is based on characteristics of the video game player in the video game and characteristics of the user in the video game.

14. The computer system of claim 10, wherein the execution of the computer-readable instructions further configures the computer system to: The video content is ranked relative to one or more other video content showcasing the activity, wherein the ranking is based on difficulty settings associated with the gameplay of the video game player in the video game and difficulty settings associated with the gameplay of the user in the video game.

15. The computer system of claim 10, wherein the start and end of the activity indicate the video game player's completion time of the activity, and wherein the execution of the computer-readable instructions also configures the computer system to: The video content is ranked relative to one or more other video content showcasing the activity, wherein the ranking is based on the completion time.

16. The computer system of claim 10, wherein the execution of the computer-readable instructions further configures the computer system to: The video content is ranked relative to one or more other video content showcasing the activity, wherein the ranking is based on microphone audio from the video game player and may be used in conjunction with the video content.

17. The computer system of claim 10, wherein the execution of the computer-readable instructions further configures the computer system to: The success rate of the video content is determined, wherein the success rate is determined at least by the following means: After presenting the video content to the second video game player and before receiving another identifier for a different activity performed by the second video game player in the video game, second data including the identifier of the activity and indicating that the second video game player has successfully completed the activity is received, and The success rate is updated based on the second data; and The video content is ranked relative to one or more other video content showcasing the activity, wherein the ranking is based on the success rate.

18. A non-transitory computer-readable storage medium for storing one or more instructions, which, when executed on a computer system, cause the computer system to perform operations including: Access video content of gameplay by a video game player in a video game, wherein the video content is associated in a data storage area with an identifier of an activity performed by the video game player in the video game and data indicating the start, end, and result of the activity, and wherein the identifier of the activity is included in the program code of the video game; The data indicates that the result is a successful completion of the activity; Generate information about the activity, wherein the information includes a link to a portion of the video content, wherein the portion corresponds to the activity or a set of tasks within the video content; and The information is presented to the user in the user interface.

19. The non-transitory computer-readable storage medium of claim 18, wherein the activity is a task from a plurality of tasks forming a second activity, wherein the operation further comprises: A window is presented in a first state in the user interface, the window recognizing the second activity and appearing above the video content of the video game; When the user selects the second activity, the window is presented in an expanded state, and the window in the expanded state identifies the task of the second activity; as well as When the user selects the activity from the tasks of the second activity, the window in the expanded state is updated to display the information about the activity.

20. A non-transitory computer-readable storage medium of claim 19, wherein the window is updated to further display at least one of the following: (i) a map of the area of ​​the video game in which the activity is completed or (ii) second information about the mechanism used to complete the activity, wherein at least one of (i) the map or (ii) the second information is displayed simultaneously with the link pointing to the portion of the video content.

Citation Information

Patent Citations

  • Systems and Methods for Enabling Time-Shifted Coaching for Cloud Gaming Systems

    CN107029429A