r/RenPy

▲ 1 r/RenPy

Won't boot just this (already deleted persistent and saves) How do I fix it

```

I'm sorry, but an uncaught exception occurred.

While running game code:

Exception: Could not load the game. Perhaps the script changed in an incompatible way.

-- Full Traceback ------------------------------------------------------------

Traceback (most recent call last):

File "renpy/common/_layout/screen_main_menu.rpym", line 28, in script

python hide:

File "renpy/ast.py", line 1187, in execute

renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "renpy/python.py", line 1273, in py_exec_bytecode

exec(bytecode, globals, locals)

~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "renpy/common/_layout/screen_main_menu.rpym", line 28, in <module>

python hide:

File "renpy/common/_layout/screen_main_menu.rpym", line 35, in _execute_python_hide

ui.interact()

~~~~~~~~~~~^^

File "renpy/ui.py", line 306, in interact

rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "renpy/display/core.py", line 2154, in interact

repeat, rv = self.interact_core(

~~~~~~~~~~~~~~~~~~^

preloads=preloads,

^^^^^^^^^^^^^^^^^^

...<4 lines>...

**kwargs,

^^^^^^^^^

)

^

File "renpy/display/core.py", line 3248, in interact_core

rv = root_widget.event(ev, x, y, 0)

~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^

File "renpy/display/layout.py", line 1281, in event

rv = i.event(ev, x - xo, y - yo, cst)

~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^

File "renpy/display/layout.py", line 1281, in event

rv = i.event(ev, x - xo, y - yo, cst)

~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^

File "renpy/display/layout.py", line 1281, in event

rv = i.event(ev, x - xo, y - yo, cst)

~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^

File "renpy/display/screen.py", line 805, in event

rv = self.child.event(ev, x, y, st)

~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^

File "renpy/display/layout.py", line 1281, in event

rv = i.event(ev, x - xo, y - yo, cst)

~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^

File "renpy/display/layout.py", line 1510, in event

rv = super(Window, self).event(ev, x, y, st)

~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^

File "renpy/display/layout.py", line 273, in event

rv = d.event(ev, x - xo, y - yo, st)

~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^

File "renpy/display/layout.py", line 1281, in event

rv = i.event(ev, x - xo, y - yo, cst)

~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^

File "renpy/display/layout.py", line 1510, in event

rv = super(Window, self).event(ev, x, y, st)

~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^

File "renpy/display/layout.py", line 273, in event

rv = d.event(ev, x - xo, y - yo, st)

~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^

File "renpy/display/layout.py", line 1281, in event

rv = i.event(ev, x - xo, y - yo, cst)

~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^

File "renpy/display/layout.py", line 273, in event

rv = d.event(ev, x - xo, y - yo, st)

~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^

File "renpy/display/behavior.py", line 1185, in event

return handle_click(self.clicked)

~~~~~~~~~~~~^^^^^^^^^^^^^^

File "renpy/display/behavior.py", line 1107, in handle_click

rv = run(action)

~~~^^^^^^^^

File "renpy/display/behavior.py", line 411, in run

return action(*args, **kwargs)

~~~~~~^^^^^^^^^^^^^^^^^

File "renpy/common/00action_file.rpy", line 499, in __call__

renpy.load(fn)

~~~~~~~~~~^^^^

File "renpy/loadsave.py", line 638, in load

log.unfreeze(roots, label="_after_load")

~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "renpy/rollback.py", line 1099, in unfreeze

raise Exception("Could not load the game. Perhaps the script changed in an incompatible way.")

Exception: Could not load the game. Perhaps the script changed in an incompatible way.

Linux-6.17.0-35-generic-x86_64-with-glibc2.39 x86_64

Ren'Py 8.5.2.26010301

That ending 1.02

Sun Jul 5 22:49:38 2026

```

reddit.com
u/Hot-Difference-9470 — 4 hours ago
▲ 1 r/RenPy

How to make a variable reset to one after reaching the maximum number?

I'm making a dress up game. You press a left or right arrow to change your fairy wings. The left arrow decreases the variable by one, the right arrow increases by one. The variable number determines which wings are shown in game.

The arrows

This is the screen code that makes the arrows work.

screen wings_category_screen():


    add "nf_dressup/menu/menu_wings_border.png"


    # Wing Buttons
    imagebutton:
        idle "wings_arrow_for"
        hover "wings_arrow_for_h"
        focus_mask True
        action [SetVariable("nf_current_wings", nf_current_wings + 1)] # add 1 to variable each click


    imagebutton:
        idle "wings_arrow_back"
        hover "wings_arrow_back_h"
        focus_mask True
        action [SetVariable("nf_current_wings", nf_current_wings - 1)] # minus 1 to variable each click

The wings are then shown using an elif statement. (Maybe inefficient)

screen nf_character_wings ():
    if nf_current_wings == 1:
        add "nf_wings1"
    elif nf_current_wings == 2:
        add "nf_wings2"
    elif nf_current_wings == 3:
        add "nf_wings3"
    elif nf_current_wings == 4:
        add "nf_wings4"
    elif nf_current_wings == 5:
        add "nf_wings5"
    elif nf_current_wings == 6:
        add "nf_wings6"
    elif nf_current_wings == 7:
        add "nf_wings7"
    elif nf_current_wings == 8:
        add "nf_wings8"
    elif nf_current_wings == 9:
        add "nf_wings9"
    elif nf_current_wings == 10:
        add "nf_wings10"
    else:
        pass

This works fine, until I want the variable to reset to 1. I tried adding this to my elif statement:

elif nf_current_wings == 11:

$ nf_current_wings = 1

But then the variable gets stuck at 1 and cannot change when the arrows are clicked anymore. How do I get my variable to reset to one, so my wings options can "loop" around to the beginning? I want my maximum variable to be 11. Once 11 is reached, it resets to 1.

reddit.com
u/lycheestar_ — 11 hours ago
▲ 1 r/RenPy

Two expressions in a row error

I'm getting the error
File "game/script.rpy", line 77: ATL statement contains two expressions in a row; is one of them misspelled property? If not, separate them with pass.

add "character" →align (0.5, 0.0)

Does anyone know how to fix it? I am not really a programmer and was following a tutorial. The error refers to the first line in "scene character_customization:" but it might be elsewhere as it usually is...

init python:
    def customize_character(type, direction):
        global skin_color
        global hair_color
        global eye_color
        global shirt_color


        if direction == "right":
            if type == "skin":
                if skin_colors.index(skin_color) &lt; len(skin_colors) - 1:
                    skin_color = skin_colors[skin_colors.index(skin_color) + 1]
                else:
                    skin_color = skin_colors[0]
            if type == "hair":
                if hair_colors.index(hair_color) &lt; len(hair_colors) - 1:
                    hair_color = hair_colors[hair_colors.index(hair_color) + 1]
                else:
                    hair_color = hair_colors[0]
            if type == "eyes":
                if eye_colors.index(eye_color) &lt; len(eye_colors) - 1:
                    eye_color = eye_colors[eye_colors.index(eye_color) + 1]
                else:
                    eye_color = eye_colors[0]
            if type == "shirt":
                if shirt_colors.index(shirt_color) &lt; len(shirt_colors) - 1:
                    shirt_color = shirt_colors[shirt_colors.index(shirt_color) + 1]
                else:
                    shirt_color = shirt_colors[0]
        elif direction == "left":
            if type == "skin":
                if skin_colors.index(skin_color) &gt; 0:
                    skin_color = skin_colors[skin_colors.index(skin_color) - 1]
                else:
                    skin_color = skin_colors[-1]
            if type == "hair":
                if hair_colors.index(hair_color) &gt; 0:
                    hair_color = hair_colors[hair_colors.index(hair_color) - 1]
                else:
                    hair_color = hair_colors[-1]
            if type == "eyes":
                if eye_colors.index(eye_color) &gt; 0:
                    eye_color = eye_colors[eye_colors.index(eye_color) - 1]
                else:
                    eye_color = eye_colors[-1]
            if type == "shirt":
                if shirt_colors.index(shirt_color) &gt; 0:
                    shirt_color = shirt_colors[shirt_colors.index(shirt_color) - 1]
                else:
                    shirt_color = shirt_colors[-1]


        renpy.retain_after_load()
           


