HaxeFlixel vs Gosu
When comparing HaxeFlixel vs Gosu, the Slant community recommends HaxeFlixel for most people. In the question“What are the best 2D game engines?” HaxeFlixel is ranked 24th while Gosu is ranked 50th. The most important reason people chose HaxeFlixel is:
[Haxe](http://www.haxe.org) is a powerful, cross-platform and open source language.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Powerful language
Haxe is a powerful, cross-platform and open source language.
Pro 75+ demos
All demos have included GitHub link, so you can learn from the examples
Pro Getting started guide
Has a starting guide for people who are completely new to HaxeFlixel; from installing Haxe to a beginner-friendly HaxeFlixel tutorial.
Pro Uses Haxe
(excerpt from source): To help you do this, the (Haxe) toolkit contains three main components:
the Haxe Language - a modern high-level, strictly typed programming language
the Haxe Standard Library - a complete cross-platform standard library
the Haxe Compiler - an incredibly fast cross-compiler
Pro Fully free
HaxeFlixel is fully free and open source.
Pro Hardware accelerated rendering on native platforms
Pro Active development community
(excerpt from source):
There is a multitude of channels to interact with the community:
Our google groups forums
#haxeflixel on IRC (freenode.net)
@HaxeFlixel on Twitter
The HaxeFlixel organization on GitHub
The HaxeFlixel page on IndieDB
Join our development chat on Slack[1]
HaxeFlixel group on Steam
Pro Powerful debugger overlay
You can watch variables, log (trace) messages, and check for memory/frame rate performance.
Pro Modelled after Flixel
But with considerable improvements -- the HaxeFlixel team are constantly working improving and fixing the HaxeFlixel API, as compared to the original Flixel which is no longer updated.
Pro Easy 2D game development
(Haxe)Flixel does a lot of things for you like tilemaps and collision detection, which makes it super easy to create 2D games.
Pro Outstanding community
The HaxeFlixel team and contributors are very active on Github and other community places (like Slack), and are usually able to respond to your questions within a day or two.
Pro Similar syntax to Actionscript 3
Haxe's syntax is similar to AS3, so Flash developers can transition to HaxeFlixel if they are familiar with AS3/Flixel.
Pro Excellent, robust API
The API has all of the features that you'd expect from a powerful engine without sacrificing organization and flexibility
Pro Cross Platform
The open source Flash API is powered by OpenFL, which allows you to compile to Windows, Mac, Linux, iOS, Android, and even major consoles (coming soon).
Pro Cross-platform IDE environment
On Windows, the IDE of choice is FlashDevelop, but if you're looking for cross-platform IDE (Windows/Mac/Linux), there's Sublime Text which includes a package for Haxe syntax highlighting, as well as auto-completion.
Pro Lightweight
Gosu is not a game development framework, only a media library that happens to be suited to game development. (Kind of like SDL in the C world.) That means the interface is relatively small.
Pro Mature API, actively maintained and developed
Gosu has been under development since 2001. It is mature and has several toolkits built on top of it to provide additional functionality.
Pro Cross-platform, even mobile, using Ruby
Cons
Con Small community
HaxeFlixel devs are not as large as (example) Unity devs, so the amount of support and exposure is limited.
Con Deploying Ruby apps is a mess
Games built with the Ruby to .exe "compiler" do nothing more than extract your source code and Ruby.exe to %TEMP%, then run it. The code is not really compiled at all. The process for wrapping games as Mac apps is a bit nicer, but you'll need a paid Apple Developer subscription to code sign the app, or users will see a warning/error when running your game.
The only way to really compile Ruby is to use RubyMotion, which does not work on Windows and requires a paid subscription on top of the Apple Developer one.
(This Con is not specific to Gosu. Deploying Ruby code has never been fun.)