MegaZeux: Difference between revisions

From MZXWiki
Jump to navigation Jump to search
(→‎MegaZeux Forks: Clean up.)
(Is it short enough now? I agree it was getting too long, so I split it into a separate page.)
Line 55: Line 55:
LogiCow was not the only person to fork MZX; [[NihilistMatt]] created a fork called [[SquareMZX]]. SquareMZX knocked the resolution per-character to 8x8, but allowed a "quadrant" coloring system where each 2x2 section of any character can have its own color pair. This fork got very minor use; [[PROcrastination]] and the second [[RPG Skool Demo]] both could optionally use SquareMZX mode.
LogiCow was not the only person to fork MZX; [[NihilistMatt]] created a fork called [[SquareMZX]]. SquareMZX knocked the resolution per-character to 8x8, but allowed a "quadrant" coloring system where each 2x2 section of any character can have its own color pair. This fork got very minor use; [[PROcrastination]] and the second [[RPG Skool Demo]] both could optionally use SquareMZX mode.


[[zzo38]] is also desperately trying to make people care about his MZX fork. His version focuses on changes and "improvements" that are generally only of interest to him, including support for [http://en.wikipedia.org/wiki/Forth_(programming_language) Forth], the ability to use the old ALT+D function in the editor (only zzo38 seems to remember what this is or use the function to begin with), [[deferred expressions]], [[extended kinds]], new overlay modes and SMZX modes of dubious utility (including the one that draws overlay on the outside of the viewport instead of inside, one that draws only the overlay and not the board, an SMZX mode that uses 16 colors per character, ''[N.B. By halving vertical and horizontal resolution to create blocks of four bits? Please explain this. Better yet, see next note]'', and a blinking text mode), and displacement overlay modes which allow adjustment of the overlay by individual pixels. He also corrected a long standing, esoteric bug in the handling of built-in spider webs, which has been merged (with changes) into the existing codebase.  Despite the fact that zzo38 (and possibly [[smilymzx]], with his fixation on blinking text) is the only person who actually cares about any of these changes, zzo still claims to be working on it and released an initial version of it.
[[zzo38]] is also desperately trying to make people care about his MZX fork. His version focuses on changes and "improvements" that are generally only of interest to him, including support for [http://en.wikipedia.org/wiki/Forth_(programming_language) Forth], [[PZX features|and various other things]]. He also corrected a long standing, esoteric bug in the handling of built-in spider webs, which has been merged (with changes) into the existing codebase.  Despite the fact that zzo38 (and possibly [[smilymzx]], with his fixation on blinking text) is the only person who actually cares about any of these changes, zzo still claims to be working on it and released an initial version of it.
 
''[N.B. This is starting to read like a complete feature list/advertisement for your fork, which is not appropriate for the main MZX article.  Compare with the amount of text devoted to the other forks, and pare it down to that length (or I will do it for you), and consider creating a separate article for it if you really must describe every aspect in detail.]''


==External Links==
==External Links==

Revision as of 23:33, 14 June 2009

MegaZeux is a game creation system created by Gregory Janson. It was inspired by ZZT, for which Greg and other members of Software Visions had created several games beforehand. The first version, 1.00g, was uploaded to AOL on December 4, 1994.

Features

Robotic

See also: Robotic

Robotic is MegaZeux's object-oriented programming language. Some parts of the language, as well as the concept itself, are based on ZZT's ZZT-OOP, though Robotic is much more advanced than ZZT-OOP.

History

History of MZX's development.

Shareware Versions

In 1994, MegaZeux 1.00g was released on AOL. It was designed to be an improvement over ZZT, and at that point featured digital sound and music that could be played over Sound Blaster-compatible cards. It featured editable character sets and larger board sizes than ZZT.

Some time later, MegaZeux 2.00 was released, featuring a vast interface overhaul, the ability to edit the in-game palette, and other new features.

Finally, MegaZeux 2.50 was uploaded, and among other changes, included the brand new BWSB sound engine that was more compatible and more tolerant of Windows. Shortly thereafter, version 2.51 was released, with minor bug fixes and additions. This would be the last version Gregory Janson would release.

Spider Versions

After MegaZeux was released under the terms of the GNU GPL, Spider124 updated the source code with several useful new features and released his own version of MegaZeux, 2.51s1. Among the new features were a vastly expanded counters limit (1000, compared to 2.51's 50 counters), true mouse support, playerx/playery counters, and many bug fixes. Three more versions were released (s2, s3, and s3.1; of which 3.1 was a bug fix release) before development of MZX grew stagnant.

MadBrain took the s3.1 source, added one new feature (the bi_mesg built-in counter) and removed password protection, releasing his modifications as MZX 2.51s3.2. s3.2 was further modified with the introduction of the SMZX graphics mode (this version was released as SMZX 100 Alpha).

MegaZeux 2.7 and mzxlib

MZX 2.7 was an effort spearheaded by JZig to completely rewrite MegaZeux in C++, with a new graphics engine, audio code, and support for other operating systems such as Linux. Most of the initial coding was done by MenTaLguY, until JZig took over in 1999. piman, while not doing much coding himself, performed most of the non-code tasks such as updating the project's SourceForge page. JZig's development on MZX 2.7 stopped around 2001, and it was not picked up afterwards.

MZXak

Akwende released the first MZXak version, MZXak 1.0, shortly after MadBrain's SMZX alpha version. MZXak featured several additional features (some of which, like the multi-colored configuration dialogs, were determined by the community to be too useless to warrant the memory usage) including file access, robot targeting, and built-in SMZX mode. All MZXak versions included Akwende's MZX version of Tetris, which demonstrated the use of SMZX graphics.

MZXak 1.0 was pulled a few months after release from DigitalMZX due to Akwende's failure to release his source code under the terms of the GNU GPL. He eventually released the source, but not until a lot of public debate and heel-dragging. Other MZXak 1.0 controversy included forward compatibility, which led to MZXak games being playable but not necessarily functioning in MZX2.51s3.1. This broke wizdom's judging results in the 2001 DsDoZ.

MZXak 2.0 was released after much waiting, though the release sparked a fair bit of dispute due to the sudden timing with Koji's 2.60 release. MZXak 2.0 is notable for being the only code fork to completely die out.

Exophase Versions

Following the discussions about MZXak, Koji released MZX 2.60, featuring some of the same additions as MZXak. 2.61 was released shortly after, and around 2.62's release, Exophase took over development of MegaZeux. Tons of features were added in between 2.62 and 2.70 (the last version of MegaZeux in DOS) such as expressions, sprites, strings, the vlayer, MZMs, SMZX Mode 2, and many others.

MZX32

During Exophase's development of MZX for DOS, BFeely began development on MZX32, which was to be a full-featured port of MegaZeux for the Windows platform. Several alpha versions were released, most of which lacked the world editor (and all of which lacked the robotic code editor). MZX32 was generally regarded as unstable and buggy, and was deemed obsolete once Exophase began work on his SDL port. The last version of MZX32 released featured support for games created using MZX 2.69c.

SDL Port

Exophase took most of the summer of 2004 to do a update/rewrite of MegaZeux into SDL, to break some DOS limitations and to solve MegaZeux's ever-increasing compatibility issues (and to eventually expand MegaZeux onto new platforms such as Linux and the Macintosh). This included re-writing the entire Robotic editor from scratch as source was no longer available for it. Many other source modules were either completely rewritten or heavily revised. After intense pre-testing, MZX 2.80 was released on Aug 9 2004, with workability only intended for Windows 32 platforms. A slew of bug reports that only arises from public testing shortly followed, and Exophase quickly updated with three incremental versions in one month which also officially added support for Linux and MacOS X. Other MegaZeuxers helped in various aspects; for example, ajs's and mad's GDM conversion code was a basis for SAM conversion code. Later on, ajs would write support to abstract file operations for case sensitive file systems, and additional graphical renderers were designed by LogiCow and Mr_Alert.

Most version upticks added some functionality (e.g. multi-char editor, code search, ogg support), and all significantly increased stability. MegaZeux is currently extending to handhelds and consoles: Oncer released a GP2X port, kvance a Nintendo DS port, Mr_Alert a Wii port, and Exophase has done preliminary PSP support.

The current version is 2.82b.

MegaZeux Forks

In early 2007, LogiCow created his own fork of the MZX source. The first version added the Draw command, allowing users to scale characters from the vlayer. It also served as an underlay (as opposed to an overlay). In more recent versions, the draw command was deleted. A select persisted in using the older versions for the draw command, much to the annoyance of those wishing to stay with Exophase's versions.

A short time after the previous fork, LogiCow created another fork with an alternate renderer that scaled the graphics up to fit the screen, regardless of aspect ratio. This also allowed for seamless resizing of the MZX window when not running in full screen mode. logicow worked with ajs to merge these renderers into the mainline MZX versions, starting with 2.81e.

LogiCow's final fork of MZX (based off of 2.81g) was solely to play Caverns of Zeux with enhanced graphics.

LogiCow was not the only person to fork MZX; NihilistMatt created a fork called SquareMZX. SquareMZX knocked the resolution per-character to 8x8, but allowed a "quadrant" coloring system where each 2x2 section of any character can have its own color pair. This fork got very minor use; PROcrastination and the second RPG Skool Demo both could optionally use SquareMZX mode.

zzo38 is also desperately trying to make people care about his MZX fork. His version focuses on changes and "improvements" that are generally only of interest to him, including support for Forth, and various other things. He also corrected a long standing, esoteric bug in the handling of built-in spider webs, which has been merged (with changes) into the existing codebase. Despite the fact that zzo38 (and possibly smilymzx, with his fixation on blinking text) is the only person who actually cares about any of these changes, zzo still claims to be working on it and released an initial version of it.

External Links