#gameplay-ai

1 messages · Page 179 of 1

celest python
#

and I can say bots literally just know where level 2 thing is and just go there 😄

#

there are many people know about that stuff just keep bumping it

misty wharf
#

I do wonder what method pubg is using specifically

#

it used to be a problem that loot didn't spawn at the start

#

took a while before it started popping up

#

although that could have been some kind of latency issue as well

celest python
#

it shouldnt be a visible latency

misty wharf
#

Yeah

round sand
#

what do you wanna know?

peak oxide
celest python
#

out of curiosity but why anya does not have pink hair though

peak oxide
round sand
peak oxide
celest python
round sand
#

i watched the 1st season

celest python
#

I also liked it

celest python
round sand
#

disguised but still Anya lol

round sand
#

what cant you understand in this?

peak oxide
round sand
#

sight radius is till what distance it can detect enemies

#

lose sight, when will it lose its sight from the enemy

#

etc

peak oxide
round sand
#

what special do you wanna do?

peak oxide
#

so i want enemy to focus on the first one to see

#

until enemy kills him then go to the next character and so on

round sand
#

it's simple, make a local variable for an actor you want to attack

peak oxide
#

i did

round sand
#

change it only when it dies

#

or gets out of sight

peak oxide
#

but at multiple sense the on perception update event get complecated so i need a tutorial did something like that to get hints about the implementation

round sand
#

at multiple sense?

peak oxide
#

sight, hearing, damage etc

round sand
#

you mean things getting sensed again and again?

#

but you are locking your target with sight sense right?

peak oxide
#

yes

#

sight sense is the dominante

#

but what if someone hit me

#

i want to check the location (damage sense location) then oh this one attacked me so move on to the sight sense

round sand
#

but 1 moment

#

maybe this can help

peak oxide
round sand
#

then you have to ask help from AI gurus here

peak oxide
round sand
#

@celest python btw do you think there's a use of two BT for a character?

celest python
#

yes

#

Alien Isolation runs two different BTs for its Alien character

#

one for head, one for body

#

they communicate a lot though

celest python
peak oxide
celest python
#

I saw urban dictionary on 2nd link sadcatup

#

prejudged

celest python
celest python
#

@peak oxide because both think they are not a real family

celest python
#

forger and the woman

peak oxide
celest python
#

didnt you ask why they call anya-san but not anya-daughter and remove later on lmao

#

couldnt respond in time

peak oxide
peak oxide
#

u did not even understand the joke

celest python
#

i blame the joke

#

was not quite good enough

peak oxide
ocean delta
#

sup. OnInstanceCreated isn't getting called for one of my BTServices. likely because... well... i'm not creating an instance of it. how can i run something to only happen once when the service initially starts and never again? i'd rather not keep a boolean that keeps track of this.

#

OnNodeCreated?

#

there's also OnBecomeRelevant but it gets called quite a bit, so not exactly what i want

#

oh actually i think what i'm looking for is InitializeMemory

opal crest
#

BecomeRelevant is what the Blueprint version of Service uses to call ReceiveActivation*.

#

It's when the service is "logically" initialized. I.e. When the BT starts evaluating the subtree your Service is attached to.

#

InitializeMemory does look like the place for a one time ever call, but the way "non instanced" nodes work is strange, so look out for that.

ocean delta
#

yeah actually this won't do

#

because it happens before the pawn is controlled by the AI (as far as i can tell)

#

oh actually, no. i'm wrong

#

it's already possessed but the value i need is set at a later time

#

hm

#

yeah, it's unfortunate. looks like i'll just have to set a boolean. oh well

normal mist
#

Anyone have words of wisdom on when a state tree should be considered vs a behavior tree? I am but a plebian

#

I am coming across state tree because I am using MassEntity and it seems to have integration with State Tree

tender lily
#

Noob question: struggling to find a decent spider AI navigation system to traverse walls, ceilings for an internal project. Thinking of writing one myself and wondering if there's a demand for this kind of plugin in UE marketplace?

ocean delta
#

Hi! How would I set up shared memory between multiple instances of a behavior tree? Like, say I want multiple AI controllers to know about each other’s positions. How can I do that

#

Would I use NodeMemory for that? Or the Blackboard?

#

I specifically want to group certain characters together

celest python
celest python
#

might be what you are looking for

ocean delta
#

fantastic tY!

ocean wren
#

There's a line trace on navmesh function you can use to get distance to navmesh edges

#

I don't know about you guys.. but in this kind of thing, I'd switch off physics collisions for the duration of the takedown and then switch back on

#

Just in case you get some clipping through geom

granite vault
#

How would someone build navmesh that is super large by few km x few km?

#

Not talking about nav invokers

#

My space is constantly occupied by agents in at least 300m x 300m

ocean wren
#

I probably wouldn't use a navmesh for a large area currently

granite vault
#

What would you use?

#

Navmesh is 11years old but seem powerful. No idea what's new after 11 years now

ocean wren
#

I'd use a grid based pathfinder, or roll my own sparse navmesh

#

it does depend a lot on the world though, how dense it is, if we care about collisions etc

granite vault
#

Hmm even the ground is always uneven and slopes a lot?

ocean wren
#

it very much depends on the world you're creating.. if you have to run physics etc.. lots of different factors

charred lava
granite vault
#

I have no issues on those at the moment

#

Only need a navmesh currently

ocean wren
#

As long as you have a good rough pass to position as you've described, I think it'd be a decent tradeoff

charred lava
#

yeah

granite vault
#

Only two person managed to build 8km x 8km navmesh as far i know

ocean wren
#

Yeah, I wouldn't use the Recast navmesh system.. I'd make my own cell based navmesh

granite vault
#

Hmm

ocean wren
#

Using only bounds boxes for distant buildings

granite vault
#

I have no idea how to roll own cell based navmesh

#

That seems complex

ocean wren
#

Yeah, its not "easy" 🙂

granite vault
#

Looking at UE nav lib already know

#

It's super advanced

ocean wren
#

naah, its not THAT advanced

#

Having said that, it'd be interesting to generate a bunch of recast based navmeshes and then stitch them together.. but really, the navmesh invokers thing is build for this scenario

granite vault
#

Does it make sense to invoke 300m x 300m every seconds player moves?

#

Most use case are so small

ocean wren
#

for 300mx300m no, just use a dynamic navmesh

#

Or you mean a larger area? navmesh invokers build navmesh around the invoking objects

granite vault
#

Larger area. The whole map could be few km x few km. The play area is where the player is at* but constantly occupied by agents in large meter area up to 500m x 500m max

ocean wren
#

have a look at the navmesh invokers, see if those are useful..

granite vault
#

Noted. Thank you for the advice.

vast sail
round sand
#

Hello,
For a map which is really huge. similar to Pubg, what would be the best for integrating Navmesh

