Friday, January 1, 2016

Improving Bumping with Mass Matching: Part II - The Data!

Its the most wonderful time of the year, and the holiday season is a good time for contemplation on meaning and methods.  When I had first looked at the mass-match bumping data that I promised you in November, I found some interesting things.  This post took a little bit longer than I had anticipated because I wanted to present a plausible hypothesis for what is happening.  Now that this is done, I hope it will motivate you to explore the bump behavior in game further and hurl your adversaries across the grid with greater energy than ever before.  Enjoy the post, and please contact me with questions or corrections. 

In my last post, I proposed a way to improve how far you can bump objects of much different size by thinking a bit about impedance matching, or mass matching, to couple more energy to the bumped ship.  Once again, the on-grid motion mechanics of EVE are based on real physics models.  Understanding this physics deeply is a way to learn how to do things that were previously believed impossible.  I continued in this line of reasoning by applying mass matching to the analogy of a Newton's cradle device and applied it to ship collisions

Recall in the previous post that I showed that if we use an intermediate ship to match the masses between the bumping ship and target ship, that we can deliver more of the bump energy to the target.  That is, one ship bumping another with no intermediate will bump it with velocity, 
$\Large v_{2-ship}(t=0^+) = v_1 \frac{2 m_1}{m_1 + m_3}$  
Whereas, if an intermediate mass, m2, is present, the target ship bump velocity is,
$\Large v_{3-ship}(t=0^+) = v_1 \frac{4 m_1 m_2}{(m_1 + m_2)(m_2 + m_3)}$ 

To maximize the distance that we bump our target, I find the best mass for the intermediate ship is, $m_{2,optimal} = \sqrt{m_1 m_3}$ . The additional distance that you will bump the target in this case can be written as the ratio, 
$\LARGE \frac{x_{3-ship}(t \rightarrow \infty)}{x_{2-ship}(t \rightarrow \infty)} = \frac{2 (K + 1)}{(\sqrt{K} + 1)^2} $.
Readers will recall that K is the ratio of the bump target ship to the initial bumping ship, $K = m_3 / m_1$.  In the case where the square-root of K is much larger than 1, we can simply approximate this ratio as a factor of 2.  In most cases, however, the additional bump distance for capitals is 40% to 60%.  Based on this analysis, I setup an experiment where I bump a Thanatos with either a 500MN MWD Vagabond, or with an intermediate Orca bumped by the 500MN MWD Vagabond. On to the experimental results...

Data Doesn't Lie

I have shown how to calculate the bump distance of objects in EVE.  Lets see if bumping with an intermediate ship helped to improve the bump distance, and if so, by how much?

Figure 1 shows our comparison point with a traditional bump setup -- a 500MN MWD Vagabond hull bumping a stationary Thanatos.  Keep in mind that for each of these data points, I waited around 8 x τThanatos = 318 seconds, for the velocity of the bumped ship to drop below 0.1 m/sOf course, if I could accurately sample the ship velocity immediately after the bump, none of that would be necessary because I could compute the settle distance from τVBUMP, but I'm too lazy to setup OBSAs you can see in Figure 1, there is good agreement between data and theory.  

Figure 1: Data for the two-ship Carrier bumping is shown.  Time constant for Thanatos in this situation is, τThanatos = 39.7s.  Note that I make a small correction to the bump distance of the carrier by 500m (See Part I for notes on zero-meter radius), and I show quantized bump distance greater than 10,000 meters

Next, I positioned an unfitted Orca between 200m and 400m of the target Thanatos.  This distance should not be critical to the results as the only requirement is that the Orca does not have time to slow down after being bumped.  If the distance between the stationary Orca and the Thanatos is much smaller than τOrcaVMAX,Orca, which is approximately 3000m, you should get similar results.   I then bump the Orca into the Thanatos using the 500MN Vagabond, with varying velocities. 

Also, note that these results should not depend on the Orca pilot's skills.  This is because the mass is not affected by skills and the 'inertia' (or drag) doesn't matter because the distance that the intermediate ship moves during the collision is small. As you can see in the data below, at low bumping ship velocities, the data and theory agree again, increasing the capital bump distance by 40%.  Something is happening, however, at higher bump velocities that is not described in the intermediate bump mechanics above!   

Figure 2: Bump distance data using closest optimal intermediate ship mass (optimal = 266Mkg, m2,Orca = 250Mkg) is shown.  Theory predicts a straight line, however, above 2500m/s, a much larger bump distance is achieved.

What is happening here?!  

At 3000m/s and higher, the carrier is bumped an even greater distance!  Can a simple explanation capture what is going on here

Without understanding what the bump model is doing internally all we can do is test hypothesesLets start with simple hypothesis based on notions of limitations of the tick rate in the game, breaking up a complex bump interaction into individual events.  

The Double-Bump Hypothesis

