𫧠Weekend game jam: 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.
π¦ 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:
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.
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:
- Cauldron Engine (the Unity codebase I'm using to build Witchmore)
- Godot (start from scratch to learn the hot new engine on the block)
- Matt's ECS (a handmade HTML5/JavaScript ECS engine I rolled)
Which of these engines should I use?
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 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.
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:
- It checks all the boxes (pixel art, ECS, uses packaged assets, simple)
- It's 90% of the way there (much further along than the others for this concept)
- 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/
It works! I was happy to see it run, but then I noticed ... the fire hydrant.
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.)
- β A screenshot (2 hours)
- β A short GIF (1 day)
- β A pitch deck (3 days) // This is how much time I have at the moment
- βοΈ A playable demo (2 weeks)
- βοΈ The whole game (6 months+)
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.
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.
With just one screenshot, how do I represent the concept of Pixel Washer? The screenshot should show:
- Pretty pixels
- Some pixels are dirty
- The player washes the pixels
- Washing pixels looks super fun
I thought maybe I could get the screenshot made in 2 hours. Let's see how we did.
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.
The tasks boil down to:
- Get reacquainted with the content pipeline.
- Implement dirty objects (ya know, to power wash).
- Skin the game with new sprites.
- Implement cleaning via a power washing water gun.
- Polish it up.
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.
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:
- π₯ Put the main mechanic front & center
- β¬οΈοΈ Leverage vertical motion
- β‘οΈ Leverage horizontal motion
- π― Shake the gun and what it's shooting (but not the whole screen)
- π· 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.
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:
- Comment on the Pixel Washer page
- RT this tweet
- Follow Valadria on itch.io
- 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!
Thoughts for your own projects
- Do you need to build the whole game or can you start smaller?
- Pick your single best screenshot. Does it sell your game? Does it really?
- 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.