home

search

## Chapter 4: Glitch Timing Is A Learnable Skill (I Think)

  ## Chapter 4: Glitch Timing Is A Learnable Skill (I Think)

  The alarm went off at 7 AM.

  I silenced it, lay still for thirty seconds performing what I had started calling a *thermal check* — two fingers behind the left ear, assessing warmth level on a personal scale of one to ten — and got up.

  Scale reading: four.

  Acceptable.

  I made rice, logged into Aetheria, and opened my spreadsheet on a second screen simultaneously.

  Day three had a goal: ¥10,000 real equivalent by end of session.

  Not because I was close to rent. I was still far from rent. But a goal needed to be a number, and ¥10,000 was the number where the trajectory started to feel real rather than theoretical.

  "Beta," I said as the world loaded in. "Status."

  "Neural sync: 88.2%. Sync lock holding. Thermal: nominal. Unknown Process: active, no new communications. Ring passive: still unidentified."

  "Still unidentified after three days."

  "The passive appears to be running. It is simply running silently. I cannot determine what it is doing without a trigger event to observe."

  "So something is happening but I can't see it."

  "Correct."

  "That describes most of my life, actually."

  "I lack the context to evaluate that statement."

  Irongate loaded around me. The city's morning crowd — players logging in from the Asian time zones, mostly, given the game's peak traffic patterns — filled the streets with the particular energy of people who had plans.

  I had plans too.

  They were just more granular than most.

  ---

  ### Glitch Inventory

  Three days had produced a working model, and I knew what I had.

  The desync triple-hit was the primary weapon — firing on 68% of first strikes, higher when I initiated from standing still, lower mid-movement. Beta had theorized this correlated with velocity vectors and server position validation lag. What it meant practically: start each engagement from a dead stop.

  The wireframe blink was the scout — 1.2 seconds of hitbox visibility, extendable to 2.8 with the rhythm Beta had reluctantly helped me calibrate. Past three seconds, visual artifact loop, mandatory logout. I'd tested the ceiling once. Once was enough.

  The behavior tree read cost me nothing and never turned off. Every enemy in the game had its decision tree visible in its info panel, readable in plain text. I didn't trigger this glitch. I simply had it. The developers had presumably never considered the possibility that a player would need to see it, because no player was supposed to.

  The hidden tag market reading was the unreliable one. UI had to be in a specific instability window — too stable and it showed nothing, too crashed and it showed noise. The sweet spot happened naturally about 40% of browse time and could be nudged by rapidly tabbing categories. I was still learning the conditions.

  And then there was the Ring of ???, still silent, still running something I couldn't identify. I'd started treating it the way you treat a strange sound in an old building. Acknowledge it. File it. Don't pull the wall open.

  Four tools, one unknown.

  Today I was going to find out how far they stretched.

  ---

  ### The Dungeon Problem

  The Briar Fields were capped.

  No hard ceiling — but the gold-per-hour ceiling was becoming visible. Wolves and boars: 3–8 gold. Golems: 8–15. Peak efficiency with the dagger: maybe 1,100 gold per four-hour session. At current exchange rates, ¥5,500.

  Rent was ¥68,000.

  Twelve sessions minimum. Zero expenses assumed. Expenses existed.

  The math needed dungeons.

  The nearest beginner dungeon — the Ashvault, a ruined crypt southeast of Irongate — had a recommended level of 10–15 and a party size recommendation of three to five.

  My level was NaN.

  My recommended party size was, by definition, undefined.

  "Beta. Can I enter the Ashvault solo?"

  "The entry system validates level range. Players below Level 10 are denied access."

  "What does it do with NaN?"

  A pause.

  "...NaN is not below Level 10. NaN is not above Level 10. NaN does not satisfy any conditional check in a predictable direction."

  I started walking southeast.

  "So it might let me in."

  "Or it might crash your client. Or softlock you in the entry zone. Or trigger an alert to the development team."

  "Three bad outcomes, one good outcome."

  "Yes."

  "Twenty-five percent odds."

  "That is not how probability works when the outcomes are not equally weighted."

  "I'm going to try anyway."

  "I know," Beta said, in the tone of someone who had accepted their fate. "I always know."

  ---

  ### The Entry Check

  The Ashvault entrance was a stone archway set into a hillside, rune-carved, with a faint orange glow at the threshold. Two stone guardians flanked it — decorative, non-combat, the kind of NPCs that exist purely to deliver denial messages.

  Three players were waiting nearby, a party gearing up. Level 12, 13, 11 based on their tags. Real gear, coordinated colors — they'd been playing together for a while.

  They glanced at my name tag.

  **[ ??? (Lv.???) ]**

  The Level 12 player, a woman in archer gear, raised an eyebrow.

  "You lost?" she said. Not unkindly.

  "Testing something," I said.

  She looked at my tag again. Then at my dagger, which had the visual model of a cracked, near-broken blade.

  "You're going to try to enter the Ashvault with a broken level tag and a cracked common dagger," she said.

  "The dagger is better than it looks."

  "The dungeon is harder than it looks."

  "Most things are."

  She shrugged and turned back to her party. They stepped through the threshold, which flashed gold, and vanished.

  I stepped up to the guardian.

  Its dialogue prompt appeared:

  **[ ASHVAULT GUARDIAN — Entry Check ]**

  **[ Minimum Level Required: 10 ]**

  **[ Your Level: NaN ]**

  **[ Checking eligibility... ]**

  The checking animation ran for three seconds.

  Then five seconds.

  Then eight.

  Beta's voice was very quiet. "Something is happening in the validation logic."

  "Good or bad something?"

  "Undetermined."

  At eleven seconds, new text appeared:

  **[ ERROR: Cannot evaluate NaN >= 10 ]**

  **[ ERROR: Cannot evaluate NaN < 10 ]**

  **[ Defaulting to: PASS ]**

  The archway flashed gold.

  **[ Welcome to the Ashvault ]**

  I walked through.

  "Beta."

  "Yes."

  "The dungeon let me in because it couldn't decide I was ineligible."

  "The validator failed to return false, so it returned true. Classic null-check oversight."

  "I'm going to write that down."

  "Please don't. I don't want you applying this logic to more dangerous zones."

  "I'm absolutely going to apply this to more dangerous zones."

  "I know," Beta said. "I always know."

  ---

  ### Inside The Ashvault

  The dungeon was a ruin in the way that only game ruins could be — atmospheric without being inconvenient, torchlit without having anyone to light the torches, stone walls that had clearly been built by someone who studied gothic architecture from a reference book and extrapolated enthusiastically.

  It was also full of enemies that were going to be a problem.

  **[ Ashvault Skeleton — Level 11 ]**

  **[ HP: 140/140 ]**

  **[ INTERNAL_ID: enemy_undead_skeleton_v3 ]**

  **[ BEHAVIOR_TREE: patrol_default | aggressive_on_sight | call_allies_if_hp_below_50% ]**

  Call allies if HP below 50%.

  That was important.

  If I let a skeleton drop below half health without killing it, it would summon reinforcements.

  I needed to kill them fast.

  I blinked.

  Wireframe flash. The skeleton's hitbox was narrow — tightly fitted to the bone model, which was itself narrow. A small target. But the joints had slight collision gaps where the animation rig connected segments.

  The left shoulder socket was a weak point. The hitbox there was fractionally thinner, which meant if I connected in that gap with a piercing weapon—

  If you spot this story on Amazon, know that it has been stolen. Report the violation.

  I was holding a piercing weapon.

  I stepped forward.

  The skeleton turned. Its aggro radius triggered.

  I hit first — aimed at the shoulder socket, the invisible seam between the arm hitbox and the torso hitbox.

  **[-18] [-18] [-14]** — Arcane proc on the second phantom hit, violet light cracking through the bone model.

  The skeleton had 90 HP left.

  Still above 50%.

  I kept swinging.

  **[-16]** — no desync on that one, single hit, clean.

  **[-19] [-19]** — back.

  The skeleton dropped at 7 HP remaining, which was cutting it dangerously close to the 50% call threshold on my math. I had miscounted somewhere.

  But it was dead.

  I exhaled.

  "Beta. Call-ally threshold check — did I come close?"

  "The skeleton's HP crossed 50% for approximately 0.3 seconds before your final hit registered. It attempted to execute the call-allies behavior. The server received the call request."

  My stomach dropped.

  "But your delayed damage registration resolved simultaneously," Beta continued, "overwriting the behavior trigger before it could complete. The call-allies execution was cancelled by your kill landing first."

  "The desync saved me."

  "The desync saved you. Specifically, the 0.4-second gap between your input and damage registration meant your killing blow landed in the same server tick as the behavior trigger, which the game resolved in kill priority."

  I looked at the empty space where the skeleton had been.

  I had won because my chip was broken in exactly the right way at exactly the right moment.

  I was choosing to call that skill.

  "Next room," I said.

  ---

  ### Room Two: The Efficiency Error

  Room two had three skeletons in a loose triangle formation — not a tight group, not solo patrols. A middle configuration that invited a specific mistake, which I made immediately.

  The logic seemed sound at the time.

  Two skeletons were at opposite ends of the room, each on their own patrol arc, passing within five metres of each other at the midpoint of each cycle. The third was near the exit, stationary. If I could engage both patrol skeletons simultaneously — hit one, let the desync phantom hits land on the first, immediately pivot to the second before the first died, chain the burst damage across both — I could halve the clear time on this room.

  I had hit two targets in the same swing before. Not intentionally, but it had happened when enemy hitboxes overlapped.

  "Beta," I said, watching the patrol timing. "If I hit two targets simultaneously with the desync — both phantom hits landing in the same server tick — what happens to the damage packets?"

  "Theoretically, each packet should resolve independently against each target. The server processes them as separate events."

  "Theoretically."

  "I want to note that I have never seen this attempted."

  "Noted."

  The two skeletons converged at the patrol midpoint.

  I moved to stationary position. Waited for them to be within two metres of each other.

  Hit.

  **[-18] [-18] [-14]** — the proc fired, violet light, three packets landing correctly on the first skeleton.

  I pivoted immediately, mid-animation, and swung at the second before the first swing had fully resolved.

  For approximately one second, everything appeared to be working.

  Then the server caught up with what I had done.

  The damage packets from both swings arrived simultaneously — the first skeleton's delayed registration colliding in the same server tick with the second swing's initial registration, four packets total, the server receiving them in an order its damage resolution logic hadn't been designed to handle.

  The result was not damage.

  The result was:

  **[ ERROR: Duplicate source ID — damage packet conflict ]**

  **[ Resolving: defaulting to single-target registration ]**

  One skeleton absorbed all four packets at once.

  **[-18] [-18] [-14] [-16]** — the combined burst hit the first skeleton for 66 damage, dropping it from 90 HP to 24.

  Below 50%.

  The call-allies flag triggered before I could swing again.

  The skeleton's ribcage expanded. A sound like a horn. And from the exit corridor — the one the stationary skeleton had been guarding — two more skeletons came through the door at a run.

  Five skeletons. Room designed for two or three players.

  I had done this to myself.

  "Beta," I said, very evenly.

  "Yes."

  "How many can I survive simultaneously."

  "At current damage output versus their attack values — two, possibly three if the desync fires consistently. Five is not survivable."

  I was already moving.

  The two skeletons I'd accidentally buffed with consolidated damage were both alive — one at 24 HP, one untouched at 140. The two reinforcements from the corridor were closing. The stationary skeleton near the exit had joined the aggro chain.

  I needed to kill the 24 HP skeleton immediately, before the group closed on me.

  I swung.

  **[-16].** Dead.

  Four left. Closing fast.

  I ran the geometry of the room. Two columns, one doorway behind me — back through room one, which I'd already cleared. If I pulled them through the doorway, the frame would break their chain aggro, and I could fight them one-by-one in the cleared room.

  I ran.

  The skeletons followed.

  I made it through the doorway with approximately 0.4 seconds of gap before the nearest one entered swing range.

  I turned.

  The first skeleton through the doorway: **[-17][-17][-13]**. Dead before the second one reached me.

  The second: **[-18][-18]** — no proc on the third phantom. HP 26.

  I had to move. It was at 26, which was still above 50%, but barely, and if I swung again and the desync underperformed—

  The third skeleton came through the doorway.

  Two targets. 26 HP and 140 HP.

  I was not going to make the same mistake twice.

  "Beta. Which one first."

  "The 26 HP skeleton. Kill priority. If it drops below 50% before you finish it, you'll get another call."

  "It's already below 50%."

  "Then kill it in the next swing or it calls again."

  I swung at the 26 HP skeleton.

  **[-19][-19].** Dead.

  The 140 HP skeleton caught me mid-animation.

  **[-52].**

  My HP was 48.

  The two remaining skeletons entered the room.

  ---

  ### The System Corrects Itself

  I had 48 HP, three Level 11 skeletons closing, no potions I was willing to trust, and a mistake I could trace back to a precise moment of overconfidence that I was going to have a great deal of time to contemplate once I was dead.

  Then I noticed something.

  The skeleton that had caught me mid-animation — the one that had hit me for 52 — was standing still.

  Not patrolling. Not attacking. Standing.

  Its behavior tree showed something I hadn't seen before:

  **[ BEHAVIOR_TREE: patrol_default | aggressive_on_sight | call_allies_if_hp_below_50% | PENDING_STATE_REVIEW ]**

  *PENDING_STATE_REVIEW.*

  That flag hadn't been there before.

  The other two skeletons were also frozen — mid-stride, locked, not attacking.

  The server had paused them.

  "Beta," I said. "What is PENDING_STATE_REVIEW?"

  "I don't know that flag. It's not in any documentation I have access to."

  "It appeared after the damage packet conflict error."

  A pause.

  "...I think," Beta said slowly, "the server flagged your session for a consistency check. The damage packet conflict produced an anomalous combat state — five enemies aggro'd from a two-skeleton room encounter, spawned by a call-allies trigger that was itself produced by an error in damage resolution. The server's integrity monitor may have identified the state as potentially corrupted."

  "It thinks my game is broken."

  "It thinks *something* is broken. It's reviewing the encounter state before allowing combat to continue."

  I stood in the middle of room one and watched three Level 11 skeletons stand perfectly still, frozen in mid-chase, while the server ran whatever process PENDING_STATE_REVIEW described.

  Four seconds passed.

  Then:

  **[ STATE REVIEW COMPLETE ]**

  **[ Encounter anomaly detected: excess aggro chain from packet conflict event ]**

  **[ Correction applied: reinforcement skeletons despawned — invalid spawn condition ]**

  The two reinforcement skeletons — the ones I'd accidentally called from the corridor — dissolved. Not defeated. Despawned. Removed from the encounter as if they hadn't been supposed to be there, because from the server's perspective, they hadn't.

  The original skeleton and the 140 HP skeleton remained.

  The PENDING_STATE_REVIEW flag cleared.

  Both skeletons resumed normal behavior as if nothing had happened.

  I had three seconds before the nearest one reached me.

  "Beta."

  "Yes."

  "The server just corrected the state I created."

  "Yes."

  "It removed the consequences of my mistake."

  "It removed the *invalid* consequences. You still have two skeletons, 48 HP, and no potions."

  "That's fair."

  I killed both remaining skeletons in room one. Took another 31 damage doing it. Ended the room at 17 HP.

  I stood in the cleared room and let my heart rate — the haptic simulation of it — settle.

  The server had seen what I did and fixed it.

  Not to help me. Not to punish me. Because my mistake had produced a state the encounter wasn't supposed to be in, and the server's integrity monitor had corrected it the way you correct a spreadsheet formula error: dispassionately, automatically, without caring what the error had cost me to make.

  I had learned something.

  The exploits worked because the server didn't notice them.

  The moment the server noticed, it fixed itself.

  The gap between *working* and *broken* was thinner than I had assumed.

  I noted it in the log, went back to room two, killed the remaining 140 HP skeleton without incident, and moved to room three.

  ---

  ### Room Six: The Undefined Potion

  Rooms three and four went cleanly. Room five had four skeletons in the intended party configuration, and I handled them correctly this time — one at a time, gap-timing, Beta's patrol monitor, no improvisation.

  Room six was different.

  Not the enemy layout. Two skeletons, a simple configuration, nothing I hadn't cleared already. The problem was the floor.

  The room had a raised platform in the centre — decorative, architectural, the kind of dungeon geography that existed for visual interest and occasionally broke navigation. I hadn't noticed it when I entered because I was focused on the behavior trees, and by the time I registered the platform edge, I had already stepped off it.

  The fall was approximately 1.5 metres, which in a game designed for players Level 10 and above should have dealt zero fall damage.

  It dealt 83.

  **[ Fall Damage: 83 ]**

  Not a mechanic I had encountered before. Not one I had seen documented. My HP had been 89 from the room-five clear.

  **[ HP: 6/189 ]**

  Six HP.

  The skeletons were already turning.

  I had no time to run, no room to kite — the platform I'd fallen from blocked retreat, the skeletons were three metres away, and their behavior trees showed *aggressive_on_sight* updating to *target_locked* in real time.

  "Beta," I said.

  "Yes."

  "Options."

  "One," Beta said. "You have one."

  The undefined health potion.

  I had been carrying it since the tutorial. I had not used it because its effects were unknown. I had been treating it as a psychological safety net — the comfort of having something in reserve was worth more than the thing itself, as long as I never actually needed it.

  I actually needed it.

  I opened my inventory.

  **[ Health Potion (Undefined) ]**

  **[ Effect: ??? ]**

  **[ NOTE: This potion's formula was changed four times during development. The current version is unclear. — @Dev_Brewmaster_Sato ]**

  The skeletons were two metres away.

  I drank it.

  Nothing happened for 0.8 seconds, which was enough time to consider that I had just consumed something with an unknown formula in a moment of desperation, which was exactly the kind of decision that deserved its own category in a risk-adjusted spreadsheet.

  Then my HP bar did something I had not seen it do before.

  It didn't regen.

  It *recalculated.*

  **[ HP: 6 → Recalculating base value... ]**

  **[ Base HP recalculated: 189 → 214 (potion: constitution_buff_v3, unlisted) ]**

  **[ Current HP: 214/214 ]**

  Full health.

  Not because I'd healed. Because the potion had retroactively changed my maximum HP, and the game had then set my current HP to the new maximum.

  I stood in room six at full health, facing two skeletons that had expected to kill something at 6 HP.

  They did not get what they expected.

  "Beta," I said, after I'd killed them both.

  "Yes."

  "The potion increased my max HP."

  "It appears to have applied a constitution buff that altered the base HP calculation. The buff is temporary — I expect it will expire in approximately ten minutes."

  "So my HP is 214 for ten minutes."

  "Yes."

  "And then it returns to 189."

  "Yes."

  "That's not a health potion. That's a temporary stat modifier that resolves as healing because of how the HP calculation works."

  "That appears to be the case. The developer's note mentioned four formula changes. I think the intent was a healing potion. The result is something that achieves the same outcome through a different mechanical path."

  I looked at my inventory.

  The potion slot was empty.

  I had used my safety net. Used it on a fall damage mechanic I hadn't seen documented, in a room I would have cleared safely if I'd been paying attention to the floor.

  I was alive because I had made a mistake and had a safety net, and I had spent the safety net, and I had no idea the safety net would work the way it did when I used it.

  That was not a strategy.

  That was luck with extra steps.

  I filed it.

  "Next room," I said.

  ---

  ### The Timing Problem

  Room seven had four skeletons in the intended party configuration. Standard. I had done this.

  Except now I knew that improvising cost me resources I couldn't replace, that the server actively corrected states I shouldn't be able to create, and that I had zero safety nets remaining.

  Which meant the gap-timing had to work.

  No efficiency shortcuts. No chaining targets. One skeleton at a time, patrol gap, kill window, repeat.

  "Beta. Patrol monitor. Same as last time."

  "Preparing." A beat. "I want to note that you have no health potions."

  "I know."

  "And you cannot survive four simultaneous Level 11 skeletons."

  "I established that in room two."

  "I want to make sure you remember."

  "I remember."

  "Good."

  Then: "Patrol gap in five seconds."

  I positioned myself.

  "Three seconds."

  I adjusted my grip.

  "One second."

  The skeleton stepped into the gap.

  "Now."

  I moved.

  Swing — desync triggered — **[-17][-17][-13]**. Arcane proc. Violet light.

  The skeleton turned. Aggro locked. HP: 73.

  Swing — desync triggered — **[-19][-19][-15]**. No proc.

  HP: 20.

  Three seconds elapsed. The skeleton was cycling back.

  "Two seconds remaining," Beta said, with a quality in its voice I could only describe as *invested.*

  I swung clean, no waiting for desync, the single fastest hit I could execute.

  **[-18].**

  The skeleton dropped at exactly 2 HP remaining in its safe window.

  I stood very still.

  "Beta."

  "Yes."

  "That was close."

  "0.7 seconds of margin."

  "That felt like less."

  "Combat subjectively compresses time. It felt like less because you were in danger."

  "I noticed."

  I looked at the other three skeletons, still on patrol, unaware.

  Three more gaps.

  Three more runs.

  I rolled my neck.

  "Next one."

  ---

  ### End of Session

  I cleared the Ashvault in three hours and forty minutes.

  Solo.

  With a broken level variable, a cracked-looking dagger, one health potion consumed under duress in conditions I could not have planned for, and a technique I was already mentally calling *gap-timing* that existed nowhere in any guide or forum post because it required seeing enemy behavior trees to execute.

  Loot:

  - 2,340 gold in drops and chest rewards

  - 4 crafting materials (Ashvault Bone Shard, tradeable)

  - 1 Rare accessory: **[ Dusty Warding Ring — DEF: 8 | {HIDDEN_TAG: undead_affinity_passive_dormant} ]**

  The second ring had a dormant passive I couldn't activate yet. Another ???. Another thing to log and park.

  But 2,340 gold.

  At current exchange: ¥11,700.

  Past my daily goal. Day three. Solo dungeon run.

  I sat at the dungeon exit, the stone archway opening back onto the sunlit hillside, and let myself feel the number for approximately four seconds.

  Then I opened the spreadsheet.

  Day three. ¥11,700. Rent in six days. Still ¥56,300 short.

  The curve was pointing the right direction. That was all.

  Behind my ear, the chip was warm.

  Scale reading: six.

  Higher than this morning.

  I noted it in the log.

  I noted it and I did not act on it, because acting on it meant calling TechDealerKojimaNotTheGameDesigner and spending ¥28,000 on an upgrade from a man I didn't trust, and the numbers today were good, and the chip had not crossed seven yet.

  Seven was my threshold.

  Everything under seven was acceptable.

  I logged out.

  In the real world, my phone had a missed call from a number I didn't recognize — not the debt agency's number, not TechDealer's, not anyone in my contacts.

  Unknown caller. No voicemail.

  I set the phone face-down.

  Probably nothing.

  In the Ashvault, the archer from earlier — the Level 12 woman who'd asked if I was lost — had passed me on her way out as I was still cataloguing loot. She'd looked at my haul. Then at my still-undefined name tag.

  She'd said nothing.

  But she'd looked at me differently than she had at the entrance.

  Not like someone who was lost.

  ---

  *[ END OF CHAPTER 4 ]*

Recommended Popular Novels