Minimum Risk Movement
|This article may require cleanup to meet RoboWiki's quality standards.|
Please improve this article if you can.
Minimum Risk Movement is an extremely effective type of Melee movement that is not unlike Anti-Gravity Movement in implementation. The idea is to pick a series of points that you could go to next, and rate each one with a 'risk factor', then move to the lowest-risk location.
Bots that use it
There are many bots in melee that use this system, although their authors don't always describe it as Minimum Risk. They include:
Calculating the Risk Factor for a point/movement
FloodHT uses a system similar to finding the magnitude of a force in Anti-Gravity Movement. For each enemy it uses a base risk of energy/distance2. It then considers whether it will be closest to them, because if it is, it is much more likely to but targeted. It also avoids bots that have recently shot it, and tries not to go to a point if it is going to run into an enemy on the way. In addition to the considerations per enemy, it repels its current location and the center of the battlefield and avoids traveling long distances (doing so can be very dangerous in melee). In the future, it might consider its lateral angle to its enemy. It is much more dangerous to move toward or away from an enemy than perpendicular to them. The dev version of FloodHT already does this at least some of the time.
Picking points to try
It's important to pick a good range of practical places to go to for this to work well. Applying a force to the walls is unnecessary if you always just pick points within the battlefield. The melee robot HawkOnFire picks several points around him in regular angular offsets at random distances. The next version of FloodHT will do this at least some of the time. Tron obviously picks 4 points, at pretty much uniform distance, up, down, left and right. He also avoids head-on aim like the plague. FloodHT 0.8 uses a divide-and-conquer sort of system. He divides the battlefield up into 16 rectangles, and rates each one based on the risk of its center point. If he's far away from that point, he goes to it, otherwise he splits that rectangle up into 16 more rectanges and rates them and goes to that point (or continues to subdivide until it just doesn't make a difference anymore). The dev version does this at the beginning of the battle to get situated and then starts picking points around him at a distance.