Pink Petal Games

PyTFall => PyTFall: Game design => Topic started by: Xela on November 03, 2015, 04:14:29 PM

Title: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: Xela on November 03, 2015, 04:14:29 PM
A little overview of what I've been trying to do for the last month and why:

Our old system while working reasonably well had more holes in it than Swiss cheese. For once, most of it was not "real", clients were not directed through businesses, it was not ready for expansion (partly because it was originally written for a much simpler/smaller concept) and all upgrades were linear (as in not having any relevant effects on the business, just modifying couple of values and adding a text). That is just to name a few issues...

If you recall, I tried coding in a better system but gave up after a few days due to insane complexity of building a capable business management code. I left the code sitting by idly in the game hoping one day to resume it, that never happened because Doc dug up SimPy Python module that did the very management thing I was trying to code, it took me about 3 or 4 weeks to figure it out to use effectively but I think that I am getting there, at least for the first version of a new module.

History aside, this is how it works:

1) Buildings.
Currently buildings hold a number of general attributes and space to add upgrades (outside and inside). Most of those upgrades require time to build/expand.
Building manages flow of clients:
- Clients walks in and wants to use one of the businesses. If business is running at full capacity (no rooms at brothel/chairs in bar and etc.), client can either leave, wait or go use a different business. This can be managed more favorably if there is a manager in the building.
- Building also holds financial data, runs the simulation environment and etc.

2) Upgrades (or businesses).
They can be habitable/workable or both:
- habitable means that a person can live there.
- workable means some form of a business.

Business have 2 forms and will have one more:

Form 1: Personal Service which means a personal service to a customer or a number of customers. Simplest example is WhoreJob.
Form 2: Public Service which means serving some pool of customers in no particular order. Example is StripClub.
Form 3: Task Service where there is usually no customers and workers simply have to complete some task (Building/Crafting and etc.)

3) Jobs:
Presently jobs are simply a holders for simple data and a number of methods (functions). They are used to check if a character is willing to do the particular job and log in/form next day reports.


All clients are now properly created, I have some ideas for dummy clients to improve upon performance but that will code post beta. Clients go into rooms, clubs, bars, wait in the lobby and etc. All of that is simulated client by client. For time discrete units are used, presently a base of 100 units. Such a setup will allow truly meaningful, noticeable upgrades to business (yes (sub)upgrades for upgrades) and meaningful control over workflow with managers/MC.


I will expand of this post if questions arise or something needs to be made clearer.

I'll also try to create new issues with checklist to better track progress on jobs and manage it.
Title: Dark's thoughts from the issue at the hub.
Post by: Xela on November 03, 2015, 04:15:16 PM
Quote from: DarkTl
Wages and stats/skills:

    - We cannot bind wages to skills directly as long as they can be raised infinitely and are not limited by anything, it's a path to infinite wages.

    - I believe wages should be based on character level and class. Class will give a base value (twice in the case of a single class), and every level will increase it a bit.

When we try to include there stats or skills, we discourage players to train characters. Surprisingly, it leads to tricks when players decrease stats on purpose to make wages lower, they did it a lot during the alpha. I'm not saying it's a very bad thing, but it's a bit illogical when a pretty character wears ugly armor and expects less wage.

    - We could invent an indirect system, when we somehow normalize skills before using them to calculate wages. But some classes focus on stats while others on skills, it might lead to huge wages imbalance. Another reason to not calculate wages based on them.

    - To provide control over wages and not make them overwhelming and quickly increasing, we could make level ups manual, ie only with the permission of the player. This way if the player cannot afford to pay more yet, he can stop leveling the character until the situation will change. Such characters will not get any more exp until leveled up.

Quote from: DarkTl
Customers-based jobs income:

    - Every customer has a limited, random amount of gold based on his social level. I think we already have something like that, but I don't remember the details. The more reputation the building has (no matter what you do there), the more customers and with higher levels come.
    - The more level of the customer, the higher skill is required to make him/her happy and part with gold. Since they also have more money at higher levels, it is worth it anyway.
    - While skills determine how happy the customer will be after the service, thus how many willing to pay and how many reputation to give, stats will determine other things, like how many customers the character can serve (agility and constitution), whether customers like the character or not (ie tips), etc.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: Xela on November 03, 2015, 05:06:41 PM
