Archive

Archive for the ‘Interactive Fiction’ Category

Narrative Variation in Interactive Fiction

December 25, 2016 2 comments

I was introduced to the Colossal Cave Adventure game in 1980 when I got my first “real” job at an engineering company. The game was one of the installed pieces of software on the company’s Data General Eclipse mini computer. Soon after I started working there (spending countless after hours with coworkers exploring twisty passages), I purchased a TI 99/4A home computer, and I discovered Scott Adams’ series of text adventure games. Of course, I played them as quickly as I could get my hands on them. When I got my first IBM PC, I also got my first Infocom game (Deadline), which introduced me to a more sophisticated parser – to go with the greater computing power – and the idea that Interactive Fiction was more than simply text-based puzzles to be solved. The narrative was an integral part of the game experience, so the way in which things were described was just as important as the rooms that could be explored or the objects that could be examined. As the Infocom games came to tell more complex stories (anyone remember A Mind Forever Voyaging?), the narrative gulf between the new games and Colossal Cave became quite evident.

colossal

Working on the Historical Williamsburg Living Narrative, I am keenly aware of the need to provide narrative variation throughout the game, and it is especially important for continuity in the player’s actions. For example, when coming to a particular location for the first time, it makes sense to describe the experience:

“You approach the castle with a sense of awe at the scope. The walls tower over you as you slowly approach the massive iron gates. The construction effort for the outer walls alone must have taken years!”

While the above text might make sense upon first reading, seeing the same text over and over would greatly diminish the sense of reality and continuity in the game environment. Fortunately, Inform 7 provides built-in coding constructs to handle these situations.

The simplest situation to deal with is in visiting the same location multiple times. Inform 7 allows the application of conditionals that track the player’s location history:

[if unvisited]Write initial description here.[end if]
[if visited]Write subsequent description here.[end if]

While this takes care of a majority of situations, there are times when you may want to alter a location description based on whether or not the player has already visited a diffent location in the game. Let’s look at a situation based on a section of the actual game map.

capitol-descriptions

For this illustration, we will focus on what is happening in the Capitol building desriptions. The Capitol is one of the main structures in Williamsburg, and it has appeal to the player character as part of the storyline. Accordingly, there should be some sort of acknowledgment of this in the description when the player encounters the Capitol. Using the [if visited] and [if unvisited] constructs apply only to the actual game locations, and this can be problematic in situations where there are more than one entry pont.

Notice that there are two entry points for the Capitol: the “Capitol Entrance” and the “Capitol Rear Entrance.” When the player first reaches either one of these locations, there should be a sense of excitement at seeing the Capitol. However, both locations need to “know” if the player has been to the other location, otherwise both the descriptions will portray that first-time sense of excitement, and that will be very narratively inconsistent.

Typically, the Inform 7 code might look like this:

The Capitol Entrance is a room.
“[if visited]This is the Capitol Entrance. You have been here before.[end if]
[if unvisited]You have never been to the Capitol before! Amazing![end if]

The problem with this approach is that the player could have already come to the Capitol from the Capitol Rear Entrance (and indeed even walked right through to the Capitol Entrance), which would make this description sound quite out-of-touch! Fortunately, Inform 7 gives you the ability to filter location descriptions based on what other locations have been visited or not visited. Something like this would be a start:

The Capitol Entrance is a room.
“[if visited]This is the Capitol Entrance. You have been here before.[end if]
[if the Capitol Entrance was not visited and the Capitol Rear Entrance was not visited]You have never been to the Capitol before! Amazing![end if]
[if unvisited]You have never come to the Capitol from this entrance.[end if]

There are three possible states represented above:

  1. The player has been to the Capitol before, and it was through this entrance. Therefore, there should be no initial reaction to entering the Capitol itself, or to encountering this particular location.
  2. The player has never been to the Capitol through this or the other entrance. All the “surprise” should be expressed here.
  3. The player has never been to this location, but the player has entered the Capitol through the other entrance. There should be the first-time reaction to this entrance but not to the Capitol itself.

You can begin to see the potential complexities in building a consistent narrative when dealing with a fairly complex game structure. There are many locations with multiple entry points, and the same process will need to be considered when encountering people or even objects for the first versus subsequent times. There are any number of ways to keep track of the narrative flow, and my primary tools are maps and spreadsheets. This, however, just scratches the surface of considerations for the location descriptions. Think about how descriptions may change depending on what other non-player characters have been there first, the time of day, or even the weather.

