Awsome. Some clarifications from IRC discussions follows.
Your game is kept as a directory with a .love file which is the Updater. The updater checks for updates and downloads files as necessary. When it's done, it runs the game in the directory as normal.
Your game version starts at 1 and each subsequent update is an increment of one (or more) to the current version. On the server side, you just store a text file (a lua file), containing the current version and a list with what files were changed/added or removed in the new version. If you wanted to, you could just have one big list containing every file of your project, like the follwing.
Code: Select all
version = 12
changedFiles[12] = {"abc.lua", "cde.lua", ...}
However, if you write a list of the new files for each version, then Updater will download only the new files. So it's (hopefully?) not a problem if you got 12 MB of data and wish to release a new version with a fixed bug in sprite.lua, you just add "changedFiles[13] = {"sprite.lua"}" and "sprite.lua" will be the only file downloaded for users already at version 12.