Some networked games try to compress diffs between updates by networking only the value difference at a component level. Replicon doesn't currently support that.
Here is a first-draft idea for how to support it:
If we pass the change-limit tick + current tick into serializers, then the serializer can have a local that tracks historical state and performs a diff internally. The deserializer would also need to track historical state and apply diffs to the correct older value. We might be able to provide a pre-baked value-diff compressor for types that implement certain traits.
Note that supporting this would require changes to the shared copy buffer, since different clients could get different component serializations.
Some networked games try to compress diffs between updates by networking only the value difference at a component level. Replicon doesn't currently support that.
Here is a first-draft idea for how to support it:
If we pass the change-limit tick + current tick into serializers, then the serializer can have a local that tracks historical state and performs a diff internally. The deserializer would also need to track historical state and apply diffs to the correct older value. We might be able to provide a pre-baked value-diff compressor for types that implement certain traits.
Note that supporting this would require changes to the shared copy buffer, since different clients could get different component serializations.