Board building
Drag & drop with live range preview, the type triangle and a free “simulate vs bot”.

UX/UI CASE STUDY · CONCEPT
The sea took the cities. Sail a raft that grows into a legendary ship, claim islands on real (sunken) landmarks, and build boards that battle on their own, even while you are offline.
Location games ask a lot: be at the right place, at the right time, often near strangers, and play reflex-based mini-games. Many people who would love a city-wide strategy game can’t or won’t do that: commuters, parents, shift workers, frequent travellers. Existing territory games (e.g. Ingress) reward coordinated real-time teams and long sessions; base-defense games (e.g. Clash of Clans) are fun asynchronously but ignore the real world.
A fully asynchronous location strategy game. You plan, the boards fight. Islands defend themselves while you are away; you come back to a digestible summary, readable replays and one-tap rewards. Distance travelled (not speed, not route) is the only movement that matters, which keeps the game safe and privacy-friendly.
Drag & drop with live range preview, the type triangle and a free “simulate vs bot”.
Deterministic battles + auto slow-mo at key moments + a 3-finding report.
Turns overnight losses into a calm summary with a way back for every loss.
Streets become canals; real water becomes a calm “monster zone” where nothing spawns.
Teaching “you plan, the boards fight” in under a minute.
01 · RESEARCH & BENCHMARK
Desk research on six references. Claims about other games come from the sources listed at the bottom; anything not verified is marked as such. We do not claim originality for a mechanic unless we could not find it in the references.
| Game | What it does well | Where it hurts (for our audience) | What Atlas Rush takes / changes |
|---|---|---|---|
| Pokémon GO | The world generates the content (stops, spawns). Gyms pay up to 50 coins/day while defending; motivation decay keeps gyms turning over. | Coins only paid when your defender is knocked out. Speed limits & warnings needed after driving incidents. | Take: world-generated content, passive income from held territory. Change: income per island on its own 24 h clock, collected remotely. |
| Ingress (Niantic) | The benchmark for location territory control: portals, links and control fields that can span hundreds of km. | Faction play rewards coordinated real-time teams and long trips; outcomes depend on who is physically there. | Take: territory on real landmarks. Change: no factions, no simultaneous presence, defense built on a board, auto-battles, distance as reward. |
| Clash of Clans | Asynchronous base defense; shields after being raided; replays of attacks. | No real-world layer. | Take: async defense, shield after capture, replays. Change: replay made pedagogic (slow-mo + report). |
| Auto-battlers (Auto Chess) | Fun comes from composition and positioning, not reflexes. | Real-time lobbies of 8 players; long matches. | Take: positioning on a grid, type counters. Change: ~24 s deterministic battles vs a snapshot. |
| Upland | Real addresses as property; you don’t need to be physically there. | Blockchain/real-money economy; speculation. | Change: closed economy (coconuts), system shop only, no trading. |
| Geocaching | Exploration of real places; community etiquette and safety norms. | Requires precise physical search; slow loop. | Take: placement etiquette (public, accessible places only). |
Every location game we looked at rewards being there at the same time as others. We remove that entirely (golden rule).
Pokémon GO’s defender coins are capped and paid on knock-out. We pay a fixed 3 coconuts per island per 24 h, each island on its own clock. Predictable and calm.
Async defense games lose players at the “I was raided and don’t know why” moment. Replays + report are the answer.
Speed warnings are a patch. We make speed irrelevant (only farthest distance counts) and never place content on water or private places.
02 · STRATEGY
Every action is solo and asynchronous. No meet-ups, no chases, no live PvP.
Skill = composition and placement. Zero reflex input in battles.
Recovery chest, replay, cooldown only on that island, free wild islands.
Only the farthest point counts. No incentive to rush or drive.
Never color alone: color-blind safe on a blue map.
Every item, rule and result fits in one line of plain language.

