I recently sailed past my 18-year anniversary at Autodesk. Part of me finds this scary – in this world of post-millennial job-hopping – but then I really enjoy what I do. Long may it last.
The company has grown a great deal since I joined (I had to look it up, but it seems that over this period we’ve gone from around 1,800 employees to around 7,500, with an additional 1,000 or so temps and contractors), so it should go without saying that I haven’t met or interacted with the vast majority of the people who work at Autodesk. But every so often I stumble across someone with a really interesting story who works for the company (here’s one such example from last year).
Some time ago I was reading an interesting internal blog post from a colleague in the UK, Ian Bell. My curiosity piqued, I dug into Ian’s bio only to find out that, as an undergraduate at Jesus College, Cambridge, Ian co-wrote the genre-defining computer game Elite along with fellow student David Braben.
People who aren’t familiar with this game – I played it occasionally, myself, on the BBC Micro and the ZX Spectrum – may not fully appreciate the significance of this fact. Just for starters, Elite is recognized as having been the first ever computer game to have 3D wireframe graphics with hidden line removal (thanks, Wikipedia :-). And its open-ended gameplay went against all conventions in the gaming industry, at the time, which makes it all the more incredible.
This was back in 1984, folks, so Ian and David wrote the game in assembly language, maximising the use of their initial platform’s mere 14K of memory. One innovation driven by this extremely limited environment was the procedural generation of worlds (in fact of entire galaxies), something that’s become commonplace in modern games even with a significant reduction in system constraints.
Incredibly ground-breaking and important work: Elite is widely considered to have been one of the most influential games in the history of the gaming industry, selling approximately 600,000 copies for various platforms at a time when the population of gamers was far smaller than it is today.
Here are some background videos about Elite, to help people appreciate the magnitude of this achievement. The first one is here:
Iif you liked that, you can find the second one here (I decided not to embed both parts directly in this post).
Ian kindly agreed to being interviewed for this blog. The interview was conducted by email, so the brief Q&A isn’t quite as fluid as I’d have liked, but it’s nonetheless interesting to hear at least a small part of Ian’s story. My words are in bold, below, although I’ve also made minor edits to Ian’s words and have added a few links to clarify the use of certain terms.
Thank you for agreeing to answer my questions, Ian. What’s your role at Autodesk?
ASM [Autodesk ShapeManager] Code Monkey. The official title is “Senior Software Engineer” but I’m not senior other than greyhairwise and don’t consider code maintenance to be “engineering”. Engineering is applied physics as far as I’m concerned. Unless it’s Chemical Engineering. Logic, math, and matter. At ASM we just do logic and math, with ever less math. I fix bugs in a 3D geometry kernel basically. Occasional minor code adaptions.
How long have you been with the company and what led you to join?
Five years. The job mentioned geometry and I’m increasingly obsessed with geometric algebra. I thought ASM was the perfect place to introduce GA into CAD and I’ve been based near Cambridge for decades so it felt right at the time.
Does your current work relate back to how you got started in software, at all?
No. Not at all. That was real programming. Real innovation.
How did you and David meet?
Jesus College Cambridge formal dinner.
Did you hit it off from the beginning? What common interests formed the basis of your relationship?
We were both into computers. Both using 8 bit 6502. Common Sci Fi interest. I was into Science Fiction at the time.
At what point did you decide to collaborate on a project together?
End of the first university year. We started it on our first Summer Holiday. Quite a long holiday at Cambridge then.
How did the collaboration work between the two of you in terms of division of labour?
We just sort of agreed who’d do what. And mailed each other floppy disks. Initially I was stronger on the math and David stronger on the hardware but we sort of caught each other up by the end.
What challenges stick out when you look back at the work you did on Elite?
Memory limitations. That was the big one. Hours and hours spent saving bytes. Not kilobytes. Bytes. In single figures. The split screen display was also tricky because every time we moved to a new 8-bit platform, we had to figure out a completely new way of doing it.
Who came up with the name Elite?
I can’t remember. It took a while. I was fond of “Black Starlit Grave” which was a song by a Canadian Rock band Saga and David liked “Chalice” but we bounced around for a while before realizing that if “Elite” – which we were thinking of mainly as a good short name – could be the top rating of a score replacement, then it was obviously right. We didn’t argue about “Elite” once we’d thought of it.
With the benefit of 20-20 hindsight, would you have done anything differently? If you had a time machine, what advice would you whisper in the ear of your twenty year-old self?
Don’t trust David to play fair by you.
After the success of Elite you were in a position to not have to work for some years. What kind of projects and research did you undertake during that time?
Graphics: particularly adaptive cone-marching. I coded up a nice flowing mechanics game with psychaedelic graphics but couldn’t keep up with the hardware. Nowadays you’d just use OpenGL and knock up a phone app. Quantum mechanics. Universal emulation. Procedural terrain. Relativistic gameplay.
What areas of research interest you most, these days?
Geometric algebra, which encompasses my earlier QM and GR interests. Folded surfaces. The only interest I’ve developed while at Autodesk is functional networks, Artifical Intelligence based on Scheme as a Cloud OS.
I read in your bio that you were originally planning on studying Artificial Intelligence at PhD level. It seems that field continues to hold your interest.
I’ve not followed the field but the notion fascinates me. Particularly the tie in with theoretical physics. Nature as a potentially “sentient” maximally frugal complexity engine.