MegaZeux: Difference between revisions

From MZXWiki
Jump to navigation Jump to search
(→‎MegaZeux 2.7: - does anybody know what mzxlib was?)
m (Fix deadname)
 
(38 intermediate revisions by 11 users not shown)
Line 1: Line 1:
'''MegaZeux''' is a [[Game Creation System|GCS]] 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, [[Changelog for 1.00g|1.00g]], was uploaded to AOL on December 4, 1994.
{{Game
|title = MegaZeux
|image = Caverns.png
|creator = [[Alexis Janson]], [[Spider 124|Charles Goetzman]], [[Kevin Vance]], [[Akwende|Colin Branch]], [[Koji|Alexis Andersen]], [[Exophase|Gilead Kutnick]], [[ajs|Alistair Strachan]], [[Lachesis|Alice Rowan]], and others
|company = [[Software Visions]]
|released = December 4, 1994
|genre = [[Game Creation System]]
|directlink = megazeux.php
}}
 
'''MegaZeux''' is a game creation system created by [[Alexis Janson]]. It was inspired by [[ZZT]], for which Alexis and other members of [[Software Visions]] had created several games beforehand. The first version, [[Changelog for 1.00g|1.00g]], was uploaded to AOL on December 4, 1994.


==Features==
==Features==
Line 8: Line 18:


==History==
==History==
History of MZX's development.
''See also: [[:Category:Changelogs|MegaZeux Changelogs]]''
===Shareware Versions===
===Shareware Versions===
===Spider Versions===
[[File:mzx100g.png|thumb|alt=Screenshot of MegaZeux 1.00g|MegaZeux 1.00g]]
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 and playery|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.
MegaZeux 1.00g was released on AOL on December 4, 1994 as an executable for IBM PCs running MS-DOS. It was designed as an improvement over [[ZZT]], including digital sound and music on compatible hardware, editable [[character set|character sets]], and adjustable [[board]] sizes.


