This blog has moved! Redirecting...

You should be automatically redirected. If not, visit and update your bookmarks.

July 31, 2008

An Interview With SPA*

Earlier this year, Spanish IF author and aficionado Urbatain asked to do an interview with me on Vespers. Over about three months, we exchanged a number of e-mails and covered a variety of topics, mostly on different aspects of the 3D adaptation of interactive fiction. It turned out to be a really long interview in the end, but it probably could have gone on much longer. He asked a lot of challenging questions, and I think his enthusiasm for the project really shows, which made for an enjoyable interaction.

Urbatain's intention was to publish the interview in the Spanish-language web-zine SPAC (Sociedad para la Promoción de Aventuras Conversacionales), and also to share it with Jimmy Maher and SPAC's English inspiration, SPAG (Society for the Promotion of Adventure Games). I lost track and didn't realize the interview was put up on SPAC's web site last week, translated into Spanish.

The fun part about the interview is using a web page translator, like Yahoo's Babel Fish, to translate it back into English. So I get to see my responses go from English, to Spanish, and back into English. So something that started like this:

Urbatain: When did you first decide to develop a "graphical IF" game?

Rubes: Well, as I mentioned a couple of years ago I got the itch again to make a game. I really didn't anticipate being able to make a 3D game, though, since I had no interest in the complexity of those engines and the steep art requirements, but I somehow stumbled across the Torque Game Engine from GarageGames and suddenly it seemed like a 3D game was a possibility.

...gets translated there and back to look like this:

Urbatain: You throw the presentations, we go to the grain. When the idea came to you to realise an Interactive Fiction game (3D or 2D) with graphs?

Rubes: Good, since I have mentioned, it does a few of years again gave gusanillo me to match. It really did not anticipate to match in 3D, I create, because it did not have interest in the complexity of the graphical motors in 3D and the pronounce graphical requirements, but somehow encountered the motor “Torque Game Engine” of GarageGames, and it seemed suddenly to me that to match in 3D it was a possibility.

Fun times, man.

Anyway, now, with the release of the latest issue of SPAG, the interview is now available in its original English. The direct link to the interview is here, although I encourage reading the whole issue. There is an interesting editorial by Maher, who wonders, as many of us have:

Lost Pig probably was the best game of 2007. But why was it the best game? Where are the IF games that, to paraphrase a famous old Electronic Arts ad, make us cry?

There is also a good continuation of this discussion on RAIF, as well as a good rebuttal and discussion on Emily Short's blog.

Plus much more.

July 28, 2008

You Got Turn-Based Chocolate In My Real-Time Peanut Butter

The whole idea behind this Vespers project thingy is to take a rich textual world created in interactive fiction and extrude it, so to speak, into three visual dimensions. As I've discovered, a whole mess of issues arise when moving from the predominantly discrete world of IF to the largely continuous world of 3D. That applies, of course, to space: in IF, space is divided into discrete locations, with little to no functional representation of spacial relationships within those locations, while in 3D, space is represented on a more familiar continuous scale. Likewise, it applies to time: rare exceptions aside, IF is turn-based with discrete time steps, while first-person 3D games are real-time and continuous.

The question is, can a game really be both at the same time?

In terms of space, that's not really a difficult stretch. Most locations in IF are just discrete representations of a location in 3D; a kitchen, a bedroom, a church can all be defined by walls and doorways in 3D to produce the same effect as in IF. Outdoor or more abstract locations can be a little trickier, but through the use of invisible, arbitrary borders one can functionally define locations such as "outside the calefactory", "base of the bell tower", or "garden", to produce the same effect. Dealing with spatial relationships within locations has its implementation challenges, but nothing that can't be addressed by a few ground rules that can be tweaked based on playtesting and feedback.

Time, however, is a bit less straightforward.

The turn-based nature of IF is something that is tightly integrated into game design and gameplay mechanics. It's probably fair to say that this is, at least in part, a reflection of the history of the genre, going to back to the command-line interface and early computational limitations. It's also probably related to the nature of the medium and interface; reading and typing text, and thinking through sometimes complex puzzles, is better suited to a more relaxed, turn-based interface. It creates a challenge for authors trying to model time-limited situations in their IF games, with the typical solution being a turn counter and forcing the player to resolve an issue within X number of turns. This can work to create a sense of urgency in players, although in some cases it can come across as an artificial limitation.

Some authors have tried using IF systems that operate in real-time; although I don't recall trying any of these myself, my sense is that the scarcity of these games is a reflection of the popularity of this approach.

