U.S. Pat. No. 7,559,834

DYNAMIC JOIN/EXIT OF PLAYERS DURING PLAY OF CONSOLE-BASED VIDEO GAME

AssigneeMicrosoft Corporation

Issue DateDecember 2, 2002

Patent Arcade analysis Read the full post

U.S. Patent No. 7,559,834: Dynamic join/exit of players during play of console-based video game

 
U.S. Patent 7,559,834: Dynamic join/exit of players during play of console-based video game
Issued July 14, 2009, to Microsoft

Summary:

The ‘834 patent allows for people to join in or leave a game without having to restart the current session. The patent is exemplified most notably in squad-based shooter games where player, while attempting to achieve objectives, come and go at their on their own free will. Under the patent, whenever a new player connects a controller to the game consol, the image on the screen is split so as to allow the new player access to the game with his own screen and point-of-view. Before the new player enters the game, a menu appears informing the players that a new player is about to join. Once the new player joins into the game, he is allowed to pick from any of the available characters in the game. Whenever a player wishes to leave the game, he can do so without a problem. The player exits the game, the other plays are informed of his departure, and the artificial intelligence takes back control of the player and the game resumes.

Abstract:

A squad-based shooter video game allows players to dynamically join and leave the game, while that game is in progress, without the players having to save and restart the game. When a new player joins an in-progress game, a new squad member is allocated to the new player and the screen is split to present a viewing panel for the new player that depicts scenes from the perspective of the new squad member. When an existing player leaves the game, the screen is unsplit to remove the viewing panel for the exiting player and that player’s squad member becomes part of the squad being controlled by the remaining player(s).

Illustrative Claim:

1. A method implemented at least in part by a computing device comprising: facilitating play of a game played on the computing device, the computing device comprising a physical game console, by at least one existing player; detecting, by a processor of the physical game console, while the existing player is playing the game, a join condition indicating that a new player would like to join in playing the game, wherein the join condition is generated as a result of the new player connecting a game controller to the physical game console; upon the processor detecting the join condition, the processor automatically splitting an image displayed on a physical display to present multiple viewing panels such that the existing player views action through a first viewing panel and the new player views action through a second viewing panel; and the processor facilitating play of the game by the existing player and the new player.

Illustrative Figure

Abstract

A squad-based shooter video game allows players to dynamically join and leave the game, while that game is in progress, without the players having to save and restart the game. When a new player joins an in-progress game, a new squad member is allocated to the new player and the screen is split to present a viewing panel for the new player that depicts scenes from the perspective of the new squad member. When an existing player leaves the game, the screen is unsplit to remove the viewing panel for the exiting player and that player's squad member becomes part of the squad being controlled by the remaining player(s).

Description

The same numbers are used throughout the disclosure and figures to reference like components and features. DETAILED DESCRIPTION The following disclosure describes a squad-based, third person shooter video game that allows players to dynamically join or leave a game in progress without having to save and restart the game. When a new player joins the game (e.g., by plugging a controller into an available slot in the game console), the new player is granted control over a squad member not currently being controlled by another player. The screen display is split to provide multiple viewing panels for the current players. Each viewing panel corresponds to a player and depicts the game action from the perspective of that player's squad member. When the player leaves the game (e.g., by disconnecting the controller), the screen display is updated to remove the viewing panel for the exiting player. The process of joining and leaving is dynamic, allowing continuous and uninterrupted play as players come and go. For discussion purposes, the third-person shooter video game is described in the context of being played on a console-based gaming system that supports a limited number of game controllers and players. The gaming system will be described first, followed by a discussion of the dynamic join/exit techniques. Console-Based Gaming System FIG. 1shows an exemplary console-based gaming system100. It includes a game console102and up to four controllers, as represented by two controllers104(1) and104(2). The game console102is equipped with an internal hard disk drive and a portable media drive106. The portable media drive106supports various forms of portable storage media as represented by optical storage disc108. Examples of suitable portable storage media include DVD, CD-ROM, game discs, game cartridges, and so forth. The game console102has four slots110on its front face to support up to four controllers, although the number and ...

The same numbers are used throughout the disclosure and figures to reference like components and features.

DETAILED DESCRIPTION

The following disclosure describes a squad-based, third person shooter video game that allows players to dynamically join or leave a game in progress without having to save and restart the game. When a new player joins the game (e.g., by plugging a controller into an available slot in the game console), the new player is granted control over a squad member not currently being controlled by another player. The screen display is split to provide multiple viewing panels for the current players. Each viewing panel corresponds to a player and depicts the game action from the perspective of that player's squad member. When the player leaves the game (e.g., by disconnecting the controller), the screen display is updated to remove the viewing panel for the exiting player. The process of joining and leaving is dynamic, allowing continuous and uninterrupted play as players come and go.

For discussion purposes, the third-person shooter video game is described in the context of being played on a console-based gaming system that supports a limited number of game controllers and players. The gaming system will be described first, followed by a discussion of the dynamic join/exit techniques.

