PunyInform
PunyInform | |
---|---|
Authoring system | |
Links | Home page Download Run online |
Developers | Johan Berntsson, Fredrik Ramsberg, Pablo Martinez, Tomas Öberg |
Format | Z-code |
Interaction style | Parser |
Systems | Browser, Windows, macOS, Linux, MS-DOS, Classic Mac OS, Acorn Archimedes, Atari ST, Commodore Amiga, Other |
System details | PunyInform games can be developed on any platform which the Inform 6 compiler can be built for. There are usually binaries available for Windows and macOS, but you should also be able to build the compiler for Linux, Amiga, Archimedes, Atari ST, BeOS, Mac Classic, OS/2, MS-DOS, Unix, VMS and EPOC. |
Latest version | 4.3 / 2 Feb 2023 |
Status | Stable |
Multimedia support | |
License | MIT |
Notes | See also: Inform 6. |
Browse the software database | |
Edit this infobox |
PunyInform is an alternative to the standard Inform 6 library, developed by Johan Berntsson, Fredrik Ramsberg, Pablo Martinez and Tomas Öberg.
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.
Platforms
PunyInform games can be developed on any platform which the Inform 6 compiler can be built for. There are usually binaries available for Windows and macOS, but you should also be able to build the compiler for Linux, Amiga, Archimedes, Atari ST, BeOS, Mac Classic, OS/2, MS-DOS, Unix, VMS and EPOC.
PunyInform can be used to build games in z3-, z5 or z8 format. All of these formats can be played on modern platforms. Games in z3-format can also be played on dozens of 8-bit and 16-bit platforms. Anyone looking to build a PunyInform game for as many platforms as possible should have a look at the Puddle BuildTools for PunyInform.
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:
- 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.
- 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 does not natively handle identical objects, like a pile of gold coins which can be split up into any number of smaller piles. The distribution does however include a demonstration of how one can make a game support a small number of identical objects.
- The WriteListFrom routine doesn't exist, but there is a simpler replacement routine called PrintContents.
- A few of the library entry point routines used in the Inform 6 library are not supported by PunyInform.
- The set of verbs and the grammar tables for these verbs are not identical to what the Inform 6 library provides.
Games known to use PunyInform
- Tristam Island
- Calypso
- Behind Closed Doors 9B
- Alien Research Centre 3
- Return to the Castle
- The Fishing-Trip - Brown Trout and Goblins
- Hibernated 1 Director's Cut
- Ghost Mountain
- Craverly Heights
- Captain Cutter's Treasure
- Djinn on the Rocks
- Pub Hubbub
- Death Number Four
- Pub Adventure
- Closet of Mystery
- Arthur's Day Out
- Buccaneer's Cache
- The Job
- Duck! Me?
- Morris
- A Once In a Lifetime Opportunity
- Face Your Fears
- Hibernated 2 (not yet released)
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.