This system seems to be the way to do it now a days. The idea behind ECS is data-driven, meaning that the data of entities is stored separately from the methods acting on the data.
This will also ease the networking model as data can be transferred back and forth without having to worry about if the prototype chain is unaffected.
I like the OOP approach so I suggest don't make a full blown ECS right away and that we create a system that converts the constructors to entities on the fly if it is possible.
This way we just write the constructors (Player, Planet, ...) as usual, but when the constructors are loaded, the methods are detached leaving only data.
This system seems to be the way to do it now a days. The idea behind ECS is data-driven, meaning that the data of entities is stored separately from the methods acting on the data.
This will also ease the networking model as data can be transferred back and forth without having to worry about if the prototype chain is unaffected.
I like the OOP approach so I suggest don't make a full blown ECS right away and that we create a system that converts the constructors to entities on the fly if it is possible.
This way we just write the constructors (Player, Planet, ...) as usual, but when the constructors are loaded, the methods are detached leaving only data.