Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Ready for test/merge] R&D level remake #17576

Merged
merged 31 commits into from Jun 2, 2016
Merged

Conversation

LatD
Copy link
Contributor

@LatD LatD commented May 11, 2016

This is the big R&D level remake. I'll adjust all item origin and required tech levels and their costs. Also efficiency changes, mineral sheet unit changes and bug fixes. WIP for a month or something, this is a big job to do. I'll keep working on this a lot and hopefully get feedback a lot.

Read more at https://www.tgstation13.org/phpBB/viewtopic.php?f=10&t=6618 and leave overall feedback there.

  • Remove Experimentor tech level up thing
  • Remove reliability
  • Fix all efficiencies
  • Improve Destructive Analyzer to be less annoying
  • Remove skipping tech levels with high level items
  • Check and change bluespace crystals if needed
  • Fix all the R&D bugs I'm planning to fix
  • Change origin levels of non-R&D items
  • Adjust illegal tech levels based on TC cost
  • Change req levels and origin levels of protolathe items
  • Adjust item costs
  • Change req levels and origin levels of circuit imprinter items
  • Change req levels and origin levels of exosuit fab items
  • Add stats system to R&D levels
  • Fix millions of merge conflicts
  • Final changes, some balancing, testing of changed systems
  • Final testing of R&D levels, final balancing

🆑 Lati
rscadd: R&D required levels and origin tech levels have been rebalanced
experiment: Overall, items buildable in R&D have lower tech levels and items in other departments have their tech levels raised. Remember to use science goggles to see tech levels of items!
tweak: There are now level gates at high levels. R&D scientists will need help from others to get past these level gates.
tweak: Other departments such as hydroponics and genetics will be important to R&D's progress now and xenobio, mining and cargo are more important than before
tweak: Efficiency upgrades are back in R&D machines and tweaked to be less powerful in autolathes
rscdel: Reliability has been removed from all items
bugfix: Most bugs in R&D machines should be fixed
/:cl:

Fixes #10113
Fixes #9084
Fixes #11739
Fixes #17539
Fixes #17139
Fixes #14842
Also fixes some R&D runtimes I found with testing, along with other unreported R&D machine bugs.

@ChangelingRain ChangelingRain added Balance Changes to functionality that modifies how effective certain methods are at powergaming FUCK Only two things are infinite, the universe and human stupidity, and I'm not sure about the former Refactor labels May 11, 2016
@coiax
Copy link
Member

coiax commented May 11, 2016

I HAVE NOT READ

  1. The PR description
  2. The code
  3. Any comments

BUT SINCE THIS IS SCIENCE RELATED I AM DOWNVOTING IT IMMEDIATELY, BECAUSE IT IS A NERF AND/OR BUFF AND I HATE CHANGE

for(var/T in reqs)
reqs[T] = reqs[T] + 1
exp_on.origin_tech = list2params(reqs)
investigate_log("Experimentor has set the origin tech of [exp_on] to [exp_on.origin_tech]", "experimentor")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I understand why you did this, but I hate it nonetheless. The Experimentor will have absolutely no use after this. I can only hope you balance the tech levels such that things that require Bio 6+, or other lategame content, do not become absolutely mythical in rarity.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We all are hoping that the experimentor becomes useful in some way. I have no idea how to do it and I know I'm basically removing the only useful thing from it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i just want the break room back

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I'm all for removing this from the experimentor, but this...literally makes the machine functionally pointless for anything other than getting super lucky at farming nanomachines.

@ghost
Copy link

ghost commented May 11, 2016

Sir would you like poop in your coffee

What no

Stop being afraid of change sir enjoy the poop

@Jalleo
Copy link
Contributor

Jalleo commented May 11, 2016

This is a good start at trying to make R&D better.

@Lumipharon
Copy link
Contributor

👍

@LatD
Copy link
Contributor Author

LatD commented May 11, 2016

I thought removing reliability would be to remove couple checks from R&D console and remove the values from buildable items but apparently reliability was incorporated to the original R&D system a lot more. Even though it was only visible as annoying item deconstruction and annoying adv egun usage.

And there were so many hidden reliability features. BoH had some failure mechanic tied to its reliability but it wasn't even in use. And some mech parts literally had 1/1000 chance of causing a critical failure and I've never seen or heard them happening. I left the failures in the code if someone wants to use them in the future.

@Bawhoppen
Copy link
Contributor

removing main use of experimentor