Console-Based Gaming System

FIG. 1shows an exemplary console-based gaming system100. It includes a game console102and up to four controllers, as represented by two controllers104(1) and104(2). The game console102is equipped with an internal hard disk drive and a portable media drive106. The portable media drive106supports various forms of portable storage media as represented by optical storage disc108. Examples of suitable portable storage media include DVD, CD-ROM, game discs, game cartridges, and so forth.

The game console102has four slots110on its front face to support up to four controllers, although the number and arrangement of slots may be modified. A power button112and an eject button114are also positioned on the front face of the game console102. The power button112switches power to the game console and the eject button114alternately opens and closes a tray of the portable media drive106to allow insertion and extraction of the storage disc108.

The game console102connects to a television or other display (not shown) via A/V interfacing cables120. A power cable122provides power to the game console. The game console102may be further equipped with internal or externally added network capabilities, as represented by the cable or modem connector124to facilitate access to a network, such as a local area network (LAN) or the Internet.

Each controller104is coupled to the game console102via a wire or wireless interface. In the illustrated implementation, the controllers are USB (Universal Serial Bus) compatible and are connected to the console102via serial cables130. The controller102may be equipped with any of a wide variety of user interaction mechanisms. As illustrated inFIG. 1, each controller104is equipped with two thumbsticks132(1) and132(2), a directional or D-pad134, surface buttons136, and two triggers138. These mechanisms are merely representative, and other known gaming mechanisms may be substituted for or added to those shown inFIG. 1.

A memory unit (MU)140may be inserted into the controller104to provide additional and portable storage. Portable memory units enable users to store game parameters and transport them for play on other consoles. In the described implementation, each controller is configured to accommodate two memory units140, although more or less than two units may be employed in other implementations.

The gaming system100is capable of playing, for example, games, music, and videos. With the different storage offerings, titles can be played from the hard disk drive or the portable medium108in drive106, from an online source, or from a memory unit140. A sample of what the gaming system100is capable of playing back includes:1. Game titles played from CD and DVD discs, from the hard disk drive, or from an online source.2. Digital music played from a CD in the portable media drive106, from a compressed file on the hard disk drive (e.g., Windows Media Audio (WMA) format), or from online streaming sources.3. Digital audio/video played from a DVD disc in the portable media drive106, from a file on the hard disk drive (e.g., Windows Media Video (WMV) format), or from online streaming sources.

FIG. 2shows functional components of the gaming system100in more detail. The game console102has a central processing unit (CPU)200and a memory controller202that facilitates processor access to various types of memory, including a flash ROM (Read Only Memory)204, a RAM (Random Access Memory)206, a hard disk drive208, and the portable media drive106. The CPU200is equipped with a level 1 cache210and a level 2 cache212to temporarily store data and hence reduce the number of memory access cycles, thereby improving processing speed and throughput.

The CPU200, memory controller202, and various memory devices are interconnected via one or more buses, including serial and parallel buses, a memory bus, a peripheral bus, and a processor or local bus using any of a variety of bus architectures. By way of example, such architectures can include an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus.

As one suitable implementation, the CPU200, memory controller202, ROM204, and RAM206are integrated onto a common module214. In this implementation, ROM204is configured as a flash ROM that is connected to the memory controller202via a PCI (Peripheral Component Interconnect) bus and a ROM bus (neither of which are shown). RAM206is configured as multiple DDR SDRAM (Double Data Rate Synchronous Dynamic RAM) modules that are independently controlled by the memory controller202via separate buses (not shown). The hard disk drive208and portable media drive106are connected to the memory controller via the PCI bus and an ATA (AT Attachment) bus216.

A 3D graphics processing unit220and a video encoder222form a video processing pipeline for high speed and high resolution graphics processing. Data is carried from the graphics processing unit220to the video encoder222via a digital video bus (not shown). An audio processing unit224and an audio codec (coder/decoder)226form a corresponding audio processing pipeline with high fidelity and stereo processing. Audio data is carried between the audio processing unit224and the audio codec226via a communication link (not shown). The video and audio processing pipelines output data to an A/V (audio/video) port228for transmission to the television or other display. In the illustrated implementation, the video and audio processing components220-228are mounted on the module214.

Also implemented on the module214are a USB host controller230and a network interface232. The USB host controller230is coupled to the CPU200and the memory controller202via a bus (e.g., PCI bus) and serves as host for the peripheral controllers104(1)-104(4). The network interface232provides access to a network (e.g., LAN, Internet, etc.) and may be any of a wide variety of various wired or wireless interface components including an Ethernet card, a modem, a Bluetooth module, a cable modem, and the like.

