THE MYSTERY OF THE SANTA MARIA
RSS
← Devlog
v0.43.16 · interface · design · verbs · LucasArts

A tribute that took up too much room

The game's new command grid: six green buttons on black, laid out in two rows of three, labelled in Italian — GUARDA, PRENDI, USA on top; APRI, PARLA, DAI below — with the shortcut letters in the corners and 0/6 BLOCCATI in the top right

Hi everyone. I’m starting this devlog in an unusual, direct way, because this small chapter matters too much to skip the explanation. I can’t just tell you what got done without saying why.

We’ve talked about Il Relitto Silente somewhere before, haven’t we? Well, that one was an experiment of mine — some would call it a waste of time — a tribute to the terminal text adventures of the eighties, which were part of my technical childhood and not only that. I had a lot of fun building that model of a game, that display style out of the IBM in my father’s office. But mostly I wanted to find out whether modern LLMs, pointed in the right direction, could be used to build a serious, well-structured text command parser. And let’s start by saying that those weren’t today’s LLMs, because today… today. They were more of a today… yesterday, let’s say.

Anyway, some people played it. We did a live stream on Pixel Debh’s channel, Prof Boselli has it on his channel Mille e una avventura, and a few thoughts came out of all that. It wasn’t that I meant to carry on with text adventures, but I had understood that growing into interactive stories could be a focus within my reach.

So: the same way I had thought of a concept of a game before the game itself with Relitto, the same thing happened with the Santa Maria. First I designed an interface, and I asked myself: if one day I made another text adventure and wanted to drop the keyboard commands, which way could I go? An ideal model came out of that. And out of that, The Mystery of the Santa Maria.

I was explicitly following the Lucasfilm Games and LucasArts model, meaning the classic nine verbs we’ve seen in so many graphic adventures of the nineties, and well beyond that, right up to today if we’re honest. Except that the closer the game got to what it is now, the more I realised those nine verbs — put there to make life easier for players — had turned into decoration rather than function. Out of the nine, in the end, the game uses four. Five at most.

So I put the question to myself, and I put it to a lot of you too: keep the tribute and leave useless things on screen, which don’t just distract but waste your time, or cut the verbs down to the ones actually used?

A lot of your answers were conservative, and honestly I expected that. But much as I understood the reasons of the people who wanted the nine verbs, I also told myself that keeping all of them wasn’t merely an aesthetic indulgence: it was a design mistake. An amateurish move, and a sign of poor professional judgement.

So I found a compromise.

— Simone


Six, and every one of them does something

The compromise is six verbs instead of nine, in two rows of three: LOOK, TAKE and USE on top; OPEN, TALK and GIVE below. CLOSE, PULL and PUSH are out.

The game is still Italian only, so on screen — and in the picture above — those six read GUARDA, PRENDI, USA, APRI, PARLA and DAI. They’re given in English here so the rest of this makes sense.

The deal is that each of the six makes something happen at least once in the game. That wasn’t true before. Counting the actions that genuinely change the state of the game, USE accounted for thirty of them, TAKE seven, LOOK four, OPEN and PULL two each. The other four: zero. Four buttons out of nine that, whatever the player pointed them at, could not change a thing.

The keyboard shortcuts of the six that stayed haven’t moved by a single key. Anyone who played the test builds has nothing to relearn about what’s still there.

First you move, then you cut

Deleting is the easy part. What cost the work were the three things moved before anything got deleted.

The dialogues go to TALK. There are three people you speak to in the game, and you always do it from the long range comms unit: Yusuf, Akkaya and inspector Berg, including the attempt with her that runs into a wall. Until yesterday that channel opened with USE. Now it opens with TALK, which is the verb that describes what you’re doing. The rule that falls out of it fits in one line: you talk to people, you use machines. The game’s two terminals, the ship’s archive and the frequency panel, stay on USE because they are machines.

The lever in the ending goes to USE. The airlock’s outer hatch opens on three confirmations in sequence: a mechanical key, an override code, a physical lever. The first two were given with USE, the third with PULL. Now all three confirmations are given the same way, which is how they should have been from the start.

Berg’s forms go to GIVE, and that’s the best of the three, because it wasn’t invented: it was already there. In the whole game William hands one single thing to another person, and it’s the compliance form the inspector asks him for to close the ship’s file. And the line that target already gave to GIVE read: “I file the compliance forms myself, when I’m ready.” That was never the refusal of a wrong verb. It was the refusal of a wrong moment. It was already saying that giving those forms is the right thing to do, just not yet.

