TO PLAY ON BROWSER: You must use Chrome, or a controller. Mouse input is busted AF in Firefox, sorry!

Deep Yellow

Every step is a turn. Every turn is a fight.

A turn-based roguelike that plays like Vampire Survivors trapped in the Backrooms.

Move through infinite procedurally generated hallways. Every step is a turn. Every turn, you automatically attack nearby entities—and they attack back. Manage your HP, sanity, and mana as corruption builds and the yellow bleeds deeper.

Turn-based automatic combat. No clicking to attack. Move or wait, and let the carnage unfold. Positioning and timing are everything.

Item synergies across three pools. Items spanning BODY, MIND, and NULL—each with attack tags that combine for multiplicative effects. A sound build with Siren's Cords, Coach's Whistle, and Brass Knuckles plays completely differently than a mana-regen NULL build.

Vending machines. Find scattered shops selling items—but the price is permanent. Trade max HP, sanity, or mana for power. How much of yourself are you willing to spend?

Progressive revelation. Items and lore reveal more as your clearance level rises. Browse the full codex once you've earned the right to know.

Sanity system. Every 13 turns, the Backrooms wear on your mind. Nearby threats accelerate the decay. Kill to restore what you've lost—or let the yellow take you.

PSX aesthetic. Vertex jitter, fog, dithering. Cracked walls, mouldy growths, spraypainted warnings left by those who came before. The 3D menu drifts through Level 0 before you even start.

Entities with distinct behavior.

  • Smiler: Watches from the darkness. Immune to everything except sound. You'll need the right build.
  • Bacteria Spreader: Heals its allies. Kill it first, or watch the swarm regenerate.

Infinite procedural generation. Chunks generate seamlessly with guaranteed connectivity. No dead ends. No escape.

Includes a hand-crafted tutorial level to learn the systems. Currently in active development with regular updates. First-person view, controller support, playable in browser (Chrome). Made with Godot. Code-assisted by Claude.


Download

Download
backrooms-power-crawl-windows.zip 49 MB
Version v0.9.0 21 hours ago
Download
backrooms-power-crawl-linux.zip 40 MB
Version v0.9.0 21 hours ago

Install instructions

Unzip the .tar.gz file and launch the executable.

Comments

Log in with itch.io to leave a comment.

v0.9.0 — Map Overlay

What’s New in v0.9.0

Full-Screen Map Overlay (X key / X button)

A full-screen map overlay with three panels:

  • Center Map: Rendered from a tile cache with fog of war — only tiles you’ve visited are visible. Fixed north-up orientation with 6 zoom levels.
  • Marker Panel (left): Place up to 10 markers per level. Select a marker to highlight it on the map, then “Go To” to auto-navigate there or “Delete” to remove it.
  • Enemy List (right): Shows all entities within perception range, sorted by distance. Examined entities display name and threat level; unexamined show as “Unknown Entity”.

“Go To” Marker Navigation

Selecting “Go To” on a marker closes the overlay and auto-explores directly to the marker position. Unlike normal auto-explore, goto navigation ignores items and vending machines — it goes straight to the target. If the marker is in an unloaded chunk, the system uses intermediate waypoints to navigate there as chunks load. Enemies, damage, and HP/sanity thresholds still stop navigation.

Controls

| Input | Gamepad | Mouse + Keyboard | |—––|———|—————–| | Open/Close | X button | X key | | Close | B / Start | ESC / MMB | | Navigate | Left stick | Mouse / Arrow keys | | Select | A | Click / Enter | | Zoom | D-Pad L/R | Arrow L/R / Mouse wheel |

Really happy to see this live and excited to blow many hours on it, haha

Thanks so much! 😊

v0.8.3 - Examination Hotfix

Hotfix

Examination Fixed in Exports

Entity examination was showing “Unknown” / “[DATA EXPUNGED]” in exported builds (web, linux, windows) instead of actual names and descriptions. This is now fixed — examining walls, enemies, and objects works correctly again.

