When comparing Gosu vs UDK, the Slant community recommends Gosu for most people. In the question“What are the best 2D game engines?” Gosu is ranked 50th while UDK is ranked 73rd. The most important reason people chose Gosu is:
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.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
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
Pro Large toolset
UDK has an extremely large toolset that allows creating almost anything without having to use a 3rd party tool or plugin.
Pro Triple A track record
UDK is an engine used by many big name companies for popular games such as the Gears of War series.
Cons
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.)
Con Superseded by Unreal Engine 4
Con DevKit only runs on Windows
Even though UDK can deploy games to run on multiple platforms, including Mac, it does not feature support for development on Mac.
Con Limits games to FPS
UDK was originally developed for the FPS, "Unreal Tournament", and it certainly shows. While UDK is a very powerful engine, it takes quite a bit of work to make it do something other than an FPS.