Author Topic: Personalising Interactions with the Girls  (Read 27717 times)

0 Members and 1 Guest are viewing this topic.

Offline zodiac44

  • Hero Member
  • *****
  • Posts: 560
  • Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
Re: Personalising Interactions with the Girls
« Reply #45 on: December 31, 2009, 12:07:22 AM »
I can see great potential for scripts for individual girls involved in this deal, especially for the option where the player takes the deal with the intention of rehabilitating the girls.
Capitalization is the difference between "I had to help my uncle Jack off a horse" and "I had to help my uncle jack off a horse."

Offline Mehzerz

  • Hero Member
  • *****
  • Posts: 564
  • Rockin' the after life after party
Re: Personalising Interactions with the Girls
« Reply #46 on: December 31, 2009, 02:14:50 PM »
That's a really great idea Doc. Girls certainly are easily replaced, getting various markets of different girls is a really good idea. I guess Mr. Nutts event would come fairly early on considering the low quality of the girls, where as another slave market of more... stable girls would come later.
I'm excited to see where the game will head after 1.29
Starter girls image additions progress:
26 girls, 18 to go

Offline DocClox

  • Dev Team
  • *****
  • Posts: 1867
  • Messing Around With Python
Re: Personalising Interactions with the Girls
« Reply #47 on: December 31, 2009, 06:48:28 PM »
Great stuff, maybe a fever is not a bad thing after all. :)
:D Although there were times last night when I'd have traded the idea for eight hours uninterrupted sleep. Still, mustn't grumble :)

I sort of like the "Declare War" idea myself.  After all, loathsome little worms deserve to be stepped on and squished like the worms they are. ;)

Oh, indeed. There's no fun in playing the Righteous Man if there's no evil to uproot :)

I can see great potential for scripts for individual girls involved in this deal, especially for the option where the player takes the deal with the intention of rehabilitating the girls.

I hadn't thought of that aspect of it, but yes: you could tell some good stories that way. How they came to be in such dire straits, and what you might have to do to win their trust. Plenty of potential there.

That's a really great idea Doc. Girls certainly are easily replaced, getting various markets of different girls is a really good idea. I guess Mr. Nutts event would come fairly early on considering the low quality of the girls, where as another slave market of more... stable girls would come later.
I'm excited to see where the game will head after 1.29
I'm looking forward to getting 1.30 out the door myself :)

I don't see them as low quality particularly - more in need of a little care and attention. But yeah I'd like to have all sorts of new ways to get girls. I'd like to see an annual Slaver's Fair that set up for four weeks in a year: Good prices for paid exotics, lots of girls available. Maybe the occasional invite-only auction. You'd need to ingratiate yourself with the right people to get an invite. Possibly even the occasional raid on  rivals-owned brothels to carry off some of the girls. Certainly, I think you should pick up some talent when you eliminate a rival.

So much to do. so little time to do it :)

Offline Mehzerz

  • Hero Member
  • *****
  • Posts: 564
  • Rockin' the after life after party
Re: Personalising Interactions with the Girls
« Reply #48 on: January 01, 2010, 01:41:27 AM »
Well... low quality is a poor word choice on my part. But if these girls aren't "right in the head" would they all come as "mind fucked" ? I'd like to think they would be, and it'd be nice to see unique girls show up in every slave market. Including that one... though I don't think anyone has made a unique girl that came mind fucked. :p
Starter girls image additions progress:
26 girls, 18 to go

Offline DocClox

  • Dev Team
  • *****
  • Posts: 1867
  • Messing Around With Python
Re: Personalising Interactions with the Girls
« Reply #49 on: January 01, 2010, 02:20:24 AM »
Well... low quality is a poor word choice on my part. But if these girls aren't "right in the head" would they all come as "mind fucked" ? I'd like to think they would be, and it'd be nice to see unique girls show up in every slave market. Including that one... though I don't think anyone has made a unique girl that came mind fucked. :p

Not necessarily mind-fucked. I don't see them as all being that compliant. Probably see a couple of them like that, maybe one or two with Yandere/Merciless traits. I haven't thought this part of it entirely though as yet.

I do want to improve the control that a girlpack designer has over where and when his girls might turn up however, so it should be possible to design girls with this source in mind. Once I get the event written and working, anyway.

exodia91

  • Guest
