Affif JohansyahThe Playbook, A Post-Game Review

Bandung, Indonesia

0% READ

Tang Tung: Designing a Cozy Math Game for My Little Brother

Design notes behind a pixel art learning game for primary school kids, from the learning logic and product decisions to the art direction.

My little brother is in fifth grade. He hadn't memorized his times tables or division facts from 1 to 10, and he still worked them out slowly. In Indonesian schools, fractions, GCD, and LCM all sit on top of those hundred questions, so every new chapter was getting harder for the same old reason.

Evenings of learning at home tended to go the same way: he guessed, I explained again, and we both ended up tired. The way I learned math was not the way he would. And I could not sit next to him every evening. So I built him a small world instead. It is called Tang Tung: an island full of animals, friendly townspeople, and one character who lives in his house and greets him every morning. That character is me.

These are the design notes behind it: how I turned a very personal problem into learning logic, product decisions, and a visual direction.

The hypothesis: calm learning

Kids today grow up with games. That is a common assumption, and I think a hard one to argue with. But the games they play most keep moving toward action: fast, loud, and full of pressure. Meanwhile, multiplication and division remain the same stumbling block they have always been.

My decision from the start was that Tang Tung had to be calm. Relaxed mechanics, pixel art that isn't flashy, and nothing chasing you. I wanted a child to be able to learn with a clear head, without pressure, and still feel like they were playing.

This is still a hypothesis. Tang Tung is at version 0.9, a playtest beta, and its first player is still trying it out. But every decision below starts from that hypothesis.

One rule: the math is the game

Most learning games put a quiz in front of the fun part. Answer five questions, then you get to play. Kids learn fast that the questions are the gate, and they get through it as fast as they can.

In Tang Tung, there is no separate fun part. Feeding your pet is a warm-up round. Filling an aquarium row by row is multiplication. Working out how many animals left a set of footprints is division. Catching a merchant who overcharges you is mental arithmetic. If you want the good stuff in this world, you get there by practicing the thing you need to practice.

Even the theme and controls come from the player. He loves animals, so the world is built around caring for and collecting them. He is used to Roblox on a tablet, so the game uses a virtual joystick his thumbs already know.

The learning logic: from 100 questions to 21

The first design decision was about content, not screens. A 10 × 10 table is 100 questions, and that is a scary number. Most of it does not need memorizing.

Step

Questions left

Why

Times tables 1–10

100

Order doesn't matter (3 × 7 = 7 × 3)

55

Each pair is learned once

×1 and ×10

36

The pattern is visible straight away

×2 and ×5

21

Double and half of ×10

Twenty-one questions that genuinely have to stick. Everything else can be worked out from something already known. The game says this out loud: the ×7 level has only two new questions, and ×8 has just one (8 × 8). That is a far more reassuring way to open a level than "Level 17: the 7 times table".

Several other decisions follow from that table:

  • ×9 comes before ×3 and ×4. The usual tricks for 3 and 4 ("double, then add one more group") ask a ten-year-old to juggle two-digit sums in his head, which is harder than the question itself. The ×9 trick is a single subtraction: 7 × 9 is 70 minus 7. So ×3 and ×4 are taught with skip-counting songs and animal legs instead.

  • Every table has an animal that carries the number on its body. A rabbit has 2 ears, a calico cat 3 colors, a turtle 4 legs, a ladybug 7 spots, an octopus 8 arms, a nine-tailed fox 9 tails. "Six turtles. How many legs?" is a question you can picture before you can recall the answer.

  • Five ways into every question: animals, rows and columns, skip-counting songs, deriving from one already known (6 × 7 = 5 × 7 + 7), and fair sharing. The game records which way works best for each child and offers it first next time.

  • Wrong answers get help, not punishment. A first mistake brings up a picture. A second one, and the nearest villager offers another way to see it. After a third, the answer is shown, and the question is scheduled again. There is no buzzer anywhere.

  • The clock stops while you think. A day in Tang Tung runs from morning until the shops close at night, but time only moves while you explore. When a question is on screen, the day freezes.

  • "Mastered" has a strict definition: three correct answers in a row, each under three seconds, across three sessions spread over at least two days. Behind it sits a five-box spaced repetition system.

A first wrong answer brings up a picture: 7 baskets with 3 carrots each.

Decisions, locked

Before any code was written, I wrote a PRD. Its most important part is a table of locked decisions: every major call is written down with its reason, and none is reopened without a new reason. A few of them:

Decision

Reason

2D top-down pixel art, not isometric

Isometric costs 2–3× more art with no added learning value

Villager dialogue is written, not AI-generated

The math has to be right every time

A warm, gentle, relaxed tone

The player should feel accompanied, not tested

