Cubyz icon indicating copy to clipboard operation
Cubyz copied to clipboard

tool sharpening idea

Open Glek3197 opened this issue 2 years ago • 7 comments

I assume tools have edges, (example: normal pickaxe - 3 sides: front, right and left), but in case they don't, this operation will apply changes to a tool as a whole. In workbench, or smithing station: Add sharpening modifier and a tool to sharpen tool. Sharpening deacreases tool durability, encreases damage dealt to blocks and entities. Each time sharpened tool is used, it looses sharpness and gets more damage from being used than usual, until sharpness value is 0. Sharpening harder materials will lower additional damage and sharpness loss from being used. Sharpening modifiers are: sand, rock (cobblestone), other sharp tools, sandpaper, blunt tools (hammer, sledgehammer etc). Additional sharpnening modifiers are (smithing stantion only): heat: coal, charcoal, lava bucket, wood, wooden tool. Blunt tools can only be used on smithing station. When sharpening with blunt tool, tool being sharpened gets quadruple damage and half less sharpness value added if is brittle or / and is soluble or / and made of wood. When sharpening with blunt tool, tool being sharpened gets half less damage if is hard or / and is made of metal. When sharpening with sandpaper, tool being sharpened gets 1/4 damage and 1/4 sharpness value added if is hard. When sharpening with sandpaper, tool being sharpened gets 1.25 damage if is brittle or / and is soluble. When sharpening with rock (cobblestone), tool being sharpened gets half more damage, if is made of wood or / and is brittle. When sharpening with sand, tool being sharpened gets 1.25 damage and 0.75 of sharpness value added. When sharpening with sharp tool, tool being sharpened gets triple damage and double sharpness value added, if is made of wood. When sharpening with sharp tool, tool being sharpened gets 0.75 damage and 0.25 sharpness value added, if tool is not made of wood. When sharpening in a smithing station with blunt tool and additional heat sharpening modifier, tool being sharpened gets 0.1 damage and 0.75 sharpness value added, if tool is made of metal or stone (stone will need higher quantity of heat additional modifiers). Note that tools used as sharpness modifiers and sandpaper loose durability when used. Other sharpness modifiers have no durability are gone upon usage (one sharpness modifier per use). Possible look of smithing station UI (concept schematic): image Purple marked slot is for sharpness modifier. Green marked slot is for tool being sharpened. Red marked slot is for heat additional modifier. Yellow marked button is a rundown list to choose side being sharpened (in case edges of a tool are a thing in game' code)

Possible look of sharpening in workbench (shapeless craft): image

Glek3197 avatar Dec 11 '23 12:12 Glek3197

I generally think sharpening could be an interesting mechanic to have, but I think your approach is too complicated.

How about the following instead:

  • You can use different stone types to make a grindstone, which can be placed in the world.
  • No UI, just right click the grindstone with the tool. (Also maybe there should an indicator next to the crosshair)
  • Whenever a tool is sharpened it directly looses durability. This makes it more obvious to the player what the trade-of from sharpening is.
  • The durability loss is proportional to the max durability of the tool.
  • When using a tool, sharpness is lost. Sharpness loss is proportional to the durability of the tip material.
  • Sharpness value after sharpening depends on the grindstone type.
  • Sharpening applies to all edges of the tool, that's just easier to implement.
  • Sharpness affects damage and efficiency calculations, and increases them by a small amount.

IntegratedQuantum avatar Dec 11 '23 13:12 IntegratedQuantum

I think from a systems point of view a generic solution for building buffs/debuffs for items would definitely be good. Then the effect of the sharpness buff would depend on the context of how it is granted. So the grindstone would determine that based on the type and material of the weapon/item being used on it. But you could also have good loot with particularly long or effective sharpness buffs already attached via RNG, etc.

colinwilcox avatar Dec 11 '23 13:12 colinwilcox

Grindstone seems to be the better way to implement sharpening, tho I think materials of sharpened tool should impact results greatly as well. Also we could have pocket way of sharpening, like sandpaper, to sharpen tool right from the inventory, but tradeoff for not using grindstone in that case could be something like less sharpness value and limit of maximum sharpness value that could be achieved that way.

Glek3197 avatar Dec 11 '23 14:12 Glek3197

Also we could have pocket way of sharpening

Yeah, a grindstone, that you can carry around and place anywhere :P I think no one would use the weaker sandpaper, when they can just take the real thing.

tho I think materials of sharpened tool should impact results greatly as well.

I agree, but I fear that this might make the system to complicated. Mod creators and players alike need to keep in mind more, and more interactions between these different systems. That's why I proposed to make it depend only on the durability.

IntegratedQuantum avatar Dec 11 '23 14:12 IntegratedQuantum

I agree that it shouldn't be too complicated. With this sort of game less is often more. Also you might not want this to be something that is so good and easy that players feel compelled to always do it all the time, because that just means it becomes a tedious, rote action that just gets in the way. So making it balanced could mean that players only do it when they're in a hurry and want to mine or cut trees quickly, but at the expense of a significant hit to durability.

colinwilcox avatar Dec 11 '23 14:12 colinwilcox

Mod creators and players alike need to keep in mind more, and more interactions between these different systems. That's why I proposed to make it depend only on the durability.

I want to find a way to keep things simple while getting complex results. Having durability as the only thing that impacts sharpening would be a good way to keep system simple, but there would be no complex results.

What about using thing, that would describe specific custom behavior of something, if needed? lets say, attributes, that can be assigned to item or entity. Those attributes have type and store one or few values. When grindstone encounters tool with "tool" attribute type, it uses value X, value Y and value Z to alter resulting sharpness, durability and max durability changes of tool, otherwise - everything happens as usual, getting sharpness while using only durability and max durability values. If attribute is present but no value is set within - it be ignored. Lets assume value X represents sharpness multiplyer, value Y represents durability multiplyer and value Z represents max durability multiplyer. Those values can be assigned to a tool requiring specific grindstone behavior and are not general, assigned to specific item according to whatever formula defines those, when crafted. After that, instead of using just value of sharpness, durability or max durability in whatever formula this could use, it uses those values multiplied by relevant multiplyer values, stored in attribute.

As a result, if someone wants to add their own brand new pickaxe of netherium diamond ingots via altering game code, but doesn't want to deal with custom properties and assigning their ingots as new material, setting properties etc, they just dont have to, and their tool will be just as any other, with their custom or not durability, efficiency and damage, having no attribute that would alter sharpening of tool of theirs when using grindstone.

Glek3197 avatar Dec 11 '23 15:12 Glek3197

I agree that it shouldn't be too complicated. With this sort of game less is often more. Also you might not want this to be something that is so good and easy that players feel compelled to always do it all the time, because that just means it becomes a tedious, rote action that just gets in the way. So making it balanced could mean that players only do it when they're in a hurry and want to mine or cut trees quickly, but at the expense of a significant hit to durability.

I don't know if repair mechanic is implemented, will be, or won't be, so there I assume it will be. I don't know if there would be hard limit of how much sharpness value could someone have, leading to hypothetic possibility to create tool with 1000 durability and 500 sharpness, so you would need to sharpen it like once or twice before it breaks or before you would have to repair it. So people could do sharpening only few times in entire tool' lifespan, enjoying slight speed increase at the expense of halving hit to durability. It could be another way, giving limited maximum sharpness calculated from max durability of tool, and the more you sharpen it, the more impact sharpness effects have.

Glek3197 avatar Dec 11 '23 15:12 Glek3197