Game Design, Programming and running a one-man games business…

Challenges and Mods and Expansions

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?

Testing new stuff…

I’ve been play testing a bunch of battles today. It’s scary how many times you need to play a scenario to even be sure it poses a proper challenge. I think I’m maybe half way there, in terms of the two extra maps.

When I make the scenarios, I try to put together a fleet that will put up a bit of a battle against all the existing races. Everyone has their favorites, and ideally nobody will be able to just cakewalk through the two new missions on all 3 difficulties without tweaking their fleets.

The new race has short range but rapid firing weapons, and has to basically charge right up to the enemy and bombard them at close range. This can be a surprisingly good tactic for big cruisers, especially against fleets which rely on missiles and plasma. You might think that getting in close helps the enemy, because it means the missiles hit quicker and can be relaunched, but if you can get close enough, you can be inside the enemy cruisers minimum range.

For this reason, I think people are underestimating how helpful decent engines can be on frigates and cruisers. Many people assume you can sit at maximum range and bombard the enmy at your leisure, but I recommend people experiment with fast moving close-attack ships. Especially if you try the new race :D

The testing will take a while, because as well as two new scenarios and 12 new ships, I’m also introducing kinetic weapons, which in manyways are just pulse lasers with invisible bullets (albeit with their own visual effects), but they work differentl under the hood, because I need them to be rapid firing, but quick to process. Anyway, all the issues with the code for that stuff seems to be fixed now :D

Expansion pack underway

There will be an expansion pack for GSB, and it’s still a little way off, but I did some work on it today so it’s fresh in my mind. Before I release it, there will be another mainstream GSB patch, mainly to improve the modding support to tidy things up and make mods more manageable. After the pack, who knows what’s next?

Anyway… current plans for the pack are to introduce a new race to the game. It will have the same variety of ships as the other races. The ships will also have a few race-specific modules, and some quite drastic ship bonuses. It was a relief to work out that ship bonuses can be negative, meaning this new batch of ships will have weak shields, weak armor, and very strong hulls. My plan is that these ships can take a sustained battering and rely on hull strength and repair systems. The new weapons will be kinetic bullet-firing stuff, like gauss guns / autocannons. I’ve been sorting out the sounds and visuals for them today. There will also be two new scenarios featuring the new race, and it will likely come pre-unlocked so if you buy it you can play with that race immediately.

The existence of a paid expansion pack means that some people will be uploading challenges other people can’t play. This is already handled, because there is a system for challenges to mark what ‘packages’ are installed, and thus the UI could flag challenges that you can’t play. I need to finalise the UI for that though…

Whenever a developer releases an expansion pack, there are always debates from a small subset of players that expect the content for free, or oppose the idea of expansion packs. Personally, I’m a huge supporter of them. I wish Company of Heroes had many more! The way I see it, expansion packs are about giving people options. Some people will snap up extra GSB content immediately. Many players will not. The main thing is you have the choice. Why release a game at a high price that puts some people off when you can release the core game at a lower price and let people choose if they want to have extra content?

I haven’t picked a price for the pack yet, I keep changing my mind on that.  I’m only looking to recoup the cost of making it, so it’s just a matter of how many people I think will buy it, balanced against the art and sound costs and the time working on it.

Aesthetically pleasing weapons

I’ve been watching big battleships shoot each other. It’s what I do for a job. cool huh? The interesting bit is that despite doing a future-tech sci-fi war game, I find that the images and footage that is most appropriate is WW2. There is a darned good reason that so many good games are set in WW2, and this is it:

WW2 had the best looking weapons.

Now it’s true that napoleonic wars had some darned colorful outfits, but the guns took ages to load and mostly missed anyway. And fast forwarding to the modern day, we have all sorts of gizmos, mostly with American military ACRON-YMS, but the problem is they don’t lend themselves to gameplay. The overhead night vision gunship scene in Call of Duty 4 was very cool, but hardly challenging. Modern weapons, especially in fighter planes amount to a pilot or gunner just pressing a button saying ‘yup shoot that guy so far away I can’t even see him’. Computers are having all the fun in modern combat.

The whole range thing is a total nightmare. Being able to blow up an enemy base from 500 miles away may make strategic sense, but it really screws up your graphics engine if you want the player to see what the hell is going on. And the destructive capability of weapons also acts as a pain. Any sensible futuristic weapon deployed in space is likely to at least have nuclear-missile level explodiness, yet that will obliterate everything for miles. This is not good gameplay fun.

So I find myself, like so many game designers, looking at battles between ships in the pacific and atlantic from 1939-45 and taking inspiration from that. Firing broadsides at ships where you can look out the window and see them explode. It’s not just everyone copying the battles from Star Wars, it’s everyone coming to the same conclusion, which is that in terms of visual entertainment, if you move beyond the technology of WW2, it becomes difficult to feel ‘involved’ in the conflict.

So yup, I know that GSB’s battles make no sense. There is no sound in space, and no friction, and you can shoot for probably 2,000 miles without missing ever, and most spaceships would be best crewed by AI and robot anyway, but this would all make for a sucky game. We can invent all kind of pseudo scientific technobable to justify why we have to fly within 500 meters of the enemy spaceship to shove a torpedo up his exhaust port, and we will continue to do so. Because games are about having fun. Especially fun with spaceships going zap.

Variable squadron sizes

Here is the latest new feature heading for Gratuitous Space Battles:

Variable Squadron sizes, from 1 fighter up to 16.

In theory this means you could add 16 fighters and give each one different orders!, as 16 different units :D In practice I suspect it will be used to deploy smaller squadron sizes in cruiser and frigate escort duty, or to squeeze in a few extra ships when you need to use up the whole budget to beat the enemy. In terms of implementation, the squad size goes from 1 to 16 (the current default) and its accessed by right clicking the deployed ship, as a new option just for fighter squadrons. The costs and pilot requirements scale as you would expect.

This feature is in and working, I need to update the AI fleets in the singleplayer game to take advantage of this, and fight a few challenges myself to ensure it doesn’t unbalance the game badly, plus update the manual. Any suggestions or feedback on this feature is most welcome. It’s entirely optional, you can ignore it and just deploy squads of 16 fighters at a time as you do right now.

I made a list of 24 potential new features, and this one seemed relatively simple for a ncie gameplay boost in terms fo flexibility. I look forward to seeing how it is used after evrsion 1.24 is live. The other features are still in the list!