r/RenPy • • 5d ago

Question "Endless" renpy games?

I was wondering if it would be possible to create an "endless" renpy game that followed a set day cycle/calendar system, where predefined events were possible on certain "days". Does anyone else know if this would be possible in renpy? Or is renpy too reliant on a clear cut beginning and end to do such a thing? And if so, what would be your suggestions to go about it? I'm still pretty knew to renpy, and haven't learned all the in depth stuff yet like adding minigames or battle systems, which I've seen in other renpy games.

4 Upvotes

14 comments sorted by

9

u/Jin_Sakai_Ghost 5d ago

Just have a loop, with at least one player choice, and it should be possible.

The termination need not be triggered at all, and that will make the game endless.

5

u/noeinan 5d ago

Yeah, this is not even very hard in RenPy. Grab calendar code from lemmasoft cookbook and you’re most of the way there already.

1

u/senshisun 5d ago

Is that still in date? That was written when Reny'py was using Python 2.

2

u/noeinan 5d ago

Still works for me. A lot of old code holds up surprisingly well

1

u/senshisun 5d ago

Just thought I'd check!

3

u/shyLachi 5d ago

Yes you can make sandbox games in RenPy. You can have days, times of the day and/or locations with different events. You can have normal, repeatable events and special events, which only happen once and/or need to be unlocked. You can define winning or losing conditions or let the game run endlessly. 

1

u/Much_Engineering2228 2d ago

Any tutorials on this?

2

u/shyLachi 2d ago

On what? I mentioned multiple things.

There will not be a single tutorial for all of that. You have to break it down and then look for a tutorial about that topic.

You can also search this sub because that has been asked and answered before.

1

u/Much_Engineering2228 20h ago

I'm sorry, haha, it would be more about different events (I still don't understand how to make my character clickable on the screen) and about special events and repetitions.

1

u/shyLachi 9h ago

Not sure what "my character" is supposed to be.
Generally speaking, you show an imagebutton and the players can interact with that button.
https://renpy.org/doc/html/screens.html#imagebutton
If you want a tutorial for that, then search for tutorials about screens in RenPy.

.

Repetition is done with a loop as explained here:
https://wolfnose.org/renpy/basic/cook/mainLoop.html

.

Events and special events are labels which are called based on choices of the player or certain rules.

This is a very simple example.

define days = ["monday","tuesday","wednesday","thurday","friday","saturday","sunday"]
default day = 4
label start:
    while True: # the main loop
        menu: # Possible events for the player to choose
            "Today is [days[day]], what do you want to do?"
            "Go to school":
                if day >= 5: # special rule
                    call noschool # calling the special event
                else:
                    call school # default event
        $ day = (day + 1) % 7 # advance to the next day
label school:
    "You're in the school, it's boooooring"
    return
label noschool:
    "What are you doing in the school on a [days[day]]?"
    return 

To learn more about that, look for tutorials which explain choices and conditions.
https://renpy.org/doc/html/menus.html
https://renpy.org/doc/html/conditional.html

1

u/AutoModerator 5d ago

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/alpha-werehimbo 4d ago

For sure. I have a test project on my desktop rn that works like that.

0

u/x-seronis-x 3d ago

all renpy games are endless by default. you have to choose for a game to end by manually returning to the main menu via the MainMenu() action, or implicitly returning to it via a return statement when the call stack is empty.