Many locations were illustrated by an image, based on originals designed by Kent Rees. On the tape version, to save space, each image was stored in a compressed format by storing outline information and then flood filling the enclosed areas on the screen. The slow CPU speed meant that it would take up to several seconds for each scene to draw. The disk-based versions of the game used pre-rendered, higher-quality images.
The game had an innovative text-based physics system, developed by Veronika Megler. Objects, including the characters in the game, had a calculated size, weight and solidity. Objects could be placed inside other objects, attached together with rope and damaged or broken. If the main character was sitting in a barrel which was then picked up and thrown through a trapdoor, the player went too.
Unlike other works of interactive fiction, the game was also in real time - if you left the keyboard for too long, events continued without you by automatically entering the "WAIT" command with the response "You wait - time passes". If you had to leave the keyboard for a short time, there was a "PAUSE" command which would stop all events until a key was pressed.
The game had a cast of non-player characters (NPCs) that were entirely independent of the player and bound to precisely the same game rules. They had loyalties, strengths and personalities that affected their behaviour and could not always be predicted. The character of Gandalf, for example, roamed freely around the game world (some fifty locations), picking up objects, getting into fights and being captured.
The volatility of the characters, coupled with the rich physics and impossible-to-predict fighting system, meant that the game could be played in many different ways, though it could also lead to problems (such as an important character being killed early on). There were numerous possible solutions and with hindsight the game might be regarded as one of the first examples of 'emergent gaming'. This also resulted, however, in many bugs; for example, during development Megler found that the animal NPCs killed each other before the player arrived. The game's documentation warned that "Due to the immense size and complexity of this game it is impossible to guarantee that it will ever be completely error-free". Melbourne House issued a version 1.1 with some fixes, but with another bug that resulted in the game being unwinnable, forcing it to release version 1.2, and the company never fixed all bugs.