Este proyecto ha sido completamente cancelado y no recibirá nuevas actualizaciones porque ya no soy parte de la comunidad HOI4 y el código base se ha convertido en un desastre, lo que hace imposible mejorar las cosas sin reescribir todo (gracias C++). . El lenguaje es funcional pero es extremadamente lento, tiene grandes errores y no debería usarse en serio. Planeo posiblemente crear un lenguaje con una sintaxis similar a HPL, pero no estará centrado en HOI4 y el backend será completamente diferente.
La solución moderna para desarrolladores para la modificación de HOI4.
El lenguaje de programación HOI4 (HPL) es un lenguaje de programación de intérpretes de dominio específico creado para el desarrollo sensato de modificaciones de HOI4. Su principal objetivo es mejorar sustancialmente la experiencia actual de modificación de HOI4 reelaborando la sintaxis de HOI4 para que sea mucho más fácil de usar y proporcionando nuevas características para un desarrollo más eficiente y rápido, al mismo tiempo que brinda al usuario mucho espacio para la personalización.
Una de las cosas que sufre la escena del modding HOI4 es la escasa oferta de codificadores HOI4 que sean hábiles con el lenguaje Clausewitz. La razón es que, si bien es fácil de aprender, es realmente tedioso de usar y depurar, tanto para partes simples como complejas de la modificación. Lo que tampoco ayuda es que carece de un montón de características de lenguaje de programación simples que mejorarían mucho la experiencia de los desarrolladores.
La gente intentó mejorar la experiencia de los desarrolladores creando herramientas CLI y GUI para hacer todo por los desarrolladores; sin embargo, la mayoría de las veces esos proyectos fracasan debido a una multitud de razones, son demasiado limitantes o no tienen ningún valor. Sin embargo, crear un lenguaje adecuado para la modificación de HOI4 es una de las mejores soluciones a este problema, ya que un lenguaje como HPL puede brindar muchas opciones a los desarrolladores sobre cómo desean resolver sus problemas relacionados con la modificación de HOI4 mientras se actualiza constantemente. Puede utilizar HPL para crear un montón de scripts pequeños pero eficaces, o incluso crear entornos de desarrollador completos.
HPL no sólo se centrará en lograr una compatibilidad total con la modificación HOI4, sino también en optimizar la modificación HOI4 en sí. En lugar de necesitar decenas de líneas de código para un evento simple (o incluso más), HPL podrá proporcionar el mismo resultado pero con muchísimo menos líneas de código, mejorando drásticamente la experiencia del desarrollador en el proceso. HPL incluso reduce la cantidad de caracteres y palabras que debe escribir por línea con esto.
general: muestra las características generales de programación de HPL y lo que puede hacer con él.
país - Crea una nación.
evento: un ejemplo de creación de eventos HOI4 simples.
Una descripción general rápida de la mayoría de las funciones de HPL:
string
, int
, float
, bool
, scope
) y tipo genérico auto
..dds
, cambiar el tamaño de las imágenes, crear/eliminar archivos y carpetas, etc.if
declaraciones.f-string
de Python.+
para combinar cuerdas.++
, --
, +=
, -=
, =
, /=
, %=
).descriptor.mod
. Nota: Actualmente, la principal plataforma de destino para HPL es Windows 10 y versiones posteriores. Debido a esto, las versiones Unix de HPL (especialmente las compilaciones de Linux) pueden contener errores o ser inestables. Además, sólo se proporcionarán y admitirán archivos binarios x86
para Windows, MacOS y Linux.
git clone https://github.com/EimaMei/HPL/tree/canary.git
cd HPL
make
Por ahora sólo Windows tiene instalador.
Para instalar HPL en Windows, todo lo que tiene que hacer es ejecutar el script installer.ps1
en PowerShell una vez y configurará todo por usted.
Para que el desarrollo con HPL sea mucho más colorido, divertido y moderno, el programador Allyedge ha creado una extensión VSC para programar en HPL. Por ahora solo tiene un resaltador de sintaxis y algunas funciones básicas de soporte de lenguaje, sin embargo, en el futuro tendrá muchas más funciones para facilitar aún más el desarrollo (piense en ello como la extensión C/C++ VSC).
Para descargarlo, simplemente busque 'HPL' en el mercado y descargue el primer resultado, o vaya a este enlace.
SOIL2 (versión bifurcada): para la función principal convertToDds
(HPL utiliza una versión modificada de SOIL2 para eliminar requisitos OpenGL innecesarios).
Allyedge: para crear la extensión HPL VSC. (Este tipo realmente se avergüenza por cierto)