Saturday, December 1, 2012

IF, the harsh mistress

Anyone who knows me as an IF enthusiast has probably heard me speculate that maybe we writer fans are all suckers, as implementing a game to satisfactory levels can be suck both time and creative energy. Here I am, about 15 years past the point in my life where I realized hey, *I* could write these text games! Only within the last couple years have my coding and writing improved to the point where writing games is not a horribly slow process; now it's just a somewhat horribly slow process. Still, from time to time, I am reminded of all of the game ideas I've had over the years, many that I will likely never get around to writing. I have to wonder, have I dedicated myself to the wrong medium? Is there an easier/better way? Every time I design a game with only 1 or 2 really important verbs, I start to think, hmm, probably!

There have been several attempts to solve this problem. Most promisingly, there's the BloomEngine guy's stuff, where he has made a couple games that tell IF-esque stories with the use of hyperlink-esque links. The main drawback is that it seems like it might best be limited to tightly looping stories. The first game, Vicious Circles, had a just-large-enough loop to be only barely tolerable. Still, maybe this kind of interface could be saved by a good method for saving games.

There's also the option of creating a game that recalls IF tropes with a CYOA system like Twine or Undum. The drawback to this is that you are responsible for the whole feel of the world model yourself. It's the CYOA version of having to write your own parser for each game. That isn't very appealing to me.

Ideally, as far as these types of interfaces go, I think it'd be cool if such a system had a regular IF world model underneath where, as an author, you control which command buttons are available at any given point (and yeah, commands would be buttons, not hyperlinks).

Of course, the other approach of simplifying IF keeps the parser intact but limits commands. Interestingly, Phoenix games don't allow for examining objects. On one hand, this goes against deeply rooted IF expectations. On the other hand, while playing some Phoenix games, I found that, in the end, it didn't bother me as much as I would have guessed (the author just needs to make sure that all necessary information is within the object's name or short_desc). Other old games have a world model where just holding an object is interpreted as using or wearing it.

These kinds of things might seem ridiculous, but writing a game is probably much easier when you only have to write an average of 2-3 descriptions and important responses for each object, instead of 6 or 7. I hope to write at least one Phoenix-style game in the future just to see how the style feels on me.

So, the question is, can the IF interface be more perfect with less wasted effort? Time will tell, I guess.


  1. Implementing the world model and interactions for the player to manipulate the world model should be fun. I love feeling like I'm making something. But, in practice, it really isn't all that fun. As you say, it's a horribly slow process.

    As a player, I wouldn't mind ditching "EXAMINE." Most players don't use it realistically. Even as a player, I don't really have enough motivation to examine every noun mentioned in any text in the game, anymore. Because players have taken to examining every little thing, the standard that any IF writer is expected to adhere to is for everything to be fully described. It's usually not realistic for the player character to be scrutinizing every little thing, anyways. If players were really playing the role that the game cast them in, whether or not the PC is well defined or an empty avatar of the player, they would only use "EXAMINE" on objects that stood out from the rest or were especially relevant to the story.

    1. Instead of waiting until I organize some kind of "Phoenix comp," I think I'm going to try this style out for a game I mean to write for HugoComp that I haven't started yet (I am collaborating on another one that has taken all of my attention so far). If I end up liking it enough, maybe I'll apply it to all sorts of games in the future. This should be fun.