My implementation of the Entity-Component game architecture, with a shift away from heavy components to lightweight POD types.
There are 5 main classes in this design:
-
the Game State - any piece of data (integers, strings, bools, floats) that can represent a single attribute
-
the Game Form - visual representation of an object
-
the Game Space - a container of Entity objects
-
the Game Action - any piece of executable logic
-
the Game Entity - a collection of all of the above classes, able to become any game object required