One of the arguments against expansion packs for games is that they ‘split the community’ It’s a real fear, and it’s one that Company Of Heroes solved cunningly by patching the content for everyone, but only letting purchasers play with those units. That might work for GSB, allowing people to fight against enemy fleets from another race, but not be that race themselves, but that is a bit of a major project for another day maybe :D
When preparing the way for the games expansion pack, I’ve put a lot of time into making it as flexible as possible, in the hope that players will be able to add content and mini expansions of their own. Everyone has their own ideas on what spaceships look best etc, and I’d love to make modding GSB really easy. To that end, the expansion has been a great ‘test case’ in that it forces me to make add-on content easy and modular.
One of the things involved was support for multiple distinct directory structures for add-ons, which is already done. The second big issue was challenges. People with the new fleet will be able to upload challenges, but obviously people without it can’t play them. A method was needed to tag challenges with the names of the installed expansions (or mods) and let the client check them against what is installed locally. This has all been in for ages, its just been dormant. Now, there is finally a UI for it on the challenge screen (in the next patch). Here it is:
Basically the game lists a checkbox for each installed mod or expansion pack, and defaults to them all being on. Any challenge you submit is tagged with them all, unless you untag them on submission. This way, unfortunately you can tag them wrong, and upload a challenge which will crash if the player doesn’t have the data, but you would have to deliberately do that. What it does allow you to do is to still issue ‘basic game’ challenges, as well as ones with new content. More importantly (and the reason its not an automated file compare thing), is the ability for anyone to create a mod, give it a user-friendly name, and upload challenges with it in, which will flag up a notice explaining what’s missing for people who attempt it.
I’ve probably explained it really badly. In any case, that screenshot is of my test case with 3 packages installed locally. Thoughts?