Quote from: DarkTl
Wages and stats/skills:

    - We cannot bind wages to skills directly as long as they can be raised infinitely and are not limited by anything, it's a path to infinite wages.

We could... since we can actually find out a max skill in the game by a method I suggested earlier (get a mean of 10 best actors) but even then it would have to be only a part of it. People are not always get payed purely based on their skills.

Quote from: DarkTl
    - I believe wages should be based on character level and class. Class will give a base value (twice in the case of a single class), and every level will increase it a bit.

That will not work (at all) as level does in no way guarantee high stats or skills for the class. It does guarantee high capability for advancing those skills/stats faster and to higher values.

Quote from: DarkTl
When we try to include there stats or skills, we discourage players to train characters. Surprisingly, it leads to tricks when players decrease stats on purpose to make wages lower, they did it a lot during the alpha. I'm not saying it's a very bad thing, but it's a bit illogical when a pretty character wears ugly armor and expects less wage.

Kinda depends in circumstances... a Stripper that comes out for a show in an ugly armor should not expect to get paid as much as if it was a proper performance, this is easy to circumvent as we can use the stats dict for calculations instead of pure, final values.

Quote from: DarkTl
    - We could invent an indirect system, when we somehow normalize skills before using them to calculate wages. But some classes focus on stats while others on skills, it might lead to huge wages imbalance. Another reason to not calculate wages based on them.

We already have this system (as we track items stats and pure stats separately).

I agree, stats/skills may add a very limited bonus but should not be considered central, such system would be too difficult to work with.


Quote from: DarkTl
    - Every customer has a limited, random amount of gold based on his social level. I think we already have something like that, but I don't remember the details. The more reputation the building has (no matter what you do there), the more customers and with higher levels come.

This is a solid idea and a lot simpler to manage with SimPy (it was close to impossible before). I am not sure about it because bringing in customers money as an extra variable will be more difficult to manage/balance but then again, the closer it is to RL, the more sense it should make. At least I hope that it will. This is definitely worth consideration/discussion.

Quote from: DarkTl
    - The more level of the customer, the higher skill is required to make him/her happy and part with gold. Since they also have more money at higher levels, it is worth it anyway.

One option, for some reason I went with the highest skill (out of all skills) of a customer vs relevant skill of a worker (kinda one professional will always appreciate another pro, no matter how different their areas of expertise are). Level just might make more sense (code will definitely be simpler)... Hard to tell.

Quote from: DarkTl
    - While skills determine how happy the customer will be after the service, thus how many willing to pay and how many reputation to give, stats will determine other things, like how many customers the character can serve (agility and constitution), whether customers like the character or not (ie tips), etc.

This is very job defendant so it's difficult to discuss over the whole concept.



Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: Xela on November 03, 2015, 05:33:16 PM
My own approach would be something like this (I don't have a lot of time so I'll be brief, we can discuss everything in detail over the next few days/weeks):

We can start Economy module with something simple, like a simple variable of 0.5 - 1.5 as a modifier to determine strength. Maybe we can also track a logical amount (just numbers, without actually creating instances) of characters with the occupation in the city, same for businesses.

Wages should be fixed on basis of an occupation:

Modified by:
+++
Economy mod(s)

++
Stats

+
Skills

They should also be negotiated when hiring the character and fixing on that level. Much should depend on how much tips the character is allowed to keep (much lower wage for more tips for example). Paying more than agreed amount will mean more joy/disposition, less=less.


Price of a service should depend on and be fixed for a business:

Modified by:
+++
(sub)Upgrades
Location (Quarter a building is in, like a business based in Richford should have higher base prices than one located in Fleebottom)

++
Economy mod(s)

+
Fame/Reputation of a building


Tips should most depend in economy mod and skills/stats of a worker.


If we go that way, on hand cash of customers should depend on economy mod(s) + reputation of the building (besides the obvious level/status of a client).
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: DarkTl on November 04, 2015, 08:37:53 AM
About skills.

Skills, as a knowledge about something, could be increased infinitely unlike stats. But it should be a bit more difficult to obtain every next point. The more you know, the more difficult it is to find out something new.
How I imagine it at this point:

- skills have effective levels. There is no difference in terms of ingame formulas between vaginal 105 and 110. There is difference between vaginal 50 and vaginal 100.
- skill less than 50 is 0 lvl. Skill from 50 to 100 is lvl 1. Then we go like 200, 400, 800, 1600, etc. Or any other progression.
- we even can show skills progress bars and effective levels in gui.

So we keep infinite skills without the need to normalize them anyhow, and use effective levels in checks, making checks simpler.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: Xela on November 04, 2015, 09:07:41 AM
That's definitely a possibility, I am not sure about it though.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: DarkTl on November 04, 2015, 10:09:05 AM
It's the only reasonable way to show skills it gui, I suppose. If we hide them altogether, we remove the sense of progression. If we show raw numbers, we create information overload and make skills too obvious.

When we compare skill level to the highest skill in the game world, we cannot predict the outcome in the long run. Will skills become more or less valuable as time passes, and how fast? What if the character with the highest skill dies and all skills suddenly become more valuable over one night?
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: Xela on November 04, 2015, 01:04:31 PM
It's the only reasonable way to show skills it gui, I suppose. If we hide them altogether, we remove the sense of progression. If we show raw numbers, we create information overload and make skills too obvious.

When we compare skill level to the highest skill in the game world, we cannot predict the outcome in the long run. Will skills become more or less valuable as time passes, and how fast? What if the character with the highest skill dies and all skills suddenly become more valuable over one night?

I've said: Mean of the 10 highest. Also yeah, when masters die, there will be demand for new masters, I don't think that it's too much of a stretch.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: DarkTl on November 04, 2015, 01:12:13 PM
It still means that instead of hiring the best ones you can kill them and make your own weak girls better because of it. Are you ok with it?  :)
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: Xela on November 04, 2015, 01:29:23 PM
That would not be very easy to do as figuring out who are the 10 may take month (if not years of interacting with characters and there is no guarantee that those chars can be found at all) and you cannot exactly go around murdering people. Also I don't want to calculate it every time skills is accessed, just once every x amount of days so if the skills suddenly changes, we can have it go in that direction slowly.

I am not sure how to handle this... thing like these are becoming clearer when testing/playing the game. There are many good options here and just as many bad options. We need to find one that is intuitive, interesting and easy to work with.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: DarkTl on November 05, 2015, 11:07:08 AM
I'm not sure I understand the meaning of Economy mod.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: Xela on November 06, 2015, 03:46:33 PM
I'm not sure I understand the meaning of Economy mod.

As I've explained above, this is a way I've been thinking about for a while now to influence income/expenses in gameplay. It would have a general modifier:

0.5 Recession.
1.0 Normal.
1.5 Strong economy.

Beside that, it can logically track how many businesses of any type there currently are in the city and how many employees (also logically, without actual simulation). We can control demand/supply with it, also I've been dreaming of adding a daily newspaper (automatically generated, obviously just one or two pages) to the game but besides arena, there is not much going on. Especially before we add politics and general gameplay.

This can be a really decent addon, prolly not too hard to code or keep track of. Even if it proves too clumsy or too complicated, we can add some modifiers there to be used in difficulty settings.

I have a dozen of other decent ideas for Economy module but there is no way in hell we can get it done for the next release.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: DarkTl on November 07, 2015, 01:57:56 PM
Aah. I thought you mean something like inflation, when gold slowly devalues, leading to changes in prices everywhere  :)
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: Xela on November 07, 2015, 03:22:24 PM
In distant future, this is too complex of a concept for a take-off for a module.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: darkfire681 on November 16, 2015, 10:32:42 PM
It's the only reasonable way to show skills it gui, I suppose. If we hide them altogether, we remove the sense of progression. If we show raw numbers, we create information overload and make skills too obvious.

When we compare skill level to the highest skill in the game world, we cannot predict the outcome in the long run. Will skills become more or less valuable as time passes, and how fast? What if the character with the highest skill dies and all skills suddenly become more valuable over one night?

You could just do a combination. Rather than raw numbers just give a percentage with a progress bar that way you can actively keep track of how far along a skill is with out needing to guess on how far off you are from leveling. Some people might try and use the percentage to see how much exp they get per use, but that's their problem. Everyone else can just glance at the percentage and go "oh 45% i still have a ways to go"
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: Xela on November 17, 2015, 12:43:13 AM
We made plans in a different discussion to use stars to display skills (if we decided to display them). One step would be half a star with 5 full stars (10 steps in total). Here we're talking more about the system itself, since it presently does not have a maximum like stats do, it can become an issue.

