[HN Gopher] LOVE: 2D Game Framework for Lua
___________________________________________________________________
LOVE: 2D Game Framework for Lua
Author : cl3misch
Score : 141 points
Date : 2026-04-04 09:20 UTC (1 days ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| wwarren wrote:
| I love LOVE. 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.....
| p2detar wrote:
| As someone that used to write 2D games with things like phaserjs,
| sdl and even directx7, I always regret I never tried Love2d. I
| think Android and iOS packaging was also supported. Is this still
| the case? What if one wants to integrate IAP?
| yehoshuapw wrote:
| my favorite game in love: mario, with portals
|
| https://stabyourself.net/mari0/
| seqizz wrote:
| I looove stabyourself. ortho robot was amazing. you know what,
| let me install again.. here goes my night.
| jgtrosh wrote:
| I like the Trosh game
| ranger_danger wrote:
| How have they not been sued by Nintendo yet?
| mid-kid wrote:
| Same reason all the other mario flash games haven't, not a
| critical enough mass.
| herczegzsolt wrote:
| 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 wrote:
| It isn't web based? It's a set of Lua scripts that run locally
| squeaky-clean wrote:
| They are saying web based solutions often out perform LOVE,
| even though you would expect the opposite because LOVE
| doesn't have the bloat of a browser engine.
| usrnm wrote:
| Browser engines are probably some of the most optimized
| pieces of software in existence, so it doesn't surprise me
| at all.
| wiseowise wrote:
| Explain this to electron haters.
| actuallyalys wrote:
| I don't usually push LOVE to its limits because I tend to make
| simple games as a hobby but I do keep an eye on its framerate
| and often it's in the 100s of frames per second. So it may not
| be impressive (in sense of winning benchmarks) but it's rarely
| perceivably slow.
| patapong wrote:
| One of the biggest recent indie hits, Balatro, was made in Love!
|
| 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.
| KeplerBoy wrote:
| 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 wrote:
| too bad universe doesn't ship with unobfuscated source so
| that you could see whether you're unlucky, or just skill
| issue
| Tepix wrote:
| The source is right there, you just have to grok it.
| Sardtok wrote:
| Well, it's kind of a machine code for a self-modifying
| compiler, so there's that.
| brooke2k wrote:
| 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- wrote:
| 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.
| QuantumNomad_ wrote:
| Game developers sometimes make the "randomness" favor the
| player, because of how we perceive randomness and chance.
|
| For example in Sid Meier's Memoir, this is mentioned.
|
| Quoting from a review of said book:
|
| > People hate randomness: To placate people's busted
| sense of randomness and overdeveloped sense of fairness,
| Civ Revolutions had to implement some interesting
| decisions: any 3:1 battle in favor of human became a
| guaranteed win. Too many randomly bad outcomes in a row
| were mitigated.
|
| https://smus.com/books/sid-meiers-memoir/
|
| Some threads on randomness and perceived fairness in
| video games can be found here on HN too, for example
| https://news.ycombinator.com/item?id=19399044
|
| The original link being discussed in that thread is 404
| now, but archived copies of the original link exist such
| as for example https://archive.is/8eVqt
| lovehashbrowns wrote:
| The 8-ball joker is even more BS. I think I've only seen
| it trigger once ever.
| mh- wrote:
| I've read the source a few years back. It's all
| implemented fairly as it says on the tin.
|
| I've long been suspicious of the RNG/seed
| implementation.. but not curious enough to automate
| testing of it, though.
| sfn42 wrote:
| I didn't know I could check but after losing like 20 times
| in a row I just stopped taking WoF. Never saw the good
| outcome.
| Levitating wrote:
| Not on steam does it? I can only see the exe and dlls.
| jared0x90 wrote:
| extract the exe like a zip file, that's how love packages
| itself. last i looked at the source myself it had comments
| in still from the dev
| Levitating wrote:
| yep that works
| bsimpson wrote:
| 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.
| Neywiny wrote:
| Haven't used it in almost 10 years but at least back then one
| sticky point was that unlike unity and the like, opening the
| exe didn't open an IDE. Just kind of a dummy window. Also
| building for Mac from Windows was a nightmare since my end user
| was not technically literate and it didn't just run on their
| end. But that's likely just a Mac issue
| raincole wrote:
| 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 wrote:
| SDL3
| jasonjmcghee wrote:
| 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 wrote:
| 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
| 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 wrote:
| As far as I know only the latest (unstable) version uses
| SDL3.
| onehair wrote:
| Now why would you hate lua of all things?
| raincole wrote:
| For all the reasons, but the 1-based index alone makes me
| uncomfortable.
| onsclom wrote:
| I don't necessarily hate Lua, but I prefer C and Raylib for
| game dev. Lua is garbage collected, dynamically typed, strays
| far from standard syntax patterns, and has less existing
| tooling than C.
|
| I see why people might hate Lua. Especially for game dev!
| 0xCAP wrote:
| 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.
| PacificSpecific wrote:
| 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
| turtledragonfly wrote:
| The Lua source code is also a masterclass in C, I recommend it
| to anyone learning that language. It's big enough to be an
| involved implementation, but small and focused and well-
| organized enough to (at least roughly) understand what's going
| on at the various layers. It's a very solidly-written mass of
| portable C, with only minor exceptions.
| PacificSpecific wrote:
| Oh I hadn't considered looking at the source but considering
| how minimal and clean Lua is I should have assumed so :)
|
| Thanks for the tip. That should make for a fun weekend
| K0IN wrote:
| I love love 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.
| davidkunz wrote:
| I haven't tried Love, 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.
| nout wrote:
| 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 :)
| opan wrote:
| TIC-80 is a nice free as in freedom alternative to PICO-8, and
| it allows more inputs, which makes for better Tetris games
| (gotta have that hold piece).
| alprado50 wrote:
| Is Love2D a decent option for gamedev compared to Godot? I
| finished a really simple game using Unity3D and it was fun, but
| it sucks to use a closed source engine.
| onehair wrote:
| Godot will be familiar to you if you then.
|
| Love on the other hand is 100% just code. You'll not have the
| gui things and the pletora of different components that go with
| them. Still gives you freedom. Just too much freedom and not as
| much helpful preset tools.
| VorpalWay wrote:
| How is it supposed to be pronounced? Is it just gratuitous
| diacritics? Or should I pronounce it in my native Swedish (where
| the names makes me think of leaves rather than love)?
|
| (Throwing diacritics on English words look extremely silly to me,
| since I know how aao are supposed to be pronounced. It makes
| something like Motorhead just sound laughable rather than metal.)
___________________________________________________________________
(page generated 2026-04-05 23:00 UTC)