Planet Interactive Fiction

September 02, 2010

Grand Text Auto

A Probabilistic Multi-Pass Level Generator

by Ben Weber at September 02, 2010 11:13 PM

I recently participated in the CIG 2010 Mario level generation competition. My submission utilizes a multi-pass approach to level generation in which the system iterates through the level several times, placing different types of objects during each pass. During each pass through the level, a subset of each object type has a specific probability of being added to the level. The result is a computationally efficient approach to generating a large space of randomized levels.

A level created by the probabilistic multi-pass generator

The generation process consists of several phases, which place additional object types in the level. The following passes occur during generation:

  1. Ground placement
  2. Secondary hills
  3. Pipes
  4. Enemies
  5. Blocks
  6. Coins

Phases in the level generation process

During each phase, the generator traverses the level from left to right placing objects in response to probabilistic events. For example, during the first phase the system places the ground. The following events can occur during this phase:

  • Begin gap (if not currently placing a gap)
  • End  gap (if  currently placing a gap)
  • Change ground height  (if not currently placing a gap)

Each of these events has a probability of occurring during the first pass through the level. The activation condition for an event is specified as follows:

Math.random() < pEvent

where pEvent is the probability that a specific event will occur. The system also applies a set of constraints in order to ensure that generated levels are playable. During ground placement, the following rules are enforced:

  1. If the current gap exceeds the maximum gap size, immediately add ground
  2. If the ground height is increased, constrain the maximum increase in height

Playability constraints are only applied during the first phase of the generation process. The additional constraints specified by the competition rules are satisfied by over-generating and then constraining during the generation process.

A level generated with the EXTREME parameter set

The system takes two types of parameters as input: probabilities that specify the frequency of events occurring, and parameters that constrain the range of generated values. While the entry submitted to the CIG 2010 competition used a fixed parameter set, it is possible to adapt to players by selecting different probabilities in response to the supplied player model. For example, the system could generate levels for highly skilled players by utilizing an EXTREME parameter set.

Check out the generator by running this JAR. Or, play around with the generator source. For information on setting up your own generator, see the competition rules.

Emily Short

Homer in Silicon

by Emily Short at September 02, 2010 10:00 AM

…on Tiger Eye: Curse of the Riddle Box, a hidden object game based on a romance novel. It has its flaws, though interestingly (I thought) they were the opposite set of flaws from the ones in Love and Death: Bitten.

Clearly, though, there’s a bit of a trend in the hidden-object-romance-novel direction right now. One I haven’t played or reviewed, but whose title consistently cracks me up, is Harlequin’s Hidden Object of Desire, which presumably means that Fabio is hiding under the bed.


Grand Text Auto

Welcome Back, ELO Site

by Nick Montfort at September 02, 2010 01:01 AM

I’m serving now as the president of the Electronic Literature Organization. We’ve been working to move the site to a new server, which has unfortunately left most of eliterature.org down for a while. (We did make a point of getting the Electronic Literature Collection, volume 1 back up as soon as possible at the new site, so that teachers, students, and other readers would have access to it.) I’m sorry for the inconvenience. My thanks go to the ELO directors who worked on this and to our new system administrator, Ward Vandewege, for managing the transition. Our new host and our retooling should mean that we will be able to avoid outages like this in the future, and that we will be able to better develop the site and our other ELO projects.

September 01, 2010

The Gaming Philosopher

Thoughts on "Tiwsty Little Passages", part 1

by Victor Gijsbers (noreply@blogger.com) at September 01, 2010 08:52 PM

Posted on my regular reading blog: http://lilith.cc/~victor/?q=content/nick-montfort-twisty-little-passages-chapters-1-4 (This is normally in Dutch, but I've made an exception for this IF-related book.)

Emily Short

GDC Online

by Emily Short at September 01, 2010 12:00 PM

Signed up for the Tuesday and Wednesday of GDC Online (Austin GDC that was), mostly for the Game Narrative summit. Any other IFfers going this year?


Jim Aikin's Oblong Blob

Twisty

by midiguru at September 01, 2010 07:00 AM

I wish I was a real programmer. There’s a project I’d like to tackle, but it would take me years and drive me bonkers.

I can handle basic programming concepts well enough to write interactive fiction, but my games use one or another sophisticated library and compiler developed by a real programmer, and when finished they run on an interpreter program that was, again, written by a real programmer. The interpreter is what communicates with the computer’s operating system. I’m doing the easy stuff; the interpreter does the hard stuff.

Tonight I was looking around the Web at the state of interpreters for various platforms. It’s, you guessed it, a maze of twisty little passages, all different. For starters, there’s Twisty, a Z-machine for the Android. Judging by the list of bugs on the SourceForge page, Twisty seems to be languishing. And in any case, it’s a Z-machine.

The Z-machine is obsolete. It ought to be a dead issue. I don’t know why anyone thinks it’s still viable to write a Z-machine. Glulx is quite limited in some ways, but it has some serious advantages over the Z-machine. For starters, the ability to play large games, of which there is now a very considerable number.

