[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 14:38:09 CDT 2003


  Ok.  I think I have a decent understanding of all this - we need elevation for 
every space.  However, tracking that then becomes very difficult, because 
elevation is lost if you edit a space.

  And I can now see that dealing with this properly is difficult.

  Certainly the approach is use the elevation for which spaces it exists, and 
interpolate the elevation for the missing spaces works.  It wouldn't be hard to 
make elevation much easier to get (just like mapflags (blocked, alive, etc) are 
stored in the MapSpace structure, one could copy the elevation into that, so one 
doesn't need to search the objects for the elevation (although, probably not a 
really big gain on that, since there aren't many objects per space anyways - its 
just a lot easier to code something like GET_MAP_ELEVATION(map, x+1, y))

  However, one thing I have learned through my years with crossfire is computing 
values should be seen as a last resort - it almost never gives as good as a 
result as desired.

  As an aside, it would be cool for elevation to actually play a role in line of 
sight.  Thus, instead of mountains just blocking view, they have elevation - if 
you are of lower elevation, you can't see through them, but if you are on the 
highest mountain, you'd get quite a nice view.  Doing this probably wouldn't be 
that hard, but probably really need to store the elevation in the map cell to 
make this at all efficient).  Could also make fly much more interesting (fly up 
to see more).

Anyways, to me, the ideal solution would seem to be to keep in the object 
itself.  We apparantly have scripts that will backfill elevation data - 
presumably, these scripts can be/are smart enough to only fill in spaces where 
elevation has been removed, and not to write over elevation for spaces player 
explicity sets.

  What's the problem of using these?  It seems much simpler than writing a new 
system to deal with this, especially because the tool is already in place. 
Presumably, it wouldn't be hard to also make these have a little bit of logic 
(eg, the area on this map in spaces x,y -> x1, y1 shouldn't be backfilled, but 
instead of an elevation of 1200 ± 200 ft, to mimic variation in landscape.



_______________________________________________
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