Dysfluent: a late postmortem for a patience-testing game

Hi and thank you for your interest in my humble IFComp game! I hope this post finds you well. :slightly_smiling_face:

I tried not to let my obsession with thoroughness get the best of me, but this still ended up being much longer than I expected – sorry about that!
If you have any questions that I didn’t answer here, I’d love to hear them! I also welcome any and all feedback.

Why write Dysfluent? Inspirations behind the concept

The idea for Dysfluent first came to me after I realized that most people don’t understand how a speech disorder like stuttering tends to manifest. Not only are the outward signs not always easy to identify for those not in the know (like blocking/silence), but the inner mechanisms are especially mysterious to non-sufferers. So I thought, why not use interactive fiction to give people that experience?

As you may have suspected, I have a stutter, and many of the game’s events are based on things I’ve experienced. For example:

  • Asking a question to a teacher and having it be ignored (the “Anyway…” was a direct quote!)
  • Being asked if I forgot my name when I struggle to say it
  • Being misunderstood by people who think that stuttering is purely a result of being nervous or talking too fast
  • Watching My Cousin Vinnie (in school, not at a friend’s house) and everyone laughing at the lawyer
  • Pretending to be looking for a word in order to buy some time during a block (either to avoid looking/sounding bad, or so that the conversation doesn’t move on without me)
  • Fear of not being hired, or getting fired from a customer-facing job I already have, if they find out I have a speech disorder
  • Having jokes constantly be ruined by blocking on the punchline

Some are instead inspired by all the stories I’ve heard from other people who stutter, such as:

  • Having a consultation with a professional who has a very uneducated/unhelpful approach to stuttering
  • Using a fake name because their real name is too difficult to say
  • Changing a restaurant order to something easier
  • Being hung up on during a block

My main objective was to let people feel the turmoil that can occur within someone during stuttering blocks! I think getting this ‘inner perspective’ can make a big difference in understanding, and interactive first-person pieces are uniquely well-suited to it.

Creation process and changes to the game over time

I started to write several years ago but then put the project on hold for a very long time, before finally digging it back up in 2023.

Some elements have remained constant:

  • The choice-based format was an obvious fit for the type of narrative and gameplay I wanted, and Twine/Harlowe were accessible and flexible enough for my purposes. I have @Allx to thank for helping me implement some of the more complex changes to the format!

  • The colour-coded options were an integral part of the design from the very start, as a way to intuitively communicate the feeling of upcoming fluency or dysfluency. I hadn’t seen colours used in quite this way this before, so I was excited to bring a little something new to the medium.

  • The timed text was also essential in my eyes, because a crucial element of why stuttering can feel so stressful is how it makes you acutely aware of the speed and flow of conversation – which other people can often follow seamlessly, while you’re always stuck either grinding things to a halt or getting left behind.
         This proved to be a more controversial choice than I had anticipated, in great part because I wasn’t able to balance it well enough in the comp version of the game (more on this in the next section).

