Hacker News new | past | comments | ask | show | jobs | submit login

By the obvious way, I'm guessing you would just have a single type 'entity' and put all entities in an array?

While that may be obvious to you, it's not obvious to a lot of programmers (myself included) who grew up learning about object orientation, abstractions and modelling behaviour on the real world. ECS's for all their added complexity come with the breath of fresh air that is classical imperative programming where all the data is just available.

There are scant few sources for learning this, Handmade Hero being a notable exception.

ECS builds up on protocol/interface oriented programming, where COM is the poster child how to organized such components.

There is CS literature about component oriented programming.

Component oriented programming seems to about about inherting only interfaces, but still abstracting the data behind function interfaces?

That's not at all what ECS's are about.

Component architecture doesn't specify how the data is stored, you are free to do SoA or AoS, depending on the case.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact