The original Macintosh version of Myst was written in HyperCard.

According to https://news.ycombinator.com/item?id=20549685

Adding useful features, such as uploading those HTML files to a web server, may have been possible but would have required extensions to the language. Plenty of extensions existed, which is how companies like Cyan managed to produce an amazing for the time multimedia game (Myst) on what most people viewed as a stack of programmable black and white index cards.

What extensions did Cyan use for this? How did they work; were they like VBX extension modules for Visual Basic? Did Cyan write them in-house, subcontract them or buy them on the market? What language were they written in?


The Myst stacks include 3 XFCNs (eXternal FunCtioNs) and 19 XCMDs (eXternal ComManDs). Of these:

Three -- variant, Picture, and Movie -- were included with HyperCard and have a Claris copyright. Picture was probably written in Pascal, variant was probably written in C. Some of the features of the Movie XCMD were based on Cyan's feedback.

One -- moveCursor -- might be this freeware XCMD written by Jeff Fischer.

Ten were developed by Symplex Systems/John Miller as part of HyperTint and DeCurse. These were commercially available and required licensing for redistribution. These were written in C.

Eight were developed by Cyan (Primarily Richard Watson). These are mostly C but there may be one or two in assembly.

External Commands and External Functions (XCMDs, XFCNs) were described in Appendix A of the HyperCard Script Language Guide. The provided examples are in Pascal, C, and 68k Asm.

Also see this HyperCard mailing list thread for some reminiscence by some of the people involved.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.