Author Topic: General Discussion  (Read 3821726 times)

0 Members and 15 Guests are viewing this topic.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #6090 on: October 15, 2015, 12:11:27 PM »
Are you sure? I have these written in a txt in order to not forget:
Quote
                     - normal = normal search behavior, try all tags first, then first tag + one of each tags taken from the end of taglist
                     - any = will try to find an image with any of the tags chosen at random
                     - first_default = will use first tag as a default instead of a profile and only than switch to profile
It doesn't look like I described.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6091 on: October 15, 2015, 01:02:32 PM »
There is a reduce lookup order that does what you wrote but it may not be finished. I'll take a look.

This:
- reduce = try all tags first, if that fails, pop the last tag and try without it. Repeat until no tags remain and fall back to profile or default.
« Last Edit: October 16, 2015, 12:18:56 AM by Xela »
Like what we're doing?

Offline Vii

  • Newbie
  • *
  • Posts: 1
Re: General Discussion
« Reply #6092 on: October 17, 2015, 04:50:26 PM »
Soooo, umm.. Im a bit confused, what's the latest version? The alpha from the alpha thread, the git version or what?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6093 on: October 17, 2015, 07:01:50 PM »
Let's talk about tags substitution again. Today I'm working on that huge sex scene script (which is very simple to review  :D ), and once again look at huge checks that I had to come up with to make sure we show the best possible picture. How should it really work:

Partner_hidden logic:
1) If we use partner_hidden, it should have greater priority than location. Ie if we don't have partner_hidden+wildness, and we don't have that combination, we should try to show partner_hidden+simple_bg OR partner_hidden+no_bg.

2) If there are NO partner_hidden pictures with proper action and simple/no bg, then we try to show after_sex instead with proper location, or simple bg/no bg if there is no a proper location picture.

3) If we don't have even them, we have no choice but ignore partner_hidden tag, and show best possible pictures without it.

Location and actions logic:
1) If we don't have needed location, we should try to show simple_bg OR no_bg with needed actions.

2) For actions that don't have a picture (usually foot and handjob, but there could be more for rare chars) we show after_sex with needed location instead.

3) If there are no perfect location pictures, or even simple_bg/no_bg pictures, we should try to show after_sex with needed location, and if we don't have them, after_sex + no_bg/simple_bg.

5) Finally, if we don't have even pictures from 3),  we show closest possible location, ie if we have indoors+living room+anal, let's try to show indoors+anal at very least.

This is complex as hell, but it should provide the best possible sex picture. Currently function that does it is far from showing the best possible one.

This sh!t takes too long and I am not even sure if I am understanding all of it properly. In any case:

1) I've assumed that locations tags are all tags that start with "l" in tagger.

2) I have no idea which sex action tags you want to be included in:

Quote
(usually foot and handjob, but there could be more for rare chars)

So I left this: sex_action_tags list open for you in tags_dict.rpy. Add there whatever you see fit. Feel free to change the list of loc_tags to whatever you consider sensible if my variant is wrong.

3)
Quote
5) Finally, if we don't have even pictures from 3),  we show closest possible location, ie if we have indoors+living room+anal, let's try to show indoors+anal at very least.

This I couldn't understand properly, I'll need some lists from you:

If items in list 1) are in the tags, we take out all items from tags that are in list 2) and leave items that are in list 3). In your example:

1) ["living_room", "indoors"]
2) ["living_room"]
3) ["indoors"]

4) I assume that for actions I will be able to use whatever you put in sex_actions_list, if not, I'll need another list of all actions that can be used here.

===
Even without the last fallback (5), this function needs intense testing, either trough console or script... you can tweak it as you see fit.


Soooo, umm.. Im a bit confused, what's the latest version? The alpha from the alpha thread, the git version or what?

Alpha is the latest playable.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #6094 on: October 18, 2015, 01:13:43 PM »
3)
This I couldn't understand properly, I'll need some lists from you:
It's nothing too complex, all it's based on tagged structure:

1. We drop nature first if needed:
1) ["outdoors", "urban", "wildness", "suburb", "nature"]
2) ["nature"]
3) ["urban", "wildness", "suburb"]

2. Outdoors tags fall to outdoors.
1) ["urban", "wildness", "suburb"]
2) ["urban", "wildness", "suburb"]
3) ["outdoors"]

3. Indoors tags fall to indoors.
1) ["dungeon", "living", "public"]
2) ["dungeon", "living", "public"]
3) ["indoors"]

4. If we don't have both indoors and outdoors, we fall to simple/no bg:
1) ["indoors", "outdoors"]
2) ["indoors", "outdoors"]
3) ["simple bg", "no bg"]

