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

Campaign Encounters, Patch 1.37

GSB got patch 1.37 recently. It did some weapon-balancing, plus some bug fixes and new features, like that new post-battle stats stuff I talked about a lot on here. It also increased the variety of ship debris, a side effect of preparations for an eventual new race.

In addition to finally getting that sent out, I’ve been doing campaign stuff. The map now looks like this:

Which is very similar, but those tiny icons are my placeholders to show facilities at each ‘encounter’ (basically each planet). The current types of facility are as follows:

  • Repair yards
  • Factories
  • Shipyards

The factories and shipyards come in 3 flavours. My current thinking is that the factories generate cash each day (real world day) if they are under your control. The repair yards let you fix your ships (rather than letting you do it regardless of where you are) and the shipyards let you build new ships, of a class dependent on the shipyard (Only the best yards can construct new cruisers).

I have all the code done to place these things, and load and save their data. The actual facility code to generate cash and the code that restricts or enables shipbuilding and repairs isn’t done yet. The plan is to have a game thats more in-depth than GSB was in its vanilla form, but nowhere near as detailed as a normal 4X game. There are plenty of 4X games already, I’m trying to do something different, by making the battles the focus, rather than the resource-gathering.

And yes, this expansion has mushroomed into serious feature creep. Typical…

Now I need to go pour some wine so I can enjoy the first ever political leadership debate in UK history. In 30 minutes time…

Gratuitous Campaign

In amongst everything else, work continues on the campaign mode for a future expansion / game / whatever for GSB.

Here is what the map currently looks like (very work-in-progress).

Originally I had planned to just string together a bunch of scenarios (new ones) and have them play out like a very simple singleplayer campaign. The big difference, and what made this worth playing, was that you kept the same fleet, so for the first time you had to design fleets that were all-rounders, rather than tailored to a specific enemy. This would make the game more strategic, and elss trial-and-error, and would be l33t. I still like this, and I’m keeping it.

However, for whatever reason I started thinking bigger than that and I am increasingly linking in the online challenges with the campaign. Now the map is entirely online-integrated. What this means is as follows:

You grab your fleet and move it to planet X. The game tells the server that you have moved to planet X, and it sifts through a list of all possible enemy fleets it has stored that will provide a decent challenge for your current fleet, and one is selected for you. That fleet, together with its orders and deployment gets downloaded and becomes your enemy at planet X. That fleet *might* have been designed by me, or it may have been a fleet extracted from an existing online challenge. In other words, you are playing against someones challenge fleet. (If you dont have expansion pack races, they won’t show up, you will get vanilla enemies.)

That fleet might out-gun you, or maybe you just aren’t equipped to fight against it for whatever reason. If so, you can retreat, and choose a different path. Here is where it gets fun:

if you decide to go back and fight that planet X challenge again, the server remembers, and YOU get the same enemy again. there is no going-around them if you want to go to planet X. Not for 24 hours. Then, then server ‘forgets’ who was there, and you may get a different fleet if you try again. Thats 24 hours in the real world. As in, come back tomorrow.

Everyones fleets will be different, and people will be at different skill levels, so the fleets are not persistent across everyone. Every player has a unique view on the world, its just that the fleets they encounter are player designed.  I’m trying to design this to be ‘massively singeplayer online’, in that you are playing a changing, dynamic, partly player-populated world, but without the direct competition or griefing that can ruin most MMOs.

All of this stuff is in and working. It’s the other 99% I still need to code :D. I have grand plans for the ‘point’ of the campaign game. I want a freeform universe for you to explore and conquer with your fleet, and need to add some capabilities to different worlds to encourage you to move your fleet around. Plus achievements and so on. There is a ton to do, I want it to be l33t. In the meantime, there will be another new race coming to the game.

Yoru thoughts on how this stuff will work, are most welcome.

Human Contact