Re: Personalising Interactions with the Girls
« Reply #50 on: January 01, 2010, 03:07:10 PM »
^^^ Indeed, if we get more control over where girls appear, and events are easily creatable and linkable, I might just have to redo most of my girls..... T_T

Offline DocClox

  • Dev Team
  • *****
  • Posts: 1867
  • Messing Around With Python
Re: Personalising Interactions with the Girls
« Reply #51 on: January 01, 2010, 05:17:48 PM »
^^^ Indeed, if we get more control over where girls appear, and events are easily creatable and linkable, I might just have to redo most of my girls..... T_T

Anything in particular you'd like to see? Here's some of the possibilities as I see them:

Code: [Select]
        <Girl   Name = "Flossy Anne">
<!--
 !              give a place and a probability
 !              0 turns it off entirely
 !              chance is always a minimum - if there are 4 girls
 !              possible with 100% chance, they each get 25%
 !
 !              If there's only one girl and she has 100%
 !              then she'll always appear at that point.
 !-->
                <Occurrence
                        Place   = "Town"
                        Chance  = "15%"
                />
<!--           
 !              could set probabilities for events
 !              (assuming the event uses a random selection)
 !-->
                <Occurrence
                        Event   = "Raid on Rival"
                        Target  = "Sex Magicians"
                        Chance  = "90%"
                />
<!--
 !              could set some variant stats based on how she's
 !              encountered. In this case a previous master has
 !              clearly been taking regular liberties
 !-->
                <Occurrence
                        Place           = "Slave Market"
                        Chance          = "5%"
                        Status          = "Slave"
                        NormalSex       = "75%"
                >       
                        <Trait  Name = "Fake Orgasm Expert" />
                </Occurrence>
<!--
 !              and there's the possibility to make changes based
 !              on different mods
 !-->
                <Occurrence
                        Place           = "Slave Market"
                        Mod             = "Abby's Crossing"
                        Chance          = "55%"
                />
        </Girl>

We could probably use "*" to wildcard location names as well.

Offline zodiac44

  • Hero Member
  • *****
  • Posts: 560
  • Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
Re: Personalising Interactions with the Girls
« Reply #52 on: January 01, 2010, 11:52:47 PM »
So let me see if I get what you've written straight:

Let's say there are 4 girls, each with 100% probability of showing up in "Town" (presumably for the "take a walk" option).  Each girl ends up with a 25% chance of showing up, but does the overall chance of encountering any girl equal 100%, or would it be 100% of the base chance to encounter a girl?

Taken a different way, let's say there are 3 girls, each with a 25% probability of showing up in "Town."  Is the chance of encountering any girl 75% (should really be 3 25% chances: ~58%) or 75% of the base chance?

What happens with a location like the slave market where more than one girl could appear at the same time?  Would it populate each position as above?  Let's say there are 3 slots open in the slave market and there are four girls with a 25% chance each of appearing in the slave market.  Assuming the probability of any girl appearing is cumulative rather than multiplicative, the first slot would be filled, the second would have a 75% chance of being filled, and the third would have a 50% chance of being filled if the second slot was filled and a 75% chance if the second was not filled.

I'm not sure that made any sense at all.  I know what I meant, but I suspect it didn't translate well into words, so I might come back and rephrase my questions later.

I'd like to see the ability to change anything and everything about the girl depending on where she is found.  To extend upon your example:

Code: [Select]
        <Girl   Name = "Flossy Anne">
<!--
 !              Find her on the streets, and she has one background
 !-->
                <Occurrence
                        Place   = "Town"
                        Chance  = "15%"
                        Desc = "Flossy Anne barely escaped the clutches of the slavers after she was caught cheating in a high-
                                stakes poker game.  She arrived in Crossgate after being on the run for days, on the verge of
                                collapse from exhaustion.  She stumbled into you in the street, and in a state of near delerium,
                                she agreed to your terms of employment, without giving much thought to the future consequences..."
                        Status = "Free"
                        Tiredness = "100"
                        Health = "50"
                        Rebellion = "20"
                />
<!--
 !              Find her in the slave market, and she has another
 !-->
                <Occurrence
                        Place   = "Slave Market"
                        Chance  = "85%"
                        Desc = "Flossy Anne was sold into slavery after she was caught cheating in a high-stakes poker game.
                                She gave chase to the slavers, but was caught as she neared the city of Crossgate.  She is
                                bitterly angry over her capture and is determined to escape at any cost..."
                        Status = "Slave"
                        Tiredness = "70"
                        Health = "90"
                        Rebellion = "60"
                />
        </Girl>

