Saru77

New Member
Apr 5, 2023
13
28
32
Not that I would know ANYTHING about how that content is coming together....but I have it on good authority that many of the threesome scenes are intended to have variations, some based on stats, some on inventory, some with a random component...lots of options...(and the writer just downright HAD to cut some of it out in fact. At least one had 9 core variations originally planned before any partial variations but had to be trimmed for development time and risk of over-repetition...)
I kinda figured after all the times I tried to play strip poker with Tails; 3 different outcomes where everyone is naked and only one of them gets you a sex scene. I started thinking I was doing something wrong when he kept running away until I realized it probably was unfinished.

Speaking of which, couple of issues I noticed. I don't know if anyone's mentioned this, but whenever I play regular poker with Tails, I keep getting an error screen near the end of the interaction. I don't know if it's because I'm on Android, but it pops up in the same spot every time. Luckily, the screen comes with an ignore button, so I can just tap that and move on.

I also noticed that once you get the Tails/Cream threesome, you can't trigger strip poker anymore; the game only lets you play regular poker for the rest of the save file, which is especially odd since the other threesomes are repeatable. I actually ran into a similar issue with Knuckles; apparently if you guys have sex in the Garage, he'll just refuse to visit you again whenever you call.
 
  • Like
Reactions: Novaca

FoxyTails

Member
Feb 9, 2020
341
868
258
Speaking of which, couple of issues I noticed. I don't know if anyone's mentioned this, but whenever I play regular poker with Tails, I keep getting an error screen near the end of the interaction. I don't know if it's because I'm on Android, but it pops up in the same spot every time. Luckily, the screen comes with an ignore button, so I can just tap that and move on.
Not that I would know anything, but any chance of a screenshot of the error and you say it happens every time in the same spot... out of curiosity - what spot ?

Looking at the script I can't see anything obvious - the regular poker game is mainly just text as far as I can see except for 3 lines that MAY be the cause, although why I don't know as they are pretty much repeated through the game in some form or other

You don't have permission to view the spoiler content. Log in or register now.
I also noticed that once you get the Tails/Cream threesome, you can't trigger strip poker anymore; the game only lets you play regular poker for the rest of the save file, which is especially odd since the other threesomes are repeatable.
Had a look in the script & you're right

In Guests.rpy L1699 (BSC V0.7) there's
Code:
if not achv.completed('tails_3way') and flags.has('get_naked'):
        c "Fine, no cookies...but we have to do something to make it interesting. How about..."
        x "Cream gets a mischievous look on her face."
        c "We play Strip Poker.
:
:
else:
      x "You go to the cabinets where the games are stored and pull out an old, dusty, almost never used Monopoly box. You pilfer the fake money from it and return to Cream and Tails. You divvy up equal amounts of fake money to each of you."
        s "Here. This way we can still bet and keep the game interesting. You know, keep it more like the real thing."
So once 'tails_3way' is triggered then it IS normal Poker - surprised no one has pointed this 'bug' out before, so maybe changing it to just if flags.has('get_naked'): then strip poker can be repeated although some of the current text may be a bit misleading once you have the 3way achievement - the first time you play Tails is very nervous & shy, so surely after the first time he'll be more willing & less nervous/shy to 'play' ?

I actually ran into a similar issue with Knuckles; apparently if you guys have sex in the Garage, he'll just refuse to visit you again whenever you call.
Looks like its a similar thing with Knuckles - phone.rpy Line 13 >21
Code:
"Knuckles":
                    if flags.completed('knux_cuck'):
                        jump .Knux_Angry
                    elif flags.completed('knux_hookup'):
                        jump .Knux_Later
                    elif flags.completed('called_knux'):
                        jump .Knux_Call
                    else:
                        jump .Knux_FirstCall
Once you have 'knux_hookup' it'll jump to '.Knux_later' where he tell you Babysitting Cream is more important, not sure how to make this repeatable unless some OTHER stat could be used or some type of delay introduced like 'once xx days have passed he would come round' or a 'cooldown counter' that decreases per day & when it reaches zero, then Knuckles willing to come round again
 
