For anyone who follows github commits on the master branch, Per is currently
chipping away at making it easier to put campaigns in to mods.
Did anyone seriously expect a campaign port not to allow the port to be packaged as a mod?
There will almost certainly be some changes in the port to JS. Mostly just cleaning up cruft and other mess -- as in implementing it properly, not necessarily changing how it plays. But there will almost certainly be some
minor tweaks to gameplay as well -- and they are just tweaks (like a <10 lines of code per mission or something).
Anyone can take that mod, once it's available, and with extreme-ease (like crazy simple compared to the current campaign scripts and stats) change it to make it 100% identical gameplay to WZ back in 1999 if they so desire. Really, there's nothing stopping anyone taking it and turning it in to whatever they want it to be. And if a pure vanilla 1999 balance version is made, I'm sure it will be widely adopted by people who played WZ back in 1999.
But for everyone else, who wasn't playing WZ back then, I'm pretty sure they'll be after versions of the campaign that go in the complete opposite direction and make some massive changes (whilst sticking to the same storyline I assume).
I mean, I loved some aspects of the campaign - it's story and the fact you had to sort of creep around and play cat and mouse with an enemy that possessed superior firepower, etc. But other than that, it was somewhat boring after a while. I got to a point where I was like "Is this ever going to end?" -- it just seemed to go on forever. Admittedly, I can now finish the cam in a fraction of the time I could when I first played it, but still end up getting bored towards the end. And the way the campaign plays is completely different to the rest of the game -- after a while you start to see how dumb the campaign AIs are (like really, really dumb).
As for mods breaking, well, that just shows how brittle WZ of the past was. Classic example is the discussion about "
modlets" in the ideas forum that's going on at the moment.
With current (old) way of modding, if you want to change even 1 character in a stats file, you've got to clone the *entire* stats file. Duh! Now your mod has a version of the stats that is practically guaranteed to get out of synch with the game.
And if another mod wants to change something in that stats file, well you got yourself a mod conflict.
It's completely nuts.
Modlets, if implemented (and there's already some sample code written and being played with), will allow addons to apply their changes or additions with absolute surgical precision. They'll no longer need to create clones of entire files, instead they'll just define the little change they want to make and that will be 'overlaid' on to the main stats file. If either WZ or the mod gets updated, the chances of stuff breaking are greatly reduced.
Also, modlets would, for example, allow someone to apply WZ 1.0 balance to 3.x without breaking other mods! It would be like cats and dogs *acutally* living together in harmony.
And this sort of mindset is being applied to everything going forward. There's been 13 years of stuff breaking, let's do something about that eh?
Pumpkin did a great job back in the 90's, but stuff has moved on in leaps and bounds since then and there are just better ways to do stuff now. If we leave WZ in 90's, then as soon as the hardcore fans start popping their clogs it's game over for WZ and it becomes abandonware.
What do you think the Pumpkin team would prefer? Abandonware or some updates to the campaign and modding system?
BTW, I found the source code to the NTW mod and original balance mod (
here if anyone wants it) -- currently not possible to do that without using old wzscript approach (which is brittle and thus broken as mentioned earlier in this topic). But the new modding features are nearing a point where all of that would be "implementable" in a much more sustainable manner.
"Dedicated to discovering Warzone artefacts, and sharing them freely for the benefit of the community."
-- https://warzone.atlassian.net/wiki/display/GO