[edit]

Here's a thought, it might be more intuitive if the percent chances for each occurrence are the chances that the girl appears in the game at that location as opposed to the other possible locations, rather than the percent chance that she is encountered at that location at a given moment.  In the example I gave, the game would determine where Flossy Anne appears (in this case, 15% chance in Town, 85% chance in the Slave Market), and once that determination is made, she won't be found in the other location no matter what happens.  You could then create conditional probabilities, like this:

Code: [Select]
        <Girl   Name = "Flossy Anne">
<!--
 !              Find her on the streets, and she has one background
 !-->
                <Occurrence
                        Place   = "Town"
                        Chance  = "15%"
                        Desc = "Flossy Anne barely escaped the clutches of the slavers after she was caught cheating in a high-
                                stakes poker game.  She arrived in Crossgate after being on the run for days, on the verge of
                                collapse from exhaustion.  She stumbled into you in the street, and in a state of near delerium,
                                she agreed to your terms of employment, without giving much thought to the future consequences..."
                        Status = "Free"
                        Tiredness = "100"
                        Health = "50"
                        Rebellion = "20"
                />
<!--
 !              Find her in the slave market, and she has another
 !-->
                <Occurrence
                        Place   = "Slave Market"
                        Chance  = "85%"
                        Desc = "Flossy Anne was sold into slavery after she was caught cheating in a high-stakes poker game.
                                She gave chase to the slavers, but was caught as she neared the city of Crossgate.  She is
                                bitterly angry over her capture and is determined to escape at any cost..."
                        Condition ID = "Enslaved"
                        Status = "Slave"
                        Tiredness = "70"
                        Health = "90"
                        Rebellion = "60"
                />
<!--
 !              She could have been enslaved, purchased by a rival, and then obtained by the player when he raids the
 !              rival's brothels or defeats the rival
 !-->
                <Conditional occurrence
                        Place  = "Rival's brothel"
                        Condition = "Enslaved"
                        Chance  = "50%"
                        Desc = "Flossy Anne was sold into slavery after she was caught cheating in a high-stakes poker game.
                                She gave chase to the slavers, but was caught as she neared the city of Crossgate.  Your rival "
                                + Rival ID + " purchased her in the slave market and severely abused her in his brothel.  She is
                                battered but not yet broken.  A loving hand could raise her up and earn her eternal gratitude and
                                loyalty while an iron fist could break her forever..."
                        Tiredness = "90"
                        Health = "40"
                        Rebellion = "10"
                        NormalSex = "75"
                        Anal = "90"
                        Bestiality = "80"
                        <etc>
                />
        </Girl>

Her appearances percentage chances would then be:

Town: 15%
Slave Market: 42.5%
Rival's Brothel: 42.5%

determined, say, when the .girlsx file is loaded into the game.  Each play through would have a chance for her to appear somewhere else.
« Last Edit: January 02, 2010, 12:24:39 AM by zodiac44 »
Capitalization is the difference between "I had to help my uncle Jack off a horse" and "I had to help my uncle jack off a horse."

Offline DocClox

  • Dev Team
  • *****
  • Posts: 1867
  • Messing Around With Python
Re: Personalising Interactions with the Girls
« Reply #53 on: January 02, 2010, 04:04:02 AM »
Let's say there are 4 girls, each with 100% probability of showing up in "Town" (presumably for the "take a walk" option).  Each girl ends up with a 25% chance of showing up, but does the overall chance of encountering any girl equal 100%, or would it be 100% of the base chance to encounter a girl?

OK, that wasn't terribly clear. First we check to see if you encounter a girl at all. If there's a 10% chance of a girl appearing then we check that first. If the check fails, nothing further happens this turn.

Assuming that the encounter check passes ... actually I think the sensible thing to do is check the encounter chance to see if she still appears. 25% of her appearing. If she passes that, great. If not, pull another girl out of the unused pool at random and check her encounter percentage. Keep on until a girl shows up, or we run out of potential uniques and have to use a generic girl.

If there is more than one slot needing to be filled, then for each subsequent slot, reset the unused pool and repeat the process, pulling girls at random until one passes (sounds like my life, that).

If a location isn't mentioned, it will default to 0% except for the walk around town which defaults to 100%. (Possibly other, similar locations as well - like town screens in other cities, for instance).


