Space Engineers

Space Engineers

APCK Control Module
cheerkin  [developer] 21 Nov, 2022 @ 2:55pm
AutoPillock description draft
AutoPillock2 is general-purpose control script with focus on grid movement, formation management and combat. Feature highlights:

Move/Follow: point, formation, docking navigation, landing to surface, planetary circumnavigation
Cruise: keep altitude, speed control, planetary circumnavigation (orbit), limited collision avoidance
Attack: different attack behaviors for point or targeted entity attacks. Advanced vanilla and custom weapons control
Jab: inertial torpedo launch using ship acceleration, drones can launch owned guided missiles
Ram: missile behavior (arm warheads, evasion mode, trigger timers), space-planet or planet-space pathfinding (circumnavigation)
Wingman: dynamically configured formations based on subordination tree
Docking: autodocking to any friendly ship (including moving) with navigation graph support (for closed-type carriers)

Built-in thrust control: gravity drive, volume thrust, single direction thrust (for missiles).
External thrust provider script support:
1. Two types of clangdrive (mass shift, MMF)
2. VTOL
3. Rover (very basic at the moment)


Tactical Graph:
Formations based on tree subordination. Tree is formed based on ranks and/or proximity. Commands can be issued to the whole attached wing and propagated down.

WeaponBot module.

Ripple fire mode with individual gun aiming.
Switching based on weapon cooldowns, combat distance accounts for available weapons.
Support for weapons in all 6 directions.
Default weapon accuracy is 2/5m for ripple/pressure weapon groups.
Weapon support:
- W2 vanilla
- Custom groups with velocity, range, accuracy settings.
- Player-made weapons like AK-125/8, piston jolts, etc.
- torpedoes with timer/proximity fuse
- internally-controlled missiles (aka Sub-Units)

Captain module.

Task queue management. Default task, wait for signal, repeat task, etc.
Target environment analysis, listening to global targeting link and designator turrets.
Assigns attack orders to WeapBot and move orders to Pilot.
Desides how to react on nearby threats.
Desides how exactly to fly to task position (flight behaviors, circumnavigation, carrier sphere avoidance, altitude checks, etc).
Raycast point, rangefinder, GPS reader to provide simple targeting alternative to TGP script.
Gateway to Command script that allows RTS-like fleet control.

Pilot module.

Flight and rotation. Controls gyros and thrusters to get the grid in a certain spot and rotation, or delegates this task to ThrustProvider service for VTOL/Clang/Rover.

ApckUnit module

Responsible to collect only blocks that are logically relevant to the agent. For example, one grid can be a bunch of drones dead-merged together, and ApckUnit resolves that.
Recursive initialization of units (one PB can control many "virtual" units like drones or missiles that are dynamically initialized and detached by merge block, they don't need antenna).

DockHost module.

Provides docking/departure services for friendly agents.
Two modes:
- simple, when no navigation graph is attached - one approach waypoint above connector, no locking.
- navgrapth - runs a* navigation algorithm to tell an agent the shortest route from entry point to assigned dock or vice versa. Allows building complex routes to internal hangars.

Targeter module

Polls designator turrets for targets, provides simple filtering like minimal size.