Jump Spot - need bJumpBootsOnly

Tutorials and discussions about Mapping - Introduce your own ones!
User avatar
Gustavo6046
Godlike
Posts: 1462
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Resident Wallaby
Location: Porto Alegre, Brazil
Contact:

Jump Spot - need bJumpBootsOnly

Post by Gustavo6046 »

Hello buds, I made a map which has a ledge/lip with a anti gravity boot pair near in UEd and I used jumpspot however I don't want to see bots helplessly trying to jump it with bare feet (erm... normal leather boots... what they use as boot material?), I wish they only do it if they have the jump boots - its goal turn to it if they want to investigate and jump the ledge, but if the jumpboot isnt there they give up. :rock:

...and I stay safe with only 12 hp in the other side while the guy with the flak cannon thinks could have killed if I haven't dodged that shell with the jump boots and reach the other side. Don't worry my fellow, you can wait there's still more 90 seconds till it respawn, while that I get soup! :tu:
"Everyone is an idea man. Everybody thinks they have a revolutionary new game concept that no one else has ever thought of. Having cool ideas will rarely get you anywhere in the games industry. You have to be able to implement your ideas or provide some useful skill. Never join a project whose idea man or leader has no obvious development skills. Never join a project that only has a web designer. You have your own ideas. Focus on them carefully and in small chunks and you will be able to develop cool projects."

Weapon of Destruction
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: Jump Spot - need bJumpBootsOnly

Post by Higor »

There are two ways of doing this:

Simple:
Use the JumpSpot navigation point, add a small zone cube on it without the modified gravity, bots will consider the route once they have the boots.

l33t:
Create a new path type that makes bots consider the route if either:
- They have boots.
- Boots pickup is available near to the jump start location + force bots to pick up boots if they're standing on the jump start location without boots.


The l33t approach should only be considered if bots don't really go pick up the boots in the first place, otherwise it's extra work done for not much gain.
User avatar
Gustavo6046
Godlike
Posts: 1462
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Resident Wallaby
Location: Porto Alegre, Brazil
Contact:

Re: Jump Spot - need bJumpBootsOnly

Post by Gustavo6046 »

Higor wrote:There are two ways of doing this:

Simple:
Use the JumpSpot navigation point, add a small zone cube on it without the modified gravity, bots will consider the route once they have the boots.

l33t:
Create a new path type that makes bots consider the route if either:
- They have boots.
- Boots pickup is available near to the jump start location + force bots to pick up boots if they're standing on the jump start location without boots.


The l33t approach should only be considered if bots don't really go pick up the boots in the first place, otherwise it's extra work done for not much gain.
Thanks... Does bots still use jump boots when there is bHammerJump==true? And what is bAlwaysAccel and it's uses?
"Everyone is an idea man. Everybody thinks they have a revolutionary new game concept that no one else has ever thought of. Having cool ideas will rarely get you anywhere in the games industry. You have to be able to implement your ideas or provide some useful skill. Never join a project whose idea man or leader has no obvious development skills. Never join a project that only has a web designer. You have your own ideas. Focus on them carefully and in small chunks and you will be able to develop cool projects."

Weapon of Destruction
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: Jump Spot - need bJumpBootsOnly

Post by Higor »

Boots should be prioritized over hammer all times, and bAlwaysAccel tells the bot to simply mash the forward button as he jumps (instead of trying to land on the exact point of the destination).
User avatar
Gustavo6046
Godlike
Posts: 1462
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Resident Wallaby
Location: Porto Alegre, Brazil
Contact:

Re: Jump Spot - need bJumpBootsOnly

Post by Gustavo6046 »

Higor wrote:Boots should be prioritized over hammer all times, and bAlwaysAccel tells the bot to simply mash the forward button as he jumps (instead of trying to land on the exact point of the destination).
Thanks. But what is the actual use of bAlwaysAccel if the current challenge is to have the bot jump in the location we want it to (i.e. the JumpSpot), and exactly?
"Everyone is an idea man. Everybody thinks they have a revolutionary new game concept that no one else has ever thought of. Having cool ideas will rarely get you anywhere in the games industry. You have to be able to implement your ideas or provide some useful skill. Never join a project whose idea man or leader has no obvious development skills. Never join a project that only has a web designer. You have your own ideas. Focus on them carefully and in small chunks and you will be able to develop cool projects."

