Game systems UX

Poketopia

Rebuilding a rejected concept, from the creatures up

A physical capture ball that talks to a companion app: throw in the real world, collect and evolve in your pocket. I pitched it as a licensed concept, and it was not approved. So I kept the system, threw away the costume, and rebuilt every borrowed piece as my own.

Role Product & UX Designer
Year Rebuilt 2026
Platform Mobile app, BLE peripheral
Game systems State machines Journey mapping Interaction design Design systems Figma React Prototyping
← Back
The Poketopia Dex: a dark grid of collected buddy tiles, each tinted with its type colour
The Poketopia home screen: a trainer avatar ringed by a level progress meter, above active quest cards and a list of buddies ready to evolve
The turn

The idea survived. The licence did not.

The Poketopia badge: a chrome rimmed emblem with the word Poketopia arched in red over a colour coded evolution wheel and an XP progress ring

I pitched Poketopia as a licensed concept: a physical capture ball, a companion app, one loop running across both. The pitch was not approved. Which left an uncomfortable question worth answering honestly.

If the licence is gone, how much of this was ever mine?

More than I expected. The capture loop was mine. The evolution economy was mine. The sync between a device in your hand and a dex in your pocket, the decision about what the ball should know and what the phone should know, the rule that a miss must explain itself: all mine. Only the costume was borrowed.

So I took the costume off. Every borrowed noun got replaced, not softened. That meant writing a cast from scratch, building a type system, renaming the vocabulary down to the nav labels, and drawing a mark that owed nothing to anyone.

Borrowed Built
  1. Licensed creatures Buddies A word that works in copy, UI and voice
  2. Licensed capture device Capture Ball Same physics, no trade dress
  3. Licensed index Dex Short enough for a five item nav bar
  4. A borrowed cast 15 buddies, written by me Name, type, four stats, evolution, one line of lore
  5. A borrowed wordmark An original mark A faceted orb with an energy core
  6. A borrowed type chart 11 types, my own hues One fixed colour follows a buddy everywhere
15 original buddies written
11 types, each with a fixed hue
5 evolution stones
16 screens in the working build
The concept

Bridging physical play and digital mastery

Poketopia was never an app with a gadget bolted onto it. It is one loop running across two devices: the ball owns the moment of the throw, the phone owns everything you do with what you caught.

The problem I framed the whole pitch around was the gap between those two halves. The physical action happens in your hands, outdoors, with people watching. The digital reward happens later, alone, on a screen. Most toy to app products lose the player in that gap, because the handoff is a spinner and a list.

Real time feedback loop

A hardware to software state machine gives immediate sensory feedback through the capture cycle: haptic vibration paired with colour coded light cues, so the ball answers before the screen does.

Intelligent inventory

A grid Dex and a separate stone inventory track progress, with UI states that adapt to whether you hold only buddies, only stones, or a ready to evolve pair.

Progressive evolution logic

The app handles the matching of caught buddies against discovered stones, and pays a completed set or region off with a cinematic reward rather than a toast.

A dark illustration of a hand gripping a capture ball at the moment of impact, jagged red energy cracking outward and a bright burst of light beside it
The moment the whole product hangs on: impact, in your hand, before any screen is involved.
A painterly concept illustration of an adult and child in AR goggles in a packed stadium, watching a holographic creature battle projected above the arena floor
The far end of the idea: shared, physical, in public. The app was only ever half of it.

Closing that gap became the brief. The design holds immersion by reducing how often you need to check a screen during physical play, while still giving you a clear, high fidelity roadmap for collection and evolution when you do look down.

Journey map

Ten steps, two worlds, one seam

Before a single screen, I mapped the loop as two lanes: what happens in your hand, and what happens on your phone. The whole design problem lives in the seam between them.

In your hand

Physical capture

  1. 01 Wake the ball Slow cyan breathe
  2. 02 Scan for signal Cyan sweep, soft tick
  3. 03 Signal locked Amber hold, one tap
  4. 04 Throw Amber streak
  5. 05 Outcome Green double tap, or red buzz
On your phone

Digital mastery

  1. 06 Sync Catch history, hit ratio
  2. 07 Dex entry opens Type colour, stats, lore
  3. 08 Stone check Inventory matched, silently
  4. 09 Ready to evolve Indigo badge on the tile
  5. 10 Evolve Full screen sequence

One rule came out of this map and governed everything after it: every physical action gets an answer you can feel without looking. The screen is where you go to understand what you caught. It is not where you go to find out whether you hit.