Walks 40 min a day between home, metro and work. Plays in 2-5 min bursts.
GOAL
Feel progress without changing her routine.
FRUSTRATION
Games that demand detours, evenings out or being online at a set time.
HOW ATLAS RUSH SERVES THEM
Islands on her route, remote coconut collection, “While you were away” in 30 s.

Loves auto-battlers and deck builders; plays seated, at home.
GOAL
Out-think other players; see his builds win.
FRUSTRATION
Location games feel shallow; real-time PvP is exhausting.
HOW ATLAS RUSH SERVES THEM
Deep defense/attack boards, the type triangle, free simulations, readable replays.

Flies twice a month for work; rarely in the same city two weeks in a row.
GOAL
Have a reason to open the app abroad and when she comes back.
FRUSTRATION
Territory games punish being away; progress stalls.
HOW ATLAS RUSH SERVES THEM
Voyage bonus: every island pays for the distance she travelled, safely and privately.
Day 1
Installs, claims a wild island on her way to the metro
“That was easy”
Day 1 night
Island raided while asleep
Day 2
“While you were away”: 1 lost, recovery chest, replay shows the open flank
“Ok, I get why”
Day 2
Simulates a new defense on the train, retakes the island
“I outsmarted them”
Day 4
Collects 9 coconuts from 3 islands without detours
“Little and often”
Day 7
Rowboat unlocked → bigger board, new league
“Progress!”
| Hypothesis | Signal | Target (concept) |
|---|---|---|
| Players understand “you plan, the boards fight” from onboarding alone | % who place ≥1 defense item before leaving onboarding | ≥ 80% |
| Free simulation reduces frustration from losses | D7 retention of players who simulated ≥1× vs never | +15 pp |
| “While you were away” makes losses digestible | % of users who retake or fix a defense within 24 h after a loss | ≥ 40% |
| Remote collection + per-island clocks create short healthy sessions | Median session length / sessions per day | 3-5 min · 2-4 / day |
| Voyage bonus motivates travellers without encouraging speed | Bonus claims vs. average speed telemetry | No correlation |
| Replays are readable | Usability test: participant explains why a battle was lost | ≥ 4 of 5 participants |
03 · GAME DESIGN
Labels: DECIDED = Bonato’s decision · PROPOSAL = my suggestion (needs sign-off) · PENDING = open question.
Find chestssunken cities
Claim islandswild = free
Build boardsdefense + boat
Raid islandssame league
Get raidedwhile offline
Returnreplays, coconuts
Spendshop, upgradesWorked example: 12 islands → 36 coconuts/day. A Lv 4→5 upgrade at 120 coconuts ≈ 3.3 days of income. Meaningful but reachable. All prices are placeholders until the balancing sheet is validated with bot simulations.
| # | Boat | Art | Materials I → II → III | Attack board | Levels |
|---|---|---|---|---|---|
| 1 | Raft | Bamboo → Wood → Reinforced wood | 3×3 | 1-3 | |
| 2 | Rowboat | Wood → Iron-banded → Iron | 3×4 | 4-6 | |
| 3 | Double canoe | Bamboo → Wood → Coral hull | 4×4 | 7-9 | |
| 4 | Sailboat | ![]() | Canvas & wood → Canvas & iron → Silk & steel | 4×5 | 10-12 |
| 5 | Schooner | ![]() | Wood → Iron → Steel | 5×5 | 13-15 |
| 6 | Caravel | ![]() | Dark wood → Bronze → Silver | 5×6 | 16-18 |
| 7 | Galleon | Oak → Black iron → Gold | 6×6 | 19-21 | |
| 8 | Frigate | Steel → Obsidian → Sea crystal | 6×7 | 22-24 | |
| 9 | Legendary ship | Pearl → Amber → Aurora | 7×7 | 25-27 | |
| 10 | Leviathan | Bone → Living coral → Abyssal | 7×8 | 28-30 |
| Lv | Island | Art | Defense grid | Upgrade cost (placeholder) |
|---|---|---|---|---|
| 1 | Sandbank | ![]() | 3×3 | Claimed |
| 2 | Islet | 3×4 | 30 coconuts | |
| 3 | Small island | 4×4 | 60 coconuts | |
| 4 | Medium island | 4×5 | 90 coconuts | |
| 5 | Large island | ![]() | 5×5 | 120 coconuts |
| 6 | Lagoon island | ![]() | 5×6 | 180 coconuts + palm seed? (pending) |
| 7 | Fortress island | ![]() | 6×6 | 260 coconuts + palm seed? (pending) |
| 8 | Legendary island | ![]() | 6×7 | 360 coconuts + palm seed? (pending) |
Barrier = holds (wide, round shapes) · Force = deals damage (pointed, angular) · Cunning = manipulates (slender, asymmetric). Counter bonus is a PROPOSAL: +25% effect vs the beaten type, −25% vs the winning type.
Usage: D = island defense, A = boat attack, A/D = both. Common → Rare take 1 cell; Epic & Legendary take 2. Names were localised to English and softened where the brief asked to avoid bomb/war language (e.g. “Explosive barrel” → Bursting Barrel, “Tide mine” → Tide Trap, “Urchin bomb” → Spiky Urchin).




















