Anyone noticed that by aligning and linking transportation vehicles (ships, wind walkers), one can implement an unlimited transportation distance in one turn?
The ability to move all units in one turn, is to simulate the parallel moving for all units. However, due to the UI limitation, we have to move units one by one serially. This gives us a chance to align transportation vehicles. If those ships were moved simultaneously, the linking-ships unlimited distance transportation won't be possible.
An easy way (but not as accurate) to solve the bug, is to put a "Transportation" counter the same as the transporter's movement points, on each transporting unit. The "Transportation" counter are granted only once per turn at each unit's first transportation. Transportation counter reduces one per step as the transporters go. When it reaches zero, the transporting units can no longer be transported in the same turn. (Note: the transported units should be able to go by itself after or in the middle of the transportation)
In this way, you can still links vehicles. However, when "Transportation" counters reach zero, those units have to wait for the next turn to be transported.
A more accurate way (but very hard to implement), is to count the remaining time. For example, transporter A is capable of moving 4 distance, and transporter B is capable of moving 5 distance. Assuming transporting units are first transported by A for 2 moves, linked to transporter B, and let B do the rest transportation. Since transporting 2 moves by A takes half the turn (half month), for the rest half month, B can do 2.5 transportation moves.
Transporter points should not affect the movement point for the transported units. This means it's OK for a unit to be first transported by A, and then walk for some distance by itself, linking to B, and then be transported by B. In the easy implementation, the transportation counter is reduced when it is transported, either by A or B. It will eventually be reduced to zero, and thus unlimited distance movement is not possible. Maximum movement = unit max movement + best transporter's movement.
The ability to move all units in one turn, is to simulate the parallel moving for all units. However, due to the UI limitation, we have to move units one by one serially. This gives us a chance to align transportation vehicles. If those ships were moved simultaneously, the linking-ships unlimited distance transportation won't be possible.
An easy way (but not as accurate) to solve the bug, is to put a "Transportation" counter the same as the transporter's movement points, on each transporting unit. The "Transportation" counter are granted only once per turn at each unit's first transportation. Transportation counter reduces one per step as the transporters go. When it reaches zero, the transporting units can no longer be transported in the same turn. (Note: the transported units should be able to go by itself after or in the middle of the transportation)
In this way, you can still links vehicles. However, when "Transportation" counters reach zero, those units have to wait for the next turn to be transported.
A more accurate way (but very hard to implement), is to count the remaining time. For example, transporter A is capable of moving 4 distance, and transporter B is capable of moving 5 distance. Assuming transporting units are first transported by A for 2 moves, linked to transporter B, and let B do the rest transportation. Since transporting 2 moves by A takes half the turn (half month), for the rest half month, B can do 2.5 transportation moves.
Transporter points should not affect the movement point for the transported units. This means it's OK for a unit to be first transported by A, and then walk for some distance by itself, linking to B, and then be transported by B. In the easy implementation, the transportation counter is reduced when it is transported, either by A or B. It will eventually be reduced to zero, and thus unlimited distance movement is not possible. Maximum movement = unit max movement + best transporter's movement.