Product StoryOne Ladle ArmyIndie DevGame Development

Why I built One Ladle Army

··4 min read

Where it started: I wanted to make a horde game to play

The reason is simple. I just wanted to try making a horde game and see how it plays. A horde game is one where a single hero fights a huge crowd of enemies and knocks down whole groups at a time.

In the one I made, the hero is a camp cook named Mo Bu Tui, and his weapon is a soup ladle.

The story is short. The whole camp ate something bad, and everyone is stuck in the latrine. Only Mo Bu Tui can still fight. He has to clear ten stages, find out who sent the steamed buns, and get back to camp to serve dinner.

First US App Store screenshot of One Ladle Army: the headline "One cook vs. hundreds" above wave three of stage 1, where the hero sweeps a spear through a packed crowd of soldiers
The first One Ladle Army screenshot on the US App Store, from the store assets. The headline is store art. Below it is stage 1, wave three. The game text is in Traditional Chinese.

How the combat works

Each stage has three waves. Every wave brings more enemies than the last, and a boss shows up at the end.

You can move while you attack, though you move a little slower, at about 70% of your normal speed. When the crowd gets big, the camera pulls back so you can see the whole field.

Each boss has an entrance scene. When he falls, he drops a helmet, a weapon, and armor. They go onto your hero after the scene. Your look changes, and so do your attack range and moves. Every weapon has its own three-hit combo.

Second US App Store screenshot of One Ladle Army: the headline "Beat bosses, grab their gear" above a fallen boss dropping three pieces of gear, with a dialogue box in Chinese
The second One Ladle Army screenshot on the US App Store, from the store assets. General Iron Bucket has fallen and dropped three pieces of gear.

You learn a new skill after each stage. For example, clearing Sneeze Valley teaches you Pepper Sneeze (胡椒噴嚏). You carry every skill you have learned, and each one has its own cooldown. Knock down enough enemies and you can use the ultimate, "Dinner is served!" Skills and the ultimate each get their own button.

The tone is cartoon. Enemies fly off, tumble, and run away holding their heads. There is no blood.

Where I got stuck

First, I wanted to know if a phone could handle the crowds. Before I built the real game, I ran a test scene with 300 enemies on screen at once on an iPhone 14 Pro. It ran for 300 seconds at 60 fps. The phone only felt a little warm.

Second, the sound. The hit sounds are real recordings with a synthesized low end layered on top. When several hits landed together, the mix clipped. I added a limiter at the output, which holds back any sound that gets too loud. I also capped how many hit sounds can play at once, and the ladle's clang gets priority. After that, I measured again, and no sound hit the ceiling.

Third, App Store review. About a week after I submitted, Apple asked me for a video of the game running on a real device, plus answers to six questions. My first video file was 218 MB, and the upload failed twice. I compressed it to 26 MB and it went through. Apple also wants the video to start from the home screen, by tapping the app icon. I did that, sent the reply, and the game was approved in under an hour.

Another app's review story is in "Why I built BabyDay."

What it looks like now

There are ten stages, from Duanqi Pass (斷旗隘) and Tongqian Ferry (銅錢渡) to Sneeze Valley (噴嚏谷) and, finally, Moxiang Tower (墨香樓). A stage takes about 4.5 minutes. The game uses Chinese names only. The English names in this post are my own translations.

Each stage has its own hazard. Sneeze Valley has pepper fog. Salted Fish Bay (鹹魚灣) has tides. Rock Sugar Lake (冰糖湖) is one big sheet of ice. Dumpling Yard (搓圓坪) has giant rolling rice balls. Paper Mill (萬紙坊) has a huge stamp that comes down on you.

The bosses get stranger as you go. General Iron Bucket (鐵桶將軍) is stuck inside his bucket and cannot get out. General Millstone (磨盤將軍) says he will not spin, while the millstone on his waist keeps spinning.

You can rename the hero and the bosses. The game keeps your fastest clear, most knockdowns, and longest chain for each stage. Your progress and settings stay on your phone, and you do not need an account.

One note for English readers: the game text is in Traditional Chinese only. The game is for iPhone. If you do not want the story, you can skip all of it in settings. You can also turn down the visual effects there.

One question for you

When you play an action game, do you read the story, or do you skip it?

All KeepOnFirst apps

Read the author’s original publication