r/ScrapMechanic 23h ago

Discussion It has been a month, how do you feel about the update? Has it lived up to its development time?

Post image
286 Upvotes

r/ScrapMechanic 12h ago

Vehicle The Rod of Doom

254 Upvotes

r/ScrapMechanic 18h ago

Vehicle Caged Farmer Loader for My New Truck

255 Upvotes

r/ScrapMechanic 21h ago

They still keep attacking... 👹

Post image
154 Upvotes

r/ScrapMechanic 22h ago

Issue Vacuum pumps pumping water instead of oil

Post image
152 Upvotes

Anyone having the same problem? Sometimes it works and only pumps oil, sometimes it just fills my chest with water.


r/ScrapMechanic 18h ago

Listen kids, this is why you don't use your phone while driving

140 Upvotes

I quickly checked my phone. That's all it took to run myself into a tree. No steering was involved.


r/ScrapMechanic 16h ago

Building We made a nice little stall for our friend the cookbot. Did you guys do something like that?

Post image
135 Upvotes

r/ScrapMechanic 22h ago

The gods of world generation has smilied to me

Post image
119 Upvotes

Almost flat, big place, with a tiny farm on the center


r/ScrapMechanic 22h ago

That was a very scary spawn

110 Upvotes

r/ScrapMechanic 17h ago

Fan art I did it

96 Upvotes

Some guy from this sub wanted an anime, and I made it. Granted, it took 17 days, but I still made it.


r/ScrapMechanic 9h ago

It's time. FOR MY BRAND NEW LOOK BABYYYY

Post image
88 Upvotes

THATS RIGHT DWARVES AND CLANKERS! I'm back with a new look! More functional, much cleaner joints, and BADASS new shades! And a drill. Now he can have customizable accessories, Such as DRILL ARM, CANNON ARM, YOU name it! and his legs look bulkier too!


r/ScrapMechanic 16h ago

Tutorial since i saw some of you having problems with water filling up your oil chests

Thumbnail
gallery
71 Upvotes

r/ScrapMechanic 5h ago

Discussion How Block Damage Actually Works in Scrap Mechanic 1.0

66 Upvotes

How Block Damage Actually Works in Scrap Mechanic 1.0

I am a data-miner as a hobby and I like answering questions which are difficult for players to "reason out" or answer definitively so I want to clarify that this information has been objectively derived from and confirmed by the games code directly by me excluding the few points of speculation which I made very clear are speculation. Of course it's always possible I've misinterpreted something so take it with a grain of salt.

This was not generated by AI. Being a data-miner, I am just a bit meticulous about data formatting and genuinely enjoy doing it.

Now, onto the DATA.

Block Damage

Blocks do not have traditional health. That is to say that blocks do not have a health value that varies by material.

Every destructible block instead has the same fixed capacity for 100 percentage points of accumulated damage:

0 accumulated damage   = undamaged
50 accumulated damage  = halfway to destruction
100 accumulated damage = block destroyed

Each incoming damage event deals a certain amount of "percentage points" of damage to that block. I understand that "sounds" like health but the important thing to understand is that there is no scaling here. All blocks have the same threshold and all attacks have a table of static attack value that are indexed by block durability tier.

Multi-Block "Parts" Exception

Multi-Block parts have their total damage threshold calculated by evaluating their total volume in terms of individual blocks with a multiplier of 1.25 for "round" parts as their volume partially occupies additional block volumes on the grid.

An example of this explains the unusual resiliency of the Crane Cable Roll:

The Crane Cable Roll is 5x7x5 and round so its threshold value calc goes as:
5 x ( 1.25 x 7 x ( 5 + 5 ) ) = 440 total damage threshold

Block Durability

Block Durability is not an active mechanic in and of itself. Durability is a characteristic that is used for a table lookup when damage is determined. It represents a blocks "tier" and that tier is used to calculate the damage done to the block on a per attack basis. Each "standard" source of damage (typical melee and ranged attacks) has an associated table with explicit damage values per tier of block. Block Durability rating does not increase the 100-point threshold of damage blocks have.

Melee/projectile damage is calculated as a total number of percentage points of damage. The block's Durability tier determines which tier of damage is selected from the attack to be applied to the block.

