Auto Adventurer
An ASCII hero descends a procedural dungeon forever — goal-stack AI, shadowcasting FOV, glowing tiles.
What this is
An ASCII roguelike that plays itself, forever. The `@` hero descends BSP-generated dungeons connected by L-corridors. A recursive shadowcaster paints a glowing fog-of-war. Monsters pursue with A*. Items pulse softly on the floor. The hero's goal stack — survive at low HP, fight when winning, grab nearby items, explore the frontier, find the stairs — produces play that looks intentional. Death triggers a fade-and-respawn at floor 1.
Why this is mind-blowing
Roguelikes already feel alive when a human plays them; watching one play itself with proper goals is hypnotic. You'll see the hero retreat to bait a dragon's cone breath, kite a kobold ranger, scroll-buff before a troll, panic-flee a lich's summons. The dungeon is different every floor and the hero's run gets clipped to the HUD as a "best so far" ledger.
Build a single-file HTML page where an ASCII hero descends an infinite
procedural dungeon. BSP-partitioned floors, L-corridors, recursive
shadowcaster FOV, A* pathing for hero and monsters. The hero runs a
priority goal stack — survive low HP, fight when winning, grab items,
explore frontier, descend stairs. Five monster archetypes (swarm, ranger,
bruiser, dragon, summoner). Death fades to a respawn. No user input —
autoplay forever.
Paste this into Claude, Cursor, or Copilot. Change one thing that matters to you.
What I learned shipping it
- A per-(glyph,color,size) sprite cache for shadow-blurred ASCII tiles is the cheapest way to glow 2k+ tiles per frame in Canvas 2D.
- Recursive 8-octant shadowcasting at radius 9 is fast enough to run every turn and produces the canonical roguelike fog-of-war look.
- A goal stack (survive → fight if winning → grab item → explore → descend) is more readable AI than a state machine and produces visibly purposeful play.