Después de 2 meses de trabajo ya está disponible la primera versión del port a Godot de Abbaye des Morts.
Como ya comenté en una entrada anterior, la razón de este port es aprender a desarrollar con el motor de código abierto Godot Engine. El manejo de sprites, colisiones, temporizadores, sonido, etc. No importaba llegar al nivel de detalle del port a C+SDL que se hizo anteriormente. Con que el juego fuera jugable de principio a fin y mantuviera las mecánicas era suficiente.
He ido trabajando en ello en mis ratos libres. Sin prisa pero sin pausa. A veces dando pequeños pasos adelante, otras veces conseguía grandes avances. Muchas veces me bloqueaba con algún problema que en ese momento no sabía resolver ya sea por mala planificación (no soy un programador profesional) o por falta de conocimientos ("¿cómo demonios se hace esto en Godot?).
Decidí obviarlos por un tiempo y seguir con el desarrollo, a la espera de tener la cabeza más despejada y poder revisar el problema más tranquilamente.
Efectivamente así fue. Conseguí solventar esos problemas tras darle unas vueltas a cómo estaba escrito el código.
Al escribir un juego en C+SDL tienes completa libertad para desarrollar las físicas, colisiones, lógica del juego, como distribuir el código, etc. El resultado será tan bueno (o malo) como sean tus capacidades de programar. Muchas de estas cosas en Godot ya está "prediseñadas" con lo que ahorras tiempo, aunque a costa de tener que seguir ciertas normas o formas de trabajar.
En mi opinión si eres capaz de adaptarte a la forma de trabajar que tiene el motor, te ahorras una cantidad de tiempo considerable comparando con escribir tu toda la lógica desde 0.
El soporte por parte de la IA en todo este proceso ha sido bastante bueno. Algunas veces acertando con el código que debía usar, otras fallaba pero te marcaba el camino que debías seguir. Eso sí, debes especificar que versión de Godot estas usando o te puede contestar con comandos o sintaxis de versiones anteiores, ya obsoletas.
He subido el código a mi repositorio git de disroot. Está bajo licencia GPL3 así que podéis bajarlo, modificarlo, mejorarlo, etc. En la sección de paquetes he dejado los binarios para arquitecturas x86 y ARM, tanto en 32 como 64 bits. He intentado también exportarlo a MacOS y Windows pero me daba errores, tengo que revisar que está fallando.
Hay características, como el cambio de gráficos al vuelo que estaban en el port de C, pero en el port de Godot están ausentes. Mi prioridad era hacer el juego completo. Ya estoy trabajando para implementarlo.
Tengo un par de juegos en 2D que podría intentar llevar a Godot. Ambos tienen mecánicas que no están en Abbaye, así que tendría que ver como implementarlas. Haré una pequeña prueba de concepto y si veo que sale bien seguir adelante.
Llevará su tiempo, dependerá del tiempo disponible y mi capacidad de programar.
09/02/2025 - Personal