Help - Search - Members - Calendar
Full Version: Mappers Should Read:fix The Bot's Bugs With Ladder
Forum 17B > Counter Strike 1.6 > Your Maps - WIP - Tutos
hepa
The purpose of this tut is to help mapper know about czbot problems with ladders and some entity ,to make map more friendly with bots ,because czbot have bugs with some entities ,especially ladder and water

“This guide aims to provide cz mappers enough information so they can have CSBots in their maps.”
First ,I ‘m not the content’s author (it ‘s written by common bullet), but
I think it’s necessary to post here ,sothat the mappers can know and avoid some problems in mapping that make the bots not work
(I see many beautiful and smart designed maps ,but unfortunately it has problems with bots when climbing ladders ,and we have to skip it when playing with bots)
But we can fix it by mapping

The direct link to the topic : ,but the images are not displayed there
http://www.csnavcentral.com/www/viewtopic.php?t=17


(Well ,although cs 1.6 have no bots ,but we can play cs 1.6 maps with cz bots in cs : cz ,
thus the amount of cs maps are bigger than cs : cz maps ,so I also post in cs 1.6 section)
I like editing bots navigation mesh (.nav files) to make it work with bots ,but there are some problems that we can’t fix by editing nav file,but we can fix it easily by mapping :
The biggest and most common problem is with ladder ,so I think it’s necessary to post here ,sothat the mappers can know and avoid it,



so I post the content here ,it contains images:

Mapping Hints for CZ CSBots

This guide aims to provide cz mappers enough information so they can have CSBots in their maps. It’s not a mapping tutorial.

General avoided situations
• CSBots won’t press buttons. So doors opened by switchers, elevators, and special triggers won’t work with them.

* Meshes are static in the map. So there’s no way to take CSBots into moving objects.

* They are the worst swimmers ever. They can sometimes jump out of the water, but they drown most of the time. Try to avoid places like pools, lakes, etc. If they need to dive to reach a specific area in the map, like in cs_docks, forget about it.

* Objects that they have to break above their heads when climbing a ladder: they won’t break them, or they will do it very occasionally.

* Ladders that are too high should be avoided. They can fall very easily from ladders. I’ll describe some ladder related bugs later.

* CSBots won’t climb angled back ladders, they should be perpendicular to the floor.

* Consider avoiding doors that rotate in important ‘chock-points”. If they encounter each other at opposed sides of a rotating door they’ll keep pushing it and none will be able to open. Just like in cs_assault.

* Breakable objects that can explode and hurt a player. If a CSBot is near a breakable object they will shoot at it, no matter how dangerous it can be.

* Same reason as above: you should not make a passage, like bridges or floors, as a breakable object.





Ladders part I

“The bot ladder logic works best with ladders that are against a wall - freestanding ladders tend to be problematic (…)”, that’s what Mike said about the CSBots in turtlerockstudios forum.

Seems that the problem with analyzing ladders is determining which is the ladder front or back, due to hl engine limitations.

Here are some hints to make a working ladder. It's important to assure the ladder object is a func_illusionary entity instead of func_wall, otherwise it won't work.
To assure the upper and bottom areas in ladder will be connected through auto-analyzing process, you might want apply the ‘minimum area size’ to both areas (50x50 pt)

2. Ladders attached to walls that are map terminations (a whole in such wall would cause a leak) should work with no problem.



Behind these walls is the void space- every ladder is working.

3. Ladders detached from walls should work if their front is pointing to the north or east, and should be misinterpreted if they are pointing south and west (the ladder will be linked from behind). It’s much preferable not to use the misinterpreted situation, because although sometimes you can adjust it by removing meshes at ladder’s back, CSBots still often get stuck trying to climb through the wrong position. If you want to make these buggy ladder to work, refer to Ladders part 3 in this guide,



In this example a cubic map was built. The ladders have got the same distance to the walls at their back. The left and bottom ladders (front is pointing to east and north) are working, while the others are not. To make sure this conclusion, I’ve rotated 90º this entire room with Hammer, re-compiled, deleted the previous nav and re-analyzed the map - the working ladders were at the same position (front pointing to east and to north).

4. Ladders attached from walls that are not map termination should work without restriction if ladders front is pointing to east or north. If they are pointing to west or south the wall and the ladder should sum at min 19pt thick (if you’re using a 2 pt thick ladder the wall should be 17pt thick at min, and so on).
This is very important to build a duct for instance.

5. Ladders attached to solid objects (not hollowed) such as boxes should work in any direction since the box size is 50x50 pt (at any height).


Though these are very basic situations, that should cover 80% of the buggy ladders in custom maps. More complex hints about ladders may come soon…

Ladders part II

I've noticed in many custom maps that although the meshes were perfectly connected
in a ladder, bots would tend to fall from the ladder rather than using it properly.

I observed that this could be caused by a func_ladder entity too close to the ladder brush.
This problem happens in maps such as cs_matrix and cs_mice_final.

A good practice in ladder construction is to place the 1 point thick func_ladder entity
between 6 to 10 points from the ladder brush. This will allow for the CSBots to safely
use the ladder with less chance of falling, as shown in the example below.




Ladders part III

From the previous ladders part 1, is not difficult to deduce what’s is going to be explained in this part. We are forcing buggy ladders that are detached from walls to work properly. So what we now from the previous topic is:
- Ladders which faces are pointed to west or south and are detached from walls won’t work properly
- Any ladder with attached to a wall 17pt thick (assuming the ladder is 2 pt), will work.
The idea is to build an invisible wall behind the buggy ladder. Make a brush behind the ladder 18pt thick and as wide as the ladder; make sure you place it so it will touch the ladder’s back. Tie the new brush to func_wall entity, apply “{INVISIBLE” texture to it, set render mode to “Solid”, fx amount to “255”.




This 18pt thick wall won’t affect the game play in most cases, unless you don’t have much space. As result all the ladders from previous example are working.






Summary :

There ‘re 2 ways the mapper should do to make the bots work with ladders :
1. The ladder works if their front is pointing to the north or east ,so we should place the ladder faces
Or better method :
2. we can “Make a brush behind the ladder >=18pt thick and as wide as the ladder; make sure you place it so it will touch the ladder’s back. Tie the new brush to func_wall entity, apply “{INVISIBLE” texture to it, set render mode to “Solid”, fx amount to “255”. “



For anyone who 's interested in editing nav , you can find many useful tips here

http://www.csnavcentral.com/www/viewforum.php?f=3
http://www.csnavcentral.com/www/viewtopic.php?t=11



It's strongly recommended to bind keys to editing nav command

http://www.csnavcentral.com/www/viewtopic.php?t=14

Thanks
Chapo
Great contribution Hepa. felicitation.gif

ami2.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2024 Invision Power Services, Inc.