Skip to content

Acceleration

How quickly a homing projectile, a jumpjet unit or a levitating unit changes speed.

Homing projectile acceleration

Specification — Homing projectile acceleration
Applies to
BulletType
File
rules.ini
Section
[<ObjectType ID>]
Value
integer
When omitted
3

Only a homing projectile reads the figure: one whose ROT is above zero. A projectile with no rate of turn follows the arc it was launched along and never changes speed under its own power.

The figure is the speed a homing projectile gains each game frame, in leptons per frame, until it reaches its ceiling. There are 256 leptons to a cell and 15 game frames to the second. The ceiling is normally the firing weapon’s Speed converted to leptons per frame, about 2.56 leptons for each point, so Speed=100 gives 255. A bomblet released by a splitting projectile has a ceiling of 50 leptons per frame instead, the equivalent of about Speed=20. At 2 or more, the figure decides only how quickly the projectile reaches its ceiling.

A homing projectile leaves the launcher at one lepton per frame, in a launch phase that ignores this setting. During the launch phase its speed rises by one lepton every second game frame. The phase ends once the projectile is within half a lepton of its ceiling, so a weapon whose Speed is below 16 reaches full speed on the launch ramp alone, and this setting makes no difference to it. A weapon whose Speed is 16 or more skips the launch phase, and this figure carries its projectile the whole way from one lepton per frame to the ceiling.

A projectile flying faster than its ceiling slows by half the figure each frame, rounded down to a whole lepton, so at 0 or 1 it never slows. This matters for a bomblet whose weapon’s Speed is 20 or more, because it is launched faster than its ceiling of 50 leptons per frame.

Jumpjet acceleration

Specification — Jumpjet acceleration
Applies to
global rules
File
rules.ini
Section
[JumpjetControls]
Value
floating point
When omitted
.25

The jumpjet locomotor keeps a speed counter and moves the unit that many leptons along its current facing every game frame. This figure is how much the counter gains each frame while it is below the speed the current flight state asks for. The counter never goes past Speed, the ceiling every jumpjet shares. There are 256 leptons to a cell and 15 game frames to the second.

The counter sheds speed faster than it gains it. When the flight state asks for less than the counter holds, the counter drops by one and a half times this figure per frame, down to a floor of zero. This is how quickly a jumpjet throttles back to the slower bands it uses near its destination, which the Speed page lists. On arrival the counter is zeroed outright, whatever this figure.

Once the counter is at or below a slower band, the unit never moves faster than that band. A gain that would pass the band is cut back in the same frame, before the unit moves. When the gains cannot land on the band exactly, a jumpjet at its flight height cycles through speeds up to one and a half times this figure below the band.

A jumpjet flying low has a lower top speed. While it is below about half its flight height and not yet over its destination cell, the counter loses a tenth of its value every frame after the gain. Its speed therefore cannot rise above about nine times this figure, which is about 2 leptons per frame at the default. Below about a quarter of its flight height the counter loses a second tenth, and the limit falls to about four times this figure. Height here is measured above the ground or structure under the unit and in the cell ahead, so rising terrain or a structure ahead also slows it.

rules.ini
[JumpjetControls]
Acceleration=2
Speed=14

With these values, a jumpjet at its flight height reaches full speed seven frames after it starts building speed, and throttles back by three leptons per frame.

Levitation thrust

Specification — Levitation thrust
Applies to
levitation controls
File
rules.ini
Section
[LEVITATION]
Value
floating point
When omitted
0.5

The figure is the speed a levitating unit gains on each frame of a thrust, in the direction the thrust is aimed. A thrust lasts AccelerationDuration frames. Speeds here are in leptons per frame, with 256 leptons to a cell and 15 frames to the second.

Drag is subtracted on each of those frames as well. A thrust that starts from rest therefore ends at a speed you can work out in advance: the InitialBoost it opens with, plus AccelerationDuration × (Acceleration − Drag). The stock values give 1.5 + 20 × (0.5 − 0.05), or 10.5 leptons per frame. A thrust that starts while the unit is still moving adds to that motion instead, and on a different heading the two combine as vectors.

A thrust ends early when the unit comes within ProximityDistance of its target or destination. The unit then brakes, and the remaining frames of the thrust are lost.

Nothing caps the speed a thrust reaches. MaxVelocityWhenFollowing and MaxVelocityWhenPissedOff decide when a coast ends, and MaxVelocityWhenHappy decides when a fresh thrust may begin. None of them limits how fast a thrust leaves the unit traveling, so a large figure here raises the unit’s top speed without limit. Keep the speed a thrust builds under 256 leptons per frame along each map axis; otherwise the game can stop responding, as IntentionalDriftVelocity explains.

Drag covers which objects read this section and the [General] section a file must contain for any of it to be read at all.