When comparing HaxePunk vs Gosu, the Slant community recommends HaxePunk for most people. In the question“What are the best 2D game engines?” HaxePunk is ranked 22nd while Gosu is ranked 50th. The most important reason people chose HaxePunk is:
Useful for mobile games and soon consoles (OpenFL has a console port in the works).
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Joystick and multi-touch support
Useful for mobile games and soon consoles (OpenFL has a console port in the works).
Pro Crossplatform testing/releasing
HaxePunk uses OpenFL which means you can compile to just about every device. A lot of the rendering code has been optimized so if you use HaxePunk’s graphic classes you are pretty much ready to deploy on any target.
Pro Generic entity system
A generic Entity system that only uses what you “attach” to it. If you need collision masks they are available but if an entity doesn’t need to collide with anything then simply don’t add a mask. Same goes for graphics.
Pro Written in Haxe instead of AS3
This comes with blazing fast compile times, proper static typing, multiple output targets, and a powerful macro system.
Pro Multiple collision masks
HaxePunk has added several collision masks beyond what FlashPunk had including a grid with slope values, circles, and polygons. This is in addition to FlashPunk’s tile grid and hitbox.
Pro Tweens
Tweens are available just like they are in FlashPunk. If you need to interpolate values for sounds, movement, etc… it’s probably already available as a tween. There is also a VarTween that lets you interpolate any value you want.
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 Messy / fragmented documentation
Not a lot of documentation is available.
Con Small comunity
It’s a small but growing community.
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.)