Author Topic: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.  (Read 9311 times)

0 Members and 1 Guest are viewing this topic.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6881
  • "It's like hunting cows"
Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
« 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.
« Last Edit: November 03, 2015, 04:44:20 PM by Xela »
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6881
  • "It's like hunting cows"
Dark's thoughts from the issue at the hub.
« Reply #1 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.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6881
  • "It's like hunting cows"
Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
« Reply #2 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.



Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6881
  • "It's like hunting cows"
Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
« Reply #3 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).
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4730
Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
« Reply #4 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.
« Last Edit: November 04, 2015, 08:48:48 AM by DarkTl »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6881
  • "It's like hunting cows"
Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
« Reply #5 on: November 04, 2015, 09:07:41 AM »
That's definitely a possibility, I am not sure about it though.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4730
Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
« Reply #6 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?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6881
  • "It's like hunting cows"
Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
« Reply #7 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.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4730
Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
« Reply #8 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?  :)

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6881
  • "It's like hunting cows"
Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
« Reply #9 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.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4730
Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
« Reply #10 on: November 05, 2015, 11:07:08 AM »
I'm not sure I understand the meaning of Economy mod.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6881
  • "It's like hunting cows"
Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
« Reply #11 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.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4730
Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
« Reply #12 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  :)

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6881
  • "It's like hunting cows"
Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
« Reply #13 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.
Like what we're doing?

Offline darkfire681

  • Newbie
  • *
  • Posts: 3
Re: Jobs/Businesses/Wages/Tips/Clients Conceptual Discussion.
« Reply #14 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"