How to Make a Game Like PowerWash Simulator with AI

Build a three-zone cleaning game where the order of two strokes can change what passes inspection.

Seele Editorial TeamUpdated November 11, 2026

To make an original cleaning game inspired by PowerWash Simulator, start with one object whose surfaces can change as the player works. At the fictional Glasshouse Sign Bench, sweeping the upper enamel panels on a retired transit plaque can drop residue into a lip that looked finished a moment ago.

Give the player two things to check. A surface can become visibly clear, and the whole job can pass an inspection. These are different states. Make it possible to check the plaque while some residue remains and to see which part needs another pass.

Two dusty upper enamel panels and a catch lip on a tabletop transit plaque
Give the upper panels and their shared catch lip visibly distinct surfaces. The lip can receive residue from either panel.

Turn surface coverage into a rule

In FuturLab’s original PowerWash Simulator, players remove grime from objects and locations. The visible change gives each pass a clear effect. For your version, choose an object and decide whether one surface can affect another.

The sign bench is a fictional tabletop game model. A bench tool sweeps a purple pigment overlay off a retired transit plaque. Its game rules govern where that load goes. You can design the effect with three counters and a few material states before spending time on spray or particle effects.

Map the zones before drawing the tool

Label the two upper panels L and R and their shared catch lip B. All three start with one unit of load. A fixed routing setting controls where removed upper load goes. The baseline sends it to B. An off-board collector represents discarded load and has no effect on the inspection.

CommandRule
Sweep upperRead the sum of L and R, clear both, then add the sum to B under the baseline rule.
Clear lipSet B to zero. Leave both upper panels as they are.
InspectCheck current L, R and B. Highlight all nonzero zones or latch Complete if all three are zero.
ResetRestore the three starting loads, zero strokes and no result. Keep the chosen routing rule.

A sweep or clear counts as one stroke when it removes any load. Repeating a stroke on an empty target costs zero and produces no new residue. An inspection reads the board without changing it or spending a stroke. Clear the last inspection highlights after the next stroke that removes load, then calculate fresh highlights when the player inspects again.

Replay the lip-first miss

Read each state as (L, R, B). Reset before each run. The comparison starts from the same plaque and ends when the inspection accepts it.

OrderState after each strokeInspection
Upper firstSweep upper → (0, 0, 3). Clear lip → (0, 0, 0).Complete at two strokes.
Lip firstClear lip → (1, 1, 0). Sweep upper → (0, 0, 2).Only B is highlighted. Clear the lip again and inspect to complete at three strokes.
An amber outline marks the catch lip while purple residue is visible on both panels and the lip
Use this mock-up to spot a feedback error. Amber outlines only the lip, but both panels still show residue. After the modeled lip-first replay, the lip should be the only surface that still shows residue.

After the second lip-first stroke, the two clean upper panels can make the plaque look finished. The check should point to the lip. Store the load of each zone and let the check read those values. An “already cleaned” flag would miss the residue that arrives later.

A clean two-panel plaque and catch lip with a completion cue above them
Show completion only after the inspection checks every zone. The clean upper panels and empty lip now qualify together.

Even a plaque with three zeroes is waiting for inspection. Show the result cue only after the player chooses Inspect. Then hold the completed result until Reset.

Give AI one plaque and one inspection

Use this brief for a first build. Ask for the counters in a debug overlay so you can compare the visual state with the rules as you replay the same inputs.

Create an original tabletop cleaning game at a glasshouse sign bench.
Make a transit plaque with upper panels L and R and shared catch lip B.
Initialize L, R and B to one. Show a purple overlay wherever load is positive.

Sweep upper reads the previous sum of L and R, clears both, then
routes exactly that sum to B in the baseline or to waste in the variant.
Clear lip clears B only. The waste collector is unlimited and unchecked.
Count one stroke when either command removes positive load.

Inspect shows the nonzero zones or latches Complete if all are zero.
Inspect spends no stroke. A positive-load stroke clears past highlights.
Allow only Reset after completion. Reset restores the starting loads,
zero strokes and no result, and keeps the chosen routing rule.

Check that upper first finishes in two strokes, lip first needs a third,
and a second upper sweep on an already clear face deposits nothing.

Check the overlay against each counter after a stroke. On the lip-first run, B should lose its overlay after the clear and regain it when the upper sweep routes residue into it. The status marker should stay absent until a successful inspection.

Change only where residue goes

Send the removed upper load to waste instead of the lip. Leave the plaque, starting loads, commands and inspection rules fixed. Repeat Clear lip, Sweep upper and Inspect. The first action still gives (1, 1, 0). The second now gives (0, 0, 0), so the same inspection completes at two strokes.

This one comparison isolates the reason for the extra pass. If the old lip-first route already completes at two strokes, check whether the upper sweep is actually adding the removed load to B. If the variant still fails, check whether it is routing to both destinations. Follow the first-build guide to replay one rule change against the baseline.

Start with one object and a clear check

Keep the first job small enough to inspect by eye. Start your original cleaning game with SEELE’s AI game maker and compare your plaque’s counters, feedback and completion with the worksheet before adding another object.

Frequently asked questions

How should a cleaning overlay show the current state?

Tie the overlay to each zone’s current load. A zero value shows the clean material. A positive value shows residue. Check the underlying counters independently so an animation cannot hide an incorrect state. In the lip-first replay, the same zone changes from positive to zero and back to positive.

Can a zone that looked clean get dirty again?

Yes. In this plaque model the upper sweep can route load to the lip after the lip has been cleared. The inspection checks the current load instead of remembering which zones were cleaned earlier. Test the rule by clearing the lip and then checking its counter after the upper sweep.

What should happen after an inspection fails?

Keep the existing loads and stroke count, and mark each zone still above zero. In the lip-first replay, only the catch lip is marked. The next stroke that removes load clears the old marks so the next inspection can report fresh results.

When should I add another object to the job?

Add one when the three-zone model consistently produces the expected upper-first and lip-first results. Give the second object its own visible coverage decision. Recheck both original routes before introducing more tools. If the new object uses a separate inspection, keep its completion state separate from the plaque’s.

SEELE AI

Turn this guide into a playable build.

Start with a focused brief, then iterate in the Seele AI Workspace.

Start creating