|
|
|
|
|
by YellowAfterlife
1857 days ago
|
|
I mention this briefly, but with re-syncing it is possible to end up in a situation where you end up re-sending the game state on each check interval - more so with a full-state CRC since floating-point errors can make values binary different long before the difference would result in a visible desync. Floating point issues are thus generally approached by using fixed-point math instead. Doing a CRC of full game state also poses some additional requirements - e.g. any pointers must be relative offsets and any dynamic allocation should be deterministic and within the same block. It does, however, also make it easier to implement serialization/deserialization, as mentioned by Jyaif in another comment here. |
|