Code Archaeology Slide: 1
Workshop Examining ZORK I (1980) Source Code
By Dr. Daniel Cox
Media Archaeology + Critical Code Studies
Slide 0.
You see the introduction.
>
1
Code Archaeology Slide: 2
Media Archaeology proposes three things:�
2
Code Archaeology Slide: 3
Critical Code Studies supplies:
3
Code Archaeology Slide: 4
Code Archaeology = Media Archaeology + Critical Code Studies:
4
Code Archaeology Slide: 5
Performing Code Archaeology:
5
Code Archaeology Slide: 6
Gather historical material and information:
6
Code Archaeology Slide: 7
Zork I (1980):
Workshop Participants Answers:
Who: Tim Anderson, Marc Blanc, Bruce Daniels and Dave Lebling
When: 1980
What: Game
Publisher: Infocom
Language: Muddle (MDL), based on Lisp. (ZIL)
7
Code Archaeology Slide: 8
Run and interact with software (if possible).
Let’s play Zork I (1980) online.
(Alternatively, here.)
Take note of the following:
8
Code Archaeology Slide: 9
Zork I (1980):
Tried: “go where ever”
Tried: “open mailbox”
Tried: “read leaflet”
9
Code Archaeology Slide: 10
See code as developers do (if possible):
Zork I (1980) can be found and downloaded from GitHub.
(I recommend using Visual Studio Code to view!)
10
Code Archaeology Slide: 11
See code as developers do (if possible):
How do we see keywords and identify structures?
Syntax highlighters are available for most programming languages. These provide visual colors for the “syntax,” special keywords and symbols of the language.
In VS Code, these are Extensions.
11
Code Archaeology Slide: 12
→
12
Code Archaeology Slide: 13
The ZIL Extension will complain about the ZILF compiler not being installed. Close this message twice to get rid of future notifications for it.
13
Code Archaeology Slide: 14
14
Code Archaeology Slide: 15
See code as developers do (if possible):
In the open “zork1.zil” file, what keywords do we see?
(Hint: keywords will be in a different color!)
What structures do we see?
(Hint: structures, like keywords, appear in different colors and usually use opening and closing symbols like parentheses, curly brackets, and square brackets.)
15
Code Archaeology Slide: 16
16
Question: “Is the story and game code separate?”
Question: “Can we find ‘leaflet’ in the code?”
Question: “What does OBJECT mean in this language?”
Code Archaeology Slide: 17
Looking for “macro” patterns:
Critical Code Studies asks us to examine single files or selection of code. A single file often acts as synecdoche: part for the whole.
Code Archaeology asks you to consider the whole in terms of metaphors: network, stack, etc.
17
Code Archaeology Slide: 18
Summary:
18