Where to find Inform 7 Extensions

Inform 7 extensions

Public Library

Of the 10.1 IDE’s, automatically downloading from the Public Library only works in Windows; it’s currently broken in the Mac and Linux IDE’s. You could still manually download and use an extension, e.g., by creating a directory named ‘Gavin Lambert’ under ‘Extensions’ under your project’s materials directory and then copying Enterable Underside-v2.i7x there.

The 10.1 Public Library (primarily intended to be accessed through the IDE, but avaliable on the web via that link)

  • Stable, tested versions of extensions compatible with the current version of Inform 7.

The 9.3/6M62 Inform 7 Public Library used by older versions of the IDE apps is still present. (There isn’t a way to configure the old or new IDEs to point to a particular place; the Public Library values are predefined.) Many extensions here have more recent versions (but still made for and compatible with 9.3/6M62); for those look to…

Friends of I7 Extensions Repo

Many more extensions (and, in many cases, more recent versions of Public Library extensions) can be found at the Friends of I7 Extensions Github repo. All of these at least compile in their respective versions of Inform 7, and are believed to work.

For a larger body of extensions (that usually don’t identify for what version of Inform 7 they’re intended, and that includes drafts that may not compile or work in any version), see the Friends of I7 miscellaneous extensions

Friends of I7 Extensions Archive

For old extensions, see the Friends of I7 archive at Github:

  • in general, these worked in v8.5/6G60 and are unlikely to work in the current (6M62) release without changes. Many interesting extensions for 6G60 were never updated for subsequent versions.
  • In many cases, previous versions of a given extension are available; check the git history in github

Two things may not be obvious: the first three of those are different branches of the same repo. The default view if you go to github.com/i7/extensions is 10.1. You have to go to the button for the branch pulldown menu in the upper left to switch to 9.3 or to “master” for the miscellaneous ones. And the archive is a separate repo altogether at github.com/i7/archive.

For 10.1 and 9.3, a list of the extensions and their descriptions can be had at i7.github.io/extensions for 10.1 and i7.github.io/extensions/9.3. These include the extensions’ descriptions and make for easier browsing, but this is still manually updated and may not be up to the minute in reflecting the repos’ real contents.

Vorple

For the most up-to-date version of the Vorple template files, and the extensions that accompany it, see Vorple downloads.

Where not to find I7 Extensions

A web search for I7 extensions may still direct you to the Extension Library at i7el.herokuapp.com. It’s no longer there and had long since been superseded by the Friends of I7 Extensions repo. (Here’s the old I7 Extension Library tags in YAML if anyone’s interested.)

Discussion

For discussion of individual extensions (or to look for the status of a given extension), see the Inform Extensions category. If a search for the extension shows it doesn’t have a topic there, feel free to create one.

9 Likes

Probably should remove the Heroku site, I’m not really maintaining it anymore, and no one’s updated anything there for years.

(You are correct about /pl/payloads, that’s where the IDE pulls its extensions from. So if you want to check some extension documentation but don’t have I7 with you, go there and you’ll find the same version you’d get in the IDE itself.)

Ok, thank you.

As I ponder whether or how to update a few things in my Handbook, the first important topic that I’m looking at is Extensions. I don’t frankly know what’s going on (if anything is). This 2-year-old message from bg lists Emily Short’s payloads page as a source – but when I got there I don’t see anything like a complete directory listing the stuff I already have on my hard drive. Amusingly, Short’s own page within the payloads area lists 26 of her extensions, but I already have 37 of them, so it’s a good guess that even Emily herself is not maintaining this resource.

Can anybody help me understand what the heck is going on?

1 Like

I’ve been trying to keep a useful account of the state of what’s where at the Inform 7 Documentation and Resources page.

The Public Library extensions are still the canonical source of extensions as used by the IDE, but it has not been updated in some time: there are more recent versions of many of the extensions there, and I spot at least one that doesn’t work in 6M62 (Remembering by Aaron Reed). (And Mantis and uservoice are decommissioned. And a bunch of stuff that used to be at inform7.com isn’t there any more.)

The comprehensive community-maintained collection of extensions is at The Friends of I7 Extensions github repo, with old ones available at the Friends of I7 Extensions Archive. This is an easier-to-browse view of the extensions repo but it isn’t maintained automatically and I haven’t updated it in a few months, so some things are missing.

There has never been any requirement or expectation that everything in the Friends of I7 Extension archive works for any given version and about a third of them don’t compile. The non-functional extensions usually aren’t marked. I have a prototype extension listing that at least separates things that do and don’t compile on 6M62, but I’m in the middle of a large revision and don’t know when I might be ready to propose putting it on the repo in place of the existing easy-to-browse view.

A bunch of major extensions are no longer maintained by their original authors, like Emily Short’s and Jon Ingold’s. A bunch of people have commit access to the git repo and so are capable of changing anything, which sounds like a recipe for disaster, but in practice it seems to work well and if anyone has been upset by a change someone else committed, I’ve never heard of it.

[Edited: per David Kinder’s correction below, I’ve revised what I said about the state of the Public Library.]

2 Likes

