«
Jacob Grove
Software Development
Design-Focused Entity Component System for a Survival City Builder
Entity Component Systems ( ECS ) are a popular paradigm in the video game industry known for their focus on high performance and flexible behavior design . In this thesis , I built an implementation of an ECS with an emphasis on robust , maintainable , and optimizable game code . To test the ECS implementation against these goals , I also created an ECS-driven survival city builder game for Windows and tracked measures of code quality throughout the game development process .
This ECS implementation had several unique features that assisted development , such as external component reflection structures , native profiling tools , customizable memory allocation schemes , and XML serialization utilities . These ECS features enabled the development of novel techniques used in survival city builder gameplay , such
as screen-space selections for arbitrary silhouettes , flexible user interfaces , and configurable forward render queues . To further evaluate the flexibility of the ECS architecture , I iterated on the survival city builder through user playtests and feedback . Most feedback , such as additional building types and interaction methods , was addressed with low overhead through component composition and reuse of existing component-systems .
This project was completed in approximately 300 work hours over the course of eight months . The Entity Component System implementation and survival city builder game were created on top of an existing custom game engine in C ++ 17 for DirectX11 and Windows 10 .
90 SOFTWARE DEVELOPMENT