Other aspects of the game changed significantly during development, and deciding on a final selection was possibly the most time-consuming part of the whole project:

  • In its very first iteration, the game was going to have random colours assigned to each dialog option, with the aim of creating replay value and illustrating the sometimes unpredictable nature of dysfluency.
         I quickly let go of the idea in favour of a more carefully-structured series of events with heavier emotional impact, but a small remnant of the randomness can still be found in the bus scene (though I removed the fluent options in order to better suit the game’s new direction).

  • The planned length and structure of the story varied a lot! The overall number of unique scenes would probably have been similar, but initially I was going to spread them out over a few in-game days, maybe even a week.
         Then I had the idea to make the narrative span multiple phases of the character’s life (childhood, teens, young adult, adult), showing one day of each, in order to fit in some important school scenes and show character progression. My own stutter didn’t fully kick in until I was about 14 years old, so I thought maybe this before/after could also be an interesting transition to show.
         Ultimately, I took some of the scenes planned for these different life stages, turned them into flashbacks (creating a character who stuttered from childhood), and condensed the rest into a single day.
         I worried that maybe having that many negative interactions in one day would seem a bit extreme, but thinking back on the years where I struggled most, it actually feels somewhat realistic. Interactions that should be very quick and minor can really feel like a big deal when you’re afraid of not being able to speak!

  • In parallel to the question of length and structure, I pondered whether to have a character selection at the start of the game in order to show events from different stages of life, e.g. a college student vs. a middle-aged worker. I ended up abandoning this idea once I figured out how to fit these life events into a single character’s story.

  • What is the big goal for the player to look forward to? When does the narrative reach its climax? The job interview idea was cemented when I decided to make the events of the game occur in the span of a day, but things were different in previous iterations.
         For a good while my plan was actually to have the events of the game inform the character/player’s perception of speech therapy, with the aim of finally finding good professional support after a bad experience in the past.
         In the end I don’t regret going a different route, especially because I prefer a message centered on acceptance than one centered on fluency. But I do worry that in its current form the game risks sending the wrong message about speech therapy as a whole, if people interpret the childhood flashback as being representative of all speech therapists (the last thing I want to do is imply that they’re all ill-informed or harmful)! That is something I’d really like to clarify in a later version.

  • There was originally going to be an additional mechanic: managing sleep and stress. While far from the only factors in stuttering, those two elements can have an impact on a person’s fluency, and I thought that sprinkling in a few opportunities to balance these “stats” (like choosing whether to snooze your alarm in the morning) could make for a fun challenge. In this version, I had planned for the character to have a little routine every day, which would consist of waking up, getting ready, and interacting with the bus driver.
         I abandoned this idea pretty quickly as the focus and tone of the game took shape, but worked in a different stat for the player to manage instead, and made sure to leave in a little mention of fluency management techniques.

  • The stat I created to replace the fluency-management ones was probably the biggest piece of the puzzle.
    All this time I had been focused on the symptoms of stuttering and how they can be managed – through lifestyle adjustments, through therapy, through carefully choosing your words.
         It’s certainly true that dysfluency is something that can inherently be pretty frustrating and unpleasant, and if people can find ways to reduce their symptoms and gain more control over their speech, that’s wonderful. But in my experience, the most disheartening and anxiety-inducing part of stuttering is not the stutter itself but the fear of other people’s reactions.
    When you’re in a safe and comfortable environment, stuttering often doesn’t feel like such a huge deal anymore – and sometimes, giving people a chance to understand what you’re going through can be the first step to creating more of these safe environments!
         So in the end, I chose to have the central theme and mechanic revolve around overtness and covertness (whether you’re willing to let a stutter show, or avoid it at all costs), showing the anxiety and self-doubt that each approach can cause. I really liked the idea of having the final scene be the first moment of safety and acceptance that the player encounters, in contrast to the rest of the game, and I tried my best to do it justice!

A non-exhaustive list of challenges I ran into:

  • How do I make the game informative but not too heavy-handed or preachy? How do I show the negative effects of stuttering on the main character without coming across as accusatory towards other characters (who, in many cases, simply don’t know any better)?

  • How do I write negative self-talk in a realistic way, without sounding over-the-top or melodramatic?

  • How do I organically create situations where the player will actually want to pick the dysfluent options?

  • How much should the player shape the character? How precise or vague should I be about different aspects of the character’s ambitions and motivations (e.g. the job interview)?

I’m not sure if I managed to adequately overcome all the obstacles that came my way, but hopefully my efforts at least nudged things in the right direction!

I already released it on Source Code Amnesty Day, but here’s the source code for Dysfluent, in case anyone is curious. Several bits and pieces of my abandoned ideas can still be found in there!
I’d hidden a little note in there pre-comp for anyone who might try opening the file in the Twine editor or otherwise manage to get a look at the code, but I don’t think anyone found it (or they did and just didn’t feel like talking about it, which of course is totally valid too)!

What worked? What didn’t work?

I think different things worked or didn’t work for different people, but I observed a couple of generalities across the player base.

Worked well:
The educational angle. It seems the game was generally able to accomplish its main goals: show some of the realities of stuttering, let people experience something novel, and be thought-provoking. Hurray!

Didn’t work so well:
The infamous and dreaded timed text! Much has been said about this feature and I won’t rehash it too much, but it’s a game design element that is often disliked.

Though I probably should have done so, it didn’t cross my mind to do any research on this topic while writing Dysfluent; my decision to include timed text was purely based on fulfilling a somewhat unique storytelling need, and it didn’t occur to me that the mechanic might be prevalent (and even a bit of a cliché) in the IF world. I’d been away from the IF community for several years by that point, so I think I missed a lot of important releases and discussions during that time!

