Jump to content

Home

Improved bot routes Updates. (Attn Kurgan, et all)


Darth Kaan

Recommended Posts

Kurgan, Andy, Amidala and everyone else that has expressed interest,

 

The hold up on releasing our improved bot routes has been that T-Bone and I have been working on a CTF map, that will of course, have full bot support and all the bells and whistles, while we were waiting for the 1.01 patch to be released to see what, if anything, pertaining to the bot routing was improved.

 

Now that we know the patch did not address that concern, we are resuming our work on the new routes.

 

Since we were waiting on the patch, our CTF map was getting all our attention and it still has priority at this point, but it will be released within the next week. The release of the improved bot routes for the stock CTF and FFA maps will immediately follow.

 

We have not decided if we will release Dual map routes because the majority of dual enthusiasts play only against other human opponents and understandably so.

 

Last but certainly not least, while we will make the bot routes for Siege maps available to those that want them, it's a slight hassle to get them in game and the classes bring up more problems for the bots. Maybe someone with more knowledge will figure out how to implement them into Siege in the future once the SC is out. At least the routes will be available and they can always be improved. Sorry we couldnt do more.

 

Also, Andy, routing the map you asked me about is very do-able. Your first on the list after the stock maps are finished.

 

Thanks to everyone, especially the server ops for your patience, input and sincere interest. The finished routes will be submitted to Jedi Knight.net within the next two weeks.

Link to comment
Share on other sites

I can hardly wait:p

 

If you do decide to do Duel maps, please do mp/duel6 first. I use that map for Team FFA, so better bot routes would be nice.

 

If it's any help, I did a new route for mp/ffa1 just to try my hand at it. Kurgan uses it on his server too and it works pretty well. You can download it here:

 

http://strategy.jediknight.net/jka/botroutes031024.pk3

Link to comment
Share on other sites

I'm currently working on getting mp/ffa1 redone and am working with Raven to maximize the intelligence of the bots with just bot routing. Unfortunately, it sounds like the bots aren't as advance as they could be. Once the SDK comes out, I might work on them a bit.

 

Anyway, as part of OJP Basic v0.0.2 (now availible) you can find improved bot routing for mp/duel3 and mp/ffa5. I've also finished mp/duel8 and that will be in the next release of OJP.

 

Since Darth Kaan and crew sound like they are going to do the ctf and ffa maps, I'll try to focus on duel maps.

 

Darth Kaan, have you come up with a good method to have two way routing that can successfully travel most of the Raven elevators? I haven't been able to come up with something that consitantly works two way mainly because the elevators never come to the top when players stand there. (LAME!)

 

As such, I've been resulting to a lot of one ways for elevator navigation and this seems to cause the bots to avoid those paths.

Link to comment
Share on other sites

Originally posted by razorace

Darth Kaan, have you come up with a good method to have two way routing that can successfully travel most of the Raven elevators? I haven't been able to come up with something that consitantly works two way mainly because the elevators never come to the top when players stand there. (LAME!)

 

As such, I've been resulting to a lot of one ways for elevator navigation and this seems to cause the bots to avoid those paths.

 

Yes, we have them taking the two way lifts.

 

Most people new to routing make one long route (which I call a loop) around a map and add addflaged commands as they go for the bots to use elevators, portals, etc.

 

The key is to use several different loops and the addflagged fx and fy combination commands properly. Also, most don't place enough waypoints or they place them to close together. For example, Yavin Hilltops only had one loop with a grand total of 132 waypoints. Many of those 132 are to close together which leads to hangups. Not good. Our route file for Yavin Hilltops has over 1200 waypoints and 4 different loops.

 

The problem with the bots not taking the lifts in the stock maps is caused by the wait command on the lifts being to long, not in the bot's behavior or their ability to navigate a route by following its commands. So your route has to use the right combination of addflagged commands to compensate for the lifts wait time being to long.

 

Hope that helps.

Link to comment
Share on other sites

