Game Development Community

Zones vs One big Mission Map for MMORP

by Bill Fisher · in Torque Game Engine · 03/25/2004 (5:47 pm) · 5 replies

Forgive me if this is a total newbe question...

What is the best method of "breaking up" my mission maps for MULTIPLAYER MODE?

FOR EXAMPLE: Im assuming its best to separate "underground dungeon areas" from regular "large wide open terrain" areas.

dungeon.mis
cityofblah.mis
townofwhat.mis
...etc., ...etc.

some players may decide to enter the dungeon (dungeon.mis) from the surface(cityofblah.mis)

BUT... since the server loads up the initial mission file upon startup how can one person be in dungeon.mis and another be in townofblah.mis? Can the server load up different mis files for different players? and keep track of all players and which mis file they are in?

Has anyone succesfully implement this type of zoning? Any tutorials? Any ideas?

Thanks

#1
03/26/2004 (4:28 am)
My team has successfully implemented zones and such support you're looking after. It is not dynamic and has static zones, which means your computer will load the new area upon entering the new zone.

Let's say you enter area 2 from area 1. You are instantly moved to area 2, which is located on the same server but on different ports at the master.

Mostly, we keep different servers for different zones to avoid crashes.
The crowded areas do not share with any other area as it requires full power, for instance.

Some of the dungeons are shared though.

It is possible to dynamically load missions upon entering but I can't see how this would be practical with more than 1 player at a time.

Edit: Cleared up some bad english.
#2
03/26/2004 (8:54 am)
@Stefan - What game are you working on, sounds like fun. I use triggers for zones like spawning ememy bots, or to spawn objects in a room.
#3
03/26/2004 (1:31 pm)
Stefan,

This sounds pretty cool and might be useful for what I have in mind when my feet are thoroughly wet and I'm ready to move on to such a project...

May I ask what the player experiences in your setup? Is there a "Loading Area" screen that they see when entering a new area. Or is it instantaneous because all the resources are already on the client computer and they're merely being moved to a new zone? If it's instantaneous, that would be pretty awesome. But, even a brief loading screen, I think, isn't such a terrible sin either...

Which way is it for your setup?
#4
03/30/2004 (1:59 pm)
Sorry for the slight delayed answer, I haven't been able to check here for a few days.

Josh: We're working on a persisant world, with just 2-3 zones. If that turns out well we'll expand and try to make the game we've been planning. We use the triggers simply for moving the player while keeping connection with the database.

Michael: In our setup, the player get's a message in the output window (where you see chat and misc messages) where it says "Changing Server, please wait..." it keeps a snapshot of the current view while viewing that message, meanwhile the servers drop and recieve the new connection and you're there.

I used simple IF statements to achieve that, where if you are ingame it has ingame set to true, the loadingsequence checks if ingame is true and if it is, it won't show the loadingbar animation.

I'ts not instantaneous I'm afraid :)
#5
03/30/2004 (2:21 pm)
Stefan,

Very nice! I like the sound of that...

Actually, I'm coming to think that having a loading period where you have to wait a moment or two is better than a streaming persistent world..

The reason is, at least in my experience, when you have a world that is forever streaming in new data, there's an almost constant stream of lag, as well. Case in point, I'm in Beta for LineageII, which has a "streaming" method of importing new "zone" data.. and there's *always* chop-up when that happens.. sometimes pretty bad, if there are alot of other players in the approaching area, etc. I could say the same of Horizons: Empire of Istaria - that game lags like crazy, and also has a "streaming" method of handling the world.

Meanwhile, in Final Fantasy XI, they have distinct and separate areas with a "downloading data" screen when you're switching from one to the other... I hardly see *any* lag when I'm playing that game, the only exception being when I'm entering an area with alot of folks in one spot, like the ever popular Auction Houses. But even then, it's not obnoxious, the game just "streams" in the characters while you're there. But, with that one exception, there is almost zero lag while you're running around.

Now, *perhaps* they are doing some kind of limited streaming, but my guess is that it's just a matter of determining how far the player can see, and so how much does the engine have to draw (FFXI has a very far draw-distance).

In any case, I think a brief loading screen is the better way to go.