Help making multiple menus, unlockable endings

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Post Reply
Message
Author
User avatar
10takuru
Newbie
Posts: 1
Joined: Fri Nov 06, 2015 3:49 pm
Contact:

Help making multiple menus, unlockable endings

#1 Post by 10takuru »

If anyone here has played Umineko no Naku Koro ni (either 1-4 or 5-8; both handle menus the same way) will be able to easily picture what I'm trying to accomplish.

There are four chapters to the main story, and at the beginning of the fourth chapter, a character asks the player which story they want to follow for the fourth chapter, choosing from five different protagonists. This much I've already accomplished.

What I want to do is have the "Start" menu option lead to a sub-menu, allowing you to choose which chapter to start from, and have 2, 3, and 4 locked until you've reached them in a full playthrough. Once you've read through all five protagonists' routes, a second menu item is unlocked at the main menu, inside which are three side-stories that are all self-contained. Once they are read, a third menu item is unlocked that leads directly into an epilogue. Again, if you've read Umineko no Naku Koro ni, it functions very similarly.

This seems like it's going to be an extremely complicated process, so I haven't even begun to attempt it myself until I ask here what the best way to go about it is.

I apologize if this is miscategorized, and thank you in advance for any advice you can give.

User avatar
Taleweaver
Writing Maniac
Posts: 3428
Joined: Tue Nov 11, 2003 8:51 am
Completed: Metropolitan Blues, The Loyal Kinsman, Daemonophilia, The Dreaming, The Thirteenth Year, Adrift, Bionic Heart 2, Secrets of the Wolf, The Photographer
Projects: The Pilgrim's Path, Elspeth's Garden, Secret Adventure Game!
Organization: Tall Tales Productions
Location: Germany
Contact:

Re: Help making multiple menus, unlockable endings

#2 Post by Taleweaver »

Moved to a more appropriate forum.
Scriptwriter and producer of Metropolitan Blues
Creator of The Loyal Kinsman
Scriptwriter and director of Daemonophilia
Scriptwriter and director of The Dreaming
Scriptwriter of Zenith Chronicles
Scriptwriter and director of The Thirteenth Year
Scriptwriter and director of Romance is Dead
Scriptwriter and producer of Adrift
More about me in my blog
"Adrift - Like Ever17, but without the Deus Ex Machina" - HigurashiKira

User avatar
namastaii
Eileen-Class Veteran
Posts: 1350
Joined: Mon Feb 02, 2015 8:35 pm
Projects: Template Maker for Ren'Py, What Life
Github: lunalucid
Skype: Discord: lunalucid#1991
Soundcloud: LunaLucidMusic
itch: lunalucid
Location: USA
Contact:

Re: Help making multiple menus, unlockable endings

#3 Post by namastaii »

There is probably another way to do this but my suggestion is to create a variable that changes depending on where you've been.
define the variables

Code: Select all

$ chapter_3_unlocked = 0
or this, I guess:

Code: Select all

$ chapter_3_unlocked = False
just change the number or change it to true to unlock the chapter.

create a menu where you choose to start from

Code: Select all

menu:
    "Chapter 1":
        jump chapter_1
    "Chapter 2":
        jump chapter_2
Let's say they chose chapter 2:

Code: Select all

label chapter_2:
    d "blah blah blah"
    d "You've completed chapter 2 and chapter 3 is now unlocked."
    $ chapter_3_unlocked = 1
    jump main_menu

Code: Select all

label main_menu:
    menu:
        "Chapter 1":
            jump chapter_1
        "Chapter 2":
            jump chapter_2
        "Chapter 3":
            if chapter_3_unlocked == 1:
                jump chapter_3
            else:
                "You have not unlocked this chapter."
                jump main_menu
(or if chapter_3_unlocked == True etc whatever)

Hope this makes sense. This is how I unlock things or change things.as long as they went through a label that is required to unlock something and you change that variable at that time then it will be unlocked for next time you go through the menu or progress through the story.

User avatar
cath-mg
Regular
Posts: 36
Joined: Fri Oct 30, 2015 8:41 am
Projects: Ashworth's Last Princess (Resigned), Kokorogawari
Organization: Precatio彡
Tumblr: cath-mg
Github: cath-mg
Contact:

Re: Help making multiple menus, unlockable endings

#4 Post by cath-mg »

I haven't really read Umineko no Naku Koro ni but what you wanted is alike to some games I've played. I hope I interpreted it right.
10takuru wrote:What I want to do is have the "Start" menu option lead to a sub-menu, allowing you to choose which chapter to start from, and have 2, 3, and 4 locked until you've reached them in a full playthrough.
In my opinion, the best way to accomplish this is by using persistent variable which will act like flags.

So at first you can define persistent variables so later you can detect which chapters the player has cleared:

Code: Select all

$ persistent.chapter1Clear = False
$ persistent.chapter2Clear = False
$ persistent.chapter3Clear = False
$ persistent.chapter4Clear = False
Note: If you have 5 protagonist and each has 4 different chapters which you want to track individually, then you'll need more, i.e. four persistent variables for each characters. You can probably organize it more using arrays or even classes but you can do it after you get the logic done.

And then you could have something like:

Code: Select all

$ persistent.chapter1Clear = True
On the last line of your first chapter.

Then you can have an if statement on the sub menu screen which will show the chapter as locked or accessible, e.g:

Code: Select all

if persistent.chapter1Clear == True:
#Your code to allow access to the second chapter, by imagebutton or whatever you're using
else:
#Your code to show that the second chapter is still locked and inaccessible
10takuru wrote:Once you've read through all five protagonists' routes, a second menu item is unlocked at the main menu, inside which are three side-stories that are all self-contained. Once they are read, a third menu item is unlocked that leads directly into an epilogue.
Same principle goes for this one. Set persistent variables that define whether the player has read through all five protagonists' routes and another separate set for the three side stories, and change them on appropriate times. Then you do a check before you display the second and third menu item. Hope this makes sense.

Post Reply

Who is online

Users browsing this forum: Bing [Bot]