I was expecting it would generate tension and maybe mild negative feelings (to better connect with the emotional content of the story), but if I had known that it was likely to outright frustrate players and even make them feel disrespected, I would have dedicated much more of my time to polishing it up and making it feel less slow! The intense negative impact it had on some players came as a surprise and was very distressing to hear about – I would have done anything to avoid that outcome.

Part of the problem, aside from my limited technical skill as a relative beginner, was the way I implemented the timed text (using the (live:) macro), which made it a real time-consuming pain to adjust individual segments. There turned out to be a way to essentially automate speed changes for all segments, but I only figured that out shortly before the deadline… so in the end, I only had time to apply it partially. It at least made it much easier to implement the “disable text animations” option – before that, I thought I would have to copy/paste each page and manually remove all the timed macros!
I have plans (discussed further in the next section) to use this method to make the timed text adjustable and thus hopefully more bearable.

What’s next? Planned changes and improvements

I intended to make several changes and improvements to the game early this year. I was actually hoping to get these done before publishing the postmortem, so I could proudly point to them and announce that Dysfluent was finally in its definitive version! But for reasons discussed later, I ended up postponing them.

These planned changes are generally ideas from before the comp, which I unfortunately had to cut because I got a bit overwhelmed and the deadline was drawing near:

  • A screen-reader-friendly mode. This ended up being more complicated to implement than I first thought, because for optimal experience I’ll have to make sure all the individual letters are pronounced appropriately (e.g. stuttering on “Thomas” looks like T-T-Thomas, but it should sound like “tuh-tuh-thomas” rather than “tee-tee-thomas”)
  • An additional option for colourblindness. I had several possibilities in mind, some more elegant than others, but I feel like simple tags attached to the dialog options saying (fluent), (dysfluent) and (very dysfluent) would be a good place to start as they are universally accessible
  • A dark mode
  • A slightly more developed achievement system (at the very least, allowing “The Magic Word” to be unlocked in more ways)
  • A speed slider for the timed text, which lets you visualize in real time what your selected setting will look like
  • Aforementioned subtle changes to the text, to remove some undesirable ambiguity and maybe improve any awkward sentences. Possible changes to the menu in order to highlight important options.

But since then, I’ve also noted a few other small adjustments that could be made, based on the helpful feedback of players and my own revisiting of the game. My favourite is an automatic recalling of the character’s previous name upon starting the game a 2nd time, brilliantly suggested by Tabitha here on the forum!

So why haven’t I implemented all of these changes already? I’ve been dragging my feet for a few reasons, the most major of which was a bad wrist fracture that occurred in January. I was also busy with other responsibilities for a while, stuff that piled up as I was recovering from the fall and the subsequent surgery. However, even now that I’m slowly regaining my ability to work and have some time to dedicate to IF, I admit that I find myself struggling to go back to Dysfluent

As an artist, it pains me to know that my creation is on display in this embarrassing, frustrating, imperfect state.
But although I tried to inject bits of humor and lightheartedness here and there, Dysfluent is not exactly a ‘fun’ game, and I feel like that makes it harder to justify working on it further. How likely is it that anyone else is going to want to play it, much less revisit it, now that all the buzz is over?

I wanted to translate it into French, partly in hopes that the (mostly francophone) stuttering association I frequent could find a use for it as a didactic/outreach tool, but they didn’t seem particularly interested, so even that angle feels like a dead-end.

If you have any opinion or perspective on the matter, I’d love to hear from you (whether you’re players and/or authors)!
It’s highly possible that I’m being silly with these concerns, and maybe I’m really just still in a rut from everything that happened earlier this year. The stress of releasing my first full game to this much scrutiny last year definitely got to me as well, and I felt really bad about some of the flaws it had, which I think creates a bit of a mental block.

In conclusion

Dysfluent was definitely an imperfect game from a novice author, and ideally it should have had a bit more time to fully bake. But even though I have regrets about what I chose to prioritize in that first release, I’m very happy that the core message managed to reach as many people as it did! I was blown away by the thoughtful way in which people engaged with my message, and all the expressions of how they felt they could relate to the protagonist.

I don’t personally struggle too much with my stutter anymore, thanks to various factors. But even today, and even sometimes in situations that don’t feel especially unsafe, I find myself automatically sidestepping blocks and trying to appear more fluent than I really feel. There’s a deep, almost instinctive sense of shame associated with dysfluency, which can be really hard to shake off. I wasn’t able to represent every type, reality or manifestation of stuttering in my game, but I hope that I was able to help others with speech disorders feel seen in some way (I know I would have loved something like this as a despairing teen)!

