chipotle: (Default)
[personal profile] chipotle

It’s been over a week since the last update, but I haven’t had much that’s really new to say. The training at the office continues; I’m feeling both more settled in and simultaneously still a bit lost. Tomorrow there should be (more) training on the in-house mission control software. The web development software has also been installed on my PC finally—Dreamweaver MX 2004 and Fireworks MX 2004. I use Fireworks MX myself at home for graphics—I think it’s the best web graphics program out there. (Photoshop addicts are running for their mouses to contradict me, I’m sure, but neener neener.) Dreamweaver never really turned my crank, though, despite being leagues ahead of all of its competition. Since there’s no Windows version of TextMate, I’ve already surreptitiously installed Emacs.

I’ve gotten more done on the Excursion Society—yes, really—despite not doing much on weekday evenings anymore. Expect an announcement of sorts here very shortly.

What’s been holding my attention recently out of the office has been Inform 7, a new release of a interactive fiction development system. “Interactive fiction” is a fancy way of saying “text adventures,” although in the past decade or so the IF community has definitely been pushing the form well beyond Zork and grues.

Interactive fiction is a literary form which involves programming a computer so that it presents a reader with a text which can be explored. Inform aims to make the burden of learning to program such texts as light as possible. It is a tool for writers intrigued by computing, and computer programmers intrigued by writing.

What’s so fascinating about it is that it’s a new design paradigm—for once, the word is appropriate—for writing adventures. The development environment is based on a book, with two facing pages (“for the most part,” the documentation says, “we write on the left-hand page and see responses appear on the right”), and contains tools very specific for IF. But it’s the source code that’s most radical. It’s based on sentences, which describe the world at the start of play, and rules on how the player and objects in the world interact with one another. Doesn’t sound too different than before? Well, here’s how you could create a few locations from the Original Adventure, with objects that can be picked up and moved.

The Cobble Crawl is a room. “You are crawling over cobbles in a low passage. There is a dim light at the east end of the passage.”

A wicker cage is here. “There is a small wicker cage discarded nearby.”

The Debris Room is west of the Crawl. “You are in a debris room filled with stuff washed in from the surface. A low wide passage with cobbles becomes plugged with mud and debris here, but an awkward canyon leads upward and west. A note on the wall says, ‘Magic word XYZZY’.”

The black rod is here. “A three foot black rod with a rusty star on one end lies nearby.”

Above the Debris Room is the Sloping E/W Canyon. West of the Canyon is the Orange River Chamber.

To make it clear, that is not the description the game prints. That’s the source code.

And, how about:

The description of the brass compass is “The dial points quiveringly to [best route from the location to the Lodestone Room].”

Or:

Heat is a kind of value. The heats are luke-warm, cold, and scalding. Everything has a heat. Understand the heat property as describing a thing.

After putting a scalding thing on a cold thing:

say “[The noun] meets [the second noun]; both shriek in pain. But the necessary heat transfer occurs.”; change the heat of the noun to luke-warm; change the heat of the second noun to luke-warm.

After taking a scalding thing:

say “‘Right,’ you say. ‘I’ll just hold onto [the noun], shall I? Because that won’t be in the least uncomfortable for me.’”

I’m still trying to wrap my head around this approach, but it’s fascinating on the semantic analysis basis alone. Inform 7 is doing some pretty heady stuff behind the scenes.

Date: 2006-05-04 20:10 (UTC)
From: [identity profile] tuftears.livejournal.com
*boggles*

I see a great amount of syntactic sugar going on here.

Date: 2006-05-04 23:28 (UTC)
From: [identity profile] chipotle.livejournal.com

Well, there certainly is a fair amount -- but the more you look at what it can actually do, the more you realize it isn't *just* sugar. This isn't just allowing you to scatter meaningless words through your text to make the source code look pretty; I7 uses predicate logic, similar to Prolog. From a long but interesting message (http://groups.google.com/group/rec.arts.int-fiction/msg/6bb3e5a89b22c336?) on this from Emily Short:

I7 adds some functions that are not in I6 at all, such as pathfinding through any defined relation. If I define a bunch of conversation objects (for instance), I can then write a relation to say "love suggests marriage; marriage suggests children and divorce; divorce suggests lawyers"; then have my NPCs goal-seek a path through the conceptual space in order to direct the conversation in the way they want, by finding the best path from the current conversation topic to the one they actually want to talk about.

Obviously, you could do that in Inform 6 or other non-Prolog-esque languages, too. But I7 appears to make these sorts of things much, much easier.

Profile

chipotle: (Default)
chipotle

February 2018

S M T W T F S
    123
45678910
11121314151617
18192021222324
252627 28   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated 2025-12-29 04:43
Powered by Dreamwidth Studios