8 min read

🫧 Weekend game jam: Pixel Washer

Watch me procrastinate on my main project publicly & in realtime!
Pixel Washer

I've got three days. I'm going to make one game. Let's go:

What I want to make

My main project Witchmore has given me some cravings. I'm missing some core things I love that are way outside of what I've been working on lately:

  • 👾 2D pixel art
  • 🖼 Usage of all the 2D asset packs I've been gathering
  • 🛠 Entity-component system (ECS)
  • ☕️ The simplest, chillest little game

Witchmore isn't pixel art, it's all drawn by hand, it's built in Unity which is not an ECS (outside of DOTS, which my game doesn't use), and it's not chill or little!

I'm still focused on my main game, but I'm allowed a little fun on the side, yeah?

So I dug through my gigantic pile of game ideas. Looking for one that checked all the above boxes, I found nothing relevant. But in the shower I had a new idea.

Aqua Notes! They're great. (I'd link to them but my affiliate account was rejected lol.)
Water-proof paper! What will they think of next?

💦 The concept: Pixel Washer

Inspired by PowerWash Simulator (a game I have of course not played), but filtered through me and my love of retro consoles. (Some of my favorites include Super Nintendo and Sega Genesis.) Here's the elevator pitch:

💡
Power wash a beautiful 2D pixel world. Spray the dirty pixels away!

Does Pixel Washer seem a little clean, little derivative, little ... washed-out? 🥁

That's OK because I have Witchmore to dump my brain garbage into. It's a dark, complicated, hand-drawn, sandboxy glorious mess of a project that scratches my itch and gives me plenty of room to be weird & creative.

0:00
/
My happy place: super gross. Maybe Pixel Washer will help me wash away the blood 'n guts!

To contrast that, I'm craving something simple, clean, clear, focused, rigid, and not more but LESS. Simple! SIMPLE!! I MEAN IT THIS TIME!!!

Witchmore got BIG and I wanna make something that can be SMALL (but still super awesome). Pixel Washer could be that concept! But how do I make it?

🛠 Potential game engines

These are the engines at my disposal that I could use to make the game:

  1. Cauldron Engine (the Unity codebase I'm using to build Witchmore)
  2. Godot (start from scratch to learn the hot new engine on the block)
  3. Matt's ECS (a handmade HTML5/JavaScript ECS engine I rolled)

Which of these engines should I use?

A 2D tilemap editor in Unity.
Map editing in the Cauldron Engine (unreleased).

The Cauldron Engine is an obvious choice because it's full-featured, robust, and being used by me a ton right now! But it's not setup for pixels, does not use an ECS, and undergoes constant surgery as I shove Witchmore towards release.

Godot Game engine
Godot is like open source Unity and is very cool.

Godot has been calling my name for months now and I'm eager to dive in. But it's also not ECS, and I'd work slowly while learning this complicated new engine.

A weird pixelated planet and/or organic cell.
Matt's ECS in action.

I know you're not familiar with Matt's ECS because it's just some code sitting on my laptop. It's a cleeeeeeeean, lovely little HTML5/JavaScript engine that makes UI-heavy retro games and that's it!

I like it a lot. I've been tinkering with it to scratch my city builder itch.

But I'm not going with any of these. No, I'm selecting an option not on the table:

It's City, the Love2d/Lua-based engine that Geoff Blair and I made 2 years ago.

❤️ Wait ... Love2D and Lua? Why?

Here's why:

  1. It checks all the boxes (pixel art, ECS, uses packaged assets, simple)
  2. It's 90% of the way there (much further along than the others for this concept)
  3. It's already integrated with Tiled (the legendary open source map editor)

After unearthing the old codebase and powerwashing away the digital cobwebs, I ran the game:

love lib/
A City screenshot: an evil imp in front of a large building and a street.
City doesn't really exist! (But Pixel Washer sort of does now.)

It works! I was happy to see it run, but then I noticed ... the fire hydrant.

A pixelated city with an evil imp overlooking a fire hydrant spitting water particles.
This engine has a water particle system! I'm gonna need that for Pixel Washer. Handy!

OK. I know this is an unexpected choice, but I'm convinced this engine is the one.

Let's make a game!

🌪 The twist: I'm not making a game

I don't really have time to make a whole game right now. So I need to dial it back.

That's OK though! Game dev is like climbing stairs, and sometimes you can take just one step or two. You don't always have to climb all the way to the top.

There are lots of other, less time-consuming ways to manifest a game concept.

The following is a list of things that help sell a game. They're ordered from the simplest to make to the most complicated. (My time estimates are in parentheses.)

  1. ✅ A screenshot (2 hours)
  2. ✅ A short GIF (1 day)
  3. ✅ A pitch deck (3 days) // This is how much time I have at the moment
  4. ⛔️ A playable demo (2 weeks)
  5. ⛔️ The whole game (6 months+)
💡
Times are cumulative, sorry if that's confusing! (I don't know why I wrote it that way.)

Right now I just have one long weekend, so I'm going to start with that. Let's work our way down the list by starting with a screenshot.

💍 One screenshot to rule them all

It's kinda weird to think about just one screenshot, isn't it?

You must provide at least 5 screenshots of your product.

