NEW GAMES ADDED WEEKLY!
🔥 295+ FREE GAMES  •••  🆕 JUST ADDED: ABSTRACT SHMUP WTF  •••  🎟 EARN TICKETS JUST BY PLAYING  •••  🏆 BEAT THE HIGH SCORES  •••  💬 THE FORUM IS NOW LIVE  •••  ⭐ NO DOWNLOADS — NO PLUGINS  •••  👾 TELL A FRIEND!  •••  
📖 THE BACKROOMS← WIKI
The Backrooms screenshot

Find the key. Find the door. Go down. Something is already here.

The Backrooms is a first-person, grid-step raycaster lost in the endless yellow maze. Every level is a fresh, procedurally generated warren of damp corridors under buzzing fluorescent tubes. Hold forward and you keep walking. The first five doors are unlocked — find them and go down; from level six they carry a lock and you need the key. One person is stranded on every floor, and anyone still following you when you reach a door gets out with you. Something else is down there too. You will hear it before you see it. (v1.0 — Released; game build I.)

▶ PLAY THE BACKROOMSVERSION Iby John

STORY & LORE

The endless rooms

There is no way up, only down. Each door drops you into another layer, and the walls are always the same damp humming wrong. Depth is the only measure of how long you lasted.

You are not alone down here

Shades drift the halls. They cannot be fought — only avoided, lost around a corner, or outrun. And every so often the lights simply cut out.

HOW IT PLAYS

Hold forward and keep walking

Movement is grid-step: one tile at a time, turning in 90° steps, deliberate rather than free-look. Holding a direction now keeps you going — forward and back chain with no pause between tiles so a corridor is one smooth glide, while a held turn is gated a little wider so it reads as deliberate instead of spinning you. W A S D and the arrow keys — both, always, all four directions on each; on a phone the portal's Console Shell D-pad does the same thing, hold included. Let go, or click away from the window, and you stop immediately.

It starts small and gets bigger

Level 1 is a 20×20 Threshold: a handful of corridors, no shades, nothing hunting you. It is there so the first time you hear one it means something. Levels 2–3 are 30×30, then 48×48, then 72×72, then the claustrophobic Trapped preset. Past level 15 the size is rolled fresh every floor and the odds of the sprawling 128×128 Colossal climb the whole way down — one in ten at level 16, about half the time by level 60 — so there is no depth at which the game settles into a shape. How many shades a floor holds follows its actual area, one per 1400 tiles, plus another every eight levels: none on level 1, one on a Small, two on a Large, four on a Giant, and up to nine once you are deep enough that the ceiling on it has risen that far.

The floor is inspected before you are put in it

A random carve produces a usable maze most of the time and something miserable the rest of it — a warren of one-tile stubs with no way round, or a floor so sparse the exit is six tiles from where you spawned. So the level is built, measured, and rebuilt if it is a bad floor to be chased around: up to eight attempts, kept only if enough of it is reachable, there are at least two places the door could go, and it is not mostly cul-de-sac — otherwise the best of the eight, so it never hangs on a hard case. Extra links are cut between random rooms because a pure tree means every wrong turn is a dead end with something behind you, and the worst of the one-tile stubs are filled back in over two passes. In practice about half of every floor is walkable, one to three per cent of it is a dead end, and even a Small level has a few hundred distinct loops to go round. The exit is then placed at the candidate FURTHEST from your spawn, so the walk there is the level: sixteen steps on level 1, sixty by level 8, close to ninety by level 40.

There is no bottom

Nothing about the game settles down. Every dial is one curve of the level number, and each of them keeps moving past the last named step: how far a shade can see you, how fast it steps, how many lights are on the ceiling, how often and how long the blackouts are, how many uses a spray can holds, and how likely you are to find a map at all. At a fixed floor size nothing ever gets easier between level 2 and level 80, and the numbers at 80 are still moving. It is meant to go past what you can play — the score is how deep you got before it did.

The door, and the ones that are locked

Somewhere in the boundary wall of every level is a heavy green fire door with an EXIT sign over it — the only object down here that looks like it was put there on purpose. The first five just open: push the bar and you are through. From level six they carry a bolted-on lock plate with a keyhole, and a key is hidden somewhere on the floor; walk into a locked one without it and it rattles and refuses. The keyhole turns green the moment you are carrying the key, so the door tells you before you reach it.

The shades, and the end of the run

Shades roam every level from the second one down. Standing, one barely moves — it sways, its head rolls a fraction on its neck, and its arms hang past its knees; you cannot tell from across a room whether it has seen you. The moment it does, it rears up, throws its arms forward, opens a jaw the whole length of its face and lurches at you down the corridor. Break the sightline and it loses you. Step onto its tile and it takes you, and that ends the RUN, not the level — the depth you reached is submitted and you start again at level 1. They can also never make a floor impossible: a shade is fatal to touch, so one wandering back and forth in a one-wide corridor between you and the key would be a level you could not finish however well you played. The game floods the maze from your position twice a second with the shades treated as walls, and if what you need is cut off it works out which shade is doing the cutting and moves it — a nudge first, and if the corridor is long enough that no neighbouring tile helps, out of it entirely. It will not walk straight back into the gap either, unless it can see you. They also cannot see across the building: their sight is a RANGE, seven tiles on level 2 and rising the whole way down, so an early floor gives you room to make a mistake and a deep one does not.

The survivor, and what their face tells you

One person is stranded on every level, and they are the only thing down here with a face: a plain smiley, two eyes and a line for a mouth, drawn the way a child draws one. Before you reach them they are slumped and frowning, blinking slowly, having clearly been here a while. Once they are following you they stand up, bounce as they walk and grin with their eyes shut. And the instant anything gets line of sight on you they go rigid — eyes wide with the whites showing, mouth a small O, shoulders up, shaking — which usually tells you something is coming before you have worked out what. Anyone still following you when you reach a door walks out with you, and the death screen tells you how many you got out — which is the only thing you can take with you besides the depth.

The lights

Fluorescent tubes run in rows down the ceilings, and in build B you can finally see them: yellowed tubes in dirty diffusers with dead flies in the plastic and a pool of light bleeding out underneath. They hum, they flicker, and every so often the whole maze lurches into a near-total blackout for a heartbeat. Light falls off away from you in every direction, so a hallway dies into black about ten tiles out.

Level 1 is the yellow room

Level 1 is always the canonical mono-yellow damp wallpaper — the room everyone pictures, and the one you were promised. From level 2 the palette wanders through 28 sets, some plausible and some very much not, which only works because you were given the real thing first. The floor and ceiling surface varies independently of the colour — carpet, tile, or bare slabs — so two yellow levels are still never twins — and since the grime is regenerated on arrival, the same preset visited twice is not even the same wallpaper.

Tools in the dark

Somebody is stranded on every floor, and they will follow you once you reach them. Pick up neon spray paint (SPACE, or the A button) to mark tiles you have already walked — the marks glow, which is often the only way to tell one corridor from another. And if you find the map, M (or the B button) brings up a zoomed plan of the tiles around you.

What it looks like down there

The view is 72° across with rooms about a room-and-a-half tall, and your eye sits below the middle of the wall, so ceilings read as high. Light falls off away from you across every surface — walls, floor and ceiling all use the same curve — and the ceiling is the darkest of the three, because the tubes shine down. Floors and ceilings carry perspective-correct seams that recede properly. The wall grime is GENERATED rather than picked from a set: every level bakes twelve fresh textures, each one a base of stripes, panels or grid with two or three kinds of damage composed on top from a pool of eight — water running down from the ceiling, a bloom of mould, scuff marks at shoulder height, torn paper, a splash up from the floor. Each wall face picks one from its own coordinates and half of them are mirrored, so a panel is consistent every time you walk past it, different from its neighbours, and no two levels are papered with the same dirt.

Being hunted

