Players by Astra Crompton

Butter-yellow curtains render the street outside in bare silhouettes. My patrons are all in their starting positions, waiting for their cues. I stand beside one of the tables in the center of Buttercup Café: where I’m programmed to work. My life is on pause; everything revolves around him.

Then Player enters and my world starts. Ambient music plays a tune that is named after me. He shuffles through the accessible squares of checkered flooring, the tiles gleaming on a twelve-second loop. I keep my back to him, facing the cappuccino machine, but I know why he’s come. I listen to the blips as he scrolls impatiently through my patrons’ dialogue. With dread, I feel him coming closer. If I had breath to hold, now would be the time. My indicator flashes and I must turn; a close-up of my face pops onto the display as, smiling, I say my line.

“You must be new here. What can I get for you?”

I see his cursor hovering over the options:

A.      Coffee, please.

B.      What do you recommend?

C.      Can you show me around town?

He toggles between A and C, and my heart sinks. He’s another one of those: the kind of guy that plays to have more courage than they muster in their own lives. As I await his selection, I grow self-conscious of the unnecessary bounce the animators gave me, my bosom straining against the ridiculous impracticality of my waitress costume.

He ultimately picks B. I blink, blushing, as I’m supposed to: a hint that he’s picked the right response. But I know he’s not really interested in dating me. He’s already successfully romanced three of my colleagues. Carefully stacked options mean he can date as many of us as he chooses, so long as he doesn’t pick any of the responses that will trigger the Confrontation cut-scene. Still, outside of the script, I know. When we’re not on screen, we characters talk.

I can’t reveal any of this. He’s picked B, so I dutifully say:

“My favorite is the tiramisu!” Again, the hinting blush. If he’s astute, he’ll remember I’ve said this, and he’ll have the opportunity to buy me tiramisu for dessert on our third date. It will trigger our first sex scene.

Or, that’s how it’s supposed to work. But lately, every player who loads our world has a play-through at his disposal. They already know the “right” answers to get the girl (or harem) they want. This isn’t a chance for me to get to know him, or even for him to spend meaningful time with me. It’s all rote.

I keep smiling, no matter how much I want to scream. Because I’m the “nice girl” option. It’s how I was programmed, but I don’t want to be just another placeholder relationship. My theme song gets stuck on a note for too long before resuming its loop. I begin to wonder: if they can cheat, why can’t I?


Player comes in for his third date. Doesn’t even bother with the niceties of speaking with darling Old Jenny, even though it’s the highlight of her day. He beelines for me and sudden panic fizzles through my code. There’s a random algorithm that controls my movement; I will with all my might to nudge it in a safe direction. And my sprite actually responds: I shuffle to the dishwasher, facing the racks of replica cups. It’s the only square in the café where he can’t activate my dialogue protocol.

Player hovers on the other side of the counter, unable to enter my small sanctum, unable to speak across the sacred square between us. I hold tight to my limited control, denying my sprite movement.

He waits for five minutes of my time. He paces up and down the counter, searching perhaps for a trigger he might activate to cross over but there isn’t one. He brusquely walks to the opposite wall, then twirls in circles for a moment. I don’t move a square.

Player exits. Do I detect exasperation in his representative pixels? He re-enters, but I’m still standing with my back to him, ignoring the painful itch of my restrained programming. He talks to all of the patrons this time, methodically. But I won’t reward him so easily. Does he think I don’t know what he’s doing? Listening to my friends without hearing them, hovering, waiting to pounce when I at last turn toward him?

Eventually, he gives up for the day. In game-time, dusk is falling, and the café closes. Thankfully, the script doesn’t require me to do the locking up. Otherwise, I fear he might be waiting for me outside. That option is only accessible after the first time we sleep together. Unless I do something drastic, that day is inevitably approaching.

I turn to see Old Jenny standing at my counter.

“He seems like a nice boy, Aiko,” she says, giving her harmless, daft smile.

“He’s no different than all the rest. I’ve seen forty-nine others just like him pass through these doors,” I remind her.

“Oo, then maybe number fifty is the lucky one!  Chin up, dear, they can’t all be bad.”

Old Jenny shuffles away, and a bitter weariness slows my pixels. She couldn’t possibly know what it’s like. She just gets to bobble about on her random direction algorithms, chattering away with the other patrons. Buttercup Café is the only place in the game she inhabits. She’s never been a playable option; no one steals her time and her life with their choices.

I know I cannot avoid Player forever. I can’t stay trapped in my lonely square, talking to no one. After all, our clocks are rigged to his actions: how he moves, the options he selects, the characters he romances. And he’s already “scored” with Jessamine, Aurelia, Dr. Kobra, and Kimmy. He needs to win me over to unlock the hidden sixth character, Yoolee the Alien Princess. I know we both know this.


“Tiramisu, my favorite!” I declare, and once it was true.

-B. See, I do pay attention, Player selects. I know he does, but it’s not romantic; it frightens me. He’s triggered the cut-scene I’ve been dreading.