Last edited:
  • Like
Reactions: Novaca

Pleevy

Member
Nov 23, 2024
285
850
103
Speaking of which, couple of issues I noticed. I don't know if anyone's mentioned this, but whenever I play regular poker with Tails, I keep getting an error screen near the end of the interaction. I don't know if it's because I'm on Android, but it pops up in the same spot every time. Luckily, the screen comes with an ignore button, so I can just tap that and move on.
Not that I would know anything, but any chance of a screenshot of the error and you say it happens every time in the same spot... out of curiosity - what spot ?
As Foxy indicated, we do need a little more information. Most of the time, really bad code makes an error right when you start the game and so you know to go fix it immediately...but some bugs do not trigger this and we need to know when/where they happen to be able to fix them. The more info you give us the better for fixing the issue (As this is a technical issue not content.)
I kinda figured after all the times I tried to play strip poker with Tails; 3 different outcomes where everyone is naked and only one of them gets you a sex scene. I started thinking I was doing something wrong when he kept running away until I realized it probably was unfinished.
Looking at the script I can't see anything obvious - the regular poker game is mainly just text as far as I can see except for 3 lines that MAY be the cause, although why I don't know as they are pretty much repeated through the game in some form or other
Had a look in the script & you're right
In Guests.rpy L1699 (BSC V0.7) there's
So once 'tails_3way' is triggered then it IS normal Poker - surprised no one has pointed this 'bug' out before, so maybe changing it to just if flags.has('get_naked'): then strip poker can be repeated although some of the current text may be a bit misleading once you have the 3way achievement - the first time you play Tails is very nervous & shy, so surely after the first time he'll be more willing & less nervous/shy to 'play' ?
this one will require looking into...like Foxy mentioned there is some code that is uesed throughout the rest of the game, which is probably why it was used and should function normally...now...as to how it is INTENDED to function...that's I think more important here. Foxy is also right. The way that content is written does not lend itself to repreating, and as far as I can recall...the intent is not to have it repeatable...and we are flirting with the homo-erotic aspect (discussed more below, re: knuckles etc.) so those are things to take into consideration. It will be reviewed regardless, and we can update you if there are changes coming in anything post 0.7.3 (Which is not public, you guys probably wont get anythign new until 0.7.5 at the earliest.)
I also noticed that once you get the Tails/Cream threesome, you can't trigger strip poker anymore; the game only lets you play regular poker for the rest of the save file, which is especially odd since the other threesomes are repeatable. I actually ran into a similar issue with Knuckles; apparently if you guys have sex in the Garage, he'll just refuse to visit you again whenever you call.
Looks like its a similar thing with Knuckles - phone.rpy Line 13 >21
Once you have 'knux_hookup' it'll jump to '.Knux_later' where he tell you Babysitting Cream is more important, not sure how to make this repeatable unless some OTHER stat could be used or some type of delay introduced like 'once xx days have passed he would come round' or a 'cooldown counter' that decreases per day & when it reaches zero, then Knuckles willing to come round again
Now, here I can speak more knowledgeably: Not every interaction is meant to be repeatable. The Knuckles interactions fall within this category. there are several dynamics. The first being that the core game is not "meant to be" a homo-erotic experience. There has been a enough back channel discussion about this as things have progressed. Obviously,
You don't have permission to view the spoiler content. Log in or register now.
existed in the original game from all those years back, and that was part of the decisions to not cut out all homo-erotic content, however...it is definitely NOT meant to be the main content/content type. Basically, think of it as Knuckles gives in for reasons that will be part of the "mystery story" and because of the car angle, but he's not really "into it" and so its a one time thing, he has no desire to repeat it and opts to just stay out of things after such an interaction. He is, as is clear in other text through out the game, getting his fair share of sex outside of what's going on in the bunny household. There are no current plans to change this, as the emphasis is meant to be on Sonic/Cream with a side helping of the other women in the game universe.
You don't have permission to view the spoiler content. Log in or register now.
 

