More actions
m Djavin novienta moved page User:Mattikus pathfinder/Warp Times to Warp time |
Minor revisions. |
||
| Line 1: | Line 1: | ||
This | {{hatnote|This article details warp travel. For information about sub-warp speeds, see [[Acceleration]].}} | ||
'''Warp''' is the primary method of faster-than-light travel utilized by ships in New Eden. Warp travel is limited to transit between locations within the same solar system, and can only be initiated to locations at least 150 km away. | |||
== | == Stages of warp == | ||
Warp travel consists of three stages: | |||
Warp consists of | |||
# Acceleration | # Acceleration | ||
# Cruising | # Cruising | ||
# Deceleration | # Deceleration | ||
Calculating the time taken to warp is done by calculating the time spent in each of these phases and adding them together. This requires calculating acceleration and deceleration time first, followed by cruise time. | It is possible to work out how long it should take for a ship to complete '''warp''' (once it enters warp) based on formulae released by CCP<ref>https://community.eveonline.com/news/dev-blogs/warp-drive-active</ref>. Calculating the time taken to warp is done by calculating the time spent in each of these phases and adding them together. This requires calculating acceleration and deceleration time first, followed by cruise time. This calculation does not include the time spent entering warp (accelerating to 75% of maximum velocity), or the time spent slowing after regaining control of the ship. | ||
Total time in warp is given by: | Total time in warp is given by: | ||
| Line 16: | Line 15: | ||
<math>\pagecolor{Black}\color{White}t_{total} = t_{accel} + t_{decel} + t_{cruise}</math> | <math>\pagecolor{Black}\color{White}t_{total} = t_{accel} + t_{decel} + t_{cruise}</math> | ||
=Long warps= | ==Long warps== | ||
A "long warp" is any warp where there is time to reach maximum warp speed before having to start decelerating. | A "long warp" is any warp where there is time to reach maximum warp speed before having to start decelerating. | ||
==Acceleration== | ===Acceleration=== | ||
===The formulae=== | ====The formulae==== | ||
CCP provided formulae for both distance traveled and velocity reached after ''t'' seconds of acceleration. If ''d'' is distance in meters, ''v'' is speed in meters per second, ''k'' | CCP provided formulae for both distance traveled and velocity reached after ''t'' seconds of acceleration. If ''d'' is distance in meters, ''v'' is speed in meters per second, ''k'' functions as a constant defined as the warp speed (in AU/s) and a = 149,597,870,700 meters (1 AU). | ||
<math>\pagecolor{Black}\color{White} | <math>\pagecolor{Black}\color{White} | ||
| Line 32: | Line 31: | ||
</math> | </math> | ||
To calculate distance traveled while accelerating | ;Distance | ||
To calculate distance traveled while accelerating: | |||
<math>\pagecolor{Black}\color{White} | <math>\pagecolor{Black}\color{White} | ||
| Line 44: | Line 44: | ||
</math> | </math> | ||
The distance covered while accelerating to v<sub>warp</sub> is | The distance covered while accelerating to ''v<sub>warp</sub>'' is: | ||
<math>\pagecolor{Black}\color{White} | <math>\pagecolor{Black}\color{White} | ||
| Line 56: | Line 56: | ||
This means that every ship covers exactly 1 AU while accelerating to its maximum warp speed. | This means that every ship covers exactly 1 AU while accelerating to its maximum warp speed. | ||
;Time | |||
To calculate the time spent accelerating to warp speed, the equation for ''v'' should be rearranged to be in terms of ''t'', and then solved for the case of ''v'' being equal to the warp speed (in m/s) | To calculate the time spent accelerating to warp speed, the equation for ''v'' should be rearranged to be in terms of ''t'', and then solved for the case of ''v'' being equal to the warp speed (in m/s) | ||
| Line 79: | Line 80: | ||
This formula can be simplified further to <math>\pagecolor{Black}\color{White}\frac{\ln{a}}{k}</math>, although you may choose not to do this for implementation reasons. | This formula can be simplified further to <math>\pagecolor{Black}\color{White}\frac{\ln{a}}{k}</math>, although you may choose not to do this for implementation reasons. | ||
==Deceleration== | ===Deceleration=== | ||
Deceleration is calculated slightly differently. Instead of using ''k'' to calculate distance and velocity, it uses ''j'', which is defined as <math>\pagecolor{Black}\color{White}\min(\frac{k}{3},2)</math>. A different rate of deceleration is used to prevent ships suddenly transitioning from "many, many AU away" to "on grid and out of warp" more rapidly than other pilots (or the server / client) can keep up with. | Deceleration is calculated slightly differently. Instead of using ''k'' to calculate distance and velocity, it uses ''j'', which is defined as <math>\pagecolor{Black}\color{White}\min(\frac{k}{3},2)</math>. A different rate of deceleration is used to prevent ships suddenly transitioning from "many, many AU away" to "on grid and out of warp" more rapidly than other pilots (or the server / client) can keep up with. | ||
| Line 88: | Line 89: | ||
Where v<sub>subwarp</sub> is the maximum subwarp velocity of the ship; this varies greatly depending on the ship hull and pilot skills. | Where v<sub>subwarp</sub> is the maximum subwarp velocity of the ship; this varies greatly depending on the ship hull and pilot skills. | ||
;Distance | |||
This changes the formulae used slightly. Remember that distance travelled is the integral of velocity. | This changes the formulae used slightly. Remember that distance travelled is the integral of velocity. | ||
| Line 99: | Line 101: | ||
</math> | </math> | ||
The distance covered while decelerating from v<sub>warp</sub> is | The distance covered while decelerating from ''v<sub>warp</sub>'' is | ||
<math>\pagecolor{Black}\color{White} | <math>\pagecolor{Black}\color{White} | ||
| Line 108: | Line 110: | ||
</math> | </math> | ||
Note that for ships that travel at up to 6 AU/s, k / j = k / (k/3) = 3, so these ships cover 3 AU while decelerating. The complication of not stopping warp at 0 can be safely ignored for distance calculations, because the distance that would be covered while decelerating from 100 m/s is insignificant compared to the ~450 billion meters it takes to decelerate from warp speed to warp drop speed. | Note that for ships that travel at up to 6 AU/s, ''k'' / ''j'' = ''k'' / (''k''/3) = 3, so these ships cover 3 AU while decelerating. The complication of not stopping warp at 0 can be safely ignored for distance calculations, because the distance that would be covered while decelerating from 100 m/s is insignificant compared to the ~450 billion meters it takes to decelerate from warp speed to warp drop speed. | ||
;Time | |||
As with acceleration, time to decelerate from maximum warp velocity is worked out by rearranging the velocity equation. | As with acceleration, time to decelerate from maximum warp velocity is worked out by rearranging the velocity equation. | ||
| Line 134: | Line 137: | ||
</math> | </math> | ||
==Cruising== | ===Cruising=== | ||
;Distance | |||
The distance covered while cruising is the total warp distance minus any distance covered while accelerating or decelerating. | The distance covered while cruising is the total warp distance minus any distance covered while accelerating or decelerating. | ||
| Line 143: | Line 146: | ||
For all but the fastest ships, this will be ''d<sub>total</sub> - 4 AU''. | For all but the fastest ships, this will be ''d<sub>total</sub> - 4 AU''. | ||
;Time | |||
Time spent cruising is: | |||
<math>\pagecolor{Black}\color{White}t_{cruise} = \frac{d_{cruise}}{v_{warp}}</math> | <math>\pagecolor{Black}\color{White}t_{cruise} = \frac{d_{cruise}}{v_{warp}}</math> | ||
=Short Warps= | ==Short Warps== | ||
The above calculations work as long as some time is spent at maximum warp speed; <math>\pagecolor{Black}\color{White}d_{total} \geq d_{accel} + d_{decel}</math>. If the warp is short enough that the ship never reaches top speed, a different set of calculations are needed. | The above calculations work as long as some time is spent at maximum warp speed; <math>\pagecolor{Black}\color{White}d_{total} \geq d_{accel} + d_{decel}</math>. If the warp is short enough that the ship never reaches top speed, a different set of calculations are needed. | ||
| Line 159: | Line 163: | ||
</math> | </math> | ||
This enables the calculation of new acceleration and deceleration times using the formulae described in the previous sections, but substituting in the new v<sub>max</sub> | This enables the calculation of new acceleration and deceleration times using the formulae described in the previous sections, but substituting in the new ''v<sub>max</sub>'': | ||
<math>\pagecolor{Black}\color{White} | <math>\pagecolor{Black}\color{White} | ||
| Line 169: | Line 173: | ||
</math> | </math> | ||
=Implementation= | ==Implementation== | ||
The following python code is one possible implementation of the above. It attempts to generate the same data as presented by CCP in the forums. It matches with their numbers, except for 50 AU titan warps, which are one second out. Note that the sub warp speed of the ship is fixed at 200 m/s. This is because the CCP-produced tables assume that every ship drops out of warp at 100 m/s<ref>https://forums.eveonline.com/default.aspx?g=posts&m=3902148#post3902148</ref>. If trying to run calculations for actual ships, this value will need to be replaced with a more appropriate one. The output values are also passed through the ceil() function, as this is what seems to match the rounding mode that CCP used.<ref>http://content.eveonline.com/www/newssystem/media/65418/1/numbers_table.png</ref> | The following python code is one possible implementation of the above. It attempts to generate the same data as presented by CCP in the forums. It matches with their numbers, except for 50 AU titan warps, which are one second out. Note that the sub warp speed of the ship is fixed at 200 m/s. This is because the CCP-produced tables assume that every ship drops out of warp at 100 m/s<ref>https://forums.eveonline.com/default.aspx?g=posts&m=3902148#post3902148</ref>. If trying to run calculations for actual ships, this value will need to be replaced with a more appropriate one. The output values are also passed through the ceil() function, as this is what seems to match the rounding mode that CCP used.<ref>http://content.eveonline.com/www/newssystem/media/65418/1/numbers_table.png</ref> | ||