Game Dev

Game dev: Numzzle

Making Numzzle: Turning Math Practice Into a Game


In May 2025, I started building an arithmetic game.

From Sugongjae to Numzzle


Like a parent who picks a baby’s nickname before it's even born, I picked a name before the game itself existed. I shortened “making math fun” (수학공부 재미있게 / Su-hak gong-bu jae-mi-it-ge) into “Sugongjae.”

Then, aiming for something shorter and punchier, I called it “Suung” — short for “Math Hero” (수학 영웅) in Korean. But my youngest daughter shot that down: “Isn’t it a bit much to call yourself a hero just for solving a few math problems?” So it went back to Sugongjae.

I thought about renaming Sugongjae the way Wordle does — by attaching an easy-to-pronounce syllable or a familiar word. “Number” + “butter” = “Nutter” was my first idea, but when I looked it up, I found that in British English it can mean a "crazy person." ChatGPT poured out countless name options, and so many were cute it was hard to choose — but I ultimately picked Numzzle. In Korean, it sounds similar to "neomu jeulgeopda" (so much fun), which perfectly captured the idea of turning study into play.

---

Studying with a straight-A NPC


Numzzle consists of 5 number cards and the four basic operators (+, −, ×, ÷); two number cards can also be combined into a two-digit number. Users were given plenty of cards and operators, but often there was no way to hit the target number exactly with what they had. Since giving a zero score felt unfair, I decided that getting as close to the target as possible would still earn points.

At first, there was a mistake-review panel at the bottom of the screen. Later, I replaced it with a duel against an NPC — the idea was to make it feel less like studying alone and more like competing against a very smart, gifted friend. Because I’d packed in so many cards to make hitting the target possible, the number of potential equations exploded, and making the NPC smart was a brutal process. I feel a little bad admitting this, but since I can’t code, I just kept pestering Claude:

* “The NPC needs to be smarter.”
* “It has to be able to make two-digit numbers, too.”
* “Right now it only uses 5 cards — it should use all of them.”

Eventually, the Numzzle NPC got so sharp it scored 100 every single time.

---

Practice mode vs. Battle mode


Because the NPC always scored 100, I wanted a way for users to actually beat it — so I created a “Battle” mode where the user and NPC get different cards, alongside the original “Practice” mode where they get the exact same cards.

However, after 10 rounds, Practice mode yielded about 100 points, while Battle mode netted only 50–60. Even beating the NPC in Battle mode didn’t feel satisfying if the score wasn’t a perfect 100. Plus, users complained about card randomness: “The NPC got better cards than me!”

---

Numzzle’s spinoffs


Back in engineering school, I got an A+ in calculus and engineering math. Even so, scoring 100 in Numzzle wasn’t easy. So, I cut the number cards down from 5 to 4.

* Easy and Hard modes: I made “Numzzle Jam,” dropping division and trimming the cards further. Then came “Numzzle Cho” for younger kids, featuring pictures on the cards and keeping only addition and subtraction. I also built “Numzzle Up,” adding square roots and pi — my second daughter named that one.
* Finger emoji: For Numzzle Cho, I wanted visual cards: one apple for 1, two peaches for 2, and so on. But the cards go up to 20, and drawing 20 monkeys for the number 20 became a nightmare. With no suitable emojis left, I switched to finger-count images (☝️✌️🤟✋…). I thought that was brilliant—until months later when I realized: if a kid doesn’t already know how many fingers 1, 2, 3, or 4 represent, they can’t do math anyway! So I removed them.
* Two-player duels & target shifting: I created “Numpple,” where two users get different cards and race to build an equation that hits the target. I also made “Numzzlex” and “Numpplex,” which swap the target number for finding the absolute maximum or minimum value instead.

---

Numzzle Up’s NPC sometimes makes mistakes


Numzzle Up includes pi, which I’d treated as a number card — but pi placed right after a number implicitly means multiplication, no operator needed. I’d also treated the square root as an operator, but it can go at the very front of an expression or right after another operator.

Because of these edge cases, no matter how many times I fixed Numzzle Up, the NPC would occasionally get an answer wrong and score only 80 — while the NPCs in Numzzle, Numzzle Cho, and Numzzle Jam consistently scored 100.

