The Libonotus Cup postmortem

Better late than never I guess. :slight_smile:

Making the game

I wanted to make a game with my wife and since she is very much into Formula 1 these days I suggested we make a game about a Formula 1 race but with Pirates! because, well, I think pirates are fun. It didn’t work of course and her involvement was pretty much limited to an initial brainstorming session and some testing at the end.
As I worked on it alone all the F1 aspects disappeared and it became a one-off race. I quickly realized that while I had a few ideas of how to make the preparation part of the game, I didn’t know how to make a fun parser based race. I then fortuitously remembered this post about having a parser game turn into a twine game mid game. It seemed like a perfect match for me: a rather open ended preparation phase on land and then a more tightly directed phase once asea. And at worst I figured it might be Golden Banana bait. :stuck_out_tongue:

The little island parser interlude was added at first because I wanted to test whether my code was robust going from choice to parser mode and then I kept it because I wanted to have a puzzle where you have to order NPCs around (also if you have a secret treasure it has to be on a deserted island, you can’t have it on a populated island like Tortuga, that would be totally unrealistic!). I think that worked out well since it reinforced the land → parser / sea → choice concept I stumbled into.

I’d like to thank all my beta-testers here. Beyond catching bugs they all contributed fun ideas that vastly improved the game, it wouldn’t be half as good without them.

What went wrong

My biggest regret was not implementing a transcript collecting thingy. A few months before the comp started there was a thread on here that seemed to have a consensus that automatic transcript collecting was bad so I didn’t. I severely regret not doing so.
The Libonotus Cup has many secrets and easter-eggs and I wish I knew which ones have been found. Did anybody find the black pearl, the merit badge, the jeweled crook (probably not that one, the competition version had a bug), …? I don’t, and can’t, know which is very frustrating.
Several reviewers also mentioned that they found the parser fiddly at times without any specific examples (which I don’t begrudge them, they’re writing reviews not bug reports). If I had transcripts to pore over I could improve the game (and the next one) but as it is I’m in the dark.

The other big fault in my game is that it wants to present itself as if it were an optimization game but it isn’t (or maybe it is but it’s a crappy one). The two major ingredients it is missing for that are replayability and transparency.
First, in order to start the race you must at minimum fix the hull. Fixing the hull is a rather long process that is maybe (hopefully) fun the first time but doesn’t gain anything from being replayed. Same with getting a new mast on the island, once you’ve solved it you’ve solved it. This makes replaying the game tedious.
Second, the result of the race depends on the choices the player makes during the races but there’s no feedback beyond some vague messages and the final ranking. A proper optimization game would give you a number after each choice so you could map it out and plan the best course.
Even if I had these two ingredients it would still be a rather lousy optimization game, since it would mostly come down to a shortest path problem. In the Curse of the Scarab (my proper optimization game) I have no idea what the best possible score is nor how to calculate it. In the Libonotus Cup I’m pretty sure I know exactly what the best possible time is.
I should have either worked on presenting the game as not an optimization game or committed to making it a proper one.

Things that were cut

At one point I thought it would be neat to have the little vignettes in the choice section appear in a random order and not all appear in every game but I realized that A, most players wouldn’t replay and would miss all that content (not a fatal flaw, most players are missing all the secret stuff anyway), B, that would mean writing a whole lot of new vignettes and I was already running out of steam by then, and C, the game wasn’t set up for replayability since the whole early game would be the same each time. So I ditched that idea, I still think it could work well in another game though.

In my early thoughts before I even started coding I thought during the race section I could have little boat drawings in the footer of the page that move along as you advance in the story, indicating how far you were in the story and how well you were doing compared to your competitors. I then completely forgot about that idea until about an hour after the deadline. Doh! I still might add that to a post-competition version as it would help a little with the transparency issue.

Originally you would also have to hire a crew. I’m not sure I regret cutting this.

One of my wife’s ideas was that the protagonist was supposed to be based on Captain Janeway from Star Trek. However, since I haven’t watched that show the only attribute they share is the name (originally it was Jeanne Weigh until I changed it to make the stupid teacup joke work).

Closing thoughts

Overall I’m satisfied with the game. The parser / choice hybrid seems to have worked fairly well and I had fun writing it.

I intend to release a post-comp version shortly which fixes a couple of bugs and disables animations for players that prefer reduced motion (I was not aware of this issue, apologies to the anonymous feedback leaver and thank you for pointing the problem out!).

Included for fun, a graph of the choice portion of the game (slight spoilers):

And before I think of anything else to add to this monster of a post I’ll conclude by thanking my beta testers again. Without you my game would be way less fun so thank you very much!

13 Likes

Thanks for the post mortem - so funny that that forum joke planted such a seed!

Also:

You are a smarter person than I!

1 Like

Your wife is clearly of my tribe. I wish I’d tweaked to this on my own!

2 Likes

I haven’t played the game yet, so I apologise for talking uninformed here. But are you talking about wanting to collect transcripts for the parser section, or the Twine section, or both?

I thought IFComp automatically collected transcripts, at least of parser games? Is this no longer the case? I’d have thought somebody would have told me, because just this week I’ve been talking about setting up transcript collection myself, with reference to IFComp, both on this forum and elsewhere.

I don’t know if there’s any way anyone’s invented to get a transcript of a Twine game. A quick search of this forum via Google suggests no.

-Wade

AFAIK, the IFComp site still collects transcripts for parser games that run in its hosted interpreter (so z-code and glulx games). However my game used a custom engine so I’d have needed to roll my own transcript collection.

Thank you, in particular, for sharing your decision tree matrix!

Don’t think I’ve ever seen one quite so dedicated to a purely horizontal layout before, but as someone who’s seen a hell of a lot of flow diagrams, I was quite pleased to see yours retain a lovely elegance.

I truly wish I could’ve had time to play this game.