Devlog · Paw & Sword · Balancing

Balancing an idle tycoon with bot players

Four bot profiles, a simulated month of play in a few minutes, and the problems they found before any human tester did.

Idle games are balanced over weeks, not minutes. A problem in Paw & Sword might only appear on day twelve, after a player has built five buildings, unlocked four regions and stopped checking in as often. As a one-person studio, I cannot ask testers to play for a month every time I change a number. So I built bots that do it for me.

This post explains how the bot players work, what they measure, what they found, and where they are blind.

Why simulate players at all

The economy of an idle tycoon is a web of loops. Heroes hunt, earn gold, spend it in your shops, need food and sleep, gain levels and Fame, open new regions, meet stronger monsters. Change the price of one sword and the effect ripples through all of it, often days later in game time.

Spreadsheets help with single curves, like how much experience a level needs. They are bad at the interactions: what happens when the warehouse is full, heroes are tired and the boss horn is ready at the same time. For that, you need to actually run the game.

Paw & Sword's game logic runs as a deterministic simulation, separate from the graphics. Given the same starting seed, it produces the same result every time. That makes it possible to run the full game, without drawing anything, at very high speed. A simulated month for all four profiles takes a few minutes.

Four kinds of player

A single "average player" bot would hide the most important problems, because real players differ a lot. So there are four profiles:

  • Idle free player. Checks in briefly a few times a day, collects offline earnings, makes a handful of decisions and leaves. Never pays, never watches ads.
  • Active free player. Plays for longer sessions, builds, crafts, sends heroes out and blows the boss horn whenever it is ready. Never pays.
  • Ad watcher. Plays like the active player but also watches every optional rewarded ad the game allows.
  • Light spender. Plays actively and makes a few small purchases.

The free profiles tell me whether the game is fair without money. The ad watcher and light spender tell me whether optional extras give a reasonable head start without skipping the parts that are supposed to take effort, like the boss walls.

Can Fabrika mascot: a purple cat engineer with goggles and a wrench, smiling next to a wooden sign
The factory's engineer, who would definitely run the bots.

What the bots measure

Each run writes a report per profile, plus a side-by-side summary. The most useful numbers are not the totals but the gaps:

  • Milestones: when each region opens, when each boss dies for the first time, when Fame levels and Town Hall levels arrive.
  • Walls: the longest stretch between two milestones, in real days and in hours actually played. A long wall for the idle player is expected. A long wall for the active player is a warning.
  • Stalls: stretches where the bot has nothing useful to do.
  • Gold: how much is in the purse each day, and how much is spent. A purse that keeps growing means there is nothing worth buying.
  • Hero health: how many heroes are hungry, exhausted or at zero mood, and how much time they spend hunting versus in town.
  • Waste: time with a full warehouse, and offline earnings lost to the offline cap.

What they found

The bots earned their keep. Two findings changed the design.

A gold hoard in the mid game. The idle player's purse kept growing, day after day, through the middle of the game. Gold was piling up because there was nothing worth buying at that stage. That is not just a balance problem, it is a motivation problem: if gold has no use, collecting it stops feeling good. The fix was a new gold sink, Hero Training, and the full story is in its own post.

Heroes getting stuck. The active profiles showed heroes stuck in a loop: a hero at zero mood walked home to cheer up, was called straight back out by the boss horn, and never reached the tavern. Meanwhile the town's income dropped to nothing. That led to rules for rest after a lost boss fight and for tired heroes staying home, which I cover in boss walls and losing fairly. The same analysis was part of why the Rebirth Sanctum now opens earlier, so strong heroes who reach their ceiling have somewhere to go.

What bots cannot tell you

Bots never get bored. They never misread a button, never forget why they opened a menu and never feel cheated by a boss. They play exactly the strategy I wrote for them. That means they are excellent at finding where the numbers break, and useless at telling whether something is fun.

So the bots answer one question: "Does the economy hold together for different kinds of player?" Whether a boss fight feels exciting, whether a tutorial step is confusing, whether a hero is charming: that still needs people.

Can Fabrika mascot: a purple cat engineer with goggles and a wrench, leaning on a wooden sign

The door is open

Players, press, publishers and collabs: all welcome.