Women in Technology

Hear us Roar



Article:
  Choosing a Language for Interactive Fiction
Subject:   TADS as a language / environment
Date:   2004-12-18 09:30:39
From:   jsmiller
I can't speak for the other popular languages (or environments, such as ADRIFT, http://www.adrift.org.uk/), but my experience with TADS 2 was interesting and frustrating.


I found the parser to be rich and powerful, but the parse logic was sometimes difficult to modify.


Creating a game in TADS felt like hand-coding a big, interconnected serialized object graph. There seemed to be a lot of repetition and verbosity, which made individual instances readable in the code, but made coding many items, actors, and locations very tedious and hard to keep consistent.


There is a notion of classes and inheritance, which I found familiar and useful.


I experimented with dynamically creating actors at runtime (random people with different appearance and behavior). This doesn't seem to be the standard TADS style, and requires extra bookkeeping to manage the new entities for the sake of the parser.


It seemed to me that code generation would help, particularly extracting inter-object references into concise tables.


I missed the ability to unit test code (spoiled by JUnit!). It was possible to script the interpreter with text file as input and capture the output, however. There is also a debugger which never worked well for me (partly a split-screen terminal problem).


I'll peek at TADS3 and see if it feels more accessible to me.


Jeff Miller
San Francisco

Main Topics Oldest First

Showing messages 1 through 1 of 1.

  • Liza Daly photo TADS as a language / environment
    2004-12-18 10:08:05  Liza Daly | O'Reilly AuthorO'Reilly Blogger [View]

    Creating a game in TADS felt like hand-coding a big, interconnected serialized object graph. There seemed to be a lot of repetition and verbosity, which made individual instances readable in the code, but made coding many items, actors, and locations very tedious and hard to keep consistent.

    It is absolutely true that IF programming can be an exercise in tedium, and I doubt that any of the advanced languages are especially good at solving this for the author. I agree with you that some machine generation would help, but I wonder how far a language or development environment could help with that, given how infinitely flexible an IF game world could be. It might be a better approach for an individual author to consider writing some tools to generate game-specific code, if their story suggests such a need.

    As in many free software projects, a lot of effort has been put into the core products (languages and libraries), but limited effort into support structures, such as IDEs. Peculiar to IF is that many authors are not otherwise programmers, so there are many people who might benefit from such a project but can't contribute to it. It's certainly an avenue worth pursuing for coders who enjoy the genre but don't want to participate in game writing themselves.