Page MenuHomeFeedback Tracker

[AI REQUEST] Polygonal Pathing for Buildings and Game World
Reviewed, WishlistPublic

Description

I am unsure if this is the method you currently use, so I'll place it here anyway.

I am aware that there are memory points inside buildings, and that there is a predefined pathing for the AI to get from 1 point to another.

This is kinda bad in my opinion because then the AI will only move in the set path created by the person who made the buildings.

My idea incorporates a polygonal pathing system where the AI can walk ANYWHERE inside the polygon without being constrained to paths.

Obviously keep the memory points for certain positions within the house, but having the polygonal pathing system allows you to set rooms, and have the AI to go to that room and stand ANYWHERE they want or at a memory point.

About the image I uploaded:
The Yellow Polygon:
This is the kitchen. It is a seperate room. You could tell the AI to move to the kitchen and they will. Or you can say move to any window in the kitchen and they will. Or say move to memory point 1 in the kitchen and they will.

The Orange Polygon:
This is the doorway/archway/door. If there is a door in place, use it, otherwise walk through it or lean around the corner to look into the room.

The Green Polygon:
This is the hallway, upon entering the hallway, check for enemies or just walk to the room needed, or move to Memory Point 1 in the hallway or Memory Point 2 etc.

The Blue Polygon:
This is the stairs, it tells the AI that they will transition from ground floor to second floor. OR If underground will ever be added to the game, then tell the AI they will transition from ground for to basement etc.

Obviously the colours are only there to show the different rooms/areas etc.

The idea is to have each room referenced by their own polygons, with their own information inside it.

I apologise for using an old game building image, I just grabbed a random arma ingame building image from Google.

Details

Legacy ID
2656129754
Severity
None
Resolution
Open
Reproducibility
N/A
Operating System
Windows 7
Category
AI Issues
Additional Information

Benefits:

  1. Obviously the AI can walk to any parts of that room without being constrained by paths. And will automatically avoid walls and use doors/doorways to get where they want.
  1. http://feedback.arma3.com/view.php?id=4553

This will help allow the AI to do the building routines as you could always set predefined memory points seperate to the standard ones for where the AI groups should move to in order to clear a room. And maybe have multiple versions of it so the AI leader decides how they want the group to clear the room.

If the room is too small, it doesnt matter if you have a large group. Since you set 3 room clear memory points for 3 AI, the Leader and his two corporals will still room clear and everyone else will follow in (if required) or wait outside.

  1. When placing AI down inside a building, if they are not near a memory point (currently) they move to the nearest memory point. To keep them in place you need to disableAI "Move". Having the polygonal waypoint system will stop that.

NOTE----------------------------------------------------------------------------

Sorry for uploading multiple pictures, I am trying to get the picture to display on this site rather than having to download it just to view it. They are all the same pictures though so choose one.

ACTUAL NAME OF THE SYSTEM -----------------------------------------------------

"Navigation Mesh"
After doing a bit of research when Helari replied, i came across this: http://www.ai-blog.net/archives/000152.html

I dunno what most of the games are on there, i think the first one may be World of Warcraft, but that basically explains the "Navigation Mesh" aka my "Polygonal Pathing System" (PPS) - see I've already gave it a universal name.

OTHER EXAMPLES -----------------------------------------------------------------

Elder Scrolls Oblivion
http://i43.tinypic.com/2r70gp5.jpg

FallOut (Same company as the Elder Scrolls)
This is not a high res picture (sadly) but you can just about see the complexity of the NavMesh. In ArmA 3 this will allow the unit to get around multiple levels without issue.
http://tes.kikaimegami.com/screenshots/Fallout3/Mods/kikaiEquipment/NavmeshesOhGod.jpg



Omg check this out:
http://www.youtube.com/watch?v=MsgCLX84RZo

Watch the whole thing but look especially at the boat part about 54 seconds in.

Event Timeline

Woodpeckersam edited Additional Information. (Show Details)
Woodpeckersam set Category to AI Issues.
Woodpeckersam set Reproducibility to N/A.
Woodpeckersam set Severity to None.
Woodpeckersam set Resolution to Open.
Woodpeckersam set Legacy ID to 2656129754.May 7 2016, 4:06 PM

Another way this could be used possibly for moving vehicles such as large carriers and boats.

