TUTORIAL FOR MAKING YOUR OWN NAVIGATION MESHES FOR BOTS
TF2 Navigation Meshes |
by SleepyAl |
What do these do?
-These files allow you to play with computer controlled players on levels not offered by offline practice. Specifically, these files tell the "bots" where they can and can't walk, and tells them when a path is blocked or not. I've hand edited these navigation meshes, or "navs", to make the bots work better than using a simple nav_generate in the console.
How do I use them?
-Put all of these files in your tf/maps folder, usually located in C:\Program Files (x86)\Steam\steamapps\[YOUR USER NAME]\team fortress 2\tf\maps
-Then, make sure that in game you click "enable developer console" in options > keyboard > advanced.
-Finally, while on the main menu, hit the ~ button (usually to the left of the 1 key and above the Tab key) and type in the window that pops up, without quotes, "map cp_granary" if you want to play on Granary. To play on other maps, put the prefix of the gamemode, i.e. "cp", "ctf", "pl", "koth", plus an underscore "_", then the name of the map (some maps also have a suffix added, like final, but if you pay attention while you type the full name should show up and you can just click it) and hit enter, for example: ctf_2fort, cp_gullywash_final1, pl_frontier_final, koth_viaduct
-Once the level loads, join a team. Then, press the ~ button again, and type, without quotes, "tf_bot_add 17", or however many bots you want to add, up to a maximum of 23. Now, play the game!
Why no payload race, arena maps or doomsday, and why do the bots act wonky on capture the flag maps, Gravelpit/Junction, Steel, and some 5CP maps?
-Bot support for these gamemodes/levels is wonky. Bots in payload race, arena and doomsday will not leave the spawn due to them not having the proper AI to do so, and capture the flag has limited bot support that is kinda shitty. Gravelpit and Junction are 3CP maps, and bots are unable to defend multiple points at the same time without problems, which means that Engineers will constantly destroy their buildings in an attempt to defend the opposite point. Steel is just a complicated map and I can only temporarily stop the bots from jumping into E's pit. Some 5CP maps have wonky Engineer support for some reason, but most work fine. Since coding AI can only be done by Valve, we'll have to wait for an update to make these maps/game modes more bot friendly.
The bots are trying to walk through a blocked door, are trying to jump up something they can't reach, are running in circles when trying to drop down from a ledge, or are stuck in the spawn on a map that can (semi)properly run bots!
-That's my fault, tell me where the bots are on the specific level and I'll try to fix it.
Bots are trying to shoot through a wall to hit an enemy sentry!
-That's a problem with the bots, I'm not sure why it happens but Valve needs to fix that.
The bots are stuck trying to go through a door that won't open for them even though it should be opening for them!
-That's a fault with them map, the maker didn't implement door opening/closing properly. Normally players would just back up and then try and go through the door again, but the bots aren't smart enough to do that.
Scouts won't double jump, Engineers won't haul their buildings, Soldiers and Demomen won't rocket/sticky jump, Engineers won't upgrade their teleporters, Demomen don't properly use their stickybomb launcher offensively, Engineers won't use their pistols, and Pyros won't extinguish burning teammates!
-Bots currently aren't coded to do these things, Valve needs to do that.
In Medieval mode/melee only sudden death, bots will constantly run away, Medics will stick close to teammates as if they were trying to heal them, Snipers will stay far away, and Engineers will stand still at certain times!
-Type in console tf_bot_melee_only 1 to fix this. Make sure to make it 0 after playing medieval mode/sudden death melee only!
The bots are too easy/hard!
-Type in console tf_bot_difficulty 0 for easy difficulty, 2 for hard, or 3 for expert.
I want all the bots to be a certain class!
-Type in console tf_bot_force_class Heavyweapons for all heavies, or any other class name for that specific class to appear.
I want to get rid of a certain bot!
-Type in console tf_bot_kick "name", where in the quotes (which you need to include if the name has a space in it) you would type the bot's name. You can also type red or blue to kick an entire team, or all to get rid of all of the bots
I want to manually decide which bot classes are on which team!
-First, make sure no bots are in game. Then, type in console tf_bot_keep_class_after_death 1, and then tf_bot_add <class> <team> <amount>, where, without the <> marks, you would type the class, team, and amount of that class on that team you would add.
The bots won't join the game until I do, or leave unless I'm in game!
-Type in console tf_bot_join_after_player 0 and/or tf_bot_auto_vacate 0
I want to kill all the red/blue bots instantly!
-Type in console "tf_bot_kill red" (no quotes) for red team, blue for blue team or all to kill all bots.
I want the bots to wear hats/use unlockable weapons!
-This is way too complicated to answer here, but basically you'll need to download MetaMod, SourceMod, and the Bot Weapon Randomizer plugin. Google "how to install Sourcemod on a listen server", and on the AlliedModders forum "Bot Weapon Randomizer". Honestly, I can't really help you more in depth because it's a lengthy process and requires a lot of patience, but one day I may make a tutorial if I have a shitload of free time. Also, you'll need to launch tf2 in -insecure, so you won't be able to play on regular servers until you relaunch the game without that parameter.
How can I contact you?
-Please post on Facepunch in the TF2 section in the topic Bot Pathing, Nav_mesh Editing, and Some Custom Navs for TFBots (http://www.facepunch.com/threads/1080451). I don't normally accept friend requests and I rarely check my Steam Community profile, so your safest bet is to post there.
I want to use these navs on my server!
-Go ahead, just make sure to credit me somewhere.
Anyways, here are the nav meshes I've made.
Stock Maps Navigation Meshes (Updated 8/12/12)
Kong King (better than Valve's) (Updated 8/11/12)
Indulge (Updated 7/20/12)
Barnblitz (Updated 7/18/12)
Badwater (Updated 7/15/12)
Hoodoo (Updated 7/12/12)
Hydro (Updated 7/1/12)
Granary (Updated 6/28/12)
Gullywash (Updated 6/28/12)
Steel (Updated 6/28/12)
Cashworks (Updated 6/24/12)
Process b4 (Updated 6/22/12)
CTF Laynedecker (Updated 5/19/12)
KOTH Scorched (Updated 5/18/12)
Mainline RC5 (Updated 5/15/12)
Orange X4a (Updated 5/14/12)
Freight (Updated 5/14/12)
Antiquity RC1 (Updated 5/4/12)
Grand Canyon (Updated 4/29/12)
Drogentote 1 (Updated 4/20/12)
Zinkenite B3a (Updated 3/29/12)
Swiftwater RC2 (Updated 3/26/12
Frontier (Updated 1/28/11)
Borneo (Updated 1/21/11)
CTF Well (Updated 1/9/11)
DoubleCross (Updated 1/9/11)
Badlands (Updated 1/8/11)
Goldrush (Fixed) (Updated 1/3/12)
Yukon (Updated 12/23/11)
Gullywash Pro (not the in game version)
LazyTown Night b3a (Map download)
Want a nav that's not there, or prefer an alternate version? See mdawgmike's thread on SPUF!
Also if anyone wants me to do a nav_mesh that's not working when you just do nav_generate then I might try my hand at it. Also, if you plan on using these on a server, please ask me first, and at the very least give me a shoutout on your server or website or whatever.