The placement test is wrapped in a story about counting island animals

A diagnosis that doesn't feel like an exam

All sound is generated in code

Learning by ear, with no licensing issues

That table did more than anything else to keep the project on course. Whenever a new idea came up, the question was simple: does it break a locked decision? If it does, it needs a stronger reason than "that would be cool".

The economy got the same care. On purpose, coins are never enough to buy everything at once. The most expensive items take about five sessions of saving. If a player buys them, they practiced a lot. If they skip them, they have to memorize instead. Either way, the outcome is good.

Art direction: cozy, but alive

The visual direction is locked in a style book, and all of it follows from one word: cozy.

  • The Archimedes 64 palette. Natural, deep greens, cool bluish shadows, warm skin and wood. Every asset may use only these 64 colors.

  • A modern Japanese town, with people dressed as Indonesians. Modern houses, asphalt roads, power poles, and vending machines, with touches of stone lanterns and shrines. The townspeople wear T-shirts, kebaya, batik, and flip-flops, so the player still feels close to them. The characters were even designed from photos of people he knows.

  • "Bright, Japanese-style" lighting. Fresh greens, blue-violet shadows, a faint vignette. Open and clean, and easy on the eyes on a tablet.

  • Selective outlines, never black. Every shape is edged in a darker shade of its own material, so it stays crisp without looking like a sticker.

  • Busy edges, open center. Almost every tile holds something, but paths, villagers and task markers are always easy to see.

  • One rule for light. Light beams never move; they only "breathe" slowly. Nothing flickers or races across the screen. As evening falls, lamps and lanterns come on one by one, and fireflies appear.

That direction also meant being willing to cut. The NPC portraits, for example, were drawn and then removed: a dialogue box with a colored name tab was enough, and the screen became calmer for it.

The same town square at dusk and after dark.

Language is part of the art direction, too. Every line a child reads uses a fifth grader's everyday words. In Indonesian, that means "soal" (question), not "fakta" (fact); "latihan ulang" (practice again), not "review"; "makin jago" (getting better), not "naik status" (level up). Technical terms never appear on a child's screen.

And there is humor. Aa Bojot, a market trader, likes to "miscalculate" in his own favor. His mistakes are the ones kids commonly make. Catch him, and you earn a Golden Shell.

"8 × 1 = 9, easy!" Aa Bojot, hoping nobody checks.

How I built it

I approached Tang Tung the way I approach any product: the problem and success metrics first, then seven phases with gates: learning design, game and world design, style book, greybox, vertical slice, playtest, and release. A phase was only closed once its gate was approved.

For execution, I used Claude as a tool. It wrote the code and drafted assets from the PRD and the style book, and I reviewed, rejected, and revised them over dozens of rounds: the "Kitab" (tome) became a "Buku" (book) because it felt friendlier, Aa Bojot was made to wander between market stalls so the market felt alive, the clock was sped up, and the night lighting was reworked. A tool can speed up execution, but each of those calls still had to come from someone who knew who the game was for.

One honest note on process: I skipped the greybox playtest and let my brother go straight to the version with art. A grey box does not invite a ten-year-old to play, and I wanted his first impression to be the real thing. The cost is that the first real feedback arrived later than it should have.

Why I opened it up

Tang Tung was made for one player. But the problem clearly isn't unique to our home. Many kids love games, and many stumble over multiplication and division. If learning can feel like play, and the play is calm, other kids might take to it too.

So I opened it up. Anyone can try it straight away in the browser in guest mode, on a phone, tablet, or PC. It is still a 0.9 playtest beta, with a feedback button and automatic error reports. There is a lot more I want to add, and feedback from players outside our home will help shape where it goes.

Try Tang Tung: tangtung.affifjo.com

Open questions

The calm-learning hypothesis is not proven yet. During the playtest I am watching three things: whether he plays without being asked, whether his accuracy goes up, and whether his answers get faster.

His first feature request put that hypothesis to the test straight away. He asked for monsters you fight by answering math questions. I thought a game like this needed calm. It turns out he needs adventure too.

I don't read that as a rebuttal. I read it as the next design question: how do you add a sense of adventure without giving up the calm? Wrong answers still must not punish, and the pace must stay relaxed. The request is in the idea bank now, and the answer will shape the next version.

Closing

The biggest thing Tang Tung taught me is that the scarce part of this work is not building, but deciding. Deciding that 100 questions are really 21. That ×9 should come before ×3. That the clock should stop while a child thinks. That a merchant should cheat so a kid can catch him.

As a product designer, I am used to building products for thousands of people I will never meet. Tang Tung is the opposite: one player, whom I have known since the day he was born. The principle turned out to be the same. The better you know your user, the less you have to guess.

  • #Game Dev

Relevant reviews