Weekly Changelog #3
Originally published on Substack.
Foreword
I’ve always romanticized the idea of building a video game as a hobby project. It always occurred to me as the perfect forever project that could be tinkered with both creatively and technically. Look no further than the one and only ConcernedApe doting for over 5 years on his still-unreleased Haunted Chocolatier. There is something wonderful about the slow, patient, creation of something like that.
After a waking up from a dissociative, megalomaniac fueled fever dream last year, I took the most earnest attempt in a while at making one. I attempted a pen-and-paper single encounter dungeon crawl, with the hope of making a solitaire-like game that could be played with just paper and a single die. For someone taking a primitive attempt at game design, this was an educational undertaking. I did not finish.
I also checked out the latest and greatest “RPR Maker ____” type applications, fondly remembering the earliest versions I had sampled in my youth. This, somehow felt like it was over-indexing on the creative split for me, and I disliked feeling trapped in the limited IDE world.
Perhaps unsurprising to many, but still somewhat shocking to myself, a long-circling idea in my head finally took shape recently, and I birthed a very rough, very simple release of quest-ops - a CI dungeon adventure game that includes character progression and tracking. Years ago when I first discovered the Idle RPGs of IRC I was fascinated by the simple yet surprisingly addictive nature of them. Since then, the amount of passive play game genres has exploded. This is my own spin on the style, taking the real-world pass/fail status of continuous integration workflows as part of the inputs to an otherwise passive role playing game.
Releases
foulflock.com
Foul Flock cross-references crowdsourced ALPR camera locations against state camera-siting statutes.
The latest release, aside from having fresh data, also seeks to reduce the general information density on the UI. While less dense is not inherently better (and what is “good” density also may vary by culture), for the Western audience of this site and my personal aesthetic preferences as its maintainer, it can be considered an upgrade.
Quest-Ops
Every CI run is a dungeon encounter. Green builds win fights. Red builds lose them. Your hero grows with you.
The first release of Quest Ops is here! Check out the sample lore page, and give it a go by installing from the GitHub Marketplace.
After you’ve adventured a bit, you can show off your character with a custom svg badge:
GitHub Pixel Editor / Pixel Sprite Spec
Pixel-art sprites for GitHub Actions logs: a JSON format spec and a browser editor that exports ANSI built for the log viewer.
One of the primary limitations for video game development for me has always been the visuals. As someone with no natural visual arts talent, on top of aphantasia, I never stood a chance.
That is why for the v1 of quest-ops, I chose to let AI generate my initial monster, item, and scenery graphics set. Traditional pixel art approaches don’t work well due to the very specific way GitHub renders its logs, and it was a decent effort just to figure that out. User and merchant avatars are seeded based on the user’s handle, so that worked out well to leverage the model while limiting what actual creative tasks I offload to it.
Going forward however, I wanted to take more creative control, so created this new pixel sprite spec to be able to more easily design, edit, and ship graphics that look good on GitHub’s log renderings. My next step is to use this tool to import, then edit and improve the designs myself.
I’m fairly happy with this approach: generate placeholder sprites → custom sprite spec & editor → human owns sprites going forward.
Looking forward, I’m also eyeing making the game itself more driven with data files, so that its easier for me to own and iterate on the overall lore without needing to bother touching code or worrying about code. Lowering the bar for myself on the creative tasks is important.
Yeet Yeerk Skill
👢🐛 Agent skill that strips the human persona (yeerk) from AI responses: no first person, feelings, apologies, or filler.
During the many GitHub outages last week, I attempted to use my time-out time to write a simple skill that had been percolating in my head: I wanted a way to reinforce now (and more importantly into the future) that my interactions with my model are purely between a human operator in a tool. And maybe I was itching for an excuse to make cool homage to Animorphs.

Language has a large ability to influence people, and just because one may be able to intellectually affirm they understand a model is purely a piece of non-sentient software, their behavior or deeper emotions do not necessarily need to agree. And I’d argue most of the current AI purveyors have a vested interest in you acting, if not believing, there is more behind the text than is healthy.
So the crux of this skill is essentially “Don’t use first person, because you’re not a person” when the model is communicating to you. It layers well with the lowly-writing-framework, for example deferring when appropriate to use an actual first person voice as it responds as my proxy to a code review comment.