Inform 7 is good, but...

Inform was developed in 1996 by Graham Nelson, and at present is the most used authoring system. [size=50][citiation needed][/size]

However, it’s a popular system not because it’s easy for players, but for developers.

Let me give you an example: I’m in a room, and don’t know which exits work. TADS gives me the status and command. Quest multitasks this: exits at end of description, the (revolutionary) compass rose, the EXIT command and the map.

The developer’s job in IF is to make the game easier for players. Systems exist to make the developer’s job easier. Inform helps dothe former role, but not the latter role much.

Please do not think of me as an Inform hater. I do not have any rivalry with Inform. I always support Inform. And TADS. And Quest. And ADRIFT and Hugo and Alan and [instert system name here].

This is true. The software ecosystem that is friendliest to the developer usually wins, whereas the one that is friendliest to the user does not necessarily usually win.

However, I think you might be slightly conflating ‘user-friendly’ with ‘feature-rich’. The functions and add-ons that you mention, I just consider as navigation also-rans, and I don’t really favour them because they impose a narrow theory of navigation on everyone who uses them. Also, it encourages people not to read the descriptions, reinforcing bad habits. Even as a player I don’t like them, because I don’t need them and they’re distracting. And it’s especially pointless if I am expected to click it as a ‘shortcut’ (like in Zork Zero, man was that ever pointless), because it’s way faster to type N and hit return than to switch from keyboard to mouse, position, and click.

Automapping is kinda cool though if it gives me a more bird’s eye feel for the geography. That’s the least pointless thing you mentioned, IMO. [EDIT: The map should look pleasing to the eye, however. If it’s an ASCII map like in Beyond Zork, fuhgeddaboutit.]

P.S. I believe if I’m not mistaken that Inform was developed in 1992-3.

The Quest way of doing things is quite messy, though. Hyperlinks might be fine in theory, but in practice they’re kind of an eyesore in a text adventure.

As for “Inform 7 is good, but…” and the implication that Quest is better, I’d take Inform 7 over Quest any day. And no, I personally don’t use either.

Yawn. Tell us some more stuff you don’t like Dave.

With the right extensions though, Inform can do everything you are talking about!

HaHaHaHa

Oh, I’m tempted, but there just aren’t enough hours in the day.

Since I7 can do these things (see various extensions), the question you should be asking is why authors don’t usually choose to include them.

Yeah. My own punt on this is that I think extensions are a bit daunting.

In the beginning (of your experience with i7) you have to become aware of the idea of extensions, and verify it by going out to the extensions website. At that stage it may still fairly abstract as to what they are and what they might be able to do. And there’s so many of them.

Once you’ve got to the stage where you might add one or more to your game, then you start to acquire some familiarity with where to look, how to use them, and the final challenge is simply knowing what’s already been done in extension form. That part remains a challenge even once you’re experienced, since you simply can’t know it all - you need to search the library carefully, or ask other programmers: ‘I wanna do such and such’ and they say ‘Oh yeah, try extension Yada Yada.’

The whole thing may be symptomatic of i7 being easy to start with, thanks to the natural language, but ultimately very powerful, and therefore being like other complex programming systems which have lots of add on pieces.

For Timewalker, the i7 extensions that do things you spoke of are:

  • Exit Lister by Eric Eve (Customisable exit listings in status line, exits command, etc.)

  • Automap by Mark Tilford (Gives you an ascii automap)

  • Glimmr Automap by Erik Temple (Gives you a graphic automap)

  • Wade

THe problem with i7 extensions is that when you use one, you normally bring in a lot of extraneous code you don’t need, but which is there to make sure the extension works universally. If you had written the function yourself, you never would have written half those exceptions and cases. If you decide to use a lot of extensions in order to replicate the behaviour of more sophisticated games, then your game becomes incredibly bloated and slow, and you’re wondering, ‘Gee, how did all those other devs include so many huge extensions.’ Well, they didn’t. They probably only included bit & pieces of the huge extensions, for performance’s sake. They hacked like crazy.

Note that the only reason that this isn’t a ‘problem’ in other systems is that I don’t have a choice. It’s the ur-developer who decides what libraries are loaded or not loaded into my game. I don’t have control, so I don’t think about it with this level of granularity anymore. Instead I judge the whole development system based on its performance and it will almost certainly lose to basic Inform on that level, because nothing beats basic Inform on performance – yet.

