Game Distribution & Updating

General discussion about LÖVE, Lua, game development, puns, and unicorns.

Would you use an updater?

Poll ended at Sun Feb 22, 2009 7:20 pm

Yes
15
71%
No
3
14%
I don't know (A.K.A. I don't code)
2
10%
Yes, but I don't want you to create it (what are you doing here?)
1
5%
 
Total votes: 21

User avatar
bartbes
Sex machine
Posts: 4946
Joined: Fri Aug 29, 2008 10:35 am
Location: The Netherlands
Contact:

Game Distribution & Updating

Post by bartbes » Sun Feb 08, 2009 7:20 pm

I have this great vision:
You see a great game in development, an alpha release, you download it. A few days later you start it again and you discover the creator has finished the game in the mean time, because you see you've just started the final version! How did this all happen? An updater.

If you want me to create this updater vote yes (well, it would be weird if you had to vote no). If you don't want it... well I won't help you :P

EDIT: I should add, the goal is NO code changes
EDIT2: For people too lazy to read my second post: The updater is part of the game, not a seperate program (and thus will be entirely implemented in LÖVE).
EDIT3: I'll explain some more:

The goal is the updater is going to be a main.lua file and the developer has to add a conf file. The conf file states where to find updates (and in the future features may be added). The updater + config is distributed as a LÖVE file. On every run (this might be changed by a conf option, possibly) it checks if there is an update, if there is it downloads it and restarts. If there's no update (or if it just updated, which means there are no updates any more) it continues parsing the game.conf and running the game.
Last edited by bartbes on Mon Feb 09, 2009 3:35 pm, edited 2 times in total.

User avatar
Skofo
Party member
Posts: 146
Joined: Mon Dec 22, 2008 10:55 pm

Re: Game Distribution & Updating

Post by Skofo » Sun Feb 08, 2009 9:12 pm

A Steam-like platform for LOVE games? Interesting.

Make it download updates directly from github and I'm sold.
Working on: Viator
Need a 64-bit Debian package for LÖVE? Here it is!

User avatar
farvardin
Party member
Posts: 162
Joined: Sat Jun 28, 2008 6:46 pm

Re: Game Distribution & Updating

Post by farvardin » Sun Feb 08, 2009 10:26 pm

should it work on every plateform supported by Löve?

User avatar
Skofo
Party member
Posts: 146
Joined: Mon Dec 22, 2008 10:55 pm

Re: Game Distribution & Updating

Post by Skofo » Sun Feb 08, 2009 11:18 pm

farvardin wrote:should it work on every plateform supported by Löve?
Of course it should.

I'd use wxWidgets or Qt to make it.
Working on: Viator
Need a 64-bit Debian package for LÖVE? Here it is!

User avatar
qubodup
Inner party member
Posts: 775
Joined: Sat Jun 21, 2008 9:21 pm
Location: Berlin, Germany
Contact:

Re: Game Distribution & Updating

Post by qubodup » Mon Feb 09, 2009 2:43 am

Skofo wrote:I'd use wxWidgets or Qt to make it.
aah aah aah no no no more crappy looking package managers waaah! :cry:

I think the aim is that it happens hidden, automatic, without any action by the use (except starting the game again). - At least that's how I understand the original post :)

And it's impossible! Unless the initial release contains a finished client and following development happens server-side..

OR IS IT?! :ultrashocked::
lg.newImage("cat.png") -- made possible by lg = love.graphics
-- Don't force fullscreen (it frustrates those who want to try your game real quick) -- Develop for 1280x720 (so people can make HD videos)

User avatar
Skofo
Party member
Posts: 146
Joined: Mon Dec 22, 2008 10:55 pm

Re: Game Distribution & Updating

Post by Skofo » Mon Feb 09, 2009 3:08 am

Mmm, it's not impossible, but it'd require a background process to be running all the time and checking if there are any LOVE game updates and downloading the new versions and updating the files when there are. I wouldn't be comfortable at all using something like that, though.
Working on: Viator
Need a 64-bit Debian package for LÖVE? Here it is!

User avatar
Kaze
Party member
Posts: 189
Joined: Sat Jul 19, 2008 4:39 pm
Location: Dublin, Ireland

Re: Game Distribution & Updating

Post by Kaze » Mon Feb 09, 2009 6:16 am

What if the source is downloaded with LuaSocket then loadstring'd?

User avatar
qubodup
Inner party member
Posts: 775
Joined: Sat Jun 21, 2008 9:21 pm
Location: Berlin, Germany
Contact:

Re: Game Distribution & Updating

Post by qubodup » Mon Feb 09, 2009 6:36 am

bartbes wrote:EDIT: I should add, the goal is NO code changes
Do I understand correctly that any new version would not include new code?
lg.newImage("cat.png") -- made possible by lg = love.graphics
-- Don't force fullscreen (it frustrates those who want to try your game real quick) -- Develop for 1280x720 (so people can make HD videos)

User avatar
bartbes
Sex machine
Posts: 4946
Joined: Fri Aug 29, 2008 10:35 am
Location: The Netherlands
Contact:

Re: Game Distribution & Updating

Post by bartbes » Mon Feb 09, 2009 6:40 am

I'll clarify (I've enabled re-votes :P ):
The original distribution is the updater + a conf for it. The conf says where it can find it on the web, the updater downloads it (giving a nice animation) and runs it. After every following start of the game it will see if there's an update for the game, if there is, the downloading animation, and when done a restart. It then checks again (because the code is reset), finds no updates and continues by loading the game.

@Skofo: No GUI, it's all in LÖVE and thus requires no background process as the updater is part of the game distribution itself.
@Kaza: That is about the way to go, it is downloaded and saved in the save dir, next it is run from there (yes that IS possible).
@qubodup: So it IS possible.

Anyone still not understanding the goal please post.
And anyone now convinced re-vote!

@qubodup2 (while posting): I mean that if you add the updater the game itself doesn't have to be changed

User avatar
JoeOsborn
Prole
Posts: 4
Joined: Mon Feb 09, 2009 3:03 pm

Re: Game Distribution & Updating

Post by JoeOsborn » Mon Feb 09, 2009 3:27 pm

There's a podcast-like RSS protocol called AppCasting that's used widely to update Mac OS apps thanks to the library Sparkle -- a Sparkle-like functionality built into Löve (which used info in the game.conf) would be top-notch.

Post Reply

Who is online

Users browsing this forum: No registered users and 7 guests