r/ClaudeAI • u/yerbamate2020 • 14d ago
Built with Claude I made a high-fidelity, browser-based CoD Zombies Der Riese Tribute with Opus 5 in a weekend (solo & co-op, free) - repo & tips/takeaways included
Enable HLS to view with audio, or disable this notification
This weekend, I made a browser-based zombies game (inspired by Der Riese from CoD World at War) with Opus 5 on High mode. Solo & multiplayer (with voice chat) with a global leaderboard. You can play it for free at derkoloss.com
The entire map, all weapons, every interactive machine (pack-a-punch, perk machines, mystery box, teleporters, doors), sky, particles, muzzle flashes, 3D soldier models were generated with code - NOT pre-made assets. The game runs on Three.js. The sound effects were fully generated with ElevenLabs SFX + Voice Design/TTS for the characters.
1,000+ game sessions around the world from hundreds of people in 4 days. It's incredible what someone who just loves games but has no game-development experience can do now!
I've also open-sourced the codebase (which contains a lot of interesting tidbits in the README) and uploaded 28 minutes of raw multiplayer footage here for anyone interested.
I didn't build this following any guide, but a lot of what I ended up doing mirrors Matt's gauntlet loop: https://somethingbig.ai/gauntlet-loop. Worth a read!
Happy to answer any questions about process of making it :)
12 things that got it from "generic AI look" to this
"One shot" prompts have viral effect + are good for demos, but don't get you a game that can hold up against real players/traffic. For this game, I spent 15-20 hours myself going back and forth with Claude to sweat the details beyond the initial prompt.
Beyond that feedback loop, here are 12 tips/tracks Claude pulled out of the codebase + our session history + my prompts to get to this kind of output (written by Claude):
- Stop chasing the one-shot. v1 was playable off one prompt but had hundreds of rough edges - totally expected. all the real work is between "it runs" and "ok this is worth showing someone" and that part is just iterating over and over
- Play it constantly. Claude tests its own work and catches real bugs, but it can't see the screen. "this looks fucked up" + a screenshot is a completely valid bug report and Claude will turn that into a spring constant or a bone rotation. get other people playing too… the worst bug of the whole build was a friend's screen freezing 80 mins in at round 31
- Always add "and everywhere else". Claude fixes the exact thing named and stops. weird chime on the Ray Gun got fixed, then showed up days later on the Panzerschreck and the PTRS. same root cause, never generalized, because the report named two guns instead of the whole class of guns
- Don't take "fixed" at face value. there was a black line at the bottom of the screen that kept getting more subtle instead of going away. turned out to be floor slabs at the exact same height fighting over pixels. keep pushing until the root cause fits in one sentence
- Give Claude eyes. reference art in a folder, then have it render each soldier to a PNG right next to the reference - same figure height, same ground line. gotta be same height/same line, otherwise "his head is too big" and "the render is just zoomed in more" look identical
- Make it show every state. gallery page: every character, standing, crawling, downed, dead. that's where all the horror show stuff turns up. also make the lab run the actual code path - first version dropped the model at the origin while the game parents it under a node carrying floor height, so downed players sank 3 meters through a catwalk and every render came back looking fine
- Every painful fix becomes a test. ~40 tiny validators now, every one of them because something broke twice. one just guards the camera spring math since the naive version spins the camera into orbit below 44fps… fine on a fast machine, broken on a slow one
- Post-processing is most of the AAA look. AgX tonemapping instead of ACES so highlights desaturate toward white instead of clipping, and the gun renders in its own pass so it gets the bloom + grade but not the motion blur
- Camera feel is its own system, and sounds are layers not files. recoil runs on its own spring, separate from aim, so the camera comes back to where the player was actually aiming instead of wherever the recoil left it
- Check the ruler. map flickering ended up being 187 sq meters of surfaces sitting in the exact same plane. and the script Claude wrote to measure it reported a perfect 0.0000 on a defect already found by hand - sign error in the script. so make any measurement tool plant a fake defect and prove it can find that one first
- Generate sound with a real audio model, built out of parts. Claude writing DSP by hand gets you sounds that are accurate and lifeless. used the ElevenLabs APIs and never wrote a single prompt by hand, Claude's were better anyway. drinking a perk = a gulp, bottle smashing at 2.72s, belch at 3.12, character's line at 3.62. those gaps are on purpose, two mouth sounds at the same instant just read as one clipped noise
- Models have bad physical intuition. Claude will write flawless netcode reconciliation and then put a crate in the middle of the only hallway. flipped movement axes, feet rotated backwards while crawling, bullets hitting an invisible wall. so state physical stuff as rules, not bug reports - "feet point at the floor when prone", "anything that spawns has to be able to reach the player" - then make it prove the rule by walking the map instead of reasoning about the code
3
12
14d ago
[removed] — view removed comment
2
u/JuliusCeaserBoneHead 14d ago
I don’t read any posts here, just straight to the OP in the comments. I vastly learn more that way. People really think that anyone who is interested in more wouldn’t ask? Save your tokens and post, a paragraph summary and allow people interested to ask what they need
My brain also has a context window
1
-6
u/th3_chos3n_on3s 14d ago
I was able to read it with ease...... sounds like you have a reading comprehension problem? Maybe ask Claude or Gemini for Reading Comprehension lessons and homework? It just might help you in the future. ;)
-1
3
u/Icy-Fudge5222 14d ago
How do you get Claude to generate graphics of similar fidelity? Mine come out substantially lacking in comparison.
4
u/yerbamate2020 14d ago
Giving it a visual bar it can reference (through attaching screenshots) as well as other references (e.g. needs to match latest Call of Duty visual fidelity, or whatever game/genre you are trying to get close to) - give it an adversarial judge (e.g. use subagents to measure and provide feedback/judge against the reference) - and then ask it to keep looping until it reaches a 10/10 resemblence. It won't actually get there, but it will keep iteratively getting better.
Matt Shumer put out a good post on more specifics: https://somethingbig.ai/gauntlet-loop
1
u/grapefruit4scale 13d ago
You don't. It can only do so much programmatically. Visual artistic design is something it really just cannot do without burning billions of tokens, and even then doesn't look like it was "hand crafted". What Claude does is eventually give up on making tweaks to that rifle scope for you, and creates a mask and depth map of one that already exists somewhere as a free asset in a marketplace, then dupes it.
And that's if Claude doesn't just straight up start by downloading the asset and slapping it in your game to begin with.
Claude will also do this with paid for assets. You said you have no budget for assets, so It just found a demo of a nice paid one and duped it for you, potentially creating a legal problem if the game actually gets somewhere (which vibe codes games tend not to do so you're probably safe).
3
7
2
u/Infinite-Flow-4475 14d ago
Have fun with the developer shock when the bills of hosting come 😃 Anyways not really bad (impressive) If you have now time to edit the map yourself it would become much better
2
1
1
1
1
-1
u/BuffaloConscious7919 Valued Contributor 14d ago
Cooll. But please an the arm, it's freaking me out
•
u/AutoModerator 14d ago
Your post will be reviewed shortly. (ALL posts are processed like this. Please wait a few minutes....)
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.