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

nail-biting Exchange rate woes

I generally get paid in dollars. Even if you buy my games in Euros, it gets converted to dollars before I get it. That’s just the reality of internet commerce these days.

So when the dollar is strong against the pound, It’s good for me, because I get more pounds, and thus I can afford to not buy economy bread to live off.

I’m currently waiting for a big fat payment from a publisher for my games, and the exchange rate is gyrating wildly. The US government just blew a trillion dollars on bailing out banks etc, and that made the dollar nosedive. Why can’t these insensitive fools wait until I’ve collected my royalties? Grrrrrrrr.

I have tons of cool stuff going into GSB, but I’m hoping not to bore everyone with screen shots too early. Today it was time to do the ship name selection GUI and tidy up some of the explosion code. There is so much to do in this game to get everything looking acceptable at both normal and 4x zoom.

Alien races

I’m starting to get artwork for the second of four ‘fleets’ for the game. What this means is that it’s time to organize in code and data which ship belongs to which species.

Because this is a game about gratuitous space battles, I could go two ways:

1) I could devise very tongue in cheek backstories for each race, I was thinking of maybe having a race of brutal aliens who are psychologically driven to violent warfare due to the number of apostrophes in their names etc.

2) I could drop any pretence at giving a damn about backstory and call them generic names like “The Alliance” “The Rebels” “The Federation” “The Empire”. Etc.

I’m also toying with the idea of a random space race name generator which names your four races on first install, so that you have different names to them from everyone else.

Ho hum.

Gratuitous Debris

I got the wobbly cloak + damage textures stuff working in the end. I used a separate render target. Basically whenever a ship is cloaking it uses a separate texture to composite its damage and hull together, then renders from that. I’m not sure how slow SetRenderTarget() is, so I’m avoiding using it all the time.
Today I redid all the damage textures. I used a picture of an oil refinery at night, color-adjusted and light intensified, and use that to ‘paint’ sparks in gaps in the damaged ships hulls.
I also added debris. I cut out some parts of the ship, and scattered some of the damage texture magic on them:

I then emit some spinning bits of debris when a ship is hit or destroyed. The debris is all one texture and drawn collectively (on top of all the ships) so it’s a single vertex-buffered draw call and shouldn’t be too slow. I’m certainly getting awesome frame rates, even with tons of smoke trails, explosions, spaceships, debris and laser effects:

Tomorrow I’ll be doing some more of the AI behaviours for the ships.

Graphics problem

I’ve just encountered a bit of a dilemma.

I have this wibbly wobbly ‘not a cloaking device’ effect on the ships in GSB. The thing is, it wobbles the original ship sprite, and when I’m drawing ships, I’m also attaching some extra sprites for stuff like damage textures etc. Not to mention flashing lights etc.

When the ship cloaks, this means all those extra sprites effectively disappear, which is very jarring, and breaks the sense of ‘realism’ of it all. I’m not sure yet how to handle it. One idea would be to fade out all of those sprites over the few frames before the ship starts to wobble, so it’s less sudden, but that still makes no sense. Ideally, I would apply the exact same distortion to each sprite as I amd doing to the ship sprite, but that is problematic and complex (to put it mildly).

I could just wobble them ‘out of synch’ with the underlying sprite, but that would lead to some artifacts which would look crap. There is a video which i think shows it a bit below.

The way I wobble the ship is to basically split it into a grid and then wobble each point on the grid out of synch, the sprite is then drawn like a flat mesh grid, with bits of it stretched all over the place. If the damage sprites sat at exact grid intervals, this would be easy, but they do not.

It might make sense to actually burn the damage texture onto the ship texture. This would make things very easy, but suddenly if I have 10 frigates on screen, I have 10 times the texture memory (worst case).

Even as i type this, I realise the answer is likely to always align the damage textures themselves at grid wobble boundaries, and then to wobble them in synch. That doesn’t solve the issue of flashing lights though.

What A nightmare. i hope people use the wibbly wobbly effect a LOT.

Error: Missing Parchment

I’m ‘exchanging contracts’ with a publisher for something right now. I signed two copies (two!) and they insisted on them being physically shipped. This isn’t unusual, or particular to them, but now that FedEx have seemingly lost the ‘parcel’, it makes me reflect on the insanity of the situation.
There are three types of business:
1) Businesses that allow you to email you an agreement, or at the very least, print out a document, sign it, scan it abck in and email it back. Needless hassle, but the best of the three. (I know for a fact that they can’t tell if I just pasted a fake signature from photoshop onto the document without bothering with the print/scan bit).

2) Businesses that won’t accept that, but will accept a FAX. This is the most insane of the three, because the people at these obviously do not realise that a fax gets converted into bit and bytes, and so does an email. A fax is just a really special=purpose clunky way to email a scan.

3) Businesses that insist on a physical copy.

The physical copy thing amazes me. what IS the difference? Is it REALLY harder for someone to ‘forge’ a contract signature by physical mail than it is by email / fax? Do they think that if it goes to court, that forensic teams will carry out analysis of the paper fibres and handwriting and proclaim it to be original or a fake? Is this REALLY going to happen?

People have forgotten that paper was used to send INFORMATION, and contracts were used for that purpose. We have moved on from fingerprints or making an ‘x’. We do not need to squirt some extract of a squid on parchment and then put it on the fastest coach and horses any more. Some clever dudes invented email.

Presidents, Soldiers, Criminals, Journalists, even my retired father and my technology-hating old boss who makes wooden rowing boats have all embraced EMAIL. Join us lawyers… you are late… but you are welcome…