Port of Ash entity framework to Haxe
Latest commit c529904 Aug 22, 2016 @nadako committed on GitHub Merge pull request #33 from gogoprog/fix-hamcrest
Test can be built with hamcrest 2.0.1
Failed to load latest commit information.
examples/asteroids/net/richardlord Updated KeyPoll.hx and added getKeysDown() method Feb 9, 2015
src/ash Faster ClassMap.keys on Flash target, replacing custom iterator with … Sep 1, 2015
.munit Start porting tests using MUnit test framework: SignalTest is the first. Oct 20, 2012
README.md Update README.md Aug 23, 2015
test.hxml No need for NME for tests, because we don't use anything from flash a… Apr 27, 2013


This is a Haxe port of the awesome Ash entity component framework by Richard Lord. It leverages Haxe's great cross-platform portability and runs on Flash, JavaScript, C++, Android, iOS and so on. Also it uses much static typing features of Haxe, allowing more mistakes to be detected at compile time instead of runtime than in original ActionScript 3 version.

Check out original Ash website for great articles on entity frameworks and game development.


  • Port serialization stuff. This is kind of tricky because original Ash uses reflection and we are trying to avoid it, so we gotta be smart about macros.
  • Refine access control for private classes and fields. Original Ash used internal class/field feature of AS3, in Haxe we need to use ACL metadata.
  • Review generacted code on performance, add inlines (especially important to inline iterators)

Author: Dan Korostelev nadako@gmail.com