This is bloat that not only means adding a bunch of useless items, it makes it harder to maintain the game, and it makes it harder for the player to be able to tell if they can craft that machete or not, because at the start they will only be able to craft the intermediate item, not the finished product, thus, the finished product would not appear on the craftable list.
I just thought of the fact that the idea might not be compatible with the current crafting design. The game gives you a chance that you may not succeed, or you fail. If the incomplete item doesnât succeed, it would have to store the component data and refund it when it fails to succeed. That sounds like a mess.
It could/should calculate success at the start of the project and consume resources at the same time. You wouldnât know if the craft was successful until it was complete, though you might let some failures opt out early, as a kind of âyou screwed up but realized it early enoughâ.
What Dorf said would also be an interesting skill roll. If youâre closer to the level needed to craft an item but fail you may realize your mistake early and save precious time. Or on the other end you fuck up a vital component of the craft at the start and need to get new materials.
So crafting already works by creating a player_activity and advancing the crafting process every game turn, then calling craft_complete when the activity ends. The game already keeps track of the recipe in the player_activity.
Two ways I can see to handle this:
The better way is to give player_activity:: a call_cancel() function, which would let each player_activity have its own optional, specialized function to handle canceling. For the craft activity, craft_cancel could calculate how much of the process youâd completed, possibly generate a subset of the crafted items for batch crafting, and create the continuation item.You would then activity the continuation item to continue long crafting, and that would check that you still meet the requirements.
The less good way is to generate the continuation item at the start, and update it continuously in in craft_do_turn. Which is a perfectly valid solution, donât get me wrong, itâs just adding a cancel path would be more generally useful.
Itâd be an interesting coding project for someone.
If you wanted to have intermediate progress, you could have it under the hood, but not expose it as distinct items.
So if your recipe takes 10 components, it could specify when each of them is consumed.
Itâd be really nice if it didnât just annihilate all materials on a failure. Destroying a few materials, or the things most likely to be destroyed, would make more sense. For some things I donât see how you even can destroy the materials. Take making a sword, unless you somehow evaporate the steel, how do you destroy a bunch of scrap metal? Wouldnât you just have scrap metal again?
Youâre already at the point where you melt it down (based on the crucible in most recipes), and you donât seem to be adding anything to the metal. What could you do to it that you couldnât melt it back down into a new ingot/blank/whatever?
While forging weapons, you should never be melting the steel, you burn off the carbon that way and end up with weird iron and slag. Smelting steel is pretty difficult to get right, 9 times out of 10 you will end up with something other than what you want.
Not the ones I thought. Wonder what recipe I was thinking of that always has me running around looking for a crucible midgame?
Either way, I canât imagine what you can do to steel to make it more useless than the mangled assorted steels that scrap metal currently is.
That was just an example though. There are plenty of other things you can craft that really shouldnât be destroyed if you mess up. Things like the tools in a toolbox, the baseball bat in a barbed wire bat, or probably some other stuff I canât think of. And it still makes sense that not all of the materials would be destroyed. It would probably make more sense if recipes were divided into sections (eg. sew torso, sew left arm, sew right arm, sew hood, attach pockets, attach zipper) and each section had certain components assigned to it. Each section could have a check, and if you fail a check you fail that section, but would only lose some of the components, or only the components involved in that section.
It would make recipes far more complicated, but I think it would make crafting and grinding a bit more interesting.
Perhaps, though it would make sense if you could continue where you left off if you, say, failed to make the stopper on a waterskin, but still made the rest without issue.
Reading all this made me realize that my issue wasnât with the actual crafting progression and whether or not weapon tiers were a good idea, but rather the pacing of crafting skill progression in relation to world difficulty progression.
The main way the world gets harder is that as the seasons pass, the zombies become more powerful.
However, with a few books (all of which can be found in bookstores or libraries), a player can get get a full suit of heavy survivor armor and a great melee weapon before Spring is over.
Perhaps there could be a limit to how fast, calendar-wise, crafting can improve irrespective of books / grinding, and in that way keep a more even relationship between player strength and monster strength to keep the challenge going for longer. Also, making at least some elements of crafting require broader exploration so that the player is forced to actually go beyond the first town to achieve good gear.
Thereâs been a lot of discussion on improving skill levelling so that you canât sit and read books for a few hours to master everything. A lot of the ideas involved including both a book portion and a practical portion, which would do nicely since players would need to do a lot of crafting and resource gathering to get to the point where they can make the good stuff.