Please make trains able to run over evolved aliens

Place to discuss the game balance, recipes, health, enemies mining etc.
porcupine
Long Handed Inserter
Long Handed Inserter
Posts: 66
Joined: Sat Oct 15, 2016 4:58 am
Contact:

Re: Please make trains able to run over evolved aliens

Post by porcupine »

sathill wrote: I need that info badly. I love democracy.
This made me laugh, love it, for some reason all I can picture is team America world police.

User avatar
Nosferatu
Fast Inserter
Fast Inserter
Posts: 157
Joined: Fri Jan 20, 2017 4:48 pm
Contact:

Re: Please make trains able to run over evolved aliens

Post by Nosferatu »

*megabump*

So from this thread and even older ones I got the impression that my L4C8 Trains should be able to survive even when operated "behind enemy lines".
Now that I am getting deeper and deeper into enemy territory I start loosing more and more trains to biters.

Initially I thought that my trains were caught in a moment where they were not at full speed.
So i ran some tests: Even an insanely long train can NOT plow through groups of evolved aliens.

I think this one was stopped by the ~third alien...
Screenshot_20220605_151350.png
Screenshot_20220605_151350.png (3.55 MiB) Viewed 593 times
My L4C8 trains slow down from 298 to 100 in speed after the first hit. So i guess even small groups of aliens can easily stop them..

Where trains nerfed at some point in the past or was my assumption always wrong?
Can we please make trains able to run over evolved aliens? (Yes artillery was introduced but that's kill them all playstyle...)

PS: The attached save game is my Alien kill test track
Attachments
CanMyTrainRunOverAliens2.zip
(2.49 MiB) Downloaded 598 times

FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 1198
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Please make trains able to run over evolved aliens

Post by FuryoftheStars »

Yeah, I gotta +1 this myself. It gets annoying.

I think each of the ideas suggested in this sound good to me: pushing them aside, giving them more “killing” power, and some more weapons options.

Trains feel absurdly light right now, but maybe that’s just a result of size scaling (I mean, a rl loco is many times the size of the ones in game). There is an energy_per_hit_point property which controls damage dealt in collisions. Maybe this should be tweaked?

As for weapons, I think a wagon with a short ranged mg would be good. I feel like even a range of 10 would work: short enough any worm can hit it to counter creep, but long enough a car immediately behind the lead loco can reach whatever is in front of it.

Pi-C
Smart Inserter
Smart Inserter
Posts: 1274
Joined: Sun Oct 14, 2018 8:13 am
Contact:

Re: Please make trains able to run over evolved aliens

Post by Pi-C »

Nosferatu wrote:
Fri Jun 10, 2022 1:12 pm
PS: The attached save game is my Alien kill test track
Thanks for the save file! Loading it, I've found a bug in the mod I'm currently working on. However, due to the bug I couldn't try out crashing the train through the biters yet … :mrgreen:
A good mod deserves a good changelog. Here's a tutorial (WIP) about Factorio's way too strict changelog syntax!

lyvgbfh
Fast Inserter
Fast Inserter
Posts: 102
Joined: Fri Jul 10, 2020 6:48 pm
Contact:

Re: Please make trains able to run over evolved aliens

Post by lyvgbfh »

Thanks for the test save, that was quite a bit of fun. I made a mod that tweaks the damage and slowdown on impact, the code is below. I also added a slight bit of knockback so you're not as likely to end up grinding your locomotive into the side of a stubborn biter. You're welcome to download it and experiment with edits :)

Code:

Code: Select all

for _, cat in pairs({"locomotive", "cargo-wagon", "fluid-wagon", "artillery-wagon"}) do
  for _, proto in pairs(data.raw[cat]) do
    proto.energy_per_hit_point = proto.energy_per_hit_point / 5
    if not proto.crash_trigger then
      proto.crash_trigger = {{
        type = "push-back",
        distance = 2
      }}
    else
      table.insert(proto.crash_trigger, 1, {
        type = "push-back",
        distance = 2
      })
    end
  end
end

User avatar
Nosferatu
Fast Inserter
Fast Inserter
Posts: 157
Joined: Fri Jan 20, 2017 4:48 pm
Contact:

Re: Please make trains able to run over evolved aliens

Post by Nosferatu »

lyvgbfh wrote:
Sat Jun 11, 2022 12:48 am
You're welcome to download it and experiment with edits :)
My first instinct after reading your post was I want more push back and less damage.
But no - trains are deadly with or without your mod so it doesn't change much.
I tested it and I will use it as it is. Thanks.

lyvgbfh
Fast Inserter
Fast Inserter
Posts: 102
Joined: Fri Jul 10, 2020 6:48 pm
Contact:

Re: Please make trains able to run over evolved aliens

Post by lyvgbfh »

Nosferatu wrote:
Sun Jun 12, 2022 6:20 pm
My first instinct after reading your post was I want more push back and less damage.
Yeah that's what I had originally tried, however the pushback doesn't interpolate their position so it looks really jarring to have biters teleport back when the train nudges them.

aka13
Filter Inserter
Filter Inserter
Posts: 367
Joined: Sun Sep 29, 2013 1:18 pm
Contact:

Re: Please make trains able to run over evolved aliens

Post by aka13 »

After all these years, I agree - I do not expand beyond the factorys wall-of-death. There is no way to make sure train does not stop, if it is not behind a wall.
Pony/Furfag avatar? Opinion discarded.

mudcrabempire
Fast Inserter
Fast Inserter
Posts: 109
Joined: Sun Oct 28, 2018 2:44 pm
Contact:

Re: Please make trains able to run over evolved aliens

Post by mudcrabempire »

I assume train push-back is not implemented because it is not trivial to implement properly and the effort isn't worth it.

Is there a documentation of the impact mechanism somewhere? I would have sworn to have seen it once but searching through the wiki i couldn't find it. As long as the exact mechanism is unknown it is difficult to make "balancing suggestions". At best i could come up with my own suggestion for a mechanism but obviously that mechanism would itself require carefull balancing. The impact mechanism itself is relatively easy, i'm confident i could produce a decent one (i'm not writing it now because i'm not sure if that would be appropriate for the "Balancing" directory). The actual balancing is hard work that cannot be done without extensive testing...

PS: Is the impact damage mechanism easily moddable or would that require access to the source (or a suitably clever workaround)?

My thoughts towards solving the problem are basically:
-Stick to the impact mechanism, no additional weapons on trains
-Ensure that the impact mechanism is good
-Adjust numbers on trains/wagons if necessary
-If adjusting the basic trains/wagons can't solve the problem, add a Train_Mk2 with improved stats or use stat-improving research -> Then Mk1 trains only need to be good (and expensive) enough for small/medium biters and some big ones while improved trains can be used to routinely deal with larger amounts of big/behemot biters (i tend to using a second type of train)

FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 1198
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Please make trains able to run over evolved aliens

Post by FuryoftheStars »

mudcrabempire wrote:
Sun Jun 19, 2022 7:48 pm
Is there a documentation of the impact mechanism somewhere? […]

PS: Is the impact damage mechanism easily moddable or would that require access to the source (or a suitably clever workaround)?
Are you talking about this? https://wiki.factorio.com/Prototype/Veh ... _hit_point

I think that’s the closest we have access to at this time (that I’m aware of).

Hornwitser
Fast Inserter
Fast Inserter
Posts: 163
Joined: Fri Oct 05, 2018 4:34 pm
Contact:

Re: Please make trains able to run over evolved aliens

Post by Hornwitser »

I did some simple tests ramming a single locomotive and a double locomotive at different speeds into a behemoth biter. The damage dealt using 2 locomotives was exactly 2x the damage dealt using one locomotive, and damage/speed was very close to 1.852 hit/kmh for 100, 259.2 and 298.1 km/h. (Fun sidenote if I convert the units to hitpoints / speed in tiles per tick that works out to almost precisely 400 for one locomotive.)

In other words one locomotive at max speed does 552 units of damage to one biter and consumes all its speed. 10 locomotives would do 5520 units of damage before ending up at a standstill. And 10 behemoth biters needs 55 locomotives to ram through while loosing all of their speed.

mudcrabempire
Fast Inserter
Fast Inserter
Posts: 109
Joined: Sun Oct 28, 2018 2:44 pm
Contact:

Re: Please make trains able to run over evolved aliens

Post by mudcrabempire »

Ok, here's my data so far, more tests depend on my mood.

velocity change of 1 locomotive hitting (killing) a medium biter (75hp)
column 1: velocity before impact , column 2: velocity after impact
L1m.txt

velocity change of 2 locomotives hitting (killing) a medium biter (75hp)
column 1: velocity before impact , column 2: velocity after impact
L2m.txt

velocity change of X locomotives hitting (killing) a medium biter (75hp)
starting velocity = 298.1
column 1: #locomotives , column 2: velocity after impact
LXm.txt

velocity change of X locomotives hitting (killing) a big biter (375hp)
starting velocity = 298.1
column 1: #locomotives , column 2: velocity after impact
LXg.txt