Thanks for the input. That’s very helpful. The downside of the current situation, as far as I can judge from your answer, is that the IDE Extensions tab is now officially fucked. And when the IDE is not being maintained, what does that tell us about the creeping desuetude of I7 itself?

I’m a hard-ass about this, and I don’t apologize for it. I7 itself has not been updated for six years, except for some MacOS housekeeping. Does anybody even care? Does Graham? Is Graham even still alive?

I rather suspect that parser-based IF of any kind is sinking into oblivion. And that’s a shame, because I actually do like parser-based IF! I find it infinitely more interesting than Twine stories. Twine, however, is in active development, or was the last time I looked.

Should I even bother updating the Handbook? I view that as an open question. If there were an actual new build of I7, of course I would do it as a matter of course. But that’s not where we’re at.

1 Like

The IDEs are being maintained. ni / the language / the Standard Rules haven’t changed, but the IDEs have had updates. But none of them are integrated with the Friends repo for extensions, so far as I know, which creates a less than great situation for newcomers. (But I’m not that well-versed in the IDEs, having homebrewed a CLI alternative to the IDE to avoid them…)

I don’t think parser IF is at any great risk. The I7 community is still pretty active; there’s an active retrocomputing community writing I6 games with the PunyInform library; there’s still TADS; there’s a ZIL revival; there are recent platforms like Dialog and Gruescript.

I think an updated I7 Handbook could be incredibly useful. The docs don’t offer a great on-ramp for beginners; Aaron Reed’s Creating Interactive Fiction with I7 was for 6E72; the Handbook fills an important niche. And it’d be especially valuable if it spelled out how to deal with extensions in the modern world, 'cause if it did it would kind of automatically become the best guide available on the subject.

But my guess is that the next release of I7, when it comes, is going to look more like the 6G60->6L02 transition in terms of breaking things than the subsequent version changes. So, personally, I do think it makes sense to ponder whether it’s worth the time to sink a lot of effort into something specific to 6M62. (I’ve done so, myself…)

1 Like

This is not true. The Public Library remains the best place to get stable versions of extensions that are likely to work. The front-ends are not going to have an integration with the Friends github repo, as the extensions there are just too bleeding edge.

2 Likes

Apologies to everyone; I apparently grossly misread an account of the status at some point.

2 Likes

No worries. I thought that, too.

Your Handbook has been my bible for the last year, in case you were wondering if anybody uses it. I don’t think I could have gotten my first game written without it. In fact, I really should have put a thanks to you in my credits, and I’ll fix that in the post-comp version.

This is so true. If we don’t want parser IF to die, then making it as accessible as possible to people like me, who want to learn it and do it but are coding idiots, is pretty important.

Edited to add: I have wondered why there isn’t a category here with links for beginners, like to Jim’s handbook and Zed’s list of the standard rules, neither of which I knew about when I started. Almost every time I ask a question on this forum, someone links me to a resource I didn’t know about. Why not collect them all and put them somewhere really visible for newcomers?

3 Likes

At the risk of doing the thing you say people are always doing, I think that’s the intent of this post - it’s a little long and overwhelming but fairly comprehensive and frequently-updated, I think. Maybe could stand to be stickied to make it easier to find, though.

1 Like

Yeah. Also not easy to find-- if I’m looking explicitly for where to begin with Inform 7, I’m not going to find this thread, and if I had found it back in April, I wouldn’t have known what to do with it. There’s also a thread of resources, but there is so much in it that is obviously for more experienced people that it wasn’t very helpful when I was a newborn.

I do think a “Links for beginners” category or topic in Authoring would be very helpful.

Oops- I see that was the same link you posted. More caffeine before I post, please.

1 Like

It is stickied, or “pinned”, in the parlance of the Discourse forum implementation, but it will be unpinned automatically if you’ve read it. (You can check that it’s pinned to the top of the Inform 7 category if you visit the site when you’re not logged in.)

That solves a mystery from last Spring. I saw the thread, looked at it, got overwhelmed by it, and then couldn’t find it again later and couldn’t remember if I’d actually seen it here.

Yes, I think the forum’s behaviour is a bit unintuitive in that regard. You can disable that setting in the “Interface” section under your user preferences by unchecking “Automatically unpin topics when I reach the bottom.”

I think there’s also a site-wide setting for this.

1 Like

That is indeed the intent. I had thought that the stickiness was visibility enough, but hadn’t counted on the automatic unsticking. Not sure what to do about that. (For my own use, I have it bookmarked and then pinned within my bookmarks so it’s always on top… but that doesn’t help beginners.)

1 Like

The topic referenced is already pinned. This may not be intuitive, but if the pin icon is point-down it’s pinned. If it’s point-up it’s unpinned because a user has read it. You can actually re-pin it by clicking the pin so it goes point-down.

If you want to save any topic to a list, I’d highly recommend employing the “bookmark this post” link that expands from the ellipsis. Another strategy is to click the chain-link “link” icon, copy the link, and PM it to yourself or keep it anywhere you like.

If any of you would like to start a “Help for Beginners” thread in in any relevant category, please do so and point it out to me (PM preferable so I don’t miss it) and I’d be happy to pin it for you.

I can actually make original threads a Wiki so they are editable by any experienced regular user.

1 Like