Today, I am stepping through the “How to make a game” tutorial. I’ve created my game directory and have gone through the functions in the LOVE2D main loop. Currently trying to wrap my head around Entity Component Systems because the tutorial is creating one. Read more…
This developer is using LUA scripts to hold all the component information for his entities but then uses C++ to actually create the object in his game
This is a snippet from an explanation of processes where the typical stages of the main loop are divided into processes. For rendering, an interface is created called IRenderable and a vector is made for each entity that will be rendered (component). This component contains the basic drawing positions and such and is then extended by each entity class (enemies, bullets) that will need it. However, since the entity class can’t inherit both Renderable and Moveable, it actually instead creates an instance of both.
The author of this second piece actually then breaks down his process structure into a paradigm called systems… I didn’t fully understand this step but overall this article seemed to illustrate the benefits of ECS very well and I hope to return to it later.
here is a nice example of what components i should be using.. although it should be a little different for my turn based game. There will be a few “meta” systems such as the active turn stack and ai updating strategies for each turn that will be a little difficult to plug into the ECS.. but I think this is the most documented architecture so I will try to use it.