Family + Creative

5 min read

Making games for my daughters

roariverse started with three daughters who love dinosaurs and a pile of kids' apps that were just bad.

Pulp poster reading "roariverse": three caped cartoon girls ride a triceratops, a T. rex and a long-neck through a game world of floating platforms, hatching eggs, letters and numbers, while a tired dad works at a laptop in the background. Bottom line: no ads, no accounts, nothing can go wrong.

Kids and dinosaurs

My three daughters, Sarah, Reagan and Tessa, love dinosaurs, and the kids' apps I found were just bad: slow, broken, clearly made by nobody who had a kid play them. I don't mean ads or paywalls specifically. I've spent twenty years shipping software, so I started making games with and for my daughters.

The name came first: roariverse, just a name and a dream. Then it became roariverse: dino games.

They test builds on my phone. They don't veto features, but if something is confusing, or they exit immediately, I know. That's the whole feedback loop.

roariverse: dino games

The first app is an offline educational game for ages three to five. Kids help friendly dinosaurs and their own Super Kids through small color, shape, counting, matching, pattern and memory challenges. Super Kids are the kids' own superhero versions of themselves. Learning is the action that makes the fun thing happen.

Pick the right egg and a dinosaur hatches. Finish the pattern. Match all the colors.

roariverse: dino games on a tablet, a dinosaur challenge screen.
roariverse: dino games. Pick the right egg and a dinosaur hatches.

I built it in React Native, with one codebase for iOS, Android, Fire tablets and web. The challenges are procedurally generated, the difficulty adapts, and the vector art is original. It has 1,264 recorded narration lines (and custom lines specifically for children named Sarah, Reagan, or Tessa!).

roariverse: dino match

dino match is a portrait match-3 game, like Bejeweled and Candy Crush but educational. I built it in Godot. There is one Play button.

Levels alternate between numbers and letters. Each strand climbs on its own, so a kid can be working on make 10 while still matching letters. A three-year-old plays it as a color game; an older kid plays the same board as number bonds.

The numbers ladder starts with matching same-looking dinosaurs by color, then the same number of spots, then numerals. After that, kids swap so neighbors add to five, then make ten, then take away: eight minus three makes five. Eventually the targets change.

roariverse: Dino Match, a portrait match-3 board of dinosaur tiles.
Dino Match. One board, two ladders: numbers and letters.

Mixed dinosaur colors turned out to be pure noise when a kid was scanning for three 4s. Number and letter tiles now sit on plain lavender gems and match by symbol.

Three clean wins in a row move a kid up a tier. Two losses ease them back down, and nobody is told they went down. Each kid has their own slot.

The saga map runs through Sunny Meadow, Jelly Jungle, Lava Land, Snowy Peaks and Sky Islands. Every tenth level has a boss with a guaranteed dinosaur hatch.

roariverse: dino sledders

dino sledders is dinosaurs on sleds. It's a runner with levels, rather than an endless runner. It's also the least educational of the lot.

Hold to tuck and speed up, tap to hop, and ride the roariverse dinos down a never-ending mountain. Along the trail, gentle learning gates practice colors, shapes, counting, and letters — and milestones unlock stickers and gear. Part of the roariverse family.

roariverse: Dino Sledders, a dinosaur on a sled mid-level.
Dino Sledders. Adventure Island DNA, dinosaurs on sleds.

It's the one I made because I wanted to.

SarBear

SarBear is named for Sarah, my oldest. It's what I call her. The game is a no-fail 3D adventure for a five-year-old, with a learning ladder inside every quest.

She's a blonde bear with space buns, purple scrunchies and a purple shirt with a yellow S. The Grumpy Cloud has drained the forest of color. Every friend she helps gets its color back, and three friends restore an area.

When all three areas are restored, the cloud comes down. She gives it honey, and it rains color. Helping a friend might mean finding something to complete a pattern or picking the sum of two numbers.

SarBear, a blonde bear with space buns, in a forest being restored to color.
SarBear. Walking into things is the only verb.

The learning strands are sight words, counting and numbers. Walk into the signpost that says the word she heard, bring exactly N apples counted aloud, or walk into the mushroom with the number asked for. Walking into things is the only verb.

A wrong sign wobbles and the friend asks again. Too many apples tip out, and she counts again. Everything is caused by her, never by a timer.

The bear is the product.

That means costumes over world count. Honey buys costume bits at Nana's stall. I built the game in Godot from mesh primitives, with no imported models.

My final project in a QBasic programming class at home was a bear moving through the woods collecting honey. Thirty-odd years later, I'm making that game for my daughter, which I find funny.

Reagan Air Heart

Reagan Air Heart is named for Reagan. In addition to dinosaurs she's OBSESSED with airplanes and Amelia Earhart. It's a no-fail flying game for a two-to-four-year-old. Drag to fly a little plane around an open world of islands.

Animal friends wait beside runways and float in the sky, each dreaming of a wonder of the world. Land to pick them up, then land where they want to go. That's the whole game: an air taxi. But you're flying to some of the world's most popular destinations, teaching them some geography along the way.

Reagan Air Heart, a little plane flying over an open world of islands.
Reagan Air Heart. An air taxi, and nothing can go wrong.

The plane follows the drag. Friends hop in at a runway, then hop out and plant a flag at their destination. Fly through a cloud and it rains and flowers bloom.

Fly into the grumpy storm cloud and you get a silly zap and a sooty plane. The child makes those things happen.

My rules

No ads ever. No accounts, and no data leaves the device. Nothing can go wrong: no dying, no losing, no timers, no fail state.

Every game teaches something, even when it's disguised. The kids test a build on my phone. If they exit immediately, I know.