[{"data":1,"prerenderedAt":131},["ShallowReactive",2],{"content-/valarsbeard-development/marrow-runner-ai-first-phone-workflow":3},{"id":4,"title":5,"body":6,"description":121,"extension":122,"meta":123,"navigation":126,"path":127,"seo":128,"stem":129,"__hash__":130},"content/valarsbeard-development/marrow-runner-ai-first-phone-workflow.md","Marrow Runner: A Phagocyte, a Phone, and an AI-First Workflow",{"type":7,"value":8,"toc":112},"minimark",[9,14,18,21,24,27,31,34,37,40,43,45,49,52,55,58,61,64,66,70,73,76,79,82,85,88,90,94,97,100,109],[10,11,13],"h2",{"id":12},"it-started-in-the-marrow","It Started in the Marrow",[15,16,17],"p",{},"Somewhere inside Thunder Brainstorm - the sprawling parent project that has eaten more of my evenings than I care to count - a smaller, stranger game was trying to get out. It had its own logic, its own feel, its own reason to exist as a standalone thing. So I split it off. Gave it its own repo, its own Git LFS history, its own name.",[15,19,20],{},"That game is Marrow Runner.",[15,22,23],{},"It is currently sitting at v0.9.0-rc3 - a release candidate, public and playable, close enough to v1.0 that I can feel the finish line but honest enough to admit I'm not across it yet. This post is me stepping back and talking about what it is, how it got built, and why the workflow behind it feels worth writing down.",[25,26],"hr",{},[10,28,30],{"id":29},"what-marrow-runner-actually-is","What Marrow Runner Actually Is",[15,32,33],{},"You play as a phagocyte. A white blood cell. You are moving through living tissue - procedurally generated, seeded, visually strange - and your job is to collect antibodies, cleanse infection nests, and escape through a lymph gate before the germs overwhelm you.",[15,35,36],{},"It is a maze chase game at its core, but the thing that makes it feel different is the Pseudopod Ram. You release your input to rearm, then move from rest and burst forward. When you ram a germ, it becomes a projectile. Hit a wall, hit another enemy - knockback chains start firing. There is a rhythm to it that took a long time to find and feels genuinely satisfying once it clicks.",[15,38,39],{},"The germ side has four ghost-style archetypes, each with different behavior. There are complement power pickups, antibody suction mechanics, infection nests that keep spawning until you clear them. The tissue art is generated, tracked, and wired into the runtime. Music and sound effects are in. There is a tutorial. Seeds are stored in localStorage so you can replay a run. It works on mobile - that was a design constraint from the beginning, not an afterthought - and it plays on desktop too.",[15,41,42],{},"The player fantasy I kept coming back to while building this: you are small, you are outnumbered, and the environment itself is alive around you. That tension is what I wanted to hold onto.",[25,44],{},[10,46,48],{"id":47},"the-ai-first-workflow","The AI-First Workflow",[15,50,51],{},"I want to be precise about what AI-first means here, because it does not mean what the breathless coverage usually implies.",[15,53,54],{},"It means I structured the work so that AI tools could carry the parts of the load they are actually good at, while I stayed in the seat making decisions. Codex ran as a dedicated coding and scribe agent inside the workspace - handling implementation tasks, tracking changes, keeping the codebase legible while I was moving fast. Claude handled bounded writing packets: drafting, summarizing, helping me think through structure when I had a design problem I needed to talk out. Neither of them was an unchecked integrator. Every output got reviewed. A lot of it got rewritten.",[15,56,57],{},"The generated art and music went through the same filter. Where they fit, I used them. The project tracks asset provenance in manifests so I know what came from where. Sound effects were locally synthesized and wired into the game by hand - that part I wanted direct control over because sound in a game like this is load-bearing. It tells you when the Ram connected. It tells you when you are in trouble.",[15,59,60],{},"What the AI-first approach actually gave me was leverage. I am one person. The scope of Marrow Runner - the systems, the generated art pipeline, the mobile controls, the seed replay, the tutorial - would have taken much longer to reach this state without tools that could hold context and execute on well-defined tasks. But the game's design, the feel of the Pseudopod Ram, the decision to split this out of Thunder Brainstorm and let it stand alone - those came from somewhere else. From the hours of playtesting and the stubborn conviction that the knockback chain was worth getting right.",[15,62,63],{},"I credit the tools because they were real contributors. I do not pretend they were the author.",[25,65],{},[10,67,69],{"id":68},"building-from-a-phone-with-termux","Building from a Phone with Termux",[15,71,72],{},"Here is the part that still feels slightly absurd to me, even after living it.",[15,74,75],{},"Most of Marrow Runner was built on an Android phone running Termux.",[15,77,78],{},"Termux is a terminal emulator for Android that gives you a real Linux environment - package manager, shell, the works. My setup: Termux shell, a local HTML/canvas game server running on the device, git and Git LFS for version control, and butler for pushing builds up to itch. When I needed Firebase or Nuxt deployment for Club Crucible itself, I moved to the connected Windows PC. But the game? The game lived in Termux.",[15,80,81],{},"There is something genuinely strange about running a game server on your phone, opening the browser on the same device, and playtesting a maze chase game you are also actively developing. The feedback loop is tight in a way that a desktop setup is not, because the mobile experience is never theoretical - it is the first thing you see every single time. Every control decision, every layout choice, every moment where the canvas felt wrong on a small screen - I caught it immediately because I was already on the small screen.",[15,83,84],{},"I will not romanticize it too much. There were moments where I wanted a real keyboard and a second monitor badly. But the constraint shaped the game. Marrow Runner is mobile-first because I had no choice but to make it mobile-first, and I think it is better for it.",[15,86,87],{},"The Termux workflow also forced a kind of discipline. You cannot have a bloated, sprawling local environment when you are working on a phone. Everything had to be intentional. The repo structure, the asset pipeline, the way builds were staged and pushed - it all had to be lean enough to run in that context. That leanness carried into the game itself.",[25,89],{},[10,91,93],{"id":92},"where-it-stands","Where It Stands",[15,95,96],{},"v0.9.0-rc3 is out and playable right now. I am in public testing, collecting feedback, working through the last things that need to land before I call it v1.0. There are features I have scoped for later - mutations are on the list, among other things - but they are not part of this release. I would rather ship something tight and honest than something bloated and half-finished.",[15,98,99],{},"If you want to play it, it is browser-based, it runs on mobile, and Go find out if the Pseudopod Ram feels as good to you as it does to me.",[15,101,102],{},[103,104,108],"a",{"href":105,"rel":106},"https://grailawakeninggames.itch.io/marrow-runner",[107],"nofollow","Play Marrow Runner on itch.io",[15,110,111],{},"More from the Crucible soon.",{"title":113,"searchDepth":114,"depth":114,"links":115},"",2,[116,117,118,119,120],{"id":12,"depth":114,"text":13},{"id":29,"depth":114,"text":30},{"id":47,"depth":114,"text":48},{"id":68,"depth":114,"text":69},{"id":92,"depth":114,"text":93},"Club Crucible announces Marrow Runner  -  an immune-cell maze chase built with an AI-assisted solo workflow, a Termux shell, and a lot of stubbornness.","md",{"date":124,"author":125},"2026-06-04","Club Crucible",true,"/valarsbeard-development/marrow-runner-ai-first-phone-workflow",{"title":5,"description":121},"valarsbeard-development/marrow-runner-ai-first-phone-workflow","2Xw6fzs6_20f3bw75x13-Wr8BN-k5CcTk0aXi_mVZpg",1785174301662]