Let's Play: Trinity by Brian Moriarty

I should probably go through the feelies properly, so that I’m prepared for the copy-protection system! Maybe it’s described in there.

Would that be “carpe diem”?

I’m drawing a blank on this one. Any takers?

2 Likes

[The ship executes the manoeuvre]
FORD: Where did you learn a stunt like that Trillian?
TRILLIAN: Going ‘round Hyde Park Corner on a moped.

4 Likes

I looked up the literary reference to which @blackmyron alluded and discovered that Trinity is mentioned in the Wikipedia article about Kensington Gardens. It says it describes the Gardens “in moderate detail”.

3 Likes

While Hitchhiker’s is apt for the game for obvious reasons, I was thinking more of a classic British character (referenced in the booklet that came with the game)
As for the saying - it’s something more commonly associated with the subject matter.

1 Like

Wasn’t there a Peter Pan sequel that takes place in Kensington Gardens?

3 Likes

Now that the ECTOCOMP judging is over, let’s get back into this!

First, a clarification from a British friend:

I’ve been told, no, to be authentic to Kensington Gardens the grass should have a more working-class accent. Moriarty, as an American, probably just didn’t recognize the accents well enough to describe them accurately.

Anyway. Each location here seems to have one thing we can interact with (apart from the starting location). The paper bird, soccer ball, gnomon, and pram we took. Which leaves the grass, the bubble boy, the umbrella, and the hungry birds.

Let’s try that umbrella first. Given that we only have a few things we can interact with, there aren’t a lot of options to try.

>hit tree
The tree moves ever so slightly, the umbrella not at all.

Hm. Well, we have a soccer ball. (Sorry, “football”. We’re in England here, gotta blend in and act like a local. If the natives recognize we’re a tourist they’re going to rob us blind!)

>throw ball at tree
The soccer ball tumbles out of the tree and lands at your feet.

That’s a custom response! Normally, throwing something just says “Thrown.” and drops it on the ground. So…

>get ball
You pick up the soccer ball.

>throw ball at umbrella
The soccer ball lodges itself in the tree beside the umbrella.

The umbrella teeters uncertainly for a moment, then tumbles out of the tree and lands at your feet.

Aha! I didn’t really expect that to work, given that there’s such a strong wind, but it seems we have a strong throwing arm.

>get umbrella
As you pick up the umbrella and smooth the wrinkles, you notice a touristy slogan printed around the outside: “All prams lead to the Kensington Gardens.”

[Your score just went up by 5 points. The total is now 15 out of 100.]

Well that’s a very direct hint!

(Also, we can get the soccer ball back by throwing the umbrella at it. We might need to come back and do that at some point.)

We can push the pram over to the Lancaster Walk, and…

>get in pram
With great difficulty, and much to the amusement of passersby, you jam yourself into the unfortunate perambulator.

>open umbrella
The east wind fills the umbrella the moment you open it. You and your perambulator are blown helplessly westward past the Round Pond to the Broad Walk, where you careen into the statue of Queen Victoria and tumble out of the perambulator.

Painfully, you regain your footing and snap the umbrella shut.

Broad Walk

A brooding statue of Queen Victoria faces east, where the waters of the Round Pond sparkle in the afternoon sun. Your eyes follow the crowded Broad Walk north and south until its borders are lost amid the bustle of perambulators. Small paths curve northeast and southeast, between the trees.

An aged woman is selling crumbs nearby.

There’s a perambulator here.

Oh. Right. The wind is from the east, which means it’s going to send us to the west.

The paper bird says something happens at 4:00; maybe that’s when the wind changes?

Now we’re back here:

>ask woman about birds
“'Ave ye ever seen such beauties? So loyal. And so, so hungry.”

Let’s do what the song says and feed the birds!

>feed birds
[with the bag of crumbs]

You take a handful of crumbs out of the bag. They fall between your fingers and tumble across the ground.

As the wild birds gobble down the crumbs, a glint of red catches your eye. Frowning, you stoop down for a closer look… and gasp with astonishment!

The ruby at your feet is bigger than a walnut, with finely cut facets that sparkle with crimson fire. It must have been in the bag of crumbs.

“Thirty p for the starving birds!” hollers the bird woman.

