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

Version 1.05 at last. Getting better…

I just uploaded version 1.05, and activated the auto-patching. This fixed a ton of things. The big stuff is code to prevent most of the hardcore ‘stacking’ on the deployment screen, by means of a snap-to-grid system for deploying ships (this has it’s quirks, but will be polished more later). That means fleets look more like this:

There is also a groovy new right click option for designs (mass deploy) which means you can add new ships with a single click. I also fixed about a  dozen minor interface niggles and made two big gameplay changes:

Repair modules now have limited resources, and when they run out, they stop working. This means they are no longer a long term equivalent to the infinitely recharging shields. In short, you can’t build indestructible ships just by stacking repair modules and armor

Escort orders now have variable range, meaning you can have closely knit groups of defending fighters, or squads that roam into enemy space only so far, which should mean a lot more tactical flexibility.

I’m well aware that I need to give the existing AI enemy fleets access to these new capabilities and improve their deployments as a result. However, that’s come secondary to making the game better balanced for challenges and for playability. I’ll be improving the general balancing, and all sorts of other stuff over the next few days. I might get around to a much needed beefing up on the online options too. It sucks that you can’t browse on-line high scores or stats, or easily track the progress of challenges you issued, or rate challenges for their difficulty. I have long term plans to get a lot of stuff like that in, plus all sorts of other goodies.

Here is some interesting coverage of the game over at good-old RPS

http://www.rockpapershotgun.com/2009/09/08/gratuitous-space-prattles/

Gratuitous Patch 1.04

I took slightly longer over the latest GSB beta patch, because most people were at least playing the game (albeit with some sound slowdowns) so I wanted to get more fixes in this one, and not get stuck in perpetual ‘patch-a-day’ land.

Here are the fixes:

version 1.04

1) Fixed crash bug when editing a ship after clicking edit on the deployment screen from a challenge and then returning to the deployment screen

2) Added option to change the number of maximum sound channels the sound system uses in prefs.ini

3) Changed the way the ‘Attack’ orders work so now if you have no attack fighters order (for example) they are totally ignored until the enemy has nothing but fighters left

4) Added new togglable option to enable or disable pitch-shifting sounds with game speed, as possible fix for the 1.03 slowdown bug

5) Confirm dialog added for escape key on battle screen

6) Fixed a number of bugs relating to modules changing into different modules when you save and load them

7) The dialog for confirming that you admit defeat now pause the game while it is active

8) The post-battle stats window now has a button to return you to the deployment screen, as well as the main menu one

9) Re-design of the hull picker window so ships are selectable from a scrolling list, and also are sorted in both race and then ship class within a race

10) Double-clicking an order in the order-selection window now adds it

11) Changed the way shield stability recovers from disruptor bombs so it makes more sense on ships with a much larger shield system.

12) Text-edit windows for renaming stuff now behaves better, with click-split, home, end and right left keys all working the way windows does.

13) Increased variety of gratuitous ship names

14) New AI-Order ‘Keep Moving’ will keep a ship meandering around it’s current position and maintaining it’s attack range (when attacking)

15) Fixed crash bug when going from deployment to ship editor and back, then selecting one of the orders already displayed

If you pre-order the game NOW onwards, it’s already version 1.04, else it will autopatch when you start the game up. Hopefully this won’t introduce any new issues. (always a fear). The BIG changes for anyone who hasn’t encountered any crashes are the new ‘Keep Moving‘ Order for ships (useful for frigates, not applicable to fighters) and the changes to the way attack orders work, You really can now have ships that just refuse to engage fighters (unless only fighters are left). Feedback on all these changes most welcome, I know there is tons of other stuff to fix and tweak, even before I consider stuff to balance and add. That could take years!

BTW, A few people who are exchanging challenges by tweet are putting #gsb in the tweet. Hopefully this actually registers a bit somewhere and makes it look popular? :D

New Ship Hull Picker

Amongst other things (mostly sound related) I’ve been tidying up the ship hull ‘picker’ from the ship design screen, which was a bit fiddly and unpopular. The new one looks like this: (click to enlarge)

