Entity: - ID - Version - Creation - Deletion - Alive Components: - Creation - Deletion - Adding/removing from entity - Store them packed - UList Systems: - Iterate - Register - Automatically getting filled with component data Reviewed-on: #6
25 lines
No EOL
1.1 KiB
Markdown
25 lines
No EOL
1.1 KiB
Markdown
### **Theater-ECS**
|
|
|
|
is a library which implements the *entity, component, system* pattern.
|
|
It is intended to be used for game development in the "Theater Engine" ecosystem,
|
|
however it may also be used for other things.
|
|
|
|
### Design goals
|
|
- Dynamic
|
|
*Lots of ECS libraries use compile time code generation for performance benefits.
|
|
Theater-ECS is intended to be fully dynamic so that components and system could be created and registered at runtime*
|
|
- Fast
|
|
*Theater-ECS should be fast enough for most game projects, while handling a high amount of entities and components*
|
|
- Use what you need
|
|
*The amount of memory used by Theater-ECS is minimized so that it mostly only uses which memory you are actually using and doesnt
|
|
allocate any large unused buffers.*
|
|
|
|
### Installation
|
|
|
|
No dependencies are required, so you can simply clone this library and add it as a dependency to your
|
|
Beef project.
|
|
BeefProj.toml: `Dependencies = {Theater-ECS = "*"}`
|
|
|
|
### Further information
|
|
- [Wiki](https://code.booklordofthe.dev/Theater/Theater-ECS/wiki)
|
|
- [Example Project](https://code.booklordofthe.dev/Theater/Theater-ECS-Example) |