Frikbot waypointing question

Discuss Artificial Intelligence and Bot programming.
Lightning Hunter
Posts: 169
Joined: Wed Nov 28, 2007 6:15 am

Post by Lightning Hunter »

FrikaC wrote:Not true, the teleport lockdown works fine for the frikbots, this has been tested rather extensively. I'd suggest using directional on any waypoints near the teleporter that they might miss due to being teleported, but I'm not sure how well that works with telelinks.
Already tried that. It seems to me that all directional does is have bots skip the waypoint that is set to directional, and go straight to the next waypoint in the series. In the case of teleporters, they just skip the waypoint set to directional and go straight to the teleporter. This can be useful, but I've found some situations in which the bots still mess up. I'll get a demo recorded of the Frikbots having trouble on teleporters for you.

Speaking of directional - I've actually found that bots still have some issues with wind tunnels that throw you in the reverse direction. I've tried many different set-ups, including two waypoints over the jumppad, with the one on top set to directional - but they still sometimes try to jump back down because they didn't fully "touch" one of the waypoints. If there is a better way of doing this, I still haven't figured it out. I've gotten bots to use them like 90% successfully, but there is still that occasional map where I have to spend like 20 minutes getting them to backtrack and go into the wind tunnel using precision, or else they miss the waypoint and keep jumping back in. If only there was a way to have them go toward a waypoint, but not be required to actually touch it.

Edit: Ok, I uploaded 2 demos for you. This is the first time I've done Frikbot Demos. I'm amazed that everything from the spectator to the waypoints to the botcam shows up! One of the demos is of Dapak5, and the other of jvx1_hr. Download the demo and maps here:
http://filebeam.com/3687d359de0b0448272d7cefaba4d45a
http://ftp.unsix.net/pub/games/quake/ma ... dapak5.zip
http://www.gamers.org/pub/idgames2/plan ... vx1_hr.zip

The Dapak5 demo shows the bot going into the telepoerter and re-entering the exit teleporter so fast that he ends up right back where he was, and heads toward the waypoint he should have ended up at. He then tries again, and succeeds the second time. If I place the waypoint in front of the teleporter off to the side and give it a precision + directional tag, the bots will do better - but if you watch them fight long enough, you will still see them mess up on this teleporter no matter what I do.

The jvx1_hr demo shows a few issues. The first is the bot entering the string of teleporters. If you listen closely, you can hear him teleport TEN times. There are only 5 teleporters total on this map, so this tells me he messed up somewhere in the circuit and started over (hard to tell since he goes in them so fast). The most obvious bug is in the end of the demo, when he teleports and tries to go back to do it again. If I set all waypoints in front of teleporters to precision, the bots do better - but they use the system much slower and still have the bug sometimes. For the sake of the demo, I turned precision off.
Lightning Hunter
Posts: 169
Joined: Wed Nov 28, 2007 6:15 am

Post by Lightning Hunter »

I found a perfect example of bots having trouble with teleporters. It's Dr. Shadowborg's very own drsdm1, "Vertically Disinclined". All you have to do is follow the bots for a minute or so on this map, and you will see them have issues with many teleporters. I tried changing around the waypoints and setting some of them to precision, but nothing helps. I believe the teleporters on this map are beyond helping with waypoints, like several other teleporters I've come across in other maps. I've started calling them "trouble teleporters". There are quite a few of them. I'd say about 25% of them have these issues.

Download the map here to see it for yourself:
http://tlb.quakedev.com/drsdm1.html
Dr. Shadowborg
InsideQC Staff
Posts: 1120
Joined: Sat Oct 16, 2004 3:34 pm

Post by Dr. Shadowborg »

O. M. G.

That map is really, REALLY embarassing looking at those screenshots now. It's amazing what a difference going from worldcraft 1.6 to 3.3 and 2-3 years later actually makes...

Back to the topic though, I wonder if this is why bots have an annoying propensity of hanging around the damned teleporters in dm6...
Lightning Hunter
Posts: 169
Joined: Wed Nov 28, 2007 6:15 am

Post by Lightning Hunter »

