5 ms·
Game programmers use entity systems, not OO... or do they?
by vesak 8y ago
Game programmers use entity systems, not OO... or do they?
- Ace17 8y agoFun related quote from reddit: "you can tell if someone started game development as a hobby because they ARE using an ECS."
- bni 8y agoWhat do the pros use? Why is ECS bad in a game/simulation type program?
- afiori 8y agoI think it means that pros try to use an ECS but often fallback to object spaghetti. But I might be wrong
- Ace17 8y agoECS is the "microservices" of game development : it's touted as the way to go, and in some cases it's the best solution, but it comes with increased wiring complexity cost, and the hype surrounding it causes it to often be adopted for dubious reasons (e.g "deep class hierarchies are bad, therefore I need ECS"). Very interesting article here: https://www.gamedev.net/blogs/entry/2265481-oop-is-dead-long-live-oop/ https://www.gamedev.net/blogs/entry/2265481-oop-is-dead-long...
- Retra 8y agoECSs are sort of designed to be flexible and make it easy to extend and mix the behaviors of a game. Most games do not need such flexibility, because professional games are designed and you already know what capabilities are needed, and it is more efficient and less complex to implement those things directly. However, if you're designing an open-ended game engine for other people to develop in, then an ECS is a godsend, because you have no clue what they plan to make their game do.
- vesak 8y agoHaha, ok. I'm even lower on that scale: not even a hobbyist game programmer. I thought they actually just use structs and whatever data structure works.