I understand that my success is another man's failure, and that's fine with me. The 'success' of Pumped 1 is funding the development of Pumped 2 - I actually have a budget this time! But it's definitely not a bootstrapped multi-million pound startup - just me making games about grown men on kids bikes! :)
I didn't go in to this to make money, so the financial benefit has been a hugely pleasant surprise!
He learned by following tutorials for Corona SDK[1] for a couple months, learning what he could of Lua[2] and making a very simple game.
Then, he switched to Cocos2D[3] and had to learn Objective-C and Xcode. He bought the books Programming in Objective-C[4] and Learning Cocos2D[5] and started reading and coding.
He also regularly visited the Cocos2D forums[6] and Ray Wenderlich's site[7] to solve problems as they came up.
[1]: http://www.coronalabs.com/
[2]: http://www.lua.org/
[3]: http://www.cocos2d-iphone.org/
[4]: http://www.amazon.com/dp/032188728X/
[5]: http://www.amazon.com/dp/0321735625/
For single platform 2D, research the platforms standard development kit. For cross-platform 2D, find a library exposing an API supporting all available platforms[1]. For cross platform 3D, create a list of hardware you wish to support and find the maximum common OpenGL\GLES version and GLSL shader version.
This should give you an idea of the graphics API you will be working with and need to learn.
[1] http://www.libsdl.org/ is one such library if you go this route, I believe it's used in Angry Birds and Valve's Linux port of Steam.