8 ms·
ZZT: Epic’s First Game
- jmcgough 6y agoI have so many good memories of being a part of the amazing ZZT community and the surprisingly solid games a bunch of teenagers made for fun (burger joint, november eve, the zelda trilogy), as well as making my own crappy little games for friends to play. The engine for ZZT was so quirky with lots of limitations, so it was fascinating to see the ideas that people came up with to make elaborate games like RPGs, survival horror, etc. People would ship games they called toolboxes, which had unique and interesting objects or unnaturally colored blocks that you could use for your own games. There was a series called ZZTV that was an anthology of small games, stories, and teenage rants https://museumofzzt.com/article/422/closer-look-zztv-3 https://museumofzzt.com/article/422/closer-look-zztv-3
- asiekierka 6y ago>People would ship games they called toolboxes. The term was "toolkits". While most probably followed the convention due to Alexis Janson's 1994 Super Tool Kit, or STK - which utilized hex editing to unlock far more color variants than the engine itself offered - there were actually earlier, based on using in-world interactions to get a more limited set of color variants - such as "Tim's Toolkit" from 1992.
- endgame 6y agohttps://museumofzzt.com/article/500/closer-look-z-files-v251 https://museumofzzt.com/article/500/closer-look-z-files-v251
- waiseristy 6y agoThis writer must not remember the way Fortnite originally released. It has had such a weird history. The game originally was not battle royale, and released as a paid early-access title. To this day, you still have to pony up 15$ to get access to the game as it was released back in 2017. The battle royale expansion was added after the game completely flopped on release and the absolutely insane energy around DayZ and PubG started bubbling over to the rest of the industry. Fortnite : Battle Royale was the only way at the time to play a royale-type game on a minimally spec'd machine and thus quickly became a total hit.
- mhh__ 6y agoWrt to the last sentence - PUBG ran like a old dog when it was in it's infancy so there was a big gap for fortnite to take.
- waiseristy 6y agoOh totally, and the various Arma mods that this all spawned out of were on par or even worse
- amerine 6y agoWasn’t Battle Royale, the ArmA II mod is what kicked this entire genre off? Everyone was looking for a non DayZ/non Life/RP game mode. I think you have the history backwards.
- waiseristy 6y agoWell it's only backwards if you think DayZ had nothing to do with the start of the Arma modding craze. The Battle Royale mod you're talking about was literally called "DayZ: Battle Royale", and was based largely on the DayZ mod. The random spawn point with no gear, and gearing up by scavenging random loot was directly ripped from DayZ
- deleted 6y ago[deleted]
- chrysoprace 6y agoPotentially unpopular opinion: I much preferred the zombie apocalypse objective game that Fortnite was in early access. Now it's just a generic battle royale.
- MattRix 6y agoIt’s only generic if you just look at screenshots, beneath the surface it’s not generic at all! There’s really no competitive game like it, where you build your own battlefield in real-time. Each player acts like a level designer, trying to structure the level to give advantages to themselves and disadvantages to their enemies. The fact that Fortnite is popular with kids has blinded most people to the fact that it’s the most strategically interesting competitive game to arrive in ages.
- endgame 6y agoDespite ZZT being 30 years old, the Museum of ZZT (mentioned briefly at the end of the article) has attracted a small but vibrant community. Zeta sets ZZT free from DOS and DOSBox, and because Zeta can be even compiled to JS, games can be published to places like Itch. Example: The King In Yellow Borders, a horror game: https://stale-meme-emporium.itch.io/the-king-in-yellow-borders https://stale-meme-emporium.itch.io/the-king-in-yellow-borde... The other massive shot-in-the-arm for ZZT was asiekierka's disassembly and reconstruction of the original Pascal source code: https://github.com/asiekierka/reconstruction-of-zzt https://github.com/asiekierka/reconstruction-of-zzt (Tim Sweeney allowed the reconstruction to be released under the MIT licence.) As an accidental 30th birthday celebration, the community remixed the first world - Town of ZZT - and Dr. Dos livestreamed the first half of it just the other day: https://museumofzzt.com/file/t/TOWNRMIX.zip https://museumofzzt.com/file/t/TOWNRMIX.zip Also, Dr. Dos was recently interviewed on "Preserving Worlds", discussing ZZT, the Museum, and Zeta: https://www.youtube.com/watch?v=JhCYQI_XBl0 https://www.youtube.com/watch?v=JhCYQI_XBl0
- TurkTurkleton 6y agoSince I imagine there are many HN readers that might not get it: "The King in Yellow Borders" is a ZZT inside joke. When editing a ZZT world, new boards by default are created with a yellow border of what (if memory serves me) in Unicode would be U+2593 "dark shade" blocks. A game containing boards that maintain these borders in an unironic way would generally be perceived as... well, I'd say "amateurish" but ZZT creators were generally all amateurs, so let's go with "unrefined". (It's also a pun on The King in Yellow but that reference is explained in the itch.io page.)
- endgame 6y agoIn those days we called them char 178 (from Code Page 437, and possibly others).
- TurkTurkleton 6y agoI didn't want to show my age (any more than I already did by knowing about ZZT). Also due to said age I couldn't remember the character number in CP437... though I did remember that the shaded blocks were mysteriously separate from the solid one at 219.
- 1123581321 6y agoDespite what the article said about no programming required, ZZT was a very fun early programming environment. The creatures in the game were literally called Objects and passed messages to each other to activate each other's functions to store information, move, sing, shoot, etc. By doing this in conjunction with the easy level builder, it was possible to manage fairly complex world and story state. Alan Kay may have approved, if he ever saw it.
- throwanem 6y agoI learned a fair bit from ZZT, maybe more than I did from MegaZeux - even if I did find the latter more fun to build stuff in, mainly just because it was more capable overall.
- benhoyt 6y agoZZT holds a special place in my heart. I played the shareware "Town of ZZT" as a teenager, made my own (very incomplete) worlds, and had fun with the programming language, ZZT-OOP -- a very quirky beast. Every few years I have a silly notion I want to write a similar game but with a real programming language like Lua (or one of my own creation). Then I sketch up the easy stuff for a bit, but give up as soon as it gets hard. :-) I think there's been something of a resurgence of ZZT stuff in recent times, thanks in no small part to Adrian Siekierka's work, particularly his "Reconstruction of ZZT", a reverse engineering of the lost Turbo Pascal source code. That project is incredible to me -- the reconstructed source code, when compiled with Turbo Pascal 5.5, compiles to an executable file that's byte-for-byte identical to the original ZZT.EXE. His description is here: https://blog.asie.pl/2020/08/reconstructing-zzt/ https://blog.asie.pl/2020/08/reconstructing-zzt/ One fun thing I did do was take Adrian's Pascal source code, and write a Pascal-to-Go transpiler to produce a Go version of the same. It kinda works: https://benhoyt.com/writings/zzt-in-go/ https://benhoyt.com/writings/zzt-in-go/ There's also a fully functioning Rust port, which was written before the reconstructed source was available: https://github.com/yokljo/ruzzt https://github.com/yokljo/ruzzt
- endgame 6y agoIf the Town of ZZT holds a special place in your heart, I _strongly_ recommend the Town Remix.
- mbg721 6y agoI also have fond memories of ZZT; my first encounter with it was a shareware disc of "SuperZZT's Monster Zoo", which I gather was a somewhat less-popular sequel with a screen that was allowed to scroll rather than paging over. Some of the fan-made worlds were really impressive in how they managed to accomplish visual and gameplay effects.
- fullstop 6y agoI played ZZT a lot, and found that you could unlock the other levels with a hex editor by just changing their name in the binary. From there, you could open it up in the editor and figure out how they implemented a lot of their stuff. ZZT-OOP was very quirky, but so cool for the time!
- tolstoshev 6y agoI went to highschool with Tim and remember when he was writing this in his parents basement while going to UMD. Little did we know what would come from his tiny shareware business.
- echelon 6y agoAny memories of your interactions with him that you wouldn't mind sharing?
- asiekierka 6y agoI'd like to ask a fairly specific question as a ZZT archivist/researcher; it's okay if you don't remember the answer. Based on interviews with Tim Sweeney, it is said that he would let other people playtest pre-release versions of ZZT. What wasn't clear from the context is if anyone else ever had their own copy of these pre-release versions, which have been for a long time - due to some features and traits present in some of the pack-in worlds which were not possible to achieve with the editor as released - a source of speculation in the community. Do you happen to have any recollection of that?
- xNeil 6y agoThat's amazing! Were you friends with him?
- dang 6y agoIf curious, past threads: The Reconstruction of ZZT - https://news.ycombinator.com/item?id=22609474 https://news.ycombinator.com/item?id=22609474 - March 2020 (39 comments) Museum of ZZT - https://news.ycombinator.com/item?id=17656822 https://news.ycombinator.com/item?id=17656822 - July 2018 (14 comments) The Last ZZT Disk - https://news.ycombinator.com/item?id=6772696 https://news.ycombinator.com/item?id=6772696 - Nov 2013 (6 comments) zztmmo - classic zzt game engine + node.js + jQuery - https://news.ycombinator.com/item?id=1323888 https://news.ycombinator.com/item?id=1323888 - May 2010 (6 comments) Others?
- abduhl 6y agoDid ZZT allow consumers to use other programmers' programs on their programming system so that these other programs could be run within ZZT or was the ZZT platform an unethical and walled garden? Was the walled garden an antitrust violation? Why were other "app stores" not allowed?!
- gameswithgo 6y agozzt allowed you to do anything you wanted, same with unreal and unreal script
- VectorLock 6y ago>try it out using this neat HTML5-based emulation Click on the link and get met with an "Unable to load Adobe Flash plugin" box. Not HTML5 so much I think. :)
- asiekierka 6y agoZZT Ultra is an older project to try and re-implement ZZT in ActionScript 3; it did receive an HTML5 port attempt a few years later, though. The best way to play ZZT on the web currently is to use the dedicated Zeta emulator; it's integrated with the Museum of ZZT, as well as used by most ZZT-based games published on Itch.
- asiekierka 6y agoThe amount of worthwhile short games and art created with ZZT in the past has always made me feel rather astonished. That people are still making new, high-quality productions in it in the present - even moreso. By the way - If you're a ZZT (or MegaZeux!) user from the 90s/early 00s and still have archives from that period of any kind - that is world collections, etc. - we'd love to hear more! A common misconception is that we have preserved almost all ZZT worlds ever released to the public. Unfortunately, that's not true; while it's getting better thanks to modern efforts (with hundreds of previously unknown worlds archived in the past two-three years), archives especially from the BBS and AOL-centric eras (1991-1998) remain particularly spotty.
- Minor49er 6y agoI remember places like Zeuxworld would try to archive everything (even before DigitalMZX came around) and was impressed with the size of their library. But then I'd stumble on personal websites on places like Geocities or Angelfire where people would post their ZZT and MegaZeux worlds. The worlds on these personal sites weren't in any of the archives. I wouldn't be surprised if there were still a handful of these on the web alone. Who knows how many old hard drives out there still hold rare games and engines
- asiekierka 6y agoFor the past 2-3 years, I've been working on archiving many of these games made by the ZZT and MegaZeux communities. I do have to say, though, that the DigitalMZX administrators have already been making attempts to keep track of and locate known lost games for over a decade. As always, however, more hard drive backups and other sources would certainly help find and preserve more works!
- markus_zhang 6y agoUnrealEd was originally written with Visual Basic with a rendering core with C/C++. I was astonished to find out about the Visual Basic part.
- thedracle 6y agoI downloaded ZZT off a BBS when it came out, and to begin with it wasn't particularly impressive. I remember switching into edit mode on the 'Town of ZZT', and tweaking the responses of the characters. I was learning to program with Turbo C++ at the time, and actually it was ZZT's 'OOP' that really helped connect some of the concepts in my brain to what Objects were (although ZZT's objects were really sort of Actors that responded to, and could send messages). I would come back over the years, and I remember on IRC in 94' there was a pretty vibrant community writing games. What I loved doing was exploiting various ZZT bugs. You could for instance place the player object next to another object, and the next time the player moved they would warp to the object. You could then 'zap' the player object to release them. One thing you could do is place a stairway to another level, and place the player object on the stairway, and the player would remain on the original level, but the graphics for the other level would be overlaid on it. I used this to make an RPG engine, where the ASCII art for different encounters were on these other levels, and there was a special level that would basically clear portions of the ascii art to reveal the selected enemy. There were all sorts of clever hacks developers came up for checking health by converting it to torches, and back, and all sorts of other crazy things.
- inoffensivename 6y agoI got interested in programming partly because of ZZTOOP, the built-in programming language that you could use to give interesting behavior to objects in the game.
- DrSiemer 6y agoZZT was (is?) amazingly accessible and versatile. I created many worlds in it, most small, some big. I even tried to emulate the classic 1983 DOS game Digger and got pretty far before running into the limits of what it could do. I won't say I learned programming from it, because that started with GW-Basic, but it definitely expanded my understanding at a crucial time in my development.
- karaterobot 6y agoI was going to say that ZZT-OOP was the first language I ever programmed in, but then I remembered poking around inside `GORILLA.BAS` to figure out how to make my own game, and writing a custom zone in DikuMUD's scripting language for my local BBS (age 11 or 12?). Extending games was my entry to programming, and it probably shaped a lot of opinions I have about how open software should be.
- lubujackson 6y agoWorth reading the Boss Fight's book on ZZT: https://www.amazon.com/ZZT-Boss-Fight-Books-Book-ebook/dp/B00KNAHEBU https://www.amazon.com/ZZT-Boss-Fight-Books-Book-ebook/dp/B0... The book is more of a personal account, but it does a great job placing ZZT in a time that was pre-Internet and pre-creator tools (for most people) and how it was capable of empowering people in ways that were not common before then.
- Pxtl 6y agoHoly crap I just figured the timeline there. 1989 he gets his first IBM compatible PC. '91 zzt. Then in 92 they go hellishly rapid-fire - from 92 to 95 we get Jill of the Jungle, Epic Pinball, Zone 66, Solar Winds, Xargon, OMF 2097, Jazz Jackrabbit, Radix, and Tyrian. Within the small pond of PC shareware games, every single one of those was a hit. They had some of the best 2D art and music available in PC games at the time and were solidly fun. Some of them are a bit stiff by modern standards, but they were excellent for their day. How the hell did Sweeney go from "I just got a computer" to that in so few years? I've wasted my life.
- pavlov 6y agoOne clever thing Epic did was recruiting developers and artists from the European demo scene. That’s where you could find people who knew more about PC graphics and sound than practically anyone in USA, and also were relatively cheap to hire.
- danmur 6y agoMan I had forgotten about all those great games. Tyrian was amazing, so was Solar Winds.
- sedatk 6y agoSolar Winds was a very interesting game. I also remember it specifically for a planet called "Ilac" which produced medicine. Ilac means medicine in Turkish.
- Yhippa 6y agoI had way too much fun building levels and playing this game growing up. I loved these types of games where you could focus on building and trying out different constructs without any goal in mind. I wish I had known about ZZT-OOP. I had no clue that was underneath it all.
- WalterGR 6y agoRecently I recalled an extended-ASCII action game from the era that wasn’t ZZT, but I can’t remember anything else. Anyone know what I might be thinking of?
- wonnage 6y agoMegazeux?
- MisterBastahrd 6y agoI enjoyed the story of how he chose the name for the game. When I ran an online marketplace, companies would start to change their names to add numeric characters to the front in order to show up first in their listings. There's a reason, for example, that there are so many businesses called A1. My solution when getting hit with calls every week was a custom sort to push numeric names to the back end of the search results.
- waltbosz 6y agoAh ZZT, I spent so much time playing and coding ZZT games. So much fun. I still have my original ZZT 3.5" floppy disk, along with the cardboard map it came with.