Wenn du wirklich ernsthaft Spiele programmieren willst: C++ und DirectX (oder OpenGL).
Aber DirectX Programmierung ist nichts für Anfänger.
Kann dir folgende Bücher empfehlen:
http://www.amazon.de/3D-Spieleprogrammierung-mit-DirectX-9-C/dp/3446405968/ref=sr_1_1?ie=UTF8&qid=1249721810&sr=8-1 http://www.amazon.de/Spieleprogrammierung-mit-DirectX-m-CD-ROM/dp/3898428273/ref=sr_1_7?ie=UTF8&qid=1249721810&sr=8-7
Da hast du Lesestoff für die nächsten paar Monate. Vorrausgesetzt sind natürlich fundierte C++ Kenntnisse.
Falls du noch die Grundlagen lernen musst:
http://www.amazon.de/von-bis-CD-ROM-umfassende-Handbuch/dp/3898428168/ref=sr_1_15?ie=UTF8&qid=1249721971&sr=8-15
Wobei ich würde dir Raten, falls du es wirklich ernst meinst, zur VHS zu gehen oder so und dort einen Kurs mitzumachen. (Falls du keine Grundlagen in C++ besitzt) Du wirst es in so einem Kurs viel schneller lernen als alleine. Wenn du es alleine machst, wirst du bestimmt schnell die Lust verlieren weil die Grundlagen halt recht weit von 3D Spielen entfernt ist.
Natürlich gibt es auch noch irgendwelche Spiele Generatoren usw. davon würde ich dir aber abraten. Weil es immer buggy 0815 **** ist.
Aber da ich weiß, wie dempremierend es sein kann an Anfang kann ich dir noch einen kleinen Tipp bzw Zwischenlösung geben. Natürlich musst du erstmal vernünftig C++ können. Aber da der Sprung in DirectX recht schwierig ist und du am Anfang bestimmt kein Spiel hinbekommst gibts noch so einen 0815 ****

Heißt

. Damit kannst du doch sehr sehr einfach deine ersten Spiele programmieren. Kann auch Maps von anderen Spielen importieren etc.
Aber wie erwähnt, würde ich das nur als Zwischenlösung nehmen. Bis ihr in DirectX durchschaut.
Ansonsten: Viel Glück & Spaß.