Dark has a good point, his way is prolly better than mine but I am also leaning towards having different hardcaps stored in some main class and maybe change them through the events (like for example skilled refugees coming into the city to escape the war in nearby lands). That will be easier to manage and Dark's system could still apply.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: darkfire681 on December 12, 2015, 02:38:38 AM
For jobs why not install a title system? I made a post in another thread about a similar idea. Basically you use titles as away of tracking the characters current job, skills, and stats. By completing quests or certain conditions you gain titles. By equipping and leveling those titles you gain more skills and higher stat limits. After you master a title you permanently gain the effects of that title. Going off the skill example you gave, five stars would be mastering a title where as having half a star would just mean that you have that title. A basic title build might look something like this

Apprentice Blacksmith XXX--
===================
1 strength + 2
2 Temper Will <Skill>
3 Strength + 3
4 Hp +10
5 Heavy Strike <Skill>

adding in more titles/job will encourage people to experiment and try to find their favorite combination.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: Xela on December 12, 2015, 05:12:23 AM
For jobs why not install a title system?

There is no good reason not to in general but there are many reasons not to right now. We have too many modules to wrap up and prepare for the release without adding levels to class traits. Also this has been done in a number of games (done well) and I's like to do something properly that hasn't or wasn't done well :)

In any case, this will not happen before the beta release, both Dark and I got a lot of stuff to do as it is and nobody else seems to be helping atm.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: Xela on April 10, 2016, 06:24:18 AM
Quote
Usual approach when wages are calculated based on stats to within 1 is not very realistic, slightest changes in stats should not affect it. I suppose we always can round stats in calculations up to ten or even more.

And even then wages changes should not be instant, since people cannot really see stats screen, they can see only results of the job. We probably could recalculate wages every 5-15 days, not every turn.
===>> https://github.com/XelaPy/PyTFall/issues/163

Well, you're obviously right, we cannot depend on split functions across 3 different classes like we did in the past, that is close to impossible to balance and to maintain. Given time, I'd like to calculate wages (and a lot of other things) based on a complex Economy module, but that will prolly be worth a whole release version, at least the way I want it to work.

For now, we can start with some things preparing for it and making sure we have a manageable system now, as with everything else, we'll have to use OOP and more specifically a generalized object that can be accessed from any module in the game and fulfills the needs of any such module. It'll be called something like Tier and we'll have to come up with 3 or 4 per job (or group of jobs if/when possible).

For example:

tier 1:
- wage = 5
- stats = ...
- skills = ...
- constant modifiers = ...

func1():
- calculates offsets (if some worker skills are lower/higher than requirements).

and etc.

From this object, we can draw clients expectations, salary a worker expects to receive, actual result. That result will prolly return a percentage which we can modify in the job itself further based off events (matched trait, good mood and etc.).

It will also be very easy this way to add a bar (gui bar, not a business) to modify expected payment within one tier and allow tier upgrades for businesses. If that percentage falls short, reputation is lost, if it's better than expected, reputation increases. Near range will keep rep constant.

This will be easy to code, will work with the possible future Economy module (that will auto-adjust those values through demand/supply of workers based on their amounts and skills). And I think that I can code the system and you can balance it out really well. We may even come up with auto-teir system that takes the first tier and creates new once increasing demands to them... and once more, most relevant data will be at one place, instead of 3 (or more) separate places.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: DarkTl on April 10, 2016, 09:45:14 AM
One of the most difficult things is to balance jobs like cleaner, with no income and fixed wages, with jobs like whore, with income and wage based on the number and quality of customers.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: Xela on April 10, 2016, 10:46:44 AM
One of the most difficult things is to balance jobs like cleaner, with no income and fixed wages, with jobs like whore, with income and wage based on the number and quality of customers.

Wage shouldn't be determined by quality and number of customers, income obviously should and it is up to a player to pay "bonuses" to ensure loyalty.

I am planning to add a "cleaning" business in the future, where maids/cleaners could be hired to do a job. We need to come up with a "base" wages for PyTFall, like minimum, average, good, large. We can use "base" to set up values for all jobs accordingly.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: DarkTl on April 10, 2016, 11:56:18 AM
Wage shouldn't be determined by quality and number of customers
But in fact it does, thanks to tips.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: Xela on April 10, 2016, 12:08:43 PM
But in fact it does, thanks to tips.

