11 ms·
Zork source code, 1977
- braythwayt 6y agoJason Scott: https://twitter.com/textfiles/status/1258483768010190849 https://twitter.com/textfiles/status/1258483768010190849 Jason cloned the repository here: https://github.com/historicalsource/zork-1977-source https://github.com/historicalsource/zork-1977-source
- DonHopkins 6y ago>GIVE TROLL TO TROLL The troll, who is not overly proud, graciously accepts the gift and not having the most discriminating tastes, gleefully eats it.
- jschwartzi 6y agoIt is pitch black. You are likely to be eaten by a grue. >
- sfj 6y agoHaving the troll eat itself wouldn't remove the light source. The troll didn't have a light to begin with, it can see in the dark.
- DonHopkins 6y agoWhat's wonderful about this bug is that giving the troll to itself to eat gets rid of the troll, but doesn't clear the TROLL-FLAG. ;( So then when you try to exit the room to the NORTH, EAST or SOUTH, you get TCHOMPed, and the non-existent troll fends you off with a menacing gesture! ;) So you are truly fucked, and can't finish the game. >EAST The troll fends you off with a menacing gesture. #ROOM {"MTROL" "You are in a small room with passages off in all directions. Bloodstains and deep scratches (perhaps made by an axe) mar the walls." "The Troll Room" %<> #EXIT {"WEST" "CELLA" "EAST" #CEXIT {"TROLL-FLAG" "CRAW4" %,TCHOMP} "NORTH" #CEXIT {"TROLL-FLAG" "PASS1" %,TCHOMP} "SOUTH" #CEXIT {"TROLL-FLAG" "MAZE1" %,TCHOMP}} (#FIND-OBJ {"TROLL"})} <PSETG TCHOMP "The troll fends you off with a menacing gesture.">
- sandymcmurray 6y ago"You are likely to be eaten by a Grue. If this predicament seems particularly cruel, consider whose fault it might be; not a torch or a match in your inventory." https://youtu.be/4nigRT2KmCE https://youtu.be/4nigRT2KmCE
- microtherion 6y agoI'm kind of curious about the license status of this. Zork has been commercially sold (on iOS) within the last 10 years, and I don't quite know how this source would be MIT's to give away, unless there is a deal with whatever legal entity owns Infocom's intellectual property these days.
- lerie1982 6y agohttps://archivesspace.mit.edu/repositories/2/resources/1265 https://archivesspace.mit.edu/repositories/2/resources/1265 "Access to collections in the Department of Distinctive Collections is not authorization to publish. Separate written application for permission to publish must be made to Distinctive Collections. Copyright of some items in this collection may be held by respective creators, not by the creating office." So, I don't know, does seem a bit on the legal edge?
- ChicagoDave 6y agoI think the publishers have decided that no lawyer/IP owner worth their salt would make a case of this and publishing is a benefit to historical computing.
- duskwuff 6y agoInfocom wasn't founded until 1979 -- this source code is from an earlier version of the game which was widely distributed among PDP-10 systems. The original authors might have a copyright claim, but it's not clear that Infocom (or its heirs) would.
- larsbrinkhoff 6y agoI contacted the original authors except Marc, who's email address I don't have. They had no objections. Marc responded on Reddit and seems OK with it.
- microtherion 6y agoThat's great, and I did not mean to cast aspersions on the legality or ethics of the release. I just was somewhat uncomfortable not to see any mention of legal terms in the repo, or a mention that the authors were OK with the release.
- grigz 6y agoxyzzy
- jasonv 6y agoI need that on a t-shirt.
- raldi 6y agoIf you like this, you may like "I spent my weekend hacking Zork" (2012): https://www.reddit.com/r/raldi/comments/10dtch/i_spent_my_weekend_hacking_zork/ https://www.reddit.com/r/raldi/comments/10dtch/i_spent_my_we...
- exlurker 6y agoThank you for that, very interesting read!
- itsajoke 6y agoI heard Zork acquired Keybase!
- itsajoke 6y agoOkay, I heard wrong. It turns out it was Zoom that acquired Keybase. I think Zork acquired some other company. You don't have to down vote me over it. Everybody makes mistakes.
- hombre_fatal 6y agoField-testing your comedy there buddy?
- mod 6y ago> REPENT
- agiacalone 6y agoZork acquired Frobozz, Co: https://zork.fandom.com/wiki/FrobozzCo_International https://zork.fandom.com/wiki/FrobozzCo_International
- hardmaru 6y agoWhat's the license of the code?
- sjwright 6y agoSo sue me (SSM1.0)
- ahazred8ta 6y agoNone. There never was a license, so no rights were granted and strictly speaking it's "All rights reserved", but the authors are treating it as 'abandonware'.
- zomglings 6y agoFirst time I've seen CodeMeta - does anyone have any experience and opinions of it? Looks like it's optimized for citations and doesn't really help with how to execute the code. Maybe Dockerfile is becoming the programmer's version of what this codemeta.json file is doing (I guess for researchers)?
- tosh 6y agoGreat way to learn more about Zork and the Z-machine: Eric Lippert wrote an ocaml implementation and blogged about it https://ericlippert.com/2016/02/03/north-of-house/ https://ericlippert.com/2016/02/03/north-of-house/
- ggm 6y agoHaving been exposed to the original (I believe from DECUS tapes but I am unsure from this distance in time) back in the 70s' I played the BSD fortran cross-port on machines I had, but the thing is, the nostalgia kick is satisfied from low degrees of engagement. I think my personal tabular room-connectivity map I hand crafted in vi is still lurking on backup media, it was fun making it. No robots and washing machines here.
- tyingq 6y agoI'm not sure there's enough of the MDL environment around to actually get it running. The effort is here: https://muddlers.org/ https://muddlers.org/
- larsbrinkhoff 6y agoThe Muddle interpreter and runtime is alive and well: https://github.com/PDP-10/its/tree/master/src/mudsys https://github.com/PDP-10/its/tree/master/src/mudsys
- georgeecollins 6y agoThis is kind of weird to see because I can remember back in the 90's doing Infocom re-releases at Activision. Activision bought Infocom in the late 80's, so in theory they owned all the source code to games like Zork. I remember going through back up of old Infocom drives, there were some really good design ideas. But not the actual source code for their text adventure engine.
- larsbrinkhoff 6y agoThis version is from before Infocom was founded.
- neotek 6y agoIs it possible to play Zork for the first time without a guide or manual of some kind? Could I fire up a copy today and dive straight in or do I need some external information? Edit: and a follow-up question, is there a good Z-Machine interpreter for the macOS terminal?
- adamredwoods 6y agoIs this on Alexa or Google Assistant yet? I saw a fan version, but there were some criticisms of it.
- deleted 6y ago[deleted]
- kevinmchugh 6y agoThe Zork this post is about shouldn't have any copy-protection schemes requiring external resources, as this is the version which was on MIT computers. The commercial release may have had copy-protection in place. Regardless of which you play, there are likely to be frustrating, unfair, perhaps unsolvable puzzles present. Modern players often have the Infocom invisiclues at hand while they do so.
- glangdale 6y agoThe modern-ish Zorks (i.e. the ones available for a range of home computers, Zork 1/2/3, not mainframe Zork) can be done almost entirely without clues (and have no external frob based copy-protection). I remember vividly finally having to seek help in Zork 3, as the phrase "Hello, sailor" was not part of the typical 12 year-old's lexicon, but that was the only time I completely tapped out. There are some pretty nutty things buried in the game, though - there's a spot in Zork 1 where by typing "temple" or "treasure" at the appropriate location you can teleport from one to the other - the supposed hint for this is they both have a granite wall. WTF? I believe at the time, as a teenager, I finished most of the Infocom games available without using clues - it can be done. I think I never got the optimum outcome for Deadline. I recently (this year) finished Starcross without hints or clues, aside from the copy-protection "map" at the start.
- traes 6y agoMDL looks really interesting. Is there any similar modern-day language for more advanced (graphically and input wise) adventure games? Because if not I might build one...
- kd5bjo 6y agoIn the ‘90s (?), LucasArts and Sierra both developed VMs for graphical adventure games (SCUMM and AGI); you can look into languages targetting those. Inform is a more modern language for text adventures. Ink is an open-source embeddable language for dialog trees and story puzzles. You’ll need to bring your own game engine, but there’s a Unity3d plugin to help.
- kevinmchugh 6y agoInform is the most direct descendant of Zork. It was inspired by the work of Infocom, a company founded by most of the authors of the MIT Zork. Folks especially enamored of Zork should start there. Inform has some support for displaying images.
- metroholografix 6y agoInform is not a descendant of Zork, it has no connection to it besides producing output files in ZMachine / Z-Code format, which is well-specified so that anyone can write a generator. As far as programming the actual story goes, it's an independent implementation based on entirely different principles (Zork was written in MDL which was a Lisp).
- dhosek 6y agoMDL is a lisp descendent so you might find lisp an avenue worth investigating. I'd never seen MDL (or heard of it) before looking at this, but even before I googled to make sure, I could tell that it was heavily based on lisp.
- anthk 6y agoInform6 can compile to the Z machine and it's really easy to use.
- butterisgood 6y ago;"GLOBAL VARIABLES WHICH ARE MONADS MUST BE HERE!" uh, hmmmm. 1977?
- bagels 6y agoSorry, not a mind reader, what are you trying to ask?
- newmana 6y ago"indivisible and hence ultimately simple entity, such as an atom or a person."
- th0ma5 6y agoSee here: https://en.wikipedia.org/wiki/Monad_(functional_programming)#History https://en.wikipedia.org/wiki/Monad_(functional_programming)...
- newmana 6y agoOr better yet, from the MDL documentation https://mdl-language.readthedocs.io/en/latest/08-truth/#824-object-properties-1 https://mdl-language.readthedocs.io/en/latest/08-truth/#824-...
- monkeycantype 6y agoThis is amazing, On the same day this was going up, I was talking to my son about text based games and saying I always wanted to play zork but never have
- theonething 6y agopretty expressive code: > <SET DUMMY? T>>> <COND (<OR <AND <MEMQ <SET O <FIND-OBJ "CANDL">> <AOBJS .WIN>> <1? <OLIGHT? .O>>> <AND <MEMQ <SET O <FIND-OBJ "TORCH">> <AOBJS .WIN>> <1? <OLIGHT? .O>>>> <UNWIND <PROG () <COND (.DUMMY? <TELL "I didn't realize that adventurers are stupid enough to light a " 1 <ODESC2 .O> " in a room which reeks of coal gas. Fortunately, there is justice in the world.">) (<TELL "Oh dear. It appears that the smell coming from this room was coal gas. I would have thought twice about carrying a " 1 <ODESC2 .O> "in here.">)> <FWEEP 7> <JIGS-UP " BOOOOOOOOOOOM ">> <JIGS-UP " BOOOOOOOOOOOM ">>)>)>> So if you come into this room with a candle or a torch, you're a dummy and get told as much. And then the jigs up, BOOOOOOM
- dws 6y agoA bit of context that's gone missing: In 1977, the Fortran source for Adventure, by Crowther and Woods, leaked from Stanford and starting making the rounds on PDP-10 magtapes. Zork, from MIT, came along shortly thereafter, and was seen as more than bit of MIT taking a slap at Stanford by saying, "Now, here's how to do this right. First, one creates a Dungeon Definition Language. ..."
- GetLampVR 6y agoBTZ Assembler (better than zork) discussed by Robert Pinsky here https://m.youtube.com/watch?v=9dj3XiJKhYQ https://m.youtube.com/watch?v=9dj3XiJKhYQ http://www.ifwiki.org/index.php/BTZ http://www.ifwiki.org/index.php/BTZ
- anthk 6y agoIf you like text adventures with something easier than Zork, try Anchorhead. Then, Curses. Yes, alike-passages are clunky and old-school cool, but nowadays since Anchorhead the games are long and good enough to be both enjoyed and not get lost by design in several places (if any, just several ones as a single or two puzzles, not as a mechanic). Curses can be unbearabily difficult, but not on the "unwinnable by design" as the others, at least not as the old Infocom games. Vicious Cycles is cool too albeit short. And Slouch over Bedlam is damn poetry made into a text adventure. Pure steampunk.
- LeoPanthera 6y agoSuggesting Curses as people's second game is extremely mean. It's shockingly difficult.
- anthk 6y agoWell, its sequel Jigsaw is far worse. If so, set Curses it as the fourth recommended game.
- 7thaccount 6y agoI'd suggest Blue Lacuna, or some of the Emily Short games.
- ChicagoDave 6y agoI recommend emulating a PDP-11 on a pi and connecting an LA120 green bar paper terminal. This is how I play Zork.
- larsbrinkhoff 6y agoThis is an earlier version for the PDP-10.
- ChicagoDave 6y agoHeh. Believe me I know. I played the Fortran version in high school. Been obsessed with interactive fiction since 1979.
- acd 6y agoAdventure text games like Zork to a huge extent increased my English language skills. In order to play adventure games as a kid which I loved doing I had to understand the text. When I encountered words I did not understand I looked them up in a dictionary doing learning while playing.
- larsbrinkhoff 6y agoI was the one who excavated these files from MIT's tape archives.
- Scarblac 6y agoThank you!
- brightball 6y agoI’ve been curious to play Zork ever since the first episode of Chuck.
- DonHopkins 6y agoThis seems to be an earlier version than the one that included the One Lousy Point Donald Woods Stamp (a tribute to one of the authors of Adventure). Isn't there another version of the later Zork source code in MDL floating around, that has the Don Woods Stamp? I worked with him at Sun on NeWS -- he's a great PostScript hacker! When you logged into his workstation, /etc/motd said "Welcome to Adventure. Would you like instructions?" -- but don't type "yes" to the Unix shell or you'll regret it. Here's his implementation of QuickSort in PostScript, and he also wrote the Spider card game for NeWS that shipped with OpenWindows (which is a nice clean well documented example of NeWS PostScript code), and he wrote a bunch of Open Look widgets and user interface plumbing for The NeWS Toolkit, too: https://donhopkins.com/home/code/quicksort.ps.txt https://donhopkins.com/home/code/quicksort.ps.txt https://donhopkins.com/home/news-tape/fun/spider/spider.ps https://donhopkins.com/home/news-tape/fun/spider/spider.ps http://www.icynic.com/~don/ http://www.icynic.com/~don/ Here's a great interview with Don Woods from GET LAMP, in which he mentions playing Zork at MIT over the ARPANET. He describes the point at which he stopped playing Zork, when he had almost solved the entire game, but then they added a whole bunch of new stuff to the game that night. So he realized he would never completely solve it, and finally stopped playing. I presume the "One Lousy Point" stamp is a cheeky tribute to Don Woods' ordeal playing Zork, because it's so damned hard to figure out how to find it (which I won't spoil): https://www.youtube.com/watch?v=A8Z1cKUxD9c https://www.youtube.com/watch?v=A8Z1cKUxD9c ---v----v----v----v----v--- | _______ | > One / \ G < | Lousy / \ U | > Point | ___ | E < | | (___) | | > <--)___(--> P < | / / \ \ o | > / / \ \ s < | |-|---------|-| t | > | | \ _ / | | a < | | | --(_)-- | | g | > | | /| |\ | | e < | |-|---|_|---|-| | > \ \__/_\__/ / < | _/_______\_ | > | f.m.l.c. | < | ------------- | > < | Donald Woods, Editor | > Spelunker Today < | | ---^----^----^----^----^---