I spent today mostly working on campaign stuff. One of the features in the campaign game is that player-designed fleet deployments show up as rival fleets in the campaign. So rather than just facing a fleet designed by me, and always the same, in a given battle, it’s a fleet someone else designed. Another GSB player.
As I play-test this, I find it really cool. I have no idea what each enemy fleet will look like until they appear, and it seems somehow ‘more exciting’ than the idea that its AI-designed, or a fixed fleet designed by me.

Why is this? And is this just me?

Playing against other people is often described by PC gamers as way better than playing against the AI. When you ask people why this is, there are a lot of reasonable explanations about humans being better at adaptive strategy, more creative, and with the ability to actually suprise or confuse the player. Certainly this is true of most RTS games and FPS opponents, at least currently.

I do wonder though, on how we will feel in five or ten years time when AI is that much better. There is nothing to stop AI analyzing every RTS or FPS players movements, and ‘evolving’ play strategies that mimic real human players much more accurately. In twenty years time do we really think that we will be able to tell if our RTS opponent is AI or Human? Assuming we don’t, will we *still* get an inexplicable buzz of excitement knowing it’s another squishy human rather than some clever AI?

I really think we will. There is something very primitivly rewarding about pitting yourself against (or co-operating with) a fellow human. We can’t speculate much about the motives or emotions of some AI, but the thought that there is someone, somewhere who just got their fleet pulverised by ours is just somehow much more rewarding. Blowing up AI pirates in eve is kinda fun, but blowing up other players who then have LOST their ship, is awesome, albeit a bit cruel. What do you think? Do you think it makes a difference if you are directly, or indirectly (think spore) playing against real human beings?

Surely not more stats?

I’m afraid so:

I’ve added filtering by module type too, with the pie charts that show the damage done. This isn’t also filterable by ship, so it isn’t totally uber, but sod it, this is a game, not excel, it has to end somewhere :D

What this new view lets you do, is (for example) select just your frigate plasma torpedoes and see that actually 95% of their shots missed, whereas only 35% of the cruisers torps missed. That might be a good thing to know…

Hopefully tomorrow I can spend a lot of time tweaking the UI for this, and testing it extensively. At some point I need to declare the stats upgrade done, so I can concentrate on play balancing for a few days. Then after that it’s back to the long discussed and hugely involved online thingy.

Gratuitous Stats! (work in progress)

Right, so I’ve got totally distracted from my online-enabled metagame cleverness to improve the dowdy old stats screen for GSB, which we can all agree sucks right? Anyway, here is my current flimsy work in progress: (click to enlarge)

So an explanation of whats going on:

The graph shows  the damage done by every shot fired in the game, broken down into ten categories, which are missed, reflected by shields, damage to shields, damage to armor, hull damage, for both damage delivered (to the enemy) and received (from the enemy). The UI lets you toggle any of those categories on or off with a mouse click. Added to this, there are ship-pickers in two columns, with your fleet on the left, and the enemy on the right. By default all are enabled, but you can toggle each ship/squadron on or off. If you toggle them off, they get eliminated from the graph, which also auto-scales the Y axis to show things in better detail.

So if you want to know what effect your fighters have, you toggle off all the ships on the left except your fighters. if you then want to know what effect they had against enemy cruisers, you toggle off all the enemy ships except the cruisers. You can analyze it down to single pairings of ships if you like.

I’ve just realised I totally missed out damage ‘reflected’ by armor. I must add two new categories… bit of a squeeze now.

This isn’t the final screen, there is lots of minor UI tweaking to do, and it will have a more relevant title, plus I’d like to add options to view pie charts and other bits and pieces. Ideally I’d add little tags you could mouseover for events such as cruisers being destroyed, to put the charts in context. What I’m after is first impressions and feedback. Do you think that this is already an improvement on the old screen? I do, but I’ve spent 2 days on it so I’m biased :D.

My current plan is for this to just be in a patch, no add-ons needed. I am planning on a third new race expansion for the game at some point, because they seem popular and I love seeing new spaceships in the game :D.