The Roads not Taken - an Experimental Post-Mortem

I made one for TTTT after the IF Comp, so here’s one for this one too!
The long version can be found on my blog (or here if you don’t have Tumblr) (it is about 1/5th the total word count of TRNT lol). I do recommend that one, because it is more details, but also I am proud of my choices of GIFs… :stuck_out_tongue:
And I released my source code for TRNT on Github (check out the Widget document and come cry with me)

One thing to take into account: before making TRNT, I had never made a parser, and could barely solve an easy parser game to save my life. This could probably be seen in the game…

Anyway… Follow me into my journey of once again speed-running my way through a competition, and coming out scratched and bruised and still not learning my lessons!

Here’s the TLDR:

I entered the SpringThing on a whim, and started working on it when the voting period of the SeedComp started (early March). The goal was to try something new: aka a parser (but in Twine because I didn’t think I could learn a new language in a month, and also because Twine is not made for parser AT ALL*).
*I had be warned not to do this, further than just Twine not being good for parser, but also because it could ruffle some feathers.

======== SETUP

The Idea for it came after playing Aisle and Pick-Up the Phone Booth and Die with the French community, because I thought those games were fun and weird, and it would be easy to make as a parser (no puzzle, not change of rooms, just commands giving an ending and it’s done). Whatever would happen with it would make for a great experiment!

I had wanted to have a similar format for my entry (the one choice and it is over type of gameplay), and even listed like 50 different actions to reach an ending, but when trying to think of a setting, it just made my brain dive deep into worldbuilding and creating a much larger context that should/could have been needed. (What gave a proper punch in Aisle was how short/to the point it was, I just went bonkers in verbosity [but that’s also how I roll so :woman_shrugging:]).
So I ended up with a very long and agonising walk towards a ritual where one must make a choice that will shape the rest of their life.

Lil notes:

  • Multiple people mentioned the Divergent series to me in relation to the game, but I was more inspired by The Giver Quarter for the deterministic aspect
  • They are not humans. It was vague for a reason.
  • I had an actual very happy ending planned, but Time… (will be up in the post-comp update, TBD)
  • there was nothing deep in there, just some sci-fi trope of weird society with -topian rituals and mysterious setting (because :woman_shrugging: reasons)

======== IMPLEMENTATION

The Implementation… was a struggle. There is a reason why people don’t put Twine into a parser list:

  • because it was not created with parsers in mind
  • because it does not have a built-in command system
  • because the input macros are not made to be used like one would for parser (partly a format issue)
  • because showing new text bits need to be done manually (and so does an auto scroller…)
  • because it is not really meant to be played with a keyboard only…
  • because it does not have a built-in transcript system! (I forgot to mention that in my post…)

But also… I didn’t know the codes of parsers, and still struggled with them after researching it.

Did that stop me? LoL

So I went to the basics: a basic UI that does not take centre stage (well shouldn’t have…), an input box, and text bit that appears when commands are prompted.

I tried to make it easy for me (and the players) by having commands being prompted by just typing the noun… which works if I only had one action related to it. But I wrote a bunch of variations of actions for multiple objects. So verbs went back up at the end…

Here’s an example of ONE interactable object on ONE passage:

<<if ["initiate", "look initiate", "look at initiate", "remember initiate", "initiates", "look initiates", "look at initiates", "remember initiates", "recall initiate", "recall initiates"].contains(_cmd)>>
(you can read the blog post to see all the frustration from coding the thing…)

Some little issues from the coding:

  • the auto-scrolling was not good and really put off people (for good reason, but it got fixed in the end, even if too late for the reviews…)
  • the cardinal directions where confusing (because my dummy head used those as synonym of forward/back/left/right… ← didn’t realise until yesterday…)
  • the commands were not complete (missing shortcuts and synonyms, where’s the built-in bank when you need one…)
  • some kinks in the UI formatting because I built it on a large screen and only checked properly how it looked different widths but not the height…
  • setting up the transcript system (which was just recording the commands inputted and linked it or not to an error value, inside a variable)

Could all of this had been ironed out with some extensive testing? Obviously. Did I do that? Nope. The game was tested by other people 2-3 days before the deadline (sorry for putting you through that again :stuck_out_tongue: ), while I (with my no-parser knowledge) had been testing stuff has I coded it (on my large screen with the knowledge of which command to press every time). I absolutely have not learned my lesson from TTTT, but hopefully will after this (Press X to doubt…)

======== SOME THOUGHTS
The experiment was quite a challenge but it was also a lot of fun. I don’t begrudge people for thinking it should have gotten more impact if it had been a regular Twine (no, it wouldn’t have, the story was not the point, and much to shallow to be anything). It really was more an exercise of what could be done with Twine, of how to merge two things that should not work together, of exploring new ways of doing thing or maybe not doing things, and just blur the lines of what a Twine game should be. I just wanted to make something weird and out there again :stuck_out_tongue:

