sarinee

Member
Apr 12, 2021
290
145
I'm not familiar enough with that code to confirm or deny your observations.
I'm not clear about your openmind vs. excitement suggestion. Excitement is a measure of physical arousal, not mental, correct? Very much analogous to the normal slave arousal stat? And openmind is like a proxy for pride, whether the slave is resistant/hesitant/scared or enthusiastic?
Emm, I regarded openmind as sex acceptance, a low openminded girl prevents her from losing herself to lust in forms like shame, pride, spoil etc. And a max openminded slave is more tolerant on sex interactions, more willing to match your compensation actions. While she still can't disobey her instinct if she feels painful, disgusting etc.

"Partner’s openness affects the complexity and balance in certain actions, on the climax-count threshold and type of orgasm."
The description is quite on the game usage side, like a code comment rather than a introduction.

I can't tell if it's correct. But at least in codes, sex['girl_openmind'] is rarely used directly on physical parameters.
girl_stimulation = master_penetration - friction + sex['girl_openmind'] sex['girl_excitement']
girl_stimulation is clearly a physical parameter, and so do master_penetration and friction, so I think it's better to use excitement here.

I'm not sure the part you identified as a bug is actually incorrect: negative xp can be a valid way of applying a small penalty for mis-play (a barely noticeable penalty, I think, in this case). Negative sex skill xp doesn't translate into the skill dropping, it just means you need more xp to level up, so maybe instead of one lesson you would need two.
I need some time to reconsider again, but basically, I don't think you will do any harm on what she have learnt, when you take the initiative.
Maybe It's proved correct, I'm in low attention now, making more and more gramatical and spelling mistakes, though there are several paradoxical designing points between vagianl sex and anal sex. Leave it tomorrow, good night. :KEK:
 

1953598523

Newbie
Aug 13, 2017
48
15
Why does a cow's skill drop over time? a slave with a perk for wanting to be a cow. For some reason, even if there is a desire on her part, somehow get it up to skill D, but just a couple of days later he rolled back to F
 

sarinee

Member
Apr 12, 2021
290
145
sex_interaction.qsrc
This is comment color.
This is my opinion color.
This is changed or added codes color.
This is bug or unreasonable codes emphasizing color.

The Second Part
You don't have permission to view the spoiler content. Log in or register now.

You don't have permission to view the spoiler content. Log in or register now.

You don't have permission to view the spoiler content. Log in or register now.

You don't have permission to view the spoiler content. Log in or register now.
.
.
.
The First Part
You don't have permission to view the spoiler content. Log in or register now.

You don't have permission to view the spoiler content. Log in or register now.

You don't have permission to view the spoiler content. Log in or register now.

You don't have permission to view the spoiler content. Log in or register now.

You don't have permission to view the spoiler content. Log in or register now.

You don't have permission to view the spoiler content. Log in or register now.

You don't have permission to view the spoiler content. Log in or register now.
 

ImperatorAugustusTertius

Engaged Member
Sep 12, 2020
2,106
803
The Side Panel is completely a debug indicator.
Could any new player make sense of them?
It's not clear what the values represent, but seeing negatives or zeroes there does suggest that the activity isn't going well, and seeing a downward trend in the numbers when repeating a task conveys a similar understanding. It would be better if the text itself gave enough hints.

sex_interaction.qsrc

You don't have permission to view the spoiler content. Log in or register now.
Ideally, repulse values in active sex for various actions would match the repulse for corresponding sex lessons. Including $dyn_sex_acceptance adjustments and $dyn_repulse_check, as you said. We revised the interaction repulse but not the active sex equivalents.

Traits also need to be considered for both repulse and diligence; they are factored into sex_acceptance already.

