WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Interactive electronic games and screen savers with multiple characters    
United States Patent5498003   
Link to this pagehttp://www.wikipatents.com/5498003.html
Inventor(s)Gechter; Jerry (Eight Ridge Rd., Lincoln, MA 01773)
AbstractInteractive, electronic game apparatus including a visual display, an input device, a plurality of character behavior controllers containing logic for determining the behavior of respective game characters, and a game controller containing logic to determine consistent game states for the game and the characters, each character behavior controller including an independent application process.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5498003
Interactive electronic games and screen savers with multiple characters - US Patent 5498003 Drawing
Interactive electronic games and screen savers with multiple characters
Inventor     Gechter; Jerry (Eight Ridge Rd., Lincoln, MA 01773)
Owner/Assignee    
Patent assignment
All assignments
Publication Date     March 12, 1996
Application Number     08/168,667
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     December 16, 1993
US Classification     463/31 463/1
Int'l Classification     A63F 009/22
Examiner     Harrison; Jessica J.
Assistant Examiner    
Attorney/Law Firm     Fish & Richardson
Address
Parent Case     This application is a continuation in part of U.S. patent application Ser. No. 08/133,644, filed Oct. 7, 1993, which is hereby incorporated by reference.
Priority Data    
USPTO Field of Search     273/433 273/434 273/435 273/437 273/438 273/85 G 273/DIG. 28 273/460
Patent Tags     interactive electronic games screen savers multiple characters
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5377997
Wilden

Jan,1995

[0 after 0 votes]
5239463
Blair
463/3
Aug,1993

[0 after 0 votes]
5200890
Pionchon
463/11
Apr,1993

[0 after 0 votes]
5193818
Leeson

Mar,1993

[0 after 0 votes]
5190285
Levy
463/36
Mar,1993

[0 after 0 votes]
5120057
Kitaue
463/2
Jun,1992

[0 after 0 votes]
5083800
Lockton

Jan,1992

[0 after 0 votes]
5083271
Thacher

Jan,1992

[0 after 0 votes]
4858930
Sato
463/23
Aug,1989

[0 after 0 votes]
4856787
Itkis
273/237
Aug,1989

[0 after 0 votes]
4738451
Logg
463/2
Apr,1988

[0 after 0 votes]
5137277
Kitaue
463/2
Dec,1969

[0 after 0 votes]
4926327
Sidley
463/13
Dec,1969

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. Interactive, electronic game apparatus for playing a game in which game characters appearing on a display are responsive to inputs from a game user, said apparatus comprising:

a visual display presenting an observable state of said game and of said game characters to said game user in response to a display signal,

an input device for interactively entering user input signals representative of user interaction with game characters, and

processing means receiving said user input signals from said input device and generating said display signal and outputting said display signal to said visual display, said processing means including

an extensible plurality of independent character behavior controllers for determining the behavior of respective said game characters, each said character behavior controller containing independent behavior logic to determine states and state transitions of its respective game character as represented to said user by said display means, said character behavior controllers being responsive to said user input signals and to game control signals for adjusting the behavior of said respective game characters,

a game controller for coordinating the behavior of said game characters, said game controller containing logic to determine consistent game states for said game and said characters, and communicating said game control signals to said character behavior controllers so that the state of said game and of said game characters is a consistent game state,

an operating application for operation of said character behavior controllers and said game controller on said processing means,

each said character behavior controller including an independent dynamically-linked procedure invoked by said operating application,

said game controller including logic to add new character behavior controllers to said game.

2. The apparatus of claim i wherein said game controller receives character state signals from said character behavior controllers, said character state signals describing the observable state of characters controlled by said character behavior controllers.

3. The apparatus of claim 1 wherein said game control signals include a global game state signal, describing the observable states of said characters controlled by said character behavior controllers.

4. The apparatus of claim 3 further comprising plural said global game state signals, and wherein one said global game state signal is accessible to one but not another of said character behavior controllers.

5. The apparatus of claim 1 wherein at least one of said character behavior controllers generates an interaction with a character defined by another said character behavior controller, said interaction requiring resolution to determine subsequent behavior of a character controlled by said character behavior controller, and wherein said game controller determines the resolution of said interaction.

6. The apparatus of claim 1 wherein said game controller includes an instance manager function which directs the creation and deletion of characters controlled by said character behavior controllers.

