My gut feeling is that you're trying to do something very stylized that sounds good on paper, but will annoy certain players.
Players have an expectation about how RenPy games present dialogue to them. If you mess with that, some people will be annoyed.
Or put another way, by forcing specific timing on people - you are taking away the player's ability to play at their own pace.
Maybe someone wants to read "Hello!"... go make a cup of coffee and then continue reading.
But to answer your question: It's possible to introduce specific timings and such with a combination of
You must be registered to see the links
.
Specifically
{w}
(Wait) and
{nw}
(No Wait).
Additionally, you can move to the line below by adding a
{p}
(Paragraph) tag.
{w}
and
{p}
both include a countdown timer before dialogue continues. Like
{w=2}
to include a "wait 2 seconds" pause. You can also set the timer to zero, for no pause.
To complicate your plan further, some people (including myself) play in what is known as "slow text mode".
This is what happens when you go into the game's preferences and move the "Text Speed" slider to the left. Instead of appearing instantly, each character is revealed one after another. How fast or how slow depends on how far you move the slider.
To give the impression of the text moving down a line at time, you must override the "slow mode" text by using the
{fast}
tag. Again, you're overriding the player's choices about how they want to play the game.
But here's code that might do something like you have planned...
Python:
define vc = Character("Voice")
label start:
scene black with fade
vc "Hello!{fast}{w=1}{nw}"
vc "Can you hear me?{p=0}Hello!{fast}{w=1}{nw}"
vc "Heeeeello?!{p=0}Can you hear me?{p=0}Hello!{fast}{w=1}{nw}"
vc "Someone there???{p=0}Heeeeello?!{p=0}Can you hear me?{p=0}Hello!{fast}{w=1}{nw}"
vc "Whaaaaaaaaa....{p=0}Someone there???{p=0}Heeeeello?!{p=0}Can you hear me?"
"*** THE END ***"
return
By all means, try this code and see if it does what you were aiming for. But honestly, there's nothing wrong with this either:
(and it will annoy a lot less people).
Python:
define vc = Character("Voice")
label start:
scene black with fade
vc "Hello!"
vc "Can you hear me?"
vc "Heeeeello?!"
vc "Someone there???"
vc "Whaaaaaaaaa...."
"*** THE END ***"
return
I'd suggest trying both these bits of code... Then go into preferences and move the "Text Speed" slider a long way to the left and then replay the same dialogue to see the difference. Then keep in mind that while you personally might prefer the original way, that slider is there to give other players the choice.
Then maybe go back and remove the
{fast}
tags to see why I felt I needed to include them to achieve what you were aiming for.