History: Crea juegos con Love2d

Revision made 7 years ago by Jakub Janarek. Go to the last revision.

Love2d o LÖVE es un framework, o un conjunto de funcionalidades, que permite hacer juegos chulísimos con Lua, y su fuerte son los juegos de plataformas o en 2d. Es simple, es potente, y también mola imporesionar a tus amigos con un clon de Mario Bros, que vamos a hacer aquí.

Para aprovechar el tutorial, descárgate Love2d en https://love2d.org/ y para escribir los programas, si no tienes un Linux o macOS, la cosa se hace más sencilla con el programa Zerobrane, que lleva Lua presinstalado:

https://studio.zerobrane.com/download

Una vez que tengas toso, pasemos a aprender el framework. Si no sabes Lua, te recomiendo nuestro curso en Libre University:

https://es.libre.university/lesson/B1Pll0oCg

La estructura básica

Funciones elementales y el tema de paquetes

El juego más básico en Love es un archivo main.lua ubicado en una carpeta que puede tener otros archivos de Lua, imágenes, música para el juego. En esencia la estructura de un main.lua es:

function love.load()
  -- aquí creamos todos los objetos del juego
end

function love.update() 
  -- love.update() puede tomar un parámetro de tiempo dt
  
  -- aquí cambiamos el estado de los objetos
  -- es la lógica interna del juego
end

function love.draw()
  -- aquí dibujamos los objetos en pantalla
end

El love.bla viene de que tenemos que importar la función de Love, no la hacemos nosotros desde 0 que digamos. No sé si te acuerdas, pero en la clase de Lua vimos una función, io.write, que escribía el texto en la pantalla o consola. Era, en realidad, la función write del paquete io, de entrada y salida de texto. Lua tiene algunos paquetes incluidos, tipo math, table, io, y otros, como love los podemos instalar nosotros, ampliando así las posibilidades del lenguaje.