It's true that a simple project or proof-of-concept is a good way to start. Your mario game might be a good start, but don't think too big at first, just move a block around, make it 'jump' and do some hit detection, which is fairly simple in 2d. You'll also need to consider how much of the game engine you're going to write from scratch. There are advantages and disadvantages to 'rolling your own', but I find that there are a lot of GPL libraries out there that can really help you out and they're made by people who have conquered hurdles that may well drive the sanest man to drink. Look at http://www.libsdl.org and be sure to examine the contributed libraries as well as SDL itself. I'm personally a big advocate of cross-platform development, so I'm going to advise that you carefully choose what libraries you use. Most of my learning has come from proofs of concept which I later expand into functional additions of a larger program. Most recently I've been playing with a client/server roguelike which has been an excuse to play with networking, XML config files, and some pretty serious memory management. I guess the most important thing that you should know at this point is that making a complete and polished game can be difficult and often tedious, so don't get discouraged. It sounds like you have already been playing with c++ and thus have a compiler, but I'll go ahead and list a few freebies here. http://www.bloodshed.net/devcpp.html http://www.codeblocks.org/ Both of those do, or can use http://www.mingw.org/ as the actual compiler. I'm pretty fond of the devpacks system, but not all of them work. I've never had a problem getting libraries to work with it, you just have to fix some directories in most cases. I hope that helps. Vince~ __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com --------------------- To unsubscribe go to http://gameprogrammer.com/mailinglist.html