#

it's quite huge so Navmesh takes time to build

#

heard of navmesh invoker but I have heard it's quite buggy

#

any suggestions?

round sand
ocean wren
#

beats me 🙂 I've not tried.

#

Thats the "official" way 🙂

harsh storm
#

I haven't encountered any issues yet. I've tested in PIE and packaged builds.

opal crest
#

You can also go with an older approach, and use a static navmesh instead of a dynamic one. Maybe coupled with a ZoneGraph for long range navigation.

harsh storm
#

My maps may not be 300x300 though 😅

unkempt barn
#

What are some ways an AI might calculate the probability of a successful melee attack? seems like there are a lot of ways to do it, wondering what others have tried

misty wharf
#

Depends 100% on how the attack would be performed and what factors affect its likelihood of success

#

If it's a pure dice roll then the probability is just a simple calculation based on the odds

#

but if it's not then it's pretty hard to say without knowing how exactly the attack works

abstract sail
#

trying to debug some NPC AI. was wondering about why simulation is not active for some of my pawns, and how to force them to simulate. That seems to be the difference between the NPCs that do work and the NPCs that don't. Added a picture of the debugger for comparison. The NPCs are set to walk and move around to different points, which has worked in the past but after some world partition shenanigans and tweaking of navigation settings many of my NPCs' pathfinding just broke.

abstract sail
ocean wren
#

hahaha.. yeah, that's an important one

#

Trying to think of something fun for my graphics class next year

#

I guess getting them to look at metahumans might be fun

#

I guess some kind of animation thing

#

maybe Parkour? that'd be a nice theme...

#

MASS PARKOUR

#

Construct a scene where at least 1000 characters display some form of parkour through an environment you construct

ocean wren
#

I guess I could make it more of a challenge, give them marks based on how many they can get to parkour

granite vault
#

But metahumans are too heavy for most PC though. Unless your school PC is powerful

ocean wren
#

Well, they're not that bad.. but yeah, part of the point is to see if the students figure out a way to make them more performant

#

Thought I'd share this on here.. seeing as its ML stuff.. neural painting experiment 1 on my YT

fallow hound
#

Is there a way to optimize perception checks against irrelevant sources? Like don't check vision between teammates? Is that what the team settings do?

ocean wren
#

yeah

fallow hound
#

Thanks

ocean wren
#

Ok, here's todays fun...

hallow flint
#

i like the parkour idea, what kind of stuff have you taught in graphics class before?

ocean wren
#

All sorts really. Whatever comes to mind at the time. Things like crowds, materials, dissolving etc.

granite vault
#

what course is it actually? Sounds like generalist game dev course

ocean wren
#

I teach a bunch of modules on a game programming degree

#

I teach graphics, advanced graphics (MSc), procedural content generation, big data, cloud development, ai, game programming, game engine architectures.. stuff like that

#

doing a new Game AI degree next year, will do some trad AI and ML in that.

ocean wren
uneven sail
#

Hey!
I set up some basic right-click walking on a navmesh and I ran into a problem. I'm using Characters and CharacterMovementComponents with bUseAccelerationForPaths=false for the Agents. The agents move correctly but they don't stop directly on top of the mouse cursor. It seems this is affected by the size of the collision component on the agents but I wasn't able to find it in the engine code yet. Obviously I don't want to set my CollisionCapsule radius to 1.0 but I still want my agents to reach the exact destination. I'm sure this is a problem that people have ran into before. Any help would be really appreciated.

EDIT: Managed to solve it by switching from UAIBlueprintHelperLibrary::SimpleMoveToLocation to AAIController::MoveToLocation

feral imp
#

Good afternoon! My task is to do it this way! I have two artificial intelligence objects, a fly and a frog, a fly appears with random sizes outside the camera and moves to a random point on the map, the task is like this: smaller flies are closer to the frog, larger flies are farther away from the frog. How can I do this?I need to state everything as clearly as possible so that I understand. Thanks)

ocean wren
#

simple linear algebra?

feral imp
ocean wren
#

yes?

feral imp
# ocean wren yes?

I need to do it any way I can. 1) A fly flies into an area determined by its size. 2) So that it does not fly out of it. 3)In this area, it also moves randomly but does not fly out of it

radiant lance
#

Sounds like you have an algorithm in mind - might as well try to code it up no?

feral imp
slim owl
#

Hey Guys, very stupid question, but how can I reorder variables in a Blackboard?

#

is there some sort of a shortcut or else to move a variable?

misty wharf
#

afaik it's not possible

#

seems like a very strange omission

slim owl
#

Oh well...found it

#

it's the most F*up way to reorder

#

for the future people that are wondering how to ...

celest python
slim owl
#

Open the blackboard with the property matrix, open the Propery Editor and here you have a list of Key with all the variables

#

you can reorder it there!

feral imp
#

the star is my frog, the yellow circle is where the flies of different sizes appear, the lines are how they should fly depending on the size, the inner circle of the fly usually has a size from 0.1 to 0.5, from 0.5 to 1 size in the outer circle

celest python
#

okay, so you just need to map those numbers to radius of circle

#

try to get random point in navigable radius, then spawn small flies in the radius of half of that circle

#

and for bigger flies, provide the full radius of circle but dont accept values closer to the frog that is lower than half size of the circle radius

pseudo venture
#

Hey folks! My dynamic navmesh starts rebuilding in a worse resolution if I increase the camera height, very similar to an LOD. I searched the web and went through the project settings and I have to have missed the settings, but I need it to keep "LOD0" all of the time. Can someone please help me?

placid sail
#

I'm using the UE5 mannequins and the anim blueprint works fine for my player characters but my AI just glide without animating when the behavior tree tells them to move to a location. What am I missing?

ocean wren
sharp junco
#

What's the best AI decorator/service method to use as a selector for checking values in the gamestate? For example I want the AI to keep checking if it's someone else's turn in the gamestate. I'd prefer to be able to check values from the gamestate as opposed to specifically setting blackboard values for the AI Controller

pseudo venture
#

@ocean wren it does affect pathing

#

Could it be due to nanite?

misty wharf
sharp junco
#

Oh ok, i didn't even realize you could do that...now i see the "New Decorator" button 😄

ocean wren
#

You sure you're not using invokers or something?

pseudo venture
#

I started using invokers, but it was happening before as well and it even has issues in editor @ocean wren

#

Hm maybe it's an issue of my landscape, I'm using the Voxel Plugin

#

Will have to look more into that

celest python
#

they have a dedicated support discord btw

#

hit them up if you have suspicions

pseudo venture
#

I will, thanks for the suggestion!

ocean wren
#

yeah, 99% going to be that

placid sail
#

Anyone know why my AI would be gliding instead of running with the Move tasks?