Huh??

>ask woman about ruby
The bird woman peers at you closely. “'Ave ye seen one?” she whispers. “Wouldn’t let it out o’ my sight if I was you.”

All at once a very large bird races out from behind a tree. It snatches away the ruby with its beak, zigzags through a group of tourists and disappears to the east. If you didn’t know better, you’d swear that bird was a roadrunner.

“It’s time!” shrieks the bird woman.

The east wind softens to a whisper and dies away.

Blowing leaves settle to the ground, and the trees are still. Then a fresh gust blows in from the west.

Huh?!

>ask woman about ruby
The bird woman gives you a sad smile. “Not to worry, dear,” she sighs. “Ye’ll get it back by and by.”

>ask woman about roadrunner
The bird woman giggles. “Fast, ain’t he?”

Well, we have a wind from the west now! LET’S DO THIS!

>get in pram
With great difficulty, and much to the amusement of passersby, you jam yourself into the unfortunate perambulator.

“Thirty p!”

>open umbrella
The west wind fills the umbrella the moment you open it. You and your perambulator are blown helplessly eastward past the Round Pond to the Lancaster Walk, where you roll onto the grass.

You zoom down a long slope, barely missing several trees and boulders. Peering over the top of the perambulator, you see the Long Water coming closer and closer. Unable to stop, and too stupid to let go of the umbrella, you bravely close your eyes and pinch your nose shut.

Crash!

(Where an Inform game would wait for any key, Trinity just prints a whole ton of line breaks, so you have to scroll down for the next bit.)

Long Water

You’re on a shady path that winds along the western shore of the Long Water. Looking south, you can see the graceful arch of a bridge, and beyond it the cool expanse of the river Serpentine.

A charming statue stands nearby.

You see a gnomon, a bag of crumbs, a small coin, a piece of paper, a credit card and a broken perambulator here.

Painfully, you regain your footing and snap the umbrella shut.

>get all
The gnomon: Taken.
The bag of crumbs: Taken.
The small coin: Taken.
The piece of paper: Taken.
The credit card: Taken.
The broken perambulator: The broken perambulator topples over on its side again. It’s quite useless.

Hopefully there wasn’t a baby in there…

>x statue
The statue portrays a carefree little boy playing a set of pipes.

Ah, so that’s the other literary character people were referencing: Peter Pan.

statue of Peter Pan

The west wind is still. Everything is very quiet.

What time is it?

>x watch
Your wristwatch says it’s 3:59:45 pm.

(That’s odd. The “seconds” display has stopped working.)

A gleam overhead catches your eye.

Oh, dear. A missile is hanging motionless in the sky.

What?!

>x missile
The missile isn’t completely motionless. It’s falling very, very slowly towards the Long Water.

Your eyes follow the missile’s trajectory downward, where you notice another peculiar phenomenon. It looks like a white door, suspended just above the surface of the water.

A flock of ravens glides into view! They circle over the Long Water and disappear through the open white door.

The missile continues its slow descent.

Over the water? So that’s to the east of us!

>e
You wade into the cool, dark water.

Wading

You’re standing knee-deep in the Long Water, not far from the western shore. Looking east, you can see a white door hovering just above the surface.

Swans and ducks paddle through the open white door, vanishing without a trace.

The missile is only a few dozen yards above the door.

The following text didn’t display in the game for me, so I had to pull it from the transcript:

>e
As you wade to the threshold a familiar roadrunner flutters past. The ruby in its beak gleams enticingly as it slips through the white door.

All color abruptly drains from the landscape. Trees, sky and sun flatten into a spherical shell, with you at the very center. A hissing in your ears becomes a rumble, then a roar as the walls of the shell collapse inward, faster and faster.

“This way, please.”

You turn, but see no one.

“This way,” the voice urges. “Be quick.”

The space around you articulates. “No!” your mind shudders. “That’s not a direction!”

“It’s a perfectly legitimate direction,” retorts the voice with cold amusement. “Now come along.”

You step out of the white door.

Meadow

You’ve discovered a golden meadow, bordered on every side by a dense forest. The air is filled with dragonflies, and the wood echoes with the cry of mourning doves.

The door you just stepped from opens into a toadstool of impossible size. Its broad crown towers over your head like a fleshy umbrella.