Clearly, we need to build a game timeline and make use of the appropriate variables as we move forward.

Note: As I write this entry, my family and I are in Colonial Williamsburg. (Yes, I am doing game material research while I’m here…) We will be enjoying Christmas dinner in Christiana Campbell’s Tavern (on the far east side of the map). So from my family to you and yours, may you have a very Merry Christmas and a Happy New Year!

Latest Williamsburg Game Map

I’ve been working on updates to the building interior locations. This map reflects the latest navigation scheme. I’ll have the next playable release available to Kickstarter backers up shortly.

williamsburg-game-map-15

Latest Playable Release – HWLN12

This report recently went out to all of the game Backers on Kickstarter. The actual download location is available only to the Backers.

**********

Greetings, Backers!

I new version is available for download at [URL HIDDEN]. Included in the .zip archive is a map of the locations.

A quick word about the map: where you see the location names highlighted in blue, the blue portions indicate a shortcut in the game navigation system (meant for speedier play testing only). For example, on the map is the “Military Encampment” location with the word “Military” in blue. When you are playing the game, type “xmilitary” at the cursor and you will be immediately taken to the Military Encampment. This will work for any of the locations in blue.

A big “thank you” goes to backer Vivianne D. for her work on the navigation code in Inform 7. Now when you type “dir” at the cursor, the game will display all possible directions (unless specifically hidden) based on room relative location definitions. Previously, I had been hand coding all those directions.

Otherwise, changes in this version are not major. Cleaned up more descriptions, added some detail, etc. Feel free to play it and let me know what you find.

In an upcoming release I will be publishing a guide that provides a listing of the possible commands.

Hap

Interested in getting started with Interactive Fiction?

If so, this primer by Andrew Plotkin will give you an introduction. The handy-dandy reference card is especially helpful.

http://eblong.com/zarf/if.html

Latest Playable Version

A quick update: there is a new playable version of the game available for backers of the original Kickstarter project. Here’s what I shared in a message to the backers (removing the access instructions for the actual game).

This version includes some minor navigation/map description updates. The main change here is in the addition of some non-player characters (NPCs).

The NPCs are implement in a very basic capacity, and they are not in their final game locations. Dialog is limited, but you can test them out using the “ask [character] about [noun]” format. You will find:

  • a farmer – in the Palace Green. You can use the command “ask the farmer about Anderson’s” when you encounter him to see what happens.
  • a cordwainer – ask him about shoes when you find him.
  • George Wythe (no dialog)
  • Thomas Jefferson
  • Patrick Henry

For Jefferson, Henry, and the farmer, there is additional dialog, but I won’t say here. It’s not likely you’ll be able to guess what to ask them about (though if you know Williamsburg histry you may be able to figure it out). Don’t worry about that, as the context of the game events will give you clues/hints.

In the meantime, if you do playtest (or even if you don’t), feel free to let me know what kinds of things (nouns) you might ask about and expect to get some sort of answer. Your feedback will give me good player’s perspective.

More NPCs will be added, along with greater dialog vocabulary. Other considerations will be making dialog dependent on time of day, location, and even what the player may have learned from other characters or in discovering certain things about the environment. NPCs will not be “stuck” in the same location, and the time of day will determine where they are.

Navigation Test

For the Backers of the Kickstarter project, I’ve posted a Blorb Glulx Game file that will allow the player to go through the physical location map, seeing descriptions, and testing a few other commands as well. If you’re a Backer, check your email for the Update that has the location of the file download.

The Game Begins: First Screens

Progress on the Historical Williamsburg Living Narrative continues. Three plot-level releases are planned: a walk-through version focused on the Williamsburg physical layout, an exploratory version including interaction and discovery with historical characters, and narrative version that is constructed around the removal of the gunpowder supply from the magazine.

The following two screenshots represent what the player will first encounter regardless of the version of the game being played. First is the pre-game opening screen that appears before the player provides any input. As you can see, it sets up a little bit of the story framework by providing some background on the player character and context on how he comes to be in Williamsburg.

OpeningScreen

