On a whim, I decided that it would be neat to spend just a few hours on learning painting with the computer. I don’t even remember why. Maybe because it sounds like a convenient method to communicate a mental image of something.
Anyway, I wanted to practise on something so I grabbed a screenshot from an early 2000s era video game (because I figured the lower the polygon count the easier it would be to paint) and tried replicating it. Those are the first two images below. I spent a couple of hours on it, but as you can see, it didn’t get me very far.
Then I thought some people can paint most of a scene in a very small number of minutes. They must be doing something different to what I’m doing. I did some research and learned a little about painting shapes rather than details, and implying most of the actual detail through how the light falls on things.1 There’s a weak parallel here to designing software: focus on the shapes, not details. Imply the actual details in how components interact. This mirrors the idea that software architecture is about satisfying non-functional requirements, and that functional requiresments aren’t the part you need to focus on – the business logic will find its way in there anyway.
That resulted in the third image below – I intentionally spent exactly as much time that as on the one before, but with improved technique I did manage to complete more of the scene in that time.
I still haven’t learned about colour, as you can see. I’m not sure I will either. I feel somewhat comfortable with this progress already and I have other things I need to spend time on.
But it was an interesting experience and I recommend you try. I certainly look at things a little differently now than I did before. (And this is coming from someone who used to do a lot of photography, mind you, so I wouldn’t really say I was blind to composition before, either. Just that while photography in some sense is subtractive, painting is additive.)