A Community discussion forum for Halo Custom Edition, Halo 2 Vista, Portal and Halo Machinima

Home  Search Register  Login Member ListRecent Posts
  
 
»Forums Index »Halo Custom Edition (Bungie/Gearbox) »Halo CE General Discussion »AI Sync Idea and Video

Author Topic: AI Sync Idea and Video (7 messages, Page 1 of 1)
Moderators: Dennis

Russian Poot Man
Joined: Oct 7, 2018

coming from sandvich land


Posted: Oct 12, 2018 05:26 PM    Msg. 1 of 7       
This is a follow up thread to my post about server side bipeds. There is zero use of client side bipeds in this, meaning no duplicate fake client created objects.

Instead of syncing animation data, why not sync just the position every couple seconds, while the client handles the rest with its own locally ran AI attached to the server biped.

If you update the real position, and maybe the rotation depending on how well it works, of the server biped for clients, the AI can simply try again if the position goes out of sync. That didn't happen in the video, but you know what I mean.

https://www.youtube.com/watch?v=Il5HNwHa7Ss
Edited by Russian Poot Man on Oct 13, 2018 at 06:12 PM


lolslayer
Joined: Mar 21, 2015

https://www.youtube.com/watch?v=uMHbAKvPJkU


Posted: Oct 13, 2018 05:25 PM    Msg. 2 of 7       
This kinda works but it would result in a lot of rubber-banding for the AI which doesn't look nice, that's why you sync more than just the position


Russian Poot Man
Joined: Oct 7, 2018

coming from sandvich land


Posted: Oct 13, 2018 06:14 PM    Msg. 3 of 7       
Quote: --- Original message by: lolslayer
This kinda works but it would result in a lot of rubber-banding for the AI which doesn't look nice, that's why you sync more than just the position


I edited the main post before I saw your response, I was thinking the same. If you update the rotation, then the locally ran AI attached to the server biped has a greater chance of making the same decision.


lolslayer
Joined: Mar 21, 2015

https://www.youtube.com/watch?v=uMHbAKvPJkU


Posted: Oct 14, 2018 11:56 AM    Msg. 4 of 7       
Quote: --- Original message by: Russian Poot Man
Quote: --- Original message by: lolslayer
This kinda works but it would result in a lot of rubber-banding for the AI which doesn't look nice, that's why you sync more than just the position


I edited the main post before I saw your response, I was thinking the same. If you update the rotation, then the locally ran AI attached to the server biped has a greater chance of making the same decision.


Even then you'll get a lot of rubber banding, the server side-AI might have chosen a certain action, while the client-side version still wants to do something else, if that doesn't get synced, both versions will constantly do something else and only align at the moments they sync


Russian Poot Man
Joined: Oct 7, 2018

coming from sandvich land


Posted: Oct 14, 2018 01:55 PM    Msg. 5 of 7       
Quote: --- Original message by: lolslayer
Quote: --- Original message by: Russian Poot Man
Quote: --- Original message by: lolslayer
This kinda works but it would result in a lot of rubber-banding for the AI which doesn't look nice, that's why you sync more than just the position


I edited the main post before I saw your response, I was thinking the same. If you update the rotation, then the locally ran AI attached to the server biped has a greater chance of making the same decision.


Even then you'll get a lot of rubber banding, the server side-AI might have chosen a certain action, while the client-side version still wants to do something else, if that doesn't get synced, both versions will constantly do something else and only align at the moments they sync


That's also true, you have a bunch of other variables like fleeing and berserk, or if the unit is in a vehicle. If somehow object names could be carried over to the client, some of these variables could be accounted for with map scripts.

When I took those variables away, the client side attached AI matched the server very well most of the time. That's why I was curious about the initial simple position update.

EDIT: I discovered more and have a bigger update video in progress. Now I can see my idea in action.

EDIT2: The update. https://www.youtube.com/watch?v=weRFtIGRMwA
Ignore the laggy sentinel, the client thinks player movement is disabled blah blah it doesn't matter. This time the real position is being updated. The problem now is that the server biped has a big fat player covering part of his body, causing his AI to act differently. The client AI doesn't see this, and seems to have a twitching issue. I know this could be vastly improved.
Edited by Russian Poot Man on Oct 15, 2018 at 12:09 AM


SBB_Michelle
Joined: Nov 4, 2015

Floof


Posted: Oct 15, 2018 01:41 AM    Msg. 6 of 7       
I've been working on this and should have time soon to work on it again and finally rework it to be better and almost perfect. https://www.youtube.com/watch?v=K8W_NjJ2dzw

I could explain why a lot of the weirdness happens, but it's late and I'm tired. It's all stuff that I'll fix in the recode.


Russian Poot Man
Joined: Oct 7, 2018

coming from sandvich land


Posted: Oct 15, 2018 02:23 PM    Msg. 7 of 7       
Made another update video. This time slightly improved.
https://www.youtube.com/watch?v=SAWOB3Yz8gY

Quote: --- Original message by: SBB_Michelle
I've been working on this and should have time soon to work on it again and finally rework it to be better and almost perfect. https://www.youtube.com/watch?v=K8W_NjJ2dzw

I could explain why a lot of the weirdness happens, but it's late and I'm tired. It's all stuff that I'll fix in the recode.


Hope to see it working, good luck.
Edited by Russian Poot Man on Oct 15, 2018 at 02:23 PM

 

 
Previous Older Thread    Next newer Thread







Time: Wed November 21, 2018 9:59 AM 172 ms.
A Halo Maps Website