Auto-battle ~24 s, deterministic, low randomness. Attacker must reach the core (palm) before time runs out. Resolved server-side against a snapshot of the defense taken when the attacker sails.
Before attacking you see the defense’s type counts; Spy Parrot reveals exact items in part of the grid; Sea Mist hides neighbours.
−XP (smaller than a win’s +XP, proposal), keeps items, can’t attack THAT island for 24 h.
Takes the island, +3 coconuts, timer starts, conquest chest (better than street chests).
Loses the items on that island’s board; a recovery chest returns a random part (~30-40% proposal). Short shield (60-120 min, pending). Daily lost-island cap grows with level.
Per island: farthest point since last visit. Back at the island → item scaled by distance, min 5 km (proposal), rarity capped by boat tier. Only start / farthest / return are stored.
Mitigated by hard leagues (same boat type only) and island cap per tier (proposal). Remaining risk: a league’s top captains may dominate a dense city.
Brake: unfortified islands are easy prey; island cap per tier; upkeep idea for v2 (repairs).
Income is linear in islands; sinks scale super-linearly (upgrade costs). Monitor coconuts-per-player median weekly.
XP floor per league + losses smaller than wins + season reset. Open question: should a player be allowed to decline a boat upgrade? Recommendation: no.
Requires coming back to the island, tier cap, impossible-jump detection, server-side plausibility checks on the 3 points.
Daily lost-island cap and shields keep a bad night bounded; “While you were away” frames it.
⚠ Contradiction resolved: the brief mentions both a single daily coconut popup and per-island 24 h counters. Following “most recent & specific wins”, per-island counters are used; the popup only summarises what is ready when the app opens.
06 · FLOWS
07 · WIREFRAMES (LOW-FI)
Grey-box skeletons of the six critical screens, each paired with the design question it has to answer. (Note for the case: in this study they were drawn alongside the hi-fi; for a real project, test these first.)






08 · HIGH-FIDELITY SCREENS
53 screens were designed in total. These are the ones that carry the core idea: a game where you plan and the boards fight. Each one answers a specific design question, written under the screen.

Sets the key mental model before anything else: you are a planner, not a fighter. It prepares the player for coming back to results instead of live fights.

An honest screen shown before the system dialog. It says why we need location, what we keep (3 points per trip) and what we never keep.

The first "wow". The first wild island is always close, and claiming it gives a flag, confetti, coconuts and a better chest. The CTA teaches that unprotected islands get taken.

A guided first placement where only one target pulses. Right after, "Simulate vs bot" lights up so the player sees the board fight before anything is at stake.

A calm water map with a darker layer so pins stand out. Only your own position is shown, and collecting coconuts is remote, with one tap.

When GPS says you are over real water (bridge, ferry), a calm banner appears. No damage, no timer, and nothing ever spawns near real shorelines.

Recon shows item types but not the exact items. Risk and reward are visible before you commit, and the same-league rule is stated so the fight feels fair.