Saru77

New Member
Apr 5, 2023
13
28
32
x "Cream lights up and giggles. She gets up and gives Tails a hug. You see him blush slightly as she does."
It's this line. After clicking next on this line I get this screen Screenshot_20250917-163511_Babysitting Cream Remake (Xaverion edition).jpg

Like I mentioned, I just hit ignore on the bottom and it lets me continue the interaction, but it happens every time.


Once you have 'knux_hookup' it'll jump to '.Knux_later' where he tell you Babysitting Cream is more important, not sure how to make this repeatable unless some OTHER stat could be used or some type of delay introduced like 'once xx days have passed he would come round' or a 'cooldown counter' that decreases per day & when it reaches zero, then Knuckles willing to come round again

Now, here I can speak more knowledgeably: Not every interaction is meant to be repeatable. The Knuckles interactions fall within this category. there are several dynamics. The first being that the core game is not "meant to be" a homo-erotic experience. There has been a enough back channel discussion about this as things have progressed. Obviously,
You don't have permission to view the spoiler content. Log in or register now.
existed in the original game from all those years back, and that was part of the decisions to not cut out all homo-erotic content, however...it is definitely NOT meant to be the main content/content type. Basically, think of it as Knuckles gives in for reasons that will be part of the "mystery story" and because of the car angle, but he's not really "into it" and so its a one time thing, he has no desire to repeat it and opts to just stay out of things after such an interaction. He is, as is clear in other text through out the game, getting his fair share of sex outside of what's going on in the bunny household. There are no current plans to change this, as the emphasis is meant to be on Sonic/Cream with a side helping of the other women in the game universe.
Reading this, I completely understand the logic & reasoning and am fine with the Garage scene itself being only a one time thing per run, but I do think it's little messed up that it locks you out of doing anything else with Knuckles, NSFW or not, especially since it's the easiest of his additional interactions to unlock. At least with the aforementioned Tails rape you have to actively work toward triggering that scene, but with Knux, you could literally knock it out within the first 3 minutes of the game only to find out that you basically screwed yourself by doing so. Maybe that's just me.
 
  • Like
Reactions: Novaca

Pleevy

Member
Nov 23, 2024
285
850
103
It's this line. After clicking next on this line I get this screen

Like I mentioned, I just hit ignore on the bottom and it lets me continue the interaction, but it happens every time.

Reading this, I completely understand the logic & reasoning and am fine with the Garage scene itself being only a one time thing per run, but I do think it's little messed up that it locks you out of doing anything else with Knuckles, NSFW or not, especially since it's the easiest of his additional interactions to unlock. At least with the aforementioned Tails rape you have to actively work toward triggering that scene, but with Knux, you could literally knock it out within the first 3 minutes of the game only to find out that you basically screwed yourself by doing so. Maybe that's just me.
Perfect. That is exactly what we need to troubleshoot. At first glance, I can only see one variance, that if it is the cause is a super easy fix and will fix a smattering of other errors like this that people would see. (Because I can see the save variation in the code.) Will follow up and either fix it in the next release, or I can patch the file and upload it here in the meantime.

For the other part....I am pretty sure that there are requirements needing to be met to have the encounter occur...so unless you were actively trying to just go straight to that, then your example shouldn't be as harsh to the functional situation of players who are "stumbling across" the content. We can review that and adjust, but priority is going to be on the new content, and any changes to this would be down the road and only if things are moving smoothly with the new content. No promises aside from that. :censored:

Edit: 2 things: First, I just noticed that it says android...which means I cannot just post up one file for you to use as a patch, it will require more work and need to come to you in a future patch, but on that note, I went through and changed 4 occurrences of what i believe to be the erroneous code, that should solve for the one you bring up and 3 other possible ones you may never have seen but WOULD have if you got to the same point in the code.