The original ten step journey map, a two column infographic with a Physical Capture Phase column and a Digital Management Phase column linked by a data sync arrow
The original map the diagram above was rebuilt from. Same two lanes, same ten steps, same single sync point in the middle.

Rebuilding it as live markup rather than a flat export did more than tidy it up. It forced me to write down the output of every single step, and that column is exactly where the light and haptic language came from.

Lo-fi

Twelve panels, one uninterrupted loop

The first pass was twelve pencil panels, drawn to answer one question: can a player get from switching the ball on to evolving a buddy without ever being told what to do next?

A twelve panel low fidelity wireframe grid tracing the whole app flow: start screen, ball pairing, connection success, encounter analysis, a caught result, an escaped result, the dex stats view, item inventory, a new discovery prompt, filtered inventory, evolution success and a completion milestone
Start, pair the ball, sync, analyse, catch, escape, dex, inventory, discovery, evolve, milestone. Twelve panels, no dead ends.

Two decisions came out of this pass and survived every rebuild since.

  • The escape screen gets as much room as the catch screen. It reports a hit ratio and a reason, because a miss you understand is a miss you will take another run at.
  • The inventory is a destination, not a drawer. Putting stones and buddies on the same screen is what later turned matching from a chore into the loop's best moment.
An early high fidelity welcome screen showing a bird's eye illustrated theme park map under a large wordmark, with three action buttons beneath it
The first hi-fi pass at a home screen: a park map you could actually read, and three ways in.
An early quests modal listing four quest cards, Snap Safari, Evolution Challenge, Fossil Challenge, and a locked fourth card with a padlock
Quests as a modal over the map. Snap Safari, Evolution and Fossil survive into the shipped build.
Capture loop

Every throw needs an answer

The ball is a five state machine and nothing more. It waits, it listens, it arms, it registers an impact, it reports an outcome. Everything clever happens on the phone, which keeps the hardware cheap and the loop fast.

  1. Idle Breathing, waiting to be picked up
  2. Listening Sweeping for a nearby buddy signal
  3. Armed Signal locked, throw window open
  4. Impact Accelerometer registers the hit
  5. Result Caught, or escaped with a reason
Cyan, scanning Amber, armed Green, caught Red, escaped

Escaped is a real state, not an error. It gets its own light, its own haptic, its own screen, and a reason: too fast, low accuracy, resisted capture. A miss that explains itself is a miss players accept, and it is the difference between a game that feels unfair and a game that feels hard.

The split

The ball owns five states, one accelerometer reading and two output channels. The phone owns the cast, the economy, the inventory logic and every decision that needs memory. If the phone is out of range, the ball still works. It just cannot tell you what you caught yet.

Six dark high fidelity phone mockups over a blurred forest backdrop, showing the capture states: listening mode, the throw, a stat readout, a creature silhouette, a caught success screen and an escaped failure screen
The same five states drawn as screens: listening, throw, readout, caught, escaped. The dark treatment was set here and never changed.
Logic

Every state got a screen, including the ones nobody wants

A collection loop fails at its edges, not its middle. Catching something is easy to design. What breaks a game is the first time a player has a stone and no buddy, or a buddy and no stone, or taps evolve on something that has already evolved.

So I drew the branches out in full, screen by screen, before committing to any of it. Each row below is one strand of the logic: onboarding and capture, then collection and inventory, then the evolution quest with a separate frame for every combination the player can arrive in.

Two rows of twelve dark high fidelity phone mockups walking through bluetooth sync, a physical encounter, the throw, item inventory, the dex grid, a physical evolve sequence and an evolution video
Onboarding and capture on the top row, collection and inventory below. Twelve frames covering the full happy path in dark mode.
A light three row wireframe sheet labelled Onboarding and Capture, Pokedex and Inventory, and Dynamic States and Evolution, each row stepping through five phone frames
The same logic in light greybox, split into three named strands so each one could be reviewed on its own.
A dense UX flowchart of wireframed phone screens mapping the branching logic of an evolution quest, with separate frames for a first time user, a player holding only a stone, a player holding only a creature, and a completed state
The evolution quest as a decision tree. First time user, only a stone, only a buddy, has both, already complete. Every one of those is a real screen.

This is the sheet the shipped prototype was built from, and it is why the Dex badges a count instead of making you go and check. The inventory combinations were drawn as separate frames here first, which made it obvious that most of them are the app telling you to go back outside, and only one of them is a button.

Five rules came out of the hi-fi pass and became the spec:

State aware architecture

Conditional logic trips the ready to evolve state automatically, off real time inventory matching. The player never asks for it.

Haptic to visual sync

On screen animation is mapped to the ball's haptic engine so the two land together instead of one chasing the other.