Weapon of Destruction
User avatar
sektor2111
Godlike
Posts: 6410
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Jump Spot - need bJumpBootsOnly

Post by sektor2111 »

If I'll ever need a way for Bot only using JumpBots then I'll do that like this:

Subclass a child of JumpSpot (MyLevel - you can put a texture with JumpBots to be fancy or suggestive at other mappers for stealing your work) and deal with bSpecialCost + event int SpecialCost(Pawn Seeker). If Bot has in Inventory some JumpBots, will see SpecialCost = 0 - way perfect navigable. If Bot (or other seeker - me by example) doesn't have JumpBots then SpecialCost will be 1000000 - no way there.
At SpecialHandling section you might add whatever stuff (Bot(Seeker) speaking: Ouch, It's a jumpy job here, or whatever speech), combinations are a lot + preventing spamming using a timed deal involving Level.TimeSeconds.

Aside:
I was tracking that bAlwaysAccel and seems just a value - looks unused at first sight.

Edit: I recall other things. if JumpBots are around but our Bot failed them you can block path using a ranged check. Bot in range will roam for stuff until will get JumpBots and then unlock path. I did this to prevent dumb hunt in MH without weaponry. Wick Bot doesn't find path, stronger Bot has free way.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: Jump Spot - need bJumpBootsOnly

Post by Higor »

Never evaluate an iteration in event SpecialCost, or you'll be adding that CPU load into every find path call done (imagine 32 bots on that map and multiple kinds of said path...)

You can go deeper and run a 1-2 second timer to scan for JumpBoots around the path, and if said item is found, then do bFoundItem = true.
So when bFoundItem flag is set, simply evaluate with path the bot is nearest to, jump start or jump end.

Evaluate in this order.
- High JumpZ, accept.
- bIsPlayer = False, reject
- bFoundItem=False, reject
- Bot is closest to end, reject.
- Bot about to hit start, use SpecialHandling to send bot to boots.

It requires:
- Scan items every X seconds (not expensive)
- Initially scan linked paths to find jump destination node (optionally rescan every 5? maybe paths are dynamic...)
- Two conditional VSize calls on SpecialCost... unless you play with DOT based algorithms that reduce uscript overhead?

I could make a test level, but don't expect it within the day lol.
User avatar
sektor2111
Godlike
Posts: 6410
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Jump Spot - need bJumpBootsOnly

Post by sektor2111 »

Higor wrote:Never evaluate an iteration in event SpecialCost, or you'll be adding that CPU load into every find path call done (imagine 32 bots on that map and multiple kinds of said path...)
My bad... I forgot to mention that my kinda stuff it's not addresing a 50 MB of Level with a crapton of Bots to push your butt all the time bugging you or making DevPath useless. I have decent Levels done based on Inventory check + Logs and I don't see any CPU load more than necessary (yeah, I could see that FindPathToward - and my question is: Why has been removed Clocking support ? :loool: - bad move timmy boy, NVM). I repeat: 3 tricky spots + 4 Bots + Level having 4-5 MB won't explode any CPU + for more action (in case of MH) we can develop server-travel stuff. To not mention new deal: do not find any path if you have an enemy specific to MH-s after 2014 so I don't cry + How many Bot users exist ON-Line since I could see only haters and thanks to those retarded geniuses I did not put public A.I. stuff any more so they can live with idea about more things as being impossible for A.I. even if are totaly doable.

Note: Such stuff I run on a 2004 dated machine and I didn't see it blown up + using some new technology to decrease pawnlist load :wink: .

Note:
BTW when you will want to get into battle with FindPathToward I'll tell you what I think about decreasing load. :|
Red_Fist
Godlike
Posts: 2166
Joined: Sun Oct 05, 2008 3:31 am

Re: Jump Spot - need bJumpBootsOnly

Post by Red_Fist »

I guess they should stay and not respawn, once you do that set max desirability to 5 or more, then they will probably use that path too much.
Binary Space Partitioning
User avatar
Gustavo6046
Godlike
Posts: 1462
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Resident Wallaby
Location: Porto Alegre, Brazil
Contact:

Re: Jump Spot - need bJumpBootsOnly

Post by Gustavo6046 »

What if I simply put a LiftExit near the jump boots as well? This worked.
"Everyone is an idea man. Everybody thinks they have a revolutionary new game concept that no one else has ever thought of. Having cool ideas will rarely get you anywhere in the games industry. You have to be able to implement your ideas or provide some useful skill. Never join a project whose idea man or leader has no obvious development skills. Never join a project that only has a web designer. You have your own ideas. Focus on them carefully and in small chunks and you will be able to develop cool projects."

Weapon of Destruction
Red_Fist
Godlike
Posts: 2166
Joined: Sun Oct 05, 2008 3:31 am

Re: Jump Spot - need bJumpBootsOnly

Post by Red_Fist »

OK if you want to guide them to the landing, but it won't make them want to use and find the jumboots.

do what I said, look in the properties, make the jumboots not respawn (they always stay), and raise the Max desirability of them.
It really should be associated with a ( lift exit> liftcenter> liftexit with tags, no mover needed ) as a matter of logic to guide the bots to some location.

Look in the lifcenter, change the Z differentialAdd, by some amount higher angle you want them to see, goto navigation and make extra cost to zero not the default of 400.
Binary Space Partitioning
User avatar
sektor2111
Godlike
Posts: 6410
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Jump Spot - need bJumpBootsOnly

Post by sektor2111 »

Tiny example ?

If you don't want to see failures is much better a "smart" navigationpoint (as jumpspot with impactJumping state) triggering Bot to run for picking up stuff. Usually they are greed at items and if A.I. code doesn't speak well Bot will get over and over J_Bots. Tricky items need some "float Desirability" code which J_Bots doesn't include. If I'm thinking well let them alone and change respawntime to 6 (preserving 1 second). Usually Bot is waiting respawn if this will occur in next 5 seconds. You might even guard this stuff with certain actor not not get messed up by some mutator. I did such things in some MH reworked "Levels" and they can use J_Bots if are properly set and placed.
User avatar
Gustavo6046
Godlike
Posts: 1462
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Resident Wallaby
Location: Porto Alegre, Brazil
Contact:

Re: Jump Spot - need bJumpBootsOnly

Post by Gustavo6046 »

I don't even know how to use JumpSpot really well. Morpheus has both LE-JS-LE and LE-LC-LE.
"Everyone is an idea man. Everybody thinks they have a revolutionary new game concept that no one else has ever thought of. Having cool ideas will rarely get you anywhere in the games industry. You have to be able to implement your ideas or provide some useful skill. Never join a project whose idea man or leader has no obvious development skills. Never join a project that only has a web designer. You have your own ideas. Focus on them carefully and in small chunks and you will be able to develop cool projects."

Weapon of Destruction
Red_Fist
Godlike
Posts: 2166
Joined: Sun Oct 05, 2008 3:31 am

Re: Jump Spot - need bJumpBootsOnly

Post by Red_Fist »

A lift "exit" it like a place to get on, and get off. The lift "center" is the place to go after you get on, the place they aim at, then they see the other lift exit for them to want to jump off at.

Same principal for jump spots, it's more or less a liftexit but has nothing to do with movers, all though I use lift exits, sort of like a forced path, not so much the jumping or lifts.

But that is why we need them for a bot to get on a lift, once they do, the mover takes over just moves and they look like they are using a lift. but it's still just a forced path.
Binary Space Partitioning
User avatar
sektor2111
Godlike
Posts: 6410
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Jump Spot - need bJumpBootsOnly

Post by sektor2111 »

Red_Fist wrote:Same principal for jump spots, it's more or less a liftexit
Wrong, JumpSpot is not a LiftExit. JumpSpot is a LiftCenter and has an entrance and an exit called LiftExit on both sides else JumpSpot leads nowhere...
[attachment=0]Navigation.PNG[/attachment]
See classes in Editor in case of doubts.
Attachments
Navigation.PNG
Post Reply