Authoring Text Adventures in TADS 3

Hello, everyone, and welcome to (trail off) (crumple up notes) (improvise)


Introduction

I’m giving a talk! If you want to follow along during the talk, you’ll need a few things.

To start writing text adventures, you’ll need to:

  • install TADS 3 with your favourite package manager
  • no package manager, huh? Ok, get it from the TADS site
  • if you don’t even know what a package manager is:
    • you’re probably an OS X user
    • and you should use the installer:
  • if you don’t have a bash emulator on your DOS machine:
    • you aught to think about why you’re even using Windows
    • now that you’re done thinking, consider getting Workbench:

Now, you’re ready for my talk! You’re ready to begin writing your own text adventure!

Well, almost.

The sample project is on GitHub, but can also be downloaded here:

Now you’re ready!


What are Text Adventures?

  • they’re like little books, inside your computer

  • key differences:
    • you can’t read a book and lose
    • books don’t run from your command line
  • they have been around almost forever
    • Adventure was written circa 1975…
    • …in Fortran for the PDP-10

How are they different from Interactive Fiction?

  • they are not really
    • both display text
    • both use text as user input
  • key differences:
    • IF can include things like interactive narratives
    • Text Adventures tend to be “adventurey”
    • IF doesn’t need to have swords, lamps, or goblins
    • Text Adventures are required to have all three
    • IF might be considered more avant-garde

What are some of your favourites, Ben?

  • oh, how kind of you to ask!

  • my favourite is Vespers
    • written by Jason Devlin
    • Set in a monastery during the plague
    • deals with the themes of faith, death
    • mostly horrifying
  • my second favourite is A Change in the Weather
    • written by CMU Alum Andrew Plotkin
    • a wonderful, short, and difficult story
    • contrasts intrinsic / extrinsic values
    • less horrifying

Can I write a Text Adventure and become rich and famous?

  • No! Nobody does that.

How can I get started with this, and become rich and famous?

  • again, this won’t make you rich or famous

  • but now that you ask, yeah, we can get started writing


How does the syntax work, and will it make me rich and famous?

  • this won’t make you rich or famous

  • but, since you asked, there are a few things that can snag you:
    • string literals are hard
    • some are like "bleh I'm a string literal"
    • others are like 'urggh, me too'
    • some are even like """ And then I said, "What?" """
    • or like, ''' I can't even believe it. '''
  • semicolons can be traumatizing
    • they can be used as block delimiters
    • you can put them at the end of things
    • please use { and } for any complex objects
    • the ; is acceptable for really simple stuff
  • the + operator works in mysterious ways
    • it’s used for establishing hierarchy among objects
    • using a + will make whatever is defined before it the “parent”
    • for example, you can define an object like below:
room : Room {
    desc = "Look, a room!";
}

+ table : Surface, Fixture
'desk/table/surface' 'table'
"""
Wow, what a table we have here.
It's plainly amazing, and also in the room.
""";

Has it been an hour yet, and can you make me rich and famous?

  • probably not

  • also, no


Now that I know how to write words, with my hands…

  • do you want to know what makes a really good text adventure?

  • do you want to know how to write beautiful prose?

  • do you want to become rich and famous?


How do write beautiful prose?

  • don’t make mistakes like that, try “How do I”

  • learn a bunch of fancy words

  • profit


How do I actually write beautiful prose?

  • so, as I found out recently, it takes more than that

  • writing good requires more setup


The Hope / Fear Cycle

  • good writing relies on this
    • it keeps readers / players engaged
    • constantly misplace their expectations
    • profit
  • it can be overdone (Lookin’ at you, Shonda)
    • “Oh, another plane crash and murder, great”
    • “Why does this keep happening to me?”
    • can cause writing to become unrealistic

Different sorts of plot

  • keep track of Objective Plot
    • physical progress of the protagonists
    • Indiana Jones gets the idol
    • Indiana Jones loses the idol
    • he gets it back again
    • now he’s going after the Arc of the Covenant
    • he loses the Arc
    • he gets it back again
  • keep track of the Subjective Plot
    • Indiana Jones threatens to destroy the Arc
    • René Belloq knows he can’t blow up the Arc
    • Indiana Jones can’t go through with it because he loves it
    • René Belloq’s fatal flaw kills him in the end!
  • subjective plots are much harder to pin down

Compelling Characters

  • keep track of their strengths and motivations
    • if a character doesn’t have clear motivations, things fall apart
    • an audience will know when you’re just making it up
  • give them extremely exploitable flaws
    • everyone knows what to do with a greedy villain
    • Indiana & Belloq mirror each other
  • characters are no more than tools to push plot forward

You can write more than anyone wants to read

  • this is why fan fiction is awful

  • fan fiction is almost pure phlebotinum
    • thank Joss Whedon for this disgusting word
    • it refers to writing which is all fluff
    • the actual intrigue of writing is usually not the tech
    • Star Wars is a good example
  • I can regale you with magniloquent poesy all day

Does this apply to Interactive Fiction?

  • yes

What makes a really good Text Adventure?

  • plot
  • characters
  • motivation to make content for a talk

So, let’s jump right in!

It’s audience suggestion time!

What do we want with respect to the plot?

  • Some more plot!
  • Murderous rodents!
  • Time Travel-as-a-service

What do we want as the setting?

  • Big
  • Dark and Claustrophobic
  • Room-sized