Lunker. Built with help from Claude. The model wasn't the unlock. The system was.

I run a two-man studio where the other man is an AI. This week we shipped LUNKER, a top-down arcade fishing game, to the Stop Killing Games jam. Theme was High Score Chasers. First playable in one prompt pass, submission quality in two, then fourteen more versions of polish because I kept having ideas.

The honest part: the model wrote every line of code. I didn't touch a keyboard except to playtest and complain. But I don't think the model is why this worked, because six months ago the same model access produced slop. What changed is the system around it.

What the system is:

One reusable engine file, extracted from our previous games. Fixed timestep loop, seeded RNG, synth audio, input, particles, collision. Every seam is tagged with comments like GAME STARTS HERE and LEAVE THIS ALONE. The comments aren't for me. They're guardrails for the AI.

Single-file architecture. The whole game is one HTML file, so the entire project fits in the model's context. No "it forgot the other module" failures, ever.

A doctrine document the AI reads before writing anything. Research the genre before building. Every fish must read as its species in silhouette. No bite timers because that's the number one complaint in fishing game reviews. Sessions under three minutes. It's design taste, written down, enforceable.

A verify pipeline the AI runs on itself before I ever see a build. Parse check, headless simulation of full runs, screenshot review, regression suites that grow every time live testing finds a bug headless testing missed.

The part that sold me: near the end I told it to play the game headless a bunch of times and audit its own source. It ran 24 full games in four play styles and found a real shipping bug. Runs that rode the clock to the cap generated share codes that its own decoder rejected. Your best runs produced dead links. It reported the finding with a repro before touching anything, fixed it, and pinned a regression test.

Things the system still can't do: know that fish were swimming tail-first to the hook, that catfish whiskers point sideways, or that the title theme sounded like Mega Man when I asked for a sea shanty. Every one of those came from a human playing the build on a real phone. The loop is AI builds, human feels.

Game's free, one HTML file, plays in the browser: https://mdawg74.itch.io/lunker. Jam voting runs through July 31 if you want to judge whether any of this worked.

Happy to answer questions about the setup.

u/MDawg74 — 4 days ago
▲ 40 r/footballstrategy+1 crossposts

I'm building a football game where you draw plays in the dirt instead of running the QB. Not done. I want feedback.

This isn't a finished game. It's a work in progress. I'm putting it up because I want feedback now, while I can still change things.

Nobody makes football games. The NFL license is locked up, and a real one is hard to build. So I'm building the one I always wanted.

You're the coordinator, not the quarterback. You draw up the plays on the fly, the AI runs all 22 guys, and you try to beat the defense. The defense is learning you the whole time. Run the same thing twice and it keys on it. You coach whichever unit from the team you chose is on the field. Draw up offense and defense. The only thing you don't control is the execution. That's on purpose. This isn't the game where you become the all-pro.

Here's what works so far:

  • You call it for both sides. Offense or defense, possession trades back and forth.
  • Draw routes with your mouse or finger. The order you draw them is the order the QB reads them.
  • Tap a guy to make him block. Draw no routes and the QB just runs it.
  • Run plays. Pick who carries it. Linemen and backs block the path you draw.
  • The AI defense reads your run/pass habits and switches it up. Man, zone, Cover 0/1/2/3, zone blitz, QB spy, double a receiver, slant the line. It doesn't sit in one coverage.
  • On defense you set each guy to man or zone, send blitzers, spy the QB, double a receiver, or drag a zone the way you want him to cheat.
  • Personnel groups, including 5 wide with an empty backfield, and a button to flip the formation.
  • Punts with live returns. Touchbacks. A coin toss to start.
  • Turnovers that keep going. Picks and fumbles get returned. Scoop and scores.
  • Refs that signal the call. Touchdown, first down, incomplete, safety.
  • Camera pans, zooms, and follows the ball. Pull all the way out and you see the whole field.
  • One HTML file. No login, no ads, nothing to install. Works on an old browser.

