Stercore XD (C64) released

The start of a new month sees a new C64 game from yours truly… well, “new” in the sense it’s a reworking of something I released last year under the C64CD label. Stercore XD is a horizontally scrolling shoot ’em up and I’m sure my regular fan has just passed out in shock at such an out of character move on my part. Sarcasm aside, I might as well wibble on a bit about technical details since the game isn’t exactly a complex beast with an engaging back story.

The screen scrolls at five pixels a frame – a little slower than the original Stercore on the Spectrum or the direct C64 port which are moving at eight pixels – and uses a wider map which leaves gaps for tidy background colour changes. That map is 2,340 tiles wide, making the background around 240 screens in total and it all barrels past in a little shy of five minutes during play. Since Stercore XD has been squarely aimed at the RGCD competition it needed to run from a 16K cartridge, so the bulk of the game is compressed with Exomizer but the unrolled chunk of background scroll code required to move two and a half times what the Spectrum is dealing with was generated on start up.

Stercore had player and enemy objects passing between two layers and this has been faithfully replicated with hardware sprites in Stercore XD, relying on the hardware sprite priority register and using a similar approach to games like Implosion, Dan Dare or Shadow Skimmer. One background layer is always the background colour the character mulitcolour which that doesn’t get priority over the sprites, the other layer uses the remaining multicolour and character colour, with the latter mostly being used to add dark and light detail. This technique is accurate to half pixels and requires no processor overheads for masking but does require a lot of extra juggling when drawing the graphics.

After that it’s got a slightly extended and tweaked version of the original theme tune which was just an extra half pattern from the original Autotracker-generated tune used to “create” the original Stercore music and, more importantly to the gameplay, there’s a simple attack wave driver which was repurposed from Super Hyperzap. As is usually the case there’s source code – and in this case, work files for those wanting to understand the sprite priority thing – over at GitHub for folks wanting to prod around, although that source isn’t my tidiest piece of work even after it was “sanitised”!

Workprint – May 2019

Last time I talked about the new, C64-specific version of C64CD blaster Stercore and this month continues that “trend”. It’s now officially called Stercore XD and I’ve actually got the majority of it written and working somehow!

Memory is getting very tight but all of the graphics are done now including some sprite animations – one of the aliens and the explosion have been “inherited” from Super Hyperzap – and everything just about fits into the lower half of the C64’s RAM after decrunching until the code grabs around 10K more whilst unrolling the background scroller. Spacial awareness is important here because I’m planning to put the final release version of Stercore XD out as a cartridge image for the RGCD competition. To that end the build process automagically makes a working CRT image for testing.

I still have a “to do” list including tweaks to the collision detection, a rewrite of the enemy movement code to optimise it, adding explosions and bolting in the simple attack wave driver from Super Hyperzap with a couple of small tweaks but, since there’s currently only about 280 bytes of ROM left in the 16K block the game has to occupy as a cartridge, some concessions might be necessary. To give a sense of scale, this paragraph is 457 bytes…

Playing Starforce Fighter (C64)

Since it’s Star Wars day and I’m pretending that I need an excuse, here’s another shooty game… Starforce Fighter was released on the C64 in 1987 by budget stalwarts Mastertronic for the princely sum of two quid and I handed over my cash for a copy because I recognised the game from its screen shots (although we’ll come to how that happened later). The term “cheap and cheerful” springs to mind for this one and Mastertronic probably looked at it that way too since they didn’t bother commissioning new cover artwork, instead recycling the picture from a previous release called Space Scramble which came out for the VIC 20. Presumably they thought nobody would notice?

The instructions talk about Earth losing a galactic war and the player, as one of “the few”, being on the front line against an onslaught of drones, but basically it’s another horizontally scrolling shoot ’em up so there’s a joystick-controlled spaceship, chains of enemies to shoot and in this case the occasional power-up item which temporarily does things like disable enemy firing or beefs up the weapons. Each stage is large and topped off with an asteroid field – the guns are powered down at this point – and, once that’s safely traversed, a bonus stage with pods to gather for score plays out before the next level starts.

I remember spending quite a bit of time trying to wring my money’s worth out of this game back in the day despite some pretty bad issues; for a start it’s brutal and, despite being quite generous with the lives, will throw the player back to the beginning of the current, very long stage on death. This means that making any significant progress is frustratingly difficult and, whilst the early stages are set in open space, landscapes the player can collide with begin appearing as the game progresses to make things harder still. The cassette inlay claims that “the enemy ships generate shields by joining together” but, while this is an amusing attempt to paper over a programming issue in part caused by the C64’s hardware-based collisions, it means that many of the players shots will land but be ignored.

Usually I finish up by recommending a game like this with caveats, but in this case even my enthusiasm for the genre doesn’t quite stretch to that; yes I enjoyed going back to it – although rooting through half a dozen storage boxes this morning to find my original tape to check the instructions was probably just as entertaining – I wouldn’t consider it fair to inflict something this sadistic on unwary players. So whilst a few people might be able to drag some enjoyment or more likely nostalgia out of Starforce Fighter, I’m showcasing it more as a lesson in bad shoot ’em up design with a footnote about how important it is to get the bloody collision detection right!

As I mentioned earlier, I recognised this game from the screenshots because Mastertronic were the final publishers of Starforce Fighter but it was offered around to at least one other firm before that; I know this because, when one of the developers took the game along to a computer show in London and it was loaded on one of Audiogenic’s display machines for evaluation, I was stood nearby and snuck in to spend about five minutes playing it. Although Audiogenic didn’t take it, the coder Kevin Oxland also handled the C64 conversion of their bouncy BBC blaster Ransack, again with Wally Beben handling the sound.