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

Gratuitous Deployment Interface

I’ve just made a change to the games deployment-screen UI, so I thought I might as well share it’s current look: (click to enlarge)

I used to have an icon ‘picker’ on the right hand side when you loaded an un-deployed fleet, and you had to drag and drop the ships into position on the left hand side. This was a bodge and tedious with huge fleets and big monitors.

Now the game will auto-deploy the fleet as you load it, and then you can slide them around and fine tune it. This is the same sort of system used by the Total War games, and I think it works much better. I’ve spent a few days working on some heavy duty re-organising of code for it to render faster, and things are much much more efficient now. Even with bazillions fo ships and things going zap everywhere, it seems to run pretty well. My next big challenge is getting it to run on my laptop…

Any thoughts on the design?

Website updated with FAQ and new screenshots

Yesterday I got the GSB website updated a bit, adding the final logo for the game and some small new screen shots and a FAQ. You can see it here:

http://positech.co.uk/gratuitousspacebattles/

And the faq is here:

http://positech.co.uk/gratuitousspacebattles/faq.html

As well as that, I also got the last few bits of GUI done, so the in-game GUI now is generally the final one, not the crappy one in the BBC video, although I’m hoping to add various bits of polish to it here and there. I also have a tutorial to do, and need to code in support for switching screen resolutions as well. From then on it’s back to play balancing and final weapons and data for the simulation.

The screen resolution system will probably support a number of fixed resolutions to choose from, if your card supports them. In the past, I’ve coded games that basically ask the card what it can do and let the player pick, but that can be hellishly awful to support, as some cards return about 100 options, and some can be obscure. Right now, the game needs 1024×768 minimum, but I might try and squash it to 600 for netbooks.

I definitely aim to support at least one stupidly big res, probably 1900 1200 res. If your video card can do it, the game will look real nice at that size.

User Interface

Today was day one of working on th proper UI for GSB. Until now, it’s been a GUI that I put together using my rubbish coder-art. Doubtless a lot of coder-art will make it into the final game, but I have at least some decent artist-drawn l33tness going in now. The general ‘look’ reminds me a bit of the mechwarrior games. I’m pretty happy with it, and am looking forward to transferring all the old placeholder GUi over to this new and better style.

There’s no point in showing screenshots of a half-implemented UI when everyone is watching coverage of E3 and the big corporate console games. It seems that it’s now official that the new Lionhead games main character is called milo. If you peak around the config files for Kudos and Kudos 2 you will see that the player is referred to as MIlo internally by the game. In fact, Kudos was originally called Milo.

Plus my second cat (who died) was called Milo.  Co-incidence? It must be something they put in the lionhead donuts.

How the (sort-of) multiplayer will work

Ok, I need some feedback on this, and I can’t shut up about it any longer. Here are my plans for multi player GSB, and they are going quite nicely in terms of being almost playable already…

GSB is a single player game with a number of scenarios each of which has a normal, hard and expert AI fleet to fight against. You will probably play each scenario several times, trying to reconfigure your fleet each time to beat the opposition. You will also gradually unlock new races, so there will be the urge to beat every scenario with every race eventually.

However, nothing beats going up against the brains of another player. The problems with a mutiplayer version are:

  • This isnt a real-time game, so you would sit there for ages waiting for the other guy to design his fleet.
  • Indie games dont have big sales, so finding people to play against is hard.

The solution is PBEM (play by email) but WITHOUT the email. Basically it works like this:

You load up a scenario as usual, having selected your race, and probably already with a big bank of pre-designed ships from battles against the AI. You probably have an uber-fleet that kicks ass against the expert AI already. You then click the ‘challenge’ button. This takes you to a screen where you type in the username of the other GSB player (someone you know, who has the full game), and a taunt to tell them how their pathetic space fleet will be ground to dust by your mighty lasers. You click send.

That uploads a tiny data file onto my server, where it’s stored in a database. The next time your friend launches the game, and clicks ‘refresh challenges’ he/she will see your challenge, with taunt in all its glory. He/she can then download that challenge file and play against your fleet in their own free time. Eventually, they should find a fleet that beats your fleet, and no doubt they will then challenge you back.

Obviously its possible to see how many of your challenges have been beaten, and to even track how many attempts it took. There are also tons of high score and metagame possibilities, as are the theoretical possibility of me posting ‘open’ challenges’ which get sent to everyone.

This is tons of work, especially for a net-coding n00b, but it’s in and working at the server side, I’m just tweaking client-side UI code to get it to work smoothly.

Thoughts?

Space Hulk particle test video

Now that the hull editor for the game actually does something, I managed to put it to the test by adding some particle emitters to the drifting ‘hulk’ from one of the federation cruisers. This short youtube video shows the ship being destroyed, and then you can just about make out the flickering particles on the damaged hulk. It look much better not in crappy youtube resolution.

Right now they all flicker off at a fixed LOD, but I’ll sort that out so it’s less obvious, then I can add them to all of the ships. I’m aiming for a look where people can zoom in during a battle and be impressed with the amount of silly detail I went to in order to make it all look cool.

This is fun bank-holiday-weekedn stuff. Tomorrow it’s back to php and MySQL. bah!