Minimum Risk Movement

From Robowiki
Revision as of 23:15, 23 May 2009 by Mageek (talk | contribs)
Jump to navigation Jump to search
This article may require cleanup to meet RoboWiki's quality standards.
Please improve this article if you can.

A very effective type of Melee movement that is not completely 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

Some of the robots that use this basic system in melee, whether or not the authors call it that:

Calculating the Risk Factor for a point/movement

For FloodHT, the system for this is somewhat like finding the magnitude of a force in an Anti-Gravity Movement system. For each enemy, it use a base risk of a certain point is energy/distance2. Other things it take into account for each enemy:

  • would I be the closest enemy to them at that point?
  • have they shot me recently?
  • would the path from my current location to the proposed point intersect them?

Other things it could have in the future:

  • what is my lateral angle to them? (higher risk to go toward/away than to move perpendicular to them, the dev version of FloodHT already does this at least some of the time)

Other things it take into account aside from its enemies:

  • repel my current location (don't want to stay in the same place for too long)
  • The center
  • The distance I would have to travel (going a long way in a large battle can be perilous!)

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. I believe that 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.