0
\$\begingroup\$

hi :D i'm currently using unreal for make a sand-box game for learning purpose.

and due to the unique attribute of sand-box game, i am looking for how AI move naturally on map (which changes so often).

i find a way to place Nav-links on map dynamically and working on that way. but i think if i can make AI do Jump or fall off,climb low height wall like thing, it would be more performance-friendly than placing bunch of Nav-links.

so i searched about that, and i find 'how to get navigation-mesh in unreal', 'how to override path following' kind of stuff. but i really can't find and don't get about 'How to make AI decide to jump when it need'

enter image description here i put an image for detailed question. Stick man is the AI and while the flag on right top is the goal( target move location ), there is also 2 obstacles(A and B) for reach the goal.

so here is my question :

  • while the navigation mesh isn't linked between the platform and above the obstacle A. How path-finder knows it can use 'A' when it can do Jump?
  • i think obstacle B is more difficult situation. unlike situation A, 'navigation mesh B'has the same or inner positions of 'navigation mesh platform'. while the only noticeable difference is height, how AI or path-finder know it is valid path and needs do jump?
  • quite same question about B i think. i forgot to draw on image though. so, if AI figure out the path and try to do jump for reach to goal but there is some obstacle just placed which block the jump. how it know and fix the path?

i know it is very difficult question, and very hard to explain. especially the question 2 and 3. so i understand even only answer for question 1. and even so, i feel so appreciate about it.

since English is not my first language, please excuse my poor English skill. and hope you don't bother about it :).

thanks for reading, and hope you have a wonderful day and stay happy :)

\$\endgroup\$
  • \$\begingroup\$ I presume from your question you've added a NavMeshBoundsVolume. For the AI, are you using a Blackboard (and Behaviour Tree) or some other way to move the AI? \$\endgroup\$ – Stephen Feb 7 at 8:23
  • \$\begingroup\$ for Nav-link method, i use Blackboard and Behavior Tree. specifically, 'Move To' node. and for now, jump function is in Nav-link. when it trigger 'Receive Smart Link Reached' event, it launches character so they kind a do jump. \$\endgroup\$ – HM Ham Feb 7 at 11:22
  • \$\begingroup\$ I mean a NavMeshBounds Volume which tells the AI where it can and cannot move it. You can turn it on by going to Perspective View then selecting Show -> Navigation. The part of the level the AI can navigate goes green and looks like this: answers.unrealengine.com/storage/temp/… \$\endgroup\$ – Stephen Feb 7 at 14:38
  • \$\begingroup\$ Yeah i know about that. i already learn about quite many basics of AI movement on navigation mesh. and i'm trying to spawn nav-link dynamically so AI can move through frequently changing map. but i find this (wiki.unrealengine.com/…) and i thought if i can do this thing on my project, that mean i don't need to place bunch of links on map whenever maps got changes and that may can save a lot of performance. i searched about it a lot but i really don't know how they get 'jumping path' which is not like normal path \$\endgroup\$ – HM Ham Feb 8 at 8:15
  • \$\begingroup\$ Hm... I think you'd either need a sophisticated path finding algorithm that finds out "when I run below B I can't jump up anymore", or you could use machine learning. Let an algorithm try all possible combinations for getting through the level, e.g. by trying random sequences of commands (simulated keypresses) until the AI get's to the exit. Then store the used successful sequence for the AI to execute when doing this map. This is rather dumb machine learning, if at all, but it might do what you want. \$\endgroup\$ – Ignatiamus Feb 8 at 10:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.