Enhanced Garbage Truck AI [Fixed for v1.4+]
I fixed Skylines Overwatch for SnowFall.
Note: To use this version you need to unsubscribe original version first, and then subscribe to my version.
Note: I have changed the code, so this may conflict with other mods’ code.
The following description was quoted from the original version.
Comparing to the vanilla AI, this AI:
1. Dispatches as many garbage trucks as necessary, as long as the landfills/incinerators are not full. You should no longer see landfills/incinerators not sending out idling garbage trucks, while your city is being overrun by trash.
2. Routes garbage trucks to pick up garbage efficiently. For a given pattern of trash pickups, garbage trucks will be dispatched to resolve the pattern as quickly as possible. This AI would even automatically send “backup”, if it seems like the dispatched garbage truck cannot complete the job.
There are two sets of important concepts to keep in mind for this mod:
1. Inside vs outside a district
2. Primary vs secondary pickup zone
If a landfill/incinerator is inside a district, then:
1. Its primary pickup zone is the district
2. Its secondary pickup zone is its effective area, which is specified by the game as a radius range with the building as the center. This area is approximately 50% of one tile.
If a landfill/incinerator does not belong to any district, then:
1. Its primary pickup zone include all the areas within its effective area that does not belong to a district
2. Its secondary pickup zone is the rest of its effective area
Garbage trucks will always prioritize buildings in their primary pickup zone. However, there are several rules within this general rule:
1. Between problematic buildings (those showing the garbage sign) and nonproblematic ones (those that have no visual clues), garbage trucks will prioritize the problematic ones for pickup
2. However, if they come across a nonproblematic one along their way, they will pick it up first; but only if it is not behind them
3. If there is a closer building of the same priority, they will redirect to the closer one; but only if it is along the original bearing
The pickup priority above exists to achieve a good balance between making the garbage trucks as efficient as possible vs keeping your CIMs as happy as possible. When you see a garbage sign, that means a building has become a nusance and your CIMs are not happy about it. But if we were to prioritize getting rid of the garbage signs as fast as possible, we would have to take a large hit on overall efficiency. On the other hand, if we were to do the opposite, then we would be ensuring maximum efficiency at the risk of losing buildings to abandonment. The existing setup benefits from both approaches by prioritizing problematic buildings for overall bearing, but at the same time allowing pickups of nonproblematic buildings along the way.
See Also: Skylines Overwatch [Fixed for v1.3+]Original version: [ARIS] Enhanced Garbage Truck AI
Source: