Building Neon River Remastered
I wanted to see the current state of AI and what I could do with it in a day. I have seen so many little three.js games lately, and I was curious how far I could take my own game with plain English and a lot of detail. So I pointed Claude Code, using Fable 5.1, at the original Neon River and asked it to transform it.

Letting It Loop
This time I let it loop on itself. It used the three.js game skills by Majid Manzarpour, ran the game in a browser, and called its own agents to playtest and review the work. A reviewer agent checked out each milestone in its own git worktree and played it with fresh eyes. A playtester agent ran bots through hundreds of games to tune the difficulty. I played it too, mostly on my phone, and fed my notes back in.
It was not all hands off. The first pass followed my art rules too literally and came out flat. I rewrote the direction: keep the original painting as the world, and make the river, fish, net, and lantern into 3D objects living inside it. That was the turning point. Back in January I skipped three.js because the 3D assets felt like a rabbit hole. This time the models were built in code.
Closer to the Original
In January I guessed at how the fishing minigame worked. This time I read through the OpenGOAL decompilation of the original game. Every fish comes from a single point that sweeps side to side across the river, so they come down in a chain you can trace with the net. The game speeds up three times, and near the end fish and eels start swapping between banks.
Neon River now works the same way, with S shaped runs of fish, three speed ups, and a bank to bank finish. Catch an eel and it shocks the whole basket.
What Changed
- The original painting with real water, reflections, rain, and lighting
- 3D bluegill, koi, and eels, plus a new net, a lantern, and a basket that fills up
- Zen, Normal, and Storm Night modes
- A field guide that shows the original pixel sprites next to the new 3D fish
- Music, ambience, and sound effects made with ElevenLabs
- Advanced audio and visual settings

What I Learned
Plain English with a lot of detail goes a long way, but taste still has to come from somewhere. The AI could check that the audio played, but not that it sounded good. My ears and my phone caught things no bot did. Letting it verify everything also burns time and tokens, so later on I told it to keep the checks light and let me do the real playtesting.
Funny timing too. The same day I finished, someone sent me Krillion, a cute little game. It is fun seeing the similarities and what is possible right now.
Try It
The original is still at neonriver.kahdev.me.
Source is on GitHub.