This was a latent bug introduced in v0.8.2’s codex improvements, where a compile-time const reference couldn’t be resolved by Godot’s bytecode compiler in export builds.

v0.8.2 — Performance & Polish

What’s New

Massive Minimap Performance Boost

The minimap now runs 10x faster during exploration. Instead of redrawing the entire map every turn, it smartly updates only the new tiles you can see. Auto-explore is buttery smooth now.

Minimap Loads Instantly

No more black patches on the minimap when you first load into a level — the map renders correctly from the very first frame.

Manual Movement Reveals the Map

Previously, only auto-explore would uncover the minimap as you moved. Now walking manually reveals tiles around you the same way auto-explore does.

Codex Fixes

  • Items from other levels (like tutorial meat) now show their correct names in the codex instead of “Unknown”
  • Non-hostile objects like vending machines and exit holes now appear under “Environment” instead of “Threats”

UI Polish

  • The codex now closes cleanly when you unpause
  • Action hints hide while the codex is open so they don’t overlap

Under the Hood

  • Removed ~820 lines of dead code across 28 files for a cleaner, leaner codebase
  • Entity rendering optimized with fewer draw calls and distance-based culling

v0.8.1 - Auto-Explore & Corruption Fixes

What’s New

Auto-Explore Improvements

  • Enemy threat threshold: New slider in settings (0-6) controls which enemies stop auto-explore. Default stops for moderate+ threats — bacteria spawns no longer interrupt your exploration, but smilers and motherloads will.
  • Stops adjacent to items: Auto-explore now stops next to items instead of walking onto them, letting you examine before picking up. Especially useful for corrupted items.
  • Path caching: Auto-explore caches its path instead of recalculating every turn — smoother and more performant.

Corruption System

  • Dynamic corruption scaling: Corrupted item debuffs now scale with world corruption in real-time — debuffs get stronger as corruption rises.
  • Easier debuff visibility: Corrupt item info now requires half the clearance level it used to (e.g., level 3 items need clearance 2+ instead of 4+).

Balance

  • Clearance perks 3x more common: Clearance Level now appears in level-up choices much more frequently — it’s a viable build path, not a lottery ticket.

UI Fixes

  • Vending machine: Fixed gray focus box and auto-selection issues.
  • Item combine display: Now shows correct additive formula (Lv2 + Lv2 → Lv4).
  • Cancel button: Fixed keyboard activation in item slot selection.

Downloads

  • Windows: deep_yellow_v0.8.1_windows.tar.gz
  • Linux: deep_yellow_v0.8.1_linux.tar.gz
  • Web: deep_yellow_v0.8.1_web.tar.gz (also playable on itch.io)

v0.8.0 — Corrupted Items, Auto-Explore & Progression Rebalance

What’s New

Auto-Explore (Y key)

Hold Y to automatically navigate the Backrooms. Your character will path toward unexplored areas, stopping when enemies appear, you take damage, your HP or sanity drops low, or you spot items and stairs. Press any key to cancel. Vending machines and items you’ve already passed on won’t interrupt you again.

Corrupted Items

As corruption rises in the deeper levels, you’ll start finding glitched-out items with visible distortion effects. These corrupted items carry debuffs — stat drains, HP/sanity decay per turn, damage penalties, or increased mana costs. The tradeoff: they still give their normal bonuses too. You can toggle them off if the cost gets too high. Combining two corrupted items merges their debuffs, so stacking gets risky. Debuffs scale with both item level and world corruption, meaning that innocent-looking item you picked up early gets nastier as you go deeper.

Smoother Movement

Movement between tiles now uses smooth tweening instead of instant teleportation. The game still plays turn-by-turn — it just looks better.

Progression Rebalance

  • More generous level-up curve and XP rewards — you’ll feel progression sooner
  • Corruption now scales item spawn levels (higher corruption = higher level items appearing)
  • Sanity drain rate decreases with corruption, giving a small mercy as things get harder

