[crossfire] On the software side of "reorganizing the world"

Mark Wedel mwedel at sonic.net
Mon Jul 9 01:40:08 CDT 2007

Andreas Kirschbaum wrote:
> Lalo Martins wrote:
>> What I think we need is a "world editor".
> [...]
>> Ideally, I'd like an UI on at least the magicmap scale, maybe farther,
>> where I can lay mountains, rivers, forests, marshes, sea/land, and
>> preferably copy large chunks right out of an older map (say, Lone
>> Town) and paste into the world.
> Some of the features I plan to add to the editor:
> - Allow to shrink the map window. This affects only the map window but
>   still allows all edit operations. I think this will help editing
>   (untiled) maps that are (much) larger than the available screen space.

  I take it this is really more a zoom out vs actual shrink?  Wonder if it would 
make sense to have a couple different zoom scales (25%, 50%)?  This could be 
useful for even large non tiled map.

> - Add tiling support to map windows. That is, seamlessly display tiled
>   map files in the map window.
> Though, don't expect these features to be implemented too soon since
> there are still a few unsolved issues. For example: loading all 900
> world map files into the editor would need about 1.3GB RAM. This is way
> too much. OTOH, limiting the zoom feature to less then the whole world
> map seems not correct to me...

  1.3 GB isn't that much ram :)  But I'd also think the load time for loading 
all 900 maps would be prohibitive.

  I wonder if you could have a preference of something like 'how many tiled 
maps' to load.  So some people could say 'a 5x5 map tiled area is all I need', 
and others could say '10x10 would be great', type of thing.

  What would be really cool above that is basically scroll features that 
save/swap out maps and load up the new ones.  For example, if I have a 5x5 
layout, and say scroll east, it would free up the 5 maps along the left edge 
(ideally asking if I want to save changes if there are any, with perhaps a 
cancel), and if that is done, then loads up the 5 maps along the right edge.  So 
one could effectively move throughout the tiled window with relative ease.

>> Also control elevation by hand, using an interface similar to map
>> editors in god games (eg, Sim City).
> For now, the editor mostly ignores elevation values. It tries to retain
> the elevation values when editing the map but I didn't add more support
> since I don't think elevation values are a sensible feature. (OK, I'll
> stop now because it's not the weather discussion...)

  Dealing with elevation would seem to be a complicated issue no matter what - 
sure, it would be nice to fill in elevations as working, but to do that would be 
quite tricky - what are appropriate values, how to fill them in, etc.

  At some point, I'd like to modify line of sight to use elevation.  Mountains 
right now always block view, which works OK.  But if you're on the highest peak, 
they really shouldn't - in a sense, they should only block view if they are 
higher than the players current altitude.  But this is one of those far off/low 
priority things.

>> If someone wants to pursue that, either as a separate tool or a mode
>> for the new editor, I'd be happy to contribute, although I don't know
>> where to start if I were to write it myself.
> Generally speaking, I think almost all tools for map editing should be
> included into the editor. This makes it much easier for users to use
> them (no need to install yet another application/library/whatever and
> the feature is easily accessible though menus). It also makes it easier
> to maintain them (for the same reason).

  Agree with that.  It is also nice not having to switch to a different tool 
because you want to do something that one tool doesn't do, and the other tool 
maybe doesn't do as well (an example being a world map editor vs normal one - 
chances are, the world one wouldn't be as complete (because if it was, no point 
for gridarta), and if it isn't, think chances are, you'd be constantly switching 
between the two.

  So it really does make sense to extend the standard tool to match the needs 
and not come up with new ones.

More information about the crossfire mailing list