7. The apparatus of claim 1 wherein said game controller and said character behavior controllers are operated on a single computer.

8. The apparatus of claim 1 wherein said game controller and said character behavior controllers are operated on multiple computers communicating over a network.

9. The apparatus of claim 1 wherein said game controller includes a dynamically-linked procedure invoked by said operating application.

10. Interactive, electronic game apparatus for playing a game with replaceable game controller logic for game characters appearing on a display and responsive to inputs from a game user, said apparatus comprising:

a visual display presenting an observable state of said game and of said game characters to said game user in response to a display signal,

an input device for interactively entering user input signals representative of user interaction with game characters, and

processing means receiving said user input signals from said input device and generating said display signal and outputting said display signal to said visual display, said processing means including

one or more character behavior controllers for determining the behavior of respective said game characters, each said character behavior controller containing independent behavior logic to determine states and state transitions of its respective game character as represented to said user by said display means, said character behavior controllers being responsive to said user input signals and to game control signals for adjusting the behavior of said respective game characters,

a game controller for coordinating the behavior of said game characters, said game controller containing logic to determine consistent game states for said game and said characters, and communicating said game control signals to said character behavior controller or controllers so that the state of said game and of said game characters is a consistent game state,

an operating application for operation of said character behavior controller or controllers and said game controller on said processing means,

said game controller and each said character behavior controller or controllers including a distinct dynamically-linked procedure invoked by said operating application,

whereby said game controller can be used with one or more different character behavior controllers, and said one or more character behavior controllers can be used with a different game controller.

11. The apparatus of claim 10 wherein said game controller receives character state signals from one said character behavior controller, said character state signals describing states and state transitions of a character controlled by said character behavior controller.

12. The apparatus of claim 10 wherein at least one of said character behavior controllers generates a character action causing an interaction with another character requiring resolution to determine subsequent behavior of a character controlled by said one character behavior controller, and said interaction is resolved by an interaction manager function provided in said game controller.

13. The apparatus of claim 10 wherein said game controller includes an instance manager function which directs the creation and deletion of characters controlled by said character behavior controller or controllers.

14. A method to coordinate the actions of a plurality of characters appearing on a visual display in an interactive computer or video game, said method comprising:

presenting the observable state of said game and of said game characters to said game user in response to a display signal,

providing an input device for interactively entering user input signals representative of user interaction with game characters,

receiving said user input signals from said input device and generating said display signal and outputting said display signal to said visual display at a processing means,

executing control logic for said characters and said game by an operating application at said processing means,

controlling the behavior of said plural characters by character behavior controllers determining states and state transitions for respective characters and each including independent dynamically-linked procedure invoked by said operating application of said processing means,

coordinating the behavior of said game characters by a game controller executing as part of said control logic for said game,

for said game controller, determining consistent game states for said game and said characters, and

communicating game control signals to said character behavior controllers so that the state of said game and of said game characters is a consistent game state,

for each said character behavior controller, responding to said user input signals and said game control signals by responsively determining a current state of its respective game character for representation to said user by said display means.

adding a new character to said game by adding a new character behavior controller.

15. The method of claim 14 further comprising communicating character state signals from said character behavior controllers to said game controller, whereby said game controller is informed of states and state transitions of characters controlled by said character behavior controllers.

16. The method of claim 14 further comprising communicating an interaction signal from one said character behavior controller to said game controller, whereby said game controller is required to respond to determine subsequent behavior of a character controlled by said one character behavior controller.

17. The method of claim 14 further comprising communicating creation or deletion signals from said game controller to said character behavior controllers for creating and deleting characters controlled by said character behavior controllers.

18. Electronic display apparatus for multiple independent display characters, said apparatus comprising:

a visual display presenting an observable state of said display characters in response to a display signal,

processing means generating said display signal and outputting said display signal to said visual display, said processing means including

a plurality of character behavior controllers for determining the behavior of respective said display characters, each said character behavior controller containing independent behavior logic to determine states and state transitions of its respective display character as represented to said user by said display means, said character behavior controller being responsive to display control signals for adjusting the behavior of said respective display characters,

a display controller for coordinating the behavior of said display characters, said display controller containing logic to determine consistent display states for said display and said characters, and communicating said display control signals to said character behavior controllers so that the state of said display and of said display characters is a consistent display state,

