Unvanquished / updater

QML based updater to install, update and launch the Unvanquished game.
https://unvanquished.net/download
15 stars 7 forks source link

Make installer only, dropping launcher/self-updater concepts? #25

Closed slipher closed 3 years ago

slipher commented 5 years ago

The idea would be to drop the updater update implementation since it is too half-baked currently (for example the exe may be a temp file if the updater is run from the zip). Probably keep the ability to launch the game since that's a normal convenience feature of an installer, but we would not encourage anyone to use it as a launcher. So we could remove the daemon command line arguments feature.

Some relevant conversation:

<perturbed``> hmm it is not good to distribute the windows updater as a zip
<perturbed``> the updater update would not work later
<perturbed``> well it's fine for now since the game is downloaded all right
<illwieckz> do you talk about the updater updating the updater?
<perturbed``> yes
<perturbed``> the idea of the updater as a launcher is still not really fleshed out though so it probably doesn't matter
<perturbed``> since it will probably be used as a single-use installer
<perturbed``> and we can just change the version url in the next release in case anyone is using it :P
<perturbed``> for the next release we should either make it really work as a launcher or pare it down to a basic installer
<illwieckz> would be better to make it a real launcher
<illwieckz> taking url arguments and passing it to engine
<illwieckz> hmm
<illwieckz> no
<illwieckz> it means we have to write the .desktop (or regedit stuff) with updater path…
<illwieckz> so it's better the current way
<perturbed``> if it is to be a real launcher then the updater should install itself to the chosen installation path (instead of in "downloads" folder or whatever) and shortcuts should point to it

<`Ishq> fwiw, I would prefer it to be an installer
<`Ishq> The launcher part is meh
<perturbed``> i think there is only one set of quotes, but qt is printing it like a c++ string literal?
<`Ishq> And honestly
<`Ishq> I don't think we need to follow all the other companies
<`Ishq> we can just ask people to launch the installer, or launch it automatically from the game if required.
<illwieckz> to launch it from the game you need to do it in engine
<perturbed``> new concept: instead of having updater, the master server fills the server list with UPDATE YOUR CLIENT messages
<illwieckz> we can do it in client
<`Ishq> perturbed``: lol, but ya
<`Ishq> while that particular implementation is pretty shitty, launching it from the engine is doable.
<illwieckz> I'm not sure the client tells the master server its own version
<`Ishq> It doesn't have to
<`Ishq> Master server sends the latest version and client does the comparison client side.
<illwieckz> the client can fill its own server browser
<illwieckz> yes, that's whay I4m saying
<`Ishq> ah
<illwieckz> at least, no need for master server
<illwieckz> each "greater than current" server will have its name replaced
<illwieckz> well, this one may be abused by mods
<illwieckz> so master server is better
Viech commented 5 years ago

I feel an updater/launcher is how standalone (i.e. non-steam/blizzard/ubisoft) multiplayer PC games are distributed nowadays. I would dislike to drop it just because it isn't up to speed with the proprietary launchers out there.

slipher commented 5 years ago

What are the circumstances that make an update necessary or beneficial for the AAA games? I guess it's because they have frequent updates, like every couple of days. Also, they want to force the players to use the latest version even if they would prefer not to update at that moment.

Neither of these circumstances apply for us. Probably we will update the engine every 6 months or something. It is not a real burden for the player to have to get the installer a couple of times a year, as opposed to a couple of times a week. The benefit seems too marginal to be worth spending limit dev resources on.

What other advantages am I missing?

Viech commented 5 years ago

Some people who just occasionally drop in might be detered if they are confronted with the trouble of manually updating something. Players are very used to convenience platforms such as steam and the standalone launchers that mimic them. The time of "go to website X to fetch the new version" is over and "launch the other program we've given you to update" is just a shitty replacement for "hey, we'll just update for you very quick". I disagree with not needing to copy companies in this regard. They understand very well that convenience of access is incredibly important in a world where you can choose between any number of free of charge games. This applies to us as well. Unlike Tremulous, we will not automatically get players just because they use Linux and/or do not want to pay money to play as a plethora of games is readily available to them by now.

Plus we've been spending a lot of time and effort to work out the torrent distribution and the launcher itself, so fleshing it out a little more to make it really good seems more reasonable than to ditch or degrade it to me.

DolceTriade commented 5 years ago

Keep in mind that the torrent distribution system wouldn't go away. It is infact integral to how we distribute the game. I think we simply want to change the focus of the "launcher" from being the primary entry point for the game (which is it's current goal) to being something the user uses to install/update the game when they want (ideally automatically from the engine).

Viech commented 5 years ago

Users can already have it like this by running the game directly. I still don't see why keeping the updater as a launcher would be bad. The sole argument seems to be "it is missing a desirable feature that other launchers have", but the feature of updating itself is as (un-)necessary for an updater as for a launcher.

slipher commented 5 years ago

I prefer the updater invoking the engine to the engine invoking the updater.

I never meant to say that the launcher+updater+self-updater concept is a bad idea, but that it is currently too poorly implemented. My preferences are like properly working launcher-updater > single-use installer > launcher with self-update that works poorly (like now).

slipher commented 3 years ago

The launcher functionality is now being brought to a good state.