The Lords of Midnight was a popular and epic graphic adventure game by Mike Singleton for the ZX Spectrum (and other platforms – but not for the Beeb) originally released in 1984.
Here’s a few screenshots of what it looked like:-
I never completed the game but did remember these landmark graphics. The technique that the author Mike Singleton used was “Landscaping” – using scaled graphics shown as a first person perspective view. It was unique at the time – definitely moving computer graphics forward several notches.
The challenge I’ve set for myself is can this be done on the Beeb with Basic? I’m only interested in getting as far as having a grid of locations, the player being able to move in one of the 8 compass directions and having a simple landscape view implemented.
The code I have developed so far is in a link at the bottom of this post which includes:-
1) The player grid set up, currently 16 x 16. Each location has a number representing a tree or mountain or just an empty space. The player grid is displayed at the moment for diagnostic purposes, showing the position of the player, with a note at the top of the screen showing which direction the player is facing.
2) The player being able to look in one of the 8 compass directions (using numbers 1-8) and move with the key “m”.
3) Some procedures to draw scaled mountains and trees. (adapted from graphics code with thanks to Dominic Pajak) . The current code just shows a demo of these scaled graphics being used.
This is an example of scaled graphics I have developed so far. The tower from the code below has been removed for now to save memory.
I have a Graphics Extension ROM (GXR) – so am using some of this extended command set in my code.
The big challenge is being able to represent the “landscaping” technique. I suspect this will be quite challenging squeezing it into memory, but I want to give it a go.
Luckily this technique is outlined in detail on this web page (see below), where Christopher John Wild has put a lot of work into understanding the game and breaking it down.
https://www.icemark.com/tower/landscaping.htm
Here’s my Mode 1 version, where I’ve gotten to the point with displaying three elements; mountains, trees and towers shown in a perspective mode. The player grid is shown as a 15 x 15 grid. Use N,E,S and W keys to face in different directions and the “M” key to move one square.
The following link will take you to the Owlet editor with the code.
This link is a post in the stardot forum outlining the progress of the code, with other forum members contributing and adding to the graphics.
This is the final version.