[crossfire] map redo: more layers.

Mark Wedel mwedel at sonic.net
Tue Sep 6 02:38:53 CDT 2005


tchize wrote:

>>
     
       The trickier part in all this is how to condense it down for the 3 objects for 
     
     >>
     
     old protocol.  May idea would be to basically set up a table which says order of 
     
     >>
     
     objects you are looking at.  The order would always be the same, but it may be 
     
     >>
     
     something like:
     
     >
     
     
     >
     
     
     >
     
      why adapt old protocol, keep it's old behaviour (floor + 2 topmost objects)
     
     
  I'd have to look, but I think the old display logic has a more complicated 
logic than that (eg, things like monsters have pretty high importance in the 
display order).

  The old system basically had 3 layers:
1: Floor
2: Most important object, typically determined by visiblity value or other critier.
3: top object.

  The problem with just taking the floor + 2 top objects is a couple spells now 
obscure all monsters beneath it, which may not be a good thing.  I suppose that 
can be used as a first pass to see how things look, and if it breaks a lot of 
stuff, work on refining i.


>
     
      may i suggest static  things like buildings/floor be sent once and for all to client
     
     
  Static things in general will only be sent once - the new system should make 
that more consistent - one problem with the old system is things can 'jump' 
layers depending on other objects.

  But if you mean send all static data for the map once, that creates a few 
problems:
1) Imposes even more lag when hopping maps, as a potentially very large burst of 
information needs to be sent.
2) potentially gives away map information (I'm ignoring the issue that most all 
maps are available for download - one could envision a server running private maps).
3) Gets trickier for the outdoor world maps

  IF you mean we only send that building once, then we need to track somehow we 
don't need to sent it again (I imagine the case you're talking about here is 
player steps to side so portion of map is no longer visible, then steps back 
that direction so it is again).  I suppose we can track that player has seen 
that space before.

  However, in both cases, I think the bandwidth savings by doing this are 
relative trivial - granted, a player stepping back and forth constantly will 
cause a row to be redrawn, but if players want to abuse stuff, they can hop back 
and forth between maps.


>
     
      Also, think about integrating ground animations in protocol (i mean, do not send
     
     >
     
      sea each time it change, better tell client there is an animated object on that layer)
     
     
  This is reasonable, but I think we need to establish 'constant' animations. 
What that means is that this is the animation sequence and this is the speed and 
will always be the speed (which for things like water is true).

  Then, we could send that animation info once, and then when we get such an 
animation, just send the fact is is constant animation XYZ.

  If we have to send animation speed/phase for such objects, this is less a 
gain.  And if we try to do it for monsters, I think it adds a lot of 
complication for what once again may not be a lot of gain.


    
    


More information about the crossfire mailing list