granite vault
#

animation issue

boreal bone
#

hey there. i'm trying to populate my level with characters without placing explicit spawn points.
my high level idea is to just randomly pick points on the navmesh and plop them down.
i'm only using blueprints, though, and i'm struggling to implement it.

i found this node, but i'm not really sure what i need to feed into the Nav Data pin. the navmesh, essentially, i guess? is there a way for me to get it somehow?

celest python
#

you dont need to feed it

#

if you let it stay as nullptr, function feeds it with default nav data on its own for you

#

in C++ side

boreal bone
#

oh sweet, thanks! when you say "default" nav data, what does that mean?
i'm assuming it means the entire navmesh?

lyric flint
#

what is the best path finding algorithm?

celest python
#

you can see it on world outliner

#

engine spawns it for you

granite vault
lyric flint
granite vault
lyric flint
granite vault
lyric flint
granite vault
#

either way, it don't matter for whatever pathfinding you choose

#

unless you have some specific use case

wooden echo
#

time to learn EQS i guess

lyric flint
#

Thnx

slim owl
#

I don't see how to set Vectors in EQS, the way I do it atm, is that I set 3 floats, one for each axes, is there a proper way to do it? (in c++)

misty wharf
#

Nope!

#

EQS' parametrization is one of the weird design quirks in it... it marshalls everything as floats, so you can't really give it a vector because that's three floats

ocean wren
slim owl
#

I've seen also a way to link to a blackboard, but I can't find a way to implement it

placid sail
# granite vault animation issue

I'm using the Manny and Quinn mannequins included. It works fine when I move around as a player but they just glide when AI use move.

misty wharf
# slim owl Ok lol 🤣

Your best bet would be to create an EQS context which returns the position you want as a vector

#

That's probably the most straightforward way to go about it - and a context can access a blackboard as well

lyric flint
slim owl
#

So I"m ending up with that ugly thing there:

slim temple
#

guys

#

how can i make it so when my ai gets blocked from reaching the path point it goes onto the next

#

cuz when i close one door, it runs all the way round to the other

#

how can i fix that

slim owl
#

on my side if the AI push the pilar here, and get outside the navmesh, it get stuck

slim temple
#

ah

#

i want to release my first game by the weekend but this bug is just... eh

#

idk how to fix it

slim temple
#

or is it possible to make the ai not collide with other ai's so they dont block each others paths

misty wharf
#

you can set up the collision channels on them so they ignore or overlap each other

tardy wolf
#

Is it possible to add your own interrupts to AI Tasks?

#

Maybe interrupt isn't the right word, but like a custom event that can be executed if the task is currently running?

quick badge
#

Has anyone worked with generating complete new navmeshes at runtime? For me, it costs around 15ms for "Nav Tick Time"/"Nav Tick: Mark Dirty". I already tried using "Do Fully Async Nav Data Gathering" and reducing "Dirty Areas Update Freq" from 60 to 30. Any ideas on how to reduce the frame time for the nav mesh building?

twin cape
#

(Using UE5)

i often dont talk in this discord, but recently i have been encountering something weird. My AI used to work with AI MoveTo in the BP as testing. then one day as i was finishing level design it stopped working. I have deleted the nav mesh and recast and made a new one and still no luck. I even finished the Tree for the AI (Followed Unreal's documentation) and it also does not work. any advice?

#

the AI moves a few inches, then fails

placid sail
#

I'd check your CMC, level settings, see if something very basic is all jacked up.

round sand
#

Guyssss!
the perception system is not detecting buildings. I checked the colliders. There are colliders attached on the static mesh. What could be the issue?

misty wharf
#

What do you mean it's not detecting them?

#

Are the buildings supposed to produce perception events? Or do you mean they don't block sight and lets you see things through them?

round sand
slim owl
#

does it work?

round sand
misty wharf
#

Only pawns will be detected by default

#

There is a component called sense stimulus source or something like this which you can add to other actors, or manually register with the perception system

round sand
misty wharf
#

If the gun is a pawn (or you have the aforementioned comp on them) then yes :)

round sand
#

let me check sense stimulus source

round sand
#

the bigger problem is that the buildings and stuff are done in BPs and I don't know much BPs xD

misty wharf
#

heh

#

@round sand yeah just add the comp in the BP it should work more or less the same way :)

#

It may be a good idea to consider refactoring your system so you have a C++ baseclass for your buildings

round sand
#

anyways, thanks it worked

wild dome
#

how to make navigation mesh applied to flying pawns that can fly over the obstacles?

harsh storm
#

Only move with the X/Y parts. Just keep the Z.

#

Other option is to build a 3D nav system

safe vale
#

Hello guys, little issue with a target location. My AI can hear my radio sound and get it location, the problem is the AI can go there. Is there a way to give a walkable location near this point? I tried getRandomPointINavigableRadius and GetRandomReachablePointInRadius but of course the first place is not reachable. Any idea?

misty wharf
#

project to navigation can be used to project a point to the closest position in the navmesh

twin cape
slim owl
twin cape
#

it isnt stuck

#

the aimove to doesnt work, but moving to location does

#

the ai is also detecting random locations alright also

slim owl
#

One thing you can do, is printing the name of the actors with the positions you have

twin cape
#

it see's random locations, but the aimove to constantly fails. both in BP and in the tree

slim owl
#

Yeah but print the name of the agent you never know

#

Also there is a setting that says to the ai to move, even if the path is not complete, have you activated it?

twin cape
#

yeah this works entirely

#

whilst this doesnt

#

and the same issue happens inside of the tree which is more confusing

slim owl
#

No this is normal

#

One is to simply move the pawn

#

While the other is to move along a path on a navmesh

#

If the navmesh isn't baked or not even there, if will not work

twin cape
#

nav mesh exists, i changed the agent at one point due to the ai bumping into walls

#

but even when i changed it

#

it worked for a while after that

slim owl
#

When you press p on the keyboard you can see the navmesh?

twin cape
#

yea

slim owl
#

Btw, why are you doing it that way?

#

You could assign a random vector in the blackboard, and then link the "move to" to the blackboard

twin cape
#

there are a lot of areas where the vector can be chosen out of bounds

#

its a map full of hallways basically

#

and there are large gaps between hallways

slim owl
#

That not what I'm saying

#

Instead of finding a vector and assigning it in the "move to" in a blueprint,

twin cape
#

it isnt assigned in the bp

#

its done inside the tree

#

the only reason its in the bp was originally just to have it working for testing while i was finishing level design

slim owl
twin cape
#

it doesnt work in the tree either

#

it gets the position, but also fails the moveto

#

it gets aborted

slim owl
#

Sorry I'm on mobile, hard to be as responsive haha

slim owl
twin cape
#

no

#

making a new level, the ai still just stands still

#

when executing the aimoveto in the BP method, the ai moves about a foot then stops moving saying it was aborted

#

but in the tree, no movement at all

#

not even slightly

slim owl
#

Don't you have new colliders inside the agent?

twin cape
#

the only modified thing in the agent was its size

slim owl
#

Like idk you've added a shield and didn't realize it has collider...

slim owl
twin cape
#

the only thing on the ai is a trigger

#

it didnt work when i tried it yesterday

#

but the size never caused a issue when i did it

#

it properly resized and all

#

and the ai moved then

slim owl
twin cape
#

still no movement

slim owl
#

Is the navmesh refreshing on the fly?

#

Or once it's cocked it's done

twin cape
#

how would i go about testing that

#

i made a cube and set its movability to moveable and the nav didnt update if thats how

slim owl
#

In play mode, press f8

#

Then p to display the navmesh

#

If it's red, or if there is cutout around your character...

#

There is an issue

twin cape
#

no cutout around ai

#

no red either

slim owl
#

The way the navmesh is coocking is set in the settings

#

(but don't remember the name )

twin cape
#

this is the agent settings

slim owl
#

Is your character spawning or it's there when the level load?

twin cape
#

it was coded to spawn in originally

#

i have the pawn already hooked up for possession on create and load

slim owl
#

Can you delay the spawn of it?

twin cape
#

its a pretty long delay already

#

like

#

20-40 seconds

slim owl
#

Or at least delay the time it start to move

#

Also there is a AI debug view you can enable

#

But don't remember the shortcut

twin cape
#

huh

#

according to the debug camera

#

my ai pawn doesnt trace

slim owl
#

To enable AI Debugging, while your game is running, press the ‘ (apostrophe)

twin cape
#

that just opens my console lmao

slim owl
twin cape
#

all apostrophe does is this

slim owl
#

I think you can change the key binding in the preference...

#

Cause that's what you need to debug

twin cape
#

yea apparently its not smth set by default

#

lmao

#

move target is invalid inside of the tree

slim owl
#

the “apostrophe” key (next to enter) while the game is running and the debug screen should show up.

twin cape
slim owl
#

I'm going to sleep, I wish you good luck :)

twin cape
#

its fixed

#

apparently using a reference like the doc said to do, doesnt work

wild haven
#

hi, if I have this code

#

shouldn t this be yellow ?

safe vale
misty wharf
#

Query extent is how far from Point it will try to look

#

If it can't find a valid location to project to within the extents, the Return Value bool will be false which you should check

safe vale
#

it returns me false

#

let me try to extend the query

#

hmm I extended the query to 1000 but still false

misty wharf
#

for X Y and Z?

safe vale
#

yup

misty wharf
#

That's 10 meters so if the point isn't further than that it seems like it should work

safe vale
#

here is what I have

#

I also tried with 3000

misty wharf
#

Hmm 🤔 I think that looks like it should do it

safe vale
#

and the radio in the world

#

radio location in non reachable, so I take this location

misty wharf
#

Yeah that definitely looks like it should be within 1000 units from the navmesh

safe vale
#

:/

vast zinc
#

😄 is there a good way to make ai's communicate with each other?
Or interaction between them.
For example reviving or healing each other , etc etc

misty wharf
#

depends on what exactly you need to happen, but in most cases you'd call functions on the target you're doing something with to inform it about it

kindred moss
#

Question: I have a BP_MainCharacter (not the real name but the idea) and an ABP that contains my main locomotion system, which is the same for both the player's character and AIs. For the AIs, should I duplicate this BP_MainCharacter or Copy it or can I just set the AI Controller setting in the BP_MainCharacter to my new AIC? What's the best practice?

harsh storm
#

I just make a child of my main ABP and then override the states. It works for my game because the only thing that is different is the animation's that they play.

#

So I have ABP_Main and set up my event graph logic/state machine. Then I make a child of that, so like ABP_Grunt or w/e. In that ABP, there is a new window panel called "Asset Overrides" and you can change the animation stuff you play in the state machine.

harsh storm
#

Yeah

celest python
#

i thought only anim instance was allowed to inherit from - not the graph itself

kindred moss
celest python
harsh storm
#

Just delete the components and you won't have them anymore.

kindred moss
kindred moss
harsh storm
#

Because it's a child

#

You inherit everything

kindred moss
harsh storm
#

I don't have my enemies as a child of my BP player

kindred moss
#

Ah sorry I read your reply wrong...

harsh storm
#

They all inherit from a base character class.

kindred moss
#

I thought you said you just had a child of your BP_Main

harsh storm
#

ABP_Main

#

The animation blueprint

kindred moss
#

I understand I think you misunderstood what I was initially asking and I read your reply wrong, my apologies

harsh storm
#

Yeah - I read it wrong. Mentioning the ABP is what threw me off.

#

Just make a base character class, then inherit from that

#

If you want shared functionality that is

kindred moss
#

That makes sense

#

Thank you

#

That's exactly what I was confused about!

harsh storm
#

But if I didn't read it wrong, @celest python would've never learned that you could override the state machine assets 😛

#

So yay, more learning

celest python
#

yaay rooyay

misty gale
ocean wren
#

FMessageEndpoint 🙂

kindred moss
#

Anyone here have experience with UE5 Smart Objects?

stiff ibex
#

I have knowledge of Smart Objects, but primarily with Mass.

floral hound
#

Hi guys I enabled detour crowd avoidance and it works fine but bots don't avoide player (I registered player as agent). Any ideas?

round sand
#

guyss helpppppppppp

#

the stairs are not getting navigable. What needs to be done?

#

i followed this

#

but still it looks whacky

ocean wren
#

Don't have the collision of the stairs actually represented as stairs, do a simple slope as collision surface

ocean wren
#

Yeah, been looking at some different versions of this

#

The basic idea is that you represent 3D as signed distance fields or neural radiance fields.. and learn some optimization from usually multi-view stuff

#

but that zero shot paper adds clip guidance to the generation, in much the same manner as the text->image generators you're seeing now

#

i.e. the model is trying to optimize for the "teapotness" of the object and produces a teapot

#

using clip guidance (clip is basically trained on millions of image->text pairs, so it understands correlations between words and image representations

round sand
ocean wren
#

skiggz: potentially yeah.. it could just be getting hung up on collision

round sand
kindred moss
charred lava
#

BTTask Move to returns InProgress as the Result. It happens to me when the AI tries to move to a location where there is no path available. What is the meaning of "InProgress"? What use has this result?

misty wharf
#

inprogress is handled by the behavior tree component as an indication that the task is working and has not finished

charred lava
#

But the tree "finishes" the node. It continues to the next node.

#

My AI thinks he reaches the goal because the MoveTo finishes with "InProgress" which happens when there is no path to the goal. How should I work with this? 😅

#

I mean I can create a decorater which checks if their is a path available, it's just weird to me that the MoveTo finishes positive when there is no path. There is probably a reason behind that, which I don't understand the concept of it yet.

opal crest
#

Try disabling "allow partial paths" on your moveto. That will fail if it can't get within AcceptanceRadius units of the goal.

charred lava
#

Right, thanks epigraph!

stiff ibex
kindred moss
#

Thank you, I've figured it out...Now to figure out how to use the Slot Transform to orient the AI away from the object to sit...

hallow flint
#

I saw this clip the other day pretty interesting. Would be very neat if we could systematically change an entire art style of a video game using something like this

#

Ahh this is all part of stylegan stuff, neat

#

I'd play a joker theme game lol

normal mist
#

Hi all, I am working on a large open world milsim. I know how to pathfind for vehicles that are going from town to town - I can either use A* on my roads (USplineComponent), or use ZoneGraph.

However, when the player engages the vehicles, the vehicles should be able to scatter & take cover, pursue, or some other local navigation. How could this part be done? The terrain is at least 30x30km, so I assume it is too large to build a navmesh 🙂

opal crest
#

Check out Navigation invokers.

dark warren
#

Anyone here know how to open the AI Debugger on a german keyboard?
I'm pressing every imaginable key combination in UE5 and nothing

dark warren
#

Hey, as soon as I enter the right branch for cover and the condition is no longer true, the entire behaviour tree stops and does not return to the left branch. Why?

split grove
#

Hi guys, I have a level in UE4.27, and I have grouped a load of static meshes together. Is there a way to turn these all into a navmesh (as well as the static mesh they are now)? Thanks!

ocean wren
# normal mist Hi all, I am working on a large open world milsim. I know how to pathfind for ve...

I guess it depends, I'd probably build a heirarchical pathfinder that used different representations depending on where I was on the map. For large open worlds, there's usually a good deal of open space where nothing can collide, so I'd probably build my own navigation system based on a quadtree. What I would probably do, is essentially hook the navmesh generation and build a higher level representation, probably based on loading each tile of the terrain in the world, build a local navmesh, then store that in an octree. Then use the navmesh representation to do heirarchical paths though.

#

The navmesh system as-is does a pretty decent job of rasterizing objects into a polygon soup for navigation, so I'd try and leverage that, but just accept a greater memory footprint and cache it all in my own data structure.

#

essentially, build a bunch of NavData "tiles" and cache them. Rebuild the tile cache when stuff moves etc.

lime breach
#

Hey all!

On the topic of navigation: I want to be able to specify which AI agents can use a certain nav link proxy. E.G.:

#

In this example, we'll say the wooden guy can jump and should therefore use the nav link proxy here, while the white guy who can't jump should look for another path or just give up. In other words: White guy should never try going to this nav link proxy in the first place

My preferred solution would be to have an overridable function in the nav link proxy that takes in an agent (actor or AIC) and returns a bool telling whether or not the agent in question can use the nav link proxy (E.G. this agent can't jump --> Return false). UE's navigation system should then be able to use this function when creating/checking a path for an AI (E.G. by calling the AIMoveTo node) to avoid selecting a path with any nav link proxies that aren't relevant for the agent in question. Is something like this possible with UE's existing navigation system? Or is it possible to modify it to add this functionality?

#

.
.
Alternatively, a less-optimal potential solution would be to have certain actor types be able to cross the nav link proxies. To this end, I see that the nav link proxy's smart link allows you to specify "Supported Agents". So I made two of these types under Project Settings --> Navigation, and I can specify which of them ("Jumper" or "NotJumper") are supported in the nav link proxy's smart link

#

However, I can't figure out how to specify what type of agent my AI characters are. How do I specify that my AI agent is a "Jumper" or "NotJumper" in this system?

#

.
Apologies for the wall of text, and thank you for your time!

stiff ibex
round sand
#

@ocean wren so I have a few bots in the game. The area is huge since it's a game like PUBG.
What I am facing is - The bots seem to be stationary but when i inspect the position of the bots it seems to be changing but not changing on the screen.
My guess was that the area is huge and it could be some issue with things not getting replicated properly because the bots are far off.

If my main character is near the real position of the bots then they seem to be moving correctly but far off they seem to be stationary but actually moving when i look it into the details window

#

I am playing it as client

#

any guess what this could be?

ocean wren
#

like "don't update skelton something...." as usual its a checkbox 🙂

hasty badge
#

hey guys, never done any kind of AI before, is it hard to make an AI with the same level of complexity as far cry 3 enemies for example?

ocean wren
hasty badge
#

naturally

#

what would you recommend to get into it all? I'm a total noob

ocean wren
#

Well, there's plenty of info out there.. I'd probably start by watching some stuff from GDC on YouTube

#

If I recall, Crysis 3 was mostly done by Matthew Jack, so look for his stuff, I know he did some papers on the positioning system that inspired Unreal Engine's EQS for CryEngine for instance

#

The navmesh system in UE is written by Mikko Mononen, who also worked for Crytek I believe

#

You might also want to check out info by the Guerilla guys.. who did a lot of tactical positioning stuff, a guy called William Van Der Sterren and another guy called Remco Strattman

hasty badge
#

alright, thanks!

misty wharf
#

I would recommend just trying to build some basic AI stuff tbh

ocean wren
#

That too

#

nothing wrong with just using some UE tutorials, but theres a looooot of crap out there.

#

Highly recommend reading about stuff from people who know what they're doing, even if its not in UE you know?

celest python
#

for EQS

#

(tactical position system)

ocean wren
#

Other people to look out for are guys like Damian Isla, who started off a lot of the behaviour tree stuff while on Halo

#

Yeah, Mieszko was inspired by Matthew's talk about the CryEngine tps

#

and hence the EQS

#

Whats the guys name from Ubisoft.. damn I've forgotten.. did some streams about BT's recently?

celest python
#

did streams on its own?

ocean wren
#

people in here really liked them, but I'm blanking on the name

#

ah yeah, bobby

#

Bobby was more of an animation guy, but that's not a bad thing to think about for this kind of thing

celest python
#

I realized animations and AI tools are just same behind the scenes

#

resource locking, states etc

ocean wren
#

Well, choosing how to make the different things cooperate takes some experience

#

But as indies, we don't always have the animations to really do things well anyway 🙂

opal crest
#

Yeah, Bobby's stuff is really good for getting a sense of how to organize your behaviours.

#

Even if he does think Behaviour Trees are useless.

#

Running Disco Diffusion on my local machine now, and dear god, this is so much more interesting in what it generates than midjourney/Dall-e.

#

Also, what a wild underlying theory. "What if we train a neural network to reverse the process of iteratively reducing an image to gaussian noise"

misty wharf
#

Midjourney is pretty boring in its output tbh

#

It seems to do characters and some other types of things ok but other than that it's pretty meh :D

opal crest
#

Yeah, it does some really amusing things when you use well known characters/people, but it doesn't seem very good outside of that domain.

split grove
#

Hi guys, I have a level in UE4.27, and I have grouped a load of static meshes together. Is there a way to turn these all into a navmesh (as well as the static mesh they are now)? Thanks!

opal crest
#

I don't understand what you're asking exactly? Do you want the meshes you've created to act as a custom navmesh? Or do you want a navmesh to be generated that helps navigate on/around your static mesh?

deep shoal
#

Silly question, I'm building an autonomous drone system for my game. Should I use a Sequence with the Decorator "Don't Move" (just a bool variable on the blackboard) and then call EnableFloatingMoviment or will this keep doing this task until the decorator changes?

main talon
#

Can nav meshes handle swimming or flying or do I need eqs for that?

mint terrace
#

they cannot no

#

(well, without hacks)

rocky musk
#

Hi all, beginner question here, how could i get a behaviour tree sequence to reset when a variable of a pawn changed? Thank you in advance!

manic apex
#

if i learn tensorflow or pytorch am i able to use them fully in unreal or just few ? is blueprint enough or i need to implement in cpp ?

hallow flint
#

What exactly are you trying to do

#

If you train a model you'll likely need to know some c++ to send the models prediction back and forth between python and unreal engine

#

Getting data out of unreal, run it through your learned model and send it back to unreal

ocean wren
#

My approach is to run my ML models as REST api's and call them via the Unreal Engine web requests code..

#

Using FastAPI, Cog and Kubernetes

exotic merlin
#

Hello guys

#

Got a strange bug ...

#

LogTemp: Error: ABaseEnemyPawn::OnTargetPerceptionUpdated() Active: 1 / Sensed: 1 / Expired: 0
LogTemp: Error: ABaseEnemyPawn::OnTargetPerceptionUpdated() Active: 0 / Sensed: 0 / Expired: 0

#

My AI enemy keeps updating it's perception of the player pawn like a crazy old man

#

alternating between active / sensed 1 and 0

#

I am not even moving ...

#

any idea why ?

exotic merlin
#

well, reparenting fixed the issue

peak oxide
#

how to make ai to not sight a dead character ?

ocean wren
#

switch its actor type to something else.. basically spawn in a "dead body" actor, delete the enemy character you were perceiving

peak oxide
#

enemy killed a player character, so the mesh still exist (dead as ragdoll for example)

#

how to make the sight of the enemy to false

#

to go back to petrol for example

ocean wren
#

You can do the same thing.. spawn in a dead body, move the player character under the level temporarily.. then when you're ready, respawn the player in its respawn position once you're ready

peak oxide
ocean wren
#

Why?

peak oxide
#

enemy go to the last player location to search for him

#

if not in sight

ocean wren
#

yeah, but if you teleport the player when they die.. the last position will be the last percieved position

#

i.e. the last location they were seen at.. they won't be percieved under the level

peak oxide
#

there is no way to ignore the sight tracing ?

ocean wren
#

yeah, there's probably some way of disabling.. checkbox or whatever.. but its pretty common to do this to stop other issues

peak oxide
#

i tried to make mesh visibility to ignore but it did not work

ocean wren
#

no, it'll still have collision

peak oxide
#

it would not attack the 2nd character till it disappear under map as u said

ocean wren
#

No, as soon as it dies, you teleport it under the level.. meanwhile you spawn the dead version in the same pose as the character, with ragdoll switched on

#

and with the same velocities etc

peak oxide
#

if it is a character it will make an issue

ocean wren
#

You just need to make an actor with the skeletal mesh

#

and copy the pose and velocity from your player to it when you spawn it

#

so 1) switch off physics on your player 2) spawn the dead body with the same pose+velocity for each bone 3) teleport the player under the level 4) switch the camera to temporarily view the dead body and 5) restart the player after some timeout