Relational resources

The inventory works as a visual database, bridging discovered stones and the specific buddies they unlock.

Cinematic transitions

Overlays carry you from a technical management screen into a reward sequence that celebrates a completed set.

Depth over decoration

Glass and semi transparency keep data legible underneath high intensity energy effects, rather than competing with them.

The cast

Fifteen buddies, invented from scratch

A collection game is only as good as the things you collect. Each buddy got a name, a type, four base stats, an evolution and exactly one line of lore. The lore line does the heavy lifting: it is the only place a creature gets to have a personality.

Sparkrat Electric

Generates static electricity while running. It loves stormy weather.

HP
ATK
DEF
SPD
Thunderrat Thunder Stone
Bulbspine Grass

The bulb on its back absorbs sunlight to convert into pure energy.

HP
ATK
DEF
SPD
Vinespine Leaf Stone
Flamezard Fire

Its tail flame indicates its mood. If it burns blue, it is ready to fight.

HP
ATK
DEF
SPD
Blazeclaw Fire Stone
Shellspout Water

Hides in its shell when threatened, shooting high pressure water jets.

HP
ATK
DEF
SPD
Tidalshield Water Stone
Variapet Normal

Its genetic code is unstable, allowing it to adapt to any environment.

HP
ATK
DEF
SPD
Aquavolt Water Stone
Foxfire Fire

Possesses six tails that grow hotter as it evolves. Very intelligent.

HP
ATK
DEF
SPD
Spiritfox Fire Stone
Lullaball Fairy

Sings a soothing melody that puts enemies to sleep instantly.

HP
ATK
DEF
SPD
Melodypuff Moon Stone
Pupflare Fire

Loyal and brave. It will bark fiercely to protect its trainer.

HP
ATK
DEF
SPD
Legendog Fire Stone
Starpixie Fairy

Came from the moon on a shooting star. It glows in the dark.

HP
ATK
DEF
SPD
Moonangel Moon Stone
Mindwarp Psychic

Sleeps 18 hours a day. It uses telepathy even while dreaming.

HP
ATK
DEF
SPD
Psi-spoon Level only
Flopfish Water

Weak and pathetic, but it has the potential to become a dragon.

HP
ATK
DEF
SPD
Ragebeast Level only
Rockfist Rock

Looks like a plain rock. If you trip on it, it will get angry.

HP
ATK
DEF
SPD
Boulderguy Level only
Mistghoul Ghost

Made of gas. It can slip through any wall or barrier easily.

HP
ATK
DEF
SPD
Shadowhand Level only
Wyrmlet Dragon

Sheds its skin constantly as it grows. Found near waterfalls.

HP
ATK
DEF
SPD
Serpentair Level only
Bladebug Bug

Its scythes are sharp enough to cut through thick logs.

HP
ATK
DEF
SPD
Final form

Nine buddies need a specific stone to evolve, five evolve on levels alone, and one is already its final form. That mix is deliberate. The free evolutions keep the first hour rewarding, the stone gated ones turn the inventory into a puzzle rather than a list, and the buddy that never evolves quietly teaches players that not every tile has a next step.

Evolution engine

The app does the remembering

Poketopia never asks you to recall which stone unlocks which buddy. The inventory is relational: the moment you hold both halves of a pair, the buddy lights up and the Dex badges the count.

Fire Stone Radiates intense warmth 3 buddies
Water Stone Swirls with aquatic energy 2 buddies
Leaf Stone Pulses with natural power 1 buddy
Moon Stone Glows under moonlight 2 buddies
Thunder Stone Crackles with voltage 1 buddy

Three inventory states drive the entire evolution surface, and the UI adapts to whichever one you are in:

Buddies, no stones

The Dex stays quiet and points you outward. The next action is to go find a stone, so that is the only thing offered.

Stones, no buddies

Stones show what they would unlock, greyed. The inventory becomes a wishlist instead of dead weight.

Both

An indigo badge, a pulse on the tile, and a single button. Nothing to look up, nothing to match, nothing to remember.

This was the change that made the biggest difference to how the app feels. In the first version the player did the matching, and the inventory was admin. Once the system did the matching, the same screen became the part people wanted to open.

Interactive prototype

Play Poketopia

Tap the capture button and go find yourself a buddy

Scan for a buddyOpen the DexEvolve a buddyEnter the arena
The build

Sixteen screens, one grammar

