Other projects / games
Games I keep starting.
There is a folder on my drive called VideoGameDeveloper. It has five projects in it, one rule across all of them (fun before architecture), and a lot of design docs that say "if this section grows past its box, it is scope creep." Two of them you can play right now. The rest are honest about where they are.
01 / Board game, playable
CrackTown: Cops & Drugs
A hex board game about running a criminal empire in an absurd coastal city, built for the couch and for two iPads in the same room. Cities & Knights and Seafarers are the mechanical references. The theme is satire; the pieces are abstract tokens.
Five resources (Cash, Supplies, Weed, Pills, Powder) on numbered hexes. Streets and speedboat routes on the edges, stash houses and operations on the corners, fixers instead of knights, a shared citywide crackdown instead of barbarians. First to 12 Respect wins. Everyone can build everything; there are no cop-versus-dealer classes.
The board is a real Three.js diorama: raised hexes on a wooden table, felt player mats, dice that tumble in a tray and settle on the actual result. Solo plays against a rules-based bot with the same information you have. Pass-and-play seats up to four on one screen. Private rooms are server-validated with seat keys, saves after every action, and a pause when a device drops.
The rules are playable and tested, not proven balanced. Three Schemes, three map families, no campaigns yet. My wife dislikes being blocked and I like long roads and betrayal, so the open design question is how to keep competition without permanent lockout.
TypeScript, Three.js, Node WebSocket rooms, Capacitor for iOS
Play it →
02 / A small day at the desk, playable
Life as Dustin
A first-person view of my desk. Pick up the coffee, click the monitor, poke around a pretend dustinOS with a toy Docker terminal, a fictional client, pretend email, an AI crew you can hand a job to, and a log-off button.
It started as a 2D morning-routine room and got approved as the 3D desk instead. Everything on screen is pretend: the terminal never executes anything, the client is fictional, the call is scripted. Progress resets when you reload. The checklist is "a perfectly small workday", and you can log off whenever.
The whole thing is static files. No backend, no API keys, no fonts from a CDN. It also runs inside the MadeForMeAI workspace on a Games tab, which is where it was originally headed.
Three.js, vanilla JS, no build step
Play it →
03 / Co-op physics comedy
Rack Builder Simulator
Small floppy contractors install network gear badly. Carry switches and a UPS into a closet, bolt them into a rack, drag cables around, knock each other off ladders, get paid, buy sketchy used gear. Nobody needs to know what a VLAN is.
Three pillars: physical, not simulated (you lift the thing and shove it into the rack, no "press E to install"); networking is a costume, not a test; failure is the content. Dropping a UPS on a friend is a better outcome than a clean install.
Every asset is generated by a Blender script, so the art rebuilds from code and reviews as a diff. Nine placeholder assets, nine dimension checks, all inside poly budgets. Fifteen C# files are staged, including an editor tool that builds the whole prototype scene. None of it has been compiled yet, so it is all labelled untested until it runs.
Unity 6 URP, C#, Blender 5 scripted assets, FishNet later
04 / Mobile comedy sandbox
The Inspector: Nothing to Report
A silent capybara roams one suspicious factory, inspects everything with complete sincerity, and accidentally makes the workplace less compliant. Same character as the MadeForMeAI Inspector series, turned into a cute low-poly toy.
Four inputs: move, orbit, Inspect, Nudge. One compact factory with six authored anomalies (the duck has not changed, the wrench returned, it is also not him) and enough physics for the outcomes to vary. No lives, no fail screen. A mistake is a better Field Report.
The success test is blunt: a new player moves and inspects without instruction in ten seconds, laughs inside a minute, finds one unscripted physics moment, and wants to show someone. Nine original props are modelled and exported; the purchased capybara is in and rigged; the emergency-stop voice sequence works in the sprint build.
Unity 6 URP, Blender, Android first
05 / Party game for skaters, feel prototype playable
TheSkateDemo
Four blob friends on inline skates eat pavement through a Chicago obstacle course. Made by a skater for the group-roll crowd, so the movement has to read as inline: you coast forever, stopping is a T-stop not a button, you carve with a stride not a joystick.
Five inputs: stride and steer, tuck, T-stop, hop, and Eat It (voluntary ragdoll, the single funniest button in the genre). Crashing costs two seconds, never a life. One mode, Race, sixty to a hundred and twenty seconds a run, first to three rounds. The course is Chicago; the prototype's own tuning note says to take the Bean at full speed and try to T-stop out of it.
The only metric is whether four friends laugh for thirty minutes. Milestone one is the make-or-break: skate an empty slalom for five minutes with nothing to do and want to keep going. The numbers get tuned in a browser prototype first, then copied into the Unreal CharacterMovementComponent. That prototype is the thing you can play here.
Unreal 5 Blueprints, a canvas prototype for tuning
Play it →
How these get made
A GDD that fits in a box, then the smallest thing that can be played.
Every project starts with a one-page design doc and a milestone list where each milestone has exactly one exit gate. "Do not proceed on a maybe." The skate game's first gate is five minutes on an empty slalom. If that is boring, everything after it is boring.
Blender assets are generated by Python so they rebuild after an upgrade, tweak by changing one constant, and review as a diff. Poly budgets and dimension checks run in the build log. No ripped assets, no unclear licences; original everything or a paid pack with the receipt filed.
CrackTown and Life as Dustin were built by Codex in dated handoff folders with a manifest, then integrated by Claude into the sites, the same lane the rest of my web work runs through. The one gotcha worth writing down: the CrackTown release was root-only, so every asset URL had to be rewritten to ./ before it could live under a subfolder.
Nothing here is claimed to work until it has been run. Untested code is labelled untested. That rule is in every README, and it is the reason two of five say "playable" instead of five of five.
Coffee break?
Both playable games run in the browser, no signup, no install.