Five of my agents agreed. It was the same bias, copied five times
I had my game reviewed from several angles at once. They converged. I almost believed it, until I understood that a consensus can be a single bias, duplicated.
Read articleDevblog
Production notes and field reports.
Featured
An audit diagnosed an arithmetic error in Limon's prayer loop. I almost fixed it. The code said the opposite: the mechanism was sound. The code tells no story.
Method
Scoping, batches, validation, delivery.
I had my game reviewed from several angles at once. They converged. I almost believed it, until I understood that a consensus can be a single bias, duplicated.
Read articleA studio that sells almost nothing still keeps paying: tool subscriptions, time split between projects, finishing energy. What a silent launch taught me about the one skill no gamedev tutorial ever teaches.
Read articleMy balance reports ended with honest caveats. An audit showed me how "it's only an indicator" had slid from precaution to alibi, letting me settle numbers on an instrument blind to 40% of the game.
Read articleGrimoire Culinaire declares four languages, but only two are complete and the locale is hard-locked to French in the code. That is not neglect: it is a deliberate shipping pattern, feature first, translation when it pays off.
Read articleMy portfolio was not lying by mistake: every sentence was true the day it was written. The story of the August 15, 2026 overhaul, of the build guard that prevents a relapse, and of what a second reading surface, held by a voice, makes visible that the guard cannot see.
Read articleMost of my files had stopped playing. The app promised Opus support on the word of an extension list its audio engine could not honor. The fix: ask the decoder itself. And the measurement that kept me from uniformizing too far.
Read articleMy game rang out its punchlines on detached lines: 58% of the 925 outcome texts ended in a coda. Two days of tooled mass rewriting later: zero. The story of a pass where measurement corrected intuition at every batch, including on my own commit titles.
Read articleSame studio, two opposite pitches: Grimoire puts its AI front and center, Galactic Rogue never mentions it. That is not an inconsistency, it is a rule. Use freely, disclose systematically, sell only what is true.
Read articleAnyone can claim that complexity emerged from their code. Proving it is another matter: comparing it against pure chance, and telling what the program invents apart from what I wrote by hand.
Read articleA solo dev with no pixel artist producing the assets for an idle game through a generation API. The real work isn't the generation: it's the protocol around it. Briefs, budget, selection, composition.
Read articleI had frozen my game's scope. Then I wrote a roadmap that, without ever lying, had relabeled as "finishing" work I'd filed away for after release. The quiet mechanics of scope creep, and the document that stopped me.
Read articleBefore writing any code on Grimoire, I lock a scoping document: strict scope, delivery batches, validation criteria. Here is what is inside, and the two times it failed me.
Read articleThe format, the constraints, an honest example, and why time pressure creates direction instead of just cutting it short.
Read articleTests, coverage, lint, post-batch audit, CI/CD. The full sequence, and what happens when you skip it.
Read articlePREDEV/POSTDEV, numbered batches, post-delivery audit. The method I apply on every project, from idle games to Play Store.
Read articleCase study
Grounded in real projects.
My god-game opened with the ending: the whole world, revealed in the very first second. The pivot inverted everything without touching the engine: the game now starts tight on your tribe, and the world is earned. The story of an entirely render-only overhaul.
Read articleLimon was meant to be an instrument, proof that complexity can arise on its own. A squad of adversarial reviews showed me I was conflating two things. I let the claim go, and it cost me.
Read articleMy autopilot had played one freight round and concluded it paid 9 coins. A 400-draw probe says 71. Between the two there is no bug: there is an anecdote mistaken for a measurement, and I almost tuned my economy on it.
Read articleOn the itch page, the tutorial plates announced A and D. On an AZERTY keyboard, the key to press is engraved Q. The very first gesture the game teaches showed the wrong key to its audience. The cause: the web does not know what your keyboard engraves.
Read articleAfter release, I looked at my game like a painting: every image produced as needs arose, against a palette that no longer existed. The overhaul happened in waves, by measurement. And at the end, a purple beast that two out of three measurements declared fine.
Read articleThe first hour of EREME teaches the rules by example, and it used to teach that choosing costs nothing: eleven of the fourteen options led to outcomes with no effect. How the prologue learned to weigh, why it ends at undocking, and how a stowaway without a character sheet became someone.
Read articleWhy I prototyped fast first, why I rebuilt the project on a cleaner foundation, and what the PC-first alpha already validates today.
Read article700 tests, an 80% coverage gate, 14 batches, and a scoping mistake caught early enough to fix. A look at shipping a real mobile product, batch by batch.
Read articleTechnical
Rendering, engines, systems, local AI.
No meta-router, no SDK, no tenth provider. Two bare fetch() calls, one timeout, one fallback, and muffin quotas that turn every AI call into a spending cap. A guided tour of Grimoire Culinaire's LLM routing.
Read articleI reserved room for 192 technologies and, without noticing, capped my tree at 64. The limit crashes nothing: it waits, quietly, for the day the game gets rich enough to hit it.
Read articleGetting an 8-billion-parameter local model to produce a valid JSON execution plan, then running it across a fleet of 31 specialized personas: what breaks, what you harden, and why the hardest part is keeping the planner from being creative.
Read articleAquaTube does not display a skin drawn in Photoshop. The glass and the cathode-ray screen are computed every frame. Why re-embrace Frutiger Aero and the CRT TV in 2026, and what it changes.
Read articleA player that probes its files by content will also read what is disguised. A fake .mp3 holding an ffconcat manifest could make a local player open arbitrary URLs. The countermeasure fits in one option, and the lesson outgrows the case.
Read articleEREME has no save button. The engine writes at the entry of every node, before revealing the card, and refuses to write mid-decision. Yet for nineteen days, the game played on screen almost never got written, and the gate stayed green.
Read articleEREME promises a crew that remembers. Ten marks out of fifteen really did weigh on maneuvers, but no path could make it speak: validation checked that the text exists, nobody checked that it could come out.
Read articleIn my maneuvers, placing the crew well cancelled luck: sixteen options out of twenty-four dropped to zero chance of failing. The fix does not change the roll, it changes its reading: it holds, it barely holds, it fails, it fails badly.
Read articleEREME's voyage map fits in an 86-pixel strip. On hover, a crossed node says what happened there; an upcoming node says you know nothing about it. All of it without a single new piece of state: the journal already carried everything, it was missing one line.
Read articleSillon has no driving screen. A control desk, a four-notch lever, a whistle, a firebox: everything you operate is operated from the cab, by walking up to the organ. What this commitment demands, and how I verify it holds.
Read articleI gave my assistant long-term memory: it retrieves my notes and quotes them. I sanitized the content, wrote tests, everything looked solid. An adversarial review of my own code found the hole I had not seen: the title.
Read articleAquaTube uses no system player: video is decoded by hand, up to 4K HEVC in hardware, to pass through the cathode-ray screen. The pipeline, its traps, and the clock that sets the tempo.
Read articleIn Grimoire Culinaire, the local database is the source of truth and Supabase is just a mirror to reconcile. What that inversion concretely changes in the code, and what it costs.
Read articleHow I designed Grimoire Culinaire's internal economy: 80 muffins/month, rewarded ads, free trial, and pricing mistakes.
Read articleLaunches
Launches and distribution.
A web build for itch must carry index.html at the root of the archive. Zipping the folder instead of its contents breaks the browser player, with no useful message. It is the most banal mistake of the format, it always happens by hand, and I wrote a script to make it impossible.
Read articleOn August 7th, the itch page of my discontinued game became EREME's. Everything can be replaced in a single day, except three traces: a rating, a date, buyers. What inheriting a page really means, and what it costs in transparency.
Read article