The game console102has two dual controller support subassemblies240(1) and240(2), with each subassembly supporting two game controllers104(1)-104(4). A front panel I/O subassembly242supports the functionality of the power button112and the eject button114, as well as any LEDs (light emitting diodes) or other indicators exposed on the outer surface of the game console. The subassemblies240(1),240(2), and242are coupled to the module214via one or more cable assemblies244.

Eight memory units140(1)-140(8) are illustrated as being connectable to the four controllers104(1)-104(4), i.e., two memory units for each controller. Each memory unit140offers additional storage on which games, game parameters, and other data may be stored. When inserted into a controller, the memory unit140can be accessed by the memory controller202.

A system power supply module250provides power to the components of the gaming system100. A fan252cools the circuitry within the game console102.

A console user interface (UI) application260is stored on the hard disk drive208. When the game console is powered on, various portions of the console application260are loaded into RAM206and/or caches210,212and executed on the CPU200. The console application260presents a graphical user interface that provides a consistent user experience when navigating to different media types available on the game console.

The game console102implements a cryptography engine to perform common cryptographic functions, such as encryption, decryption, authentication, digital signing, hashing, and the like. The cryptography engine may be implemented as part of the CPU200, or in software stored in memory (e.g., ROM204, hard disk drive208) that executes on the CPU, so that the CPU is configured to perform the cryptographic functions.

The gaming system100may be operated as a standalone system by simply connecting the system to a television or other display. In this standalone mode, the gaming system100allows one or more players to play games, watch movies, or listen to music. However, with the integration of network connectivity made available through the network interface232, the gaming system100may further be operated as a participant in a larger network gaming community.

Video games, such as the third-person squad-based shooter video game described herein, may be stored on various storage media for play on the game console. For instance, a video game may be stored on the portable storage disc108, which is read by drive106. Alternatively, the video game may be stored in hard disk drive208, being transferred from a portable storage medium or downloaded from a network. During play, portions of the game are temporarily loaded into RAM memory206, caches210and212, and executed by the CPU200. One particular video game of the shooter genre is described next.

Single/Multi-Player Modes

The squad-based shooter video game supports play by one or more players. In single player mode, the player is given control over the entire squad of characters. The player can issue commands to each character individually or to groups of characters collectively. The commands instruct the characters on where to move and how to function in combat. The video game further allows one or more additional players to dynamically join a game that is in progress without having to save and restart the game. When additional players join, the players work together, controlling different characters in the squad. The screen is divided to allow each player to view the combat from their character's perspective. Players can also dynamically leave a game without causing a disruption. The single player mode, multi-player mode, and the dynamic transition of adding and removing players are described below.

Single Player Mode

FIG. 3shows an exemplary screen display300from the squad-based shooter video game when a single player is playing. The single player is represented by one controller104connected to slot1in the face of the game console. The illustrated scene is from a video game title, Brute Force, which is developed for Microsoft's Xbox® gaming system. A squad of four characters is illustrated, including a first character302named “Tex”, a second character304named “Hawk”, a third character306named “Brutus”, and a fourth character308named “Flint”. As is common in third-person games, the player's viewpoint is taken at a position removed from the characters. In this scene, the player viewpoint is manifest from a camera perspective positioned behind and proximal to the Brutus character306. In the single player mode, the player's viewpoint is depicted in full screen.

A squad status display310is positioned in the lower left-hand portion of the scene. In the single player mode, the squad status display310is persistently visible during combat action and is located in a non-focal region of the screen, such as the lower left-hand corner as shown. The status display310is integrated with a radar display312, which indicates where various characters of the squad are located relative to one another. In the illustrated example, the squad status display310encircles the radar display312and depicts profile images of the four squad characters. The profiles include a first character profile314for the Tex character302, a second character profile316for the Hawk character304, a third character profile318for the Brutus character306, and a fourth character profile320for the Flint character308. The four character profiles314-320on the squad status display310are mapped visually and spatially to a first actuator (e.g., D-pad134) on the controller104.

The squad status display310indicates which character is currently selected by the player. Here, the Brutus character306is selected as represented by a highlighted boundary around the Brutus character profile318. When the Brutus character is selected, the camera viewpoint resides proximal to, and behind, the Brutus character306as shown in screen display300. The player can select a different character and change the camera viewpoint to that character's perspective by actuating the D-pad134at distinct pad coordinates (i.e., north, west, south, east) that correspond to the four character profiles of Tex314, Hawk316, Brutus318, and Flint320. A double tap of the D-pad134allows the player to select a new character and simultaneously change the camera viewpoint in the scene. It is noted that the game may be configured to support selection of the characters using other actuators on the controller. For instance, in one implementation, a player can depress a button or trigger to cycle through the character profiles of the squad status display310in clockwise or counter-clockwise rotation.

When a character is selected, the player controls where that character moves, what that character sees, and how that character acts. Artificial intelligence built into the video game controls the other non-selected characters of the squad. The artificial intelligence directs the remaining characters to perform functions consistent with the commands instructed by the player, such as where to move and how to function in combat.

