Skip to content
A z-machine (interpreter) for text adventure games like Zork
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
tests
.gitattributes
.gitignore github Jun 7, 2018
.travis.yml
Cargo.lock
Cargo.toml
LICENSE
README.md
package-lock.json
package.json
webpack.dev.js
webpack.prod.js

README.md

encrusted

Crates.io
Built Status



A z-machine (interpreter) for Infocom-era text adventure games like Zork

Runs in a web interface or directly in a terminal. Built with Rust and WebAssembly (wasm32-unknown-unknown).

🎮  Launch the web player


Features

  • Live mapping to keep track of where you are
  • Undo / Redo support
  • Narration / Dictation using the web speech APIs
  • Object tree inspector

Install

Terminal version:

cargo install encrusted --bin encrusted

Run a file with encrusted <FILE>. Use $undo and $redo to step through your move history. Use save and restore to save your progress.

Build

WebAssembly/React web version (requires node & rust nightly):

# If you haven't added nightly or the wasm32 target:
rustup toolchain install nightly
rustup target add wasm32-unknown-unknown --toolchain nightly

# Runs webpack dev server on port 8000
npm run dev

# Build .wasm module with rust nightly, debug mode
npm run build:debug

# Or build all in release mode & bundle JS into the ./build directory
npm run release

Tests

Run z-machine tests (czech & praxix) through regtest:

npm run test

Notes

  • Currently only supports v3 zcode files
  • Saves games in the Quetzal format

License

MIT

You can’t perform that action at this time.