The loneliest verb, in a game about a man on his own, had had its recipient all along. You only had to look.

The verb that went out over a misread line

PUSH was supposed to stay. The working notes had said for a week that it had a natural target — pushing the crates of warheads once you have the pallet truck — and the evidence was a line from the game, quoted word for word: “They’re too heavy to shift without the pallet truck.”

The line exists. It just isn’t about those crates.

It sits on the dismantled pallets in the hold, meaning the empty packaging waiting to be scrapped, and it sits in a different room from the one where the crates actually are. The real crates, the sealed ones in the blind compartment, answer PUSH with something else: “They weigh twice what they look like.” A good line, but it doesn’t suggest anything to do.

So there was no clean move available. There was a new puzzle to invent, or a verb that moves nothing to leave sitting in the grid — which is the same defect we were closing, in miniature. PUSH went out, and the sixth slot went to GIVE.

A quotation can be exact word for word and still point at the wrong place.

The safety net you don’t see

There’s one thing the player will never run into, and it’s the decision that took the longest of all.

On the comms unit and on Berg’s terminal, USE still works. It isn’t a shortcut left in out of laziness: it’s the very same function, called by two different buttons. Press TALK and something happens; press USE and the same thing happens, once.

The reason is blunt. Filing Berg’s forms isn’t a narrative detail: it’s the action that arms the ending. A player who doesn’t file them never sees the credits, and there is no other route. Putting the one action that closes the game behind a verb that had never moved anything until that point would have been elegant on paper and cruel in a real person’s hands.

So the right verb is the one written everywhere: in the walkthrough, in the notes to the testers, in all the documentation. The other one works and is written nowhere. It’s a net, not a road.

A hundred and seventy-three lines

Here’s the price, and it deserves to be stated in full.

Every target in the game had a hand-written response for all nine verbs. Fifty-seven for CLOSE, fifty-eight for PUSH, fifty-eight for PULL. A hundred and seventy-three lines that somebody wrote one at a time, and that went through the whole text revision campaign of these past weeks.

Nearly all of them are gone. The game’s body of text dropped from 760 sentences to 570.

They didn’t go because they were bad. They went because the grid has to tell the truth about itself: if a button is there, it has to be able to change something. They stay in the project’s history, and some of those lines deserve to come back somewhere else, inside a LOOK. “It’s been there longer than I have,” to name one, which the life support panel used to say to anyone who tried to pull it. That’ll be a job for another time.

How you check something like this

Twenty-three separate steps, one at a time, each of which has to stand on its own. First the three moves, with the old verbs still in place and everything reversible. Then the grid. Then the pruning, one room at a time. And last, on purpose, the line that tells the program which verbs exist.

That last step is the real safety net. As long as the game believes there are nine verbs, an oversight stays invisible: it’s just a button you can’t see any more, with all of its code intact behind it. The moment you tell it there are six, any leftover in any corner turns into an error that lights up by itself. Not one lit up, on the first attempt, after a hundred and seventy-three deletions scattered across ten files.

Then there are the checks no automated tool can do for you. The most important one was about the lever in the ending: during the transition both verbs sat on the same command, and we had to be sure they couldn’t fire it twice. A double trigger in there would have taken two days off the inspection countdown instead of one, and it’s the kind of mistake you find out about after a build has shipped. We didn’t work it out from the code. We watched the counter at the top of the screen. Thirty before. USE on the lever, twenty-nine. PULL straight after, on the same lever, twenty-nine.

What’s left

The longest thing is left: replaying the whole game, from the opening to the credits, on the real package. The critical path now runs through TALK at the start and GIVE at the end, and there is no automated check that can stand in for a person playing it end to end.

That’s tomorrow’s work. Until it’s done, the walkthrough — already rewritten with the new verbs — is a forecast and not a transcript.


To everyone who told us to keep the nine verbs: you were right about the affection, and we hope you can see that none of it was thrown away. The grid is still that grid, the shape is still that shape, the letters on the buttons are the ones you already know. One row is missing. There was nothing under that row.

What we’re trying to do, line after line, is make this the best game this story can become. Sometimes that means adding. Sometimes, like today, it means taking away and finding that what’s left breathes better.

See you all on the other side, with the ship taken apart.