So you haven't even took a look at the "doc" folder that stand in the same directory than the SDK launcher, right ? Because, unlike the cookbook, Thomas update it for each release and it's relatively obvious.
No, I'm talking about what I said, reducing the number of screens by not uselessly splitting them... By example having a single screen handling all the girls status.
[wrote on the fly, you can write way more efficient screen that this one]
Code:
screen relation( starting="mira" ):
default page = starting
frame:
if page == "mira":
add MiraRelPanel
elif page == "alice":
[...]
hbox:
textbutton "mira":
action SetScreenVariable( "default", "mira" )
null width 10
textbutton "alice":
action SetScreenVariable( "default", "alice" )
[...]
textbutton "close":
action Return()
vbox:
xpos 0.351 ypos 0.22
if default == "mira":
text "Relationship Score: [MiraRelScore]"
text "Chaos Level: [MiraChaosLevel]"
null height 5
text "-------------------"
null height 5
text "Known Issues:"
if mira["knownIssue1"] is True:
text "Oral Fixation - Gum and Suckers"
else:
text "???"
if mira["knownIssue2"] is True:
text "Out of Character Issue"
else:
text "???"
null height 5
text "-------------------"
null height 5
text "Known Fetishes/Kinks:"
if mira["knownFetish1"] is True:
text "Oral Fixation - Blowjobs"
else:
text "???"
if mira["knownFetish2"] is True:
text "Oral Fixation - Blowjobs"
else:
text "BDSM - Bondage & Spanking"
elif default == "alice":
[...]
This in place of the screens MiraRelationReport, MiraProblemText, MiraProblem1, MP1UnknownDisplay, MP2UnknownDisplay, MF1UnknownDisplay,
MF2UnknownDisplay, MiraProblem2, MiraFetishText, MiraFetish1 and MiraFetish2, and obviously the derived screens for the other girls.
Like I said, a single screen do exactly the same thing than your almost 40 screens. It do it better and divide by more than ten the code you have to write when you want to show the relation screen.
Still I had it...
Excuse me ? Are you really seriously trying to say that Ren'py, an engine entirely wrote in Python, lack of object orientation ?
Like for Python itself, where absolutely everything is an object, everything in Ren'py is an object. You write "label start", you create a renpy.ast.Label object. You write "define MiraRelScore = 0", you create a renpy.ast.Define object that will create an attribute inside the renpy.store object handling all the variables in the Ren'py global scope.
Yes, Ren'py language don't have a single statement regarding objects... because it don't need them. You can massively use Python code directly inside your Ren'py code. Ren'py API have a function to add any statement you want, writing their code in Python, and it can import any Python module you want...
In short, what you said is the total opposite of the truth.
Said the guy who used his diploma as proof that he can't be wrong...
I don't assumed, I knew it, and now that I've read what you had to answer, I even affirm it ; almost all what you said is just false.
And none of these "Ren'py expert" told you that
define is not to use since it don't make the variable savable, and that you should have used
default instead ? Nor told you about the
tag screen property, telling you how it could ease your works because you'll never ever have to hide a screen ?
Now the choice is up to you. I tried to help you because I think that the idea behind your game worth it. But well, apparently you never learned to question your own thoughts, and so didn't even took the time to follow one of the link I provided, to discover that there's a whole world you don't know yet.
So, unless you question yourself and accept to learn from people who know better than you (because we are many here), it seem that soon or later it will be yet another abandoned game. Because no one can past a full year copy/pasting tons of junk code without ending bored as fuck. I know it, I past two years being a code monkey after the birth of my first child.