Post-mortem for At King Arthur's Christmas Feast

Well, post-mortems seem to be the happening thing, so I saw down and banged out some words. By the way, spoilers appear freely, for both my game and the 600 year old poem. So. You know. If you were waiting on a new translation by your favorite medievalist before you read the poem, this post-mortem might not be for you. The rest of y’all, probably fine - I assume that whoever’s reading this has played the game through.

First, some stats.

At King Arthur’s Christmas Feast (AKACF, because lol at typing the whole thing every time) is an adaptiation of the 14th century poem, Sir Gawain and the Green Knight (SGGK). It’s a ChoiceScript game with 79118 words (including code) and 69714 words (excluding code). It has a unique ChoiceScript modification which provides a transcript of the last 10 pages. The game was started on March 18, 2021 and completed September 28, 2021, about 6 months. It was published in IFComp 2021 and got 11th place.

Why write this?

Well, it was pandemic times, and I figured, hey, you know what, I’m gonna write some IF, that sounds fun. I bounced around a bit between Inform and Ink and ChoiceScript and, not being a parser fan, decided that Inform is not the best choice. In fact, my first attempt at Inform was trying to make an example where you could bake bread (because I like baking bread) as an exercise.

That was probably a bad decision; too fiddly. I gave up on that and tried making a game about six animate Shabtis waiting halfway between the world and the underworld for the return of Cybele, but the immense number of dialogue trees combined with Inform being awkward to implement my dialogue system in lead me to give up on that. Also, I realized as I started implementing it that basically the entire game was a series of interlocking conversations, iterated over a changing world state, and…Inform isn’t, well, great for what I was trying to do. Turing-completeness doesn’t have anything to say about ease of use. Maybe I’ll write it using Twine, if I ever come back to it.

Anyways, so I dropped that. Farewell, a long farewell to Egypt, my fair province. Thou art an enemy’s now. Peace be with you, O Egypt—what a beautiful land you will be for the enemy’s hands.

Anyways I figured hey, you know, SGGK is pretty cool I’ll do that. I like the story, but I also know it, and there’s a bit of received wisdom in the programming world (my actual profession) that new projects should do one new thing. So with an eye on shipping, I committed to SGGK.

Once I’d decided on the subject, I put a secondary goal that, after playing this, you should be about as familiar with the poem as somebody who watched Jackson’s LOTR is with the books. So it’s also intended to be fairly educational. That ends up playing out in interesting ways - I’ll talk about that later.

Finally, I figured entering IFComp would be a good way to get some eyes on it; it’s basically free crits! Getting people to read things you write is hard. Entering IFComp solves that, even if it raises the number of people playing your game from like 2 to…maybe 200, at most? It ended up getting like, ~40 ratings, so given that most people who play don’t rate, that seems like an okay guess. As far as expectations, my explicit goal when I decided to enter was to be out of the last third of games.

The writing process

The rough outlines of plotting was not a problem. The major divergences from the poem I included are the pretty obvious divergence points - the poem can be read as an extended trial of Gawain where he mostly succeeds but also fails a little, and so the natural questions to ask are “what if he failed more?” and “what if he failed less?”

Adaptation is different from original stories, in that way. You already know where it’s going, and what the themes are. So that part is boring. However, it was a little janky to set everything up, and I’ll talk about that more in the what worked well/what didn’t work well.

As for the day-to-day, I worked in a private GitHub repository. At the end of each day, I recorded the word count. This game me a rough estimate of how much I was doing. I worked mostly straight through, doing a rough editing pass as I went. This provided a complete first draft, at which point I asked for beta readers.

I mostly asked for beta testers on the intfiction forums. I found this to be inadeqaute - I suspect that either I sold it badly, or there just aren’t many people who want to play some rando’s game (justifiably) so I asked to swap tests with other IFComp authors. That worked a lot better.

Many thanks to all my beta testers: Zed Lopez, Mike Russo, Amanda Walker, Rovarsson, Christopher Merriner, Autumn Chen, and Andrew Schultz. They provided some very helpful feedback, especially Mike Russo, who wrote a number of words that could plausibly be described as large.

Once I had incorporated feedback, I did a full read-through (reading out loud; this is something I think is more applicable to static fiction than IF but for a prose-heavy game like mine it works very well). This process finished about two weeks before the submission deadline. I spent the rest of the time implementing the transcript, though I never got it to where I was happy with it.

Adaptations and authorial voice

One major concern I had, however, was that the poem is thoroughly 14th century English. That is, it’s extremely straightforwardly religious, and the moral precepts of the author are contested very heavily in modern times. I don’t want to give readers the wrong impression - the 14th century also had Marie de Champagne[1], whose stance on love and marriage was something close to “adultery is Good, Actually,” and is the part of the reason why we have Lancelot and the queen going at it in the canon. So, there was a lot of variation in the day, and since it was all being actively developed, there were - how do I put this - there was conflict over the canon.

See, the specific author of SGGK seems to have been of the opinion that “adultery is Bad, Actually” (as many people then, and now, believe) and part of how you can read the poem is as an assertion of English values (embodied in Gawain) against the weird French conceptions of Chivalric Love (embodied by the Lord and Lady Bertilak and their hilarious hunting/sex game). I’m not saying this is what the poem is about, or that that’s the only thing that plays into its context, I’m just providing an example of how the past had a variety of viewpoints kicking around, and situating the author within the context. We don’t actually have a name for the author, but by this and his other works, he was clearly highly religious, familiar with specific geographical areas in England, and had works which were ideologically coherent but have differences from the modern era.

Anyways. The point is, that the SGGK is close enough in world view to be recognizable, but far enough for us moderns to look at it and go “uuuuuuuuuuuuuuhhhhhhhm hmmmm.” The majority of that is the attitudes towards women. The most salient example would probably be Gawain’s anti-woman rant at the end of the story, where he’s super mad that he took the silk belt (poem Gawain is basically a drama llama). I just kinda cut that. The other thing people might look at sideways is the attitudes towards homosexuality. There are a dozen ways you can pick this apart and argue about it (and of course there are papers on it! available, even: JSTOR firehosed free articles out during the pandemic and you don’t even need a school email to read’m) but a reasonable first reading of the original text is that it’s either intended to be treated as undesirable, or at least weird enough to be funny.

Don’t remember who said it, but I distinctly remember somebody saying about the seduction scenes, “The joke is that if he fucks the Lady, he has to fuck the Lord.”

This wouldn’t be a problem if I were doing a rough adaptation or an inspired adaptation, where I could change things freely, but since I committed to it being semi-pedagogical in nature way back when, there’s no way I could align the religious and social norms of the author’s society (sodomy officially being a sin) with modern norms (well, I mean, with my norms - there’s modern folks out there who still believe that). But the text allows some latitude here, since clearly the Lord Bertilak himself has no objection (else he wouldn’t propose his game) and the player can control Gawain. There are really only two points where Gawain could be challenged on this choice - when he confesses his sins before leaving to submit to the Green Knight, and when he returns to Camelot. And, somewhat funnily, in the original text the priest hears Gawain’s confession and pretty much goes “yep you’re all good, sin-free.” So I just kinda shrugged and had Gawain confess “sodomy” to the priest and have him do the same in a very pro-forma way, and then cut the game before Gawain actually had to deal with the court at Camelot going “wait sorry you did WHAT with your host?”

Apart from that, the main differences to the text are by addition. The text has Gawain stopping by Holywell in a side-mention; I added in the whole scene to explain the St. Winefride reference to the player, and it was fit for purpose as a piece of foreshadowing. I added a lot of scenes with both the Lord and Lady Bertilak, but the Lady Bertilak especially, which don’t necessarily contradict the poem but add a specific Lord/Lady conflict that the poem doesn’t quite have (but which could be read in congruance with the poem).

Other than those, I think it’s fairly close to the poem in spirit. I hope.

What was difficult or interesting?

Reading speeds are fantastically variable. I had somebody say it took 1:20, and another say it took 2:30. This lead to a considerable amount of annoyance in attempting to figure out the proper average word count to shoot for. Eventually, I gave up, and if the reviews that I’ve read are accurate, the average IFComp review writer reads significantly faster than the average American (I guess no surprise there). But it was a pain trying to figure out how much I should cut.

Also, funny story, when I posted my first draft of a blurb for feedback, a bunch of people were thrown off that I included the word count. Like, “the number of words doesn’t dictate the quality!” kind of thing. The goal wasn’t to say that, the goal was to let people have an estimate of how long the game is! 'course I didn’t think twice about that, because the Choice of Games community by custom…posts word counts. Culture clash, I guess. I ended up just shrugging and saying “I dunno it’s probably two hours!?” and it seems to have gone fine.

The pacing in the middle might be off - there’s definitely a bit of a lull while everybody parties - but I couldn’t figure out how to improve it while keeping all the content I wanted. And I’m not even sure how big of a problem it is - some people seem to have mentioned it, some didn’t. Here’s where having an editor would help!

Structurally, the game has no branches at all until you hit chapter four. That’s a lot of time to go with no branches! So, I tried really hard to give at least the illusion of branches, when in reality you can mash choices right up until you reach the first proposition by the Lady Bertilak and you’ll always be exactly where you are. My goal was to make that fact either invisible or irrelevant, depending on the section, and apart from the first chapter (see below) the reviews seem to have borne this out.

Several reviewers have stated that they think invisible stat tracking was going on. I…that definitely wasn’t happening, but I guess that means I did a good job at…well. I don’t even know. Maybe that’s the power of expectation? Maybe I should’ve hacked the stats screen out of the game?

What do I think worked badly?

The pacing in the first section is definitely off; this is something I knew and a lot of reviewers picked up on. I couldn’t figure out how to both be faithful to the poem and not have the first section be almost entirely internal to Gawain. See, the poem starts off at a formal dinner, with Gawain as one of the honored guest, and…Gawain isn’t about to go dance on the table. That would be silly. No, he’s gonna eat his dinner. So I tried to compensate for the non-reactivity by adding in humor but to be honest the entire first half of the first scene is Arthur and the Green Knight driving the action and therefore the player is irrelevant. The first time where Gawain’s allowed to drive the action he has to do what the poem says he does or there’s no story. While I could give “Do you want to go on an adventure y/n” and then just end the game if they pick “n” that’s kind of a lame choice, ain’t it? One piece of feedback suggested adding in those choices and then letting the player restart where the divergence point happened. That’s a good way of handling it, I think. Might try’t.

Bunch of typos appear to have slipped through. Not fatal, but disappointing.

I have apparently alliterated the thorn (an old-timey English thing, the source of ‘ye’ - which is said with the ‘th’ sound, so remember that next time you see ‘ye olde’ anything) with the t (the, uh, ‘t’) sound. Welp. Guess reading it all out loud didn’t catch that.

The game asks you how you feel about things a lot, and sometimes it asks you about the same thing twice. This is partially intentional, for pacing reasons and because I always wanted the player to be able to pick how they felt at the exact moment, but I did get some feedback around the impermenance of your choices. That’s a fair criticism.

There are some options I’d like to have added (especially the Lord Bertilak’s offer to stay and party more) that I cut, for length purposes. As I’ve already mentioned, reading speeds vary!

I added a transcript function but I don’t think anybody’s mentioned it and, in fact, one person mentioned that they wished they could have read the previous page(s) or something similar to that. Oh, well.

What do I think worked well?

My prose appears to be at least passable, according to feedback.

I think that, on the whole, the shifting language style worked out pretty well. It turns out “ginormous” is a divisive word! Some people said “wow that modern word seemed out of place” but I got one review that held it up as an example of how I emphasized the different speech registers between formal, semiformal, and informal. Apparently I succeeded for that reviewer. Most reviewers who mentioned it seemed to say it worked, so…mission accomplished on that, I think.

Nobody seems to have roasted the quality of my translation (or, for that matter, the quality of my completely original poetry that I wrote up to cover the different ending scenarios). I’m not sure if it’s because people liked it, or they just didn’t feel qualified to do so, but I’ll take it. Nobody said they hated it. Well, to be fair - what, is anybody gonna say that the poetry was super extra and out of place in the work based off a literal poem?

From the reviews, there was a pretty wide set of approaches, between perfectly straightedge and total renegade, and all of them seem to have felt that the endings reflected their choices. Both the fact that the people felt they were respected and the fact that they did, in fact, choose different choices is good.

But how do I really feel?

Oh, pretty good. I didn’t expect it to do as well as it did, it was fun writing it, and the community has been nothing but great. That’s, uh, that about sums it up.

Was this all just an excuse to talk about Sir Gawain and the Green Knight?


Future plans?

Well, waaaay back when, when I demo’d the first chapter to the Bay Area IF Meetup, Dan Fabulich mentioned Hosted Games (which is Choice of Games’ self-publishing label, as I understand it) as a thing. Well, what the heck, why not? I’ll need to fix up the typos and such, add in some of the content I cut for length, give the first chapter another pass, but sure, sounds fun. It’ll make approximately one dollar, but given my outsize success relative to my expectations in IFComp, I’m gonna aim high. I’ll aim for two dollars.

[1] Marie de Champagne did not actually live in the 14th century, she lived significantly earlier. She was a patron of Chretian de Troyes, the guy who basically did Lancelot (again, significantly earlier than SGGK). Sorry for this long footnote, I was just proofing this and wanted to make clear that what I meant was more like “her ideas were in The Discourse” and not that she was literally alive then.


CONGRATS!!! It was such a pleasure to test this game. It absolutely tickles me that Gawain is getting so much love… I mean, aside from the Bertilaks.
Hooray for old poems kicking ass in this year’s Comp!


Oh man, I really want to play this now, though agree that it definitely seems like a tough fit for Inform.

I, uh, have a brand.

Anyway, thanks for writing this up – it’s really interesting to see more of your thought process on the adaptation! I said this in the livestream but you might not have seen it amidst the flood of well-deserved congrats, but I really think AKACF is the most successful IF adaptation of a static text I’ve ever come across, which is partially down to the canny choice of source material but also how thoughtful you were about where to allow more vs. less player agency.


Well, at least one player loved that part! I don’t really like the original poem, because it’s an idiot plot, and if I’d been there I’d have said “O Sire, thine humble knight doth pray thee that thou ceasest playing silly buggers”. Your adaptation gave me a chance to do so, and convincingly showed why it wouldn’t work, and why Gawain would be stuck with the consequences.

I hope not! I loved what you did with the stats: expecting to see my character (polysemy intended), and instead being told what my character should be, was an excellent subversion, and helped build the impression that the world has much more rigid norms and less individualism than I’m used to.

It did make me wonder whether those stats were invisibly tracked, until it became clear that they weren’t, but that didn’t matter much either way.

If you publish there, are you allowed to put up a game on other platforms as well?

1 Like

Honestly, no idea! I’ve barely looked into it, I just filed that away in the “think about this after the comp” file.

Hey, it’s a good brand. Anyways, are there any other IF adaptations of static texts? (I didn’t do a search for prior works or anything).

Thanks! Your game was great too.

It’s a small but vexed category, at least in the noncommercial space! Graham Nelson did a version of The Tempest back in the 90s, which went over like a lead balloon in that year’s Comp. Mathbrush adapted two Sherlock Holmes stories. I remember a Conan story from the early aughts – oh, there it is. Ryan Veedeer did a very loose interpretation of The Narrative of Arthur Gordon Pym of Nantucket. And there’s a version of the Pardoner’s Tale in this year’s EctoComp though I haven’t checked it out yet.

Of course, there’s the commercial stuff – Hitchhiker’s Guide to the Galaxy, The Hobbit, Infocom’s Shogun, and a lot of the Legend stuff which straddles IF and graphic adventures, plus if go farther afield there’s 80 Days depending on how much of a stickler you want to be.

It’s really, really, bad, but I did an adaptation of two Emily Dickinson poems for EctoComp. But it’s really bad. My post Ectocomp version will be a little better.

To add to Mike’s list, The Digital Antiquarian recently reviewed two 1990s commercial multimedia adventures that remain close to their source material: The Dark Eye (Edgar Allen Poe) and an adaptation of Harlan Ellison’s I Have No Mouth, and I Must Scream.

As for pure parser IF, a number of people have remarked on the similarities between Starcross and Rendevous with Rama. Technically not a true adaptation, though.

Pure speculation on my part, but I wouldn’t be surprised if there’s a number of noncommercial IF that originated as an unfinished short story or novel by the author. But I don’t think that’s the kind of adaptation you were asking about.

– Jim

I did an IFDB poll about that:

1 Like

One IF adaptation of a short story is Compassionate Simulation, which is adapted as a dynamic story in twine.

Apparently, there’s a lot of prior attempts at adapting static texts.

Interestingly of the top 5 in that ifdb poll, it looks like 2/5 are not parser-based, and the Sherlock Holmes one is apparently entirely linear. Static → parser seems like a uniquely difficult medium to bridge. You can’t control pacing in parser games nearly as well, and the actual…playing section tends to get in the way. Reading the review of The Tempest indicates that seems to have been an issue, along with choice difficulties.

Oh! yeah! this one is actually really good, although calling it IF is - well, it’s full-graphics and point-and-click. It gets a lot of mileage out of the “lone player in an actively hostile environment” though, in the sense that any frustrations you have with the puzzles or game logic could reasonably be interpreted as diegetic.

Whoa, that’s really good, where did you find it? Comparing it to the original short story, I’d actually put the adaptation over the short story.

There was also a 1980s text adventure version of Macbeth. British published I think. I had that but got nowhere with it! If I remember correctly the chunky game box included a copy of the original play book, à la The Hobbit!

I think I just found it browsing It was also in sub-q’s last issue. One of the people who made it also made Erstwhile which did pretty well in ifcomp a few years ago.