This is a very common way to handle multiplayer for RTS-style games. The inputs of the computation are the same, and the computation to update the game state is deterministic, so only the inputs are needed by every client. The disadvantage is if the logic deviates even slightly due to a bug you get a desync. If using floats I could also imagine there being issues with IEEE 754 architectures versus non-IEEE 754 architectures.