I'm currently kicking myself for forgetting these two...
- NEVER use
$ renpy.pause(,hard=True)
in any form. Hard pauses are the invention of the devil and should be banned.
- If your game needs to use
pause
, try to always specify a time too (like pause 1.5
).
Lots of developers seem to think
pause
means "stop". It doesn't. Though I can understand why they can think that.
Plus there are lots of games out there, written by lots of developers who mistakenly thought the same thing. Don't copy their mistakes.
RenPy has an "auto advance" feature that allows the player to set a timer which means the player doesn't have to constantly click the mouse or press space or whatever. The time is calculated based on the length of the dialogue that was just displayed in combination with whatever preference the player set.
This is the primary reason why:
Python:
show screen my_screen1
pause
... is a bad idea. As that pause doesn't actually STOP RenPy continuing when the auto-advance timer runs down.
The other reason developers use
pause
is to show an image or animation on screen without any dialogue before continuing to the next image or animation.
... and while they are testing (without auto-advance being switched on)... that's fine. The image/animation is shown and they sit and stare at it as long as they like before clicking the left mouse button to move on.
With auto-advance though....
In the case of two images being shown... The first image is shown, then because there is no actual dialogue - the
pause
lasts about a quarter of a second (slightly longer if you're using
with fade
or
with dissolve
)... then the next image is shown. Not really giving your player time to see the first image.
In the case of an animation followed by an image... The same thing happens. The animation might be 5 seconds long, but that
pause
means things advance in barely any time at all and the player doesn't get to see the full thing.
There is no real downside to
pause {time}
compared with just
pause
. My only advice is to make each pause slightly longer than you think it should be - as you are already aware of what you are seeing/looking for - whereas a player will need a little bit extra time to figure that out.
Edit: Anne points out below that
$ renpy.pause({time})
is preferable to
pause {time}
because
pause
can be bypassed if the player disables transitions in the preferences.
He's told me that before, but I forgot.
Seriously... Hard pauses are evil. Don't be evil.