U.S. Pat. No. 8,298,059

METHOD, SYSTEM AND COMPUTER PROGRAM PRODUCT FOR CREATING CUSTOM TUTORIALS BASED ON INTERACTIVE GAMEPLAY

AssigneeInternational Business Machines Corp

Issue DateJune 9, 2010

Illustrative Figure

Abstract

The present invention provides a method, system, and program product for creating a custom tutorial comprising the controller inputs associated with the controller manipulations that cause an action observed by a player during game play. Controller inputs are saved during game play. In response to a first player performing an action to create a tutorial, controller inputs from a tagged player are captured. A custom tutorial is created for performing game actions performed by the tagged player's avatar comprising the captured controller inputs. The tutorial is sent to a memory device accessible by the first player.

Description

DETAILED DESCRIPTION The present invention provides a method, apparatus and program product for creating a custom tutorial for an interactive, multi-player game. During interactive, on-line game play, if a first player sees another second player perform an action that the first player would like to learn, the first player may choose to create a custom tutorial to learn the action. The tutorial comprises the controller inputs from the second player. The tutorial may further comprise video from the second player's perspective or the second player's avatar's perspective. FIG. 1is a block diagram of a game system set up for interactive multi-player gaming and for creating custom tutorials according to an embodiment of the present invention. Each player has a game console110,120,130. The game console may be a game platform, a personal computer, or another electronic device configured for game play. The game console comprises a processing unit112for processing controller inputs and game features, resolving actions, and generating video of the game action. The processing unit112may be any suitable hardware, software, or combination thereof. According to one embodiment, the processing unit comprises one or more microprocessors. A memory113is connected with the processing unit112through a bus111. Memory113may comprise Random access Memory (RAM), persistent memory, such as a hard drive, a CD-ROM, a DVD drive, a USB memory device, or the like, or a combination thereof. A game drive116is connected with the processing unit112through the bus111. The game drive116may be a hard drive with a game loaded on it or a memory drive configured to receive a game disc or other memory device with a game encoded thereon. The game drive provides game features to the processing unit112. Game features may include, but are not limited to: the appearance, location, and behavior of a game environment, appearance of a player's avatar, rules for ...

DETAILED DESCRIPTION

The present invention provides a method, apparatus and program product for creating a custom tutorial for an interactive, multi-player game. During interactive, on-line game play, if a first player sees another second player perform an action that the first player would like to learn, the first player may choose to create a custom tutorial to learn the action. The tutorial comprises the controller inputs from the second player. The tutorial may further comprise video from the second player's perspective or the second player's avatar's perspective.

FIG. 1is a block diagram of a game system set up for interactive multi-player gaming and for creating custom tutorials according to an embodiment of the present invention. Each player has a game console110,120,130. The game console may be a game platform, a personal computer, or another electronic device configured for game play. The game console comprises a processing unit112for processing controller inputs and game features, resolving actions, and generating video of the game action. The processing unit112may be any suitable hardware, software, or combination thereof. According to one embodiment, the processing unit comprises one or more microprocessors.

A memory113is connected with the processing unit112through a bus111. Memory113may comprise Random access Memory (RAM), persistent memory, such as a hard drive, a CD-ROM, a DVD drive, a USB memory device, or the like, or a combination thereof.

A game drive116is connected with the processing unit112through the bus111. The game drive116may be a hard drive with a game loaded on it or a memory drive configured to receive a game disc or other memory device with a game encoded thereon. The game drive provides game features to the processing unit112. Game features may include, but are not limited to: the appearance, location, and behavior of a game environment, appearance of a player's avatar, rules for interaction between the player's avatar and the game features, and rules for interpretation of controller inputs.

A controller interface114is also connected with the processing unit112through the bus111. The controller interface114receives controller inputs in the form of electromagnetic signals from a controller117, and transmits them through the bus11to the processing unit112. The controller interface114may be connected to the controller117through wires or may be operably connected through transmission and receiving of wireless signals.

The controller117is configured with one or more controls, including but not limited to: joysticks, buttons, and movement sensors like accelerometers. A player manipulates the various controls and/or the controller, itself to create controller inputs which are interpreted by the processing unit112under controller rules provided by the game disc as actions within the game. Control inputs may comprise combinations of control manipulations performed simultaneously or in particular sequences. Moreover, actions may be related to other actions to form more complex actions when performed in particular relationships with each other.

A monitor117is also connected with the processor112through the bus111. The processor112processes the game features and the controller inputs to resolve game action and creates a video of the game action. The video is sent to the monitor117through the bus111and displayed on the monitor117for the paler to view.

