このプロジェクトは完全にキャンセルされ、私はもう実際には HOI4 コミュニティの一員ではなく、コードベースが混乱して全体を書き直さない限り改善することが不可能になったため、新しい更新は受信されません (C++ に感謝) 。この言語は機能しますが、非常に遅く、大きなバグがあるため、真剣に使用するべきではありません。おそらく HPL に似た構文を持つ言語を作成する予定ですが、それは HOI4 に焦点を当てたものではなく、バックエンドは完全に異なります。
HOI4 改造に対する最新の開発者向けソリューション。
HOI4 プログラミング言語 (HPL) は、健全な HOI4 改造開発用に作成されたドメイン固有のインタープリター プログラミング言語です。その主な目標は、HOI4 の構文をよりユーザーフレンドリーな構文に再加工し、より効率的かつ迅速な開発のための新機能を提供することで、現在の HOI4 改造エクスペリエンスを大幅に改善すると同時に、ユーザーに十分なカスタマイズの余地を与えることです。
HOI4 改造シーンが苦しんでいることの 1 つは、クラウゼヴィッツ言語に熟練した HOI4 プログラマーの供給が少ないことです。その理由は、学ぶのは簡単ですが、MOD の単純な部分と複雑な部分の両方を使用したりデバッグしたりするのは非常に面倒だからです。また、開発者のエクスペリエンスを大幅に向上させる単純なプログラミング言語機能が多数欠けていることも役に立ちません。
人々は開発者のためにあらゆることを行う CLI や GUI ツールを作成して開発者エクスペリエンスを向上させようとしましたが、多くの場合、それらのプロジェクトはさまざまな理由で失敗するか、制限が多すぎるか、まったく価値がありません。ただし、HOI4 モッディングに適切な言語を作成することは、この問題に対する最良の解決策の 1 つです。HPL のような言語は、開発者に HOI4 モッディング関連の問題を解決する方法について多くのオプションを提供し、同時に更新され続けるためです。 HPL を使用すると、小さくても効果的なスクリプトを多数作成したり、開発環境全体を作成したりできます。
HPL は、HOI4 MOD との完全な互換性を実現するだけでなく、HOI4 MOD 自体の最適化にも注力します。単純なイベントに数十行のコード (またはそれ以上) を必要とする代わりに、HPL は大幅に少ないコード行で同じ結果を提供できるため、そのプロセスにおける開発エクスペリエンスが大幅に向上します。 HPL を使用すると、1 行に書かなければならない文字数や単語数も削減されます。
一般 - HPL の一般的なプログラミング機能と、それを使用して何ができるかを示します。
country - 国家を作成します。
イベント - 単純な HOI4 イベントの作成例。
HPL のほとんどの機能の簡単な概要:
string
、 int
、 float
、 bool
、 scope
) とジェネリック型auto
。.dds
への変換、画像のサイズ変更、ファイルやフォルダーの作成/削除などを支援する関数など、hoi4modding に役立つコア関数が多数あります。if
ステートメント。f-string
。+
で文字列を結合します。++
、 --
、 +=
、 -=
、 =
、 /=
、 %=
)。descriptor.mod
作成。 注:現在、HPL の主な対象プラットフォームは Windows 10 以降です。このため、HPL の Unix バージョン (特に Linux ビルド) にはバグが含まれているか、不安定である可能性があります。また、Windows、MacOS、Linux 用のx86
バイナリのみが提供およびサポートされます。
git clone https://github.com/EimaMei/HPL/tree/canary.git
cd HPL
make
今のところ、Windows のみにインストーラーがあります。
Windows に HPL をインストールするには、PowerShell でinstaller.ps1
スクリプトを 1 回実行するだけで、すべてがセットアップされます。
HPL での開発をよりカラフルで楽しく、モダンにするために、プログラマー Allyedge は HPL でプログラミングするための VSC 拡張機能を作成しました。今のところ、構文ハイライトといくつかの基本的な言語サポート機能しかありませんが、将来的には、開発をさらに容易にするためにさらに多くの機能が追加される予定です (C/C++ VSC 拡張機能のようなものだと考えてください)。
ダウンロードするには、マーケットプレイスで「HPL」を検索して最初の結果をダウンロードするか、このリンクにアクセスしてください。
SOIL2 (フォークされたバージョン) - convertToDds
コア関数用 (HPL は、不要な OpenGL 要件を削除するために SOIL2 の修正バージョンを使用します)。
Allyedge - HPL VSC 拡張機能の作成用。 (この男は実際にうんざりしています)