The player can issue commands to one or more characters on the squad. When the player wishes to issue a new command, the player invokes a command change user interface (not shown) that presents various command options. In one implementation, the player single taps the D-pad134to concurrently select a character and invoke the command change UI. Once invoked, the command change UI allows the player to select one or more characters and presents possible commands that may be issued to the selected character(s). Example command options include “stand ground”, “fire at will”, “move to” a specific area, or “cover me”. The options are oriented on the screen to map visually and spatially to actuators on the controller104(e.g., surface buttons136) so that one actuation enables a player to issue a common order to the one or more selected characters.

Multi-Player Mode

In addition to single player mode, the squad-based shooter game supports a multi-player mode for multiple players. The players control different members of the squad and work cooperatively to carry out the squad missions. In the standalone setting, the game console102ofFIG. 1is equipped with four controller slots to support up to four controllers (and hence, four players). A new player can join one or more existing players in a game that is in progress by simply connecting a controller to an available slot. The video game detects when another player has joined the game by continually polling the hardware for a connection of a controller104to an available slot. When a connection is detected, the video game optionally presents a join menu indicating that a new player has joined the game.

FIG. 4shows a screen display400that is depicted when a second player joins the first player by plugging in a controller104(2) to slot4on the face of the game console. A join menu402pops up on the screen and overlays the combat action as seen from the character perspective of the first player. The join menu402includes a welcoming statement and offers the new player a choice of available player identification profiles via a profile entry box404. Among the choices is a “Default” choice in which the video game assigns the player an anonymous identity to allow the player to play anonymously. The video game then automatically assigns the new player to an available character. Alternatively, the video game can present a second menu (not shown) to allow the player to select their desired character among those currently available or those that can be made available. Either player can then accept or cancel the join operation via actuation of the controller (e.g., via surface buttons136(1) or136(2)) associated with options “A” and “B” on the menu402.

For purposes of continuing discussion, suppose the new player is automatically assigned to control the Flint character308. When multiple players participate, the screen is split to accommodate different viewing perspectives for the various players. When the screen is split, the amount of viewing space available for each player is diminished.

FIG. 5shows a screen display500that is depicted in response to adding a second player. The screen display is split into two panels: an upper panel502and a lower panel504. The upper panel502shows the combat action from the perspective of the character (i.e., the Brutus character306) selected by the first player who is operating controller104(1) in slot1. The lower panel504shows the combat action from the perspective of the character (i.e., the Flint character308) selected by the second player who is operating controller104(2) in slot4. The two players control their respective squad members and work together to carry out the mission. The two remaining and unselected characters—Tex and Hawk—are controlled by the artificial intelligence of the video game.

With the reduced screen area for each player, the depicted control elements and visual presentation are chosen to offer a compelling gaming experience for all players. In the illustrated multi-player mode, the squad status display is removed from each panel502and504, leaving the radar displays312(1) and312(2). This leaves more screen area for other visual effects.

When there are fewer players than squad members, each player can select another squad character that is not currently being controlled. For instance, the first player who is operating controller104(1) in slot1can switch from the Brutus character306to the Hawk or Tex characters. Likewise, the second player who is operating controller104(2) in slot4can switch from the Flint character308to the Hawk or Tex characters.

Additional players can continue to join. In the illustrated implementation, the game console102has four controller slots110(FIG. 1). Assuming two players are already playing, two additional players can join the game. In other implementations, however, the game console can be configured to support more or less than four players. As each player joins a game, the new player is granted control over a squad member and the screen further divides to provide a viewing panel from that squad member's perspective.

FIG. 6shows a screen display600that is depicted after a third player joins the game by connecting controller104(3) to slot2. Upon detecting a new controller, the video game either optionally presents the join menu402(not shown inFIG. 6) to enable player selection of a player profile and automatically assigns a character to the new player. The screen is further split to exhibit three viewing perspectives. InFIG. 6, the lower portion of the screen is divided into two quarter panels, a resized panel504and a new panel602. The resized panel504continues to show the combat action from the perspective of the Flint character308controlled by the second player who is operating controller104(2) in slot4. The new panel602shows the combat action from the perspective of another character (e.g., the Hawk character304) associated with the new player who is operating controller104(3) in slot2.

FIG. 7shows a screen display700that appears after a fourth player joins the game. Once controller104(4) is detected at slot3, the video game optionally presents the join menu402(not shown inFIG. 7) to enable player selection of a player profile. The game then automatically assigns an available character to the new player. The screen is once again split to exhibit four perspectives, one each for the four players. In this example, the upper portion of the screen is divided into two quarter panels, a resized panel502and a new panel702. The resized panel502continues to show the combat action from the perspective of the Flint character308controlled by the first player who is operating controller104(1) in slot1. The new panel702shows the combat action from the perspective of the Tex character302controlled by the new player who is operating controller104(4) in slot3.