an operating application for operation of said character behavior controllers and said display controller on said processing means,

each said character behavior controller including an independent dynamically-linked procedure invoked by said operating application,

said display controller including logic to add new character behavior controllers to said visual display.

19. A method for incorporating new characters in an interactive, electronic game with game characters appearing on a display and responsive to inputs from a game user, said method comprising:

presenting the observable state of said game and of said game characters to said game user at a visual display in response to a display signal,

providing an input device for interactively entering user input signals representative of user interaction with game characters,

receiving said user input signals from said input device and generating said display signal and outputting said display signal to said visual display at a processing means,

executing control logic for said characters and said game at said processing means,

controlling the behavior of said characters by independent character behavior controllers determining states and state transitions for respective characters and executing as part of said control logic for said characters,

coordinating the behavior of said game characters by a game controller executing as part of said control logic for said game,

for said game controller, determining consistent game states for said game and said characters and communicating game control signals to said character behavior controllers so that the state of said game and of said game characters is a consistent game state,

for said character behavior controllers, responding to said user input signals and to said game control signals by responsively determining a current state for its respective game character as represented to said user by said visual display, and

modifying said character control logic at said processing means from a first character behavior control configuration including a first but not a second of two distinct character behavior controllers to a second character behavior control configuration including said second character behavior controller.

20. The method of claim 19 wherein said character logic extension means performs addition of a new logic procedure.

21. The method of claim 19 wherein said character logic extension means performs substitution of procedure logic.

22. The method of claim 19 further comprising communicating a global game state signal, describing the observable states of said characters controlled by said character behavior controllers.

23. The method of claim 19 further comprising communicating character state signals from said character behavior controllers to said game controller, whereby said game controller is informed of states and state transitions of characters controlled by said character behavior controllers.

24. The method of claim 19 further comprising communicating an interaction signal from one said character behavior controller to said game controller, whereby said game controller is required to respond to determine subsequent behavior of a character controlled by said one character behavior controller.

25. The method of claim 19 further comprising communicating creation or deletion signals from said game controller to said character behavior controllers for creating and deleting characters controlled by said character behavior controllers.

26. The method of claim 19 wherein said modifying includes altering character registration information provided at said processing means.

27. The method of claim 19 further comprising executing said game controller and said character behavior controllers on a single computer.

28. The method of claim 19 further comprising executing said game controller and said character behavior controllers on multiple computers communicating over a network.

29. A method for changing game control logic in an interactive, electronic game with game characters appearing on a display and responsive to inputs from a game user, said method comprising:

presenting the observable state of said game and of said game characters to said game user at a visual display in response to a display signal,

providing an input device for interactively entering user input signals representative of user interaction with game characters,

receiving said user input signals from said input device and generating said display signal and outputting said display signal to said visual display at a processing means,

executing control logic for said characters and said game at said processing means,

controlling the behavior of said characters by independent character behavior controllers determining states and state transitions for respective characters and executing as part of said control logic for said characters,

coordinating the behavior of said game characters by a first or a second of two distinct game controllers executing as part of said control logic for said game,

for each said game controller, determining consistent game states for said game and said characters and communicating game control signals to said character behavior controllers so that the state of said game and of said game characters is a consistent game state,

for said character behavior controllers, responding to said game control signals for adjusting the behavior of said respective game characters, and

modifying said game control logic at said processing means from a first game control configuration including said first game controller to a second game control configuration including said second but not said first game controller.

30. The method of claim 29 further comprising communicating a global game state signal, describing the observable states of said characters controlled by said character behavior controllers.

31. The method of claim 39 further comprising communicating character state signals from said character behavior controllers to said first or second game controller, whereby said game controller is informed of states and state transitions of characters controlled by said character behavior controllers.

32. The method of claim 29 further comprising communicating an interaction signal from one said character behavior controller to said game controller, whereby said game controller is required to respond to determine subsequent behavior of a character controlled by said one character behavior controller.

33. The method of claim 29 further comprising communicating creation or deletion signals from said game controller to said character behavior controllers for creating and deleting characters controlled by said character behavior controllers.

34. The method of claim 29 wherein said modifying includes altering character registration information provided at said processing means.

