ZZT pre-release changes

From Wiki of ZZT
Jump to navigation Jump to search

While ZZT was developed throughout 1990, changes were made prior to its initial release, ZZT 2.0. As ZZT was a one-man project, it is unlikely any of these builds have been preserved. In addition, Turbo Pascal 5.5 does not link unused functions into the binary, further limiting insights. However, some information about these changes can be gathered nonetheless.

Warning: A lot of this section is speculative in nature.

Known changes

  • At some point, the color of Water was blinking white on dark blue (0x9F) - as shown in DEMO.ZZT. However, sometime before the initial release, it was changed to blinking blue on light gray (0xF9).
  • At suggested by the reverse-engineered source code, the character displayed for Stars was #char 83 S (0x53). This was likely changed when they got their own drawing procedure.
  • As suggested by the reverse-engineered source code, early ZZT worlds did not contain a magic version number - they started with the board count.
  • As suggested by the reverse-engineered source code, early Scrolls had their own, separate text window variable. It may be that in a prototype version of ZZT, they were not capable of executing ZZT-OOP.
    • In ZZT 3.0+, CopyStatDataToTextWindow is a part of the game logic unit, not the editor unit - which hints at a possible code path for such a Scroll being populated with text.
  • As suggested by an error in the documentation, some element and counter names have changed during development:
    • "Energy" - purpose unknown,
    • "Conveyor1" - most likely the old name for clockwise conveyors before they got renamed, based on their key shortcuts still being "F1 -> 1" and "F1 -> 2", respectively.

Town of ZZT

  • The Bank of ZZT has three commented out #play statements in the code of the vault mechanism:
    • 'play hfcdefcdefcdefcde for when the mechanism is active.
    • 'play q+fe+chf to indicate success.
    • 'play hfc to indicate failure.

Scrapped content

  • At some point in time, a world called PHYSICS, referred to as "The Physics Behind ZZT", was being considered. The in-source mention was removed by the release of ZZT 3.0.

Unused functionality

  • As suggested by the reverse-engineered source code, the possibility of touch events coming from stats other than stat 0 (the Player) was being considered at some point, but was ultimately not utilized.