I suppose I was an indie when being an indie was highly unfashionable and nobody called it being an “indie”. They called it not having a proper job. I did it for many years and I frittered away more cash than was good for a 19-year-old to fritter away and one day I came to the end of my cash and instead of being brave and finding a way to carry on, I got scared and believed in fear and started working for other people.
After a while, it felt perfectly normal. I enjoyed being in the company of people. And in return for my time, I got a fixed amount of money. What I didn’t get to do was choose what I was going to work on. It wasn’t always restrictive, but getting a job is like voting. You make a decision and then you put up with whatever the next few years throws at you.
Sometimes that means that the opportunity for doing what you really love doesn’t mesh with what your “party” (the job) needs from you at that point, so you have to seek that fulfillment elsewhere. If you love martial arts, but you’re a stonemason, you have to do martial arts in your own time.
Well, I want to write a game. Obviously, I work for a large corporation, heavily involved in the making of video games and the consoles that run those games, but the organisation is very large, and there is little opportunity for someone in Developer Relations to code as part of their job. My job is after all, account management, not programming. So I’m obviously not an “indie”. Real indies don’t have jobs and they struggle with income. I have a job and I struggle with my waistline.
Programming is as close to snowboarding or base-jumping as I am likely to get. And yet all I have so far is some gear and very little idea. A modern programmer would eat me alive, but then there is a whole new breed of games designers and programmers who are making small, well-formed games. Perhaps I could somehow blend in.
I make it sound like I’m trying to join a community. Not really. When I started, what community we had was found in magazines and user group meetings. This expanded to BIX (very expensive – calling America in those days was over £3 a minute, though some people were set up PSS so that they could go on BIX and play MUD games) and then the British CIX, which I believe is still around in some shape or form. For years I was either email@example.com- CIX, whose members were known as “CIXen” (taken from BIX’s “BIXen”) was a wonderful, supportive and knowledgable community.
The tools we have available today are shocking in their scope. Shocking to anyone who might have been transported forward 25 years. I’ll tell you what I had for Chimera. A ZX Spectrum, a tape machine, a Microdrive, a black and white CRT portable telly, ZX thermal printer, some paper and pencils. I bought DevPac and found the tape loading so slow that I decided to write a turbo-cassette loader just to re-load the environment faster. Whenever my code crashed, I had to pull the power out and re-load my entire environment, then re-load my code (from Microdrive, thankfully, which was faster, but not that much faster than cassette tape – in fact, my ZX Spectrum turbo tape loader was faster than the C64 1541 floppy drive!)
Debugging was done on paper. I’d write my assembler using pen and paper and I’d single-step, on pen and paper. That’s how debugging was done. It was ages before decent debuggers became available. PDS (for whom I did a stint) came along some years later and totally transformed the development scene. Once reasonably cheap cross-development arrived, we never looked back. We certainly didn’t miss the old ways.
So hard limitations were what stopped games being better. The fact that the entire dev environment had to be reloaded after every crash discouraged experimentation. The whole idea of having a rapid development cycle was some way away. Code was frequently kept in a single file loaded off cassette. It included everything, data, the lot.
The amount of support now available is bewildering. I am currently running 15 programs and my machine isn’t breaking a sweat. There are dozens of processes running. My screen is 1920×1080 and 24″ widescreen with millions of colours.
My Spectrum was 256 pixels across by 192 pixels down, showing its lack of colours on a 12″ portable black and white telly. My single-tasked Devpac assembler/editor could display 32 characters per line. This wasn’t such a big deal when your Z80 code used 3 to 8 characters of course, but comments were at a premium.
I feel like that young man now, transported 25 years into the future and the choices are utterly bewildering. So much so, that I’m distracted by not just the Internet and all that entails, but the endless choices, the obscene power at my disposal, the plethora of languages (no longer limited by assembler, I can use pretty much any language I want) – it has led to a kind of paralysis by analysis and that is the biggest daemon I face.