Which leads, I guess, to the next question: if that's the case, why try to do something like that with Vespers?

The answer is that I'm not. Instead of being truly turn-based or truly real-time, Vespers will actually be something of a hybrid, although in practice it will play closer to a turn-based game. The player can move in real-time, but for the most part it will resemble moving about within a world where time is essentially in an idle loop, advancing predominantly (but not entirely) upon player input. That input could be the entry of a command (like in traditional IF), or it could be the result of movement (such as entry into a new location).

As an example, take the interaction with NPCs. When the player first encounters Lucca, for instance, he is on the floor in Matteo's room, scratching at a flagstone in the floor. If the player does not interact with Lucca, he will just continue to do what he is doing, maintaining his "idle" state of scratching at the stone. We've created a series of animations for Lucca during these "idle" times -- scratching at the floor, sitting up to rub his sore hands, wiping the tears in his eyes, and so on. These animations play at random intervals to give the appearance of a living, active character, even though he is essentially just waiting for either (a) the player to interact with him, or (b) some other game event to trigger his next action or task. If the player does interact with him, once the interaction is finished he simply goes back to doing what he was doing, scratching at the floor.

The result is a game world that is predominantly reactive, but it remains to be seen if this comes across as a little too passive. Note, however, that the world won't be 100% reactive in this sense; there are still some situations where we cannot always wait for the player before advancing time.

The most obvious example of this is an action sequence; in Vespers, for instance, there is the tense scene with the wolves in the garden. In the IF game, the player is given a handful of turns to work out a solution to the mess -- but how to implement this in pseudo-real-time? Forcing players to think and type fast would not be an ideal solution. Instead, the solution will be to implement a surrogate for the "turn". The surrogate will take into account all possible actions (and inactions) of the player, including the typing of commands and any movement.

There are a couple of tricky situations with this approach. For instance, with respect to player movement, how much movement should represent a "turn"? Then there is the command line entry window: should the advancement of time be suspended while waiting for the player to finish typing? Should a time limit be placed on text entry? Or should text entry be cancelled if no keys are pressed after a certain period of time? Finally, there is the issue of player inaction, and whether time should advance or loop continuously while the player sits idle.

These are all issues that need to be worked out through playtesting and then tweaked as needed. In the end, however, the result will be a game that has elements of both turn-based and real-time gameplay, although functionally it will probably be closer to the former than the latter.

The most interesting part of the experiment will be to see which parts of the system work and which do not, and then using that information to refine the mechanics once we move beyond Vespers and on to the next project.

July 23, 2008

Embracing My Inner Nerd

So what, I couldn't stand my state-issued license plate. Never could remember it to save my life. I know it's hard to believe, but this was the first thing that came to mind when I thought about a new one, and it was available. I think I was actually surprised to learn it was still available, although in hindsight, I realize how additionally nerdy it is to admit that.

The puzzled looks I get, of course, far outnumber the acknowledgements.

In fact, I hadn't had any acknowledgements, tacit or otherwise, until about a week ago. I was walking back to my car after a meeting and saw from afar an envelope under my wiper blade. Naturally, I thought it was a parking ticket, and was annoyed. But up close, I saw it was just an empty envelope someone put there onto which was scribbled:

I thought that was kinda cool. And by cool, I mean exceedingly nerdy.

Naturally, my car was parked outside the campus engineering building at the time. I'm just saying.

July 21, 2008

Conversation: They're All Talking (About It)

I guess conversation is where it's at these days. Recently I began a series of blogs on conversation mechanics and how interactive fiction games can perhaps show the mainstream game industry how to do better dialogue (starting here, continuing here, and most recently here). Others have also recently jumped in on the action.

Over on Gamasutra, an article written by Brent Ellison popped up not long ago to define dialog systems because, as he says, "very little literature has addressed the mechanics behind character interaction in games."

Ellison essentially covers the basic mechanics of different dialogue systems in games, including branching and non-branching dialogue, hub-and-spokes dialogue, and even parser-driven dialogue. He does a fair enough job of summarizing the more common systems, although he seems to focus primarily on interface and doesn't quite venture into the more interesting territory of the mechanics required to produce smooth, immersive, dynamic dialogue. It's more of a top-level view, which is fine, but I'd really like to see more people talking about how to make dialogue better through more carefully designed mechanics. It's kind of like describing Galatea as simply an example of an ASK/TELL dialogue system, without getting into the finer details under the hood that make the game shine.

