Recently, Adobe made a couple of worrisome announcements like cancelling a VM overhaul and moving a crucial engineer to HTML5. Storyteller is being made in Actionscript targeted at AIR, struggling to get the most quality out of the runtime. I don't like the risk of Adobe slowing down on it, so I decided to try for an alternative: Haxe.
Haxe is a programming language that fixes some of the issues in Actionscript, has a better compiler and is multiplatform, allowing developers to target not just the flash VM, but also native Windows, Mac, Android, iOS and Linux.
So I decided to make the experiment of porting a subset of Storyteller to verify that it actually works. I certainly hope it does, since Storyteller would be benefited in several ways:
- Full Linux support - Adobe decided to stop supporting Linux several AIR versions ago.
- A slightly better platform - Haxe and Actionscript are very much like each other, but Haxe avoids local variable hoisting problems (with which I shot myself in the foot repeatedly), is more strongly typed and is generally more helpful when finding problems in the code. As a bonus, the speed of its compiler will drastically reduce my compile/run cycles.
- Language and libraries evolve fast and frequently. They are also Open Source.
- The rewrite of most the Storyteller code is already paying off as now I know how things should work. I expect massive positive side effects like a significant speedup of the story solving algorithm, which would feel great.
Soon: GDC postmortem and Haxe: Part 2!