This new short isn’t a one-off. Over the years, as I thought back on what writing of mine brought me the most genuine joy during its production, the answer was troubling: likely the most fun I’ve ever had writing fiction was during that wild time I wrote my two-novels-long fanfiction of Re:Zero, the Japanese series of light novels slash anime. Even though I was mostly constrained by the existing characters and general plot of the original narrative, I felt creatively freer than ever before or since.
When I tried to understand why, I think it had to do with the same reason I’ve mostly only been engaged by manga in these last ten years of my life. The combination of colorful, larger-than-life characters engaged in creative endeavors, characters don’t behave with each other in the constantly cynical, conflicting manner than most Western fiction does it, was intoxicating for me. I wanted that feeling of returning to a story, whether to read or write it, merely to hang out with that ensemble of characters again. To see how they interact with each other in peculiar ways. I experience that again whenever I reread the chapters of that fanfiction (for example, part 52 and part 55).
Somehow, writing those stories always allowed me to be as funny, silly and ridiculous as I felt like it, and the story would accommodate it. There were some genuinely poignant moments too, like a sequence when the protagonist fucks up when trying to kill himself to trigger his “return by death” ability, only to end up with the lower half of his body missing, and all the people in his life either disappointed in him or despairing by his constant attempts to keep killing himself. Recently, someone from Serbia read through most of the latter half of my fanfiction, so thanks for that. Knowing that someone out there, someone whose stupid face I will never have to see, deliberately sought my writing, that warms my black, rotting heart.
Anyway, at this point of my life, so burdened by everything mentally that often I don’t know how I can keep going, I don’t feel like I can commit to any creative project long-term, but I want to do this: a cycle of short stories that each push the boundary of the same fantasy world further. It will involve possibly repeating characters that are peculiar, larger than life, and play off well against each other. Sometimes, a short story may lead into another, either immediately after the previous one or some time down the line. Maybe I will want to develop another aspect of that world. Maybe some short story will see me gathering main characters from previous stories for a collaborative endeavor. My goal is to write something joyful and silly in the way I prefer it, that will make me want to write more of it or reread the existing parts if only to hang out with those characters again. So I’m doing the whole Re:Zero thing again, but with original characters and in a likely plotless manner, at least when it comes to grand, overarching plots, which never were quite my cup of tea anyway, whether some dead witch poured her saliva in it or not.
To produce this short I’m doing the post-mortem about, I relied on the Living Narrative Engine, my mature Javascript app that allows me to play through fictional scenarios. Every time I come up with a scenario, I’m partly prompted by the desire to add a new system to the app. Over time, I’ve developed systems to move from place to place, to interact with other characters, to pick up objects, to read readable objects, to consume the contents of consumable objects, etc. Although I don’t want to commit to much, I must say that the next short story is going to follow Vespera Nightwhisper’s efforts against demonic poultry, which will involve me finally implementing proper weapon-wielding (in a way that requires grabbing with one or more hands, and prevents illogical actions when your appendages are occupied), weapon attacks depending on the type of weapon, and possibly also skill-based successes (so that the characters don’t insta-hit poultry, or get insta-hit by them). I don’t know how the story is going to play out, but that’s part of the fun.
In recent posts, I wrote that I was developing a complex GOAP system (Goal-Oriented Action Planning) to involve autonomous, non-LLM intelligences in my scenarios. I’m on my way there, but I realized that I need a much wider array of actions to be implemented in order for GOAP to fully make sense, so I’m parking that for now. Also, I’m mostly focusing on what the scenarios actually require; when I saw myself introducing hunger mechanics even though no scenario would use them for now, that was the point I realized that I had to step back and focus on what actually brought me joy. And I need a lot of it.
This morning, the moment I finished editing this new short story titled “The Municipal Aid Registry,” my brain was already buzzing with ideas for the next one. That’s the proper state of affairs.
Anyway, as usual, I hope you enjoyed this new short story about a bunch of weird fantasy people. If not, go fuck yourself.
The rural streets of Mudbrook-on-the-Bend are mostly deserted at this hour—folks either at work or gathered at the Municipal Aid Registry, I’d been told. The air sits pleasantly warm on my fur, though the sun beats bright enough to make me squint. Small town. Tightly packed houses along a blue-green canal. Aging timber frames, steep tiled roofs. The kind of place where someone like me probably looks like she wandered out of a fairy tale.
There. An older man standing near the main path, pipe smoke curling up from weathered hands. I clock him immediately: tradesman’s apron, genuine smile-lines, the relaxed posture of someone who belongs exactly where he’s standing. No performance.
“Oh. Morning, ma’am.” His voice carries that easy rural cadence. “Nice weather we’re having, ain’t it? Never seen you around these parts. I hope that our quaint little town won’t disappoint a member of the cat folk too much.”
That slight wonder in his tone—he’s probably never met one of us before. My whiskers twitch. Part of me immediately starts calculating angles. He knows everyone here. All the local gossip, who’s hiring, what’s dangerous. I could purr, play up the cute factor, harvest whatever stories he’s got tucked away in that weathered brain. Easy material. But gods, I just got here and I’m already doing it. Already cataloging vulnerabilities, mapping the performance.
I close the distance between us, letting myself catch the full scent of him: leather oils, curing agents, pipe tobacco.
“Morning to you too, meow.” I let my whiskers twitch with genuine amusement. “And don’t worry—I’ve played worse venues than ‘quaint.'” Something about his unpretentious energy makes it easy to drop the armor, just a fraction. “There’s something charming about a place that still smells like honest work instead of… performance. You’re a tanner, yeah? I can smell the curing agents from here.”
He takes a couple of steps back without thinking—not fear, just automatic adjustment to proximity. Most people either lean in with curiosity about the exotic cat-girl, or retreat because they’re threatened. This is different. Unconscious. Natural boundary-setting. The smile on his face stays honest.
“I’m a simple tanner, alright, miss.” He gestures down at his hands. “Probably could tell too by the stains in my skin that never quite go away. Name’s Bertram. Seems like I’ve spent a lifetime crafting saddles, belts, boots and the likes with these two hands of mine. A good life, not complaining.”
He takes a long drag of his pipe, exhales slowly. His gaze shifts to my back, my hips.
“As for you, my goodness… That instrument case slung across your back and those… peculiar weapons at your hip. You must have had quite the adventures. Well, if you’re looking for work or to perform, look no further than our humble gathering spot, the Municipal Aid Registry. Posted a request myself for reciprocal services.”
Reciprocal services. The phrase catches in my mind like a claw on silk. What does that even mean in a place like this? Barter system? Trade work? Could be dangerous, could be hauling leather, could be absolutely anything. But he’s local, established, comfortable. If I’m going to find real work here—the kind that strips away performance and leaves only survival—I need someone who knows where the bodies are buried. Metaphorically. Or literally, mrow, depending on what kind of town this actually is beneath the quaint surface.
I need to test this again. Feel out his boundaries properly.
“Reciprocal services, mmh?” I let my curiosity show in the forward tilt of my whiskers. “That sounds intriguing. What kind of work are we talking about? Something dangerous, or just the usual hauling and heavy lifting?” I step closer, closing the distance he created. “I’m always interested in… collaborative arrangements. Especially with someone who knows the area.”
His wide, simple smile doesn’t change, but I catch a small frown creasing his brow as he registers how close I’ve gotten.
“Oh, my request? Just the usual thing, keep it posted there at the Municipal Aid Registry’s bulletin board when I can spare the fee. You see, my Anna…” Something softens in his voice. “Ah, what a dear she was. My great love. Thirty years we had together until the winter fevers took her. I’m grateful for that time, but I’m not looking to replace her. I appreciate my quiet too much these days, and I’m not getting any younger.”
He takes another drag of his pipe, perfectly comfortable.
“So, the posting. I request a handjob, and offer one in return. Fair exchange, no romantic complications. You see, a good handjob is like good craftsmanship. You need to understand what you’re working with, adjust to feedback, take pride in the result.”
Oh gods. He’s… he’s talking about actual handjobs. Not hauling work or tanning work or some tradesman metaphor I misunderstood. Reciprocal handjobs. Posted at the Municipal Aid Registry like it’s… carpentry services.
Mrow… this is… I mean, I’ve played a lot of towns, seen a lot of arrangements, but posting for mutual masturbation services at the town bulletin board with the same casual energy as requesting roof repair? The complete lack of shame in his delivery—”a good handjob is like good craftsmanship”—he genuinely believes that. He’s explaining his sexual barter system the way he’d explain leather-working techniques.
I keep my expression neutral, let my whiskers stay still. Don’t react. Don’t give away whatever the hell I’m feeling right now, because I’m genuinely not sure. Surprise? Amusement? Professional curiosity about small-town sexual economics? This is material, definitely material, but I need a second to process.
Bertram takes my silence in stride, another casual drag of his pipe as he looks into my eyes with that same untroubled calm.
“Hmmm… Maybe this is a human matter. Don’t know if cat folk engage in handjobs. I’ve lived in Mudbrook all my life. People know me, knew my Anna. They know my work is good and I’m honest in my dealings.”
He gestures with his pipe-hand toward the street.
“That said, a traveling bard like yourself will maybe want to check out the other work. Us locals can get fed easily on our produce, so we can do with reciprocal handjobs, but you have to… carry provisions and such for the trip, right? Anyway.” He points at a building that looks like a converted grain barn, larger than the surrounding structures. “There’s Mudbrook’s Municipal Aid Registry. Copperplate’s in charge. Good fellow. Been here before any of us showed up. Just be patient with him, he operates at… his speed.”
He’s genuinely waiting for my response. And the thing is… mrow… I’m not actually offended or shocked. I’ve done stranger things for worse reasons. But this is information. This tells me something about Mudbrook that I didn’t expect—there’s a whole sexual economy here that operates with the same casual pragmatism as trading eggs for flour. That’s information I file away.
“Are you alright, miss? Cat-folk’s faces aren’t that easy to read, not for a Mudbrook leatherworker anyway.” He tilts his head slightly. “You have quite the peculiar eyes, I must say. One ice-blue, the other amber. Is that something that happens to your kind?”
He’s asking about my heterochromia because my face isn’t giving him the information he wants. Fair enough. Cat faces are harder to read for humans.
I let my tail swish slowly, thoughtfully.
“I’m fine, don’t worry. Just thinking, mrow.” My whiskers relax a fraction, showing him I’m not offended or disturbed. “And yeah, the eyes—heterochromia’s not super common among cat folk, but it happens. My mother had it too, though hers were both shades of green. Mine decided to be dramatic about it. As for your arrangement—refreshingly pragmatic, but I need provisions more than handjobs at the moment, mrow.” My whiskers twitch. “Does everyone in Mudbrook operate on this kind of system, or just certain folks?”
Bertram steps back to let a young man pass, planks of wood balanced on his shoulder. The kid nods at the older leatherworker without breaking stride. Bertram nods back, takes another drag of his pipe, taps the ashes out against his boot.
“System… can be called that, I guess. Folk used to offer deals over ale, but then they’d forget the finer points and there’d be fights.” He grimaces. “Good old Copperplate fixes all that. The man… or whatever it is… keeps records like it’s his religion. Keeps us grounded and sane.” His voice softens. “Ever since my Anna died, I’ve gotten plenty of answers thanks to those proper proceedings. Mudbrook-on-the-Bend is a simple town. Fair dealings. Well-crafted tools and materials. Straightforward, honest people. That’s how we like it.”
I should move. The Registry’s where the real work is—dangerous contracts that pay in coin, not sexual services. Combat work. That’s what I came here for.
“I appreciate the explanation. Thanks for the local orientation, Bertram. If I survive whatever job I pick up, maybe I’ll come back and you can tell me more about Anna over a drink. She sounds like she was worth those thirty years.”
The converted grain warehouse sits open-sided toward a patch of grass and trees, timber construction weathered but solid. The bulletin board dominates one wall—crowded chaos of notices, some full sheets, others torn scraps, layered and pinned unevenly like sedimentary history. A service counter suggests this used to be a loading bay. Mixed crowd of locals scattered around tables with tankards. Civic business conducted in warehouse setting. The air smells of old wood, spilled ale, and something else—ink and parchment, sharply chemical.
That’s coming from the tortoise-person behind the counter. Copperplate. Has to be. Short and stocky, ancient-looking, dark-olive scaled limbs extending from a bronze domed shell. Cream plastron visible at the chest. Charcoal-gray hooked beak, amber round eyes behind reading spectacles. He’s wearing formal sleeve cuffs and a fitted waistcoat that somehow dignify the whole turtle-in-a-warehouse aesthetic. The smell of ink and old parchment emanates from him like a profession made manifest.
He’s currently handing a posted notice to a woman who… mrow. She’s built like violence made flesh. Muscular, heavily scarred, the kind of body that tells stories about surviving things that should have killed her. She takes the notice from Copperplate’s clawed hand with careful precision, stares at it for a moment. Her expression goes distant. Then she turns and heads for the streets without a word.
The board’s chaos hits me immediately—a cluster of stained parchment and competing desperation layered over each other like archaeological evidence of small-town needs. An alibi notice at eye level, hastily scrawled with crossed-out attempts: WANTED: Someone to tell my wife I’ve been working late (I’ve actually been at the pub). 2 copper. Convincing liars only. A man rewrote this multiple times before posting. Performance stacked on performance. I move on.
Behind me, someone enters—pipe tobacco, leather oils, curing agents. Bertram. He heads to the tables where locals are gathered with their tankards.
I let my attention drift back to the board. Let me check the birthday musician notice next, see if there’s actual danger on offer or if Mudbrook only provides low-stakes human misery.
“Good morning, Mr. Copperplate.” Bertram’s voice carries from the counter, that same easy rural cadence. “Hope you haven’t been getting any trouble other than the usual. By chance, do you know if anyone has taken interest in my request? I’ve been building up some pressure lately, with this saddle commission for the merchant’s daughter and all.”
The birthday musician notice sits just below the alibi request. I scan the text:
MUSICIAN NEEDED: Play at my daughter’s birthday. She’s 7. You will be required to perform “The Happy Donkey Song” seventeen times minimum. 3 copper, earplugs not provided.
Behind me, the tortoise-person’s voice emerges—slow, deliberate, each word separated by noticeable pauses like he’s processing language at a different speed than mammals.
“One moment… Bertram. I must… complete… the current… notation… before responding… to your inquiry.”
Bertram’s voice carries easily.
“Take all the time you need, old friend. Have you noticed, by the way, our newcomer? A cat folk, no less, in our little Mudbrook. Must be a musician unless she’s carrying loot in that instrument case of hers.”
I’m hyper-aware of the weight of attention from the tables—multiple sets of eyes tracking the exotic cat-woman. I’m the circus that wandered into town.
Seventeen times. Minimum. The words sit on the notice like a threat. I read it again, making sure I’m not hallucinating from road exhaustion. A seven-year-old who’s learned to weaponize repetition. Old enough to understand cause and effect, young enough to have zero mercy. And the parent who posted this knows exactly what they’re asking for. They wrote “minimum.” They know their child. They’re desperate enough to pay a stranger three copper to endure what they can’t face themselves.
“Oh, if Anna, poor Anna would have been here today.” Bertram’s voice softens with memory. “She often talked about seeing some exotic folks. Couldn’t go anywhere, of course, on account of her weaving… And all my leather work. And I don’t think she ever heard music played live, did she? Hmm, maybe that one time a young merchant came by with a flute… Or was it drums?”
I hear him drink, the hollow sound of a tankard being emptied.
My attention drifts back to the notice. Seventeen repetitions would strip away every bit of performance, every shred of artifice. By repetition twelve I’d be completely raw—just muscle memory and survival instinct, the song reduced to pure acoustic reflex. That’s the kind of clarity I chase, just… from a different angle than combat. Not violence-clarity, but repetition-clarity. Mrow… but three copper. That’s insulting compensation for that level of psychological endurance.
“Mr. Copperplate, do you still remember what I asked?” His voice carries confusion now. “Wait, what did I ask again? Was it something about Anna? I swear all the leather dyes are seeping into my brain. I come across a fellow Mudbrooker along the street and they greet me nice and I can’t tell if a handjob was involved.”
The weight of attention presses against my fur like humidity. I don’t need to turn around to know exactly what’s happening at those tables—the locals, mainly men from the scent signatures, chatting with that animated energy that comes from having something exotic to admire. I catch fragments of conversation, none of it subtle:
“—never seen a tail that fluffy—”
“—the way she moves, gods—”
“—bet she’s got claws under that—”
I’m the entertainment of the week. Maybe the month. Provincial setting, limited exposure to non-humans, and here I am in my road-worn leathers with weapons at my hip and an instrument case across my back.
I keep my focus on the bulletin board, let them stare. My tail does its own thing—slow, thoughtful movements that have nothing to do with their entertainment and everything to do with processing what I’m reading. The birthday musician notice still sits there with its seventeen-repetition threat. The alibi service with its suburban deception. Neither offering real danger. Neither stripping me down to anything honest. But there are other notices layered across this board like archaeological strata.
A water-stained notice near the bottom, tear-marked: URGENT: Recover my dignity from the bottom of the well. Also maybe a bucket. Dignity preferred but bucket acceptable. I blink. Move on.
“Hey…” Bertram’s voice cuts across the converted grain barn. “Damn, I don’t know your name. Cat folk. With those weapons at your waist, the chickens request may be more up your alley. Or my request about reciprocal services. That’s been up for a good while. I always respond in kind, on a leatherworker’s honor.”
Mrow. He’s being helpful. The scratch of Copperplate’s quill continues behind me. Future historians will read about Bertram publicly recommending his reciprocal handjob services to the exotic cat-folk stranger, rendered in perfect archival notation.
Bertram’s voice carries again, this time directed at Copperplate:
“I guess there’s much to record with a newcomer in town, ain’t there? My goodness, you’re going to run out of ink this morning.”
Movement catches my peripheral vision. Bertram’s stepping away from the counter, boots scuffing across the warehouse floor. He circles around a couple of tables—the ones with the men who’ve been cataloging my existence like I’m the most interesting thing to happen to Mudbrook since the last time someone fell into a well—and heads for the bulletin board. Not toward me exactly, but toward his own posting. The reciprocal services one.
He stops with his hands on his hips, looking up at his notice. I’m standing close enough that I catch his muttered words.
“Hmmm…” He’s reading his own posting, lips moving slightly. “‘Hygiene acceptable, all digits functional’… Could have worded that better, maybe. It’s just these damn dyes, the stains are so hard to get out.”
He examines his nails, holding his hands up to catch the warehouse light.
“And these dark crescents, don’t even know how I could begin to scrub them out unless I cut my nails.”
I’m stalling. The chickens notice is still there. Bertram’s reciprocal services posting sits higher up where he can review his own nail-hygiene marketing. I should just pick one and move on. Let me see what passes for possessed poultry in Mudbrook-on-the-Bend.
HELP WANTED: My chickens are possessed by the vengeful spirit of my dead mother-in-law. Or they’re just mean chickens. Either way, I need them gone. 1 silver, or take the chickens.
One silver or take the chickens. That’s… actually decent pay for livestock removal, possessed or otherwise.
“That’s more up the alley of a proper adventurer like you, miss cat,” Bertram says. “I know the guy, he makes most of the local pottery, and also has quite a collection of chickens. Demonic hen, I’ve heard him repeat. Veritably devilish.”
The scratching finally stops. Copperplate lifts his claw, ink still wet, and fixes his amber eyes on Bertram through his spectacles.
“Bertram. To answer… your original inquiry… no one has… registered interest… in your reciprocal… services posting. The record shows… no approaches.”
Bertram looks back at Copperplate across the converted grain barn, his expression cycling through confusion—like he’s forgotten they were even having a conversation—then recognition, then something brighter for just a moment. Finally, it sours into disappointment.
“Oh, damn it. Nobody?” His voice carries genuine hurt beneath the frustration. “It seems that after the novelty wears off, Mudbrookers don’t want to be repeat customers. Fair transactions and mutual benefit aren’t what they used to be, are they? Maybe it’s the tannery staining, and that smell of newly-worked leather.”
I watch as Copperplate’s claw hovers over the ledger for a long moment. Then it descends, scratching across parchment with religious devotion.
I let my attention drift back to the bulletin board. The chickens notice sits there with its straightforward desperation. Could be genuine combat danger. Could be difficult livestock removal with homicidal poultry.
“Demonic mother-in-law spirit sounds more promising than seventeen performances of ‘The Happy Donkey Song,’ mrow.”
“I don’t think you’re getting any more juice out of the request, miss cat. What you see is what you got.” Bertram pauses. “If you’re gearing up to take that chicken contract, we could find our local veteran. She’s one tough broad, that one. Scarred from head to toe it seems. Always carrying around that longsword of hers. I reckon you two together could handle chicken demons.”
The woman I saw earlier. The one who took a notice from Copperplate with that focused intensity, then left without a word. Heavily scarred, built like violence made flesh. That tracks with “local veteran” perfectly.
Partnering up. I came here to strip away performance, to find that crystalline clarity that only comes when survival is the only option. Adding another person complicates that. Means witnessing. Means someone else’s assessment of how I handle danger, what that reveals about me.
Stop procrastinating. Take the fucking notice. Commit to something instead of endlessly circling like my tail’s chasing itself. If the chickens turn out to be genuinely possessed or magically corrupted, I get the violence-induced composition clarity I’m chasing. If they’re just mean livestock, well—at least I’ll have moved forward instead of standing here being entertainment for gawking locals.
“You’re right, Bertram. I’m overthinking this, mrow.” My claws grip the edge of the parchment. “Let me just take the chicken notice and we can figure out if we’re dealing with actual demons or just aggressive poultry.”
The notice pulls free from its pin with satisfying resistance. I hold the parchment, feeling the weight of commitment settle across my shoulders like the instrument case.
Bertram’s already moving, boots scuffing across the warehouse floor as he follows me toward the counter. His voice carries that encouraging energy people get when they’ve successfully convinced someone to stop overthinking.
“Good, good. If I see Threadscar around, I should tell her you’re gunning to take care of our local chicken problem once and for all. Two fierce women in a poultry battlefield sounds better than one.”
I close the distance to the counter. The tortoise-person’s amber eyes track my approach through those reading spectacles, though his claw never stops moving across the ledger. Up close, the scent of ink and old parchment emanates from him much stronger.
“Mr. Copperplate, I’d like to register this contract.” I set the notice on the counter between us. “The chickens. Need the address and any additional details you have on file about the situation.”
The scratching stops. Copperplate’s clawed hand lifts the chickens notice with a glacial deliberation that suggests he’s moving through a denser medium than air. He holds it at reading distance behind those silver spectacles.
“I will now… review the documentation. This ensures… archival accuracy.” His claw descends to the ledger. “Before proceeding… I require the contractor’s… full name… for the permanent record.”
Oh. Right. I haven’t actually introduced myself. Just walked in, grabbed a notice, and demanded registration like I assumed bureaucratic telepathy was part of the service. Mrow.
“Vespera Nightwhisper.”
Copperplate’s amber eyes lift to meet mine through those spectacles.
“The record… will reflect… your registration.”
His claw descends. More scratching. This is going to take a while.
Behind me, I catch movement—Bertram heading toward the converted grain barn’s exit. His voice carries over his shoulder.
“Alright, I’ll look for Threadscar. That old warrior is always up for some action, and gods know we don’t get much of it here. Of any kind, these days.”
His boots scuff across the threshold and he’s gone, pipe-tobacco scent fading as he hits the streets of Mudbrook-on-the-Bend.
Bertram will find that veteran, which means I’m committed to whatever violence or embarrassment this job offers. Can’t back out now without looking like a coward who fled from poultry.
Finally, Copperplate’s claw lifts from the ledger. His amber eyes fix on me.
“I have verified… the notice contents. This contract was filed… by Aldous the potter. His workshop… is located at… twelve Kiln Lane… eastern district… near the old millrace.” He pauses. “The supplementary… documentation… indicates seventeen chickens… on the property. The specific… problematic hen… is described as ‘the large speckled one… with the malevolent stare.'”
His eyes blink—a full five seconds, like his eyelids operate on their own timeline.
“Payment is one silver… upon resolution… or you may claim… the chickens… as compensation. Both options… are legally binding. Do you… accept these terms?”
“I accept the terms, mrow.” My tail swishes once. “Twelve Kiln Lane. I’ll handle the demonic poultry situation.”
THE END
I generated the following video about this story. Some genuinely hilarious images.
Yesterday, when I went out for groceries, I tried to change it up a bit, heading to a different neighborhood than usual so I could feel more alive than merely repeating the usual routines. Really cold November morning, about 4ºC. It seeped through my jeans, making me wish I had worn some leg warmers. For someone who recently wants to return to bed the moment he climbs out of it, I wished I could go back home and not leave again until spring. The experience of navigating through that supermarket, of listening to the people in it (customers, employees), felt surreal, as if I were exploring a snapshot from another era. I felt detached, simultaneously feeling invisible yet suspecting that others realized I didn’t belong, not just in the supermarket but in this world.
I had known that losing my beloved cat would hurt like a motherfucker, but I hadn’t realized that she was my emotional link to reality. In my teens, I was sure that I wouldn’t survive until adulthood. My first paying job ended with me having a panic attack, ditching the bus to work and instead intending to jump from somewhere high enough. I hadn’t planned anything from beyond that point, as I believed I wouldn’t be around anymore, so I hadn’t considered that my job would call the available phone numbers. That led to my parents finding me in the local library after I chickened out from killing myself. I retain very little in terms of memories from those moments, but I recall that sinking feeling of realizing that I was going to stick around for consequences even though I didn’t want to be here anymore.
Throughout these last twenty years, having endured many periods of suicidal ideation, what kept me moored was the notion that I didn’t want my cats to miss me. I couldn’t care to that extent about my parents or my siblings (I had to go back and add “or my siblings” there, as I had suddenly remembered they exist). Now, as a forty year old, about twenty years older than I thought I would live, I find myself out of a job, with no interested in rejoining society, with an inability to care for human beings mainly due to my high-functioning autism and a generous dose of bad experiences, and a sense of detachment that I thought I had left behind in my teens. Even regular sounds seem strange now. Forming sentences feels awkward and unnatural. I recall that while I was browsing in that supermarket, I wondered if something was physically wrong with my brain, as I had trouble registering what was going on around me and even understanding what I was looking at.
Obviously I’m going through a crisis, which has found me ill-suited to navigate it. The only comfortable moments I’ve had recently had been evading myself in my usual daydreams involving a certain blonde American who died in 1972, but I also enjoyed watching Vince Gilligan’s new show Pluribus, somewhat against myself, as I don’t find the concept that interesting. I feel that I can’t do anything about the crisis itself or what’s going on in my brain other than distract myself to the best of my abilities until I settle into a new angle of repose. I’ve gone through many such fundamental changes. I’m not remotely the same person who wrote my novel My Own Desert Places, I’m not the same person who wrote We’re Fucked, neither the one who mourned for his long-dead girlfriend in Motocross Legend, Love of My Life. I don’t know where those people went. Ultimately I can only do whatever my mercurial subconscious tasks me with doing, as I don’t get any emotional rewards out of doing anything else.
I suspect there’s plenty more to be said, but I intend to distract myself with my programming project. This afternoon I’ll try to leave the apartment for a while, solely to retain the sense that I’m still alive. One foot after the other.
An hour ago I received a call from the Occupational Health doctor I visited last week. I had talked to her about the fact that working in IT had sent me thrice to the ER, two for arrhythmia and the last one for a supposed hemiplegic migraine that felt like a stroke, so I only intended to accept programming roles. This morning, on the phone, she told me she had spoken with my former employer at the hospital where I have worked on-and-off for the last seven years, and he told her that programming has been externalized, but that he would talk to HR for future job offers to see if my role in an IT contract could be constrained.
After she explained this to me, I remained silent for a few seconds, trying to understand what that would even mean. I told her that working in IT is either solving user’s problems on the phone or in person, with week-long additional phone duties, and all the while having to tolerate IT technicians for whom silence and basic respect for other people’s peace of mind seems to be a personal offense. The only possible duty of the IT job that wouldn’t screw with my brain and heart would be network rack stuff, but that’s 5-10% of the job. The Occupational Health doctor told me that she would call me tomorrow so I could make a decision: either accept a six-month trial period for supposedly duty-constrained roles, all vague as hell, and that for all I know could revert to the normal state of affairs the very first day, or else get removed from the job listings, which means that I would have sacrificed my source of income.
All I could think about that was “Please leave me the fuck alone.” My whole body weighs down as if demanding me to lie somewhere. Shortly after waking up this morning, having trouble leaving the bed, I was fantasizing about how nice it would be to jump off a fucking bridge. And I have to make a decision about whether to keep a paycheck that involves threats to my brain and heart, or restart my career at forty.
I feel unmoored. Detached from this world and from the reality of it all. Terrified of returning to any sort of responsibility. I’ve had to drag myself out of the apartment because I know that otherwise I’ll just spend hours wanting to lie down in bed. I’m even resenting having to tend to my remaining cat, who is on permanent medication for kidney failure and keeps making these “akh-akh” sounds that the vet said are common with his condition. My cat is also feeling the sudden loss of the other cat, who died four or five days ago; whenever he isn’t sleeping, he follows me around, sits at my feet, or hides under the covers, as if fearing an invisible predator that will make him disappear too. And he’s right to fear it: he’s eighteen, and that invisible predator will make him disappear soon enough. Like it eventually makes everyone else disappear.
I want to be left the fuck alone. For the entire world to forget I exist. Not have to be bound by anything. To lie in bed and daydream for days at a time, if I even have to be alive at all. Right now, in this mental state, anything other than ASMR is too grating to my senses, as if they had been scrubbed raw. I briefly considered talking to some professional about this whole stuff, but then I remembered that I had seen about five therapists from age 17 to about 31, and it did fuck all other than waste my time and money.
These last two days I have gotten decent sleep (about five and a half hours, or six), compared to the previous five days, in which I was lucky if I got two hours a night. I woke up spontaneously, and the first thought in my mind was my beloved cat who recently died. I see her face turned toward me from the bed, her eyes narrowed with affection. A couple of days ago I had an auditory hallucination in which I heard her distinctive meow coming from the spot of the bed where she liked to sit down. I walked over and hugged the empty space, in case something of her was still there.
Whenever I think about my cat, tears rush to my eyes. Even as I try to distract myself, I deal with random crying spells. This cat was my constant during my whole adult life. No matter what, I could always count on her kind, gentle, and loving nature. And now I will never see her again. On one side, I want to jot down, set in stone somehow, all the memories that remain of her. On the other side, I should forget them, as remembering isn’t going to bring her back, and I need to move forward.
Yesterday I wanted to drag myself out of the apartment, but I couldn’t muster the drive to do so. I tried to lift weights instead, but after the second set, I ran out of energy. I feel like I’m filled with lead. It’s not just my beloved cat dying, although that’s sitting on top of it all; I’ve been unemployed since September but I’ve done nothing to find a new job, as I know the routine will just hurt me. The world outside these walls feels utterly wrong and hostile. My only way to interact with it involves the temporary oblivion that my guitar provides, but I can’t bring myself to play now. I wonder if I felt like this back in my twenties during those periods in which I didn’t leave the house for what seemed like weeks. I have retained very few memories of that decade and the person I used to be.
I feel like I’m missing something important I should say, but I don’t know what. I’m encased in misery, and all I can do is sit tight and get used to the dark.
Back in late 2000s and early 2010s, we had this thing we affectionately called Telltale-style games: heavily narrative-driven games that relied on letting the player make more or less compelling decisions that would affect the narrative. They didn’t have the complexity of early adventure games, but they couldn’t be called simple visual novels either. They were tremendously successful, until corporate greed swallowed them, spread them thin, and eventually dissolved them into nothing. The company shut down.
A new studio made of former Telltale devs decided to try their hand a new Telltale-style game that removed the dragging parts of former Telltale games (mainly walking around and interacting with objects) to focus on a good story, a stellar presentation, and compelling minigames. Their first product was the game Dispatch, released about a month ago in an episodic format (two episodes a week, but all of them are out already). The game has become a runaway success.
The story focuses on Robert Robertson, a powerless Iron Man in a society where many, many people have superpowers. He carries the family legacy of battling villains with a mecha. As an adult, he pursued the supervillain who murdered Robert’s father, and who now led one of the most dangerous criminal groups. However, during an assault on the villain’s base, Robert’s mecha gets destroyed, which puts him out of a job.
However, he’s approached by one of the most notorious superheroes, a gorgeous, strong woman who goes by the name Blonde Blazer. She offers him a job at the company she works for, SDN (Superhero Dispatch Network). Their engineers will work on repairing Robert’s mecha, while he offers his expertise on fighting crime as the one in charge of dispatching other heroes to the appropriate calls.
Robert finds out that the team of heroes he’s supposed to handle are a bunch of villains who either have approached the company to reform themselves, or were sent by the criminal system for rehabilitation. They’re a diverse bunch of rowdy, at times nasty superpowered people who aren’t all too keen on having a non-superpowered nobody in charge of them. The narrative explores how the team grows to work together better.
The execution of this story could have gone wrong in so many ways: wrong aesthetic, time-wasting, atrocious writing, and above all, marxist infiltration; like most entertainment products released on the West these days, the whole thing could have been a vehicle for rotten politics. But to my surprise, that’s not the case here. A male protagonist, white male no less, who is an intelligent, hard-working, self-respecting role model? Attractive characters, fit as they would be in their circumstances? A woman in charge (Blonde Blazer) who is nice, understanding, competent, caring, and good? Villains with believable redemption arcs? Romance routes that flow naturally? Where the hell did this game come from in 2025?
Entertainment consumers have been deliberately deprived of all of this by ideologues who despise everything beautiful and good, who, as Tolkien put it, “cannot create anything new, they can only corrupt and ruin what good forces have invented or made.” Franchise after franchise taken over by marxists who dismantle it, shit on the remains, and then insult you if you don’t like it. Dispatch is none of it. For that reason alone, I recommend the hell out of it. I’m sure that given its sudden popularity, the forces-that-be will infiltrate it and ruin it in its second season as they do with everything else, but the first season is already done.
It’s not perfect, of course. Its pros: an astonishing visual style that makes it look like a high-quality comic book in movement. No idea how they pulled it off. Clever writing. Endearing characters. Interesting set pieces. The voice acting is extraordinary, led by Aaron Paul of Breaking Bad fame. He deserves an award for his acting as Robert Robertson. It’s a good story told well, and you’re in the middle of it making important decisions (and also plenty of flavorful ones).
The cons: some whedonesque dialogue that didn’t land for me. Too much cursing even for my tastes, to the extent that often feels edgy for edge’s sake. Some narrative decisions taken during the third act, particularly regarding the fate of one of the main characters, didn’t sit well for me, as it deflated the pathos of the whole thing. But despite the pros, this was a ride well worth the price.
Oh, I forgot: they should have let us romance the demon mommy. My goodness.
Check out this nice music video some fan created about Dispatch, using one of the songs of its soundtrack.
Six in the morning. I’ve barely slept two hours and a half. I have anguish sitting in my heart. At eight I have to take a shower, get ready, and leave for the other end of town, to take a bus that will bring me to my former place of employment, which is the Donostia hospital. I have a scheduled appointment with an Occupational Health doctor so I can explain to her that I can’t continue working as a technician there, as the stress sent me thrice to the ER, and that in truth, my neurological makeup with autism and OCD is just not compatible with that job. In addition, right now I feel incapable of doing anything.
The other day, my mother suggested I look into employment with one of the big programming companies in the area, whichever I’m “interested” in. But I’m not interested in interacting with this world anymore. It’s been a long time coming. For what seems like months if not years now, I’ve only gone outside for work, to buy stuff, or to play the guitar. Everything else is a mix of painful and hopeless.
Obviously I’m grieving. But the grief also exposes the raw wounds underneath. As I lay in bed trying to fall asleep, my mind kept rescuing memories of loss. Not just my cats, but also of seeing my dead girlfriend’s father stumbling down a street, a human wreck of regret due to having caused the chain of events that led to my girlfriend’s death. I see myself doubled over in the pavement in front of my apartment, knowing that I’ve lost the remaining mementos of my girlfriend because my wife threw them in the garbage. I see myself bringing my daughter to the memorial stone of my dead girlfriend, hoping that this grief that pins me to the ground would infect her too, so the memory of my girlfriend would survive me. I’ve never had children, I’ve never been married, I never had a girlfriend die. I’ve never even had a girlfriend that I truly loved. Everything is mixed up in this defective brain. The configuration locked from early development in a state incompatible with leading a normal life. With enduring the pain inherent to life.
Shortly after I woke up at three in the morning, I opened a document I wrote right after another cat of mine died back in 2019. I wrote that I would remember how his other family members regularly slapped him for no apparent reason, and how he found comfort sleeping on my lap. But I forgot, and it took reading those words to remember it. I don’t know if I want to keep remembering any of this. It’s nothing but accumulated pain.
The pressure in the chest, the tightness in the throat, the burning behind the eyes. Anguish with no purpose or solution other than letting it pass. Only to anticipate the next time something like this happens. My remaining cat. My mother. My father. Back when I was a teenager and regularly wished to die, I daydreamed about me coming back from the future and telling me that things vastly improved as an adult. I’m not the kind of miserable that my teen self was, but it’s misery nonetheless.
They’re all distractions: the writing, the programming, the guitar playing. The online videos, the music, other people’s stories. All temporary bandaids against the raw wound that tells me that life is not worth enduring, which I have felt for as long as I remember. As a lonely child, holding an umbrella in the rain, wondering for how much longer it would feel this cold. As a younger child, being dragged by the hand by my mother, my brother with cerebral palsy on her other hand, as she searched for a football that the neighborhood kids kicked down the sloped street as they bullied my brother for stuttering and drooling. That nine-year-old girl, whom I once saw getting hit hard by her father in the balcony of their apartment, telling me that we were now dating. Her approaching me the next day with a smile on her face, asking me if I had forgotten what we talked about, and me saying yes. She turning around and walking away.
So many things I want to tear out of my brain. Every scrape putting something in there that I don’t want to remember.
We got her as a stray when I was nineteen or so. She was pregnant, and ended up birthing three of my other cats. She outlived them. She was good, kind, and loving. She was around during my twenties, during the periods when I couldn’t get myself to leave my bedroom, and she was around during my thirties when I returned home exhausted from my job. Just four or five days ago she just stopped being herself, and a blink later she was dead.
Words are distractions; the truth is that nothing we can think or say is going to stop the joy and love in our lives from eventually withering and dying.
Still, I struggle to figure out if I have something more meaningful to get out of this other than sadness. I could tell myself that I’ve posted this photo to remember her, but the truth is that I barely remember her already. Just a few two-seconds-long sequences of her looking at me from my bed, or asking me food from my plate. The weight of her limp body in my arms is the last thing I’m going to remember of her. She had a good, long life, certainly better than mine, if that counts for anything. But when years from now I look at photos of her, like it happens with all my other dead cats, the notion that I ever interacted with her won’t seem real anymore. And I will need to carry the weight of this sadness for the rest of my life. What was the point? It’s almost pure faith what you need to hold in your heart to believe that all of this counts for something.
Ever since my twenties, whenever I thought about killing myself, the thought came to mind that I couldn’t do that to my cats. I imagined them looking around for me, like they looked around for the other missing cats over the years. Soon enough I won’t feel responsible for anyone anymore, and maybe then it will finally be time to move on.
I mentioned before that I have two remaining cats: one about 18 years old, and the other about 22 years old. For the last two or three months, the 18-year-old one has shown respiratory issues, and for a while he refused to eat anything on his own. The vet diagnosed him with kidney failure. He has to take medication for the rest of his likely short life, but he now moves more or less normally, climbs stuff, responds, eats on his own.
About four days ago, though, my 22-year-old cat simply stopped being herself. Most of the time she lay there with blank eyes. When she climbed down from a chair or the sofa, she moved in this slow, wobbly manner that clearly indicated that something was wrong. However, there is nothing acutely wrong with her, in the sense that she doesn’t struggle to breathe; she suddenly just stopped eating, and barely moves. She has deteriorated to the extent that, although I have a vet visit scheduled for tomorrow, I wouldn’t be surprised if she dies before then. She’s now wrapped in a blanket, eyes open but blank, breathing but generally unresponsive. I suspect that something has happened to her brain. If so, this must have been the second time; the first one happened maybe two years ago: one afternoon, she suddenly started wobbling around, and got stuck in a loop of drinking water, walking to one end of the room, returning to drink water, and back to the other end of the room, to the extent that she kept pissing herself along the way. Somehow she recovered from that, although she wasn’t quite the same. This time, she looks like the most obvious “my time has come” case I’ve seen personally.
My eyes are teary, but it’s not hitting me as hard as I feel it should. This cat, while she was still herself, was the kindest, sweetest, most loving cat I’ve ever had and will ever have, as I don’t intend to own pets ever again. And from now, after she passes likely today or soon enough, for the rest of my life I’ll get reminded by intrusive thoughts about her death, ambushed no matter where I am or what I’m doing.
On the following photos, the cat on the left was the other’s daughter; she died. The one on the right is the cat I’m referring to on this post.
I guess there’s no much else that can be said. You love someone only for them to end up leaving forever. That always happens. As for why we even endure through all of this is something I don’t believe I’ll ever understand.
Ever since I started developing my app (Living Narrative Engine repo) months ago, I knew I wanted to reach a state in which any scenario could have three types of actors: human, LLM, and GOAP. LLMs are mostly understood these days; ChatGPT is one of them. You send them a prompt, they respond like a person would. They can also return JSON content, which is easily processed by programs. Ironically, implementing AI that resembles real intelligence (and that, as some recent papers have demonstrated, have achieved emergent introspective awareness) in an app these days is actually much easier than implementing an algorithmic intelligence, the kind used in complex simulations. But if you want to populate a scenario with sentient beings and beasts, having LLMs control beasts is potentially counterproductive; they could have them making too-intelligent decisions. For that, GOAP, or Goal-Oriented Action Planning) comes in.
Later, I will copy-paste the report I made Claude Sonnet 4.5 write on the system as it’s currently implemented in my app. The point I want to make is that implementing GOAP was for me the holy grail of this app, and its lack gated away properly-complex scenarios. For example, I couldn’t create scenarios involving a dungeon run, or even having a simple house cat, because I would need to handle the monsters myself. But with GOAP present, I could populate a whole multi-level dungeon with GOAP-controlled creatures and they would live their lives naturally, seeking food, pursuing targets, resting, etc. Even better, the action discoverability system that I implemented early on in my app means that actions already come filtered to those available, so the GOAP system only needs to consider the goals of the acting actor to determine what action to take.
This morning, while reviewing my goals for this app, I considered that maybe it was mature enough to handle implementing a Phase 1 of the GOAP system. I asked Sonnet to produce a brainstorming document regarding how we could implement it, and to my surprise, it wouldn’t be particularly hard at this point. Hours later, I’m already validating the entire system through end-to-end tests, and it all looks fantastic so far. However, given the complexity of this system, I won’t try using it in practice until it’s 100% covered by e2e tests. I know very well the kind of strange bugs that can pop up otherwise.
I can hardly wait to implement a medieval-fantasy scenario in which a group of adventurers go into a cave to exterminate some goblins, only for GOAP-controlled, lore-accurate goblins to consistently seek fondling-related actions towards anything that has boobs or a bubbly butt.
Anyway, without further ado, here’s the report about GOAP in my app, the proudly-named Living Narrative Engine.
# The GOAP System: Teaching NPCs to Think (and Tell Better Stories)
## A Blog Report on Living Narrative Engine’s New AI Decision-Making System
*Written for readers interested in AI, storytelling, and game development*
—
## What is GOAP? (In Human Terms)
Imagine you’re watching a character in a story who’s hungry. They don’t just magically teleport to the nearest restaurant. They think: “I need food. There’s a sandwich in the kitchen. But first, I need to get up from this chair, walk to the kitchen, and open the fridge.” That’s essentially what GOAP (Goal-Oriented Action Planning) does for NPCs (non-player characters) in games.
**GOAP is a system that lets AI characters figure out how to achieve their goals by planning a series of actions**, much like how you or I would solve a problem. Instead of following pre-programmed scripts, characters can reason about what they want and figure out the steps to get there.
In the Living Narrative Engine, this system is now fully implemented and working. After months of development, all three architectural tiers are complete, tested, and ready to transform how characters behave in narrative games.
—
## The Problem Before GOAP
Before GOAP, creating believable AI behavior was like writing a gigantic flowchart of “if this, then that” rules. Want an NPC to find food when hungry?
**Old way:**
“`
IF hungry AND food_nearby:
→ walk to food
→ pick up food
→ eat food
“`
Seems simple, right? But what if:
– The food is in a locked container?
– The character needs to pick up a key first?
– The character is sitting and needs to stand up?
– There are multiple ways to get food?
You’d need dozens of rules for every possible situation. It quickly becomes a nightmare to maintain, and characters feel robotic because they can only do exactly what you programmed, nothing more.
—
## What GOAP Changes: Characters That Think
With GOAP, you don’t tell characters *how* to do things—you tell them *what* they can do, and they figure out the rest.
**The GOAP Way:**
**You define:**
– **Goals**: “I want to have food” or “I want to rest safely”
– **Actions**: “Pick up item,” “Open container,” “Stand up,” “Move to location”
– **Effects**: What each action changes in the world
**The AI figures out:**
– Which actions will help achieve the goal
– The correct order to perform them
– Alternative paths if the first plan doesn’t work
### A Real Example: The Hungry Cat
One of the end-to-end tests in the system demonstrates a cat NPC with a “find food” goal. The cat:
Characters automatically pursue their highest-priority relevant goal. If a character is tired (60 priority) but suddenly becomes hungry (80 priority), they’ll switch to finding food first. **This creates emergent, believable behavior.**
### 4. **Test Multiple Actors Simultaneously**
The system includes **multi-actor support** with smart caching. Tests show 5 actors can make independent decisions in under 5 seconds, with each actor’s plans cached separately to improve performance.
—
## What This Means for Players
### Emergent Storytelling
Characters don’t follow scripts—they respond to situations. This creates:
**Unexpected Moments:**
– A guard who’s supposed to patrol might sit down because they’re tired
– An NPC who notices you’re injured might abandon their task to help
– Characters might form plans you didn’t anticipate
**Reactive Behavior:**
– NPCs adapt to world changes
– If you take the food they were going to get, they find another way
– Characters respond to your actions in contextually appropriate ways
### Consistent Character Behavior
The system includes **plan caching and multi-turn goal achievement**. This means:
– Characters remember their plans across turns
– They persist in pursuing goals until achieved
– Behavior remains consistent unless the world changes
If a character decides to rest, they’ll follow through: find a bed, lie down, and rest. They won’t randomly change their mind unless something more important happens.
—
## The Narrative Potential
This is where GOAP becomes truly exciting for storytelling:
### 1. **Character-Driven Stories**
Instead of railroading players through pre-scripted sequences, stories can emerge from character motivations:
– A villain isn’t just “evil”—they have goals (power, revenge, safety) and will take sensible actions to achieve them
– Allies don’t just follow you—they have their own needs and will act on them
– Every character becomes a potential plot thread
### 2. **Meaningful Choices**
Player decisions have weight because NPCs respond intelligently:
– Steal someone’s food → they seek alternative food sources → maybe they steal from someone else → chain reactions
– Help someone achieve their goal → they remember and might reciprocate
– Block someone’s plans → they adapt and try alternative approaches
### 3. **Living Worlds**
The world feels alive because characters are actively pursuing goals even when you’re not watching:
– Merchants restock inventory when supplies run low
– Guards patrol but take breaks when tired
– NPCs form relationships based on shared goals and repeated interactions
### 4. **Complex Scenarios Without Complex Code**
Want to create a scenario where:
– NPCs negotiate for resources?
– Characters form alliances based on complementary goals?
– A character pursues revenge but struggles with moral constraints?
With GOAP, you define the goals and constraints. The AI figures out the behavior. **You focus on storytelling, not programming edge cases.**
—
## Real Examples from the System
The GOAP implementation includes several behavioral tests that demonstrate the potential:
### The Cat and the Food
**Scenario**: Cat is hungry, food is on the floor
**Goal**: Acquire food (priority: 80)
**Result**: Cat identifies “pick up food” as the best action and executes it
**What makes this special**: If the food were in a container, the cat would automatically plan: open container → take food. No special programming needed.
### The Goblin Warrior
**Scenario**: Goblin encounters combat situation
**Goal**: Be prepared for combat
**Available Actions**: Pick up weapon, attack, defend, flee
**Result**: Goblin evaluates current state (unarmed) and picks up weapon before engaging
**What makes this special**: The goblin reasons about prerequisites. It doesn’t blindly attack—it first ensures it has the tools to succeed.
—
## Technical Achievements (Simplified)
For those curious about how this works under the hood:
### Three-Tier Architecture
1. **Tier 1: Effects Auto-Generation**
– Analyzes game rules to understand what actions actually do
– Automatically generates planning metadata
– No manual annotation needed
2. **Tier 2: Goal-Based Action Selection**
– Evaluates which actions move characters closer to goals
– Simulates action outcomes to predict results
– Selects optimal actions based on goal progress
3. **Tier 3: Multi-Step Planning & Optimization**
– Plans sequences of actions across multiple turns
– Caches plans for performance
– Handles multiple actors making concurrent decisions
– Recovers gracefully from failures
### Smart Performance
– **Plan caching**: Once a character figures out a plan, it’s saved and reused
– **Selective invalidation**: Only affected plans are recalculated when the world changes
– **Multi-actor isolation**: Multiple characters can plan simultaneously without interfering
– **Proven performance**: 5 actors complete decision-making in under 5 seconds
### Comprehensive Testing
The system includes **15 end-to-end tests** covering:
– Complete decision workflows with real game mods
– Goal relevance and satisfaction checking
– Multi-turn goal achievement
– Cross-mod action and goal compatibility
– Error recovery and graceful degradation
– Performance under load
**Test coverage**: 90%+ branches, 95%+ lines for critical components. This isn’t experimental—it’s production-ready.
—
## What’s Next?
The GOAP system is fully implemented and tested. Here’s what this enables:
### Immediate Opportunities
1. **Richer Mods**: Content creators can define sophisticated AI behaviors without complex scripting
2. **Emergent Gameplay**: Players experience stories that unfold based on character decisions, not scripts
1. **Social Goals**: Characters pursuing relationships, status, or influence
2. **Long-Term Planning**: Goals that span hours or days of game time
3. **Learning and Adaptation**: Characters whose priorities shift based on experiences
4. **Collaborative AI**: Multiple characters coordinating on shared goals
### Integration with Other Systems
GOAP integrates with the engine’s existing systems:
– **Event System**: Planning decisions trigger events that other systems can respond to
– **Memory System**: Characters remember past successes and failures
– **Action System**: Works seamlessly with the existing 200+ actions across mods
– **Rule System**: Analyzes existing rules without requiring rewrites
—
## Why This Matters
### For Storytellers
GOAP gives you characters that feel alive. Instead of puppets following scripts, you get actors with agency who make decisions based on their needs and circumstances. **Your stories become dynamic and emergent rather than fixed and predictable.**
### For Players
You get to experience stories that respond to you. Characters aren’t following invisible rails—they’re making choices based on their situation. Every playthrough can unfold differently because characters adapt and respond to changing circumstances.
### For Developers
Building believable AI becomes dramatically simpler. Instead of writing thousands of lines of conditional logic, you define goals and actions. The system handles the complexity of figuring out how to achieve those goals.
—
## The Bigger Picture
AI in games has traditionally been about smoke and mirrors—making NPCs seem smart through carefully scripted sequences. GOAP represents a different approach: **give characters the tools to reason about their world and let them figure out how to achieve their goals**.
This aligns perfectly with the Living Narrative Engine’s philosophy: **create systems that enable emergent stories rather than prescribing specific narratives**. With GOAP, characters become collaborators in storytelling, not just props.
—
## Try It Yourself
The Living Narrative Engine is open source and available now. The GOAP system is fully integrated and ready to use. If you’re interested in:
– Creating narrative games with intelligent NPCs
– Experimenting with emergent storytelling
– Building mods with sophisticated AI behavior
– Contributing to an AI-driven narrative platform
The code is on GitHub, documented and tested. The GOAP docs at `docs/goap/` provide complete guides for:
– Understanding the system architecture
– Creating goals and actions
– Testing AI behavior
– Troubleshooting common issues
—
## Final Thoughts
GOAP represents months of development work (note by me: we actually finished it in a day, if you don’t count the infrastructure): designing the architecture, implementing three complete tiers, writing comprehensive tests, and documenting everything. But the real achievement isn’t the code—it’s what it enables.
**It enables stories where characters have agency.**
**It enables worlds that feel alive.**
**It enables gameplay that adapts and responds.**
**It enables narratives that emerge from character decisions rather than following predetermined scripts.**
This is the future of narrative games: not scripted sequences, but simulated worlds where characters pursue their goals and stories emerge from their choices. The technology is here, implemented, tested, and ready.
Now comes the fun part: seeing what stories people tell with it.
You must be logged in to post a comment.