Arma 3
BAD - Better AI Driving (WIP)
Showing 1-9 of 9 entries
Update: 31 Aug @ 2:11am

📝 Changelog — Update [v0.7] (2025-08-31)

🚀 New

Role-based Eden UI
Three clear toggles per unit: Is this AI a driver / passenger / gunner. Options are gated (greyed out) until a role is enabled.

Passenger/Gunner behavior at last WP
Passengers can be set to dismount on the last waypoint and optionally become combat ready. Main turret gunner can be ordered to stay in the vehicle at the last WP.

Vehicle-level inheritance
The driver collects passenger/gunner flags from crew and applies them at the vehicle level, so vehicle behavior matches the actual crew roles.

Convoy spacing integration
Convoy spacing now also uses engine-side setConvoySeparation (min 6 m). Works alongside BAD’s pacing logic.

Driver dismount applies to all drivers
If enabled, every driver in the group dismounts at the last waypoint (not just the leader).

⚙️ Improvements

Arrival detection for last WP
Triggers only when the group is on the final waypoint, the vehicle is close (≈35 m) and has slowed down. One-shot per vehicle.

Reliable dismount pipeline
Per-seat processing via fullCrew. Uses GetOut with timed fallback to moveOut, plus allowGetIn blocking during the stay-out timer, then re-enables boarding.

Convoy following stability
Kept stable “no reverse, no pile-ups” pacing; vehicles follow roads with forceFollowRoad and respect the speed limiter and spacing cap.

3DEN UX
All BAD options start disabled by default. Clean, role-gated layout. Safe expressions that work on single and multi-select.

🐛 Fixes

Passengers dismounting mid-drive
No longer triggered early; only fires at the actual last WP with speed/position checks.

“Only one passenger leaves” bug
All passengers now evaluate and dismount individually; turret seats obey rules, main gunner can be excluded when “stay” is on.

allowGetIn errors in RPT
Corrected syntax and timing to prevent script stops during dismount.

Event handler hygiene
Gunner “stay” handler is safely added/removed; no duplicate EHs or stale state.

🗑️ Removed / deprecated

Removed the old Preset dropdown (Convoy / Patrol / Civilian).
Removed legacy options: Impediment warning, Stay-out to engage enemies, Obstacle auto-resume, Resume scan distance, Resume hysteresis.

ℹ️ Notes

Do not mix roles on the same unit (pick exactly one: driver or passenger or gunner).
Put all vehicles in one group, and keep all crew members in the same group as their driver. Add at least one road waypoint for the vehicle group.

Update: 24 Aug @ 4:54am

📝 Changelog — Update [v0.6] (2025-08-24)

🚀 New

Convoy spacing control (per-unit Eden attribute)
Keeps a target gap between vehicles using a proportional speed cap. Uses a lateral “lane” corridor and a fallback so followers never lose their leader. Default minimum is 6 m (clamped & documented in the tooltip).

⚙️ Improvements

Convoy-aware obstacle logic

Ignores same-group vehicles/men (no false stops from convoy mates).

In Convoy mode, ignores world clutter (House/Wall/ThingX).

Tight forward cone (~31°) to reduce side hits.

Spacing v3 controller
Pure speed limiting (no PATH freeze) → smoother following, fewer mid-road dead-stops, less rear-ending.

Speed loop integration
Final speed = min(vehicle cap, spacing cap) for stable pacing.


🐛 Fixes

Animals no longer block convoys
Clean class-based filtering; removed unsafe isAgent use that caused startup errors.

3DEN stability
Removed unsupported “Button” controls; restored BAD Preset (apply to selection) with a robust single-line expression (works on multi-select + single selection).
Default BAD checkboxes now start unchecked; presets set everything explicitly.

Config hygiene
Balanced braces, deleted stray ";" lines, corrected _veh setConvoySeparation (was called on group).

Waypoint dismount loop
Resolved remount “yo-yo” at Get-Out waypoints; stay-out timer respected.

Update: 23 Aug @ 4:29am

📝 Changelog – Update [v0.5.1] (2025-08-23)
🛠 Tweaks & Maintenance

• CfgFunctions housekeeping: registered debugInit / debugRegister; removed an unused waypointHandlers entry.
• Safer re-apply: tightened guards on threads & event handlers to avoid duplicates after respawn/reinit.
• Robustness pass: refined internal state sync (stay-out window marker, WP controller) for smoother edge cases.
• Floor-It cleanup: ensures forced speed is released after the short boost ends (prevents lingering caps).

ℹ️ Notes: No intended gameplay changes—this is a maintenance pass for stability and cleanliness. Restart Arma after updating the mod.

Update: 19 Aug @ 5:53am

📝 Changelog – Update [v0.5] (2025-08-19)

• Speed overrides now apply instantly when a tagged waypoint is reached (no delay waiting for loops).
• Safe fallback: if a waypoint with getout=1 is the last in the route, AI will dismount on arrival automatically.
• Refined stay-out enforcement logic to prevent AI from remounting before timeout/enemy check passes.
• Fixed script error caused by invalid then syntax in dismount logic.

Update: 19 Aug @ 2:02am

📝 Changelog – Update [v0.4] (2025-08-19)
🔧 Fixes & Improvements

Floor it under Fire
• Fixed unintended behaviour where AI drivers and crew dismounted under fire.
• Crew now stay inside the vehicle and push through contact as intended.
• Added a short safety window (~8s) during which crew cannot leave the vehicle after being fired upon.

Rule Separation
• “Floor it under Fire” and “Dismount under Fire” are now fully independent.
• By default only Floor it is active; Dismount requires an explicit toggle (if added).
• Prevents accidental bailing when only Floor it is enabled.

General Stability
• Cleaned up event handler logic to avoid stacking or conflicting behaviours.
• Ensured vehicle settings persist consistently when reapplied.

Update: 18 Aug @ 1:07pm

📝 Changelog – Update [v0.3] (2025-08-18)
🔧 New Features

Obstacle Stop / Auto-Resume
• AI drivers now stop and hold when encountering obstacles on the road.

Dismount Under Fire Rule
• AI drivers will immediately stop and dismount if the vehicle is hit or fired upon.

⚙️ Improvements
• Stabilized obstacle detection to include parked vehicles and other units.
• Defensive code added to prevent script errors across different vehicle types (cars, armor, etc.).
• Optimized driver state handling to ensure smoother transitions when stopping/resuming.

Update: 17 Aug @ 11:40am

📝 Changelog – Update [v0.2] (2025-08-17)
🔧 New Features

Stay Out (Timer Option)
• Added waypoint attribute for MOVE waypoints.
• AI can now dismount and stay outside the vehicle for a set amount of seconds.
• Useful for ambushes, temporary holds, or letting infantry clear an area before remounting.
• Logic automatically cancels if enemies are present (AI will fight).

⚙️ Improvements

• Fixed logic so AI consistently dismounts at the last waypoint.
• Cleaned and stabilized code to prevent mission-start errors.
• Functions now properly load without missing script warnings.

Update: 17 Aug @ 1:57am

📝 Changelog – Update [v0.1] (2025-08-17)

⚙️ Improvements

• Fixed logic so AI consistently obeys the speed limit.

Update: 17 Aug @ 1:17am

Initial WIP Release:
- Speed limiter working
- Co-driver takeover partially implemented
- Get out on location (basic version)
- Impediment warning (basic stop behavior)
- Floor it under fire