Muss mal kurz was ablassen
Man muss nicht C++ programmieren, um "ein Spiel von vorn neu aufzuziehen". C++ ist nur einfach noch eine Spur, naja ich nenne es mal technischer als andere Sprachen wie zB Java oder C#. Als Anfänger sollte man sich nicht zu viel vornehmen. Wenn du sagst, du hast mit der Konsole gespielt und willst jetzt mal was mit Grafik machen, dann wäre es vielleicht garnicht mal so schlecht, wenn du dir für den Anfang eine andere Sprache anguckst. Pygame wäre für dich recht einfach wenn du schon Scripterfahrung hast. Der Umstieg auf Python wird da nicht allzu groß sein. Zu Engines für Java kann ich nur wenig sagen. Habe wirklich Grafikengines nicht getestet. C# kann ich eigentlich jedem ans Herz legen. Bis auf einige Einschränkungen ist es super und schnell zu erlernen. Trotzdem kann man eine Menge damit anstellen. C# mit DirectX gibts dann ja auch noch. Habe ich selbst nie in der Kombination ohne Xna genutzt aber sicherlich auch nett. Und ja C++. C++ macht es natürlich irgendwo "professionell". Dabei sollte man aber auch überlegen welchen Vorteil C++ einem gibt bzw was es denn so professionell macht. Man kann da gern über Geschwindigkeit oder Speichereffizienz reden. Jedoch sollte man da überlegen, dass Anfänger erstmal völlig andere Probleme haben. Dort fehlt oft das Wissen und die Routine um wirklich effizient zu programmieren. Zusätzlich wird dem Anfänger eine große last durch die Sprache gegeben. Bei anderen Sprachen muss ich mich normal nicht um Header kümmern oder dass irgendwelche Sourcedateien anderen Code kennen. Ich muss mir im Normalfall keine Gedanken um Zeiger oder Referenzen machen. Alles funktioniert irgendwie intuitiv. Zusätzlich fällt einem meiner Meinung nach der Umstieg auf C++ nicht allzu schwer, wenn man vorher bereits in einer Sprache wie C# oder Java programmiert hat. Ich möchte C++ sicherlich nicht schlecht reden. Aber viele Anfänger gucken sich C++ an weil sie denken, nur so können sie gute, tolle oder schöne Spiele machen. Das sind einfach Vorurteile. Ein Bekannter von mir hat behauptet er erkennt bei Spielen mit welcher Engine sie gemacht sind. Und hat dann auch wild drauf los erzählt wenn irgendwo ein neues Spiel im Netz war. Meiner Meinung nach ist das das gleiche Problem. Ein Spiel sieht normal nicht aus wie eine Engine bzw wie die Sprache in der es geschrieben ist. Solche Aussagen sollte man erstmal komplett vergessen und sich lieber darum Gedanken machen was man wirklich will.
Wenn du sagst, du willst gerne programmieren und dabei würdest du gerne kleine eigene Spiele entwickeln, oder andere Spiele nachbasteln(a la Tetris etc), dann schlage ich dir C# und Xna vor. Dort lernst du schonmal vieles kennen und einiges wird dir abgenommen und so vereinfacht. Wenn du dann irgendwann mal soweit bist und merkst, dass dir das nicht reicht, wird der Umstieg zu C++ nicht allzu schwer werden.
Wenn du direkt sagst, du willst es technisch. Du willst die Abläufe genau verstehen und wissen was intern so passiert. Du willst dich mit dem programmieren auseinander setzen und das Ergebnis ist für dich erstmal nicht wichtig, dann greif zu C++. Es kann echt Spaß machen und man kann sich an vielen kleinen dingen (vorallem am Anfang) echt die Zähne ausbeißen. Ist halt nur nicht jedermanns Sache.
Wenn du sagst du willst erstmal mod's schreiben, dann solltest du doch mit Scriptsprachen gut dran sein
Da kennst du dich ja bereits aus und dort kannst du sicherlich auch einiges tun. Ansonsten gibts halt wie gesagt noch Pygame. Ist schnell zu lernen und wenn man scripten gewohnt ist(nicht wie ich
) dann kann man damit schnell einiges anstellen
Du musst dir einfach überlegen was sich für dich am besten anhört und einfach mal probieren
Viel erfolg beim basteln