I prefer this version as it fades out in the given time independently of the fps, as opposed to alpha *= (1.0f - TIMECONSTANT)

Yep, there is a pow being evaluated in every tick that can be moved outside as const, too. I am changing that