Washing Bad is a laundromat management game. You wash socks for the neighbourhood by day and dirty money for the Family by night. On paper it has a lot going on: cops, a mob enforcer with a bat, a Heat meter, rain, a jukebox and a growing chain of shops.
Underneath all of that, you only ever do one thing. You pick up a bag, put it in a washer, and carry it to the pick-up spot.
This is the first Washing Bad devlog, and it's about that one thing: how we kept the core loop that small, and what we threw out to keep it there.
The whole game is carrying a bag
A customer walks up to the counter. You accept the job and the bag goes straight into your hands. You walk it to a free washer, load it, wait for the timer, unload it and drop it in the pick-up area. The customer comes back, grabs it and pays. Every bag has a deadline.
That's the loop. Almost every feature in the game does one of two things: it changes what's inside the bag, or it gets in the way of you carrying it.
The rule that holds it together is that you have two hands and one bag at a time. You can't take a new job while you're carrying something. That one limit creates most of the decisions in the game: which customer to serve first, whether to leave a finished load in the washer for a minute, whether to risk a deadline for a bigger tip.
Getting the timing right
Our first balance pass had very short washes. It felt snappy, but our progression simulator showed the problem: the player was the bottleneck, and the washers sat idle 84% of the time. Buying a second washer did almost nothing, because you couldn't feed the first one fast enough.
We made washes and deadlines 2.5 times longer. That one change gave you time to juggle several machines, which made extra washers worth buying, which made the money worth earning. We didn't need a new system. The fix was a number in the loop we already had.
Night shift: same bag, different detergent
The crime side could easily have turned into a second game with its own screens and rules. We worked hard to stop that from happening.
A Family job is still a bag. It goes through the same washer and ends up in the same pick-up spot. What changes is what you need to wash it (different chemicals), what it pays (a lot more) and what it costs you (Heat). When the police come by, you hide the bag. Hiding is still carrying a bag somewhere, just to the jukebox instead of the washer.
Even the warning system stays inside the shop. We used to show "Police patrol incoming" toasts. We removed them. Now the Family's phone on the back wall rings before a visit, the caller's speech bubble pops up over it, and a siren plays when the cop arrives. Those three cues are the whole warning. You learn to listen for the phone, and you never have to read a notification.
If a feature needs a tutorial screen to explain it, it probably isn't using the loop.
The bat takes both hands
Let the Family down and their enforcer walks in and smashes a washer. You fix it by whacking it yourself, twelve times. We already had the "go to the machine and press the button" action, so we used it.
You can also grab the bat off the wall and chase the enforcer out. The tempting version of this is a power-up you carry forever. We went the other way: the bat takes both hands. While you're holding it, you can't carry bags, unload washers or take jobs. Picking it up is a choice that costs you time on the loop, not a free upgrade.
What we cut
Most of the work on simplicity was saying no. Here are the cuts that shaped the game most.
Thieves, line-cutters and undercover cops
When we brainstormed ways to make the shop more fun, we came up with thieves who steal bags, customers who cut the line, undercover cops posing as regulars, and lots of small, hard-to-notice details. They were all decent ideas, and we ruled them all out. Each one asked the player to watch for something new while they were already busy carrying a bag.
What we picked instead were simple, visible toys that use systems already in the game: the bat, sitting down to hear the neighbourhood gossip, rain, and the jukebox.
The first-person camera
The original pitch for Washing Bad was "a tense, first-person laundromat sim". We changed that on the first day of the current build to a tilted third-person camera. It works far better with touch controls, and it shows what's actually funny about the game: customers wandering around, the enforcer stomping in, washers jiggling and jamming. You can't see any of that while staring at a washer door. The tone moved from tense to comedy along with the camera.
Game over
At one point the game had three endings. Family trust hits zero, civilian trust hits zero, or Heat reaches 100% and you're busted. It sounded dramatic. In playtests it was miserable: testers who kept grinding lost everything at one bad moment and had to start again.
We removed game over entirely. Bad situations still hurt. A full-Heat raid seizes every Family bag and 35% of your cash, and an angry Family sends fewer jobs and more enforcers. But both trust meters slowly heal when they're low, so you can always climb back out. We simulated it: from rock bottom, customer trust is back to 50% in about 8 minutes.
The $ per day counter
We used to track income with a rolling "$ per day" number on the HUD. It was accurate and completely lifeless. We removed it. Now money visibly comes from jobs: when a shop you're not in finishes a bag, you get a small "+$N" pop with its address. Same money, but you can feel where it comes from.
Smaller cuts
- A permanent "Holding #N, DROP to put it down" bar. It became a tip that shows only the first two times you pick up a bag.
- Chapters. They were replaced by levels and short objectives, so there's always a goal a few minutes away.
- Raindrop tick sounds. They sounded like birds chirping. The rain is now a soft, low rumble heard from inside.
Rain changes the mood, not the maths
Not every feature has to be a system. When it rains, the sky goes grey, passers-by pull out umbrellas and hurry along, and more of them duck into your shop. But the customer rate is exactly the same. We'd spent a lot of time tuning the pacing, and rain wasn't worth breaking it for. It makes the shop feel alive without giving you one more thing to manage.
Growing the game without adding a game
The late game is an endless laundromat empire. You buy new shops around the city and hire managers to run them. The easy way to build that is a menu full of numbers. We made the manager a person instead.
When you hire one, they walk into the shop and thank you, then they do the exact loop you do: take the bag at the counter, wash it, put it in the pick-up spot, and whack the washers when they jam. They carry one bag at a time and walk a bit slower than you. They never touch Family work, so the Heat, the cops and the mob stay your problem.
The game gets bigger by putting more people on the same loop, not by adding new verbs.
The test every idea has to pass
This is the checklist we ended up with. We use it for every new idea in Washing Bad, and now for our other games too.
- Does it use something already in the shop? The counter, a washer, a bag, the phone. If it needs a new screen, that's a warning sign.
- Can you see it coming? If the player has to read a toast to know it's happening, find a way to show it in the world instead.
- Does it make carrying the bag harder or more interesting? If it does neither, it belongs in a different game.
- If it goes wrong, can you recover? Punish mistakes, but never make a player throw away an hour.
Most ideas fail at least one of these. The ones that pass tend to feel like they were always part of the game.
Next time: the Heat
The next devlog covers the Heat: how suspicion builds, why you get to choose between a bribe and losing half your earnings, and how we tuned it so the risk feels fun instead of unfair.
Washing Bad is available to pre-order now for iPhone and Android.