Cities: Skylines

Cities: Skylines

588 ratings
[ARIS] Enhanced Garbage Truck AI
 
Rate  
Favorite
Favorited
Unfavorite
Mod
File Size
Posted
Updated
0.020 MB
May 8, 2015 @ 5:38pm
May 9, 2015 @ 3:00am
3 Change Notes ( view )

Subscribe to download
[ARIS] Enhanced Garbage Truck AI

Subscribed
Unsubscribe
Description
Oversees trash services to ensure that garbage trucks are dispatched in an efficient manner. See also:
- [ARIS] Enhanced Hearse AI
- [ARIS] Remove Stuck Vehicles

──────────────────────
Did this mod work for you? How can it be improved?

Please consider:
★ Rating this mod and
✍ Leaving some feedback

Thank you :)
──────────────────────
✓ CAN be used on existing games
✓ CAN be disabled at any time
✓ CAN be removed at any time
✓ Does NOT break savegames
✓ Does NOT cause permanent changes
✓ Does NOT conflict with original game code
✓ Does NOT conflict with other mods' code
──────────────────────

Overview
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.

Details
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

Inside a District
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.

Outside a District
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

Pickup Priority
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

Efficiency vs Urgency
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.

Conflict Resolution
Each landfill/incinerator gets its own dispatcher. The dispatcher will try to maximize the efficiency of all its garbage trucks, i.e., reduce the chance that two garbage trucks will be sent to the same location for pick up. HOWEVER, just like in real life, the dispatchers of different landfills/incinerators will not call each other constantly to make sure they are not all dispatching for the same building. So, if you have multiple landfills right next to each other, it is possible that a building will be fought over by garbage trucks from different landfills. With that said, it shouldn't be a common occurrence.

Why require Skylines Overwatch?
Skylines Overwatch is a high efficiency monitoring framework that mods can attach to. By using it, attached mods don't have to monitor the city themselves. This not only makes coding mods easier, but also reduces each mod's burden on the system. See Skylines Overwatch for more information: http://steamcommunity.com/sharedfiles/filedetails/?id=421028969

Check out the new FAQ: https://github.com/arislancrescent/CS-SkylinesOverwatch/wiki/FAQ

Source Code
GitHub: https://github.com/arislancrescent/CS-EnhancedGarbageTruckAI

Other
Trash icon created by OCHA Visual Information Unit: https://thenounproject.com/term/solid-waste/4337/
< >
156 Comments
I Smell Smoke Jul 29 @ 6:06am 
this mod has not been updated since 2015. it will not work with any of the DLC content or many of the updates. It's clearly been abandoned.
Robloxian Jun 24 @ 4:40pm 
This is majorly broken. DO NOT SUBSCRIBE!
Insperatus Feb 19 @ 9:05pm 
does this still work?
҉҈҉҈☼҈҉҈҉ Jan 23 @ 8:37pm 
shit mod, it caused 90% of my trucks to not get sent out and my entire city had rubbish piled up despite having 42 million capacity with using only 1.7mill of it
Ranazomic Jul 5, 2017 @ 2:25pm 
update it for 1.7 please
jhughes May 9, 2017 @ 7:33am 
There is a version modified to work with the current latest game version here:
steamcommunity.com/sharedfiles/filedetails/?id=813833476

But in a couple of weeks after mass transit, it will likely need redone.
BangDroid Jan 2, 2017 @ 3:41pm 
So are this and Overwatch both dead for now?
AlexM Dec 29, 2016 @ 6:28am 
This is cropping up in a lot of mods:


[ARIS] Enhanced Garbage Truck AI: Failed to initialize
Error: Could not load type 'ColossalFramework.Steamworks.PublishedFileId' from assembly 'ColossalManaged, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null'.

==== STACK TRACE ====
at EnhancedGarbageTruckAI.Dispatcher.OnUpdate (Single realTimeDelta, Single simulationTimeDelta) [0x00000] in <filename unknown>:0


Rebuilding against the latest DLLs will fix this.
Yokmosho Dec 3, 2016 @ 10:05pm 
The mod doesn't seem to be working with the disaster DLC