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 syncing update (read please)

Author Topic: AI syncing update (read please) (13 messages, Page 1 of 1)
Moderators: Dennis

Zenzarxus
Joined: May 7, 2010


Posted: Nov 17, 2011 02:15 PM    Msg. 1 of 13       
Now I have been told MANY times before, that AI will simply NEVER sync over multiplayer on Halo Custom Edition. So I searched it up, http://www.macgamingmods.com/forum/viewtopic.php?f=40&t=6355&p=96430#p96430 found this and it seems to work. They state on this thread that to sync AI, you have to host a server using a third party program like Xfire, then simply spawn the AI after everyone has joined. Can anyone confirm this? (Or mythbust it :( )


kirby_422
Joined: Jan 22, 2006

Apparently public enemy number 1?


Posted: Nov 17, 2011 02:55 PM    Msg. 2 of 13       
That doesn't work at all. AI's data isn't synced, so every single time a AI makes a choice, theres that 80% chance it wont pick that choice on someone elses computer, and hence everything diverges. Placing them at the same time just means that they start at the same place, but it doesn't stop them from running in exact opposite directions.

If your interested in everyone seeing where the enemy is, and only seeing the host's shots, then read the last post in this thread:
http://forum.halomaps.org/index.cfm%3Fpage=topic&topicID=38283


Dennis

Joined: Jan 27, 2005

"We are made of starstuff.” ― Carl Sagan


Posted: Nov 17, 2011 09:05 PM    Msg. 3 of 13       
AI, animated scenery and device machines do not sync across a network connection because the status, position or health of the object is not transmitted between clients or server nor is there code within the game to transmit or receive that information. Those items run independently on each client without being updated by the server. Therefore even if they all start at the same time on all clients the randomization of the AI code and the differences in individual program execution speed on each client PC will take them out of sync and the status and damage on one client will not be updated on others.


OrangeJuice
Joined: Jan 29, 2009

Documentation and debug.txt


Posted: Nov 18, 2011 12:39 PM    Msg. 4 of 13       
How hard is it to just make a listener and strap it to a transciever :/

And screw the "we want it to be compatible with everyone": If you want AI to sync, there's an App for that. People know how to fix compatibility issue ya know.

BRING ON THE CONTROVERSY!!!(or just bring on the topic-death :) )
Edited by OrangeJuice on Nov 18, 2011 at 12:41 PM


Dennis

Joined: Jan 27, 2005

"We are made of starstuff.” ― Carl Sagan


Posted: Nov 18, 2011 05:21 PM    Msg. 5 of 13       
Quote: --- Original message by: OrangeJuice

How hard is it to just make a listener and strap it to a transciever :/

You might as well re-write the game engine... oh wait they did, twice, before Halo 3 supported syncing AI.

The reason that the game does not support syncing AI is because it was never designed to; the same way a pasta colander was not designed to hold water. Sure you can probably pound nails with a set of tweezers and build a house out of straw but if you want to do it right buy a hammer. There is a message buried in those metaphors for those astute enough to comprehend it.

Or to put it another way: The game does not support syncing AI and if you don't believe me then sure why not if it will make you happy it will work just fine.


UBE Chief
Joined: Sep 28, 2009

Raising the bar, one kill at a time.


Posted: Nov 18, 2011 05:34 PM    Msg. 6 of 13       
Kirby made it work (albeit somewhat crappily) in his zombies map by attaching and detaching vehicles to the AI - I should know, I was the test dummy for that map while he was hosting >.>

YOU NEED BETTER INTERNET KIRBY, OK D:

ANYways, I knew where the AI was, I could shoot them (although - again, the host had crappy internet, so I shot once like every 2 minutes :x). That can be - at best - described as a partial sync. It's still not perfect.


kirby_422
Joined: Jan 22, 2006

Apparently public enemy number 1?


Posted: Nov 18, 2011 05:34 PM    Msg. 7 of 13       
Quote: --- Original message by: Dennis
AI, animated scenery and device machines do not sync across a network connection because the status, position or health of the object is not transmitted between clients or server nor is there code within the game to transmit or receive that information.

This is where my thing comes in. Vehicles(when not interacting with AI), and non-clientside projectiles do sync.

Attach and detach your display vehicle, while its detached, its location can be sent to clients. While its preforming the attach action, it gets the AI's current location.

The projectiles is just a flag in the weapon, that makes the host tell clients where projectiles are coming from (so the host's AI's projectiles occur on clients too)

This makes it not care about syncing the AI itself, and simply worry about things it can do; vehicle location, and projectiles. That way, you can all go kill the AI together, and any shot you can see is real.


Dennis

Joined: Jan 27, 2005

"We are made of starstuff.” ― Carl Sagan


Posted: Nov 21, 2011 09:39 PM    Msg. 8 of 13       
Quote: --- Original message by: kirby_422
This makes it not care about syncing the AI itself, and simply worry about things it can do; vehicle location, and projectiles. That way, you can all go kill the AI together, and any shot you can see is real.
This doesn't transmit health of the AI to clients nor does it scale to dozens of AI or allow for AI controlling vehicles like normal encounters. The method does not in fact sync the AI but just give the clients the position of the Host's units. As clever as it may seem it is not what people are looking for when asking if AI sync. What they want is the single player experience with multiple players and Halo CE will not give that to them.


