Hier gibt es keine magische Kugel. Wenn Sie möchten, dass Ihr Spiel auf mehreren Plattformen läuft, müssen Sie Code für mehrere Plattformen schreiben (oder Bibliotheken von Drittanbietern nutzen, die dies bereits für Sie tun).
Die Dinge, nach denen Sie fragen, stimmen nicht überein: Sie sagen (Betonung meiner)
Was ich suche, sind Ressourcen, um etwas zu integrieren, das es mir ermöglicht, auf verschiedenen Plattformen zu laufen, ohne es neu zu schreiben
aber auch das (Schwerpunkt wieder meins)
Mir ist bewusst, dass ich eine andere Engine verwenden kann, anstatt meine eigene zu schreiben, aber
ich bin an der Lernerfahrung interessiert .
Sie müssen so ziemlich das eine oder andere tun: Wählen Sie, ob Sie eine Bibliothek, Engine und / oder Toolchain eines Drittanbieters verwenden möchten, die plattformübergreifende Unterstützung für Sie bietet, oder erstellen Sie Ihren eigenen Code, indem Sie plattformübergreifenden Code schreiben (Ihren Code entwerfen) eigene Abstraktion über die Plattformen, die Ihnen zur Verfügung stehen, und Implementierung dieser Abstraktion für jede Plattform).
Game - Engines wie Unreal oder Unity , die diese entweder Ihren Code gegen die entsprechende Plattform Abstraktion neu kompilieren zu unterstützen, oder Sie benötigen eine Bibliothek oder DLL gegen ihre internen APIs zu bauen, die sie von einem plattformspezifischen Treiber ausführbaren laden , die sie für die entsprechenden zusammengestellt Plattform.
share/os/<linux>
(odershare/cpu/x86
) zu haben und den gesamten plattformspezifischen Code dort einzutragen und dann bedingte Includes auszuführen. Das ist zumindest das, was gcc, HotSpot und der Linux-Kernel tun (sicherlich keine harte Regel). Ja, Sie können mit nur einer einzigen Funktion beginnen, die plattformabhängig ist und denkt, es ist übertrieben, aber das bleibt nie so und es wird sonst schnell zu einem Chaos.