(Suggestion/Rebalance) Implement Substitution

Copy-pasting from my entry on Github for more brains, any feedback is welcome.
Edit: Added more stuff to In Action.

[center]Status and Uncertainty of the Future[/center]

A mechanic is usually limited by his tools. Tool probably exist to perform a specific act with as much efficiency and concentration as possible. You will not usually be able to improvise the torque of a wrench or a screwdriver, the precision, temperature, and consistency (of heat) of a welder or torch, or the strength of a jack lifting cars. However, I can see why substitutions should exist and they have not been fully fleshed out yet in Cataclysm. I would prefer however if Substitutions can be unified and distinguishable from either an addition to a recipe or a tool for crafting or disassembly. Adding additional parts to a recipe seems only to be patching an inevitable problem.

They are also a lot of balance questions that come into play when directly connecting crafting and disassembly into tools that act solely as substitutions: Should substitutions be a craftable, permanent substitute, or easily craftable but unwieldy (see Downsides) tool? Will substitutions in recipes bypass the difficulty curve of getting tools to begin with?

[center]Is the future only more properties, tools, and recipe additions?[/center]

Will expanding the library of ‘tools’, granting already existing items additional properties (you could use a 2x4 as a hammer?), or creating more specific properties (a 2x4 cannot remove nails, but a hammer can) solve this problem long-term? Actually, will assigning non-tools and tools properties even matter in some cases if they can both perform the same action in some scenarios (have you tried to use a butterknife instead of a screwdriver?)? If the already assigned properties are not useful in this case, will these properties need to be removed or reassigned and the crafting or disassembly recipes need to be heavily updated?


Finally, if these substitutions are going within the recipe/disassembly system, will there be implemented downsides? For some examples:

[ul][li]There could a significantly higher chance of failure, either to damage the item, hurt yourself, or to fail in the task.[/li]
[li]The action takes longer: Try taking out nails in a board without a hammer. This would be part of Disassembly.[/li]
[li]The non-tool could be consumed: You use acid to cut metal, but the acid is used in the process. This is part of Crafting. This is not the case for when removing a screw with a butterknife. This would be part of Disassembly.[/li]
[li]Some components of the item being disassembled are destroyed: You use a fire to burn wooden objects to obtain the scrap or nails, but lose the wood in the process. This would be part of Disassembly.[/li]
[li]The process damages you: You can use your acid blood mutation to cut metal, but cutting yourself does damage as well as blood loss. Not common, but reasonable. This is not unlike welding without protection. This would be part of Crafting.[/li][/ul]

Ultimately, all of this would require a revamped crafting and disassembly system, and frankly that would take a lot of effort. Why not just create an additional system:


[center]The Future[/center]

The purpose of Substitution is to organize, balance, and give freedom to a player at the same time. It is meant to keep Recipes ‘pure’. As this game gets bigger and more specific it is likely that recipes become huge clutters which list hundreds of items that can perform the same task. By keeping recipes pure, Substitution can point to a standard tool (or property) in a recipe and perform the same task with accompanying balance. The ultimate goal of Substitution is to make it easier for developers to insert quibbles into recipes without directly editing them. If they believe an item can work in a situation that only calls for a tool at the moment, they can make a change in Substitution instead of the Recipe, so that developers could reference to the recipe rather than the substitute. In a sense, Substitution acts as a giant ‘catch-all’ basket that protects Recipes.

[center]Implementing Substitution[/center]

My imagination goes that there would be an alternative menu for Substitution when in either Crafting or Disassembly. Recipes should not directly call for Substitution because there would be a downside. There can be a notification that a recipe or action can be fulfilled, but would either have a different color or mark next to the recipe (instead of white or grey, how about a light red? Maybe an * next to an available recipe that is only shown when the recipe can only be completed by Substitution). The process would go like this:

[ol][li]The player wants to disassemble a phone, but does not have a screwdriver.[/li]
[li]The player goes to Disassemble, which would have an * or be highlighted a different color.[/li]
[li]The player is notified that their action will use Substitution, and show available options (with the accompanying downsides).[/li]
[li]The player chooses hammer, and smashes the phone for additional parts.[/li]
[li]The Substitution breaks some components of the phone, but not all of them. This tool bypasses the need for a screwdriver, though not effectively.[/li][/ol]

Because of the breadth Substitutions will cover, why not make this a complete element in Cataclysm? Instead of constantly changing recipes, why not make Substituting a separate element that can be updated for a case by case basis? The standard Recipe will not change, but Substitutes will.

[center]Pros and Cons[/center]


