Ralph: a port-mortem

Lately, I’ve been thinking about the puzzles in my game Ralph. Since it has become common practice to write up a post-mortem analysis for Interactive Fiction Competition games after the Competition is over, I thought it might be acceptable to write one 30 years late, just to kind of publically sort my thoughts, which is part of what a post-mortem is for.

Firstly, for those of you who don’t know this kind of games: Ralph is a work of Interactive Fiction, or IF, and consists only of text without any graphics, as all Competition entries used to in the beginning. In this particular form of IF (again, this was the prevalent form in 1996), the game is played by typing commands that the protagonist should execute, like “take the teddy bear” or “bark” – it should be noted that you play a dog in this particular game.

Ralph made 12th place out of 26 in the IF Competititon 1996, and most reviews were generally favourable, though it was clearly too short and didn’t have anything memorable to say to give it a particularly high rating. Almost all reviewers liked the dog setting – but almost all reviewers disliked the puzzles, too. Both of these observations are still true for more recent reviews.

So let’s get to my analysis of the game. When I heard of the IF Competition I wanted to enter a game almost immediately, so I started to rack my brain about good and foremost original ideas. It struck me that no one had ever written a piece of IF with a dog as the protagonist, and everything else fell into place quickly after that realisation.

I didn’t set out to write a particularly short game, but since one of the rules of the Competition was that the game should be playable in under two hours (the judges were told: “At the end of 2 hours, you should stop and rank the game immediately”), I was careful not to make it too complex. I’ve heard some complaints that it was much too short – one reviewer claimed to have finished it in 20 minutes – but that didn’t really seem too big an issue. After all, how long it takes to finish a text game of that kind is up to the player to some extent, as there is nothing in the game that takes time on its own, and so reading and typing speed govern the minimum time needed to finish it.

Given that time limit, I thought that a handful of locations and 3–4 puzzles would be a good size. Compared to other games submitted to the Competition, that was probably a little too cautious, but it’s what I used as a guideline when designing it. The finished game has 7 locations, 2 NPCs (one fairly complex, one very simple), around 45 objects, most of which are just used for scenery descriptions, and a chain of 3 puzzles, each of which involves two distinct steps, that need to be solved in order.

The puzzles were meant to be simple exercises in trial and error, but most people didn’t agree with me, at least not for all of them. To be honest, when I looked at the game again recently, I didn’t agree with myself from 30 years ago either. I’m now going to spoil all the puzzles, so if you have any intention of playing the game the way it was intended to be played, you should do so before continuing here.

The first puzzle is getting the tennis ball, which comprises scaring the cat so that it flees in terror, and making sure the cat has no option other than to climb the tree. The first part is easy: if you are in the same location as the cat, almost any action involving him (it’s a male cat and referred to as “he” throughout the game) or barking scares him, which makes him run off in the right direction. If you are in front of the tree, there is also a bush, which the cat hides in when scared. He comes out after a while, but will flee back into it, so that’s where the second puzzle comes in. It involves putting a sheet of glass-fibre in front of the hole in the bush. I didn’t want to make this too fuzzy and blocked the “put in” action to force the player to express their idea a little clearer, for which I allowed several different phrasings: “put the sheet in front of/against/before/over the hole”, “lean the sheet on/onto/against/at the hole” or “cover/block/jam/bar the hole with the sheet” – it was my idea that any reasonable expression of the idea to use the sheet to cover the hole would be understood, but not stuffing it somehow into the hole. I honestly can’t say why I thought people would try to throw something into the hole, but my reasoning was that it should be made clear how the sheet blocked it.

Unfortunately, and quite understandably, many people tried just that, were discouraged by the generic response of the game, and went on to look for other possible solutions to the puzzle. At least two reviewers had to check the walkthrough, found “BLOCK HOLE WITH SHEET OF GLASS-FIBRE” and thought that this was the only phrasing the game accepted.

The second puzzle is getting Christopher Robin (a toddler who sits on the lawn) to open the gate to the herb garden. This involves giving him the ball, which will make him throw it to the northern lawn for Ralph, and then (by trial and error) figuring out that he will only wait for a couple of turns and then go look for the ball himself. Christopher Robin will continue playing until you manage to find out what to do: take the ball after he throws it and throw it over the fence of the herb garden yourself. Christopher Robin will start looking for it, and when he cannot find it, go into the garden. You can now freely enter the garden as well.

By the way, another thing that has been criticised about the game is the implied cruelty of Ralph’s living circumstances: apparently, his owners hate him, having provided him with a makeshift kennel, and reacting violently to his every misstep. I think that criticism is completely justified and don’t really have anything to say for myself. I faintly remember thinking that it would be funny if Ralph’s owners just completely ignored what their son or their dog were doing, and apparently that line of thinking led to them becoming self-centered bordering on loathsome. That absolutely didn’t happen on purpose, but I should have thought more thoroughly about how these descriptions would be perceived. I can assure you that I never treated our family dogs like that.

Also, it used to be normal to allow the player to do stupid things, like jump into a chasm, and then end the game with a death message. I fully leaned into that and added some choices that I would now consider rather unfortunate. It appears that nobody has found them so far, or I would surely have received much more severe complaints, so I won’t go into details, but if you happen to look at the source code you will find some possible actions that just shouldn’t be there.

The final puzzle is divided into two and a half parts: getting Carl’s (the father of the family) reading pipe, and making him go look for it, which involves two steps. You obtain the pipe by scratching at the entrance door to make Carl open it and lose his pipe. Then you have to realise that you cannot find the bone yourself by digging. This is handled poorly: there is no hint that digging at the place you buried your own bone is any different from digging in any other place, but it should at least produce a response explaining why.

The way to solve this puzzle is by digging in the garden, then hiding the pipe somewhere else, and then scratching at the door again to make Carl come out, see the garden, assume that you have buried his pipe there, and start digging there to find it, retrieving the bone instead in the process. I’m afraid this is all very convoluted and I can’t remember what my train of thought was to produce this puzzle. I think it would work with much better hints as results of your actions, e.g. barking, scratching at the door, looking at the pipe, digging holes, putting the pipe in a hole and so on, but not as it stands. There was definitely the fact of the deadline getting closer, but that doesn’t excuse the lack of effort in this last puzzle.

So, to summarise, while I think I achieved my main goal of creating a whimsy dog perspective – and yes, I was fully aware of the dichotomy of the instinct-driven dog world and the rather logic-driven puzzles, which was part of the attraction of the game to me – the puzzles were mostly not very well designed. I could still fix at least a large part of this, but I’d rather let it stand as a game from 1996: times have changed since then, and I’ve grown older, so of course it would be a different game today.

I did work on it for a few years after the competition, and have added a Glulx mode (with a possible, not-implemented-but-half-finished title screen) and a “dumb terminal” mode, as well as a couple of minor bug fixes. You can find it, with all previous versions and the unfinished title picture, on Codeberg. If you’re interested, there is also a title tune that was mainly an exercise in composing an 80s-style sitcom tune, but might have been used in the game if I had ever finished the title screen, here.

Finally, if you want to check some of the details above or just play the game, you can find the game file in the IF Archive and a version playable in the browser on its IFDB page (see the link at the top of this article).