Ich habe gelesen, dass Lua oft für eingebettetes Scripting und insbesondere für Scripting-Spiele verwendet wird. Es fällt mir schwer, mir vorzustellen, wie es genau verwendet wird. Können Sie beschreiben, warum und für welche Funktionen und für welches Publikum es verwendet wird?
Diese Frage bezieht sich nicht speziell auf Lua, sondern auf eingebettete Skripte, die einem ähnlichen Zweck wie Lua- Skripte dienen.
Wird es für Endbenutzer verwendet, um benutzerdefinierte Anpassungen vorzunehmen? Wird es für Spieleentwickler verwendet, um die Erstellung von Spielelogik (Levels, KI, ...) zu beschleunigen? Wird es zum Skripten von Game-Framework-Code verwendet, da das Scripting schneller sein kann?
Grundsätzlich frage ich mich, wie tief zwischen der einfachen Konfiguration und der Framework-Logik eine solche Verwendung von Skripten liegt. Und wie viel Scripting wird gemacht. Ein paar Konfigurationszeilen oder eine beträchtliche Menge?
quelle
Antworten:
Eine Skriptsprache in einer Spiel-Engine dient dazu, Ihre Spiel-Engine auf eine übergeordnete, interpretierte Weise verfügbar zu machen.
Nehmen Sie zum Beispiel ein Spiel wie Skyrim. Sie werden feststellen, dass viele Quests und Interaktionen stattfinden, und einige davon haben eine ziemlich beeindruckende Logik, wie beispielsweise eine Wache, die darauf reagiert, dass Sie sich während einer Szene einem Gegenstand nähern. Dies sind Dinge, die in einem reinen Datenformat nur schwer auszudrücken sind. Aus diesem Grund werden Quests und benutzerdefinierte Verhaltensweisen normalerweise als Skripte ausgedrückt.
Es gibt auch viele praktische Aspekte zu beachten: Die Spieleentwickler, die diese Skripte erstellen, arbeiten häufig auf einer höheren Abstraktionsebene als die Game-Engine-Codierer. Sie möchten sich keine Gedanken über die Speicherzuweisung usw. machen. Eine Skriptsprache passt gut zu ihnen, und mit LUA rufen sie normalerweise eine schöne Fassade auf hoher Ebene der Engine auf. Sie möchten Ihr Spiel auch nicht jedes Mal neu kompilieren, wenn Sie ein Minutenattribut in einem Skript anpassen möchten.
Darüber hinaus ermöglichen sie ein einfaches Debuggen, Modden und all die anderen netten Dinge, die Sie erwähnt haben.
quelle
Es kann für eine Vielzahl von Zwecken verwendet werden, von einfachen Konfigurationen bis zur Implementierung des Großteils der High-End-Logik des Spiels, z. B. hängt es vom Spiel ab, aber Lua ist nur eingebettetes Scripting. Die Leute können so viel oder so wenig verwenden, wie sie wollen.
quelle
Es kann von anderen Personen als den ursprünglichen Spielprogrammierern verwendet werden, um die Spielelogik zu ändern oder zu erweitern. Solche Leute können relativ nicht technisch sein, z. B. Spieledesigner oder Endbenutzer (Gamer).
Skripte sind normalerweise höhere Sprachen und daher ist Lua einfacher als C ++. In Skripten geschriebener Code kann normalerweise geändert werden, ohne die Hauptanwendung (Game Engine) neu zu kompilieren. Dies ist nützlich, damit Spieleentwickler Spielszenen schnell optimieren können.
PS: Stellen Sie diese Frage besser auf gamedev.stackexchange.com
quelle