It is noted that the relationship of which screen panels are controlled by which controllers is merely representative. In one implementation, the game can be configured to associate particular screen panels with specific controller slots, but this need not be the case. Additionally, there is no particular order of slots for players to plug into as they join a game. For example, a single player could play the game alone using a controller inserted into any one of the four slots on the game console. A second player could later join by inserting his/her controller into any one of the remaining unused slots, and so on.

As noted earlier, depiction of the join menu402(FIG. 4) as each new player joins the game is optional. In another implementation, the video game can proceed directly to the split screen display500,600, or700without presenting the join menu402. In this case, the video game automatically assigns a player profile identity to the new player and presents that view from an assigned character in the newly created screen panel. This allows the game to continue without any interruption that may be caused by the pop up menu402. In yet another implementation, the video game can present join menu402and then present another menu to allow the player to select their desired character among those currently available or those that can be made available. In any event, regardless of whether a join menu is presented or the assignment of player identity profiles or new characters is automatic, the techniques described above allow new players to join an in-progress game without first having to save the game, return to a setup menu and re-specify the number of players, and then restart the game.

In the above example, there are four characters in a squad. When all four players are present, each player controls a squad character. In other implementations, there may be more or less than four squad characters. In the case where there are more players than available characters, the video game generates and assigns a generic fighter to the squad. This generic squad member does not have the personalities associated with the predefined characters—Tex, Hawk, Flint, and Brutus—but can be controlled by a player to function in the field of combat. As an example, suppose the video game console is configured to support six players and the video game has four predefined characters on the squad. When a fifth or sixth player joins the game after all four main characters are assigned, the video game automatically generates or “spawns” a generic fighter for the new player. The generic fighter is added to the squad and works together with the other squad members to accomplish various missions.

If a different player subsequently leaves, thereby relinquishing control of one of the main characters, the video game replaces the generic fighter with the vacated character. Through the use of generic fighters, the size of the squad is expanded or contracted to satisfy the number of players.

Dynamic Joining Process

FIG. 8shows a process800for dynamically joining a new player to a current game that is in progress. The process800is illustrated as a series of blocks representing individual operations or acts performed by the gaming system in response to executing the video game. The process800may be implemented in any suitable hardware, software, firmware, or combination thereof. In the case of software and firmware, process800represents a set of operations implemented as computer-executable instructions stored in memory and executable by one or more processors.

At block802, the video game facilitates game play during an ongoing combat mission. The game is already in progress, and the existing one or more players are controlling various characters of the squad as they embark on their combat mission. At block804, the video game detects when another player has joined the game while the game is in progress. In one implementation, a join condition is generated when a hardware interrupt condition occurs indicating that a new controller has been inserted into a vacant slot. The video game continually polls for such hardware interrupts. In one implementation, the video game polls once every video frame.

When a join condition occurs (i.e., the “yes” branch from block804), the video game identifies the new player associated with the newly attached controller (block806). The player identity (e.g., player in slot N) is stored in memory. At block808, the video game optionally presents the join menu to enable the player to select a player identity profile. A representative join menu402is illustrated inFIG. 4, where a second player is about to join a one existing player.

At block810, the video game determines whether a living character (or one that is optionally selected) is available. If a character is available (i.e., the “yes” branch from block810), the video game associates the character with the player identity profile (block812). This can be done by correlating a character identity with the player identity profile in memory.

If no character is available (i.e., the “no” branch from block810), the video game decides whether current game settings allow primary characters that have died in battle to be re-spawned (block814). That is, one game setting allows characters who have been defeated in a mission to be given new life, or “re-spawned”, with new health even though the mission is not over. If such a setting (i.e., the “yes” branch from block810), the video game regenerates that character and assigns him to the new player (block812). Otherwise, if all characters are taken and/or dead characters cannot be re-spawned (i.e., the “no” branch from block810), the video game generates a generic fighter (block816) and assigns that generic fighter to the new player (block812).

At block818, the video game splits the screen to provide a viewing panel for the new player. The new viewing panel offers the perspective of the combat from the new player's character. This is illustrated in the figures as the number of players increases from one player (FIG. 3) to two players (FIG. 5) to three players (FIG. 6) to four players (FIG. 7). After the screen is split, the combat campaign continues with a new set of players handling various ones of the squad members.

Dynamic Leaving Process

The squad-based shooter video game further supports game continuity when one or more players leave a game that is in progress. Players can dynamically leave a game without having to halt and save the game, and then restart it following their departure.

FIG. 9shows a process900for allowing one or multiple players to dynamically leave the game while it is in progress. The process900may be implemented in any suitable hardware, software, firmware, or combination thereof. In the case of software and firmware, process900represents a set of operations implemented as computer-executable instructions stored in memory and executable by one or more processors.

