Optimizing payload size for voxel state synchronization in Ace Squared
Vanhamaa, Akseli (2025-03-26)
Vanhamaa, Akseli
A. Vanhamaa
26.03.2025
© 2025 Akseli Vanhamaa. Ellei toisin mainita, uudelleenkäyttö on sallittu Creative Commons Attribution 4.0 International (CC-BY 4.0) -lisenssillä (https://creativecommons.org/licenses/by/4.0/). Uudelleenkäyttö on sallittua edellyttäen, että lähde mainitaan asianmukaisesti ja mahdolliset muutokset merkitään. Sellaisten osien käyttö tai jäljentäminen, jotka eivät ole tekijän tai tekijöiden omaisuutta, saattaa edellyttää lupaa suoraan asianomaisilta oikeudenhaltijoilta.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:oulu-202503262228
https://urn.fi/URN:NBN:fi:oulu-202503262228
Tiivistelmä
This thesis addressed challenges of maintaining a consistent VWS across clients in a multiplayer game using client-server architecture, where even just a single button press may result in tens of thousands of voxel updates, that need to be sent to clients. Optimizing payload size, reduces latency, reduces hosting related costs and improves player experience for those with poor internet connection. The initial implementation was hugely improved upon, resulting in much more efficient voxel updates using combination of delta-encoding and DEFLATE compression. Improvements in payload size resulted overall in 2-8x improvements, and I was able to pack voxel updates to less than one byte per voxel in the two large-scale tests. These findings offer a simple to implement and efficient approach for packing voxel world state updates. The final implementation is not perfect by any means, and has room for improvement, but it may very well be efficient enough for most use cases.
Kokoelmat
- Avoin saatavuus [38840]