velocity change of different vehicles (car, tank, 1 locomotive), different conditions and extra information
column 1: velocity before impact , column 2: velocity after impact (0 means the target wasn't killed) , column 3: damage to target , column 4: energy_per_damage (from data/base/entity/prototypes) , column 5: weight (from same)
E.txt


Notably from the last entry, if one calculates:
energy = damage * energy_per_damage
and normalizes energy by weight
energy_norm = energy / weight
and only looks at the data where the target wasn't killed plotting energy_norm versus velocity_before_impact
-> car and tank data gives nearly identical curves where to good approximation
energy_norm = 2.14e-5 * velocity_before_impact^2
-> locomotive gives different curve where to good approximation
energy_norm = 4.59e-3 * velocity_before_impact

Note the different scaling of the energy with velocity, train energy scales linearly with it's velocity while car and tank energy scales with their velocity squared. Assuming that after an impact the energy is reduced according to damage dealt and velocity is adapted accordingly this means trains loose an equal amount of velocity each time they kill a certain type of biter (not perfectly comfirmed by data, but decent), while cars and tanks should loose velocity proportional to 1/sqrt(velocity) (if i calculated right; not tested so far).

Assuming i'm decently close to the truth with those results i'd love to know the reasons that lead to this difference in behavior.

Generally speaking i support neither the difference in energy<->velocity behavior between trains and cars/tanks (if it is true) nor the different energy_per_damage values for the vehicles. The former primarily because consistency, the latter because it seems like a reduntant use of parameters (one should be able to achieve the same effect without "energy_per_damage" by decently rebalancing the other parameters of the vehicles).

Speaking of rebalancing the parameters: Improving train performance against biters mainly ends up with the previously-said conclusion: Make trains longer. Because longer trains have more mass -> more energy -> more capacity for damage. From the parameter side one can reduce the need for ridiculously long trains by simply making trains (and wagons) heavier. This requires increasing energy consumption (and therefore fuel consumption) to compensate the otherwise reduced acceleration.
This means, there is a limit to how far one can go without reaching forbiddenly high (especially for early-game) fuel-consumption rates. Combining that with me not liking the idea of a cheap early-game technology easily capable of slauthering masses of behemoth biters i would (as previously said) keep trains as they are and introduce Mk2_Locomotives (locked behind appropriately high/expensive technology). Mk2_Locomotives get drastically increased weight and fuel consumption (maybe better fuel efficiency?) and probably more fuel slots to ensure they can travel long distances without running out of fuel (and more hp, just to round it off). They are also expensive.
Then one can in the late-game research Mk2_Locomotives and use them for all the dangerous long-distance lines through behemoth territory. Maybe one wants to use several of those monster engines to ensure save passage, but if they have good enough mass one does not need to use ridiculously appropriately long trains. Bonus points for the fact that heavy locomotives with more power are much better for pulling artillery wagons and not taking forever to accelerate. No reason not to keep using basic locomotives for less endangered transport lines.
Attachments
LXm.txt
(88 Bytes) Downloaded 16 times
LXg.txt
(98 Bytes) Downloaded 18 times
L2m.txt
(187 Bytes) Downloaded 19 times
L1m.txt
(133 Bytes) Downloaded 19 times
E.txt
(531 Bytes) Downloaded 3 times

User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1358
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: Please make trains able to run over evolved aliens

Post by ptx0 »

add an artillery wagon to the end of your train and it'll increase the mass and stopping distance but i'm not sure how the DPS changes.

Hornwitser
Fast Inserter
Fast Inserter
Posts: 163
Joined: Fri Oct 05, 2018 4:34 pm
Contact:

Re: Please make trains able to run over evolved aliens

Post by Hornwitser »

ptx0 wrote:
Mon Jun 20, 2022 8:09 pm
add an artillery wagon to the end of your train and it'll increase the mass and stopping distance but i'm not sure how the DPS changes.
I tested that and adding one artillery wagon it increased the damage equivalent to what adding 2 locomotives do. Which makes sense since an artillery wagon weighs 4000 and a locomotive weighs 2000.

User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1358
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: Please make trains able to run over evolved aliens

Post by ptx0 »

Hornwitser wrote:
Mon Jun 20, 2022 11:57 pm
ptx0 wrote:
Mon Jun 20, 2022 8:09 pm
add an artillery wagon to the end of your train and it'll increase the mass and stopping distance but i'm not sure how the DPS changes.
I tested that and adding one artillery wagon it increased the damage equivalent to what adding 2 locomotives do. Which makes sense since an artillery wagon weighs 4000 and a locomotive weighs 2000.
interesting. so if they gave us a battering ram that affected acceleration but also provided killing power...

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12717
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Please make trains able to run over evolved aliens

Post by ssilk »

This discussion reminds me to the discovery of the laws of gravity. 8-)
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Post Reply

Return to “Balancing”