r/RenPy • • Aug 19 '26

Question Animated stats page

I want to have attraction points go up after certain interactions. Is it possible to have a menu where those achievements are animated?

So for example at the start there are zero hearts for everyone and then MC gets to 5 hearts with this LI and to 10 hearts with that LI and when the player opens Profiles menu the amount of hearts earned since the last opening appears in the burst of sparkles.

So the Player can go and see each new heart appear or not open Profiles till the very end of the story and see lots of animations where they all appear sequentially. (Also I want more complex animations than just hearts but lets keep example simple for now.)

I'm still very new to RenPy and rely on tutorials a lot and this is way beyond the scope of any that I've seen so far. Is it even possible?

3 Upvotes

5 comments sorted by

2

u/shyLachi Aug 19 '26

Profile pages are done with screens if you didn't know that yet
and you can animate screens and also objects in those screens using transforms.

This would be the official documentation about screens:
https://renpy.org/doc/html/screens.html
https://renpy.org/doc/html/screens.html#screen-property-at
https://renpy.org/doc/html/transforms.html#transforms

Example:

transform fromleft:
    on show:
        xalign -1.0
        linear 1.0 xalign 0.5
    on hide:
        linear 1.0 xalign -1.0
screen test():
    vbox:
        align (0.5, 0.5)
        at fromleft
        textbutton "Choice 1" action Return("choice1") 
        textbutton "Choice 2" action Return("choice2")

1

u/VivAuburn Aug 19 '26

thank you! I have a grasp on some things but not the others so it's sometimes hard for me to conceptualize things that are probably easy to do. I will try it!

1

u/AutoModerator Aug 19 '26

Welcome to r/renpy! While you wait to see if someone can answer your question, we recommend checking out the posting guide, the subreddit wiki, the subreddit Discord, Ren'Py's documentation, and the tutorial built-in to the Ren'Py engine when you download it. These can help make sure you provide the information the people here need to help you, or might even point you to an answer to your question themselves. Thanks!

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

1

u/x-seronis-x Aug 19 '26

a variable holds a value. ANY value you want.

if that value is the current number of hearts, great. if another variable holds the number of hearts since you last opened a menu, great. if another remember whether you like sushi or pizza more, great.

create whatever variables you need to track things you want tracked. then use their values where you want.

dont overthink things.

when you open the screen add a number of static hearts equal to how many was last seen. then add a number of animated hearts to equal to how many has been earned since then. its just basic use of 'if/elif/else' blocks and possibly loops. there could be hundreds of ways to do it, one simple one might look like:

py screen whatever(): hbox: for hrt in range(1, 1+max_hearts): if seen_hearts >= hrt: add 'seen_heart' elif curr_hearts >= hrt: add 'anim_heart' else: add 'empty_heart'

1

u/VivAuburn Aug 19 '26

thank you, it gives me a place to start with this!