Is it possible for a LÖVE app to download new game code and then run it?

Questions about the LÖVE API, installing LÖVE and other support related questions go here.
Forum rules
Before you make a thread asking for help, read this.
Post Reply
DavidPesta
Prole
Posts: 2
Joined: Sun Nov 12, 2017 2:42 pm

Is it possible for a LÖVE app to download new game code and then run it?

Post by DavidPesta »

This is an absolutely beautiful framework. However, I have a slightly unusual need that I'm hoping is possible before I can dig in.

Is there a way in this framework to create a slimmed down parent application that, while running, is able to download new game code into perhaps "containers" and then run that game code?

There are many possible applications for this:

1. A master game environment allows you to enter mini game environments and a new one becomes available on a very regular basis.

2. A game is very large and new visited areas would be downloaded progressively.

3. An online game detects that your client version is old and incompatible with the latest server requirements, so it automatically downloads and runs new client code.

4. An online game allows you to play in multiple instances over time, flipping back and forth between them. Newer instances require later versions of the client, while old instances require older versions. Here, similar codebases are separate; they exist at the same time and work in the same app, but are completely isolated from one another.

5. A demo version is very different from the full version, and unlocking the full version means downloading it on the fly.

BTW: For #4 above, it would be neat if different versions of the codebase could all have access to the same assets (images, etc). So, separate containers of code accessing the same common containers of assets. However, that is not a deal breaker! (Assets could be stored redundantly if there's no way around it.)

Many thanks in advance for your answers!
User avatar
zorg
Party member
Posts: 3465
Joined: Thu Dec 13, 2012 2:55 pm
Location: Absurdistan, Hungary
Contact:

Re: Is it possible for a LÖVE app to download new game code and then run it?

Post by zorg »

Yes, you can absolutely code a "thin client" that queries a webserver for contents, and then downloads data into the local save folder; since Löve uses a "virtual root" that encompasses both the save folder and the project's own source folder (or the contents of the .love file, if you're distributing it like that), the game will be able to execute lua files in the save folder just as if you had them next to your main.lua (and/or in subfolders).

And yes, you can even do versioning if you put the downloaded stuff into separate subfolders. Assets could still be "global" to the code revisions.
Me and my stuff :3True Neutral Aspirant. Why, yes, i do indeed enjoy sarcastically correcting others when they make the most blatant of spelling mistakes. No bullying or trolling the innocent tho.
DavidPesta
Prole
Posts: 2
Joined: Sun Nov 12, 2017 2:42 pm

Re: Is it possible for a LÖVE app to download new game code and then run it?

Post by DavidPesta »

A concise and effective answer to my question. Thank you very much!
Post Reply

Who is online

Users browsing this forum: Bing [Bot], Google [Bot], Majestic-12 [Bot] and 2 guests