![]() |
Michael Booth's GDC 2004 talk on CZ bot...
http://www.gdconf.com/conference/archives/2004/booth_michael.zip
If you haven't seen this, you should definitely download it and take a look. There's LOTS of good info in there for anyone working on a bot. botman |
Re: Michael Booth's GDC 2004 talk on CZ bot...
didn't know they released their conferences..
dling it right now :D |
Re: Michael Booth's GDC 2004 talk on CZ bot...
Thanks for the link botman!8D
|
Re: Michael Booth's GDC 2004 talk on CZ bot...
yes, thanks for the URL! :)
*edit* WTF, 100 MEGABYTES??? o_O I can't possibly download this!!! :'( |
Re: Michael Booth's GDC 2004 talk on CZ bot...
took me 5 mins :D going at 330kB/s
if you want i can give you the 17MB ppt file... the rest are video files. [edit] except the ppt plays the videos too... [/edit] |
Re: Michael Booth's GDC 2004 talk on CZ bot...
thanks for the link ... somehow I don't find any videos on gdconf.com ... so how did you get it ?
|
Re: Michael Booth's GDC 2004 talk on CZ bot...
that zip holds a ppt and videos and the ppt plays the videos in it.
it shows how the bots move and stuff |
Re: Michael Booth's GDC 2004 talk on CZ bot...
Man i love that aiming :(
|
Re: Michael Booth's GDC 2004 talk on CZ bot...
indeed! The varied skill levels are on point! I wonder if those "waving" hosties, from the italy pathfinding example vid, will be included in czero v1.1 due out this upcoming week?
|
Re: Michael Booth's GDC 2004 talk on CZ bot...
well, it does not go very indepth how all things are 'arranged'....
|
Re: Michael Booth's GDC 2004 talk on CZ bot...
would someone put up a pure text version ?
That's soooooooo huge..... |
Re: Michael Booth's GDC 2004 talk on CZ bot...
Great stuff thanks for sharing, it's worth the big download!
Their nav-area model looks very similar to this: http://www.gamasutra.com/features/20020405/smith_01.htm |
Re: Michael Booth's GDC 2004 talk on CZ bot...
a friend of mine managed the download for me...
Nothing really new... the paper isn't really technical. I particularly enjoyed the videos, cause I never saw that bot in action before. Good bot. Doing better must be doable, though :) |
Re: Michael Booth's GDC 2004 talk on CZ bot...
Yes PM, thats what i thought too. I would like to see more indepth technical details ;)
Anyway, quite impressive those 'jump marks' in those video's |
Re: Michael Booth's GDC 2004 talk on CZ bot...
that resembles VERY closely to what I'm doing in the current version of my bot. Although Michael made the choice to narrow the walkfaces a bit possibly for forcing the bots into a more precise navigation.
I can notice he also merges the adjacent walkfaces into larger squares, which for sure leads to much less overhead for pathfinding, but on the counterpart restricts the tactical analysis of danger points on a certain area to the corners of the square and the passage points between two areas (for example, *not all* of an open area represented by a single square is potentially dangerous - a sniper may be able to cover only a half of it). I would have liked to see videos of bots walking on narrow ledges and difficult passages... I agree with him when he says "navigation is hell". *edit* out of curiousity, it seems that even the storage in the .nav files is very similar... it looks like a dump of the raw corner coordinates in Vector data :) I think I must be able to write a tool that will convert RACC nav files into CSbot nav files and back :) |
Re: Michael Booth's GDC 2004 talk on CZ bot...
I think he uses cells generated by a walking algorithm and then merged into areas, not navmeshes taken from the bsp file. He wrote "learning map by sampling and mergin nav area with a greedy algorithm" or something like that. That could explain why all areas are rectangular, I have seen no triangular or other polygon types in the videos or pictures. The method is described in the link I gave.
About the details well I think that for a commercial game he gave a lot of details :D |
Re: Michael Booth's GDC 2004 talk on CZ bot...
I would agree. He seems to be doing a "hull test" based on the size of the player's hull. The smallest boxes all seem to be about the size of the player hull. This makes sense, since there's no reason to include little tiny triangles that the player would never be able to fit into. :)
botman |
Re: Michael Booth's GDC 2004 talk on CZ bot...
yes. I found it quite cool when he 'points' at the ground and you see those boxes on the floor. The smallest indeed around the size of a player. Very cool stuff.
I wonder if i could immitate that. Perhaps i'll just go figure that out when i have released a new version of the bot... just for the fun of it :) |
Re: Michael Booth's GDC 2004 talk on CZ bot...
hmm I would think not, due to these boxes being narrowed on all edges, even when the edge does not meet a wall (such as the top of a crate).
That hull test thing must be a pretty damn CPU intensive algorithm, elseway. Can someone tell us how long it takes for the CZ bot to pre-process a new map ? |
Re: Michael Booth's GDC 2004 talk on CZ bot...
I've googled and found their forum.
Some posts have some clues, in particular this one: http://www.turtlerockstudios.com/for...opic.php?t=260 ("Mike" also explains how sniping/hiding points are found) In other posts they mention bots ramming in tables and stuff because it's a big navarea and the bots are not aware there are obstacle in them, and you have to manually split the areas. In another post I've seen mentionned that the nav generation find areas "outside" the playing zone of the map, so this mean they don't compute real reachability. They also mention problems with slopes, stairs and fences. So it seems that they really use navmeshes generated from world geometry, but have restricted the merged areas shapes to some properties like being rectangular and of enough size so a player can stand there. It is also possible to manually create and edit areas. Also as the maps shown in the GDC videos are all standard cs maps it is possible what they show are heavily manually edited navareas that doesn't look like default generated ones. If someone here have CZ and the tried the bots or found more infos from "Mike", that would be more reliable that our crazy speculations. :) |
Re: Michael Booth's GDC 2004 talk on CZ bot...
that would be me, although i have no experience codinig, I wrote the tutorial in the Turtle Rock forum on how to hand tune custom navs. The map learning process and analyzation of the danger/camping/sniping areas depends on the size of the map. A map like alleyrush.bsp took me +/-15 seconds. On the other hand, CS_Pacific and De_Alps took 45 minutes each just to be generated and are 1.2 MBs large. The generated nav areas seem to be based on a 2D grid, however you can create new nav areas between two areas at different heights; but they have to be directly N/S/E/W of each other... You can also use commands like bot_nav_jump/bot_nav_crouch/bot_nav_no_jump (the bots jump when they approach ledges because they cannot see whats ahead, Mike did this to try to be able to get the bots to make jumps), or bot_nav_precise which makes the bots pay closer attention to staying in the center of nav areas. I have not waypointed with any other bot, but I find it VERY usefull to be able to create a "zombie" bot and be able to select an area and use bot_goto_mark to test on-the-fly.They're having issues with ladders, I think that's why Militia has one sided ladders now, as a quick fix to the problem. The analyzation does not always detect the corect side of double sided ladders to climb, and there is no manual tuning commands for ladders yet.
Let me know if there are any non-coding things you would like to know about, although I sugest you join the forum: http://www.turtlerockstudios.com/forums/csbot/ Mike posts there at least weekly. |
Re: Michael Booth's GDC 2004 talk on CZ bot...
Sometimes, technical talk is only as good as seeing the finished product. I'd be curious to see how a Realbot or RACC would match the "Official" CS Bot...
|
Re: Michael Booth's GDC 2004 talk on CZ bot...
Cool dead bwoy! I'm not sure "Mike" would answer to a question like "In your commercial bot, do you use navmesh generated from bsp or do you use cells generated from a walking algorithm?" :D
Quote:
For instance in cs1.6 Italy -dunno how cz one look like-, when you go at the CT spawn there are two alleys that start from there. How does the *generated* (not hand made) areas look in these alleys? For instance do they seem to follow an arbitrary axis and there are "holes" in the alleys with no areas, or do they follow the direction of the alleys and cover almost all the alleys? A bird view screenie of the generated areas in the alleys + the CT spawn would be great ;) |
Re: Michael Booth's GDC 2004 talk on CZ bot...
CS_Italy_CZ CT Alley:
http://420blunt.web1000.com/cs_italy_cz01.bmp Here, you can see that in the diagonal alleys there are a bunch of non-diagonal nav areas forming little triangle holes against the walls. I feel that the bots navigate well despite this. Also, you cannot even create areas with diagonal borders. Only verticaly: http://420blunt.web1000.com/cs_italy_cz02.bmp You CAN create diagonal areas between different heights, like the jump areas (with the X's) above. This shot also demonstrates the defined grid I speak of. Notice how the one jump area goes through the box. The other box is perfectly set on the grid. This "off-grid" box can be hand tuned to cover the entire top of the box, and re-creating the area between the box-top and the floor. Areas cannot be merged together if they are not exactly the same width, on the grid, on their shared border. I hope this answers some of your questions.:) |
Re: Michael Booth's GDC 2004 talk on CZ bot...
Nice job!! Thanks! :)
Well so after all it seems they use axis-aligned cells merged into rectangular areas, perhaps by some walking algo or just by sampling the bsp surfaces into a grid. |
Re: Michael Booth's GDC 2004 talk on CZ bot...
I bet it's done by the surfaces! For example, cs_rio: Initial Analyzation creates a ring of nav areas around the outside, beneath the map. Areas where an alive player could not reach! Same as de_menace, the nav areas go through the fence and beyond at T Spawn, where no player (living) could go.
|
Re: Michael Booth's GDC 2004 talk on CZ bot...
Quote:
|
Re: Michael Booth's GDC 2004 talk on CZ bot...
Quote:
second pass is much longer - it eats cpu at max - around 10 minutes - the bigger map or more complicated the more time it takes tests on p3 800 |
Re: Michael Booth's GDC 2004 talk on CZ bot...
Quote:
plays smooth as pb26, i got lags on realbot unfortunately takes different paths, obey orders, they can ambush sometimes nicely a player then can define what last route was a "mistake" and try another way in achieving bs auto generating waypoints on new map when adding bot there are flaws (at least in version i got) they run with gun as if they were running with knife (doh) the aim on highest skill is really lame (well this can be easily fixed :D ) no linux version |
Re: Michael Booth's GDC 2004 talk on CZ bot...
KaszpiR, please consider editing your posts instead of triple-posting :)
|
Re: Michael Booth's GDC 2004 talk on CZ bot...
i cannot find option to delete the topic - i'm blind in here - i prefer simplier forums
besides, i would leave it as it is. Otherwise you can edit it and metre them if i will fail in finding the "delete" button :D |
Re: Michael Booth's GDC 2004 talk on CZ bot...
you can't delete your posts, but you can edit them;)
|
Re: Michael Booth's GDC 2004 talk on CZ bot...
without deleting i cannot merge 3 posts into one, otherwise its useless
anyway end of offtopic |
Re: Michael Booth's GDC 2004 talk on CZ bot...
done is done.. but you know.. when you posted and suddenly think of something else to add.. if you are the last one to post.. edit your last post .. thats what PMB meant..
but its true a delete buttom would not be wrong.. or? |
Re: Michael Booth's GDC 2004 talk on CZ bot...
Nobody here is allowed to delete posts, nor to edit it after a certain time, even the moderators.
Some of us in the Council have once made the experience of a forum where some moderator would regularly grant himself the right to be a punk against his members by posting taunts, insults or controversies, waiting for the flamewar to start, and then edit his post so as not to assume the responsibility of what has been said, and to later claim "you must be dreaming, I never posted that". Hence here, as stated in our rules, member privacy is untouchable and what has been said, has been said for good. </OT> :) |
Re: Michael Booth's GDC 2004 talk on CZ bot...
Here's some screens of the CSBot's traceview:
http://420blunt.web1000.com/WindowCT.bmp As you can see, everything is color coded: Red/Yellow: Nav areas Dk Blue: Nav area connection (one-way) Orange: Traceview Lt Blue: Bot's line of sight Purple: Stays connected from the Bot to the Traceview as a "get back on track" sort of thing Green: Bot positioning along traceview http://420blunt.web1000.com/Hallway.bmp The two diagonal green lines represent the bot's upper body positioning Here's a better example of a bot-off-track. http://420blunt.web1000.com/TSpawn.bmp In the distance are red "Danger" areas. Once the bot reaches the next nav area the purple line will move to the next area ahead of the traceline. Notice how the green plus stays directly below the traceview, this is used in bot_nav_precise. The bot would stay as close to that plus sign as he can if the nav area he was in was set to precise. http://420blunt.web1000.com/WindowT.bmp An example of a difficult jump. I guess the bot knows that it needs to jump from the traceview? Hope this is usefull to someone... Just thought someone would like to see these traceview shotz as none have been released... |
Re: Michael Booth's GDC 2004 talk on CZ bot...
Indeed yes! It sheds some light on the bot's internals.
If I understand right, the traceview is in fact the bot's generated A* path. And that green cross which had me pondering in the GDC videos is in fact the bot's positioning orthogonally relatively to the path. It's not an obstacle detection trace... OK :) The usage they make of the navmesh is in fact quite different than what I'm trying to do. |
Re: Michael Booth's GDC 2004 talk on CZ bot...
Can't wait to play CSBot vs RACC-bot!!!
AND all the other bots, realbot, joebot, etc... |
Re: Michael Booth's GDC 2004 talk on CZ bot...
"Can't wait to play CSBot vs RACC-bot!!!
AND all the other bots, realbot, joebot, etc..." I don't think you can do so since the ClientPutInServer() function in our bots just won't get called when a Michael Booth's bot joins the server... and this will cause some problems :( |
Re: Michael Booth's GDC 2004 talk on CZ bot...
well...
you can load only one external gamedll in metamod (as far as i know) , so the hope is in using metamod bots as metamod plugins - or sure realbot, podbot.... against the other ones like csbot i hope racc will be mm compatible (or allready is :D) |
All times are GMT +2. The time now is 12:28. |
Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.