While we're on the subject of text adventures...

Last edited by DrPaul on September 02, 2006 • 8:43 am, edited 1 time in total.
A couple of days ago, Marinedalek started a post about "yet another text adventure attempt..." Complete with a link to an early working version.

Naturally, his post got me to thinking about the TM text adventure attempt that I made last year. In particular, it got me to thinking about the relatively poor response that I got with it. What I mean by "poor" is not that there were negative reviews. The response was mostly positive. By "poor" I mean: is (1.) Not many people tried it (that I'm aware of.) (2.) Some had trouble getting it to work. (3.) Some found it too difficult to play.

Clearly, 1, 2 and 3 are unacceptable. There is no excuse for (1). Everyone's clamoring for a new TM game, so if someone goes to the effort to code one, everyone should play it. But I may be wrong about how many people tried it, so maybe (1) is not an issue.

Number (2), trouble getting it to work, is certainly an issue. I think Marinedeck's use of a link to a Java interpreter is a fantastic idea. However, there was one poster that couldn't get it to work. But at least we've got three options: Java, Frotz or a Windows executable. At least one of those has got to work for everybody.

Number (3) is tricky. Adventure games are supposed to be difficult. But the trouble here might just be unfamilarity with the text adventure interface. Basic verbs and command syntax, etc.

Although my game has a built-in tutorial for playing text adventures, sometimes, what you really need is an example. The most direct way to see an example is to browse a game transcript. For those of you who are unfamiliar with text adventures, this will give you a better feel for what it is like.

So in my next post, I've included a transcript of my Pandora Demo game. In the transcript, you can see what the game displays on the screen and what the player types on the keyboard. The keyboard input is always preceeded by a ">".

If the writing looks pretty good to you, kudos go to Aaron Conners. I essentially coded Chapter 11 from the Pandora Directive novel, and much of the text is directly quoted from the novel. So a lot of it is Aaron's writing. You will notice both differences and similarities to the same scene in the graphic game.

Also notice that several abbreviations are use in the keyboard input. "x" stands for examine, "l" stands for "look", "n" for north, and "i" for inventory, etc...

You can read the transcript like a book, but playing the game is like an interactive book. And you don't have to play it exactly like I did.

For a link to the Pandora Demo or to MarineDaelk's UAKM Demo, see Marinedalek's "Yet another text adventure attempt..." thread.

Anyway, here's the transcript (next post):
A hundred years ago, in Sam Spade's San Francisco, the Mission District was a rough part of town. 50 years ago, God-fearing folk stayed out of the area unless they were armed to the teeth. Now, even the police had stopped visiting.

Following up your lastest lead in searchof Dr. Malloy, you land your speeder outside the Mission District Post Office and get out.

Pandora Directive - Chapter 11

Type 'Help' for instructions.
A Text Adventure Demo
Release 0 / Serial number 050903 / Inform v6.21 Library 6/10

Outside the Post Office
The Post Office is in a buffer zone that surrounds the neighbourhood. Hookers, pimps, and pushers go about their business, but less colourful types are also out and about. The area is primarily residential, except for a neighbourhood market and a couple of seedy flesh shops.

You can see a paraplegic black man seated by the front door here.

>x black man
The old guy's age and tattered uniform tell you that this man is not a mutant, but probably lost his legs in action during the WWIII. He's seated in a chair and holding a cup, eyeing you carefully.

>x cup
The old guy's cup isn't for drinking, it's for dropping coins into.

>look in cup
In the cup are some coins.

>take coins
Those seem to belong to the paraplegic black man seated by the front door.

>talk to man
You turn toward the seated man and give him a polite, "Evening."

"You got that right," he replies and then "Hey Buddy, can you spare a fin?"

You ignore the man's request momentarily and pull out a pack of Lucky's. The old guy's eyes drift toward the smokes.

>show smokes to man
"You want one of these?" you ask, offering a smoke.

The man nods and holds out his hand. You oblige, take one yourself, and then do the honours. He holds the baby Lucky as if it were the stem of a crystal wine glass.

Yoy glance up at the post office, then back to the old man.

>ask him about the post office
Squatting down beside him you ask, "You spend a lot of time here?"

"Why? You want this spot?"

Whoa! Do you look that bad? Hell, you've got a tie on.

>ask him about the post office
"It's like every other post office, man."

>i
You are carrying:
a newspaper photo of Malloy
a plain brown wrapper
a wad of bills
a pack of Luckys

>x wrapper
It's the plain brown wrapper that Emily's puzzle box was mailed in.
The postmark has a code under the eagle symbol: PB METER 38874121.
That's how you traced the package to the Mission District Post Office.

>show the man the photo
You show Malloy's picture to the old guy, but he just ignores you.

>ask him about the photo
"I don't know anything about that."

>ask him about malloy
The old guy acts like he doesn't hear you.

>show him the money
"Look," you say to the old guy. "I don't want your spot. I was just wondering if you'd been here most of the time during the last three days."

The man takes a deep track of his cigarette. "Well, let me think. I get so busy, I lose track of the days... yeah, I've been here for at least three days."

You pull a twenty out and fondle it discretely. The man eyes the bill and then looks up at you, expectantly.

>ask him about malloy
"I'm looking for a friend of mine. Came here three or four days ago and mailed some packages. You think you'd remember his face?"

Looking at the bill again, the man replies, "For twenty bucks, I can remember anything you want."


>show him the money
"Ok," you say. "The twenty is yours if you can answer a few questions."

The old guy looks up at you, expectantly.

Now, while you've got his cooperation, you had better start asking some specific questions.

>ask him about malloy
"You got a picture or somethin'?"

>show him the picture
Showing him the picture of Malloy, you say to the old guy, "If you can help me, the twenty bucks is yours. I just need to know if my friend came by here." Looking at the picture, the man's face brightens.

"Sure, I've seen this guy. Old man. Moved real slow. Left me a ten-spot."

"Do you remember, did he come on the bus, in a speeder...?"

"No, I remember him 'cause I know most everyone in the vicinity. He caught my eye on account that I haven't seen him before. He was walking."

"Which way did he come from?"

The old man points north. "Came from there, and that's the way he went when he left. Probly from one o' them boarding houses up there."

>ask him about the boarding houses
"One last question." you ask. "You know of any boarding houses in the area?"

The man considered for a moment then motions northward. "Go up Valencia Street. They got three or four places like that up around there. Maybe a quarter mile, half mile from here."

>n
You start to leave but are stopped by a vice-like grip from the old man in the chair. "Hey man. You owe me some money."

>give him the money
You thank the old guy and leave him another smoke for later, along with the double sawbuck. He seems much obliged.

>n
You park your speeder on the corner of Valencia and 20th streets and proceeded to canvass the dark street on foot. What a difference a quarter mile makes! Most of the houses are old but cared for.

You pound the street for about an hour and a half and eventually come to a quaint little palace called the Garden House.

Garden House
The irresistable smell of fresh-baked chocolate-chip cookies streams through the open doorway. The light inside is warm and friendly, reminding you a lot like Grandma Murphy's house. Inside, a small, spry woman stands in the doorway next to a huge serving tray piled high with large, chewy looking cookies, straight from the oven. Apparently, she just set the cookies down to answer the door.
"Hello, there. What can I do for ya?"

You can see some chocolate chip cookies and an old lady here.

>x cookies
You can tell these cookies are fresh baked, first from the heavenly aroma, and then by the way they bend over one another in the pile.

>take a cookie
Ma Murphy didn't raise a son without manners. You'll have to wait until a cookie is offered you.

>x lady
She's the proprietor of the Garden House and obviously a nice, sweet old lady. Reminds you a little of your dear old Aunt Margaret.

>ask her about malloy
You are experienced enough at this sort of thing to know that you don't just jump in with the questions before softening the subject up a little bit.

Maybe you should talk to her, or try asking her about the Garden House.

>ask her about the garden house
You remove your fedora and smiled down at the sweet little old lady. "This is a wonderful place. Do you run it?"

"Yes, I do, thank you. Are you looking for a room?"

Your eyes glued to the cookies, you reply "Maybe. Are cookies included in the rent?"

The little woman smiles. "Please, help yourself."

You pick a fat one from the pile. It's a gooey, chocolatey piece of heaven.

Politely waiting for you to finish the cookie, she then asks, "So, what can I help you with?"

>ask her about malloy
You try to put on a look of concern. "It's my Uncle Thomas. We lost him last week."

The woman's face crinkled. "Oh, I'm so sorry."

"No, I mean we lost him ... as in... we can't find him."

The little landlady seemed relieved.

"He's getting on in years, and he's not all there, if you know what I mean. He lives alone and, every now and again, he just takes off. Sometimes he gets away for weeks before we find him and bring him home."

Shaking her head, she says "Oh, that's a shame...Umm, what does he look like?"

>show her the picture
(to the old lady)
You pull out the photograph of Malloy and hand it to her. "This is Uncle Thomas.A friend of mine saw him around this neighbourhood, so I'm checking out all boarding houses in the area."

The woman looks up at you, then back at the photo. She seems uncertain. "You say this is your Uncle Thomas?"

You nod. Yes ma'am. We're all worried sick about him."

"Well, I'm pretty sure this is the man who moved in last week, but he said his name was Todd. Todd Mallory."

>ask her about todd
(the old lady about that)
Instead of asking her more questions about Malloy (or this Todd Mallory character), you ought to first convince her that Malloy and Mallory are one in the the same person. Maybe you can tell her a little about Uncle Thomas.

>tell her about uncle thomas
(the old lady about that)
You smile reassuringly. "Like I said, he's only got the one oar left to row with. It's his... Murphy-Barr Syndrome."

"My goodness... he seemed so lucid, so friendly."

You nod again, sympathetically. "Yes, it's a strange illness. He usually appears normal. The only symptoms are an uncontrollable urge to relocate and, of course, compulsive lying. When Uncle Thomas has a relapse, it's like pulling teeth to get a straight answer out of him."

The landlady hands the photo back to you and shakes her head sadly. "It must be quite a trial for you."

"Well," fighting back crocodile tears you reply, "I know that respecting and caring for your elders is old-fashioned, but," letting the dam break, "it's a responsibility I take very seriously."

The old woman reaches up and pinches you on the cheek. "I wish you were my nephew."

"I wish you were my aunt. My real aunt buys her cookies at the grocery store."

She turns, motioning you you to follow her up the stairs and to the end of the hallway. Reaching the last door on the right, the landlady turns and knocks. She waits a few moments and knock again, but Malloy/Mallory doesn't appear to be in.

"He must have gone out. I can let you in the room to wait for him. Okey-dokey?"

Malloy's Room
The room is cosy, with only a small, but comfortable looking bed, a roll-top desk, and a dresser. The door you came in from is on the west wall, and what looks like a closet door is toward the south.

>open closet
It seems to be locked.

>x desk
(the roll top desk)
Wow. You'd kill for a roll top desk like this. Solid oak and a nice big drawer.

The roll top is closed.

>open desk
(the roll top desk)
You open the roll top desk, revealing some papers.

>x papers
The roll top is full of a bunch of papers. You search through all of them, but find nothing of interest.

>open the drawer
You open the desk drawer, revealing a notebook.

>read notebook
You try reading the notebook, but none of the symbols make any sense to you.

>x dresser
(the dresser)
I think they used to call this a bureau back in the old days. Essentially a large chest of drawers.

>x drawers
You don't see anything special about the dresser drawers.

>open drawers
You open the dresser drawers, revealing some personal items.

>x personal items
Searching through Malloy's personal items, you immediately discover something that is either very significant or completely meaningless: all of Malloy's socks are black. Other than that, you find nothing interesting.
>l

Malloy's Room
The room is cosy, with only a small, but comfortable looking bed, a roll-top desk, and a dresser. The door you came in from is on the west wall, and what looks like a closet door is toward the south.

>x bed
Brightly colored blankets cover an otherwise comfortable-looking bed.

>x blankets
The blankets and covers are casually thrown up over the bed and seem to be somewhat lumpy.

>look under blankets
You pull the blankets back to reveal a rumpled pair of trousers underneath.

>search trousers
On the trousers are some pockets.

>look in pockets
In the pockets is a folded piece of paper.

>take paper
Taken.

>read paper
It's a folded piece of pink paper.

Opening it up you see that it is a reciept from a local realty firm for a one month lease of storage property. An address is written at the top of the page: 54 Front Street. Down by the docks among mostly old, condemned buildings.

You know where Malloy is. But you haven't found all the items here yet. Keep looking.

>l

Malloy's Room
The room is cosy, with only a small, but comfortable looking bed, a roll-top desk, and a dresser. The door you came in from is on the west wall, and what looks like a closet door is toward the south.

On the bed are some trousers (on which are some pockets (which are empty)).

>look under the bed
You find nothing of interest.

>look in drawers
In the dresser drawers are some personal items.

>look in drawer
In the desk drawer is a notebook.

>x notebook
The notebook appears to be full of strange symbols. It looks like some kind of shorthand or something.

***

Congratulations. You have successfully completed the Pandora Directive Text Adventure Demo.

***


In that game you scored 0 out of a possible 0, in 54 turns.

Would you like to RESTART, RESTORE a saved game or QUIT?
woo! i completed the game. too bad i didn't get any points. ;-)
too bad i didn't get any points.
Sorry about that. I didn't implement any scoring in the demo, but it does give you a hearty Congratulations!

The demo was a test to see what kind of interest I could generate from die-hard TM fans with a TM text adventure. Unfortunately, the response was much too dismal (only two comments) to warrant the time and effort for an full game.
Dr. Paul, you're making me quite nostalgic about text games. I love 'em! They require so much imagination to play (not to mention create). The fact that they're so mental adds to the attraction.

But they're an enormous amount of work to create. You not only have to create the results for correct actions, but you have to be creative in how to handle incorrect actions. You also need to anticipate multitudes of possilbe user inputs, and how to handle them. A Herculean task.

I'd love to play a Tex Text Game. Maybe it could be a collaborative effort? However, I understand you discouragement because of the lack of response.

If it were a group project, maybe we could make it happen?
Never too late for coffee, never too early for beer.
Gary,
I greatly appreciate your comments. Also, your insight into what is involved in creating a good text adventure is right on. But it's not quite as difficult as you might suppose.

In fact, it would be quite easy, as you suggest, to build a good quality game with a group effort. I tried to get some interest in this, but failed. Maybe I'm just not a good recruiter.

I'm also not a very good writer of prose - way too many years writing nothing but technical papers I think. I was hoping to enlist JTOG to write us a story (because I love his writing style) and then get a group together to program it into a text adventure.

Text adventures are well-suited for a group effort. The game file is plain text, the compiler is freeware, and the language (Inform, for example) is object oriented. That means its quite natural to program the different parts, objects, locations, etc., separately. Plus, if we're all working from the same source text (JTOG's story, for instance) then style will be consistent.

