A problem with bots.

MOCOLONI

L6: Sharp Member
Dec 16, 2014
373
89
Hey there. So I came up with an issue related to the bots since the first version of a map. My map is "cp_orange_x3_natural", and it's currently at RC3 state. I want to release the final version of it on December 30 or 31, so I would like to improve it as much as I can. So one of the things I can't handle is a problem where bots leave the spawn and, instead of going to capture the control points, they get sticky to a wall next to the spawn, "trying to pass trough them?" by jumping, crouching, moving from side to side. The good thing is that after a while, some of these bots begin to move the right way.

The thing I can't really understand is why it happens to the RED team bots only. Since "Orange" is an open map that also uses the same design on each side, both team's bots should work the same way, but in my case, they don't. The problem is similar to the one on Dustbowl's Stage 2, where bots from BLU team "attempt" to leave the spawn by going next to the Resupply Lockers and stay there for a few seconds until something makes them change their way and leave the spawn properly. Once they respawn, it's all over again. If someone is unfamiliar to this issue, take a look at a video by NISLT (as one of the showcased clips) (sorry for not showing another video; I can't find the one I saw a while ago)

(skip to 7:13)

Anyway, I've tried: add Nodraw brushes under the displacements; clip some parts with Playerclip; check if there's something wrong with the Control Points... but nothing has worked. The only way to move them to the battle is joining RED, building a Teleporter Entrance and a Teleporter Exit at a safe place.

If someone would like to check what I mean, here's my map (it doesn't include a .nav file, so you should generate it) http://steamcommunity.com/sharedfiles/filedetails/?id=477653262
 

Hyperion

L16: Grid Member
aa
Jun 8, 2015
840
659
I think you have to edit .nav manually, it is not perfect system. However I have no idea how you edit it
 

SC PL

local shitposter
aa
Jun 25, 2015
378
407
On my first map I done a one door, which goes to cap point and bots were passing trough them. But when I updated map, adding more doors and removing first door, bots was going into wall, where was earlier door, instead going trough other doors

USELESS FACT: On tr_dustbowl at first stage, when you kill all enemies near 1st cap, bots will endless say "Go!"
 

henke37

aa
Sep 23, 2011
2,075
515
Yeah, that's an example of a stale navigation mesh.
 

MOCOLONI

L6: Sharp Member
Dec 16, 2014
373
89
I think you have to edit .nav manually, it is not perfect system. However I have no idea how you edit it
Yeah, I know that it's another way to make bots work properly, but that's what I don't want to do since I have no idea which of these ammount of commands to use in my case.
Use nav_edit to edit the navigation mesh. Then take a look at this.
Again, it's something complicated to me because there are lots of different commands to use that look as if they do "the same". I would understand having to do it if both teams' bots were affected by this glitch, but right now only RED team bots don't work properly. I once made an attempt on a CS:S map and I just screwed the .nav file.

Is there an easier tutorial which would be good enough for my case? Thank you.
 

henke37

aa
Sep 23, 2011
2,075
515
For a starter, you need to regenerate the entire navmesh. From then on it's mainly cleanup. Adding in areas that were missed, fixing up links and such. It's rather trivial stuff you only need to worry about for serious bot play. For simple testing you only need to ensure that there are navareas for all play space.
 

MOCOLONI

L6: Sharp Member
Dec 16, 2014
373
89
For a starter, you need to regenerate the entire navmesh. From then on it's mainly cleanup. Adding in areas that were missed, fixing up links and such. It's rather trivial stuff you only need to worry about for serious bot play. For simple testing you only need to ensure that there are navareas for all play space.
If you're talking about the .nav file of my CS:S map, I already did that after breaking the first. I'm now focused on TF2's map. But still, I don't know what is required to make the bots run the correct way (what command(s) to use and what to do (move, aim, etc.)) This is why I never wanted to manually edit a navigation mesh, it's just a trouble.
 

henke37

aa
Sep 23, 2011
2,075
515
Bots decide on their own where they want to go. All the nav mesh does is telling them where they can go and what places can be reached from each other.
 

Muddy

Muddy
aa
Sep 5, 2014
2,574
4,592
Again, it's something complicated to me because there are lots of different commands to use that look as if they do "the same". I would understand having to do it if both teams' bots were affected by this glitch, but right now only RED team bots don't work properly. I once made an attempt on a CS:S map and I just screwed the .nav file.

Is there an easier tutorial which would be good enough for my case? Thank you.
Honestly, you won't be using most of those commands for the most part. Here's a quick rundown of the important ones:

nav_edit 1/0: enter/exit the navigation mesh editing mode.

nav_begin_area: start a nav block.
nav_end_area: create the block you started with the previous command. The way all this works is similar to drawing a box in Photoshop or something.

nav_mark: mark the nav block you're currently looking at. (You can only mark one block at a time.)
nav_unmark: un-marks the marked nav block.

nav_connect: if you mark one nav block and then use this command on another, you will make a one-way connection (as denoted by a dark blue line). This tells bots that they can walk from block A to block B, but not the other way (this is handy for drop-downs, one-way doors etc). To tell bots they can run both ways, connect the blocks both ways (A to B, B to A). The dark blue line will be replaced by a light blue line to show it's a two-way connection.
nav_disconnect: works the same way as nav_connect except it does the opposite.

