Program Mode Transition
A computing system is configured to execute a computer program on a server and to provide a video stream of the program output to a geographically remote client over a communication network. The computing system is further configured to provide executable content of the computer program to the client over the communication network in parallel with the video stream. When a sufficient amount of the executable content has been provided to the client execution of the computer program is transitioned from the server to the client. The transition optionally includes communicating a state of the computer program from the server to the client. The executable content can be provided to the client in an order that is determined based on the state of the computer program. Those parts of the executable content deemed most likely to be necessary to support game play on the client are given priority.
1 . A method for providing an online video game, comprising:
receiving a game command for the online video game at a video server system, the game command originating from a game controller operated by a game player;
maintaining a game state of the online video game at the video server system;
executing game logic of the online video game on the video server system in accordance with the game state and the game command to generate a video stream of the online video game;
transmitting the video stream from the video server system to a display associated with the game controller operated by the game player;
receiving a signal at the video server system from a button actuated by the game player requesting posting of selected game video to a website; and
posting the selected game video to the website.
2 . The method as recited in claim 1 , wherein the selected game video shows live play of the online video game by the game player.
3 . The method as recited in claim 1 , wherein the selected game video shows recorded play of the online video game by the game player.
4 . The method as recited in claim 1 , further comprising:
receiving a request to transition play of the online video game from said game player to a second game player, wherein said game player is first game player;
authenticating the request to transition play of the online video game;
receiving a next game command for the online video game at the video server system, the next game command originating from a game controller operated by the second game player;
executing game logic of the online video game on the video server system in accordance with the game state and next game command to generate the video stream of the online video game; and
transmitting the video stream from the video server system to a display associated with the game controller operated by the second game player.
5 . The method as recited in claim 4 , wherein the game state of the online video game is associated at the video server system with both the first game player and the second game player.
6 . The method as recited in claim 4 , wherein the request to transition play of the online video game includes a network address of a gaming device of the second game player.
7 . The method as recited in claim 4 , further comprising:
transmitting the video stream from the video server system to a display associated with the game controller operated by the first game player.
8 . The method as recited in claim 1 , wherein the website is a social networking website.
9 . The method as recited in claim 1 , further comprising:
receiving a video length setting from the game player; and
controlling a length of the selected game video posted to the website to be equal the video length setting.
10 . The method as recited in claim 1 , wherein the selected game video that is posted to the website is automatically selected by monitoring play of the online video game to detect occurrence of a particular event within the online video game.
11 . The method as recited in claim 1 , further comprising:
posting a link to the website in conjunction with posting the selected game video to the website, wherein activation of the link allows a second game player to play the online video game.
12 . The method as recited in claim 11 , wherein activation of the link allows the second game player to join in a game session that generated the game video that was selected for posting to the website.
13 . The method as recited in claim 11 , wherein activation of the link allows the second game player to begin a new game session of the online video game.
14 . The method as recited in claim 11 , further comprising:
upon activation of the link, assembling portions of executable game content of the online video game; and
transmitting the portions of the executable game content of the online video game to a computer system of the second game player.
15 . The method as recited in claim 14 , wherein the portions of executable game content of the online video game are selected to expedite initiation of game content execution on the computer system of the second game player.
16 . The method as recited in claim 15 , further comprising:
executing the executable game content of the online video game on the computer system of the second game player to generate a portion of game video at the computer system of the second game player.
17 . The method as recited in claim 16 , further comprising:
combining the portion of the game video generated at the computer system of the second game player with the video stream of the online video game generated at the video server system to obtain a complete version of game video; and
displaying the complete version of game video on a display of the computer system of the second game player.