[ul][li]Because Substitution will be its own separate category, it makes it easier to balance it as a whole. Additional restrictions can be implemented (like making certain Substitutions require Skill) on a macro level, rather than by a case-by-case basis. Having this makes implementing the solution #18643 asks for much easier.[/li]
[li]You won’t need to touch Recipes as often, which will make them become rigorous static and for real tools only, while Substitutions can be more dynamic.[/li]
[li]You can still keep tools to have their unique properties, which satisfy the now more rigorous Recipes, and then Substitutions can be for a case-by-case basis.[/li]
[li]This makes many useless items have a use! You can use butterknives, for science!![/li]
[li]One substitution can span over many recipes once, rather than be painfully inserted into every recipe.[/li]
[li]Downsides can be implemented to ensure that the Substitution does not break the game too much. If the substitution is still unbalanced, remove it, rather than edit the recipe.[/li]
[li]Substitutions are only limited by the imagination. Acid blood can be used as a Substitute in recipes, and also have the fantastic downside of damaging yourself![/li]
[li]In the long run, this will help all the programmers out there who want to add stuff to recipes. Substitutions could have its own playpen.[/li]
[li]It is not necessary for a Substitution to have a downside, or have that downside active, after a certain point. They can be nice too![/li]
[li]As a separate system, this can be applied to Crafting, Disassembly, and Vehicles all at once! (Just needs the proper bridges)
Substitutions can take into account for bad properties as well as good ones![/li]
[li]Players can use their high skill and/or protection to reduce the negative effects of certain Substitutions.[/li]
[li]I am a purist! I praise the Toolbox, Creator of All, and his Son, Integrated Toolset! All Substitutions must obey their supremacy and be fleeting imperfections, as they have no place among the Recipes![/li][/ul]

[center]Cons (and Necessities)[/center]

[ul][li]Substitutions can get dangerous, break items, or waste time. There will need to be noob warnings.[/li]
[li]Substitutions might mess with the balance of the game. They should not act as permanent solutions, and have suitable downsides. They should work in a pinch however, and allow the player to get over unintentional difficulties caused by bad luck. In a sense, they would smooth the intentionally/unintentionally difficult path to super-late game.[/li]
[li]Make no mistake: Substitutions give power, early and late game. They are meant to help, not overpower.[/li]
[li]They are not meant to replace working tools. Purists, over all else, must worship the Toolbox, not these false gods Substitutions. However, we have all felt that horrible pain of not having that one tool, and the need to commit blasphemy to fulfill our task is ever stronger in the time of the Cataclysm.[/li]
[li]Real tools will need to be prioritized when performing actions.[/li]
[li]This system must not be annoying in order for it to work.[/li]
[li]There will need to be proper layering in between Recipe and Substitution.[/li]
[li]Already existing Substitutions would need to be migrated, and should not be connected to recipes.[/li]
[li]The system would need to look at both Substitution AND Recipe/Disassemble/Vehicle AND basically every item in the vicinity. This could take a while (and be annoying). To prevent this, substitutions should be able to be toggled?[/li]
[li]The Substitution could point to a property of a tool, rather than a tool itself, but then it risks being applicable in a situation where it is unsuitable. (Do not use butterknives for bombs!)[/li]
[li]Substitution could point to a tool, but it is not meant to substitute a tool in all scenarios. It is also not meant to be as reliable as a tool as well in all cases.[/li]
[li]Substitution does not take into account materials that would be spent: Those would still need to be part of the recipe.[/li]
[li]Substitution must take into account that it is either replacing a tool or a property needed by a tool.[/li]
[li]This entire system is negated by having a toolbox. PRAISE THE TOOLBOX![/li][/ul]

[center]In Action (EXAMPLE ONLY)[/center]

Plank with Nails:
Hammer ->
1 Plank, # Nails

Fire (C: … , D: Plank with Nails, D: …, V: …) [C: is Crafting, D: is Disassembly, and V: is for Vehicle]
BURN [Destroys organic material], IGNITE [will create fires when used with items that have fuel or are covered in fuel]