A triangular shadow inches across the ground. Its sharp point is sweeping across the toadstool.

The shadow creeps away from the toadstool, and the door in the stem swings shut with a faint creak. You stare in wonder as the door shimmers and fades from view.

…WHAT?!

02.sav (1.2 KB)
02.txt (15.0 KB)

10 Likes

Next time, we’ll start exploring the area around the Meadow. But first, I couldn’t resist waiting to see what happens if you don’t escape before the missile hits.

>z
Time passes.

Swans and ducks paddle through the open white door, vanishing without a trace.

The missile is only a few dozen yards above the door.

>z
Time passes.

A log is being pushed across the Long Water by a pair of mallards. Its surface is crowded with squirrels, chipmunks and other inhabitants of the Kensington Gardens, including the roadrunner you met before. The ruby in its beak gleams enticingly as the log sails through the white door.

The missile is closing in fast.

>z
Time passes.

The missile’s nose nudges into the white door. Then a searing glare envelops the Long Water, and you discover what it feels like to be vaporized in extreme slow motion.

A bunch of line breaks again…

The River

You’re on a lifeless strip of sand beside a great river. The water is unnaturally dark and still; ribbons of mist coil across its surface like ghostly fingers, obscuring what lies beyond.

As you peer across the river you notice a lone vessel gliding out of the fog. You can make out a dark oarsman at the stern.

The oarsman guides his dory to a soundless landing. Something in the way he crooks his skeletal finger compels you to board. You surrender a silver coin you didn’t know you had, take a seat and wait patiently for your first glimpse of the opposite shore.

[Your score is 15 points out of 100, in 93 moves. This gives you the rank of Explorer.]

Do you want to restart the story, restore a saved position, or quit?

[Type RESTART, RESTORE or QUIT.] >

Also, a note: this game doesn’t have an UNDO command. (Or rather, it does, but it’s an in-game verb, as in UNDO KNOTS.) So I’ve been using Gargoyle’s /undo feature, which doesn’t print anything to the transcript. If you see a weird discontinuity in the transcripts, that’s where I used /undo a few times.

10 Likes

I think it’s also worth trying that before crossing the grass. The bird woman’s reactions struck me as particularly sad. And, with the caveat that I’m not a native English speaker, I found the conclusion very effective and quite chilling. Even though it’s just a single sentence. (That’s not a spoiler, I just don’t want to taint your impression of it.)

And for a nice little Easter egg, that bird woman sure seems to know a lot. Have you tried asking the bird woman about Trinity? (You can get the same result by using the $CREDITS command.)

4 Likes

Good thought! Anyone else have things I should ask the bird woman about? (I believe the 01.sav file puts you right next to her.)

3 Likes

She knows about a lot, but doesn’t say much of interest really. A quick glance at the source code suggests that these are the topics she will reply to. Sometimes only if she can see the object you’re asking about:

  • Trinity (different response if your screen is too narrow)

  • Time

  • The wristwatch

  • The ruby (different response before and after you see it)

  • The roadrunner (different response before and after you see it)

  • London

  • The soccer ball

  • The round pond

  • The statue of Queen Victoria

  • The bag of crumbs

  • The gnomon

  • The pigeons

  • The small coin

  • The credit card

  • The pram

  • The boy

  • The paper crane

  • The piece of paper

  • The umbrella

  • (The only actual spoiler) The corpse

Did I miss any?

3 Likes

Amusingly I had to edit my Gargoyle config to make the starting screen size slightly wider; I always play with the window maximized, but Trinity seems to only check the size once (on startup) and then sticks with that size forevermore, so having it open at 60 columns wide and then get maximized wouldn’t work. So I’m curious how they expect to ever have too narrow a screen by that point!

2 Likes

It sets a MIDSCREEN variable at startup, but a few routines check the size again separately from that. $CREDITS is one of those.

4 Likes

It does check the screen size on startup to make sure that it’s at least 62 columns:

<ROUTINE GO ()
	 <SETG MIDSCREEN </ <GETB 0 33> 2>>
	 <INC MIDSCREEN>
	 <COND (<L? ,MIDSCREEN 32>
		<CRLF>
		<TOO-NARROW>
		<QUIT>)>

