adonthell-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Adonthell-devel] More v0.4 design issues


From: cirrus
Subject: Re: [Adonthell-devel] More v0.4 design issues
Date: Sun, 09 Dec 2001 23:34:07 +0000

Kai Sterker wrote:
> 
> On 08 Dec 2001 14:47:55 +0100 Alexandre Courbot wrote
> 
> > Awright. Loading entire maps is much more doable. Still, there probably
> > will be a slight lag due to the loading, but that's not hell.
> [...]
> > I'm not saying I'm against the idea - on the contrary I
> > rather like it, and several games already proven it was doable. But
> > things are not really clear in my mind about this. We need to discuss
> > this further.
> 
> Sure. That's why I started this thread :).
> 
> > One idea would be, we decide of a global map of a defined
> > size where we put all the parts of the others maps. That way positions
> > would be from this global map. What do you think about it?
> 
> That would be okay once we have a pretty good idea how our world map will
> look like and how big it is. Although I guess 65535x65535 squares are more
> than enough ;).
> 
> We might even be able to use local coordinates on maps and turn them into
> global coordinates at runtime, once we know how large the complete world
> map will be. Say individual maps are A x A, then the local square (x,y)
> on map (u,v) would be
> 
>     (A*u + x, A*v + y)
> 
> on the global map, no matter how big it is if I'm not mistaken ;). So
> you could transform the coordinates on loading. Whatever is easier.
> 
> > Also, we
> > can't update all the characters of the world. What happens when one
> > character exits the scope of the engine? Is it stopped updating?
> 
> That's another question. I'd say yes. First of all, once the map is loaded
> again, NPC's on it should have plenty of time to continue their business
> before the player comes close. And second, it's more or less what will
> happen if you handle maps differently as well.
> 
> 
> > Well anyway I guess it won't hurt if I start doing the new map engine
> > without this ability - I guess it won't be hell to implement right
> > after. I'm feeling like I have the coding powah this afternoon, so I
> > guess I'll just make another source tree with the GUI to start coding a
> > bit of the new mapengine and start writing the editors along. Shall I
> > then create a new branch on the CVS to put this so you can have a look?
> 
> Yep, that would be nice :).
> 

How about this as an idea:
It might make sense to not split the map into equal sized squares - you
could get problems like what happens if you have mapobjects that overlap
from one map to the next? Presumably those mapobjects would need to be
loaded for both maps although they are not fully displayed on either of
them. How about letting map designers split the maps themselves.
Obviously they'd have to make sure that the maps still fit together
nicely without any gaps but that shouldn't be too diffcult. Then maps
could be named in a more helpful way like 'redwyne-inn' or
'wastes-edge-north' rather than 023,47 or something like that. Also, if
several mapdesigners are working on maps of different locations they
don't need to know the exact distance between the two maps which they
presumably would need to know if everything had unique coordinates.
All you'd need to do is specify what the next map is for each edge on a
map. Then, when the player gets within, say, 4 mapsquares of the edge
the mapegine begins to load the relevant connecting maps. So you could
get something like this:


        |__________________|
   _____|                  |
        |                  |  map 4
        |       map 1      |
   _____|                  |
        |                  |
        |__________________|__________
        |           |
        |           |
        |           |     map 3
        |   map 2   |



                -James


   ___    ___  ___       ___ 
  /    / /__/ /__/ /  / /__                 Reg. Linux User #148821
 /___ / / \  / \  /__/ ___/@linuxgames.com  www.twiddles.com
                                            adonthell.linuxgames.com




reply via email to

[Prev in Thread] Current Thread [Next in Thread]