Also...I do see that there is a hole in the requirements strings leading to the section you referred to that does make your very quick circumstance possible. We will have to adjust that in some way, either by having a more stringent requirement to get there or changing the "sensitivity" of the trigger that locks you out. Neither should be too much code, so it can be a quick fix.

Edit No. 2: Middle ground
You don't have permission to view the spoiler content. Log in or register now.
Will be implemented in next version.
 
Last edited:

Pleevy

Member
Nov 23, 2024
285
850
103
I kinda figured after all the times I tried to play strip poker with Tails; 3 different outcomes where everyone is naked and only one of them gets you a sex scene. I started thinking I was doing something wrong when he kept running away until I realized it probably was unfinished.

I also noticed that once you get the Tails/Cream threesome, you can't trigger strip poker anymore; the game only lets you play regular poker for the rest of the save file, which is especially odd since the other threesomes are repeatable.
In Guests.rpy

So once 'tails_3way' is triggered then it IS normal Poker - surprised no one has pointed this 'bug' out before, so maybe changing it to just if flags.has('get_naked'): then strip poker can be repeated although some of the current text may be a bit misleading once you have the 3way achievement - the first time you play Tails is very nervous & shy, so surely after the first time he'll be more willing & less nervous/shy to 'play' ?
Reviewed this area of the code.

All of the outcomes for strip poker can lead to Naughty encounters. You may not have met the "other requirements" though, if I read the code right...if you don't and Tails chickens out, then you SHOULD be able to get back to the strip Poker option and try again as the code that locks you out currently, should only trigger if you actually had a threesome.

Foxy references the proverbial linchpin of it at the moment. The fastest 'dirty' fix would be to remove that one requirement, and then it would be repeatable but the dialogues would make less sense than if it was planned to be repeatable. Will review and see, no promises on whether this will be heavily refined or not...except to say, it will be looked into.

Focus meant this was one of the trimmed down areas, where the goal was to have the Tails x Cream x Sonic Threesome (Referenced in the original game back in the day) but not going as heavy as say one of the MFF threesomes, for the same reasons discussed relating to the content of that type, but also for time, as there is a lot of OTHER content still to be created to finish the game.

Edit: So, I went through the code and made some changes...more than initially intended. As such, in the next release there will be a CHANCE for the strip poker to be repeated, and if it is not going to be, then the interactions will be different. I also noticed that there was a note in the code that these may not stay the final/official string of events to have the Cream x Tails x Sonic Threesome, but the goal was to have this file locked and loaded and ready so more attention could be paid to getting new graphics and finishing the new content of the game, and since poker was used in another part of the game...well that was contributing to using this as a gateway to it. Despite that there have been lots of suggestions for the Tails content in general, the same discussion points still stand.
 
Last edited:
  • Like
Reactions: Novaca

Pleevy

Member
Nov 23, 2024
285
850
103
That should be 5, not +5. But the plus in that specific case does literal nothing so it cant cause a bug
In computers, all it takes is one 1 or one 0 off to make a bug...and + is at least 8 of those. I would rather "do it right" which works best in understanding what is being done...and if it is "Supposed" to NOT have +, that is an easy fix. If I were doing it for the first time, I would either have copied directly from some other part of the code (which already had it that way) and did the new code that way or copied it's opposite (something reducing it) and then using simple logic assumed that the opposite again was needed for the other direction.

For learning purposes, this reads to me as function stats.change defaults to adding the number provided with, which is why when you add a negative number it reduces it and renders the need for a + moot in adding a positive number, and the function does not ever do "take x for the stat and no matter what number it is, change it to y"

Which COULD make sense (using the oddity of language applied to code)...even if that's not how THIS code actually works...if it were deemed an important enough function and they did not want to have another function to do the same-ish thing.

You don't have permission to view the spoiler content. Log in or register now.
 
  • Like
Reactions: Novaca and seronis

FoxyTails

Member
Feb 9, 2020
341
868
258
That should be 5, not +5. But the plus in that specific case does literal nothing so it cant cause a bug
AI to the rescue. I asked a simple question of

'renpy why does stat.change('RWC',+5) cause an error but stat.change('rwc',+5) don't'

