SMU Guildhall Graduate Catalog 2022 — Cohort 30 2022 | Page 74

«

Bradley Christensen
Software Development
Multithreaded Entity Component System Engine and Game Architecture Synopsis
Entity-Component-System ( ECS ) architecture is popular in the video game industry because of its memory efficiency and composition-oriented design . For my thesis , I wanted to dive into how ECS works , make my own ECS engine , and build a fun game exploring its performance benefits . BradgeECS is the multithreaded ECS engine I built and Legion is the game demo . In Legion , the player controls a character that spins to win , mowing over 100,000 enemies at 60 frames per second ( on my 12-core machine ).
It is important to keep in mind that the engine is there so you can create fun experiences for players , even though engine optimization is itself an interesting problem .
Throughout the project , I had to optimize every single aspect of the game in order to achieve the highest number of real enemies on screen as possible . Each optimization was a unique and interesting problem , and it all went towards achieving a fun game with many enemies .
I chose an ECS project because it allowed me to build a game alongside my thesis . Building a very robust ECS engine would have been a good project , but making a game alongside the engine allowed me to add and tweak features as I needed them .
74 SOFTWARE DEVELOPMENT