Skip to content
← All design work

Design case study · Ice Age Life

A whole world,one decisionat a time.

A prehistoric life sim with a whole simulated band behind every screen, and how I kept it readable: what a player sees first, what each tap promises, and what the art and words are allowed to say.

The run hub: Unoru at 18, four stat bars, the band at a glance, a notice that initiation is coming, this year's life card, and one Advance button.
Scroll

Before history

Twenty-two thousand years ago, the world was at its coldest.

And people were already painting, sewing, making music and burying their dead. Everything we call civilization grew out of lives like these.

  1. 40,000 years agoFlutes carved from bird bone
  2. 36,000Lions and horses painted on a cave wall in France
  3. 34,000The dead buried with thousands of ivory beads
  4. 22,000The coldest stretch of the last Ice Age. Ice Age Life begins here, on the Dnieper.
  5. 15,000Houses framed with mammoth bone, on the same river
  6. 14,000A dog buried beside its people
  7. 11,500The first fields and farms
  8. 5,200Writing
  9. TodayUs

Drawn to scale. The shaded band is the Last Glacial Maximum, about 26,000 to 19,000 years ago. The coldest stretch, the Last Glacial Maximum, ran from about 26,000 to 19,000 years ago. Farming is only half as old as the world the game is set in.

A deep simulation is easy to build badly.

The design work was making all of it readable, one decision at a time.

The question

How can a rich simulation stay understandable one decision at a time?

My role

  • Product and game design
  • Interaction and motion
  • Visual direction
  • Copy
  • Front-end build

The material

icons in one style
1,175
faces, five ages each
1,760
days, each with two themes
366
celebrations, ranked
7

The readable center

Everything is happening. Show one person.

Behind every screen a band of thirty-odd people is living, pairing up, falling sick and moving away. The run hub doesn’t try to show that. It shows you, this year, and one thing to do next. Tap the pins.

The run hub, with numbered pins over its parts.

Who you are. Your name, face and age, first. Everything else on the screen is about this one person.

Three questions, three views

Group by what the player is asking.

Places, people and the current moment each get their own view, so detail appears where the question is.

Rolling Steppe, a six-by-six local map of icon tiles with the camp clearing selected.
Where can I go?The local map. Nearly every tile is its own drawing, so what you camp beside, and what it feeds you, reads before its label.
The Sun Rock Band: food, morale and the day's parties with everyone's face.
Who is with me?The band, sorted by what each person is doing today: gathering, small game, the hunt, at camp.
Dahak's profile: out gathering, simply herself today, an easy bearing, and Talk.
Who is this?One person: their mood in a sentence, your bearing toward them, and what you can do about either.
Morning in a steppe camp: a gathering party heads for the creek while hunters check their spears and children chase a puppy.
Thirty-odd people, each living a life of their own.

Read it before you play it

Every front tells you what will happen.

The season board is the game’s hardest screen: threats and bounties in lanes, a hand of people, numbers everywhere. Two decisions make it readable. Each front’s badge says whether it holds before you commit, and every result shows its sum. Play a round.

Spring, The Green ReturningYear 0 · Round 1
0 food2 at risk
ThreatMudslideNavigate 46 · +4 foodNobody
ThreatWolves on the TrailHunt 50 · +12 foodNobody
BountyFirst GreensForage 36 · +6 foodUntouched
Drag a person onto a lane, or tap them and then a lane. The badge on each front tells you before you commit.

HoldsYour people can meet it.

SlipsThey can't. Someone gets hurt.

NobodyUnanswered. It reaches camp.

BanksFood comes home.

MissesNo food, no harm.

The badge can't read calm over harm

A front whose unheld harm reaches past its own lane, like a threat that strikes camp or a child left exposed, reads Not held, even if its own lane looks fine.

A loss you can check

Results print their arithmetic, like Hunt 53 +21 lent = 74 vs 50. A loss you can check is one you learn from, not a dice roll you resent.

Where new players quit

Twenty-two reached their first spring. Four got past it.

The deepest screen was also the first one a newcomer met. The birth-year board ran about eight rounds, Auto-play was grayed out all year, and a round could dead-end on “Fill 1 more column” with an empty hand.

A spring board with an empty hand and the button reading Fill 1 more column.
  1. Shelter the first life.Two thirds of first lives were ending before age 5. Until you’ve lived to 5 once, the board never seats your own baby, and a death on a lane becomes a wound you pull through.
  2. Never dead-end.A stuck board now settles itself, and says who moved.
  3. Put the escape on the main button.Nobody tapped Auto-play in its corner before round 8. In a first life the main button now reads “Auto-play this round”.
  4. Make the first year short.Two rounds, then the band finishes the season on its own.
Early spring meltwater: a young mother carries her baby across a cold stream, an older woman steadying her arm, the band strung out behind.
A newcomer's first spring: someone carries you through it.

Every tap answers

Select anything. Gate the button.

The bone circle is a ring of mammoth bone the band can raise on clear ground near camp. Its first picker made the wrong cells ignore your tap, and they looked almost the same as the right ones. A tap with no visible response reads as broken, not as “not allowed”. Try both versions.

Tap any cell. Every one answers.

Select anything to look at it. The button decides, and says why.
Near camp on clear ground, the band sets the last mammoth jaws into a ring of stacked bone while children watch.
The bone circle: raised on clear ground near camp, carved by the band afterwards.

Feedback on every tap

A highlight, a state change or an explanation. Never nothing.

Signal before the tap