I intend to create many more games and stories, and I’ll do my best to learn from every experience!

Thank you for reading, and thanks again to everyone who gave their feedback and made me feel welcome for this first IF release! :blush:

(And because we can still laugh at ourselves a little bit now and then, here’s a song from the 1910’s about misunderstandings that stuttering may cause…)

21 Likes

Wow, this looks like a really good game! : D Where can I play it? (sorry if you already said it in the post : P )

I also think it’s a very good concept and could totally teach some people about speech disorders :grinning:

3 Likes

Haha, I’m glad it piqued your interest!

If you’d like to try it (and you don’t mind that it’s still pretty slow/missing several improvements!), this page should have a “Play On-line” button in the upper right:

Welcome to the forum, by the way, it’s great to have more friendly faces in the community! :eagle: I see you’re also working on a Twine game – I’m looking forward to seeing what you make! :slightly_smiling_face:

5 Likes

For what it’s worth, if I don’t play a game during a comp, I tend to wait until there’s a post-comp version released with bugfixes and such before approaching it. So I at least would wait and play a new version if that was in the cards!

4 Likes

Thanks for writing this up – I think you’d shared some of it previously? But it’s cool to see it all together. Sorry to hear your injury made it hard to get back to the game, but I will say that I do think there’s a lot of value in making a post-Comp release in general, and for your game in particular; I think it’s one of the best recent examples of its subgenre, and a helpful game to point to when discussing when using timed text can actually be a good design. So I suspect it’ll continue to get mentioned and played in the future, and a definitive release would be very welcome for those who missed it the first time out!

4 Likes

Thank you so much for all of your input, it’s very helpful!

I’m heartened to hear that established community members such as @Draconis and @DeusIrae would like to see a new release, and to witness interest in the game even from new recruits like @BumbleB332399.

I have a problem with flip-flopping between “hey, this thing I made is pretty neat!” and “oh god this is awful, what was I thinking?”, in addition to being a severe overthinker in general – a bad combination that can easily spin out of control if I’m not careful! I really appreciate the nudge back to reality and the reminder that any work spent improving the piece would not be in vain.
As I get my bearings and settle more comfortably into the role of an IF author, this neuroticism should hopefully become easier to assuage, and I might be able to see my own art just a little more clearly! :slightly_smiling_face:

I feel very honoured that folks see Dysfluent as a positive example; this alone gives me a lot of motivation to try to make it the best it can be.

If all goes well, I’ll post an update in this thread sometime this spring to share the latest version of the game! I can finally type two-handed again which should make things much easier, haha.

You’re totally right! I had shared bits of these thoughts in various review/discussion threads, but this is the first time I put it all together and go into more detail about the game’s background and development.

I think just writing the postmortem was a much-needed opportunity to reconnect with the game and to let go of all the thoughts and ideas that I had been bottling up.


It just occurred to me that I forgot to talk about the technical challenges – there were a couple of interesting ones that took some trial-and-error to get just right, like creating the sidebar or changing the hover effect on links. If anyone sees an aspect of Dysfluent’s presentation or gameplay that they’d like to replicate, but can’t figure out how to do so by looking at the code, feel free to reach out! @Allx and I would be happy to help!

5 Likes

I think I said this in my review, but I am one of those people who hates times text, and I actually appreciated it in this game. There was a good reason for it to be there, and I did think that it echoed the PC’s struggles nicely. So at least for one player, you got the effect you intended!

Thanks for the postmortem-- it’s always cool to see the thought process behind an interesting game.

7 Likes

Make that two. I thought the timed text fit perfectly with the content.

5 Likes

Thanks for the postmortem on Dysfluent!

It’s good to see that you have grown as an author- Nonverbal Communication is more than just a puzzle- it’s a window into the world of the mute. (I forgot to say this in my review).

1 Like

I think I was one of the ones who loathed the timed text and made that extremely clear in my review. However I want to emphasize that it wasn’t all the timed text, as I felt that having timed text for the stutters and blocks made 1000% sense and worked well. When it was other people’s words, or a flashback, or just normal description that wasn’t the PC speaking, I felt it was more frustrating and unnecessary. If that stuff is curtailed I think the timed text stutters will be even more effective in contrast.