In an on-line version of the game, the console110is connected to a game server150through a network140and a network interface115. The network140may be the Internet, an intranet or any other network suitable for providing communication between client consoles and a server. The network interface115may be an Ethernet card, or any other interface suitable for connecting to a network. The network interface is connected to the processing unit112through bus111.

The server150comprises a processing unit152. In the on-line version of the game, controller inputs are sent by the console110to the server150, and the server processing unit152processes controller inputs and game features, and resolves actions. Video of the game action may be created at the server processing unit152or the console processing unit112. The server processing unit152may be any suitable hardware, software, or combination thereof. According to one embodiment, the processing unit comprises one or more microprocessors.

The server may further comprise a memory153which may be internal to the server or may be an external memory device. The memory153is connected with the server processing unit152through a bus151. A plurality of consoles110,120,130are connected to the server processing unit through a network140and a network interface154in the server150.

According to one embodiment, a player who is playing a game on-line may choose to create a custom tutorial upon observing an action or a combination of actions on the players monitor118. The actions may be performed by the player's own avatar or by an avatar of another on-line player. In this embodiment, the server saves the controller inputs for each player, at least temporarily. This may be accomplished, for example, by placing the controller inputs into a cache157which holds a rolling period of controller inputs or a rolling volume of controller inputs. For example, the cache may hold a volume of controller inputs that correspond to an average of ten minutes of game play. The cache157may be disposed in server memory153in console memory113, or in a remote memory external to the server and the console.

A player may initiate the creation of a custom tutorial by executing a combination of controller manipulations upon seeing an action which the player would like to learn. The initiating controller manipulations may be a set combination or may be tied into an existing capability to interrupt a game and access one or more user interface controls, whereby the player may select from predefined choices or input parameters for the tutorial.

The player initiating the tutorial may be prompted through a user interface such as a menu or dialog box or the like to select parameters for the tutorial. The parameters may include, for example, selecting an avatar whose action the player would like to learn, and selecting a time period for the actions to be included in the tutorial. It should be understood that other parameters may also be prompted and selected, such as where to store the tutorial, whether or not to include video, how to display the controller inputs and the video, and other relevant parameters. Alternatively or additionally, one or more parameters may be set as user preferences. One or more parameters may be instead or additionally predefined or have default values programmed into the tutorial application.

A tutorial application158may capture controller inputs from the saved inputs in the cache157and create a tutorial from the captured controller inputs. The tutorial158may then be sent to a memory accessible to the player who created it. For example, the tutorial158may be saved in server memory159, as illustrated inFIG. 1. Alternatively, the tutorial may be saved in console memory113or a remote memory not associated with the server150or console110.

FIG. 2is a flow diagram of a method for creating a custom tutorial for a video game according to one embodiment of the present invention. In the illustrated embodiment two players are playing a game on-line (step210), although it should be understood that more than two players may play a game interactively on-line, and that one player may play alone on-line. Furthermore, as will be described below, a player may create a custom tutorial from interactive game play on a single console or from solo game play on a console.

During game play, the first player may unknowingly trigger an action (step220). That is, the first player may inadvertently input a combination of controller manipulations that result in an action that the first player had not intended. When the first player sees the action of his/her avatar on his/her monitor118, the first player may wonder how he/she triggered that action.

Upon seeing the action on that was inadvertently triggered on the monitor118, the first player decides whether or not to create a tutorial to learn the controller manipulations that caused the action (step235). If the first player decides to create a tutorial, he/she performs a controller manipulation to create a tutorial, which automatically saves the controller inputs that triggered the action (step240). Then, the tutorial application158creates a tutorial which includes the controller inputs that triggered the chosen action, and the first user continues game play (step250). If the first player does not create a tutorial, then the game play continues (step250).

The first user may choose to create a tutorial in a variety of ways depending upon the configuration of the tutorial application158in step240. A specific combination of controller inputs may be defined to initiate the creation of a tutorial. Alternatively, the tutorial application158may be configured to utilize an existing command to initiate a user interface session, such as a menu or a dialog box in which the application prompts the first user to provide the information necessary to define the tutorial. According to another alternative embodiment, the tutorial application may use pre-defined user preferences or default settings to create a tutorial having pre-set parameters.

