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…

Workprint – April 2019

The work on pushing new graphics into the updated C64 version of Stercore is progressing slowly but surely; so far I’ve replaced pretty much all the original attribute-flavoured tiles with graphical versions – as in the screenshot from Char Pad below – but they’re still in need of tweaking to remove or rework some elements. It does look like there’s a reasonable amount of space left in the character set for some extra detail though and, although there’s a few ideas brewing for new graphics to add, I’ll need to sit down and check through the maps first to make sure everything is present and correct before assigning characters.

Apart from that there’s not much else going on at Chez Roundabout because I haven’t really had much time – a dodgy shoulder has been making typing very difficult for most of the last month, which is frustrating when you’ve got ideas but can’t do much with them – which goes at least some distance towards explaining the lack of blog posts – but there’s a few odds and ends on my “to do” list for when things hopefully settle down in a week or so. And at the same time there’s all of the regular urges to write yet another horizontally scrolling shoot ’em up that need be fought…!