Title: AAI Programmable Vehicles
Short Description: Program and control autonomous vehicles using a remote control handset or circuit conditions and zones. Can be used for base enemy base assault, patrols, friendly base navigation, vehicle-based mining, vehicle-based resource transportation, and more advanced applications. Works with vanilla and modded vehicles.
Name: aai-programmable-vehicles
Mod State: Alpha
Dependencies: Base, AAI Signals
Forum Thread: https://forums.factorio.com/viewtopic.php?t=38475
Discord: https://discord.gg/GDvxHgXjkk
Patreon: https://www.patreon.com/earendel
Development Team: Earendel
The mod portal discussion section is not checked regularly so use the forums if you want a message to be seen.
Long Description
The Advanced Autonomous Industries: Programmable Vehicles mod gives all car-type vehicles some basic AI and allows you to command, control, and automate vehicles.
Vehicle Turrets
Any vehicles with a weapon act like a turret when they are not be directly driven by a player and will shoot at enemy targets. If you hop out of your car to build something then your car will defend you.
RTS-style Command & Control
You start with a Unit Remote Controller, a remote control handset that lets you select groups of units and order them around. The movement commands use biter AI. It can be used to send miners to resource zones, order haulers around, or order vehicles towards enemy bases.
Paths and Waypoints
Press Y (twice) to get a Path Remote Controller. This lets you add waypoints to any number of paths.
Vehicles can be sent to a path start to follow a complicated path around your base. Waypoints can be attached to players other vehicles so you can have a vehicle loop between a mining vechile and a vehicle depot without needing to use any combinators.
Hauling Vehicles
Hauler-type vehicles have an automatic inventory transfer system based on their Unit Data (see below). Their default setting is to accept raw resources. Miner-type vehicles are by default configured to try and push resources to nearby haulers. All vehicles are by default configured to try and pull a bit of coal or wood from haulers so that they can keep running. Vehicle Unit Data settings can be set with a Vehicle Deployer or modified with the Unit Data Controller structure.
Unit Data
Vehicles can store signal data. The signal data can be read with a Unit Data Scanner, or set with a Vehicle Deployer (at deployment only) or a Unit Data Controller (at any time). Item Signals are used in the Automatic Inventory Transfer System (see below), but Item Signals and Virtual Signals (letters, numbers, zones) can also be used to store arbitrary information, such as unique identifiers, squad assignments, or signals to signify alternate behavior.
Automatic Inventory Transfer System
Hauler-type vehicles and other types of vehicle handle Unit Data a bit differently.
Most vehicles use any Item-type signals (Iron Ore, Piercing Rounds Magazine, etc) as a target amount of items to store in their inventory. If there is a Hauler-type vehicle nearby and the vehicle is below it’s target it will pull the missing items from the Hauler. If the vehicle is over it’s target amount then it will try to push the excess items to the Hauler IF the Hauler is set up to accept that item type. If a negative value is set it will always try to clear that type from its inventory. Most vehicles have default Unit Data of Coal 50, meaning they will try and take 1 stack of coal (for their fuel inventory). Miners are configured with Iron Ore -1, Copper Ore -1, Stone -1, Raw Wood 50, and Coal 100. This means they will try and get rid of Ore, and Stone but keep a bit of wood or coal for fuel and export the rest.
Hauler-type vehicles use any Item-type signals as acceptable limits for other vehicles to push items to them. Their default settings are to accept up to 12000 of raw resources. If two haulers meet and one is over it’s acceptable capacity for an item and the other hauler can accept that item then the other Hauler can take the excess up to their own acceptable limit.
Other changes
The tech tree has been altered slightly to make it easier to get vehicles a bit earlier.
To help enforce a specialised vehicle roles a vehicle is only allowed 1 weapon type.
Enemy structures can prevent nearby construction.
Example Uses
Use tile scanning to flag resources with zones. Send miners to those zones. Send haulers to the miners and then back to a depot when they have collected items.
Deploy combat vehicles with signal data of a certain zone, then send then to their assigned zone for patrols or attacks.
If vehicle health drops too low send them back to the base for repairs.
Use the tile scanner to find enemy bases, mark those with attack zones, and send vehicles in to attack without your involvement.
Current issues
Vehicles use biter AI when commanded with Unit Remote Controller or sent to an XY-Tile with a Unit Controller. The biter AI can be a bit derpy.
Instructions
The AAI Programmable Structures mod forum page has the details of structure inputs options and potential outputs: https://forums.factorio.com/viewtopic.php?t=38473
The AAI Programmable Vehicles mod forum page has some "getting started" instructions and blueprints for some basic tasks: https://forums.factorio.com/viewtopic.php?f=93&t=38475#p230122
Demo save file
There's a demo save file on the forum thread with a basic automated setup to help get you started.
https://forums.factorio.com/viewtopic.php?t=38475
Tutorial Videos by Nilaus
- Vehicles and Manual Commands https://youtu.be/paUEMY3lTyQ
- Scanners and Controllers https://youtu.be/e93rbJmFTyU
- Automatic Zone and Miner assignment https://youtu.be/z8zBhn4SBD0
- Automatic Alien Search and Destroy https://youtu.be/e_S5FwEDxeY
- Automatic Haulage from Miner to Depot https://youtu.be/QoVRsQ4e6RE
Tutorial Videos by Seeeno (German / Deutsch)
- Overview / Überblick: https://www.youtube.com/watch?v=FIv0P9bUG3M
- Zoning / Zonen : https://www.youtube.com/watch?v=Mumq28aVCyM
- Auto-Zoning / Auto.-Zone: https://www.youtube.com/watch?v=9ODmYLhamng
- Military / Militär: https://www.youtube.com/watch?v=woSei_ziAmo
- Logistics / Wirtschaft: https://www.youtube.com/watch?v=dKhWarfOcvg