Sie können eine Game-Engine in praktisch jeder Sprache mit praktisch jeder Rendering-Methode schreiben. Sie können eine Game-Engine in Bash schreiben, indem Sie beispielsweise die Konsolenausgabe verwenden.
Ich denke, es ist am besten zu definieren, was genau Sie lernen möchten, wenn Sie Ihre eigene Engine schreiben. Es gibt viele "Felder" in der Spieleentwicklung.
etc .. Von dort können Sie sogar Unterthemen haben. In Rendering / Grafik
Nur eines dieser Unterthemen könnte viele Stunden (oder Jahre!) Des Studiums kosten!
Definieren Sie also zunächst, was Sie lernen möchten. Einfach anfangen.
Verwenden Sie die Sprache, mit der Sie sich auskennen - obwohl einige für bestimmte Aufgaben besser geeignet sind. Die Core-Engine und das Rendering lassen sich wahrscheinlich am besten mit einer "niedrigeren" Sprache wie C / C ++ ausführen (wenn Sie also Leistung benötigen). Aber so etwas wie KI oder Spielregeln könnte besser in einer höheren Sprache gemacht werden. Nichts sagt, dass Sie nicht mischen und zusammenpassen können. Sie könnten Ihre Engine in C ++ schreiben, Ihr Rendering in C (da es gut mit OpenGL funktioniert) und dann LUA zum Skripten Ihrer Spielregeln usw. verwenden.
Zum Beispiel gibt es eine Game-Engine namens Slick2D. Es ist in Java geschrieben und Open Source. Es ist ein Beispiel für eine einfache 2D-Engine, die wirklich gut geschrieben und entworfen wurde. Daraus können Sie grundlegende Konzepte lernen, wie z. B. Spielschleifen, Verwalten von Spielzuständen usw.
Wenn Sie mit C / C ++ vertraut sind; Ich würde vorschlagen, einen Blick auf SDL / OpenGL zu werfen. Es kümmert sich um einige Dinge wie Eingabe, Sound, Erstellen von Fenstern usw. und kann sich auf andere Dinge konzentrieren.