Robo Home | WallSmoothing | Changes | Preferences | AllPages

In the image above, our robot (the small blue circle) is driving in a circle around an enemy (the red circle). The enemy is 250 units away. Our WallSmoothing algorithm is currently using a 150 unit distance, so we're going to pick destinations that lie somewhere on the outer dark blue circle. The bright green circle is our destination if we drive clockwise around our enemy, the darker green circle is our destination if we drive counterclockwise around our enemy. Since we're not yet near a wall, no smoothing is needed.

Now we've been driving around our enemy clockwise for a bit more time, and we're starting to approach a wall. The end of the black field is the side of the battlefield. The gray line represents the closest we can get to that wall, which is 18 units. Since we can't drive directly perpendicular to our opponent for 150 units any more, we choose a "smoothed" point which is closer to the enemy. In other words, we choose the intersection of the grey line and our 150 unit dark blue circle. The advantages of doing this are

  1. We don't hit any walls.
  2. We can still drive clockwise or counterclockwise, so we're less predictable (and therefore harder to shoot) than if we always just reversed direction when we came near a wall.

If we keep driving clockwise, the "smoothing angle" will get steeper and steeper, meaning that we are driving more towards our enemy instead of perpendicular.

That's it! Now you're WallSmoothing! --David Alves

Robo Home | WallSmoothing | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited July 15, 2006 12:17 EST by David Alves (diff)