I don't think this talk is at all representative of game development. Inheritance to represent types of characters in 2024, to the point that diamond inheritance is a problem? Really? Usually in modern gameplay code, the differences between characters are defined in external data files, not in code - so that designers can tweak them. All these relationships that are being expressed in the type system would be defined by non-programmers! If for some reason a gameplay role WAS defined in code, either you're using some kind of component-based architecture to dodge the inheritance entirely and make it easy for designers to glue stuff together (eg. Unity's model) or you're dealing with legacy crap from 20 years ago written before we knew better. We've been studiously *avoiding* inheritance in gameplay code when we can since the late '00s, at least. And many of us don't even have access to a compiler that supports concepts, because support for C++20 is nonexistent on some consoles! Perhaps the talk should be renamed to match what it's actually about, which seems to be using the context of a (spherical-cow-esque) game to teach some C++ concepts.
I don't think this talk is at all representative of game development.
Inheritance to represent types of characters in 2024, to the point that diamond inheritance is a problem? Really? Usually in modern gameplay code, the differences between characters are defined in external data files, not in code - so that designers can tweak them. All these relationships that are being expressed in the type system would be defined by non-programmers! If for some reason a gameplay role WAS defined in code, either you're using some kind of component-based architecture to dodge the inheritance entirely and make it easy for designers to glue stuff together (eg. Unity's model) or you're dealing with legacy crap from 20 years ago written before we knew better. We've been studiously *avoiding* inheritance in gameplay code when we can since the late '00s, at least. And many of us don't even have access to a compiler that supports concepts, because support for C++20 is nonexistent on some consoles!
Perhaps the talk should be renamed to match what it's actually about, which seems to be using the context of a (spherical-cow-esque) game to teach some C++ concepts.