quote:
- existing missions to be played "offline" - that means they need to be distributed with steam, yet it also must allow insta updates when user is online (both steam and non steam)
- support for reference update, when we release new version of game or switch engine, existing missions have to be updated. It can also happen on client.
|
Rapid dependencies would solve this.
You don't even have to update them via rapid for Steam users, it's enough that you update the rapid repository index file via Steam so that missions would know that there's a new version of ZK that it could use.
To make an example:
Your initial release could include Spring 110, Zero-K v1.5.0.2, and missions: Tutorial 1 and Tutorial 2.
You would also include a synchronized version of the rapid repository files (I assume you use something like this for ZKL too):
packages.springrts.com/versions.gz
zk.repo.springrts.com/versions.gz (here it would state that Zero-K v1.5.0.2 is the current zk:stable)
swiw.repo.springrts.com/versions.gz
evo.repo.springrts.com/versions.gz
In Tutorial 1 and Tutorial 2, you would have a dependency in modinfo.lua that would state something like:
"rapid://zk:stable". When running those missions it would get resolved to Zero-K v1.5.0.2.
Update 1 happens.
You release it with Spring engine 111 and Zero-K v1.5.1.21. Tutorial 1 has been updated while Tutorial 2 hasn't. You include the updated rapid repository files as well as the new versions of the engine, game and the only updated mission. Both Tutorial 1 and Tutorial 2 still have the same dependency "rapid://zk:stable" in their modinfo.lua, only now it will be resolved to "Zero-K v1.5.1.21".
The reason of doing it like this is that you don't have to modify all mission archives when ZK gets updated. This will work with both Steam and non-Steam updates and will allow you to execute missions offline. It also makes mission distribution between players easier as it's enough to just copy the sdzs (provided they also include the map).
I'd also want some feedback on this from KingRaptor seeing as he was the main person involved in making the ZK mission editor.
quote:
- support for campaign, including it's rules of progression, journal etc (again online-auto updatable for both steam and non steam)
- keep support for reporting (high score) and multiplayer (with slots).
|
This is something ZK-infra specific. Basically find a way for ZKL to store offline progress and scores and synchronize them with the online ones. I'm not interested in this right now.