MAGAZINE

The Making Of: Lords Of Midnight

Edge Staff's picture

By Edge Staff

July 14, 2009

See also:

Related Articles:

"I wanted all of the characters to be bright and colourful, in contrast to the uniformly blue-and-white landscape. But on the Spectrum, you can’t colour individual pixels, you can only colour whole 8x8 pixel cells – a maximum of two colours per cell. This means that the characters had to be designed so that their colours fit to the cell boundaries, but also so that they don’t end up looking like Lego bricks.” Mike Singleton

Format: ZX Spectrum
Release: 1984
Publisher: Beyond Software
Developer: Mike Singleton

Lords Of Midnight
was truly a thing of beauty. Its icy wastes, craggy citadels and distinctive deep blue sky brought a dimension of style to the ZX Spectrum of 1984 which served to dignify, rather than trivialise, videogames. And, like all the games which alter the way we think about electronic entertainment, it wouldn’t fit neatly into any given category. Strategy, RPG, text adventure – it was all of these and something quintessentially more. An independent universe which would leave a residual trace in the memory of all those who traversed its furthest reaches.

The goal was straightforward: to overthrow the evil witchking, Doomdark, and restore stability to the land of Midnight. The execution was somewhat more complicated, as sole creator Mike Singleton explains: “I wanted to allow the player to explore and discover new places and new allies in a game environment that had the breadth and depth of a real country. The vital seeds were the map and the story; with those two elements finalised everything else very quickly fell into place.”
   
Singleton admits to Tolkien’s influence, yet Midnight's narrative certainly had its own power to captivate. Four characters were playable: Luxor the Moonprince; his son Morkin; Rorthron the Wise; and Corleth the Fey. Each character could be moved independently around the vast world, recruiting armies and battling creatures. Doomdark’s own 250,000 Iceguard warriors were determined to hunt down and kill your men, and had the dreaded Ice Fear on their side – a terrible psychological power which could sap an army’s motivation to fight.
   
However, the allies had two powerful weapons. Luxor owned the Moon Ring, which gave him powers of command and vision. This enabled him to direct all the other characters. Morkin, meanwhile, could totally resist the Ice Fear, giving him the opportunity to seek out and destroy the Ice Crown (Doomdark’s power source) at the Tower of Doom in Ushgarak. In this way two strategies could be employed to win the game: the military campaign with Luxor, or the stealthy approach with Morkin.
   
Singleton’s vision was ambitious, and he would have to apply his programming skills towards organising and calculating vast armies across a map consisting of 4,000 independent locations with 32,000 separate views. Though movement commands were simple enough (typing NE, E, SW, and so on), the player would have to consider when to rest, when to recruit and which terrain to attempt to negotiate. Each had a significant effect on the player’s forces status. Interestingly, the adventure game The Hobbit provided the motivation for the technical intricacies. “It was one of the very first adventure games to include pictures, and I was suitably impressed by it,” says Singleton. “But two things struck me about the graphics. Firstly, although the cameos and landscapes were nice, they were purely decorative – they had absolutely zero function in the game. Secondly, it took ages for the graphics to be drawn, and I mean ages – not half a second or maybe a whole second, but one minute, maybe two.”



The limitations of the Spectrum’s 48K memory and difficulty in displaying colours would actually define Midnight’s stark visuals and gameplay mechanics. “I described [to Beyond Software] my idea of ‘landscaping’ – 3D panoramas which would be composed and drawn realtime by scanning a map of the game world and using scaled graphics for each of the landscape features. The graphics were all drawn directly to screen using the graphics utilities I had written and were largely dictated by the limitations of the medium. I wanted all of the characters to be bright and colourful, in contrast to the uniformly blue-and-white landscape. But on the Spectrum, you can’t colour individual pixels, you can only colour whole 8x8 pixel cells – a maximum of two colours per cell. This means that the characters had to be designed so that their colours fit to the cell boundaries, but also so that they don’t end up looking like Lego bricks.”
   
Due to Midnight’s complexity, the project had to be meticulously planned from the start. “The real key was not to write the game first and then try to compress it, but rather to write the game in compressed form right from the word go. I knew the landscape graphics would take up a lot of memory, so the first couple of weeks were spent writing routines that used a specially modified form of run length encoding and decoding for these graphics, as well as some utilities in BASIC that would enable me to interface with a graphics tablet and automatically scale and then manually touch up the landscape features I had drawn.”
   
Singleton was adamant that the game was not to be about merely wandering around and admiring the scenery. Much thought went into creating the characters and creatures to support the over-arching concept. Small details would prove to be significant once the player was submerged into the game world. “The data that the map had to store included landscape features, armies, place names, magical objects and creatures such as wolves, dragons, wild horses, skulkrin and trolls. Each of these was encoded with the absolute minimum number of bits,” explains Singleton. “The creatures, for instance, were stored in just one bit per cell. That bit said whether there were creatures there or not. Then a number-scrambling routine told you which type of creature it was by scrunching up the map coordinates of the cell. Likewise, all the text in the game was tokenised using a one- or two-byte code per word, and the words referred to were further compressed by using only five bits per character.”