[CF-Devel] Large forest. Was: more proposals

crossfire-devel-admin at archives.real-time.com crossfire-devel-admin at archives.real-time.com
Tue Jun 24 06:13:27 CDT 2003


 --- Todd Mitchell <
     
     temitchell at sympatico.ca
     
     > wrote: 
>
     
       I question the need to have the weather so specific in any case. 
     
     >
     
      Couldnt a good weather system be worked out based on a single average 
     
     >
     
      elevation per map and the ground arch types in each tile? Were not 
     
     >
     
      calculating cow farts on the ozone here - so far it is just pretty to
     
     have 
>
     
      weather and there is no game play value yet.
     
     
(I did a look through the server code and elevation is not used for LOS in
the server, although I seem to remember it looked that way from the
client.)

Specific elevation is only used in the weather code to calculate per tile
temperature so that we can decide to snow / freeze ice / melt snow or ice /
grow things on that tile.  The rest of the weather system uses an average
elevation that is pre calculated (very slowly) during the servers initial
run, then stored.  There is a split between the weather itself, and it's
effects on tiles.  During that initial pre calc, elevation and water / land
ratios are averaged to a 100 x 100 grid.  Both drive the weather system.

On the other hand, like real weather, the weather system is chaotic.  Small
changes can produce large outcomes.  This was made obvious to me when I
tweaked things after writing my visualisation code.  However, only average
elevation affects this.

Basically, average elevation drives the weather, which drives average
temperature.  After the weather has been calculated, things get more
specific again to decide what effect this all has on individual tiles.

Currently, the weather system runs as part of the server, so it needs to do
it's work quickly to not slow down play.  My current project is to split it
off to another program that runs seperately and only bothers the server
when it is time to overlay snow and stuff onto tiles.  It would connect to
the server as a player with some DM style priviledges, I call it WG
(Weather God).  I already have a modified server and GTK client that has
the WG log on, become WG, vanish, and teleport to each big world map in
turn.  I am at the stage where I am getting relevant weather / map
information exchanged.  This project has stalled since my OS upgrade
because I can't get the damn python plugin to compile.  Note, my weather
code doesn't need python, I only want it for my Ice castle maps.

The weather server could take your average elevation, take it's time to
create more specific elevation, store that, and then start generating
weather.  If it notices that a map has changed average elevation, it would
recreate the specific elevation.  Since a seperate weather server can take
it's time, it could even create specific elevation on the fly as it is
needed.

>
     
      modifier...  I have thought of the possibility adding a field to floor
     
     >
     
      arches that could be set to indicate belonging so that you could indicate
     
     >
     
      that a certain area 'belonged' to a specific city or other such abstract
     
     >
     
      entity.  These could be manipulated pretty easily and then areas could be
     
     >
     
      linked to an object to impact local effects (local modifiers to mana,
     
     >
     
      grace, speed, weather...)
     
     
Sounds good to me.  Such a system could also be used to cut out the bloat
that my Ice castle maps suffer from.

Which brings up a question, do people think that my maps are too bloated? 
There is a good reason for the bloat, but I would like to achieve the same
effect using some less bloated method.


     
     http://mobile.yahoo.com.au
     
      - Yahoo! Mobile
- Check & compose your email via SMS on your Telstra or Vodafone mobile.

_______________________________________________
crossfire-devel mailing list
     
     crossfire-devel at lists.real-time.com
     
     
     https://mailman.real-time.com/mailman/listinfo/crossfire-devel
     
     
    


More information about the crossfire mailing list