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

More Stats and general update

I’m currently balancing a bunch of stuff. here are my short term plans and current work:

1) Update to GSB (free patch) which improves the stats after a battle

2) Re-balancing of some of the more useless hulls and modules to make them more usable (bundled in with the stats patch, most likely)

3) Another race expansion for GSB at some point ( a paid DLC thing again).

4) The much discussed online-enabled challenge campaign  meta game thing.

5) GSB on Mac.

Here is the second view of the stats stuff. Pie charts FTW! I haven’t done any funky highlighting for them yet. This is basically the same data as the view over time, but aggregated as a pie chart. What this means is you can still filter it at both axes by changing which categories of damage to include (ignore all missed shots, for example), or changing which ships to analyze. In theory if you wanted to know what percentage of shots from The Millenium Python penetrated the shields of the USS Dubious, you can just click some optiosn and see that right away.

Click to enlarge, feedback most welcome. I’m going to investigate doing a graph of total hitpoints voer time as well, because that should be relatively easy now.

Or I might do some silly chart animations first :D

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.

Venturing further into online bits

Today I didn’t write a single line of  C++, but did code a lot of php, which is the language I use for the online challenge management stuff in Gratuitous Space Battles.

On thursday I spent a lot of time blasting out the music from Star Trek : First Contact while I scrubbed out my chalk board and drew my vast plans for the future of GSB, or at least, the next DLC/expansion thing. After a lot of hand waving, I’m currently planning on a cunning meta-game style campaign that slots into some of the existing challenge data. It’s going to work a bit like spore, in that it becomes ‘massively singleplayer’, with other peoples content (in this case fleets) appearing in your game.

So far, so easy. That’s not a problem. The tricky bit turns out to be that although I let people mod the game (and that will continue), I can’t have a modded fleet turn up in someone elses game, because at worst, it could crash thinking “cannot find ‘bobsZapGun’ module…”

The solution, (which doesnt check for data changes as such, but does check for simple additions), is to write code which verifies that a players fleet only uses content that exists in the main game. To do that, php code was needed to crack open the binary challenge data and go through each ship hull and module name and check they really exist…

and to get THAT to work, I needed php code that would analyse all the data in the game and create a database of all the ‘valid’ entries, so that it can compare one with the other. That way if I do some module changes or new add-ons, I can just run some php and have the ‘valid data’ table automatically updated.

This is a lot of work in order to just get something totally under the hood and invisible working, which is code to ensure no modded content ends up in any one elses campaign, causing a crash. There is a ton of other work required. The good news is that a lot of this same code might be possibly leveraged at a later date to scan the high scores for modded content (and reject it) and could even remove the need to tag challenges with the add on packs manually as players do now. All fun and games….

In other news I just did a BLIND taste challenge and I *can* tell the difference between cadburys and morrisons chocolate buttons. (Cadburys taste smoother).

Campaign Repairs

I’ve been working on the future expansion/extra/dlc thing for GSB which will introduce mini campaigns, and have a slight design dilemma.

One of the main new elements of the campaign is that between battles, you can carry out drydock repairs to your surviving ships. So if a ship loses a beam laser entirely, you can entirely repair it for the next battle. Lost ships are lost, but ships at 1% can be repaired entirely, IF you have the cash/honor to do it.

So far, so good, I’ve been working on the UI for all this. However, it interferes with the way repair modules work. The idea of drydock is that you resupply everything, so repair modules are getting re-filled, and shields go back to maximum strength (assuming the shield modules survive).

The problem is, what happens to modules that were damaged slightly during battle, and the repair modules were fixing? If I let the battle run until the repair module runs out of supplies, any surviving ships will repair all of their vaguely intact modules. I can’t have a penalty for players who don’t want to sit and watch a progress bar rise after they won…

So that means that effectively, having a single repair module on a ship means all partial module damage is undone at the end of the battle, thus making repair modules more valuable than they currently are. This also gives the tribe a slight advantage, as they have frigate repair modules, and better ones anyway.

Possible solutions:

1) Deal with it. Repair modules are now more of a tactical option. Thats cool. The tribe have a bit of an advantage there, but that’s life.

2) Add supply limits to the campaign meaning supply modules aren’t available. This nerfs the tribe a bit.

3) Add some complex system, where in-battle repairs are jury-rigged temps that need to be re-done anyway at the drydock. This actually restores repair modules to be the ‘in-battle’ bonus they already are. However, they will then start doing those repairs of any un-repaired modules at the start of the next battle, which would seem very weird.

4) Add new code that automatically repairs all half-damaged modules anyway, regardless of repair modules. The lasting effect of battles is now just those modules that got totally destroyed, or ships that went bang.

Luckily I have a huge list of stuff to worry about before I need to make my mind up on this one :D

Experimenting (mercenaries?)

It’s actually quite easy to overlay colored re-skins onto some of the models in GSB. I might have to do a tutorial and release some of the photoshop files required. I found just slinging a camoflage texture onto the Imperial Centurion cruiser looked quite cool: (click to enlarge)

It’s non trivial, because you need to re-composite all the damage texture stuff together, and it’s not done in game on the fly (sadly), so you need to save out new damage, hulk and sprite textures for any color variation.
Still… it points to future (sequel?) possibilities, as well as the potential for some cool mods. I envisage a fleet of breakway ‘seperatist’ ships that differ only in their coloring. or maybe a MK II coloring for each ship. As well as being kinda fun, I think it would be nice to have different texture options for ships so that you can tell apart 2 different configrued ships without staring at the turrets. I would ultimately love a ship texture customiser / chooser / painter thingy.

For now, I’m just stroking my stubble and thinking about the possibilities…