The polygon pathing system will stay local to the moving vehicle, so no matter how fast the vehicle is moving, a unit can stay in the same place because where they are standing, their position is only local to the object, not the world hence no more positional lag.

EDIT:
Sorry for uploading multiple pictures, I am trying to get the picture to display on this site rather than having to download it just to view it. They are all the same pictures though so choose one.

You have buildings, and damage models for the buildings.
Being damaged the AI should to a certain extent be able to move around on the rubble, as long as it is not too steep or there is an intact wall in the way (obviously).

They currently do walk through the rubble, but they often get stuck because they just walk aimlessly into it (in most cases).

If there are no plans for dynamic building destruction, then it is possible that the polygonal pathing system can be placed for the damage model of buildings, so a pile of rubble leading up to a window on the second floor (with a memory point there) should be easy for the AI to access with the system without getting stuck or spinning in circles.

I hope a good modder see this... i dont think we will have any new improvements implemented

Well i believe the system is quite implementable to the current system.

Just open an ArmA 3 building in an editor, create rooms using polygons touching the floor. Name them appropriately and make sure all the polygons are touching each other, remove unneeded path points, add memory points. Make sure the polygons are not visible in game.

Then in game tell the AI to go into the room anywhere they like.

Well it sounds simple... I know that they would need to tweak it so that the AI knows they can walk anywhere in the rooms etc.

I can see it being done quite easily, but I have teeny little coding skills so i have no idea how hard that side of the job may be.

But best of luck if someone is attempting it.

You're idea is good, AI needs to move at a random point in the room, it has to be combined with the clearing room technic ( another issue, don't remember ) with one or multiple AI ; for awareness. I think it's possible and Arma really needs it cause AI will really use buildings like that. It's important that AI decides to enter a building for tactic when it can be a good cover to attack or to defense. Really need to be in Vanilla game, too much mods it's too complicated.

Another add, I believe this system should be available outdoors too.

Especially the canal in Agia Marina.

I can walk along the ledge of the canal to get to the steps, the AI cannot they tend to walk around the houses just to get to the entrance of the steps.

Having the whole canal use the polygonal system would allow the modder to seperate the ledge from the base of the canal.

This can be used for animation transitions so the AI can jump off the ledge or climb up the ledge depending on the situation.

It could also detect if there is water in the canal, if it is too high then then AI wont go inside.

I hope there is a way to have water in the canal though....

Independently of the implementation (be it coloring or house division categories), the gist of the idea could help improve CQB.

My point exactly. To improve AI movement and definitely CQB

Helari added a subscriber: Helari.May 7 2016, 4:06 PM

Would polygonal pathfinding solve awkward movement on bridges, rocks and any other objects too because the AI wouldn't be trying to traverse between two static points but instead on a larger area defined as passable?

Yes that is basically what my idea is about. I just did a bit of research when you replied , it is already known in the games industry as the "Navigation Mesh". I just called it the "Polygonal Pathing System" as it is basically the same thing, with a different name.

Check this out: http://www.ai-blog.net/archives/000152.html

I dunno what most of the games are on there, i think the first one may be World of Warcraft, but that basically explains the "Navigation Mesh" aka my "Polygonal Pathing System" (PPS).

So yes Helari, that was my idea in the first place.

Just found out that the elder scroll games (morrowind+) also use the NavMesh method.

See this picture http://i43.tinypic.com/2r70gp5.jpg

See the objects? The navmesh draws around the object so obviously to stop the AI from walking into them. And also the stairs are drawn angled too.

Bohemia added a subscriber: Bohemia.May 7 2016, 4:06 PM

or look at CS:GO, his waypoints system is good too, or FC3!

Yes exactly, there are a lot of games that use this system, and look how good they are. I really hope that the devs are thinking about this :D

I really hope too, but maybe with updates after the release, the feedback tracker is more for bugs than features now.

@Woodpeckersam: I usually have success when i upload JPEGs...

Thanks suicideking, will try and upload in that format.

@moderator:
Can the title be changed to something like

[AI REQUEST] Polygonal Pathing for Buildings, Objects and Vehicles

or

[AI REQUEST] Navmeshes for Buildings, Objects and Vehicles

I do apologise but can you any 2 of the files I have uploaded?

Whichever rocks your boat. Thanks so much.

JPEG Uploaded

