Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Ren'Py Ripple Transition

A custom transition to displace the screen for dream sequences, water or magic effects, and more. · By Feniks

Need Support? Post here! Sticky

A topic by Feniks created Oct 14, 2023 Views: 145 Replies: 6
Viewing posts 1 to 3
Developer

If you're having trouble or run into any bugs with the code, post a comment here! I will try to get back to you within a few days.

In the transition class's render method, it seems that time_warp is applied after it calculates easein_time and center_warp. I believe time_warp should instead be applied before those two, because otherwise, easein_time and center_warp will be on a different timeline from the ripples.

Developer

Good points! Feel free to make those changes; I've noted it down for my own version. I'll be going through all my tools at some point to test for 8.3 compatibility so I will add this in at that time :)

Is it possible to have this affect the main displayables layer, but not screens? With() takes no layer argument, and Hide(screen="foo", transition=ripple, _layer="master") doesn't do it. I've wanted to create a ripple effect when choice options appear for ages and this looks perfect, but unfortunately ripples over the menu when it appears.

Developer(+1)

You'll need to use dict transitions to have transitions only apply to specific layers! You can read more about how to set that up here: https://www.renpy.org/doc/html/transitions.html#dict-transitions

Oh heck, that simple huh? Rad~.

I think the next thing I'd like to do is have the ripples fade out earlier than move until the edge of the screen. (Because I want their motion to be slow, but the time of the effect to be short.) I suspect I need to use time warps to do that?

Developer

I'm not 100% sure of the effect you're looking for based on your description, but if you'd like to fine-tune the transition speed then you'll use warpers yes.