LÖVE é um framework incrível que você pode usar pra fazer jogos 2D em Lua.
É grátis, open-source e funciona com, e para, Windows, Mac OS X, Linux, Android e iOS.
Oficialmente é para essas plataformas, mas no fórum da engine você pode encontrar libs para portar seu game para outras plataformas, como 3DS, por exemplo.
Diferente do RPG Maker, LOVE2D não tem uma interface gráfica, você precisa fazer(quase) tudo manualmente.
Vou agora fazer um tutorial de como configurar tudo pra poder rodar a engine.
Os links pra baixar a engine:
Site da engine com links para Mac e Linux
Versão para 32 Bits
Versão para 64 Bits
Além do framework, vocês irão precisar de um editor de texto. Pode ser qualquer um, porém os que eu já usei e recomendo é o Atom pra linux, o ZeroBrane Studios para Windows ou Fraise para o MacOS.
Escolha um e clique no nome para baixar.
O Atom funciona no Windows e o ZeroBrane funciona no linux. Porém por preferência minha eu uso o Atom no linux e o ZeroBrane no Windows. Já o Fraise não posso opinar, nunca usei mas é o que recomendam no fórum do LOVE2D.
Além desses 3 existem outros muito bons também como o Sublime pra Linux/Win/Mac(porém é pago), Geany também para os 3 sistemas, SciTE para Linux e Windows e etc... Basicamente qualquer editor de texto, isso inclui bloco de notas ou até mesmo o terminal do linux(inclusive é muito bom pois tem um "debugger" próprio).
Certo, agora que temos a engine e temos o editor de texto, vamos configurar tudo xD
O básico
Crie uma pasta para o Love2D em algum lugar, no meu caso criei na área de trabalho.
Crie um atalho para o love dentro dessa pasta e crie uma pasta com o nome do seu jogo.
Dentro dessa pasta crie 2 arquivos.
Um chamado main.lua e um chamado conf.lua e abra o main.lua usando seu editor de texto favorito.
Dentro do main.lua, você só precisa de 6 linhas pra começar o código.
Explicando o código
O love.load() carrega uma vez(e apenas uma) no começo do jogo. Aqui você vai, provavelmente(?) carregar seus assets, como os sprites ou arquivos de música, por exemplo.
A love.update(dt) é a função que é chamada a cada frame e "atualiza" o jogo com a informação que fica dentro.
Aqui você vai fazer, por exemplo, o movimento do jogador. Detectando o pressionar do botão a cada frame e realizando uma ação posterior.
O dt dentro dos parênteses significa "delta time". É o tempo que levou entre um frame e outro. Você pode usar esse tempo pra fazer com que a velocidade do player seja algo fixo, não importando a quantos frames o jogo está rodando, por exemplo.
A love.draw() é a função que, também chamada a cada frame, desenha na tela do usuário. Aqui você vai projetar os assets carregados no .load() com a informação adquirida no .update().
Considerações finais
Duvido que alguém que use RPGM se interesse pelo LOVE2D, pois acredito que a escolha do RPGM devesse pela sua a simplicidade/praticidade enquanto o LOVE2D é exatamente o oposto, mas gostaria de compartilhar essa engine por aqui então decidi fazer o tópico.
Como já disse, não sou nenhuma programadora formada, o que sei de lua foi o que aprendi desde que baixei a engine, porém aprendo rápido :P
Qualquer dúvida que eu possa responder, eu irei, é só fazer xD
E valeu pelo ícone, acho que sem querer eu mandei o tópico pra avaliação de novo pois cliquei pra editar pra trocar o ícone(mão vi que já tinha colocado)
Obrigado por visitar a The Game Makers Brasil Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais. |
[LÖVE2D] Conhecendo e configurando a engine
[LÖVE2D] Conhecendo e configurando a engine
LÖVE é um framework incrível que você pode usar pra fazer jogos 2D em Lua.
É grátis, open-source e funciona com, e para, Windows, Mac OS X, Linux, Android e iOS.
Oficialmente é para essas plataformas, mas no fórum da engine você pode encontrar libs para portar seu game para outras plataformas, como 3DS, por exemplo.
Diferente do RPG Maker, LOVE2D não tem uma interface gráfica, você precisa fazer(quase) tudo manualmente.
Vou agora fazer um tutorial de como configurar tudo pra poder rodar a engine.
Os links pra baixar a engine:
Site da engine com links para Mac e Linux
Versão para 32 Bits
Versão para 64 Bits
Além do framework, vocês irão precisar de um editor de texto. Pode ser qualquer um, porém os que eu já usei e recomendo é o Atom pra linux, o ZeroBrane Studios para Windows ou Fraise para o MacOS.
Escolha um e clique no nome para baixar.
O Atom funciona no Windows e o ZeroBrane funciona no linux. Porém por preferência minha eu uso o Atom no linux e o ZeroBrane no Windows. Já o Fraise não posso opinar, nunca usei mas é o que recomendam no fórum do LOVE2D.
Além desses 3 existem outros muito bons também como o Sublime pra Linux/Win/Mac(porém é pago), Geany também para os 3 sistemas, SciTE para Linux e Windows e etc... Basicamente qualquer editor de texto, isso inclui bloco de notas ou até mesmo o terminal do linux(inclusive é muito bom pois tem um "debugger" próprio).
Certo, agora que temos a engine e temos o editor de texto, vamos configurar tudo xD
O básico
Crie uma pasta para o Love2D em algum lugar, no meu caso criei na área de trabalho.
Crie um atalho para o love dentro dessa pasta e crie uma pasta com o nome do seu jogo.
Dentro dessa pasta crie 2 arquivos.
Um chamado main.lua e um chamado conf.lua e abra o main.lua usando seu editor de texto favorito.
Dentro do main.lua, você só precisa de 6 linhas pra começar o código.
Explicando o código
O love.load() carrega uma vez(e apenas uma) no começo do jogo. Aqui você vai, provavelmente(?) carregar seus assets, como os sprites ou arquivos de música, por exemplo.
A love.update(dt) é a função que é chamada a cada frame e "atualiza" o jogo com a informação que fica dentro.
Aqui você vai fazer, por exemplo, o movimento do jogador. Detectando o pressionar do botão a cada frame e realizando uma ação posterior.
O dt dentro dos parênteses significa "delta time". É o tempo que levou entre um frame e outro. Você pode usar esse tempo pra fazer com que a velocidade do player seja algo fixo, não importando a quantos frames o jogo está rodando, por exemplo.
A love.draw() é a função que, também chamada a cada frame, desenha na tela do usuário. Aqui você vai projetar os assets carregados no .load() com a informação adquirida no .update().
Considerações finais
Duvido que alguém que use RPGM se interesse pelo LOVE2D, pois acredito que a escolha do RPGM devesse pela sua a simplicidade/praticidade enquanto o LOVE2D é exatamente o oposto, mas gostaria de compartilhar essa engine por aqui então decidi fazer o tópico.
Como já disse, não sou nenhuma programadora formada, o que sei de lua foi o que aprendi desde que baixei a engine, porém aprendo rápido :P
Qualquer dúvida que eu possa responder, eu irei, é só fazer xD
Editado pela última vez por Kawthar em Qui Fev 09, 2017 1:24 pm, em um total de 1 vez.
- gabrielsch
- Colaborador
- Reações: 0
- Mensagens: 234
-
Re: [LÖVE2D] Conhecendo e configurando a engine
Ótimo tópico! Eu nunca cheguei a desenvolver com Love2D mas sou muito fã de Lua por ser uma linguagem fantástica. Vendo a documentação mais a fundo da Love2D a framework parece ser extremamente bem organizada e de fácil entendimento.
P.S: Adicionei um ícone da Love2D para adicionar no teu tópico.
P.S: Adicionei um ícone da Love2D para adicionar no teu tópico.
Re: [LÖVE2D] Conhecendo e configurando a engine
Eu usava engines como Game Maker ou Construct pela praticidade de ter tudo ali, nem precisar tocar em código, praticamente. Mas como eu nunca ia até o final com um projeto eu decidi aproveitar essas minhas falhas tentativas para aprender programação. O Love2D me ajudou muito nisso xDgabrielsch escreveu:Ótimo tópico! Eu nunca cheguei a desenvolver com Love2D mas sou muito fã de Lua por ser uma linguagem fantástica. Vendo a documentação mais a fundo da Love2D a framework parece ser extremamente bem organizada e de fácil entendimento.
P.S: Adicionei um ícone da Love2D para adicionar no teu tópico.
E valeu pelo ícone, acho que sem querer eu mandei o tópico pra avaliação de novo pois cliquei pra editar pra trocar o ícone(mão vi que já tinha colocado)
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitante