#Is making a smooth, fast, smart, performant AI even possible?

1 messages · Page 1 of 1 (latest)

rigid coral
#

Everything that is needed to know about my current issue is in a forum post I just created

https://devforum.roblox.com/t/is-making-a-smooth-fast-smart-performant-ai-even-possible/4295139

brave deltaBOT
#

studio** You are now Level 6! **studio

rigid coral
#

Any and all help is vastly appreciated I've been stuck on this issue for months

lavish iron
#

First of all a team dedicated to that thing made that second of all making that solo would take quite a few months

rigid coral
#

Hey so this doesn't help at all, and I never said it wouldn't take a few months? If you're only going to type a message to be negative why even type at all?

lavish iron
#

———————
Resources from the video can be found on my discord:
https://discord.gg/eVq3RSBtsM

-- Simple Path Module:
https://devforum.roblox.com/t/simplepath-pathfinding-module/1196762

-- BTreesV5:
https://devforum.roblox.com/t/btreesv5-rojo-support-fixes/1781449

If you want to support me and get access to all showcases become a pa...

▶ Play video
rigid coral
#

Hm I've actually seen this video, my AI structure is complete it's more so the desynchronization/replication issue I am really struggling with

#

My AI is set up so it can loop, decide behaviors, and send those signals to the client

#

The issue is where I find it impossible to not have the AI's become out of sync from other players clients because I can't properly do that without them being server sided

#

But if I make them server sided I can't have them do complex movements and be all smooth without tanking the performance of the game

#

I truly don't understand how the hinokami developers did it

#

So somehow I need to have client sided AI's that are so perfectly coded their replication feels like it's server sided and never get out of sync from other players.

lavish iron
#

Ye kinda hardcrying agony

teal wharf
# rigid coral Everything that is needed to know about my current issue is in a forum post I ju...

I never played the game you mentioned but from your description I can tell that they most likely used a different approach
So the core concept is that the enemy logic executes on client side: whenever someone attacks the same enemy making it fight with a different player, the last attacked player starts to execute the enemy logic instead
In general there's no way to make everything totally smooth without desync. With the approach above you have that "replication lag" only at the moment of switching the new ai's logic executer, that's when the ememy will "snap" to the position where the logic executer sees the enemy on their screen
Of course it takes more effort to make such an AI because you should keep in mind that logic executer can change any time and it's really hard to properly secure that stuff from cheaters, but I think it's the only way to make it almost fully smooth

brave deltaBOT
#

studio** You are now Level 6! **studio

honest pawn
honest pawn
# rigid coral Everything that is needed to know about my current issue is in a forum post I ju...

so after reading everything that is posted here, i will now present a more helpful answer to your question. And based on what I read i only found one actual question; the first hint of that fact was there being only one questionmark in anything you said, that being in the title: Is making a smooth, fast, smart, performant AI even possible? and the answer to this one and only question that you asked (you didn't ask anything else) is a resounding Yes it is absolutely possible.

Now you might be a bit confused, if it is possible, can you do it too? well, that is unfortunately a different question, and one that you did not ask. This unasked question is a bit more difficult to answer, basically it depends on if you know how these systems work, if you're any good at writing ai code, and how well you understand how server authority works along with other lag compensation techniques. if you don't understand those things, then is it possible for you? well, maybe not. But if you keep at it, you could probably make it possible by just learning more about how all these details work, and more practice trying different things so you learn what does and does not work Thumbs

honest pawn