fluid hollow
#

I'm recording my exact inputs on my player controller, and trying to have them played back by the AI controller using the data I've collected. However, nothing seems to work. I know the data is recorded properly. I suspect it has something to do with the movement component, but I'm at a loss. Any suggestions?

misty wharf
#

It's a bit vague as to what exactly is the problem you're seeing

#

Because record and playback of inputs can have various problems caused by various different things

misty wharf
#

Well even something like framerate can affect it depending on how you're playing the inputs back, potentially causing different amounts of movement

fluid hollow
#

I"m trying to create a playback of my character based on inputs alone. I record the inputs of my controller on every tick, then spawn a new actor, give it a controller, and have it play back all input data, advacing one "frame" of data per tick

misty wharf
#

Right, so what exactly is the problem with it? Is it moving a different amount compared to the player or something else?

fluid hollow
#

It's not moving at all, unfortunately

misty wharf
#

Oh 🤔

fluid hollow
#

it plays back the data (printing it do screen) as expected.

#

but the character isn't acting on the input

misty wharf
#

It sounds like it's just an issue with how you're feeding it the input I guess

fluid hollow
#

Recording

#

Playback

#

same as how i input to the controller

misty wharf
#

Are you possessing it with the player controller when doing playback?

fluid hollow
#

Yes, i spawn a new actor, new controller, then posses the new actor with the new controller

