Wednesday, March 22, 2023

Martian Rover Patrol

Well, last night I was wondering whether to update Martian Rover Patrol, so I tried the game as it was on Win 11 and it worked correctly. I enjoyed playing it and I remembered what a fun game it was, so I decided with some glee to update it.

The updates are invisible to a player, but fairly major in the background. As with Roton, I upgraded the engine from DirectX5 to DirectX7. DirectX7, now that we're on DirectX12, might seem just as ancient, but actually by version 7 it had pretty much reached the top of DirectDraw (2D), as well as sound and input capabilities. From then on, each upgrade was mostly about 3D hardware, and so it remains today, so updating a 2D game to DirectX7 is perhaps all that's needed even in 2023.

Doing so revealed a few improvements and changes to make to Roton too. Last night I thought that I should improve that game, and for the first time have changed the gameplay metric. All of these games, up until Gunstorm and even the Flatspace trainer, have waves of enemies that appear faster and faster - but there are periods of waiting when there are no foes. I thought I'd fix that by making a new enemy appear instantly when one is destroyed. This tiny change really improves the game. There are no more boring waits for action, there is always something to shoot. The jewels in the bonus rounds (a unique feature of Roton PC) are much harder to get now.

Updating Martian Rover Patrol from a 16-bit display to 32-bit caused a few issues. The bouncing wheels actually track the luminosity of the ground object to hug it, but did so in a really bad way, just checked the 16-bit pixel against a fixed value 0x4000, which is usually a dull red, but can really be anything - the pixel format of any screen can vary. Even where red is located can vary. So I had to do some work on proper luminosity checks, and lots of other technical things. As with the new Roton, the game will also now run on a screen that's bigger that 640x480, and it uses the original CD audio; the 2022 remaster of the original Yamaha SY-85 sequence.

On that note, I noticed that the 1999 Roton theme was mixed very differently to my recent recording. The samples were about 4 times the volume on the old CD-audio compared to the 2022 re-recording, but that ancient CD one was/is hissy and not very good quality generally. I lamented the loss of this, but realised that I still have the MED sequence, which contains the samples. So one last upgrade was to render a sample-only track in MED Soundstudio and mix it, at the correct time, over the 2022 SY-85 recording to get the volume balance right. It still sounds rather different to the 1999 version, which has a lot more mid range for some reason, but the new one will do.

One last job was to make a new logo and icon for Martian Rover Patrol:

I had no game art bigger than 160 pixels!

Peter was due for his piano lesson but missed it without warning for the first time ever, but he called later and will come tomorrow.

My last job is to create the Martian Rover Patrol pdf manual.