Here's what I still want to add:

  • Field goals and kickoffs
  • A clock, quarters, full games
  • More plays and looks. RPO, read option, motion.
  • Defenses that disguise before the snap so you have to read them
  • Punt returns you control, and fake punts
  • A real tutorial for new players
  • Sound, and a lot of balancing

Play it here: https://www.hammeranvilbrew.com/chalk

It's free. Always will be. Run a few downs and tell me. Did the defense feel smart? Was calling plays fun? What confused you? What's missing? Give me anything I can use to make it better.

Thanks for taking a look.

u/MDawg74 — 6 days ago
▲ 195 r/mathematics+1 crossposts

[OC] Prime numbers up to 20,000 placed on a hexagonal spiral (primes in teal)

Built with a small browser tool I made. Flip the tiling to a square Ulam spiral and the same primes line up as diagonals instead of a cube. Data source and tool in the comments.

u/MDawg74 — 9 days ago

Follow-up and a thank-you: the feedback from this sub shaped the update. The tank game is online multiplayer now, and I built the netcode with AI.

https://preview.redd.it/mi3n6gf5yhdh1.png?width=1757&format=png&auto=webp&s=6f9e62e01ef0623a19caaba1a4f0fc352bd11b4e

First, thank you. The feedback this sub gave me ten days ago is most of what this update is. I'm posting the results back so it doesn't go into a void.

Follow-up to my post from ten days ago, the 17KB-to-130KB tank game. Same setup: retired Army, limited coding background, I direct and QA, Claude writes the code, I never touch it directly. You gave me a pile of feedback last time. Here is what happened to it, and the part nobody warns you about.

The big one first. I told u/IAmhowlshot I would add online multiplayer once people were interested. It is live. Real 1v1 over the wire, desktop against phone, six of the seven power-ups working across the connection. That was the ten days.

Building netcode with an AI is where the vibe-coding story gets real, because it is the first thing that punished me for not checking its work. The AI wrote the first multiplayer pass from memory, no research. It broke on the first live test in the way every netcode guide warns about: the browser window was the arena, so a desktop and a phone were playing different-sized fields with the same coordinates. Position (400,300) was two different places. I caught that on two real phones, not in any test, because the headless harness passed the whole time. Both fake clients were the same machine. Two physical devices is the only thing that has ever caught a real netcode bug for me, and it does not scale.

The best bug: players said the enemy tank froze and then jumped. On the phone the game looked fine, but the phone's tank stuttered on the desktop that was watching it. That split is the whole diagnosis. The jitter is on the receiving side, not the device. The code was chasing the newest position packet, so bunched-up mobile updates read as freeze-then-lunge. The fix was a snapshot buffer: keep a short history of the opponent's positions with timestamps, draw them about 100ms in the past, and interpolate between two known points. The AI knew the technique cold once I named the symptom. It did not reach for it on its own. That is the pattern with all of this. It can build almost anything you can diagnose, and it cannot diagnose the thing it cannot see.

Your feedback from last time, straight:

u/Crawling_Hustler said the missile shouldn't pass through walls. It routes around walls and dies if it hits one, so walls matter now.

u/Cielu1 and u/miteyowl both said you couldn't tell the tank's front from its back, and drove backwards. That was the most common note and it's fair. There are white headlights on the nose and red on the tail, but if two of you still drove backwards, the read isn't strong enough yet, so that's the next thing I'm hardening.

u/Cielu1 also wanted hold-to-fire instead of clicking every shot, more weight on the guns, and said the obstacles read as targets. Hold-to-fire and gun weight are on the list, both fair. The obstacle look is a deliberate neon style, but I hear that it says "shoot me," and I'm sitting with that.

u/loontoon, the auto-fullscreen on your 50-inch screen. ESC exits and there's a fullscreen toggle now, but you still get thrown into fullscreen on start, and making that optional on desktop is on the list. EASY difficulty lives under LEVEL on the menu, and you were right that it needs to be easier to find. The bare link that failed you needs the www in front (https://www.hammeranvilbrew.com/vibetanks); that one is on me.