During game play a first player may see a second player trigger an action that the first player is not familiar with (step230). Again the first user may choose whether or not to create a tutorial to learn to trigger the observed action (step235). If the first player chooses to create a tutorial, he/she performs a controller manipulation to create a tutorial. The controller inputs from the controller manipulation launch a tutorial application158according to one embodiment. The tutorial application158may prompt the first user to tag the avatar for whose action the first user wants to create a tutorial. Alternatively, the tutorial application may choose the avatar to tag based on user preferences or default criteria. The tutorial application158automatically saves the controller inputs that triggered the action of the tagged avatar (step240). Then, the tutorial application158creates a tutorial which includes the controller inputs that triggered the chosen action, and the first user continues game play (step250). If the first player does not create a tutorial, then the game play continues (step250). According to one embodiment, the tutorial application may further save video of the action from the tagged avatar's perspective. The newly created custom tutorial is saved in a memory accessible to the first player. In one embodiment, the tutorial is saved in server memory159, console memory113, or in another memory, such as a third party memory.

As game play continues, a decision is made of whether or not to end game play (step255). A player or players may decide to end game play and perform controller inputs that are pre-defined to end the game. Alternatively, game play may be ended by game rules, such as a defined play time or a defined objective in the game. If a decision is made to end the game, then the game ends (step260). If mot, then game play continues.

After the game ends, the first player can access the tutorials that he/she made during game play in order to practice the controller inputs that trigger the chosen action (step270).

FIG. 3is a flow diagram of a method at a game server for creating a custom tutorial for an interactive, multi-player game according to an embodiment of the present invention. A stream of controller inputs is sent to the game server150by each console110,120,130in an on-line game. The game server150saves the controller inputs, at least temporarily (step310). According to one embodiment, video of game action is also saved in step310. Saving video may comprise saving video output that is sent to a console monitor118,128,138when the video is created by the game server. Alternatively, saving video may comprise saving resolution of actions that are sent to the individual consoles to create video.

The controller inputs and if appropriate the video output may be saved in server memory153, such as in a cache that holds data for a limited time. The data may alternatively be saved in persistent storage for an entire game or even longer. The controller input and video data may instead be sent to the consoles110,120,130and stored in console memory113,123,133or to a third party location, such as a server of an independent service provider or web page that runs a tutorial application and creates custom tutorials.

A first player initiates tutorial creation (step320). According to one embodiment, this step also includes the first player indicates the avatar performing the chosen action. The player may initiate tutorial creation by launching a tutorial application158. This may be accomplished by performing a pre-defined combination of controller manipulations recognizable by the game server150, for example. Alternatively, the tutorial application158may be launched from a user interface, such as a menu or dialog box that is built into the game and opened by a pre-defined course of action by the first player. The tutorial application may prompt the first player to indicate an avatar, or an avatar may be selected based on previously set user preferences or default settings, using factors such as proximity to the first user's avatar, selecting the most advanced action performed in the last thirty seconds, and the like.

In response to a player performing an action to create a tutorial and indicating a user's avatar during interactive game play, the tutorial application158tags the player with the indicated avatar (step330). The first player may be prompted to select an avatar to be tagged, as described above. This may be accomplished by showing controller input designations over each avatar within a defined proximity to the first user's avatar, for example. It should be understood that it is desirable to provide the necessary inputs for creating a tutorial as quickly as possible so that the first player can resume game play. It should also be understood that the first player may tag his/her own avatar.

The tutorial application158sets parameters for the tutorial (step340). Tutorial parameters may include, for example, the period of time to back and capture controller inputs, whether or not to capture or create video to correspond with the chosen action, where to save the tutorial that is created, and any other parameters necessary to create and provide a custom tutorial. The tutorial application may set parameters by prompting selections from the first player or by applying user preferences or default parameters.

The tutorial application158captures controller inputs from the tagged player corresponding to the chosen action (step350). This may be accomplished, for example, by searching a cache157where the controller inputs were stored and saving the controller inputs from the tagged player over a defined time into a tutorial file159.

The tutorial application158may also capture video corresponding to the chosen action (step360). As previously described, the video may be a streaming video of game action from the game server150to the consoles110,120,130. Alternatively, the video may be a stream of data comprising resolution of game action usable to create a video by a game console110,120,130.

The tutorial application158then creates a custom tutorial for performing game actions performed by the tagged user's avatar comprising the captured controller inputs and, if applicable video of game action (step370). The tutorial may comprise an image of a controller117,127,137with manipulations corresponding to the controller inputs saved in the tutorial. The manipulated controls may be shown in a different color or other highlighting to emphasize the controller manipulations. Alternatively, codes for the controller manipulations may scroll on the monitor117, such as ā€œLā€ for a left button, ā€œAā€ for an A button, and the like. Video may be shown with the controller manipulations to enhance the training effectiveness of the tutorial.

The tutorial application158sends the custom tutorial to a memory device accessible by the first user (step380).