So how are you defining things as "several loops" when the bots are designed to follow routes sequencially and don't do a distance check to check for severed loops?

 

Are you just returning to the start point and then start going in a different direction? Or are you completely seperating the loops?

 

Yes, we have them taking the two way lifts.

 

It sounds like you didn't understand. I meant having a waypoint route that can pass thru those difficult lifts in both directions with one route. From the sounds of it, you are not.

Link to comment
Share on other sites

Razor, It's simple to do yet hard to explain. Just remember bots do exactly what you tell them to do. Let me try to answer your question again.

 

Using just one route congests things and causes problems. Point blank and period.

 

What I mean by more than one route (loop) is this...for an example, make one route that leads to a lift to take the bots up, then, near any of the waypoints in the center of that route, lay down waypoints away from that route in a different direction, creating another route to another lift that will take them down.

 

One route to take them both up and down will not work well at all (as you have obviousely found out).

 

Warmer?

Link to comment
Share on other sites

Ok, I beleive I got what you mean.

 

See, from talking to the guys at Raven and the tutorials, they made it sound like the bots couldn't really handle branching routing structures.

 

I had been playing with not doing it that way, but I wasn't sure if it would work or not.

Link to comment
Share on other sites

Awesome! Can't wait to see it...

 

So will ALL the basejka maps be routed by then or just certain ones?

 

I'm currently using a FFA1 one made by Amidala and FFA5/Duel3 from the OJP.

 

I'm mainly looking forward to CTF/Siege ones (especially Siege) but having a full set of FFA maps to rotate where the bots are actually a challenge would be nice! ; )

Link to comment
Share on other sites

Originally posted by razorace

Ok, I beleive I got what you mean.

 

See, from talking to the guys at Raven and the tutorials, they made it sound like the bots couldn't really handle branching routing structures.

 

I had been playing with not doing it that way, but I wasn't sure if it would work or not.

 

Razor,

 

Just remember there is an automatic check for distance between waypoints when you bot_wp_save using the bot_wp_distconnect cvar (set as default unless you change to the bot_wp_visconnect cvar). So if a waypoint is more than 400 ingame units from the last, next or closest one to it, even if it is out of numerical order, all waypoints will be connected by the node branching system.

 

The visconnect option works in a similar way, except it checks for visibility rather than distance. But stay away from the bot_wp_visconnect cvar, it causes a lot of problems unless the map has a very simple layout that requires no addflagged commands.

 

While bots follow the waypoints in numerical order and back in theory, the reality is bots react to other bots, human players and to pickup items as neccisary. So they don't actually follow the route by numerical order "in game". They follow the route, react, then start navigating again on the closest waypoint to them.

Link to comment
Share on other sites

Originally posted by Kurgan

Awesome! Can't wait to see it...

 

So will ALL the basejka maps be routed by then or just certain ones?

 

I'm currently using a FFA1 one made by Amidala and FFA5/Duel3 from the OJP.

 

I'm mainly looking forward to CTF/Siege ones (especially Siege) but having a full set of FFA maps to rotate where the bots are actually a challenge would be nice! ; )

 

We are doing the CTF and FFA maps first. That is what we are striving to release within the next two weeks.

 

Shortly after that will come the Siege maps. Just musing...how about Using Siege maps for FFA/TFFA?

 

Back to work for me... :D

Link to comment
Share on other sites

I already know about the visconnect and distconnect stuff. I just disabled both of them right off the bat. The long drops involved in going down elevator staffs cause problems when they were turned on. Plus, adding the inbetween points can cause problems when the bots make the jump/fall.

Link to comment
Share on other sites

Originally posted by Darth Kaan

...all waypoints will be connected by the node branching system.

 

While bots follow the waypoints in numerical order and back in theory, the reality is bots react to other bots, human players and to pickup items as neccisary. So they don't actually follow the route by numerical order "in game". They follow the route, react, then start navigating again on the closest waypoint to them.

