1. 1000 Princes: Born to Love You
  2. News
  3. Developer's Log #1: Creating the "Soap Finding" Mini-Game for Ling Tian 1

Developer's Log #1: Creating the "Soap Finding" Mini-Game for Ling Tian 1

[p]Hello, princesses! I’m Ginyan, the independent developer of Ling Tian 1 and the 1000 Princes series. In this video, I want to share my thoughts as a beginner developer while making the "Find the Soap" mini-game in Ling Tian 1.


"Find the Soap" is a mini-game in my otome game Ling Tian 1. When players enter the bathroom, Prince Ling Tian needs your help to find his green soap. The inspiration for this mini-game came from an interview with a soldier I read, where he said that he could live with just one soap to bathe. I thought that even though Ling Tian is a prince, as a military academy student, he still maintains a soldier's simple and humble lifestyle.


The Baroque-style bathroom background was generated by MidJourney, and the soap was generated by Meshy. I wanted to use the gorgeous and elegant bathroom decor to give players the romantic atmosphere typical of otome games, and the prince’s white bathrobe matches the bathroom setting. Right now, the prince is holding a green mint soap, which is the soap given to every student at the military academy.


Actually, I always use yellow sulfur soap when I bathe, so I considered generating yellow soap with AI. I have oily skin, and sulfur soap is great for disinfecting and relieving itching. Also, sulfur is an ingredient in fireworks during the Chinese New Year, which can kill germs. A fortune teller once told me that if you encounter a ghost, using sulfur soap can drive away evil spirits. However, for the search mini-game, I had to use the mint green color of the soap to create a visual confusion with the emerald green color of the bathroom decor, increasing the difficulty for players. So, the soap had to be green.

The key code for finding the soap is to make the soap appear randomly within the screen area. The player finds and clicks the soap, making it disappear. The following code is the core; for programming experts, it's very simple, but for me as an independent developer with limited programming skills, this code took a lot of thinking and testing before I figured it out. First, I used x and y to specify the soap's coordinates within the area, and the values for x and y are random, using the keyword Random. The soap is also designed as a button, so I need to use the button parameter. The "Find the Soap" game keeps repeating until the player has clicked the soap five times.


I adjusted the soap size repeatedly. If the button is too big, it’s too easy to find; if it’s too small, players won’t be able to see it on a small screen. During testing, there were times when I was so dizzy that I couldn't find the soap myself. In those situations, I used Scene Assistant (coordinate helper) to cheat and move the soap to see where it was.

By the way, why does the word "gecko" appear in my code? Because at first, I actually designed the game to find a gecko in the bathroom, but the gecko's shape was too obvious and easy to find, so I changed it to a more difficult-to-find soap. However, I kept the original code and just replaced the image with the soap. The gecko element is, of course, inspired by my experience living in Turtle Country. (Turtle Country is a new country established after World War III, where Thai is the official language. It’s part of the world of the 1000 Princes series.) When I first arrived in Turtle Country, I used to scream in fear when I saw a gecko in the bathroom. But now, when I see a gecko stuck on the bathroom wall, I just greet it and say, "Alright, stop spying on me while I bathe and go play my game!" [/p]