For 2-3 years I've been interested into MMO development. I'm browsing some emulators source codes and open source projects.
Usually I'm checking how the game server stores data about the 2D map. There are 2 popular solutions:
- map is stored only on the server it's sent to the client in parts (eq. tiles like in OpenTibia https://github.com/opentibia/server)
- map is stored in the client and on the server, server sends only coordinates and client got knowedgle of it.
I'm generally interested in this first attitude, do you know any good and bad aspects of it?
How to store this structure on the server? In memory on in database? Open Tibia uses memory storage but there is one drawback: 2000x2000x16 map uses a lot of memory - something around 2GB. Is this because of bad design? Are you able to provide me some examples of good design?