Recently, I read some articles about "Entity-Component-System", one of these is "What is an entity system framework for game development?" written by Richard Lord.
In his article, he mentions that component only contains data which is like C's struct. Entity is a set of components which also don't have any method. All operation are moved to system.
This is data-oriented programming rather OOP, so why we still use OOP language rather than the C language? I'm interested in what it will be when implemented in C.
One of the implementation may be like this:
ecs_component_create("position"); ecs_component_add_value_int("position", "x"); ecs_component_add_value_float("position", "y"); ... int id = ecs_entity_create("spaceship"); ecs_entity_add_component(id, "position"); ecs_entity_set_value_int(id, "position", "x", 0); ecs_entity_set_value_int(id, "position", "y", 0); ecs_engine_add_entity(id); ... ecs_engine_add_system(engine, "RenderSystem", priority);
I'm not sure whether it is right, can someone give me advises?
My English is poor, and thanks for your patient!