Dr. Shadowborg wrote: Back to the topic though, I wonder if this is why bots have an annoying propensity of hanging around the damned teleporters in dm6...
This is a definite side effect from the teleporter issues. When the bots mess up going into a teleporter, they keep running toward the waypoint they should have ended up at, which usually means getting stuck in a corner somewhere near the teleporter. It's the most common problem I see with Frikbots that unfortunately is very hard or sometimes impossible to cure using waypoints. I've concluded that there are just some trouble teleporters that the bots can't deal with very well. I wonder if anyone could ever fix up this part of the code?
Lightning Hunter
Posts: 169
Joined: Wed Nov 28, 2007 6:15 am

Post by Lightning Hunter »

Hey FrikaC, is there a way to stop the Frikbots from using the Grenade Launcher to shoot at buttons? It's a very annoying bug. I've seen several situations now where the mapper puts a grenade launcher right next to a button, and the Frikbots pick it up and proceed to launch every grenade in their inventory at the button...

I know the other things I mentioned about Frikbots take a lot of time to fix, but it can't be too hard to fix the Grenade Launcher issue, can it?
FrikaC
Site Admin
Posts: 1026
Joined: Fri Oct 08, 2004 11:19 pm

Post by FrikaC »

I wanted to do this in a generic way, couldn't think of one so I ignored it. I probably should've implemented a "Weapon attribute flags" like "Okay to use to shoot buttons/doors" "okay to shoot zombies" etc.
Lightning Hunter
Posts: 169
Joined: Wed Nov 28, 2007 6:15 am

Post by Lightning Hunter »

Does anyone know where I can find a map called "blue gibs"? There is a .way file called bluegibs.way in my \maps folder, but I can't find the corresponding .bsp file anywhere.
FrikaC wrote:I wanted to do this in a generic way, couldn't think of one so I ignored it. I probably should've implemented a "Weapon attribute flags" like "Okay to use to shoot buttons/doors" "okay to shoot zombies" etc.
So no easy fix eh? :?
xaGe
Posts: 465
Joined: Wed Mar 01, 2006 8:29 am
Location: Upstate, New York
Contact:

Post by xaGe »

..Sorry man I thought I had found it in here: http://cd.textfiles.com/tremor/DEATH/ BUT its just the readme from the map. The author's name is Kevin Shanus, aka Zentron, but beyond that who knows if its still out there some where.
Lightning Hunter
Posts: 169
Joined: Wed Nov 28, 2007 6:15 am

Post by Lightning Hunter »

According to the readme file, the map is a combination of two maps by the same author, "Galore.bsp", and "bluelgn.bsp". I found these two other maps, and - well, they aren't very good. I don't think anyone would notice if I left this map out, seeing as how I can't find it anywhere anyway.
Lightning Hunter
Posts: 169
Joined: Wed Nov 28, 2007 6:15 am

Post by Lightning Hunter »

I'm having issues with my maps.cfg file. I've almost finished my waypointing project, and just now created a maps.cfg that lists all 400 maps currently in the pack. When I finish a match, the game says "unknown command mapX" (replace X with a random number, like map293). When I use the default maps.cfg with only 6 maps, it works fine. Is there a limit, despite the fact that the readme says there isn't?

I uploaded my map.cfg. Are there any errors in it?
http://filebeam.com/6cc61dd882c0b872c26888aa1cccb25b
goldenboy
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel
Contact:

Post by goldenboy »

While waypointing one of my DM maps, I encountered a problem where the bots can do a certain jump across a gap, but not always... sometimes they decide in midair to go in some other direction, it seems.

