I'm currently working on a game that uses the gyro for control, and requires a bit of precision. I notice that when I set my Playdate vertically on its side, the Y axis reports a small angle off center.
Is this a quirk present on all Playdates that I can write some code to account for, or is mine just a bit tweaked?
My guess is that due to manufacturing tolerances, it's unlikely every Playdate's accelerometer will be in perfect X/Y/Z alignment with the geometry of the casing. Also, the surface you're setting the device on may not be perfectly level to begin with. Relative measurements should be accurate enough, though.
The solution is to have a button in your game (or possibly a menu item, if you're out of buttons) that recenters — basically a "make my current orientation become the origin" command. FPS games on other consoles that use motion-aiming provide this, and I've seen it in VR as well. But there's nothing wrong with your device unless it's severely out of whack.
That's a great idea. Thanks!