PunyInform
| PunyInform | |
|---|---|
| Library | |
| |
| Links | Home page Download Run online |
| Developers | Johan Berntsson, Fredrik Ramsberg |
| Format | Z-code |
| 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 | 6.6 / 12 May 2026 |
| Status | Stable |
| Uses | Inform 6 |
| Used by | Borogove, PunyInformES, PunyInformFR |
| 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 and z4 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, z4, z5 or z8 format. All of these formats can be played on modern platforms. Games in z3, z4 and z5 formats 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 Puny BuildTools.
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 much 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
Since PunyInform was first published in 2020, more than 100 games using PunyInform have been released. You can find almost all of them at https://ifdb.org/search?searchbar=tag%3Apunyinform . Here are some of the more ambitious or well-known ones:
- A Train to Piccadilly
- A1RL0CK
- Alchemist's Gold
- All That Shimmers
- Calypso
- Captain Cutter's Treasure
- Carpathian Vampire
- Djinn on the Rocks
- Dragon'n Princess
- Ghost Mountain
- Hibernated 1 (Director's Cut)
- Morris
- Shaka!
- Solo Dos Deseos
- Submarine Sabotage
- THE RUIN OF 0CEANUS PR1ME
- The Candy Striper of St. Asterix
- The Ghosts of Blackwood Manor
- The King's Ball
- The Mystery of Winchester High
- Thornfell Manor: 1984
- Tristam Island
- You Are Standing
- Zodiac - An Arthur Blonde Mission
Here are PunyInform games from IFWiki's database of games:
- A Once in a Lifetime Opportunity (Elias Ramsberg as "Interpied"; 2021; Inform 6, PunyInform; Z-code).
- A Taste of Terror (Garry Francis; 2025; Inform 6, PunyInform; Z-code).
- A Train to Piccadilly (Marco Innocenti; 2024; Inform 6, PunyInform; Z-code).
- A1RL0CK (Marco Innocenti; 2023; Inform 6, PunyInform; Z-code).
- Adrift (Anonymous; c. 2025; Inform 6, PunyInform; Z-code).
- Adventure (PunyInform version) (William Crowther and Donald Woods; porter: Fredrik Ramsberg; 2024; Inform 6, PunyInform; Z-code).
- Adventure (RAMS035B) (William Crowther and Donald Woods; porter: Fredrik Ramsberg; 2024; Inform 6, PunyInform; Z-code).
- Alchemist's Gold (Garry Francis; 2022; Inform 6, PunyInform; Z-code).
- All That Shimmers... (Andrew Apted; c. 2025; Inform 6, PunyInform; Z-code).
- Arthur's Day Out (Jason Oakley as "Waulok"; 2021; Inform 6, PunyInform; Z-code).
- Bakemono no Sekai - World of Monsters (Gianluca Girelli; 2024; Inform 6, PunyInform; Z-code; Commodore 64/128, MEGA65, Commodore Plus/4, BBC Micro/Acorn Electron).
- Captain Cutter's Treasure (Garry Francis; 2021; Inform 6, PunyInform; Z-code).
- Cargo Breach (Garry Francis; 2023; Inform 6, PunyInform; Z-code).
- Caribbean Treasure (Garry Francis; 2025; Inform 6, PunyInform; Z-code).
- Carpathian Vampire (Garry Francis; 2022; Inform 6, PunyInform; Z-code).
- Cloak of Darkness (PunyInform port) (Roger Firth; porter: Fredrik Ramsberg; 2020; PunyInform; Z-code).
- Craverly Heights (PunyInform) (Ryan Veeder; porter: Johan Berntsson; 2021; Inform 6, PunyInform; Z-code).
- Crimson Witness (kqr; c. 2025; Inform 6, PunyInform; Z-code).
- Desperados (Gianluca Girelli and Garry Francis; 2025; Inform 6, PunyInform; Z-code).
- Echoes of the Future (Daniel Revenga as "DaReInt"; 2025; Inform 6, PunyInform; Z-code).
- Escape from the Troll's Cave (Garry Francis; 2024; Inform 6, PunyInform; Z-code).
- Falling to Pieces (Gianluca Girelli; 2023; Inform 6, PunyInform; Z-code).
- Hangman's Gulch (Garry Francis; 2024; Inform 6, PunyInform; Z-code).
- Hibernated 1 (Director's Cut) (Stefan Vogt; 2021; Inform 6, PunyInform; Z-code).
- Homo Sapiens (Garry Francis; 2026; Inform 6, PunyInform; Z-code; Amstrad CPC, Amstrad PCW, Apple IIe, Atari 130XE, Atari ST, BBC Micro/Acorn Electron, Browser, Commodore 64, Commodore 128, Commodore Amiga, Commodore Plus/4, MEGA65, MSX/MSX2, Spectrum Next, Z-Machine).
- Just Two Wishes (Depresiv as "Kozelek"; 2025; Inform 6, PunyInform; Z-code).
- Kenny Koala's Bushfire Survival Plan (Garry Francis; 2022; Inform 6, PunyInform; Z-code).
- Kill Wizard (Dark Star; c. 2025; Inform 6, PunyInform; Z-code).
- Late Night at the Mall (Johan Berntsson; 2024; Inform 6, PunyInform; Z-code).
- Mars, 2049 AD (Fredrik Ramsberg; 2024; Inform 6, PunyInform; Z-code).
- Pharaoh (Gianluca Girelli; development company: GDG-Entertainment; 2023; Inform 6, PunyInform; Z-code).
- Rana's Reception (Elias Ramsberg as "Interpied"; c. 2025; Inform 6, PunyInform; Z-code).
- Search for the Lost Ark (Garry Francis; 2023; Inform 6, PunyInform; Z-code).
- Solo Dos Deseos (Depresiv as "Kozelek"; 2025; Inform 6, PunyInform, PunyInformES; Z-code; Spanish).
- Submarine Sabotage (Garry Francis; 2023; Inform 6, PunyInform; Z-code).
- Tempus Fugit: The Past is Yet Unwritten (Gianluca Girelli; 2025; Inform 6, PunyInform; Z-code; Commodore 64, Commodore 128, Commodore Plus/4, MEGA65).
- The Babysitter (Garry Francis; 2024; Inform 6, PunyInform; Z-code).
- The Fantasy Dimension (Johan Berntsson; 2023; Inform 6, PunyInform; Z-code).
- The Horror of Goldmine City (Gianluca Girelli; 2026; Inform 6, PunyInform; Z-code; Amstrad CPC, Amstrad PCW, Apple IIe, Atari 130XE, Atari ST, BBC Micro/Acorn Electron, Browser, Commodore Amiga, Commodore 64, Commodore 128, Commodore Plus/4, MEGA65, MSX, Spectrum Next).
- The Job (Fredrik Ramsberg; 2021; Inform 6, PunyInform; Z-code).
- The King's Ball (Garry Francis; 2023; Inform 6, PunyInform; Z-code).
- The Mystery of Winchester High (Garry Francis; 2023; Inform 6, PunyInform; Z-code).
- The Organ Grinder's Monkey (Garry Francis; 2025; Inform 6, PunyInform; Z-code).
- The Samurai and the Kappa (Garry Francis; 2024; Inform 6, PunyInform; Z-code).
- The Seeds of Evil (Gianluca Girelli; 2026; Inform 6, PunyInform; Z-code; BBC Micro/Acorn Electron, Amstrad CPC, Amstrad PCW, Apple IIe, Atari 130XE, Atari ST, Commodore 64, Commodore 128, Commodore Amiga, MSX, Browser, Commodore Plus/4, MEGA65, Spectrum Next).
- The Time Crystals of Cythii (Garry Francis; 2025; Inform 6, PunyInform; Z-code).
- The Wrath of Anubis (Garry Francis; 2025; Inform 6, PunyInform; Z-code).
- Tin Star (Gianluca Girelli and Garry Francis; 2025; Inform 6, PunyInform; Z-code).
- Unknown Dimension (Garry Francis; 2025; Inform 6, PunyInform; Z-code).
- Who Kidnapped Mother Goose? (Garry Francis; 2024; Inform 6, PunyInform; Z-code).
- Wild West (Gianluca Girelli and Garry Francis; 2025; Inform 6, PunyInform; Z-code).
- Zodiac - An Arthur Blonde Mission (Charles Moore, Jr. as "improvmonster"; c. 2025; Inform 6, PunyInform; Z-code).
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.
- PunyInformES is a translation of this library into Spanish.
- PunyInformFR is a translation of this library into French.