There’s also Frotz, a Z-machine for the iPhone. From what I’ve heard, it’s fully functional, but see previous paragraph.

TextFyre makes FyreVM available, and it looks to have some nice features, but it isn’t even an interpreter. It’s a toolkit with which you can build an interpreter, if you’re a real programmer.

I’m not 100% convinced of the desirability of playing IF on a phone, because it involves typing with your thumbs. I guess people get good at that, but it can’t be fun. Also, the screen is too small to show much text. But it would be nice to think of the millions of smart-phone users as a potential market (as in, paying market, but even a large non-paying fan base would be good) for IF. At this point we’re nowhere near that.

Rumor has it that someone or other is about to start developing an interpreter for the Kindle. (This is not just a rumor, either. It’s solid. Out of respect for the muzzle placed on this particular individual by Amazon’s corporate lawyers, I will say no more.) Kindle: Bigger screen, good. But the Kindle interpreter, if it gets off the ground, will be a closed system, and the developer is talking about possibly charging authors to make their games available through this system. In the music industry, we call this “pay for play,” and it’s not something I would be happy to participate in. I hope the developer will think better of this idea; nothing is settled yet. But that’s the point: nothing is settled yet. We don’t know for sure that this Kindle project will get off the ground. If it does get off the ground, it will be of no benefit to anyone who doesn’t own a Kindle. And apparently Amazon is picky about who they release the Kindle Developer Kit to, so there’s not likely to be a rush by IF interpreter developers to exploit that device. (Apple is also rather rude to iOS developers, I believe.)

On another channel, there’s a fascinating development for smart-phones that I can’t talk about because I’ve signed a non-disclosure agreement. It could be very cool indeed … except that the person who is spearheading it has a day job. As far as I can see, not much development work is going on there either.

The other night, after hearing that an interpreter called Nitfol can auto-map a game, I tried to download and install it on my Windows 7 machine. No dice. It needs some system-level tools that are not provided by the installer program, so it wouldn’t run. Oh, well. I don’t need auto-mapping, I just thought it would be a cool thing to recommend to people if it worked.

And can we talk about the iPad? Frotz works there as well, I believe. But I’ve learned that the current OS won’t multi-task. For IF, this is a smack in the face, because you can’t keep a notepad program open on the side to take notes while you play a game. Nor can you keep a graphics program open to draw a map while exploring the terrain of the game. So you’ve got this sexy little hand-held device, but if you want to play IF on it, you also need a pencil and paper. Zowie.

And of course none of this has any relevance if you’re writing games, or would prefer to, in TADS 3. It’s all Inform stuff. I like Inform 6, so I’m not complaining, exactly (though I like T3 too). All I’m saying is, the absence of T3 developments is another twisty little passage that seems not to be leading anywhere.

If I were a real programmer, I think I’d probably sit down and create a good Inform/TADS interpreter for the Android OS. I’d attempt to build it in such a way that it could easily be ported to iOS. But alas, I’m not a real programmer.

In any case, we seem to be moving back toward the multi-OS paradigm of personal computing that was the norm in the early ’80s. Osborne, Kaypro, Commodore-64, Atari, Apple IIe … feh. Today we have MacOS, Windows, Kindle, iPad, Android, and probably five or six other things that I haven’t heard of yet. This was why the Z-machine was developed, of course — so that a game could run reliably on the virtual machine, no matter what actual computer the user had. But today the challenges in developing a truly one-size-fits-all cross-platform interpreter would be, I’m sure, at least ten times greater. Maybe 20 times greater. So we all blunder around blindly and bump into things. Feh.


August 31, 2010

The Textfyre Times

Multiple Paths and iGames

by David Cornelson at August 31, 2010 06:55 PM

So we’re going full speed in developing Windows Phone 7 games. A friend of Textfyre has committed to getting the UX ready by the beginning of September and off to Microsoft for approval. The UX is very cool and I think it will have a sizable impact on mobile IF implementations. To summarize, imagine being able to play an entire IF game with your thumb.

This leads to some disappointing news. Andrew has taken the iPhone, iPad, and OS X code as far as he can and has checked in everything to the sourceforge repository. If anyone wants to pitch in and work on the Objective C code, it would be appreciated by Textfyre as well as anyone else that would like to publish their game to the iPhone and iPad.

I’ll post pictures of the WP7 user experience as we get closer to completion. I really think it’s going to be great.


Got Lamp, but It’s Old News

by David Cornelson at August 31, 2010 06:55 PM

I interviewed with Jason Scott for the Interactive Fiction documentary Get Lamp a few years ago. I was just getting Textfyre going and was excited about the potential of modern IF. I’m even more excited about modern IF than I was back then, and that has nothing to do with Textfyre. There seems to be a new push to widen the interest of IF. New websites like PR-IF.org, server tools, javascript based interpreters, new books, and more.

So Get Lamp kind of lands in the middle of this period of time and from my perspective sinks like a lead weight. From a nostalgic perspective, and certainly if you’re an Infocom fan, Get Lamp is fantastic. But if you’ve been working at IF for the last 15 or 20 years as a hobbyist and the passion for Infocom or Level 9 has faded, Get Lamp is like a mint without the dinner.

Get Lamp completely ignores the modern IF movement. There is nothing in the documentary about modern IF platforms like TADS 3 or Inform 7. I’m not sure Graham Nelson or Emily Short are even mentioned (how is it possible to discuss IF without their efforts?). There aren’t any discussions about Curveship, a new platform being developed by Nick Montfort. There isn’t any talk about any games that have come out in the last ten years. There’s no talk of how we’ve evolved and grown. How we’ve adapted to changes in technology, content, and communal expectations. Jason literally only touched the tip of the iceburg. Get Lamp should have a subtitle: The History of Interactive Fiction.

In general, there is absolutely nothing in the documentary about what the IF community is doing right now and I think this is a huge gap in the film. I think Jason Scott made Get Lamp for his own Infocom fanboy moment. Those are harsh words, but it seems pretty clear to me that Jason has zero connection to the modern IF world. Now that the movie is completed, and after he sells a few hundred or few thousand copies, he will be off to make some other documentary and leave IF behind. I’ve reflected on my own Infocom fanboy moments and realized that I love Interactive Fiction. Not just Infocom. If anything, Get Lamp’s lack of interest in modern IF has ignited my passion for promoting modern IF, either through Textfyre or through open source tools or general community outreach. I realized this while having a drink with Lebling, Meretzky, Dornbrook, and Moriarty at PAX East. They loved Infocom. But they believe if there were ever a new IF age, it would have to be new and different. Like me, they actually love Interactive Fiction more than Infocom and IF’s history.

Anyway. I propose we all pitch in and do interviews of each other and post them on a website somewhere. These interviews will talk about what we’re all doing now and how IF has evolved into something well beyond the days of Infocom. We have an opportunity at PAX Prime to do a few interviews. I would like to encourage someone else to grab a camera and sit a few people down for 15 minutes or 30 minutes and get them on film talking about modern IF. We can do more at PAX East next year.

In the next six months we could produce enough material to be a sort of addendum to Get Lamp that fills in the gaping hole left by Jason. I can work with the Chicago IF group to interview Chicago people. I would spend time talking to Peter Nepstad, Jeremy Freese, and a few others. It would be good to create an outline of things we’d like to see discussed on film. Maybe I’ll setup an IFWiki page and everyone can add their “wish” list. I really believe we need to capture the modern IF community on camera. Its participants, but also its evolution and branches.


There is a Fork in the Road…

by David Cornelson at August 31, 2010 06:55 PM

It’s been very clear over the last six months that the direction Textfyre needs to go is mobile. Desktop products are extremely difficult to sell without physical media and selling physical media requires a marketing budget, a luxury we don’t have.

Our plan to sell directly to the education market has been moved to a back burner, if not entirely removed from the plan. Selling directly to schools or school systems is nearly impossible without the right connections. With those connections,  it’s still a nightmare. I’d been warned by other people that trying to sell to schools is impossible. I guess they were right. The closest I came to tapping that market was a connection with Follett Library Resources, the people that offer a search engine of product to schools. The lead dried up almost immediately.

To move to a more generalized publishing market, I’ve directed everyone developing content for Textfyre that the restrictions are mostly off. There’s no need to direct our stories at middle-school students. I’ve asked them to simply develop great stories that can be appreciated by any reader.

We’ve made a splash in online sales and those will continue. With more marketing, we can reach more customers, but that still will take more time (and money). But I have other opportunities coming up that may move online sales to a back-burner as well.

The mobile market is composed of phones like the iPhone, Droid, and any other phone that has some way of publishing an application. We’ve been working on an iPhone application for a while now. We haven’t looked at the Android platform, but are likely to in the future. The iPad is obviously very interesting and the iPhone code that Andrew has been developing can target it as well as the iPhone (as well as being a desktop OS X application).

The problem with the iPhone and iPad is that there are so many applications available that it’s extremely difficult to get noticed and to be able to price your application above $.99. Some people may think it’s a good idea to sell IF at $.99, but I’m not one of them. That would be an unsustainable price point, at least for initial sales.

I’ve also been talking to Microsoft about partnering for the new Windows Phone 7 launch coming this fall. In fact, they called me and they have a strong case. With assistance, I could easily port our Silverlight implementation of our games to the WP7 platform. The UI would take some work and we’d have to run through very rigorous testing, but we’re automatically closer to publishing to the WP7 marketplace than any other.

The last mobile device, the Amazon Kindle, is probably the sweet-spot and I am now talking to the Kindle team about publishing Textfyre games to the device. They opened up a Kindle Development Kit awhile back and although we haven’t gotten into the beta program, I have been able to get Amazon’s attention and we’re discussing the technical details. I should know more in the next week or two.

