Page 1 of 1

Getting bots to walk on "broken ground"

Posted: Sun Jul 29, 2007 7:20 pm
by Orion
Hi there.

My bots use walkmove() for navigation, but they don't go to "broken grounds" (like start's 3rd episode walkway).
They emulate client physics, too, but when they reach these broken grounds, they spin like sensitivity 100, and can't get out of that area. They don't even strafe in that areas, they attack stopped!
They only get out when an item respawns and is visible.

The same thing happens when they're in a ledge of a ladder or something similar.

A solution for this is use the figgin tutorial, and only use movetogoal() instead of walkmove()... But walkmove() is pretty useful for strafing and roaming!

So, have any other ways to fix that?
Thanks!

Posted: Sun Jul 29, 2007 7:34 pm
by scar3crow
They only get out when an item respawns and is visible.
My first thought is an incredibly hacky one... Have them move for the door in the e3 hallway, so have them treat doors like items in terms of the goal.

My other thought is simply having them check their progress periodically "How far am I from where I was just a moment ago? Am I still in that spot and I'm not in combat? Pick an angle and push myself forward 200 units or so." Granted this is another terrible hack, and could have some hilarious outcomes on dm4 (spinning over a hole on the pathway, stopping, and then just walking right into the lava).

I'm obviously not a coder.. I'm pretty sure Coffee did a tutorial on walking on broken ground (or maybe it was MauveBib writing in for him back when he was known as SkinSki...) which I can't find right now but should be here http://minion.planetquake.gamespy.com/tutorial/main.htm

Posted: Mon Jul 30, 2007 6:14 am
by Urre
Orion: Frikbot tosses player-sized entities in the direction it wants to move. The tossed entities aren't affected by so called broken ground, so I'd suggest you use that instead of walkmove. My primary recommendation however is tracebox, but then you're limited to certain engines.

Posted: Mon Jul 30, 2007 7:07 pm
by HeadThump
if the maps are custom, you can use clip brushes over the sections where bots are having problems. If the height changes in the floor are minor, 4 or 8 units, it probably wont be noticeable when the bots pass over.

Posted: Mon Jul 30, 2007 9:48 pm
by scar3crow
Urre is on a more right track than I was ever approaching, when it comes to navigation a bot should never be concerned with something smaller than the player hull dimensions, though combat is different. Cause point size hulls are damn tiny.... But yeah, deciding if they can fit, that is basically the best way. Kinda like getting a child to walk on a wooden bridge, assuring them that the spaces in between are too small.

Headthump - Finish that massive map! I want to kill my system with architecture!

Posted: Mon Jul 30, 2007 9:57 pm
by Urre
Headthump: clip brushes don't stop pointsize traces :(

Posted: Tue Jul 31, 2007 5:58 am
by Sajt
I thought they stopped SLIDEBOX but not BBOX, or something like that.

Posted: Tue Jul 31, 2007 7:51 am
by Urre
Sajt: no, it's size related. It stops traces the size of the player and shambler, but not bullet.