LÖVE: 2D Game Framework for Lua

(github.com)

84 points | by cl3misch 1 day ago

12 comments

  • patapong 1 hour ago
    One of the biggest recent indie hits, Balatro, was made in Löve!

    I really like it, the developer experience is so smooth for beginners, just drag a zip onto the exe and it starts. And the APIs are simple enough to memorize while allowing pretty cool rendering stuff.

    • bsimpson 14 minutes ago
      In case you're curious, here's a Nix derivation to make Balatro for any other system playable on Linux:

      https://github.com/NixOS/nixpkgs/tree/master/pkgs/by-name/ba...

      I wrote half a blog post when I did the derivation. One day, I should finish it and post it here.

    • KeplerBoy 1 hour ago
      Balatro ships with the entire unobfuscated Lua source by the way.

      I once checked if the odds stated on a card were implemented wrong. Turns out no, the code checks out, I'm just that unlucky.

      • __s 1 hour ago
        too bad universe doesn't ship with unobfuscated source so that you could see whether you're unlucky, or just skill issue
        • Tepix 1 hour ago
          The source is right there, you just have to grok it.
      • brooke2k 1 hour ago
        hahaha, I did the exact same thing after the game came out to see if wheel of fortune was really a 1/4 chance
        • mh- 42 minutes ago
          lol, love seeing that I'm not the only one who did this. Being suspicious of WoF was the first and last time I peeked at the Balatro source.
  • wwarren 1 hour ago
    I love LÖVE. For me it sits at the perfect intersection between high and low level abstraction. Unfortunately the latest released version is getting pretty long in the tooth now and a lot of devs use the latest HEAD from the repo since it has better performance and compatibility. One day the mythical 12.0 will get released for real…..
  • PacificSpecific 55 minutes ago
    I generally very much dislike dynamic languages but for some reason I've always really liked Lua. I'm not exactly sure why to be honest.

    Maybe because you can fit the whole language spec on a single sheet of paper and adding more advanced features is pretty easy.

    Love looks really cool. I never got into it personally but I still might

  • yehoshuapw 1 hour ago
    my favorite game in love: mario, with portals

    https://stabyourself.net/mari0/

    • seqizz 1 hour ago
      I looove stabyourself. ortho robot was amazing. you know what, let me install again.. here goes my night.
  • nout 14 minutes ago
    Am I really the first one to mention pico8 in this thread? Anyway, pico8 is another option that has a bit different spin, but you also implement the games in Lua :)
  • K0IN 54 minutes ago
    I love löve I did some projects in it, lua was one of my fist programming language, i think it's a great fit for game dev.

    Also move or die is running on love2d, which is an awesome game.

    Also I love that trick that you can just zip your files and binary Comcast them to the love2d binary and it will load it.

  • raincole 1 hour ago
    Btw, Love2D is based on SDL2. If you hate Lua but needs the same cross-platform capabilities, you can use an SDL2 binding in other languages or make your own.
    • newobj 57 minutes ago
      SDL3
      • jasonjmcghee 42 minutes ago
        Definitely SDL2.

        Author is currently building version 12 which will be using SDL3. But it's been in development for quite some time with no clear end date afaik.

        • krapp 16 minutes ago
          It is easy to get Lua (with LuaJIT) working with SDL3, though.

          That obviously isn't a replacement for the framework but it is perfectly doable if someone just wants to write a game in Lua with minimal overhead.

          Edit: I mention LuaJIT specifically because it lets you create metaclasses around C objects, which is much easier than messing with the Lua stack from C, and it's easy to, say, make a 2d vector class from an SDL Point or a spritesheet or what have you. There are a few rough edges like dealing with pointers and gc but to me it's the best of both worlds (the speed of C, and some implicit type checking, and the flexibility of Lua.)

          Obviously you could do it the hard way and the other way around with normal modern Lua but it's such a pain in the ass.

      • raincole 28 minutes ago
        As far as I know only the latest (unstable) version uses SDL3.
  • herczegzsolt 1 hour ago
    I've used this for many projects that are still working to this day.

    That said, i'm not impressed. A web-based solution is usually better performing, despite all the bloatware necessary. This says a lot about the state of software development unfortunately.

    • small_scombrus 1 hour ago
      It isn't web based? It's a set of Lua scripts that run locally
      • squeaky-clean 1 hour ago
        They are saying web based solutions often out perform LÖVE, even though you would expect the opposite because LÖVE doesn't have the bloat of a browser engine.
        • usrnm 1 hour ago
          Browser engines are probably some of the most optimized pieces of software in existence, so it doesn't surprise me at all.
  • p2detar 1 hour ago
    As someone that used to write 2D games with things like phaserjs, sdl and even directx7, I always regret I never tried Löve2d. I think Android and iOS packaging was also supported. Is this still the case? What if one wants to integrate IAP?
  • 0xCAP 1 hour ago
    My2c. Fintech tech lead who has only a far memory of hand coding games ages ago. Community makes tech awesome. Love2D discord changed my life. Never met a more awesome and welcoming community in my whole life.
  • davidkunz 46 minutes ago
    I haven't tried Löve, but I somehow enjoyed reading through the README.md, no AI slop, just a natural writing style with tiny indictors showing the authors' enthusiasm in creating software.
  • marcomezzavilla 15 minutes ago
    [dead]