Flecs is a lightweight entity-component system for C and C++ that helps in building simulations such as games.
Flecs were designed from the ground up with portability in mind. Not only does it run on all major platforms, projects can also use it with different programming languages.
Entity Component System (ECS) is a way of organizing code and data to build larger, more complex and more easily scalable games. In general, the following are referred to as ECS:
- An entity with a uniquely identifiable game object
- Components with data types that can be added to entities
- A system with functions that run for all entities that match a component query
- Fast and portable C99 API with zero dependencies
- A modern type-safe C++11 API that doesn’t use STL containers
- The first open source ECS that fully supports entity relationships!
- Fast native support for hierarchies and prefabs
- Code base built in less than 5 seconds
- Works in the browser without modification with emscripten
- Cache-friendly prototype/SoA storage that can handle millions of entities per frame
- Supports entities with hundreds of components and applications with tens of thousands of prototypes
- Out-of-the-box automatic component registration across shared libraries/DLLs
- Use queries to write free functions or run code automatically in the system
- Run games on multiple CPU cores using a fast lock-free scheduler
- Compiles without warnings on 8 compilers on all major platforms, CI runs over 5000 tests
- Integrated reflection framework with JSON serializer and support for runtime components
- unit annotations for components
- Powerful query language with support for joins and inheritance
- Statistics plugin for analyzing ECS performance
- Web-based UI for monitoring and controlling applications
#Flecs #Homepage #Documentation #Downloads #Lightweight #Entity #Component #System #News Fast Delivery