I think it was good to make the game, and if you made a post-comp update with all the fixes you had in mind I’d love to replay.

5 Likes

Thanks to everyone for the feedback, it’s much appreciated!! :blush:

That’s an interesting interpretation, I admit it wasn’t intentional on my part! But certainly I had noted that the PC’s ordeal could mirror experiences of folks dealing with disability – particularly people who have mobility issues and rely on others for help with certain tasks.

Even though it’s obviously not on the same level as true representation, if my fantasy story can help put into perspective some of the real-world challenges of certain medical conditions, that would be a wonderful thing! (I do want to emphasize that it was not written as an educational game, though)

More on the inspirations behind NC in its own postmortem… :wink:

Thank you for your input! :smile: It’s so helpful to hear constructive feedback on elements that could be improved.

A few different people have made a similar suggestion (keep the timed text to the PC’s dialog), and I considered it when deciding on improvements, but I struggled to figure out how it would work!
Like, I totally understand the theory and reasoning behind it, but mechanically, I’m not sure how to create a conversation where only one half is timed. Maybe by putting each response on a separate page? It wouldn’t be my preferred structure, but I would consider it (maybe as a toggle in the options?) if it could help make the game more accessible!

I would love to know how you feel about potentially having the same structure, but with options to make the text go by faster for people who read quickly. Would it sufficiently help improve the experience, even if the overall amount of timed text remains unchanged?

2 Likes

That would be great. Not only to clearly illustrate the character's struggle and set it apart from fluent speech, but also to impress upon the player that it’s her responses being delayed, her agency undermined.

Ideally, I imagine a dialog where fluent speech would be timed at fast reading speed (maybe adjustable), and stuttering speech would be timed slower and in juttering bursts.

3 Likes

…I was about to say “it’s very simple” but it turns out in Harlowe it’s a bit weirder and requires (or seems to? not familiar with harlowe anymore) a BUNCH of nesting.

Here’s the same code to your first passage, but with the effect I’m talking about. You can test it in the live code editor here: https://twine2.neocities.org (the Typewriter passage was removed so it’ll run in the live code editor). Should work.

Code
(if:$anim is not true)[(set: $typewriterText to "12 years old
Math class")](else:)[//12 years old
Math class//](if:$anim is not true)[(set:$ani to .05)]

It's still early in the school year, and you're listening to the new math teacher recite answers as your eyes scan your exercise book. Your brow furrows in surprise as you realize that one of your answers is different from the one he gave.

You raise your hand and he gestures for you to speak.

"Remind me what your name is?"

(live:$ani*18.5s)["It's,(stop:) (live:$ani*19s)[um...(stop:) (live:$ani*20s)[uh..."(stop:)

(live:$ani*21s)["Forget your name?"

Your classmates laugh. You're still struggling to push out the letter 'A' when he changes the subject with a wave of the hand. "What was your question?"(stop:)

(live:$ani*30s)["For the so...(stop:) (live:$ani*31s)[um, the solution to...(stop:) (live:$ani*32.5s)[to...(stop:) (live:$ani*33s)[to...(stop:) (live:$ani*33.5s)[to n-number...(stop:) (live:$ani*35s)[to number f-f-five,(stop:) (live:$ani*37s)[would it be okay to use a p-p-p-p-p-p...(stop:) (live:$ani*40s)[a p-percent...(stop:) (live:$ani*41s)[a percent...(stop:) (live:$ani*42s)[percent...(stop:) (live:$ani*43s)[percentage in...(stop:) (live:$ani*44.5s)[in...(stop:) (live:$ani*45s)[in...(stop:)(live:$ani*45.5s)[stead(stop:) (live:$ani*46.5s)[of a ffff...(stop:) (live:$ani*47.5s)[frac...(stop:)(live:$ani*48s)[action?"(stop:)

He just looks at you for a moment. Maybe he didn't understand you?

He looks at the rest of the class.(stop:) (live:$ani*54.5s)["Anyway..."

Pretending like you never spoke at all, he moves onto the next exercise and resumes his explanations.]]]]]]]]]]]]]]]]]]]]]]

I should also note there are probably way easier ways to write this code, like using the (after:) macro or just switching to Sugarcube but I wanted to retain your approach for this purpose.

