En mensajes anteriores di gran énfasis al uso de OpenGL para programación gráfica, asi mismo existe el grande competidor DirectX/3D de Microsoft (no recomendado).
Para desarrollar juegos existen librerias (bibliotecas o como se llamen) especificas por ejemplo
http://www.libsdl.org/index.php
aunque SDL está basado en OpenGL, este esta orientado especificamente para Juegos 2D/3D, control de teclado eficiente, mouse, joystick, sonido (SDLMixer), imagenes/sprites/texturas(SDLImage), etc...
Naturalmente para hacer un juego interesante que este a la altura de los millones que existen, será necesario usar un motor de animación física, y como es de esperar existen muchisimos
http://www.tokamakphysics.com/
http://www.ageia.com/novodex.html
http://ode.org/
http://orion3d.alrj.org/doc/html/main.html
.
.
.
La mayoria de estos esta basado en OpenGL, por lo que antes de comenzar se necesita de conocimientos minimos de esta librearia (OpenGL), hay millares de tutoriales y textos. Uno de los sitios mas importantes que reune gran cantidad de informacion sobre OpenGL es
http://nehe.gamedev.net/
y en español un tutorial para comenzar
http://pgrafica.webideas4all.com/Contenido.html
Buena suerte.