Project Plateau
Project Plateau: four glass plates, one living valley, and the road back to camp.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A browser geography game: draw countries freehand, place them on a world map, and get scored on how close your shape and position are to the real thing. Plus flag quizzes, a "rank the economies" mode, and a data explorer — all in vanilla HTML/CSS/JS with no build step.
Play it: https://geo.petterbuilds.com/
Daily Challenge — one deterministic country per day
Quick 3 — 3 random countries (drawing three is a session; ten is a slog)
Famous 5 — the 5 largest countries by area
Speed Round — a 3-minute timer, as many as you can
Streak — keep going until your score drops below 25
Continents / World — all 7 continents, or every country
Regions — Africa, Europe, Asia, N. America, S. America, Oceania
Top 10 / Bottom 10 — pick the countries at the top (or bottom) of a ranking
Plus combinable toggles (Placement Only, Tweak, Blind, Explorer, Hard) and separate flag-guessing, flag-color-picker, rank-line, and data-explorer modes.
It's a static site — just serve the folder over HTTP (the data loads via fetch,
so opening index.html directly won't work):
python3 -m http.server 8080
# then open http://localhost:8080
docs/DATA.md for the regeneration pipeline.data-map.html — the pipeline, on the served site: which source feeds which
script feeds which file feeds which module, plus the cross-file integrity checks,
computed live from the committed data. Per-entity coverage lives in the app instead,
under Data Explorer → Coverage (#/explore/coverage), where the Colors column
checks each curated flag colour against the flag's own image.| Path | What |
|---|---|
index.html | All game screens |
js/main.js | Central Game class / state machine |
js/drawing-canvas.js, js/world-canvas.js, js/shape-handles.js | The two interactive canvases and their shared resize/rotate handles |
js/scoring.js | Rasterized IoU scoring |
js/geo-data.js, js/datasets.js | Data loading and reference shapes |
data/ | Country geometry, stats, flags |
scripts/ | Data regeneration (Node) |