Building Fetch Quest with Three.js, Blender & Claude Code

Try It

Play Fetch Quest, and let me know what you think!

Inspiration

It started with an episode of Dive Club on YouTube. I came away from it wanting to make something, anything, just for the fun of it.

The subject was easy. This is Sage, a Cunucu (an Aruban island dog) with one ear up and one ear flopped over. She'll chase a tennis ball until the sun goes down, so I made a game about exactly that.

Why I Made It

I needed a creative outlet. I keep seeing designers build really cool side projects with AI, and I wanted in. I'd never made a game or worked in 3D, which made it more fun, not less. The only rule was feel beats size: one yard, one loop, polished.

How I Made It

I ran it like a design project: a short brief, small milestones, and a commit after each one. I also had the AI set up a script to screenshot and play the game itself, so it checked its own work before showing me. The images below are re-renders of old commits.

It took three directions to find the game: a side-scroller, then a third-person wander, then fetch.

Bringing Sage to Life in 3D

Sage started as shapes built in code. To make her move like a real dog, I rebuilt her in Blender from a character turnaround: a clean remesh, a Rigify rig, and nine animation clips that blend in game so her feet don't slide.

Reviewing the Level

Once it was playable, I had the AI review the level: 76 automated throws, screenshots from every chapter, and a scorecard. Toys landed in a ring around the launcher, and only 2 of 69 reached the far third of the yard. There were also no landmarks and no visible edge, and toys vanished into the grass at sunset.

Once it was playable, I had the AI review the level: 76 automated throws, screenshots from every chapter, and a scorecard. Toys landed in a ring around the launcher, and only 2 of 69 reached the far third of the yard. There were also no landmarks and no visible edge, and toys vanished into the grass at sunset.

My Favorite Part

The grass. Thousands of blades with backlit, glowing tips bend away from Sage, and she leaves a path that springs back over seven seconds. The first version was too busy. It got better by doing less: calm color in the distance, full detail only around her.

Looking for design support?

Strategic product
& visual designer

© 2026 Ryan Magalhaes

Looking for design support?

© 2026 Ryan Magalhaes