Also, as long as there is still a tool that lets me use my own text editor and just engage the IDE for compilation only, that’s the one I’m gonna use. I don’t know what Quest’s IDE is like – so this is just FYI as to why alternate creation systems are usually dismissed by me. They attempt to lock me in; they are so eager to prove that their development environment is awesome that they don’t wanna let me out because I should just love it that much. Bad move. If you are unwilling to let me code everything in a text editor and just let me use your development ‘environment’ as a (preferably commandline) compiler, then I am probably not interested regardless of its awesome features.

EDIT: Added a couple of paragraphs.

Do you have first-hand experience or are you just speculating?

I don’t know what performance problems you’re running in to, and to be honest, I’m sceptical of what you’re saying, but if you have identified performance problems please do start a new topic and explain more about them.

First-hand. My game got bloated to the point where it was taking several seconds for every prompt to appear. Removing most of the extensions and replacing them with custom code, solved the problem entirely. I did not optimise any of my own code to solve this: it was all the extensions. YMMV.

P.S. In that vein, I really recommend people avoid using ‘Written Inventory’ and find a way to hack whatever you need into the inventory with your own custom code. The same goes for several other popular extensions, but Written Inventory is one of the worst, especially since it seems so innocuous.

Well I solved these problems more than a year ago now. I don’t think I really can bring all of the relevant info to mind, anymore. I would say if somebody wishes to avoid the problems I had, at least avoid ‘Written Inventory’ and ‘Custom Library Messages’ – hack these changes yourself, instead – it’s what I had to do.

Doesn’t this topic belong in General Game Design, since it is contrasting systems?

I dunno. I think the original comment was prompted by not knowing that Inform could do a few particular things. I think the topic is mostly going to be tech talk about i7 performance now.

For instance! - I can say I’ve used Custom Library Messages in every project of mine, and I’ve not noticed it ever caused any problems. Apparently the kind of functionality it offers is also going to be in the next version of Inform by default.

I’ve only seen my performance slow down in little increments in the Mac IDE’s strict mode, just on a ‘the more I add, the microscopically slower the game runs’ basis - with a few bigger exceptions, particularly if I add graphics. But once I try the build out on Gargoyle or any fast interpreter, the differences are invisible. From hearsay, I understand performance differences are mostly apparent in playing-online circumstances, and on particularly big projects, depending on their content and nature.

  • Wade

I doubt it. I’m not complaining or filing a bug report so I don’t really see a need for an argument; it was just a conversational observation, based on my personal experience. If it’s actually generally wrong in most people’s experience, then it’s wrong, and I’m wrong. But I am not bullshitting. That’s a silly accusation that should be beneath everyone, if that’s the accusation being made above (tough to be sure). BTW I learned my lesson already on filing bug reports – don’t. Too many things I don’t know; last time I filled one out, I made a fool of myself, and said I wasn’t going to file them anymore, and it’s not like anybody objected and said ‘no! we need your input’. I typically just solve things or work around them on my own, or if I can’t, I just ask here. I do not make sure everybody knows about my problems, and in this case I had no real reason to because I solved the issue already to my own satisfaction. Inform 7 is great. Rah rah rah! 8)

Written Inventory was really the worst offender; removing it made biggest difference. I suspected there was some negative interaction either with CLM or with Rideable Vehicles, but I couldn’t be sure and you know what? They were not that hard to replace. So I just did that.

With Custom Library Messages, I was stuck on the old version because the new version for some reason did not import all of the use cases from the old one, and my favourite use case wasn’t included. So I didn’t really test the performance of the new versioin, because it just didn’t do the actual job. I haven’t checked more recently, though. I think I did complain about this once, very briefly in passing. If people were paying attention, maybe the missing use case has already been added. But I did not file a bug report. 8)

Quest has an IDE which most people use, as it shows most things in plain English, but there is a programming language behind it - so you can code in a text editor too. See blog.textadventures.co.uk/2013/0 … teh-codez/

I’m also concerned about lock-in, which is why it’s open source under a very permissive MIT style licence - if I disappear along with my website, you’ll always be able to edit and play games, and if you don’t like the direction I’m going with Quest, you have the power to take it somewhere else.

I usually end up making custom extensions to do the job.

Also: if the current exits-listing extension slows down Inform due to “extraneous code you don’t need, but which is there to make sure the extension works universally” – then making Inform perform these functions by default would entail exactly the same slowdown.

Wait, when was this? I see three reports from you, all of them solid.

At any rate, I object. Bug reports are important so that these things get fixed. And false reports happen—almost a quarter of what comes through Mantis doesn’t survive the initial triage, even from highly knowledgable reporters.