Closed mreinstein closed 3 years ago
thanks for the shoutout and reaching out!
I don't know if there's significant ways that we can help each other out, but maybe there are resources/ideas we could share to make both of these ECS projects better
there's a pretty active discord community for several web-based ECS libs where we do a lot of sharing of the sort if you're interested, stop in and say hi!
bitECS
was originally created to build web-based multiplayer game engine that a friend and i have been working on since its inception, so it is a bit biased towards that use-case. was also recently adopted by a few larger FOSS projects like Phaser 4 and soon XREngine.
I'd love to see how mine performs on the bitECS benchmarks. I haven't done any formalized benchmark testing, but when running it in my game prototypes the time spent is way under 1% of total CPU time.
if i were to guess i'd say its performance will be similar to uecs or javelin-ecs at best, due to the component stores being object-based. if you do SoA and have entity IDs as pointers into TypedArrays like bitECS
and wolf-ecs do, you can see up to an entire order of magnitude boost in iteration performance.
I have a functional (but crappy looking) chrome extension that is able to read ECS world data from the page and display it in a devtools panel. Maybe this is something we could make common, or you could copy/paste into bitECS
we built a very similar chrome extension to ESCY's devtools, but currently fairly integrated and closed source along with the engine at the moment. however, i would love to see a generic version of this which could be adapted to different ECS libs somehow. one interface to the UI, used by adapters written for any ECS lib. perhaps we can work towards this?
Anyway just wanted to say great job
cheers, thank you and likewise! glad to see more data-oriented JS libs being spawned. those collision libs are really awesome.
Object Oriented Blech-gramming
preach🍻
Hey there, cool looking project! It's really great to see people promoting data-oriented game architecture, there aren't many of us.
I've got a very similar project over at https://github.com/mreinstein/ecs
I don't know if there's significant ways that we can help each other out, but maybe there are resources/ideas we could share to make both of these ECS projects better:
I also added a link to bitECS at the bottom of my README, in the interests of spreading interest in data-oriented tools. :)
Anyway just wanted to say great job, and good to see these implementations not based on Object Oriented Blech-gramming.