PunyInform v5.3.1 released

PunyInform v5.0 is out! Some highlights:

  • Cheap scenery extension has several improvements, like conditionally adding some scenery, making it easy to let some objects be “them”-objects (i.e. the player can “EXAMINE CURTAINS. PULL THEM”, and a debug verb to find problems.
  • Talk menu extension has some improvements, like removing the need for initialization, and defaulting to printing quote marks around what characters say.
  • Flags extension has two new functions, to easily check if any of 2-3 flags are set or clear, e.g. if (AnyFlagIsSet(F_DOG_ATE_HOMEWORK, F_MARTIANS_LANDED)) ... .

We try to avoid breaking changes in PunyInform, but every once in a while we feel the benefit makes it worth it. When this happens, we typically increase the major version number, like now. This version does have some breaking changes - be sure to read the notes on upgrading in the release notes!

Read up on the changes and download the library at Releases · johanberntsson/PunyInform · GitHub

16 Likes

I’ve updated the inform6unix package at https://gitlab.com/DavidGriffith/inform6unix to install PunyInform 5.0. A tarball is available at https://661.org/proj/if/ right now. It’ll be up at the IF Archive when the logjam in the upload directory is cleared out.

4 Likes

I have now updated the articles/tutorials on PunyInform to work perfectly with version 5.0 of the library.

The articles are listed at [GitHub - johanberntsson/PunyInform: A fast and compact library for writing text adventure games for the Z-machine running on 8-bit computers as well as other platforms.]

5 Likes

Retro text adventure library PunyInform v5.1 is out.

This release has a number of optimizations. A minimal game now compiles to a 22822 byte z3 file , which is 588 bytes or 2.5% smaller than with PunyInform v5.0.1. This translates to smoother gameplay on retro computers.

Read the release notes and get the library at Releases · johanberntsson/PunyInform · GitHub

11 Likes

Sorry I forgot to announce it. I’ve updated the Inform6Unix package to use PunyInform 5.1. It has been up at https://661.org/proj/if/ for a while now. I’ve just now uploaded the update to the IF Archive.

6 Likes

PunyInform v5.2 is out!

Biggest news is probably that you can perform actions on cheap scenery objects in code.

As usual, we keep the documentation up to date.

Read more and get the library on the Releases page, see first post.

8 Likes

Dave, Frederick…
Thanks to both of you, but:

Please try to coordinate between yourself: Dave releasing his Unix package with Punyinform 5.1 then Frederick releasing PunyInform 5.2 17 hours later is spectacular…

IF author can have a slow dev pace, y’know ? :wink:

Best regards from Italy,
dott. Piergiorgio.

Dear Pergorgo,

David forgot to make an announcement. It happens.

Meanwhile, we’re running a jam. This tends to lead to more people than usual working a lot with the library, which means more problems are discovered, and us releasing a new version or two, so everyone can release jam games with as few bugs as possible. :slight_smile:

2 Likes

PunyInform v5.3 is out.

Highlights:

  • You can now trust the InScope routine to be executed every time a scope calculation is called for. PunyInform has a habit of caching what’s in scope, to gain performance, and this used to mean that InScope couldn’t always affect scope. This has been fixed, with a very low cost in performance.

  • The global variable scope_reason which is used in the standard library, is now supported in PunyInform as well. It can be used to decide what’s in scope depending on why the scope is being worked out. E.g. you might add a wizard that casts nasty spells during the each_turn phase. You can safely use scope_reason for this in InScope, but not in add_to_scope property routines, as they aren’t run if the library decides it can use a cached copy of the scope.

  • A parser bug which would lead to the parser not printing an error message when it should in a certain scenario, has been fixed.

5 Likes

The inform6unix package is now updated with PunyInform verison 5.3. It’s available at 661.org now and the IF Archive when the curators move it to where it needs to go.

3 Likes

PunyInform v5.3.1 released, fixing a bug that made add_to_scope not work properly.

Also, it has an optimization which should make a noticable difference in speed for all games where OPTIONAL_MANUAL_SCOPE is not used and there’s often no user code to run during a turn.

4 Likes

The Inform6unix package is updated with Punyinform 5.3.1.

4 Likes