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

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.

Bigger Battles. Working on various bits…

I’ve been improving the explosion effects today (not shown below) and also adding a glow effect when armour takes a hit (not shown) and adding a few more spaceship graphics to the game. There is such a lot to do, but I’m already having great fun watching the fleets fight. I also tweaked some of the visual effects for a few weapons. I need much better beam laser effects now that you can zoom in and they are so big. They just blurp out of nowhere and look shit :D

Better Damage Trails (maybe?)

Amongst other stuff, I’ve been listening to feedback on the damage thing and changed some stuff. Plus adding some new artist-drawn ships to the game. Here is the results:

Changes I made:
Redid the damage textures for some of the ships
There are now 4 different variation of smoke sprite
The smoke sprites now spin slowly
The smoke sprites use a newer texture, sampled from real explosions so they aren’t as black
I changed lots of emmiter variables too so it seems to billow a bit more.

It looks better without shitty youtube compression :D

Damage texture and particle video test

This doesn;’t look as good as it will, and I’m nto happy with it, but I’m working on damages to ships today, and trying to get both reasonable damage texures (fail!) and nice particle effects for both moving and stationary damaged ships.

Without ILMS budget this is hard. Also, this is primarily a test of the idea of capturing video and posting it to youtube for comment. Let me know your thoughts. I shrunk the window to 800×600 so the capture was high quality and small filesize. Lots of stuff here is placeholder.

Multi-texturing

Part of today was spent on the fleet design screen adding pilots as a requirement. This is something I’ve got from the old travller game. Basically some missions will have a limited number of trained pilots for your ships, thus limiting the number of small fighters that are viable for your fleet.

I also finalised which space backgrounds would go with each mission. Then it was on to some graphical stuff…

I’ve added a new weapon, which is an ECM blaster that knocks out the targeting systems of a ship for a few seconds. Ideally you would have a ship that acted as ECM cruiser to knock out the weapons of the enemy cruisers before you sent in your fighters and bombers to blast them to bits :D. As a result, I need a graphical effect on the target ship to show its been zapped.

The existing shield effect isn’t the same sort of thing, because it’s a seperate sprite drawn on top which surrounds the ship in a sphere. I needed something that ‘hugged’ the outline of the target ship. In a 3D game, you would maybe have an animated texture which you applied to the ships mesh, but these ships are sprites so that won’t work. The solution has been to layer two textures together and render them in one pass. Basically, I have a generic ‘lightning effect’ texture which is drawn on top of the ship, but I tell directx to use the alpha channel from the ships sprite as the alpha, and the color data from the lightning to draw the effect.

That bit was a pain to get right, but once done, I then needed to animate it. That is being done by having two lots of texture coordinates for the effect sprite. I leave the first set (for the ship, used as the alpha mask) at their defaults, and the effect color layer uses the second set. That lets me ‘ripple’, scroll or shake the effect texture, and still have it ‘wrap’ closely around the outline of the ship. It works, but I need to program a decent movement effect, and do a proper effect texture. Then I’ll post screens :D.