IFComp 2016: Stone Harbor

Spoilers follow the break.

The premise: A New Jersey boardwalk fortune teller named Frank Pietro gets involved with a murder investigation when he unexpectedly experiences psychic powers for real. This story quickly establishes a pattern: in every chapter, you come into contact with an object that triggers a vision of past events, filling in a little more about what happened. In a very nice touch, Frank perceives the trigger objects as, in some unfathomable way, having emotions. For example, cigar cutter found at the crime scene is described as “frustrated”, because the victim was interrupted just before using it. When other objects are described as furious or terrified, it sets the tone for what you’re about to see.

It must be said: This piece is very light on interactivity. Maybe once or twice per chapter, you get a choice of three things to pay attention to, usually as a focus for Frank’s cold-reading skills. This never seems to have any consequences beyond the current paragraph. There’s also a repeated gimmick of critical-path hyperlinks that change a couple of times when you click on them, clarifying or intensifying a description, as a way to evoke the act of scrutiny. But unless there’s something subtle that I didn’t notice, that’s about it as far as taking advantage of Twine. 1ADDED 9 Oct 2016: Stone Harbor is not written in Twine. My apologies. I was confused. The rest is just clicking to advance through pages of text, and that’s where I usually start to lose patience in choice-based IF. But here, the story is well-written enough to keep me interested.

It’s been said that a good mystery isn’t really about crime or deduction, but about people, and the friction between them. So it is here. And, as in a lot of classic noir, the friction has a lot to do with social class gradients. The victim’s family, the Healys, is old money that’s made some very bad decisions and gotten mixed up with the mob. Their desperation to preserve their status emphasizes the lack thereof on the part of our two-bit fraud of a hero, and how he’s a better person than most of them regardless. But ultimately, this is a community where everyone’s connected. Frank went to high school with the people who owe the Healys gambling debts. And it’s those personal connections that make the story shine. I think my favorite moment was when Frank visits Whitby, the detective on the case, at her home, and is momentarily weirded out by meeting her boyfriend and seeing her in casual clothes — in short, suddenly dealing with her as a human being instead of as a cop.

And I guess that’s what makes you the good guy in a murder mystery. Murder is a denial of another person’s humanity, a rejection of empathy. Frank is so empathetic, he even feels the emotions of inanimate objects.

1 ADDED 9 Oct 2016: Stone Harbor is not written in Twine. My apologies. I was confused.

4 Comments so far

  1. furkle on 9 Oct 2016

    for the record, i spent about half an hour inspecting the DOM of stone harbor and i’m nearly certain it’s not made in twine. it doesn’t look like ink or choicescript or raconteur/undum either, so i’m guessing it’s either a system from outside the general IF community or something purpose-build. definitely the best showing i’ve seen in a long time from a non-default system, though.

  2. Carl Muckenhoupt on 9 Oct 2016

    Hm, I could have sworn I had looked at the page source and seen the familiar Twine includes, but now that I look again, I see you’re right.

  3. Liza Daly on 13 Oct 2016

    Indeed, it’s not Twine. It’s a custom framework written on top of React/Redux. Around the time the comp wraps up I’ll release it as a standalone thing for anyone who’s curious, though I’m not intending on inflecting another hypertext framework on the world.

  4. Liza Daly on 13 Oct 2016


Leave a reply