This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady
What I Built
I built Don’t Wake the Sloth, a small puzzle game where you guide monkeys onto banana tiles without making enough noise to wake a sleeping sloth.
The game has ten levels, a noise meter, stars, undo, sound effects, and a calm jungle soundtrack. You can play in the browser or run the terminal version. There’s also a local Gemma assistant called Slowpoke: ask for a hint, or let it choose a move. The game rules—not the model—decide whether that move is legal.
It’s for anyone who likes a puzzle with low stakes, quiet leaves, and a sloth who would really prefer not to be disturbed.
Demo
https://dont-wake-the-sloth.onrender.com
https://dont-wake-the-sloth.vercel.app
Code
https://github.com/nooras/dont-wake-the-sloth
How I Built It
The browser game is built with React and Vite. The game rules are deterministic JavaScript, the ten boards live in levels.json, and a Dijkstra solver calculates the minimum-noise par for each level. There’s also a Python terminal game and agent.
I run Gemma 3 locally with Ollama. Slowpoke can offer hints and commentary, or choose a single move. The game validates every move itself; if Gemma is unavailable or proposes an invalid move in the terminal game, a local solver takes over. No hosted AI API key is needed.
I also made the ambience, lullaby, and action sounds with the browser’s Web Audio API, so the game doesn’t need external audio files.
Why Does Open Innovation Matter?
Running an open-weight model locally let me experiment with an AI character without setting up a paid API or sending game state to a hosted model service. I can change the prompt, try another locally available model, and inspect how the assistant fits into the game.
Most importantly, the AI is helpful without being in charge. The rules stay transparent and testable, while the model adds personality and suggestions.
The Lazy Payoff
No time-saved number measured—I don’t want to invent one. But the solver does the tedious part of finding and checking quiet routes, and gives each level a reproducible par. Players can ask Slowpoke for a nudge instead of restarting just to try a different idea.
Prize Categories
Gemma, Github Copilot, Render
Top comments (0)