-
Notifications
You must be signed in to change notification settings - Fork 9
Design
To design a transit system that will fit your need you must follow a design process. This article will try to give keys for a good design.
I intentionnally use the word distribution point, since it is what ByteCart is. You must think of it like an internet access and not like a transport system. ByteCart is clearly user-oriented and the philosophy is that every player can have his own stations, with an s because each player may have different access points: house, mine, farm, etc.
Of course you will have some more classic stations to transport players. You can make big stations for events or small stations.
You can also plan distribution points for "online" services such as a common warehouse, a sorting machine, a bank, etc.
Once you have identified the distribution points, you must locate them on a map.
You must analyze the map and the distribution points to evaluate the traffic:
- Where are the areas where there will be a high local traffic ?
- Where are the biggest flow ?
- Where are the isolated points ?
You must apply the following principles:
Areas where there is a high local traffic will have deterministic circuit, i.e. there will be no choice for the path. Think about a metropolitan transit system with a circular line: To go from one point to another of the city, you have only one circuit possible even it is not the shortest path. People tolerate this situation if the trip is not long.
In situations where deterministic circuit is not tolerable and a choice must be made to optimize the path, you need a router. Think about a national transit network: people who want to go to the South will not understand why they first go to the North on a long distance. Routers are the only device that can optimize the path and send people to the right direction.
You must place the routers following this principle: where is it unavoidable to make a decision about the best route to take ?
Once the routers are placed, draw the main rings to link them together. Rings must be the shortest possible, but should be close from the areas where there are many distribution points.
All the distribution points will placed on subrings of 128, 64, 32, 16, 8, 4 or 2 stations, or will be directly on the ring if they are close to it.
There are some cases where a new region must be created instead of extending an existing one.
Extending a region has some drawbacks: It extends the perimeter covered by the updaters and can make the discovery of the region uneasy. Remember that there is a timeout on the updaters.
Extending a region is like extending a suburban transit system: there is a point where suburban transit system is not relevant. This is the case if the distance between 2 routers becomes huge. It is difficult to give a rule, just look at the shape of the region: it must not be stretched or distorted.
A case is when you have developped 2 different regions of the world: You must have 2 distinct regions, and connect them through a backbone.