Det beror som sagt var väldigt mycket på vad du vill göra. Du nämner C++ så jag antar det är det du kan, och du vill göra ett spel. Då finns det flera olika nivåer du kan lägga dig på:
* Använd en färdig 3D-motor (irrlicht, ogre3d) eller en spelmotor. Anväder du UDK blir det kodande i UnrealScript som gäller, Unity så blir det C# eller Javascript eller mer som de supportar.
* Använd färdiga bibliotek för att göra något enkelt i 2D/3D. Jag använder SDL och OpenGL för det mesta, men SFML verkar populärt och betydligt mer C++:igt (något som inte behöver vara en bra sak ). Vill ni bara köra på windows finns ju DirectX
* Skriv från grunden. WIN32-API och motsvarande, egentligen abra nödvändigt om man vill ha full lågnivåkontroll.
Är ni helt gröna på spelprogrammering skulle jag nog rekommendera att ni gör 2D-spel. SFML verkar kunna klara det väldigt bra, och har en 3D-accelererad renderare så ni kan ösa på saker rätt bra.
Lycka till, jag kan svara på mer specifika saker om ni undrar över något. Och kom ihåg: överkomplicera och generalisera inte, skriv bara precis det ni behöver just då.
EDIT: Om du enbart är ute efter att modda ett spel så behöver du ett spel med support för det, ja. ID, Valve och Epic är de som har varit öppnast med det och släppt modtools och ibland även källkod till sina spel.