2 ms·
ECS has been used relatively heavily in game dev since like late 90's.
by adamnemecek 6y ago
ECS has been used relatively heavily in game dev since like late 90's.
- meheleventyone 6y agoSo? That has nothing to do with the performance of an implementation which is what I commented on. Data oriented design is about managing data organisation to match access patterns in order to best exploit the hardware cache. That requires more design than simply using the ECS pattern. Which is why a lot of generic engines introduce other concepts like Grouping and Archetypes to try to alleviate this. And even if you do use a generic ECS engine with performance sensitive features it’s still perfectly feasible to end up thrashing. Also as a claim I also find this highly doubtful particularly as I’ve been working as a game developer for many years and not really seen it used on a single project in that time. There’s a reason why there are dozens of hobby implementations but no full scale games written using them.
- adamnemecek 6y agoSerious sam and a lot of bohemia interactive games are written with ECS.
- meheleventyone 6y agoThey are? Because you can see the source for the Serious Engine 1 here: https://github.com/Croteam-official/Serious-Engine https://github.com/Croteam-official/Serious-Engine Looking at that it has way more in common with an OOPish inheritance/composition approach to entities than the ECS view of an entity being a primary key into a data store of components with a pipeline of systems acting in a component centric manner to update the game state.
- Rhedox 6y agoOverwatch is built using an ECS. https://youtube.com/watch?v=W3aieHjyNvw https://youtube.com/watch?v=W3aieHjyNvw