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

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.

Game tools and why they arent always released

Have you ever thought it weird that a lot of game developers do not release the tools they use to the modding community?

You might be tempted, in these cynical ‘game devs are bastards’ times, to suspect that this is a deliberate move by evil game devs to make modding harder, so they can sell more DLC and expansion packs. I guess that it might be true in some cases, but I think that the history of PC gaming would suggest quite clearly that a well served and popular modding community is a sales booster for a game.

I have my own theory, and its simply that professional game developers tools are crap.

I’ve always been amazed at how good the tools are that modders put together. Someone even did an editor for some aspect of Democracy that was better than any tools I had. I am notoriously crap at doing tools, and often hack things together using Excel and notepad. It’s really quite tragic.

The reasoning for why the actual developers on a game produce such poor quality tools may include the following

  • Working on tools sucks, and isn’t as much fun as the game engine or gameplay, so the least experienced coders tend  to get assigned to it, as a way of ‘paying dues’.
  • Sometimes devs are quickly hacking the tools together so they can get back to doing the important stuff on the actual game.
  • The game design is always changing, so you are quickly hacking in systems on a temporary basis, and never get time to tidy them up at the end of the project.
  • Producers and money-men dont always schedule time and budget for tools, as they don’t understand their importance, thus they are rushed.
  • An attitude persists that tools will not ship, and are not mission critical, so its ok for them to be buggy, ugly and difficult to use.

And of course this is all applicable to big budget games. With small one man companies like me, the situation is far worse. Literally every minute I spend on tools is time not on the core game. Also tools effectiveness scales with the size of the game. A tool that speeds up 400 hours of level design is worth more up-front effort than one which might save 20 hours work.

My tools do actually exist (as special hidden modes of the main game) but they are very, very basic, hacky and bad. Don’t be surprised if they aren’t released on the same day as the game :D