(edit: I think with all the stop macros + nesting this makes the pauses increment instead of follow in succession, so I sped it up just for the sake of the example)

3 Likes

Actually I re-looked at it and I think this would be fine without nesting lol, though I still think another way of coding it would be preferable

Summary
(if:$anim is not true)[(set: $typewriterText to "12 years old
Math class")](else:)[//12 years old
Math class//](if:$anim is not true)[(set:$ani to 1.25)]

(live:$ani*3s)[It's still early in the school year, and you're listening to the new math teacher recite answers as your eyes scan your exercise book. Your brow furrows in surprise as you realize that one of your answers is different from the one he gave.(stop:)]

(live:$ani*13s)[You raise your hand and he gestures for you to speak.

"Remind me what your name is?"(stop:)]

(live:$ani*18.5s)["It's,(stop:)] (live:$ani*19s)[um...(stop:)] (live:$ani*20s)[uh..."(stop:)]

(live:$ani*21s)["Forget your name?"

Your classmates laugh. You're still struggling to push out the letter 'A' when he changes the subject with a wave of the hand.

"What was your question?"(stop:)]

(live:$ani*30s)["For the so...(stop:)] (live:$ani*31s)[um, the solution to...(stop:)] (live:$ani*32.5s)[to...(stop:)] (live:$ani*33s)[to...(stop:)] (live:$ani*33.5s)[to n-number...(stop:)] (live:$ani*35s)[to number f-f-five,(stop:)] (live:$ani*37s)[would it be okay to use a p-p-p-p-p-p...(stop:)] (live:$ani*40s)[a p-percent...(stop:)] (live:$ani*41s)[a percent...(stop:)] (live:$ani*42s)[percent...(stop:)] (live:$ani*43s)[percentage in...(stop:)] (live:$ani*44.5s)[in...(stop:)] (live:$ani*45s)[in...(stop:)](live:$ani*45.5s)[stead(stop:)] (live:$ani*46.5s)[of a ffff...(stop:)] (live:$ani*47.5s)[frac...(stop:)](live:$ani*48s)[action?"(stop:)]

(live:$ani*50s)[He just looks at you for a moment. Maybe he didn't understand you?

He looks at the rest of the class.(stop:)] (live:$ani*54.5s)["Anyway..."

Pretending like you never spoke at all, he moves onto the next exercise and resumes his explanations.(stop:)]

Yeah, I definitely had some issues with the Harlowe nesting format, haha. It can get a bit tricky to work with!

I saw your edits and additions:
The original was much faster, so I think you’re probably right that having too many (live:) macros open without (stop:)ing them is slowing it down?
And thanks for sharing the new code, I’ll take a look!

That’s why I wanted to specifically address the (live:) macro in my postmortem: it’s definitely not ideal for this purpose! But it’s all I knew back then :laughing: I’m not sure if (after:) existed yet when I first started writing these scenes; if it did, I totally missed it, and only found out about it when it was too late to change all the stuff I’d already done.

I think I understand a bit better now what the suggestion means, thank you for the example!
If I’m understanding correctly:

  • The initial text would not be timed at all
  • Any subsequent text would be timed regardless of who says it, but it would appear in bigger chunks (and maybe for less time) if it’s not the PC’s dialog

I have to admit I’m not sure I see the benefit of printing a paragraph of 4 sentences and leaving it for 16 seconds, as opposed to having 2 sentences for 8 seconds, then 1 for 4 seconds, and a last one for 4 seconds.
To me it feels like the most important factor is not the fragmentation, but instead the text matching the reading speed of the player, since even the whole-paragraph approach can feel frustrating if the text is left sitting there for too long (and my hope is that maybe the fragmented-paragraph approach could feel satisfyingly-paced if it goes by fast enough!)

I’ll keep pondering the question, and if anyone has further input, I’ll be sure to consider it!

(And I am currently learning Sugarcube, it’s exciting to see the different possibilities it offers! :white_medium_small_square::blue_heart:)

1 Like

Specifically this, yes.

It’s both (to me) – the fragmentation makes the text read stuttery, and while that is perfect for the actual stuttering, it gets frustrating for the non-stuttering dialogue/descriptions/etc. You could put the bigger paragraphs on screen with less of a pause between them and the next text, since they’re not disappearing or anything so the player can read them freely. I won’t argue with you about your themes though.

Yeah <<timed>> would’ve made your life much easier :sweat_smile: