# 3D Monster Maze

3D Monster Maze is a 1981 survival horror game designed by Malcolm Evans and published by J. K. Greye Software for the ZX81. Rendered using low-resolution character block "graphics", it was one of the first 3D games for a home computer, and one of the first games incorporating typical elements of the genre that would later be termed survival horror.
3D Monster Maze puts the player in a maze with one exit and a hostile monster, the Tyrannosaurus rex. There, the player must traverse the maze, from the first-person perspective, and escape through the exit without being eaten.
New Generation Software went on to become a well-known software firm with the Sinclair platform and continued to pioneer the 3D gaming technology for ZX81 and the later model ZX Spectrum. The press immediately gave the game a title of a "firm favourite" of the ZX81 users. Decades later, it became popular with the retrogaming community, inspiring remakes and fuelling ZX81 emulation projects.

## Gameplay

The game uses an 18-by-16 cell maze which is randomly generated. Initially the T. rex lies in wait. Once the player starts moving, the beast begins hunting. Thereafter, the T. rex may either calm down (if the player goes into a part of the maze that is far enough away), or become more active as the player comes closer. If the T. rex gets a direct view of its prey, the monster will run directly at the player.
The T. rex anxiety level, reported to the player as a statement in the status line, provides an indirect clue to the player's relative distance from the monster. These statements are: REX LIES IN WAIT, followed by HE IS HUNTING FOR YOU, FOOTSTEPS APPROACHING, REX HAS SEEN YOU, and RUN HE IS BESIDE YOU or RUN HE IS BEHIND YOU. The player's speed is greater than the monster's, thus it is possible to escape by running (unless the player is trapped in a dead end). The player can manually map the maze on a piece of paper with each step, but this becomes increasingly difficult as the pace increases. The fast pace can also lead to hard keyboard presses, which, in turn, can shake the computer/16K memory expansion connection, and lead to a sudden reset with several minutes worth reload time.
Points are awarded for each step made by the player any time the dinosaur is on an active hunt. Since the player runs faster than the monster, it is possible to accumulate points by running around in circles with the monster just a few steps behind. Points are also given upon successfully getting away through an exit and into another maze.
When the game ends, the player is informed about being "sentenced to roam the maze forever", and then can either "appeal" or continue playing again in the last maze. If the appeal is attempted, it is rejected with 50% probability, in which case the player is sent back to roam the previous maze again. An appeal which is accepted effectively results in the computer self-reset via BASIC's NEW statement.

## Technology

The graphical view, animated in real time at around 6 frames per second, is composed of 8×8 pixel black-and-white characters, so the view is roughly square, taking a 25×24 area on the 32×24 text screen. Sub-character resolution of the ZX81 pseudo-graphics character set makes the resolution doubled in each dimension (making the view consist of 50×48 "larger pixels"). Using the 6 pseudo-graphics with a dithering pattern also made it possible for the game author to incorporate a third colour (grey) in the black-and-white picture. Part of the screen is reserved for the score count, and a one-line status message is occasionally overlaid at the bottom of the graphical view. The player always runs along the corridor's centreline, and looks in the current direction only, which simplifies the rendering task.
The game's 3D engine and the random maze creation code is written in Z80 machine code, produced with an assembler. This is augmented by several dozen BASIC lines for less critical tasks, such as the initial greetings and the game legend animation inter-line delay. The machine code subroutines block is embedded into the BASIC line 0, beginning with a REM (BASIC comment) statement, making the interpreter step over it. If, by accident, one tries to edit the line via the BASIC line editor, the changes will not be accepted since 0 is an invalid line number. Such code is typically created by first creating a line with a valid number, and then modifying the number field in the BASIC program area using direct memory manipulation, such as POKE. No copy protection is embedded into the game; moreover, the magnetic tapes of the time being unreliable, one could reuse the save entry point in the BASIC code (that was used by the original developers to have the game auto-run upon being loaded by the user) in order to save another program copy to the tape (for archival and backup purposes).
The game is controlled by three of the keyboard cursor control keys (left, forward and right, respectively 5, 7 and 8 on the ZX81 keyboard). The game speed can also be controlled – according to the original cassette inlay, the BASIC line 370 has a hardwired constant determining a busy waiting loop delay. The constant initially is set to 5; by varying it from 0 to 9 the game can be adjusted from faster to slower tempo. The 6 frame per second figure corresponds to the delay set to zero, while holding the "forward" key to run straight. A somewhat jerky motion is perceived at this slow framerate which gives a feeling of being jerked along with each step of a desperate heavy run.

## Development

3D Monster Maze was the first game programmed by Malcolm Evans based on a design by J.K.Greye. He worked in the aerospace industry, first in aircraft design, and then as a microprocessor scientist at Sperry Gyroscope in Bristol, United Kingdom. He received a ZX81 from his wife for his thirty-seventh birthday in April 1981. Malcolm developed basic aspects of the game to test what the computer was capable of, and completed it after adding design features suggested by J.K.Greye, including adding the T.Rex and turning the Maze into a game. Friends persuaded Malcolm that the game was of high enough quality to sell and it was eventually released by J.K. Greye Software in late 1981.
When soon after that the Bristol branch of Sperry Gyroscope closed, Malcolm made a decision to concentrate fully on computer gaming. The firm New Generation Software he had founded kept producing 3D games for the Sinclair Research computers, and became synonymous with 3D gaming on this platform for some time. Some of his games were hailed by the gaming scene, but some titles occasionally drew criticism from reviewers for their fancy graphics but poor game plot. After releasing 3D Defender and Breakout for the ZX81, Malcolm switched the development efforts from ZX81 to ZX Spectrum as the latter model was released onto the market. In addition to republishing 3D Monster Maze, the new firm also released such game titles as Escape, 3D Tunnel, Knot in 3D, Corridors of Genon, Trashman and Travel with Trashman, Light Magic, Jonah Barrington's Squash, The Custard Kid and Cliff Hanger.

## Reception

The game was sold domestically in the UK and overseas, and became a hit shortly after it was released:
   ... when the ZX81 had just been launched, software standards were generally pretty low. One exception to this rule was a program called 3D Monster Maze, which has been a firm favourite with ZX81 owners since it first appeared ...
Contemporary reviews described it as "the best game I have seen for the Sinclair ZX81" and "Brilliant, brilliant, brilliant! Straight away this gets into my personal top ten ZX Programs ... Undoubtedly one of the best ZX programs available.".
Even though it did not use the undocumented hi-res graphics feature of the ZX81, and rendered the scene with pseudo-graphics characters (available in the standard ZX81 character set), the game was considered to be a remarkable achievement, utilising the machine's capabilities to its best:
   If I had to choose just one programme to impress an audience with the capabilities of the ZX81, then 3D Monster Maze would be the one without a doubt.
Soon the Sinclair platform users began switching over to the newer ZX Spectrum, which had better graphics resolution and colour, bigger RAM and ROM, as well as sound capability and a sleeker look and feel. Some people still continued to use their ZX81, and even the Spectrum users gave credit to 3D Monster Maze as the game that brought the 3D aspect into the home computer gaming:
   Even those critics who dismissed the ZX-81 as a child's toy, had to admit that the program was innovative and well-presented. Monster Maze marked the rise of the use of 3D techniques on microcomputers as small as the ZX-81 and Spectrum.
The success of Monster Maze brought recognition to Malcolm Evans and his company, New Generation Software. As a result, they continued to release more games that further improved the 3D gaming experience. Even when later hit games by N.G.S., such as Trashman, were covered by the gaming media reviews, 3D Monster Maze was remembered as the landmark impressive start:
   From the outset New Generation and Malcolm Evans have become synonymous with 3D graphics ...
Edge in 2006 stated that 3D Monster Maze "is the original survival horror game", writing "Ask any player and they'll tell you what 3D Monster Maze was chiefly about: fear, panic, terror and facing an implacable, relentless foe who's going to get you in the end." Retro Gamer agreed, in 2014 stating that "Survival horror may have been a phrase first coined by Resident Evil, but it could've easily applied to Malcolm Evans' massive hit." With ZX81 games played mostly in emulated environments by the retrogaming community, it still receives enthusiastic reviews, even while modern high-end gaming consoles and home computers provide much richer capabilities for one's immersion into a first-person 3D game:
   Best of the old games we played this month... The best thing about 3DMM was strangely the silence as you moved around. ... This added to the atmosphere. This also added to the scares. There was nothing worse than heading down a corridor and in the distance seeing the start of the dino heading towards you. Because the graphics were slow to draw the dino came at you in a few steps. Turning around and sprinting the other way was a manic dance across the keyboard, while you looked stunned as the screen filled with teeth. It was truly a pants wetting moment.