Then the part nobody warns you about. The tech is ahead of the reach. AI let a guy with no coding background build working multiplayer. It did nothing to make people come back. It removed the build bottleneck and put the distribution one under a spotlight. Getting people to return, not just to click once, is the wall, and I don't have it solved. But now, at least you can challenge a friend and talk smack on a speakerphone on the same device you're playing on.

Play on itch now, also: https://mdawg74.itch.io/vibe-tanks

Real question for the room: for those of you shipping AI-built games, what has actually moved retention for you? Not downloads. Returns. That is the one I'm stuck on.

reddit.com
u/MDawg74 — 10 days ago

I added online multiplayer to my browser tank game. It's in beta and I need people to break it.

https://reddit.com/link/1uwjt98/video/7cbvci8859dh1/player

Vibe Tanks is a 1v1 tank duel that runs in one HTML file. This week I added VS ONLINE. Click one button and you get matched with whoever else clicked it. No account, no lobby, no install.

The matchmaker runs on Cloudflare Durable Objects. A global queue pairs two players and hands both browsers the same world seed, so you both build the same map. After that the two clients talk through a relay 25 times a second. No engine, no SDK, no build step. Still one file: 212KB, about 62KB gzipped. Graphics are drawn in code, sound is synthesized at runtime, so there are no images or audio files in it.

Fair warning on how to actually test it. The player base is small, so if you click VS alone you'll wait 15 seconds and get the CPU instead, and never touch the netcode. The real way is next to a friend. While it searches you get a share link. Send it to someone on another device and they drop straight into your room. Two phones works, phone against laptop works better, because cross-device is where it breaks worst. If you're in the same room you can watch both screens at once, which is how I found most of the bugs so far.

That's why I'm asking. Every bug in this thing came from the two devices quietly disagreeing about something I assumed they'd agree on. The browser window was the arena, so a phone and a desktop were playing different-sized fields with the same coordinates. An isMobile branch changed the obstacle count, which knocked the shared seed out of alignment and produced different maps from the same number. The guest client returned from a function one line above the shared animation clock, so its obstacles never spun. My automated tests passed through all of it, because both test clients were the same machine. Netcode's only real test is two real devices, and I only own so many.

Known issues, so you don't waste a report: phone players get a smaller arena than desktop players, and if your opponent's screen sleeps your hits may not register until they wake up.

What I want to know is whether both screens agreed. Same map, same obstacles, tanks where they looked like they were, hits landing when they should. And what you were playing on.

AI disclosure per rule 6: I direct an AI to write the code. The design, the testing, and every call about what ships are mine. No AI-generated art, audio, or text. I am trying very hard to use AI as a dev tool, not create "slop."

Free, no ads, no accounts: https://www.hammeranvilbrew.com/vibetanks

Or play on Itch: https://mdawg74.itch.io/vibe-tanks

Grab a friend and try to break it. I'll fix what you find.

reddit.com
u/MDawg74 — 12 days ago

TenKay: a one-button push-your-luck dice game. Bank or roll, race an AI rival to 10,000. Free in browser.

Game Title: TenKay

Playable Link: TenKay by MDawg74

Platform: Web browser (desktop and mobile)

Description:
TenKay is a one-button push-your-luck dice game. Roll six dice, keep what scores, then decide: bank your points or roll again for more. Roll nothing and you bust, losing the whole pot. First to 10,000 beats your rival.

One button runs everything. Click or tap to roll. After each roll a single button flips between BANK and ROLL, and you tap it on the one you want. The same control works on a phone or a mouse, so it plays the same everywhere.

Before each match you spin a lottery for your opponent. There are seven rivals, each with its own gambling style that matches its name. Cautious Carl banks early and rarely busts. Reckless Rita hates the word bank and chases one giant pot. The Accountant quits the second the odds turn against him.

