Time to push another release off the C64CD pile and this time it’s Stercore 64 which is a scrolling shoot ’em up for the C64 that is an almost direct port from the Spectrum version that was released last week. There’s very few tweaks apart from a SID rendition of the original beeper soundtrack for which I can only apologise on a loop during play and the backgrounds being tweaked for the C64 palette. Oh, and it gained a “64” at the end of the title just like publishers used to do in the early 1980s.
After those changes and the higher resolution of the C64’s screen in the display mode being used it’s pretty much the same game, hammering along at ludicrous speed just like the original by moving the attribute data to scroll the background – this is now an unrolled loop which replaces the LDIR commands in the Spectrum code – and rendering all of the moving objects for the player, bullet and enemies to the bitmap with software. It was quite a pleasant surprise to find that, although my Z80 software sprite routine isn’t exactly optimal, the 6510-powered equivalent kept up with it and I didn’t have to spend any serious time optimising the C64 code to get it running at the same speed.
Before sitting down with the assembler I considered doing a re-imagined version of the game for the C64 which took advantage of the hardware sprites and how their background priorities work with multicolour characters – have a look at the game Implosion, the sprites can pass between background elements without software-based clipping – but eventually decided to keep things as close as possible to the original in part for the programming challenge that route presented. For anyone who fancies digging around further, there’s source code at GitHub,+
There’s another C64CD release drifting it’s way around the interwebs this evening. Stercore is a no-nonsense, scrolling shoot ’em up for the Sinclair ZX Spectrum with 48K or more RAM which was developed by yours truly a little while ago with the intention being to enter it into the venerable CSS Crap Game Competition because, well, it’s pretty darned crap! The code languished for a quite while after being mostly completed and was finally pushed out of the door and into the wild after a quick wash and brush up.
Everything should be moving at a constant 50 frames a second during play – my DivIDE is currently in need of either a major service or more likely replacing so I didn’t get a chance to try it on real hardware before release, but it doesn’t appear to be dropping frames under emulation – and the backgrounds whip past at a dizzying eight pixels a frame since it’s all built from attribute cells rather than graphics data. Because it would probably be impossible to play at this speed if there were background collisions there isn’t anything to smack into, but parts of the landscape scroll over both the player and their assailants so a close eye needs to be kept to make sure enemies aren’t not lurking behind something.
There’s even some beeper-powered “music” on the title page which was composed by a Python script called Autotracker and then forced kicking and screaming into Beepola. For the sake of maintaining the 1980s budget game aesthetic, the Wham! The Music Box style sound driver was selected when compiling the music rather than going for any of the more complicated routines available and there are also some appropriately beep-laden sound effects during play as well.
This is my first complete assembly language game for the Spectrum and yes, that’s very apparent even without delving through the source code at GitHub – it’s recommended that anybody brave enough to do that wears hazmat gear or at the very least a good quality wetsuit and breathing apparatus – and, although I can accurately make the claim that Stercore has been written in 100% machine code, it really isn’t “pure machine code” as some people used to claim on their cassette inlays. Oh no, this is the dirty, impure stuff that our parents would warn us about as children…
As promised in the previous post, here comes C64CD release time! First out of the gate is Super Hyperzap, a slightly remixed and improved version of my little gallery shooter Hyperzap 2018 which was actually completed around a day or so after the original escaped into the wild but then put aside to “release next week” and accidentally forgotten about during the subsequent shift to “demo mode”.
The main difference between Super Hyperzap and its predecessor is that many of the modifications that people asked for in comments online which had previously been omitted for “artistic reasons” have now been implemented, so there are a lot more sprite animations including an explosion sequence and as the game progresses the enemies begin to move horizontally as well.
That latter change fixes a design flaw in the original that it’d actually inherited from the original Hyperzap which meant it was possible to just sit still and hold the fire button and, whilst the gameplay is still simple enough, that updates does make things significantly more manic, especially on the later attack waves when nasties really start to shift around. It still won’t win any awards of course, but this version is a lot more fun to play!
As is always the case, source code and the relevant binaries can be downloaded from GitHub for folks wanting a delve around under the hood and there’s already a trained crack by Excess which was, rather impressively, released before I’d even finished writing this blog post about my own release.