ECS is defined in two ways:
ECS as a programming pattern, with it’s core philosophy of “Composition over inheritance. ECS as a data access pattern, where objects are stored in a more efficient layout. Both definitions are incredibly important to why ECS is trendy. The programming pattern promotes decoupling and modularity, while the data pattern provides great performance over object-driven approaches. This post will specifically highlight the data access pattern part of ECS.
I recently had the pleasure of joining a new team as a part of the DigiPen project courses, where we all worked together to develop a game engine. Me and another (Travis) had taken on the responsibility of the “Core Engine” development, so I have spent much of my time over the past semester working on implementing the best tools I can.
Our primary goal for this project was to make a tool that others could use to make different types of games, somewhat of a small-scale Unity.