A few details I wanted to get right. Roll 1 2 3 4 5 6 in a single throw and you win on the spot. A bust holds on the dead dice for a beat, then an alarm sounds and the dice explode, so you get to see you rolled nothing before it blows up. The scoring is on screen at all times so nobody has to guess. It locks to portrait and fits any phone screen.

No account, no install, runs in any browser. I would love feedback on the feel of the bank-or-roll timing.

Free to Play Status:

  • Free to play
  • Demo/Key available
  • Paid

Involvement: Solo developer. I designed the game, directed and tested every build, and did the scoring math, the rival AI behaviors, and all the tuning myself.

u/MDawg74 — 13 days ago
▲ 62 r/webdev+1 crossposts

[Showoff Saturday] One 185KB HTML file: 1v1 tank duel with a global leaderboard, synthesized music, three languages. No framework, no build step.

I retired from the Army. When I was a kid in the 80s I wanted to make games on my IBM PCjr. Never happened. This year I decided to see what AI could actually do, so I directed Claude through a few hundred builds and shipped this.

The whole game is one HTML file. No framework, no build step, no dependencies. Graphics are drawn in code on Canvas 2D. The music is synthesized at runtime with Web Audio. About 56KB over the wire. Loads in about a second on a ten-year-old Android, which was the design constraint everything else followed from.

Infrastructure: static hosting on Cloudflare Pages, free tier. Global leaderboard runs on a Cloudflare Worker with KV. Server-side validation on every field, per-IP rate limiting, no accounts, no cookies. Passes the W3C Nu validator with zero errors and one intentional warning. It's one unminified file. Audit me.

Full disclosure: AI wrote the code. I designed it, tested every build on real hardware, and made it fix what it broke. Debugging what AI ships is the actual job. This week that meant finding a WebAudio leak where stopped nodes never disconnected. Desktop garbage collection eats that. iPhones let the dead graph pile up until the music goes choppy two matches in. Fixed by wiring a disconnect to every source's onended.

People in 25 countries have played it. The HARD record is 1:55 and has held for three weeks.

Play it: https://www.hammeranvilbrew.com/vibetanks
Also on itch: https://mdawg74.itch.io/vibe-tanks

u/MDawg74 — 11 days ago
▲ 7 r/UMGC

I'm 51, nine credits from finishing my UMGC degree, and I accidentally found out I've been using it all along.

When I was a kid in the '80s with an IBM PCjr, I wanted to make video games. It never happened. Instead, I spent twenty years in Army artillery, retired, ended up in a job I don't really love, and this year decided to see if I could still do something difficult.

So I built a browser game.

Well... more accurately, I directed an AI (Claude) through a few hundred iterations until it became the game I had in my head. I don't consider myself a programmer. I came up with the design, tested every version, found bugs, broke things on purpose, and kept making the AI fix what it got wrong.

About three weeks later, I had a browser tank game with a global leaderboard, support for three languages, synthesized music, Android haptics, and people playing it in 23 countries including villages in Brazil and Nigeria. The whole thing is a single 185 KB HTML file.

It's free if anyone is curious:
https://mdawg74.itch.io/vibe-tanks

The reason I'm posting here, though, is because I kept realizing how much of my UMGC coursework was showing up in the project.

The biggest surprise was Ethical Hacking and Threat Management. AI will confidently hand you broken code and act like it's perfect. It never says, "I'm not sure." I found myself treating every build like an untrusted system: test everything, verify everything, try to break it, and never assume it works because the AI says it does. That mindset probably saved me more time than any technical skill.

Linux Administration, Windows Server, and Cloud Technologies made hosting the game feel almost routine. It's on Cloudflare Pages, deployments are simple, the leaderboard runs on a serverless worker, and being comfortable with cloud services meant I wasn't intimidated by that part of the project.

My Cisco and Network+ classes influenced something I didn't expect: the game's size. I wanted it to load quickly on older phones and slow connections, so I kept trimming it until the entire game was about 185 KB—less data than a typical WhatsApp photo. That decision is probably one reason people in places with limited bandwidth can still play it comfortably.

