Packet travelling

Started by s77j77g77, December 28, 2018, 10:10:38 AM

Previous topic - Next topic

s77j77g77

I'm going to experiment with this this morning, but I wanted to see if anyone had a general idea about how packets (or any resource that travels) are able to consistently get to a given location by taking the shortest/fastest path even when multiple paths exist. I guess it is possible it is brute forced (each path is individually checked for each packet), but that seems like it would be relatively inefficient.


Edit:

for now, it seems that for packets going to the same location where one path is collectors and one path is relays, if the paths are the exact same distance, the packets will take the path of the relays (speed).


for an isosceles right triangle where the legs are relays and the hypotenuse is comprised of collectors, the packets prefer the legs which could be said to have a total distance of 2, whereas the hypotenuse has a distance of the square root of 2. (Feel free to check my math. I haven't done triangles in a while. I'm claiming that a leg is a general distance of 1, so 2 legs should have a distance of 2. For the hypotenuse, the length of a diagonal of a square should be the length of a side multiplied by the square root of 2.


3.5 seconds to build a collector from the maximum distance from a command node. (as far as the command node can reach by itself)
2.7 seconds to build a collector from the minimum distance from a command node. (touching the command node)
5.4 seconds to build a relay from the maximum distance from a command node.
5.1 seconds to build a relay from the minimum distance from a command node.
(time approximated using in game timer from a blank custom map)

calculating packet travel time:
for a standard path (collector)
max distance time - min distance time ~~= travel time for the entire building process. (This should be solely the travel time, the instant when the command node first realizes there is something new to build is assumed to be a constant. As a result, it can be assumed that that constant was removed during the subtraction as it would have been the same for both min and max distances)

travel time for the entire building process/ number of packets required to build ~~= packet speed (something to consider is collectors normally are linked at half of the distance compared to what the command node can do. If the command node's maximum reach to a collector is 1 unit, then one collector reaches to another collector approximately .5 units.


travel time for a single packet traveling the distance twice of a normal collector = (3.5-2.7)/5 = 0.16
travel time for a single packet traveling the distance of a normal collector = 0.16/2 = 0.08
travel time for a single packet traveling the distance of one relay = (5.4-5.1)/10 = 0.03

More notes to follow

GoodMorning

Relays double packet speed.

Packets are routed once with A* when created, and rerouted if the path that they were going to take no longer exists.
A narrative is a lightly-marked path to another reality.

s77j77g77

#2
Quote from: GoodMorning on December 28, 2018, 07:28:39 PM
Relays double packet speed.

Packets are routed once with A* when created, and rerouted if the path that they were going to take no longer exists.


When you say routed with A*, what do you mean by that? Is that the method of calculating the fastest path?

Edit:

No response required, thank you! I didn't realize A* was a type of algorithm. Thank you for the response!