A modular game engine and ECS for Haskell. An ECS is a modern approach to organizing your application state as a database, providing patterns for data-oriented design and parallel processing.
Aztecs provides side-effect free components and systems, as well as backends for rendering and input (such as aztecs-sdl
), allowing you to structure your game as simple function of Input -> World -> World
.
For more information, please see the documentation on Hackage.
Aztecs: An Empirical Entity Component System (ECS) for Haskell [Draft]
- High-performance: Components are stored by their unique sets in archetypes
- Dynamic components: Scripts and remote interfaces can create runtime-specified components
- Type-safe DSL: Queries and systems use
Arrow
syntax for compile-time gurantees - Modular design: Aztecs can be extended for a variety of use cases
-
SDL window management and rendering support.
-
SDL image and spritesheet rendering support.
-
SDL text rendering support.
Aztecs' approach to type-safety is inspired by Bevy, but with direct archetype-based storage similar to Flecs.