Difference between revisions of "Transportation"

From Zero-K
Jump to navigation Jump to search
m (→‎Mass and Capacity: Changed metal cost back to mass, and added a note that mass is equal to metal cost.)
(Unlinked Transport AI, deemphasized some headings, reworded and moved around notes. Not sure what to do with the "bugs" section yet (seems out of place).)
Line 1: Line 1:
Transports are used to rapidly move ground and sea forces around the battlefield. There are two transports: [[Charon]] and [[Hercules]]. Both are constructed at the [[Gunship Plant]]. This page is about their uses and abilities. See a different page for [[teleportation]].
+
Transports are used to rapidly move ground and sea forces around the battlefield. There are two transports: [[Charon]] and [[Hercules]]. Both are constructed at the [[Gunship Plant]].
  
= '''Basic Commands and Abilities''' =
+
[[Teleportation]] is an alternative means of transportation.
 +
 
 +
== Basic Commands and Abilities ==
  
 
=== Mass and Capacity ===
 
=== Mass and Capacity ===
 
Transports can pick up and carry a single unit at a time. A unit's mass is equal to its cost, so more expensive units are also heavier.
 
Transports can pick up and carry a single unit at a time. A unit's mass is equal to its cost, so more expensive units are also heavier.
  
[[Charon]] can carry '''light''' and '''medium''' units while [[Hercules]] can carry any transportable unit. Transports cannot carry air units or the ship Striders: [[Shogun]] and [[Reef]]. Light units are units below or equal to 500 mass, medium units are between 501 and 1000 mass, and heavy units are everything else. A unit's transportability and mass can be viewed in an information window by Space+Clicking on the unit.
+
[[Charon]] can carry '''light''' and '''medium''' units while [[Hercules]] can carry any transportable unit. Transports cannot carry air units or the ship Striders [[Shogun]] and [[Reef]]. Light units are units below or equal to 500 mass, medium units are between 501 and 1000 mass, and heavy units are everything else. A unit's transportability and mass can be viewed in an information window by {{key press|Space}}-clicking on the unit.
  
Laden transports have a speed penalty depending on the mass of their cargo. Transports receive no additional speed penalty for transporting units up to their own mass, otherwise, they have a speed modifier of <code>2*selfMass / (selfMass + cargoMass)</code>.
+
Laden transports have a speed penalty depending on the mass of their cargo. Transports receive no additional speed penalty for transporting units up to their own mass, otherwise, they have a speed modifier of {{frac|2 &times; <var>selfMass</var>|{{expr|<var>selfMass</var> + <var>cargoMass</var>}}}}<!--<code>2*selfMass / (selfMass + cargoMass)</code>-->.
  
 
=== Loading ===
 
=== Loading ===
Transports can pick up any valid stationary unit, including stunned enemies. Transports have to physically lower themselves onto a unit to pick it up. This process can take a few seconds, depending on the target. Here are two ways to load units:
+
Transports can pick up any valid <em>stationary</em> unit, including stunned enemies. They have to physically lower themselves onto a unit to pick it up. This process can take a few seconds, depending on the target. There are two ways to load units:
* Issue the [[Load Command|'''Load''']] command (hotkey '''L''') to a transport to load the target unit. This command is generally available as a right-click context command. Issue an area command with Click+Drag to tell multiple transports to load a group of units
+
# Issue the [[Load Command|'''Load''']] command (hotkey {{key press|L}}) to a transport to load the target unit. This command is generally available as a right-click context command. Issue an area command with by clicking and dragging to tell multiple transports to load a group of units.
* Select a mixed selection of transports and ground units and issue the '''Load Selected Units''' command (double tap '''L''') to have the transports load the selected units. Idle units will be loaded into the transports while units with orders will be loaded and transported to the end of their order queue.
+
# Select a mixed selection of transports and ground units and issue the '''Load Selected Units''' command (double-tap {{key press|L}}) to have the transports load the selected units. Idle units will be loaded into the transports while units with orders will be loaded and transported to the end of their order queue.
  
 
=== Unloading ===
 
