Con el fin de los exámenes, estoy volviendo a recuperar tiempo para mis hobbies, y entre ellos está programar. Programar por placer, claro, no programar hasta que te salga sangre por los ojos de buscar el error que imprime un segmentation fault en nuestra querida terminal.

Estoy empezando a portar mi motor que, lo siento por Ulo, tendrá que llamarse Melt. Fusion es el motor que se usó para el Descent3 y el Freespace, y creo que no se merece que le pise el nombre. Ayer intenté configurar el Visual Studio para poder ir haciendo las dlls y utilizar SDL como middleware. Me tiré un buen rato intentando que eso funcionara y ni siquiera había empezado a programar. Entonces recordé que programar en C++ sería algo parecido, todo lleno de .h y .cpp, de estúpidos errores por culpa de no cerrar con ‘;’ una línea y similares. Hasta Waaghman (acérrimo defensor de la programación eficiente) quiere usar C# para su nuevo proyecto. Desde luego, puede que quitemos rendimiento utilizando estos lenguajes, pero lo ganamos en tiempo invertido con creces.

El caso es que tenía mis dudas de qué librería utilizar en vez de SDL si programaba usando un lenguaje ‘administrado’. Empecé a buscar librerías y wrappers para C# o Java. He de reconocer que me gusta mucho más Java como lenguaje, por su simplicidad a la hora de hacer las cosas, aunque tenga peor rendimiento (o eso dicen) que C#. Sin embargo, el hecho de que sea portable lo hace ganar enteros. Además, recordé que había una librería bastante maja que ya había estado a punto de utilizar una vez: LWJGL. Básicamente es un wrapper de OpenGL, DirectInput y OpenAL (o FMOD). Probé un par de demos y parecía funcionar bien. Los tutoriales no son demasiado reveladores, pero la documentación está bastante bien.

De momento, ya he portado el módulo de carga de ficheros, aunque es lo más sencillo porque no tiene dependencias de ningún tipo. A ver lo que tardo en portar el resto, en especial el módulo de gráficos, que tiene unas cuantas líneas de código. Lo bueno es que prácticamente es copiar y pegar el código cambiando algunas cosillas y encontrando métodos alternativos para las llamadas a DirectX. Ya me vuelven a entrar las ganas de programar porque, aunque a veces gracias a algunas asignaturas de la carrera sea algo que se olvide, programar puede ser divertido.