Jeff Sandler x Claude Code

This is my site for sharing my hobby of creating games with Claude Code. Each game below was built through collaborative AI-assisted development — playable in your browser, no download needed. None of these games are going to win any awards -- they're mostly for my learning and fun.

Oh, and this webpage is created and maintained through Claude Code, as well.

Games
01
Superhuman Rock Paper Scissors
Can Rock Paper Scissors be strategic and fun? Maybe?
02
Rogue Robots
A rogue-like, an autobattler, and a tower defense game had a baby.
03
Heroes of the 7th Year WIP
An autobattler with strategic resource management set in a grim world.
04
Valley Assault
My first 3D game. Heroes of the 7th Year from the other side. Best experienced on desktop.
05
Unnamed Egg Game
A silly "game" for my daughter, inspired by a Tim Robinson sketch. Sketch is NSFW. Game is SFW.
Details
May 2026

Superhuman Rock Paper Scissors

My first Claude Code project. Why Rock, Paper, Scissors? Well, I figured it would be a very simple MVP — just a small tournament with NPC opponents picking randomly. Then, I started to think on the question "what could make RPS fun?"

Despite what I'd consider succeeding at adding layers of strategy and tactics, I'm not sure I hit the mark on Fun. It's my least favorite to play out of the games I've made thus far. If you make the Hall of Fame, please send a screenshot.

Special thanks to collaborator (and future game developer?) Rayan Ramesh for the music and sound effects that maintained the 16-bit vibe I was going for.

Tools Used
Claude chat — for the design doc and guidance on how to use Claude Code. My first and eye-opening experience on how an AI can effortlessly and effectively transition from a business analyst, brainstorming partner, subject matter expert, and (only upon request) critical eye. And often all that while I was on walks, chatting via voice through my earbuds. Key lessons learned: manage context VERY carefully and carefully utilize living documents in a project.
Claude Code — all the coding. Key lessons learned: how to utilize markdown files for sprint management and decision tracking. I used Opus for my architecture session and Sonnet for everything else. Honestly, Opus seems like overkill for my needs and I literally hit my 5-hour token limit in 15 minutes twice. I've been using Sonnet for everything since.
Gemini (Pro) — most of the art assets.
Copilot — some of the portraits. Until Microsoft shut down my account for falsely accusing me of violating their terms of service (!). It took me two weeks of dealing with their automated systems (there is no phone number I could find) to get my Microsoft account reactivated. During that time, no OneDrive (!) and no Defender (!). Never again.
Visual Studio Code and GitHub — for the command line interface and version control.
Time Spent
Thinking — about two weeks of driving and walking thoughts on what I wanted to make. Probably 10 hours total "daydreaming" time.
Design — probably 10–15 hours with Claude. Honestly, way too long. I think I was having too much fun.
Art assets — 3–5 hours. Mostly generating and fixing portraits. At least an hour of silently screaming at Gemini for gaslighting me in multiple ways that I cannot discuss here until I've gone through therapy.
Vibe coding — 15–20 hours. A lot of it was "please work on next todo item" and me playtesting. I also tried to enforce a ham-handed test-driven development but despite having an automated set of 400+ tests, I still found 95% of the bugs manually.
June 2026

Rogue Robots

Rogue Robots was an idea I had on a walk while Claude was on token cooldown. I brain-dumped it into Gemini via voice chat and ended my walk with the draft of a game design document. I then handed it off to my BFF BA Claude to finish up and maintain. The idea was started by this thought: "I think my next game should definitely be something I'd really like to play." That quickly morphed into a checklist of things I like about other games: the pressure from "creep waves" in tower defense and MOBA games; the satisfying progression of rogue-likes; the combat of autobattlers; the deployment placement of RTS games. And then I added the meta world-building of a world where you're battling against a corporation that has reached a deal with the government for autonomous killing of humans.

My major change for this game was to not spend a ton of time getting my game design doc perfect. My test was asking Claude (chat) "Do you think we should continue here or is it time to hand off to your coding twin?" The first two times, it asked me additional clarifying questions and the third time, it said it was ready. (Quick tip: you can launch a second chat in a project, hand it the doc, and ask it to look at it with a critical eye for gap analysis and inconsistencies). From there, it was all completed in Claude Code, iterating on both my design and code.

My daughter Sophie supplied the original music for this and if she's reading this, she'll remember that she still owes me the battle music. Only a monster would pit his daughter to compete against an AI for her father's love, so I'm definitely not doing THAT. But I will say that Gemini's placeholder tune is kinda a banger and if she really thinks that hardcore/metal is superior to EDM, then maybe she might also remember that she promised me a song back in mid-May. But I do love the mellow vibes of her intro/intra-round song.

