Live data from Hacker News

Building Game Prototypes with LÖVE

healeycodes.com

61–70 of 81 posts

Re: Building Game Prototypes with LÖVE

#61

I'm a big fan of Love and Lua, but one thing that always bothered me was that there's no real "great" solutions for a) cross platform/web/mobile distribution. I know there are 3rd party solutions but for as mature as the framework is, you'd think it could get a first party solution. The same goes for several API's that you'd think are core to game making, like sprite animations. There are fairly mature libraries, but…

> cross platform/web/mobile distribution

Unfortunately, each and every platform has its own unique quirks[^], and I think the problem is too large for a project like LÖVE to tackle.

In fact, LÖVE's authors have already done "90% of the work in 10% of the code": you can make a ZIP file, change the extension to .love, and just distribute that. Install LÖVE, double-click YourGame.love, and you're done. You can also concatenate the game executable with the ZIP file to create a self-contained binary distribution for that target platform (super old & cute trick; it's possible because ZIP's "header" is in fact, at the end of the archive).

[^]: In 2016 I've attempted a "one game per month" challenge; but I also wanted to distribute executables for Windows, macOS, and Linux, so that all of my friends could just play them. It went something like this:

- Windows: distributing executables from your personal domain is considered a crime; the browser and the OS will yell at the user, block the download, blacklist you, etc.

- macOS: simply concatenating won't work; you need an elaborate dance to create a .app bundle, and distribute that in a .dmg - good luck building that on a Linux host, also good luck debugging without an actual Mac. Nevermind code signing, you can bypass that with shift-right-click-open. Oh wait, macOS 15 won't let you.

- Linux: are you ready for the .so hell?

- BSD: bonus! The documentation for SDL_GetPlatform doesn't even enumerate all of the possible values! You need to source-dive to get them: https://github.com/libsdl-org/SDL/blob/f45ce45603a00e92332f9... - plus any possible patches in ports; most developers won't ever care, and will just hardcode "Linux". Checking for $DISPLAY is also unreliable: macOS users may have XQuartz installed, Wayland purists may run without XWayland, etc.

Re: Building Game Prototypes with LÖVE

#63
post #61

I'm a big fan of Love and Lua, but one thing that always bothered me was that there's no real "great" solutions for a) cross platform/web/mobile distribution. I know there are 3rd party solutions but for as mature as the framework is, you'd think it could get a first party solution. The same goes for several API's that you'd think are core to game making, like sprite animations. There are fairly mature libraries, but…

> cross platform/web/mobile distribution Unfortunately, each and every platform has its own unique quirks[^], and I think the problem is too large for a project like LÖVE to tackle. In fact, LÖVE's authors have already done "90% of the work in 10% of the code": you can make a ZIP file, change the extension to .love, and just distribute that. Install LÖVE, double-click YourGame.love, and you're done. You can also conc…

DragonRuby did it: https://dragonruby.org/

Re: Building Game Prototypes with LÖVE

#64

Earlier quoted context omitted.

Balatro doesn't have ads but it does have achievements and game center. As much as I'd like my game to spread as far and wide as Balatro, I understand that it won't, not anywhere close. It's just not going to have the polish that Balatro has (I don't have the time or energy, I'm in my 40s with a spouse and a day job). But hopefully it will be fun to play (it is a more fully-featured remake of an old free web game I m…

Sure, making money with games is hard and I guess you have to have ads unless you strike it big. I just wish mobile gaming went a different way, but that's not the world we live in. Best of luck to you and your project.

I'm also planning to release it on Steam, and it will be an upfront cost there.

Also after paying the 'remove ads' price, which will likely be cheaper than the price I'm planning to sell it for on Steam (thinking $2.99 for mobile right now), the game will effectively become the same as the Steam version anyway.

I agree that it sucks. I wish I could just put $2.99 as the price and it would still have a chance of selling decently. One of the iOS games I made a long time ago I did exactly that (actually I priced it at $1.99). But people were also willing to pay $1-2 for Angry Bird-style mobile games by the millions back then.

Now there are so many free games on there, they seem to just skip over to the next free game instead, and maybe pay to have ads removed (my own partner does this, bounce from free game to free game, and if she likes the game she pays to remove the ads).

Re: Building Game Prototypes with LÖVE

#65
post #61

Earlier quoted context omitted.

> cross platform/web/mobile distribution Unfortunately, each and every platform has its own unique quirks[^], and I think the problem is too large for a project like LÖVE to tackle. In fact, LÖVE's authors have already done "90% of the work in 10% of the code": you can make a ZIP file, change the extension to .love, and just distribute that. Install LÖVE, double-click YourGame.love, and you're done. You can also conc…

DragonRuby did it: https://dragonruby.org/

And many other frameworks did it too. LÖVE decided it's out of scope, and that's a 100% valid choice, considering the breadth and complexity of the problem. They still went quite far in ensuring it's no more difficult than it actually needs to be. Similar with e.g. cross-compiling Go programs (unfortunately, no cgo-less, cross-platform framework for interacting with windowing systems/video hardware exists).

Re: Building Game Prototypes with LÖVE

#66

I'm a big fan of Love and Lua, but one thing that always bothered me was that there's no real "great" solutions for a) cross platform/web/mobile distribution. I know there are 3rd party solutions but for as mature as the framework is, you'd think it could get a first party solution. The same goes for several API's that you'd think are core to game making, like sprite animations. There are fairly mature libraries, but…

