Last time I just kicked in the doors of a thread, so let me start with the introduction. I'm 19 years old, last year high school student, a gamer since a young age (can't say, was I like 5 years old?) and a programmer since a year ago, mostly learnt and worked with C# and Windows Phone 7, though I've already learn some C++. I've already worked on a few mobile applications and also a game before for a customer (ThinkInvisible for Windows Phone), however I want to design and create my own game - I guess you have to start somewhere.

I want to create a simple, yet entertaining and interactive game that may be even a bit unique - well I know, this is a kinda hard task. I can also create simple graphics myself, both 2D and 3D, as long as it doesn't need a graphics tablet. I feel that I'm already over the level of a simple pong, but not where I can make cost-effective pathfinding, or a good AI. Physics seem not to be much of a problem as long as I don't have to rely on a 3D engine for collision detection. I've already done some experimenting with LAN and UDP as well successfully, and apart from taking a tad lot of time to create the system that synchronizes the devices, it seems easy to use.

From trials and my own works I already know how serious a problem it is to create a game - many times even some ideas that sound simple can become extremely annoying and demanding in a short timeframe. So I'm here to ask you: how should I start designing a game (for now for mobile phones, since I don't thing simple games are fit for PCs) without going overboard with resources or advanced, high-demanding algorithms, like pathfinding, which appearently eats away a mobile phone easily, and such?

I'd start with getting yourself set up with the necessary kit and just working out some trivial projects to try and make yourself a code library to draw from. It should help you to get a feel for the device and its capabilities while you learn the API and generate code that you can draw on for progressively more advanced programs. I'm not saying go back to square one or anything, but whipping up some demos and getting a feel for everything should give you a pretty good idea of what you can get away with.

void hurrrrrrrr() {__asm sub [ebp+4],5;}

There are ten kinds of people in this world: those who understand binary and those who don't.

Sit down in a really comfy chair, in your favourite sweater, and try to write down every idea for a game that comes to your head. This shouldn't be limited to video games, think of board games, card games, sports, anything...because these can all lead to great video games. Try to pick out the ones that seem the most fun, and think about how you can go about them so that they remain interesting but still fit your criteria of complexity and resourceful. Don't get stuck on one favourite idea right away, because that can lead to frustration if you can't seem to adapt it. Any idea, no matter how crazy it may seem, can be used.

Also I'd even suggest once you get the basics of your game idea out to first use something like GameMaker to test out of it the idea is even fun.

Even though it would still be a good learning expierence you don't want to program something completely from scratch and then see it is not fun. It'd ruin your motivation. Instead prototype the idea in game maker or something. You'd be surprised how many even people prototype their idea in game maker first.

The problem though still remains: how do you think up an idea that is neither too complex and resource intense but at the same time useable?

Start with things that are not useful and work upwards. Coding begets coding. Analysis begets paralysis. That's not to say you shouldn't plan, but where you're at right now you don't have the tools with which to plan correctly.

Just start coding.

void hurrrrrrrr() {__asm sub [ebp+4],5;}

There are ten kinds of people in this world: those who understand binary and those who don't.