Virtual influencers driven based on predicted game activity and spectator characteristics

By monitoring game session activity, using machine learning models to predict game content, and leveraging virtual characters to guide viewers, the problem of viewers being unable to watch content of interest in a timely manner in existing technologies has been solved, resulting in a higher quality gaming experience.

CN115175751BActive Publication Date: 2026-03-24SONY INTERACTIVE ENTERTAINMENT LLC
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-03-24
Publication Date
2026-03-24

AI Technical Summary

Technical Problem

Existing technologies struggle to effectively drive virtual influencers based on predicted game activity and audience characteristics, resulting in viewers being unable to watch game content they are interested in in a timely manner.

Method used

By monitoring activity in game sessions, using machine learning models to predict future game activities, and selecting and recommending game sessions based on audience characteristics, the system leverages virtual characters or influencers to guide viewers to channels for games of interest, providing real-time video streaming and audio commentary.

Benefits of technology

This improved the viewing experience for the audience, ensuring that they could watch game activities of interest in a timely manner, and enhanced the interactivity and engagement of the game content.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115175751B_ABST
    Figure CN115175751B_ABST
Patent Text Reader

Abstract

A method is provided that includes monitoring gameplay activity in a plurality of game sessions, where the monitoring includes, for each game session, analyzing the gameplay activity in the game session to predict future gameplay activity in the game session, identifying one or more characteristics of a plurality of viewers that interact with a virtual character, where each of the viewers that interact with the virtual character accesses a channel attributed to the virtual character over a network, providing, to the viewers over the channel, access to view a selected game session that is one of the plurality of game sessions, the selected game session being selected based on the predicted future gameplay activity and based on the characteristics of the plurality of viewers.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to systems and methods for driving virtual influencers based on predicted gaming activities and audience characteristics. Background Technology

[0002] Description of related technologies

[0003] The gaming industry has expanded into sharing and watching gameplay videos. Users can now record and share their gameplay through websites, social media, and more. Furthermore, users can stream their gameplay, allowing others to watch it virtually in real-time.

[0004] Another current trend in the gaming industry is the move towards cloud gaming. Cloud gaming offers advantages to end users by enabling remote execution of video games in data centers where video game resources can be guaranteed. Video generated by the remotely executed video game is streamed to the user's device, and input from the user is sent back to the data center. This allows end users to run the game without owning specific hardware. Instead, end users only need sufficient hardware to stream the game and can still enjoy a high-quality gaming experience. Furthermore, in theory, cloud gaming enables gaming from anywhere with an available internet connection.

[0005] A continuing trend in the video game industry is the increasing complexity of graphics and the availability of computing resources to meet the demands of modern game engines. As video games evolve, their resolution and frame rates continue to improve, enabling the rendering of highly realistic and detailed virtual environments. Furthermore, the growing popularity of cloud gaming and the shift towards cloud-executed video games are providing greater access to high-quality gaming experiences.

[0006] Against this backdrop, the implementation scheme of this disclosure is proposed. Summary of the Invention

[0007] Embodiments of this disclosure provide systems and methods for driving virtual influencers based on predicted gaming activity and audience characteristics.

[0008] In some implementations, a method is provided that includes: monitoring game activity in multiple game sessions, wherein the monitoring includes, for each game session, analyzing the game activity in the game session to predict future game activity in the game session; identifying one or more characteristics of multiple viewers who watch and interact with a virtual character (virtual influencer), wherein each of the viewers of the virtual character accesses a channel belonging to the virtual character via a network; and providing the viewers with access via the channel to watch a selected game session that is one of the multiple game sessions, the selected game session being selected based on predicted future game activity and based on the characteristics of the multiple viewers.

[0009] In some implementations, the channel is defined by a website, social media platform, game viewing platform, or video sharing platform.

[0010] In some implementations, the channel is configured to provide the viewer with access to stream video content attributed to or curated by the virtual character.

[0011] In some implementations, providing access to watch the selected game session includes instructing the virtual character to watch the selected game session via the channel.

[0012] In some implementations, watching the selected game session includes streaming the video of the selected game session over the network to multiple client devices associated with the multiple viewers.

[0013] In some implementations, watching the selected game includes providing voice narration of the selected game belonging to the virtual character via the network.

[0014] In some implementations, monitoring game activity in a given game session within the game session includes receiving game activity metadata from the given game session via the network.

[0015] In some implementations, the game metadata identifies one or more of the player's location, input, or game-related events within the virtual environment.

[0016] In some implementations, analyzing the game's activity includes applying a machine learning model to the game's activity to predict future game activities.

[0017] In some implementations, identifying the characteristics of the audience includes determining one or more of the audience's preferences, the audience's location, the audience's age, the audience's viewing history, and the audience's game playing history.

[0018] In some implementations, a method is provided that includes: monitoring game activity in multiple game sessions, wherein the monitoring includes, for each game session, analyzing the game activity in the game session to predict future game activity in the game session; identifying one or more characteristics of multiple followers of a virtual character on a social platform, the followers of the virtual character being subscribers of the virtual character on the social platform; and providing access via a network to the followers of the virtual character to watch a selected game session, which is one of the multiple game sessions, the selected game session being chosen based on predicted future game activity and based on the characteristics of the multiple viewers.

[0019] In some implementations, becoming a subscriber to the virtual character on the social platform enables the follower to receive updates from the virtual character on the social platform.

[0020] In some implementations, receiving updates from the virtual character includes receiving posts belonging to the virtual character that provide access to watch the selected game session.

[0021] In some implementations, watching the selected game includes providing voice narration of the selected game belonging to the virtual character via the network.

[0022] In some implementations, monitoring game activity in a given game session within the game session includes receiving game activity metadata from the given game session via the network.

[0023] In some implementations, the game metadata identifies one or more of the player's location, input, or game-related events within the virtual environment.

[0024] In some implementations, analyzing the game's activity includes applying a machine learning model to the game's activity to predict future game activities.

[0025] In some implementations, identifying the characteristics of the follower includes determining one or more of the following: the follower's preferences, the follower's location, the follower's age, the follower's viewing history, and the follower's gaming history.

[0026] Other aspects and advantages of this disclosure will become apparent from the following detailed description, which is illustrated by way of example in conjunction with the accompanying drawings, demonstrating the principles of this disclosure. Attached Figure Description

[0027] This disclosure and its other advantages can be best understood by referring to the following description taken in conjunction with the accompanying drawings.

[0028] Figure 1 The invention conceptually illustrates the training and use of machine learning (or artificial intelligence (AI)) models to predict game activities according to embodiments of the present disclosure.

[0029] Figure 2 A method for recommending channels to viewers according to an embodiment of this disclosure is conceptually illustrated.

[0030] Figure 3 A scene or virtual environment of a video game according to an embodiment of the present disclosure is conceptually illustrated, in which the prediction of events of interest occurs.

[0031] Figure 4 A map view of a video game according to an embodiment of this disclosure is conceptually illustrated, the map view being used to guide viewers to watch activities of interest.

[0032] Figure 5A A conceptual illustration shows an interface for watching live video game gameplay according to an embodiment of this disclosure.

[0033] Figure 5B The concept illustrates how virtual characters or influencers, according to embodiments of this disclosure, guide viewers to various game channels.

[0034] Figure 6 A conceptual illustration shows a virtual character, according to an embodiment of this disclosure, allowing viewers to observe specific locations within a virtual environment of a video game.

[0035] Figure 7 A conceptual illustration is provided of modeling a video game player according to an embodiment of this disclosure to predict player actions and provide feedback to the player.

[0036] Figure 8 A player view of a virtual environment of a video game according to an embodiment of this disclosure is conceptually illustrated, in which the player actively participates in the game.

[0037] Figure 9 A system for enabling virtual characters to enhance the viewer experience of a video game, according to an embodiment of the present disclosure, is shown.

[0038] Figure 10A An exemplary system for loading game files of games available through cloud gaming sites, according to an embodiment of this disclosure, is shown.

[0039] Figure 10BThis is a flowchart conceptually illustrating various operations performed for streaming cloud video games to a client device according to embodiments of this disclosure.

[0040] Figure 11 An implementation scheme of an information service provider architecture according to embodiments of the present disclosure is shown. Detailed Implementation

[0041] In the following description, numerous specific details are set forth to provide a thorough understanding of this disclosure. However, it will be apparent to those skilled in the art that this disclosure can be practiced without some or all of these specific details. In other instances, well-known process steps have not been described in detail so as not to obscure this disclosure.