Quality of Life

  • Stats panel updates in real-time when your stats change (no more stale numbers)
  • Vending machines reset properly on game restart
  • New tutorial items: Meat, Vegetables, and Mustard replace the old debug item
  • Settings panel no longer causes a pause bug when closed

Performance

  • Auto-explore stays smooth even after discovering vending machines (BFS caching fix)

Play in browser or download for Windows/Linux at aebrer.itch.io/deep-yellow


https://github.com/aebrer/deep-yellow/pull/46

v0.7.1 - Rename to DEEP YELLOW

Rename Release

  • Renamed game from “Backrooms Power Crawl” to DEEP YELLOW across all code, assets, documentation, and build artifacts
  • Renamed GitHub repository from backrooms-power-crawl to deep-yellow
  • Updated all itch.io media assets (banner, cover) with new title in deep yellow text
  • Updated export presets: executables now named deep_yellow_* instead of bpc_*
  • Removed obsolete web_deployment/ directory

Downloads

v0.7.0 — Tutorial Level, Vending Machines, Minimap Overhaul

Major Features

  • Tutorial level (Level -1): Hand-crafted snowy forest level teaching movement, items, and combat
  • Vending machines: Interactable shops selling random items for permanent max stat reduction
  • Codex panel: Full-screen lore browser with progressive revelation based on clearance level
  • Minimap overhaul: Zoom (5 levels), sprite icons with colored auras, two-layer compositing
  • Spraypaint system: In-world Label3D messages on floors and walls for environmental storytelling
  • 3D start menu: SubViewport-rendered Level 0 corridor with drifting camera and PSX dither

Improvements

  • Color-coded log messages (turquoise EXP, magenta discovery, cyan-green combat)
  • EXP gain messages include reason (CREATURE KILL, ITEM EXAMINED, etc.)
  • Level-up perk explanations with hover/focus tooltips
  • Controls reference section in settings panel
  • Minimap auras: red hostile, blue non-hostile, deep yellow exits, purple items
  • Non-hostile entity system (hostile, blocks_movement, is_exit, faction flags)
  • Data-driven spawn spraypaint per level via LevelConfig
  • Entity behavior defaults centralized in EntityRegistry

Bug Fixes

  • Block diagonal movement through wall gaps
  • Fix minimap wall variants appearing as walkable
  • Fix pathfinding for floor variants and EXIT_STAIRS
  • Fix codex [REDACTED] hints for item entries
  • Exclude non-hostile entities from sanity damage calculation
  • Fix input binding conflicts (arrow keys exclusively for minimap zoom)
  • Fix level transition crash and VRAM decompression issues

Technical

  • Tile type system refactored to data-driven per-level mapping
  • Exit holes converted from Grid3D decals to entity system with FLOOR_DECAL render mode
  • String-based type checking replaced with proper entity flags
  • Deprecated item_spawn_table removed
  • LevelConfig validation expanded

New Assets

  • Rubik Spray Paint font (OFL-licensed)
  • Level -1 textures: snow dirt, pine forest, dark sky
  • Entity sprites: vending machine, exit hole, tutorial mannequin
  • All textures have reproducible Python generation scripts

Play in browser: https://aebrer.itch.io/backrooms-power-crawl

🤖 Generated with Claude Code

v0.6.1 — Visual Polish & Variant Tiles

Settings Panel

  • Fullscreen toggle, look sensitivity slider, FOV slider with live preview
  • Accessible via pause menu

Variant Tile System

  • 7 procedural texture variants break visual monotony and serve as navigation landmarks
  • Floor: puddle, cardboard
  • Wall: cracked, hole (human-sized crawl hole), mouldy (with veiny tendrils)
  • Ceiling: water stain, hole (ragged opening into void)
  • Variants stored in chunk data for persistence across sessions

Stats Panel

  • Now displays per-turn regen rates for HP, sanity, and mana

