Kampfkarren / blog

https://blog.boyned.com
BSD Zero Clause License
0 stars 0 forks source link

articles/adventures-in-ecs/ #6

Open utterances-bot opened 3 years ago

utterances-bot commented 3 years ago

Adventures in ECS - boyned's blog

https://blog.boyned.com/articles/adventures-in-ecs/

michael-brennan2005 commented 3 years ago

What were your reasons for building your own ECS library/framework instead of using a preexisting solution?

Kampfkarren commented 3 years ago

@tech0tron A few reasons.

One is that ECS is something that's simple enough for me to have my own backend for that it's not worth integrating someone else's code that I don't completely know the backings of.

Two is that I don't like any of the options that are out there (the few that are actively maintained). For example, there exist ECS libraries out there that handle properties entirely with instances, which is horribly slow and doesn't support things such as tables. The closest thing to an actively maintained ECS library that I know of is Fabric, which is to its own admission not an ECS. There's the one by nidorx, but from a glance it looks a lot more complicated than is actually necessary, and its own examples promote internal system state. Heck, it even looks like it supports behavior on components, which is something that is explicitly against ECS as a paradigm (for good reason!). In my ECS, systems are just functions, whereas this one seems to have a lot more boilerplate to them.

michael-brennan2005 commented 3 years ago

@Kampfkarren that's one of the things putting me off from ECS, the current complexity of the frameworks out there right now. Will you release your ECS library anytime soon or? Looking at the snippets it looks like the right level of complexity for my uses.

Kampfkarren commented 3 years ago

Will you release your ECS library anytime soon or?

We plan on open sourcing this game shortly after release, so yeah, it'll be available then.