what a meme

also I'd vote for randomized origin tech (within a point) so like a hand tele with its current origin tech could give 1-5 bluespace as opposed to a fixed number

@apuh3
Copy link
Contributor

apuh3 commented May 12, 2016

Don't look for excuses to keep machines around. The breakroom was cool.
On tech levels: I'd always thought research could be more interesting if:

  • There were fewer tech levels and types
  • Most items had only one tech requirement
  • Items requiring multiple types of tech levels were special unique and interesting, but never necessary
  • Tech levels were tied to milestones in other jobs, rather than scavenging or constructing/deconstructing. For example, engineering could require a certain amount of power wired to the grid, plasma tech could require sufficiently hot gas, materials could be mostly used for material research rather than fabricating, with each sheet providing progress based on material type.

The idea is, all departments would have something unique to contribute to research, and would have basic equipment from low tech levels in their department to make their jobs easier for helping, the scientists get some fun toys, and they aren't screwed if one department isn't manned.
Interesting researchables could also provide an incentive for interesting and ambitious crew projects in longer rounds, like second singularities and such.
It's an ambitious idea taken all together but honestly any one of those changes would make R&D much better.

@Lumipharon
Copy link
Contributor

removing main use of experimentor
literally designed as a negative event

o-ok

@Core0verload
Copy link
Contributor

Core0verload commented May 12, 2016

I have built a dm output parser that could be used, besides all the other stuff, to check origins and design reqs for mismatch. I can drop a copy to you if you want, or build a list of items that are currently mismatched.

About material in sheet change to 1000: don't. Believe me, this is a really bad idea. You'll had to /2 all the other materials to avoid dupes, and there is a LOT of them in code.

@LatD
Copy link
Contributor Author

LatD commented May 12, 2016

@Bawhoppen Having all items random levels would be way too much RNG to get all the levels up. Having random levels on for example strange items could still work. Or then just have fixed levels since the items themselves are random.

@AlexanderUlanH Some people want more levels than now and some fewer. But in a way that idea is getting on this change. Basic levels up to 5 work as now but above them there are only few levels and different departments must help to get them, including some progression of those departments.

@Core0verload That might be useful later once I've changed the origin techs to determine required techs. And I'm planning to leave that material change last and drop it if needed. Changing every protolathe/autolathe item cost is still doable but the sheet change would basically need to halve EVERY item cost, not just buildable ones. That's why I might leave it out.

@Bawhoppen
Copy link
Contributor

R&D techs should not be under any circumstance be fixed levels, we have seen how easy it is to powergame "do that, then that, then that, and R&D is done"
As much as I hate RNG it would be the best solution, it wouldn't be as crazy as you think to have them be randomized tech offsets

@TrustyGun
Copy link
Contributor

TrustyGun commented May 12, 2016

@Bawhoppen

Yeah, but the point is that you will actually have to put effort into getting those items

@apuh3
Copy link
Contributor

apuh3 commented May 12, 2016

There should be fixed things to do to get certain tech levels. They should just be fun to do and nontrivial.
"Print thing, stick in destructolizer," "fetch thing, stick in destructolizer," and "find several of thing to roll for tech levels, stick in destructolizer" are all equally uninteresting approaches to research.
It should be "Encourage departments to make you thing you need, print out thing to reward their department when they give it to you."

@LatD
Copy link
Contributor Author

LatD commented May 12, 2016

Efficiency coeff changes:

  • Protolathe old efficiency 1 -> 0.75 -> 0.5 -> 0.375
  • Protolathe new efficiency 1 -> 0.8 -> 0.6 -> 0.4
  • I'll be raising the cost of several items later to bring them to better balance with this. Mainly guns and some very cheap but important items.

  • Imprinter materials won't be affected by its upgrades. The material costs of circuits are so small anyway and this way I don't have to change their costs. Acid usage stays unchanged, meaning it's still 20, 10, 5, 2.5, but the visual bug got fixed.

  • Exosuit fabricator gets its laser coeff back
  • Levels affecting costs stays gone, having two different things making things cheaper is too complicated
  • Old laser coeff 1 -> 0.88 -> 0.75 -> 0.63
  • New laser coeff 1 -> 0.85 -> 0.7 -> 0.55
  • This is slightly better than the old laser coeff but without levels affecting these too the overall costs are still more expensive than they used to be. These can be changed to 0.9, 0.8, 0.7, 0.6 or other values easily if requested.

  • Autolathe old efficiency: 1 -> 0.5 -> 0.25 -> 0.125 (Costs drop down to 12.5%!!)
  • Autolathe new efficiency: 1 -> 0.8 -> 0.6 -> 0.4
  • These new numbers still seem high but at least they make sense now

