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

Selecting suitable user-generated fleets

I’m hoping that the Gratuitous Space Battles campaign add-on will make use of existing player-designed fleets to give a vast population of potential enemies to fight. Although this system is coded, in-use and working, it needs a lot of tweaking. (I also suspect it might be advisable for me to have this as an option, with a stockpile of ‘cliffski-designed’ fleets available for use instead). My current basic criteria for selection from existing fleets are:

  • Produced relatively recently (no beta or massively old challenges)
  • Has a good enjoyment Rating
  • Has more than x ratings (to ensure its not just a few friends)
  • Is valid (no modded content). The client filters out expansion pack fleets for people without them automagically.

I think, from my early playtesting, that I need a bunch more criteria. I’d like to avoid spammy fleets, or fleets where any ‘tricks’ are used. I think I need to at least add this:

  • All ships have engines
  • If the fleet is larger than X ships, then there is more than 1 type of ship design present, or no design is more than 75% of the hit point worth.
  • The fleet has more than x different weapons modules if larger than Y

The pain with this sort of thing, is although it’s trivial to do this in C++, I have to code all that sort of thing in php as it runs on my server. Effectively, new challenges get processed as they get rated, and may get added to the ‘potential campaign fleets’ list. That means lower productivity, as I’m more a C++ than a php coder, but that’s progress for you.

I’ve got a good few days work done on the campaign stuff, and am dfinitely 100% back into it. It’s still a long way off (I have music for it, but no art yet, for example), but its should be good fun. As long as sales pick up a bit, I hope to continue with improving the campaign after its launch too. There is huge potential for it, if people like it.

Also, I added a retweet me button thing to the blog today, feel free to use it!

Campaign game todo list

Just a bit of a public brain-dump from the campaign stuff I’m working on again.

things to do:

  • Handle situation where your fleet retreats from battle, at the same turn that the AI invaded the retreat destination and conquered it.
  • Better handling of retreating mid-battle, rather than letting your fleet insta-quit the minute you see the enemy.
  • Code to scale the AI so that it attacks less at the start of the game, and puts off a homeworld invasion until much later. Also, maybe some tutorial help hints to advise you not to leave the homeworld undefended.
  • Investigate why the threat level of systems seems to rise too quickly.
  • Give a loyalty boost to any planet where your fleet just repelled an AI attack
  • Add some sort of method for the player to see which other GSB player supplied his opposition fleet, and maybe give feedback on the enjoyment.
  • Overall difficulty balancing code to prevent a cakewalk or being quickly and decisively crushed.
  • Tutorial hints needed on when and how to repair ships
  • Feedback at the end of turns on loyalty and threat changes
  • Better UI to show that the current recruitment and cash earned from systems is being scaled by loyalty

In other news, I’m apparently going to be giving a  20 minute talk at the World Of Love Indie game conference next friday in London. Eeek. Public speaking etc. Scary…

I’ll probably talk about the business side of selling direct on the PC, because not many people have succesful experience of that, so it might be interesting to some people. I hate being known as ‘the biz guy’ as much as ‘the piracy guy’. I’m a game designer and coder really, but there are lots of people who talk about those topics. Ho hum.

Better ship design loader

I’m becoming a bit of a workaholic here. Anyway, lots of people wanted this: (click to enlarge)

Sortable by those top columns. Will be in patch 1.41 very soon. Was a right pain to do, because my generic file picker code doesn’t support multiple items of data per entry, or suitable sorting code, so it had to be specifically coded for this UI element. Still, only took a morning.

Experimenting with Module statistics

I think this might be helpful. It shows up next to the ship details window if you click on a weapon modules icon (or on the actual physical turret in the main view). This shows the range overlay, but now it also shows shots fired, hit/missed and the damage done, although it’s overall, not a specific target.

Tell me your thoughts. Is this too simplistic or abstract? I can see this being useful for spotting turrets that fire constantly and hit nothing. Click to enlarge it.

Improving Usability

It’s pretty clear from the tons of great feedback I got that GSB has an initial-learning curve and usability problem regarding designing ships and seeing the effects of them. I’ve already been trying to address this with adding damage feedback indicators to the game (see here). I think that will make a big difference. It’s also clear that the ship design screen could do with some work. One of the ‘improvements’ has been there for ages, but it’s not very well promoted, so you might have missed it. And if you played the original beta or demo, it wasn’t there, and you really should try it again:

Here is a screenshot showing recent changes:

A) Shows that a lot more modules are now locked at the start of the game. People found the choice overwhelming, and to be honest, you aren’t going to absolutely need an EMP gun or light plasma launchers to beat the tutorial, so they are now locked. When the game patches, it will now lock those modules, but existing players will have plenty of surplus honor to re-unlock them right away. This should make things look less scary for people trying the demo or just starting out.

B) Is the feature that has been in for ages but isn’t well known. Its the module-comparison dialog. Clicking any line of data about the selected module will open this window, with a sorted list of every module with that attribute, and highlight where the current module stands. Great for working out whether this modules missile speed (jnt his case) is slow or fast relative to other module choices. This feature is really handy. Its also launchable from other screens where the same module data is visible, like the unlocking screen.

C) Is a new item on this ‘ship stats’ window at the bottom. (In lower res layouts, this is a seperate pop-up window launched by a button in the corner of the blueprint). This shows shield resistance, as well as strength. These are very different things, and you may want to pritoritize resistance over strength, in some cases.

D) Tooltips! These explain those stats, which are probably confusing everyone. This stuff is in the manual, and hinted at in the tooltips for module data, but it’s much more useful to have it here, when you can see those numbers next to the design that they apply to.

This isn’t the end of usability improvements, I aim to add a bunch more, although they will probably be quite minor, and relate to tutorial windows and so on. Hopefully, by the time the next patch (1.41) goes out, the game will be far more attractive to new players. I’m kind of playing a ‘long game’ with GSB. I normally move on to the next game quicker than this, but I love working on GSB and I’d like the game to reach its full potential.