Ash is a high-performance entity system framework for game development with Adobe Flash and Adobe Air.

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.

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 on the Ash website.


 packageDescription
 ash.coreThe core classes of Ash for the core Engine, Systems and Entities. 
 ash.fsmClasses for creating and managing finite state machines in a game. 
 ash.integration.robotlegsIntegration with the Robotlegs MVC framework. 
 ash.integration.starlingIntegration with the Starling 2d rendering library. 
 ash.integration.swiftsuspendersIntegration with the Swift Suspenders dependency injection library. 
 ash.io.enginecodecsClasses for serialization/deserialization of a game. 
 ash.io.objectcodecsClasses used by engine codecs for serialization/deserialization of properties of a game. 
 ash.signalsA simpler and more performant version of AS3-signals. Used internally in Ash and available for use in your game too. 
 ash.tickVarious different methods for providing a tick for the game loop. 
 ash.toolsMiscellaneous other useful bits and pieces.