Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2 3

Author Topic: Don't stop me now (supersonic cart)  (Read 18990 times)

Larix

  • Bay Watcher
    • View Profile
Don't stop me now (supersonic cart)
« on: April 02, 2014, 10:19:12 am »

I talked about this in the "What's going on in your fort?" thread; the gist is that the 270000 is _not_ the fastest a minecart can go. It's "only" the fastest sustainable speed and the fastest speed reachable by acceleration.

_Some_ minecart collisions conserve momentum in such a way that momentum transferred from a heavier to a lighter cart can result in an increase of speed. Contrary to the real world, this is not the normal behaviour - banging a fast minecart into a standing cart will never result in a speed increase (this feature can even be used for speed regulation). Speed increases by minecart collision seem to require

- a frontal collision, where both momenta need to be in a certain range of each other (the less energetic cart still has to have about 1/3 of the more powerful cart's momentum i think)
- a lighter cart that weighs at least half as much as the cart pushing it (at the moment of collision, cargo weight is factored in).

Of course, the one thing i was curious about was if this'd allow me to exceed the claimed 270.000 speed limit. It does. As a matter of fact, even carts accelerated to above-terminal speeds will observe these rules, allowing them to pass the pulse on to lighter and lighter carts, resulting in very very silly speeds.

Since my two-tier collision system ended up working so well, i expanded it to three tiers:



And this is how it operates:
http://mkv25.net/dfma/movie-2652-supersoniccartfinalcut

The actual shot takes place at :55, you might want to fast-forward to it. The stuff before shows the operation.
You can see that the cart travels 170 tiles in the first 10 steps after the shot, so starting speed should be close to 17,5 tiles per step. (Final version, using a bloodthorn cart with three buckets for the initial impulse, transferring via oak and willow to adamantine.)

The snapshot was taken post-launch, all "left behind" carts can be seen, standing in their after-collision locations. The adamantine cart is goofing around at idiotic speeds a few screens to the west.

The main impulse comes from a bloodthorn minecart, loaded with two palm buckets, for a total weight of 54kg.
This cart smacks into a palm minecart (weight 27kg), boosting it to double the speed the bloodthorn cart had. The buckets will fly harmlessly out and can be collected and re-stashed. The palm cart collides with a willow cart (15kg), boosting it to 9/5 of the palm cart's, i.e. 18/5 of the bloodthorn cart's speed. The willow cart finally collides with an adamantine cart (8kg) and boosts it to 15/8 of its own, i.e. 27/4 the speed of the bloodthorn cart. The arithmetic is easy enough, but due to the rules laid out above, each collision must happen between carts within 1/2 weight of each other and similar speed. In the last collision, the adamantine minecart must be going at ~3 times terminal velocity, i.e. at a speed only reachable by two consecutive collisions. (I might be wrong and such collisions would work with less opposing momentum; i haven't tried this, and it could make multi-tier colliders much easier).

That's why i needed eight accelerator coils. In the southwestern pair, the bloodthorn and a palm minecart are accelerated before the doors are open and they're let out to collide. The accelerated palm minecart goes east into the north-south stretch. In the northwestern coil pair, a palm and a willow minecart are accelerated and collided. The willow cart goes into the north-south collision track and gets pushed by the aforementioned palm minecart. The willow cart now moves off, first north and then around the corner to the east. There, it collides with and pushes the adamantine minecart, which was accelerated and brought to sufficient pre-collision speed by two tiered collisions in the eastern half of the accelerator. The adamantine minecart zooms out straight east, where the now nonfunctional track loop can be seen. All collisions take place on consecutive steps:

0 - carts leave their ramp loops
1 - carts move into pre-collision positions
2 - all tier one collisions take place, pushed carts are all accelerated on this turn due to build order and move the five steps to the next pre-collision location
3 - all tier two collisions take place, the adamantine cart moves into its third-tier collision place, the willow cart (younger) tries to move into the place now occupied by the adamantine cart and stops. Momentum is transferred to the adamantine cart
4 - the adamantine cart acts on the momentum it received and moves off east, at a leisurely ~16,5 tiles per step.

I had first used the forty-tile track loop to try and measure minecart speed, but decided otherwise. Instead, i ordered a track dug and carved all around the embark area (a standard 4x4, 192x192 tiles of which the absolute border is not diggable, 756 tiles total track length). I put in a fake T link on every tenth tile for easier counting.

In this constellation, the adamantine minecart reaches a speed well in excess of 16 tiles per step initially. It slows down rapidly, however:
at above-terminal speeds, carts (maybe only on floor, but flight is hard to test at such speeds) are subject to immense friction. I kept track of tiles and steps, and the speed appears to go down by a full tile per step every ten turns: in the first run, with a slightly lighter bloodthorn cart, the adamantine cart moved 158 tiles in the first ten steps, 149 in the next ten, then 138, then 128, then 118 etc.

So my best approximation is that carts at beyond-terminal velocity experience a deceleration of 10000 per step. Other sources of friction (corners and plain track) _probably_ are factored in as well, but their effects are not easily measurable.

In the optimised run, the cart moved 162 tiles in the first ten steps and went a grand total of 1181 tiles in the first 100 steps. Taking into account that over that time, movement speed should have fallen by 1 000 000 due to the special friction, i arrive at an initial speed of 1 681 000, 6,225 times terminal velocity.

And how should we convert such speeds into real-world numbers? Well, taking ordinary fort-mode numbers would give hilariously low speeds for absolutely everything - a step is 1/1200 of a day in fortress mode, 72 seconds, and a tile is modelled as being three metres (i think) across. By this token, a living creature smashing into a wall at the breakneck speed of six metres in 72 seconds, 300 metres per hour, would blow apart from the collision. I think we need some better numbers: wikipedia cites terminal velocity for a falling human as 54m/s, while in DF, it's 2,7 tiles per step. I think it's justified to take 20m/s as reference frame for speed calculations (and only speed calculations!). Now, we got an initial speed of 16,81 tiles per step. Converting this, we find an initial speed of 336,2 m/s. Quite a lot, in fact, that number reminds me of something...

Ohoho:
http://en.wikipedia.org/wiki/Speed_of_sound#Practical_formula_for_dry_air
331,3 + 0,606 for every degree C above zero. Hmm, "underground" temperature is 15 Fahrenheit (PS above freezing, durrr stupid Fahrenheit scale with its weird null point), so that gives us 336,4 m/s. Soooo close. Assuming we lost speed through going around corners (seven total), that'd be another 7000 speed, i.e. 0,07 tiles per step ~ 1,4 m/s for a sum of 337,6. Supersonic minecart achieved. My work here is done.

Practical uses: none. You get a super-fast minecart, but that speed only lasts about 120 steps before it's eroded down to the intolerably sluggish terminal velocity. Every item (and creature, although i'm definitely not gonna try) in the carts will be flushed on the very first collision. You cannot shoot supersonic bullets like this.

Other things to possibly try: expand to the fourth tier just for the hell of it; test the flight capabilities of supercharged carts[1]; test "opposing momentum" rules in these collisions - if you don't need to build a full n-1-tier collider for every cart to _accept_ the full momentum, constructions wouldn't need to get quite so ludicrous if you went and modded material densities to allow a factor-100 speed crazifier.

[1] i'm damn sure the height limit is either "however many z-levels you have" or "tangens of ramp-launched angle of ascent *768" if you mod in z-levels like crazy. 768 is the maximum embark length. I reached 47 z with a simple one-tier collision boost and only didn't go higher because that was the embark border; it should have gone to about 55, i think. The challenge isn't getting the cart fast enough, it's building a launch with enough airspace. And no, you can't send a goblin into space, because the goblin will leave the cart in the first collision.

EDIT: switched from palm to oak for first transmitter, allowing an increase of the bloodthorn cart's weight from 54 to 56kg (just added another palm bucket): Distance travelled in 100 steps - 1244 tiles, over 17 tiles per step initially, definitely supersonic under the conversion used.
Two more tiers of collisions are imaginable - featherwood for an even lighter final cart, aluminium as primary pusher. To allow proper momentum transmission, the aluminium cart would need to be crashed into a pre-loaded bloodthorn cart, because it's more than twice as heavy as an empty bloodthorn cart. That'd reduce the effective push weight of the aluminium cart to 100kg; vs. a 4kg featherwood cart, this should allow a speed of 25x initial speed: theoretically up to 67,5 tiles per step (1350m/s).

For comparison, rollers are hampered by much lower starting speed, but they can still launch a metal cart 26 zlevels up without much effort, which calculates to around about terminal velocity:



In operation: http://mkv25.net/dfma/movie-2651-poweredflight

Trying it with metal carts this time, the chain is platinum,weighted (two schist, one limestone, Sa. 1707) - platinum, empty - lead - zinc. Weight factor just under six, the actual achieved speed was probably not over 280k, which was instantly dragged down to normal terminal by friction. Apex height 26 z, which is the norm for terminal-velocity flights. Well, terminal velocity without using ramps for acceleration, just 25 power. The zinc cart must be "pre-heated" with a loaded lead cart, or it won't go fast enough to catch the next train. The difference between empty lead and empty zinc is less than 60%. A minor benefit is that you don't need to reload carts after each shot, because all loaded-cart collisions happen on the first tier, at ordinary roller speed, thus no cart drops its stuff.

This setup, however, is of no practical use. You can reach the same speed with a simple impulse-ramp loop, and there's no weight limit on the carts you can accelerate with them.

EDIT: Postscriptum concerning the beyond-terminal-speed special friction.
I see no good way of testing this rigorously, but i found strong hints that this special friction applies whenever a cart moves at excessive speeds, both on the ground and when in flight. A single-collision propelled cart went at ~5 tiles/step before going over a ramp. As per usual, the ramp converted the "on floor" speed into diagonal speed with a horizontal component of a bit over three tiles/step and a vertical component of presumably just over 2 t/st.

The cart travelled ten tiles horizontally in the first three steps, but only 29 in the first full ten, 26 in the second ten, 28 in the third ten steps. Evidently, there are some strange carryover/rounding effects probably caused by the overall diagonal movement, but the basic restriction grinding down speeds to terminal velocity appears to apply in flight as well. It _also_ seems that the "speed limit" applies per movement axis, not to overall movement.

These are of course very poorly founded assumptions, since i had all of 30 steps of free flight to collect data from. Unfortunately, i'd need to accelerate the cart more for a better starting speed to base observations on, but that'd cut down the observable time so heavily the data'd be even less useful.
« Last Edit: April 05, 2014, 01:41:01 pm by Larix »
Logged

Talvieno

  • Bay Watcher
  • Hello, Death. How's life?
    • View Profile
Re: Don't stop me now (supersonic cart)
« Reply #1 on: April 02, 2014, 11:14:21 am »

I applaud your science. This is excellent work, and easily weaponizable, if a bit difficult to put together... +1 to you, dear sir.
Logged
Quote from: Mr Frog
Talvieno ... seems to be able to smash out novella-length tales on demand

Snaake

  • Bay Watcher
    • View Profile
Re: Don't stop me now (supersonic cart)
« Reply #2 on: April 02, 2014, 03:00:04 pm »

So you used bloodthorn-oak-willow-adamantine?
Hm, solid densities of 1250, 700, 390, 200. The bottom end could still have feather tree (100) added to it (maybe with 1 Urist of extra weight in it to be safe, assuming the willow one is empty), and more metal minecarts would allow you to add several steps to the top end, the major problem being the first two steps up, as the 2nd-lightest metal after adamantium is aluminum at 2700, and the 3rd-lightest is zinc at 7130 (lots of choices in the 7000s and 8000s though). Loading up the bloodthorn minecart to at least 1350-equivalent would solve the first of these, for the 2nd, you might be able to use another aluminum minecart with lots of extra weight. After zinc you could go to e.g. lead (cheap, nearly useless otherwise) at 11340 and finally platinum at 21400. If platinum feels too expensive, the next best option is rose gold, which is just as dense as gold but has 1/4th copper and is thus cheaper to buy/produce.

Besides modding in new materials, there's still a third option, artifact minecarts: my first thought was bone, but the bone template has a solid density of only 500. Several gems are in the 3000-or-just-under, so artifact gem carts are possible aluminum substitutes. However, they're also possible missing links to join aluminum and zinc/tin/the pewters (7280)! Pyrite is 4890, Zircons (6 types) are 4650, (Star)Rubies/(Star)Sapphires are 4005, Garnets (16 types) are 3900, Spinels (3 types) are 3820, Chrysoberyls (3 types) are 3730, and then there's some at 3550 and 3520, but that's already less than half of 7130 and thus not really all that useful, you could just as well use more heavily loaded aluminum.

Great science, I just can't help thinking about refinements/extensions to other people's methods. ;)


