CRIE JOGOS COM LUA - GAME ENGINES QUE UTILIZAM A LINGUAGEM LUA (love 2d e defold)

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 ม.ค. 2025

ความคิดเห็น • 50

  • @mayconnazareth1
    @mayconnazareth1 10 หลายเดือนก่อน +8

    Fala Jorge, se puder fazer o video das engines m agradeço

    • @luaverse
      @luaverse  10 หลายเดือนก่อน

      Fico feliz que tenha interesse, vou fazer sim! Já tô escrevendo alguns vídeos sobre love

    • @luaverse
      @luaverse  10 หลายเดือนก่อน +1

      E estudando a defold

    • @luaverse
      @luaverse  9 หลายเดือนก่อน +2

      Opa Maycon, já postei o primeiro vídeo sobre a engine love

  • @zekieu
    @zekieu หลายเดือนก่อน +1

    Faz um tutorial usando a defold quase não tem tutoriais no TH-cam que ensina a usar defold e os poucos que tem são antigos,

  • @diegomarinho1730
    @diegomarinho1730 10 หลายเดือนก่อน +1

    Seu conteúdo é muito bom. Parabéns!
    Tenho dado uma olhada no Love, Solar 2D e Defold...pra fazer uns projetinhos, e tenho gostado muito da linguagem Lua. Essas ferramentas são muito poderosas e simplificam muita coisa... só tirando algumas coisas relacionadas à entrada de texto que é um pouco mais complicado, nessas engines e bibliotecas que utilizam Lua como linguagem nativa, em comparação a Unity , Gdevelop e outras que utilizam Java , C ++ e C# . Mas no geral dá pra fazer muita coisa com Love e com Defold. Vale muito a pena aprender a usar essas ferramentas.

    • @luaverse
      @luaverse  10 หลายเดือนก่อน +1

      Olá Diego, fico feliz que tenha gostado dos meus vídeos! Em breve teremos aulas de Love e posteriormente de defold!!

  • @salesrjai
    @salesrjai 2 วันที่ผ่านมา

    Fala garoto!!!! faz sim por favor!!!

    • @luaverse
      @luaverse  2 วันที่ผ่านมา

      Boa

  • @moscamorta2716
    @moscamorta2716 8 หลายเดือนก่อน +1

    Cara, poderia fazer os videos mostrando o tutoriais de coisas básicas da Game Engine Defold e do Framework Love2D?
    Aqui no TH-cam Br eh bem difícil de ter esse tipo de conteúdo. Ótimo video, Valeu!

    • @luaverse
      @luaverse  8 หลายเดือนก่อน +1

      Opa, eu tô fazendo uma playlist de love, no momento só tem um vídeo, mas tô gravando mais

    • @luaverse
      @luaverse  8 หลายเดือนก่อน

      Da uma olhada nas minhas playlists que tbm tem aulas de Lua, obrigado por assistir meus vídeos

    • @Markulynoo
      @Markulynoo 7 หลายเดือนก่อน +1

      Cara por favor faz um curso completo de desenvolvimento de jogos usando Love2d por favorr;)
      Quase não tem conteúdo em português de Love :(​@@luaverse

    • @luaverse
      @luaverse  7 หลายเดือนก่อน +1

      @@Markulynoo está nos planos sim, tem uma playlist aqui que vou alimentar com vídeos de love

    • @Markulynoo
      @Markulynoo 7 หลายเดือนก่อน

      @@luaverse eu peço com muito carinho que você não desista deste projeto...

  • @bissiatti
    @bissiatti 10 หลายเดือนก่อน +6

    Love2d é perfeita para fazer qualquer protótipo de um jogo 2d porque é muito simples e fácil (ao contraio de outros frameworks como o pygame).
    E se quiser fazer um jogo maior eu recomendo integrar Love2d + sti + tiled. Onde o tiled é uma ferramenta de interface gráfica para criar seus próprios mapas.

    • @luaverse
      @luaverse  10 หลายเดือนก่อน +1

      Exatamente!! Essas ferramentas são muito boas e muito fácil de começar a usar

  • @danielbitencourt
    @danielbitencourt 10 หลายเดือนก่อน +3

    Estou migrando de Godot para o Defold, queria saber como é a experiência de exportar jogos no Defold para web e mobile, pois o Godot tem problemas de compatibilidade com web e os exports são pesados, por esses motivos estou migrando.

    • @luaverse
      @luaverse  10 หลายเดือนก่อน +1

      Cara, nos meus testes foi tranquilo, mobile fica um pouco pesado, mas acredito que todas engine vão ficar um pouco...

    • @luaverse
      @luaverse  10 หลายเดือนก่อน +2

      Ainda vou fazer uma série de vídeos programando com o defold

  • @saylon-gabriel
    @saylon-gabriel 10 หลายเดือนก่อน +4

    Eu uso LÖVE, como eu tô sem PC no momento eu consigo usa-la no celular

    • @luaverse
      @luaverse  10 หลายเดือนก่อน +2

      Opa, é uma engine bem legal né?

    • @saylon-gabriel
      @saylon-gabriel 9 หลายเดือนก่อน

      @@luaverse Sim

  • @nicolas_navega
    @nicolas_navega 22 วันที่ผ่านมา +1

    Tem também a leadwerks e a Cocos Creator

    • @luaverse
      @luaverse  22 วันที่ผ่านมา

      @nicolas_navega boa, essa leadwerks eu não conheço, mas a cocos é bem famosa

  • @gr-source
    @gr-source 9 หลายเดือนก่อน +1

    Trás um vídeo sobre a cave engine

    • @luaverse
      @luaverse  9 หลายเดือนก่อน

      Opa, vou fazer sim!

  • @GUILHERME83844
    @GUILHERME83844 8 หลายเดือนก่อน

    Sabe me dizer como foi feito oa jogos como gta rp, world of Warcraft e Ragnarok online? Quais ferramentas usaram? Na parte de lua

    • @luaverse
      @luaverse  8 หลายเดือนก่อน

      Nesses jogos, ele tem o "motor" feito em C++ mas a "scriptagem" do motor é feito com lua, ou seja, eles embutiram a linguagem dentro do jogo e expuseram "funções" que chamamos de API do motor que são feitas em c++ para serem chamadas a partir de lua, isso facilita muito fazer novos npcs novos sistemas e várias outras coisas

  • @cesiodomeia-ponte444
    @cesiodomeia-ponte444 14 วันที่ผ่านมา

    Esse LOVE2D seria bom pra fazer um jogo de tabuleiro online?

    • @luaverse
      @luaverse  13 วันที่ผ่านมา

      @@cesiodomeia-ponte444 sim, ele te dá todas as ferramentas que precisa, mas vc precisa implementar tudo do zero. Porém da pra fazer sim, inclusive balatro foi feito com love2d

  • @eltrem_th
    @eltrem_th 10 หลายเดือนก่อน

    faaala mais sobre esses jogos aí meu amigo!

    • @luaverse
      @luaverse  10 หลายเดือนก่อน +1

      Vou falar

    • @luaverse
      @luaverse  10 หลายเดือนก่อน +1

      Vou fazer um vídeo sobre

    • @eltrem_th
      @eltrem_th 7 หลายเดือนก่อน

      @@luaverse cadêe heiim

  • @eltrem_th
    @eltrem_th 2 หลายเดือนก่อน

    fala sobre a GLYYYY ENgINE

    • @luaverse
      @luaverse  2 หลายเดือนก่อน +1

      Vou falar!

    • @eltrem_th
      @eltrem_th 2 หลายเดือนก่อน

      @@luaverse quando?

    • @luaverse
      @luaverse  2 หลายเดือนก่อน +1

      @@eltrem_th aguarde kkk não vou prometer data

    • @eltrem_th
      @eltrem_th 2 หลายเดือนก่อน

      @@luaverse ai ai ai ksksk

  • @brunomaia4980
    @brunomaia4980 3 หลายเดือนก่อน

    falto robloxstudio:)

    • @luaverse
      @luaverse  3 หลายเดือนก่อน

      @@brunomaia4980 vou tentar gravar

  • @moiiza
    @moiiza 8 หลายเดือนก่อน +1

    Help** error NPC.
    local isMovingnpc = false

    npc1.timer = npc1.timer + dt
    if npc1.timer > npc1.moveDuration then
    npc1.timer = 0
    local direction = love.math.random(1, 5)
    local npc1vx, npc1vy = 0, 0


    if direction == 1 then
    npc1vy = -npc1.speed
    npc1.anim = npc1.animations.up
    isMovingnpc = true
    end

    if direction == 2 then

    npc1vy = npc1.speed
    npc1.anim = npc1.animations.down
    isMovingnpc = true
    end
    if direction == 3 then

    npc1vx = -npc1.speed
    npc1.anim = npc1.animations.left
    isMovingnpc = true
    end
    if direction == 4 then

    npc1vx = npc1.speed
    npc1.anim = npc1.animations.right
    isMovingnpc = true
    end
    if direction == 5 then
    isMovingnpc = true
    npc1vx, npc1vy = 0, 0


    end

    npc1.collider:setLinearVelocity(npc1vx, npc1vy)

    if not isMovingnpc then
    npc1.anim:gotoFrame(2)
    end


    end
    ME AJUDA... O NPC NAO VAI PARA O "FRAME 2" DA GRADE. ELE CONTINUA SE MOVENDO. ONDE ESTOU ERRANDO?

    • @moiiza
      @moiiza 8 หลายเดือนก่อน

      CODIGO COMPLETO.
      function love.load()
      wf = require 'libraries/windfield'
      world = wf.newWorld(0, 0)

      camera = require 'libraries/camera'
      anim8 = require 'libraries/anim8'
      sti = require 'libraries/sti'

      love.graphics.setDefaultFilter("nearest", "nearest")

      cam = camera()
      cam:zoom(5) -- Definindo o zoom

      gameMap = sti('maps/mapa1.lua')
      player = {}
      player.collider = world:newBSGRectangleCollider(400,250, 10, 20,5)
      player.collider:setFixedRotation(true)
      player.x = 400
      player.y = 200
      player.speed = 50
      player.spriteSheet = love.graphics.newImage('sprites/personagens/warrior_m.png')
      player.grid = anim8.newGrid(32, 36, player.spriteSheet:getWidth(), player.spriteSheet:getHeight())

      player.animations = {}
      player.animations.up = anim8.newAnimation(player.grid('1-3', 1), 0.2)
      player.animations.right = anim8.newAnimation(player.grid('1-3', 2), 0.2)
      player.animations.down = anim8.newAnimation(player.grid('1-3', 3), 0.2)
      player.animations.left = anim8.newAnimation(player.grid('1-3', 4), 0.2)

      player.anim = player.animations.left

      npc1 = {}
      npc1.collider = world:newBSGRectangleCollider(450, 250, 10, 20, 5)
      npc1.collider:setFixedRotation(true)
      npc1.x = 450
      npc1.y = 200
      npc1.speed = 30
      npc1.spriteSheet = love.graphics.newImage('sprites/personagens/mage_f.png')
      npc1.grid = anim8.newGrid(32, 36, npc1.spriteSheet:getWidth(), npc1.spriteSheet:getHeight())
      npc1.animations = {}
      npc1.animations.up = anim8.newAnimation(npc1.grid('1-3', 1), 0.2)
      npc1.animations.right = anim8.newAnimation(npc1.grid('1-3', 2), 0.2)
      npc1.animations.down = anim8.newAnimation(npc1.grid('1-3', 3), 0.2)
      npc1.animations.left = anim8.newAnimation(npc1.grid('1-3', 4), 0.2)

      npc1.anim = npc1.animations.left

      parede = {}
      if gameMap.layers["parede"] then
      for i, obj in pairs(gameMap.layers["parede"].objects) do
      local arvores = world:newRectangleCollider(obj.x , obj.y, obj.width, obj.height)
      arvores:setType('static')
      table.insert(parede, arvores)
      end
      end
      -- Variáveis de controle de tempo para o NPC
      npc1.timer = 0
      npc1.moveDuration = 4 -- Duração do movimento em cada direção
      npc1.anim = npc1.animations.left
      end
      function love.update(dt)
      local isMoving = false
      local vx, vy = 0, 0

      -- Verifica as teclas de movimento do jogador
      if love.keyboard.isDown("right") then
      vx = player.speed
      player.anim = player.animations.right
      isMoving = true
      elseif love.keyboard.isDown("left") then
      vx = -player.speed
      player.anim = player.animations.left
      isMoving = true
      elseif love.keyboard.isDown("down") then
      vy = player.speed
      player.anim = player.animations.down
      isMoving = true
      elseif love.keyboard.isDown("up") then
      vy = -player.speed
      player.anim = player.animations.up
      isMoving = true
      end

      -- Define a velocidade do jogador
      player.collider:setLinearVelocity(vx, vy)

      -- Verifica se o jogador não está se movendo para ajustar a animação
      if not isMoving then
      player.anim:gotoFrame(2)
      end

      npc1.timer = npc1.timer + dt

      -- Lógica de movimento do NPC
      local isMovingnpc = false

      npc1.timer = npc1.timer + dt
      if npc1.timer > npc1.moveDuration then
      npc1.timer = 0
      local direction = love.math.random(1, 5)
      local npc1vx, npc1vy = 0, 0


      if direction == 1 then
      npc1vy = -npc1.speed
      npc1.anim = npc1.animations.up
      isMovingnpc = true
      end

      if direction == 2 then

      npc1vy = npc1.speed
      npc1.anim = npc1.animations.down
      isMovingnpc = true
      end
      if direction == 3 then

      npc1vx = -npc1.speed
      npc1.anim = npc1.animations.left
      isMovingnpc = true
      end
      if direction == 4 then

      npc1vx = npc1.speed
      npc1.anim = npc1.animations.right
      isMovingnpc = true
      end
      if direction == 5 then
      isMovingnpc = true
      npc1vx, npc1vy = 0, 0


      end

      npc1.collider:setLinearVelocity(npc1vx, npc1vy)

      if not isMovingnpc then
      npc1.anim:gotoFrame(2)
      end


      end


      world:update(dt)
      player.x = player.collider:getX()
      player.y = player.collider:getY()
      player.anim:update(dt)

      npc1.x = npc1.collider:getX()
      npc1.y = npc1.collider:getY()
      npc1.anim:update(dt)

      cam:lookAt(player.x, player.y)
      end

      function love.draw()
      cam:attach()
      gameMap:drawLayer(gameMap.layers["terreno"])
      player.anim:draw(player.spriteSheet, player.x, player.y, nil, 0.5, nil, 16, 18)
      npc1.anim:draw(npc1.spriteSheet, npc1.x, npc1.y, nil, 0.5, nil, 16, 18)
      gameMap:drawLayer(gameMap.layers["arvores"])
      cam:detach()
      end

    • @luaverse
      @luaverse  8 หลายเดือนก่อน

      Boa noite, cara entra lá no nosso grupo que a galera te ajuda a resolver, mas eu olhei seu código por cima acho que a gente precisa de mais contexto pra te ajudar, vou fazer uns testes aqui se descobrir o que é eu te mando um comentário aqui

    • @luaverse
      @luaverse  8 หลายเดือนก่อน

      Lá no grupo tem muita gente que entende de love chat.whatsapp.com/LX6j4AIPTTtB8WGYUMgLH8

    • @moiiza
      @moiiza 8 หลายเดือนก่อน

      @@luaverse esta bem vou entrar

    • @luaverse
      @luaverse  8 หลายเดือนก่อน

      @@moiiza opa beleza! Vvamos conseguir te ajudar

  • @cesiodomeia-ponte444
    @cesiodomeia-ponte444 14 วันที่ผ่านมา

    O link do grupo de whatsapp não está funcionando

    • @luaverse
      @luaverse  13 วันที่ผ่านมา

      @@cesiodomeia-ponte444 chat.whatsapp.com/E4U4PKFVpi5GhF6AmjVLRr