Today was the first meeting of my class for kids in how to write interactive fiction. The kids got into it much more quickly than I expected — they seem to take to Inform 7 very naturally, and they seem to be enjoying it a lot. This is exciting!
Imagine eight kids around a dining-room table, each with a laptop. They range in age from 11 to 13. I had given them some advance idea of what to expect by providing games that they could play, and several of them had already finished playing “Mrs. Pepper’s Nasty Secret,” which I suggested they start with because it’s newcomer-friendly. A couple of others had no idea what to expect, so I explained about navigating from room to room and examining objects.
We got Inform installed on the computers with barely a hitch. I showed them how to use the interface, and they were off and running. Each of them created a room, then started adding a few objects to the room. One boy had been reading the manual ahead of time, and by the time I came around the table to look at his screen, he already had an instead rule in his code.
I asked each of them to imagine a setting for a story. The initial rooms they came up with ranged from the Millenium Falcon to a gerbil cage. This is definitely part of the fun — seeing what each of them comes up with when their imaginations have free rein. They immediately started wanting to do complex things: “How can I create a character I can talk to?” “How can I have a string outside of the gerbil cage that you can climb down?” (Having the main character be a gerbil is quite interesting. As I pointed out to them, the default response to “pick up X” would have to be something like, “You can’t do that. You don’t have any hands.”)
I also found, as I had expected, that Inform’s verbose, “helpful” compiler error messages are no more useful than standard compiler error messages. The most common error I saw today in the kids’ code was forgetting to put a period at the end of a sentence. Seemingly a simple, obvious thing, but the compiler had no idea what the problem was.
I would not want to be trying to teach this class using TADS 3, nor Inform 6, nor any other IF language. Inform 7 is absolutely the right tool for the job. The “natural language” paradigm makes it very approachable, as does the slick IDE.
I encouraged them to read the manual … but I have to say, one of the first specific questions I heard was about creating a new command (an action, in Informese). This is chapter 12 in the manual, which suggests that some other way of ordering the material might be good — and the process is not explained in a thorough, systematic way in chapter 12. Even after one 90-minute class, I can see that a manual with a different type of organization might be better for the kids — perhaps some sort of “how do I do this?” document that gives all of the steps needed to do a given thing in one tidy package.
I’m having as much fun as the kids — and as an added bonus, they’re paying me! In one day I made more money on interactive fiction than I ever expected. My main worry now is that they’re moving so fast, by next week they may know more than I do. Well, not really, but I was truly amazed at how quickly they “got it,” and I think Graham Nelson deserves all the credit for that.