Page 1 of 1

Rocket jumping bots?

Posted: Thu May 29, 2008 10:48 pm
by Quack
Is there any special trick to getting a bot to rocket jump up to a platform? The platform I'm testing has red armor & regen so I was hoping that bots would go for it, and rocket jumping is the only way to get up. They go for the RL and then just stand around. When I compile it shows "1 rocket jump" for reachable areas, but there are at least 4 RL jumps that the bot should be able to make. Would it be possible to identify where the rocket jumps are in-game?

Re: Rocket jumping bots?

Posted: Fri May 30, 2008 1:37 am
by obsidian
Not that I know of, they just jump when they think it's reachable and worth getting. Each bot has it's own sense of fuzzy logic and preferences, some may prefer rocket jumping more than others.

Also, if you're compiling your map with the -meta switch, make sure you also compile your .aas with -forcesidesvisible, bots may act a little more brain-dead than normal otherwise.

Re: Rocket jumping bots?

Posted: Sat May 31, 2008 7:29 pm
by Quack
I've had some success getting the bots to rocket jump but they don't do it in the right location. I have four separate platforms (all symmetric with upper platform) where a rocket jump will allow a player to access to upper platform which is 128 units higher. I placed these four platforms and the upper centered platform in a single map to test separately. When compiling, it says there are no rocket jump areas. I moved the four platforms so that they are along the x & y axis instead of on the diagonal in their respective quadrants, then there are four rocket jumps. The funny thing is that the bots miss the jump 100% of the time. I put a trigger of death below the platforms and watched for five minutes. Every time they jump from the middle of the platform, not the edge, and miss the center upper platform by about 64 units resulting in an unsuccessful jump. From this, I think it's easy to say that the bots don't know how to rocket jump properly (maybe not enough horizontal vel?) or that the code creating the rocket jump areas doesn't consider all possible jumps.

Best thing about this whole thing is that a rocket jump isn't even required to get up to the upper platform, all you have to do is hold down forward key and point rocket launcher down at corner of platform and you'll land perfectly on the edge of the upper platform. All you have to do is "rocket", not "rocket jump". Which would also be the preferable method of getting to the upper platform because less air time means less time exposed to railgun fire.

The only possible solutions I can think of are editing the actual aas file (couldn't find a program to open aas files) or edit the bspc code AAS_Reachability_WeaponJump and make a new bspc.exe that will take into account different weapon jump areas (not sure if this is even possible). Anyone with extensive understanding of aas or bot intelligence, your help would be greatly appreciated.

Thanks,
Quack

Re: Rocket jumping bots?

Posted: Sat May 31, 2008 8:37 pm
by Quack
I have included both map files that I am currently testing. I am trying to get jumptest1 to work (this is where the four platforms will be located in the map) and jumptest2 simply shows a scenario where they attempt the jump from a similar distance (the platforms won't actually be that way in the map). I was hoping by comparing the two I would be able to figure out why there are no rocket jump areas for jumptest1 & why the four rocket jump areas for jumptest2 are all unsuccessful 100% of the time. My ultimate goal is to get the four jumps to work for the platforms in jumptest1. I hope this will clarify my problem.

jumptest1.map shows the four platforms the way they should be in the map. When compiling there are no rocket jump areas.

jumptest2.map shows the same platforms placed axial instead of diagonal. This is the jump that they miss 100% of the time.

Re: Rocket jumping bots?

Posted: Sat May 31, 2008 8:46 pm
by v1l3
I think the mapper has to set up spots where the bot will jump from that spot to a certain location(weapon/pick-up). I noticed it when playing against the Cpma bots(which suck). Cpma has disabled the ability for bots to rocket jump, so when they change to the RL and aim at the floor to do the jump..they just get locked there and don't move. If you load up cpm5 for example and there is a certain spot where it goes to rl-jump up to the RA. It's always the same spot also. I've seen this on alot of maps..and there always the same spot on the maps. I had to disable the CHARACTERISTIC_WEAPONJUMPING in the dam botfile to play the mode against bots. I know the topic isn't about Cpma..but it helped me to figure it out a bit.
If your trying to get the bots to jump, I suggest going into the botfile and make sure that the bot has CHARACTERISTIC_WEAPONJUMPING "1.0"

Re: Rocket jumping bots?

Posted: Mon Jun 02, 2008 3:57 am
by Quack
I have found a solution to my problem. After watching the bot doom, my suicidal rocket jumping backwards flying lemming, I realized that the only way to get him to jump in the right location was to make a new aas area. Looking at AAS_Reachability_WeaponJump, the rocket jump location is the center of the area that your jumping from. So the solution is to make a new area that is within range of the center platform. Unfortunately, the platforms in the corner are out of range so I placed a 32x32 caulk brush touching the corner of the platform, raise it 8 units above the platform so that a new area is created, then the bots will use the center of the new brush to preform the rocket jump to the center platform. To make sure that human players don't misuse this invisible brush, I replace the caulk with slick, any solid brush will work. I choose slick shader so that if a human player does go out onto the invisible brush they will slide off. Then simply place a 48x48 bot clip on top of the slick brush so that the bot won't slide off. I'm not sure if there's a better workaround, but for now this solution seems to work.

After observing the bots rocket jump up to the upper platform, they don't always land on the upper platform. They do the jump consistently, although they fall short of the upper platform on occasion. If the solid brush is too small, they will occasionally shoot and miss the solid brush completely. I think the bot's aiming characteristics are influencing it's ability to rocket jump successfully. With the current size 32x32, I have not observed a bot shooting and missing the solid brush. I'm guessing bots with higher rocket launcher aim skill/accuracy will be better at rocket jumping. The particular case that I have is most likely a very unique one and for most people simply placing square bot clip with height of 8 units above a solid surface should generate a new rocket jump location. For instance, the solution to jumptest2 is to place a 64x64x8 or 32x32x8 bot clip on the platform so that the bot will be close enough to rocket jump. I still don't understand why in jumptest2 the bspc chooses the location as a rocket jump area, if it's truly "reachable" the bot should be able to make it up at least once. 100% failure is never a good thing, although it can be very entertaining :olo:

jumptest3.map shows the solution to problem in jumptest1

EDIT: Made a few changes to jumptest3, url above. I had some problems with certain brush sizes not producing rocket jump location which is why I had bigger brushes. I figured out how to resize them with 23x23x2 for bot clip & 23x23x1 for slick. Slick brush is now below the platform by 1 unit so that a human player won't slip off if they are looking over the edge, slip only occurs if they are completely off platform. The bot clip is 1 unit above the platform so that it creates a rocket jump location. There's no need to make thick brushes, 1 unit high is enough unless a larger grid is preferred. I attempted to make a 22x22 brush but this doesn't create rocket jump area, for whatever reason 23x23 does.