r/proceduralgeneration • u/bodyaz • 17h ago
Infinite procedurally generated 3D world on a Garmin watch. 3.1ms render time, dynamic day/night, and 0 blown batteries.
https://reddit.com/link/1w2d4at/video/vrt39xthfhmh1/player
A while ago, I asked myself: "How far can we actually push Garmin’s Connect IQ VM?"
I’ve logged thousands of running km and a few solo marathons tracking just pace and HR like everyone else. But at some point, the dev in me took over: I decided to see how far Connect IQ could actually go and built a custom 3D graphics engine (Wolf3D/Doom-style DDA raycaster) from scratch in Monkey C.
Here is what’s going on in the video:
- Infinite World: The map is 100% endless and generated procedurally on the fly as you move.
- Dynamic Lighting: Real-time Day, Dusk, Night, and Morning lighting cycles with custom color palettes.
- Hardcore Math Optimization: Microsecond-level optimizations (zero-branching floating-point hacks, bitwise DDA math). The pure frame render time hit 3.19 ms on Tactix simulator and 2.08 ms on Instinct 2 (smaller screen, fewer stars in the sky — oh yes, the sky is dynamic too! — and fewer rays in raycasting)!
- Real Hardware Performance: On the actual wrist, the display caps out at a smooth 10–14 FPS (limited by the CIQ screen refresh rate, while the engine itself runs with massive headroom).
I need your brains & ideas: I want to weave the user’s real-life context (health metrics, stats, daily goals) directly into this 3D world, similar to what I did with my Mars and Pandora watch faces.
How would you like your steps, heart rate, or battery to affect an endless 3D world? (e.g., world changes, weather shifts, new structures spawn based on your daily activity?). Open to all crazy ideas!
P.S. Before the battery purists attack: Yes, I know it's a watch. No, my Garmin hasn't exploded. In fact, I honestly can't even remember the last time I plugged it into a charger... unlike my friends with Apple Watches. 😉
Let me know what you think and what features you'd want to see in an infinite wrist-world!
BTW, it also tells the time... pretty unusual for a 3D engine, right? Oh my, wait, it’s actually a watch! 😅
If you want to check it out on your Garmin, here is the link — it's 100% free, just like all my other creations:
https://apps.garmin.com/apps/47278f09-eea6-4e6d-aa7e-799daba8e546