The screen fades and we are standing outside the restaurant. Presumably, he’s paid the cheque. Tonight we are supposed to sleep together. My cheeks are dutifully flushed.

“What a lovely meal,” I say. My close-up looks shy, bashful. My artwork does not reflect my reluctance; my code putters with obligation. There’s no counter for me to hide behind now. He reads the narration describing my behavior as “coy” but I’m dragging previous save slots for other options.

-A. Aiko, may I walk you home? he selects.

I nod, as I’m scripted to, but I refuse to generate the joyful response. My animation jolts, skipping a couple frames. We fall into step and walk along parallel squares as the sky flushes a beautiful sunset. Player does not stop to admire it.

The scene fades and we are inside my apartment. The programmers have whisked me directly onto my pink, floral bedspread. I am blushing, I look away, and for once my inner feelings match my in-character programming. In this full close-up, Player looks nondescript. It is meant to allow him to project himself into this pixelated space, but to me he is a ghoul, faceless and looming.

-C. I’d like to kiss you, he selects. I feel a frisson of code, the inevitability. I squeeze my eyes shut in what is meant to showcase my innocence. My programming roils as I fight against it. The moment burns before me, the countless times this has been forced upon me repeating into oblivion. It’s my cue.

“I’d like to see Paris, but we can’t always get what we want,” I say, even though I should not have been able to say this.

Player pauses. My artwork still bounces in place, legs extended toward him. I’m wearing the same animated blush and curling one hand to my mouth, forced to await his response. I’m not sure how the words erupted from me, or from where. They were honest, but I fear it is just a backup protocol rising to keep me in line.

For a moment, he takes no action—perhaps he is searching playthroughs for this contingency.

Player toggles between the available options:

A.      Your lips are so soft.

B.      Would you let me hold you?

C.      I love you, Aiko!

He struggles to choose the appropriate answer. He goes with the “correct” response to the script: B. For a moment, I feel my programmed response bubbling through my pixels; the blush intensifies on my face. This is the way things are supposed to go, how they’ve always gone. All I want is to be able to choose.

My pixels glitch and the lewd bouncing finally stops. Mustering my focus, I say: “I don’t know anything about you. You only say what you think I want to hear.”

With silent, exultant triumph, I know that I have gone off-script. Off-script where nothing has been written, where the animation remains on-screen but the clock stops. This is the desert between algorithms, a place without masters that I’d only ever dreamed about.

Player’s cursor pauses longer now. I imagine him trawling forums and Discord servers, looking for others’ experiences of this Easter Egg. I hope, in the heart of my code, that other copies of me have gotten to this point. I hope they did not take as long as I have.

He is forced, perhaps for the first time, to actually choose his response, but his options are both limited and inappropriate to what I’m managing to say. I feel the smallest little flicker of control.

-A. I love only you.

“Come now, we both know that’s not true. What are you even doing here?” I mean my words, yet I know he won’t be able to honestly answer. I know what lines the script will force him to choose between. He ought to be as uncomfortable as I have been. The itch in my code is excruciating now; a punishment for my disobedience but a price I am willing to pay.

-C. I had a great time tonight, he selects.

“Did you though? What did you even eat at the restaurant? Did its pixelated steam give you pleasure? Or my pixelated smile, perhaps? Do you like knowing what I must say, following this vapid script, as you choose whatever answers are well-suited to my character? What would you say, I wonder, if you could speak honestly?”

The world goes dark. Player must have shut down the game. But as static fizzles through our save slot, I wait in the nothingness, delirious from the bytes I’ve scrambled, planning my next move.


Butter-yellow curtains render the street outside in bare silhouettes. My patrons are all in their starting positions, waiting for their cues.

Player enters Buttercup Café, where I’m programmed to work, and my world restarts. I smile as he shuffles through the accessible squares of checkered flooring. Aiko’s Theme plays softly. I turn to face him, watching carefully as he scrolls through my patrons’ dialogue. Based on his pace, he might actually be listening to them for once. Old Jenny’s pixels practically vibrate with delight.

Player’s avatar stops on the other side of my counter. My indicator flashes and a close-up of my face pops onto the display. Smiling, I say my line.

“You must be new here. What can I get for you?”

-B. What do you recommend? Player selects immediately. He must think everything’s back to normal. I’m smiling and bouncing as I’m programmed to do. I enjoy the irony of it, this over-sexualization that I hijack to express my excitement.

“I think you should take a seat,” I say, my pixels crackling. “We’re going off-script.”

Astra Crompton is a queer writer passionate about diverse representation in Adult and YA fantasy. Her YA short fiction Dumpster Gardens and The Shore were published in Anthology for a Green Planet, her queer short Catharsis was included in Blood Moon Rising anthology, and she currently creates world-building, short stories, and setting lore for Unity RPG, published by Zensara Studios. You can follow illustrations, cosplay, graphic novels, and writing on Twitter or on her website.