Dieses Projekt wurde komplett abgebrochen und wird keine neuen Updates erhalten, da ich nicht mehr wirklich Teil der HOI4-Community bin und die Codebasis in ein Chaos geraten ist, was es unmöglich macht, die Dinge zu verbessern, ohne das Ganze neu zu schreiben (danke C++) . Die Sprache ist funktionsfähig, aber extrem langsam, ein großer Fehler und sollte nicht wirklich ernsthaft verwendet werden. Ich plane, möglicherweise eine Sprache zu erstellen, deren Syntax der von HPL ähnelt, aber sie wird nicht auf HOI4 ausgerichtet sein und das Backend wird völlig anders sein.
Die moderne Entwicklerlösung für HOI4-Modding.
Die HOI4 Programming Language (HPL) ist eine domänenspezifische Interpreter-Programmiersprache, die für die vernünftige HOI4-Modding-Entwicklung entwickelt wurde. Sein Hauptziel besteht darin, das aktuelle HOI4-Modding-Erlebnis erheblich zu verbessern, indem die Syntax von HOI4 so überarbeitet wird, dass sie viel benutzerfreundlicher wird, und neue Funktionen für eine effizientere und schnellere Entwicklung bereitgestellt werden, während dem Benutzer gleichzeitig viel Raum für Anpassbarkeit gegeben wird.
Eines der Dinge, unter denen die HOI4-Modding-Szene leidet, ist das geringe Angebot an HOI4-Programmierern, die sich mit der Clausewitz-Sprache auskennen. Der Grund dafür ist, dass es zwar einfach zu erlernen ist, die Verwendung und das Debuggen sowohl für einfache als auch für komplexe Teile des Moddings jedoch sehr mühsam ist. Was auch nicht hilft, ist, dass es an einer Reihe einfacher Programmiersprachenfunktionen mangelt, die die Erfahrung der Entwickler erheblich verbessern würden.
Man hat versucht, die Entwicklererfahrung zu verbessern, indem man CLI- und GUI-Tools erstellt hat, um alles für Entwickler zu erledigen, doch in den meisten Fällen scheitern diese Projekte aus einer Vielzahl von Gründen, sind zu einschränkend oder haben keinen Wert. Die Erstellung einer geeigneten Sprache für HOI4-Modding ist jedoch eine der besten Lösungen für dieses Problem, da eine Sprache wie HPL Entwicklern viele Optionen bieten kann, wie sie ihre HOI4-Modding-Probleme lösen möchten, während sie ständig aktualisiert wird. Sie können HPL verwenden, um eine Reihe kleiner, aber effektiver Skripte zu erstellen oder sogar ganze Entwicklerumgebungen zu erstellen.
HPL wird sich nicht nur darauf konzentrieren, die volle HOI4-Modding-Kompatibilität zu erreichen, sondern auch darauf, das HOI4-Modding selbst zu optimieren. Anstatt für ein einfaches Ereignis Dutzende Codezeilen (oder sogar mehr) zu benötigen, kann HPL das gleiche Ergebnis liefern, jedoch mit deutlich weniger Codezeilen, wodurch sich das Entwicklungserlebnis erheblich verbessert. HPL reduziert damit sogar die Anzahl der Zeichen und Wörter, die Sie pro Zeile schreiben müssen.
general – Zeigt die allgemeinen Programmierfunktionen von HPL und was Sie damit machen können.
Land – Erstellt eine Nation.
event – Ein Beispiel für die Erstellung einfacher HOI4-Events.
Ein kurzer Überblick über die meisten Funktionen von HPL:
string
, int
, float
, bool
, scope
) und generischer Typ auto
..dds
, beim Ändern der Bildgröße, beim Erstellen/Entfernen von Dateien und Ordnern usw. helfen.if
Anweisungen.f-string
.+
zum Kombinieren von Zeichenfolgen.++
, --
, +=
, -=
, =
, /=
, %=
).descriptor.mod
Erstellung. Hinweis: Derzeit ist die Hauptzielplattform für HPL Windows 10 und höher. Aus diesem Grund können die Unix-Versionen von HPL (insbesondere die Linux-Builds) Fehler enthalten oder instabil sein. Außerdem werden nur x86
Binärdateien für Windows, MacOS und Linux bereitgestellt und unterstützt.
git clone https://github.com/EimaMei/HPL/tree/canary.git
cd HPL
make
Derzeit verfügt nur Windows über ein Installationsprogramm.
Um HPL unter Windows zu installieren, müssen Sie lediglich das Skript installer.ps1
einmal in PowerShell ausführen und schon wird alles für Sie eingerichtet
Um die Entwicklung mit HPL viel bunter, unterhaltsamer und moderner zu gestalten, hat Programmierer Allyedge eine VSC-Erweiterung für die Programmierung in HPL erstellt. Derzeit verfügt es nur über einen Syntax-Highlighter und einige grundlegende Sprachunterstützungsfunktionen. In Zukunft wird es jedoch viel mehr Funktionen geben, um die Entwicklung noch einfacher zu machen (stellen Sie sich das wie die C/C++-VSC-Erweiterung vor).
Um es herunterzuladen, können Sie einfach auf dem Marktplatz nach „HPL“ suchen und das erste Ergebnis herunterladen oder auf diesen Link klicken.
SOIL2 (gegabelte Version) – für die Kernfunktion convertToDds
(HPL verwendet eine modifizierte Version von SOIL2, um unnötige OpenGL-Anforderungen zu entfernen).
Allyedge – zum Erstellen der HPL VSC-Erweiterung. (Dieser Typ zuckt übrigens tatsächlich zusammen)