ZX Spectrum Arcade Conversions: Kung-Fu Master

It was 35 years ago this year that US Gold released Kung-Fu Master on the ZX Spectrum. The Data East arcade machine had been around for a while; while far from the most complex of videogames, the scrolling levels combined with its fast-paced kicking and punching action made it a legend among coin-ops.

Kung-FuMaster.jpg

By 1986, home arcade conversions were starting to become more popular, mainly thanks to Elite and its success in the field. Commando, Bombjack and Paperboy had all proved that decent ports of arcade games, usually technically streets ahead of the Speccy, could be achieved.

Then came Kung-Fu Master. Slated in Crash and Sinclair User magazines, the game was a grave disappointment to many fans of the original arcade game. Slow and graphically insipid, the game had its admirers – but they were few and far between.

But looking back today, should we be more considerate to the developers who worked on these games? Yes, Elite and to a lesser extent, Ocean, produced the odd fantastic game that successfully emulated the original. Sometimes, by focusing on the gameplay rather than replicating the graphics, it could be done. But a fast, scrolling and action-packed game with multiple large attacking sprites, such as Kung-Fu Master?

As much as I love the ZX Spectrum, I acknowledge its flaws and limits, and I never had to program on it, beyond a few magazine type-ins. So in order to better understand, I chatted to David Anderson, the man who almost single-handedly created Spectrum Kung-Fu Master.

Hi David. How did you get to work on Kung-Fu Master?

My firm, Platinum Productions, was a development house. We had a retaining arrangement with Ocean Software and US Gold was a joint venture company in which Ocean owners 50% of the shares. US Gold licensed arcade games and as one of their leading development houses, we tended to get offered a lot of their top titles. Those were heady days for the games industry in the UK. It was the beginning of the first real boon in market adoption.

Bizarrely, there’s an option to begin the game on any level. As they’re much the same, it’s not a great variation, but welcome nonetheless.

Bizarrely, there’s an option to begin the game on any level. As they’re much the same, it’s not a great variation, but welcome nonetheless.

Were you familiar with the arcade game?

I’m sure I’d played it, it was common enough, but I don’t have any specific recollection. It certainly wasn’t a favourite of mine.

The impressive loading screen was created by F David Thorpe.

The impressive loading screen was created by F David Thorpe.

How did you begin working on the conversion?

The term ‘conversion’ always irked me as we didn’t convert anything! We never had access to any source code or design specifications. We had to reverse engineer the specification for playing the game – in this case from the Commodore 64. What we did was interpret and adapt a game design for the ZX Spectrum.

Were you under a lot of pressure to complete the game within a certain time?
I don’t recall any specific schedule pressure. I had a reputation for producing games of high technical quality very quickly. A lot of the games I did took between 5 and 8 weeks to complete. Development wasn’t the constraint on launching, often we could move faster than others designing the packaging or advertising.

Were you involved in all aspects of the game, including graphics and sound?

I outsourced the melody of the music to a sub-contractor but other than that I did everything, all the coding, engine for the sprites, engine for the sound and music, everything. I’m not sure that people reading this today can comprehend how basic the Spectrum was as a machine. It had no graphics or sound chip. To make decent sound you had to dedicate serious processor time to it and effectively run all the graphics and gameplay in between. We were effectively pre-emptively multi-tasking to run sound, graphics and gameplay in parallel. And, yes, I drew the graphics too. I’d also implemented a lot of our internal developer tools including our sprite-grabber application that could grab images from a drawing package and encode them for use in the game, including sprite masks if applicable.

Enemies appear from both sides as the game judders slowly.

Enemies appear from both sides as the game judders slowly.

So where did it go wrong for Kung-Fu Master?

My memory of Kung-Fu Master is that it was a compromise from the start. The Spectrum was seriously underpowered for that game. I remember having similar issues with Tapper. As a designer, you need to make trade-offs and reflect on which aspects are most important [in order] to preserve the essence of the game on a lesser-powered machine. Trading off masked sprites for music, for example, or deciding how to compromise the graphics because of the Spectrum’s character block colour mapping. None of it was technically challenging; there was simply too much to do and maintain a reasonable frame rate. The issue was design compromise and as an artist, that’s never a very comfortable place to be. It’s frustrating.

Does the lack of masked sprites explain the flickery graphics?
Another design compromise. You can avoid flicker by buffering the display and masking sprites – doing so eats a lot of processor cycles. The sprites flicker because they are XORed onto the screen and not masked. It’s fast, but it causes flicker. If you want continuous music or sound effects, you need to get that processor time somewhere. Do you want music or flicker-free graphics? The Spectrum forced us to choose.

Ready for action!

Ready for action!

I guess that’s why most 48k Spectrum games have no in-game music. Was that the reason for the slow speed as well?

Every aspect of what I did was optimized for speed. I’d picked up some tricks from other games guys, developers at Ocean and elsewhere. We targeted 8-12 frames/second and not slower, so given all the things that needed to be done, we chose what was possible with those processor cycles. The game could have been twice as fast without sound, but who would want to make that choice?

There was a disparity with the reviews – Crash gave the game 56% and Sinclair User 2/5 while it got 8/10 in Your Sinclair.

You have to remember the guys at Crash were kids. We were all kids. And kids can be ruthless. I think the guys at Your Sinclair were older and had a better understanding of the technical challenges, and this made them more sympathetic reviewers. Were the guys at Crash wrong? Probably not. Working in such a constrained environment ultimately wasn’t rewarding – it was a job. If only the Spectrum had had a sound chip.

Sinclair User’s 2/5 review

Sinclair User’s 2/5 review

How do you look back at your efforts today?

I remember thinking it was a competent attempt to realise the essence of the original on the Spectrum. To be honest, converting arcade games of that generation to the Spectrum wasn’t the best choice artistically or aesthetically. As a creative person, it is never pleasant to have to make so many design compromises and my guess is the business people weren’t really capable of knowing where the limitations were until games like Kung-Fu Master were completed. Even then, I’m sure it was a commercial success and made money regardless of whether it was an appropriate choice of title to build for the Spectrum.

But I look back on my games developer days very fondly. It was the 80s and I was right in the middle of it with games in the top 20 pretty much every week. It was a great experience.

My thanks to David for his time. History marks Kung-Fu Master as one of the lesser Spectrum arcade conversions; but who knows how it could have turned out had it been a totally ground-up game (and not a C64 port), designed specifically for the Sinclair computer?

And I’m not sure why they bothered with the music - I suspect as it had been out-sourced (and therefore, paid for) they had no choice but to use it, whatever the cost in terms of gameplay.

If you like this feature please comment here or on social media and I shall try and find the time to do more articles along similar lines.