HALLPASSResearch Play the game

Mechanics

What we built, and why.

Each entry starts with what players said, with the numbers behind it and one review quoted in full. Then what we built in response. Then what the lab measured when it was tested, with links into the findings ledger. The labels are explained below.

1

Why people keep playing

Positive Steam reviews come from people with a lot of hours; the median behind a praise theme is 45 hours. These are the parts of the game built to earn that kind of time.

How a run pays out

Periods, stars and the coin bank

Tuned

What players said

The most common praise in the genre is about the loop: people describe losing hours to one more run. The second most common complaint is grind, and the people who complain about grind leave early, at a median of 23 hours. So the loop has to pay out from the first session without turning into a treadmill later.

Halls of Torment is everything I wanted from this emerging genre. I tend not to be in the business of reviewing Early Access titles and I imagine I have untold gameplay hours ahead of me still, but as I near the 20hr mark I can compare apples to apples and oranges. And, confident
Halls of Torment · 53h playedw 6.9

What we built

  • A room is one hour of the night, and it is played in three lengths: QUIZ lasts three minutes, MIDTERM six, FINAL twelve. Clearing one opens the next, and after a win the screen points you at the next period or the next hour rather than back into the same room.
  • Coins only bank if you survive to the bell. Dying or quitting forfeits what the run earned, and the death screen shows the struck-through number. This exists so that farming a room and quitting before it kills you is never the best play.
  • Unlock prices do not rise as you progress. The four students and the early rooms are all reachable within a handful of runs.
  • If a player is stuck, the intended move is to drop down a period, clear it, get paid, buy something, and come back up.

What the lab measured

  • When periods shipped on 2026-08-26, novice bots cleared QUIZ 67% of the time and the average across skill levels was 96%, so a first session normally ends on a win.
  • Lab heuristics 4, 8 and 9 exist to keep this shape: the ladder should point down before it points up, QUIZ should be winnable but score-variable, and a long session should keep leaving something concrete to come back for.
  • VALIDATEDI-006fresh-save FINAL crosses 50% win between skill 0.5 and 0.6; the ceiling is soft at any calibration
  • VALIDATEDI-010front-loading perk ranks fixes the dead zone exactly where the ladder needs it
  • VALIDATEDI-046FINAL in the deep rooms is near-unwinnable with the perk tree fully MAXED; 5.6% pooled vs a ~50% target
  • VALIDATEDI-049gold stars are driven by ATTEMPT COUNT, not by room or route (revises I-044; scoped to bot policies)

Open. The lab flagged in early September that the Roof is both the hardest room to clear and the most expensive to unlock. That is still on the list.

docs/MECHANICS.md · Periods and starsdocs/MECHANICS.md · Economyresearch/RISK-TRACKER.md · #2

Setting

One night, ten rooms

Shipped

What players said

  • Reddit request threadsatmosphere story#4/151,166weighted365 hits · 1,726 survivors-only
  • Steam praisetone humor style#2/112,928weighted2,242 reviews · median 35h

Atmosphere and story is the fourth most requested thing in Reddit request threads, and tone is the second largest praise theme on Steam. Most survivors-likes treat the setting as wallpaper. We decided the setting would be the structure.

This game clearly takes inspiration from Vampire Survivors, and to its credit, it does add some real value to that formula. The 3D presentation works well, the gameplay feels smooth, there’s a good variety of characters, and the shorter runs are a welcome change compared to VS’s
Megabonk · 39h playedw 5.5

What we built

  • The whole game takes place in one night. The club waits in the clubroom (the menus) until 9 PM, when the school stops being a school. There are ten rooms, one per hour, and the last one ends at First Bell on the Rooftop at 7 AM.
  • The stage select is a blueprint of an actual building: an L-shaped main block, a gym annex, a pool building, and the three floors of the main block drawn exploded so you can see every room of the night at once.
  • The bosses are the school's authority figures: The Janitor, Hall Monitor, Pop Quiz, The Substitute, Exam Season, Detention, Group Project, Parent-Teacher Night and The Vice Principal.
  • When a student casts their domain, the room changes with it. Ren's Iron Cell throws prison-bar shadows across the floor, Yui's Silk Cathedral puts cyan glass on the walls, Kaito's Blackout Grid kills the practical lights, Sora's Paper Storm fills the air with seals.

What the lab measured

  • The one-night rule is enforced in the test suite: no bell before the tenth room may show a sunrise, and the map order is the order of the night.

docs/MECHANICS.md · One nightdocs/MECHANICS.md · Domain

Flash Step, Domain, Elective, Shikigami, Tag

Cursed Energy and the five things you can do

Tuned

