HentHighSchool Development Forum

Game Development => Brothel King => Topic started by: maddmaxx on Nov 12, 2022, 12:02 PM

Title: No Clones
Post by: maddmaxx on Nov 12, 2022, 12:02 PM
Is there a way to have no clones without error messages every time the game spawns new girls?
I don't see the point of playing with clones even when playing with a low amount of characters.
"Not enough girl templates available - Check your girlpack configuration"
pops up all the time, do I need to always have at least a certain amount of packs active or will it always pop up as long as I'm playing with no clones?
Title: Re: No Clones
Post by: worldsoul on Nov 12, 2022, 03:06 PM
most likely. You can easily get up to eighty or more free girls alone, in the unfinished chapters once all six regions are open, to say nothing of girls you own or ones in the slave market.
Title: Re: No Clones
Post by: Ch12 on Nov 13, 2022, 02:43 AM
Hi Madmaxx,

I think I have a solution for your problem. I created a variant of the get_girls-function - this function handles the creation of new girls for the slavemarket and city. I added a new parameter called prefer_original, which tells the game to first try to create original girls. However, it falls back to non-orginal, if necessary.

I attached the updated sourcecode as a textfile. If you want to use it, you need to replace the function with the new code.
To do that, open BKfunctions.rpy and replace the whole function with the new code . (In my version, it starts with line 272 in BKfunctions)

How to test that it works:

As for how to continue, it depends on what you want to achieve. Right now, the game will probably still run out of original girls at some point - it will prefer original girls also for the city, and as worldsoul explained, those quickly add up. You could, for instance, enable this only for the Slavemarket - that way, only the Slavemarket should be filled with original girls, without blocking them by generating them for the city.

Note: cloning options/unique is untouched by my algorithm! Your problem sounds like you added unqiue = True to all your girlpacks. Please remove the unique-setting at least from some of your girlpacks, or you will keep seeing this error.

Question for Goldo:
Could you add my modification to the game's codebase? I marked the necessary spots with my usual comments, the change is really simple and "cooperates" well with your algorithm. If you set the default value of the parameter to False, it should not mess with your game at all.
If you're willing to go the extra mile, I could e.g. imagine two new options in the game's settings, "Prefer original girls in the Slavemarket" and "Prefer original girls in the City".
Title: Re: No Clones
Post by: Goldo on Nov 14, 2022, 10:16 AM
Sure, will do that for 0.3. Not sure it answers OP's problem though (in fact, I don't see how playing with a low number of characters AND no clones could be made to work).
Title: Re: No Clones
Post by: Ch12 on Nov 15, 2022, 04:34 AM
I agree that his request is not 100% resolved with this. It's kind of asking for the impossible, though. :)

What I would envision is enabling the functionality only in the slavemarket. So the streets would be filled with clones, giving the game the opportunity to generate originals in the market.
Keep in mind that as long as an original girl is roaming the city, she cannot be created as an original for the market. Another idea might be to remove a girl from the city if she is needed for the market. I think this might be a little more tricky to implement, but doable within a reasonable amount of time.

If you want the streets to be filled with originals, too, I think you have no choice other than getting a lot of girlpacks.
Title: Re: No Clones
Post by: maddmaxx on Nov 16, 2022, 01:39 PM
Quote from: Ch12 on Nov 13, 2022, 02:43 AMHi Madmaxx,

I think I have a solution for your problem. I created a variant of the get_girls-function - this function handles the creation of new girls for the slavemarket and city. I added a new parameter called prefer_original, which tells the game to first try to create original girls. However, it falls back to non-orginal, if necessary.

I attached the updated sourcecode as a textfile. If you want to use it, you need to replace the function with the new code.
To do that, open BKfunctions.rpy and replace the whole function with the new code . (In my version, it starts with line 272 in BKfunctions)

How to test that it works:
  • Create a new game (skip intro) and enable only one mix with only a few girls
  • Check the Slavemarket - it should contain all the original girls
  • Talk to some of the girls in the city - the girls here should be random girls. There may be some originals if the girlmix was big enough

As for how to continue, it depends on what you want to achieve. Right now, the game will probably still run out of original girls at some point - it will prefer original girls also for the city, and as worldsoul explained, those quickly add up. You could, for instance, enable this only for the Slavemarket - that way, only the Slavemarket should be filled with original girls, without blocking them by generating them for the city.

Note: cloning options/unique is untouched by my algorithm! Your problem sounds like you added unqiue = True to all your girlpacks. Please remove the unique-setting at least from some of your girlpacks, or you will keep seeing this error.

Question for Goldo:
Could you add my modification to the game's codebase? I marked the necessary spots with my usual comments, the change is really simple and "cooperates" well with your algorithm. If you set the default value of the parameter to False, it should not mess with your game at all.
If you're willing to go the extra mile, I could e.g. imagine two new options in the game's settings, "Prefer original girls in the Slavemarket" and "Prefer original girls in the City".
Thanks a ton.
Title: Re: No Clones
Post by: Yasaki74 on Jan 14, 2023, 05:56 PM
Quote from: Goldo on Nov 14, 2022, 10:16 AMSure, will do that for 0.3. Not sure it answers OP's problem though (in fact, I don't see how playing with a low number of characters AND no clones could be made to work).
I think no clone would the character you get feel more special because it's the only character you can only get during the progress of the game (me with 116 characters installed) :3
Title: Re: No Clones
Post by: Goldo on Jan 16, 2023, 03:37 PM
If you play with no clones, we'd need new rules for what happens when the slave market or city refreshes. Currently old girls are eventually erased from memory and new girls are generated. If that doesn't happen, it would mean the same girls keep cycling over and over. It might be okay-ish if you have over a hundred girls, but I'm not sure how it would impact gameplay. For starters, all girls would have golden traits, which might cause balancing issues.
Title: Re: No Clones
Post by: Rewsrer on Jan 16, 2023, 07:27 PM
Quote from: Yasaki74 on Jan 14, 2023, 05:56 PMI think no clone would the character you get feel more special because it's the only character you can only get during the progress of the game
In this game, only traits that unlock the right perks in the right combination have value. It doesn't matter what characteristics a girl has, a girl's value is only in her traits. Stats can be maxed out quite easily, and perk points are limited by the number of levels. Out of 8 perk branches, only 3-4 have value and taking traits from useless perks= losing perk points is completely pointless.
Unique girl is created 1 time= with a high probability it will be a monster with a random set of traits, which for the most part will lose in value to most ordinary girls from the slave market ;D