I'd like to see the ability to change anything and everything about the girl depending on where she is found.  To extend upon your example:

Nice. Definitely use that. In fact, I can't see any reason why you shouldn't change everything and anything apart from the location code (which would get silly). You could different picturesets even, depending on how she was found.

Here's a thought, it might be more intuitive if the percent chances for each occurrence are the chances that the girl appears in the game at that location as opposed to the other possible locations, rather than the percent chance that she is encountered at that location at a given moment.

I'll have a think about that. It would mean a bit of a change to the way the game handles girls, but that's not necessarily a bad thing. It would give the gotta-catch-'em-all mob an incentive to explore a bit, as well :)

Offline zodiac44

  • Hero Member
  • *****
  • Posts: 560
  • Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
Re: Personalising Interactions with the Girls
« Reply #54 on: January 02, 2010, 05:06:10 AM »
Assuming that the encounter check passes ... actually I think thesensible thing to do is check the encounter chance to see if she stillappears. 25% of her appearing. If she passes that, great. If not, pullanother girl out of the unused pool at random and check her encounterpercentage. Keep on until a girl shows up, or we run out of potentialuniques and have to use a generic girl.

So then its like this:

Pass encounter check ->  Pull girl at random -> Pass girl's encounter check -> Obtain girl
                                                            -> Fail girl's encounter check -> Pull new girl at random -> Repeat until pass
Blech.  It works, but from a girl design perspective it is completely non-intuitive.  The result is more of a relative rarity control than anything else.

Quote
I'll have a think about that. It would mean a bit of a change to the way the game handles girls, but that's not necessarily a bad thing. It would give the gotta-catch-'em-all mob an incentive to explore a bit, as well :)

That was partly the intent behind the suggestion.  If we allow girls to be found in multiple locations, then players will simply pick their source of choice and then work it until they get everyone.  If the girls' locations are determined at the start of the game, then it removes one level of predictability from the game.

What if we had a merger of the two systems.  Use my system to control where a girl appears and use a rarity system similar to yours that determines which girl(s) out of the eligible pool appear(s).  Give either the base girl or each Occurrence setting a Rarity setting.  When it comes time to select a girl, use the rarity settings as relative weights for random selection (higher rarity setting = more common).  There are a number of ways of approaching the problem, one of the simplest is to sum the girls' rarity, then generate a random number from 1 to the total.  Starting at the beginning of the list of eligible girls, subtract their rarity in sequence from the random number until the total is 0 or less.  Whichever girl's rarity drops the total low enough gets selected.

Code: [Select]
        <Girl   Name = "Flossy Anne">
<!--
 !              Rarity is set to 10
 !-->
                <Occurrence
                        Place   = "Town"
                        Chance  = "100%"
                        Rarity = "10"
                />
        </Girl>
        <Girl   Name = "Ivana Humpalot">
<!--
 !              Rarity is set to 90
 !-->
                <Occurrence
                        Place   = "Town"
                        Chance  = "100%"
                        Rarity = "90"
                />
        </Girl>

In this case, both girls would be encountered in the town, but you are much more likely to encounter Ivana than Anne.  The total rarity is 100, so the engine generates a number from 1-100, and then starts the subtraction.  If <random number> - 10 <= 0, then Anne is selected, else Ivana is selected.

In the following example, merging both systems, Anne is more likely to be in the town than Ivana is, but if they are both in the town, Ivana is more likely to be encountered.

Code: [Select]
        <Girl   Name = "Flossy Anne">
<!--
 !              Rarity is set to 10, chance is set to 90%
 !-->
                <Occurrence
                        Place   = "Town"
                        Chance  = "90%"
                        Rarity = "10"
                />
        </Girl>
        <Girl   Name = "Ivana Humpalot">
<!--
 !              Rarity is set to 90, chance is set to 10%
 !-->
                <Occurrence
                        Place   = "Town"
                        Chance  = "10%"
                        Rarity = "90"
                />
        </Girl>
Capitalization is the difference between "I had to help my uncle Jack off a horse" and "I had to help my uncle jack off a horse."

Offline DocClox

  • Dev Team
  • *****
  • Posts: 1867
  • Messing Around With Python
Re: Personalising Interactions with the Girls
« Reply #55 on: January 02, 2010, 06:49:34 AM »
Blech.  It works, but from a girl design perspective it is completely non-intuitive.  The result is more of a relative rarity control than anything else.