- Steamworks Documentation / Store Graphical Assets

Screenshots always go together, like pancakes, know what I mean? Steam requires 5 screenshots. We always think about screenshots in groups, right? This new limitation already seems like a beneficial design challenge.

Pancakes & the secrets to making good things
BEHOLD! Become one of the rare exceptional creative people who knows how to tap into the powers of pancakes!

With just one screenshot, how do I represent the concept of Pixel Washer? The screenshot should show:

  1. Pretty pixels
  2. Some pixels are dirty
  3. The player washes the pixels
  4. Washing pixels looks super fun

I thought maybe I could get the screenshot made in 2 hours. Let's see how we did.

A pixelated piggy powerwashing a filthy building. 25% CLEAN!
Sprites via various asset packs I've purchased, Kenny assets, and some hand-drawn stuff.

Yeah, it probably took around 2 hours. (Or so ... who counts these things?)

Look, it's Pixel Washer! IT'S ALIVE (sorta).

What do you think? Does it sell the 4 points? Do you get the concept? Does it make you want to play or would you pass on it?

A screenshot is a good start but not enough to get many folks excited. Onwards!

🖼 Let's make a GIF

To produce the GIF I'm gonna need to make a little bit of a game. Let's get to work.

I like to dive into a big new task by listing out all of the subtasks I'll need to do.

# TODO - test Tiled flow - change map, etc. test adding new objects - switch sprite asset pack design new city map switch character to pig implement dirt - add dirt component show sprite pixels as solid brown - replace with a texture or effects 8 10 11 12 13 14 15 16 17 18 19 20 21 22 23| 24 25 26 27 28 29 30 31 32 33 ## Ideas - add water gun entity - give player water gun - rotate water gun towards player facing - detect mouse click spawn a water droplet there shoot a water projectile - spawn extended from player facing - give it velocity implement pooling implement ttl - hit a sprite? clear its dirt - polish - satisfying removal debris/particles implement satisfying water sound add DING when you completely clean it add sparkles turn mouse cursor into aiming reticle
I keep a TODO.md file in all of my game repositories.

The tasks boil down to:

  1. Get reacquainted with the content pipeline.
  2. Implement dirty objects (ya know, to power wash).
  3. Skin the game with new sprites.
  4. Implement cleaning via a power washing water gun.
  5. Polish it up.
The development of the GIF is covered in the YouTube devlog.

If all these tasks were done, I'd have more than enough needed to make a GIF. My estimate was that I could make a GIF in about a day. Let's see how we did.

Pixel Washer in action: a piggy shooting a power washing gun at a grimy red building.
If you find yourself watching it over & over again that's a good sign!

Nah, it took more like 2 days. A decent GIF needs a fair amount of polish to look good, and as we all know, polish is a bloody time vampire. 🩸🦇

What do you think? Does it make you want to play?

Here are some ways I made this GIF look as good as I could:

  1. 🎥 Put the main mechanic front & center
  2. ⬇️️ Leverage vertical motion
  3. ➡️ Leverage horizontal motion
  4. 🎯 Shake the gun and what it's shooting (but not the whole screen)
  5. 🐷 There's a cute pig in it

Ideally we'd see the whole game loop, but this is all we got time for right now.

The pitch deck

The GIF took longer than expected, but I've still got time to make that pitch deck!

There are many templates to consider. Yeah there's the Chucklefish one, but I decided to go with this Guy Kawasaki one because it's shorter (just 10 slides).

I thought I could get the pitch deck done within the 3 days. Let's see how we did.

Pixel Washer / Valadria / Matt Hackett / June 2023
The first of 11 slides in my pitch deck. Wanna see the whole thing? Get in touch.

The pitch deck is done (except for the competitive analysis). There's sensitive information inside so I'm only including it with publishers or similar folks.

What's next?

If you really want to play Pixel Washer, here's what you can do:

  1. Comment on the Pixel Washer page
  2. RT this tweet
  3. Follow Valadria on itch.io
  4. Like this YouTube video

These things are important to do for the game to get made. If enough of you show interest, I'll have an easier time finding a dev fund or publisher.

Does that describe you? Reach out, I'm excited about this project & ready to chat.

Summary

OK sure there's no game here, but ... isn't there though? Thanks to the screenshot, GIF, and pitch deck, Pixel Washer might have a clearer direction than Witchmore has today (haha just kidding, I think).

With Witchmore, I've leapt back into game development. You gotta start somewhere, and while I love the project, I haven't proven the concept or found its potential players. I won't commit to the next project without taking those steps.

Other creative developers have been touting the benefits of  Marketing First or interest-first game development for some time. I'm happy to finally try this out!

Click here for the time-stamped section on interest-first game development.

Thoughts for your own projects

  1. Do you need to build the whole game or can you start smaller?
  2. Pick your single best screenshot. Does it sell your game? Does it really?
  3. Make a 3-5 second GIF that you have a hard time not watching over & over.
    (Next: try it on your friends. How many times do they watch it?)

Thanks for reading! Now I gotta get back to work on Witchmore.

💡
If you want to play Pixel Washer please comment on the itch page.

More inspiration behind Pixel Washer

Learn how Luke Muscat develops games & YouTube videos along with them.