We use cookies for analytics and advertising to understand traffic and improve EarthGuessr. You can accept or reject — essential cookies always stay on. Privacy & cookies

All posts
Behind the ScenesMarch 5, 20265 min readEarthGuessr Team

Daily Challenges: Same View, Global Competition

Every day, every player sees the same five locations. Here is why a shared daily challenge changes how the game feels — and how we made sure no one can game it.

Daily Challenges: Same View, Global Competition

There is a particular kind of magic that happens when everyone is solving the same puzzle. It is what makes Wordle work, what makes the New York Times crossword work, what makes any "today's puzzle" feel like a small shared event. Until last month EarthGuessr did not have one. Every classic game pulled five random locations from our pool, so two players sitting next to each other would never see the same frame. Daily Challenge fixes that.

How it works

Every day at midnight UTC, a new set of five locations becomes the day's challenge. Everyone in the world plays the same five frames. You get one attempt — no re-rolls, no second runs. Your score lands on a global daily leaderboard tied to that date, and the next day a brand new five locations replace them.

That one-attempt-per-day rule is the whole game. Without it, you could grind the daily until you got a perfect score, which would defeat the point of comparing yourself to anyone. With it, your daily score is a snapshot of how well you read those exact five frames the one time you tried. That is the number that goes on the leaderboard.

Why the shared frame matters

When everyone sees the same locations, conversation becomes possible. You can finish your daily and ask a friend "how did you handle round three?" and you both know which frame round three was. The leaderboard turns from a generic "score per game" into a daily ranking on exactly comparable performance. The day a particularly tough frame shows up, you can see the average score crater across thousands of players — and you know it was not just you.

It also gives the game a cadence. Classic mode is play-whenever, and that is fine. Daily Challenge gives you a reason to come back at roughly the same time every day, with a fresh five-round puzzle that you know everyone else is also working on right now. Streak mode is endurance, classic is best-of-five, daily is the social one.

How we keep it fair

The technical challenge with a shared daily is making sure no one can cheat their way to the top. The threat model is mostly: someone tries to play the daily twice, peek at the locations before submitting, or read the answers out of the network response. We had to design the daily challenge with all three in mind.

The "play once" rule is enforced server-side, not client-side. The server keeps a per-user record of which daily challenges you have completed, and the second attempt for the same date is rejected at the API level. You cannot work around it by clearing local storage or opening a new tab — the server is the source of truth. (Anonymous players cannot play the daily at all, which is intentional. Without a stable account there is no way to enforce one-attempt-per-day.)

The "no peeking" guarantee uses the same coordinate-obfuscation logic we wrote for classic mode. When the server sends you the location to look at, the latitude and longitude in the response are offset by a small random amount — a few hundred metres in each direction — so the network payload does not reveal the exact target. Scoring still happens against the real coordinates, which never leave the server. Even a developer with the network tab open cannot read the exact answer ahead of submission.

The daily streak

On top of the per-day score, we track how many days in a row you have played the daily. Miss a day and the consecutive-day counter resets to zero. This is a separate concept from streak mode — streak mode is how many rounds you survive in a row inside one game session, while a daily streak is how many calendar days in a row you have shown up for the daily challenge. We surface it on the game selector so you can see your current run.

The daily streak is the simplest possible engagement loop and we resisted overbuilding it. There is no in-game reward, no streak-freeze, no "buy back" feature. Either you played yesterday or you did not. That is on purpose: the only thing that matters is whether you actually came back. We may add small visual milestones later — a different colour at 7, 30, 100 days — but the streak itself is just a count.

A note on time zones

A daily challenge that ties to "midnight UTC" is not the same as "midnight wherever you live". This was a deliberate trade-off. The alternative — letting each player's local day decide which challenge they get — would mean two friends in different time zones might be working on different puzzles at the same wall-clock moment, which breaks the "everyone is solving the same thing right now" feeling we wanted.

UTC also makes the leaderboard much cleaner. Every score on today's leaderboard was submitted against the same five locations. There is no awkward boundary where the day rolls over for some players and not others. The cost is that the daily resets at a slightly inconvenient time for players outside Europe. We think the cost is worth the simplicity.

What is next

The current daily is intentionally simple — five locations, one attempt, leaderboard by total score. We are watching how people use it before adding complexity. Likely future improvements include themed weeks (deserts week, capitals week, archipelagos week), friend leaderboards, and a "monthly champion" recognition for whoever has the highest sum of daily scores across a calendar month. None of those change the core: same five locations for everyone, one attempt per day, may the best read of the satellite imagery win.

More in Behind the Scenes

Related reading

Ready to explore?

See the world from above and test your geography skills on a 3D globe.