Tips shouldn't matter that much, if they do, we'll balance them as well.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: DarkTl on April 10, 2016, 12:15:48 PM
Moreover, for whores we calculate outcome for every sex act separately, with different skills sets in mind and for different customers with different preferences and expectations. With multiple outcomes.
While cleaners just reduce the level of dirt, if there is any.

That's... very asymmetrical.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: Xela on April 10, 2016, 12:50:14 PM
It is different but I don't see a problem there. All workers expect to be paid no matter what, skill sets/expectations determine income and reputation. They all preform service of some sort and expect to be compensated for it, without cleaners, it would be just as impossible to run a bar as without bartenders.

Tiers will help us to determine 3 important things:

- Wage for the tier.
- Skills/Stats requirement for the tier.

- (in appropriate cases) Price of a service for a tier.
===>

This is the only way we can manage it in a system as complex as PyTFalls. If you have better ideas, lets hear them. I think we'll have to determine the tier (which determines wage) of a worker during hiring routine. All minor stuff will be compensated and calculated with code.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: DarkTl on April 10, 2016, 01:05:26 PM
No, I don't even mean wages themselves. I mean algorithms behind jobs.

All customer based jobs could be made quite complicated by generating many different customers and running checks for every one of them, that includes waitresses, strippers, guards, etc. In that regard cleaners seem too plain and simple if they just going to reduce dirt value based on some formula.

For instance, they just as other workers could be limited by AP/agility in terms of how many rooms one can clean per turn, no matter how good she is in cleaning. Meaning the general dirt level should be divided between all rooms.
We probably could even make a separate dirt level for every room, but it probably goes too far to micromanagement.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: Xela on April 10, 2016, 01:23:19 PM
All customer based jobs could be made quite complicated by generating many different customers and running checks for every one of them, that includes waitresses, strippers, guards, etc. In that regard cleaners seem too plain and simple if they just going to reduce dirt value based on some formula.

For instance, they just as other workers could be limited by AP/agility in terms of how many rooms one can clean per turn, no matter how good she is in cleaning. Meaning the general dirt level should be divided between all rooms.
We probably could even make a separate dirt level for every room, but it probably goes too far to micromanagement.

It's not related to wages.

I have already coded in "AP ==> Job Points" conversion for cleaning job, it'll be the first, maybe we'll use that in the future for other jobs as well.

We cannot think in terms of rooms there as well (not all businesses have them)... I am not 100% how to handle dirt for new building system yet, it'll prolly have to be difficulty based. For "area", plan is to use "slots" system we have now (only slots in use will be counted).
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: DarkTl on April 10, 2016, 02:05:28 PM
I have some ideas about dirt though.

1) The difficulty of cleaning depends on current dirt level, and it is parabola, roughly. I mean, when the room is full of sh*t (1000), you obviously have to spend a lot of time and resources to clean it. When there is simply some dirt (500), you can rather easily remove it. And when the room is almost clean (close to 0-100), it's very hard to make it even cleaner.
Thus dirt 100-200 should be pretty normal when you don't have pro maids, since low level cleaners unable to clean stuff perfectly, at least fast enough.

2) Inability to run business should be one of worst possible, but not the only one effect of dirt. For example,
200: lower chance for clients to give tips and increase fame and reputation
300: the chance for workers of getting sick
400: clients not just don't increase fame and reputation, but occasionally decrease it
500: more poor clients, less rich ones
600: characters with some traits refuse to work
700: less clients in general
800: free characters begin to leave your business
900: inability to run business
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: Xela on April 10, 2016, 02:25:08 PM
1) The difficulty of cleaning depends on current dirt level, and it is parabola, roughly. I mean, when the room is full of sh*t (1000), you obviously have to spend a lot of time and resources to clean it. When there is simply some dirt (500), you can rather easily remove it. And when the room is almost clean (close to 0-100), it's very hard to make it even cleaner.
Thus dirt 100-200 should be pretty normal when you don't have pro maids, since low level cleaners unable to clean stuff perfectly, at least fast enough.

Sounds complicated... and a lot of work for a minor thing (unless we want to make dirt a big thing). We can add a function for this but I am not sure that the idea is sound.

