Moving from Inform 6 to Inform 7?

I’ve noticed that most games released now are written in Inform 7 rather Inform 6. While I’ve considered switching to developing things myself in Inform 7, I have a strong aversion to its natural-language syntax style and am at best ambivalent about its move to a rule-based model. I’m clearly not the target audience for the language, but I do like its IDE and other ancillary features. Given that, is it worth starting any new projects in Inform 7 rather than Inform 6?

I’m pretty sure that this is dependent on enough personal factors that it’s not a question that can be answered by any method other than using I7 for a while and seeing whether you get used to it. (I moved to I7 from TADS 2, so I can’t really speak about the switch from experience.)

(From what you’re saying, it sounds as if you like some of the peripherals of I7 but are uncomfortable with the core, which is an argument for not changing - honestly, it sounds as though what you’re really after here is for people to affirm your choice not to switch.)

Bear in mind that you can include I6 code within any I7 game that you write, so your I6 skills will still be pretty useful. (I think some people have tried using the I7 IDE and then coding in nothing but I6 within it, but that potentially creates its own issues.)

What don’t you like about its rules system? I think it makes it much easier to describe actions involving multiple objects: in version 6 you have to choose just one object to attach the code to. Version 7 also makes it easy to rank rules - I don’t wouldn’t even know how to start doing that in 6.

Descriptions are another one of 7’s most powerful features. The classic example is along the lines of “now every dog belonging to Bob which can see the player hates the player.” Descriptions allow you to powerfully and concisely filter stuff.

The Mac I7 IDE supports pure-I6 projects, with skein support.

Right, but I’m not interested so much in whether I’d prefer to write in 6 versus 7 as whether there are significant features that I’m missing by retaining 6. For comparison, I found the switch over the Glulx to be a bit painful, but some of the memory model features made the transition worth it.

Pretty much, yeah.

I don’t think that’s accurate (or fair). While I’m not inclined to switch now, I did want to check with people more familiar with the language to make sure that I’m not missing anything significant. The switch from I6 to I7 changed quite a few elements of the language, and I want to make sure that there isn’t some killer app I’ve overlooked.

Getting away from the react_before, before, etc. model would be nice (and I’ve written a priority system to handle the ranking idea, at least in the cases that I’ve personally run into).

Personally, I’m totally fine with something like:

objectloop(dog ofclass DogNPC) { if (dog.owner == Bob && InScope(dog, player)) dog.angry = true; }
I’m more interested in things like the skein, IDE, etc. that aren’t present in I6 at all (though I suppose they’re not part of I7 proper either), rather than reorganizing or changing the syntax of existing I6 features.

Spiffy! Unfortunately, I don’t use a Mac, but that’s good to know. Right now, I’m writing code just in emacs and adding some debug verbs to simulate a hard-coded skein.

Yeah, I wrote all my I6 games like that. :slight_smile: