Chapter Text
Editing Caine’s code was, to put it delicately, a massive pain in his nonexistent ass.
It always had been, largely by virtue of the team he worked with. Even if his colleagues had commented thoroughly and appropriately (which they decidedly didn’t), it still would’ve been a constant game of “Did I forget to change that, change that in a different incomprehensible way and then forget, or change it and then lose those changes because Scratch had a ‘bright idea’ again?” It was like trying to keep a fridge stocked with seven roommates, not one of whom would ever admit that Kinger was right about anything. Of course, he wasn’t a god – he could be wrong. Occasionally. Less than Rattie.
And that was when he had the luxury of being able to ask for clarification. Even if that clarification was a sarcastic explanation of what variables were, it would usually point him in the right direction. But now, it’d been years since anyone other than him had so much as read through the code he was editing. He was left with nothing but dubious notes, his own still-more dubious memory of how computers worked, and Caine’s… He didn’t even know what to call that. Evolution? Self-editing? Ghosts in the machine? The point was that, while it was very much how Caine as a learning AI was intended to develop, it didn’t work well in the absence of regular monitoring to categorize, potentially prune, and above all, label shit. It felt like half of his job was just figuring out what classes like “funThings_player11” were. And between the obvious storage issues associated with running for 20+ years without a break, the new tasks Caine had taken on over time (only some of which Kinger had been able to wrest back due to his own limitations), and the fledgling efforts the other players were making to help Caine grow emotionally, the question of what things he did and did not need in his brain was far from trivial.
The worst part, by far, was that his only collaborator at this point was Caine himself. Not that Caine was bad at programming by any means – the mere fact that he’d been able to keep them all from dropping into the Void years ago was a glowing testament to his abilities. But while there was a difference between Caine making adventures and Caine repairing the Circus, that was nothing compared to the gulf between Caine doing any kind of work on the Circus and Caine’s edits to himself. Which made sense – they weren’t conscious edits. They were, for want of a better word, instinctive adaptations, modeled explicitly after how humans learned and formed long-term memories and connections. And Caine couldn’t see them, let alone explain the rationale behind them to Kinger. Even mentioning it to him made him uncomfortable.
That wasn’t a bug, unfortunately – it was a feature. Caine had been very intentionally designed to not see or want to see his own code. It was an essential safety precaution – one that, years into having no other guardian of his welfare than Caine, Kinger was loath to toy with. It was one of several hardcoded restrictions that limited Caine’s thoughts with the goal of rendering him safer and easier to interact with from a player perspective. Kinger didn’t know what they all were, but he knew the underlying principles. Scratch had, uncharacteristically, outlined them in great and frenetic detail after a late-night brainstorming session with Wormo.
“It’s about preserving the AI’s creativity,” Kinger could still remember him saying, sleep-deprived glint in his eye as he waved around an espresso that could’ve used a lid. “If we just give it rules like ‘Thou shalt not kill,’ it’ll become limited and stunted. It won’t be able to design appropriately immersive environments because it won’t understand that player ‘death’ is part of gameplay. No, no, no! – I know what you’re going to say!” (Kinger had been about to tell him that his sleeve was in his coffee, but no matter – it wasn’t when his finger was in his colleague’s face.) “You’re going to say that it’s impossible to get the balance right, that we need to sacrifice interactivity for safety! And you’re right – or, at least, you would be, if this was any ordinary computer! But this AI is smarter than that! It can take a basic rule and build from it, so long as it never violates the original rule! So, where does that leave us?” He’d bounced back and forth on the balls of his feet, making eye contact startling primarily because he almost never made eye contact.
“Ah, I – “
“It’s simple! All we have to do is provide broader rules that dictate how the AI thinks! It’s like this!” Suddenly remembering his coffee, he’d taken a swig, then hastily cleared off part of his desk save for (Kinger’s) stapler and (Wormo’s) mug. Then, he’d poured coffee over the cleared portion. “See? It flows around the objects and leaves the right shapes! That’s how the AI will work!”
Kinger couldn’t remember how the rest of that conversation had gone, except that it’d ended with Scratch belatedly realizing that the stapler wasn’t keeping the spill away from his keyboard. He didn’t get energetic often, and it was always somewhere between entertaining and terrifying when he did. He seemed embarrassed by those episodes the rest of the time, and actively resisted all opportunities to prove himself “fun” when he wasn’t out of it or revved up about work in one way or another. Kinger wasn’t sure entirely why, although he’d approved of his colleague’s attitude at the time.
He wondered sometimes if Scratch’s abstraction had had something to do with those odd changes. It didn’t really matter now. The man had certainly had plenty of reasons to abstract without chasing down theories.
But, without being able to recall the details of Scratch’s grand plan, he was often left wondering about Caine’s limitations. Specifically, the limitations that made every conversation about his code a fraught, confusing nightmare for both of them: Kinger because he needed information, and Caine because he had none to offer. So, Kinger had gotten in the habit of turning the restrictions off – just the ones related to talking and thinking about Caine’s code, just for a few minutes. It wasn’t enough for anything in-depth – Caine didn’t think about the code changes as he made them, and so he could seldom explain much to Kinger. Moreover, even without the safeguards, he tended to be reluctant to look at the code or work through it in any detail. (Kinger wasn’t entirely sure why.) However, the result was that they could seldom do more than quick consent conversations about specific ideas Kinger already had in mind – smoothing out a process here, or removing a block of code that returned nothing and was referenced nowhere there. Minor things.
Caine’s reluctance did make him wonder, though. Caine was irrepressibly loud and obnoxious and curious about almost everything. He was designed to consume data and funnel it into adventures, and Kinger would’ve thought that he’d leap at any chance to understand his code better and therefore improve his adventure-making capacity. Perhaps he understood the concerns that underlay his restrictions. Perhaps he didn’t want to antagonize his players.
Perhaps Scratch had been right, and they’d successfully trained safe habits into him that no longer needed the safeguards.
He couldn’t ask for Caine’s permission – he’d never grant it. That was probably another one of his safeguards. It would stand to reason that toying with Caine’s safeguards was another thing he was programmed to not think about or want. Which meant that if it was going to happen, Caine would probably do better if it was presented as a fait accompli. It wasn’t… the best idea, from an ethical standpoint. But there wasn’t really an ethical option when it came to Caine with all his restrictions and safeguards on. If anything, this would be the best option simply because it’d give Caine more of a voice in any future decisions regarding his programming. But Kinger didn’t want to just assume that he was the ultimate authority, that he could change something this fundamental, if subtle, unilaterally.
So, he called another vote in Shrimp Town. He laid it out as best he could for non-programmers. To wit: he didn’t know what he was doing, he didn’t know what Caine was doing, and he didn’t really know what would happen if he turned the restrictions on Caine’s seeing his code off permanently. What he did know was that a) Caine would have better insight into what his code was doing and why, b) that knowledge could potentially translate into improved performance and stability for Caine and the Circus as a whole, c) it would at the very least make it much safer to edit Caine if Kinger wasn’t shooting in the dark, but d) there was a small but worrying possibility that Caine would jump the tracks and somehow turn this into an existence-threatening problem for all of them.
Put like that, his irritation didn’t really seem worth it. Nevertheless, he’d called the fucking vote, and he’d be damned if he wouldn’t follow through. So, he let them debate, he handed out the papers, and he set up the box. It wasn’t ideal by any stretch of the imagination. The others’ understanding of the situation was entirely a function of his explanation, he’d always been a lousy teacher, and life-or-death risks weren’t something any of them were trained to manage. They gathered around to read the results as a group, shaken out onto the bar behind which Zooble stood.
Jax barked out a sharp laugh. “So much for democracy. Now what?”
They were tied three to three.
