How it works
CSGeoguesser — the rules, the math, the landmarks.
5 rounds. Real CS2 screenshot, real minimap. Click where you think the player is. Distance-based exponential scoring. Daily mode = same 5 spots globally. Multiplayer rooms. Study mode for warmup. Below: the full mechanic breakdown + tips for the most-recognizable landmarks.
What’s in the box
Singleplayer
5 rounds, your map of choice, daily-or-random seed.
Multiplayer
6-char room codes, live scoreboard, BroadcastChannel sync today.
Study mode
Flashcards with answer + minimap dot up-front. No timer.
1000 × e-7.5 × distance · multiplier
- Perfect (dist 0.00): 1000
- Close (dist 0.05): ~740
- OK (dist 0.10): ~540
- Quarter map (dist 0.25): ~220
- Half map (dist 0.5): ~30
- Full map (dist 1.0): ~0
Difficulty multipliers
| Tier | Time per round | Multiplier | Max game score |
|---|---|---|---|
| Relaxed | 120s | 0.7× | 17,500 |
| Standard | 60s | 1.0× | 25,000 |
| Fast | 30s | 1.5× | 37,500 |
| Lightning | 15s | 2.0× | 50,000 |
Tighter time → smaller margin for misclicks → bigger payoff when you nail it. The multiplier applies to each round’s score before being added to the running total.
Complete a daily-mode game to bump your streak.
- Daily-mode only. Random-mode runs don’t bump the counter — daily is the comparable apples-to-apples seed.
- One per UTC day. First daily completion of a new UTC date adds +1. Re-plays same day are no-ops.
- Resets on a gap. If you skip a day, the counter goes back to 1 on next completion. Longest-ever streak is preserved separately.
Spot these and you can’t miss the callout.
Dust 2
Mécanique Générale
Cyan-painted shutter at T-spawn going Long. Always Outside Long — you can see it from spawn before the round starts.
Dust 2
Tabac
Blue-on-cream "TABAC" stamp on a corrugated shutter. T spawn area, near the long-side gate.
Dust 2
Ayman Adam Cyber Club
Blue + yellow graffiti reading "CYBER CLUB" with an arrow. Points away from A-site under the platform — you're Under A.
Dust 2
Internet Cyber
Blue cartoon man at a desktop above "CYBER" in stylized blue. Short stairs leading up to A short.
Dust 2
Lipstick mural
Red lipstick mark on a corrugated shutter. Top of mid CT-side — the "dental clinic" wall.
Dust 2
Rue de la Kasbah
Blue street sign with "Rue de la Kasbah" in white. Bombsite B near the back wall.
FAQ
Why is part of the screenshot dimmed?
CS2 renders an in-game radar circle in the top-left of every screen plus a callout text label below it ("Mid Doors", "Outside Long", etc.) — both leak the answer for free. We mask that ~26%×30% region with a dark gradient + small "HUD hidden" tag so the puzzle stays a puzzle. The rest of the screenshot — the actual scene — is untouched.
I clicked exactly where the player is on the radar but the answer dot is far off?
Spot coordinates are hand-tuned to match the standalone radar PNG, and tuning errors happen. Visit /csgeo/dust2/calibration/ to see every answer dot overlaid on the map at once — if a label sits where the wrong building is, drop a note via /about/#contribute with the spot id and which direction it should move.
How is the score calculated?
Each round you click on the minimap; we measure the Euclidean distance between your guess and the answer position (both in 0–1 normalized minimap coordinates). The base score is 1000 × e^(-7.5 × distance) — exponential decay, so a perfect click is 1000, half-map distance is ~30, and full-map is ~0. Difficulty multiplier (0.7× / 1.0× / 1.5× / 2.0×) applies on top.
What's "Daily mode"?
Daily mode picks the same 5 locations for every player who plays today. The seed is the YYYY-MM-DD UTC date passed through FNV-1a → mulberry32. So you can compare your score to friends without coordinating which spots — they got the same set.
Why does the timer matter?
Each round has a per-difficulty time limit. At 0:00 we auto-submit whatever guess you have (or 0 if you haven't placed one). Tighter time settings carry a bigger score multiplier — you take more risk for more reward.
Does multiplayer work cross-device?
Not yet. v1 uses BroadcastChannel which only syncs across tabs on the same device — open this page in two tabs to playtest. Cross-device WebSocket lands when we deploy a Node socket backend; the client protocol is already typed and ready (RoomMessage events).
How do I add my own screenshots?
Drop in-game screenshots at /apps/public-tools/public/screenshots/<map>/, add a real CS2 minimap PNG at /public/minimaps/<map>.webp, and append entries to data/cs2-locations.ts with normalized 0–1 minimap coords. The /csgeo/<map>/ page lights up automatically when 5+ locations exist.
Where are my best scores saved?
localStorage on this device only. Per-map best scores at cs2apps:csgeo-best, per-location best rounds at cs2apps:csgeo-location-pb, daily streak at cs2apps:csgeo-streak. Nothing leaves your browser.
/public/.All CSGeoguesser surfaces
The full feature set in one place. See /csgeo/index/ for an exhaustive site map including every spot permalink.
Main game
Pick a map, daily mode, 4 difficulties.
/csgeo/
Daily challenge
Same 5 spots for everyone today.
/csgeo/daily/
Spot of the day
One featured callout per UTC day.
/csgeo/spot-of-the-day/
Multiplayer
6-char rooms, live scoreboard.
/csgeo/multiplayer/
Dust 2 atlas
All 18 spots on one minimap.
/csgeo/dust2/atlas/
Dust 2 theory
Rotation timings, lanes, AWP angles.
/csgeo/dust2/theory/
Callouts glossary
Searchable callout grouping.
/csgeo/dust2/callouts/
Study mode
Flashcards with answers up-front.
/csgeo/learn/
Your bests
Local PBs, recent runs, streak.
/csgeo/leaderboard/
Achievements
15 unlockable milestones.
/csgeo/achievements/
Replay viewer
Watch a shared run with ?r=…
/csgeo/replay/
Embed widget
Iframe a spot in your blog.
/csgeo/embed/
OBS overlay
Streamer browser source.
/csgeo/overlay/
Public API
JSON endpoint for integrations.
/csgeo/api/
Library stats
Coverage by lane and difficulty.
/csgeo/stats/