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.