=== Unloading ===
Transports can either carefully place their cargo on the ground or they can eject it in-flight.
+
Transports can either carefully place their cargo on the ground, or they can eject it in-flight.
* Use the [[Unload Command|'''Unload''']] command (hotkey '''U''') to unload carefully. This command can be issued in an area with Click+Drag or along a line with Alt+Click+Drag.
+
* Use the [[Unload Command|'''Unload''']] command (hotkey {{key press|U}}) to unload carefully. This command can be issued in an area selected by clicking and dragging or along a line by {{key press|Alt}}-clicking and dragging.
* Use the [[Eject Cargo Command|'''Eject Cargo''']] command (hotkey '''D''') to drop transported units. This may damage the dropped units. Transports carrying bombs draw a target on the ground based on their velocity.
+
* Use the [[Eject Cargo Command|'''Eject Cargo''']] command (hotkey {{key press|D}}) to drop transported units. This may damage the dropped units. Transports carrying bombs draw a target where the bomb is going to hit on the ground based on their velocity.
 +
 
 +
== Transport AI ==
 +
'''Transport AI''' can be toggled with the unit AI state toggle (<img src="https://raw.githubusercontent.com/ZeroK-RTS/Zero-K/master/LuaUI/Images/commands/states/bulb_on.png" height="18">) on transports.
 +
 
 +
Transports can be set to [[Guard Command|guard]] a factory to automatically pick up newly created units and drop them off at the end of the rally queue.
 +
 
 +
There are two queueable commands: ''Embark'' [[File:Embark.png|18px]] and ''Disembark'' [[File:Disembark.png|18px]]&mdash;these commands appear on transportable land units and factories when you build your first air transport.
 +
*'''Embark'''&mdash;wait for transport to pick me up. Transportes called by the ''Embark'' command will return to the spot where they took the unit using the same path.
 +
*'''Disembark'''&mdash;safely exit and from the transport.
  
= '''Transport AI''' =
+
=== Benefit ===
[[Transport AI|'''Transport AI''']] can be toggled with the unit AI state toggle (<img src="https://raw.githubusercontent.com/ZeroK-RTS/Zero-K/master/LuaUI/Images/commands/states/bulb_on.png" height='18' align="center" />) on transports. It has a few different aspects:
+
A transport might skip some units because it finds it pointless to transport them. It takes several things into account&mdash;distance of transport from unit, planned unit path, unit speed, transport speed, transport land times, terrain height differences&mdash;all of this is used to estimate the "benefit" of transporting a given unit with the air transport.
* Transports can be set to [[Guard Command|guard]] a factory to automatically pick up newly created units and drop them off at the end of the rally queue.
+
 
* Two queueable commands: ''Embark'' [[File:Embark.png|18px]] and ''Disembark'' [[File:Disembark.png|18px]] - these commands appear on transportable land units and factories when you build your first air transport. '''Embark''' &mdash; wait for transport to pick me up. '''Disembark''' &mdash; disembark from transport.
+
'''Benefit''' is the number of seconds saved by using a transport. It transports units only if benefit is greater than five seconds and in the order of benefit (slowest units will be transported first, fast units might be ignored completely). The exception to this is the ''Embark'' command, which serves as "priority" transport&mdash;units waiting with the ''Embark'' command will be served first.
  
 
=== Possible uses ===
 
=== Possible uses ===
Line 31: Line 42:
 
#* Result: Units walk there and if transport nearby it will pick it up, drop it off and the unit will start patrolling.
 
#* Result: Units walk there and if transport nearby it will pick it up, drop it off and the unit will start patrolling.
 
# Give factory a move order near your base, ''Embark'', then move to an impassable mountain.
 
# Give factory a move order near your base, ''Embark'', then move to an impassable mountain.
#* Result: Units will emerge from factory and enter ''Embark'' mode - they will stand there and wait for transport to get them to the mountain.
+
#* Result: Units will emerge from factory and enter ''Embark'' mode&mdash;they will stand there and wait for transport to get them to the mountain.
 
# Select crawling bombs, click to move to enemy base then click ''Embark''.
 
# Select crawling bombs, click to move to enemy base then click ''Embark''.
 
#* Result: Bombs will stop and wait for transports, transports will carry them to enemy base.
 
#* Result: Bombs will stop and wait for transports, transports will carry them to enemy base.
Line 37: Line 48:
 
#* Result: Dantes will stop and wait for transports. Transport will carry them along the waypoints to back of enemy base, unload them. From there Dantes will continue on foot.
 
#* Result: Dantes will stop and wait for transports. Transport will carry them along the waypoints to back of enemy base, unload them. From there Dantes will continue on foot.
  
