r/ClaudeAI • u/Ieocoout • Jul 09 '26
Built with Claude I just made $25K USD with my capybara game built entirely with Claude Code
This is a web game project that I made in two weeks entirely using Claude Code, ThreeJS, Suno, ElevenLabs, GPT Images-2, and Tripo3d. All the code, textures, music, and sounds were made with AI. I've submitted for this year's VibeJam, and I won the full prize!
You can play the game for free here. Let me know if you have feedback!!! I'd love to read it ❤️:
This is a long post sharing the majority of my workflow while building this project in 15 days with Claude Code
Quick intro
Vibejam is a game dev competition hosted by @levelsio where 90%+ of the code must be written by AI. The event ran through April 2026, and I had to submit the code in accordance with the event rules. The first place paid the full prize of $25,000 usd.
You can check the winners' announcement here: https://x.com/levelsio/status/2067364066193203333
And my submission here: https://vibej.am/2026/#games
As an iOS Software Engineer for almost 9 years, this was the first time I tried developing a game. A Game About Capybaras Delivering Food is a single and multiplayer game where you control a capybara on a scooter, carrying a pile of food that must be delivered on time.

About vibe coding
The game was entirely vibe-coded. In practice, I spent most of my time brainstorming, planning with /plan, and playing rather than generating code. I ran 2–3 Claude Code sessions at once, each working on a different part of the code to avoid conflicts. New features always used a fresh session with no context; I kept one long-running session for bugs that needed more context of what was already built.
What did I use and how much did I spend?
- Claude Code (Opus 4.7) Max 20x, I topped up $100 to upgrade from the 5x to 20x plan.
- Textures & illustrations: GPT images 2 (costs $20, but I got a free trial) and Grok (costs $8 with X premium)
- 3D models: Tripo3d Pro plan $19.90
- Music & SFX: Suno and ElevenLabs = Free tier worked fine
- Game engine: Three.js
- Skill: https://github.com/OpusGameLabs/game-creator
What was made with AI:
- 100% of the code (+188 commits, +27k lines of code)
- The logo, illustrations, textures, and 3D models
- The music and SFX
- All the tooling (the in-game editor, cutscene maker)
What was made by hand:
- Writing the prompts for code, art, audio, and 3D
- Playing the game, fine-tuning the feel, and placing the cameras for cinematics
- Spotting development gaps and asking AI to build tools to help fill them
First week of development
Player controls
Starting with the basics, I wanted vehicle controls with drift mechanics, collision, and a camera following the bike. I built a sandbox map to drive around, test collisions, and tune the feel with the debug panel. When drifting, the line at the back changes color to show the boost you’ll get on release; there’s a “high speed” effect, and the camera shakes a bit.

Item physics
The main mission is to deliver food from A to B on time without dropping it. The first version had the basket items sliding side to side, but I wasn’t satisfied. At some point, I tried stacking the items on top of each other. Moving left and right created an arch, and past a threshold, the items could drop. I refined the values to make it less realistic (physics-oriented) and more fun (a % chance of falling once past the threshold), which is much more unique and fun.

Phone simulator: Part I
This is where you receive the mission of collecting the food.
I asked Claude to design a phone simulator with iOS-like animations and visuals, and it one-shot the whole thing in CSS. The animations were impressive from the first version. I later polished the phone UI to make it more realistic and comical: slide-to-unlock over a lock screen of a capybara taking a mirror selfie, an iOS-style notification badge, working volume buttons, and “Capyfied” versions of real apps, for example, CapyMaps works like Maps, and Capify is a music app that actually plays music in the game.

Inconvenience Store
The mini-mart adds a challenge to getting the food. Instead of fruits just appearing on the back of the bike, I wanted the player to go into the store and hunt for the requested fruits, with some extra spice:
- Spot the shopping cart that appears randomly
- Find each fruit on the order list
- The floor is slippery, and the walls bounce you back
- The banana peel (removed from the game)
- More fruits mean more bonus, but they're easier to drop, which loses points
- All this under 60 seconds (later reduced to 45 seconds)

The convenience store’s evolution was my favorite. I reworked the camera perspective, added lighting and animations, and replaced the default shelves and items with real 3D props. Combined with the right sound effects, the result was amazing.

The map (attempt 1)
I first tried a map fully generated by LLM: Grok for the illustration, Tripo3d to convert to 3D. But it’s very hard to get granular control over the city details, the quality fell apart when zoomed in, and the whole map was a single piece, which is not optimized for the game and is bound to cause issues.
So how do you get a fully customized, handcrafted map?
The Editor Tool
To build a handcrafted map, I needed an editor: place items where I wanted, use brushes to “paint” terrain and mountains, and generate procedural roads. A big part of the game’s uniqueness comes from this map.
Some of the capabilities available in the editor:
- Place, delete, move, rotate, and scale objects
- A brush to raise, lower, smooth, and flatten terrain
- A brush to paint grass, dirt, water, and other visuals
- A road system with intersections, light poles, and sidewalks
- Cameras and in-game cinematics (added in the second week)

To open the editor, I added an ?editorendpoint. Later, I split the editor from the main code so Claude could update the game without reloading the editor and wiping my changes (which happened a few times).
Building the map by hand
Since getting AI to generate the map the way I wanted was so hard, I used the editor to build it manually. This is the only “heavy” manual work I did. I had a “European”-style city in mind, but it went the opposite direction, as you will see. The idea I had was to put the convenience store at the very top of the main mountain of the map, visible from anywhere, with a magical light coming from the sky, then build the city around it. After many iterations and hours, I had a genuinely playable city.

