This is the eleventh post in our Game of the Day series.
Nearly everyone has heard of Unreal Tournament, maybe even Epic Megagames, or their founder Tim Sweeny. However, what I remember him and his company for is the masterpiece of Pascal programming called ZZT. At the time I had no idea it was written in Pascal, all I knew of it was that it was a text-based game and game-creation system that I spend numerous hours and days learning the ins and outs of. To this day, I owe my concepts of object-oriented programming to the humble, ASCII creatures and message architecture of ZZT.
Prior to buying my friend's old Tandy 1000, he introduced me to this lovely thing. The main program and showcase game "Town of ZZT" fit on a floppy. You could play said game and it was great, but then you could go in and make your own using all the same materials. Built-in monsters and mechanics like shooting, locked doors, money (diamonds), ammo, and torches helped provide a base structure from where you could go just about anywhere with your imagination -- as long as you didn't mind it being represented in "top-down" text sprites.
Custom creatures, objects as they were called, could be given their own script. The well-written help files guided the two of us from simple bump-to-talk NPC's to more complex interactions allowing for puzzles, RPG-style adventures, and just weird stuff. Objects could effect the landscape by placing, replacing, or removing features. In one instance the goal I designed was to earn enough money to build your own castle; and in the end you paid an architect who did just that! He acted like the "turtle" in Logo by moving a space at a time in the right direction and placing blocks until an ASCII castle appeared. Fantastic!
Another great aspect was portability. It contained solid timing code which allowed it to work correctly on my crusty 8086, the Tandy 1000, and later 386's and 486's. This meant Aric and I could share levels, which we did at school after long weekends crunching object script, and improve by mimicking each other's work. Later we discovered you could unlock the town.zzt file (it was read-only and couldn't be loaded into their editor) by opening it in a non-destructive text editor and changing the word "LOCK" to spaces. I used something my mom had bought at the grocery store called "PC Write Lite"; at the time I didn't know about hex editors or the difference between text and binary files (e.g. line endings and character sets). All I knew was that if you loaded it in WordPerfect, the file would forever be corrupted.
Unlocking the mysteries of Town enabled us to build even more complex worlds and game systems. Most of what we output was prototype and not entire games, but long-lasting skills were gleaned that could be used in different coding contexts. Early in my professional career as a programmer, I started something I called "ZIT" (ZZT Inspired something ... don't remember what the 'T' was for) which I intended to be a graphical ZZT. I wrote down all kinds of ideas and then lost the whole thing somewhere along the way. In any case, I haven't touched it in forever, but last I checked there were still many active communities surrounding it. I can only imagine the things people have come up with using such a flexible tool!
Tidak ada komentar:
Posting Komentar