You will hear them long before you see them. Every shade breathes every few seconds — quieter and duller the further off it is, and panned to the side it is actually on, so a corridor can be ruled out with your ears. Once one has your scent it screeches from its own position, the dark closes further in from the edges, the colour drains, and a slow pulse rides underneath, all tightening the nearer it gets. Nothing tells you it is chasing. The room just gets smaller.

The way in

The menu is not a page about the game — it is the game, running. A corridor is generated and drifts slowly behind the title, with the door, the key, the map, the spray can and a survivor drawn from the same textures you will meet in there. The level it renders is built quietly: it banks no score and fires no achievement. The one thing it will not show you is what is down there with you: that tile is a question mark.

Pausing

ESC pauses, and so does START on the Console Shell. The pause screen is the SAME screen as the front door — it already carries the controls, the item strip and your record, so a second panel saying the same things would only be another thing to keep in step. The room stays on screen behind it, genuinely frozen: the lights stop flickering, the shades stop moving, and a half-finished step stays half-finished and continues from where it was. Everything scheduled against the clock slides forward with it too, so the level does not fire all at once the moment you come back. Any key, or a tap, and you are in.

Badges

Ten of them, and none need explaining: go through your first door, reach level 5, 10, 20 and 50, open a bolted door with the key, walk a survivor out, walk three out in one run, arrive on a Colossal floor, and shake off a shade that had been hunting you for a few seconds — which is the only thing that counts as beating one, since they cannot be fought.

LAYOUTS

Which preset a level uses depends on how deep you are — until level 15, after which it is rolled fresh every floor with the Colossal odds climbing. How many shades it holds follows the floor area, one per 1400 tiles, plus one more every eight levels.

20 × 20
Threshold
level 1
30 × 30
Small
levels 2–3
48 × 48
Large
levels 4–6
72 × 72
Giant
levels 7–10
56 × 56
Trapped
levels 11–15
128 × 128
Colossal
level 16+, 1 in 10 rising to 1 in 2

THE CURVE, AT A FIXED 48×48 FLOOR

Every one of these is a function of the level number alone, so the comparison is honest: same floor, four depths. None of them ever moves back the other way.

2 shades
Level 2
the first with anything in it
4 shades
Level 20
8 shades
Level 50
9 shades
Level 80
and still moving

WHO IS DOWN HERE

Neither of them can be fought. Both are animated; only one of them has a face.

harmless
The survivor
a smiley face, badly drawn
fatal
The shade
taller than you, arms past its knees

CONTROLS

The same actions on a keyboard and on the Console Shell. Both movement schemes work at all times.

D-pad
Move
W A S D / arrows
A
Spray
SPACE
B
Map
M
START
Pause
ESC
Drop / Sound
G / P

DOORS

The lock is a difficulty step, and a way to teach the door before it starts asking for something.

walk out
Levels 1–5
unlocked
key required
Level 6+
lock plate + keyhole

ACHIEVEMENTS

Ten badges. Most of them are things you will do on the way down anyway; two of them almost nobody will get.

bronze
The First Door
Find a door and go down. There is no way back up.
bronze
Deeper
Reach level 5 in a single run.
silver
No Way Out
Reach level 10 in a single run.
gold
Lost Forever
Reach level 20 in a single run. Almost nobody does.
legendary
Past Expectations
Reach level 50. The levels never stop getting worse.
bronze
Keyholder
Find the key and walk out through a bolted door.
silver
Shook It
Break away from a shade that had been hunting you.
silver
Not Alone
Walk a survivor out through a door.
gold
Search Party
Walk three survivors out in a single run.
gold
The Colossal
Enter a Colossal level — 128 by 128 rooms.

GALLERY

VERSION HISTORY

VERSION I2026-08-21
  • FIVE MORE BADGES, all simple: The First Door (go down once), Keyholder (open a bolted door with the key), Shook It (break away from a shade that had been hunting you for a few seconds — the only thing that counts as beating one), Search Party (walk three survivors out in a single run) and Past Expectations (reach level 50, which is there because the levels no longer stop getting worse). Ten in total.
  • FIXED: "Not Alone" fired the moment you REACHED a survivor, not when you walked one out — so a badge that reads "walk a survivor out through a door" was being handed over for standing on a tile, and the trip to the door it is actually describing counted for nothing. It now fires at the door.
VERSION H2026-08-20
  • THE WALL DIRT IS GENERATED, not chosen. It was four fixed grime textures, which you stop seeing after a corridor or two. Every level now bakes twelve fresh ones: a base of stripes, panels or a tile grid, then two or three kinds of damage composed on top out of a pool of eight — water running down from the ceiling, mould bloom, shoulder-height scuffing, torn paper, a splash up off the floor. Each wall face picks one from its own coordinates and half of them are mirrored, so a panel is the same every time you pass it, different from its neighbour, and a level you return to is not even papered with the same dirt.
  • THE MAPS ARE INSPECTED BEFORE YOU ARE PUT IN THEM. A floor is carved, measured and rebuilt if it is a bad one to be chased around — up to eight attempts, kept only if enough of it is reachable, at least two places the door can go, and it is not mostly cul-de-sac; otherwise the best of the eight, so it can never hang. Extra links are cut between random rooms so most wrong turns have a way round instead of being an execution, and the worst one-tile stubs are filled back in over two passes. Measured across ten depths: about half of every floor walkable, 1–3% dead ends, hundreds to thousands of loops.
  • THE EXIT IS NOW THE FURTHEST DOOR FROM YOUR SPAWN, not a random one — picking at random sometimes put it six tiles away, which is not a floor, it is a corridor. The walk to the door is 16 steps on level 1, 43 by level 5, 62 by level 8 and near 90 by level 40.
  • ONE DIFFICULTY CURVE, AND NO BOTTOM. Sight range, shade step time, how many ceiling tubes are lit, blackout frequency and length, spray uses and the odds of finding a map are now a single function of the level number, and every one of them keeps moving past the last named step. Shade sight in particular used to be UNLIMITED — one could see you the length of the building on level 2 — and is now 7.9 tiles there, 31 by level 80. The shade cap rises with depth instead of sitting at four, the floor-area term was tightened so a 48×48 is never as empty as the 30×30 above it, and past level 15 the Colossal odds climb from 1-in-10 towards 1-in-2. Verified at a fixed floor size across 80 levels: nothing ever gets easier, and the numbers at 80 are still moving.
VERSION G2026-08-16
  • M IS THE MAP. It was V, which is not a word for anything. Sound moved to P to make room, and the Console Shell B button follows it.
  • THE PAUSE SCREEN IS THE MENU. ESC (or START on the shell) holds the game and brings up the same panel as the front door — it already had the controls, the item strip and your record on it. The room stays behind it, frozen: no flicker, no shades, and a half-finished step resumes from where it was. Every clock-scheduled thing — the next blackout, each shade's next step and next breath, the fairness sweep — slides forward by the paused time, so nothing fires all at once when you come back.
  • W A S D and the arrow keys are both confirmed working, all four directions on each, with a test that presses every one of the eight and checks the camera actually moved.
VERSION F2026-08-16
  • THE LEVEL IS ALWAYS FINISHABLE, and this needed real work. A shade is fatal to touch, so one standing in a one-wide corridor between you and the key is a floor you cannot complete however well you play. Twice a second the maze is flooded from your position with the shades treated as walls; if the key or the door is cut off, the game identifies WHICH shade is cutting it and moves it. A nudge to the neighbouring tile furthest from the objective usually does it. When the key sits at the end of a long one-wide corridor, no neighbouring tile helps — every square it can reach still blocks you — so after two failed nudges it is moved out of the corridor entirely, to a far tile you cannot currently see. It then will not walk back into the gap for several seconds, unless it can see you, in which case it comes anyway.
  • A shade can no longer stand ON the key or on the tile in front of the door.
  • The floor plan is called a MAP, which is what it is.
  • The menu shows a QUESTION MARK for what is down there with you. Every other tile on that strip is the real texture from the game; this one is deliberately not.
  • The death screen is two lines: YOU MADE IT TO LEVEL n, and TRY AGAIN? The count of who got out with you moved to the small line at the bottom, next to your record.