When I told Claude to fix it, it replied with something like, “It’s fine to have a mode where a human can beat the AI.” I still don’t know if it was just trying to dodge the work or genuinely thought it was a good game design choice. I argued that might work for Worpuzz, but not for Numzzle — letting humans win by accident wasn't the point.

Yet somehow, I temporarily talked myself into accepting it. A day later, I took a closer look at the code. The NPC wasn’t even attempting to use all the number cards! In cases like this, starting a fresh chat window works wonders. I pasted the same prompt into a new chat, a fresh instance of Claude appeared, and it fixed the bug in just a few lines of code.

---

Numtter — A solo arithmetic game


Numtter is like Uno played with math cards. You discard cards when you can form an equation hitting the target number using your hand; if you can't, you draw more, and your hand keeps growing. I started building Numtter in August 2025 — originally as a 1v1 Uno-style match between the user and the NPC.

Just like in Uno, if you fail to hit the target, your hand balloons. Eventually, the NPC’s calculation load exploded trying to evaluate massive hands, making it freeze.

So, I scrapped the NPC entirely and turned it into a solo game, keeping the name Numtter. Since you win by emptying your hand, the name comes from the Korean word “teolda” (털다 - meaning "to clear out" or "empty one's hand") — hence Numtter. Now it plays smoothly as a relaxing solo puzzle.

---

Numtle — Numtter Flipped


Later, I inverted Numtter’s mechanics into “Numtle.” In Numtter, success means you don’t draw a card; in Numtle, success means your tower/hand grows taller. Numtter rewards finishing fast; Numtle rewards surviving long.

The name comes from ddwim-teul (뜀틀 - vaulting box), symbolizing the image of stacking up one more level each time you clear a hurdle. English words ending in “-tle” (like little or turtle) sounded cute, so I stylized it as NUMTLE.

Numtle syncs data to Firebase. While Numtter is great for quiet solo play, Numtle offers a tense battle against your own high score. Yet among all these arithmetic spinoffs, the original Numzzle remains overwhelmingly the most popular.

---

A year of growth

A year ago, I used to explain game ideas in a scattered way, change my mind the next day, and ask for completely different features. Despite my typos and garbled AI responses, I just assumed the AI would magically understand what I meant.

After a year of building games, my process has evolved:

* I thoroughly brainstorm and organize game mechanics in my head before prompting.
* I communicate ideas and revisions using precise terminology.
* I stopped micromanaging screen layouts — detailing UI elements is counterproductive, so I trust Claude’s design judgment.
* Conversing with AI has surprisingly improved my own structured writing skills.


---

Fixing the Numzzlex bug


On July 17, 2026, I decided to tally July’s popularity rankings and clean up Soosooland’s card-button layout. Naturally, I decided to inspect why the bottom-ranked games weren't performing.

Out of Soosooland’s 30 games, the 30th spot belonged to Numzzlex — the mode where you build the maximum or minimum value instead of reaching a fixed target. It turns out I had pushed the code to GitHub without proper testing: the NPC was calculating in Base-8, and when multiplication and addition were mixed, it evaluated left-to-right instead of following standard operator precedence!

Since I was busy, I initially hid Numzzlex from the platform. But when I mentioned the bug to Claude, it insisted on fixing it right away. Instead of untangling the messy legacy code, we rebuilt Numzzlex from scratch by modifying the core Numzzle engine. Claude refactored it in no time, and I republished it to Soosooland.

---

Waiting for someone to Score 100

At first glance, Numzzle looks like a standard math worksheet from a textbook. But it wasn't built to test who can solve equations the fastest — it was built as a fun, engaging computer game.

Currently, the top scores for Numzzle Cho and Numzzle Jam are both 100, whereas Numzzle’s high score sits at 80, and Numzzle Up’s at 70. With 4 operators and 4 number cards, there are 3,664 possible expressions — it’s no walk in the park. Even elementary schoolers who have never heard of pi or square roots enjoy playing Numzzle Up, thrilled just to reach a score of 50.

I’m still waiting for the first player to achieve a perfect 100 in Numzzle and Numzzle Up.


⬅️ Clicking the image on the left will take you directly to the Numzzle game screen.


🪄 Written by Soosoo, translated by Claude


댓글