US20060258462A1 - System and method of seamless game world based on server/client - Google Patents
System and method of seamless game world based on server/client Download PDFInfo
- Publication number
- US20060258462A1 US20060258462A1 US11/403,024 US40302406A US2006258462A1 US 20060258462 A1 US20060258462 A1 US 20060258462A1 US 40302406 A US40302406 A US 40302406A US 2006258462 A1 US2006258462 A1 US 2006258462A1
- Authority
- US
- United States
- Prior art keywords
- avatar
- server
- clone
- game
- status
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/352—Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
-
- A63F13/12—
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/358—Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/69—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/53—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
- A63F2300/531—Server assignment
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/53—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
- A63F2300/534—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
Definitions
- the present invention generally relates to a computer system for online gaming and the method thereof, in particularly to a seamless game world system for chaining a game world partition divided into several small-scale game worlds in massive multiplayer online games based on client/server architecture to form a whole game world, and method thereof.
- MMOG massively multiplayer online games
- MMOG in the form of client/server architecture, players run a client program on their local game hardware (typically a PC or a game console) that acts only as an input/output device.
- the local machine accepts commands input from a remote game server and renders the player's view of the game world, sending keystrokes, mouse movements or controller commands across the network to signal the player's action within the game. Every player is represented in the game world by an entity called “avatar”, whose state is controlled by the user input. Most or all of the processing required to manage the game world's state is handled by the game logic executing on a remote server.
- the game logic server typically performs all computation needed to manage the game world state.
- the game world is normally divided into several small ones and a cluster of game servers serve the participating game world together. Since the single server architecture (a single server serving the whole world) is very simple, it is the technology of multi-server architecture that will be addressed.
- MMOG the structured diagram is mapped onto distinct server clusters.
- Such a kind of map is introduced in Jarett A, Estanislao J, Dunin E, MacLean J, Robbins B, Rohrl D, Welch J and Valadares J, “(2003) IGDA Online Games White Paper”, pp63-64, 2003.
- the most common means for partitioning of the game world is to divide distinct geographical regions within a game world into zones, assigning one zone to a game server. Every zone is composed of many cells which are the basic map units. Neighbor cells are chained together to compose the zone, and then neighbor zones on different servers are chained together to form the whole game world.
- Zone 1 is composed of 16 basic map units, i.e. cells
- Zone 2 is composed of 24 cells
- Zone 3 is composed of 24 cells
- Zone 4 is composed of 36 cells.
- Zone 1 , Zone 2 , Zone 3 and Zone 4 are assigned to Computer 1 , Computer 2 , Computer 3 and Computer 4 as servers, respectively.
- the entities usually disseminate update packets only to those nodes relevant to them, which are in the so-called AOI (area of interest).
- AOI area of interest
- the avatar's AOI may cross the border.
- the multi-server MMOG can be divided into two kinds.
- One of the two kinds of online game is a discrete game world.
- game worlds are zoned and each zoned has a boundary to prohibit players from being aware of events occurred outside. Switching between zones can be done only through switching a connection from a current game server to the one that serves the target zone.
- the discrete game world has three major shortcomings, the first of which is that there is an obvious interruption of game-playing felt when switching between two zones served by different servers. In fact, switching between two zones is implemented by the game logic discharging the avatar from the original server first and then performing logins it to another server. So the player will have the serious problem of abrupt visual effect on the client site.
- a second shortcoming is that the border of a zone prohibits the player from seeing another side of the game world, which in turn reduces the interaction and fun of the game.
- the third shortcoming is that the difficulty of dynamic load balancing among game server farms is increased (i.e.
- MMOG Another kind of MMOG is a continuous or seamless game world.
- MMOG can be designed to create seamless worlds in which a player can do whatever he does in the discrete game world without the boundary limitation. The player may interact with objects, computer-controlled characters or other players that are themselves executing on servers other than the player's.
- seamless game world design for MMOG There are a number of benefits to the use of seamless game world design for MMOG.
- the way of forming a seamless game world system is important.
- To form a continuous game world first, when the AOI (or visual range) of an avatar on a game server crosses other servers, he can be aware of entities on other servers which are still in his aura. Second, avatars can migrate from one server into another seamlessly and smoothly with a very small cost, and the continuity of the game experience of the avatars is guaranteed.
- the main weaknesses of the buffered zone solution are: the game map needs to be reconstructed, the map cell's shape and size are also limited, and there is a paradox in dealing with the dynamically changing AOI. If the maximum AOI is adopted as the scope of overlapped area, it will increase the redundant computing and communication load of them and reduce the overall resource usage rate of the game server farm.
- an object of the present invention is to provide a seamless game world system in which all players have a consistent seamless game world view, and the operation method thereof, so that when the AOI of an avatar on a game serve crosses other servers, he can be aware of entities on other servers which are still in his aura, and he can also migrate from one server into another seamlessly.
- a seamless game world system comprising a plurality of game servers and at least a client
- each said game logic server being assigned to a zone in the game world divided into zones for executing all the computations required to manage the status of the game world
- said client being controlled by a player to accept commands input from a remote game server, render the player's view of the game world, and send keystroke, mouse or controller commands across the network to signal an avatar's move within the game, said avatar being an entity of the player in the game world whose status is controlled by the user input
- said seamless game world comprises: a game logic computing module for computing an avatar's new status; a map controller for detecting whether an area of interest of the avatar has crossed the border of a host server of the avatar and spanned neighbor game servers based on the avatar's new status computed by said game logic computing module, and determining to make/delete a clone on a neighbor game
- a method for realizing a seamless game world for every player of a game world the game world being divided into zones, each zone being assigned to a game server for management, a player controlling a client to accept commands input from a remote game server, render the player's view of the game world, and send keystroke, mouse or controller commands across the network to signal an avatar's move within the game, said avatar being an entity of the player in the game world whose status is controlled by the user input
- said method comprises the steps of: computing an avatar's new status; detecting whether an area of interest of the avatar has crossed the zone border of a host server of the avatar and spanned neighbor game servers based on the computed avatar's new status; determining to make/delete a clone on a neighbor game server or synchronize the clone's status based on the detected result, said clone representing the incarnation of a doer avatar on a neighbor server, said doer avatar being an avatar with
- a computer readable media containing instructions for executing the above method is also provided.
- the map controller can be implemented as a module which has the responsibility to manage the clone and acts as the “hidden hand” between the game application and players, so there is no special requirement for the legacy game system, and different avatar's view scopes can be changed flexibly and there is no redundant clone avatar.
- the method according to the present invention has no limitation on the map structure. It can be easily adopted in the improvement of legacy games.
- FIG. 1 shows an example of a game world
- FIG. 2 shows a block diagram of the seamless game world system according to the present invention
- FIG. 3 shows a block diagram of map controller 210 according to the present invention
- FIG. 4 is a flowchart showing the complete status update of the map controller 210 according to the present invention.
- FIG. 5 is a schematic diagram showing, when an avatar's area of interest spans a game server, a different game server updates a corresponding area of interest to a client;
- FIG. 6 is a flowchart illustrating the operation of the map controller 210 .
- FIG. 2 shows a block diagram of a game server in the seamless game world system using a map controller according to the present invention.
- the seamless game world system using a map controller according to the present invention comprises a plurality of game servers and at least one client (not shown).
- the seamless game world system further comprises a game logic computing module 200 , a map controller 210 and a avatar status update module 220 .
- the map controller 210 is positioned between a normal game logic computing module 200 and a player's avatar status update module 220 , and is integrated with the game application runtime.
- clones of the avatar are created on the servers corresponding to these zones.
- the present invention means the incarnation of the doer avatar on another server. Actually, the doer avatar and its clone cannot be perceived by a player, and are considered as the same object. The incarnation is called “a clone” only for convenience of description.
- a doer is a conventional avatar for which its host server computes its status change and updates it to the client by using the game logic computing module 200 .
- the map controller 210 then updates its clone avatar according to the computed new status.
- a doer avatar can have several clone avatars.
- a clone is a representative of a doer and its host server does not compute its status by using the game logic computing module 200 .
- the host server for a clone only updates it according to its new status received from the doer's host server.
- the clone's host server also adds the clone to its player list, and uses a tag to identify that it is a clone.
- the clone avatar's host server updates the entities in the clone's AOI to the client by using the map controller 210 .
- any change of status on a doer will be synchronized to the clone(s) through the network protocol or under the support of communication middleware.
- the game logic computing module 200 computes an avatar's new status. After the game logic module 200 computes out the avatar's new status, the map controller 210 will take the responsibility of handling the avatar's AOI change based on the computation result of the game logic computing module 200 .
- the map controller 210 further has the capability of keeping a unique status view for every avatar according to the policy of the game world. To achieve this, the map controller 210 will monitor the status change of an avatar, and detect whether or not the avatar's AOI crosses the border of the avatar's host server and spans to a neighbor server.
- the map controller 210 makes clone avatars at neighbor servers according to the individual avatar's AOI and other private policies. After making clone avatars at neighbor servers, the map controller 210 will be responsible for updating any change of the avatar to all clones. Specifically, the doer avatar's host server computes out the avatar's new status by using the game logic computing module 200 , and the map controller 210 will update it to all the clones. In the doer avatar's update cycle, the server will update the avatar's AOI on it to the client, and the neighbor server will also compute the clone's AOI on it to the client. The detail of this process will be explained later in conjunction with FIG. 5 .
- the map controller 210 of the doer server will notify its neighbors to delete the clone from the avatar list. Then the avatar goes back to the normal computing and updating status.
- the map controller 210 of the doer server will notice its peer on the immigrated server, and the migration process is completed by changing the avatar on the original into a clone avatar and changing the immigrated server's agent avatar into a doer avatar.
- the avatar eventually migrates into the immigrated server, it is then taken over by the immigrated server immediately since its information already exists at the immigrated server.
- FIG. 3 shows the block diagram of the map controller 210 according to the present invention.
- the map controller 210 consists of a clone detector 320 , a clone planner 340 , a clone plan sender 350 , a clone plan receiver and manager 360 and a map information pool (i.e. a map-server table memory) 330 .
- a map information pool i.e. a map-server table memory
- the clone detector 320 is responsible for detecting whether to make a clone, delete a clone or synchronize a clone's status. Specifically, the clone detector 320 receives the avatar's newest status from the game logic computing module 200 and makes a decision about whether to make a clone, delete a clone or synchronize a clone's status according to the information and avatar setting in the map-server table memory 330 .
- the clone planner 340 If the clone detector 320 decides to make a clone, delete a clone or update a clone's status, then the clone planner 340 generates a clone plan, which includes the participant neighbors (destination) and the action(s) of: (1) adding a clone, (2) deleting a clone, or (3) updating a clone status. To update a clone status, the clone plan also includes the avatar's newest status to be synchronized. Here every status has several different actions corresponding to different neighbor game servers.
- the clone detector 320 decides not to make a clone, delete a clone or update a clone's status, then no action of clone adding, deleting or clone's status synchronizing is done, that is to say, the clone planner 340 will do nothing in this case.
- the clone plan sender 350 is responsible for sending action commands to its neighbors. Specifically, the clone plan sender 350 first reads the plan's destination item (the neighbor's address), then sends commands to different destinations through the network protocol or via communication middleware.
- the clone plan receiver and manager 360 is responsible for collecting all its neighbor game server's clone plans sent by its peers, and then doing the clone adding, deleting or status synchronizing process according to the clone plan information.
- the map-server table memory 330 is a persistent or temporary storage that describes the server-map relationship and the neighbor relationship between zone maps.
- the map controller 210 further comprises a game policy builder 310 and an avatar policy database memory 315 .
- the policy builder 310 collects an avatar's policy layer information negotiated by the game logic module 200 to build an avatar policy and store it in the avatar policy database memory 315 .
- the avatar policy includes the avatar's view scope and other special information (such as landscape etc.) which can be used to compute the avatar's AOI.
- the map controller 210 is running on the same game application runtime.
- the game application runtime supports the avatar game logic process being executed as designed by the game application.
- the map controller 210 begins its operation after the avatar status computing module 200 computes the result, and does not end the operation until the avatar status update module 220 begins to operate.
- the map controller 210 realizes the seamless game world for every player of the game world.
- FIG. 4 is a flowchart showing a complete status update.
- the map controller 210 monitors the status change of an avatar, and detects whether or not the avatar's AOI crosses the border of the avatar's host server and spans to neighbor game servers.
- step S 410 If it is detected at step S 410 that the avatar's AOI is inside the border, i.e. the avatar's AOI does not cross the border and does not span to neighbor game servers, then the process proceeds to step S 420 , at which the map controller 210 notifies the doer server to update the avatar's status according to the new status of the avatar computed by the game logic computing module 200 .
- step S 410 If it is detected at step S 410 that the avatar's AOI crosses the zone border of its host server and spans to neighbor game servers, then the process proceeds to step S 430 , at which the map controller 210 makes clones at neighbor servers according to the individual avatar's AOI and other privacy policies.
- step S 440 the doer server computes out the avatar's new status by using the game logic computing module 200 , and synchronizes the clone's status by using the map controller 210 .
- step S 450 at which the doer server and the neighbor game servers perform status updates on the same avatar.
- step S 465 the map controller 210 detects whether the avatar's AOI spans the map of the one server and enters into the zone of an immigrated server. If it is detected at step S 465 that the avatar's AOI is no longer spanning the map of the one server, then the process proceeds to step S 460 , at which the map controller 210 will notify the neighbor game servers to delete the clone from the avatar list. Then the process returns to step S 420 .
- step S 465 If it is detected at step S 465 that the avatar crosses the zone border of its host server and goes into the zone of the immigrated server, then the process proceeds to step S 470 , at which the map controller 210 will notify its peer on the immigrated server, and the migration process is completed by changing the avatar that was the doer avatar into a clone avatar and changing the immigrated server's agent avatar into a doer avatar.
- step S 480 at which the avatar's status is computed in the immigrated server and the status update process is completed.
- FIG. 5 is a schematic diagram showing, when an avatar's AOI spans a server, a different server updates a corresponding AOI to a client.
- the map controller 210 finds that one avatar's AOI is out of its zone, it then notifies the related neighbor peers to make a clone.
- a server updates an avatar's AOI on it to a client and a neighbor game server computes a clone's AOI on it to the client will be described in detail in conjunction with FIG. 5 .
- the zone controlled by server A as a doer server is indicated by a blank block
- the zone controlled by sever B as a neighbor game server is indicated by a hatched block.
- Reference number 500 indicates a schematic diagram showing that an avatar's AOI spans a server.
- zone 510 indicates the AOI of a player at position P 1
- the AOI of the player at position P 2 is indicated by zone 520 .
- the map controller 210 will make a clone avatar in the neighbor game server (server B), and synchronize the clone avatar's status with the doer avatar's status.
- Reference number 500 ′ indicates a schematic diagram illustrating the making of a clone and the synchronizing of a clone's status.
- zone 530 indicates the part of an avatar's AOI in the zone controlled by server A
- zone 540 indicates the part of the avatar's AOI in the zone controlled by server B.
- Zone 530 is operated by a doer avatar
- zone 540 is operated by a clone avatar.
- the player sends his commands to server A.
- Server A processes the commands sent by the player based on game logic and sends its status update message to the doer avatar (a part of the view).
- the status update message is also sent to the clone avatar (another part of the view), thereby to achieve the object of updating a new avatar's AOI to a client.
- the client has a continuous view which is controlled by server A and server B, respectively.
- FIG. 6 is a flowchart illustrating the operation of the map controller 210 .
- the map controller 210 calls the clone detector 320 after the game logic computing module 200 receives a player's command and computes the avatar's new status, so as to make a decision on whether to make a clone, delete a clone or synchronize a clone's status according to the computed avatar's current status, its policies and the map-server table.
- step S 610 If it is decided at step S 610 to make a clone, delete a clone or update an existing clone's status, then the process proceeds to step S 620 , at which the clone planner 340 generates a clone plan, which includes the participant neighbors (destination) and the action(s) of: (1) adding a clone, (2) deleting a clone, or (3) updating a clone status. For the updating action, it also includes the avatar's newest status that needs to be synchronized. Every plan may have several different action items corresponding to different neighbor game servers. Then the process proceeds to step S 630 .
- step S 610 If it is decided at step S 610 not to make a clone, delete a clone, or update an existing clone's status, then the process goes directly to step S 640 , at which the neighbor plan collecting and handling process is done so as to collect the neighbor's clone plans and perform corresponding processing according to the commands of the collected clone plans.
- the clone plan sender 350 sends action commands of the clone plans to its neighbors according to the plans' destination items (of the neighbors) through network protocol or via communication middleware. Then the process proceeds to step S 640 .
- step S 640 the plan receiver and manager 360 collects all its neighbor's plans sent by its peers, does the clone adding, deleting or status synchronizing process according to the clone plans. Then the process proceeds to step S 650 .
- step S 650 after all the clone plans are executed at step S 640 , in the doer's update cycle, its server updates the avatar's AOI on it to the client, the clone server will also compute the clone's AOI on it and update the information to the client.
- the present invention enables all players to have a consistent seamless game world view.
- the AOI of an avatar spans the doer's server of a non-player and arrives at other servers, the player can be aware of avatars on other servers which are still in his aura.
- the avatar can also migrate from one server into another seamlessly.
- the system and method according to the present invention can support changeable and different avatar view scopes very flexibly without a redundant clone avatar. Therefore it has less computing and communication load than the legacy overlap zone approach.
- the method according to the present invention also has no limitation on the map structure. It can be easily adopted in the improvement of legacy games.
- map controller 210 can be implemented as a module which has the responsibility to manage the clone and acts as the “hidden hand” between the game application and players, so there are no special requirements for the legacy game system.
- the operation method of the MMOG system according to the present invention can be implemented as computer program software.
- the method according to an exemplary embodiment of the present invention can be embodied as a computer program product, which enables a computer to execute one or more exemplified methods.
- the computer program product may comprise a computer readable medium containing computer program logic or codes thereon for enabling the MMOG system to execute the MMOG according to one or more exemplified methods.
- the computer readable storage medium can be a built-in medium in the computer body or a movable medium that can be arranged so that it can be detached from the computer body.
- Examples of the built-in medium include but are not limited to a rewritable non-volatile memory, such as an RAM, an ROM, a flash memory and a hard disk.
- Examples of the movable medium can include but are not limited to an optical media such as CD-ROM and DVD; a magneto-optic storage media such as MO; a magnetic storage media such as a floppy disk (trademark), a cassette and a movable hard disk; and a media with a built-in ROM such as an ROM box.
- the program of the method according to the present invention can also be provided in the form of externally-provided broadcast signals and/or computer data signals included in a carrier wave.
- the computer data signals embodied as one or more instructions or functions of the exemplary method can be carried on the carrier wave sent and/or received by the entity for executing the instructions or functions of the exemplary method.
- such a program can be stored and distributed easily when recorded on a computer readable storage media.
Abstract
The present invention provides a seamless game world system in the field of massively multiplayer online games, comprising a plurality of game servers and at least a client, each of the game servers being assigned to a zone in the game world divided into zones. The seamless game world comprises: a game logic computing module for computing an avatar's new status; a map controller for detecting whether an area of interest of the avatar has crossed the border of a host server of the avatar and spanned neighbor game servers based on the avatar's new status computed by the avatar computing module, and determining to make/delete a clone on a neighbor game server or synchronize the clone's status based on the detected result; and an avatar status update module for performing a normal status update on the avatar based on the computed result of the game logic computing module after the map controller notices its neighbor game server to delete the clone from an avatar list.
Description
- The present invention generally relates to a computer system for online gaming and the method thereof, in particularly to a seamless game world system for chaining a game world partition divided into several small-scale game worlds in massive multiplayer online games based on client/server architecture to form a whole game world, and method thereof.
- With the advent of the Internet and wireless communication, massively multiplayer online games (MMOG) are becoming more popular in recent years. While P2P architecture has been discussed in academic fields for some time, and there are some games implemented in P2P manner, most commercially operated MMOG are provided in a typical client/server architecture for game security and management purposes.
- In the MMOG in the form of client/server architecture, players run a client program on their local game hardware (typically a PC or a game console) that acts only as an input/output device. The local machine accepts commands input from a remote game server and renders the player's view of the game world, sending keystrokes, mouse movements or controller commands across the network to signal the player's action within the game. Every player is represented in the game world by an entity called “avatar”, whose state is controlled by the user input. Most or all of the processing required to manage the game world's state is handled by the game logic executing on a remote server.
- The game logic server typically performs all computation needed to manage the game world state. In large-scale online games, because the whole game world is very large and no single server can support all the activities in game world alone, the game world is normally divided into several small ones and a cluster of game servers serve the participating game world together. Since the single server architecture (a single server serving the whole world) is very simple, it is the technology of multi-server architecture that will be addressed.
- In MMOG, the structured diagram is mapped onto distinct server clusters. Such a kind of map is introduced in Jarett A, Estanislao J, Dunin E, MacLean J, Robbins B, Rohrl D, Welch J and Valadares J, “(2003) IGDA Online Games White Paper”, pp63-64, 2003. In this document, the most common means for partitioning of the game world is to divide distinct geographical regions within a game world into zones, assigning one zone to a game server. Every zone is composed of many cells which are the basic map units. Neighbor cells are chained together to compose the zone, and then neighbor zones on different servers are chained together to form the whole game world.
- Referring to
FIG. 1 , an example of the game world is shown. InFIG. 1 , the game world is composed of 4 zones, which areZone 1,Zone 2,Zone 3 andZone 4, respectively.Zone 1 is composed of 16 basic map units, i.e. cells,Zone 2 is composed of 24 cells,Zone 3 is composed of 24 cells, andZone 4 is composed of 36 cells.Zone 1,Zone 2,Zone 3 andZone 4 are assigned toComputer 1,Computer 2,Computer 3 andComputer 4 as servers, respectively. - To increase the number of simultaneous participants by reducing network bandwidth requirements, the entities usually disseminate update packets only to those nodes relevant to them, which are in the so-called AOI (area of interest). In multi-server MMOG, the avatar's AOI may cross the border. So, according to the zone interaction and AOI management method, the multi-server MMOG can be divided into two kinds. One of the two kinds of online game is a discrete game world. In this architecture, game worlds are zoned and each zoned has a boundary to prohibit players from being aware of events occurred outside. Switching between zones can be done only through switching a connection from a current game server to the one that serves the target zone.
- The discrete game world has three major shortcomings, the first of which is that there is an obvious interruption of game-playing felt when switching between two zones served by different servers. In fact, switching between two zones is implemented by the game logic discharging the avatar from the original server first and then performing logins it to another server. So the player will have the serious problem of abrupt visual effect on the client site. A second shortcoming is that the border of a zone prohibits the player from seeing another side of the game world, which in turn reduces the interaction and fun of the game. The third shortcoming is that the difficulty of dynamic load balancing among game server farms is increased (i.e. batch movement of avatar without influence on the business-as-usual (BAU) of game servers is a very challenging task.) Another kind of MMOG is a continuous or seamless game world. In contrast to the discrete game world, in zoned game worlds, MMOG can be designed to create seamless worlds in which a player can do whatever he does in the discrete game world without the boundary limitation. The player may interact with objects, computer-controlled characters or other players that are themselves executing on servers other than the player's. There are a number of benefits to the use of seamless game world design for MMOG.
- In the continuous or seamless game world, game designers can plan their game content on a larger and continual game world, which enables them to design more complicated/comprehensive contents. As the scale of the game world is becoming larger and more players are in the game world, the amounts of interaction will be increased and thus trigger some more advanced playing style—like more complicate organized communities and more transactions of virtual assets, which will increase the fun of gaming. In addition, the granularity of dynamic load balance could be adjusted according to real load rather than the static game world partition.
- For the advantages of the seamless game world, the way of forming a seamless game world system is important. To form a continuous game world: first, when the AOI (or visual range) of an avatar on a game server crosses other servers, he can be aware of entities on other servers which are still in his aura. Second, avatars can migrate from one server into another seamlessly and smoothly with a very small cost, and the continuity of the game experience of the avatars is guaranteed.
- Existing systems which provide this functionality use a buffer zone method. By overlapping the cells on the border of the region managed by a server with its adjacent server, the border cells are used as the buffer zone. Once an avatar enters the border zone, both servers will have a copy of an instance. This kind of method is disclosed by Jiung-yao Huang,Yi-chang Du and Chien-Min Wang in “Design of the Server Cluster to Support Avatar Migration” (Proceedings of IEEE Virtual Reality 2003(VR'03), pp7-14, 2003). For the complexity of this method, it always requires the map to be regularly partitioned into a fixed size and shape beforehand, and then chained with an interleaved-squaring method.
- The main weaknesses of the buffered zone solution are: the game map needs to be reconstructed, the map cell's shape and size are also limited, and there is a paradox in dealing with the dynamically changing AOI. If the maximum AOI is adopted as the scope of overlapped area, it will increase the redundant computing and communication load of them and reduce the overall resource usage rate of the game server farm.
- Therefore, an object of the present invention is to provide a seamless game world system in which all players have a consistent seamless game world view, and the operation method thereof, so that when the AOI of an avatar on a game serve crosses other servers, he can be aware of entities on other servers which are still in his aura, and he can also migrate from one server into another seamlessly.
- In order to achieve the above and other objects of the present invention, according to one aspect of the present invention, a seamless game world system comprising a plurality of game servers and at least a client is provided, each said game logic server being assigned to a zone in the game world divided into zones for executing all the computations required to manage the status of the game world, said client being controlled by a player to accept commands input from a remote game server, render the player's view of the game world, and send keystroke, mouse or controller commands across the network to signal an avatar's move within the game, said avatar being an entity of the player in the game world whose status is controlled by the user input, characterized in that said seamless game world comprises: a game logic computing module for computing an avatar's new status; a map controller for detecting whether an area of interest of the avatar has crossed the border of a host server of the avatar and spanned neighbor game servers based on the avatar's new status computed by said game logic computing module, and determining to make/delete a clone on a neighbor game server or synchronize the clone's status based on the detected result, said clone representing the incarnation of a doer avatar on a neighbor server, said doer avatar being an avatar with a clone avatar; and an avatar status update module for performing a normal status update on the avatar based on the computed result of the game logic computing module after the map controller notices its neighbor game server to delete the clone from an avatar list.
- According to one aspect of the present invention, a method for realizing a seamless game world for every player of a game world, the game world being divided into zones, each zone being assigned to a game server for management, a player controlling a client to accept commands input from a remote game server, render the player's view of the game world, and send keystroke, mouse or controller commands across the network to signal an avatar's move within the game, said avatar being an entity of the player in the game world whose status is controlled by the user input, characterized in that said method comprises the steps of: computing an avatar's new status; detecting whether an area of interest of the avatar has crossed the zone border of a host server of the avatar and spanned neighbor game servers based on the computed avatar's new status; determining to make/delete a clone on a neighbor game server or synchronize the clone's status based on the detected result, said clone representing the incarnation of a doer avatar on a neighbor server, said doer avatar being an avatar with a clone avatar; and performing a normal status update on the avatar based on the computed result after deleting the clone from an avatar list.
- According to one aspect of the present invention, a computer readable media containing instructions for executing the above method is also provided.
- The map controller can be implemented as a module which has the responsibility to manage the clone and acts as the “hidden hand” between the game application and players, so there is no special requirement for the legacy game system, and different avatar's view scopes can be changed flexibly and there is no redundant clone avatar. In addition, the method according to the present invention has no limitation on the map structure. It can be easily adopted in the improvement of legacy games.
- Those skilled in the art can understand the present invention better by referring to the drawings wherein like reference numbers indicate similar or the same element(s) throughout the drawings, in which:
-
FIG. 1 shows an example of a game world; -
FIG. 2 shows a block diagram of the seamless game world system according to the present invention; -
FIG. 3 shows a block diagram ofmap controller 210 according to the present invention; -
FIG. 4 is a flowchart showing the complete status update of themap controller 210 according to the present invention; -
FIG. 5 is a schematic diagram showing, when an avatar's area of interest spans a game server, a different game server updates a corresponding area of interest to a client; and -
FIG. 6 is a flowchart illustrating the operation of themap controller 210. - The following description is used to provide a detailed depiction of an example of the present invention, and should not be used to limit the present invention. In contrast, any number of changes of the present invention may all fall into the invention scope defined by the claims appended to the specification.
-
FIG. 2 shows a block diagram of a game server in the seamless game world system using a map controller according to the present invention. Referring toFIG. 2 , the seamless game world system using a map controller according to the present invention comprises a plurality of game servers and at least one client (not shown). The seamless game world system further comprises a gamelogic computing module 200, amap controller 210 and a avatar status update module 220. Themap controller 210 is positioned between a normal gamelogic computing module 200 and a player's avatar status update module 220, and is integrated with the game application runtime. - In the above seamless game world system using the
map controller 210 according to the present invention, to facilitate the smooth avatar migration, when the AOI of an avatar moves out of its zone and enters into one or more zones served by adjacent game servers, clones of the avatar are created on the servers corresponding to these zones. By the term “clone”, the present invention means the incarnation of the doer avatar on another server. Actually, the doer avatar and its clone cannot be perceived by a player, and are considered as the same object. The incarnation is called “a clone” only for convenience of description. - Hereinafter, an avatar (doer avatar) that has a clone avatar is called a doer. The main difference between a doer and a clone lies in the following two aspects. On one hand, a doer is a conventional avatar for which its host server computes its status change and updates it to the client by using the game
logic computing module 200. Themap controller 210 then updates its clone avatar according to the computed new status. According to the map neighboring relation, a doer avatar can have several clone avatars. - On the other hand, a clone is a representative of a doer and its host server does not compute its status by using the game
logic computing module 200. The host server for a clone only updates it according to its new status received from the doer's host server. The clone's host server also adds the clone to its player list, and uses a tag to identify that it is a clone. In the status update cycle, the clone avatar's host server updates the entities in the clone's AOI to the client by using themap controller 210. - It should be noted that any change of status on a doer will be synchronized to the clone(s) through the network protocol or under the support of communication middleware.
- To implement the function of the seamless game world system of the present invention, the game
logic computing module 200 computes an avatar's new status. After thegame logic module 200 computes out the avatar's new status, themap controller 210 will take the responsibility of handling the avatar's AOI change based on the computation result of the gamelogic computing module 200. Themap controller 210 further has the capability of keeping a unique status view for every avatar according to the policy of the game world. To achieve this, themap controller 210 will monitor the status change of an avatar, and detect whether or not the avatar's AOI crosses the border of the avatar's host server and spans to a neighbor server. Moreover, different from the way that prescribes an overlap zone as the buffer zone, themap controller 210 makes clone avatars at neighbor servers according to the individual avatar's AOI and other private policies. After making clone avatars at neighbor servers, themap controller 210 will be responsible for updating any change of the avatar to all clones. Specifically, the doer avatar's host server computes out the avatar's new status by using the gamelogic computing module 200, and themap controller 210 will update it to all the clones. In the doer avatar's update cycle, the server will update the avatar's AOI on it to the client, and the neighbor server will also compute the clone's AOI on it to the client. The detail of this process will be explained later in conjunction withFIG. 5 . - Once the avatar's AOI is no longer spanning the map of neighboring servers, then the
map controller 210 of the doer server will notify its neighbors to delete the clone from the avatar list. Then the avatar goes back to the normal computing and updating status. - Once the avatar crosses the map border of its host server and goes into the map of an immigrated server, then the
map controller 210 of the doer server will notice its peer on the immigrated server, and the migration process is completed by changing the avatar on the original into a clone avatar and changing the immigrated server's agent avatar into a doer avatar. When the avatar eventually migrates into the immigrated server, it is then taken over by the immigrated server immediately since its information already exists at the immigrated server. -
FIG. 3 shows the block diagram of themap controller 210 according to the present invention. Referring toFIG. 3 , themap controller 210 consists of aclone detector 320, aclone planner 340, a clone plan sender 350, a clone plan receiver and manager 360 and a map information pool (i.e. a map-server table memory) 330. - The
clone detector 320 is responsible for detecting whether to make a clone, delete a clone or synchronize a clone's status. Specifically, theclone detector 320 receives the avatar's newest status from the gamelogic computing module 200 and makes a decision about whether to make a clone, delete a clone or synchronize a clone's status according to the information and avatar setting in the map-server table memory 330. - If the
clone detector 320 decides to make a clone, delete a clone or update a clone's status, then theclone planner 340 generates a clone plan, which includes the participant neighbors (destination) and the action(s) of: (1) adding a clone, (2) deleting a clone, or (3) updating a clone status. To update a clone status, the clone plan also includes the avatar's newest status to be synchronized. Here every status has several different actions corresponding to different neighbor game servers. - If the
clone detector 320 decides not to make a clone, delete a clone or update a clone's status, then no action of clone adding, deleting or clone's status synchronizing is done, that is to say, theclone planner 340 will do nothing in this case. - The clone plan sender 350 is responsible for sending action commands to its neighbors. Specifically, the clone plan sender 350 first reads the plan's destination item (the neighbor's address), then sends commands to different destinations through the network protocol or via communication middleware.
- The clone plan receiver and manager 360 is responsible for collecting all its neighbor game server's clone plans sent by its peers, and then doing the clone adding, deleting or status synchronizing process according to the clone plan information.
- The map-
server table memory 330 is a persistent or temporary storage that describes the server-map relationship and the neighbor relationship between zone maps. - In an embodiment of the present invention, the
map controller 210 further comprises agame policy builder 310 and an avatarpolicy database memory 315. Thepolicy builder 310 collects an avatar's policy layer information negotiated by thegame logic module 200 to build an avatar policy and store it in the avatarpolicy database memory 315. The avatar policy includes the avatar's view scope and other special information (such as landscape etc.) which can be used to compute the avatar's AOI. - The
map controller 210 is running on the same game application runtime. The game application runtime supports the avatar game logic process being executed as designed by the game application. Themap controller 210 begins its operation after the avatarstatus computing module 200 computes the result, and does not end the operation until the avatar status update module 220 begins to operate. Themap controller 210 realizes the seamless game world for every player of the game world. - The above functions of the
map controller 210 can be implemented by making it execute the steps shown inFIG. 4 .FIG. 4 is a flowchart showing a complete status update. Referring toFIG. 4 , at step S410, themap controller 210 monitors the status change of an avatar, and detects whether or not the avatar's AOI crosses the border of the avatar's host server and spans to neighbor game servers. - If it is detected at step S410 that the avatar's AOI is inside the border, i.e. the avatar's AOI does not cross the border and does not span to neighbor game servers, then the process proceeds to step S420, at which the
map controller 210 notifies the doer server to update the avatar's status according to the new status of the avatar computed by the gamelogic computing module 200. - If it is detected at step S410 that the avatar's AOI crosses the zone border of its host server and spans to neighbor game servers, then the process proceeds to step S430, at which the
map controller 210 makes clones at neighbor servers according to the individual avatar's AOI and other privacy policies. - Then the process proceeds to step S440, at which the doer server computes out the avatar's new status by using the game
logic computing module 200, and synchronizes the clone's status by using themap controller 210. - Next, the process proceeds to step S450, at which the doer server and the neighbor game servers perform status updates on the same avatar.
- Next, the process proceeds to step S465, at which the
map controller 210 detects whether the avatar's AOI spans the map of the one server and enters into the zone of an immigrated server. If it is detected at step S465 that the avatar's AOI is no longer spanning the map of the one server, then the process proceeds to step S460, at which themap controller 210 will notify the neighbor game servers to delete the clone from the avatar list. Then the process returns to step S420. - If it is detected at step S465 that the avatar crosses the zone border of its host server and goes into the zone of the immigrated server, then the process proceeds to step S470, at which the
map controller 210 will notify its peer on the immigrated server, and the migration process is completed by changing the avatar that was the doer avatar into a clone avatar and changing the immigrated server's agent avatar into a doer avatar. - Then the process proceeds to step S480, at which the avatar's status is computed in the immigrated server and the status update process is completed.
- The detail of forming a seamless game world view by a player will be described with respect to
FIG. 5 .FIG. 5 is a schematic diagram showing, when an avatar's AOI spans a server, a different server updates a corresponding AOI to a client. Referring toFIG. 5 , once themap controller 210 finds that one avatar's AOI is out of its zone, it then notifies the related neighbor peers to make a clone. - The process that, in a doer avatar's update period, a server updates an avatar's AOI on it to a client and a neighbor game server computes a clone's AOI on it to the client will be described in detail in conjunction with
FIG. 5 . - As shown in
FIG. 5 , the zone controlled by server A as a doer server is indicated by a blank block, and the zone controlled by sever B as a neighbor game server is indicated by a hatched block. -
Reference number 500 indicates a schematic diagram showing that an avatar's AOI spans a server. In this schematic diagram,zone 510 indicates the AOI of a player at position P1, and when the player moves from position P1 to position P2, the AOI of the player at position P2 is indicated byzone 520. It can be seen from the diagram shown byreference number 500 that the AOI of the player at position P2 spans the zone of the neighbor game server. In this case, themap controller 210 will make a clone avatar in the neighbor game server (server B), and synchronize the clone avatar's status with the doer avatar's status. - In order to make a clone and synchronize a clone's status, when a player moves from position P1 to position P2 and the AOI of the player spans the zone of a neighbor game server, the commands of the player will still be sent to server A.
-
Reference number 500′ indicates a schematic diagram illustrating the making of a clone and the synchronizing of a clone's status. In this schematic diagram,zone 530 indicates the part of an avatar's AOI in the zone controlled by server A, andzone 540 indicates the part of the avatar's AOI in the zone controlled byserver B. Zone 530 is operated by a doer avatar, andzone 540 is operated by a clone avatar. The player sends his commands to server A. Server A processes the commands sent by the player based on game logic and sends its status update message to the doer avatar (a part of the view). In addition, during the update of server B, the status update message is also sent to the clone avatar (another part of the view), thereby to achieve the object of updating a new avatar's AOI to a client. By the above process, the client has a continuous view which is controlled by server A and server B, respectively. - The method adopted by the
map controller 210 is described in detail in conjunction withFIG. 6 as follows.FIG. 6 is a flowchart illustrating the operation of themap controller 210. Referring toFIG. 6 , at step S610, themap controller 210 calls theclone detector 320 after the gamelogic computing module 200 receives a player's command and computes the avatar's new status, so as to make a decision on whether to make a clone, delete a clone or synchronize a clone's status according to the computed avatar's current status, its policies and the map-server table. - If it is decided at step S610 to make a clone, delete a clone or update an existing clone's status, then the process proceeds to step S620, at which the
clone planner 340 generates a clone plan, which includes the participant neighbors (destination) and the action(s) of: (1) adding a clone, (2) deleting a clone, or (3) updating a clone status. For the updating action, it also includes the avatar's newest status that needs to be synchronized. Every plan may have several different action items corresponding to different neighbor game servers. Then the process proceeds to step S630. - If it is decided at step S610 not to make a clone, delete a clone, or update an existing clone's status, then the process goes directly to step S640, at which the neighbor plan collecting and handling process is done so as to collect the neighbor's clone plans and perform corresponding processing according to the commands of the collected clone plans.
- At step S630, the clone plan sender 350 sends action commands of the clone plans to its neighbors according to the plans' destination items (of the neighbors) through network protocol or via communication middleware. Then the process proceeds to step S640.
- Next at step S640, the plan receiver and manager 360 collects all its neighbor's plans sent by its peers, does the clone adding, deleting or status synchronizing process according to the clone plans. Then the process proceeds to step S650.
- Next at step S650, after all the clone plans are executed at step S640, in the doer's update cycle, its server updates the avatar's AOI on it to the client, the clone server will also compute the clone's AOI on it and update the information to the client.
- It can be seen from the description of the above embodiment according to the present invention that, by adding the
map controller 210 between the gamelogic computing module 200 and the avatar status updating module 220 of the legacy MMOG system, the present invention enables all players to have a consistent seamless game world view. When the AOI of an avatar spans the doer's server of a non-player and arrives at other servers, the player can be aware of avatars on other servers which are still in his aura. The avatar can also migrate from one server into another seamlessly. - The system and method according to the present invention can support changeable and different avatar view scopes very flexibly without a redundant clone avatar. Therefore it has less computing and communication load than the legacy overlap zone approach.
- The method according to the present invention also has no limitation on the map structure. It can be easily adopted in the improvement of legacy games.
- In addition, the
map controller 210 can be implemented as a module which has the responsibility to manage the clone and acts as the “hidden hand” between the game application and players, so there are no special requirements for the legacy game system. - While the preferred embodiment of the present invention has been described with respect to a hardware structure or method steps in the above, the operation method of the MMOG system according to the present invention can be implemented as computer program software. For example, the method according to an exemplary embodiment of the present invention can be embodied as a computer program product, which enables a computer to execute one or more exemplified methods. The computer program product may comprise a computer readable medium containing computer program logic or codes thereon for enabling the MMOG system to execute the MMOG according to one or more exemplified methods.
- The computer readable storage medium can be a built-in medium in the computer body or a movable medium that can be arranged so that it can be detached from the computer body. Examples of the built-in medium include but are not limited to a rewritable non-volatile memory, such as an RAM, an ROM, a flash memory and a hard disk. Examples of the movable medium can include but are not limited to an optical media such as CD-ROM and DVD; a magneto-optic storage media such as MO; a magnetic storage media such as a floppy disk (trademark), a cassette and a movable hard disk; and a media with a built-in ROM such as an ROM box.
- The program of the method according to the present invention can also be provided in the form of externally-provided broadcast signals and/or computer data signals included in a carrier wave. The computer data signals embodied as one or more instructions or functions of the exemplary method can be carried on the carrier wave sent and/or received by the entity for executing the instructions or functions of the exemplary method. Moreover, such a program can be stored and distributed easily when recorded on a computer readable storage media.
- The above description is illustrative. Therefore any changes without departing from the essence of the present invention are intended to be within the scope of the present invention. Such changes are not considered as departing from the spirit and scope of the present invention as set forth on the appended claims.
Claims (22)
1. A seamless game world system, comprising a plurality of game logic servers and at least one client, each of the game logic servers being assigned to a zone in the game world divided into zones for executing all the computations required to manage the status of the game world, the client signaling an avatar's movement within the game, the avatar being an entity of the player in the game world whose status is controlled by user input, comprising:
a game logic computing module for computing status of an avatar relative to said zones;
a map controller for detecting whether an area of interest of the avatar has crossed the border of the zone of a host server of the avatar and has spanned one or more zones of neighbor game servers based on the status computed by the game logic computing module, for determining one of making a clone, deleting a clone or synchronizing clone status at a neighbor game server based on the detected result, the clone representing the incarnation of a doer avatar on a neighbor server, the doer avatar being an avatar with a clone avatar, and for notifying neighbor game servers of said determining; and
an avatar status update module for performing a normal status update on the avatar based on the computed status.
2. The seamless game world system according to claim 1 , wherein the game logic computing module, the map controller and the avatar status update module are integrated with a runtime game application.
3. The seamless game world system according to claim 1 , wherein each doer avatar has more than one clone avatars.
4. The seamless game world system according to claim 1 , wherein the map controller further comprises an avatar migrating processor for, when the avatar crosses the border of the host server of the avatar and enters into a zone of an immigrated server, notifying a peer on the immigrated server, and completing the migration process by changing the avatar on the host server into a clone avatar and changing the immigrated server's agent avatar into a doer avatar.
5. The seamless game world system according to claim 1 , wherein the map controller comprises:
a clone detector for receiving the computed new status of the avatar from the game logic computing module, and making a decision about whether to make a clone, delete a clone or synchronize a clone's status according to map-server table information and an avatar policy;
a clone planner for establishing a clone plan, which includes participant neighbor servers and the actions of adding a clone, deleting a clone or updating a clone status;
a clone plan sender for reading the addresses of the clone plan's neighbor game servers, and sending the action commands to different neighbor game servers; and
a clone plan receiver and manager for collecting the clone plan of all the neighbor game servers sent by a peer, and for performing the process of clone adding, deleting or status synchronizing based on the clone plan information.
6. The seamless game world system according to claim 5 , wherein the clone plan further comprises the new status of an avatar to be synchronized.
7. The seamless game world system according to claim 6 , wherein each status has several different actions corresponding to different neighbor game servers.
8. The seamless game world system according to claim 5 , further comprising a map-server table memory for storing the data describing a server map relationship and neighbor relationships between zone maps.
9. The seamless game world system according to claim 5 , further comprising a game policy builder for collecting policy layer information for an avatar, an avatar policy including the view scope and information for computing the avatar's area of interest.
10. The seamless game world system according to claim 9 , further comprising an avatar policy database memory for storing an avatar policy database describing a server map relationship and neighbor relationships between zone maps.
11. A method for realizing a seamless game world for every player of a game world, the game world being divided into zones, each zone being assigned to a game server for management, a player controlling a client to accept commands input from a remote game server, render the player's view of the game world, and send keystroke, mouse or controller commands across the network to signal an avatar's move within the game, the avatar being an entity of the player in the game world whose status is controlled by user input, characterized in that the method comprises the steps of:
computing status of an avatar relative to said zones;
detecting whether an area of interest of the avatar has crossed the zone border of a host server of the avatar and spanned one or more zones of neighbor game servers based on the computed status;
determining one of making a clone, deleting a clone or synchronizing clone status at a neighbor game server based on the detected result, the clone representing the incarnation of a doer avatar on a neighbor server;
notifying neighbor game servers of a result of said determining; and
performing a status update on the avatar.
12. The method according to claim 11 , wherein each doer avatar has more than one clone avatar.
13. The method according to claim 11 , wherein, when the avatar crosses the zone border of the host server of the avatar and enters into a zone of an immigrated server, said method further comprising:
notifying a peer on the immigrated server;
changing the avatar on the host server into a clone avatar, and changing the immigrated server's agent avatar into a doer avatar.
14. The method according to claim 11 wherein said determining comprises the steps of:
making a decision about whether to make a clone, delete a clone or synchronize a clone's status according to the computed status of the avatar, map-server table information, and an avatar policy;
establishing a clone plan when it is determined to make a clone, delete a clone or synchronize a clone's status, the clone plan including participant neighbor servers and the actions of adding a clone, deleting a clone or updating a clone status;
reading the addresses of the neighbor game servers in said clone plan and sending the action commands to said neighbor game servers; and
collecting the clone plans of all neighbor game servers sent by a peer, and performing the process of clone adding, deleting or status synchronizing based on the clone plan information.
15. The method according to claim 14 , wherein the clone plan further comprises the new status of an avatar to be synchronized.
16. The method according to claim 15 , wherein each status has several different actions corresponding to different neighbor game servers.
17. The method according to claim 14 , further comprising collecting avatar policy layer information to build an avatar policy, the avatar policy including the avatar's view scope and other information for computing the avatar's area of interest.
18. The method according to claim 14 , wherein said making a decision comprises the steps of:
monitoring the status change of an avatar, and detecting whether the avatar's area of interest crosses the zone border of the host server and spans to a neighbor server; and
determining the status of the avatar computed by the doer server;
updating the status if it is detected that the avatar's area of interest is inside the border; and
determining to establish a clone on the neighbor server according to each avatar's area of interest and other private policies if it is detected that the avatar's area of interest crosses the zone border of the avatar's host server and spans to a neighbor server.
19. The method according to claim 18 , further comprising:
detecting whether the avatar's area of interest crosses a server map and enters into the zone of an immigrated server;
notifying the neighbor game server to delete a clone from an avatar game server if it is detected that the avatar's area of interest no longer crosses the server map border,; and notifying a peer on the immigrated server if it is detected that the avatar's area of interest crosses the zone border of its host server and enters into the zone of an immigrated server; and
changing the avatar on the original server into a clone avatar and changing the immigrated server's agent avatar into a doer avatar; and
computing the avatar's status in the immigrated server.
20. The method according to claim 11 , wherein said detecting comprises the steps of:
monitoring the status change of an avatar, and detecting whether or not the avatar's area of interest crosses the zone border of the avatar's host server and spans to a neighbor server;
computing the avatar's new status by the doer server and updating the avatar's status if it is detected that the avatar's area of interest is inside the border;
determining to establish a clone on the neighbor server according to each avatar's area of interest and other private policies if it is detected that the avatar's area of interest crosses the zone border of the avatar's host server and spans to a neighbor server;
computing the avatar's new status and synchronizing the clone's status by the doer server;
performing a status update on the same avatar by the doer server and the neighbor server;
detecting whether the avatar's area of interest spans the server map and enters into the zone of the immigrated server;
notifying the neighbor game server to delete the clone from the avatar list if it is detected that the avatar's area of interest no longer spans the map border of the server;
notifying a peer on the immigrated server;
changing the avatar on the original server into a clone avatar and changing the immigrated server's agent avatar into a doer avatar if it is detected that the avatar crosses the zone border of its host server and enters into the zone of the immigrated server; and
computing the avatar's status in the immigrated server.
21. The method according to claim 11 , wherein when the avatar's area of interest spans the zone of the neighbor server, the commands of the player are sent to the doer server and, during the update of the neighbor game server, are sent to the clone avatar to make a clone avatar in the neighbor game server, and the status of the clone avatar and that of the doer server are synchronized.
22. A computer readable media containing instructions for executing the steps of the method according to claim 11.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100649569A CN100492382C (en) | 2005-04-12 | 2005-04-12 | Slitless game world system based on server/customer's machine and method thereof |
CN200510064956.9 | 2005-04-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
US20060258462A1 true US20060258462A1 (en) | 2006-11-16 |
Family
ID=37077687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/403,024 Abandoned US20060258462A1 (en) | 2005-04-12 | 2006-04-12 | System and method of seamless game world based on server/client |
Country Status (2)
Country | Link |
---|---|
US (1) | US20060258462A1 (en) |
CN (1) | CN100492382C (en) |
Cited By (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030195735A1 (en) * | 2002-04-11 | 2003-10-16 | Rosedale Philip E. | Distributed simulation |
US20070078929A1 (en) * | 2005-09-30 | 2007-04-05 | Bigfoot Networks, Inc. | Distributed processing system and method |
US20070117631A1 (en) * | 2005-11-18 | 2007-05-24 | Jung Youl Lim | Intelligent distributed server system and method for operating the same |
US20080070696A1 (en) * | 2006-09-15 | 2008-03-20 | Nhn Corporation | Multi-access online game system and method for controlling game for use in the multi-access online game system |
US20080140771A1 (en) * | 2006-12-08 | 2008-06-12 | Sony Computer Entertainment Inc. | Simulated environment computing framework |
US20090172574A1 (en) * | 2007-12-31 | 2009-07-02 | International Business Machines Corporation | Location independent communication in a virtual world |
US20090175559A1 (en) * | 2008-01-07 | 2009-07-09 | International Business Machines Corporation | Modifying spaces in virtual universes |
US20090271422A1 (en) * | 2008-04-24 | 2009-10-29 | International Business Machines Corporation | Object Size Modifications Based on Avatar Distance |
US20090267948A1 (en) * | 2008-04-24 | 2009-10-29 | International Business Machines Corporation | Object based avatar tracking |
US20090271206A1 (en) * | 2008-04-29 | 2009-10-29 | International Business Machnines Corporation | Virtual world subgroup determination and segmentation for performance scalability |
US20090267950A1 (en) * | 2008-04-24 | 2009-10-29 | International Business Machines Corporation | Fixed path transitions |
US20090267937A1 (en) * | 2008-04-24 | 2009-10-29 | International Business Machines Corporation | Floating transitions |
US20090267960A1 (en) * | 2008-04-24 | 2009-10-29 | International Business Machines Corporation | Color Modification of Objects in a Virtual Universe |
US20090307620A1 (en) * | 2008-06-10 | 2009-12-10 | Hamilton Ii Rick A | System for concurrently managing multiple avatars |
US20090315893A1 (en) * | 2008-06-18 | 2009-12-24 | Microsoft Corporation | User avatar available across computing applications and devices |
US20090327219A1 (en) * | 2008-04-24 | 2009-12-31 | International Business Machines Corporation | Cloning Objects in a Virtual Universe |
US20100001993A1 (en) * | 2008-07-07 | 2010-01-07 | International Business Machines Corporation | Geometric and texture modifications of objects in a virtual universe based on real world user characteristics |
US20100005423A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | Color Modifications of Objects in a Virtual Universe Based on User Display Settings |
US20100093438A1 (en) * | 2008-10-14 | 2010-04-15 | Baszucki David B | Dynamic and Scalable Topology for Virtual World Environments |
US20100177117A1 (en) * | 2009-01-14 | 2010-07-15 | International Business Machines Corporation | Contextual templates for modifying objects in a virtual universe |
US20100198914A1 (en) * | 2007-07-12 | 2010-08-05 | Cornell University | Semantic transactions in online applications |
US20100306675A1 (en) * | 2009-06-01 | 2010-12-02 | International Business Machines Corporation | Peer-to-peer based content delivery in a virtual universe |
US20110172006A1 (en) * | 2010-01-14 | 2011-07-14 | Tzu-Hsiang Tseng | Integrated electronic game system |
US20110250965A1 (en) * | 2010-04-13 | 2011-10-13 | Kulas Charles J | Gamepiece controller using a movable position-sensing display device including a movement currency mode of movement |
US20120079121A1 (en) * | 2010-09-28 | 2012-03-29 | Disney Enterprises, Inc | System and method for dynamic adaptive player cells for multi-player environments |
US20120142430A1 (en) * | 2008-02-11 | 2012-06-07 | Microsoft Corporation | Partitioned artificial intelligence for networked games |
US8424075B1 (en) * | 2008-12-31 | 2013-04-16 | Qurio Holdings, Inc. | Collaborative firewall for a distributed virtual environment |
US20130239227A1 (en) * | 2007-06-13 | 2013-09-12 | Qurio Holdings, Inc. | Group licenses for virtual objects in a distributed virtual world |
US8589133B1 (en) * | 2009-07-17 | 2013-11-19 | The United States Of America As Represented By The Secretary Of The Navy | Dynamic simulation of a system of interdependent systems |
US8651961B2 (en) | 2010-12-03 | 2014-02-18 | Solocron Entertainment Llc | Collaborative electronic game play employing player classification and aggregation |
EP2745891A1 (en) * | 2012-12-21 | 2014-06-25 | Dassault Systèmes | Simulation of the physical behavior of an object in a 3D scene divided into a plurality of zones |
US20140359104A1 (en) * | 2013-06-03 | 2014-12-04 | Tencent Technology (Shenzhen) Company Limited | Grouping processing method and system |
US20150082205A1 (en) * | 2006-11-16 | 2015-03-19 | Mark Stephen Meadows | Systems and methods for managing a persistent virtual avatar with migrational ability |
US8996944B2 (en) | 2011-12-28 | 2015-03-31 | Nival, Inc. | Client-server gaming |
US9004998B2 (en) | 2011-06-20 | 2015-04-14 | Empire Technology Development Llc | Social interaction during online gaming |
US9022849B2 (en) | 2010-07-01 | 2015-05-05 | Aristocrat Technologies Australia Pty Limited | Method of gaming, a gaming system, and a game controller |
CN104735156A (en) * | 2015-03-31 | 2015-06-24 | 北京畅游天下网络技术有限公司 | Server system and method for distributing servers |
US9367365B2 (en) | 2008-11-26 | 2016-06-14 | Calgary Scientific, Inc. | Method and system for providing remote access to a state of an application program |
US9409090B1 (en) * | 2010-12-09 | 2016-08-09 | Amazon Technologies, Inc. | Enhancing user experience by presenting past application usage |
US9426207B2 (en) | 2005-05-11 | 2016-08-23 | Qualcomm Incorporated | Distributed processing system and method |
US9602581B2 (en) | 2012-03-02 | 2017-03-21 | Calgary Scientific Inc. | Remote control of an application using dynamic-linked library (DLL) injection |
US9686205B2 (en) | 2013-11-29 | 2017-06-20 | Calgary Scientific Inc. | Method for providing a connection of a client to an unmanaged service in a client-server remote access system |
US9720747B2 (en) | 2011-08-15 | 2017-08-01 | Calgary Scientific Inc. | Method for flow control and reliable communication in a collaborative environment |
US9729673B2 (en) | 2012-06-21 | 2017-08-08 | Calgary Scientific Inc. | Method and system for providing synchronized views of multiple applications for display on a remote computing device |
CN107149772A (en) * | 2017-05-24 | 2017-09-12 | 上海悦游网络信息科技股份有限公司 | One kind game is across dress system and server system |
US9770660B2 (en) | 2011-06-14 | 2017-09-26 | Empire Technology Development Llc | Starting simulation from a real situation |
US9986012B2 (en) | 2011-08-15 | 2018-05-29 | Calgary Scientific Inc. | Remote access to an application program |
US10015264B2 (en) | 2015-01-30 | 2018-07-03 | Calgary Scientific Inc. | Generalized proxy architecture to provide remote access to an application framework |
US20180207524A1 (en) * | 2016-03-30 | 2018-07-26 | Bloober Team S.A. | Method of simultaneous playing in single-player video games |
WO2018148084A1 (en) * | 2017-02-07 | 2018-08-16 | Iot Holdings, Inc. | System and method to prevent surveillance and preserve privacy in virtual reality |
US10055105B2 (en) | 2009-02-03 | 2018-08-21 | Calgary Scientific Inc. | Method and system for enabling interaction with a plurality of applications using a single user interface |
US10079819B2 (en) | 2006-11-16 | 2018-09-18 | Botanic Technologies, Inc. | Systems and methods for authenticating an avatar |
US10158701B2 (en) | 2011-03-21 | 2018-12-18 | Calgary Scientific Inc.. | Method and system for providing a state model of an application program |
CN109224440A (en) * | 2018-08-24 | 2019-01-18 | 广州要玩娱乐网络技术股份有限公司 | Mission Objective queue processing method and storage medium, computer equipment |
US10284688B2 (en) | 2011-09-30 | 2019-05-07 | Calgary Scientific Inc. | Tiered framework for proving remote access to an application accessible at a uniform resource locator (URL) |
US10410306B1 (en) | 2011-01-04 | 2019-09-10 | Calgary Scientific Inc. | Method and system for providing remote access to data for display on a mobile device |
US10454979B2 (en) | 2011-11-23 | 2019-10-22 | Calgary Scientific Inc. | Methods and systems for collaborative remote application sharing and conferencing |
WO2020172027A1 (en) * | 2019-02-21 | 2020-08-27 | Sony Interactive Entertainment LLC | Transactional memory synchronization |
US10765948B2 (en) | 2017-12-22 | 2020-09-08 | Activision Publishing, Inc. | Video game content aggregation, normalization, and publication systems and methods |
US10981069B2 (en) | 2008-03-07 | 2021-04-20 | Activision Publishing, Inc. | Methods and systems for determining the authenticity of copied objects in a virtual environment |
CN112787995A (en) * | 2020-12-25 | 2021-05-11 | 珠海西山居移动游戏科技有限公司 | Game interaction method and system |
US20210362064A1 (en) * | 2018-09-11 | 2021-11-25 | Activision Publishing, Inc. | Individualized game data augmented displays |
US11310348B2 (en) | 2015-01-30 | 2022-04-19 | Calgary Scientific Inc. | Highly scalable, fault tolerant remote access architecture and method of connecting thereto |
US11712627B2 (en) | 2019-11-08 | 2023-08-01 | Activision Publishing, Inc. | System and method for providing conditional access to virtual gaming items |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101169806B (en) * | 2007-09-28 | 2010-06-02 | 腾讯科技(深圳)有限公司 | Role data management device and method in network game system |
CN102137068B (en) * | 2010-01-26 | 2014-07-09 | 王荣 | Method for realizing online game seamless world server |
CN102065097B (en) * | 2010-12-27 | 2014-04-23 | 北京像素软件科技股份有限公司 | Synchronous operation method of clients and servers |
CN102819680A (en) * | 2012-07-31 | 2012-12-12 | 北京天神互动科技有限公司 | System and method for processing visual field of online role-playing network game |
CN103473471A (en) * | 2013-09-26 | 2013-12-25 | 苏州松之林网络科技有限公司 | Bullet game data processing method and device |
CN103678892A (en) * | 2013-12-03 | 2014-03-26 | 腾讯科技(成都)有限公司 | Role object management method and role object management device |
CN103795782B (en) * | 2013-12-27 | 2017-08-08 | 北京像素软件科技股份有限公司 | A kind of online game across taking method and system |
CN105472004B (en) * | 2015-12-11 | 2018-08-24 | 杭州勺子网络科技有限公司 | A kind of partition method of online game |
CN110292772B (en) * | 2019-07-23 | 2023-01-24 | 上海网之易璀璨网络科技有限公司 | Method and device for synthesizing game map in game |
CN111459626B (en) * | 2020-03-11 | 2021-06-01 | 完美世界(北京)软件科技发展有限公司 | Method and device for realizing non-branching seamless game world |
CN112090066B (en) * | 2020-09-10 | 2022-05-20 | 腾讯科技(深圳)有限公司 | Scene display method and device based on virtual interactive application |
CN112657185A (en) * | 2020-12-25 | 2021-04-16 | 北京像素软件科技股份有限公司 | Game data processing method, device, system, server and storage medium |
CN113304470A (en) * | 2021-05-26 | 2021-08-27 | 网易(杭州)网络有限公司 | Virtual role cross-service method, equipment and storage medium |
CN114618154A (en) * | 2022-03-28 | 2022-06-14 | 广州三七极耀网络科技有限公司 | Operation control method, device, equipment and storage medium for district uniform |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5659691A (en) * | 1993-09-23 | 1997-08-19 | Virtual Universe Corporation | Virtual reality network with selective distribution and updating of data to reduce bandwidth requirements |
US5802296A (en) * | 1996-08-02 | 1998-09-01 | Fujitsu Software Corporation | Supervisory powers that provide additional control over images on computers system displays to users interactings via computer systems |
US5879236A (en) * | 1996-10-18 | 1999-03-09 | Starwave Corporation | System method and medium for sector windowing |
US20030177187A1 (en) * | 2000-11-27 | 2003-09-18 | Butterfly.Net. Inc. | Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications |
US20030195735A1 (en) * | 2002-04-11 | 2003-10-16 | Rosedale Philip E. | Distributed simulation |
US6801930B1 (en) * | 2000-02-26 | 2004-10-05 | Quazal Technologies Inc. | Method and apparatus for maintaining information about users sharing the cells partitioning a computer-generated environment |
US20090319609A1 (en) * | 2008-06-23 | 2009-12-24 | International Business Machines Corporation | User Value Transport Mechanism Across Multiple Virtual World Environments |
-
2005
- 2005-04-12 CN CNB2005100649569A patent/CN100492382C/en not_active Expired - Fee Related
-
2006
- 2006-04-12 US US11/403,024 patent/US20060258462A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5659691A (en) * | 1993-09-23 | 1997-08-19 | Virtual Universe Corporation | Virtual reality network with selective distribution and updating of data to reduce bandwidth requirements |
US5802296A (en) * | 1996-08-02 | 1998-09-01 | Fujitsu Software Corporation | Supervisory powers that provide additional control over images on computers system displays to users interactings via computer systems |
US5879236A (en) * | 1996-10-18 | 1999-03-09 | Starwave Corporation | System method and medium for sector windowing |
US6801930B1 (en) * | 2000-02-26 | 2004-10-05 | Quazal Technologies Inc. | Method and apparatus for maintaining information about users sharing the cells partitioning a computer-generated environment |
US20030177187A1 (en) * | 2000-11-27 | 2003-09-18 | Butterfly.Net. Inc. | Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications |
US20030195735A1 (en) * | 2002-04-11 | 2003-10-16 | Rosedale Philip E. | Distributed simulation |
US20090319609A1 (en) * | 2008-06-23 | 2009-12-24 | International Business Machines Corporation | User Value Transport Mechanism Across Multiple Virtual World Environments |
Cited By (117)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030195735A1 (en) * | 2002-04-11 | 2003-10-16 | Rosedale Philip E. | Distributed simulation |
US8612196B2 (en) * | 2002-04-11 | 2013-12-17 | Linden Research, Inc. | System and method for distributed simulation in which different simulation servers simulate different regions of a simulation space |
US9426207B2 (en) | 2005-05-11 | 2016-08-23 | Qualcomm Incorporated | Distributed processing system and method |
US20070078929A1 (en) * | 2005-09-30 | 2007-04-05 | Bigfoot Networks, Inc. | Distributed processing system and method |
US9455844B2 (en) * | 2005-09-30 | 2016-09-27 | Qualcomm Incorporated | Distributed processing system and method |
US20070117631A1 (en) * | 2005-11-18 | 2007-05-24 | Jung Youl Lim | Intelligent distributed server system and method for operating the same |
US20080070696A1 (en) * | 2006-09-15 | 2008-03-20 | Nhn Corporation | Multi-access online game system and method for controlling game for use in the multi-access online game system |
US9555329B2 (en) * | 2006-09-15 | 2017-01-31 | Nhn Entertainment Corporation | Multi-access online game system and method for controlling game for use in the multi-access online game system |
US20150082205A1 (en) * | 2006-11-16 | 2015-03-19 | Mark Stephen Meadows | Systems and methods for managing a persistent virtual avatar with migrational ability |
US10406441B2 (en) * | 2006-11-16 | 2019-09-10 | Botanic Technologies, Inc. | Systems and methods for managing a persistent virtual avatar with migrational ability |
US10079819B2 (en) | 2006-11-16 | 2018-09-18 | Botanic Technologies, Inc. | Systems and methods for authenticating an avatar |
US20080140771A1 (en) * | 2006-12-08 | 2008-06-12 | Sony Computer Entertainment Inc. | Simulated environment computing framework |
US20130239227A1 (en) * | 2007-06-13 | 2013-09-12 | Qurio Holdings, Inc. | Group licenses for virtual objects in a distributed virtual world |
US20100198914A1 (en) * | 2007-07-12 | 2010-08-05 | Cornell University | Semantic transactions in online applications |
US8825743B2 (en) | 2007-07-12 | 2014-09-02 | Cornell University | Semantic transactions in online applications |
US9483750B2 (en) * | 2007-12-31 | 2016-11-01 | International Business Machines Corporation | Location independent communication in a virtual world |
US20090172574A1 (en) * | 2007-12-31 | 2009-07-02 | International Business Machines Corporation | Location independent communication in a virtual world |
US8910043B2 (en) * | 2008-01-07 | 2014-12-09 | International Business Machines Corporation | Modifying spaces in virtual universes |
US20090175559A1 (en) * | 2008-01-07 | 2009-07-09 | International Business Machines Corporation | Modifying spaces in virtual universes |
US9327194B2 (en) * | 2008-02-11 | 2016-05-03 | Microsoft Technology Licensing, Llc | Partitioned artificial intelligence for networked games |
US20120142430A1 (en) * | 2008-02-11 | 2012-06-07 | Microsoft Corporation | Partitioned artificial intelligence for networked games |
US11957984B2 (en) | 2008-03-07 | 2024-04-16 | Activision Publishing, Inc. | Methods and systems for determining the authenticity of modified objects in a virtual environment |
US10981069B2 (en) | 2008-03-07 | 2021-04-20 | Activision Publishing, Inc. | Methods and systems for determining the authenticity of copied objects in a virtual environment |
US20090327219A1 (en) * | 2008-04-24 | 2009-12-31 | International Business Machines Corporation | Cloning Objects in a Virtual Universe |
US8001161B2 (en) * | 2008-04-24 | 2011-08-16 | International Business Machines Corporation | Cloning objects in a virtual universe |
US8466931B2 (en) | 2008-04-24 | 2013-06-18 | International Business Machines Corporation | Color modification of objects in a virtual universe |
US20090271422A1 (en) * | 2008-04-24 | 2009-10-29 | International Business Machines Corporation | Object Size Modifications Based on Avatar Distance |
US8184116B2 (en) | 2008-04-24 | 2012-05-22 | International Business Machines Corporation | Object based avatar tracking |
US20090267948A1 (en) * | 2008-04-24 | 2009-10-29 | International Business Machines Corporation | Object based avatar tracking |
US8212809B2 (en) | 2008-04-24 | 2012-07-03 | International Business Machines Corporation | Floating transitions |
US20090267960A1 (en) * | 2008-04-24 | 2009-10-29 | International Business Machines Corporation | Color Modification of Objects in a Virtual Universe |
US8233005B2 (en) | 2008-04-24 | 2012-07-31 | International Business Machines Corporation | Object size modifications based on avatar distance |
US8259100B2 (en) | 2008-04-24 | 2012-09-04 | International Business Machines Corporation | Fixed path transitions |
US20090267937A1 (en) * | 2008-04-24 | 2009-10-29 | International Business Machines Corporation | Floating transitions |
US20090267950A1 (en) * | 2008-04-24 | 2009-10-29 | International Business Machines Corporation | Fixed path transitions |
US8533733B2 (en) | 2008-04-29 | 2013-09-10 | International Business Machines Corporation | Virtual world subgroup determination and segmentation for performance scalability |
US9661069B2 (en) | 2008-04-29 | 2017-05-23 | International Business Machines Corporation | Virtual world subgroup determination and segmentation for performance scalability |
US20090271206A1 (en) * | 2008-04-29 | 2009-10-29 | International Business Machnines Corporation | Virtual world subgroup determination and segmentation for performance scalability |
US8230441B2 (en) * | 2008-04-29 | 2012-07-24 | International Business Machines Corporation | Virtual world subgroup determination and segmentation for performance scalability |
US10003640B2 (en) | 2008-04-29 | 2018-06-19 | International Business Machines Corporation | Virtual world subgroup determination and segmentation for performance scalability |
US8365076B2 (en) | 2008-06-10 | 2013-01-29 | International Business Machines Corporation | System for concurrently managing multiple avatars |
US20090307620A1 (en) * | 2008-06-10 | 2009-12-10 | Hamilton Ii Rick A | System for concurrently managing multiple avatars |
US20090315893A1 (en) * | 2008-06-18 | 2009-12-24 | Microsoft Corporation | User avatar available across computing applications and devices |
US8990705B2 (en) | 2008-07-01 | 2015-03-24 | International Business Machines Corporation | Color modifications of objects in a virtual universe based on user display settings |
US20100005423A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | Color Modifications of Objects in a Virtual Universe Based on User Display Settings |
US9235319B2 (en) | 2008-07-07 | 2016-01-12 | International Business Machines Corporation | Geometric and texture modifications of objects in a virtual universe based on real world user characteristics |
US8471843B2 (en) | 2008-07-07 | 2013-06-25 | International Business Machines Corporation | Geometric and texture modifications of objects in a virtual universe based on real world user characteristics |
US20100001993A1 (en) * | 2008-07-07 | 2010-01-07 | International Business Machines Corporation | Geometric and texture modifications of objects in a virtual universe based on real world user characteristics |
US9550125B2 (en) * | 2008-10-14 | 2017-01-24 | Roblox Corporation | Dynamic and scalable topology for virtual world environments |
US20100093438A1 (en) * | 2008-10-14 | 2010-04-15 | Baszucki David B | Dynamic and Scalable Topology for Virtual World Environments |
US10965745B2 (en) | 2008-11-26 | 2021-03-30 | Calgary Scientific Inc. | Method and system for providing remote access to a state of an application program |
US9871860B2 (en) | 2008-11-26 | 2018-01-16 | Calgary Scientific Inc. | Method and system for providing remote access to a state of an application program |
US9367365B2 (en) | 2008-11-26 | 2016-06-14 | Calgary Scientific, Inc. | Method and system for providing remote access to a state of an application program |
US10334042B2 (en) | 2008-11-26 | 2019-06-25 | Calgary Scientific Inc. | Method and system for providing remote access to a state of an application program |
US9503426B2 (en) * | 2008-12-31 | 2016-11-22 | Qurio Holdings, Inc. | Collaborative firewall for a distributed virtual environment |
US20130232566A1 (en) * | 2008-12-31 | 2013-09-05 | Qurio Holdings, Inc. | Collaborative firewall for a distributed virtual environment |
US8424075B1 (en) * | 2008-12-31 | 2013-04-16 | Qurio Holdings, Inc. | Collaborative firewall for a distributed virtual environment |
US20100177117A1 (en) * | 2009-01-14 | 2010-07-15 | International Business Machines Corporation | Contextual templates for modifying objects in a virtual universe |
US8458603B2 (en) | 2009-01-14 | 2013-06-04 | International Business Machines Corporation | Contextual templates for modifying objects in a virtual universe |
US10055105B2 (en) | 2009-02-03 | 2018-08-21 | Calgary Scientific Inc. | Method and system for enabling interaction with a plurality of applications using a single user interface |
US20100306675A1 (en) * | 2009-06-01 | 2010-12-02 | International Business Machines Corporation | Peer-to-peer based content delivery in a virtual universe |
US8276084B2 (en) * | 2009-06-01 | 2012-09-25 | International Business Machines Corporation | Peer-to-peer based content delivery in a virtual universe |
US8589133B1 (en) * | 2009-07-17 | 2013-11-19 | The United States Of America As Represented By The Secretary Of The Navy | Dynamic simulation of a system of interdependent systems |
US8137202B2 (en) * | 2010-01-14 | 2012-03-20 | Tzu-Hsiang Tseng | Integrated electronic game system with player-end games corresponding to server-end games |
US20110172006A1 (en) * | 2010-01-14 | 2011-07-14 | Tzu-Hsiang Tseng | Integrated electronic game system |
US20110250965A1 (en) * | 2010-04-13 | 2011-10-13 | Kulas Charles J | Gamepiece controller using a movable position-sensing display device including a movement currency mode of movement |
US8267788B2 (en) * | 2010-04-13 | 2012-09-18 | Kulas Charles J | Gamepiece controller using a movable position-sensing display device including a movement currency mode of movement |
US9022849B2 (en) | 2010-07-01 | 2015-05-05 | Aristocrat Technologies Australia Pty Limited | Method of gaming, a gaming system, and a game controller |
US20120079121A1 (en) * | 2010-09-28 | 2012-03-29 | Disney Enterprises, Inc | System and method for dynamic adaptive player cells for multi-player environments |
US8651961B2 (en) | 2010-12-03 | 2014-02-18 | Solocron Entertainment Llc | Collaborative electronic game play employing player classification and aggregation |
US9227140B2 (en) | 2010-12-03 | 2016-01-05 | Solocron Entertainment Llc | Collaborative electronic game play employing player classification and aggregation |
US9409090B1 (en) * | 2010-12-09 | 2016-08-09 | Amazon Technologies, Inc. | Enhancing user experience by presenting past application usage |
US10143924B2 (en) | 2010-12-09 | 2018-12-04 | Amazon Technologies, Inc. | Enhancing user experience by presenting past application usage |
US10410306B1 (en) | 2011-01-04 | 2019-09-10 | Calgary Scientific Inc. | Method and system for providing remote access to data for display on a mobile device |
US10158701B2 (en) | 2011-03-21 | 2018-12-18 | Calgary Scientific Inc.. | Method and system for providing a state model of an application program |
US9770660B2 (en) | 2011-06-14 | 2017-09-26 | Empire Technology Development Llc | Starting simulation from a real situation |
US9004998B2 (en) | 2011-06-20 | 2015-04-14 | Empire Technology Development Llc | Social interaction during online gaming |
US9720747B2 (en) | 2011-08-15 | 2017-08-01 | Calgary Scientific Inc. | Method for flow control and reliable communication in a collaborative environment |
US9986012B2 (en) | 2011-08-15 | 2018-05-29 | Calgary Scientific Inc. | Remote access to an application program |
US9992253B2 (en) | 2011-08-15 | 2018-06-05 | Calgary Scientific Inc. | Non-invasive remote access to an application program |
US10474514B2 (en) | 2011-08-15 | 2019-11-12 | Calgary Scientific Inc. | Method for flow control and for reliable communication in a collaborative environment |
US10693940B2 (en) | 2011-08-15 | 2020-06-23 | Calgary Scientific Inc. | Remote access to an application program |
US10904363B2 (en) | 2011-09-30 | 2021-01-26 | Calgary Scientific Inc. | Tiered framework for proving remote access to an application accessible at a uniform resource locator (URL) |
US10284688B2 (en) | 2011-09-30 | 2019-05-07 | Calgary Scientific Inc. | Tiered framework for proving remote access to an application accessible at a uniform resource locator (URL) |
US10454979B2 (en) | 2011-11-23 | 2019-10-22 | Calgary Scientific Inc. | Methods and systems for collaborative remote application sharing and conferencing |
US8996944B2 (en) | 2011-12-28 | 2015-03-31 | Nival, Inc. | Client-server gaming |
US9602581B2 (en) | 2012-03-02 | 2017-03-21 | Calgary Scientific Inc. | Remote control of an application using dynamic-linked library (DLL) injection |
US9729673B2 (en) | 2012-06-21 | 2017-08-08 | Calgary Scientific Inc. | Method and system for providing synchronized views of multiple applications for display on a remote computing device |
EP2745891A1 (en) * | 2012-12-21 | 2014-06-25 | Dassault Systèmes | Simulation of the physical behavior of an object in a 3D scene divided into a plurality of zones |
US10176278B2 (en) * | 2012-12-21 | 2019-01-08 | Dassault Systemes | Simulation of the physical behavior of an object in a 3D scene divided into a plurality of zones |
JP2014123369A (en) * | 2012-12-21 | 2014-07-03 | Dassault Systemes | Simulation of physical behavior of object in 3d scene divided into plural zones |
KR20140081740A (en) * | 2012-12-21 | 2014-07-01 | 다솔 시스템므 | Simulation of the physical behavior of an object in a 3d scene divided into a plurality of zones |
KR102089110B1 (en) | 2012-12-21 | 2020-04-14 | 다솔 시스템므 | Simulation of the physical behavior of an object in a 3d scene divided into a plurality of zones |
US20140180653A1 (en) * | 2012-12-21 | 2014-06-26 | Dassault Systemes | Simulation Of The Physical Behavior Of An Object In A 3D Scene Divided Into A Plurality Of Zones |
US9479579B2 (en) * | 2013-06-03 | 2016-10-25 | Tencent Technology (Shenzhen) Company Limited | Grouping processing method and system |
US20140359104A1 (en) * | 2013-06-03 | 2014-12-04 | Tencent Technology (Shenzhen) Company Limited | Grouping processing method and system |
US10728168B2 (en) | 2013-11-29 | 2020-07-28 | Calgary Scientific Inc. | Method for providing a connection of a client to an unmanaged service in a client-server remote access system |
US9979670B2 (en) | 2013-11-29 | 2018-05-22 | Calgary Scientific Inc. | Method for providing a connection of a client to an unmanaged service in a client-server remote access system |
US9686205B2 (en) | 2013-11-29 | 2017-06-20 | Calgary Scientific Inc. | Method for providing a connection of a client to an unmanaged service in a client-server remote access system |
US10015264B2 (en) | 2015-01-30 | 2018-07-03 | Calgary Scientific Inc. | Generalized proxy architecture to provide remote access to an application framework |
US11310348B2 (en) | 2015-01-30 | 2022-04-19 | Calgary Scientific Inc. | Highly scalable, fault tolerant remote access architecture and method of connecting thereto |
CN104735156A (en) * | 2015-03-31 | 2015-06-24 | 北京畅游天下网络技术有限公司 | Server system and method for distributing servers |
US10500488B2 (en) * | 2016-03-30 | 2019-12-10 | Bloober Team S.A. | Method of simultaneous playing in single-player video games |
US20180207524A1 (en) * | 2016-03-30 | 2018-07-26 | Bloober Team S.A. | Method of simultaneous playing in single-player video games |
WO2018148084A1 (en) * | 2017-02-07 | 2018-08-16 | Iot Holdings, Inc. | System and method to prevent surveillance and preserve privacy in virtual reality |
US11443059B2 (en) | 2017-02-07 | 2022-09-13 | Iot Holdings, Inc. | System and method to prevent surveillance and preserve privacy in virtual reality |
CN110603539A (en) * | 2017-02-07 | 2019-12-20 | Iot控股公司 | System and method for preventing monitoring and protecting privacy in virtual reality |
CN107149772A (en) * | 2017-05-24 | 2017-09-12 | 上海悦游网络信息科技股份有限公司 | One kind game is across dress system and server system |
US10765948B2 (en) | 2017-12-22 | 2020-09-08 | Activision Publishing, Inc. | Video game content aggregation, normalization, and publication systems and methods |
US11413536B2 (en) | 2017-12-22 | 2022-08-16 | Activision Publishing, Inc. | Systems and methods for managing virtual items across multiple video game environments |
CN109224440A (en) * | 2018-08-24 | 2019-01-18 | 广州要玩娱乐网络技术股份有限公司 | Mission Objective queue processing method and storage medium, computer equipment |
US20210362064A1 (en) * | 2018-09-11 | 2021-11-25 | Activision Publishing, Inc. | Individualized game data augmented displays |
WO2020172027A1 (en) * | 2019-02-21 | 2020-08-27 | Sony Interactive Entertainment LLC | Transactional memory synchronization |
US11020660B2 (en) * | 2019-02-21 | 2021-06-01 | Sony Interactive Entertainment LLC | Transactional memory synchronization between multiple sessions of a video game |
US11511187B2 (en) * | 2019-02-21 | 2022-11-29 | Sony Interactive Entertainment LLC | Transactional memory synchronization for synchronization of game instance functions between remotely located servers or data centers |
US11712627B2 (en) | 2019-11-08 | 2023-08-01 | Activision Publishing, Inc. | System and method for providing conditional access to virtual gaming items |
CN112787995A (en) * | 2020-12-25 | 2021-05-11 | 珠海西山居移动游戏科技有限公司 | Game interaction method and system |
Also Published As
Publication number | Publication date |
---|---|
CN1848124A (en) | 2006-10-18 |
CN100492382C (en) | 2009-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060258462A1 (en) | System and method of seamless game world based on server/client | |
CN101266633B (en) | Seamless super large scale dummy game world platform | |
US8057307B2 (en) | Handling of players and objects in massive multi-player on-line games | |
US7537523B2 (en) | Dynamic player groups for interest management in multi-character virtual environments | |
US20100113159A1 (en) | Method and apparatus for partitioning virtual worlds using prioritized topic spaces in virtual world systems | |
Glinka et al. | High-level development of multiserver online games | |
Prodan et al. | Prediction-based real-time resource provisioning for massively multiplayer online games | |
JP2001521227A (en) | Distributed virtual environment | |
Ricci et al. | Distributed virtual environments: From client server to cloud and p2p architectures | |
CN112657185A (en) | Game data processing method, device, system, server and storage medium | |
KR20120040240A (en) | Interest management for a virtual environment of a peer-to-peer network | |
Deen et al. | Running Quake II on a grid | |
CN113546416A (en) | Game scene processing method and device, computer equipment and storage medium | |
US11161045B1 (en) | Content item forking and merging | |
Kasenides et al. | A systematic mapping study of MMOG backend architectures | |
Kulkarni et al. | Badumna: A decentralised network engine for virtual environments | |
US20110256935A1 (en) | Use of dynamic bounded regions to improve the scalability of decentralised online environments | |
Krause | A case for mutual notification: a survey of P2P protocols for massively multiplayer online games | |
McCaffery et al. | The need for real time consistency management in P2P mobile gaming environments | |
Zhang et al. | MACVE: A mobile agent based framework for large-scale collaborative virtual environments | |
Fan | Solving key design issues for massively multiplayer online games on peer-to-peer architectures | |
Anthes et al. | An adaptive network architecture for close-coupled collaboration in distributed virtual environments | |
Gorlatch et al. | Designing multiplayer online games using the real-time framework | |
Valero et al. | Manycraft: Massively distributed minecraft | |
Carter et al. | A novel scalable hybrid architecture for MMOG |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHENG, LONG;GE, YI;SHAO, LING;AND OTHERS;REEL/FRAME:018101/0110;SIGNING DATES FROM 20060405 TO 20060421 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |