IFComp 2021: Andy Joel’s “The House on Highfield Lane”
This is a review of a game entered into IFComp 2021, the twenty-seventh annual interactive fiction competition. This year, there are 71 games in the Comp, all free to play. There’s some good stuff in there this year! Anyone is welcome to play and vote on the entries during the Comp period, and you need vote on only five games by the middle of November for your votes to count toward the games’ overall scores!
As is my wont when writing IFComp reviews, I shamelessly steal Jacqueline Ashwell’s rubric for scoring, because, well, it’s thoughtful and fair.
This review, like all of my reviews, is potentially spoilery. You may want to avoid reading it until after you’ve played the game. That’s up to you.
I tried hard to get into this and just couldn't, even over a period of a few days.
There's nothing directly wrong with it -- it's a competently implemented game. More, it's a competently implemented system, because this game is written by the current maintainer of the Quest system, and shows off the new version of Quest, QuestJS, which runs entirely in the browser. Running a parser IF interpreter entirely using JavaScript in a browser is no small thing, and showing it off with a competent game isn't a small thing either.
But I just couldn't get into it. The plot is thin: coming home from school one day, you find a letter on the street, right outside a house you pass every day, the house that has always seemed weird and interesting and creepy. Strangely, it's addressed to someone in the house outside of which you've found it lying on the street, so instead of leaving it where it is, or on the porch, or putting it back in the mailbox, you decide to go in and deliver it. The door slams behind you and can't be opened again. You'll have to explore.
I wandered the house, finding 26 rooms (not counting the two out front) and interacting with various things, and everything seemed to work fine. But there's no real narrative, and not much character-building for the protagonist, 15-year-old Mandy, whose voice is interesting when it comes through. (But that doesn't happen often enough, and the effect is muted by the fact that she's referred to in the third person. At least one other reviewer has commented positively on this rather unusual choice, saying essentially that it helps effect the surreal story's defamiliarization; but I found it off-putting to be distanced from the protagonist in this way.) The rooms have their puzzles, some of which I solved quickly and some of which I moved on without solving, thinking I'd come back to them. I never did: none of them motivated me to come back and take another whack at them. I am not sure what the telescope is intended to do (though I tried all 64 positioning combinations, nothing resulted), nor what information I'm supposed to get out of the tiny resident of the dollhouse before the balloon touches the floor and resets the room. I managed to find the boots behind the dresser in the giant parlor but have no idea what to do with them. I noticed that the number of mannequins in the dining room keeps increasing but have no idea how to respond to that, or even if it's something I should respond to. There's just no narrative explanation tied to any of the puzzles, nor is there any kind of coherence between the puzzles themselves that I can see. It seems to be a grab bag with a thin veneer of plot over it. That's not bad in itself, but neither does it keep my interest while I'm typing expansions on turn left wheel left. look through telescope. turn left wheel left. look through telescope. turn left wheel left. turn right wheel left. look through telescope over and over.
Putting the Quest interpreter into JavaScript and running it from the browser is a step forward for Quest, I think: it frees Quest from its historical Windows-only limitation and makes it available to anyone with a browser. (This might be the first time I've played a Quest game in the Comp for exactly that reason.) But it's exchanging one set of constraints for another: it's then locked into the limitations of the browser's ecosystem in much the same way that it used to be locked into the problems of the Windows environment. The most immediately noticeable issue for me was transcripting: transcripts are kept by the browser and have to be manually downloaded. And they're produced in HTML, not plain-text, format. In some ways, this is good: if the game uses text styling, that's preserved, whereas, in the past, you just had to make your peace with the fact that there was no way to preserve it. That's a step forward. But there are downsides, too: the transcripting comments are nonstandard; transcripts are apparently lost after play, and when restarting; the transcript isn't written continuously to a file (which rules out the possibility of auto mapping during play with a tool like Trizbort; of course, mandatory HTML formatting in the transcript contributes to that problem, too); you have to remember to save a transcript manually . All of that is kind of awkward (and yet it's the best possible way to deal with the constraints imposed by the browser environment). Too, games are inextricably tied to the browser they're started in; it's effectively impossible to keep your saved game while changing interpreters (browsers, in this case). It also means that they're part of the browser's information ontology, with all of the problems that implies: you can lose your saved games by clearing saved browser information.
Well, all of these are inherent limitations that apply if you choose to play in a contemporary browser, and QuestJS handles them in basically the same way that Adventuron does, after all. But all of them are awkward, and encountering them always makes me wish I just had a copy of the game that I could play in a standard interpreter. A standard interpreter is an abstraction layer, too, like the browser is; but a browser is a general-purpose abstraction layer for many types of content, but a standard console-based interpreter has the advantage of having been designed for parser IF in the way that the browser was not, so it solves these problems better, or at least in ways that I'm used to.
There's the additional annoyance of the fact that the browser is poor at keeping the keyboard focus in the input pane when switching between the browser and another application. This made it painful to map manually in another window while playing: switching windows to draw in the map canvas running in another application meant that the input field didn't have focus any more, so I had to take my hands off of the keyboard again and reach back over for the mouse, drag it, and click it in the input pane. This sounds a small thing but becomes annoying after the first hundred or so times you have to do it. (I will say that, from this perspective, Adventuron definitely does a better job of keeping keyboard focus where it should be than QuestJS does, at least on Firefox.)
Beyond the minor annoyances, though, it was fairly sparse and quit object-oriented. Almost all map connections are in cardinal directions. The location text and many of the object descriptions are well-written but you wish the text had more randomized variations (say, when trying all 64 possible viewing positions for the telescope). There were few objects in rooms and some scenery that was mentioned didn't actually exist. The situations were charming but I needed some more narrative coherence for why there was a giant room and a tiny man in a dollhouse and a reanimation laboratory and a balloon that resets the room and a game map that's apparently a spiral inscribed on a sphere? (Am I reading my own map right?) It's possible that there are some interesting answers to these questions, but there was nothing directly drawing me into a story: the story was just not present enough while I was exploring.
I'd gladly play it through with a walkthrough or hints, but I just wasn't engaged enough with this one to push through the puzzles I didn't solve immediately.
My score: 5/10
(These comments apply to the 7 October 2021 release of The House on Highfield Lane.)








