Mini Car: Racing
- Google Play Store Metrics:
- 100M+
- Genre: Racing / Arcade / Casual
- Type: Mobile
- Studio: Terafort
- Team Size: 9
- Engine: Unity
- Title: Lead Game Designer
1.0 Outlined a Live Service Design Direction and Reshaped it through Various Updates #1.A, #1.B
Result: Improved the sharp, concaving churn to a steadier, consistent funnel, for the arcade mode.
Revived purchasable economy from a dead feature, to being a core part of the fun.
Problem: The Arcade Mode was struggling to retain players. Most players dropped off after the first try. The rest dropped off the second attempt.
Approach: I overhauled the enemy AI to make the difficulty easier to fine tune.
I used that to create progression track of 30 playable levels and 8 purchasable cars, for the Arcade mode.
Expand to see my process
1. I sat with the Project Manager to discuss the needs of the project and what state it was in, and learnt that there was a lot of churn on Arcade Mode attempts

2. Upon playtesting, the first problem I noticed was that there was no visible meta-progression anywhere in the game’s mode select screen for the “Arcade” race mode

3. The second problem I observed was through several playtests. Compared to each other, players had drastically different experiences of how difficult the races were
4. I discussed the inner workings of the AI system with the programmers, learning that opponents drove on rails at a constant speed, which was too basic of a system to balance for multiple skill levels
5. I overhauled the AI to adapt to the player’s skill level and react according to how well the player performs.
6. I designed a looping track of content beats – to put the new AI system in action
7. I created a progression track of level and economy content, built on the foundation of the content beats
1.A Overhauled enemy racer AI and made the difficulty feel "just-right" to reduce churn
Result: Tailored the flow channel for the playerbase, by adding a dynamic difficulty system to the mini-game, reducing churn.
This made the kart-race Arcade mode accessible, instead of being either extremely easy or difficult.
Problem: Playtests showed that players found races either frustratingly difficult or breezingly easy, with little in-between.
After looking under the hood of the AI racers, I immediately knew it was because of how rigid it was.
Approach:
I tracked player performance across more skills and made enemies skillfully react with a variety of patterns.
Expand to see my process
Phase 1: Competitive Enemy AI
1. I set a goal to make a simple addition to the opponent behavior, to speed up when the player was ahead and to slow down when the player was behind.
2. I limited how much/often the speed changed, relative to the player, to prevent them from looking as they were rubber-banding continuously across the player.
3. I listed other hidden elements of the race to tune at runtime and some “stress” beats, to create multiple different “feels” of difficulty.
4. To keep players’ flow state in check, I listed some general beats for the AI to behave and challenge the player across races, regardless of the level.
5. To narratively justify those beats, I connected them with the hidden variables identified earlier – for the opponents to use to their advantage to “mask” their behavior.
6. I shared a feature spec to call out the design direction for programmers Talha and Ali, enabling them to support the design with fitting programming solutions
7. I tuned how much of the race opponents would ideally spend while caught up with the player, according to the difficulties.
Phase 2: Meaningful Enemy AI
1. Recalling my previous experience, I predicted a major flaw of this type of system. It didn’t have enough room for meaningful skill expression.
2. I created a point-based system to evaluate the players performance, and make the AI perform better/worse than the existing rules, for meaningful skill expression.
3. I collaborated with the programmers Ali and Talha, discussing the goals of difficulty feel and the point system to program rules that support it.
1.B Created levels using varied AI difficulty, environments and rewards
Result: Players were motivated to come back to the mode because every race felt distinct.
Players felt the need to climb the skill and progression curve, as it was a core part of enjoying the content.
Problem: Although the first race was enjoyable, the rest felt monotonous. There was nothing to differentiate between overall experience of the races.
Approach:
Created a content loop by theming each level with AI difficulty beats and power scaling beats.
Expand to see my process
Phase 1: Used AI System to Create Content Beats
1. I created a beat chart of how difficult the first few levels felt, and which of them would end in a loss, nudging the player to purchase an upgrade in some form.
2. After noticing a pattern develop in the levels, I made a looping set of beats, so that the loop could scale as much as how many cars there were to buy.
3. There was a possibility that players would ignore the prompt, so I created a special track for them to progress, but barely.
4. For any beginners who ignored upgrades and got stuck in the tougher loop, I gated the gameplay behind an upgrade prompt – to introduce the shop to them
5. I also added a track for optional prompts, to remind players about upgrades, who were already familiar with the shop.
6. Then there were players who could proactively farm Coins. I created an easier loop for them, but introduced a loss early on – so that they don’t get bored.
7. I onboarded the programmers with the logic of the flow chart, to implement it.
Phase 2: Progression Track via Race Levels and Economy Content
1. I created a level-based progression track of 30 missions, separating them by track level in pairs of 3. This created a content roadmap for the team.
2. Since the game only had 3 levels to start, I briefed the developers Ali and Talha to put the level track on loop, for any missions that didn’t have their own levels.
3. I rebalanced the currency rewards for winning, to become increasingly abundant with the escalating difficulty system, to make the higher level cars feel more premium.
4. I balanced the purchasable car prices to be purchasable through the currency gains of the progression track.
5. I tuned the last purchasable car price to be grindy to gain purely by playing the arcade mode, to encourage the player to spend time in other modes.
6. I collaborated with the graphic designer to provide a direction for the level selection UI panel
2. Overhauled The Health System towards a Simplified Version
Result:
The easy-to-learn health system made progressing feel more meaningful, which boosted retention.
Problem: The multiple, confusing, shallow health systems of the game worked against making the gameplay feel approachable.
As a result, players were overwhelmed and driven away from the game.
Cause:
This was a byproduct of the addition of another health system that was meant to solve the other one’s balance problems.
Approach:
I reworked the original coin health system to be reliable by itself and removed the newer, fuel health system.
Expand to see my process
Phase 1: Analyzing the health system
1. I broke down the different economy systems of the identify what purposes each of their parts served
2. During the playtest, I noticed the critical flaw that the player could never progress if the coin health system was the only means to complete an endless run.
3. Upon analyzing further, I discovered that confusingly there was another, fuel-based health system. Although it allowed the player to progress, the player could rarely interact with it to change anything.
Phase 2: Balancing the original health system
1. Instead of making the player lose coins upon crashing, I made them lose a new type of health called Gears. This removed all the unsolved problems that came with tying a health system to the shop economy.
2. I tuned the penalty for crashing to losing all Gears, so the player needed to stay mindful of their play regardless of how many Gears they had
3. I further added a Gear drop mechanic to give players a chance to recover a portion of their health they had collected, encouraging the act of picking up Gears
4. To reward players for collecting beyond an abundant amount of Gears, I converted the Gears to a score multiplier upon meeting a certain threshold
5. Finally, I removed the fuel-based health system to reduce unnecessary complexity

































