Bubel ECS - Entity-Component-System architecture implementation
Meta
jared771 at gmail.com
Tue Mar 9 14:29:37 UTC 2021
On Monday, 8 March 2021 at 19:45:58 UTC, Mergul wrote:
> Hello everyone, I'm glad to announce release of my Bubel ECS
> library.
>
> Bubel ECS is Entity-Component-System architectural pattern
> implementation in D language.
> Library aims to delivery fast and flexible architecture for
> developing games. It's @nogc and betterC compatible. WASM is
> supported through Emscripten. Library has no external
> dependencies and was tested on Linux, Windows, Android and WASM.
> Project was developed in data oriented designed fashion and
> supports multithreading with automatic job generation. For more
> information go to Gitlab repository page.
>
> Its beta version but core is fully functional and finished. I
> have planned some bigger features like Worlds support, better
> events handling or even C-API which can lead to some changes in
> API.
>
> If you want try Bubel ECS I prepared demo which works in
> browers through WASM (Emscripten) and even supports
> multithreading (on Chromium based browsers, Firefox had some
> performance issues even on single threaded version when last
> tested)
> Demo is still WIP and it can be hard to understad how it works
> (how to use its features). There is possibility to
> enable/disable almost all systems in runtime and changing
> components and data for all entities. All components and
> systems are exact representation of what they are in code.
>
> I'm using Gitlab CI for automated testing (betterC testing
> included)
>
> Note: Library support multithreading but has no code for actual
> parallel execution, it only generates jobs and dependencies. In
> demos I'm using mmutils.thread_pool (my brother's library) .I
> will add simple integration code for it in near future for
> people who wants multithreading working out-of-the-box.
>
> Dub: https://code.dlang.org/packages/bubel_ecs
> Gitlab: https://gitlab.com/Mergul/bubel-ecs
> Documentation: https://mergul.gitlab.io/bubel-ecs/ecs.html
> Wiki: https://gitlab.com/Mergul/bubel-ecs/-/wikis/home (WIP
> I've started making tutorial there)
> Online demo: https://mergul.gitlab.io/bubel-ecs/ecs_demo.html
Awesome! In the demo, I noticed that if there are >3000 entities
spawned, there will be periodic dips in the FPS. Could this be
Javascript's GC kicking in?
More information about the Digitalmars-d-announce
mailing list