I'm proud of this game. I actually still play it for fun from time-to-time — you can beat the whole thing from a fresh start in less than an hour. If you play it, let me know what you thought of the ending.

Tools Used
Claude and Gemini chat — for the design doc.
Claude Code — all the coding. Key lessons learned: how to avoid confusing Claude by making decisions that are not tracked properly in the design document. Key things I taught myself how to utilize: sprite sheet animations, music, and sound effects.
Gemini (Pro) — all of the art assets. Placeholder music.
Freesound.org — Creative Commons licensed sound effects! Including my beloved "Wilhelm scream".
Visual Studio Code and GitHub — for the command line interface and version control.
paint.net — for clumsy image editing.
Time Spent
Thinking — 5 minutes — then brain-dump and GOGOGO!
Design — probably 2 hours tops, not including iterating on the playable game.
Art assets — 4–5 hours. Mostly generating and iterating on sprite sheets. Also, at least ANOTHER hour of silently screaming at Gemini for gaslighting me in multiple ways that I STILL cannot discuss here until I've gone through therapy.
Vibe coding — 15–20 hours. A considerable amount of time was trying to get the sprite sheets in a workable state. They are still super janky — the jankiest are the towers, which I eventually just said "good enough."

Fun fact: from idea to playable "finished" game, less than a week of elapsed time.

June 2026 WIP

Heroes of the 7th Year

Heroes of the 7th Year (HoT7Y) was another game that was dreamed up and had its initial design completed on a walk. The initial thought: "I'm done with Rogue Robots and I like it. What are some other game elements and settings I'd like to explore?" The answer started with the image of the Battle of Helm's Deep from the Lord of the Rings. And I quickly merged in influences from the Grimdark novels by Joe Abercrombie that I've binged through in the last year. Other key influences: a turn-based approach to RTS-style resource management, the light-touch tactics of an autobattler, and the nostalgic attachment of managing a team of NPCs from the classic X-COM UFO Defense.

Several fun new elements here:

  • Leaning in hard on the world-building and trying to make an intro that sets the tone I wanted, including an AI voice-over element.
  • Trying to make an emotional connection between the player and the forces he commands.
  • Creating an ad hoc workflow to have Claude generate 250+ unique 3-sentence bios, with me revising and approving in 10-bio chunks. Let me tell you this: I enjoy creative writing. If you said to me, "write a three-sentence biographical story that packs an emotional punch and gives you the flavor of a person — each must be unique," I'd probably find the first five fun. The next 15–20 would feel like work. And somewhere around 50, I'd probably want to give up writing and go watch Netflix. Claude happily killed it for 250+ of these.
  • Trying cool tricks to simulate 3 dimensions (e.g. trebuchet shots, particle effects on hit).
  • Using Claude Cowork to make and sort 200 individual portrait assets from a single .PNG.
Tools Used
Claude — for the initial design doc and consulting on how best to implement features. (Mostly done on walks. Shout-out to any fellow Norwalkers who now know me as the crazy middle-aged dude walking and talking to himself.) Also used for the icons used for units in the field.
Claude Cowork — for creating a Python script to extract 200+ portraits from a single image file. Then organizing and naming 200+ portrait images into categorized folders based on their attributes.
Claude Code — all the coding. Something new I tried: Claude Code owns the design docs (in this case, an HTML design doc and an Excel data sheet) after the initial version and must keep them up-to-date. Mostly successful.

Which leads me to my current frustration: the three tools I use in Claude are Chat, Cowork, and Code. Chat has a cool thing called a project that lets you store related reference docs, but the chat can't update those docs directly. Cowork can update actual docs on your hard drive — just give it permissions to a folder — but you can't really use it on your phone. Code can manipulate docs in its project folder, including Word and Excel, but can be tricky to work with from your phone (i.e. on walks). So my ideal is being able to manipulate a set of documents that are shared across all three, and that I can interact with via voice on my phone while walking or commuting. We're not there yet. (And yes, I realize how ridiculous a first-world AI-enabled problem this is.)
Gemini (Pro) — all of the art assets and music. Painful lesson learned: if you ask it to create music within a notebook (project), it will continuously tell you that it can't due to a technical difficulty. I eventually found out that if I ask outside of a project it works fine — exact same prompt. The hair I pulled out of my head should grow back soon.
Freesound.org — Creative Commons licensed sound effects.
Visual Studio Code and GitHub — for the command line interface and version control.
paint.net — for clumsy image editing.
elevenlabs.io — voiceovers, with an assist from Claude who taught me how to create dramatic pauses in my scripts.
opengameart.org — the Hyptosis portrait pack saved me the sanity of having to generate 200+ images with Gemini. Thank you for making this free, Hyptosis!
Time Spent
Thinking — 5 minutes, then dive right in.
Design — probably 1 hour before iterating in Claude Code.
Art assets — 2–3 hours. Mostly generating the pseudo-charcoal drawings.
Sound, music, voiceovers — maybe 2 hours, not including the hour or so wasted being stymied by Gemini.
Vibe coding — 10–15 hours so far. It still lacks a little something plus a lot of UX polish.
June 2026

