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

Insane days work just to swap screen res :D

Today, I was awake at 6am as it was holiday morning. Not for me, I’m staying here, but it means I was awake at 6am, and naturally, ended up programming by 7.30am.

Sooo… I thought I’d get the screen res code done today, and here it is at 11.55PM and it’s still not 100% what it should be. I’ve stopped for food twice, and didn’t linger over it. Bah.

Now granted, I spent maybe two hours dealing with the upcoming German translation of Democracy 2, but the rest of the time I’ve had my head buried in the directx documentation trying to find out just how the hell it’s supposed to handle a screen res change under directx9. I finally got there, and I’m still ironing out the bugs in certain circumstances, but my main objective now at least looks doable, which was to retain the feature all my games have of ‘in-game’ resolution toggling.

I HATE it when games ship with a separate ‘launcher’ app that you use to set the screen res. It’s just so fiddly. I much prefer being able to fiddle with such things, especially windowed / fullscreen toggling ‘on the fly’. I doubt it will be possible mid-battle, but at least it will be a part of the main app itself. Plus it makes it trivial for me to test that the GUI works in all resolutions. 768 really pushes it height wise, but I’ll sort it.

Today was not fun, it took longer than it should had, and it was seriously frustrating and involved. The idiot who knocked on my door to try and doorstep-sell me energy supplies got told where he could shove his special offer :D

changes to ship design system

Today I got totally distracted and put in 90% of a system (I’ll finish it tomorrow) where not all slots will take all modules. Most sci-fi games with ship design adopt this system, and I think it’s a good idea. Eve has (at it’s most basic) three different categories, low mid and high. I’ve decided to go with a much more basic two-stage system where you have turrets and standard modules. This means that a ship with 10 slots (like a frigate) will have maybe 3-5 turrets. You will be free to put anything in a turret slot, but weapons can *only* go in turret slots.

I also beefed up my crappy hacky editor so I can easily designate which is which.

 In gameplay terms, this will allow for greater distinction between ship hulls. Some hulls will have a greater proprtion of their modules as turrets than others. You might use these for lots of small weapons like point defense lasers or  anti-fighter weapons. The other ships will lend themselves to small numbers of big beam lasers.

All good fun :D Time for a bottle of wine and the apprentice final. I think yasmina will win. Kate is too safe and steady and ‘sir’ alan is more like yasmina in personality terms.

I wouldnt employ her though. She clearly has no business sense. yasmina.com is not even registered, despite her currently being the most famous yasmina on the net. Someone else even got her full name domain: http://yasminasiadatan.com/

explosions, texture swaps, allsorts…

I spent part of today adding new explosion effects to the game. Until now, all my particles have had random rotation. This makes them look natural, but for some explosion effects you want the particles to be ‘stretched’ and thus for them to be angled in the direction they face. Anyway, that’s in and looking good.

Also today I added some basic physics to debris so that when there is a big white explosive flash, it’s applied as a force to the debris which makes the explosion seem more 3D and impressive.

I’ve also been thinking about techniques to reduce the number of texture-swaps per frame, which is currently scarily high in some cases. I can’t easily use z-buffers for the game because the huge amount of alpha-blending that I do. (I tried it, and its slower). One thing I’m considering is more use of (manually assembled) texture atlases, another is to make greater use of concurrency by scheduling some tasks for processing by the CPU while the GPU is busy swapping textures.

I havent implemented resolution changing yet, but I’ll be taking everyone’s suggestions for doing so on-board on monday when I do it. I suspect I’ll display all options above a certain minimum height.

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.

It’s like BBC, but with me on it

They have put that video on-line about piracy for which they came to my humble abode and interviewed me. It’s quite short, and I lose track of what I said, because they dubbed over it hilariously in Spanish, but there it is:

http://www.bbc.co.uk/mundo/ciencia_tecnologia/2009/06/090528_video_pirateria_dc.shtml

screeny:

I look much taller on TV. Actually I don’t, I look like a typical sad dork in his bedroom playing video games, and it’s one of the few times I get to see just how little hair I have left, but thats showbiz I guess. On a slightly more relevant note, theres about 1.25 seconds of me playing GSB, albeit with some horrid debug GUI and a placeholder splash screen. I think they dubbed some tacky dance music over it too, as the music isn’t in yet.

If you are like me, you will be suprised to hear someones voice who you have read things by but never heard. I think subconciously we all assume people whose voices we don’t know sound like us. It must be said, than in real-life, I’m not quite so spanish :D