Also, my entry was not even a novel idea (exhibit A, exhibit B), and maybe not even a well-done one, but wasn’t it fun to see someon just bursting into the Festival, guns blazing, showing up with a parser in Twine, just because she could?

======== TOODLES ~~
Anyway, my weird hybrid beast of a parser in Twine and I are done rambling about my awesome show of tricks that may or may not have landed badly and with a broken skateboard. We will go collect our ribbons, now!

Make IF weird, Do word crimes, Have fun

==

Unrelated (well maybe semi, cause I had been advised not to put this in the Main Garden), but as a player/reviewer, do you view/play the games differently whether the game was submitted to the Main or Back garden? Like do you give more leeway to things you see? Or do you judge it the same way?

== Quick Edit:
@n-n shared with me some of their really neat parser projects also made in SugarCube (thank you!!!):

That’s so neat to find more about those weird SugarCube experiments out there!

18 Likes

New personal anthem

6 Likes

I tend to judge them pretty similarly, but may expect rougher or less complete things in the back garden.

I know I had a few technical issues with your game. But I really admired what you were trying to do. Just allow more testing time next time. Cos it can really help smooth the player experience :slight_smile:

Thanks very much for writing a post mortem. I always enjoy reading these, as an insight into the game creation process.

Best wishes for what you try next!

6 Likes

No promises :stuck_out_tongue:
(but yes, I know I really should. Hopefully, time is better planned next time, and I don’t just start entering competitions on a whim for the lolz and the vibes)

Much appreciated!!
Thank you!

6 Likes

It’s always wonderful seeing what new thing you’ve cooked up for us all to enjoy, and I’m a big fan of your work (and you as a person! Goncharov Girls 5ever <3). You remain consistently innovative, and with stylish flair in spades- I’m really impressed and admire your resolve to learning and trying new stuff out- the timeline on your self taught journey is startling. Love ya.

6 Likes

Honestly, I enjoyed the game quite a bit. It’s a good reminder of how both sides of the parser/choice divide tend to sell each other short.

As Manon demonstrated, there are quite a few more things to keep in mind when creating a parser game than what one would assume at first. With that said, I get the intense feeling this is just as true in reverse. So much so, that’d I love to see accomplished parser authors try their hands at writing a crash course Twine game; I suspect there are more things to trip up on than first meets the eye.

Anyway, please keep it up Manon. Causing a little turmoil is good for everyone, whether we always acknowledge that fact or not.

7 Likes

Same, actually. I’d love to see that as well.

4 Likes

Well, now that I’ve released my code, they’ll have an easier time making a parser in Twine than I did :stuck_out_tongue:
But it would be fun to see parser authors making a choice-game in Twine at least :stuck_out_tongue: I’m sure they would have fun!

:blush:

4 Likes

Or to keep it similar in difficulty, make a choice game out of their parser engine! (Now that could be hard…)

5 Likes

Technically possible in Adventuron :wink: (not sure if i counts since the program is already a parser-choice hybrid)

6 Likes

If you substitute ‘a competition’ with ‘X’ above, I find that to be really resonant lifestyle advice in general.

Thanks for a great post-mortem, intend to read the longer version once I figure out how to bypass tumblr’s registration wall :] I too find these post-mortems to be essential reading for every comp. Something about the clubby camaraderie of sharing very specific tribulations most of the world has no understanding of. Thanks so much for sharing!

Lol, well don’t I feel silly now!

Marching orders received, WILCO! :]

Same, though I did wait to tackle Back Garden until after I finished all the… ah… Front Garden(?) ones. Wanted to honor what I initially perceived to be a perhaps greater time investment in the Front. Given the Back Garden entries this year, feels like a bad assumption!

5 Likes

Maybe this should help getting pass the Tumblr wall. I’ll add it to the main post.

Death of the author or whatnot, but I really enjoy to see how people interpret what I write, even if it is miles away from the intent or what I thought I was writing. And I did agree in principle with your view about choices and how not just one choice determine the rest of your life (though some will definitely have more impact than others.

That’s been me learning IF tbh :stuck_out_tongue:

Thank you for reading it! Hope it put some things in perspective!
(It did for me, especially after digesting all the reviews…)

5 Likes

Thanks for the link, just what I needed! Though I rarely say this about music, I do prefer the longer/live version! Especially because of gems like this, regarding “Why mix choice-select and parser?”:

Maybe a cop-out answer would be Why not.
Why not try to break the rules and the codes of what is a Twine game or what is a parser? Why not push Twine to where it is probably not supposed to go (sorry, TME)? Why not blur the lines of the divides between the subgenres of IF?

The other part of the answer is Because experimenting and doing weird thing is fun!

Hear, hear.

5 Likes

I just realised I never answered this (sorry), but know that I am still bawling at your lovely message, even three days later… :green_heart: Thank you, kitten.

5 Likes