Indeed, and good node placement can go a long way in improving bot "AI". Speaking of, Kaan: what are your thoughts on waypoint creation/improvement on Siege maps? I understand the limitations the bots would face without actual code, but I think some impressive groundwork could be laid in preparation for the SDK.

Link to comment
Share on other sites

Just musing...how about Using Siege maps for FFA/TFFA?

 

I already tried that, and sadly it's not very good. Mainly because the respawn points are random and certain things will hinder performance (ie: doors you can't open, walls you can't smash, etc because you're the wrong team, or in FFA if you're no team you're out of luck and have to suicide because you're stuck... defense turrets attacking everyone who comes near them in FFA, etc).

 

 

I figure Siege bots would be difficult to do, but I would think that starting with them using the Assault class in mind would be a good way to start. The real trick would be to give them routes based not only on team but also class and to change the routes based on the objectives.

 

The thing is though, how do CTF maps that have different bases accomplish this? I'm no programming/routing guru, but it seems like this would be possible if others have accomplished it.

 

The objectives usually involve destroying certain objects or CTF like objectives (grab object A, tag it to target B). Guarding would be like guarding CTF except you're guaring an area or object instead of a flag or flag base.

 

Then there's vehicles. Would it be possible to give a bot a different route once they enter a vehicle? Or would it be simpler to have them go to a spot where a vehicle normally respawns and if the object is there, have them hit "use" and then follow a certain path? Of course if there was no object there, would it end up with the bot running along (taking the "long way") to get someplace?

 

The other concern is that certain weapons can't damage certain objects. Meaning that a bot has to know that for example his Disruptor and blasters won't harm the AT-ST, but his explosives and Secondary Flechette/Repeater, Saber and DEMP2 will... or that as a Imperial Tech on Hoth his weapons can't harm the computers in the Command Center...

 

And then there's the Tech class who can hack switches and heal, something no other classes can do. He can "see" his teammates health/ammo, so could he be made to see that a nearby teammate needs it and then give it to them?

 

Using bot orders (this is something I'm going to ask be put into OJP, not sure how realistic it is) I guess one could "call for a medic" and this would signal that any bot techs should seek them out and heal them or something.

 

The best thing would be if certain routes/behavior could be assigned based on class.

 

I guess the admin should decide what class a bot should be when he spawns them. I don't know how to do that with the console. I only know this:

 

\rcon addbot rebel 5 blue

 

Which would spawn an Assault bot, level 5 skill on the blue team. Of course regardless of what name I give him, on Hoth he's a Rebel Commando, and on Desert he's a Rebel Commando and on Korriban he's a New Reborn with a staff (all the assault class btw). Ditto for the red. It'll just make him whatever the assault class is for that team on that map.

 

Then there's the issue of having bots use items. I guess for examples, look in JK2 maps, because in JK2 the bots can use Stationary Shields, Bacta, Seekers and Assault Sentries. The converted JK2 FFA and CTF map packs for JA demonstrate this quite well. So all that would remain are the Jetpack (Mercenary Scout on Siege Desert), the Cloaking Shield (Rebel Scout on Siege Hoth and Siege Desert), and the EWEB (Imperial Assault on Siege Hoth, Rebel Assault on Siege Desert).

 

Just some ideas to think about... you probably know more than I do what you can do. ; )

Link to comment
Share on other sites

Originally posted by Kurgan

The real trick would be to give them routes based not only on team but also class and to change the routes based on the objectives.

I agree that's a good approach.

 

The thing is though, how do CTF maps that have different bases accomplish this?

States: Defend, Go for Flag, Return Flag, etc... Given that there's a healthy base to build on, Siege AI shouldn't be too hard. ...I hope.

 

Then there's vehicles. Would it be possible to give a bot a different route once they enter a vehicle?

Yeah, I think for the best implementation it would be a combination of code and special map node flags. It should be fairly easy to get them in vehicles, but using them is a different beast.

 