Speaking of which, I found it especially disappointing that his description of parser-driven systems never made any mention of interactive fiction; his only two examples of this type of system were Eliza and Façade. It's fair enough to discuss Eliza as a pioneering example of parser-driven interaction, but Façade, while a fascinating experiment, did not exactly come across as a shining example of the power of parser-driven input. I found Façade to be a success in many aspects, although the parser was not one of them. It's unfortunate that Ellison failed to mention any of the great examples of dialogue in interactive fiction in an article like this since, as I've said, I think a lot of mainstream games could learn some important lessons about conversation from IF.

Around the same time, over on the Iron Tower Studio forum, Vince D. Weller tossed some ideas around with Gareth Fouche and came up with an interesting post that summarized dialogue systems in RPG games (thanks to Scorpia for pointing it out). It starts out with a nod to the adventure game genre (its current 'comatose husk' notwithstanding) and the use of keyword (or topic-based) interaction, and proceeding from there to describe typical dialogue tree structure. What's nice about the post is that he goes into some detail about the strengths and weaknesses of the different approaches, including a familiar discussion about the different shortcomings of topic-based and dialogue tree systems. He also includes a mention of a system that incorporates expressive tone with keywords, such as was tried with the game Daggerfall (which I have not played). Although it sounds like it did not fully succeed at this, it is interesting how this mirrors the approach used in some IF games, like Adam Cadre’s Varicella from 1999. Although it would have been nice to see some cross-genre discussion, it was nevertheless a nice discussion of dialogue as it relates specifically to the RPG genre. With some additional research, it would make a nice complement to the Gamasutra article.

Dialogue systems are an interesting aspect of computer games that, for the most part, use similar interfaces and follow similar mechanics across different genres. I think developers and players are beginning to long for systems that produce more dynamic, nuanced conversations, and yet IF is a genre that continues to be largely overlooked. Although the adventure game genre (and IF in particular) is perhaps not what it used to be, I wouldn't quite call it "comatose", as there are still some creative authors out there making games that push boundaries and test new systems. Some work well and some don't. One of the main reasons for this series of blogs is to explore some of those experiments in IF, including how authors have taken the basic systems and tinkered with them to generate more dynamic conversations that flow smoothly and account for changing context. These systems can easily work in genres outside of IF, as long as the skill and effort are there.

July 14, 2008

No More Slamdance

Overheard from Jonathan Blow, he of Braid development fame, via Sam Roberts: the Slamdance Games Festival is cancelled, and appears likely to be no more. No big surprise there, but it's unfortunate nevertheless. What a startling and swift fall into oblivion, triggered entirely by one little controversial entry.

It's a shame because, as one commenter noted, it was a good way for indies to get exposure outside of traditional gaming circles. Aaron Reed's report of his experiences there pushing his interactive fiction game "Whom the Telling Changed" was great stuff, especially the game transcript analysis he provided. Other shows are picking up the slack, like IndieCade, but there was still something about Slamdance being in Park City along with the Sundance festival that made it seem bigger than "just" a gamer's event.

Conversation Sophistication

I used to think that the only way we will see good, satisfying conversations in games is if some developer comes up with a combination of a highly advanced parser, capable of accepting a broad range of user input, and sophisticated AI code that can dynamically respond to this input. However, a more careful examination of some recent interactive fiction games has led me to believe that most of the tools already exist, and that what's really needed are skill and patience. Skill to write well and to construct systems that account for dynamically changing conditions, and the patience required to do so.

Last time out, I discussed the conversation system used in Emily Short's Galatea, a game that focuses on a single conversation with an NPC using a modified ASK/TELL topic-based conversation system which handles mood, flow, and context in a fairly sophisticated fashion. While the resulting conversation has a nice structure to it, there are still some limitations to the system, notably the inability of the player to choose the specific aspect of the topic to discuss, and the distinct one-sidedness of conversations that resembles an interview more than an exchange. Given the quality of the game and the writing, though, I think most people are able to look past these limitations and appreciate the achievement.

Addressing these limitations, though, is a complicated matter. How do you allow players to ask more specific questions of NPCs, and how do you allow players to answer questions from NPCs, given the broad range of player input that this invites? The primary answer with many non-interactive fiction games (as well as some IF games) is to control input through multiple choice selections. It's a method that spans nearly all genres, from old LucasArts adventures to BioWare RPGs to first-person shooters like Deus Ex and beyond, and for the most part players of these games seem to be satisfied with this approach. But often the implementation (at least to me) just doesn't satisfy as a conversation, coming across as perhaps too simple and algorithmic with little dynamics or appreciation for changing context.

