For Android you can also install the stand-alone LÖVE Loader app that can open .love files to play. Some games on itch.io comes with a .love-download (in addition to platform-specific executables), but I guess they can sometimes be extracted from other games too.
The .love-files, if provided or if they can be extracted from a game, are also useful on desktop, for playing the games in an operating system (like FreeBSD) that the game's developer did not provide binaries for.
The stand-alone app is also a fun way to do some gamedev on an Android phone. The .love file is just a ZIP, so it can be easily created from termux.
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 achievements and leaderboards at the very least, and that's been tricky for me to get working. I know you need to write some hooks and saw some old code that I'm trying to use for reference, but it was still giving me enough issues I gave up on it for a the time being.
And I've released games in native iOS before (although it's been a while), so it's not like I've never used them.
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 made many, many years ago that was played millions of times).
And games that aren't already super high quality mostly don't sell on iOS anymore, at least not before people download it for free and try them. You pretty much have to make the base game free so people will download it and then provide an unlock later.
I'm not trying to be obnoxious about ads. I'm wanting to use the Zach Gage model (Knotwords, Flipflop Solitaire, Good Sudoku, SpellTower). Some minimal ads in between matches (the matches last 5-10 minutes by themselves) and a few extras like themes or detailed stats behind a one-time unlock of a few bucks. I hate the standard model of throwing ads in your face every 30 seconds and wouldn't do that for my game.
Also another native feature that Love2D doesn't support is the iOS Haptics library. Love2D only allows for a half second vibrate at full power and it's way too much. Balatro uses the iOS native haptics library as well (it's obvious, they're very light and quick vibrations). These haptics are super common in iOS games nowadays so it will seem weird if it doesn't support them properly.
Best of luck to you and your project.
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).
This is one comment that corroborates that:
"It requires support for Mac OS and TV OS and committing to significant content updates every year for three years, at minimum. Revenue is based on how many people play your game compared to everything else on the platform.
Because of the contractual commitment and the need for marketing spend (If people don't play, you don't get paid), it's hard to recommend for a small developer without commercial experience, which is why Apple is rather particular about who they approve."[1]
[1]: https://www.reddit.com/r/gamedev/comments/dwwi87/experience_...
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.
Thanks for helping to confirm my suspicions. I used to release mobile games myself but it's been well over a decade. The landscape was a lot different back then.
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.
https://gist.github.com/kellydornhaus/45b8571807ec3ca659ea50...
I made https://love-15.com which works on the web and as of today is on the iOS app store. I'll probably get it on Steam after that. I prefer playing the native builds personally.
It's fully free and about the smallest game design I could think of - I did it partly from a longstanding desire to make this specific game (I played a very similar thing decades ago on Palm Pilot) and partly as an experiment about just how much work can you get an LLM to do.
It's surprising given that back in June? 2024 I just extracted the .love zip from the executable, patched a file or two, and merged it into the love android apk and it Just Worked. Just goes to prove the last 5% rule
> Even with a multiplatform framework (Monogame), compilation and basic run isn't a given.
This isn't the case for Love2D. The game framework is already compiled for android, and the game is a bunch of Lua scripts. There is no issue with compiling, only very minor differences between the Lua for Android and the Lua for desktop platforms and making changes is instant except for transferring the apk to my phone and installing it to test (I didn't set up a full local android test environment for something so small). Balatro worked pretty much out of the box, except for some small changes I made — the first was to add in my profile from Steam, I didn't have to change the code for this. All the buttons were already reasonably sized. Text input was just adding a call to https://www.love2d.org/wiki/love.keyboard.setTextInput so that the on-screen keyboard appeared and disappeared when it was supposed to. I also patched a small bug that made it go blank on screen-reorientation, which was a one-line fix.
The total time spent was around an hour including codebase orientation, patching, testing and doc lookup (I haven't used the framework in a while).
Example: https://i.postimg.cc/P5VrVhQ4/Screenshot-20250101-103921.png