Workprint – August 2019

Since I completely forgot about posting it last month, here’s the extended workprint for August 2019 and… erm, not much is actually happening right now. Well okay that’s misleading, things are actually going on and projects are being worked on, but the majority of it is still behind closed doors.

After the rush to get Death Weapon over the line for the RGCD competition I’m also a little “burnt out” on game code so it’s demo time and one thing I can at least mention is getting a request via Twitter to code a second Gamerz Xtreme intro which is nearly complete, full of raster bars and just waiting on a few final tweaks to the music from aNdy and little extra functionality to allow for tweaking since it’s meant for use on a Twitch channel. As with the first intro that’s done by editing a “script” (actually a block of source code that sets some constants and provides things like scroll text) and then assembling the code around those modifiers.

After that, there’s some graphics on the go for Kreator of Commodore Master Soft – I forgot to shamelessly plug my small, logo-drawing involvement in his previous intro Second – and some doodling of ideas for the hopefully upcoming next instalment of the Intro Creation Competition over at the CSDb because that’s always fun. I possibly have some thoughts about longer form demo projects as well, but as usual those are kept hidden away at this early stage.

Watching PasIntro (Atari 8-bit)

If you write a new high-level compiler for an 8-bit system, what do you do in order to promote it? Well in the case of Mad Pascal for the Atari 8-bit, the developer was Tebe of Mad Team so the most obvious way for him to showcase what his shiny new utility is actually capable of was always going to be to create a demo with it. The result is PasIntro and, considering it’s not running at flat out assembled code speeds, the results are surprisingly impressive.

There are two routines included, a large twister and some Kefrens bars. The latter is somewhat anaemic – I’m assuming it’s actually rendering everything to a back buffer over multiple frames rather than racing the raster and drawing a new bar on each scanline as it’s about to be displayed like these routines would normally do – but it still works reasonably well despite that. Where PasIntro shines visually however is the large, colourful twister routine which looks very smooth and has an independently-moving grid effect behind it which is a very neat touch.

But the biggest selling point for me personally is the bit that wasn’t written in Pascal, the soundtrack from Wieczor of Lamers which starts playing as the demo’s pre-calculation begins and continues behind both of the effects as they cycle through their presets. It really does have to be up there amongst my all-time favourite pieces of POKEY music and adds to the experience as a whole.

Releasing Level One (C64)

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!