How a Daily Puzzle Can Be the Same for Everyone, No Server
By Nesim Razon, independent Android developer · 2026-11-10
Many puzzle games offer a daily challenge that is identical for every player, so you can compare scores with friends. It sounds like it needs a server that hands out the puzzle. It does not. Here is how we do it in our own games, and where the limits are.
The idea: the date is the puzzle
A computer cannot produce truly random numbers on its own. A random number generator is a recipe: you give it a starting number, called a seed, and it produces a long sequence that looks random. The important part is that the same seed always produces exactly the same sequence.
That is the whole trick. If every phone turns today's date into a number and uses that number as the seed, every phone builds the same shuffle, the same pieces or the same layout. Nobody has to send anything. The date works as the shared secret that everyone already has.
In practice the games do not use the raw date as a recipe on its own. They mix it with a few more numbers, such as a puzzle type or a board size, so that different puzzles on the same day do not become copies of each other.
What our games actually do
Cubbles turns the local date into a single number in the form year, month, day, for example 20261110, and uses it as the seed for the pieces. Each set of three pieces is drawn from a generator that is started from that day number, the number of the set, and an attempt counter. So the first set of the day is always the same, and so is the second, and so on.
Cardles uses the day number as the seed for its deals. The shuffling code in the game is its own small, portable random generator, written so that the same seed gives the same deal on every device and every Android version. The type of game also rotates with the calendar, so the daily challenge cycles through four different solitaire games.
Logiclings builds a pack of three puzzles each day. Its seed combines the day count with the puzzle type and size, and the type rotates through the five kinds of puzzle so each one comes around regularly. Pentolings picks its daily fitting puzzle from a fixed pool of medium levels using the day count, and its daily falling-blocks round uses a seed derived from the day.
Why deterministic randomness is enough
The word deterministic means that the result depends only on the inputs. A shuffle that starts from the same seed and goes through the same steps cannot come out differently. As long as the code that builds the puzzle is identical on every phone, the puzzle is identical too.
This also means that a good daily puzzle is mostly about the builder, not the delivery. In Cardles, for example, a deal is not accepted blindly. Some deals are impossible to win, so the game checks the daily deal and, if it is stuck or cannot be won, tries the next nearby seed in a fixed order. Every phone follows the same order, so every phone ends up on the same deal.
Cubbles does something similar. A set of three pieces has to be placeable together, so the game tries up to forty seeded attempts and uses the first one that works. We will come back to what that means for fairness in a moment.
Time zones: whose midnight?
Without a server there is no single clock that decides when a new day starts. Our games use the date on your own phone. When it is already tomorrow in Sydney, a player in Los Angeles is still on today's puzzle. Both are correct for their own calendar.
For a single player this is the friendliest choice. The new puzzle appears at your own midnight, and your streak follows your own days. The cost is that a global daily comparison is slightly fuzzy: two people can be playing different days at the same moment.
A streak is calculated the same way. A streak counts consecutive local days, and the game is forgiving: if you have not played yet today, yesterday still keeps the streak alive until the day is over.
Same puzzle, mostly
In the strictest sense a seeded puzzle is identical only if every step depends on the seed and nothing else. Cubbles is an honest example of where that is not quite true. The check that each set of pieces can be placed depends on the state of your board. If an attempt does not fit your board, the game moves to the next attempt, so two players can occasionally see a different set of pieces. Most of the time the first attempt works and everyone sees the same ones, which is why we describe the daily game as the same for nearly everyone rather than for everyone.
There is another small caveat for puzzles that are picked from a list. If an update changes the list of levels, the pick for a given day can change with it. Players on different versions may then see different puzzles for a few days.
These are the kinds of details worth deciding on purpose. Either the puzzle depends on nothing but the seed, or you accept a small difference and say so.
Cheating, clocks and what no server costs you
The price of skipping a server is trust. The game believes the date on your phone. If you change the clock, you can open another day's puzzle. For a game played for fun, with scores that are shared as a friendly challenge, we think that is an acceptable trade. A server that checks every score would need accounts, storage and care for people's data, and it would be one more thing that can break.
Scores that go to a leaderboard are reported by the app. A determined person can send a number the game did not earn, and the app cannot fully prevent that. That is why we treat leaderboards as a game between friends and not as a contest with prizes.
If you ever build one, decide early what the daily puzzle must never depend on. Keep it to the seed, test that two devices produce the same result, and keep the rule that builds the puzzle frozen. If you must change the builder, change it with a new version of the daily and not silently, or yesterday's puzzle will no longer match.
Frequently asked questions
Does a daily challenge need an internet connection?
In our games, no. The puzzle is built on your phone from the date, so it works offline.
Will my friend in another country get the same puzzle today?
Usually yes, but a new day starts at each player's own midnight, so someone far away may be a day ahead or behind.
Can someone cheat by changing the phone's clock?
They can open another day's puzzle. Without a server the game trusts the phone's date, so we treat the daily as a friendly challenge.
What is a seed?
A starting number for a random number generator. The same seed always gives the same sequence, which is how different devices build the same puzzle.
More from the blog
- How Hundreds of Puzzle Levels Are Generated and Checked
How We Guarantee a Mahjong Solitaire Board Is Solvable
Mahjong Solitaire History and How It Differs From Mahjong- Tic-Tac-Toe: A Solved Game, an Early Computer and Its Variants
- Earthquake Magnitude vs Intensity: What Is the Difference?
- Earthquake Preparedness: Before, During and After (AFAD)