I have a game that we are making. ( the core elements of the game are already in place and we were working from a Single player perspective only ) Unfortunately, we found that to get the multiplayer to work properly we would need to redesign most or all of the information. We have completed that process of handling how the server sends information to the client the question is now "What data to send the to client? and how often?"
We have a very massive world that is created with a perlin noise algorithm. The map is created in 16x16x255 regions know as "chunks". We want to figure out the best possible method for sending this information from the server to the client application. We would like to avoid the pitfalls that minecraft had with loading chunks outside of the players immediate zone, or having chunks missing all together for an extended period of time. What, if any, methods can we use?
Things of interest:
- We dont want to spam the client with redundant regions
- We want to prioritize regions closer to the client so they load first
- We want to limit how much information is sent and optimize that with the premise that the player cant and doesnt need to see everything.
- Possible use of super regions ( regions grouped together that have not been modified since last seen )
- Storing the data, once sent, best possible option for storing it.