Content is copyright © KatsBits™ 2000-2013. All Rights Reserved.
No part of this web site may be reproduced (except for personal use) without prior written permission from KatsBits.com. For more infomation on copyright click here.
The problems associated with how the level designed can prevent bots accessing certain areas within a map without resorting to or using botclip are relatively easy to solve using the donotenter clipbrush volume. Most of the images shown below are 'exceptions to the rule' on using DoNotEnter clip brushes however, as it's usual usage tends to apply to structures with flat walls and floors; as soon as level designer starts to rough things up a bit, with terrain or by clipping around corners, for want of a better way of putting it, they have to re-think how various botclips should be placed.
The following information should be considered examples of use rather than a steadfast guide or specific 'tutorial' on how the brushes are generally used to solve unexpected, odd or unusual bot behaviour that other approaches don't fix or aren't that effective, especially where jump pads and the aforementioned terrain are concerned.
Although for the most part, bots will happily navigate around a level without incident. Occasionally, due to the way BSPC is compiled, it presents navigational problems resulting in random and erratic movement. For example, the image below shows a typical jumppad placed in a level. Nothing obscures it or impedes navigation, but for some unknown reason bots will simply refuse to take a straight path off a jump pad (regardless of any 'persuading' that might be done with bot_roams etc), taking peculiar flight paths into or near the walls despite there being plenty of space around their trajectory and/or no obstruction to their motion. Using BotClip brushes to 'guide' behaviour by 'tunneling' their movement is usually out of the question in instances where open or 'free' passage is necessary; simply put, bots navigate too far away from walls where blotclip would be of use so all that would achieve is a set of invisible walls that bots will collide with.
This is where the donotenter clipbrush comes into play. It acts like the standard botclip brush in that a bot on seeing it, will treat anything contained within the volume as a 'no-go' area. Having said that however, the donotenter clipbrush will also be treated as 'optional' in the sense that it can be navigated through if necessary, although that (and it) will generally be avoided.
After placing donotenter clip brushes as shown below, indicated by the yellow brush volumes, bots took a more 'correct' path off the jumppad, straight up and forward. Note the use of the large pale blue bot 'weights' ("bot_roam") that 'prompt' bot behaviour - they influence bot navigation by acting as optional target destinations for bots.
Design note: note how much bot clipping you have to do in maps with rocks...!! Have a really good read through the information in the above links, it's very useful to know even if you're not too worried by altering your connection settings (these links are quite old now [but still relevant] and may have been cleared and or deleted from their original source).
Donotenter can also be used to control bot navigation along corridors and around corners to prevent wayward access when the use of botclip is not possible or impractical. For example, in the image below an 'exposed' corner section (shown encased inside the yellow donotenter clip brush) ordinarily means bots cutting across it whenever they're in the area, as this is a terrain section it causes additional navigational problems that should minimised. However, this can't be done using botclip as that presents a solid wall to the AI they can't pass through, even in death, something that needs to be avoided (in game you'd see them hitting an invisible wall). Encasing the area in donotenter means we can direct or force navigation without physically restricting it with invisible walls of botclip.
Sometimes as a result of BSPC calculations interesting behaviour arises that turns out to be quite and interesting game play mechanic. Shown in the image below is a tree behind which bots would camp. They constantly got stuck there though so that even under fire they tended to just stand on the spot. To solve this donotenter was placed behind the tree which resulted in their continued camping, this time without getting 'stuck', they could even run along the length of the wall behind the trees without problems.
The above tutorial is discussed in the context of using donotenter where blotclip isn't possible. Shown below is an example of this in terms of how using blotclip means that the distance between a wall surface and the areas used for navigation by bots is so large that it presents game play problems as a result of having to restrict bot movement too liberally because a clear path is sought. The designer could place the botclip closer to the rock surface and then using donotenter to give a wider birth for navigation without necessarily restricting it.