Add networking support
This should be based on libyojimbo
High level goals:
- Client <> Server scene synchronisation should do a pretty good job by default using default message types to sync StageNodes.
- All communication should be overridable.
- Default should prioritise bandwidth over precision (for Dreamcast 33k/56k) using Snapshot interpolation + compression. Probably make sync rate configurable (e.g. default to 10hz)
- Need to consider prefabs (e.g.
new_prefab_from_stage_node(name, X)
) or registering factory functions with the network manager (e.g.network->register_entity_factory(entity_id, callback)
) for spawning new objects on remote clients. - Need to consider that some platforms have a "connecting" state (e.g. Dreamcast dialling)
Edited by Luke Benstead