A couple of years ago, I decided that I wasn’t getting enough good, meaty, technical programming done. So I decided to write a computer game.
I locked myself away in an AirBnB for a weekend in Broughty Ferry, and wrote a game! …a very rough, prototype version of a game anyway.
It actually took me 2 years, on and off (mostly off) to complete it to a semi-acceptable level. A long weekend sorting out the sound effects; I sorted out some ‘impossible’ gameplay during a family holiday in Italy. One of my friends came up with the name, and another wonderful musician friend wrote the music.
It’s on the Apple AppStore: ‘Scarecase’.
I’m quite proud of it, but the graphics aren’t quite right. (It’s rough and samey.) And… I’ve not done any actual marketing.
I’ve spent so much time on it already, and I’d like to move on with other projects. It’s caught in a tension between me wanting to declare it ‘finished enough’ and stop bothering with it, versus not wanting to put something out into the world that feels sub-par… And fundamentally I think it’s quite a fun game, so I’d like to give it the best chance of success. But not to spend forever on it.
(Heigh ho. At the very least, I’ve been thoroughly disabused of the notion that I could launch a game and instantly become a millionaire.)

I can relate to the struggle of declaring a project ‘finished enough’, as seen with the author’s experience with Scarecase. I’ve had similar doubts with my own projects, but I’ve found that setting a deadline and prioritizing features helps to overcome the tension between perfectionism and progress. The author’s approach to completing the game in stages, such as dedicating a long weekend to sorting out sound effects, is a useful strategy that I’ve also employed in my own work.