encrusted

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

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

License

MIT