LÖVE é um framework gratuito e de código-aberto para desenvolvimento de jogos.
Escrito em C++ e usa Lua como linguagem de script. Está disponível para Windows, macOS, Android, GNU+Linux e iOS.
LÖVE é muito conhecido nas Competições de Desenvolvimento de Games. Ele suporta e fornece diversos recursos do mundo #gamedev, tais como:
E entre diversos outros recursos.
O LÖVE, em resumo, é só um comando que recebe arquivos como parâmetro, ou seja, a instalação é baixar o binário e instalar. Mas, caso você queira compilar do zero, basta seguir as instruções de compilação descritas no repositório do GitHub.
Para fazer o download, vá até o endereço: https://love2d.org/ e clique na opção de acordo com seu sistema operacional e arquitetura:
No meu caso, eu optei por fazer o download do AppImage:
wget https://github.com/love2d/love/releases/download/11.5/love-11.5-x86_64.AppImage
chmod +x love-11.5-x86_64.AppImage
Pra rodar, basta executar o binário:
./love-11.5-x86_64.AppImage
Aparecerá uma janela com a animação de um balão estilo emoji com a cauda escrito: NO GAMES
:
Para instalar, use o comando install
em distros GNU+Linux:
Nesse caso, instalando e renomeando para o comando ser somente:
love
sudo install -v love-11.5-x86_64.AppImage /usr/local/bin/love
Saída:
'love-11.5-x86_64.AppImage' -> '/usr/local/bin/love'
.
Agora, para rodar, independente de onde você estiver, basta rodar o comando: love
!
Para o Windows, basta usar o PowerShell ou o Windows Terminal. Se quiser instalar, mova para unidade C:\
, de prefrẽncia dentro de uma pasta de nome LÖVE/love.exe
e adicione a PATH para usar somente como comando love
também.
Toda vez que você for desenvolver com LÖVE, eu aconselho criar uma pasta/diretório para seu projeto:
mkdir MyProjectLove
cd MyProjectLove
E dentro desse projeto, crie um arquivo Lua de nome: main.lua
e insira o código abaixo:
function love.draw()
love.graphics.print('Hello World!', 400, 300)
end
Esse código vai criar uma janela de largura 400px e altura de 300px e desenhará a frase: ‘Hello World’ nessa janela.
Para aprender Lua rapidamente acesse: https://terminalroot.com.br/lua.
OBSERVAÇÃO: Não rode:
love main.lua
. Isso não funciona!!! Você obterá uma janela azul de erro e informações como:Error: [love "boot.lua"]:330: Cannot load game at path ()...
.
Para rodar, você precisa executar o diretório onde está o código, ou seja, o diretório completo, se está no mesmo, logo é somente o ponto: (.
), assim:
love .
Aparecerá a janela:
Vamos criar uma animação básica de desenhar olhos na janela e mexê-los conforme movimentarmos o mouse. Edite o arquivo main.lua
e insira o código abaixo:
function love.draw()
function drawEye(eyeX, eyeY)
local distanceX = love.mouse.getX() - eyeX
local distanceY = love.mouse.getY() - eyeY
local distance = math.min(math.sqrt(distanceX^2 + distanceY^2), 30)
local angle = math.atan2(distanceY, distanceX)
local pupilX = eyeX + (math.cos(angle) * distance)
local pupilY = eyeY + (math.sin(angle) * distance)
love.graphics.setColor(1, 1, 1)
love.graphics.circle('fill', eyeX, eyeY, 50)
love.graphics.setColor(0, 0, .4)
love.graphics.circle('fill', pupilX, pupilY, 15)
end
drawEye(200, 200)
drawEye(330, 200)
end
E rode novamente:
love .
A saída será similar abaixo:
De acordo com esse artigo foi possível notar o quão fácil e interessante é usar o LÖVE. Existe uma infinidade de coisas sobre e para isso eu separei os links abaixo: