Crie facilmente Jogos em Lua com LÖVE

❤️ Escrito em C++ e usa Lua como linguagem de script. Está disponível para Windows, macOS, Android, GNU+Linux e iOS.


Crie facilmente Jogos em Lua com LÖVE


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:

  • OpenGL;
  • UTF-8;
  • Imagens PNG, JPEG, GIF, TGA e BMP.
  • Formatos de áudio: WAV, OGG e MP3;
  • Pode ser usado em conjunto com Box2D para facilitar o uso de fórmulas da Física.

E entre diversos outros recursos.


Instalação

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:

LÖVE download

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: LÖVE janela inicial


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.


Criando um ‘Hello World’

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: LÖVE Hello World


Criando uma animação básica

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:

LÖVE eyes move


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:


gamedev lua cpp


Compartilhe


Nosso canal no Youtube

Inscreva-se


Marcos Oliveira

Marcos Oliveira

Desenvolvedor de software
https://github.com/terroo


Crie Aplicativos Gráficos para Linux e Windows com C++

Aprenda C++ Moderno e crie Games, Programas CLI, GUI e TUI de forma fácil.

Saiba Mais

Receba as novidades no seu e-mail!

Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!