MegaZeux
From Wikipedia, the free encyclopedia
MegaZeux | |
In-game screenshot |
|
Developer: | Gilead Kutnick, Alistair "AJ" Strachan and others |
---|---|
Latest release: | 2.81c / December 15, 2005 |
OS: | Cross-platform |
Use: | Game creation software |
License: | GPL |
Website: | megazeux.sourceforge.net |
MegaZeux, or in short MZX, is a game creation system (GCS) based on Tim Sweeney/Epic Megagames' classic shareware game ZZT. MegaZeux was created in late 1994 by Gregory Janson, who formed his own company, Software Visions (now defunct). Like ZZT, MZX was released as shareware and the world editor portion of the program was included for free, allowing third parties to create their own worlds without even registering. MZX improved on ZZT in almost every aspect:
- The graphics are still text-character based, but each character's foreground and background colors are independently assignable, and the character set could be edited to change the font, as well as to change unused characters such as the tilde or non-English characters into graphic symbols such as player pictures. The color palette was also made editable in version 2.00.
- 4-channel (MZX 2.07 and under) and 32-channel (MZX 2.48b and up) MOD music was supported, as well as SAM sound effects. Other module formats such as S3M were also supported via an intermediate format, GDM. Recent versions of MZX (2.80+) support advanced module formats, OGG and WAV directly.
- The game object programming language, originally named Robo-P and later renamed Robotic, was heavily based on ZZT-oop, but was also heavily improved. Commands were now stored as bytecode instead of raw text, error checking was done in the editor instead of at runtime, and arithmetic commands were present. Later versions added things such as subroutines and mathematical expressions, although the nature of these additions was often unnatural due to the inability to edit the change the keywords of the language itself at the time. Robotic currently has almost no memory restraints for code or number counters.
MZX came with a default game, Caverns of Zeux. This was a sequel to an earlier Software Visions shareware game, Labrynth [sic] of Zeux, which was a side-scrolling action game about a theologian/archeologist named Vince Louis who retrieves the magical Silver Staff from the ancient Labyrinth of Zeux. In Caverns, Vince has just retrieved the Staff when it emits beams of magical power and teleports him into a vast network of caverns filled with traps, puzzles, and monsters. As incentive for registration, players could purchase the other three Zeux games, Chronos Stasis, Forest Of Ruin, and Catacombs Of Zeux, all of which dealt with Vince's quest to return home.
MZX was fairly popular with the ZZT community due to its new features, and Janson stayed around with the newly-formed MZX community for a while, releasing an entirely different game, Weirdness, which utilized the improvements made in MZX 2.00. Weirdness, as its title implies, is a bizarre adventure game about a young boy, Jace Nyglus, who wakes up one night to discover that a large object has made a crater in his backyard. Weirdness bears remarkable similarity to Ape Software's Super Nintendo classic, EarthBound, almost appearing to be a parody of it. Shortly after Weirdness's release, Janson suddenly left the community and dropped MZX entirely (citing "going to college" and "personal reasons", though he later elaborated that he simply couldn't stand the average MZXer then[citation needed]), releasing all his work to the public domain. This included all his previous ZZT work and the beginnings of Weirdness II, which apparently dealt with Jace's adventures on the crashed ship.
MZX stayed at version 2.51 for a while until various MZXers such as Spider124, CapnKev, and MenTaLguY took the code — which had been released under the GNU GPL as a result of negotiations between the latter and Janson's successor-in-interest MattW — and began to modify it. One of the first alterations was to expand the variable limit from 50 "counters" (signed 16-bit integers) to 1000, a marked improvement. Later Spider versions also added such features as mouse support. After Spider124 stopped developing MZX others jumped at the opportunity to add new features to the GCS. Following MadBrain's v2.51s3.2 release MZX development was split into two distinct branches, the Spider branch (which would later become the mainstream MZX code base) and a small, but significant, branch started by Akwende. MZX Akwende (MZXak) is noteworthy because, while introducing features such as SMZX (a text mode hack discovered by MadBrain that allowed game developers to have four colors per character with the side-effect of cutting the horizontal resolution of each character in half) version 1 did not comply with the GPL -- the code was only made publicly available months after its release and with much protesting from Akwende. MZXak also found itself slammed with controversy after its release due to accusations stating that Akwende didn't actually code many of the features that were implemented in his release though there was no proof of this due to the fact there was no active source respository; also, many people accused Akwende of keeping v2 hostage. During this controversy Koji released MZX v2.60, a version that included many features of MZXak v2 and did not violate the GPL. Koji followed this release up with v2.61 before Exophase took control of the main branch. Exophase's versions kept many of the prior improvements, but fixed many compatibility issues and added even more features, such as expanded string capability. Some of the most major changes came with MZX 2.65 through 2.70, which added several new features such as:
- Programmable sprite objects, which are drawn above the normal playing field and can be very large.
- Subroutines.
- Mathematical expression evaluation.
- An added virtual layer.
- Reintroduced SMZX, which halved horizontal resolution to achieve two-bit color, so that up to four colors could be used in one character, and added more functionality to SMZX.
Later versions added various new improvements, but the biggest change came with version 2.80, a cross-platform version (running natively on Microsoft Windows, Linux and Mac OS X) that used the SDL library to eliminate hardware compatibility issues. 2.81c is the current version of MZX, and the MZX community is still at work on improving MZX's capabilities. The latest version of MZX can be found at DigitalMZX.