Proyek ini telah dibatalkan sepenuhnya dan tidak akan menerima pembaruan baru karena saya bukan lagi bagian dari komunitas HOI4 dan basis kode telah menjadi berantakan, sehingga tidak mungkin membuat segalanya lebih baik tanpa menulis ulang semuanya (terima kasih C++) . Bahasanya berfungsi tetapi sangat lambat, memiliki bug yang besar, dan tidak boleh digunakan secara serius. Saya berencana untuk membuat bahasa dengan sintaksis yang mirip dengan HPL tetapi tidak akan fokus pada HOI4, dan backendnya akan sangat berbeda.
Solusi pengembang modern untuk modding HOI4.
Bahasa Pemrograman HOI4 (HPL) adalah bahasa pemrograman juru bahasa khusus domain yang dibuat untuk pengembangan modding HOI4 yang wajar. Tujuan utamanya adalah untuk secara substansial meningkatkan pengalaman modding HOI4 saat ini dengan mengerjakan ulang sintaksis HOI4 menjadi sintaksis yang jauh lebih ramah pengguna dan menyediakan fitur-fitur baru untuk pengembangan yang lebih efisien dan lebih cepat, sekaligus memberikan banyak ruang bagi pengguna untuk penyesuaian.
Salah satu hal yang dialami oleh dunia modding HOI4 adalah rendahnya pasokan pembuat kode HOI4 yang mahir dengan bahasa Clausewitz. Alasannya adalah meskipun mudah dipelajari, penggunaan dan debugnya sangat membosankan, baik untuk bagian modding yang sederhana maupun rumit. Yang juga tidak membantu adalah kurangnya fitur bahasa pemrograman sederhana yang akan sangat meningkatkan pengalaman pengembang.
Orang-orang mencoba meningkatkan pengalaman pengembang dengan membuat alat CLI dan GUI untuk melakukan segalanya bagi pengembang, namun sering kali proyek tersebut gagal karena berbagai alasan, terlalu membatasi, atau tidak ada gunanya. Namun, membuat bahasa yang tepat untuk modding HOI4 adalah salah satu solusi terbaik untuk masalah ini, karena bahasa seperti HPL dapat memberikan banyak pilihan kepada pengembang tentang bagaimana mereka ingin menyelesaikan masalah terkait modding HOI4 sambil terus diperbarui. Anda dapat menggunakan HPL untuk membuat sekumpulan skrip kecil namun efektif, atau bahkan membuat seluruh lingkungan pengembang.
HPL tidak hanya fokus untuk mencapai kompatibilitas penuh modding HOI4, namun juga mengoptimalkan modding HOI4 itu sendiri. Daripada memerlukan puluhan baris kode untuk sebuah event sederhana (atau bahkan lebih), HPL akan mampu memberikan hasil yang sama namun dengan baris kode yang jauh lebih sedikit, sehingga meningkatkan pengalaman pengembangan secara signifikan dalam prosesnya. HPL bahkan mengurangi jumlah karakter dan kata yang harus Anda tulis per baris dengan ini.
umum - Menampilkan fitur pemrograman umum HPL dan apa yang dapat Anda lakukan dengannya.
negara - Menciptakan sebuah bangsa.
event - Contoh pembuatan acara HOI4 sederhana.
Ikhtisar singkat sebagian besar fitur di HPL:
string
, int
, float
, bool
, scope
) dan tipe generik auto
..dds
, mengubah ukuran gambar, membuat/menghapus file dan folder, dll.if
pernyataan.f-string
Python.+
untuk menggabungkan string.++
, --
, +=
, -=
, =
, /=
, %=
).descriptor.mod
. Catatan: Saat ini target platform utama untuk HPL adalah Windows 10 dan yang lebih baru. Oleh karena itu, HPL versi Unix (terutama versi Linux) mungkin mengandung bug atau tidak stabil. Selain itu, hanya biner x86
untuk Windows, MacOS, dan Linux yang akan disediakan dan didukung.
git clone https://github.com/EimaMei/HPL/tree/canary.git
cd HPL
make
Untuk saat ini hanya Windows yang memiliki installer.
Untuk menginstal HPL di Windows, yang harus Anda lakukan adalah menjalankan skrip installer.ps1
di PowerShell satu kali dan itu akan mengatur segalanya untuk Anda
Untuk membuat pengembangan dengan HPL lebih berwarna, menyenangkan dan modern, programmer Allyedge telah membuat ekstensi VSC untuk pemrograman di HPL. Untuk saat ini ia hanya memiliki penyorot sintaksis dan beberapa fitur dukungan bahasa dasar, namun di masa depan ia akan memiliki lebih banyak fitur untuk membuat pengembangan lebih mudah (anggap saja seperti ekstensi C/C++ VSC).
Untuk mendownloadnya Anda tinggal mencari 'HPL' di marketplace dan mendownload hasil pertama, atau menuju link ini.
SOIL2 (versi bercabang) - untuk fungsi inti convertToDds
(HPL menggunakan versi SOIL2 yang dimodifikasi untuk menghapus persyaratan OpenGL yang tidak diperlukan).
Allyedge - untuk membuat ekstensi HPL VSC. (orang ini sebenarnya ngeri btw)