Notice that the transition to this longer bump distance happens only at high velocity, above 2500m/s.  What if the bumping ship is hitting both the intermediate ship and the bump target before it is being slowed down by either of the collisions.  Then the intermediate bump ship would then hit the target ship, contributing energy from the bumping ship twice!  In this arrangement, the input energy is being double counted.*

If you derive the motion of the target ship after both bumps, you have to account for the fact that the target is already moving.  I derive the following mess for the target velocity after all of the bump events are complete.  Note that I call this time $t = o^{++}$ because it is after the target has been struck twice,  

$\Large v_3(t = 0^{++}) = v_1 \frac{2 m_1(m_1m_3 + m_1m_2 + 3m_2m_3 - m_2^2)}{(m_2 + m_3)(m_1 + m_3)(m_1+m_2)}$

Plotting this against our data, I see qualitative agreement in Figure 3, compared to this larger bump distance in the 3-ship case.  As with many models, it explains almost all of the data, but this does not mean that it is the only explanation, or that it is correct for all circumstances. 
Figure 3: The intermediate ship data, for higher strike velocities, shows first-order agreement with the double-bump hypothesis.

Although it is impossible to get definitive proof, it is plausible that EVE works in this way.  Also, consider this 'hack' from the developer's perspective -- If you needed to write a collision algorithm that worked for any number of ships, with synchronization between any number of clients, and limited to a finite time-step, you'd compartmentalize the ship interactions, too.  So, if my hypothesis is correct, CCP's engineering of this solution meets the challenging needs of the game, even if it does not replicate a perfectly adiabatic process in all situations.  

This presents an obvious and intriguing possibility.  If there is a way to double-count energy, is there a way to triple count it?  What about multiply the input energy by any arbitrary amount?  Can we deliver more energy to the target ship than we put into the collision event? 

Looking at the energy for each of the bump cases in Figure 4, you can see that the double-bump phenomenon is now quite efficient, delivering almost 80% of the energy to the target in spite of a 20x difference in the masses of these ships.  Under normal circumstances, less than 20% of the energy is delivered to the target from a 500MN bump stabber, so an almost 4X improvement is huge! 

Figure 4: At high velocities, the double-bump hypothesis appears to explain most of the energy transfer to the target capital ship.  A 4X improvement in bump distance energy is achieved over using the bumping ship alone. 

I have presented enough on this for one post, and given the community something to ponder and experiment with.  In my view, the next step is to study the double-bump regimen in greater detail, reoptimizing the intermediate bump ship mass as well as experiment with ways to further increase the number of double-bump events.  Is the order of the strikes from the intermediate ship and the bumping ship important?

Can we make triple-bump events?  More?  

The more we study the system, the more questions arise. 

Applications of Mass-matching Bump Technique

In recent history, CCP introduced a new rig called a Higgs anchor.  Whatever CCP's intentions for this module, at first glance it would appear that this rig has made bumping more challenging because it doubles the mass of the target ship.  With mass matching techniques, this effect can be mitigated.  The rig bonuses have quite a profound effect on the ship motion parameters:

Bonuses for the Higgs Anchor Rigs:
  • Mass +100%
  • Inertia -55%
  • Velocity -75%
Looking more closely, the consequences of these parameters is that bumped distance will be reduced significantly for smaller ships when they have this rig fitted.  Figure 5 shows how a Higgs rig will affect the target bump distance for selected bumping ship configurations.  Based on my calculation, the distance ratio is,

$\Large \frac{x(t \rightarrow \infty)_{Higgs}}{x(t \rightarrow \infty)_{No \: Higgs}} = 0.45 \frac{m_1 + 2m_2}{m_1 + m_2}$

When the target mass is much larger than the bumping ship, the bump distance is almost unchanged.  So, capital ship bump distance will not be affected much by Higgs anchors, because the mass is already so large that energy transfer can't be made much worse.  Smaller ships, on the other hand, such as cruiser and BS hulls can try to reduce how far they get bumped. 

Figure 5: Bump distance ratio for ships with a Higgs Anchor rig fitted.  As you can see, capital ship bump distances should not be affected much (103 Mkg) but smaller ships bump distance will be significantly shorter. 
With the information in my last two blog posts, mass matching techniques give players an option to counter the effects of mass in the game.  Even more significant is the double-bump phenomenon which can significantly extend the bump distance for massive targets.  Stationary mining ships not paying attention to an mass matching ship slipping up along side them deserve to be hurled across space like a pierogi at a pierogi-tossing competition.  

Appendix: More intermediate ships

The case when we have a large number of intermediate ships beckons to us with the possibility of perfectly efficient as an energy transfer between bumper and bumpee.  Of course, in game it would be very difficult to arrange this in an adversarial situation but it is an interesting case to describe formally.  

