Source

Thread

1/ @rfleury

New programming blog post about the complexity and performance trade-offs of maintaining entity memory contiguity in games.

programming gamedev

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.

0 items under this folder.