it's answer...
The stat.change function, as documented in the Ren'Py framework, is designed to modify a stat's value by a specified amount. The function expects the stat name to be provided as a string.

The discrepancy between stat.change('RWC', +5) and stat.change('rwc', +5) suggests a case sensitivity issue.

Ren'Py itself is generally case-sensitive for variable names, so RWC and rwc would be treated as distinct variables unless explicitly defined otherwise.
then I asked 'whats the difference between ('rwc',+5) and ('rwc',5)'

There is no functional difference between stat.change('RWC', +5) and stat.change('RWC', 5) in Ren'Py.
At Saru77 - Nice bug catch
Bug catcher.png
 
Last edited:
  • Like
Reactions: Novaca

Pleevy

Member
Nov 23, 2024
285
850
103
That's what I figured when I reviewed the code. So I searched for all instances of RWC (in the guests file at least, I don't think I made any rwc changes elsewhere) and replaced all uppercase with lowercase, to fix it. NGL...that "bug picture"...kinda creepy o_O
 
  • Like
Reactions: Novaca

FoxyTails

Member
Feb 9, 2020
341
868
258
That's what I figured when I reviewed the code. So I searched for all instances of RWC (in the guests file at least, I don't think I made any rwc changes elsewhere) and replaced all uppercase with lowercase, to fix it.
Just FYI - I've looked searched/through the whole game folder for any other stats.change('RWC' - well technically did (it's what I usually use when I look through the scripts) - and nothing came up except for the guests.rpy file


stats.change.png
 

Pleevy

Member
Nov 23, 2024
285
850
103
Just FYI - I've looked searched/through the whole game folder for any other stats.change('RWC' - well technically did (it's what I usually use when I look through the scripts) - and nothing came up except for the guests.rpy file
So...what you're basically saying is...SOMEone who has almost ONLY worked int he guests file...didn't know what they were doing...and did it wrong...and you just HAD to point out that this happened nowhere else and by none else....:p (I see how it is)
 
  • Haha
  • Like
Reactions: DarkLink and Novaca

seronis

Member
May 9, 2022
193
332
178
Code:
        def change(self, key, amount=1, notify=False):
            stat = self.get(key)
            if stat.notify_enabled:
                if stat.desc not in self._changes:
                    self._changes[stat.desc] = 0
                self._changes[stat.desc] += amount
                if notify:
                    self.notify()
            # if config.developer:
            #     log('Changed stat %s: %d\n' % (key, amount))
            return stat.change(amount)
in stats.rpy the 2nd class in there is class Stats and this is the change function. it requires a key (the string name of the stat to change) and will automatically increment by 1 without notification if no additional arguments are passed. you can refer to amount or notify by name/value pair, or if you pass them in order you dont need their names. thus
Code:
stats.change('rwc', 1)
passes 1 as a positional argument instead of by name (a keyword argument)

now in vars.rpy we got
Code:
        stats_init = Stats()
        stats_init.add('energy', 'Energy', 200, 0, 1000, notify_enabled=False)
        stats_init.add('rwc', 'Relationship with Cream', 25, 0, 1000)
        stats_init.add('happy', 'Happiness')
        stats_init.add('peep', 'Peeping', category='sonic')
        stats_init.add('lust', 'Lust', category='sonic')
        stats_init.add('jerk', 'Jerking Off', category='sonic')
        stats_init.add('expose', 'Exposure', category='sonic')
        stats_init.add('touch', 'Touch', category='sonic')
        stats_init.add('moral', 'Moral Alignment', 0, -20, 20)
        stats_init.add('hunger', "Cream's Hunger", 5, -5, 5, notify_enabled=False)
and rwc is in lowercase. thats why RWC failed

-edit-