Of course working with Microsoft or Amazon might require contractual obligations that limit our publishing capabilities (they may expect exclusivity in exchange for support). It’s a business afterall and if I can land a partnership that enables us to build the business, then that’s the direction we need to go.

No decisions have been made, but the fork in the road is coming quickly. I’ll know more about Microsoft and Amazon soon. I already know where our iPhone/iPad strategy is as well as online and physical media sales. I also know that we’re done focusing on schools and students, for now.

Once I know where we stand with Microsoft and Amazon and with the iPad development, it will be time to choose a way forward, rewrite the business plan, and Textfyre will shift into an entirely new business model.


Channels are only the Beginning

by David Cornelson at August 31, 2010 06:55 PM

So somewhere way back a couple of years ago, Jesse McGrew helped build FyreVM with a new IO layer we called Channel IO. This has turned out to be extremely useful, especially when building different kinds of user interfaces.

Recently at work I’ve been tasked with designing and building a customer service chat system. The best way to do this is using AJAX Long Polling and the best way to do that is to use a Comet library based on the Bayeux Specification. All of this is some older networking patterns being reworked into existing and future HTML specifications and the underlying pattern is a publication subscription model.

All of my research on Comet got me thinking about Channel IO and that got me thinking about Zifmia and how best to serve many users a particular IF game or to even allow them to play the same game at the same time. It also got me thinking about how we implement output in Interactive Fiction.

Leaving the Zifmia impact for another post, I want to focus on IF output and this has been something I’ve been thinking about for awhile, even outside of the Comet stuff.

In an IF game we have different targeted locations of output. Channel IO handles this great. We can direct text to a main channel, a location channel, a score channel and in the UI place these pieces of text where we want them. Now I’m wondering if we can’t dig deeper into the IF engine and provide a completely different output paradigm. I believe Emily and a few others have actually done things like this in their code, but I think the pattern should be extended as a standard layer.

The idea is to output textual parts given some meta data. Let’s focus on what we consider main output. anything that shows up in the main window. However, we want this process to work for any channel.

The different kinds of parts include sentences and items with descriptions. The meta data might include things like “sentence beginning”, “sentence end”, sentence middle”, ”can be preceded”, “can be followed”, “must be listed separately”, and “must be output with a pattern” (and the pattern is somehow included in the meta data).

From here we allow the author to identify pieces of output beyond using just a “say” or “print” command. Possibly:

say “From the crib you hear a wimpering toddler” as sentence-beginning, can-be-preceded.

The result is likely to be some type of markup that has to be processed within the VM.

The idea is that within the IF game, the author is less concerned about format and more concerned about content. The question is, can a post-output processor be smart enough to string everything together properly? Does this break down the talent of an author or does it enable them to do interesting things?

The reason I bring all of this up is that I continue to think of alternate user experiences, server based IF, as well as mobile device output.

The idea is obviously not well-formed, but bothered me enough that I needed to blog about it.


Background Processing in Interactive Fiction

by David Cornelson at August 31, 2010 06:55 PM

While working on zifmia it occurred to me that I might want the VM to continue running in the background. What if I have a real-time daemon that interrupts the command line after the player has taken too much time? and then I got to thinking about how this could be hacked into the existing I6/I7 infrastructure.

And then I thought that if this were possible, I’d want a more elegant solution and came up with the idea of meta-turns or background turns. The idea is that while the player is contemplating their next move, the VM is offering that spare time to the game to do anything it might want to do. There have been discussions about the need for threading in our interpreters and VM’s and I think I’m starting to see the value.

The most interesting idea is comparable to a game of hide and seek in a house. I do this with the kids once in a while and it’s fun. But it’s really funny when they run to one side of the house and I move to a location they have already searched. This drives them mad, but eventually they start logically nailing down potential hiding places and figure it out.

The same thing could happen in an IF game where state is changing internally, but unless it happens in the current player location, there is no output. So an NPC could walk through ten rooms while the player thinks being none the wiser. This opens up some interesting puzzle development possibilities.

The two main features required would be somehow tagging certain code to execute what I would call a “meta turn” in the background and then allowing the background to interrupt the command line and send output if anything “in scope” changed.

I’m not interested in math or path calculations in a background thread. I’m much more interested in the thematic possibilities.


Brass Lantern

brasslantern: Sam & Max Season 3 Episode 5: The City that Dares Not Sleep is out.

August 31, 2010 06:00 PM

brasslantern: Sam & Max Season 3 Episode 5: The City that Dares Not Sleep is out.

August 30, 2010

Inform 7

GLIMMR Tutorial

by admin at August 30, 2010 10:02 AM

Those interested in using Erik Temple’s new GLIMMR extensions may be interested in this tutorial, which takes the author step-by-step through creating a custom graphical map that will reveal itself as the player moves around the game.

Grand Text Auto

Eden

by Nick Montfort at August 30, 2010 12:41 AM

The Secret History of Science Fiction, edited by James Ptrick Kelly & John Kessel, Tachyon Publications, 2010

