The Battle Manual:Movement
From PlanetsWiki
Hey Captain, fly in the direction that I want!
The features and options vcr movement offers these days are different from earlier hosts and more rich than these. For a better understanding one has to distinct between the attack settings, that the player can set in the client and the internal modes the host uses. A second important distinction is the difference between movement and weapon targeting. There are attack plan settings, which affect both and other settings affecting only one of them. And finally we now have inertia effects built in and a processing of the motion each tick. The details will be discussed in the following sections.
Contents |
[edit] Entering Combat
[edit] Starting Positions
[edit] Delays (Second Wave)
Ships and wings can be ordered to enter a space combat with a delay (as second wave). The actual rules are (Host 213c):
- At tick 300 all objects which are still waiting enter immediately.
- A player or alliance which only sends ships and wings in second wave has no second wave. The object enter immediately. There is no 2nd wave without a 1st.
- Once a player or alliance "lost" all their 1st wave units (destroyed or disabled) all their 2nd wave objects enter immediately.
So if one sends in 1st and 2nd wave objects then the 1st wave object fight until they are destroyed or disabled. Then the 2nd wave will follow. When the 1st wave still is intact at tick 300 then your 2nd wave enter at tick 300. A player can't do the trick and set all his objects to 2nd wave to directly attack the others 2nd wave object. Such 2nd wave fist has to battle the hostile 1st wave. Therefore such fake 2nd wave will be forced to enter in 1st wave.
[edit] Combat Mobility
Let's talk about kinetic and dynamic parameters first. Each ship or wing has a maximum speed and maximum acceleration which limits its motion in vcr. The internal movement modes make usage of them with different percentage parts. To understand the effect of the calculated max acceleration one only has to imagine the current velocity of an object as an arrow (vector), which points towards the current movement direction and whose length is a measure for the size of the current speed.
If the target direction and size of speed, which the object wants to reach has changed from one tick to another, then there is a difference between the current and the desired speed vector. The size of this difference is limited by the current max allowed acceleration. This means that objects need some time to reach a desired speed and they even need time if only the direction is to be changed.
The rule to obey the maximum acceleration is omitted in two cases: If an object reaches the boundary of the vcr zone, then the closer it comes to the boundary the more speed is taken from the radial speed component and put into the tangential component. This process takes place only while there is a positive radial component in the speed. Objects then may rapidly change their direction of movement from a radial course away from the center into a course along the perimeter. The second case is when objects are ramming or being rammed. Then there could be a rapid change in speed size and/or direction due to the impact. To avoid that objects with slow acceleration will then zip around the vcr zone all the time the speed is cut down after while (a few ticks).
[edit] Ships
Different modifiers and a reference to the maximum combat speed build up the whole formula. The modifiers are mass, engine type energy and combined generator energy and evasive bonus depending factors.
[edit] Formula
vMax := 2 x SQR{MaxHullSpeed}
aMax := vMax / 15 x rMass x rEng x rEvaGen
rMass := 1 / LOG(HullMass+2) (decimal logarithm)
rEng := 1 + engine type's energy / 45 x (1 - EngineDamage / 100)
If Hull's generator count > 0 then rEvaGen := 1 + EvasiveBonus x GeneratorBankEnergy / (8000 x HullGeneratorCount) x (1 - SystemDamage / 100) If Hull's generator count = 0 and Evasivebonus > 50 rEvaGen := 1 + EvasiveBonus / 100 x (1 - SystemDamage / 100) If Hull's generator count = 0 and Evasivebonus <= 50 rEvaGen := 1
- The thruster types and the mega fusion have an x 2 bonus in the engine type's energy
- EvasiveBonus includes hull, Aczanny and exotic bonuses.
- Ships with a system damage > 100 or engine damge > 100 or with an zero engine count get a maximum acceleration of 0.01 and will be processed in drift mode.
[edit] Interpretation
vMax compresses the differences of the hull speed to an interval from 7.2 to 40 for ships.
aMax can be interpreted in this way: If the three modifiers are all equal to 1 then a ship would reach the maximum speed in about 15 ticks. Now lets take a look at the three modifiers: The mass modifier ranges currently from 0.25 for 10 000 kT ship up to 1.43 for the Sparrow Class Scout with a hull mass of 3 kT. The engine modifier rewards a high energy output of the chosen engine type and ranges from 1.06 for a N20 Fusion Drive up to 3 for a Tylium Thruster. The Mega Fusion and the three thruster types are considered two times more effective than the other types. Last but not least we have the combined generator energy evasive bonus modifier. This one rewards high evasive bonuses and at the same time generator banks completely filled with high tech types. If the generator output or the evasive bonus is zero then it will come no bonus from this modifier with one exception: If a ship has no generators but an evasive bonus greater than 50 it gets a bonus only from the evasive alone. Otherwise many Centaur hulls would get penalties for example. The limit of 50 evasive bonus was set to exclude freighters. The more the full generator bank is filled with good generators the better will the effect be.
If a hull has no evasive bonus one can also use the effect from better generator by switching on the evasive exotics.
As the acceleration is a measure how fast the change of speed is the ratio of vMax and aMax is a measure of the mobility bacause it is the time T an object needs to change the speed from 0 to vMax:
T := vMax/aMax = 15 x LOG(HullMass+2) / (rEng x rEvaGen)
If there is no damage then rEng varies between 1 and 3 and eEvaGen between 1 and ~ 3 (Sparrow). LOG(HullMass+2) is ~1,~2,~3 or ~4 for the hull masses 10,100,1000 or 10000.
[edit] Wings
[edit] Formula
vMax := 4 x SQR{CombatQuickness}
aMax := vMax / 5
[edit] Interpretation
vMax compresses the differences of the CombatQuickness stat to an interval from 17.9 to 69.3 for wings. Wing reach within 5 ticks maximum speed.
Though certainly other dependencies on their stats would have been possible, this is the current acceleration formula for wings. So the acceleration of wings is only dependent on their CombatQuickness stat. This should lead to a acceleration, which is at least three times better then for ships with a total modifier effect of 1. Wings can reach their maximum speed in about 5 ticks. The differences in the wings come from the different maximum speeds of their fighter types.
[edit] Mode Depending Mobility
The aforementioned maximum speed and acceleration will no always be achieved by vcr objects. Depending on their internal mode (described in the next chapter), they only get a percentage part of the maximum possible values. Below we give a table how much of the maximum values are used.
Most of the time objects try to stay in motion. And during their motion they try to hold the given mode depending percentage part of the maximum speed they are allowed to have.
Known situations where objects can almost come to rest are if they try to hold distance in flee or strike through mode, if they are in guard base mode and expect an attacker to intersect the 'ion cannon defense line', if an drastic change of the speed direction is needed or if an ram impact annihilated the target's kinetic energy.
| Mode | Speed | Acceleration |
|---|---|---|
| Stand Off | 60% | 100% |
| Flee | 100% | 60% |
| Escort | 100% | 100% |
| Idle | 40% | 40% |
| Strike Through | 100% | 80% |
| Ram! | 100% | 100% |
| Guard Base | 100%/60%1) | 100% |
| CTPB 2) | 80% | 60% |
| Avoid Base | ? | ? |
| Return Home | ? | ? |
| Drift | ? | ? |
1) 100% if outside base IC range if guard base mode is interrupted because nobody is shooting neither at the base nor at the base guards. 2) CTPB = close to point blank
[edit] Internal Combat Modes
To get a clue what's really going on in space combat, one has to know that there is an internal set of combat modes, which control the flight pattern of objects. Not all of these mode can be accessed directly by the player, but a lot directly refer to attack switches in the client.
To have a picture of this process one could write:
(attack switches, fleet switches) X internal combat data -> combat modes
This subsection refers to ships and wings only. Pods have their own subsection.
[edit] Stand Off Mode
- A ship goes into stand off mode if it is ordered explicitly by the client switch "Stay At Standoff Range". It then tries to hold the set stand of range in respect to its enemies.
- If a ship is set to "Agressive", but has no other active switch, which directly effects the flight pattern ("Stand Off", "Retreat From Enemy Ships", "Strike Through", "Ram!"), then it is set to stand off mode with. The stand off range is then 90 percent of the lowest range of all small and large weapons on board.
- If a wing is not set to "Quick Strike and Run" then it goes into stand off mode. The attack range is then taken from the longest and shortest weapon in the wing. The wing alternates between the longest and shortest range. It will start with the longest range. When missile weapons run out of ammo they will not be considered.
- If a wing is set to "Close to Point Blank", which is mutually exclusive to "Quick Strike and Run", then the wings goes into a stand off mode with an attack range of 5.
- In stand off mode an object tries to orbit around the top movement target. If the distance to an object of the top ten target list (TTTL) falls below the set attack range then the orbiting changes the direction of rotation. If there are other targets than the top movement target which are closer, the object tries to hold the set attack range to them.
- If an object could not come into stand off range from outside the stand off range for a longer time then it goes into Idle Mode (see below) around the center to get a better position for the next attempt. But it still targets objects and fires at them.
[edit] Flee Mode
- A ship goes into flee mode if either the ship is explicitly ordered by the client switch "Retreat From Enemy Ships" or if the ship is badly damaged or has low ammo.
- If a ship is ordered to hold the line by the attack switch "Stand At All Costs", which is mutually exclusive to "Retreat From Enemy Ships" then it never goes into flee mode.
- A wing only goes into flee mode if its runs out of ammo and has only missile weapons.
- If an object is in flee mode, then it tries to hold a maximum distance to the objects of the top ten movement list and top ten target list. This is generally a point at the outer vcr perimeter "on the other side". But if the ship's enemies are at a distance of 750 or greater and if there are no hostile base then a ship tries to hide at the center. But if it is under fire while hiding at the center then it gives up this position and tries to escape to the outer perimeter. For a wing it is the same except the aforementioned distance of 750 which is in this case 500. If an object is "hiding" at the "other side" and if the range to the enemies is greater enough, it slows down.
- The flee mode overrides all other internal modes.
[edit] Escort (Fleet) mode
If an object is a valid member of a valid fleet which means
- that there is leader,
- which does not escort another object and
- which is set to be member of a fleet and
- if the the object is set to be a member of a fleet and
- if the object is escorting the leader and
- if the object is not set to "Retreat From Enemy Ships", then the leader and the object form a fleet in combat.
- In a fleet all fleet members stay together. The leader slows down so that all members can follow and the members try to zip around the leader. The member ignores the movement affecting parts of their attack plans. Only the leader obeys his given attack plan in full manner.
- If a leader is destroyed, then all members will obey their own flight patterns. If a leader loses all his members then it returns to its original full speed.
- Chained fleets (leader/escort target escorting another object) are not supported.
[edit] Idle Mode
If an object has no valid movement target or is set to Drift Mode then it is set to idle mode. This does not mean that the object is not firing. The pilots just have no clue where to go temporarily. In idle mode the object is just orbiting the center at a random radius. The direction of rotation and the radius sometimes changes randomly.
The flight target is not updated every tick. So if the current flight target is destroyed, then it may take some time until a new one is found. During this time an object also is set to idle mode.
[edit] Strike Through Mode
If a ship is set to "Strike Through" or a wing to "Quick Strike and Run", it goes into strike through mode. In this mode the object tries to hide from the enemies until weapons are charged. For this it goes into the strike through sub mode peel off mode and uses the escape pattern of the flee mode. During peel off mode the object can fire at other targets. If weapons are charged and a random time of 50+RND*25 ticks has gone by then the objects goes into chase mode and starts an attack run towards the current flight target (=top level movement target). While in chase mode the object is blind for any other target than the flight target. If the flight target is in range for all weapons the object is firing a full salvo at the flight target. The object then goes back to peel off mode. If a random time of 250+RND*100 has gone by the object switches back to peel off mode to avoid permanently unsuccessful chasing.
In strike though mode objects use anticipatory pursuit to reach their target. This means it anticipates the movement of the target and moves into the flight direction of the target if it can reach the target in this way. If this is not possible (because the target is too fast), then it switches to angular anticipatory pursuit, which means that it turns direction and tries to reach the target on a course with a constant distance to the center along a circle line.
There could be an issue with two objects chasing each other while in strike through mode. Because of the anticipatory manner the objects could not come closer until they reach the boundary of vcr zone.
[edit] Ram Mode
[edit] Overview
- The flight pattern of Ram mode consists like strike thru of a chase and peel off sub mode. In chase mode it accelerates to maximum speed and tries to ram the flight target which is the top movement target.
- On its way towards the flight target it will not try to evade other targets which are its path. So it may collide with these targets.
- If a target is hit then the object switches to peel off mode, peels off and try to run away to the other side with respect to the flight target.
- If an target is hit by a rammer then it is lamed for a few ticks where it is not able to process its on course.
- After a while the object switches back to chase mode and tries to ram the flight target again.
- If the rammer and the target are close enough for a ram then there is a contest between the skill plus attack mod of the rammer and the skill plus the evasive mod of the target. If the rammer wins then the collosion is inelastic, which means that the impact not only changes the impulses of the rammer and target but also inflicts damage to both.
- Ships in Ram mode will move towards wings.
[edit] Details
- Ram distance:
- Non IMT rammer: 20 + 10 * RND
- IMT rammer: 100 + 50 * RND
- Ram contest:
- aMod = AttackMod rammer
- eMod = EvasiveMod rammed
- IF aMod < 0 THEN aMod = 0
- IF eMod < 0 THEN eMod = 0
- vFRam = INT((aMod + Skill Rammer) * RND)
- vFTarget = INT((eMod + Skill Rammed) * RND)
- IF vFRam >= vFTarget THEN RAM!(with damage) ELSE ELASTIC IMPACT!(without damage)
- Damage:
- dV = Max(0; relative speed between the impact partner)
- dV is zero if the impact partner are not coming closer to each other
- Ram power: P = (hull mass rammer + hull mass rammed) * dV /10
- The damage to shield, armor, hull and inner systems follow now the old rules
- dV = Max(0; relative speed between the impact partner)
- Multiple targets
- Then random ram distance has the following meaning: Each tick a ship which is set to ram checks the movement weapon target lists if there are target in ram range. This ram range is randomly different from tick to tick. So there is the chance ram multiple targets the same time.
- Only ship are valid targets.
- This means ram mode should not be able any longer to be abused for chasing enemy wings. If there are no enemy ships while being in ram mode then the ship "idles" or hangs around without any flight target. It will then orbit around the center and changes randomly radius and direction of rotation. But it will fire at targets if in range.
[edit] Guard Base Mode
In this mode an object looks for a friendly base (= own or mutually allied) and orbits the base(s). If a target is coming closer and closer to the base then the object tries to move between the base and the enemy. If friendly bases are not under fire for a longer time, the base guards give up their positions and attack the enemies. If then someone is firing at a friendly base, the base guards fly back and guard the base.
[edit] Avoid Base Mode
Objects check their course if they would come into range of hostile base defense systems. In that case they change the flight path so that they fly around the center until the way is free to the desired target.
[edit] Return Home Mode
If a wing with missile type fighters is docked to a carrier, set to "Return Home" and out of ammo, it returns to its carrier, if the carrier and the wing itself is not under fire. The wing stays for a while in the carrier until it is re-armed. Home guard wings are set to return home and guard base by default.
- If a carrier has 100% system damage or more or 50% hull damage or more then wings cannot re-dock anymore.
- A "carrier" could also be a base.
- Home guard wings are set to this mode automatically.
- Skill, high guards, enough crew and training center help to speed up re-arming the wings.
So when does a wing re-dock?
A wing decides to re-dock if
- the carrier is intact (like described in wing charging section)
- both the wing and the carrier are not under fire for at least 11 ticks
- the wing is not regarded as charged
- the wing has missile types
- the wing can't fire a missile anymore
- the distance to the carrier is smaller than 25
A wing is regarded as charged if it can fire every (FiringFighterDivisor)th fighter at least for one type. Below a count of a type of FiringFighterDivisor the type has to be able to fire 1 or if the fighter generator is >10 3 fighters. A wing is also regarded as charged if it can fire a missile.
[edit] Drift Mode
If an object has no engines or a control damage of 100% or more then it is almost unable to change the speed or the direction of movement.
[edit] Movement Targets
As there are different sources where the targets for the movement can come from which then has an impact of the cooperation of friendly object it seems important to explain this in details. The details for the calculation of targeting process can be found in the target section. To avoid confusion one has to distinct between the combat targets one can set in the client and the targets in vcr.
The client's targets which have a meaning within the space combat are:
- The
Escort Target is used to share targeting data between the escort and the escorted for weapon fire and movement within the vcr. It is also needed to form a fleet.
- The
Kill Target is used to tell the vcr code that this target is always on the top of the targeting data so that the object will fire (if in range) and move at the kill target at first.
- The
Dock Target is used to tell wings, which are ordered to "Return Home", their carrier at which they can be re-armed (of course the wings have to enter space combat docked with the carrier).
In vcr we have the top ten movement target list and the top ten weapon target list. The targets which are in this list is a sub set of the combatants which are in the space combat. And this depends on the all the space combat influencing attack setting of the clients and the inner status of the vcr when the combatants are fighting each other. So please do not mess up the targets from the client with the targets in a space combat when we speak of "targets". :)
[edit] Movement target checking
Every 10th tick all combatants re-calculate their top ten target list (TTTL) and top ten movement list (TTML). So it can be last at max ten ticks till the information about a new recognized hostility reached fleet command and is available for all combatants of the corresponding player (and under certain circumstances also for allies). If an object comes under fire by a player which is not set as enemy in the client's ally menu then this object sets this player as enemy and informs fleet command. The object itself re-calculates it's movement and weapon targets and set the attacker on top of both lists and updates the flight target (no matter what the flight target timeout was) so that it can immediately react both with respect to weapons and movement.
[edit] Target timeout
If an object has chosen a flight target then a certain time has gone by before a new flight target can be chosen. If the current flight target is destroyed or gone or docked then the object goes into idle flight (but not weapon) mode until a new valid flight target can be taken. The target timeout depends on experience, HGs, crew filling and objects damage state.
[edit] Target sources
[edit] Own targets
Ships, wings and assault pods have a so called top ten movement target list (TTML). This contains the most wanted targets where the object wants to fly to.
The difference between the top ten target list (TTTL, for weapons) and the TTML is - roughly spoken - that the TTTL contains more the targets which are in range of the weapons while the TTML contains more the targets which fits to the modifiers "attack dangerous", "attack ground" and so on.
If for example a wing is set to "attack dangerous" and if there is a hostile dreadnought and other smaller ships then on the way towards the dreadnought (which is the top entry in the TTML and this top entry is normally the actual flight target) the other smaller ships occur in the TTTL so that the wing can fire at the smaller objects until the dreadnought is coming into range of the wing weapons.
[edit] Fire targets of escorted
This means that if an object A is escorting an object B (via client escort order) and if A is set to "Fire targets of escorted" in client's fleet menu then in space combat A tries to fire at the same target like B.
Of course this only works fully if B is sufficiently close to A otherwise the weapons of B might have only fire targets out of their range.
If A and B are members of a fleet (set via client's fleet menu) where B is the leader is a situation where it should work. It's a way to let the whole fleet fire at the same targets. But again if B has very long ranged weapons and the fleet member only short ranged then it could also fail.
[edit] Movement targets of escorted
This means that if an object A is escorting an object B (via client escort order) and if A is set to "Movement targets of escorted" in client's fleet menu then in space combat A tries to move towards the same target like B.
This might work better than the aforementioned target modifier as A can still choose it's fire targets independently from B in range of the own weapons.
[edit] Fire Targets as Movement Targets
This order takes the fire targets of the escorted as own movement targets. An object will then move towards the target at which the escorted is currently firing.
A groups of wings could be ordered this way with respect to their carrier to protect it. As they then will fly towards targets which are currently under fire by the carrier.
[edit] Good to know
- If you object A gets the weapon and movement targets from another (B) of your objects then do not wonder if A seems not to obey its attack switches as the target are coming fom B, which may have different attack switches