While embodiments of the present invention have been illustrated and described in which the tutorial application158is encoded in memory153at the server150, and the controller inputs are stored and captured at the server150, it should be understood by those skilled in the art that the tutorial application158could be encoded on memory at a console110,120,130and used to create tutorials of actions in games that that are not played on-line, or for creating tutorials for on-line actions by a player on the same console as the first player. Alternatively, the tutorial application may be encoded on a remote server or web page with access to the stream of controller inputs.

The invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In an exemplary embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.

Furthermore, the invention may take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system or device. For the purposes of this description, a computer-usable or computer readable medium may be any apparatus that can contain or store the program for use by or in connection with the instruction execution system, apparatus, or device.

The foregoing method may be realized by a program product comprising a machine-readable medium having a machine-executable program of instructions, which when executed by a machine, such as a computer, performs the steps of the method. This program product may be stored on any of a variety of known machine-readable medium, including but not limited to compact discs, floppy discs, USB memory devices, and the like.

The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device). Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.

The preceding description and accompanying drawing are intended to be illustrative and not limiting of the invention. The scope of the invention is intended to encompass equivalent variations and configurations to the full extent of the following claims.

Claims

  1. A method for creating a custom tutorial for a video game, comprising the steps of: saving controller inputs during game play;in response to a first player performing an action at a time selected by the first player while the first player is playing the video game, tagging a selected player in the video game;capturing controller inputs performed by the tagged player during a period of time preceding the action by the first user;creating a custom tutorial for performing game actions performed by the tagged player's avatar during the period of time preceding the action comprising the captured controller inputs;and sending the custom tutorial to a memory device accessible by the first player.
  1. The method of claim 1 , wherein the first player indicates a player to be tagged, and the tagged player is the first player.
  2. The method of claim 1 , wherein the first player indicates a player to be tagged, and the tagged player is a second player.
  3. The method of claim 3 , wherein the game play comprises playing an interactive video game with other players over a network.
  4. The method of claim 1 , further comprising the steps of saving video of game play;and capturing a video of game action from the tagged player's perspective;wherein the step of creating a custom tutorial further comprises synchronizing the controller inputs and the game action video;and wherein the custom tutorial comprises the controller inputs and the video.
  5. The method of claim 4 wherein saving controller inputs comprises placing them in a cache which holds the controller inputs for a rolling period of time.
  6. The method of claim 1 , wherein creating a custom tutorial further comprises specifying the period of time prior to the tagging action to create the tutorial to include in the tutorial.
  7. A system for creating a custom tutorial for a video game, comprising: a controller having controls, the controller sending controller inputs to a processor in response to manipulation of the controls;a processor operably connected to the controller processing controller inputs and game features into game action and creating video of the game action;a memory operably connected to the processor storing controller inputs;and a memory having a tutorial application encoded thereon, the tutorial application tagging a player in the video game selected by a first user in response to the first user performing an action while the first player is playing the video game, capturing controller input performed by the tagged player during a period of time preceding the action by the first user, and creating a tutorial comprising the captured controller inputs.
  8. The system of claim 8 , wherein the processor is disposed in a game console.
  9. The system of claim 8 , wherein the processor is disposed in a game server connected with a plurality of game consoles for interactive on-line game play.
  10. The system of claim 8 wherein the tagged game player is the first game player.
  11. The system of claim 8 wherein the tagged game player is a second game player.
  12. The system of claim 8 wherein the tutorial application captures video of game action and the tutorial comprises the captured video.
  13. The system of claim 8 wherein the tutorial application enables the first player to select the period of time prior to the action to create the tutorial to include in the tutorial.
  14. A computer program product comprising a computer readable storage medium having encoded thereon a program of instructions, comprising: program instructions for saving controller inputs during game play;program instructions for tagging a selected player in the video game in response to a first player performing an action at a time selected by the first player while the first player is playing the video game: program instructions for capturing controller inputs performed by the tagged player during a period of time preceding the action by the first user;program instructions for creating a custom tutorial for performing game actions performed by the tagged player's avatar during the period of time preceding the action comprising the captured controller inputs;and program instructions for sending the custom tutorial to a memory device accessible by the first player.
  15. The computer program product of claim 15 , wherein the tagged player is not the first player.
  16. The computer program product of claim 15 wherein the program of instruction further comprises program instructions for saving video during game play;and program instructions for capturing video corresponding to the captured controller inputs and wherein the tutorial comprises the captured video.
  17. The computer program product of claim 15 wherein the program of instruction further comprises program instructions for specifying a period of time prior to the action to create the tutorial to include in the tutorial.

Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.