Check out OSIS for a better architecture of this ECS.
Entity Component System architecture with networking support, component state synchronization RPC (kinda).
Remove the hassle of serializing, unserializing and dispatching datas. Abstract most of the network code without killing the bandwidth. Having both abstraction and flexibility. Profiting of the ECS architecture to easily share and synchronize datas.
- Network oriented ECS architecture
- Automatic serialization per component/entity
startServer("127.0.0.1", 9999);
to start a serverconnect("127.0.0.1", 9999);
to connect to a server@RPC("NET_ATTACK", 50) {dmg:Int};
to send a messageprivate function onNetAttack(entity:String, ev:Dynamic){}
to catch it@networked
on addComponent to broadcast a component add@sync
on addComponent (in EntityCreator only) to synchronize it@short
,@string
... in front of a component member variable will define the proper network serialization- Hooks for client sockets
- More types : @bit @array
- Network type inference
- Typed events
- Benchmarking
- Network culling
This is a T=Machine-like ECS where an entity is just an ID, components are only datas, systems handles the logic and act on components.