Malachite hat geschrieben:
Bedenke aber auch, dass Python eine Skriptsprache ist und Skript- oder Bytecodesprachen üblicherweise einen höheren Ressourcenverbrauch haben als Compilersprachen.
Definiere "Script"-Sprache!

Und was ist eine Bytecodesprache? Brainfuck?
Du meinst Sprachen, die üblicher Weise in einen Plattform unabhängigen Bytecode kompiliert werden. Dies ist aber nicht alleine an der Sprache fest zu machen - auch C++ kann und wird durchaus in Byte-Code kompiliert.
Zudem ist es doch gut, dass der OP eben nicht mit einem Molloch von Sprache anfängt, wie C++ einer ist!
Premature Optimization is the root of all evil heißt es so schön... und Performance-Probleme herbei zu reden, ohne dass der OP auch nur nahe an einem solchen Problem steht, ist wenig zielführend
Zudem sollte man eh auf eine fertige Engine zurückgreifen; und die kann ja in sonst was programmiert sein. Da muss man sich nicht selber um Performance kümmern, das tun schon die 3D-profis für einen.
Für einen Anfänger ist es sicherlich härter, einen effizienten Algorithmus bzw. eine optimale Datenstruktur für seine Probleme zu entwerfen. Und Zeitkomplexität ist da zu Beginn nun einmal das A und O - Optimierungen sollten immer erst danach folgen.
Malachite hat geschrieben:
Minecraft zum Beispiel ist in Java, einer Bytecodesprache, programmiert und von den Texturen und dem Shading nicht besonders anspruchsvoll, verbraucht aber trotzdem mehr Ressourcen als C++-Spiele wie Portal 2 oder TF2.
Java ist an sich - wie oben erwähnt - erst einmal eine Programmiersprache. Man kann Java sogar in nativen Code
kompilieren - auch wenn natürlich eine JVM das Standardziel sein dürfte.
Du vergleichst hier verschiedene Spielansätze; Minecraft *will* kein Grafikvorreiter sein. Natürlich hat es kaum Effekte - das ist durchaus Design-Absicht. Und Portal oder TF2 spielen auf viel begrenzterem Raum; Welten wie in Minecraft, wären mit der Source-Engine auf gleicher Hardware gar nicht möglich. Preformance und Ressourcenverbrauch hängen natürlich auch mit der Sprache zusammen - viel mehr jedoch mit den *Daten*, die ein Problem mit sich bringt.
Dass - vermutlich - die meisten AAA-Games immer noch mit C++ entwickelt werden hängt zum einen damit zusammen, dass die gängigen Grafik-Engines meist Anfang des Jahrtausends begonnen worden, als Java mangels existierenden / guten JIT und .NET mangels Reifegrad noch kein großes Thema in der Branche waren, zum anderen spielen dabei auch Zugriffstechnologien auf die Hardware eine Rolle. Ich gehe stark davon aus, dass sich in diesem Bereich einiges tun wird.
Davon abgesehen sind viele Game-Logiken sicherlich *nicht* mehr in C++ gecodet, sondern in anderen Sprachen. JS, Lua, Python usw.