Progress on the controls and they're starting to feel OK! I want the different speeds to matter in this game, for lower speeds to be easier to control, safer/more stealth but harmless, and higher speeds to be damaging but harder to control. You can get in and around the balls easily and also smash them around. Next prototype might have different kinds of balls, some to smash and some to not smash.
I don't think I want this kind of pointer-drag interaction long term, I will need to sit with it on mobile to see how it feels, but fundamentally the orca will be moved based on some kind of vector. My dream is an arcade machine with a rollerball and the movement vector is just the current rollerball delta, so working backwards from that to something that works on desktop and mobile will be something to think about.
I ended up abandoning torque and just controlling the angle of the orca directly. I got hung up because I was assigning a value to the body's angle property which did... something, but not what I wanted. Matter.Body.setAngle is what you're supposed to do. Fair enough.
This implementation also dampens lateral movement so the orca is more aerodynamic and less slidey. It's subtle but makes a difference. The implementation will sometimes spin out though. Something to work on.
Hold D to show debug gizmos.
If it's weird to play in an iframe try the full thing.