misty wharf
#

Hmm, yeah I'm just wondering if that's somehow the issue here, because you're sending inputs into a player controller, so not sure if that'd work with whatever you're spawning for it

#

I'm not sure what class your logic for it is, since it just says Target self - so maybe you need to make sure you do YourSpawnedActor->GetController and send the inputs off there, or try sending them directly to your actor

fluid hollow
#

I'll try that and see if it helps. Glad to know i'm not the only one this kinda stumped. haha

final trail
#

does anyone know how to make Nav Mesh work with level streaming?

lethal helm
#

how do I get the "Does path exist" decorator to respect my custom nav data?

misty wharf
#

You may be better off creating a custom decorator if you struggle to get the default ones to behave as you like

peak oxide
#

you can even unregister from specific sense too

ocean wren
#

Makes sense

celest python
#

damn I need this presentation so much

#

it was something I was expecting for a long time in gdc

misty wharf
#

Sounds interesting

nimble pewter
#

Has anyone managed to make Touch Perception sense work? I am not sure how to approach the issue. I want to inform an ai that someone is really close to them

misty wharf
#

I've never tried that one, but one simple method would be to give your AI a separate collision sphere which is just used to detect things near it

nimble pewter
normal mist
#

For the life of me I can not get my zonegraph to connect

#

Does anyone see what I'm doing wrong?

obtuse sapphire
#

