Back to the Table of Contents
View entry in Giant List
What was your incentive behind learning to write games? What's the story behind your first completed project?
Playing "PET Invaders" while I was at school helped a lot. Back around 1978 there were very few useful things to do with a microcomputer, so who would choose to write business software when games were possible?
I'm not sure what I would describe as my first completed project. I did write a number of completed PET 2001 games around 1978-9, although I made no attempt to sell any–wish I'd thought of it though! Completing projects usually means I need to eat, although I tend not to even start anything I don't intend to sell. As most programmers discover, finishing a game is 90% of the work. It always degenerates into boring, hard work. My first commercial game let me eat for nearly a year. The alternative was to find a normal day job. I suppose the story is that completing games holds off the day I need to do an office job, and I don't like working in an office.
How did you get involved with the C64?
I started programming the C64 because it looked like a big game market, pure and simple. At the time I was actually developing on Amstrad Z80 based machines. Since I'd programmed the 6502 before it seemed sensible to do all my own C64 conversions. In fact, the only work I originated on the C64 was a tape turbo loader, everything else is ported from the Amstrad CPC machines.
What was the inspiration for "Spindizzy"?
The main inspiration was the original Ultimate/Rare isometric games. The game mechanics are obviously stolen from "Marble Madness." I actually had the isometric engine running before I ever saw "Marble Madness" but no one ever believes that.
I think of it more as an adventure/puzzle than an action/rollaround game. The rollaround concept allows enormous problem setting possibilities.
What was the coolest part of the game, technically speaking?
The level coding structures. Levels are "sculpted" with an internal interpreted script. It's more like programming than anything else. Fitting 386 levels into 11K was satisfying.
"Spindizzy" is considered a classic by the people who played it, but it didn't seem to be on the market for very long. What happened?
Activision. They made a number of dubious commercial decisions, like selling the rights for compilation releases almost at once. They made suicidal mistakes, like refusing to pay royalties in time, prompting me to cancel the contract. Frankly I know very little about what happened in the USA. I only discovered that an Apple version existed three months ago; strangely, my name was removed from it.
What's the effect of selling the rights for compilation releases?
It cuts off the sales of the copy that earns royalties, and it irritates the author! Effectively the company stopped doing their part of the publisher/author deal and reduced the royalties they needed to pay by getting a third party to do all the marketing. I will not sign a contract that allows that again.
Did you write any C64 games after "Spindizzy"?
I did a quick port of an Amstrad shoot-em-up: "ZTB." It's a technically impressive program on the Amstrad, but not worth the tape it's saved on on the C64.
What does "ZTB" stand for?
"Zap The Bastards," although that became "Zap The Badstars." We actually titled it "Mission Genocide" and displayed "ZTB" on alternate title screens, because the mothers of the children buying the game might have complained.
What's the story behind the 1990s resurrection of "Spindizzy" for the Super Nintendo, "Spindizzy Worlds"?
This is Activision at its worst again. "Spindizzy Worlds" was in fact an Atari ST/Amiga original game. The SNES conversion had no prior approval; I specifically vetoed it in writing in fact. Whilst it surprised me that ASCII could get it working as well as it did, this port was an absolute disaster. I disown it. Outside of the UK few people have heard of the originals, mainly because Activision UK simply closed down the day after receiving the final masters and source. The major marketing effort seems to have been selling the rights to ASCII.
How well did it sell, compared to the original?
It's hard to tell. It took several years of legal action to even get a royalty statement, followed by several more years to get the royalties. All I know is 80,000 units were made by ASCII. I have no idea how many were actually sold. This is slightly more than the original European "Spindizzy" sales at a guess. Getting accurate figures out of Activision is a little difficult...
You're a fan of the language Forth. What's the attraction?
It allows you to rewrite the "compiler" as you build a program. That lets you do almost anything without leaving the one environment, and it all works on even the tiny machines of the early 80s. Forth also encourages certain ways of thinking about problems that can develop good programming habits. More than that, it's just a neat system.
Have you written any games in Forth? Any benefits?
No completed games, mainly because at the time the speed penalties were simply too large. Running at 10-50% of assembler speed may be OK for spreadsheets, but is no good for games; 110% is always the target. "Confuzion" was originally prototyped in Forth, and all my early Oric games used a Forth macro assembler; there may even be some Forth still in C64 "Confuzion." Nowadays I find macro assembler rather easier to use.
So you still program in assembly? What about C or C++?
Mostly I program in C++. The PC is not an enjoyable target for assembler code. On sensible CPUs, like the 68000, I still find it easier and often quicker to write assembler than C, C++, or Forth. It's the years of practice that make the difference, I suppose. On machines like the Playstation I've seen gcc emit perfect machine code. That is, code I could see no way of improving, at which point avoiding assembly starts to look like a very good idea.
Assembler vs. high level language sometimes mirrors the RISC vs. CISC debate. Having less abstraction between you and the code can make it easier to just get on with the job, instead of wasting time deciding what the correct thing to type is.
If you could fix one thing about the current game industry, what would it be?
Shoot the crooks and incompetents running most of it.
How do you compare programming the C64 and a modern system like Windows 95? Aside from the obvious technical differences, that is.
The biggest difference is probably that after a long painful session fighting the C64 you get something satisfying. With Windows you get the pain without the satisfaction. And the C64 manuals were more accurate. So far I've successfully avoided raw Windows programming, the wxWindows library hides it all.
After cramming 386 levels in 11K, does it irk you that memory requirements have gotten so huge?
It annoys me when poor programming wastes resources. It annoys me when programs can't find enough DOS RAM to run on my forty megabyte machine. Other than that, if the resources are used usefully, who cares? The unfortunate thing is that many PC games programmers seem incapable of writing efficiently. I think the overall poor quality of most PC software leads to complacency.
What games, both modern and classic, do you have the most respect for?
Classic: "I Robot" from Atari. This game was ten years ahead of its time. I still consider it to be the ultimate platform game. For its time–1984–it was a quantum leap in technology.
I love chain reaction games like "Asteroids" and "Boulder Dash," provided they feel right. The Microsoft Arcade pack seriously disappointed me, because the games just felt wrong.
Modern: "Duke 3-D" in DukeMatch. It's just so much fun and so well done. I don't really see many new games, on the PC, and they generally disappoint me when I do. The industry is too busy catering to middle-aged American armchair generals to write the sort of games I like!