[[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 [[Super MZX|SMZX]] graphics mode (this version was released as SMZX 100 Alpha).
In 1995, Janson overhauled MegaZeux with a near-total rewrite for 2.00. User-facing changes included editing of the default 16-color EGA palette, a restyled interface, a more versatile world editor and Robotic language, and myriad fixes for bugs and inconsistencies.


===MegaZeux 2.7 and mzxlib===
MegaZeux 2.50 followed in 1996, using the more compatible, Windows-tolerant [[BWSB]] sound library. Shortly thereafter, [[Alexis Janson]] released version 2.51, her last, with minor bug fixes and additions. Janson later released MegaZeux's existing incomplete source code under the terms of the GNU GPL.
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.


===MZXak===
===MegaZeux After Janson===
[[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.
====Spider Versions====
With MegaZeux's source code newly available, [[Spider 124]] presented a beta of his own version, MegaZeux 2.51 s1, in 1999. Among new features were a vastly expanded [[counter]] limit (1000, compared to 2.51's 50 counters), true mouse support, player coordinate counters, and many bug fixes. Three more "Spider" versions (the latter two credited to [[JZig]]) were released until early 2000, bowing out with 2.51 s3.1.


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 [[ajs|wizdom's]] judging results in the [[Summer Dualstream Day of Zeux 2001|2001 DsDoZ]].
In 2001, [[MadBrain]] added the [[bimesg]] built-in counter to optionally disable MZX's default message text and trivially removed password protection for editing worlds, releasing his modifications as MZX 2.51 s3.2. Madbrain further modified s3.2 with the introduction of the [[Super MZX|SMZX]] graphics mode, releasing this version 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 alternative operating systems. Most initial coding was done by [[MenTaLguY]], until JZig took over in 1999. [[piman]], though not writing substantial code himself, maintained the project's SourceForge page. JZig ended development of MZX 2.7 in 2001. It was not picked up afterwards.
 
====MZXak====
[[File:Smzxtetris.png|250px|thumb|alt=Screenshot of SMZX Tetris|Akwende's SMZX Tetris, showcasing Super MZX mode]]
[[Akwende]] released the first MZXak version, MZXak 1.0, shortly after MadBrain's SMZX alpha version. MZXak made numerous changes and extensions (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. Following public debate and heel-dragging, he eventually released the source. Other MZXak 1.0 controversy involved its broken forward compatibility, which led to MZXak games being playable but not necessarily functioning in MZX2.51s3.1. This broke [[ajs|wizdom's]] judging results in the [[Summer Dualstream Day of Zeux 2001|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|Koji's]] 2.60 release. MZXak 2.0 is notable for being the only code fork to completely die out.
MZXak 2.0 was released after much waiting, though the release sparked a fair bit of dispute due to the sudden timing with [[Koji|Koji's]] 2.60 release. MZXak 2.0 is notable for being the only code fork to completely die out.


===Exophase Versions===
====2.60 through 2.70====
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 [[Expression|expressions]], [[Sprite|sprites]], [[String|strings]], [[Vlayer|the vlayer]], [[MZM|MZMs]], [[Super MZX|SMZX Mode 2]], and many others.
In 2002, Following the discussions about MZXak, Koji released MZX 2.60 and 2.61, including a subset of akwende's additions. [[Exophase]] energetically took over development of MegaZeux with 2.62. Features introduced between 2.62 and 2.70 (the last version of MegaZeux in [[DOS]]) include [[Expression|expressions]], [[Sprite|sprites]], [[String|strings]], [[Vlayer|the vlayer]], [[MZM|MZMs]], and [[Super MZX|SMZX Mode 2]].


===MZX32===
====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.
During Exophase's development of MZX for DOS, [[BFeely]] began work on MZX32, intended as a port of MegaZeux for Windows. Several alpha versions were released, most of which lacked the world editor (and all of which lacked the robotic code editor). MZX32 was unstable and buggy, and deemed obsolete once Exophase began work on his SDL port. The last released version of MZX32 supported games created using MZX 2.69c.


===SDL Port===
===SDL Port===
''See also: [[SDL]]''


[[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. 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. Other MegaZeuxers helped in various aspects; for example, the updated sound code was mostly [[ajs|ajs's]] and [[MadBrain|mad's]] doing, and some of the graphical renderers were designed by [[LogiCow]] and [[Mr_Alert]].
[[Exophase]] took most of the summer of 2004 to rewrite MegaZeux using [[SDL]], in order to eliminate DOS-specific limitations, solve MegaZeux's accumulating compatibility issues, and eventually expand MegaZeux onto other platforms. The Robotic editor's source code, long missing, was entirely rewritten. Many other source modules were either completely rewritten or heavily revised. After intense testing, MZX 2.80 was released on August 9, 2004, only intended for 32-bit Windows platforms. A slew of bug reports arising from public testing shortly followed, and Exophase quickly updated with three incremental versions within one month, also adding official support for Linux and Mac OS X. Other MegaZeuxers helped in various capacities; for example, [[ajs|ajs's]] and [[MadBrain|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]].


Each upgrade added some functionality (e.g. multi-char editor, code search, ogg support), and MegaZeux eventually resolved the various issues that prevented sucessful porting to Linux and Mac platforms. MegaZeux is currently extending to handhelds; [[Oncer]] released a GP2X port, and PSP compatibility is a future goal.
===Current Development===
Most version upticks since the SDL port have added some functionality (e.g. multi-char editor, code search, ogg support), and all have significantly improved 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.81f.
====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.


===LogiCow's Forks===
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.
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 few still use the older versions for the draw command, much to the annoyance of those that wish 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, notably support for [http://en.wikipedia.org/wiki/Forth_(programming_language) Forth], [[PZX#Features|among 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==
==External Links==
[https://sourceforge.net/projects/mzx32 MZX32 Project Page (Sourceforge)]
* [https://github.com/AliceLR/megazeux MegaZeux on GitHub]
 
* [http://www.facebook.com/pages/MegaZeux/289985854404705 MegaZeux Facebook Page]
{{stub}}
* [https://sourceforge.net/projects/mzx32 MZX32 Project Page (Sourceforge)]
* [http://mzx.devzero.co.uk/ The MegaZeux Developer Site (defunct)]


[[Category:MegaZeux]]
[[Category:MegaZeux]]

Latest revision as of 05:36, 18 April 2020

MegaZeux
Caverns.png
Author Alexis Janson, Charles Goetzman, Kevin Vance, Colin Branch, Alexis Andersen, Gilead Kutnick, Alistair Strachan, Alice Rowan, and others
Company Software Visions
Release Date December 4, 1994
Genre Game Creation System
Download Here

MegaZeux is a game creation system created by Alexis Janson. It was inspired by ZZT, for which Alexis 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

See also: MegaZeux Changelogs

Shareware Versions

Screenshot of MegaZeux 1.00g
MegaZeux 1.00g

MegaZeux 1.00g was released on AOL on December 4, 1994 as an executable for IBM PCs running MS-DOS. It was designed as an improvement over ZZT, including digital sound and music on compatible hardware, editable character sets, and adjustable board sizes.

In 1995, Janson overhauled MegaZeux with a near-total rewrite for 2.00. User-facing changes included editing of the default 16-color EGA palette, a restyled interface, a more versatile world editor and Robotic language, and myriad fixes for bugs and inconsistencies.

MegaZeux 2.50 followed in 1996, using the more compatible, Windows-tolerant BWSB sound library. Shortly thereafter, Alexis Janson released version 2.51, her last, with minor bug fixes and additions. Janson later released MegaZeux's existing incomplete source code under the terms of the GNU GPL.

MegaZeux After Janson

Spider Versions

With MegaZeux's source code newly available, Spider 124 presented a beta of his own version, MegaZeux 2.51 s1, in 1999. Among new features were a vastly expanded counter limit (1000, compared to 2.51's 50 counters), true mouse support, player coordinate counters, and many bug fixes. Three more "Spider" versions (the latter two credited to JZig) were released until early 2000, bowing out with 2.51 s3.1.

In 2001, MadBrain added the bimesg built-in counter to optionally disable MZX's default message text and trivially removed password protection for editing worlds, releasing his modifications as MZX 2.51 s3.2. Madbrain further modified s3.2 with the introduction of the SMZX graphics mode, releasing this version 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 alternative operating systems. Most initial coding was done by MenTaLguY, until JZig took over in 1999. piman, though not writing substantial code himself, maintained the project's SourceForge page. JZig ended development of MZX 2.7 in 2001. It was not picked up afterwards.

MZXak

Screenshot of SMZX Tetris
Akwende's SMZX Tetris, showcasing Super MZX mode

Akwende released the first MZXak version, MZXak 1.0, shortly after MadBrain's SMZX alpha version. MZXak made numerous changes and extensions (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. Following public debate and heel-dragging, he eventually released the source. Other MZXak 1.0 controversy involved its broken 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.

2.60 through 2.70

In 2002, Following the discussions about MZXak, Koji released MZX 2.60 and 2.61, including a subset of akwende's additions. Exophase energetically took over development of MegaZeux with 2.62. Features introduced between 2.62 and 2.70 (the last version of MegaZeux in DOS) include expressions, sprites, strings, the vlayer, MZMs, and SMZX Mode 2.

MZX32

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

SDL Port

See also: SDL

Exophase took most of the summer of 2004 to rewrite MegaZeux using SDL, in order to eliminate DOS-specific limitations, solve MegaZeux's accumulating compatibility issues, and eventually expand MegaZeux onto other platforms. The Robotic editor's source code, long missing, was entirely rewritten. Many other source modules were either completely rewritten or heavily revised. After intense testing, MZX 2.80 was released on August 9, 2004, only intended for 32-bit Windows platforms. A slew of bug reports arising from public testing shortly followed, and Exophase quickly updated with three incremental versions within one month, also adding official support for Linux and Mac OS X. Other MegaZeuxers helped in various capacities; 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.

Current Development

Most version upticks since the SDL port have added some functionality (e.g. multi-char editor, code search, ogg support), and all have significantly improved 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.

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, notably support for Forth, among 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