At least, I believe <GETB 0 33> gets the current screen width. When asking the woman about Trinity, it then checks again if the screen is at least 79 columns:

	 <COND (<EQUAL? .OBJ ,GTRINITY ,PLUTONIUM>
		<COND (<L? <GETB 0 33> 79>
		       <TELL CTHE ,BWOMAN " just smiles." CR>
		       <RTRUE>)>
		<V-$CREDITS>
		<RTRUE>)

So it should check what the current screen size is, but maybe Gargoyle didn’t update that information when the window was maximized?

5 Likes

Aha! The behavior I noticed was from the status line—it uses MIDSCREEN to center the room name, which doesn’t get updated later. But it looks like things other than the status line use the header byte instead of checking MIDSCREEN.

4 Likes

The game code seems to just print 23 carriage returns here and expects this to cause the interpreter to pause with a [More] prompt until a key is pressed. This does not work in any Glk based interpreter I’ve tried. They will immediately continue to the next instruction, which clears the entire screen:

	 <CARRIAGE-RETURNS>
	 <CLEAR -1>

I’ve reported an issue at the Gargoyle Github repository about this.

4 Likes

Yeah, I’d expect any modern UI-toolkit interpreter to have trouble with this case. (Print a bunch of blank lines then immediately clear the window – the printed text never makes it as far as the “do we need to MORE?” display layer.)

I agree that it needs a special case in the interpreter. Trinity-specific unless some other game does this.

6 Likes

Beyond Zork’s ENDING appears to.

3 Likes

In the original Infocom interpreters, printing a lot of blank lines would create a cool “cinematic” effect where text slowly scrolled upwards off-screen. Combining this with a “hard-coded” wait for a keypress would have risked (if the line count was off) creating an annoying situation where the player got a [More] prompt which was then immediately followed by a second prompt for a keypress. This is probably why it was done in this way.

3 Likes

Now, for some experimentation!

First, if you ask the woman about TRINITY:

This is the only documented way to see the game’s credits! (The other way is “$CREDITS” which nobody would guess.)

Side note: this is all printed using the status line, via the same trick that makes the box quotes work. I’m guessing Moriarty was especially proud of it. (But that’s why you won’t see it in the transcript.)

Most of the ASK WOMAN ABOUT… responses don’t say much, but here are a few:

>ask woman about gnomon
“A lovely bit o’ metal! And so useful. Hold onto it, ducky,” replies the bird woman.

>ask woman about time
The bird woman sighs. “Time.”

Now we can sit and watch with her until the world ends.

>x watch
Your wristwatch says it’s 3:57:45 pm.

A steady drone begins to rise above the east wind. As it grows louder and more insistent, you recognize a sound you’ve heard only in old war movies. Air-raid sirens.

>x watch
Your wristwatch says it’s 3:58:00 pm.

Another siren joins the first. Tourists search the sky, eyes wide with apprehension.

“Sirens! The sirens!”

>x watch
Your wristwatch says it’s 3:58:15 pm.

Sirens are howling all around you. Children, sensing fear in the air, begin to whimper for their nannies.

>x watch
Your wristwatch says it’s 3:58:30 pm.

Confused shouts can be heard in the distance. Worried nannies turn their perambulators toward the gates.

>x watch
Your wristwatch says it’s 3:58:45 pm.

Police and fire alarms join in the rising din as the crowd rushes to escape the open sky of the Gardens.

“Lord, have mercy!”

>x watch
Your wristwatch says it’s 3:59:00 pm.

Distant megaphones can be heard barking orders. Frightened tourists and screaming perambulators flee in every direction.

>x watch
Your wristwatch says it’s 3:59:15 pm.

A round of gunfire drowns out the wailing sirens. Tourists cover their heads and trample one another in blind panic.

“What to do, what to do!”

>x watch
Your wristwatch says it’s 3:59:30 pm.

The ground trembles with the roar of jet interceptors. Terror-stricken tourists dive for cover.

>x watch
Your wristwatch says it’s 3:59:45 pm.

The east wind falls silent, and a new star flashes to life over the doomed city.

02b.txt (6.7 KB)

9 Likes

This is the kind of language that makes people respect Trinity.

10 Likes