PunyInform

From IFWiki
Jump to: navigation, search

PunyInform is an alternative to the standard Inform 6 library, developed by Johan Berntsson, Fredrik Ramsberg, Pablo Martinez and Tomas Öberg.

The current version is 1.8.

PunyInform is meant to be a lightweight alternative to the Inform 6 library, specifically for authors writing games for 8-bit platforms. Since games are compiled to Z-code, they can of course be played on more modern platforms as well. Compared to the Inform 6 library, PunyInform is more compact and has been developed with a greater focus on execution speed on slow platforms. Also, it can compile to z3 format.

From a programmer's point of view, PunyInform is very similar to the Inform 6 library. PunyInform lacks a few of the standard library's features, and some features are implemented in a different way to make for smaller and faster code. Some features are optional, so you can decide if your project needs them or if you'd rather save some space.

Comparison to the Inform 6 library

PunyInform has most of the features of the standard library, and the programming interface is very similar. Some of the most notable differences are:

  • There is no Compass object and the twelve direction objects have been replaced by a single Directions object.
  • Replacing library messages is done differently.
  • PunyInform can not handle identical objects, like a pile of gold coins which can be split up into any number of smaller piles.
  • The WriteListFrom routine doesn't exist, but there is a simpler replacement routine called PrintContents.
  • Many but not all library entry point routines that are used in the Inform 6 library are supported by PunyInform.
  • The set of verbs and the grammar tables for these verbs are not identical to what the Inform 6 library provides.
  • PunyInform uses fewer objects than the Inform 6 library, which means the author can use more objects in a z3 game, where there's a hard limit of 255 objects.

Games known to have used PunyInform

==

Links

  • Get the library from the project homepage at GitHub. There is also an online manual in the Wiki there.
  • There is a comparison with the Inform 6 library at Intfiction.org.