edit: added the final bit (lead+platinum or rose gold) to the first chapter, since it was meant to be there from the start but accidentally got edited out before I clicked post. Also spelling to artifact.
« Last Edit: April 02, 2014, 04:46:44 pm by Snaake »
Logged

itg

  • Bay Watcher
    • View Profile
Re: Don't stop me now (supersonic cart)
« Reply #3 on: April 02, 2014, 04:26:50 pm »

Now, in addition to the dwarven shotgun, we have a dwarven railgun. Well done!

Needless to say, you need to stick some goblins in front of that supersonic minecart. Set them up in a line and see how many goblins it takes to stop it.

Snaake

  • Bay Watcher
    • View Profile
Re: Don't stop me now (supersonic cart)
« Reply #4 on: April 02, 2014, 04:42:44 pm »

Now, in addition to the dwarven shotgun, we have a dwarven railgun. Well done!

Needless to say, you need to stick some goblins in front of that supersonic minecart. Set them up in a line and see how many goblins it takes to stop it.

The problem with this is that no matter how fast it's going, it's still going to be an adamantium or possibly feather tree wood minecart at the end of the accelerator. In other words, the momentum is constant (since that's how the speedup happens) or slightly decreasing (track friction) and I'm assuming that collision damage calculations to creatures are also are done off momentum (p=mv) and not kinetic energy (Ek=mv2/2). So you'd probably be better off launching platinum carts at terminal velocity (or use somewhat cheaper rose gold, which weighs the same as gold but is 3/4ths gold, 1/4th copper).

I also just noticed that I apparently left out the heavier metal "stages" in my previous post, gonna edit them in now.
Logged

itg

  • Bay Watcher
    • View Profile
Re: Don't stop me now (supersonic cart)
« Reply #5 on: April 02, 2014, 04:50:44 pm »

I wouldn't be at all surprised if a platinum minecart is more effective, but if you want effective, just go build some cage traps. In any case, we've already seen that DF physics don't perfectly correspond to real-world physics, so really anything could happen.

Larix

  • Bay Watcher
    • View Profile
Re: Don't stop me now (supersonic cart)
« Reply #6 on: April 02, 2014, 04:54:46 pm »

The general problem for longer weight chains is the fact that in above-derail speed collisions every cart will shoot out all its cargo. Extra cargo can only be used to bridge gaps or increase momentum in first collisions, it can not enable/improve second- and higher-tier collisions. Result is you can "sweeten the deal" by banging two maximum-practical weight carts together while one of them is loaded to double weight. Load is factored into momentum calculations, so that'd be a way to cook up a first push with double momentum. You'll have to re-load at least that cart on every shot.

The opposite trick - using load to bridge a weight gap - would allow adding an aluminium cart to the weight chain i used.

For maximum speed gain for a metal cart, the chain'd be double-weight platinum -> platinum -> lead -> zinc. Factor a bit over six.

The bloodthorn minecart contained three palm wood buckets - at 0,68 density and presumably 3000 size (?), that'd make 6,12 kg cargo for a total weight of 56,12 kg. It appears that you can really toe the line on the double-weight condition (although platinum vs. silver - weight factor over 2 but under 2,05 - gained no speed). The overall speed factor vs. an 8kg adamantine cart is thus the full x7.

Going all the way from aluminium to featherwood, as you suggest, could get a factor around 25. For more, density modding would be needed.

***
I wondered about the startup speeds i was working with and ran a quick gradual test of output speeds of impulse ramp loops - basic concept

Code: [Select]
..+#        ..║#
#╔╗.        #╔╗.
#AB#        #▲▲#     
#ab#(*n)    #╗╚#
.╚╝#        .╚╝#
.#..        .#..

A closed circuit with at least one impulse ramp. The cart gets pushed into the loop and eventually released by opening the door via lever. One ramp in a 2x3 loop is already enough to produce derail speed. I kept expanding the loop to the south, adding one more impulse ramp first on the right column (towards the door), then on the other side. I then let the cart run one hundred steps over a plain track with few corners - one corner every sixty steps roughly, to limit corner friction.

Results:
Code: [Select]
Ramps    Loop size    Tiles travelled in 100 steps
1/0          3x2               77
1/1          3x2               78
2/1          4x2              176
2/2          4x2              189
3/2          5x2              262
3/3          5x2              262
...
6/6          8x2              262
...
3/0          5x2              262

Yep, the design below results in the maximum speed a closed impulse ramp loop can achieve:

Code: [Select]
..+.
#╔╗.     ╔╗
.║▲#     ║╚
.║▲#     ║╚
.║▲#     ║╚
.╚╝#     ╚╝
.#..    track
       
constructions   

The cart takes a few dozen steps to rev up to full speed, but then keeps cycling at a rate of five steps per full rotation. Any more ramps (and walls) are unneeded, extra ramps or longer loops will not result in higher speed, they'll only extend rotation time.
P.S.: i strongly suspect that's already been done and observed. Consider it a public service announcement - want maximum ramped speed? Three impulse ramps are all you need.
« Last Edit: April 02, 2014, 05:00:18 pm by Larix »
Logged

PDF urist master

  • Bay Watcher
  • Born from cold iron
    • View Profile
Re: Don't stop me now (supersonic cart)
« Reply #7 on: April 02, 2014, 07:05:01 pm »

well this could be fun for adventurer style maps
Logged
We are not evil by choice, but evil by necessity.

Diggums

  • Escaped Lunatic
    • View Profile
Re: Don't stop me now (supersonic cart)
« Reply #8 on: April 03, 2014, 09:35:34 am »

Clearly you've got the basis for a Large Hadwarf Collider.
Just build another one going in the other direction to get two opposing adamantium carts on a head on collision at or very near the speed of Armok.

Just imagine what you might find?!
You might even stumble upon the elusive Urist-Kazarad particle!
Logged

Talvieno

  • Bay Watcher
  • Hello, Death. How's life?
    • View Profile
Re: Don't stop me now (supersonic cart)
« Reply #9 on: April 03, 2014, 03:40:03 pm »

Now there's a dwarfy megaproject. A real Dwarven Particle Collider.

There's an elusive bug, though, where items can get flung through single layers of walls... still trying to figure out what's up with that.
Logged
Quote from: Mr Frog
Talvieno ... seems to be able to smash out novella-length tales on demand

Larix

  • Bay Watcher
    • View Profile
Re: Don't stop me now (supersonic cart)
« Reply #10 on: April 03, 2014, 05:32:18 pm »

Of course, what you'll need to do is not collide the adamantine carts, but rather make them converge in the same step onto a common target; may be a bunny, or a kitten, or a kobold. Maybe, just maybe, the target will transcend.

In other news, i ran a bunch of tests and am by now pretty confident that i got the rules for an accelerating collision down:

1. the lighter (accelerated) cart must have at least 1/2 the weight of the accelerator. That wasn't too hard to work out, although there seems to be a bit of tolerance towards very slightly (perhaps up to 2,02 or so) higher factors.
2. the accelerated cart must have at least ~31% of the momentum of the pushing cart at the moment of collision. I tested this extensively with a ramp-accelerated cart going between 9/8 and 8/7 t/s vs. a cart propelled by highest-speed rollers (1/2 t/s) and switching carts around until i got the highest non-accelerating and the lowest accelerating percentage. A willow cart was not getting accelerated when hit with a cedar cart (30% by my calculation), a saguaro cart speeded up when hit with a towercap cart (31,5%).

So, an adamantine cart going 5,93 t/s should be fast enough to accept the full brunt of a willow cart going 9,5 t/s, and speed up to the theoretically possible 18,5 t/s. If it went at "only" 5,8 t/s, it would not get more speed than the willow cart delivered, it'd only go at a disappointing 9,4 t/s.

For the presented scheme that tries to get as close as possible to full doubled speed per progression step, this wouldn't cut out any of the required "pre-heating" cycles: for four tiers of collisions aiming at factor 12+ acceleration, you'll still need 16 feeder coils, for five tiers, you'll need 32 and so on. You'll have to mod material densities for the "and so on", but if you do that, the sky maximum embark length is the limit.

Looking at the behaviour of my carts, cart teleportation seems to be (mostly?) plugged. The carts observed doors and corners backed up by one-layer wall just fine.

PS: and this find finally, finally makes sense of a strange observation i made a while ago:
http://www.bay12forums.com/smf/index.php?topic=15096.msg4662893#msg4662893
That one was a momentum-conserving accelerating collision. And just for maximum absurdity, the "head-on" fraction of that collision was up vs. down, while one cart was also moving w-e and the other s-n. I had never managed to replicate this event until i ran into roller-powered derails when building my minecart age-sorter.
« Last Edit: April 03, 2014, 09:50:44 pm by Larix »
Logged

Urist Da Vinci

  • Bay Watcher
  • [NATURAL_SKILL: ENGINEER:4]
    • View Profile
Re: Don't stop me now (supersonic cart)
« Reply #11 on: April 03, 2014, 09:20:05 pm »

... and I'm assuming that collision damage calculations to creatures are also are done off momentum (p=mv) and not kinetic energy (Ek=mv2/2). So you'd probably be better off launching platinum carts at terminal velocity (or use somewhat cheaper rose gold, which weighs the same as gold but is 3/4ths gold, 1/4th copper).
...

Yep. DF handles damage through a momentum system, both for projectiles and for melee weapons. Low p, high KE projectiles tend to underperform.

Snaake

  • Bay Watcher
    • View Profile
Re: Don't stop me now (supersonic cart)
« Reply #12 on: April 04, 2014, 05:13:23 am »

... and I'm assuming that collision damage calculations to creatures are also are done off momentum (p=mv) and not kinetic energy (Ek=mv2/2). So you'd probably be better off launching platinum carts at terminal velocity (or use somewhat cheaper rose gold, which weighs the same as gold but is 3/4ths gold, 1/4th copper).
...

Yep. DF handles damage through a momentum system, both for projectiles and for melee weapons. Low p, high KE projectiles tend to underperform.

The point was that p is mostly constant (degrades slightly due to friction) while KE increases. In an ideal situation, the weight would drop to half each step while the speed doubles, if I've understood things correctly. This would lead to KE doubling each step.

Hm, so the absolute maximum, ignoring friction, would be a chain from double-weight platinum (which doesn't have to be reloaded since it's the first step) down the metals, using an artifact gem minecart for the missing link from zinc to aluminum, possibly also a just-over-2000 solid density artifact gem minecart (e.g. opal at 2150) to make the aluminum-heavy woods link, and all the way down to feather tree... gives an initial-to-final weight ratio of 42800/100 = 42.8. Wow.
Logged

gabandre

  • Bay Watcher
    • View Profile
Re: Don't stop me now (supersonic cart)
« Reply #13 on: April 04, 2014, 06:34:23 pm »

this is called super-collision. if you stack 7 balls each 7 times more massive than the one above, and drop them from a meter, the top one could reach earth escape velocity (if it survived the impact)
Logged

QuakeIV

  • Bay Watcher
  • Cant resist... must edit post.
    • View Profile
Re: Don't stop me now (supersonic cart)
« Reply #14 on: April 04, 2014, 07:52:07 pm »

This is spitballing because i havent used carts yet, but would the adamantine cart lose speed if it had magma dumped across its path and was then used to launch said magma?
Logged
GENERATION 9: The first time you see this, copy it into your sig on any forum and add 1 to the generation. Social experiment.
I wish my grass was emo, then it would cut itself.
Quote from: Jesus
Quote from: The Big Fat Carp
Jesus, you broke the site!
Sorry, Bro.
link to quote
Pages: [1] 2 3