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.