Slow Rain
Browser game · top-down noir shooter“max payne vibe game — film noir, dark vibes. start with a copy as usual. VR evolution, start w max Payne 1 2d clone” Idea #111, captured 8 Feb 2026 · rolled 21 Aug 2026





What it is
A four-level, top-down film-noir shooter that runs in a browser tab. Nine days of rain, one night to make it simple again: Detective Ray Calloway, framed for his partner's murder, works his way from a subway platform up fifty-four floors to the man who set him up.
The two moves that matter are the ones the idea was really asking for.
Bullet time on Shift drains an hourglass
and refills on kills. Shootdodge on Space
throws you sideways through the air, in slow motion, still firing —
and pays triple. Four weapons, painkillers instead of regenerating
health, and hand-drawn comic panels between chapters.
Everything is generated at runtime. There is not one image, sound or font file in the project: the gunshots are synthesised noise bursts, the rain is a filtered noise loop, the comic panels are painted with canvas paths and a halftone screen, and the levels are lists of rectangles.
Mouse and keyboard · no install · no account
Notes from the build
-
The lightmap was the whole game. Every level light casts real
hard shadows, built from the silhouette edges of the wall rects. Doing
that per frame cost
5.6 msin the nightclub and dragged the game to 24 fps. Lights and walls are both static, so each light's shadowed falloff is now baked once into its own texture and blitted —0.3 ms, and the frame came back. - Paint bright, then take the light away. A multiply lightmap can never push a surface past its own colour, so the first pass at the art was unreadably black — the floors had been painted at the brightness they were meant to end up. Repainting every surface at "fully lit" and adding a second additive pass is what makes wet concrete look wet.
- Shots that vanished. Bullets spawned at the muzzle, 22 px ahead of the player. Stand against a crate and that point is inside the crate, so every round died on the frame it was fired — a boss fight that could not be won. Tracing the first step from the shooter's centre makes line of fire and line of sight agree exactly.
- An unwinnable state. Testing found a run that emptied every weapon with hostiles still standing: no ammo, no way to make more, no way out. Calloway now finds a spare clip in his coat when everything is dry.
- Enemies path, they don't cheat. A* over a dilated 40 px grid with corner-cut prevention and string pulling, repathed on a stagger. Goons hunt your last known position, flank, and duck behind cover when they are hurt.
- The board is ours. Scores go to a small PHP endpoint on the same webspace — fixed schema, key-gated, atomic writes, and a data directory the web cannot reach. A client can add a row; it can never wipe the board.
What the dice actually said
| 173 | food robot / the lego of foods — hardware, not buildable here |
| 240 | live action puzzle co-op — needs real multiplayer infrastructure |
| 018 | hype only — a marketing stunt, not a build |
| 004 | escort drone for bugs — hardware |
| 111 | max payne vibe game — built |







































