C++ in Huge AAA Games
summary
Codebase compiles into a single executable with millions of lines (3.5M+C++ for one game), and iteration time targets are concrete: distributed building gives 3–5 minute edit‑compile cycles via FastBuild with unity builds and network caching. Engineering choices are specific: no exceptions, custom reflection, own containers (not std::vector), OB1 minimal inlining for faster debug targets, global singletons via static buffers, generated code and an object analyzer to find hot template bloat, memory tagging and frame allocators to eliminate fragmentation.
AI-written summary · about
chapters (23)
- 0:00Introduction
- 0:50Agenda
- 1:24Ubisoft Montreal
- 2:05Big codebase
- 3:17Code structure
- 5:03Engine
- 7:15FastBuild
- 13:59Code Generation
- 18:00Performance
- 25:55Singletons
- 27:37GlobalSingleton
- 28:15Shapes
- 31:51Heap
- 33:49Frame locator
- 34:30Debug challenges
- 35:49One day course
- 36:19Empty call stack
- 36:37Corrupted pointer register
- 36:54Memory tagging
- 38:12Breakpoints
- 39:18Memory Corruption
- 40:19Alligator
- 42:30Questions
related talks
46mHow to understand million-line C++ projects
01h 13mJai Demo and Design Explanation (KEYNOTE) - Updated
01h 03mBringing Clean Code to large scale legacy Applications
52mC++ Game Development - Techniques to Optimise Multithreaded Data Building
02h 02mIt's Complicated
01h 30mC++ in Constrained Environments
01h 04mType-safety in low-level programming: Modern C++ in game console emulators
01h 02mBlazing Trails: Building the World's Fastest GameBoy Emulator in Modern C++
