1)What should I do first when making a game? (models, code, compose music etc)
As stated plan. And stick to the plan. There's a demon that coders and game makers know of called the "Feature Creep." Once you sit down and decide on everything that you want in the game. Etch it almost in stone and then come up with a "to do" list and knock off each thing one by one. Half way in, don't say, "Oh, and we should add THIS too." While it may be a great idea, things like that can totally side-track a project.
I'm not saying that adding some thing is bad. You may find some things originally though up simply don't work in the game. So I'd approach it with this thought: "Is this really necessary for the game? Or is it just another whizz-bang feature."
2)How long would it take to make an ok game, one you could sell for $20?
Depends on the genre. I could write a text-based adventure in as little as 2 nights. If you want something you COULD sell for $20, you'll have to come up with all original art, models, textures, music. To do something on that scope, in my opinion, could take upwards of 8mo. to a year to be complete.
3)How long does it take to learn enough code to make a pretty good game?
Depends on your background and your willingness to fail. You can pick up enough in about a month or two of DBP to be pretty dangerous. But it's reading examples, looking at snippets, open source DB apps, and learning what others have done before you. You learn more than you can imagine by example.
Loki D'Cat - Modeller, Composer, Animator
Nerdsoft Creations
Machine Specs: Athlon XP1800+, ATi Radeon 8500 64mb, 1GB RAM, Windows 2000 AdvSvr