VERSION E2026-08-16
  • THE PROJECTION WAS WRONG, and it is behind a lot of "that does not sit in the room". The raycaster builds its rays from a camera plane scaled by tan(FOV/2); the sprite maths used the same plane direction WITHOUT that scale, so horizontal placement came out a factor of tan(FOV/2) short and every sprite was dragged toward the centre of the screen relative to the wall behind it. There is one projection function now, used by sprites, by the ceiling fittings, and by anything else that needs to know where a point in the room lands on the frame.
  • THE LIGHTS ARE REAL GEOMETRY. A billboard always faces you, so a long strip light looked like a sticker on the ceiling however you stood — it never foreshortened, never skewed, never ran away down the corridor. Each fitting is now the actual rectangle it occupies on the ceiling plane, sampled in segments so the perspective is honest and each piece depth-tests against the walls on its own. It also runs ALONG its corridor rather than always the same way.
  • THE FIRST FIVE DOORS ARE UNLOCKED. You find the door and you go down. From level 6 they carry a bolted lock plate with a keyhole, a key is hidden on the floor, and walking into a locked door without it rattles the handle and says so instead of silently refusing. The keyhole turns green once you are carrying the key.
  • SURVIVORS ARE WORTH SOMETHING NOW. Anyone still following you when you reach a door gets out with you, and the death screen counts them. The face states finally have a payoff.
  • YOU CAN HEAR THEM. With ten tiles of vision and corridors this tight there was no warning at all. Each shade breathes every few seconds, quieter and duller the further off it is, and panned through a stereo panner to the side it is actually on — so "there is something on this floor" becomes "it is behind me and to the left". The screech when one spots you is positioned the same way.
  • A REAL JUMPSCARE. It used to be a noise. The head now rushes out of the frame at you over a fifth of a second, torn into offset ghosts and shaking hard enough to blur, with the picture blown out to a sick white behind it — the first attempt threw a black silhouette at a dark corridor and was literally invisible — and rows of the frame shoved sideways at the moment of impact. The audio ducks the ambient pad to silence a beat BEFORE the hit, which is most of why it lands.
  • A SIMPLER DEATH SCREEN: what got you, how deep you got, how many people got out, and one instruction. The prose is gone.
  • THE MENU IS THE GAME, RUNNING. Title, one line, and a strip of the things you are looking for drawn from the game’s own textures, over a real corridor that drifts slowly behind it. The game is called THE BACKROOMS and the menu says so.
  • The run HUD no longer shows through the menu or the death screen.
VERSION D2026-08-16
  • BOTH CREATURES ARE ANIMATED. They were single still images. The shade now has two five-frame cycles: standing it sways and its head rolls on its neck, and its arms drift — it does not walk, it waits; chasing, it rears, its arms alternate as it grabs, its legs scissor and the whole body rises and drops as it lurches. Its ragged outline is re-bitten from fresh noise on EVERY frame, so the silhouette crawls constantly and never settles into a shape you can read.
  • THE SHADE HAS A JAW. Shut while it is waiting; once it is coming for you it opens the whole length of its face, wider the deeper into the lunge, with a rim of small uneven teeth. Its eyes brighten at the same moment.
  • THE SURVIVOR HAS A FACE, and it is the readout for the whole game. A plain smiley — two eyes and a line for a mouth. SAD before you reach them: slumped, head down, arms limp, one slow blink a cycle. HAPPY once they follow: upright, bouncing, arms swinging, eyes shut with the grin. SCARED whenever anything has line of sight on you: eyes wide with the whites showing, mouth a small O, shoulders up, and genuinely trembling — the shake is in world space, so they shudder in place rather than sliding across the screen. Four frames each.
  • BEING HUNTED CHANGES THE FRAME. The vignette closes further in, the colour drains, and a slow pulse rides underneath, all three tightening as it gets nearer. Nothing tells you it is chasing; the room just gets smaller.
  • SPRITES ARE DEPTH-SORTED. They were drawn in a fixed order — items, then the survivor, then the shades — so a shade six tiles away painted straight over a survivor standing two tiles in front of you. The z-buffer only settles sprites against walls, never against each other. Everything is queued with its distance now and drawn far-to-near.