Eden, by Pablo Holmberg, Drawn & Quarterly, 2010

Yes, these comics sometimes veer into the extremely sappy, but they’re metafictional and wonderfully fabular throughout. Eden collects more than 100 simple four-panel strips featuring a diminutive, somewhat rabbit-like king, or at least, someone who wears a crown, in a magical land. An extremely insightful naïvite, of the sort that one hears in the occasional oracular pronunciation of a child, comes through at times. But these comics do not overlook death or other serious subjects. Holmberg, who writes and draws in Buenos Aires, has Eden and more available on his website, in Spanish. Odd that to learn about a Web comic, I had to go into my local comic store and buying a book, but it goes to show that book-based institutions have more than a retail function. And, it seems unlikely that Holmberg’s work would have appeared in translation without a publisher such as Drawn & Quarterly. Through such everyday efforts, we sometimes find the extraordinary.

August 29, 2010

Jim Aikin's Oblong Blob

Turning Readers into Players

by midiguru at August 29, 2010 09:00 PM

We’d all like to see a lot more people playing and enjoying interactive fiction. The question is, how do we move in that direction?

Okay, maybe “all” is an overstatement. I’m sure there are a few people who enjoy being part of a tiny, obscure community because it helps them feel special. And to be fair, if Stephen King and Dean Koontz were writing IF, nobody would ever pay a bit of attention to my games … so there are pros and cons. Nonetheless, it seems to me that fostering a greater public awareness of IF would be a good thing.

Here’s a portion of a post on the newsgroup from David Cornelson that’s worth pondering: “I think Interactive Fiction’s number one marketing problem is that we haven’t been able to reach the ‘literate game player’. One of the reasons this is so difficult is that this demographic often doesn’t even know they are in it. They are mostly readers and purposefully avoid computer games because it’s a ‘waste of time’. It’s nearly impossible to reach someone that would love our games if they’re actively, if unknowingly, avoiding them.”

The problem has other dimensions, to be sure. To name one … reading a novel is an easy recreational activity. If I curl up in my easy chair to read a murder mystery, it’s because I want to be entertained. I don’t want to have to work at it! The quality of the IF experience is just different. It requires more active participation. Sometimes people want to participate, sometimes they want to kick back and not work too hard, that’s all I’m saying.

I think the goal of turning readers into IF players is sound and needs to be looked at closely. For the goal to be realized even on a small scale, I think we need to see three or four inter-related things:

  1. High-quality games (the more, the better).
  2. Much better parser handling of weird command inputs from novices.
  3. Technological transparency (i.e., ease of use).
  4. A central hub (a website) through which newcomers can reliably find good games.

With respect to item 1, we don’t have an unmanageable problem. There are dozens of great games around — make your own list of favorites! I would add, however, that the definition of “great game” is not fixed. It depends on the demographic you’re trying to reach. To get noticed in the overheated world of 21st century entertainment products, you need to think carefully about such things as the hook you throw down on page 1 of your story. (You need to think about lots of other stuff too.) I’m not sure I’d feel comfortable putting even the best current IF into competition against a run-of-the-mill mass market paperback. That’s a much more competitive field, so the published authors work hard at it.

There’s still a lot of work that needs to be done with respect to item 2. Even the best of the current games would fail this test. No game should ever respond, “You can’t go that way.” Or, worse, in response to N or E, “You’ll have to get off of the chaise longue first.” That’s way too crude. To some extent, this issue can be addressed with better error messages and better implicit action handling, but that’s not the whole ticket. A good game needs to help the novice get into the flow, not put up irritating obstacles. The obstacles (i.e., the puzzles) should be there because the author wants them to be there — because they’re integral to the experience of the story.

With respect to item 3, the browser-based interpreter is (or will soon be) a solid step forward. Going in a slightly different direction, it would be lovely to see free-standing games (an .exe, if you’re in Windows) that used the OS menu system rather than relying on the player to type SAVE and RESTORE. Those commands are a hold-over from the 1980s. They should be consigned to the dustbin of history, and without a moment’s delay.

The point is, you don’t want people to have to fight with the software. They’re going to have to learn what’s going on in the model world of the game in any case — let’s not force them to learn too much other stuff too. They already know how to use the Save and Load commands on the File menu. So let them use those commands, damn it!

I anticipate that item 4 may rub some people the wrong way. What I have in mind is a sort of “gatekeeper” site that would recommend, and provide downloads or online play for, only the best games. People who are new to the whole idea of IF (and there are millions of them) could go to this site, read one-paragraph blurbs on the games, and be able to choose games to try, with some assurance that the effort might be rewarded with an enjoyable experience.

Am I being an elitist? Yes, I’m being an elitist. I have no problem with that. My point of comparison, in the music arena, is the difference between Magnatune and Soundcloud. Anybody can upload their music to Soundcloud — and as a result, finding good music on Soundcloud requires a lot of poking around and listening to crap. Magnatune is a gatekeeper site: They only add about 5% of the music they’re offered. Finding good music, music you can genuinely enjoy, on Magnatune takes only a few mouse-clicks.

