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

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

Update on current position of GSB

I’m trying to get towards a pre-order/beta situation, but I don’t want to rush anything. The game looks quite nice (I intend for it to look nicer,e specially the UI), and technically plays ok, but there are quite a few bugs and minor glitches right now. Here is what is currently on my immediate list to address:

  • Fighters sometimes retreat to their deployment zone (I thought I’d removed that code) and then just sit there. I’m considering letting fighters auto repair over time when not under fire.
  • Enemy ships actually occasionally path find off of the map. The game still works fine, but not seeing the enemy kind of sucks. The background is one big image, not a tile, so infinite scrolling can’t easily happen…
  • It’s possible that none of your weapons can penetrate your enemy flagships shields, or more likely, you don’t have enough fire-power per minute to actually knock the shields out entirely. I’m considering a number of fixes for this, because it can lead to infinite stalemates. One possibility is letting every weapon do some minor ‘leakage’ damage through shields. maybe just 2-3% of normal damage.
  • The code to unlock levels as you go along is broken
  • Some of the smoke particle effects look really bad. Something has gone wrong a bit there
  • I’m considering how to code an ‘alpha-strike’ order for ships, that basically says ‘try to co-ordinate your fire with a number of other weapons from you or other ships to blap in one go’. This is no mean task, and opens up the can of worms that orders are per-ship, not per-weapon. Hmmm.

So I’m pretty busy :D And this is all ignoring the graphical fluff I desperately want to find time to add to the game, plus other gameplay modes blah blah.

Much better deployment UI done

I’ve made good progress today and yesterday, despite distractions by Anno 1404, and being a bit ill. Here is a screen showing the new deployment layout. The UI needs polish, but this is how it looks.

I’ve got proper selection and multiple ship AI-editing working now. This means you can drag select, or double click select (no shift-add select yet) a group of ships, and then add a new behaviour to them all (if the behavior exist, it doesn’t matter) remove a behaviour, or edit the parameters of existing ones. This means that rubbish copy+paste stuff is gone, and you can edit groups of ships as you would expect to, including selecting a whole bunch and moving them as a group. The icon with a + on it creates a new ship design in the editor. I’m aware that it looks like a health icon, and I intend to redo it… I’ll also move the ‘main menu’ button to bottom left where it clearly belongs.

Also, I’m reliably told that AI ‘behaviours’ sounds weird, and programmy. Does ‘Orders’ sound better? I suspect it does. It’s only a GUI change.