2) Inability to run business should be one of worst possible, but not the only one effect of dirt. For example,
200: lower chance for clients to give tips and increase fame and reputation
300: the chance for workers of getting sick
400: clients not just don't increase fame and reputation, but occasionally decrease it
500: more poor clients, less rich ones
600: characters with some traits refuse to work
700: less clients in general
800: free characters begin to leave your business
900: inability to run business

We need more job events :)

@300: Sick ==> Should be much higher up the ladder.
@500: Why more poor clients? I understand richer client leaving but why would dirt attract more poor clients?
@700: We handle clients on case per case basis so we'll just turn them around when they enter the business.
@800: Not an option, this is completely out of sync with game mechanics, we can lower disposition/joy which will increase chances of the char leaving your service but just walking out because the business got dirty is not a good option.

We need to be careful with Job events as well, since we are planning to allow large businesses with a lot of workers and clients, too many checks may slow sh!t down.

We'll also need a system for this, lets do basic jobs first, I'll think about how we can add events there later.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: DarkTl on April 10, 2016, 03:46:33 PM
Sounds complicated... and a lot of work for a minor thing (unless we want to make dirt a big thing). We can add a function for this but I am not sure that the idea is sound.
Adding a parabolic function to formula is not a big deal. The idea is that vip clients, apart from other things, would require close to 0 dirt, which will be unavailable without pro cleaners. Making high cleaners very important.

@300: Sick ==> Should be much higher up the ladder.
Well, in reality all those things should be chance based. I just roughly estimated base dirt value.

@500: Why more poor clients? I understand richer client leaving but why would dirt attract more poor clients?
If we reduce the number of rich ones, but not the number of clients in general, naturally we will have more poor ones  :)
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: Xela on April 10, 2016, 03:58:43 PM
If we reduce the number of rich ones, but not the number of clients in general, naturally we will have more poor ones  :)

 ???

Cleaning job is progressing line by line. It's the first one of the type, I think guard job (and others in the future) can almost be copy pasted from the blueprint. I'll start testing it next week.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: DarkTl on April 11, 2016, 12:54:59 AM
Guards actually require interaction with generated customers though.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: Xela on April 11, 2016, 01:14:36 AM
Guards actually require interaction with generated customers though.

That's a field of the building, so it's all setup.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: Xela on April 24, 2016, 08:04:20 AM
This is more up to date, worth putting some time into editing a couple front posts with new info if time permits.
Title: Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
Post by: Xela on March 18, 2017, 02:07:15 PM
I wanted to do it on per general occupation basis (Service/SIW/Warriors/Managers). Problem is that you cannot interpolate tier reliably even if you bind corresponding skills/stats to those occupation and get a mean. Warriors fighting in the arena or guarding will always be at disadvantage compared explorers. It's even worse for Service chars.

So it should prolly be done on per Job basis. There should be "Current Job" and "Best Job". Best Job should be a target for every char and reevaluated every 25 days or so using raw stats (no items/temp modification) and base class(es). Current job is important only for free chars as you'll be hiring them for specific duties and they have a right to disagree doing stuff they don't like/want. It doesn't mean that they will not help cleaning or doing other tasks within their general occupations, but you cannot set them to focus on those tasks. SimPy will handle this.

We'll bind skills/stats on per Job basis, I took a look and some of that is done already. Jobs will also get new methods to calculate effectiveness and relative strength (for Best Job). I will also add this to interactions once the system is ready.

Tiers themselves will be calculated based of level, base class(es), stats and skills (we'll also have to make those bindings, prolly directly in JSON). They will be responsible for something akin to social status, to quickly figure out what chars expectations are, and stuff like wages, upkeep and etc.

Yeap, I arrived to a very similar conclusion yesterday. I am thinking we're gonna keep Job classes to keep present job assignment system in tact. They will also hold stats/skills required for them. So basically what I wrote about above. Each job (or most jobs) will have methods to figure out expected performance and actual performance, prolly on a scale of 0 - 200. Expected will be base, actual will also count data from actual job events.


I am still getting all of this straight in my head and making notes. If you need something coded in, let me know tonight cause I am leaving tomorrow and will be back on Monday if all goes well. I'll have my laptop but no idea what kind of internet connection will be available.

Keep loosing this simple post with general outlines...