Open XygenSS opened 3 weeks ago
Paging @Drew4484, I hope you don't mind
I can't speak to how other contributors have distributed the various grades but the intent was to represent a (very narrow) selection of what would be found IRL, rather than do a linear worst -> best line.
The skill jump for qt_steel was intentional. It represents a demanding technique with a high failure rate.
Alloy steels would be basically impossible to replicate for a survivor, so unless you want to add hundreds of flavors that would have to be melted down and separated before the survivor could do anything with them, we can skip that. Long term durability isn't something we currently simulate, so (for now), stainless/rust is a non-issue, though I have considered chromium oxide coatings.
The skill jump for qt_steel was intentional. It represents a demanding technique with a high failure rate.
We can have multiple tiers of tempering proficiencies and bump their failure chance modifiers until satisfactory. Also, if high steel gets a +1 skill bump, 6mm tempered armor recipes would require skill level 10, that's why I suggest lowering the tempering skill req. by 1.
represent a (very narrow) selection of what would be found IRL, rather than do a linear worst -> best line.
I don't think we have enough differing characteristics for the carbon steel grades not to be a worst-best line. Currently the differences are weapon damage values, armor protection values and skill requirement. That is pretty "linear."
Alloy steels
They don't need to be replicated, since the survivor can simply salvage them. Neither do they need to be implemented, in my opinion - even something like HSLA steel for vehicle frames wouldn't necessarily translate to a better garage-forged sword. Like you've said we don't have long term weathering and rusting of steel parts. They're just alloyed mild steel, so we simply treat them as mild steel (#75850).
Grades of proficiencies are pretty tedious, especially when the fail chance is already high and the resource cost would get expensive fast. Difficulty 10 crafts effectively do not exist in the core game, a difficulty 10 crafts are typically beyond the capacity of a survivor with whatever is left of the technology and production base.
You're looking at the material qualities in reverse. We have recipes for armor made from carpet. We have recipes for making armor out of 2x4s. We have armor that is deliberately designed to be sub-optimal. There are lots of bad weapons, useless ammo, etc. High carbon steel isn't the best option, but players may, for whatever reason, want to make it. In a perfect world (with paid developers to implement it), we'd have materials as a selectable option for various crafts, instead, we have some bad items to make.
Salvaging alloys gets into a whole separate set of problems. Different alloys aren't going to weld together properly, some can only handle incompatible heat ranges from others, some do or don't work with resistance welding, some need non-standard rods or shielding gas, some have so much non-iron and non-carbon that you're not really working with 'steel' anymore. So in game what you'd get is a poor-quality amalgam, which we represent with budget_steel. Unless you're specifically salvaging the exact same parts off the exact same car (and might need to even be from the same date range of manufacture), you'll wind up with similar but functionally different materials.
I don't argue that our metalworking is an accurate representation of real world metalworking. It cuts corners to fit into the game, without requiring the player to know as much about steel as (at minimum) I do. So there's definitely compromises, I think the ones we have made are good enough without requiring things like selectable materials. But if you want to PR some changes, I 100% support you doing so, because I'm not the final word on any part of CDDA.
I think that the easiest part of this to solve is simply the availability of medium and high steel. Just find out what things in real life are made from medium and high steel and make sure that those same things in game are made from the same steel.
I think that the easiest part of this to solve is simply the availability of medium and high steel. Just find out what things in real life are made from medium and high steel and make sure that those same things in game are made from the same steel.
Many things in real life are sometimes made of medium steel and sometimes made of high steel. Depending on the industry and manufacturer their definition of medium or high steel may be different as well.
So either someone needs to make arbitrary judgement calls or we can simply fold these very similar materials together
I think that the easiest part of this to solve is simply the availability of medium and high steel. Just find out what things in real life are made from medium and high steel and make sure that those same things in game are made from the same steel.
That's the simplest solution. Unfortunately it would be a little bit of work.
That's the simplest solution. Unfortunately it would be a little bit of work.
We don't need to do every single thing. Just a few specific items like landsmower blades, vehicle frames and maybe something like axeheads would be enough. Just stuff that a player could reasonably find that could give a usefull amound of medium or high steel.
I would be for removing medium steel if steel is also going eventually. Then we could have a simple system: mild steel -> hardened steel high steel -> tempered steel
This is simple and effectively gets the point across that they can be slightly upgraded without introducing too much different steels. For a player that probably knows nothing about steel and steel accessories besides in CDDA, this works.
As for skill requirement, making the tempered steel easier to craft would not be the best IMO. If tempered is better than hardened, then it should be a bit harder, or at the very least, finding high steel should be harder.
Difficulty 10 crafts effectively do not exist in the core game, a difficulty 10 crafts are typically beyond the capacity of a survivor with whatever is left of the technology and production base.
Even though it's certainly possible, mechanically speaking? Is there any documentation to substantiate this line of thinking? GAME_BALANCE.md
has nothing on it.
I would be for removing medium steel if steel is also going eventually. Then we could have a simple system: mild steel -> hardened steel high steel -> tempered steel
This is simple and effectively gets the point across that they can be slightly upgraded without introducing too much different steels. For a player that probably knows nothing about steel and steel accessories besides in CDDA, this works.
This isn't how steel works so whatever the player knowledge, it's not going to be the solution. We want to represent how this stuff works irl, even at lowered level, we're not designing generic videogame style item progression.
I dumbed it down quite a bit as to not re-iterate the complexities and what was said in the original issue. But from what I gathered from the original issue, this is at pretty much what the stated solution is. If steel and medium steel are removed, then yeah, these four are all that's left. I was pointing out that it was simple to understand for players who wouldn't actually have this knowledge IRL. Navigating through tons of crafting recipes for tons of varying steels would be a bit cumbersome. If instead this issue doesn't end up going through and we get more steels, that would be fine too. Its just that it may be less intuitive.
This isn't how steel works so whatever the player knowledge, it's not going to be the solution. We want to represent how this stuff works irl, even at lowered level, we're not designing generic videogame style item progression.
Which part of it is not congruent to reality? The current system is wrong as well, you should be able to temper high steel, and they should be harder to work with instead of all base steel grades being 5 skill level difficulty.
According to google, medium steel is frequently used in construction for beams, joints, joiner plates. It's also what the tanks in many boilers and water heaters are made of, and also appears in things like axle and crankshafts and rail tracks, wheels, and other train parts.
It would be pretty simple to make a construction site for a steel-frame building with some stacks of medium steel beams lying around. These could also be placed at the steel mills that already exist. It sounds like some engine parts could be medium steel, and the game has tons of water heaters and tanks. So if more of the stuff is needed in the world, that'd be an easy place to start.
This isn't how steel works so whatever the player knowledge, it's not going to be the solution. We want to represent how this stuff works irl, even at lowered level, we're not designing generic videogame style item progression.
Which part of it is not congruent to reality? The current system is wrong as well, you should be able to temper high steel, and they should be harder to work with instead of all base steel grades being 5 skill level difficulty.
The harder the steel, the more difficult it is to work. You certainly can temper higher carbon steels, but the result (if done correctly) is going to approach/surpass the tools a survivor has access to. The current qt_steel was based on a grade that would remain workable by the equipment in the game. So if we want stronger/tougher/harder, we'd need better tools, the sort that can't be found in a hobbyist's garage.
According to google, medium steel is frequently used in construction for beams, joints, joiner plates. It's also what the tanks in many boilers and water heaters are made of, and also appears in things like axle and crankshafts and rail tracks, wheels, and other train parts.
It would be pretty simple to make a construction site for a steel-frame building with some stacks of medium steel beams lying around. These could also be placed at the steel mills that already exist. It sounds like some engine parts could be medium steel, and the game has tons of water heaters and tanks. So if more of the stuff is needed in the world, that'd be an easy place to start.
I started working on this #71835 with the goal of adding factory-produced vehicle frames with slightly higher durability (attempting to represent modern automotive steels) that would break down into a mix of grades when disassembled. Unfortunately this was a little overly ambitious a month after our second kid was born so it's just been gathering dust. I plan to someday finish it up but if you want to salvage from my PR or do your own thing in that space, I'll happily give whatever support I can.
Go down to the subway and smash the rails. You will have tons of medium steel. https://cdda-guide.nornagon.net/item/railroad_track_item
Or find an NPC who sells steel. He has all kinds. Easily swaps normal steel for the necessary steel.
My personal opinion. The problem is not in the number of different types of steel. The problem is that:
As a consequence, it makes no sense to craft something not from the best version.
I started working on this #71835 with the goal of adding factory-produced vehicle frames with slightly higher durability (attempting to represent modern automotive steels) that would break down into a mix of grades when disassembled. Unfortunately this was a little overly ambitious a month after our second kid was born so it's just been gathering dust. I plan to someday finish it up but if you want to salvage from my PR or do your own thing in that space, I'll happily give whatever support I can.
I converted sheet metal over to be LCS a while back, but stopped there because so many recipes (ie makeshift hammer) rely on generic steel, and I didn't want to mess up early game progression.
I'm not submitting PRs these days, but I think anyone reading this who is might want to start by updating those tools.
As a consequence, it makes no sense to craft something not from the best version.
I've seen players echoing this a lot, and being frustrated about tempered steel's craft times while not realizing they should be starting with lower grades, pretty much for this reason.
I don't know about that. A quick google search says that tempered steel is the further processing of hardened steel.
How realistic would it be if all tempered steel items required a hardened steel item? And a hardened steel item would require a regular steel item?
Or what it might look like using the hammer as an example. (Because it has a steel part and a non-steel part.)
Prerequisite:
high steel
= medium steel
+ coal
+ time
= mild steel
+ coal
x2 + time
medium steel
= mild steel
+ coal
+ time
mild steel
= medium steel
+ time
= high steel
+ time
And we remove the steel grade from the name. Leaving just the steel object. This leaves one version of the item (weapons and armor). And the material requirements rely on meaning. Where it doesn't matter is mild steel. Armor and weapons medium or high steel. Crafted tools: medium. Industrial tools: high. And so on.
Then the process of making a hammer would look like this:
Go down to the subway and smash the rails. You will have tons of medium steel. https://cdda-guide.nornagon.net/item/railroad_track_item
Or find an NPC who sells steel. He has all kinds. Easily swaps normal steel for the necessary steel.
My personal opinion. The problem is not in the number of different types of steel. The problem is that:
- All recipes are in the same book
- Require the same level
- Serve for the same items (armor and weapons)
- Roughly equal in terms of time (+1 day to make a better version means nothing).
As a consequence, it makes no sense to craft something not from the best version.
Many of our recipes should be in more places, but updating books or adding new ones is a separate (easy but monotonous) task.
As above, we offer substandard choices because they could exist, and may be useful to the player. Maybe they have a gas furnace, steel, and little to no carbon. Maybe they want to outfit five NPCs. Maybe they want to make carpet armor and pretend to be bigfoot. I'm not judging anybody's choices.
I started working on this #71835 with the goal of adding factory-produced vehicle frames with slightly higher durability (attempting to represent modern automotive steels) that would break down into a mix of grades when disassembled. Unfortunately this was a little overly ambitious a month after our second kid was born so it's just been gathering dust. I plan to someday finish it up but if you want to salvage from my PR or do your own thing in that space, I'll happily give whatever support I can.
I converted sheet metal over to be LCS a while back, but stopped there because so many recipes (ie makeshift hammer) rely on generic steel, and I didn't want to mess up early game progression.
I'm not submitting PRs these days, but I think anyone reading this who is might want to start by updating those tools.
As a consequence, it makes no sense to craft something not from the best version.
I've seen players echoing this a lot, and being frustrated about tempered steel's craft times while not realizing they should be starting with lower grades, pretty much for this reason.
The biggest issue here is not that the craft times are too long, but that a majority of our crafts are/have been far too short. Of course the heavy tempered plate suit stands out, it's an incredibly complicated masterpiece. But the old plate armor could be made in an afternoon. A lot of the oldest content has not been rigorously reviewed for things like crafting time, but should.
I don't know about that. A quick google search says that tempered steel is the further processing of hardened steel.
How realistic would it be if all tempered steel items required a hardened steel item? And a hardened steel item would require a regular steel item?
Or what it might look like using the hammer as an example. (Because it has a steel part and a non-steel part.)
Prerequisite:
high steel
=medium steel
+coal
+time
=mild steel
+coal
x2 +time
medium steel
=mild steel
+coal
+time
mild steel
=medium steel
+time
=high steel
+time
And we remove the steel grade from the name. Leaving just the steel object. This leaves one version of the item (weapons and armor). And the material requirements rely on meaning. Where it doesn't matter is mild steel. Armor and weapons medium or high steel. Crafted tools: medium. Industrial tools: high. And so on.
Then the process of making a hammer would look like this:
- Make the wooden handle of the hammer
- Make a steel hammer head.
- Choosing: a. Completing the fabrication of the steel hammer b. Hardening the steel hammer head to produce a hardened hammer head
- Choosing: a. Completing the fabrication of the hardened hammer b. Tempering the hardened hammer head to produce a tempered hammer head
- Completing the fabrication of the tempered hammer
There's something like 4k different alloys that we call 'steel'. Each one has unique properties. The same temperature that is needed to temper one steel might ruin the alloy of another. If you don't know what kind of steel you have (which is difficult to identify outside of a lab!), tempering may destroy the item you're working on.
We can add craft stages, that sort of happens when the suit is assembled from the individually crafted torso/arms/legs. I'm all for breaking our longer/difficult claims down into smaller steps, but it is a lot of work.
Having multiple items with the same name is a no-go.
Having multiple items with the same name is a no-go.
I'm not suggesting making three versions with the same name. I'm suggesting to keep only one version and rename it “steel”. But this steel version, can be made from three different types of steel. With different resource and time costs.
But that seems to be beyond the scope of this thread. Personally my opinion, one of two options should be pursued:
-- "result": "armor_lc_brigandine",
++ "result": "armor_STELL_brigandine",
"type": "recipe",
...
"using": [
...
-- [ "lc_steel_standard", 5 ],
++ [ "steel_standard_example_MILD", 5 ],
...
We're removing the following recipes:
{
"id": "steel_standard_example_MILD",
"type": "requirement",
"components": [
[ [ "lc_steel_lump", 1 ], [ "lc_steel_chunk", 4 ], [ "coal", 0], ["time_multiplier", 1], ["time_add", 0] ],
[ [ "mc_steel_lump", 1 ], [ "mc_steel_chunk", 4 ], [ "coal", 0], ["time_multiplier", 1], ["time_add", 120 ] ],
[ [ "hc_steel_lump", 1 ], [ "hc_steel_chunk", 4 ], [ "coal", 0], ["time_multiplier", 1], ["time_add", 180 ] ]
]
},
{
"id": "steel_standard_example_MEDIUM",
"type": "requirement",
"components": [
[ [ "lc_steel_lump", 1 ], [ "lc_steel_chunk", 4 ], [ "coal", 8] ["time_multiplier", 1], ["time_add", 120] ],
[ [ "mc_steel_lump", 1 ], [ "mc_steel_chunk", 4 ], [ "coal", 0], ["time_multiplier", 1], ["time_add", 0 ] ]
]
},
{
"id": "steel_standard_example_HIGH",
"type": "requirement",
"components": [
[ [ "lc_steel_lump", 1 ], [ "lc_steel_chunk", 4 ], [ "coal", 8], ["time_multiplier", 1], ["time_add", 180] ],
[ [ "mc_steel_lump", 1 ], [ "mc_steel_chunk", 4 ], [ "coal",28], ["time_multiplier", 1], ["time_add", 60 ] ],
[ [ "hc_steel_lump", 1 ], [ "hc_steel_chunk", 4 ], [ "coal", 0], ["time_multiplier", 1], ["time_add", 0 ] ]
]
},
Explanation.
high steel
. And armor, only from mild steel
. So I keep steel_standard_example_XXX
. The recipe uses whichever variation makes the best sense. But the result will still be “steel item”In the example above, I assume that the brigantine should be made of low steel
and only low steel
. It could then be subjected to hardening and tempering.
It might be more correct to have it made from a different steel. Then instead of steel_standard_example_MILD
we use steel_standard_example_MEDIUM
or steel_standard_example_HIGH
. But only one of these three options. The result will always be a steel brigantine
.
This can be simplified by reducing steel_standard_example_XXX
to steel_standard
. Which describes all types of steel and the rules for their interchangeability. Simpler, but less precise.
As a result, there won't be 100500 different recipes.
There will be 1 basic recipe. + 2 recipes for XL, XS. And additionally x2...x4 for different types, for example making by parts or remaking from ready-made ones.
P.S. Translated with DeepL
Alternative. Modify the “using” section.
-- "result": "armor_lc_brigandine",
++ "result": "armor_STELL_brigandine",
"type": "recipe",
...
"using": [
...
-- [ "lc_steel_standard", 5 ],
++ [
++ { [ "lc_steel_standard", 5 ], ["coal", 0], ["time_add", 0] },
++ { [ "mc_steel_standard", 5 ], ["coal", 8], ["time_add", 120] },
++ { [ "hc_steel_standard", 5 ], ["coal", 28], ["time_add", 180] }
++ ],
...
... AND [ [ "lc_steel_standard", 5 ], ["coal", 0], ["time_add", 0] }
OR { [ "mc_steel_standard", 5 ], ["coal", 8], ["time_add", 120] }
OR [ "hc_steel_standard", 5 ], ["coal", 28], ["time_add", 180]
] AND ...
-- "result": "armor_lc_brigandine", ++ "result": "armor_STELL_brigandine", "type": "recipe", ... "using": [ ... -- [ "lc_steel_standard", 5 ], ++ [ "steel_standard_example_MILD", 5 ], ...
We're removing the following recipes:
- "result": "armor_mc_brigandine",
- "result": "armor_hc_brigandine",
{ "id": "steel_standard_example_MILD", "type": "requirement", "components": [ [ [ "lc_steel_lump", 1 ], [ "lc_steel_chunk", 4 ], [ "coal", 0], ["time_multiplier", 1], ["time_add", 0] ], [ [ "mc_steel_lump", 1 ], [ "mc_steel_chunk", 4 ], [ "coal", 0], ["time_multiplier", 1], ["time_add", 120 ] ], [ [ "hc_steel_lump", 1 ], [ "hc_steel_chunk", 4 ], [ "coal", 0], ["time_multiplier", 1], ["time_add", 180 ] ] ] }, { "id": "steel_standard_example_MEDIUM", "type": "requirement", "components": [ [ [ "lc_steel_lump", 1 ], [ "lc_steel_chunk", 4 ], [ "coal", 8] ["time_multiplier", 1], ["time_add", 120] ], [ [ "mc_steel_lump", 1 ], [ "mc_steel_chunk", 4 ], [ "coal", 0], ["time_multiplier", 1], ["time_add", 0 ] ] ] }, { "id": "steel_standard_example_HIGH", "type": "requirement", "components": [ [ [ "lc_steel_lump", 1 ], [ "lc_steel_chunk", 4 ], [ "coal", 8], ["time_multiplier", 1], ["time_add", 180] ], [ [ "mc_steel_lump", 1 ], [ "mc_steel_chunk", 4 ], [ "coal",28], ["time_multiplier", 1], ["time_add", 60 ] ], [ [ "hc_steel_lump", 1 ], [ "hc_steel_chunk", 4 ], [ "coal", 0], ["time_multiplier", 1], ["time_add", 0 ] ] ] },
Explanation.
- This is a rough draft.
- I'm assuming that some items, should use different grades of steel. Conditionally. A steel rapier should only be made of
high steel
. And armor, only frommild steel
. So I keepsteel_standard_example_XXX
. The recipe uses whichever variation makes the best sense. But the result will still be “steel item”In the example above, I assume that the brigantine should be made of
low steel
and onlylow steel
. It could then be subjected to hardening and tempering.It might be more correct to have it made from a different steel. Then instead of
steel_standard_example_MILD
we usesteel_standard_example_MEDIUM
orsteel_standard_example_HIGH
. But only one of these three options. The result will always be asteel brigantine
.This can be simplified by reducing
steel_standard_example_XXX
tosteel_standard
. Which describes all types of steel and the rules for their interchangeability. Simpler, but less precise.
- In the components section, a time component is added. Both the option of adding a fixed amount and adding a multiplier. I'm in favor of fixed time. But it's not important right now.
- It is necessary to teach the game to perceive the new time component. I don't see any difficulty in doing this. But I don't know how to do it either, so I won't claim it's easy.
As a result, there won't be 100500 different recipes.
There will be 1 basic recipe. + 2 recipes for XL, XS. And additionally x2...x4 for different types, for example making by parts or remaking from ready-made ones.
P.S. Translated with DeepL
That would require rebuilding huge portions of the crafting code. That in and of itself isn't a bad thing, and if you want to submit a PR or a separate issue to discuss changes to crafting times/accepted materials, go for it. But you've gotten very far from arguing that medium steel should be removed from the game. (Edited to reflect that IdleSol is not the original issue author)
Is your feature request related to a problem? Please describe.
The current steel situation gives us 6 grades of steel to work with:
steel
,mild steel
,medium steel
,high steel
,hardened steel
,tempered steel
.steel
is eventually going to be obsoleted, which gives us 5 grades to stay. as far as performance as a weapon or armor goes the hierarchy is tempered > hardened > high > medium > mild.Mild steel is extremely abundant and is the easiest to work with, and (as of now) can easily be case-hardened. Medium steel is hardly ever found anywhere except in crafting and on traders, and can be tempered. High steel is also difficult to find except in crafting and on traders, but cannot be hardened or tempered.
The problem is that high steel is in an awkward position.
Solution you would like.
I propose the removal of medium steel, which leaves us with:
Skill requirements for crafting should be adjusted. Working with high steel should require +1 skill level, but tempering it should only add +1 additional instead of +2.
We are already mostly ignoring the existence of high alloy content steels, most importantly stainless steel. For the purposes of the average survivor I don't think we need to fuss over whether our steel is 0.4% carbon or 0.8% carbon.
Describe alternatives you have considered.
Another way of differentiating steel grades is repairability. Mild steel is easily welded. High carbon steel has poor weldability but is possible to weld. Case hardened steel could be made unrepairable; alternatively it could revert to mild steel after a major repair. Tempered steel can be left as-is until we have a more detailed heat-treatment model.
Additional context
No response