Each island runs its own 24 h clock, so coconuts trickle in all day. Ready islands go to the top and "Collect all" works from anywhere.

The key screen. While you drag an item, its range is painted on the board and its rule appears in one sentence. Valid and invalid cells use pattern and icon, not just color.

The same engine as real battles, clearly labelled as practice. Players learn here instead of losing islands, and the team uses it to balance the game.

A replay only helps if it teaches. The report turns the battle log into 3 plain findings, highlights where the defense broke and links each one to a fix.

Every item lives in one place: an island, the boat or the bag. Showing where each item is makes the central dilemma visible: defend or attack with the same items.

Opening the app after losses has to feel digestible. One sentence, four numbers and a timeline you can act on. Every loss comes with a way back.

At decisive events the replay slows to 0.25x, dims the rest and explains the rule in one sentence. Players learn the item system by watching.

The defender's side: what held, for how long and exactly where it broke. "Fix this defense" jumps to the board with the weak column highlighted.

The most original mechanic. Each island remembers the farthest point you reached, and pays an item based on that distance. Speed and transport mode never matter.
10 · SAFETY, PRIVACY & ACCESSIBILITY
Islands, chests and rewards only on public, accessible landmarks (open data, e.g. OpenStreetMap), ≥ 30 m from shorelines; never residences, schools, childcare, hospitals (aligned with Niantic’s public Wayfarer criteria).
Real water is a “monster zone” on the map. Nothing spawns there and nothing is lost. GPS over water (bridge, ferry) shows a calm banner only.
No other player positions ever. Attacks need proximity to an island, never to a person; the defender is offline by design.
Voyage bonus counts only the farthest point; transport mode is irrelevant. Daily cap and break reminders. No timers that reward hurrying.
Per trip only start, farthest and return points, visible only to the player, deletable in Settings. Location only while in use; never background.
No continuous tracking: significant-location-change + geofences around owned islands (PROPOSAL for the tech team).
Light maritime adventure. No war or bomb words, e.g. Bursting Barrel, Tide Trap, Spiky Urchin, “raid”, “changed hands”.
The Google Maps screenshot in “Assets” is reference only and must not appear in the public case (terms of use). Production map = custom style over OpenStreetMap data (MapLibre).
| Pair | Ratio | Use | Status |
|---|---|---|---|
| Navy on Gold (primary button) | 12.75 : 1 | Primary CTAs | PASS |
| White on Ocean #00A8F0 | 2.67 : 1 | Ocean button label (was) | FIXED |
| Navy on Ocean | 6.92 : 1 | Ocean button label (now) | PASS |
| White on Collect green #22C55E | 2.28 : 1 | Collect label (was) | FIXED |
| Navy on Collect green | 8.11 : 1 | Collect label (now) | PASS |
| White on Danger red | 3.76 : 1 | Large text only (≥ 18.7 px bold) | PASS |
| White on map water #1C9CC8 | 3.16 : 1 | Never used for text. HUD sits on a navy scrim | PASS |
| Ink-500 on white | 4.54 : 1 | Captions | PASS |
Island states: dashed square / circle / diamond / burst / bubble. Types: round / spiky / leaf shapes + glyphs. Rarity: 1-5 pips.
All buttons 44-56 px; grid cells 48 px (boards scale down only in previews).
Fades instead of bursts, no camera pans, replay slow-mo still available.
Body text follows system size to 200%; tiles keep icons, labels wrap.
11 · VALIDATION
Moderated remote sessions, 5-6 participants per round (2 casual walkers, 2 board strategists, 1-2 frequent travellers), Figma prototype on a phone, think-aloud, 35 min. Two rounds: concept prototype → revised prototype.
| Area | Task | Success criteria | Questions |
|---|---|---|---|
| Board building (C1) | “Protect your palm from attackers coming from the shore using 3 items.” | Places ≥ 2 items on a sensible path in < 2 min without help; can say what one item does | What did you expect the blue squares to mean? How sure are you this will work (1-5)? |
| Simulate (C3-C4) | “Check whether your defense would hold.” | Finds Simulate unprompted; reads the report and names one fix | What would you change now? Did anything feel unfair? |
| Replay (D2-D3, D7) | “Watch what happened to Rose Garden Reef and tell me why it was lost.” | Explains the breach in their own words (≥ 4 of 5) | Which moment helped most? Was slow-mo annoying or useful? |
| While you were away (D6) | “It’s morning. Catch up on what happened overnight.” | Identifies held vs lost islands and one next action in < 60 s | How do you feel about losing 2 islands (1-5)? What would you do first? |
| Location pre-prompt (A5-A6) | “Set up the app.” | Can say what is and isn’t stored; allow/deny decision feels informed | What do you think we keep about your location? |
| Voyage bonus (D10) | “You just came back from a trip, what happened?” | Understands distance (not speed/route) is rewarded | Would this change how you travel? Why? |
SUS after each round · task success & time · confidence 1-5 · emotional reaction to loss (SAM scale).
A finding blocks launch if ≥ 2 of 5 participants fail the task or misread a safety/privacy message.
Instrumented beta: metrics from 02 Strategy (onboarding completion, simulate usage, retake-after-loss rate).
12 · ROADMAP
09 · 13 · PROTOTYPE & LEARNINGS
Clickable main path wired on the hi-fi screens (flow “Main path”): A1 → A2 → A3 → A4 → A5 → A7 → A8 → A9 → A10 → A11 → A12 → C3 → C4 → C1 → B1 → B6 → C5 → D1 → D2 → D3 → D4 → D6 → D7. Primary buttons navigate with a 300 ms dissolve; onboarding uses slide-left.
When the player doesn’t fight, every moment of feedback (simulation, replay, report) has to do the teaching that a controller normally does.
Designing “While you were away” first forced the economy to include recovery chests, shields and daily loss caps.
Ignoring speed and storing only the farthest point simplified the tech, the privacy story and the fairness story at once.
Sprite sheets → automated crops → named components made 113 assets usable in an afternoon; consistency issues became visible side by side.
Binding variables to semi-transparent paints silently dropped opacity in Figma: scrims and drop targets went solid. Lesson: test tokens on overlays early.
Fixing two button labels at the component level repaired dozens of screens instantly.
| Topic | Status | Decision / proposal | Owner |
|---|---|---|---|
| Official language | DECIDED | English for all UI and case copy (overrides the PT-BR line in the brief). Strings are kept short for localisation. | Bonato |
| Fonts | PROPOSAL | Lilita One (display) + Nunito (body, tabular numbers). Please confirm. | Bonato |
| Coconut income | DECIDED | 3 per island per 24 h, own clock per island, remote collect; +3 on conquest. | Bonato |
| Accumulation cap | PENDING | Suggest 3 days of uncollected coconuts. | Bonato |
| Island upgrade cost | PENDING | Coconuts only vs coconuts + Palm Seed from Lv 6. | Bonato |
| Item upgrades | PROPOSAL | 3 copies → +1 level (+10%). Coconut upgrades: pending. | Bonato |
| Shield after conquest | PENDING | 60-120 min; screens show 90 min. | Bonato |
| Daily lost-island cap | DECIDED | Grows with level; curve pending. | Bonato |
| Voyage min distance | PROPOSAL | 5 km per island; rarity capped by boat tier. | Bonato |
| Island cap per tier | PROPOSAL | e.g. Raft 8 · Rowboat 12 · … · Leviathan 60. | Bonato |
| Anti-smurf | PROPOSAL | XP floor per league, losses smaller than wins, season reset; boat upgrades are not optional. | Bonato |
| Arena layout | PENDING | Proposal shown: island board on top, boat docked below, units advance up. | Bonato |
| Counter bonus | PROPOSAL | ±25% effect for the type triangle. | Bonato |
| Recovery chest share | PROPOSAL | ~30-40% of lost board items, random. | Bonato |