(Un)breakable trees?

Greetings.

I’ve been looking around the .jsons trying to find why trees in this game are tougher than reinforced steel walls, as far as vehicle impacts are concerned.

Turns out they are specifically set not to be breakable! I wonder why that is. Surely a sufficiently strong impact should bring the tree down?

I’ve made a little change for myself in the meantime, but exact numbers are hard to judge seeing as I don’t know how exactly they are applied. Still, here is what I added:

"type" : "terrain", "id" : "t_tree", "name": "tree", "symbol": "7", "color": "green", "move_cost": 0, "flags": ["FLAMMABLE_ASH", "BASHABLE", "NOITEM", "SUPPORTS_ROOF", "TREE", "REDUCE_SCENT"], "bash": { "str_min": 8, "str_max": 50, "sound": "crAAAck!", "sound_fail": "whump!", "ter_set": "t_stump", "items": [ { "item": "stick", "amount": 5, "minamount": 1 }, { "item": "splinter", "amount": 6, "minamount": 2 }, { "item": "log", "amount": 1, "minamount": 0 } ] } },{ "type" : "terrain", "id" : "t_stump", "name": "stump", "symbol": "i", "color": "brown", "move_cost": 4, "flags": ["FLAMMABLE_ASH", "BASHABLE", "NOITEM", "TRANSPARENT", "REDUCE_SCENT"], "bash": { "str_min": 6, "str_max": 50, "sound": "crack!", "sound_fail": "whump!", "ter_set": "t_dirt", "items": [ { "item": "splinter", "amount": 4, "minamount": 1 } ] } },{ "type" : "terrain", "id" : "t_tree_young", "name": "young tree", "symbol": "1", "color": "green", "move_cost": 4, "flags": ["TRANSPARENT", "BASHABLE", "FLAMMABLE_ASH", "NOITEM", "YOUNG", "REDUCE_SCENT"], "bash": { "str_min": 4, "str_max": 50, "sound": "crunch!", "sound_fail": "whack!", "ter_set": "t_underbrush", "items": [ { "item": "stick", "amount": 3, "minamount": 0 } ] } },{ "type" : "terrain", "id" : "t_tree_apple", "name": "apple tree", "symbol": "7", "color": "ltgreen", "move_cost": 0, "flags": ["FLAMMABLE_ASH", "NOITEM", "BASHABLE", "SUPPORTS_ROOF", "TREE", "REDUCE_SCENT"], "examine_action": "tree_apple", "bash": { "str_min": 8, "str_max": 50, "sound": "crAAAck!", "sound_fail": "whump!", "ter_set": "t_stump", "items": [ { "item": "stick", "amount": 5, "minamount": 1 }, { "item": "apple", "amount": 6, "minamount": 0 }, { "item": "splinter", "amount": 6, "minamount": 2 }, { "item": "log", "amount": 1, "minamount": 0 } ] } },{The young tree was already there, I just posted the whole section between the tree and the apple tree. I added a “stump” object, and the “BASHABLE” tags to both trees, plus the requisite “bash” sections.

bashable doesn’t do what you seem to think it does, bashable is for you breaking the terrain by hitting it, which is not really reasonable for a full grown tree.
if you look, steel walls are also not bashable.

[quote=“Kevin Granade, post:2, topic:5507”]bashable doesn’t do what you seem to think it does, bashable is for you breaking the terrain by hitting it, which is not really reasonable for a full grown tree.
if you look, steel walls are also not bashable.[/quote]

But but but … Minecraft logic! :wink:

BTW: trees are pretty damn tough, so if you do tinker with things, OP, don’t go too overboard.

Last time I rammed a semi into a forest, it travelled a decent distance before halting.

[me=Mrnocamera]runs into the room wearing a lab coat.[/me]
HOLD ON! IT IS TIME FOR SCIENCE!

Debug menu, spawn a decently-fast vehicle, crash it into a forest.

Already did.

A Humvee nearly gets totaled crashing into a tree.
An APC, well…

Note: this is with my modified trees.

Scientific method proves trees are stronk to cars!

But yeah I don’t think trees would go down very fast without running over them hardcore, or using large tree-cutter-downer machines the lumber industry has.

Which begs the question: How do you cut down a forest?

So we got 4 options forest vehicle exploration.
Invent a tree-cutter-downer-machine that can fuck up trees.
Juryrig a semi to do that exact same thing.
Burn it and bring 2000 sausages and a barrel of water.
Try and squeeze a bike through.

So do we stay with realism and leave them stronk like real life, or tweak them to be weaker for gameplay reasons.
Reasons include running over forests slightly easier for more exploration madness!
Reasons also include discovering secret swamp/river in the forest you didn’t notice that you just plunged into.

[quote=“Kevin Granade, post:2, topic:5507”]bashable doesn’t do what you seem to think it does, bashable is for you breaking the terrain by hitting it, which is not really reasonable for a full grown tree.
if you look, steel walls are also not bashable.[/quote]

How does that logic actually work now? Like, is any “bashable” object guaranteed to fall eventually if you hit it enough, or do you need an object that will do enough damage to make progress?

Because “bashing” a tree with an axe to take it down is… kind of… a thing?

Though obviously it would be silly to chop down a tree with a herring.

You could probably dent a steel wall enough to remove it in some way if you hit it long enough with a sledgehammer.

Then again, depends on how strong you are, how thick the wall is, if the wall is reinforced with something other then steel(?)…

To pitch into the topic… I was really surprised it took so long to cut down a tree… by smashing it with a wood axe. Then I figured it’s done through construction and I was like… ok, I guess.

So can we make it a thing? Actually cutting trees down? It makes sense. It’s intuitive, and I believe this game should be as intuitive as it can. To avoid cutting trees with bones or knifes, a simple check if you are using a specific weapon would work? Or a more robust way to calculate the damage the tree takes based on the damage type, size and weight with appropriate resistance for bashing and piercing?

The coding answer is that treating an axe specially like that when bashing would insert code in a place where it shouldn’t go, and the use case is too obscure to make adding it worthwhile. The realism answer is that cutting down a tree with an axe isn’t simply a matter of hitting it with an axe until it falls over, you’re using the axe like a tool, you should invoke it like a tool.
One thing we can do is have a message occasionally pop up informing you that you aren’t making any progress when bashing.

[quote=“Kevin Granade, post:11, topic:5507”]The coding answer is that treating an axe specially like that when bashing would insert code in a place where it shouldn’t go, and the use case is too obscure to make adding it worthwhile. The realism answer is that cutting down a tree with an axe isn’t simply a matter of hitting it with an axe until it falls over, you’re using the axe like a tool, you should invoke it like a tool.
One thing we can do is have a message occasionally pop up informing you that you aren’t making any progress when bashing.[/quote]

No progress message while bashing sounds like a great idea.

Yeah, and logging is freakin’ dangerous. If you don’t know how to do it, you shouldn’t try because if you mess up, the tree with snap under stress basically exploding with incredible force with you standing nearby. The term used for trees that are likely to do this is “widowmaker.” A lot could go wrong and could be modeled in the game. Maybe injuries or rarely death for inexperienced loggers? A common instance in an inexperienced logger using a chainsaw is to trap the chain bar between the trunk and the stump as it tips under gravity, especially if they cut their wedge wrong.

If you really wanted to model it more accurately, when you fell a tree, you select a direction you want it to fall in, and the game does a skill check to see if it falls where you want. The tree would then produce a line of “fallen tree” tiles relative the abstract height of the tree (no z-levels for trees so there’d have to be separate tiles for taller or shorter trees) in the direction that the tree fell. This means you could fell a tree tall enough to create a bridge across a river. Fallen trees can be hacked or sawed into logs once felled. Forests could spawn with already felled trees, making them a bit more natural-looking, and providing an easy source of logs for players whom lack the skill to safely fell a tree. If a tree falls into another tree, it’s “fallen tree” tiles become “hanging log” roof-layer tiles. Chopping a hanging trunk is dangerous, as it could fall on you and hurt you. Felling the tree that hanging trunks are stuck on causes them to become fallen trees, crushing anything occupying their tile. You could potentially hide under a hanging log for temporary shelter from the rain or make it an intentional feature and build a lean-to of tree logs felled against a log wall.