A modern, multi-platform interpreter library, for playing Interactive Fiction (IF) games.
Some of my most memorable early gaming experiences were playing Infocom interactive fiction (IF) games. I also love programming and so decided to write my own interpreter in Dart.
This project is a labor of love.
Enjoy!
- Plays Z-Machine ("Infocom" games).
- Plays Inform v6 & v7 games.
- Supports all popular game file formats (.z3, .z5, .z8, .dat, .blorb, .zblorb, .gblorb, .ulx, etc).
- Provides an API that allows you to build your own player for any platform that Flutter/Dart runs on.
- Full-features CLI player and Flutter Web Player available.
You Can Read The Full Getting Started Document Here.
You'll need a player that uses the Zart library. I've provided a CLI player and a Flutter Web Player.
You can use the Zart Web Player App, written in Flutter. You can find the app here at my project website: https://atebitftw.github.io/site/. The player uses the Zart library to run the games.
Zart Web Player is open source. You can find the project here: Zart Web Player On Github.
The CLI Player is a full-featured terminal player.
The CLI Player is open source. You can find the project here: Zart CLI Player On Github.
If you have the Flutter or Dart SDK installed, you can install the CLI player using the following command:
flutter pub global activate --source git git@github.com:atebitftw/zart_cli.gitThen you can run it this way:
(using minizork as an example)
zart minizork.z3Use the Zart library to build your own player. You would have to write your own client which would manage the i/o between the player and the interpreter. The Zart library provides all the necessary functionality.
For more information, see the Zart API Docs.
Inform 7 is a great tool for authoring IF games. It is a high-level language that allows you to write IF games without having to worry about the underlying mechanics. It is also free and open source.
- Zork Series: Search up "infocom-if . org" for the Zork series. Unfortunately I cannot link to it directly in this document because the site is old and still rocking http, not https.
- Many excellent games can be found here: IFDB.org
As always, use caution when downloading games and files from the Internet.
Fork. Code. Submit pull request. I'm open to any reasonable submissions.
- While support for images and sound is there, I haven't really tested these yet because so few games use them.
- Z-Machine v6-specific features are not well supported. Not many games use them. v7/v8 expanded story file size/memory features are supported, however.
This project stands on the shoulders of Andrew "Zarf" Plotkin (among many others, I'm sure) and his work establishing standards for the IF community. Thanks Andrew, et al.
This was the first package ever published to https://pub.dev.