In my view, every interaction with the slave during active sex that modifies the temporary variables (excitement, attention, openmind, etc.) should factor in all applicable attributes and skills when setting the difficulty of moving those temporary variables in a positive direction. I think this because the temporary variables with a [0.5] range represent the full spectrum from total resistance to enthustiastic nymphomania. In practice, difficulty checks in the sex interactions are a true/false, meaning that if you can pass 5 checks, you can go from 0 to 5 (on at least one of the temporary variables) in five actions, and some actions affect multiple variables at once. Conceptually, if a slave starts from all zeroes, it should feel like a lot of work (if possible at all - maybe not without high enough master skills) to raise her attention, openness and - perhaps last? - her excitement, and it should be possible to fail out of active sex if her attributes drop too far or you repeatedly hit her repulse (for example, if a repulse check fails, the action doesn't happen, and it lowers her temporary variables - if they fall too low, active sex ends). We need a balance of being able to make a few mistakes but not too many.

You don't have permission to view the spoiler content. Log in or register now.
Active sex is not group sex, so for purposes of considering which skills are directly applicable, both xeno and orgy would be excluded. However, it depends what "openmind" is modeling. Would a slave who has fucked horses and pigs be less resistant to vanilla sex acts?

Doesn't active sex affect aura by modifying instinct (in some cases) and custom (implicit interaction result for not refusing the interaction)? I would not expect it to affect rational unless we made it work as a reward. But giving a slave ahegao orgasms for a merit of 1 should cause spoiling in that case. Also, shouldn't some active sex actions raise fear?

You don't have permission to view the spoiler content. Log in or register now.
Lube for anal is not the same as vaginal - there is no natural lubrication when sexually excited. So, using the same lube calculation seems incorrect to me. Lube for anal would depend on whether the slaver has done something to lubricate (other than using lube), such as received a blowjob (although saliva is a poor lubricant, it's better than none) or already done vaginal or frottage (thrusting between thighs) with the girl, in which case it should be based on the girl's excitement at the time, reduced somewhat as not all of the girl's wetness transfers. There is also evaporation to consider if the transition is not immediate. For simplicity, you could simply interpet that if the player does not use the lube action before anal, their intention is to penetrate dry, and any wetness from previous actions was wiped off or is insufficient to affect the result. You could also factor in bleeding from anal tears (if high friction, low lube) if you want... +lube, +wounds rate...

Regarding "diff" - in general, I think that sex skills (representing level of previous experience with the activity) should influence the result.
 

sarinee

Member
Apr 12, 2021
290
145
It's not clear what the values represent, but seeing negatives or zeroes there does suggest that the activity isn't going well, and seeing a downward trend in the numbers when repeating a task conveys a similar understanding. It would be better if the text itself gave enough hints.
I'm on it now, soon I will give a preview.

In my view, every interaction with the slave during active sex that modifies the temporary variables (excitement, attention, openmind, etc.) should factor in all applicable attributes and skills when setting the difficulty of moving those temporary variables in a positive direction.

Regarding "diff" - in general, I think that sex skills (representing level of previous experience with the activity) should influence the result.
Well, it could be done, but we have to consider the problem of weight.
Attributes and auras are considered changeless, so if they participate in the temporary variables' modifying, their weight should be low, otherwise the check part of different interactions or same interaction at different slave status would be quite similar, lacking of variety and fun.

Temporary, changeable variables should have a higher weight, like excitement, attention, openmind, hygiene, wounds, moods, energy, intensity etc.

For example,
You don't have permission to view the spoiler content. Log in or register now.
I think this because the temporary variables with a [0.5] range represent the full spectrum from total resistance to enthustiastic nymphomania. In practice, difficulty checks in the sex interactions are a true/false, meaning that if you can pass 5 checks, you can go from 0 to 5 (on at least one of the temporary variables) in five actions, and some actions affect multiple variables at once.
If you are still willing to use excitement, openmind and attention, then just design it in a simplified way. At least for now, since we are not focus on this part currently.
If we want a more immersive active sex, I'm afraid the system need rebuilding thoroughly. Divide these 3 temporary variables into more flags and buffs, and it needs an action counter or buff lasting time counter.

Flags: switching state, like dynslave_sex['girl_tied'], dynslave_sex['girl_blindfolded'].
Buffs: dynslave_sex_buff['lube'] = max(dynslave_sex_buff['lube'], dynslave_sex_buff['vaginal_wetness']) &! In vaginal interaction
You don't have permission to view the spoiler content. Log in or register now.

Conceptually, if a slave starts from all zeroes, it should feel like a lot of work (if possible at all - maybe not without high enough master skills) to raise her attention, openness and - perhaps last? - her excitement, and it should be possible to fail out of active sex if her attributes drop too far or you repeatedly hit her repulse (for example, if a repulse check fails, the action doesn't happen, and it lowers her temporary variables - if they fall too low, active sex ends). We need a balance of being able to make a few mistakes but not too many.
That make sense.

Active sex is not group sex, so for purposes of considering which skills are directly applicable, both xeno and orgy would be excluded. However, it depends what "openmind" is modeling. Would a slave who has fucked horses and pigs be less resistant to vanilla sex acts?
Agree.

Doesn't active sex affect aura by modifying instinct (in some cases) and custom (implicit interaction result for not refusing the interaction)? I would not expect it to affect rational unless we made it work as a reward. But giving a slave ahegao orgasms for a merit of 1 should cause spoiling in that case. Also, shouldn't some active sex actions raise fear?
Instinct there is only one, in deepthroat, custom, rational and moral are none. Spoil and fear are details. There should be a special part in every interaction dealing aura values, limited by sex_done_today[sex_interaction].

Lube for anal is not the same as vaginal - there is no natural lubrication when sexually excited. So, using the same lube calculation seems incorrect to me. Lube for anal would depend on whether the slaver has done something to lubricate (other than using lube), such as received a blowjob (although saliva is a poor lubricant, it's better than none) or already done vaginal or frottage (thrusting between thighs) with the girl, in which case it should be based on the girl's excitement at the time, reduced somewhat as not all of the girl's wetness transfers. There is also evaporation to consider if the transition is not immediate. For simplicity, you could simply interpet that if the player does not use the lube action before anal, their intention is to penetrate dry, and any wetness from previous actions was wiped off or is insufficient to affect the result. You could also factor in bleeding from anal tears (if high friction, low lube) if you want... +lube, +wounds rate...
Then just consider the dynslave_sex_buff[] above, but not for now. If we don't take any of sex['girl_excitement'] and sex['girl_anal_stretch'] into consideration:
if lube = 0: friction = 5, it's locked at a high resistance status.

The whole process of a sex interaction will be:
You don't have permission to view the spoiler content. Log in or register now.
 
Last edited:

ImperatorAugustusTertius

Engaged Member
Sep 12, 2020
2,106
803
If you are still willing to use excitement, openmind and attention, then just design it in a simplified way. At least for now, since we are not focus on this part currently.
If we want a more immersive active sex, I'm afraid the system need rebuilding thoroughly. Divide these 3 temporary variables into more flags and buffs, and it needs an action counter or buff lasting time counter.
In general I prefer to keep the spirit of the original game design, while improving consistency and taking more details into account, so keeping excitement/openmind/attention would be my vote.

We already have some tracking variables for ongoing conditions (for example, clamps - if they are applied, the menu gives you the unclamp option instead, because there's a flag tracking that).
 
  • Thinking Face
Reactions: sarinee

ImperatorAugustusTertius

Engaged Member
Sep 12, 2020
2,106
803
the rent of the house in quarter of the bull magically increases from 75 per 10d to 620 what the hell?
Rental costs and the value of higher-ranked slaves were increased in dev build to make cashflow management an ongoing challenge. Selling a single high-ranked slave can give you enough sparks for several decades at the increased rates to buy time for a longer project. Guild contracts give prepayments which also help somewhat. You can train multiple slaves at once, with dungeon and barn slots having their energy refreshed each day. You can use tutors and school to augment master's energy, especially for cheap low-level training. Guild auctions with slaves trained in multiple specializations and decent charm rating can be a good source of income between other projects. Even a D+ slave trained in multiple specializations can bring in over 1000 sparks at auction. And a D+ slave like that can be trained in less than a decade. Raise guild reputation to at least B+ and you can have 2 arena battles + race each decade for additional income (~300 sparks with champions). Use a trained secretary to reduce your billing, too. If all else fails, go back to the slums to reduce your costs.
 

1953598523

Newbie
Aug 13, 2017
48
15
can you add a display of the level of training skill of the master of animals/ponies/cow?
suddenly, during training, I saw an inscription about insufficient skill of the master, but it is not displayed anywhere
 

ImperatorAugustusTertius

Engaged Member
Sep 12, 2020
2,106
803
can you add a display of the level of training skill of the master of animals/ponies/cow?
suddenly, during training, I saw an inscription about insufficient skill of the master, but it is not displayed anywhere
Updated dev build to display a skill hint for insufficient skill lessons that depend on master dominance. Pony lesson should already hint whip skill if you're using 2.2.1, so guessing you're on an older version?
 

sarinee

Member
Apr 12, 2021
290
145
I met a big problem.
Code:
num['a'] = 0
num['b'] = 1
num['c'] = 2
num['d'] = 3
killvar 'num', #c
msg '<<num[0]>><br><<num[1]>><br><<num[2]>><br><<num[3]>>'
!result is 1,2,3,0   the first element is deleted.
!killvar 'num', $c the same result.
!killvar 'num', c 0,1,2,3, without doing anything.
!killvar 'num', 'c' ([c], ['c'], $'c') compile error.
!killvar 'num', 2 0,1,3,0 right result, but that's what I don't want, I can't tell every corresponding num of str indexes.
How can I delete the exact one I wanted?

You don't have permission to view the spoiler content. Log in or register now.
 

ImperatorAugustusTertius

Engaged Member
Sep 12, 2020
2,106
803
I met a big problem.
How can I delete the exact one I wanted?
I have no experience with deleting individual elements from an array in QSP. You might be better off using string indices instead of numeric indices if you're trying to remove elements in the middle. Is it necessary to delete or can you just set to -1 or some value that indicates "ignore me"?
 

sarinee

Member
Apr 12, 2021
290
145
In general I prefer to keep the spirit of the original game design, while improving consistency and taking more details into account, so keeping excitement/openmind/attention would be my vote.

We already have some tracking variables for ongoing conditions (for example, clamps - if they are applied, the menu gives you the unclamp option instead, because there's a flag tracking that).
Then the next issue is, how to coordinate excitement/openmind/attention with attributes/auras/skills, since there's a conversion relationship between them.

1, If we decide to factor all applicable attributes and auras in an active sex, we are using them for a second time, they're not changeable in a short time. As I said above, their weight should be low, otherwise the check part of different interactions or same interaction with different slave status would be quite similar, lacking of variety and fun.

2, As for if the openmind/excitement you increased in just repeating one interaction should apply on the whole other interactions, IMO, there are two ways to set a negative feedback, first is to multiply the energy cost if you are repeating the same action, second is to set an upper bound of sex performance result. Determined by her 'unchangeable' attributes, auras and skills level. For example, obtaining 5excitement/1attention/5openmind through massaging and arousing, but she still did badly in anal sex because the performance upper limit is influenced by her F- anal skill.

3, Adjust the upper limit. I'm affecting the performance or sex quality on my own, not in a whole calculation.
quality = min(skill, diligence), this is how it determines the performance of slave if she is taking the initiative.
What does it mean? If I'm doing best in an active sex, diligence = 5, she is still doing the equivalent quality as sex training, because in a sex training process, sex_quality = max(1, sex_ability).
So in active sex, quality = min(min(5, skill + 2), diligence), I think it's better.

While when I take the initiative, balance and compensate mainly represents for the performance, compensate should additionally take slave's skills into consideration. If her vaginal skill is F-, then it's harder to compensate.
 

sarinee

Member
Apr 12, 2021
290
145
I have no experience with deleting individual elements from an array in QSP. You might be better off using string indices instead of numeric indices if you're trying to remove elements in the middle. Is it necessary to delete or can you just set to -1 or some value that indicates "ignore me"?
Won't it increase more burden to game's saving & loding? I remember in ver2.0, it's quite slow in this process. Since variables are all global ones.
 
Last edited:

sarinee

Member
Apr 12, 2021
290
145
Is it a bug? when I check into interaction.qsrc
sex_ability = .......
sex_quality = min(1, sex_ability)
I guess it should be max, there're more than one case in this location.
 

sarinee

Member
Apr 12, 2021
290
145
Seems "Quality" needs more detailed description.

complexity = max(0, min(5, master_penetration - diff))
if complexity > 0: sex['girl_excitement'] += 1 & sex['girl_attention'] -= 1


I added a complexity to show description on screen, in different interactions complexity is calculated differently, in kiss it's master_oral - diff.

Considering default num is 0(F-), even if it's not used in this interaction, so I just make it invisible if the variable value is equivalent to 0.

Texts need further polishing lol.
You don't have permission to view the spoiler content. Log in or register now.
You don't have permission to view the spoiler content. Log in or register now.
You don't have permission to view the spoiler content. Log in or register now.
 
Last edited:

ImperatorAugustusTertius

Engaged Member
Sep 12, 2020
2,106
803
Won't it increase more burden to game's saving & loding? I remember in ver2.0, it's quite slow in this process. Since variables are all global ones.
My save/load times are short with 2.2.x. Saved game file size is excessive. The main cause of wasted space is sparse arrays (for example, dynslave_already_done_total) because some of the numeric indices we use are very large numbers and all unused empty slots in between are automatically initialized as zeroes. All of those unused zero values are saved, so we end up with much larger save files than we need. Changing this would require changing all of the indices to strings or renumbering them to remove the large gaps. It's not difficult but it's a widespread refactoring that needs some dedicated effort.

Is it a bug? when I check into interaction.qsrc
sex_ability = .......
sex_quality = min(1, sex_ability)
I guess it should be max, there're more than one case in this location.
Yes, those were a mistake. Thanks for pointing it out!

Seems "Quality" needs more detailed description.

complexity = max(0, min(5, master_penetration - diff))
if complexity > 0: sex['girl_excitement'] += 1 & sex['girl_attention'] -= 1


I added a complexity to show description on screen, in different interactions complexity is calculated differently, in kiss it's master_oral - diff.

Considering default num is 0(F-), even if it's not used in this interaction, so I just make it invisible if the variable value is equivalent to 0.
I'm not clear about quality vs. complexity. Quality is diligence? Complexity is ? Is one from perspective of the girl doing good or not good, and the other from perspective of master doing good or not good? Or does it depend on the interaction?
 

sarinee

Member
Apr 12, 2021
290
145
I'm not clear about quality vs. complexity. Quality is diligence? Complexity is ? Is one from perspective of the girl doing good or not good, and the other from perspective of master doing good or not good? Or does it depend on the interaction?
Well, this means it's still unclear for a new player lol. quality = min(skill, diligence), yes quality = diligence but with a limit of skill, from perspective of the girl doing good.
complexity = max(0, min(5, master_penetration - diff))
if complexity > 0: sex['girl_excitement'] += 1 & sex['girl_attention'] -= 1

I added a complexity to show description on screen, in different interactions complexity is calculated differently, in kiss interaction it's master_oral - diff. Used to show how difficult it is to further increase her excitement, complexity>0, then you can raise her excitement.

Replace "Quality" with "Performance", "Complexity" with "Progress" may be better?
 
4.00 star(s) 59 Votes