I make a small idle bakery tycoon. Paying is the step after a customer picks a bread, but a customer who had come in had no place to wait at the register, so the moment it was busy they turned around and left with the bread in their hands. Analytics from real players showed roughly 30 to 38 of these a day, and my in-house sim agreed: 30 to 40 lost out of about 85 customers a day.
Two changes. The register now gets an indoor line (I normally forbid lines inside the shop, so this is a one-off exception), and the engine’s indoor line now bends when it’s blocked, where before it ran straight and fit one person. I also taught the sim to flag any required step where a customer has nowhere to wait once inside, and to log who got lost at which fixture and why.
Simulated 12-day revenue went from 880k to 1.05M. Two other theories I tried first, an entry gate and customers lingering at the shelves, were worth far less, so I dropped them. It shipped as 1.0.6.
Free on Android: https://play.google.com/store/apps/details?id=com.dumbgamelab.dongnebakery&referrer=utm_source%3Dlemmy-blahaj-gamedev%26utm_medium%3Dcommunity
If you’ve hit a “nowhere to stand” state in a queue system, I’d like to hear how you caught it.
Yeah, no line at the register seems like an oversight. Seems like customers at the shop could be abstracted to a fairly simple state machine. Customer comes in, picks bread, goes to pay, pays, leaves, and at any step could abort and leave, but there shouldn’t be a “shoplift” path (unless you want to simulate that).

