An Interactive Fiction interpreter (Z-machine) in Elixir.
I'm referencing the Z-Machine Standards Document v1.1 for the information on how the Z-machine works.
The goal is to eventually hook this up to Slack for some fun. That means leaving out support for games that require fancy graphics, timing, or sounds. So this will probably be restricted to the earlier Z-machine games only, like Zork.
Install the Elixir language, if you don't have it already:
Build the Xyzzy app:
- Change to the directory where you cloned the Xyzzy repository and type:
mix do deps.get, compile
Download some Z-machine games! Try some of these websites:
Run Xyzzy with your adventure:
- Again from the Xyzzy directory, type:
iex -S mix
Xyzzy.Machine.open_story("stories/zork_1.z3") |> Xyzzy.Machine.run_story()
Xzzy was written by David Phillips. Licensed under the BSD 3-Clause license. Feel free to submit issues and pull requests.