Jim Aikin's Oblong Blob

Random Rambling & Questionable Commentary

Archive for the ‘Uncategorized’ Category

Extensions & Contractions

Posted by midiguru on February 20, 2015

This week I’ve been working on updating my Inform 7 Handbook. It’s rather discouraging process.

Central to my discouragement is the chaotic state of the Inform extensions arsenal. In chapter 3 of my Handbook (which is a full-length book that has been, and presumably will be, available as a free PDF), I had guided the reader toward using a handy extension called Consolidated Multiple Actions by John Clemens. Published in 2008, this extension was designed to convert ugly 1980s-style output of this sort:

>drop dollars
silver dollar: Dropped.
silver dollar: Dropped.
silver dollar: Dropped.
silver dollar: Dropped.
silver dollar: Dropped.

…into something much more tidy:

>drop dollars
You put down the five silver dollars.

Needless to say, this extension doesn’t work with the current version of Inform. It’s a fairly complex extension — frankly, it’s beyond my ability to fix it. There is apparently no currently functional extension that does this. As a result, the new version of Inform 7 is actually less capable than previous versions when it comes to giving the author some basic control over the output text.

As a writer, I care about making the output look presentable. Call me eccentric if you like.

Inform 7 was designed from the ground up to encourage third parties to extend its fairly basic functionality by writing clever extensions. This is a valid approach to designing a programming language, I suppose. But it works better if you have a user base that’s, oh, let’s say a hundred times larger than the tiny, scattered community of interactive fiction authors. With such a minuscule pool of qualified programmers (of whom I am not one) to call upon for maintenance tasks, the result is sadly predictable: Stuff doesn’t get fixed.

As the author of Inform 7, Graham Nelson really ought to have understood this long ago. Inform is his creative project — perhaps, in some sense, his life’s work. I don’t know Graham, so I don’t know what other work he may engage in, but he has certainly put a massive effort into Inform, over the course of more than 20 years. And yet it’s not enough.

Knowing that numerous clever extensions would be broken by his new version, he ought to have taken definite steps to insure backward compatibility. Rather than eliminating numerous phrases from I7 syntax (and some features such as the Library Messages from the underlying I6 code base), he ought to have worked out a way to keep those phrases and features available, so that older extensions could continue to use them if need be.

Either that, or he ought to have revised all of the potentially useful extensions himself.

His failure to do either of those things sabotages his end users — the community of Inform authors. He has ignored authors’ legitimate needs.

Graham is a very bright guy. He’s certainly smarter and harder-working than I am. But it’s hard for me to feel enthusiastic about supporting aspiring Inform 7 authors by rewriting my Handbook, when the mastermind who created the entire authoring system shows so little evident interest in supporting them.

I’m strictly a bumble-fingered amateur programmer, not a computer scientist, but I can easily imagine a simple way that he could have preserved the functionality of those old extensions. Edit each extension to put the line “Allow deprecated syntax and features” at the top. An intern could update the whole library in less than an hour. Then tell the compiler that when it encounters a separate .i7x file with that line, it should, for that file only, switch to a different compilation mode — a mode that already exists as a code base, because it’s what the old compiler did.

If he had done it that way, wretches like me wouldn’t have to thrash around for hours trying to make things like Consolidated Multiple Actions work. I’m told Graham teaches at Oxford. Perhaps the words “ivory tower” would not be misplaced here.

Posted in Interactive Fiction, Uncategorized | Leave a Comment »

Burnin’ Down the House

Posted by midiguru on May 20, 2010

Today I saw a bumper sticker that said, “Fight Socialism!” That and the Ronald Reagan bumper sticker made it crystal-clear that the owner of the car must be of the conservative persuasion.

My question for this addle-pated individual is this: When your house catches on fire, what private fire company are you going to call to put out the fire?

What? You mean to tell me you don’t subscribe to a private fire company? You’re not planning to call the 100% socialist public fire department, are you? I sure hope not.

I seem to remember that they taught this lesson in history class in high school when I was but a wee sprat. Maybe it’s not in the curriculum anymore. The thing is, we used to have private fire companies in the United States, back in the bad old days. And what would happen was, when a house caught on fire (which happened quite a lot, because lamps and stoves and candles all used open flames), the wagons from two or three local fire companies might show up.

