[CF-Devel] speculations about the floor (elevation)

crossfire-devel-admin at archives.real-time.com crossfire-devel-admin at archives.real-time.com
Sat Jun 28 04:36:40 CDT 2003


Some thoughts...

Le Samedi 28 Juin 2003 08:43, Tim Rightnour a écrit :

>
     
      The problem is.. the 100x100 thing is only used a a speed hack..  
     
     
The real question to ask is: is there are real performance bottleneck when 
handling elevation on a square-by-square basis ? If the answer is 'yes', then 
there is no debate to have - the system would need to be simplified somewhat 
or the algorithms used would have to be improved. A 100x100 low granularity 
matrix is just a speed hack indeed; but if speed becomes an issue, it is 
worth considering it.

>
     
      The weather engine really and truly does use the elevation of every single
     
     >
     
      square to determine the weather on that square.  
     
     
Maybe a question to consider in that case is: can't the weather be computed 
using larger grid elements, for example 10x10 squares ? The weather would 
still be precise enough, but computing time would be reduced somewhat. I 
doubt a square-level granularity is really needed given the apparent scale of 
the bigworld map.

>
     
     If you reduce the
     
     >
     
      granularity to 100x100 it will break the weather.
     
     >
     
     
     
That I don't understand. Quite certainly, the computation results will appear 
more 'uniform' on a given elevation zone. There's no algorithmic reason 
preventing the weather system to use such a matrix (of course, the current 
code would have to be adapted to query a 100x100 elevation map instead of the 
current one; but that's mostly trivial).

Now if that means that such uniformization of the elevation grid would result 
in a too uniform weather system, then it means that other factors do not have 
enough influence in the global result. In that case, the weather algorithms 
probably need quite some improvements.

>
     
      I understand some people don't like fully random maps.  Thats perfectly
     
     >
     
      fine. I have no intention of forcing anyone to use them.  But I would like
     
     >
     
      to be able to set a setting and have them occur.  
     
     
I don't understand the goal of doing this for the worldmap. The worldmap by 
itself is just a way to bind all quests and locations together in a coherent 
way. The worldmap isn't seen as a quest by itself. What would be the purpose 
of such a system ? Is it worth sacrificing speed on commonly used parts of 
the code for it ?

>
     
     If you set the elevation
     
     >
     
      of the worldmaps to a 100x100 grid, not only do you break the weather, but
     
     >
     
      you also break my ability to do fully random maps.
     
     >
     
     
     Note that the idea of a '100x100' grid can quite certainly be adapted to use a 
dynamically allocated matrix instead, which could be expanded on the fly. Or 
the elevation could simply become a tag in the map structure itself.


>
     
      ---
     
     >
     
      Tim Rightnour <
      
      root at garbled.net
      
      >
     
     >
     
      NetBSD: Free multi-architecture OS 
      
      http://www.netbsd.org/
      
      
     >
     
      NetBSD supported hardware database:
     
     >
     
     
      http://mail-index.netbsd.org/cgi-bin/hw.cgi
      
      
     >
     
     
     >
     
      _______________________________________________
     
     >
     
      crossfire-devel mailing list
     
     >
     
     
      crossfire-devel at lists.real-time.com
      
      
     >
     
     
      https://mailman.real-time.com/mailman/listinfo/crossfire-devel
      
      
     

_______________________________________________
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