If you follow indie games you've either watched Jan Willem's Nijman's talk about screen shake or you're about to. A lot of easily-overlooked craft goes into representing physical sensations in audiovisual media; easily-overlooked because, if it works, a casual observer will consider themselves to have felt the sensation instead of seen it.
The gif frame rate is eating a lot of it in this particular example, but you can see an earthquake effect each time the mouth in the ground vomits fireballs. You can see the same thing a lot more clearly in the trailer.
As I started to implement this, though, I realized that "screen shake" isn't just one thing. Look at what's happening here:
There's a sensation, all right, but it's the wrong one, and a weird disconnect is the result. Shoulder-checking a man in armor shouldn't feel like the earth is quaking under your feet. It took a lot of experimentation and re-working the way my previously rather haphazard camera code interacts with the way Game Maker handles and enforces screen boundaries, but I'm closing in on something that feels right on.
Like I'm doing with the camera, I'm refining some other systems so they're more consistent and broadly applicable. Instead of the straight-line hitscan they used to be, bullets are now projectiles just like any other, rendered in that cool Goldeneye tracer style that you know from video games, and can interact with cover without needing any special exceptions: