When comparing Flixel vs Gosu, the Slant community recommends Flixel for most people. In the question“What are the best 2D game engines?” Flixel is ranked 19th while Gosu is ranked 42nd. The most important reason people chose Flixel is:
Ports are available for Objective C, C# (XNA), HaXe and [Monkey X](https://github.com/devolonter/flixel-monkey).
Ranked in these QuestionsQuestion Ranking
Pro Many ports available
Ports are available for Objective C, C# (XNA), HaXe and Monkey X.
Pro Built-in pathfinding and following
Pathfinding just means figuring out how to (or if you can) get from A to B. FlxTilemap has a function FlxTilemap.findPath() which returns a FlxPath object, which is just a collection of "nodes", or FlxPoint objects.
Pro Camera system for split screen
Create effects like "split screen" views, or "picture in picture" style displays, or even mini-maps with FlxCamera. Each camera is an independent display object, with its own zoom, color tint, rotation, and scaling values.
Pro Record and play back replays
Replays are essentially a list of what keyboard keys were pressed, and what mouse inputs were given, during a specific time frame. Because Flixel is largely deterministic, you can use that information to recreate a gameplay session that someone else recorded, as long as you have the same SWF.
Pro Basic features provide a solid foundation
- Display thousands of moving objects
- Basic collisions between objects
- Group objects together for simplicity
- Easily generate and emit particles
- Create game levels using tilemaps
- Text display, save games, scrolling
- Mouse & keyboard input
- Math & color utilities
Pro Flixel Power Tools extend the functionality
Flixel Power Tools provide a set of classes and APIs that provide more functionality.
Pro Used to create Canabalt, game that started endless runner genre
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
Con Development has stopped
Seems like development for Flixel has stopped. The last commit on all of the branches of it's Github repository are from 2011.
Con Poor performance on mobile
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.)