Shader & Rendering Fixes

  • Disabled affine texture mapping to eliminate near-camera distortion
  • Reverted wall mesh to built-in BoxMesh to fix texture rotation artifacts
  • Consistent UV scale (2,2) across all wall materials

Cleanup

  • Removed stale screenshots and unused wall mesh generator script
  • Removed unused psx_wall_proximity_nocull shader and ceiling_wall material

Downloads

🤖 Generated with Claude Code

v0.6.0 - FPV-Default Camera Mode

Major camera system overhaul with FPV (first-person view) as the default mode.

New Features

  • FPV-default camera mode: Game now loads in first-person view by default
  • Unified input system: RT/LMB moves forward, LT/RMB waits - same controls in both camera modes
  • HP and Sanity status bars: New bars at top of viewport for quick health/sanity visibility
  • Double-sided wall top caps: Improved wall rendering with ceiling_wall material

Bug Fixes

  • Damage popup font size too small in FPV mode (now 0.5-0.75x scaling)
  • Minimap rotation sync in FPV mode
  • Wall mesh floor panel and proximity fade in FPV
  • Camera toggle and InputManager dead code cleanup
  • spawn_forced_item() now uses same rarity probabilities as natural spawns

Documentation

  • Comprehensive update to CLAUDE.md Key Files section
  • Added butler/itch.io deployment instructions
  • FPV-default camera mode refactor plan

Full Changelog

  • feat: FPV-default camera mode with unified input system
  • feat: Add HP and Sanity status bars at top of viewport
  • feat: Double-sided wall top caps with ceiling_wall material
  • fix: Damage popup font size too small in FPV mode
  • fix: Minimap rotation sync in FPV mode
  • fix: Wall mesh with floor panel and disable proximity fade in FPV
  • fix: Camera toggle and InputManager dead code cleanup
  • fix: spawn_forced_item() now uses same rarity probabilities as natural spawns
  • docs: Comprehensive update to CLAUDE.md Key Files section
  • docs: Add butler/itch.io deployment instructions to CLAUDE.md

v0.5.4 - Web Memory Crash Fix

Bug Fixes

  • Fixed web build crashing at 2GB WASM memory limit
    • Reduced chunk generation from 7×7 (49) to 5×5 (25) chunks
    • Fixed unloading rate mismatch - chunks now unload as fast as they load
    • Fixed pathfinding data accumulating across game restarts

Technical Details

  • Memory usage now stable at ~1.6GB on web
  • Chunks stay bounded at 25-26 instead of accumulating past 49
  • Game restart properly resets all autoload state

hmm memory leak on web build is still present… consider the web build to be a ~300 turn demo for now lolol

Backrooms Power Crawl v0.5.3

Memory Leak Fixes

Fixes memory leaks that caused the web build to hit the 2GB WASM limit after extended play (~300 turns) or after death/restart cycles.

Bug Fixes

  • Signal connection leaks: Fixed unbounded signal connections between WorldEntity (RefCounted) and EntityRenderer (Node3D) that were never disconnected when entities died or scenes reloaded
  • Autoload state persistence: Added proper cleanup of Pathfinding, LevelManager cache, and ChunkManager state on new runs
  • Scene reload leaks: Added _exit_tree() handlers to player, minimap, and loading screen to disconnect autoload signals

Technical Details

The root cause was a subtle bug with bound callables: checking signal.is_connected(method.bind(arg)) always returns false because .bind() creates a new callable object each time. Fixed by using signal.get_connections() to iterate and disconnect actual connections.

Backrooms Power Crawl v0.5.2

Web Build

Re-added the web build because it works again (as long as you use Chrome).

Bug Fixes

  • Controller pause input fixed: RT and right stick no longer leak to game when paused
  • HUD focus fixed: Pausing with controller now properly grabs HUD focus for navigation
  • Invisible element focus fixed: GameOverPanel button no longer steals focus when panel is hidden