35. The method of claim 29 further comprising executing said game controllers and said character behavior controllers on a single computer.

36. The method of claim 29 further comprising executing said game controller and said character behavior controllers on multiple computers communicating over a network.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

This invention relates to interactive computer and video games and to screen savers.

In interactive computer and video games, the user employs various input devices to control animated characters on a video screen, to influence their behavior, and to attempt to achieve the objectives posed by the game. There are many examples and forms of such games, which are distributed either as software permitting playing of the game on a personal computer or as combined software/hardware video game devices. These include arcade and Nintendo-style games, combat and flight simulation games, adventure games, sports strategy games, and others.

The characters in these games are specified at the time the game is developed. A single application program is used to define each game, which can include the option for playing the game with single or multiple characters controlled by one or more users. Some games allow new visual elements or game scenarios to be added to a preexisting game. This is the case with SimCity (which adds new cities and graphics) or with Microsoft Flight Simulator (which adds new airplanes and terrains). These additions are implemented by adding new data that are then acted upon by the preexisting program logic of the game.

In a somewhat related area, some screen savers, which provide a changing display for an inactive computer screen, permit user interaction to select combinations of display items to be presented whenever the screen saver is invoked.

SUMMARY OF THE INVENTION

This invention features a computer or video game in which new characters can be added to the game and still participate fully in interactions with prior characters and with the game environment. This is achieved by providing independent control logic for each character in the form of a character behavior controller. A game controller coordinates the various character behavior controllers, mediates their actions, and assures that the resulting visual display appears consistent to the game user. The invention drastically alters the relation that computer and video games can have with their users. Instead of merely following preset rules of a game, a user can employ the game as a framework to assemble his or her own fictional world. New characters can vary enormously in their appearance, patterns of behavior, and user control modes, so long as they subscribe to the paradigms established for interaction with the other entities in the game. These characters may be highly interactive, or merely configurable as in a screen saver display.

The invention allows computer games to assume characteristics that have until now been restricted to other kinds of toys. Play sets and construction toys, such as Playmobile and Lego, have always been extensible, and various kinds of dolls (particularly based upon movies and television programs) have been offered as an expanding family of related toys. This is a particularly appealing paradigm for computer games, because the characters can actually move, interact, and evolve following the behavioral logic embodied by the characters and the modes of interaction set by the game. Multiple instances of the same character can easily be created, and the same characters can be used with different game controllers.

A character can be a person or animal with its own behavioral characteristics: it knows how to move, how to change its appearance, and how to react to other characters in the same game. A character can also be an inanimate object that changes state and participates in interactions, e.g., thrown balls, walls placed as barriers, etc. A character can even be an active background, i.e., a screen area (e.g. falling rain) that changes state based upon game conditions and influences other characters accordingly. Any type of character can be added independently according to the capabilities of this invention.

Preferably the game controller executes four basic game control functions:

1. Providing the user interface to play the game. This provides the user the ability to set up and manage the game as a whole, as well as an ability to interact as necessary with the individual applications that control the characters.

2. Managing the creation and deletion of character instances. Creation and deletion may be caused either through the user interface (as during the initial setup of the game) or by interactions of characters during the game.

3. Resolving the interactions of the characters (e.g. collisions, battles, etc.).

4. Maintaining a consistent global state for the game. This also includes disseminating the global state to all of the characters and to the user interface entity of the game controller.

For each particular game, the interactions of the characters with the game control are reflected in the specifics of the interfaces between them, as described below.

This invention has an additional aspect in which an application process (the "operating application") takes over the role of the operating system, and the character behavior controllers and/or the game controller are embodied as separately loadable procedures for that application. With this aspect, new character behavior controllers and new game controllers can be incorporated into a single game application process.

In the preferred embodiment of this aspect, the game controller and the character behavior controllers are embodied as procedures in dynamic link libraries. A new game controller or character behavior controller is added by loading its DLL and invoking its procedures in the operating application. A game controller or character behavior controller can be replaced by substituting another DLL with new logic. It should be noted that the program logic for the operating application must include a reference to a DLL procedure in order for that procedure to be invoked for the game.

DESCRIPTION OF THE PREFERRED EMBODIMENT

Drawings

FIG. 1 is a block diagram showing elements of an interactive electronic game according to the invention.

