Closed xSke closed 8 years ago
Thanks for the links, I'm aware of the differences :) For what it's worth, I think it's a weird comparison to Unity because "component contains logic and data" wasn't born there and has long roots in games. I am aware of the considerations with systems and components being data only, too, but the placeholder implementation is a simple and clear approach that many users like.
As with all engine pieces during the alpha, when the entity system gets to it's focus sheet it will be tackled! At the moment the focus is on the renderer, but after that the existing entity component model will be addressed.
It's also worth noting that the current entity implementation isn't required, you don't have to interact with the defaults and can use the things they specialize over. But again, this will be addressed after the rendering since that's the biggest chunk of work at hand. Thanks!
This might help: A ECS framework written in Haxe: Eskimo also the 3rd ECS framework written by its author.
Entity Systems, the last part of the ECS trinity, allows for separation of code and data. Given Luxe's architecture of optionality, I believe entity systems are a perfect fit.
A system is a block of code that operates on all entities with a given set of components. For example, a movement system can operate on all entities with a Movement component, an Input component and a PhysicsBody component.
I personally find the Unity-style approach of ECS very limiting, and it would be great to have real ECS with systems as an optional feature in Luxe.
See: http://www.gamedev.net/page/resources/_/technical/game-programming/understanding-component-entity-systems-r3013