Interest in "DM5"?

I’ve been toying with the idea of trying to write some documentation that would be useful for people interested in learning more about Inform 6.

Although every learning resource that I’ve been able to find is listed in the sticky post for this forum, it’s quite a lengthy journey to go through all of them. In addition, many changes have accumulated since the bulk of the resources were written, so quite a bit must be discovered through personal exploration of the Standard Library. It seems like it might be useful to have something that brings together all of the knowledge from the various sources into one coherent volume.

How much interest is there in that sort of book?

EDIT: Here are some of what I’ve considered as possible goals with respect to content:

  1. Top-down introductory chapters that illustrate the relationships between the major pieces of pre-built machinery in the Standard Library
  2. Explanation/exploration of features added to the Standard Library since publication of DM4
  3. Explanation/exploration of changes to the language since publication of DM4
  4. Explanation/exploration of significant extensions that have been published over the years
  5. Details of “under the covers” operations of various parts of the system
  6. More information about the details at the VM level (including compare/contrast of Z vs. Glulx)
  7. Treatment of frequently asked questions from the forum
  8. A description of how the parser actually works
  9. A tour of the built-in properties and attributes and how they are used by the Standard Library
  10. A tour of the built-in verbs and responses found in the Standard Library
  11. A tour of the various useful routines found in the Standard Library

If any of these seem of particular interest, or if you would like to suggest other goals, please don’t be shy about posting.

EDIT: The following items have been suggested as additional worthwhile topics:

  • A tour of veneer routines, their arguments and limitations, and their invoking syntax in the language. (from Draconis)
15 Likes

Given the nature of the community, I think a traditional book would be nice, but an interactive site like a Wiki might better serve the community and any newcomers.

A DM5 would be a great project and useful to many. Although much of the changes were published recently in an addendum.

A wiki is nice but you must be connected to the internet to use it. A pdf version is much better. You can download it to just about any device from a smart phone, kindle or tablet.

It can also be printed for those of us that prefer some reference material in a hard copy.

1 Like

The project has obvious value. But I ask that you give it an original title, rather than “Inform Designer’s Manual” or “DM5”.

4 Likes

Of course.

1 Like

This sounds like a task and a half, but I’d definitely be interested in and appreciative of a resource like this. I’ve been playing with I6 on and off for the last 10 years, and I’ve picked up a lot, but I still don’t really feel like I know what I’m doing. I’ve got no extra suggestions at the moment, but anything in that list would be super helpful. Thanks for posting this.

I see both perspectives. A wiki is in some ways easier to organize, and there’s the collaborative aspect. But an offline/printable version is certainly convenient. As a screenreader user with many a horror story about improperly formatted PDFs I’m a little hesitant about that particular format, but I’d be happy to help with making it accessible if/when we reach that bridge. It’s not so important at the moment, I just wanted to put that here in case this topic blows up and it gets lost.

5 Likes

I know this an insane comment, but oddly, exporting from Confluence to PDF works oddly well.

1 Like

I would be really appreciative if something like this existed. I’ve been learning I6 over the last year or so and find that DM4 can be a bit of a maze - a more modern resource would be great.

3 Likes

I had to google Confluence. It is an Atlassian product. It would work nicely. The free version is limited to ten developers, which should be plenty.

Thank you for the tip. I usually use Pmwiki but it doesn’t export easily.

Anything that makes Inform 6 more approachable for a newbie would be well received, but we also need a solid reference for both newbies and old timers alike.

I would suggest:

  1. Define the target audience. Is this aimed at authors or tech heads?
  2. Do not follow the same format as the DM4. This is part tutorial, part reference, part theory and lots of out-of-context examples. I liken it to a high school text book. When you want to find something specific, it can be damn near impossible to find it.
  3. Cover the language, the compiler and the library separately, not all jumbled together.
  4. For the library, which is where most authors spend most of their time, provide an overview of the concepts and a thorough reference. The concepts includes things like how to edit, compile and debug a game; code organisation and the include files; starting a game; ending a game; scoring; how parsing works; how grammar works; how to write actions; and so on. The library reference is divided into chapters on arrays, attributes, classes, constants, defaults, globals, objects, properties, routines, entry-point routines, print rules and so on. Everything includes possible values, default values, thorough description and lots of example code.
  5. Optionally, provide hints and tips and sample objects, somewhat like the exercises in the DM4 and the samples in Inform 7. Think of this as a cookbook of useful code snippets.
3 Likes

It would be possible to use IFWiki to collaborate on this. A benefit would be that many people already have an account.

I’m sure it’s possible to export a collection of wiki pages to PDF format.

There is a long-abandoned attempt at a similar document for Inform 7 on the wiki (Inform 7 Reference Manual) but don’t let that put you off. As long as there’s at least one eternally enthusiastic author (you!) it should be all right.

Re-reading the topic, I now think you were considering writing your own guide rather than starting collaborative one. If that’s the case then ignore my post :slight_smile:

1 Like

I have a original DM4 Hardcover in my bookshelf. Every now and then I just take it out while sitting in my chair and simply flip through it and read a random chapter. I don’t do this with a lot of technical manual style books …

Jens

5 Likes

My thinking was that anything on the art of writing or craft would be excluded. The focus would be on the mechanics of coding, with a sliding scale of technical detail level so as to be of value to both total newbies to programming and to those with competence in other programming languages who want to come to grips with I6’s “oddities” as quickly as possible.

Early sections would be organized for exposition and later sections would be organized for reference, with cross-references between the two. Either one or a small set of example programs would evolve in the exposition section to demonstrate how to apply the pieces being explained in each section.

4 Likes

From my personal view, and without checking if anything has been mentioned (better comprehensible, probably) by others:

A Wiki would be phantastic, and the moments without internet are pretty rare nowadays (during flights, and at this one commuter train station where for whatever the reason there’s never a signal).

A traditional PDF would of course also be phantastic. My problem with analogue books is that my question during programming is always “How do I… (precise situation)?”, never “How does … (general topic) work?” So from my point of view the index is actually the most important part of an analogue book on Inform, and needs an innovative approach. A PDF on the other hand - CTRL+F often helps.

I would buy the analogue book as well though. Purely as investment property of course. :wink:

1 Like

I have been working on an introductory text to PunyInform with Inform 6 when I have time. My goal is to write it in the style and spirit of the “Write an Adventure Game on your 8-bit Micro” books that were popular in the 1980s.

My approach is to build as incrementally as I can from a “minimal game”, introducing topics in the order that users need them. I feel that it would be counterproductive to open with e.g. the differences between floating point numbers and integers, when the first thing any author wants to do is create a room and some objects with text descriptions.

I have a plan to make it into a PDF once the web version is in good shape, akin to some other books I’ve typeset.

8 Likes

I an confused. Why is Inform 6 used today? I thought Inform 7 replaced it.
-Falsoon

There are two good reasons that I can think of for understanding Inform 6:

  1. It’s still the underpinning of Inform 7. The Inform 7 6M62 compiler and earlier versions produce Inform 6 output. (The new compiler produces inter output, which is itself subsequently converted to Inform 6.) Sometimes to achieve a particular effect it is desirable to modify or replace the Inform 6 code.

  2. Inform 7 produces large game files that are computationally intensive to execute (as compared to historical interactive fiction such as that produced by Infocom). These don’t run very well (or just plain don’t run) on retrocomputing hardware. Some people are still producing games for use with vintage hardware or emulators, and they often use Inform 6 (and the PunyInform library).

3 Likes

Thanks.

Also, some people like I6 better than I7.

8 Likes