An interesting example of a piece that combines elements of different systems is Short's Pytho's Mask, a game that is more extensive than her previous Galatea but which still focuses on conversations between the player and the various NPCs. It was a finalist in many categories in the 2001 XYZZY Awards and won for Best NPCs, which I think is an exellent reflection of the synergy between the writing and the unique conversation system.

I think it also bears mentioning that this game's "Order of the Phoenix" pre-dates the Harry Potter incarnation by three years. There. That's out of the way.

In Pytho's Mask, the conversation system is topic-based, although it is not triggered by the usual ASK/TELL commands; instead, the TOPIC command is used to initiate discussion about a particular topic of interest. However, instead of the player-character then asking a single pre-determined question about that topic, the player is instead presented with multiple-choice options of questions or comments related to that topic. So for instance, if the player types >TOPIC PRINCE, a menu might appear with three options: "How long have you known the prince?", "You are close to the Prince?", and "Any idea where the Prince is?"

The system is also designed to handle answers to questions presented to the player by NPCs, which provides more of an opportunity for back-and-forth conversation. The end result is effective, although I would have liked to see a bit more of this than was implemented in the end -- unless I missed a number of exchanges. Still, the presence of both questions and answers made the conversations feel much more natural.

Of course, there are some minor aspects of the implementation that perhaps did not work quite that well. Some conversations proceed with the multiple-choice system even though only one choice is available; while this has the effect of allowing the player the option of not asking the available question if so preferred, the player must give the one available response when it occurs during one of the back-and-forth exchanges. The result is that it provides what amounts to a brief pause in the conversation, and it ends up feeling very similar to the classic TALK TO system. Which is not to imply that it is bad -- it just left me on occasion with the sense that the conversation didn't fully take advantage of the system used.

There are also situations where topics are brought up and multiple question options are listed, but they are often not exclusive (i.e., asking one does not eliminate the possibility of asking the others). So you end up with a list of questions that you know you're going to flip through one-by-one just to make sure you don't miss any important information, and that ends up feeling a bit like a chore.

On the surface, this type of conversation system is a nice idea, and it's actually very close to a system I had thought about implementing a while back. But as with Galatea, Short's implementation really shines because of her attention to detail under the surface, which helps it achieve more of its real potential for generating smooth, natural conversations that account for dynamic complexity and context.

As Short describes in her article on conversation systems, Pytho's Mask fiddles with the underlying conversation mechanics just enough to produce choices and output that fit together and flow smoothly. For instance, player input options are marked when used so they don't get repeated later on, unless it is desirable to allow it -- and in those cases, often the option is different the first time it is displayed than on subsequent displays. Player inputs can also have the effect of changing the topic of the conversation, such that the conversation options for the new topic are displayed after the previous one is processed, producing a sort of branching structure. Player inputs can also affect the emotion of the NPC, which can modify the conversation options that follow. Finally, the same topic can bring up different input choices depending on the context, such as the point in the narrative, the topics that have been addressed previously, and the actions that the player has previously performed.

Pytho's Mask, of course, is a conversation-based game that relies on smooth, dynamic, contextually appropriate conversations to be successful and satisfying, so it stands to reason that for a game like this one, the effort put into the conversation mechanics is worthwhile. But even if a game doesn't necessarily focus heavily on conversation, I have to think that the implementation of a more sophisticated system like this can only enhance the playing experience. It takes a lot of effort, sure -- but as I've said before, if developers put the same effort into conversation mechanics that they put into graphics and physics technology, we might just have some mainstream games that are a lot more interesting to play. The tools are there, all it takes is creativity and a bit of skill and patience.

July 7, 2008

A Short Review of Vespers

Emily Short has finally had the chance to play the original IF version of Vespers, and has a nice review of it up on her blog.

Short, of course, has tremendous experience playing, writing, and writing about a wide range of IF pieces, and her reviews are insightful and well-informed. I was a bit surprised to learn a while back that she had never played Vespers, and I wondered if she would get around to it one day. Gladly, that day has come. Her review is a good read, focusing largely on the game's effective use of plot construction:

"To my surprise, what I found most interesting about Vespers was its construction, its success at arranging events and making characters take action; it has a lot of plot, but avoids the excessively linear feel of many high-plot-content games. The way it works is mostly neat sleight-of-hand."

In the comments, I prompted her to say a few words about the game's conversation system and its multiple endings, which brought up some interesting points about the role of coercion in the game, its relationship to sin, and its impact on both the player and the protagonist (the Abbot). As well as I know the game at this point, I have to say I learned a bit more about it today.