FIG. 2 is a block diagram showing the components of the game controller of the FIG. 1 game.

FIG. 3 is an example of a screen display of the FIG. 1 game illustrating the user interface to the game controller.

FIG. 4 is an example of a screen display of the FIG. 1 game illustrating the instance manager of the game controller during the start-up of the game and indicates how the user can invoke multiple instances of the characters.

FIG. 5 shows examples of screen displays of the FIG. 1 game illustrating the function of the interaction manager of the game controller.

FIG. 6 shows examples of screen displays of the FIG. 1 game illustrating the function of the global state manager of the game controller.

FIG. 7 is a block diagram showing the components of the FIG. 1 game involved in display of a game character.

FIG. 8 is a flow chart describing the communication between the game controller and the character behavior controllers at start-up.

FIG. 9 is a representation of the global data accessed by each of the character behavior controllers in determining its behavior.

FIG. 10 is a diagram illustrating the communication between the game controller and the character behavior controllers during the game.

FIG. 11 is a table showing the global state data for an example implementation of the invention.

FIGS. 12A-12D are screen displays showing the sequence of screens for initialization of characters in the example implementation.

FIGS. 13A-13D are screen displays showing the sequence of screens for interaction of characters in the example implementation.

FIG. 14 shows implementation options for communication between the game controller and the character behavior controllers.

Structure

Referring to FIGS. 1 and 2, an electronic interactive game according to the invention employs the components shown on FIGS. 1 and 2. These figures show a single game controller 101 and two character behavior controllers 102, with interactions indicated by arrows 110/111 and 112/113. Game controller 101 and character behavior controllers 102 are implemented as independent processes on a computer system having a visual display, a user interaction device (e.g. a keyboard and mouse), and a central processing unit and operating system.

The electronic game according to the invention achieves its objective of extensibility by allowing multiple characters controlled by multiple character behavior controllers 102 to participate in the game. These character behavior controllers 102 are independently executing programs, i.e. independent processes as defined by the operating system. For Windows 3.1 and Windows NT, independent processes have separate entries in the Task List display; for Unix they are separately listed by the ps command (with --e flag). For Unix and Windows NT, independent processes also have independent address spaces (see Maurice J. Bach, The Design of the Unix Operating System, p. 10 and Helen Custer, Inside Windows NT, p. 84).

Character behavior controllers 102 provide the independent behavioral logic for the characters, whereas game controller 101 coordinates the activities of the characters. Game controller 101 interacts with the character behavior controllers 102 through global state data 103 or through direct interactions 110/111 and 112/113.

The first kind of interaction is through the global state data 103. As shown by arrow 110, the global state data are written by the game controller 101. From there, information is extracted by the individual character behavior controllers (arrows 111) as a basis for their behavior. In the preferred embodiment, the global state data are represented as a shared-memory object that can be accessed by each of the character behavior controllers. Each character behavior controller can thus independently check the contents of the global state data to know the externally-observable state information about all other objects in the game. Further in the preferred embodiment, the game controller assigns a character type identifier to each character behavior controller, so that it can recognize its own characters in the global state data. The content of the global state data is described in FIG. 9 and discussed in detail below.

The other kind of interaction with the character behavior controllers is via action messages (arrows 112-113). Action messages from the character behavior controllers to the game controller (arrows 112) communicate changes in character states and motions, and initiate interactions with other characters. Action messages from the game controller to the character behavior controllers (arrows 113) cause the characters to change state or motion (including possibly to enter a pause state awaiting resolution of interactions) and present interaction results. The role of game controller 101 is to maintain a consistent global state for the game by resolving all inputs (e.g. arrows 112), updating the global state data 103 (arrow 110), and communicating with each of the character behavior controllers 102 to force state changes where necessary (arrows 113).

FIG. 2 shows how this is done. This figure gives the internal structure of game controller 101. There are four components reflecting four functions of game controller 101: the user interface 201, the instance manager 202, the interaction manager 203, and the global state manager 204.

The user interface 201 manages the interactions of the game as a whole with the user and provides a mechanism to pass user control actions for individual characters. Game-level interactions start and stop the game, introduce new characters, and change overall game characteristics (e.g. speed). In this function the user interface interacts with all of the other game controller components: initiates and reflects instance creation (arrow 210), it modifies and reflects the global state (arrow 212), and it may initiate or provide for resolution of character interactions (arrow 211).

