🤑 Indie game store🙌 Free games😂 Fun games😨 Horror games
👷 Game development🎨 Assets📚 Comics
🎉 Sales🎁 Bundles

Löve 2D .love file support?

A topic by Gaeel created 1 year ago Views: 897 Replies: 6
Viewing posts 1 to 5
(+1)

Games made with Löve can be packed into a .love file (a renamed .zip) and ran directly with the correct version of Löve 2D

I don't think it would be too hard to link up .love files hosted on Itch and launch them.

Although it would require:

  • Getting Löve2D binaries (from love2d.org, or host those files too?)
  • Tracking which version of Löve is required (declare in Itch meta data, or read from conf.lua in the zip format .love file)
What do you think? Would this be a useful addition? Would you like me to contribute code to help this happen?
Admin (Edited 1 time) (+1)

Hey Gaeel, supporting .love files is definitely something I've planned: https://github.com/itchio/itch/issues/135

I was wondering about the same two things, and here's what I think:

  • There should be an open-source repository somewhere, with a list of dependencies itch knows how to install and people can depend on
  • I don't feel great about putting binaries themselves in there, but their URLs could be listed there, hopefully from reliable hosts — we could even have our own caching proxy in-between to avoid putting unnecessary loads on their servers
    • Basically, think http://brew.sh/ formulas
    • In fact, itch already has a brew-like system — it's used to download 7-zip and butler
    • ibrew could be made into something more generic to install any dependencies whenever they're required
    • ibrew could support itch.io URLs and download them automatically (using the itch.io API to generate a GCS url), as well as plain old static files on an HTTP server — that would let people who want to host & update their runtime on itch.io do so, and yet support third-party tools that will never be hosted on itch.io (e.g. DirectX runtime, VC++ runtime, etc.)
  • Since the client should always be optional, all ibrew formulas should have a human-readable description of how to install it, and we could use that to automatically generate instructions on the download page for non-client users.

So while we could rush love support in probably in a day, I'd rather have a whole system that works for every kind of dependency, and support everything at once!

edit: I accidentally a letter

Awesome!


I'll have a look at the repo when I get my hands on a computer

As far as I know, it's perfectly possible to bundle up games developed in LÖVE as self-contained executables (definitely for Windows and OS X, probably also Linux).

Yep, that's also a way of playing Löve games, but since they share an executable, it would reduce download times if you play multiple games that use Löve

I tested today with my own game, and running in Linux is not supported. The app doesnt do anything when I click run.

I tried opening the game folder to see if I could understand what was happening, and it opened the contents of the .love file (which it shouldn't)

Unless things have changed recently, currently you need to provide an executable, just providing a .love is not enough.

You can make a Love2D executable by concatenating the love executable and the .love file like:

cat love myGame.love > myGame

You'll also need to provide the .so shared object files that Love2D needs (I can't remember what the command is, nor the complete list of .so files to include, but the end result should look like:

path/to/myGame/
               myGame
               openAL.so
               luajit.so
               sdl.so

(Again, I'm not sure what the .so files are, but that's the gist of it...)