If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

And the advice given so far is pretty good really. Now to answer the other questions so you will know a bit more and can be thinking about things:

OpenGL is an industry standardized API for doing 3D graphics with/without acceleration (though you will WANT to have it...). Games like DooM 3, Quake 4, World of Padman, Caster, etc. use either the 1.3, 1.5, or 2.X versions of this API depending on what they're doing graphics effects-wise. There's quite a bit more than that to it, but this should give you a starting point there. It should be noted that the mobile device space is largely using one of two select subsets of this API, called OpenGL ES 1.1 or 2.0, which respectively covers a portion of the 1.3 and 2.X workstation API versions- and as a result, it's a somewhat easy move to the handheld space (or the other way...) if you've written your code with some care and it's not overly graphics intensive.

SDL is the Simple Directmedia Layer. It's an abstraction API that handles things like basic 2D, a somewhat easier initialization of OpenGL, basic sound, and input from keyboard, mouse, and joystics. It offers these abstractions for MANY differing OSes and it's part of what allows things like Caster to sit on as many platforms as it does. It is somewhat limited in what it can/can't offer to you in the sound and graphics departments, but it's a pretty important framework to learn how to use.

OGRE is a 3D game engine framework. It allows easier 3D development and is one of the more popular ones out there. In fact, it's very capable and is the heart of numerous commercial games. Once you step up to the bigger picture, you may want to look at this more closely depending on the game you want to work with. You'll also want to check into the other game engine frameworks out there in the FOSS space (and there are quite a few good ones there or about to be delivered...)

PyGame's a nice framework for producing Python 2D games. The book covers development with it in fairly good detail- and you're probably going to want to start with the only copy and PyGame to build up with.