User Tools

Site Tools


release:classiczoo

This is an old revision of the document!


ClassicZoo

ClassicZoo is a fork of ZZT by Adrian “asie” Siekierka, started in late 2020 and initially released in March 2021. Its goal is to improve the ZZT experience while sticking close to the original engine's feel and keeping full compatibility.

If you'd like to learn more about ZZT, the Museum of ZZT is a good place to start. They also have a welcoming Discord server!

System requirements

DOS (IBM PC)

  • 386/486-class CPU (8086 minimum, 286 will run old game worlds fine),
  • 640 KB of RAM (512KB minimum),
  • EGA/VGA graphics adapter (CGA/Hercules minimum).

DOS (NEC PC-9801)

  • 386/486-class CPU (8086 minimum, 286 will run old game worlds fine),
  • 640 KB of RAM (512KB minimum).

Windows/Linux

… If you're running (a reasonably recent version of) Windows/Linux, you can run ClassicZoo.

Amiga

  • 68000-class CPU or above (68000 accelerator or 68020+ recommended),
  • 1MB of RAM minimum.

Help

Most help is provided in-game, available by pressing “H”.

Command line arguments (DOS)

ClassicZoo supports a few command line arguments on launch:

  • /NOEMS - disable EMS extended memory support,
  • /NOXMS - disable XMS extended memory support,
  • (4.16+) /NOSNOW - force-disable CGA snow avoidance logic; by default, it is disabled if an EGA/VGA-compatible card is detected, however many CGA clone cards also do not suffer from CGA snow. This can improve performance.

Tips (Amiga)

  • For better performance (and to run on 640×256 screens), run setenv FPC_VIDEO_BUILTINFONT vga8 before launching the port. This may be fixed eventually, with ClassicZoo getting its own 8×8 font bundled.

Major features

  • Increasing the board size limit from 20000 to 65500 bytes (65535 bytes on SDL2 ports).
  • Increasing the board count limit from 101 to 256 boards.
  • Major CPU and memory usage optimizations.
  • Major editor enhancements: syntax highlighting, OOP import/export, STK color and element support, multiple patterns, block and OOP copy/paste, bugfixes
  • Fixes for crash/hang engine bugs, while keeping compatibility.
  • Subdirectory support in the file browser.
  • Accessibility options: Neuromotor assistance.
  • Builtin support for custom charsets/palettes (SDL2), CleanZZT.
  • Support for new platforms: NEC PC-9801, Windows, Linux, Amiga…

The complete list of features is provided in the changelog, which is bundled with ClassicZoo.

Platform-specific

  • (DOS) EMS/XMS extended memory support - effectively lifts the world size limit, as well as improving stability of large worlds on machines with lower amounts of free conventional memory.
  • (Windows/Linux) Improved keyboard input logic, high quality sound rendering, advanced graphics configuration options.

Known issues

  • (Amiga) No sound support. TODO

Screenshots

DOS (IBM PC)

DOS (NEC PC-9801)

Amiga

Downloads

In most cases, you want the build in bold for your platform.

If you're looking for game worlds, try the Museum of ZZT! Here are some recommendations:

Current version

ClassicZoo 4.22

Released on the 25th of January, 2022.

ClassicZoo 4.18

Released on the 31st of December, 2021. Older build with slightly lower memory requirements.

Previous versions

ClassicZoo 4.21

Released on the 1st of January, 2022.

ClassicZoo 4.20

Released on the 29th of December, 2021.

ClassicZoo 4.17

ClassicZoo 4.16

ClassicZoo 4.15

ClassicZoo 4.14

Released on the 11th of July, 2021.

ClassicZoo 4.13

Released on the 27th of May, 2021.

ClassicZoo 4.12

Released on the 13th of April, 2021.

ClassicZoo 4.11

Released on the 11th of April, 2021.

ClassicZoo 4.10

Released on the 6th of April, 2021.

ClassicZoo 4.03

Released on the 28th of March, 2021.

ClassicZoo 4.02

Released on the 27th of March, 2021.

ClassicZoo 4.01

Released on the 23rd of March, 2021.

ClassicZoo 4.0

Released on the 6th of March, 2021.

FAQ

  • Q: Which build and executable of ClassicZoo should I use?
  • A: For a given platform, the regular build (in bold) is the best option.
    • For low-memory DOS platforms, ClassicZoo 4.1x is kept around due to its (slightly) smaller runtime memory requirements.
    • The libre DOS build is provided for projects which do not wish to utilize non-libre code included by Turbo Pascal's compiler. However, it has a memory usage penalty and a larger binary size.
  • Q: Should I use DOSBox or Zeta with ClassicZoo?
  • A: Use the native SDL2 build! It's much better than either option.
  • Q: I'd like to make a ZZT 3.2-compatible game. How can I ensure ClassicZoo's bugfixes don't get in the way?
  • A: The “?DCOMPAT” command in the editor build serves exactly this purpose. If enabled, it will emit a warning when most bugs fixed by ClassicZoo are encountered - including behaviours which are unreliable in ZZT 3.2, but not always a crash or hang (like double #BIND).
  • Q: How good is ClassicZoo's compatibility relative to ZZT 3.2?
  • A: As a rule, all games released for ZZT 3.2 should work correctly in ClassicZoo, and the two should be freely interchangeable for this purpose. However, some proof of concept worlds which rely on arbitrary code execution exploits (like PortalZ or Hack the Matrix) will not work correctly.
    • The Compatibility option toggles between “Normal” and “Strict”. “Normal” mode enables the following additional bugfixes and is the default on most worlds:
      • Conveyors destroying the Player in an edge case.
release/classiczoo.1643102394.txt.gz · Last modified: 2022/01/25 09:19 by asie