Recs.
Updated
LÖVE is a 2D game framework that uses Lua for scripting. It's free, open-source, and works on Windows, Mac, Linux. and Mobile targets
SpecsUpdate
Pros
Pro Active and very friendly community
The LÖVE forums are extremely helpful. With people checking the forums every day, it won't take long to receive answer to your questions on the Support board, receive feedback on games you post in the Projects board, as well as have a chat about the LÖVE engine while learning tricks to use in the very active General board.
If you need an immediate answer though, or just want to chat, there is a very active and helpful IRC channel.
Pro Uses the fantastic Lua for scripting
Lua is an embeddable scripting language designed to be lightweight, fast yet powerful. It is used in major titles such as Civilization as well as a lot of indie games.
Lua is very popular because it provides "meta language" features. You can implement object-oriented structures, or pure procedural functions, etc. It has a very simple C interface, and gives the engine developer a lot of flexibility in the language itself.
Artists tend to love Lua too because it's very approachable, with plain and forgiving syntax.
Lua is free open-source software, distributed under a very liberal license (the well-known MIT license).
Pro Easy to understand and use
Lua2D handles loading the resources, reading input, playing sounds and displaying stuff on the screen. Only the logic is left for the developer to write. It also removes the overhead of having to use and learn a GUI game editor. All you need is a knowledge of Lua and your favourite text editor or IDE.
Pro Open source and free
The LÖVE engine is licensed under The zlib/libpng License (which is very short and human readable) which allows you to use the source code and even modify it as long as you do not claim that the original source code is yours.
You can obtain the code at this bitbucket repository and even help fix bugs and participate in the development of LÖVE.
Pro Very good documentation
The LÖVE wiki provides full documentation of its easy to use Modules, which are conveniently located on the side bar of the wiki. It only takes seconds to find the module for love.keyboard, which provided a list of all functions along with arguments and examples where the function could be used.
Pro Can develop within Android
It is possible to develop games directly on a tablet or cellphone with the Android system by using the experimental Android branch.
Pro C++ and Lua one of the best languages for gamedev
Because all professionals in gamedev use C++, and Lua the fastest scripting lang.
Cons
Con Game distribution is harder than it should
The process to create an executable could be streamlined: the dedicated wiki page is somewhat confusing, and the actual process either means relying on one of the various community-maintained tools or creating an executable manually for each platform.
Con Documentation is very dry and technical
The site has plenty of tutorials, true, but they all read very technical, and explain very little. This might be too much for beginners, even for coding purposes, because of the fact that the specifics aren't explained well enough to learn effectively. The docs can be found frustrating to understand even the basics, such as tables or the like, because of how poorly they are explained, and how few examples are given before expecting you to be able to use them.
Con Absolutely no GUI (no graphical interface)
This has no graphical interface at all, you have to know how to read script in order to know what you're looking at. After you've written the script for everything, you compile it to see the result. It's a very poor way to create a game, given how even most professional tools out there give you a GUI to work with and debug on the go. The lack of a GUI slows down the work by ten-fold, and it's just an inefficient use of your time.
Con The community seems juvenile
For example, some of the library include names such as HUMP, LUBE, AnAL.
Recommendations
Comments
Flagged Pros + Cons
Con Does not support Asian languages
Update: completely false, there are alot of games made in love supports multiple languages
Out of Date Pros + Cons
Con Uses hg to version-control, not git
If the source codes were controlled by git, it would be more convenient for more programmers to contribute to Love2d.
Using hg on bitbucket resulted in loss of tons of users.
Con No binary compilation
No way to compile into a binary under Linux. Source code has to be given away.