nav_split: split a block in two. (When you look at a nav block you'll see a faint line going along it, depending on from what angle you look at it at. Where this line is is where the nav block will be split.)
nav_merge: merges two blocks into one. (Requires the nav_mark command.)
nav_splice: if you mark one block and then use nav_splice on another, it'll create a third block in between the two and automatically connect them all together. The two blocks have to be directly horizontal/vertical to eachother - they can't be diagonal from eachother or it won't work.
nav_delete: deletes the selected nav block. If you've marked a block using nav_mark, it'll delete that, but if you haven't then it'll delete the one you're currently looking at.

nav_save: save the nav mesh. It's VERY IMPORTANT you do this regularly, cos Source doesn't auto-save nav meshes.
nav_analyze: analyses the nav mesh and... well I'm not sure what it does exactly, but Source has a habit of screaming at you until you do it so you may as well.

Probably still a lot to take in, but just mess around with these commands and you'll get the hang of it. I also recommend binding these commands to keys (the keypad is best imo) unless you really like typing in commands.
 

MOCOLONI

L6: Sharp Member
Dec 16, 2014
373
89
Honestly, you won't be using most of those commands for the most part. Here's a quick rundown of the important ones:

nav_edit 1/0: enter/exit the navigation mesh editing mode.

nav_begin_area: start a nav block.
nav_end_area: create the block you started with the previous command. The way all this works is similar to drawing a box in Photoshop or something.

nav_mark: mark the nav block you're currently looking at. (You can only mark one block at a time.)
nav_unmark: un-marks the marked nav block.

nav_connect: if you mark one nav block and then use this command on another, you will make a one-way connection (as denoted by a dark blue line). This tells bots that they can walk from block A to block B, but not the other way (this is handy for drop-downs, one-way doors etc). To tell bots they can run both ways, connect the blocks both ways (A to B, B to A). The dark blue line will be replaced by a light blue line to show it's a two-way connection.
nav_disconnect: works the same way as nav_connect except it does the opposite.

nav_split: split a block in two. (When you look at a nav block you'll see a faint line going along it, depending on from what angle you look at it at. Where this line is is where the nav block will be split.)
nav_merge: merges two blocks into one. (Requires the nav_mark command.)
nav_splice: if you mark one block and then use nav_splice on another, it'll create a third block in between the two and automatically connect them all together. The two blocks have to be directly horizontal/vertical to eachother - they can't be diagonal from eachother or it won't work.
nav_delete: deletes the selected nav block. If you've marked a block using nav_mark, it'll delete that, but if you haven't then it'll delete the one you're currently looking at.

nav_save: save the nav mesh. It's VERY IMPORTANT you do this regularly, cos Source doesn't auto-save nav meshes.
nav_analyze: analyses the nav mesh and... well I'm not sure what it does exactly, but Source has a habit of screaming at you until you do it so you may as well.

Probably still a lot to take in, but just mess around with these commands and you'll get the hang of it. I also recommend binding these commands to keys (the keypad is best imo) unless you really like typing in commands.
I will probably spend more than a week until I dominate it, but I will give it another try. Thank you for all your useful tips!
 

MOCOLONI

L6: Sharp Member
Dec 16, 2014
373
89
Alright. So after like a half an hour of testing, I managed how it all works. For some reason, it's different and easier than it was on my CS:S map.

I've fixed the issue on my TF2 map; one of the blocks was connected to an additional one behind the wall, instead to only those that are on the ground. This didn't happen on the BLU base, though.
Honestly, you won't be using most of those commands for the most part. Here's a quick rundown of the important ones:

nav_edit 1/0: enter/exit the navigation mesh editing mode.

nav_begin_area: start a nav block.
nav_end_area: create the block you started with the previous command. The way all this works is similar to drawing a box in Photoshop or something.

nav_mark: mark the nav block you're currently looking at. (You can only mark one block at a time.)
nav_unmark: un-marks the marked nav block.

nav_connect: if you mark one nav block and then use this command on another, you will make a one-way connection (as denoted by a dark blue line). This tells bots that they can walk from block A to block B, but not the other way (this is handy for drop-downs, one-way doors etc). To tell bots they can run both ways, connect the blocks both ways (A to B, B to A). The dark blue line will be replaced by a light blue line to show it's a two-way connection.
nav_disconnect: works the same way as nav_connect except it does the opposite.

nav_split: split a block in two. (When you look at a nav block you'll see a faint line going along it, depending on from what angle you look at it at. Where this line is is where the nav block will be split.)
nav_merge: merges two blocks into one. (Requires the nav_mark command.)
nav_splice: if you mark one block and then use nav_splice on another, it'll create a third block in between the two and automatically connect them all together. The two blocks have to be directly horizontal/vertical to eachother - they can't be diagonal from eachother or it won't work.
nav_delete: deletes the selected nav block. If you've marked a block using nav_mark, it'll delete that, but if you haven't then it'll delete the one you're currently looking at.

nav_save: save the nav mesh. It's VERY IMPORTANT you do this regularly, cos Source doesn't auto-save nav meshes.
nav_analyze: analyses the nav mesh and... well I'm not sure what it does exactly, but Source has a habit of screaming at you until you do it so you may as well.

Probably still a lot to take in, but just mess around with these commands and you'll get the hang of it. I also recommend binding these commands to keys (the keypad is best imo) unless you really like typing in commands.
Thank you again, Ms. Mudpie, for your great help!
 
Last edited: