About Wizardry: Proving Grounds of the Mad Overlord

It has been suggested that this was the first commercial computer game to have a public beta for public beta testing. The beta was sold at full price as "Dungeons of Despair" and promised users that a full game shaped by user feedback would eventually be provided to them and no additional cost. Dungeons of Despair became three levels within the final game. This provided the company with 24-7 testing, at the customers expense. The influx of thousands of dollars in cash reduced the risk of spending extra effort and money on the project to make it better. Difficulty was fine tuned and an unimaginable number of bugs were identified and eliminated before the complete game made it to retail outlets. Testers got their copies of the full game at no extra cost before anybody else could buy it. This unexpected level of success resulting from this experiment lead to better deals for beta testers on future projects for the entire gaming industry.

Some bugs however, still slipped through:

The Bishop character can attempt to identify item #9 in an inventory by typing "9" when prompted, even though characters have only 8 inventory slots. If this identification succeeds, the Bishop is awarded 100,000,000 xp. But it gets better, a Bishop can attempt to identify any key the player types. "s" awards the xp to the character just below the Bishop on the character list. And "j" awards 100,000,000 gold to the character below. Some keys (that I have not yet identified) will transport the party to different levels of the dungeon. Most keys, however, crash the game. This bug was promoted to "a feature" for later ports of the game. And this a legitimate bug, not a leftover test feature. It is due to some choices by the programmer, some quirks of PASCAL, and a legitimate oversight by the programmer. The targeted Apple][ platform had a limit of 48k so hard memory saving decisions had to be made. Bounds-checking was disabled in order to save memory. And here in lies the PASCAL quirk. If data has too many bits to fit in the given variable, and bounds-checking is off, the extra bits are spilled over into the next variable. The 4th bit and later bit of the input that was supposed to be only 3 bits (1-8) would spill over into the XP variable. And finally we come to the oversight by the programmer. The code looking at the user's input reads 'if (ch >= "1") or (ch <= "8")' to determine if it should proceed with the supplied input. In plain English, this asked if the user's input is equal to one or greater or equal to eight or lesser before using it. Logically, everything meets that criteria. The code should have read 'if (ch >= "1") and (ch <= "8")'. So only input one or greater and eight or lesser would lead to its use.

While resting at the inn, remove the game disk and insert a blank disk. This will cause level-ups.

An old standby for RPGs that let you create, add, and remove characters. Create new characters, give all their gold to one, delete the bankrupt characters, repeat until your greed is satisfied.


The Wizard’s Workbench by Magicsoft allows one to edit Wizardry scenarios and even create new RPGs based on Wizardry's design.