Dynamic Collision Avoidance Widget

Spring EngineLua Scripts

6896 (0 today)

File Information

Title / Version Dynamic Collision Avoidance Widget v2.2
License Freeware / Free
Filename unit_dynamic_avoidance_ex.zip
Filesize 35.16 KB
Date 09/12/2011 - 20:11
Changed 03/24/2012 - 22:02
Publisher / Author xponen (Uploaded by xponen)


The "Avoidance" widget (v2.2): add avoidance behaviour to cloakable bot & constructors, and to all ground units in contextual manner.

It minimize unit running into enemy.

How it work:
It use mathematical graph to guide unit away from enemy and also to guide unit toward target. Since graph obey an addition rule: so the widget can avoid multiple numbers of enemy without exponentially increase in coding to account for each number of enemy. It was based on this article: http://www.cs.rutgers.edu/~siome/papers/nonlin.pdf and also other related article.

Additional info:
1. Unit will avoid the enemy if given MOVE order, RECLAIM order (area or discrete), REPAIR order (area or discrete), and during IDLE.
2. Constructor can avoid enemy during RECLAIM or REPAIR order: but RECLAIM order has lower tolerance and unit will back off more often than with REPAIR or MOVE order (RECLAIM< REPAIR< MOVE).
3. Constructor under Area-RECLAIM will return to the center of the Area command when detected an enemy.
4. Constructor under Area-REPAIR will not behave like Area-RECLAIM; instead it avoid enemy and return to Area-REPAIR after clear of the enemy.
5. All other unit will only Avoid enemy if not seen by player & if IDLE or during MOVE command.

6. Use unit's Firestate & Movestate to fine tune behaviour. eg: Slow-reloading units might need to be set to return-fire (and not fire-at-will) so that it don't waste shot on other target after reloading (unit move away when reloading).

Version 1.41 fixed bugs and add RECLAIM, REPAIR & contextual feature to make playing more seamless (also added to ZeroK's list of available mod: not activated by default)
Version 1.50 fixed bugs that cause messy move queue related to network latency(ping). Now the widget is 'synced' with server.
Version 1.83 Improved & bugfixed many feature of the widget. Can't remember how much change there was...
Version 2.2 Added menu option support for Chili GUI, created a behaviour for amphibious & sub (not avoid if enemy has no sonar), constructor retreat to base (require gui_recv_indicator.lua, included in zip file, optional), and bugfixes among others.

Non pressing issues:
Widget don't see terrain. May bump into wall.