We could create the entire virtual world in a matter of days requiring a minimal of programming skill. Then we could start adding the complexities like interactivity, puzzles and NPCs as our programming skills grow.

It seems like a no-brainer to me, but I got no takers when I brought this up a year ago. Maybe that's changed now.

Anyway, now for my rant:

Members of this board have been crying in their beer for years, wanting a new Tex Murphy game. Along comes my Pandora Demo. The only completely interactive Tex Game since Overseer. (Granted it's only a demo. But I spent at least two months, several hours a night programming it and wanted to test the waters before committing to a full-blown game.) And what did I get? Two replies. In a year's time, two people played it. And this is the same group that is dying for a new TM game? I gotta say, I was really disappointed with this group. Would I go as far to say that I was pissed? Yes.

So there! That's why I doubly appreciate your comments, Gary.

I'm glad I got this off my chest.
Just to demonstrate how easy it is for anybody that can write to make valuable contributions to a TM text adventure, I've posted a short example of code to describe a location. it is fairly easy to create a location in just about ten minutes. No real programming skill required!

Most everything is an 'Object' with a name, description, and optional properties and attributes. The "->" indicates levels of ownership. For instance, in the example below "cell" is top most. "walls", "bars" and "cot" belong to cell and "frame" and "canvas" belong to cot. 'static' means that the object can't be 'taken'. "scenery" means it can't be taken and also that it doesn't appear after the room description such as "You can also see a wall here."

Basically, all have to do is give the location a nice description, and also create descriptions and properties of any objects that are mentioned in the description. You can create several locations and connect them to each other via n_to, s_to, etc., which means north to, south to... In this way, you can easily create a whole self-contained world of fantastic places all linked together and filled with amazing objects.

Of course, you can get more sophisticated than this and create customized interactions and functionality. But that's a little more advanced and I first wanted to show that virtually anyone with some writing skills can make significant and valuable contributions to such a game, even if you've never programmed before.

Here's some sample code for a simple room:

Object cell "the cell"
with description"You have a bad feeling about this place. The walls, ceiling and floor appear to be featureless except for a slightly rough texture that reminds you of white-painted concrete. That is, except for the north wall, which is simply a series of iron bars.",
cant_go "A solid wall blocks you way in that direction.",
n_to "The bars are set too close together for you to squeeze between them.",
has static light;

Object -> walls "walls"
with name 'concrete''walls''wall',
description "As best you can tell, the walls are thick, solid, reinforced concrete with a layer of dingy white paint and years of dirt and dust.",
has scenery;

Object -> bars "bars"
with name 'iron''bars''bar',
description"The iron bars are about an inch thick and set vertically into the floor and ceiling at approximately 4 inch intervals.",
has pluralname scenery;

Object -> cot "cot'
with name 'cot',
description"Nothing fancy here. A simple, wood-framed cot with a tattered and slightly droopy canvas.",
before[;
Enter:"You lie down on the cot.";
],
has supporter enterable static;

Object ->-> frame "frame"
with name 'wood''frame',
description"The cot's wooden frame consists of two pairs of wooden sticks (one at the head, one at the foot,) each in the form an ~X~ bolted together at the center.",
before[;
Take: "You can't take the frame because it is attached to the cot.",
],
has scenery;

Object ->-> canvas "canvas"
with name 'canvas',
description"The canvas is obviously old and somewhat tattered, but it still appears to be strong enough to serve its function.",
before[;
Take: "The canvas is attached to the frame.";
],
has scenery;
Dr. Paul, you really are tempting me, luring me. I feel like a. . . like a . . .fish?.!. . . .

Object hook "the hook"
with description"You have a bad feeling about this thing. It waves temptingly before you, but something tells you to swim away.",
cant_go "A solid wall blocks you way in that direction. It's probably a dam",
n_to "The hook bars your way.",
has static line;

Object -> worm "worm"
description "As best you can tell, the worm is thick, solid, and inviting. You've been hungry for years.",

You're tempting me to say "sign me up! I'll join the writing crew!" But I'm afraid of the time commitment. Gee, a guy afraid of commitment. Go figure. :wink:
Never too late for coffee, never too early for beer.
On the subject of time committment with regard to writing a text adventure -

Time is perhaps the most valuable commodity in the universe. Not to be wasted. I could tell you some almost unbelievable, personal horror stories about time. But I digress. The thing is, no matter how busy you are, it is always a good idea to try and spend an hour or so a day or even every couple of days to do something unconnected to work. This is good for your own sanity and well-being, especially if you are overwhelmed with work. Nothing like a little honest diversion to keep your sanity and perspective.

We can't really begin until we get a script or a story. But even while the story is still being written, if the author sends us regular updates, we can start building the environments and connecting the world together. We could even cut-and-paste many of the location and object descriptions right from the original text. So this wouldn't require a large committement and would be a nice way to ease into the programming.

Also, because of the nature of object-oriented programming, if you have to quit, it's easy for someone else to retain what you've done and integrate it into the whole. We just need to keep track of all the objects and how they fit.

But this is all just talk until we get a story or someone who will volunteer to write one. If the latter, we can start creating the game world as the story is still being written. But I assume that the story writing would be at a relatively slow pace, so there would be very little pressure on the programming.