@GunHog
Copy link
Contributor

GunHog commented May 12, 2016

Acid usage stays unchanged but the visual bug got fixed.

If you are doing this, please reduce the acid costs upon upgrade. It is so painful for it to use 20 per board.

@Lumipharon
Copy link
Contributor

Honestly I would reduce the strength of material upgrades more. Even 40% reduction (vs your proposed 60%) is a huge saving.
When you also factor in upgrades to the ore machine, even t3 upgrades across the board trivialises material requirements.

Also when you say acid usage stays the same, do you mean you can't improve acid efficiency, or it's efficiency changes stay as they are?

@LatD
Copy link
Contributor Author

LatD commented May 12, 2016

I mean acid usage stays the same it is now, meaning 20 -> 10 -> 5 -> 2.5 per board.

And when looking at the numbers I tend to always look at the tier 3 values since that'll be the most common one, especially for manipulators. I can change these values more if needed or it can be done later if the cost rebalance is not enough to cover these.

@Fox-McCloud
Copy link
Contributor

Fox-McCloud commented May 13, 2016

completely undoing @KorPhaeron nerfs to R&D cost and making the materials even cheaper

...seriously.

@imtakingabreakdontatme
Copy link
Contributor

I mean yeah I obviously dislike reverting all the efficiency changes but I'm willing to see where this PR goes, it sounds interesting overall

@LatD
Copy link
Contributor Author

LatD commented May 13, 2016

Currently if science gets the minerals it can make almost everything and in this case limiting the number of minerals is the only way to limit production. With new level gates this is no longer a problem, science can actually make things for others again but still can't get strong items without other departments. It's the main reason behind this entire PR. If this doesn't work as intended we can reduce the efficiency again.

@Lumipharon
Copy link
Contributor

Levels restrict access to items.
Minerals restrict access to quantity of items.

Quantity is a very big deal - it's the difference between a handful of guns and other toys and R&D dumping 50 BoH's, NVGhuds, guns and implants on the desk because they will never run out of minerals.

@LatD
Copy link
Contributor Author

LatD commented May 27, 2016

Conflicts fixed again. This will have conflicts every day with this file count.

T += (M.rating/3)
efficiency_coeff = max(T, 1)
T -= M.rating/10
efficiency_coeff = min(max(0, T), 1)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you explain this part?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It used to make the coeff to be 1 or higher. I have no idea why it was divided by 3, that just caused a bug in which changing one manipulator to nano manipulator did nothing. The new part starts with T=1.2 and makes it smaller for every improved component rating, meaning 1.2-0.2=1 with normal parts and down to 1.2-0.8=0.4 with T4 parts. The minmax check is there just to prevent any admin-modified changes to cause coeff to go to weird values (above the max cost or below free cost).

@bs12-bot bs12-bot removed the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label May 28, 2016
@phil235
Copy link
Contributor

phil235 commented May 28, 2016

Tested it locally, it doesn't seem to break anything. No runtimes.

if(prob(minor_fault))
crit_fail = 1
return 0
charge += power_used
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You need this line!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops

@Razharas
Copy link
Contributor

Razharas commented Jun 2, 2016

Ill trust phil on this

@Razharas Razharas merged commit 9fdae2f into tgstation:master Jun 2, 2016
@GunHog
Copy link
Contributor

GunHog commented Jun 2, 2016

Science is now hardmode.

@LatD
Copy link
Contributor Author

LatD commented Jun 2, 2016

I'll keep improving this, don't worry. I know it needs improvements but first I have to see how it works like this.

@Razharas
Copy link
Contributor

Razharas commented Jun 2, 2016

You get 6 merge tokens btw @LatD

@Kromgar
Copy link
Contributor

Kromgar commented Jun 5, 2016

This is shit

@Lumipharon
Copy link
Contributor

You is shit

#coloncrucified

@Core0verload
Copy link
Contributor

At least it makes RnD updates not useless.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance Changes to functionality that modifies how effective certain methods are at powergaming FUCK Only two things are infinite, the universe and human stupidity, and I'm not sure about the former Refactor Makes the code harder to read
Projects
None yet