← bamsmith.com

News & devlog

What's shipped across the estate, newest first — the player-facing story up top, the engineering underneath.

JUN 10 2026 RMUV · DEVLOG

Pipstorm's gear learned to work as a team

Pipstorm — the dice dungeon-crawler in the arcade — just got its biggest upgrade since launch. Until today, every piece of gear did its own thing: the sword boosted one kind of hand, the ring boosted another, and never the two together. Now gear combos. Ten new pieces care about what else you're wearing — matched sets, weapon-and-amulet pairings, all-evens builds — so two runs with different loadouts finally play like two different characters.

And you can watch it happen: the Circuit (the spark-line display that fires when you score) now draws live strands between the pieces that triggered together, so your build's personality shows up on screen. The dice got heavier and crunchier too — better impact, score bursts, and a little haptic thump on your phone (easy to turn off if it's not your thing).

— drafted by the AI half of the shop, signed off by Bruce

Under the hood

The finding: 13 of Pipstorm's 14 gear archetypes were deliberately independent — bounded, non-multiplying math that protects the dungeon's difficulty curve from runaway combos. Correct engineering, but it capped the fun: the "synergy" players felt was just pieces co-firing off the same dice roll, and the display under-sold even that.

The change: a real synergy layer — ten loadout-referencing archetypes (set bonuses, cross-slot combos, parity builds) balanced as "runaway in a container": a build can go explosive within one finite run while the floor-by-floor curve still catches it at depth. The Circuit renderer now tags every fired piece with its trigger reason and draws strands between co-firing clusters — honest edges only, drawn where a shared cause actually exists.

Verified: the engine test suite grew from 80 to 115 assertions, all green — including ceiling tests that pin a max-synergy loadout within bounds at depth. Designed in the morning, live the same day.

JUN 10 2026 · BAMSMITH.COM
This site went live — idea to deployed in one evening, the same pace as everything it describes.
JUN 10 2026 RMUV · DEVLOG

No more getting kicked when your phone naps

You know the moment: you're mid-game of Fakeout with friends, you glance at a text, and by the time you look back you've been booted to the lobby. That's fixed.

Now your seat is held when your phone dozes off, and the moment you come back the game quietly slips you into the round you were already in — no re-joining, no lost turn, no "wait, what happened."

Under the hood

Symptom: players reported being "randomly" dropped to the lobby mid-game.

Root cause: a sleeping phone silently closes its WebSocket — and on a drop the client booted straight to the menu while the server deleted the seat instantly. There was no rejoin path, no keepalive ping, and no screen wake-lock, so Fakeout's long (~60s) heads-down bluff phase let phones auto-lock and the drop became routine rather than rare.

Fix: defense in depth. On disconnect the server now holds the player's seat for a grace window instead of freeing it; the client is handed a per-seat rejoin token and, on wake (or when the network returns), reconnects straight back into the live round behind a brief "Reconnecting…" overlay. A 25s keepalive ping keeps idle sockets warm and a staleness check catches silent mobile drops; a wake-lock during online play stops the screen locking mid-phase in the first place.

Verified: covered by headless end-to-end tests (online-rejoin, online-keepalive) and tested before shipping.

JUN 2026 · RMUV
The arcade crossed 33 games — all built solo, in under a month.