[0042] Figure 1 This invention conceptually illustrates the training and use of machine learning (or artificial intelligence (AI)) models to predict game performance activities according to embodiments of this disclosure. In the illustrated embodiment, player 100 participates in the performance of a video game, while a spectator 104 watches the performance. The execution of the video game defines a game session 102 during which game performance activities occur. Broadly speaking, game performance activities include player activities 106 and game events 108 that occur during session 102 and may be caused by player activities. By way of example and not limitation, player activities 106 may include any actions of the player, such as device input (controller, keyboard, mouse, touchpad, etc.), motion input, voice input, text input, eye-tracking input, player emotion input, player biometric input, or any other activity or input directly generated by the player. Player activities 106 may also include activities generated on behalf of the player by the AI ​​(artificial intelligence) of the video game associated with the player (or other automated player assistance or player activity generation process). As an example and not a limitation, game event 108 may include any event that occurs in a video game session, such as the movement of virtual objects (characters, vehicles, etc.) in a virtual environment / space, achievements, gaining or losing virtual objects / skills / resources / currency, etc., firing weapons, using virtual objects or skills or actions, kills, player deaths, or any other game event caused by the game played by the player and / or their associated AI.

[0043] Additionally, when viewers 104 watch game session 102, they generate viewer activity 110. As an example, and not a limitation, viewer activity 110 can include any action of viewer 104, such as moving to different viewing positions within the virtual environment, choosing which players to follow, generating comments / reactions, text input, emoji input, voice input, eye-tracking input, device input, joining or leaving a specific game session, viewer mood, viewer count, time spent on a particular channel, etc. In some implementations, viewers are able to interact in ways that directly affect the game session (such as by altering elements in the game's virtual environment (e.g., choosing to drop a weapon, loot box, place a virtual object, remove / change a virtual object, etc.)), and these interactions are further included as part of viewer activity 110.

[0044] In some implementations, audience activities also include post-event / post-match / post-game session activities, such as post-event / post-match / post-game session comments, engagement duration after the event, etc. It should be understood that post-event activities can indicate audience engagement during the actual event.

[0045] The metadata identifying the aforementioned player activity 106, game event 108, and audience activity 110 can be stored as training data 112 and subsequently used to train a machine learning / AI model 116 114 to predict game activities or other relevant information. It should be understood that multiple machine learning models may exist, but for ease of description and for the purposes of this disclosure, these models will be described in the singular. As described further in detail below, the trained machine learning model 116 can be used to perform real-time predictions 118 of game activities and related events, which can enhance the experience of players 100 and audiences 104.

[0046] In some implementations, the machine learning model 116 can be trained using gameplay videos. This can serve as a supplement to or alternative to using game metadata that identifies gameplay activities. The machine learning model 116 can be trained to identify events of interest in the gameplay videos.

[0047] In some implementations, the machine learning model 116 is trained to predict when interesting, unusual, or other noteworthy events will occur. The “interestingness” or level of interest of an event may be based on factors included in the training data, such as the number of viewers, the number and content of viewer comments (e.g., determined by semantic / sentiment analysis, natural language processing, etc.), other types of viewer responses (e.g., recorded audio / speech, viewer response inputs such as likes or emoji responses), the number and type of player activities involved in the event (e.g., input volume, input type, player movement / action, weapon use, skill use, etc.), etc.

[0048] Machine learning models can be trained to understand what constitutes an event of interest and to predict when such an event might occur. This information can then be used to guide viewers 104 through game sessions and virtual locations within such sessions where the event of interest is actively occurring or is expected to occur in the near future (e.g., within the next 1, 2, 3, 4, 5 minutes, etc.). In this way, viewers have a higher chance of witnessing something of interest while watching a video game session.

[0049] In some implementations, machine learning model 116 is trained to predict player activity. This information can be used to suggest hints or "games" to a given player, thereby guiding the player to perform activities that would be of interest to an audience.

[0050] In some implementations, the AI / ML model 116 is configured to analyze post-event / post-match / post-game session comments, post-event engagement duration, etc.

[0051] In some implementations, communication with the audience or player is provided or attributed to a virtual character / influencer. In some implementations, the virtual character may be configured to provide vocal recommendations or other information, or rendered in the player's or audience's view (e.g., rendered as an overlay, or rendered in a dedicated window / area within the view, etc.). In some implementations, the virtual character is rendered within the virtual environment of the video game being played or viewed.

[0052] In this disclosure, the terms virtual persona and virtual influencer are used interchangeably. Broadly speaking, a virtual influencer is understood as a virtual persona with a personality that can be driven by AI. Virtual influencers can have many followers on social media platforms (e.g., Instagram, Twitter, Facebook, etc.), and their posts can garner tens of thousands of likes, shares, comments, or other interactions on these platforms. Virtual influencers are often used in social media marketing to generate buzz, and their popularity is growing, and they can be seen as competition from human influencers. An example of a virtual influencer is Lil Miquela, who at the time of this disclosure had 2 million followers on Instagram (https: / / www.instagram.com / lilmiquela / ).

[0053] In some implementations, popular game characters can act as virtual influencers and further provide commentary for viewers (e.g., online or at esports events). Virtual game influencers can offer followers (viewers) recommendations on the best games / players / channels / events to watch on viewing platforms (e.g., Twitch, Mixer, YouTube, etc.). In some implementations, virtual influencers / commentators can be driven and tailored to attract more viewers, retain existing followers, engage more, and so on.

[0054] Figure 2 A method for recommending viewing channels to a viewer according to embodiments of this disclosure is conceptually illustrated. In the illustrated embodiment, a viewer 200 can select to watch gameplay of a video game among various gameplay channels 202. Each gameplay channel 204, 206, 208, etc., provides a live video feed of the gameplay of the video game. In some embodiments, the gameplay channel provides a live video feed of a specific player's gameplay of the video game, which may be a specific player's view or a related view (e.g., an over-the-shoulder view versus a first-person view). In other embodiments, the gameplay channel provides a live video feed of the gameplay of the video game, but not necessarily a live video feed of a specific player's view. For example, the live video feed may come from a predefined location in the virtual environment of the video game, or from a viewpoint that the viewer can control while watching.

[0055] In some implementations, game state data is streamed via a channel instead of a live video feed of the game (or in addition to a live video feed of the game, game state data is also streamed). In some implementations, the game state data is used to facilitate viewers in VR (virtual reality) to observe game actions and move and freely explore the environment. In some implementations, this requires the viewer to have the game installed on a local device that processes the game state data to synchronize the game state with cloud execution, but allows the viewer to be provided with a viewpoint different from the player's.

[0056] In some implementations, the game play channel is displayed as an optional icon in a graphical user interface or accessed through it. These icons may include screenshots of gameplay or even consist of a miniaturized version of the live stream. In various implementations, the game play channel may be presented via a website, a game console interface, an app on a mobile device or other computing device, or any other interface or application capable of providing live streams of video game gameplay for viewing. In some implementations, selection of the icon triggers a replay of the live stream and / or displays the live stream in an expanded format.

[0057] It should be understood that viewer 200 can access game channel 202 using any hardware configuration, including, but not limited to, personal computers, laptops, tablets, cellular phones, mobile devices, game consoles, set-top boxes, streaming media boxes / peripherals, etc. It should be understood that such devices can be connected to, or may include, or may be integrated with a display, such as a monitor, television, projector, head-mounted display (HMD), etc.

[0058] Each playthrough channel is defined from a corresponding executed game session, which performs the playthrough and renders video for the playthrough channel. In the illustrated embodiment, playthrough channel 204 is defined from game session 210; playthrough channel 206 is defined from game session 212; and playthrough channel 208 is defined from game session 214. Each game session (reference 216) can be analyzed to identify what is happening during playthrough and, further, to identify and / or predict when or about to happen interesting or unusual events. In some embodiments, a machine learning model as described above is employed to predict when an event of interest will occur (and where it will occur within the virtual environment of the video game) in a given playthrough session.

[0059] Additionally, in some implementations, developer-driven predictions may be available. For example, game developers can predict and recommend content from their game titles. In some implementations, game developers can utilize AI or humans to perform the predictions and recommendations. It should be understood, but not limited to, that developers can train AI using such implementations as disclosed herein, before the game title is launched or during the game's alpha, beta, or pre-launch phase. This will allow developers to pre-train and thus pre-fine-tune the disclosed system after the game title launches, prior to live training, and ensure that interesting predictions and recommendations are available on the first day the game is available to players.

[0060] Based on this prediction of when an event of interest will occur, the system can recommend game play channels (refer to 218) to viewer 200, thereby guiding viewer 200 to engage in game play activities of interest and improving the quality of time spent watching game play. In some implementations, the system can highlight one or more of the game play channels 202 to indicate that something of interest is about to happen, such as by illuminating the channel or its boundary with a specific color, flashing, or animation, displaying indicators to draw the channel's attention, or indicating that something is expected to happen. In some implementations, a virtual character can be configured to recommend game play channels to the user and can further comment on what is happening in the game and / or predict what will happen.

[0061] In some implementations, the system can automatically guide (or recommend) viewers 200 to a given game channel based on a prediction that an event of interest is about to occur in the game channel, such as by selecting / recommending one game channel or (recommending) changing the channel from an existing game channel to another. In some implementations, this switching can be rendered to the viewers, initiated by a virtual character, such as by rendering a virtual character selecting or changing a game channel. In some implementations, the virtual character is displayed in a predefined window in the viewer's view, and the virtual character is configured to communicate to the viewers that they will be changing the channel to a different game channel. In some implementations, the virtual character can ask the viewers if they want the virtual character to change the channel or select a channel for them. It should be understood that in some implementations, this can be in the form of a graphical icon, text dialogue, or voice audio. In some implementations, the virtual character / influencer can also recommend channels based on the viewer's friends recently joining the channel.

[0062] In some implementations, channel recommendations can be prioritized or filtered based on a viewer's profile 220. For example, a viewer profile may include information such as the viewer's demographics, age, gender, location, and other types of data such as gaming history, games owned or played, gaming skill level, gaming achievements, preferences for game genres, previous viewing history (e.g., games watched, comments / reactions while watching, etc.), or other types of profile information that can be used to prioritize or filter channel recommendations for a viewer 200.

[0063] In addition to actions that occur within the game, there may also be interesting activities or events that might happen on the viewing channel or among viewers. In some implementations, virtual influencers can invite more people to watch based on what is happening on the channel.

[0064] Figure 3 A conceptual illustration of a video game scene or virtual environment according to embodiments of the present disclosure, in which the prediction of an event of interest occurs. In the illustrated scene 300, multiple players (i.e., player-controlled characters) 302, 304, and 306 are moving toward house 308. Multiple other players 310, 312, and 314 are present in house 308. In some embodiments, the system can identify that an event of interest is likely to occur soon based on such activity occurring in the video game. For example, a player moving toward house 308 or toward other players in the house can indicate that an event of interest is imminent. In some embodiments, players 302, 304, and 306 are members of the same team, while players 310, 312, and 312 are members of a competing team, and their approach to or movement toward each other indicates that an event of interest is imminent.

[0065] The concept can be extended to other types of approach and movement. For example, the movement of one or more players toward or near one or more non-player characters (e.g., moving toward a boss character) can predict activities of interest for observation. Player actions (such as arming weapons, deploying troops / non-player characters, activating skills / abilities) can be further predicted, as these can indicate that a player is preparing to engage in a particular game activity of interest.

[0066] As mentioned above, machine learning models can be trained to identify such situations and activities, and predict when activities of interest will occur within a predefined timeframe. Machine learning models can be trained to identify precursors to activities of interest, which may be defined by high levels of player activity, player-to-player interactions, changes in player characteristics, changes in resource levels, achievements, player kills / deaths, etc.

[0067] As noted above, the system allows game developers to perform early training before allowing the public (alpha, beta players) or the general public to play their games in advance. In some implementations, developers can provide activity cues to the AI ​​system by tagging game metadata and / or video streams using APIs or SDKs or other mechanisms provided to developers of the publicly available system. Therefore, developers can integrate this tagging process into the game's development process and ensure their game performs well alongside the publicly available system when it launches or is otherwise released to the public.

[0068] When an event of interest is predicted to occur, viewers can be notified, for example, through a virtual character or virtual influencer, allowing them to join and watch a specific game session. In some implementations, the system can be configured to provide viewers with relevant views so that they can watch the event of interest from an appropriate vantage point. For example, viewers can be provided with views from virtual camera 316 of any of the following players 302, 304, and 306, or from virtual camera 320 of any of the following players 310, 312, and 314, or from virtual camera 318, which provides a view of the vicinity where the predicted event of interest is to occur. In some implementations, viewers are provided with various view options to choose from. In this way, viewers can be notified of an upcoming event of interest in the video game and can also watch it from a relevant vantage point in a timely manner. This can be important because an event of interest is anticipated to occur soon or in the near future, and viewers may miss an action of interest if it takes too long to reach the appropriate viewpoint in the virtual environment of the video game.

[0069] It should be understood that machine learning models can also be used to determine suggested viewpoints or virtual camera positions for viewing. For example, machine learning models can be trained to discover optimal viewpoints based on previous viewer engagement and reactions to the game. For instance, machine learning models can be trained to determine which viewpoints provide the best viewer experience, such as from viewer activity (e.g., viewer comments / reactions, number and content of comments, likes, etc.), the duration a viewer watches from a given viewpoint, the viewpoint's historical popularity, or measurements from prior training with game developers and pre-release players. Machine learning models can then be applied to predict the optimal viewpoint for the viewer. As noted, such viewpoints can be presented as options for the viewer to choose from.

[0070] In some implementations, the system can generate a video showing the predicted event before it occurs. Viewers can watch the predicted video of the event of interest, determine if it is truly of interest, and then set their view (e.g., with the best-determined viewpoint in the virtual environment) to watch the live game to see if the event actually occurs. In some implementations, if viewers see that the event does not occur as predicted, they can activate the system to recreate the event in a different way. It should be understood that this will change the video stream the viewer is watching, not the live game session that is playing. Viewers can replay / share their alternative versions on social media, showing the predicted action of interest, and may further include comments from virtual characters / influencers.

[0071] Figure 4 A map view of a video game according to an embodiment of this disclosure is conceptually illustrated, the map view being used to guide a viewer's attention to activities of interest. In the illustrated embodiment, map view 400 provides an overview (or "God mode" view) of the video game's virtual environment, allowing the viewer to see various areas of the virtual environment simultaneously. This map view differs from a conventional viewing view, which is a first-person view within the virtual environment itself. In some embodiments, the map view is a 2D (or substantially 2D) top-down view, or a zoomed-out view of the video game's virtual environment / virtual space. Viewers can select a viewing location from the map view, for example, zooming to a first-person view of the virtual environment from the selected location.

[0072] In map view 400, viewers can see different areas of the virtual environment, such as mountainous area 402, forest area 404, and water area 406 in the illustrated embodiment. Activities can occur in various areas throughout the virtual space, and the locations of characters and objects of attention can be shown, such as character 408 in mountainous area 402, character 410 in forest area 404, and boat 412 in water area 406. Due to the large amount of activity that can occur, viewers may find it difficult to determine what to watch in the virtual environment.

[0073] Therefore, in some embodiments, the system is configured to identify locations of interest, such as those described in the machine learning model, where an activity of interest is occurring or is expected to occur soon. For example, in the illustrated embodiment, location 414 is highlighted as an area of ​​interest because it contains several players, and the system has detected activity in a particular game of interest or predicts that activity in a particular game of interest will occur soon. Therefore, location 414 can be emphasized or highlighted to make it more visible to the viewer, such as by marking it with an arrow or other indicator, or by displaying it in a more prominent color. In some embodiments, notifications, pop-up messages, or other renderings that may come from virtual characters or virtual influencers can be displayed. In some embodiments, the message or notification can be configured to indicate activity occurring in the highlighted area or to predict what activity will occur. In some embodiments, the message / notification is provided by a virtual character in the form of voice audio.

[0074] Such notifications can provide viewers with the option to zoom in on location 414 and switch to a magnified view or a first-person view of the activities taking place at location 414, or other types of views that provide a detailed view of location 414.

[0075] Figure 5A A conceptual illustration shows an interface for watching live gameplay of a video game according to an embodiment of this disclosure. Various gameplay channels are shown, such as channels 500, 502, 504, 506, etc. Each channel allows for the initiation of live viewing / watching of the gameplay on that channel. In the illustrated embodiment, the channel may be represented / displayed as a screenshot, a pre-recorded video clip (which may loop), or even live video. Each gameplay channel is configured to display live gameplay of the video game, for example, from the perspective of a specific player, the perspective defined or selected by the viewer or possibly associated with a virtual character or influencer.

[0076] In some implementations, the interface is configured to display various sessions of a single video game and provide access to them; while in other implementations, the interface is configured to display sessions of different video games and provide access to them. In various implementations, the interface is displayed via web pages, apps, game console system environments, virtual reality (VR) interfaces / environments, etc. As shown, each displayed channel may include various relevant information, such as the channel name (name / title), the number of viewers currently watching the channel, the length of time the channel has been active, the name of the player / user associated with the channel (or the player / user who created / owns the channel or whose game is displayed on the channel), the number of players participating in multiplayer games, etc.

[0077] Search field 508 allows users to enter search terms / tags, and the system can filter / publicize game channels associated with those search terms / tags. For example, a user may be interested in a specific character or scene in a video game, and by using search field 508, the user can more easily find game channels with the desired character or scene.

[0078] Category feature 510 enables users to categorize game channels based on selected criteria and sorting (such as by the number of viewers (high to low, or low to high), recently started, recommended, etc.). In some implementations, the categorization criteria may include current activity, where game channels are categorized according to the level of activity currently occurring in the corresponding game play within the channel. It is understood that the activity level can be determined based on analyzing game play across various channels and on factors such as player activity and movement, player communication, weapon firing or attacking, and the number of player interactions. By categorizing based on current activity levels, users can more easily find game channels currently displaying action, and they may immediately discover channels where they are participating in the game play.

[0079] In some implementations, the classification criteria may include predicted activity, wherein game channels are categorized based on predicted activity levels. That is, the amount of activity predicted to occur in the near future (e.g., within a predefined subsequent time period) is determined, and channels can be categorized based on anticipated future activity. As discussed, activities of interest can be predicted based on various game-related factors, and these activities can be implemented using machine learning models. In some implementations, the prediction may include predicting activity trends during game sessions, and channels can be categorized at least in part based on these trends, for example, channels with predicted increasing activity trends are prioritized over those with predicted decreasing trends. In this way, users can be directed to channels where gameplay may become more engaging over time and in the near future.

[0080] In some implementations, a virtual character can be rendered in the interface to highlight a specific game channel or draw attention to it. For example, virtual character 512 is shown to highlight game channel 504, indicating that game activity is becoming (or is predicted to become) more intense.

[0081] As discussed, in some implementations, the virtual character provides commentary / review and can guide the viewing perspective during gameplay sessions. In the illustrated implementation, virtual character 514 is shown as inviting a user to join the virtual character's viewing of gameplay channel 506. Thus, when watching channel 506, the user can receive commentary / review from virtual character 514, enjoy a viewpoint guided by the virtual character in a virtual environment, watch virtual character 514 rendered in the virtual environment of the video game, etc.

[0082] In addition to live channels, some implementations may also present replay videos. Such replays may also include commentary / narration by virtual characters.

[0083] In some implementations, a portion of the recommended channel 516 is provided as part of the interface. The recommended channel 516 may include links to game play channels that are not specifically previewed or otherwise displayed in the interface. Such recommended channels may be determined based on audience popularity, viewership ratings, viewing history / preferences or user profiles, similarity in viewership to user profiles, etc. The recommended channel 516 may also be configured to provide users with access to various viewing experiences, such as showcasing various video games or video game genres, various game play settings, various game play styles, etc.

[0084] Figure 5B A conceptual illustration shows a virtual character or influencer guiding viewers to various game play channels according to embodiments of this disclosure. In some embodiments, individual viewers 520 focus on watching a virtual character / influencer 522 on various game play channels, which may be game play channels showcasing the gameplay of individual players 524. In some embodiments, the virtual character 522 is configured to automatically select which game play channel to watch, and since viewers subsequently watch the game play channel selected by the virtual character 522, the virtual character can provide commentary or explanation of the activities occurring in the selected game play channel. It should be understood that the selection of game play channels by the virtual character 522 can be driven by predicting activities of interest based on viewer sentiment (e.g., automatically changing channels if viewer boredom is detected), viewer profiles, and preferences, as described above.

[0085] As an example, and not a limitation, when viewers 520 are watching virtual character 522, and virtual character 522 selects the game channel of player P1, they may have a view 526 of the video game player P1's game progress and an associated view of the virtual character in a predefined window 528. For example, in window 528, the rendering of virtual character 522 is shown and animated to show virtual character 522 narrating or commenting on the game progress.

[0086] At some point, the system can detect / predict an upcoming event of interest during player P3's gameplay, and in response, virtual character 522 can communicate and continue changing the gameplay channel to player P3's gameplay channel. A view 530 displaying player P3's gameplay is then provided to the audience 520. Similarly, virtual character 522 can be rendered in a predefined window 528 and now provides commentary / narration about player P3's gameplay. The predefined window 528 can be persistent as the gameplay channel changes from one channel to another.

[0087] In some implementations, channels on communication platforms (such as websites, social media platforms, game viewing platforms, video sharing platforms, etc.) can be attributed to virtual characters. Viewers can access and watch selected game sessions through these virtual character channels on the communication platform. The selection of game sessions can be based on predicted future activities within the game session, characteristics of the viewer, etc. It should be understood that the virtual character channel on the communication platform can indicate that the virtual character is watching the selected game session, and can provide viewers with links to also access and watch the selected game session.

[0088] In some implementations, a virtual character may have followers on a social platform, such that these followers are subscribers to the virtual character on the social platform. Access to watch selected game sessions can be provided to these followers via the social platform; for example, these selected game sessions may be based on predicted future game activities and chosen based on the characteristics of multiple viewers. For instance, followers may receive updates or posts from the virtual character in their social feeds, and these updates / posts may provide access to watch selected game sessions.

[0089] Figure 6 A virtual character, conceptually based on an embodiment of this disclosure, allows viewers to observe specific locations within a virtual environment of a video game. In the illustrated embodiment, gameplay of the video game occurs within a virtual environment 600. The virtual character or influencer 602 is configured to draw viewers 604 to the video game to watch gameplay activities. For example, viewers can join the virtual character 602 to watch gameplay through an interface displaying various gameplay channels as described above.

[0090] In some implementations, the virtual character 602 is rendered in the view of the virtual environment 600, making it appear as if the virtual character 602 is within the virtual environment 600. In some implementations, the rendering of the virtual character 602 is implemented as an overlay on the view of the virtual environment 600. It should be understood that in various implementations, the virtual character 602 may or may not be visible to the actual players participating in the video game.

[0091] In some implementations, when a viewer 604 joins the virtual character 602 to watch the game, a viewpoint within the virtual environment 600 is provided to the viewer. This viewpoint is automatically generated and associated with the virtual character to provide viewing of activities of interest occurring during the game session. In some implementations, the viewpoint is the viewpoint of the virtual character 602, i.e., a viewpoint viewed from the perspective of the virtual character (position and orientation) within the virtual environment. In some implementations, the viewpoint can be configured to automatically focus on activities of interest, specific players, virtual character 602, etc. In such implementations, the viewpoint can be attributed to the virtual character 602 as the virtual character's viewpoint. For example, in the illustrated implementation, the virtual character 602 is initially watching activities occurring at P0 and then continues to focus on activities at location P1 within the virtual environment 600 (refer to 608).

[0092] In some implementations, although the initial viewpoint is automatically determined when the audience joins, the viewpoint can subsequently be controlled by the audience, allowing them to view from a position and direction of their choice.

[0093] To draw viewers into the gameplay, the virtual character 602 can be configured to post to social media or other communication platforms (refer to 606). For example, such posts may describe the gameplay or anticipated activities, indicating that it is fun or exciting, and inviting users to join in watching the gameplay. In some implementations, such posts may include links to watching the gameplay (e.g., links to a webpage for watching or to an app / application). In additional implementations, viewers may opt to join in playing the video game, thus transforming from viewers to players in the video game. Therefore, mechanisms as described herein can be implemented to enable virtual characters / influencers to attract users not only to watch the gameplay but also to join in playing the video game. As the gameplay occurs, the virtual character 602 is configured to provide commentary 610 on the gameplay activities and, in response, may further provide commentary 612. It should be understood that such comments may appear in a comment stream associated with the video game's gameplay session and visible to the video game's viewers or players.

[0094] Activity occurring in a given area of ​​a video game may gradually decrease over time. However, activity of interest can be detected or predicted (refer to 614) to occur at another location in the virtual environment 600. In the illustrative embodiment, such activity of interest has been detected or predicted to occur at location P2 in the virtual environment 600. Therefore, the virtual character can be configured to jump (refer to 616) to location P2 and begin watching (and commenting on) the game activity occurring at location P2. Viewers following the virtual character 602 can be configured to automatically jump to location P2 with the virtual character 602, or can be given the option to jump to location P2 or remain at their current location. Similarly, the virtual character 602 can generate a post 606 about the game activity at location P2 and invite users to join the viewing. The virtual character 602 can follow (refer to 618) the game activity from location P2 to location P3, generating posts, commentary, and / or reviews in the process.

[0095] Therefore, based on the above, virtual characters can move within a virtual environment, allowing viewers to observe events and activities of interest. It should be understood that the narration of these virtual characters can be generated and amplified by an AI model. This AI-generated voice narration can contain various types of information, including, but not limited to, predictions, player endorsements, comments, and audience data.

[0096] In some implementations, AI commentary can include AI-based predictions of events or player activity, as described herein. That is, the commentary can describe predicted activities of interest, the predicted locations of such activities, and which players to watch for the predicted activities. In this way, AI commentary can provide viewers with advance information, enabling them to watch areas where activities of interest are predicted.

[0097] In some implementations, AI commentary can include player sponsorship information. For example, when commentating on a given player's actions in a video game, the AI ​​commentary can be configured to mention the player's corporate sponsors (or products or services sold by those sponsors). Vocabulary indicating a corporate sponsor or their products / services can be included in the AI ​​commentary vocabulary. This can provide advertising that sounds natural, integrated into the game commentary rather than requiring the commentary to pause for product / sponsorship placement. For example, a virtual character might commentate on a player's character jump sponsored by shoe company X by saying, "He jumps like he's wearing a new pair of X shoes!"

[0098] In some implementations, the AI ​​commentary may include comments from other viewers or players of the video game. In some implementations, the AI ​​commentary may respond to such comments.

[0099] In some implementations, AI narration can be configured to include audience data, such as user profile information, demographic information (e.g., age, birthday, gender, geographic location, etc.), and user viewing history. For example, the AI ​​narration could say "Happy Birthday John from Toledo," demonstrating knowledge of the audience's name, birthday, and location.

[0100] In some implementations, virtual influencers can draw information from trending topics on social media, news, etc., and insert relevant comments into commentary / chat comments, etc. (For example, for a trending topic about skirt colors, a virtual influencer could comment on whether it should be blue & black or white & gold). Such comments can enhance the perception of the virtual influencer as having realistic behavior.

[0101] As noted, virtual characters can be configured to generate comments added to the comment stream. Comments generated and attributed to a virtual character can contain or utilize information similar to that described in the narration about the virtual character. Furthermore, the system can be configured to analyze comments from viewers and detect viewer sentiment. For example, if viewer comment activity is low or if viewer sentiment is determined to be low, comments may be generated to stimulate the viewer, thereby increasing viewer engagement and encouraging more comment activity. In some implementations, if comment activity is determined to be harmful or argumentative / unhealthy, comments may be generated to change the topic or ease tension.

[0102] Figure 7 This conceptually illustrates modeling a video game player according to embodiments of the present disclosure to predict player actions and provide feedback to the player. More broadly, AI / machine learning can be applied to learn player tendencies, thereby predicting future player behavior in a video game session. In some embodiments, information regarding predicted actions may be disclosed using a virtual character.

[0103] In the illustrated embodiment, player 700 participates in the gameplay of a video game executed as a game session 704. During gameplay, player 700 generates inputs 702 (e.g., controller inputs, motion inputs, voice inputs, view orientation inputs, etc.), which are processed to drive game session 704, including updating the game state of the video game and rendering video frames for player 700 to view. As game session 704 is executed, player motion data 708 is generated, which includes data describing the game actions taken by the player during the gameplay of the video game. It should be understood that player motion data 708 also includes contextual data identifying the scenarios encountered by player 700 during their gameplay, and specific game actions performed by player 700 in response to such scenarios. By way of example, and not limitation, examples of game actions include movement, use of skills, use of weapons, purchase / manipulation / use of virtual objects, commands, deployments, or any other type of action that a player may take in the context of the video game. By way of example, and not limitation, examples of contextual data include data describing or identifying scenes / levels / chapters, locations within virtual environments / spaces, actions of other players, actions of non-player characters / entities, etc.

[0104] Player motion data 708 is used to train a player model 710, which may be a machine learning / AI model, to predict the behavior of player 700 during gameplay. During training, player model 710 learns player 700's gameplay tendencies. In some embodiments, player model 710 learns that player 700 "plays the game," which is the action path the player tends to take in response to a given scenario in the video game. In this way, the trained player model 710 can define or embody a "script" for player 700 consisting of the player's "gameplay."

[0105] Therefore, in some embodiments, a trained player model 710 is used to predict (refer to 716) the game actions of player 700, and the predicted actions can be used to provide feedback to player 700 (refer to 718). In some embodiments, player feedback can be provided by a virtual character or influencer as described herein. In some embodiments, a virtual character and text feedback belonging to the virtual character can be displayed in the player's view. In some embodiments, the virtual character is configured to speak to the player regarding the feedback, and the feedback information can be animated in the player's view.

[0106] In some implementations, feedback to player 700 is based on predicted actions for player 700, such as suggestions for certain actions or action routes to be taken. The suggested actions may be based on known "game progression" associated with player 700 and thus predicted according to the player's inclinations. In some implementations, player 700 may respond to these suggested actions, for example, responding positively and indicating agreement to take the suggested action, or responding negatively and indicating they will not take the suggested action. In some implementations, player 700 may verbally respond to such suggested actions. For example, a virtual character may ask the player if they would like to take a certain action route, and the player may respond with yes or no.

[0107] In some implementations, the player model 710 can be configured to incorporate audience reactions (e.g., comments, likes, etc.) into the player's actions, enabling the trained player model to predict which actions are likely to generate greater audience engagement or more positive audience reactions. For example, the player model can be trained to predict which player actions are likely to lead to more comments from the audience or more comments with specific positive sentiments. Therefore, feedback to the player can be configured to suggest actions that would increase audience engagement.

[0108] Figure 8 A player view of a virtual environment for a video game according to an embodiment of this disclosure is conceptually illustrated, in which a player actively participates in the game. By way of example and not limitation, in the illustrated embodiment, the player's view is scene 800 where the game takes place. A player character 802 controlled by the player is visible in the player's view. Furthermore, a tower 804 is present in scene 800.

[0109] As noted above, in some implementations, the player's game progression can be modeled and predicted using a trained machine learning / AI model. The player's game actions and tendencies can be predicted for scenario 800, and "game progression" from the player's "script" can be presented to the player as suggestions. In some implementations, this can take the form of tiles or cards displayed to the player, such as tiles 808 and 812, to which the player can respond, indicating whether they agree or disagree with the suggested actions.

[0110] For example, in the illustrated embodiment, tile 808 asks the player if they plan to climb tower 804, and tile 810 asks the player if they plan to build a fortress. In some embodiments, the player can verbally respond to a given tile by stating affirmative or negative statements, such as saying "yes" or "no." In some embodiments, the player can slide the tile away (e.g., using a touch interface, detected gestures, a mouse, etc.) to indicate that they do not plan to perform the suggested action, while the player can select / tap the tile to indicate that they do plan to perform the suggested action. In some embodiments, other types of input (such as pressing a button, joystick movement, eye-tracking input, etc.) can be used to indicate agreement or disagreement with the suggested action.

[0111] In some implementations, suggested actions can be presented verbally and / or via the aforementioned tiles through a virtual character / influencer 806. The virtual character 806 can be visually displayed in the player's view and can be animated, for example, to show the virtual character speaking or gesturing, such as reading or pointing at one of the tiles. In some implementations, a rendering of the virtual character can also be generated and rendered, showing tile actions in the game, for example, as if the virtual character were a player character. The rendering can thus show the virtual character performing actions before the player and can be rendered to appear as a "ghost" of the player, for example, having semi-transparency / transparency.

[0112] In some implementations, as noted above, player feedback can be based on audience sentiment, such as by analyzing comments generated by the audience. For example, in the illustrated implementation, block 812 indicates to the player that the audience has indicated they want to see the player perform a certain movement in the video game.

[0113] Figure 9 A system for enabling virtual characters to enhance the viewer experience of a video game, according to embodiments of the present disclosure, is illustrated. In the illustrated embodiment, the player of the video game operates a player client device 900, such as a personal computer, game console, mobile device, etc. In some embodiments, the video game is executed on one or more of the player client devices; while in other embodiments, the video game is executed by a cloud gaming machine of a cloud gaming service, and the game is streamed via a network 904 between the cloud gaming service 906 and the player client device 900. It should be understood that the cloud gaming service 906 may reside in one or more data centers with sufficient hardware / software resources to provide online game streaming.

[0114] The live streaming service 910 is configured to allow viewers to watch gameplay of a video game. In some implementations, the live streaming service receives gameplay video (whether from player client device 900 or cloud gaming service 906) and distributes the gameplay video to viewer client device 902 via network 904, through which the viewer can watch the gameplay video. In some implementations, the live streaming service and / or cloud gaming service may allow viewers to control their viewpoint within the virtual space of the video game, such as by enabling viewers to control their position and / or viewing direction within the virtual space. In this way, viewers can have a personalized view of the virtual space of the video game. In some implementations, the live streaming service 910 streams the game state or a portion thereof to the client device 902, and the client device 902 runs a copy or version of the video game that can be watched based on the received game state. The viewer's view of the video game is thus rendered at the client device, but using the game state data received from the live streaming service 910. This can further facilitate user-defined viewpoints, allowing viewers to control their view as described above. In some implementations, a copy of the video game at the client device is configured with a viewing mode that facilitates such rendering for viewing purposes.

[0115] In some implementations, a viewer's client device can watch the game at a specific quality level via a video stream from a live streaming service, but then determine if they wish to purchase the game they are playing. The game is then streamed in a different mode via metadata (game state, etc.) from the live streaming service (e.g., streaming metadata / game state and using the metadata / game state to render the video locally on their local client device using the purchased and downloaded game). This allows viewers to watch the game at its best quality and potentially uses less network bandwidth when streaming from the live streaming service.

[0116] In the illustrated embodiment, the live streaming service 910 includes a web server 912 that provides a website or webpage for watching video games. In some embodiments, a video server 914 is provided for processing the distribution of video to provide a viewer's perspective to a given audience. In some embodiments, a comment service 918 is configured to receive comments from viewers and post them for viewers to view.

[0117] Game progress analyzer 916 is configured to analyze game progress occurring in a video game session in order to identify events and other information based on the game progress. In some implementations, comment analyzer 920 is configured to analyze viewer comments and understand their meaning.

[0118] Virtual character logic 922 is configured to perform actions belonging to the virtual character, such as providing commentary and analysis as discussed above, based on analysis of gameplay and commentary. This commentary and analysis is transmitted to the viewer's client device via network 904.

[0119] Additionally, in some implementations, the virtual character logic 922 can access social media services 924, for example, to enable the virtual character to post to the social media service (i.e., the post is generated on behalf of the virtual character, such as through the virtual character's social media account). Such posts may reference gameplay footage of a video game, including images or videos from the gameplay footage, including links to websites where users can watch gameplay footage, purchase the game being played, etc. It should be understood that posts to social media are configured to appear to other social media users as originating from a virtual character.

[0120] In a broad sense, embodiments of this disclosure have been described in which viewers watch video game gameplay via a network. However, in other embodiments, the methods and systems of this disclosure are applied in the context of e-sports, which is watched by viewers in public spaces such as arenas or stadiums, and optionally using public displays. That is, as described above, virtual characters can be configured to perform commentary and analysis in relation to the viewing of the video game, but such commentary and analysis can be rendered for audiences in the public space to hear / watch (e.g., playback of commentary via speakers and projection of the virtual character's analysis onto a display / screen shared by the audience).

[0121] Implementations of this disclosure can be included as part of a game engine. Broadly speaking, a game engine is a software development framework that provides features for the efficient development of video games. A game engine may include a software library with reusable modules to handle various aspects of game functionality, including, but not limited to, graphics rendering (e.g., including vertex processing, polygon processing, shading, lighting, texturing, etc.), sound, physics (including collision handling), animation, scripting, artificial intelligence, networking, streaming media, memory management, threading, localization support, scene graphs, filmmaking, etc.

[0122] Game engines can be optimized for different hardware platforms, such as game consoles, mobile devices, and personal computers. As an example, and not a limitation, a game engine can optimize memory usage for a specific platform (e.g., how to prioritize various tasks in the graphics pipeline). In some implementations, the hardware can be a bladed version of a particular processing entity, such as a game console. Thus, a user can be assigned to a specific blade that provides the same hardware optimized for console games.

[0123] It should be understood that there may also be game server logic to provide streaming media and / or other services (packaging, encoding, quality of service (QoS) monitoring, bandwidth testing, access to social networks / friends, etc.).

[0124] In some implementations, the cloud infrastructure can run a hypervisor that abstracts the hardware and provides a virtual machine framework on which an operating system (OS) can be loaded. Therefore, the stack might include applications / video games that run on an OS loaded on virtual machines (VMs) instantiated by a hypervisor, which in turn loads on the underlying hardware. In this way, application execution does not have to be coupled to specific hardware.

[0125] In some implementations, applications / video games can be executed on containers that abstract away at the application layer, packaging code and dependencies together, thus enabling OS or hardware platform-independent software development and promoting cross-platform software portability.

[0126] In some implementations, a distributed game engine is employed, where different parts of the game engine can be handled by different computational entities. For example, game engine functionalities such as physics engine, rendering engine (2D / 3D graphics), sound, scripting, animation, AI, networking, streaming (encoding), memory management, and threading can be divided into different functional processing blocks and / or distributed services across many different computational entities. It should be understood that for a distributed game engine, low-latency communication is required to avoid latency issues. To maintain the desired frame rate, the total time for computational entities and communication should meet certain constraints. Therefore, dividing certain tasks may be effective or ineffective depending on whether it is possible to complete the process in a shorter time.

[0127] The advantage of using a distributed game engine is the ability to leverage elastic computing, where computing resources can scale up or down as needed. For example, in large multiplayer games traditionally run on a single hardware server, after, say, about 100 players, hardware resources become limited, making it impossible to add more players. The game might then have additional players queuing, meaning players have to wait to join. However, with a distributed game engine, by using elastic cloud computing resources, more computing nodes can be added to meet the demand, thus supporting, for example, thousands of players. The game is no longer constrained by the limitations of a specific hardware server.

[0128] Therefore, cloud gaming engines can distribute functionality across different processing entities. It should be understood that different functions can be executed within different frameworks. For example, some functions (e.g., social) might be easier to run in a container, while graphics might run better using a VM connected to a GPU.

[0129] To facilitate the functionality of the distributed cloud gaming engine, the distribution / synchronization layer can manage job allocation, such as issuing jobs, receiving data, identifying which tasks to perform, and when to handle queues (e.g., if a job completes faster than needed). In some implementations, a given task can be dynamically subdivided if required. For example, animation may have lighting, and if the lighting is particularly complex, it can be subdivided into three lighting jobs, which are issued for computation and reassembled upon return. Therefore, if the game engine functionality requires more work, it can be further subdivided.

[0130] Cloud service providers offer computing entities at specified performance levels, such as in input / output operations per second (“IOPS”). Therefore, game providers can specify VMs, dedicated processing power, storage capacity, etc., from the cloud service provider and instantiate a distributed cloud gaming engine using the cloud service provider's system.

[0131] In some implementations, the library modules and update handlers may be one or more components or modules of the game engine. In some implementations, the library modules and update handlers may be separate components or integrated. In some implementations, the library modules and update handlers may serve as supplements to the game engine. In some implementations, the game engine may be a distributed game engine, as noted above.

[0132] As noted, embodiments of this disclosure can be applied to cloud gaming systems. An example of a cloud gaming system is... Now cloud gaming system. In this system, the client device can be a game console, such as... 4. A game console, or another device such as a personal computer, laptop computer, tablet computer, cellular phone, mobile device, etc.

[0133] Broadly speaking, to implement cloud gaming, when a user request for a game name is received, one or more servers within a data center associated with the cloud gaming site perform several operations. When the cloud gaming site receives a user request, it identifies the data center hosting the game associated with the selected game name and sends the request to the identified data center to instantiate the game for the selected game name. In response to this request, the server at the data center identifies the game code, loads the identified game code, and initializes files associated with the game code to prepare for presenting the game content to the user. Game data associated with the game may include general game data and user-specific game data. Therefore, initialization files may include identifying, loading, and initializing general game data and user-specific game data. Initializing general game data may include initializing the graphics engine, installing graphics data, initializing sound files, installing original graphics, etc. Initializing user-specific data may include locating, delivering, and installing user data, user history, game history, etc.

[0134] During the loading and initialization of general game data, a "launch" screen can be provided for rendering on the client device. A launch screen can be designed to provide a representative image of the game being loaded, allowing the user to preview the type of game being loaded. Once the general game data is loaded, some initial content can be rendered, and a selection / navigation screen can be presented for user selection and customization. User input provided on the selection / navigation screen may include game level selection, game icon selection, game mode selection, game rewards, and other user-related data that may require uploading additional game content. In some implementations, game content is made available for viewing and interaction by streaming game content from a game cloud system to the user's computing device. In some implementations, game content is available for playing after loading user-specific data.

[0135] Figure 10AAn exemplary system for loading game files of games available through a cloud gaming site is illustrated. The system includes a plurality of client devices 1000 communicatively connected to a cloud gaming site 1004 via a network 1002, which may include a LAN, wired, wireless, cellular (e.g., 4G, 5G, etc.) or any other type of data network, including the Internet. When a request to access the cloud gaming site 1004 is received from a client device 1000, the cloud gaming site 1004 accesses user account information 1006 stored in a user data storage area 1008 to identify the user associated with the client device that initiated the request. In some embodiments, the cloud gaming site may also verify the identified user to determine all games the user is authorized to watch / play. After user account identification / verification, the cloud gaming site accesses a game name data storage area 1010 to obtain game names available at the game cloud site for the user account that initiated the request. The game name data storage area 1010 then interacts with a game database 1012 to obtain game names for all games available for the cloud gaming site. When a new game is launched, the game database 1012 will be updated with the game code, and the game name data storage area 1010 will be provided with the game name information of the newly launched game. When a request is made, the client device making the request may or may not register with the cloud gaming site. If the user of the requesting client device is not a registered user, the cloud gaming site may identify the user as a new user and select a suitable game name for the new user (e.g., a default set of game names). The identified game name is returned to the client device for display on screen 1000-a, as shown. Figure 10A As shown.

[0136] User interaction is detected at a game name rendered on the client device, and a signal is sent to the cloud gaming site. This signal includes information about the game name where the user interaction was detected, as well as the user interaction registered at that game name. In response to the signal received from the client device, the cloud gaming site proactively determines the data center hosting the game and sends a signal to the identified data center to load the game associated with the game name where the user interaction was detected. In some implementations, there may be more than one data center hosting the game. In such implementations, the cloud gaming site may determine the geographic location of the requesting client device, identify data centers geographically close to the client device, and signal those data centers to preload the game. The user's geographic location can be determined using a Global Positioning System (GPS) mechanism within the client device, the client's IP address, client ping information, etc. Of course, the aforementioned methods of detecting the user's geographic location are exemplary, and other types of mechanisms or tools can be used to determine the user's geographic location. Identifying data centers close to the client device can minimize latency during user interaction with the game. In some implementations, the identified data center may not have the bandwidth / capacity required to host the game or may be overused. In these implementations, the cloud gaming site may identify a second data center geographically close to the client device. Game loading includes loading the game code and executing an instance of the game.

[0137] In response to receiving a signal from a cloud gaming site, the identified data center can select a server at the data center to instantiate the game on the server. The server selection is based on available hardware / software capabilities and the game's requirements. The server may include multiple game consoles, and the server can determine which of the multiple game consoles to use to load the game. The game console can be similar to a standalone game console, or it can be a rack-mounted server or a blade server. A blade server can then include multiple server blades, each with the circuitry required to instantiate a single dedicated application, such as a game. Of course, the game consoles described above are exemplary and should not be considered limiting. Other types of game consoles (including gaming stations, etc.) and other forms of blade servers may also be used to host the identified game.

[0138] Once the game console is identified, the game's generic game-related code is loaded onto it and sent back to the client device via the cloud gaming site, identifying the game console on which the game is instantiated. The loaded game is then available to the user.

[0139] Figure 10BThis is a flowchart conceptually illustrating various operations performed for streaming a cloud video game to a client device according to embodiments of the present disclosure. A game system 1018 executes the video game and generates raw (uncompressed) video 1020 and audio 1022. The video 1020 and audio 1022 are captured and encoded for streaming purposes, as indicated by reference 1024 in the illustrative figures. Encoding can provide compression of the video and audio streams to reduce bandwidth usage and optimize the gaming experience. Examples of encoding formats include H.265 / MPEG-H, H.264 / MPEG-4, H.263 / MPEG-4, H.262 / MPEG-2, WMV, VP6 / 7 / 8 / 9, etc.

[0140] The encoded audio 1026 and encoded video 1028 are further packaged into network data packets, as indicated by reference numeral 1032, for transmission over a network (such as the Internet). The network data packet encoding process may also employ a data encryption process, thereby providing enhanced data security. In the illustrated embodiment, as indicated by reference 1040, audio data packets 1034 and video data packets 1036 are generated for transmission over the network.

[0141] The game system 1018 also generates haptic feedback data 1030, which is also packaged into network data packets for network transmission. In the illustrated embodiment, haptic feedback data packets 1038 are generated for transmission over a network, as further indicated at reference 1040.

[0142] The aforementioned operations—generating raw video and audio data, as well as haptic feedback data, encoding the video and audio, and packaging the encoded audio / video and haptic feedback data for transmission—are performed on one or more servers that jointly define the cloud gaming service / system. As indicated at reference 1040, the audio, video, and haptic feedback data packets are transmitted over a network (such as and / or including the Internet). As shown at reference 1042, audio data packets 1034, video data packets 1036, and haptic feedback data packets 1038 are decoded / reassembled by the client device to define encoded audio 1046, encoded video 1048, and haptic feedback data 1050 at the client device. If the data has been encrypted, the network data packets are also decrypted. Then, as shown at reference 1044, the client device decodes the encoded audio 1046 and encoded video 1048 to generate client-side raw audio and video data for rendering on display device 1052. Haptic feedback data 1050 can be processed / transmitted to generate haptic feedback effects at the controller device 1056 or other interface devices through which haptic effects can be rendered. An example of a haptic effect is vibration or rumble from the controller device 1056.

[0143] It should be understood that video games respond to user input and therefore can execute a program flow similar to the program flow described above for the transmission and processing of user input, but in the opposite direction from the client device to the server. As shown, a user operating the controller device 1056 can generate input data 1058. This input data 1058 is packaged at the client device for transmission over the network to the cloud gaming system. The input data packet 1060 is unpacked and reassembled by the cloud gaming server to define input data 1062 on the server side. Input data 1062 is fed to the game system 1018, which processes the input data 1062 to update the game state of the video game.

[0144] During the transmission of audio data packets 1034, video data packets 1036, and haptic feedback data packets 1038 (refer to 1040), data transmission over the network can be monitored to ensure the quality of service for the cloud gaming stream. For example, network conditions, including both upstream and downstream network bandwidth, can be monitored as indicated in reference 1064, and the game streaming can be adjusted in response to changes in available bandwidth. That is, the encoding and decoding of network data packets can be controlled based on the current network conditions, as indicated in reference 1066.

[0145] Figure 11 An implementation scheme of an information service provider architecture is illustrated. Information service provider (ISP) 1170 provides a wide range of information services to geographically dispersed users 1182 connected via network 1186. An ISP may offer only one type of service, such as stock price updates, or it may offer multiple services, such as broadcast media, news, sports, games, etc. Furthermore, the services provided by each ISP are dynamic; that is, services can be added or removed at any point in time. Therefore, the ISP providing a specific type of service to a particular individual may change over time. For example, when a user is in her hometown, she may be served by an ISP located near her, and when she travels to different cities, she may be served by different ISPs. The local ISP will transfer the necessary information and data to the new ISP, causing the user information to "follow" the user to the new city, thus making the data closer to the user and more easily accessible. In another implementation, a master-server relationship can be established between a master ISP that manages information for the user and a server ISP that directly interfaces with the user under the master ISP's control. In yet another implementation, when a client moves worldwide, data is transferred from one ISP to another, so that the ISP in a better location to serve the user becomes the ISP providing those services.

[0146] ISP 1170 includes Application Service Provider (ASP) 1172, which provides computer-based services to customers via a network (e.g., including but not limited to any wired or wireless network, LAN, WAN, WiFi, broadband, cable, fiber optic, satellite, cellular (e.g., 4G, 5G, etc.), the Internet, etc.). Software provided using the ASP model is sometimes also referred to as software-on-demand or Software as a Service (SaaS). A simple form of providing access to a specific application (such as customer relationship management) is implemented using standard protocols (such as HTTP). The application software resides on the vendor's system and is accessed by users via a web browser using HTML, via dedicated client software provided by the vendor, or via other remote interfaces (such as thin clients).

[0147] Services delivered over vast geographical areas often utilize cloud computing. Cloud computing is a computing paradigm where dynamically scalable and often virtualized resources are provided as a service over the internet. Users do not need to be experts in the technical infrastructure supporting their “cloud.” Cloud computing can be divided into different services, such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). Cloud computing services often provide common business applications online, accessible from a web browser, while software and data are stored on servers. Based on how the internet is depicted in computer network diagrams, the term “cloud” is used as a metaphor for the internet (e.g., using servers, storage devices, and logic) and is an abstract concept of the complex infrastructure it hides.

[0148] In addition, ISP 1170 includes a game processing server (GPS) 1174, which is used by game clients to play single-player and multiplayer video games. Most video games played on the Internet operate via a connection to a game server. Typically, games use dedicated server applications that collect data from players and distribute it to other players. This is more efficient and effective than a peer-to-peer arrangement, but it requires a separate server to host the server application. In another implementation, GPS establishes communication between players and their corresponding gaming devices to exchange information without relying on a centralized GPS.

[0149] Dedicated GPS servers operate independently of the client. These servers typically run on dedicated hardware located within a data center, providing greater bandwidth and dedicated processing power. For most PC-based multiplayer games, dedicated servers are the preferred method for hosting game servers. Large-scale multiplayer online games run on dedicated servers, which are often hosted by the software company that owns the game's title, allowing them to control and update content.

[0150] A broadcast processing server (BPS) 1176 distributes audio or video signals to viewers. Broadcasting to a very small audience is sometimes called narrowcasting. The final stage of broadcast distribution is how the signal reaches the listener or observer, and it may travel through the air to an antenna and receiver, like a radio or television station, or it may be transmitted via cable television or wired broadcasting (or “wireless cable”) through a workstation or directly from a network. In particular, the internet can also bring radio or TV to receivers by allowing the sharing of signals and bandwidth through multicast. Historically, broadcasting has been defined by geographical areas, such as national broadcasting or regional broadcasting. However, with the widespread availability of the fast internet, broadcasting is no longer defined by geographical conditions, as content can reach almost any country in the world.

[0151] Storage Service Providers (SSPs)

[1178] provide computer storage space and related management services. SSPs also offer periodic backups and archiving. By offering storage as a service, users can subscribe to more storage as needed. Another major advantage is that SSPs include backup services, so users will not lose all their data if their computer's hard drive fails. Furthermore, multiple SSPs can have full or partial copies of user data, allowing users to access data efficiently, regardless of their location or the device used to access the data. For example, users can access personal files on their home computer and mobile phone (when the user is on the move).

[0152] Communication providers 1180 offer connectivity to users. One type of communication provider is an Internet Service Provider (ISP), which provides access to the Internet. ISPs use data transmission technologies suitable for transmitting Internet Protocol (IP) datagrams to connect their customers, such as dial-up, DSL, cable modems, fiber optic, wireless, or dedicated high-speed interconnects. Communication providers may also offer messaging services such as email, instant messaging, and SMS. Another type of communication provider is a Network Service Provider (NSP), which sells bandwidth or network access by providing direct backbone access to the Internet. Network Service Providers can consist of telecommunications companies, data carriers, wireless communication providers, Internet Service Providers, cable television operators providing high-speed Internet access, etc.

[0153] Data switch 1188 interconnects several modules within ISP 1170 and connects these modules to user 1182 via network 1186. Data switch 1188 can cover a small area where all modules of ISP 1170 are very close together, or a large geographical area when different modules are geographically dispersed. For example, data switch 1188 may include Fast Gigabit Ethernet (or even faster Gigabit Ethernet) within a data center rack, or an intercontinental virtual regional network (VLAN).

[0154] User 1182 accesses a remote service using client device 1184, which includes at least a CPU, memory, display, and I / O. The client device may be a PC, mobile phone, laptop, tablet, gaming system, PDA, etc. In one embodiment, ISP 1170 identifies the type of device used by the client and adjusts the communication method accordingly. In other cases, the client device uses standard communication methods (such as HTML) to access ISP 1170.

[0155] The embodiments of this disclosure can be practiced with various computer system configurations, including handheld devices, microprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and so on. This disclosure can also be practiced in distributed computing environments where tasks are performed via remote processing devices based on wired or wireless network links.

[0156] In some implementations, wireless technologies can be used to facilitate communication. Such technologies may include, for example, 5G wireless communication technology. 5G is the fifth generation of cellular network technology. A 5G network is a digital cellular network in which the service area covered by the provider is divided into small geographical areas called cells. Analog signals representing voice and images are digitized in a telephone, converted by an analog-to-digital converter, and transmitted as a bit stream. All 5G wireless devices in a cell communicate via radio waves with the local antenna array and low-power automatic transceivers (transmitters and receivers) in the cell through frequency channels allocated by the transceivers from a frequency pool reused from other cells. The local antennas are connected to the telephone network and the Internet via high-bandwidth fiber optic or wireless backhaul connections. As in other cellular networks, mobile devices moving from one cell to another automatically transfer to the new cell. It should be understood that 5G networks are only example types of communication networks, and embodiments of this disclosure may utilize earlier generations of wireless or wired communication, as well as newer generations of wired or wireless technologies after 5G.

[0157] In light of the above embodiments, it should be understood that this disclosure can employ various computer-implemented operations involving data stored in a computer system. These operations are those that require the physical manipulation of physical quantities. Any operation described herein that forms part of this disclosure is a useful machine operation. This disclosure also relates to means or apparatus for performing these operations. The apparatus may be specifically constructed for the desired purpose, or the apparatus may be a general-purpose computer selectively activated or configured by a computer program stored in the computer. Specifically, various general-purpose machines may be used with computer programs written in accordance with the teachings herein, or it may be more convenient to construct more specialized apparatus to perform the desired operations.

[0158] This disclosure can also be embodied as computer-readable code on a computer-readable medium. Alternatively, the computer-readable code can be downloaded from a server using the data exchange interconnect described above. The computer-readable medium is any data storage device capable of storing data that can subsequently be read by a computer system. Examples of computer-readable media include hard disk drives, network attached storage devices (NAS), read-only memory, random access memory, CD-ROMs, CD-Rs, CD-RWs, magnetic tape, and other optical and non-optical data storage devices. The computer-readable medium may include computer-readable tangible media distributed across network-coupled computer systems, enabling the computer-readable code to be stored and executed in a distributed manner.

[0159] Although the method operations are described in a specific order, it should be understood that other internal management operations may be performed between operations, or operations may be adjusted so that they occur at slightly different times, or they may be distributed across systems that allow processing operations to occur at various time intervals associated with a processing, provided that the covering operations are performed in the desired manner.

[0160] Although the foregoing disclosure has been described in detail for clarity and understanding, it will be apparent that certain changes and modifications may be made within the scope of the appended claims. Therefore, this embodiment is to be considered illustrative rather than restrictive, and this disclosure is not limited to the details given herein, but can be modified within the scope and equivalents of the described embodiments.

Claims

1. A method for gaming, comprising: monitoring game play activity in a plurality of game sessions, wherein the monitoring comprises, for each game session, analyzing the game play activity in the game session to predict future game play activity in the game session; identifying one or more characteristics of a plurality of viewers that interact with a virtual character, the interaction with the virtual character being achieved by each of the viewers accessing a channel on a communication platform via a network, the channel being independent of the plurality of game sessions, the channel being attributed to the virtual character, and the interaction with the virtual character occurring on the communication platform, wherein the virtual character defines a virtual influencer on the communication platform, at least some of the viewers being subscribers to the virtual character on the communication platform; and generating, through the channel, a visual recommendation to direct the viewers to watch a selected game session that is one of the plurality of game sessions, wherein the visual recommendation is visually communicated to each of the viewers by the virtual character via the channel on the communication platform that is independent of the selected game session, and the selected game session is selected based on the predicted future game play activity and based on the characteristics of the plurality of viewers.

2. The method of claim 1, wherein the channel is defined by a website, a social media platform, a game viewing platform, or a video sharing platform.

3. The method of claim 1, wherein the channel is configured to provide access to the viewers to stream video content attributed to the virtual character or attributed to video content curated by the virtual character.

4. The method of claim 1, wherein generating a visual recommendation comprises indicating, through the channel, that the virtual character is watching the selected game session.

5. The method of claim 1, wherein watching the selected game session comprises streaming video of the selected game session to a plurality of client devices associated with the plurality of viewers via the network.

6. The method of claim 1, wherein watching the selected game comprises providing voice commentary of the selected game attributed to the virtual character via the network.

7. The method of claim 1, wherein monitoring the game play activity in a given game session of the game sessions comprises receiving game play metadata from the given game session of the game sessions via the network.

8. The method of claim 7, wherein the game play metadata identifies one or more of a player’s location in a virtual environment, input, or game play event.

9. The method of claim 1, wherein analyzing the game play activity comprises applying a machine learning model to the game play activity to predict the future game play activity.

10. The method of claim 1, wherein identifying the characteristics of the viewers comprises determining one or more of a preference of the viewers, a location of the viewers, an age of the viewers, a viewing history of the viewers, a game play history of the viewers.

11. A system comprising at least one server having at least one processor configured to perform a method comprising: monitoring game play activity in a plurality of game sessions, wherein the monitoring comprises, for each game session, analyzing the game play activity in the game session to predict future game play activity in the game session; identifying one or more characteristics of a plurality of followers of a virtual character on a social platform independent of the plurality of game sessions, the followers of the virtual character being subscribers to the virtual character on the social platform, wherein the virtual character defines a virtual influencer on the social platform; providing a visual recommendation to the followers of the virtual character over a network to direct the followers to watch a selected game session as one of the plurality of game sessions over a network, wherein the visual recommendation is communicated by the virtual character to each of the followers via the social platform independent of the selected game session, and the selected game session is selected based on the predicted future game play activity and based on the characteristics of the plurality of followers.

12. The system of claim 11, wherein being a subscriber to the virtual character on the social platform enables the followers to receive updates from the virtual character on the social platform.

13. The system of claim 12, wherein receiving updates from the virtual character comprises receiving a post attributed to the virtual character that provides access to watch the selected game session.

14. The system of claim 11, wherein watching the selected game comprises providing a voice commentary attributed to the virtual character of the selected game over the network.

15. The system of claim 11, wherein monitoring the game play activity in a given game session of the game sessions comprises receiving game play metadata from the given game session of the game sessions over the network.

16. The system of claim 15, wherein the game play metadata identifies one or more of a player’s location in a virtual environment, input, or game play event.

17. The system of claim 11, wherein analyzing the game play activity comprises applying a machine learning model to the game play activity to predict the future game play activity.

18. The system of claim 11, wherein identifying the characteristics of the followers comprises determining one or more of a preference of the followers, a location of the followers, an age of the followers, a viewing history of the followers, a game play history of the followers.

Citation Information

Patent Citations

  • Joining games from a spectating system

    US20170001111A1

  • Consideration-based non-player character counseling

    US9672190B1