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?
[center]Downsides[/center]
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]Substitution![/center]
[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]
[center]Pros[/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]
[code]
Disassembly:
Plank with Nails:
Hammer ->
1 Plank, # Nails
Substitution:
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.}
Disassembly:
Phone:
Screwdriver ->
Circuit Boards, # Wires, 100 Batteries
Substitution:
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!}
Crafting:
Metal Sheet:
Metal Saw ->
100 Scrap Metal
Substitution:
Fire (C: Metal Sheet, C: … , D: Plank with Nails, D: …, V: …)
BURN, IGNITE
ACID (…)
HARM_ACID (The lower the players Environmental Protection, the high chance for the acid to burn the player)
SPEND (Acid cannot be reused)
MUTATION_ACID_BLOOD (…)
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
FIRE_NEARBY
{
[BURN, IGNITE, HEAT, HARM_HEAT_SMALL],
[(C: … [-BURN])],
[(D: …), (D: Metal Sheet [-HACKSAW], (D: …)],
[(V: …), (V: …)]
};
MUTATION_ACID_BLOOD
{[DAMAGE_PHYSICAL_SMALL, HARM_BLEED_SMALL],
[(C: Metal Sheet [-HACKSAW]), (C: …)],
[(D: …), (D: …)],
[(V: …), (V: …)]
};
and so on…[/code]