Last November, I started telling a few people about a new game I’m making. It’s called Horde, and it’s very much an experiment. It started out as a proof-of-technology for a different project, which I want to work in a very specific way; I wanted to see if I could get Twine to do certain things with loops and time-based variables, and to use a different project to learn. Something that would give me a tangible thing to play and to work on, while also learning new skills.
But as it grew and got more ambitious, Horde started to make sense in its own right. It’s an incremental game, a sort of text-based Cookie Clicker, in which you build a horde of barbarians and send them out on increasingly peculiar errands. It’s a tricky thing to build, mechanically, especially if you’ve got no experience of coding, but macros and new features in Twine make it possible to build this sort of thing on the shoulders of work done by other excellent people who know what they’re doing.
So I put it up as an alpha build. And suddenly people were playing it and telling me about it – giving me incredibly useful bug reports that helped me sort out some tricky problems, but also suggesting new avenues for development, giving me ideas, being excited about what was coming next.
That’s an incredible feeling, by the way. It’s a gift, when people play your unfinished work and give you thoughtful responses. Not all the feedback is always useful but the fact that anyone cares enough to offer it is a sign of support for what you’re doing, and that was enough to tell me that Horde is worth carrying on with, worth trying to turn into something finished, or at least vaguely feature-complete. (Whatever that means.)
I started putting up a new build every week, or trying to. I started making sure that I gave it a little time, a couple of hours at the weekend or an evening, and that time started to expand. I put up little incremental tweaks, and then a few bigger updates, and then found myself rewriting it to make the coding less weird and icky now that I understood more about what I was doing. Then, in the middle of an attempt to make a particularly sticky system, in a problem to which there’s no right answer that will make it work perfectly how I want it to, I hit a wall.
I stalled. I’m still stalled, a month later. I hit a page full of red errors, and instead of trying to fix it, I walked away. I’m not massively proud of that reaction. All that work is still there – all those hours I’ve poured into it have made a solid base to build on – but I hit a problem that felt insurmountable and as yet I’ve not managed to pull it apart into small enough chunks to work on.
Learning to code is hard, especially when you have no directed support; learning anything around the edges of a more-than-full-time, stressful and pressured job is even more difficult. Creating things when you spend a substantial part of your work day creating is tricky, too. Tiredness creeps in. Things distract you. Often, and perfectly legitimately, it’s quite nice to stop working, even when that work is self-chosen and self-directed.
But I can find time, or I can make time, if it’s what I really care about. That’s always been true. Horde is something I care about making, even though it’s a very silly game and a draftwork, because enough other people thought it was worth playing and talking about. Hopefully by this time next week it’ll be at least a couple more hours closer to completion. Even if that’s all, that’s a start.