kirby_422
Joined: Jan 22, 2006

Apparently public enemy number 1?


Posted: Nov 21, 2011 10:22 PM    Msg. 9 of 13       
Quote: --- Original message by: Dennis
This doesn't transmit health of the AI to clients nor does it scale to dozens of AI or allow for AI controlling vehicles like normal encounters. The method does not in fact sync the AI but just give the clients the position of the Host's units. As clever as it may seem it is not what people are looking for when asking if AI sync. What they want is the single player experience with multiple players and Halo CE will not give that to them.

if you teleport the representation away after death, or, reuse that representation on another AI, then it would give you a depiction of their health (weather they are alive, or dead, purely based on weather you can see them)

And you can attach-detach representation objects to vehicles too, its just a bit overkill tacking vehicles onto vehicles for visibility lol.

You can have somewhere around 50 AI spawned at once with representations (my tests seem to point that only about 100 units can be spawned at a time, and both AI and vehicles are units. I may go further in depth to test this one day, but until then, it will be ~100 as our expected limit)


Dennis

Joined: Jan 27, 2005

"We are made of starstuff.” ― Carl Sagan


Posted: Nov 21, 2011 10:38 PM    Msg. 10 of 13       
Quote: --- Original message by: kirby_422
if you teleport the representation away after death, or, reuse that representation on another AI, then it would give you a depiction of their health (weather they are alive, or dead, purely based on weather you can see them)
Maybe I misunderstand but as you explain it what you are doing is presenting the AI on the host by attaching vehicle objects to them and by respect to the AI on the clients. The maps that you released still had phantom AI objects, lagged on a LAN connection and killing an AI on one client did not kill the AI on all. Am I missing something?
Quote: --- Original message by: kirby_422
And you can attach-detach representation objects to vehicles too, its just a bit overkill tacking vehicles onto vehicles for visibility lol.
this is what I mean buy not scaling you have to program a script for every vehicle.
Quote: --- Original message by: lolgrunts
If the result replicates close enough to what people want,
My point is that from what I have seen it doesn't. If it does then great, make the maps people will love them but so far the examples I have tested don't.
Edited by Dennis on Nov 21, 2011 at 10:41 PM


kirby_422
Joined: Jan 22, 2006

Apparently public enemy number 1?


Posted: Nov 21, 2011 10:57 PM    Msg. 11 of 13       
Quote: --- Original message by: Dennis

Quote: --- Original message by: kirby_422
if you teleport the representation away after death, or, reuse that representation on another AI, then it would give you a depiction of their health (weather they are alive, or dead, purely based on weather you can see them)
Maybe I misunderstand but as you explain it what you are doing is presenting the AI on the host by attaching vehicle objects to them and by respect to the AI on the clients. The maps that you released still had phantom AI objects, lagged on a LAN connection and killing an AI on one client did not kill the AI on all. Am I missing something?

One test I had a object_create_anew in the startup, I asked my testers if it was effecting there side.. they told me that command wasnt breaking anything. I later test on my laptop and desktop, facepalm for a while, fix it and upload a different test map with that fixed (I believe I even explained that in the second test maps readme)

In 2/3 test maps, I left the invisible fake/client AI on the client PCs because they couldn't do anything anyways except make grunting sound effects. third one, since I made a custom BSP for it, I had everything spawn outside the playzone, only host created AI came into the play area.

The host's AI have the vehicles on them that shows their existence to everyone. Vehicles made and controlled by the host PC sync (if a client makes their own copy, they will only see it on their computer. This occured on the one test where I DIRECTLY asked them if this was happening and they told me it wasnt, but aparently it was. Clients can make their own copies, because the vehicles names aren't transfered over, so they don't realize that object already exists) all my testmaps all had it so when the AI died, the vehicle(s) attached would go into hiding to show the death. The zombies one was a bit strange when the floods where feigning death, since the representation would still be there, but not very well aligned with it lol.

Quote: --- Original message by: Dennis
Quote: --- Original message by: kirby_422
And you can attach-detach representation objects to vehicles too, its just a bit overkill tacking vehicles onto vehicles for visibility lol.
this is what I mean by not scaling you have to program a script for every vehicle.

Your right that it may get a bit large, but its not bad when your naming them all in order, rep01, rep02, etc, and then make a global that sets it self to each of these, and then runs a script with that global in place. You can just use 3 globals, and 2 scripts to loop it (1 for the thing being looped, one to adjust the variables. 1 variable that corresponds with a set of biped and representative vehicle, and the variables for the biped and vehicles)


When I get some free time around Christmas, ill make some example coop map. It should be an accurate test to see if it fulfills peoples coop dreams or not.


Zenzarxus
Joined: May 7, 2010


Posted: Dec 10, 2011 10:13 AM    Msg. 12 of 13       
Can we please see this happen?
nao


Slayer117
Joined: Oct 3, 2008

Host of CE3 2010-forever!


Posted: Dec 10, 2011 10:49 AM    Msg. 13 of 13       
Quote: --- Original message by: Zenzarxus
Can we please see this happen?
nao


Everyone's too lazy here to do it. Also I still doubt it will work, thats another reason, its to complicated, so it would be a double fail, wasted time and doesn't work.

 

 
Previous Older Thread    Next newer Thread







Time: Thu January 19, 2023 2:27 PM 141 ms.
A Halo Maps Website