minetest / minetest_game

Minetest Game - A lightweight and well-maintained base for modding [https://github.com/minetest/minetest/]
http://minetest.net/
Other
1.42k stars 572 forks source link

Hand digs glass faster than wooden and stone pickaxe #2585

Open Wuzzy2 opened 4 years ago

Wuzzy2 commented 4 years ago

Version: 5.1.1

Digging glass by hand is faster than by pickaxe:

Moreover, the leaves digging time of wood/stone swords is not better than hand (0.4s each), but this might be deliberate.

paramat commented 4 years ago

Ok, but why is this? There may be a reason and this not so easy to resolve. More effort required from thread author =)

An0n3m0us commented 4 years ago

Seems like it wasn't always the case; pickaxes used to be faster. It seems to be a pre 5.0 thing.

"It can be mined by hand, but pickaxes are faster." - Minetest Wiki

Glass has the groupname oddly_breakable_by_hand = 3 which allows it to be dug so quickly by hand. If the value is decreased, it will increase the time taken to dig the glass by hand.

paramat commented 4 years ago

For glass: Things that are 'oddly breakable by hand' are broken almost immediately by hand. Using a tool takes longer. This cannot be 'fixed' because 'oddly breakable by hand' must remain almost immediate, but tools acting on certain dig groups must remain having longer times.

For leaves: 'Fixing' this will probably just cause a similar unrealism to occur between 2 other items, it will cause imbalance elsewhere. Because of how dig time mechanics works, several things will not make sense. Besides, you are referring to ultra-blunt wood/stone swords, hand being just as fast is reasonable. So no issue.

So this is not a bug and is very non-trivial.

sfan5 commented 4 years ago

This cannot be 'fixed' because 'oddly breakable by hand' must remain almost immediate, but tools acting on certain dig groups must remain having longer times.

What about introducing a new dig group that fits glass as a material better?

paramat commented 4 years ago

smashy? =D Seriously though, i am not convinced that is worth doing for so few nodes, this is a very minor issue after all. There will always be several dig times comparisons that do not make sense. ~Besides, realistically, it would be awkward to smash out a pane of glass with a pickaxe, it is possibly faster to do so with your hands.~ ~Overall, this is not an issue and not worth our time.~

Moth-Tolias commented 4 years ago

that's some real upside-down clown logic there, paramat. soft fleshy human hands shouldn't break a pane of glass faster than swinging a big heavy metal pick into it.

paramat commented 4 years ago

You may be right, but it does not alter my actual point in that comment.

An0n3m0us commented 4 years ago

Why couldn't we set oddly_breakable_by_hand to 1 instead of 3 so that it takes longer to dig by the players hand?

Can be added to nodes that shouldn't logically be breakable by the
hand but are. Somewhat similar to `dig_immediate`, but times are more
like `{[1]=3.50,[2]=2.00,[3]=0.70}` and this does not override the
speed of a tool if the tool can dig at a faster speed than this
suggests for the hand.

oddly_breakable_by_hand doesn't override the tool speed, so it seems like the perfect thing to change?

Paramat This cannot be 'fixed' because 'oddly breakable by hand' must remain almost immediate

Why must it remain almost immediate? I haven't seen that rule mentioned anywhere. On the contrary, the Lua API mentions that it can last up to 3.5 seconds(?) when set to 1.

sfan5 commented 4 years ago

Overall, this is not an issue and not worth our time.

Despite your eager closing of this issue, this is your opinion and I haven't seen another coredev weighing in.

In my opinion, fixing this should at least be looked into and if there "[are] several dig times comparisons that do not make sense" they should be looked into, too. The point of a game goes out the window if balance is too broken.

LoneWolfHT commented 4 years ago

This cannot be 'fixed' because 'oddly breakable by hand' must remain almost immediate

What's the point of oddly_breakable_by_hand = 1 if you can't use it? @An0n3m0us said glass has it set to 3, which is AFAIK the fastest digtime you could get with that group

appgurueu commented 4 years ago

The point of a game goes out the window if balance is too broken. Indeed. MTG, and specifically default, is seen as a solid base and should be balanced.

I would not set oddly_breakable_by_hand = 1, because breaking glass by hand should remain fast. Instead, I agree to the proposal of adding/introducing a group for glass so that the picks break it at least just as fast.

An0n3m0us commented 4 years ago

How about oddly_faster_by_tool or something? I cannot think of a good name as I'm not sure which nodes it will apply to (other than glass). Any suggestions on the group name?

TumeniNodes commented 4 years ago

A good group name for glass like nodes could be "shatter" we could have oddly_breakable_by_hand which is current but should be set to nodes one would not normally think breakable by hand

and then add breakable_by_hand for nodes which one associates with being breakable by the hand... (such as glass) and things such as leaves, because one can pull leaves off trees, etc.

and tbh, glass breaks no faster from any object than by hand... the difference would only be where glass is thicker... some glass cannot be broken by hand... such as glass blocks... panes of glass are far easier

just a couple thoughts

orbea commented 4 years ago

I think its ignoring both swords and axes and use the values for the hand when breaking glass. You can notice how they don't take any wear.

See issue https://github.com/minetest/minetest_game/issues/2650.

I think PR would help here too in making the balance issues more apparent. https://github.com/minetest/minetest_game/pull/2649

Wuzzy2 commented 2 years ago

I think this might actually be an engine issue. I looked at the code:

Glass has:

groups = { cracky = 3, oddly_breakable_by_hand = 3 }

Normally, Minetest falls back to the digging times of the hand when the wielded item can't dig. But not here: Since the pickaxe can dig cracky, it uses the pickaxe dig time for cracky, although the hand would be faster with oddly_breakable_by_hand. A possible engine solution would be make sure the fastest hand time is used. But this solution might have other issues as this introduces more non-obvious behavior.

The simple solution would be to set oddly_breakable_by_hand=2. This would increase the hand digging time from 0.7 seconds to 2.0 seconds. Which is then worse than the wooden pickaxe. The downside is that players will HATE this.

A better solution would be to make sure the pickaxes can dig glass faster or at least at the same speed than the hand.

Current dig times for cracky=3:

As you see, the hand is right between stone and bronze atm. Ideally, the dig times of Wood and stone would be buffed to be both below 0.7s. I suggest 0.6s and 0.5s, respectively.

Sadly, I think the only way to achieve this would be with a new group. I say, "sadly" because of compatibility concerns. Mods suddenly face a brand new digging group in MTG after years. This will come unexpected. But with a new group, all dig times can be dealt with properly. But it feels ugly adding a completely new digging group only for glass.

So all solution I can think of introduce their own problems as well. :-(

Maybe this bug might actually be a "won't fix" or "can't fix", at least not in MTG itself. Maybe the engine might be the best solution, after all.