VERSION C2026-08-16
  • THE LIGHTS WERE IN THE WALKWAY. A sprite was placed by nudging it up or down by a fraction of its OWN height, so a small fitting could never reach the ceiling however hard it was pushed — the tubes ended up floating at head height in the corridor. Sprites are now anchored to a surface: the floor, or the ceiling, with an optional lift in room-heights. Fittings hang from the ceiling and stay there at any distance.
  • A WIDER VIEW AND HIGHER CEILINGS. 60° was a keyhole; it is 72° now. Rooms are half again as tall as they are wide and your eye sits below the middle of the wall, so ceilings read as high. Walls, floor, ceiling and every sprite are derived from the same three constants, so they cannot drift apart.
  • ONLY LEVEL 1 IS THE YELLOW ROOM. Build B pinned levels 1 AND 2, which made the opening look like one fixed place. Level 1 is still always the canonical yellow — it is the room you were promised — and everything below it wanders again.
  • NOT EVERY WALL IS THE SAME DIRT. There was ONE grime texture repeated across the entire catalogue of walls. There are four now — papered, water-damaged, nearly clean, and peeling with the backing showing through — picked from each tile's own coordinates so a wall is consistent as you walk past it but different from its neighbour, plus a small per-panel brightness jitter.
  • FLOORS AND CEILINGS HAVE SURFACES. Each level rolls carpet, tile or concrete. Because a horizontal plane makes every screen row a single world distance, the seams recede correctly and the shading matches the walls exactly — for one fill per row, not per pixel. The ceiling is now the darkest of the three planes, because the tubes shine down.
  • BOTH CREATURES WERE A BLOB WITH A SMALLER BLOB ON TOP. The companion is now a pale figure, too thin, with two dark hollows for a face and legs that fade before they reach the floor. The shade is drawn in two poses: standing perfectly still with its arms hanging past its knees, and — once it has seen you — reared up and reaching, lurching as it comes. Its outline is deliberately bitten into so it never resolves into a clean shape.
  • PICKUPS FLOAT NOW. The key, the floor plan and the spray can used to lie flat on the ground like decals. They hover about a third of the way up the room, bob out of step with each other, carry a warm halo and pool a shadow on the floor beneath them.
  • LEVELS START SMALL AND GROW, and level 1 is EMPTY. It used to open on a 48×48 maze with two things already hunting you — a lot of nothing to walk through before anything happens. Level 1 is a 20×20 Threshold with no shades at all, so the first time you hear one it means something; the count then follows the floor area, up to four on a Colossal level.
  • THE SOUND DIED AFTER THE FIRST SCARE, and here is why: every cue built its OWN ConvolverNode over a freshly generated multi-second impulse and left it wired to the master forever. A screech is two of those, a jumpscare two more, and the ambient whispers keep adding them — within a minute the audio thread was convolving a dozen live impulse responses and the mix crackled out. There is now one shared reverb for the whole game, and a limiter on the master so stacked scares clip cleanly instead of tearing. Measured: twelve consecutive scares create zero new convolvers.
  • Sprites also clip properly instead of squashing: the old code stretched a whole texture into whatever vertical space was left, so anything close enough to overflow the frame silently compressed.
