Workprint – July 2018

Things have been a little rough of late with everything being topped off with our thirteen-year-old dog King passing away on the 7th of June – he arrived here at the start of 2005 as a small, six week old bundle of fluff. I haven’t really been in a fit state for much of anything since then – I pretty much kept up with Retro Gamer and tried “powering through” and sticking to my blog schedules but only managed about half of the “planned” posts – and I was even quieter than usual on social media which is something of an achievement I suppose? I’ve just realised whilst writing this that it happened almost a month ago, but I’m still getting the occasional wobble when it would have been his dinner time…

I haven’t done much code since then, but the bulk of what I’ve written during that period has been “busy work” to keep my mind occupied more than anything else. Vallation hasn’t seen any attention because I didn’t dare sit down with anything that complicated where I could easily lose concentration halfway through modifying something important and leave myself with a steaming mess to knock the bugs out of later… I’m perfectly capable of doing things like that often enough as it is without any external encouragement!

One of the distractions was writing a game for the Spectrum for release under the C64CD brand. It’s pretty much done apart from needing quite a bit more level data, but now it’s that close to complete I’m sort of committed to finishing it as an entry for the venerable CSS Crap Game Competition. It’s crap in the sense that it’s incredibly simple as a game and my Z80 is shockingly bad to the point where I’m considering a disclaimer when the source goes up to Github warning people that it’s not there as a “learning tool” unless being used as an example of how things really shouldn’t be done. That doesn’t stop me being almost perversely proud of it for some reason?

Workprint – June 2018

One ongoing project that’s been vexing me a little is the new C64CD game; the problem I’m having is with the name, which is basically six consonants from the latter half of the alphabet slung together pretty much at random which make it, as far as I can tell, unpronounceable. That wouldn’t be a problem except there’s always a chance I’ll need to talk face to face about this thing down the line and having to refer to it as “Thingybob” because I can’t pronounce my own game title would be embarrassing if I had any shame… perhaps I’ll just tell everybody that it’s pronounced “Thingybob”?

Anyway… the weekend saw me prodding around Vallation with the intention being to migrate to the latest version of Char Pad; this was mainly because it supports direct editing of the character set again rather than painting to the tiles, something which kept me away from every version after the first release. This transition would also mean a begrudging upgrade to my cheap and incredibly cheerless map converter which was originally written because the levels are stored as source code with each screen being a converted block of Char Pad map data followed by colour, exit and enemy data.

But on yanking the existing CTM files into the new version of the editor I discovered that the mode Vallation used which assigned thirty two bytes per tile with half of them being attribute data wasn’t supported in this updated Char Pad! Instead there’s an attribute byte per character so, if the byte for character $14 is set to red, every instance will appear in that colour and there has to be a second copy of the character if you want one in purple. But after muttering darkly about this for about half an hour whilst and prodding grumpily at the data, I realised that the bullet had actually been dodged because, apart from the four teleporter characters which ended up getting their own code, the tiles weren’t using more than one colour per character so converting it was actually possible.

It still took a quite few hours of juggling to sort out the existing levels, followed by rewrites to the tile plotters which updated how they handled colour, then some new code allowing each tile set could have a unique attribute table as well but, after three days scratching my head and swearing, for the most part at least all of those changes are invisible because it looks the same as before! On the plus side, there’s over 5K of memory saved on colour data and I can work in a far more comfortable version of Char Pad now, although the map converter was more cheerless than I remembered it being and will need further surgery sooner rather than later.

Playing Hyper Sentinel (Windows)

Time for some current generation, retro-themed shooting action; I’ve mentioned it in passing previously, but Hyper Sentinel is a bi-directional scrolling shoot ’em up for the current generation of consoles and Windows boxes – the latter being my platform of choice via Steam – where the player’s craft must destroy all of the ground installations on a space-faring Dreadnought before defeating its guardian and finally getting to watch the huge craft boil away into space. And if that sounds more than a little familiar, publishers Huey Games are basically a reincarnation of Hewson Consultants who, amongst many decent games and a couple of rather iffy conversions back in the day, published Uridium.

But when I sat down with Hyper Sentinel after buying it on launch day something felt… well, off. Most of the reviews I’ve read had described it as a “spiritual sequel” to Graftgold’s classic but it only took a few swings at the thing to realise that wasn’t really the case; Uridium‘s Manta has a huge amount of flexibility to the controls so players can constantly tweak their speed with touches of the joystick, but the Hyper Sentinel lacks that level of finesse and moving the controls horizontally just causes the craft to put its foot down in that direction if it wasn’t already doing so. The only option to tweak the speed is holding down the boost button to go faster for those times when the enemies or power-ups would be too quick to keep up with otherwise, but that faster speed also disables the main gun so must be used sparingly.

For the first week of on/off playing I really wasn’t enjoying it at all but, whilst writing that last paragraph earlier this week, something clicked; I stopped trying to play it like I would Uridium, properly got my head around how to use the boost and Hyper Sentinel suddenly felt more fun to play. Leaving a wake of destruction was enjoyable – even more so with the beefier power-ups – and some of the bosses became easier since I could chase them down. There aren’t background collisions to worry about unless players stray out of default difficulty territory and, rather than dying immediately, the ship gets ten shields which act as lives and can either be recharged with one of the items or just by hiding to avoid collisions for a while until they regenerate.

Personally, I can take or leave the neo-retro visuals these days in part because there are so many games going for a similar look that it’s hard to get excited any more; the pounding but not particularly memorable soundtracks are similarly reasonable and I think my less than sensitive ear is picking up some early Rob Hubbard drums in there too. But the gameplay is the most important part and that feels pretty solid and I’ve gone back to it a quite a bit over the last week. Granted, if I felt the need for a full fat Uridium-style experience with beefed up graphics and power-ups then the excellent Uridium 2 on the Amiga is the option I’d go for, but I do feel that Hyper Sentinel on its own terms is still a solid, playable blaster and I’ll no doubt return to it, either for the main game or to play the survival mode some more.