=== Notes and details ===
+
== Ferry routes ==
* Transported called by the '''Embark''' command will return to the spot where they took unit using the same path.
+
Ferry routes automate transports to travel units across a set path to a destination. The <abbr title="user interface">UI</abbr> for creating ferry routes is (by default) in the upper left corner bar next to ''retreat and repair''. The symbol is a red circle with a ray pointing out of it to the right ([[File:Ferry.png|18px]]). To create a ferry route, first left-click the ferry route button, next left-click the start location of your ferry route, then left-click the destination. A ferry route does not have to be just a straight line. The path to take can twist and turn all you like by holding {{key press|Shift}} and left-clicking between the starting area and destination. Your ferry route will appear as a hard red circle indicating the start and a line directing out of that circle towards the destination.
* Transports might skip some units because it finds it useless to transport them. It takes several things into account - distance of transport from unit, planned unit path, unit speed, transport speed, transport land times, terrain height differences - all of this is used to estimate the "benefit" of transporting given unit with air transport. Benefit = number of seconds saved by using transporter. It only transports units if benefit is higher than 5 seconds and in order of benefit (slowest units will be transported first, fast units might be ignored completely). Exception to this is the ''Embark'' command which serves as "priority" transport - units waiting with the ''Embark'' command will be served first.
 
  
= '''Ferry routes''' =
+
Transports return to the spot where they took a unit using the same path.
Ferry routes automate transports to travel units across a set path to a destination. The UI for creating ferry routes is (by default) in the upper left corner bar next to retreat and repair. The symbol is a red circle with a ray pointing out of it to the right ([[File:Ferry.png|18px]]). To create a ferry route, first left click the ferry route button, next left click the start location of your ferry route, then left click the destination. A ferry route does not have to be just a straight line, the path to take can twist and turn all you like by holding shift and left clicking between setting the start and destination. Your ferry route will appear as a hard red circle indicating the start and a line directing out of that circle towards the end.
 
  
 
<htmltag tagname="video" width="560" height="320" loop="true" autoplay="true" src="https://i.imgur.com/XHY0vP7.mp4" controls="true"></htmltag>
 
<htmltag tagname="video" width="560" height="320" loop="true" autoplay="true" src="https://i.imgur.com/XHY0vP7.mp4" controls="true"></htmltag>
  
You can even edit your ferry route, by clicking the ferry route button, hold shift and click on anyplace you placed a start, end, or corner to select it, and then click where you want that point to be.
+
You can even edit your ferry route by clicking the ferry route button, holding {{key press|Shift}} and clicking where you placed a start, end, or corner to select it, and then clicking where you want that point to be.
  
 
<htmltag tagname="video" width="560" height="320" loop="true" autoplay="true" src="https://i.imgur.com/WC2qb03.mp4" controls="true"></htmltag>
 
<htmltag tagname="video" width="560" height="320" loop="true" autoplay="true" src="https://i.imgur.com/WC2qb03.mp4" controls="true"></htmltag>
  
To remove a ferry route, click the ferry route button and left click a start location.
+
To remove a ferry route, click the ferry route button and left-click a start location.
  
 
<htmltag tagname="video" width="560" height="320" loop="true" autoplay="true" src="https://i.imgur.com/SHFhe68.mp4" controls="true"></htmltag>
 
<htmltag tagname="video" width="560" height="320" loop="true" autoplay="true" src="https://i.imgur.com/SHFhe68.mp4" controls="true"></htmltag>
  
Now that you have your ferry route, it's time to put it to use! Assign transports to the ferry route by issuing a move command into the start circle. The transtports will now stay within a short distance of the start, even if you try and move them away, waiting for units. take a unit you want to ferry, and issue a move order into the circle. Once the unit is in the circle, it will wait for a transport to pick it up and move it to the end of the ferry route. you can shift queue commands for the unit and it will follow the commands after the transport.
+
Now that you have your ferry route, it's time to put it to use! Assign transports to the ferry route by issuing a move command into the start circle. The transports will now stay within a short distance of the start, even if you try and move them away, waiting for units. Take a unit you want to ferry and issue a move order into the circle. Once the unit is in the circle, it will wait for a transport to pick it up and move it to the end of the ferry route. You can shift queue commands for the unit, and it will follow the commands after arrival at the destination.
  
 
<htmltag tagname="video" width="560" height="320" loop="true" autoplay="true" src="https://i.imgur.com/No0wGkg.mp4" controls="true"></htmltag>
 
