Hi Guys,
I'm probably a few steps ahead of where you are now. If you have some basic programming knowledge, then grab yourself a linux machines (or Virtual Machine)... or even Windows with Bloodshed DevC++ and SDL Packages and learn C++ and SDL programming:
www.libsdl.org
www.sdltutorials.com
The following really helped me a lot:
http://sol.gfxile.net/gp/
http://lazyfoo.net/SDL_tutorials/index.php
http://jnrdev.72dpiarmy.com/
SDL is NOT a game engine, but it will provide you with the foundations for putting stuff on the screen, getting keyboard and controller input and making sounds. All of these are basics in programming games.
I think I've got the basics down now and I'm moving on to getting a basic 2D sprite-based engine together. Once done, I can use it to make some simple games (beyond Tic-Tac-Toe and Tetris
). The main thing I am struggling with is The Object-Oriented stuff, whereby you separate out the graphics/rendering, system functions, game functions, sounds, players and objects all into separate classes and handle them all through a central "Engine". It's a struggle to wrap my head around, but I'm making some progress.
Just start basic. Follow the Jump'n'Run tutorial (http://jnrdev.72piarmy.com/). Copy their code. Change bits. Break it.. fix it. Write it over and over until you know what is happening where and why. Get a pandora or GP2X and cross-compile it for those platforms. Run your little creations on other devices (Android phones and iPhones are great). Little milestones like this will keep you motivated to continue learning.
Making a game, or programming a whole project is a massive undertaking. Be prepared to fail the first few attempts... quit at least 5 times only to come back and give it another go... and even then you might have only programmed Mahjong. If, at the end of all this, you are still keen, you can step it up to 3D graphics and start working on "bigger projects".
Remember.. no one can learn to program in a day... and I wouldn't expect anyone who started programming tomorrow to be able to produce a Mario clone, let alone quake 4 in a month (or 6, in my case
).
Hope this helps someone start off.
Timbobsteve.