Update 26.Feb.2019(v53)- New: AI is now sending a chat message if AI-markers are missing.
- New: Added platoons to send units to the enemy on unitcap.
- Fix: Attackplatoons no longer attack buildings while capture/reclaim is in progress.
- Opt: Tactical missiles launchers no longer attack underwater targets.
- Opt: AI will now perform better on low unitcap like 250 or 125 units.
- Opt: Optimized pathing function. Maps with 800 markers are now possible without pathing-lag.
- Opt: Optimized all AIBuilder files for low unit caps like 250 or 125.
- Dev: BasePanicZone, BaseMilitaryZone, BaseEnemyZone are now calculated inside uvesoutilities.lua for all AIBuilder files.
Pathfinding news:Normally the pathfinding function is sorting all paths, so that the best path is sorted at the end of the table.
But we can also just loop over all paths and only store the key of the best path (table index).
If we do so, we reduce the highest pathcalculation peek from 192 to 107 milliseconds and
the average calculation time from 43 to 11 miliseconds.
After some optimizing the highest pathing time was 74 ms and the averange pathing time was 9.2 ms.
Makes the pathing function ~ 400% faster.
(and eliminate the 200-milisecond pathing sim-lag on maps with 800+ markers)
Some testing times on adaptive_mars_-_mangala_fossa.v0001 with 869 AI markers:
Pathing Highest: 192.13 ms - Pathing Average: 43.43 ms (unchanged pathing function / default)
Pathing Highest: 227.29 ms - Pathing Average: 37.39 ms (with "local" PathCache)
Pathing Highest: 219.72 ms - Pathing Average: 35.87 ms (without Cache)
Pathing Highest: 107.91 ms - Pathing Average: 11.80 ms (search table instead of tablesort)
Pathing Highest: 74.21 ms - Pathing Average: 9.24 ms (after optimization)
Map Adaptive Ahssa-Shi with 153 AI markers:
Pathing Highest: 11.71 ms - Pathing Average: 3.42 ms