The state of gamedev in Haxe

Preamble: I posted this on reddit half a year ago, so it's slightly outdated, but I want to keep a copy of it in case my server outlives reddit (a man can always dream).

Hey fellow devs, I've been making games non-stop for like four years now. I tried PyGame, ActionScript 3 (rip), raw JS, Unity, Unreal, Godot, and generally try out new tech (Superpowers is really cool). At the end of the day I always go back to Haxe because I think it rocks. What saddens me though is that it remains sort of underground, so I decided to write an overview of Haxe gamedev in hopes of giving it some exposure.

I wrote this for gamedevs who aren't familiar with Haxe, but who would like to know how it can be relevant to them, and where to start. Consider this a brief tour of the world of Haxe gamedev (last updated 28/02/2016).

What is Haxe?

Haxe is an open source toolkit based on a modern, high level, strictly typed programming language, a cross-compiler, a complete cross-platform standard library and ways to access each platform's native capabilities. -Haxe website

This means I can deploy a game on mobile, desktop, and web, sharing 99% of my code across targets. The other 1% consists of target-specific things like touch input handling, AdMob/Steam integration, HTML5 fullscreen API, you get the idea.

This is made possible through cross-compilation. When I compile for Windows, for example, my Haxe code is translated into C++ and compiled using MSVC. When I compile for HTML5 my source code is translated to JS. So on and so forth. This allows my code to run natively on its targets.

Note about open-source: Haxe is open-source, and so are all the engines, frameworks, and libraries mentioned here.

Note about cross-platform support: all the engines and frameworks below compile to Windows, Linux, Mac, Flash, HTML5, iOS, and Android, specifics are notes in {} brackets.



What about 3D?

But sir, I wanna use raw OpenGL!

Physics engines