- Jun 10, 2017
- 11,026
- 16,330
Just my impression about the code (haven't even started the game). Please don't take it bad, it's not a critic of your coding capabilities. I appear that I have a little more knowledge than you, it would be a waste to not share it. Especially since your comments make me hope that it will be a game that I'll love to play.
That's all I've seen, but like I said, I haven't played the game yet (not really a game to play when your 16yo daughter is at home ), so I can have missed something which isn't obvious by just reading the code.
- You don't need to use "global" with variables knew by Ren'py (so used outside of a "python" block in a .rpy file).
Just use "store.[name of the variable]" and you'll access them, without the need to even have a "global store". Bonus, it will remember you that you can also use setattr and getattr. - Why " if c == "fM" and not s:" and not negative values for f ?
For me the combination of a positive value and a flag to negative them latter, is an opened door for a lot of bugs. Same are the way too long lines needed to call the function.
Apparently you always display the same text for the same action, so manage the said text directly in the function. As for "c" it's useless. You can replace it by "a.startswith( "fM" )" or even a string's slice ( a[:2] ) if you keep the format "NN_action" where "NN" is the two letters nickname of a character.
You don't have permission to view the spoiler content. Log in or register now. - What's the meaning of the whole "if fM_bj >= fM_pussy >= fM_anal:" part in the start label ?
The name (and documentation) is confusing but the label is really called only when you start a fresh game by clicking on the "start" button on the main menu ; by opposition to "config.start_callbacks" where "start" mean "Ren'py is launching". So, this code will be played only once, when the variables all have their initial value (since they aren't persistent).
Are you thinking about the "afterload" label ? Which is called each time a game is loaded. - "if persistent.skipintro == True:"
What's the meaning of it if you bypass it anyway ? I mean, you make it at True if the player have seen the intro at least once, which for me mean, "alright, you've already played the game, I'll not show you the introduction another time". But like you still give the choice to the player, it become useless. Whatever "skipintro" is set to True or not set, the game will act exactly the same.
Are you thinking about "None" (default value for any persistent attribute/variable), which will mean, "you haven't seen the introduction, want you to see it this time", and lead to seeing the introduction only once whatever the number of time you play the game.
That's all I've seen, but like I said, I haven't played the game yet (not really a game to play when your 16yo daughter is at home ), so I can have missed something which isn't obvious by just reading the code.