Como algunos habréis podido notar desde el pasado fin de semana he encontrado un nuevo hobby que me encanta: programar con Löve. Löve, o Love2D, es un framework para Lua especializado en programación de juegos. Es libre, de código abierto y está disponible para Windows, Mac y Linux. Además, no tiene una licencia restrictiva en absoluto, puedes incluso vender un juego usando su motor, sin decirlo incluso. Vamos, mucho buen rollito.
En cuanto al lenguaje en sí, es extremadamente sencillo. Yo nunca me había interesado por Lua, y mi referencia de "lenguajes intuitivos" era Python. Y he de decir que ha sido desbancado sin ningún tipo de posibilidad. Es extremadamente sencillo, fácil de usar y copy-and-paste friendly.
Pero dejemonos de chorradas y vamos al grano. ¿Por qué me gusta tanto? Antes de los detalles comencemos con un ejemplo: el tutorial HamsterBall. En tan solo 25 líneas tenemos un programa que carga una imagen y permite moverla por la ventana con las flechas del teclado. Tal cual. Las dos líneas clave de este programa son:
De repente, tras una línea, tienes una nueva variable que contiene una imagen PNG. Con transparencia. Nada de crear un puntero file, nada de leer en binario, nada de cuidado con el buffer, nada de reservar memoria. Esto es tan simple como puede ser.
Y con solo otra línea, la dibujas en las coordenadas que quieras. Nada de matemáticas ni transformaciones de coordenadas ni nada. Así, tal cual. Puedes dedicarte a centrarte en lo que haces y no en cómo hacerlo.
Si has llegado hasta este punto del post eso quiere decir que he conseguido llamar tu atención. Bien. Si sigues interesado entonces no te importará entrar en detalles como la estructura de un programa. Está diferenciada en tres partes básicas:
"Está bien, ya me has convencido, dime qué tengo que hacer para probarlo", estaréis pensando. Bien, vamos a ello. Descargamos la versión para nuestro sistema de la web oficial. Será un fichero de un megabyte o dos. Lo descomprimimos y guardamos en la carpeta a nuestra elección (o instalamos, lo mismo da). Cuando escribamos nuestro código, necesitaremos un archivo
En fin, para terminar decir que es un lujo a la hora de probar pruebas de concepto, por sencillez y comodidad, pero no lo recomendaría para un proyecto profesional con el que quieras ganar dinero. Los ejemplos vistos los he subido a mediafire si queréis echarles un vistazo. Están en formato
Si alguno tenía el gusanillo de meterse en el desarrollo de juegos pero no terminaba de decidirse, le recomiendo que le de un intento a esta plataforma.
En cuanto al lenguaje en sí, es extremadamente sencillo. Yo nunca me había interesado por Lua, y mi referencia de "lenguajes intuitivos" era Python. Y he de decir que ha sido desbancado sin ningún tipo de posibilidad. Es extremadamente sencillo, fácil de usar y copy-and-paste friendly.
Pero dejemonos de chorradas y vamos al grano. ¿Por qué me gusta tanto? Antes de los detalles comencemos con un ejemplo: el tutorial HamsterBall. En tan solo 25 líneas tenemos un programa que carga una imagen y permite moverla por la ventana con las flechas del teclado. Tal cual. Las dos líneas clave de este programa son:
hamster = love.graphics.newImage("hamster.png") De repente, tras una línea, tienes una nueva variable que contiene una imagen PNG. Con transparencia. Nada de crear un puntero file, nada de leer en binario, nada de cuidado con el buffer, nada de reservar memoria. Esto es tan simple como puede ser.
love.graphics.draw(hamster, x, y)Y con solo otra línea, la dibujas en las coordenadas que quieras. Nada de matemáticas ni transformaciones de coordenadas ni nada. Así, tal cual. Puedes dedicarte a centrarte en lo que haces y no en cómo hacerlo.
Si has llegado hasta este punto del post eso quiere decir que he conseguido llamar tu atención. Bien. Si sigues interesado entonces no te importará entrar en detalles como la estructura de un programa. Está diferenciada en tres partes básicas:
love.load(), love.update, y love.draw(). En la primera se inicializan datos, en la segunda va lo que se actualiza constantemente y en la tercera lo que queramos dibujar. A partir de ahí, puedes meter dentro lo que quieras."Está bien, ya me has convencido, dime qué tengo que hacer para probarlo", estaréis pensando. Bien, vamos a ello. Descargamos la versión para nuestro sistema de la web oficial. Será un fichero de un megabyte o dos. Lo descomprimimos y guardamos en la carpeta a nuestra elección (o instalamos, lo mismo da). Cuando escribamos nuestro código, necesitaremos un archivo
main.lua. Para ejecutarlo, podemos arrastrar la carpeta en la que se encuentra al ejecutable instalado, o ejecutarlo desde consola. Pero eso es un coñazo, sobre todo porque querremos estar ejecutando prácticamente cada cosa que cambiemos. Así que lo mejor será incluir el comando de ejecutar en nuestro editor. Recomiendo usar Notepad++ o Scite, ambos los he probado y funcionan bien.En fin, para terminar decir que es un lujo a la hora de probar pruebas de concepto, por sencillez y comodidad, pero no lo recomendaría para un proyecto profesional con el que quieras ganar dinero. Los ejemplos vistos los he subido a mediafire si queréis echarles un vistazo. Están en formato
.love pero eso no es más que los recursos en un zip y renombrar la extensión.Si alguno tenía el gusanillo de meterse en el desarrollo de juegos pero no terminaba de decidirse, le recomiendo que le de un intento a esta plataforma.






