This week saw the 30th anniversary of the launch of Sir Clive Sinclair's legendary ZX Spectrum - the more powerful, full-colour follow-up to the seminal ZX80 and ZX81 - and a genuine gaming phenomenon.
While the Spectrum's place in gaming history is indisputable, it was not the only computer launched in 1982 that offered a generational leap in power over its predecessor; later that year, the brilliant Commodore 64 arrived to replace the lacklustre VIC-20. Coming in at over twice the price of the 48K Spectrum, the C64 wasn't cheap, but it was packed with custom hardware clearly aimed at offering arcade-style gameplay to the home computer audience. While the Spectrum dominated sales in the early 80s, the C64 began to catch up and thus the scene was set for the first great platform conflict: the basis for thousands of classroom arguments and countless playground brawls.
So with the benefit of hindsight, which was actually better - the ZX Spectrum or Commodore 64? On the face of it, from a technical perspective there's no real contest here. While the Spectrum enjoyed a resolution advantage, the C64's VIC-II graphics chip offered hardware scrolling and sprites that weren't available on the Spectrum, while the impressive three-channel SID chip annihilated the efforts of the poor single-channel speaker embedded in the Sinclair machine - and it was the C64 that helped define the chip-tune musical genre that is still going strong today. In short, one machine was designed primarily with home computing and programming in mind, while the other had advanced custom hardware dedicated entirely to smoother, richer graphics and vibrant sound.
"Commodore spent a huge part of their efforts developing the audio and video chips. Why else would you put them in there if it weren't to make games?" says ex-ZZAP! 64 reviewer, erstwhile C64 games dev and current studio head of Ruffian Games, Gary Liddon.
"The VIC-II chip seems to be built off of concepts that were already fairly common in arcade machines; mainly sprites and smooth scrollable screens made from character sets. Contemporary arcade titles like Scramble already had similar capabilities."
Jason Page, the ex-C64 coder and musician for developer Graftgold, now heading up Sony Europe's audio R&D department, concurs with Liddon's assessment.
"I'd think that if the C64 was aimed at education and learning to program, then it certainly got it wrong - C64 BASIC was essentially a load of POKEs. I'd say that there was certainly an 'entertainment' element in the C64 design. If Commodore expected it to be used for games, I guess that's likely," says Page.
Looking at the two major HD consoles of today, just imagine the cheaper Xbox 360 launching without any kind of graphics hardware at all, while the PS3 retained its Cell/RSX CPU/GPU combo. The technical curiosities and tweaks in visual effects work that tend to separate cross-platform games of our era would expand into an enormous gulf of difference if the same game had to run on one system with no graphics hardware support at all. To a certain extent, that's how it was back in the day on the Spectrum and Commodore 64.
A good example of a comparison like this would be Graftgold's legendary shooter, Uridium. Launched on the C64 back in 1986, it featured hardware scrolling running at 50Hz (or 60Hz on the US C64), colourful backgrounds and hardware sprites for the main ships, enemy attack waves and bombs - and with a bit of technical trickery, coder Andrew Braybrook also managed to pull off multi-layer "parallax" scrolling. By contrast, when Uridium eventually appeared on the Spectrum courtesy of talented newcomer Dominic Robinson, it had lost much of its frame-rate, colour, sound and even view distance. The conversion was warmly received at the time and considered something of a technical marvel - but by any kind of measurable criteria it was not a patch on the original, designed to exploit the strengths of the C64's custom silicon.
Cross-platform development back in the day was very, very different to how it is in the current era of course. These days, teams up to and in excess of 100 people work on today's AAA titles and the common ground between PC, PS3 and 360 means that the same code can be run on all platforms, with machine-specific optimisations implemented to get additional performance and effects from each device. It's all a far cry from how things were done on Spectrum and Commodore 64.
"Yeah, very little to no shared development at all," remembers Liddon. "As for different teams; just two different people in a lot of cases. Early games were almost completely the work of single coder."
Take a look at virtually any coin-op conversion of the era and sometimes you'll see entirely different games with only a passing resemblance to each other, and indeed to the arcade original; coin-op titles were often more interpretations rather than conversions as such. Source code was rarely shared between developers, with only the rarest exceptions; it's believed that the C64 version of Jon Ritman's classic Match Day football game was a line-for-line manual port of the Spectrum assembly code, something that must have been a painstakingly difficult task. However, as the generation wore on, dev teams took shape and steps were taken to tackle duplication of effort.
"At Graftgold, there was certainly more of a team spirit with cross-platform development. I guess this is what helped the team produce so many quality titles," recalls Jason Page.
"Graphic and audio tools allowed for a certain level of cross-platform integration. Using the programming system PDS (PC based assembler, connected to a target platform - hardly ground-breaking today, but very much so in the late 1980s) also allowed for code to be ported in an easier manner, although nothing compared to the relative simplicity involved in moving high level (C/Java) based languages from one machine to another that we see today."
Available RAM is often mentioned as a reason why we see differences between the same game running on Xbox 360 and PlayStation 3, with memory issues often cited (especially around the PS3's launch period) for missing features and downgraded textures. In theory, the 48K vs 64K difference between the C64 and Spectrum should have been an issue, but when the differences between the core architectures was so pronounced, memory issues became a much lower priority.
"I don't think it made a massive difference. It's a bit of a shame that the Speccy had the least RAM as it could have definitely made more use of it. A pretty standard approach to optimisation is getting efficiency by using memory to pre-compute things," says Gary Liddon.
A good example of this would have been the work of Spectrum maestro Jonathan "Joffa" Smith, who produced some of the most technically impressive titles on the system, including the classic Cobra, which even featured parallax scrolling. Smith partially solved the lack of hardware scrolling by storing all the background visuals several times over in RAM with single-pixel shifts - a technique Jon Ritman wasn't impressed by, but that clearly had its advantages, as Gary Liddon explains:
"Pre-shifted graphics help you get smooth movement with a lot lower CPU cost but it chews up a lot of memory. It's especially a shame as the majority of 48K Spectrums actually had 64K in them. It was cheaper to fit 64Kbit chips but the memory just isn't wired up and completely inaccessible. On the other hand a lot of early C64 titles didn't use a lot of the memory available. It was slightly awkward (though not terribly) to get at some of the RAM shadowed by I/O registers, screen memory and ROM so there's quite a few titles that just didn't bother," Liddon says.
They say that necessity is the mother of invention and perhaps that was the greatest strength of the Spectrum. Give developers a hardware graphics chip with scrolling and sprites and it makes sense to use them. On the Spectrum, developers were confronted with a CPU, some RAM and... not much else. The lack of hardware actually drove innovation - something that certain developers embraced, resulting in some incredible results like the isometric 3D games pioneered by Ultimate Play the Game, such as the stunning Knight Lore.
"I think isometric games fell out of the lack of video features on the Spectrum. Having no hardware assistance to do anything isn't great start for writing games but does have the advantage of not driving you down a specific path," muses Gary Liddon.
"If the hardware isn't heavily suggesting side-scrolling 2D games then you may as well try anything, and I think that's a pretty good reason why the Spectrum was the birthplace of that kind of gaming."
Jason Page concurs that the availability of hardware acceleration shaped the direction C64 developers would more likely take, while the "blank page" approach with the Spectrum helped push for a more innovations in game style, including more of a willingness to take a shot at 3D gaming, be it isometric or vector-driven.
"C64 game programmers made the most out of the video hardware that was available to them. This meant that it was always more likely for games to feature sprites/user defined character sets and the like, rather than going in directions that would require more CPU for graphic rendering," he says.
"Even outside of the realms of vector or isometric 3D, Spectrum programmers always had the overhead of masking sprites 'by hand', rather than having the luxury of dedicated hardware. Perhaps this meant that Spectrum games took a few more chances, due to the lack of dedicated hardware than the C64 games did? Just a thought..."
The Spectrum's 3.5MHz CPU - in terms of clock speed at least - comprehensively bests the 1.023MHz CPU in the Commodore 64 (actually clocked at 0.985MHz in the PAL unit), but speed is only an indicator of performance and isn't always reflected in actual applications. Simon Brattel, responsible for groundbreaking Spectrum games like Dark Star and Hall of the Things weighs in:
"The faster CPU is something of a myth, there's less difference between the 6502 and Z80 than people used to believe, performance-wise. It needs to be understood that the 6502 was a much easier chip to design displays around, and this was because of the way it handled memory - the Z80 had unpredictable timing with different instructions taking different numbers of clocks, it was basically using the memory bus all the time," he says.
"The 6502 was far simpler from a hardware point of view in that it had a fixed memory timing and only used the bus half the time - this meant that when using the 6502 (and later the 6809) a simple hardware design could give the processor access to the memory half the time and the video hardware the other half. With the Z80 the timing was far more complex, though people later worked out some neat tricks to get round that... I suspect that isometric games would suffer a performance impact on the 6502 because the algorithm requires several memory pointers to be in use at the same time, wandering through the pixels, masks and screen. The Z80 probably does have an advantage in that sort of code."
Gary Liddon offers up an alternative view for the Spectrum's perceived strengths with vector 3D and isometric-style gaming.
"For vector work I really think the Speccy's screen memory layout has a big advantage over the C64's much harder to get to grips with format. Even something simple like drawing lines is far more involved than it needed to be. A Z80's bigger register set and relatively efficient 16-bit math probably helped quite a bit for this sort of programming. One other downside of the C64 CPU is the VIC-II steals quite a few cycles as well. Great as it is, those capabilities come with a cost at the expense of 6510," he says.
"That said there's some clever 3D work done on the C64 that uses a bunch of platform-specific tricks to deliver great games. Encounter is probably the best example of a great 3D game you just couldn't do on a Spectrum."
"Fundamentally, software is more flexible than hardware. So given adequate processing power it's nearly always easier to solve any given problem in software rather than in hardware," offers Simon Brattel.
"The problem is the weasel word in there: adequate. Back in the early 1980s, the processing power was not adequate, processors were very slow, memories were small, and consequently even fairly simplistic hardware could perform functions that could not practically be performed in software... This introduced the question of programmer skill. If the programmer was competent they'd be writing code in assembler and using algorithms that were efficient - they'd also know what the limitations were, what sort of performance was achievable and then would structure the game around them."
A good example of this is Quazatron from Graftgold. Following the huge success of Andrew Braybrook's C64 classic Paradroid, the demand was clearly there for a Spectrum version, but a basic conversion simply wouldn't have suited the platform. Instead, coder Steve Turner transformed the game into an isometric 3D title with the same basic formula, but an entirely different presentation. Gameplay elements were also beefed up. The "hacking" mini-game didn't see you taking over enemy droids as per the C64 original, but instead gave players the chance to steal specific parts - powertrains, weapon systems and additional devices. The more conclusive your victory in the mini-game, the more likely it was that captured parts could be incorporated into your systems.
The only scrolling in the game was a push-screen style effort that was horrendously slow and jerky - a good example therefore of the programmer working around limitations of the platform and of their own ability; put simply, there's no way could Graftgold have used scrolling on the Spectrum at this point to produce a game as good as Quazatron was in its final format. It's telling that Turner's next game - Paradroid-meets-Gauntlet epic Ranarama - reverted to a flip-screen mechanic that suited the Spectrum and was used in a multitude of titles designed first and foremost with the Sinclair hardware in mind.
Curiously, many of these games underwhelmed when they eventually reached the Commodore 64. The Spectrum was locked into a single 256x192 resolution with its signature attribute clash (8x8 blocks could only ever host two colours), while most developers used the 160x200 mode on the C64, which offered more colour options at the expense of much chunkier pixels. However, the C64 also had a "high res" 320x200 mode with its own colour restrictions. Direct conversions should have been simple then, yet oddly, the final games rarely impressed.
"You would have thought that a straight port of the game logic would have meant that, at least, with a semi-decent bash at the graphics and sound, the games would have stayed intact. Somehow this just didn't happen," muses Jason Page.
Gary Liddon offers a technical explanation for why Spectrum conversions to the C64 lacked a certain something:
"The C64 had a very Spectrum-like screen mode so in theory straight ports should look very similar. That never was the case though and games that took that approach looked pretty horrible, especially on a telly. Anything stippled - often your only choice for shading images on the Spectrum - caused a lot of unwanted colour interference when transplanted to the C64," he says.
"The only other option was one of the chunkier, lower-resolution modes and that always looked a bit clunky compared to the more detailed Spectrum original. These machines are so intrinsically defined by their hardware capabilities you really need to design from the ground up for them, so it's pretty rare for any straight ports of already great games to not fall short of expectations."
The hardware differences were so big that established Spectrum coders often had real issues when turning their talents to the Commodore 64. Ultimate Play the Game's debut C64 offerings didn't have anything like the same level of polish and graphical accomplishment as its Spectrum masterpieces.
"I only really remember Entombed on C64. I can't believe that it had anything to do with the development team who wrote the Spectrum classics," remembers Jason Page.
"Saying that, I can't believe its development team had ever seen another C64 game either: its garish colour scheme and use of expanded sprites helped create an experience that really wasn't up to the expectations of the C64 gaming audience at the time."
As the hardware matured, games developers gradually began to push back the boundaries of what was possible. Gary Liddon, a games reviewer at Newsfield working on Crash and ZZAP! 64 before moving into development with software house Thalamus, was able to assess incoming titles not just for their gameplay, but also for their technological accomplishment - an '80s Digital Foundry, if you will (tech interviews were par for the course during his ZZAP! tenure).
"Funnily enough, some of the games I most admired were ones converted from more powerful platforms," Gary says. "A lot of the LucasArts Atari home computer games were really special. Eidolon, Rescue on Fractalus and BallBlazer all blew me away. In some ways they're a little like Spectrum games in that they're out of the ordinary and not designed by the dictats of the machine's hardware limitations."
In common with many of the Newsfield journos of the era, Liddon produced work for both Crash! and ZZAP! 64 - the two undisputed bibles for 8-bit gaming in the mid-80s (before the likes of Rignall, Penn and Jarratt departed). Despite his C64 roots, Liddon was deeply impressed by some of the work being done on the Sinclair hardware too.
"There are a lot of amazing technical feats on the Spectrum. Keith Burkhill's work in particular was pretty awe-inspiring. The Ghost and Goblins conversion he completed for Elite amazingly manages to pull off smooth-scrolling worlds with a bunch of sprites by some super-tricksy display routines," he remembers enthusiastically.
"They seem to be following the raster down the screen and only updating graphics the beam has just passed. My mind boggles at the idea of writing something like that. This will probably be argued down but I think the Ghost 'n' Goblins plays better than the Commodore version, despite the C64 being eminently more suited to that kind of game."
Asked about great technical achievements on the Spectrum, Simon Brattel reckons "getting a tape to load" is up there (!) before moving on to discuss one of his own titles.
"Well, first I have to talk about Halls of the Things even though it's one I was involved with - it's pretty much the only computer game of ours I ever liked. Far and away the best thing we ever did... That game blew everyone away, got Game of the Year in Sinclair User (beating Manic Miner and Jetpac) and did a whole load of things that we now take for granted for the first time...
"What was special about it? Everything. The gameplay was wonderfully balanced, it was the first 'sandbox' game in that you could play it in all sorts of different ways - you didn't actually have to fight the Things, though everyone did. It was the first attempt at a real simulation, where objects that aren't visible on screen still exist and are active - people used to consider it unfair when they were killed by something they couldn't see... 'The point is they can see you' didn't seem to console them!"
Brattel is probably best remembered for Dark Star, a super-fast, smooth, vector-driven 3D space shooter for the Spectrum that came bundled with a complete teletext simulator - Spectacle - that could only be unlocked with a special passcode. However, the coder himself doesn't especially rate his well-regarded blaster.
"Dark Star gets fondly remembered by people, but to me it was firstly a graphics demo and only secondly a game, and a bloody hard slog to write, with lots of fiddly optimising of line-drawing code. Tedious, and not a particularly interesting game. Spectacle was far more amusing."
Joffa Smith, who sadly passed away in 2010 aged just 43, produced some of the most technically impressive games on the Spectrum, including the aforementioned Cobra, and arcade conversions such as Green Beret, Terra Cresta, Mikey and Hyper Sports.
"The Spectrum didn't have any redeeming features at all, really, but it was fast. It was fun trying to invent new ways of doing things. Of course everyone hated the awful sound and the dreaded attribute clash!" Smith said in a 2001 interview with ZX Golden Years.
"I'm proud of my 'Cobra-Scroll' routine. That was quite clever. The Spectrum's 'stack' was pointed at the screen and graphic data was 'pushed' onto it, drawing sixteen pixels with one instruction. Some of the in-game sound routines where also good."
Smith talked more about his hardware-defying techniques in a 2009 interview with ZX Spectrum Games.
"The Cobra scrolling was just a programming exercise that was shoe-horned into a game. I wanted to do a Mario-style game on the Spectrum and it just so happened that me and musician Martin Galway ended up in various cinemas and private in-house mini-cinemas in London, and had private showings of films before their release, and I had to pick between Top Gun or Cobra. I didn't like either, but I thought I could make fun of Cobra - and get away with it.
"The parallax FX was just a 'bit' 'rolled' at half speed and written to the 'blank block' to produce a vertical line - other FX could have been done - but this was okay and I was running out of time to finish the game. Given more time I could have done more. I wanted to have a bitmap picture in the background! But it looks okay... the scrolling looks smooth because it is quick! But with many restrictions! Hopefully no-one notices these imperfections - part of the design! HA!"
Of course, it wasn't just the Spectrum being pushed into new graphical territory. The latter years of the Commodore 64 hosted some hugely impressive titles, with effects achieved mostly through utilising the VIC-II graphics chip in a range of innovative new ways. Pretty early on, developers found they could relocate sprites into the borders - a nice trick (or "desperate" as Simon Brattel calls it) but with limited uses in-game. Regardless, coders began to realise that the idiosyncrasies of the graphics hardware could in theory be exploited for improved graphical effects.
"Sprites in the border are a bit of a joke in some ways - a great place to put your score line but beyond that not all that useful," remarks Gary Liddon.
"It meant that I couldn't see my score in Delta - those lines were hidden off the top of my TV screen!" Jason Page complains, before going on to discuss graphical techniques that helped revolutionise later C64 releases.
"Multiplexing sprites was the biggest 'trick' for game developers. Looking at the demo scene, there are so many clever tricks now. Shame I didn't know them at the time! Near the end of the C64's life, I remember seeing hi-res sprites (black mono outlines, placed on top of blocky multi-colour) and FLD (Flexible Line Difference) allowing for a screen to be stretched in the Y direction, and parallax scrolling using four character sets - as used in the game Hawkeye. The amount of bugs/features of the VIC-II meant that developers were always finding ways to do things that hadn't been seen before."
Gary Liddon agrees that demo coders were instrumental in discovering new techniques that pushed back the boundaries of C64 visuals, and even today, a thriving scene continues to mercilessly thrash the C64 hardware in increasingly inventive manners.
"You really need to look to modern demo scene for the best representation of what the C64 can do. So many ways of pushing the VIC-II into situations it just shouldn't be in have been found out over the years," he enthuses.
"It's way beyond the scope of this article but tricks involving something messing around with Bad Scan Lines are amazing. It's a real shame this kind of thing wasn't around when the C64 was in its heyday; games could have been so much better. Sprite multiplexing (re-using sprites across the playfield so you can have more on-screen objects) was a pretty hot topic. I think John Twiddy's Ikari Warriors was one of the first games I saw that had a generalised sprite multiplexer, which was pretty amazing for the time."
It wasn't just graphics that saw immense innovation. Sound, too, radically transformed across the lifecycle of both the Spectrum and Commodore 64. Basic multi-channel musical efforts on the C64 soon gave way to brilliant audio technologies from the likes of Rob Hubbard, Martin Galway, Jeroen Tel and the Maniacs of Noise, amongst many others. At the latter end of the C64's lifespan, sampled guitars, drums and vocals even made their way into games like EA's Skate or Die and Firebird's BMX Kidz. However, the more ambitious the sound routine, the more the 6510 processor was put under stress, as Gary Liddon reveals:
"It chewed up loads of CPU time. You needed a slew of interrupts across the screen, each one playing a little bit of sample and in turn it slowed everything down. Any fancy timing critical video effects were out of the window. The solution was pretty easy though; you only play that kind of thing on the title screen!"
Aggressive CPU control of the SID hardware helped define the chip-tune sound though, resulting in some unforgettable pieces of music, still regarded as classics even today.
"Instead of having a standard once-a-frame music routine it was called 200Hz; four times the normal rate. The slides and glides sound so much smoother because of it. You wouldn't be able to have that running in the main game though."
Audio man Jason Page preferred the pure chip-tune sound and wasn't especially keen on the introduction of then-fashionable sampling to C64 audio.
"It was achieved by using the SID volume register to create 4-bit sample playback. The more often you could hit the register, the better quality your samples would be - so yes, you'd end up with a NMI running at a high rate, just to play some samples that (in my opinion) offered results that now seem rather gimmicky (n-n-n-nineteen) compared to the pure SID music offerings that could still sound amazing when using techniques like wavetable lookups - as with the Maniacs of Noise drum sounds," he says.
Pages also recalls that different C64 revisions contained different audio hardware that didn't play nicely with some of these bleeding-edge audio tricks and hacks.
"There was also an issue that, depending on which model of SID chip your C64 happened to contain, some tracks just sounded plain awful. For example, on my C64, all I could hear in Skate or Die was the incredibly loud guitar riff. The backing chords were completely lost in the mix. Only when I listened a few years later via PC SID emulators did I hear the tune how (I guess) it was meant to be heard."
The Spectrum's meagre single-speaker also migrated on to simulated multi-channel sound of sorts, with Joffa Smith coming up with the technical breakthrough that made it possible for Martin Galway's music to be implemented on the hitherto inadequate Sinclair hardware. The audio routine was first deployed in Ocean Software's Ping Pong, with Galway's brilliant Arkanoid C64 tune later turning up relatively unscathed in Cobra on the Spectrum.
"When I did the Ping Pong music code I was amazed at the reaction, the press coverage. I'm just glad that people then went out and started playing with stuff that was or wasn't possible with the 'beeper'. And they did incredible things with it! Much better than my stuff," Smith told ZX Spectrum Games back in 2009.
"From a technical point of view it was nothing special - the interrupt driven drum sounds banging over the pulse width modulation to make it two channels... it 'sparked' people into action. Made them look/listen in a different way. And there is some stunning stuff out there! Clicking a tiny speaker on and off! Ace!"
Perhaps the most remarkable thing was that all of the visual and audio innovations we saw on the 8-bit home computers were achieved with virtually zero assistance from the creators of the hardware - a far cry from today's console development, which relies heavily on tools and libraries created by the platform holders (in fact, Sony's Multistream audio tool used in PS3 development hails from a team headed by a certain Mr Jason Page).
Back in the day, there was virtually no documentation or tech support from the creators of the hardware, and as Simon Brattel recalls, "maybe that was for the best".
"We did meet the designers of the Amstrad CPC464, they walked up to our stand at one of the first exhibitions and accused us of modifying the hardware of the Amstrad on our stand because it was doing something they regarded as completely impossible," he says.
"What I was doing was changing the video mode several times during the active video period so that I could mix the different resolutions and have more than four colours, but still use the high resolution mode - that was in Tank Busters... They were quite aggressive about it. I remember being fairly rude about a number of mistakes they'd made in the design. It could have been so much better with a couple of tiny changes that wouldn't have cost anything at all. Gah..."
So with the benefit of decades' worth of hindsight, which was better: ZX Spectrum or C64? Bearing in mind the technical gulf between the two machines, some might say that it's an easy win for the Commodore hardware - designed to provide accomplished hardware assistance for the sort of arcade games that defined the era, and definitely benefitting from a wealth of development talent not just from the UK but from Europe and the USA too. The C64 also had the advantage of a range of games designed with the 1541 disc drive in mind, while the classic Spectrum era never really had any kind of mainstream mass storage system and certainly no games that really made use of its ill-fated microdrives.
Aside from its price-point and its established ZX heritage, some might argue that it's a miracle that the Sinclair hardware competed with the C64 as a games device for as long as it did. The fact that the classic Spectrum didn't even feature any joystick ports pretty much says it all - this was a machine designed primarily with home computing in mind and the keyboard was the only human interface out of the box. As this week's excellent BBC interview with the original designers reveals, Sinclair evidently changed its attitude to gaming after the fact - "the games market eventually turned our machines into games products" as the Spectrum's industrial designer Rick Dickenson puts it.
However, regardless of its technical disadvantages, for many kids in the early 80s, the ZX Spectrum was their first experience of home computing and video games and as such, holds an unassailable position in their hearts. While it couldn't hold its own against the Commodore hardware in terms of the arcade-style experiences of the era, its limitations propelled developers towards new concepts and ideas - and it's hard not to believe that 8-bit gaming as a whole didn't benefit immensely from the existence of the Sinclair machine: the good old plucky Spectrum.