February 23 Packet Optimization - Weekly Devlogs

Packet optimization and sycnrhonization continues for multiplayer.

Work on multiplayer continues. Since multiplayer is such a large and involved thing that requires significant rewrites that break things, I'll be writing devlogs weekly but uploading new updates whenever I'm able to.

This week was spent on optimizing packets to be as small as possible. It used to be that the entire world was sent from the server to the clients piece by piece, which was a massive amount of data to send. It also meant the world didn't load in until the packets were received which slowed everything down. Further, it was possible to "max out" the network data, causing pieces of the world to not load. All this was pretty unnecessary since about 99% of the world is randomly generated and only a tiny portion is generally modified by players. It's ideal to have as much as possible handed on the client-side, and only use packets to resolve synchronization issues. This required some significant rewrites of the current multiplayer code, so I was doing that.

Fortunately now everything is more or less smooth. The server browser is working and the connectivity issues and errors have been resolved so you can connect to other servers and jump around at each other. What remains now is hunting down de-synchronization spots and writing multiplayer code to resolve them, which can be kind of a long and tedious process. Thanks for your patience during these rewrites.

Continue Reading in the Dev Forums >>

<< Return to Devlogs

This website exists thanks to the contribution of patrons on Patreon. If you find these tools helpful, please consider supporting this site. Even just disabling your adblocker will help (it's only text and plain image ads I promise). Kassoon.com


Follow on Twitter Support on Patreon Print Page
Make campaigns and save encounters / combats / dice rolls and more. One step!



Recovery Email (Optional):