DeMystify is an unofficial open-source project graph-based analysis of the classic Myst game. In other words, it represents Myst as a graph.
The Myst Graph represents the game's cards as a network–a graph–showing how they are connected. This visualization helps us understand the game’s structure in a new way. It features 1,364 nodes and 3,189 directed or bidirectional edges.
The Myst game uses HyperCard files, which need to be converted into a format that DeMystify can understand. This is done using the stackimport
tool.
-
Get stackimport: Download and install it from https://github.com/uliwitness/stackimport
-
Compile stackimport:
- Linux:
$ g++ -o stackimport woba.cpp Tests.cpp picture.cpp main.cpp CStackFile.cpp CBuf.cpp byteutils.cpp -std=gnu++11
- MacOS:
$ g++ -o stackimport woba.cpp Tests.cpp picture.cpp main.cpp CStackFile.cpp CBuf.cpp byteutils.cpp snd2wav/snd2wav/snd2wav.cpp -std=gnu++11 -framework Carbon -framework CoreServices
- Linux:
-
Copy the Myst Files: Locate the
Myst Files
directory on your CD-ROM and copy it to a writable directory (e.g.,Myst_decompiled_cards
). -
Run stackimport: Navigate to the directory containing the copied files and run the following commands:
$ ./stackimport <path_to_stack>/Channelwood\ Age $ ./stackimport <path_to_stack>/Dunny\ Age $ ./stackimport <path_to_stack>/Mechanical\ Age $ ./stackimport <path_to_stack>/Myst $ ./stackimport <path_to_stack>/Selenitic\ Age $ ./stackimport <path_to_stack>/Stoneship\ Age
-
Navigate to the DeMystify directory
-
Run DeMystify:
$ go run main.go <converted_files_directory_path>
- Replace
<converted_files_directory_path>
with the path to the directory where you saved the converted stack files (e.g.,/Users/Atrus/Myst_decompiled_cards
).
- Replace
-
Wait: The graph generation process takes several minutes.
-
The Myst Graph is generated: The generated DOT and PDF files will be saved in the
generated
subdirectory.
- The Myst Graph: A New Perspective on Myst
- The Myst Graph, 2: Revealing New Findings
- The Myst Graph, 3: Creating the Graph with DeMystify
This project is a personal initiative to analyze and understand the classic Myst game. It is an unofficial and nonlucrative open-source effort created for educational purposes only. This project is not affiliated with Cyan Worlds or the original creators of Myst.
DeMystify is released under the MIT License, acknowledging the original creators of Myst and Cyan Worlds for inspiring this project.