At block902, a combat mission is in progress, with multiple players controlling various squad members. At block904, the video game continually monitors for an exit condition. This condition may be triggered, for example, when a player disconnects his/her controller from the video console. Detachment of the controller causes a hardware interrupt condition, which is detected by the video game and interpreted as a player leaving the game. Upon detecting an exit condition (i.e., the “yes” condition from block904), the video game determines whether the exiting player is controlling a generic fighter (block906). If so (i.e., the “yes” branch from block908), the video game removes the generic fighter from combat (block908).

On the other hand, if the exiting player is controlling a character (i.e., the “no” branch from block906), the video game can either place the character back under the control of the artificial intelligence or substitute the character for a generic fighter currently be controlled by another player (block910). This latter option allows the player to control a predefined character, with a unique personality and special abilities, rather than a generic fighter. The substitution is performed by re-associating the character relinquished by the exiting player with the identity of the existing player who is controlling the generic fighter.

At block912, the exiting player is removed and that player's identity is deleted from memory. The video game then updates the screen to remove the panel for the exiting player (block914).

Joining the Enemy

In the above discussion, new players are given control of other squad members and work cooperatively with other players to fight a common enemy. In another implementation, a new player could be allowed to take over the enemy fighters. When the new player joins (e.g., by attaching a game controller to an available slot), the join menu402offers an option to control an enemy squad. Assuming the player chooses this option, the new player is associated with a fighter on the enemy and the new viewing panel for that player depicts the battle perspective taken from the enemy fighter. This can be extended further for three or more players, where multiple players can work together in controlling the squad of characters in competition with multiple other players who are cooperatively controlling the squad of enemy fighters.

CONCLUSION

The above-described squad-based, third person shooter video game allows players to dynamically join or leave a game in progress without having to save and restart the game. This allows continuous and uninterrupted play as players come and go. Although the invention has been described in language specific to structural features and/or methodological acts, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as exemplary forms of implementing the claimed invention.