Wood Saw (C: …, D: Plank with Nails, D: …, V: …)
TIME (#) [It’s not impossible to cut out the nails with a saw, just that it would take some time for each nail]
DESTROY (Plank) [You cut the plank up, it is no longer a plank!]
CREATE (Wood Scraps (#)) [You made wood scraps from the plank.]

{The player desperately needs nails (for some reason) but decides against smashing the furniture. They use their wooden saw to painstakenly extract some nails from a nearby board, costing a little bit of time and destroying the wooden plank.}

Screwdriver ->

Circuit Boards, # Wires, 100 Batteries

Hammer (C: … , D: Phone, D: …, V: …)
DESTROY_RANDOM_SMALL [has a chance to destroy one of the components in the recipe],
SKILL [Since this is a tool, having a higher stat in Crafting (and for cases in Vehicles, Mechanics) will reduce the chance of other downsides from activating]

{The player, lacking a screwdriver to properly dismantle the looted phone, proceeds to smash it in frustration. He is rewarded with Wires and Batteries, but destroys the delicate Circuit Boards. In the future, the player is a skilled Crafter, but lost their screwdriver. They give a gentle tap at certain weakpoints, causing the casing to fail, and all the valuable goodies to come out without them being damaged!}

Metal Sheet:
Metal Saw ->
100 Scrap Metal

Fire (C: Metal Sheet, C: … , D: Plank with Nails, D: …, V: …)
ACID (…)
HARM_ACID (The lower the players Environmental Protection, the high chance for the acid to burn the player)
SPEND (Acid cannot be reused)
DAMAGE_PHYSICAL_SMALL (You’re cutting yourself!)

{The player is prompted that he can use a nearby fire or nearby battery acid. They use the acid they extracted from a battery to cut up sheets of metal for scrap, lacking a metal saw. Wearing the proper protection, some rubber gloves and rubber boots, they succeed, crafting a good amount of metal scrap, and uses up the acid.}

One of the drawbacks of using a substitution in a recipe might not apply to another. This can be specified when your are specifying the Substitution’s recipe.

Hammer (C: A Recipe [-DESTROY_RANDOM_SMALL], D: Another Recipe [+HARM_PHYSICAL_SMALL], V: One More Recipe [+TIME])

More ‘rigorous’ entries in Substitution would look like
[(C: … [-BURN])],
[(D: …), (D: Metal Sheet [-HACKSAW], (D: …)],
[(V: …), (V: …)]

[(C: Metal Sheet [-HACKSAW]), (C: …)],
[(D: …), (D: …)],
[(V: …), (V: …)]

and so on…[/code]

Substitution already exists in several ways. The issue is rather that item disassembly specifically requires a screwdriver, rather than a tool that has screwdriving 1 or fine screwdriving 1 or whatever. I could be wrong though. I mean cutting up clothes requires a tool with cutting quality. Also, many recipes can take several alternative ingredients. The way I see it, what you’re presenting is basically a handful of (perfectly valid) exceptions that the current system doesn’t cover. I just don’t feel there’s need to overhaul the entire system.

I do acknowledge that using a hammer - or rather an item with hammering quality - to break items could/should be an option with the penalty that the more fragile components are destroyed. But I’d rather just try to find proper tools.

Did you know that if you apply a hacksaw to a metal wire fence, you can disassemble that fence?

What I don’t know is that can you deconstruct wooden furniture with a wood saw. If you can’t, that could be an issue. Or, the issue could be that furniture doesn’t have materials defined. So all chairs, tables, benches would need a list of materials that they’re made of (wood). A more universal way might be that the program inspects the material qualities of the listed disassembly/deconstruction products of a given furniture, and then deduces which tools are valid for the deconstruction operation. But then that would mean that you could take apart bookshelves with a hacksaw, simply because they contain nails, and nails are made out of metal. And that makes me think it’s just easier to assign the wood saw and other tools some valid targets. Over time, additions would be made to that list.

And let’s not forget we have the proper deconstruct option for objects (furniture). Still, I’d prefer the wood saw to have some valid wooden targets listed, because the generic deconstruction requires a hammer and a screwdriver.

We can already smash furniture to break them down. But we don’t have smashing options for smaller items.

Doesn’t burning certain items already leave behind metal scrap?

Acid could be used to cut metal but… in which cases and with what results and how much time should it take? IRL I’d rather just try to find a hacksaw or an angle grinder than mess with acid.

Is it silly to think that a tool/item could have a “nail removal quality”? I think the hammering quality falls short, or rather hammering is at least a dual-purpose property - it is used to (1) apply blunt force with the purpose of shaping, flattening, breaking or molding another object, but also (2) to drive sharp objects (nails) into other objects, which is difficult to reverse without specific tools… which makes me think that using hammering quality as a requirement to remove nails is inadequate. Or should nail removal depend on prying quality?


  • Issue: The wood saw cannot be used to deconstruct certain furniture: couch, bed, drawer, table, desk, chair, bench, door (any others?).
  • Issue: Furniture can be smashed but items cannot. Possibly tag certain components as ‘fragile’, and have them destroyed upon smashing. Or the other way around: tag certain components as ‘tough’ and have them survive the smashing.
  • Issue: Some tools could have a list of valid targets for special disassembly/deconstruction operations, the same way hacksaw can be used to deconstruct metal wire fences.

I noticed there was talk about wrench substitution on the github, but my github account wouldnt log in for some reason.

a very simple makeshift wrench can be made from a nut and a bolt. Wouldn’t recommend trying to torque the wheels of a car or bike with it though.