What players said

  • Why Reddit calls a game shallowno decisions#1/68,436weighted3,612 hits
  • Steam complaintdepth autopilot#10/11718weighted344 reviews · median 15h
  • Reddit request threadsactive skill combat#7/15377weighted126 hits · 2,079 survivors-only

When Reddit calls a roguelite shallow, the reason given most often, by a wide margin, is that there is nothing to decide. On Steam the same complaint is that the game plays itself, and people who say it leave at a median of 15 hours. A survivors-like with auto-fire has to give the player something else to do with their hands.

IDK man, I guess I just don't "get it". You move around, avoiding enemies and collecting auto-attacks. You have no control over your attacks, besides some limited choice of what you get. Maybe I had the wrong expectations, I was expecting an action game where I kill monsters, not
Vampire Survivors · 2h playedw 6.1

What we built

  • Cursed Energy is one shared pool. The basic weapon is free and fighting fills the meter; Flash Step recharge, the equipped elective and the shikigami all spend from it. Carrying more abilities means casting each of them less often, which is the cost we wanted.
  • The shikigami is a separate slot with a 75-second cooldown, so calling your animal is a once-or-twice-a-night decision rather than something you press on rotation.
  • Swapping students is live, on a button under the left thumb. The bench recovers energy faster during the lull after a domain, and a freshly tagged-in student gets one discounted elective cast. The intended rhythm is cast, break the wave, tag.
  • Electives are bought per student. If Ren has Backdraft and Yui does not, tagging to Yui takes the button away.