Claims

  1. A method implemented at least in part by a computing device comprising: facilitating play of a game played on the computing device, the computing device comprising a physical game console, by at least one existing player;detecting, by a processor of the physical game console, while the existing player is playing the game, a join condition indicating that a new player would like to join in playing the game, wherein the join condition is generated as a result of the new player connecting a game controller to the physical game console;upon the processor detecting the join condition, the processor automatically splitting an image displayed on a physical display to present multiple viewing panels such that the existing player views action through a first viewing panel and the new player views action through a second viewing panel;and the processor facilitating play of the game by the existing player and the new player.
  1. A method as recited in claim 1 , wherein prior to splitting the image displayed on the physical display, further comprising the processor presenting on the physical display a join menu to indicate a new player is joining the game.
  2. A method as recited in claim 1 , wherein the game is a squad-based shooter game, further comprising the processor associating a first member from a squad with the existing player and associating a second member of the squad with the new player such that the existing and new players control different members of the squad.
  3. A method as recited in claim 1 , wherein the game is a squad-based shooter game in which a first squad of fighters enters combat against a second squad of fighters, further comprising the processor assigning control of the first squad to the existing player and assigning control of the second squad to the new player.
  4. A method as recited in claim 1 , further comprising: the processor detecting, while the existing and new players are playing the game, an exit condition indicating that one of the players is quitting play of the game;and upon the processor detecting the exit condition, the processor automatically unsplitting the image displayed on the physical display to remove one of the first and second viewing panels associated with the player who quits play of the game.
  5. One or more computer-readable media comprising computer-executable instructions that, when executed by a computer comprising a physical game console, perform a method comprising: facilitating play of a game played on the physical game console by at least one existing player;detecting, by a processor of the physical game console, while the existing player is playing the game, a join condition indicating that a new player would like to join in playing the game, wherein the join condition is generated as a result of the new player connecting a game controller to the physical game console;upon the processor detecting the join condition, the processor automatically splitting an image displayed on a physical display to present multiple viewing panels such that the existing player views action through a first viewing panel and the new player views action through a second viewing panel;and the processor facilitating play of the game by the existing player and the new player.
  6. A method comprising: a processor of a physical game console facilitating play of a squad-based video game played on the physical game console where at least one existing player controls a first character from a squad of characters;upon addition of a new player, the addition of the new player comprising connecting a game controller to the physical game console, the processor ascertaining a second character from the squad of characters that is not currently being controlled by another player and associating the second character with the new player so that the new player controls the second character while the existing player controls the first character;and the processor automatically splitting an image displayed on a physical display to present multiple viewing panels including a first viewing panel for the existing player and a second viewing panel for the new player.
  7. A method as recited in claim 7 , wherein the associating comprises the processor automatically assigning the second character to the new player.
  8. A method as recited in claim 7 , further comprising the processor detecting, while the existing player is playing the video game, a join condition indicating that the new player would like to join in playing the video game and the processor automatically allowing the new player to join in playing the video game while in progress without having to save and restart the video game.
  9. A method as recited in claim 7 , further comprising the processor enabling the existing player to switch from controlling the first character to controlling a third character from the squad of characters.
  10. A method as recited in claim 7 , further comprising the processor enabling the new player to switch from controlling the second character to controlling a third character from the squad of characters.
  11. A method as recited in claim 7 , further comprising the processor presenting a join menu on the physical display to indicate that the new player would like to join in playing the video game.
  12. A method as recited in claim 7 , further comprising the processor presenting a join menu on the physical display that enables the new player to select a pre-defined player identity profile.
  13. A method as recited in claim 7 , wherein remaining characters on the squad, which are not being controlled by the existing and new players, are controlled by the processor using artificial intelligence, the method further comprising: the processor detecting, while the existing and new players are playing the squad-based video game, an exit condition indicating that one of the players is quitting play;and upon the processor detecting the exit condition, the processor returning control of the character associated with the quitting player to the artificial intelligence.
  14. One or more computer-readable media comprising computer-executable instructions that, when executed by a computer comprising a physical game console, perform a method comprising: facilitating play of a squad-based video game played on the physical game console where at least one existing player controls a first character from a squad of characters;detecting, by a processor of the physical game console, while the existing player is playing the game, a join condition indicating that a new player would like to join in playing the game, wherein the join condition is generated as a result of the new player connecting a game controller to the physical game console, and upon the processor detecting the join condition: the processor ascertaining a second character from the squad of characters that is not currently being controlled by another player and the processor associating the second character with the new player so that the new player controls the second character while the existing player controls the first character;and the processor automatically splitting an image displayed on a physical display to present multiple viewing panels including a first viewing panel for the existing player and a second viewing panel for the new player.
  15. A method comprising: facilitating play of a third-person, squad-based shooter video game played on a physical game console by a first player, a first player controlling a squad of characters and viewing scenes from a perspective of a first character in the squad;a processor of the physical game console detecting, while the first player is playing the squad-based shooter video game, a join condition indicating a second player would like to join in playing the squad-based shooter video game, wherein the join condition is generated by a controller being connected to the physical game console;in response to the processor detecting the join condition and without causing the squad-based shooter video game to be saved and restarted, the processor ascertaining a second character from the squad of characters that is not currently being controlled by another player and the processor associating the second character with the second player so that the second player controls the second character while the first player controls the first character;and the processor splitting an image displayed on a physical display to present multiple viewing panels such that the first player views the squad-based shooter video game through a first viewing panel from the perspective of the first character and the second player views the squad-based shooter video game through a second viewing panel from a perspective of the second character.
  16. A method as recited in claim 16 , wherein the associating comprises the processor automatically assigning the second character to the second player.
  17. A method as recited in claim 16 , further comprising the processor enabling the first and second players to switch, independent of one another, from controlling the first and second characters, respectively, to controlling remaining characters in the squad.
  18. A method as recited in claim 16 , further comprising the processor presenting on the physical display a join menu to indicate that the second player would like to join in playing the squad-based shooter video game.
  19. A method as recited in claim 16 , wherein remaining characters on the squad, which are not being controlled by the first and second players, are controlled by the processor using artificial intelligence, the method further comprising: the processor detecting, while the first and second players are playing the squad-based shooter video game, an exit condition indicating that one of the players is quitting play;upon the processor detecting the exit condition, the processor returning control of the character associated with the quitting player to the artificial intelligence;and the processor unsplitting the image displayed on the physical display to remove one of the first and second viewing panels associated with the player who is quitting play.
  20. One or more computer-readable media comprising computer-executable instructions that, when executed by a computer comprising a physical game console, perform a method comprising: facilitating by a processor of the physical game console play of a third-person, squad-based shooter video game played on the physical game console by a first player, the first player controlling a squad of characters and viewing scenes from a perspective of a first character in the squad;the processor detecting, while the first player is playing the squad-based shooter video game, a join condition indicating a second player would like to join in playing the squad-based shooter video game, wherein the join condition is generated by a controller being connected to the physical game console;in response to the processor detecting the join condition and without causing the squad-based shooter video game to be saved and restarted, the processor ascertaining a second character from the squad of characters that is not currently being controlled by another player and associating the second character with the second player so that the second player controls the second character while the first player controls the first character;and the processor splitting an image displayed on a physical display to present multiple viewing panels such that the first player views the squad-based shooter video game through a first viewing panel from the perspective of the first character and the second player views the squad-based shooter video game through a second viewing panel from a perspective of the second character.
  21. For use with a physical console-based video game system, a storage medium storing a squad-based shooter video game in which a first player controls a squad of characters, the squad-based shooter video game having instructions that, when executed by a processor of the video game system, performs acts comprising: the processor monitoring for a condition indicating that a second player wishes to join the first player in playing the squad-based shooter video game while in progress;upon the processor detecting a join condition, the processor presenting on a physical display a join menu and the processor automatically splitting an image displayed on a physical display to present multiple viewing panels such that the first player views action through a first viewing panel and the second player views action through a second viewing panel, wherein the join condition is generated by a controller being connected to the physical game console;and the processor dynamically joining the second player to the squad-based shooter video game while in progress without having to save and restart the squad-based shooter video game.
  22. A storage medium as recited in claim 22 , wherein the squad-based shooter video game has further instructions that, when executed by the processor of the video game system, the processor performs acts comprising presenting a join menu on the physical display indicating that the new player wishes to join in playing the video game.
  23. A storage medium as recited in claim 22 , wherein the squad-based shooter video game has further instructions that, when executed by the processor of the video game system, the processor performs acts comprising the processor detecting when the second player quits playing the squad-based shooter video game and the processor dynamically removing the second player from the squad-based shooter video game while in progress without having to save and restart the video game.
  24. A storage medium as recited in claim 24 , wherein the squad-based shooter video game has further instructions that, when executed by the processor of the video game system, the processor performs acts comprising: when the second player joins, the processor splitting an image displayed on the physical display to provide first and second viewing panels, the first viewing panel being for the first player and the second viewing panel being for the second player;and when the second player quits, the processor unsplitting the image displayed on the physical display to remove the second viewing panel.
  25. For use with a physical console-based video game system, a storage medium storing a squad-based shooter video game in which individual players control a squad of characters, the squad-based shooter video game having instructions that, when executed by a processor of the video game system, the processor performs acts comprising: the processor associating a first character from the squad with a first player;the processor enabling the first player to switch control from the first character to other characters in the squad;the processor detecting, while the first player is playing the squad-based shooter video game, a join condition indicating a second player would like to join in playing the squad-based shooter video game, wherein the join condition is generated by a controller being connected to the physical game console;the processor ascertaining a second character from the squad that is not currently being controlled by another player and the processor associating the second character from the squad with the second player;the processor splitting an image displayed on a physical display by presenting multiple viewing panels such that the first player views the squad-based shooter video game through a first viewing panel from a perspective of the first character and the second player views the squad-based shooter video game through a second viewing panel from a perspective of the second character;and the processor enabling the first and second players to switch control from the first and second characters, respectively, to other characters in the squad.
  26. A storage medium as recited in claim 26 , wherein the squad-based shooter video game has further instructions that, when executed by the processor of the video game system, the processor performs acts comprising: the processor detecting addition of a third player while the first and second players are playing the squad-based shooter video game;the processor associating a third character from the squad with the third player;and the processor splitting an image displayed on the physical display by presenting three viewing panels such that the first player views the squad-based shooter video game through a first viewing panel from a perspective of the first character, the second player views the squad-based shooter video game through a second viewing panel from a perspective of the second character, and the third player views the squad-based shooter video game through a third viewing panel from a perspective of the third character.
  27. A storage medium as recited in claim 27 , wherein the squad-based shooter video game has further instructions that, when executed by the processor of the video game system, the processor performs acts comprising: the processor detecting addition of a fourth player while the first, second, and third players are playing the squad-based shooter video game;the processor associating a fourth character from the squad with the fourth player;and the processor splitting an image displayed on the physical display by presenting four viewing panels such that the first player views the squad-based shooter video game through a first viewing panel from a perspective of the first character, the second player views the squad-based shooter video game through a second viewing panel from a perspective of the second character, the third player views the squad-based shooter video game through a third viewing panel from a perspective of the third character, and the fourth player views the squad-based shooter video game through a fourth viewing panel from a perspective of the fourth character.
  28. For use with a physical console-based video game system, a storage medium storing a squad-based video game in which individual players control a squad of N characters, the squad-based video game having instructions that, when executed by a processor of the video game system, the processor performs acts comprising: the processor detecting addition of an Nth+1 player after N players have begun playing the squad-based video game by detecting that a controller has been connected to the video game system;the processor associating the Nth+1 player with a generic squad member independent of the N characters in the squad;and the processor splitting an image displayed on a physical display by presenting N+1 viewing panels such that each player views the squad-based video game through a corresponding viewing panel from perspectives of the N characters and the generic squad member.
  29. A storage medium as recited in claim 29 , wherein the squad-based video game has further instructions that, when executed the processor of the video game system, the processor performs acts comprising the processor detecting when one of the players quits playing the squad-based video game and the processor presenting an image displayed on the physical display having N viewing panels, omitting an Nth+1 viewing panel associated with said one player who quits.
  30. A storage medium as recited in claim 30 , wherein the squad-based video game has further instructions that, when executed by the processor of the video game system, the processor performs acts comprising the processor reassociating the Nth+1 player with a character previously associated with said one player who quits and removing the generic squad member.
  31. A storage medium as recited in claim 30 , wherein the squad-based video game has further instructions that, when executed the video game system, the processor performs acts comprising the processor detecting when another one of the players quits playing the squad-based video game and the processor returning control of the character associated with said another player who quits to artificial intelligence implemented in the squad-based video game.

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