3D Monster Maze

3D Monster Maze is a computer game developed from an idea by J.K. Greye and programmed by Malcolm Evans and released in February 1982 for the Sinclair ZX81 platform with the 16 KB memory expansion. The game was initially released by J. K. Greye Software in early 1982 and re-released later the same year by Evans' own startup, New Generation Software. 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.
J.K.Greye Software went on to become a very successful games company, publishing six Game Tapes for the Sinclair ZX81; two use 3D graphics: 3D Monster Maze and 3D Defender, both designed by J.K.Greye and programmed by Malcolm Evans.
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 Sinclair 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 codice_1 statement.
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 February 1982.
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:
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:
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:
Monster Maze's praises brought recognition to Malcolm Evans and his firm, New Generation Software, which continued releasing further 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:
"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:
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 codice_2 (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 codice_3. 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.