Last updated Friday, March 21, 2008
Botroutes are a necessity to any good map. Most Jedi academy servers run empty for a generous amount of time, and when players connect, it's kind of boring to fight a bot that randomly jumps around everywhere. So how do you do it? It's very easy! It takes a bit of thinking to get it to work well, but I'll try and make it simple for you.
So what are botroutes? To put it simply, botroutes are a path of waypoints that bots will follow. (Pretty babyish way to put it...) These waypoints are numbered so they each have a unique ID. Bots can follow these waypoints going forward through the numbers or backward, unless you specify otherwise (special case covered at the bottom of the page). If you make the paths correctly, this will tell the bots how find their way around the map.
Botrouting is done trough the Jedi Academy/Jedi Outcast game console. Start the game, then open the console by pressing Shift + ~. Start your map by typing:
/devmap [your map name here]
I'm sure you knew that command already, but it's necessary for this. There are a number of commands you will use to make and save your botroutes. The most commonly used ones, and really the only ones you should ever need, are listed below:
Once your map has loaded, open your game's console again and enter the following three commands:
/devmap [your map name here]
DO NOT FORGET to restart your map! You need to do so to enter bot route editing mode!
The picture below shows the game console window open with the commands that I entered circled in red. Then, I restarted the map by doing the /devmap [map name here] command again.
Once your map has reloaded, you are ready to begin making your botroutes! This is quite easy, as I said above. When you add a point, it will be added where your player is standing. When you delete them, it moves in reverse order, deleting the most recent one you made and going back to the first one. With that knowledge in mind, stand somewhere in your map and then type in bot_wp_add. You should see some zeros begin floating up from the ground, like so:.
You have just created your first waypoint! Whenever a bot is near this point, it will stay near it and look for another close waypoint, or an object that it wants to pick up. But one waypoint won't do you a whole lot of good! What if the bot spawns in another room and can't see your waypoint? The only way to solve this is to finish creating a path that covers all the major areas of your map. If you have unconnectable rooms or areas, you CAN disconnect your bot route and make a second one inside that building or room...but it doesn't work as well as having one continuous route that goes through the whole map.
So, continue your bot routes! Take it in any direction you like. But remember this: Keep your waypoints fairly close together. If the bot can't see the next waypoint, it will randomly run around looking for it. That is most definitely NOT what you want to have happen. I don't know what the upper limit is on waypoints. I have had more than 1400 in a map at once with no trouble but I DID crash the game by going silly and making half a million of them. So don't be too generous with them, either.
Anyways, keep adding waypoints all around the map. If you get tired of typing the commands out all the time or using the up and down arrows to scroll through your most recent console commands, then you can bind them to keys on your keyboard like so:
/bind f4 bot_wp_add
/bind f6 bot_wp_rem
By using this system, you can stand where you want to add a waypoint to your botroute file, and then push f4 to add it. If you want to remove the last waypoint you placed, press f6 to delete it. Pretty easy, huh?
Please note that I DO NOT recommend doing what I did in the picture below! It is for ILLUSTRATION PURPOSES ONLY!
Basically, what I did there is run in a circle and push the button I bound to bot_wp_add repeatedly. This made an incredibly USELESS system of waypoints that will send bots running in circles like people gone mentally mad. While it may be amusing to watch, it's not very fun to fight. But let's just say I wanted to keep this. If I want to save these useless bot routes, then I would open up the console again (Shift + ~) and then type the following command:
If you have a lot of separate areas with the botroutes not connected to each other, your game will lock up for a few moments. DON'T PANIC! Eventually, it will tell you that it reconnected some points or that it can't connect them, as shown below:
If the game crashes when you save your botroutes, don't worry; it happens sometimes.
Now, let's retrieve your botroute file. If you have Jedi Academy/Outcast in windowed mode, minimize it, just in case they didn't save right. Then open up your Academy/Outcast game's 'gamedata/base' folder. Inside this folder you should see a new folder called 'botroutes'. Inside this folder should be your botroute file. It should have the same name as your map with a file extension of .wnt on it. Note: If you have Japlus, Lugormod, Makermod or anything else installed, your botroute file will be inside of a folder with your mod name inside of your gamedata folder. So if I had Japlus installed, it would be in my gamedata/japlus/botroutes folder.
That's it. All you need to do now is grab that .wnt file and put it into your map's pk3, inside of a botroutes folder. Another note: If you have a mod installed and had to take the botroutes from that mod's folder, ignore it! Just put it inside of a 'botroutes' folder inside of the pk3.
Tips for efficient botrouting:
• If you want the bots to walk around more like a real client, use your mouse and walk around your map where you want the bots to go, pushing the button you bound to 'add waypoint' every couple of seconds.
There are a few special things you can do with botroutes, too. My source on the following is:
You can use this with arguments to give bots more interesting behaviors. A more exhaustive list is given from the source I used (link is above).
Basically, you type /bot_wp_addflagged in your console, then put a space and add the letter abbreviation for whatever behavior(s) you want the bot to do at this waypoint. You can mix and match them any way you like.
j - This makes a bot jump while it tries to get to the waypoint with this flag on it.
d - This makes a bot crouch and walk to this waypoint.
x - This forces a bot to move FORWARD in the waypoint index to find the next point.
y - This forces a bot to move BACKWARD in the waypoint index to the previous waypoint.
So if I wanted to add a waypoint that made a bot jump to reach it, I would type the following in my console:
And if I wanted to force a bot to move forward in the waypoint index and crouch as it moved, I would enter this:
That's it! You should be able to start your map and play on it with bots that find their own way around! However, don't forget the MOST important part of making any mods -