edit: No thumbnail for the image :/ Wish there could be basic HTML support when creating tickets... just to be able to link and show images.

Odd, usually works for me :|

This will work on rocks and cliffs. Just make sure that when the unit transitions from terrain to a rock they walk on the rock not through it.

Another thing that can probably be affected with this method is the weight of vehicles/units.

Obviously the stairs can be quite difficult to ascend if you have lots of heavy gear on so it slows you down.
So the navmesh will automatically include gradient information, even if the gradient changes on the way it will know.

Then by doing some amazing maths you can smoothly transition the speed according to the weight of the unit/object if it is walking into the gradient or away from the gradient or even if u are walking sideways to the gradient. Walking down a slope will make you walk faster but more likely to tumble if the main mass of weight is in front of you.

This would work but if it is too complicated at thus stage then simply having the AI be able to move around using the Navmesh would be great.

This will also fix underground too! I remember someone from BI mentioned underground and ai are an issue. With navmeshes? No more :D.

This really sounds interesting, hope it's implemented at some point.

Can navmeshes provide information about ledge? Like jumping into a canal or something like that.

Probably. It does depend on how the Devs would do it.

When i mentioned the gradient information being interpreted to slow units down depending on weight, what I meant was that the system would know what angle the gradient is in accordance to the direction the unit is walking in.

Maybe to detect possible places where a unit can jump off a ledge, it may be that you require, as normal, navmeshes where they can walk, then kind of a line at the edge of the navmesh where they can jump down.

It could be so that if the line is within a certain height, say... up to the AI unit's waist, then he can climb up the ledge. But if the ledge is double the height, the unit can only jump off it, not climb up it.

I see. I guess you could draw a line when the gradient angle exceeds, say, 60 degrees, and calculate the possibility of a jump/climb (or simply detect the edge as too high for either) based on the place where the terrain becomes more flat.

If we could get a C130 like plane in ArmA 3, incorporate this system, lock it to the plane so that the world gravity does not affect any units standing in the vehicle, then have the so called line at the end of the hatch, when a unit walks to line, if they have a parachute/wingsuit they can jump out of the plane and skydive.

They also take into account the height of the plane to the terrain to determine if it is safe enough to jump and land on the ground without getting hurt.

Obviously the unit will not be able to walk to the edge of the hatch if it is shut, because the gradient angle of the hatch will be so high that the unit will not even attempt to walk up it... lol! Hence they wont think about walking to the so called line to jump out, until the hatch is lowered.

Yhea this system is really nice. I used it in sandbox 2 (Crysis 2). Pretty much draw some shapes in buildings like halways enc and the AI walks all over the place whitin the border of the marked area. As you described ^ doing with vehicles could bring some new features as advanced cargo loading enc.

It does say that this request is reviewed... i am wondering what the devs are thinking of this system?

Advance Cargo Loading yes and even cargo unloading of course, attach a physx rope to the side door, walk to it, interaction pops up to rappel, climb onto the rope and go down. You dont have to be confined to the seats all the time, well only if its a Chopper. The smaller heli's are impossible to move around in.

But this would work very well for large planes and large boats and even large vehicles.

I've probably mentioned that a few times though lol! Exciting "possible" feature =)

"Reviewed" unfortunately doesn't mean "assigned", it's possible the devs still haven't seen it yet or are ignoring it (like the women characters issue).

I know, I have my fingers crossed they have this feature on their todo list... fingers crossed.

You know I wonder if this is the system used in the vehicles in VBS2... hmmm

Edit: Wow looks like it is :O and not just for vehicles too
http://en.wikipedia.org/wiki/Xaitment

Source from:
http://forums.bistudio.com/showthread.php?119590-VBS2-alignment-with-ARMA3&p=1984417&viewfull=1#post1984417

also read the first post on that thread.

Ok so the title really should be... [FEATURE REQUEST] Include Xaitment in one form or another in ArmA 3

But if its not feasible to include software thats already there, then hopefully it can be done some way in ArmA 3.

edit:::
Omg check this out:
http://www.youtube.com/watch?v=MsgCLX84RZo

Watch the whole thing but look especially at the boat part about 54 seconds in.

edit2:::
This is not 100% related to this thread, probably about 10%, but it shows Xaitment in action... wow im impressed
http://www.youtube.com/watch?v=mwmiPhVf8xU