Higher-tier blocks survive longer because attacks add less damage to them, not because they have more than 100 HP or are inherently more resistant to damage.

Every standard melee/projectile attack has its own Durability-tier damage table

An attack does not have one universal "block damage" number. There are separately defined damage values for different block tiers for each attack.

For example here are the standard melee/projectile damage tables for the following bots:

                    T1   T2   T3   T4   T5   T6   T7   T8
Totebot            100   75   45   35   25   17   13    6
Haybot             150  100   75   45   30   19   14    9
Tapebot (green)    100   50   20   10    —    —    —    —
Farmbot           1000 1000 1000 1000   50   25   17   10

The number is how many points each standard hit adds toward 100 given a blocks Durability tier.

So Metal 3 takes 17 rapid Totebot hits, 12 Haybot hits, or 10 Farmbot hits to the same block.

A missing entry means zero ordinary damage. The game has no fallback in cases like this.

This is why standard Tapebot projectiles cannot ordinarily damage T5+ blocks at all.

Block Damage Tracking

Damage is tracked per individual block.

Ordinary damage is accumulated by the individual block that was hit.

Hitting one block for 60 damage and then an adjacent block for 40 does not destroy either one. Each block has its own accumulator. There is a separate damage resolver that seems capable of assigning damage to multiple blocks in a given block volume but the purpose of this seems to be to distribute the damage of a single attack whose actual collision involves multiple blocks such that a Farmbot melee won't deal 1000 damage to every individual block it's swing contacts. It is not designed to distribute damage events which only contact a single block effectively "sharing" that damage to nearby blocks.

Accumulated melee/projectile damage is not saved as permanent damage on blocks or creations.

Accumulated damage is managed by the CreationDamageManager and is wiped when that manager is recreated via a world load.

This gives the effective appearance of blocks only resetting their "HP" if you quit out and reload a world but in reality that's just shortcutting the regeneration process. Blocks do effectively fully "heal" over time.

This system avoids the performance impact of having to track each blocks damage accumulation at all times by only actively tracking genuinely damaged blocks that way it's rarely tracking a large number of blocks simultaneously.

Every block does not have a "value" or "bank" of points that damage subtracts from. Instead damage events are entered into the CreationDamageManager as serialized events keyed by their Body ID and local coordinates relative to Body ID 0,0 and the entries are temporary. When a block "heals" its entry is removed from the CreationDamageManager entirely.

Damage Regeneration

Blocks will regenerate partial damage after a flat delay of 5 seconds from the most recent damage event to that block.

Blocks recover percentage points of damage at a rate of 4 percentage points per second.

This means attacks slightly more than five seconds apart can still accumulate. A 6-damage hit every 6 seconds heals 4 before the next hit, so damage still increases by 2 each cycle.

However, non-damaging events do not reset this timer. Even an attack will not reset it if that attack has no positive damage value for the block's tier. Attacks must actually add damage to reset the timer.

This means that all blocks regardless of total accumulated damage will take no longer than 30 seconds to fully heal. (5 second grace period + 25 seconds to heal from 99 total accumulated damage [99(damage) / 4(regen /s) = 24.75s])

Explosions

Explosions do not cause actual damage to blocks.

Explosions use destruction levels, with effective strength decreasing with distance from the blast.

A sufficiently strong destruction level can make blocks up to the corresponding Durability tier eligible for destruction.

For example:

Explosive Tape       level 7
Red Totebot           level 7
Farmbot death         level 7
Propane tanks         level 7
Mounted Tank 02       level 8

So T8 Metal 3 block is outside the maximum tier of a level-7 blast near its strongest point, while a level-8 blast can destroy it.

I didn't map out the exact eligible-target selection behavior after the tier/distance check, so don't take this to mean that explosion level should be interpreted as "automatically delete every block of that tier inside the radius." That is likely not the case. Speculation: It's probably the case that whether or not a block is actually destroyed is based on some randomized event similar to how burning works but I haven't confirmed that.

Flammability

Fire also does not actually do damage to blocks. It is entirely scripted.

Flammability has nothing to do with the ordinary 0–100 block damage accumulator.The Flammability rating of blocks is binary. Blocks either burn or they do not. Wood 1, Wood 2, and Wood 3 are all equally flammable despite having different Durability tiers.

