I used cocos2d-x, an open source framework. It's quite cool and you can program your game in different languages (C++, Lua and Javascript). Also, I used Tiled for level design, Gimp for graphics, Audacity for audio editing, and this amazing website for particle generation:
Particle2dx
All open...