I wasn’t sure about the aesthetics of a three-pane look, but I’m assured it looks ok. I considered fading out everything behind it so the screen looked less cluttered. The big usability improvement (apart from the scroll wheel plus the keyboard up+down moving the scrolling list) is that hulls are sorted by race and by category, so you get all the alliance ships first, in fighter, frigate, cruiser order, then the next race etc…

I’m pretty convinced that is the sort of thing people wanted from it.

The performance slowdown on version 1.03 seems to be confined to certain hardware or windows combinations. I suspect it is related to the sound effects being sped up and slowed down, and this will be togglable in the next build, pending an eventual discover of exactly why that seems slow.  I’ve also been fixing tons of small Ui issues, and fixing some incorrect module data. The proper gameplay balancing hasn’t started yet, so if you think the game sucks because plasma torpedoes are too powerful 9for example), thats because I haven’t really got cracking on that yet.

Challenge!

This is the current challenge list screen (click to enlarge). It’s not exactly an MMO quality on-line browser, but it’s what there is right now, at this beta stage of the game. (BTW I’m aiming for pre+orders + beta for pre-order customers as of next Monday).

There are basically 3 types of challenge. Automatic ones, open to all, which get uploaded whenever you beat an AI fleet from the game (these come from ‘auto’), open challenges where a player has posted up an open invite to beat their fleet (sent to ‘all’) or personal challenges sent to another GSB player by username.

Only the target player will see personal challenges you upload. I’d imagine 90% of challenges people play will be the personal or ‘all’ ones, the auto ones are just there to ensure some challenge population is available. I will also be developing some kickass fleets for you all to lose against :D

The browser downloads a list of all the challenges, and you can then filter them using those top buttons. Every time you attempt to fight against a challenge, the ‘Attempts’ is incremented globally. Every time you beat a challenge, it’s ‘Victory’ will go up. You click the download button to grab the challenge from the server and play against it. From then on, that challenge is a local downloaded one you can revisit easily.

I haven’t done the code yet that means only one victory per challenge, per person can happen… must do that!

I must also add a button to only show *your* challenges, so you can check on how many attempts your fleet has had, and how many people have beaten it. Ideally there would be TONS of community based features like this, it really does depend how well the game does, and if people enjoy this sort of thing. The minute there are some pre-order buyers playing the game, I’ll have a decent idea as to where to direct my energy in terms of development.

Thoughts?

Victory Conditions for GSB

For a long time the code that checks for the end of battle has basically looked for the first fleet whose number of live hit points as a ratio to its total (damage is ignored, only active or destroyed ships matter) drops below 10%. At that point you lose.
Theoretically you can pull back from 10% of your fleet to victory, but the code is there to prevent the game going on for hours trading shots between two closely balanced fighters.

Some play testing today has made it obvious that there are other clear cases of victory / defeat that need detecting. You may well have played an RTS where it’s pretty flipping obvious whose won, but you have to endure another hour of it. Hopefully this won’t affect GSB.
The new rules include this:

  • If three minutes has gone by without any ship being destroyed, and one fleet is less than 50% of the strength (in percentage terms, not absolute hitpoints*) of the other, then it loses.

also:

  • If one fleet is reduced to nothing but fighters, and the other fleet is not, AND that other fleet outnumbers you by two-to-one in hit points. You lose.

As I code this, I’m wondering if that initial 10% calculation should also be contingent on the three minutes without a ship destruction being introduced too. It should at least consider extending it if it’s a close battle.

This is the kind of stuff that gamers who want to be game-designers think designers do all day. In fact a lot of the time its more obscure crap like “If the player designs a cheap ship, then edits it in the editor and goes back to the deployment screen, but the fleet is now too expensive, do we prune ships automatically? or do we put up a dialog or disable the fight button? zzzzzzzzzzzzzzzzzzzzz

*on expert difficulty, the AI outnumbers you, so this needs to be calculated as a fraction of totals.