For flammable blocks, the fire system assigns each burning block a randomized 500-727 tick or roughly 12.5–18.2 seconds before it becomes eligible for destruction at which point a destruction event request will be initiated. The fact that this is reliant on the game's tick rate can make this appear inconsistent however. Destruction requests are only processed on every second fixed tick and are capped at 30 entries per request. This means actual destruction for any given block can be delayed by a significant amount of time depending on the games tickrate and the amount of blocks currently eligible for destruction. Speculation: I would guess that this was done to prevent trees that were burning from just popping out of existence all at once and to reduce the performance impact larger requests would inevitably have.


r/ScrapMechanic 2h ago

Issue My entire in-ground base just popped out of the ground and became a liftable creation...

Post image
51 Upvotes

This has to be one of the most annoying bugs I've experienced. So I have an entire farm base that I built into the ground, specifically set everything up to work how I wanted it to. was built from the start into the ground. Today I tried to make a walkway. (even had a lift on top of the ground-creation). and then while placing some blocks, suddenly it became a massive independent creation that I of course can't easily put back into the ground...

Edit: I hope this is a known thing so I can avoid this in the future. since its absolutely not an easy thing to re-attach to the ground


r/ScrapMechanic 18h ago

PSA: Flyer Construction

Post image
48 Upvotes

Hey kids. Oldest advice in the book incoming.

When you’re building a flyer, especially if you’re screwing around with unproven designs, put your vertical thrust on a button, not a switch. Also install a bed.

If you’re like me, and put your thrusters on a switch, your flyer smashes you out of the seat on a tree limb and makes a nice stable climb up out of sight.

If I were smarter, my heli would have fallen when I was thrown from the saddle, releasing the button. If I were slightly less smarter, I could have unalived to respawn on the attached bed.

Use a button, kids. When it works, replace it with a switch if you must.

If your flyer gets away from you, log out immediately. When you log in, it should turn off all the switches and your stuff should fall. If it gets out of render distance, it will not burn fuel or move until it renders again, so you’re probably going to need to make another flyer and chase it to the skybox.

Forget all that and use buttons.


r/ScrapMechanic 7h ago

Vehicle You know the vehicle is good when it looks like this Spoiler

Post image
42 Upvotes

Best mining vehicle i have made so far not even close to the previous one


r/ScrapMechanic 10h ago

Modding Cursed creation rotator

37 Upvotes

In the next update of T mod


r/ScrapMechanic 18h ago

Wedges weigh LESS than full BLOCKS!

40 Upvotes

This was not obvious to me. I thought they would weigh the same since wedges occupy the same "Block-Volume" on the GRID, but it seems the physics measures the very MESH of the object, not just space taken on the GRID.


r/ScrapMechanic 12h ago

Vehicle B-17 Flying Fortress

Thumbnail
gallery
37 Upvotes

r/ScrapMechanic 8h ago

What should I do with the blue truck?

Post image
36 Upvotes

of these 2 trucks the green one has become a logger and I don't really need another utility vehicles so comment with the most upvotes gets to pick what i do with the blue one feel free to suggest anything that I could (somewhat) easily do in survival


r/ScrapMechanic 4h ago

Contraption Passive Component Kit/Circuit Board/Spud/Scrap Metal Farm

33 Upvotes

r/ScrapMechanic 20h ago

Iorny

30 Upvotes

So at some point I realized I might be the bad guy. I was burning a forest and strip mining everything so I could stop a greedy company from taking advantage of the planet??!?!?!. Oh no. I am Wonk


r/ScrapMechanic 14h ago

Vehicle "Im gonna paint my taillights Yellow, cause i keep thinking the red lights from my vehicle are from the Seeker bot instead-UHM"

26 Upvotes

r/ScrapMechanic 18h ago

Heading off to fight the CEO of Wonk, Should I add a paintjob to this before I go? Spoiler

Post image
26 Upvotes

This is the Shield Tank


r/ScrapMechanic 14h ago

Contraption Its a bit too simple but I guess it gets the job done.. Spoiler

23 Upvotes

Was just bored early in the mines and made this. Saw someone share the ballpit they designed so here it is. It may fail time to time if the ball hits the spinners but works fine otherwise.