Back in the early 1990s, one of the games I wrote and sold through Soft Rock Software was called Drop Rock. I’ve recently decided to look at the game and see what I can do to update it and give it a new lease of life on newer RISC OS computers. I’ve also decided to write about the changes as I go, but before embarking on that here’s a little background on the game itself.
The basic idea is that the player navigates each of the forty levels to collect all the scrolls and move on to the next. Making that seemingly simple task less so is that as the player moves around boulders are dislodged and fall. These can then block a path the player needs to follow, and can cost the player a life it one lands on their head. Boulders can also be pushed, and sometimes that will be necessary to open a path – with care taken not to block another (or lose a life) in the process.
On later screens, additional challenges are wall-hugging spirits that will kill the player on contact, and sections of floor that gradually give way under the weight of boulders – all designed to hinder the player, and make the game more of a challenge.
You may be familiar with other games that follow a similar pattern. On RISC OS (and prior to that Acorn’s 8-bit computers such as the BBC) there was a popular game called Repton, along with a number of sequels. On other platforms of that era, an example would be Boulder-dash – both of which had scrolling maps, rather than the whole level fitting on a single screen as I did with Drop Rock.
Originally released in 1992, the first version of the game ran in MODE 15 on the Acorn Archimedes series of computers. If you aren’t familiar with screen modes on RISC OS computers, that was a 640×256 pixel screen, with a 256 colour pallette. The individual graphics tiles were 32 pixels wide by 16 pixels high, and the play area was 18 tiles by 12, with a simple border drawn around that to fill the screen (with a space for the scores etc). Here’s a screen grab of the very first level of that version (rendered so that the screen ratio looks correct):
In 1994, Acorn brought out the RiscPC, and as well as patching my old games to run on it (which mainly involved disabling the sound), in 1995/6 I updated a couple of them – one of which was Drop Rock – to take advantage of its improved screen resolutions.
I released two new versions of the game, one specifically for the RiscPC, and another for the older Archimedes computers. This was essentially the same game, with all the same level designs, etc, but with new graphics (and a new underlying program).
In terms of the underlying code, both new versions were the same with the exception of all the maths for the graphics plotting – the Archimedes version still needed to run in a lower resolution mode, and I stuck with the 640×256, 256 colour MODE 15. However, the new graphics – scaled down versions of those used for the RiscPC version, were now 18 pixels wide by 16. The main reason for the smaller tiles was because the RiscPC version featured a main title graphic to the side of the play area, and I wanted to maintain that in the Archimedes version. That version looks like this:
The RiscPC version, on the other hand, ran in MODE 32, which was 800 pixels wide by 600 high, but still 256 colours. The graphics tiles for this version were 32 pixels by 32 pixels, and the same first level of that version looks like this:
That last version has subsequently been hacked again to work on more modern RISC OS platforms – for example, it can be run on the Raspberry Pi when RISC OS is booted on that. The main change has been to disable the sounds that were previously used for the game, because they don’t work on the modern platforms. That version of the game can be found on the Soft Rock Software Collection, available on USB memory stick or on CD (cheaper at RISC OS shows, such as the Southwest Show, taking place in Bristol in February 2023).
The RiscPC version is also the one that will be used as the basis for the update, and the next post in this series will cover the first change I’ve decided to make as part of the update.