side info. if you're curious why its called stats_init here instead of just stats (and why all the other dictionaries are using an _init suffix) its for save file compatability during updates. the init versions are loaded at program launch with default values for all currently existing variables. when a save file loads its only using a stats variable. stats_init doesnt save. but renpy (actually BSC specifically, not renpy) compares the two dictionaries during save load and copies any init entries that arent in the game. not really important as i dont think new stats were ever added, but the person doing the original renpy port went all out on the code. the CODE for bsc is actually great. its only the labels thats using the base code that is trash and thats because it tried to be "true to the swf version"
 
Last edited:

seronis

Member
May 9, 2022
193
332
178
ok while grabbing that info on stats I found a tiny, almost-bug, in the after_load label in the bottom of the vars.rpy file.
Code:
label after_load:
    $ renpy.block_rollback()
    if (game_version != config.version):
        call init_vars from _call_init_vars_1
        $ game_version = config.version
should be
Code:
label after_load:
    if (game_version != config.version):
        call init_vars from _call_init_vars_1
        $ game_version = config.version
        $ renpy.block_rollback()
the difference is the first only blocks rollback prior to applying a fix, and blocks rollback at all times.

the fixed version doesnt block rollback when there was no changes needed since rollback wont break anything in that case. and does block rollback AFTER the fixes are applied so you can no longer undo the fixes by accident
 

FoxyTails

Member
Feb 9, 2020
341
868
258
So...what you're basically saying is...SOMEone who has almost ONLY worked int he guests file...didn't know what they were doing...and did it wrong...and you just HAD to point out that this happened nowhere else and by none else....:p (I see how it is)
Sorry..... Should I get punished ??
Foxy 2.png
 
  • Like
  • Jizzed my pants
Reactions: Novaca and Pleevy

Pleevy

Member
Nov 23, 2024
285
850
103
the AI is outright lieing to you. There is no stats.change() function in renpy as there is no stats object in renpy. That is a custom python class purely part of BSC
Hmm...thought experiment: Since current forms of "AI" are not true "Artificial Intelligence"...then AI does not have intent...can you lie without intent? If the definition of lying is to simply pass on false information, then yes...it fits, but...if you have to know that the information is false and still pass it on to lie...then that becomes a misstatement. Example: When I was a child, I believed in Santa Clause (Not St. Nicholas, not A man named Klaus living in the north, the big red fat magic being traveling the world and giving presents out). If young me told you "Santa Clause is real." because I believe it even if not true, am I lying to you? I am giving you false information yes, but its information I believed to be the truth, so there is no intent to deceive, just passing on information.
Sorry..... Should I get punished ??
Probably...but we don't all always get what we deserve now, do we?
 
  • Like
Reactions: Novaca

seronis

Member
May 9, 2022
193
332
178
Hmm...thought experiment: Since current forms of "AI" are not true "Artificial Intelligence"...then AI does not have intent...can you lie without intent? If the definition of lying is to simply pass on false information, then yes...it fits, but...if you have to know that the information is false and still pass it on to lie...then that becomes a misstatement. Example: When I was a child, I believed in Santa Clause (Not St. Nicholas, not A man named Klaus living in the north, the big red fat magic being traveling the world and giving presents out). If young me told you "Santa Clause is real." because I believe it even if not true, am I lying to you? I am giving you false information yes, but its information I believed to be the truth, so there is no intent to deceive, just passing on information.

Probably...but we don't all always get what we deserve now, do we?
Yes its lieing. There is no code training that there is a stats object, or a changed method on that object, in renpy. It should respond "i am not trained on that data" or just "i dont know". Instead it made something up and passed it off as confirmed information. A direct claim that is contrary to known information is a lie. =-)
 
  • Like
Reactions: DarkLink and Novaca

FoxyTails

Member
Feb 9, 2020
341
868
258
hey is there a new update?
The current 'latest' public update is v0.7 available here

However, to paraphrase what someone else has posted here
I have it on good authority that ... things ARE happening behind the scenes..
What they are, I can't say..
(looking over my shoulder)

Come closer ....
(double checking no-one is near)

A bit nearer ........

You don't have permission to view the spoiler content. Log in or register now.
 
Last edited:
4.50 star(s) 4 Votes