Known Issues

  • Firefox on Linux (windowed mode): Camera swings up uncontrollably when mouse is captured. This is a known Firefox browser bug with no code-level workaround.
    • Workarounds: Use Chrome, use fullscreen mode, or use a controller

Backrooms Power Crawl v0.5.1

https://github.com/aebrer/backrooms_power_crawl/releases/tag/v0.5.1

What’s New

🚪 Chunk Border Hallways

  • Adjacent chunks now have border hallways cut between them, ensuring seamless connectivity across the infinite world
  • 10-tile hallways on each side of border (20 tiles total) for reliable pathfinding
  • Pathfinding graph updates in real-time as new hallways are cut

📦 Item Spawn Improvements

  • Doubled spawn rates for all rarity tiers
  • Pity timer: After 5 consecutive chunks without item spawns, the next chunk is guaranteed to have one
  • First chunk guarantee: Player spawn chunk (0,0) always has at least one item

📋 Examination Panel Improvements

  • Overflow expansion: Panel now grows upward when content exceeds available space
  • Backrooms aesthetic: Muted yellow-brown border with sepia-tinted dark background
  • Item rarity display: Items show “Rarity: [name]” with color coding

✨ Inventory [NEW!] Indicator

  • Items with undiscovered XP display [NEW!] prefix
  • Examining items in inventory now triggers first-look EXP bonus
  • Indicator removes automatically after examining

⚖️ Bacteria Spreader Balance

  • HP reduced from 300 → 200
  • Can no longer heal other Bacteria Spreaders (prevents self-sustaining spreader blobs)
  • Still heals other bacteria types within 3-tile radius

🐛 Bug Fixes

  • Entity Pathfinding: Fixed entities falling back to greedy navigation instead of A* pathfinding from Turn 1
  • Game Restart: Fixed clearance level and first-look EXP state not resetting on new run
  • TileType Enum: Fixed CEILING constant and removed unused DOOR type

🔧 Code Quality

  • Extracted hallway width magic numbers to named constants
  • Added is_item_novel() public API to KnowledgeDB
  • Cleaned up debug logging from pathfinding systems

Full Changelog: https://github.com/aebrer/backrooms_power_crawl/compare/v0.5.0…v0.5.1

(2 edits)

v0.5.0 - Items & Entities Update 🎒

Major update introducing a comprehensive item system with 14 new items, new enemy behaviors, sanity mechanics, and extensive combat improvements.

✨ New Features

Item System

  • 14 new items across BODY, MIND, and NULL pools
  • Items provide passive bonuses, attack modifiers, and active effects
  • Progressive revelation system - learn more about items as you level up
  • Item spawn system with rarity-based probabilities and corruption scaling

New Entities

  • Smiler - Psychological horror enemy that stalks from a distance, immune to all damage except sound attacks
  • Bacteria Spreader - Support enemy that heals nearby bacteria and deals AOE damage

Sanity System

  • Sanity damage occurs every 13 turns based on nearby enemy threat levels
  • Killing enemies restores sanity based on their threat weight
  • Sanity regen items (Almond Water) provide passive recovery

Combat Improvements

  • Attack tag system (physical, sound, psychic, anomaly, melee, ranged)
  • Cross-pool item synergies via tag-based damage multipliers
  • Damage interceptor system for reactive shields
  • Multi-attack support (Brass Knuckles)
  • Attack pattern transformations (Siren’s Cords, Shovel)

📦 New Items Table

BODY POOL ITEMS

  • Wheatie-O’s (Common): +2 BODY per level
  • Baseball Bat (Common): 1.25x damage multiplier per level
  • Shovel (Uncommon): SWEEP attack pattern, +5% item spawn (+1%/level)
  • Brass Knuckles (Rare): +1 extra attack per level, +5%/level STR scaling
  • Trail Mix (Rare): +0.5% HP regen per turn per level
  • Siren’s Cords (Epic): Transforms BODY attack to sound AOE, +0.5 range/level