Well, first and foremost it's a way to make a girl harder to find in a given location. Currently, this would be 100% for all girls on the town screen, and the only way to make a girl hard to find is to swamp her in a lot of other uniques. So my primary aim was to allow designers to make girls harder to find. For the town screen, arguably the way to do it would be to check the chance and if it failed, report that as a search failure, but if that happens a lot, it's going to make it hard to set the town screen generation rate. So better to assume that if a girl is generated, one gets delivered.

Of course, pre-allocating locations changes the scenario quite a bit.


and I think all we can really achieve. Otherwise we have the potential situation where there are 10 girls waiting to appear, all at 100% and no way to select between them.

Of course, as you point out, if we pre-allocate locations at start time then that changes things, and I can see advantages in that approach, too.

I'll have a think about it. If nothing else I'll need to have a bit dig through the code and see how much work it would be. I do like the idea of girls being hidden away in hard to predict locations, though
.

Offline zodiac44

  • Hero Member
  • *****
  • Posts: 560
  • Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
Re: Personalising Interactions with the Girls
« Reply #56 on: January 02, 2010, 12:01:46 PM »
Well, first and foremost it's a way to make a girl harder to find in a given location. Currently, this would be 100% for all girls on the town screen, and the only way to make a girl hard to find is to swamp her in a lot of other uniques. So my primary aim was to allow designers to make girls harder to find. For the town screen, arguably the way to do it would be to check the chance and if it failed, report that as a search failure, but if that happens a lot, it's going to make it hard to set the town screen generation rate. So better to assume that if a girl is generated, one gets delivered.

Yeah, I got that, and I'm fine with it.

Quote
and I think all we can really achieve. Otherwise we have the potential situation where there are 10 girls waiting to appear, all at 100% and no way to select between them.

Looks like something got cut out there when you posted, so I'm not entirely sure what you are referencing, but the rarity solution I proposed prevents the "no way to select between them" problem.

Code: [Select]
/*
 * pass the function an array of the available girls at the location
 * returns the index number of the selected girl
 *
 * pardon my pseudocode, it's been a while  >;o)
 */
 
 int selectGirl(girlArray[])
 {
 int total;
 int i = 0;
 
 /*
  * generate total rarity
  */
 
 for each (girlArray[]){
total += girlArray[i].Rarity;
i++;
}

/*
 * generate random number
 */
 
 int random = rand(seed, total);
 
/*
 * find selected girl
 */
 
 for (i = 0, random > 0, i++){
random -= girlArray[i].rarity;
}

/*
 * return the index location of the selected girl
 */
 
return i;
}
Capitalization is the difference between "I had to help my uncle Jack off a horse" and "I had to help my uncle jack off a horse."

Offline Command

  • Full Member
  • ***
  • Posts: 148
Re: Personalising Interactions with the Girls
« Reply #57 on: January 02, 2010, 12:07:29 PM »
I had an idea why not have some of those personalizing interactions to eventually lead to some sort of interaction with one of the outside groups like other gangs or even the law.
 
I had an idea about why not have some of these interactions lead you to get an option with the Guards for getting a contract to rehabilitate confescated illegally enslaved girls so they can be released into society.  Basically this would be a cheap way to get girls in the brothel but all of them would suffer from different problems more than most other ways to get girls, Like addictions, mental problems, broken down girls, girls who are terrified of everyone, some who are scarred.  The Girls also come with a personal requirement that they need to achieve so they can be given back to the Guard then the Guard rewards the player with rare equipment and gold.

Offline DocClox

  • Dev Team
  • *****
  • Posts: 1867
  • Messing Around With Python
Re: Personalising Interactions with the Girls
« Reply #58 on: January 02, 2010, 02:58:00 PM »
Looks like something got cut out there when you posted, so I'm not entirely sure what you are referencing, but the rarity solution I proposed prevents the "no way to select between them" problem.

Yeah, I don't know what I was thinking, either. This chest infection sucks.  Basically I think you have a very good idea here. I'll just need to think about it when I'm feeling closer to 100% :)

Offline zodiac44

  • Hero Member
  • *****
  • Posts: 560
  • Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
Re: Personalising Interactions with the Girls
« Reply #59 on: January 02, 2010, 04:09:50 PM »
Eww...you're still sick?  That bites  >.<

Get well soon, man.
Capitalization is the difference between "I had to help my uncle Jack off a horse" and "I had to help my uncle jack off a horse."