I'm developing a game with a friend that involves a procedurally generated map. My question is... Should the client generate the chunks, or should the client make a request to the server, and the server responds with the procedurally generated chunks? I can think of some advantages to both sides.
If it is generated client-side:
- there will be a whole lot less load on the server
- perhaps some game performance improvements too?
If it is generated server-side:
- I can implement anti-cheating algorithms a whole lot more easily and efficiently
- chunks can be "dynamically modified" by the server. Meaning the server can modify chunks for the clients before sending them if needed.
Another option would be for them to work together. The client would generate the chunks on-the-go, but would make a request to the server for modified tiles. I still can't implement the anti-cheating algorithms in this method though. But the advantages to this method are:
- not much load on the server
- server can dynamically modify chunks
- moderate game performance
What is the best option, if any? And what do people usually do? Are there any advantages to any of these methods I'm missing?
EDIT: I know Minecraft chose the server-side method. I wonder what their reasons were?