Steve Crow now works at Blizzard Entertainment, but once upon a time he was a classic bedroom coder, creating a string of popular games that many 8-bit owners feel in love with. His Ultimate-styled arcade adventure Starquake is generally considered by many gamers to be his best early release, so we were keen to catch up with Steve to find out how it all happened.
Dropzone borrowed elements off Defender; Namtir Raiders was essentially Space Invaders; Tehkan World Cup was to thank for bringing Sensible Soccer into our lives. It’s a classic tale that has been heard many times in these pages. In the same way that a musician might be inspired by their favourite guitarist, or an athlete by a gold medallist, many programmers would teach themselves to code by looking to the games they enjoyed playing and that had often turned them onto gaming in the first place to inform their work – replicating, cloning and building off these games to hone and cultivate their own skills and creativity. And so, seeing Ultimate games as the pinnacle of Spectrum gaming, Stephen Crow became greatly influenced by the Leicestershire developer.
Stephen’s first Ultimate-inspired game was the top-down maze shooter Wizard’s Lair, a game he designed by combining ideas taken from Atic Atac and Sabre Wulf – though amazingly, when you consider how similar both games look, Stephen never actually owned the former. After finishing Wizard’s Lair, he was left to find a publisher for his game and a new project to get stuck into next. After turning down an offer from Thorn EMI, Stephen decided to go with Bubble Bus Software, which had just started up in his hometown of Tonbridge. It was also around this time that he spotted a brand new Spectrum game from Ultimate in a magazine.
“I saw a picture of Underwurlde and thought it would be cool to work on a huge side-on map game next,” Stephen explains. “It seemed to open up a lot more gameplay possibilities, And that’s basically what inspired me to do Starquake. I saw one picture of Underwurlde in a magazine and wanted to do something similar, but I wanted to set it in space and for it to involve technology. I never owned Underwurlde. I don’t even think I ever played the game; I just sort of understood what the premise of the game was and worked from there, from seeing a screenshot.”
Like Wizard’s Lair, Starquake had a second Ultimate influence – albeit one that was pretty well concealed. “I am not sure anyone ever picked up on this, but the inspiration for BLOB came from the Lunar Jetman cartoon in Crash magazine at the time,” Stephen reveals. “I just loved Crash magazine. Before I even got a review in the magazine of any of my games I would read Crash every month. It seemed like the people at the magazine had a really good sense of humour. Well, I remember reading the Lunar Jetman cartoon each month, and seeing this little robot guy who was a background character. It wasn’t even a sidekick – sometimes the artist just drew that little robot guy and it was a real minor part of the story. I thought I’d try a character based on him and see what it looked like. It looked really goofy and I wanted the main character to have a goofy, humorous feel. Also, a sphere was an ideal shape for a character to show rotation as it turned from left to right.”
Taking inspiration from the little bug-eyed droid that occasionally appeared in the panels of John Richardson’s popular comic strip, Starquake started life with a central hero from the outset. BLOB (Bio-Logical Operated Being), as Stephen christened him, was the very first element of Starquake to be designed and created. As a result, BLOB informed nearly all of the gameplay and design choices in the game.
“I remember just having a straight platform at the bottom of the screen, and I had BLOB. I animated him rotating and then his legs moving, and him rotating and walking back and forward, and just kept on playing with that until it felt right,” explains Stephen. “After that I started coming up with other abilities he could do. The next thing I did was to get him to go into the elevators, going into them and how he came out the elevators and getting that feeling right. So I built a basic elevator route, where BLOB would walk in, get drawn up the elevator and then jump out. Then I worked on the gravity and how fast he’d fall, repeatedly running back and forwards, going up the elevator, jumping out of the top, watching him fall, and kept tweaking the numbers until it all felt smooth. All the other things, such as the zapping rays and the teleports and the jet pads, I just kept adding and adding.”
Stephen built his Starquake construction set over the course of a few months and used it to test and hone BLOB’s abilities and the various game mechanics until he was satisfied with how everything in the game felt. By the time he had included all the features that he wanted in the game – a process of around six months – his testing ground had swelled to around 16 screens, and BLOB was able to generate and make use of his own platforms, was trained in the art of using elevators and teleportation, and could even hop onto rocket pads and fly around the playing field. This methodical approach to Starquake’s design, which Stephen had first applied to Wizard’s Lair, would prove immensely beneficial later on in the game’s development. Once all of the aspects of the game had been tested and had been proven to work inside the confines of the construction set, expanding it out into a huge map was a time-consuming but relatively simple task.
“I created the whole world in about four to six weeks – it wasn’t long. I set myself a target of 20 screens a day and that’s all I focused on. I knew at that point that all the gameplay worked and so, when I was creating it, all I was doing was putting the gameplay elements into different combinations to make it fun for players. For the look of the world I came up with things like chemistry models, as I wanted to make it look as if the planet was made up of molecules, and also incorporated rocks and weird-looking plants. I just drew inspiration from lots of different things. Because it was an alien world I was basically free to do whatever I wanted, which is kind of the nice thing about sci-fi.”
By the time Stephen had moved on to Starquake, he had become far more proficient at programming on the Spectrum. Learning how to program with his earlier games, Laser Snaker and Factory Breakout, then perfecting his skills with Wizard’s Lair, when he came to write Starquake Stephen found that he had much more time to concentrate on the gameplay and also better understood the inner workings of the Spectrum and how to get the best from it.
“To create the game I used a Tatung Einstein computer linked to a ZX Spectrum via a custom high-speed RS232 cable. I would write and assemble the program code on the Einstein and then download it to test on the ZX Spectrum via the link. The Spectrum hardware was very basic and didn’t have anything like hardware sprites. The C64 had hardware sprites. I can’t remember if the Amstrad did but the Spectrum did not, and so with the Spectrum everything had to be done by your own program; it had to remove all the pixels of the sprite and then move it to the new position and then redraw every pixel back onto the screen. That took a lot of time. The sprite routine alone would probably take up a third of all the processing power while the game was running, and that routine was so important that I must have rewritten my sprite-drawing program a dozen times. I’m not joking – you would go through and think of another way. Actually, every machine code instruction took up several T states [time states] and I had a book that told me which instruction took how many. Some would take up four time states on the Spectrum – that was the shortest instruction – while others could take up to 16, so for every line of code I looked at how many time states it used and tried to figure out ways of writing the sprite-drawing routine so it would take less time states and thus be able to draw more sprites or draw them quicker.”
Stephen knew that for an ambitious game like Starquake to work and be a success its world had to animate smoothly. To achieve this he locked the game’s frame rate to always run at 50 frames per second. This basically meant everything in the game – the sprites, game logic, keyboard commands and music – would refresh in a single frame, 50 times every second.
“A lot of games at the time were running at 25 frames per second and it just didn’t give you the same feel, I felt. It just didn’t feel as smooth,” says Stephen. “At the time Ultimate games were the benchmark of quality and smoothness, and I felt any game I created had to at least measure up to that. What is interesting is the way that those old-fashioned tube televisions worked, as it would start drawing the picture from the top, and draw every horizontal line all the way to the bottom. And above the top of the screen there was something called a VBLANK area, where it started the frame but nothing started drawing yet – I believe they used it for things like Ceefax. Anyway, how I programmed Starquake was as soon as that frame started, before the television had even started drawing the top line of the display, I drew all of the sprites first so that before the television had gotten to drawing halfway down the picture the sprites were removed and redrawn. That meant nothing ever shimmered or flickered. If you hadn’t redrawn the sprites before the time the television had gotten to that sprite, it wouldn’t appear right. It would flicker because it was getting erased and redrawn as the television scanned across it.”
A common bane for many Spectrum programmers was its poor colouring-in skills. The machine was hamstrung by a limited colour palette, and when several moving colours shared screen space it often caused sprites to clash like bad-tempered Eighties sportswear. So how did Stephen succeed in making Starquake look so colourful and get multiple colours to behave so well on the machine?
“What I did is every time I designed the graphics or any of the stationary graphics – the things that don’t move on screen – I thought about how the colour was going to work. Basically, you could only have a single background colour and a foreground colour in any 8×8 square. The colour resolution on the Spectrum was far lower than the actual pixel resolution, so all the stationary graphics were very carefully designed around this limitation so that I could make things look colourful but not get those awful blocky squares of colour that you saw in some games. With all the moving sprites, as you can’t control when a green alien moves in front of, say, a yellow alien, you had to think about which one would take precedence, and there wasn’t really any good way of doing that. I think I always gave the precedence to BLOB so that he always stayed white, even when something was on top of him. There were some things you could get around and other things you just couldn’t.”