Usable and unusable need a visible difference, not an opacity nudge.

Targets a thumb can hit

At least 44 points, and layout that doesn't jump when something is selected.

Choices that say what they do

An icon is a promise about the choice.

Life cards are mostly prose, so each choice carries an icon that says what it does: a hand-picked one, else the injury or illness it risks, else the path it starts you on, else its strongest stat change. This is the real rule, on a real card.

Summer · Personal

Around the fire, around them

You sat at the fire tonight with everyone you’ve known your whole life. They were telling stories that weren’t your stories…

  • Say something into the circletalk: its strongest change
  • Sit with the wonderingspirit: its strongest change

Say something into the circle

bond +4calm 0purpose +3pride 0kinship 0reciprocity 0

Sit with the wondering

bond -1calm -3purpose 0pride 0kinship 0reciprocity 0
Give both choices the same strongest stat and the second takes its next one. Two choices on one card never wear the same icon if there’s another way to say it.

A lone Continue walks

A card with one choice and nothing to say shows a walking figure, not a blank.

No gray tile

A choice among several with nothing to show stays empty, so a missing icon is visible instead of papered over. A test fails the build on it.

A wolf, slowly

Show the bond, never the number.

The first goal on the Mammoth Steppe is to tame the wolf at the edge of camp. Underneath, it’s a bond that climbs from 20 to 70. On screen there is no number at all: a few words for where things stand, and one quiet line a season about what the wolf did.

Grey-Footwary still

Grey-Foot watched you eat tonight from just past the firelight, and did not run when you looked up.

Drag the hidden number. The player only ever sees the words and the line above it.
Autumn dusk at the edge of camp: a lean, wary wolf stands just past the firelight while a young woman crouches and holds out a strip of meat at arm's length.
Every first life starts here: tame the wolf at the edge of camp.

Half wild, then yours

A wary wolf only joins the band in autumn and winter, when people and wolves follow the same herds, and goes back to its den in spring. Once it chooses you, it stays all year.

A life of its own

Dogs get the same 16 temperaments as people, a face as a pup and grown, and a life story: when it joined you, when it chose you, its first hunt, its litters.

One visual world

Many drawings. One hand.

The icons were drawn or generated against a written style guide, then traced, reviewed and redrawn when one read as an abstract shape. Cohesion was a direction job, not a drawing job. Filter the set.

Hover or tab through to read a name.1,175 icons in the game; these are 172 of them.
18years

Initiated

When the bands meet, you're offered names, shaped by what you've done.

Drag through a life. Every person in the game has a face for each stage, and grows into it.

No emoji, anywhere

Emoji draw differently on every phone and break the handmade look.

Faces that grow up

Eleven looks, sixteen temperaments, two sexes, five ages: everyone you meet ages on screen.

Words that state the rule

Teaching copy says the rule.

Before

While you’re still small, you place the band by hand - that is how the seasons teach you. Auto-fill opens once you’re old enough to help set them.

After

Auto-fill unlocks at age 4. Until then you place the band by hand.

  • Plain beats prettyModern, casual, how a person talks. Not a narrator.
  • Teaching states the ruleIf a sentence explains a mechanic, it drops the mood and says the rule.
  • Flavor keeps its voiceA line about the world can still sound like the world.
  • No em dashesThey read as machine-written. Every string in the game avoids them.
  • “The thaw’s here at last. The hungry season is broken.”
  • “Dahak is simply herself today: present, capable, unhurried.”
  • “The ice age still grips the world, and the wolf is a rival at the kill.”
  • “Then winter takes you too. It takes everyone.”

Motion as hierarchy

The size of the moment is the size of the burst.

One hand-built particle system, no confetti library, seven presets. A victory gets 72 falling motes; a child named at the fire gets 22 rising ones. Pick a moment.

A death 0

A victory72 particles, falling, 8 to 18 pt

The rarest beat in the game gets the widest, fullest shower.

One hand-built particle system, seven moments, ranked by size. Nothing celebrates a death.
Night at the fire: a father holds up a baby while the band leans in, pale sparks lifting into the dark.
A child named at the fire.

A color for every day

Texture, not chrome.

Each of the 366 days has its own light and dark palette. The calendar themes color the world (headers, cards, gradients) while the controls keep their places, so a new color every day never means relearning the screen.

JanFebMarAprMayJunJulAugSepOctNovDec
January 1Light outside, dark inside

Light · newyeardawn

Dark · firstdawn

366 days, two themes each, drawn from 707 palettes. The app opens in a different color every day of the year.

Nothing behind a wall

Free to start, honest about money.

No login wall

The app opens straight into a life. A new player is only offered to restore an old save; backup is offered after their first finished life.

Odds before you pay

Some stones open to random rewards. Their odds are shown before any purchase, read straight from the draw code, with no hand-typed percentages.

A store page that’s true

The listing still said “Free, and no ads” after a version with ads shipped. I found it and rewrote it.

By a stone oil lamp in a cave, a girl presses her right hand to the wall while an older woman blows ochre around it, beside the faded handprints of people long gone.
Then winter takes you, and your soul starts over as someone new.

What I'd test next

Honest about what I know.

The audience is small, so this page is design reasoning and what a small group showed me, not a growth chart. The questions I’d want answered next:

  • Do newcomers get through their first spring now that it’s two rounds?
  • Which symbols read without their labels, and which only work once you know them?
  • Does showing the sum on a loss make people try again, or stop?
  • How many people start a second life after their first one ends?