<htmltag tagname="video" width="560" height="320" loop="true" autoplay="true" src="https://i.imgur.com/No0wGkg.mp4" controls="true"></htmltag>
  
Potential uses for ferry routes are to move a large army around static anti-air cover to far locations, as the transports will follow the route both to and from the location. You can set your factory's way-point to the ferry route start, and units will wait for transports to ferry them.
+
Potential uses for ferry routes:
 
+
*To move a large army around static anti-air cover to far locations, as the transports will follow the route both to and from the location.
There are a few bugs with the system, such as if you assign a transport to a ferry route one time it may be unable to ever be assigned to a different ferry route, sometimes units won't seen to call for transports when they are in the start circle. if you have a gunship plant's rally point in a ferry route, the transports will wait for transport instead of being added to the ferry route, so you need to manually move them into the circle. There seem to be cases where there are both units and transports at the start location, but the units wait for a transport that is already off on it's ferry mission to come back and pick them up, which is undesired. Somehow, units seem to wait for a transport outside the circle, and thus never get a transport to pick them up.If a unit is waiting and not picked up, it will never get assigned a wait command when issuing a move command into the circle, and if you want it to be ferried, you must manually issue a wait command on the unit while it is inside the ferry circle. If the LZ is cluttered with units at the end of the ferry, transports will get stuck and not place units down, instead just holding them hostage over the end point. All in all, while automated, ferry routes require periodical check-ups.
+
*You can set your factory's waypoint to the ferry route start, and units will wait for transports to ferry them.
  
=== Notes and details ===
+
There are a few bugs with the system, such as if you assign a transport to a ferry route one time it may be unable to ever be assigned to a different ferry route, sometimes units won't seen to call for transports when they are in the start circle. if you have a gunship plant's rally point in a ferry route, the transports will wait for transport instead of being added to the ferry route, so you need to manually move them into the circle. There seem to be cases where there are both units and transports at the start location, but the units wait for a transport that is already off on it's ferry mission to come back and pick them up, which is undesired. Somehow, units seem to wait for a transport outside the circle, and thus never get a transport to pick them up. If a unit is waiting and not picked up, it will never get assigned a wait command when issuing a move command into the circle, and if you want it to be ferried, you must manually issue a wait command on the unit while it is inside the ferry circle. If the <abbr title="landing zone">LZ</abbr> is cluttered with units at the end of the ferry, transports will get stuck and not place units down, instead just holding them hostage over the end point. All in all, while automated, ferry routes require periodical check-ups.
* In all of these cases transports return to the spot where they took unit using the same path.
 
  
  
 
{{Navbox manual}}
 
{{Navbox manual}}

Revision as of 14:39, 7 November 2021

Transports are used to rapidly move ground and sea forces around the battlefield. There are two transports: Charon and Hercules. Both are constructed at the Gunship Plant.

Teleportation is an alternative means of transportation.

Basic Commands and Abilities

Mass and Capacity

Transports can pick up and carry a single unit at a time. A unit's mass is equal to its cost, so more expensive units are also heavier.

Charon can carry light and medium units while Hercules can carry any transportable unit. Transports cannot carry air units or the ship Striders Shogun and Reef. Light units are units below or equal to 500 mass, medium units are between 501 and 1000 mass, and heavy units are everything else. A unit's transportability and mass can be viewed in an information window by Space-clicking on the unit.

Laden transports have a speed penalty depending on the mass of their cargo. Transports receive no additional speed penalty for transporting units up to their own mass, otherwise, they have a speed modifier of 2 × selfMass ÷ (selfMass + cargoMass).

Loading

Transports can pick up any valid stationary unit, including stunned enemies. They have to physically lower themselves onto a unit to pick it up. This process can take a few seconds, depending on the target. There are two ways to load units:

  1. Issue the Load command (hotkey L) to a transport to load the target unit. This command is generally available as a right-click context command. Issue an area command with by clicking and dragging to tell multiple transports to load a group of units.
  2. Select a mixed selection of transports and ground units and issue the Load Selected Units command (double-tap L) to have the transports load the selected units. Idle units will be loaded into the transports while units with orders will be loaded and transported to the end of their order queue.

Unloading

Transports can either carefully place their cargo on the ground, or they can eject it in-flight.

  • Use the Unload command (hotkey U) to unload carefully. This command can be issued in an area selected by clicking and dragging or along a line by Alt-clicking and dragging.
  • Use the Eject Cargo command (hotkey D) to drop transported units. This may damage the dropped units. Transports carrying bombs draw a target where the bomb is going to hit on the ground based on their velocity.

