π΄ Latest update
Flag Match game shipped + rebrand to Ants & Atlases. A new interactive π΄ Flag Match game is live: a real national flag is shown (sourced from flagcdn.com β proper flag images, not emoji) and the learner picks the country from multiple choice. It runs on a combined difficulty ladder of 8 rungs (Starter β World Master); each rung ramps both the country pool (L1 Famous 20 β L4 World Tour) and the number of answer choices (2 β 6) together, so kids make achievable strides. Distractors get smarter as you climb β early rungs pull random wrong answers, higher rungs pull same-continent decoys for a true test of flag knowledge. Streaks, a per-level "Level Up!" celebration, locked/unlocked rungs, and localStorage progress persistence are all wired up. The whole tool was also rebranded from "Orbis" to Ants & Atlases (files, globals, display text, storage keys).
Earlier: π Animals of the World print worksheet (draw-a-line matching, randomized per load, upside-down answer key) and atlas growth from 100 β 129 curated countries. Print quizzes share one kid-friendly template (Patrick Hand + Outfit, paper-tone preview, @media print Letter output).
Next: Flag β Country print worksheet (same flagcdn images, paper format), then more matching sheets (Foods, Landmarks) and the Tier 4 curation runway.
Built
-
Atlas data backbone (196 sovereign nations Β· L1-L4) β REST Countries bulk fetch (
/v3.1/independent?status=true) with a Taiwan backfill from /alpha. Hand-curated soft fields for tiers 1-3: flag colors, flag motifs, climate band, terrain headline, landmark, famous food, fact card, bordering waters, island flag. Tier 4 (116 countries) auto-populated with null soft fields. Each country tagged with a level (1-4). Refresh via node data/build_atlas.mjs. Atlas fetch is cache: "no-store" so data edits show immediately.
-
Atlas Data Table modal β π toolbar button opens a sortable, searchable, level-filterable table of every country. Empty cells highlight in red so curation gaps for Tier 4 are obvious. Stats: 74 fully curated Β· 6 partial Β· 116 sparse. "Show only countries with gaps" toggle surfaces uncurated countries. The runway for incremental Tier 4 manual curation.
-
Tier ladder + picker (L1-L4 live) β chip bar above the map. Pool spec
{type:'level', value:N} returns all countries with level β€ N. Selection persists to localStorage. Mission and Geocode read the active tier. Map highlight re-renders instantly on tier change β out-of-pool countries dim to context. Region Focus zoom is preserved across tier switches. The hint engine returns noData responses (which don't consume budget) for L4 picks lacking curated soft fields.
-
Country-level interactive map β 212 country paths rendered from Natural Earth GeoJSON. Click any in-pool country to open its info modal. Dim countries are visible context but non-interactive.
-
Quiz engine β mode-agnostic, config-driven session driver. Pool specs:
all, continent, iso2s, level, predicate. Same engine powers Mission and Geocode. Geometry helpers (haversine distance, compass bearing, warmth bands). Hint builders handle missing soft data via noData responses. Hook-race fix: autoStart: false + manual first-round call so controllers can stash the session reference before onRoundStart fires.
-
Geocode mode (Guess Who + Globle hybrid) π§ͺ Needs testing β 14 hint categories (continent, language, flag colors, flag motifs, climate, hemisphere, capital letter, neighbors, water, size, population, terrain, landmark, food). Attribute-deduction gameplay. Globle-style distance + direction feedback on every wrong guess. Warm/cold map breadcrumbs accumulate. Side-panel UI with hint deck, clue log, guess log. Win modal with country facts.
-
Mission Quiz UI π§ͺ Needs testing β engine-driven "Locate Country" quiz. HUD strip with round counter, target announcement, score chip, End button. Wrong guesses β distance toast + warm/cold breadcrumb. Right guesses auto-advance after 1.1s. 10-round default. Session-end summary with round-by-round attempt counts. HOME + NEW MISSION buttons. Country ISO labels hidden during a Mission (anti-cheat).
-
Flag Match game β multiple-choice flag identification with a combined 8-rung difficulty ladder (Starter β World Master). Each rung ramps the country pool (L1 β L4) and the choice count (2 β 6) together. Real flag images from
flagcdn.com (the atlas flag_svg field), not emoji. Smarter distractors as you climb: random decoys at low rungs, same-continent decoys at high rungs. Streak counter, per-level "Level Up!" celebration, locked/unlocked rungs, localStorage progress persistence. Standalone flag-match.html in the cinematic dark theme, linked from the main nav.
-
Region Focus zoom π§ͺ Needs testing β Focus chip bar in Countries view (World Β· Africa Β· Asia Β· Europe Β· N. America Β· S. America Β· Oceania). Click a chip β animated SVG viewBox transition. Click active chip again to toggle back to World. Hand-curated representative ISOs per continent + main-polygon-only bbox math so Europe isn't dragged east by Russia and Oceania frames on Australia. Animation uses
setTimeout (works in hidden tabs unlike RAF). Known nit: country labels grow proportionally with zoom (need inverse scaling).
-
Roadmap overlay β living document of what's built, what's next, every idea on the board. Toolbar button + ESC + backdrop click to close.
-
Map sizing & layout polish β map area is ~2.5Γ larger than the original (max-width raised, container/wrap padding trimmed, status display compressed). Edge-to-edge mode on viewports β₯1600px. PLANET EARTH headline auto-hides in Countries view since it's redundant. Mission HUD strip width matches the map. Body scrolls when short laptop screens need it (was previously locked).
-
Overlay system polish β five overlays (Discovery, Roadmap, Mission Summary, Geocode Result, Atlas Data Table) share consistent close buttons (circular, top-right). ESC and backdrop click close any open overlay. Summary modals use a HOME (secondary outline) + primary action button pattern. Cache-busting query strings on every script/style tag so dev edits show on reload.
-
Print quizzes (4 worksheets, growing) β kid-friendly Letter-portrait worksheets sharing one template:
- π The 7 Continents β numbered circles 1-7 on each continent, hand-drawn Antarctica strip (Natural Earth omits Antarctica).
- π The 5 Oceans β soft-blue water backdrop, numbered circles 1-5 on Arctic / Atlantic / Indian / Pacific / Southern.
Patrick Hand + Outfit typography. @media print for clean print output. Number badges sized so they don't dominate continents.
- π The 7 Continents β numbered world map + word bank + answer lines.
- π The 5 Oceans β same map with soft-blue water backdrop.
- π Animals of the World β draw-a-line matching: 8 animals β 7 continents. Randomized per load, upside-down answer key.
- π΄ Flags of the World β draw-a-line matching: 8 real flag images (flagcdn) β country names. Screen-only difficulty selector (Famous 20 β World) + "New flags" shuffle; both hidden in print. Numbered flags with an upside-down answer key.
-
Cleaner Ants & Atlases nav β 9 toolbar buttons collapsed to 6 visible elements. Continents/Countries/Oceans joined into a segmented control with active-state highlighting. Utility items (Atlas Data, Roadmap, Exit to IQ) moved into a β― More dropdown. π¨ Print became a dropdown listing every available worksheet β extensible as more land. Shared
wireDropdown() JS helper handles open/close/click-outside for both menus.
Build next (queued)
-
More print quizzes π― Up next β full worksheet roadmap in pedagogical order:
- β
π Animals of the World β shipped. Draw-a-line matching: 8 animals β 7 continents.
- π¨ Color the Continents β pure coloring sheet, continent names pre-labeled, blank fill regions.
- π§ Hemispheres β color Northern vs Southern, Eastern vs Western on a split globe diagram.
- π΄ Flag β Country Match β 8 flag swatches, draw a line to the country name.
- π Famous Foods β Country Match β dish illustrations matched to home countries.
- π Landmarks β Continent Match β Eiffel Tower / Great Wall / Pyramid etc. matched to continents.
- πΊ Blank Map: Label the Countries β continent-by-continent label sheets (word bank + outline only). Three tiers: Trace (faded labels), Label (word bank), Recall (blank).
- π Size & Population Sort β rank 8 countries smallest β largest, or least β most populous.
- π‘ Climate Match β assign each country to tropical / arid / temperate / polar.
- π Famous 20 Trading-Card Deck β one card per country: flag, capital, landmark, fact. Cut-apart. Doubles as the physical Geocode game board.
- βοΈ Cut-and-Paste Continent Puzzle β print, cut, reassemble the continents from SVG outlines.
- π΄ Memory / Concentration Pairs β flag card + country-name card. Print and cut.
- π Two-Player Geocode Board β 24 country tiles in classic Guess Who layout, pencils to cross off.
- π Lat/Long Plotting Grid β find the coordinate, mark the spot.
- π Flag-Coloring Templates β proportion grids for each flag, kid draws their own.
- π Passport Booklet β physical companion to the digital passport stamps, kid fills in alongside the app.
- π Answer-Key generator β parent/teacher answer keys auto-generated from atlas data for every worksheet.
-
Tier 4 curation runway β 116 countries currently sparse (auto-pulled from REST Countries with no hand-curated soft fields). The Atlas Data Table surfaces every gap. Goal: incrementally enrich Tier 4 with the same soft palette (flag colors, motifs, climate, terrain, landmark, food, fact card, bordering waters, island flag) so Geocode L4 plays as deeply as L1-L3.
Game modes (ideated)
-
Geocode difficulty ladder β five scaffolded levels:
- L1 Continent Decoder (ages 6-8): mystery is one of 7 continents.
- L2 Famous 20 (current proof-of-concept).
- L3 Regional Master: one region at a time (e.g. all of Europe).
- L4 World Tour: all ~195 countries.
- L5 Daily Mystery: one puzzle per day, same for everyone, shareable.
-
Where in the World (Daily Mystery) β Wordle-style. Five clues revealed one at a time ("Indian Ocean coastβ¦ Portuguese-speakingβ¦ capital starts with Mβ¦"). One puzzle per day, shareable result strip. Hooks casual visitors.
-
Flag Lab β flag literacy in deliberate passes: shape & color families β symbolism β match-to-country β draw your own on a printable proportion grid.
-
Compare Mode / Projection Lab β drag two countries side by side at true scale. Built-in Mercator distortion lesson (the Greenland-vs-Africa reveal).
-
Border Chains β given a start and end country, build the shortest chain of bordering countries between them. Teaches adjacency intuitively.
-
Multi-round Geocode streak mode β back-to-back mysteries with a running streak counter and shrinking hint budget.
Curriculum spine
-
Curriculum Atlas β a tree of modules, each a tight three-act loop:
- Discover: narrated globe tour with cinematic camera moves.
- Practice: in-app quiz drawn from the engine.
- Take-Home: printable worksheet pack for pen-and-paper work.
-
Passport stamps β earned per module, stored in localStorage. A printable passport booklet that mirrors the digital one β kid fills it out alongside the on-screen version.
-
Age-tier paths β visual + reading-level variants so an 8-year-old and a 12-year-old can both use the same module appropriately.
Worksheets & print
- Trading-card decks per difficulty level β also the physical Geocode game boards (digital + physical share the same data).
- Trace / Label / Recall blank maps β three difficulty tiers per region. Trace = bold outlines + faded names. Label = blank shapes + word bank. Recall = blank shapes only.
- Flag-coloring templates with proportion guides β kid draws their own.
- Lat/long plotting grids β find this coordinate, mark the spot.
- Border-coloring exercises β "color every country that borders France."
- Cut-and-paste continent puzzles β physical jigsaws from our SVG paths.
- Two-player printable Geocode board β 24 country tiles in classic Guess Who layout. Pencils to cross off eliminated tiles.
- Solo detective sheet β single-page case file with scratch-off / cover-up clues.
- Daily mystery printable β one-page handout for classroom use.
- Passport booklet β physical companion to the digital passport stamps.
Polish & quality-of-life
- Inverse-scale country labels on zoom β labels currently grow proportionally with the zoom level. At Europe zoom (7Γ), GB/FR/DE labels look comically large. Apply a counter-scale so labels stay a consistent rendered size at any zoom.
- Auto-zoom to the Mission target's region on round start (optional difficulty toggle) β using
AACountries.viewBoxOfContinent() the engine could narrow the search area. Hides too much of the world for L2 but valuable for L3+ (Regional Master).
- Frame breadcrumb cluster in Geocode β as wrong guesses accumulate, auto-zoom to fit the breadcrumb spread so the warmer/colder pattern is visible at a glance.
- Warm/cold halo on guessed countries β color the whole country, not just a centroid dot, with intensity by proximity.
- Hint cost variance in Geocode β continent hint costs 2, "famous food" costs 0.5. Adds real strategy.
- Disabled Give Up button in Geocode after a round ends.
- Snappier reveal animations on clue cards and chip-to-clue transitions.
- True centroids for crescent-shaped countries β Saudi Arabia's label currently sits inside Egypt due to bbox-center placement.
- Continent color tint on Famous 20 β group countries visually by continent, matching the cinematic style.
- Nav button responsive wrap β toolbar still crowds on narrower viewports (below ~1100px). Either wrap cleanly or collapse into a menu.
- Persisted progress β save Geocode wins, Mission scores, played mysteries, and curriculum stamps to localStorage. Show a daily streak.