Actions

Work Header

Signal

Summary:

Kim Dokja tested virtual reality for strength, finding flaws in digital worlds. One day, reality failed, and the flaw found him.
Yoo Joonghyuk should have disappeared, as the script demanded. Instead, he stayed. And now his gaze, full of silent questions and someone else's pain, is the only thing that seems real in this world of illusions.
Sometimes one touch erases the line between the program and life. And the price of an error is no longer a reboot, but something more.

Notes:

English is not my native language

Chapter Text

The glass doors slid open with a soft rustle, letting the tall man into a spacious, sterile-smelling room. The silence was broken only by his shuffling, measured steps.
- Kim Dokja, confirm that you have signed the safety briefing and listened to the message, - the mechanical voice said emotionlessly. The phrase was repeated several times, and then fell silent, leaving a short static in the headphones.

Almost immediately, it was replaced by the voice of an unnamed colleague - he habitually read out the list of tasks for today's test. Dokja tried to abstract himself from the monotonous muttering, but irritation was building up: it was as if the system doubted his ability to cope with elementary points.

However, there is nothing surprising here. This task was originally intended for Yu San. She, responsive and bright, enjoyed the respect and sympathy of colleagues. But today she fell ill, and he was called in to replace her. Kim Dokja didn't mind being the "invisible man" - he was used to it and rarely complained. But sometimes the excessive distrust that came from those around him got to him more than he wanted to admit.

Exhaling slowly, he touched the sensor on his earpiece, and his colleague's annoying voice instantly stopped. The silence fell with an almost physical relief, as if someone had lifted an invisible weight from his shoulders.

Kim Dokja slowly moved towards the device in the center of the room. At first glance, it looked like a massive chair with smooth metal armrests, but wires and fasteners stuck out of every detail, and indicator lights flickered along the back. The seat belt closed around his waist with a barely perceptible click - an unnecessary measure, it would seem, but the rules demanded obedience.

The device came to life. A tremor passed under his feet, and mechanical grips gently lowered a heavy helmet onto his head. A thick darkness spread before his eyes, viscous and bottomless.

Against this darkness, the first light symbols suddenly appeared. A white circle, then another one — the lines floated in the void, forming a loading spiral. It seemed that they were not just rotating, but drawing his consciousness into themselves. His heart accelerated; Kim Dokja caught himself not breathing. He blinked — and the spiral scattered into sparks.

In its place, an interface appeared: dry lines of code flowed down like a rain of numbers.

"Session #74. Game module: Prototype Shooter. Supplement: autonomous artificial intelligence activated."

Dokja frowned.

"Autonomous?.." he muttered quietly.

That was not in the instructions.

The world formed with a jerk. He stood on the roof of a dilapidated skyscraper, neon flickering in the cracks of concrete slabs and explosions thundering in the distance. In his hand was a standard test pistol, another item on the list that was too mundane to inspire confidence.

The game was a classic shooter: endless waves of enemies, the need to survive in chaos, gradually upgrading weapons and skills, moving deeper into the city devoured by war.

A translucent system window popped up before Kim Dokja's eyes. He quickly scrolled through the boring text with safety reminders and stopped at the "Suspected Bugs" section. This was exactly why he was sent here: to check if the bugs matched the reports of other testers.

Dokja could slightly interfere with the code - fix an enemy stuck in textures, return an object that fell through the map, or smooth out a buggy surface. But serious failures, where the code literally tore itself apart, had to be recorded and passed on to the research team.

At first, everything went as usual. The screen shook from explosions, machine gun fire thundered in the speakers, and the air of the night metropolis was filled with cacophony - sirens, crackling electricity, the rumble of distant avalanches. All this mixed into a dense wall of sounds that he had become accustomed to over the years of testing.

But suddenly, something else cut through this chaos.

Clear steps. Even, heavy, confident.

Dokja tensed. This did not resemble either a scripted sound or a standard pattern of enemy appearances. Enemies in the game always rushed from their place, screamed, ran. These steps were unhurried, verified, as if they belonged to a person who knew that he was coming specifically for him.

His heart lost its rhythm for a moment.

Dokja tensed, his fingers tightened their grip on the weapon. The steps were getting closer. He turned his head and his breath came out in a relieved exhalation.
A tall man in dark armor emerged from the clouds of smoke. The interface above him immediately displayed something familiar:

[NPC Unit: Yoo Joonghyuk— Training Mentor].

Dokja recognized him immediately. According to the script, this character was supposed to greet players, introduce them to the basic mechanics, explain the controls and the first tactics of survival. He was something like an "older comrade" who could be relied on at the beginning until the player got the hang of it.

Dokja relaxed his shoulders slightly. Everything was going according to plan. This NPC was the first and most predictable in the game. Training with him was always simple and linear: short lines, a demonstration of a couple of techniques, a small skirmish with enemies.

"Recruit," Yoo Joonghyuk said hoarsely, stopping in front of him. "The first rule of survival: don't stand still. Move. Always move."

Dokja chuckled slightly. The same phrase he had seen dozens of times in the reports. The script was running perfectly.

He allowed himself to exhale and lowered his weapon. So far, everything looked completely normal.

They walked a few steps along the narrow roof of a half-ruined skyscraper. Neon signs sparkled in the distance, transformers crackled, grenades exploded somewhere below. The city hummed like a huge beast dying in its own ruins.

Yu Junhyuk walked next to him, showing him how to change the magazine and check the viewing angle. His voice sounded muffled, as if from under a heavy mask, and his movements were too polished, automatic. Everything was going according to the script, and Dokja, mechanically recording what was happening, was already preparing to mark another "no deviations".

But the tester's habit prevailed. He always checked the NPCs for little things: whether they reacted to contact, whether the hitbox was written correctly, whether the animation was lagging.

“We’ll check,” he muttered, more to himself than to anyone else.

Dokja reached out and touched his mentor’s shoulder.

And at that very moment, something trembled.

Not in the animation, but in the air itself.

The sensor transmitted warmth. The muscles under his fingers responded — hard, tense, like those of a real person. And for a split second, Yu Junhyuk’s gaze, previously empty and predictable, flashed with a strange, living light.

Failures flashed in the system window. A short inscription ran through the lines of code:

[User link established].

Dokja reflexively pulled his hand back, and the failure disappeared, as if it had never been there. But a slight dizziness and a strange feeling of “another presence” remained.

Yu Junhyuk slowly straightened up. For a second he seemed to hesitate, and then spoke again in a smooth, scripted voice:

- Move from cover to cover. Never stand in the open.

The scenario continued as if nothing had happened.

But Dokja could no longer shake the thought that for a brief moment the NPC had looked directly at him. Not like a program at a player, but like a person at a person.
He wrote down a dry remark in his notebook: Possible non-standard response to tactile contact. Check again.

And inside, for the first time, he felt something alarming: as if someone had left a foreign mark in his own code.

Then everything went according to the scenario.

There was a dull roar. An orange flash cut through the sky, and an armored figure of an enemy fell onto the roof - the first boss. Dokja knew that at that moment the player's controls were blocked: everything else turned into a cut scene.

He froze, as expected, only watching.

Yoo Joonghyuk rushed forward, shielding him with his body. The explosion threw them both back, and for a split second Dokja even felt a real tremor under his feet - the simulation was too high-quality.

The NPC dropped to one knee, blood running down his face. The script worked flawlessly at the tragic moment.

"Fight," he said hoarsely. "Next... your path.

The mentor's figure fell to the concrete, and the system displayed the usual line:

[NPC Unit terminated].

Dokja didn't even flinch. Everything was going as it should. Now the player had to take control and continue on his own.

He stood up, took out his weapon, and habitually noted in his notebook: the cutscene went without a hitch.

But in the very first battle, something went wrong. The system issued an unexpected failure: the enemy appeared earlier than expected and turned out to be much stronger than usual. The code was clearly lame - a bug that he should have recorded.

Dokja pressed his back against the wall, clutching a useless pistol. The enemy was approaching too quickly, and not a single maneuver worked.

And suddenly - a sharp blow from the side. A metal blade cut through the air, and the monster sank, falling apart.

Dokja looked up.

Yu Junhyuk stood in front of him. The same NPC that had died in the cutscene a few minutes ago. His armor was damaged, his face was covered in dirt and soot, but his gaze... his gaze was too alive.

Dokja froze, unable to tear his eyes away from the figure that, by all the laws of the code, should have been removed from the session. His tester's brain was feverishly sifting through logical chains.

Animation glitch? No, the model is intact.

Respawn? Not provided for in the protocol.

Rendering glitch? Too... detailed.

"You..." Dokja exhaled, but the words were stuck in his throat.

The system window was silent. No lines of code, no familiar status. There were no letters with a name glowing above the NPC's head.

Yoo Joonghyuk, or what now looked like him, slowly turned around. His eyes, usually lifeless and glassy, reflected neon, and this glow made his gaze too human. Too real.

"Don't stand there," he repeated, but his tone was different. Not even, scripted, but almost irritated, as if he was genuinely angry. "I said move."

Dokja instinctively took a step back. His heart was beating too fast. This was the first time this had happened in his practice. Could this be a new development, and he simply hadn't been warned?

He couldn't believe that this was just a coincidence.

The NPC shouldn't have come back, shouldn't have deviated from the script, shouldn't have looked at him like that.

"You..." Dokja swallowed. "You shouldn't be here."

Yoo Joonghyuk tilted his head, as if trying to understand. For a second, his face twisted into a strange grimace, something between pain and surprise.

"The code..." he breathed out so quietly that Dokja thought he'd misheard.

The next moment, the ground shook beneath his feet, and a new wave of enemies emerged from behind the rubble. The scenario continued, but now the NPC did not disappear. He stepped forward, raised his weapon, and his movements were no longer perfectly honed - but fast, sharp, like someone who fights not according to the script, but for survival.

Dokja could not tear his eyes away, watching him tear his opponents apart. And when the last of them collapsed, everything around him froze.

A system notification popped up before his eyes, but Dokja did not even immediately pay attention to it. His gaze was riveted to the NPC, who, instead of freezing, as was supposed to at the end of the mission, habitually and confidently reloaded his machine gun.

However, he did not have time to look longer - the world began to crumble with numbers, signaling the end of the session. Time was up, and the test could be considered complete.

Dokja was sure of only one thing: at the last second, the NPC was looking straight at him.

Dokja finished the first session with a slight dizziness. A standard report, a couple of lines about the non-standard behavior of the NPC. Maybe the developers are experimenting with autonomous AI and didn't warn us? - he thought, taking off his helmet.

He reached out to the panel to download the data, and noticed something strange: there were two identifiers in the list of session participants.

One was his own.

The second was empty, without a name, only a blinking symbol: [ ].

Dokja blinked - and the line disappeared.

Probably another bug.

He wrote in the report: "Non-standard behavior of NPC. Possible log failure."

And only when he left the lab, he could not get rid of the feeling that an invisible gaze was still watching him.

Chapter 2: 2

Summary:

— You know… — he began deliberately casually, as if he was simply thinking out loud. — Usually, when two people find themselves in the same deadly situation, at least a minimal dialogue is expected between them. You point a finger, shout “over there,” or something like that. But you… remain silent, like a cheap mannequin.

The mannequin did not move.

Dokcha snorted and, nodding at the nearest dark opening, added:

— Maybe you have a contract for silence? Or have you been assigned here as my imaginary friend? Well, for variety — so that I don’t get bored while recording bugs.

There was no answer. Only a short screech of a gun bolt — dry, like a blow to the nerves.

— Yeah, I get it, — Dokcha drawled sarcastically. — You can’t talk, but you can frighteningly click metal. A very useful skill. Surely this is why they put you into the simulation.

Chapter Text

The morning greeted him unkindly. It seemed as if the whole world had conspired to mock him, and he, curled up somewhere deep inside himself, tried not to give away even a sound that he was about to snap.

The night had passed in a meaningless struggle with his thoughts—they rushed into his mind, jostled, demanded attention, and no sleep came. In the kitchen, he was met by an empty coffee jar; a pitiful sight, capable of crushing even a much more cheerful person. Outside the window, the gray sky frowned, and the air seemed soaked with heavy moisture. He knew in advance: step outside, and the first passing car would splash him with water from a puddle. And so it happened: a sharp splash, cold drops on his pants, and a short, irritated “damn” escaped too quietly for anyone to hear.

He walked on, neither speeding up nor slowing down. The city around him lived its own life: passengers yawned in buses, schoolchildren argued over some nonsense, vendors hurriedly laid out their goods. And of course, no one noticed him.

Kim Dokja was already used to this invisibility. But today it felt especially thick, sticky. Perhaps because of that gaze that followed him even here—on the street, among the crowd, where there were no games, no helmets, no code.

By the time the laboratory building appeared around the corner, his steps had become mechanical. He entered as if by inertia, without the slightest resistance. The same sterility, the same gray walls, the same smell of cheap detergent. Everything in its place, except for himself—because inside, he still felt someone else’s presence.
The laboratory corridor was noisy, as always. Voices sounded sharp and quick, conversations breaking off mid-sentence, replaced by new ones. Kim Dokja passed by, habitually not trying to listen: nothing was directed at him anyway.

He found his workspace without difficulty—a small desk cluttered with folders, papers, and printed protocols. Not a hint that these stacks would ever be of use to anyone. He had already reached for the top folder, preparing to dive into another “report that no one will read,” when a colleague appeared above him.

“Ah, Kim Dokja!”—the voice was too lively, too energetic for such a gloomy morning. “I have news for you.”

Dokja raised an eyebrow slightly but said nothing.

“Yoo Sangah is going on sick leave. So you’ll temporarily cover for him,” the colleague explained with some relief, as if he had just rid himself of an unpleasant task. “Details are in the email.”

He nodded and disappeared as quickly as he had appeared, not even waiting for a reaction.

Kim Dokja slowly sank into his chair, turned on the monitor, and habitually opened his email. A new message was already glowing as unread. Sender: Yoo Sangah.
“Sorry,” it began, “for leaving you part of my work. It’s unavoidable, and believe me, I didn’t want to burden you unnecessarily. I hope you can manage. Thanks in advance.”

The lines seemed sincere. Yet something unpleasant stirred in Dokja’s chest: he didn’t like being “noticed” only because of someone else’s problems.

He leaned back in his chair. The monitor reflected his tired face, and one thought spun in his mind: Yoo Sangah always worked too hard.

She knew how to be polite and attentive; it was easy to work alongside her—and Dokja appreciated that. Unlike most colleagues, she at least really listened when he spoke. But that was precisely why he worried. She took on everything, trying to prove she could handle it, often pushing herself to exhaustion.

Kim Dokja did not feel envy that she was noticed more often or praised more frequently. On the contrary—he felt it was right that she stood out, because she deserved it. But now, reading the short lines of the email, he realized for the first time that all this attention and extra workload might have cost her health.

“Sick leave”—the word sounded too soft, almost mundane. And he caught himself hoping: let it be just a cold, nothing worse.

He sat for a long time, reading the lines of the report as if hoping to find in them something that wasn’t really there. Dry formulations, diagrams, numbers… everything seemed too abstract to connect with what he had actually seen in the game.

Kim Dokja exhaled slowly and shook his head.

“Coincidence,” he told himself.

He had overthought too much, delved too deeply into details that for others remained just lines in reports.

He snapped the folder shut, returned to the familiar paper reports, and gradually got back into work. Day after day merged into one gray mass, and the uneasy feeling from that gaze—alive, impossible—grew dimmer. Almost vanished.

Almost.

A few days later, he was given a new assignment—to test another game module. This time, with no hint of anything unusual. Just the standard procedure, another session in a long series. Kim Dokja put on the headset and prepared for yet another meaningless simulation, confident that everything would go as usual.

The monitor displayed the standard warning: “New session. Module: Survival in a Closed Zone.” He sighed—routine as usual, only a new location, new bugs.

This time, an abandoned zone unfolded before him: dead buildings with collapsed walls, twisted wrecks of machinery, corridors echoing with torn metallic screeches, as if someone invisible was moving through the darkness. The air was thick, heavy, with a faint smell of smoke. The simulation, of course, but so meticulously crafted that Kim Dokja involuntarily clenched his fists, as if to make sure his hands were still real.

His gear matched the environment: a black suit with numerous straps, pockets, and a tightly fitted vest. It all felt too heavy, unfamiliar—alien. Just yesterday he had been in his white lab coat, and now, catching his reflection in a shard of dirty glass, he stared at it for a moment, almost bewildered.

“Looks like something ‘exciting’ awaits ahead,” he muttered to himself, wryly curling his lips.

Dokja stepped forward, but each sound of his own step echoed too loudly in the silence. There was no usual background—no gunfire, no explosions, no chaotic noise. On the contrary, this game began with a frightening quiet. The silence seemed to press down, whispering that an enemy was nearby, just hidden around a corner, waiting.

He opened the system menu. Dry text informed him:

Scenario No.12: “Survival in a Closed Zone.”

Objective: Survive until evacuation.

Special conditions: Increased enemy aggression. Critical code failures possible.

Dokja snorted.

“Of course, as always. ‘Critical code failures possible’—that means I’ll be dodging bullets instead of reports.”

He checked his weapons—standard knife and a pistol with a limited magazine. Surprisingly little for such a large map.

He moved down a narrow alley between containers, scanning the area. Faint silhouettes of enemies appeared in corners, their behavior clearly different from typical shooters: they didn’t just follow set paths, but seemed to assess his actions, pick advantageous positions, adapt to his maneuvers.

Dokja stopped to check one of the “stuck” objects—a metal crate stubbornly unresponsive to code commands. He grimaced:

“Well, of course. Why not? Perfect trap for a tester…”

At that moment, movement in the shadows caught his attention. For a fraction of a second, Dokja thought it was a rendering bug, but the motion was too confident, too real.

“No… it can’t be…” he exhaled, his heart pounding faster.

A familiar NPC stood silently, as if observing his every move. It was the same character Dokja had seen in the shooter, but the form had changed: hybrid armor, slightly distorted proportions, eyes alive, almost hypnotic.

Dokja stepped back, gripping his weapon:

“You… what are you doing here?!” His voice trembled. “This is impossible!”

Yoo Joonghyuk didn’t answer. He just watched. Every step felt under the control of someone else’s gaze.

Dokja tried to rationalize to himself:

“Okay… probably a system bug. An experiment… or I’ve just gone insane.”

He looked at the figure in front of him, unable to determine what exactly was hidden behind this appearance. Logically, it was just an NPC—a trainer and mentor created for a specific game. He had no right to exist anywhere else. And certainly not here, in a harsh survival simulator.

But all his guesses crumbled to dust when the room shook with a sharp, piercing alarm. Red lights flashed around the perimeter, and a mechanical voice announced: security system offline. The protective gates, which had held the perimeter, slowly began to open.

Dokja felt a chill.

It meant only one thing: the game had entered an active phase. The gates were opening—which meant the hordes of creatures were no longer restrained.
“Damn,” he cursed, feeling his palms grow sweaty. “So much time wasted… I haven’t even properly checked the starting location.”

The alarm’s ringing shattered the silence, cutting to the bone. The red light blinked wildly, turning the walls into pulsing spots. The metal gate panels rattled, screeched, and it seemed the game’s code itself resisted, trying to keep them closed. But the algorithm was relentless—the doors swung open, revealing a dark passage.

A smell of smoke and something rotten wafted out. Soon, a low, uneven growl sounded, quickly multiplying into a disgusting chorus.

Dokja instinctively chambered his weapon, his fingers trembling slightly.

“Great,” he muttered. “Looks like a promising start.”

The first creature appeared almost immediately: an elongated body, twisted limbs, skin as if fused from coal chunks and torn pixels. It moved jerkily, like a glitched animation, but too purposefully for an ordinary bug. More silhouettes began to emerge behind it.

Dokja fired a short burst—and briefly exhaled with relief as the monster fell. But the relief quickly turned to dread: new ones crawled out of the darkness. Too many. Too fast.

He dashed for a concrete cover, frantically thinking:

“Too early, I haven’t even tested the mechanics yet. I need to hold out a couple of minutes. At least understand something…”

Another round in the barrel, the dry click of the magazine—and shooting again. The crowd surged forward like water through a dam crack.

And then Dokja noticed movement from the side. A silent figure—the same “impossible” NPC—stepped forward. His gait was measured, even calm, as if everything happening was just another training exercise.

Dokja shouted, desperation in his voice:

“Come on! If you’re not a bug and can actually move—now’s the time!”

The figure didn’t respond. But in the next moment, he lunged forward: in one motion, he grabbed a creature by the neck and snapped it with a crunch, as if it were a mannequin rather than a monster. Then—shot, strike, another swift movement.

Dokja froze.

“…You’re serious?..” he blurted, though no one could hear him.

And the creatures kept coming.

Gunfire blended with ragged breathing, the roar of the monsters drowning out everything around. They advanced in waves, but at some point, Dokja realized he was holding out longer than expected. Not only because of his own shots: the silent companion moved alongside him, as if his actions were pre-calculated to cover the weakest points.

Every move Yoo Joonghyuk made was precise and supremely practical. He fired short bursts, struck at close range, sometimes using his own body as a weapon, breaking foes as if their code simply obeyed his will. Dokja often caught himself thinking that the NPC’s eyes scanned the entire battlefield—and even him—more attentively than any ordinary game script would require.

Finally, the onslaught began to subside. The last monsters, sensing defeat, howled and instead of dying, scattered in different directions, dissolving into the ruins of the abandoned zone.

A heavy silence settled over the corridors, only the lights flickered, beams creaked, and his own ragged exhale could be heard.

Dokja slowly lowered his weapon. His hands were still trembling, but his gaze darted feverishly around.

“They… retreated?” he whispered. “That means the scripts are designed to adapt, not just rush blindly. Interesting…”

He forced himself to take a deeper breath and looked at his silent companion. He stood motionless, slightly to the side, weapon still in hand, but his gaze already sweeping the surroundings. No words, not a single attempt to interact. Just presence—tangible, almost heavy, like a shadow you can’t shake off.
Dokja snorted quietly:

“Alright. Let’s say you’re a bug. Or a hallucination. Or some experiment they forgot to tell me about. Doesn’t matter. If you’re sticking around here, I’ll just do my work.”

He activated the tester interface, opening the check menu with habitual movements. His fingers quickly ran across the virtual keyboard, logging already noticed bugs. Yet he kept an eye on his “companion” out of the corner of his eye.

What will you do?—he wondered. Will you disappear as soon as the system rewrites the code? Start interfering? Or, on the contrary… keep covering?

Dokja couldn’t help noting that for the first time in a long while, he wasn’t completely alone. Even if in such a strange form.

He leaned over a metal crate, trying to bring up the standard interaction menu. Zero response.

“Excellent,” he muttered, recording it in the log. “Stable bug. At least something consistent in this simulation.”

Behind him, the figure shifted slightly, as if adjusting his weapon or scanning the area. Dokja realized the tension was easing: if the monsters appeared again, at least he wouldn’t face them alone.

Finishing the bug log, he stood up and cast a sidelong glance at his “partner.” He still stood a few steps behind, weapon in hand, eyes fixed somewhere deep in the corridor. Absolute silence. No comment, no attempt to help with the inspection, not even a hint of initiative.

Dokja pressed his lips together.

“You know…” he began deliberately casually, as if thinking aloud. “Usually, when two people end up in a deadly situation, there’s at least minimal dialogue. You point, shout ‘over there,’ or something like that. But you… stay silent, like a cheap mannequin.”

The mannequin didn’t flinch.

Dokja snorted and, nodding toward the nearest dark passage, added:

“Maybe you have a silence contract? Or were assigned here as my imaginary friend? Just for variety—so I don’t get bored while logging bugs.”

No response followed. Only the short, dry click of the weapon bolt—sharp as a nerve strike.

“Ah, got it,” Dokja said sarcastically. “You can’t talk, but you can click metal menacingly. Very useful skill. Surely that’s why they put you in the simulation.”

He was about to turn away when suddenly a short, low voice broke the deep silence:

“…You’re annoying.”

Dokja froze, then slowly spread into an almost satisfied smile.

“Oh! He speaks! Look at that, my bug is alive. And can even express emotions. Such progress—pride for the research team.”

Yoo Joonghyuk didn’t reply. He simply returned his gaze to the dark corridor, as if all attention belonged only to what might emerge from there. Yet Dokja couldn’t shake the strange feeling: that short remark had sounded far too real.

Dokja pretended to fully immerse himself in work again: his fingers glided over the interface, marking the map, checking coordinate stability and the server log. But he kept watching his companion from the corner of his eye.

“Hey,” he said after a minute, without looking up, “I was thinking: if it’s just the two of us, we should divide responsibilities. I log the bug reports, and you, for example, could keep a diary of our emotional suffering. Imagine: ‘Today I met Dokja again. He annoys me with his chatter, but deep down I’m beginning to realize my life is empty without him.’”

Not a rustle, not a reply. Only breathing—steady, like a well-oiled machine.

Dokja smirked.

“Alright, let’s say your role is closer to the stern bodyguard. Then maybe you could at least nod? I’m not asking for serenades, just show me you have more functions than just your weapon.”

This time—movement. Yoo Joonghyuk slightly turned his head, as if listening. His eyes swept over Dokja and immediately returned to the corridor.

“Oh, progress!” Dokja exclaimed. “You’re already looking my way. Tomorrow, who knows, maybe you’ll even blink.”

Silence.

Dokja clicked the interface, closing the map, and stood up.

“You know, silent friend, I can do this all evening. I don’t need a conversation partner to talk. But you seem to need someone to remind you that you’re still human, not just a dumb kill console.”

He stepped closer, deliberately invading personal space.

“So… let’s see what’s written in your code. Will you break first, or will I get tired of teasing you?”

This time Yoo Joonghyuk tensed slightly. His fingers gripped the weapon tighter, the muscles along his jaw twitched. But he didn’t move, didn’t utter a word.

Dokja nodded with satisfaction.

“Excellent. That means we can keep playing.”

Turning on his heel, Dokja entered the first narrow corridor that had previously gone unchecked. The floor was littered with debris, walls bore traces of old corrosion, and somewhere deep in the ventilation shafts, an unknown sound reverberated hollowly. He stopped, listening.

“Well, let’s see what we’ve cooked up here,” he muttered, pulling out his scanner and sweeping it along the walls. “If something falls on my head, I want to record it before I die.”

Yoo Joonghyuk followed silently, keeping a few steps behind. Every movement was calculated and quiet, like a shadow ready to act at any moment. Dokja couldn’t shake the feeling that someone was watching him attentively—and at the same time, it was oddly comforting—not to be completely alone.

Suddenly, a sharp screech echoed from around the corner. A creature, resembling a mix of metal shards and rotting flesh, leapt into the corridor. It was large, with long limbs, and its eyes glowed with a corrosive light.

Dokja recoiled, but at that exact moment Yoo Joonghyuk was there, drawing his blade. He made a short, precise thrust—the creature collapsed, but not without remnants: two more of its kind emerged from the shadows, ready to attack.

“Excellent,” Dokja said, even managing a smile through his fear. “I log bugs, and you… do things I couldn’t even imagine.”

Yoo Joonghyuk remained silent, simply observing enemy movements, adjusting to their behavior, intercepting attacks at the last moment. Dokja realized his companion was acting outside the script—this was real combat, not training.

When the creatures thinned out, scattering through the corridors, leaving only faint screeches and the smell of smoke, Dokja stepped forward, carefully scanning the space:

“Alright, now I can safely check the functionality.”

Yoo Joonghyuk once again simply followed him, eyes still scanning the corridors. Dokja sighed, temporarily accepting such company, and began evaluating the map and bugs, occasionally glancing at his companion, trying to predict his next move.

Dokja slowly advanced through the corridor, marking all anomalies on his tablet: torn wall textures, dangling objects, strange intersections of elements. He had nearly calmed down, as if accepting the fact that the silent giant was still watching him.

“Wow…” he muttered to himself, “one of the doors is literally hanging in the air. And why am I even checking this? Oh right, so no one but me knows it’s supposed to be in place.”

Suddenly Yoo Joonghyuk stepped forward, stopping beside Dokja. His gaze was cold, and his voice low and even, with just a hint of irritation:

“You’re annoying.”

Dokja jumped slightly, brushing off the surprise, then couldn’t help smirking:

“Oh, super! The trainer is back with another pearl of wisdom. Thanks for the insight. Really, I’m all ears.”

“Shut up,” Joonghyuk hissed, turning his head back to the corridor. “And move.”

Dokja snorted but inwardly appreciated it: this was a whole new level. He noted on the tablet that his companion now reacted to him, albeit briefly.

Dokja went through all the corridors, examined every nook, checked all doors, crates, and corners for glitches. He meticulously logged all bugs in his tablet: textures that failed to load, objects suspended in the air, as well as strange intersections of map elements. Yoo Joonghyuk silently followed, occasionally slightly adjusting his path if Dokja wandered too close to a dangerous area.

Time passed, and tension gradually eased: there were fewer monsters on the map, the remaining ones had scattered, and Dokja could calmly inspect the system’s functionality. He observed Yoo Joonghyuk, noting how he behaved in an unfamiliar game—observing, quickly adapting, acting only when necessary.

Finally, after scanning the last section of the map and logging all bugs, Dokja took a deep breath. His session was coming to an end, and the world around him began to dissolve into numbers, signaling the completion of the test.

Dokja stepped toward the exit but couldn’t resist glancing at the empty screen, where Yoo Joonghyuk had stood just moments ago.

“Alright…” he muttered, shaking his head. “What exactly are you… a program, a ghost, a bug with a human face?”

The screen had already begun to dissolve into digits, and no one answered. But inside Dokja, something stirred again—the feeling that he was still being watched, and that this “non-programmer” part of Yoo Joonghyuk would not disappear with the session’s end.

He sighed, shook his head, and clutching the tablet with reports, headed for the exit. The session was over, but the questions remained.

Chapter 3: 3

Summary:

The apartment greeted him with its usual silence and loneliness. Normally, this felt neutral, almost comfortable—he was used to it. But today, the emptiness cut through. Dokja realized just how accustomed he had grown to someone else’s quiet presence beside him over recent sessions. To the impenetrable, irritating, yet strangely reliable presence of Yoo Joonghyuk.

Chapter Text

Kim Dokja sat in the corner of the cafeteria, mechanically stirring a murky brown sludge with a plastic spoon—the machine proudly called it “coffee.” The dispenser had broken again, and now all that was left was cheap instant powder. The air smelled of burnt bread and detergent, but Dokja inhaled it with a dull stubbornness anyway—so long as it was warm and he didn’t have to think.

BAM!
Someone’s hand slapped his shoulder with force. Dokja jumped so hard he nearly spilled the coffee, and for a moment it felt as if his soul had actually left his body, leaving only an empty shell. He whipped around, ready to unleash a string of curses, but met a bright grin.

“Han Sooyoung…” he groaned, clutching the mug to his chest. “Did you come to bury me here and now?”

“Oh, please,” she said, theatrically raising an eyebrow, “I was just checking if you’re still alive. But looking at your face… I have my doubts.”

Dokja let out a noisy breath and buried his face in the mug again, hoping the boiling liquid would hide his tremor.

“You look awful,” Han Sooyoung declared, sitting down beside him and, without a hint of embarrassment, pilfering his pastry. “Bags under your eyes, hair sticking up like you slept on server cables. What’s wrong with you?”

Dokja faltered. How do you explain to another person what you barely understand yourself? “Hi, I think I’ve become the victim of an evil cursor ghost?” sounded too idiotic even for him.

A few hours earlier. The apartment was drowning in silence. Only the steady hum of the laptop and the lazy click of keys betrayed the presence of a living person. Kim Dokja sat squinting at the screen, scrolling through endless simulation logs. Past midnight outside, his eyes stung from fatigue, but he stubbornly kept going.

At first it all looked banal. The cursor twitched. Probably brushed a cable. Dokja adjusted the mouse out of habit and returned to the lines. But a second later the cursor slid again—smooth and purposeful, as if someone beside him were guiding the mouse with their hand. Dokja froze.

“Great. Paranormal activity is exactly what I needed,” he muttered, slowly withdrawing his hand. The cursor kept moving—now without his input. The line on the screen crawled to the little “close” cross.

“No—no—no,” Dokja yanked the mouse toward him, feeling like a protagonist in a cheap horror where the computer is always smarter. He ripped out the plug. The screen flashed mockingly, and the document shut anyway. All the work—the last hours of painstaking checks—vanished at a single touch of someone else’s will. Dokja leaned back, closed his eyes, and groaned into the void.

“Perfect. It’s a conspiracy. The universe decided to burn my nerves before I even had the chance.” For a few seconds he simply stared at the ceiling, counting cracks in the plaster and mentally crossing out plans for the week. The report could be submitted later, but the problem was this was only one item on a long list. The most infuriating thing—he’d spent half an hour persuading himself to sit down and work. Half an hour of bargaining with his own laziness, and for what? To lose to a mouse.

“Wonderful, Dokja, you’re officially at war with appliances,” he muttered. “And the score isn’t in your favor.”

Slowly he returned his gaze to the screen and couldn’t hide his surprise. He blinked, certain sleep-deprived hallucinations had started, but no—the cursor, on its own, was drawing clear letters on the blank field.

“You’re an idiot.”

He stared for a couple of seconds until the corners of his mouth twitched.

“Well, thanks. Exactly the kind of encouragement I needed. Always wanted a personal insulting poltergeist,” he muttered, rubbing the bridge of his nose.

The cursor paused, as if considering, then came to life again.

“Sleep.”

Dokja raised his eyebrows.
“Wonderful. First you destroy my report, then you call me an idiot, and now you’re tucking me into bed? Very consistent communication style, I must say.”

He snorted, but his fingers still froze over the keyboard. There was something in that message that wasn’t mockery but… a strange insistence. As if someone really was watching him from the other side.

The screen flickered with emptiness. Nothing else appeared.

Dokja sighed, snapped the laptop shut, and dropped his head onto his arms.
“If tomorrow it turns out my programs really did start talking to me—I quit,” he muttered, and, to his own surprise, within minutes he was asleep.

He cleared his throat, pretending to search for words.
“Just… didn’t sleep,” he mumbled, spinning the spoon in his mug. “Strange things happened.”

Han Sooyoung narrowed her eyes and tilted her head.
“Strange? How strange are we talking? Like ‘the neighbor ordered karaoke at three a.m. again’ strange, or ‘you’re losing your mind, Dokja’ strange?”

The corners of his lips tugged into a weak smile.
“Closer to the second one.”

Dokja stared at the mug a little longer than necessary, watching tiny whirlpools turn slowly in the instant coffee. As if the whole night had returned and was swirling again in that brown abyss.

“Forget it,” he muttered, pretending to finish a lukewarm sip. “Just a rough night.”

Han Sooyoung didn’t believe him for a second—it was written all over her face. She leaned back in her chair, crossed her arms, and studied him as if she intended to rip the answers straight from his skull.

“‘Rough night’ is your new way of saying ‘I got tangled up in something weird’?” she asked quietly, almost without a trace of humor.

He gave the faintest smirk but kept his gaze lowered.
“Maybe. But if I told you now, you’d just decide I’ve gone insane.”

She wanted to say something else, but he was already standing. The papers on the table were stacked far too neatly—as if the order could disguise the chaos in his head.

“They scheduled new testing for the morning,” he said in an overly businesslike tone, “and if I’m late, they’ll officially crown me the most irresponsible man in the department.”

“You’ve been living with that title for ages,” she shot back automatically, though worry threaded her voice.

Dokja adjusted the sleeves of his lab coat, nodded, and, as if in a rush, waved a hand.
“See you tonight.”

Out in the corridor, his steps quickened. The white walls of the laboratory echoed hollowly with each footfall, making him feel even worse. For a moment he wanted to turn back, lay everything out, explain. But he only gripped the folder tighter under his arm. First he had to be sure he wasn’t actually losing his mind.

***

Kim Dokja’s life really did look like a joke stretched over decades. Not the funny kind—a joke so flat listeners exchange glances and cough awkwardly, unsure if they’re supposed to laugh. Childhood? A perfect grab bag of clichés for any social-drama broadcast: poverty, constant sense of being unwanted, the habit of sitting quietly to avoid his father’s notice. Youth? A relentless fight with emptiness, where borrowed stories were his only comfort. Adult life? Here was the prize: a job no one ever thanked him for, sleepless nights in front of a monitor, and the nagging sense he had voluntarily signed up to be an extra in a play where even the crowd actors don’t get rations.

Looking at it, the universe really did seem to be having fun at his expense. First it handed him the standard “difficulty level: hell,” then tossed in a few bonus trials “just for kicks.” And now, judging from the past few days, it was making sure he couldn’t escape: sit, Dokja, take whatever they throw at you, and pretend that’s how it’s supposed to be.

He chuckled.
“Hope you understand me.”

His conversational partner blinked slowly and went on chewing grass.

In front of Kim Dokja stood a cow. A perfectly ordinary cow—with a wet nose, large dark eyes, and the lazy look of a creature that couldn’t care less about human existential suffering. But in light of today’s “glitches,” he wouldn’t rule out the possibility that it might answer him in the next second.

There really wasn’t anyone to talk to. Yoo Joonghyuk, standing a little apart and methodically checking inventory, was silent as if it were written in his job description. No comments, no explanations—just cold concentration. Dokja had already given up on squeezing even a single word out of him.

So… why not chat with the cow?

“Tell me,” he lowered his voice as if sharing a secret, “if the game really starts spitting out bugs and I suddenly hear you answer, will that be a plus or a minus in the report?”

The cow chewed silently.

Dokja sighed.
“Looks like you’d be the only half-decent conversationalist if you could talk,” he said, glancing toward Joonghyuk. “But, you know, being with you at least doesn’t make the atmosphere crush me.”

The cow blinked slowly. And then a text box popped up above its head.

[MOO]

Dokja froze, unable to believe his eyes.
“…You kidding me?” he muttered.

[I IDENTIFY AS A COW]

He straightened abruptly, nearly spilling the bucket of water he was holding.
“Whoa. Wow. Just what I needed. A consultation with…”—he pointed at the cow—“with you.”

[YOU LOOK TIRED. EAT GRASS]

Dokja swallowed.
“Wonderful. An affectionate AI bug. Now animals will hand out psychological advice. Thanks, dear universe, you’re on top form as always.”

He stole a glance at Joonghyuk. He kept arranging things as if he hadn’t noticed either the cow or the messages above it.

Dokja turned back to his “interlocutor” and rubbed his face wearily.
“All right. Suppose I’m talking to you. What next? Are you going to start quoting motivational feeds?”

[EVEN COWS KNOW: GRAZING WITH COMPANY IS EASIER THAN WANDERING ALONE]

Dokja nearly choked on his breath. His gaze flicked to Joonghyuk, then back to the cow.
“…Right. Very subtle. Be honest—did you come up with that, or has my brain finally fried?”

The cow just chewed, serene and unhurried, as if there had never been any text at all.

Dokja squeezed his eyes shut and shook his head in despair.
“Great. Now I have two silent companions. One chews grass, the other chews my nerves.”

“…You seriously just talked to a cow?” a hoarse voice sounded, surprisingly close.

Dokja jumped so hard he almost dropped the bucket. He turned slowly—and met Yoo Joonghyuk’s cold gaze.

“I… I’m testing bugs,” he blurted out. “Maybe the devs put hidden AI in animals. I need to test the dialogue system.”

Joonghyuk raised an eyebrow.
“…You have interesting testing methods.”

“This is called a creative approach,” Dokja parried, trying to look as serious as possible. “You know, sometimes the most ridiculous ideas lead to great discoveries.”

He realized he was still holding the empty bucket and awkwardly set it down.

“…You should sleep more,” Joonghyuk remarked shortly, already turning away.

Dokja snorted, trying to hide the sudden embarrassment.
“Wonderful. Even the cow expresses itself more fully than you do.”

The cow mooed loudly, as if in agreement.

Dokja rolled his eyes.
“Well, seriously…” he muttered, leaning on the fence and watching the cow chew grass, completely indifferent to his ramblings. “This is a farm simulation. Basically—a primitive sandbox test, where the player has to care for animals, build structures, and tend the land. The most boring job in the world, honestly. Only the bugs make it interesting, and the game is still in development.”

He pushed off the fence and looked at the interface map. Several areas were highlighted in yellow—those were the spots where object behavior errors had already been noticed. Animals got stuck in animations, crops disappeared on their own, and sometimes… well, like now, talkative cows appeared. Some inventive developer must have worked so hard that they apparently even wrote a cow’s backstory. Huh…

Dokja sighed, closing the menu.
“In general, the place is as peaceful as it gets, if you ignore the local glitches. And it would be fine, if it weren’t for him lurking nearby.”

His gaze involuntarily flicked to Yoo Joonghyuk. He stood a little apart, near a pile of stacked logs, methodically swinging an axe as if mocking him. The dull crack of the splitting stump echoed across the yard, and for some reason, this simple action felt uncomfortably eerie to Dokja.

He shivered and muttered to himself:
“Coincidence? I could believe it once. Okay, twice. But now…” His lips twitched into a crooked grin. “No, that’s damn suspicious.”

He lowered his eyes back to his notes. His fingers tapped nervously along the edge of the tablet.
“The question is why you’re here. You’re just a trainer, an NPC consultant in that shooter simulation. Your role is clear: teach newbies how to shoot, how to hide behind cover. But… protecting me in another game? Following me here?”

Dokja realized he was almost whispering, as if afraid Joonghyuk would hear. Although, to be honest, he kind of wanted him to.

