I don’t know why it is, but everything needs to be a function of something else with me. Bullet damage needs to be a function of momentum-accounted bullet-speed vs. standing bullet-speed, screen-shake needs to be a function of damage magnitude.
I’ve added screen-shake, scaling by damage done, to impacts from bullets, collisions, and deaths. It adds “juice” to the game (making the gameplay feel more satisfying). Hopefully, it doesn’t make it feel too busy.
The YoYo Games blogpost with a modern implementation of screen-shaking I learned from mentioned this video about other “juice” techniques. May be work looking at.