Our great sponsors
-
Cataclysm-DDA
Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
-
EA Standard Template Library
EASTL stands for Electronic Arts Standard Template Library. It is an extensive and robust implementation that has an emphasis on high performance.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
I'm not so sure about "Data Oriented", but I'd unironically recommend reading through my game's code to see a take on "data driven design", which I think is what you really mean. https://github.com/CleverRaven/Cataclysm-DDA It gets complicated like all things do, but the general idea is most entities in your game are going to be composed of at least two classes, a "definition" class that holds immutable parameters of each type of entity, and an "instance" class that holds mutable data about a particular instance as well as the interface used by the rest of the game and a pointer to the associated definition.
In game dev and using C++. I suggest avoiding the STL. It's terrible in many ways. The EASTL is significantly better. It's EA's rewrite of the STL.
If I need runtime polymorphism, I prefer to use something like Louis Dionne's Dyno (https://github.com/ldionne/dyno) when I can to maintain value semantics.
List of DOD resources