Live data from Hacker News

Microsoft makes Zork open-source

opensource.microsoft.com

131–140 of 256 posts

Re: Microsoft makes Zork open-source

#132
post #70

Earlier quoted context omitted.

MDL, actually, which was derived from LISP. https://en.wikipedia.org/wiki/MDL_(programming_language)

I’m curious why they chose MDL rather than Lisp for it. Sure, it would have been ancient MACLISP or whatever, but why not leverage what was already in wide use at MIT at the time?

MDL is also from MIT and supposedly stood for More Datatypes than Lisp. According to wikipedia "MDL provides several enhancements to classic Lisp. It supports several built-in data types, including lists, strings and arrays, and user-defined data types. It offers multithreaded expression evaluation and coroutines."

Seems that most of it's novelties were eventually added into LISP proper.

Re: Microsoft makes Zork open-source

#134

Earlier quoted context omitted.

My goodness, I could have written this word-for-word. Similar age, same Apple II BASIC and 6502 upbringing (roll sleeves and call -151 ) and also wrote to Infocom. We were in the UK so even more surprised to get a reply similar to yours several weeks later. Sadly my letter is also lost to various house moves. Or eaten by a grue.

Me too, except my letter was to Sierra On-Line and my experience was on TRS-80 6809. Really classy reply asking me to write back when I finished school.

Nice.

Re: Microsoft makes Zork open-source

#135

I would love to see the Apple ][ source code made available for a lot of these classic games. In this case what I really want to see is the Z-Engine or interpreter itself not essentially the data files only.

I have seen some of the interpreter source codes, but I don't know if they have been "officially" published. These also include some other things such as test files, and a picture file that I have never seen a decoder for (other than the decoder (and encoder) that I wrote myself).

Many modern implementations do not support permanent shifts in Z versions 3 and above (although all of my own implementations do, and I think all of the official implementations also do, even though Infocom never used that feature (this isn't too surprising since the algorithm they described for deciding when to use permanent shifts is worse than not using them at all; I worked with someone else to make a better algorithm for making this decision)).

Some of the official implementations check the Z version number and some don't; even some that do, do not check if it is a small-endian story file (and the ones that do will only display an error message if it is, and refuse to run it). My own implementations do check for small-endian story files (as well as the Z version number), although some will display an error message and refuse to run it in that case, some actually are able to run both big-endian and small-endian story files (as far as I know, there are no small-endian story files; Infocom never used this feature and no modern compilers support this).

Something else I might mention is that some people say that Infocom used many tricks in the programming, although I have looked at disassembled code in the debugger and found that they could be optimized a lot more (e.g. by using SET->BCOM optimization, and many other things), and the source code for the interpreters also shows some things that could be optimized much better. (Another thing revealed from the source code of the interpreters is a undocumented command-line switch for the DOS version that allows you to specify the name of the story file.)

Re: Microsoft makes Zork open-source

#136

Wow, didn’t expect this from Microsoft. Amazing to see classic game code being made accessible for learning

learn what? how to print text to stdout? how to do if else statements or math.random? I'm sure you can rewrite this in a week or in a month from scratch. Next, Microsoft will opensource notepad because there are 0 text editors out there. It is 1960 after all.

Re: Microsoft makes Zork open-source

#137

Can ZILF just compile this? https://zilf.io/

That is the exactly the suggested compiler in this blog post. (These repos have been compiled with it for a while. The biggest change in these [Internet Archive-uploaded] repos is an official Microsoft-backed MIT License as opposed to assuming Fair Use for Archival Use prior to now.)

I'm hoping Microsoft may have a chance to open source more of the original Infocom compilers and VMs, even if they would be hard to run on modern machines, in later expansions of these repos.

Re: Microsoft makes Zork open-source

#138
post #31

Earlier quoted context omitted.

Zork was originally written at MIT for PDP-10s in an obscure Lisp dialect (MDL). The authors then later formed a company to sell the game on micro-computers. To do it, they built a virtual machine optimized for this purpose, a new Lisp dialect (ZIL) that could compile to the virtual machine, and the ported the game over to that new dialect. Even so, they had to split the game into three parts to fit. The source you'r…

This is about the fourth article I've read that mentions Lisp today on here. Okay, I get it. Lisp is great. Where should I start? It wasn't like I was planning on doing anything else at work next week...

The summer before i took 6.001 i read “The little LISPer”. It is a good intro.

This is the version i read:

https://www.abebooks.com/9780023397639/Little-LISPer-Third-E...

Re: Microsoft makes Zork open-source

#139

I've seen a few things called 'Zork source code' in various places over the years (even on a CD that came with a game programming book of some sort), and copies like this: https://github.com/MITDDC/zork What's the lineage here?

Zork was originally a public-domain mainframe game called Dungeon developed at MIT. Its authors founded Infocom, split the game into 3 pieces, added more content, and released it for microcomputers as the 3 Zork games. The source code that's been floating around since the 80s is for the original Dungeon game. Between the early 80s and the early 90s, the source was translated from MDL to DEC FORTRAN to Unix f77 to C, so you can find a variety of copies of the source at different steps of that translation process. This is also why the C version doesn't look like idiomatic C code.

When Infocom shut down, one or more of the employees took home backups of the Infocom file server. Various partial releases have been leaked publicly from those backups, including tooling/language documentation and the ZIL source code for every Infocom game. The ZIL source code has been public since 2019. The notable thing that Microsoft is doing here is clearing up the rights to the 3 Zork games (but none of the rest of the Infocom titles).

Re: Microsoft makes Zork open-source

#140

Earlier quoted context omitted.

If AGI ever comes close to fruition I can't wait to just dump this code into some AI, tell it to fix all security bugs and make it work on M Series processors. Would finally achieve a computing environment that would be perfect for me. Until then, I will continue to dream.

Why not just try and compile it yourself, see what happens?

One does not simply replicate a Windows build lab at home. (insert Boromir meme)
Post reply on HN