Unit movement physics in Beyond All Reason use three interconnected parameters. New modders often find the wiki explanation insufficient. The same confusion extends to AI mex builders that fail when spawn locations involve mixed land and water tiles.
Tags: beyond all reason, turninplaceanglelimit, turninplacespeedlimit, maxAngleDif, unit turning, ai pathfinding, unitdefs
turninplaceanglelimit: how sharply a unit can change direction before it needs to slow down. A small angle means the unit turns freely at full speed. A large angle forces the unit to brake before turning.
turninplacespeedlimit: the minimum rotational speed the unit will use during a slow turn. Sets the floor for how fast the unit rotates when it cannot turn freely.
maxAngleDif: the maximum angle difference allowed for unit movement on terrain. Affects how units navigate slopes and uneven ground. Changing this parameter can break AI pathfinding entirely if set incorrectly.
Custom AI that crashes from server overflow errors often traces back to mex builder pathfinding failures. When no T1 water mex exists and the mex spawn sits in water, the builder gets stuck trying to place a land mex on a water tile.
Working solutions include editing the T2 mex to support both land and sea placement, or ensuring the builder can handle invalid target locations gracefully instead of crashing.
The SpringRTS wiki at springrts.com/wiki/Gamedev:UnitDefs covers maxAngleDif and other terrain-related parameters. Reading the actual parameter documentation there clarifies what the wiki summary pages leave ambiguous.
Units that turn correctly and AI that does not crash are the difference between a functional mod and a broken one. Testing edge cases like water mex placement prevents server crashes during actual matches.
[Crd] Before discovering Creed, I was thinking the only thing that separates BAR from the perfect RTS is a friendly and safe social environment for new players to learn and feel included.