The other concern is that certain weapons can't damage certain objects. Meaning that a bot has to know that for example his Disruptor and blasters won't harm the AT-ST, but his explosives and Secondary Flechette/Repeater, Saber and DEMP2 will... or that as a Imperial Tech on Hoth his weapons can't harm the computers in the Command Center...

All can be addressed thru code.

 

And then there's the Tech class who can hack switches and heal, something no other classes can do. He can "see" his teammates health/ammo, so could he be made to see that a nearby teammate needs it and then give it to them?

Sure, just base it on proximity and weight it against other pending objectives.

 

Using bot orders (this is something I'm going to ask be put into OJP, not sure how realistic it is) I guess one could "call for a medic" and this would signal that any bot techs should seek them out and heal them or something.

The vchat provides a good basis for that.

 

Then there's the issue of having bots use items.

...So all that would remain are the Jetpack (Mercenary Scout on Siege Desert), the Cloaking Shield (Rebel Scout on Siege Hoth and Siege Desert), and the EWEB (Imperial Assault on Siege Hoth, Rebel Assault on Siege Desert).

And that can be done. ;)

 

 

But yeah, bot routes on Siege maps would be a great start. =]

Link to comment
Share on other sites

I'd welcome all of the bot improvements stated above...including all the Siege-centric ideas raised by Kurgan. Although it sounds like a lot of coding work - and how viable is it to accomplish all of the that?

 

I think this may be one of the reasons why Raven decided not to add bots for Siege in the first place...because there are so many parameters it would take a long time to code to get it working properly. After all...there are little tricks and shortcuts human players have discovered on each of the maps, and it sometimes requires a lot of dynamic reaction to current events. Bots, for the most part, are pretty thick, and to get a more 'human' reaction from them would require a lot of serious coding.

Link to comment
Share on other sites

Originally posted by StormHammer

...Although it sounds like a lot of coding work - and how viable is it to accomplish all of the that?

Bots, for the most part, are pretty thick, and to get a more 'human' reaction from them would require a lot of serious coding.

Well, I for one am going to attempt it. But I'll need bot routes to each objective on Siege mode in order to accomplish this.

Link to comment
Share on other sites

Originally posted by Azymn

Well, I for one am going to attempt it. But I'll need bot routes to each objective on Siege mode in order to accomplish this.

 

Well, that's good to hear, and I applaud your commitment.

 

As for bot routes to each objective, that's where part of the problem will lie. A good player will not simply stick to one route to get to an objective - but try different paths dependent on where they've spotted enemy players, or if they've been attacked at point A, they'll try going via point B instead. If you look at taking down the Wall in the Desert map, for example - you have a choice of two walls to attempt to take down - and if you're an Assault guy with portable canon, there are a few places where you can choose to set it up in order to attack the wall - sometimes from a considerable distance. And in an ideal situation, you'll have a team-mate covering your back while you're vulnerable to attack. So there really needs to be a bit of random choice from the bot's point of view about which path they would initially take...where they would choose to set up the canon, what they should do if they come under fire (disable canon and make a run for it if they are alone, or keep firing and hope a nearby team-mate can take care of the enemy), etc. Of course, the assault guy also has the option to get up close and use the Heavy Repeater secondary fire, and retain some mobility.

 

The kind of team class awareness hinted at above is a critical factor which can determine your actions. You might need support from a team-mate, or give support to a team-mate, and those decisions are made on the fly depending on the objective or situation.

 

Maybe taking a top-down view of each map to highlight critical locations for both defence and assault would be a good start for mapping bot nav points for these missions.

Link to comment
Share on other sites

Originally posted by StormHammer

As for bot routes to each objective, that's where part of the problem will lie. A good player will not simply stick to one route to get to an objective - but try different paths dependent on where they've spotted enemy players...

You raise a good point of needing to have multiple paths - i agree.

But don't expect too much - even the UT bots just took random paths to their destinations: and that's what these ones will do too. =]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...