The second screenshot depicts the description the player gets the second time this location is visited. (The first version of the description has some additional information and is displayed as soon as the player presses the Space bar at the intro screen.) As you can see, the command “see” was entered after the text description. The way the HWLN game is being implemented, graphic images will be provided at many locations; however, in order to display the images, the player must enter the “see” command at the prompt. The images themselves are based on my actual photography of Williamsburg.

GovernorsPalace

A Starting Screen

While I’m doing Glulxe testing, I thought I’d take one more screen shot of the game, this one all text. This is right after the game intro screen comes up, and the player presses the space bar to get into the game proper.

You’ll notice the first command issued by the player is followed by more descriptive text. “More” is a custom command I’ve added to the system that displays more detailed information about the location surroundings. Ultimately, it’s all to help the player make sense of the game.

firstscreen

Graphic Enhancement to Traditional IF

The Interactive Fiction I grew up on (starting with the Scott Adams text adventures that I got in cassette form for my TI 99/4A computer) was all text based. No graphics at all; just two-word phrases that eventually turned into more sophisticated Infocom game sentences, but still words only. In fact, one of my favorite computer game ads was the Infocom print ad that said something to the effect of “We stick our graphics where the sun don’t shine,” and then there was a picture of the human brain. Pretty clever, and you can see it here.

One of the characteristics that makes Inform 7 so appealing as an IF development environment is that it allows a person to rapidly put together an IF game in the form of those old Infocom games: a pretty robost parser that allowed for sentence input. However, Inform 7 has made a number of improvements to the output it produces, compared to the earlier Infocom games. One of those improvements is the ability to integrate graphic images into the Inform code for display when someone plays the game.

I’ve decided to take advantage of this feature during development of the Historical Williamsburg Living Narrative. I’ll be using the photographs I have taken of Williamsburg, and I’ll have the photographs changed into a more comic-like illustration. Below is a sample of the Capitol Building already having gone through the image processing.

Capitol Comic

As you can see, the photograph has been altered to appear as more of an illustration. I’ll do this for all of the photographs to be used in the game. Please share your thoughts: do you like this approach to Interactive Fiction? Or does IF need to be more “old school”?

Streamlined Williamsburg Map

In my last blog post (Fun with Maps) I discussed the complexities around map development for Interactive Fiction, especially given the design tension between maintaining historical accuracy and fostering engaging gameplay. During my most recent trip to Williamsburg last September, I found that the Colonial Williamsburg Foundation helped address the map dilemma by issuing a simplified version of their visitor map. This is the visitor map that is currently being published (along with the daily events in the colonial city area).

New Map 001

I took this map and eliminated the extraneous information based on the actual game and story requirements. That gave me a very clean map from which to work. You can see that this map provides a layout of the relative positions of buildings, the streets they are on, and distance information.

New Map 002

Using this clean map, I marked the positions of the buildings and other navigation junctures that would be needed in (this version of) the game. Then I connect the locations where I wanted pathways, so that I could visualize the compass headings to use in terms of game commands. (You can see the blue lines connecting the red and green squares.)

Williamsburg Game Map

Finally, I pulled the background out in order to have the unadorned map to use in building navigation functionality within Inform 7.

Williamsburg Game Map

The red boxes represent buildings or structures that have further navigation within, while the green boxes are simply outside locations. Using this map, I was quickly able to create basic navigation in Inform 7, and I am using the map as a location checklist for the location descriptions. (Additionally, I am creating the logic in Inform 7 to handle multiple stops at the same location, and requests for more information regarding locations.

In addition, this map allowed me to visualize some navigational shortcuts to help with the flow of the game. For example, I’ve created a custom command “street” that functions at many of the building locations on the Duke of Gloucester Street (that’s the main street running from the College of William & Mary in the west to the Capitol Building in the east). When a player is at the entrance of one of those buildings, using the “street” command will take the player to one of a number of unmarked positions on the Duke of Gloucester Street, between the two cross streets that apply to the building where the player is. From the unmarked position, the player can see the buildings up and down between the cross streets and choose to navigate directly to any of them. These unmarked positions on the Duke of Gloucester Street are not accessible through standard compass-direction navigation.

Within the next week or two, I’ll have a robust version of the game navigation completed in Inform 7 and available for download to the original Kickstarter backers.