[crossfire] weather, lattitude, town location, and the world

Brendan Lally brenlally at gmail.com
Sat Nov 12 21:30:27 CST 2005


On 11/12/05, Mark Wedel <
     mwedel at sonic.net
     > wrote:
>
      Brendan Lally wrote:
     >
      > On 11/12/05, Mark Wedel <
      mwedel at sonic.net
      > wrote:
     >
      >>  Crossfire
     >
      >> is somewhat limited by only 1 aspect of terrain is available (we don't have
     >
      >> forested mountains for example).
     >
      >
     >
      > Forested mountains could exist in principle, it just requires someone
     >
      > to be able to draw alpine trees.
     >
      >
     >
      >>   All that said, if we were to create another continent and wanted to start with
     >
      >> an automatic process, there are many improvments I can think of:
     >
      >>
     >
      >> 1) Create altitude map (with different seed of course) like did before.
     >
      >
     >
      > Actually, I think it might be preferable to create tectonic plate
     >
      > boundaries, and then generate heights from that, it would give a much
     >
      > greater concentration of mountains, without having them scattered
     >
      > everywhere (and impeding movement)
     >
     
     >
        I believe there are other projects out there (not related to crossfire) about
     >
      mimicing a planet creation process.  If we were really serious, we should look
     >
      at those.
     
I did ask the freeciv developers on freenode about that point a few
months back, they have a random world generator which creates tile
based maps.

However a lot of what they had was quite hardcoded, and they don't
have a nice way to analyse the squares. - Plus the scale is much
larger, millions of acres per square.

This was just before their 2.0 release however, they map have
something more hi-jackable now.

>
        Then with that, you use that as the blank slate to start putting towns,
     >
      dungeons, etc on.  Having the above info actually makes some of that process
     >
      easier - towns wouldn't be in the middle of a mountain range, but likely along
     >
      the rivers, and most typical, at the river/sea junction.
     
That could work, particularly if canals were added later, so that
boats could travel across much of the continent (your movement code
reworking could make it possible then to have narrowboats to travel
between cities).

>
        But point here is that this is still creating a map with actual forest spaces
     >
      and whatnot - you use a dynamic process to create a static map.
     
Yes, and thereafter are forced to use that static version to edit it,
this is an issue if there is a change that would be easy to make with
a heightmap, but which would require extensive modification otherwise.

Incidentally, it also strikes me that the best way to get a height map
would be from a grayscale image. - simply say that brightness is
altitude, and then lots of adjustments could be made with the use of
gimp filters.

>
        That said, if the same weather process is used to create this static map as
     >
      that used in the game, then at least as the game runs, the weather would be
     >
      consistent with the terrain.  For example, right now, there are desert areas on
     >
      the map, but with the weather code, I have no idea what level of rainfall they
     >
      get, since the location of the desert was rather arbitrary set (lets put it here).
     
Also there aren't enough deserts, but that is another point altogether.

>
        In geological terms, rivers will carve out valleys.  So in those cases where a
     >
      river flows into what would form a lake, see where the water would flow out and
     >
      make some random determination if the ground in that area is hard (rock) or soft
     >
      (earth/gravel/whatever), and thus a gorge would get eroded away to let the water
     >
      out, and you don't have a lake anymore.
     
The issue with doing that is that it would require playing with the
sea levels as water evaporates, to compensate for the water falling as
rain. As long as the world is mostly land, and not water, then that
will be a significant effect.

Furthermore, because in the real world, water will often drain through
rock until it reaches an imporous layer, there is normally a water
table rather than lots of water on the surface, creating vast swamps.
It would be neccessary to account for this effect to avoid a
disproportiate amount of swamp, maybe there would need to be two
inputs then, elevation and geology?

This would also improve lake formation, since it would simply be the
point at which the water table intersects with the surrounding land.

To get this to vary properly then, at least an approximation to
measure groundwater flow would be needed. (probably the laplace
approximation would be sufficiant, but I'd need to do some reading to
check on that),

hmm, hacking the weather code to include a water table would have some
merit to it (for one thing, the quick hack would be to determine
porous rock depth by archetype, so deserts might still get rain, but
they would have lots of porous rock, so the water would never stay on
the surface (yes, I realise that is not even vaguely what deserts
actually are, but it would at least stop puddles forming....)

    


More information about the crossfire mailing list