System and method of seamless game world based on server/client
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.
Claims
exact text as granted — not AI-modified1 . 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.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.