Inspiration
ok so picture this. you're scrolling Reddit at 2am, as one does, and you stumble into a thread with 200 comments. and you think... what if this thread was a dungeon. like actually. every comment is a room, every reply is a corridor deeper, and the guy who commented "this" on the top-level comment is now a trash mob you have to fight.
that's how Thread Crawler started. pure sleep deprivation and intrusive thoughts.
the roguelike loop always felt like Reddit to me. you show up, you die (get downvoted), you keep your gold (karma), you come back stronger (learn to not post cringe). the game had to feel like that rhythm. die, upgrade, dive deeper, repeat until 4am.
How We Built It
Phaser.js for the game engine because we wanted real-time combat, not turn-based. Devvit Web for the Reddit integration because that's literally the whole point.
the dungeon generator started as cellular automata (fancy way of saying "make blobs, smooth them out, call it a cave") but that gave us ugly caves with no structure. so we added room carving on top, then corridor pathfinding, then Perlin noise for water features, then secret rooms hidden behind walls, then community bonus rooms that only spawn when a thread hits 20+ comments. each iteration made it feel less like a random blob and more like an actual handcrafted level.
the community scaling is the real hook though. comments don't just sit there — they actively make the dungeon harder. 0 comments? 10 floors, base difficulty. 200 comments? 20 floors, 3x enemy scaling, community-locked treasure chests, bonus loot rooms. your subreddit's engagement literally builds the dungeon. people started commenting just to see how hard it could get, which was exactly the behavior we wanted.
combat is 5 enemy types with different AI. shadow crawlers circle-strafe you. lost souls phase through walls. flesh golems charge at you. void stalkers teleport behind you (nothing personnel, kid). bone horrors shoot projectiles from range. each one needs a different approach so you can't just spam attack.
3 boss fights with actual pattern-based attacks. the thread wraith fires 3-projectile spreads. the hydra does ring attacks plus charges. the original poster spirals projectiles while summoning minions. bosses scale with depth so floor 7 boss hits different than floor 3 boss.
the meta-progression is called The Vault. die? your gold is safe. spend it on permanent upgrades between runs. max HP, attack, defense, speed, bag size. each upgrade costs more each level so you have to choose what to invest in. this is the "one more run" hook — you always have gold to spend and upgrades to buy.
then we added risk tokens (refuse healing for gold multipliers), floor modifiers (glass cannon: 2x attack but -30% HP), item synergies (fire staff + bomb = fire trails), a combo system (kill fast for XP multipliers), a mid-run wandering merchant, boss rush mode, and 6 playable characters including Big Chungus and C.C. from Code Geass because why not.
oh and the whole UI is a Gameboy shell with working d-pad and buttons on screen. pokemon-style pixel art tiles. procedural music that changes with each floor theme. 7 different ambient soundscapes from "mysterious dripping cave" to "eerie whispers in the dark."
What We Learned
community engagement as a game mechanic is genuinely powerful. when players found out their comments scaled the dungeon, they started commenting more. not for karma, not for clout — just to see what would happen at 100 comments. the feedback loop between Reddit engagement and gameplay difficulty created emergent behavior we never designed for. someone on r/GameOnReddit commented "i'm going to get this thread to 500 comments just to see if the game breaks" and honestly? respect.
Phaser's tile system handled procedural generation well but getting cellular automata to produce playable dungeons every single time was painful. random seed + random fill + random smoothing = random garbage most of the time. we went through 6 generator iterations before rooms stopped overlapping in ways that softlocked the player.
the biggest lesson: players will optimize the fun out of everything. we had to design systems that make "playing optimally" and "playing fun" the same thing. risk tokens do this — refusing healing is objectively worse for survival but the gold multiplier makes it tempting. good game design is making bad decisions feel good.
Challenges
making procedural dungeons feel handcrafted. every time we tweaked the generator to make better rooms, it broke something else. the secret was adding decoration passes after generation — grass, flowers, fences, water features — that make each room feel intentional even though it was generated by math.
balancing three pressure systems stacking on top of each other. timer forces you to move. exit lock forces you to fight. enemy waves force you to adapt. all three at once should be overwhelming but somehow it works because each one has a relief valve — kills give time back, 70% kill threshold is achievable, waves have predictable intervals.
making the Gameboy UI work on mobile. touch targets for tiny pixel-perfect d-pad buttons are a nightmare. we ended up making the buttons bigger than they look in the CSS but keeping the visual size small with overflow hidden.
the procedural music engine was supposed to be a weekend project. it was not a weekend project. generating bass, melody, and pad lines that sound good together in any key at any BPM took way more music theory knowledge than we expected.
Built With
- canvas-api
- cellular-automata
- css3
- devvit-web
- html5
- javascript
- localstorage
- perlin-noise
- phaser.js
- pixel-art
- procedural-generation
- web-audio-api
Log in or sign up for Devpost to join the conversation.