This one isn't obvious until you start so I'll give a quick overview of the way it currently works:
- You purchase a shield generator, it starts with no-power
- Shield begins charging, it is at 0% so it is completely invisible
- 5% it is just becoming visible
- 50% visible but still quite faint, there is no colour
- 95% clearly visible like a pure white soap bubble (no chromatic aberration)
- 99% to 100% PING!!! The shield goes invisible as it get to fully charged!
Which isn't a surprise since I only changed what was rendered rather than any of the underlying logic regarding it's behaviour.
We can of course do much better than that, I just haven't yet because... um... I'm lazy?
So I propose the following:
- You purchase a shield generator,
- it starts with 10% power and a dull red colour all across the ship with a very faint soap bubble effect,
- 25% and it's dark orange, the soap bubble effect is becoming stronger,
- 50% progressing up through some kind of colour spectrum, still dark & transparent but with an ever stronger soap bubble,
- 95% a grey-blue with pronounced and clear bubble,
- 100% the soap bubble stays but the colour is clear now.
Whenever the ship is hit I'd adjust the value of a flag and reset a cool-down timer so that it was suddenly much brighter, say going from a dark-orange to bright-orange very briefly indicating you'd been hit by something.
Initially I'd just apply this to the entire shield but with a tweak it could also be used to indicate the origin of a hit.
The reason for the colour gradient is to give an indication of the strength of the shield, without relying solely on the opacity.
Finally I think that once you've got a shield it should stay visible at all times unless it's been completely wiped out, or actually below some very low power threshold.
What do people think?