The two Technical Writing courses turned out to matter more than I expected. The game didn't spread because I wrote clever code. It spread because I learned how to explain it differently to different audiences. Reddit isn't the same as Facebook, and Brazilian communities aren't the same as American ones. Writing for the audience instead of writing the same post everywhere made a huge difference.

Intro to Research also paid off. Instead of guessing where to post, I spent time looking at what actually performed well in different communities before writing anything. One post ended up generating as much traffic as weeks of everything else combined.

The class that surprised me the most was Technology and Culture. Once people from different countries started playing, I realized every online community has its own expectations. I made mistakes and got banned from one subreddit. In other places, I learned what people appreciated. One player from Lagos spent an entire day climbing the leaderboard, so I mentioned him by name in the next update because I'd promised I would. That small thing mattered.

My Information Systems Management minor ended up tying everything together. I have Google Analytics and Cloudflare analytics running, I'm watching where players come from, where they stop playing, and trying to make decisions from actual data instead of gut feelings. Seeing a real-time map light up across four continents was a pretty cool moment.

Even my Army transfer credits ended up being useful. Principles of Supervision feels oddly relevant because working with AI is basically supervising an employee who's incredibly fast, incredibly capable, and completely convinced it's never wrong. Methods of Instruction is probably why I spent so much time making the tutorial understandable.

I'm 51 and still have nine credits left before I graduate. For a long time I wondered whether finishing even mattered at this point in my life.

Then I spent three weeks building something I honestly didn't think I could build, and I realized that almost every part of my education had found its way into it somehow.

If you're sitting there wondering whether one more class is worth it, or whether you're too old to start something ambitious, maybe you're asking the wrong question. You might already have more of the tools than you realize. You just haven't had a chance to use them yet.

u/MDawg74 — 16 days ago
▲ 22 r/WebGamesMobile+6 crossposts

Cresci jogando Combat no Atari. Construí seu descendente: 185KB, roda no navegador, sem escrever uma linha de código.

**** ATUALIZAÇÃO: O Brasil apareceu em peso esta semana. Jogadores de doze cidades, de São Paulo ao interior de Minas, Bahia, Paraná, Goiás e Mato Grosso do Sul. Fiquei muito grato por cada um que experimentou o jogo.

Então fiz o que era justo: o jogo agora fala português. Abra e ele já estará no seu idioma, automaticamente. Menus, tutorial, opções, tudo traduzido.

Valeu, Brasil. O recorde no modo HARD continua 1:55, e nenhum brasileiro tomou ainda. O primeiro que tomar tem o nome escrito no próximo devlog. ****

https://mdawg74.itch.io/vibe-tanks

Combat (1977) colocou duelos de tanques em 2KB. Minha versão tem placar global, dois idiomas, áudio sintetizado e física, tudo em um único arquivo HTML de 185KB. O jogo é menor que a imagem de capa da própria página.

Não escrevi nada do código. Eu dirijo uma IA (Claude), testo cada build, e mando corrigir o que está errado. Foram umas 300 iterações até aqui. O trabalho de verdade é o design, o teste e a disciplina de verificação, não a digitação.

Em duas semanas chegou ao top 300 do itch.io entre 1,4 milhão de projetos.

Roda em Android antigo e conexão lenta. Sem download, sem cadastro, sem anúncios. Pesa menos que uma foto de WhatsApp. Está em inglês e espanhol; ainda não tem português, mas dois tanques e um placar quase não precisam de palavras.

https://mdawg74.itch.io/vibe-tanks

O recorde no modo HARD é 1:55. Duvido alguém daqui tomar.

u/MDawg74 — 14 days ago
▲ 1 r/itchio

VIBE Tanks - free neon 1v1 tank duel with a global leaderboard (browser, desktop + mobile)