For the IF audience to grow, newcomers need to be able to have a Magnatune experience. The IFDB (Interactive Fiction Database) is rather like Soundcloud. It provides a genuinely useful service to the IF community, but it was never intended to be a gatekeeper site.

Someone who has some free time and a passionate interest could set up a gatekeeper site this week. There’s no barrier. In the absence of a better gaming experience, however (items 2 and 3 above), such a site would have only a small impact. But maybe that’s the place to start. I might even do it myself … but first you’d have to clone me. Right now I’d rather work on my own projects. But if anyone else feels motivated, I’d be happy to pitch in and help.


Brass Lantern

brasslantern: TTG teases new game, more on Thursday: http://kotaku.com/5624216

August 29, 2010 06:00 PM

brasslantern: TTG teases new game, more on Thursday: http://kotaku.com/5624216

Ron Newcomb

Just Added! Interactive Fiction Freeplay Room at PAX - by Ron Newcomb

August 29, 2010 12:00 AM

PAX badge not cover all three days? Want to try something a little different after-hours? OK, how about free snacks? Visit the Seattle Interactive Fiction Group's freeplay room, in the Sheraton hotel.

August 28, 2010

Grand Text Auto

Machinima Innovations at Dartmouth

by tiltfactor at August 28, 2010 10:58 PM

This past week’s Virtual Cinema course at Dartmouth College proved that machinima works can go far beyond the tried and true. A mere handful of students explored lost love, gaming culture, poet-zombie attacks, and perhaps most importantly, the pensive and strange qualities of virtual life. Check out their playlist, and celebrate with Tilt.

Grand Text Auto

StarCraft AI Competition Submission

by Ben Weber at August 28, 2010 06:01 PM

Submission for the StarCraft AI Competition is now open. Complete details are provided at the submission site.

August 27, 2010

The Gaming Philosopher

The Parser, No. 1

by Victor Gijsbers (noreply@blogger.com) at August 27, 2010 09:06 PM

If you can read German and somehow missed it, check out the new online IF journal The Parser, which is something of a German-language SPAG. (I recommend the PDF-version, because it has stellar production values for a free internet magazine.) This first issue is mostly focused on GerX, the German translation of Inform 7. It's good to see that the German IF scene is coming back to life!

Jim Aikin's Oblong Blob

It’s Not About You

by midiguru at August 27, 2010 09:01 PM

I’ve been contemplating the fact that I enjoy writing interactive fiction more than I enjoy playing it. Designing my own model world, and then working through the challenges of implementing it, is fun. All too often, the games I play turn out to be less fun than I’d like. Quite often I quit halfway through a game and never get back to it.

So what is it that makes playing IF less enjoyable than reading a novel?

To be fair, I sometimes put down novels without finishing them too. I read about 2/3 of Tristram Shandy, and about half of Vanity Fair. But those are exceptions. Generally, when I start a novel, I’m enjoying it enough that I’ll read the whole thing.

I’ve tried a number of games that had good story premises, solid code, and very reasonable prose. I didn’t finish them either. So the quality of the game is not the problem.

Part of the problem is that I’m not very good at solving puzzles. For instance, I stopped playing “Broken Legs” halfway through. The premise was fresh and amusing, and the writing was certainly strong enough to put the premise across. But the puzzles were very hard indeed, to the point where I felt they were borderline unfair. I would never have gotten anywhere without the aid of the built-in walkthrough. If a game doesn’t have a complete and accurate hint system, fuhgeddaboudit. I don’t want to read a book where the pages are glued together. It’s just not fun.

But even with the aid of the walkthrough, I didn’t finish playing “Broken Legs.” I meant to, I just haven’t gotten around to it.

I’m starting to think that the use of second person may be at the root of my boredom. When I read a novel, the protagonist is a separate person. It’s not me. I can care about this other person, and because I care, I want to find out what happens to him or her. Even when the ending of the story is quite predictable (as it usually is in genre mysteries, which I read a lot of), I still finish reading, and I sail on to the very last page with no stress because I perceive the protagonist as other than myself. I have compassion.

When the protagonist of a game is “you,” as it generally is, that factor drops out of the equation. You can’t have compassion for yourself! So, almost paradoxically, your involvement in the game is attenuated when the game is about “you.”

The same thing may be true, to a lesser extent, of past tense vs. present tense. Present tense is sort of a 20th century literary phenomenon. I’m not sure it was used much in earlier times. Again, while seeming on the surface to increase the reader’s involvement in the narrative, present tense may actually reduce involvement by making the narrative seem more improvisatory or ad hoc, and thereby make it less compelling.

I’m just proposing this as a theory. I may be wrong, and even if I’m right about my own reactions, others may not share them.

I have an opening sketch for a game in first person, past tense. When I finish the project I’m working on now, maybe I’ll tackle that one. Other people’s reactions to it might give some data points with which we can evaluate this idea.