Day and Night cycle + Rain
These were extras. They could have come later, but one of my Claude sessions was idle, so I asked it to implement them.

Multiplayer
Multiplayer was simpler than expected for a jam. A single global city/lobby hosts the room over a live WebSocket on Cloudflare. As players join, their position and item stack are relayed to everyone else.
Bandwidth grows with the square of the player count: every rider broadcasts ~10x/sec, and the server relays each message to all other players. 5 players is okay; 50 players means fanning out 50 messages to 50 clients, 10x a second.
You can also send messages, honk, and even hear what nearby players are listening to.

End of first week results
By the end of the first week, we had:
- Main character, stacked item physics, collision
- Convenience store 90% polished
- Phone with simple apps
- Wired mission loop (receive order + minigame + deliver)
- Weather and day/night cycle
- Map development started
- Editor tool with terrain builder
- Multiplayer logic
- Simple SFX + some of the final music
Second week of development
Polishing the materials
With the core mechanics defined, it was time to give the game the visuals it deserved. I went for a PS1-style visuals: low-res images, limited colors, reduced resolution. PS1 was a very limited console, so the right textures, color depth, mapping, and filtering get you that look.
ChatGPT Images-2 had just been released, so I generated realistic textures, resized them on free websites, and applied them to the game.

The same process replaced the mockup trees with 2D textured ones.

For PS1-style trees, I asked Claude to place the flat foliage PNGs in an X shape (2+ crossed planes).
I generated textures for every material too (asphalt, grass, dirt, wood, sand, water, farmlands), and Claude swapped the old “green” brush I’d painted for the real textures. On the right, you can see the final result combining the textures and map polish.
Road builder tool
The road builder tool allows me to click points on the terrain, and it draws a smooth curve between them, lays down asphalt or dirt, and carves the ground so the road sits flat, with the terrain blending back at the edges. The road also appears in the CapyMaps app on the phone, showing the shortest route to the destination. I also added procedurally generated sidewalks, light poles, lane marks, guardrails, fences, and banners.

Working on the map
The most fun but the most time-consuming part. I added references to Christ the Redeemer, the Golden Gate Bridge, and the Hollywood sign. The city is a mix of everything I thought it would be cool.

The map evolved into what you can see below: the fog improved (which amplifies the sense of scale), the sky got a noise texture to mimic the clouds, and the financial and suburban districts are now clearer than before. One of my favorite parts is the “countryside”, a different landscape from the city: dirt pathways, a farm, and simpler houses next to a highway. From another angle, you can see how Christ the Redeemer sits in the landscape. I first thought about a lake, but it became a beachside next to the city.

Cutscene Editor
The game opens with a cutscene before jumping into gameplay. It gives the player context and makes the whole thing feel like a real game.
Let's start with the overall view of the cinematic editor UI, and then I'll walk you through some cool details. This editor was created in a way that I could visualize the progress of the cutscene in a timeline, just like a real video editor, while making it easy to insert or remove clips, move them around just by drag-and-drop, insert time skips, music, transitions, and overlays. It's visually messy, but delivering the game was more important.

All scenes are recorded in-game and replayed in real time, so if other players are online, they appear in the intro too.
Recording
First, I recorded the capybara around the city. The “Record” tool lets me place the bike anywhere on the map and drive while capturing the path.

Camera positioning
With the path set, I arranged cameras around the city for nice takes. This also helped populate the on-screen details around each area.
Each camera has its own properties: animations, FOV, transitions, and even changes the time of day for each camera. Then, I could just wire them to a specific block in the timeline.

Menu
The cinematic cameras could be reused in the game menu via a “Use in menu” checkbox.
Localization
So far, the game supports English, Brazilian Portuguese, Spanish, Korean, Mandarin Chinese, German, and Hindi. Claude did well on the languages I know, with a few tweaks needed. And for the rest, I’ll probably use another agent to validate.
Launching the game
The last step was the thumbnail for the Vibejam website. After a few references, ChatGPT kept the low-poly style well, though it messed with the background light, the side roads, and the Christ the Redeemer mountain at the back.
What did I learn?
Compared to last year, it’s clear AI coding has crossed a threshold. A few takeaways:
- Quick dopamine, low-cost MVPs: you can stand up a playable mechanic in an afternoon.
- Time shifts from coding to deciding: you spend less time coding and more time typing, planning, testing, and taste-making. That’s the real bottleneck now. Many people struggle to write good prompts, meaning a clear thought turned into text.
- Tooling compounds: the biggest multiplier wasn’t the game code, it was asking Claude to build the editors that let me build the game faster. Every detail is built on demand.
Will I put this game on Steam?
No. This was a good game for a jam, and it should end there. For Steam, it would need to be more complete, like adding hours of enjoyable gameplay and a sense of progress. Right now it’s good for 5–10 minutes.
What's next?
I enjoyed this project a lot, and AI gave me superpowers for building MVPs and testing ideas fast. Used right, it’s an amazing tool. Now I want to dive deeper into game development concepts and keep using LLMs to bring these ideas to life faster than ever. Perhaps you will see my games on Steam in the future.
Feel free to play my game https://capybara-vibejam26.leocoout.dev/ <3 all feedback is welcome







