Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay
Abstract
The present invention provides a method for generating a trial limited version of a video game. Record user gameplay of the full version of the video game. The recorded game play of the user is analyzed to determine the area of interest. Based on the determined area of interest, a boundary within the gameplay situation of the video game is defined. The restricted version of the video game is generated based on the defined boundary.

Term
7.2 yearsto projected expiry
Projected expiry 23 December 2033, counted from filing; an application has no term until it is granted.
- Priority and filed
- Published
- Today
- Projected expiry
31 claims: 6 independent, 25 dependent
- 1一种用于与云游戏系统的服务器进行用户交互的控制器装置,包括: 为服务器生成输入的至少一个输入装置; 其中,所述控制器装置直接与访问装置通信,以连接到将所述控制器装置连接到所述 服务器而不连接到客户端装置的网络; 其中,所述服务器接收并处理所述输入以渲染通过所述网络传输的游戏玩法视频,以 渲染到所述控制器装置本地的显示装置。
- 2根据权利要求1所述的控制器装置,其中,所述客户端装置被配置为接收所述游戏玩 法视频以渲染到所述显示装置。
- 3根据权利要求1所述的控制器装置,其中,所述游戏玩法视频被编码用于流式传输并 被解码用于所述渲染到所述显示装置。
- 4根据权利要求1所述的控制器装置,其中,所述控制器装置在其中布置有所述控制器 装置的本地环境中通过WiF i网络直接与所述访问装置通信。
- 5根据权利要求4所述的控制器装置,其中,所述WiFi网络由所述访问装置提供。
- 6根据权利要求1所述的控制器装置,其中,所述访问装置是路由器。
- 7根据权利要求1所述的控制器装置,其中,所述输入直接通过所述网络通信到服务 器,绕过所述客户端装置。
- 8根据权利要求7所述的控制器装置,其中,绕过所述游戏客户端装置减少了通信到服 务器的输入的输入等待时间。
- 9根据权利要求1所述的控制器装置,其中,所述至少一个输入装置包括以下中的一个 或多个:按钮、操纵杆、触发器、触摸垫、动作传感器。
- 10根据权利要求1所述的控制器装置,其中,所述至少一个输入装置包括按钮,所述按 钮被配置为激活用户界面以能够共享所述游戏玩法视频。
- 11一种用于与云游戏系统的服务器进行用户交互的控制器装置,包括: 为服务器生成输入的至少一个输入装置; 其中,所述控制器装置直接与访问装置通信,以连接到将所述控制器装置连接到所述 服务器而不连接到客户端装置的网络; 其中,所述服务器接收并处理所述输入以渲染通过所述网络传输到所述客户端装置的 游戏玩法视频,以渲染到所述控制器装置本地的显示装置,其中所述游戏玩法视频被编码 用于流式传输并被解码用于所述渲染到所述显示装置。
- 12根据权利要求11所述的控制器装置,其中,所述控制器装置在其中布置有所述控制 器装置的本地环境中通过WiF i网络直接与所述访问装置通信。
- 13根据权利要求12所述的控制器装置,其中,所述WiFi网络由所述访问装置提供。
- 14根据权利要求11所述的控制器装置,其中,所述访问装置是路由器。
- 15根据权利要求11所述的控制器装置,其中,所述输入直接通过所述网络通信到服务 器,绕过所述客户端装置。
- 16根据权利要求15所述的控制器装置,其中,绕过所述游戏客户端装置减少了通信到 服务器的输入的输入等待时间。
- 17根据权利要求11所述的控制器装置,其中,所述至少一个输入装置包括按钮,所述 按钮被配置为激活用户界面以能够共享所述游戏玩法视频。
- 18一种用于与云游戏系统的服务器进行用户交互的控制器装置,包括: 为服务器生成输入的至少一个输入装置; 其中,所述控制器装置直接与访问装置通信,以连接到将所述控制器装置连接到所述 服务器而不连接到客户端装置的网络; 其中,所述服务器接收并处理所述输入以渲染通过所述网络传输到所述客户端装置的 游戏玩法视频,以渲染到与所述客户端装置集成的显示装置。
- 19根据权利要求18所述的控制器装置,其中,所述游戏玩法视频被编码用于流式传输 并被解码用于所述渲染到所述显示装置。
- 20根据权利要求18所述的控制器装置,其中,所述控制器装置在其中布置有所述控制 器装置的本地环境中通过WiF i网络直接与所述访问装置通信。
- 21一种用于共享游戏玩法体验的方法,包括: 通过云游戏系统运行视频游戏,其中运行所述视频游戏包括处理所述视频游戏的游戏 状态以提供所述视频游戏的游戏玩法; 通过网络流式传输所述视频游戏的所述游戏玩法,为第一用户定义所述视频游戏的所 述游戏玩法; 接收命令以从所述视频游戏的所述游戏玩法中共享交互式试玩部分; 响应于所述命令,通过社交界面共享所述视频游戏的所述交互式试玩部分,所述社交 界面使得能够访问第二用户对所述交互式试玩部分的游戏玩法。
- 22根据权利要求21所述的方法,其中,所述交互式试玩部分被配置为具有游戏设置状 态,所述游戏设置状态是从中生成所述交互式试玩部分的所述视频游戏的所述游戏玩法中 的时刻处从所述视频游戏的所述游戏状态定义的。
- 23根据权利要求22所述的方法,还包括: 在所述视频游戏的运行期间存储所述视频游戏的所述游戏状态; 检索所述视频游戏的所存储的游戏状态以定义所述交互式试玩部分的所述游戏设置 状态。
- 24根据权利要求21所述的方法,其中,所述视频游戏的所述游戏状态包括定义所述视 频游戏的运行状态的变量。 25 .根据权利要求21所述的方法,其中,所述第二用户对所述交互式试玩部分的游戏玩 法为所述第二用户提供游戏玩法体验,所述游戏玩法体验基本上类似于在从中生成所述交 互式试玩部分的所述视频游戏的所述游戏玩法期间所述第一用户的游戏玩法体验。 26 .根据权利要求21所述的方法,其中,所述交互式试玩部分被配置为由所述第二用户 提供所述视频游戏的场景的游戏玩法,所述场景与从中生成所述交互式试玩部分的所述视 频游戏的所述游戏玩法的场景基本相同。 27 .根据权利要求21所述的方法,其中,所述交互式试玩部分被配置为由所述第二用户 提供所述视频游戏中的空间位置的游戏玩法,所述空间位置与从中生成所述交互式试玩部 分的所述视频游戏的所述游戏玩法的空间位置基本相同。 28 .根据权利要求21所述的方法,其中,所述交互式试玩部分被配置为由所述第二用户 提供所述视频游戏中的时间位置的游戏玩法,所述时间位置与从中生成所述交互式试玩部 分的所述视频游戏的所述游戏玩法的时间位置基本相同。
- 2529. 根据权利要求21所述的方法, 其中视频游戏的所述游戏玩法包括从所述视频游戏的所述游戏状态渲染的游戏玩法 视频,所述游戏玩法视频由所述云游戏系统通过所述网络传输; 其中,所述视频游戏的所述游戏玩法包括由所述第一用户与所述游戏玩法视频的交互 生成的用户输入,所述用户输入由所述云游戏系统通过所述网络接收,在处理所述视频游 戏的所述游戏状态期间应用所述用户输入。
- 2630. 根据权利要求21所述的方法,其中通过所述社交界面共享所述交互式试玩部分包 括使得所述第二用户能够通过所述社交界面查看从中生成所述交互式试玩部分的所述视 频游戏的所述游戏玩法。
- 2731. 一种用于共享游戏玩法体验的方法,包括: 通过云游戏系统运行视频游戏,其中运行所述视频游戏包括处理所述视频游戏的游戏 状态以提供所述视频游戏的游戏玩法; 在所述视频游戏的运行期间存储所述视频游戏的所述游戏状态; 通过网络流式传输所述视频游戏的所述游戏玩法,为第一用户定义所述视频游戏的所 述游戏玩法; 接收命令以从所述视频游戏的所述游戏玩法中共享交互式试玩部分; 响应于所述命令,使用所存储的游戏状态通过网站共享所述视频游戏的所述交互式试 玩部分,所述网站使得能够访问第二用户对所述交互式试玩部分的游戏玩法。
- 2832. 根据权利要求31所述的方法,其中,所述交互式试玩部分被配置为具有游戏设置状 态,所述游戏设置状态是从中生成所述交互式试玩部分的所述视频游戏的所述游戏玩法中 的时刻处从所述视频游戏的所述游戏状态定义的。 33 .根据权利要求31所述的方法,其中,所述网站能够通过网络浏览器访问。 34 .根据权利要求31所述的方法,其中,所述第二用户对所述交互式试玩部分的游戏玩 法为所述第二用户提供游戏玩法体验,所述游戏玩法体验基本上类似于在从中生成所述交 互式试玩部分的所述视频游戏的所述游戏玩法期间所述第一用户的游戏玩法体验。 35 .根据权利要求31所述的方法,其中,所述交互式试玩部分被配置为由所述第二用户 提供所述视频游戏的场景的游戏玩法,所述场景与从中生成所述交互式试玩部分的所述视 频游戏的所述游戏玩法的场景基本相同。
- 2936. 一种用于共享游戏玩法体验的方法,包括: 通过云游戏系统运行视频游戏,其中运行所述视频游戏包括处理所述视频游戏的游戏 状态以提供所述视频游戏的游戏玩法; 通过网络流式传输所述视频游戏的所述游戏玩法,为第一用户定义所述视频游戏的所 述游戏玩法; 接收命令以从所述视频游戏的所述游戏玩法中共享多个交互式试玩部分; 响应于所述命令,通过社交界面共享所述视频游戏的所述多个交互式试玩部分,所述 社交界面使得能够访问第二用户对所述多个交互式试玩部分的游戏玩法。
- 3037. 根据权利要求36所述的方法,其中,共享所述多个交互式试玩部分包括将所述多个 交互式试玩部分以多部分序列排列以用于所述第二用户的游戏玩法。
- 3138. 根据权利要求37所述的方法,其中,共享所述多个交互式试玩部分包括在所述多部 分序列中的所述交互式试玩部分中的至少一个之前或之后插入所记录的材料。 39 .根据权利要求38所述的方法,其中,所述所记录的材料包括所记录的所述第一用户 的游戏玩法。 40.根据权利要求36所述的方法,其中,给定的交互式试玩部分被配置为具有游戏设置 状态,所述游戏设置状态是从中生成所述给定的交互式试玩部分的所述视频游戏的所述游 戏玩法中的时刻处从所述视频游戏的所述游戏状态定义的。
Independent claims31
307 paragraphs, as filed
Automatically generate mini games suggested for cloud games based on the recorded gameplay
[0001] This application is a divisional application for an invention patent application with an application number of 201310717877.8, an application date of December 23, 2013, and an invention title of "A small game suggested for cloud games is automatically generated based on the recorded game play".
Technical field
[0002] The present invention relates to a method for automatically generating suggested mini-games based on recorded gameplay, generating multi-part mini-games for cloud games based on recorded gameplay, and sharing recorded gameplay to social media Atlas and a method and system for remotely controlling the game play of the first user by the second user.
Background technique
[0003] The video game industry has undergone many changes over the past few years. With the increase in computing power, video game developers have also developed game software that takes advantage of these increased computing power. For this reason, video game developers have been coding games that incorporate complex operations and mathematical operations to produce a very realistic gaming experience.
[0004] Exemplary game platforms may be Sony Playstation® Λ Sony Playstatiou 2® (PS2) and Sony Playstation 3® (PS3), each of which is sold in the form of a game console. As is well known, game consoles are designed to connect to a monitor (usually a television) and implement user interaction through a handheld controller. The game console is designed to have dedicated processing hardware, including a CPU, a graphics synthesizer for processing intensive graphics operations, a vector unit for performing geometric shape transformations, and other glued hardware, firmware, and software. The game console is further designed to have an optical disc tray for receiving game compact discs to play games locally through the game console. Online games are also possible, where one user can interactively compete or play with other users via the Internet. As game complexity continues to arouse players' interest, game and hardware manufacturers continue to innovate to enable additional interactivity and computer programs.
[0005] The development trend of the computer game industry is to develop games that increase the interaction between the user and the game system. One way to achieve a more interactive experience is to use a wireless game controller, whose actions are tracked by the game system in order to track the actions of the player and use these actions as input to the game. Generally speaking, gesture input refers to making electronic devices, such as computing systems, video game consoles, smart devices, etc., react to certain gestures made by the player and captured by the electronic device.
[0006] Another development trend in the industry involves the development of cloud-based gaming systems. Such a system may include a remote processing server that executes a game application and communicates with a local thin client that can be configured to receive input from a user and render video on a display.
[0007] It is in this context that the embodiments of the present invention are produced.
Summary of the invention
[0008] Embodiments of the present invention provide methods for automatically generating suggested mini-games based on recorded gameplays, generating multi-part mini-games for cloud games based on recorded gameplays, and converting recorded gameplays A method and system for sharing the social graph and remotely controlling the game play of the first user by the second user. It should be understood that the present invention can be implemented in many ways, such as a program, a device, a system, a device, or a method located on a computer-readable medium. Several inventive embodiments of the present invention are described below.
[0009] In one embodiment, a method for generating a trial limited version of a video game is provided, which includes the following method operations: recording a full version of the video game user gameplay; analyzing the recorded user gameplay A region of interest is determined; a boundary within a gameplay situation of the video game is defined based on the determined region of interest; and a restricted version of the video game is generated based on the defined boundary; wherein the method is executed by a processor.
[0010] In another embodiment, a method for generating a trial limited version of a video game is provided, which includes the following method operations: recording a full version of the video game user gameplay; analyzing the recorded user game Play to determine one or more areas of interest; present each of the areas of interest for selection; receive a selection input indicating the selected area of interest; for the selected area of interest, define a video based on the selected area of interest The boundary within the gameplay situation of the game; and generating a limited version of the video game based on the defined boundary; wherein the method is executed by a processor.
[0011] In another embodiment, a method for generating a trial limited version of a video game is provided, which includes the following method operations: recording a full version of the user gameplay of the video game, wherein recording the user gameplay includes Record one or more of user input data or game state data; analyze the recorded user game play to determine one or more areas of interest, wherein each area of interest is automatically identified based on the correspondence with one or more thresholds ; Presenting each of the areas of interest for selection; receiving a selection input indicating the selected area of interest; for the selected area of interest, based on the selected area of interest, the boundary of the gameplay situation of the video game is defined; A limited version of the video game is generated based on the defined boundaries; wherein the method is executed by a processor.
[0012] In one embodiment, a method for generating a trial limited version of a video game is provided, which includes the following method operations: recording a full version of the video game user gameplay; determining the recorded user gameplay Multiple user-defined parts; for each user-defined part, define the boundary of the gameplay of the video game based on the user-defined part, and generate the trial part of the video game based on the defined boundary; convert the video game Each of the trial sections is arranged in a series to define a limited version of the video game; where the method is executed by a processor.
[0013] In another embodiment, there is provided a tangible computer readable medium containing program instructions thereon, the program instructions being used to generate a trial limited version of a video game, the program instructions including the following: Program instructions for recording the complete version of the user game play of the video game; program instructions for determining multiple user-defined parts of the recorded user game play; for each user-defined part based on user customization Program instructions for partially defining the boundaries of the gameplay situation of the video game and generating the trial portion of the video game based on the defined boundaries; for arranging each of the trial portions of the video game into a series to define the video game The restricted version of the program instructions.
[0014] In another embodiment, a system is provided that includes the following: at least one server computing device having logic for generating a trial limited version of a video game, so The logic includes: the logic for recording the user gameplay of the complete version of the video game; the logic for determining the multiple user-defined parts of the recorded user gameplay; the logic for each user-defined part based on the user The custom part defines the boundary of the gameplay situation of the video game and generates the logic of the trial part of the video game based on the defined boundary; it is used to arrange each of the trial parts of the video game into a series to define the video The logic of the restricted version of the game.
[0015] In one embodiment, a method for sharing the recorded gameplay to a social graph is provided, which includes the following method operations: recording a video of the user's gameplay during the active state of the gameplay session; in the game play
During the active state of the law session, a command to initiate a sharing operation is received; in response to receiving the command, enter the pause state of the gameplay session and present the sharing interface; process the input received via the sharing interface to determine whether the recorded video The user-defined selection of the recorded video is shared to the users social graph; the active state of the gameplay session is restored; the method is executed by the processor.
[0016] In another embodiment, a method for sharing the recorded gameplay to a social graph is provided, which includes the following method operations: recording a video of the user's gameplay during the active state of the gameplay session; During the active state of the gameplay session, a command to initiate a sharing operation is received; in response to receiving the command, the user-defined selection of the recorded video is determined; the user-defined selection of the recorded video is shared to The user's social graph; wherein the method is executed by a processor.
[0017] In another embodiment, a non-transitory computer-readable medium having program instructions defined thereon is provided, and the program instructions are used to share the recorded game play to the social graph. The program instructions include: program instructions for recording a video of the user's gameplay during the active state of the gameplay session; program instructions for receiving a command to initiate a sharing operation during the active state of the gameplay session; A program instruction for determining a user-defined selection of the recorded video in response to receiving the command; a program instruction for sharing the user-defined selection of the recorded video to the user's social graph.
[0018] In one embodiment, there is provided a method for providing remote control of a user's gameplay, the method comprising the following method operations: presenting a live video feed of the first user's gameplay to a remote second user; Processing a request for transferring control of the game play of the first user to the second user; initiating the control of the game play of the first user by the second user; wherein the method is executed by at least one processor.
[0019] In another embodiment, a method for providing multi-player gameplay is provided, which includes the following method operations: presenting to a remote second user a live video feed of a first users gameplay session; The second user requests to join the game play session of the first user; the game play is initiated by the second user in the game play session of the first user; wherein the method is executed by at least one processor.
[0020] In another embodiment, a non-transitory computer-readable medium containing program instructions thereon is provided, the program instructions are used to provide remote control of a user's game play, and the program instructions include: Program instructions for presenting a live video feed of the game play of the first user to a remote second user; program instructions for processing a request to transfer control of the game play of the first user to the second user; for starting Program instructions for the second user to control the game play of the first user.
[0021] Other aspects of the present invention will become apparent from the following detailed description, which is made in conjunction with the accompanying drawings to illustrate the principles of the present invention by way of example.
Description of the drawings
[0022] The present invention can be best understood with reference to the following description made in conjunction with the accompanying drawings, in which:
[0023] FIG. 1A illustrates a user playing a cloud-based video game according to an embodiment of the invention.
[0024] FIG. 1B illustrates multiple users in multiple locations participating in the gameplay of a cloud-based video game.
[0025] FIG. 2A illustrates a system for cloud gaming according to an embodiment of the present invention.
[0026] FIG. 2B conceptually illustrates the accumulation of game titles across various generations of game consoles according to an embodiment of the present invention.
[0027] FIG. 3 illustrates a method for providing a game demonstration to a user according to an embodiment of the present invention.
[0028] FIG. 4A illustrates the hierarchical organization of various parts of a video game according to an embodiment of the present invention.
[0029] FIG. 4B illustrates an interface for selecting a part of a game play timeline to generate a mini game or game segment according to an embodiment of the present invention.
[0030] FIG. 4C illustrates an interface for selecting a part of a game play timeline to generate a mini game according to an embodiment of the present invention.
[0031] FIG. 5 illustrates a series of screenshots demonstrating a method for generating mini games from existing cloud-based video games according to an embodiment of the present invention.
[0032] FIG. 6 illustrates a system for generating game fragment codes according to an embodiment of the present invention.
[0033] FIG. 7A illustrates a modification of a virtual space for the purpose of generating game segments of a video game according to an embodiment of the present invention.
[0034] FIG. 7B illustrates a modification of the scene graph for the purpose of generating game segments according to an embodiment of the present invention.
[0035] FIG. 8 illustrates a method for generating game pieces according to an embodiment of the present invention.
[0036] FIG. 9A illustrates an interface for browsing game fragments associated with various game titles according to an embodiment of the present invention.
[0037] FIG. 9B illustrates a game segment information page according to an embodiment of the present invention.
[0038] FIG. 10 illustrates a view of user account information according to an embodiment of the present invention, including a live view of friends in a cloud gaming social network.
[0039] FIG. 11 illustrates a method for presenting a live gameplay feed of a friend of a current user according to an embodiment of the present invention.
[0040] FIG. 12 illustrates a system including a cloud gaming system and a social network according to an embodiment of the present invention.
[0041] FIG. 13 is a diagram illustrating various game state variables that change over time according to an embodiment of the present invention.
[0042] FIG. 14A illustrates a method for generating game segments for a linear type video game according to an embodiment of the present invention.
[0043] FIG. 14B illustrates a method of generating game fragments for an open world type video game according to an embodiment of the present invention.
[0044] FIG. 14C illustrates a method for generating game segments for a sports video game according to an embodiment of the present invention.
[0045] FIG. 15 conceptually illustrates the formation of a multi-game segment game according to an embodiment of the present invention.
[0046] FIG. 16 conceptually illustrates the generation of a multi-game segment mini-game according to an embodiment of the present invention.
[0047] FIG. 17 illustrates an interface for sharing game play according to an embodiment of the present invention.
[0048] FIG. 18 illustrates an interface 1800 for selecting a portion of a recorded gameplay video for sharing according to an embodiment of the present invention.
[0049] FIG. 19 illustrates an interface 1900 for viewing a live video stream of a user's gameplay in accordance with an embodiment of the present invention.
[0050] FIG. 20 illustrates hardware and user interfaces that can be used to provide interactivity with video games in accordance with one embodiment of the present invention.
[0051] FIG. 21 illustrates additional hardware that can be used to process instructions in accordance with one embodiment of the invention.
[0052] FIG. 22 is an exemplary illustration of scene A to scene E according to an embodiment of the present invention, wherein the corresponding user
A to user E interact with the game client 1102 connected to the server via the Internet for processing.
[0053] FIG. 23 illustrates an embodiment of an information service provider architecture.
Detailed ways
[0054] The following embodiments describe methods for automatically generating suggested mini-games based on recorded gameplay, generating multi-part mini-games for cloud games based on recorded gameplay, and sharing recorded gameplay to A social graph and a method and device for remotely controlling the game play of the first user by the second user.
[0055] However, it will be clear to those skilled in the art that the present invention may be practiced without some or all of these specific details. In other examples, well-known process operations have not been described in detail so as not to unnecessarily obscure the present invention.
[0056] FIG. 1A illustrates a user playing a cloud-based video game according to an embodiment of the invention. As shown in the figure, the user U1 plays a cloud-based video game shown on the display 100. Cloud-based video games are video games that are mainly executed on remote servers. In one embodiment, the servers may include individual servers or servers executing in a virtual machine data center, many of which may be virtualized to provide the requested processing. In the illustrated embodiment, the cloud game server 104 executes a video game rendered on the display 100. The client 101 is located at the user's location to receive and process inputs and transmit these inputs to the cloud game server 104, and also receives video and audio data from the cloud game server 104. The client 101 and the cloud game server 104 communicate via a network 102 (for example, the Internet). In other embodiments, the client can be any device, whether portable or wireless, as long as the client can communicate with the network and provide access to the display to render gameplay and enable input from the user. Drive interactivity. In one embodiment, the client is a thin client. However, in other embodiments, the client may be a general-purpose computer, a special-purpose computer, a game console, a personal computer, a laptop computer, a tablet computer, a mobile computing device, a portable game device. A device, a cellular phone, a set-top box, a streaming media interface/device, a smart phone or a networked display, or any other computing device that can be configured to meet the functionality of the client as defined herein. In one embodiment, the cloud gaming server is configured to detect the type of client device being used by the user and provide a cloud gaming experience suitable for the user's client device. For example, image settings, audio settings, and other types of settings can be optimized for the user's client device. [0057] In various embodiments, the degree of processing performed by the client may vary with respect to input and output processing. However, broadly speaking, a video game state is sufficiently maintained and executed on the cloud game server 104, where the client mainly functions to receive and transmit user input, and to receive video/audio data for rendering. The client 101 may be an independent device that is connected to the display 100 and provides video data for rendering on the display 100. In other embodiments, the client may be integrated into the display 100. In one embodiment, the display 100 is a networked display that uses the network connectivity of the display to provide a platform operating system for application programs. In such embodiments, the client can be defined by an application program executing on a platform provided by the operating system of the display.
[0058] FIG. 1B illustrates multiple users in multiple locations participating in the gameplay of a cloud-based video game. The user U1 is shown as interacting with the video game rendered on the display 100 at the first location. The users U2 and U3 are shown interacting with the video game rendered on the display 106 at the second location. The user U4 is shown as playing a video game rendered on the display 108 at the third position. Users U5, U6, and U7 are shown interacting with the video game rendered on display 110 at the fourth position.
[0059] At each of the first, second, third, and fourth positions, at least one computing device is provided for processing input from various users and rendering cloud-based video games on their respective displays. It should be understood that the computing device may be integrated into the display, or may be a stand-alone device, such as a personal computer, a set-top box, a game console, or any other type of device having at least one processor and memory to process and store data. The computing device can execute or define a client, as already described above. The computing device is connected to the Internet and communicates with the cloud game service via the network (such as the Internet 102)
Device104 Communication.
[0060] The cloud game server 104 executes various video games being played by users, thereby defining the game state of a given video game from one moment to another, and sends video data (including image data and audio data) to the A computing device at a specific location. The computing device at a given location processes the input from the user playing the video game and transmits the input data to the cloud game server, which in turn processes the input data to affect the game state of the video game. It should be understood that cloud-based gaming facilitates multi-player gaming from players located at different locations by providing video games to be executed at a remote server that can be accessed by all players via a network. In this way, the execution of the video game does not depend on the hardware or network conductivity of any single player, but this will affect the user experience of the given player.
[0061] FIG. 2A illustrates a system for cloud gaming according to an embodiment of the present invention. As shown, the user 200 operates the controller 202 to provide input to the cloud-based video game. The controller 202 may include any of various types of input devices, such as buttons, joysticks, touch pads, trackballs, and motion sensing hardware such as accelerometers, magnetometers, and gyroscopes. In one embodiment, the controller 202 may include an illuminated object, which may be tracked to determine the position of the controller 202. The controller 202 can communicate with the thin game client 204 wirelessly. The client 204 communicates with the cloud game service 210 via the network 208. The client 204 processes the data from the controller 202 to generate input data that is transmitted to the video game executed by the cloud game service 210. In addition, the client 204 receives video data from the cloud game service 210 for rendering on the display 206. In one embodiment, the client 204 may process the received video data to provide a video stream in a format compatible with the display 206. In one embodiment, the client 204 may include a camera for tracking the controller device or an object located on the controller device. As already noted, the object can be illuminated to further facilitate tracking based on analysis of captured image frames from the camera.
[0062] The cloud game service 210 includes resources for providing an environment in which video games can be executed. Broadly speaking, resources can include various types of computer server hardware, including processors, storage devices, and networking equipment, which can be used to facilitate the execution of video game applications. In the illustrated embodiment, the video game library 212 contains various game titles. Each game title defines executable code and associated data and asset libraries, which are used to instantiate the video game. The host 214 may be a single computing device that defines a platform for instantiating the virtual machine 216. In another embodiment, the host 214 itself may be a virtualized resource platform. In other words, the host 214 can operate on one or more server computing devices to handle the allocation and use of resources defined by the server computing devices, while presenting a unified platform on which the virtual machines 216 can be instantiated.
[0063] Each virtual machine 216 defines a resource environment that can support an operating system on which a video game application 218 can run. In one embodiment, the virtual machine may be configured to emulate the hardware resource environment of a game console, wherein the operating system associated with the game console runs on the virtual machine to support the operation of game titles developed for the game console . In another embodiment, the operating system may be configured to emulate the native operating system environment of the game console, but the underlying virtual machine may or may not be configured to emulate the hardware of the game console. In another embodiment, the emulator application runs on the operating system of the virtual machine, and the emulator is configured to emulate the local operating system environment of the game console in order to support video games designed for the game console . It should be understood that a variety of current and legacy game consoles can be simulated in a cloud-based gaming system. In this way, users can access game titles from different game consoles via the cloud game system.
[0064] When the user 200 requests to play a specific video game title, the video game title is retrieved from the library 212. If the compatible virtual machine has not yet been instantiated or is not available, then a new compatible virtual machine is instantiated on the host 214. The retrieved video game title is then executed as an application 218 on the available or newly instantiated virtual machine 216. In one embodiment
, This may require determining the appropriate platform for the video game title (for example, which game console or operating system the game needs to run) and assigning the video game title to the appropriate virtual machine for execution, for example, to A virtual machine with an emulator application capable of handling the execution of video game titles. The video game being executed communicates with the game client 204 to provide the user 200 with an interactive game experience. More specifically, the running video game application 218 receives input data from the client 204 via the network 208. The application program 218 processes the input data to update the game state of the application program being executed. When the game state changes, the application 218 outputs video data, which is sent to the client 204 for rendering on the display 206. In addition, the application 218 can also output feedback data to the client 204, which is used to provide additional feedback mechanisms to the user. For example, the user's controller 202 may include a tactile vibration feedback mechanism, which may be activated based on output feedback data from a video game application.
[0065] In one embodiment, the cloud gaming system is configured to detect the type of client device associated with the user and the type of controller available for the user to provide input to the cloud-based video game. For example, in one embodiment, when users log in to the cloud gaming system, they may be presented with options to specify the type of client device they are using to access the cloud gaming system. In one embodiment, a series of client device options are presented, from which the user can select an option corresponding to his client device. The user may also be presented with options to specify the type of controller device they will use to play video games. In one embodiment, the user may be presented with a series of controller options from which the user can select to specify the type of controller corresponding to his controller hardware. In other embodiments, the cloud gaming system may be configured to automatically detect the client device type and/or the controller device type.
[0066] For example, when logging in, the client device may send information identifying itself and the connected controller device to the cloud game server (for example, in response to a request from the cloud game server). Based on this information, the cloud game server can determine the appropriate video game output configuration and input parameter configuration to provide a game experience optimized for the user's client device and controller device. In one embodiment, a look-up table is used to determine the video game configuration and the input parameter configuration based on the detected client device and the detected controller device.
[0067] It should be appreciated that a given video game can be developed for a specific platform and specific associated controller device. However, when such games are made available via the cloud gaming system as presented herein, users may be using different controller devices to access the video games. For example, a certain game may be developed for a certain game console and its associated controller, and the user may be accessing a cloud-based version of the game from a personal computer using a keyboard and mouse. In such situations, the input parameter configuration may define a mapping from inputs that can be generated by the user's available controller devices (in this case, keyboard and mouse) to inputs that can be accepted for execution of the video game.
[0068] In another example, the user may access the cloud gaming system via a tablet computing device, a touch screen smart phone, or other touch screen driven device. In this case, the client device and the controller device are integrated together in the same device, where the input is provided by means of the detected touch screen input/gesture action. For such devices, the input parameter configuration may define a specific touch screen input corresponding to the game input used for the video game. For example, buttons, arrow keys, or other types of input elements may be displayed or overlapped during the running of a video game to indicate a location on the touch screen where the user can touch to generate game input. For example, gestures such as swiping in a specific direction or specific touch actions can also be detected as game input. In one embodiment, the user may be provided with instructions on how to provide input for gameplay via the touch screen, for example before starting the gameplay of a video game, in order to adapt the user to the operation of the controls on the touch screen.
[0069] In some embodiments, the client device acts as a connection point for the controller device. That is, the controller device communicates with the client device via a wireless or wired connection to transmit input from the controller device to the client device. The client device can then process these inputs and then via the network (e.g., via a locally connected device (e.g. routing
(Device) access) to transmit the input data to the cloud game server. However, in other embodiments, the controller itself may be a networked device, which has the ability to directly transmit input to the cloud game server via the network, without first transmitting such input through the client device. For example, the controller may be connected to a local networked device (such as the aforementioned router) to send to the cloud game server and receive data from the cloud game server. Therefore, while the client device may still be required to receive the video output from the cloud-based video game and render the video on the local display, the client can be bypassed by allowing the controller to send the input directly to the cloud game server via the network End device to reduce input waiting time.
[0070] In one embodiment, the networked controller and client device may be configured to send certain types of input directly from the controller to the cloud gaming server, and send other types of input via the client device. For example, the detection does not rely on any additional hardware or processed input other than the controller itself, which can be directly sent from the controller to the cloud game server via the network, bypassing the client device. Such input may include button input, joystick input, embedded motion detection input (for example, accelerometer, magnetometer, gyroscope), and so on. However, inputs that utilize additional hardware or require processing by the client device can be sent to the cloud game server by the client device. These inputs may include video or audio captured from the gaming environment, which may be processed by the client device before being sent to the cloud gaming server. In addition, the input from the motion detection hardware of the controller can be processed by the client device in conjunction with the captured video to detect the position and motion of the controller, which will then be transmitted by the client device to the cloud game server. It should be understood that the controller device according to various embodiments may also receive data (for example, feedback data) from the client device or directly from the cloud game server.
[0071] FIG. 2B conceptually illustrates the accumulation of game titles across various generations of game consoles according to an embodiment of the present invention. In the video game industry, video games are developed for specific video game consoles. Over time, a library of game titles is accumulated for a specific game console. For example, in the illustrated figure, the first-generation console 220 has a bunch of game titles 228 that have been developed for it. The second generation console 222 has associated with it a bunch of game titles 230 that have been developed for it. And, the third-generation console 224 is also shown as having a bunch of game titles 232 developed for it. In other embodiments, there may be a bunch of game titles 234 that have been specifically developed as cloud-based games for use in conjunction with the client 226. In addition, other types of games, such as Internet games, can be developed and collected for distribution via the cloud gaming system, as described herein. It will be appreciated that game titles from different generations of game consoles can be collected and merged in the cloud game library 212. As shown in the figure, the library 212 contains the first-generation console library 236, which contains game titles that have been developed for the first-generation console 220. In a similar manner, the library 212 also contains a second-generation console library 238 and a third-generation console library 240, which contain video games that have been developed for the second and third-generation consoles, respectively. Games that have been developed for client 226 And other types of games (such as Internet games) may also be included in the game library 212. As can be seen in the figure, a large number of game titles from various generations of video game consoles can be accumulated and made available via the cloud game library. As already described, each of these games can be executed on a virtual machine that simulates the operating system environment associated with a given game console for which a certain game is developed. In this way, users who access cloud-based gaming systems can easily access and play games from many different consoles as well as games from other contacts (such as Internet games and games that have been specifically developed to work with cloud-based gaming systems). Games used).
[0072] FIG. 3 illustrates a method for providing a game demonstration to a user according to an embodiment of the present invention. The display interface 300 provides illustrations or icons 302, 304, 306, 308, 310, and 312 of various game titles that can be used for demonstration. Each icon can be configured to provide an image that indicates the game it represents. In one embodiment, when the user navigates to a given icon, the icon may be activated to display an animation or video clip that represents the video game or otherwise provides the user with additional information about the content of the video game. In the illustrated embodiment, the user has navigated to the icon 302, which is thus highlighted and displays an activity animation that shows a scene from a video game. When the user is elected
When the icon is selected, the preview video can be displayed according to method operation 314. If the user continues to select the game at method operation 316, then at method operation 318, the game code for the demonstration is launched. At method operation 320, the game demo is immediately made available for the user to play the game. It should be understood that because the game demonstration is cloud-based, it is possible to immediately make the game demonstration available from the pre-loading instantiation of the game demonstration in the cloud-based system. When the game demonstration is started, the preload instantiation of the game demonstration is triggered to execute. At method operation 322, it is determined whether the user wishes to continue the gameplay of the game demonstration or play additional demonstrations of the video game (if an additional demonstration is available). If so, the method returns to operation 322 to continue executing the game demonstration or execute a new game demonstration of the video game. If not, then at method operation 324, the user is presented with an option to purchase a minor version of the video game. Additionally, at method operation 326, the user may be presented with an option to purchase the full version of the video game. If the user chooses to purchase the small version or the full version of the game, then at method operation 328, that version of the game is added to the user account. It should be understood that because the game is made available via the cloud-based gaming system, adding the game to the user account may only require Access privileges for a specific version of the game are associated with user accounts. Furthermore, once purchased, the game can be made available for users to play from the cloud-based system almost immediately, especially when the game can be pre-instantiated in the cloud-based system.
[0073] FIG. 4A illustrates the hierarchical organization of various parts of a video game according to an embodiment of the present invention. For example, a video game may be organized into various parts 400. In the illustrated embodiment, these parts may include a setting part, an introduction part, various grade parts, and an ending part. A given level can be further divided into various scenarios. As shown in the figure, the level 3 part is broken down into various scenes 402. When the user plays through a given scene, the gameplay timeline of the scene can be recorded, including the recorded video of the user's gameplay and the recorded input data and game state of the executed game application. In the illustrated embodiment, the game play timeline 404 represents the user game play of the level 3 scene 2 of the game. According to an embodiment of the present invention, the user can select several parts of his game play that are recorded, and a mini game or game fragment will be generated from the parts. For example, in the illustrated embodiment, the game play timeline 404 has a start point T0 and an end point Tz. Having selected the part of the game play timeline from time Tx to time Ty, a mini game will be generated from the part.
[0074] FIG. 4B illustrates an interface for selecting a part of a game play timeline to generate a mini game or game segment according to an embodiment of the present invention. In the illustrated embodiment, the interface 412 is presented on the touch screen 411 of the device 410. In one embodiment, the device 410 is a tablet computing device. The interface 412 includes a selectable game play timeline 414. In the expanded view 430 of the gameplay timeline 414, it can be seen that, in one embodiment, the gameplay timeline 414 is represented as a film strip with adjustable marks 416 and 418. The mark 416 designates the selected start point along the game play timeline 414, and the mark 418 designates the selected end point along the game play timeline. In addition, the mark 419 may be positioned in the portion of the line 414 of the game play that has been found by the start mark 416 and the end mark 418. For ease of use and to provide users with a visual understanding of what part of their gameplay is being selected, a start frame 420 corresponding to a point along the timeline of the gameplay where the marker 416 has been located may be shown. The start frame 420 is an image of the recorded gameplay video corresponding to the time at which the start mark 416 is located. Likewise, a representative end frame 424 corresponding to a point along the gameplay timeline where the marker 418 has been located may be displayed. In a similar manner, the end frame 424 corresponds to the time at which the end marker 418 is located The image of the recorded gameplay video. In addition, a representative frame 422 corresponding to the position of the mark 419 along the game play timeline may be displayed. The representative frame 422 may be used as a representative image of a mini game created based on a selected portion of the game play timeline. It should be understood that although a touch screen interface is provided and described in the illustrated embodiment, in other embodiments, various other types of input may be used to select the start point and end point to define a part of the gameplay for creating a small game. For example, it can be input via game controllers, keyboards, gestures, voice input, and other types of
The input device and mechanism provide input to enable selection of a part of the gameplay and selection of representative image frames from the recorded gameplay video.
[0075] In some embodiments, the selection marker may not be continuously adjusted along the gameplay timeline, but may instead be configured to be aligned to a predefined time point along the gameplay timeline. For example, the predefined time point may be defined as corresponding to a specific event occurring in the timeline of the gameplay. A specific event that will be assigned a predefined time point for a given gameplay timeline can be generated based on the analysis of the user's gameplay, and will depend on the specific architecture of the video game gameplay. In one embodiment, a predefined point in time may be assigned based on the geographic location of the character in the virtual world defined by the video game. For example, a predefined time point can be assigned to a specific time when a character moves from one geographic location to another geographic location, for example, the movement from one scene location to another scene location, and the movement from one city to another city. Moving, entering a building, entering a room in a building, entering a vehicle, entering a different type of environment, or any other kind of important geographic transfer. In another embodiment, a predefined time point may be assigned based on the development of the character or entity of the user controlled in the video game. For example, when a character or entity controlled by the user completes a task, acquires a skill, acquires an object, completes a part of a video game through a certain level or otherwise, or performs or implements any other kind of important activity in the video game Assign a predefined time point.
[0076] FIG. 4C illustrates an interface for selecting a part of a game play timeline to generate a mini game according to an embodiment of the present invention. The gameplay timeline 414 illustrates the timeline along which the user can set a start mark 416 and an end mark 418 in order to specify the selection of gameplay from which the mini-game will be generated. The start frame 410 corresponding to the position of the start marker 416 and the end frame 424 corresponding to the position of the end marker 418 are shown. It will be appreciated that the frame can be identified from the recorded video of the user's gameplay. A plurality of candidate frames 440, 442, 444, and 446 are presented, from which the user can select a frame to be used as a representative frame of the mini game. Candidate frames can be determined according to a variety of methods. For example, candidate frames may be presented from the score interval of the selected part of the game play timeline. The intervals may be equal, so that the candidate frames are equally spaced along the gameplay timeline, or the intervals may be unequal, so that some frames are closer to each other than other frames along the gameplay timeline. In one embodiment, a higher density of candidate frames is generated from the earlier part of the selected part of the gameplay timeline than the later part of the selected part of the gameplay timeline. In one embodiment, candidate frames of higher density are generated from the early and later regions of the selected portion of the game play timeline, and candidate frames of lower density are generated from the middle portion of the selected portion of the game play timeline.
[0077] After the user has selected a part of the game play from which the mini game will be created, embodiments of the present invention provide a system and method to create a trial mini game based on the selected part of the game play. More specifically, the mini-game enables another user to play approximately the same part of the video game played by the original user, possibly under approximately the same conditions and parameters. In this sense, mini games are not only replay videos of the original users gameplay (but can be combined with mini games to present replay video clips of the original users gameplay), but are also based on the users choice of their own gameplay Come to specify the trial part of the video game itself. The secondary user may therefore experience a gameplay experience that is substantially similar to the gameplay experience of the original user.
[0078] FIG. 5 illustrates a series of screenshots demonstrating a method for generating mini games from existing cloud-based video games according to an embodiment of the present invention. Screen shot 500 shows the user's video game play. In the illustrated embodiment, the user plays a level 3 video game. At screenshot 502, the user has completed level 3 of the video game. After completing the level, the user is provided with an option to generate game fragments or mini-games based on the user's game play of the level. When the user chooses to generate a game segment, then at the screenshot 504, the user is presented with an interface for selecting a starting point for the game segment from the recorded user game play. As already described, the representation of the gameplay timeline can be expanded
Shown as having an adjustable slider, the user can move the slider to specify a starting point for the game segment. After the user has defined the starting point, then at screenshot 506, the user is presented with an interface configured to allow selection of an ending point for the game segment. Again, the user moves the adjustable slider to specify the end point along the representative gameplay timeline in the interface. After specifying the start point and end point of the game play timeline from the user, the system generates game fragments or mini-games, as described elsewhere in this article. At the screenshot 508, the user may be presented with additional options, such as options to share newly created game fragments with other users or to inform other users of newly generated game fragments in other ways, to generate from the same gameplay timeline The option of another game segment, the option to continue the gameplay of the current video game, the option to watch the user's existing game segment, etc. If the user chooses to watch their existing game segment, then at screenshot 510, an interface showing the user's previously created game segment is shown. In the illustrated embodiment, the user can select one of the previously created game segments and view the information and statistics related to that game segment, as shown at screenshot 512. Information and statistics related to a given game segment can include any of the following: the title of the game segment; the video game from which the game segment was originally created; the date the game segment was created; other users have already played The number of times of the game segment; the completion percentage indicating the average percentage of the game segment completed by the user who started to play the game segment; comments left by other users; and so on.
[0079] Although in the currently described embodiment, after completing a certain level of the video game, the user is presented with an option to generate game fragments, but it should be understood that in other embodiments, the user can play the game in the video game. During or at any other time outside the game segment, as long as there is a recorded game play of the video game, the user can define options for the game segment. For example, in one embodiment, an interface may be presented that provides access to various recorded gameplay from various video games associated with the user. The user can select the game play of a specific video game and generate a game segment by selecting a part of the recorded game play, from which the game segment will be generated according to the embodiment described herein.
[0080] FIG. 6 illustrates a system for generating game fragment codes according to an embodiment of the present invention. The terms "game fragment" and "mini game" are used interchangeably herein to define a discrete trial portion of a video game that is generated based on user selections from existing recorded gameplay. In the illustrated embodiment, the user gameplay 600 conceptually represents the user interacting with the full version of the video game. The main game code 602 is executed to define the full version of the video game displayed by the user. When playing video games, it generates various types of gameplay output, including video data, game state data, and user input data. These outputs can be recorded to define the recorded user gameplay. In the illustrated embodiment, the image stream 604 conceptually represents the video data output by the video game. The game state metadata 606 and user input data 608 are also shown. The game state data 606 contains data that defines the game state of the video game being executed from one moment to another during gameplay. The game state data may include the value of any variable that defines the execution state of the video game. User input data is data generated by capturing user-initiated actions that occur during interaction with a video game, such as the activation of the input device on the controller device, the detection of sensor data (for example, motion sensors), and the capture Audio input, etc. to provide.
[0081] As already described, the user interface may graphically depict the recorded user gameplay to facilitate selection by the user of a portion of the user gameplay from which game fragments will be generated. In the illustrated embodiment, the user has defined choices 610 from his recorded gameplay. The game segment generator uses this recorded selection of user game play to generate game segment code 622, which defines a restricted game based on the selected portion of the user's game play. The game segment generator 612 includes a game state analyzer 614, which analyzes the recorded game state of the selection 610. Based on the analysis of the recorded selected game state, the game breakpoint processor determines the appropriate breakpoint to define the beginning and end of the game segment. Keji
Breakpoints are defined in terms of geography, time, task or goal completion, scene boundaries (physical or temporal), or any other aspect of the video game where the gameplay of the video game can be segmented to produce game fragments. A brief description of some illustrative embodiments will be used to highlight some possibilities for breakpoint determination.
[0082] For example, some video games need to control characters that can move from one geographic scene or place to another. The selected portion of the user's gameplay may be determined to be generated from the gameplay at a specific scene. In such an embodiment, the boundary of a specific scene may define the geographic breakpoint of the game segment, so that the scene is selected and other scenes are excluded, which may require the exclusion of other adjacent or adjacent scenes, as well as non-adjacent or non-adjacent or specific scenes. Less relevant or unrelated scenes. It should be appreciated that the recorded gameplay selection 610 may require gameplay from multiple scenes, in which case the game breakpoint processor 616 may be configured to select the gameplay based on the number of scenes used for the recorded gameplay selection. Boundary to define the breakpoint.
[0083] It should be noted that the scene can be geographical and temporal in nature. That is, a scene can not only define a geographic area within the virtual space defined by the video game, but can also be configured to exist during a specific time or at a specific chronological point within the larger context of the video game. Such scenarios may have defined goals or objectives to be achieved by the player. Therefore, game breakpoints can be defined based on age or other time aspects as defined by video games.
[0084] Additionally, a given scene may have associated objects or features that are presented as part of the scene during gameplay. These objects or features can be analyzed to define additional break points based on their contents. For example, the objects in the scene can be obtained from a subset of the asset library. In this case, the game breakpoint processor 616 can define a subset of the asset library for game fragments, so as to exclude non-existent and all in the asset library. The recorded gameplay selects other objects used in the associated scene. It should be understood that objects and features can be dynamic elements of a given scene, where associated mechanisms define their changes in response to events that occur in the video game. For example, the object may have a destruction simulation module that determines and adjusts the appearance of the object when the object is damaged (for example, when it is hit by a weapon). Alternatively, the feature may be a vehicle made available during the scene, where the vehicle has associated logic that defines its appearance during gameplay and its operation and response to user input. Such logic or destruction simulation can further define game breakpoints to generate game fragments.
[0085] The definition of a video game or otherwise used in various aspects of selected portions of the video game may be the basis for defining game breakpoints. The examples described so far are provided by way of example only and not in a limited way. It should be appreciated that in other embodiments, other aspects of the video game may form the basis for defining breakpoints to generate game segments.
[0086] In one embodiment, the video game may be organized into various scenes, which must be completed in a linear fashion, so that a later scene cannot be tried until the previous scene has been completed first. Each scene may contain multiple goals or objectives, some of which may be necessary for completing the scene, and some of which may be optional for completing the scene. The purpose can include navigating from the starting position to the predefined ending position in the scene, survival for a predefined length of time, destroying a predefined number of enemies, obtaining a specific number of points, defeating a specific enemy, or any purpose that can be defined in the game Other activities. The scene can have various predefined completion points, that is, where the user changes due to some reason (for example, the user exits the game, the users game character dies or loses life or health, the users vehicle crashes, etc.) If it is impossible to continue the gameplay, the user can return to that point once the completion point has been reached. At a predefined completion point, the video game can be configured to automatically save the user's progress or present the user with an option to save his progress.
[0087] In one embodiment, the game breakpoint processor 616 is configured to define a game breakpoint at a predefined completion point. In one embodiment, this is done by finding the closest selected start point and end point to the recorded user gameplay selection
Completion points and use these most recent completion points to define game breakpoints for game fragments to complete. In another embodiment, the most recent completion point that occurs before the selected start point of the recorded gameplay selection is used to define the start breakpoint, and the most recent completion point that occurs after the selected end point of the recorded gameplay selection is used to define the start breakpoint. The completion point defines the ending breakpoint used to create the game segment. In yet another embodiment, if the completion point is within a predefined radius (for example, before or after) of any one of the recorded start point or end point of the user's gameplay selection, then the completion point is used to define The corresponding start or end breakpoint of the game segment. However, if no completion point is located within the predefined radius, then a user-selected start or end point of the game is defined that more closely matches the recorded selection. In other embodiments, the predefined radii used for the start point and the end point may be different for the purpose of determining whether to use an existing completion point to define a game breakpoint.
[0088] As already discussed, the game breakpoint processor 616 determines appropriate breakpoints for various aspects of the video game based on an analysis of the recorded user gameplay choices. The breakpoint defined by the processor 616 is used to define a restricted range of game fragments that will be generated based on the recorded user gameplay selections. In one embodiment, an overlay processor 617 is provided for generating overlays that can help improve the user experience when playing game segments generated by the game segment generator 612. For example, in one embodiment, the overlay processor 617 defines pre-game segment data that can be provided as an introduction to the game segment before the actual game play of the game segment, which defines video or game play or additional information. An example of pre-game segment data is an introductory video that can provide context to the user of the gameplay of the initial game segment. In another embodiment, the pre-game segment data can define an introductory gameplay of the game segment, which can provide the user with an opportunity to learn skills that may be useful or necessary for playing the game segment. In another embodiment, the pre-game segment data may define a series of one or more information screens or images, which provide the user with information about the game segment. Such information may include controller configuration, story background information, purpose or goals, maps, or any other type of information related to the game segment that may be useful to the user or otherwise improve the user's experience of playing the game segment.
[0089] The overlay processor 617 may also be configured to define post-game segment data. In some embodiments, the post-game segment data may define a video or image to be displayed after the gameplay of the game segment is completed. For example, a congratulatory video may be displayed after the user completes the game segment. Such videos can be customized based on the user's gameplay of the game segment, for example, by showing information or images based on the user's gameplay. In one embodiment, the post-game segment data may define a playback mechanism to play the recorded portion of the user's gameplay of the game segment after the game segment is completed. In another embodiment, the post-game segment data may be configured to display statistical data about the users gameplay of the game segment, and may indicate that the users gameplay is different from other users gameplay or the original creator of the game segment. Comparison of gameplay. In still other embodiments, the post-game segment data may define additional interactive elements to be presented to the user after the game segment is completed. These elements may include an option to purchase part or all of the video game on which the game segment is based, an option to turn to additional information sources related to the video game, and so on.
[0090] In some embodiments, the overlay processor 617 may be configured to define elements to overlay into the game segment. These elements may include elements that can be customized by the user playing the game segment, such as customization of characters, goals, assets, and other types of customization options. In some embodiments, the overlay processor 617 may be configured to define simplified elements for the game segment to reduce the complexity of the game segment code and reduce the amount of resources required to execute the game segment. For example, many video games include artificial intelligence (AI) entities such as characters, vehicles, enemies, and so on. These AI entities can be managed by an artificial intelligence model in a full video game, which defines the reactions and activities of the AI entity based on events that occur in the video game. However, in the context of game fragments with a limited range, it is acceptable to simply define the activities of AI entities through hard-coded definitions or simplified extrapolation methods, rather than treating them as in the case of full video games. The activities of AI entities are fully modeled.
[0091] For example, if in the recorded gameplay selection of a full video game, a given AI task moves in a certain way according to its AI model (which cannot be changed in the game segment), then it is the game segment An approximate representation of the movement that defines the AI task may be more efficient. This approximation means that the inclusion of the full AI model as part of the game fragment code will not be required, but the user playing the game fragment will be provided with an experience that is substantially similar to the original users gameplay experience from which the game fragment is generated. Character experience. When there are multiple AI entities and they interact in the gameplay choices recorded by the user, the resource savings achieved by the approximate representation of the AI entity's activities can be more significant. Because each of the AI entities may have an AI model that depends on the output of the AI models of other AI entities. However, when the gameplay has been recorded, the activities of each of these AI entities are known, and therefore can be reproduced in the game segment through simplified mechanisms such as direct encoding of their control variables and approximate representations of their activities.
[0092] With continued reference to FIG. 6, a game setting state processor 618 for defining the initial state of the game segment is provided. Based on the operations of the game state analyzer 614, the game breakpoint processor 616, and the game setting state processor 618, the code assembly manager 620 assembles various code parts to define the game fragment code 622. When the game fragment code 622 is executed, the user gameplay 624 provides input to define the execution state of the game fragment code, which generates a gameplay output that contains video data and feedback data for rendering the game fragment to the user. The video data may include a pre-game segment overlay video 622, a game segment video 624 (which is a video generated due to the gameplay of the game segment), and a post-game segment overlay video 626.
[0093] It should be understood that in one embodiment, the game fragment code 622 is completely self-contained, including all code parts required to execute the game fragment. However, in other embodiments, the game fragment code 622 may incorporate references or pointers to existing code portions in the main game code of the full video game. In addition, the game fragment code 622 may include reference or use existing assets in the asset library of the main game code of the full video game. However, in other embodiments, a new asset library can be generated for the game fragment code.
[0094] FIG. 7A illustrates a modification of a virtual space for the purpose of generating game segments of a video game according to an embodiment of the present invention. The map 700 represents a scene or geographic part of a video game. The map as shown in the figure is a two-dimensional representation that can represent the three-dimensional virtual space navigated and experienced during the actual gameplay of the video game. As shown in the figure, the map 700 illustrates the area 702, And several paths 704, 706, 708, and 710. In the recorded gameplay of the video game, the user's character 712 moves from area 702 to path 710. Based on this recorded movement and other analysis of the gameplay of the video game, it can be determined that the extra paths 704.706 and 708 are unnecessary for the generation of game segments. The path may represent an incorrect choice compared to path 710, or may lead to an area unrelated to the game segment, or may be transferred from the game segment players ability to follow the path and experience similar gameplay to the original user Gameplay. In addition, if paths 704.706 and 708 lead to areas that are not supported in the game segment, including these paths may cause confusion among players, or at least a poor user experience. Therefore, in the modified map 720, the paths 704, 706, and 708 are made unavailable for gameplay in the game segment, while the path 710 and the area 702 remain unchanged. Therefore, when the user plays a game segment incorporating the terrain defined by the map 720, he will experience a virtual space in which paths 704.706 and 708 are not available to pass through. The user will then be more likely to traverse path 710 as the original user did, and therefore experience similar gameplay.
[0095] It will be appreciated that the portion of the virtual space defined for game segments or mini-games may be defined by boundaries determined based on the game play recorded by the user. The boundary will define a sub-region of the larger virtual space and contain a subset of the features available in the larger virtual space. In some embodiments, the virtual space may be determined by determining the position in the virtual space defined by the user's gameplay, and then determining those positions that are closest to the virtual space and are arranged to include the predefined boundaries of the position. Space boundary. For example, the users gameplay can define the users video game character traverses
path. This path can be analyzed, and based on the location of the path in the virtual space, a set of predefined boundaries can be selected to define the area containing the path. In some embodiments, the predefined boundary may be defined by specific features that inherently define a portion of the virtual space (eg, doors, windows, walls, rooms, corridors, fences, roads, intersections, corridors, etc.).
[0096] FIG. 7B illustrates a modification of a scene graph for the purpose of generating game fragments according to an embodiment of the present invention. The scene graph 730 conceptually illustrates the organization of the various scenes A to G of the video game. It should be understood that the scenes described herein can be geographic and/or temporal in nature, and each can represent a trial part of a video game, such as a stage, level, column, location, or any other organizational unit within the video game , The player can proceed from one scene to another according to this. In the scene graph 730, various nodes representing scenes A to G are shown. As shown in the figure, the player can progress from scene A to scene B, and from scene B to scene D or E. The player can also progress from scene A to scene C, and from scene C to scene F or G. The scene graph 730 illustrates the scene organization of the full video game. However, for the purpose of creating a game segment, the game segment may not require all available scenes. Thus, for example, the scene graph 732 illustrates the organization of scenes for game segments. As shown in the figure, the scene graph 732 includes scenes A, B, C, and F, but does not include the remaining scenes included in the scene graph 730 of the full video game. Therefore, the user can proceed from scene A to scene B or C, and from scene C to scene F. However, other scenes from the full video game scene graph 730 are not available for gameplay in the game segment. As already described, the system according to embodiments of the present invention can be configured to limit the generation of The inclusion of the scene in the game fragment. In this way, the game segment does not contain the restricted context of its gameplay and the scenes that are not needed for the intended purpose.
[0097] FIG. 8 illustrates a method for generating game segments according to an embodiment of the present invention. At method operation 800, recording the user's game play of the video game includes recording the video of the user's game play and video game data, such as input data and game state data of the video game. At method operation 802, a user interface for selecting the recorded game play to generate game pieces is presented. The interface defines a mechanism for receiving user input to define start and end points from the recorded gameplay. For example, an interface for reviewing the recorded gameplay video may be provided to allow the user to define the start and end points within the gameplay video based on the navigation or playback of the gameplay video. At method operation 804, a user-defined selection of the gameplay video is received. At method operation 806, a video game breakpoint is identified based on the received user-defined selection of the gameplay video. In one embodiment, there are predefined breakpoints for video games. Based on the user-defined selection of the gameplay video, the breakpoint closest to the start and end points of the user-defined selection can be selected as the game breakpoint of the game segment to be generated. At method operation 808, the game code for segment selection as defined by the identified breakpoint is defined. In operation 810 of the method, a game setting state for segment selection is defined. In one embodiment, the game setting state is based on the game state that exists during the game play recorded by the user. Method operation 812, produces The game fragment code, and at method operation 814, store the game fragment code in the game fragment library and associate it with the user's account.
[0098] In one embodiment, the method may include a method operation 816 in which a suggested game segment video selection is generated based on the user's recorded gameplay video and data. The suggested selection of the user's gameplay may be determined based on an analysis of the user's recorded gameplay. For example, a part of the gameplay in which a higher activity level is detected (for example, an activity level exceeding a predefined threshold) may be suggested as a possible game segment video selection. At method operation 818, the aforementioned user interface for game segment selection may present the suggested game segment video selection to the user. In one embodiment, the user may be presented with screenshots representing video selections for each suggested game segment. At method operation 820, a user's selection of one of the suggested game segment video choices is received. Based on user selection, game fragment codes can be generated and stored, as described previously.
[0099] FIG. 9A illustrates an interface for browsing game fragments associated with various game tiles according to an embodiment of the present invention;
mouth. In the illustrated embodiment, the interface is organized into a series of tabs, including tabs 900.902 and 904, which, when selected, provide access to various pages corresponding to different game tiles. In the illustrated embodiment, tab 900 is currently selected so that the page presented provides information about game segments that have been created for a particular game tile T1. The game segment list 904 lists various game segments that have been created from the game tile T1. In one embodiment, the game segment list 904 also identifies the user who created the game segment (for example, displays the username of the user who created the game segment). In one embodiment, the game segment list 904 can be browsed or navigated to highlight different game segments among the game segments listed in the game segment list 904. In the illustrated embodiment, the game segment A created by user A is currently highlighted, which causes the details 906 related to the game segment A to be displayed. Details 906 may contain various information related to the game segment, such as the level or stage from which the game segment was generated, game details that provide more specific information about the location where the game segment was created from, comments from user A who created the game segment, Several comments by others, the number of times the game segment has been displayed, or any other type of information about the game segment that can be provided when the list of game segments is highlighted.
[0100] FIG. 9B illustrates a game segment information page according to an embodiment of the present invention. The game segment information page is for the game segment A discussed with reference to FIG. 9A, and can be reached when the user selects the list of game segment A as shown in FIG. 9A. Continuing to refer to FIG. 9B, the game segment information page provides various information related to the game segment. In addition to the bibliographic information about the game segment (for example, the tile, the user name of the user who created the game segment, the creation date, etc.), the video 910 of the game segment may be displayed. In one embodiment, the video 910 is a recorded gameplay video of the original user who created the game segment. In another embodiment, the video 910 may be recorded gameplay videos of other users, such as the user who achieved the highest score on the game segment, or the user who recently played the game segment. In one embodiment, the video 910 may be a live feed of the user who is currently playing the game segment. In other embodiments, instead of videos, representative images of game segments may be displayed.
[0101] The game segment information page may further include a selectable button 912 for starting the game play of the game segment. The game segment information page may also include a detail column 914, which can represent various details and statistical information about the game segment, such as the number of times played, the average completion rate, and so on. The game segment information page may also include a comment column 916, which represents the comments left by the user. A classification button 918 may be provided to select various options for categorizing comments (for example, the order of year, month and day, the most popular, according to rating, according to the relationship with the current user (for example, the users friends in the social graph) Comment first) etc.). [0102] FIG. 10 illustrates a view of a user's account information according to an embodiment of the present invention, including an instant view of friends in a cloud gaming social network. The library column 1002 displays various game tiles in the user's library. These game tiles may be game tiles that the user has purchased or obtained in other ways. In addition to tile information, the display of game tiles may also include the display of representative graphics. It will be understood that the game can be a full-version game tile, but can also be an analog version of a limited version, each of which can be part of the full-version game tile, or is limited in some ability compared to the full-version game tile . The friend list 1004 lists the friends of the current user in the social network associated with the cloud gaming system (ie, other users in the social graph of the current user). The social network may be a social network dedicated to the cloud gaming system, or may be separate from the cloud gaming system. (Third-party) social network, cloud game system communicates with it to obtain information about the user's social graph. The friend list 1004 may include additional information about the users friends, such as describing the games owned by each friend, identifying the online status of the friend (for example, online, offline, inactive, etc.), the friends last login, and Its duration, the last game played by the friend, etc.
[0103] In one embodiment, the live event user bar 1006 provides a live view of the gameplay of friends who are currently online and may be playing video games. In one embodiment, each user has a definition of whether to make live gameplay available
It is an option for other users to watch live. In this embodiment, the live view is only presented from those users who have the option to specify that their live gameplay can be viewed by other users. In the illustrated embodiment, the live activity user column 1006 includes a live view 1008 of friend A's current game play, and a live view 1010 of friend B's current game play. In one embodiment, the current user can navigate or browse friends in the friend list 1004, and/or browse the live view available in the live event user column 1006. In one embodiment, when the current user navigates to the live view, the live view may be highlighted, and may be rendered in a different manner from other live views. For example, the live view can be displayed in a desaturated color scheme by default, but when it is highlighted or selected, it is displayed in a fully saturated color scheme. The live view can also be displayed at a lower resolution, frame rate or size by default, but when selected, it is displayed at a higher resolution, frame rate or size. In this way, bandwidth can be allocated to a particular live view based on user selection so as to present live views that the user is interested in viewing with greater fidelity than other live views that can be active at the same time. It should be understood that the live view can not only display the specific gameplay of the video game, but also display other activities of friends on the cloud gaming system, such as navigation through menus, or other types of activities related to the cloud gaming system.
[0104] In one embodiment, the live view is only available to those users who are currently active participating in the gameplay of the video game. In other words, when a given user is offline or online but inactive to participate in the gameplay of a video game, the live view of the user is not available. Therefore, when the user is performing other non-gameplay activities on the cloud gaming system (for example, navigating the graphical interface of the cloud gaming system when logging in to the system), do not make this activity available in live feeds for other people to watch. In another embodiment, the live view may include all activities of the user logged in to the cloud gaming system, including the user's game play and other non-game play activities.
[0105] In one embodiment, the live view of a given user may be filtered so as not to potentially expose sensitive or personal information for others to view. For example, the cloud gaming system may support a chat function. Because some users may want their chats to remain private, there may be an option to exclude chat logs when presenting the live view. It should be understood that the chat function can be implemented during gameplay activities as well as during non-gameplay activities, and can be filtered from the live view of either or both of these situations. In another embodiment, aspects of the video game can be filtered out of the live view. For example, a user may wish to keep certain user-defined settings confidential because it can give the user an advantage during gameplay. Therefore, it is possible to provide an option for setting-related activities not to be displayed as part of the live feed (for example, when the user accesses the setting interface of a video game). In another embodiment, the live view may be configured to prevent viewing of personal information (eg, prevent viewing when the user accesses a personal information page, enters payment information, enters a password, etc.).
[0106] In one embodiment, the interface provides the primary user with an option to request to join the game session of the secondary user who is currently online. For example, the primary user may watch the live gameplay feed of the secondary user and wish to join the secondary user's gameplay. In one embodiment, the activation of the option sends a request to the secondary user, informing the secondary user that the primary user wants to join his session. If the secondary user accepts the request, the multi-player mode of the video game is initiated, thereby facilitating the multi-player game play of the first and second users. In another embodiment, two or more secondary users may have participated in multi-player game play. In this embodiment, the primary user may send a request to join the multi-player game play. After one of the secondary users (for example, the designated owner of the gameplay session) accepts the request, the primary user can join the multi-player session of the video game. It should be understood that the aforementioned interface that displays the live gameplay feed of the secondary user promotes the primary user to join the secondary user's gameplay after being able to see the secondary user's gameplay.
[0107] In one embodiment, after the primary user determines the ownership status of the video game, it is predicted to request an option to join the secondary user's game play. If the primary user does not own the video game, then the option cannot be presented, and if the primary user owns the same video game as the secondary user, then make the option to request to join the secondary users gameplay as an option.
Available as part of the interface. In one embodiment, when it is determined that the primary user is not the owner of the video game, then the primary user can still join the secondary users gameplay in the multi-player mode, but with limited capabilities, such as the duration of the gameplay , Available scenarios/levels/stages, etc., customization options, abilities, skills, weapons, characters, vehicles, or any other aspects of the video game that can be limited are limited. In one embodiment, after the gameplay of the limited version of the video game, the primary user is provided the option to purchase the full video game. In another embodiment, the primary user is provided with the option of an extra part of the video game.
[0108] Continuing to refer to FIG. 10, the displayed information may also include game history information 1012 of the user's friends. The game history information 1012 may provide information about the game play history of a given user, such as the most recently played game, the duration of the game play session, statistical data related to the game play, and so on.
[0109] It will be appreciated that according to various embodiments of the present invention, many methods and configurations for presenting a cloud game interface are possible. In one embodiment, a method for displaying the current game status of a user of a cloud gaming system is provided, which includes the following method operations: presenting the cloud game interface of the main user; determining that it is one or the friend of the main user One or more secondary users; determine the current status of each of the secondary users, and the current status is one of online or offline; for at least one online secondary user, present the primary users cloud game interface A live feed of the current game session of the online secondary user, the live feed includes providing the primary user with an option to join the current game session of the online secondary user; in response to receiving the activation of the primary user to join the current game session of the online secondary user Option request, start the multi-player mode of the current game session of the online secondary user, the multi-player mode provides the game play of the primary user in the current game session of the online secondary user; where the initial multi-player mode includes Define the video game of the current game session of the online secondary user, and determine the ownership status of the primary user; wherein when the primary user is determined to own the video game, then the multi-player mode provides a full version of the gameplay of the video game; wherein when the primary user is determined When the user does not own a video game, so many players mode provides a limited version of the video game's gameplay.
[0110] In one embodiment, the limited version of the video game defines the available level, available scenes, available features, time limit, virtual space, battle length, number of lives, or number of replays compared to the full version of the video game. One or more of the reductions.
[0111] In one embodiment, the method further includes a method operation of presenting the main user with an option to purchase at least a part of the video game when the main user does not own the video game.
[0112] In one embodiment, the live feed of the online secondary user is presented at a first resolution; and the selection of the live feed triggers the presentation of the live feed of the online secondary user at a second resolution higher than the first resolution.
[0113] In one embodiment, the live feed of the online secondary user is presented in a desaturated color mode; and the selection of the live feed triggers the presentation of the live feed of the online secondary user in a saturated color mode.
[0114] In one embodiment, presenting the cloud game interface includes presenting a library of game tiles associated with each of the secondary users.
[0115] In one embodiment, determining the one or more secondary users includes accessing a social graph associated with the primary user. In one embodiment, accessing the social graph includes accessing the API of the social network.
[0116] In one embodiment, the cloud gaming interface that presents the primary user includes presenting a list of each of the secondary users in a priority order based on the current status, the recency of the login, or the primary user The user's joint ownership of the game.
[0117] FIG. 11 illustrates a method for presenting a live gameplay feed of a friend of a current user according to an embodiment of the present invention. At method operation 1100, the current user logs in to the cloud gaming system. At method operation 1102, from the current users
The social graph identifies the friends of the current user. As noted, the social graph of the current user may come from a social network dedicated to the cloud gaming system, or may come from a social network that exists separately from the cloud gaming system. At method operation 1104, the library information of the user's friends is retrieved. The library information of the user's friends may identify game tiles in the user's friend library. At method operation 1106, the current status of the friends of the current user is identified. If the current status of the given friend is online, then at method operation 1108, it is determined whether the given friend is currently participating in the gameplay of the video game on the cloud-based system. If so, then at method operation 1112, a live gameplay feed of the user is obtained. At method operation 1110, the display priority of the friends of the current user may be determined based on various factors or preferences. At method operation 1114, the current user's friends, their status information and live gameplay feeds are presented in priority order. In one embodiment, it may be determined that the priority of the current user's online friends is higher than the current offline friends. In one embodiment, it may be determined that the priority of the friends of the current user who are currently participating in the active game play is higher than the friends who are not currently participating in the active game play. In one embodiment, it may be determined that friends with available live gameplay feeds have a higher priority than other friends. In one embodiment, the priority of the friend may be determined based on the recency that the friend has logged into the cloud gaming system. In another embodiment, it may be based on the sharing of video games Same ownership to determine the priority of friends. The foregoing examples of determining the priority of friends are provided as examples only and not as limitations. Those skilled in the art will understand that, in other embodiments, the friends of the current user may be determined according to the priority ranking based on any other relevant factors, and the friends of the current user may be presented.
[0118] FIG. 12 illustrates a system including a cloud gaming system and a social network according to an embodiment of the present invention. The cloud gaming system 1200 provides access to your cloud-based games. The cloud game system includes a game library 1202, which contains various game tiles for users to play. The user data 1204 contains various data associated with the user account, such as game tiles owned by the user, and any saved game play of the user. In the illustrated embodiment, various gameplay sessions are conceptually shown, including session A, session B, and session C. Session A defines the game play of user A, and user A watches the game play of session A on the display 1208. The gameplay of session A is rendered as view 1210 on user A's display 1208. Similarly, session B defines user B's gameplay, which is rendered as a view 1214 on user B's device 1212. In the illustrated embodiment, the view 1214 of user B's conversation shows an interface containing live views from other users, including the live view of conversation A and the live view of conversation C. As the gameplay from sessions A and C progress, the gameplay video is output from sessions A and C, and can be streamed via user B's session for display in user B's view 1214. The gameplay video can be processed for streaming via user B's session, such as reducing the resolution, size, frame rate, color saturation, etc., to save bandwidth.
[0119] Continuing to refer to FIG. 12, a social network 1216 is also shown. The social network 1216 includes user data 1218, which includes, for example, the user's social graph, posts, pictures, videos, biographical information, and the like. The application program 1220 can be run on a social network platform. A graphical user interface (GUI) 1222 defines an interface for interacting with social networks. API 1224 facilitates access to social networks. The notification module 1226 handles the notification of the social network user according to the preference of the social network user. As already noted, user B's view 1214 contains live feeds of conversations from other users. In one embodiment, the friends of user B are determined based on accessing the API 1224 of the social network 1216 to determine the members of user B's social graph. Cross-reference these members against users of the cloud gaming system to provide live gameplay feeds from user B's friends, including feeds from sessions A and C.
[0120] In one embodiment, user A chooses to share from his gameplay session A to his social graph. The session A of the user A communicates via the API 1224 to activate the notification module 1226 of the social network 1216 to send appropriate notifications to friends in the social graph of the user A. When the social network user 1230 in the social graph of the user A accesses the social network via the device 1228, he can see messages or posts from the user A about the user A's conversation. If set, the user can access
Receive notifications, such as an email indicating that user A has shared something on the social network. It should be understood that user A can share information about various video game-related activities, such as achievements in video games, invitations to play video games, comments about video games, invitations to watch or play game clips created by user A, and user As Video clips of gameplay, etc.
[0121] FIG. 13 is a diagram illustrating various game state variables over time according to an embodiment of the present invention. It should be appreciated that in various embodiments, there may be many different kinds of game state variables, which will be dedicated to a particular video game. Those variables shown and described with reference to the illustrated embodiments are provided as examples only and not as limitations. Game state variables may include values defined by the execution of the video game, as well as values defined by user input. In the illustrated embodiment, there are displayed position variables that indicate the X, Y, and Z positions of objects (such as characters or vehicles) in the virtual space of the video game. The camera angle variable indicates the direction of the virtual camera or virtual view in the video game. In one embodiment, the camera angle is defined by the azimuth component measured relative to the azimuth reference (eg, along the hierarchical plane) and the tilt component measured relative to the tilt reference (eg, relative to the vertical). For example, action variables such as the explained action A and B variables indicate the start and hold of various actions in the video game. It should be understood that the actions of a given video game will be specific to the context of the video game. For example, an action may include the initiation of a specific maneuver, the application of a skill, the triggering of a modification mechanism to modify an existing action (such as increasing its intensity or frequency level, etc.), or any other triggers that can be triggered by user input during the course of a video game Type of action or activity. Continuing to refer to FIG. 13, the weapon variable indicates the triggering of the weapon of the video game. The health variable indicates the users The health level of the character in the video game. The button variable indicates the state of the button on the controller device, for example, whether the button is in a pressed state or a released state. The joystick state variable in the illustrated embodiment indicates the magnitude of the movement of the joystick relative to the neutral position. The aforementioned game state variables that have been described with reference to the illustrated embodiments are only exemplary, and those skilled in the art will recognize that many other types of game state variables can be tracked over time.
[0122] Referring again to the embodiment of FIG. 6, in one embodiment, the game state analyzer 614 may be configured to analyze the game state variables of the user's recorded game play. Based on the analysis of the user's recorded gameplay, various areas of interest of the user's recorded gameplay can be defined and presented to the user as a possible choice for generating game fragments from it. For example, a zone of gameplay characterized by a high activity level for certain game state variables may define the user's choice of recorded gameplay. It should be understood that the activity level for a given game state variable can be based on various factors such as intensity level, frequency of activation, duration of hold, and so on. In some embodiments, the analysis of game state variables may make it necessary to search for areas of gameplay, where the activity levels of two or more different game state variables are related in a predefined manner, for example, two or more variables are simultaneously related. Has a high activity level. The high activity level can be determined based on a predefined threshold.
[0123] In various embodiments, the area of interest of the users recorded gameplay can be automatically determined based on threshold detection of any one or more of the following: one or more user input, user input Rate, frequency of input, repetition of input type, occurrence rate of input pattern, combined input (for example, key combination), motion vector, pressure applied on the controller, user's stimulus (for example, based on the user's captured image or Audio data is detected).
[0124] FIG. 14A illustrates a method for generating a game segment of a linear type video game according to an embodiment of the present invention. Broadly speaking, a linear video game is a video game in which the player's advancement through the video game follows a linear process, in which in order to advance through the video game, the player must complete the previous goal before advancing to the next goal. Therefore, all players must complete the same goal in the same order in order to progress through the video game. The goal in a linear video game can be related to both the geography and time location within the context of the spatiotemporal storyline of the video game. At method operation 1400, a scene of a video game is identified. The scene can be both spatial and temporal in nature, and has various goals defined within it. At method operation 1402, the space or time length of the scene is defined. The length of the scene can be defined according to user input, and the length of the scene can also be defined based on the target connected to the scene. At method operation 1404, define objects, characters, or assign special features to them
The initial characteristics of any other objects in the sexual scene. At method operation 1406, a game segment is generated for the identified length of the scene with the initial characteristics as previously defined.
[0125] FIG. 14B illustrates a method of generating a game segment of an open world video game according to an embodiment of the present invention. The development world video game can be characterized as a video game in which users freely pursue any number of goals in an order of their own choosing. Open-world video games usually allow users to navigate one or more virtual spaces at will. In order to progress to a complete video game at different levels of the video game, a certain set of goals may need to be completed. However, the user can freely complete these goals in different orders. At method operation 1410, a location within the virtual world of the video game is identified. At method operation 1412, a restricted portion of the virtual world is defined. The restricted portion of the virtual world may be defined based on user input that defines the selection of the recorded gameplay as already described herein. For example, a user's gameplay in an open world video game may involve a large number of locations during the course of the gameplay. However, for the purpose of generating game fragments, the user can select the part of the gameplay that occurs within the restricted geographic area of the virtual world of the video game. This restricted geographic area can be determined based on the analysis of the user-selected part of the recorded gameplay, for example by tracking the location of a user-controlled character in the virtual world, and defining all locations where the character has been found to exist. boundary. At method operation 1414, define various objects, characters, objects, vehicles, or search within restricted geographic areas previously determined from the users recorded gameplay selections. The initial characteristics of any other objects to the At method operation 1416, a game segment is generated based on the restricted geographic area of the open world and the previously defined characteristics.
[0126] FIG. 14C illustrates a method for generating game segments of a sports video game according to an embodiment of the present invention. The game segment may be generated based on user-defined selections of the game play recorded by the user. At method operation 1420, settings are identified based on the user's selection of recorded gameplay. For example, the setting can define the location of a sporting event, such as a stadium, a stadium, a race track, or any other setting where a sporting event of a video game can take place. At method operation 1422, a time period is defined based on the user's selection of recorded gameplay. The time period defines the portion of time for which the game segment will be generated, and may be defined based on the user's selection of the recorded game play. The time period of a sports video game can determine certain aspects of the video game segment, such as including special rules or activities that occur during certain time periods during sports. At method operation 1424, the player of the game segment is determined based on the players included in the user's recorded gameplay selection. The player may include one or more characters that have been defined by the user, as well as artificial intelligence (AI) characters, which are controlled by the AI character control logic that executes the video game during gameplay time. As described elsewhere in this article, in some examples, the actions of the AI character can be approximated. And in some embodiments, parameters such as defined in the user's recorded gameplay selection are used to define AI character control logic for the game segment. At method operation 1426, define A scene attribute set by the location of the sports video game segment. For example, these attributes may include attributes such as weather, track or stadium conditions, and other attributes set by sports. At method operation 1428, a game segment of the video game is generated based on the aforementioned parameters.
[0127] FIG. 15 conceptually illustrates the formation of a multi-game segment game according to an embodiment of the present invention. Video games can be organized into various levels or stages. In the illustrated embodiment, the gameplay of users from various levels of the video game is shown. Specifically, the game play timeline 1500 represents the game play of users from the first level of the video game, while the game play timeline 1502 and the game play timeline 1506 represent the users play from the second and third levels of the video game, respectively. Gameplay. According to an embodiment of the present invention, a user can link multiple game segments from a video game to form a larger multi-game segment mini game. In the illustrated embodiment, a selection 1502 from the user's gameplay timeline 1500 is used to define the first game segment 1514. The second game segment 1818 is defined using the selection 1504 of the gameplay timeline 15 from the two users. And use the selection 1508 from the users gameplay timeline 1506 to define the third
Game fragment 1522. The first, second, and third game segments are arranged in a sequential order to define a mini game 1510. In doing so, the mini game 1510 contains game fragments from each of the first, second, and third levels of the video game. In this way, a user who plays the mini game 1510 can experience multiple levels of restricted parts of the video game by finishing playing the mini game 1510. This can be useful in providing a more compelling preview or demo of a video game than a regular game demo, where the user can only play a portion from a level or stage of the video game. The experience is similar to the experience of a movie trailer, which usually provides clips from different parts of the same movie, not just a single clip. According to an embodiment of the present invention, a user can enjoy a multi-part game presentation, which provides a better feeling of the scope of a full video game, and can characterize the gameplay in a continuous manner from one part to the next.
[0128] In one embodiment, the user may insert additional materials before or after the game segment, such as user-defined videos, messages, images, or any other types of information. In the illustrated embodiment, an introduction 1512 for introducing the player to the mini game 1510 and perhaps also to the first game segment 1514 is provided. In addition, a message 1516 is inserted between the first game segment 1514 and the second game segment 1518, and another message 1520 is inserted between the second game segment 1518 and the third game segment 1522. In one embodiment, the inserted material may include a recorded gameplay video of the gameplay of the original user from which the game segment was generated. If the recorded gameplay is shown before the game segment is played, the player who started the game segment can better understand the game segment and its goals before starting the gameplay, and if it is shown after the gameplay of the game segment , Then the player can understand how his gameplay of the game segment compares with the original users gameplay.
[0129] FIG. 16 conceptually illustrates the generation of a multi-game segment simulation game according to an embodiment of the present invention. In the illustrated embodiment, the recorded game play timeline 1600 of the user of Game A, the recorded game play timeline 1604 of the user of Game B, and the recorded game play timeline 1608 of the user of Game C are shown. In one embodiment, the user can generate a multi-game segment mini game based on game segments from different video games. In the illustrated embodiment, the selection 1602 of the user's recorded game play 1600 is used to define the game segment 1616, and the selection 1606 from the user's recorded game play 1604 is used to define the game segment 1620, and all the selections from the user are used. Record the selection 1610 of the game play 1608 to define the game segment 1624. Game segments 1616, 1620, and 1624 are sequentially arranged to define a simulation game 1612. Optionally, additional material can be inserted before or after the game segment. In the illustrated embodiment, the introduction 1614 is inserted before the game segment 1616, the episode 1618 is defined between the game segment 1616 and the game segment 1620, and another episode 1622 is defined between the game segment 1620 and the game segment 1624.
[0130] In the illustrated embodiment, it will be understood that game segments are taken from different video games. This allows users to have greater flexibility to mix game fragments from across different game tiles, genres, and even console platform generations. For example only, a user may create a simulation game with game fragments from each of several game tiles in a single video game series. In this way, players of simulation games can experience and appreciate the evolution of the video game series with a continuous gameplay experience.
[0131] The embodiments of the present invention have been generally described with reference to a cloud-based gaming system. However, those skilled in the art should understand that similar concepts and principles as described herein can be applied to traditional console-based video game systems, possibly combined with cloud-based game systems. For example, a user may play a console-based video game and have the user's gameplay input data and game retention metadata recorded during the gameplay. Based on the user's gameplay input data and game state metadata, the actual gameplay output of the video game can be regenerated at a later time. Therefore, the recorded input data and game state metadata can be utilized in conjunction with the video game code to provide an interface for selecting a part of the user's gameplay from which the mini-game is generated, as already described. Can generate simulation game code at the console and upload it
Upload to the cloud system and make it available for download by other users. In another embodiment, the cloud system generates the simulated game code after receiving the selected part of the user's gameplay input data and the game state metadata. The cloud system processes the input data of the user's game play and selected parts of the game state metadata to generate simulated game codes based on the video game codes stored in the cloud system. Once generated, simulation games can be made available for cloud-based games, where the execution of simulation games takes place in a cloud-based system, but mini games can also be made available for downloading to traditional console-based systems for the purpose of Execute on the console to promote console-based gameplay of mini games. In this way, simulated games can be created and played by both users of console-based video game systems and users of cloud-based video game systems.
[0132] The embodiments of the present invention have been generally described with reference to the simulated game or trial user-defined part of the video game. However, those skilled in the art will understand that many of the principles described in this article are applicable to the generation and sharing of recorded gameplay, including sharing recorded gameplay videos, screenshots, and live streaming of active gameplay. . In some embodiments, providing access to a mini game (eg, in response to receiving a notification) may include the presentation of a recorded video of the original user's gameplay that forms the basis of the simulated game. In other embodiments, an interface for facilitating the sharing of the user's gameplay to the user's social graph is contemplated.
[0133] In one embodiment, a method for storing gameplay is contemplated. The game play may be executed by the operating system of the game console in response to a user request, which may be in the form of a standard file operation with respect to a set of data associated with the desired game play. The request may be transmitted from an application program associated with the game. Gameplay may include, for example, video content, audio content, and/or static visual content, including wallpapers, themes, code "additional" content, or any other type of content associated with the game. It is expected that this content can be generated by users or developers, free or paid, full version or demo version, and/or for sale or for rent.
[0134] It can be buffered, that is, a part of the game play is temporarily stored. For example, as described further herein, the first 15 seconds of gameplay, previously completed levels, and previous actions can be temporarily stored. The term "portion" as used herein may correspond to any related or any group of any part of the gameplay that may be divided into single or multiple data bits or bytes. For example, "parts" of gameplay may correspond to levels, chapters, scenes, behaviors, characters, backgrounds, textures, courses, actions, songs, themes, duration, size, files, parts thereof, and combinations thereof. In addition, part of the gameplay may include screenshots of video captures or prescribed durations.
[0135] In one embodiment, part of the gameplay may be stored locally on the game console, in a temporary or permanent storage device. Alternatively or additionally, part of the gameplay can be transmitted via the network and stored remotely. For example, part of the gameplay can be transmitted to another computing device, to another game console, or to a remote server via a wireless or wired network. Such remote servers may include social media servers.
[0136] Optionally, portions of the gameplay that are not retrieved from the buffer or portions of the gameplay that are outside of a specific game interval (eg, specific duration, level, chapter, course, etc.) may be removed from the buffer. Standard file operations on the operating system can be used to complete this removal process.
[0137] The portion of the game play may be displayed on any of several display devices that have access to the stored game play. For example, the stored game play may be displayed on a television connected to the game console from which the game play was captured. In another example, the stored game play may be displayed on the computer to which the stored game play was transmitted. The stored game play can be displayed alone or combined with other information, for example, displayed on a social media website. [0138] In one embodiment, a portion of the game play is displayed by another game console associated with a user other than the user who buffered or captured the game play. According to this embodiment, from the point of view of the first user, the part of the gameplay may show that the ball is being thrown from the first user to the second user. The part of the gameplay can then be launched to the second user
Users game console. Therefore, the second user can then watch the game play from the first user's point of view. The second user may also have the part of the stored gameplay showing the ball being thrown by the first user and received by the second user (from the second user's point of view). In this embodiment, the second user can review the game play from both the first user's point of view and the second user's point of view. Furthermore, the part of the game play stored by the second user can be transmitted to the game console of the first user, so that the first user can review the game play from two viewpoints. This embodiment can be applied to any number of users with any number of viewpoints, so the gameplay can be reviewed from any number of different angles.
[0139] Regarding the storage, transmission, and/or display of the part of the game play as described herein, it is expected that the part of the game play can be stored, transmitted, and displayed as image or video data. However, in another embodiment, the part of the gameplay can be stored and transmitted as telemetry or metadata representing the image or video data, and can be recreated as an image or video by a game console or other device before being displayed.
[0140] In some embodiments, the portion of the game play has a predetermined relationship with the executed game play. For example, the portion of the game play may correspond to a certain amount of the game play before the currently executed game play, such as the first 10 seconds of the game play. In another embodiment, the first part of the game play has a predetermined relationship with the second part of the game play. For example, the first part of the gameplay may correspond to a certain amount of gameplay before the receipt of the request to capture the second part of the gameplay, such as 10 seconds of the gameplay before the selection of the capture button. In each of these embodiments, the user can configure and adjust the amount of gameplay buffered before the current gameplay or the requested gameplay according to his or her specific preferences.
[0141] In other embodiments, the buffer is "smart" or "elastic" so that it captures gameplay based on variables, regardless of time. In one such embodiment, the first part of the gameplay has a predetermined relationship with events related to the gameplay. For example, the first part of the gameplay can be buffered to include statistical anomalies, such as reaching a high score, collecting larger points in a short amount of time, multiple selections of buttons on the controller, and other rare events. Such statistical anomalies can be determined by comparing gameplay metrics with specific games or scenarios or average metrics for all games in general. These average metrics can be stored locally or remotely for comparison. For example, a game console may track the global high score of a particular game and buffer gameplay in which the user approaches and exceeds the high score. In another example, a remote server may track the global high score for a particular game, and may transmit the information to the game console, which buffers gameplay in which the user approaches and exceeds the high score.
[0142] In another example, portions of the gameplay may be buffered to include achievements, such as prizes being won or other landmarks being reached. Such prizes or landmarks commemorate any goal or game achievement, such as a certain point being earned. A certain level being reached, etc. For example, gameplay can be buffered to include the award of prizes that reach level 10, reach 100,000 points, and so on.
[0143] Similarly, progress to reach an event and the actual achievement of prizes or statistical anomalies can be buffered to be included in the part of the gameplay. For example, screenshots can be taken at each of the ranks from one to 10, thereby creating an album to commemorate the receipt of prizes reaching rank 10. In another example, a video of the user winning the game from the first to the fifth time can be recorded, and the prizes are awarded for five times of the winning.
[0144] Therefore, according to an embodiment of the present invention, at least a part of the executed game play may always be kept in the running buffer. In other words, when a request to share a part of the game play is received, it may have been captured that a part of the previous game play already contains the previous size. For example, if a request to share gameplay is received after the user has crossed the finish line in a game, the buffered gameplay may include the number of feet the user has crossed the finish line. In other words, the user will be able to capture the moment before the request to share gameplay is made.
[0145] FIG. 17 illustrates an interface for sharing game play according to an embodiment of the present invention. The interface 1700 as shown in the figure contains various selectable icons to facilitate sharing with the user's friends (eg, members of the user's social graph). In one embodiment, the interface 1700 can be accessed from a dedicated button on the controller device. When the button is pressed during gameplay, an interface 1700 may be presented to enable users to share their gameplay.
[0146] Icon 1702 can be selected to initiate uploading of screenshots from the user's gameplay. In one embodiment, the area 1704 of the icon 1702 is filled with representative screenshots from the user's recent gameplay, thereby providing a small preview of the shareable screenshots. In one embodiment, the selection of the icon 1702 may provide access to an additional screenshot selection interface, which allows the user to select a specific screenshot from the user's recorded gameplay to share to the user's social graph. This can take the form of a navigable gameplay video timeline, which can be traversed or navigated to identify specific time points in the gameplay and its corresponding screenshots. [0147] The icon 1706 can be selected to initiate uploading of a video of the user's gameplay. The area 1708 of the icon 1706 can be configured to display representative video clips from the user's recent gameplay, such as the last 5 seconds of the user's gameplay, recent achievements, etc., thereby displaying videos from the user's gameplay that can be shared with others A small preview of the clip.
[0148] Icon 1710 can be selected to initiate live video streaming of the user's active gameplay. In one embodiment, the selection of the icon 1710 will trigger the restart of the user's gameplay and at the same time initiate the live video streaming of the user's gameplay. In another embodiment, the selection of the icon 1710 provides access to the interface to determine the settings of the streaming video broadcast, such as who the streaming video will be shared with, and whether or not it includes a local locale that is scheduled to show the user during gameplay. The video stream of the image capture device, whether to enable comments, etc.
[0149] It will be appreciated that a user can share one or more specifically selected friends, to their entire social graph, or any user who shares gameplay (for example, selected screenshots, videos, or live gameplay streams) to a social network . The social network may be a game social network associated with the platform on which the video game runs, or a third-party social network that exists separately from the video game or its platform. The social network can be accessed through APIs that are defined to allow interaction with the social network. Users who have shared gameplay with them can receive notifications that inform them of the gameplay they have shared. This notification can take the form of posts related to social news feeds, private messages via social networks, in-game notifications, emails, chat notifications, etc. The sharing of gameplay to a social network may make it necessary to make gameplay available to the social network, or may be other sub-integrations of the user who share part of the user's social graph. For example, for a given video game, the gameplay can be shared or made available to any user on a social network who also owns the video game and is therefore granted access to the shared gameplay of the video game. This shared gameplay can be accessed through online forums, chat rooms, or other online channels available only to players of video games. In one embodiment, the video game may have a dedicated page or site on the social network. The shared gameplay can be made available to users who access the page or site of the video game. Of course, it will be understood that from the perspective of sharing users, Provides options that allow users to specify and customize to whom and what forums their gameplay will be shared.
[0150] FIG. 18 illustrates an interface 1800 for selecting a portion of a recorded gameplay video to share according to an embodiment of the present invention. The interface 1800 includes a preview area 1802 that loops a preview of the currently selected portion of the video from the user's gameplay. The screenshots 1804, 1806, 1808, 1810, and 1812 are positioned adjacent to each other in the order of year, month, and day to define a timeline of the screenshot indicating the content of the gameplay video. The respective screenshots 1804, 1806, 1808, 1810, and 1812 may be image frames extracted from the gameplay video at regular intervals. The screenshot timeline can be scrolled right or left to show extra frames before or after those currently displayed. Marks 1814 and 1816 indicate the start point and end point of the currently selected video clip (or section or part). The currently selected video clip can always be played back repeatedly in the preview area 1802, as noted.
[0151] In one embodiment, buttons 1818 and 1820 can be selected to decrease or increase the duration of the selected video portion, respectively. The preview option 1822 can be selected to trigger the replay of the full-screen preview of the currently selected video clip. The finishing option 1824 can be selected to access additional video finishing features.
[0152] FIG. 19 illustrates an interface 1900 for viewing a live video stream of a user's game play according to an embodiment of the present invention. At reference 1902, the name and/or alias of the user who is streaming his gameplay is shown. At reference 1904, the number of users currently watching the live video stream is shown. The live video stream of the user's game play is displayed in the video display area 1906. In addition, a live user video 1908 may be included, which shows a live video of an actual user whose game play is being streamed live. The command option 1910 can be selected to allow the viewing user to issue commands that affect the video game, or even take over control of the streaming user's gameplay. It will be understood that the issuance of commands in the game or the remote control of the user's game play may require a pre-defined or requested permission at the game play time from the user playing the game to allow the viewing user to perform such operations.
[0153] Option 1912 allows the viewing user to join the streaming user's gameplay. Also, option 1914 enables viewing users to purchase video games in progress.
[0154] In addition, the interface may include a comment column 1916, which displays comments from users watching the live video stream, which indicates the time of each comment. A comment input field 1918 is provided for viewing users to input the text of the comment to be posted. And, press the send button 1920 to upload the comment for viewing by live streaming users and others who watch the live video stream. [0155] Although embodiments of the present invention have been described with reference to various interfaces for sharing from dedicated button press access, it will be appreciated that in other embodiments, some or all of these interfaces may not be needed to facilitate Share gameplay to users social graphs. For example, in one embodiment, the controller button may be configured to capture a screenshot of the user's gameplay when pressed. Then automatically upload and share the captured screenshots to the user's social graph.
[0156] In another embodiment, pressing a specific button on the controller initiates the recording of the gameplay video. When the specific button is pressed for the second time, the recording of the gameplay video stops, and the video clip can be uploaded and shared to the user's social graph. In one embodiment, the uploading and sharing of the video clip to the user's social graph may automatically occur after the termination of the video recording operation. However, in another embodiment, when a specific button is pressed a second time to stop recording, an interface is presented that allows the user to customize various options, such as trimming the video, selecting a representative screenshot for the video, and determining what to share with it. Describe the specific user of the video, add a title or title, etc. After user customization, the video can be shared with others, or made available for viewing in other ways.
[0157] In one embodiment, a specific button on the controller may be configured to share the predefined duration of the gameplay video on the social network. For example, the user can specify when to press the button, and the first 10 seconds of the gameplay video will be shared on the user's social graph. In another embodiment, when the button is pressed, the next 10 seconds of the gameplay video will be recorded and shared to the social graph. It should be appreciated that options for trimming the video and performing other types of customization may be applicable to the recorded gameplay video. In addition, the recorded gameplay video of the predefined duration after the button trigger can be combined with the previously buffered gameplay video as already described.
[0158] In yet another embodiment, a specific button on the controller device may be configured to initiate live video streaming of the user's active gameplay. Live video streaming can be predefined so that it can only be used by members of the users social graph, or can be used by other smaller or larger user groups, such as a specific subset of the users social graph, owning the same video game, or All users who have access to the same video game in other ways, any user of the game platform, etc.
[0159] Automatic generation of simulated games suggested for cloud games based on recorded gameplay
[0160] In one embodiment, a method for generating a trial limited version of a video game is provided, which includes:
The following method operations: record the user's gameplay of the full version of the video game; analyze the user's recorded gameplay to determine the area of interest; define the boundary of the video game's gameplay situation based on the determined area of interest; and based on the defined boundary A restricted version of the video game is produced; wherein the method is executed by a processor.
[0161] In one embodiment, recording the user's game play includes recording one or more of user input data or game state data. In one embodiment, analyzing the user's game play includes determining the activity level of user input data or game state data, and the area of interest is an area having an activity level exceeding a predefined threshold.
[0162] In one embodiment, defining a boundary within the gameplay context of the video game includes defining a spatial boundary within the virtual space of the video game. In one embodiment, the space boundary within the virtual space of the video game defines a portion of the virtual space that is smaller than the entirety of the virtual space, the portion of the virtual space having a subset of the characteristics of the virtual space.
[0163] In one embodiment, defining a boundary within the gameplay context of the video game includes defining a time boundary within the temporal context of the video game.
[0164] In one embodiment, defining the boundary includes identifying the nearest starting point or the nearest ending point of a stage, level, or scene.
[0165] In one embodiment, analyzing the recorded game play of the user includes: determining a user game state setting based on the recorded game play of the user; and generating a limited version of the video game includes setting based on the determined user game state Define the limited version of the video game to have an initial game state setting.
[0166] In one embodiment, the region of interest is automatically identified based on the correspondence with one or more thresholds. In one embodiment, at least one of the thresholds is associated with user input, rate of user input, frequency of user input, repetition of user input, input pattern, gameplay situation and sharing with other users, social networking One or more of the posting of comments related to gameplay, or the popularity of the part of the video game based on the social network sharing rating.
[0167] In another embodiment, a method for generating a trial-play limited version of a video game is provided, which includes the following method operations: recording the user's gameplay of the full version of the video game; analyzing the user's recorded game Gameplay determines one or more areas of interest; presents each of the areas of interest for selection; receives a selection input indicating the selected area of interest; for the selected area of interest, defines the gameplay of the video game based on the selected area of interest Borders within the territory; and generating a limited version of the video game based on the defined borders; wherein the method is executed by a processor.
[0168] In one embodiment, recording the user's game play includes recording one or more of user input data or game state data. In one embodiment, analyzing the recorded game play of the user includes determining the activity level of the user input data or game state data, and each area of interest is an area having an activity level exceeding a predefined threshold.
[0169] In one embodiment, analyzing the user's recorded gameplay includes determining user game state settings based on the user's recorded gameplay; and generating a limited version of the video game includes defining based on the determined user game state settings The limited version of the video game is set to have an initial game state.
[0170] In one embodiment, each region of interest is automatically identified based on the correspondence with one or more thresholds.
[0171] In another embodiment, a method for generating a trial limited version of a video game is provided, which includes the following method operations: recording a full version of the user gameplay of the video game, wherein recording the user gameplay includes : Record one or more of user input data or game state data; analyze the users recorded game play to determine one or more areas of interest, wherein each area of interest is automatically identified based on the correspondence with one or more thresholds ; Present each of the areas of interest for selection; receive a selection input indicating the selected area of interest; for the selected area of interest, define the boundary of the gameplay of the video game based on the selected area of interest; based on the defined boundary Produce limited versions of video games
This; wherein the method is executed by a processor.
[0172] In one embodiment, defining the boundary within the gameplay context of the video game includes defining the spatial boundary within the virtual space of the video game; the spatial boundary within the virtual space of the video game defines the virtual space that is smaller than the entirety of the virtual space. Part, the part of the virtual space has a subset of the characteristics of the virtual space.
[0173] In one embodiment, defining a boundary within the gameplay context of the video game includes defining a time boundary within the temporal context of the video game.
[0174] In one embodiment, defining the boundary includes identifying the nearest starting point or the nearest ending point of a stage, level, or scene.
[0175] In one embodiment, at least one of the thresholds is associated with user input, rate of user input, frequency of user input, repetition of user input, input mode, gameplay context and sharing with other users, social networking One or more of the posting of reviews associated with gameplay on the network, or the popularity of the part of the video game based on the social network sharing rating.
[0176] Generation of multi-part simulation game of cloud game based on recorded gameplay
[0177] In one embodiment, a method for generating a trial limited version of a video game is provided, which includes the following method operations: recording a full version of the video game's user gameplay; determining the user's recorded gameplay For each user-defined part, define the boundary of the gameplay situation of the video game based on the user-defined part; and generate the trial part of the video game based on the defined boundary; add the video game Each of the trial sections of the game are arranged in a series to define a limited version of the video game; wherein the method is executed by a processor. [0178] In one embodiment, determining the user-defined part of the recorded game play of the user includes: receiving a user-defined start point and a user-defined end point in the recorded game play of the user; and based on the received The user-defined start point and user-defined end point determine the user-defined part.
[0179] In one embodiment, recording the user's game play includes recording one or more of user input data or game state data. In one embodiment, generating the trial play portion of the video game includes: analyzing the game state data to identify code elements; and assembling the code elements to define executable code that defines the trial play portion of the video game.
[0180] In one embodiment, defining a boundary within the gameplay context of the video game includes defining a spatial boundary within the virtual space of the video game. In one embodiment, the space boundary within the virtual space of the video game defines a portion of the virtual space that is smaller than the entirety of the virtual firmware, and the portion of the virtual space has a subset of the characteristics of the virtual space.
[0181] In one embodiment, defining a boundary within the gameplay context of the video game includes defining a time boundary within the temporal context of the video game.
[0182] In one embodiment, the method further includes: for each user-defined part, analyzing the users recorded gameplay to determine the users game state setting; The determined user game state setting defines the trial play portion of the video game to have an initial game state setting.
[0183] In one embodiment, defining the boundary includes identifying the nearest starting point or ending point of one or more of the stages, levels, or scenes.
[0184] In one embodiment, the method further includes recording a user-defined video; wherein arranging the demo part of the video game includes arranging the user-defined video before or before one of the demo parts of the video game. Position within the subsequent series. In one embodiment, the user-defined video includes a video from at least one of the user-defined portions of the recorded game play of the user.
[0185] In another embodiment, a tangible computer-readable medium is provided, which contains on it for generating a video game
The trial play limited version of the program instructions, which includes the following: program instructions for recording the complete version of the user's gameplay of the video game; program instructions for determining multiple user-defined parts of the user's recorded gameplay; For each user-defined part, define the boundary of the gameplay situation of the video game based on the user-defined part, and generate program instructions for the trial part of the video game based on the defined boundary; Each of the trial sections of the game are arranged in series to define a limited version of the program instructions for the video game.
[0186] In one embodiment, determining each user-defined part of the recorded game play of the user includes: receiving a user-defined start point and a user-defined end point in the recorded game play of the user; and based on the received The user-defined start point and user-defined end point of the user-defined part determine the user-defined part.
[0187] In one embodiment, recording the user's game play includes recording one or more of user input data or game state data. In one embodiment, generating the trial portion of the video game includes: analyzing the game state data to identify code elements; and assembling the code elements to define executable code that defines the trial portion of the video game.
[0188] In one embodiment, the tangible computer-readable medium further includes: program instructions for analyzing the users recorded game play for each user-defined part to determine the users game state settings; and wherein the video is generated The trial play portion of the game includes defining the trial play portion of the video game based on the determined user game state setting to have an initial game state setting.
[0189] In another embodiment, a system is provided that includes the following: at least one server computing device, the at least one server computing device having logic for generating a trial limited version of a video game, Contains logic for recording the user gameplay of the full version of the video game; logic for determining multiple user-defined parts of the recorded gameplay of the user; for each user-defined part based on the user-defined Partly defines the boundaries of the gameplay of the video game and generates the logic of the trial portion of the video game based on the defined boundary; used to arrange each of the trial portions of the video game into a series to define the acceptance of the video game Only version logic.
[0190] In one embodiment, determining each user-defined part of the recorded game play of the user includes: receiving a user-defined start point and a user-defined end point in the recorded game play of the user; and based on the received The user-defined start point and user-defined end point of the user-defined part determine the user-defined part.
[0191] In one embodiment, recording the user's game play includes recording one or more of user input data or game state data. In one embodiment, generating the trial portion of the video game includes: analyzing the game state data to identify code elements; and assembling the code elements to define executable code that defines the trial portion of the video game.
[0192] In one embodiment, the logic further includes logic for analyzing the users recorded game play for each user-defined part to determine the users game state setting; and the trial play part that generates the video game includes The trial play portion of the video game is defined based on the determined user game state setting to have an initial game state setting.
[0193] Share the recorded gameplay to the social graph
[0194] In one embodiment, a method for sharing recorded gameplay to a social graph is provided, which includes the following method operations: during the active state of the gameplay session, recording a video of the user's gameplay; During the active state of the gameplay session, receive a command to initiate a sharing operation; in response to receiving the command, enter the pause state of the gameplay session and present the sharing interface; process the input received via the sharing interface to determine the recorded The user-defined selection of the video; the user-defined selection of sharing the recorded video to the user's social graph; the activity state of the gameplay session is restarted; wherein the method is executed by the processor.
[0195] In one embodiment, recording the video of the user's gameplay includes storing the video in the buffer during the active state of the gameplay session.
[0196] In one embodiment, the presentation sharing interface includes retrieving and presenting one or more parts of the video from the buffer.
[0197] In one embodiment, the sharing interface includes a duration selector for defining the duration of the user-defined selection.
[0198] In one embodiment, sharing the selection includes uploading the selection so as to be available on a social network service that defines the social graph of the user.
[0199] In one embodiment, uploading the selection includes compressing the selection and uploading the compressed selection.
[0200] In one embodiment, sharing the selection includes generating a notification to members of the user's social graph.
[0201] In one embodiment, the notification consists of private messages, chat messages, in-game notifications, postings related to social news feeds, and emails.
[0202] In one embodiment, sharing the selection includes presenting the selection on the user's profile page.
[0203] In one embodiment, a button press on the slave controller device defines receiving a command to initiate a sharing operation.
[0204] In another embodiment, a method for sharing the recorded gameplay to a social graph is provided, which includes the following method operations: recording a video of the user's gameplay during the active state of the gameplay session Receive a command to initiate a sharing operation during the active state of the gameplay session; in response to receiving the command, determine the user-defined selection of the recorded video; share the user-defined user-defined of the recorded video to the user's social graph Selection; wherein the method is executed by the processor.
[0205] In one embodiment, recording the video of the user's gameplay includes storing the video in the buffer during the active state of the gameplay session.
[0206] In one embodiment, determining the user-defined selection of the recorded video includes retrieving and presenting the video from the buffer, and processing user input that identifies a portion of the video.
[0207] In one embodiment, sharing the selection includes uploading the selection so as to be available on a social network service that defines the social graph of the user.
[0208] In one embodiment, a button press on the slave controller device defines receiving a command to initiate a sharing operation.
[0209] In another embodiment, a non-transitory computer-readable medium is provided on which program instructions for sharing the recorded gameplay to the social graph are defined. The program instructions include: program instructions for recording a video of the user's gameplay during the active state of the gameplay session; program instructions for receiving a command to initiate a sharing operation during the active state of the gameplay session; A program instruction for determining the user-defined selection of the recorded video in response to receiving the command; a program instruction for sharing the user-defined selection of the recorded video to the user's social graph.
[0210] In one embodiment, recording the video of the user's gameplay includes storing the video in a buffer during the active state of the gameplay session.
[0211] In one embodiment, determining the user-defined selection of the recorded video includes retrieving and presenting the video from the buffer, and processing user input that identifies a portion of the video.
[0212] In one embodiment, sharing the selection includes uploading the selection so as to be available on a social network service that defines the social graph of the user.
[0213] In one embodiment, a button press on the slave controller device defines receiving a command to initiate a sharing operation.
[0214] Remote control of the game play of the first user by the second user
[0215] In one embodiment, a method for providing remote control of a user's game play is provided, the
The method includes the following method operations: presenting a live video feed of the game play of the first user to a remote second user; processing a request to transfer control of the game play of the first user to the second user; initiating the second user to the first user Control of the user's game play; wherein the method is executed by at least one processor.
[0216] In one embodiment, initiating the second user's control of the first user's gameplay includes revoking the first controller device associated with the first user's control of the first user's gameplay; and initiating and The second controller device associated with the second user controls the game play of the first user.
[0217] In one embodiment, the second controller device's control of the game play of the first user includes receiving an input command from the second controller device, and applying the input command to define the game play of the first user.
[0218] In one embodiment, the live video feed is presented to the second user through a social interface that provides access to the social graph of the second user, defining the first user as the social graph of the second user the member of.
[0219] In one embodiment, the social interface includes a comment interface for commenting during the game play of the first user.
[0220] In one embodiment, processing the request to transfer control includes receiving a confirmation from the first user to allow the second user to control the first user's game play.
[0221] In one embodiment, the live video feed in which the game play of the first user is presented to the second user includes presenting the live video feed in a non-full-screen format; and the second user's control of the game play of the first user is initiated Contains triggering the presentation of live video feeds in full-screen format.
[0222] In another embodiment, a method for providing multi-player gameplay is provided, which includes the following method operations: presenting to a remote second user a live video feed of a first users gameplay session; The second user requests to join the game play session of the first user; the game play is initiated by the second user in the game play session of the first user; wherein the method is executed by at least one processor.
[0223] In one embodiment, the initiation of the gameplay by the second user in the gameplay session of the first user includes initiating a multi-player mode of the video game.
[0224] In one embodiment, the live video feed is presented to the second user through a social interface, the social interface provides access to the second users social graph, and the first user is defined as the second users Member of the social graph.
[0225] In one embodiment, the social interface includes a comment interface for commenting during the game play of the first user.
[0226] In one embodiment, processing the request to join the first user's gameplay session includes receiving a confirmation from the first user to allow the second user's gameplay in the first user's gameplay session.
[0227] In one embodiment, presenting the live video feed of the first user's gameplay to the second user includes presenting the live video feed in a non-full-screen format; and initiating the second user's game in the first user's gameplay session The gameplay involves triggering the presentation of live video feeds in full-screen format.
[0228] In another embodiment, a non-transitory computer-readable medium containing program instructions thereon is provided, the program instructions are used to provide remote control of a user's game play, and the program instructions include: Program instructions for presenting a live video feed of the game play of the first user to a remote second user; program instructions for processing a request to transfer control of the game play of the first user to the second user; A program instruction to start the second user's control of the first user's game play.
[0229] In one embodiment, initiating the second user's control of the first user's gameplay includes revoking the first controller device associated with the first user's control of the first user's gameplay; and initiating and Associated with the second user
The second controller device controls the game play of the first user.
[0230] In one embodiment, the second controller device's control of the game play of the first user includes receiving an input command from the second controller device, and applying the input command to define the game play of the first user.
[0231] In one embodiment, the live video feed is presented to the second user through a social interface that provides access to the social graph of the second user, defining the first user as the social graph of the second user the member of.
[0232] In one embodiment, the social interface includes a comment interface for commenting during the game play of the first user.
[0233] In one embodiment, processing the request to transfer control includes receiving a confirmation from the first user to allow the second user to control the first user's game play.
[0234] In one embodiment, presenting the live video feed of the game play of the first user to the second user includes presenting the live video feed in a non-full-screen format; and initiating control of the game play of the first user by the second user includes Trigger the presentation of the live video feed in full-screen format.
[0235] FIG. 20 illustrates hardware and user interfaces that can be used to provide interactivity with video games in accordance with one embodiment of the present invention. FIG. 20 schematically illustrates the overall system architecture of a Sony® Playstation® entertainment device according to an embodiment of the present invention, which is a console compatible with the control device and the computer program executed on the basic computing device. A system unit 2000 is provided, which has various peripheral devices connectable to the system unit 2000. The system unit 2000 includes: a unit processor 2028; a Rambus® dynamic random access memory (XDRAM) unit 2026; a reality synthesizer graphics unit 2030, which has a dedicated video random access memory (VRAM) unit 2032; and an I/O bridge 2034. The system unit 2000 also includes a Blu Ray® Disk BD-ROM® optical disc reader 2040 for reading from a magnetic disk 2040a accessible through an I/O bridge 2034 and a removable hard disk drive (HDD) 2036. Optionally, the system unit 2000 further includes a memory card reader 2038 for reading compressed flash memory cards, Memory Stick® memory cards, etc., which are similar to those that can be read via the I/O bridge 2034.
[0236] The I/O bridge 2034 is also connected to six Universal Serial Bus (USB) 2.0 ports 2024; Gigabit Ethernet port 2022; IEEE 802.11b/g wireless network (Wi-Fi) port 2020; and Supports up to seven Bluetooth® wireless link ports 2018 for Bluetooth connections.
[0237] In operation, the I/O bridge 2034 handles all wireless, USB, and Ethernet data, including data from one or more game controllers 2002 to 2003. For example, when the user is playing a game, the I/O bridge 2034 receives data from the game controller 2002 to 2003 via a Bluetooth link and directs it to the unit processor 2028, which updates the current state of the game accordingly.
[0238] The USB and Ethernet ports also provide connectivity for other peripheral devices in addition to the game controller 2002 to 2003, such as: remote control 2004/; keyboard 2006; mouse 2008; portable entertainment device 20 10, such as Sony Playstation Portable ®Entertainment device; video camera, such as EyeToy® video camera 2012; microphone headset 2014; and microphone 2015. Such peripheral devices can therefore be wirelessly connected to the system unit 2000 in principle; for example, the portable entertainment device 2010 can communicate via a dedicated connection via Wi-Fi, and the microphone headset 2014 can communicate via a Bluetooth link.
[0239] The provision of these interfaces means that the Playstation 3 device is also potentially compatible with other peripheral devices, such as digital video recorders (DVR), set-top boxes, digital cameras, portable media players, IP voice phones, mobile Phone, printer and scanner.
[0240] In addition, the conventional memory card reader 2016 can be connected to the system unit via the USB port 2024, so as to realize the reading of the type of memory card 2048 used by the Playstation® or Playstation 2® device.
[0241] The game controllers 2002 to 2003 are operable to wirelessly communicate with the system unit 2000 via a Bluetooth link, or connect to a USB port, thereby also providing power to charge the battery of the game controllers 2002 to 2003. Game controllers 2002 to 2003 can also include memories, processors, memory card readers, permanent memories such as flash memory, light emitters (such as illuminated spherical parts, LEDs or infrared light), and devices for ultrasonic communication Microphones and speakers, soundproof boxes, digital cameras, internal clocks, recognizable shapes such as spherical parts for game consoles, and wireless communication using protocols such as Bluetooth®, WiFiTM, etc.
[0242] The game controller 2002 is a controller designed to be used in combination with two hands, and the game controller 2003 is a one-handed controller with accessories. In addition to one or more analog joysticks and conventional control buttons, game controllers are susceptible to three-dimensional position determination. Therefore, the gestures and movements of the user of the game controller can be translated into input to the game in addition to or instead of the conventional buttons or joystick commands. Optionally, other wirelessly enabled peripheral devices such as PlaystationTM portable devices can be used as the controller. In the case of a PlaystationTM portable device, additional game or control information (for example, control instructions or number of lives) can be provided on the screen of the device. Other alternative or supplementary control devices can also be used, such as dancing mats (not shown), light guns (not shown), steering wheels and pedals (not shown), or custom-made controllers, such as individual controllers for quick response to intellectual games Or several large buttons (also not shown).
[0243] The remote control 2004 is also operable to communicate wirelessly with the system unit 2000 via a Bluetooth link. The remote control 704 includes the operation of the Blu RayTM disc BD-ROM reader 2040 and the navigation of the disc content.
[0244] The Blu RayTM disc BD-ROM reader 2040 is operable to read CD-ROMs compatible with game consoles and game console 2 devices, as well as conventional pre-recorded and recordable CDs, and so-called super audio CDs. The reader 2040 is also operable to read DVD-ROM compatible with the gaming machine 2 and gaming machine 3 devices, as well as conventional pre-recorded and recordable DVDs. The reader 2040 is further operable to read BD-ROM compatible with the gaming machine 3 device, as well as conventional pre-recorded and recordable Blu-ray discs.
[0245] The system unit 2000 is operable to supply audio and video generated or decoded by the gaming machine 3 device via the reality synthesizer graphics unit 2030 to the display and sound output device 2042 through the audio and video connections, for example, having a display 2044 and one or A monitor or TV with more than one speaker 2046. The audio connector 2050 may include conventional analog and digital outputs, while the video connector 2052 may differently include component video, S-video, composite video, and one or more high-definition multimedia interface (HDMI) outputs. Therefore, the video output can be in formats such as PAL or NTSC, or in 720p, 1080i or 1080p high definition.
[0246] Audio processing (generation, decoding, etc.) is performed by the unit processor 2028. The operating system of the game console 3 device supports Dolby® 5.1 surround sound, Dolby® Theater Surround (DTS) and decoding of 7.1 surround sound from Blu-Ray® disks.
[0247] In the embodiment of the present invention, the video camera 2012 includes a single charge coupled device (CCD), an LED indicator, and hardware-based real-time data compression and encoding equipment, so that the compressed video data can be formatted appropriately (for example, based on image MPEG (Moving Picture Experts Group) standard) is transmitted for the system unit 2000 to decode. The camera LED indicator is arranged to illuminate in response to appropriate control data from the system unit 2000, for example to indicate adverse lighting conditions. The embodiment of the video camera 2012 may be variously connected to the system unit 700 via a USB, Bluetooth, or Wi-Fi communication port. An embodiment of a video camera may include one or more associated microphones, and is also capable of transmitting audio data. The embodiment of the video camera
Among them, the CCD may have a resolution suitable for high-definition video capture. In use, the image captured by the video camera can be incorporated in the game, for example, or interpreted as game control input. In another embodiment, the camera is an infrared camera suitable for detecting infrared light.
[0248] Generally, in order to successfully communicate with a peripheral device such as a video camera or a remote control via one of the communication ports of the system unit 2000, an appropriate software, such as a device driver, should be provided. The device driver technology is well known and will not be described in detail here, except that the skilled person will know that a device driver or similar software interface may be required in the described embodiments of the invention.
[0249] FIG. 21 illustrates additional hardware that can be used to process instructions according to one embodiment of the invention. The unit processor 2028 has an architecture including four basic components: an external input and output structure, which includes a memory controller 2160 and dual-bus interface controllers 2170A, B; a main processor, which is called a power processing element 2150; The processors are called co-processing elements (SPE) 2110A to H; and the cyclic data bus connecting the above-mentioned components is called a component interconnection bus 2180. The total floating point performance of the unit processor is 218 GFLOPs, which is compared with the 6.2 GFLOPs of the emotion engine of the game machine 2 device.
[0250] The power processing element (PPE) 2150 is based on a bidirectional simultaneous multithreading power 570 compliant power PC core (PPU) 855 that runs in conjunction with an internal clock of 3.2GHz. The PPE 2150 includes a 512kB level 2 (L2) cache memory and a 32kB level 1 ( L1) Cache memory. The PPE 2150 can perform eight single-position operations per clock cycle, which translates into a 3.2 GHz 25.6 GFLOP°. The main role of the PPE 2150 is to act as a controller for the co-processing elements 2110A to H, which handles most of the computing workload. In operation, PPE 1250 maintains a job queue, schedules jobs from the cooperative processing element 2110A to H, and monitors its progress. Therefore, each co-processing element 2110A to H runs a kernel whose role is to take a job, execute the job, and synchronize with the PPE 1250.
[0251] Each cooperative processing element (SPE) 2110A to H includes a corresponding cooperative processing unit (SPU) 2120A to H, and a corresponding memory flow controller (MFC) 2140A to H, which in turn includes a corresponding dynamic memory access Controllers (DMAC) 2142A to H, corresponding memory management units (MMU) 2144A to H, and bus interfaces (not shown). Each SPU 2120A to H is a RISC processor clocked at 3.2 GHz, and includes 256 kB of local RAM 2130A to H, which can be expanded to 4 GB in principle. Each SPE gives the theory of single-precision performance. The 25.6 GFLOPSoSPU can operate on 4 single-precision floating point members, 4 32-bit numbers, 8 16-bit integers, or 16 8-bit integers in a single clock cycle. In the same clock cycle, it can also perform memory operations. SPU 2120A to Η do not directly access the system memory XDRAM 2026; the 64-bit address formed by SPU 2120A to Η is transferred to MFC 2140A to Η, which instructs its DMA controller 2142A to Η to interconnect the bus 1280 and the memory controller 2160 via the component Access memory.
[0252] The element interconnection bus (EIB) 2180 is a logically circulating communication bus within the unit processor 2028, which connects the aforementioned processor elements, namely the PPE 2150, the memory controller 2160, the dual bus interfaces 2170A, B, and 8 SPE 2110A to Η, a total of 12 participants. Participants can simultaneously read and write to the bus at a rate of 8 bytes per clock cycle. As previously mentioned, each SPE 21 10A to H includes DMAC 2142A to H for scheduling a longer read or write sequence. EIB includes four channels, two each in clockwise and counterclockwise directions. Therefore, for twelve participants, the longest stepwise data flow between any two participants is six steps in the appropriate direction. In the case of full utilization through arbitration between participants, the theoretical peak instantaneous EIB bandwidth of 12 time slots is therefore 96 B per clock. This is equivalent to a theoretical peak bandwidth of 307.2GB/S (Gigabytes per second) at a clock rate of 3.2GHz.
[0253] The memory controller 2160 includes an XDRAM interface 2162, which is developed by Rambus Incorporated. The memory controller is interfaced with Lambs XDRAM 2026 with a theoretical peak bandwidth of 25.6GB/s.
[0254] The dual bus interfaces 2170A, B include Lambs FlexIO® system interfaces 2172A, B. The interface is organized into 12 channels, each with a width of 8 bits, of which five paths are at the station and seven are outside the station. This is provided via the controller
The theory of 62.4GB/s (36.4GB/s outside the station and 26GB/s inside the station) between the unit processor and I/O bridge 2034 of the 2170A and the graphics unit 2130 of the reality simulator via the controller 2170B Peak bandwidth.
[0255] The data sent by the unit processor 2128 to the reality simulator graphics unit 2130 will generally include a display list, which is a sequence of commands to draw vertices, apply textures to polygons, specify lighting conditions, and so on.
[0256] FIG. 22 is an exemplary illustration of scenes A to E with respective users A to E interacting with a game client 2202 connected to a server via the Internet for processing according to an embodiment of the present invention. A game client is a device that allows users to connect to server applications and processing via the Internet. The game client allows users to access and replay online entertainment content, such as but not limited to games, movies, music, and photos. In addition, the game client can provide access to online communication applications such as VOIP, text chat protocol, and email.
[0257] The user interacts with the game client via the controller. In some embodiments, the controller is a game client specific controller, while in other embodiments, the controller may be a combination of a keyboard and a mouse. In one embodiment, the game client is not a standalone device capable of outputting audio and video signals to create a multimedia environment via a monitor/television and associated audio equipment. For example, the game client may be, but not limited to, a thin client; an internal PCI expansion card; an external PCI expansion device; an expansion card device; an internal, external or wireless USB device, or a Firewire device, etc. In other embodiments, the game client is integrated with televisions and other multimedia devices (such as DVRs, Blu-ray players, DVD players, or multi-channel receivers).
[0258] In the scene A of FIG. 22, the user A uses the controller 2206A paired with the game client 2202A to interact with the client application displayed on the monitor 2204A. Similarly, in scene B, user B uses the controller 2206B paired with the game client 2202B to interact with another client application displayed on the monitor 2204B. Scenario C illustrates the view from behind the user C when the user C looks at the display of the game and buddy list from the game client 2202C. Although Figure 22 shows a single server processing module, in one embodiment, there are multiple server processing modules throughout the world. Each server processing module includes sub-modules for user session control, sharing/communication logic, user positioning, and load balancing processing services. In addition, the server processing module includes network processing and distributed storage.
[0259] When the game client 2202 connects to the server processing module, user session control can be used to authenticate the user. Verified users can have associated virtualized distributed storage and virtualized network processing. Instance items that can be stored as part of the user's virtualized distributed storage include purchased media, such as but not limited to games, videos, and music. In addition, distributed storage can be used to save the game state of multiple games, the customized settings of individual games, and the general settings of the game client. In one embodiment, the user location module processed by the server is used to determine the geographic location of the user and the corresponding game client. The user's geographic location can be used by both sharing/communication logic and load balancing processing services to optimize performance based on the geographic location and processing needs of multiple server processing modules. Either or both of virtualized network processing and network storage will allow processing tasks from game clients to be dynamically transferred to underutilized server processing modules. Therefore, load balancing can be used to minimize the latency associated with recall from storage and the transmission of data between the server processing module and the game client.
[0260] The server processing module has an example of a server application A and a server application B. The server processing module can support multiple server applications, as indicated by the server application X1 and the server application X2. In one embodiment, server processing is based on a cluster computing architecture, which allows multiple processors in the cluster to process server applications. In another embodiment, different types of multi-computer processing schemes are applied to process the server application. This allows server processing to be scaled to accommodate a larger number of game clients executing multiple client applications and corresponding server applications. Alternatively, the server processing can be scaled to accommodate more demanding graphics processing or game, video compression, or increased computing requirements necessary for application complexity. In one embodiment, the server processing module
The block performs most of the processing via the server application. This allows relatively expensive components such as graphics processors, RAM, and general processors to be located in the center and reduces the cost of the game client. The server application data of the processor is sent back to the corresponding game client via the Internet for display on the monitor.
[0261] Scenario C illustrates an exemplary application program that can be executed by the game client and server processing modules. For example, in one embodiment, the game client 2202C allows user C to create and view a buddy list 2220 including user A, user B, user D, and user E. As shown in the figure, in scene C, user C can see the real-time image or avatar of the corresponding user on the monitor 2204C. The server processes and executes the corresponding application programs of the game client 2202C and the corresponding game clients 2202 of the user A, the user B, the user D, and the user E. Because the server process knows the application that game client B is executing, the buddy list of user A can indicate which game user B is playing. In addition, in one embodiment, the user A can watch the actual situation directly from the user B in the game video. This is achieved by only sending user B's processed server application data to game client A in addition to game client B.
[0262] In addition to being able to watch videos from partners, the communication application can also allow real-time communication between partners. As applied to the previous example, this allows user A to provide encouragement or reminders when watching user B's real-time video. In one embodiment, two-way real-time voice communication is established through a client/server application. In another embodiment, the client/server application implements text chat. In yet another embodiment, the client/server application converts speech into text for display on the partner's screen.
[0263] Scene D and Scene E illustrate corresponding user D and user E interacting with game consoles 2210 D and 2210E, respectively. Each game console 2210D and 2210E is connected to a server processing module, and describes a network in which the server processing module coordinates the game play of both the game console and the game client.
[0264] FIG. 23 illustrates an embodiment of an information service provider architecture. Information Service Provider (ISP) 2370 delivers a large number of information services to geographically dispersed users connected via network 2386. 2382° ISP can deliver only one type of service, such as stock price updates; or multiple services, such as broadcast media, News, sports, games, etc. In addition, the services provided by each ISP can be dynamic, that is, services can be added or removed at any point in time. Therefore, ISPs that provide specific types of services to specific individuals may change over time. For example, when the user is in her hometown, the user can be served by an ISP close to the user, and when the user travels to different cities, the user can be served by different ISPs. The hometown ISP will transmit the required information and data to the new ISP, so that the user information "follows" the user to the new city, so that the data is closer to the user and easier to access. In another embodiment, a host-server relationship can be established between the host ISP (managing user information) and the server ISP (which directly interfaces with users under the control of the host ISP). In other embodiments, data can be transferred from one ISP to another ISP while the client is moving around the world, so that the ISP is in a better position to serve users who deliver these services.
[0265] The ISP 2370 includes an application service provider (ASP) 2372, which provides computer-based services to customers via a network. Software provided using the ASP model is sometimes called on-demand software or software as a service (SaaS). A simple form of providing access to specific applications (e.g., customer relationship management) is through the use of standard protocols, such as HTTP. The application program resides on the supplier's system and is accessed by the user using HTM L through a web browser, through a dedicated client software provided by the supplier, or other remote interfaces such as a thin client.
[0266] Services delivered over a wider geographic area generally use cloud computing. Cloud computing is a type of computing in which dynamically scalable and usually virtualized resources are provided as services via the Internet. Users do not need to be experts in supporting their technical infrastructure in the "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 usually provide common online businesses accessed from a web browser
Applications, while software and data are stored on the server. Based on how the Internet is depicted in a computer network diagram, the term "cloud" is used as a metaphor for the Internet, and the term "cloud" is an abstraction of the complex infrastructure it hides.
[0267] In addition, the ISP 2370 includes a game processing server (GPS) 2374, which is used by the game client to play single-player and multi-player video games. Most video games played on the Internet are operated via a connection to a game server. Generally, games use dedicated server applications that collect data from players and distribute them 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 embodiment, GPS establishes communication between players and their corresponding game playing devices, and does not rely on centralized GPS to exchange information.
[0268] The dedicated GPS is a server that runs independently of the client. These servers usually run on dedicated hardware located in the data center, thereby providing more bandwidth and dedicated processing power. Dedicated servers are the preferred method of hosting game servers for most PC-based multi-player games. Massively multiplayer online games run on dedicated servers usually hosted by software companies with the game's name, allowing them to control and update content.
[0269] The Broadcast Processing Server (BPS) 2376 distributes audio and video signals to viewers. Broadcasting to a very narrow audience is sometimes called narrowcasting. The last leg of broadcast distribution is how the signal reaches the listener or viewer, and it can reach the antenna and receiver in the air like a radio or TV station, or it can be through a wired TV or cable radio (or "wireless cable"), Arrive via the station or directly from the network. The Internet can also bring radio or TV to recipients, especially through multicast, allowing the sharing of signals and bandwidth. Historically, broadcasts have been demarcated based on geographic regions, such as national broadcasts or regional broadcasts. However, for the proliferation of fast Internet, broadcasting is not defined by geography, because the content can reach almost any country in the world.
[0270] Storage Service Provider (SSP) 2378 provides computer storage space and related management services. SSP also provides periodic backup or archive. By providing storage as a service, users can order more storage as needed. Another major advantage is that SSP includes a backup service, and if the user's computer hard drive fails, the user will not lose their data. In addition, multiple SSPs can have total or partial copies of user data, allowing users to access the data in an efficient manner, regardless of where the user is located or the device being used to access the data. For example, a user can access personal files in a home computer and in a mobile phone (while the user is on the move).
[0271] The communication provider 380 provides connectivity to the user. A communication provider is an Internet Service Provider (ISP) that provides access to the Internet. oISP uses a data transmission technology suitable for the delivery of Internet Protocol datagrams (such as dial-up, DSL, cable modem, wireless or dedicated high-speed interconnection) connection Its customers. Communication providers can also provide messaging services, such as email, instant messaging, and SMS text messaging. Another type of communication provider is a network service provider (NSP), which sells bandwidth or network access rights by providing direct backbone access rights to the Internet. Network service providers can be composed of telecommunications companies, data operators, wireless communication providers, Internet service providers, and cable TV operators that provide high-speed Internet access.
[0272] The data exchange 2388 interconnects several modules in the ISP 2370, and connects these modules to the user 2382 via the network 2386. The data exchange 2388 can cover a small area where all modules of the ISP 2370 are close, or cover a larger geographic area when different modules are geographically dispersed. For example, the data exchange 2388 may include a fast Gigabit Ethernet (or faster) in a cabinet of a data center, or an international virtual area network (VLAN).
[0273] The user 2382 uses the client device 2384 to access the remote service. The client device 2384 includes at least one CPU, a display, and I/O. The client device can be a PC, a mobile phone, a notebook computer, a PDA, etc. In one embodiment, the ISP 2370 recognizes the type of device used by the client and adjusts the communication method used. In other cases, the client device uses a standard communication method (such as html) to access the ISP 2370.
[0274] The embodiments of the present invention can be implemented in various computer system configurations, including handheld devices, microprocessor systems, microprocessor-based or programmable consumer electronic devices, small computers, large computers, and the like. The present invention can also be practiced in a distributed computing environment, where tasks are performed by remote processing devices linked via a wired or wireless network.
[0275] Considering the above embodiments, it should be understood that the present invention can use various computer-implemented operations involving data stored in a computer system. These operations are operations that require physical manipulation of physical quantities. Any of the operations described herein that form part of the invention are useful machine operations. The present invention also relates to devices or equipment for performing these operations. The device may be specially constructed for the required purpose, or the device may be a general-purpose computer selectively activated or configured by a computer program stored in the computer. Specifically, it may be more convenient to use various general-purpose machines in conjunction with computer programs written in accordance with the teachings of this article, or to construct more specialized equipment to perform the required operations.
[0276] The present invention may also be embodied as computer readable code on a computer readable medium. The computer-readable medium is any data storage device that can store data, which can be thereafter read by a computer system. Examples of computer-readable media include hard drives, network attached storage devices (NAS), read-only memory, random access memory, CD-ROM, CD-R, CD-RW, magnetic tape, and other optical and non-optical data storage Device. The computer-readable medium may include computer-readable tangible media distributed on a network-coupled computer system, so that the computer-readable code is stored and executed in a distributed manner.
[0277] Although the method operations are described in a specific order, it should be understood that other housekeeping operations may be performed between operations, or operations may be adjusted so that they occur at slightly different times, or may be distributed to allow processing operations to be consistent with all operations. In a system where various intervals associated with the above processing occur, it is only necessary to perform the processing of the overwrite operation in the desired manner.
[0278] Although the present invention has been described in certain details for clarity of understanding, it will be understood that certain changes and modifications can be practiced within the scope of the appended claims. Therefore, the embodiments of the present invention will be regarded as illustrative rather than restrictive, and the present invention is not limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.
1 sheet
Sheet 1
Every citation, both ways
| Document | Relation | Office | Category | Cited during | Relevant claims |
|---|---|---|---|---|---|
| CN111494965A | Cited by | China | – | Search report | – |
| US12194378B2 | Cited by | United States of America | – | Applicant | – |
| CN113117340A | Cited by | China | – | Search report | – |
| CN111603764A | Cited by | China | – | Search report | – |
| CN111330283A | Cited by | China | – | Search report | – |
| CN112791385A | Cited by | China | – | Search report | – |
| CN101152605A | Cites | China | A | Search report | 1-40 |
| CN101222954A | Cites | China | A | Search report | 1-19 |
| CN102436368A | Cites | China | A | Search report | 1-40 |
| CN102571900A | Cites | China | A | Search report | 1-40 |
| CN102656542A | Cites | China | A | Search report | 1-19 |
| EP1480102A2 | Cites | European Patent Office (EPO) | A | Search report | 1-19 |
| CN1795956A | Cites | China | A | Search report | 1-19 |
| JP2007325630A | Cites | Japan | A | Search report | 1-19 |
| US2009073832A1 | Cites | United States of America | A | Search report | 1-40 |
| US2010317443A1 | Cites | United States of America | X | Search report | 1-19 |
| US2012059699A1 | Cites | United States of America | X | Search report | 1-20 |
| US2012278439A1 | Cites | United States of America | A | Search report | 1-40 |
| US7056217B1 | Cites | United States of America | A | Search report | 1-19 |
189 members in 11 offices
Members189
| Document | Office | Kind | |
|---|---|---|---|
| WO2013078150A1 | World Intellectual Property Organization (WIPO) | A1 | |
| CN103143167A | China | A | |
| US2013178293A1 | United States of America | A1 | |
| US2013215024A1 | United States of America | A1 | |
| CN103310098A | China | A | |
| US2013244785A1 | United States of America | A1 | |
| US2013244789A1 | United States of America | A1 | |
| US2013244790A1 | United States of America | A1 | |
| WO2013138163A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2013138165A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2013138166A1 | World Intellectual Property Organization (WIPO) | A1 | |
| KR20130105469A | Republic of Korea | A | |
| KR20130105470A | Republic of Korea | A | |
| KR20130105471A | Republic of Korea | A | |
| CN103336883A | China | A | |
| US2013260896A1 | United States of America | A1 | |
| CN103366083A | China | A | |
| TW201402183A | Taiwan Province of China | A | |
| TW201404443A | Taiwan Province of China | A | |
| TW201406431A | Taiwan Province of China | A | |
| US8672765B2 | United States of America | B2 | |
| CN103885768A | China | A | |
| CN103886008A | China | A | |
| CN103886009A | China | A | |
| EP2745893A2 | European Patent Office (EPO) | A2 | |
| US2014179427A1 | United States of America | A1 | |
| US2014179428A1 | United States of America | A1 | |
| US2014179439A1 | United States of America | A1 | |
| WO2014100770A2 | World Intellectual Property Organization (WIPO) | A2 | |
| JP2014121610A | Japan | A | |
| WO2014100770A8 | World Intellectual Property Organization (WIPO) | A8 | |
| WO2014100770A3 | World Intellectual Property Organization (WIPO) | A3 | |
| CN104043245A | China | A | |
| EP2782649A1 | European Patent Office (EPO) | A1 | |
| TW201438796A | Taiwan Province of China | A | |
| US8870654B2 | United States of America | B2 | |
| TW201440856A | Taiwan Province of China | A | |
| TW201440857A | Taiwan Province of China | A | |
| MX2014000227A | Mexico | A | |
| MX2014000229A | Mexico | A | |
| MX2014000231A | Mexico | A | |
| WO2013138165A3 | World Intellectual Property Organization (WIPO) | A3 | |
| TW201501758A | Taiwan Province of China | A | |
| EP2825270A1 | European Patent Office (EPO) | A1 | |
| EP2825271A1 | European Patent Office (EPO) | A1 | |
| EP2828766A2 | European Patent Office (EPO) | A2 | |
| JP2015506012A | Japan | A | |
| IN6922DEN2014A | India | A | |
| JP2015514452A | Japan | A | |
| JP2015514453A | Japan | A | |
| JP2015517830A | Japan | A | |
| RU2013156817A | Russian Federation | A | |
| US9116555B2 | United States of America | B2 | |
| KR20150099829A | Republic of Korea | A | |
| BR102013033136A2 | Brazil | A2 | |
| US2015297989A1 | United States of America | A1 | |
| EP2825270A4 | European Patent Office (EPO) | A4 | |
| EP2825271A4 | European Patent Office (EPO) | A4 | |
| EP2828766A4 | European Patent Office (EPO) | A4 | |
| US9242176B2 | United States of America | B2 | |
| US2016107087A1 | United States of America | A1 | |
| RU2014140867A | Russian Federation | A | |
| RU2014140869A | Russian Federation | A | |
| RU2014140872A | Russian Federation | A | |
| US9345966B2 | United States of America | B2 | |
| US9352226B2 | United States of America | B2 | |
| US9364743B2 | United States of America | B2 | |
| TWI538721B | Taiwan Province of China | B | |
| US9381435B2 | United States of America | B2 | |
| US2016228767A1 | United States of America | A1 | |
| US2016228776A1 | United States of America | A1 | |
| US2016243440A1 | United States of America | A1 | |
| TWI547302B | Taiwan Province of China | B | |
| TWI559965B | Taiwan Province of China | B | |
| RU2605840C2 | Russian Federation | C2 | |
| TWI564062B | Taiwan Province of China | B | |
| RU2606071C2 | Russian Federation | C2 | |
| RU2606568C2 | Russian Federation | C2 | |
| TWI565504B | Taiwan Province of China | B | |
| TW201701931A | Taiwan Province of China | A | |
| JP6081475B2 | Japan | B2 | |
| TWI573619B | Taiwan Province of China | B | |
| EP2745893A3 | European Patent Office (EPO) | A3 | |
| RU2620956C2 | Russian Federation | C2 | |
| KR101742662B1 | Republic of Korea | B1 | |
| KR20170061196A | Republic of Korea | A | |
| BR112014022749A2 | Brazil | A2 | |
| BR112014022750A2 | Brazil | A2 | |
| TWI594791B | Taiwan Province of China | B | |
| US9744452B2 | United States of America | B2 | |
| JP6196147B2 | Japan | B2 | |
| JP6204969B2 | Japan | B2 | |
| US9776080B2 | United States of America | B2 | |
| JP2017200631A | Japan | A | |
| US2017354880A1 | United States of America | A1 | |
| MX353111B | Mexico | B | |
| MX353112B | Mexico | B | |
| TWI609714B | Taiwan Province of China | B | |
| US2018001199A1 | United States of America | A1 | |
| US9861898B2 | United States of America | B2 |
5 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Patent term adjustmentNEW EXPIRY DATE: 20341027TG01 | TG01 | |
| Patent term adjustmentTG01 | TG01 | |
| Patent grantGrantedGR01 | GR01 | |
| Entry into force of request for substantive examinationSE01 | SE01 | |
| PublicationPB01 | PB01 |
Numbers
- Publication
- 110523079
- Application
- 2019107505743
Titles2
- Chinese
- 基于所记录的游戏玩法自动产生为云游戏建议的小游戏
- English
- Automatically generate mini games suggested for cloud games based on the recorded gameplay
Classification
- CPC, 13
- A63F13/335
- A63F2300/634
- A63F2300/6036
- A63F2300/6018
- A63F2300/572
- A63F2300/554
- A63F2300/407
- A63F13/86
- A63F13/87
- A63F13/355
- A63F13/42
- A63F13/533
- A63F13/79
- IPC, 7
- A63F13 335
- A63F13 355
- A63F13 42
- A63F13 533
- A63F13 79
- A63F13 86
- A63F13 87