Legacy:JumpSpot

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to navigation Jump to search
UT2003 :: Actor >> NavigationPoint >> JumpDest >> JumpSpot

See also JumpSpot (UT)

The JumpSpot actor seems to be used in UT2003 primarily as a destination for jumps which normal pathnode-to-pathnode navigation can't handle. This includes translocations if the "jump" is too far for the bot to jump normally. In UT2003 the bots seem to be quite intelligent about not performing jumps that will send them falling (probably to their deaths), and instead will translocate, if possible, or just ignore the special jump pathing if not.

Properties

bNeverImpactJump
When set to true, bots will not attempt to use the ShieldGun to boost themselves to the JumpSpot
bNoLowGrav
When true, bots will not attempt the jump while in low-grav conditions
bOnlyTranslocator
When true, bots will only use the JumpSpot as a destination for translocating to, not for any other form of jump
TranslocTargetTag
TranslocZOffset
I belive this is the z offset between where the JumpSpot is and where the bots should aim their translocator targets, use with caution and only if bots are missing their translocator throws.

Birelli: After reviewing Steve Polge's AI article (listing it below), I think the TranslocZOffset description was slightly off (and potentially quite destructive).

Subclasses

Notes for mapping

The best way to get bots to utilize JumpSpots in a map appears to be to set it as the destination of a ForcedPath property of another NavigationPoint actor. That is to say, if you want to get bots to transloc/hammer jump/whatever, put a JumpSpot at the destination of the jump, and at the origination of the jump place a NavigationPoint with the properties NavigationPoint -> ForcedPaths[] set to as many different JumpSpots as you wish (up to four, actually).

To find the object name of the JumpSpot that is your destination point, expand Object in the actor properties window, and look at Name. Whatever is there, copy it over into the ForcedPaths list of the source PathNode.

In regards to the properties, the bNoImpactJump and bNoLowGrav are useful if the gap to be jumped across has a low ceiling over it which would cause the bots to bounce off it and land short. There aren't that many cases where you would want to set these though, as in general you can just specify bOnlyTranslocator. The situation I can forsee would be jumping off a ledge where a low-grav or impact jump would bounce off a ceiling, but a normal jump wouldn't, and the distance is large enough that bots need the JumpSpot in order to make the jump.

Most distances that can be spanned by a normal (or double) jump can be pathed just by placing two PathNodes (or any NavigationPoint for that matter, but typically PathNodes) on either side of the span, and setting up the ForcedPaths to ensure that the PathNodes are connected.

Double jump

To make bots double jump to a spot, you need two actors: a JumpSpot and another path node of some sort.

  • bots seem to start a double jump at the pathnode that leads to the JumpSpot, so you'll need to set it up carefully. If they are too far apart, they will perform the double jump but obviously not get to the desired spot
  • set the JumpSpot's JumpDest -> bForceDoubleJump to True
  • set one of the path node's NavigationPoint -> ForcedPaths to point to the JumpSpot

External Links

Related Topics

Discussion

Tarquin: I think I may have found a bug in this. If you chain several JumpSpot together, and one of them has bForceDoubleJump set to false,then bForceDoubleJump = true seems to have no effect on the earlier ones. Needs checking though