Ash is a high-performance entity-component-system framework for game development.

An entity system is a way to organise the code for a game that is efficient for both code execution and code management. It uses composition rather than inheritance for sharing features between game objects and uses a data-oriented approach to separate the game state from the game logic. This makes it much easier to manage the code and to manage the game state.

Ash is a small library that provides the core classes that you need to create your game with this more productive and performant architecture. Ash is designed specifically for games, focusing on the features of games that make them hard to manage and simplifying them. The entity system architecture used in Ash is explained in these articles.

Ash is prescriptive of the architecture for your code, but of nothing else. Your game may be 2d or 3d, using any render pipeline, physics engine etc. and compiled for any platform.

Ash is built by Richard Lord