Data Oriented Design and Entity Component System Explained

Mathieu Ropert

⏱ 90 minute session
beginner
intermediate
14:00-15:30, Friday, 19th April 2024
Entity Component System (ECS) is an architecture paradigm used in several games to achieve performance by nudging programmers towards data oriented paradigms. But your project doesn't necessarily need to use ECS to benefit from the tech behind it!

In this talk, I will first explain and showcase the perks of Data Oriented Design, then explain how ECS arrange your data to optimize for fastest iteration (and reasonably fast lookup) speeds across one or several components and how you can reuse similar data structures in your program to achieve similar results.

🏷 CPUs
🏷 data-oriented
🏷 entity-component system
🏷 performance

Mathieu Ropert

French C++ expert working on (somewhat) historical video games. Has a love/hate relationship with build systems but lately mostly focuses on performance and multithreading. Past speaker at CppCon, Meeting C++, code::dive and ACCU. Used to run the Paris C++ User Group. Currently lives in Sweden.