SYSTEM AND METHOD FOR COMMUNICATING GAME PARAMETERS UTILIZING SEPARATE PROTOCOLS
The invention provides a client computer system, including at least one storage medium, at least one processor connected to the storage medium, and a set of instructions stored on the storage medium for execution by the processor, the set of instructions including a game having game parameters including a shared game environment, at least one game component, associated with each of a plurality of remote player computer systems, located in the shared game environment and being movable relative to the shared game environment utilizing the respective remote player computer system, game thresholds being reached as a result of movement of the game components relative to the shared game environment, and the player scores being updated when the game thresholds are reached, a first protocol generator to communicate at least a first of the game parameters over the network, and a second protocol generator to communicate at least a second of the game parameters over the network.
This application is a Continuation of International Application No.: PCT/U.S.08/73759 filed Aug. 20, 2008 which claims priority from U.S. Provisional Patent Application No. 60/956,891 filed on Aug. 20, 2007, which is incorporated herein by reference in its entirety.
BACKGROUND OF THE INVENTION1). Field of the Invention Aspects of the present invention relate generally to a network system, and more specifically to a plug-in for a browser and to multiplayer games.
2). Discussion of Related Art
The internet is often used for playing multiplayer games between players at remote player computer systems. A shared game environment is often stored on a game server computer system and is downloadable for viewing at the respective remote player computer systems. Game components such as characters, chess and other board game pieces, cards, etc. are associated with the remote player computer systems. Player scores are stored at the game server computer system and are viewable at the respective remote player computer systems. The scores are updated when certain game thresholds are reached, and a winner is usually declared when a final game threshold is reached.
Browsers such as Internet Explorer®, Firefox®, and Netscape® may be used for viewing the shared game environment, game components, and scores. Browsers usually use a protocol for communicating over the internet, referred to as Hypertext Transfer Protocol (HTTP). HTTP is a low-fidelity, slow data protocol that does not allow for multicasting, heavy data compression, and latency-sensitive multiplayer action games. Certain plug-ins provide additional functionality for browsers. Adobe Flash®, for example, features support for vector and raster graphics, a scripting language called “ActionScript,” and bidirectional streaming of audio and video. However, these plug-ins still do not provide support for high-performance latency-sensitive multiplayer gaming over the internet.
Another problem with multiplayer internet games is that parties often do not stay intact from one game to the next. Should members of a party wish to move from one game to the next, each player will separately have to log off from the old game and separately log on to the new game. Some “seats” in the new game may be reserved by other players, so that some of the members of the party belonging to the old game may not have access to the new game if seats to the new game are limited.
A further feature of existing multiplayer internet games is that a new player cannot be invited directly into a game. Instead, the new player often has to search for a game that is being played by friends or acquaintances and then has to go through a menu in order to enter the game.
SUMMARY OF THE INVENTIONThe invention provides a client computer system, including at least one storage medium, at least one processor connected to the storage medium, and a set of instructions stored on the storage medium for execution by the processor, the set of instructions including a game having game parameters, a first protocol generator to communicate at least a first of the game parameters over the network, and a second protocol generator to communicate at least a second of the game parameters over the network.
The game parameters may include a shared game environment, at least one game component, associated with each of a plurality of remote player computer systems, located in the shared game environment and being movable relative to the shared game environment utilizing the respective remote player computer system, game thresholds being reached as a result of movement of the game components relative to the shared game environment, and the player scores being updated when the game thresholds are reached.
The first protocol generator may generate one of a UDP or a TCP protocol and the second protocol generator may generate one of an HTML and an HTMLS protocol.
The client computer system may further include a browser residing on the storage medium, the browser having a window for displaying components in the signal, and a plug-in residing on the storage medium, the plug-in being utilized to enhance functionality of the browser.
The client computer system may further include a graphical application residing on the storage medium, the graphical application utilizing graphics acceleration to render graphics, wherein the plug-in may enhance functionality of the browser by embedding the graphics rendered by the graphical application in the window of the browser.
Window management events generated for or by the browser may be communicated with the graphical application.
User input events generated and tracked by the browser may be communicated with the graphical application.
The client computer system may further include a first browser residing on the storage medium, the first browser having a view for displaying components in the signal, and a first plug-in residing on the storage medium, the first plug-in being utilized to enhance functionality of the first browser, wherein the first plug-in may enhance functionality of the first browser by communicating with a second remote computer system over the network.
The first browser may have browser functionality and the plug-in may place a view of the shared game environment in the first browser, and the game may have game functionality.
The first plug-in may enhance functionality of the first browser by communicating with the second plug-in on the second remote computer system over the network, the second plug-in being utilized to enhance functionality of the second browser by communicating with the first plug-in.
The client computer system may further include a three-dimensional engine that may create a three-dimensional rendering of the shared game environment and the game components.
The invention further provides a computer communications method, including receiving a signal from first and second remote computer systems over a network, the signal including components for display by the remote computer receiving the signal, executing a game having game parameters including a shared game environment displayed by the remote player computer systems, at least one game component, associated with each of a plurality of remote player computer systems, located in the shared game environment and being movable relative to the shared game environment, utilizing the respective remote player computer system, game thresholds being reached as a result of movement of the game components relative to the shared game environment, and the player scores being updated when the game thresholds are reached, utilizing a first protocol to communicate at least a first of the game parameters over the network, and utilizing a second protocol to communicate at least a second of the game parameters over the network.
The computer communications method may further include running a browser application residing on the second remote computer system, the browser having a view that displays components received in the signal, and utilizing a plug-in on the second remote computer system to enhance functionality of the browser.
The computer communications method may further include rendering graphics with a graphical application residing on at least one of the remote computer systems, the graphical application utilizing graphics acceleration to render graphics, and embedding the graphics rendered by the graphical application in the window of the browser utilizing the plug-in.
The computer communications method may further include generating window management events for or by the browser, and communicating the window management events with the graphical application.
The computer communications method may further include tracking user input events with the browser, and communicating the user input events with the graphical application.
The remote computer systems may be remote player computer systems, further including utilizing a plurality of remote player computer systems to move a plurality of game components associated with the respective player computers in a shared game environment displayed by the respective remote player computer systems, storing a plurality of player scores corresponding to the respective remote player computer systems, and updating the player scores as game thresholds are reached as a result of movement of the game components relative to the shared game environment.
The computer communications method may further include storing the shared game environment on a game server computer system, transmitting the shared game environment to the remote player computer systems, storing the player scores on the game server computer system, and transmitting the player scores to the remote player computer systems.
The shared game environment may be a selected shared game environment among a plurality of shared game environments, further including generating a game-specific URL, transmitting the game-specific URL to a selected one of the remote computer systems, and utilizing the game-specific URL at the selected remote computer system to at least view the selected game environment.
The computer communications method may further include storing a plurality of shared game environments on the game server computer system, and associating a respective party comprising a respective subset of the remote player computer systems with each shared game environment.
The computer communications method may further include selecting a party move selector at one of the remote player computer systems associated with a first one of the parties and a first one of the shared game environments, to transmit a party move signal from the respective remote player computer system to the server computer system, and in response to the party move signal, associating all the remote player computer systems associated with the first party in unison with a second one of the shared game environments.
The computer communications method may further include running a first browser application residing on a first remote computer system, the first browser having a view that displays components received in the signal, and utilizing a first plug-in on the first remote computer system to enhance functionality of the browser, wherein the first plug-in may enhance functionality of the first browser by communicating with a second remote computer system over the network.
The browser may have browser functionality and the plug-in may place a view of the shared game environment in the browser, and the game may have game functionality.
The computer communications method may further include running a second browser application residing on a second remote computer system, the second browser having a view that displays components received in the signal, and utilizing a second plug-in on the second remote computer system to enhance functionality of the browser, wherein the first plug-in may enhance functionality of the first browser by communicating with the second plug-in on the second remote computer system over the network.
The shared game environment, the at least one game component, the movement of the at least one game component, the player scores, and the game thresholds may be game parameters, further including utilizing a first protocol to communicate at least a first of the game parameters over the network, and utilizing a second protocol to communicate at least a second of the game parameters over the network.
The computer communications method may further include creating a three-dimensional rendering of the shared game environment and the game components.
The invention further provides a computer-readable medium having stored thereon a set of instructions which, when executed by a processor of a computer, executes a communications method, including receiving a signal from first and second remote computer systems over a network, the signal including components for display by the remote computer receiving the signal, executing a game having game parameters, including a shared game environment displayed by the remote player computer systems, at least one game component, associated with each of a plurality of remote player computer systems, located in the shared game environment and being movable relative to the shared game environment utilizing the respective remote player computer system, game thresholds being reached as a result of movement of the game components relative to the shared game environment, and the player scores being updated when the game thresholds are reached, utilizing a first protocol to communicate at least a first of the game parameters over the network, and utilizing a second protocol to communicate at least a second of the game parameters over the network.
The invention further provides a network system, including a plurality of remote player computer systems connected to a network, a signal being transmitted from a first to a second of the remote player computer systems over the network, the signal including components for display by the remote player computer receiving the signal, a shared game environment displayed by the remote player computer systems,
at least one game component associated with each remote player computer system located in the shared game environment at each remote player computer system, and being movable relative to the shared game environment utilizing the respective remote player computer system, a plurality of player scores stored on a computer system, each player score corresponding to a respective one of the remote player computer systems, game thresholds being reached as a result of movement of the game components relative to the shared game environment, and the player scores being updated when the game thresholds are reached, wherein the shared game environment, the at least one game component, the movement of the at least one game component, the player scores, and the game thresholds are game parameters, a first protocol generator to communicate at least a first of the game parameters over the network, and a second protocol generator to communicate at least a second of the game parameters over the network.
The invention is further described by way of example with reference to the accompanying drawings, wherein:
As shown in
The shared game environment 30B, the game components 30C, and the player scores 30D are all stored on the game server computer system 26 and are transmitted to the remote player computer systems 24A, 24B, and 24C in
The shared game environment 30B, plurality of game components 30C, plurality of player scores 30D, and game logic module 30E are all associated with a single game 32A. A plurality of different games 32A, 32B, and 32C are stored on the game server computer system 26. Each game 32A, 32B, and 32C includes respective components similar to the shared game environment 30B, plurality of game components 30C, plurality of player scores 30D, and game logic module 30E, but for different ones of the same type of game or for different types of games.
The parties 30F each include a respective subset of the remote player computer systems 24A, 24B, and 24C in
The user enters an address in the address box 36. The user uses a mouse to move a cursor 42 into the address box 36, and then clicks a button on the mouse. After clicking the button on the mouse, the user can use a keyboard to enter text into the address box 36. The user can press “Enter” on the keyboard. A command is sent over the internet 22 in
Each one of the game components 30C is also associated with each one of the remote player computer systems 24A, 24B, and 24C in
A view such as the view 43 is displayed on displays of all the remote player computer systems 24A, 24B, and 24C forming part of the respective party 30F. A different one of the game components 30C is associated with a respective one of the remote player computer systems 24A, 24B, and 24C, and can only be moved and controlled at the respective remote player computer system 24A, 24B, or 24C to which it belongs. The view that is displayed at each remote player computer system 24A, 24B, and 24C will include a different perspective of the same shared game environment 30B.
The game logic module 30E in
The browser 50 has browser functionality and includes a webpage display module 56A, an interface control display module 56B, and a user input module 56C.
The webpage display module 56A includes the browser interface 34 that is displayed in
The interface control display module 56B displays interface control components. Interface control components may, for example, be buttons, sliders, fields, etc. Interface control components may be used to customize and adjust settings of games.
The user input module 56C receives user input events from user interface devices. User input events may, for example, be a key press on a keyboard, a click on a button of a mouse, movement of a mouse in a selected direction, the click of a button on a game-specific user input device such as a joystick, or movement of a movable component relative to a base of a game-specific device, for example, movement of a handle of a joystick or rotation of a steering wheel.
The game application 52 has game functionality and includes a three-dimensional graphics engine 58A, a first protocol generator 58B, and a game environment and player control module 58C.
The three-dimensional graphics engine 58A is a high-speed graphics engine that typically communicates with a graphics accelerator on a graphics card for purposes of rendering three-dimensional views at high speed, as is required by advanced three-dimensional games. This three-dimensional graphics engine 58A is responsible for generating three-dimensional views of the shared game environment 30B, game components 30C, and shadows in
The game environment and player control module 58C includes some game logic in addition to the game logic residing in the game logic module 30E in
The three-dimensional graphics engine 58A and the game environment and player control module 58C are both in communication with the first protocol generator 58B. The first protocol generator 58B communicates with the game server computer system 26. The first protocol generator 58B creates multi-client data connections. The first protocol generator 58B may use a protocol such as Universal Datagram Protocol (UDP). UDP (or even Transmission Control Protocol (TCP)), when compared to HTTP, is a high-fidelity, fast data protocol that multicasts, allows for heavy data compression, and allows for latency-sensitive multiplayer action games in the browser 50. These features of the first protocol generator 58B allow for fast communication between the three-dimensional graphics engine 58A and the game server computer system 26. In another embodiment, the first protocol generator 58B may connect directly to other remote player computer systems in a peer-to-peer arrangement, rather than the server-based arrangement of
The plug-in 54 has a number of modules that, alone and in combination, enhance functionality of the browser 50, including a game application graphics display module 60A, a second protocol generator 60B, a forwarding module 60C, and a user input translator module 60D.
The game application graphics display module 60A connects the three-dimensional graphics engine 58A to the web page display module 56A. The game application graphics display module 60A displays the view 43 in the viewing pane 38 of the browser interface 34 in
The forwarding module 60C is connected to the interface control display module 56B. The forwarding module 60C forwards customization and settings from the interface control display module 56B to the game environment and player control module 58C of the game application 52. The user input translator module 60D receives and translates the user input events from the user input module 56C and forwards the translated user input event to the game environment and player control module 58C.
The second protocol generator 60B is used to generate a low-fidelity, slow data protocol, compared to UDP, such as HTTP, that does not multicast, does not use heavy data compression, or enable latency-sensitive multiplayer action games in a browser. The second protocol generator 60B is used for communicating (transmit and/or receive) data other than what is generated by the game application 52 with the game server computer system 26. The second protocol generator 60B may, for example, communicate a window management event, the clock 48, player scores 30D, and nicknames 44 in
It can be seen how the plug-in 54 enhances functionality of the browser 50 by displaying graphics rendered by the three-dimensional graphics engine 58A of the game application to be viewed utilizing the web page display module 56A of the browser 50, by utilizing the user input translator module 60D to translate user input events detected by the user input module 56C to the game environment and player control module 58C of the game application 52, by utilizing the forwarding module 60C to forward customization and settings to the game application 52, and by providing the second protocol generator 60B to communicate with the game server computer system 26.
What should also be noted is the interaction of webpage components/controls with game components. For example, users can click a button on the webpage, and seemlessly see changes in their game. As an example, a web interface is provided that allows users to pick an individual marble type from amongst many choices. The marble selector interface is done entirely on the with HTML, HTMLS CSS, or even Flash UI components. When the user selects a marble, the webpage triggers a javascript event that evokes a plug-in and passes along the appropriate marble parameters, and the plug-in informs the game application to select the appropriate marble, and the game then renders the correct marble in-game. Similar systems for selecting tanks with different looks and gameplay attributes are provided through web interfaces. The same functionality for choosing levels for games through web interfaces, etc can also be provided.
For Windows®, for example, the plug-in 54 is an ActiveX control configured to execute the external graphical application and pass it a window handle to use when initializing its graphics context. To do this in Windows®, the window handle “m_hWnd,” which is a data member inherited through CWindowImpl, of the plug-in 54 is used as follows:
String args=ToString(“-window % d”,m_hWnd);
execute(exePath,workDir,args);
The result is then passed to the game application 52 on the command line when we start it using the standard Windows CreateProcess( ) function:
bool execute(Path exePath,Path workPath,String args)
The data structure called “STARTUPINFO” above is for calling the game application 52.
For the game application 52, what is required is to accept the command line argument as a Windows HWND, use it to get the required size, and then to initialize the required graphics context with it. Communication with the plug-in 54 is then embedded into the game application 52.
Communication between the game application 52 and the plug-in 54 may be accomplished using sockets, named pipes, or shared memory. When the plug-in 54 launches the game application 52, it passes information on the command line to tell the game application 52 where and how to connect back to the plug-in 54.
The plug-in 54 may, for example, set the port according to the following procedure:
String args=ToString(“-port % d”,m-port);
execute(exePath,workDir,args);
The result is passed on to the game application 52 on the command line when the standard Windows CreateProcess( ) function is initiated:
For the game application 52, what is then required is to accept the command line argument and use it when opening the connection to the plug-in 54.
unsigned int port=0;
sscanf(1pCmdLine, “-port % d”,&port);
ConnectToPlugin(port);
At block 70, the moderator creates a game lobby 72 shown in
Referring again to
As represented by block 80 in
As shown in
Before selecting one of the game icons 82, the game lobby 72 is displayed at the remote player computer systems 24A in
The multiplayer game view 86 of
As mentioned, the moderator can start the game at block 80 in
The view 43 includes a “lobby” selector 94. If the moderator selects the “lobby” selector 94, the moderator will be returned to the game lobby 72 shown in
When moving the entire party in unison, there is no need for individual players to separately rejoin a new game. The entire party can thus be moved in a fast and efficient manner. This feature is also useful in games where a limited number of “seats” are available that can be taken up by players not belonging to the party of the old game, and thus block certain members of the party of the old game out of the new game. Friends and acquaintances can also remain in the same party from one game to the next. As mentioned, the parties are stored on the game server computer system 26 in
The game lobby 72 in
In the game lobby 72 of
Referring again to
An invited user can alternatively enter the multiplayer game session 92 directly instead of going through the game lobby 72, a feature of the invention referred to as “deep linking” and represented by the line connecting block 104 directly to block 92 in
The new invited user has thus automatically joined the game by simply selecting the URL. There is thus no need for the new invited user to search for any games that friends or acquaintances are playing or for the new user to click through a menu in order to access a selected game.
The exemplary computer system 900 includes a processor 902 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 904 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.), and a static memory 906 (e.g., flash memory, static random access memory (SRAM), etc.), which communicate with each other via a bus 908.
The computer system 900 may further include a video display 910 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 900 also includes an alpha-numeric input device 912 (e.g., a keyboard), a cursor control device 914 (e.g., a mouse), a disk drive unit 916, a signal generation device 918 (e.g., a speaker), and a network interface device 920. Other game-specific user input devices such as a joystick or a steering wheel may also be connected to the bus 908.
The disk drive unit 916 includes a machine-readable medium 922 on which is stored one or more sets of instructions 924 (e.g., software) embodying any one or more of the methodologies or functions described herein. The software may also reside, completely or at least partially, within the main memory 904 and/or within the processor 902 during execution or running thereof by the computer system 900, the main memory 904 and the processor 902 also constituting machine-readable media.
The software may further be transmitted or received over a network 928 via the network interface device 920.
While the machine-readable medium 924 is shown in an exemplary embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals.
While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative and not restrictive of the current invention, and that this invention is not restricted to the specific constructions and arrangements shown and described since modifications may occur to those ordinarily skilled in the art.
Claims
1. A client computer system, comprising:
- at least one storage medium;
- at least one processor connected to the storage medium; and
- a set of instructions stored on the storage medium for execution by the processor, the set of instructions including:
- a game having game parameters;
- a first protocol generator to communicate at least a first of the game parameters over the network; and
- a second protocol generator to communicate at least a second of the game parameters over the network.
2. The client computer system of claim 1 wherein the game parameters include a shared game environment, at least one game component, associated with each of a plurality of remote player computer systems, located in the shared game environment and being movable relative to the shared game environment utilizing the respective remote player computer system, game thresholds being reached as a result of movement of the game components relative to the shared game environment, and the player scores being updated when the game thresholds are reached
3. The client computer system of claim 1 wherein the first protocol generator generates one of a UDP or a TCP protocol and the second protocol generator generates one of an HTML and an HTMLS protocol.
4. The client computer system of claim 1, further comprising:
- a browser residing on the storage medium, the browser having a window for displaying components in the signal; and
- a plug-in residing on the storage medium, the plug-in being utilized to enhance functionality of the browser.
5. The client computer system of claim 4, further comprising a graphical application residing on the storage medium, the graphical application utilizing graphics acceleration to render graphics, wherein the plug-in enhances functionality of the browser by embedding the graphics rendered by the graphical application in the window of the browser.
6. The client computer system of claim 1, further comprising:
- a first browser residing on the storage medium, the first browser having a view for displaying components in the signal; and
- a first plug-in residing on the storage medium, the first plug-in being utilized to enhance functionality of the first browser,
- wherein the first plug-in enhances functionality of the first browser by communicating with a second remote computer system over the network.
7. The client computer system of claim 1, wherein the first browser has browser functionality and the plug-in places a view of the shared game environment in the first browser, and the game has game functionality.
8. The client computer system of claim 1, wherein the first plug-in enhances functionality of the first browser by communicating with the second plug-in on the second remote computer system over the network, the second plug-in being utilized to enhance functionality of the second browser by communicating with the first plug-in.
9. The client computer system of claim 1, further comprising:
- a three-dimensional engine that creates a three-dimensional rendering of the shared game environment and the game components.
10. A computer communications method, comprising:
- receiving a signal from first and second remote computer systems over a network, the signal including components for display by the remote computer receiving the signal;
- executing a game having game parameters including a shared game environment displayed by the remote player computer systems, at least one game component, associated with each of a plurality of remote player computer systems, located in the shared game environment and being movable relative to the shared game environment, utilizing the respective remote player computer system, game thresholds being reached as a result of movement of the game components relative to the shared game environment, and the player scores being updated when the game thresholds are reached;
- utilizing a first protocol to communicate at least a first of the game parameters over the network; and
- utilizing a second protocol to communicate at least a second of the game parameters over the network.
11. The computer communications method of claim 10, further comprising:
- running a browser application residing on the second remote computer system, the browser having a view that displays components received in the signal; and
- utilizing a plug-in on the second remote computer system to enhance functionality of the browser.
12. The computer communications method of claim 11, further comprising:
- rendering graphics with a graphical application residing on at least one of the remote computer systems, the graphical application utilizing graphics acceleration to render graphics; and
- embedding the graphics rendered by the graphical application in the window of the browser utilizing the plug-in.
13. The computer communications method of claim 12, further comprising:
- generating window management events for or by the browser; and
- communicating the window management events with the graphical application.
14. The computer communications method of claim 12, further comprising:
- tracking user input events with the browser; and
- communicating the user input events with the graphical application.
15. The computer communications method of claim 10, wherein the remote computer systems are remote player computer systems, further comprising:
- utilizing a plurality of remote player computer systems to move a plurality of game components associated with the respective player computers in a shared game environment displayed by the respective remote player computer systems;
- storing a plurality of player scores corresponding to the respective remote player computer systems; and
- updating the player scores as game thresholds are reached as a result of movement of the game components relative to the shared game environment.
16. The computer communications method of claim 15, further comprising:
- storing the shared game environment on a game server computer system;
- transmitting the shared game environment to the remote player computer systems;
- storing the player scores on the game server computer system; and
- transmitting the player scores to the remote player computer systems.
17. The computer communications method of claim 16, wherein the shared game environment is a selected shared game environment among a plurality of shared game environments, further comprising:
- generating a game-specific URL;
- transmitting the game-specific URL to a selected one of the remote computer systems; and
- utilizing the game-specific URL at the selected remote computer system to at least view the selected game environment.
18. The computer communications method of claim 16, further comprising:
- storing a plurality of shared game environments on the game server computer system; and
- associating a respective party comprising a respective subset of the remote player computer systems with each shared game environment.
19. The computer communications method of claim 18, further comprising:
- selecting a party move selector at one of the remote player computer systems associated with a first one of the parties and a first one of the shared game environments, to transmit a party move signal from the respective remote player computer system to the server computer system; and
- in response to the party move signal, associating all the remote player computer systems associated with the first party in unison with a second one of the shared game environments.
20. The computer communications method of claim 15, further comprising:
- running a first browser application residing on a first remote computer system, the first browser having a view that displays components received in the signal; and
- utilizing a first plug-in on the first remote computer system to enhance functionality of the browser,
- wherein the first plug-in enhances functionality of the first browser by communicating with a second remote computer system over the network.
21. The computer communications method of claim 20, wherein the browser has browser functionality and the plug-in places a view of the shared game environment in the browser, and the game has game functionality.
22. The computer communications method of claim 20, further comprising:
- running a second browser application residing on a second remote computer system, the second browser having a view that displays components received in the signal; and
- utilizing a second plug-in on the second remote computer system to enhance functionality of the browser,
- wherein the first plug-in enhances functionality of the first browser by communicating with the second plug-in on the second remote computer system over the network.
23. The computer communications method of claim 15, wherein the shared game environment, the at least one game component, the movement of the at least one game component, the player scores, and the game thresholds are game parameters, further comprising:
- utilizing a first protocol to communicate at least a first of the game parameters over the network; and
- utilizing a second protocol to communicate at least a second of the game parameters over the network.
24. The computer communications method of claim 15, further comprising:
- creating a three-dimensional rendering of the shared game environment and the game components.
25. A computer-readable medium having stored thereon a set of instructions which, when executed by a processor of a computer, executes a communications method, comprising:
- receiving a signal from first and second remote computer systems over a network, the signal including components for display by the remote computer receiving the signal;
- executing a game having game parameters, including a shared game environment displayed by the remote player computer systems, at least one game component, associated with each of a plurality of remote player computer systems, located in the shared game environment and being movable relative to the shared game environment utilizing the respective remote player computer system, game thresholds being reached as a result of movement of the game components relative to the shared game environment, and the player scores being updated when the game thresholds are reached;
- utilizing a first protocol to communicate at least a first of the game parameters over the network; and
- utilizing a second protocol to communicate at least a second of the game parameters over the network.
26. A network system, comprising:
- a plurality of remote player computer systems connected to a network, a signal being transmitted from a first to a second of the remote player computer systems over the network, the signal including components for display by the remote player computer receiving the signal;
- a shared game environment displayed by the remote player computer systems;
- at least one game component associated with each remote player computer system located in the shared game environment at each remote player computer system, and being movable relative to the shared game environment utilizing the respective remote player computer system;
- a plurality of player scores stored on a computer system, each player score corresponding to a respective one of the remote player computer systems, game thresholds being reached as a result of movement of the game components relative to the shared game environment, and the player scores being updated when the game thresholds are reached, wherein the shared game environment, the at least one game component, the movement of the at least one game component, the player scores, and the game thresholds are game parameters;
- a first protocol generator to communicate at least a first of the game parameters over the network; and
- a second protocol generator to communicate at least a second of the game parameters over the network.
Type: Application
Filed: Aug 25, 2008
Publication Date: Mar 5, 2009
Inventors: Timothy R. Gift (Eugene, OR), Mark D. Frohnmayer (Eugene, OR), Joshua D. Williams (Eugene, OR)
Application Number: 12/197,928
International Classification: A63F 9/24 (20060101);