[CF-Devel] Suggestion.

Adam Ashenfelter aashenfe at bright.net
Thu Nov 15 11:57:13 CST 2001


I suggested a similar Idea a couple of months ago, but I thought I would 
suggest it again before everybody started working on the huge outdoor map.  
My idea was to generate a procedural map to help ease the development time, 
as well as save storage space that would be used by a huge map.  Here is how 
it would work.

A huge map would be a procedural texture type of thing.  Look up Perlin 
noise on a search engine to see how this kind of thing works.  Basically low 
values below a certain level would be ocean,  a value between that and a next 
higher value would be plains. The next higher range would be foothills.  
Anything above that would be rugged mountains.  Forestation could ten be 
decided by a secondary Perlin function modified not to happen in mountain 
terrain.  Even monster populations could be decided in such a way

When the server loads a area of the outdoor map from coordinates (x,y) to 
(x+wid,y+depth),  it would first calculate the map using the procedure.  It 
would then load the map file for that block.  Any changed in the map file 
override the object that the procedure has already put there.  Thus the Map 
designers can come in, and instead of creating all the details, they just 
make changes(i.e.  Cities, Caves, Rivers, Lakes, Mountain passes. Mazes, 
Volcanoes, Towers) to what's already there.

NOTE: wid and depth are a constant value that determines how much of a map a 
client loads at one time.  x is divisible by wid, and y should be divisible 
by depth.  Thus laying out a nice grid.  Map change files could then be named 
world{X},{Y}

Advantages.
1.  Infinitely huge and detailed maps can be mathematically generated, with 
none to very little drive space used to store the map.
2.  Ability to easily increase the size of the outdoor map at a later time.
3.  Map would be an adventure for everyone, because of areas unexplored by 
everyone.
4.  Autosmooth possible.  After generating the map, Tiles could automatically 
be replaced by transition tiles to remove the blocky-ness from the maps.
5.  The map would use a universal coordinate scheme.  Thus monsters could 
track players through map block without worrying about map transitions and 
portals.
6.  Map design times could be shortend.  Depending on how many changes a 
designer wants to make to a certain area.  If the designer wanted to change 
everything, then procedural generation could be skipped, and the change file 
would be the whole map.

Disadvantages.
1.  Don't know exactly what kind of hit generation a map block on the fly 
would cause to the server.  May result in a pause for everyone when a person 
moves across maps.  



Other features I would like to see:  In (client/server) map design(I don't 
need the server setup or the map editor to design maps, just a client, and 
someone to give me design permissions for their server),  Large maps loaded 
as tiles.  this would be the best for the above map design scheme, Multi 
server capability(Different maps run on different server, One server is 
authority on player stats)

Oh well I don't know how great any of these ideas are, but I hope they at 
least push things in an interesting direction.  Sorry for the long windedness.

Thanks
Adam Ashenfelter 

    
    


More information about the crossfire mailing list