Source
- URL: https://x.com/rfleury/status/1235037224976044034
- Author: Ryan Fleury (@rfleury)
- Posted: 2020-03-04 02:59:54
Thread
1/ @rfleury
New programming blog post about the complexity and performance trade-offs of maintaining entity memory contiguity in games.
https://ryanfleury.net/blog_entity_memory_contiguity
2/ @simplex_fx
@rfleury
“This is also why, in my estimation, it is not a good idea for a game engine that supports many possible games to enforce this kind of design structure on gameplay code, because it constrains design ideas”
Could you elaborate on this? :)
3/ @rfleury
@simplex_fx
Yes—engines often are opinionated about entities, and enforce some of generic model in which entities are defined. This doesn’t seem like a net win to me, since different games have different problems, and different entity structures lend themselves better to different problems.
4/ @simplex_fx
@rfleury
ECS has nothing to do with how entities are defined.
There could be generic micro components, and systems, but there could be big, and/or specialized ones too.
You could still have an entity archetype with just one big component.
5/ @rfleury
@simplex_fx
I didn’t argue against any of that. I just said that ECS is designed to solve a specific problem, and therefore it’s a specific solution. The blog post isn’t about any of this.
6/ @simplex_fx
@rfleury
ECS is not designed to solve a specific problem. It just means, that you keep data, relations between data, and transformations on the data separated.
I don’t see, how it constrains design ideas.
But it could certainly allow drastic improvements in entity memory contiguity.