Category Archives: Euphoria

ZZT, and my port to Euphoria

ZZT.  Not a lot of younger kids know it, but us kids of the 90’s have heard of it, played it, and most of us have loved it.  What is ZZT?  It’s a game that was developed by Tim Sweeny in about 1991.   It was completely text-based, no pixel graphics whatsoever.  It was released as shareware.  The first world, TOWN.ZZT, was free, and public domain.  Also included was DEMO.ZZT (Explains the editor), and TOUR.ZZT (Preview of the three other Worlds).  If you wanted these worlds, plus a few extras, you had to pay.  (I think is was $15.00 or something.)  But those worlds were CAVES.ZZT, DUNGEONS.ZZT, and CITY.ZZT.  The main reason ZZT became popular, though, was the ZZT editor.

ZZT’s editor came with the free version of ZZT.  You could recreate any of the worlds from Tim Sweeny, and distribute them, completely free.  Of course, Tim Sweeny knew this, and developed a lock system, but people found their way around it.  In any case, this editor is the main reason ZZT is still around.  People are STILL making worlds with it.

After a while, though… Tim Sweeny decided to release ZZT as freeware.  However…  He said he lost the source-code to ZZT.  Needless to say, people have tried to make ports of it, some with success, others without.  The last version of ZZT that  Tim Sweeny created was v3.2  And since then, MegaZeux, has been created.  It’s based off of ZZT, and started in much the same way, also, eventually, released as freeware.

Given all this, however, few people have been able to create an actual port that acts exactly like the original.  Many have tried.  PLASTIC, freezzt, and even EuZZT (My own), all of which are programmed in different languages.  There’s a JavaScript version, Python, Java, and many others.  Mine, is done in Euphoria.

One may ask “Why are you making this?”  Well, a number of reasons.  I pride myself on being able to “copy” things.  Anything from the programming world, I can copy.  So part of the reason is because of that.  I want to be able to copy it exactly.  But there are other reasons.  I want to increase Euphoria’s popularity, I want to show others how awesome ZZT is, and, i want people to be able to play ZZT in any OS.  Since Euphoria can run on almost any OS, I chose Euphoria as the language.  And, it’s a major project.  I don’t expect to finish anytime soon, though an Alpha should be available soon.  In any case, it;’s also just a fun thing for me to try, so I can learn to program better and more efficiently.

You can learn more about ZZT on Wikipedia, or head to the z2 homepage and download it, trying a few of the worlds.  And, if you feel really daring, you can try building worlds of your own.  Some of my personal favorites are Chrono Wars, and ESP  (Evil Sorcerer’s Party).  And…  Just in case you’re curious, you can always find me on z2 as EuphoriaZZTer.