Ok i'm confused. The second video claims that VBS2 doesn't have xaitMap stuff?

And does Arma Tactics have this?

I have a funny feeling that Arma 3 does have this in parts, i've seen the UGV exhibit this kind of behaviour...and to be honest, even the AI at times does display some aspects of xaitment.

So i wonder, is it simply that the terrain doesn't have appropriate meshes everywhere?

The second video was simply just showing Xaitment in action, which is why i said not 100% related to this ticket.

Xaitment is the... lets say module.

Xaitmap is the path finding/navmesh part of the module

XaitControl is the AI part of it, intelligent AI avoiding obstacles and using direct paths etc.

Since i found Xaitment to be in VBS2 by doing research, Xaitmap is the thing i am requesting to be in ArmA 3. I should have mentioned that, I apologise.

The AI i believe are already very smart, they just need the tools to help make them even smarter.

Here is a part of the wiki:

"xaitment currently sells two AI software modules: xaitMap and xaitControl. xaitMap provides runtime libraries and graphical tools for navigation mesh generation (also called NavMesh generation), pathfinding, dynamic collision avoidance, and individual and crowd movement. xaitControl is a Finite State Machine for game logic and character behavior modeling that also includes a real-time debugger. On January 11, 2012, xaitment announced that it making its source code for these modules available to "all current and future US and European licensees"."

Awesome report, I'm sure BIS definitely won't be ignoring this :)

"Awesome report"
Agree! These ideas could raise the level of the AI in the game is significantly higher than what we have now! To make it more adequate and realistic!

"I'm sure BIS definitely won't be ignoring this"
unfortunately, I not assured, because the date of creation this ticket: 2013-08-18.

It says 'Reviewed'. Doesn't mean it will ever become assigned.

Well since they have a new expansion in the works maybe afterwards they could look into implementing this feature?

I find that more games are using it, it makes for very fluid and dynamic situations.

Lets get the votes rolling again!

I was playing on a map yesterday (Hindu kumush or something like that) and notice there was a large area with rocks surrounding all the edges. Looks like a giant / tall crater. I asked my AI to move near the edge of the rocks to go prone and wait for the enemy to arrive... But he wouldnt comply. Then I looked more carefully and noticed that the terrain dips so far that the rocks are hanging off it. He wouldn't walk there because there is no terrain to stand on.

If Polygonal Pathing was possible one would paint from the edge of the terrain over the rocks when creating the map. This would allow the AI to ignore the terrain and walk anywhere inside the polygon path. If there is something to collide with, then it will. If not then it will fall to a horrible death.

The map editor would include an auto pathing tool that paints polygons on the terrain but avoids structured and other impassable things, then if a user spots something that should be passable say going from terrain to rock then they would paint the passable areas manual.

Also allows users to have polygons on a bridge and under a bridge.

Would also make it possible for the ai to go through small gaps if there is enough room, the unit property for the polygon in that gap is set to prone only for example. The unit can be command to move through or to stay in there to await an ambush etc.

Today the behavior of the AI, inside buildings look silly and not realistic.
I want to believe that one day, BIS is ripe for this idea. But now... we only waiting for 2 years.

I've raved about this before (a video is linked) but since the inclusion of the 3D Mission Editor is going to happen, maybe look at importing xaitMap (from VBS2) into ArmA 3.

Check this video out: https://www.youtube.com/watch?v=S4ZRHLXsxU0

Woodpeckersam added a comment.EditedMay 31 2016, 7:13 PM

Is sincerely hope that this (or similar) sort of idea will be a surprise for us in Tanoa.

Playing a custom map (one of the middle eastern ones with a massive city covering half of it) and there was an alleyway that could fit 3 people side by side... the AI wouldn't go through it at all and went around instead.

This completely broke the immersion of what I wanted to achieve after trying a few times I quit the game to the frustration.

I would like to extend this request to the game world, not just buildings.

Woodpeckersam renamed this task from [AI REQUEST] Polygonal Pathing for Buildings to [AI REQUEST] Polygonal Pathing for Buildings and Game World.May 31 2016, 7:14 PM
Woodpeckersam updated the task description. (Show Details)
Woodpeckersam edited Steps To Reproduce. (Show Details)
Woodpeckersam edited Additional Information. (Show Details)
Woodpeckersam set Operating System to Windows 7.