Bakery Tycoon — 383 ₽ profit against a 5,000 ₽ goal
The till reads eight hundred eighty-three rubles and twenty-two kopecks, reputation sits at sixteen out of a hundred, and the header still shows the goal: five thousand in profit over fourteen days. That is where the demo autopilot finished — the very bot the game starts when a newcomer taps "Demo".
The first run of the same autopilot ended worse. Two hundred rubles in the till, reputation two, three hundred five rubles down from the starting five hundred. Both times the bakery survived; neither finished anywhere near the target. The numbers are not guesses: I loaded the game in a headless browser, switched the demo on and read the state after day fourteen. The first run baked eighty-three items and sold fifty-eight; the second baked eighty-four and sold seventy-nine.
What the autopilot does
Its morning is the same every day: buy eight portions of flour, five of butter, four eggs and four portions of berries, set prices ten percent under the fair ones, then take upgrades in a fixed order if the cash allows. After that it bakes by priority — pie first, then croissant, muffin, bread.
After rounding, the prices come out at 80 ₽ for bread against a fair 90, 140 for a croissant against 150, 120 for a muffin against 130, and 230 for the pie against 260. All of that looks sensible until you look at how a customer decides to buy or walk.
The price the customer sets
In the code, the customer has no free will — only a formula. They will pay the item's fair price multiplied by 0.85 plus 0.004 per reputation point, and then by a random factor between 0.9 and 1.15. At reputation 50 the corridor runs from 0.945 to 1.21 of the fair price, so every autopilot price passes without a single refusal; the highest of them is 0.933.
From there the feedback loop starts. At reputation 40, one customer in ten walks away from the croissant. At 30 it is a quarter. At 20 it is forty-one percent — for a price that ten days earlier suited everyone. By reputation 10, fifty-nine out of a hundred refuse the 140 ₽ croissant.
A sale adds 0.6 points of reputation. Walking away over price takes 1.5, walking away from an empty display takes 1.2. The night returns no more than two points, and only up to 50. Do the arithmetic: one lost customer costs two and a half happy ones. In my runs reputation slid from 50 down to 2 and down to 16, falling faster than the night could restore it.
That is the first thing the demo gets wrong: it holds the price still while the acceptable corridor moves with reputation. A price that offends nobody at fifty points turns away a quarter of the traffic at thirty — and traffic is 0.2 plus reputation divided by 50 customers an hour. At reputation 50 that is 1.2 customers an hour; at 20 it is 0.6. The bakery empties from both sides at once: fewer people, and less money from each.
The pie that earns nothing
The second thing only shows up in the cost arithmetic. Bread is two portions of flour, forty rubles, sold at ninety: fifty rubles of margin over two game hours. A croissant is flour and butter, eighty rubles against a 150 price: seventy rubles of margin over 1.6 hours, which is 43.75 ₽ per oven-hour. A muffin is flour, butter and eggs, 115 ₽ against 130: fifteen rubles of margin, seven and a half per hour.
The pie is flour, butter and two portions of berries. At base prices that is 260 ₽, and the game's fair price is exactly 260. Zero margin — and the autopilot sells it at 230, losing thirty rubles on every piece. The pie is eighteen percent of demand, the same as the muffin. The bot puts the loss-making item first in the oven queue.
One day in five rescues it: the supplier knocks 40% off berries. The cost drops to 188 ₽ and the margin becomes 72 rubles, more than bread. But the discount lands on a random ingredient, and on the days it hits flour the pie stays at zero.
Two and a half game hours
A customer waits 2.5 game hours at the counter, and one game hour is 3.5 seconds of real time. A pie bakes in 2.6 hours. So if the display is empty and a pie customer is already at the till, a base-speed oven will not save you: by the time the pie is done they are gone, and that is minus 1.2 reputation.
A croissant is different: 1.6 hours against 2.5, so it lands in time if the oven is free. The first oven-speed upgrade multiplies baking time by 0.8, and then the pie fits inside the customer's patience as well. Anything unsold by eight in the evening is written off at cost — display and oven alike. Four unsold pies are 1,040 ₽ down the drain, against a starting capital of five hundred.
Fifty rubles against two hundred
The health inspection arrives on days five and eleven, at one in the afternoon. The pass mark is cleanliness 40. You start at 80, twelve points go every day, so by the day-five inspection 32 remain, and by day eleven just 12. Cleaning costs 50 ₽ and gives plus 40. The fine is 200 ₽ and minus eight reputation.
The autopilot knows this: it cleans in the morning when cleanliness is below 45 and at least 250 ₽ remains in the till. If there is no money for cleaning, that day's inspection turns into a fine — a second channel where rubles leak out together with reputation.
What I changed in my own game
I now look at reputation before I look at prices. While it is under forty I keep the price around eighty-five percent of fair: less margin, but the customer does not turn around, and the sales drag reputation up. Above fifty I can go to the fair price — the corridor then starts at 0.95.
I always bake bread: it is the cheapest to make and a third of customers want it, and an empty display hurts reputation more than a thin margin. The pie only on berry-discount days, and several at once in the free oven slots. The croissant is the workhorse: the best margin per oven-hour, and a baking time shorter than the customer's patience.
The five-thousand goal is still hanging. Neither autopilot run reached it, and I have not finished a full run of my own yet — but at least now I know where to look for that money: in reputation, not in the price tag.
Play Bakery Tycoon for free: /en/games/A-D/B/bakery-tycoon