Transport AI

Transport AI can be toggled with the unit AI state toggle () on transports.

Transports can be set to guard a factory to automatically pick up newly created units and drop them off at the end of the rally queue.

There are two queueable commands: Embark Embark.png and Disembark Disembark.png—these commands appear on transportable land units and factories when you build your first air transport.

  • Embark—wait for transport to pick me up. Transportes called by the Embark command will return to the spot where they took the unit using the same path.
  • Disembark—safely exit and from the transport.

Benefit

A transport might skip some units because it finds it pointless to transport them. It takes several things into account—distance of transport from unit, planned unit path, unit speed, transport speed, transport land times, terrain height differences—all of this is used to estimate the "benefit" of transporting a given unit with the air transport.

Benefit is the number of seconds saved by using a transport. It transports units only if benefit is greater than five seconds and in the order of benefit (slowest units will be transported first, fast units might be ignored completely). The exception to this is the Embark command, which serves as "priority" transport—units waiting with the Embark command will be served first.

Possible uses

  1. Give bot factory waypoints through safe area next to the current battlefield.
    • Result: Units walk along these waypoints and if there are idle transports they will pick them up and transport them to their destination.
  2. Give factory waypoint to ally's base entrance followed by patrol.
    • Result: Units walk there and if transport nearby it will pick it up, drop it off and the unit will start patrolling.
  3. Give factory a move order near your base, Embark, then move to an impassable mountain.
    • Result: Units will emerge from factory and enter Embark mode—they will stand there and wait for transport to get them to the mountain.
  4. Select crawling bombs, click to move to enemy base then click Embark.
    • Result: Bombs will stop and wait for transports, transports will carry them to enemy base.
  5. Select Dantes, give them move commands across air safe areas, followed by disembark from behind the base spot and move to enemy base. Then click Embark.
    • Result: Dantes will stop and wait for transports. Transport will carry them along the waypoints to back of enemy base, unload them. From there Dantes will continue on foot.

Ferry routes

Ferry routes automate transports to travel units across a set path to a destination. The UI for creating ferry routes is (by default) in the upper left corner bar next to retreat and repair. The symbol is a red circle with a ray pointing out of it to the right (Ferry.png). To create a ferry route, first left-click the ferry route button, next left-click the start location of your ferry route, then left-click the destination. A ferry route does not have to be just a straight line. The path to take can twist and turn all you like by holding Shift and left-clicking between the starting area and destination. Your ferry route will appear as a hard red circle indicating the start and a line directing out of that circle towards the destination.

Transports return to the spot where they took a unit using the same path.

You can even edit your ferry route by clicking the ferry route button, holding Shift and clicking where you placed a start, end, or corner to select it, and then clicking where you want that point to be.

To remove a ferry route, click the ferry route button and left-click a start location.

Now that you have your ferry route, it's time to put it to use! Assign transports to the ferry route by issuing a move command into the start circle. The transports will now stay within a short distance of the start, even if you try and move them away, waiting for units. Take a unit you want to ferry and issue a move order into the circle. Once the unit is in the circle, it will wait for a transport to pick it up and move it to the end of the ferry route. You can shift queue commands for the unit, and it will follow the commands after arrival at the destination.

Potential uses for ferry routes:

  • To move a large army around static anti-air cover to far locations, as the transports will follow the route both to and from the location.
  • You can set your factory's waypoint to the ferry route start, and units will wait for transports to ferry them.

There are a few bugs with the system, such as if you assign a transport to a ferry route one time it may be unable to ever be assigned to a different ferry route, sometimes units won't seen to call for transports when they are in the start circle. if you have a gunship plant's rally point in a ferry route, the transports will wait for transport instead of being added to the ferry route, so you need to manually move them into the circle. There seem to be cases where there are both units and transports at the start location, but the units wait for a transport that is already off on it's ferry mission to come back and pick them up, which is undesired. Somehow, units seem to wait for a transport outside the circle, and thus never get a transport to pick them up. If a unit is waiting and not picked up, it will never get assigned a wait command when issuing a move command into the circle, and if you want it to be ferried, you must manually issue a wait command on the unit while it is inside the ferry circle. If the LZ is cluttered with units at the end of the ferry, transports will get stuck and not place units down, instead just holding them hostage over the end point. All in all, while automated, ferry routes require periodical check-ups.