I have two separate routes for doing the jump in one direction and the other. They can jump "there" like 85% of the time, but when going back "here", ie the other direction, they don't seem to aim for the waypoint on this side of the gap... for no apparent reason. There is only one link between the two waypoints in each direction - they just don't keep to it. I tried toggling several AI flags like precise (they will fail the jump more often, I think because it makes them move slower?) and directional (which didn't seem to do anything).

Lightning Hunter, really good documentation (like a pretty detailed readme with examples) on doing FBX waypoints, and the best use of AI flags, would be a heroic deed. If you feel so inclined some day.

I basically know how to waypoint, but the bots simply do weird shit sometimes and seem to ignore the links if they feel like it. On the other hand, they do stuff like shooting open the secret door in dm6, all by themselves - I was pretty surprised when I saw that.

I tested with the test bot commands, of course.

Better documentation, containing examples on how to make them do various stuff, much better explanation of the AI flags including examples, and other things, is really needed, because without good waypoints, FBX is only half the bot it could be. The docs that come with FBX aren't good enough.
Lightning Hunter
Posts: 169
Joined: Wed Nov 28, 2007 6:15 am

Post by Lightning Hunter »

I know what you mean, Goldenboy. 90% of the tricks I learned were on my own, with MUCH experimentation.

I've thought about doing an in-depth tutorial one day, but am not sure how to go about doing it. It would be nice to have a site with topics people could click on for certain situations, but I have no experience with making a web page. It would be nice if I could use a template and maybe add this to the official Frikbot website if FrikaC didn't mind.
goldenboy wrote:They can jump "there" like 85% of the time, but when going back "here", ie the other direction, they don't seem to aim for the waypoint on this side of the gap... for no apparent reason. There is only one link between the two waypoints in each direction - they just don't keep to it. I tried toggling several AI flags like precise (they will fail the jump more often, I think because it makes them move slower?) and directional (which didn't seem to do anything).
I'm not sure what you have tried already, but having the bots backtrack before proceeding to make a very tricky jump is the best way. Otherwise, simple factors like where they approach from can change the course of the jump. For example, lets say they approach from the left, turn into the jump and make it - they could still mess up while approaching from the right. If the jump area has a corner available, use it to stop their speed. I uploaded a video to show you what I mean. Just walk as far into the corner as you can, and add a waypoint there. Turn on blind mode for this waypoint, or the bots sometimes do strange wall-sliding stuff.

http://www.youtube.com/watch?v=IacXmLendmw

As you can see, I also showed the AI flags I used at the end of the demo. The waypoint on the edge tells the bot to jump. In case you haven't noticed, I use blind mode quite frequently. I'd say something around 10-20% of the waypoints in any given map that I waypoint use blind mode for one reason or another.

If there is no corner available, the next best thing to do is have the bots backtrack so they are lined up almost perfectly with the jump, and use blind mode + a waypoint on the edge with the jump flag. The waypoints have to be lined up nearly perfectly. I recommend using noclip, and fly straight forward - adding the waypoints as you go, until you get to the landing spot.

When it comes to long jumps, Frikbots do have a limit - and it's about one step less than a human. If you can just barely make a jump across a gap running at full speed using ONLY the up arrow (bots can't bunny hop), then the Frikbot might have problems. If the jump is the absolute limit for a human, then the Frikbot might fail on that jump about 50% of the time. There is no way around this, no matter how much backtracking you make them do. Any distance less than the limit, and one bot by itself should be able to make the jump 95-99% of the time with good waypoints. Of course, bots will still mess up on a jump no matter what during combat.
goldenboy
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel
Contact:

Post by goldenboy »

Oh, that's very informative! I hadn't thought of that.

I did notice during my testing that the waypoint *before* the "jump" one has to be lined up, so the bot approaches the jump from a certain angle.

Thanks for the vid.

I "solved" the problem with the jumping distance in my map by putting in clip brushes. :) Cheesy, I know. This requires actual mapping and recompiling of the map, of course, which luckily is no problem in our project...

I'll post a screenie of my jump shortly.
goldenboy
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel
Contact:

Post by goldenboy »

Image

The jump is 228 units. What the pic doesn't show are the 16 unit clip brushes on both sides, which make it doable for the bots (and bad players). The bot can practically always jump *to* the YA, but when jumping back, he'll usually drift off towards the window and crater :-P

Both jumps have properly lined-up waypoints before the start. I'll try Blind Mode again.

Now if I could only get them to do walljumps. :)
r00k
Posts: 1111
Joined: Sat Nov 13, 2004 10:39 pm

Post by r00k »

Hey GB nice hand on sg model!
Post Reply