Es gibt verschiedene Anwendungen wie Blitz3D oder andere Arten von Spielkonstruktionswerkzeugen, die Skripte oder andere Spieldaten zu einer einzigen ausführbaren Datei zusammenstellen. Wie haben sie das gemacht?
quelle
Es gibt verschiedene Anwendungen wie Blitz3D oder andere Arten von Spielkonstruktionswerkzeugen, die Skripte oder andere Spieldaten zu einer einzigen ausführbaren Datei zusammenstellen. Wie haben sie das gemacht?
Verschiedene Tools nähern sich dem auf unterschiedliche Weise, aber wie Blitz3D es tut, besteht es darin, den Code und einen Interpreter in ein Bundle zu packen. Wenn Sie dann die exe ausführen, wird der Interpreter gestartet und der gebündelte Code übergeben. Es ist ziemlich genau so, wie beispielsweise Python bei der Verwendung von py2exe funktioniert.
In vielen Spielentwicklungstools ist der Code, der zusammen mit der ausführbaren Datei gebündelt wird, einfach Rohtext, den der Interpreter analysiert. Einige verwenden jedoch einen Bytecode-Ansatz wie Java, bei dem der Quellcode in eine Zwischenform umgewandelt wird, die von der virtuellen Maschine verwendet wird. Ich denke, Unity verwendet diesen letzteren Ansatz, bin mir aber nicht sicher.
Alle Spieleentwicklungstools, die ich mir vorstellen kann, basieren auf diesem Ansatz eines Core-Interpreters / einer virtuellen Maschine, die dann mit dem Code verpackt werden, oder sind Bibliotheken, die Sie in Visual Studio oder was auch immer kompilieren.
Programmablauf, Variablenhandling und dergleichen werden zu reinem Maschinencode kompiliert, während die Befehle auf hoher Ebene als C ++ - Bibliotheksfunktionen implementiert werden, die aus der Laufzeitbibliothek aufgerufen werden, die in jede von Blitz generierte ausführbare Datei kompiliert wurde. Nicht aus der Blitz Basic-Familie wird wie Python interpretiert.
quelle