Have a peek into the developers mind and let us know your thoughts.
Post Reply
User avatar
Site Admin
Posts: 98
Joined: 13 Nov 2017, 15:34

Log #10: Armor & damage (20/11/2018)

Post by MM_Needo » 20 Nov 2018, 12:16

By HappyNeedo

As many of you know we’re working on the lootification patch (v.0.3.0) right now. This upcoming patch will introduce a bunch of new resources which will be needed to construct the already existing parts, the new parts and the augmentations we’re going to add. While many of the new resources will be obtainable through minerals found in the world (e.g. like finding an iron ore in the mines), some of them will only be obtainable as “drops” from killing enemies. Evidently, the player will have to seek out encounters with enemies to get the needed resources to progress in the game – meaning a lot more “combat gameplay”. Because of this, we knew we had to rework all the damage and armor values of the enemies and blocks/parts, since they – frankly – were kind of random before.

How Mechanic Miner calculates damage taken
First, let me explain how damage is calculated in Mechanic Miner. Every part/block/enemy (and even John) has 1 life and a unique armor value. When a part/block/enemy or John takes a hit, the damage taken will be calculated like this:

Hit / Armor = Damage taken

Let’s do an example. In the next patch, a Cave Squid projectile will do 0.2 damage and it’s hitting a plank which will have 0.74 armor. Therefore:

0.2 / 0.74 = 0.27 Damage taken

In the end, the planks will take 0.27 damage, meaning 4 Cave Squid projectiles will be enough to destroy the plank completely. Of course, some parts/blocks are obviously stronger than other, like the Storage Safe which will have 7.05 armor, meaning it will need to be hit by 36 Cave Squid projectiles before it’s destroyed.

Choosing the right values:
Obviously, the big question is: How do you pick the right armor and damage value of anything? The answer is Excel sheets… big Excel sheets!
SS1.png (37.1 KiB) Viewed 518 times
On the screenshot above, you can see a very small snippet of the sheet used to calculate and tweak anything that has to do with armor and damage. I really wanted to show you the full sheet, but unfortunately it contains a lot of secrets that I can’t reveal yet. What you see on this snippet is the different armor of some of the parts, and the corresponding damage taken from different “tier attacks” (more on that later).

The general idea with the new armor/damage setup is to make combat more meaningful. Currently, when encountering enemies, it’s usually very one-sided, meaning you will either 2-shot each mob or get completely – and sometimes instantly - overrun by enemies. We aim to change that in the lootification patch by: 1) increasing armor on many things (including blocks/parts) to make each combat last longer, 2) adding a progression system to the armor/damage of enemies and 3) Giving the player more options when it comes to creating machinery or contraptions with weapons. I’ll only be talking about the two first solutions in this Developer log. Every value/algorithm/function or number I’ll mention in the following, will be from the upcoming v.0.3.0 patch.

Damage on enemies and ranged weapons
The damage output of any enemy attack is a calculated from a core value allocated in 5 tiers (like seen on the sheet snippet above). Thus, the Cave Squids ranged attack is a tier 1 attack that does 0.2 damage, but its melee attack is a tier 3 attack that does 0.6 damage. Every enemy attack in the game is given a specific “damage tier”. Furthermore, the enemies attack damage is increased when moving further down a mine/cave. E.g. the Cave Squids melee attack will do 0.96 damage on the 6. level of a mine/cave.

As you can see on the previous snippet, the damage calculations for weapons are also part of this sheet. That’s because - in patch 0.3.0 - ranged weapons will be able to hit parts and blocks! This is calculated the exact same way – e.g. The ballista does 2.0 damage per arrow and the Engine has 3.42 armor, meaning the arrow will do:

2.0 / 3.42 = 0.58 Damage

This will destroy the engine in 2 shots (0,58 damage * 2 shots > 1 hp). Unlike the enemy’s attack damage, the weapons attack damage will not increase when delving further down the mines/caves.

Armor on enemies
The enemies armor system functions almost exactly like the damage tiers. There’re 5 tiers plus an additional boss tier that is noticeably higher than the other tiers. Like damage, the armor of enemies also increases as you delve further down the mines/caves. E.g. the Cave Squid has 3.6 armor on the first level of a mine/cave, but 6.6 amour on the 6. level of a mine/cave. Thus, enemies in higher levels are much more durable:

A Cave Squid on the first level will die from 2 Ballista arrows:

2.0 / 3.6 = 0.55 damage and 0.55 damage * 2 arrows > 1 hp.

While a Cave Squid on the 6. level needs 4 arrows from a Ballista:

2.0 / 6.6 = 0.30 damage and 0.30 damage * 4 arrows > 1 hp.

Armor on parts/blocks
The damage tiers from weapons, and the armor/damage values from the enemies, are quite simple and subjectively tweaked to fit to what makes sense in-game. The armor of parts/blocks (and weapons) are much more complicated. As you might have noted in the sheet snippet above, each part has a very specific armor value. This value is calculated from an algorithm that takes different aspects of the part/block into consideration:

The resources used: Better quality resources will result in higher armor on the part/block. E.g. the wood has a “multiplier” of 1, but iron has a “multiplier” of 1.5.
SS2.png (6.37 KiB) Viewed 518 times
The size: Bigger parts will be more durable than smaller parts. Meaning a Storage Box which has a size of 9 blocks (3x3) will have a higher size “multiplier” than a Spike that has the size of 1 block.
The conceivable durability: This “multiplier” is of a more subjective matter, but follows the logic that some parts/blocks are obviously weaker than others. E.g. the pipe and plate are both the same size and uses the same resource (iron), but pipe should obviously be weaker than plate.
SS3.png (3.69 KiB) Viewed 518 times
Augmentations: A few of the upcoming augmentations will also change the armor of the part/block.

The algorithm that calculates a part/blocks armor value looks like this:

((Main Resource + (Size * (Main Resource used * 0.05)) + Secondary resources) * Conceivable durability) + Augmentations = Armor

Here’s an example with the Storage Box which has a size of 9, the main resource is Wood (has a multiplier of 1), the secondary resource is Copper (has a multiplier on 1.25), the conceivable durability is 0.55 (meaning “fragile”) and it has no augmentations:

((1 + (9 * (1 * 0.05)) + 1.25) * 0.55) + 0 = 1.485 armor

Using this algorithm, there will be a somewhat logical relation between the armor values of the different parts depending on size and resource. Bigger parts with better quality resources are just more durable.

Even though you can spend hours making beautiful Excel sheets that will tell you how a Wrot can destroy a door on 4 hits, that a bat will be shredded to pieces by a Sawblade in 0.25 sec. or that the toilets armor is 10.8, these values might feel very wrong when you actually play the game.

Currently we’re testing how the new armor/damage values feels in-game. There’s a lot of new (and unrevealed) stuff coming in patch 0.3.0 which will have a notable impact on combat, construction and exploring – this just means even more testing. Hopefully by the time v.0.3.0 is released, the armor/damage values will be somewhat decent/playable, but we hope our alpha testers will help us make it perfect.

v.0.3.0 release
According to our roadmap the lootification patch (v.0.3.0) should have been done before the end of October, but obviously it’s not. We’ve been heavily delayed duo to work on the multiplayer version, also the lootification patch brought a lot more implications than we originally anticipated. Currently we’re working full speed on the lootification patch and we hope to have it ready before the end of this month or start of December.
The lootification patch will bring a huge amount of new content, so naturally we’re very excited about the whole thing and we hope it will be well-received by our community!

Feel free to comment in the section below!

Community Manager on Team Mechanic Miner

Post Reply