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…
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 ]).
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 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 ), 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
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!!!):
- MetaComp by n2n (2019)
- https://sugarcube-parser.glitch.me (2016)
That’s so neat to find more about those weird SugarCube experiments out there!