What's Haxe?
Haxe is an open source programming toolkit that is composed of a language, compiler, and command-line interface. It is heavily inspired by ActionScript 3, with some tweaks here and there to add functionality. It also draws some inspiration from C#. It's so similar that at a glance, Haxe code could easily be confused for ActionScript. This doesn't mean that you have to know ActionScript to learn Haxe, but it does help. Knowing an object-oriented language, such as C# or Java, will also give you a leg up.
Haxe compiles to several different platforms, allowing you to have one codebase that will work in browsers, desktop operating systems, and on mobile devices.
In case you were wondering about the pronunciation, Haxe is pronounced Hex, though many people pronounce it Hacks.
OpenFL
OpenFL is a framework built on top of Haxe; it adds additional API functionality and provides build tools to streamline your workflow. Most of the API changes it introduces are meant to help mimic the ActionScript 3 API. For example, it adds support for Flash's Stage 3D mode, text formatting, and bitmap data.
OpenFL also uses the Lime library, which is a library that helps to ensure consistent cross-platform support so that builds for different platforms don't behave radically differently. It covers things such as cross-platform audio, rendering, and asset management.
Some of our build commands will be executed using Lime, and that's pretty much all we'll be directly using it for.
HaxeFlixel
HaxeFlixel is a game engine that's built on top of OpenFL. It was originally based on the ActionScript 3 game engine named Flixel, and has since branched off on its own. It's well documented and has a solid community, making it an ideal engine for people who want to learn how to make games with Haxe.
HaxeFlixel supports the following features:
- Efficient and high-performance rendering
- Collision detection
- Particles
- Tilemaps
- Bitmap fonts
- Pathfinding
- Object pooling
- Tweening
- GPU acceleration
That's just a handful of the features of the engine; it's very robust. HaxeFlixel will help us start building high-quality games much faster than doing everything from scratch.