PunyInform
PunyInform | |
---|---|
Authoring system | |
Links | Home page Download Run online |
Developers | Johan Berntsson, Fredrik Ramsberg |
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 | 5.11 / 14 Dec 2024 |
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 and Fredrik Ramsberg, with additional coding by 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:
- Many PunyInform features are optional, to save space in games that don't need them.
- The compiled size of the PunyInform library is about 50-60% smaller than the Inform 6 library, depending on which library features are activated.
- The PunyInform library code is notably faster than the code of the Inform 6 library.
- 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
In the first 4 years, more than 60 games using PunyInform have been released. You can find almost all of them all at https://ifdb.org/search?searchbar=tag%3Apunyinform . Here are some of the more ambitious or well-known ones:
- Hibernated 1 Director's Cut
- Tristam Island
- Calypso
- The Ghosts of Blackwood Manor
- Ghost Mountain
- Captain Cutter's Treasure
- Djinn on the Rocks
- Morris
- Submarine Sabotage
- A1RLOCK
- Alchemist's Gold
- Carpathian Vampire
- Marie Waits
- The King's Ball
- The Mystery of Winchester High
- Dragon'n Princess
- You Are Standing
- THE RUIN OF 0CEANUS PR1ME
- Cargo Breach
- Shaka!
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.
Authoring systems | |
---|---|
By style | Parser • Choice • Parser-choice hybrid |
By system | Browser • Android • iOS • Linux • macOS • Windows |
Browse | Stable authoring systems • Search form • Drilldown |
Other software | Interpreters • Utilities |