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.
|ash.core||The core classes of Ash for the core Engine, Systems and Entities.|
|ash.fsm||Classes for creating and managing finite state machines in a game.|
|ash.integration.robotlegs||Integration with the Robotlegs MVC framework.|
|ash.integration.starling||Integration with the Starling 2d rendering library.|
|ash.integration.swiftsuspenders||Integration with the Swift Suspenders dependency injection library.|
|ash.io.enginecodecs||Classes for serialization/deserialization of a game.|
|ash.io.objectcodecs||Classes used by engine codecs for serialization/deserialization of properties of a game.|
|ash.signals||A simpler and more performant version of AS3-signals. Used internally in Ash and available for use in your game too.|
|ash.tick||Various different methods for providing a tick for the game loop.|
|ash.tools||Miscellaneous other useful bits and pieces.|