Start by imagining that you have N total ships.  Let mi be the mass of i-th ship in the chain.  The first ship, m1, is the bumping ship.  The final ship, with mass mN, is the target ship to be bumped.  The N-2 intermediate ships are arranged in a line, and the target ship is placed at the end of this sequence of ships, i.e. m2, m3, ..., mN.  The bumping ship strikes m2 transferring energy to start the domino motion of Newton's cradle elements which will ultimately strike the target. 

Assuming that the striking ship is not triggering any double-bump effects, as we saw above, the first bump triggers each ship in the sequence to strike the next ship.  I can write the velocity of the next element i+1, based on the velocity of the previous ship and the masses,

$\Large v_{i+1} = \frac{2 m_i v_i}{m_i + m_{i+1}}$

It is easy to generalize this to the solve for the velocity of the final ship, by constructing the product of these terms, as,

$\Large v_{N} = v_1 \left ( \prod\limits_{i=1}^{N-1} \frac{2 m_i }{m_i + m_{i+1}} \right  )$

The obvious question I ask next is, what is the optimal tapering of the masses in the sequence {2, 3, ..., N-1} to achieve maximal energy transfer to the target?  

The equation below fits the bill and contains a trick.  It expresses the mass of the i-th ship as an exponent of the ratio of the target ship to the bumping ship, and then scaling along the array of ships to the α-th rootYou may find this to be of interest if you attempt this derivation yourself, 

$\Large m_i = m_1 K^{(\frac{i-1}{N-1})^\alpha}$

Good luck and let me know what you find.  I hope you have found this post enlightening and good luck with your bumping activities.


"If you have two loaves of bread, keep one to feed the body,
sell the other to buy Drum & Bass tracks to feed the soul."
                                                     - Russian Proverb

* Of course, you could also try the assumption that the bumping ship hits the intermediate ship, and then the intermediate ship strikes the target, followed by the bumping ship striking the target.  Order matters in this case, because each step will create different initial conditions for the bumping of the target ship. 


  1. By far the best graph porn posted! Smack it, hit it, bump it.

    1. Max!
      Its good to hear from you, and I'm glad you like the post. BTW, do you remember the name of the pilots that we were talking to about this effect at lunch in Vegas?

      S. Santorine

  2. this matches my in-game experience almost perfectly, though, I would add that in the case of which target strikes first is it likely the game doesent know based on the server tic and they are treated as one? would that break the model or allow for the increased efficiency? Now time for command destroyers! (i am currently using two clients to jump a spooling CD that lands and then jumps off with undock link ships right when it lands, is this broken? what other interesting things have you thought about them?

    1. Thanks for reading and for your note! I agree that once the bumping ship is going fast enough, it is possible that the engine doesn't know who it hit first. There is always room for more experiments on this!

      As for Command Destroyers, I need to do more experiments with them to know what is possible. Since the spool up time on a CD MJD is much shorter than the time required to get a 500MN MWD Vaga to strike a target, it is likely that these will be the new standard for getting large ships away from docking radius.

      Incidentally, can you use the CD MJD in range of the docking radius? Or is it like a smartbomb that wont activate inside a certain gate/dock radius?

      S. Santorine

  3. Im curious if you have since messed around with using an MJD to bump with.

    Im asking because ive been told be people that claim to have witnessed someone using something like a battleship with an MJD to bump a Freighter or Jump Freighter great distances. They say its because when you time your speed vs distance perfectly and land inside the vector of the other ship and then both ships are hurled away from each other at great speed.

    Do you know anything about this or have any insight as to if this sort of bumping is mechanically possible?

    1. Faylee,

      Thank you for your readership and your question.

      I am not specifically familiar with MJD assisted bumping because I have only ever used it for escape. Can you describe the situation in more detail? Is the microjump happening first and then while you are slowing down at your destination, you bump into the target? If so, I have not studied this type of bump. But you raise a good question, which is, what is the on-grid velocity when you come out of warp or microjump? And can it be used for bumping? I do not have the answers to these questions. If you have a video of this technique being used, I think I, and the community would be interested in seeing it!


      S. Santorine

    2. So what was described to me was you take your max velocity and the spool up time for your MJD to determine your distance you need to be from target. The MJD propels your ship 100km so lets take my alt's bump machariel and do the math.

      Velocity w/ micro w/o heat: 2179.62 m/s
      Spool-up time of MJD (effected by skills): 9.6 seconds

      So that means that at 2180 m/s (rounded up) my ship will go 20,928 meters before the MJD kicks off and I go hurling 100km in the direction of my ship.

      Basically this just means that you have to time the speed and moment you activate the MJD perfectly according to your distance from the target.

      From what I remember, the velocity the moment you come out of your MJD is the velocity in which you entered it. Yes it can be used for bumping and I DO have a video for you!

      So this video shows the space pancake bumping a tornado with the MJD, but doesn't seem to really fling the tornado like I've been told can happen. I don't know if you managed to pull off the same technique with something like a Panther or Machariel vs a Jump Freighter if it would have better results than in the video.