Recs.
Updated
Godot is free(libre), open source, MIT license, no royalties, 2D, 3D game engine full-featured. You can make any kind of complex games.
SpecsUpdate
Pros
Pro Fully dedicated 2D engine, no hacks
Godot 2.1 has a improved 2d engine with many features used by modern 2D games.
Pro Under constant development
This engine barely released one year ago has more than 1000 forks on github and about 100 developers. Not only that just a bit of browsing trough issues you will quickly find out the dev community loves new esp free technology and does not shy away from completely rewriting parts of the engine. The audio engine is being completely rewritten to use threads and so forth.
Pro Friendly towards Version Control Systems
The engine is build not only to support version control but to really use it. Scene files for example which usually get compiled into some sort of unreadable data stay in a text format - that way you can actually see your changes in a version control system like Git.
Pro Internationalization of the editor
You can change the language shown in menus. Godot translations.
Pro Easily expanded scripting system
With 3.0's addition of NativeScript and PluginScript via GDNative, developers can easily define bindings for new scripting languages. In addition to the primarily supported C++, GDScript, VisualScript, and C# languages, the community has contributed D, Nim, and Python as well with more on the way.
Pro Easy to learn scripting language
Godot has their own scripting language called GDscript. The scripting language is easy to learn with python-like format, but it is not python. More like a mix of Javascript, PHP, C++. It's very powerful, easy to learn, and it's free of unnecessary things because it's designed for this purpose.
It can be used to add custom behaviors to any object by extending it with scripting, using the built-in editor with syntax highlighting and code completion.
A built-in debugger with breakpoints and stepping can be used and graphs for possible bottlenecks can be checked.
Pro Simple and readable codebase
The engine's source code is easy to read and understand with a self-documenting approach to code design. You don't have to wait months or years for other people to fix an engine bug that is important to your game. Often times, you can spend an hour or two of your own time to fix whatever problems you encounter yourself.
Pro Built-in documentation linked to the internal ScriptEditor
The editor has a fully searchable index of class API documentation for everything the engine offers (NOT just a web interface). You can easily open the documentation for any class by Ctrl-clicking the class's name in the in-engine text editor for scripts.
Cons
Con Multiplayer support is very limited
Godot networking has its roots in peer-to-peer multiplayer-coming-from-last-century, and peer-to-peer-based networking is inherently limited to very small communities of people-who-trust-each-other. While it is technically possible to write an authoritative-server-based game (which is a prerequisite for serious games) with Godot, it is going to be quite challenging. Also, lots of very important concepts (such as Interest Management and Low-Latency Compression) don't seem to exist in Godot universe.
Con Own scripting language
Uses it own scripting language (GDScript) instead of one of the thousands languages available.
However, for those of you that have their own ways to code and things like that, Godot also came with C# support and bindings to a lot of languages like C, C++, Python, Rust, etc.
Recommendations
Comments
Out of Date Pros + Cons
Con Incomplete documentation
As it is a new game engine, its documentation is incomplete.