[CF-Devel] 25 by 25 instead of 11 by 11 map

Mark Wedel mwedel at scruznet.com
Thu May 24 20:01:05 CDT 2001


On Thu, 24 May 2001, Peter Mardahl wrote:

>
     
     
     >
     
      The only way I see to do the 'fog of war' type of thing is to
     
     >
     
      extend the protocol to send a 'change map' message every
     
     >
     
      time the map is changed, and to send a 'player coordinates' every
     
     >
     
      time the player is moved.
     
     >
     
     
     >
     
      The only drawback is that the client would have the extra information
     
     >
     
      of where exactly the player was on the map.
     
     >
     
     
     >
     
      The client could then construct a map based on what data it is sent.
     
     
 Note that sending the player coordinates would not be a big deal.
You could piggyback that on the stats command, so it would only be
3 more bytes (I'll presume a map will never be more than 255x255).

 You do have to make sure the stats command is always set before
the map update, so the coordinates the map use have the proper
relation (because the coordinate sent in the map update are relative -
the upper left of the viewing area is always 0,0).

 Sending coordinates could give away information.  For example, if the
furtherest west/north you can get and you still find yourself and 10,10,
you can probably conclude there is something hidden behind that area
(of course, this may not always be true - some maps may just have
solid rock there).

 The one interesting thing with sending map coordinates is magic map
could be more useful (ie, the information it gathers could track the
movement of the player).  That code could even be updated as the player
moves around.  Of course, that magic map doesn't always represent the
full map - it only represents the reachable areas, so you could wander
off it it.

 But determining how much a leak sending the player the coordinates they
are at is a matter of debate.  Its certainly a leak - I'm less sure
how big a leak it is (as I think about it, there are probably other
equally as big leaks - you could figure the exact resistances of various
items by equipping them, since the resistances get updated.  This of course
is no worse than getting the stat bonuses).  IMO, this is a pretty
minor leak.  And it is of course potentially useless information if
automatic map tiling is addede (as being at 0,0 may not mean anything
at all).  And you only need some small portion of maps to actually put
solid rock 5 tiles thick along the top or left and players will learn
that trying to find secret doors/hidden things beyond it is a waste of
time, so won't trust being at 0,0 or 5,5 as that much different.

 ITs really hard to say how much a deal information leak is when
all the maps are basically available for anyone to download.  The
client could presumably hide the coordinates the player is at from the
player (with of course a modified client showing this).

 there are of course other potential ways to deal with this - you
could add a random 'fudge factor' to maps when first loaded - this
fudge value is added to all direct coordinate values as sent to the
client, so character can never really be sure what the top of the map
really is.




    
    


More information about the crossfire mailing list