project-navigation
Personal tools

Author Topic: Scientists/workers skills, and a way to impact research/production times  (Read 8792 times)

Offline Rodmar

  • Squad Leader
  • ****
  • Posts: 239
    • View Profile
Hello,

I read that the team's working on a way to punish abusive firing&hiring back of employees, either by making those firings definitive or by adding a "transfer" delay before they can be hire back.
(before the fired employees return from leave vacations).
On the other hand, the scientists and workers are unskilled and never gain experience, as for now. A such, if they die or if they're lost through firing, it's not a great matter because they can be easily replaced (only the cost in time and credits of a lost base does count).
In comparison, the definitive firing of veteran soldiers would hurt much more, because they gain experience and the late game need them.

On the last few hours, I've had a think about an easy way to have both: the more ancient the employees the more efficient and thus valuable, and the late game researches and items be next to impossible to handle by beginners, making it critical to not loose the veteran searchers and engineers (such as when a R&D or production base is stormed by the aliens).

I present here the basic ideas:

Workers and scientists proficiencies (skills):

  • Workers and scientists have now proficiency (or skill). This proficiency is used to compute how fast they perform as compared to the current (v2.5) production times (let's call them reference times).
  • They use the same proficiency scale as the soldiers (0-100), starting in the 10s-20s, and increasing through action (production, research).
  • Instead of having only one proficiency, it could be interesting to have several ones (i.e. 3 or 4). This way, it would still add some realism at a lesser cost and without cluttering the code nor adding too much of micro-management for such a tactical action game.
  • Workers get 3 or 4 proficiencies:
    1.Production: used to decrease the production times of all non-craft items, increased by producing non-craft items.
    2.Assembly: used to decrease the production times of all crafts (aircrafts, UGVs), increased by producing crafts.
    3.Disassembly: used to decrease the dismantling times of UFOs, increased by dismantling UFOs.
    4.Prototyping: used to decrease the RESEARCH times of new terran items, increased by taking part in the final stage of any research on new items.
    I know that the workers don't do research, but I figured a way to use them anyways.
  • Scientists get 3 or 4 proficiencies:
    1.Reverse Engineering: used to decrease research times on alien technologies (new UFOs included) under Paul Navarre, increased by doing research in this field.
    2.Xenobiology: used to decrease research times on autopsies, alien behavior and psy powers under Doc. Connor, increased by doing researh in this field.
    3.Applied Physics: used to decrease research times on any new terran item/tech/craft under Paul Navarre, increased by doing research in this field.
    4.Data Analysis: used to decrease research times on statistical data and to speed up memo output rates under Col. Falkland (Alien on Earth, etc.), increased by doing research in this field.
  • Workers and scientists gain experience through doing things. How then to replace lost veteran employees? Workers may always produce things even if they aren't needed and are sold. But scientists won't research again topics that have been already searched.
    This is the reason for having the scientists able to train when they are idle: it's a very low daily rate and this models how the scientists study former researches in the PHALANX database.
  • As for the precise experience gain system, I let this to others. Perhaps it could draw inspiration from the soldiers' experience system.
    There could be a very low gain on each day of being in base (training or researching a topic too much difficult), a low daily gain when researching, and a bunch of points gained when research is completed (e.g. 2-7 points on the 0-100 scale)

Now that workers and scientists get skills (or proficiencies), we can devise the principle of the system.

Production/research times:

Currently, production and research times have fixed values in (hour x man) (as experienced with production times at least) ; this means that each assigned employee contributes equally to the actual production time.
For example, if an UFO has a dismantling time of 6000 (hour x man), assigning 50 workers on it will result in a 120 hours dismantling time.
In this case, each worker works 120 hours on this production. Let's call this the reference time.

The idea is that unexperienced workers could contribute for less than those 120 hours while veteran workers would contribute more.
How less? As low as 0 if the research or the production is too difficult.
How more? As much as 150% for instance (this a balance concern).

On to the maths:

Currently, the production (research?) time is computed by: productionTime = referenceTime / manpower
where manpower = number of assigned employees x 1  <- 1 is the efficiency factor, the same for all the employees.

I propose to change this formula into:  productionTime = referenceTime / actualManpower
where actualManpower = sum of all the individual efficiency factors (on a 0-1.5 scale)
Quite obviously, we have   0 < actualManpower < 1.5xManpower, so that the referenceTime (currently used in game) might need some balance (or not).

In short, 50 workers would work as fast as 75 or as slow as... 1 (or even 0)! depending on the difficulty of the research/production as compared to their own skill.
The factor 1 would correspond to an employee whose skill matches the required proficiency score.
For instance, given that the employee have a score of 20 at the beginning of the campaign, those researches accessible from the start should have a proficiency of circa 20.

Last thing to do is to compute those individual proficiency factors (0-1.5)

Proficiency factor is computed given the employee's proficiency and the research/production reference proficiency:

If we use a delayed exponential function, a simple formula any physicist is familiar with, which parameters are set so that a worker with same proficiency score as the difficulty score of the given research/item, we end with:
- the possibility to forbid a research or a production to an employee not proficient enough.
- the general result of having veteran employees performing more, but not on a linear curve, rather on an asymptotic one (exponential).

Conclusion:

If this simple system (despite this wall of text) gets a chance to interest the team (either to implement it or to some other use), I can send you the formulas, a spreadsheet and the associated diagrams that illustrate what we'd get.
I'd have to work on them in the few next days, of course, but only if you are interested.
From the few tests I made on a pocket calculator, this should address the question.

Just give me an email or an address to upload files and wait a little.

Offline ShipIt

  • Project Artist
  • Captain
  • ***
  • Posts: 906
    • View Profile
Re: Scientists/workers skills, and a way to impact research/production times
« Reply #1 on: October 29, 2015, 07:08:18 am »
For workers I could imagine having something like that. Not so for scientists, because this would mess up the complete timeline and make the game even harder to balance.

Offline Rodmar

  • Squad Leader
  • ****
  • Posts: 239
    • View Profile
Re: Scientists/workers skills, and a way to impact research/production times
« Reply #2 on: October 29, 2015, 03:13:10 pm »
I'm not sure about that.

Tasks (productions, researches) would follow the same models, but wouldn't be handled the same (because of this timeline).
Currently, the timeline is enforced by the tech tree and the prerequisites. This is not necessarily to be changed.

A task would be defined not only by a time and prerequisites, but by all of these:

- prerequisites
- timeReference = time required for a single man having required proficiency (i.e. factor = 100%).
At first, it could stay the same as in v2.5 to see how things work, then it could be adjusted so that the actual times correspond with the usual timeline in game situation.
- proficiencyThreshold = minimum proficiency under which the employee counts for naught (factor = 0%). In my mind, you could assign a non able employee to a task, for no effect but to train him. Also, this would mean that a Nobel prize with a crowd of bachelors would research as fast as... a Nobel prize alone. If you aren't agree with this, it's simple: just lower the threshold and make the task more difficult, so that the crowd as a whole counts as a fraction of a Noble prize, and manage to compensate the lesser efficiency of the doctor.
- proficiencyReference = proficiency an employee must have to reach a factor of 100% (approx.). It's the difficulty of the task.

Optionally, a maxFactor could be attached to each task as well.
For now, it's  the same constant for all the tasks (value = 150%)

Again, these simple maths take very few code lines and computation time, even if computed on each day: 200 exponential evaluations for 200 employees, and as many sums as there are started tasks! Perhaps one procedure would ever be needed.

No, the major task will be to manage all the employees the same as the soldiers: with stats (proficiencies or skills), and with individual assignment to tasks. I'm not telling about manually checking boxes as when we assign soldiers to a transport, however. This could be transparent for the player (take 20 employees and compute their efficiency according to their stats).
Should a player want to specialize his teams, he should keep them on the same task (or field) for month. Eventually, he could move some employees between bases too.

The use of an exponential allows for the threshold effect, hence punishes the loss of a research/production base, and prevent über-employees to reach monstrous efficiency in late game (that's for workers, because they can produce until end of game)

All in all, I believe that the settings and balance of all this is pretty simple, given that in game:
- employees are generally able enough when the task comes to them (no beginners will normally produce or research particle beams weapons, for instance).
- once a research is done, it's... done, so that all the possibilities of the system are not used at all.
- given the properties of the exponential, you may have quasi linear curves, if the two parameters are set close to each other.
- indeed, the current settings may be reached by increasing the timeReference by 150% (to cop with the 150% factor), to set the threshold at a ridiculous level, and the proficiencyReference next to it. Though, all the wanted effects (sense of progress, need for experimented employees) won't show.


Well, anyways, thanks for your attention, and I let you here on this topic, with two screenshots to illustrate my blurred explanations.

Offline Noordung

  • Squad Leader
  • ****
  • Posts: 285
    • View Profile
Re: Scientists/workers skills, and a way to impact research/production times
« Reply #3 on: October 29, 2015, 06:23:36 pm »
For workers I could imagine having something like that. Not so for scientists, because this would mess up the complete timeline and make the game even harder to balance.
if lets say scientist at 100% skill would have somewhere 10% bonus that would not be so much to balance. but it would make him more valuable.
also if there would be more different skills there should be a way to choose each scientist/worker so you know who is who. some names for scientists/workers would be fine too.

i think i read that there was something about suggesting some delay between buying and receiving bought items (weapons/ammo..) so it could be the same for workers. you get new worker only after few days you hire him.

Offline damiac

  • Rookie
  • ***
  • Posts: 13
    • View Profile
Re: Scientists/workers skills, and a way to impact research/production times
« Reply #4 on: October 29, 2015, 11:48:54 pm »
If the goal is simply to prevent hiring/firing at the end of the month, just pay the full month's salary when you fire a worker or scientist. 

If you want to get clever, you could prorate the salary based on how much of the month they worked, but it doesn't seem necessary.

Offline ShipIt

  • Project Artist
  • Captain
  • ***
  • Posts: 906
    • View Profile
Re: Scientists/workers skills, and a way to impact research/production times
« Reply #5 on: October 30, 2015, 08:36:42 am »
If the goal is simply to prevent hiring/firing at the end of the month, just pay the full month's salary when you fire a worker or scientist. 

If you want to get clever, you could prorate the salary based on how much of the month they worked, but it doesn't seem necessary.

Easiest solution would be to pay the first month salary right away when hiring (in advance), imo.

Offline ShipIt

  • Project Artist
  • Captain
  • ***
  • Posts: 906
    • View Profile
Re: Scientists/workers skills, and a way to impact research/production times
« Reply #6 on: October 30, 2015, 08:52:51 am »
@Rodmar
The timeline completely depends on the alien interest level.

Back to topic, the first to think about is how many micromanagement we want. We are not doing a simulation, and we need to balance between the major game parts and also keep the available manpower in mind. Some time ago the proposed solution was to remove workers/scientists as they are and replace them by numbers, effectively making it simpler rather then more complex.

Offline ShipIt

  • Project Artist
  • Captain
  • ***
  • Posts: 906
    • View Profile
Re: Scientists/workers skills, and a way to impact research/production times
« Reply #7 on: October 30, 2015, 09:03:45 am »
if lets say scientist at 100% skill would have somewhere 10% bonus that would not be so much to balance. but it would make him more valuable.

Imo this is illogical. If the bonus is so small that it doesn´t need to be balanced, how could it make a worker more valuable? Even more, why should somebody put hours of spare time into coding a feature that does´t add much?


i think i read that there was something about suggesting some delay between buying and receiving bought items (weapons/ammo..) so it could be the same for workers. you get new worker only after few days you hire him.

This.

Offline Rodmar

  • Squad Leader
  • ****
  • Posts: 239
    • View Profile
Re: Scientists/workers skills, and a way to impact research/production times
« Reply #8 on: October 30, 2015, 12:00:22 pm »
This transfer time is a necessity, imo. I see this as some added realism (I'm a simulation geek).
But 48H less for research and production are not a great concern in many cases.
As for the cost of dismissing and re-hiring employees, 100k or even 200k credits are quite nothing after a while, when in March, 2085, on v2.5 difficult (e.g.), you have more than 2M credits. But it's another topic.


@Rodmar
The timeline completely depends on the alien interest level.
Balancing considerations:

Then to balance such changes, we could play some campaigns (v2.5) at a given difficulty setting, and see at which dates the various tasks are accessible. Consider the low, mean, and high values of them. Though some techs and researches may well come as soon as September, 2084, they could be researched/produced more slowly as currently for some weeks. Remember that soldiers upgrade quite steadily at the beginning. Other employees would do the same because we keep the same experience system. After all the techs and researches are calibrated that way (minDate, meanDate, maxDate) (this would help tune the timeline and the alien interest as well, if not already the case), then we ought to play some campaigns with the changes implemented (experience included of course), and try and manage to reach those same "statistical" dates through tweaking the two parameters of each task (plus the time parameter, if required).

Back to topic, the first to think about is how many micromanagement we want. We are not doing a simulation, and we need to balance between the major game parts and also keep the available manpower in mind. Some time ago the proposed solution was to remove workers/scientists as they are and replace them by numbers, effectively making it simpler rather then more complex.
More micromanagement, and more possibilities, if wanted:

Yes, this would add some micromanagement (up to assigning individuals to peculiar tasks, I don't know), but it would add too a degree of liberty to the research/production system: the liberty/capacity to begin some few tasks soon (which prerequisites are easy and already met) and wait for weeks or month for them to be completed (why not), or, if the player choose to postpone these tasks because he focuses on another direction, to complete them in a few days one year later, just because his employees would have seen and done marvels in the meantime!
Another (much exaggerated) example is: researching a fighter shouldn't take the same time in June, 2084, as it would take in January, 2085, because the team would have researched on alien tech or even on a Corrupter before (thus be trained in Reverse Engineering ). If 6 days are needed for 20 scientists at the beginning of the campaign,  perhaps 3 or 4 days are enough 6 month later, when their proficiency has increased.

It would add work for the balancing team, for sure, but much more micromanagement, this is not compulsory. For instance, they could be grouped in task teams (those working for Doc. Connor, those working for P.Navarre, whose dismantling UFOs, etc). Perhaps 1-4 teams per base. This would be manually done like assigning soldiers in a transport. Then, in the Production/Research screen, instead of manually incrementing/decrementing the number of employees per task (though this is not currently the case for the production in UFO:AI), the player would only assign a team to a task.

A feedback on the current production screen:

By the way, note that the current production system is not satisfactory, imo, when you want to produce consumables(grenades, ammo): you'd rather want to slowly produce several types together, have a constant stream of them, instead of spending days to produce enough items of one type to be used while you produce the other types. That's non useful micromanagement. I'd rather have a more useful micromanagement, when this system is the same as the current research system, and the original XCOM's one, too.

Removing non-combatant employees??

Also, you give me a fright when you say this was once envisaged! On the contrary, I hope that when the battlescape system manage to handle several teams, and the AI performs better, this will allow for more thrill and interest in several missions: not only the team local military, team civilian, team UN, team crash survivors as everybody think about, but as well: team scientist, team engineer, and team hospital, during a base defense. Yes, everybody would not reach the shelter in time! It's too soon to talk about this, but the interest of this would be to lengthen a base defence mission and  to possibly lose some employees based on the death toll of those "civilians" during the mission.

Offline geever

  • Project Coder
  • PHALANX Commander
  • ***
  • Posts: 2561
    • View Profile
Re: Scientists/workers skills, and a way to impact research/production times
« Reply #9 on: October 31, 2015, 08:56:31 pm »
Actually I would love to implement a featue like this, but the Team agreed not to do it.

I may still do it in a way that it doesn't change the gameplay but let you enable the feature easily, by generalizing the current skill system, make any skills scriptable, giving scientists and workers a single skill with the value of 1. But as the Team doesn't want this feature, it is on the bottom of my wishlist.

-geever