User control of individual characters is achieved either by direct interaction with the character behavior controllers or by messaging between the game controller and the character behavior controller. The result, as seen by the user, is shown in FIG. 3. The user is presented with multiple characters images 301-303 on the screen. In the preferred embodiment, the user will click on characters and then use mouse and keyboard actions to control an individual character according to that character's character behavior controller logic. This is achieved, for example, by allowing the selected character behavior controller to present a pop-up window which offers control options to the user. (Other methods for user control of characters are described in the example game implementation presented below.) Game controller actions may be performed by the screen menus 304, 305 or by user interaction with other game-control objects 306 on the user screen.

Returning to FIG.2, the instance manager 202 manages the creation and deletion of instances of characters through interaction with the appropriate character behavior controllers. At creation, each character instance is assigned a unique identifier which is communicated to the character behavior controller, so that it can recognize that character in the global state data. Instances of characters may be created at start-up as well as in the course of the game. For example, instances of game characters may be created or destroyed as a result of interactions between characters (e.g. a collision may cause an object to be destroyed) or as a result of decision logic in an individual character (e.g. a character may spontaneously replicate itself). Consequently, as noted above, the instance manager has a two-way interaction the user interface (arrow 210). It also provides output to the global state manager and receives instance management input as a result of global state resolution (arrow 213). Depending upon the specifics of particular games, the instance manager may also initiate and terminate execution of character behavior controllers as they are or are not required for control of active characters. Also, one instance of a character behavior controller may manage multiple character instances, or additional instances of the character behavior controller may be created.

FIG. 4 shows an example of how the services of the instance manager could be used at the start of a game. At the upper left of the screen is a selection box 401 showing the names of character types available to the user. The user clicks on an character type name and then clicks on another location on the screen. In response, the instance manager causes a character instance for the appropriate character behavior controller to be associated with a display object in that location. The figure shows three different character instances 405-407 of the character type represented by name 403. The individual character instances can then evolve according to the logic of the character behavior controller for that character type.

Again returning to FIG. 2, the interaction manager 203 resolves all character conflicts as needed to maintain a consistent global state for the game. Interactions may be initiated by individual characters (as an action message--arrow 215) or by the global state manager in the course of attempting to maintain global state. For example, characters may touch, speak to, or attack other characters, causing character-to-character interactions to be passed by the global state manager (arrow 214) to the interaction manager 203. A character behavior controller may also request the creation of another instance of a character, or may simply request a change of state which causes an inconsistency trapped by the global state manager. The logic of the interaction manager may use specific interaction-control data (described as an interaction table) and well as any other game controller data to resolve interactions for consistent global state. Execution of the outcome of an interaction is handled through the global state manager (arrow 214).

FIG. 5 gives an example of an action taken by the interaction manager. In this case the interaction 501 is a collision of objects. There are three possible results 502-504. The first is an elastic collision with new motions for each of the objects. The second is a collision in which one of the objects is destroyed (causing an input to the instance manager). The third is a collision in which one of the objects splits into two smaller ones. This causes a new object to be created and one of the original objects to change form. The interaction manager determines which of the possible results actually occurs (in this case 503), and communicates that result to the global state manager.

The final component in FIG. 2 is the global state manager 204. This component has the responsibility to maintain a consistent global state for the game. As inputs it takes the current states and motions, as well as any changes initiated by the character behavior controllers (arrow 216) or the other game controller elements (arrows 212-214). It then attempts to represent a global state according to the underlying principles of the game. For example, it takes the current positions and motions of the characters and attempts to describe their new positions. It contains logic to identify inconsistencies and generates inputs to the interaction manager where they occur. These inconsistencies are resolved by the interaction manager (arrow 214) before it accepts other inputs, so as to quickly determine a consistent state. This requires that the global state manager and interaction manager be designed to avoid excessive iterations to reach a consistent global state. The global state is then expressed (arrow 217) in the global state data 103. It is also communicated to the user interface (arrow 212) as necessary.

FIG. 6 shows an example. In this case the global state manager is responsible for the motions of all the characters on the screen. It recognizes a collision 601, which is resolved by the interaction manager (event 602). It then updates the state of the single remaining character (event 603), calls the instance manager to delete the other