Dark canvas, one accent per meaning, glow instead of borders. The palette does the explaining so the copy does not have to.

  1. Poketopia Command centre screen: Level ring, active quests, what your friends just caught, and every buddy waiting on a stone.
    01 Command centre Level ring, active quests, what your friends just caught, and every buddy waiting on a stone.
  2. Poketopia Listening screen: The radar screen while the ball sweeps. No buttons, because your hands are busy.
    02 Listening The radar screen while the ball sweeps. No buttons, because your hands are busy.
  3. Poketopia Armed screen: The power meter. The only moment the app asks for your full attention.
    03 Armed The power meter. The only moment the app asks for your full attention.
  4. Poketopia The verdict screen: Caught, or escaped with a reason. Never a silent failure.
    04 The verdict Caught, or escaped with a reason. Never a silent failure.
  5. Poketopia The Dex screen: Every buddy in one grid, tinted by type, badged when it is ready to evolve.
    05 The Dex Every buddy in one grid, tinted by type, badged when it is ready to evolve.
  6. Poketopia Buddy detail screen: Lore first, stats second. You should like it before you optimise it.
    06 Buddy detail Lore first, stats second. You should like it before you optimise it.
  7. Poketopia Evolution screen: The one place the app takes the whole screen, and earns it.
    07 Evolution The one place the app takes the whole screen, and earns it.
  8. Poketopia Proof of play screen: Catch rate over time, so a bad streak reads as a streak and not as a bug.
    08 Proof of play Catch rate over time, so a bad streak reads as a streak and not as a bug.
Design system

Neon on black, with rules

Surfaces

The whole app runs on four near blacks. As isolated swatches they look like four identical black squares, because from Night to Track is only 30 points of brightness out of 255. So here they are in place instead, doing their actual jobs. Layers separate through glow, blur and a hairline border, never by getting lighter, which leaves the accent colours as the only bright thing on screen.

  • 1 Night #09090B The screen itself. Every other surface sits on top of this one.
  • 2 Panel #18181B A card lifted off the canvas: quest tiles, buddy cards, bottom sheets.
  • 3 Track #27272A The empty half of a progress or stat bar, waiting to be filled in.
  • 4 Deep #0B1220 The full bleed capture scene. Cooler and bluer than Night, never lighter.

Signal colours

Each one is a meaning, not a decoration. Every accent ships with a matching soft glow at roughly 30% so the state reads from the corner of your eye.

Cyan 400 #22D3EE Active state, glow
Cyan 500 #06B6D4 Primary action
Indigo #4F46E5 Evolution
Amber #FACC15 Armed, throw
Green #22C55E Caught, healed
Red #EF4444 Escaped, battle

Type palette

Eleven buddy types, each with a fixed hue that follows the creature everywhere: dex tile, detail header, stat bars, battle arena.

Electric Grass Fire Water Normal Fairy Psychic Ghost Rock Dragon Bug

Type & form

Display

Poketopia

Righteous, one weight. Screen titles, buddy names, result screens. Always uppercase for labels, always tracked wide.

Body

Its tail flame indicates its mood.

Nunito 400 to 800. Lore, stats, nav labels. Rounded terminals keep a data dense screen from feeling clinical.

Form language

12 to 24px radius Cards step up in radius as they step up in importance
Coloured glow Every semantic colour casts its own shadow at 20 to 40%
Glass chrome Nav and top bar blur the scene behind rather than block it
Grain over black A low opacity texture keeps large black fields from banding
Outcome

A system, not a skin

The Poketopia capture result screen, declaring the outcome of a throw in full screen type
The verdict screen, where the loop closes.

Poketopia now runs end to end as a working prototype with none of the original licence attached to it. The capture loop, the cast, the economy and the vocabulary are all mine, and the thing that survived the rebuild was the part that was always the actual design work.

What I owned

  • Mapped the ten step loop across the physical and digital halves, and defined the sync between them
  • Specified the ball as a five state machine with paired light and haptic outputs
  • Wrote the full cast: fifteen buddies with names, types, stats, evolutions and lore
  • Designed the evolution economy, including the relational inventory that removes the matching work
  • Built the dark mode design system and the sixteen screen interactive prototype

Key takeaways

  • Constraints clarify. Losing the licence forced me to name what the design actually was. It turned out to be a system, and systems travel.
  • Feedback beats fidelity. A two tap haptic tells a player more, faster, than an animation they were never looking at.
  • Let the system do the remembering. Moving the stone matching from the player to the app turned the dullest screen into the most opened one.

Tools & deliverables: Figma · Figma Make · React · Motion · journey map · state machine spec · cast and economy bible · dark mode design system · interactive prototype

Next project

WeTree
Mobile appCommunity

WeTree

Sustainability made social: photograph the small green thing you already did.