Defold is not as well-known as Löve, but it seems to fit your description: https://defold.com/

Re: Building Game Prototypes with LÖVE

#68

Earlier quoted context omitted.

That's true. I have managed to expose some native apis from iOS, web, Windows and Steam but that is far less straightforward and the LLM is sure it knows what to do and it does NOT. Web searches are not great either.

If you've found anything online that has helped you get that working, if you remember and don't mind sharing I'd appreciate it.

I wrote a gist for you

https://gist.github.com/kellydornhaus/45b8571807ec3ca659ea50...

Re: Building Game Prototypes with LÖVE

#69
post #9

The article gives a sketch of three games the author built. It sounds like the velocity was provided by consulting LLMs. It’s fun. I wonder if the creative feeling is an illusion, though. Does the fact that the LLM doesn’t feel like it is directly copying work it has ingested make the experience feel different than just ripping off a project you find on GitHub? Anyway, I would be very interested in a write up that gi…

The current capability of LLMs feels perfect for bouncing high-level, "What are ways people commonly do X" or "How do I handle this architectural problem I'm having" off of.

I'm building a game in Monogame / C# right now, and LLMs have been great to help point me in the right direction or suggest architectural patterns I'm less familiar with to investigate.

e.g.

    If I have a GameStateManager, an InputManager, and a UIManager, and I represent input events as an enum of GameCommand's, what is a good way to register callback functions from these objects with the InputManager to trigger actions on particular game commands?
or

    Is it common when using an Entity Component System framework to manage the UI using ECS? Or is the UI often managed separately using a more familiar object-oriented approach?
They don't give me perfectly working solutions, but they do give me inspiration and additional lines of inquiry.

Re: Building Game Prototypes with LÖVE

#70

Earlier quoted context omitted.

Getting it built isn't too bad (at least iOS and Android, Web was giving me WebAssembly errors I couldn't figure out), but accessing native functionality seems harder and do not have any good tutorials (a couple really old discussions online that are probably out of date is all I could find). Like if you want to release a game on iOS you're going to need some sort of Ad framework and access its game center for achiev…

Why would you need an Ad framework and achievements? Isn't balatro a prime example of a game simply being a paid app? No ads, no bullshit. Just a game and a pricetag.

My 2c having released both premium and free apps on iOS and Android: premium apps do not sell. People don’t want to fork over any amount of money just to try an app that they may or may not enjoy. You can still make _some_ money, and get some downloads, that way, but it’s just completely incomparable to making it free.

Some rough numbers from my recollection: I released Card Crusade (deck building mobile game) for $4 back in 2019 and i think in the first year we got about 2k-3k downloads total. When we made it free in early 2020 we got 25k downloads in the first _week_. The revenue was less for us as a free app, but that’s with no ads and IMO we designed the IAPs pretty poorly.

But, a while after making it free, we accrued enough positive reviews that the iOS App Store started recommending the game to more people, so we have a steady 200+ downloads per week, despite not having updated the game since 2020!

I released another premium mobile game, Barnard’s Star, back in 2022 (and am still slowly updating it). Coincidentally, both apps make roughly the same amount of money (about $500 every 6 months), but Barnard’s Star makes that money from a fraction of the downloads… but the word of mouth effect (and game community) seems like it would be a lot stronger with f2p. So I’m planning on making Barnard’s Star free eventually (with hopefully better designed IAPs this time!).

One place where the “just a game and a price tag” model still works well is Steam. If i were trying to make a living off making games, I think I’d focus on releasing stuff there.

Post reply on HN