What the lab measured

  • The lab's fifth heuristic checks whether the energy pool is actually being spent: with a full kit, an average between 35% and 65% means it is. The kitted cells measured 45% at both skill levels.
  • The tuner found that player invulnerability frames after a hit were the first single value that moved the FINAL win ceiling at all, and only for competent play.
  • OPENI-071[CORRECTED, board #55] first-ever maxed-perk-kit CE trace (closes I-065's flagged gap): CE avg 45% at BOTH skills, a real 37-55pt drop off bare kit at the same sha, confirming perks/electives are the dominant CE sink, dwarfing dashCost — **45% is INSIDE the current 35-65% target band (heuristic 5, CE-as-specials, kitted-only) — a PASS**, not the violation iteration 73 wrongly called it. Kitted competent FINAL hits an absolute 100% ceiling (16/16) at default tier-1/yard, worth reading alongside board #55's KITTED TIERS ask (tier 2/3 as the real power-ceiling cells)
  • VALIDATEDI-405player i-frames are the first lever that moves the FINAL ceiling, and they bite only the competent end
  • TUNEDI-414`ENERGY.dashCost` 10→20 moves bare-kit competent FINAL off the ceiling (94%→88%, CE 95%→84%) with novice bit-identical; small magnitude, still far from the 7-12/16 target
  • OPENI-415`ENERGY.dashCost` 20→30 buys zero further win-rate movement (flat 14/16) despite CE and hits-taken still moving — the lever is exhausted at 20, not a dial past that point

docs/MECHANICS.md · Cursed Energydocs/MECHANICS.md · The Shikigamidocs/MECHANICS.md · The Line Change

Cards, evolutions, electives

The card deck

Watching

What players said

Build variety is the second most requested thing in Reddit request threads. When people explain why a roguelite feels deep, the answer is systems that interact with each other, roughly three times as often as the next reason. The failure they describe is a run decided by what the game happened to offer.

I think there's been a lot of misunderstanding about this title as is evident by the amount of people who are confused coming into this game in how it is different from other horde based games and not exactly seeing the "meta progression" because ironically; that's how DMD separa
Death Must Die · 45h playedw 6.6

What we built

  • There are fifteen pullable cards plus nine boss signature cards, one per boss. You build a deck in the club and it stays equipped until you change it. The random part is the pull, in the club, with coins. Nothing is dealt at the start of a run.
  • Each copy of a card is a single object that can be in one student's deck at a time, so two members of the crew cannot carry the same copy.
  • A pull never gives you a duplicate while there are cards you do not own, and a pity counter guarantees an uncommon or better on a fixed schedule.
  • The six evolutions (Perfect Flash, Storm Circuit, Second Heart, Encore, Ghost Step, Afterglow) unlock when you hold specific upgrades at specific ranks. They are not drops, so a bad night cannot lock you out of them.
  • There is one free pull per night, and the result is fixed per night per club card, so reloading does not reroll it.

What the lab measured

  • Card numbers were moved into the tuning loop's config file in mid-September so that the question of whether a carried deck outgrows the later rooms is something the lab measures.
  • Daily runs and the lab's bot play without cards, so their scores stay comparable over time.
  • Heuristic 7 applies to cards as well as characters and upgrades: nothing may be a win-rate outlier of more than 15 points at equal skill.

Open. On 2026-09-06 the lab reported that novice electives are unbalanced: DECOY dominates and FLASH underperforms. Not fixed yet.

docs/MECHANICS.md · Cardsdocs/CARD-DECK-PLAN.mddocs/MECHANICS.md · The free pull

A party of up to four

The Club

Partial

What players said

  • Reddit request threadsco-op multiplayer#5/15949weighted364 hits · 2,043 survivors-only
  • Reddit request threadscharacter variety#10/15104weighted34 hits · 530 survivors-only

Co-op is the fifth most requested thing in request threads overall and the fourth among people discussing survivors-likes specifically. We did not build multiplayer. What we built instead is a party you control alone.

Halls of Torment is everything I wanted from this emerging genre. I tend not to be in the business of reviewing Early Access titles and I imagine I have untold gameplay hours ahead of me still, but as I near the 20hr mark I can compare apples to apples and oranges. And, confident
Halls of Torment · 53h playedw 6.9

What we built

  • Up to four students go into a run together. They share one health bar; the students on the bench regenerate energy at half rate and their domain charge is frozen. Tagging has a seven-second cooldown and a two-second domain lock on arrival, so you cannot rotate into a full bar and cast for free.
  • In a School Run each student has their own health. When the active student goes down, control passes to a teammate, and when everyone is down the expedition ends.
  • The four students have different domains, different shikigami and separate elective timetables, so the variety that a lobby would provide comes from the roster instead.
  • Ren AmasakiRen AmasakiIron Cell
  • Yui KurokawaYui KurokawaSilk Cathedral
  • Kaito MizuharaKaito MizuharaBlackout Grid
  • Sora TachibanaSora TachibanaPaper Storm

What the lab measured

  • Early lab measurements found that a club of mixed-strength students performed worse than its strongest member alone. The tag mechanics were added partly to change that, and whether they have is still an open question for the lab.
  • VALIDATEDI-018a 2-club is the field-time-weighted MIXTURE of its members; a mixed-strength club dilutes the stronger player

Open. Online co-op is not planned.

docs/MECHANICS.md · The Clubdocs/MECHANICS.md · School Run

Nine of them

Bosses and the held bell

Shipped

What players said

Boss design is a small request by count, but the lab's sixth heuristic gives it weight: a death in a FINAL should happen near the bell or at a boss with a name, because a death the player can describe afterwards is one they will come back from. Dying to an anonymous crowd at minute four is the opposite.

Halls of Torment is everything I wanted from this emerging genre. I tend not to be in the business of reviewing Early Access titles and I imagine I have untold gameplay hours ahead of me still, but as I near the 20hr mark I can compare apples to apples and oranges. And, confident
Halls of Torment · 53h playedw 6.9

What we built

  • Nine bosses, each with its own attack kit, music cue and signature card. While a boss is alive the hour cannot end, so the bell waits.
  • Two attacks that were killing people without warning got telegraphs in mid-September: the warden's shot and the held bell.
  • Each boss adds a layer to the music when it drops to 40% health, and the defeat is staged rather than instant.
  • A defeated boss gives one prize: a card, a weapon, or one large heart, on top of normal XP and coins.
  • The Janitor
  • Hall Monitor
  • Pop Quiz
  • The Substitute
  • Exam Season
  • Detention
  • Group Project
  • Parent-Teacher Night
  • The Vice Principal

What the lab measured

  • The first death autopsies in the lab found that novice deaths clustered at a mid-night wall with no boss involved, and that almost nobody died close to the bell. Most of the difficulty work since has been about moving deaths somewhere the player can name.
  • OPENI-011the mid-night wall has a name; and nobody ever almost-reaches dawn
  • OPENI-047the pool is a wall wherever it is reached; the roof is at or near the floor everywhere (2 retractions)
  • VALIDATEDI-004novice deaths pile into an anonymous mid-night wall

docs/MECHANICS.md · Clear the boarddocs/MECHANICS.md · Telegraphsdocs/MECHANICS.md · Boss primary drops

2

Why people stop

Negative reviews come from people with fewer hours, median 26. Each theme below is a reason players gave for leaving a game like this one, and what we did about it.

Enemy HP and speed, never spawn counts

How difficulty is tuned

Tuned

What players said

Difficulty that feels fair is the third most requested thing in request threads. On Steam, difficulty complaints come from people with a median of 28 hours, which puts them on the veteran side of the line: this is something players run into after they have committed, and it costs the game people it had already won.

At the moment of this review the new content patch dropped and it is a BIG step but in the wrong direction. The whole premise under this kind of game should be fast paced free movement and power fantasy and its the opposite of what act 3 has brought to the game. Too many movement
Death Must Die · 116h playedw 6.6

What we built

  • We never raise difficulty by spawning more enemies. In a survivors-like, enemies are the XP supply, so more of them makes the game easier. We measured this: on Night II with a 1.15 spawn multiplier the bot reached the bell at the median. Difficulty comes from enemy health and speed.
  • Each room introduces its enemy types on its own schedule, after a playtest where the entire roster arrived in the first room and minute three felt like a much later stage.
  • Grades: the deeper into a run you go, the more of the spawns are tougher recoloured versions of the same enemies. They are thickest in the ninety seconds after a push, which the lab had measured as the calmest stretch of the night.
  • Carry: when you enter a room at level 40 instead of level 1, the room's graded enemies scale their damage to match. We tried scaling their health first and it did nothing, because a level-40 build kills anything and the extra kills fed it more XP.

What the lab measured

  • Raising enemy health backfired at three separate points in the tuning log: damage dealt is capped at remaining health, and that capped number feeds energy, rally and domain charge, so tougher enemies meant more resources and higher win rates. Enemy speed does not go through that channel and moved win rates the expected way.
  • The carry values we shipped keep Gym and Library FINAL clears at 93% and 92% while the lowest health reached in those rooms drops from 79% to 16%, and turn the Cafeteria FINAL into a 58% clear.
Carry, competent play with a full kitFINAL clear rate per room after carry shipped, n 16. Room one is unchanged by construction.
  • FINAL clears
  1. Gym93%
  2. Library92%
  3. Cafeteria58%
  • OPENI-417`hpRampSec` 240→210 (more enemy HP) makes BOTH skills win MORE (novice 13%→25%, competent 88%→94%) — HP is non-monotone in this economy, likely overkill-clamping feeding domainPerDmg/rally, unverified
  • OPENI-418the overkill-clamp mechanism is code-confirmed (`sim.js:2044` `dealt=Math.min(e.hp,dmg)` feeds CE/rally/domain), not yet trace-verified — any enemy-HP-mass lever backfires; `SPAWN_LADDER.hold` 180→140 pushed competent to 100% (16/16), worst reading this session
  • VALIDATEDI-424`STAGE_TIERS[2].enemyHpMult` 1.55→1.9 REVERSES intent — kitted Night II competent win rate ROSE 90.6%→95.3% (n=64), the pre-registered I-417 overkill-clamp signature, now confirmed at a THIRD independent site; also `test/sim.test.js:428` hardcodes this value, blocking any change without a human. Board #46 closed `needs-human`
  • VALIDATEDI-425`DIFFICULTY.speedRampSec` 1500→900 REVERSES intent — bare-kit tier1 FINAL win rate ROSE both skills (13%→38%, 88%→100%), a THIRD distinct backfire channel (faster closure = more weapon-range time = faster XP), not the overkill-clamp mechanism. Board #39/#40's underlying problem remains unresolved, tuner may be out of moves
  • TUNEDI-420`STAGE_TIERS[3].enemySpeedMult` 1.22→1.44 cuts kitted Night III competent win rate 94%→75% (novice 31%→19%) — enemy speed is outside the overkill-clamp channel that broke I-417/I-418, first session lever to move the target metric as predicted
  • TUNEDI-422`STAGE_TIERS[2].enemySpeedMult` 1.12→1.34 CONFIRMED at n=64: kitted Night II win rate 100%→90.6% (58/64), real and below the pre-tune ceiling — the n=16 flat reading was a measurement-power artifact, not a null

docs/MECHANICS.md · Difficultydocs/MECHANICS.md · Gradesdocs/MECHANICS.md · Density taper

Making the first night winnable without an easy mode

Study Hall mercy and Clutch

Tuned

What players said

The same players who ask for fair difficulty also complain when a game solves it with a slider. The brief for this work was one sentence: make the first night winnable without adding another difficulty level.

At the moment of this review the new content patch dropped and it is a BIG step but in the wrong direction. The whole premise under this kind of game should be fast paced free movement and power fantasy and its the opposite of what act 3 has brought to the game. Too many movement
Death Must Die · 116h playedw 6.6

What we built

  • The lab had already measured what kills a new player: 88% of the damage is contact from the two cheapest enemies, arriving on a smooth curve that empties the health pool around three and a half minutes in. Every discrete fix we tried (a boss change, a spawn change, a roster change) missed, because the problem was not discrete.
  • So the mercy works on contact damage only. A player who has never cleared a FINAL gets one step of mercy per death: a little less contact damage lands, and the recovery heal window stays open longer. There is no label, no toast and no easy-mode flag. Enemy health, speed and counts do not change.
  • The recovery valve: below 35% health, heal drops appear six times as often, but only in the first five minutes of a run. Novice players are in trouble before the five-minute mark; competent players are not, so the same rule helps one group and leaves the other alone.
  • Clutch: once per period, the first hit that would drop a solo student under 15% is survived at one health point. Nearby enemies are shoved back and health climbs to 42% over a second and a half. That climb is what the lab counts as a near-miss.

What the lab measured

  • A new player's first night was a 20% clear. With Clutch it is 36%. After three deaths on the mercy ladder it is 78%. A competent player clears 63 or 64 of 64 seeded nights at every mercy step, so the change does not reach them.
  • Before Clutch, the typical novice night had zero near-misses. After it, 86% of novice nights have at least one.
  • With no time limit, the recovery valve raised competent FINAL clears from 47% to 83%, which would have broken the balance. Limited to the first 300 seconds, it keeps the novice benefit and moves the competent cell by about half a standard error.
Study Hall mercy, before ClutchShare of 64 seeded first nights cleared (QUIZ pushed on to FINAL), by mercy step. Novice is bot skill 0.25, competent is 0.8.
  • Novice clears
  • Competent clears
  1. No mercy20%95%
  2. After 1 death28%98%
  3. After 256%98%
  4. After 386%98%
With ClutchSame cells after Clutch shipped and the mercy ladder was re-stepped one notch softer.
  • Novice clears
  • Novice nights with a near-miss
  • Competent clears
  1. No mercy36%86%98%
  2. After 1 death52%81%100%
  3. After 259%69%100%
  4. After 378%53%100%
  • VALIDATEDI-024the novice wall is NOT the boss: it is time-locked at ~215s and three separate levers do not move it
  • VALIDATEDI-025there is no wall EVENT: 88% of novice damage is husk + grub contact, and the intake curve is smooth
  • VALIDATEDI-028the valve produces the best engagement numbers ever recorded here, and "novice-targeted by construction" is FA
  • VALIDATEDI-029a TIME-GATED valve is containable: the first change measured that improves engagement without moving win rates
  • VALIDATEDI-030the valve confirms across characters, except it amplifies the one outlier the ledger already had

docs/MECHANICS.md · Study Hall mercydocs/MECHANICS.md · Clutchdocs/MECHANICS.md · Recovery valve

Never losing a run to a phone lock

Saves, resume and the Club Card

Shipped

What players said

On Reddit, when people say why they quit a roguelite, the most common reason is bugs and lost saves, ahead of monetization. On Steam this complaint comes from people with a median of 31 hours. It is the one mistake players do not forgive, and on a phone the most common version is losing a ten-minute run to the screen locking.

Deep Rock Galactic: Survivor is a Vampire Survivors spin-off from Ghost Ship Publishing and is a smokescreen in terms of data collection. Extensive data is collected for the title without users being able to object. [h1]What Does This Product Do?[/h1] Upon starting the game, vari
Deep Rock Galactic: Survivor · 0h playedw 8.8

What we built

  • The simulation is deterministic: given a seed, the inputs and the frame times, it produces the same night every time, and it never calls the browser's random number generator. A saved snapshot restores exactly. Tests that run two copies in lockstep and a snapshot round-trip are in the suite to catch any regression.
  • Runs autosave every few seconds and again when the page goes to the background. Suspend and Continue keeps the crew's health, knockouts and route, so a School Run survives a closed tab.
  • Cloud saves use a Club Card instead of an account: a 120-bit code that is the credential. When two saves merge, every number takes the larger value and every set takes the union, so a sync can never remove something permanent.
  • Every pull, purchase and payout carries a receipt id. A retry or a merge never grants the same thing twice and never banks the same haul twice.

What the lab measured

  • The suite is at 316 Node tests plus browser checks for menus, roster, music, effects, ladder, controls and notices.
  • During a tuning run the tuner found a snapshot that diverged from the live sim at a value we do not ship, and filed it as a bug rather than working around it.
  • OPENI-426Snapshot/restore determinism bug: at `speedRampSec=900` a live sim and its `Sim.restore()` twin diverge after 10s of identical lockstep stepping (58 vs 55 kills) — reproducible, not flaky, zero RNG involvement in the changed constant, points at a pre-existing `snapshot()`/`restore()` bug (`sim.js:2331`/`2359`) normally inert at shipped values. Filed as board bug #52, needs `sim.js` access

docs/MECHANICS.md · Determinismdocs/MECHANICS.md · Cloud savesdocs/ERROR-TRACKING.md

What there is to chase after the first few hours

School Run, grades and elites

Watching

What players said

Repetition is the earliest reason people leave: reviewers who raise it have a median of 16 hours. It is also the top complaint about Vampire Survivors, the game with the most content in the genre, so adding volume is not the whole answer.

I cannot recommend the game anymore. It is a pity as it was a very fun game with a good game loop. Buy since last patch the grind needed to unlock the power ups that will allow you to play the most challenging content is hundreds of hours, of the same repetitive content. Still on
Deep Rock Galactic: Survivor · 33h playedw 7.7

What we built

  • School Run is an optional ten-room expedition from the Yard to the Roof, about two hours of play, carrying your upgrades, weapons and one unbanked pile of coins the whole way. Rooms open in pairs so the route varies.
  • Elites: after the first minute, one ordinary enemy at a time can be promoted to a Bulwark (frontal shield), a Pouncer (telegraphed dash) or a Conductor (gathers other enemies' bullets and fires them as a fan). Each has counterplay you can see without reading anything.
  • Night II and Night III versions of each room, After Hours overtime past the bell, and Tonight's Run, a daily shared seed, currently parked on the career screen while we decide whether it stays.
  • Four students with separate electives, shikigami and decks, and nine bosses with nine signature cards.

What the lab measured

  • The August risk tracker rated this cluster at risk and named more playable characters as the long-term fix. That is still the case.

Open. School Run has shipped but its pacing over ten rooms has not been through the lab. The two-hour figure is how long it takes, not a claim that it is paced well.

docs/MECHANICS.md · School Rundocs/MECHANICS.md · Behavioral elitesresearch/RISK-TRACKER.md · #4

Being able to see what hit you

Spawn rules and the density taper

Tuned

What players said

Readability complaints come early, at a median of 14 hours, and they are the top complaint about Crimsonland. If the screen cannot be read, every hit feels unfair, and after enough unfair hits people stop.

Original Crimsonland (2004) is one of my most favourite games ever. But the Steam version is a serious step backwards. New graphics are not as pretty, new UI is bland and forgettable, and the worst crime of all - the Perks are gone from the quest mode. That's right, they only exi
Crimsonland · 4h playedw 6.5

What we built

  • Enemies never appear inside the visible area, and a wave never lands on top of the player. The renderer measures what is on screen every frame and passes that box to the simulation.
  • Density taper: from the halfway point of a run, spawn rate and the enemy cap ease down while each enemy carries proportionally more health and XP. Total threat and XP per minute stay the same. What drops is the number of enemies touching you at once, which the lab had identified as the actual killing mechanism: seven or eight attackers stacking into sixteen damage events a second.
  • Cel outlines, a light on the player, desaturated enemies against saturated player shots, a pass on boss projectile visibility, and reduced-motion and low-effects settings.

What the lab measured

  • The taper moved competent MIDTERM clears from 12 to 15 of 16 with hits taken down from 24 to 21, and FINAL clears from 2 to 5 of 16, with XP per minute unchanged.
Density taper, competent playWins out of 16 seeded nights before and after the taper, skill 0.8. XP per minute was unchanged.
  • Before
  • After
  1. MIDTERM1215
  2. FINAL25
  • OPENI-054the surround is not geometric: players die with a 45 deg exit open, killed by stacked contact damage

Open. We still check late-run readability on a phone by hand, with 300 or more enemies on screen. There is no automated test for it.

docs/MECHANICS.md · Spawn placementdocs/MECHANICS.md · Density taperdocs/MECHANICS.md · Mana pickups and boss projectile readability

Running on the device people already have

Web first, phones second

Shipped

What players said

The single most requested thing in Reddit request threads is a game that runs on whatever they have: a Steam Deck, an old laptop, a phone. It is also Brotato's top praise. The other side of it, frame rate collapsing when the screen fills, is the third most common reason people give for quitting.

Vinny Vinesauce put it best. "This game is digital crack." The developer knows exactly how to get the dopamine flowing and keep it going. Tons of stuff to unlock. Multiple ways to build a run with a bunch of different characters. The game seems well balanced enough that every cha
Megabonk · 61h playedw 5.1

What we built

  • The game is a web page at hallpass.cc. There is nothing to install, and phone, desktop and gamepad all run from the same build. The store versions are the same code in a native shell.
  • There are hard caps on enemies, effects and particles, and everything is pooled. When a phone falls behind, the render scale steps down to 1.25 and then 1.0, and after that the bloom drops to a single pass. It steps in one direction and never reloads mid-run.
  • Defeated boss models are removed from the scene and their GPU memory released; effect pools upload only the entries in use.

What the lab measured

  • A developer option records a real-device run and exports frame intervals, CPU submission time, resolution and bloom passes, so a phone report can be checked against numbers.

Open. iPhone Safari frame rate and heat are measured on a physical phone by hand. Desktop emulation cannot reproduce them.

docs/MECHANICS.md · Sustained mobile renderingdocs/IPHONE-PERFORMANCE.mdresearch/RISK-TRACKER.md · #8

What the shells may sell and show

The store rules

Watching

What players said

Monetization complaints come from the longest-tenured reviewers of any theme, median 48 hours. On Reddit it is the second most common reason given for quitting. 20 Minutes Till Dawn's community turned on the developer over a mobile port with ads and purchases, and that is visible in its reviews.

Well, it seems that after the release of 1.0 on steam, they decided to release it on mobile, where now that's the only place that the game get's any updates, and it's apparently pay to win, so You can assume what kind of game dev we are talking about here, ...
20 Minutes Till Dawnw 5.2

What we built

  • The web version has no store, no ads and no notifications. Every store call sits behind a check for the native shell.
  • In the store versions: a one-time Patron purchase that removes ads, timed coin multipliers, and nothing that changes power inside a run. No currency packs and no battle pass.
  • Rewarded ads are opt-in and named. The Charter's Favor revives you once a night after watching one; insurance on a room can be bought with one. One interstitial can appear on the Next button between hours, never after First Bell, never for a Patron, never on a first win.
  • All of it is behind one flag that stays off until playtests sign off.

What the lab measured

  • The August review harvest produced a list of hard lines: nothing that affects power, no forced ads, no currency packs, no revives, no battle pass. In September two of those lines moved: the shells now have an opt-in rewarded revive and a rate-limited interstitial. We are noting that here rather than rewriting the August list.

docs/MECHANICS.md · The store, the ads, the pushdocs/STORE-PLUMBING.mdresearch/RISK-TRACKER.md · #6

Eight beds, nine boss cues

Music and sliders

Shipped

What players said

The smallest complaint cluster, but the two specific requests inside it are easy to grant: separate volume sliders, and music that does not loop the same minute for an hour.

While the gameplay is relatively simple it is very addictive. The music is great, the gameplay loop is engaging, the graphics are charming. There is so much content, characters, upgrades, secrets, weapons, levels, etc. It can get a little old after 200 characters, but each character comes with ne...
Vampire Survivors · 121h playedw 3.6

What we built

  • Sound, Music and SFX sliders on the Audio tab of Options.
  • Eight music beds rotate with the hour of the night. A long room plays an authored repeat rather than looping its first pass.
  • Each of the nine bosses has its own cue and adds a layer at 40% health. A watchdog restarts the music if it faults.

What the lab measured

Nothing to measure here. This was a design choice rather than a tuning decision.

docs/MUSIC-ENGINE.mddocs/MECHANICS.md · Audio

Two thumbs, one thumb, or a pad

Controls

Shipped

What players said

Control complaints have the shortest median playtime in the entire corpus: seven hours. People do not give a game a second evening to fix its sticks. Controller support is a steady request in every community we read.

The game is good but could be great. It's another simple vampire survivor game with a dark aesthetic. It works well and is fun to play but the bright white flashes might be too intense for some people and cannot be changed. It's cheap so buy it if you think...
20 Minutes Till Dawnw 5.9

What we built

  • Twin-stick with auto-fire. Tapping the fire stick does a Flash Step. There is a one-thumb mode.
  • The buttons sit at the same clock positions around the stick on phones and tablets, so the layout you learn on one carries to the other.
  • Gamepad from day one: tag on B, crew slots on the D-pad, shikigami on the right bumper, Flash Step on the left. The controls guide has a tab each for keyboard, trackpad, gamepad and touch.

What the lab measured

  • The controls test drives the built game with real pointer and keyboard events, not injected input, so a broken binding fails the suite.

Open. We have tested a small number of physical gamepads. Support is in; the range of hardware we have tried is narrow.

docs/MECHANICS.md · Touch controlsdocs/MECHANICS.md · The controls guide

3

How we check our own work

The biggest complaint in the genre is balance. Rather than tune by feel, we built a lab that measures the same sixteen seeded nights every time a number changes.

How balance claims get checked

The playtest lab

Ongoing

What players said

  • Steam complaintbalance RNG#1/113,895weighted1,903 reviews · median 34h
  • Why Reddit calls a game shallowRNG decides#3/63,103weighted1,355 hits
  • Why Reddit calls a game shallowone dominant build#4/61,715weighted733 hits

Balance is the largest complaint theme on Steam, and it comes from people with a median of 34 hours. There is no single feature that answers it. What we could do is make balance changes testable, so that a tuning decision comes with a measured effect rather than an opinion.

Amazing first impressions. Super fun and addicting game. Then once you reach tier 3, it all falls apart. The balance is a mess, or should I say, the game has so many guardrails to prevent you becoming very strong because it seems that the devs are terrified of you becoming overpo
Megabonk · 14h playedw 7.9

What we built

  • Because the simulation is deterministic, two harnesses written independently, one by Claude and one by Codex, can replay exactly the same sixteen seeded nights. If they disagree, something is actually different.
  • A finding goes into the ledger only with at least 16 seeds per cell (64 for any claim about a novice median), both skill levels measured, the simulation commit pinned, the effect stated with its size, and a second seed bank or second commit agreeing before it is called validated.
  • The tuner is allowed to edit exactly one file, the config, and only against measured cells. A separate triage pass approves tuning and harness fixes and turns design questions into one-question cards for a human. Nothing else reaches the person making the call.
  • Every experiment is written once, as a JSON manifest in a separate archive, and never edited. To overturn a result you write a new one that names the old.

What the lab measured

  • The first roster measurement found win rates from 25% to 97% across the four students at equal skill. Kaito's collapse was fixed by halving his weapon's cooldown, which moved all three periods the way the earlier finding predicted. Sora's novice wall has now survived three single-value fixes and is flagged as needing a mechanism change rather than another constant.
  • VALIDATEDI-012bare character kits span 25%→97% win rate at equal skill; yui is the only novice rescue ever measured
  • TUNEDI-427kaito `weapon.cd` 1.0→0.5 (Static Orb fires 2x as often), the real pass I-117 flagged as a candidate. Confirms I-117 exactly at tier 3 FINAL competent: win rate 0/16→2/16, near-miss mean 0.88→0.44, score p50 137165→259056. No regression at QUIZ (14/16→16/16) or MIDTERM (8/16→15/16), both already healthy for kaito — moved as predicted on all three periods, closing the I-112 through I-118 kaito-collapse thread with a real fix rather than a tradeoff. `npm test` 111/111
  • REJECTEDI-428board #56 (tuner proposal): sora `weapon.life` 0.55→0.75 (extends Talisman Volley reach ~8.8→~12.0 units) does NOT move novice FINAL win rate — flat 0/16→0/16, despite deathT_p50 rising 454s→483s and score_p50 rising 160443→190122 (she survives longer and scores more, but never converts to a win). Competent stays at its 16/16 ceiling, near-miss mean 0.06→0.13, no regression either way. Third independent single-constant axis ruled out for sora after dmg (I-403, 2026-08-30) and hp (I-404, 2026-08-30) — and unlike those two, this is POST-valve (the recovery valve I-403/I-404 predicted would close her gap has since shipped and evidently doesn't). **The sora single-constant tuner queue is closed a second time; her novice-FINAL wall (I-082/I-084) needs a mechanism-level fix, not another config guess — flag for `docs/IDEAS.md` alongside ROOF/room-geometry.** Config restored byte-identical, `npm test` 111/111
  • VALIDATEDI-405player i-frames are the first lever that moves the FINAL ceiling, and they bite only the competent end

playtest/PROTOCOL.md_hallpass-archive/reports/INSIGHTS.md

How player feedback gets in

Staying reachable

Working practice

What players said

  • Steam complaintabandoned devs#9/11749weighted353 reviews · median 36h

Complaints about abandoned games come from people with a median of 36 hours, and they are the top complaint about 20 Minutes Till Dawn. It is the only theme in the corpus that is about the studio rather than the game, and the only one we cannot answer with a mechanic.

Nothing pisses me off more than when one version of a game is abandoned in favour of a different one. The mobile port of this game still receives updates, where as the fully paid PC version is dead. Wouldn’t recommend buying anything from this dev to be honest, if this is how the
20 Minutes Till Dawn · 10h playedw 6.3

What we built

  • After a run, sometimes, the game asks one question about it: was that boss, that room or that period too easy, right, or too hard. Three answers and a skip. It never asks twice in a night and never asks at all if you have analytics turned off.
  • Field reports go to a public board. Decisions, mechanics and the session history are kept as dated documents in the repository.
  • This site is generated from that repository. When the research files or the findings ledger change, the pages change with them.

What the lab measured

Nothing to measure here. This was a design choice rather than a tuning decision.

docs/MECHANICS.md · The club's one questiondocs/SESSION-LOG.md