Street 05 › Devlog › Same questions for everyone: building Daily 05

Same questions for everyone: building Daily 05

Daily 05 is five quick games a day, the same five for everyone. "The same" has to mean the same questions in the same order, or comparing results with a friend means nothing. That turned out to be a question about where every random number in a game comes from.

Most games already shared a toolkit

The short games are built on a small toolkit that runs the loop, the scoring and the input, and hands each game helpers for random numbers. If a game only ever draws randomness from those helpers, we can swap them for a generator that starts from a seed, and the game repeats exactly.

The catch was the word "only". When we checked, 55 of the 109 short games called the browser's random number function directly somewhere, so no seed could reach them. Many were older games built before the toolkit existed.

Choosing the pool

We counted the games that are built on the toolkit and never draw randomness of their own: 52. We left out 6 longer turn-based games, which don't fit a three-minute daily, leaving 46. Most are quiz, word, number and logic games, which suit a daily brain workout anyway.

A unit test reads the source of every game in the pool and fails if one starts calling the random function directly, or uses the clock or the crypto API, so a future change can't quietly break the "same for everyone" promise.

The seed

Each day's seed comes from the date and the game: a short hash of a string like daily:2026-11-01:fallacy-finder. The day is the UTC day, so everyone in the world shares one Daily. The generator is mulberry32, a few lines of code and plenty for game content.

One detail mattered more than the generator. Some games start their round on the first tap, inside the game, so the toolkit restarts the random sequence from the seed at the start of every round. A retry of an uncounted round then gets the same questions again.

Proving it

Unit tests show the same seed gives the same numbers. The better proof was in a real browser: we opened today's first daily game in two separate fresh browsers and compared screenshots of the opening question. They matched pixel for pixel. Normal rounds of the same game differed every time, by about 2.6% of the pixels, because they draw new questions.

What we'd tell another team

More from the devlog