anyone know why the function FinishLatentTask would cause a runtime error in my code only thing it tells me is my auto const cont = Cast<AZombieController>(owner_comp.GetAIOwner()); variable is null and when I check the behaviortreecomponeont and blackboardcomponent are both unreadable memory for some reason

#

nvm

#

figured it out

soft mantle
#

I may as well post this here

#

Does anyone know why my movement animation is not working when i use "Simple move to location" but it works when i use "Add movement input"?

#

I'm using one default actor inheriting from "character"

peak oxide
#

character and npc have the same animation BP

patent hornet
#

i am guessing not the same class, and your BlueprintUpdateAnimation does a cast that fails for them

peak oxide
#

acceleration always 0 zero

#

so shouldmove always false

#

idk why it is equal to zero

peak oxide
peak oxide
#

is there a way to make the NPC reach me smarter and avoid obstacles ? i use DetourCrowdAIController, and there is something weird too at the end of the video when i open the start menu and the fps of the game is reduced the NPC walk to me very smartly and reach me

#

should i reduce the tick of something ?

misty gale
#

Not directly

#

I fakred it by spawning invisible ism meshes along the desired path

opal crest
#

Yeah, nothing built-in for that. You could use a custom navigation filter, maybe? Somebody in this channel worked out how to create those about a month ago to alter the path costs based on whatever you want. They were trying to increase the cost of returning through the same door the ai arrived from.

opal crest
#

Normal filters do, but the underlying class just asks "what is the cost between A and B". You can fill in any logic you want in the middle.

#

The main thing that probably wouldn't work is that without volumes, you aren't guaranteed to have polygons that split at your landscape layer boundry.

opal crest
#

I'll save you a bit of time :D. I have some code that works you can modify to see if it helps.

#

Headers:

UCLASS()
class MYTACTICSGAME_API UTestNavigationQueryFilter : public UNavigationQueryFilter
{
    GENERATED_BODY()
    UTestNavigationQueryFilter();

    virtual void InitializeFilter(const ANavigationData& NavData, const UObject* Querier, FNavigationQueryFilter& Filter) const override;
};

#include <Runtime/Navmesh/Public/Detour/DetourNavMesh.h>

/**
 * 
 */
class MYTACTICSGAME_API FTestRecastQueryFilter: public FRecastQueryFilter
{
public:
    FTestRecastQueryFilter(bool bIsVirtual = true);
    ~FTestRecastQueryFilter();

    TWeakObjectPtr<const UObject> WorldHandle;

    virtual FVector::FReal getVirtualCost(const FVector::FReal* pa, const FVector::FReal* pb, const dtPolyRef prevRef, const dtMeshTile* prevTile, const dtPoly* prevPoly, const dtPolyRef curRef, const dtMeshTile* curTile, const dtPoly* curPoly, const dtPolyRef nextRef, const dtMeshTile* nextTile, const dtPoly* nextPoly) const override;
};
#

The important bit of setup (which determines which recast filter to use)

#include "TestNavigationQueryFilter.h"
#include "TestRecastQueryFilter.h"

UTestNavigationQueryFilter::UTestNavigationQueryFilter() 
{
    bIsMetaFilter = false;
    bInstantiateForQuerier = true;
}

void UTestNavigationQueryFilter::InitializeFilter(const ANavigationData& NavData, const UObject* Querier, FNavigationQueryFilter& Filter) const
{
    Filter.SetFilterType<FTestRecastQueryFilter>();
    Super::InitializeFilter(NavData, Querier, Filter);
    INavigationQueryFilterInterface* FilterImpl = Filter.GetImplementation();
    FTestRecastQueryFilter* MyFilterImpl = static_cast<FTestRecastQueryFilter*>(FilterImpl);
    if (MyFilterImpl != nullptr)
    {
        MyFilterImpl->WorldHandle = TWeakObjectPtr<const UObject>(Querier);
    }
}
#
FTestRecastQueryFilter::FTestRecastQueryFilter(bool bIsVirtual): FRecastQueryFilter(bIsVirtual)
{
    bIsVirtual = true;
}

FVector::FReal FTestRecastQueryFilter::getVirtualCost(const FVector::FReal* pa, const FVector::FReal* pb, const dtPolyRef prevRef, const dtMeshTile* prevTile, const dtPoly* prevPoly, const dtPolyRef curRef, const dtMeshTile* curTile, const dtPoly* curPoly, const dtPolyRef nextRef, const dtMeshTile* nextTile, const dtPoly* nextPoly) const
{
    auto Cost = dtQueryFilter::getVirtualCost(pa, pb, 
        prevRef, prevTile, prevPoly,
        curRef, curTile, curPoly,
        nextRef, nextTile, nextPoly);

    auto Handle = WorldHandle.Get();

// your cost modification code here
}
opal crest
#

Nope, haven't looked at performance at all. I think that would come down to what your custom code does. This filter will be called for each path segment during the A* execution.

#

So you need to be pretty quick here. Anything you can cache will help.

gaunt pilot
#

hi. what is defference between SERVICE and SIMPLE PARALEL in behavior tree?

opal crest
#

A service runs at an interval when it is "relevant". Often, services are used to update the blackboard, but you can do anything you want with them.

Simple parallel lets you run a single task node in parallel with a tree and handles a variety of ways of dealing with what happens when one side of the tree finishes first.

Both can be used to create some sort of parallel logic, but Simple parallel is often a faster and more readable way to do it when you meet its requirements.

hot moss
#

any guidance, blogs or anything how to get the detour crowds to work? i have the UCrowdFollowingComponent constructor thing done in a class based on AAIController, but the enemies arent avoiding eachother and changing any variables in the UCrowdFollowingComponent hasnt had any result, so I can assume its not working? no clue what to do and ive wasted like 5 hours already figuring out wtf to do Edit: idk what setting i touched but started working 😛

normal mist
#

Are there any implementations out there for pathfinding using zone graph?

#

It looks like the Mass Traffic system in the city sample just randomly switches lanes based off of traffic density as opposed to picking a location far away and figuring out what lanes to turn at to get there

celest python
#

Generally if #mass doesnt know this stuff no one knows

normal mist
#

teehee

celest python
#

We are ancient, dino people who are rotting with ancient AI systems of UE here sad

normal mist
#

: D

#

look what I found 😍

#

Line 158, ZoneGraphTestingActor, has a pathfinding implementation

#

WOOOO

#

NOW THIS IS PODRACING

celest python
#

🎉

normal mist
#

it works!

granite vault
# normal mist it works!

They still move along the spline only? I kinda hope they can cover entire world and not spline-ny everywhere.

hollow crescent
#

Is AI Behavior tree multithreaded for agents?

haughty edge
#

Hey guys! Are there any recommended values for crowd avoidance? They hug each other way too much with the default settings :P

pallid mica
#

Was there an option to disallow single islands on top of static meshes for the nav mesh?

