zart 1.0.1

Dart native js
Flutter Android iOS web

Dart implementation of the Infocom Z-Machine.

Zart - Dart Implementation of Infocom Z-Machine #

West of House
You are standing in an open field west of a white house, with a 
boarded front door. You could circle the house to the north or south.
There is a small mailbox here.


Some of my most memorable early gaming experiences were playing Infocom interactive fiction games.

This project is a labor of love.


Features #

  • Plays V3, V5, V7, and V8 games (see "Limitations" below)
  • Supports loading raw game files (.z3, .z5, .z8, etc)
  • Supports loading .zblorb files, but only uses the game file from the package at this time.
  • Separates the UI implementation from the core interpreter functions, providing extensibility to virtually any platform that Dart runs on (currently Mac, Linux, Windows, and Web).

Limitations #

Older Games May Not Work #

Some games, especially ones compiled with older version of Inform, may not work properly. Trial and error is the only way to know.

The older Infocom games (V3 & V5) appear to work fine.

Games compiled with the latest Inform 7 appear to work fine.

Want to author your own IF games? #

Next Steps #

  • Bug fixes, optimization, enhancements to some op codes.
  • Add in some detection to warn if the game file may not be playable.
  • Improve the web interpreter (not included with this library) to support split screening, cursor positioning, etc.

Reference Material #

License #

Source Code: Apache 2.0 (see LICENSE file)

Game files include are covered under their own applicable copyrights and licensing.

Fun Fact #

This was the first package ever uploaded to back during the pre v1.0 days of Dart.

pub points

Dart implementation of the Infocom Z-Machine.

Repository (GitHub)
View/report issues


API reference



Apache 2.0 (LICENSE)




Packages that depend on zart