Remote control of a first user's gameplay by a second user
Abstract
A method for providing remote control of a user's gameplay is provided. A live video feed of a first user's gameplay is presented to a remote second user. A request to transition control of the first user's gameplay to the second user is processed. Control of the first user's gameplay by the second user is initiated.
Term
No projected expiry on record.
- Priority
- Filed
- Published
- Today
20 claims: 3 independent, 17 dependent
- 1A method for providing remote control of the game play of a user, which includes:presenting one of the live video feeds of the game play of a first user to a remote second user;The control of the game play of the player is transferred to a request of the second user;the control of the game play of the first user by the second user is initiated;wherein the method is executed by at least one processor. 一種對一使用者之遊戲玩法提供遠端控制的方法,其包括:將一第一使用者之遊戲玩法之一現場視訊饋送呈現於一遠端第二使用者;處理有關將對該第一使用者之遊戲玩法的控制轉移至該第二使用者之一請求;起始由該第二使用者對該第一使用者之遊戲玩法的控制;其中該方法係由至少一個處理器執行。
- 8A method for providing multi-player gameplay, which includes:presenting a live video feed of a gameplay session of a first user to a remote second user;and processing information about a second user joining the first user a user requesting the session of gameplay;manufactured by the second starting two users in the first user session of gameplay gameplay;system wherein the method performed by at least one processor. 一種提供多人玩的遊戲玩法之方法,其包括:將一第一使用者之遊戲玩法會話之一現場視訊饋送呈現於一遠端第二使用者;處理有關一第二使用者加入該第一使用者之遊戲玩法會話的一請求;由該第二使用者起始在該第一使用者之遊戲玩法會話中的遊戲玩法;其中該方法係由至少一個處理器執行。
- 14A non-transitory computer-readable medium containing program instructions on it, which is used to provide remote control of a user's gameplay. The program instructions include:The video feed presents program instructions to a remote second user;used to process the program instructions related to the transfer of control of the first user's gameplay to one of the second users;used to initiate the Program instructions for the second user to control the game play of the first user. 一種上面包含有程式指令之非暫時性電腦可讀媒體,其用於對一使用者之遊戲玩法提供遠端控制,該等程式指令包括:用於將一第一使用者之遊戲玩法之一現場視訊饋送呈現於一遠端第二使用者之程式指令;用於處理有關將對該第一使用者之遊戲玩法的控制轉移至該第二使用者之一請求的程式指令;用於起始該第二使用者對該第一使用者之遊戲玩法之控制的程式指令。
Independent claims3
278 paragraphs in 1 section, as filed
The second user's remote control of the first user's gameplay
REMOTE CONTROL OF A FIRST USER'S GAMEPLAY BY A SECOND USER
The present invention relates to automatically generating suggested mini-games based on recorded gameplay, generating multi-part mini-games for cloud games based on recorded gameplay, sharing recorded gameplay to social graphs, and A method and system for remotely controlling the game play of the first user by the second user.
The video game industry has undergone many changes in the past few years. With the increase in computing power, video game developers have also developed game software that takes advantage of this increase in computing power. For this reason, video game developers have been coding games that incorporate complex operations and mathematical operations to produce a very realistic game experience.
Exemplary game platforms may be Sony Playstation®, Sony Playstation 2® (PS2), and Sony Playstation 3® (PS3), each of which is sold in the form of a game console. As we are well-known, game consoles are designed to be connected to a monitor (usually a television) and achieve user interaction with 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 transformations, and other glued hardware, solids, and software. The game console is further designed to have an optical disc tray for receiving game discs to play games locally through the game console. Online games are also possible, in which one user can interactively compete or play with other users via the Internet. With the complexity of the game Continued to arouse the interest of players, game and hardware manufacturers have continued to innovate to achieve additional interactivity and computer programs.
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 an electronic device such as a computing system, a video game console, and a smart device react to a certain gesture made by the player and captured by the electronic device.
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 game applications and communicates with a local thin client that can be configured to receive input from the user and display video on the display.
It is in this context that the embodiment of the present invention is produced.
Embodiments of the present invention provide for automatically generating suggested mini-games based on recorded gameplays, generating multi-part mini-games for cloud games based on recorded gameplays, and sharing recorded gameplays to social media Atlas and a method and system for 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 process, 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.
In one embodiment, a method for generating a trial-play limited version of a video game is provided, which includes the following method operations: recording the gameplay of a user of the full version of the video game; analyzing the recorded gameplay of the user to Determine the region of interest; define the boundary of the gameplay situation of the video game based on the determined region of interest; and generate a limited version of the video game based on the defined boundary; wherein the method is executed by the processor.
In another embodiment, a method for generating a trial limited version of a video game is provided The method includes the following method operations: recording the game play of the user of the full version of the video game; analyzing the recorded game play of the user to determine one or more regions of interest; presenting each of the regions of interest to For selection; receive a selection input indicating the selected region of interest; for the selected region of interest, define the boundary of the gameplay of the video game based on the selected region of interest; and generate the video based on the defined boundary A limited version of the game; where the method is executed by the processor.
In another embodiment, a method for generating a trial 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, wherein recording the user's gameplay includes Record one or more of user input data or game state data; analyze the recorded game play of the user to determine one or more regions of interest, wherein each is automatically identified based on the correspondence with one or more threshold values A region of interest; present each of the regions of interest for selection; receive a selection input indicating the selected region of interest; for the selected region of interest, define the video game based on the selected region of interest The boundary within the gameplay situation; the restricted version of the video game is generated based on the defined boundary; wherein the method is executed by the processor.
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 user's gameplay of the full version of the video game; determining the user's recorded gameplay Multiple user-defined parts; 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; Each of the trial parts of the video game is arranged in a series to define a limited version of the video game; wherein the method is executed by the processor.
In another embodiment, there is provided a tangible computer-readable medium including program instructions on it for generating a trial limited version of a video game. The program instructions include the following: Program instructions for the full version of the user's gameplay; multiple user-defined parts used to determine the user's recorded gameplay Sub-program instructions; program instructions used to define the boundary of the gameplay situation of the video game based on the user-defined portion for each user-defined portion and generate the trial portion of the video game based on the defined boundary; Program instructions for arranging each of the trial parts of the video game into a series to define the limited version of the video game.
In another embodiment, a system is provided, which includes the following: at least one server computing device having logic for generating a trial limited version of a video game, the logic including: The logic used to record the user's gameplay of the full version of the video game; the logic used to determine the plurality of user-defined parts of the user's recorded gameplay; the logic used for each user-defined part is based on The user-defined 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 Define the logic of the restricted version of the video game.
In one embodiment, a method for sharing 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; and during the gameplay session During the active state, receive the command to initiate the 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 through the sharing interface to determine the user to the recorded video Custom selection; sharing the user-defined selection of the recorded video to the user's social graph; restoring the active state of the gameplay session; wherein the method is executed by the processor.
In another embodiment, a method for sharing 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 session; in response to receiving the command, determine the user-defined selection of the recorded video; share the user-defined selection of the recorded video to use The social graph of the person; where the method is executed by the processor.
In another embodiment, a stable computer-readable medium having program instructions defined thereon is provided, and the program instructions are used to share the recorded gameplay to the social graph. The program instructions include: program instructions for recording the video of the user's gameplay during the active state of the gameplay session; program instructions for receiving a command for initiating a shared operation during the active state of the gameplay session; A program command used to determine the user-defined selection of the recorded video in response to receiving the command; a program command used to share the user-defined selection of the recorded video to the user's social graph.
In one embodiment, a method for providing remote control of a user's gameplay is provided. The method includes the following method operations: presenting a live video feed of the first user's gameplay to a remote second user Handle the request to transfer the control of the game play of the first user to the second user; initiate the control of the game play of the first user by the second user; wherein the method is executed by at least one processor .
In another embodiment, a method for providing multi-player gameplay is provided, which includes the following method operations: presenting a live video feed of a gameplay session of the first user to a remote second user; A request for the user to join the gameplay session of the first user; the gameplay is initiated by the second user in the gameplay session of the first user; wherein the method is executed by at least one processor.
In another embodiment, there is provided a stable computer-readable medium including program instructions thereon, the program instructions are used to provide remote control of the user's gameplay, and the program instructions include: 2. A program instruction for the user to present the live video feed of the game play of the first user; the program instruction for processing a request for transferring control of the game play of the first user to the second user; A program command for the second user to control the game play of the first user.
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 principle of the present invention by way of examples.
<p>100Display</p><p>101Client</p><p>102Internet</p><p>104Cloud Game Server</p><p>106Display</p><p>108Display</p><p>110Display</p><p>200User</p><p>202Controller</p><p>204Thin Game Client</p><p>206Display</p><p>208Internet</p><p>210Cloud Game Service</p><p>212Video Game Library</p><p>214Host</p><p>216Virtual Machine</p><p>218Video Game Application</p><p>220The first generation console</p><p>222The second generation console</p><p>224The third generation console</p><p>226Client</p><p>228Game Title</p><p>230Game Title</p><p>232Game Title</p><p>234Game Title</p><p>236The first generation console library</p><p>238The second generation console library</p><p>240The third generation console library</p><p>300Interface</p><p>302Illustration or icon</p><p>304Illustration or icon</p><p>306Illustration or icon</p><p>308Illustration or icon</p><p>310Illustration or icon</p><p>312Illustration or icon</p><p>314Method operation</p><p>316Method operation</p><p>318Method operation</p><p>320Method operation</p><p>322Method operation</p><p>324Method operation</p><p>326Method operation</p><p>328Method operation</p><p>Part 400</p><p>402Scene</p><p>404Gameplay timeline</p><p>410device</p><p>411Touch screen</p><p>412Interface</p><p>414Gameplay timeline</p><p>416Mark</p><p>418Mark</p><p>419Mark</p><p>420Start frame</p><p>422Representative frame</p><p>424End frame</p><p>440Candidate frame</p><p>442Candidate frame</p><p>444Candidate frame</p><p>446Candidate frame</p><p>500Screenshot</p><p>502Screenshot</p><p>504Screenshot</p><p>506Screenshot</p><p>508Screenshot</p><p>510Screenshot</p><p>512Screenshot</p><p>600Gameplay</p><p>602Main game code</p><p>604Video streaming</p><p>606Game status data</p><p>608User input data</p><p>610Select</p><p>612Game Fragment Generator</p><p>614Game State Analyzer</p><p>616Game Interruption Point Processor</p><p>617cover processor</p><p>618Game Setting State Processor</p><p>620Code Combination Manager</p><p>622Game fragment code</p><p>624Game clip video</p><p>626Overlay video after game clip</p><p>700Map</p><p>702 area</p><p>704path</p><p>706path</p><p>708path</p><p>710path</p><p>712User Character</p><p>730Scene graph</p><p>732Scene graph</p><p>800Method operation</p><p>802Method operation</p><p>804Method operation</p><p>806Method operation</p><p>808Method operation</p><p>810Method operation</p><p>812Method operation</p><p>816Method operation</p><p>818Method operation</p><p>820Method operation</p><p>900 Tab</p><p>902 tab</p><p>906Detail</p><p>910Video</p><p>912Selectable button</p><p>914Details column</p><p>916Comment box</p><p>918sort button</p><p>1002Library column</p><p>1004Friends list</p><p>1006User column for live events</p><p>1008Site view</p><p>1010Site view</p><p>1012Game History Information</p><p>1100Method operation</p><p>1102Method operation</p><p>1104Method operation</p><p>1106Method operation</p><p>1108Method operation</p><p>1110Method operation</p><p>1112Method operation</p><p>1114Method operation</p><p>1200Cloud Game System</p><p>1202Game Library</p><p>1204User Data</p><p>1208Display</p><p>1210view</p><p>1212device</p><p>1214view</p><p>1216Social Network</p><p>1218User Data</p><p>1220Application</p><p>1222Graphical User Interface (GUI)</p><p>1224API</p><p>1226Notification Module</p><p>1228device</p><p>1230Social Network User</p><p>1400Method operation</p><p>1402Method operation</p><p>1404Method operation</p><p>1406Method operation</p><p>1410Method operation</p><p>1412Method operation</p><p>1414Method operation</p><p>1416Method operation</p><p>1420Method operation</p><p>1422Method operation</p><p>1424Method operation</p><p>1426Method operation</p><p>1428Method operation</p><p>1500Gameplay timeline</p><p>1502Gameplay Timeline</p><p>1504Select</p><p>1506Gameplay timeline</p><p>1508Select</p><p>1510Mini Games</p><p>1512Introduction of players</p><p>1514The first game segment</p><p>1516Message</p><p>1518Second game segment</p><p>1520Message</p><p>1522The third game segment</p><p>1600User's recorded gameplay timeline</p><p>1602Select</p><p>1604User's recorded gameplay timeline</p><p>1606Select</p><p>1608User's recorded gameplay timeline</p><p>1610Select</p><p>1612Simulation game</p><p>1614Introduction</p><p>1616Game Piece</p><p>1618Interlude</p><p>1620Game Piece</p><p>1622Interlude</p><p>1624Game Piece</p><p>1700Interface</p><p>1702 icon</p><p>1704Region</p><p>1706Illustration</p><p>1708Region</p><p>1710 icon</p><p>1800Interface</p><p>1802Preview area</p><p>1804Screenshot</p><p>1808Screenshot</p><p>1810Screenshot</p><p>1812Screenshot</p><p>1814Mark</p><p>1816Mark</p><p>1818Button</p><p>1822Preview options</p><p>1824Finishing options</p><p>1900Interface</p><p>1902Reference</p><p>1904Reference</p><p>1906Video display area</p><p>1908Live user video</p><p>1910Command options</p><p>1912Option</p><p>1914Option</p><p>1916Comment column</p><p>1918Comment input field</p><p>1920Send button</p><p>2000System Unit</p><p>2002Game Controller</p><p>2003Game Controller</p><p>2004Remote Control</p><p>2006Keyboard</p><p>2008Mouse</p><p>2010Portable Entertainment Device</p><p>2012EyeToy® Video Camera</p><p>2014Microphone headset</p><p>2015Microphone</p><p>2016Memory Card Reader</p><p>2018Bluetooth® wireless link port</p><p>2020IEEE 802.11b/g wireless network (Wi-Fi) port</p><p>2022Gigabit Ethernet port</p><p>2024Universal Serial Bus (USB) 2.0 port</p><p>2026Rambus® Dynamic Random Access Memory (XDRAM) Unit</p><p>2028unit processor</p><p>2030Reality Synthesizer Graphic Unit</p><p>2032Dedicated Video Random Access Memory (VRAM) unit</p><p>2034I/O Bridge</p><p>2036Removable Slot-in Hard Disk Drive (HDD)</p><p>2038Memory Card Reader</p><p>2040Blu RayTM Disk BD-ROM Reader</p><p>2040aDisk</p><p>2042Sound output device</p><p>2044Display</p><p>2046Speaker</p><p>2110A-2110HCooperative Processing Element (SPE)</p><p>2120A-2120HCooperative Processing Unit (SPU)</p><p>2130A-2130H256kB local RAM</p><p>2140A-2140HMemory Flow Controller (MFC)</p><p>2142A-2142HDynamic Memory Access Controller (DMAC)</p><p>2144A-2144HMemory Management Unit (MMU)</p><p>2150Power Processing Components</p><p>2160Memory Controller</p><p>2162XDRAM interface</p><p>2170ADual bus interface</p><p>2170BDual bus interface</p><p>2172ALambs FlexIO® System Interface</p><p>2172BLambs FlexIO® System Interface</p><p>2180Component interconnection bus</p><p>2202AGame Client</p><p>2202BGame Client</p><p>2202CGame Client</p><p>2204AMonitor</p><p>2204BMonitor</p><p>2204CMonitor</p><p>2206Acontroller</p><p>2206BController</p><p>2210DGame console</p><p>2210EGame console</p><p>2220Partner List</p><p>2370Information Service Provider (ISP)</p><p>2372Application Service Provider (ASP)</p><p>2374Game Processing Server (GPS)</p><p>2376Broadcast Processing Server (BPS)</p><p>2378Storage Service Provider (SSP)</p><p>2380Communication provider</p><p>2382User</p><p>2384Client Device</p><p>2386Internet</p><p>2388Data Exchange</p>
The present invention can be best understood with reference to the following description in conjunction with the accompanying drawings. In the drawings: FIG. 1A illustrates a user playing a cloud-based video game according to an embodiment of the present invention.
Figure 1B illustrates multiple users in multiple locations participating in the gameplay of a cloud-based video game.
Figure 2A illustrates a system for cloud gaming according to an embodiment of the present invention.
Figure 2B conceptually illustrates the accumulation of game titles across various generations of game consoles according to an embodiment of the present invention.
Fig. 3 illustrates a method for providing a game demonstration to a user according to an embodiment of the present invention.
4A illustrates the hierarchical organization of various parts of a video game according to an embodiment of the present invention.
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.
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.
Figure 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.
Figure 6 illustrates a system for generating game fragment codes according to an embodiment of the present invention.
FIG. 7A illustrates the modification of the virtual space for the purpose of generating game fragments of the video game according to an embodiment of the present invention.
FIG. 7B illustrates the modification of the scene graph for the purpose of generating game fragments according to an embodiment of the present invention.
FIG. 8 illustrates a method for generating game segments according to an embodiment of the present invention.
FIG. 9A illustrates an interface for browsing game segments associated with various game titles according to an embodiment of the present invention.
FIG. 9B illustrates a game segment information page according to an embodiment of the present invention.
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.
FIG. 11 illustrates a method for presenting live gameplay feeds of friends of the current user according to an embodiment of the present invention.
FIG. 12 illustrates a system including a cloud game system and a social network according to an embodiment of the present invention.
FIG. 13 is a diagram illustrating various game state variables that change over time according to an embodiment of the present invention.
FIG. 14A illustrates a method for generating game fragments for a linear type video game according to an embodiment of the present invention.
FIG. 14B illustrates a method for generating game fragments for an open world video game according to an embodiment of the present invention.
FIG. 14C illustrates a method for generating game segments for a sports video game according to an embodiment of the present invention.
FIG. 15 conceptually illustrates the formation of a multi-game segment game according to an embodiment of the present invention.
Fig. 16 conceptually illustrates the generation of a multi-game segment mini game according to an embodiment of the present invention.
Figure 17 illustrates an interface for sharing gameplay according to an embodiment of the present invention.
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.
FIG. 19 illustrates an interface 1900 for viewing a live video stream of a user's gameplay according to an embodiment of the present invention.
FIG. 20 illustrates a hardware and user interface that can be used to provide interactivity with a video game according to an embodiment of the present invention.
Figure 21 illustrates additional hardware that can be used to process instructions according to an embodiment of the invention.
FIG. 22 is an illustrative illustration of scene A to scene E according to an embodiment of the present invention, in which respective users A to E interact with a game client 1102 connected to a server via the Internet for processing.
Figure 23 illustrates an embodiment of an information service provider architecture.
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, sharing recorded gameplay to social graphs, and A method and device for remotely controlling the game play of the first user by the second user.
However, it will be clear to those skilled in the art that the present invention can 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.
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 displayed 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 running 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 the video game displayed on the display 100. The client 101 is located at the user's location to receive and process inputs and send these inputs to the cloud game server 104, and also receive video and audio data from the cloud game server 104. The client 101 and the cloud game server 104 communicate via a network 102 (such as the Internet). In other embodiments, the client can be any device, regardless of whether it is portable or wireless, as long as the client can communicate with the network and provide access to the display to show the gameplay and make it easy to use The input of the person can drive interactivity. In one embodiment, the client is a thin client. However, in other embodiments, the user terminal may be a general-purpose electric Brain, dedicated computer, game console, personal computer, laptop computer, tablet computer, mobile computing device, portable game device, cellular phone, set-top box, streaming media interface/device, smart TV or connected monitor , Or any other computing device that can be configured to meet the functionality of the client as defined herein. In one embodiment, the cloud game 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.
In various embodiments, the degree of processing performed by the client can vary with respect to input and output processing. However, in a broad sense, the video game state is fully maintained and executed on the cloud game server 104, in which the client mainly functions to receive and transmit user input, and to receive video/audio data for presentation. The client 101 may be an independent device that is connected to the display 100 and provides video data for display on the display 100. In other embodiments, the user terminal can 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 applications. In such embodiments, the client can be defined by an application running on a platform provided by the operating system of the display.
Figure 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 shown on the display 100 at the first position. The users U2 and U3 are shown as interacting with the video game appearing on the display 106 at the second position. The user U4 is shown as playing the video game shown on the display 108 at the third position. The users U5, U6, and U7 are shown as interacting with the video game shown on the display 110 at the fourth position.
At each of the first, second, third, and fourth positions, at least one computing device is provided for processing input from each user and presenting 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 having at least one processor and Any other type of device that uses memory to process and store data. The computing device can execute or define a client, as described above. The computing device is connected to the Internet and communicates with the cloud game server 104 via the network (such as the Internet 102).
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 sending video data (including image data and audio data) to a specific locationofCalculating device. 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 games facilitate multi-player games from players located in different locations by providing video games to be executed on remote servers that can be accessed by all players via the 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.
Figure 2A illustrates a system for cloud gaming according to an embodiment of the present invention. As shown in the figure, 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 an 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 sent to the video game executed by the cloud game service 210. In addition, the client 204 receives the video data from the cloud game service 210 for display on the display 206. In one embodiment, the client 204 can process the received video data to provide a video stream in a format compatible with the display 206. In an 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 the analysis of the captured image frame from the camera.
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 includes 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 can 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 machine 216 can be instantiated.
Each virtual machine 216 defines a resource environment that can support the operating system on which the video game application 218 can be run. In one embodiment, the virtual machine can be configured to imitate the hardware resource environment of the game console, wherein the operating system associated with the game console runs on the virtual machine to support the operation of the game title developed for the game console . In another embodiment, the operating system may be configured to mimic the local operating system environment of the game console, but the underlying virtual machine may or may not be configured to mimic 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 traditional game consoles can be imitated in a cloud-based gaming system. In this way, users can access game titles from different game consoles via the cloud game system.
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 been instantiated or is unavailable, a new compatible virtual machine is instantiated on the host 214. Then, the captured video game title is executed as an application program 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 For example, assigned to a virtual machine with an emulator application capable of handling the execution of video game titles. The running video game 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 running application program. When the game state changes, the application program 218 outputs video data, and the video data is sent to the client 204 for display on the display 206. In addition, the application 218 can also output feedback data to the client 204, and the feedback data is used to provide the user with an additional feedback mechanism. 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.
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 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. Users can 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 choose to specify the controller type 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.
For example, when logging in, the client device can 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 lookup table is used to determine the video game configuration and input parameter configuration based on the detected client device and the detected controller device.
It should be understood that a given video game can be developed for a specific platform and a specific associated controller device. However, when such a game is made available via the cloud gaming system as presented herein, the user may be using a different controller device to access the video game. For example, a game may be developed for a 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 can be defined from the mapping that can be generated by the user's available controller devices (in this case, the keyboard and mouse) to the input that can be accepted for running the video game.
In another example, the user can access the cloud gaming system via a tablet computing device, a touch screen smart phone, or other touch screen driven devices. In this case, the client device and the controller device are integrated together in the same device, wherein the input is provided by means of the detected touch screen input/signal action. For such devices, the input parameter configuration can define a specific touch screen input corresponding to the game input used in 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 that 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 can 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, so that the user can adapt to the operation of the controls on the touch screen.
In some embodiments, the client device serves 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 the input from the controller device to the client device. The client device can then process these inputs and then transmit the input data to the cloud gaming server via the network (for example, access via a local networked device (such as a router)). 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 It may be connected to a local network device (such as the aforementioned router) to send to and receive data from the cloud game server. Therefore, while it may still be necessary for the client device to receive the video output from the cloud-based video game and display the video on the local display, it can be bypassed by allowing the controller to send the input directly to the cloud game server via the network. Through the client device to reduce the input latency.
In one embodiment, the networked controller and client device can be configured to send certain types of input directly from the controller to the cloud game server, and send other types of input via the client device. For example, the detection does not depend on any additional hardware other than the controller itself, or the processed input can be sent directly 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 (eg, 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 can include video or audio captured from the game environment, which can be processed by the client device before being sent to the cloud game 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 sent from the client device to the cloud game server Device. 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.
Figure 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. Moreover, 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, you can develop And collect other types of games, such as Internet games, for distribution via the cloud game system, as described in this article. 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, the library 212 includes a first-generation console library 236, which includes game titles that have been developed for the first-generation console 220. In a similar manner, the library 212 also includes 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 the 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 through 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 game is developed. In this way, users who access cloud-based gaming systems can easily access and play games from many different consoles and games from other contacts (such as Internet games and those that have been specifically developed to be compatible with cloud-based games). The game used with the game system).
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 indicating the game it represents. In one embodiment, when the user navigates to a given icon, the icon can 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 showing a scene from a video game. When the user selects the icon, 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 demonstration is activated. At method operation 320, the game demonstration is immediately made available for the user to play the game. It should be understood that because the game presentation is cloud-based, it can be pre-loaded from the game presentation in the cloud-based system immediately Instantiation makes the game demo available. When the game demonstration is started, the pre-loaded instance of the game demonstration is triggered to execute. At method operation 322, it is determined whether the user wishes to continue the game play of the game demonstration or play the additional demonstration of the video game (if an additional demonstration is available). If yes, the method returns to operation 322 to continue to execute the game demonstration or execute the new game demonstration of the video game. If not, then at method operation 324, the user is presented with an option to purchase a small version of the video game. In addition, 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, at method operation 328, the other version of the game is added to the user account. It should be understood that because the game is made available via a cloud-based gaming system, adding a game to a user account may only require associating access privileges for a specific version of the game with the user account. In addition, 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.
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 can 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 decomposed into various scenes 402. When the user has played 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 game play of the user of the level 3 scene 2 of the game. According to the embodiment of the present invention, the user can select several parts of the recorded game play, and a mini game or game segment will be generated from the part. For example, in the illustrated embodiment, the game play timeline 404 has a starting point T<sub>0</sub>And end point T<sub>z</sub>. The gameplay timeline has been selected since time T<sub>x</sub>To time T<sub>y</sub>The part of the game will be generated from this part.
4B illustrates a part of a timeline for selecting a game play method according to an embodiment of the present invention Points to generate interfaces for mini games or game fragments. 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 start point of the selection along the game play timeline 414, and the mark 418 designates the end point of the selection along the game play timeline. In addition, the mark 419 may be located in the portion of the game play timeline 414 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 the point along the timeline of the gameplay where the marker 416 has been located may be displayed. 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 the point along the game play timeline where the marker 418 has been located can be displayed. In a similar manner, the end frame 424 is an image of the recorded gameplay video corresponding to the time at which the end mark 418 is located. In addition, a representative frame 422 corresponding to the position of the mark 419 along the timeline of the game play can be displayed. The representative frame 422 can be used as a representative image of a mini game based on a selected part of the game play timeline. It should be understood that although the 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 the end point to define a part of the game play for creating a mini game . For example, input can be provided via game controllers, keyboards, gesture input, voice input, and other types of input devices and mechanisms to enable selection of a part of the game play and select from the recorded game play video Representative video frame.
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 game play. A specific event that will be assigned a predefined time point in a given gameplay timeline can be based on It is generated from the analysis of the user's gameplay, and will depend on the specific framework of the video game gameplay. In one embodiment, the predefined time point may be assigned based on the geographic location of the characters 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, the movement from one city to another city Moving, entering a building, entering a room within 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, a person or entity controlled by the user can complete tasks, acquire skills, acquire objects, complete a part of a video game by a certain level or in another way, or perform or achieve any other important type of video game. Assign a predefined time point during the event.
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 game play timeline 414 illustrates that the user can set the start mark 416 and the end mark 418 along it to specify the timeline of the game play selection from which the mini-game will be generated. The start frame 410 corresponding to the position of the start mark 416 and the end frame 424 corresponding to the position of the end mark 418 are displayed. It will be understood 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. The candidate frame can be determined according to a variety of methods. For example, candidate frames can be presented from the score interval of the selected part of the game play timeline. The interval may be equal, so that the candidate frames are equally spaced along the gameplay timeline, or the interval may be unequal, so that some frames are closer to each other than other frames along the gameplay timeline. In one embodiment, compared with the later part of the selected part of the game play timeline, a higher density of candidate frames is generated from the earlier part of the selected part of the game play timeline. In one embodiment, candidate frames of higher density are generated from the early and later regions of the selected part of the game play timeline, and the self-traveling The middle part of the selected part of the joke timeline produces a lower-density candidate frame.
After the user has selected a part of the gameplay from which the mini game will be created, embodiments of the present invention provide a system and method for creating 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, the mini game is not only a replay video of the original user's gameplay (but can be combined with the mini game to present the replay video clip of the original user's gameplay), but also has been based on the user's replay video. The choice of your own gameplay is to specify the trial part of the video game itself. The secondary user can thus experience a gameplay experience that is roughly similar to the gameplay experience of the original user.
FIG. 5 illustrates a series of screenshots illustrating 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 level 3 of the video game. In the screenshot 502, the user has completed level 3 of the video game. After completing the level, the user is immediately provided with the option to generate game fragments or mini-games based on the game play of the user 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 user's recorded game play. As already described, the representation of the game play timeline can be shown as having an adjustable slider, and the user can move the slider to specify a starting point for the game segment. After the user has defined the start point, then at screenshot 506, the user is presented with an interface configured to allow selection of an end point for the game segment. Third, the user moves the adjustable slider to specify the end point along the representative game play 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 screen shot 508, additional options can be presented to the user, such as the option to share newly created game fragments with other users or to inform other users of the newly generated game fragments in other ways, to use the same gameplay Timeline generation 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, at the screenshot 510, an interface showing the user's previously created game segment is displayed. 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 in the 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 played the game The number of segments; the completion percentage indicating the average percentage of the game segments completed by the user who started to play the game segment; comments left by other users; etc.
Although in the presently described embodiment, after completing a certain level of the video game, the user is presented with options for generating game fragments, but it should be understood that in other embodiments, the user can be used during the gameplay of the video game If the game segment is generated at any other time besides, as long as the recorded game play of the video game exists, the user can define the choice for the game segment. For example, in one embodiment, an interface may be presented that provides access to various recorded gameplays from various video games associated with the user. The user can select the gameplay of a specific video game and generate a game segment by selecting a part of the recorded gameplay, and the game segment will be generated from the part according to the embodiment described herein.
Figure 6 illustrates a system for generating game fragment codes according to an embodiment of the present invention. The terms "game segment" and "mini game" are used interchangeably herein to define the discrete trial portion of a video game based on user selections from existing recorded gameplay. In the illustrated embodiment, the user's gameplay 600 conceptually represents the user's interaction 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. Can record this Wait for the output to define the user's recorded gameplay. In the illustrated embodiment, the video stream 604 conceptually represents the video data output by the video game. The game state metadata 606 and user input data 608 are also displayed. The game state data 606 includes data defining the game state of the running video game from one moment to another during the game play. 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 the interaction with the video game, such as the activation of the input device on the controller device, sensor data (e.g., motion sensing Detector), captured audio input and similar methods to provide.
As already described, the user interface can graphically depict the recorded gameplay of the user to facilitate the user to select a part of the user's gameplay from which the game segment will be generated. In the illustrated embodiment, the user has defined choices 610 from his recorded gameplay. The game segment generator uses this selection of the user's recorded gameplay to generate game segment code 622, which defines the restricted game based on the selected portion of the user's gameplay. 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 interruption point processor determines the appropriate interruption point to define the beginning and end of the game segment. The interruption point can be defined based on geography, time, task or goal completion, scene boundaries (physical or time), or any other aspect of the video game where the gameplay of the video game can be segmented to generate game fragments. A brief description of some illustrative embodiments will be used to highlight some possibilities for interruption determination.
For example, some video games need to control characters that can move from one geographic scene or place to another. The selected part of the user's gameplay can be determined to be generated from the gameplay at a specific scene. In such an embodiment, the boundary of a particular scene can define the geographic break point of the game segment, so that the scene is selected and other scenes are excluded. This may need to exclude other adjacent or adjacent scenes, as well as not adjacent or adjacent to or with specific scenes. Less relevant or unrelated scenes. It should be understood that the recorded gameplay selection 610 may require gameplay from multiple scenes, in which case the game interruption point processor 616 may be configured to select the boundaries of the multiple scenes for the recorded gameplay. To define the interruption point.
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 period or at a specific chronological point in the larger emotional realm of the video game. Such scenarios may have defined goals or objectives to be achieved by the player. Therefore, the game interruption point can be defined based on the age or other time patterns as defined by the video game.
In addition, 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 interruption point processor 616 can define a subset of the asset library for the game segment, so as to exclude those that are not in the asset library and are not recorded in the asset library. The 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 the associated mechanisms define their changes in response to events that occur in the video game. For example, the object may have a destruction analog module, which 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 analogy can further define game interruption points to generate game fragments.
Various aspects of the definition of video games or otherwise used in selected parts of video games can be the basis for defining game interruption points. The examples currently described are provided by way of example only and not in a limited way. It should be understood that, in other embodiments, other aspects of the video game may form the basis for defining interruption points to generate game segments.
In one embodiment, the video game can be organized into various scenes, and the scenes 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 include several goals or goals, some of which may be necessary to complete 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 pre-defined completion points, that is, where the user quits the game for some reason (for example, the user quits the game, the user's game character dies or loses life or health, the user's vehicle crashes, etc.) If it becomes impossible to continue the gameplay, the user can return to the 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.
In an embodiment, the game interruption point processor 616 is configured to define a game interruption point at a predefined completion point. In one embodiment, this is accomplished by finding the completion point closest to the selected start point and end point of the user's recorded gameplay selection, and using these most recent completion points to define the game interruption point of the game segment. In another embodiment, the nearest completion point that appears before the selected start point of the recorded gameplay selection is used to define the start interruption point, and the nearest completion point that appears after the selected end point of the recorded gameplay selection is used To define the end break point used to establish 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 start point or the end point of the recorded gameplay selection of the user, the completion point is used to define The corresponding start or end game interruption point of the game segment. However, if no completion point is located within the predefined radius, the game interruption point is defined that more closely matches the user-selected start or end point of the recorded selection. In other embodiments, the predefined radius used for the start point and the end point may be different for the purpose of determining whether to use the existing completion point to define the game interruption point.
As already discussed, the game interruption point processor 616 determines the appropriate interruption points for various aspects of the video game based on the analysis of the user's recorded gameplay choices. The interruption point defined by the processor 616 is used to define the selection based on the user's recorded gameplay The limited range of generated game fragments. 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 the 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 the introductory gameplay of the game segment, which can provide the user with an opportunity to learn skills that can be useful or necessary for playing the game segment. In another embodiment, the pre-game segment data can 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 can be useful to the user or otherwise improve the user's experience of playing the game segment.
The overlay processor 617 may also be configured to define post-game 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 can be displayed after the user completes the game segment. Such video can be customized based on the user's gameplay of the game segment, for example, by displaying 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 game play of the game segment after the game segment is completed. In another embodiment, the post-game data can be configured to display statistics about the user's gameplay of the game segment, and can indicate the user's gameplay and other users' gameplay or the original game segment Comparison of the gameplay of the creators. 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 switch to additional information sources related to the video game, and so on.
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 the 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. The artificial intelligence model 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 by hard-coded definitions or simplified extrapolation, rather than as in the case of full-video games. Completely model the activities of AI entities.
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 define the AI task for the game segment The approximate representation of movement 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 a gameplay experience that is substantially similar to that of the original user from which the game fragment is generated. The experience of AI characters. 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 activity of each of these AI entities is known, and therefore can be used in the game segment by simplified mechanisms such as the direct encoding of its control variables and the approximate representation of its activities Reappear.
Continuing to refer 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 interruption point processor 616, and the game setting state processor 618, the code combination manager 620 combines various code parts to define the game fragment code 622. When the game fragment code 622 is executed, the user's game The gameplay 624 provides input to define the execution state of the game segment code, which generates gameplay output. The gameplay output includes video data and feedback data for displaying the game segment 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 by the gameplay of the game segment), and a game segment post-overlay video 626.
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 a reference or indicator to an existing code part 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.
FIG. 7A illustrates the modification of a virtual space for the purpose of generating game fragments of a video game according to an embodiment of the present invention. The map 700 represents the scene or geographic part of the video game. The map shown in the figure is a two-dimensional representation of the three-dimensional virtual space that can be navigated and experienced during the actual gameplay of the video game. As shown, the map 700 illustrates an area 702 and a number of paths 704, 706, 708, and 710. In the recorded game play of the video game, the user's character 712 moves from the area 702 to the path 710. Based on the recorded movement and other analysis of the gameplay of the video game, it can be determined that the additional paths 704, 706, and 708 are unnecessary for the generation of game segments. These paths may represent incorrect choices compared to path 710, or may lead to areas unrelated to the game segment, or may be transferred from the player's ability to follow the path from the game segment, and experience similar gameplay to the original user Gameplay. In addition, if the areas to which paths 704, 706, and 708 lead 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 not available for gameplay in the game segment, while the path 710 and the area 702 remain unchanged. Therefore, when the user plays a game segment that incorporates the terrain defined by the map 720, he will experience it Paths 704, 706, and 708 cannot be used to pass through the virtual space. The user will then be more likely to traverse path 710 as the original user did, and therefore experience similar gameplay.
It will be understood 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 include a subset of the features available in the larger virtual space. In some embodiments, it is possible to determine the positions in the virtual space defined by the user's gameplay, and then determine the positions associated with the virtual space that are closest to them and are arranged to include predefined boundaries of those positions, To determine the boundary of the virtual space. For example, the user's gameplay can define the path that the user's video game character traverses. 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 including 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.).
FIG. 7B illustrates the modification of the 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 each scene A to G of the video game. It should be understood that the scenes described herein can be geographical 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 in 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 advance 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 advance from scene A to scene B or C, and advance from scene C to scene F. However, from the full video game field Other scenes of the scene 730 cannot be used for game play in the game segment. As already described, the system according to an embodiment of the present invention may be configured to limit the inclusion of the scene when the game segment is generated. In this way, the game segment does not include the restricted situation of its gameplay and the scenes that are not needed for the intended purpose.
FIG. 8 illustrates a method for generating game segments according to an embodiment of the present invention. In method operation 800, the user's gameplay of the video game is recorded, including recording the video of the user's gameplay 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 segments is presented. The interface defines a mechanism for receiving user input to define the start and end points from the recorded gameplay. For example, an interface for reviewing recorded gameplay videos can be provided to allow users to navigate or replay based on the gameplay videos, and define the start and end points in the gameplay videos. At method operation 804, a user-defined selection of the gameplay video is received. At method operation 806, the video game interruption point is identified based on the received user-defined selection of the gameplay video. In one embodiment, there is a predefined interruption point for the video game. Based on the user-defined selection of the gameplay video, the interruption point closest to the start and end points of the user-defined selection can be selected as the game interruption point of the game segment to be generated. At method operation 808, the game code for segment selection as defined by the identified break point 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. In method operation 812, game segment code is generated, and at method operation 814, the game segment code is stored in the game segment library and associated with the user's account.
In one embodiment, the method may include a method operation 816 in which the suggested game segment video selection is generated based on the recorded gameplay video and data of the user. The suggested choice of the user's gameplay can be determined based on the analysis of the user's recorded gameplay. For example, a higher activity level (e.g., over The part of the pre-defined threshold activity level) can be suggested as possible game segment video choices. At method operation 818, the aforementioned user interface for game segment selection may present the suggested video selection of the game segment to the user. In one embodiment, the user may be presented with screenshots representing the video selection of 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.
FIG. 9A illustrates an interface for browsing game segments associated with various game titles according to an embodiment of the present invention. 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 titles. In the illustrated embodiment, the tab 900 is currently selected so that the page presented provides information about game segments that have been created for a particular game title T1. The game segment list 904 lists various game segments that have been created from the game title T1. In one embodiment, the game segment list 904 also identifies the user who created the game segment (for example, displays the user name 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 the user A is currently highlighted, which causes the details 906 related to the game segment A to be displayed. The details 906 may include 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, and comments from the user A who created the game segment , Certain comments from 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.
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 Figure 9B, the game segment information page provides various information related to the game segment. In addition to bibliographic information about game clips (e.g., In addition to the title, the user name of the user who created the game segment, the creation date, etc.), the video 910 of the game segment can be displayed. In one embodiment, the video 910 is the 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 has 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 video, representative images of game clips may be displayed.
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 field 916, which represents the comments left by the user. A classification button 918 may be provided to select various options for categorizing comments (e.g., order of year, month, day, most popular, based on rating, based on the relationship with the current user (e.g., the user's friends in the social graph) Comments first) etc.).
FIG. 10 illustrates a view of a user's account information according to an embodiment of the present invention, including a real-time view of friends in a cloud gaming social network. The library column 1002 displays various game titles in the user's library. These game titles may be game titles that the user has purchased or otherwise obtained. In addition to the title information, the display of the game title may also include the display of representative graphics. It will be understood that the game may be a full version game title, but may also be a simulated version of a limited version, each of which may be a part of the full version game title, or may be limited in a certain ability compared to the full version game title. The friend list 1004 lists the friends of the current user in the social network associated with the cloud gaming system (that is, other users in the social graph of the current user). The social network may be a dedicated social network for the cloud gaming system, or may be a (third-party) social network that exists separately from the cloud gaming system, with which the cloud gaming system communicates to obtain information about the user's social graph . The friend list 1004 may include additional information about the user's friends, such as describing the games owned by each friend, and identifying the friend's online status. Status (for example, online, offline, inactive, etc.), the friend's last login and its duration, the last game played by the friend, etc.
In one embodiment, the live event user column 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 the option of defining whether to make the live gameplay available for live viewing by other users. In this embodiment, the live view is presented only by those users who have specified the option to allow their live gameplay to be viewed by other users. In the illustrated embodiment, the live event 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 can be highlighted and displayed in a different way 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 will be 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.
In one embodiment, the live view is only available to those users who are currently active and participating in the gameplay of the video game. In other words, when a given user is offline or online but not actively participating in the gameplay of the video game, the user's live view is not available. Therefore, when the user is performing other non-gameplay activities on the cloud gaming system (for example, when logging in to the system, navigating the graphical interface of the cloud gaming system), do not make this activity available to others Available in the live feed of watching. 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.
In one embodiment, the live view of a given user can be filtered so as not to potentially expose sensitive or personal information for others to view. For example, the cloud gaming system can support the 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, the state of the video game can be filtered out from the live view. For example, the 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 the video game). In another embodiment, the live view can be configured to prevent viewing of personal information (for example, when the user accesses the personal information page, enters payment information, enters a password, etc., viewing is prevented).
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 can watch the live gameplay feed of the secondary user and wish to add the gameplay of the secondary user. In one embodiment, the activation of this option sends a request to the secondary user, notifying 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 can 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's After being able to see the game play of the secondary user, add the game play of the secondary user.
In one embodiment, after the primary user determines the ownership status of the video game, it is predicted to request the option of adding the secondary user's game play. If the primary user does not own the video game, no options can be presented, and if the primary user owns the same video game as the secondary user, the option of requesting to add the secondary user's gameplay is made 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 user's gameplay in the multi-player mode, but with limited capabilities, such as in the game The duration of the gameplay, available scenes/levels/stages, etc., customization options, abilities, skills, weapons, characters, vehicles, or any other aspects that can be restricted in video games are limited. In one embodiment, after the gameplay of the limited version of the video game, the primary user is provided with the option to purchase the full video game. In another embodiment, the primary user is provided with the option of additional parts of the video game.
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 can 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, the statistics related to the game play, and so on.
It will be appreciated that according to various embodiments of the present invention, many methods and configurations for presenting cloud gaming interfaces are possible. In one embodiment, a method for displaying the current game state of a user of a cloud game system is provided, which includes the following method operations: presenting the cloud game interface of the main user; determining that it is a friend of the main user Or multiple 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 cloud of the primary user The live feed of the current game session of the online secondary user in the game interface, the live feed includes the option of providing the primary user to join the current game session of the online secondary user; in response to receiving the activation of the primary user to join the online secondary The user's current game session options request, start the multi-player mode of the online secondary user's current game session The multi-player mode provides the online secondary user's gameplay of the primary user in the current game session; where the initial multi-player mode includes a video game relative to the current game session that defines the online secondary user, and determines the primary The ownership status of the user; when it is determined that the main user owns the video game, the multi-player mode provides the full version of the gameplay of the video game; when it is determined that the main user does not own the video game, the multi-player mode provides the video Gameplay of the restricted version of the game.
In one embodiment, the limited version of the video game defines one of the available level, available scenes, available features, time limit, virtual space, battle length, number of lives, or number of replays compared with the full version of the video game, or The reduction of more.
In one embodiment, the method further includes a method operation of presenting the main user with an option to purchase at least one part of the video game when the main user does not own the video game.
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.
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.
In one embodiment, presenting the cloud game interface includes presenting a library of game titles associated with each of the secondary users.
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.
In one embodiment, presenting the cloud game interface of 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 Co-ownership of the game.
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, the current user's friends are identified from the current user's social graph. 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 friend can identify the game title 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, 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 yes, at method operation 1112, obtain the user's live game play feed. At method operation 1110, the display priority order of the friends of the current user can 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 can be determined that the priority of the online friends of the current user is higher than the current offline friends. In one embodiment, it can 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 can be determined that the priority of friends with available live gameplay feeds is higher than other friends. In one embodiment, the priority of friends may be determined based on the recency of friends having logged in to the cloud game system. In another embodiment, the priority of friends can be determined based on the common ownership of the video game. The foregoing examples of determining the priority of friends are provided as examples only and not as limitations. Those familiar with the technology will understand that, in other embodiments, the current user's friends can be determined according to the priority order based on any other relevant factors, and the current user's friends can be presented.
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 titles for users to play. User data 1204 contains various data associated with the user account, such as the title of the game owned by the user, and any saved game play by 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 appears as view 1210 on display 1208 of user A. Similarly, session B defines user B's gameplay, which appears as view 1214 on user B's device 1212. In the illustrated embodiment, the view 1214 of the conversation of user B shows an interface that includes 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 through user B's session for display in user B's view 1214. The gameplay video can be processed to stream through user B's session, such as reducing the resolution, size, frame rate, color saturation, etc., to save bandwidth.
Continuing to refer to Figure 12, the 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, and biographical information. The application 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 noted, user B's view 1214 includes live feeds from conversations of 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 game system to provide live gameplay feeds from user B's friends, including feeds from sessions A and C.
In one embodiment, user A chooses to share from his gameplay session A to his social graph. User A's session A communicates via API 1224 to activate the notification module 1226 of the social network 1216 to send appropriate notifications to the friends in user A's social graph friend. 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 the messages or posts from the user A about the user A's conversation. If set, the user can 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 various video game related activities, such as achievements in video games, invitations to play video games, comments on video games, invitations to watch or play game clips created by user A, users Video editing of A's gameplay, etc.
FIG. 13 is a diagram illustrating various game state variables over time according to an embodiment of the present invention. It should be understood that in various embodiments, there may be many different types of game state variables, which will be dedicated to specific video games. The variables shown and described with reference to the illustrated embodiments are provided as examples only and not as limitations. The game state variables may include values defined by running a video game, and values defined by user input. In the illustrated embodiment, there are displayed position variables, which 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, the explained action variables such as the 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 dedicated to the context of the video game. For example, actions can include the initiation of a specific maneuver, the application of skills, the triggering of a modification mechanism to modify an existing action (such as increasing its strength or frequency level, etc.), or any trigger that can be triggered by the user input during the course of the video game Other types of actions or activities. Continuing to refer to Figure 13, the weapon variable indicates the triggering of the weapon of the video game. The health variable indicates, for example, the health level of the user's 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 in a released state. The joystick state variable in the illustrated embodiment indicates the amount of movement of the joystick relative to the neutral position. Refer to the implementation explained The aforementioned game state variables described in the examples are only illustrative, and those familiar with the art will recognize that many other types of game state variables can be tracked over time.
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 regions 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, the area of gameplay characterized by high activity levels for certain game state variables can define the user's choice of recorded gameplay. It should be understood that the activity level for a given game state variable may be based on various factors such as intensity level, frequency of activation, and duration of hold. In some embodiments, the analysis of game state variables can make it necessary to search for the area 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 at the same time Has a high activity level. The high activity level can be determined based on the predefined threshold value.
In various embodiments, the area of interest of the user's recorded gameplay can be automatically determined based on the threshold detection of any one or more of the following: one or more user input, use Input rate, input frequency, input type repetition, input pattern occurrence rate, combination input (for example, combination key), motion vector, pressure applied on the controller, user's stimulus (for example, based on user The captured image or audio data is detected).
FIG. 14A illustrates a method for generating game segments of a linear type video game according to an embodiment of the present invention. Broadly speaking, a linear video game is a video game that follows a linear process before the player enters the video game. In order to advance through the video game, the player must complete the previous goal before proceeding to the next goal. Therefore, all players must complete the same goals in the same order in order to progress through the video game. The target in the linear video game can be connected to both the geography and the time position within the time and space storyline of the video game. At method operation 1400, the scene of the video game is identified. The scene can essentially be space and Time is both, 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 based on user input, and the length of the scene can also be defined based on the target connected to the scene. At method operation 1404, the initial characteristics of the object, person, or any other object within the scene for which characteristics can be assigned are defined. At method operation 1406, a game segment is generated for the identified length of the scene with the initial characteristics as previously defined.
FIG. 14B illustrates a method for generating game fragments of an open world video game according to an embodiment of the present invention. The development of a world video game can be characterized as a video game in which users 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 arbitrarily. In order to advance to a different level of a video game or a complete video game, a certain set of goals may need to be completed. However, users can freely complete these goals in different orders. At method operation 1410, the location in 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 can be defined based on user input that defines the choices of the recorded gameplay as described herein. For example, the user's gameplay in an open world video game may involve a large number of locations during the process 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 character controlled by the user in the virtual world, and defining all locations where the character has been found to exist Borders. At method operation 1414, the initial characteristics of various objects, characters, objects, vehicles, or any other objects found within the restricted geographic area previously determined from the user's recorded gameplay choices are defined. At method operation 1416, a game segment is generated based on the restricted geographic area of the open world and the previously defined characteristics.
FIG. 14C illustrates a method for generating game segments of a sports video game according to an embodiment of the present invention. Can be generated based on user-defined selections of gameplay recorded by the user The game fragment. At method operation 1420, the settings are identified based on the user's selection of the recorded game play. For example, the setting can define the location of sports events, such as stadiums, stadiums, racetracks, or any other settings in which sports events of video games can occur. At method operation 1422, a time period is defined based on the user's selection of recorded gameplay. The time period defines the time portion for which the game segment is generated, and can be defined based on the user's selection of the recorded game play. The time period of the sports video game can determine certain aspects of the video game segment, for example, 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 game play selection. Players can include one or more characters that have been defined by the user, and 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. In some embodiments, the parameters defined in the user's recorded gameplay selection are used to define the AI character control logic for the game segment. At method operation 1426, the scene attribute of the position setting of the sports video game segment is defined. For example, these attributes may include attributes such as weather, track or stadium conditions, and other attributes of sports settings. At method operation 1428, a game segment of the video game is generated based on the aforementioned parameters.
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, gameplay from users of various levels of the video game is shown. Specifically, the gameplay timeline 1500 represents the gameplay from the first level of the video game, and the gameplay timeline 1502 and the gameplay timeline 1506 represent the use from the second and third levels of the video game, respectively The gameplay of the player. 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. When using gameplay from two users The selection 1504 of the time line 15 defines the second game segment 1818. And the third game segment 1522 is defined by the selection 1508 from the user's gameplay timeline 1506. The first, second, and third game segments are arranged in a sequential order to define the mini game 1510. In doing so, the mini game 1510 includes 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 the mini game 1510. This can be useful in providing a more eye-catching preview or demo of a video game than a conventional game demo, where the user can only play a part 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, users can enjoy a multi-part game demonstration, which provides a better feeling of the scope of a full-video game, and can continuously characterize the game play from one part to the next.
In one embodiment, the user can 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 displayed before the game segment, 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 Players can understand how their gameplay of the game segment compares with the gameplay of the original user.
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 and the recorded game play timeline 1604 of the user of game B are shown, and The recorded game play timeline 1608 of the user of game C. 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 the user's selection 1602 is used to define the game segment 1620. The selection 1610 of the recorded game play 1608 of the player defines 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.
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 different game titles, genres, and even console platforms. For example only, a user can create a simulation game with game fragments from each of several game titles in a single video game series. In this way, analog game players can experience and appreciate the evolution of the video game series with a continuous gameplay experience.
The embodiments of the present invention have been generally described with reference to a cloud-based gaming system. However, those familiar with this technology should understand that the similar concepts and principles described in this article can be applied to traditional console-based video game systems, possibly combined with cloud-based game systems. For example, a user can play a console-based video game, and has 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 used in conjunction with the video game code to provide an interface for selecting a part of the game play of the user from which the mini game is generated, as described. The simulated game code can be generated at the console, uploaded to the cloud system, and made available for download by other users. In another In an embodiment, the cloud system generates the analog game code after receiving the selected part of the user's gameplay input data and game state metadata. The cloud system processes the input data of the user's gameplay 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 used for cloud-based games, where the execution of simulation games takes place in cloud-based systems, but mini games can also be used to download to traditional console-based systems for control On-stage execution to promote console-based gameplay of mini-games. In this way, analog games can be created and played by both users of console-based video game systems and users of cloud-based video game systems.
The embodiment of the present invention has been generally described with reference to the simulation game or the demo user-defined part of the video game. However, those familiar with this technology 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 the mini game (for example, in response to receiving a notification) may include the presentation of the recorded video of the original user's gameplay that forms the basis of the simulated game. In other embodiments, it is contemplated to facilitate an interface for sharing the user's gameplay to the user's social graph.
In one embodiment, a method for storing gameplay is contemplated. The game play can be executed by the operating system of the game console in response to a user request, and it can be in the form of a standard file operation relative to a set of data associated with the desired game play. The request can be transmitted from the application 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.
Can be buffered, that is, part of the gameplay is temporarily stored. For example, as described further herein, the first 15 seconds of the gameplay, the previously completed level, and the previous action. The term "part" as used herein can correspond to any part of the gameplay that can be divided into any related or arbitrary group of single or multiple data bits or groups of bytes. For example, the "parts" of the gameplay may correspond to levels, chapters, scenes, behaviors, characters, backgrounds, textures, courses, actions, songs, themes, durations, sizes, files, parts thereof, and combinations thereof. In addition, part of the gameplay may include screenshots of the video captured or specified duration.
In one embodiment, part of the game play can 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 game play can be transmitted to another computing device, to another game console, or to a remote server via a wireless or wired network. These remote servers may include social media servers.
Optionally, the part of the gameplay that is not retrieved from the buffer or the part of the gameplay that is outside of a specific game interval (for example, a specific duration, level, chapter, course, etc.) can be removed from the buffer. The standard file operation on the operating system can be used to complete this removal process.
This part of the game play can be displayed on any one of several display devices that have access to the stored game play. For example, the stored game play can be displayed on a television connected to a game console from which the game play is captured. In another example, the stored game play can be displayed on the computer to which the stored game play is transferred. The stored gameplay can be displayed separately or combined with other information, such as on social media sites.
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, this part of the gameplay can show that the ball is being thrown from the first user to the second user. This part of the game play can then be transmitted to the game console of the second user. Therefore, the second user can then watch the game from the first user's point of view How to play. The second user may also have the part of the display ball of the stored gameplay that is thrown by the first user and received by the second user (from the perspective of the second user). In this embodiment, the second user can review the gameplay 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.
Regarding the storage, transmission and/or display of the part of the game play as described in this article, it is expected that the part of the game play can be stored, transmitted and displayed as images or video data. However, in another embodiment, 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.
In some embodiments, the portion of the gameplay has a predetermined relationship with the executed gameplay. For example, the part 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 gameplay has a predetermined relationship with the second part of the gameplay. 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.
In other embodiments, the buffer is "smart" or "flexible" so that it captures gameplay based on variables, regardless of time. In one 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 high scores being reached, the collection of larger points in a short amount of time, multiple selections of buttons on the controller, and other rare things Pieces. These 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, the game console can track the global high score of a specific game, and buffer gameplay in which the user approaches and exceeds the high score. In another example, the remote server can track the global high score of a particular game, and can send this information to the game console, which buffers gameplay in which the user approaches and exceeds the high score.
In another example, portions of the gameplay can be buffered to include achievements, such as prizes being won or other landmarks being reached. These prizes or landmarks commemorate any goal or game achievement, such as a certain point being earned, a certain level being reached, and the like. For example, gameplay can be buffered to include the award of prizes that reach level 10, reach 100,000 points, and so on.
Similarly, progress towards an event and the actual achievement of prizes or statistical anomalies can be buffered to be included in this part of the gameplay. For example, screenshots can be taken at each of the levels from one to 10, and an album can be created to commemorate the receipt of prizes that reach level 10. In another example, a video of the user winning the game from the first to the fifth time can be captured, and the prizes will be awarded five times of the winning.
Therefore, according to an embodiment of the present invention, at least a part of the executed game play can 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 includes the previous size. For example, if a request to share gameplay is received after the user has crossed the finish line in a competition, 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 the gameplay is made.
Figure 17 illustrates an interface for sharing game play according to an embodiment of the present invention. The interface 1700 as shown in the figure includes various optional icons to facilitate sharing with the user's friends (for example, 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, the interface can be displayed Face 1700 to enable users to share their gameplay.
The 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-scale preview of the shareable screenshots. In one embodiment, the selection of icon 1702 can provide access to an additional screenshot selection interface. The additional screenshot selection interface allows the user to select specific screenshots 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 gameplay and specific time points in the corresponding screenshot.
The icon 1706 can be selected to upload the video of the initial user's gameplay. The area 1708 of the icon 1706 can be configured to display representative video clips of the user's recent gameplay, such as the last 5 seconds of the user's gameplay, recent achievements, etc., so as to display the user's recent achievements that can be shared with others. Small-scale preview of video clips of gameplay.
The icon 1710 can be selected to start the live video streaming of the user's active game play. In one embodiment, the selection of 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 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 it includes a predetermined display of the user itself during gameplay. The video stream of the local image capture device, whether to enable comments, etc.
It will be appreciated that users can share gameplay (for example, selected screenshots, videos, or live gameplay streams) to one or more specifically selected friends, to their entire social graph, or any user on 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, disseminated via social networks Private messages delivered, in-game notifications, emails, chat notifications, etc. Sharing the gameplay to a social network may make it necessary to make the gameplay available to the social network, or may be other sub-integration of the user who shares part of the user's social graph. For example, for a given video game, the gameplay can be shared, or any user who also owns the video game and is therefore granted access to the shared gameplay of the video game, making it available for use on social networks. This shared gameplay can be accessed through online forums, chat rooms, or other online channels that are only available 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 used by users who access the page or site of the video game. Of course, it will be understood that from the perspective of sharing users, options can be provided that allow users to specify and customize to whom their gameplay will be shared and what forums.
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, which loops from the preview of the currently selected part of the user's gameplay video. The screenshots 1804, 1806, 1808, 1810, and 1812 are positioned adjacent to each other in the order of year, month, and day to define the timeline of the screenshot indicating the content of the gameplay video. The 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 additional frames before or after the currently displayed frames. Markers 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 be replayed repeatedly in the preview area 1802, if noted.
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 playback of the full-screen preview of the currently selected video clip. The finishing option 1824 can be selected to access additional video finishing features.
FIG. 19 illustrates an interface 1900 for viewing a live video stream of a user's gameplay according to an embodiment of the present invention. In reference 1902, show the use of streaming its gameplay The person's name and/or alias. At reference 1904, the number of users currently watching the live video stream is displayed. 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 the live video of the actual user whose gameplay 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 gameplay of the streaming user. It will be understood that the issuance of commands in the game or the remote control of the user's gameplay may require permission from the user playing the game to be predefined or requested at the gameplay time to allow the viewing user to perform such operations.
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.
In addition, the interface may include a comment column 1916, which displays comments from users watching the live video stream, and 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 the live streaming user and others who watch the live video stream.
Although the embodiments of the present invention have been described with reference to various interfaces for sharing access from dedicated button presses, it will be understood that in other embodiments, some or all of these interfaces may not be needed to facilitate gameplay. Share to the user's social graph. 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 screenshot with the user's social graph.
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 for the second time to stop recording, an interface is presented that allows the user to customize various options, such as retouching the video, Choose a representative screenshot of the video, determine the specific user to share the video with, add a title or title, etc. After the user customizes, the video can be shared with others, or made available for viewing in other ways.
In one embodiment, specific buttons on the controller can be configured to share a predefined duration of gameplay videos on social networks. For example, the user can specify when to press the button, and the first 10 seconds of the gameplay video will be shared to the user's social graph. In another embodiment, you can specify when the button is pressed, and the next 10 seconds of the gameplay video will be recorded and shared to the social graph. It should be understood that the options for trimming the video and performing other types of customization can be applied to the recorded gameplay video. In addition, the recorded gameplay video of the predefined duration after the button is triggered can be combined with the previously buffered gameplay video as already described.
In yet another embodiment, a specific button on the controller device can be configured to initiate live video streaming of the user's active gameplay. Live video streaming can be pre-defined so that it can only be used by members of the user's social graph, or it can be used by other smaller or larger user groups, such as a specific subset of the user's social graph, having the same Video games or all users who have access to the same video game in other ways, any user of the game platform, etc.
<b>Automatic generation of simulation games suggested for cloud games based on recorded gameplay</b>
In one 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 gameplay to Determine the region of interest; define the boundary of the gameplay situation of the video game based on the determined region of interest; and generate a limited version of the video game based on the defined boundary; wherein the method is executed by the processor.
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 gameplay includes determining the activity level of the user's input data or game state data, and the area of interest It is an area with activity levels that exceed a predefined threshold.
In one embodiment, defining the boundary of the gameplay situation of the video game includes defining the space boundary in the virtual space of the video game. In one embodiment, the space boundary in the virtual space of the video game defines a part of the virtual space that is smaller than the whole of the virtual space, and the part of the virtual space has a subset of the characteristics of the virtual space.
In one embodiment, defining the boundary of the gameplay context of the video game includes defining the time boundary of the time context of the video game.
In an embodiment, defining the boundary includes identifying the nearest starting point or the nearest ending point of a stage, level, or scene.
In one embodiment, analyzing the recorded game play of the user includes: determining the user's game state setting based on the recorded game play of the user; and generating a limited version of the video game includes defining the set based on the determined user game state The limited version of the video game has an initial game state setting.
In one embodiment, the region of interest is automatically identified based on the correspondence with one or more threshold values. In one embodiment, at least one of the threshold values is associated with user input, the rate of user input, the frequency of user input, the repetition of user input, the input mode, the gameplay situation, and the other users' Sharing, posting of comments related to gameplay on social networks, or one or more of the popularity of video games based on social network sharing levels.
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 gameplay To determine one or more regions of interest; present each of the regions of interest for selection; receive a selection input indicating the selected region of interest; for the selected region of interest, define the gameplay of the video game based on the selected region of interest The boundary within the situation; and the limited version of the video game is generated based on the defined boundary; wherein the method is executed by the processor.
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's input data or game state data, and each region of interest is an area with an activity level exceeding a predefined threshold.
In one embodiment, analyzing the recorded game play of the user includes determining user game state settings based on the recorded game play of the user; and generating a limited version of the video game includes defining video based on the determined user game state settings The limited version of the game has an initial game state setting.
In one embodiment, each region of interest is automatically identified based on the correspondence with one or more threshold values.
In another embodiment, a method for generating a trial 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, wherein recording the user's gameplay includes : Record one or more of user input data or game state data; analyze the user's recorded game play to determine one or more regions of interest, wherein each is automatically identified based on the correspondence with one or more threshold values 1. A region of interest; presenting each of the regions of interest for selection; receiving a selection input indicating the selected region of interest; for the selected region of interest, the boundary of the gameplay of the video game is defined based on the selected region of interest; A restricted version of the video game is generated based on the defined boundary; where the method is executed by the processor.
In one embodiment, defining the boundary of the gameplay of the video game includes defining the space boundary in the virtual space of the video game; the space boundary in the virtual space of the video game defines the part of the virtual space that is smaller than the whole of the virtual space. This part of the virtual space has a subset of the characteristics of the virtual space.
In one embodiment, defining the boundary of the gameplay context of the video game includes defining the time boundary of the time context of the video game.
In one embodiment, defining the boundary includes identifying the most recent start of a stage, level, or scene Point or nearest end point.
In one embodiment, at least one of the thresholds is associated with user input, the rate of user input, the frequency of user input, the repetition of user input, the input mode, the gameplay situation, and other users' Sharing, posting of comments related to gameplay on social networks, or one or more of the popularity of video games based on social network sharing levels.
<b>Generation of multi-part analog games of cloud games based on recorded gameplay</b>
In one embodiment, a method for generating a trial 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; determining the user's recorded gameplay Multiple user-defined parts; 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 Each of the trial parts of the game are arranged in a series to define a limited version of the video game; wherein the method is executed by the processor.
In one embodiment, the user-defined part of determining 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 user-defined start point and user-defined end point determine the user-defined part.
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 part of the video game includes: analyzing the game state data to identify the code element; and combining the code elements to define the executable code that defines the trial play part of the video game.
In one embodiment, defining the boundary of the gameplay situation of the video game includes defining the space boundary in the virtual space of the video game. In one embodiment, the space boundary in the virtual space of the video game defines a part of the virtual space that is smaller than the whole of the virtual solid, and the part of the virtual space has a subset of the characteristics of the virtual space.
In one embodiment, defining the boundary of the gameplay context of the video game includes defining the time boundary of the time context of the video game.
In one embodiment, the method further includes: for each user-defined part, analyzing the recorded game play of the user to determine the user's game state setting; and generating the trial part of the video game includes based on the determined The user game state setting defines the trial part of the video game to have an initial game state setting.
In an embodiment, defining the boundary includes identifying the nearest starting point or ending point of one or more of a stage, a level, or a scene.
In one embodiment, the method further includes recording a user-defined video; wherein arranging the trial part of the video game includes arranging the user-defined video before or after one of the trial parts of the video game Position within the series. In one embodiment, the user-defined video includes video from at least one of the user-defined portions of the recorded game play of the user.
In another embodiment, a tangible computer readable medium is provided, which includes program instructions for generating a trial limited version of a video game, which includes the following: a user's game for recording the full version of the video game Program instructions for gameplay; program instructions for determining multiple user-defined parts of the user's recorded gameplay; for each user-defined part, the game of the video game is defined based on the user-defined part The boundary of the gameplay situation, and based on the defined boundary, generate the program instructions for the trial part of the video game; the program used to arrange each of the trial parts of the video game into a series to define the limited version of the video game instruction.
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 user-defined start point and user-defined end point determine the user-defined part.
In one embodiment, recording the user's gameplay includes recording user input data Or one or more of the game status data. In one embodiment, generating the trial play portion of the video game includes: analyzing the game state data to identify the code element; and combining the code elements to define the executable code that defines the trial play portion of the video game.
In one embodiment, the tangible computer-readable medium further includes: program instructions for analyzing the recorded gameplay of the user for each user-defined part to determine the user's game state setting; and generating a video game therein The trial play part includes a trial play part that defines the video game based on the determined user game state setting to have an initial game state setting.
In another embodiment, a system is provided, which 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, including logic for The logic for recording the user's gameplay of the full version of the video game; the logic for determining multiple user-defined parts of the user's recorded gameplay; for each user-defined part based on the user The custom part defines the boundary of the gameplay 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 game The logic of the restricted version.
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 user-defined start point and user-defined end point determine the user-defined part.
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 the code element; and combining the code elements to define the executable code that defines the trial play portion of the video game.
In one embodiment, the logic further includes logic for analyzing the recorded game play of the user for each user-defined part to determine the user's game state setting; And generating the trial play portion of the video game includes defining the trial play portion of the video game to have an initial game state setting based on the determined user game state setting.
<b>Share the recorded gameplay to the social graph</b>
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 the video of the user's gameplay; in the gameplay During the active state of the session, receive the command to initiate the sharing operation; in response to receiving the command, enter the pause state of the gameplay session and present the shared interface; process the input received through the shared interface to determine the user of the recorded video User-defined selection; user-defined selection of sharing the recorded video to the user's social graph; restarting the activity state of the gameplay session; wherein the method is executed by the processor.
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.
In one embodiment, presenting the shared interface includes retrieving and presenting one or more parts of the video from the buffer.
In one embodiment, the shared interface includes a duration selector for defining the duration of the user-defined selection.
In one embodiment, sharing the selection includes uploading the selection so as to be available on the social network service that defines the social graph of the user.
In one embodiment, uploading the selection includes compressing the selection and uploading the compressed selection.
In one embodiment, sharing the selection includes generating a notification to members of the user's social graph.
In one embodiment, the notification consists of private messages, chat messages, in-game notifications, postings related to social news feeds, and emails.
In one embodiment, sharing the selection includes presenting the selection on the user's profile page.
In one embodiment, a button press on the self-controller device defines receiving a command to initiate a shared operation.
In another embodiment, a method for sharing 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 the command to initiate the 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 selection of the recorded video to the user's social graph ; Wherein the method is executed by the processor.
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.
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 recognizes a part of the video.
In one embodiment, sharing the selection includes uploading the selection so as to be available on the social network service that defines the social graph of the user.
In one embodiment, a button press on the self-controller device defines receiving a command to initiate a shared operation.
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 the video of the user's gameplay during the active state of the gameplay session; program instructions for receiving the command to initiate a shared operation during the active state of the gameplay session; In response to receiving the command to determine the user-defined selection of the recorded video, the program command is used to share the user-defined selection of the recorded video to the user's social graph.
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.
In one embodiment, the user-defined selection for determining the recorded video includes self-buffering The device captures and presents the video, and processes user input that recognizes a part of the video.
In one embodiment, sharing the selection includes uploading the selection so as to be available on the social network service that defines the social graph of the user.
In one embodiment, a button press on the self-controller device defines receiving a command to initiate a shared operation.
<b>The second user's remote control of the first user's gameplay</b>
In one embodiment, a method for providing remote control of a user's gameplay is provided, the method includes the following method operations: presenting a live video feed of the first user's gameplay to a remote second user Handle the request to transfer the control of the game play of the first user to the second user; initiate the control of the game play of the first user by the second user; wherein the method is executed by at least one processor.
In one embodiment, initiating the second user's control of the first user's gameplay includes deactivating the first controller device associated with the first user's control of the first user's gameplay; and activating The second controller device associated with the second user controls the game play of the first user.
In one embodiment, the second controller device controlling 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.
In one embodiment, a social interface is used to present a live video feed to the second user, the social interface provides access to the second user's social graph, and the first user is defined as the second user's social Members of the Atlas.
In one embodiment, the social interface includes a comment interface for posting comments during the gameplay of the first user.
In one embodiment, processing the transfer control request includes receiving a confirmation from the first user to allow the second user to control the game play of the first user.
In one embodiment, the gameplay of the first user is presented to the second user The live video feed includes the presentation of the live video feed in a non-full-screen format; and the initiation of the second user's control of the first user's gameplay includes triggering the presentation of the live video feed in the full-screen format.
In another embodiment, a method for providing multi-player gameplay is provided, which includes the following method operations: presenting a live video feed of a gameplay session of the first user to a remote second user; A request for the user to join the gameplay session of the first user; the gameplay is initiated by the second user in the gameplay session of the first user; wherein the method is executed by at least one processor.
In one embodiment, the initiation of the gameplay by the second user in the gameplay session of the first user includes a multi-player mode of initiating a video game.
In one embodiment, a social interface is used to present a live video feed to a second user, the social interface provides access to the second user's social graph, and the first user is defined as the second user's Member of the social graph.
In one embodiment, the social interface includes a comment interface for posting comments during the gameplay of the first user.
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.
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; Gameplay includes triggering the presentation of live video feeds in full-screen format.
In another embodiment, there is provided a stable computer-readable medium including program instructions for providing remote control of a user's gameplay, and the program instructions include: 2. The user presents the program instructions of the live video feed of the game play of the first user; A program command that controls the request transferred to the second user; a program command used to initiate the second user's control of the first user's gameplay.
In one embodiment, initiating the second user's control of the first user's gameplay includes deactivating the first controller device associated with the first user's control of the first user's gameplay; and activating The second controller device associated with the second user controls the game play of the first user.
In one embodiment, the second controller device controlling 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.
In one embodiment, a social interface is used to present a live video feed to the second user, the social interface provides access to the second user's social graph, and the first user is defined as the second user's social Members of the Atlas.
In one embodiment, the social interface includes a comment interface for posting comments during the gameplay of the first user.
In one embodiment, processing the transfer control request includes receiving a confirmation from the first user to allow the second user to control the game play of the first user.
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 This includes triggering the presentation of live video feeds in full-screen format.
FIG. 20 illustrates a hardware and user interface that can be used to provide interactivity with a video game according to an embodiment of the present invention. FIG. 20 schematically illustrates the overall system architecture of a Sony® Playstation 3® 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 that can be connected to the system unit 2000. System unit 2000 includes: unit processor 2028; Rambus® dynamic random access memory (XDRAM) unit Element 2026; 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 the Blu Ray® Disk BD-ROM® optical disc reader 2040, which is used to access the disk 2040a and removable hard disk drive (HDD) 2036 that can be accessed via the I/O bridge 2034 Read. Optionally, the system unit 2000 also includes a memory card reader 2038 for reading compressed flash memory cards, Memory Stick® memory cards and the like, which is similar to that which can be read via the I/O bridge 2034.
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 Bluetooth® wireless link port 2018 that can support up to seven Bluetooth connections.
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 the Bluetooth link, and directs it to the unit processor 2028, which updates the game's data separately Current status.
USB and Ethernet ports also provide connectivity for other peripheral devices in addition to game controllers 2002 to 2003, such as: remote control 2004; keyboard 2006; mouse 2008; portable entertainment device 2010, such as Sony Playstation Portable® entertainment device; video camera, such as EyeToy® video camera 2012; microphone headset 2014; and microphone 2015. These 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.
The provision of these interfaces means that Playstation 3 devices are also potentially compatible with other peripheral devices, such as digital video recorders (DVR), set-top boxes, digital cameras, portable media players, and IP voice Phones, mobile phones, printers and scanners.
In addition, the traditional memory card reader 2016 can be connected to the system unit via the USB port 2024. Yuan, so as to achieve the reading of the memory card 2048 of the type used by the Playstation® or Playstation 2® device.
The game controllers 2002 to 2003 are operable to communicate wirelessly 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 memory, processors, memory card readers, permanent memory such as flash memory, optical transmitters (such as illuminated spherical parts, LEDs or infrared light), Microphones and speakers for ultrasonic communication, soundproof boxes, digital cameras, internal clocks, recognizable shapes such as the spherical part facing game consoles, and use such as Bluetooth®, WiFi<sup>TM</sup>Wireless communication with other protocols.
The game controller 2002 is a controller designed to be used with two hands, and the game controller 2003 is a single-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 user's gestures and movements of the game controller can be translated as input to the game in addition to or instead of conventional buttons or joystick commands. Optionally, for example, Playstation can be used<sup>TM</sup>Other wireless-enabled peripheral devices such as portable devices act as controllers. On Playstation<sup>TM</sup>In the case of a portable device, additional game or control information (for example, control commands 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 customized controllers, such as individual controllers for quick response to intellectual games Or several large buttons (also not shown).
The remote control 2004 is also operable to communicate wirelessly with the system unit 2000 via the Bluetooth link. Remote control 704 includes suitable for Blu Ray<sup>TM</sup>The operation of the disk BD-ROM reader 2040 is suitable for the navigation of disk contents.
Blu Ray<sup>TM</sup>The magnetic disk 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 can also be operated to read the devices of the game machine 2 and the game machine 3 Compatible DVD-ROM, as well as conventional pre-recorded and recordable DVDs. The reader 2040 is further operable to read a BD-ROM compatible with the gaming machine 3 device, as well as conventional pre-recorded and recordable Blu-ray disks.
The system unit 2000 is operable to supply the audio and video generated or decoded by the game machine 3 device via the reality synthesizer graphics unit 2030 to the display and the sound output device 2042 through the audio and video connectors, for example, has a display 2044 and one or more Speaker 2046 monitor or TV. The audio connector 2050 may include conventional analog and digital outputs, while the video connector 2052 may 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.
Audio processing (generation, decoding, etc.) is executed by the unit processor 2028. The operating system of the game console 3 devices supports Dolby® 5.1 surround sound, Dolby® Theater Surround (DTS) and decoding of 7.1 surround sound from Blu-Ray® disks.
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 the MPEG in the image). (Moving Picture Experts Group) standard) transmission for decoding by the system unit 2000. 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 can be connected to the system unit 700 via a USB, Bluetooth, or Wi-Fi communication port in various ways. Embodiments of video cameras may include one or more associated microphones, and are also capable of transmitting audio data. In the embodiment of the video camera, the CCD may have a resolution suitable for high-resolution video capture. In use, the image captured by the video camera can be incorporated into the game, for example, or interpreted as a game control input. In another embodiment, the camera is an infrared camera suitable for detecting infrared light.
Generally speaking, in order to successfully communicate with peripheral devices such as video cameras or remote controls via one of the communication ports of the system unit 2000, an appropriate Software, such as device drivers. 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 present invention.
Figure 21 illustrates additional hardware that can be used to process instructions according to an 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 component 2150; Two auxiliary arithmetic units, called cooperative processing elements (SPE) 2110A to H; and the loop data bus connecting the above-mentioned components, called component interconnection bus 2180. The total floating point performance of the unit processor is 218 GFLOPS, which is compared with the 6.2 GFLOP of the emotion engine of the game console 2 device.
The power processing element (PPE) 2150 is based on a bidirectional simultaneous multi-threaded power 570 compliant power PC core (PPU) 855 running in conjunction with an internal clock of 3.2 GHz. PPE 2150 includes 512kB level 2 (L2) cache and 32kB level 1 (L1) cache memory. PPE 2150 can perform eight single-position operations per clock cycle, which translates into 25.6 GFLOP at 3.2GHz. 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, the PPE 2150 maintains a job queue to schedule jobs for the co-processing elements 2110A to H, and monitor their progress. Therefore, each co-processing element 2110A to H runs a kernel whose role is to fetch a job, execute the job and synchronize with the PPE 2150.
Each co-processing element (SPE) 2110A to H includes a respective co-processing unit (SPU) 2120A to H, and a respective memory flow controller (MFC) 2140A to H, which in turn includes a respective dynamic memory Access controllers (DMAC) 2142A to H, respective memory management units (MMU) 2144A to H, and bus interface (not shown). Each SPU 2120A to H is a RISC processor clocked at 3.2GHz and includes 256kB of local RAM 2130A to H, which can be expanded to 4GB in principle. Each SPE gives a theoretical 25.6 GFLOPS of single precision performance. SPU can float 4 single precisions in a single clock loop Point members, 4 32-bit numbers, 8 16-bit integers, or 16 8-bit integers to operate. In the same clock loop, it can also perform memory operations. SPU 2120A to H do not directly access the system memory XDRAM 2026; the 64-bit address formed by SPU 2120A to H is transferred to MFC 2140A to H, which instructs its DMA controller 2142A to H to pass through the component interconnection bus 2180 and memory The body controller 2160 accesses the memory.
The component interconnection bus (EIB) 2180 is a communication bus that loops logically inside the unit processor 2028, which connects the above-mentioned processor components, namely PPE 2150, memory controller 2160, and dual bus interfaces 2170A, B , And 8 SPE 2110A to H, for 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 2110A 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. With full utilization via arbitration between participants, the theoretical peak transient EIB bandwidth of 12 slots is therefore 96B per clock. This is equivalent to a theoretical peak bandwidth of 307.2GB/s (thousands of megabytes per second) at a clock rate of 3.2GHz.
The memory controller 2160 includes the XDRAM interface 2162, which was developed by Rambus Incorporated. The memory controller is interfaced with Lambs XDRAM 2026 with a theoretical peak bandwidth of 25.6GB/s.
Dual bus interface 2170A, B includes Lambs FlexIO® system interface 2172A, B. Organize the interface 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 provides 62.4GB/s between the unit processor and I/O bridge 2034 via the controller 2170A and the reality simulator graphics unit 2130 via the controller 2170B (36.4GB/s is outside the site, and 26GB/s is The theoretical peak bandwidth of the station).
The data sent by the unit processor 2128 to the graphics unit 2130 of the reality simulator will usually include a display list, which is to draw vertices, apply textures to polygons, and specify lighting conditions And so on the sequence of commands.
FIG. 22 is an illustrative illustration of scenes A to E of 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.
The user interacts with the game client through the controller. In some embodiments, the controller is a specific controller of the game client, while in other embodiments, the controller may be a combination of a keyboard and a mouse. In one embodiment, the game client is not an independent device capable of outputting audio and video signals to establish a multimedia environment through a monitor/TV and associated audio equipment. For example, the game client can be, but is not limited to, a thin client; internal PCI expansion card; external PCI expansion device; expansion card device; internal, external or wireless USB device, or 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).
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. Scene C illustrates the view viewed 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 FIG. 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.
When the game client 2202 is connected 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. Example 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 custom settings of individual games, and the general settings of the game client. In one embodiment, the user positioning module processed by the server is used to determine the geographic location of the user and his respective 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 requirements of multiple server processing modules. Either or both of virtualized network processing and network storage will allow processing tasks from the game client 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 data transmission between the server processing module and the game client.
The server processing module has examples of server application A and server application B. The server processing module can support multiple server applications, such as the server application X<sub>1</sub>And server application X<sub>2</sub>instruct. 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 solutions are used to process the server application. This allows server processing to be scaled to accommodate a larger number of game clients running multiple client applications and corresponding server applications. Alternatively, the server processing can be scaled proportionally to accommodate more demanding graphics processing or game, video compression, or increased computational requirements necessary for application complexity. In one embodiment, the server processing module executes 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. Send the processed server application data back to the corresponding game client via the Internet for display on the monitor.
Scene C illustrates an exemplary application 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 watch the 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 images or avatars of each user on the monitor 2204C. The server processes and executes the respective application programs of the game client 2202C and the respective game client 2202 of user A, user B, user D, and user E. Because the server process knows which application the game client B is running, 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.
In addition to being able to watch videos from partners, communication applications can also allow instant communication between partners. As applied to the previous example, this allows user A to provide encouragement or reminders when watching user B's live video. In one embodiment, a two-way real-time voice communication is established by the client/server application. In another embodiment, the client/server application achieves a text chat. In another embodiment, the client/server application converts speech into text for display on the partner's screen.
Scene D and Scene E illustrate respective user D and user E interacting with game consoles 2210D 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 the game console and the game client.
Figure 23 illustrates an embodiment of an information service provider architecture. An Information Service Provider (ISP) 2370 delivers a large number of information services to users 2382 that are geographically dispersed and connected via a network 2386. The ISP can deliver only one type of service, such as stock price updates; or multiple services, such as broadcast media, news, sports, games, and so on. 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 a user is in her hometown, the user can be served by an ISP close to the user, and when the user When traveling to different cities, users can be served by different ISPs. The hometown ISP will send the required information and data to the new ISP so that the user information "follows" the user to the new city, making the data 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 the user under the control of the host ISP). In other embodiments, data can be transmitted from one ISP to another ISP when the user terminal moves around the world, so that the ISP is in a better position to serve the user who delivers these services.
ISP 2370 includes Application Service Provider (ASP) 2372, which provides computer-based services to customers via the Internet. 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 (for example, 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 HTML through a web browser, through a dedicated client software provided by the supplier, or other remote interfaces such as a thin client.
Services delivered over a wider geographic area usually use cloud computing. Cloud computing is a computing type in which dynamically scalable and usually virtualized resources are provided as a service 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 business applications accessed from a web browser, and the 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.
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 a dedicated server application that collects data from players and distributes it to other players. Compare this move The layout is efficient and effective, but it requires a separate server to host the server application. In another embodiment, GPS establishes communication between players and their respective game playing devices, and does not rely on centralized GPS to exchange information.
The dedicated GPS is a server that runs independently of the client. These servers usually run on dedicated hardware located in the data center to provide more bandwidth and dedicated processing power. Dedicated servers are the preferred method for hosting game servers for most PC-based multi-player games. Massively multiplayer online games run on dedicated servers usually hosted by software companies that have the game's name, allowing them to control and update content.
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 by wired TV or cable radio (or "wireless cable") , Come via this station or directly from the Internet. The Internet can also bring radio or TV to the receiver, especially through multicast, allowing the sharing of signals and bandwidth. Historically, broadcasting has been demarcated based on geographic regions, such as national broadcasting or regional broadcasting. However, for the proliferation of the fast Internet, broadcasting is not defined by geography, because the content can reach almost any country in the world.
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 backup services, and if the user's computer hard drive fails, the user will not lose his data. In addition, multiple SSPs can have total copies 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).
The communication provider 2380 provides connectivity to users. A communication provider provides Internet Service Provider (ISP) with access to the Internet. ISPs use data transmission technologies suitable for delivering Internet protocol datagrams (such as dial-up, DSL, cable modem, wireless or dedicated high-speed interconnection) to connect to their customers. Communication providers can also provide messaging services, such as e-mail, instant messaging, and SMS text messaging. Another type of communication provider is a network service provider (NSP), which sells bandwidth or network access by providing direct backbone access to the Internet. Internet 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.
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 the modules of the ISP 2370 are close, or cover a larger geographic area when the 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).
The user 2382 uses the client device 2384 to access the remote service. The client device 2384 includes at least one CPU, 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 standard communication methods (such as html) to access the ISP 2370.
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 invention can also be practiced in a distributed computing environment, where tasks are performed by remote processing devices linked via wired or wireless networks.
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 is a useful machine operation. The present invention also relates to devices or equipment for performing these operations. The device It 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 combination with computer programs written according to the teachings of this article, or to construct more specialized equipment to perform the required operations.
The present invention can also be embodied as computer readable code on a computer readable medium. A computer-readable medium is any data storage device that can store data, which can be read by a computer system later. Examples of computer-readable media include hard disk 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.
Although 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 associated with the processing In a system where various intervals occur, it is sufficient to perform the processing of the cover operation in the desired manner.
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 patent application. 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 can be modified within the scope and equivalents of the patent application.
187 members in 11 offices
Priority claims30
| Document | Office | Kind | Date |
|---|---|---|---|
| 201261745281 | United States of America | P | |
| 201261745281 | United States of America | P | |
| 201261745290 | United States of America | P | |
| 201261745290 | United States of America | P | |
| 61745281 | United States of America | – | |
| 61745290 | United States of America | – | |
| 13831178 | United States of America | – | |
| 13831190 | United States of America | – | |
| 201313831178 | United States of America | A | |
| 201313831178 | United States of America | A | |
| 201313831190 | United States of America | A | |
| 201313831190 | United States of America | A | |
| 13839382 | United States of America | – | |
| 13839486 | United States of America | – | |
| 201313839382 | United States of America | A | |
| 201313839382 | United States of America | A | |
| 201313839486 | United States of America | A | |
| 201313839486 | United States of America | A | |
| 201261745281P | – | – | – |
| 201261745290P | – | – | – |
| 201313831178 | – | – | – |
| 201313831190 | – | – | – |
| 201313839382 | – | – | – |
| 201313839486 | – | – | – |
| US201261745281P | – | – | – |
| US201261745290P | – | – | – |
| US201313831178 | – | – | – |
| US201313831190 | – | – | – |
| US201313839382 | – | – | – |
| US201313839486 | – | – | – |
Members187
| 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 | |
| TW201440856AThis record | 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 |
Numbers
- Publication
- 201440856
- Publication, DOCDB
- 201440856
- Publication, EPODOC
- TW201440856
- Application
- 102147624
- Application, DOCDB
- 102147624
- Application, EPODOC
- TW20132147624
Titles4
- English
- REMOTE CONTROL OF A FIRST USER'S GAMEPLAY BY A SECOND USER
- Chinese
- 第二使用者對第一使用者之遊戲玩法的遠端控制
- English
- REMOTE CONTROL OF A FIRST USER’S GAMEPLAY BY A SECOND USER
- English
- The second user's remote control of the first user's gameplay
Classification
- CPC, 16
- A63F13/47
- A63F13/497
- A63F13/88
- A63F13/60
- A63F13/35
- A63F13/533
- A63F13/69
- A63F13/73
- A63F13/795
- A63F13/87
- H04N21/4781
- H04N21/4788
- A63F2300/554
- A63F2300/57
- A63F13/49
- A63F13/67
- IPC, 1
- A63F13 23