4 ms·
Protobuf and most similar libraries don't support delta compression which is essential for game state updates.
by mikemarcin 10y ago
Protobuf and most similar libraries don't support delta compression which is essential for game state updates.
- felixgallo 10y agoprotobuf as a structure serialization/deserialization library shouldn't have the responsibility for delta calculations in the first place. Once the application decides what the delta is, it can use protobuf or anything else to encode and transmit that.
- mikemarcin 10y agoYou want to build a full update, then for each client diff between the last ack'd full update and send only that delta. The application specific logic builds the full update. The rest can be done automatically by a good library. Building a delta compressed protobuf message for a transform (using protobuf.net) looks something like: http://codepad.org/3vjxogxZ http://codepad.org/3vjxogxZ
- felixgallo 10y agoDear lord. Why not just use optional fields?