There are really two separate questions (or skills) needed here. 1) programming technique. Have you been a programmer; have you developed software before? That’s a skill unto itself Programming for a small device is different than programming a website or a mainframe. So the first thing you need to address is your skill in programming – what development platform, what language, and so on. 2) The second thing is: What sort of game? SIngle thread? Multithread? Network based? What’s the object? Will there be graphics? Will there be sound? Touch input or voice input? In other words, what is th game all about and how will it be different from any other game? Will you do your own graphics or will you have a graphics person do that part of it? Then you need to think about debugging and QA, copyright, distribution, etc. Concentrate on your programming skills first. I can’t give you a better answer, because there are so many options to choose from.