These companies were rivals: free-market capitalism at its finest. So if you weren’t already a subscriber to one of the companies, you’d have to negotiate a price (while the fire was burning) for them to put it out. The price would be exhorbitant, naturally, since the fire chief knew you were in a big hurry, but precious minutes would be wasted while the various companies bid against one another. If you did happen to already be a subscriber to one company, the firemen from another company might engage in various sorts of sabotage so that later they could say, “See, Bob Smith was an XYZ Company subscriber, and they were on the scene, but guess what? His house burned down before they could put the fire out. Their pumper didn’t pump out but a trickle, haw-haw-haw!”

The system was broke. So what happened was a government takeover. Now there’s only one fire department. It’s run by the government. It’s paid for with your tax dollars. It’s socialism, weenie-breath. And it works just fine, and nobody complains about it.

Oh, and in those days there were no regulations on how food could be packaged or labeled. Quite a lot of babies died from being fed stuff that was supposed to be milk, and looked like milk, but wasn’t. So today we have (in theory, at least) intrusive bureaucratic government regulations. The kind of stuff conservatives love to ridicule and whine about. But the number of babies dying from tainted milk dropped dramatically when the regulations were written into law.

Conservatism — a sure-fire recipe for burned-out houses and dead babies. Don’t say I didn’t warn you.

Posted in politics, society & culture, Uncategorized | Tagged: , | 2 Comments »


Posted by midiguru on May 16, 2010

I’d like to have a better network of social contacts. Friends, I think they’re called.

Church attendance is rumored to be a way to build a social network. My choices in this arena are limited, as I’m an atheist. The Unitarians (also known as Unitarian Universalists, primarily for administrative reasons) have no theology or dogma, so they’re my best shot. For four Sundays now, I’ve been showing up, sitting there, singing, listening, chatting with a few people after the service.

So far, I’m failing to see anything that would attract me. The minister’s sermons are okay, and the congregants are my kind of people in a general sort of way — intelligent, liberal, polite. The services barely mention God or prayer, so I don’t have to grit my teeth. But there’s nothing positive about the experience. I’m not feeling, “Wow, this is a great place to hang out.” I’m not thinking, “Hey, these are cool people. I want to talk to them about stuff.” It’s all sort of blah.

Blah is not, I think, what one hopes to get from church attendance.

Posted in religion, society & culture, Uncategorized | Tagged: , | Leave a Comment »

The Why of Doing

Posted by midiguru on May 1, 2010

Sometimes I’m a mystery to myself. For months I’ve been somewhat disgusted with interactive fiction. Other than fielding a few requests for help on the newsgroup or the forum, I haven’t been doing anything with it.

And now, suddenly, I’m interested in putting together a huge new game. Go figure. It’s a game that I first envisioned a couple of years ago, and started writing. But I began to feel it was so large and complex that no one would ever finish playing it — so why bother?

One change in the weather is the impending release of the new version of Inform 7. Not that there’s anything radically wrong with the old version (or at least, there’s nothing radically wrong with the old version that’s going to get fixed in the new one … we can chat another time about things that are radically wrong with I7 that aren’t going to change). But I always get a charge out of playing with new software, and I’m sure other people do too.

Also, I’m in a “fuck it” mood. Life is meaningless from top to bottom. There are, in consequence, no activities I could conceivably engage in that would be more meaningful than writing a ponderously large and moderately pretentious text game involving a roving octopus, a malicious mannequin, a dance orchestra of badly trained monkeys, and Zarbolphung the evil-tempered wizard.

Some of the work that I did on the game was in a different development system — TADS 3. On the whole, I prefer TADS, but some very bright people are actively at work building the tools for playing Inform games in your browser. This is good news for anyone who wants to make their game widely available to casual players. The traditional way of playing text games is to download the game file and a separate interpreter program, and that’s too much hassle for someone who isn’t yet a committed fan. I’ve tried to nudge the TADS developers into taking steps in that direction, but it’s not clear when (or if) they’ll take the necessary steps.

So tonight I’m working out a way to emulate a TADS AgendaItem object in Inform. In principle, there are sure to be ways to make it work, but … well, it’s an interesting intellectual challenge, and I need one or two of those right now. Nothing takes your mind off of the stunning meaninglessness of life like a good coding puzzle.

Posted in Interactive Fiction, random musings, Uncategorized, writing | Tagged: , | Leave a Comment »


Get every new post delivered to your Inbox.

Join 116 other followers