Live demo in code sandbox: https://codesandbox.io/s/r3f-breakout-practice-with-particles-and-screenshake-t7y6kr?file=/src/App.tsx
Notes:
(1) Paddle is controlled by left and right
(2) The ball has some basic collision physics with bricks (although it's sloppily done, I'm basically assuming it's rectangle on rectangle instead of ball on rectangle for simplicity)
(3) There's a basic screenshake on block break which I'm happy with
(4) There's some basic particle effects on block break, although I'm not sure if this is the best way to implement it