VERSION B2026-08-16
  • HOLD TO WALK. Holding a direction only ever moved you one tile — the handler explicitly suppressed key repeat, so you had to tap for every single step. Input is now polled: forward and back chain with no gap, a held turn is gated so it does not spin, a tap is buffered for 300ms so a press during a step is never eaten, and losing window focus stops you rather than leaving you walking.
  • A MAIN MENU. The game used to boot straight into a maze. It now opens on ENTER THE BACKROOMS, and the same screen comes back, colder, when something finds you.
  • BEING CAUGHT ENDS THE RUN. Previously capture quietly rebuilt the same floor, so nothing was ever lost and DEEPEST LEVEL really measured how long the tab stayed open. The run now ends, the depth is submitted, and you go back in at level 1 — which makes level 20 a real achievement rather than a waiting game.
  • THE UI IS THE GAME NOW. Every emoji is gone. One typeface, one sick fluorescent yellow, one dead grey and black; no rounded pills or glassy panels; scanlines and grain over the whole frame; a dying tube flickering behind the menu. The empty item slot no longer draws a widget saying it is empty.
  • THE LIGHTING WAS BACKWARDS. The ceiling and floor gradients brightened toward the HORIZON — the furthest thing on screen — so the end of every corridor glowed while the ground at your feet was nearly black and the walls went pitch dark against a lit background. Both now fall off away from the player, and the wall falloff was stretched from 6 tiles to about 10 with a trace of ambient light. This is the single biggest visual change in the build.
  • LEVELS 1 AND 2 ARE ALWAYS THE YELLOW ROOM. The palette used to be random from level one, so the first thing a new player saw was often lilac or teal. The canonical mono-yellow comes first now; the wandering starts at level 3.
  • YOU CAN SEE THE LIGHTS. `lamps` brightened nearby walls but nothing was ever drawn, so the buzzing came from nowhere. Tubes are now real objects in rows down the ceilings, with dirty diffusers, dead flies and a glow pooling underneath.
  • THE DOOR IS A DOOR. It was a cycling RAINBOW gradient with the next level number stencilled on it. It is now a heavy green fire door: kick plate, push bar, grime, and a small EXIT sign.
  • PERFORMANCE. The per-column wall loop recomputed every lamp and spray distance for all 256 screen columns even though the result depends only on where the player stands — 199,680 Math.hypot calls a frame on a Colossal level, measured at 4.19ms of a 16.7ms budget. Hoisted to once a frame: 0.04ms.
  • MONSTER PATHFINDING allocated a fresh grid of nested Arrays per step and walked its queue with Array.shift(); it now reuses one flat typed array with a head pointer. The level-generation flood fill got the same treatment.
  • AN AUDIO LEAK, and the worst bug in the file: every whisper, screech, blackout and jumpscare built a ScriptProcessorNode whose callback then ran on the audio thread forever, because nothing ever stopped or disconnected it. A long descent quietly accumulated dozens of permanent noise generators. One pre-baked noise buffer is made once and each burst now ends and is collected.
  • MOBILE. Face buttons arrive as KeyboardEvent.code ('KeyV'), which the old handler — which only lower-cased .key — could never match, so the map button did nothing at all on a phone. Both are resolved now, the shell gained a second face button for the floor plan, and the menu fits a short screen instead of pushing its own instructions off the bottom.
  • Graduated to v1.0 — Released. Measured at 61fps on a 128×128 Colossal level with 780 lights and shades chasing.
VERSION A2026-07-27
  • First wiki, documenting a big overhaul of an original founder game (v0.2 -> v0.7).
  • Atmosphere pass: damp wallpaper/baseboard/stain texturing on every wall, buzzing fluorescent flicker, random near-total blackouts, depth-fog and a closing vignette — turning the flat bright maze into a proper liminal dread space.
  • Wired to the arcade for the first time: depth is now a leaderboard score (DEEPEST LEVEL), descending banks TIX, and five achievements were added (reach depth 5/10/20, find the companion, enter a Colossal level). Capture reports a game-over.
  • Mobile support via the portal Console Shell (features.gamepad: D-pad + USE) instead of an in-screen pad; verified the shell drives movement. Marked mobile-friendly.
  • Cleaned up the HUD to a minimal DEPTH + objective readout and removed the debug map cheat.
  • Studio: John.