Ossuary: a Development Retrospective
Saturday, 30th January 2021
With the launch of the DOS games web site I thought it was a good time to look back at the development process for Ossuary, my first full game for DOS since my early freeware/shareware attempts of the 1990s.
Ossuary wasn't originally developed for the PC. It was one of a trio of games for the 16Kb ZX Spectrum, a somewhat more limited system than the early PC. I chose it as my first DOS project because I already had the game logic worked out and implemented, and the assets only needed some recolouring to be useful for a PC version. So it would be a relatively easy first project on a new platform.
To fit into the original 16Kb system, the roguelike concept had to be cut right down to its simplest elements. There are just a few melee weapons and a couple of shields. There's only one type of wand, one type of magic scroll, one type of potion and one type of food, but at least all those items are represented. The only other reward is gold, and the main aspect missing is armour. Yet all this comes together into a nice playable game, and I decided not to "improve" the format to use the greater resources available on the PC.
Between the original ZX Spectrum launch in 2013, and the DOS release in 2020, I did a bit of work converting the Spectrum's 15 colour graphics into 4 colours. Not for CGA, but for an Acorn Electron and BBC Micro port I'd been contemplating. But it turned out that the Acorn Electron, despite having twice the memory of the 16Kb Spectrum, actually left less memory available after its huge screen buffer and other system requirements were taken out. So the Acorn project was mothballed. Luckily the graphical work proved useful for the PC.
When I revived the project for the PC I only had minor recolouring to do on the Acorn graphics. The Acorn allows a free choice of colours for its 4-colour screen mode, while CGA does not. So the black, red, magenta and yellow of the Acorn graphics needed changing: I chose dark cyan, red and light grey with a yellow "background" colour for CGA. A straight 1-for-1 swap of these colours didn't look good, so a bit more recolouring was necessary, resulting in the graphics Ossuary ended up with on the PC.
In the next post I'll go into the coding process itself, where the Z80 code of the Spectrum version was converted into the C of the PC.