3 ms·
This seems like a mostly very well thought out design (I have a qualm about one detail but maybe they're hiding it), I've been rebuilding an old prototype of mi
by whizzter 4y ago
This seems like a mostly very well thought out design (I have a qualm about one detail but maybe they're hiding it), I've been rebuilding an old prototype of mine in a very similar way.
The DoD ECS pattern should allow for easy state/log shipping to clients, with those 2 parts you can easily build what fighting games terms as "rollback" based netcode.
Rollback is often characterized as complicated but clean, the truth is that if you structure your data around rollback capable simulation from day one it becomes easy (and DoD ECS naturally fits there just like shipping to separate CPU parts back on the PS3)
This "trick" of fully shipping state images isn't exactly new, some emulators has done memory image shipping in the past and Ian Kettlewell published a WASM-heap shipping experiment(1) recently that works on the same principle.
Compared to the snapshot/heap shipping of emulators/WASM is that Ambient should allow for server introspection and upgrades of state.
Overall I like Ambient, and I'd recommend a look. Only big omission I see right now is audio being missing and it can be a tricky part to synchronize (due to how mixing works).
1: https://github.com/kettle11/tangle https://github.com/kettle11/tangle