#

I don't want to add a nav modifier to the BP, cause that creates very blocky holes instead of following the mesh

#

Aka this crap

#

As long as that exists I need to add additional "Is there a path to the NavMesh" check

#

And I don't want to manually add NavMod Volumes outside the BP itself.

thin sandal
#

Is there a way to update MoveToLocationorActor in a way which doesn't cause a jitter with an actor's movement? I've got my AI set to update their goal location if their target moves too far away from it, but it produces an effect where the actor will stop and rotate for a tick before continuing on the new route.

hot moss
mighty prairie
#

How does Request pawn prediction event stuff work?

mighty prairie
#

I'm trying to use it to tell my Ai where to aim a projectile

#

Can't find any good info on the use of it

hot moss
#

So after playing around with all the settings for the detour crowd thing, it feels like completely unusable for enemies? Enemies trying to bruteforce walk through any obstacle looked much smarter than detour on any settings at least in my project, just so much dumb/glitchy behavior it feels like a waste of time to even try to figure this out. Reading through the discord comments, sounds like everyone writes their own systems for avoiding stuff and I should start working on that right away instead of trying to get this mess to work? (as context, I'm making topdown ARPG that can have hundred melee enemies trying to attack you in screen example). Just wondering whether anyone has actually managed to make it work

granite vault
#

I am sure detour tries not to walk through obstacle.

hot moss
#

i meant a really dumb AI looks smarter when trying to walk through everything, it looked more "shippable"

#

i did variables of all of these detour settings and tried random values for everything and it didnt look like any videogame pathing to me lol no matter what settings

#

one major problem was that sometimes enemies go into walk mode (or just become really slow) whenever they choose to walk around something, which when I searched around google nobody knew how to fix in my searches

#

im sure thats fixable somehow, but like, any combat encounter i did as testing, enemies all the time take silly paths, get stuck not knowing which direction to choose and all kinds of clunk lol

rain otter
#

Hey guys,

Does anyone know about a working "Spider Navigation" in UE 4.27.2 or UE5 ? There was a plugin spider navigation but it supported until 4.21 maybe I cannot add to the project.

Thank you for any info 🙂

kindred moss
#

Any recommendations on where to learn how achieve AI Dialogue? Is there a way to actually animate the face when the audio is played if the AI is a MetaHuman?

dusty quest
#

Is anyone aware of a way to make a simple grid in EQS take in an account the rotation of the context you are providing?

misty wharf
#

Fairly sure it should do that at least for rotation around the Z axis 🤔

whole frost
#

How do those AAA games implement AI hiding and shooting from behind walls?

peak oxide
peak oxide
# whole frost How do those AAA games implement AI hiding and shooting from behind walls?

AI steps:

  1. NPC check if he is visible to Player
  2. if NPC is visible to player, NPC search for the nearest hiding location (4 sided box, a wall, etc..)
  3. if NPC found the place he go hide else he attacks for example
    4.if NPC hided he attacks from hiding position
    these are the head lines u can think for idk if the full impelemntation exist on utube or not, but if u can implement the steps u will get something near from what u want
charred lava
thin sandal
#

How do I get my navmesh to play well with ramps? It doesn't seem to matter what my project settings are, any sort of slope just breaks navigation.

celest python
#

There was a setting to adjust the slope tolerance iirc

thin sandal
#

Ah, that did the trick. Thanks homie.

celest python
#

it looks.. quite wrong though 😅 ensure collisions properly setup

peak oxide
#

it is dynamic and the characters create the nave volume around them

celest python
granite vault
#

too high usually it will mess up on other mesh that are higher

thin sandal
#

Cube collision?

granite vault
#

he meant your navmesh stair's shape

#

you have to set it properly, unless your other nav regions are fine then go for it

peak oxide
thin sandal
#

Ah, you are both correct. Setting the collision to complex did the trick.

charred lava
peak oxide
peak oxide
granite vault
#

wow, seems like some internal code function triggered if FPS low

#

that's the weirdest one i ever seen, ai gets smarter when FPS is low?

charred lava
#

they might block themselves

peak oxide
peak oxide
#

thank you very much

#

nav mesh system is really bad, u got scared from changing and value that might fk up the AI

vital kraken
#

Hey there, I have a large open level (multiplayer game) and I want to spawn in AI occasionally near the players when necessary and despawn them if they move too far a way. Does anyone have any good ideas on methods for this, I dont want AI running rampant cause that will be a big hit to performance.

charred lava
floral mango
gilded basalt
#

Hello, i'm having an issue with a custom AIcontroller, I want to get a variable from the controlled character to see if it has to take the action or not, but when i try to access the character trough the AiController i encounter crashes. i'm doing all in cpp btw, thanks in advance if someone can send me into the right direction

misty wharf
#

You need to show code I think

#

Sounds like you may be accessing a nullptr if you're crashing

#

but hard to say without knowing exactly what's going on in the code

#

In general GetController()->GetControlledPawn or somesuch should work

gilded basalt
gilded basalt
misty wharf
#

I don't remember if it's called GetControlledPawn, but the controller should have a function something like that

#

maybe it's called just GetPawn

gilded basalt
#

oh yeah, i wasn't actually getting the pawn but something else, fixed now, thanks

#

now it works but i have a crash when i spawn a new character controlled by the same controller

#

if i place them in editor it works fine

misty wharf
#

a single controller can't control more than one at a time unless you build some kind of custom system to do it

stark hamlet
#

What is the best way to introduce "true" AI to unreal? The one that can be learned what do to, not the one that use behaviour trees

hallow flint
#

It also really depends on what kind of task you're trying to load into unreal

#

whether it's image classification, chat bots using NLP, planning and/or behaviors using RL, or something else

fast basin
#

Can anyone point me in the right direction for making AI that can play an rts? Everything I try to search just comes up with unit movement ai, but that isn't what I need. I need an AI that understands what to build, buy, etc, to play against the player as an opponent.

misty gale
#

Soren has a talk about the civ4 AI. Doesnt go into depth about how to, but brings about some interesting aspects to consider atleast

round sand
#

hello guys
so i am working on a battle royale game. The area would be 8*8km. I have decide what would be the best for navigation. With Navmesh invokers there are issues like finding a point in safe zone and also there will be atleast 20 bots so invokers can be expensive

#

with suggestions being posted online, it says I should use dynamic runtime generation of Navmesh. Is there anyone who has experience related to this and could suggest what would be the best for such big maps?

haughty edge
#

@ocean wren Hi! Sorry for the ping, I was watching your tutorials about crowd avoidance on Youtube and browsing through some discussions on discord. I saw you mentioning that the default values of crowd manager was not optimal. Do you have a few recommended tweaks for it or it will depend on what kind of avoidance behavior I am looking for.