HN Books @HNBooksMonth

The best books of Hacker News.

Hacker News Comments on
Creating Interactive Fiction with Inform 7

Aaron Reed · 2 HN points · 3 HN comments
HN Books has aggregated all Hacker News stories and comments that mention "Creating Interactive Fiction with Inform 7" by Aaron Reed.
View on Amazon [↗]
HN Books may receive an affiliate commission when you make purchases on sites after clicking through links on this page.
Amazon Summary
CREATING INTERACTIVE FICTION WITH INFORM 7 is a jargon-free, step-by-step guide to mastering the basics of creating dynamic, text-based story worlds. Inform 7 is a free multiplatform interactive fiction authoring environment that uses an intuitive natural language syntax. A tool focused on writers, not programmers, Inform allows users construct complex, rich storytelling worlds by writing sentences as simple as "Tom is a person," or as complicated as "Instead of attacking Tom when something lethal is held, now every nearby watchdog owned by Tom hates the player." No prior programming experience is required. Throughout the book, readers develop a full-length, release-quality example game, exploring the real-world issues involved in authoring participatory narratives and gaining skills that can be applied to the creation of future games and stories.
HN Books Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this book.
I can recommend the book "Creating Interactive Fiction with Inform 7" - http://www.amazon.co.uk/Creating-Interactive-Fiction-Inform-... - it walks through the process of creating a quite complex game and has some useful recipes and examples.
I've been playing around with this in recent months and while it does work, it's a pretty deep language with lots of quirks (kind of like English, actually...)

I recommend anyone who is interested in language design having a look at it, as it is a unique and interesting variation on domain-specific languages that sacrifices scalability and performance in favour of a certain kind of accessibility and power.

I've been using Aaron Reed's "Creating Interactive Fiction with Inform7" as a guide, which is as much about the nature of IF storytelling as the language (which is well-documented in the standard IDE): http://www.amazon.com/Creating-Interactive-Fiction-Inform-7/...

Yeah, Inform, both Inform 6 and now Inform 7, is more or less the de-facto standard IF language. It's probably a decent place to start, and there is a ton of information available about it and libraries. Also, recently, a good book on it: http://www.amazon.com/dp/1435455061/

The main thing systems like Inform added over really old-style IF was more explicit modeling. An old-school way of doing things would be to write lots of chunks of text, parsers, code that causes things to happen, etc.; to the extent a world really exists, it's only because all the stuff you've thrown in is consistent with each other, the same way a world exists in a novel. Systems like Inform, instead, add an explicit declarative model of a world; there are objects with properties and locations, possible actions with preconditions and effects, containers and reachability, etc. A lot of the action and text is then attached to that model, and interactions and output are partly generated from it.

One thing still hardcoded in that model is style. The fact that a car is in the room with you and visible to you is explicitly modeled (not just buried in a canned snippet of text), but the style of how that's presented to you isn't explicitly modeled. Is it a matter-of-fact "There is a car here", some kind of dramatic gothic description, a vague offhand description, etc., etc.? The way to control that in standard IF is by attaching canned text snippets to different events. If you want style to change based on gameplay events, you write multiple canned text snippets and then write code to swap them in and out. And of course just informing the user of an object is one of the simpler kinds of output, so it gets more complex if you want to change style for, say, ongoing action, or want to present things in other than strictly this-is-happening-at-present narrative order, etc. You end up with tons of hacks like: an event happened now in the world model but we want to tell it to the player later as a flashback, so suppress the normal output and set this flag, then attach a callback to some other event that will replay the tell-about-this code later when we want it.

The main new thing Curveship adds to that is an explicit model of narration. It's motivated by a view in narratology (a sort of formalist variety of literary theory) that narratives are composed of an abstract "what really happened" component plus a narrational "how I am telling the reader about what happened" component. Since IF systems only have the first explicitly, Curveship adds the second too. From an older blog post (http://nickm.com/post/2009/07/introducing-curveship/):

Curveship is an interactive fiction development system that provides a model of a physical world, and its workings, as do existing state-of-the-art IF systems (such as Inform 6, Inform 7, TADS 2, and TADS 3). It will not have as many libraries, and will have no multimedia features, when it is released, but it will provide another significant capability: it will allow IF authors to write programs that manipulate the telling of the story (the way actions are represented and items are described) as easily as the state of the IF world can now be changed. While existing IF systems allow for the simulation of a character who can move around and change the state of the world, Curveship provides for control over the narrator, who can tell as if present at the events or as if looking back on them, who can tell events out of order, creating flashbacks or narrating what happens by category, and who can focalize any character, not just a fixed PC or a hard-coded series of them, to tell the story from the perspective of that character’s knowledge and perceptions.

Disclaimer: I haven't really played with Curveship to have any idea of how usable it is; I only know about it from papers and talks (I'm in a sort of related field, more AI-ish and less literary, but his papers show up at venues I care about). Montfort is a really smart guy and probably one of the top few IF experts in the world, though, so it's probably worth checking out if you like these sorts of things.

Sep 12, 2010 · 2 points, 0 comments · submitted by jonhendry
HN Books is an independent project and is not operated by Y Combinator or Amazon.com.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.