Skip to content

Releases: ABC-Engine/ABC-ECS

v0.2.0 Release

Choose a tag to compare

@EthanAlmloff EthanAlmloff released this 16 Apr 18:36

Easier Multithreading

v0.1.5 had unintended consequences on non-multithreaded systems. In this release, we fix that! Instead of requiring send sync for absolutely everything, now send + sync is only required for components being accessed or added in multithreaded functionality.

Renaming

We made a slight adjustment to the name of the "GameEngine" struct. That name doesn't accurately represent what it is, it is a ecs not a game engine. So "GameEngine" has been changed to "World" to better reflect functionality and purpose.

v0.1.5

Choose a tag to compare

@EthanAlmloff EthanAlmloff released this 07 Apr 20:52

In this release, we added multithreading capability.

What's New?

There are two new functions implemented by the system trait. These are meant to allow for easier parallelism leading to higher performance! 🚀

Prestep Function

Every prestep function will be run in parallel. This step is meant to gather information about what to change in the single_entity_step.

Single Entity Step Function

This is run once per entity. You can only mutate and access one entity at a time, this allows the entities to be sent to different threads. The advantage of this is that even if you only have a few key systems you can still access the benefits of multithreading.