Quote:
Originally Posted by Pierre-Marie Baty
POD-bot already has a "waypoint radius" feature which allows the waypointer to set the "radius" of a waypoint. Setting a radius of 0 will make the bots reach the waypoint *exactly*.
|
Hm, that's not what I was referring to. I know about the waypoint radius that can be set manually. What I was referring to (although I gotta admit I could have expressed myself clearer) is THIS:
[Taken from Count Floyd & Botman's "How to do Waypoints for POD-Bot" document accompanying the PODBot 2.5 release]
"The bots have a hardcoded radius inside my DLL where the Bot thinks he reached this precious waypoints."
This is what makes PODBots vulnerable for some problems, like in the following example:
Imagine a high, straight wall. Imagine its top is just as wide as a man (or bot, if you prefer). Imagine there's a ladder fixed to one side of the wall. Imagine a waypointer wants bots to a) climb up the ladder and b) having reached the top of the wall, turn either left or right and walk along the top of this wall.
What will happen? Well, I`ll tell you: Bots will climb the ladder, and upon reaching the top ladder waypoint, located at a short distance from the first normal waypoint on top of the wall, in direct line with the ladder, they will turn right or left immediately and... *smash* ...die a very ugly death.
Why? I suppose because when two waypoints are relatively close to each other, their hardcoded radii overlap, making the bot unable to distinguish which of the two waypoints he has reached and which one is still a tiny bit away from him.
Another problem with the bots's movement is their tendency to smooth the connections established by waypoints. On open grounds, this makes their movement appear more natural and fluent, but in tricky corners it makes things difficult.
Imagine a door, and right next to the door a "walk-into" button that opens the door. Of course you'll want bots to
a) walk into the button
b) walk a few steps back and to the side, until they face the door
c) walk through the door.
In order to achieve this, your waypoint connections will look a bit like a Z, where the upper left end of the Z is the point where the bot starts. The upper right point is the button. The lower left point is the waypoint in front of the door. And the door is at the lower right end of the Z.
Nice. In theory. In practice, bots will turn this Z into a figure that resembles a horizontally mirrored S, smoothing out the two acute angles of the Z.
This way, they will tend to turn around before reaching the crucial button waypoint, make an elegant curve and bump head first into the door...
Now I was wondering (dreaming) if this hard-coded radius could be deactivated for some waypoints???
(BTW, my posts seem to keep getting longer - if this continues, I'll change my name to "Lord Megathread" and sponsor glasses for you all... :-) )