Valley Assault

I created this game to try my hand at a 3D game. After reviewing what free assets were available, I decided on the game world of Heroes of the 7th Year, but from the other side of the conflict. The game has some similar gameplay elements, but is more light-hearted and the systems are very lightweight, so easy to just turn your brain off and jump in.

I also wanted to try a new workflow:

  1. 1. Find and download free (Creative Commons) 3D assets and ask Claude to index them into a .json.
  2. 2. Pass the json, a picture of the assets, and a description of the game to Gemini and ask it to create a mockup of what the game would look like. Gemini is pretty amazing at this.
  3. 3. Hand that concept art off to Claude Code with my brief game description, the 3d file assets, and the fact that I want to use the three.js library (which Claude recommended for browser-based 3D games).
  4. 4. Iterate until I had an actual game that was "good enough."
  5. 5. Add a little flavor and polish.

I also wanted to timebox this whole experiment for one long weekend (Juneteenth holiday) and spend a max of 3 hours a day. Ended up doing exactly that. Is the game fun? A little. The gameplay isn't complex but I get some giggles from the character I invented: Goblin King Zoob and the flavor he injects into the game. And the experience was very valuable for seeing the different challenges with 3D.

One of the more interesting learning experiences was creating the knight by combining 3 models: human, horse, and sword. And also the crossbowmen: human plus a pickaxe that I rotated and re-oriented to look like an xbow. Claude was a huge help by making visual tester pages in HTML that let me try and debug the animations while the models were combined.

Another lesson learned: Sonnet got stuck trying to fix a bug where none of my sound effects were working. Wasted a bit over an hour having Sonnet try multiple times (6? 7?) to fix it. Finally, I just switched models to Opus and Opus fixed it in one shot — and told me the subtle reason AND, at my request, put the details into CLAUDE.md so Sonnet had a cheat sheet going forward. My lesson? If Sonnet can't fix it after 2 tries, hand it to Opus. I applied this lesson later in the weekend when Sonnet couldn't attach the sword to the knight's hand. Opus could.

Tools Used
Claude Code — Vibe-coding, heavy on the vibe. Something new I tried: no real design document. Start with an image and a couple of paragraphs, then go.
Gemini (Pro) — all of the 2D art assets, including the concept art that started the whole process.
three.js — 3D library, specifically utilizing assets in the .GLTF format that Claude recommended for browser-based 3D games.
Freesound.org — Creative Commons licensed sound effects reused from Heroes of the 7th Year.
Visual Studio Code and GitHub — for the command line interface and version control.
quaternius.com — amazing set of free 3D resources, rigged and animated. I used the "Cube World" and "Ultimate Fantasy RTS" packs. Thank you for making these free, Quaternius!
Time Spent
Browsing free 3D models — 30 minutes before getting the inspiration for the project.
Design — 15 minutes, if you call generating concept art and typing a few paragraphs "design."
Art assets — 1 hour. Handing Gemini pictures of the 3D models and telling it what I wanted: 5 images — concept art, title screen, tutorial screen, victory screen, failure screen.
Vibe coding — ~7 hours. Mostly iterating and debugging.
June 2026

Unnamed Egg Game

A silly "game" I made in 30 minutes for my daughter, modeled after a NSFW sketch from Tim Robinson's "I Think You Should Leave". Game is the SFW -- NSFW elements removed! Head's up -- this game is not fun and its only mildly funny if you're a fan of the sketch. This was more of an experiment than anything else: Was on a walk with Sophie and she was talking about it and I said to myself, "I bet I can make that VERY fast in Claude Code". I was right.

No real workflow. I described how I wanted the game to work and handed Claude Code Sonnet five screenshots from the YouTube sketch. 15 minutes of minor debugging later and it was in good enough shape to make her laugh.

What's Next?

I have an idea for "Rogue Robots 2: Punchbot's Last Stand" -- with more polished 2d graphics and a "beat 'em up" style of gameplay.