encrusted

Crates.ioencrusted
lib.rsencrusted
version1.1.0
sourcesrc
created_at2018-06-07 00:22:08.113108
updated_at2019-02-25 07:10:06.360793
descriptionA z-machine (interpreter) for Infocom-era text adventure games
homepage
repositoryhttps://github.com/demille/encrusted
max_upload_size
id68981
size1,078,934
Sterling DeMille (DeMille)

documentation

README

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

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

Commit count: 66

cargo fmt