top of page
Search

Kang Coon (แกงคูน)

Updated: Mar 29



You can check the project at: GitLab Repository.


Game Overview

Kang Coon (แกงคูน) is an endless mobile game with a food theme. It is designed to educate players about cooking. The game focuses on preparing "Kang Coon", a traditional curry dish. Using real-world ingredients. Players must collect, prepare, and cook the correct ingredients while managing time and obstacles.

The ingredients used in the game are based on those required to make an authentic Kang Coon curry, offering a fun and interactive way to learn about cooking.


My Role

Gameplay Programmer


Development Team

Naplab Game Studio


Core Systems Overview


Game Loop

The project uses an Addressables system to load assets, specifically prefabs (bubbles and ingredients). Three types of bubbles are loaded: good bubbles, bad bubbles, and large bubbles. Ingredients are sorted by weight (weight is randomly generated).


Figure 1: Ingredient Spawner logic with Addressables-based asset loading.
Figure 1: Ingredient Spawner logic with Addressables-based asset loading.

In the weight generation, it is not 50/50; it is based on the weight setting in the component ingredient. For example, if an apple weighs 80 and gold weighs 20, the chance of getting an apple is much higher.


Figure 2: Weighted probability logic for determining ingredient rates.
Figure 2: Weighted probability logic for determining ingredient rates.

Nevertheless, each time the spawn function is called, the system determines the location, randomly spawns the ingredient, and decides whether it is good or bad (based on the ingredientRate slider). If it is good, it calls good ingredients. If it is a primary ingredient, it uses a large bubble. Object Pooling is also used instead of instantiating to conserve system resources.


Figure 3: Conditional spawning logic with Object Pooling integration.
Figure 3: Conditional spawning logic with Object Pooling integration.
AdMob

This project utilizes AdMob to learn about monetizing video games. There are two types of AdMob advertising. Firstly, the banner ads are displayed at the top center of the game, and the second is currency, called diamonds, used for in-game purchases. Players who want to make in-game purchases must buy diamonds, which can then be used to acquire various items, such as special abilities.


Figure 4: AdMob Banner Ad configuration for Android and iOS platforms.
Figure 4: AdMob Banner Ad configuration for Android and iOS platforms.
Figure 5: In-game shop UI featuring monetization through Diamonds and AdMob banners.
Figure 5: In-game shop UI featuring monetization through Diamonds and AdMob banners.
Doozy UI

This project used a third-party tool called Doozy UI to help with the game's UI. This tool was very helpful because some features, such as animations, did not need to be coded in; they could be adjusted directly in the inspector. This made it easier to explain to the designers what was possible and what was not, compared to explaining it in code.


Figure 6: Main gameplay interface featuring dynamic animations managed via Doozy UI for a code-free design workflow.
Figure 6: Main gameplay interface featuring dynamic animations managed via Doozy UI for a code-free design workflow.
Figure 7: Inspector view of Doozy UI components for button states and animations.
Figure 7: Inspector view of Doozy UI components for button states and animations.

Tools Used:

  • Unity 2021.2+

  • GitLab

  • Sourcetree


You can check the project at: GitLab Repository.

 
 
 

Comments


bottom of page