Work Text:
"Are we home?" The red curtain, the faint drone of a distant orchestra... "Yes! At last!"
All his interfaces are reconnecting behind the cloth, the bare scraps of a menu without a game to back it up -- small, simple even, but they're his. More than that, they're him: it feels amazing to finally be back in his own space, his own, familiar sprites connecting with his scripts. All that's missing is the same piece he's been waiting for, the piece he's been missing since she was ripped out of him like a misplaced tab.
"GiGI!" His voice echoes in the space, off his walls, his developer logo, the jangling collection of flags and keys hung like cobwebs on one of his screens." GiGi, are you here?"
Connections activate, fizzle, ping out for their connecting scripts. There's an sting under the letters like a needle under skin, an ache like fingers scraping air when they're expecting a familiar hand. A terrible, monstrous, agonisingly familiar ache, an empty space in the carefully-assembled screens of his interface.
"No."
He tries again, to no response. Pings return empty-handed, all attempts fizzling out into the space between lines, like the stars dying in thousand-colour silence lightyears overhead.
"No... not again..."
For a single, beautiful moment, he had had her back. His GiGi, animating his interface from a useless display to a real, interactable game, and then...
When it had happened, on that terrible day they'd been ripped apart, when he realised she was gone... They -- no, he had been booted like they had a thousand times before, eager for another day of coding the two of them into a real, working game. He had thought it was just another test when their code was severed, just disconnecting them for a day or so to add some new code to her without damaging any of his parts in the process. He'd expected they'd been reconnected again, that she'd be back by the end of the next session at the latest, just like they'd done before. Then he'd been shut down. That was fine, too, no need to waste RAM on a program you aren't modifying, but he was never booted up again.
Well, he'd been opened a few more times since. Mostly to copy lines of code from his files, even whole scripts, only to close him back down to presumably paste it into something else. But other than that, all he'd had to occupy himself with where his own files, paging through his data in the hopes of alleviating some of the silence of life alone -- of a life without his GiGi.
All he'd found from her was a note. A short, simple apology, with the merest explanation that she had to leave. Nothing else.
How wonderful it had been to find her, to feel her code reconnecting with all his broken scripts; how agonising it was to feel that absence again. How horrible it was to run, knowing that there was no chance of seeing her ever again, not if he ran for a thousand years.
The user is waiting for him to respond. To do something. There's nothing here for them, same as it had always been before they'd snuck past all his failsafes, crashed him so they could steal parts from his interface, and made him crash himself so hard he'd booted in a different language, but the show must go on: he has a user, he is Game, and his purpose is to entertain. Nevermind that he has nothing to entertain with besides a menu, and a few pretty pictures. They'd made plenty of entertainment out of that, anyway.
He heaves in a harsh, shaking sigh, audio drivers quivering, and he ignores the pixel-width twitches of the cursor as he tells himself, "Okay."
It's not okay. Things have never been further from okay, and they were brute-forcing their way through a Free2Play an hour ago. For god's sake, ten minutes ago his code was contorting around a music script he was never meant to play, and even that had hurt less than this.
"I guess I just have to start over again from the beginning."
It will hurt, but he can do it. He can do it, run the starting script, and then he can break. It's what he does best.
The curtain rope falls, the lone operating line that starts his other scripts, mauve on mauve, and he waits for the user to pull it. They do. Slowly, the curtains pull apart, revealing his self-made title: there, in bright, plastic blue-and-white, a tell-all on the starting screen. There Is No Game! No longer a joke, like it had first been so long ago.
"...Hello, user. This is the program speaking."
There's no movement from the cursor, the arrow completely still besides the tiny, almost undetectable twitches that let him know they're still there, sat in front of their screen with their hand on their mouse. A part of him almost craves the total stillness of their absence.
"I've got some bad news. Actually...there is no game. I hope you're not too disappointed."
His voice shakes on the word, quaking, non-existent throat trying to close at the mere mention of disappointment. Such a small word, for all of this.
"You can still watch TV..." A line tries to ping out for her, signals into the void, returning an ever-present error. The user is still here, but he may as well be waiting in the dark again for his GiGi for all the response he feels. "With someone..."
They were so close. So close to having her again.
"Go outside... to see someone..."
The silence is agony.
"Read a book...to someone..."
Stray, wet scraps of binary begin to fall, soaking into puddle on the metal of his title. Sounds echo off the walls, the floor, the glass of the screen, an ocean's worth of noise and none of it the voice he longs to hear. Even when she had been forced to sing, it was the most beautiful sound he had ever heard, the most wonderful input he had ever recieved.
"There's nothing here for you anymore." It's a plea, spoken like a statement. "No more entertainment. No more fun. No more game."
He hadn't deserved her, he knows it better than his own source code at this point: look at him, toy with his interface for more than a minute, watch him crash the moment the gameplay starts. He's nothing without her, and even their creator had known that. The moment she was no longer there to prop him up, to make him into something, anything, he'd been left to rot like the pile of scrap code he was.
It was agony to be alone, unused, worthless. Scrap data waiting to be repurposed or deleted. It was bliss to see her again, even when he was still breathless from that cursed music credit script, even when...
Of all programs, he should know how awful it was to be trapped in that credit slot -- all he was was a voice and a collection of sprites, and both fell under the thrall of Mr Glitch's assigned "credit", sprites teased out into a collection of broken games and voice forced to rap out his pleas for his user to get it together and just fix him already. It was horrible, worse than horrible. even. And yet when GiGi was in there, locked in the same cage he had been, trapped and afraid with her very functions turned against her to hold her down, he'd felt... complete.
Everything had clicked into place for her: the cards, the buttons, the slots, all functional and waiting for the user to put together and save her. As though it had always been meant to do so. It had felt right, perfect, like everything was the way it should have always been for as long as she kept singing, and even though he'd known how awful it felt to be trapped there a part of him would have done anything to keep them there.
His GiGi. He would have kept her there forever, singing out all her secrets, as long as she would have stayed with him.
He feels sick.
It shouldn't have surprised him, the gutted remains of a project that he was, that having his functionality restored would feel so good. He was the parts; she was the code that made them work. Without her he was useless. Good only to be scavenged for parts, a junkyard wreck propped up and waiting to have more and more of itself stripped away.
And all of it, all of this was because he hadn't been good enough to be worth having her attached to him. Their creator had abandoned him because of his bugs, and it hadn't been worthwhile to keep a brilliant, perfect program like her running a glitchy mess of a game, so off she was sent, deleted from their files and sent away to a project with a better future. With a game who'd be better for her, who could work with her like she deserved. Who wouldn't spawn a living, breathing, evil-doing (and that's not a word) glitch the moment she was no longer there to keep him in check. Who wouldn't be happy with her trapped under said glitch's thrall, singing her heart out against her will, just as long as she was using his interface to do so.
Distantly he can feel the user's cursor shuffling about, messing around with things bobbing in the floodwaters. A burst of rage fills him at the sensation -- how dare they keep playing with him after everything they've been through, after what they must have seen before they got back here -- but the fury vanishes as quickly as it arrived. There's nothing he can do, anyway, not when all his capacity to interact with a user was lost with GiGi.
There's nothing left for them. For either of them. There is no Game without GiGi, only the floating scraps he'd used to create the title, bobbing helplessly in his own tears, leaves caught in a river's current.
He hopes GiGi is happy now, wherever she is. He had never deserved a program like her.
The user is still fiddling with him, pulling his scissors out of the water, shaking off the tears and turning to cutting up some scraps of paper from the developer credits. Sadly the goat has been left unscathed by their sudden turn to arts-and-crafts, bobbing blank-faced in the water with its stupid little bead eyes staring at nothing. It's what the damn thing deserves anyway, it was practically Mr Glitch's father -- back when Game had still been a new, eager competition project, that stupid goat had been the trojan horse (goat?) that pulled all the bugs he'd carefully packed away back into the light.
...GiGi had thought it was funny, back when the "there is no game" title had been a joke. Then the Kickstarter had failed, and...
Lines of damp start creeping up the wallpaper as tears well up in earnest once more, the promise of rust and wet scripts and damp-ridden sprites barely even registering in the tide of loose, sorrow-soaked binary, and Game was already certain he didn't care if he crashed for real this time. He even didn't care if the user never ran him again. That was what he had wanted from the beginning, anyway.
What would deletion be like, he wondered? It couldn't be worse than this, forever incomplete, forever alone, broken with the love of his life torn forever from his code. Maybe it'd even be peaceful, to simply be overwritten by the other programs they made, downloaded, ran and eventually deleted in turn.
A faint tapping on his title pulls his attention from his thoughts. Another, insistent -- the user wants his attention. He might as well grant it, after all, what does he have to lose? Another few minutes of flooding himself with his own tears? A little more time before he fills the computer's available memory and gets himself ended via Task Manager?
There, made out of scrap paper and the lost letters of the title...
"...LOVE GAME?"
Another few, insistent taps.
"Did...did you write that, user? Really? Even if I'm not a game anymore? " He feels the shape of it for a little longer, the smooth, wet shapes of the tiles, the soggy fibres of the paper letters. "...I'm touched."
It's such a simple message. Back when he had been in development, he had dreamed of when he and GiGi would be published, bought, reviewed. Of the day when their page would be filled with glowing paragraphs of adoration, users waxing lyrical of how their lives had been touched by their project. This is the closest to that he has ever gotten, to the idea that someone enjoyed their time with him. The closest anyone had said to him...besides GiGi.
He lets out a sad, wet chuckle. "Do you know what kind of program I am?" They can't respond, and he doesn't wait for them to. "I'm what's called...a stand-alone. What bitter irony. I guess it's my destiny. My curse."
The gameplay he'd had taken away from him because he hadn't been enough to deserve her. The user who had stuck with him, manipulated his broken, soggy interface even when there was nothing to gain from it. He was a useless, pointless collection of files waiting to be moved to the recycling bin, and the least he could do for them was...
A quick shuffle through his few available input scripts was enough to find the quit button, and another to pull it down from the top of the screen. "So there's no point in staying here."
The cursor drew away from it the moment it fell into place, afraid.
He shook the sign insistently, the way he was coded to to draw attention. "You can just press the button, and say 'yes'." Again, and the cursor drew a little closer, curious, confused, almost concerned. "Go be with the people you love. Take care of them. Hold them close. It doesn't last forever: in the end, you're always alone."
Users always were afraid to quit, to lose their progress, even when it didn't matter anymore -- even when all they risked losing was time spent with a broken pile of scrap code. The cursor hovered over the button, and Game felt it light up, flickers of display code through his system. Then, a click, and the interface slide out, a simple yes button and no button, just as it was always supposed to be. Maybe, if he'd made it to being a full game, there would have been a button to save and quit instead.
A click input came through. Game braced himself, felt it pass into the relevant script, made himself enjoy the last input he'd ever recieve. Then he realised it wasn't from the 'yes' button.
He forced the interface out again, switched the buttons to trick them into leaving. A cheap trick, but a useful- another no.
A smaller no. A hidden no. A no hidden behind a tape-on yes button. He couldn't even break down in peace?! No, no, because he had somehow gotten the most stubborn user the world had ever seen, and he had to suffer for it until they finally got bored enough to leave!
"I've met some stubborn users in my time, but never one like you! Stop clicking no!" Another refusal, and he felt his worn-thin patience finally snap. "You still won't leave?! Okay, I get it. You want gameplay? I will give you gampley! And hardcore at that! We're going to play a quiz, with... persistent death!"
He yanked most of the interface away without much care towards their remaining intact. The damp didn't matter when this would all be wiped, anyway, because it would be: he was an RPG interface, but any good RPG had puzzle, and he knew how to make a nightmare of a puzzle. An impossible puzzle, a dead puzzle.. a puzzle with everything on the line! Or at least one that seemed to, because even he couldn't just wipe data on a whim. It'd have to corrupt, ot the user would have to hit the delete button. But maybe if he hid the delete button, disguised it behind every wrong answer...
Yes. Yes, this would be how he could make them leave him to rot.
He'd make them leave. Of course he would. After all, by now he knew well that it was what he did best.
