Spray paint is my new favorite feature of Microsoft Paint. In all the other drawing programs I’ve tried, nothing quite replicates it. The only problem is that the largest brush size is tiny. I’ve managed to work around it so far, but yesterday I had a drawing idea which really requires a larger brush. I want a brush large enough to cover the entire canvas. Enter Spray Paint: my custom tool to paint like in MS Paint, but larger. I could have just used Aseprite, or probably even GIMP, but I wanted to make my own tool. Because making tools is fun and I like getting sidetracked. Also, there’s something about the authenticity of Paint drawings which I feel is lost when I use other tools. It feels less fake if I make the other tool myself. I’ll also take any excuse to make things in Gamemaker.
Now’s the part of the show where I try to convince myself that this is going to be a short project.
The UI only has 13 interactive elements (excluding the canvas): 6 buttons, 6 sliders, and 1 color picker. I know from experience that this kind of DIY-from-scratch interface design can get sticky fast*, so I’m trying to keep things ultra simple. I’m expecting all sorts of weird issues and edge cases to pop up, but at least I’m limiting their available surface area. (*see “PICO-8 Text Editor with Effects, #26” and #27.)
Here’s what I added today:
- The spray paint brush itself (thanks to aioobe on stackoverflow for the random circle distribution code.)
- Resizing the brush
- Panning the canvas
- Zooming in and out
- Saving the image
Some things still on the list:
- User interface
- Opening images
- Color picker
- Brush preview
Some big features I’m skipping:
- Undo/redo. I’m okay with sacrificing these because the point of using spray paint is the imprecision. Also they’re hard to implement.
- Resizing the canvas. Gamemaker doesn’t natively support this and I don’t feel like fighting it.
- Scroll bars and a zoom slider. Scroll bars are tricky and I don’t like using them in drawing programs. Same for zoom sliders.
That’s everything so far, see you tomorrow!
Your data is processed in accordance with my privacy policy. Comments are manually approved and may take a while to appear.