In each of my Inform games (I know I’ve only released the one but I have truly an unreasonable amount of WIPs), I find that I keep using the same extensions over and over. Some of them make coding tricky things more convenient, some of them add important functionality, and some of them I’ve just gotten used to having around.
So, I got to wondering, what are y’all’s favorite extensions? Or the extensions you keep coming back to? Which extensions can’t you live without and why?
I have… quite a lot, honestly, but special mention goes to Glulx Text Effects by Emily Short, Alternatives by Eric Eve, and Far Away by Jon Ingold for appearing in, I think, literally every game I’ve even started coding.
(I considered putting this in off-topic but it’s specific enough to Inform that I thought it fit better here. Please do move it if this is the wrong place!)
I didn’t understand or like extensions for years, so I never used them until recently, so I ended up copying the same code over and over again. I didn’t even know there was a far away extension, that would save so much time!
The ones I’ve used most since I found out about them is Gluck Text effects (I almost feel this should just be always on in every game), Emily Short’s Locksmith (so convenient!) and the conversation system I turned into an extension (Clues and Conversations).
I know hybrid choices used to be really popular, but I haven’t seen it in the wild recently.
I like Object Response Tests (for testing) and Numbered Disambiguation Choices (to make life easier for the player in general, and also to prevent situations where you might have accidentally made it impossible for the player to disambiguate). I also like to use a version of Menus that has numbered choices. I think there’s one on Github updated by Dannii Willis.
I recently looked at all the IFComp Glulx games from 2016 on, 99 of which were 6L38 or 6M62. I ignored 4 6G60 games. (You had 7 years, people. Would it have killed you to submit one more game so that all my numbers would be turn out to be nice, neat percentages?) I ran glulx-strings on ‘em all to get their comprehensive extension lists, regardless of authorial modesty (unless the author went far enough out of their way to tamper with the I6 code output by the I7 compiler). So I actually have some data on favorites as represented by IFComp entrants’ use.
43 used no extensions outside of the ones that ship with Inform. 14 of those used no extensions at all, other than the Standard Rules and English Language, which I’ll ignore from here on out.
81 used Basic Screen Effects.
25 used Menus
15 each used Locksmith & Glulx Text Effects
14 used Epistemology
9 used Glulx Entry Points
8 used Punctuation Removal
We’re down to just 7 games before we see the first extension that doesn’t ship with Inform. (but it’s a pretty safe bet that 6 out of the 9 Glulx Entry Points users were using Dannii’s rewrite, not the one that shipped with Inform.)
Quip-Based Conversation by Michael Martin
Reactable Quips by Michael Martin
Rideable Vehicles by Graham Nelson
Glk Object Recovery by Dannii Willis
Glulx Definitions by Dannii Willis
Glk Events by Dannii Willis
alternative startup rules by dannii willis
small kindnesses by aaron reed
hybrid choices by aw freyr
exit lister by eric eve
conversation framework by eric eve
flexible windows by jon ingold
conditional undo by jesse mcgrew
object response tests by juhana leinonen
adaptive hints by eric eve
graphical map by xavid
vorple (various) by juhana leinonen
extended grammar by aaron reed
snippetage by dave robinson
conversation responses by eric eve
expanded understanding by xavid
object matching by xavid
glimmr drawing commands by erik temple
undo output control by erik temple
questions by michael callaghan
glulx image centering by emily short
At the bottom we start seeing a lot more variety. 17 games used 2 extensions; 47 used 1 extension.
In many cases I could see that extensions were being used by their own author for their own games, but I didn’t try to quantify that.
But it looks like if people use a non-standard (i.e., not shipping with Inform) extension written by someone else at all, it’s uncommon for it to be more than one.
Edited to emphasize: the game counts above overlap! 4 different games included each of conditional undo, object response tests, and adaptive hints, but that’s not to say that any given game including any of those didn’t include other extensions that appear higher or lower on the list.
Steph Cherrywell used it most of her games Brain Guzzlers, Zozzled. It’s shockingly powerful if you learn it.
Isn’t “Locksmith” part of Standard Rules now? I think “Epistemology” is?
“Variable Time Control” is useful if you want to do odd things like slow-motion events. I actually experimented with it in one game prototype to simulate the effect of being stoned and time passing really slowly.
“Conversation Responses” is really good - for me more useful than the more complicated conversation suites Eric Eve made.
Oh and “Recorded Endings” is tiny but amazing if you want to have a game remember details between plays. I gimmicked it up to not just do endings.
I’ve always wanted to make a game with “Transit System”.
Locksmith is a built-in extension, not part of the standard rules but pre-installed and ready to use. I’m not sure about Epistemology.
My early games have few extensions, my later ones many more. Locksmith and Basic Screen effects, both by Emily Short, are the two I’ve used the most, though I try to avoid actual locks and keys in my games these days. Basic Screen Effects I use mainly to tinker with the status line.
After that, the ones I’ve used the most are Eric Eve’s conversation package in various combinations. One game uses the whole Conversation Package, others just use Conversational Defaults and Conversation Responses. Epistemology is used by the conversation package and it’s one I couldn’t do without. I’ve never liked Hybrid Choices; switching to numbered multiple choice conversation always takes me out of the game a bit, but I’m very interested to see what the new conversation system in Inform 10 will be like.
Another one I’ve found useful is the rather ancient Scheduled Activities by John Clemens. I’ve used Approaches by Emily Short in two.
English Language by David Fisher was succeeded by English Language by Graham Nelson
Graham’s Approximate Metric Units was also added
Plurality and Case Management by Emily Short were removed, with much of Plurality’s functionality integrated into the language
Emily Short’s Inanimate Listeners and Skeleton Keys were added.
The included extensions were unchanged from 9.1/6L02 through 9.3/6M62:
Graham Nelson/Metric Units.i7x
Graham Nelson/Unicode Full Character Names.i7x
Graham Nelson/Rideable Vehicles.i7x
Graham Nelson/English Language.i7x
Graham Nelson/Approximate Metric Units.i7x
Graham Nelson/Standard Rules.i7x
Graham Nelson/Unicode Character Names.i7x
Emily Short/Glulx Entry Points.i7x
Emily Short/Inanimate Listeners.i7x
Emily Short/Complex Listing.i7x
Emily Short/Basic Help Menu.i7x
Emily Short/Skeleton Keys.i7x
Emily Short/Glulx Text Effects.i7x
Emily Short/Basic Screen Effects.i7x
Emily Short/Glulx Image Centering.i7x
Emily Short/Punctuation Removal.i7x
v10 brought us Basic Inform, of course, and Glulx Entry Points was remanded to the Public Library. It looks like the forthcoming version under development is dropping the Unicode Character Names extensions as part of the standard distribution.
Some things I think are so useful they should be baked in:
Far Away by Jon Ingold.
Scope Caching by Mike Cuil
Optimized Epistemology by Andrew Plotkin
Alternative Virtual Machine Startup by Dannii Willis
Scopability by Brady Garvin
some form of Unicode Parser by Andrew Plotkin after updating to v10