It needs some feedback during the spam-Q bits. The user doesn’t really feel like he’s doing anything. I kind of wanted the fading out to reverse on each stroke of Q, and fight it back to light.
Also, among the many design flaws here, one that really piques my curiosity: When you walk into a wall diagonally, you end up moving faster on the free axis than if you were moving on just the free axis. How does that happen?