Hi Darki
Ich nehm mal an, das du noch keine Sprache kennst und jetzt wissen willst welche du lernen sollst.
Das große Problem was du bei solchen Spielen hast ist eine Schnittstelle zwischen Grafikkarte und Programiersprache, allgemein Engine genannt.
Das noch größere Problem, sowas alleine zu schreiben ohne Programmiererfahrung ist schier unmöglich. Das heißt du wirst auf eine vorhandene Engine zurückgreifen müssen. Aber woher nehmen wenn nicht stehlen?
Es gibt z.B. open source Engines oder ich hab auch schonmal im Mediamarkt (*schleichwerbung mach*

Gibt es aber sicher auch bei amazon) ein Programmierhandbuch gesehen wo die komplette Quake 2 Engine dabei war, und die in dem Buch erklärt wurde. Wenn du dann ne Engine hast mit Hilfe dazu, die unbedingt nötig ist, kannst du ja mal gucken welcher Programmiersprache sich diese Engine bedient und damit fällt die Wahl dieser auch nicht mehr schwer

.
Weiterhin wenn du wirklich noch nie programmiert haben solltest und die Engine ist z.B. in C++ ,J++,Java oder so.
Die sind im allgemeinen alle objektorientiert und deswegen mußt du unbedingt bevor du überhaupt was mit Spielen machen willst, dir die Grundlagen der Objektorientierung beibringen.
Zudem kannst du dann mit der Engine aber dann z.B. auch nur fertige Modelle und Karten einbinden die die Engine unterstützt, das heißt du brauchst zudem die passende 3D-Studio Version oder ähnliches um dort die Modelle zu erstellen und dann mit der Engine einzubinden. Grafische Effekte wir z.B. Einschußlöscher werden dann direkt programmiert.
Ich glaub das ist ne grobe Zusammenfassung, aber du merkst sicher auch das komplexe 3D-Spiele schon einiges benötigen. Deswegen ist modden auch so beliebt weil einem da Engine und Programme zur Verfügung gestellt werden.