MIND POOL ITEMS

  • Drinking Bird (Common): Global cooldown reduction, ~7% at L1, max 50%
  • Binoculars (Uncommon): +5 PERCEPTION per level
  • Coach’s Whistle (Uncommon): 1.5x damage multiplier to “sound” attacks per level
  • Almond Water (Rare): +0.5% Sanity regen per turn per level

NULL POOL ITEMS

  • Roman Coin (Common): +5% mana regen per level
  • DEBUG_ITEM (Uncommon): Random HP/SAN damage and heal, +5 max mana/level
  • Lucky Rabbit’s Foot (Uncommon): 10% (+5%/level) chance to reset a random cooldown, costs 2 mana
  • Antigonous Notebook (Legendary): +4 NULL/level, blocks damage for 5 mana/level (15 turn CD), +corruption on equip

🎯 Item Synergies

Sound Build (BODY + MIND)

  • Siren’s Cords transforms BODY punch into sound AOE
  • Coach’s Whistle multiplies all sound damage by 1.5x per level
  • Brass Knuckles adds extra attacks - each one benefits from sound multiplier!

Mana Build (NULL)

  • Roman Coin provides mana regeneration
  • Antigonous Notebook gives massive NULL boost + damage shield
  • Lucky Rabbit’s Foot can reset cooldowns for 2 mana

Sustain Build (BODY + MIND)

  • Trail Mix provides HP regen
  • Almond Water provides Sanity regen
  • Wheatie-O’s boosts max HP via BODY stat

🐛 Bug Fixes & Improvements

  • Fixed private field access in Lucky Rabbit’s Foot (now uses public accessors)
  • Added instance validity checks for damage interceptors
  • Added array bounds checks in item spawner
  • Centralized THREAT_WEIGHTS constant in EntityRegistry
  • Centralized attack tags in AttackTypes.Tags class
  • Added callable validation for damage interceptor callbacks
  • Improved corruption scaling documentation

🏗️ Architecture

  • BehaviorRegistry - Strategy pattern for entity AI behaviors
  • AttackTypes.Tags - Centralized tag constants for attack classification
  • Damage Interceptor System - Reactive damage prevention callbacks
  • Item Modifier Aggregation - Order-independent modifier stacking

📋 Full Changelog

See PR #24 for complete details: https://github.com/aebrer/backrooms_power_crawl/pull/24


Download:

  • bpc_v0.5.0_linux.tar.gz - Linux build
  • bpc_v0.5.0_windows.tar.gz - Windows build

v0.4.1 Polish: UI Improvements

https://github.com/aebrer/backrooms_power_crawl/releases/tag/v0.4.1

What’s New

Features

  • EXP Bar: Vertical progress indicator along left edge with level display and glow effect near level-up
  • SCORE Metric: Composite score on game over screen (corruption × kills + EXP efficiency)
  • Portrait Mode Overlay: Examination panel now works in portrait/mobile layouts
  • Corruption Display: Stats panel shows current level corruption with color coding

Improvements

  • Examination panel embedded in sidebar (landscape) or floating overlay (portrait)
  • Better signal lifecycle management prevents duplicate connections
  • ~90% debug log reduction for cleaner console output
  • Shared Utilities autoload with banker’s rounding function

Fixes

  • Race condition in EXP bar signal connections
  • Async positioning guard for portrait overlay
  • Layout ordering bug after portrait → landscape transition

0.4.0 Released! https://github.com/aebrer/backrooms_power_crawl/releases/tag/v0.4.0

0.3.0 Released! https://github.com/aebrer/backrooms_power_crawl/releases/tag/v0.3.0

0.2.1 released! https://github.com/aebrer/backrooms_power_crawl/releases/tag/v0.2.1

We now have levelups!

0.1.1 released: https://github.com/aebrer/backrooms_power_crawl/releases/tag/v0.1.1 (and updated here)