I almost want to scream duplicate of my question but that would be lame. :)
Anyway look through those answers. I think if you don't have much experience in game dev, jump into it. Don't think so much about the planning stage, just worry about getting something on the screen, get something working, then refactor and mess with your code (without changing your output) and you'll figure out what works and what looks best.
I am a big fan of writing something that works, then going back and refactoring. You can learn a lot that way, and you spend less time going in hypothetical circles trying to figure things out in your head and getting nothing done. (And not to say that that's what you'd end up doing, maybe you're an excellent planner, but I personally have done that plenty of times.)