I want to be able to use Live Updates for segmenting DLC content on Steam so that users can actually download content meant for a DLC after they pay.
Of course we can ship everything in the main game, but for some types of content it is actually required for them to be delivered as DLC (for example, if you are making a visual novel any nudity has to be in an optional DLC apparently). Plus users feel better about it generally as historically they feel what is “on the disc” is what they are entitled to, and don’t like it when content is locked behind a paywall even when it is an update added later on. So this is also important for managing user expectations and making them feel better about paying as they also actually download something necessary to play what they pay for.
How tags could be implemented is by default everything is on the default tag (and maybe labeled without a tag). Then if you define a other “exclusion tag” that excluded content of that tag is labeled with that tag in its own files/zip. This way it’s easy for us to see what content belongs to each tag and segment it properly.
So if I understand this request right you want multiple zip files with excluded content. And what goes into which zip file is decided by some tag assigned to the proxy?
But you’d still need to unzip the content on the server so that the client can download the individual resources? So what is the point of the zip files?
I’m not sure I follow.
Currently, a game is created with all the DLC known beforehand.
One can either put all assets under one proxy (dlc1, dlc2…) or multiple smaller ones (dlc_character1, dlc_mission1…).
Since those are known when you design the game, keeping a list of the proxy names (i.e. “tags”) should be enough?
One solution could perhaps be that we generate a live update report with a mapping from resource to resource hash. You could then use this to create your own zip files where you group the content in a way that works with your DLCs.
While waiting for this feature, one can imagine doing this directly from the desktop version of the game.
I.e querying the proxies for the resources they need, then write that down to a text file that can then be used to create a zip file.