“Maybe it’s part of a coded algorithm. Helper instinct built into the program. But you’re doing it… too strangely.” He snorted. “Usually, these characters babble non-stop, giving advice at every turn. But you stay silent, only watching. And you intervene at the very last moment, when it seems like it’s all over.”

Dokja lifted his gaze again and met his eyes. Cold, calm, too attentive for an ordinary chunk of code.

His heart gave an unpleasant jolt.
“This is all… completely wrong,” he muttered, turning away.

***

The sun hung high in the sky. Lazy cows chewed grass, while in the distance bird songs intertwined with the overall sound of calm. The world seemed perfect. Yet Dokja already had a bad feeling—and it didn’t betray him.

He left Joonghyuk at the other end of the map and headed toward the wheat fields. Scattering seeds and correcting small visual glitches, he tried to distract himself. A large barn rose nearby. By all laws of the code, it could be improved, but that wasn’t his task—he was checking visual elements and bugs.

The door gave way only after a second push. Inside, it was empty; dust swirled in the sunlight streaming through the cracks. On the farthest shelf, in a torn sack, lay a few seeds—probably the developers’ generosity for newcomers.

Dokja grabbed the required amount and turned to leave. Opening the interface window, he tried to check the map for bugs, when suddenly the screen flickered and a system error popped up. At the same moment, the barn door slammed shut with a loud crash, filling the air with tense silence.

Dokja froze, his heart tightening.

He ran to the door and pulled the handle. No response. Even the command lines didn’t respond.
“…You’ve got to be kidding me.”

A rustle came from the darkness. Something scraped in the corner, and a shadow darted across the floor. Dokja’s throat went dry. For a second, he hoped it was just a cow somehow inside—but no—the sound was too predatory, too fast.

“Of course. Why wouldn’t a monster show up on a farm,” he muttered, backing away.

It had become a pattern: wherever he went, danger appeared. And though his mind stubbornly searched for a logical explanation, the only factor he could identify was one name. How it was all connected—he couldn’t understand.

He tried to open the code-fix window manually. But the interface seemed jammed. He couldn’t see a single line—something was blocking everything. In desperation, Dokja sent a short SOS signal through the internal system. No guarantee it would reach anyone, but it was his only chance.

The beast emerged from the shadows—something between a wolf and a glitched model, its skin replaced by a flickering texture. Dokja recoiled, ready to face it with whatever he had.

Then the door slammed off its hinges. In the doorway stood Yoo Joonghyuk. Of course he had to appear.

Without a word, he struck the creature with the butt of his rifle, pushing it aside. The metal gleamed, claws ripped through his sleeve, leaving a deep gash on Joonghyuk’s forearm.

Dokja froze.
“You… damn, you’re hurt!” he blurted, though it was pointless—could a piece of code really get injured? But the blood—real, thick, red—ran over Joonghyuk’s fingers.

He didn’t flinch, just stood between him and the creature like a wall.

And then everything cut off. The system issued an emergency message:
“Virus. Forced simulation shutdown.”

The world around him shuddered, starting to unravel into squares of code. Dokja felt himself being pulled out, back into reality. The last thing he saw was Joonghyuk’s dark silhouette, standing amid the collapsing texture, blood on his hand, eyes fixed on him.

“Wait…” he exhaled, but at that moment he was thrown out of the simulation.

He woke in the lab, breathing heavily. The log read: “Session terminated unexpectedly.”

Dokja closed his eyes, gritting his teeth. Joonghyuk had stayed behind.

He slowly lifted his head, feeling his pulse still pounding in his temples. There was a strange emptiness—not so much from fatigue, but from the thought that he had left Joonghyuk in the simulation.

He hadn’t even begun to figure out what the hell was happening. That living mass of muscle and silence had been an excellent companion… if you liked listening to silence. He was grateful for the help in dangerous moments, but suspicion was creeping in: maybe those dangerous situations had been triggered by the intervention of the silent NPC.

***

Lost in thoughts about the previous simulation, Dokja still couldn’t gather himself. As he was later informed, writing a report was pointless—the virus had destroyed half the map. The code literally fragmented, buildings and fields collapsed into voids, and peaceful mobs turned into monsters. He was lucky to be far enough away, but apparently, Yoo Joonghyuk noticed this and rushed to find him. At least, that’s what Dokja wanted to believe.

Sometimes it seemed that this grim enforcer had an internal radar for his troubles. Otherwise, how to explain that he appeared exactly when the situation became critical?

He canceled his meeting with Han Sooyoung. She, of course, muttered a few sharp remarks, but in the end waved it off—she knew Dokja sometimes needed time to process things on his own. Viruses in simulations were rare. Apparently, some developer had overlooked it, and the infection had seeped into the system.

Death during testing was commonplace. Dokja had long since lost count of how many times he had “buried” himself. Sometimes he even felt he had developed a kind of immunity to it.

But such deaths were conditional, part of the scenario, leaving no trace in reality. A different matter was death caused by external intervention. The system every time repeated with a didactic tone: “Please read the safety rules carefully.”

The problem was that no precedent existed. No one knew what would happen if a tester completely dissolved into the void. And Dokja wasn’t eager to be the first to find out firsthand.

With NPCs, however, it was much more complicated. Their status and boundaries of existence remained unclear. What happened to them if the simulation collapsed? Were they deleted? Did they vanish without a trace? Or… did they remain somewhere between lines of code, in a digital crack unnoticed by any developer?

The apartment greeted him with its usual silence and loneliness. Normally, this felt neutral, almost comfortable—he was used to it. But today, the emptiness cut through. Dokja realized just how accustomed he had grown to someone else’s quiet presence beside him over recent sessions. To the impenetrable, irritating, yet strangely reliable presence of Yoo Joonghyuk.

He went to the kitchen, mechanically put the kettle on, and sat at the table. His thoughts circled endlessly: virus, collapsing map, Joonghyuk’s figure at the end. Too many questions, not a single answer.

“Figure it out myself,” had always been his strategy. So he got up, dragged his laptop onto his lap, and hesitated before opening a new blank document. The keys clicked softly.

The screen flickered.

And on the blank page, letters appeared on their own:
“Don’t fidget, you’re annoying.”