XiozZe / XioScript

XioScript
11 stars 16 forks source link

Several laboratories for one technology #56

Open cobr123 opened 8 years ago

cobr123 commented 8 years ago

If several laboratories used to study one technology, then choose for them different hypotheses. And if one was done, and the other not, then they, too, switch to the next level of technology.

cobr123 commented 8 years ago

for example № Possibility Reference time 1 10.00 % 1.00 --- 2 20.00 % 1.00 --- 3 30.00 % 1.00 --- 4 50.00 % 2.00 --- 5 70.00 % 3.00 --- 6 80.00 % 3.00 --- 7 90.00 % 3.00 --- 8 96.00 % 3.00 ---

if we have 3 lab, then first take 30.00 % second take 50.00 % third take 96.00 %

XiozZe commented 8 years ago

Skipping to the next level if the technology was finished in some other lab is a great idea.

I agree that with multiple laboratories studying the same technology, it would be more efficient if hypothesis 3 or 4 was picked, instead of three times number 8. However, what is the benefit of randomizing the hypotheses/choosing different hypotheses? Why can't we just pick three times hypothesis 3, because that is faster than one on 3, one on 4 and one on 8?

cobr123 commented 8 years ago

because of randomness. there were cases when some laboratories a few days could not finish a day hypothesis despite the relatively high probability of.

TeaMike commented 8 years ago

i'm doing this the same way: one lab on highest, one in the middle and one ore even more on the fastest. Its tricky tho because depending on the tech level there are different probabilities and of course, like above example, hypothesis probability can vary but reference time is the same so the highest probability within the same reference time has to be selected e.g. as in the example above, No 3, Nr 4 and Nr 8 (not nr 1, Nr 5 and Nr 6). But since can be any number of labs studying the same tech, solving it by script requires lots of parameters.

Also, if ONE lab has completed the study there are two things i do (XS 10.1.5 makes this quick) a) put the lab on holiday or b) set the probability of all other labs to the highest reference time by using (which usually sets it to highest probability nr / reference time). This because I've red somewhere that the probability of success depends on how many other players are studying the same tech

TeaMike commented 8 years ago

re: Skipping to the next level if the technology was finished in some other lab is a great idea

this is what i proposed before, the problem is that it may require more workers, worker qualification and equipment upgrade so it still makes a lot of sense to do this manually, especially when salary adjustments do not work because of the HR system ;)

cobr123 commented 8 years ago

script can start next level and if requirements did not met (equipment, lab size, worker quantity) write about it to log

XiozZe commented 8 years ago

I will do some calculations to know if it is better to spread your hypotheses out, or take just one hypothesis. I think that in this example, it is faster to set 10 laboratories on N3, than 8 on N3, 1 on N4 and 1 one N8.

XiozZe commented 8 years ago

For XS 12.1 the Laboratory Functions will support the options "Fastest" and "Highest" next to the current function, with "Fastest" pick the hypothesis with the shortest reference time (the one with the highest probability if more than one) and "Highest" pick the hypothesis with the highest probability. This way you can set 9 laboratories on "Fastest" and 1 on "Highest". A complete "check what the best option is by going through all laboratories" option may be added later.

TeaMike commented 8 years ago

it would be cool to have the continue function for step 3 selection separately since it may require adding equipment and a player won't be aware of that when the script is doing everything automatically. Same applies to start studying the next level: which can require upgrading of worker qualification and equipment. Alternatively, report to be displayed with link to the subdivision, like started next tech level, started stage 3 etc so that we can manually fix these after XIO has executed.

edit: just noted that this issue is already addressed at https://github.com/XiozZe/XioScript/issues/69