You make a new Text Adventure game…

You make a new Text Adventure game, and you publish it to the community. Your project boasts a public leaderboard, 20+ rooms, and advanced TUI, and most importantly, typewriter text. Your repl gets 5K runs, but little to no players pass the first level, or even the tutorial. Why?


Table of Contents

1What is Typewriter Text?
What is the Typewriter Effect, and how is it used?
2Active vs. Passive Engagement
What is user engagement and retention?
3The Boredom Factor and The Final Fix
How you can fix this dilemma once and for all.
4Exit Ticket
Don't we all need a TLDR?

What is Typewriter Text?

Typewriter text, or scrolling text, is an effect that many console-based games include to make certain aspects of their game appear like speech or dialogue.
"Math Art 2.0" by @JayAySeaOhBee14
Programmers use the Typewriter effect to increase engagement and make the overall experience more immersive, but by overusing this effect, you can actually drive down your user retention and satisfaction, just because they want to get on with the tutorial. Such small things can cause great differences.

Active vs. Passive Engagement

You want your users to interact with your game, but you also need to inform your users on how to play your game. And that might include an introduction to the keyboard interface or the hidden lore of your game. This is where the two types of engagement come into play. You want your user to be active, but also sometimes passively participating for cutscenes and/or breaks. This is the hard part: finding the goldilocks zone and balancing the two types of engagement.

The Boredom Factor and The Final Fix

Here is how you do it.

Whenever you have an Intro sequence, such as displaying the title at the beginning, give users the option to skip if it takes >2-3 sec, unless your users don’t have to run your repl more than once in their lifetime (just kidding). This applies especially to repls which involve an introduction, such as the background info (meet the trainers and their rivalry) sequence of Pokemon Yellow. You should display it only once, while allowing users to skip most of it, and even completely hiding it if you have already played the sequence to your users before.

For in-game events, such as a fight scene between Bulbasaur and a wild Pidgey, you really shouldn’t make your typewriter text take up more than 60% of the total engagement time, meaning that the user isnt waiting for the typewriter text more than they are thinking about their next move.

Now, the most important part of making your game attractive and playable is through playtesting. Playtesting is very important as it can highlight the bugs in your program while giving you a perspective of the player. Before releasing your game, you should also ask a couple of other people to playtest your game as well, even if you think that it’s perfect, because they might not know everything that you know (the idea came from you in the first place!) so they can also uncover more holes in the “plot” of your game.

Exit Ticket

Claim your spot here.
  • I made it!
0 voters

Next time you make a text-based game, remember these critical points:

  1. Let the user do the steering: Make sure that the user is actively participating about half of the time

  2. Spread out typewriter text and use only when necessary: Avoid using typewriter text for anything like menus and other non-dialogue scenes.

  3. Playtest, Playtest, Playtest!: Always have at least 3 people (including yourself) thoroughly playtest the game to squash out any holes and bugs.

Anyways I hope that this guide has helped, and go out there and make an awesome game!


(btw, TL4, mod, etc, make wiki?)


ok cool but the problem is that replit is slow sooo it’ll probably glitch out lol



from time import sleep

def typewriter(text: str, pause: float = 0.04) -> None:
    for character in text:
        print(character, end="")

that is a very nice implementation of typewriter text!


can you help and these details and improve my text based adventure game pls