|
|
|
|
|
by softfalcon
1478 days ago
|
|
You don’t delta compress everything, only a significant part of the payload. Each diff is referential to a previous packet with a unique id. If you don’t have the previous packet, you just ignore the update. Every 30 frames or so, you send a key frame packet that is uncompressed so that all clients have a consistent perspective of world state if they fell behind. Using sentTime lets clients ignore old data and interpolate to catch up if behind as well. It does work, I wrote one from scratch to create a multiplayer space rpg and the bandwidth savings were incredible. |
|