WIP Wednesday: November 16, 2022

WIP WednesdayWIP WednesdayWIP WednesdayNovember 16, 2022November 16, 2022November 16, 2022

This post is also available on my Patreon. Join up and get pixel art for your game!

Hey everyone, I’m here for a Work-In-Progress Wednesday to show off what I’ve been working on!
Today I’d like to continue sharing a little bit from behind the scenes about my workflow. You’ve all seen how I draw pixel art thanks to the time lapse videos, but what about the other things that make it all possible?

Schedule Generator

Last time we looked at the Sprite Demo Maker, which makes pretty pixel art GIFs. But what happens before that? Drawing the pixel art, of course! And… what happens before that? Planning!

Planning is a huge part of what I do. I have tons of ideas for new asset packs that I want to draw, plus there’s a lot of video footage of pixel art drawing that I want to edit and release as YouTube videos. I used to just jot things down in Notepad, but everything would always get disorganized and some things would just fall off my to-do list as the documents got older.

Enter: Schedule Generator!

The above image is my schedule for November 2022 (at the time of this writing… Otherwise it shows my current schedule!). This Fall is the first time I’ve had a public schedule, and honestly I think it’s a huge improvement. It helps me maintain my pace, and it’s clear to both fans and Patrons about what’s coming up. What you might not suspect is that behind this happy, colorful image is a workflow powered by a LOT of data.

Like most of the world’s data, my data begins life in a spreadsheet (LibreOffice, if you’re curious). I still try to make it pretty here, because it’s easier to read at a glance that way. Above you can see a few of my blog/Patreon and video posts. Thanks to some tricks and tips I found online, I can double-click the checkboxes to toggle them, which also updates the cell color. This way, I can quickly and easily keep track of my work as I go!

Asset packs are a little more complicated. There are multiple assets in a pack of course, so each one gets its own row. Some simple formulas in the “Status” column check the value of the checkboxes in the row, and update the status accordingly. This is even easier than it sounds, actually- The checkbox is just a visual style, and the actual value is either 1 or 0.

The total work elements are calculated by animations * size variants * color variants, and the total is put up top. Additional checkboxes indicate that status of meta images (storefront images, example images, etc.), and whether or not I’ve posted it on storefronts or Patreon.

Still with me? This is where the magic happens! I have an input in the top left for start and end dates, plus some buttons if I want to auto-set the dates. Then just to the right of that is The Big Button: “Generate Schedule.”

Clicking on Generate Schedule runs a macro that looks through all the other sheets in the document, and then prints out a schedule in this sheet with everything placed on the correct date. The status is also listed here for my convenience, so I can look at this to see my overall status for upcoming work instead of looking through each sheet individually.

This is useful in and of itself of course, but only to me. Who wants to look at spreadsheets, right?

So to prettify it and create something usable for my website and Patreon, I wrote another tool (C++ this time) to parse the spreadsheet, which has been exported as a plaintext CSV (pictured above). The tool reads the data, and only cares about the dates and the lines starting with ITEM. It then plots out how large the image needs to be, and does a bunch of software rendering to draw the schedule and save it as a PNG.

I didn’t want it to look boring though, so in addition to color-coding the events on the schedule, I added some beveled edges on each item, outline and drop shadow on the text, and simple dither gradients on the background. The dither isn’t anything fancy for this… It’s just line drawing but it skips a few pixels!

Anyway, that’s the story behind Schedule Generator, one of my most useful new custom tools. Hope you found it interesting! A lot of the drawing code went on to be used in the Sprite Demo Maker from last time. It’s nice to be able to build on stuff like that!

Until next time- I’ll see you with a new Speed Spriting video on Sunday, and more pixel art coming up soon! Check the schedule. 😉

– Will