Heisenbug

April 13, 2009

Breaking the Tradition of IF

Filed under: Backpack — by jenf @ 9:56 pm

I find most IF games very infuriating, and is likely why the genre died out in the commercial world. Why spend your afternoon trying to phrase things properly when you can blow up aliens.

Three Things annoy me greatly about IF.

1) What direction was I wanting to go in.
Why when I want to go into the Kitchen, do I have to find out what direction the kitchen is in, and then type ‘go east’. In the real world do you think “Hum, I want a yogurt, I’ll go to the kitchen, the kitchen is east, therefore I go east”, you think “Kitchen”

The only game where directions are useful seem to be the original Colossal Cave Adventure, and every game since still takes that design as a good one. I’m tempted to remove directions altogether from the standard setup of adventure backpack.

2) What verb was I looking for?

I needed a parser, so I took inspiration from Inform 6’s parser, but in my world view, I felt that the verb definitions should be done as part of the object (including inheritance).

Why:
You could ask an object what verbs are available for it (avoiding the what verb problem)
The code for declaring the verb would be in the same place as the code for handling the verb, which is much more maintainable.

3) Conversations in the system are very weakly done.

I’ve been exploring various IF games recently trying to find the style I like, all but the choosing a conversation number become very fiddly and difficult to know what you are doing. But the drawback of this (called the Lawnmower effect), is you choose responses randomly.

I’m tempted to take the same approach (as the default), of handling verbs where you can inquire what the person’s topics are, I know it breaks the fourth wall, but it makes it easier to work with.

Should I be doing this at all?

I’ve been reading the following, The Interactive Fiction Authoring System Developer’s Guide 0.99, and it quite correctly says that most people trying to create an IF authoring system will be wasting their time, as the current systems are quite versatile.

So why would I bother?

  • It’s done in a general purpose programming language rather than a specialized one. The number of programmers out there who understand Ruby is probably 1000 times greater than the combined programmers in TADS 2 & 3, Inform 6 & 7. I dislike the idea of creating new languages and having to implement object models where a system is already available. Ruby already has a large amount of logistics behind it, and the mixin ability is rather cruicial.
  • Since it’s based on a real-world programming languages, new options are available. You could have a paper in the game when you read it, would fetch the Guardian’s news stories and include them into the storyline. (Difficult to program realistically, but the option is open)
  • Multiplayer IF is not well done in existing systems, and MUD systems are not really that expressive, and don’t have the advanced abilities that IF does.
  • Graphics IF creation software is ad-hoc and not easy for indie productions. (Adventure Backpack original started out as a graphical IF system, but that was to complex). I intend to extend the system to add graphics (probably AJAX & SVG)
  • It gives me an excuse to program in Ruby and mess around with DSL’s.
  • I find the idea of Natural Language (Inform 7) programming abhorrent, unmaintainable and unartistic. The difficulties with programming are just as difficult with Natural Language programming as Non-Natural Language programming, but you have a new batch of guess the verb problems.

No Comments Yet »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

Powered by WordPress.com