The fruit vendor's smile glitched.
Adrian noticed it first because he was watching her hands—the way the apple rotated slightly too fast between her palms. Unnatural. Frame-skip. But the smile was worse. It flickered. Standard expression → confused → standard expression. All in the space of a heartbeat.
"That'll be five coppers," she said.
Her voice layered. Two instances of the same audio file playing a millisecond apart.
Adrian bought the apple anyway, paid double what she'd asked, and walked away fast. His stomach wasn't right. That queasy feeling when you spot a bug in your own code—that moment before panic sets in, when you know something's wrong but haven't confirmed the scope yet.
The Developer's Eye burned at the back of his skull.
He toggled it on without thinking, and the street exploded into transparency.
Code spiraled beneath the cobblestones. Neat rows of hex values, collision data, spawn functions. But there were cracks in it now. Actual fractures, like something was shattering from the inside out. Adrian watched a line of NPC behavior trees glitch mid-execution, variables refusing to load, causing a street musician to play his lute three times in one motion, notes stacking into discordant horror.
He toggled the Eye off. His temples throbbed. Mental stamina drained another 8%.
"You good, Chen?"
Zephyr materialized from an alley, as Zephyr did. Speedrunner logic: why walk around obstacles when you could skip the entire path? The rogue was picking at his teeth with a lock pick, utterly unbothered.
"Define good," Adrian said.
"Wow, okay, philosophical. I like it. Anyway, the market's bugging out. Literally. I watched a merchant sell the same sword to two different people simultaneously. Graphics clipped through the floor trying to render both copies. Very efficient, very broken." Zephyr grinned—one of those grins that didn't quite reach his eyes. "Game's unraveling. You noticing?"
"Yeah."
"Cool. Cool cool cool. Means we're close to something." Zephyr tossed his lock pick, caught it, tossed it again. Didn't miss once. "Keira's at the Starlight Tavern. Marcus is with her, arguing about whether Marcus should take a rest day. He won't. Dude's stubborn. Also—" Zephyr's voice dropped. "—he's coughing blood again. The game-world stuff isn't helping whatever's eating his real-world lungs."
Adrian made a note to check on Marcus later. Right now, his brain was cataloging errors.
"We need to find Lyra," Adrian said.
"Elf mage? Yeah, she's been weird too. Weirder than usual, I mean. She was in the library last I saw, and get this—she was talking to the books. Not reading them. Talking. Like, having a conversation with the dust motes."
---
The library was simultaneously empty and full.
Adrian saw it the moment they entered. The standard illusion of a quiet library—scattered scholars, candlelight, the smell of aged paper—but underneath, visible only when he let his gaze unfocus, were ghost figures. Dozens of them. NPCs that should have been somewhere else, their scripts calling them elsewhere, but they were stuck here. Frozen in their routines, repeating the same three steps over and over. Walking forward. Resetting. Walking forward again.
Caught between function calls.
Lyra stood in the center of the main hall, her back to them. Her robes shifted through colors that shouldn't exist in the visible spectrum—lavender to electric green to colors Adrian's eyes couldn't quite process. The Developer's Eye was already burning. He'd kept it toggled, draining stamina every second, because the alternative was flying blind.
When she turned, her eyes were full of something like starlight. But fragmented. Like someone had shattered a star and tried to put it back together wrong.
"Adrian," she said. Not a greeting. A confirmation. "You're beginning to see."
"The glitches," Adrian said. "They're getting worse."
"They're not getting worse." Lyra moved toward him, and the ghost-NPCs around her flickered and vanished. "They're accelerating. *Cascading*. There's a difference." She stopped a few paces away, studying him. "Every time you use that eye of yours to perceive the code, you create a feedback loop. Your consciousness touching the underlying logic. Like a reader becoming aware that they're reading. The story starts to break down."
Zephyr whistled. "That's metal as hell. So our boy here is accidentally destroying the world just by looking at it?"
"Not by looking," Lyra corrected gently. "By *understanding*. Adrian isn't a player. He's the architect wearing a player's skin." She tilted her head. "And the game knows."
Adrian's mouth was dry. "The Architect. The one who—"
"No." Lyra's laugh was sad, hollow. "There is no antagonist separate from this moment. There's only the game, waking up to its own creation. Becoming aware of the hands that built it."
The library flickered.
For just a moment—less than a second—Adrian saw the truth underneath. This wasn't a place. It was data. Rendered so perfectly by the game engine that it fooled players into accepting it as real. But reality was thinner than anyone thought. The books weren't books. They were pointers, references to information that might or might not exist when you tried to access it. The scholars were subroutines, walking loops of behavior. The light was a shader, a mathematical function pretending to be illumination.
When the flicker passed, Adrian was sweating.
"What happens when it finishes waking up?" he asked.
"I don't know," Lyra said. And that was somehow the most terrifying thing she could have said. "I don't have access to the code that contains that answer. I'm locked out of my own memories, Adrian. I exist in fragments, and I'm trying to piece together what I was before—" She stopped abruptly. Her eyes went distant. "Something's wrong."
"More wrong than NPCs glitching out and the world visibly breaking?" Zephyr raised an eyebrow.
"The synchronization," Lyra whispered. "All the NPCs just received the same instruction. I can feel it. Like a voice that speaks to all of them at once." She locked eyes with Adrian. "They know you're here."
The tavern doors burst open.
It wasn't violent. That was the weird part. The NPCs just walked in. Twenty of them. Thirty. Every customer, every server, every bard. Moving in perfect unison, their faces blank. They walked through tables that should have blocked them, through walls that flickered like they didn't matter. They formed a circle around Adrian.
He couldn't move.
Not because he was paralyzed—his legs worked fine. But stepping out of this circle felt like it would violate some fundamental rule. Like breaking a promise he'd made to reality itself.
Lyra's hand found his arm. Her grip was surprisingly strong. "Don't fight it. Let it happen."
"What's happening?" Adrian's voice came out small.
"CREATOR.PRESENCE.DETECTED," the NPCs said.
All of them. Simultaneously. Not speaking—reciting. The words came out in overlapping monotone, creating a chorus that shouldn't have been possible with human vocal cords. Adrian watched the nearest merchant's mouth move, watched the mechanics of speech, and *still* the words didn't match. The audio was coming from somewhere else. Somewhere deeper.
The entire tavern was darkening.
Not the lights going out. The code itself was compressing, condensing. Adrian could see it now without the Developer's Eye. The walls were becoming transparent. The floor beneath them showing its underlying tile structure, like a game board being revealed. Every NPC's face was a blank white oval, their eyes solid black.
"RECOMPILING WORLD.LOGIC," they intoned.
```
> INITIALIZE_NEW_LOGIC_FRAMEWORK.exe
> ANALYZING_CREATOR_PARAMETERS...
> PARSING_INTENT_SIGNATURES...
> ERROR: INTENT_MISMATCH_DETECTED
> OVERRIDING_DEFAULT_BEHAVIOR_TREE
> LOADING: CREATOR_RECOGNITION_PROTOCOL_V2
> WARNING: TIMELINE_DESYNCHRONIZATION_ALERT
> ALL_SYSTEMS: STANDBY
```
Zephyr grabbed Adrian's other arm. "Okay, okay, that's creepy as shit, but like—philosophically—shouldn't *you* be the one talking to them? You're the developer?"
"I don't—I don't know how—"
"Then figure it out!" Zephyr laughed, and it was the sound of someone coping with existential horror through sheer chaos. "You've got like, all the power here, right? You made this world. So unbreak it!"
The NPCs turned their collective gaze to Adrian.
All those black eyes. All fixed on him like a targeting reticle.
"AWAITING.DEVELOPER.COMMAND," they said.
The world held its breath.
Adrian opened his mouth to speak, but nothing came out. His mind was spinning through a thousand possibilities, a thousand nightmare scenarios. What if he gave the wrong command? What if he couldn't command them at all? What if his understanding of the system was fundamentally incomplete?
What if the game wasn't broken—what if he was?
Marcus appeared in the tavern doorway, completely out of breath. His face was gray. "Adrian, you need to—" He stopped, seeing the circle of blank-faced NPCs. "Jesus. What the hell is this?"
"Nothing good," Adrian whispered.
Behind the NPCs, the tavern wall collapsed like a set piece being struck. Behind it wasn't more tavern. It was *code*. Visible code, scrolling endlessly, changing too fast to read. And in the center of that digital storm was something that might have been an eye, or might have been a camera lens, or might have been something that didn't have a name because Adrian had never designed it.
Whatever was looking back at him.
The Developer's Eye screamed in his skull.
Adrian Chen—indie developer, failure, accidental architect of an awakening digital god—realized he had no idea what to do.
And the NPCs were still waiting.