VIBE Tanks is a top-down 1v1 arcade duel where nobody dies: every hit teleports the victim somewhere new, so the fight never stops moving. First to 30 wins. Both tanks are always identical — no upgrades, no grind, pure skill.

Este juego está disponible en español: cambia el idioma en el menú de opciones.

Homing missiles that steer around walls, timed shields, five power-ups including invincibility that smashes straight through obstacles. The walls drift and spin like asteroids. The arena scars up with tank tracks and blast marks as the match runs.

Nine-step interactive tutorial, 22 trophies, and a global leaderboard with country flags — all gameplay options must be ON to qualify, so every time is earned under identical rules. There's currently exactly one stranger on the board. Come be the second.

One HTML file, loads in seconds, plays on desktop or mobile, free.

https://mdawg74.itch.io/vibe-tanks

u/MDawg74 — 18 days ago

It's tank combat, but the walls float like asteroids and going invincible lets you plow straight through them.

Game Title: VIBE Tanks

Playable Link: https://www.hammeranvilbrew.com/vibetanks?utm_source=r_playmygame

Platform: Browser-Based, playable on PC or Mobile devices

Description: VIBE Tanks is a top-down 1v1 neon tank duel. Every hit instantly teleports the victim to a random spot on the arena, so the fight never stops moving. First to 30 hits wins. Both tanks are always identical: no upgrades, no XP, no grind. Whoever reads the fight better wins.

The arsenal includes homing missiles that steer around walls, timed shields, and power-ups: machine gun, scatter-shot, super speed, and invincibility, which lets you smash straight through obstacles. The walls themselves drift, spin, and bounce around the arena like asteroids, so cover is never where you left it. Smashed walls respawn. The CPU opponent is tuned to feel human, with hesitation and personality rather than robotic aim.

There's a fully interactive tutorial: nine hands-on steps where you drive, aim, fire, and use every pickup before the game lets you advance. Global leaderboards track the fastest wins per difficulty, with country flags and build versions on every entry. All gameplay options must be ON to qualify, so every time on the board is earned under identical rules.

The options menu lets you tune everything: tank colors, CPU difficulty, music and sound, and every gameplay system (missiles, shields, power-ups, obstacles, obstacle motion) can be toggled. A trophy room tracks achievements and lifetime stats, from accuracy streaks to obstacles smashed.

Runs in one HTML file, loads in seconds, works on a decade-old browser, full touch controls on mobile. Free, no ads, no account, no install.

Free to Play Status:

  • Free to play

Involvement: Solo creator. I designed, specified, tested, and directed every part of the game's development across hundreds of iterations, using ClaudeAI as my coder. Every design decision, QA pass, and balance call is mine.

u/MDawg74 — 19 days ago
▲ 204 r/aigamedev+4 crossposts

Retired Army vet, no coding background. 250 iterations with Claude got me from a 17KB prototype to a shipped 130KB tank game

Vibe Tanks, free browser game, no ads or accounts. What the AI workflow actually looked like: I acted as director and QA, never touched the code directly. Every feature went spec, build, headless test harness, my device testing, then rollback or ship. Kept a byte-identical backup before every change.

Hard lessons: AI happily ships silent bugs (a compressor node recursing into itself killed performance for days until I made it hunt with instrumentation), naming collisions between systems, and double-offset math in touch controls. The fix discipline was always the same: reproduce, isolate, verify with a test, then patch.

Original 17KB prototype vs today: same core philosophy, equal tanks and pure skill, but now with a 60Hz deterministic sim, synthesized adaptive soundtrack, stats, trophies, PWA install.

Game: https://www.hammeranvilbrew.com/vibetanks?utm_source=aigamedev

Happy to detail any part of the workflow.

u/MDawg74 — 20 days ago
▲ 3 r/MobileGames+2 crossposts

A Beach Artillery Game

This is a free artillery game that a brewery startup has offered to use for fundraising. It’s really kinda funny, though!

hammeranvilbrew.com
u/MDawg74 — 23 days ago