Writing code to make videogames has been a part of my life for a ridiculously long time, an absurdly large portion of it. I learned Visual Basic when my age was in the single digits and I like math; programming is second nature to me.
I had a conversation with a non-programmer lead game designer a couple years ago and asked point-blank “how do you design games?”
There was this weird disconnect; I just couldn’t imagine designing a videogame without being in the guts of the code, because it was the only way I’d done it.
The answer was pretty simple, and I doubt illuminating for most people, but it was pretty much “I imagine the designs and then render them using non-programming forms of expression.”
It never feels like what I’m working on is a ‘real game’ until I’ve sat down with code, with an engine, and finally created something. See, even the way I’ve written about it there implies that this end result is ‘creating something’ whereas other acts are somehow not ‘creating something.’ Out of my manipulation of rigid computer logic is born a very specific artifact that, somehow, feels particularly real.
Recently I’ve been doing a lot of pretty low-imagination high-coding work and I find it’s easy to run myself into a feeling of listlessness: on its own code may have a certain beauty to it, but it’s not a living fantasy like the videogame I hope to eventually create using it is.
I’ve tangled with it for long enough to learn that I can’t kill this perspective of mine; identifying the spectre, naming it, calling it out: it helps me recognize when I feel lost in a seemingly endless ocean of enginework.
Because it doesn’t feel like real work, real progress, if it’s not literally improving the engine, making the system capable of working harder, increasing the fidelity and scope of what the code is doing…
Because of this I find I can fling myself directly into this ocean at a moment’s notice. The solutions I find to every problem are code first, design second. This makes for design choices with interesting priorities, but it can also be exhausting.
And more and more, I’m finding I would rather be fingerpainting than in negotiation with a machine.
I’ve come to this conclusion before. Even before issue 0, the idea of the HANDMADEDEATHLABYRINTH series was to get a codebase out quick & dirty so that I could focus on designing levels and enemies and tools, and doing pixel art.
Maybe I’ll try a hard limit on the amount of time I spend programming each day: a coding budget, if you will.
As long as I continue to work for myself, I’ll have to continue managing myself and designing projects that work for me to work on. I’d like to work on more projects that let me spend less time coding, and more time on the fun stuff.
My brain is stubbornly forgetful. Without a nice memorable whatsit, a mantra or a neologism or a rhyming couplet, this whole plan will easily slip from my mind. Unlucky for me, I haven’t yet figured one out yet.
I’ll work on it.