So how about some arena-based blasting on the C64 for a quiet but annoyingly warm Sunday evening then? Well, there’s always Death Weapon from… erm, yours truly on the C64CD label that popped up as a last minute entry into RGCD’s 16K cartridge competition. So why not grab a joystick and blast those nasty little aliens into oblivion!
The gameplay was originally based on Jeff J Gosden’s Death Dealer from 1989 but had elements from other titles grafted into it and one thing to look out for in particular is the control scheme; moving the joystick guides the Death Weapon around the screen but it fires backwards unless the fire button is held down. That’s a combination of what Death Dealer does and the Hallucin-O-Bomblets sub game of Jeff Minter’s Batalyx, which was also the inspiration for the enemies materialising into the playfield rather than emerging fully formed from the borders. Another title that had ideas unceremoniously robbed from it was Intensity by Andrew Braybrook, more specifically it influenced the background graphics and the pretty parallax starfield behind them.
There’s a couple of graphical tricks going on to make elements of the game appear to be using colours not in the regular C64 palette as well, parts of the background use PAL blending – when two colours of the same luminance are placed next to each other on odd and even scanlines – to get what appear to be new colours and some of the enemy sprites are utilising a similar trick, alternating between two colours every frame so they appear to blend together. This is best experienced with a good old CRT display, as are the player’s bullets which are generated from one sprite which flickers back and forth between the two jobs at 50 frames a second.
None of this is new of course, but there’s some reasonably well commented source code over at Github for anyone fancying a prod around.
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”!
We’ve reached the end game for 2018’s Intro Creation Competition so there’s been an inrush of new releases over the last couple of days including one last contribution from yours truly with the ever patient Andy Vaisey on music. It went through a few names but Level One was the final choice simply because it looks somewhat like a game.
The scrolling area takes up the entire regular screen – 39 visible characters across by 25 down – and is being moved using a double buffered scroll routine similar to the ones employed by games which in turn leans on some Run-Length Encoded background data. It also uses the C64’s Extended Colour Mode so, although there are only 64 characters available in the font, it can have four possible background colours for each character so I don’t have to scroll the colour RAM.
Something a little trickier is happening in the black bands above and below the scrolling; these are ten pixels high and sat in the borders, but containing a seven character wide Cosine logo and nineteen characters of either static text or scrolling message. To get twenty six characters into that space the code has to abuse the ghostbyte, splitting it at five points on each scanline to produce the extra two characters (they’re at the far left and right of the screen on both lines) and mask off the raster bars for the areas between the sprites.
I suspect a few people will be asking themselves if a game with similar graphics would be possible and the answer is a sort-of-yes, although drawing decent backgrounds when restricted to just 64 characters is bloody tricky!