Space Engineers

Space Engineers

Not enough ratings
Clang Drive Manager - Fey's Fork
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
450.845 KB
23 Nov, 2023 @ 6:10am
30 Nov, 2023 @ 7:51am
4 Change Notes ( view )

Subscribe to download
Clang Drive Manager - Fey's Fork

Description
Script to manage some clang drives, fork of the amazing Clang Drive Manager script by Major Jon with extra/reworked features.

Main changes from the original:
- support for small grid MSDs and MPDs
- reworked gravity dampening

Compatible drives
The script autodetects drives that match certain specific shapes. No nametagging necessary.
It can detect all drives that the original script could detect: MPD-1, MSD-2-21, MSD-2-S, MSD-35, PDD-1, PDD-3, MID-6-3.
But now also some small grid drives variant of those, as follows: MPD-1-T, MPD-2-T, MPD-1-S, MSD-1-S, MSD-2-T, MSD-3-T, MSD-4-T.

Support for small grid MPDs
Script can now recognize some small grid MPDs by tolerating longer rotor chains needed to keep merge blocks away from each other, among other things.

Small grid MPDs are much weaker than their large grid counterparts. About a dozen is needed to fight off 1g gravity.
Also, tiny ones randomly fail to work above 35m/s, whereas 3x3 ones randomly fail to work at all. No idea why.

Support for small grid MSDs
Script can now work with more configurations of MSDs by being able to run them inverted. It so happens that many configurations behave inverted but are perfectly usable.

1-rotor MSDs and some other configurations like very low mass 2-rotors can be moody: they randomly behave inverted or their power output varies. Those tend to be unreliable for heavy lifting, their dry output being illusory.

Blocks placement
The script only recognizes controllers and drives on the same grid as the script's programming block.

Notable MSD configurations
MSD-2-T with 1T of iron gives 600kN of thrust. With 2.6T of plat it gives 2.5MN. It is possible to output more with modifications, up to around 18MN, but then MSD-2-S would be better indicated.
MSD-3-T with 1T of iron gives 1.5MN of thrust. With 2.6T of plat it gives 4.2MN.
MSD-4-T with 1T of iron gives 2.8MN of thrust. With 2.6T of plat it gives 7MN.
MSD-2-S with 20T of content gives 14MN of thrust. With 40T it gives 28MN. Above that, it becomes possessed.

Reworked dampening
Requirement for dampening
For any dampening to work, ship needs to have at least one regular drive on main grid, otherwise the controller won't let you turn dampening on. I don't think I can do anything about it.

Dampening calibration and known drives
The script now tries to auto-estimate available drive force and relies on this for gravity dampening calculations.
Only some known drive configurations are properly autocalibrated like this. Lacking formulas to automate this, configurations have to be manually added on a case by case basis.

As of now, only most tiny and small MSDs are properly calibrated.

Unknown configurations are assumed to have enormous force, nullifying gravity dampening.

Torque reduction
It attempts to reduce torque caused by a set of MSDs not being well enough aligned with the CoM. It does so by moderating their power output.

It's far from perfect. Not only is it a compromise between thrust and torque, but it also relies on proper drive calibration. More specifically, if you mix together different types of drives among which one type isn't properly calibrated, then it'll do terrible things.

Control switches
Script behavior can be turned on/off with the following switches:
- "on", "active": turns it on
- "off", "idle": turns it off
- "toggle": toggles it on/off

Controller inputs react to the following switches:
- "auto": regular manual WASD driving
- "forward": same but will automatically go forward
- "maneuver": same as auto but using only a tenth of the drive power
- "rover": same as auto but ignores left/right inputs

Future plans
Hopefully, some day some of those things will be done:
- code cleaning
- make the core of the script use the programming block as a reference, and only use the ship controller for inputs
- switch to Custom Data-based configuration
- add a proper torque cancellation algo
- integration of MPDs and piston door drives into the torque reduction system
- proper calibration of most drives