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

Campaign Repair update

When I started designing the campaign, I put in code for repairs to ships, where you could repair individual pieces of damage. An attack on a ship might damage a module, doing 25% damage to it. You could repair just that specific piece of damage, if you so chose.

The idea was that rather than just clicking ‘repair this ship, 1,240 CR’ you could spend less, if funds were tight, and just repair critical modules. I wrote a ton of code to generate slightly silly technobabble descriptions of each piece of damage. All of this is in the campaign and working.

In practice, when testing the campaign I find myself invariably repairing the whole ship, or if funds are tight, just leaving it to the next turn when funds are available. The fancy repair interface is a bit overdone and over-engineered. However, I see no good reason to remove it entirely, it’s kinda fun, and allows micro-managing for those who want to, so it’s staying in.

Something that did change today is the cost of repairs halved. Previously it was the same as construction. If a module cost 400CR and took 25% damage, it cost 100CR to fix. Now it’s 50CR. Why the change?

Well in practice, repairs are reasonably rare. It takes time for ships to retreat, especially cruisers, and in battle, by the time you realise your fleet is screwed, the chances of all of them managing to turn 180 degrees and warp out are quite low. You often lose half the fleet during the retreat, unless you make an instant judgement at the first sign of the enenmy, and call an instant withdrawal. Combined with this, there is is the issue of repair yards. Not every system has them, so the damaged ships need to make a few warp jumps back to the nearest connected repair yard, before they get fixed up. By the time you do this, you might as well build new ships.

So….. Repairs will be cheaper than new build. I think it balances out better this way, and it makes sense in gameplay terms anyway. The real frustration should be logistics, and having retreated and thus given up territory, rather than resenting the cost of repairs. I’m aiming for a ‘company of heroes’ style mechanic, where its sensible to retreat and fight another day, if outgunned.

Shield Support Balancing

GSB recently got a shield support beam. This was a groovy empire-frigate-only weapon which remotely boosted the shield power of friendly ships. It was criticised as being too powerful. Not surprisingly, people experimented with minimal cruiser fleets boosted by a huge swathe of support frigates using the beams for mutual reinforcement.

Surprisingly, this turns out to actually be super effective in comparison with filling those frigates with weapons and other useful stuff. I spent a while playing, and analyzing player challenges where it was claimed the SSB is just *too* good.

So I nerfed it badly to see what was needed to get the sweet spot for this new weapon. Serious nerfing of the transfer rate was tried. Then serious reductions in the amount that would be held in capacitors. Still, the SSB seemed awesome, in large numbers.

Then, eventually, I concluded that it was the mechanic, not the numbers that caused an imbalance. The SSB was being used regardless of the state of the target ship. It could be under intense plasma fire, and be ECM jammed, and still shake offf all attacks thanks to 6 or 8 SSBs boosting its shields. I wanted a single SSB to be worth having, but at any reasonable level, the combination of 8 then became a super-defence.

So my currejnt thinking (under testing now) is to nerf the SSB by reducing two key stats (beam rate to 20, recharge rate to 20), and also introducing three restrictions:

  1. The SSB can not be used to reinforce ships if the target ship is currently ECM jammed.
  2. Only a single SSB can be utilised on a target ship at any one point in time (although they could take turns).
  3. The SSB can only be targeted on cruisers.

I think this is the solution, but feedback is much sought. After all, I stupidly thought it as balanced already :D Ideas?

Campaign AI stuff

I am working on the various chunks of code that determine the strength of AI opponents in the GSB campaign game (currently being developed). The game takes existing challenge fleets, as well as other players campaign-fleets to use as the enemy, in massively-singleplayer style. However, it needs to select an appropriate fleet, in terms of strength, to fight against you, either as a defending fleet when you attack, or an attack on one of your systems.

The simplest method is just to assign a fleet size value to each planet, and let that be the strength there. Simple, but dumb, because nothing prevents the player sitting back and building up a larger fleet. A refinement would be to gradually ramp up a scalar for the enemy fleet sizes over the game, but that would mean it could spiral into insane difficulty, and doesn’t allow for different skill levels.

A system I’m working on is a ‘reactive-arms-race’ style approach. The nearby enemy worlds have their fixed starting values of fleet strength. When battle is joined, the Ai will start to build up larger fleets in nearby systems when it loses, and not bother if it wins. There will be some lag here, to represent building times.

The idea is that once you think you have a slight fleet-size advantage, you need to get all expansionist and start conquering, before the enemy realsies how mighty your fleets are, and builds it’s own countermeasures. If you just sit back and build up, the enemy will be doing the same. I may introduce an additional ‘anti-turtling’ scalar that starts ramping the enemy fleets up even faster if you have gone a long period without expanding your empire.

All this takes ages to code and test, and you never notice it’s effects on the surface. It is important to get this stuff right though (more important than adding more shiny or features) because it’s what drives long term playability.

Why GSB is not like a normal RTS (deliberately)

Have you seen korean starcraft players?

http://kotaku.com/5580080/korean-gamers-are-faster-than-a-speeding-bullet

fast huh?

Although it’s impressive, and kinda funny, it’s also a bit depressing and kinda sad. I like to see the RTS genre as a mostly ‘S’, and not so ‘RT’. If I was 14 years old, I’d think differently, but I’m not. One thing spending your teenage years learning neoclassical heavy metal does, is to teach you that someone with more free time than you is going to be faster than you. Always.

When I was at Elixir, I worked on a game that got canned, which was like speedball. it seemed to be a really strategic game. The player who won was the cleverest, the most strategic thinking. It played a bit like real-time chess. The reaction-time and number-crunching side of it was minimal, it was an ‘outwit-the-enemy’ style game. I liked it.

GSB doesn’t care how fast your reactions are. You can be 55 years old and have arthritis, you can still design a kick-ass fleet, and a cunning challenge.  I know starcraft is a massively popular game, and they know what they are doing, but you can only really design good games if they are games you personally enjoy playing. I can’t compete in FPS games or arcadeish super-fast RTS games, but I can compete happily in GSB. I also like the asynch nature of online challenges, because it eliminates the asshole attitdue of many online RTS players, who drop connections when losing or mock you during in-game chat,

I met the guys from introversion for lunch today. Had a good chat about games and indieness. It’s always refreshing to chat to people who understand what it is you do, and do something similar.

Shield Support Beam

Right, so here we have a brand new module I think I’ll just add to the game. I was thinking about shoe-horning it into the campaign, but that is a bit awkward to do. It’s the first module that affects a ship on your side that isn’t the owning ship. Its….. (drumroll)…

The Shield Support Beam!

Or ‘Remote shield energy projector’ or whatever I finally call it…

Basically it lets a frigate beam-over shield energy to reinforce a failing ship on a nearby friendly cruiser. It’s a frigate-only module, only working to reinforce cruisers, with a max range of 450. Crew use is  8, power use is 18 (high!).

screenshot (its the blue beam thing): I may well tart-up the graphics for it a bit more. Click to enlarge.

The beam looks for nearby friendly ships whose shields are below 80%, and then triggers this beam which empties it’s ‘capacitor’ into the target ship, over a short burst of time. That then reinforces the target shield, back up to it’s normal strength. This is basically a way to temporarily gvie a nearby ship a really fast shield recharge, and is a defence againts those fleets that hurl 100 plasma or 100 missiles at your cruisers and crush them instantly.

I’ve tested it lots, but obviously it remains to be seen how people use this. Obviously you could stick 3 frigates behind every cruiser, in formation and have super-reinforced shields, but that ties up 3 frigates that have to stick by their cruiser, and also chews up 3 sockets and a ton of power. It’s a weapon socket, so that matters. So far, I’ve found it handy to combat plasma spam, but not a totally killer-app.

I’ve also set it to be an empire-only module, initially locked (but cheap to unlock). I like the idea of making any future modules race-specific, to give the races more flavour.

Thoughts?

back to the campaign tomorrow…