Background technology
Along with the appearance of the Internet and wireless communication technology, extensive multiplayer online gaming (massivelymultiplayer online game) becomes in recent years and becomes more and more popular.Though the P2P framework has obtained the research of several years in theory, and the recreation that realizes in the P2P mode has been arranged, but for game security and managerial consideration, the extensive multiplayer online gaming of most of commercialized runnings is still client/server architecture generally.
In the extensive multiplayer online gaming of client/server architecture form, the player goes up client program of operation at its local game hardware facility (generally being PC or game console), and these game hardware facilities only play input-output apparatus.Local machine is accepted the order that sends from remote game servers, and reproduces player's view of gaming world (game world), and spanning network sends button, mouse or control order, so that with signal instruction player mobile in recreation.By the entity representative that is called as game role, imported by the player and control by its state in gaming world for each player.Great majority that the state in the management game world is required or whole the processing by the game logic operation of on remote game servers, carrying out.
In general game logic server carries out the required whole calculating of state of management of computing gaming world.Reproduce in the recreation extensive, because whole gaming world is very big, and can independently support all activities in the gaming world without any single server, therefore gaming world will be divided into several small games world usually, and gang's game server is operated the gaming world that is participated in together.Because single server framework (single server is operated whole gaming world) is very simple, therefore, only relates to the technology of multiserver framework here.
In extensive multiplayer online gaming, gaming world is mapped to different server families.JarettA, Estanislao J, Dunin E, MacLean J, Robbins B, Rohrl D, Welch J and ValadaresJ have introduced so a kind of map (map) " (2003) IGDA Online Games White Paper " (the 63-64 page or leaf was published in 2003).In the document, the most general means that are used for the gaming world subregion are that the zone on the differently Neo-Confucianism in the gaming world (geographical region) is divided into zone (zone), distribute a zone for a game server.Each zone is made up of a plurality of unit (cell), and these unit are base map unit.Neighbour's the cell link compositing area that gets up, and the link of the zone of the neighbour on the different server gets up to form whole gaming world.
With reference to figure 1, an example of gaming world shown in it.In Fig. 1, this gaming world is made of four zones, and these four zones are respectively zone 1, zone 2, zone 3 and zone 4.Zone 1 is that the unit is formed by 16 base map units, and zone 2 is made up of 24 unit, and regional 3 are made up of 24 unit, and regional 4 be made up of 36 unit.Zone 1, zone 2, zone 3 and zone 4 computing machine 1, computing machine 2, computing machine 3 and the computing machines of distributing to respectively as server 4.
For by reducing network bandwidth requirements so that increase the quantity that participates in the player simultaneously, entity mostly just distributes update package to those nodes relevant with it, and these nodes are called as area-of-interest (area ofinterest).In the extensive multiplayer online gaming of multiserver, the game role area-of-interest might crossing the boundary.Therefore, according to regional interactivity and region of interest area management method, the extensive multiplayer online gaming of multiserver can be divided into two classes.Class in this two classes game on line is discrete gaming world.In this framework, gaming world is divided into forbids that the player moves from a zone to another zone, perhaps inlet or the border intersection point that in recreation, has special purposes, and they enter and exit point corresponding to the zone.
Discrete gaming world has such three big defectives: when 1) switching between two zones by the different server operation, feel that significantly interrupting appears in the recreation of playing.In fact, the switching between two zones is achieved like this: at first, game logic discharges game role from original server, then it is signed in on another server.Therefore, the player can feel the serious problems of on client stations incoherent visual effect.2) zone boundary forbids that the player sees the another side of gaming world, and this has reduced the interactivity of recreation and recreational conversely.3) increased the difficulty (promptly in batches moving of game role is very challenging task under the situation of the influence of the current operations that does not have game server) of the dynamic load balancing of game server field (game server farm).
Another kind of in the extensive multiplayer online gaming of multiserver is continuously or the seamless gaming world.In the opposite gaming world that is divided into the zone, extensive multiplayer online gaming can be designed to create the seamless world, and in so seamless world, the player can do anything that it is done in discrete gaming world, and need not be subjected to the restriction on border.The player can be mutual with other players that object, computer-controlled personage or the game role of oneself are just being carried out on server.Use has many good qualities about the seamless gaming world design of extensive multiplayer online gaming.
In continuous or the seamless gaming world, game design person can design its game content on a bigger and continuous gaming world, and this can be so that they design more complicated/comprehensive content.And, player increasing along with the gaming world scale is more and more, and mutual amount also can increase, and can therefore trigger some more senior recreation style---as more complicated tissue and the transaction of more virtual equipments, this can improve the recreational of recreation.With the exception of this, the granularity of balancing dynamic load can be adjusted according to true load rather than static gaming world subregion.
Because above-mentioned these advantages in the seamless gaming world, the mode that forms seamless gaming world system is very important.In order to form continuous gaming world, when at first the game role area-of-interest (or visual range) on game server crossed other servers, he can aware the entity of being responsible for by other servers in the Same Scene.Secondly, game role can be from a game server, with seldom cost, seamless migration is to another game server and guarantee the continuity of the game experiencing of game role reposefully.
Provide the existing system of this function to use buffer way.By the borderline unit in the overlapping zone by server admin of the service that utilizes its neighbour, thus with boundary element as buffer zone.In case game role enters borderline region, then two servers can all have the copy of a example.This method is disclosed in " Design of the ServerCluster to Support Avatar Migration " (Proceedings of IEEE Virtual Reality2003 (VR ' 03) 7-14 page or leaf was published in 2003) by Jiung-yao Huang, Yi-chang Du and Chien-Min Wang.Owing to the complicacy of this method, always need map is divided in advance regularly the form of fixed size and shape, get up with dislocation square method (interleaved-squaring method) link then.
The main weakness of buffer zone solution is to need map by reconstruct, and the shape and the size of map unit also are restricted, and occurs the situation that is difficult to choose when handling the area-of-interest of dynamic change.If maximum area-of-interest is chosen to be the scope of overlapping region, so, it can increase their redundant computation and communication load, and reduces the whole resource utilization of game server field.
Embodiment
Describe below to be used to provide that example of the present invention is elaborated, and should not be used for limiting the present invention.On the contrary, any amount of change of the present invention all may fall within the invention scope that claims limited that follows instructions closely.
Fig. 2 illustrates the block scheme of application according to the game server in the seamless gaming of the present invention world system.With reference to figure 2, the seamless gaming world system that uses according to map controller of the present invention comprises a plurality of game servers and at least one client computer (not shown).Seamless gaming world system also comprises game logic computing module 200,map controller 210 and game role state update module 220.Map controller 210 and integrates with game application running environment between the game logic computing module 200 of routine and player's game role state update module 220.
In the seamless gaming world system of above-mentioned application according tomap controller 210 of the present invention, for level and smooth game role migration, outside the game role area-of-interest moves on to its zone and enter one or morely during, on these area relative servers, create the copy (clone) of game role by neighbour's game server operation regional.The present invention utilizes copy to represent the incarnation of principal act person's game role on another server, in fact principal act person's game role and copy thereof are imperceptible for the player, be considered to same target, just be called by " copy " for the convenience of describing.
The game role (principal act person's game role) that below will have the copy game role is called principal act person (doer).The key distinction between principal act person and the copy is following two aspects.On the one hand, principal act person is conventional game role, and its home server is utilized game logic computing module 200 to calculate its state variation and it is updated to clientcomputer.Map controller 210 also will upgrade its copy game role according to the new state of being calculated.Neighbouring relations according to the map, principal act person's game role can have several copy game roles.
On the other hand, copy is principal act person's expression, and its home server does not utilize game logic computing module 200 to calculate its new state, and its new state that only receives according to the home server from principal act person is upgraded it.The home server of copy is also added copy in the list of players to, and it is a copy with a tag identifier.At state in the update cycle, the home server of copy game role also bymap controller 210 more the entity of the area-of-interest of latest copy to client.
Any state transformation that should be noted that principal act person will be synchronized with copy by procotol or under the support of communication intermediate equipment.
In order to realize the function of seamless gaming of the present invention world system, game logic computing module 200 calculates the new state of game role.After game logic computing module 200 calculates the new state of game role,map controller 210 will be in charge of the variation of game role area-of-interest according to the result of calculation of game logic computing module 200.Map controller 210 also has the ability that keeps an exclusive recreation view according to the strategy of gaming world for each game role.In order to realize this point,map controller 210 monitors the state variation of game roles, detect the game role area-of-interest whether pass through game role home server the border and across neighbour's game server.And different with overlapping region of regulation as the mode of buffer zone,map controller 210 also according to each game role area-of-interest and other privately owned strategies, creates a Copy on neighbour's game server.After creating a Copy on neighbour's game server,map controller 210 will be responsible for upgrading to all copies any variation of game role.Specifically, the home server of principal act person's game role (doer avatar) utilizes game logic computing module 200 to calculate the new state of game role, bymap controller 210 it is updated to all copies then.In the update cycle of principal act person's game role, described server is updated to client computer with the game role area-of-interest on it, and neighbour's game server also will be at the area-of-interest of the copy of client computes on it.The process of this processing also will be described in detail below in conjunction with Fig. 5.
In case no longer across the map of server, themap controller 210 of principal act person's server will notify its neighbour's game server to delete copy from the game role tabulation to the game role area-of-interest.Then, game role returns to the normal condition of calculating and upgrading.
In case game role passes through the zone boundary of its home server and enters into the zone of the server of moving into, themap controller 210 of principal act person's server is move into fellow on the server of notice, and changes over principal act person's game role and finish migration process by principal act person's game role being changed over copy game role and the copy game role by the server of will moving into.When game role is finally moved to when moving into server, because the information of game role is Already in moved in the server, so this game role server of being moved into is immediately taken over.
Fig. 3 illustrates the block scheme according tomap controller 210 of the present invention.With reference to figure 3,map controller 210 comprises that transcript 320,copy planner 340, copy plan transmitter 350, copy plan reception and manager 360 and cartographic information pond are map server table (Map-Server Table) storer 330.
Described transcript 320 is responsible for detection and whether is created a Copy, deletes copy or synchronization counterpart state.Specifically, described transcript 320 receives up-to-date game role state from game logic computing module 200, the decision about whether create a Copy, delete copy or synchronization counterpart state is made in information and game role setting in the server table storer 330 according to the map then.
If described transcript 320 decisions create a Copy, delete copy or synchronization counterpart state, just bycopy planner 340 plan of creating a Copy.Described copy plan comprises participant's neighbour (destination) and behavior: (1) adds copy; (2) delete more latest copy state of copy or (3).For latest copy state more, the copy plan also comprises will be by the last state of synchronous game role.Here, every kind of state all has corresponding to several parts of different neighbour's game servers different behaviors.
If described transcript 320 decisions do not create a Copy, do not delete copy and asynchronous copy state, then do not take copy creating/deletion/behavior synchronously, that is to say thatcopy planner 340 does not carry out any work in this case.
Copy plan transmitter 350 is responsible for behavior command is sent to its neighbour.Specifically, described copy plan transmitter 350 at first reads the destination-address item (neighbour's address) of plan, then described behavior command is sent to different destinations by procotol or under the support of communication intermediate equipment.
The copy plan that copy plan reception and manager 360 are responsible for collecting all neighbour's game servers that sent by the fellow is carried out copy interpolation, deletion or state synchronized according to the copy plan information then and is handled.
Map server table storer 330 is storeies of describing the database of server map relation between the area map and neighbor relationships.
In one embodiment of the invention,map controller 210 also comprises a tactics of the game constructor 310 and game role policy data storehouse memorizer 315.Constructing tactics device 310 is collected the game role strategic layer information of being decided through consultation by game logic computing module 200, with structure game role strategy, and it is stored in the game role policy data storehouse memorizer 315.The game role strategy comprises the range of views of game role and can be used to calculate other specific informations of game role area-of-interest (such as landform etc.).
Map controller 210 operates on the same running environment with game application.Game application running environment supports the game role game logic that is standing to handle as the design games applicationprogram.Map controller 210 is started working after game role state computing module 200 calculates the result, finishes when game role state update module 220 is started working.Map controller 210 is that each layer of gaming world is realized the seamless gaming world.
The above-mentioned functions ofmap controller 210 can realize by allowing it carry out step shown in Figure 4.Fig. 4 illustrates the process flow diagram that complete state upgrades.With reference to figure 4, at step S410,map controller 210 monitors the state variation of game roles, detects whether the game role area-of-interest passes through the zone boundary of its home server and across neighbour's game server.
If in step S410, detect the game role area-of-interest in inside, border, that is to say that the game role area-of-interest does not pass across the border, not across neighbour's game server, then process advances to step S420, therein, the new state of the game role thatmap controller 210 notice principal act person servers calculate according to game logic computing module 200 is upgraded the state of game role.
If detect in step S410 that the game role area-of-interest passes through the zone boundary of its home server and across neighbour's game server, then process advances to step S430, therein,map controller 210 creates a Copy on neighbour's game server according to each game role area-of-interest and other privately owned strategies.
Then, process advances to step S440, and therein, principal act person's server (doer server) utilizes game logic computing module 200 to calculate the new state of game role, and utilizes the state ofmap controller 210 synchronization counterpart.
Next, process advances to step S450, and therein, principal act person's server and neighbour's game server upgrade same game role executing state.
Next, process advances to step S465, and therein,map controller 210 detects the game role area-of-interests whether across the map of server and enter into the zone of the server of moving into.If detect the game role area-of-interest no longer across the map boundary line of server at step S465, so, process advances to step S460, and therein,map controller 210 notifies neighbour's game server to delete copy from the game role tabulation.Then, process returns to step S420.
If detect the zone that game role passes through the zone boundary of its home server and enters into the server of moving at step S465, so, process advances to step S470, therein,map controller 210 is move into fellow on the server of notice, and changes over principal act person's game role and finish migration process by principal act person's game role being changed over copy game role and the copy game role by the server of will moving into.
Then, process advances to step S480, therein, calculates the state of game role in the server of moving into, and finishes this state renewal process.
The details that forms the seamless gaming world view at the player can utilize Fig. 5 to describe.When Fig. 5 was illustrated in game role area-of-interest leap server, different server upgraded the synoptic diagram that corresponding area-of-interest partly arrives client computer.With reference to figure 5, incase map controller 210 is found certain game role area-of-interest outside its zone, it just notifies relevant neighbour fellow to create a Copy.
Be described in detail in below with reference to Fig. 5 in the update cycle of principal act person's game role, server is updated to client computer with the game role area-of-interest on it, and neighbour's game server is at the process of the area-of-interest of the copy of client computes on it.
As shown in Figure 5, the zone of controlling as the server A of principal act person's server is represented by shaded boxes as the zone that the server B of neighbour's game server is controlled by blank box indicating.
WhatReference numeral 500 was indicated is the synoptic diagram of game player's area-of-interest leap server.In this synoptic diagram,zone 510 indications be the area-of-interest of player when the P1 of position, and when the game player when position P1 moves to position P2, the area-of-interest of player when the P2 of position indicated by zone 520.From the synoptic diagram ofReference numeral 500 indication obviously as can be seen, the area-of-interest of player when the P2 of position crossed over the zone of neighbour's game server.In this case,map controller 210 game role that will in neighbour's game server (server B), create a Copy, and with the state synchronized of state and principal act person's game role of described copy game role.
In order to create and synchronization counterpart, when the area-of-interest that moves to position P2 and player from position P1 as the game player was crossed over neighbour's game server regional, game player's order still will be sent to server A.
What Reference numeral 500 ' was indicated is to create the also synoptic diagram of synchronization counterpart.In this synoptic diagram, the part ofzone 530 indication game player's area-of-interests in the zone that server A is controlled, and the part ofzone 540 indication game player's area-of-interests in the zone that neighbour's game server B is controlled.Zone 530 is by principal act person's game role operation, andzone 530 is operated by the copy game role.The game player sends to server A with its order, and server A is handled the order that the game player sent according to game logic then, and its state updating message is sent to principal act person's game role (part of view).In addition, carry out reproducting periods, also its state updating message is sent to copy game role (another part of view) in server B.Thereby reach the purpose that new game role area-of-interest is updated to client computer.By above-mentioned processing, client computer has had a continuous view, and this continuous view is controlled respectively by server A and server B.
The method thatmap controller 210 is adopted can be described in detail as follows in conjunction with Fig. 6.Fig. 6 is the operational flow diagram of pictorial map controller 210.With reference to figure 6, at step S610,map controller 210 is after game logic computing module 200 receives player's order and calculates new state, call transcript 320, so that by its strategy and map server table, make decision about whether create a Copy, delete copy or synchronization counterpart state according to current state that calculated, game role and game role.
If the state that needs to create, delete copy or upgrade existing copy in step S610 decision, so, process is transferred to step S620, utilizes the 340 ghost plans of copy planner therein, and this plan comprises participant's neighbour (destination) and behavior: (1) adds copy; (2) delete more latest copy state of copy or (3).For new behavior more, it also comprises last state game role, that needs are synchronous.Each plan can have corresponding to several of different neighbour's game servers different behaviors.Then, process is transferred to step S630.
And if the state that does not need to create, delete copy and upgrade existing copy in step S610 decision, so, process is directly transferred to step S640, carry out plan collection of neighbour's copy and management processing there, so that collect neighbour's copy plan, and carry out respective handling according to the order of collected copy plan.
Then,, utilize copy plan transmitter 350 destinations (neighbour),, the behavior command of copy plan is sent to its neighbour by procotol or under the support of communication intermediate equipment according to the copy plan at step S630.Then, process is transferred to step S640.
Next, at step S640, utilization plan reception and manager 360 are collected copy plans that sent by the fellow, its all neighbours, and handle according to the interpolation of copy planning execution copy, deletion or state synchronized.Then, process is transferred to step S650.
Next, at step S650, after step S640 carries out all copy plans, in principal act person's update cycle, the game role area-of-interest that its server will upgrade on it arrives client computer, and at copy in the update cycle, replica server also will calculate the area-of-interest of the copy on it, and lastest imformation is to client computer.
Description according to the abovementioned embodiments of the present invention as can be seen, the present invention passes through to increasemap controller 210 between the game logic computing module 200 of the extensive multiplayer online gaming of tradition system and game role state update module 220, can make all players have consistent seamless gaming world view.When the game role area-of-interest is crossed over principal act person's server of non-player, and when having arrived other servers, the player can aware the game role on other servers in the visual range.Game role can also be seamlessly from a server migration to another server.
System and a method according to the invention is supported can change and different game role range of views very neatly, and, compare also without any the copy game role of redundancy, thereby with traditional overlapping region mode, have less calculated amount and communication load.
The method according to this invention to map structure also without any restriction.Can be advantageously used in the improvement of traditional game.
In addition,map controller 210 may be implemented as the module of being in charge of copy, and serves as " invisible hand (hidden hand) " between game application and player, therefore, to the traditional game system without any special requirement.
Though mainly described the preferred embodiments of the present invention above, also may be embodied as computer software according to multiplayer online gaming system operation methods of the present invention, extensive with hardware configuration or method step.For example, can be embodied as a kind of computer program according to the method for example embodiment of the present invention, it can be so that computing machine be carried out one or more methods of being demonstrated.Described computer program can comprise computer-readable medium, comprise computer program logic or code section on it, be used to make described extensive multiplayer online gaming system to carry out extensive multiplayer online gaming according to one or more demonstration methodses.
Described computer-readable recording medium can be to be installed in the built-in medium in the basic computer or to be arranged to make that it can be from the removable medium of basic computer dismounting.The example of described built-in medium includes but not limited to rewritable nonvolatile memory, such as RAM, ROM, flash memory and hard disk.The example of removable medium can include but not limited to: optical storage media, such as CD-ROM and DVD; Magneto-optic storage media is such as MO; Magnetic recording medium is such as floppy disk (trade mark), tape and removable hard disk; Medium with built-in rewritable nonvolatile memory are such as storage card; Medium with built-in ROM are such as the ROM box.
The program of the method according to this invention also may be provided in the form of transmitting signal that the outside provides and/or the computer data signal that comprises in carrier wave.The described computer data signal that is presented as one or more instructions of demonstration methods or function can be carried on the carrier wave that the entity of the instruction that is used for by carrying out demonstration methods or function sends and/or receives.And such program can easily be stored and distribute on being recorded in computer-readable storage medium the time.
Only be exemplary on the above-mentioned illustrative in nature of the present invention, the change that does not therefore break away from main idea of the present invention is planned within the scope of the invention.Such change is not counted as the disengaging with the spirit and scope of the present invention.