The Gaming Philosopher

Special conditions, elemental damage, and resistance I

by Victor Gijsbers (noreply@blogger.com) at August 27, 2010 05:27 PM

In this post, I continue thinking about combat systems. As you can guess, this is part of the design phase of a larger game using Inform ATTACK. Today those staples of the RPG genre: poison, diseases, curses, fire damage, and so on. This topic really falls into two: on the one hand there are attacks that deal something else than damage; on the other hand, there are attacks that deal special

Brass Lantern

brasslantern: Broken Sword Director's Cut available for PC: http://www.dotemu.com/en/download-game/362/broken-sword-the-directors-cut

August 27, 2010 02:00 PM

brasslantern: Broken Sword Director's Cut available for PC: http://www.dotemu.com/en/download-game/362/broken-sword-the-directors-cut

Grand Text Auto

Font’s Unusual Creative Kinetics

by Nick Montfort at August 27, 2010 01:54 AM

Two recent hit songs on the Web are the tribute “Fuck Me, Ray Bradbury” by Rachel Bloom and the non-tribute “Fuck You” by Cee-Lo. Perhaps after me and you – us, them, him, her, and it will be next?

The typographical treatment of “Fuck You” in the video is much more straightforward than in the well-linked “Say What Again” video by Jarratt Moody, which sets dialogue from Pulp Fiction to animated type. The words and letters in “Say What Again” aren’t demanding to be read as insistently, and they’re doing so much that it’s a joy to see them in motion. When there’s not as much happening, getting presented visually with the same words that are being sung to me seems a bit like having someone slap me repeatedly while saying “Slap! Slap! Slap!”

Of course, type can be used with music to do other things besides writing out the lyrics. An even simpler typographical treatment can be seen in Flash pieces by Young-Hae Chang, including the excellent “Dakota.” In those, though, the text doesn’t repeat something in the audio channel, it proceeds at a rapid pace but is legible to the attentive viewer, and it all makes for compelling reading and listening. By the way, in case you think I’m wandering off topic, the first word of “Dakota” is “fucking.”

I wonder if a straightforward animated type video, a sort of blank slate, tends to encourage remixing and the creation of new videos? In any case, Cee-Lo’s song has already been mashed up with other videos. You can see what the last scene in Dirty Dancing is like when set to that tune, for instance.

Oh, and let’s not forget Ray Bradbury. This purports to be a picture of the famous writer watching Rachel Bloom’s video.

August 26, 2010

>TILT AT WINDMILLS

Creating Interactive Fiction with Inform 7 Table of Contents Posted

by Aaron A. Reed (noreply@blogger.com) at August 26, 2010 06:36 PM

Amazon has posted the Table of Contents, Index, and first few pages on their website for Creating Interactive Fiction with Inform 7. Click on the cover or "Look Inside!" to view this material. They'll begin shipping copies out tonight and tomorrow.

Jim Aikin's Oblong Blob

A Quick I6 Tip: Local Routine Arrays

by midiguru at August 26, 2010 05:01 PM

I know, I know — most IF authors could care less about Inform 6. But this is kind of cool, so I thought I’d share it with anyone who actually does still use I6. You can create local arrays of routines, like this:

routine_array [; "Fred!"; ]
   [; "Wilma!"; ]
   [; "Barney!"; ]
   [; "Betty!"; ],

You’ll note that there are no commas after the routines, until the end (when presumably you’re about to declare another property), and they have no individual names. Having set it up this way, you can access the elements of the array like this:

   y = some_object.&routine_array-->x;
   y();

This is potentially useful because it lets you encapsulate different kinds of behavior and then switch among them at run-time. You could do the same thing with a switch statement, but this way of doing it is likely to be easier to read and debug than a massive block of code in a switch. Fewer indents, if nothing else.

Since I6 doesn’t force the elements of arrays to be of a single type, you can also build property lists like this that contain routines, double-quoted strings, and object IDs. You then use:

   if (y ofclass Routine) y();
   else if (y ofclass String) print_ret (string) y;

…and so on, in order to use the elements in the array.


Thinbasic Adventure Builder

Recent Release

by catventure at August 26, 2010 11:01 AM

Hi,

This blog has been quiet of late so here’s a line or two to report that the Latest Release is posted.
03 Aug 2010 (Alpha Release 58)

thinBASIC Adventure Builder (aka T.A.B.) is my adventure creator project for Windows 98/2000/ME/XP/Vista/7 currently at Alpha stage.

thinBASIC Adventure Builder Home Page. ScreenShots. Download the TAB Editor, the TAB Player and some games and demos. (3.48mb zip)

http://tab.thinbasic.com/

TAB is not meant to compete with the likes of INFORM, TADS, HUGO, ADRIFT etc. It is a personal project which I am sharing free with the Interactive Fiction community at large.
TAB operates on similar principles to popular retro adventure creators such as STAC, GAC, CAT, Quill, PAW or ACE. It has an IDE to enter adventure data and interprets parser commands using a condition/action ‘language’. It is being developed with the thinBASIC scripting language.

