Original Post
I'm currently trying to design the network model for the game I'm working on. It is somewhat of an RTS, but unit movement is a lot more predictable than most (you can influence player movement, but not move them directly). I've been looking at what I had assumed were the two main networking models. There is the lock-step RTS model, where every client runs the exact same simulation as the server. And there is the FPS model, where the clients are relatively dumb and the server feeds unit updates to the clients.
However, then I started looking into the game League of Legends. It looks like an RTS, but in their development diary they've mentioned how they have made their use of Fog-Of-War unhackable. And indeed, I've done my share of searching to see if this was true, and haven't found any evidence of a map hack for the game.
Now, if they were using a traditional RTS model, the entire map could easily be revealed, since every client is running the entire simulation and therefore knows where everything is. Even modern RTS games like Starcraft 2 use this model, and are victims of these types of hacks.
However, the only way I can think to make fog-of-war unhackable would be for the server to not send any unit updates to any given client unless the server knew the client could see them. So they can't be using a traditional RTS network model.
It's possible they are using something like the FPS model, just informing every client of unit state. But I thought the whole problem with this is the bandwidth required to send the state of every visible unit to every player. So either the League of Legends developers have mastered their packet size regardless of unit count, or they are using some other hybrid method.
I would really love to hear any ideas on how they might be pulling this off!
However, then I started looking into the game League of Legends. It looks like an RTS, but in their development diary they've mentioned how they have made their use of Fog-Of-War unhackable. And indeed, I've done my share of searching to see if this was true, and haven't found any evidence of a map hack for the game.
Now, if they were using a traditional RTS model, the entire map could easily be revealed, since every client is running the entire simulation and therefore knows where everything is. Even modern RTS games like Starcraft 2 use this model, and are victims of these types of hacks.
However, the only way I can think to make fog-of-war unhackable would be for the server to not send any unit updates to any given client unless the server knew the client could see them. So they can't be using a traditional RTS network model.
It's possible they are using something like the FPS model, just informing every client of unit state. But I thought the whole problem with this is the bandwidth required to send the state of every visible unit to every player. So either the League of Legends developers have mastered their packet size regardless of unit count, or they are using some other hybrid method.
I would really love to hear any ideas on how they might be pulling this off!