image character = Composite(
    (600, 600),
    (0, 0), "Charactercustomizer/hair-long-[hair_color]-back.png",
    (0, 0), "Charactercustomizer/body-skin-[skin_color].png",
    (0, 0), "Charactercustomizer/eyecolor-[eye_color].png",
    (0, 0), "Charactercustomizer/shirt-[shirt_color].png",
    (0, 0), "Charactercustomizer/hair-long-[hair_color]-front.png"
)


transform half_size:
    zoom 0.5


transform character_transform:
    align(0.0, 0.7)


transform arrows:
    anchor(0.5, 0.5)
    on hover:
        zoom 1.05
    on idle: 
        zoom 1.0


scene character_customization:
    add "character" align (0.5, 0.0)
    #hair
    imagebutton:
        idle "UI/arrow-right.png" 
        align(0.7, 0.3) 
        action Function(customize_character, type = "hair", direction = "right") 
        at arrows
    imagebutton:
        idle "UI/arrow-left.png" 
        align(0.3, 0.3) 
        action Function(customize_character, type = "hair", direction = "left") 
        at arrows
    #skin
    imagebutton:
        idle "UI/arrow-right.png" 
        align(0.7, 0.4) 
        action Function(customize_character, type = "skin", direction = "right") 
        at arrows
    imagebutton:
        idle "UI/arrow-left.png" 
        align(0.3, 0.4) 
        action Function(customize_character, type = "skin", direction = "left") 
        at arrows
    #eyes
    imagebutton: 
        idle "UI/arrow-right.png" 
        align(0.7, 0.5) 
        action Function(customize_character, type = "eyes", direction = "right") 
        at arrows
    imagebutton:
        idle "UI/arrow-left.png" 
        align(0.3, 0.5) 
        action Function(customize_character, type = "eyes", direction = "left") 
        at arrows
    #shirt
    imagebutton:
        idle "UI/arrow-right.png" 
        align(0.7, 0.6) 
        action Function(customize_character, type = "shirt", direction = "right") 
        at arrows
    imagebutton:
        idle "UI/arrow-left.png" 
        align(0.3, 0.6) 
        action Function(customize_character, type = "shirt", direction = "left") 
        at arrows



label scene_1: 
    scene background
    show character at character_transform
    c "This is a custom character."


screen start_screen:
    image "Backgrounds/background.png"
    imagebutton:
        idle "UI/start-button-idle.png" 
        hover "UI/start-button-hover.png" 
        align(0.5, 0.9) 
        action Jump("scene_1")
    hbox:
        align(0.5, 0.1)
        text "Character name:" size 18 color "#000000" yalign 0.5 outlines[(absolute(2), "#ffffff", 0, 0)]
        frame:
            background "#ffffff" 
            yalign 0.5
            input value VariableInputValue("character_name") minwidth 150 length 10


    use character_customization


define character_name = ""
define c = character(name = "character_name", dynamic = True)
    


label start:
    $skin_colors = ["light", "medium", "dark"]
    $hair_colors = ["blonde", "brown", "black"]
    $eye_colors = ["brown", "blue", "green"]
    $shirt_colors = ["blue", "green", "pink"]


    $skin_color = skin_colors[0]
    $hair_color = hair_colors[0]
    $eye_color = eye_colors[0]
    $shirt_color = shirt_colors[0]
    
    call screen start_screen
    return
reddit.com
u/Lei_Line_Life — 10 hours ago
▲ 7 r/RenPy

Can i make moving image buttons? Is there a way to import animation data?

Hello, I'm new to making visual novels and have only worked on 3d games in unity previously. Now I'm trying to decide how to make my first visual novel and renpy seems really great, but i couldn't figure out if the following things would be possible:

  1. I have learned so far that if you want something to happen when an image is clicked, you can use an Image Button. Can this Image Button be animated? So for example i want a bird flying across the screen and the player can click it as it is moving to trigger dialog, how would I do that? (To be clear I don't mean the bird flapping its wings, I mean it traveling across the screen)

  2. Is there a way to import animation data from a software like blender, not rendered as an mp4 but as an object with key frames? So if that bird from the previous example was flying complicated patterns across the screen I wouldn't want to do that in renpy, I would animate it in blender but the bird still needs to be clickable, is that possible?

Thank you! :D

reddit.com
▲ 4 r/RenPy

Subject: Market Research on Frameworks and Modules for Ren'Py Development

I am investigating the actual needs of the Ren'Py developer community regarding professional-grade development tools. After benchmarking the current landscape—which is often limited to basic systems (UI, chat, inventory, relationship stats) derived from community snippets (LemmaSoft) or free, poorly documented source code—I have identified a significant gap for 'plug-and-play' professional solutions.

With this in mind, I want to identify which types of complex frameworks or modules would be viable for monetization. What tools are valuable enough to justify a purchase, and what pricing model would be acceptable for a framework that is easily adaptable, well-documented, and modular?

To help narrow down your development focus, which area of Ren'Py development do you find most frustrating or time-consuming to implement: technical integrations (Steam/Cloud/Saves, other ?), core gameplay mechanics (inventories/scheduling/stats/other ?), or UI/UX and visual system scalability?

reddit.com
u/SympathyFar5569 — 1 day ago
▲ 23 r/RenPy

Showing sprites for my Gorillaz dating sim: Momentary x Kiss!

Hello! I wanted to share more sprites of my Gorillaz dating sim: Momentary x Kiss.

A synopsis of the game, since I haven't posted here in a while: You play as a fan who won a sweepstakes & get to spend 6 weeks with a member of your choice; Noodle, 2d, Russel & Murdoc.

There are 6 date locations: A beach, carnival, restaurant, mall, bar & movie theater. There's a gift shop where you can buy cheap knick-knacks, sell items or work for extra money.

During the week, you can text with the members to get to know them-- all info you learn will be logged on a notepad app. Bonesy (the skull mascot of the band), will give you 2 hints a day on the member you chose. These will give you ideas of what to buy them members to boost your relationship.

Your dates are every Saturday & any other day, you can go to the date locations by yourself to purchase gifts. During the dates, you can't use your phone-- be sure to memorize what you learned, as at the end of the date, there's a 5 question quiz on the fictional characters & the real life Gorillaz.

There will be cameos from other Gorillaz characters: Ace, Del, Cyborg Noodle & Paula Cracker. There will be 3 endings for the game: Best Ending, Friend-Zone Ending & Bad Ending.

All art is drawn by me & I will be learning Python/Ren'Py to do the coding for the game! Been working on this since December 2024

u/MrSketchy23 — 1 day ago
▲ 4 r/RenPy

How can I add draggables to a screen from a dictionary.

I try to add draggable objects to the screen "backgroundscreen" from a dictionary of imaged with position data, that I have populated with a selection screen. I could add one object but not more with the for loop.

Can you loop trough a dictionary with a for loop and add draggable objects to a screen in runtime? And how should I do this?

I have another problem how do I stop the game from showing the say window and progress the dialog. I have hidden it but it reappears.

Sorry for the long code snippet. I trimmed it down as much as possible I think.

Thank you very much

define e = Character("Eileen")

default img_file = "skip.png"
default dict_index = 1
default my_dict = {}


screen dashboard():
    zorder 90
    grid 2 2:
        
        xalign 0.5
        yalign 0.1
        spacing 10 
        # deleted buttons for other stuff
        textbutton "load image":
            action Show ("list_screen")
            
label start:
    show screen backgroundscreen 
    call screen dashboard   
    
init python:
    import os
    import re
    def file_list(dir=""):
        list = renpy.list_files()
        # list = os.scandir(config.gamedir)
        rv = []
        for f in list:
            if re.match(dir,f):
                rv.append(f[(len(dir)):])


        return rv
    
screen list_screen:    
    $ files = file_list("")
    viewport:
        draggable True 
        mousewheel True
        vbox:
                xalign 0.5
                text(str(len(files)))
                textbutton ("Hide!"):
                    action Hide(screen="list_screen")
                for i in files:
                    textbutton ("{size=25}"+i+"{/size}") action [[SetVariable("img_file", i),Hide(screen="list_screen",immediately=True),Call("add_image")]] xfill True
                 
window hide
pause 1.0
e""   



label hide_list_screen:
    $ renpy.hide_screen("list_screen",immediately=False)
    $ renpy.show_screen("dashboard")


label add_image:    
   
    $ zorder_value += 1
    $ dict_index += 1
    $ my_dict["[dict_index]"] = ("[img_file]",800, 100, zorder_value)

    screen backgroundscreen:
        zorder 1
        fixed:           
            draggroup:                             
                
                for img, val1 in my_dict.items():
                    $ img_name, xpo, ypo, zpo = val1
                   
                    drag:
                        drag_name "[img_name]"
                        draggable True
                        droppable True    
                        xpos xpo ypos ypo                         
                        add([img_file])                                     
                            
    jump start                      
    
label a:

return 
u/Content_Office_7610 — 1 day ago
▲ 1 r/RenPy

Struggling to add a Webm as a background

Hello again! I'm back with more help needed. I'm a complete beginner in code, so please word it for me like I'm five. I'm currently trying to add a video (in webm) format as the background of my VN, but no matter how I write it out, my game says:

"could not load image 'images/bg_loopable.webm' (webm files are not supported by Ren'Py): error('Unsupported image format')

This is what the code currently looks like in my declare file (my video file's name is bg_loopable.webm), though I've gone through several iterations of this based on other advice online.

image bg_loopable = Movie(play = "images/movies/bg_loopable.webm")
show bg_loopable at truecenter
pause

And in my main script, it is supposed to be triggered by:

    screen test:
        add "bg_loopable"

I would also ideally like for shorter, non-looping clips to play when certain dialogue is chosen, so if anyone can give suggestions on how to trigger those as well, it would be greatly appreciated.

Thank you in advance for any help you're able to provide, I really appreciate it!

reddit.com
u/Dry-Variation-8048 — 1 day ago
▲ 278 r/RenPy+1 crossposts

I'm just pleased with how my settings UI is looking.

I have a lot of placeholders still, and some pages not done yet, but it's coming along. >w<
I particularly like the changing portraits in the corner as it's randomized.

The Table of Contents is fun as it switches between two blurbs. 1 if they haven't read that chapter and just unlocked it, it will give a brief "previously on" type. And if they have read the chapter, it focuses on just what's in that particular chapter. I figured this lets people come back and get refreshers if they set it aside and come back later. Or if I release in arcs.

I really need to hunker down and get more chapters done. >.< Hoping to do this once my life calms down.

Next thing I want to do for the settings is to make it play the animation when you originally click on it to have a book opening animation. (but only when opening from in game not main menu. Although my brain is fried so this is good enough for now haha)

u/ArgamaWitch — 2 days ago
▲ 127 r/RenPy+4 crossposts

Hi I'm super excited to tell you about my dark yuri VN Carmilla. It's inspired by the original novel I have my own thoughts one how the romance (or what others will call 'obsession') unfolds. I'm a month away from the demo but just thought of sharing the first look 😄 Please do Wishlist if you like what you see 😄

https://store.steampowered.com/app/4488990/Carmilla__Crimson_Moon/

u/Fercaren — 2 days ago
▲ 4 r/RenPy

AttributeError: ‘StoreModule’ object has no attribute ‘all_npc_first_names’

Hey, I’m trying to use Robo Barbie’s chatsim framework and I’ve run into a problem where launching the game results in an error.

I assume I’ve probably made a mistake in the third image as I don’t really know how to do lists yet, but I tried a decent few different things and was struggling to find an answer online so if anyone could give advice as to how to fix the error, that would be great! Going to keep trying to research the problem here so I’ll edit this if I figure it out!

u/Certain_Arm_1864 — 2 days ago
▲ 1 r/RenPy

Character sprite not changing?

Hello, I'm having an issue where my sprite "mc shout" is not changing to "mc neutral" by line 263.

Basically, I want him to look like he's shouting, and then for him to go back to normal as the scene is fading out. I've done this exact thing countless times already in every other part of the script, yet at this part it isn't and I really don't know why. Any help would be appreciated!

u/KuroTheFox — 1 day ago
▲ 2 r/RenPy

Randomised TintMatrix on an infinitely repeating background element

I've had the crazy idea of adding a repeating, scrolling strip layer to the background of a scene, and then change its colour at random intervals. I have the following:

init python:
    import random
    fogcolours = [
        "#4040ff",
        "#00e0e0",
        "#e0f000",
        "#e800e8",
        "#00f0c8",
        "#f08000",
    ]


    def randomfog(st, at):
        fogshiftcolor = random.choice(fogcolours)
        d = Transform (
            "carbg/smokey strip.webp",
            matrixcolor=TintMatrix(fogshiftcolor)
        )
        return d, random.uniform(0.5, 6.0)


image repeatingcolourfog:
    DynamicDisplayable(randomfog)
    xoffset 0
    linear 2.0 xoffset -2624
    repeat

But each change to the colour restarts the animation and, while it's not overly obvious unless you're looking for it, I'd prefer the colour change to happen without popping the animation back to the beginning each time.

Is that possible?

reddit.com
u/HEXdidnt — 2 days ago
▲ 1 r/RenPy+1 crossposts

I'm making a horror game using Ren'Py. I need help.

Like the title says!! I am wondering if anyone has any tips on making a horror visual novel? Like any scripts I can follow to make jumpscares, or various things like that. I apologize for my vagueness, I'm just open to any script tutorials. Any recommendations on tutorials or general advice is so so so appreciated. Please!! Thank you.

reddit.com
u/RottenRabbit_7 — 2 days ago
▲ 13 r/RenPy

Feedback on my Jam-game needed. (A studdy in love)

Hello everyone.

I just completed a game-jam, and the game is about solving the case of whatever your friends crush likes her or not, that spiraled out of control to become to highprofile to fail.

I wonder if this jam-entry is interesting enough to polish up and flesh out more.

I also want to know if any buggs has slipped through the cracks.

link:

https://cabindraws.itch.io/a-study-in-love

Features:

-A mystery to solve. By typing in your answers

-6 endings.

-Talking skills.(Your rpg skills are talking to you.)

-A tiny explorable street.

Thank you all in advance.

u/CabinDraws — 2 days ago
▲ 3 r/RenPy

Object Oriented Programming Scope Declaration Question

Should I declare class instances outside of init python: or label: blocks at the highest scope? Everywhere I look this up I get conflicting information on what I should do.

For more specifics when I declare a class instance at the highest scope on file I keep all my variables on in the game folder as:

default newClass = class()

I am unable to reference newClass outside of the highest scope. Any changes done to it at the module level seem to be forgotten when referenced in a label: or screen: block.

But when I declare the class instance within a label: block I can reference it anywhere. And it appears to save and not break on rollback. But if this will be trouble in the future I'd rather fix it now and not way down the line.

Is that the correct way to be doing it or should they be declared at the highest scope? Should I not have a separate file for all of my variables, classes, etc.?

reddit.com
u/JuneStar02 — 2 days ago
▲ 66 r/RenPy

Sharing My First Visual Novel Prototype Screens 🏛️

I wanted to share a few scenes from the visual novel I’m currently working on 💛

It’s set in a very not-classical version of Ancient Greece, and I’m now putting together the first playable prototype. The goal is to let people try it, see how it feels to play, and collect feedback before I go too far with the final art and mechanics.

The game will have three main characters to choose from, three days of preparation for a contest, different routes, choices, small mechanics, and hopefully enough branching to make replaying it interesting.

Right now, the prototype is still very rough, and honestly, it’s scary to show it at this stage. But I think it’s better to share early, listen to feedback, and improve things while they’re still flexible.

This week I worked on several scenes, character expressions, atmosphere, and visual readability. I’m still figuring out how everything should feel on screen, so if you notice anything in the screenshots – something confusing or worth improving – I’d be really happy to hear your thoughts.

I also keep an open devlog on Patreon where I write about each step of the process. It’s free to read, and I’m always incredibly grateful for feedback and support there.

For now, here are a few characters and screens from the prototype!

patreon.com/c/annieidiotstile

u/idiotstile — 3 days ago
▲ 2 r/RenPy

Once all Showif Image Buttons are clicked, move to next scene.

PLS HELP IF U CAN, SRY IM A YAPPER.

GOAL:

After all buttons are clicked, it moves to story_3. It's for an interactive clean up scene in my game.

Hello! I am stuck in an issue, and this is for a game jam. I am trying to make it that after clicking the image buttons (All of them or specific ones like tt1 and tt2 and tt3 and tt4:) Then it moves to next label which I would call lets say uhhh story_3.

But I tried to do it that maybe it does if not tt1: (Or like etc) and maybe add else: it would work? But I want the buttons to disappear, so Im using showifs. BUT THEN AGAIN Im still a little newbie when it comes to renpy. So this is kind of puzzling to me. If I move my default tt1 or tt2(SO ON-) Outside of the screen, it gets an error since I have that togglescreenvariable. SO AAAAAAAA HELP ME PLS. Anyways still searching but any help is great!

Also this script is just how it works so far, but please like- help with making it that it moves to label story_3.

Here's the script since it's pretty long.

screen penthouse_cleanup1():


    default tt1 = True
    default tt2 = True
    default tt3 = True
    default tt4 = True
    default tt5 = True
    default tt6 = True


    add "bg home"


    showif tt1:
        imagebutton:
            yanchor 0.5
            xanchor 0.5
            xpos 0.64
            ypos 0.8
            at zoomedsmall
            auto "cardboard_%s.png"
            action ToggleScreenVariable("tt1")



    showif tt2:
        imagebutton:
            yanchor 0.5
            xanchor 0.5
            xpos 0.5
            ypos 0.45
            at zoomedtinyy
            auto "cardboard1_%s.png"
            action ToggleScreenVariable("tt2")



    showif tt3:
        imagebutton:
            yanchor 0.5
            xanchor 0.5
            xpos 0.2
            ypos 0.8
            at zoomedtinyy
            auto "paper_%s.png"
            action ToggleScreenVariable("tt3")



    showif tt4:
        imagebutton:
            yanchor 0.5
            xanchor 0.5
            xpos 0.3
            ypos 0.6
            at zoomedtiny
            auto "spill_%s.png"
            action ToggleScreenVariable("tt4")


    showif tt5:
        imagebutton:
            yanchor 0.5
            xanchor 0.5
            xpos 0.673
            ypos 0.57
            at zoomedtinyy1
            auto "blood_%s.png"
            action ToggleScreenVariable("tt5")screen penthouse_cleanup1():


    default tt1 = True
    default tt2 = True
    default tt3 = True
    default tt4 = True
    default tt5 = True
    default tt6 = True


    add "bg home"


    showif tt1:
        imagebutton:
            yanchor 0.5
            xanchor 0.5
            xpos 0.64
            ypos 0.8
            at zoomedsmall
            auto "cardboard_%s.png"
            action ToggleScreenVariable("tt1")



    showif tt2:
        imagebutton:
            yanchor 0.5
            xanchor 0.5
            xpos 0.5
            ypos 0.45
            at zoomedtinyy
            auto "cardboard1_%s.png"
            action ToggleScreenVariable("tt2")



    showif tt3:
        imagebutton:
            yanchor 0.5
            xanchor 0.5
            xpos 0.2
            ypos 0.8
            at zoomedtinyy
            auto "paper_%s.png"
            action ToggleScreenVariable("tt3")



    showif tt4:
        imagebutton:
            yanchor 0.5
            xanchor 0.5
            xpos 0.3
            ypos 0.6
            at zoomedtiny
            auto "spill_%s.png"
            action ToggleScreenVariable("tt4")


    showif tt5:
        imagebutton:
            yanchor 0.5
            xanchor 0.5
            xpos 0.673
            ypos 0.57
            at zoomedtinyy1
            auto "blood_%s.png"
            action ToggleScreenVariable("tt5")
reddit.com
u/LittleBirdieStudioos — 2 days ago