Have a relaxing time power washing beautiful pixels as Pigxel the pig.

This is the first playable demo of Pixel Washer.

Add Pixel Washer to your Steam washlist!

Gameplay

  • πŸ’¦ Super satisfying spray gun mechanic
  • πŸ™ Chill, simple overhead gameplay
  • 🏝 Play at your own pace

Developer

Matt Hackett, author of How to Make a Video Game All By Yourself. πŸ“™

StatusIn development
PlatformsHTML5
Rating
Rated 4.8 out of 5 stars
(5 total ratings)
AuthorValadria
GenreSimulation
Tags2D, Pixel Art, Top-Down
LinksSteam

Development log

Comments

Log in with itch.io to leave a comment.

It's really hard to find the last few parts of dirts.

(1 edit) (+1)

The "cleaned" gauge maxes out one item before the level is finished; the progress bars for the individual items may max out early as well, but it's difficult to tell. This confused me a bit and I went back to the main menu to find that I lost all progress. I eventually figured it out when I went into the pause menu and found the key for radar. The radar is very handy. Also, it can get a little tricky to find like the very last pixel that you need to clean.

Thanks for the feedback! Here are some thoughts/updates to 0.19.0:

  • The progress bars (both types) should now never render as 100% complete unless the task is 100% completed. They'll get right to the last pixel but not fill it up until it's done.
  • Yeah, saving levels isn't implemented yet. I plan to get that in but maybe not until the game is closer to launch.
  • Agreed radar is handy; I've thought about enabling it by default, but I'll likely make it an (early on) unlockable upgrade which should help with the feeling that it's buried or hard to discover.
  • Agreed that the last pixel(s) are hard to find. I've written the code so that an object is marked as "complete" at any % point I choose (for example, even 1%! which feels ridiculous). I'm not sure where I want to land on this, but a goal like 95% clean for all objects might be a good compromise.

Really appreciate you playing and giving me these useful thoughts 🐷🫧

(+1)

As a huge fan of PowerWash Simulator, I’ve been loving this demo for a while now and I often replay it occasionally now and then, enjoying watching it evolve over the months. :D

One suggestion I have, unless it’s already in and I haven’t found it; a button to toggle the washer on or off instead of holding down the mouse button? Kind of like how PowerWash Simulator has it on the right mouse button. Would be very handy to have.

(+1)

Returning to replay ahhhhh that's so encouraging! Great to hear.

Love this idea. I was just working on configurable inputs, so I'll include this feature. Right-click to toggle washing on/off, look for it in an upcoming update!

Oh and if you run into any publishers send them my way lol 🐷🫧

(+1)

Played through this again, had a lot of fun, I can see the improvement, it was way easier to clean things 100%, like the new content as well! Maybe you can have doors that don't open to access new things or puzzles to do that won't work until you clean them off?

Thanks for playing again! So cool.

Love these ideas. They're in my "I hope to get to these someday" list! Watch this space :) 

Do you require assistance? I could help you, I'm a programmer

(+1)

ive been playing this for like 45 minutes now and i cannot stop
its taking my mind off of my mind and its very fun and relaxing.

Ah that's beautiful thank you for sharing! This motivates me to add more levels for you :)

(+1)

Played the demo and I found it to be very entertaining. That's awesome! May I ask you something that would be cool in a devlog? 

How did you manage to calculate the percentage of completion for each individual object? What is the data structure you're using to do this. I'm doing a similar style painting game but in gamemaker,  but surfaces doesn't give me enough info about that kind of stuff. For instance is a pain to do bucket fill with surface lol. Saw some of your devlogs it seems at first you separated each part of the sprite into mini parts, but now it seems you have something more complicated that each pixel is counted towards completion.

(+1)

Thanks for playing & for the kind words! Glad you liked it.

So each washable object is broken up into sections, let's say 4 separate parts to wash. Each section then has its own pixel data, contained in a matrix data structure (just an array of boolean or integer values for "cleaned" or "not cleaned").

Whenever pixels are washed, the dirty section updates its cached pixel data, and knows its percent completion state (for example, 50 out of 256 pixels cleaned so far = about 20% cleaned). Once it reaches 100% cleaned, it lets the washable object know it's finished. Then the washable object just waits until all of its sections are washed (in this case, 4 out of 4 sections).

You can see the pixel data being created in  Tiled here: 


Hope that helps! LMK if you have more questions.
(+1)

Awesome! amazing response. Yeah I thought about that possibility, but I don't believe it scales in gamemaker, sadly =/. 

But thanks a lot! This explanation may help in other stuff I'm making ^^


Wishlisted the game. It seems awesome and seeing your devlogs is very entertaining.

(+2)

I played all the 'levels' and I love it, only the big house on the last one was a pain to clear but it was really fun and I play it when I'm stressed :D

(+1)

Ahh perfect I was hoping it would be a stress-reliever! Thanks a lot for playing. I'm working on some features that I hope will help finding those last few pixels.

(+2)

Had a lot of fun with this! A couple of issues:

If you move your mouse super slow toward your pig as your spraying, you can go past your inner circle and have some funky things happen.

if you're holding the mouse down and you move the pig, the camera doesn't follow


I sprayed everything 100% on the last level and it didn't have a victory come up and when I quit it said 100% but still didn't have all the objects listed as clean and when I went back, everything was dirty again

Love the concept, I've wishlisted this, very interesting! Perhaps you should see the percentage of whatever you're currently moused over so you can have a better idea of what's still dirty.

Hey thanks for playing!

Ah yeah I'm working on the funkiness. Got some math issues to fix for sure. Hopefully I'll iron everything out when I tackle gamepad pretty soon here.

Holding the mouse down = camera doesn't move is intentional; I didn't like how the camera would be catching up with Pigxel, and I'd have to change my washing aim while it was moving. But I could make that a setting to turn on/off if it's unwanted.

Ahh yes the Lost Pixel problem! I just published a devlog on this -- it adds 2 options to play with. You can now choose to highlight the dirt on mouse hover, and/or "snap" up to make 90% clean count as 100% clean. Would be happy to hear what you think about these additions.

Also, this update (0.7.0) should fix the "100% but it means 99%" bug.

This is great feedback I appreciate it β€οΈπŸ«§πŸ”«πŸ·

(1 edit) (+1)

Thanks for the reply!

I greatly prefer the highlight dirt method. I don't like the round up, it feels like the game doing the work for me. Not sure what you used to make the game so I don't have any suggestions, I do code in Unity trying to release a game I have about 5/6 demos and struggling to release stuff myself but, trying to get it done.

Agreed on the rounding up. I like the game caring about every pixel. Thanks for your thoughts! I'm making Pixel Washer in a handmade JavaScript entity/component system. It's a little unusual but I'm enjoying it for this project.

5-6 demos very cool! That's great progress. Yeah it can be a struggle to find a project to commit to. Making a bunch of demos is smart so it sounds like you're on the right path! πŸ› 

(+2)

Great stuff, Matt!

(+2)

so fresh and so clean!

Thanks Ben! Both goals accomplished βœ…

(+2)

Nobody cleans like AFRiFICTION cleans! Great game!

Thank you! You're a one-of-a-kind cleaner 🫧

(+2)

Nice idea!

My soul has been washed :)

(+2)

I would totally play this game.  Bonus Level: Wash Koopa and Gmork!

(+1)

You're the best Joe!