Bug Reports & Feature Requests

Reports are filed from inside the game rather than on this page, because the game can attach the run itself.

Reporting a bug

From the pause menu, use Report a Bug. Give it a short title (it becomes the issue's title) and, optionally, a note. The game bundles the exact state of your run (the seed, every command that led to the moment something went wrong, and your build version) into a single file, saves a copy on your machine, and sends it here along with the title and note.

Requesting a feature

Same menu, Request a Feature: title it, then describe what you'd want changed or added in the note. It doesn't need to be tied to a specific run; the report still travels with your build and platform info so the request has context.


What happens after you send it

Every report opens as an issue on the game's GitHub repository, which is where all planned and broken things are tracked. Because the report carries your run's exact seed and command history, a reported bug can usually be replayed and watched happening on this end.

Reports aren't public by default (the repository is private), but if you'd like to follow along with development more broadly, the Dev Log is the place to watch.

The report form also takes an optional contact email. It's never required; leave it blank and the report is fully anonymous. If you do include one, it travels with the report, stays in the private issue, and is used only to follow up on what you sent.


What's being worked on

A live look at the issue tracker itself: titles, labels, dates, and a short excerpt for context, never the full report (a report's own note or contact email always stays private). Updated every few minutes.

Open

IssueLabelsOpened
#716 — [Bug] zoom in without mouse
How do I zoom in with keyboard only option?
bug, polish, ui, from-website, triaged, needs-deep-triage Oct 21, 2026
#712 — Turn beats don't wait for in-flight projectiles to land
Found during the live Unity sweep of the FX ladder (GH 669– 688). The next enemy's turn beat can start…
polish, design-needed Oct 20, 2026
#711 — Settings: reduce screen flashes toggle (zeroes FxTuning.PulseScale)
GH 679 shipped ScreenPulseFx , a game only tinted vignette flash driven by the shared FX runner (owner gated surfaces:…
ui Oct 20, 2026
#710 — FX 42 — Hero Dazzle: blind foes in a cone (new `CrowdControl.Blinded`)
The gap Hero crowd control denies action (Stun), movement (Trip) or will (Cow) — never sight . Enemies have no…
combat, fx Oct 20, 2026
#709 — FX 41 — Ward glyph: a rune circle foes will not cross for N turns
The gap The hero can make foes not want to come (Cow), be unable to move (Trip, Stun), or push…
items, fx Oct 20, 2026
#708 — FX 40 — Smoke bomb: a consumable that hazes a 3x3, breaks line of sight, enables Hide anywhere
The gap Sight is purely geometric: LineOfSight.IsClear(TileGrid, from, to) ( Grid/LineOfSight.cs ~21) reads only TileGrid.BlocksSight ; the hero's mask (…
items, fx Oct 20, 2026
#707 — FX 39 — Weapon oils: a potion family that coats the weapon in fire, venom, or frost
The gap Elements belong to wands ( Items.WandElement ; ZapAction.cs ~205–215 applies Burn / Chill / Poison with CreatureAfflicted )…
items, fx Oct 20, 2026
#706 — FX 38 — Hero Lunge: step and strike two tiles in one action
The gap Closing distance costs the hero a turn in which the foe acts. Dash ( Sim/Actions/HeroDashAction.cs ) moves without…
combat, fx Oct 20, 2026
#705 — FX 37 — Hero Whirlwind: strike all eight neighbours, full-circle sweep
The gap The hero's answer to being surrounded is Shockwave ( Sim/Actions/HeroShockwaveAction.cs : half damage burst + push + stagger…
combat, fx Oct 20, 2026
#704 — FX 36 — Enemy Earthshaper: raises a wall segment between itself and the hero
The gap Geometry changes in one direction only: the wand of Delving digs wall into floor ( Sim/Actions/ZapAction.cs ~419 grid[cur]…
combat, fx Oct 20, 2026
#703 — FX 35 — Enemy Decoy: spawns a one-hit illusory copy drawn in spectral tint
The gap Every creature is exactly what it looks like. Summon / Swarmcall add real bodies ( Actions/SummonAction.cs , SwarmcallAction.cs…
combat, fx Oct 20, 2026
#583 — Thank and repay outside contributors (johna367-a11y + two in-game reporters)
Why Three outside contributors have shaped The Descent through issues that are now closed. Their reports turned into fixes and…
playtest, polish, design-needed Oct 12, 2026
#570 — Art fidelity & consistency review — ink scenes render washed out (blacks lifted, parchment greyed)
A single pass over every shipped art register for fidelity (does the screen show what the PNG holds?) and consistency…
polish, ui, art-system Oct 8, 2026
#561 — Rival seeker in town (GH #549 follow-up, builds on GH #44)
Follow up candidate named in GH 549 (The Town): a rival seeker in town. Builds on the closed GH 44…
world-layer, design-needed Sep 25, 2026
#547 — Steam 09 — Press-kit page on the website (/Press), before any creator gets a key (Nov)
Pulled out of GH 448 on 2026 09 15 ( docs/commercialization.md Phase 4). Depends on Steam 08 in the ladder…
polish, steam Sep 15, 2026
#544 — Steam Now — Discord heartbeat: weekly-challenge thread, Silus house-bot run to beat, winner named in the devlog; leaderboard line in the Steam description
docs/commercialization.md § Rethink 2026 09 15 and Phase 1 ("Discord heartbeat"). No dependencies. Not a recruitment drive — the Steam…
polish, steam Sep 15, 2026
#543 — Steam Now — Weekly beat: extend /labyrinth-devlog's publish step (itch cross-post, Steam Community announcement, #TurnBasedThursday GIF on Bluesky + X)
docs/commercialization.md § Rethink 2026 09 15 and Phase 1 ("The weekly beat — one devlog, four outputs"). No dependencies beyond…
polish, tooling, steam Sep 15, 2026
#542 — Steam Now — Wishlist ledger + bookkeeping spreadsheet: Saturday pull of Steamworks total + UTM breakdown
docs/commercialization.md § Rethink 2026 09 15 and Phase 0 (bookkeeping — never started). No dependencies. This is the plan's only…
tooling, steam Sep 15, 2026
#541 — Steam Now — Request ~50 Release State Override keys in Steamworks
Pulled out of GH 448 on 2026 09 15 ( docs/commercialization.md Phase 3). No dependencies — the page has been…
steam Sep 15, 2026
#540 — Steam Now — Page-live announcement wave, non-email legs (Steam Community, itch, Discord, Temple, Turn-Based Games, creator channels, r/roguelikes)
Split out of GH 445 on 2026 09 15 ( docs/commercialization.md § Rethink). The page went Coming Soon on 2026…
polish, steam Sep 15, 2026
#539 — Steam Now — YouTube channel: upload both trailers, make the 88 s three-act cut the highlighted Steam trailer, embed it on itch
docs/commercialization.md § Rethink 2026 09 15 and Phase 1. No dependencies. Do this before the announcement wave (the posts need…
polish, steam Sep 15, 2026
#488 — Steam 10 — Mailing-list sending: CAN-SPAM postal address, Buttondown sender, DKIM/DMARC, first-send procedure (Nov–Dec)
Re planned 2026 09 15: now Steam 10, scheduled Nov–Dec 2026. Depends on Steam 09 in the ladder. The "page…
tooling, steam Sep 9, 2026
#451 — Steam 17 — Post-launch Steam polish: Deck Verified → achievements → Cloud saves (in that order)
Renumbered 2026 09 15: now Steam 17. Depends on Steam 16 (GH 450). docs/commercialization.md Phase 7 names these three as…
polish, tooling, deferred, steam Aug 29, 2026
#450 — Steam 16 — Launch day + the first 72 hours
Renumbered 2026 09 15: now Steam 16. Depends on Steam 15 (GH 449). docs/commercialization.md Phase 6. Everything below was prepared…
polish, steam Aug 29, 2026
#449 — Steam 15 — Launch prep: feature freeze, QA + Proton check, Steamworks release checklist, paid itch listing decision
Renumbered 2026 09 15: now Steam 15. Depends on Steam 14 (GH 448). Added to the checklist: decide whether itch…
polish, tooling, steam Aug 29, 2026
#448 — Steam 14 — Streamer/press outreach with Release State Override keys, 3 weeks out
docs/commercialization.md Phase 5, "Streamer/press outreach (3 weeks out)." Starts once the launch date is announced (Steam 13). Re scoped 2026…
polish, steam Aug 29, 2026
#447 — Steam 13 — Run Next Fest week (Feb 22 – Mar 1, 2027), then announce the firm launch date
Re planned 2026 09 15: now Steam 13. Real dates from Steamworks: fest Feb 22 – Mar 1, 2027 ;…
polish, steam Aug 29, 2026
#446 — Steam 11 — The demo: depth-4 capped certifiable build, separate Steam demo app, replace the free itch build, unlist archived full builds, close the Playtest (by Dec 15)
docs/commercialization.md Phase 4 — "Build the demo as a product decision, not a crippled build." Re planned 2026 09 15:…
architecture, tooling, steam Aug 29, 2026

Recently closed

IssueLabelsClosed
#702 — FX 34 — Enemy Igniter: leaves burning tiles behind each move
The gap Pursuit is free for the hero to out walk: every mover ( MeleeAi , FlankerAi , Charge ,…
combat, fx Oct 21, 2026
#701 — FX 33 — Enemy Burrower: dives, travels under the floor, resurfaces adjacent (new `MoveKind.Burrow`)
The gap Every approach the AI owns is visible on the floor: pursuit steps, Charge lanes, Pounce arcs, Blink (vanish/reappear…
combat, fx Oct 21, 2026
#700 — FX 32 — Enemy Webber: Snare at range with a web line and a lingering web tile
The gap AiAbility.Snare roots only on a melee hit ( Sim/Actions/OnHit.cs ~50) and Gaze roots at range with no physical…
combat, fx Oct 21, 2026
#715 — [Bug] Trainer menu
I showed up with some gold and the trainer wouldn't even give me options of what he will train.
bug, world-layer, from-website, triaged Oct 21, 2026
#714 — [Bug] Barkeep
I couldn't get out of the dialouge screen.
bug, from-website, triage-failed Oct 21, 2026
#713 — [Bug] Test
David told me to do this.
bug, tooling, from-website, triaged, recommend-close Oct 21, 2026
#546 — Steam 08 — Steam Playtest: playtest app, Request Access live on the store page, weekly build pushed via SteamPipe (by Oct 20)
docs/commercialization.md Phase 4 (re planned 2026 09 15). Depends on Steam 07 (GH 378, SteamPipe), which depends on Steam 06…
tooling, steam Oct 21, 2026
#699 — FX 31 — Enemy Breath: a fire or frost cone using burst-tile hints
The gap Every enemy ranged attack is one bolt ( Sim/Actions/RangedAttackAction.cs , ProjectileFired ). The Dragonkin family in Config/enemies.json (…
combat, fx Oct 21, 2026
#698 — FX 30 — Hazard tiles foundation: burning ground that damages on entry and expires (serves FX 31, 34, 39)
The gap The only hazard is static : TileType.Hazard ( labyrinth engine/Package/Runtime/Grid/TileType.cs , value 9), stamped by Stage 8.5 (…
combat, fx Oct 21, 2026
#697 — FX 29 — Mood tier rise screen pulse; hero death pulse and ghost before the death screen
The gap The Mood is the Labyrinth's appetite — the one UI word — and a tier crossing is the…
combat, polish, fx Oct 21, 2026
#696 — FX 28 — Weapon feel (rapier flick, maul heft) and rings (wear burst, Cinder Band thorns, Arrow-Ward deflect, Goad/Far Door Mood bite popup)
The gap Every hero melee blow lunges FxTuning.LungeAmplitude (0.16) for HitWiggleDuration ( EventFxDispatcher.StartStruckWiggle ~410–430) and plays HeroMelee , so the…
items, polish, fx Oct 21, 2026
#695 — FX 27 — Scrolls: one visual and one cue per scroll (Immolation fire, mass-CC sweep ring, Aggravation wake, enchant sparks, Mirroring clone, Amnesia/Decay)
The gap Nineteen scrolls ( Config/scrolls.json ) read with one ScrollGlow pulse ( case ScrollRead , EventFxDispatcher.cs ~214) and one…
items, polish, fx Oct 21, 2026
#694 — FX 26 — Potions by family, buff expiry ("fades" + aura removal), Blindness vignette, one cue per family
The gap Every one of the 25 potions in Config/potions.json plays Quaff and draws PotionGlow ( case ItemQuaffed , EventFxDispatcher.cs…
items, polish, fx Oct 20, 2026
#693 — FX 25 — Wands: zap muzzle ring at the hero, per-wand impact treatments, jagged Lightning, one cue per wand
The gap Twenty four wands ( Config/wands.json ) share three sounds ( Wand on WandZapped / WandBurst , Ranged on…
items, polish, fx Oct 20, 2026
#692 — FX 24 — Hero movement powers: Flicker vs Far Door (and its Mood bite), Phase Walk + Ghost-Stone bite, Leap landing dust, distinct cues for Dash/Swap/Grapple
The gap Actions/HeroTeleportAction.cs:43 emits MoveKind.Teleport for both gates, so the Flicker's short Blink and the Far Door's floor wide Teleport…
combat, polish, fx Oct 20, 2026
#691 — FX 23 — Reaper wisp, Second Wind burst, Stun spokes, Trip tip, Cow recoil
The gap Five hero arts emit a HeroAbilityUsed marker that EventFxDispatcher.Apply 's case HeroAbilityUsed (~316–335) ignores — only Shockwave and…
combat, polish, fx Oct 20, 2026
#690 — FX 22 — `ActorDamaged.Proc` hint: Berserk, Executioner, Backstab, Duelist Form, Combat Awareness read on the hit; Riposte/Opportunist get a steel arc
The gap Five passive hero arts change the roll and leave no trace on the board. World.HeroOutgoingMelee ( Sim/World.HeroAbilities.cs:440–466 )…
combat, polish, fx Oct 20, 2026
#689 — FX 21 — Hero Hide/Hide broken; Last Stand and the Reprieve ring's shatter
The gap FX 04 gives these events a first dispatcher case (a ghost + "hidden" popup for HeroHidden , "spotted!"/"revealed"…
combat, polish, fx Oct 20, 2026
#688 — FX 20 — Dressings for Charge (dust trail), Quake (cracks), Deathburst (sparks), Hook (hook head)
Tier 2, lowest priority in the tier — the owner said Charge and Shockwave already read fine (2026 10 19).…
combat, polish, fx Oct 20, 2026
#687 — FX 19 — Repulse ring, Guard strike, Backstab flash, Pounce landing dust, Sidestep slip ghost, enemy Blink collapse-burst
Tier 2. Six reactive/positional enemy abilities. Four have markers that the dispatcher ignores (Repulse, Guard, Pounce, Sidestep), one has no…
combat, polish, fx Oct 20, 2026