5. Special tags fall to  to simple/no bg directly.
1) ["beach", "onsen", "pool", "stage"]
2) ["beach", "onsen", "pool", "stage"]
3) ["simple bg", "no bg"]

4) I assume that for actions I will be able to use whatever you put in sex_actions_list, if not, I'll need another list of all actions that can be used here.
Yup, ideally it should work for any sex actions. I don't try to set a perfect match for poses or actions.
So, any "straight" actions fall to "after sex" if we don't have them. Any "gay" (aka lesbian) actions fall to "nude". Any masturbation actions also fall to nude.
After sex fall to nude too if we don't have them.

I don't touch group and bdsm for now, since they will require entirely different approach. We most likely will have to check what kind of group and bdsm images the character has (if there are any), and then based on it do something. But I don't know yet how to do it anyway.
« Last Edit: October 19, 2015, 09:52:11 AM by DarkTl »

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #6095 on: October 19, 2015, 09:46:02 AM »
I'd like to change stats (and set prices for hiring) during sex scene in the same manner as you do for whore jobs. There are so many jobs rpys, where should I look for this stuff?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6096 on: October 19, 2015, 03:44:28 PM »
I'd like to change stats (and set prices for hiring) during sex scene in the same manner as you do for whore jobs. There are so many jobs rpys, where should I look for this stuff?

Nowhere atm. I've set all values to 1000/100 because old system used too many old concepts and it was premature to fix them (and not sensible without discussing how it should work first).
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6097 on: October 19, 2015, 04:28:47 PM »
Ok, I've update the image searching func again, some things are still not completely clear and confusing to me but it should work as you described.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #6098 on: October 20, 2015, 12:57:57 PM »
I replaced char.show with return gm.set_img, it's more suitable for gms anyway. Looks like it works. I'll need to test it to find out how well.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #6099 on: October 20, 2015, 01:59:08 PM »
I want sex and strip scenes to use the same logic in terms of changing stats, skills and vitality as ingame events during jobs. Otherwise it might be illogical and even overpowered.
Thus some parts of sex scene logic will remain intact until we clarify this topic.

I'm going to switch to gifts making atm, we have a major shortage of them.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #6100 on: October 20, 2015, 02:17:22 PM »
Do you have any specific route of thoughts for issue 121, or any ideas are good?  :)

Offline Alex250

  • Newbie
  • *
  • Posts: 11
Re: General Discussion
« Reply #6101 on: October 21, 2015, 03:32:57 AM »
Here are some ideas:

customer_wealth_mod: dépends on the building's Reputation.
Customer pays: job_base_cost * relevant_stats_skills * customer_wealth_mod
customer_satisfaction: job_base_appreciation * mean_relevant_stats + customer_requests_fulfilled - building_reputation
Building Reputation increase: job_base_reputation * customer_satisfaction
Customer tips: job_base_tip * min(customer_satisfaction, 0)


base_upkeep: (base_cost + for_each_skill(skill_base_cost * skill) + fight_base_cost * total_fight_stats + base_stats_cost * total_base_stats)

Slave upkeep: base_upkeep * (1 + character/100) * (3 - devotion/500)

Feature idea, if it isn't there already: Stats/Skills decay. This would allow you to reduce the upkeep of slaves by letting unused stats decay.

Employe wage: max( base_upkeep, (base_cost + job_base_wage * relevant_stats_skills) * (1 + character/100) * (1 - devotion/1500))

Unlike the slave, you pay free workers for what they actually do, not for everything they are able to do. There is still a minimum so you can't put your Fighter on Cleaning duty to avoid paying them but it is lower than an average slave (it's in fact the lowest upkeed a slave with the same stats can have).
French -> please tell me when I make writing mistakes.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6102 on: October 21, 2015, 06:53:05 AM »
Do you have any specific route of thoughts for issue 121, or any ideas are good?  :)

Any ideas, I am thinking a simpler Economy module to hold and manage all related variables but maybe we can come up with something simpler that can be mutated into that later.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6103 on: October 21, 2015, 07:22:28 AM »
BTW: What you did in the image searching func changing shwo to set_img most definetly messes it up. I'll try to restore original functionality with set_img tonight.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #6104 on: October 21, 2015, 08:13:17 AM »
BTW: What you did in the image searching func changing shwo to set_img most definetly messes it up.
Well, I didn't noticed anything weird during testing. Char.show should do pretty much the same thing as gm.set_img, but also requires image size, which is useless in our case, since we use the function in gms, and they use one size all the time.