Even though TAB is still in development it is perfectly possible to create a standard text adventure right now using it. A few are currently so doing.
I think it will appeal more to ‘home- grown’ adventure makers esp. those who dabbled with Quill, PAW or GAC in the eighties. With some thought, games made with those could be converted to run under TAB fairly easily.

TAB  is one of a few variants or alternative tools that might be considered by the aspiring adventure writer who may prefer or be happier using/working with a different authoring system…
There is certainly plenty of room for these other creators like SUDS, ADRIFT, QUEST, JACL or the CYOA-type makers to co-exist alongside INFORM – and I understand a new system called CURVESHIP is on the horizon too. It’s all good. :)

Some Screenshots here: http://tab.thinbasic.com/

Version History Change Log here: http://tab.thinbasic.com/history.txt

Only the freely distributable ‘TAB Player’ is needed to run any TAB games made using the TAB Editor.

Sound and music supported: mp3, ogg, wav, aiff, mod.
Graphics supported: jpg, gif, bmp, png.

There is also a FORUM and a Yahoo email user group.

Some Youtube videoclips here:
TAB Player – http://www.youtube.com/watch?v=rDzqQv2L35w&NR=1
TAB Editor – http://www.youtube.com/watch?v=Tq1ZYS7TAJQ&NR=1
Graphic Mode – http://www.youtube.com/watch?v=h1Z72QpLTIE

If forum members wish to try out an example game which was entered into the IF “Spring Thing” Comp in 2009 by Amy Kerns download “Realm of Obsidian” (old skool retro text adventure) from here:
http://amethystgames.wordpress.com/92/

Best wishes,
catventure.


Jim Aikin's Oblong Blob

A Little Knowledge

by midiguru at August 26, 2010 07:01 AM

This is about the perils of migrating from one programming language to another. Probably all programmers who are more experienced than I at using multiple languages (which would be most programmers, I’m sure) have run into this type of problem, but it’s a new one for me. It only took me half an hour of commenting out blocks of code to find it, and it’s a good one.

I’ve used TADS 3 extensively, and more recently than I’ve used Inform 6. So it’s all too easy to type a T3 statement out of habit rather than use the I6 equivalent. Some of these mistakes will produce warning or error messages from the compiler. But this one doesn’t:

if (self.location == sandy_beach)

That’s correct T3 (although no ‘self’ is required), but it’s disastrous I6. The correct I6 statement is:

if (self in sandy_beach)

The bad code compiles in I6 (arguably it shouldn’t, because no object has a location property to reference), but when the program attempts to evaluate that line at run-time, wacky things happen. The run-time error message doesn’t correctly identify the problem. Instead, it complains that the object doesn’t have a random property that couldn’t possibly be referenced in that object, because there’s no code that will ever attempt to call that property on that object.

On the other hand, as Khelwood explained to me on the newsgroup, I6 lets you store a property ID in a global variable. In rare situations — so rare that I can’t even imagine one – this might be a useful thing to do. if I set my_global to be the value of this_obj.this_prop, then I can call this_obj.my_global and get the expected result, which is that the call will actually go to this_obj.this_prop. So the only weakness of the compiler is that it doesn’t recognize location as a global variable that’s already being used by the library, and therefore shouldn’t be used in this manner.

You could make a good case that the compiler shouldn’t treat globals defined by the library any differently than it treats globals defined by the user. So this isn’t actually a problem with the compiler — it’s just a frayed edge, a place where I6 isn’t tightly woven.

This is my second experience with weird run-time problems in I6. The first time was also due to a TADS habit. I used a single-quoted string as a property of an object, when a double-quoted string was called for (as it always is in I6, except when you’re constructing the name array). Again, the compiler was happy, but the game reacted very badly when that property was referenced, repeating a longish chunk of output text like a babbling idiot.

This is all a little scary, because it’s entirely possible that I’m perpetrating other bad stuff in my code that hasn’t popped up yet.


August 25, 2010

The Gaming Philosopher

Beta-testers for small combat/conversation game

by Victor Gijsbers (noreply@blogger.com) at August 25, 2010 11:13 PM

My post on rec.games.int-fiction didn't exactly lead to a huge number of responses, so let's try again here. I'm looking for a few testers for a small game called 'Mid the sagebrush and the cactus that explores the possibilities of combining combat and conversation. (It is also a test game for ATTACK.) If you would be interested in testing, please send an email to [my first name]@lilith.cc. (

Tension, Exploration and IF

by Victor Gijsbers (noreply@blogger.com) at August 25, 2010 06:53 PM

I stated in my previous post on NetHack that the game mechanic in Rogue-likes where dying is final, and loses you your character, is a great mechanic to make combat tense. I also stated that part of the fun of the game is to explore the game, learn how everything works, slowly identify all items, and so on. These two things are partly opposed. The greater the tension, the greater the temptation